STM32H7S78-DK_Appli.elf: file format elf32-littlearm Sections: Idx Name Size VMA LMA File off Algn 0 .isr_vector 000002b0 70000000 70000000 00001000 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 1 BufferSection 00291800 90000000 90000000 00220000 2**2 ALLOC 2 UncachedSection 00008f40 24060000 24060000 00001000 2**5 ALLOC 3 FontFlashSection 000001ac 70200000 70200000 0004c000 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 TextFlashSection 0000000c 702001ac 702001ac 0004c1ac 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 5 ExtFlashSection 001d3770 702001c0 702001c0 0004c1c0 2**5 CONTENTS, ALLOC, LOAD, READONLY, DATA 6 .text 0003be40 700002b0 700002b0 000012b0 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 7 LCDGPU2D_AXI_HotFunctions 00000d34 7003c0f0 7003c0f0 0003d0f0 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 8 .rodata 00003be4 7003ce28 7003ce28 0003de28 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA 9 FontSearchFlashSection 00000018 70040a0c 70040a0c 00041a0c 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 10 .ARM.extab 00000000 70040a24 70040a24 0021f930 2**0 CONTENTS 11 .ARM 00000008 70040a24 70040a24 00041a24 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 12 .preinit_array 00000000 70040a2c 70040a2c 0021f930 2**0 CONTENTS, ALLOC, LOAD, DATA 13 .init_array 0000001c 70040a2c 70040a2c 00041a2c 2**2 CONTENTS, ALLOC, LOAD, DATA 14 .fini_array 00000008 70040a48 70040a48 00041a48 2**2 CONTENTS, ALLOC, LOAD, DATA 15 .data 000001b8 24000000 70040a50 00042000 2**2 CONTENTS, ALLOC, LOAD, DATA 16 TouchGFX_MCU_Data_OutBuffer1 00004b00 240001c0 70040c08 000421c0 2**5 CONTENTS, ALLOC, LOAD, DATA 17 TouchGFX_MCU_Data_OutBuffer0 00004b00 24004cc0 70045708 00046cc0 2**5 CONTENTS, ALLOC, LOAD, DATA 18 TouchGFX_ScratchbufferB 00000100 240097c0 7004a208 0004b7c0 2**5 CONTENTS, ALLOC, LOAD, DATA 19 TouchGFX_ScratchbufferA 00000100 240098c0 7004a308 0004b8c0 2**5 CONTENTS, ALLOC, LOAD, DATA 20 FreeRtosHeapSection 0000c350 20003000 20003000 00001000 2**0 ALLOC 21 .tdata 00000000 240099c0 240099c0 0021f930 2**2 CONTENTS, ALLOC, LOAD, DATA, THREAD_LOCAL 22 .tbss 00000000 240099c0 240099c0 00000000 2**2 ALLOC, THREAD_LOCAL 23 .bss 00004a84 240099c0 7004a408 0004b9c0 2**3 ALLOC 24 ._user_heap_stack 00002000 20000000 20000000 00001000 2**0 ALLOC 25 .ARM.attributes 0000002e 00000000 00000000 0021f930 2**0 CONTENTS, READONLY 26 .debug_info 000e0547 00000000 00000000 0021f95e 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS 27 .debug_abbrev 00017822 00000000 00000000 002ffea5 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS 28 .debug_aranges 00003b08 00000000 00000000 003176c8 2**3 CONTENTS, READONLY, DEBUGGING, OCTETS 29 .debug_rnglists 00003bca 00000000 00000000 0031b1d0 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS 30 .debug_macro 00046874 00000000 00000000 0031ed9a 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS 31 .debug_line 00067b95 00000000 00000000 0036560e 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS 32 .debug_str 0018de8c 00000000 00000000 003cd1a3 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS 33 .comment 00000088 00000000 00000000 0055b02f 2**0 CONTENTS, READONLY 34 .debug_frame 0000a6f0 00000000 00000000 0055b0b8 2**2 CONTENTS, READONLY, DEBUGGING, OCTETS 35 .debug_loclists 00027f70 00000000 00000000 005657a8 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS 36 .debug_line_str 0000007f 00000000 00000000 0058d718 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS Disassembly of section .text: 700002b0 <__do_global_dtors_aux>: 700002b0: b510 push {r4, lr} 700002b2: 4c05 ldr r4, [pc, #20] @ (700002c8 <__do_global_dtors_aux+0x18>) 700002b4: 7823 ldrb r3, [r4, #0] 700002b6: b933 cbnz r3, 700002c6 <__do_global_dtors_aux+0x16> 700002b8: 4b04 ldr r3, [pc, #16] @ (700002cc <__do_global_dtors_aux+0x1c>) 700002ba: b113 cbz r3, 700002c2 <__do_global_dtors_aux+0x12> 700002bc: 4804 ldr r0, [pc, #16] @ (700002d0 <__do_global_dtors_aux+0x20>) 700002be: f3af 8000 nop.w 700002c2: 2301 movs r3, #1 700002c4: 7023 strb r3, [r4, #0] 700002c6: bd10 pop {r4, pc} 700002c8: 240099c0 .word 0x240099c0 700002cc: 00000000 .word 0x00000000 700002d0: 7003c0d8 .word 0x7003c0d8 700002d4 : 700002d4: b508 push {r3, lr} 700002d6: 4b03 ldr r3, [pc, #12] @ (700002e4 ) 700002d8: b11b cbz r3, 700002e2 700002da: 4903 ldr r1, [pc, #12] @ (700002e8 ) 700002dc: 4803 ldr r0, [pc, #12] @ (700002ec ) 700002de: f3af 8000 nop.w 700002e2: bd08 pop {r3, pc} 700002e4: 00000000 .word 0x00000000 700002e8: 240099c4 .word 0x240099c4 700002ec: 7003c0d8 .word 0x7003c0d8 700002f0 : 700002f0: f001 01ff and.w r1, r1, #255 @ 0xff 700002f4: 2a10 cmp r2, #16 700002f6: db2b blt.n 70000350 700002f8: f010 0f07 tst.w r0, #7 700002fc: d008 beq.n 70000310 700002fe: f810 3b01 ldrb.w r3, [r0], #1 70000302: 3a01 subs r2, #1 70000304: 428b cmp r3, r1 70000306: d02d beq.n 70000364 70000308: f010 0f07 tst.w r0, #7 7000030c: b342 cbz r2, 70000360 7000030e: d1f6 bne.n 700002fe 70000310: b4f0 push {r4, r5, r6, r7} 70000312: ea41 2101 orr.w r1, r1, r1, lsl #8 70000316: ea41 4101 orr.w r1, r1, r1, lsl #16 7000031a: f022 0407 bic.w r4, r2, #7 7000031e: f07f 0700 mvns.w r7, #0 70000322: 2300 movs r3, #0 70000324: e8f0 5602 ldrd r5, r6, [r0], #8 70000328: 3c08 subs r4, #8 7000032a: ea85 0501 eor.w r5, r5, r1 7000032e: ea86 0601 eor.w r6, r6, r1 70000332: fa85 f547 uadd8 r5, r5, r7 70000336: faa3 f587 sel r5, r3, r7 7000033a: fa86 f647 uadd8 r6, r6, r7 7000033e: faa5 f687 sel r6, r5, r7 70000342: b98e cbnz r6, 70000368 70000344: d1ee bne.n 70000324 70000346: bcf0 pop {r4, r5, r6, r7} 70000348: f001 01ff and.w r1, r1, #255 @ 0xff 7000034c: f002 0207 and.w r2, r2, #7 70000350: b132 cbz r2, 70000360 70000352: f810 3b01 ldrb.w r3, [r0], #1 70000356: 3a01 subs r2, #1 70000358: ea83 0301 eor.w r3, r3, r1 7000035c: b113 cbz r3, 70000364 7000035e: d1f8 bne.n 70000352 70000360: 2000 movs r0, #0 70000362: 4770 bx lr 70000364: 3801 subs r0, #1 70000366: 4770 bx lr 70000368: 2d00 cmp r5, #0 7000036a: bf06 itte eq 7000036c: 4635 moveq r5, r6 7000036e: 3803 subeq r0, #3 70000370: 3807 subne r0, #7 70000372: f015 0f01 tst.w r5, #1 70000376: d107 bne.n 70000388 70000378: 3001 adds r0, #1 7000037a: f415 7f80 tst.w r5, #256 @ 0x100 7000037e: bf02 ittt eq 70000380: 3001 addeq r0, #1 70000382: f415 3fc0 tsteq.w r5, #98304 @ 0x18000 70000386: 3001 addeq r0, #1 70000388: bcf0 pop {r4, r5, r6, r7} 7000038a: 3801 subs r0, #1 7000038c: 4770 bx lr 7000038e: bf00 nop 70000390 <__aeabi_drsub>: 70000390: f081 4100 eor.w r1, r1, #2147483648 @ 0x80000000 70000394: e002 b.n 7000039c <__adddf3> 70000396: bf00 nop 70000398 <__aeabi_dsub>: 70000398: f083 4300 eor.w r3, r3, #2147483648 @ 0x80000000 7000039c <__adddf3>: 7000039c: b530 push {r4, r5, lr} 7000039e: ea4f 0441 mov.w r4, r1, lsl #1 700003a2: ea4f 0543 mov.w r5, r3, lsl #1 700003a6: ea94 0f05 teq r4, r5 700003aa: bf08 it eq 700003ac: ea90 0f02 teqeq r0, r2 700003b0: bf1f itttt ne 700003b2: ea54 0c00 orrsne.w ip, r4, r0 700003b6: ea55 0c02 orrsne.w ip, r5, r2 700003ba: ea7f 5c64 mvnsne.w ip, r4, asr #21 700003be: ea7f 5c65 mvnsne.w ip, r5, asr #21 700003c2: f000 80e2 beq.w 7000058a <__adddf3+0x1ee> 700003c6: ea4f 5454 mov.w r4, r4, lsr #21 700003ca: ebd4 5555 rsbs r5, r4, r5, lsr #21 700003ce: bfb8 it lt 700003d0: 426d neglt r5, r5 700003d2: dd0c ble.n 700003ee <__adddf3+0x52> 700003d4: 442c add r4, r5 700003d6: ea80 0202 eor.w r2, r0, r2 700003da: ea81 0303 eor.w r3, r1, r3 700003de: ea82 0000 eor.w r0, r2, r0 700003e2: ea83 0101 eor.w r1, r3, r1 700003e6: ea80 0202 eor.w r2, r0, r2 700003ea: ea81 0303 eor.w r3, r1, r3 700003ee: 2d36 cmp r5, #54 @ 0x36 700003f0: bf88 it hi 700003f2: bd30 pophi {r4, r5, pc} 700003f4: f011 4f00 tst.w r1, #2147483648 @ 0x80000000 700003f8: ea4f 3101 mov.w r1, r1, lsl #12 700003fc: f44f 1c80 mov.w ip, #1048576 @ 0x100000 70000400: ea4c 3111 orr.w r1, ip, r1, lsr #12 70000404: d002 beq.n 7000040c <__adddf3+0x70> 70000406: 4240 negs r0, r0 70000408: eb61 0141 sbc.w r1, r1, r1, lsl #1 7000040c: f013 4f00 tst.w r3, #2147483648 @ 0x80000000 70000410: ea4f 3303 mov.w r3, r3, lsl #12 70000414: ea4c 3313 orr.w r3, ip, r3, lsr #12 70000418: d002 beq.n 70000420 <__adddf3+0x84> 7000041a: 4252 negs r2, r2 7000041c: eb63 0343 sbc.w r3, r3, r3, lsl #1 70000420: ea94 0f05 teq r4, r5 70000424: f000 80a7 beq.w 70000576 <__adddf3+0x1da> 70000428: f1a4 0401 sub.w r4, r4, #1 7000042c: f1d5 0e20 rsbs lr, r5, #32 70000430: db0d blt.n 7000044e <__adddf3+0xb2> 70000432: fa02 fc0e lsl.w ip, r2, lr 70000436: fa22 f205 lsr.w r2, r2, r5 7000043a: 1880 adds r0, r0, r2 7000043c: f141 0100 adc.w r1, r1, #0 70000440: fa03 f20e lsl.w r2, r3, lr 70000444: 1880 adds r0, r0, r2 70000446: fa43 f305 asr.w r3, r3, r5 7000044a: 4159 adcs r1, r3 7000044c: e00e b.n 7000046c <__adddf3+0xd0> 7000044e: f1a5 0520 sub.w r5, r5, #32 70000452: f10e 0e20 add.w lr, lr, #32 70000456: 2a01 cmp r2, #1 70000458: fa03 fc0e lsl.w ip, r3, lr 7000045c: bf28 it cs 7000045e: f04c 0c02 orrcs.w ip, ip, #2 70000462: fa43 f305 asr.w r3, r3, r5 70000466: 18c0 adds r0, r0, r3 70000468: eb51 71e3 adcs.w r1, r1, r3, asr #31 7000046c: f001 4500 and.w r5, r1, #2147483648 @ 0x80000000 70000470: d507 bpl.n 70000482 <__adddf3+0xe6> 70000472: f04f 0e00 mov.w lr, #0 70000476: f1dc 0c00 rsbs ip, ip, #0 7000047a: eb7e 0000 sbcs.w r0, lr, r0 7000047e: eb6e 0101 sbc.w r1, lr, r1 70000482: f5b1 1f80 cmp.w r1, #1048576 @ 0x100000 70000486: d31b bcc.n 700004c0 <__adddf3+0x124> 70000488: f5b1 1f00 cmp.w r1, #2097152 @ 0x200000 7000048c: d30c bcc.n 700004a8 <__adddf3+0x10c> 7000048e: 0849 lsrs r1, r1, #1 70000490: ea5f 0030 movs.w r0, r0, rrx 70000494: ea4f 0c3c mov.w ip, ip, rrx 70000498: f104 0401 add.w r4, r4, #1 7000049c: ea4f 5244 mov.w r2, r4, lsl #21 700004a0: f512 0f80 cmn.w r2, #4194304 @ 0x400000 700004a4: f080 809a bcs.w 700005dc <__adddf3+0x240> 700004a8: f1bc 4f00 cmp.w ip, #2147483648 @ 0x80000000 700004ac: bf08 it eq 700004ae: ea5f 0c50 movseq.w ip, r0, lsr #1 700004b2: f150 0000 adcs.w r0, r0, #0 700004b6: eb41 5104 adc.w r1, r1, r4, lsl #20 700004ba: ea41 0105 orr.w r1, r1, r5 700004be: bd30 pop {r4, r5, pc} 700004c0: ea5f 0c4c movs.w ip, ip, lsl #1 700004c4: 4140 adcs r0, r0 700004c6: eb41 0101 adc.w r1, r1, r1 700004ca: 3c01 subs r4, #1 700004cc: bf28 it cs 700004ce: f5b1 1f80 cmpcs.w r1, #1048576 @ 0x100000 700004d2: d2e9 bcs.n 700004a8 <__adddf3+0x10c> 700004d4: f091 0f00 teq r1, #0 700004d8: bf04 itt eq 700004da: 4601 moveq r1, r0 700004dc: 2000 moveq r0, #0 700004de: fab1 f381 clz r3, r1 700004e2: bf08 it eq 700004e4: 3320 addeq r3, #32 700004e6: f1a3 030b sub.w r3, r3, #11 700004ea: f1b3 0220 subs.w r2, r3, #32 700004ee: da0c bge.n 7000050a <__adddf3+0x16e> 700004f0: 320c adds r2, #12 700004f2: dd08 ble.n 70000506 <__adddf3+0x16a> 700004f4: f102 0c14 add.w ip, r2, #20 700004f8: f1c2 020c rsb r2, r2, #12 700004fc: fa01 f00c lsl.w r0, r1, ip 70000500: fa21 f102 lsr.w r1, r1, r2 70000504: e00c b.n 70000520 <__adddf3+0x184> 70000506: f102 0214 add.w r2, r2, #20 7000050a: bfd8 it le 7000050c: f1c2 0c20 rsble ip, r2, #32 70000510: fa01 f102 lsl.w r1, r1, r2 70000514: fa20 fc0c lsr.w ip, r0, ip 70000518: bfdc itt le 7000051a: ea41 010c orrle.w r1, r1, ip 7000051e: 4090 lslle r0, r2 70000520: 1ae4 subs r4, r4, r3 70000522: bfa2 ittt ge 70000524: eb01 5104 addge.w r1, r1, r4, lsl #20 70000528: 4329 orrge r1, r5 7000052a: bd30 popge {r4, r5, pc} 7000052c: ea6f 0404 mvn.w r4, r4 70000530: 3c1f subs r4, #31 70000532: da1c bge.n 7000056e <__adddf3+0x1d2> 70000534: 340c adds r4, #12 70000536: dc0e bgt.n 70000556 <__adddf3+0x1ba> 70000538: f104 0414 add.w r4, r4, #20 7000053c: f1c4 0220 rsb r2, r4, #32 70000540: fa20 f004 lsr.w r0, r0, r4 70000544: fa01 f302 lsl.w r3, r1, r2 70000548: ea40 0003 orr.w r0, r0, r3 7000054c: fa21 f304 lsr.w r3, r1, r4 70000550: ea45 0103 orr.w r1, r5, r3 70000554: bd30 pop {r4, r5, pc} 70000556: f1c4 040c rsb r4, r4, #12 7000055a: f1c4 0220 rsb r2, r4, #32 7000055e: fa20 f002 lsr.w r0, r0, r2 70000562: fa01 f304 lsl.w r3, r1, r4 70000566: ea40 0003 orr.w r0, r0, r3 7000056a: 4629 mov r1, r5 7000056c: bd30 pop {r4, r5, pc} 7000056e: fa21 f004 lsr.w r0, r1, r4 70000572: 4629 mov r1, r5 70000574: bd30 pop {r4, r5, pc} 70000576: f094 0f00 teq r4, #0 7000057a: f483 1380 eor.w r3, r3, #1048576 @ 0x100000 7000057e: bf06 itte eq 70000580: f481 1180 eoreq.w r1, r1, #1048576 @ 0x100000 70000584: 3401 addeq r4, #1 70000586: 3d01 subne r5, #1 70000588: e74e b.n 70000428 <__adddf3+0x8c> 7000058a: ea7f 5c64 mvns.w ip, r4, asr #21 7000058e: bf18 it ne 70000590: ea7f 5c65 mvnsne.w ip, r5, asr #21 70000594: d029 beq.n 700005ea <__adddf3+0x24e> 70000596: ea94 0f05 teq r4, r5 7000059a: bf08 it eq 7000059c: ea90 0f02 teqeq r0, r2 700005a0: d005 beq.n 700005ae <__adddf3+0x212> 700005a2: ea54 0c00 orrs.w ip, r4, r0 700005a6: bf04 itt eq 700005a8: 4619 moveq r1, r3 700005aa: 4610 moveq r0, r2 700005ac: bd30 pop {r4, r5, pc} 700005ae: ea91 0f03 teq r1, r3 700005b2: bf1e ittt ne 700005b4: 2100 movne r1, #0 700005b6: 2000 movne r0, #0 700005b8: bd30 popne {r4, r5, pc} 700005ba: ea5f 5c54 movs.w ip, r4, lsr #21 700005be: d105 bne.n 700005cc <__adddf3+0x230> 700005c0: 0040 lsls r0, r0, #1 700005c2: 4149 adcs r1, r1 700005c4: bf28 it cs 700005c6: f041 4100 orrcs.w r1, r1, #2147483648 @ 0x80000000 700005ca: bd30 pop {r4, r5, pc} 700005cc: f514 0480 adds.w r4, r4, #4194304 @ 0x400000 700005d0: bf3c itt cc 700005d2: f501 1180 addcc.w r1, r1, #1048576 @ 0x100000 700005d6: bd30 popcc {r4, r5, pc} 700005d8: f001 4500 and.w r5, r1, #2147483648 @ 0x80000000 700005dc: f045 41fe orr.w r1, r5, #2130706432 @ 0x7f000000 700005e0: f441 0170 orr.w r1, r1, #15728640 @ 0xf00000 700005e4: f04f 0000 mov.w r0, #0 700005e8: bd30 pop {r4, r5, pc} 700005ea: ea7f 5c64 mvns.w ip, r4, asr #21 700005ee: bf1a itte ne 700005f0: 4619 movne r1, r3 700005f2: 4610 movne r0, r2 700005f4: ea7f 5c65 mvnseq.w ip, r5, asr #21 700005f8: bf1c itt ne 700005fa: 460b movne r3, r1 700005fc: 4602 movne r2, r0 700005fe: ea50 3401 orrs.w r4, r0, r1, lsl #12 70000602: bf06 itte eq 70000604: ea52 3503 orrseq.w r5, r2, r3, lsl #12 70000608: ea91 0f03 teqeq r1, r3 7000060c: f441 2100 orrne.w r1, r1, #524288 @ 0x80000 70000610: bd30 pop {r4, r5, pc} 70000612: bf00 nop 70000614 <__aeabi_ui2d>: 70000614: f090 0f00 teq r0, #0 70000618: bf04 itt eq 7000061a: 2100 moveq r1, #0 7000061c: 4770 bxeq lr 7000061e: b530 push {r4, r5, lr} 70000620: f44f 6480 mov.w r4, #1024 @ 0x400 70000624: f104 0432 add.w r4, r4, #50 @ 0x32 70000628: f04f 0500 mov.w r5, #0 7000062c: f04f 0100 mov.w r1, #0 70000630: e750 b.n 700004d4 <__adddf3+0x138> 70000632: bf00 nop 70000634 <__aeabi_i2d>: 70000634: f090 0f00 teq r0, #0 70000638: bf04 itt eq 7000063a: 2100 moveq r1, #0 7000063c: 4770 bxeq lr 7000063e: b530 push {r4, r5, lr} 70000640: f44f 6480 mov.w r4, #1024 @ 0x400 70000644: f104 0432 add.w r4, r4, #50 @ 0x32 70000648: f010 4500 ands.w r5, r0, #2147483648 @ 0x80000000 7000064c: bf48 it mi 7000064e: 4240 negmi r0, r0 70000650: f04f 0100 mov.w r1, #0 70000654: e73e b.n 700004d4 <__adddf3+0x138> 70000656: bf00 nop 70000658 <__aeabi_f2d>: 70000658: 0042 lsls r2, r0, #1 7000065a: ea4f 01e2 mov.w r1, r2, asr #3 7000065e: ea4f 0131 mov.w r1, r1, rrx 70000662: ea4f 7002 mov.w r0, r2, lsl #28 70000666: bf1f itttt ne 70000668: f012 437f andsne.w r3, r2, #4278190080 @ 0xff000000 7000066c: f093 4f7f teqne r3, #4278190080 @ 0xff000000 70000670: f081 5160 eorne.w r1, r1, #939524096 @ 0x38000000 70000674: 4770 bxne lr 70000676: f032 427f bics.w r2, r2, #4278190080 @ 0xff000000 7000067a: bf08 it eq 7000067c: 4770 bxeq lr 7000067e: f093 4f7f teq r3, #4278190080 @ 0xff000000 70000682: bf04 itt eq 70000684: f441 2100 orreq.w r1, r1, #524288 @ 0x80000 70000688: 4770 bxeq lr 7000068a: b530 push {r4, r5, lr} 7000068c: f44f 7460 mov.w r4, #896 @ 0x380 70000690: f001 4500 and.w r5, r1, #2147483648 @ 0x80000000 70000694: f021 4100 bic.w r1, r1, #2147483648 @ 0x80000000 70000698: e71c b.n 700004d4 <__adddf3+0x138> 7000069a: bf00 nop 7000069c <__aeabi_ul2d>: 7000069c: ea50 0201 orrs.w r2, r0, r1 700006a0: bf08 it eq 700006a2: 4770 bxeq lr 700006a4: b530 push {r4, r5, lr} 700006a6: f04f 0500 mov.w r5, #0 700006aa: e00a b.n 700006c2 <__aeabi_l2d+0x16> 700006ac <__aeabi_l2d>: 700006ac: ea50 0201 orrs.w r2, r0, r1 700006b0: bf08 it eq 700006b2: 4770 bxeq lr 700006b4: b530 push {r4, r5, lr} 700006b6: f011 4500 ands.w r5, r1, #2147483648 @ 0x80000000 700006ba: d502 bpl.n 700006c2 <__aeabi_l2d+0x16> 700006bc: 4240 negs r0, r0 700006be: eb61 0141 sbc.w r1, r1, r1, lsl #1 700006c2: f44f 6480 mov.w r4, #1024 @ 0x400 700006c6: f104 0432 add.w r4, r4, #50 @ 0x32 700006ca: ea5f 5c91 movs.w ip, r1, lsr #22 700006ce: f43f aed8 beq.w 70000482 <__adddf3+0xe6> 700006d2: f04f 0203 mov.w r2, #3 700006d6: ea5f 0cdc movs.w ip, ip, lsr #3 700006da: bf18 it ne 700006dc: 3203 addne r2, #3 700006de: ea5f 0cdc movs.w ip, ip, lsr #3 700006e2: bf18 it ne 700006e4: 3203 addne r2, #3 700006e6: eb02 02dc add.w r2, r2, ip, lsr #3 700006ea: f1c2 0320 rsb r3, r2, #32 700006ee: fa00 fc03 lsl.w ip, r0, r3 700006f2: fa20 f002 lsr.w r0, r0, r2 700006f6: fa01 fe03 lsl.w lr, r1, r3 700006fa: ea40 000e orr.w r0, r0, lr 700006fe: fa21 f102 lsr.w r1, r1, r2 70000702: 4414 add r4, r2 70000704: e6bd b.n 70000482 <__adddf3+0xe6> 70000706: bf00 nop 70000708 : vTaskDelete() API function (as this demo application does) then it is also important that vApplicationIdleHook() is permitted to return to its calling function, because it is the responsibility of the idle task to clean up memory allocated by the kernel to any task that has since been deleted. */ vTaskSetApplicationTaskTag(NULL, IdleTaskHook); 70000708: 4901 ldr r1, [pc, #4] @ (70000710 ) 7000070a: 2000 movs r0, #0 7000070c: f00c bd04 b.w 7000d118 70000710: 70001aa1 .word 0x70001aa1 70000714 : * @param argument: Not used * @retval None */ /* USER CODE END Header_StartDefaultTask */ void StartDefaultTask(void *argument) { 70000714: b508 push {r3, lr} /* USER CODE BEGIN 5 */ /* Infinite loop */ for (;;) { osDelay(1); 70000716: 2001 movs r0, #1 70000718: f00a ffc8 bl 7000b6ac for (;;) 7000071c: e7fb b.n 70000716 ... 70000720 : if ((fifo_write_idx - fifo_read_idx) >= FIFO_SIZE) 70000720: 4a0c ldr r2, [pc, #48] @ (70000754 ) 70000722: 490d ldr r1, [pc, #52] @ (70000758 ) 70000724: 6813 ldr r3, [r2, #0] 70000726: 6809 ldr r1, [r1, #0] 70000728: 1a5b subs r3, r3, r1 7000072a: f5b3 6f00 cmp.w r3, #2048 @ 0x800 7000072e: d20f bcs.n 70000750 uint32_t idx = fifo_write_idx & (FIFO_SIZE - 1); 70000730: 6813 ldr r3, [r2, #0] if (v > 32767) v = 32767; 70000732: f320 200f ssat r0, #16, r0, asr #8 audio_fifo[idx * 2] = s; 70000736: 4909 ldr r1, [pc, #36] @ (7000075c ) uint32_t idx = fifo_write_idx & (FIFO_SIZE - 1); 70000738: f3c3 030a ubfx r3, r3, #0, #11 return (int16_t)v; 7000073c: b200 sxth r0, r0 audio_fifo[idx * 2] = s; 7000073e: 005b lsls r3, r3, #1 70000740: f821 0013 strh.w r0, [r1, r3, lsl #1] audio_fifo[idx * 2 + 1] = s; 70000744: 3301 adds r3, #1 70000746: f821 0013 strh.w r0, [r1, r3, lsl #1] fifo_write_idx++; 7000074a: 6813 ldr r3, [r2, #0] 7000074c: 3301 adds r3, #1 7000074e: 6013 str r3, [r2, #0] } 70000750: 4770 bx lr 70000752: bf00 nop 70000754: 24009e48 .word 0x24009e48 70000758: 24009e44 .word 0x24009e44 7000075c: 24060040 .word 0x24060040 70000760 : static void pull_from_fifo(int16_t *dst, uint32_t nbFrames) 70000760: b570 push {r4, r5, r6, lr} if (fifo_write_idx == fifo_read_idx) 70000762: 4a13 ldr r2, [pc, #76] @ (700007b0 ) 70000764: f500 6480 add.w r4, r0, #1024 @ 0x400 70000768: 4d12 ldr r5, [pc, #72] @ (700007b4 ) 7000076a: 4913 ldr r1, [pc, #76] @ (700007b8 ) 7000076c: 682e ldr r6, [r5, #0] 7000076e: 6813 ldr r3, [r2, #0] 70000770: 429e cmp r6, r3 uint32_t last = (fifo_read_idx - 1) & (FIFO_SIZE - 1); 70000772: 6813 ldr r3, [r2, #0] if (fifo_write_idx == fifo_read_idx) 70000774: d10e bne.n 70000794 uint32_t last = (fifo_read_idx - 1) & (FIFO_SIZE - 1); 70000776: 3b01 subs r3, #1 70000778: f3c3 030a ubfx r3, r3, #0, #11 dst[2*i] = audio_fifo[last * 2]; 7000077c: f931 6023 ldrsh.w r6, [r1, r3, lsl #2] dst[2*i + 1] = audio_fifo[last * 2 + 1]; 70000780: eb01 0383 add.w r3, r1, r3, lsl #2 dst[2*i] = audio_fifo[last * 2]; 70000784: 8006 strh r6, [r0, #0] dst[2*i + 1] = audio_fifo[last * 2 + 1]; 70000786: f9b3 3002 ldrsh.w r3, [r3, #2] 7000078a: 8043 strh r3, [r0, #2] for (uint32_t i = 0; i < nbFrames; i++) 7000078c: 3004 adds r0, #4 7000078e: 4284 cmp r4, r0 70000790: d1ec bne.n 7000076c } 70000792: bd70 pop {r4, r5, r6, pc} uint32_t idx = fifo_read_idx & (FIFO_SIZE - 1); 70000794: f3c3 030a ubfx r3, r3, #0, #11 dst[2*i] = audio_fifo[idx * 2]; 70000798: f931 6023 ldrsh.w r6, [r1, r3, lsl #2] dst[2*i + 1] = audio_fifo[idx * 2 + 1]; 7000079c: eb01 0383 add.w r3, r1, r3, lsl #2 dst[2*i] = audio_fifo[idx * 2]; 700007a0: 8006 strh r6, [r0, #0] dst[2*i + 1] = audio_fifo[idx * 2 + 1]; 700007a2: f9b3 3002 ldrsh.w r3, [r3, #2] 700007a6: 8043 strh r3, [r0, #2] fifo_read_idx++; 700007a8: 6813 ldr r3, [r2, #0] 700007aa: 3301 adds r3, #1 700007ac: 6013 str r3, [r2, #0] 700007ae: e7ed b.n 7000078c 700007b0: 24009e44 .word 0x24009e44 700007b4: 24009e48 .word 0x24009e48 700007b8: 24060040 .word 0x24060040 700007bc
: { 700007bc: b580 push {r7, lr} 700007be: b096 sub sp, #88 @ 0x58 static void MPU_Config(void) { MPU_Region_InitTypeDef MPU_InitStruct = {0}; /* Disables the MPU */ HAL_MPU_Disable(); 700007c0: 2400 movs r4, #0 MPU_Region_InitTypeDef MPU_InitStruct = {0}; 700007c2: 2210 movs r2, #16 700007c4: 2100 movs r1, #0 700007c6: a809 add r0, sp, #36 @ 0x24 700007c8: f03a fdac bl 7003b324 HAL_MPU_Disable(); 700007cc: f004 f8e2 bl 70004994 /* Disables all MPU regions */ for(uint8_t i=0; i<__MPU_REGIONCOUNT; i++) { HAL_MPU_DisableRegion(i); 700007d0: 4620 mov r0, r4 for(uint8_t i=0; i<__MPU_REGIONCOUNT; i++) 700007d2: 3401 adds r4, #1 HAL_MPU_DisableRegion(i); 700007d4: f004 f8f0 bl 700049b8 for(uint8_t i=0; i<__MPU_REGIONCOUNT; i++) 700007d8: 2c10 cmp r4, #16 700007da: d1f9 bne.n 700007d0 /** Initializes and configures the Region and the memory to be protected */ MPU_InitStruct.Enable = MPU_REGION_ENABLE; MPU_InitStruct.Number = MPU_REGION_NUMBER0; MPU_InitStruct.BaseAddress = 0x0; MPU_InitStruct.Size = MPU_REGION_SIZE_4GB; 700007dc: 2400 movs r4, #0 MPU_InitStruct.Enable = MPU_REGION_ENABLE; 700007de: 2501 movs r5, #1 MPU_InitStruct.Size = MPU_REGION_SIZE_4GB; 700007e0: f248 731f movw r3, #34591 @ 0x871f MPU_InitStruct.SubRegionDisable = 0x87; MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; MPU_InitStruct.AccessPermission = MPU_REGION_NO_ACCESS; MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_DISABLE; 700007e4: f240 1601 movw r6, #257 @ 0x101 MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE; MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE; MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; HAL_MPU_ConfigRegion(&MPU_InitStruct); 700007e8: a809 add r0, sp, #36 @ 0x24 MPU_InitStruct.Enable = MPU_REGION_ENABLE; 700007ea: f8ad 5024 strh.w r5, [sp, #36] @ 0x24 MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_DISABLE; 700007ee: 960c str r6, [sp, #48] @ 0x30 HAL_MPU_ConfigRegion(&MPU_InitStruct); /** Initializes and configures the Region and the memory to be protected */ MPU_InitStruct.Number = MPU_REGION_NUMBER4; 700007f0: 2704 movs r7, #4 MPU_InitStruct.BaseAddress = 0x20000000; MPU_InitStruct.Size = MPU_REGION_SIZE_64KB; 700007f2: f04f 080f mov.w r8, #15 MPU_InitStruct.Size = MPU_REGION_SIZE_4GB; 700007f6: e9cd 430a strd r4, r3, [sp, #40] @ 0x28 HAL_MPU_ConfigRegion(&MPU_InitStruct); 700007fa: f004 f8e9 bl 700049d0 MPU_InitStruct.Size = MPU_REGION_SIZE_128MB; 700007fe: 4bca ldr r3, [pc, #808] @ (70000b28 ) 70000800: f04f 40e0 mov.w r0, #1879048192 @ 0x70000000 MPU_InitStruct.Number = MPU_REGION_NUMBER1; 70000804: f88d 5025 strb.w r5, [sp, #37] @ 0x25 MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 70000808: f88d 4031 strb.w r4, [sp, #49] @ 0x31 MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 7000080c: f8ad 6032 strh.w r6, [sp, #50] @ 0x32 MPU_InitStruct.Size = MPU_REGION_SIZE_128MB; 70000810: e9cd 030a strd r0, r3, [sp, #40] @ 0x28 HAL_MPU_ConfigRegion(&MPU_InitStruct); 70000814: a809 add r0, sp, #36 @ 0x24 70000816: f004 f8db bl 700049d0 MPU_InitStruct.Number = MPU_REGION_NUMBER2; 7000081a: 2302 movs r3, #2 HAL_MPU_ConfigRegion(&MPU_InitStruct); 7000081c: a809 add r0, sp, #36 @ 0x24 MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 7000081e: f88d 4030 strb.w r4, [sp, #48] @ 0x30 MPU_InitStruct.Number = MPU_REGION_NUMBER2; 70000822: f88d 3025 strb.w r3, [sp, #37] @ 0x25 MPU_InitStruct.Size = MPU_REGION_SIZE_2MB; 70000826: 2314 movs r3, #20 70000828: f88d 302c strb.w r3, [sp, #44] @ 0x2c HAL_MPU_ConfigRegion(&MPU_InitStruct); 7000082c: f004 f8d0 bl 700049d0 MPU_InitStruct.Number = MPU_REGION_NUMBER3; 70000830: 2303 movs r3, #3 HAL_MPU_ConfigRegion(&MPU_InitStruct); 70000832: a809 add r0, sp, #36 @ 0x24 MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_DISABLE; 70000834: f88d 5030 strb.w r5, [sp, #48] @ 0x30 MPU_InitStruct.Number = MPU_REGION_NUMBER3; 70000838: f88d 3025 strb.w r3, [sp, #37] @ 0x25 MPU_InitStruct.BaseAddress = 0x90000000; 7000083c: f04f 4310 mov.w r3, #2415919104 @ 0x90000000 MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE; 70000840: f8ad 4032 strh.w r4, [sp, #50] @ 0x32 MPU_InitStruct.BaseAddress = 0x90000000; 70000844: 930a str r3, [sp, #40] @ 0x28 MPU_InitStruct.Size = MPU_REGION_SIZE_32MB; 70000846: 2318 movs r3, #24 70000848: f88d 302c strb.w r3, [sp, #44] @ 0x2c HAL_MPU_ConfigRegion(&MPU_InitStruct); 7000084c: f004 f8c0 bl 700049d0 MPU_InitStruct.BaseAddress = 0x20000000; 70000850: f04f 5300 mov.w r3, #536870912 @ 0x20000000 HAL_MPU_ConfigRegion(&MPU_InitStruct); 70000854: a809 add r0, sp, #36 @ 0x24 MPU_InitStruct.Number = MPU_REGION_NUMBER4; 70000856: f88d 7025 strb.w r7, [sp, #37] @ 0x25 MPU_InitStruct.BaseAddress = 0x20000000; 7000085a: 930a str r3, [sp, #40] @ 0x28 MPU_InitStruct.Size = MPU_REGION_SIZE_64KB; 7000085c: f88d 802c strb.w r8, [sp, #44] @ 0x2c HAL_MPU_ConfigRegion(&MPU_InitStruct); 70000860: f004 f8b6 bl 700049d0 /** Initializes and configures the Region and the memory to be protected */ MPU_InitStruct.Number = MPU_REGION_NUMBER5; 70000864: 2305 movs r3, #5 MPU_InitStruct.Size = MPU_REGION_SIZE_512KB; MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE; MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE; HAL_MPU_ConfigRegion(&MPU_InitStruct); 70000866: a809 add r0, sp, #36 @ 0x24 MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE; 70000868: f88d 5031 strb.w r5, [sp, #49] @ 0x31 MPU_InitStruct.Number = MPU_REGION_NUMBER5; 7000086c: f88d 3025 strb.w r3, [sp, #37] @ 0x25 MPU_InitStruct.BaseAddress = 0x24000000; 70000870: f04f 5310 mov.w r3, #603979776 @ 0x24000000 MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 70000874: f8ad 6032 strh.w r6, [sp, #50] @ 0x32 MPU_InitStruct.BaseAddress = 0x24000000; 70000878: 930a str r3, [sp, #40] @ 0x28 MPU_InitStruct.Size = MPU_REGION_SIZE_512KB; 7000087a: 2312 movs r3, #18 7000087c: f88d 302c strb.w r3, [sp, #44] @ 0x2c HAL_MPU_ConfigRegion(&MPU_InitStruct); 70000880: f004 f8a6 bl 700049d0 /** Initializes and configures the Region and the memory to be protected */ MPU_InitStruct.Number = MPU_REGION_NUMBER6; 70000884: 2306 movs r3, #6 MPU_InitStruct.Size = MPU_REGION_SIZE_64KB; MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE; MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; HAL_MPU_ConfigRegion(&MPU_InitStruct); 70000886: a809 add r0, sp, #36 @ 0x24 MPU_InitStruct.Size = MPU_REGION_SIZE_64KB; 70000888: f88d 802c strb.w r8, [sp, #44] @ 0x2c MPU_InitStruct.Number = MPU_REGION_NUMBER6; 7000088c: f88d 3025 strb.w r3, [sp, #37] @ 0x25 MPU_InitStruct.BaseAddress = 0x24060000; 70000890: 4ba6 ldr r3, [pc, #664] @ (70000b2c ) MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 70000892: f88d 402e strb.w r4, [sp, #46] @ 0x2e MPU_InitStruct.BaseAddress = 0x24060000; 70000896: 930a str r3, [sp, #40] @ 0x28 MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE; 70000898: f8ad 4032 strh.w r4, [sp, #50] @ 0x32 HAL_MPU_ConfigRegion(&MPU_InitStruct); 7000089c: f004 f898 bl 700049d0 /** Initializes and configures the Region and the memory to be protected */ MPU_InitStruct.Number = MPU_REGION_NUMBER7; 700008a0: 2307 movs r3, #7 MPU_InitStruct.BaseAddress = 0x24070000; MPU_InitStruct.Size = MPU_REGION_SIZE_16KB; HAL_MPU_ConfigRegion(&MPU_InitStruct); 700008a2: a809 add r0, sp, #36 @ 0x24 MPU_InitStruct.Number = MPU_REGION_NUMBER7; 700008a4: f88d 3025 strb.w r3, [sp, #37] @ 0x25 MPU_InitStruct.BaseAddress = 0x24070000; 700008a8: 4ba1 ldr r3, [pc, #644] @ (70000b30 ) 700008aa: 930a str r3, [sp, #40] @ 0x28 MPU_InitStruct.Size = MPU_REGION_SIZE_16KB; 700008ac: 230d movs r3, #13 700008ae: f88d 302c strb.w r3, [sp, #44] @ 0x2c HAL_MPU_ConfigRegion(&MPU_InitStruct); 700008b2: f004 f88d bl 700049d0 /* Enables the MPU */ HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT); 700008b6: 4638 mov r0, r7 700008b8: f004 f85a bl 70004970 \details Turns on I-Cache */ __STATIC_FORCEINLINE void SCB_EnableICache (void) { #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U) if (SCB->CCR & SCB_CCR_IC_Msk) return; /* return if ICache is already enabled */ 700008bc: 4b9d ldr r3, [pc, #628] @ (70000b34 ) 700008be: 695a ldr r2, [r3, #20] 700008c0: f412 3200 ands.w r2, r2, #131072 @ 0x20000 700008c4: d111 bne.n 700008ea \details Acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete. */ __STATIC_FORCEINLINE void __DSB(void) { __ASM volatile ("dsb 0xF":::"memory"); 700008c6: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 700008ca: f3bf 8f6f isb sy __DSB(); __ISB(); SCB->ICIALLU = 0UL; /* invalidate I-Cache */ 700008ce: f8c3 2250 str.w r2, [r3, #592] @ 0x250 __ASM volatile ("dsb 0xF":::"memory"); 700008d2: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 700008d6: f3bf 8f6f isb sy __DSB(); __ISB(); SCB->CCR |= (uint32_t)SCB_CCR_IC_Msk; /* enable I-Cache */ 700008da: 695a ldr r2, [r3, #20] 700008dc: f442 3200 orr.w r2, r2, #131072 @ 0x20000 700008e0: 615a str r2, [r3, #20] __ASM volatile ("dsb 0xF":::"memory"); 700008e2: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 700008e6: f3bf 8f6f isb sy #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) uint32_t ccsidr; uint32_t sets; uint32_t ways; if (SCB->CCR & SCB_CCR_DC_Msk) return; /* return if DCache is already enabled */ 700008ea: 4a92 ldr r2, [pc, #584] @ (70000b34 ) 700008ec: 6953 ldr r3, [r2, #20] 700008ee: f413 3380 ands.w r3, r3, #65536 @ 0x10000 700008f2: d123 bne.n 7000093c SCB->CSSELR = 0U; /* select Level 1 data cache */ 700008f4: f8c2 3084 str.w r3, [r2, #132] @ 0x84 __ASM volatile ("dsb 0xF":::"memory"); 700008f8: f3bf 8f4f dsb sy __DSB(); ccsidr = SCB->CCSIDR; 700008fc: f8d2 3080 ldr.w r3, [r2, #128] @ 0x80 /* invalidate D-Cache */ sets = (uint32_t)(CCSIDR_SETS(ccsidr)); do { ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); do { SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | 70000900: f643 74e0 movw r4, #16352 @ 0x3fe0 ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 70000904: f3c3 00c9 ubfx r0, r3, #3, #10 sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 70000908: f3c3 334e ubfx r3, r3, #13, #15 7000090c: 015b lsls r3, r3, #5 SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | 7000090e: ea03 0604 and.w r6, r3, r4 ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 70000912: 4601 mov r1, r0 SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | 70000914: ea46 7581 orr.w r5, r6, r1, lsl #30 ((ways << SCB_DCISW_WAY_Pos) & SCB_DCISW_WAY_Msk) ); #if defined ( __CC_ARM ) __schedule_barrier(); #endif } while (ways-- != 0U); 70000918: 3901 subs r1, #1 SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | 7000091a: f8c2 5260 str.w r5, [r2, #608] @ 0x260 } while (ways-- != 0U); 7000091e: d2f9 bcs.n 70000914 } while(sets-- != 0U); 70000920: 3b20 subs r3, #32 70000922: f113 0f20 cmn.w r3, #32 70000926: d1f2 bne.n 7000090e 70000928: f3bf 8f4f dsb sy __DSB(); SCB->CCR |= (uint32_t)SCB_CCR_DC_Msk; /* enable D-Cache */ 7000092c: 6953 ldr r3, [r2, #20] 7000092e: f443 3380 orr.w r3, r3, #65536 @ 0x10000 70000932: 6153 str r3, [r2, #20] 70000934: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 70000938: f3bf 8f6f isb sy __HAL_RCC_GPIOF_CLK_ENABLE(); 7000093c: 4c7e ldr r4, [pc, #504] @ (70000b38 ) SystemCoreClockUpdate(); 7000093e: f003 fef3 bl 70004728 HAL_Init(); 70000942: f003 ff8f bl 70004864 GPIO_InitTypeDef GPIO_InitStruct = {0}; 70000946: 2214 movs r2, #20 70000948: 2100 movs r1, #0 7000094a: a809 add r0, sp, #36 @ 0x24 7000094c: f03a fcea bl 7003b324 __HAL_RCC_GPIOF_CLK_ENABLE(); 70000950: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 HAL_GPIO_WritePin(GPIOF, FRAME_RATE_Pin|RENDER_TIME_Pin|MCU_ACTIVE_Pin|VSYNC_FREQ_Pin, GPIO_PIN_RESET); 70000954: 2200 movs r2, #0 70000956: 211e movs r1, #30 __HAL_RCC_GPIOF_CLK_ENABLE(); 70000958: f043 0320 orr.w r3, r3, #32 HAL_GPIO_WritePin(GPIOF, FRAME_RATE_Pin|RENDER_TIME_Pin|MCU_ACTIVE_Pin|VSYNC_FREQ_Pin, GPIO_PIN_RESET); 7000095c: 4877 ldr r0, [pc, #476] @ (70000b3c ) GPIO_InitStruct.Pull = GPIO_NOPULL; 7000095e: 2500 movs r5, #0 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 70000960: 2601 movs r6, #1 __HAL_RCC_GPIOF_CLK_ENABLE(); 70000962: f8c4 3140 str.w r3, [r4, #320] @ 0x140 GPIO_InitStruct.Pin = LCD_EN_Pin; 70000966: f44f 4800 mov.w r8, #32768 @ 0x8000 __HAL_RCC_GPIOF_CLK_ENABLE(); 7000096a: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 GPIO_InitStruct.Pull = GPIO_PULLDOWN; 7000096e: 2702 movs r7, #2 __HAL_RCC_GPIOF_CLK_ENABLE(); 70000970: 9302 str r3, [sp, #8] 70000972: 9b02 ldr r3, [sp, #8] __HAL_RCC_GPIOE_CLK_ENABLE(); 70000974: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 70000978: f043 0310 orr.w r3, r3, #16 7000097c: f8c4 3140 str.w r3, [r4, #320] @ 0x140 70000980: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 70000984: 9303 str r3, [sp, #12] 70000986: 9b03 ldr r3, [sp, #12] __HAL_RCC_GPIOG_CLK_ENABLE(); 70000988: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 7000098c: f043 0340 orr.w r3, r3, #64 @ 0x40 70000990: f8c4 3140 str.w r3, [r4, #320] @ 0x140 70000994: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 70000998: 9304 str r3, [sp, #16] 7000099a: 9b04 ldr r3, [sp, #16] __HAL_RCC_GPIOB_CLK_ENABLE(); 7000099c: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 700009a0: f043 0302 orr.w r3, r3, #2 700009a4: f8c4 3140 str.w r3, [r4, #320] @ 0x140 700009a8: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 700009ac: 9305 str r3, [sp, #20] 700009ae: 9b05 ldr r3, [sp, #20] __HAL_RCC_GPIOA_CLK_ENABLE(); 700009b0: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 700009b4: f043 0301 orr.w r3, r3, #1 700009b8: f8c4 3140 str.w r3, [r4, #320] @ 0x140 700009bc: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 700009c0: 9306 str r3, [sp, #24] 700009c2: 9b06 ldr r3, [sp, #24] __HAL_RCC_GPIOD_CLK_ENABLE(); 700009c4: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 700009c8: f043 0308 orr.w r3, r3, #8 700009cc: f8c4 3140 str.w r3, [r4, #320] @ 0x140 700009d0: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 700009d4: 9307 str r3, [sp, #28] 700009d6: 9b07 ldr r3, [sp, #28] __HAL_RCC_GPIOH_CLK_ENABLE(); 700009d8: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 700009dc: f043 0380 orr.w r3, r3, #128 @ 0x80 700009e0: f8c4 3140 str.w r3, [r4, #320] @ 0x140 700009e4: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 700009e8: 9308 str r3, [sp, #32] 700009ea: 9b08 ldr r3, [sp, #32] HAL_GPIO_WritePin(GPIOF, FRAME_RATE_Pin|RENDER_TIME_Pin|MCU_ACTIVE_Pin|VSYNC_FREQ_Pin, GPIO_PIN_RESET); 700009ec: f005 fb72 bl 700060d4 HAL_GPIO_WritePin(LCD_EN_GPIO_Port, LCD_EN_Pin, GPIO_PIN_SET); 700009f0: 2201 movs r2, #1 700009f2: f44f 4100 mov.w r1, #32768 @ 0x8000 700009f6: 4852 ldr r0, [pc, #328] @ (70000b40 ) 700009f8: f005 fb6c bl 700060d4 HAL_GPIO_WritePin(LCD_BL_CTRL_GPIO_Port, LCD_BL_CTRL_Pin, GPIO_PIN_SET); 700009fc: 2201 movs r2, #1 700009fe: f44f 4100 mov.w r1, #32768 @ 0x8000 70000a02: 4850 ldr r0, [pc, #320] @ (70000b44 ) 70000a04: f005 fb66 bl 700060d4 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 70000a08: 230e movs r3, #14 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 70000a0a: a909 add r1, sp, #36 @ 0x24 70000a0c: 484b ldr r0, [pc, #300] @ (70000b3c ) GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 70000a0e: e9cd 3609 strd r3, r6, [sp, #36] @ 0x24 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM; 70000a12: e9cd 560b strd r5, r6, [sp, #44] @ 0x2c HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 70000a16: f005 fa51 bl 70005ebc GPIO_InitStruct.Pin = MCU_ACTIVE_Pin; 70000a1a: 2310 movs r3, #16 HAL_GPIO_Init(MCU_ACTIVE_GPIO_Port, &GPIO_InitStruct); 70000a1c: a909 add r1, sp, #36 @ 0x24 70000a1e: 4847 ldr r0, [pc, #284] @ (70000b3c ) GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 70000a20: e9cd 3609 strd r3, r6, [sp, #36] @ 0x24 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 70000a24: e9cd 550b strd r5, r5, [sp, #44] @ 0x2c HAL_GPIO_Init(MCU_ACTIVE_GPIO_Port, &GPIO_InitStruct); 70000a28: f005 fa48 bl 70005ebc HAL_GPIO_Init(LCD_EN_GPIO_Port, &GPIO_InitStruct); 70000a2c: a909 add r1, sp, #36 @ 0x24 70000a2e: 4844 ldr r0, [pc, #272] @ (70000b40 ) GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 70000a30: e9cd 8609 strd r8, r6, [sp, #36] @ 0x24 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 70000a34: e9cd 550b strd r5, r5, [sp, #44] @ 0x2c HAL_GPIO_Init(LCD_EN_GPIO_Port, &GPIO_InitStruct); 70000a38: f005 fa40 bl 70005ebc GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; 70000a3c: f04f 0e08 mov.w lr, #8 70000a40: f44f 1304 mov.w r3, #2162688 @ 0x210000 HAL_GPIO_Init(TP_IRQ_GPIO_Port, &GPIO_InitStruct); 70000a44: a909 add r1, sp, #36 @ 0x24 70000a46: 483e ldr r0, [pc, #248] @ (70000b40 ) GPIO_InitStruct.Pull = GPIO_PULLDOWN; 70000a48: 970b str r7, [sp, #44] @ 0x2c GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; 70000a4a: e9cd e309 strd lr, r3, [sp, #36] @ 0x24 HAL_GPIO_Init(TP_IRQ_GPIO_Port, &GPIO_InitStruct); 70000a4e: f005 fa35 bl 70005ebc HAL_GPIO_Init(LCD_BL_CTRL_GPIO_Port, &GPIO_InitStruct); 70000a52: a909 add r1, sp, #36 @ 0x24 70000a54: 483b ldr r0, [pc, #236] @ (70000b44 ) GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 70000a56: e9cd 8609 strd r8, r6, [sp, #36] @ 0x24 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 70000a5a: e9cd 550b strd r5, r5, [sp, #44] @ 0x2c HAL_GPIO_Init(LCD_BL_CTRL_GPIO_Port, &GPIO_InitStruct); 70000a5e: f005 fa2d bl 70005ebc HAL_GPIO_Init(MIC_DET_GPIO_Port, &GPIO_InitStruct); 70000a62: a909 add r1, sp, #36 @ 0x24 70000a64: 4838 ldr r0, [pc, #224] @ (70000b48 ) hltdc.Init.AccumulatedActiveH = 492; 70000a66: f44f 784b mov.w r8, #812 @ 0x32c GPIO_InitStruct.Pull = GPIO_PULLUP; 70000a6a: 960b str r6, [sp, #44] @ 0x2c GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 70000a6c: e9cd 7509 strd r7, r5, [sp, #36] @ 0x24 HAL_GPIO_Init(MIC_DET_GPIO_Port, &GPIO_InitStruct); 70000a70: f005 fa24 bl 70005ebc HAL_NVIC_SetPriority(TP_IRQ_EXTI_IRQn, 5, 0); 70000a74: 462a mov r2, r5 70000a76: 2105 movs r1, #5 70000a78: 2013 movs r0, #19 70000a7a: f003 ff27 bl 700048cc HAL_NVIC_EnableIRQ(TP_IRQ_EXTI_IRQn); 70000a7e: 2013 movs r0, #19 70000a80: f003 ff56 bl 70004930 __HAL_RCC_HPDMA1_CLK_ENABLE(); 70000a84: f8d4 3134 ldr.w r3, [r4, #308] @ 0x134 HAL_NVIC_SetPriority(HPDMA1_Channel0_IRQn, 5, 0); 70000a88: 462a mov r2, r5 70000a8a: 2105 movs r1, #5 __HAL_RCC_HPDMA1_CLK_ENABLE(); 70000a8c: 4333 orrs r3, r6 HAL_NVIC_SetPriority(HPDMA1_Channel0_IRQn, 5, 0); 70000a8e: 2040 movs r0, #64 @ 0x40 __HAL_RCC_HPDMA1_CLK_ENABLE(); 70000a90: f8c4 3134 str.w r3, [r4, #308] @ 0x134 70000a94: f8d4 3134 ldr.w r3, [r4, #308] @ 0x134 70000a98: 9301 str r3, [sp, #4] 70000a9a: 9b01 ldr r3, [sp, #4] HAL_NVIC_SetPriority(HPDMA1_Channel0_IRQn, 5, 0); 70000a9c: f003 ff16 bl 700048cc HAL_NVIC_EnableIRQ(HPDMA1_Channel0_IRQn); 70000aa0: 2040 movs r0, #64 @ 0x40 70000aa2: f003 ff45 bl 70004930 HAL_NVIC_SetPriority(HPDMA1_Channel1_IRQn, 5, 0); 70000aa6: 462a mov r2, r5 70000aa8: 2105 movs r1, #5 70000aaa: 2041 movs r0, #65 @ 0x41 70000aac: f003 ff0e bl 700048cc HAL_NVIC_EnableIRQ(HPDMA1_Channel1_IRQn); 70000ab0: 2041 movs r0, #65 @ 0x41 70000ab2: f003 ff3d bl 70004930 __HAL_RCC_GPDMA1_CLK_ENABLE(); 70000ab6: f8d4 3138 ldr.w r3, [r4, #312] @ 0x138 HAL_NVIC_SetPriority(GPDMA1_Channel0_IRQn, 2, 0); 70000aba: 462a mov r2, r5 70000abc: 4639 mov r1, r7 __HAL_RCC_GPDMA1_CLK_ENABLE(); 70000abe: f043 0310 orr.w r3, r3, #16 HAL_NVIC_SetPriority(GPDMA1_Channel0_IRQn, 2, 0); 70000ac2: 2027 movs r0, #39 @ 0x27 __HAL_RCC_GPDMA1_CLK_ENABLE(); 70000ac4: f8c4 3138 str.w r3, [r4, #312] @ 0x138 70000ac8: f8d4 3138 ldr.w r3, [r4, #312] @ 0x138 70000acc: 9300 str r3, [sp, #0] 70000ace: 9b00 ldr r3, [sp, #0] HAL_NVIC_SetPriority(GPDMA1_Channel0_IRQn, 2, 0); 70000ad0: f003 fefc bl 700048cc HAL_NVIC_EnableIRQ(GPDMA1_Channel0_IRQn); 70000ad4: 2027 movs r0, #39 @ 0x27 70000ad6: f003 ff2b bl 70004930 LTDC_LayerCfgTypeDef pLayerCfg = {0}; 70000ada: 2234 movs r2, #52 @ 0x34 70000adc: 4629 mov r1, r5 70000ade: a809 add r0, sp, #36 @ 0x24 70000ae0: f03a fc20 bl 7003b324 hltdc.Instance = LTDC; 70000ae4: 4a19 ldr r2, [pc, #100] @ (70000b4c ) 70000ae6: 4b1a ldr r3, [pc, #104] @ (70000b50 ) hltdc.Init.TotalHeigh = 506; 70000ae8: f44f 714d mov.w r1, #820 @ 0x334 if (HAL_LTDC_Init(&hltdc) != HAL_OK) 70000aec: 4610 mov r0, r2 hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; 70000aee: 6115 str r5, [r2, #16] hltdc.Init.Backcolor.Blue = 0; 70000af0: 8695 strh r5, [r2, #52] @ 0x34 hltdc.Init.Backcolor.Red = 0; 70000af2: f882 5036 strb.w r5, [r2, #54] @ 0x36 hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; 70000af6: e9c2 3500 strd r3, r5, [r2] hltdc.Init.HorizontalSync = 4; 70000afa: 2304 movs r3, #4 hltdc.Init.VerticalSync = 4; 70000afc: e9c2 3305 strd r3, r3, [r2, #20] hltdc.Init.AccumulatedHBP = 12; 70000b00: 230c movs r3, #12 hltdc.Init.AccumulatedVBP = 12; 70000b02: e9c2 3307 strd r3, r3, [r2, #28] hltdc.Init.AccumulatedActiveH = 492; 70000b06: f44f 73f6 mov.w r3, #492 @ 0x1ec 70000b0a: e9c2 8309 strd r8, r3, [r2, #36] @ 0x24 hltdc.Init.TotalHeigh = 506; 70000b0e: f44f 73fd mov.w r3, #506 @ 0x1fa hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; 70000b12: e9c2 5502 strd r5, r5, [r2, #8] hltdc.Init.TotalHeigh = 506; 70000b16: e9c2 130b strd r1, r3, [r2, #44] @ 0x2c if (HAL_LTDC_Init(&hltdc) != HAL_OK) 70000b1a: f007 f979 bl 70007e10 70000b1e: 4602 mov r2, r0 70000b20: b1c0 cbz r0, 70000b54 \details Disables IRQ interrupts by setting special-purpose register PRIMASK. Can only be executed in Privileged modes. */ __STATIC_FORCEINLINE void __disable_irq(void) { __ASM volatile ("cpsid i" : : : "memory"); 70000b22: b672 cpsid i void Error_Handler(void) { /* USER CODE BEGIN Error_Handler_Debug */ /* User can add his own implementation to report the HAL error return state */ __disable_irq(); while (1) 70000b24: e7fe b.n 70000b24 70000b26: bf00 nop 70000b28: 0301001a .word 0x0301001a 70000b2c: 24060000 .word 0x24060000 70000b30: 24070000 .word 0x24070000 70000b34: e000ed00 .word 0xe000ed00 70000b38: 58024400 .word 0x58024400 70000b3c: 58021400 .word 0x58021400 70000b40: 58021000 .word 0x58021000 70000b44: 58021800 .word 0x58021800 70000b48: 58021c00 .word 0x58021c00 70000b4c: 240099e4 .word 0x240099e4 70000b50: 50001000 .word 0x50001000 pLayerCfg.WindowX1 = 800; 70000b54: f44f 7148 mov.w r1, #800 @ 0x320 pLayerCfg.WindowX0 = 0; 70000b58: 9009 str r0, [sp, #36] @ 0x24 pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA; 70000b5a: f44f 6c80 mov.w ip, #1024 @ 0x400 pLayerCfg.WindowY1 = 480; 70000b5e: f44f 73f0 mov.w r3, #480 @ 0x1e0 pLayerCfg.Backcolor.Blue = 0; 70000b62: f8ad 2054 strh.w r2, [sp, #84] @ 0x54 pLayerCfg.ImageHeight = 480; 70000b66: 9314 str r3, [sp, #80] @ 0x50 pLayerCfg.Backcolor.Red = 0; 70000b68: f88d 2056 strb.w r2, [sp, #86] @ 0x56 pLayerCfg.WindowY0 = 0; 70000b6c: e9cd 100a strd r1, r0, [sp, #40] @ 0x28 pLayerCfg.Alpha = 255; 70000b70: 20ff movs r0, #255 @ 0xff pLayerCfg.Alpha0 = 0; 70000b72: e9cd 020e strd r0, r2, [sp, #56] @ 0x38 pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA; 70000b76: 2005 movs r0, #5 pLayerCfg.ImageWidth = 800; 70000b78: e9cd 2112 strd r2, r1, [sp, #72] @ 0x48 pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA; 70000b7c: e9cd c010 strd ip, r0, [sp, #64] @ 0x40 if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) 70000b80: a909 add r1, sp, #36 @ 0x24 70000b82: 4882 ldr r0, [pc, #520] @ (70000d8c ) pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; 70000b84: e9cd 370c strd r3, r7, [sp, #48] @ 0x30 if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) 70000b88: f007 f9f6 bl 70007f78 70000b8c: 4603 mov r3, r0 70000b8e: b108 cbz r0, 70000b94 70000b90: b672 cpsid i while (1) 70000b92: e7fe b.n 70000b92 hcrc.Instance = CRC; 70000b94: 487e ldr r0, [pc, #504] @ (70000d90 ) 70000b96: 4a7f ldr r2, [pc, #508] @ (70000d94 ) hcrc.Init.DefaultPolynomialUse = DEFAULT_POLYNOMIAL_ENABLE; 70000b98: 8083 strh r3, [r0, #4] hcrc.Instance = CRC; 70000b9a: 6002 str r2, [r0, #0] hcrc.InputDataFormat = CRC_INPUTDATA_FORMAT_BYTES; 70000b9c: 6206 str r6, [r0, #32] hcrc.Init.OutputDataInversionMode = CRC_OUTPUTDATA_INVERSION_DISABLE; 70000b9e: e9c0 3305 strd r3, r3, [r0, #20] if (HAL_CRC_Init(&hcrc) != HAL_OK) 70000ba2: f003 ff47 bl 70004a34 70000ba6: 4603 mov r3, r0 70000ba8: b108 cbz r0, 70000bae 70000baa: b672 cpsid i while (1) 70000bac: e7fe b.n 70000bac hdma2d.Instance = DMA2D; 70000bae: 487a ldr r0, [pc, #488] @ (70000d98 ) hdma2d.Init.Mode = DMA2D_R2M; 70000bb0: f44f 3240 mov.w r2, #196608 @ 0x30000 70000bb4: 4f79 ldr r7, [pc, #484] @ (70000d9c ) hdma2d.Init.OutputOffset = 0; 70000bb6: e9c0 6302 strd r6, r3, [r0, #8] hdma2d.Init.Mode = DMA2D_R2M; 70000bba: e9c0 7200 strd r7, r2, [r0] if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) 70000bbe: f004 fa72 bl 700050a6 70000bc2: b108 cbz r0, 70000bc8 70000bc4: b672 cpsid i while (1) 70000bc6: e7fe b.n 70000bc6 hjpeg.Instance = JPEG; 70000bc8: 4a75 ldr r2, [pc, #468] @ (70000da0 ) 70000bca: 4b76 ldr r3, [pc, #472] @ (70000da4 ) if (HAL_JPEG_Init(&hjpeg) != HAL_OK) 70000bcc: 4610 mov r0, r2 hjpeg.Instance = JPEG; 70000bce: 6013 str r3, [r2, #0] if (HAL_JPEG_Init(&hjpeg) != HAL_OK) 70000bd0: f006 faaa bl 70007128 70000bd4: 4601 mov r1, r0 70000bd6: b108 cbz r0, 70000bdc 70000bd8: b672 cpsid i while (1) 70000bda: e7fe b.n 70000bda FLASH_OBProgramInitTypeDef pOBInit = {0}; 70000bdc: 222c movs r2, #44 @ 0x2c 70000bde: a809 add r0, sp, #36 @ 0x24 70000be0: f03a fba0 bl 7003b324 HAL_FLASHEx_OBGetConfig(&pOBInit); 70000be4: a809 add r0, sp, #36 @ 0x24 70000be6: f005 f939 bl 70005e5c (pOBInit.USERConfig1 & OB_XSPI1_HSLV_ENABLE) != OB_XSPI1_HSLV_ENABLE|| 70000bea: 9b0d ldr r3, [sp, #52] @ 0x34 70000bec: f403 7344 and.w r3, r3, #784 @ 0x310 if ((pOBInit.USERConfig1 & OB_IWDG_SW) != OB_IWDG_SW|| 70000bf0: f5b3 7f44 cmp.w r3, #784 @ 0x310 70000bf4: d102 bne.n 70000bfc (pOBInit.USERConfig1 & OB_XSPI2_HSLV_ENABLE) != OB_XSPI2_HSLV_ENABLE|| 70000bf6: 9b0e ldr r3, [sp, #56] @ 0x38 70000bf8: 059e lsls r6, r3, #22 70000bfa: d424 bmi.n 70000c46 if (HAL_FLASH_Unlock() != HAL_OK) 70000bfc: f004 ffcc bl 70005b98 70000c00: b108 cbz r0, 70000c06 70000c02: b672 cpsid i while (1) 70000c04: e7fe b.n 70000c04 if (HAL_FLASH_OB_Unlock() != HAL_OK) 70000c06: f004 ffe5 bl 70005bd4 70000c0a: b108 cbz r0, 70000c10 70000c0c: b672 cpsid i while (1) 70000c0e: e7fe b.n 70000c0e pOBInit.OptionType = OPTIONBYTE_USER; 70000c10: 2302 movs r3, #2 pOBInit.USERConfig1 = OB_IWDG_SW|OB_XSPI1_HSLV_ENABLE 70000c12: f241 0532 movw r5, #4146 @ 0x1032 if (HAL_FLASHEx_OBProgram(&pOBInit) != HAL_OK) 70000c16: a809 add r0, sp, #36 @ 0x24 pOBInit.OptionType = OPTIONBYTE_USER; 70000c18: 9309 str r3, [sp, #36] @ 0x24 pOBInit.USERConfig1 = OB_IWDG_SW|OB_XSPI1_HSLV_ENABLE 70000c1a: f44f 7344 mov.w r3, #784 @ 0x310 70000c1e: e9cd 530c strd r5, r3, [sp, #48] @ 0x30 pOBInit.USERConfig2 = OB_I2C_NI3C_I2C; 70000c22: f44f 7300 mov.w r3, #512 @ 0x200 70000c26: 930e str r3, [sp, #56] @ 0x38 if (HAL_FLASHEx_OBProgram(&pOBInit) != HAL_OK) 70000c28: f005 f832 bl 70005c90 70000c2c: b108 cbz r0, 70000c32 70000c2e: b672 cpsid i while (1) 70000c30: e7fe b.n 70000c30 if (HAL_FLASH_OB_Lock() != HAL_OK) 70000c32: f004 ffe5 bl 70005c00 70000c36: b108 cbz r0, 70000c3c 70000c38: b672 cpsid i while (1) 70000c3a: e7fe b.n 70000c3a if (HAL_FLASH_Lock() != HAL_OK) 70000c3c: f004 ffbe bl 70005bbc 70000c40: b108 cbz r0, 70000c46 70000c42: b672 cpsid i while (1) 70000c44: e7fe b.n 70000c44 hi2c1.Instance = I2C1; 70000c46: 4a58 ldr r2, [pc, #352] @ (70000da8 ) hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; 70000c48: 2701 movs r7, #1 hi2c1.Instance = I2C1; 70000c4a: 4b58 ldr r3, [pc, #352] @ (70000dac ) hi2c1.Init.OwnAddress1 = 0; 70000c4c: 4858 ldr r0, [pc, #352] @ (70000db0 ) hi2c1.Instance = I2C1; 70000c4e: 6013 str r3, [r2, #0] hi2c1.Init.OwnAddress1 = 0; 70000c50: 2300 movs r3, #0 70000c52: e9c2 0301 strd r0, r3, [r2, #4] if (HAL_I2C_Init(&hi2c1) != HAL_OK) 70000c56: 4610 mov r0, r2 hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; 70000c58: e9c2 7303 strd r7, r3, [r2, #12] hi2c1.Init.OwnAddress2Masks = I2C_OA2_NOMASK; 70000c5c: e9c2 3305 strd r3, r3, [r2, #20] hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; 70000c60: e9c2 3307 strd r3, r3, [r2, #28] if (HAL_I2C_Init(&hi2c1) != HAL_OK) 70000c64: f005 fbc0 bl 700063e8 70000c68: 4601 mov r1, r0 70000c6a: b108 cbz r0, 70000c70 70000c6c: b672 cpsid i while (1) 70000c6e: e7fe b.n 70000c6e if (HAL_I2CEx_ConfigAnalogFilter(&hi2c1, I2C_ANALOGFILTER_ENABLE) != HAL_OK) 70000c70: 484d ldr r0, [pc, #308] @ (70000da8 ) 70000c72: f005 fe52 bl 7000691a 70000c76: 4601 mov r1, r0 70000c78: b108 cbz r0, 70000c7e 70000c7a: b672 cpsid i while (1) 70000c7c: e7fe b.n 70000c7c if (HAL_I2CEx_ConfigDigitalFilter(&hi2c1, 0) != HAL_OK) 70000c7e: 484a ldr r0, [pc, #296] @ (70000da8 ) 70000c80: f005 fe71 bl 70006966 70000c84: b108 cbz r0, 70000c8a 70000c86: b672 cpsid i while (1) 70000c88: e7fe b.n 70000c88 hgpu2d.Instance = GPU2D; 70000c8a: 4a4a ldr r2, [pc, #296] @ (70000db4 ) 70000c8c: 4b4a ldr r3, [pc, #296] @ (70000db8 ) if (HAL_GPU2D_Init(&hgpu2d) != HAL_OK) 70000c8e: 4610 mov r0, r2 hgpu2d.Instance = GPU2D; 70000c90: 6013 str r3, [r2, #0] if (HAL_GPU2D_Init(&hgpu2d) != HAL_OK) 70000c92: f005 fa39 bl 70006108 70000c96: b108 cbz r0, 70000c9c 70000c98: b672 cpsid i while (1) 70000c9a: e7fe b.n 70000c9a if (HAL_ICACHE_Enable() != HAL_OK) 70000c9c: f006 f836 bl 70006d0c 70000ca0: b108 cbz r0, 70000ca6 70000ca2: b672 cpsid i while (1) 70000ca4: e7fe b.n 70000ca4 AdfHandle0.Instance = ADF1_Filter0; 70000ca6: 4e45 ldr r6, [pc, #276] @ (70000dbc ) AdfHandle0.Init.CommonParam.ProcClockDivider = 2; 70000ca8: 2302 movs r3, #2 70000caa: 4a45 ldr r2, [pc, #276] @ (70000dc0 ) AdfHandle0.Init.CommonParam.OutputClock.Divider = 4; 70000cac: 2120 movs r1, #32 AdfHandle0.Init.SerialInterface.Mode = MDF_SITF_NORMAL_SPI_MODE; 70000cae: f04f 0810 mov.w r8, #16 AdfHandle0.Init.CommonParam.OutputClock.Trigger.Activation = DISABLE; 70000cb2: 7530 strb r0, [r6, #20] AdfHandle0.Init.CommonParam.OutputClock.Activation = ENABLE; 70000cb4: 7237 strb r7, [r6, #8] AdfHandle0.Init.SerialInterface.Activation = ENABLE; 70000cb6: f886 7020 strb.w r7, [r6, #32] AdfHandle0.Init.CommonParam.ProcClockDivider = 2; 70000cba: e9c6 2300 strd r2, r3, [r6] AdfHandle0.Init.CommonParam.OutputClock.Divider = 4; 70000cbe: 2304 movs r3, #4 70000cc0: e9c6 1303 strd r1, r3, [r6, #12] AdfHandle0.Init.SerialInterface.Threshold = 31; 70000cc4: 231f movs r3, #31 AdfHandle0.Init.SerialInterface.ClockSource = MDF_SITF_CCK0_SOURCE; 70000cc6: e9c6 8009 strd r8, r0, [r6, #36] @ 0x24 if (HAL_MDF_Init(&AdfHandle0) != HAL_OK) 70000cca: 4630 mov r0, r6 AdfHandle0.Init.FilterBistream = MDF_BITSTREAM0_FALLING; 70000ccc: e9c6 370b strd r3, r7, [r6, #44] @ 0x2c if (HAL_MDF_Init(&AdfHandle0) != HAL_OK) 70000cd0: f007 fa30 bl 70008134 70000cd4: 4605 mov r5, r0 70000cd6: b108 cbz r0, 70000cdc 70000cd8: b672 cpsid i while (1) 70000cda: e7fe b.n 70000cda AdfFilterConfig0.DataSource = MDF_DATA_SOURCE_BSMX; 70000cdc: 4c39 ldr r4, [pc, #228] @ (70000dc4 ) AdfFilterConfig0.CicMode = MDF_ONE_FILTER_SINC4; 70000cde: 2340 movs r3, #64 @ 0x40 AdfFilterConfig0.DecimationRatio = 16; 70000ce0: e9c4 3802 strd r3, r8, [r4, #8] AdfFilterConfig0.Gain = 10; 70000ce4: 230a movs r3, #10 AdfFilterConfig0.ReshapeFilter.DecimationRatio = MDF_RSF_DECIMATION_RATIO_4; 70000ce6: 61a0 str r0, [r4, #24] AdfFilterConfig0.HighPassFilter.CutOffFrequency = MDF_HPF_CUTOFF_0_000625FPCM; 70000ce8: 6220 str r0, [r4, #32] AdfFilterConfig0.Gain = 10; 70000cea: 6123 str r3, [r4, #16] AdfFilterConfig0.SoundActivity.Activation = DISABLE; 70000cec: f884 0024 strb.w r0, [r4, #36] @ 0x24 AdfFilterConfig0.DiscardSamples = 0; 70000cf0: 65e0 str r0, [r4, #92] @ 0x5c AdfFilterConfig0.ReshapeFilter.Activation = ENABLE; 70000cf2: 7527 strb r7, [r4, #20] AdfFilterConfig0.HighPassFilter.Activation = ENABLE; 70000cf4: 7727 strb r7, [r4, #28] sDmaConfig.DataLength = AUDIO_SAMPLES * sizeof(int32_t); /* OCTETS */ 70000cf6: f44f 6700 mov.w r7, #2048 @ 0x800 AdfFilterConfig0.Delay = 0; 70000cfa: e9c4 0000 strd r0, r0, [r4] AdfFilterConfig0.FifoThreshold = MDF_FIFO_THRESHOLD_NOT_EMPTY; 70000cfe: e9c4 0015 strd r0, r0, [r4, #84] @ 0x54 MX_TouchGFX_Init(); 70000d02: f000 fcdf bl 700016c4 MX_TouchGFX_PreOSInit(); 70000d06: f000 fcdc bl 700016c2 memset(audio_fifo, 0, sizeof(audio_fifo)); 70000d0a: f44f 5200 mov.w r2, #8192 @ 0x2000 70000d0e: 4629 mov r1, r5 70000d10: 482d ldr r0, [pc, #180] @ (70000dc8 ) 70000d12: f03a fb07 bl 7003b324 fifo_write_idx = FIFO_SIZE / 2; 70000d16: 4b2d ldr r3, [pc, #180] @ (70000dcc ) 70000d18: f44f 6280 mov.w r2, #1024 @ 0x400 if (HAL_MDF_AcqStart_DMA(&AdfHandle0, &AdfFilterConfig0, &sDmaConfig) != HAL_OK) 70000d1c: 4630 mov r0, r6 70000d1e: 4621 mov r1, r4 fifo_write_idx = FIFO_SIZE / 2; 70000d20: 601a str r2, [r3, #0] fifo_read_idx = 0; 70000d22: 4b2b ldr r3, [pc, #172] @ (70000dd0 ) sDmaConfig.Address = (uint32_t)adf_buf; 70000d24: 4a2b ldr r2, [pc, #172] @ (70000dd4 ) fifo_read_idx = 0; 70000d26: 601d str r5, [r3, #0] sDmaConfig.Address = (uint32_t)adf_buf; 70000d28: 4b2b ldr r3, [pc, #172] @ (70000dd8 ) sDmaConfig.DataLength = AUDIO_SAMPLES * sizeof(int32_t); /* OCTETS */ 70000d2a: 6057 str r7, [r2, #4] sDmaConfig.Address = (uint32_t)adf_buf; 70000d2c: 6013 str r3, [r2, #0] sDmaConfig.MsbOnly = DISABLE; /* 32-bit/sample ; ENABLE si buffer int16 */ 70000d2e: 7215 strb r5, [r2, #8] if (HAL_MDF_AcqStart_DMA(&AdfHandle0, &AdfFilterConfig0, &sDmaConfig) != HAL_OK) 70000d30: f007 fa78 bl 70008224 70000d34: 4606 mov r6, r0 70000d36: b108 cbz r0, 70000d3c 70000d38: b672 cpsid i while (1) 70000d3a: e7fe b.n 70000d3a BSP_AUDIO_Init_t audioOutInit = { 70000d3c: 4d27 ldr r5, [pc, #156] @ (70000ddc ) 70000d3e: ac09 add r4, sp, #36 @ 0x24 70000d40: cd0f ldmia r5!, {r0, r1, r2, r3} 70000d42: c40f stmia r4!, {r0, r1, r2, r3} 70000d44: 682b ldr r3, [r5, #0] if (BSP_AUDIO_OUT_Init(0, &audioOutInit) != BSP_ERROR_NONE) 70000d46: a909 add r1, sp, #36 @ 0x24 70000d48: 4630 mov r0, r6 BSP_AUDIO_Init_t audioOutInit = { 70000d4a: 6023 str r3, [r4, #0] if (BSP_AUDIO_OUT_Init(0, &audioOutInit) != BSP_ERROR_NONE) 70000d4c: f009 fa42 bl 7000a1d4 70000d50: b108 cbz r0, 70000d56 70000d52: b672 cpsid i while (1) 70000d54: e7fe b.n 70000d54 if (BSP_AUDIO_OUT_Play(0, (uint8_t *)audio_out_buf, AUDIO_OUT_SAMPLES * sizeof(int16_t)) != BSP_ERROR_NONE) 70000d56: 463a mov r2, r7 70000d58: 4921 ldr r1, [pc, #132] @ (70000de0 ) 70000d5a: f009 f9a9 bl 7000a0b0 70000d5e: 4604 mov r4, r0 70000d60: b108 cbz r0, 70000d66 70000d62: b672 cpsid i while (1) 70000d64: e7fe b.n 70000d64 osKernelInitialize(); 70000d66: f00a fc21 bl 7000b5ac defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes); 70000d6a: 4a1e ldr r2, [pc, #120] @ (70000de4 ) 70000d6c: 4621 mov r1, r4 70000d6e: 481e ldr r0, [pc, #120] @ (70000de8 ) 70000d70: f00a fc52 bl 7000b618 70000d74: 4b1d ldr r3, [pc, #116] @ (70000dec ) TouchGFXTaskHandle = osThreadNew(TouchGFX_Task, NULL, &TouchGFXTask_attributes); 70000d76: 4a1e ldr r2, [pc, #120] @ (70000df0 ) 70000d78: 4621 mov r1, r4 defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes); 70000d7a: 6018 str r0, [r3, #0] TouchGFXTaskHandle = osThreadNew(TouchGFX_Task, NULL, &TouchGFXTask_attributes); 70000d7c: 481d ldr r0, [pc, #116] @ (70000df4 ) 70000d7e: f00a fc4b bl 7000b618 70000d82: 4b1d ldr r3, [pc, #116] @ (70000df8 ) 70000d84: 6018 str r0, [r3, #0] osKernelStart(); 70000d86: f00a fc27 bl 7000b5d8 while (1) 70000d8a: e7fe b.n 70000d8a 70000d8c: 240099e4 .word 0x240099e4 70000d90: 24009ccc .word 0x24009ccc 70000d94: 58024c00 .word 0x58024c00 70000d98: 24009c64 .word 0x24009c64 70000d9c: 52001000 .word 0x52001000 70000da0: 24009b7c .word 0x24009b7c 70000da4: 52003000 .word 0x52003000 70000da8: 24009bd4 .word 0x24009bd4 70000dac: 40005400 .word 0x40005400 70000db0: 00e063ff .word 0x00e063ff 70000db4: 24009c58 .word 0x24009c58 70000db8: 52014000 .word 0x52014000 70000dbc: 24009de8 .word 0x24009de8 70000dc0: 4002f080 .word 0x4002f080 70000dc4: 24009d80 .word 0x24009d80 70000dc8: 24060040 .word 0x24060040 70000dcc: 24009e48 .word 0x24009e48 70000dd0: 24009e44 .word 0x24009e44 70000dd4: 24009e4c .word 0x24009e4c 70000dd8: 24062840 .word 0x24062840 70000ddc: 7003ce28 .word 0x7003ce28 70000de0: 24062040 .word 0x24062040 70000de4: 7003eb44 .word 0x7003eb44 70000de8: 70000715 .word 0x70000715 70000dec: 240099e0 .word 0x240099e0 70000df0: 7003eb20 .word 0x7003eb20 70000df4: 700016d3 .word 0x700016d3 70000df8: 240099dc .word 0x240099dc 70000dfc : { 70000dfc: b538 push {r3, r4, r5, lr} 70000dfe: 4d05 ldr r5, [pc, #20] @ (70000e14 ) for (int i = 0; i < AUDIO_SAMPLES/2; i++) 70000e00: 2400 movs r4, #0 70000e02: 3401 adds r4, #1 push_to_fifo(adf_buf[i]); 70000e04: f855 0b04 ldr.w r0, [r5], #4 70000e08: f7ff fc8a bl 70000720 for (int i = 0; i < AUDIO_SAMPLES/2; i++) 70000e0c: f5b4 7f80 cmp.w r4, #256 @ 0x100 70000e10: d1f7 bne.n 70000e02 } 70000e12: bd38 pop {r3, r4, r5, pc} 70000e14: 24062840 .word 0x24062840 70000e18 : { 70000e18: b538 push {r3, r4, r5, lr} for (int i = AUDIO_SAMPLES/2; i < AUDIO_SAMPLES; i++) 70000e1a: f44f 7480 mov.w r4, #256 @ 0x100 push_to_fifo(adf_buf[i]); 70000e1e: 4d05 ldr r5, [pc, #20] @ (70000e34 ) 70000e20: f855 0024 ldr.w r0, [r5, r4, lsl #2] for (int i = AUDIO_SAMPLES/2; i < AUDIO_SAMPLES; i++) 70000e24: 3401 adds r4, #1 push_to_fifo(adf_buf[i]); 70000e26: f7ff fc7b bl 70000720 for (int i = AUDIO_SAMPLES/2; i < AUDIO_SAMPLES; i++) 70000e2a: f5b4 7f00 cmp.w r4, #512 @ 0x200 70000e2e: d1f7 bne.n 70000e20 } 70000e30: bd38 pop {r3, r4, r5, pc} 70000e32: bf00 nop 70000e34: 24062840 .word 0x24062840 70000e38 : pull_from_fifo(&audio_out_buf[0], AUDIO_OUT_SAMPLES/2 / 2); // /2 car stéréo 70000e38: 4801 ldr r0, [pc, #4] @ (70000e40 ) 70000e3a: f7ff bc91 b.w 70000760 70000e3e: bf00 nop 70000e40: 24062040 .word 0x24062040 70000e44 : pull_from_fifo(&audio_out_buf[AUDIO_OUT_SAMPLES/2], AUDIO_OUT_SAMPLES/2 / 2); 70000e44: 4801 ldr r0, [pc, #4] @ (70000e4c ) 70000e46: f7ff bc8b b.w 70000760 70000e4a: bf00 nop 70000e4c: 24062440 .word 0x24062440 70000e50 : { 70000e50: b500 push {lr} 70000e52: b0a3 sub sp, #140 @ 0x8c RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; 70000e54: 2280 movs r2, #128 @ 0x80 70000e56: 2100 movs r1, #0 70000e58: a802 add r0, sp, #8 70000e5a: f03a fa63 bl 7003b324 PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SPI6; 70000e5e: f04f 6380 mov.w r3, #67108864 @ 0x4000000 return HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct); 70000e62: a801 add r0, sp, #4 PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SPI6; 70000e64: 9301 str r3, [sp, #4] PeriphClkInitStruct.Spi6ClockSelection = RCC_SPI6CLKSOURCE_PLL2Q; 70000e66: 2310 movs r3, #16 70000e68: 931a str r3, [sp, #104] @ 0x68 return HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct); 70000e6a: f007 fd5f bl 7000892c } 70000e6e: b023 add sp, #140 @ 0x8c 70000e70: bd00 pop {pc} ... 70000e74 : if (htim->Instance == TIM6) { 70000e74: 6802 ldr r2, [r0, #0] 70000e76: 4b03 ldr r3, [pc, #12] @ (70000e84 ) 70000e78: 429a cmp r2, r3 70000e7a: d101 bne.n 70000e80 HAL_IncTick(); 70000e7c: f003 bd02 b.w 70004884 } 70000e80: 4770 bx lr 70000e82: bf00 nop 70000e84: 40001000 .word 0x40001000 70000e88 : 70000e88: b672 cpsid i while (1) 70000e8a: e7fe b.n 70000e8a 70000e8c : /* USER CODE END MspInit 0 */ /* System interrupt init*/ /* PendSV_IRQn interrupt configuration */ HAL_NVIC_SetPriority(PendSV_IRQn, 15, 0); 70000e8c: 2200 movs r2, #0 70000e8e: 210f movs r1, #15 70000e90: f06f 0001 mvn.w r0, #1 70000e94: f003 bd1a b.w 700048cc 70000e98 : * This function configures the hardware resources used in this example * @param hmdf: MDF handle pointer * @retval None */ void HAL_MDF_MspInit(MDF_HandleTypeDef* hmdf) { 70000e98: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70000e9c: b0c4 sub sp, #272 @ 0x110 70000e9e: 4605 mov r5, r0 GPIO_InitTypeDef GPIO_InitStruct = {0}; 70000ea0: 2214 movs r2, #20 70000ea2: 2100 movs r1, #0 70000ea4: a803 add r0, sp, #12 70000ea6: f03a fa3d bl 7003b324 DMA_NodeConfTypeDef NodeConfig; RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; 70000eaa: 2284 movs r2, #132 @ 0x84 70000eac: 2100 movs r1, #0 70000eae: a823 add r0, sp, #140 @ 0x8c 70000eb0: f03a fa38 bl 7003b324 if(IS_MDF_ALL_INSTANCE(hmdf->Instance)) 70000eb4: 682a ldr r2, [r5, #0] 70000eb6: 4b53 ldr r3, [pc, #332] @ (70001004 ) 70000eb8: 429a cmp r2, r3 70000eba: f040 809f bne.w 70000ffc /* USER CODE END ADF1_MspInit 0 */ /** Initializes the peripherals clock */ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADF1; 70000ebe: 2320 movs r3, #32 PeriphClkInit.Adf1ClockSelection = RCC_ADF1CLKSOURCE_PLL2P; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 70000ec0: a823 add r0, sp, #140 @ 0x8c PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADF1; 70000ec2: 9323 str r3, [sp, #140] @ 0x8c PeriphClkInit.Adf1ClockSelection = RCC_ADF1CLKSOURCE_PLL2P; 70000ec4: f44f 1380 mov.w r3, #1048576 @ 0x100000 70000ec8: 9329 str r3, [sp, #164] @ 0xa4 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 70000eca: f007 fd2f bl 7000892c 70000ece: b108 cbz r0, 70000ed4 { Error_Handler(); 70000ed0: f7ff ffda bl 70000e88 } /* Peripheral clock enable */ __HAL_RCC_ADF1_CLK_ENABLE(); 70000ed4: 4b4c ldr r3, [pc, #304] @ (70001008 ) PD6 ------> ADF1_SDI0 */ GPIO_InitStruct.Pin = ADF1_CK_Pin; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; // était LOW : bien trop lent pour piloter proprement une horloge à 6-12MHz+ vers le micro PDM 70000ed6: 2400 movs r4, #0 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 70000ed8: 2702 movs r7, #2 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; // était LOW : bien trop lent pour piloter proprement une horloge à 6-12MHz+ vers le micro PDM 70000eda: f04f 0803 mov.w r8, #3 __HAL_RCC_ADF1_CLK_ENABLE(); 70000ede: f8d3 2138 ldr.w r2, [r3, #312] @ 0x138 GPIO_InitStruct.Alternate = GPIO_AF1_ADF1; 70000ee2: 2601 movs r6, #1 HAL_GPIO_Init(ADF1_CK_GPIO_Port, &GPIO_InitStruct); 70000ee4: 4849 ldr r0, [pc, #292] @ (7000100c ) __HAL_RCC_ADF1_CLK_ENABLE(); 70000ee6: f042 4200 orr.w r2, r2, #2147483648 @ 0x80000000 70000eea: f8c3 2138 str.w r2, [r3, #312] @ 0x138 70000eee: 466a mov r2, sp 70000ef0: f8d3 1138 ldr.w r1, [r3, #312] @ 0x138 70000ef4: 9100 str r1, [sp, #0] 70000ef6: 6812 ldr r2, [r2, #0] __HAL_RCC_GPIOE_CLK_ENABLE(); 70000ef8: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 70000efc: f042 0210 orr.w r2, r2, #16 70000f00: f8c3 2140 str.w r2, [r3, #320] @ 0x140 70000f04: f8d3 1140 ldr.w r1, [r3, #320] @ 0x140 70000f08: 9101 str r1, [sp, #4] HAL_GPIO_Init(ADF1_CK_GPIO_Port, &GPIO_InitStruct); 70000f0a: a903 add r1, sp, #12 __HAL_RCC_GPIOE_CLK_ENABLE(); 70000f0c: 9a01 ldr r2, [sp, #4] __HAL_RCC_GPIOD_CLK_ENABLE(); 70000f0e: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 70000f12: f042 0208 orr.w r2, r2, #8 70000f16: f8c3 2140 str.w r2, [r3, #320] @ 0x140 70000f1a: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 GPIO_InitStruct.Alternate = GPIO_AF1_ADF1; 70000f1e: 9607 str r6, [sp, #28] __HAL_RCC_GPIOD_CLK_ENABLE(); 70000f20: 9202 str r2, [sp, #8] 70000f22: 9b02 ldr r3, [sp, #8] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 70000f24: 2304 movs r3, #4 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; // était LOW : bien trop lent pour piloter proprement une horloge à 6-12MHz+ vers le micro PDM 70000f26: e9cd 4805 strd r4, r8, [sp, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 70000f2a: e9cd 3703 strd r3, r7, [sp, #12] HAL_GPIO_Init(ADF1_CK_GPIO_Port, &GPIO_InitStruct); 70000f2e: f004 ffc5 bl 70005ebc GPIO_InitStruct.Pin = ADF1_D_Pin; 70000f32: 2340 movs r3, #64 @ 0x40 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF3_ADF1; HAL_GPIO_Init(ADF1_D_GPIO_Port, &GPIO_InitStruct); 70000f34: a903 add r1, sp, #12 70000f36: 4836 ldr r0, [pc, #216] @ (70001010 ) GPIO_InitStruct.Alternate = GPIO_AF3_ADF1; 70000f38: f8cd 801c str.w r8, [sp, #28] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 70000f3c: e9cd 3703 strd r3, r7, [sp, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 70000f40: e9cd 4405 strd r4, r4, [sp, #20] HAL_GPIO_Init(ADF1_D_GPIO_Port, &GPIO_InitStruct); 70000f44: f004 ffba bl 70005ebc /* ADF1 DMA Init */ /* GPDMA1_REQUEST_ADF1_FLT0 Init */ NodeConfig.NodeType = DMA_GPDMA_LINEAR_NODE; NodeConfig.Init.Request = GPDMA1_REQUEST_ADF1_FLT0; 70000f48: 2021 movs r0, #33 @ 0x21 70000f4a: 2361 movs r3, #97 @ 0x61 NodeConfig.Init.TransferEventMode = DMA_TCEM_BLOCK_TRANSFER; NodeConfig.Init.Mode = DMA_NORMAL; NodeConfig.TriggerConfig.TriggerPolarity = DMA_TRIG_POLARITY_MASKED; NodeConfig.DataHandlingConfig.DataExchange = DMA_EXCHANGE_NONE; NodeConfig.DataHandlingConfig.DataAlignment = DMA_DATA_RIGHTALIGN_ZEROPADDED; if (HAL_DMAEx_List_BuildNode(&NodeConfig, &Node_GPDMA1_Channel0) != HAL_OK) 70000f4c: 4931 ldr r1, [pc, #196] @ (70001014 ) NodeConfig.Init.SrcInc = DMA_SINC_FIXED; 70000f4e: 940c str r4, [sp, #48] @ 0x30 NodeConfig.Init.Mode = DMA_NORMAL; 70000f50: 9415 str r4, [sp, #84] @ 0x54 NodeConfig.TriggerConfig.TriggerPolarity = DMA_TRIG_POLARITY_MASKED; 70000f52: 9419 str r4, [sp, #100] @ 0x64 NodeConfig.Init.Request = GPDMA1_REQUEST_ADF1_FLT0; 70000f54: e9cd 0308 strd r0, r3, [sp, #32] NodeConfig.Init.DestInc = DMA_DINC_INCREMENTED; 70000f58: f44f 2300 mov.w r3, #524288 @ 0x80000 if (HAL_DMAEx_List_BuildNode(&NodeConfig, &Node_GPDMA1_Channel0) != HAL_OK) 70000f5c: a808 add r0, sp, #32 NodeConfig.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_WORD; 70000f5e: e9cd 370d strd r3, r7, [sp, #52] @ 0x34 NodeConfig.Init.DestDataWidth = DMA_DEST_DATAWIDTH_WORD; 70000f62: f44f 3300 mov.w r3, #131072 @ 0x20000 70000f66: 930f str r3, [sp, #60] @ 0x3c NodeConfig.Init.TransferAllocatedPort = DMA_SRC_ALLOCATED_PORT0|DMA_DEST_ALLOCATED_PORT1; 70000f68: f04f 4380 mov.w r3, #1073741824 @ 0x40000000 NodeConfig.Init.Direction = DMA_PERIPH_TO_MEMORY; 70000f6c: e9cd 440a strd r4, r4, [sp, #40] @ 0x28 NodeConfig.Init.DestBurstLength = 1; 70000f70: e9cd 6611 strd r6, r6, [sp, #68] @ 0x44 NodeConfig.Init.TransferEventMode = DMA_TCEM_BLOCK_TRANSFER; 70000f74: e9cd 3413 strd r3, r4, [sp, #76] @ 0x4c NodeConfig.DataHandlingConfig.DataAlignment = DMA_DATA_RIGHTALIGN_ZEROPADDED; 70000f78: e9cd 4416 strd r4, r4, [sp, #88] @ 0x58 if (HAL_DMAEx_List_BuildNode(&NodeConfig, &Node_GPDMA1_Channel0) != HAL_OK) 70000f7c: f004 fb5a bl 70005634 70000f80: b108 cbz r0, 70000f86 { Error_Handler(); 70000f82: f7ff ff81 bl 70000e88 } if (HAL_DMAEx_List_InsertNode(&List_GPDMA1_Channel0, NULL, &Node_GPDMA1_Channel0) != HAL_OK) 70000f86: 4a23 ldr r2, [pc, #140] @ (70001014 ) 70000f88: 2100 movs r1, #0 70000f8a: 4823 ldr r0, [pc, #140] @ (70001018 ) 70000f8c: f004 fbf0 bl 70005770 70000f90: b108 cbz r0, 70000f96 { Error_Handler(); 70000f92: f7ff ff79 bl 70000e88 } if (HAL_DMAEx_List_SetCircularMode(&List_GPDMA1_Channel0) != HAL_OK) 70000f96: 4820 ldr r0, [pc, #128] @ (70001018 ) 70000f98: f004 fd36 bl 70005a08 70000f9c: b108 cbz r0, 70000fa2 { Error_Handler(); 70000f9e: f7ff ff73 bl 70000e88 } handle_GPDMA1_Channel0.Instance = GPDMA1_Channel0; 70000fa2: 4c1e ldr r4, [pc, #120] @ (7000101c ) handle_GPDMA1_Channel0.InitLinkedList.Priority = DMA_HIGH_PRIORITY; handle_GPDMA1_Channel0.InitLinkedList.LinkStepMode = DMA_LSM_FULL_EXECUTION; 70000fa4: f44f 0140 mov.w r1, #12582912 @ 0xc00000 handle_GPDMA1_Channel0.Instance = GPDMA1_Channel0; 70000fa8: 4b1d ldr r3, [pc, #116] @ (70001020 ) handle_GPDMA1_Channel0.InitLinkedList.LinkAllocatedPort = DMA_LINK_ALLOCATED_PORT1; 70000faa: f44f 3200 mov.w r2, #131072 @ 0x20000 handle_GPDMA1_Channel0.InitLinkedList.TransferEventMode = DMA_TCEM_BLOCK_TRANSFER; handle_GPDMA1_Channel0.InitLinkedList.LinkedListMode = DMA_LINKEDLIST_CIRCULAR; if (HAL_DMAEx_List_Init(&handle_GPDMA1_Channel0) != HAL_OK) 70000fae: 4620 mov r0, r4 handle_GPDMA1_Channel0.Instance = GPDMA1_Channel0; 70000fb0: 6023 str r3, [r4, #0] handle_GPDMA1_Channel0.InitLinkedList.LinkStepMode = DMA_LSM_FULL_EXECUTION; 70000fb2: 2300 movs r3, #0 70000fb4: e9c4 130e strd r1, r3, [r4, #56] @ 0x38 handle_GPDMA1_Channel0.InitLinkedList.TransferEventMode = DMA_TCEM_BLOCK_TRANSFER; 70000fb8: e9c4 2310 strd r2, r3, [r4, #64] @ 0x40 handle_GPDMA1_Channel0.InitLinkedList.LinkedListMode = DMA_LINKEDLIST_CIRCULAR; 70000fbc: 2381 movs r3, #129 @ 0x81 70000fbe: 64a3 str r3, [r4, #72] @ 0x48 if (HAL_DMAEx_List_Init(&handle_GPDMA1_Channel0) != HAL_OK) 70000fc0: f004 f9ba bl 70005338 70000fc4: b108 cbz r0, 70000fca { Error_Handler(); 70000fc6: f7ff ff5f bl 70000e88 } if (HAL_DMAEx_List_LinkQ(&handle_GPDMA1_Channel0, &List_GPDMA1_Channel0) != HAL_OK) 70000fca: 4913 ldr r1, [pc, #76] @ (70001018 ) 70000fcc: 4813 ldr r0, [pc, #76] @ (7000101c ) 70000fce: f004 fd7b bl 70005ac8 70000fd2: b108 cbz r0, 70000fd8 { Error_Handler(); 70000fd4: f7ff ff58 bl 70000e88 } __HAL_LINKDMA(hmdf, hdma, handle_GPDMA1_Channel0); 70000fd8: 636c str r4, [r5, #52] @ 0x34 if (HAL_DMA_ConfigChannelAttributes(&handle_GPDMA1_Channel0, DMA_CHANNEL_NPRIV) != HAL_OK) 70000fda: f04f 7180 mov.w r1, #16777216 @ 0x1000000 70000fde: 480f ldr r0, [pc, #60] @ (7000101c ) __HAL_LINKDMA(hmdf, hdma, handle_GPDMA1_Channel0); 70000fe0: 65e5 str r5, [r4, #92] @ 0x5c if (HAL_DMA_ConfigChannelAttributes(&handle_GPDMA1_Channel0, DMA_CHANNEL_NPRIV) != HAL_OK) 70000fe2: f004 f842 bl 7000506a 70000fe6: b108 cbz r0, 70000fec { Error_Handler(); 70000fe8: f7ff ff4e bl 70000e88 } /* ADF1 interrupt Init */ HAL_NVIC_SetPriority(ADF1_FLT0_IRQn, 2, 0); 70000fec: 207e movs r0, #126 @ 0x7e 70000fee: 2200 movs r2, #0 70000ff0: 2102 movs r1, #2 70000ff2: f003 fc6b bl 700048cc HAL_NVIC_EnableIRQ(ADF1_FLT0_IRQn); 70000ff6: 207e movs r0, #126 @ 0x7e 70000ff8: f003 fc9a bl 70004930 /* USER CODE END ADF1_MspInit 1 */ } } 70000ffc: b044 add sp, #272 @ 0x110 70000ffe: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 70001002: bf00 nop 70001004: 4002f080 .word 0x4002f080 70001008: 58024400 .word 0x58024400 7000100c: 58021000 .word 0x58021000 70001010: 58020c00 .word 0x58020c00 70001014: 24060000 .word 0x24060000 70001018: 24009d68 .word 0x24009d68 7000101c: 24009cf0 .word 0x24009cf0 70001020: 40021050 .word 0x40021050 70001024 : * @param hcrc: CRC handle pointer * @retval None */ void HAL_CRC_MspInit(CRC_HandleTypeDef* hcrc) { if(hcrc->Instance==CRC) 70001024: 6802 ldr r2, [r0, #0] { 70001026: b082 sub sp, #8 if(hcrc->Instance==CRC) 70001028: 4b08 ldr r3, [pc, #32] @ (7000104c ) 7000102a: 429a cmp r2, r3 7000102c: d10b bne.n 70001046 { /* USER CODE BEGIN CRC_MspInit 0 */ /* USER CODE END CRC_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_CRC_CLK_ENABLE(); 7000102e: f5a3 6300 sub.w r3, r3, #2048 @ 0x800 70001032: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 70001036: f442 2200 orr.w r2, r2, #524288 @ 0x80000 7000103a: f8c3 2140 str.w r2, [r3, #320] @ 0x140 7000103e: f8d3 3140 ldr.w r3, [r3, #320] @ 0x140 70001042: 9301 str r3, [sp, #4] 70001044: 9b01 ldr r3, [sp, #4] /* USER CODE END CRC_MspInit 1 */ } } 70001046: b002 add sp, #8 70001048: 4770 bx lr 7000104a: bf00 nop 7000104c: 58024c00 .word 0x58024c00 70001050 : * @param hdma2d: DMA2D handle pointer * @retval None */ void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* hdma2d) { if(hdma2d->Instance==DMA2D) 70001050: 6802 ldr r2, [r0, #0] { 70001052: b082 sub sp, #8 if(hdma2d->Instance==DMA2D) 70001054: 4b0a ldr r3, [pc, #40] @ (70001080 ) 70001056: 429a cmp r2, r3 70001058: d110 bne.n 7000107c { /* USER CODE BEGIN DMA2D_MspInit 0 */ /* USER CODE END DMA2D_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_DMA2D_CLK_ENABLE(); 7000105a: 4b0a ldr r3, [pc, #40] @ (70001084 ) /* DMA2D interrupt Init */ HAL_NVIC_SetPriority(DMA2D_IRQn, 5, 0); 7000105c: 2105 movs r1, #5 7000105e: 2062 movs r0, #98 @ 0x62 __HAL_RCC_DMA2D_CLK_ENABLE(); 70001060: f8d3 2134 ldr.w r2, [r3, #308] @ 0x134 70001064: f042 0202 orr.w r2, r2, #2 70001068: f8c3 2134 str.w r2, [r3, #308] @ 0x134 HAL_NVIC_SetPriority(DMA2D_IRQn, 5, 0); 7000106c: 2200 movs r2, #0 __HAL_RCC_DMA2D_CLK_ENABLE(); 7000106e: f8d3 3134 ldr.w r3, [r3, #308] @ 0x134 70001072: 9301 str r3, [sp, #4] 70001074: 9b01 ldr r3, [sp, #4] /* USER CODE END DMA2D_MspInit 1 */ } } 70001076: b002 add sp, #8 HAL_NVIC_SetPriority(DMA2D_IRQn, 5, 0); 70001078: f003 bc28 b.w 700048cc } 7000107c: b002 add sp, #8 7000107e: 4770 bx lr 70001080: 52001000 .word 0x52001000 70001084: 58024400 .word 0x58024400 70001088 : * @param hgpu2d: GPU2D handle pointer * @retval None */ void HAL_GPU2D_MspInit(GPU2D_HandleTypeDef* hgpu2d) { if(hgpu2d->Instance==GPU2D) 70001088: 4b12 ldr r3, [pc, #72] @ (700010d4 ) { 7000108a: b507 push {r0, r1, r2, lr} if(hgpu2d->Instance==GPU2D) 7000108c: 6802 ldr r2, [r0, #0] 7000108e: 429a cmp r2, r3 70001090: d11d bne.n 700010ce { /* USER CODE BEGIN GPU2D_MspInit 0 */ /* USER CODE END GPU2D_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_GPU2D_CLK_ENABLE(); 70001092: 4b11 ldr r3, [pc, #68] @ (700010d8 ) /* GPU2D interrupt Init */ HAL_NVIC_SetPriority(GPU2D_IRQn, 5, 0); 70001094: 2105 movs r1, #5 70001096: 2095 movs r0, #149 @ 0x95 __HAL_RCC_GPU2D_CLK_ENABLE(); 70001098: f8d3 2134 ldr.w r2, [r3, #308] @ 0x134 7000109c: f442 1280 orr.w r2, r2, #1048576 @ 0x100000 700010a0: f8c3 2134 str.w r2, [r3, #308] @ 0x134 HAL_NVIC_SetPriority(GPU2D_IRQn, 5, 0); 700010a4: 2200 movs r2, #0 __HAL_RCC_GPU2D_CLK_ENABLE(); 700010a6: f8d3 3134 ldr.w r3, [r3, #308] @ 0x134 700010aa: 9301 str r3, [sp, #4] 700010ac: 9b01 ldr r3, [sp, #4] HAL_NVIC_SetPriority(GPU2D_IRQn, 5, 0); 700010ae: f003 fc0d bl 700048cc HAL_NVIC_EnableIRQ(GPU2D_IRQn); 700010b2: 2095 movs r0, #149 @ 0x95 700010b4: f003 fc3c bl 70004930 HAL_NVIC_SetPriority(GPU2D_ER_IRQn, 5, 0); 700010b8: 2200 movs r2, #0 700010ba: 2105 movs r1, #5 700010bc: 2096 movs r0, #150 @ 0x96 700010be: f003 fc05 bl 700048cc HAL_NVIC_EnableIRQ(GPU2D_ER_IRQn); 700010c2: 2096 movs r0, #150 @ 0x96 /* USER CODE END GPU2D_MspInit 1 */ } } 700010c4: b003 add sp, #12 700010c6: f85d eb04 ldr.w lr, [sp], #4 HAL_NVIC_EnableIRQ(GPU2D_ER_IRQn); 700010ca: f003 bc31 b.w 70004930 } 700010ce: b003 add sp, #12 700010d0: bd00 pop {pc} 700010d2: bf00 nop 700010d4: 52014000 .word 0x52014000 700010d8: 58024400 .word 0x58024400 700010dc : * This function configures the hardware resources used in this example * @param hi2c: I2C handle pointer * @retval None */ void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c) { 700010dc: b510 push {r4, lr} 700010de: b0a8 sub sp, #160 @ 0xa0 700010e0: 4604 mov r4, r0 GPIO_InitTypeDef GPIO_InitStruct = {0}; 700010e2: 2214 movs r2, #20 700010e4: 2100 movs r1, #0 700010e6: a802 add r0, sp, #8 700010e8: f03a f91c bl 7003b324 RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; 700010ec: 2284 movs r2, #132 @ 0x84 700010ee: 2100 movs r1, #0 700010f0: a807 add r0, sp, #28 700010f2: f03a f917 bl 7003b324 if(hi2c->Instance==I2C1) 700010f6: 6822 ldr r2, [r4, #0] 700010f8: 4b18 ldr r3, [pc, #96] @ (7000115c ) 700010fa: 429a cmp r2, r3 700010fc: d12b bne.n 70001156 /* USER CODE END I2C1_MspInit 0 */ /** Initializes the peripherals clock */ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1_I3C1; 700010fe: f44f 6300 mov.w r3, #2048 @ 0x800 PeriphClkInit.I2c1_I3c1ClockSelection = RCC_I2C1_I3C1CLKSOURCE_PCLK1; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 70001102: a807 add r0, sp, #28 PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1_I3C1; 70001104: 9307 str r3, [sp, #28] if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 70001106: f007 fc11 bl 7000892c 7000110a: b108 cbz r0, 70001110 { Error_Handler(); 7000110c: f7ff febc bl 70000e88 } __HAL_RCC_GPIOB_CLK_ENABLE(); 70001110: 4c13 ldr r4, [pc, #76] @ (70001160 ) /**I2C1 GPIO Configuration PB9 ------> I2C1_SDA PB6 ------> I2C1_SCL */ GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_6; GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; 70001112: f44f 7210 mov.w r2, #576 @ 0x240 GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF4_I2C1; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 70001116: a902 add r1, sp, #8 70001118: 4812 ldr r0, [pc, #72] @ (70001164 ) __HAL_RCC_GPIOB_CLK_ENABLE(); 7000111a: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 7000111e: f043 0302 orr.w r3, r3, #2 70001122: f8c4 3140 str.w r3, [r4, #320] @ 0x140 70001126: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 7000112a: 9300 str r3, [sp, #0] 7000112c: 9b00 ldr r3, [sp, #0] GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; 7000112e: 2312 movs r3, #18 70001130: e9cd 2302 strd r2, r3, [sp, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 70001134: 2300 movs r3, #0 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 70001136: e9cd 3304 strd r3, r3, [sp, #16] GPIO_InitStruct.Alternate = GPIO_AF4_I2C1; 7000113a: 2304 movs r3, #4 7000113c: 9306 str r3, [sp, #24] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 7000113e: f004 febd bl 70005ebc /* Peripheral clock enable */ __HAL_RCC_I2C1_CLK_ENABLE(); 70001142: f8d4 3148 ldr.w r3, [r4, #328] @ 0x148 70001146: f443 1300 orr.w r3, r3, #2097152 @ 0x200000 7000114a: f8c4 3148 str.w r3, [r4, #328] @ 0x148 7000114e: f8d4 3148 ldr.w r3, [r4, #328] @ 0x148 70001152: 9301 str r3, [sp, #4] 70001154: 9b01 ldr r3, [sp, #4] /* USER CODE END I2C1_MspInit 1 */ } } 70001156: b028 add sp, #160 @ 0xa0 70001158: bd10 pop {r4, pc} 7000115a: bf00 nop 7000115c: 40005400 .word 0x40005400 70001160: 58024400 .word 0x58024400 70001164: 58020400 .word 0x58020400 70001168 : * @param hi2c: I2C handle pointer * @retval None */ void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c) { if(hi2c->Instance==I2C1) 70001168: 6802 ldr r2, [r0, #0] { 7000116a: b508 push {r3, lr} if(hi2c->Instance==I2C1) 7000116c: 4b0a ldr r3, [pc, #40] @ (70001198 ) 7000116e: 429a cmp r2, r3 70001170: d111 bne.n 70001196 { /* USER CODE BEGIN I2C1_MspDeInit 0 */ /* USER CODE END I2C1_MspDeInit 0 */ /* Peripheral clock disable */ __HAL_RCC_I2C1_CLK_DISABLE(); 70001172: 4a0a ldr r2, [pc, #40] @ (7000119c ) /**I2C1 GPIO Configuration PB9 ------> I2C1_SDA PB6 ------> I2C1_SCL */ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_9); 70001174: f44f 7100 mov.w r1, #512 @ 0x200 70001178: 4809 ldr r0, [pc, #36] @ (700011a0 ) __HAL_RCC_I2C1_CLK_DISABLE(); 7000117a: f8d2 3148 ldr.w r3, [r2, #328] @ 0x148 7000117e: f423 1300 bic.w r3, r3, #2097152 @ 0x200000 70001182: f8c2 3148 str.w r3, [r2, #328] @ 0x148 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_9); 70001186: f004 ff3d bl 70006004 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6); 7000118a: 2140 movs r1, #64 @ 0x40 7000118c: 4804 ldr r0, [pc, #16] @ (700011a0 ) /* USER CODE BEGIN I2C1_MspDeInit 1 */ /* USER CODE END I2C1_MspDeInit 1 */ } } 7000118e: e8bd 4008 ldmia.w sp!, {r3, lr} HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6); 70001192: f004 bf37 b.w 70006004 } 70001196: bd08 pop {r3, pc} 70001198: 40005400 .word 0x40005400 7000119c: 58024400 .word 0x58024400 700011a0: 58020400 .word 0x58020400 700011a4 : * This function configures the hardware resources used in this example * @param hjpeg: JPEG handle pointer * @retval None */ void HAL_JPEG_MspInit(JPEG_HandleTypeDef* hjpeg) { 700011a4: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} DMA_DataHandlingConfTypeDef DataHandlingConfig; if(hjpeg->Instance==JPEG) 700011a6: 6802 ldr r2, [r0, #0] { 700011a8: 4605 mov r5, r0 if(hjpeg->Instance==JPEG) 700011aa: 4b3c ldr r3, [pc, #240] @ (7000129c ) 700011ac: 429a cmp r2, r3 700011ae: d173 bne.n 70001298 { /* USER CODE BEGIN JPEG_MspInit 0 */ /* USER CODE END JPEG_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_JPEG_CLK_ENABLE(); 700011b0: 4b3b ldr r3, [pc, #236] @ (700012a0 ) handle_HPDMA1_Channel1.Init.Request = HPDMA1_REQUEST_JPEG_TX; handle_HPDMA1_Channel1.Init.BlkHWRequest = DMA_BREQ_SINGLE_BURST; handle_HPDMA1_Channel1.Init.Direction = DMA_PERIPH_TO_MEMORY; handle_HPDMA1_Channel1.Init.SrcInc = DMA_SINC_FIXED; handle_HPDMA1_Channel1.Init.DestInc = DMA_DINC_INCREMENTED; handle_HPDMA1_Channel1.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_WORD; 700011b2: f44f 2600 mov.w r6, #524288 @ 0x80000 handle_HPDMA1_Channel1.Instance = HPDMA1_Channel1; 700011b6: 4c3b ldr r4, [pc, #236] @ (700012a4 ) handle_HPDMA1_Channel1.Init.DestDataWidth = DMA_DEST_DATAWIDTH_WORD; handle_HPDMA1_Channel1.Init.Priority = DMA_HIGH_PRIORITY; 700011b8: f44f 3c00 mov.w ip, #131072 @ 0x20000 __HAL_RCC_JPEG_CLK_ENABLE(); 700011bc: f8d3 2134 ldr.w r2, [r3, #308] @ 0x134 handle_HPDMA1_Channel1.Init.Request = HPDMA1_REQUEST_JPEG_TX; 700011c0: 4839 ldr r0, [pc, #228] @ (700012a8 ) __HAL_RCC_JPEG_CLK_ENABLE(); 700011c2: f042 0208 orr.w r2, r2, #8 700011c6: f8c3 2134 str.w r2, [r3, #308] @ 0x134 handle_HPDMA1_Channel1.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_WORD; 700011ca: 2202 movs r2, #2 __HAL_RCC_JPEG_CLK_ENABLE(); 700011cc: f8d3 3134 ldr.w r3, [r3, #308] @ 0x134 handle_HPDMA1_Channel1.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_WORD; 700011d0: e9c4 6205 strd r6, r2, [r4, #20] handle_HPDMA1_Channel1.Init.Priority = DMA_HIGH_PRIORITY; 700011d4: f44f 0240 mov.w r2, #12582912 @ 0xc00000 __HAL_RCC_JPEG_CLK_ENABLE(); 700011d8: 9301 str r3, [sp, #4] 700011da: 9b01 ldr r3, [sp, #4] handle_HPDMA1_Channel1.Init.Request = HPDMA1_REQUEST_JPEG_TX; 700011dc: 2301 movs r3, #1 handle_HPDMA1_Channel1.Init.Priority = DMA_HIGH_PRIORITY; 700011de: e9c4 c207 strd ip, r2, [r4, #28] handle_HPDMA1_Channel1.Init.SrcBurstLength = 8; 700011e2: 2208 movs r2, #8 handle_HPDMA1_Channel1.Init.Request = HPDMA1_REQUEST_JPEG_TX; 700011e4: e9c4 0300 strd r0, r3, [r4] handle_HPDMA1_Channel1.Init.DestBurstLength = 8; 700011e8: e9c4 2209 strd r2, r2, [r4, #36] @ 0x24 handle_HPDMA1_Channel1.Init.BlkHWRequest = DMA_BREQ_SINGLE_BURST; 700011ec: 2300 movs r3, #0 handle_HPDMA1_Channel1.Init.TransferAllocatedPort = DMA_SRC_ALLOCATED_PORT1|DMA_DEST_ALLOCATED_PORT0; 700011ee: f44f 4280 mov.w r2, #16384 @ 0x4000 handle_HPDMA1_Channel1.Init.TransferEventMode = DMA_TCEM_BLOCK_TRANSFER; handle_HPDMA1_Channel1.Init.Mode = DMA_NORMAL; if (HAL_DMA_Init(&handle_HPDMA1_Channel1) != HAL_OK) 700011f2: 4620 mov r0, r4 handle_HPDMA1_Channel1.Init.SrcInc = DMA_SINC_FIXED; 700011f4: 6123 str r3, [r4, #16] handle_HPDMA1_Channel1.Init.Mode = DMA_NORMAL; 700011f6: 6363 str r3, [r4, #52] @ 0x34 handle_HPDMA1_Channel1.Init.Direction = DMA_PERIPH_TO_MEMORY; 700011f8: e9c4 3302 strd r3, r3, [r4, #8] handle_HPDMA1_Channel1.Init.TransferEventMode = DMA_TCEM_BLOCK_TRANSFER; 700011fc: e9c4 230b strd r2, r3, [r4, #44] @ 0x2c if (HAL_DMA_Init(&handle_HPDMA1_Channel1) != HAL_OK) 70001200: f003 fc7a bl 70004af8 70001204: b108 cbz r0, 7000120a { Error_Handler(); 70001206: f7ff fe3f bl 70000e88 } __HAL_LINKDMA(hjpeg, hdmaout, handle_HPDMA1_Channel1); 7000120a: 636c str r4, [r5, #52] @ 0x34 if (HAL_DMA_ConfigChannelAttributes(&handle_HPDMA1_Channel1, DMA_CHANNEL_NPRIV) != HAL_OK) 7000120c: f04f 7180 mov.w r1, #16777216 @ 0x1000000 70001210: 4824 ldr r0, [pc, #144] @ (700012a4 ) __HAL_LINKDMA(hjpeg, hdmaout, handle_HPDMA1_Channel1); 70001212: 65e5 str r5, [r4, #92] @ 0x5c if (HAL_DMA_ConfigChannelAttributes(&handle_HPDMA1_Channel1, DMA_CHANNEL_NPRIV) != HAL_OK) 70001214: f003 ff29 bl 7000506a 70001218: b108 cbz r0, 7000121e { Error_Handler(); 7000121a: f7ff fe35 bl 70000e88 } /* HPDMA1_REQUEST_JPEG_RX Init */ handle_HPDMA1_Channel0.Instance = HPDMA1_Channel0; 7000121e: 4c23 ldr r4, [pc, #140] @ (700012ac ) handle_HPDMA1_Channel0.Init.Request = HPDMA1_REQUEST_JPEG_RX; 70001220: 2600 movs r6, #0 70001222: 4b23 ldr r3, [pc, #140] @ (700012b0 ) handle_HPDMA1_Channel0.Init.BlkHWRequest = DMA_BREQ_SINGLE_BURST; handle_HPDMA1_Channel0.Init.Direction = DMA_MEMORY_TO_PERIPH; handle_HPDMA1_Channel0.Init.SrcInc = DMA_SINC_INCREMENTED; 70001224: f44f 6280 mov.w r2, #1024 @ 0x400 handle_HPDMA1_Channel0.Init.DestInc = DMA_DINC_FIXED; handle_HPDMA1_Channel0.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_BYTE; handle_HPDMA1_Channel0.Init.DestDataWidth = DMA_DEST_DATAWIDTH_WORD; handle_HPDMA1_Channel0.Init.Priority = DMA_HIGH_PRIORITY; 70001228: f44f 3100 mov.w r1, #131072 @ 0x20000 handle_HPDMA1_Channel0.Init.SrcBurstLength = 8; handle_HPDMA1_Channel0.Init.DestBurstLength = 8; handle_HPDMA1_Channel0.Init.TransferAllocatedPort = DMA_SRC_ALLOCATED_PORT0|DMA_DEST_ALLOCATED_PORT1; handle_HPDMA1_Channel0.Init.TransferEventMode = DMA_TCEM_BLOCK_TRANSFER; handle_HPDMA1_Channel0.Init.Mode = DMA_NORMAL; if (HAL_DMA_Init(&handle_HPDMA1_Channel0) != HAL_OK) 7000122c: 4620 mov r0, r4 handle_HPDMA1_Channel0.Init.BlkHWRequest = DMA_BREQ_SINGLE_BURST; 7000122e: 60a6 str r6, [r4, #8] handle_HPDMA1_Channel0.Init.Mode = DMA_NORMAL; 70001230: 6366 str r6, [r4, #52] @ 0x34 handle_HPDMA1_Channel0.Init.Request = HPDMA1_REQUEST_JPEG_RX; 70001232: e9c4 3600 strd r3, r6, [r4] handle_HPDMA1_Channel0.Init.SrcInc = DMA_SINC_INCREMENTED; 70001236: 2308 movs r3, #8 70001238: e9c4 2303 strd r2, r3, [r4, #12] handle_HPDMA1_Channel0.Init.DestBurstLength = 8; 7000123c: e9c4 3309 strd r3, r3, [r4, #36] @ 0x24 handle_HPDMA1_Channel0.Init.Priority = DMA_HIGH_PRIORITY; 70001240: f44f 0240 mov.w r2, #12582912 @ 0xc00000 handle_HPDMA1_Channel0.Init.TransferAllocatedPort = DMA_SRC_ALLOCATED_PORT0|DMA_DEST_ALLOCATED_PORT1; 70001244: f04f 4380 mov.w r3, #1073741824 @ 0x40000000 handle_HPDMA1_Channel0.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_BYTE; 70001248: e9c4 6605 strd r6, r6, [r4, #20] handle_HPDMA1_Channel0.Init.Priority = DMA_HIGH_PRIORITY; 7000124c: e9c4 1207 strd r1, r2, [r4, #28] handle_HPDMA1_Channel0.Init.TransferEventMode = DMA_TCEM_BLOCK_TRANSFER; 70001250: e9c4 360b strd r3, r6, [r4, #44] @ 0x2c if (HAL_DMA_Init(&handle_HPDMA1_Channel0) != HAL_OK) 70001254: f003 fc50 bl 70004af8 70001258: b108 cbz r0, 7000125e { Error_Handler(); 7000125a: f7ff fe15 bl 70000e88 } DataHandlingConfig.DataExchange = DMA_EXCHANGE_NONE; DataHandlingConfig.DataAlignment = DMA_DATA_PACK; 7000125e: f44f 5380 mov.w r3, #4096 @ 0x1000 if (HAL_DMAEx_ConfigDataHandling(&handle_HPDMA1_Channel0, &DataHandlingConfig) != HAL_OK) 70001262: a902 add r1, sp, #8 70001264: 4811 ldr r0, [pc, #68] @ (700012ac ) DataHandlingConfig.DataExchange = DMA_EXCHANGE_NONE; 70001266: 9602 str r6, [sp, #8] DataHandlingConfig.DataAlignment = DMA_DATA_PACK; 70001268: 9303 str r3, [sp, #12] if (HAL_DMAEx_ConfigDataHandling(&handle_HPDMA1_Channel0, &DataHandlingConfig) != HAL_OK) 7000126a: f004 fc75 bl 70005b58 7000126e: b108 cbz r0, 70001274 { Error_Handler(); 70001270: f7ff fe0a bl 70000e88 } __HAL_LINKDMA(hjpeg, hdmain, handle_HPDMA1_Channel0); 70001274: 632c str r4, [r5, #48] @ 0x30 if (HAL_DMA_ConfigChannelAttributes(&handle_HPDMA1_Channel0, DMA_CHANNEL_NPRIV) != HAL_OK) 70001276: f04f 7180 mov.w r1, #16777216 @ 0x1000000 7000127a: 480c ldr r0, [pc, #48] @ (700012ac ) __HAL_LINKDMA(hjpeg, hdmain, handle_HPDMA1_Channel0); 7000127c: 65e5 str r5, [r4, #92] @ 0x5c if (HAL_DMA_ConfigChannelAttributes(&handle_HPDMA1_Channel0, DMA_CHANNEL_NPRIV) != HAL_OK) 7000127e: f003 fef4 bl 7000506a 70001282: b108 cbz r0, 70001288 { Error_Handler(); 70001284: f7ff fe00 bl 70000e88 } /* JPEG interrupt Init */ HAL_NVIC_SetPriority(JPEG_IRQn, 8, 0); 70001288: 2063 movs r0, #99 @ 0x63 7000128a: 2200 movs r2, #0 7000128c: 2108 movs r1, #8 7000128e: f003 fb1d bl 700048cc HAL_NVIC_EnableIRQ(JPEG_IRQn); 70001292: 2063 movs r0, #99 @ 0x63 70001294: f003 fb4c bl 70004930 /* USER CODE END JPEG_MspInit 1 */ } } 70001298: b004 add sp, #16 7000129a: bd70 pop {r4, r5, r6, pc} 7000129c: 52003000 .word 0x52003000 700012a0: 58024400 .word 0x58024400 700012a4: 24009b04 .word 0x24009b04 700012a8: 520000d0 .word 0x520000d0 700012ac: 24009a8c .word 0x24009a8c 700012b0: 52000050 .word 0x52000050 700012b4 : * This function configures the hardware resources used in this example * @param hltdc: LTDC handle pointer * @retval None */ void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc) { 700012b4: b5f0 push {r4, r5, r6, r7, lr} 700012b6: b0ad sub sp, #180 @ 0xb4 700012b8: 4604 mov r4, r0 GPIO_InitTypeDef GPIO_InitStruct = {0}; 700012ba: 2214 movs r2, #20 700012bc: 2100 movs r1, #0 700012be: a806 add r0, sp, #24 700012c0: f03a f830 bl 7003b324 RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; 700012c4: 2284 movs r2, #132 @ 0x84 700012c6: 2100 movs r1, #0 700012c8: a80b add r0, sp, #44 @ 0x2c 700012ca: f03a f82b bl 7003b324 if(hltdc->Instance==LTDC) 700012ce: 6822 ldr r2, [r4, #0] 700012d0: 4b61 ldr r3, [pc, #388] @ (70001458 ) 700012d2: 429a cmp r2, r3 700012d4: f040 80be bne.w 70001454 /* USER CODE END LTDC_MspInit 0 */ /** Initializes the peripherals clock */ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_LTDC; 700012d8: f44f 3380 mov.w r3, #65536 @ 0x10000 PeriphClkInit.LtdcClockSelection = RCC_LTDCCLKSOURCE_PLL3R; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 700012dc: a80b add r0, sp, #44 @ 0x2c PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_LTDC; 700012de: 930b str r3, [sp, #44] @ 0x2c if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 700012e0: f007 fb24 bl 7000892c 700012e4: b108 cbz r0, 700012ea { Error_Handler(); 700012e6: f7ff fdcf bl 70000e88 } /* Peripheral clock enable */ __HAL_RCC_LTDC_CLK_ENABLE(); 700012ea: 4b5c ldr r3, [pc, #368] @ (7000145c ) PB13 ------> LTDC_G4 PA6 ------> LTDC_B7 */ GPIO_InitStruct.Pin = GPIO_PIN_0; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; 700012ec: 2400 movs r4, #0 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 700012ee: 2502 movs r5, #2 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF11_LTDC; 700012f0: 270b movs r7, #11 __HAL_RCC_LTDC_CLK_ENABLE(); 700012f2: f8d3 2144 ldr.w r2, [r3, #324] @ 0x144 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 700012f6: a906 add r1, sp, #24 700012f8: 4859 ldr r0, [pc, #356] @ (70001460 ) GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_14 |GPIO_PIN_13; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF13_LTDC; 700012fa: 260d movs r6, #13 __HAL_RCC_LTDC_CLK_ENABLE(); 700012fc: f042 0202 orr.w r2, r2, #2 70001300: f8c3 2144 str.w r2, [r3, #324] @ 0x144 70001304: f8d3 2144 ldr.w r2, [r3, #324] @ 0x144 70001308: 9200 str r2, [sp, #0] 7000130a: 9a00 ldr r2, [sp, #0] __HAL_RCC_GPIOF_CLK_ENABLE(); 7000130c: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 70001310: f042 0220 orr.w r2, r2, #32 70001314: f8c3 2140 str.w r2, [r3, #320] @ 0x140 70001318: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 7000131c: 9201 str r2, [sp, #4] 7000131e: 9a01 ldr r2, [sp, #4] __HAL_RCC_GPIOG_CLK_ENABLE(); 70001320: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 70001324: f042 0240 orr.w r2, r2, #64 @ 0x40 70001328: f8c3 2140 str.w r2, [r3, #320] @ 0x140 7000132c: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 70001330: 9202 str r2, [sp, #8] 70001332: 9a02 ldr r2, [sp, #8] __HAL_RCC_GPIOB_CLK_ENABLE(); 70001334: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 70001338: f042 0202 orr.w r2, r2, #2 7000133c: f8c3 2140 str.w r2, [r3, #320] @ 0x140 70001340: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 70001344: 9203 str r2, [sp, #12] 70001346: 9a03 ldr r2, [sp, #12] __HAL_RCC_GPIOE_CLK_ENABLE(); 70001348: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 7000134c: f042 0210 orr.w r2, r2, #16 70001350: f8c3 2140 str.w r2, [r3, #320] @ 0x140 70001354: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 70001358: 9204 str r2, [sp, #16] 7000135a: 9a04 ldr r2, [sp, #16] __HAL_RCC_GPIOA_CLK_ENABLE(); 7000135c: f8d3 2140 ldr.w r2, [r3, #320] @ 0x140 70001360: f042 0201 orr.w r2, r2, #1 70001364: f8c3 2140 str.w r2, [r3, #320] @ 0x140 70001368: f8d3 3140 ldr.w r3, [r3, #320] @ 0x140 7000136c: 9305 str r3, [sp, #20] 7000136e: 9b05 ldr r3, [sp, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 70001370: 2301 movs r3, #1 70001372: e9cd 3506 strd r3, r5, [sp, #24] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 70001376: e9cd 4408 strd r4, r4, [sp, #32] GPIO_InitStruct.Alternate = GPIO_AF11_LTDC; 7000137a: 970a str r7, [sp, #40] @ 0x28 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 7000137c: f004 fd9e bl 70005ebc GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_14 70001380: f246 0307 movw r3, #24583 @ 0x6007 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 70001384: a906 add r1, sp, #24 70001386: 4837 ldr r0, [pc, #220] @ (70001464 ) GPIO_InitStruct.Alternate = GPIO_AF13_LTDC; 70001388: 960a str r6, [sp, #40] @ 0x28 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 7000138a: e9cd 3506 strd r3, r5, [sp, #24] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 7000138e: e9cd 4408 strd r4, r4, [sp, #32] HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 70001392: f004 fd93 bl 70005ebc GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_12|GPIO_PIN_14 70001396: f645 0318 movw r3, #22552 @ 0x5818 |GPIO_PIN_11; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF13_LTDC; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 7000139a: a906 add r1, sp, #24 7000139c: 4832 ldr r0, [pc, #200] @ (70001468 ) GPIO_InitStruct.Alternate = GPIO_AF13_LTDC; 7000139e: 960a str r6, [sp, #40] @ 0x28 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 700013a0: e9cd 3506 strd r3, r5, [sp, #24] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 700013a4: e9cd 4408 strd r4, r4, [sp, #32] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 700013a8: f004 fd88 bl 70005ebc GPIO_InitStruct.Pin = GPIO_PIN_11; 700013ac: f44f 6300 mov.w r3, #2048 @ 0x800 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF11_LTDC; HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); 700013b0: a906 add r1, sp, #24 700013b2: 482e ldr r0, [pc, #184] @ (7000146c ) GPIO_InitStruct.Alternate = GPIO_AF11_LTDC; 700013b4: 970a str r7, [sp, #40] @ 0x28 GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 700013b6: 270e movs r7, #14 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 700013b8: e9cd 3506 strd r3, r5, [sp, #24] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 700013bc: e9cd 4408 strd r4, r4, [sp, #32] HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); 700013c0: f004 fd7c bl 70005ebc GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_11|GPIO_PIN_8|GPIO_PIN_15 700013c4: f649 1303 movw r3, #39171 @ 0x9903 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 700013c8: a906 add r1, sp, #24 700013ca: 4829 ldr r0, [pc, #164] @ (70001470 ) GPIO_InitStruct.Alternate = GPIO_AF13_LTDC; 700013cc: 960a str r6, [sp, #40] @ 0x28 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 700013ce: e9cd 3506 strd r3, r5, [sp, #24] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 700013d2: e9cd 4408 strd r4, r4, [sp, #32] HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 700013d6: f004 fd71 bl 70005ebc GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10; 700013da: f44f 63c0 mov.w r3, #1536 @ 0x600 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 700013de: a906 add r1, sp, #24 700013e0: 4823 ldr r0, [pc, #140] @ (70001470 ) GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 700013e2: 970a str r7, [sp, #40] @ 0x28 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 700013e4: e9cd 3506 strd r3, r5, [sp, #24] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 700013e8: e9cd 4408 strd r4, r4, [sp, #32] HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 700013ec: f004 fd66 bl 70005ebc GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_9|GPIO_PIN_15; 700013f0: f248 2380 movw r3, #33408 @ 0x8280 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF13_LTDC; HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 700013f4: a906 add r1, sp, #24 700013f6: 481a ldr r0, [pc, #104] @ (70001460 ) GPIO_InitStruct.Alternate = GPIO_AF13_LTDC; 700013f8: 960a str r6, [sp, #40] @ 0x28 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 700013fa: e9cd 3506 strd r3, r5, [sp, #24] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 700013fe: e9cd 4408 strd r4, r4, [sp, #32] HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 70001402: f004 fd5b bl 70005ebc GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11; 70001406: f44f 6340 mov.w r3, #3072 @ 0xc00 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 7000140a: a906 add r1, sp, #24 7000140c: 4814 ldr r0, [pc, #80] @ (70001460 ) GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 7000140e: 970a str r7, [sp, #40] @ 0x28 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 70001410: e9cd 3506 strd r3, r5, [sp, #24] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 70001414: e9cd 4408 strd r4, r4, [sp, #32] HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 70001418: f004 fd50 bl 70005ebc GPIO_InitStruct.Pin = GPIO_PIN_15|GPIO_PIN_13; 7000141c: f44f 4320 mov.w r3, #40960 @ 0xa000 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF10_LTDC; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 70001420: a906 add r1, sp, #24 70001422: 4811 ldr r0, [pc, #68] @ (70001468 ) GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 70001424: e9cd 3506 strd r3, r5, [sp, #24] GPIO_InitStruct.Alternate = GPIO_AF10_LTDC; 70001428: 230a movs r3, #10 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 7000142a: e9cd 4408 strd r4, r4, [sp, #32] GPIO_InitStruct.Alternate = GPIO_AF10_LTDC; 7000142e: 930a str r3, [sp, #40] @ 0x28 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 70001430: f004 fd44 bl 70005ebc GPIO_InitStruct.Pin = GPIO_PIN_6; 70001434: 2340 movs r3, #64 @ 0x40 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF12_LTDC; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 70001436: a906 add r1, sp, #24 70001438: 480d ldr r0, [pc, #52] @ (70001470 ) GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 7000143a: e9cd 3506 strd r3, r5, [sp, #24] GPIO_InitStruct.Alternate = GPIO_AF12_LTDC; 7000143e: 230c movs r3, #12 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 70001440: e9cd 4408 strd r4, r4, [sp, #32] GPIO_InitStruct.Alternate = GPIO_AF12_LTDC; 70001444: 930a str r3, [sp, #40] @ 0x28 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 70001446: f004 fd39 bl 70005ebc /* LTDC interrupt Init */ HAL_NVIC_SetPriority(LTDC_IRQn, 5, 0); 7000144a: 4622 mov r2, r4 7000144c: 2105 movs r1, #5 7000144e: 2060 movs r0, #96 @ 0x60 70001450: f003 fa3c bl 700048cc /* USER CODE END LTDC_MspInit 1 */ } } 70001454: b02d add sp, #180 @ 0xb4 70001456: bdf0 pop {r4, r5, r6, r7, pc} 70001458: 50001000 .word 0x50001000 7000145c: 58024400 .word 0x58024400 70001460: 58021400 .word 0x58021400 70001464: 58021800 .word 0x58021800 70001468: 58020400 .word 0x58020400 7000146c: 58021000 .word 0x58021000 70001470: 58020000 .word 0x58020000 70001474 : * reset by HAL_Init() or at any time when clock is configured, by HAL_RCC_ClockConfig(). * @param TickPriority Tick interrupt priority. * @retval HAL status */ HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { 70001474: b530 push {r4, r5, lr} uint32_t uwPrescalerValue; uint32_t pFLatency; HAL_StatusTypeDef Status; /* Enable TIM6 clock */ __HAL_RCC_TIM6_CLK_ENABLE(); 70001476: 4c28 ldr r4, [pc, #160] @ (70001518 ) { 70001478: b08b sub sp, #44 @ 0x2c 7000147a: 4605 mov r5, r0 __HAL_RCC_TIM6_CLK_ENABLE(); 7000147c: f8d4 3148 ldr.w r3, [r4, #328] @ 0x148 /* Get clock configuration */ HAL_RCC_GetClockConfig(&clkconfig, &pFLatency); 70001480: 4669 mov r1, sp 70001482: a802 add r0, sp, #8 __HAL_RCC_TIM6_CLK_ENABLE(); 70001484: f043 0310 orr.w r3, r3, #16 70001488: f8c4 3148 str.w r3, [r4, #328] @ 0x148 7000148c: f8d4 3148 ldr.w r3, [r4, #328] @ 0x148 70001490: 9301 str r3, [sp, #4] 70001492: 9b01 ldr r3, [sp, #4] HAL_RCC_GetClockConfig(&clkconfig, &pFLatency); 70001494: f007 f9f0 bl 70008878 /* Get APB1 prescaler */ uwAPB1Prescaler = clkconfig.APB1CLKDivider; 70001498: 9b06 ldr r3, [sp, #24] /* Compute TIM6 clock */ if (uwAPB1Prescaler == RCC_APB1_DIV1) 7000149a: bb6b cbnz r3, 700014f8 { uwTimclock = HAL_RCC_GetPCLK1Freq(); 7000149c: f007 f936 bl 7000870c /* Compute the prescaler value to have TIM6 counter clock equal to TIM_CNT_FREQ */ uwPrescalerValue = (uint32_t)((uwTimclock / TIM_CNT_FREQ) - 1U); /* Initialize TIM6 */ htim6.Instance = TIM6; 700014a0: 491e ldr r1, [pc, #120] @ (7000151c ) + Period = [uwTickFreq * (TIM_CNT_FREQ/TIM_FREQ) - 1]. to have a (uwTickFreq/TIM_FREQ) s time base. + Prescaler = (uwTimclock/TIM_CNT_FREQ - 1) to have a TIM_CNT_FREQ counter clock. + ClockDivision = 0 + Counter direction = Up */ htim6.Init.Period = ((uint32_t)uwTickFreq * (TIM_CNT_FREQ / TIM_FREQ)) - 1U; 700014a2: f44f 727a mov.w r2, #1000 @ 0x3e8 htim6.Instance = TIM6; 700014a6: 4b1e ldr r3, [pc, #120] @ (70001520 ) 700014a8: 600b str r3, [r1, #0] htim6.Init.Period = ((uint32_t)uwTickFreq * (TIM_CNT_FREQ / TIM_FREQ)) - 1U; 700014aa: 4b1e ldr r3, [pc, #120] @ (70001524 ) 700014ac: 781b ldrb r3, [r3, #0] 700014ae: 4353 muls r3, r2 700014b0: 3b01 subs r3, #1 700014b2: 60cb str r3, [r1, #12] uwPrescalerValue = (uint32_t)((uwTimclock / TIM_CNT_FREQ) - 1U); 700014b4: 4b1c ldr r3, [pc, #112] @ (70001528 ) 700014b6: fbb0 f3f3 udiv r3, r0, r3 700014ba: 3b01 subs r3, #1 htim6.Init.Prescaler = uwPrescalerValue; htim6.Init.ClockDivision = 0; htim6.Init.CounterMode = TIM_COUNTERMODE_UP; htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; Status = HAL_TIM_Base_Init(&htim6); 700014bc: 4608 mov r0, r1 htim6.Init.Prescaler = uwPrescalerValue; 700014be: 604b str r3, [r1, #4] htim6.Init.ClockDivision = 0; 700014c0: 2300 movs r3, #0 700014c2: 610b str r3, [r1, #16] htim6.Init.CounterMode = TIM_COUNTERMODE_UP; 700014c4: 608b str r3, [r1, #8] htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 700014c6: 618b str r3, [r1, #24] Status = HAL_TIM_Base_Init(&htim6); 700014c8: f008 fd78 bl 70009fbc if (Status == HAL_OK) 700014cc: 4604 mov r4, r0 700014ce: b980 cbnz r0, 700014f2 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1U) HAL_TIM_RegisterCallback(&htim6, HAL_TIM_PERIOD_ELAPSED_CB_ID, TimeBase_TIM_PeriodElapsedCallback); #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ /* Start the TIM time Base generation in interrupt mode */ Status = HAL_TIM_Base_Start_IT(&htim6); 700014d0: 4812 ldr r0, [pc, #72] @ (7000151c ) 700014d2: f008 fc01 bl 70009cd8 if (Status == HAL_OK) 700014d6: 4604 mov r4, r0 700014d8: b958 cbnz r0, 700014f2 { if (TickPriority < (1UL << __NVIC_PRIO_BITS)) 700014da: 2d0f cmp r5, #15 700014dc: d819 bhi.n 70001512 { /* Configure the TIM6 global Interrupt priority */ HAL_NVIC_SetPriority(TIM6_IRQn, TickPriority, 0); 700014de: 4602 mov r2, r0 700014e0: 4629 mov r1, r5 700014e2: 2037 movs r0, #55 @ 0x37 700014e4: f003 f9f2 bl 700048cc /* Enable the TIM6 global Interrupt */ HAL_NVIC_EnableIRQ(TIM6_IRQn); 700014e8: 2037 movs r0, #55 @ 0x37 700014ea: f003 fa21 bl 70004930 uwTickPrio = TickPriority; 700014ee: 4b0f ldr r3, [pc, #60] @ (7000152c ) 700014f0: 601d str r5, [r3, #0] } } /* Return function status */ return Status; } 700014f2: 4620 mov r0, r4 700014f4: b00b add sp, #44 @ 0x2c 700014f6: bd30 pop {r4, r5, pc} else if (uwAPB1Prescaler == RCC_APB1_DIV2) 700014f8: 2b04 cmp r3, #4 700014fa: d103 bne.n 70001504 uwTimclock = 2UL * HAL_RCC_GetPCLK1Freq(); 700014fc: f007 f906 bl 7000870c 70001500: 0040 lsls r0, r0, #1 70001502: e7cd b.n 700014a0 if (__HAL_RCC_GET_TIMCLKPRESCALER() == RCC_TIMPRES_DISABLE) 70001504: 6923 ldr r3, [r4, #16] 70001506: 041b lsls r3, r3, #16 70001508: d5f8 bpl.n 700014fc uwTimclock = 4UL * HAL_RCC_GetPCLK1Freq(); 7000150a: f007 f8ff bl 7000870c 7000150e: 0080 lsls r0, r0, #2 70001510: e7c6 b.n 700014a0 Status = HAL_ERROR; 70001512: 2401 movs r4, #1 70001514: e7ed b.n 700014f2 70001516: bf00 nop 70001518: 58024400 .word 0x58024400 7000151c: 24009e58 .word 0x24009e58 70001520: 40001000 .word 0x40001000 70001524: 24000058 .word 0x24000058 70001528: 000f4240 .word 0x000f4240 7000152c: 2400005c .word 0x2400005c 70001530 : { /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ /* USER CODE END NonMaskableInt_IRQn 0 */ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ while (1) 70001530: e7fe b.n 70001530 70001532 : void HardFault_Handler(void) { /* USER CODE BEGIN HardFault_IRQn 0 */ /* USER CODE END HardFault_IRQn 0 */ while (1) 70001532: e7fe b.n 70001532 70001534 : void MemManage_Handler(void) { /* USER CODE BEGIN MemoryManagement_IRQn 0 */ /* USER CODE END MemoryManagement_IRQn 0 */ while (1) 70001534: e7fe b.n 70001534 70001536 : void BusFault_Handler(void) { /* USER CODE BEGIN BusFault_IRQn 0 */ /* USER CODE END BusFault_IRQn 0 */ while (1) 70001536: e7fe b.n 70001536 70001538 : void UsageFault_Handler(void) { /* USER CODE BEGIN UsageFault_IRQn 0 */ /* USER CODE END UsageFault_IRQn 0 */ while (1) 70001538: e7fe b.n 70001538 7000153a : /* USER CODE END DebugMonitor_IRQn 0 */ /* USER CODE BEGIN DebugMonitor_IRQn 1 */ /* USER CODE END DebugMonitor_IRQn 1 */ } 7000153a: 4770 bx lr 7000153c : void EXTI3_IRQHandler(void) { /* USER CODE BEGIN EXTI3_IRQn 0 */ /* USER CODE END EXTI3_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(TP_IRQ_Pin); 7000153c: 2008 movs r0, #8 7000153e: f004 bdd7 b.w 700060f0 ... 70001544 : void GPDMA1_Channel0_IRQHandler(void) { /* USER CODE BEGIN GPDMA1_Channel0_IRQn 0 */ /* USER CODE END GPDMA1_Channel0_IRQn 0 */ HAL_DMA_IRQHandler(&handle_GPDMA1_Channel0); 70001544: 4801 ldr r0, [pc, #4] @ (7000154c ) 70001546: f003 bcd0 b.w 70004eea 7000154a: bf00 nop 7000154c: 24009cf0 .word 0x24009cf0 70001550 : /* USER CODE END GPDMA1_Channel0_IRQn 1 */ } void GPDMA1_Channel2_IRQHandler(void) { BSP_AUDIO_OUT_IRQHandler(0, AUDIO_OUT_HEADPHONE); 70001550: 2101 movs r1, #1 70001552: 2000 movs r0, #0 70001554: f008 be14 b.w 7000a180 70001558 : void TIM6_IRQHandler(void) { /* USER CODE BEGIN TIM6_IRQn 0 */ /* USER CODE END TIM6_IRQn 0 */ HAL_TIM_IRQHandler(&htim6); 70001558: 4801 ldr r0, [pc, #4] @ (70001560 ) 7000155a: f008 bc01 b.w 70009d60 7000155e: bf00 nop 70001560: 24009e58 .word 0x24009e58 70001564 : void HPDMA1_Channel0_IRQHandler(void) { /* USER CODE BEGIN HPDMA1_Channel0_IRQn 0 */ /* USER CODE END HPDMA1_Channel0_IRQn 0 */ HAL_DMA_IRQHandler(&handle_HPDMA1_Channel0); 70001564: 4801 ldr r0, [pc, #4] @ (7000156c ) 70001566: f003 bcc0 b.w 70004eea 7000156a: bf00 nop 7000156c: 24009a8c .word 0x24009a8c 70001570 : void HPDMA1_Channel1_IRQHandler(void) { /* USER CODE BEGIN HPDMA1_Channel1_IRQn 0 */ /* USER CODE END HPDMA1_Channel1_IRQn 0 */ HAL_DMA_IRQHandler(&handle_HPDMA1_Channel1); 70001570: 4801 ldr r0, [pc, #4] @ (70001578 ) 70001572: f003 bcba b.w 70004eea 70001576: bf00 nop 70001578: 24009b04 .word 0x24009b04 7000157c : void LTDC_IRQHandler(void) { /* USER CODE BEGIN LTDC_IRQn 0 */ /* USER CODE END LTDC_IRQn 0 */ HAL_LTDC_IRQHandler(&hltdc); 7000157c: 4801 ldr r0, [pc, #4] @ (70001584 ) 7000157e: f006 bc9e b.w 70007ebe 70001582: bf00 nop 70001584: 240099e4 .word 0x240099e4 70001588 : void DMA2D_IRQHandler(void) { /* USER CODE BEGIN DMA2D_IRQn 0 */ /* USER CODE END DMA2D_IRQn 0 */ HAL_DMA2D_IRQHandler(&hdma2d); 70001588: 4801 ldr r0, [pc, #4] @ (70001590 ) 7000158a: f003 bdcb b.w 70005124 7000158e: bf00 nop 70001590: 24009c64 .word 0x24009c64 70001594 : void JPEG_IRQHandler(void) { /* USER CODE BEGIN JPEG_IRQn 0 */ /* USER CODE END JPEG_IRQn 0 */ HAL_JPEG_IRQHandler(&hjpeg); 70001594: 4801 ldr r0, [pc, #4] @ (7000159c ) 70001596: f006 bb66 b.w 70007c66 7000159a: bf00 nop 7000159c: 24009b7c .word 0x24009b7c 700015a0 : void ADF1_FLT0_IRQHandler(void) { /* USER CODE BEGIN ADF1_FLT0_IRQn 0 */ /* USER CODE END ADF1_FLT0_IRQn 0 */ HAL_MDF_IRQHandler(&AdfHandle0); 700015a0: 4801 ldr r0, [pc, #4] @ (700015a8 ) 700015a2: f006 beab b.w 700082fc 700015a6: bf00 nop 700015a8: 24009de8 .word 0x24009de8 700015ac : void GPU2D_IRQHandler(void) { /* USER CODE BEGIN GPU2D_IRQn 0 */ /* USER CODE END GPU2D_IRQn 0 */ HAL_GPU2D_IRQHandler(&hgpu2d); 700015ac: 4801 ldr r0, [pc, #4] @ (700015b4 ) 700015ae: f004 bdc6 b.w 7000613e 700015b2: bf00 nop 700015b4: 24009c58 .word 0x24009c58 700015b8 : void GPU2D_ER_IRQHandler(void) { /* USER CODE BEGIN GPU2D_ER_IRQn 0 */ /* USER CODE END GPU2D_ER_IRQn 0 */ HAL_GPU2D_ER_IRQHandler(&hgpu2d); 700015b8: 4801 ldr r0, [pc, #4] @ (700015c0 ) 700015ba: f004 bdd2 b.w 70006162 700015be: bf00 nop 700015c0: 24009c58 .word 0x24009c58 700015c4 <_getpid>: } int _getpid(void) { return 1; } 700015c4: 2001 movs r0, #1 700015c6: 4770 bx lr 700015c8 <_kill>: int _kill(int pid, int sig) { 700015c8: b508 push {r3, lr} (void)pid; (void)sig; errno = EINVAL; 700015ca: f039 fed5 bl 7003b378 <__errno> 700015ce: 2316 movs r3, #22 700015d0: 6003 str r3, [r0, #0] return -1; } 700015d2: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 700015d6: bd08 pop {r3, pc} 700015d8 <_exit>: void _exit (int status) { 700015d8: b508 push {r3, lr} errno = EINVAL; 700015da: f039 fecd bl 7003b378 <__errno> 700015de: 2316 movs r3, #22 700015e0: 6003 str r3, [r0, #0] _kill(status, -1); while (1) {} /* Make sure we hang here */ 700015e2: e7fe b.n 700015e2 <_exit+0xa> 700015e4 <_read>: } __attribute__((weak)) int _read(int file, char *ptr, int len) { 700015e4: b570 push {r4, r5, r6, lr} 700015e6: 460d mov r5, r1 700015e8: 4614 mov r4, r2 (void)file; int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) 700015ea: 460e mov r6, r1 700015ec: 1b73 subs r3, r6, r5 700015ee: 429c cmp r4, r3 700015f0: dc01 bgt.n 700015f6 <_read+0x12> { *ptr++ = __io_getchar(); } return len; } 700015f2: 4620 mov r0, r4 700015f4: bd70 pop {r4, r5, r6, pc} *ptr++ = __io_getchar(); 700015f6: f3af 8000 nop.w 700015fa: f806 0b01 strb.w r0, [r6], #1 for (DataIdx = 0; DataIdx < len; DataIdx++) 700015fe: e7f5 b.n 700015ec <_read+0x8> 70001600 <_write>: __attribute__((weak)) int _write(int file, char *ptr, int len) { 70001600: b570 push {r4, r5, r6, lr} 70001602: 460d mov r5, r1 70001604: 4614 mov r4, r2 (void)file; int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) 70001606: 460e mov r6, r1 70001608: 1b73 subs r3, r6, r5 7000160a: 429c cmp r4, r3 7000160c: dc01 bgt.n 70001612 <_write+0x12> { __io_putchar(*ptr++); } return len; } 7000160e: 4620 mov r0, r4 70001610: bd70 pop {r4, r5, r6, pc} __io_putchar(*ptr++); 70001612: f816 0b01 ldrb.w r0, [r6], #1 70001616: f3af 8000 nop.w for (DataIdx = 0; DataIdx < len; DataIdx++) 7000161a: e7f5 b.n 70001608 <_write+0x8> 7000161c <_close>: int _close(int file) { (void)file; return -1; } 7000161c: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 70001620: 4770 bx lr 70001622 <_fstat>: int _fstat(int file, struct stat *st) { (void)file; st->st_mode = S_IFCHR; 70001622: f44f 5300 mov.w r3, #8192 @ 0x2000 return 0; } 70001626: 2000 movs r0, #0 st->st_mode = S_IFCHR; 70001628: 604b str r3, [r1, #4] } 7000162a: 4770 bx lr 7000162c <_isatty>: int _isatty(int file) { (void)file; return 1; } 7000162c: 2001 movs r0, #1 7000162e: 4770 bx lr 70001630 <_lseek>: { (void)file; (void)ptr; (void)dir; return 0; } 70001630: 2000 movs r0, #0 70001632: 4770 bx lr 70001634 <_sbrk>: const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size; const uint8_t *max_heap = (uint8_t *)stack_limit; uint8_t *prev_heap_end; /* Initialize heap end at first call */ if (NULL == __sbrk_heap_end) 70001634: 4a0a ldr r2, [pc, #40] @ (70001660 <_sbrk+0x2c>) { 70001636: 4603 mov r3, r0 if (NULL == __sbrk_heap_end) 70001638: 6810 ldr r0, [r2, #0] { 7000163a: b510 push {r4, lr} if (NULL == __sbrk_heap_end) 7000163c: b908 cbnz r0, 70001642 <_sbrk+0xe> { __sbrk_heap_end = &_end; 7000163e: 4809 ldr r0, [pc, #36] @ (70001664 <_sbrk+0x30>) 70001640: 6010 str r0, [r2, #0] } /* Protect heap from growing into the reserved MSP stack */ if (__sbrk_heap_end + incr > max_heap) 70001642: 4909 ldr r1, [pc, #36] @ (70001668 <_sbrk+0x34>) 70001644: 4403 add r3, r0 70001646: 4c09 ldr r4, [pc, #36] @ (7000166c <_sbrk+0x38>) 70001648: 1b09 subs r1, r1, r4 7000164a: 428b cmp r3, r1 7000164c: d906 bls.n 7000165c <_sbrk+0x28> { errno = ENOMEM; 7000164e: f039 fe93 bl 7003b378 <__errno> 70001652: 230c movs r3, #12 70001654: 6003 str r3, [r0, #0] return (void *)-1; 70001656: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff prev_heap_end = __sbrk_heap_end; __sbrk_heap_end += incr; return (void *)prev_heap_end; } 7000165a: bd10 pop {r4, pc} __sbrk_heap_end += incr; 7000165c: 6013 str r3, [r2, #0] return (void *)prev_heap_end; 7000165e: e7fc b.n 7000165a <_sbrk+0x26> 70001660: 24009ea4 .word 0x24009ea4 70001664: 20000000 .word 0x20000000 70001668: 20003000 .word 0x20003000 7000166c: 00001000 .word 0x00001000 70001670 : .section .text.Reset_Handler .weak Reset_Handler .type Reset_Handler, %function Reset_Handler: ldr r0, =_estack 70001670: 480d ldr r0, [pc, #52] @ (700016a8 ) mov sp, r0 /* set stack pointer */ 70001672: 4685 mov sp, r0 /* Call the clock system initialization function.*/ bl SystemInit 70001674: f003 f84e bl 70004714 /* Copy the data segment initializers from flash to SRAM */ ldr r0, =_sdata 70001678: 480c ldr r0, [pc, #48] @ (700016ac ) ldr r1, =_edata 7000167a: 490d ldr r1, [pc, #52] @ (700016b0 ) ldr r2, =_sidata 7000167c: 4a0d ldr r2, [pc, #52] @ (700016b4 ) movs r3, #0 7000167e: 2300 movs r3, #0 b LoopCopyDataInit 70001680: e002 b.n 70001688 70001682 : CopyDataInit: ldr r4, [r2, r3] 70001682: 58d4 ldr r4, [r2, r3] str r4, [r0, r3] 70001684: 50c4 str r4, [r0, r3] adds r3, r3, #4 70001686: 3304 adds r3, #4 70001688 : LoopCopyDataInit: adds r4, r0, r3 70001688: 18c4 adds r4, r0, r3 cmp r4, r1 7000168a: 428c cmp r4, r1 bcc CopyDataInit 7000168c: d3f9 bcc.n 70001682 /* Zero fill the bss segment. */ ldr r2, =_sbss 7000168e: 4a0a ldr r2, [pc, #40] @ (700016b8 ) ldr r4, =_ebss 70001690: 4c0a ldr r4, [pc, #40] @ (700016bc ) movs r3, #0 70001692: 2300 movs r3, #0 b LoopFillZerobss 70001694: e001 b.n 7000169a 70001696 : FillZerobss: str r3, [r2] 70001696: 6013 str r3, [r2, #0] adds r2, r2, #4 70001698: 3204 adds r2, #4 7000169a : LoopFillZerobss: cmp r2, r4 7000169a: 42a2 cmp r2, r4 bcc FillZerobss 7000169c: d3fb bcc.n 70001696 /* Call static constructors */ bl __libc_init_array 7000169e: f039 fe71 bl 7003b384 <__libc_init_array> /* Call the application's entry point.*/ bl main 700016a2: f7ff f88b bl 700007bc
700016a6 : LoopForever: b LoopForever 700016a6: e7fe b.n 700016a6 ldr r0, =_estack 700016a8: 20003000 .word 0x20003000 ldr r0, =_sdata 700016ac: 24000000 .word 0x24000000 ldr r1, =_edata 700016b0: 240099c0 .word 0x240099c0 ldr r2, =_sidata 700016b4: 70040a50 .word 0x70040a50 ldr r2, =_sbss 700016b8: 240099c0 .word 0x240099c0 ldr r4, =_ebss 700016bc: 2400e444 .word 0x2400e444 700016c0 : * @retval : None */ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: b Infinite_Loop 700016c0: e7fe b.n 700016c0 700016c2 : /** * PreOS Initialization function */ void MX_TouchGFX_PreOSInit(void) { } 700016c2: 4770 bx lr 700016c4 : /** * Initialize TouchGFX application */ void MX_TouchGFX_Init(void) { 700016c4: b508 push {r3, lr} // Calling forward to touchgfx_init in C++ domain touchgfx_components_init(); 700016c6: f001 fc29 bl 70002f1c touchgfx_init(); } 700016ca: e8bd 4008 ldmia.w sp!, {r3, lr} touchgfx_init(); 700016ce: f001 bba7 b.w 70002e20 700016d2 : * TouchGFX application thread */ void TouchGFX_Task(void* argument) { // Calling forward to touchgfx_taskEntry in C++ domain touchgfx_taskEntry(); 700016d2: f001 bc45 b.w 70002f60 700016d6 <_ZN8touchgfx18MCUInstrumentation13getCCConsumedEv>: * * @return clock cycles. */ virtual uint32_t getCCConsumed() { return cc_consumed; 700016d6: 6840 ldr r0, [r0, #4] } 700016d8: 4770 bx lr 700016da <_ZN8touchgfx18MCUInstrumentation13setCCConsumedEm>: * * @param val number of clock cycles. */ virtual void setCCConsumed(uint32_t val) { cc_consumed = val; 700016da: 6041 str r1, [r0, #4] } 700016dc: 4770 bx lr ... 700016e0 <_ZN8touchgfx25CortexMMCUInstrumentation4initEv>: // Embedded Trace Macrocell (ETM) // Trace Port Interface Unit (TPIU). // This enables control of power usage unless tracing is required. The application can enable this, for ITM use, or use by a debugger. // Enable Debug Exception and Monitor Control Register *((volatile unsigned int*)0xE000EDFC) |= 0x01000000; 700016e0: f04f 22e0 mov.w r2, #3758153728 @ 0xe000e000 700016e4: f8d2 3dfc ldr.w r3, [r2, #3580] @ 0xdfc 700016e8: f043 7380 orr.w r3, r3, #16777216 @ 0x1000000 700016ec: f8c2 3dfc str.w r3, [r2, #3580] @ 0xdfc // Enable Lock Access Register *((volatile unsigned int*)0xE0001FB0) |= 0xC5ACCE55; 700016f0: 4b05 ldr r3, [pc, #20] @ (70001708 <_ZN8touchgfx25CortexMMCUInstrumentation4initEv+0x28>) 700016f2: 4a06 ldr r2, [pc, #24] @ (7000170c <_ZN8touchgfx25CortexMMCUInstrumentation4initEv+0x2c>) 700016f4: f8d3 1fb0 ldr.w r1, [r3, #4016] @ 0xfb0 700016f8: 430a orrs r2, r1 700016fa: f8c3 2fb0 str.w r2, [r3, #4016] @ 0xfb0 // Enable Data Watchpoint and Trace Control Register *((volatile unsigned int*)0xE0001000) |= 1; 700016fe: 681a ldr r2, [r3, #0] 70001700: f042 0201 orr.w r2, r2, #1 70001704: 601a str r2, [r3, #0] } 70001706: 4770 bx lr 70001708: e0001000 .word 0xe0001000 7000170c: c5acce55 .word 0xc5acce55 70001710 <_ZN8touchgfx25CortexMMCUInstrumentation12getElapsedUSEjjj>: //Board specific clockfrequency unsigned int CortexMMCUInstrumentation::getElapsedUS(unsigned int start, unsigned int now, unsigned int clockfrequency) { return ((now - start) + (clockfrequency / 2)) / clockfrequency; 70001710: 1a52 subs r2, r2, r1 70001712: eb02 0253 add.w r2, r2, r3, lsr #1 } 70001716: fbb2 f0f3 udiv r0, r2, r3 7000171a: 4770 bx lr 7000171c <_ZN8touchgfx25CortexMMCUInstrumentation12getCPUCyclesEv>: unsigned int CortexMMCUInstrumentation::getCPUCycles() { return *((volatile unsigned int*)0xE0001004); 7000171c: 4b01 ldr r3, [pc, #4] @ (70001724 <_ZN8touchgfx25CortexMMCUInstrumentation12getCPUCyclesEv+0x8>) 7000171e: 6858 ldr r0, [r3, #4] } 70001720: 4770 bx lr 70001722: bf00 nop 70001724: e0001000 .word 0xe0001000 70001728 <_ZN8touchgfx25CortexMMCUInstrumentationD1Ev>: * Interface for instrumenting Cortex-M processors to measure MCU load via measured CPU * cycles. * * @sa MCUInstrumentation */ class CortexMMCUInstrumentation : public MCUInstrumentation 70001728: 4770 bx lr 7000172a <_ZN8touchgfx25CortexMMCUInstrumentationD0Ev>: 7000172a: b510 push {r4, lr} 7000172c: 4604 mov r4, r0 7000172e: 210c movs r1, #12 70001730: f038 f841 bl 700397b6 <_ZdlPvj> 70001734: 4620 mov r0, r4 70001736: bd10 pop {r4, pc} 70001738 <_ZN8touchgfx25CortexMMCUInstrumentation12setMCUActiveEb>: void CortexMMCUInstrumentation::setMCUActive(bool active) { if (active) //idle task sched out { uint32_t cc_temp = getCPUCycles() - cc_in; 70001738: 6803 ldr r3, [r0, #0] { 7000173a: b510 push {r4, lr} uint32_t cc_temp = getCPUCycles() - cc_in; 7000173c: 691b ldr r3, [r3, #16] { 7000173e: 4604 mov r4, r0 if (active) //idle task sched out 70001740: b131 cbz r1, 70001750 <_ZN8touchgfx25CortexMMCUInstrumentation12setMCUActiveEb+0x18> uint32_t cc_temp = getCPUCycles() - cc_in; 70001742: 4798 blx r3 70001744: 68a2 ldr r2, [r4, #8] cc_consumed += cc_temp; 70001746: 6863 ldr r3, [r4, #4] 70001748: 1a9b subs r3, r3, r2 7000174a: 4403 add r3, r0 7000174c: 6063 str r3, [r4, #4] } else //idle task sched in { cc_in = getCPUCycles(); } } 7000174e: bd10 pop {r4, pc} cc_in = getCPUCycles(); 70001750: 4798 blx r3 70001752: 60a0 str r0, [r4, #8] } 70001754: e7fb b.n 7000174e <_ZN8touchgfx25CortexMMCUInstrumentation12setMCUActiveEb+0x16> 70001756 <_ZN20STM32TouchController4initEv>: } void STM32TouchController::init() { // No init needed } 70001756: 4770 bx lr 70001758 <_ZN20STM32TouchControllerD1Ev>: * @brief This class specializes TouchController Interface. * * @sa touchgfx::TouchController */ class STM32TouchController : public touchgfx::TouchController 70001758: 4770 bx lr 7000175a <_ZN20STM32TouchControllerD0Ev>: 7000175a: b510 push {r4, lr} 7000175c: 4604 mov r4, r0 7000175e: 2104 movs r1, #4 70001760: f038 f829 bl 700397b6 <_ZdlPvj> 70001764: 4620 mov r0, r4 70001766: bd10 pop {r4, pc} 70001768 <_ZN20STM32TouchController11sampleTouchERlS0_>: bool STM32TouchController::sampleTouch(int32_t& x, int32_t& y) { 70001768: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} */ __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) { if ((int32_t)(IRQn) >= 0) { NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 7000176c: 4b2a ldr r3, [pc, #168] @ (70001818 <_ZN20STM32TouchController11sampleTouchERlS0_+0xb0>) 7000176e: b089 sub sp, #36 @ 0x24 70001770: 4615 mov r5, r2 uint8_t touches = 0; uint8_t buf[6]; const uint16_t STATUS_REG = 0x814E; const uint16_t TOUCH_POS_REG = 0x8150; uint8_t ZERO = 0; 70001772: f04f 0a00 mov.w sl, #0 70001776: f44f 2200 mov.w r2, #524288 @ 0x80000 { 7000177a: 460e mov r6, r1 uint8_t ZERO = 0; 7000177c: f88d a017 strb.w sl, [sp, #23] 70001780: f8c3 2080 str.w r2, [r3, #128] @ 0x80 __ASM volatile ("dsb 0xF":::"memory"); 70001784: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 70001788: f3bf 8f6f isb sy NVIC_DisableIRQ(TP_IRQ_EXTI_IRQn); if (doSampleTouch) 7000178c: f8df 9090 ldr.w r9, [pc, #144] @ 70001820 <_ZN20STM32TouchController11sampleTouchERlS0_+0xb8> 70001790: f899 3000 ldrb.w r3, [r9] 70001794: f003 04ff and.w r4, r3, #255 @ 0xff 70001798: b3a3 cbz r3, 70001804 <_ZN20STM32TouchController11sampleTouchERlS0_+0x9c> { HAL_I2C_Mem_Read(&hi2c1, 0xBA, STATUS_REG, 2, buf, 1, HAL_MAX_DELAY); 7000179a: f04f 0b01 mov.w fp, #1 7000179e: f04f 37ff mov.w r7, #4294967295 @ 0xffffffff 700017a2: f10d 0818 add.w r8, sp, #24 700017a6: 2302 movs r3, #2 700017a8: f248 124e movw r2, #33102 @ 0x814e 700017ac: 21ba movs r1, #186 @ 0xba 700017ae: 481b ldr r0, [pc, #108] @ (7000181c <_ZN20STM32TouchController11sampleTouchERlS0_+0xb4>) 700017b0: f8cd 8000 str.w r8, [sp] 700017b4: e9cd b701 strd fp, r7, [sp, #4] 700017b8: f004 ffcc bl 70006754 touches = (0x0F & buf[0]); 700017bc: f89d 4018 ldrb.w r4, [sp, #24] HAL_I2C_Mem_Write(&hi2c1, 0xBA, STATUS_REG, 2, &ZERO, 1, HAL_MAX_DELAY); 700017c0: f10d 0317 add.w r3, sp, #23 700017c4: f248 124e movw r2, #33102 @ 0x814e touches = (0x0F & buf[0]); 700017c8: f004 040f and.w r4, r4, #15 HAL_I2C_Mem_Write(&hi2c1, 0xBA, STATUS_REG, 2, &ZERO, 1, HAL_MAX_DELAY); 700017cc: 21ba movs r1, #186 @ 0xba 700017ce: 9300 str r3, [sp, #0] 700017d0: 2302 movs r3, #2 700017d2: 4812 ldr r0, [pc, #72] @ (7000181c <_ZN20STM32TouchController11sampleTouchERlS0_+0xb4>) 700017d4: e9cd b701 strd fp, r7, [sp, #4] 700017d8: f004 fee2 bl 700065a0 doSampleTouch = false; 700017dc: f889 a000 strb.w sl, [r9] if (touches > 0) 700017e0: b184 cbz r4, 70001804 <_ZN20STM32TouchController11sampleTouchERlS0_+0x9c> { HAL_I2C_Mem_Read(&hi2c1, 0xBA, TOUCH_POS_REG, 2, buf, 4, HAL_MAX_DELAY); 700017e2: 2304 movs r3, #4 700017e4: f248 1250 movw r2, #33104 @ 0x8150 700017e8: 21ba movs r1, #186 @ 0xba 700017ea: 480c ldr r0, [pc, #48] @ (7000181c <_ZN20STM32TouchController11sampleTouchERlS0_+0xb4>) 700017ec: 9702 str r7, [sp, #8] 700017ee: e9cd 8300 strd r8, r3, [sp] 700017f2: 2302 movs r3, #2 700017f4: f004 ffae bl 70006754 x = buf[0] + (buf[1] << 8); 700017f8: f8bd 3018 ldrh.w r3, [sp, #24] 700017fc: 6033 str r3, [r6, #0] y = buf[2] + (buf[3] << 8); 700017fe: f8bd 301a ldrh.w r3, [sp, #26] 70001802: 602b str r3, [r5, #0] NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 70001804: 4b04 ldr r3, [pc, #16] @ (70001818 <_ZN20STM32TouchController11sampleTouchERlS0_+0xb0>) 70001806: f44f 2200 mov.w r2, #524288 @ 0x80000 7000180a: 601a str r2, [r3, #0] } } NVIC_EnableIRQ(TP_IRQ_EXTI_IRQn); return (touches > 0); } 7000180c: 1e20 subs r0, r4, #0 7000180e: bf18 it ne 70001810: 2001 movne r0, #1 70001812: b009 add sp, #36 @ 0x24 70001814: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70001818: e000e100 .word 0xe000e100 7000181c: 24009bd4 .word 0x24009bd4 70001820: 24009ea8 .word 0x24009ea8 70001824 : if (GPIO_Pin == TP_IRQ_Pin) 70001824: 2808 cmp r0, #8 70001826: d102 bne.n 7000182e doSampleTouch = true; 70001828: 4b01 ldr r3, [pc, #4] @ (70001830 ) 7000182a: 2201 movs r2, #1 7000182c: 701a strb r2, [r3, #0] } 7000182e: 4770 bx lr 70001830: 24009ea8 .word 0x24009ea8 70001834 <_ZN8touchgfx4GPIO4initEv>: * Perform configuration of IO pins. */ void GPIO::init() { } 70001834: 4770 bx lr ... 70001838 <_ZN8touchgfx4GPIO3setENS0_7GPIO_IDE>: /* * Sets a pin high. */ void GPIO::set(GPIO_ID id) { switch (id) 70001838: 2803 cmp r0, #3 7000183a: d811 bhi.n 70001860 <_ZN8touchgfx4GPIO3setENS0_7GPIO_IDE+0x28> 7000183c: e8df f000 tbb [pc, r0] 70001840: 0d0a0702 .word 0x0d0a0702 { case GPIO::VSYNC_FREQ: #if defined(VSYNC_FREQ_GPIO_Port) && defined(VSYNC_FREQ_Pin) HAL_GPIO_WritePin(VSYNC_FREQ_GPIO_Port, VSYNC_FREQ_Pin, GPIO_PIN_SET); 70001844: 2201 movs r2, #1 70001846: 2102 movs r1, #2 HAL_GPIO_WritePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin, GPIO_PIN_SET); #endif break; case GPIO::MCU_ACTIVE: #if defined(MCU_ACTIVE_GPIO_Port) && defined(MCU_ACTIVE_Pin) HAL_GPIO_WritePin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin, GPIO_PIN_SET); 70001848: 4806 ldr r0, [pc, #24] @ (70001864 <_ZN8touchgfx4GPIO3setENS0_7GPIO_IDE+0x2c>) 7000184a: f004 bc43 b.w 700060d4 HAL_GPIO_WritePin(RENDER_TIME_GPIO_Port, RENDER_TIME_Pin, GPIO_PIN_SET); 7000184e: 2201 movs r2, #1 70001850: 2104 movs r1, #4 70001852: e7f9 b.n 70001848 <_ZN8touchgfx4GPIO3setENS0_7GPIO_IDE+0x10> HAL_GPIO_WritePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin, GPIO_PIN_SET); 70001854: 2201 movs r2, #1 70001856: 2108 movs r1, #8 70001858: e7f6 b.n 70001848 <_ZN8touchgfx4GPIO3setENS0_7GPIO_IDE+0x10> HAL_GPIO_WritePin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin, GPIO_PIN_SET); 7000185a: 2201 movs r2, #1 7000185c: 2110 movs r1, #16 7000185e: e7f3 b.n 70001848 <_ZN8touchgfx4GPIO3setENS0_7GPIO_IDE+0x10> #endif break; } } 70001860: 4770 bx lr 70001862: bf00 nop 70001864: 58021400 .word 0x58021400 70001868 <_ZN8touchgfx4GPIO5clearENS0_7GPIO_IDE>: /* * Sets a pin low. */ void GPIO::clear(GPIO_ID id) { switch (id) 70001868: 2803 cmp r0, #3 7000186a: d811 bhi.n 70001890 <_ZN8touchgfx4GPIO5clearENS0_7GPIO_IDE+0x28> 7000186c: e8df f000 tbb [pc, r0] 70001870: 0d0a0702 .word 0x0d0a0702 { case GPIO::VSYNC_FREQ: #if defined(VSYNC_FREQ_GPIO_Port) && defined(VSYNC_FREQ_Pin) HAL_GPIO_WritePin(VSYNC_FREQ_GPIO_Port, VSYNC_FREQ_Pin, GPIO_PIN_RESET); 70001874: 2200 movs r2, #0 70001876: 2102 movs r1, #2 HAL_GPIO_WritePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin, GPIO_PIN_RESET); #endif break; case GPIO::MCU_ACTIVE: #if defined(MCU_ACTIVE_GPIO_Port) && defined(MCU_ACTIVE_Pin) HAL_GPIO_WritePin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin, GPIO_PIN_RESET); 70001878: 4806 ldr r0, [pc, #24] @ (70001894 <_ZN8touchgfx4GPIO5clearENS0_7GPIO_IDE+0x2c>) 7000187a: f004 bc2b b.w 700060d4 HAL_GPIO_WritePin(RENDER_TIME_GPIO_Port, RENDER_TIME_Pin, GPIO_PIN_RESET); 7000187e: 2200 movs r2, #0 70001880: 2104 movs r1, #4 70001882: e7f9 b.n 70001878 <_ZN8touchgfx4GPIO5clearENS0_7GPIO_IDE+0x10> HAL_GPIO_WritePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin, GPIO_PIN_RESET); 70001884: 2200 movs r2, #0 70001886: 2108 movs r1, #8 70001888: e7f6 b.n 70001878 <_ZN8touchgfx4GPIO5clearENS0_7GPIO_IDE+0x10> HAL_GPIO_WritePin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin, GPIO_PIN_RESET); 7000188a: 2200 movs r2, #0 7000188c: 2110 movs r1, #16 7000188e: e7f3 b.n 70001878 <_ZN8touchgfx4GPIO5clearENS0_7GPIO_IDE+0x10> #endif break; } } 70001890: 4770 bx lr 70001892: bf00 nop 70001894: 58021400 .word 0x58021400 70001898 <_ZN8touchgfx4GPIO6toggleENS0_7GPIO_IDE>: /* * Toggles a pin. */ void GPIO::toggle(GPIO_ID id) { switch (id) 70001898: 2803 cmp r0, #3 7000189a: d80d bhi.n 700018b8 <_ZN8touchgfx4GPIO6toggleENS0_7GPIO_IDE+0x20> 7000189c: e8df f000 tbb [pc, r0] 700018a0: 0a080602 .word 0x0a080602 { case GPIO::VSYNC_FREQ: #if defined(VSYNC_FREQ_GPIO_Port) && defined(VSYNC_FREQ_Pin) HAL_GPIO_TogglePin(VSYNC_FREQ_GPIO_Port, VSYNC_FREQ_Pin); 700018a4: 2102 movs r1, #2 HAL_GPIO_TogglePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin); #endif break; case GPIO::MCU_ACTIVE: #if defined(MCU_ACTIVE_GPIO_Port) && defined(MCU_ACTIVE_Pin) HAL_GPIO_TogglePin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin); 700018a6: 4805 ldr r0, [pc, #20] @ (700018bc <_ZN8touchgfx4GPIO6toggleENS0_7GPIO_IDE+0x24>) 700018a8: f004 bc19 b.w 700060de HAL_GPIO_TogglePin(RENDER_TIME_GPIO_Port, RENDER_TIME_Pin); 700018ac: 2104 movs r1, #4 700018ae: e7fa b.n 700018a6 <_ZN8touchgfx4GPIO6toggleENS0_7GPIO_IDE+0xe> HAL_GPIO_TogglePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin); 700018b0: 2108 movs r1, #8 700018b2: e7f8 b.n 700018a6 <_ZN8touchgfx4GPIO6toggleENS0_7GPIO_IDE+0xe> HAL_GPIO_TogglePin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin); 700018b4: 2110 movs r1, #16 700018b6: e7f6 b.n 700018a6 <_ZN8touchgfx4GPIO6toggleENS0_7GPIO_IDE+0xe> #endif break; } } 700018b8: 4770 bx lr 700018ba: bf00 nop 700018bc: 58021400 .word 0x58021400 700018c0 <_ZN8touchgfx3HAL21setDisplayOrientationENS_18DisplayOrientationE>: * @note A screen transition must occur before this takes effect! */ virtual void setDisplayOrientation(DisplayOrientation orientation) { requestedOrientation = orientation; displayOrientationChangeRequested = true; 700018c0: 2301 movs r3, #1 requestedOrientation = orientation; 700018c2: f880 107c strb.w r1, [r0, #124] @ 0x7c displayOrientationChangeRequested = true; 700018c6: f880 307d strb.w r3, [r0, #125] @ 0x7d } 700018ca: 4770 bx lr 700018cc <_ZN8touchgfx3HAL9sampleKeyERh>: */ virtual bool sampleKey(uint8_t& key) { (void)key; // Unused variable return false; } 700018cc: 2000 movs r0, #0 700018ce: 4770 bx lr 700018d0 <_ZN8touchgfx3HAL19setAnimationStorageEPv>: * * @see setFrameBufferStartAddresses */ virtual void setAnimationStorage(void* animationStorage) { frameBuffer2 = reinterpret_cast(animationStorage); 700018d0: 6481 str r1, [r0, #72] @ 0x48 USE_ANIMATION_STORAGE = animationStorage != 0; 700018d2: 3900 subs r1, #0 700018d4: 4b02 ldr r3, [pc, #8] @ (700018e0 <_ZN8touchgfx3HAL19setAnimationStorageEPv+0x10>) 700018d6: bf18 it ne 700018d8: 2101 movne r1, #1 700018da: 7019 strb r1, [r3, #0] } 700018dc: 4770 bx lr 700018de: bf00 nop 700018e0: 2400da73 .word 0x2400da73 700018e4 <_ZN8touchgfx3HAL16waitForLTDCLinesEt>: * * @param numberOfLines Number of lines to wait. */ virtual void waitForLTDCLines(uint16_t numberOfLines) { } 700018e4: 4770 bx lr 700018e6 <_ZNK8touchgfx3HAL18getFlashDataReaderEv>: * @return the FlashDataReader. */ virtual FlashDataReader* getFlashDataReader() const { return 0; } 700018e6: 2000 movs r0, #0 700018e8: 4770 bx lr 700018ea <_ZN8touchgfx3HAL9taskDelayEt>: * * @see registerTaskDelayFunction */ virtual void taskDelay(uint16_t ms) { if (taskDelayFunc) 700018ea: 6bc3 ldr r3, [r0, #60] @ 0x3c 700018ec: b10b cbz r3, 700018f2 <_ZN8touchgfx3HAL9taskDelayEt+0x8> { taskDelayFunc(ms); 700018ee: 4608 mov r0, r1 700018f0: 4718 bx r3 } } 700018f2: 4770 bx lr 700018f4 <_ZN8touchgfx3HAL17getTFTCurrentLineEv>: * implemented". */ virtual uint16_t getTFTCurrentLine() { return 0xFFFFu; } 700018f4: f64f 70ff movw r0, #65535 @ 0xffff 700018f8: 4770 bx lr 700018fa <_ZN8touchgfx3HAL10getDMATypeEv>: * * @return a DMAType value of the concrete DMA implementation. */ virtual DMAType getDMAType() { return dma.getDMAType(); 700018fa: 6840 ldr r0, [r0, #4] 700018fc: 6803 ldr r3, [r0, #0] 700018fe: 699b ldr r3, [r3, #24] 70001900: 4718 bx r3 70001902 <_ZN8touchgfx3HAL25partialLTDCDeadlineMissedEv>: * This empty function can be overridden to e.g. output this error condition * on a pin. */ virtual void partialLTDCDeadlineMissed() { } 70001902: 4770 bx lr 70001904 <_ZN11TouchGFXHALD1Ev>: * * @brief HAL implementation for TouchGFX. * * @sa HAL */ class TouchGFXHAL : public TouchGFXGeneratedHAL 70001904: 4770 bx lr ... 70001908 <_ZN11TouchGFXHAL10initializeEv>: LOCATION_PRAGMA_NOLOAD("TouchGFX_Framebuffer") uint32_t animationBuffer[(800 * 480 * 2 + 3) / 4] LOCATION_ATTRIBUTE_NOLOAD("TouchGFX_Framebuffer"); } void TouchGFXHAL::initialize() { 70001908: b538 push {r3, r4, r5, lr} 7000190a: 4604 mov r4, r0 // // To overwrite the generated implementation, omit call to parent function // and implemented needed functionality here. // Please note, HAL::initialize() must be called to initialize the framework. TouchGFXGeneratedHAL::initialize(); 7000190c: f001 fbb2 bl 70003074 <_ZN20TouchGFXGeneratedHAL10initializeEv> setAnimationStorage((void*)animationBuffer); //enable the animation storage to allow slide animations 70001910: 4907 ldr r1, [pc, #28] @ (70001930 <_ZN11TouchGFXHAL10initializeEv+0x28>) 70001912: 6823 ldr r3, [r4, #0] instrumentation.init(); 70001914: f104 05c8 add.w r5, r4, #200 @ 0xc8 setAnimationStorage((void*)animationBuffer); //enable the animation storage to allow slide animations 70001918: 4620 mov r0, r4 7000191a: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 7000191e: 4798 blx r3 instrumentation.init(); 70001920: 4628 mov r0, r5 70001922: f7ff fedd bl 700016e0 <_ZN8touchgfx25CortexMMCUInstrumentation4initEv> updateMCULoad = enabled; 70001926: 2301 movs r3, #1 mcuInstrumentation = mcuInstr; 70001928: 6125 str r5, [r4, #16] updateMCULoad = enabled; 7000192a: f884 3074 strb.w r3, [r4, #116] @ 0x74 setMCUInstrumentation(&instrumentation); enableMCULoadCalculation(true); } 7000192e: bd38 pop {r3, r4, r5, pc} 70001930: 90000000 .word 0x90000000 70001934 <_ZNK11TouchGFXHAL17getTFTFrameBufferEv>: // Calling parent implementation of getTFTFrameBuffer(). // // To overwrite the generated implementation, omit call to parent function // and implemented needed functionality here. return TouchGFXGeneratedHAL::getTFTFrameBuffer(); 70001934: f001 bb7e b.w 70003034 <_ZNK20TouchGFXGeneratedHAL17getTFTFrameBufferEv> 70001938 <_ZN11TouchGFXHAL17setTFTFrameBufferEPt>: // Calling parent implementation of setTFTFrameBuffer(uint16_t* address). // // To overwrite the generated implementation, omit call to parent function // and implemented needed functionality here. TouchGFXGeneratedHAL::setTFTFrameBuffer(address); 70001938: f001 bb82 b.w 70003040 <_ZN20TouchGFXGeneratedHAL17setTFTFrameBufferEPt> 7000193c <_ZN11TouchGFXHAL16flushFrameBufferERKN8touchgfx4RectE>: // be called to notify the touchgfx framework that flush has been performed. // To calculate he start adress of rect, // use advanceFrameBufferToRect(uint8_t* fbPtr, const touchgfx::Rect& rect) // defined in TouchGFXGeneratedHAL.cpp TouchGFXGeneratedHAL::flushFrameBuffer(rect); 7000193c: f001 bc4e b.w 700031dc <_ZN20TouchGFXGeneratedHAL16flushFrameBufferERKN8touchgfx4RectE> 70001940 <_ZN11TouchGFXHAL9blockCopyEPvPKvm>: } bool TouchGFXHAL::blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes) { return TouchGFXGeneratedHAL::blockCopy(dest, src, numBytes); 70001940: f001 bc4e b.w 700031e0 <_ZN20TouchGFXGeneratedHAL9blockCopyEPvPKvm> 70001944 <_ZN11TouchGFXHAL19configureInterruptsEv>: // Calling parent implementation of configureInterrupts(). // // To overwrite the generated implementation, omit call to parent function // and implemented needed functionality here. TouchGFXGeneratedHAL::configureInterrupts(); 70001944: f001 bb50 b.w 70002fe8 <_ZN20TouchGFXGeneratedHAL19configureInterruptsEv> 70001948 <_ZN11TouchGFXHAL16enableInterruptsEv>: // Calling parent implementation of enableInterrupts(). // // To overwrite the generated implementation, omit call to parent function // and implemented needed functionality here. TouchGFXGeneratedHAL::enableInterrupts(); 70001948: f001 bde2 b.w 70003510 <_ZN20TouchGFXGeneratedHAL16enableInterruptsEv> 7000194c <_ZN11TouchGFXHAL17disableInterruptsEv>: // Calling parent implementation of disableInterrupts(). // // To overwrite the generated implementation, omit call to parent function // and implemented needed functionality here. TouchGFXGeneratedHAL::disableInterrupts(); 7000194c: f001 bdc6 b.w 700034dc <_ZN20TouchGFXGeneratedHAL17disableInterruptsEv> 70001950 <_ZN11TouchGFXHAL28enableLCDControllerInterruptEv>: // Calling parent implementation of enableLCDControllerInterrupt(). // // To overwrite the generated implementation, omit call to parent function // and implemented needed functionality here. TouchGFXGeneratedHAL::enableLCDControllerInterrupt(); 70001950: f001 bb56 b.w 70003000 <_ZN20TouchGFXGeneratedHAL28enableLCDControllerInterruptEv> 70001954 <_ZN11TouchGFXHAL10beginFrameEv>: } bool TouchGFXHAL::beginFrame() { return TouchGFXGeneratedHAL::beginFrame(); 70001954: f001 bc3c b.w 700031d0 <_ZN20TouchGFXGeneratedHAL10beginFrameEv> 70001958 <_ZN11TouchGFXHAL8endFrameEv>: } void TouchGFXHAL::endFrame() { TouchGFXGeneratedHAL::endFrame(); 70001958: f001 bc3c b.w 700031d4 <_ZN20TouchGFXGeneratedHAL8endFrameEv> 7000195c <_ZN8touchgfx3HAL15backPorchExitedEv>: virtual void backPorchExited() 7000195c: b510 push {r4, lr} 7000195e: 4604 mov r4, r0 swapFrameBuffers(); 70001960: f00d fda0 bl 7000f4a4 <_ZN8touchgfx3HAL16swapFrameBuffersEv> tick(); 70001964: 6823 ldr r3, [r4, #0] 70001966: 4620 mov r0, r4 70001968: f8d3 30bc ldr.w r3, [r3, #188] @ 0xbc } 7000196c: e8bd 4010 ldmia.w sp!, {r4, lr} tick(); 70001970: 4718 bx r3 70001972 <_ZN20TouchGFXGeneratedHAL17unlockFrameBufferEv>: * This specialization is marks DMA2D as un-reserved by the framwork. * @see HAL::unlockFrameBuffer */ virtual void unlockFrameBuffer() { HAL::unlockFrameBuffer(); 70001972: f00d b8b5 b.w 7000eae0 <_ZN8touchgfx3HAL17unlockFrameBufferEv> 70001976 <_ZN11TouchGFXHAL16flushFrameBufferEv>: HAL::flushFrameBuffer(); 70001976: f00c bf6c b.w 7000e852 <_ZN8touchgfx3HAL16flushFrameBufferEv> 7000197a <_ZN11TouchGFXHALD0Ev>: 7000197a: b510 push {r4, lr} 7000197c: 4604 mov r4, r0 7000197e: 21d4 movs r1, #212 @ 0xd4 70001980: f037 ff19 bl 700397b6 <_ZdlPvj> 70001984: 4620 mov r0, r4 70001986: bd10 pop {r4, pc} 70001988 <_ZN8touchgfx3HAL31performDisplayOrientationChangeEv>: virtual void noTouch(); /** Perform the actual display orientation change. */ virtual void performDisplayOrientationChange() { if (requestedOrientation != nativeDisplayOrientation) 70001988: f890 1038 ldrb.w r1, [r0, #56] @ 0x38 { if (DISPLAY_ROTATION == rotate0) 7000198c: 4b0d ldr r3, [pc, #52] @ (700019c4 <_ZN8touchgfx3HAL31performDisplayOrientationChangeEv+0x3c>) virtual void performDisplayOrientationChange() 7000198e: b510 push {r4, lr} if (requestedOrientation != nativeDisplayOrientation) 70001990: f890 407c ldrb.w r4, [r0, #124] @ 0x7c if (DISPLAY_ROTATION == rotate0) 70001994: 781a ldrb r2, [r3, #0] if (requestedOrientation != nativeDisplayOrientation) 70001996: 428c cmp r4, r1 70001998: d009 beq.n 700019ae <_ZN8touchgfx3HAL31performDisplayOrientationChangeEv+0x26> if (DISPLAY_ROTATION == rotate0) 7000199a: b93a cbnz r2, 700019ac <_ZN8touchgfx3HAL31performDisplayOrientationChangeEv+0x24> { const uint16_t tmp = DISPLAY_HEIGHT; 7000199c: 490a ldr r1, [pc, #40] @ (700019c8 <_ZN8touchgfx3HAL31performDisplayOrientationChangeEv+0x40>) DISPLAY_HEIGHT = DISPLAY_WIDTH; 7000199e: 4a0b ldr r2, [pc, #44] @ (700019cc <_ZN8touchgfx3HAL31performDisplayOrientationChangeEv+0x44>) const uint16_t tmp = DISPLAY_HEIGHT; 700019a0: 8808 ldrh r0, [r1, #0] DISPLAY_HEIGHT = DISPLAY_WIDTH; 700019a2: 8814 ldrh r4, [r2, #0] DISPLAY_WIDTH = tmp; 700019a4: 8010 strh r0, [r2, #0] DISPLAY_ROTATION = rotate90; 700019a6: 2201 movs r2, #1 DISPLAY_HEIGHT = DISPLAY_WIDTH; 700019a8: 800c strh r4, [r1, #0] else if (DISPLAY_ROTATION != rotate0) { const uint16_t tmp = DISPLAY_HEIGHT; DISPLAY_HEIGHT = DISPLAY_WIDTH; DISPLAY_WIDTH = tmp; DISPLAY_ROTATION = rotate0; 700019aa: 701a strb r2, [r3, #0] } } 700019ac: bd10 pop {r4, pc} else if (DISPLAY_ROTATION != rotate0) 700019ae: 2a00 cmp r2, #0 700019b0: d0fc beq.n 700019ac <_ZN8touchgfx3HAL31performDisplayOrientationChangeEv+0x24> DISPLAY_HEIGHT = DISPLAY_WIDTH; 700019b2: 4a06 ldr r2, [pc, #24] @ (700019cc <_ZN8touchgfx3HAL31performDisplayOrientationChangeEv+0x44>) const uint16_t tmp = DISPLAY_HEIGHT; 700019b4: 4904 ldr r1, [pc, #16] @ (700019c8 <_ZN8touchgfx3HAL31performDisplayOrientationChangeEv+0x40>) DISPLAY_HEIGHT = DISPLAY_WIDTH; 700019b6: 8814 ldrh r4, [r2, #0] const uint16_t tmp = DISPLAY_HEIGHT; 700019b8: 8808 ldrh r0, [r1, #0] DISPLAY_HEIGHT = DISPLAY_WIDTH; 700019ba: 800c strh r4, [r1, #0] DISPLAY_WIDTH = tmp; 700019bc: 8010 strh r0, [r2, #0] DISPLAY_ROTATION = rotate0; 700019be: 2200 movs r2, #0 700019c0: e7f3 b.n 700019aa <_ZN8touchgfx3HAL31performDisplayOrientationChangeEv+0x22> 700019c2: bf00 nop 700019c4: 2400da72 .word 0x2400da72 700019c8: 2400da7a .word 0x2400da7a 700019cc: 2400da7c .word 0x2400da7c 700019d0 <_ZN8touchgfx3HAL18setFrameBufferSizeEtt>: virtual void setFrameBufferSize(uint16_t width, uint16_t height) 700019d0: b508 push {r3, lr} assert(width >= DISPLAY_WIDTH && height >= DISPLAY_HEIGHT && "Framebuffer cannot be smaller than display"); 700019d2: 4b09 ldr r3, [pc, #36] @ (700019f8 <_ZN8touchgfx3HAL18setFrameBufferSizeEtt+0x28>) 700019d4: 881b ldrh r3, [r3, #0] 700019d6: 428b cmp r3, r1 700019d8: d803 bhi.n 700019e2 <_ZN8touchgfx3HAL18setFrameBufferSizeEtt+0x12> 700019da: 4b08 ldr r3, [pc, #32] @ (700019fc <_ZN8touchgfx3HAL18setFrameBufferSizeEtt+0x2c>) 700019dc: 881b ldrh r3, [r3, #0] 700019de: 4293 cmp r3, r2 700019e0: d905 bls.n 700019ee <_ZN8touchgfx3HAL18setFrameBufferSizeEtt+0x1e> 700019e2: 4b07 ldr r3, [pc, #28] @ (70001a00 <_ZN8touchgfx3HAL18setFrameBufferSizeEtt+0x30>) 700019e4: 21a5 movs r1, #165 @ 0xa5 700019e6: 4a07 ldr r2, [pc, #28] @ (70001a04 <_ZN8touchgfx3HAL18setFrameBufferSizeEtt+0x34>) 700019e8: 4807 ldr r0, [pc, #28] @ (70001a08 <_ZN8touchgfx3HAL18setFrameBufferSizeEtt+0x38>) 700019ea: f039 fae3 bl 7003afb4 <__assert_func> FRAME_BUFFER_WIDTH = width; 700019ee: 4b07 ldr r3, [pc, #28] @ (70001a0c <_ZN8touchgfx3HAL18setFrameBufferSizeEtt+0x3c>) 700019f0: 8019 strh r1, [r3, #0] FRAME_BUFFER_HEIGHT = height; 700019f2: 4b07 ldr r3, [pc, #28] @ (70001a10 <_ZN8touchgfx3HAL18setFrameBufferSizeEtt+0x40>) 700019f4: 801a strh r2, [r3, #0] } 700019f6: bd08 pop {r3, pc} 700019f8: 2400da7c .word 0x2400da7c 700019fc: 2400da7a .word 0x2400da7a 70001a00: 7003cff5 .word 0x7003cff5 70001a04: 7003d058 .word 0x7003d058 70001a08: 7003d09b .word 0x7003d09b 70001a0c: 2400da78 .word 0x2400da78 70001a10: 2400da76 .word 0x2400da76 70001a14 <_ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_>: virtual void setFrameBufferStartAddresses(void* frameBuffer, void* doubleBuffer, void* animationStorage) 70001a14: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70001a18: 460d mov r5, r1 70001a1a: 4604 mov r4, r0 70001a1c: 4619 mov r1, r3 assert(frameBuffer != 0 && "A framebuffer address must be set"); 70001a1e: b935 cbnz r5, 70001a2e <_ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_+0x1a> 70001a20: 4b15 ldr r3, [pc, #84] @ (70001a78 <_ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_+0x64>) 70001a22: f240 3101 movw r1, #769 @ 0x301 70001a26: 4a15 ldr r2, [pc, #84] @ (70001a7c <_ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_+0x68>) 70001a28: 4815 ldr r0, [pc, #84] @ (70001a80 <_ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_+0x6c>) 70001a2a: f039 fac3 bl 7003afb4 <__assert_func> frameBuffer1 = reinterpret_cast(doubleBuffer); 70001a2e: e9c0 5210 strd r5, r2, [r0, #64] @ 0x40 USE_DOUBLE_BUFFERING = doubleBuffer != 0; 70001a32: 3a00 subs r2, #0 setAnimationStorage(animationStorage); 70001a34: 6803 ldr r3, [r0, #0] USE_DOUBLE_BUFFERING = doubleBuffer != 0; 70001a36: 4e13 ldr r6, [pc, #76] @ (70001a84 <_ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_+0x70>) 70001a38: bf18 it ne 70001a3a: 2201 movne r2, #1 setAnimationStorage(animationStorage); 70001a3c: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 USE_DOUBLE_BUFFERING = doubleBuffer != 0; 70001a40: 7032 strb r2, [r6, #0] setAnimationStorage(animationStorage); 70001a42: 4798 blx r3 if (frameBufferListener) 70001a44: 69e5 ldr r5, [r4, #28] 70001a46: b1a5 cbz r5, 70001a72 <_ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_+0x5e> frameBufferListener->setFrameBuffer((uint8_t*)getClientFrameBuffer(), HAL::FRAME_BUFFER_WIDTH); 70001a48: 682b ldr r3, [r5, #0] 70001a4a: 681f ldr r7, [r3, #0] if (USE_DOUBLE_BUFFERING && getTFTFrameBuffer() == frameBuffer0) 70001a4c: 7833 ldrb r3, [r6, #0] 70001a4e: b173 cbz r3, 70001a6e <_ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_+0x5a> 70001a50: 6823 ldr r3, [r4, #0] 70001a52: 4620 mov r0, r4 70001a54: 6b5b ldr r3, [r3, #52] @ 0x34 70001a56: 4798 blx r3 70001a58: 6c23 ldr r3, [r4, #64] @ 0x40 70001a5a: 4283 cmp r3, r0 70001a5c: d107 bne.n 70001a6e <_ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_+0x5a> return frameBuffer1; 70001a5e: 6c61 ldr r1, [r4, #68] @ 0x44 frameBufferListener->setFrameBuffer((uint8_t*)getClientFrameBuffer(), HAL::FRAME_BUFFER_WIDTH); 70001a60: 4b09 ldr r3, [pc, #36] @ (70001a88 <_ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_+0x74>) 70001a62: 4628 mov r0, r5 70001a64: 881a ldrh r2, [r3, #0] 70001a66: 463b mov r3, r7 } 70001a68: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} frameBufferListener->setFrameBuffer((uint8_t*)getClientFrameBuffer(), HAL::FRAME_BUFFER_WIDTH); 70001a6c: 4718 bx r3 return frameBuffer0; 70001a6e: 6c21 ldr r1, [r4, #64] @ 0x40 70001a70: e7f6 b.n 70001a60 <_ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_+0x4c> } 70001a72: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 70001a76: bf00 nop 70001a78: 7003d0f2 .word 0x7003d0f2 70001a7c: 7003d12a .word 0x7003d12a 70001a80: 7003d09b .word 0x7003d09b 70001a84: 2400da74 .word 0x2400da74 70001a88: 2400da78 .word 0x2400da78 70001a8c <_ZN8touchgfx3HAL11getBlitCapsEv>: virtual BlitOperations getBlitCaps() 70001a8c: 4603 mov r3, r0 if (useDMAAcceleration) 70001a8e: f890 007e ldrb.w r0, [r0, #126] @ 0x7e 70001a92: b118 cbz r0, 70001a9c <_ZN8touchgfx3HAL11getBlitCapsEv+0x10> 70001a94: 6858 ldr r0, [r3, #4] return dma.getBlitCaps(); 70001a96: 6803 ldr r3, [r0, #0] 70001a98: 681b ldr r3, [r3, #0] 70001a9a: 4718 bx r3 } 70001a9c: 4770 bx lr ... 70001aa0 : } extern "C" { portBASE_TYPE IdleTaskHook(void* p) { 70001aa0: 4601 mov r1, r0 70001aa2: b508 push {r3, lr} return instance; 70001aa4: 4b03 ldr r3, [pc, #12] @ (70001ab4 ) 70001aa6: 6818 ldr r0, [r3, #0] if ((int)p) //idle task sched out 70001aa8: b101 cbz r1, 70001aac { touchgfx::HAL::getInstance()->setMCUActive(true); 70001aaa: 2101 movs r1, #1 } else //idle task sched in { touchgfx::HAL::getInstance()->setMCUActive(false); 70001aac: f00d fd22 bl 7000f4f4 <_ZN8touchgfx3HAL12setMCUActiveEb> } return pdTRUE; } 70001ab0: 2001 movs r0, #1 70001ab2: bd08 pop {r3, pc} 70001ab4: 2400da80 .word 0x2400da80 70001ab8 <_ZNK20HardwareMJPEGDecoder21getCurrentFrameNumberEv>: virtual bool decodeThumbnail(uint32_t frameno, uint8_t* buffer, uint16_t width, uint16_t height); virtual void gotoFrame(uint32_t frameno); virtual uint32_t getCurrentFrameNumber() const { return frameNumber; } 70001ab8: 6940 ldr r0, [r0, #20] 70001aba: 4770 bx lr 70001abc <_ZN20HardwareMJPEGDecoder12getLastErrorEv>: } virtual AVIErrors getLastError() { return lastError; } 70001abc: f890 0040 ldrb.w r0, [r0, #64] @ 0x40 70001ac0: 4770 bx lr 70001ac2 <_ZN20HardwareMJPEGDecoder8hasVideoEv>: readVideoHeader(); } bool HardwareMJPEGDecoder::hasVideo() { return (reader != 0) || (movieData != 0); 70001ac2: 6b03 ldr r3, [r0, #48] @ 0x30 70001ac4: b923 cbnz r3, 70001ad0 <_ZN20HardwareMJPEGDecoder8hasVideoEv+0xe> 70001ac6: 6ac0 ldr r0, [r0, #44] @ 0x2c 70001ac8: 3800 subs r0, #0 70001aca: bf18 it ne 70001acc: 2001 movne r0, #1 70001ace: 4770 bx lr 70001ad0: 2001 movs r0, #1 } 70001ad2: 4770 bx lr 70001ad4 <_ZN20HardwareMJPEGDecoder17getNumberOfFramesEv>: } uint32_t HardwareMJPEGDecoder::getNumberOfFrames() { return videoInfo.number_of_frames; } 70001ad4: 6880 ldr r0, [r0, #8] 70001ad6: 4770 bx lr 70001ad8 <_ZN20HardwareMJPEGDecoder14setRepeatVideoEb>: void HardwareMJPEGDecoder::setRepeatVideo(bool repeat) { } 70001ad8: 4770 bx lr 70001ada <_ZN20HardwareMJPEGDecoder12getVideoInfoEPN8touchgfx16VideoInformationE>: void HardwareMJPEGDecoder::getVideoInfo(touchgfx::VideoInformation* data) { *data = videoInfo; 70001ada: 3004 adds r0, #4 { 70001adc: b510 push {r4, lr} 70001ade: 460c mov r4, r1 *data = videoInfo; 70001ae0: c80f ldmia r0, {r0, r1, r2, r3} 70001ae2: e884 000f stmia.w r4, {r0, r1, r2, r3} } 70001ae6: bd10 pop {r4, pc} 70001ae8 <_ZN20HardwareMJPEGDecoderD1Ev>: class HardwareMJPEGDecoder : public MJPEGDecoder 70001ae8: 4770 bx lr ... 70001aec <_ZN20HardwareMJPEGDecoder15decodeThumbnailEmPhtt>: { 70001aec: b508 push {r3, lr} assert(0); 70001aee: 4a03 ldr r2, [pc, #12] @ (70001afc <_ZN20HardwareMJPEGDecoder15decodeThumbnailEmPhtt+0x10>) 70001af0: f240 11f9 movw r1, #505 @ 0x1f9 70001af4: 4b02 ldr r3, [pc, #8] @ (70001b00 <_ZN20HardwareMJPEGDecoder15decodeThumbnailEmPhtt+0x14>) 70001af6: 4803 ldr r0, [pc, #12] @ (70001b04 <_ZN20HardwareMJPEGDecoder15decodeThumbnailEmPhtt+0x18>) 70001af8: f039 fa5c bl 7003afb4 <__assert_func> 70001afc: 7003d178 .word 0x7003d178 70001b00: 7003e461 .word 0x7003e461 70001b04: 7003d1d3 .word 0x7003d1d3 70001b08 <_ZN20HardwareMJPEGDecoderD0Ev>: 70001b08: b510 push {r4, lr} 70001b0a: 4604 mov r4, r0 70001b0c: 2148 movs r1, #72 @ 0x48 70001b0e: f037 fe52 bl 700397b6 <_ZdlPvj> 70001b12: 4620 mov r0, r4 70001b14: bd10 pop {r4, pc} ... 70001b18 <_ZN20HardwareMJPEGDecoderC1Ev>: : frameNumber(0), currentMovieOffset(0), indexOffset(0), firstFrameOffset(0), lastFrameEnd(0), movieLength(0), movieData(0), 70001b18: 2200 movs r2, #0 reader(0), aviBuffer(0), aviBufferLength(0), aviBufferStartOffset(0), lastError(AVI_NO_ERROR) 70001b1a: 4b0e ldr r3, [pc, #56] @ (70001b54 <_ZN20HardwareMJPEGDecoderC1Ev+0x3c>) HardwareMJPEGDecoder::HardwareMJPEGDecoder() 70001b1c: b510 push {r4, lr} semDecodingDone = SEM_CREATE(); 70001b1e: 4611 mov r1, r2 HardwareMJPEGDecoder::HardwareMJPEGDecoder() 70001b20: 4604 mov r4, r0 reader(0), aviBuffer(0), aviBufferLength(0), aviBufferStartOffset(0), lastError(AVI_NO_ERROR) 70001b22: 6003 str r3, [r0, #0] 70001b24: 63c2 str r2, [r0, #60] @ 0x3c 70001b26: f880 2040 strb.w r2, [r0, #64] @ 0x40 : frameNumber(0), currentMovieOffset(0), indexOffset(0), firstFrameOffset(0), lastFrameEnd(0), movieLength(0), movieData(0), 70001b2a: e9c0 2205 strd r2, r2, [r0, #20] 70001b2e: e9c0 2207 strd r2, r2, [r0, #28] 70001b32: e9c0 2209 strd r2, r2, [r0, #36] @ 0x24 reader(0), aviBuffer(0), aviBufferLength(0), aviBufferStartOffset(0), lastError(AVI_NO_ERROR) 70001b36: e9c0 220b strd r2, r2, [r0, #44] @ 0x2c 70001b3a: e9c0 220d strd r2, r2, [r0, #52] @ 0x34 videoInfo.frame_width = 0; 70001b3e: e9c0 2203 strd r2, r2, [r0, #12] videoInfo.number_of_frames = 0; 70001b42: e9c0 2201 strd r2, r2, [r0, #4] semDecodingDone = SEM_CREATE(); 70001b46: 2001 movs r0, #1 70001b48: f009 fdbe bl 7000b6c8 70001b4c: 4b02 ldr r3, [pc, #8] @ (70001b58 <_ZN20HardwareMJPEGDecoderC1Ev+0x40>) 70001b4e: 6018 str r0, [r3, #0] } 70001b50: 4620 mov r0, r4 70001b52: bd10 pop {r4, pc} 70001b54: 7003ec9c .word 0x7003ec9c 70001b58: 24009ef4 .word 0x24009ef4 70001b5c <_ZN20HardwareMJPEGDecoder7compareEmPKcm>: { 70001b5c: b410 push {r4} 70001b5e: 460c mov r4, r1 70001b60: 4611 mov r1, r2 70001b62: 461a mov r2, r3 if (reader != 0) 70001b64: 6b03 ldr r3, [r0, #48] @ 0x30 70001b66: b13b cbz r3, 70001b78 <_ZN20HardwareMJPEGDecoder7compareEmPKcm+0x1c> src = reinterpret_cast(aviBuffer + (offset - aviBufferStartOffset)); 70001b68: 6bc3 ldr r3, [r0, #60] @ 0x3c 70001b6a: 6b40 ldr r0, [r0, #52] @ 0x34 70001b6c: 1ae4 subs r4, r4, r3 src = (const char*)movieData + offset; 70001b6e: 4420 add r0, r4 } 70001b70: f85d 4b04 ldr.w r4, [sp], #4 return strncmp(src, str, num); 70001b74: f039 bbde b.w 7003b334 src = (const char*)movieData + offset; 70001b78: 6ac0 ldr r0, [r0, #44] @ 0x2c 70001b7a: e7f8 b.n 70001b6e <_ZN20HardwareMJPEGDecoder7compareEmPKcm+0x12> 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em>: if (reader != 0) 70001b7c: 6b03 ldr r3, [r0, #48] @ 0x30 { 70001b7e: b510 push {r4, lr} if (reader != 0) 70001b80: b173 cbz r3, 70001ba0 <_ZN20HardwareMJPEGDecoder6getU32Em+0x24> const uint32_t index = offset - aviBufferStartOffset; 70001b82: 6bc3 ldr r3, [r0, #60] @ 0x3c return aviBuffer[index + 0] | (aviBuffer[index + 1] << 8) | (aviBuffer[index + 2] << 16) | (aviBuffer[index + 3] << 24); 70001b84: 6b42 ldr r2, [r0, #52] @ 0x34 const uint32_t index = offset - aviBufferStartOffset; 70001b86: 1ac9 subs r1, r1, r3 return aviBuffer[index + 0] | (aviBuffer[index + 1] << 8) | (aviBuffer[index + 2] << 16) | (aviBuffer[index + 3] << 24); 70001b88: 1853 adds r3, r2, r1 70001b8a: 5c52 ldrb r2, [r2, r1] 70001b8c: 7898 ldrb r0, [r3, #2] 70001b8e: 785c ldrb r4, [r3, #1] 70001b90: 0400 lsls r0, r0, #16 70001b92: ea40 2004 orr.w r0, r0, r4, lsl #8 val |= d[2] << 16; 70001b96: 4310 orrs r0, r2 val |= d[3] << 24; 70001b98: 78db ldrb r3, [r3, #3] 70001b9a: ea40 6003 orr.w r0, r0, r3, lsl #24 } 70001b9e: bd10 pop {r4, pc} volatile const uint8_t* const d = movieData + offset; 70001ba0: 6ac2 ldr r2, [r0, #44] @ 0x2c 70001ba2: 1853 adds r3, r2, r1 val |= d[0]; 70001ba4: 5c52 ldrb r2, [r2, r1] val |= d[1] << 8; 70001ba6: 7859 ldrb r1, [r3, #1] val |= d[2] << 16; 70001ba8: 7898 ldrb r0, [r3, #2] 70001baa: 0400 lsls r0, r0, #16 70001bac: ea40 2001 orr.w r0, r0, r1, lsl #8 70001bb0: e7f1 b.n 70001b96 <_ZN20HardwareMJPEGDecoder6getU32Em+0x1a> 70001bb2 <_ZN20HardwareMJPEGDecoder6getU16Em>: if (reader != 0) 70001bb2: 6b03 ldr r3, [r0, #48] @ 0x30 70001bb4: b143 cbz r3, 70001bc8 <_ZN20HardwareMJPEGDecoder6getU16Em+0x16> const uint32_t index = offset - aviBufferStartOffset; 70001bb6: 6bc3 ldr r3, [r0, #60] @ 0x3c 70001bb8: 1ac9 subs r1, r1, r3 return aviBuffer[index + 0] | (aviBuffer[index + 1] << 8); 70001bba: 6b43 ldr r3, [r0, #52] @ 0x34 70001bbc: 185a adds r2, r3, r1 70001bbe: 5c58 ldrb r0, [r3, r1] 70001bc0: 7852 ldrb r2, [r2, #1] 70001bc2: ea40 2002 orr.w r0, r0, r2, lsl #8 70001bc6: 4770 bx lr volatile const uint8_t* const d = movieData + offset; 70001bc8: 6ac3 ldr r3, [r0, #44] @ 0x2c 70001bca: 185a adds r2, r3, r1 val |= d[0]; 70001bcc: 5c58 ldrb r0, [r3, r1] val |= d[1] << 8; 70001bce: 7853 ldrb r3, [r2, #1] 70001bd0: ea40 2003 orr.w r0, r0, r3, lsl #8 } 70001bd4: 4770 bx lr ... 70001bd8 <_ZN20HardwareMJPEGDecoder8readDataEmm>: { 70001bd8: b570 push {r4, r5, r6, lr} 70001bda: 4604 mov r4, r0 if (reader != 0) 70001bdc: 6b00 ldr r0, [r0, #48] @ 0x30 { 70001bde: 460d mov r5, r1 70001be0: 4616 mov r6, r2 if (reader != 0) 70001be2: b1d8 cbz r0, 70001c1c <_ZN20HardwareMJPEGDecoder8readDataEmm+0x44> if (length > aviBufferLength) 70001be4: 6ba3 ldr r3, [r4, #56] @ 0x38 70001be6: 4293 cmp r3, r2 70001be8: d208 bcs.n 70001bfc <_ZN20HardwareMJPEGDecoder8readDataEmm+0x24> lastError = AVI_ERROR_FILE_BUFFER_TO_SMALL; 70001bea: 2309 movs r3, #9 assert(!"Buffer to small"); 70001bec: 4a0d ldr r2, [pc, #52] @ (70001c24 <_ZN20HardwareMJPEGDecoder8readDataEmm+0x4c>) 70001bee: 21b1 movs r1, #177 @ 0xb1 70001bf0: 480d ldr r0, [pc, #52] @ (70001c28 <_ZN20HardwareMJPEGDecoder8readDataEmm+0x50>) lastError = AVI_ERROR_FILE_BUFFER_TO_SMALL; 70001bf2: f884 3040 strb.w r3, [r4, #64] @ 0x40 assert(!"Buffer to small"); 70001bf6: 4b0d ldr r3, [pc, #52] @ (70001c2c <_ZN20HardwareMJPEGDecoder8readDataEmm+0x54>) 70001bf8: f039 f9dc bl 7003afb4 <__assert_func> reader->seek(offset); 70001bfc: 6803 ldr r3, [r0, #0] 70001bfe: 68db ldr r3, [r3, #12] 70001c00: 4798 blx r3 if (!reader->readData(aviBuffer, length)) 70001c02: 6b20 ldr r0, [r4, #48] @ 0x30 70001c04: 4632 mov r2, r6 70001c06: 6b61 ldr r1, [r4, #52] @ 0x34 70001c08: 6803 ldr r3, [r0, #0] 70001c0a: 691b ldr r3, [r3, #16] 70001c0c: 4798 blx r3 70001c0e: b910 cbnz r0, 70001c16 <_ZN20HardwareMJPEGDecoder8readDataEmm+0x3e> lastError = AVI_ERROR_EOF_REACHED; 70001c10: 230d movs r3, #13 70001c12: f884 3040 strb.w r3, [r4, #64] @ 0x40 return aviBuffer; 70001c16: 6b60 ldr r0, [r4, #52] @ 0x34 aviBufferStartOffset = offset; 70001c18: 63e5 str r5, [r4, #60] @ 0x3c } 70001c1a: bd70 pop {r4, r5, r6, pc} return movieData + offset; 70001c1c: 6ae0 ldr r0, [r4, #44] @ 0x2c 70001c1e: 4408 add r0, r1 70001c20: e7fb b.n 70001c1a <_ZN20HardwareMJPEGDecoder8readDataEmm+0x42> 70001c22: bf00 nop 70001c24: 7003d250 .word 0x7003d250 70001c28: 7003d1d3 .word 0x7003d1d3 70001c2c: 7003d23d .word 0x7003d23d 70001c30 <_ZN20HardwareMJPEGDecoder13gotoNextFrameEv>: { 70001c30: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} assert((frameNumber > 0) && "HardwareMJPEGDecoder decoding without frame data!"); 70001c34: 6943 ldr r3, [r0, #20] { 70001c36: 4604 mov r4, r0 assert((frameNumber > 0) && "HardwareMJPEGDecoder decoding without frame data!"); 70001c38: b92b cbnz r3, 70001c46 <_ZN20HardwareMJPEGDecoder13gotoNextFrameEv+0x16> 70001c3a: 4b20 ldr r3, [pc, #128] @ (70001cbc <_ZN20HardwareMJPEGDecoder13gotoNextFrameEv+0x8c>) 70001c3c: 21f7 movs r1, #247 @ 0xf7 70001c3e: 4a20 ldr r2, [pc, #128] @ (70001cc0 <_ZN20HardwareMJPEGDecoder13gotoNextFrameEv+0x90>) 70001c40: 4820 ldr r0, [pc, #128] @ (70001cc4 <_ZN20HardwareMJPEGDecoder13gotoNextFrameEv+0x94>) 70001c42: f039 f9b7 bl 7003afb4 <__assert_func> readData(currentMovieOffset, 8); 70001c46: 2208 movs r2, #8 70001c48: 6981 ldr r1, [r0, #24] 70001c4a: f7ff ffc5 bl 70001bd8 <_ZN20HardwareMJPEGDecoder8readDataEmm> uint32_t chunkSize = getU32(currentMovieOffset + 4); 70001c4e: 69a5 ldr r5, [r4, #24] if (streamNo == STREAM0 && chunkType == TYPEDC) 70001c50: f243 0630 movw r6, #12336 @ 0x3030 70001c54: f246 3764 movw r7, #25444 @ 0x6364 uint32_t chunkSize = getU32(currentMovieOffset + 4); 70001c58: 1d29 adds r1, r5, #4 70001c5a: 4620 mov r0, r4 70001c5c: f7ff ff8e bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> while (currentMovieOffset + 8 + chunkSize < movieLength) 70001c60: 4428 add r0, r5 70001c62: 6aa3 ldr r3, [r4, #40] @ 0x28 70001c64: f100 0208 add.w r2, r0, #8 70001c68: 429a cmp r2, r3 70001c6a: d306 bcc.n 70001c7a <_ZN20HardwareMJPEGDecoder13gotoNextFrameEv+0x4a> frameNumber = 1; 70001c6c: 2301 movs r3, #1 return false; 70001c6e: 2000 movs r0, #0 frameNumber = 1; 70001c70: 6163 str r3, [r4, #20] currentMovieOffset = firstFrameOffset; /* start over */ 70001c72: 6a23 ldr r3, [r4, #32] 70001c74: 61a3 str r3, [r4, #24] } 70001c76: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} frameNumber++; 70001c7a: 6963 ldr r3, [r4, #20] currentMovieOffset = (currentMovieOffset + 1) & 0xFFFFFFFE; /* pad to next word */ 70001c7c: f100 0109 add.w r1, r0, #9 readData(currentMovieOffset, 8); 70001c80: 2208 movs r2, #8 70001c82: 4620 mov r0, r4 frameNumber++; 70001c84: 3301 adds r3, #1 currentMovieOffset = (currentMovieOffset + 1) & 0xFFFFFFFE; /* pad to next word */ 70001c86: f021 0101 bic.w r1, r1, #1 frameNumber++; 70001c8a: 6163 str r3, [r4, #20] currentMovieOffset = (currentMovieOffset + 1) & 0xFFFFFFFE; /* pad to next word */ 70001c8c: 61a1 str r1, [r4, #24] readData(currentMovieOffset, 8); 70001c8e: f7ff ffa3 bl 70001bd8 <_ZN20HardwareMJPEGDecoder8readDataEmm> uint32_t streamNo = getU16(currentMovieOffset); 70001c92: 69a5 ldr r5, [r4, #24] 70001c94: 4620 mov r0, r4 70001c96: 4629 mov r1, r5 70001c98: f7ff ff8b bl 70001bb2 <_ZN20HardwareMJPEGDecoder6getU16Em> uint32_t chunkType = getU16(currentMovieOffset + 2); 70001c9c: 1ca9 adds r1, r5, #2 uint32_t streamNo = getU16(currentMovieOffset); 70001c9e: 4681 mov r9, r0 uint32_t chunkType = getU16(currentMovieOffset + 2); 70001ca0: 4620 mov r0, r4 70001ca2: f7ff ff86 bl 70001bb2 <_ZN20HardwareMJPEGDecoder6getU16Em> chunkSize = getU32(currentMovieOffset + 4); 70001ca6: 1d29 adds r1, r5, #4 uint32_t chunkType = getU16(currentMovieOffset + 2); 70001ca8: 4680 mov r8, r0 chunkSize = getU32(currentMovieOffset + 4); 70001caa: 4620 mov r0, r4 70001cac: f7ff ff66 bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> if (streamNo == STREAM0 && chunkType == TYPEDC) 70001cb0: 45b1 cmp r9, r6 70001cb2: d1d5 bne.n 70001c60 <_ZN20HardwareMJPEGDecoder13gotoNextFrameEv+0x30> 70001cb4: 45b8 cmp r8, r7 70001cb6: d1d3 bne.n 70001c60 <_ZN20HardwareMJPEGDecoder13gotoNextFrameEv+0x30> return true; 70001cb8: 2001 movs r0, #1 70001cba: e7dc b.n 70001c76 <_ZN20HardwareMJPEGDecoder13gotoNextFrameEv+0x46> 70001cbc: 7003d292 .word 0x7003d292 70001cc0: 7003d2db .word 0x7003d2db 70001cc4: 7003d1d3 .word 0x7003d1d3 70001cc8 <_ZN20HardwareMJPEGDecoder9gotoFrameEm>: if (frameNumber == 0) 70001cc8: 2901 cmp r1, #1 if (frameNumber > getNumberOfFrames()) 70001cca: 6803 ldr r3, [r0, #0] if (frameNumber == 0) 70001ccc: bf38 it cc 70001cce: 2101 movcc r1, #1 if (frameNumber > getNumberOfFrames()) 70001cd0: 6adb ldr r3, [r3, #44] @ 0x2c { 70001cd2: b570 push {r4, r5, r6, lr} if (frameNumber == 0) 70001cd4: 460d mov r5, r1 { 70001cd6: 4604 mov r4, r0 if (frameNumber > getNumberOfFrames()) 70001cd8: 4798 blx r3 70001cda: 42a8 cmp r0, r5 70001cdc: d204 bcs.n 70001ce8 <_ZN20HardwareMJPEGDecoder9gotoFrameEm+0x20> frameNumber = getNumberOfFrames(); 70001cde: 6823 ldr r3, [r4, #0] 70001ce0: 4620 mov r0, r4 70001ce2: 6adb ldr r3, [r3, #44] @ 0x2c 70001ce4: 4798 blx r3 70001ce6: 4605 mov r5, r0 uint32_t offset = indexOffset + 8 + (frameNumber - 1) * 16; 70001ce8: 1e6b subs r3, r5, #1 70001cea: 69e6 ldr r6, [r4, #28] readData(offset, 16); 70001cec: 2210 movs r2, #16 70001cee: 4620 mov r0, r4 uint32_t offset = indexOffset + 8 + (frameNumber - 1) * 16; 70001cf0: eb06 1603 add.w r6, r6, r3, lsl #4 readData(offset, 16); 70001cf4: f106 0108 add.w r1, r6, #8 70001cf8: f7ff ff6e bl 70001bd8 <_ZN20HardwareMJPEGDecoder8readDataEmm> currentMovieOffset = getU32(offset + 8) + firstFrameOffset - 4; 70001cfc: f106 0110 add.w r1, r6, #16 70001d00: 4620 mov r0, r4 70001d02: f7ff ff3b bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> 70001d06: 6a23 ldr r3, [r4, #32] 70001d08: 3b04 subs r3, #4 70001d0a: 4403 add r3, r0 this->frameNumber = frameNumber; 70001d0c: e9c4 5305 strd r5, r3, [r4, #20] } 70001d10: bd70 pop {r4, r5, r6, pc} ... 70001d14 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv>: currentMovieOffset = 0; 70001d14: 2100 movs r1, #0 readData(0, 72); 70001d16: 2248 movs r2, #72 @ 0x48 { 70001d18: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70001d1c: 4604 mov r4, r0 currentMovieOffset = 0; 70001d1e: 6181 str r1, [r0, #24] lastError = AVI_NO_ERROR; 70001d20: f880 1040 strb.w r1, [r0, #64] @ 0x40 readData(0, 72); 70001d24: f7ff ff58 bl 70001bd8 <_ZN20HardwareMJPEGDecoder8readDataEmm> if (compare(currentMovieOffset, "RIFF", 4)) 70001d28: 69a6 ldr r6, [r4, #24] 70001d2a: 2304 movs r3, #4 70001d2c: 4a5f ldr r2, [pc, #380] @ (70001eac <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x198>) 70001d2e: 4631 mov r1, r6 70001d30: 4620 mov r0, r4 70001d32: f7ff ff13 bl 70001b5c <_ZN20HardwareMJPEGDecoder7compareEmPKcm> 70001d36: b148 cbz r0, 70001d4c <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x38> lastError = AVI_ERROR_NOT_RIFF; 70001d38: 2303 movs r3, #3 assert(!"RIFF header not found"); 70001d3a: 4a5d ldr r2, [pc, #372] @ (70001eb0 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x19c>) 70001d3c: f240 113f movw r1, #319 @ 0x13f lastError = AVI_ERROR_NOT_RIFF; 70001d40: f884 3040 strb.w r3, [r4, #64] @ 0x40 assert(!"RIFF header not found"); 70001d44: 4b5b ldr r3, [pc, #364] @ (70001eb4 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x1a0>) assert(!"AVI header not found"); 70001d46: 485c ldr r0, [pc, #368] @ (70001eb8 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x1a4>) 70001d48: f039 f934 bl 7003afb4 <__assert_func> currentMovieOffset += 8; 70001d4c: f106 0108 add.w r1, r6, #8 if (compare(currentMovieOffset, "AVI ", 4)) 70001d50: 2304 movs r3, #4 70001d52: 4a5a ldr r2, [pc, #360] @ (70001ebc <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x1a8>) 70001d54: 4620 mov r0, r4 currentMovieOffset += 8; 70001d56: 61a1 str r1, [r4, #24] if (compare(currentMovieOffset, "AVI ", 4)) 70001d58: f7ff ff00 bl 70001b5c <_ZN20HardwareMJPEGDecoder7compareEmPKcm> 70001d5c: b138 cbz r0, 70001d6e <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x5a> lastError = AVI_ERROR_AVI_HEADER_NOT_FOUND; 70001d5e: 2304 movs r3, #4 assert(!"AVI header not found"); 70001d60: 4a53 ldr r2, [pc, #332] @ (70001eb0 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x19c>) 70001d62: f240 1147 movw r1, #327 @ 0x147 lastError = AVI_ERROR_AVI_HEADER_NOT_FOUND; 70001d66: f884 3040 strb.w r3, [r4, #64] @ 0x40 assert(!"AVI header not found"); 70001d6a: 4b55 ldr r3, [pc, #340] @ (70001ec0 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x1ac>) 70001d6c: e7eb b.n 70001d46 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x32> currentMovieOffset += 4; 70001d6e: f106 010c add.w r1, r6, #12 if (compare(currentMovieOffset, "LIST", 4)) 70001d72: 2304 movs r3, #4 70001d74: 4a53 ldr r2, [pc, #332] @ (70001ec4 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x1b0>) 70001d76: 4620 mov r0, r4 currentMovieOffset += 4; 70001d78: 61a1 str r1, [r4, #24] if (compare(currentMovieOffset, "LIST", 4)) 70001d7a: f7ff feef bl 70001b5c <_ZN20HardwareMJPEGDecoder7compareEmPKcm> 70001d7e: 4607 mov r7, r0 70001d80: b138 cbz r0, 70001d92 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x7e> lastError = AVI_ERROR_AVI_LIST_NOT_FOUND; 70001d82: 2305 movs r3, #5 assert(!"AVI LIST not found"); 70001d84: 4a4a ldr r2, [pc, #296] @ (70001eb0 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x19c>) 70001d86: f44f 71a7 mov.w r1, #334 @ 0x14e lastError = AVI_ERROR_AVI_LIST_NOT_FOUND; 70001d8a: f884 3040 strb.w r3, [r4, #64] @ 0x40 assert(!"AVI LIST not found"); 70001d8e: 4b4e ldr r3, [pc, #312] @ (70001ec8 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x1b4>) 70001d90: e7d9 b.n 70001d46 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x32> const uint32_t aviListSize = getU32(currentMovieOffset + 4); 70001d92: f106 0110 add.w r1, r6, #16 70001d96: 4620 mov r0, r4 70001d98: f7ff fef0 bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> assert(aviListSize); 70001d9c: 4605 mov r5, r0 70001d9e: b920 cbnz r0, 70001daa <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x96> 70001da0: 4b4a ldr r3, [pc, #296] @ (70001ecc <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x1b8>) 70001da2: f44f 71aa mov.w r1, #340 @ 0x154 70001da6: 4a42 ldr r2, [pc, #264] @ (70001eb0 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x19c>) 70001da8: e7cd b.n 70001d46 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x32> uint32_t offset = currentMovieOffset + 8; 70001daa: f106 0814 add.w r8, r6, #20 if (compare(offset, "hdrl", 4)) 70001dae: 2304 movs r3, #4 70001db0: 4a47 ldr r2, [pc, #284] @ (70001ed0 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x1bc>) 70001db2: 4620 mov r0, r4 70001db4: 4641 mov r1, r8 70001db6: f7ff fed1 bl 70001b5c <_ZN20HardwareMJPEGDecoder7compareEmPKcm> 70001dba: 2800 cmp r0, #0 70001dbc: d047 beq.n 70001e4e <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x13a> lastError = AVI_ERROR_AVI_HDRL_NOT_FOUND; 70001dbe: 2306 movs r3, #6 70001dc0: f884 3040 strb.w r3, [r4, #64] @ 0x40 if (compare(offset, "avih", 4)) 70001dc4: 2304 movs r3, #4 70001dc6: 4a43 ldr r2, [pc, #268] @ (70001ed4 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x1c0>) 70001dc8: f106 0118 add.w r1, r6, #24 70001dcc: 4620 mov r0, r4 70001dce: f7ff fec5 bl 70001b5c <_ZN20HardwareMJPEGDecoder7compareEmPKcm> 70001dd2: 2800 cmp r0, #0 70001dd4: d03d beq.n 70001e52 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x13e> lastError = AVI_ERROR_AVI_AVIH_NOT_FOUND; 70001dd6: 2307 movs r3, #7 70001dd8: f884 3040 strb.w r3, [r4, #64] @ 0x40 uint32_t listOffset = aviListOffset + aviListSize + 8; 70001ddc: 4445 add r5, r8 while (compare(listOffset + 8, "movi", 4) && (lastError == AVI_NO_ERROR) && listOffset < movieLength) 70001dde: f105 0608 add.w r6, r5, #8 readData(listOffset, 12); 70001de2: 220c movs r2, #12 70001de4: 4629 mov r1, r5 70001de6: 4620 mov r0, r4 70001de8: f7ff fef6 bl 70001bd8 <_ZN20HardwareMJPEGDecoder8readDataEmm> while (compare(listOffset + 8, "movi", 4) && (lastError == AVI_NO_ERROR) && listOffset < movieLength) 70001dec: 2304 movs r3, #4 70001dee: 4a3a ldr r2, [pc, #232] @ (70001ed8 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x1c4>) 70001df0: 4631 mov r1, r6 70001df2: 4620 mov r0, r4 70001df4: f7ff feb2 bl 70001b5c <_ZN20HardwareMJPEGDecoder7compareEmPKcm> 70001df8: f894 3040 ldrb.w r3, [r4, #64] @ 0x40 70001dfc: 2800 cmp r0, #0 70001dfe: d047 beq.n 70001e90 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x17c> 70001e00: 2b00 cmp r3, #0 70001e02: d147 bne.n 70001e94 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x180> 70001e04: 6aa3 ldr r3, [r4, #40] @ 0x28 70001e06: 42ab cmp r3, r5 70001e08: d848 bhi.n 70001e9c <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x188> currentMovieOffset = listOffset + 8 + 4; /* skip LIST and 'movi' */ 70001e0a: f105 030c add.w r3, r5, #12 lastFrameEnd = listOffset + 8 + getU32(listOffset + 4); 70001e0e: 3504 adds r5, #4 70001e10: 4620 mov r0, r4 currentMovieOffset = listOffset + 8 + 4; /* skip LIST and 'movi' */ 70001e12: 61a3 str r3, [r4, #24] lastFrameEnd = listOffset + 8 + getU32(listOffset + 4); 70001e14: 4629 mov r1, r5 70001e16: f7ff feb1 bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> 70001e1a: 4430 add r0, r6 const uint32_t listSize = getU32(listOffset + 4) + 8; 70001e1c: 4629 mov r1, r5 lastFrameEnd = listOffset + 8 + getU32(listOffset + 4); 70001e1e: 6260 str r0, [r4, #36] @ 0x24 const uint32_t listSize = getU32(listOffset + 4) + 8; 70001e20: 4620 mov r0, r4 70001e22: f7ff feab bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> listOffset += listSize; 70001e26: 4406 add r6, r0 readData(listOffset, 4); 70001e28: 2204 movs r2, #4 70001e2a: 4620 mov r0, r4 70001e2c: 4631 mov r1, r6 70001e2e: f7ff fed3 bl 70001bd8 <_ZN20HardwareMJPEGDecoder8readDataEmm> if (!compare(listOffset, "idx1", 4)) 70001e32: 2304 movs r3, #4 70001e34: 4a29 ldr r2, [pc, #164] @ (70001edc <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x1c8>) 70001e36: 4631 mov r1, r6 70001e38: 4620 mov r0, r4 70001e3a: f7ff fe8f bl 70001b5c <_ZN20HardwareMJPEGDecoder7compareEmPKcm> 70001e3e: bb98 cbnz r0, 70001ea8 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x194> frameNumber = 1; /* next frame number is 1 */ 70001e40: 2301 movs r3, #1 indexOffset = listOffset; 70001e42: 61e6 str r6, [r4, #28] frameNumber = 1; /* next frame number is 1 */ 70001e44: 6163 str r3, [r4, #20] firstFrameOffset = currentMovieOffset; 70001e46: 69a3 ldr r3, [r4, #24] 70001e48: 6223 str r3, [r4, #32] } 70001e4a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} bool foundFrame = true; 70001e4e: 2701 movs r7, #1 70001e50: e7b8 b.n 70001dc4 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0xb0> if (foundFrame) 70001e52: 2f00 cmp r7, #0 70001e54: d0c2 beq.n 70001ddc <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0xc8> videoInfo.ms_between_frames = getU32(offset) / 1000; 70001e56: f106 0120 add.w r1, r6, #32 70001e5a: 4620 mov r0, r4 70001e5c: f7ff fe8e bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> 70001e60: f44f 737a mov.w r3, #1000 @ 0x3e8 videoInfo.number_of_frames = getU32(offset + 16); 70001e64: f106 0130 add.w r1, r6, #48 @ 0x30 videoInfo.ms_between_frames = getU32(offset) / 1000; 70001e68: fbb0 f0f3 udiv r0, r0, r3 70001e6c: 6060 str r0, [r4, #4] videoInfo.number_of_frames = getU32(offset + 16); 70001e6e: 4620 mov r0, r4 70001e70: f7ff fe84 bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> videoInfo.frame_width = getU32(offset + 32); 70001e74: f106 0140 add.w r1, r6, #64 @ 0x40 videoInfo.number_of_frames = getU32(offset + 16); 70001e78: 60a0 str r0, [r4, #8] videoInfo.frame_width = getU32(offset + 32); 70001e7a: 4620 mov r0, r4 70001e7c: f7ff fe7e bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> videoInfo.frame_height = getU32(offset + 36); 70001e80: f106 0144 add.w r1, r6, #68 @ 0x44 videoInfo.frame_width = getU32(offset + 32); 70001e84: 60e0 str r0, [r4, #12] videoInfo.frame_height = getU32(offset + 36); 70001e86: 4620 mov r0, r4 70001e88: f7ff fe78 bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> 70001e8c: 6120 str r0, [r4, #16] 70001e8e: e7a5 b.n 70001ddc <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0xc8> if (lastError != AVI_NO_ERROR) 70001e90: 2b00 cmp r3, #0 70001e92: d0ba beq.n 70001e0a <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0xf6> lastError = AVI_ERROR_MOVI_NOT_FOUND; 70001e94: 230a movs r3, #10 lastError = AVI_ERROR_IDX1_NOT_FOUND; 70001e96: f884 3040 strb.w r3, [r4, #64] @ 0x40 return; 70001e9a: e7d6 b.n 70001e4a <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x136> const uint32_t listSize = getU32(listOffset + 4) + 8; 70001e9c: 1d29 adds r1, r5, #4 70001e9e: 4620 mov r0, r4 70001ea0: f7ff fe6c bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> listOffset += listSize; 70001ea4: 1985 adds r5, r0, r6 readData(listOffset, 12); 70001ea6: e79a b.n 70001dde <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0xca> lastError = AVI_ERROR_IDX1_NOT_FOUND; 70001ea8: 230b movs r3, #11 70001eaa: e7f4 b.n 70001e96 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv+0x182> 70001eac: 7003d30e .word 0x7003d30e 70001eb0: 7003d32c .word 0x7003d32c 70001eb4: 7003d313 .word 0x7003d313 70001eb8: 7003d1d3 .word 0x7003d1d3 70001ebc: 7003d359 .word 0x7003d359 70001ec0: 7003d35e .word 0x7003d35e 70001ec4: 7003d376 .word 0x7003d376 70001ec8: 7003d37b .word 0x7003d37b 70001ecc: 7003d391 .word 0x7003d391 70001ed0: 7003d39d .word 0x7003d39d 70001ed4: 7003d3a2 .word 0x7003d3a2 70001ed8: 7003d3a7 .word 0x7003d3a7 70001edc: 7003d3ac .word 0x7003d3ac 70001ee0 <_ZN20HardwareMJPEGDecoder12setVideoDataEPKhm>: movieLength = length; 70001ee0: e9c0 210a strd r2, r1, [r0, #40] @ 0x28 reader = 0; /* not using reader */ 70001ee4: 2200 movs r2, #0 70001ee6: 6302 str r2, [r0, #48] @ 0x30 readVideoHeader(); 70001ee8: f7ff bf14 b.w 70001d14 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv> 70001eec <_ZN20HardwareMJPEGDecoder12setVideoDataERN8touchgfx15VideoDataReaderE>: { 70001eec: b510 push {r4, lr} movieData = 0; 70001eee: 2300 movs r3, #0 { 70001ef0: 4604 mov r4, r0 70001ef2: 4608 mov r0, r1 movieData = 0; 70001ef4: 62e3 str r3, [r4, #44] @ 0x2c movieLength = reader.getDataLength(); 70001ef6: 680b ldr r3, [r1, #0] this->reader = &reader; 70001ef8: 6321 str r1, [r4, #48] @ 0x30 movieLength = reader.getDataLength(); 70001efa: 689b ldr r3, [r3, #8] 70001efc: 4798 blx r3 70001efe: 62a0 str r0, [r4, #40] @ 0x28 readVideoHeader(); 70001f00: 4620 mov r0, r4 } 70001f02: e8bd 4010 ldmia.w sp!, {r4, lr} readVideoHeader(); 70001f06: f7ff bf05 b.w 70001d14 <_ZN20HardwareMJPEGDecoder15readVideoHeaderEv> ... 70001f0c : * @param JPEGImageSize_Bytes : jpg image size in bytes. * @param DestAddress : ARGB8888 destination Frame Buffer Address. * @retval None */ uint32_t JPEG_Decode_DMA(JPEG_HandleTypeDef* hjpeg, uint8_t* input, uint32_t chunkSizeIn /* length */, uint8_t* output) { 70001f0c: b573 push {r0, r1, r4, r5, r6, lr} JPEG_output_is_paused = 0; 70001f0e: 4b1c ldr r3, [pc, #112] @ (70001f80 ) 70001f10: 2400 movs r4, #0 JPEG_OUT_Read_BufferIndex = 0; JPEG_OUT_Write_BufferIndex = 0; 70001f12: 4e1c ldr r6, [pc, #112] @ (70001f84 ) JPEG_output_is_paused = 0; 70001f14: 601c str r4, [r3, #0] JPEG_OUT_Read_BufferIndex = 0; 70001f16: 4b1c ldr r3, [pc, #112] @ (70001f88 ) Jpeg_OUT_BufferTab[i].DoCropping = false; Jpeg_OUT_BufferTab[i].FirstJob = false; Jpeg_OUT_BufferTab[i].LastJob = false; } Jpeg_OUT_BufferTab[0].FirstJob = true; if (JPEG_ConvertorParams.firstRowOffset != 0) 70001f18: 4d1c ldr r5, [pc, #112] @ (70001f8c ) JPEG_OUT_Read_BufferIndex = 0; 70001f1a: 601c str r4, [r3, #0] JPEG_InputImageIndex = 0; 70001f1c: 4b1c ldr r3, [pc, #112] @ (70001f90 ) JPEG_OUT_Write_BufferIndex = 0; 70001f1e: 6034 str r4, [r6, #0] JPEG_InputImageIndex = 0; 70001f20: 601c str r4, [r3, #0] JPEG_InputImageAddress = (uint32_t)input; 70001f22: 4b1c ldr r3, [pc, #112] @ (70001f94 ) 70001f24: 6019 str r1, [r3, #0] JPEG_InputImageSize_Bytes = chunkSizeIn; 70001f26: 4b1c ldr r3, [pc, #112] @ (70001f98 ) 70001f28: 601a str r2, [r3, #0] Jpeg_OUT_BufferTab[0].FirstJob = true; 70001f2a: 2201 movs r2, #1 MCU_BlockIndex = 0; 70001f2c: 4b1b ldr r3, [pc, #108] @ (70001f9c ) 70001f2e: 601c str r4, [r3, #0] line_count = 0; 70001f30: 4b1b ldr r3, [pc, #108] @ (70001fa0 ) 70001f32: 601c str r4, [r3, #0] Jpeg_OUT_BufferTab[i].State = JPEG_BUFFER_EMPTY; 70001f34: 4b1b ldr r3, [pc, #108] @ (70001fa4 ) Jpeg_OUT_BufferTab[0].FirstJob = true; 70001f36: 829a strh r2, [r3, #20] if (JPEG_ConvertorParams.firstRowOffset != 0) 70001f38: 6b6a ldr r2, [r5, #52] @ 0x34 Jpeg_OUT_BufferTab[i].State = JPEG_BUFFER_EMPTY; 70001f3a: 701c strb r4, [r3, #0] if (JPEG_ConvertorParams.firstRowOffset != 0) 70001f3c: 1b12 subs r2, r2, r4 Jpeg_OUT_BufferTab[i].MCU_drawn = 0; 70001f3e: 619c str r4, [r3, #24] Jpeg_OUT_BufferTab[i].State = JPEG_BUFFER_EMPTY; 70001f40: f883 4020 strb.w r4, [r3, #32] if (JPEG_ConvertorParams.firstRowOffset != 0) 70001f44: bf18 it ne 70001f46: 2201 movne r2, #1 Jpeg_OUT_BufferTab[i].MCU_drawn = 0; 70001f48: 639c str r4, [r3, #56] @ 0x38 Jpeg_OUT_BufferTab[i].DoCropping = false; 70001f4a: f883 403c strb.w r4, [r3, #60] @ 0x3c if (JPEG_ConvertorParams.firstRowOffset != 0) 70001f4e: 771a strb r2, [r3, #28] { Jpeg_OUT_BufferTab[0].DoCropping = true; } /* Do not return from this function until done with decoding all chunks. */ HAL_JPEG_Decode_DMA(hjpeg, input, CHUNK_SIZE_IN, Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].DataBuffer, MCU_CHROMA_420_SIZE_BYTES * JPEG_ConvertorParams.MCU_pr_line); 70001f50: 6832 ldr r2, [r6, #0] Jpeg_OUT_BufferTab[i].OutputBuffer = NULL; 70001f52: 631c str r4, [r3, #48] @ 0x30 Jpeg_OUT_BufferTab[i].FirstJob = false; 70001f54: 869c strh r4, [r3, #52] @ 0x34 Jpeg_OUT_BufferTab[i].OutputBuffer = NULL; 70001f56: 611c str r4, [r3, #16] Jpeg_OUT_BufferTab[i].MCU_index = 0; 70001f58: e9c3 440a strd r4, r4, [r3, #40] @ 0x28 70001f5c: e9c3 4402 strd r4, r4, [r3, #8] HAL_JPEG_Decode_DMA(hjpeg, input, CHUNK_SIZE_IN, Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].DataBuffer, MCU_CHROMA_420_SIZE_BYTES * JPEG_ConvertorParams.MCU_pr_line); 70001f60: eb03 1342 add.w r3, r3, r2, lsl #5 70001f64: 68ea ldr r2, [r5, #12] 70001f66: f44f 75c0 mov.w r5, #384 @ 0x180 70001f6a: 436a muls r2, r5 70001f6c: 9200 str r2, [sp, #0] 70001f6e: f44f 4250 mov.w r2, #53248 @ 0xd000 70001f72: 685b ldr r3, [r3, #4] 70001f74: f005 fa86 bl 70007484 return 0; } 70001f78: 4620 mov r0, r4 70001f7a: b002 add sp, #8 70001f7c: bd70 pop {r4, r5, r6, pc} 70001f7e: bf00 nop 70001f80: 2400a110 .word 0x2400a110 70001f84: 2400a104 .word 0x2400a104 70001f88: 24009ef0 .word 0x24009ef0 70001f8c: 24009eac .word 0x24009eac 70001f90: 2400a120 .word 0x2400a120 70001f94: 2400a118 .word 0x2400a118 70001f98: 2400a11c .word 0x2400a11c 70001f9c: 24009ef8 .word 0x24009ef8 70001fa0: 2400a0fc .word 0x2400a0fc 70001fa4: 24000004 .word 0x24000004 70001fa8 : */ void HAL_JPEG_InfoReadyCallback(JPEG_HandleTypeDef* hjpeg, JPEG_ConfTypeDef* pInfo) { uint32_t hMCU, vMCU; if (pInfo->ChromaSubsampling == JPEG_420_SUBSAMPLING) 70001fa8: 684b ldr r3, [r1, #4] 70001faa: 2b01 cmp r3, #1 70001fac: d10e bne.n 70001fcc { if ((pInfo->ImageWidth % 16) != 0) 70001fae: 68cb ldr r3, [r1, #12] 70001fb0: 071a lsls r2, r3, #28 { pInfo->ImageWidth += (16 - (pInfo->ImageWidth % 16)); 70001fb2: bf1e ittt ne 70001fb4: f023 030f bicne.w r3, r3, #15 70001fb8: 3310 addne r3, #16 70001fba: 60cb strne r3, [r1, #12] } if ((pInfo->ImageHeight % 16) != 0) 70001fbc: 688b ldr r3, [r1, #8] 70001fbe: 0718 lsls r0, r3, #28 70001fc0: d003 beq.n 70001fca { pInfo->ImageHeight += (16 - (pInfo->ImageHeight % 16)); 70001fc2: f023 030f bic.w r3, r3, #15 70001fc6: 3310 adds r3, #16 pInfo->ImageWidth += (8 - (pInfo->ImageWidth % 8)); } if ((pInfo->ImageHeight % 8) != 0) { pInfo->ImageHeight += (8 - (pInfo->ImageHeight % 8)); 70001fc8: 608b str r3, [r1, #8] } } } } 70001fca: 4770 bx lr if (pInfo->ChromaSubsampling == JPEG_422_SUBSAMPLING) 70001fcc: 2b02 cmp r3, #2 70001fce: d10d bne.n 70001fec if ((pInfo->ImageWidth % 16) != 0) 70001fd0: 68cb ldr r3, [r1, #12] 70001fd2: 071a lsls r2, r3, #28 70001fd4: d003 beq.n 70001fde pInfo->ImageWidth += (16 - (pInfo->ImageWidth % 16)); 70001fd6: f023 030f bic.w r3, r3, #15 70001fda: 3310 adds r3, #16 pInfo->ImageWidth += (8 - (pInfo->ImageWidth % 8)); 70001fdc: 60cb str r3, [r1, #12] if ((pInfo->ImageHeight % 8) != 0) 70001fde: 688b ldr r3, [r1, #8] 70001fe0: 075a lsls r2, r3, #29 70001fe2: d0f2 beq.n 70001fca pInfo->ImageHeight += (8 - (pInfo->ImageHeight % 8)); 70001fe4: f023 0307 bic.w r3, r3, #7 70001fe8: 3308 adds r3, #8 70001fea: e7ed b.n 70001fc8 if (pInfo->ChromaSubsampling == JPEG_444_SUBSAMPLING) 70001fec: 2b00 cmp r3, #0 70001fee: d1ec bne.n 70001fca if ((pInfo->ImageWidth % 8) != 0) 70001ff0: 68cb ldr r3, [r1, #12] 70001ff2: 0758 lsls r0, r3, #29 70001ff4: d0f3 beq.n 70001fde pInfo->ImageWidth += (8 - (pInfo->ImageWidth % 8)); 70001ff6: f023 0307 bic.w r3, r3, #7 70001ffa: 3308 adds r3, #8 70001ffc: e7ee b.n 70001fdc ... 70002000 : * @retval None */ void HAL_JPEG_GetDataCallback(JPEG_HandleTypeDef* hjpeg, uint32_t NbDecodedData) { /* Input buffer has been consumed by the peripheral and to ask for a new data chunk if the operation (encoding/decoding) has not been complete yet. */ JPEG_InputImageIndex += NbDecodedData; 70002000: 4a0b ldr r2, [pc, #44] @ (70002030 ) 70002002: 6813 ldr r3, [r2, #0] 70002004: 440b add r3, r1 { 70002006: b430 push {r4, r5} JPEG_InputImageIndex += NbDecodedData; 70002008: 6013 str r3, [r2, #0] if (JPEG_InputImageIndex < JPEG_InputImageSize_Bytes) 7000200a: 4a0a ldr r2, [pc, #40] @ (70002034 ) 7000200c: 6812 ldr r2, [r2, #0] 7000200e: 4293 cmp r3, r2 70002010: d20c bcs.n 7000202c { JPEG_InputImageAddress = JPEG_InputImageAddress + NbDecodedData; 70002012: 4c09 ldr r4, [pc, #36] @ (70002038 ) uint32_t inDataLength = JPEG_InputImageSize_Bytes - JPEG_InputImageIndex; 70002014: 1ad2 subs r2, r2, r3 JPEG_InputImageAddress = JPEG_InputImageAddress + NbDecodedData; 70002016: 6825 ldr r5, [r4, #0] HAL_JPEG_ConfigInputBuffer(hjpeg, (uint8_t*)JPEG_InputImageAddress, inDataLength >= CHUNK_SIZE_IN ? CHUNK_SIZE_IN : inDataLength); 70002018: f5b2 4f50 cmp.w r2, #53248 @ 0xd000 JPEG_InputImageAddress = JPEG_InputImageAddress + NbDecodedData; 7000201c: 4429 add r1, r5 HAL_JPEG_ConfigInputBuffer(hjpeg, (uint8_t*)JPEG_InputImageAddress, inDataLength >= CHUNK_SIZE_IN ? CHUNK_SIZE_IN : inDataLength); 7000201e: bf28 it cs 70002020: f44f 4250 movcs.w r2, #53248 @ 0xd000 JPEG_InputImageAddress = JPEG_InputImageAddress + NbDecodedData; 70002024: 6021 str r1, [r4, #0] } } 70002026: bc30 pop {r4, r5} HAL_JPEG_ConfigInputBuffer(hjpeg, (uint8_t*)JPEG_InputImageAddress, inDataLength >= CHUNK_SIZE_IN ? CHUNK_SIZE_IN : inDataLength); 70002028: f005 ba93 b.w 70007552 } 7000202c: bc30 pop {r4, r5} 7000202e: 4770 bx lr 70002030: 2400a120 .word 0x2400a120 70002034: 2400a11c .word 0x2400a11c 70002038: 2400a118 .word 0x2400a118 7000203c : * @param pDataOut: pointer to the output data buffer * @param OutDataLength: length of output buffer in bytes * @retval None */ void HAL_JPEG_DataReadyCallback(JPEG_HandleTypeDef* hjpeg, uint8_t* pDataOut, uint32_t OutDataLength) { 7000203c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} line_count += MCU_HEIGHT_PIXELS; 70002040: f8df 8120 ldr.w r8, [pc, #288] @ 70002164 { 70002044: 4607 mov r7, r0 Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].OutputBuffer = FrameBufferAddress; 70002046: 4c3f ldr r4, [pc, #252] @ (70002144 ) line_count += MCU_HEIGHT_PIXELS; 70002048: f8d8 3000 ldr.w r3, [r8] Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].OutputBuffer = FrameBufferAddress; 7000204c: f8df c118 ldr.w ip, [pc, #280] @ 70002168 line_count += MCU_HEIGHT_PIXELS; 70002050: 3310 adds r3, #16 Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].OutputBuffer = FrameBufferAddress; 70002052: 4d3d ldr r5, [pc, #244] @ (70002148 ) 70002054: f8dc e000 ldr.w lr, [ip] line_count += MCU_HEIGHT_PIXELS; 70002058: f8c8 3000 str.w r3, [r8] Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].OutputBuffer = FrameBufferAddress; 7000205c: 6821 ldr r1, [r4, #0] /* Increment framebuffer */ FrameBufferAddress += FrameBufferWidth * MCU_HEIGHT_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel; 7000205e: 4e3b ldr r6, [pc, #236] @ (7000214c ) Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].OutputBuffer = FrameBufferAddress; 70002060: eb05 1141 add.w r1, r5, r1, lsl #5 FrameBufferAddress += FrameBufferWidth * MCU_HEIGHT_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel; 70002064: 6933 ldr r3, [r6, #16] Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].OutputBuffer = FrameBufferAddress; 70002066: f8c1 e010 str.w lr, [r1, #16] FrameBufferAddress += FrameBufferWidth * MCU_HEIGHT_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel; 7000206a: 4939 ldr r1, [pc, #228] @ (70002150 ) 7000206c: 6809 ldr r1, [r1, #0] 7000206e: 4359 muls r1, r3 70002070: eb0e 1301 add.w r3, lr, r1, lsl #4 /* Decode until we reach area to draw */ if (line_count <= JPEG_ConvertorParams.startY) 70002074: f8d8 1000 ldr.w r1, [r8] FrameBufferAddress += FrameBufferWidth * MCU_HEIGHT_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel; 70002078: f8cc 3000 str.w r3, [ip] if (line_count <= JPEG_ConvertorParams.startY) 7000207c: 6973 ldr r3, [r6, #20] 7000207e: 428b cmp r3, r1 { HAL_JPEG_ConfigOutputBuffer(hjpeg, Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].DataBuffer, MCU_CHROMA_420_SIZE_BYTES * JPEG_ConvertorParams.MCU_pr_line); 70002080: 6823 ldr r3, [r4, #0] if (line_count <= JPEG_ConvertorParams.startY) 70002082: d30a bcc.n 7000209a HAL_JPEG_ConfigOutputBuffer(hjpeg, Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].DataBuffer, MCU_CHROMA_420_SIZE_BYTES * JPEG_ConvertorParams.MCU_pr_line); 70002084: 68f2 ldr r2, [r6, #12] 70002086: eb05 1343 add.w r3, r5, r3, lsl #5 7000208a: f44f 71c0 mov.w r1, #384 @ 0x180 /* Signal Hardware Decoding to wake up */ if (!DMA2D_reference->isDMARunning()) { SEM_POST(semDecodingDone); } } 7000208e: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} HAL_JPEG_ConfigOutputBuffer(hjpeg, Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].DataBuffer, MCU_CHROMA_420_SIZE_BYTES * JPEG_ConvertorParams.MCU_pr_line); 70002092: 434a muls r2, r1 70002094: 6859 ldr r1, [r3, #4] 70002096: f005 ba5f b.w 70007558 Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].State = JPEG_BUFFER_FULL; 7000209a: 015b lsls r3, r3, #5 7000209c: 2101 movs r1, #1 7000209e: 54e9 strb r1, [r5, r3] Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].DataBufferSize = OutDataLength; 700020a0: 6823 ldr r3, [r4, #0] 700020a2: eb05 1343 add.w r3, r5, r3, lsl #5 700020a6: 609a str r2, [r3, #8] Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].MCU_drawn = 0; 700020a8: 2200 movs r2, #0 700020aa: 6823 ldr r3, [r4, #0] 700020ac: eb05 1343 add.w r3, r5, r3, lsl #5 700020b0: 619a str r2, [r3, #24] if (JPEG_ConvertorParams.firstColOffset != 0) 700020b2: 6b33 ldr r3, [r6, #48] @ 0x30 700020b4: b11b cbz r3, 700020be Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].DoCropping = true; 700020b6: 6823 ldr r3, [r4, #0] 700020b8: eb05 1343 add.w r3, r5, r3, lsl #5 700020bc: 7719 strb r1, [r3, #28] if (line_count < JPEG_ConvertorParams.endY) 700020be: f8d8 3000 ldr.w r3, [r8] 700020c2: 69b2 ldr r2, [r6, #24] 700020c4: 429a cmp r2, r3 700020c6: d921 bls.n 7000210c Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].LastJob = false; 700020c8: 6823 ldr r3, [r4, #0] 700020ca: 2200 movs r2, #0 700020cc: eb05 1343 add.w r3, r5, r3, lsl #5 700020d0: 755a strb r2, [r3, #21] JPEG_OUT_Write_BufferIndex++; 700020d2: 6823 ldr r3, [r4, #0] 700020d4: 3301 adds r3, #1 700020d6: 6023 str r3, [r4, #0] if (JPEG_OUT_Write_BufferIndex >= NB_OUTPUT_DATA_BUFFERS) 700020d8: 6823 ldr r3, [r4, #0] 700020da: 2b01 cmp r3, #1 700020dc: d900 bls.n 700020e0 JPEG_OUT_Write_BufferIndex = 0; 700020de: 6022 str r2, [r4, #0] if (Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].State != JPEG_BUFFER_EMPTY) 700020e0: 6823 ldr r3, [r4, #0] 700020e2: 015b lsls r3, r3, #5 700020e4: 5ceb ldrb r3, [r5, r3] 700020e6: b133 cbz r3, 700020f6 HAL_JPEG_Pause(hjpeg, JPEG_PAUSE_RESUME_OUTPUT); 700020e8: 2102 movs r1, #2 700020ea: 4638 mov r0, r7 700020ec: f005 f9fe bl 700074ec JPEG_output_is_paused = 1; 700020f0: 4b18 ldr r3, [pc, #96] @ (70002154 ) 700020f2: 2201 movs r2, #1 700020f4: 601a str r2, [r3, #0] HAL_JPEG_ConfigOutputBuffer(hjpeg, Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].DataBuffer, MCU_CHROMA_420_SIZE_BYTES * JPEG_ConvertorParams.MCU_pr_line); 700020f6: 6823 ldr r3, [r4, #0] 700020f8: f44f 71c0 mov.w r1, #384 @ 0x180 700020fc: 68f2 ldr r2, [r6, #12] 700020fe: 4638 mov r0, r7 70002100: eb05 1343 add.w r3, r5, r3, lsl #5 70002104: 434a muls r2, r1 70002106: 6859 ldr r1, [r3, #4] 70002108: f005 fa26 bl 70007558 if (line_count >= JPEG_ConvertorParams.endY) 7000210c: f8d8 3000 ldr.w r3, [r8] 70002110: 69b2 ldr r2, [r6, #24] 70002112: 429a cmp r2, r3 70002114: d80a bhi.n 7000212c Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].LastJob = true; 70002116: 6823 ldr r3, [r4, #0] HAL_JPEG_Pause(hjpeg, JPEG_PAUSE_RESUME_OUTPUT); 70002118: 2102 movs r1, #2 Jpeg_HWDecodingEnd = 1; 7000211a: 4a0f ldr r2, [pc, #60] @ (70002158 ) HAL_JPEG_Pause(hjpeg, JPEG_PAUSE_RESUME_OUTPUT); 7000211c: 4638 mov r0, r7 Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].LastJob = true; 7000211e: eb05 1543 add.w r5, r5, r3, lsl #5 70002122: 2301 movs r3, #1 70002124: 756b strb r3, [r5, #21] Jpeg_HWDecodingEnd = 1; 70002126: 6013 str r3, [r2, #0] HAL_JPEG_Pause(hjpeg, JPEG_PAUSE_RESUME_OUTPUT); 70002128: f005 f9e0 bl 700074ec * * @return true if a DMA operation is currently in progress. */ bool isDMARunning() { return isRunning; 7000212c: 4b0b ldr r3, [pc, #44] @ (7000215c ) 7000212e: 681b ldr r3, [r3, #0] if (!DMA2D_reference->isDMARunning()) 70002130: 7a1b ldrb r3, [r3, #8] 70002132: b92b cbnz r3, 70002140 SEM_POST(semDecodingDone); 70002134: 4b0a ldr r3, [pc, #40] @ (70002160 ) } 70002136: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} SEM_POST(semDecodingDone); 7000213a: 6818 ldr r0, [r3, #0] 7000213c: f009 bb45 b.w 7000b7ca } 70002140: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 70002144: 2400a104 .word 0x2400a104 70002148: 24000004 .word 0x24000004 7000214c: 24009eac .word 0x24009eac 70002150: 2400a100 .word 0x2400a100 70002154: 2400a110 .word 0x2400a110 70002158: 2400a114 .word 0x2400a114 7000215c: 2400a108 .word 0x2400a108 70002160: 24009ef4 .word 0x24009ef4 70002164: 2400a0fc .word 0x2400a0fc 70002168: 2400a124 .word 0x2400a124 7000216c : __ASM volatile ("cpsid i" : : : "memory"); 7000216c: b672 cpsid i * @retval None */ void HAL_JPEG_ErrorCallback(JPEG_HandleTypeDef* hjpeg) { __disable_irq(); while (1) 7000216e: e7fe b.n 7000216e 70002170 : * @param hjpeg: JPEG handle pointer * @retval None */ void HAL_JPEG_DecodeCpltCallback(JPEG_HandleTypeDef* hjpeg) { Jpeg_HWDecodingEnd = 1; 70002170: 4b01 ldr r3, [pc, #4] @ (70002178 ) 70002172: 2201 movs r2, #1 70002174: 601a str r2, [r3, #0] } 70002176: 4770 bx lr 70002178: 2400a114 .word 0x2400a114 7000217c : * @brief JPEG Ouput Data BackGround Postprocessing . * @param hjpeg: JPEG handle pointer * @retval 1 : if JPEG processing has finished, 0 : if JPEG processing still ongoing */ uint32_t JPEG_OutputHandler(JPEG_HandleTypeDef* hjpeg) { 7000217c: b538 push {r3, r4, r5, lr} /* Decode frame complete */ if (Jpeg_HWDecodingEnd && DMA2D_CopyBufferEnd) 7000217e: 4d1b ldr r5, [pc, #108] @ (700021ec ) { 70002180: 4604 mov r4, r0 if (Jpeg_HWDecodingEnd && DMA2D_CopyBufferEnd) 70002182: 682b ldr r3, [r5, #0] 70002184: b15b cbz r3, 7000219e 70002186: 4b1a ldr r3, [pc, #104] @ (700021f0 ) 70002188: 681b ldr r3, [r3, #0] 7000218a: b143 cbz r3, 7000219e { /* Abort any ongoing operations */ if (HAL_JPEG_GetState(hjpeg) == HAL_JPEG_STATE_BUSY_DECODING) 7000218c: f005 fdc7 bl 70007d1e 70002190: 2804 cmp r0, #4 70002192: d102 bne.n 7000219a { HAL_JPEG_Abort(hjpeg); 70002194: 4620 mov r0, r4 70002196: f005 f9e2 bl 7000755e } return 1; 7000219a: 2001 movs r0, #1 JPEG_output_is_paused = 0; HAL_JPEG_Resume(hjpeg, JPEG_PAUSE_RESUME_OUTPUT); } return 2; } 7000219c: bd38 pop {r3, r4, r5, pc} if (!DMA2D_reference->isDMARunning() && (Jpeg_OUT_BufferTab[JPEG_OUT_Read_BufferIndex].State == JPEG_BUFFER_FULL) && (DMA2D_CopyBufferEnd == 0)) 7000219e: 4b15 ldr r3, [pc, #84] @ (700021f4 ) 700021a0: 6818 ldr r0, [r3, #0] 700021a2: 7a03 ldrb r3, [r0, #8] 700021a4: b963 cbnz r3, 700021c0 700021a6: 4b14 ldr r3, [pc, #80] @ (700021f8 ) 700021a8: 4a14 ldr r2, [pc, #80] @ (700021fc ) 700021aa: 681b ldr r3, [r3, #0] 700021ac: 015b lsls r3, r3, #5 700021ae: 5cd3 ldrb r3, [r2, r3] 700021b0: 2b01 cmp r3, #1 700021b2: d105 bne.n 700021c0 700021b4: 4b0e ldr r3, [pc, #56] @ (700021f0 ) 700021b6: 681b ldr r3, [r3, #0] 700021b8: b913 cbnz r3, 700021c0 DMA2D_reference->start(); 700021ba: 6803 ldr r3, [r0, #0] 700021bc: 691b ldr r3, [r3, #16] 700021be: 4798 blx r3 if ((JPEG_output_is_paused == 1) && (Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].State == JPEG_BUFFER_EMPTY) && (Jpeg_HWDecodingEnd == 0)) 700021c0: 4a0f ldr r2, [pc, #60] @ (70002200 ) 700021c2: 6813 ldr r3, [r2, #0] 700021c4: 2b01 cmp r3, #1 700021c6: d105 bne.n 700021d4 700021c8: 4b0e ldr r3, [pc, #56] @ (70002204 ) 700021ca: 490c ldr r1, [pc, #48] @ (700021fc ) 700021cc: 681b ldr r3, [r3, #0] 700021ce: 015b lsls r3, r3, #5 700021d0: 5ccb ldrb r3, [r1, r3] 700021d2: b10b cbz r3, 700021d8 return 2; 700021d4: 2002 movs r0, #2 700021d6: e7e1 b.n 7000219c if ((JPEG_output_is_paused == 1) && (Jpeg_OUT_BufferTab[JPEG_OUT_Write_BufferIndex].State == JPEG_BUFFER_EMPTY) && (Jpeg_HWDecodingEnd == 0)) 700021d8: 682b ldr r3, [r5, #0] 700021da: 2b00 cmp r3, #0 700021dc: d1fa bne.n 700021d4 HAL_JPEG_Resume(hjpeg, JPEG_PAUSE_RESUME_OUTPUT); 700021de: 2102 movs r1, #2 700021e0: 4620 mov r0, r4 JPEG_output_is_paused = 0; 700021e2: 6013 str r3, [r2, #0] HAL_JPEG_Resume(hjpeg, JPEG_PAUSE_RESUME_OUTPUT); 700021e4: f005 fc46 bl 70007a74 700021e8: e7f4 b.n 700021d4 700021ea: bf00 nop 700021ec: 2400a114 .word 0x2400a114 700021f0: 24009eec .word 0x24009eec 700021f4: 2400a108 .word 0x2400a108 700021f8: 24009ef0 .word 0x24009ef0 700021fc: 24000004 .word 0x24000004 70002200: 2400a110 .word 0x2400a110 70002204: 2400a104 .word 0x2400a104 70002208 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm>: { 70002208: b570 push {r4, r5, r6, lr} 7000220a: 4605 mov r5, r0 if (length == 0) 7000220c: 2a00 cmp r2, #0 7000220e: d03a beq.n 70002286 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x7e> if (outputBuffer) /* only decode if buffers are assigned. */ 70002210: 2b00 cmp r3, #0 70002212: d038 beq.n 70002286 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x7e> JPEG_ConvertorParams.bytes_pr_pixel = 2; 70002214: 481c ldr r0, [pc, #112] @ (70002288 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x80>) 70002216: 2402 movs r4, #2 70002218: 6104 str r4, [r0, #16] JPEG_ConvertorParams.WidthExtend = videoInfo.frame_width; 7000221a: 68ec ldr r4, [r5, #12] if ((JPEG_ConvertorParams.WidthExtend % 16) != 0) 7000221c: 0726 lsls r6, r4, #28 JPEG_ConvertorParams.ScaledWidth = 800 * JPEG_ConvertorParams.bytes_pr_pixel; 7000221e: f44f 66c8 mov.w r6, #1600 @ 0x640 JPEG_ConvertorParams.WidthExtend += 16 - (JPEG_ConvertorParams.WidthExtend % 16); 70002222: bf18 it ne 70002224: f024 040f bicne.w r4, r4, #15 JPEG_ConvertorParams.ScaledWidth = 800 * JPEG_ConvertorParams.bytes_pr_pixel; 70002228: 6046 str r6, [r0, #4] JPEG_ConvertorParams.WidthExtend += 16 - (JPEG_ConvertorParams.WidthExtend % 16); 7000222a: bf18 it ne 7000222c: 3410 addne r4, #16 JPEG_ConvertorParams.WidthExtend = videoInfo.frame_width; 7000222e: 6004 str r4, [r0, #0] JPEG_ConvertorParams.MCU_pr_line = JPEG_ConvertorParams.WidthExtend / MCU_WIDTH_PIXELS; 70002230: 0924 lsrs r4, r4, #4 70002232: 60c4 str r4, [r0, #12] JPEG_ConvertorParams.LastLineHeight = (videoInfo.frame_height % MCU_HEIGHT_PIXELS) == 0 ? 0 : MCU_HEIGHT_PIXELS - (videoInfo.frame_height % MCU_HEIGHT_PIXELS); 70002234: 692c ldr r4, [r5, #16] 70002236: f014 040f ands.w r4, r4, #15 7000223a: bf18 it ne 7000223c: f1c4 0410 rsbne r4, r4, #16 70002240: 6084 str r4, [r0, #8] FrameBufferWidth = bufferStride / 2; 70002242: 9806 ldr r0, [sp, #24] 70002244: 4c11 ldr r4, [pc, #68] @ (7000228c <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x84>) 70002246: 0840 lsrs r0, r0, #1 70002248: 6020 str r0, [r4, #0] FrameBufferAddress = outputBuffer; 7000224a: 4811 ldr r0, [pc, #68] @ (70002290 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x88>) JpegProcessing_End = JPEG_OutputHandler(&hjpeg); 7000224c: 4c11 ldr r4, [pc, #68] @ (70002294 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x8c>) FrameBufferAddress = outputBuffer; 7000224e: 6003 str r3, [r0, #0] JPEG_Decode_DMA(&hjpeg, const_cast(mjpgdata), length, outputBuffer); 70002250: 4811 ldr r0, [pc, #68] @ (70002298 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x90>) 70002252: f7ff fe5b bl 70001f0c DMA2D_reference = dma; 70002256: 6c6a ldr r2, [r5, #68] @ 0x44 70002258: 4b10 ldr r3, [pc, #64] @ (7000229c <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x94>) 7000225a: 601a str r2, [r3, #0] JpegProcessing_End = JPEG_OutputHandler(&hjpeg); 7000225c: 480e ldr r0, [pc, #56] @ (70002298 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x90>) 7000225e: f7ff ff8d bl 7000217c 70002262: 6020 str r0, [r4, #0] if (JpegProcessing_End == 2) 70002264: 6823 ldr r3, [r4, #0] 70002266: 2b02 cmp r3, #2 70002268: d105 bne.n 70002276 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x6e> SEM_WAIT(semDecodingDone); 7000226a: 4b0d ldr r3, [pc, #52] @ (700022a0 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x98>) 7000226c: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 70002270: 6818 ldr r0, [r3, #0] 70002272: f009 fa78 bl 7000b766 } while (JpegProcessing_End != 1); 70002276: 6823 ldr r3, [r4, #0] 70002278: 2b01 cmp r3, #1 7000227a: d1ef bne.n 7000225c <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x54> Jpeg_HWDecodingEnd = 0; 7000227c: 2300 movs r3, #0 7000227e: 4a09 ldr r2, [pc, #36] @ (700022a4 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0x9c>) 70002280: 6013 str r3, [r2, #0] DMA2D_CopyBufferEnd = 0; 70002282: 4a09 ldr r2, [pc, #36] @ (700022a8 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm+0xa0>) 70002284: 6013 str r3, [r2, #0] } 70002286: bd70 pop {r4, r5, r6, pc} 70002288: 24009eac .word 0x24009eac 7000228c: 2400a100 .word 0x2400a100 70002290: 2400a124 .word 0x2400a124 70002294: 2400a10c .word 0x2400a10c 70002298: 24009b7c .word 0x24009b7c 7000229c: 2400a108 .word 0x2400a108 700022a0: 24009ef4 .word 0x24009ef4 700022a4: 2400a114 .word 0x2400a114 700022a8: 24009eec .word 0x24009eec 700022ac <_ZN20HardwareMJPEGDecoder15decodeNextFrameEPhttm>: { 700022ac: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700022b0: 4699 mov r9, r3 assert((frameNumber > 0) && "HardwareMJPEGDecoder decoding without frame data!"); 700022b2: 6943 ldr r3, [r0, #20] { 700022b4: b085 sub sp, #20 700022b6: 4604 mov r4, r0 700022b8: 460f mov r7, r1 700022ba: 4690 mov r8, r2 assert((frameNumber > 0) && "HardwareMJPEGDecoder decoding without frame data!"); 700022bc: b92b cbnz r3, 700022ca <_ZN20HardwareMJPEGDecoder15decodeNextFrameEPhttm+0x1e> 700022be: 4b29 ldr r3, [pc, #164] @ (70002364 <_ZN20HardwareMJPEGDecoder15decodeNextFrameEPhttm+0xb8>) 700022c0: 21c3 movs r1, #195 @ 0xc3 700022c2: 4a29 ldr r2, [pc, #164] @ (70002368 <_ZN20HardwareMJPEGDecoder15decodeNextFrameEPhttm+0xbc>) 700022c4: 4829 ldr r0, [pc, #164] @ (7000236c <_ZN20HardwareMJPEGDecoder15decodeNextFrameEPhttm+0xc0>) 700022c6: f038 fe75 bl 7003afb4 <__assert_func> readData(currentMovieOffset, 8); 700022ca: 2208 movs r2, #8 700022cc: 6981 ldr r1, [r0, #24] 700022ce: f7ff fc83 bl 70001bd8 <_ZN20HardwareMJPEGDecoder8readDataEmm> uint32_t streamNo = getU16(currentMovieOffset); 700022d2: 69a6 ldr r6, [r4, #24] 700022d4: 4620 mov r0, r4 700022d6: 4631 mov r1, r6 700022d8: f7ff fc6b bl 70001bb2 <_ZN20HardwareMJPEGDecoder6getU16Em> uint32_t chunkType = getU16(currentMovieOffset + 2); 700022dc: 1cb1 adds r1, r6, #2 uint32_t streamNo = getU16(currentMovieOffset); 700022de: 4683 mov fp, r0 uint32_t chunkType = getU16(currentMovieOffset + 2); 700022e0: 4620 mov r0, r4 700022e2: f7ff fc66 bl 70001bb2 <_ZN20HardwareMJPEGDecoder6getU16Em> uint32_t chunkSize = getU32(currentMovieOffset + 4); 700022e6: 1d31 adds r1, r6, #4 uint32_t chunkType = getU16(currentMovieOffset + 2); 700022e8: 4682 mov sl, r0 uint32_t chunkSize = getU32(currentMovieOffset + 4); 700022ea: 4620 mov r0, r4 700022ec: f7ff fc46 bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> 700022f0: f106 0108 add.w r1, r6, #8 if (currentMovieOffset + 8 + chunkSize < movieLength) 700022f4: 6aa3 ldr r3, [r4, #40] @ 0x28 uint32_t chunkSize = getU32(currentMovieOffset + 4); 700022f6: 4605 mov r5, r0 if (currentMovieOffset + 8 + chunkSize < movieLength) 700022f8: 180a adds r2, r1, r0 700022fa: 429a cmp r2, r3 700022fc: d226 bcs.n 7000234c <_ZN20HardwareMJPEGDecoder15decodeNextFrameEPhttm+0xa0> if (streamNo == STREAM0 && chunkType == TYPEDC && chunkSize > 0) 700022fe: f243 0330 movw r3, #12336 @ 0x3030 70002302: 459b cmp fp, r3 70002304: d117 bne.n 70002336 <_ZN20HardwareMJPEGDecoder15decodeNextFrameEPhttm+0x8a> 70002306: f246 3364 movw r3, #25444 @ 0x6364 7000230a: 459a cmp sl, r3 7000230c: d113 bne.n 70002336 <_ZN20HardwareMJPEGDecoder15decodeNextFrameEPhttm+0x8a> 7000230e: b190 cbz r0, 70002336 <_ZN20HardwareMJPEGDecoder15decodeNextFrameEPhttm+0x8a> const uint8_t* chunk = readData(currentMovieOffset, chunkSize); 70002310: 4602 mov r2, r0 currentMovieOffset += 8; 70002312: 61a1 str r1, [r4, #24] const uint8_t* chunk = readData(currentMovieOffset, chunkSize); 70002314: 4620 mov r0, r4 70002316: f7ff fc5f bl 70001bd8 <_ZN20HardwareMJPEGDecoder8readDataEmm> decodeMJPEGFrame(chunk, chunkSize, buffer, buffer_width, buffer_height, buffer_stride); 7000231a: 9b0e ldr r3, [sp, #56] @ 0x38 const uint8_t* chunk = readData(currentMovieOffset, chunkSize); 7000231c: 4601 mov r1, r0 decodeMJPEGFrame(chunk, chunkSize, buffer, buffer_width, buffer_height, buffer_stride); 7000231e: 462a mov r2, r5 70002320: 4620 mov r0, r4 70002322: f8cd 8000 str.w r8, [sp] 70002326: e9cd 9301 strd r9, r3, [sp, #4] 7000232a: 463b mov r3, r7 7000232c: f7ff ff6c bl 70002208 <_ZN20HardwareMJPEGDecoder16decodeMJPEGFrameEPKhmPhttm> frameNumber++; 70002330: 6963 ldr r3, [r4, #20] 70002332: 3301 adds r3, #1 70002334: 6163 str r3, [r4, #20] currentMovieOffset += chunkSize; 70002336: 69a3 ldr r3, [r4, #24] 70002338: 442b add r3, r5 if (chunkSize == 0) /* Empty frame - Skip */ 7000233a: b905 cbnz r5, 7000233e <_ZN20HardwareMJPEGDecoder15decodeNextFrameEPhttm+0x92> currentMovieOffset += 8; 7000233c: 3308 adds r3, #8 currentMovieOffset = (currentMovieOffset + 1) & 0xFFFFFFFE; /* pad to next word */ 7000233e: 3301 adds r3, #1 if (currentMovieOffset == lastFrameEnd) 70002340: 6a62 ldr r2, [r4, #36] @ 0x24 currentMovieOffset = (currentMovieOffset + 1) & 0xFFFFFFFE; /* pad to next word */ 70002342: f023 0301 bic.w r3, r3, #1 if (currentMovieOffset == lastFrameEnd) 70002346: 4293 cmp r3, r2 currentMovieOffset = (currentMovieOffset + 1) & 0xFFFFFFFE; /* pad to next word */ 70002348: 61a3 str r3, [r4, #24] if (currentMovieOffset == lastFrameEnd) 7000234a: d109 bne.n 70002360 <_ZN20HardwareMJPEGDecoder15decodeNextFrameEPhttm+0xb4> frameNumber = 1; 7000234c: 2301 movs r3, #1 isCurrentFrameLast = true; 7000234e: 2001 movs r0, #1 frameNumber = 1; 70002350: 6163 str r3, [r4, #20] currentMovieOffset = firstFrameOffset; /* start over */ 70002352: 6a23 ldr r3, [r4, #32] 70002354: 61a3 str r3, [r4, #24] } 70002356: f080 0001 eor.w r0, r0, #1 7000235a: b005 add sp, #20 7000235c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} isCurrentFrameLast = false; 70002360: 2000 movs r0, #0 70002362: e7f8 b.n 70002356 <_ZN20HardwareMJPEGDecoder15decodeNextFrameEPhttm+0xaa> 70002364: 7003d292 .word 0x7003d292 70002368: 7003d3b1 .word 0x7003d3b1 7000236c: 7003d1d3 .word 0x7003d1d3 70002370 <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm>: { 70002370: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 70002374: 4607 mov r7, r0 70002376: 468b mov fp, r1 70002378: 4691 mov r9, r2 readData(currentMovieOffset, 8); 7000237a: 6981 ldr r1, [r0, #24] 7000237c: 2208 movs r2, #8 { 7000237e: 469a mov sl, r3 readData(currentMovieOffset, 8); 70002380: f7ff fc2a bl 70001bd8 <_ZN20HardwareMJPEGDecoder8readDataEmm> const uint32_t length = getU32(currentMovieOffset + 4); 70002384: 69bc ldr r4, [r7, #24] 70002386: 4638 mov r0, r7 70002388: 1d21 adds r1, r4, #4 7000238a: f7ff fbf7 bl 70001b7c <_ZN20HardwareMJPEGDecoder6getU32Em> const uint8_t* mjpgdata = readData(currentMovieOffset + 8, length); 7000238e: f104 0108 add.w r1, r4, #8 70002392: 4602 mov r2, r0 const uint32_t length = getU32(currentMovieOffset + 4); 70002394: 4680 mov r8, r0 const uint8_t* mjpgdata = readData(currentMovieOffset + 8, length); 70002396: 4638 mov r0, r7 JPEG_ConvertorParams.bytes_pr_pixel = 2; 70002398: 4c38 ldr r4, [pc, #224] @ (7000247c <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm+0x10c>) const uint8_t* mjpgdata = readData(currentMovieOffset + 8, length); 7000239a: f7ff fc1d bl 70001bd8 <_ZN20HardwareMJPEGDecoder8readDataEmm> JPEG_ConvertorParams.WidthExtend = videoInfo.frame_width; 7000239e: 68fa ldr r2, [r7, #12] JPEG_ConvertorParams.bytes_pr_pixel = 2; 700023a0: 2302 movs r3, #2 const uint8_t* mjpgdata = readData(currentMovieOffset + 8, length); 700023a2: 4601 mov r1, r0 * * @return y coordinate of the bottom edge (calculated as "y + height"). */ FORCE_INLINE_FUNCTION int16_t bottom() const { return y + height; 700023a4: f8bb 5006 ldrh.w r5, [fp, #6] JPEG_ConvertorParams.bytes_pr_pixel = 2; 700023a8: 6123 str r3, [r4, #16] if ((JPEG_ConvertorParams.WidthExtend % 16) != 0) 700023aa: 0713 lsls r3, r2, #28 JPEG_ConvertorParams.WidthExtend += 16 - (JPEG_ConvertorParams.WidthExtend % 16); 700023ac: bf13 iteet ne 700023ae: f022 030f bicne.w r3, r2, #15 700023b2: 4610 moveq r0, r2 700023b4: 4613 moveq r3, r2 700023b6: 3310 addne r3, #16 700023b8: bf18 it ne 700023ba: 4618 movne r0, r3 JPEG_ConvertorParams.MCU_pr_line = JPEG_ConvertorParams.WidthExtend / MCU_WIDTH_PIXELS; 700023bc: 091b lsrs r3, r3, #4 JPEG_ConvertorParams.WidthExtend = videoInfo.frame_width; 700023be: 6020 str r0, [r4, #0] JPEG_ConvertorParams.ScaledWidth = 800 * JPEG_ConvertorParams.bytes_pr_pixel; 700023c0: f44f 60c8 mov.w r0, #1600 @ 0x640 JPEG_ConvertorParams.MCU_pr_line = JPEG_ConvertorParams.WidthExtend / MCU_WIDTH_PIXELS; 700023c4: 60e3 str r3, [r4, #12] JPEG_ConvertorParams.ScaledWidth = 800 * JPEG_ConvertorParams.bytes_pr_pixel; 700023c6: 6060 str r0, [r4, #4] JPEG_ConvertorParams.startY = area.y; 700023c8: f9bb 0002 ldrsh.w r0, [fp, #2] JPEG_ConvertorParams.endY = MIN((uint32_t)area.bottom(), videoInfo.frame_height); 700023cc: 693b ldr r3, [r7, #16] 700023ce: 4405 add r5, r0 JPEG_ConvertorParams.startY = area.y; 700023d0: 6160 str r0, [r4, #20] JPEG_ConvertorParams.firstRowOffset = JPEG_ConvertorParams.startY % MCU_HEIGHT_PIXELS; 700023d2: f000 000f and.w r0, r0, #15 JPEG_ConvertorParams.endY = MIN((uint32_t)area.bottom(), videoInfo.frame_height); 700023d6: b22d sxth r5, r5 JPEG_ConvertorParams.firstRowOffset = JPEG_ConvertorParams.startY % MCU_HEIGHT_PIXELS; 700023d8: 6360 str r0, [r4, #52] @ 0x34 JPEG_ConvertorParams.endY = MIN((uint32_t)area.bottom(), videoInfo.frame_height); 700023da: 429d cmp r5, r3 JPEG_Decode_DMA(&hjpeg, const_cast(mjpgdata), length, frameBuffer); 700023dc: 4828 ldr r0, [pc, #160] @ (70002480 <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm+0x110>) JPEG_ConvertorParams.endY = MIN((uint32_t)area.bottom(), videoInfo.frame_height); 700023de: bf28 it cs 700023e0: 461d movcs r5, r3 JPEG_ConvertorParams.startX = area.x; 700023e2: f9bb 3000 ldrsh.w r3, [fp] JPEG_ConvertorParams.endY = MIN((uint32_t)area.bottom(), videoInfo.frame_height); 700023e6: 61a5 str r5, [r4, #24] 700023e8: 462e mov r6, r5 return x + width; 700023ea: f8bb 5004 ldrh.w r5, [fp, #4] JPEG_ConvertorParams.MCUStart = JPEG_ConvertorParams.startX / MCU_WIDTH_PIXELS; 700023ee: ea4f 1c13 mov.w ip, r3, lsr #4 JPEG_ConvertorParams.startX = area.x; 700023f2: 61e3 str r3, [r4, #28] 700023f4: 441d add r5, r3 JPEG_ConvertorParams.firstColOffset = JPEG_ConvertorParams.startX % MCU_WIDTH_PIXELS; 700023f6: f003 030f and.w r3, r3, #15 JPEG_ConvertorParams.MCUStart = JPEG_ConvertorParams.startX / MCU_WIDTH_PIXELS; 700023fa: f8c4 c024 str.w ip, [r4, #36] @ 0x24 JPEG_ConvertorParams.endX = MIN((uint32_t)area.right(), videoInfo.frame_width); 700023fe: b22d sxth r5, r5 JPEG_ConvertorParams.firstColOffset = JPEG_ConvertorParams.startX % MCU_WIDTH_PIXELS; 70002400: 6323 str r3, [r4, #48] @ 0x30 FrameBufferWidth = framebuffer_width; 70002402: 4b20 ldr r3, [pc, #128] @ (70002484 <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm+0x114>) JPEG_ConvertorParams.endX = MIN((uint32_t)area.right(), videoInfo.frame_width); 70002404: 4295 cmp r5, r2 FrameBufferWidth = framebuffer_width; 70002406: f8c3 a000 str.w sl, [r3] JPEG_ConvertorParams.endX = MIN((uint32_t)area.right(), videoInfo.frame_width); 7000240a: bf28 it cs 7000240c: 4615 movcs r5, r2 FrameBufferAddress = frameBuffer; 7000240e: 4b1e ldr r3, [pc, #120] @ (70002488 <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm+0x118>) JPEG_ConvertorParams.MCUEnd = (JPEG_ConvertorParams.endX + MCU_WIDTH_PIXELS - 1) / MCU_WIDTH_PIXELS; // Ceil division 70002410: f105 020f add.w r2, r5, #15 JPEG_ConvertorParams.endX = MIN((uint32_t)area.right(), videoInfo.frame_width); 70002414: 6225 str r5, [r4, #32] JPEG_ConvertorParams.lastColOffset = (JPEG_ConvertorParams.endX % MCU_WIDTH_PIXELS) == 0 ? 0 : MCU_WIDTH_PIXELS - (JPEG_ConvertorParams.endX % MCU_WIDTH_PIXELS); 70002416: f015 050f ands.w r5, r5, #15 FrameBufferAddress = frameBuffer; 7000241a: f8c3 9000 str.w r9, [r3] JPEG_ConvertorParams.MCUEnd = (JPEG_ConvertorParams.endX + MCU_WIDTH_PIXELS - 1) / MCU_WIDTH_PIXELS; // Ceil division 7000241e: ea4f 1212 mov.w r2, r2, lsr #4 JPEG_Decode_DMA(&hjpeg, const_cast(mjpgdata), length, frameBuffer); 70002422: 464b mov r3, r9 JPEG_ConvertorParams.lastColOffset = (JPEG_ConvertorParams.endX % MCU_WIDTH_PIXELS) == 0 ? 0 : MCU_WIDTH_PIXELS - (JPEG_ConvertorParams.endX % MCU_WIDTH_PIXELS); 70002424: bf18 it ne 70002426: f1c5 0510 rsbne r5, r5, #16 JPEG_ConvertorParams.lastRowOffset = (JPEG_ConvertorParams.endY % MCU_HEIGHT_PIXELS) == 0 ? 0 : MCU_HEIGHT_PIXELS - (JPEG_ConvertorParams.endY % MCU_HEIGHT_PIXELS); 7000242a: f016 060f ands.w r6, r6, #15 JPEG_ConvertorParams.MCUEnd = (JPEG_ConvertorParams.endX + MCU_WIDTH_PIXELS - 1) / MCU_WIDTH_PIXELS; // Ceil division 7000242e: 62a2 str r2, [r4, #40] @ 0x28 JPEG_ConvertorParams.MCU_pr_job = JPEG_ConvertorParams.MCUEnd - JPEG_ConvertorParams.MCUStart; 70002430: eba2 020c sub.w r2, r2, ip JPEG_ConvertorParams.lastRowOffset = (JPEG_ConvertorParams.endY % MCU_HEIGHT_PIXELS) == 0 ? 0 : MCU_HEIGHT_PIXELS - (JPEG_ConvertorParams.endY % MCU_HEIGHT_PIXELS); 70002434: bf18 it ne 70002436: f1c6 0610 rsbne r6, r6, #16 JPEG_ConvertorParams.lastColOffset = (JPEG_ConvertorParams.endX % MCU_WIDTH_PIXELS) == 0 ? 0 : MCU_WIDTH_PIXELS - (JPEG_ConvertorParams.endX % MCU_WIDTH_PIXELS); 7000243a: 63a5 str r5, [r4, #56] @ 0x38 JPEG_ConvertorParams.MCU_pr_job = JPEG_ConvertorParams.MCUEnd - JPEG_ConvertorParams.MCUStart; 7000243c: 62e2 str r2, [r4, #44] @ 0x2c JPEG_Decode_DMA(&hjpeg, const_cast(mjpgdata), length, frameBuffer); 7000243e: 4642 mov r2, r8 JPEG_ConvertorParams.lastRowOffset = (JPEG_ConvertorParams.endY % MCU_HEIGHT_PIXELS) == 0 ? 0 : MCU_HEIGHT_PIXELS - (JPEG_ConvertorParams.endY % MCU_HEIGHT_PIXELS); 70002440: 63e6 str r6, [r4, #60] @ 0x3c JPEG_Decode_DMA(&hjpeg, const_cast(mjpgdata), length, frameBuffer); 70002442: f7ff fd63 bl 70001f0c JpegProcessing_End = JPEG_OutputHandler(&hjpeg); 70002446: 4c11 ldr r4, [pc, #68] @ (7000248c <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm+0x11c>) DMA2D_reference = dma; 70002448: 6c7a ldr r2, [r7, #68] @ 0x44 7000244a: 4b11 ldr r3, [pc, #68] @ (70002490 <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm+0x120>) 7000244c: 601a str r2, [r3, #0] JpegProcessing_End = JPEG_OutputHandler(&hjpeg); 7000244e: 480c ldr r0, [pc, #48] @ (70002480 <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm+0x110>) 70002450: f7ff fe94 bl 7000217c 70002454: 6020 str r0, [r4, #0] if (JpegProcessing_End == 2) 70002456: 6823 ldr r3, [r4, #0] 70002458: 2b02 cmp r3, #2 7000245a: d105 bne.n 70002468 <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm+0xf8> SEM_WAIT(semDecodingDone); 7000245c: 4b0d ldr r3, [pc, #52] @ (70002494 <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm+0x124>) 7000245e: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 70002462: 6818 ldr r0, [r3, #0] 70002464: f009 f97f bl 7000b766 } while (JpegProcessing_End != 1); 70002468: 6820 ldr r0, [r4, #0] 7000246a: 2801 cmp r0, #1 7000246c: d1ef bne.n 7000244e <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm+0xde> Jpeg_HWDecodingEnd = 0; 7000246e: 2300 movs r3, #0 70002470: 4a09 ldr r2, [pc, #36] @ (70002498 <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm+0x128>) 70002472: 6013 str r3, [r2, #0] DMA2D_CopyBufferEnd = 0; 70002474: 4a09 ldr r2, [pc, #36] @ (7000249c <_ZN20HardwareMJPEGDecoder11decodeFrameERKN8touchgfx4RectEPhm+0x12c>) 70002476: 6013 str r3, [r2, #0] } 70002478: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 7000247c: 24009eac .word 0x24009eac 70002480: 24009b7c .word 0x24009b7c 70002484: 2400a100 .word 0x2400a100 70002488: 2400a124 .word 0x2400a124 7000248c: 2400a10c .word 0x2400a10c 70002490: 2400a108 .word 0x2400a108 70002494: 24009ef4 .word 0x24009ef4 70002498: 2400a114 .word 0x2400a114 7000249c: 24009eec .word 0x24009eec 700024a0 : * @param job: External job reference * @retval None */ void DMA2D_CopyBuffer(JPEG_Data_BufferTypeDef& job) { const uint32_t width = JPEG_ConvertorParams.MCU_pr_job * MCU_WIDTH_PIXELS - job.MCU_drawn * MCU_WIDTH_PIXELS - JPEG_ConvertorParams.lastColOffset; 700024a0: f8df c098 ldr.w ip, [pc, #152] @ 7000253c 700024a4: 6982 ldr r2, [r0, #24] const uint32_t scaledWidth = (width % MCU_WIDTH_PIXELS) == 0 ? 0 : MCU_WIDTH_PIXELS - (width % MCU_WIDTH_PIXELS); const uint32_t srcOffset = (JPEG_ConvertorParams.MCUStart + job.MCU_drawn) * MCU_CHROMA_420_SIZE_BYTES; 700024a6: f8dc 1024 ldr.w r1, [ip, #36] @ 0x24 { 700024aa: b5f0 push {r4, r5, r6, r7, lr} const uint32_t width = JPEG_ConvertorParams.MCU_pr_job * MCU_WIDTH_PIXELS - job.MCU_drawn * MCU_WIDTH_PIXELS - JPEG_ConvertorParams.lastColOffset; 700024ac: f8dc e02c ldr.w lr, [ip, #44] @ 0x2c const uint32_t srcOffset = (JPEG_ConvertorParams.MCUStart + job.MCU_drawn) * MCU_CHROMA_420_SIZE_BYTES; 700024b0: f44f 75c0 mov.w r5, #384 @ 0x180 const uint32_t width = JPEG_ConvertorParams.MCU_pr_job * MCU_WIDTH_PIXELS - job.MCU_drawn * MCU_WIDTH_PIXELS - JPEG_ConvertorParams.lastColOffset; 700024b4: f8dc 4038 ldr.w r4, [ip, #56] @ 0x38 700024b8: ebae 0302 sub.w r3, lr, r2 const uint32_t srcOffset = (JPEG_ConvertorParams.MCUStart + job.MCU_drawn) * MCU_CHROMA_420_SIZE_BYTES; 700024bc: 440a add r2, r1 const uint32_t dstOffset = JPEG_ConvertorParams.MCUStart * MCU_WIDTH_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel 700024be: f8dc 1010 ldr.w r1, [ip, #16] const uint32_t srcOffset = (JPEG_ConvertorParams.MCUStart + job.MCU_drawn) * MCU_CHROMA_420_SIZE_BYTES; 700024c2: 4355 muls r5, r2 const uint32_t width = JPEG_ConvertorParams.MCU_pr_job * MCU_WIDTH_PIXELS - job.MCU_drawn * MCU_WIDTH_PIXELS - JPEG_ConvertorParams.lastColOffset; 700024c4: 011f lsls r7, r3, #4 const uint32_t dstOffset = JPEG_ConvertorParams.MCUStart * MCU_WIDTH_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel 700024c6: 434a muls r2, r1 const uint32_t width = JPEG_ConvertorParams.MCU_pr_job * MCU_WIDTH_PIXELS - job.MCU_drawn * MCU_WIDTH_PIXELS - JPEG_ConvertorParams.lastColOffset; 700024c8: ebc4 1303 rsb r3, r4, r3, lsl #4 + job.MCU_drawn * MCU_WIDTH_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel; /* Mark job as fully drawn */ job.MCU_drawn = JPEG_ConvertorParams.MCU_pr_job; 700024cc: f8c0 e018 str.w lr, [r0, #24] /* DMA2D OPFCCR register configuration */ WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_RGB565); 700024d0: f04f 0e02 mov.w lr, #2 const uint32_t dstOffset = JPEG_ConvertorParams.MCUStart * MCU_WIDTH_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel 700024d4: 0111 lsls r1, r2, #4 WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_RGB565); 700024d6: 4a15 ldr r2, [pc, #84] @ (7000252c ) const uint32_t scaledWidth = (width % MCU_WIDTH_PIXELS) == 0 ? 0 : MCU_WIDTH_PIXELS - (width % MCU_WIDTH_PIXELS); 700024d8: f013 060f ands.w r6, r3, #15 /* Configure DMA2D data size */ if (job.LastJob) /* Last line of frame */ { WRITE_REG(DMA2D->NLR, (MCU_HEIGHT_PIXELS - JPEG_ConvertorParams.lastRowOffset) | (width << DMA2D_NLR_PL_Pos)); 700024dc: ea4f 4303 mov.w r3, r3, lsl #16 WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_RGB565); 700024e0: f8c2 e034 str.w lr, [r2, #52] @ 0x34 if (job.LastJob) /* Last line of frame */ 700024e4: f890 e015 ldrb.w lr, [r0, #21] const uint32_t scaledWidth = (width % MCU_WIDTH_PIXELS) == 0 ? 0 : MCU_WIDTH_PIXELS - (width % MCU_WIDTH_PIXELS); 700024e8: bf18 it ne 700024ea: f1c6 0610 rsbne r6, r6, #16 if (job.LastJob) /* Last line of frame */ 700024ee: f1be 0f00 cmp.w lr, #0 700024f2: d017 beq.n 70002524 WRITE_REG(DMA2D->NLR, (MCU_HEIGHT_PIXELS - JPEG_ConvertorParams.lastRowOffset) | (width << DMA2D_NLR_PL_Pos)); 700024f4: f8dc c03c ldr.w ip, [ip, #60] @ 0x3c 700024f8: f1cc 0c10 rsb ip, ip, #16 700024fc: ea4c 0303 orr.w r3, ip, r3 } else { WRITE_REG(DMA2D->NLR, MCU_HEIGHT_PIXELS | (width << DMA2D_NLR_PL_Pos)); 70002500: 6453 str r3, [r2, #68] @ 0x44 } /* Configure DMA2D destination address */ WRITE_REG(DMA2D->OMAR, reinterpret_cast(job.OutputBuffer + dstOffset)); 70002502: 6903 ldr r3, [r0, #16] 70002504: 440b add r3, r1 70002506: 63d3 str r3, [r2, #60] @ 0x3c /* DMA2D OOR register configuration */ WRITE_REG(DMA2D->OOR, FrameBufferWidth - width); 70002508: 4b09 ldr r3, [pc, #36] @ (70002530 ) 7000250a: 681b ldr r3, [r3, #0] 7000250c: 441c add r4, r3 /* DMA2D FGOR register configuration */ WRITE_REG(DMA2D->FGOR, scaledWidth); /* DMA2D FGPFCCR register configuration */ WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_YCBCR | (DMA2D_CSS_420 << DMA2D_FGPFCCR_CSS_Pos) | (DMA2D_REPLACE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (0xFFU << DMA2D_FGPFCCR_ALPHA_Pos)); 7000250e: 4b09 ldr r3, [pc, #36] @ (70002534 ) WRITE_REG(DMA2D->OOR, FrameBufferWidth - width); 70002510: 1be4 subs r4, r4, r7 70002512: 6414 str r4, [r2, #64] @ 0x40 WRITE_REG(DMA2D->FGOR, scaledWidth); 70002514: 6116 str r6, [r2, #16] WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_YCBCR | (DMA2D_CSS_420 << DMA2D_FGPFCCR_CSS_Pos) | (DMA2D_REPLACE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (0xFFU << DMA2D_FGPFCCR_ALPHA_Pos)); 70002516: 61d3 str r3, [r2, #28] /* Configure DMA2D source address */ WRITE_REG(DMA2D->FGMAR, reinterpret_cast(job.DataBuffer + srcOffset)); 70002518: 6843 ldr r3, [r0, #4] 7000251a: 442b add r3, r5 7000251c: 60d3 str r3, [r2, #12] /* Configure DMA2D contol register */ WRITE_REG(DMA2D->CR, DMA2D_M2M_PFC | DMA2D_IT_TC | DMA2D_CR_START | DMA2D_IT_CE | DMA2D_IT_TE); 7000251e: 4b06 ldr r3, [pc, #24] @ (70002538 ) 70002520: 6013 str r3, [r2, #0] } 70002522: bdf0 pop {r4, r5, r6, r7, pc} WRITE_REG(DMA2D->NLR, MCU_HEIGHT_PIXELS | (width << DMA2D_NLR_PL_Pos)); 70002524: f043 0310 orr.w r3, r3, #16 70002528: e7ea b.n 70002500 7000252a: bf00 nop 7000252c: 52001000 .word 0x52001000 70002530: 2400a100 .word 0x2400a100 70002534: ff09000b .word 0xff09000b 70002538: 00012301 .word 0x00012301 7000253c: 24009eac .word 0x24009eac 70002540 : * @brief Configures external DMA2D job to copy and crop YCbCr data to an RGB cropping buffer * @param job: External job reference * @retval None */ void DMA2D_CropBuffer(JPEG_Data_BufferTypeDef& job) { 70002540: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} const uint32_t colLeftOffset = job.MCU_drawn == 0 ? JPEG_ConvertorParams.firstColOffset : 0; 70002544: 6985 ldr r5, [r0, #24] { 70002546: b08b sub sp, #44 @ 0x2c 70002548: 4604 mov r4, r0 7000254a: 4938 ldr r1, [pc, #224] @ (7000262c ) const uint32_t colLeftOffset = job.MCU_drawn == 0 ? JPEG_ConvertorParams.firstColOffset : 0; 7000254c: 2d00 cmp r5, #0 7000254e: d169 bne.n 70002624 70002550: 6b0a ldr r2, [r1, #48] @ 0x30 const uint32_t colRightOffset = job.MCU_drawn == JPEG_ConvertorParams.MCU_pr_job - 1 ? JPEG_ConvertorParams.lastColOffset : 0; 70002552: 6acb ldr r3, [r1, #44] @ 0x2c const uint32_t rowTopOffset = job.FirstJob ? JPEG_ConvertorParams.firstRowOffset : 0; 70002554: 7d27 ldrb r7, [r4, #20] const uint32_t colRightOffset = job.MCU_drawn == JPEG_ConvertorParams.MCU_pr_job - 1 ? JPEG_ConvertorParams.lastColOffset : 0; 70002556: 3b01 subs r3, #1 const uint32_t rowTopOffset = job.FirstJob ? JPEG_ConvertorParams.firstRowOffset : 0; 70002558: f8d1 9034 ldr.w r9, [r1, #52] @ 0x34 const uint32_t colRightOffset = job.MCU_drawn == JPEG_ConvertorParams.MCU_pr_job - 1 ? JPEG_ConvertorParams.lastColOffset : 0; 7000255c: 429d cmp r5, r3 const uint32_t rowBottomOffset = job.LastJob ? JPEG_ConvertorParams.lastRowOffset : 0; 7000255e: 7d63 ldrb r3, [r4, #21] const uint32_t colRightOffset = job.MCU_drawn == JPEG_ConvertorParams.MCU_pr_job - 1 ? JPEG_ConvertorParams.lastColOffset : 0; 70002560: bf0c ite eq 70002562: f8d1 8038 ldreq.w r8, [r1, #56] @ 0x38 70002566: f04f 0800 movne.w r8, #0 const uint32_t rowTopOffset = job.FirstJob ? JPEG_ConvertorParams.firstRowOffset : 0; 7000256a: 2f00 cmp r7, #0 7000256c: bf14 ite ne 7000256e: 4648 movne r0, r9 70002570: 2000 moveq r0, #0 const uint32_t rowBottomOffset = job.LastJob ? JPEG_ConvertorParams.lastRowOffset : 0; 70002572: 2b00 cmp r3, #0 70002574: d058 beq.n 70002628 70002576: f8d1 c03c ldr.w ip, [r1, #60] @ 0x3c const uint32_t srcOffset = (JPEG_ConvertorParams.MCUStart + job.MCU_drawn) * MCU_CHROMA_420_SIZE_BYTES; 7000257a: 6a4b ldr r3, [r1, #36] @ 0x24 7000257c: f44f 76c0 mov.w r6, #384 @ 0x180 const uint32_t dstOffset = JPEG_ConvertorParams.MCUStart * MCU_WIDTH_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel 70002580: f8d1 b010 ldr.w fp, [r1, #16] const uint32_t srcOffset = (JPEG_ConvertorParams.MCUStart + job.MCU_drawn) * MCU_CHROMA_420_SIZE_BYTES; 70002584: 442b add r3, r5 + job.MCU_drawn * MCU_WIDTH_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel + rowTopOffset * JPEG_ConvertorParams.bytes_pr_pixel * FrameBufferWidth 70002586: 492a ldr r1, [pc, #168] @ (70002630 ) 70002588: fb00 fa0b mul.w sl, r0, fp + colLeftOffset * JPEG_ConvertorParams.bytes_pr_pixel; const uint32_t cropSrcOffset = colLeftOffset * JPEG_ConvertorParams.bytes_pr_pixel + rowTopOffset * JPEG_ConvertorParams.bytes_pr_pixel * MCU_HEIGHT_PIXELS; /* Update job and assert if more cropping is needed */ job.MCU_drawn++; 7000258c: 3501 adds r5, #1 + rowTopOffset * JPEG_ConvertorParams.bytes_pr_pixel * FrameBufferWidth 7000258e: f8d1 e000 ldr.w lr, [r1] const uint32_t srcOffset = (JPEG_ConvertorParams.MCUStart + job.MCU_drawn) * MCU_CHROMA_420_SIZE_BYTES; 70002592: 435e muls r6, r3 + colLeftOffset * JPEG_ConvertorParams.bytes_pr_pixel; 70002594: fb02 f10b mul.w r1, r2, fp + job.MCU_drawn * MCU_WIDTH_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel 70002598: fb0b f303 mul.w r3, fp, r3 job.MCU_drawn++; 7000259c: 61a5 str r5, [r4, #24] 7000259e: 2500 movs r5, #0 const uint32_t dstOffset = JPEG_ConvertorParams.MCUStart * MCU_WIDTH_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel 700025a0: eb01 1303 add.w r3, r1, r3, lsl #4 const uint32_t cropSrcOffset = colLeftOffset * JPEG_ConvertorParams.bytes_pr_pixel 700025a4: eb01 110a add.w r1, r1, sl, lsl #4 const uint32_t dstOffset = JPEG_ConvertorParams.MCUStart * MCU_WIDTH_PIXELS * JPEG_ConvertorParams.bytes_pr_pixel 700025a8: fb0e 330a mla r3, lr, sl, r3 if ((JPEG_ConvertorParams.firstRowOffset == 0) || !job.FirstJob) 700025ac: f1b9 0f00 cmp.w r9, #0 700025b0: d000 beq.n 700025b4 700025b2: b907 cbnz r7, 700025b6 { job.DoCropping = false; 700025b4: 7725 strb r5, [r4, #28] /* Configure BlitOp */ touchgfx::BlitOp blitOp; blitOp.operation = touchgfx::BLIT_OP_COPY; blitOp.pSrc = reinterpret_cast(MCU_Cropping_Buffer + cropSrcOffset); blitOp.nSteps = MCU_WIDTH_PIXELS - colLeftOffset - colRightOffset; 700025b6: f1c2 0210 rsb r2, r2, #16 blitOp.nLoops = MCU_HEIGHT_PIXELS - rowTopOffset - rowBottomOffset; 700025ba: f1c0 0010 rsb r0, r0, #16 blitOp.operation = touchgfx::BLIT_OP_COPY; 700025be: 2701 movs r7, #1 blitOp.srcLoopStride = MCU_WIDTH_PIXELS; blitOp.dstLoopStride = FrameBufferWidth; blitOp.pDst = reinterpret_cast(job.OutputBuffer + dstOffset); blitOp.srcFormat = touchgfx::Bitmap::RGB565; 700025c0: f88d 5021 strb.w r5, [sp, #33] @ 0x21 blitOp.nSteps = MCU_WIDTH_PIXELS - colLeftOffset - colRightOffset; 700025c4: eba2 0208 sub.w r2, r2, r8 blitOp.nLoops = MCU_HEIGHT_PIXELS - rowTopOffset - rowBottomOffset; 700025c8: eba0 000c sub.w r0, r0, ip blitOp.operation = touchgfx::BLIT_OP_COPY; 700025cc: 9701 str r7, [sp, #4] blitOp.nSteps = MCU_WIDTH_PIXELS - colLeftOffset - colRightOffset; 700025ce: f8ad 2018 strh.w r2, [sp, #24] blitOp.srcLoopStride = MCU_WIDTH_PIXELS; 700025d2: 2210 movs r2, #16 blitOp.pSrc = reinterpret_cast(MCU_Cropping_Buffer + cropSrcOffset); 700025d4: 4f17 ldr r7, [pc, #92] @ (70002634 ) blitOp.srcLoopStride = MCU_WIDTH_PIXELS; 700025d6: f8ad 201c strh.w r2, [sp, #28] blitOp.pDst = reinterpret_cast(job.OutputBuffer + dstOffset); 700025da: 6922 ldr r2, [r4, #16] blitOp.pSrc = reinterpret_cast(MCU_Cropping_Buffer + cropSrcOffset); 700025dc: 4439 add r1, r7 blitOp.nLoops = MCU_HEIGHT_PIXELS - rowTopOffset - rowBottomOffset; 700025de: f8ad 001a strh.w r0, [sp, #26] blitOp.pDst = reinterpret_cast(job.OutputBuffer + dstOffset); 700025e2: 441a add r2, r3 blitOp.dstFormat = touchgfx::Bitmap::RGB565; DMA2D_reference->addToQueue(blitOp); 700025e4: 4b14 ldr r3, [pc, #80] @ (70002638 ) blitOp.dstFormat = touchgfx::Bitmap::RGB565; 700025e6: f88d 5022 strb.w r5, [sp, #34] @ 0x22 DMA2D_reference->addToQueue(blitOp); 700025ea: 6818 ldr r0, [r3, #0] blitOp.pSrc = reinterpret_cast(MCU_Cropping_Buffer + cropSrcOffset); 700025ec: 9102 str r1, [sp, #8] DMA2D_reference->addToQueue(blitOp); 700025ee: a901 add r1, sp, #4 700025f0: 6803 ldr r3, [r0, #0] blitOp.pDst = reinterpret_cast(job.OutputBuffer + dstOffset); 700025f2: 9205 str r2, [sp, #20] DMA2D_reference->addToQueue(blitOp); 700025f4: 685b ldr r3, [r3, #4] : color(0) 700025f6: 9504 str r5, [sp, #16] blitOp.dstLoopStride = FrameBufferWidth; 700025f8: f8ad e01e strh.w lr, [sp, #30] DMA2D_reference->addToQueue(blitOp); 700025fc: 4798 blx r3 /* DMA2D OPFCCR register configuration */ WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_RGB565); 700025fe: 4b0f ldr r3, [pc, #60] @ (7000263c ) 70002600: 2202 movs r2, #2 70002602: 635a str r2, [r3, #52] @ 0x34 /* Configure DMA2D data size */ WRITE_REG(DMA2D->NLR, MCU_HEIGHT_PIXELS | (MCU_WIDTH_PIXELS << DMA2D_NLR_PL_Pos)); 70002604: f04f 1210 mov.w r2, #1048592 @ 0x100010 70002608: 645a str r2, [r3, #68] @ 0x44 /* DMA2D FGOR register configuration */ WRITE_REG(DMA2D->FGOR, 0); /* DMA2D FGPFCCR register configuration */ WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_YCBCR | (DMA2D_CSS_420 << DMA2D_FGPFCCR_CSS_Pos) | (DMA2D_REPLACE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (0xFFU << DMA2D_FGPFCCR_ALPHA_Pos)); 7000260a: 4a0d ldr r2, [pc, #52] @ (70002640 ) WRITE_REG(DMA2D->OMAR, reinterpret_cast(MCU_Cropping_Buffer)); 7000260c: 63df str r7, [r3, #60] @ 0x3c WRITE_REG(DMA2D->OOR, 0); 7000260e: 641d str r5, [r3, #64] @ 0x40 WRITE_REG(DMA2D->FGOR, 0); 70002610: 611d str r5, [r3, #16] WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_YCBCR | (DMA2D_CSS_420 << DMA2D_FGPFCCR_CSS_Pos) | (DMA2D_REPLACE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (0xFFU << DMA2D_FGPFCCR_ALPHA_Pos)); 70002612: 61da str r2, [r3, #28] /* Configure DMA2D source address */ WRITE_REG(DMA2D->FGMAR, reinterpret_cast(job.DataBuffer + srcOffset)); 70002614: 6862 ldr r2, [r4, #4] 70002616: 4432 add r2, r6 70002618: 60da str r2, [r3, #12] /* Configure DMA2D contol register */ WRITE_REG(DMA2D->CR, DMA2D_M2M_PFC | DMA2D_IT_TC | DMA2D_CR_START | DMA2D_IT_CE | DMA2D_IT_TE); 7000261a: 4a0a ldr r2, [pc, #40] @ (70002644 ) 7000261c: 601a str r2, [r3, #0] } 7000261e: b00b add sp, #44 @ 0x2c 70002620: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} const uint32_t colLeftOffset = job.MCU_drawn == 0 ? JPEG_ConvertorParams.firstColOffset : 0; 70002624: 2200 movs r2, #0 70002626: e794 b.n 70002552 const uint32_t rowBottomOffset = job.LastJob ? JPEG_ConvertorParams.lastRowOffset : 0; 70002628: 469c mov ip, r3 7000262a: e7a6 b.n 7000257a 7000262c: 24009eac .word 0x24009eac 70002630: 2400a100 .word 0x2400a100 70002634: 24009efc .word 0x24009efc 70002638: 2400a108 .word 0x2400a108 7000263c: 52001000 .word 0x52001000 70002640: ff09000b .word 0xff09000b 70002644: 00012301 .word 0x00012301 70002648 : * @retval None */ void DMA2D_ExternalJobCompleted(JPEG_Data_BufferTypeDef& job) { /* Mark job done if all MCUs are drawn */ if (job.MCU_drawn == JPEG_ConvertorParams.MCU_pr_job) 70002648: 4b0d ldr r3, [pc, #52] @ (70002680 ) 7000264a: 6982 ldr r2, [r0, #24] 7000264c: 6adb ldr r3, [r3, #44] @ 0x2c 7000264e: 429a cmp r2, r3 70002650: d115 bne.n 7000267e { job.State = JPEG_BUFFER_EMPTY; 70002652: 2300 movs r3, #0 job.DataBufferSize = 0; job.DoCropping = false; job.FirstJob = false; JPEG_OUT_Read_BufferIndex++; 70002654: 4a0b ldr r2, [pc, #44] @ (70002684 ) job.State = JPEG_BUFFER_EMPTY; 70002656: 7003 strb r3, [r0, #0] JPEG_OUT_Read_BufferIndex++; 70002658: 6811 ldr r1, [r2, #0] job.DataBufferSize = 0; 7000265a: 6083 str r3, [r0, #8] JPEG_OUT_Read_BufferIndex++; 7000265c: 3101 adds r1, #1 job.DoCropping = false; 7000265e: 7703 strb r3, [r0, #28] job.FirstJob = false; 70002660: 7503 strb r3, [r0, #20] JPEG_OUT_Read_BufferIndex++; 70002662: 6011 str r1, [r2, #0] if (JPEG_OUT_Read_BufferIndex >= NB_OUTPUT_DATA_BUFFERS) 70002664: 6811 ldr r1, [r2, #0] 70002666: 2901 cmp r1, #1 70002668: d900 bls.n 7000266c { JPEG_OUT_Read_BufferIndex = 0; 7000266a: 6013 str r3, [r2, #0] } /* Check if last line */ if (job.LastJob) 7000266c: 7d43 ldrb r3, [r0, #21] 7000266e: b113 cbz r3, 70002676 { DMA2D_CopyBufferEnd = 1; 70002670: 4b05 ldr r3, [pc, #20] @ (70002688 ) 70002672: 2201 movs r2, #1 70002674: 601a str r2, [r3, #0] } /* Signal decoder thread to wake up and continue decoding */ SEM_POST(semDecodingDone); 70002676: 4b05 ldr r3, [pc, #20] @ (7000268c ) 70002678: 6818 ldr r0, [r3, #0] 7000267a: f009 b8a6 b.w 7000b7ca } } 7000267e: 4770 bx lr 70002680: 24009eac .word 0x24009eac 70002684: 24009ef0 .word 0x24009ef0 70002688: 24009eec .word 0x24009eec 7000268c: 24009ef4 .word 0x24009ef4 70002690 <_ZN8touchgfx10OSWrappers10initializeEv>: * Initialize frame buffer semaphore and queue/mutex for VSYNC signal. */ void OSWrappers::initialize() { // Create a queue of length 1 frame_buffer_sem = osSemaphoreNew(1, 1, NULL); // Binary semaphore 70002690: 2101 movs r1, #1 70002692: 2200 movs r2, #0 { 70002694: b508 push {r3, lr} frame_buffer_sem = osSemaphoreNew(1, 1, NULL); // Binary semaphore 70002696: 4608 mov r0, r1 70002698: f009 f816 bl 7000b6c8 7000269c: 4b0a ldr r3, [pc, #40] @ (700026c8 <_ZN8touchgfx10OSWrappers10initializeEv+0x38>) 7000269e: 6018 str r0, [r3, #0] assert((frame_buffer_sem != NULL) && "Creation of framebuffer semaphore failed"); 700026a0: b928 cbnz r0, 700026ae <_ZN8touchgfx10OSWrappers10initializeEv+0x1e> 700026a2: 4b0a ldr r3, [pc, #40] @ (700026cc <_ZN8touchgfx10OSWrappers10initializeEv+0x3c>) 700026a4: 2128 movs r1, #40 @ 0x28 700026a6: 4a0a ldr r2, [pc, #40] @ (700026d0 <_ZN8touchgfx10OSWrappers10initializeEv+0x40>) // Create a queue of length 1 vsync_queue = osMessageQueueNew(1, 4, NULL); assert((vsync_queue != NULL) && "Creation of vsync message queue failed"); 700026a8: 480a ldr r0, [pc, #40] @ (700026d4 <_ZN8touchgfx10OSWrappers10initializeEv+0x44>) 700026aa: f038 fc83 bl 7003afb4 <__assert_func> vsync_queue = osMessageQueueNew(1, 4, NULL); 700026ae: 2200 movs r2, #0 700026b0: 2104 movs r1, #4 700026b2: 2001 movs r0, #1 700026b4: f009 f8b5 bl 7000b822 700026b8: 4b07 ldr r3, [pc, #28] @ (700026d8 <_ZN8touchgfx10OSWrappers10initializeEv+0x48>) 700026ba: 6018 str r0, [r3, #0] assert((vsync_queue != NULL) && "Creation of vsync message queue failed"); 700026bc: b918 cbnz r0, 700026c6 <_ZN8touchgfx10OSWrappers10initializeEv+0x36> 700026be: 4b07 ldr r3, [pc, #28] @ (700026dc <_ZN8touchgfx10OSWrappers10initializeEv+0x4c>) 700026c0: 212c movs r1, #44 @ 0x2c 700026c2: 4a03 ldr r2, [pc, #12] @ (700026d0 <_ZN8touchgfx10OSWrappers10initializeEv+0x40>) 700026c4: e7f0 b.n 700026a8 <_ZN8touchgfx10OSWrappers10initializeEv+0x18> } 700026c6: bd08 pop {r3, pc} 700026c8: 2400a12c .word 0x2400a12c 700026cc: 7003d40c .word 0x7003d40c 700026d0: 7003d455 .word 0x7003d455 700026d4: 7003d484 .word 0x7003d484 700026d8: 2400a128 .word 0x2400a128 700026dc: 7003d4e4 .word 0x7003d4e4 700026e0 <_ZN8touchgfx10OSWrappers24takeFrameBufferSemaphoreEv>: /* * Take the frame buffer semaphore. Blocks until semaphore is available. */ void OSWrappers::takeFrameBufferSemaphore() { osSemaphoreAcquire(frame_buffer_sem, osWaitForever); 700026e0: 4b02 ldr r3, [pc, #8] @ (700026ec <_ZN8touchgfx10OSWrappers24takeFrameBufferSemaphoreEv+0xc>) 700026e2: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 700026e6: 6818 ldr r0, [r3, #0] 700026e8: f009 b83d b.w 7000b766 700026ec: 2400a12c .word 0x2400a12c 700026f0 <_ZN8touchgfx10OSWrappers24giveFrameBufferSemaphoreEv>: /* * Release the frame buffer semaphore. */ void OSWrappers::giveFrameBufferSemaphore() { osSemaphoreRelease(frame_buffer_sem); 700026f0: 4b01 ldr r3, [pc, #4] @ (700026f8 <_ZN8touchgfx10OSWrappers24giveFrameBufferSemaphoreEv+0x8>) 700026f2: 6818 ldr r0, [r3, #0] 700026f4: f009 b869 b.w 7000b7ca 700026f8: 2400a12c .word 0x2400a12c 700026fc <_ZN8touchgfx10OSWrappers27tryTakeFrameBufferSemaphoreEv>: * Note must return immediately! This function does not care who has the taken the semaphore, * it only serves to make sure that the semaphore is taken by someone. */ void OSWrappers::tryTakeFrameBufferSemaphore() { osSemaphoreAcquire(frame_buffer_sem, 0); 700026fc: 4b02 ldr r3, [pc, #8] @ (70002708 <_ZN8touchgfx10OSWrappers27tryTakeFrameBufferSemaphoreEv+0xc>) 700026fe: 2100 movs r1, #0 70002700: 6818 ldr r0, [r3, #0] 70002702: f009 b830 b.w 7000b766 70002706: bf00 nop 70002708: 2400a12c .word 0x2400a12c 7000270c <_ZN8touchgfx10OSWrappers31giveFrameBufferSemaphoreFromISREv>: * from ISR. * * Release the frame buffer semaphore in a way that is safe in interrupt context. * Called from ISR. */ void OSWrappers::giveFrameBufferSemaphoreFromISR() 7000270c: f7ff bff0 b.w 700026f0 <_ZN8touchgfx10OSWrappers24giveFrameBufferSemaphoreEv> 70002710 <_ZN8touchgfx10OSWrappers11signalVSyncEv>: * Note This function is called from an ISR, and should (depending on OS) trigger a * scheduling. */ void OSWrappers::signalVSync() { osMessageQueuePut(vsync_queue, &dummy, 0, 0); 70002710: 2300 movs r3, #0 70002712: 4803 ldr r0, [pc, #12] @ (70002720 <_ZN8touchgfx10OSWrappers11signalVSyncEv+0x10>) 70002714: 4903 ldr r1, [pc, #12] @ (70002724 <_ZN8touchgfx10OSWrappers11signalVSyncEv+0x14>) 70002716: 461a mov r2, r3 70002718: 6800 ldr r0, [r0, #0] 7000271a: f009 b8c1 b.w 7000b8a0 7000271e: bf00 nop 70002720: 2400a128 .word 0x2400a128 70002724: 24000044 .word 0x24000044 70002728 <_ZN8touchgfx10OSWrappers12waitForVSyncEv>: * * Note This function must first clear the mutex/queue and then wait for the next one to * occur. */ void OSWrappers::waitForVSync() { 70002728: b513 push {r0, r1, r4, lr} uint32_t dummyGet; // First make sure the queue is empty, by trying to remove an element with 0 timeout. osMessageQueueGet(vsync_queue, &dummyGet, 0, 0); 7000272a: 2300 movs r3, #0 7000272c: 4c07 ldr r4, [pc, #28] @ (7000274c <_ZN8touchgfx10OSWrappers12waitForVSyncEv+0x24>) 7000272e: a901 add r1, sp, #4 70002730: 461a mov r2, r3 70002732: 6820 ldr r0, [r4, #0] 70002734: f009 f8ec bl 7000b910 // Then, wait for next VSYNC to occur. osMessageQueueGet(vsync_queue, &dummyGet, 0, osWaitForever); 70002738: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7000273c: 2200 movs r2, #0 7000273e: a901 add r1, sp, #4 70002740: 6820 ldr r0, [r4, #0] 70002742: f009 f8e5 bl 7000b910 } 70002746: b002 add sp, #8 70002748: bd10 pop {r4, pc} 7000274a: bf00 nop 7000274c: 2400a128 .word 0x2400a128 70002750 <_ZN8touchgfx13DMA_Interface5flushEv>: waitForFrameBufferSemaphore(); 70002750: 6803 ldr r3, [r0, #0] 70002752: 6c5b ldr r3, [r3, #68] @ 0x44 70002754: 4718 bx r3 70002756 <_ZN8STM32DMA10getDMATypeEv>: * @return a DMAType value of the concrete DMA_Interface implementation. */ virtual touchgfx::DMAType getDMAType(void) { return touchgfx::DMA_TYPE_CHROMART; } 70002756: 2001 movs r0, #1 70002758: 4770 bx lr 7000275a : } static void DMA2D_XferErrorCallback(DMA2D_HandleTypeDef* handle) { (void)handle; // Unused argument while (1) 7000275a: e7fe b.n 7000275a 7000275c <_ZN8STM32DMA11getBlitCapsEv>: | BLIT_OP_COPY_WITH_ALPHA | BLIT_OP_COPY_ARGB8888 | BLIT_OP_COPY_ARGB8888_WITH_ALPHA | BLIT_OP_COPY_A4 | BLIT_OP_COPY_A8); } 7000275c: f240 30ef movw r0, #1007 @ 0x3ef 70002760: 4770 bx lr ... 70002764 <_ZN8STM32DMAD1Ev>: STM32DMA::~STM32DMA() 70002764: 4b05 ldr r3, [pc, #20] @ (7000277c <_ZN8STM32DMAD1Ev+0x18>) NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 70002766: 2204 movs r2, #4 70002768: 6003 str r3, [r0, #0] 7000276a: 4b05 ldr r3, [pc, #20] @ (70002780 <_ZN8STM32DMAD1Ev+0x1c>) 7000276c: f8c3 208c str.w r2, [r3, #140] @ 0x8c __ASM volatile ("dsb 0xF":::"memory"); 70002770: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 70002774: f3bf 8f6f isb sy } 70002778: 4770 bx lr 7000277a: bf00 nop 7000277c: 7003ece0 .word 0x7003ece0 70002780: e000e100 .word 0xe000e100 70002784 <_ZN8STM32DMAD0Ev>: STM32DMA::~STM32DMA() 70002784: b510 push {r4, lr} 70002786: 4604 mov r4, r0 } 70002788: f640 51a4 movw r1, #3492 @ 0xda4 7000278c: f7ff ffea bl 70002764 <_ZN8STM32DMAD1Ev> 70002790: 4620 mov r0, r4 70002792: f037 f810 bl 700397b6 <_ZdlPvj> 70002796: 4620 mov r0, r4 70002798: bd10 pop {r4, pc} ... 7000279c <_ZN8STM32DMA10initializeEv>: __HAL_RCC_DMA2D_CLK_ENABLE(); 7000279c: 4b0e ldr r3, [pc, #56] @ (700027d8 <_ZN8STM32DMA10initializeEv+0x3c>) { 7000279e: b082 sub sp, #8 __HAL_RCC_DMA2D_CLK_ENABLE(); 700027a0: f8d3 2134 ldr.w r2, [r3, #308] @ 0x134 700027a4: f042 0202 orr.w r2, r2, #2 700027a8: f8c3 2134 str.w r2, [r3, #308] @ 0x134 700027ac: f8d3 2134 ldr.w r2, [r3, #308] @ 0x134 700027b0: 9201 str r2, [sp, #4] 700027b2: 9a01 ldr r2, [sp, #4] __HAL_RCC_DMA2D_FORCE_RESET(); 700027b4: 6fda ldr r2, [r3, #124] @ 0x7c 700027b6: f042 0202 orr.w r2, r2, #2 700027ba: 67da str r2, [r3, #124] @ 0x7c __HAL_RCC_DMA2D_RELEASE_RESET(); 700027bc: 6fda ldr r2, [r3, #124] @ 0x7c 700027be: f022 0202 bic.w r2, r2, #2 700027c2: 67da str r2, [r3, #124] @ 0x7c hdma2d.XferErrorCallback = DMA2D_XferErrorCallback; 700027c4: 4b05 ldr r3, [pc, #20] @ (700027dc <_ZN8STM32DMA10initializeEv+0x40>) 700027c6: 4a06 ldr r2, [pc, #24] @ (700027e0 <_ZN8STM32DMA10initializeEv+0x44>) 700027c8: 625a str r2, [r3, #36] @ 0x24 hdma2d.XferCpltCallback = DMA2D_XferCpltCallback; 700027ca: 4a06 ldr r2, [pc, #24] @ (700027e4 <_ZN8STM32DMA10initializeEv+0x48>) 700027cc: 621a str r2, [r3, #32] NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 700027ce: 4b06 ldr r3, [pc, #24] @ (700027e8 <_ZN8STM32DMA10initializeEv+0x4c>) 700027d0: 2204 movs r2, #4 700027d2: 60da str r2, [r3, #12] } 700027d4: b002 add sp, #8 700027d6: 4770 bx lr 700027d8: 58024400 .word 0x58024400 700027dc: 24009c64 .word 0x24009c64 700027e0: 7000275b .word 0x7000275b 700027e4: 70002a1d .word 0x70002a1d 700027e8: e000e100 .word 0xe000e100 700027ec <_ZN8STM32DMA23getChromARTOutputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0>: inline uint32_t STM32DMA::getChromARTOutputFormat(Bitmap::BitmapFormat format) 700027ec: b508 push {r3, lr} switch (format) 700027ee: 280a cmp r0, #10 700027f0: d809 bhi.n 70002806 <_ZN8STM32DMA23getChromARTOutputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x1a> 700027f2: e8df f000 tbb [pc, r0] 700027f6: 1006 .short 0x1006 700027f8: 0808080e .word 0x0808080e 700027fc: 10101008 .word 0x10101008 70002800: 10 .byte 0x10 70002801: 00 .byte 0x00 dma2dColorMode = DMA2D_OUTPUT_RGB565; 70002802: 2002 movs r0, #2 } 70002804: bd08 pop {r3, pc} assert(0 && "Unsupported Format!"); 70002806: 4b05 ldr r3, [pc, #20] @ (7000281c <_ZN8STM32DMA23getChromARTOutputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x30>) 70002808: 2192 movs r1, #146 @ 0x92 7000280a: 4a05 ldr r2, [pc, #20] @ (70002820 <_ZN8STM32DMA23getChromARTOutputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x34>) 7000280c: 4805 ldr r0, [pc, #20] @ (70002824 <_ZN8STM32DMA23getChromARTOutputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x38>) 7000280e: f038 fbd1 bl 7003afb4 <__assert_func> dma2dColorMode = DMA2D_OUTPUT_ARGB8888; 70002812: 2000 movs r0, #0 70002814: e7f6 b.n 70002804 <_ZN8STM32DMA23getChromARTOutputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x18> switch (format) 70002816: 2001 movs r0, #1 return dma2dColorMode; 70002818: e7f4 b.n 70002804 <_ZN8STM32DMA23getChromARTOutputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x18> 7000281a: bf00 nop 7000281c: 7003d526 .word 0x7003d526 70002820: 7003d541 .word 0x7003d541 70002824: 7003d58c .word 0x7003d58c 70002828 <_ZN8STM32DMA13setupDataFillERKN8touchgfx6BlitOpE>: * void STM32DMA::setupDataFill(const BlitOp& blitOp) handles blit operation of * BLIT_OP_FILL * BLIT_OP_FILL_WITH_ALPHA */ void STM32DMA::setupDataFill(const BlitOp& blitOp) { 70002828: b570 push {r4, r5, r6, lr} 7000282a: 460c mov r4, r1 uint32_t dma2dOutputColorMode = getChromARTOutputFormat(static_cast(blitOp.dstFormat)); 7000282c: 7f88 ldrb r0, [r1, #30] 7000282e: f7ff ffdd bl 700027ec <_ZN8STM32DMA23getChromARTOutputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0> /* DMA2D OPFCCR register configuration */ WRITE_REG(DMA2D->OPFCCR, dma2dOutputColorMode); 70002832: 4b12 ldr r3, [pc, #72] @ (7000287c <_ZN8STM32DMA13setupDataFillERKN8touchgfx6BlitOpE+0x54>) /* Configure DMA2D data size */ WRITE_REG(DMA2D->NLR, (blitOp.nLoops | (blitOp.nSteps << DMA2D_NLR_PL_Pos))); 70002834: 8aa5 ldrh r5, [r4, #20] 70002836: 8ae2 ldrh r2, [r4, #22] WRITE_REG(DMA2D->OPFCCR, dma2dOutputColorMode); 70002838: 6358 str r0, [r3, #52] @ 0x34 WRITE_REG(DMA2D->NLR, (blitOp.nLoops | (blitOp.nSteps << DMA2D_NLR_PL_Pos))); 7000283a: ea42 4205 orr.w r2, r2, r5, lsl #16 /* Configure DMA2D destination address */ WRITE_REG(DMA2D->OMAR, reinterpret_cast(blitOp.pDst)); 7000283e: 6921 ldr r1, [r4, #16] WRITE_REG(DMA2D->NLR, (blitOp.nLoops | (blitOp.nSteps << DMA2D_NLR_PL_Pos))); 70002840: 645a str r2, [r3, #68] @ 0x44 /* DMA2D OOR register configuration */ WRITE_REG(DMA2D->OOR, blitOp.dstLoopStride - blitOp.nSteps); 70002842: 8b62 ldrh r2, [r4, #26] WRITE_REG(DMA2D->OMAR, reinterpret_cast(blitOp.pDst)); 70002844: 63d9 str r1, [r3, #60] @ 0x3c WRITE_REG(DMA2D->OOR, blitOp.dstLoopStride - blitOp.nSteps); 70002846: 1b52 subs r2, r2, r5 70002848: 641a str r2, [r3, #64] @ 0x40 if (blitOp.operation == BLIT_OP_FILL_WITH_ALPHA) 7000284a: 6826 ldr r6, [r4, #0] return color; 7000284c: 68e5 ldr r5, [r4, #12] 7000284e: 2e08 cmp r6, #8 70002850: d10d bne.n 7000286e <_ZN8STM32DMA13setupDataFillERKN8touchgfx6BlitOpE+0x46> { /* DMA2D BGOR register configuration */ WRITE_REG(DMA2D->BGOR, blitOp.dstLoopStride - blitOp.nSteps); 70002852: 619a str r2, [r3, #24] /* DMA2D FGOR register configuration */ WRITE_REG(DMA2D->FGOR, blitOp.dstLoopStride - blitOp.nSteps); 70002854: 611a str r2, [r3, #16] /* Write DMA2D BGPFCCR register */ WRITE_REG(DMA2D->BGPFCCR, dma2dOutputColorMode | (DMA2D_NO_MODIF_ALPHA << DMA2D_BGPFCCR_AM_Pos)); 70002856: 6258 str r0, [r3, #36] @ 0x24 /* Write DMA2D FGPFCCR register */ WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_A8 | (DMA2D_REPLACE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | ((blitOp.alpha << 24) & DMA2D_FGPFCCR_ALPHA)); 70002858: 4a09 ldr r2, [pc, #36] @ (70002880 <_ZN8STM32DMA13setupDataFillERKN8touchgfx6BlitOpE+0x58>) 7000285a: 7f20 ldrb r0, [r4, #28] 7000285c: ea42 6200 orr.w r2, r2, r0, lsl #24 70002860: 61da str r2, [r3, #28] /* Configure DMA2D source address */ WRITE_REG(DMA2D->FGMAR, reinterpret_cast(blitOp.pDst)); /* Enable the Peripheral and Enable the transfer complete interrupt */ WRITE_REG(DMA2D->CR, (DMA2D_IT_TC | DMA2D_CR_START | DMA2D_M2M_BLEND | DMA2D_IT_CE | DMA2D_IT_TE)); 70002862: 4a08 ldr r2, [pc, #32] @ (70002884 <_ZN8STM32DMA13setupDataFillERKN8touchgfx6BlitOpE+0x5c>) WRITE_REG(DMA2D->FGCOLR, blitOp.color); 70002864: 621d str r5, [r3, #32] WRITE_REG(DMA2D->BGMAR, reinterpret_cast(blitOp.pDst)); 70002866: 6159 str r1, [r3, #20] WRITE_REG(DMA2D->FGMAR, reinterpret_cast(blitOp.pDst)); 70002868: 60d9 str r1, [r3, #12] /* Set color */ WRITE_REG(DMA2D->OCOLR, blitOp.color); /* Enable the Peripheral and Enable the transfer complete interrupt */ WRITE_REG(DMA2D->CR, (DMA2D_IT_TC | DMA2D_CR_START | DMA2D_R2M | DMA2D_IT_CE | DMA2D_IT_TE)); 7000286a: 601a str r2, [r3, #0] } } 7000286c: bd70 pop {r4, r5, r6, pc} WRITE_REG(DMA2D->FGOR, 0); 7000286e: 2200 movs r2, #0 WRITE_REG(DMA2D->FGPFCCR, dma2dOutputColorMode | (DMA2D_NO_MODIF_ALPHA << DMA2D_FGPFCCR_AM_Pos)); 70002870: 61d8 str r0, [r3, #28] WRITE_REG(DMA2D->FGOR, 0); 70002872: 611a str r2, [r3, #16] WRITE_REG(DMA2D->CR, (DMA2D_IT_TC | DMA2D_CR_START | DMA2D_R2M | DMA2D_IT_CE | DMA2D_IT_TE)); 70002874: 4a04 ldr r2, [pc, #16] @ (70002888 <_ZN8STM32DMA13setupDataFillERKN8touchgfx6BlitOpE+0x60>) WRITE_REG(DMA2D->OCOLR, blitOp.color); 70002876: 639d str r5, [r3, #56] @ 0x38 WRITE_REG(DMA2D->CR, (DMA2D_IT_TC | DMA2D_CR_START | DMA2D_R2M | DMA2D_IT_CE | DMA2D_IT_TE)); 70002878: e7f7 b.n 7000286a <_ZN8STM32DMA13setupDataFillERKN8touchgfx6BlitOpE+0x42> 7000287a: bf00 nop 7000287c: 52001000 .word 0x52001000 70002880: 00010009 .word 0x00010009 70002884: 00022301 .word 0x00022301 70002888: 00032301 .word 0x00032301 7000288c <_ZN8STM32DMA22getChromARTInputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0>: inline uint32_t STM32DMA::getChromARTInputFormat(Bitmap::BitmapFormat format) 7000288c: b508 push {r3, lr} switch (format) 7000288e: 280b cmp r0, #11 70002890: d80b bhi.n 700028aa <_ZN8STM32DMA22getChromARTInputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x1e> 70002892: e8df f000 tbb [pc, r0] 70002896: 1206 .short 0x1206 70002898: 0a0a0a10 .word 0x0a0a0a10 7000289c: 0808080a .word 0x0808080a 700028a0: 0808 .short 0x0808 dma2dColorMode = DMA2D_INPUT_RGB565; 700028a2: 2002 movs r0, #2 } 700028a4: bd08 pop {r3, pc} dma2dColorMode = DMA2D_INPUT_L8; 700028a6: 2005 movs r0, #5 break; 700028a8: e7fc b.n 700028a4 <_ZN8STM32DMA22getChromARTInputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x18> assert(0 && "Unsupported Format!"); 700028aa: 4b05 ldr r3, [pc, #20] @ (700028c0 <_ZN8STM32DMA22getChromARTInputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x34>) 700028ac: 2171 movs r1, #113 @ 0x71 700028ae: 4a05 ldr r2, [pc, #20] @ (700028c4 <_ZN8STM32DMA22getChromARTInputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x38>) 700028b0: 4805 ldr r0, [pc, #20] @ (700028c8 <_ZN8STM32DMA22getChromARTInputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x3c>) 700028b2: f038 fb7f bl 7003afb4 <__assert_func> dma2dColorMode = DMA2D_INPUT_ARGB8888; 700028b6: 2000 movs r0, #0 700028b8: e7f4 b.n 700028a4 <_ZN8STM32DMA22getChromARTInputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x18> switch (format) 700028ba: 2001 movs r0, #1 return dma2dColorMode; 700028bc: e7f2 b.n 700028a4 <_ZN8STM32DMA22getChromARTInputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0+0x18> 700028be: bf00 nop 700028c0: 7003d526 .word 0x7003d526 700028c4: 7003d5ea .word 0x7003d5ea 700028c8: 7003d58c .word 0x7003d58c 700028cc <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE>: { 700028cc: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} uint32_t dma2dForegroundColorMode = getChromARTInputFormat(static_cast(blitOp.srcFormat)); 700028d0: f891 801d ldrb.w r8, [r1, #29] { 700028d4: 460c mov r4, r1 uint32_t dma2dForegroundColorMode = getChromARTInputFormat(static_cast(blitOp.srcFormat)); 700028d6: 4640 mov r0, r8 700028d8: f7ff ffd8 bl 7000288c <_ZN8STM32DMA22getChromARTInputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0> uint32_t dma2dBackgroundColorMode = getChromARTInputFormat(static_cast(blitOp.dstFormat)); 700028dc: 7fa7 ldrb r7, [r4, #30] uint32_t dma2dForegroundColorMode = getChromARTInputFormat(static_cast(blitOp.srcFormat)); 700028de: 4605 mov r5, r0 uint32_t dma2dBackgroundColorMode = getChromARTInputFormat(static_cast(blitOp.dstFormat)); 700028e0: 4638 mov r0, r7 700028e2: f7ff ffd3 bl 7000288c <_ZN8STM32DMA22getChromARTInputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0> 700028e6: 4606 mov r6, r0 uint32_t dma2dOutputColorMode = getChromARTOutputFormat(static_cast(blitOp.dstFormat)); 700028e8: 4638 mov r0, r7 700028ea: f7ff ff7f bl 700027ec <_ZN8STM32DMA23getChromARTOutputFormatEN8touchgfx6Bitmap12BitmapFormatE.isra.0> WRITE_REG(DMA2D->OOR, blitOp.dstLoopStride - blitOp.nSteps); 700028ee: 8aa1 ldrh r1, [r4, #20] 700028f0: 8b62 ldrh r2, [r4, #26] 700028f2: 4b44 ldr r3, [pc, #272] @ (70002a04 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x138>) 700028f4: 1a52 subs r2, r2, r1 700028f6: 641a str r2, [r3, #64] @ 0x40 WRITE_REG(DMA2D->BGOR, blitOp.dstLoopStride - blitOp.nSteps); 700028f8: 619a str r2, [r3, #24] WRITE_REG(DMA2D->FGOR, blitOp.srcLoopStride - blitOp.nSteps); 700028fa: 8b22 ldrh r2, [r4, #24] 700028fc: 1a52 subs r2, r2, r1 700028fe: 611a str r2, [r3, #16] WRITE_REG(DMA2D->NLR, (blitOp.nLoops | (blitOp.nSteps << DMA2D_NLR_PL_Pos))); 70002900: 8ae2 ldrh r2, [r4, #22] WRITE_REG(DMA2D->OPFCCR, dma2dOutputColorMode); 70002902: 6358 str r0, [r3, #52] @ 0x34 WRITE_REG(DMA2D->NLR, (blitOp.nLoops | (blitOp.nSteps << DMA2D_NLR_PL_Pos))); 70002904: ea42 4201 orr.w r2, r2, r1, lsl #16 WRITE_REG(DMA2D->OMAR, reinterpret_cast(blitOp.pDst)); 70002908: 6921 ldr r1, [r4, #16] WRITE_REG(DMA2D->NLR, (blitOp.nLoops | (blitOp.nSteps << DMA2D_NLR_PL_Pos))); 7000290a: 645a str r2, [r3, #68] @ 0x44 WRITE_REG(DMA2D->FGMAR, reinterpret_cast(blitOp.pSrc)); 7000290c: 6862 ldr r2, [r4, #4] WRITE_REG(DMA2D->OMAR, reinterpret_cast(blitOp.pDst)); 7000290e: 63d9 str r1, [r3, #60] @ 0x3c WRITE_REG(DMA2D->FGMAR, reinterpret_cast(blitOp.pSrc)); 70002910: 60da str r2, [r3, #12] switch (blitOp.operation) 70002912: f8d4 c000 ldr.w ip, [r4] WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_A4 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (blitOp.alpha << 24)); 70002916: 7f20 ldrb r0, [r4, #28] switch (blitOp.operation) 70002918: f1bc 0f80 cmp.w ip, #128 @ 0x80 WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_A4 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (blitOp.alpha << 24)); 7000291c: ea4f 6200 mov.w r2, r0, lsl #24 switch (blitOp.operation) 70002920: d029 beq.n 70002976 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0xaa> 70002922: d813 bhi.n 7000294c <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x80> 70002924: f1bc 0f20 cmp.w ip, #32 70002928: ea45 0002 orr.w r0, r5, r2 7000292c: d063 beq.n 700029f6 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x12a> 7000292e: f1bc 0f40 cmp.w ip, #64 @ 0x40 70002932: d060 beq.n 700029f6 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x12a> 70002934: f1bc 0f04 cmp.w ip, #4 70002938: d05d beq.n 700029f6 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x12a> WRITE_REG(DMA2D->FGPFCCR, dma2dForegroundColorMode | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (blitOp.alpha << 24)); 7000293a: 4315 orrs r5, r2 7000293c: 4b31 ldr r3, [pc, #196] @ (70002a04 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x138>) if (blitOp.srcFormat != blitOp.dstFormat) 7000293e: 45b8 cmp r8, r7 WRITE_REG(DMA2D->FGPFCCR, dma2dForegroundColorMode | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (blitOp.alpha << 24)); 70002940: f445 3500 orr.w r5, r5, #131072 @ 0x20000 70002944: 61dd str r5, [r3, #28] if (blitOp.srcFormat != blitOp.dstFormat) 70002946: d05a beq.n 700029fe <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x132> WRITE_REG(DMA2D->CR, DMA2D_M2M_PFC | DMA2D_IT_TC | DMA2D_CR_START | DMA2D_IT_CE | DMA2D_IT_TE); 70002948: 4a2f ldr r2, [pc, #188] @ (70002a08 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x13c>) 7000294a: e040 b.n 700029ce <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x102> switch (blitOp.operation) 7000294c: f5bc 7f80 cmp.w ip, #256 @ 0x100 70002950: d007 beq.n 70002962 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x96> 70002952: f5bc 7f00 cmp.w ip, #512 @ 0x200 70002956: d1f0 bne.n 7000293a <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x6e> WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_A8 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (blitOp.alpha << 24)); 70002958: f442 3200 orr.w r2, r2, #131072 @ 0x20000 7000295c: f042 0209 orr.w r2, r2, #9 70002960: e003 b.n 7000296a <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x9e> WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_A4 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (blitOp.alpha << 24)); 70002962: f442 3200 orr.w r2, r2, #131072 @ 0x20000 70002966: f042 020a orr.w r2, r2, #10 WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_A8 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (blitOp.alpha << 24)); 7000296a: 61da str r2, [r3, #28] 7000296c: 68e2 ldr r2, [r4, #12] WRITE_REG(DMA2D->FGCOLR, blitOp.color); 7000296e: 621a str r2, [r3, #32] WRITE_REG(DMA2D->BGPFCCR, dma2dBackgroundColorMode | (DMA2D_NO_MODIF_ALPHA << DMA2D_BGPFCCR_AM_Pos)); 70002970: 625e str r6, [r3, #36] @ 0x24 WRITE_REG(DMA2D->BGMAR, reinterpret_cast(blitOp.pDst)); 70002972: 6159 str r1, [r3, #20] 70002974: e02a b.n 700029cc <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x100> const clutData_t* const palette = reinterpret_cast(blitOp.pClut); 70002976: 68a4 ldr r4, [r4, #8] WRITE_REG(DMA2D->FGPFCCR, dma2dForegroundColorMode | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (blitOp.alpha << 24)); 70002978: 432a orrs r2, r5 WRITE_REG(DMA2D->FGCMAR, reinterpret_cast(&palette->data)); 7000297a: 1d27 adds r7, r4, #4 WRITE_REG(DMA2D->FGPFCCR, dma2dForegroundColorMode | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (blitOp.alpha << 24)); 7000297c: f442 3200 orr.w r2, r2, #131072 @ 0x20000 WRITE_REG(DMA2D->FGCMAR, reinterpret_cast(&palette->data)); 70002980: 62df str r7, [r3, #44] @ 0x2c WRITE_REG(DMA2D->FGPFCCR, dma2dForegroundColorMode | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (blitOp.alpha << 24)); 70002982: 61da str r2, [r3, #28] switch ((Bitmap::ClutFormat)palette->format) 70002984: 7822 ldrb r2, [r4, #0] WRITE_REG(DMA2D->BGPFCCR, dma2dBackgroundColorMode | (DMA2D_NO_MODIF_ALPHA << DMA2D_BGPFCCR_AM_Pos)); 70002986: 625e str r6, [r3, #36] @ 0x24 WRITE_REG(DMA2D->BGMAR, reinterpret_cast(blitOp.pDst)); 70002988: 6159 str r1, [r3, #20] switch ((Bitmap::ClutFormat)palette->format) 7000298a: b142 cbz r2, 7000299e <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0xd2> 7000298c: 2a01 cmp r2, #1 7000298e: d021 beq.n 700029d4 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x108> assert(0 && "Unsupported format"); 70002990: 4b1e ldr r3, [pc, #120] @ (70002a0c <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x140>) 70002992: f44f 718e mov.w r1, #284 @ 0x11c 70002996: 4a1e ldr r2, [pc, #120] @ (70002a10 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x144>) 70002998: 481e ldr r0, [pc, #120] @ (70002a14 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x148>) 7000299a: f038 fb0b bl 7003afb4 <__assert_func> MODIFY_REG(DMA2D->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM), (((palette->size - 1) << DMA2D_FGPFCCR_CS_Pos) | (DMA2D_CCM_ARGB8888 << DMA2D_FGPFCCR_CCM_Pos))); 7000299e: 69da ldr r2, [r3, #28] 700029a0: 8861 ldrh r1, [r4, #2] 700029a2: f422 427f bic.w r2, r2, #65280 @ 0xff00 700029a6: 3901 subs r1, #1 700029a8: f022 0210 bic.w r2, r2, #16 700029ac: ea42 2201 orr.w r2, r2, r1, lsl #8 bool blend = true; 700029b0: 2101 movs r1, #1 MODIFY_REG(DMA2D->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM), (((palette->size - 1) << DMA2D_FGPFCCR_CS_Pos) | (DMA2D_CCM_ARGB8888 << DMA2D_FGPFCCR_CCM_Pos))); 700029b2: 61da str r2, [r3, #28] SET_BIT(DMA2D->FGPFCCR, DMA2D_FGPFCCR_START); 700029b4: 4b13 ldr r3, [pc, #76] @ (70002a04 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x138>) 700029b6: 69da ldr r2, [r3, #28] 700029b8: f042 0220 orr.w r2, r2, #32 700029bc: 61da str r2, [r3, #28] while ((READ_REG(DMA2D->FGPFCCR) & DMA2D_FGPFCCR_START) != 0U) 700029be: 69da ldr r2, [r3, #28] 700029c0: 0692 lsls r2, r2, #26 700029c2: d4fc bmi.n 700029be <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0xf2> DMA2D->IFCR = (DMA2D_FLAG_CTC); 700029c4: 2210 movs r2, #16 700029c6: 609a str r2, [r3, #8] if (blend) 700029c8: 2900 cmp r1, #0 700029ca: d0bd beq.n 70002948 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x7c> WRITE_REG(DMA2D->CR, DMA2D_M2M_BLEND | DMA2D_IT_TC | DMA2D_CR_START | DMA2D_IT_CE | DMA2D_IT_TE); 700029cc: 4a12 ldr r2, [pc, #72] @ (70002a18 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x14c>) WRITE_REG(DMA2D->CR, DMA2D_M2M | DMA2D_IT_TC | DMA2D_CR_START | DMA2D_IT_CE | DMA2D_IT_TE); 700029ce: 601a str r2, [r3, #0] } 700029d0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} MODIFY_REG(DMA2D->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM), (((palette->size - 1) << DMA2D_FGPFCCR_CS_Pos) | (DMA2D_CCM_RGB888 << DMA2D_FGPFCCR_CCM_Pos))); 700029d4: 69da ldr r2, [r3, #28] if (blitOp.alpha == 255) 700029d6: f1b0 01ff subs.w r1, r0, #255 @ 0xff MODIFY_REG(DMA2D->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM), (((palette->size - 1) << DMA2D_FGPFCCR_CS_Pos) | (DMA2D_CCM_RGB888 << DMA2D_FGPFCCR_CCM_Pos))); 700029da: 8860 ldrh r0, [r4, #2] 700029dc: f422 427f bic.w r2, r2, #65280 @ 0xff00 if (blitOp.alpha == 255) 700029e0: bf18 it ne 700029e2: 2101 movne r1, #1 MODIFY_REG(DMA2D->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM), (((palette->size - 1) << DMA2D_FGPFCCR_CS_Pos) | (DMA2D_CCM_RGB888 << DMA2D_FGPFCCR_CCM_Pos))); 700029e4: 3801 subs r0, #1 700029e6: f022 0210 bic.w r2, r2, #16 700029ea: ea42 2200 orr.w r2, r2, r0, lsl #8 700029ee: f042 0210 orr.w r2, r2, #16 700029f2: 61da str r2, [r3, #28] break; 700029f4: e7de b.n 700029b4 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0xe8> WRITE_REG(DMA2D->FGPFCCR, dma2dForegroundColorMode | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (blitOp.alpha << 24)); 700029f6: f440 3000 orr.w r0, r0, #131072 @ 0x20000 700029fa: 61d8 str r0, [r3, #28] 700029fc: e7b8 b.n 70002970 <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0xa4> WRITE_REG(DMA2D->CR, DMA2D_M2M | DMA2D_IT_TC | DMA2D_CR_START | DMA2D_IT_CE | DMA2D_IT_TE); 700029fe: f242 3201 movw r2, #8961 @ 0x2301 70002a02: e7e4 b.n 700029ce <_ZN8STM32DMA13setupDataCopyERKN8touchgfx6BlitOpE+0x102> 70002a04: 52001000 .word 0x52001000 70002a08: 00012301 .word 0x00012301 70002a0c: 7003d634 .word 0x7003d634 70002a10: 7003d64e .word 0x7003d64e 70002a14: 7003d58c .word 0x7003d58c 70002a18: 00022301 .word 0x00022301 70002a1c : 70002a1c: 4b02 ldr r3, [pc, #8] @ (70002a28 ) 70002a1e: 681b ldr r3, [r3, #0] 70002a20: 6858 ldr r0, [r3, #4] dma.signalDMAInterrupt(); 70002a22: 6803 ldr r3, [r0, #0] 70002a24: 695b ldr r3, [r3, #20] 70002a26: 4718 bx r3 70002a28: 2400da80 .word 0x2400da80 70002a2c <_ZN8STM32DMA18externalJobExecuteEv>: * * @param None */ void externalJobExecute() { isRunning = true; 70002a2c: 2301 movs r3, #1 if (Jpeg_OUT_BufferTab[JPEG_OUT_Read_BufferIndex].DoCropping) 70002a2e: 4a07 ldr r2, [pc, #28] @ (70002a4c <_ZN8STM32DMA18externalJobExecuteEv+0x20>) isRunning = true; 70002a30: 7203 strb r3, [r0, #8] if (Jpeg_OUT_BufferTab[JPEG_OUT_Read_BufferIndex].DoCropping) 70002a32: 6811 ldr r1, [r2, #0] 70002a34: 4b06 ldr r3, [pc, #24] @ (70002a50 <_ZN8STM32DMA18externalJobExecuteEv+0x24>) { DMA2D_CropBuffer(Jpeg_OUT_BufferTab[JPEG_OUT_Read_BufferIndex]); 70002a36: 6810 ldr r0, [r2, #0] if (Jpeg_OUT_BufferTab[JPEG_OUT_Read_BufferIndex].DoCropping) 70002a38: eb03 1141 add.w r1, r3, r1, lsl #5 DMA2D_CropBuffer(Jpeg_OUT_BufferTab[JPEG_OUT_Read_BufferIndex]); 70002a3c: eb03 1040 add.w r0, r3, r0, lsl #5 if (Jpeg_OUT_BufferTab[JPEG_OUT_Read_BufferIndex].DoCropping) 70002a40: 7f09 ldrb r1, [r1, #28] 70002a42: b109 cbz r1, 70002a48 <_ZN8STM32DMA18externalJobExecuteEv+0x1c> DMA2D_CropBuffer(Jpeg_OUT_BufferTab[JPEG_OUT_Read_BufferIndex]); 70002a44: f7ff bd7c b.w 70002540 } else { DMA2D_CopyBuffer(Jpeg_OUT_BufferTab[JPEG_OUT_Read_BufferIndex]); 70002a48: f7ff bd2a b.w 700024a0 70002a4c: 24009ef0 .word 0x24009ef0 70002a50: 24000004 .word 0x24000004 70002a54 <_ZN8STM32DMA18signalDMAInterruptEv>: if (!started_by_external_job) 70002a54: f890 3da0 ldrb.w r3, [r0, #3488] @ 0xda0 virtual void signalDMAInterrupt() 70002a58: b510 push {r4, lr} 70002a5a: 4604 mov r4, r0 if (!started_by_external_job) 70002a5c: b9a3 cbnz r3, 70002a88 <_ZN8STM32DMA18signalDMAInterruptEv+0x34> executeCompleted(); 70002a5e: 6803 ldr r3, [r0, #0] 70002a60: 6a9b ldr r3, [r3, #40] @ 0x28 70002a62: 4798 blx r3 if (Jpeg_OUT_BufferTab[JPEG_OUT_Read_BufferIndex].State == JPEG_BUFFER_FULL && !DMA2D_CopyBufferEnd && !isRunning) 70002a64: 4b16 ldr r3, [pc, #88] @ (70002ac0 <_ZN8STM32DMA18signalDMAInterruptEv+0x6c>) 70002a66: 4a17 ldr r2, [pc, #92] @ (70002ac4 <_ZN8STM32DMA18signalDMAInterruptEv+0x70>) 70002a68: 681b ldr r3, [r3, #0] 70002a6a: 015b lsls r3, r3, #5 70002a6c: 5cd3 ldrb r3, [r2, r3] 70002a6e: 2b01 cmp r3, #1 70002a70: d109 bne.n 70002a86 <_ZN8STM32DMA18signalDMAInterruptEv+0x32> 70002a72: 4a15 ldr r2, [pc, #84] @ (70002ac8 <_ZN8STM32DMA18signalDMAInterruptEv+0x74>) 70002a74: 6812 ldr r2, [r2, #0] 70002a76: b932 cbnz r2, 70002a86 <_ZN8STM32DMA18signalDMAInterruptEv+0x32> 70002a78: 7a22 ldrb r2, [r4, #8] 70002a7a: b922 cbnz r2, 70002a86 <_ZN8STM32DMA18signalDMAInterruptEv+0x32> externalJobExecute(); 70002a7c: 4620 mov r0, r4 started_by_external_job = true; 70002a7e: f884 3da0 strb.w r3, [r4, #3488] @ 0xda0 externalJobExecute(); 70002a82: f7ff ffd3 bl 70002a2c <_ZN8STM32DMA18externalJobExecuteEv> } 70002a86: bd10 pop {r4, pc} if (isRunning) 70002a88: 7a03 ldrb r3, [r0, #8] 70002a8a: b143 cbz r3, 70002a9e <_ZN8STM32DMA18signalDMAInterruptEv+0x4a> isRunning = false; 70002a8c: 2300 movs r3, #0 70002a8e: 7203 strb r3, [r0, #8] DMA2D_ExternalJobCompleted(Jpeg_OUT_BufferTab[JPEG_OUT_Read_BufferIndex]); 70002a90: 4b0b ldr r3, [pc, #44] @ (70002ac0 <_ZN8STM32DMA18signalDMAInterruptEv+0x6c>) 70002a92: 6818 ldr r0, [r3, #0] 70002a94: 4b0b ldr r3, [pc, #44] @ (70002ac4 <_ZN8STM32DMA18signalDMAInterruptEv+0x70>) 70002a96: eb03 1040 add.w r0, r3, r0, lsl #5 70002a9a: f7ff fdd5 bl 70002648 if (!queue.isEmpty() && isAllowed) 70002a9e: 6860 ldr r0, [r4, #4] 70002aa0: 6803 ldr r3, [r0, #0] 70002aa2: 681b ldr r3, [r3, #0] 70002aa4: 4798 blx r3 70002aa6: 2800 cmp r0, #0 70002aa8: d1ed bne.n 70002a86 <_ZN8STM32DMA18signalDMAInterruptEv+0x32> 70002aaa: 7a63 ldrb r3, [r4, #9] 70002aac: 2b00 cmp r3, #0 70002aae: d0ea beq.n 70002a86 <_ZN8STM32DMA18signalDMAInterruptEv+0x32> execute(); 70002ab0: 6823 ldr r3, [r4, #0] started_by_external_job = false; 70002ab2: f884 0da0 strb.w r0, [r4, #3488] @ 0xda0 execute(); 70002ab6: 4620 mov r0, r4 70002ab8: 6a5b ldr r3, [r3, #36] @ 0x24 } 70002aba: e8bd 4010 ldmia.w sp!, {r4, lr} execute(); 70002abe: 4718 bx r3 70002ac0: 24009ef0 .word 0x24009ef0 70002ac4: 24000004 .word 0x24000004 70002ac8: 24009eec .word 0x24009eec 70002acc <_ZN8STM32DMA5startEv>: virtual void start() 70002acc: b510 push {r4, lr} 70002ace: 4604 mov r4, r0 if (!queue.isEmpty() && isAllowed && !isRunning) 70002ad0: 6840 ldr r0, [r0, #4] 70002ad2: 6803 ldr r3, [r0, #0] 70002ad4: 681b ldr r3, [r3, #0] 70002ad6: 4798 blx r3 70002ad8: b958 cbnz r0, 70002af2 <_ZN8STM32DMA5startEv+0x26> 70002ada: 7a63 ldrb r3, [r4, #9] 70002adc: b14b cbz r3, 70002af2 <_ZN8STM32DMA5startEv+0x26> 70002ade: 7a23 ldrb r3, [r4, #8] 70002ae0: b93b cbnz r3, 70002af2 <_ZN8STM32DMA5startEv+0x26> started_by_external_job = false; 70002ae2: f884 3da0 strb.w r3, [r4, #3488] @ 0xda0 execute(); 70002ae6: 4620 mov r0, r4 70002ae8: 6823 ldr r3, [r4, #0] } 70002aea: e8bd 4010 ldmia.w sp!, {r4, lr} execute(); 70002aee: 6a5b ldr r3, [r3, #36] @ 0x24 70002af0: 4718 bx r3 else if ((Jpeg_OUT_BufferTab[JPEG_OUT_Read_BufferIndex].State == JPEG_BUFFER_FULL) && !isRunning) 70002af2: 4b07 ldr r3, [pc, #28] @ (70002b10 <_ZN8STM32DMA5startEv+0x44>) 70002af4: 4a07 ldr r2, [pc, #28] @ (70002b14 <_ZN8STM32DMA5startEv+0x48>) 70002af6: 681b ldr r3, [r3, #0] 70002af8: 015b lsls r3, r3, #5 70002afa: 5cd3 ldrb r3, [r2, r3] 70002afc: 2b01 cmp r3, #1 70002afe: d106 bne.n 70002b0e <_ZN8STM32DMA5startEv+0x42> 70002b00: 7a22 ldrb r2, [r4, #8] 70002b02: b922 cbnz r2, 70002b0e <_ZN8STM32DMA5startEv+0x42> externalJobExecute(); 70002b04: 4620 mov r0, r4 started_by_external_job = true; 70002b06: f884 3da0 strb.w r3, [r4, #3488] @ 0xda0 externalJobExecute(); 70002b0a: f7ff ff8f bl 70002a2c <_ZN8STM32DMA18externalJobExecuteEv> } 70002b0e: bd10 pop {r4, pc} 70002b10: 24009ef0 .word 0x24009ef0 70002b14: 24000004 .word 0x24000004 70002b18 <_ZN8STM32DMAC1Ev>: STM32DMA::STM32DMA() 70002b18: b570 push {r4, r5, r6, lr} 70002b1a: 4604 mov r4, r0 : DMA_Interface(dma_queue), dma_queue(queue_storage, sizeof(queue_storage) / sizeof(queue_storage[0])), started_by_external_job(false) 70002b1c: 4b0b ldr r3, [pc, #44] @ (70002b4c <_ZN8STM32DMAC1Ev+0x34>) 70002b1e: 300c adds r0, #12 * Constructs a DMA Interface object. * * @param [in] dmaQueue Reference to the queue of DMA operations. */ DMA_Interface(DMA_Queue& dmaQueue) : queue(dmaQueue), isRunning(false), isAllowed(false) 70002b20: 2600 movs r6, #0 70002b22: 4625 mov r5, r4 70002b24: 2260 movs r2, #96 @ 0x60 70002b26: 6060 str r0, [r4, #4] 70002b28: 7226 strb r6, [r4, #8] 70002b2a: 7266 strb r6, [r4, #9] 70002b2c: f845 3b20 str.w r3, [r5], #32 70002b30: 4629 mov r1, r5 70002b32: f00c fe29 bl 7000f788 <_ZN8touchgfx17LockFreeDMA_QueueC1EPNS_6BlitOpEi> 70002b36: f504 635a add.w r3, r4, #3488 @ 0xda0 : color(0) 70002b3a: 60ee str r6, [r5, #12] 70002b3c: 3524 adds r5, #36 @ 0x24 70002b3e: 429d cmp r5, r3 70002b40: d1fb bne.n 70002b3a <_ZN8STM32DMAC1Ev+0x22> } 70002b42: 4620 mov r0, r4 : DMA_Interface(dma_queue), dma_queue(queue_storage, sizeof(queue_storage) / sizeof(queue_storage[0])), started_by_external_job(false) 70002b44: f884 6da0 strb.w r6, [r4, #3488] @ 0xda0 } 70002b48: bd70 pop {r4, r5, r6, pc} 70002b4a: bf00 nop 70002b4c: 7003ece0 .word 0x7003ece0 70002b50 <_ZN8touchgfx5paint8tearDownEv>: * @brief Waits until previous DMA drawing operation has finished */ void tearDown() { /* Wait for DMA2D to finish last run */ while ((READ_REG(DMA2D->CR) & DMA2D_CR_START) != 0U); 70002b50: 4b03 ldr r3, [pc, #12] @ (70002b60 <_ZN8touchgfx5paint8tearDownEv+0x10>) 70002b52: 681a ldr r2, [r3, #0] 70002b54: 07d2 lsls r2, r2, #31 70002b56: d4fc bmi.n 70002b52 <_ZN8touchgfx5paint8tearDownEv+0x2> /* Clear transfer flags */ WRITE_REG(DMA2D->IFCR, DMA2D_FLAG_TC | DMA2D_FLAG_CE | DMA2D_FLAG_TE); 70002b58: 2223 movs r2, #35 @ 0x23 70002b5a: 609a str r2, [r3, #8] } 70002b5c: 4770 bx lr 70002b5e: bf00 nop 70002b60: 52001000 .word 0x52001000 70002b64 <_ZN8touchgfx5paint9flushLineEPmi>: void flushLine(uint32_t* addr, int sizebytes) { // This function is used when decompressing data to flush // the currently decoded data in the cache to allow the DMA2D // to blend the pixels correctly. if (SCB->CCR & SCB_CCR_DC_Msk) 70002b64: 4a0b ldr r2, [pc, #44] @ (70002b94 <_ZN8touchgfx5paint9flushLineEPmi+0x30>) 70002b66: 6953 ldr r3, [r2, #20] 70002b68: 03db lsls r3, r3, #15 70002b6a: d511 bpl.n 70002b90 <_ZN8touchgfx5paint9flushLineEPmi+0x2c> \param[in] dsize size of memory block (in number of bytes) */ __STATIC_FORCEINLINE void SCB_CleanDCache_by_Addr (volatile void *addr, int32_t dsize) { #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) if ( dsize > 0 ) { 70002b6c: 2900 cmp r1, #0 70002b6e: dd0f ble.n 70002b90 <_ZN8touchgfx5paint9flushLineEPmi+0x2c> int32_t op_size = dsize + (((uint32_t)addr) & (__SCB_DCACHE_LINE_SIZE - 1U)); 70002b70: f000 031f and.w r3, r0, #31 70002b74: 4419 add r1, r3 __ASM volatile ("dsb 0xF":::"memory"); 70002b76: f3bf 8f4f dsb sy do { SCB->DCCMVAC = op_addr; /* register accepts only 32byte aligned values, only bits 31..5 are valid */ op_addr += __SCB_DCACHE_LINE_SIZE; op_size -= __SCB_DCACHE_LINE_SIZE; } while ( op_size > 0 ); 70002b7a: 4401 add r1, r0 SCB->DCCMVAC = op_addr; /* register accepts only 32byte aligned values, only bits 31..5 are valid */ 70002b7c: f8c2 0268 str.w r0, [r2, #616] @ 0x268 op_addr += __SCB_DCACHE_LINE_SIZE; 70002b80: 3020 adds r0, #32 } while ( op_size > 0 ); 70002b82: 1a0b subs r3, r1, r0 70002b84: 2b00 cmp r3, #0 70002b86: dcf9 bgt.n 70002b7c <_ZN8touchgfx5paint9flushLineEPmi+0x18> 70002b88: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 70002b8c: f3bf 8f6f isb sy { SCB_CleanDCache_by_Addr(addr, sizebytes); } } 70002b90: 4770 bx lr 70002b92: bf00 nop 70002b94: e000ed00 .word 0xe000ed00 70002b98 <_ZN8touchgfx5paint6rgb56514lineFromRGB565EPtPKtjh>: WRITE_REG(DMA2D->CR, (DMA2D_CR_START | DMA2D_R2M)); } } void lineFromRGB565(uint16_t* const ptr, const uint16_t* const data, const unsigned count, const uint8_t alpha) { 70002b98: b530 push {r4, r5, lr} /* Wait for DMA2D to finish last run */ while ((READ_REG(DMA2D->CR) & DMA2D_CR_START) != 0U); 70002b9a: 4c0f ldr r4, [pc, #60] @ (70002bd8 <_ZN8touchgfx5paint6rgb56514lineFromRGB565EPtPKtjh+0x40>) 70002b9c: 6825 ldr r5, [r4, #0] 70002b9e: 07ed lsls r5, r5, #31 70002ba0: d4fc bmi.n 70002b9c <_ZN8touchgfx5paint6rgb56514lineFromRGB565EPtPKtjh+0x4> /* Clear transfer flags */ WRITE_REG(DMA2D->IFCR, DMA2D_FLAG_TC | DMA2D_FLAG_CE | DMA2D_FLAG_TE); 70002ba2: 2523 movs r5, #35 @ 0x23 /* DMA2D OPFCCR register configuration */ WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_RGB565); /* Configure DMA2D data size */ WRITE_REG(DMA2D->NLR, (1 | (count << DMA2D_NLR_PL_Pos))); 70002ba4: 0412 lsls r2, r2, #16 WRITE_REG(DMA2D->OMAR, reinterpret_cast(ptr)); /* Configure DMA2D source address */ WRITE_REG(DMA2D->FGMAR, reinterpret_cast(data)); if (alpha < 0xFF) 70002ba6: 2bff cmp r3, #255 @ 0xff WRITE_REG(DMA2D->IFCR, DMA2D_FLAG_TC | DMA2D_FLAG_CE | DMA2D_FLAG_TE); 70002ba8: 60a5 str r5, [r4, #8] WRITE_REG(DMA2D->NLR, (1 | (count << DMA2D_NLR_PL_Pos))); 70002baa: f042 0201 orr.w r2, r2, #1 WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_RGB565); 70002bae: f04f 0502 mov.w r5, #2 70002bb2: 6365 str r5, [r4, #52] @ 0x34 WRITE_REG(DMA2D->NLR, (1 | (count << DMA2D_NLR_PL_Pos))); 70002bb4: 6462 str r2, [r4, #68] @ 0x44 WRITE_REG(DMA2D->OMAR, reinterpret_cast(ptr)); 70002bb6: 63e0 str r0, [r4, #60] @ 0x3c WRITE_REG(DMA2D->FGMAR, reinterpret_cast(data)); 70002bb8: 60e1 str r1, [r4, #12] if (alpha < 0xFF) 70002bba: d008 beq.n 70002bce <_ZN8touchgfx5paint6rgb56514lineFromRGB565EPtPKtjh+0x36> { /* Set DMA2D color mode and alpha mode */ WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_RGB565 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (alpha << DMA2D_FGPFCCR_ALPHA_Pos)); 70002bbc: 061b lsls r3, r3, #24 70002bbe: f043 1302 orr.w r3, r3, #131074 @ 0x20002 70002bc2: 61e3 str r3, [r4, #28] /* Configure DMA2D Stream source2 address */ WRITE_REG(DMA2D->BGMAR, reinterpret_cast(ptr)); /* Set DMA2D mode */ WRITE_REG(DMA2D->CR, DMA2D_M2M_BLEND | DMA2D_CR_START); 70002bc4: 4b05 ldr r3, [pc, #20] @ (70002bdc <_ZN8touchgfx5paint6rgb56514lineFromRGB565EPtPKtjh+0x44>) WRITE_REG(DMA2D->BGPFCCR, DMA2D_INPUT_RGB565 | (DMA2D_NO_MODIF_ALPHA << DMA2D_BGPFCCR_AM_Pos)); 70002bc6: 6265 str r5, [r4, #36] @ 0x24 WRITE_REG(DMA2D->BGMAR, reinterpret_cast(ptr)); 70002bc8: 6160 str r0, [r4, #20] { /* Set DMA2D color mode and alpha mode */ WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_RGB565 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (alpha << DMA2D_FGPFCCR_ALPHA_Pos)); /* Start DMA2D : M2M Mode */ WRITE_REG(DMA2D->CR, DMA2D_M2M | DMA2D_CR_START); 70002bca: 6023 str r3, [r4, #0] } } 70002bcc: bd30 pop {r4, r5, pc} WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_RGB565 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (alpha << DMA2D_FGPFCCR_ALPHA_Pos)); 70002bce: 4b04 ldr r3, [pc, #16] @ (70002be0 <_ZN8touchgfx5paint6rgb56514lineFromRGB565EPtPKtjh+0x48>) 70002bd0: 61e3 str r3, [r4, #28] WRITE_REG(DMA2D->CR, DMA2D_M2M | DMA2D_CR_START); 70002bd2: 2301 movs r3, #1 70002bd4: e7f9 b.n 70002bca <_ZN8touchgfx5paint6rgb56514lineFromRGB565EPtPKtjh+0x32> 70002bd6: bf00 nop 70002bd8: 52001000 .word 0x52001000 70002bdc: 00020001 .word 0x00020001 70002be0: ff020002 .word 0xff020002 70002be4 <_ZN8touchgfx5paint6rgb56516lineFromARGB8888EPtPKmjh>: void lineFromARGB8888(uint16_t* const ptr, const uint32_t* const data, const unsigned count, const uint8_t alpha) { 70002be4: b530 push {r4, r5, lr} /* Wait for DMA2D to finish last run */ while ((READ_REG(DMA2D->CR) & DMA2D_CR_START) != 0U); 70002be6: 4c0b ldr r4, [pc, #44] @ (70002c14 <_ZN8touchgfx5paint6rgb56516lineFromARGB8888EPtPKmjh+0x30>) 70002be8: 6825 ldr r5, [r4, #0] 70002bea: 07ed lsls r5, r5, #31 70002bec: d4fc bmi.n 70002be8 <_ZN8touchgfx5paint6rgb56516lineFromARGB8888EPtPKmjh+0x4> /* Clear transfer flags */ WRITE_REG(DMA2D->IFCR, DMA2D_FLAG_TC | DMA2D_FLAG_CE | DMA2D_FLAG_TE); 70002bee: 2523 movs r5, #35 @ 0x23 /* DMA2D OPFCCR register configuration */ WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_RGB565); /* Configure DMA2D data size */ WRITE_REG(DMA2D->NLR, (1 | (count << DMA2D_NLR_PL_Pos))); 70002bf0: 0412 lsls r2, r2, #16 /* Configure DMA2D source address */ WRITE_REG(DMA2D->FGMAR, reinterpret_cast(data)); /* Set DMA2D color mode and alpha mode */ WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_ARGB8888 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (alpha << DMA2D_FGPFCCR_ALPHA_Pos)); 70002bf2: 061b lsls r3, r3, #24 WRITE_REG(DMA2D->IFCR, DMA2D_FLAG_TC | DMA2D_FLAG_CE | DMA2D_FLAG_TE); 70002bf4: 60a5 str r5, [r4, #8] WRITE_REG(DMA2D->NLR, (1 | (count << DMA2D_NLR_PL_Pos))); 70002bf6: f042 0201 orr.w r2, r2, #1 WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_RGB565); 70002bfa: 2502 movs r5, #2 WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_ARGB8888 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (alpha << DMA2D_FGPFCCR_ALPHA_Pos)); 70002bfc: f443 3300 orr.w r3, r3, #131072 @ 0x20000 WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_RGB565); 70002c00: 6365 str r5, [r4, #52] @ 0x34 WRITE_REG(DMA2D->NLR, (1 | (count << DMA2D_NLR_PL_Pos))); 70002c02: 6462 str r2, [r4, #68] @ 0x44 WRITE_REG(DMA2D->OMAR, reinterpret_cast(ptr)); 70002c04: 63e0 str r0, [r4, #60] @ 0x3c WRITE_REG(DMA2D->FGMAR, reinterpret_cast(data)); 70002c06: 60e1 str r1, [r4, #12] WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_ARGB8888 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (alpha << DMA2D_FGPFCCR_ALPHA_Pos)); 70002c08: 61e3 str r3, [r4, #28] /* Configure DMA2D Stream source2 address */ WRITE_REG(DMA2D->BGMAR, reinterpret_cast(ptr)); /* Set DMA2D mode */ WRITE_REG(DMA2D->CR, DMA2D_M2M_BLEND | DMA2D_CR_START); 70002c0a: 4b03 ldr r3, [pc, #12] @ (70002c18 <_ZN8touchgfx5paint6rgb56516lineFromARGB8888EPtPKmjh+0x34>) WRITE_REG(DMA2D->BGPFCCR, DMA2D_INPUT_RGB565 | (DMA2D_NO_MODIF_ALPHA << DMA2D_BGPFCCR_AM_Pos)); 70002c0c: 6265 str r5, [r4, #36] @ 0x24 WRITE_REG(DMA2D->BGMAR, reinterpret_cast(ptr)); 70002c0e: 6160 str r0, [r4, #20] WRITE_REG(DMA2D->CR, DMA2D_M2M_BLEND | DMA2D_CR_START); 70002c10: 6023 str r3, [r4, #0] } 70002c12: bd30 pop {r4, r5, pc} 70002c14: 52001000 .word 0x52001000 70002c18: 00020001 .word 0x00020001 70002c1c <_ZN8touchgfx5paint8argb888813lineFromColorEPmsmh>: * * @brief Renders Canvas Widget chunks using DMA. * This function will not generate an interrupt, and will not affect the DMA queue. */ void lineFromColor(uint32_t* const ptr, const int16_t count, const uint32_t painterColor, const uint8_t alpha) { 70002c1c: b570 push {r4, r5, r6, lr} /* Wait for DMA2D to finish last run */ while ((READ_REG(DMA2D->CR) & DMA2D_CR_START) != 0U); 70002c1e: 4c10 ldr r4, [pc, #64] @ (70002c60 <_ZN8touchgfx5paint8argb888813lineFromColorEPmsmh+0x44>) 70002c20: 6825 ldr r5, [r4, #0] 70002c22: f015 0501 ands.w r5, r5, #1 70002c26: d1fb bne.n 70002c20 <_ZN8touchgfx5paint8argb888813lineFromColorEPmsmh+0x4> /* DMA2D OPFCCR register configuration (set output image color format) */ WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_ARGB8888); /* Configure DMA2D data size (pixels per line (PL)) */ WRITE_REG(DMA2D->NLR, (1 | (count << DMA2D_NLR_PL_Pos))); 70002c28: 0409 lsls r1, r1, #16 WRITE_REG(DMA2D->IFCR, DMA2D_FLAG_TC | DMA2D_FLAG_CE | DMA2D_FLAG_TE); 70002c2a: 2623 movs r6, #35 @ 0x23 /* Configure DMA2D destination address */ WRITE_REG(DMA2D->OMAR, reinterpret_cast(ptr)); if (alpha < 0xFF) 70002c2c: 2bff cmp r3, #255 @ 0xff WRITE_REG(DMA2D->NLR, (1 | (count << DMA2D_NLR_PL_Pos))); 70002c2e: f041 0101 orr.w r1, r1, #1 WRITE_REG(DMA2D->IFCR, DMA2D_FLAG_TC | DMA2D_FLAG_CE | DMA2D_FLAG_TE); 70002c32: 60a6 str r6, [r4, #8] WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_ARGB8888); 70002c34: 6365 str r5, [r4, #52] @ 0x34 WRITE_REG(DMA2D->NLR, (1 | (count << DMA2D_NLR_PL_Pos))); 70002c36: 6461 str r1, [r4, #68] @ 0x44 WRITE_REG(DMA2D->OMAR, reinterpret_cast(ptr)); 70002c38: 63e0 str r0, [r4, #60] @ 0x3c if (alpha < 0xFF) 70002c3a: d00c beq.n 70002c56 <_ZN8touchgfx5paint8argb888813lineFromColorEPmsmh+0x3a> { /* Write DMA2D BGPFCCR (background control) register */ WRITE_REG(DMA2D->BGPFCCR, DMA2D_OUTPUT_ARGB8888 | (DMA2D_NO_MODIF_ALPHA << DMA2D_BGPFCCR_AM_Pos)); /* Write DMA2D FGPFCCR (foreground control) register */ WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_A8 | (DMA2D_REPLACE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (alpha << DMA2D_FGPFCCR_ALPHA_Pos)); 70002c3c: 4909 ldr r1, [pc, #36] @ (70002c64 <_ZN8touchgfx5paint8argb888813lineFromColorEPmsmh+0x48>) /* DMA2D FGCOLR register configuration */ WRITE_REG(DMA2D->FGCOLR, painterColor & (DMA2D_FGCOLR_BLUE | DMA2D_FGCOLR_GREEN | DMA2D_FGCOLR_RED)); 70002c3e: f022 427f bic.w r2, r2, #4278190080 @ 0xff000000 WRITE_REG(DMA2D->BGPFCCR, DMA2D_OUTPUT_ARGB8888 | (DMA2D_NO_MODIF_ALPHA << DMA2D_BGPFCCR_AM_Pos)); 70002c42: 6265 str r5, [r4, #36] @ 0x24 WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_A8 | (DMA2D_REPLACE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (alpha << DMA2D_FGPFCCR_ALPHA_Pos)); 70002c44: ea41 6303 orr.w r3, r1, r3, lsl #24 70002c48: 61e3 str r3, [r4, #28] /* Configure DMA2D source address */ WRITE_REG(DMA2D->FGMAR, (uint32_t)ptr); /* Enable the Peripheral and Enable the transfer complete interrupt */ WRITE_REG(DMA2D->CR, (DMA2D_CR_START | DMA2D_M2M_BLEND)); 70002c4a: 4b07 ldr r3, [pc, #28] @ (70002c68 <_ZN8touchgfx5paint8argb888813lineFromColorEPmsmh+0x4c>) WRITE_REG(DMA2D->FGCOLR, painterColor & (DMA2D_FGCOLR_BLUE | DMA2D_FGCOLR_GREEN | DMA2D_FGCOLR_RED)); 70002c4c: 6222 str r2, [r4, #32] WRITE_REG(DMA2D->BGMAR, (uint32_t)ptr); 70002c4e: 6160 str r0, [r4, #20] WRITE_REG(DMA2D->FGMAR, (uint32_t)ptr); 70002c50: 60e0 str r0, [r4, #12] /* Set Output Color */ WRITE_REG(DMA2D->OCOLR, painterColor); /* Start DMA2D */ WRITE_REG(DMA2D->CR, (DMA2D_CR_START | DMA2D_R2M)); 70002c52: 6023 str r3, [r4, #0] } } 70002c54: bd70 pop {r4, r5, r6, pc} WRITE_REG(DMA2D->FGPFCCR, DMA2D_OUTPUT_ARGB8888 | (DMA2D_NO_MODIF_ALPHA << DMA2D_FGPFCCR_AM_Pos)); 70002c56: 61e5 str r5, [r4, #28] WRITE_REG(DMA2D->CR, (DMA2D_CR_START | DMA2D_R2M)); 70002c58: 4b04 ldr r3, [pc, #16] @ (70002c6c <_ZN8touchgfx5paint8argb888813lineFromColorEPmsmh+0x50>) WRITE_REG(DMA2D->OCOLR, painterColor); 70002c5a: 63a2 str r2, [r4, #56] @ 0x38 WRITE_REG(DMA2D->CR, (DMA2D_CR_START | DMA2D_R2M)); 70002c5c: e7f9 b.n 70002c52 <_ZN8touchgfx5paint8argb888813lineFromColorEPmsmh+0x36> 70002c5e: bf00 nop 70002c60: 52001000 .word 0x52001000 70002c64: 00010009 .word 0x00010009 70002c68: 00020001 .word 0x00020001 70002c6c: 00030001 .word 0x00030001 70002c70 <_ZN8touchgfx5paint8argb888814lineFromRGB565EPhPKtsh>: WRITE_REG(DMA2D->CR, DMA2D_M2M_BLEND | DMA2D_CR_START); } } void lineFromRGB565(uint8_t* const ptr, const uint16_t* const data, const int16_t length, const uint8_t alpha) { 70002c70: b570 push {r4, r5, r6, lr} /* Wait for DMA2D to finish last run */ while ((READ_REG(DMA2D->CR) & DMA2D_CR_START) != 0U); 70002c72: 4c0e ldr r4, [pc, #56] @ (70002cac <_ZN8touchgfx5paint8argb888814lineFromRGB565EPhPKtsh+0x3c>) 70002c74: 6825 ldr r5, [r4, #0] 70002c76: f015 0501 ands.w r5, r5, #1 70002c7a: d1fb bne.n 70002c74 <_ZN8touchgfx5paint8argb888814lineFromRGB565EPhPKtsh+0x4> /* DMA2D OPFCCR register configuration */ WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_ARGB8888); /* Configure DMA2D data size */ WRITE_REG(DMA2D->NLR, (1 | (length << DMA2D_NLR_PL_Pos))); 70002c7c: 0412 lsls r2, r2, #16 WRITE_REG(DMA2D->IFCR, DMA2D_FLAG_TC | DMA2D_FLAG_CE | DMA2D_FLAG_TE); 70002c7e: 2623 movs r6, #35 @ 0x23 WRITE_REG(DMA2D->OMAR, reinterpret_cast(ptr)); /* Configure DMA2D source address */ WRITE_REG(DMA2D->FGMAR, reinterpret_cast(data)); if (alpha < 0xFF) 70002c80: 2bff cmp r3, #255 @ 0xff WRITE_REG(DMA2D->NLR, (1 | (length << DMA2D_NLR_PL_Pos))); 70002c82: f042 0201 orr.w r2, r2, #1 WRITE_REG(DMA2D->IFCR, DMA2D_FLAG_TC | DMA2D_FLAG_CE | DMA2D_FLAG_TE); 70002c86: 60a6 str r6, [r4, #8] WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_ARGB8888); 70002c88: 6365 str r5, [r4, #52] @ 0x34 WRITE_REG(DMA2D->NLR, (1 | (length << DMA2D_NLR_PL_Pos))); 70002c8a: 6462 str r2, [r4, #68] @ 0x44 WRITE_REG(DMA2D->OMAR, reinterpret_cast(ptr)); 70002c8c: 63e0 str r0, [r4, #60] @ 0x3c WRITE_REG(DMA2D->FGMAR, reinterpret_cast(data)); 70002c8e: 4a08 ldr r2, [pc, #32] @ (70002cb0 <_ZN8touchgfx5paint8argb888814lineFromRGB565EPhPKtsh+0x40>) 70002c90: 60e1 str r1, [r4, #12] if (alpha < 0xFF) 70002c92: d007 beq.n 70002ca4 <_ZN8touchgfx5paint8argb888814lineFromRGB565EPhPKtsh+0x34> { /* Set DMA2D color mode and alpha mode */ WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_RGB565 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (alpha << DMA2D_FGPFCCR_ALPHA_Pos)); 70002c94: 061b lsls r3, r3, #24 70002c96: f043 1302 orr.w r3, r3, #131074 @ 0x20002 70002c9a: 61e3 str r3, [r4, #28] /* Write DMA2D BGPFCCR register */ WRITE_REG(DMA2D->BGPFCCR, DMA2D_INPUT_ARGB8888 | (DMA2D_NO_MODIF_ALPHA << DMA2D_BGPFCCR_AM_Pos)); 70002c9c: 6265 str r5, [r4, #36] @ 0x24 /* Configure DMA2D Stream source2 address */ WRITE_REG(DMA2D->BGMAR, reinterpret_cast(ptr)); 70002c9e: 6160 str r0, [r4, #20] { /* Set DMA2D color mode and alpha mode */ WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_RGB565 | (DMA2D_NO_MODIF_ALPHA << DMA2D_FGPFCCR_AM_Pos)); /* Start DMA2D : M2M Mode */ WRITE_REG(DMA2D->CR, DMA2D_M2M_BLEND | DMA2D_CR_START); 70002ca0: 6022 str r2, [r4, #0] } } 70002ca2: bd70 pop {r4, r5, r6, pc} WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_RGB565 | (DMA2D_NO_MODIF_ALPHA << DMA2D_FGPFCCR_AM_Pos)); 70002ca4: 2302 movs r3, #2 70002ca6: 61e3 str r3, [r4, #28] 70002ca8: e7fa b.n 70002ca0 <_ZN8touchgfx5paint8argb888814lineFromRGB565EPhPKtsh+0x30> 70002caa: bf00 nop 70002cac: 52001000 .word 0x52001000 70002cb0: 00020001 .word 0x00020001 70002cb4 <_ZN8touchgfx5paint8argb888816lineFromARGB8888EPhPKmsh>: void lineFromARGB8888(uint8_t* const ptr, const uint32_t* const data, const int16_t length, const uint8_t alpha) { 70002cb4: b570 push {r4, r5, r6, lr} /* Wait for DMA2D to finish last run */ while ((READ_REG(DMA2D->CR) & DMA2D_CR_START) != 0U); 70002cb6: 4c0e ldr r4, [pc, #56] @ (70002cf0 <_ZN8touchgfx5paint8argb888816lineFromARGB8888EPhPKmsh+0x3c>) 70002cb8: 6825 ldr r5, [r4, #0] 70002cba: f015 0501 ands.w r5, r5, #1 70002cbe: d1fb bne.n 70002cb8 <_ZN8touchgfx5paint8argb888816lineFromARGB8888EPhPKmsh+0x4> /* DMA2D OPFCCR register configuration */ WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_ARGB8888); /* Configure DMA2D data size */ WRITE_REG(DMA2D->NLR, (1 | (length << DMA2D_NLR_PL_Pos))); 70002cc0: 0412 lsls r2, r2, #16 WRITE_REG(DMA2D->IFCR, DMA2D_FLAG_TC | DMA2D_FLAG_CE | DMA2D_FLAG_TE); 70002cc2: 2623 movs r6, #35 @ 0x23 WRITE_REG(DMA2D->OMAR, reinterpret_cast(ptr)); /* Configure DMA2D source address */ WRITE_REG(DMA2D->FGMAR, reinterpret_cast(data)); if (alpha < 0xFF) 70002cc4: 2bff cmp r3, #255 @ 0xff WRITE_REG(DMA2D->NLR, (1 | (length << DMA2D_NLR_PL_Pos))); 70002cc6: f042 0201 orr.w r2, r2, #1 WRITE_REG(DMA2D->IFCR, DMA2D_FLAG_TC | DMA2D_FLAG_CE | DMA2D_FLAG_TE); 70002cca: 60a6 str r6, [r4, #8] WRITE_REG(DMA2D->OPFCCR, DMA2D_OUTPUT_ARGB8888); 70002ccc: 6365 str r5, [r4, #52] @ 0x34 WRITE_REG(DMA2D->NLR, (1 | (length << DMA2D_NLR_PL_Pos))); 70002cce: 6462 str r2, [r4, #68] @ 0x44 WRITE_REG(DMA2D->OMAR, reinterpret_cast(ptr)); 70002cd0: 63e0 str r0, [r4, #60] @ 0x3c WRITE_REG(DMA2D->FGMAR, reinterpret_cast(data)); 70002cd2: 60e1 str r1, [r4, #12] if (alpha < 0xFF) 70002cd4: d00a beq.n 70002cec <_ZN8touchgfx5paint8argb888816lineFromARGB8888EPhPKmsh+0x38> { /* Set DMA2D color mode and alpha mode */ WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_ARGB8888 | (DMA2D_COMBINE_ALPHA << DMA2D_FGPFCCR_AM_Pos) | (alpha << DMA2D_FGPFCCR_ALPHA_Pos)); 70002cd6: 061b lsls r3, r3, #24 70002cd8: f443 3300 orr.w r3, r3, #131072 @ 0x20000 70002cdc: 61e3 str r3, [r4, #28] /* Set DMA2D color mode and alpha mode */ WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_ARGB8888 | (DMA2D_NO_MODIF_ALPHA << DMA2D_FGPFCCR_AM_Pos)); } /* Write DMA2D BGPFCCR register */ WRITE_REG(DMA2D->BGPFCCR, DMA2D_INPUT_ARGB8888 | (DMA2D_NO_MODIF_ALPHA << DMA2D_BGPFCCR_AM_Pos)); 70002cde: 4b04 ldr r3, [pc, #16] @ (70002cf0 <_ZN8touchgfx5paint8argb888816lineFromARGB8888EPhPKmsh+0x3c>) 70002ce0: 2200 movs r2, #0 70002ce2: 625a str r2, [r3, #36] @ 0x24 /* Configure DMA2D Stream source2 address */ WRITE_REG(DMA2D->BGMAR, reinterpret_cast(ptr)); /* Start DMA2D */ WRITE_REG(DMA2D->CR, DMA2D_M2M_BLEND | DMA2D_CR_START); 70002ce4: 4a03 ldr r2, [pc, #12] @ (70002cf4 <_ZN8touchgfx5paint8argb888816lineFromARGB8888EPhPKmsh+0x40>) WRITE_REG(DMA2D->BGMAR, reinterpret_cast(ptr)); 70002ce6: 6158 str r0, [r3, #20] WRITE_REG(DMA2D->CR, DMA2D_M2M_BLEND | DMA2D_CR_START); 70002ce8: 601a str r2, [r3, #0] } 70002cea: bd70 pop {r4, r5, r6, pc} WRITE_REG(DMA2D->FGPFCCR, DMA2D_INPUT_ARGB8888 | (DMA2D_NO_MODIF_ALPHA << DMA2D_FGPFCCR_AM_Pos)); 70002cec: 61e5 str r5, [r4, #28] 70002cee: e7f6 b.n 70002cde <_ZN8touchgfx5paint8argb888816lineFromARGB8888EPhPKmsh+0x2a> 70002cf0: 52001000 .word 0x52001000 70002cf4: 00020001 .word 0x00020001 70002cf8 <_ZNK8touchgfx9PartitionINS_4meta8TypeListINS_15BlockTransitionENS2_INS1_3NilES4_EEEELt1EE8capacityEv>: }; virtual uint16_t capacity() const { return NUMBER_OF_ELEMENTS; } 70002cf8: 2001 movs r0, #1 70002cfa: 4770 bx lr 70002cfc <_ZN8touchgfx9PartitionINS_4meta8TypeListINS_15BlockTransitionENS2_INS1_3NilES4_EEEELt1EE12element_sizeEv>: virtual uint32_t element_size() { return sizeof(stBlocks[0]); } 70002cfc: 2014 movs r0, #20 70002cfe: 4770 bx lr 70002d00 <_ZN8touchgfx9PartitionINS_4meta8TypeListINS_15BlockTransitionENS2_INS1_3NilES4_EEEELt1EE7elementEt>: protected: virtual void* element(uint16_t index) { return &stBlocks[index]; 70002d00: 2314 movs r3, #20 70002d02: fb03 0001 mla r0, r3, r1, r0 } 70002d06: 3008 adds r0, #8 70002d08: 4770 bx lr 70002d0a <_ZNK8touchgfx9PartitionINS_4meta8TypeListINS_15BlockTransitionENS2_INS1_3NilES4_EEEELt1EE7elementEt>: virtual const void* element(uint16_t index) const { return &stBlocks[index]; 70002d0a: 2314 movs r3, #20 70002d0c: fb03 0001 mla r0, r3, r1, r0 } 70002d10: 3008 adds r0, #8 70002d12: 4770 bx lr 70002d14 <_ZNK8touchgfx9PartitionINS_4meta8TypeListI11Screen1ViewNS2_INS1_3NilES4_EEEELt1EE8capacityEv>: } 70002d14: 2001 movs r0, #1 70002d16: 4770 bx lr 70002d18 <_ZN8touchgfx9PartitionINS_4meta8TypeListI11Screen1ViewNS2_INS1_3NilES4_EEEELt1EE12element_sizeEv>: } 70002d18: f44f 704f mov.w r0, #828 @ 0x33c 70002d1c: 4770 bx lr 70002d1e <_ZN8touchgfx9PartitionINS_4meta8TypeListI11Screen1ViewNS2_INS1_3NilES4_EEEELt1EE7elementEt>: return &stBlocks[index]; 70002d1e: f44f 734f mov.w r3, #828 @ 0x33c 70002d22: fb03 0001 mla r0, r3, r1, r0 } 70002d26: 3008 adds r0, #8 70002d28: 4770 bx lr 70002d2a <_ZNK8touchgfx9PartitionINS_4meta8TypeListI11Screen1ViewNS2_INS1_3NilES4_EEEELt1EE7elementEt>: return &stBlocks[index]; 70002d2a: f44f 734f mov.w r3, #828 @ 0x33c 70002d2e: fb03 0001 mla r0, r3, r1, r0 } 70002d32: 3008 adds r0, #8 70002d34: 4770 bx lr 70002d36 <_ZNK8touchgfx9PartitionINS_4meta8TypeListI16Screen1PresenterNS2_INS1_3NilES4_EEEELt1EE8capacityEv>: } 70002d36: 2001 movs r0, #1 70002d38: 4770 bx lr 70002d3a <_ZN8touchgfx9PartitionINS_4meta8TypeListI16Screen1PresenterNS2_INS1_3NilES4_EEEELt1EE12element_sizeEv>: } 70002d3a: 2010 movs r0, #16 70002d3c: 4770 bx lr 70002d3e <_ZN8touchgfx9PartitionINS_4meta8TypeListI16Screen1PresenterNS2_INS1_3NilES4_EEEELt1EE7elementEt>: return &stBlocks[index]; 70002d3e: eb00 1001 add.w r0, r0, r1, lsl #4 } 70002d42: 3008 adds r0, #8 70002d44: 4770 bx lr 70002d46 <_ZNK8touchgfx9PartitionINS_4meta8TypeListI16Screen1PresenterNS2_INS1_3NilES4_EEEELt1EE7elementEt>: return &stBlocks[index]; 70002d46: eb00 1001 add.w r0, r0, r1, lsl #4 } 70002d4a: 3008 adds r0, #8 70002d4c: 4770 bx lr 70002d4e <_ZN16FrontendHeapBase15gotoStartScreenER19FrontendApplication>: */ typedef touchgfx::meta::select_type_maxsize< GeneratedTransitionTypes >::type MaxGeneratedTransitionType; virtual void gotoStartScreen(FrontendApplication& app) { app.gotoInitScreenScreenNoTransition(); 70002d4e: 4608 mov r0, r1 70002d50: f000 bffa b.w 70003d48 <_ZN23FrontendApplicationBase32gotoInitScreenScreenNoTransitionEv> 70002d54 <_ZN8touchgfx9PartitionINS_4meta8TypeListINS_15BlockTransitionENS2_INS1_3NilES4_EEEELt1EED1Ev>: class Partition : public AbstractPartition 70002d54: 4b03 ldr r3, [pc, #12] @ (70002d64 <_ZN8touchgfx9PartitionINS_4meta8TypeListINS_15BlockTransitionENS2_INS1_3NilES4_EEEELt1EED1Ev+0x10>) 70002d56: b510 push {r4, lr} 70002d58: 4604 mov r4, r0 70002d5a: 6003 str r3, [r0, #0] 70002d5c: f00a fe49 bl 7000d9f2 <_ZN8touchgfx17AbstractPartitionD1Ev> 70002d60: 4620 mov r0, r4 70002d62: bd10 pop {r4, pc} 70002d64: 7003ed98 .word 0x7003ed98 70002d68 <_ZN8touchgfx9PartitionINS_4meta8TypeListINS_15BlockTransitionENS2_INS1_3NilES4_EEEELt1EED0Ev>: 70002d68: b510 push {r4, lr} 70002d6a: 4604 mov r4, r0 70002d6c: f7ff fff2 bl 70002d54 <_ZN8touchgfx9PartitionINS_4meta8TypeListINS_15BlockTransitionENS2_INS1_3NilES4_EEEELt1EED1Ev> 70002d70: 211c movs r1, #28 70002d72: 4620 mov r0, r4 70002d74: f036 fd1f bl 700397b6 <_ZdlPvj> 70002d78: 4620 mov r0, r4 70002d7a: bd10 pop {r4, pc} 70002d7c <_ZN8touchgfx9PartitionINS_4meta8TypeListI11Screen1ViewNS2_INS1_3NilES4_EEEELt1EED1Ev>: 70002d7c: 4b03 ldr r3, [pc, #12] @ (70002d8c <_ZN8touchgfx9PartitionINS_4meta8TypeListI11Screen1ViewNS2_INS1_3NilES4_EEEELt1EED1Ev+0x10>) 70002d7e: b510 push {r4, lr} 70002d80: 4604 mov r4, r0 70002d82: 6003 str r3, [r0, #0] 70002d84: f00a fe35 bl 7000d9f2 <_ZN8touchgfx17AbstractPartitionD1Ev> 70002d88: 4620 mov r0, r4 70002d8a: bd10 pop {r4, pc} 70002d8c: 7003ed64 .word 0x7003ed64 70002d90 <_ZN8touchgfx9PartitionINS_4meta8TypeListI11Screen1ViewNS2_INS1_3NilES4_EEEELt1EED0Ev>: 70002d90: b510 push {r4, lr} 70002d92: 4604 mov r4, r0 70002d94: f7ff fff2 bl 70002d7c <_ZN8touchgfx9PartitionINS_4meta8TypeListI11Screen1ViewNS2_INS1_3NilES4_EEEELt1EED1Ev> 70002d98: f44f 7151 mov.w r1, #836 @ 0x344 70002d9c: 4620 mov r0, r4 70002d9e: f036 fd0a bl 700397b6 <_ZdlPvj> 70002da2: 4620 mov r0, r4 70002da4: bd10 pop {r4, pc} ... 70002da8 <_ZN8touchgfx9PartitionINS_4meta8TypeListI16Screen1PresenterNS2_INS1_3NilES4_EEEELt1EED1Ev>: 70002da8: 4b03 ldr r3, [pc, #12] @ (70002db8 <_ZN8touchgfx9PartitionINS_4meta8TypeListI16Screen1PresenterNS2_INS1_3NilES4_EEEELt1EED1Ev+0x10>) 70002daa: b510 push {r4, lr} 70002dac: 4604 mov r4, r0 70002dae: 6003 str r3, [r0, #0] 70002db0: f00a fe1f bl 7000d9f2 <_ZN8touchgfx17AbstractPartitionD1Ev> 70002db4: 4620 mov r0, r4 70002db6: bd10 pop {r4, pc} 70002db8: 7003ed30 .word 0x7003ed30 70002dbc <_ZN8touchgfx9PartitionINS_4meta8TypeListI16Screen1PresenterNS2_INS1_3NilES4_EEEELt1EED0Ev>: 70002dbc: b510 push {r4, lr} 70002dbe: 4604 mov r4, r0 70002dc0: f7ff fff2 bl 70002da8 <_ZN8touchgfx9PartitionINS_4meta8TypeListI16Screen1PresenterNS2_INS1_3NilES4_EEEELt1EED1Ev> 70002dc4: 2118 movs r1, #24 70002dc6: 4620 mov r0, r4 70002dc8: f036 fcf5 bl 700397b6 <_ZdlPvj> 70002dcc: 4620 mov r0, r4 70002dce: bd10 pop {r4, pc} 70002dd0 <_ZN12FrontendHeapD1Ev>: #ifndef FRONTENDHEAP_HPP #define FRONTENDHEAP_HPP #include class FrontendHeap : public FrontendHeapBase 70002dd0: 4b08 ldr r3, [pc, #32] @ (70002df4 <_ZN12FrontendHeapD1Ev+0x24>) 70002dd2: b510 push {r4, lr} 70002dd4: 4604 mov r4, r0 70002dd6: 6003 str r3, [r0, #0] 70002dd8: f500 705c add.w r0, r0, #880 @ 0x370 70002ddc: f7ff ffba bl 70002d54 <_ZN8touchgfx9PartitionINS_4meta8TypeListINS_15BlockTransitionENS2_INS1_3NilES4_EEEELt1EED1Ev> 70002de0: f104 002c add.w r0, r4, #44 @ 0x2c 70002de4: f7ff ffca bl 70002d7c <_ZN8touchgfx9PartitionINS_4meta8TypeListI11Screen1ViewNS2_INS1_3NilES4_EEEELt1EED1Ev> 70002de8: f104 0014 add.w r0, r4, #20 70002dec: f7ff ffdc bl 70002da8 <_ZN8touchgfx9PartitionINS_4meta8TypeListI16Screen1PresenterNS2_INS1_3NilES4_EEEELt1EED1Ev> 70002df0: 4620 mov r0, r4 70002df2: bd10 pop {r4, pc} 70002df4: 7003edcc .word 0x7003edcc 70002df8 <__tcf_0>: > > CombinedTransitionTypes; typedef touchgfx::meta::select_type_maxsize< CombinedTransitionTypes >::type MaxTransitionType; static FrontendHeap& getInstance() { static FrontendHeap instance; 70002df8: b508 push {r3, lr} 70002dfa: 4802 ldr r0, [pc, #8] @ (70002e04 <__tcf_0+0xc>) 70002dfc: f7ff ffe8 bl 70002dd0 <_ZN12FrontendHeapD1Ev> 70002e00: bd08 pop {r3, pc} 70002e02: bf00 nop 70002e04: 2400b920 .word 0x2400b920 70002e08 <_ZN12FrontendHeapD0Ev>: class FrontendHeap : public FrontendHeapBase 70002e08: b510 push {r4, lr} 70002e0a: 4604 mov r4, r0 70002e0c: f7ff ffe0 bl 70002dd0 <_ZN12FrontendHeapD1Ev> 70002e10: f240 41ec movw r1, #1260 @ 0x4ec 70002e14: 4620 mov r0, r4 70002e16: f036 fcce bl 700397b6 <_ZdlPvj> 70002e1a: 4620 mov r0, r4 70002e1c: bd10 pop {r4, pc} ... 70002e20 : static ApplicationFontProvider fontProvider; static Texts texts; static TouchGFXHAL hal(dma, display, tc, 800, 480); void touchgfx_init() { 70002e20: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} Bitmap::registerBitmapDatabase(BitmapDatabase::getInstance(), BitmapDatabase::getInstanceSize()); 70002e22: f000 fd21 bl 70003868 <_ZN14BitmapDatabase11getInstanceEv> 70002e26: 2400 movs r4, #0 70002e28: 4605 mov r5, r0 70002e2a: f000 fd21 bl 70003870 <_ZN14BitmapDatabase15getInstanceSizeEv> 70002e2e: 4623 mov r3, r4 70002e30: 4601 mov r1, r0 70002e32: 4622 mov r2, r4 70002e34: 4628 mov r0, r5 70002e36: 9400 str r4, [sp, #0] 70002e38: f011 fb7e bl 70014538 <_ZN8touchgfx6Bitmap22registerBitmapDatabaseEPKNS0_10BitmapDataEtPtmm> * * @param t The array of texts. */ static void registerTexts(const Texts* t) { texts = t; 70002e3c: 4b2a ldr r3, [pc, #168] @ (70002ee8 ) 70002e3e: 4a2b ldr r2, [pc, #172] @ (70002eec ) TypedText::registerTexts(&texts); Texts::setLanguage(0); 70002e40: 4620 mov r0, r4 70002e42: 601a str r2, [r3, #0] 70002e44: f001 fb72 bl 7000452c <_ZN8touchgfx5Texts11setLanguageEt> display.setFrameBufferFormat(Bitmap::RGB565); 70002e48: 4621 mov r1, r4 70002e4a: 4829 ldr r0, [pc, #164] @ (70002ef0 ) 70002e4c: f02f f910 bl 70032070 <_ZN8touchgfx12LCDGPU2D_AXI20setFrameBufferFormatENS_6Bitmap12BitmapFormatE> static FrontendHeap instance; 70002e50: 4c28 ldr r4, [pc, #160] @ (70002ef4 ) * * @param renderer The renderer to be used by LCD when dealing with vector fonts. */ void setVectorFontRenderer(VectorFontRenderer* renderer) { vectorFontRenderer = renderer; 70002e52: 4b29 ldr r3, [pc, #164] @ (70002ef8 ) 70002e54: 4a26 ldr r2, [pc, #152] @ (70002ef0 ) display.setVectorFontRenderer(&vectorFontRenderer); FontManager::setFontProvider(&fontProvider); 70002e56: 4829 ldr r0, [pc, #164] @ (70002efc ) 70002e58: 6093 str r3, [r2, #8] 70002e5a: f011 fad3 bl 70014404 <_ZN8touchgfx11FontManager15setFontProviderEPNS_12FontProviderE> 70002e5e: 6823 ldr r3, [r4, #0] 70002e60: f3bf 8f5b dmb ish 70002e64: 07db lsls r3, r3, #31 70002e66: d438 bmi.n 70002eda 70002e68: 4620 mov r0, r4 70002e6a: f036 fca6 bl 700397ba <__cxa_guard_acquire> 70002e6e: 2800 cmp r0, #0 70002e70: d033 beq.n 70002eda */ MVPHeap(AbstractPartition& pres, AbstractPartition& scr, AbstractPartition& tra, MVPApplication& app) : presenterStorage(pres), 70002e72: 4a23 ldr r2, [pc, #140] @ (70002f00 ) Model model; FrontendApplication app; private: FrontendHeap() : FrontendHeapBase(presenters, views, transitions, app), app(model, *this) 70002e74: 4b23 ldr r3, [pc, #140] @ (70002f04 ) screenStorage(scr), 70002e76: f102 072c add.w r7, r2, #44 @ 0x2c transitionStorage(tra), frontendApplication(app) 70002e7a: f502 7564 add.w r5, r2, #912 @ 0x390 transitionStorage(tra), 70002e7e: f502 765c add.w r6, r2, #880 @ 0x370 : presenterStorage(pres), 70002e82: f102 0014 add.w r0, r2, #20 screenStorage(scr), 70002e86: 6097 str r7, [r2, #8] 70002e88: 6013 str r3, [r2, #0] : presenterStorage(pres), 70002e8a: 6050 str r0, [r2, #4] transitionStorage(tra), 70002e8c: 60d6 str r6, [r2, #12] frontendApplication(app) 70002e8e: 6115 str r5, [r2, #16] 70002e90: f00a fdb0 bl 7000d9f4 <_ZN8touchgfx17AbstractPartitionC1Ev> 70002e94: f5a5 7264 sub.w r2, r5, #912 @ 0x390 70002e98: 4b1b ldr r3, [pc, #108] @ (70002f08 ) 70002e9a: 4638 mov r0, r7 70002e9c: 3f2c subs r7, #44 @ 0x2c 70002e9e: 6153 str r3, [r2, #20] 70002ea0: f00a fda8 bl 7000d9f4 <_ZN8touchgfx17AbstractPartitionC1Ev> 70002ea4: 4b19 ldr r3, [pc, #100] @ (70002f0c ) 70002ea6: 4630 mov r0, r6 70002ea8: 62fb str r3, [r7, #44] @ 0x2c 70002eaa: f00a fda3 bl 7000d9f4 <_ZN8touchgfx17AbstractPartitionC1Ev> 70002eae: 4b18 ldr r3, [pc, #96] @ (70002f10 ) 70002eb0: f507 7063 add.w r0, r7, #908 @ 0x38c 70002eb4: f8c7 3370 str.w r3, [r7, #880] @ 0x370 70002eb8: f001 fbe8 bl 7000468c <_ZN5ModelC1Ev> 70002ebc: 463a mov r2, r7 70002ebe: f507 7163 add.w r1, r7, #908 @ 0x38c 70002ec2: 4628 mov r0, r5 70002ec4: f001 fb9e bl 70004604 <_ZN19FrontendApplicationC1ER5ModelR12FrontendHeap> 70002ec8: 4628 mov r0, r5 70002eca: f000 ff3d bl 70003d48 <_ZN23FrontendApplicationBase32gotoInitScreenScreenNoTransitionEv> static FrontendHeap instance; 70002ece: 4811 ldr r0, [pc, #68] @ (70002f14 ) 70002ed0: f038 f88e bl 7003aff0 70002ed4: 4620 mov r0, r4 70002ed6: f036 fc7c bl 700397d2 <__cxa_guard_release> (void)heap; /* * Initialize TouchGFX */ hal.initialize(); 70002eda: 480f ldr r0, [pc, #60] @ (70002f18 ) } 70002edc: b003 add sp, #12 70002ede: e8bd 40f0 ldmia.w sp!, {r4, r5, r6, r7, lr} hal.initialize(); 70002ee2: f7fe bd11 b.w 70001908 <_ZN11TouchGFXHAL10initializeEv> 70002ee6: bf00 nop 70002ee8: 2400dad4 .word 0x2400dad4 70002eec: 2400a204 .word 0x2400a204 70002ef0: 2400a224 .word 0x2400a224 70002ef4: 2400b91c .word 0x2400b91c 70002ef8: 2400a208 .word 0x2400a208 70002efc: 24000048 .word 0x24000048 70002f00: 2400b920 .word 0x2400b920 70002f04: 7003edcc .word 0x7003edcc 70002f08: 7003ed30 .word 0x7003ed30 70002f0c: 7003ed64 .word 0x7003ed64 70002f10: 7003ed98 .word 0x7003ed98 70002f14: 70002df9 .word 0x70002df9 70002f18: 2400a130 .word 0x2400a130 70002f1c : void touchgfx_components_init() { 70002f1c: b508 push {r3, lr} nema_init(); 70002f1e: f014 fecd bl 70017cbc nema_reg_write(0xFFC, 0x7E); /* Enable bus error interrupts */ 70002f22: 217e movs r1, #126 @ 0x7e 70002f24: f640 70fc movw r0, #4092 @ 0xffc 70002f28: f000 fb88 bl 7000363c nema_vg_init_stencil_pool(800, 480, 1); 70002f2c: 2201 movs r2, #1 70002f2e: f44f 71f0 mov.w r1, #480 @ 0x1e0 70002f32: f44f 7048 mov.w r0, #800 @ 0x320 70002f36: f021 fb71 bl 7002461c nema_vg_handle_large_coords(1, 1); 70002f3a: 2101 movs r1, #1 70002f3c: 4608 mov r0, r1 70002f3e: f024 fd79 bl 70027a34 nema_ext_hold_enable(2); 70002f42: 2002 movs r0, #2 70002f44: f016 feca bl 70019cdc nema_ext_hold_irq_enable(2); 70002f48: 2002 movs r0, #2 70002f4a: f016 feb3 bl 70019cb4 nema_ext_hold_enable(3); 70002f4e: 2003 movs r0, #3 70002f50: f016 fec4 bl 70019cdc nema_ext_hold_irq_enable(3); 70002f54: 2003 movs r0, #3 } 70002f56: e8bd 4008 ldmia.w sp!, {r3, lr} nema_ext_hold_irq_enable(3); 70002f5a: f016 beab b.w 70019cb4 ... 70002f60 : * Main event loop. Will wait for VSYNC signal, and then process next frame. Call * this function from your GUI task. * * Note This function never returns */ hal.taskEntry(); 70002f60: 4801 ldr r0, [pc, #4] @ (70002f68 ) 70002f62: f00b bce0 b.w 7000e926 <_ZN8touchgfx3HAL9taskEntryEv> 70002f66: bf00 nop 70002f68: 2400a130 .word 0x2400a130 70002f6c <_GLOBAL__sub_I_touchgfx_init>: } 70002f6c: b507 push {r0, r1, r2, lr} { public: STM32TouchController() {} 70002f6e: 4b12 ldr r3, [pc, #72] @ (70002fb8 <_GLOBAL__sub_I_touchgfx_init+0x4c>) 70002f70: 4a12 ldr r2, [pc, #72] @ (70002fbc <_GLOBAL__sub_I_touchgfx_init+0x50>) static STM32DMA dma; 70002f72: 4813 ldr r0, [pc, #76] @ (70002fc0 <_GLOBAL__sub_I_touchgfx_init+0x54>) 70002f74: 6013 str r3, [r2, #0] 70002f76: f7ff fdcf bl 70002b18 <_ZN8STM32DMAC1Ev> static LCDGPU2D_AXI display; 70002f7a: 4812 ldr r0, [pc, #72] @ (70002fc4 <_GLOBAL__sub_I_touchgfx_init+0x58>) 70002f7c: f02f f86a bl 70032054 <_ZN8touchgfx12LCDGPU2D_AXIC1Ev> static VectorFontRendererImpl vectorFontRenderer; 70002f80: 4811 ldr r0, [pc, #68] @ (70002fc8 <_GLOBAL__sub_I_touchgfx_init+0x5c>) 70002f82: f00f fb75 bl 70012670 <_ZN8touchgfx22VectorFontRendererImplC1Ev> touchgfx::HALGPU2D(dma, display, tc, width, height) 70002f86: f44f 7348 mov.w r3, #800 @ 0x320 70002f8a: f44f 72f0 mov.w r2, #480 @ 0x1e0 70002f8e: 490c ldr r1, [pc, #48] @ (70002fc0 <_GLOBAL__sub_I_touchgfx_init+0x54>) 70002f90: 480e ldr r0, [pc, #56] @ (70002fcc <_GLOBAL__sub_I_touchgfx_init+0x60>) 70002f92: e9cd 3200 strd r3, r2, [sp] 70002f96: 4b09 ldr r3, [pc, #36] @ (70002fbc <_GLOBAL__sub_I_touchgfx_init+0x50>) 70002f98: 4a0a ldr r2, [pc, #40] @ (70002fc4 <_GLOBAL__sub_I_touchgfx_init+0x58>) 70002f9a: f029 f881 bl 7002c0a0 <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt> * @param [in,out] display Reference to LCD interface. * @param [in,out] tc Reference to Touch Controller driver. * @param width Width of the display. * @param height Height of the display. */ TouchGFXHAL(touchgfx::DMA_Interface& dma, touchgfx::LCD& display, touchgfx::TouchController& tc, uint16_t width, uint16_t height) : TouchGFXGeneratedHAL(dma, display, tc, width, height) 70002f9e: 4a0b ldr r2, [pc, #44] @ (70002fcc <_GLOBAL__sub_I_touchgfx_init+0x60>) 70002fa0: 4b0b ldr r3, [pc, #44] @ (70002fd0 <_GLOBAL__sub_I_touchgfx_init+0x64>) 70002fa2: 6013 str r3, [r2, #0] : cc_consumed(0), 70002fa4: 2300 movs r3, #0 70002fa6: f8c2 30cc str.w r3, [r2, #204] @ 0xcc cc_in(0) 70002faa: f8c2 30d0 str.w r3, [r2, #208] @ 0xd0 70002fae: 4b09 ldr r3, [pc, #36] @ (70002fd4 <_GLOBAL__sub_I_touchgfx_init+0x68>) 70002fb0: f8c2 30c8 str.w r3, [r2, #200] @ 0xc8 } 70002fb4: b003 add sp, #12 70002fb6: bd00 pop {pc} 70002fb8: 7003eb98 .word 0x7003eb98 70002fbc: 2400b918 .word 0x2400b918 70002fc0: 2400ab74 .word 0x2400ab74 70002fc4: 2400a224 .word 0x2400a224 70002fc8: 2400a208 .word 0x2400a208 70002fcc: 2400a130 .word 0x2400a130 70002fd0: 7003ebb0 .word 0x7003ebb0 70002fd4: 7003eb70 .word 0x7003eb70 70002fd8 <_GLOBAL__sub_D_touchgfx_init>: static STM32DMA dma; 70002fd8: 4801 ldr r0, [pc, #4] @ (70002fe0 <_GLOBAL__sub_D_touchgfx_init+0x8>) 70002fda: f7ff bbc3 b.w 70002764 <_ZN8STM32DMAD1Ev> 70002fde: bf00 nop 70002fe0: 2400ab74 .word 0x2400ab74 70002fe4 <__tcf_1>: namespace touchgfx { VectorRenderer* VectorRenderer::getInstance() { static GPU2DVectorRenderer renderer; 70002fe4: 4770 bx lr ... 70002fe8 <_ZN20TouchGFXGeneratedHAL19configureInterruptsEv>: */ __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) { if ((int32_t)(IRQn) >= 0) { NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 70002fe8: 4b04 ldr r3, [pc, #16] @ (70002ffc <_ZN20TouchGFXGeneratedHAL19configureInterruptsEv+0x14>) 70002fea: 2290 movs r2, #144 @ 0x90 70002fec: f883 2362 strb.w r2, [r3, #866] @ 0x362 70002ff0: f883 2360 strb.w r2, [r3, #864] @ 0x360 70002ff4: f883 2395 strb.w r2, [r3, #917] @ 0x395 void TouchGFXGeneratedHAL::configureInterrupts() { NVIC_SetPriority(DMA2D_IRQn, 9); NVIC_SetPriority(LTDC_IRQn, 9); NVIC_SetPriority(GPU2D_IRQn, 9); } 70002ff8: 4770 bx lr 70002ffa: bf00 nop 70002ffc: e000e100 .word 0xe000e100 70003000 <_ZN20TouchGFXGeneratedHAL28enableLCDControllerInterruptEv>: NVIC_DisableIRQ(GPU2D_IRQn); } void TouchGFXGeneratedHAL::enableLCDControllerInterrupt() { lcd_int_active_line = (LTDC->BPCR & LTDC_BPCR_AVBP_Msk) - 1; 70003000: 4a09 ldr r2, [pc, #36] @ (70003028 <_ZN20TouchGFXGeneratedHAL28enableLCDControllerInterruptEv+0x28>) 70003002: 490a ldr r1, [pc, #40] @ (7000302c <_ZN20TouchGFXGeneratedHAL28enableLCDControllerInterruptEv+0x2c>) 70003004: 68d3 ldr r3, [r2, #12] lcd_int_porch_line = (LTDC->AWCR & LTDC_AWCR_AAH_Msk) - 1; 70003006: 480a ldr r0, [pc, #40] @ (70003030 <_ZN20TouchGFXGeneratedHAL28enableLCDControllerInterruptEv+0x30>) lcd_int_active_line = (LTDC->BPCR & LTDC_BPCR_AVBP_Msk) - 1; 70003008: f3c3 030a ubfx r3, r3, #0, #11 7000300c: 3b01 subs r3, #1 7000300e: b29b uxth r3, r3 70003010: 800b strh r3, [r1, #0] lcd_int_porch_line = (LTDC->AWCR & LTDC_AWCR_AAH_Msk) - 1; 70003012: 6911 ldr r1, [r2, #16] 70003014: f3c1 010a ubfx r1, r1, #0, #11 70003018: 3901 subs r1, #1 7000301a: 8001 strh r1, [r0, #0] /* Sets the Line Interrupt position */ LTDC->LIPCR = lcd_int_active_line; 7000301c: 6413 str r3, [r2, #64] @ 0x40 /* Line Interrupt Enable */ LTDC->IER |= LTDC_IER_LIE; 7000301e: 6b53 ldr r3, [r2, #52] @ 0x34 70003020: f043 0301 orr.w r3, r3, #1 70003024: 6353 str r3, [r2, #52] @ 0x34 } 70003026: 4770 bx lr 70003028: 50001000 .word 0x50001000 7000302c: 2400be0e .word 0x2400be0e 70003030: 2400be0c .word 0x2400be0c 70003034 <_ZNK20TouchGFXGeneratedHAL17getTFTFrameBufferEv>: HALGPU2D::submitExecBuffer(); } uint16_t* TouchGFXGeneratedHAL::getTFTFrameBuffer() const { return (uint16_t*)LTDC_Layer1->CFBAR; 70003034: 4b01 ldr r3, [pc, #4] @ (7000303c <_ZNK20TouchGFXGeneratedHAL17getTFTFrameBufferEv+0x8>) 70003036: f8d3 00ac ldr.w r0, [r3, #172] @ 0xac } 7000303a: 4770 bx lr 7000303c: 50001000 .word 0x50001000 70003040 <_ZN20TouchGFXGeneratedHAL17setTFTFrameBufferEPt>: void TouchGFXGeneratedHAL::setTFTFrameBuffer(uint16_t* adr) { LTDC_Layer1->CFBAR = (uint32_t)adr; 70003040: 4b02 ldr r3, [pc, #8] @ (7000304c <_ZN20TouchGFXGeneratedHAL17setTFTFrameBufferEPt+0xc>) /* Reload immediate */ LTDC->SRCR = (uint32_t)LTDC_SRCR_IMR; 70003042: 2201 movs r2, #1 LTDC_Layer1->CFBAR = (uint32_t)adr; 70003044: f8c3 10ac str.w r1, [r3, #172] @ 0xac LTDC->SRCR = (uint32_t)LTDC_SRCR_IMR; 70003048: 625a str r2, [r3, #36] @ 0x24 } 7000304a: 4770 bx lr 7000304c: 50001000 .word 0x50001000 70003050 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EED1Ev>: * Strategy: * Decode directly into the framebuffer in draw. * Tick will decide if we are going to a new frame. */ template class DirectFrameBufferVideoController : public touchgfx::VideoController 70003050: 4770 bx lr 70003052 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE21unregisterVideoWidgetEm>: return handle; } virtual void unregisterVideoWidget(const Handle handle) { streams[handle].isActive = false; 70003052: 2324 movs r3, #36 @ 0x24 70003054: fb03 0001 mla r0, r3, r1, r0 70003058: 2300 movs r3, #0 7000305a: f880 3024 strb.w r3, [r0, #36] @ 0x24 } 7000305e: 4770 bx lr 70003060 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE29setVideoFrameRateCompensationEb>: return stream.isPlaying; } virtual void setVideoFrameRateCompensation(const bool allow) { allowSkipFrames = allow; 70003060: f880 102c strb.w r1, [r0, #44] @ 0x2c } 70003064: 4770 bx lr 70003066 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EED0Ev>: class DirectFrameBufferVideoController : public touchgfx::VideoController 70003066: b510 push {r4, lr} 70003068: 4604 mov r4, r0 7000306a: 2130 movs r1, #48 @ 0x30 7000306c: f036 fba3 bl 700397b6 <_ZdlPvj> 70003070: 4620 mov r0, r4 70003072: bd10 pop {r4, pc} 70003074 <_ZN20TouchGFXGeneratedHAL10initializeEv>: { 70003074: b538 push {r3, r4, r5, lr} 70003076: 4604 mov r4, r0 HALGPU2D::initialize(16384); 70003078: f44f 4180 mov.w r1, #16384 @ 0x4000 7000307c: f029 f880 bl 7002c180 <_ZN8touchgfx8HALGPU2D10initializeEi> registerEventListener(*(Application::getInstance())); 70003080: 6823 ldr r3, [r4, #0] 70003082: 6e9d ldr r5, [r3, #104] @ 0x68 70003084: f00e f864 bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> 70003088: 4601 mov r1, r0 7000308a: 4620 mov r0, r4 7000308c: 47a8 blx r5 setFrameBufferStartAddresses((void*)frameBuf, (void*)(frameBuf + sizeof(frameBuf) / (sizeof(uint32_t) * 2)), (void*)0); 7000308e: 6823 ldr r3, [r4, #0] 70003090: 4a06 ldr r2, [pc, #24] @ (700030ac <_ZN20TouchGFXGeneratedHAL10initializeEv+0x38>) 70003092: 4620 mov r0, r4 70003094: f8d3 508c ldr.w r5, [r3, #140] @ 0x8c 70003098: 2300 movs r3, #0 7000309a: 4905 ldr r1, [pc, #20] @ (700030b0 <_ZN20TouchGFXGeneratedHAL10initializeEv+0x3c>) 7000309c: 47a8 blx r5 void addDMA(touchgfx::DMA_Interface& dma) { this->dma = &dma; 7000309e: 6862 ldr r2, [r4, #4] 700030a0: 4b04 ldr r3, [pc, #16] @ (700030b4 <_ZN20TouchGFXGeneratedHAL10initializeEv+0x40>) 700030a2: 645a str r2, [r3, #68] @ 0x44 mjpegDecoders[index] = &decoder; 700030a4: 4a04 ldr r2, [pc, #16] @ (700030b8 <_ZN20TouchGFXGeneratedHAL10initializeEv+0x44>) 700030a6: 6053 str r3, [r2, #4] } 700030a8: bd38 pop {r3, r4, r5, pc} 700030aa: bf00 nop 700030ac: 90177000 .word 0x90177000 700030b0: 900bb800 .word 0x900bb800 700030b4: 2400be44 .word 0x2400be44 700030b8: 2400be14 .word 0x2400be14 700030bc <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE>: virtual bool updateFrame(const Handle handle, touchgfx::VideoWidget& widget) 700030bc: b5f8 push {r3, r4, r5, r6, r7, lr} 700030be: 4604 mov r4, r0 700030c0: 4610 mov r0, r2 assert(handle < no_streams); 700030c2: b129 cbz r1, 700030d0 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0x14> 700030c4: 4b3e ldr r3, [pc, #248] @ (700031c0 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0x104>) 700030c6: 21aa movs r1, #170 @ 0xaa 700030c8: 4a3e ldr r2, [pc, #248] @ (700031c4 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0x108>) 700030ca: 483f ldr r0, [pc, #252] @ (700031c8 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0x10c>) 700030cc: f037 ff72 bl 7003afb4 <__assert_func> if (stream.isPlaying || stream.isShowingOneFrame) 700030d0: f894 3025 ldrb.w r3, [r4, #37] @ 0x25 700030d4: b91b cbnz r3, 700030de <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0x22> 700030d6: f894 3026 ldrb.w r3, [r4, #38] @ 0x26 700030da: 2b00 cmp r3, #0 700030dc: d06e beq.n 700031bc <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0x100> return vSyncForFrame; 700030de: 4b3b ldr r3, [pc, #236] @ (700031cc <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0x110>) stream.isShowingOneFrame = false; 700030e0: 2700 movs r7, #0 700030e2: 681b ldr r3, [r3, #0] 700030e4: f893 206f ldrb.w r2, [r3, #111] @ 0x6f stream.tickCount += HAL::getInstance()->getLCDRefreshCount(); 700030e8: 6923 ldr r3, [r4, #16] stream.isShowingOneFrame = false; 700030ea: f884 7026 strb.w r7, [r4, #38] @ 0x26 stream.tickCount += HAL::getInstance()->getLCDRefreshCount(); 700030ee: 4413 add r3, r2 700030f0: 6123 str r3, [r4, #16] if (stream.doDecodeNextFrame) 700030f2: f894 3028 ldrb.w r3, [r4, #40] @ 0x28 700030f6: 2b00 cmp r3, #0 700030f8: d05c beq.n 700031b4 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0xf8> widget.invalidate(); 700030fa: 6803 ldr r3, [r0, #0] MJPEGDecoder* const decoder = mjpegDecoders[handle]; 700030fc: 6865 ldr r5, [r4, #4] widget.invalidate(); 700030fe: 695b ldr r3, [r3, #20] 70003100: 4798 blx r3 if (stream.seek_to_frame > 0) 70003102: 69e6 ldr r6, [r4, #28] decoder->gotoFrame(stream.seek_to_frame); 70003104: 682b ldr r3, [r5, #0] if (stream.seek_to_frame > 0) 70003106: 2e00 cmp r6, #0 70003108: d02d beq.n 70003166 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0xaa> decoder->gotoFrame(stream.seek_to_frame); 7000310a: 4631 mov r1, r6 7000310c: 6a5b ldr r3, [r3, #36] @ 0x24 7000310e: 4628 mov r0, r5 70003110: 4798 blx r3 hasMoreFrames = (stream.seek_to_frame < decoder->getNumberOfFrames()); 70003112: 682b ldr r3, [r5, #0] 70003114: 69e6 ldr r6, [r4, #28] 70003116: 4628 mov r0, r5 70003118: 6adb ldr r3, [r3, #44] @ 0x2c 7000311a: 4798 blx r3 7000311c: 4286 cmp r6, r0 stream.seek_to_frame = 0; 7000311e: 61e7 str r7, [r4, #28] hasMoreFrames = (stream.seek_to_frame < decoder->getNumberOfFrames()); 70003120: bf2c ite cs 70003122: 2600 movcs r6, #0 70003124: 2601 movcc r6, #1 stream.frameNumber = decoder->getCurrentFrameNumber(); 70003126: 682b ldr r3, [r5, #0] 70003128: 4628 mov r0, r5 7000312a: 6a9b ldr r3, [r3, #40] @ 0x28 7000312c: 4798 blx r3 stream.frameCount++; 7000312e: 68a3 ldr r3, [r4, #8] stream.frameNumber = decoder->getCurrentFrameNumber(); 70003130: 60e0 str r0, [r4, #12] stream.frameCount++; 70003132: 3301 adds r3, #1 70003134: 60a3 str r3, [r4, #8] bool decodeForNextTick(Stream& stream) { // Running in UI thread // Compare tickCount/frameNumber to frame_rate_ticks/frame_rate_video if ((stream.tickCount * stream.frame_rate_video) > (stream.frame_rate_ticks * stream.frameCount)) 70003136: 69a1 ldr r1, [r4, #24] 70003138: e9d4 3204 ldrd r3, r2, [r4, #16] 7000313c: 4353 muls r3, r2 7000313e: 68a2 ldr r2, [r4, #8] 70003140: 434a muls r2, r1 70003142: 4293 cmp r3, r2 70003144: d938 bls.n 700031b8 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0xfc> { if (allowSkipFrames) 70003146: f894 002c ldrb.w r0, [r4, #44] @ 0x2c 7000314a: b138 cbz r0, 7000315c <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0xa0> { stream.skip_frames = (stream.tickCount * stream.frame_rate_video - stream.frame_rate_ticks * stream.frameCount) / stream.frame_rate_ticks; 7000314c: 1a9b subs r3, r3, r2 7000314e: fbb3 f2f1 udiv r2, r3, r1 if (stream.skip_frames > 0) 70003152: 4299 cmp r1, r3 { stream.skip_frames--; 70003154: bf98 it ls 70003156: f102 32ff addls.w r2, r2, #4294967295 @ 0xffffffff 7000315a: 6222 str r2, [r4, #32] } } return true; 7000315c: 2301 movs r3, #1 stream.doDecodeNextFrame = decodeForNextTick(stream); 7000315e: f884 3028 strb.w r3, [r4, #40] @ 0x28 } 70003162: 4630 mov r0, r6 70003164: bdf8 pop {r3, r4, r5, r6, r7, pc} if (stream.skip_frames > 0) 70003166: 6a22 ldr r2, [r4, #32] 70003168: b162 cbz r2, 70003184 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0xc8> decoder->gotoFrame(decoder->getCurrentFrameNumber() + stream.skip_frames); 7000316a: 4628 mov r0, r5 7000316c: e9d3 7309 ldrd r7, r3, [r3, #36] @ 0x24 70003170: 4798 blx r3 70003172: 6a21 ldr r1, [r4, #32] 70003174: 4401 add r1, r0 70003176: 4628 mov r0, r5 70003178: 47b8 blx r7 stream.frameCount += stream.skip_frames; 7000317a: 68a3 ldr r3, [r4, #8] 7000317c: 6a22 ldr r2, [r4, #32] stream.skip_frames = 0; 7000317e: 6226 str r6, [r4, #32] stream.frameCount += stream.skip_frames; 70003180: 4413 add r3, r2 70003182: 60a3 str r3, [r4, #8] if (stream.repeat) 70003184: f894 6027 ldrb.w r6, [r4, #39] @ 0x27 hasMoreFrames = decoder->gotoNextFrame(); 70003188: 682b ldr r3, [r5, #0] if (stream.repeat) 7000318a: b126 cbz r6, 70003196 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0xda> hasMoreFrames = decoder->gotoNextFrame(); 7000318c: 699b ldr r3, [r3, #24] 7000318e: 4628 mov r0, r5 70003190: 4798 blx r3 70003192: 4606 mov r6, r0 70003194: e7c7 b.n 70003126 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0x6a> if (decoder->getCurrentFrameNumber() < decoder->getNumberOfFrames()) 70003196: 6a9b ldr r3, [r3, #40] @ 0x28 70003198: 4628 mov r0, r5 7000319a: 4798 blx r3 7000319c: 682b ldr r3, [r5, #0] 7000319e: 4607 mov r7, r0 700031a0: 4628 mov r0, r5 700031a2: 6adb ldr r3, [r3, #44] @ 0x2c 700031a4: 4798 blx r3 700031a6: 4287 cmp r7, r0 700031a8: d201 bcs.n 700031ae <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0xf2> hasMoreFrames = decoder->gotoNextFrame(); 700031aa: 682b ldr r3, [r5, #0] 700031ac: e7ee b.n 7000318c <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0xd0> stream.isPlaying = false; 700031ae: f884 6025 strb.w r6, [r4, #37] @ 0x25 700031b2: e7b8 b.n 70003126 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0x6a> bool hasMoreFrames = true; 700031b4: 2601 movs r6, #1 700031b6: e7be b.n 70003136 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0x7a> } return false; 700031b8: 2300 movs r3, #0 700031ba: e7d0 b.n 7000315e <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0xa2> bool hasMoreFrames = true; 700031bc: 2601 movs r6, #1 700031be: e7d0 b.n 70003162 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE11updateFrameEmRNS0_11VideoWidgetE+0xa6> 700031c0: 7003d68c .word 0x7003d68c 700031c4: 7003d6a0 .word 0x7003d6a0 700031c8: 7003d7d1 .word 0x7003d7d1 700031cc: 2400da80 .word 0x2400da80 700031d0 <_ZN20TouchGFXGeneratedHAL10beginFrameEv>: return HALGPU2D::beginFrame(); 700031d0: f028 befa b.w 7002bfc8 <_ZN8touchgfx8HALGPU2D10beginFrameEv> 700031d4 <_ZN20TouchGFXGeneratedHAL8endFrameEv>: HALGPU2D::endFrame(); 700031d4: f028 bf38 b.w 7002c048 <_ZN8touchgfx8HALGPU2D8endFrameEv> 700031d8 <_ZN20TouchGFXGeneratedHAL11submitGPU2DEv>: HALGPU2D::submitExecBuffer(); 700031d8: f029 b816 b.w 7002c208 <_ZN8touchgfx8HALGPU2D16submitExecBufferEv> 700031dc <_ZN20TouchGFXGeneratedHAL16flushFrameBufferERKN8touchgfx4RectE>: void TouchGFXGeneratedHAL::flushFrameBuffer(const touchgfx::Rect& rect) { HALGPU2D::flushFrameBuffer(rect); 700031dc: f00b bb3f b.w 7000e85e <_ZN8touchgfx3HAL16flushFrameBufferERKNS_4RectE> 700031e0 <_ZN20TouchGFXGeneratedHAL9blockCopyEPvPKvm>: } bool TouchGFXGeneratedHAL::blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes) { return HALGPU2D::blockCopy(dest, src, numBytes); 700031e0: f00b bcbd b.w 7000eb5e <_ZN8touchgfx3HAL9blockCopyEPvPKvm> 700031e4 <_ZN20TouchGFXGeneratedHAL22InvalidateTextureCacheEv>: { // Hook to invalidate texture cache(s) prior to drawing to a framebuffer. // // When drawing into other buffers in RAM (e.g., dynamic bitmaps), the GPU2D // texture cache may be incoherent with the main memory. HAL_ICACHE_Invalidate(); 700031e4: f003 bdd4 b.w 70006d90 700031e8 <_ZN20TouchGFXGeneratedHAL10FlushCacheEv>: if (SCB->CCR & SCB_CCR_DC_Msk) 700031e8: 4a12 ldr r2, [pc, #72] @ (70003234 <_ZN20TouchGFXGeneratedHAL10FlushCacheEv+0x4c>) 700031ea: 6953 ldr r3, [r2, #20] 700031ec: 03db lsls r3, r3, #15 { 700031ee: b570 push {r4, r5, r6, lr} if (SCB->CCR & SCB_CCR_DC_Msk) 700031f0: d51e bpl.n 70003230 <_ZN20TouchGFXGeneratedHAL10FlushCacheEv+0x48> SCB->CSSELR = 0U; /* select Level 1 data cache */ 700031f2: 2300 movs r3, #0 700031f4: f8c2 3084 str.w r3, [r2, #132] @ 0x84 __ASM volatile ("dsb 0xF":::"memory"); 700031f8: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 700031fc: f8d2 3080 ldr.w r3, [r2, #128] @ 0x80 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 70003200: f643 74e0 movw r4, #16352 @ 0x3fe0 ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 70003204: f3c3 00c9 ubfx r0, r3, #3, #10 sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 70003208: f3c3 334e ubfx r3, r3, #13, #15 7000320c: 015b lsls r3, r3, #5 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 7000320e: ea03 0604 and.w r6, r3, r4 ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 70003212: 4601 mov r1, r0 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 70003214: ea46 7581 orr.w r5, r6, r1, lsl #30 } while (ways-- != 0U); 70003218: 3901 subs r1, #1 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 7000321a: f8c2 5274 str.w r5, [r2, #628] @ 0x274 } while (ways-- != 0U); 7000321e: d2f9 bcs.n 70003214 <_ZN20TouchGFXGeneratedHAL10FlushCacheEv+0x2c> } while(sets-- != 0U); 70003220: 3b20 subs r3, #32 70003222: f113 0f20 cmn.w r3, #32 70003226: d1f2 bne.n 7000320e <_ZN20TouchGFXGeneratedHAL10FlushCacheEv+0x26> 70003228: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 7000322c: f3bf 8f6f isb sy } 70003230: bd70 pop {r4, r5, r6, pc} 70003232: bf00 nop 70003234: e000ed00 .word 0xe000ed00 70003238 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12getIsPlayingEm>: virtual bool getIsPlaying(const Handle handle) 70003238: b508 push {r3, lr} assert(handle < no_streams); 7000323a: b131 cbz r1, 7000324a <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12getIsPlayingEm+0x12> 7000323c: 4b04 ldr r3, [pc, #16] @ (70003250 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12getIsPlayingEm+0x18>) 7000323e: f44f 7192 mov.w r1, #292 @ 0x124 70003242: 4a04 ldr r2, [pc, #16] @ (70003254 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12getIsPlayingEm+0x1c>) 70003244: 4804 ldr r0, [pc, #16] @ (70003258 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12getIsPlayingEm+0x20>) 70003246: f037 feb5 bl 7003afb4 <__assert_func> } 7000324a: f890 0025 ldrb.w r0, [r0, #37] @ 0x25 7000324e: bd08 pop {r3, pc} 70003250: 7003d68c .word 0x7003d68c 70003254: 7003d81f .word 0x7003d81f 70003258: 7003d7d1 .word 0x7003d7d1 7000325c <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE19getVideoInformationEmPNS0_16VideoInformationE>: virtual void getVideoInformation(const Handle handle, touchgfx::VideoInformation* data) 7000325c: b510 push {r4, lr} assert(handle < no_streams); 7000325e: b131 cbz r1, 7000326e <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE19getVideoInformationEmPNS0_16VideoInformationE+0x12> 70003260: 4b06 ldr r3, [pc, #24] @ (7000327c <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE19getVideoInformationEmPNS0_16VideoInformationE+0x20>) 70003262: f44f 718f mov.w r1, #286 @ 0x11e 70003266: 4a06 ldr r2, [pc, #24] @ (70003280 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE19getVideoInformationEmPNS0_16VideoInformationE+0x24>) 70003268: 4806 ldr r0, [pc, #24] @ (70003284 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE19getVideoInformationEmPNS0_16VideoInformationE+0x28>) 7000326a: f037 fea3 bl 7003afb4 <__assert_func> mjpegDecoders[handle]->getVideoInfo(data); 7000326e: 6840 ldr r0, [r0, #4] 70003270: 4611 mov r1, r2 70003272: 6803 ldr r3, [r0, #0] } 70003274: e8bd 4010 ldmia.w sp!, {r4, lr} mjpegDecoders[handle]->getVideoInfo(data); 70003278: 6b1b ldr r3, [r3, #48] @ 0x30 7000327a: 4718 bx r3 7000327c: 7003d68c .word 0x7003d68c 70003280: 7003d939 .word 0x7003d939 70003284: 7003d7d1 .word 0x7003d7d1 70003288 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE21getCurrentFrameNumberEm>: virtual uint32_t getCurrentFrameNumber(const Handle handle) 70003288: b508 push {r3, lr} assert(handle < no_streams); 7000328a: b131 cbz r1, 7000329a <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE21getCurrentFrameNumberEm+0x12> 7000328c: 4b04 ldr r3, [pc, #16] @ (700032a0 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE21getCurrentFrameNumberEm+0x18>) 7000328e: f44f 718b mov.w r1, #278 @ 0x116 70003292: 4a04 ldr r2, [pc, #16] @ (700032a4 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE21getCurrentFrameNumberEm+0x1c>) 70003294: 4804 ldr r0, [pc, #16] @ (700032a8 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE21getCurrentFrameNumberEm+0x20>) 70003296: f037 fe8d bl 7003afb4 <__assert_func> } 7000329a: 68c0 ldr r0, [r0, #12] 7000329c: bd08 pop {r3, pc} 7000329e: bf00 nop 700032a0: 7003d68c .word 0x7003d68c 700032a4: 7003da77 .word 0x7003da77 700032a8: 7003d7d1 .word 0x7003d7d1 700032ac <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm>: virtual void setCommand(const Handle handle, Command cmd, uint32_t param) 700032ac: b570 push {r4, r5, r6, lr} 700032ae: 4604 mov r4, r0 assert(handle < no_streams); 700032b0: b129 cbz r1, 700032be <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm+0x12> 700032b2: 4b27 ldr r3, [pc, #156] @ (70003350 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm+0xa4>) 700032b4: 216f movs r1, #111 @ 0x6f 700032b6: 4a27 ldr r2, [pc, #156] @ (70003354 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm+0xa8>) 700032b8: 4827 ldr r0, [pc, #156] @ (70003358 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm+0xac>) 700032ba: f037 fe7b bl 7003afb4 <__assert_func> switch (cmd) 700032be: 2a05 cmp r2, #5 700032c0: d82b bhi.n 7000331a <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm+0x6e> 700032c2: e8df f002 tbb [pc, r2] 700032c6: 2503 .short 0x2503 700032c8: 3f37302b .word 0x3f37302b if (mjpegDecoders[handle]->hasVideo()) 700032cc: 6840 ldr r0, [r0, #4] 700032ce: 6803 ldr r3, [r0, #0] 700032d0: 691b ldr r3, [r3, #16] 700032d2: 4798 blx r3 700032d4: b308 cbz r0, 7000331a <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm+0x6e> stream.isPlaying = true; 700032d6: 2301 movs r3, #1 700032d8: f884 3025 strb.w r3, [r4, #37] @ 0x25 stream.isShowingOneFrame = false; 700032dc: 2300 movs r3, #0 700032de: f884 3026 strb.w r3, [r4, #38] @ 0x26 stream.frameCount = 0; 700032e2: 60a3 str r3, [r4, #8] stream.tickCount = 0; 700032e4: 6123 str r3, [r4, #16] if (!stream.repeat) 700032e6: f894 3027 ldrb.w r3, [r4, #39] @ 0x27 700032ea: b9b3 cbnz r3, 7000331a <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm+0x6e> MJPEGDecoder* const decoder = mjpegDecoders[handle]; 700032ec: 6864 ldr r4, [r4, #4] if (decoder->getCurrentFrameNumber() == decoder->getNumberOfFrames()) 700032ee: 6823 ldr r3, [r4, #0] 700032f0: 4620 mov r0, r4 700032f2: 6a9b ldr r3, [r3, #40] @ 0x28 700032f4: 4798 blx r3 700032f6: 6823 ldr r3, [r4, #0] 700032f8: 4605 mov r5, r0 700032fa: 4620 mov r0, r4 700032fc: 6adb ldr r3, [r3, #44] @ 0x2c 700032fe: 4798 blx r3 70003300: 4285 cmp r5, r0 70003302: d10a bne.n 7000331a <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm+0x6e> decoder->gotoNextFrame(); 70003304: 6823 ldr r3, [r4, #0] 70003306: 4620 mov r0, r4 70003308: 699b ldr r3, [r3, #24] } 7000330a: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} decoder->gotoNextFrame(); 7000330e: 4718 bx r3 stream.isPlaying = false; 70003310: 2300 movs r3, #0 70003312: f880 3025 strb.w r3, [r0, #37] @ 0x25 stream.isShowingOneFrame = false; 70003316: f880 3026 strb.w r3, [r0, #38] @ 0x26 } 7000331a: bd70 pop {r4, r5, r6, pc} stream.seek_to_frame = param; 7000331c: 61c3 str r3, [r0, #28] stream.frameCount = 0; 7000331e: 2300 movs r3, #0 stream.frameCount = 0; 70003320: 60a3 str r3, [r4, #8] stream.tickCount = 0; 70003322: 6123 str r3, [r4, #16] break; 70003324: e7f9 b.n 7000331a <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm+0x6e> stream.seek_to_frame = param; 70003326: 61c3 str r3, [r0, #28] stream.isShowingOneFrame = true; 70003328: 2301 movs r3, #1 7000332a: f880 3026 strb.w r3, [r0, #38] @ 0x26 stream.doDecodeNextFrame = true; 7000332e: f880 3028 strb.w r3, [r0, #40] @ 0x28 70003332: e7f4 b.n 7000331e <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm+0x72> stream.isPlaying = false; 70003334: 2300 movs r3, #0 stream.seek_to_frame = 1; 70003336: 2201 movs r2, #1 stream.isPlaying = false; 70003338: f880 3025 strb.w r3, [r0, #37] @ 0x25 stream.isShowingOneFrame = false; 7000333c: f880 3026 strb.w r3, [r0, #38] @ 0x26 stream.seek_to_frame = 1; 70003340: 61c2 str r2, [r0, #28] 70003342: e7ed b.n 70003320 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm+0x74> stream.repeat = (param > 0); 70003344: 3b00 subs r3, #0 70003346: bf18 it ne 70003348: 2301 movne r3, #1 7000334a: f880 3027 strb.w r3, [r0, #39] @ 0x27 } 7000334e: e7e4 b.n 7000331a <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE10setCommandEmNS0_15VideoController7CommandEm+0x6e> 70003350: 7003d68c .word 0x7003d68c 70003354: 7003dbbc .word 0x7003dbbc 70003358: 7003d7d1 .word 0x7003d7d1 7000335c <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setVideoDataEmRNS0_15VideoDataReaderE>: virtual void setVideoData(const Handle handle, touchgfx::VideoDataReader& reader) 7000335c: b570 push {r4, r5, r6, lr} 7000335e: 4604 mov r4, r0 assert(handle < no_streams); 70003360: 460d mov r5, r1 70003362: b129 cbz r1, 70003370 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setVideoDataEmRNS0_15VideoDataReaderE+0x14> 70003364: 4b0d ldr r3, [pc, #52] @ (7000339c <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setVideoDataEmRNS0_15VideoDataReaderE+0x40>) 70003366: 215f movs r1, #95 @ 0x5f 70003368: 4a0d ldr r2, [pc, #52] @ (700033a0 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setVideoDataEmRNS0_15VideoDataReaderE+0x44>) 7000336a: 480e ldr r0, [pc, #56] @ (700033a4 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setVideoDataEmRNS0_15VideoDataReaderE+0x48>) 7000336c: f037 fe22 bl 7003afb4 <__assert_func> mjpegDecoders[handle]->setVideoData(reader); 70003370: 6840 ldr r0, [r0, #4] 70003372: 4611 mov r1, r2 70003374: 6803 ldr r3, [r0, #0] 70003376: 68db ldr r3, [r3, #12] 70003378: 4798 blx r3 stream.frameNumber = mjpegDecoders[handle]->getCurrentFrameNumber(); 7000337a: 6860 ldr r0, [r4, #4] 7000337c: 6803 ldr r3, [r0, #0] 7000337e: 6a9b ldr r3, [r3, #40] @ 0x28 70003380: 4798 blx r3 setCommand(handle, PAUSE, 0); 70003382: 6823 ldr r3, [r4, #0] stream.frameNumber = mjpegDecoders[handle]->getCurrentFrameNumber(); 70003384: 60e0 str r0, [r4, #12] setCommand(handle, PAUSE, 0); 70003386: 4629 mov r1, r5 70003388: 6a5e ldr r6, [r3, #36] @ 0x24 7000338a: 4620 mov r0, r4 7000338c: 462b mov r3, r5 stream.doDecodeNextFrame = false; 7000338e: f884 5028 strb.w r5, [r4, #40] @ 0x28 setCommand(handle, PAUSE, 0); 70003392: 46b4 mov ip, r6 70003394: 2201 movs r2, #1 } 70003396: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} setCommand(handle, PAUSE, 0); 7000339a: 4760 bx ip 7000339c: 7003d68c .word 0x7003d68c 700033a0: 7003dd20 .word 0x7003dd20 700033a4: 7003d7d1 .word 0x7003d7d1 700033a8 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setVideoDataEmPKhm>: virtual void setVideoData(const Handle handle, const uint8_t* movie, const uint32_t length) 700033a8: b570 push {r4, r5, r6, lr} 700033aa: 460d mov r5, r1 700033ac: 4604 mov r4, r0 700033ae: 4611 mov r1, r2 700033b0: 461a mov r2, r3 assert(handle < no_streams); 700033b2: b12d cbz r5, 700033c0 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setVideoDataEmPKhm+0x18> 700033b4: 4b0d ldr r3, [pc, #52] @ (700033ec <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setVideoDataEmPKhm+0x44>) 700033b6: 214f movs r1, #79 @ 0x4f 700033b8: 4a0d ldr r2, [pc, #52] @ (700033f0 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setVideoDataEmPKhm+0x48>) 700033ba: 480e ldr r0, [pc, #56] @ (700033f4 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setVideoDataEmPKhm+0x4c>) 700033bc: f037 fdfa bl 7003afb4 <__assert_func> mjpegDecoders[handle]->setVideoData(movie, length); 700033c0: 6840 ldr r0, [r0, #4] 700033c2: 6803 ldr r3, [r0, #0] 700033c4: 689b ldr r3, [r3, #8] 700033c6: 4798 blx r3 stream.frameNumber = mjpegDecoders[handle]->getCurrentFrameNumber(); 700033c8: 6860 ldr r0, [r4, #4] 700033ca: 6803 ldr r3, [r0, #0] 700033cc: 6a9b ldr r3, [r3, #40] @ 0x28 700033ce: 4798 blx r3 setCommand(handle, PAUSE, 0); 700033d0: 6823 ldr r3, [r4, #0] stream.frameNumber = mjpegDecoders[handle]->getCurrentFrameNumber(); 700033d2: 60e0 str r0, [r4, #12] setCommand(handle, PAUSE, 0); 700033d4: 4629 mov r1, r5 700033d6: 6a5e ldr r6, [r3, #36] @ 0x24 700033d8: 4620 mov r0, r4 700033da: 462b mov r3, r5 stream.doDecodeNextFrame = false; 700033dc: f884 5028 strb.w r5, [r4, #40] @ 0x28 setCommand(handle, PAUSE, 0); 700033e0: 46b4 mov ip, r6 700033e2: 2201 movs r2, #1 } 700033e4: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} setCommand(handle, PAUSE, 0); 700033e8: 4760 bx ip 700033ea: bf00 nop 700033ec: 7003d68c .word 0x7003d68c 700033f0: 7003de56 .word 0x7003de56 700033f4: 7003d7d1 .word 0x7003d7d1 700033f8 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setFrameRateEmmm>: virtual void setFrameRate(const Handle handle, uint32_t ui_frames, uint32_t video_frames) 700033f8: b508 push {r3, lr} assert(handle < no_streams); 700033fa: b129 cbz r1, 70003408 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setFrameRateEmmm+0x10> 700033fc: 4b05 ldr r3, [pc, #20] @ (70003414 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setFrameRateEmmm+0x1c>) 700033fe: 2141 movs r1, #65 @ 0x41 70003400: 4a05 ldr r2, [pc, #20] @ (70003418 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setFrameRateEmmm+0x20>) 70003402: 4806 ldr r0, [pc, #24] @ (7000341c <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE12setFrameRateEmmm+0x24>) 70003404: f037 fdd6 bl 7003afb4 <__assert_func> stream.frameCount = 0; 70003408: 6081 str r1, [r0, #8] stream.tickCount = 0; 7000340a: 6101 str r1, [r0, #16] stream.frame_rate_video = video_frames; 7000340c: e9c0 3205 strd r3, r2, [r0, #20] } 70003410: bd08 pop {r3, pc} 70003412: bf00 nop 70003414: 7003d68c .word 0x7003d68c 70003418: 7003dfc1 .word 0x7003dfc1 7000341c: 7003d7d1 .word 0x7003d7d1 70003420 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE4drawEmRKNS0_4RectERKNS0_11VideoWidgetE>: virtual void draw(const Handle handle, const touchgfx::Rect& invalidatedArea, const touchgfx::VideoWidget& widget) 70003420: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr} 70003424: 4604 mov r4, r0 70003426: 4615 mov r5, r2 70003428: 461f mov r7, r3 assert(handle < no_streams); 7000342a: b129 cbz r1, 70003438 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE4drawEmRKNS0_4RectERKNS0_11VideoWidgetE+0x18> 7000342c: 4b18 ldr r3, [pc, #96] @ (70003490 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE4drawEmRKNS0_4RectERKNS0_11VideoWidgetE+0x70>) 7000342e: 21ea movs r1, #234 @ 0xea 70003430: 4a18 ldr r2, [pc, #96] @ (70003494 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE4drawEmRKNS0_4RectERKNS0_11VideoWidgetE+0x74>) 70003432: 4819 ldr r0, [pc, #100] @ (70003498 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE4drawEmRKNS0_4RectERKNS0_11VideoWidgetE+0x78>) 70003434: f037 fdbe bl 7003afb4 <__assert_func> if (mjpegDecoders[handle]->hasVideo()) 70003438: 6840 ldr r0, [r0, #4] 7000343a: 6803 ldr r3, [r0, #0] 7000343c: 691b ldr r3, [r3, #16] 7000343e: 4798 blx r3 70003440: b310 cbz r0, 70003488 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE4drawEmRKNS0_4RectERKNS0_11VideoWidgetE+0x68> return instance; 70003442: f8df 805c ldr.w r8, [pc, #92] @ 700034a0 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE4drawEmRKNS0_4RectERKNS0_11VideoWidgetE+0x80> uint8_t* wbuf = (uint8_t*)touchgfx::HAL::getInstance()->lockFrameBufferForRenderingMethod(touchgfx::HAL::HARDWARE); 70003446: 2101 movs r1, #1 70003448: f8d8 0000 ldr.w r0, [r8] 7000344c: f00c f898 bl 7000f580 <_ZN8touchgfx3HAL33lockFrameBufferForRenderingMethodENS0_15RenderingMethodE> touchgfx::Rect absolute = widget.getAbsoluteRect(); 70003450: 4639 mov r1, r7 uint8_t* wbuf = (uint8_t*)touchgfx::HAL::getInstance()->lockFrameBufferForRenderingMethod(touchgfx::HAL::HARDWARE); 70003452: 4606 mov r6, r0 touchgfx::Rect absolute = widget.getAbsoluteRect(); 70003454: 4668 mov r0, sp 70003456: f00f f8f1 bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> DisplayTransformation::transformDisplayToFrameBuffer(absolute); 7000345a: 4668 mov r0, sp 7000345c: f00d fcb4 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> wbuf += (absolute.x + absolute.y * touchgfx::HAL::FRAME_BUFFER_WIDTH) * 2; 70003460: 4b0e ldr r3, [pc, #56] @ (7000349c <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE4drawEmRKNS0_4RectERKNS0_11VideoWidgetE+0x7c>) mjpegDecoders[handle]->decodeFrame(invalidatedArea, wbuf, touchgfx::HAL::FRAME_BUFFER_WIDTH); 70003462: 6860 ldr r0, [r4, #4] wbuf += (absolute.x + absolute.y * touchgfx::HAL::FRAME_BUFFER_WIDTH) * 2; 70003464: 881b ldrh r3, [r3, #0] 70003466: f9bd 1002 ldrsh.w r1, [sp, #2] 7000346a: f9bd 2000 ldrsh.w r2, [sp] 7000346e: fb03 2201 mla r2, r3, r1, r2 mjpegDecoders[handle]->decodeFrame(invalidatedArea, wbuf, touchgfx::HAL::FRAME_BUFFER_WIDTH); 70003472: 6801 ldr r1, [r0, #0] 70003474: eb06 0242 add.w r2, r6, r2, lsl #1 70003478: 69cc ldr r4, [r1, #28] 7000347a: 4629 mov r1, r5 7000347c: 47a0 blx r4 7000347e: f8d8 0000 ldr.w r0, [r8] touchgfx::HAL::getInstance()->unlockFrameBuffer(); 70003482: 6803 ldr r3, [r0, #0] 70003484: 6b1b ldr r3, [r3, #48] @ 0x30 70003486: 4798 blx r3 } 70003488: b002 add sp, #8 7000348a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 7000348e: bf00 nop 70003490: 7003d68c .word 0x7003d68c 70003494: 7003e10d .word 0x7003e10d 70003498: 7003d7d1 .word 0x7003d7d1 7000349c: 2400da78 .word 0x2400da78 700034a0: 2400da80 .word 0x2400da80 700034a4 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE19registerVideoWidgetERNS0_11VideoWidgetE>: virtual Handle registerVideoWidget(touchgfx::VideoWidget& widget) 700034a4: b508 push {r3, lr} 700034a6: 4603 mov r3, r0 Handle getFreeHandle() { for (uint32_t i = 0; i < no_streams; i++) { if (streams[i].isActive == false) 700034a8: f890 0024 ldrb.w r0, [r0, #36] @ 0x24 700034ac: b130 cbz r0, 700034bc <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE19registerVideoWidgetERNS0_11VideoWidgetE+0x18> { return static_cast(i); } } assert(0 && "Unable to find free video stream handle!"); 700034ae: 4b08 ldr r3, [pc, #32] @ (700034d0 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE19registerVideoWidgetERNS0_11VideoWidgetE+0x2c>) 700034b0: f240 116d movw r1, #365 @ 0x16d 700034b4: 4a07 ldr r2, [pc, #28] @ (700034d4 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE19registerVideoWidgetERNS0_11VideoWidgetE+0x30>) 700034b6: 4808 ldr r0, [pc, #32] @ (700034d8 <_ZN32DirectFrameBufferVideoControllerILm1ELN8touchgfx6Bitmap12BitmapFormatE0EE19registerVideoWidgetERNS0_11VideoWidgetE+0x34>) 700034b8: f037 fd7c bl 7003afb4 <__assert_func> streams[handle].isActive = true; 700034bc: 2201 movs r2, #1 700034be: f883 2024 strb.w r2, [r3, #36] @ 0x24 * @param width Width of the videoBuffer in pixels * @param height Height of the videoBuffer in pixels */ void setVideoBufferFormat(Bitmap::BitmapFormat bufferFormat, int16_t width, int16_t height) { format = bufferFormat; 700034c2: f881 0034 strb.w r0, [r1, #52] @ 0x34 bufferWidth = width; 700034c6: 86c8 strh r0, [r1, #54] @ 0x36 bufferHeight = height; 700034c8: 8708 strh r0, [r1, #56] @ 0x38 buffer = videoBuffer; 700034ca: 6308 str r0, [r1, #48] @ 0x30 } 700034cc: bd08 pop {r3, pc} 700034ce: bf00 nop 700034d0: 7003e254 .word 0x7003e254 700034d4: 7003e284 .word 0x7003e284 700034d8: 7003d7d1 .word 0x7003d7d1 700034dc <_ZN20TouchGFXGeneratedHAL17disableInterruptsEv>: NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 700034dc: 4b0b ldr r3, [pc, #44] @ (7000350c <_ZN20TouchGFXGeneratedHAL17disableInterruptsEv+0x30>) 700034de: 2204 movs r2, #4 700034e0: f8c3 208c str.w r2, [r3, #140] @ 0x8c __ASM volatile ("dsb 0xF":::"memory"); 700034e4: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 700034e8: f3bf 8f6f isb sy 700034ec: 2201 movs r2, #1 700034ee: f8c3 208c str.w r2, [r3, #140] @ 0x8c __ASM volatile ("dsb 0xF":::"memory"); 700034f2: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 700034f6: f3bf 8f6f isb sy 700034fa: f44f 1200 mov.w r2, #2097152 @ 0x200000 700034fe: f8c3 2090 str.w r2, [r3, #144] @ 0x90 __ASM volatile ("dsb 0xF":::"memory"); 70003502: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 70003506: f3bf 8f6f isb sy } 7000350a: 4770 bx lr 7000350c: e000e100 .word 0xe000e100 70003510 <_ZN20TouchGFXGeneratedHAL16enableInterruptsEv>: NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 70003510: 4b04 ldr r3, [pc, #16] @ (70003524 <_ZN20TouchGFXGeneratedHAL16enableInterruptsEv+0x14>) 70003512: 2204 movs r2, #4 70003514: 60da str r2, [r3, #12] 70003516: 2201 movs r2, #1 70003518: 60da str r2, [r3, #12] 7000351a: f44f 1200 mov.w r2, #2097152 @ 0x200000 7000351e: 611a str r2, [r3, #16] } 70003520: 4770 bx lr 70003522: bf00 nop 70003524: e000e100 .word 0xe000e100 70003528 <_ZN8touchgfx14VectorRenderer11getInstanceEv>: { 70003528: b510 push {r4, lr} static GPU2DVectorRenderer renderer; 7000352a: 4c09 ldr r4, [pc, #36] @ (70003550 <_ZN8touchgfx14VectorRenderer11getInstanceEv+0x28>) 7000352c: 6823 ldr r3, [r4, #0] 7000352e: f3bf 8f5b dmb ish 70003532: 07db lsls r3, r3, #31 70003534: d409 bmi.n 7000354a <_ZN8touchgfx14VectorRenderer11getInstanceEv+0x22> 70003536: 4620 mov r0, r4 70003538: f036 f93f bl 700397ba <__cxa_guard_acquire> 7000353c: b128 cbz r0, 7000354a <_ZN8touchgfx14VectorRenderer11getInstanceEv+0x22> 7000353e: 4805 ldr r0, [pc, #20] @ (70003554 <_ZN8touchgfx14VectorRenderer11getInstanceEv+0x2c>) 70003540: f037 fd56 bl 7003aff0 70003544: 4620 mov r0, r4 70003546: f036 f944 bl 700397d2 <__cxa_guard_release> } 7000354a: 4803 ldr r0, [pc, #12] @ (70003558 <_ZN8touchgfx14VectorRenderer11getInstanceEv+0x30>) 7000354c: bd10 pop {r4, pc} 7000354e: bf00 nop 70003550: 2400be10 .word 0x2400be10 70003554: 70002fe5 .word 0x70002fe5 70003558: 2400004c .word 0x2400004c 7000355c : } extern "C" { void HAL_LTDC_LineEventCallback(LTDC_HandleTypeDef* hltdc) { 7000355c: b538 push {r3, r4, r5, lr} 7000355e: 4c18 ldr r4, [pc, #96] @ (700035c0 ) if (!HAL::getInstance()) 70003560: 6823 ldr r3, [r4, #0] 70003562: b35b cbz r3, 700035bc { return; } if (LTDC->LIPCR == lcd_int_active_line) 70003564: 4b17 ldr r3, [pc, #92] @ (700035c4 ) 70003566: 4a18 ldr r2, [pc, #96] @ (700035c8 ) 70003568: 6c1b ldr r3, [r3, #64] @ 0x40 7000356a: 8811 ldrh r1, [r2, #0] 7000356c: 428b cmp r3, r1 7000356e: d116 bne.n 7000359e { //entering active area HAL_LTDC_ProgramLineEvent(hltdc, lcd_int_porch_line); 70003570: 4b16 ldr r3, [pc, #88] @ (700035cc ) isFrontPorchEntered = false; 70003572: 2500 movs r5, #0 70003574: 8819 ldrh r1, [r3, #0] 70003576: f004 fd2d bl 70007fd4 return instance; 7000357a: 6823 ldr r3, [r4, #0] vSyncCnt++; 7000357c: f893 206e ldrb.w r2, [r3, #110] @ 0x6e isFrontPorchEntered = false; 70003580: f883 5080 strb.w r5, [r3, #128] @ 0x80 vSyncCnt++; 70003584: 3201 adds r2, #1 70003586: f883 206e strb.w r2, [r3, #110] @ 0x6e HAL::getInstance()->vSync(); OSWrappers::signalVSync(); 7000358a: f7ff f8c1 bl 70002710 <_ZN8touchgfx10OSWrappers11signalVSyncEv> // Swap frame buffers immediately instead of waiting for the task to be scheduled in. // Note: task will also swap when it wakes up, but that operation is guarded and will not have // any effect if already swapped. HAL::getInstance()->swapFrameBuffers(); 7000358e: 6820 ldr r0, [r4, #0] 70003590: f00b ff88 bl 7000f4a4 <_ZN8touchgfx3HAL16swapFrameBuffersEv> GPIO::set(GPIO::VSYNC_FREQ); 70003594: 4628 mov r0, r5 // Signal to the framework that display update has finished. HAL::getInstance()->frontPorchEntered(); GPIO::clear(GPIO::VSYNC_FREQ); } } 70003596: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} GPIO::set(GPIO::VSYNC_FREQ); 7000359a: f7fe b94d b.w 70001838 <_ZN8touchgfx4GPIO3setENS0_7GPIO_IDE> HAL_LTDC_ProgramLineEvent(hltdc, lcd_int_active_line); 7000359e: f004 fd19 bl 70007fd4 return instance; 700035a2: 6824 ldr r4, [r4, #0] allowDMATransfers(); 700035a4: 6823 ldr r3, [r4, #0] 700035a6: 4620 mov r0, r4 700035a8: 6a1b ldr r3, [r3, #32] 700035aa: 4798 blx r3 isFrontPorchEntered = true; 700035ac: 2301 movs r3, #1 GPIO::clear(GPIO::VSYNC_FREQ); 700035ae: 2000 movs r0, #0 700035b0: f884 3080 strb.w r3, [r4, #128] @ 0x80 } 700035b4: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} GPIO::clear(GPIO::VSYNC_FREQ); 700035b8: f7fe b956 b.w 70001868 <_ZN8touchgfx4GPIO5clearENS0_7GPIO_IDE> } 700035bc: bd38 pop {r3, r4, r5, pc} 700035be: bf00 nop 700035c0: 2400da80 .word 0x2400da80 700035c4: 50001000 .word 0x50001000 700035c8: 2400be0e .word 0x2400be0e 700035cc: 2400be0c .word 0x2400be0c 700035d0 <_GLOBAL__sub_I_mjpegdecoder1>: } 700035d0: b508 push {r3, lr} HardwareMJPEGDecoder mjpegdecoder1; 700035d2: 480b ldr r0, [pc, #44] @ (70003600 <_GLOBAL__sub_I_mjpegdecoder1+0x30>) 700035d4: f7fe faa0 bl 70001b18 <_ZN20HardwareMJPEGDecoderC1Ev> : VideoController(), allowSkipFrames(true) 700035d8: 4b0a ldr r3, [pc, #40] @ (70003604 <_GLOBAL__sub_I_mjpegdecoder1+0x34>) 700035da: 4a0b ldr r2, [pc, #44] @ (70003608 <_GLOBAL__sub_I_mjpegdecoder1+0x38>) Stream() 700035dc: f04f 7180 mov.w r1, #16777216 @ 0x1000000 : VideoController(), allowSkipFrames(true) 700035e0: 601a str r2, [r3, #0] 700035e2: 2201 movs r2, #1 Stream() 700035e4: 6259 str r1, [r3, #36] @ 0x24 : VideoController(), allowSkipFrames(true) 700035e6: f883 202c strb.w r2, [r3, #44] @ 0x2c memset(mjpegDecoders, 0, sizeof(mjpegDecoders)); 700035ea: 2200 movs r2, #0 : frameCount(0), frameNumber(0), tickCount(0), 700035ec: e9c3 2201 strd r2, r2, [r3, #4] 700035f0: e9c3 2203 strd r2, r2, [r3, #12] frame_rate_video(0), frame_rate_ticks(0), 700035f4: e9c3 2205 strd r2, r2, [r3, #20] seek_to_frame(0), 700035f8: 61da str r2, [r3, #28] doDecodeNextFrame(false) 700035fa: f883 2028 strb.w r2, [r3, #40] @ 0x28 } 700035fe: bd08 pop {r3, pc} 70003600: 2400be44 .word 0x2400be44 70003604: 2400be14 .word 0x2400be14 70003608: 7003ede0 .word 0x7003ede0 7000360c : #endif /* USE_HAL_GPU2D_REGISTER_CALLBACKS = 1 */ { /* Prevent unused argument(s) compilation warning */ UNUSED(hgpu2d); last_cl_id = CmdListID; 7000360c: 4b02 ldr r3, [pc, #8] @ (70003618 ) 7000360e: 6019 str r1, [r3, #0] /* Return a token back to a semaphore */ osSemaphoreRelease(nema_irq_sem); 70003610: 4b02 ldr r3, [pc, #8] @ (7000361c ) 70003612: 6818 ldr r0, [r3, #0] 70003614: f008 b8d9 b.w 7000b7ca 70003618: 24000050 .word 0x24000050 7000361c: 2400be8c .word 0x2400be8c 70003620 : return; } void platform_disable_cache(void) { nema_ext_hold_assert(2, 1); 70003620: 2101 movs r1, #1 70003622: 2002 movs r0, #2 70003624: f016 bb80 b.w 70019d28 70003628 : } void platform_invalidate_cache(void) { nema_ext_hold_assert(3, 1); 70003628: 2101 movs r1, #1 7000362a: 2003 movs r0, #3 7000362c: f016 bb7c b.w 70019d28 70003630 : return error_code; } uint32_t nema_reg_read(uint32_t reg) { 70003630: 4601 mov r1, r0 return HAL_GPU2D_ReadRegister(&hgpu2d, reg); 70003632: 4801 ldr r0, [pc, #4] @ (70003638 ) 70003634: f002 bd7c b.w 70006130 70003638: 24009c58 .word 0x24009c58 7000363c : } void nema_reg_write(uint32_t reg, uint32_t value) { 7000363c: 460a mov r2, r1 HAL_GPU2D_WriteRegister(&hgpu2d, reg, value); 7000363e: 4601 mov r1, r0 70003640: 4801 ldr r0, [pc, #4] @ (70003648 ) 70003642: f002 bd78 b.w 70006136 70003646: bf00 nop 70003648: 24009c58 .word 0x24009c58 7000364c : { 7000364c: b510 push {r4, lr} uint32_t val = nema_reg_read(GPU2D_SYS_INTERRUPT); /* clear the ER interrupt */ 7000364e: f640 70f8 movw r0, #4088 @ 0xff8 70003652: f7ff ffed bl 70003630 70003656: 4604 mov r4, r0 nema_reg_write(GPU2D_SYS_INTERRUPT, val); 70003658: 4601 mov r1, r0 7000365a: f640 70f8 movw r0, #4088 @ 0xff8 7000365e: f7ff ffed bl 7000363c if (val & (1UL << 2)) 70003662: 0762 lsls r2, r4, #29 70003664: d504 bpl.n 70003670 HAL_ICACHE_Disable(); 70003666: f003 fb5b bl 70006d20 nema_ext_hold_deassert_imm(2); 7000366a: 2002 movs r0, #2 7000366c: f016 fb48 bl 70019d00 if (val & (1UL << 3)) 70003670: 0723 lsls r3, r4, #28 70003672: d508 bpl.n 70003686 HAL_ICACHE_Enable(); 70003674: f003 fb4a bl 70006d0c HAL_ICACHE_Invalidate(); 70003678: f003 fb8a bl 70006d90 nema_ext_hold_deassert_imm(3); 7000367c: 2003 movs r0, #3 } 7000367e: e8bd 4010 ldmia.w sp!, {r4, lr} nema_ext_hold_deassert_imm(3); 70003682: f016 bb3d b.w 70019d00 } 70003686: bd10 pop {r4, pc} 70003688 : } int nema_wait_irq(void) { 70003688: b508 push {r3, lr} /* Wait indefinitely for a free semaphore */ osSemaphoreAcquire(nema_irq_sem, osWaitForever); 7000368a: 4b04 ldr r3, [pc, #16] @ (7000369c ) 7000368c: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 70003690: 6818 ldr r0, [r3, #0] 70003692: f008 f868 bl 7000b766 return 0; } 70003696: 2000 movs r0, #0 70003698: bd08 pop {r3, pc} 7000369a: bf00 nop 7000369c: 2400be8c .word 0x2400be8c 700036a0 : int nema_wait_irq_cl(int cl_id) { 700036a0: b538 push {r3, r4, r5, lr} 700036a2: 4604 mov r4, r0 while (last_cl_id < cl_id) 700036a4: 4d04 ldr r5, [pc, #16] @ (700036b8 ) 700036a6: 682b ldr r3, [r5, #0] 700036a8: 42a3 cmp r3, r4 700036aa: db01 blt.n 700036b0 { (void)nema_wait_irq(); } return 0; } 700036ac: 2000 movs r0, #0 700036ae: bd38 pop {r3, r4, r5, pc} (void)nema_wait_irq(); 700036b0: f7ff ffea bl 70003688 700036b4: e7f7 b.n 700036a6 700036b6: bf00 nop 700036b8: 24000050 .word 0x24000050 700036bc : return 0; } void nema_host_free(void* ptr) { tsi_free(ptr); 700036bc: f025 bd02 b.w 700290c4 700036c0 : } void* nema_host_malloc(unsigned size) { 700036c0: 4601 mov r1, r0 return tsi_malloc(size); 700036c2: 2000 movs r0, #0 700036c4: f025 bca4 b.w 70029010 700036c8 : } nema_buffer_t nema_buffer_create(int size) { 700036c8: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} 700036ca: 4604 mov r4, r0 nema_buffer_t bo; memset(&bo, 0, sizeof(bo)); 700036cc: 2000 movs r0, #0 { 700036ce: 460e mov r6, r1 memset(&bo, 0, sizeof(bo)); 700036d0: 9001 str r0, [sp, #4] bo.base_virt = tsi_malloc(size); 700036d2: f025 fc9d bl 70029010 bo.base_phys = (uint32_t)bo.base_virt; bo.size = size; assert(bo.base_virt != 0 && "Unable to allocate memory in nema_buffer_create"); 700036d6: b928 cbnz r0, 700036e4 700036d8: 4b07 ldr r3, [pc, #28] @ (700036f8 ) 700036da: 21c5 movs r1, #197 @ 0xc5 700036dc: 4a07 ldr r2, [pc, #28] @ (700036fc ) 700036de: 4808 ldr r0, [pc, #32] @ (70003700 ) 700036e0: f037 fc68 bl 7003afb4 <__assert_func> return bo; 700036e4: 9600 str r6, [sp, #0] 700036e6: e9cd 0002 strd r0, r0, [sp, #8] 700036ea: e89d 000f ldmia.w sp, {r0, r1, r2, r3} 700036ee: e884 000f stmia.w r4, {r0, r1, r2, r3} } 700036f2: 4620 mov r0, r4 700036f4: b004 add sp, #16 700036f6: bd70 pop {r4, r5, r6, pc} 700036f8: 7003e39b .word 0x7003e39b 700036fc: 7003ee30 .word 0x7003ee30 70003700: 7003e3e2 .word 0x7003e3e2 70003704 : nema_irq_sem = osSemaphoreNew(1, 1, NULL); 70003704: 2101 movs r1, #1 70003706: 2200 movs r2, #0 { 70003708: b5f0 push {r4, r5, r6, r7, lr} nema_irq_sem = osSemaphoreNew(1, 1, NULL); 7000370a: 4608 mov r0, r1 { 7000370c: b087 sub sp, #28 nema_irq_sem = osSemaphoreNew(1, 1, NULL); 7000370e: f007 ffdb bl 7000b6c8 70003712: 4b21 ldr r3, [pc, #132] @ (70003798 ) 70003714: 6018 str r0, [r3, #0] assert(nema_irq_sem != NULL); 70003716: b928 cbnz r0, 70003724 70003718: 4b20 ldr r3, [pc, #128] @ (7000379c ) 7000371a: 2175 movs r1, #117 @ 0x75 7000371c: 4a20 ldr r2, [pc, #128] @ (700037a0 ) assert(error_code == 0); 7000371e: 4821 ldr r0, [pc, #132] @ (700037a4 ) 70003720: f037 fc48 bl 7003afb4 <__assert_func> error_code = tsi_malloc_init_pool_aligned(0, (void*)nemagfx_pool_mem, (uintptr_t)nemagfx_pool_mem, NEMAGFX_MEM_POOL_SIZE, 1, 8); 70003724: 2701 movs r7, #1 70003726: 2408 movs r4, #8 70003728: 4a1f ldr r2, [pc, #124] @ (700037a8 ) 7000372a: f44f 43be mov.w r3, #24320 @ 0x5f00 7000372e: 2000 movs r0, #0 70003730: 4611 mov r1, r2 70003732: e9cd 7400 strd r7, r4, [sp] 70003736: f025 fc27 bl 70028f88 assert(error_code == 0); 7000373a: b118 cbz r0, 70003744 7000373c: 4b1b ldr r3, [pc, #108] @ (700037ac ) 7000373e: 2179 movs r1, #121 @ 0x79 70003740: 4a17 ldr r2, [pc, #92] @ (700037a0 ) 70003742: e7ec b.n 7000371e error_code = tsi_malloc_init_pool_aligned(1, (void*)nemagfx_stencil_buffer_mem, (uintptr_t)nemagfx_stencil_buffer_mem, NEMAGFX_STENCIL_POOL_SIZE, 1, 8); 70003744: 4a1a ldr r2, [pc, #104] @ (700037b0 ) 70003746: f44f 23be mov.w r3, #389120 @ 0x5f000 7000374a: 4638 mov r0, r7 7000374c: 4611 mov r1, r2 7000374e: e9cd 7400 strd r7, r4, [sp] 70003752: f025 fc19 bl 70028f88 assert(error_code == 0); 70003756: 4606 mov r6, r0 70003758: b118 cbz r0, 70003762 7000375a: 4b14 ldr r3, [pc, #80] @ (700037ac ) 7000375c: 217b movs r1, #123 @ 0x7b 7000375e: 4a10 ldr r2, [pc, #64] @ (700037a0 ) 70003760: e7dd b.n 7000371e ring_buffer_str.bo = nema_buffer_create(RING_SIZE); 70003762: ad02 add r5, sp, #8 70003764: f44f 6180 mov.w r1, #1024 @ 0x400 70003768: 4c12 ldr r4, [pc, #72] @ (700037b4 ) 7000376a: 4628 mov r0, r5 7000376c: f7ff ffac bl 700036c8 70003770: e895 000f ldmia.w r5, {r0, r1, r2, r3} 70003774: e884 000f stmia.w r4, {r0, r1, r2, r3} assert(ring_buffer_str.bo.base_virt); 70003778: b91a cbnz r2, 70003782 7000377a: 4b0f ldr r3, [pc, #60] @ (700037b8 ) 7000377c: 217f movs r1, #127 @ 0x7f 7000377e: 4a08 ldr r2, [pc, #32] @ (700037a0 ) 70003780: e7cd b.n 7000371e error_code = nema_rb_init(&ring_buffer_str, 1); 70003782: 4639 mov r1, r7 70003784: 4620 mov r0, r4 70003786: f014 f8c3 bl 70017910 if (error_code < 0) 7000378a: 2800 cmp r0, #0 7000378c: db01 blt.n 70003792 last_cl_id = 0; 7000378e: 4b0b ldr r3, [pc, #44] @ (700037bc ) 70003790: 601e str r6, [r3, #0] } 70003792: b007 add sp, #28 70003794: bdf0 pop {r4, r5, r6, r7, pc} 70003796: bf00 nop 70003798: 2400be8c .word 0x2400be8c 7000379c: 7003e43e .word 0x7003e43e 700037a0: 7003ee43 .word 0x7003ee43 700037a4: 7003e3e2 .word 0x7003e3e2 700037a8: 24063040 .word 0x24063040 700037ac: 7003e453 .word 0x7003e453 700037b0: 90232800 .word 0x90232800 700037b4: 2400be90 .word 0x2400be90 700037b8: 7003e463 .word 0x7003e463 700037bc: 24000050 .word 0x24000050 700037c0 : nema_buffer_t nema_buffer_create_pool(int pool, int size) { 700037c0: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} nema_buffer_t bo; memset(&bo, 0, sizeof(bo)); 700037c2: 2300 movs r3, #0 { 700037c4: 4604 mov r4, r0 700037c6: 4608 mov r0, r1 bo.base_virt = tsi_malloc_pool(pool, size); 700037c8: 4611 mov r1, r2 { 700037ca: 4616 mov r6, r2 memset(&bo, 0, sizeof(bo)); 700037cc: 9301 str r3, [sp, #4] bo.base_virt = tsi_malloc_pool(pool, size); 700037ce: f025 fc1f bl 70029010 bo.base_phys = (uint32_t)bo.base_virt; bo.size = size; bo.fd = 0; assert(bo.base_virt != 0 && "Unable to allocate memory in nema_buffer_create_pool"); 700037d2: b928 cbnz r0, 700037e0 700037d4: 4b07 ldr r3, [pc, #28] @ (700037f4 ) 700037d6: 21d2 movs r1, #210 @ 0xd2 700037d8: 4a07 ldr r2, [pc, #28] @ (700037f8 ) 700037da: 4808 ldr r0, [pc, #32] @ (700037fc ) 700037dc: f037 fbea bl 7003afb4 <__assert_func> return bo; 700037e0: 9600 str r6, [sp, #0] 700037e2: e9cd 0002 strd r0, r0, [sp, #8] 700037e6: e89d 000f ldmia.w sp, {r0, r1, r2, r3} 700037ea: e884 000f stmia.w r4, {r0, r1, r2, r3} } 700037ee: 4620 mov r0, r4 700037f0: b004 add sp, #16 700037f2: bd70 pop {r4, r5, r6, pc} 700037f4: 7003e480 .word 0x7003e480 700037f8: 7003ee18 .word 0x7003ee18 700037fc: 7003e3e2 .word 0x7003e3e2 70003800 : void* nema_buffer_map(nema_buffer_t* bo) { return bo->base_virt; } 70003800: 6880 ldr r0, [r0, #8] 70003802: 4770 bx lr 70003804 : UNUSED(bo); } void nema_buffer_destroy(nema_buffer_t* bo) { if (bo->fd == -1) 70003804: 6843 ldr r3, [r0, #4] 70003806: 3301 adds r3, #1 { 70003808: b510 push {r4, lr} 7000380a: 4604 mov r4, r0 if (bo->fd == -1) 7000380c: d009 beq.n 70003822 { return; /* Buffer weren't allocated! */ } tsi_free(bo->base_virt); 7000380e: 6880 ldr r0, [r0, #8] 70003810: f025 fc58 bl 700290c4 bo->base_virt = (void*)0; 70003814: 2300 movs r3, #0 bo->base_phys = 0; 70003816: e9c4 3302 strd r3, r3, [r4, #8] bo->size = 0; 7000381a: 6023 str r3, [r4, #0] bo->fd = -1; /* Buffer not allocated */ 7000381c: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70003820: 6063 str r3, [r4, #4] } 70003822: bd10 pop {r4, pc} 70003824 : uintptr_t nema_buffer_phys(nema_buffer_t* bo) { return bo->base_phys; } void nema_buffer_flush(nema_buffer_t* bo) 70003824: 4770 bx lr 70003826 : /* Prevent unused argument(s) compilation warning */ UNUSED(mutex_id); /* USER CODE END nema_mutex_lock */ return retval; } 70003826: 2000 movs r0, #0 70003828: 4770 bx lr 7000382a : int nema_mutex_unlock(int mutex_id) 7000382a: 2000 movs r0, #0 7000382c: 4770 bx lr 7000382e <_ZN23ApplicationFontProviderD1Ev>: static const touchgfx::FontId LARGE = 1; // arial_40_4bpp static const touchgfx::FontId SMALL = 2; // arial_10_4bpp static const uint16_t NUMBER_OF_FONTS = 3; }; class ApplicationFontProvider : public touchgfx::FontProvider 7000382e: 4770 bx lr 70003830 <_ZN23ApplicationFontProviderD0Ev>: 70003830: b510 push {r4, lr} 70003832: 4604 mov r4, r0 70003834: 2104 movs r1, #4 70003836: f035 ffbe bl 700397b6 <_ZdlPvj> 7000383a: 4620 mov r0, r4 7000383c: bd10 pop {r4, pc} 7000383e <_ZN23ApplicationFontProvider7getFontEt>: #include #include touchgfx::Font* ApplicationFontProvider::getFont(touchgfx::FontId typography) { switch (typography) 7000383e: 2901 cmp r1, #1 { 70003840: b508 push {r3, lr} switch (typography) 70003842: d006 beq.n 70003852 <_ZN23ApplicationFontProvider7getFontEt+0x14> 70003844: 2902 cmp r1, #2 70003846: d008 beq.n 7000385a <_ZN23ApplicationFontProvider7getFontEt+0x1c> 70003848: b959 cbnz r1, 70003862 <_ZN23ApplicationFontProvider7getFontEt+0x24> { case Typography::DEFAULT: // arial_20_4bpp return const_cast(TypedTextDatabase::getFonts()[0]); 7000384a: f000 fead bl 700045a8 <_ZN17TypedTextDatabase8getFontsEv> 7000384e: 6800 ldr r0, [r0, #0] // arial_10_4bpp return const_cast(TypedTextDatabase::getFonts()[2]); default: return 0; } } 70003850: bd08 pop {r3, pc} return const_cast(TypedTextDatabase::getFonts()[1]); 70003852: f000 fea9 bl 700045a8 <_ZN17TypedTextDatabase8getFontsEv> 70003856: 6840 ldr r0, [r0, #4] 70003858: e7fa b.n 70003850 <_ZN23ApplicationFontProvider7getFontEt+0x12> return const_cast(TypedTextDatabase::getFonts()[2]); 7000385a: f000 fea5 bl 700045a8 <_ZN17TypedTextDatabase8getFontsEv> 7000385e: 6880 ldr r0, [r0, #8] 70003860: e7f6 b.n 70003850 <_ZN23ApplicationFontProvider7getFontEt+0x12> switch (typography) 70003862: 2000 movs r0, #0 70003864: e7f4 b.n 70003850 <_ZN23ApplicationFontProvider7getFontEt+0x12> ... 70003868 <_ZN14BitmapDatabase11getInstanceEv>: namespace BitmapDatabase { const touchgfx::Bitmap::BitmapData* getInstance() { return bitmap_database; } 70003868: 4800 ldr r0, [pc, #0] @ (7000386c <_ZN14BitmapDatabase11getInstanceEv+0x4>) 7000386a: 4770 bx lr 7000386c: 7003ee68 .word 0x7003ee68 70003870 <_ZN14BitmapDatabase15getInstanceSizeEv>: uint16_t getInstanceSize() { return (uint16_t)(sizeof(bitmap_database) / sizeof(touchgfx::Bitmap::BitmapData)); } 70003870: 200b movs r0, #11 70003872: 4770 bx lr 70003874 <_ZNK8touchgfx4Font8getGlyphEt>: * * @return A pointer to the glyph node or null if the glyph was not found. * * @see TextProvider::getNextLigature */ virtual const GlyphNode* getGlyph(Unicode::UnicodeChar unicode) const 70003874: b513 push {r0, r1, r4, lr} 70003876: 2400 movs r4, #0 { if (unicode == 0) 70003878: b151 cbz r1, 70003890 <_ZNK8touchgfx4Font8getGlyphEt+0x1c> { return 0; } const uint8_t* dummyPixelDataPointer = 0; uint8_t bitsPerPixelDummy = 0; const GlyphNode* glyph = getGlyph(unicode, dummyPixelDataPointer, bitsPerPixelDummy); 7000387a: 6803 ldr r3, [r0, #0] 7000387c: aa01 add r2, sp, #4 const uint8_t* dummyPixelDataPointer = 0; 7000387e: 9401 str r4, [sp, #4] uint8_t bitsPerPixelDummy = 0; 70003880: f88d 4003 strb.w r4, [sp, #3] const GlyphNode* glyph = getGlyph(unicode, dummyPixelDataPointer, bitsPerPixelDummy); 70003884: 689c ldr r4, [r3, #8] 70003886: f10d 0303 add.w r3, sp, #3 7000388a: 47a0 blx r4 return glyph; } 7000388c: b002 add sp, #8 7000388e: bd10 pop {r4, pc} return 0; 70003890: 4608 mov r0, r1 70003892: e7fb b.n 7000388c <_ZNK8touchgfx4Font8getGlyphEt+0x18> 70003894 <_ZNK8touchgfx4Font15getFallbackCharEv>: * @return The default character for the typography in case no glyph is available. */ virtual Unicode::UnicodeChar getFallbackChar() const { return fallbackCharacter; } 70003894: 89c0 ldrh r0, [r0, #14] 70003896: 4770 bx lr 70003898 <_ZNK8touchgfx4Font15getEllipsisCharEv>: * @see TextArea::setWideTextAction */ virtual Unicode::UnicodeChar getEllipsisChar() const { return ellipsisCharacter; } 70003898: 8a00 ldrh r0, [r0, #16] 7000389a: 4770 bx lr 7000389c <_ZNK8touchgfx4Font11getBaselineEv>: * getHeight for this. */ FORCE_INLINE_FUNCTION virtual uint16_t getBaseline() const { return baselineHeight; } 7000389c: 88c0 ldrh r0, [r0, #6] 7000389e: 4770 bx lr 700038a0 <_ZNK8touchgfx4Font9getHeightEv>: * @return The font height. */ FORCE_INLINE_FUNCTION virtual uint16_t getHeight() const { return fontHeight; } 700038a0: 8880 ldrh r0, [r0, #4] 700038a2: 4770 bx lr 700038a4 <_ZNK8touchgfx4Font15getBitsPerPixelEv>: * * @return The number of bits used per pixel in this font. */ FORCE_INLINE_FUNCTION virtual uint8_t getBitsPerPixel() const { return bPerPixel; 700038a4: 7a80 ldrb r0, [r0, #10] } 700038a6: f000 007f and.w r0, r0, #127 @ 0x7f 700038aa: 4770 bx lr 700038ac <_ZNK8touchgfx4Font15getByteAlignRowEv>: * * @return True if each glyph row is stored byte aligned, false otherwise. */ FORCE_INLINE_FUNCTION virtual uint8_t getByteAlignRow() const { return bAlignRow; 700038ac: 7a80 ldrb r0, [r0, #10] } 700038ae: 09c0 lsrs r0, r0, #7 700038b0: 4770 bx lr 700038b2 <_ZNK8touchgfx4Font17isVectorBasedFontEv>: * @return True if this Font is vector based. */ virtual bool isVectorBasedFont() const { return false; } 700038b2: 2000 movs r0, #0 700038b4: 4770 bx lr ... 700038b8 <_ZNK8touchgfx4Font14getScaleFactorEv>: * @return The scale factor */ virtual float getScaleFactor() const { return 0; } 700038b8: ed9f 0a01 vldr s0, [pc, #4] @ 700038c0 <_ZNK8touchgfx4Font14getScaleFactorEv+0x8> 700038bc: 4770 bx lr 700038be: bf00 nop 700038c0: 00000000 .word 0x00000000 700038c4 <_ZN8touchgfx11Application19changeToStartScreenEv>: * this is explicitly done in your * FrontendApplication::changeToStartScreen(). */ virtual void changeToStartScreen() { } 700038c4: 4770 bx lr 700038c6 <_ZN8touchgfx11Application15appSwitchScreenEh>: * @param screenId An id that maps to the desired screen. */ virtual void appSwitchScreen(uint8_t screenId) { (void)screenId; // Unused variable } 700038c6: 4770 bx lr 700038c8 <_ZN8touchgfx11Application13requestRedrawERNS_4RectE>: * * @param [in,out] rect The Rect that must be redrawn. */ virtual void requestRedraw(Rect& rect) { redraw = rect; 700038c8: f500 7398 add.w r3, r0, #304 @ 0x130 700038cc: 6808 ldr r0, [r1, #0] 700038ce: 6849 ldr r1, [r1, #4] 700038d0: c303 stmia r3!, {r0, r1} } 700038d2: 4770 bx lr 700038d4 <_ZN8touchgfx10Transition8tearDownEv>: * Tears down the Animation. Called before the destructor is called, when the * application changes the transition. */ virtual void tearDown() { } 700038d4: 4770 bx lr 700038d6 <_ZN8touchgfx10Transition4initEv>: * Initializes the transition. Called after the constructor is called, when the * application changes the transition. */ virtual void init() { } 700038d6: 4770 bx lr 700038d8 <_ZN8touchgfx10Transition18setScreenContainerERNS_9ContainerE>: * * @param [in] cont The Container the transition should have access to. */ virtual void setScreenContainer(Container& cont) { screenContainer = &cont; 700038d8: 6041 str r1, [r0, #4] } 700038da: 4770 bx lr 700038dc <_ZN8touchgfx8CallbackI23FrontendApplicationBasevvvED1Ev>: * * @note The member function to call must return void. The function can have zero, one, two or * three arguments of any type. */ template struct Callback : public GenericCallback<> 700038dc: 4770 bx lr 700038de <_ZN23FrontendApplicationBaseD1Ev>: class FrontendApplicationBase : public touchgfx::MVPApplication { public: FrontendApplicationBase(Model& m, FrontendHeap& heap); virtual ~FrontendApplicationBase() { } 700038de: 4770 bx lr 700038e0 <_ZN23FrontendApplicationBase19changeToStartScreenEv>: 700038e0: 4b06 ldr r3, [pc, #24] @ (700038fc <_ZN23FrontendApplicationBase19changeToStartScreenEv+0x1c>) 700038e2: f8c0 0148 str.w r0, [r0, #328] @ 0x148 700038e6: f8c0 314c str.w r3, [r0, #332] @ 0x14c 700038ea: 2300 movs r3, #0 700038ec: f8c0 3150 str.w r3, [r0, #336] @ 0x150 // InitScreen void FrontendApplicationBase::gotoInitScreenScreenNoTransition() { transitionCallback = touchgfx::Callback(this, &FrontendApplicationBase::gotoInitScreenScreenNoTransitionImpl); pendingScreenTransitionCallback = &transitionCallback; 700038f0: f500 73a2 add.w r3, r0, #324 @ 0x144 700038f4: f8c0 3140 str.w r3, [r0, #320] @ 0x140 virtual void changeToStartScreen() { gotoInitScreenScreenNoTransition(); } 700038f8: 4770 bx lr 700038fa: bf00 nop 700038fc: 70003bb9 .word 0x70003bb9 70003900 <_ZN8touchgfx12NoTransition15handleTickEventEv>: { public: /** Indicates that the transition is done after the first tick. */ virtual void handleTickEvent() { done = true; 70003900: 2301 movs r3, #1 70003902: 7203 strb r3, [r0, #8] } 70003904: 4770 bx lr 70003906 <_ZN8touchgfx15BlockTransition8tearDownEv>: } } virtual void tearDown() { } 70003906: 4770 bx lr 70003908 <_ZN8touchgfx15BlockTransition4initEv>: virtual void init() { Transition::init(); } 70003908: 4770 bx lr 7000390a <_ZN8touchgfx15BlockTransition10invalidateEv>: * Block transition does not require an invalidation. Invalidation * is handled by the class. Do no invalidation initially. */ virtual void invalidate() { } 7000390a: 4770 bx lr 7000390c <_ZN8touchgfx15BlockTransitionD1Ev>: class BlockTransition : public Transition 7000390c: 4770 bx lr 7000390e <_ZN8touchgfx12NoTransitionD1Ev>: class NoTransition : public Transition 7000390e: 4770 bx lr 70003910 <_ZN8touchgfx8CallbackI23FrontendApplicationBasevvvE7executeEv>: * Calls the member function. Do not call execute unless isValid() returns true (ie. a * pointer to the object and the function has been set). */ virtual void execute() { (pobject->*pmemfun)(); 70003910: e9d0 3202 ldrd r3, r2, [r0, #8] 70003914: 6841 ldr r1, [r0, #4] virtual void execute() 70003916: b410 push {r4} (pobject->*pmemfun)(); 70003918: eb01 0062 add.w r0, r1, r2, asr #1 7000391c: 1054 asrs r4, r2, #1 7000391e: 07d2 lsls r2, r2, #31 70003920: bf48 it mi 70003922: 590a ldrmi r2, [r1, r4] } 70003924: f85d 4b04 ldr.w r4, [sp], #4 (pobject->*pmemfun)(); 70003928: bf48 it mi 7000392a: 58d3 ldrmi r3, [r2, r3] 7000392c: 4718 bx r3 7000392e <_ZNK8touchgfx8CallbackI23FrontendApplicationBasevvvE7isValidEv>: /** * Function to check whether the Callback has been initialized with values. * * @return true If the callback is valid (i.e. safe to call execute). */ virtual bool isValid() const 7000392e: 4603 mov r3, r0 { return (pobject != 0) && (pmemfun != 0); 70003930: 6840 ldr r0, [r0, #4] 70003932: b130 cbz r0, 70003942 <_ZNK8touchgfx8CallbackI23FrontendApplicationBasevvvE7isValidEv+0x14> 70003934: 689a ldr r2, [r3, #8] 70003936: b91a cbnz r2, 70003940 <_ZNK8touchgfx8CallbackI23FrontendApplicationBasevvvE7isValidEv+0x12> 70003938: 68d8 ldr r0, [r3, #12] 7000393a: f000 0001 and.w r0, r0, #1 7000393e: 4770 bx lr 70003940: 2001 movs r0, #1 } 70003942: 4770 bx lr 70003944 <_ZN8touchgfx15BlockTransitionD0Ev>: 70003944: b510 push {r4, lr} 70003946: 4604 mov r4, r0 70003948: 2114 movs r1, #20 7000394a: f035 ff34 bl 700397b6 <_ZdlPvj> 7000394e: 4620 mov r0, r4 70003950: bd10 pop {r4, pc} 70003952 <_ZN8touchgfx12NoTransitionD0Ev>: 70003952: b510 push {r4, lr} 70003954: 4604 mov r4, r0 70003956: 210c movs r1, #12 70003958: f035 ff2d bl 700397b6 <_ZdlPvj> 7000395c: 4620 mov r0, r4 7000395e: bd10 pop {r4, pc} 70003960 <_ZN8touchgfx8CallbackI23FrontendApplicationBasevvvED0Ev>: struct Callback : public GenericCallback<> 70003960: b510 push {r4, lr} 70003962: 4604 mov r4, r0 70003964: 2110 movs r1, #16 70003966: f035 ff26 bl 700397b6 <_ZdlPvj> 7000396a: 4620 mov r0, r4 7000396c: bd10 pop {r4, pc} 7000396e <_ZN23FrontendApplicationBaseD0Ev>: virtual ~FrontendApplicationBase() { } 7000396e: b510 push {r4, lr} 70003970: 4604 mov r4, r0 70003972: f44f 71ae mov.w r1, #348 @ 0x15c 70003976: f035 ff1e bl 700397b6 <_ZdlPvj> 7000397a: 4620 mov r0, r4 7000397c: bd10 pop {r4, pc} 7000397e <_ZN8touchgfx10Transition10invalidateEv>: virtual void invalidate() 7000397e: b510 push {r4, lr} Application::getInstance()->invalidate(); 70003980: f00d fbe6 bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> 70003984: 6803 ldr r3, [r0, #0] } 70003986: e8bd 4010 ldmia.w sp!, {r4, lr} Application::getInstance()->invalidate(); 7000398a: 6bdb ldr r3, [r3, #60] @ 0x3c 7000398c: 4718 bx r3 ... 70003990 <_ZN8touchgfx15BlockTransition15handleTickEventEv>: virtual void handleTickEvent() 70003990: b570 push {r4, r5, r6, lr} 70003992: b0b2 sub sp, #200 @ 0xc8 70003994: 4604 mov r4, r0 const int indeces[animationSteps] = { 20, 11, 47, 14, 10, 0, 18, 28, 13, 6, 2, 41, 70003996: 22c0 movs r2, #192 @ 0xc0 70003998: 491d ldr r1, [pc, #116] @ (70003a10 <_ZN8touchgfx15BlockTransition15handleTickEventEv+0x80>) 7000399a: a802 add r0, sp, #8 7000399c: f037 fd86 bl 7003b4ac if (animationCounter >= animationSteps) 700039a0: 7c23 ldrb r3, [r4, #16] 700039a2: 2b2f cmp r3, #47 @ 0x2f 700039a4: d903 bls.n 700039ae <_ZN8touchgfx15BlockTransition15handleTickEventEv+0x1e> done = true; 700039a6: 2301 movs r3, #1 700039a8: 7223 strb r3, [r4, #8] } 700039aa: b032 add sp, #200 @ 0xc8 700039ac: bd70 pop {r4, r5, r6, pc} if (animationCounter == 0 && HAL::USE_DOUBLE_BUFFERING) 700039ae: b933 cbnz r3, 700039be <_ZN8touchgfx15BlockTransition15handleTickEventEv+0x2e> 700039b0: 4b18 ldr r3, [pc, #96] @ (70003a14 <_ZN8touchgfx15BlockTransition15handleTickEventEv+0x84>) 700039b2: 781b ldrb r3, [r3, #0] 700039b4: b11b cbz r3, 700039be <_ZN8touchgfx15BlockTransition15handleTickEventEv+0x2e> Application::getInstance()->copyInvalidatedAreasFromTFTToClientBuffer(); 700039b6: f00d fbcb bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> 700039ba: f00d fbcf bl 7001115c <_ZN8touchgfx11Application41copyInvalidatedAreasFromTFTToClientBufferEv> while (blocks_per_tick-- > 0 && animationCounter <= animationSteps) 700039be: 2502 movs r5, #2 700039c0: 7c23 ldrb r3, [r4, #16] 700039c2: 2b30 cmp r3, #48 @ 0x30 700039c4: d8f1 bhi.n 700039aa <_ZN8touchgfx15BlockTransition15handleTickEventEv+0x1a> const int index = indeces[animationCounter]; 700039c6: aa32 add r2, sp, #200 @ 0xc8 const int16_t x = (index % blocksHorizontal) * blockWidth; 700039c8: 89e6 ldrh r6, [r4, #14] 700039ca: 8960 ldrh r0, [r4, #10] const int index = indeces[animationCounter]; 700039cc: eb02 0383 add.w r3, r2, r3, lsl #2 const int16_t y = (index / blocksHorizontal) * blockHeight; 700039d0: 89a1 ldrh r1, [r4, #12] : x(rectX), y(rectY), width(rectWidth), height(rectHeight) 700039d2: f8ad 0004 strh.w r0, [sp, #4] const int index = indeces[animationCounter]; 700039d6: f853 3cc0 ldr.w r3, [r3, #-192] 700039da: f8ad 1006 strh.w r1, [sp, #6] const int16_t x = (index % blocksHorizontal) * blockWidth; 700039de: fb93 f2f6 sdiv r2, r3, r6 700039e2: fb06 3312 mls r3, r6, r2, r3 const int16_t y = (index / blocksHorizontal) * blockHeight; 700039e6: fb12 f201 smulbb r2, r2, r1 screenContainer->invalidateRect(invRect); 700039ea: 4669 mov r1, sp const int16_t x = (index % blocksHorizontal) * blockWidth; 700039ec: fb13 f300 smulbb r3, r3, r0 screenContainer->invalidateRect(invRect); 700039f0: 6860 ldr r0, [r4, #4] 700039f2: f8ad 2002 strh.w r2, [sp, #2] 700039f6: f8ad 3000 strh.w r3, [sp] 700039fa: 6803 ldr r3, [r0, #0] 700039fc: 691b ldr r3, [r3, #16] 700039fe: 4798 blx r3 animationCounter++; 70003a00: 7c23 ldrb r3, [r4, #16] while (blocks_per_tick-- > 0 && animationCounter <= animationSteps) 70003a02: 2d01 cmp r5, #1 animationCounter++; 70003a04: f103 0301 add.w r3, r3, #1 70003a08: 7423 strb r3, [r4, #16] while (blocks_per_tick-- > 0 && animationCounter <= animationSteps) 70003a0a: d0ce beq.n 700039aa <_ZN8touchgfx15BlockTransition15handleTickEventEv+0x1a> 70003a0c: 2501 movs r5, #1 70003a0e: e7d7 b.n 700039c0 <_ZN8touchgfx15BlockTransition15handleTickEventEv+0x30> 70003a10: 7003ce3c .word 0x7003ce3c 70003a14: 2400da74 .word 0x2400da74 70003a18 <_ZN8touchgfx14MVPApplication29handlePendingScreenTransitionEv>: /** * Handles the pending screen transition. * * Delegates the work to evaluatePendingScreenTransition() */ virtual void handlePendingScreenTransition() 70003a18: b510 push {r4, lr} 70003a1a: 4604 mov r4, r0 * Evaluates the pending Callback instances. If a callback is valid, it is executed and * a Screen transition is executed. */ void evaluatePendingScreenTransition() { if (pendingScreenTransitionCallback && pendingScreenTransitionCallback->isValid()) 70003a1c: f8d0 0140 ldr.w r0, [r0, #320] @ 0x140 70003a20: b158 cbz r0, 70003a3a <_ZN8touchgfx14MVPApplication29handlePendingScreenTransitionEv+0x22> 70003a22: 6803 ldr r3, [r0, #0] 70003a24: 68db ldr r3, [r3, #12] 70003a26: 4798 blx r3 70003a28: b138 cbz r0, 70003a3a <_ZN8touchgfx14MVPApplication29handlePendingScreenTransitionEv+0x22> { pendingScreenTransitionCallback->execute(); 70003a2a: f8d4 0140 ldr.w r0, [r4, #320] @ 0x140 70003a2e: 6803 ldr r3, [r0, #0] 70003a30: 689b ldr r3, [r3, #8] 70003a32: 4798 blx r3 pendingScreenTransitionCallback = 0; 70003a34: 2300 movs r3, #0 70003a36: f8c4 3140 str.w r3, [r4, #320] @ 0x140 } 70003a3a: bd10 pop {r4, pc} 70003a3c <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv>: transitionCallback = touchgfx::Callback(this, &FrontendApplicationBase::gotoScreen1ScreenBlockTransitionImpl); pendingScreenTransitionCallback = &transitionCallback; } void FrontendApplicationBase::gotoScreen1ScreenBlockTransitionImpl() { 70003a3c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} touchgfx::makeTransition(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model); 70003a40: e9d0 6955 ldrd r6, r9, [r0, #340] @ 0x154 { 70003a44: 4605 mov r5, r0 * value as the old presenter due to memory reuse. */ template PresenterType* makeTransition(Screen** currentScreen, Presenter** currentPresenter, MVPHeap& heap, Transition** currentTrans, ModelType* model) { assert(sizeof(ScreenType) <= heap.screenStorage.element_size() && "View allocation error: Check that all views are added to FrontendHeap::ViewTypes"); 70003a46: 68b0 ldr r0, [r6, #8] 70003a48: 6803 ldr r3, [r0, #0] 70003a4a: 6a1b ldr r3, [r3, #32] 70003a4c: 4798 blx r3 70003a4e: f5b0 7f4f cmp.w r0, #828 @ 0x33c 70003a52: d205 bcs.n 70003a60 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x24> 70003a54: 4b4e ldr r3, [pc, #312] @ (70003b90 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x154>) 70003a56: 21a3 movs r1, #163 @ 0xa3 70003a58: 4a4e ldr r2, [pc, #312] @ (70003b94 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x158>) assert(sizeof(PresenterType) <= heap.presenterStorage.element_size() && "Presenter allocation error: Check that all presenters are added to FrontendHeap::PresenterTypes"); 70003a5a: 484f ldr r0, [pc, #316] @ (70003b98 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x15c>) 70003a5c: f037 faaa bl 7003afb4 <__assert_func> 70003a60: 6870 ldr r0, [r6, #4] 70003a62: 6803 ldr r3, [r0, #0] 70003a64: 6a1b ldr r3, [r3, #32] 70003a66: 4798 blx r3 70003a68: 280f cmp r0, #15 70003a6a: d803 bhi.n 70003a74 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x38> 70003a6c: 4b4b ldr r3, [pc, #300] @ (70003b9c <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x160>) 70003a6e: 21a4 movs r1, #164 @ 0xa4 70003a70: 4a48 ldr r2, [pc, #288] @ (70003b94 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x158>) 70003a72: e7f2 b.n 70003a5a <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x1e> assert(sizeof(TransType) <= heap.transitionStorage.element_size() && "Transition allocation error: Check that all transitions are added to FrontendHeap::TransitionTypes"); 70003a74: 68f0 ldr r0, [r6, #12] 70003a76: 6803 ldr r3, [r0, #0] 70003a78: 6a1b ldr r3, [r3, #32] 70003a7a: 4798 blx r3 70003a7c: 2813 cmp r0, #19 70003a7e: d803 bhi.n 70003a88 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x4c> 70003a80: 4b47 ldr r3, [pc, #284] @ (70003ba0 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x164>) 70003a82: 21a5 movs r1, #165 @ 0xa5 70003a84: 4a43 ldr r2, [pc, #268] @ (70003b94 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x158>) 70003a86: e7e8 b.n 70003a5a <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x1e> if (*currentTrans) 70003a88: f8df 8128 ldr.w r8, [pc, #296] @ 70003bb4 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x178> Application::getInstance()->clearAllTimerWidgets(); 70003a8c: f00d fb60 bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> /** Clears all currently registered timer widgets. */ void clearAllTimerWidgets() { timerWidgets.clear(); 70003a90: 3004 adds r0, #4 70003a92: f00d fbc3 bl 7001121c <_ZN8touchgfx11Application12TimerWidgets5clearEv> if (*currentTrans) 70003a96: f8d8 0000 ldr.w r0, [r8] 70003a9a: b110 cbz r0, 70003aa2 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x66> (*currentTrans)->tearDown(); 70003a9c: 6803 ldr r3, [r0, #0] 70003a9e: 68db ldr r3, [r3, #12] 70003aa0: 4798 blx r3 if (*currentTrans) 70003aa2: f8d8 0000 ldr.w r0, [r8] 70003aa6: b110 cbz r0, 70003aae <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x72> (*currentTrans)->~Transition(); 70003aa8: 6803 ldr r3, [r0, #0] 70003aaa: 681b ldr r3, [r3, #0] 70003aac: 4798 blx r3 if (*currentScreen) 70003aae: 4f3d ldr r7, [pc, #244] @ (70003ba4 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x168>) 70003ab0: 6838 ldr r0, [r7, #0] 70003ab2: b110 cbz r0, 70003aba <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x7e> (*currentScreen)->tearDownScreen(); 70003ab4: 6803 ldr r3, [r0, #0] 70003ab6: 695b ldr r3, [r3, #20] 70003ab8: 4798 blx r3 if (*currentPresenter) 70003aba: f8d5 013c ldr.w r0, [r5, #316] @ 0x13c 70003abe: b110 cbz r0, 70003ac6 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x8a> (*currentPresenter)->deactivate(); 70003ac0: 6803 ldr r3, [r0, #0] 70003ac2: 685b ldr r3, [r3, #4] 70003ac4: 4798 blx r3 if (*currentScreen) 70003ac6: 6838 ldr r0, [r7, #0] 70003ac8: b110 cbz r0, 70003ad0 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x94> (*currentScreen)->~Screen(); 70003aca: 6803 ldr r3, [r0, #0] 70003acc: 681b ldr r3, [r3, #0] 70003ace: 4798 blx r3 if (*currentPresenter) 70003ad0: f8d5 013c ldr.w r0, [r5, #316] @ 0x13c 70003ad4: b110 cbz r0, 70003adc <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0xa0> (*currentPresenter)->~Presenter(); 70003ad6: 6803 ldr r3, [r0, #0] 70003ad8: 689b ldr r3, [r3, #8] 70003ada: 4798 blx r3 prepareTransition(currentScreen, currentPresenter, currentTrans); TransType* newTransition = new (&heap.transitionStorage.at(0)) TransType; 70003adc: 68f0 ldr r0, [r6, #12] * @return A typed reference to the object at the specified index. */ template T& at(const uint16_t index) { return *static_cast(element(index)); 70003ade: 2100 movs r1, #0 70003ae0: 6803 ldr r3, [r0, #0] 70003ae2: 6a5b ldr r3, [r3, #36] @ 0x24 70003ae4: 4798 blx r3 : screenContainer(0), done(false) 70003ae6: 2300 movs r3, #0 animationCounter(0) 70003ae8: 4a2f ldr r2, [pc, #188] @ (70003ba8 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x16c>) 70003aea: 4604 mov r4, r0 70003aec: 6043 str r3, [r0, #4] 70003aee: 7203 strb r3, [r0, #8] 70003af0: 7403 strb r3, [r0, #16] if (HAL::DISPLAY_WIDTH > HAL::DISPLAY_HEIGHT) 70003af2: 4b2e ldr r3, [pc, #184] @ (70003bac <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x170>) animationCounter(0) 70003af4: 6002 str r2, [r0, #0] if (HAL::DISPLAY_WIDTH > HAL::DISPLAY_HEIGHT) 70003af6: 881a ldrh r2, [r3, #0] 70003af8: 4b2d ldr r3, [pc, #180] @ (70003bb0 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x174>) 70003afa: 881b ldrh r3, [r3, #0] 70003afc: 429a cmp r2, r3 70003afe: d93f bls.n 70003b80 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0x144> blockHeight = (HAL::DISPLAY_HEIGHT + 5) / 6; 70003b00: 2106 movs r1, #6 70003b02: 3305 adds r3, #5 blockWidth = (HAL::DISPLAY_WIDTH + 7) / 8; 70003b04: 3207 adds r2, #7 blockHeight = (HAL::DISPLAY_HEIGHT + 5) / 6; 70003b06: fbb3 f3f1 udiv r3, r3, r1 blockWidth = (HAL::DISPLAY_WIDTH + 7) / 8; 70003b0a: 08d2 lsrs r2, r2, #3 blockHeight = (HAL::DISPLAY_HEIGHT + 5) / 6; 70003b0c: 2108 movs r1, #8 70003b0e: b29b uxth r3, r3 ScreenType* newScreen = new (&heap.screenStorage.at(0)) ScreenType; 70003b10: 68b0 ldr r0, [r6, #8] 70003b12: 81a3 strh r3, [r4, #12] 70003b14: 6803 ldr r3, [r0, #0] blockWidth = (HAL::DISPLAY_WIDTH + 7) / 8; 70003b16: 8162 strh r2, [r4, #10] 70003b18: 6a5b ldr r3, [r3, #36] @ 0x24 blocksHorizontal = 8; 70003b1a: 81e1 strh r1, [r4, #14] 70003b1c: 2100 movs r1, #0 70003b1e: 4798 blx r3 70003b20: 4682 mov sl, r0 70003b22: f000 fde7 bl 700046f4 <_ZN11Screen1ViewC1Ev> PresenterType* newPresenter = new (&heap.presenterStorage.at(0)) PresenterType(*newScreen); 70003b26: 6870 ldr r0, [r6, #4] 70003b28: 2100 movs r1, #0 70003b2a: 6803 ldr r3, [r0, #0] 70003b2c: 6a5b ldr r3, [r3, #36] @ 0x24 70003b2e: 4798 blx r3 70003b30: 4606 mov r6, r0 70003b32: 4651 mov r1, sl 70003b34: f000 fdbc bl 700046b0 <_ZN16Screen1PresenterC1ER11Screen1View> *currentTrans = newTransition; *currentPresenter = newPresenter; *currentScreen = newScreen; model->bind(newPresenter); 70003b38: 1d33 adds r3, r6, #4 *currentPresenter = newPresenter; 70003b3a: f8c5 613c str.w r6, [r5, #316] @ 0x13c newScreen->setupScreen(); 70003b3e: 4650 mov r0, sl *currentTrans = newTransition; 70003b40: f8c8 4000 str.w r4, [r8] *currentScreen = newScreen; 70003b44: f8c7 a000 str.w sl, [r7] public: Model(); void bind(ModelListener* listener) { modelListener = listener; 70003b48: f8c9 3000 str.w r3, [r9] newScreen->setupScreen(); 70003b4c: f8da 3000 ldr.w r3, [sl] virtual ~ModelListener() {} void bind(Model* m) { model = m; 70003b50: f8c6 9008 str.w r9, [r6, #8] 70003b54: 68db ldr r3, [r3, #12] * * @param [in] newPresenter The specific Presenter to be associated with the View. */ void bind(T& newPresenter) { presenter = &newPresenter; 70003b56: f8ca 603c str.w r6, [sl, #60] @ 0x3c 70003b5a: 4798 blx r3 newPresenter->activate(); 70003b5c: 6833 ldr r3, [r6, #0] 70003b5e: 4630 mov r0, r6 70003b60: 681b ldr r3, [r3, #0] 70003b62: 4798 blx r3 newScreen->bindTransition(*newTransition); 70003b64: 4621 mov r1, r4 70003b66: 4650 mov r0, sl 70003b68: f00f fd9b bl 700136a2 <_ZN8touchgfx6Screen14bindTransitionERNS_10TransitionE> newTransition->init(); 70003b6c: 6823 ldr r3, [r4, #0] 70003b6e: 4620 mov r0, r4 70003b70: 691b ldr r3, [r3, #16] 70003b72: 4798 blx r3 newTransition->invalidate(); 70003b74: 6823 ldr r3, [r4, #0] 70003b76: 4620 mov r0, r4 70003b78: 695b ldr r3, [r3, #20] } 70003b7a: e8bd 47f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 70003b7e: 4718 bx r3 blockWidth = (HAL::DISPLAY_WIDTH + 5) / 6; 70003b80: 3205 adds r2, #5 70003b82: 2106 movs r1, #6 blockHeight = (HAL::DISPLAY_HEIGHT + 7) / 8; 70003b84: 3307 adds r3, #7 blockWidth = (HAL::DISPLAY_WIDTH + 5) / 6; 70003b86: fbb2 f2f1 udiv r2, r2, r1 blockHeight = (HAL::DISPLAY_HEIGHT + 7) / 8; 70003b8a: 08db lsrs r3, r3, #3 blockWidth = (HAL::DISPLAY_WIDTH + 5) / 6; 70003b8c: b292 uxth r2, r2 blocksHorizontal = 6; 70003b8e: e7bf b.n 70003b10 <_ZN23FrontendApplicationBase36gotoScreen1ScreenBlockTransitionImplEv+0xd4> 70003b90: 7003e4cc .word 0x7003e4cc 70003b94: 7003e55a .word 0x7003e55a 70003b98: 7003e62f .word 0x7003e62f 70003b9c: 7003e688 .word 0x7003e688 70003ba0: 7003e72b .word 0x7003e72b 70003ba4: 2400dac4 .word 0x2400dac4 70003ba8: 7003efdc .word 0x7003efdc 70003bac: 2400da7c .word 0x2400da7c 70003bb0: 2400da7a .word 0x2400da7a 70003bb4: 2400dac0 .word 0x2400dac0 70003bb8 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv>: { 70003bb8: e92d 4ff1 stmdb sp!, {r0, r4, r5, r6, r7, r8, r9, sl, fp, lr} touchgfx::makeTransition(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model); 70003bbc: e9d0 6a55 ldrd r6, sl, [r0, #340] @ 0x154 { 70003bc0: 4607 mov r7, r0 assert(sizeof(ScreenType) <= heap.screenStorage.element_size() && "View allocation error: Check that all views are added to FrontendHeap::ViewTypes"); 70003bc2: 68b0 ldr r0, [r6, #8] 70003bc4: 6803 ldr r3, [r0, #0] 70003bc6: 6a1b ldr r3, [r3, #32] 70003bc8: 4798 blx r3 70003bca: 28e3 cmp r0, #227 @ 0xe3 70003bcc: d805 bhi.n 70003bda <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x22> 70003bce: 4b44 ldr r3, [pc, #272] @ (70003ce0 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x128>) 70003bd0: 21a3 movs r1, #163 @ 0xa3 70003bd2: 4a44 ldr r2, [pc, #272] @ (70003ce4 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x12c>) assert(sizeof(PresenterType) <= heap.presenterStorage.element_size() && "Presenter allocation error: Check that all presenters are added to FrontendHeap::PresenterTypes"); 70003bd4: 4844 ldr r0, [pc, #272] @ (70003ce8 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x130>) 70003bd6: f037 f9ed bl 7003afb4 <__assert_func> 70003bda: 6870 ldr r0, [r6, #4] 70003bdc: 6803 ldr r3, [r0, #0] 70003bde: 6a1b ldr r3, [r3, #32] 70003be0: 4798 blx r3 70003be2: 280f cmp r0, #15 70003be4: d803 bhi.n 70003bee <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x36> 70003be6: 4b41 ldr r3, [pc, #260] @ (70003cec <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x134>) 70003be8: 21a4 movs r1, #164 @ 0xa4 70003bea: 4a3e ldr r2, [pc, #248] @ (70003ce4 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x12c>) 70003bec: e7f2 b.n 70003bd4 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x1c> assert(sizeof(TransType) <= heap.transitionStorage.element_size() && "Transition allocation error: Check that all transitions are added to FrontendHeap::TransitionTypes"); 70003bee: 68f0 ldr r0, [r6, #12] 70003bf0: 6803 ldr r3, [r0, #0] 70003bf2: 6a1b ldr r3, [r3, #32] 70003bf4: 4798 blx r3 70003bf6: 280b cmp r0, #11 70003bf8: d803 bhi.n 70003c02 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x4a> 70003bfa: 4b3d ldr r3, [pc, #244] @ (70003cf0 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x138>) 70003bfc: 21a5 movs r1, #165 @ 0xa5 70003bfe: 4a39 ldr r2, [pc, #228] @ (70003ce4 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x12c>) 70003c00: e7e8 b.n 70003bd4 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x1c> if (*currentTrans) 70003c02: f8df 90f4 ldr.w r9, [pc, #244] @ 70003cf8 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x140> Application::getInstance()->clearAllTimerWidgets(); 70003c06: f00d faa3 bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> 70003c0a: 3004 adds r0, #4 70003c0c: f00d fb06 bl 7001121c <_ZN8touchgfx11Application12TimerWidgets5clearEv> if (*currentTrans) 70003c10: f8d9 0000 ldr.w r0, [r9] 70003c14: b110 cbz r0, 70003c1c <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x64> (*currentTrans)->tearDown(); 70003c16: 6803 ldr r3, [r0, #0] 70003c18: 68db ldr r3, [r3, #12] 70003c1a: 4798 blx r3 if (*currentTrans) 70003c1c: f8d9 0000 ldr.w r0, [r9] 70003c20: b110 cbz r0, 70003c28 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x70> (*currentTrans)->~Transition(); 70003c22: 6803 ldr r3, [r0, #0] 70003c24: 681b ldr r3, [r3, #0] 70003c26: 4798 blx r3 if (*currentScreen) 70003c28: f8df 80d0 ldr.w r8, [pc, #208] @ 70003cfc <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x144> 70003c2c: f8d8 0000 ldr.w r0, [r8] 70003c30: b110 cbz r0, 70003c38 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x80> (*currentScreen)->tearDownScreen(); 70003c32: 6803 ldr r3, [r0, #0] 70003c34: 695b ldr r3, [r3, #20] 70003c36: 4798 blx r3 if (*currentPresenter) 70003c38: f8d7 013c ldr.w r0, [r7, #316] @ 0x13c 70003c3c: b110 cbz r0, 70003c44 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x8c> (*currentPresenter)->deactivate(); 70003c3e: 6803 ldr r3, [r0, #0] 70003c40: 685b ldr r3, [r3, #4] 70003c42: 4798 blx r3 if (*currentScreen) 70003c44: f8d8 0000 ldr.w r0, [r8] 70003c48: b110 cbz r0, 70003c50 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x98> (*currentScreen)->~Screen(); 70003c4a: 6803 ldr r3, [r0, #0] 70003c4c: 681b ldr r3, [r3, #0] 70003c4e: 4798 blx r3 if (*currentPresenter) 70003c50: f8d7 013c ldr.w r0, [r7, #316] @ 0x13c 70003c54: b110 cbz r0, 70003c5c <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0xa4> (*currentPresenter)->~Presenter(); 70003c56: 6803 ldr r3, [r0, #0] 70003c58: 689b ldr r3, [r3, #8] 70003c5a: 4798 blx r3 TransType* newTransition = new (&heap.transitionStorage.at(0)) TransType; 70003c5c: 68f0 ldr r0, [r6, #12] 70003c5e: 2100 movs r1, #0 70003c60: f04f 0b00 mov.w fp, #0 70003c64: 6803 ldr r3, [r0, #0] 70003c66: 6a5b ldr r3, [r3, #36] @ 0x24 70003c68: 4798 blx r3 70003c6a: 4b22 ldr r3, [pc, #136] @ (70003cf4 <_ZN23FrontendApplicationBase36gotoInitScreenScreenNoTransitionImplEv+0x13c>) 70003c6c: 4604 mov r4, r0 70003c6e: f8c0 b004 str.w fp, [r0, #4] 70003c72: f880 b008 strb.w fp, [r0, #8] 70003c76: 4659 mov r1, fp 70003c78: 6003 str r3, [r0, #0] ScreenType* newScreen = new (&heap.screenStorage.at(0)) ScreenType; 70003c7a: 68b0 ldr r0, [r6, #8] 70003c7c: 6803 ldr r3, [r0, #0] 70003c7e: 6a5b ldr r3, [r3, #36] @ 0x24 70003c80: 4798 blx r3 70003c82: 4605 mov r5, r0 70003c84: f000 fcf6 bl 70004674 <_ZN14InitScreenViewC1Ev> PresenterType* newPresenter = new (&heap.presenterStorage.at(0)) PresenterType(*newScreen); 70003c88: 6870 ldr r0, [r6, #4] 70003c8a: 4659 mov r1, fp 70003c8c: 6803 ldr r3, [r0, #0] 70003c8e: 6a5b ldr r3, [r3, #36] @ 0x24 70003c90: 4798 blx r3 70003c92: 4606 mov r6, r0 70003c94: 4629 mov r1, r5 70003c96: f000 fccd bl 70004634 <_ZN19InitScreenPresenterC1ER14InitScreenView> model->bind(newPresenter); 70003c9a: 1d33 adds r3, r6, #4 *currentPresenter = newPresenter; 70003c9c: f8c7 613c str.w r6, [r7, #316] @ 0x13c newScreen->setupScreen(); 70003ca0: 4628 mov r0, r5 *currentTrans = newTransition; 70003ca2: f8c9 4000 str.w r4, [r9] *currentScreen = newScreen; 70003ca6: f8c8 5000 str.w r5, [r8] 70003caa: f8ca 3000 str.w r3, [sl] newScreen->setupScreen(); 70003cae: 682b ldr r3, [r5, #0] 70003cb0: f8c6 a008 str.w sl, [r6, #8] 70003cb4: 68db ldr r3, [r3, #12] 70003cb6: 63ee str r6, [r5, #60] @ 0x3c 70003cb8: 4798 blx r3 newPresenter->activate(); 70003cba: 6833 ldr r3, [r6, #0] 70003cbc: 4630 mov r0, r6 70003cbe: 681b ldr r3, [r3, #0] 70003cc0: 4798 blx r3 newScreen->bindTransition(*newTransition); 70003cc2: 4621 mov r1, r4 70003cc4: 4628 mov r0, r5 70003cc6: f00f fcec bl 700136a2 <_ZN8touchgfx6Screen14bindTransitionERNS_10TransitionE> newTransition->init(); 70003cca: 6823 ldr r3, [r4, #0] 70003ccc: 4620 mov r0, r4 70003cce: 691b ldr r3, [r3, #16] 70003cd0: 4798 blx r3 newTransition->invalidate(); 70003cd2: 6823 ldr r3, [r4, #0] 70003cd4: 4620 mov r0, r4 70003cd6: 695b ldr r3, [r3, #20] } 70003cd8: b001 add sp, #4 70003cda: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70003cde: 4718 bx r3 70003ce0: 7003e4cc .word 0x7003e4cc 70003ce4: 7003e7ce .word 0x7003e7ce 70003ce8: 7003e62f .word 0x7003e62f 70003cec: 7003e688 .word 0x7003e688 70003cf0: 7003e72b .word 0x7003e72b 70003cf4: 7003efb8 .word 0x7003efb8 70003cf8: 2400dac0 .word 0x2400dac0 70003cfc: 2400dac4 .word 0x2400dac4 70003d00 <_ZN23FrontendApplicationBaseC1ER5ModelR12FrontendHeap>: FrontendApplicationBase::FrontendApplicationBase(Model& m, FrontendHeap& heap) 70003d00: b570 push {r4, r5, r6, lr} 70003d02: 4604 mov r4, r0 70003d04: 460d mov r5, r1 70003d06: 4616 mov r6, r2 pendingScreenTransitionCallback(0) 70003d08: f00d fb5e bl 700113c8 <_ZN8touchgfx11ApplicationC1Ev> instance = this; 70003d0c: 4b0a ldr r3, [pc, #40] @ (70003d38 <_ZN23FrontendApplicationBaseC1ER5ModelR12FrontendHeap+0x38>) : currentPresenter(0), 70003d0e: 2100 movs r1, #0 instance = this; 70003d10: 601c str r4, [r3, #0] model(m) 70003d12: 4b0a ldr r3, [pc, #40] @ (70003d3c <_ZN23FrontendApplicationBaseC1ER5ModelR12FrontendHeap+0x3c>) 70003d14: 6023 str r3, [r4, #0] : pobject(0), pmemfun(0) 70003d16: 4b0a ldr r3, [pc, #40] @ (70003d40 <_ZN23FrontendApplicationBaseC1ER5ModelR12FrontendHeap+0x40>) 70003d18: e9c4 3151 strd r3, r1, [r4, #324] @ 0x144 return instance; 70003d1c: 4b09 ldr r3, [pc, #36] @ (70003d44 <_ZN23FrontendApplicationBaseC1ER5ModelR12FrontendHeap+0x44>) 70003d1e: 6818 ldr r0, [r3, #0] 70003d20: e9c4 1153 strd r1, r1, [r4, #332] @ 0x14c touchgfx::HAL::getInstance()->setDisplayOrientation(touchgfx::ORIENTATION_LANDSCAPE); 70003d24: 6803 ldr r3, [r0, #0] pendingScreenTransitionCallback(0) 70003d26: e9c4 114f strd r1, r1, [r4, #316] @ 0x13c 70003d2a: 689b ldr r3, [r3, #8] model(m) 70003d2c: e9c4 6555 strd r6, r5, [r4, #340] @ 0x154 touchgfx::HAL::getInstance()->setDisplayOrientation(touchgfx::ORIENTATION_LANDSCAPE); 70003d30: 4798 blx r3 } 70003d32: 4620 mov r0, r4 70003d34: bd70 pop {r4, r5, r6, pc} 70003d36: bf00 nop 70003d38: 2400dac8 .word 0x2400dac8 70003d3c: 7003ef64 .word 0x7003ef64 70003d40: 7003ef4c .word 0x7003ef4c 70003d44: 2400da80 .word 0x2400da80 70003d48 <_ZN23FrontendApplicationBase32gotoInitScreenScreenNoTransitionEv>: struct Callback : public GenericCallback<> 70003d48: 4b06 ldr r3, [pc, #24] @ (70003d64 <_ZN23FrontendApplicationBase32gotoInitScreenScreenNoTransitionEv+0x1c>) 70003d4a: f8c0 0148 str.w r0, [r0, #328] @ 0x148 70003d4e: f8c0 314c str.w r3, [r0, #332] @ 0x14c 70003d52: 2300 movs r3, #0 70003d54: f8c0 3150 str.w r3, [r0, #336] @ 0x150 pendingScreenTransitionCallback = &transitionCallback; 70003d58: f500 73a2 add.w r3, r0, #324 @ 0x144 70003d5c: f8c0 3140 str.w r3, [r0, #320] @ 0x140 } 70003d60: 4770 bx lr 70003d62: bf00 nop 70003d64: 70003bb9 .word 0x70003bb9 70003d68 <_ZN23FrontendApplicationBase32gotoScreen1ScreenBlockTransitionEv>: 70003d68: 4b06 ldr r3, [pc, #24] @ (70003d84 <_ZN23FrontendApplicationBase32gotoScreen1ScreenBlockTransitionEv+0x1c>) 70003d6a: f8c0 0148 str.w r0, [r0, #328] @ 0x148 70003d6e: f8c0 314c str.w r3, [r0, #332] @ 0x14c 70003d72: 2300 movs r3, #0 70003d74: f8c0 3150 str.w r3, [r0, #336] @ 0x150 pendingScreenTransitionCallback = &transitionCallback; 70003d78: f500 73a2 add.w r3, r0, #324 @ 0x144 70003d7c: f8c0 3140 str.w r3, [r0, #320] @ 0x140 } 70003d80: 4770 bx lr 70003d82: bf00 nop 70003d84: 70003a3d .word 0x70003a3d 70003d88 <_ZNK8touchgfx13GeneratedFont12getGSUBTableEv>: virtual int8_t getKerning(Unicode::UnicodeChar prevChar, const GlyphNode* glyph) const; virtual const uint16_t* getGSUBTable() const { return gsubTable; } 70003d88: 6a40 ldr r0, [r0, #36] @ 0x24 70003d8a: 4770 bx lr 70003d8c <_ZNK8touchgfx13GeneratedFont23getContextualFormsTableEv>: virtual const FontContextualFormsTable* getContextualFormsTable() const { return arabicTable; } 70003d8c: 6a80 ldr r0, [r0, #40] @ 0x28 70003d8e: 4770 bx lr 70003d90 <_ZN8touchgfx13GeneratedFontD1Ev>: class GeneratedFont : public ConstFont 70003d90: 4770 bx lr 70003d92 <_ZNK8touchgfx13GeneratedFont12getPixelDataEPKNS_9GlyphNodeE>: const uint8_t* GeneratedFont::getPixelData(const GlyphNode* glyph) const { // Read dataOffset as 16bit, as it may be unaligned volatile const uint16_t* dataOffset = (const uint16_t*)((const uint8_t*)glyph + offsetof(GlyphNode, dataOffset)); uint32_t offset = dataOffset[0]; 70003d92: 880b ldrh r3, [r1, #0] offset |= dataOffset[1] << 16; const uint8_t* const* table = (const uint8_t* const*)glyphData; const uint8_t* pixels = table[glyph->unicode / 2048]; 70003d94: 888a ldrh r2, [r1, #4] uint32_t offset = dataOffset[0]; 70003d96: b29b uxth r3, r3 const uint8_t* pixels = table[glyph->unicode / 2048]; 70003d98: 0ad2 lsrs r2, r2, #11 { 70003d9a: b510 push {r4, lr} offset |= dataOffset[1] << 16; 70003d9c: 884c ldrh r4, [r1, #2] const uint8_t* pixels = table[glyph->unicode / 2048]; 70003d9e: 69c1 ldr r1, [r0, #28] offset |= dataOffset[1] << 16; 70003da0: ea43 4304 orr.w r3, r3, r4, lsl #16 return pixels + offset; 70003da4: f851 0022 ldr.w r0, [r1, r2, lsl #2] } 70003da8: 4418 add r0, r3 70003daa: bd10 pop {r4, pc} 70003dac <_ZNK8touchgfx13GeneratedFont10getKerningEtPKNS_9GlyphNodeE>: int8_t GeneratedFont::getKerning(Unicode::UnicodeChar prevChar, const GlyphNode* glyph) const { 70003dac: b510 push {r4, lr} 70003dae: 4604 mov r4, r0 if (!glyph || glyph->kerningTableSize == 0) 70003db0: b1ba cbz r2, 70003de2 <_ZNK8touchgfx13GeneratedFont10getKerningEtPKNS_9GlyphNodeE+0x36> 70003db2: 7b10 ldrb r0, [r2, #12] 70003db4: b168 cbz r0, 70003dd2 <_ZNK8touchgfx13GeneratedFont10getKerningEtPKNS_9GlyphNodeE+0x26> return ((flags & GLYPH_DATA_KERNINGTABLEPOS_BIT8_10) << 8) | _kerningTablePos; 70003db6: 7b53 ldrb r3, [r2, #13] 70003db8: 7ad2 ldrb r2, [r2, #11] 70003dba: 021b lsls r3, r3, #8 70003dbc: f403 63e0 and.w r3, r3, #1792 @ 0x700 { return 0; } const KerningNode* kerndata = kerningData + glyph->kerningTablePos(); 70003dc0: 431a orrs r2, r3 70003dc2: 6a23 ldr r3, [r4, #32] 70003dc4: eb03 0382 add.w r3, r3, r2, lsl #2 for (uint16_t i = glyph->kerningTableSize; i > 0; i--, kerndata++) { if (prevChar == kerndata->unicodePrevChar) 70003dc8: 881a ldrh r2, [r3, #0] 70003dca: 428a cmp r2, r1 70003dcc: d102 bne.n 70003dd4 <_ZNK8touchgfx13GeneratedFont10getKerningEtPKNS_9GlyphNodeE+0x28> { return kerndata->distance; 70003dce: f993 0002 ldrsb.w r0, [r3, #2] { break; } } return 0; } 70003dd2: bd10 pop {r4, pc} if (prevChar < kerndata->unicodePrevChar) 70003dd4: d805 bhi.n 70003de2 <_ZNK8touchgfx13GeneratedFont10getKerningEtPKNS_9GlyphNodeE+0x36> for (uint16_t i = glyph->kerningTableSize; i > 0; i--, kerndata++) 70003dd6: 3801 subs r0, #1 70003dd8: 3304 adds r3, #4 70003dda: b280 uxth r0, r0 70003ddc: 2800 cmp r0, #0 70003dde: d1f3 bne.n 70003dc8 <_ZNK8touchgfx13GeneratedFont10getKerningEtPKNS_9GlyphNodeE+0x1c> 70003de0: e7f7 b.n 70003dd2 <_ZNK8touchgfx13GeneratedFont10getKerningEtPKNS_9GlyphNodeE+0x26> return 0; 70003de2: 2000 movs r0, #0 70003de4: e7f5 b.n 70003dd2 <_ZNK8touchgfx13GeneratedFont10getKerningEtPKNS_9GlyphNodeE+0x26> 70003de6 <_ZN8touchgfx13GeneratedFontD0Ev>: 70003de6: b510 push {r4, lr} 70003de8: 4604 mov r4, r0 70003dea: 212c movs r1, #44 @ 0x2c 70003dec: f035 fce3 bl 700397b6 <_ZdlPvj> 70003df0: 4620 mov r0, r4 70003df2: bd10 pop {r4, pc} 70003df4 <_ZN8touchgfx13GeneratedFontC1EPKNS_9GlyphNodeEttthhhhhhPKPKhPKNS_11KerningNodeEttPKtPKNS_24FontContextualFormsTableE>: GeneratedFont::GeneratedFont(const GlyphNode* glyphs, uint16_t numGlyphs, uint16_t height, uint16_t baseline, uint8_t pixAboveTop, uint8_t pixBelowBottom, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const uint8_t* const* glyphDataInternalFlash, const KerningNode* kerningList, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar, const uint16_t* const gsubData, const FontContextualFormsTable* formsTable) 70003df4: b530 push {r4, r5, lr} 70003df6: b08b sub sp, #44 @ 0x2c 70003df8: 4604 mov r4, r0 arabicTable(formsTable) 70003dfa: f8bd 5060 ldrh.w r5, [sp, #96] @ 0x60 70003dfe: 9508 str r5, [sp, #32] 70003e00: f8bd 505c ldrh.w r5, [sp, #92] @ 0x5c 70003e04: 9507 str r5, [sp, #28] 70003e06: f89d 5050 ldrb.w r5, [sp, #80] @ 0x50 70003e0a: 9506 str r5, [sp, #24] 70003e0c: f89d 504c ldrb.w r5, [sp, #76] @ 0x4c 70003e10: 9505 str r5, [sp, #20] 70003e12: f89d 5048 ldrb.w r5, [sp, #72] @ 0x48 70003e16: 9504 str r5, [sp, #16] 70003e18: f89d 5044 ldrb.w r5, [sp, #68] @ 0x44 70003e1c: 9503 str r5, [sp, #12] 70003e1e: f89d 5040 ldrb.w r5, [sp, #64] @ 0x40 70003e22: 9502 str r5, [sp, #8] 70003e24: f89d 503c ldrb.w r5, [sp, #60] @ 0x3c 70003e28: 9501 str r5, [sp, #4] 70003e2a: f8bd 5038 ldrh.w r5, [sp, #56] @ 0x38 70003e2e: 9500 str r5, [sp, #0] 70003e30: f00e ffc2 bl 70012db8 <_ZN8touchgfx9ConstFontC1EPKNS_9GlyphNodeEttthhhhhhtt> 70003e34: 4b06 ldr r3, [pc, #24] @ (70003e50 <_ZN8touchgfx13GeneratedFontC1EPKNS_9GlyphNodeEttthhhhhhPKPKhPKNS_11KerningNodeEttPKtPKNS_24FontContextualFormsTableE+0x5c>) } 70003e36: 4620 mov r0, r4 arabicTable(formsTable) 70003e38: 6023 str r3, [r4, #0] glyphData(glyphDataInternalFlash), 70003e3a: 9b15 ldr r3, [sp, #84] @ 0x54 70003e3c: 61e3 str r3, [r4, #28] kerningData(kerningList), 70003e3e: 9b16 ldr r3, [sp, #88] @ 0x58 70003e40: 6223 str r3, [r4, #32] gsubTable(gsubData), 70003e42: 9b19 ldr r3, [sp, #100] @ 0x64 70003e44: 6263 str r3, [r4, #36] @ 0x24 arabicTable(formsTable) 70003e46: 9b1a ldr r3, [sp, #104] @ 0x68 70003e48: 62a3 str r3, [r4, #40] @ 0x28 } 70003e4a: b00b add sp, #44 @ 0x2c 70003e4c: bd30 pop {r4, r5, pc} 70003e4e: bf00 nop 70003e50: 7003f000 .word 0x7003f000 70003e54 <_ZN8touchgfx8Drawable13getFirstChildEv>: * @see Container::getFirstChild */ virtual Drawable* getFirstChild() { return 0; } 70003e54: 2000 movs r0, #0 70003e56: 4770 bx lr 70003e58 <_ZN8touchgfx8Drawable4setXEs>: * * @note For most Drawable widgets, changing this does normally not automatically yield a redraw. */ virtual void setX(int16_t x) { rect.x = x; 70003e58: 8081 strh r1, [r0, #4] } 70003e5a: 4770 bx lr 70003e5c <_ZN8touchgfx8Drawable4setYEs>: * * @note For most Drawable widgets, changing this does normally not automatically yield a redraw. */ virtual void setY(int16_t y) { rect.y = y; 70003e5c: 80c1 strh r1, [r0, #6] } 70003e5e: 4770 bx lr 70003e60 <_ZN8touchgfx8Drawable8setWidthEs>: * * @note For most Drawable widgets, changing this does normally not automatically yield a redraw. */ virtual void setWidth(int16_t width) { rect.width = width; 70003e60: 8101 strh r1, [r0, #8] } 70003e62: 4770 bx lr 70003e64 <_ZN8touchgfx8Drawable9setHeightEs>: * * @note For most Drawable widgets, changing this does normally not automatically yield a redraw. */ virtual void setHeight(int16_t height) { rect.height = height; 70003e64: 8141 strh r1, [r0, #10] } 70003e66: 4770 bx lr 70003e68 <_ZN8touchgfx8Drawable20childGeometryChangedEv>: * one or more of its children has changed. Currently only used in ScrollableContainer * to redraw scrollbars when the size of the scrolling contents changes. */ virtual void childGeometryChanged() { } 70003e68: 4770 bx lr 70003e6a <_ZN8touchgfx8Drawable16handleClickEventERKNS_10ClickEventE>: * @param event The ClickEvent received from the HAL. */ virtual void handleClickEvent(const ClickEvent& event) { (void)event; // Unused variable } 70003e6a: 4770 bx lr 70003e6c <_ZN8touchgfx8Drawable18handleGestureEventERKNS_12GestureEventE>: * @param event The GestureEvent received from the HAL. */ virtual void handleGestureEvent(const GestureEvent& event) { (void)event; // Unused variable } 70003e6c: 4770 bx lr 70003e6e <_ZN8touchgfx8Drawable15handleDragEventERKNS_9DragEventE>: * @param event The DragEvent received from the HAL. */ virtual void handleDragEvent(const DragEvent& event) { (void)event; // Unused variable } 70003e6e: 4770 bx lr 70003e70 <_ZN8touchgfx8Drawable15handleTickEventEv>: * * @see Application::registerTimerWidget */ virtual void handleTickEvent() { } 70003e70: 4770 bx lr 70003e72 <_ZN8touchgfx8Drawable6moveToEss>: * * @see moveRelative, setXY * * @note Will redraw the appropriate areas of the screen. */ virtual void moveTo(int16_t x, int16_t y) 70003e72: b410 push {r4} { moveRelative(x - rect.x, y - rect.y); 70003e74: 88c4 ldrh r4, [r0, #6] 70003e76: 6803 ldr r3, [r0, #0] 70003e78: 1b12 subs r2, r2, r4 70003e7a: 8884 ldrh r4, [r0, #4] 70003e7c: 6d5b ldr r3, [r3, #84] @ 0x54 70003e7e: 1b09 subs r1, r1, r4 70003e80: b212 sxth r2, r2 } 70003e82: f85d 4b04 ldr.w r4, [sp], #4 moveRelative(x - rect.x, y - rect.y); 70003e86: b209 sxth r1, r1 70003e88: 4718 bx r3 70003e8a <_ZN8touchgfx8Drawable14setupDrawChainERKNS_4RectEPPS0_>: * @note For TouchGFX internal use only. */ void resetDrawChainCache() { // Resetting the cached indicators cachedVisibleRect.x = UNCACHED_INDICATOR; 70003e8a: f64f 73ff movw r3, #65535 @ 0xffff 70003e8e: 8183 strh r3, [r0, #12] cachedAbsX = UNCACHED_INDICATOR; 70003e90: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70003e94: 6203 str r3, [r0, #32] */ virtual void setupDrawChain(const Rect& invalidatedArea, Drawable** nextPreviousElement) { (void)invalidatedArea; // Unused variable resetDrawChainCache(); nextDrawChainElement = *nextPreviousElement; 70003e96: 6813 ldr r3, [r2, #0] 70003e98: 61c3 str r3, [r0, #28] *nextPreviousElement = this; 70003e9a: 6010 str r0, [r2, #0] } 70003e9c: 4770 bx lr 70003e9e <_ZN8touchgfx6Screen11setupScreenEv>: * * @see Application::switchScreen */ virtual void setupScreen() { } 70003e9e: 4770 bx lr 70003ea0 <_ZN8touchgfx6Screen15afterTransitionEv>: * * @see Application::handleTickEvent */ virtual void afterTransition() { } 70003ea0: 4770 bx lr 70003ea2 <_ZN8touchgfx6Screen14tearDownScreenEv>: * * @see Application::switchScreen */ virtual void tearDownScreen() { } 70003ea2: 4770 bx lr 70003ea4 <_ZN8touchgfx6Screen15handleTickEventEv>: * Called by the Application on the current screen with a frequency of * Application::TICK_INTERVAL_MS. */ virtual void handleTickEvent() { } 70003ea4: 4770 bx lr 70003ea6 <_ZN8touchgfx6Screen14handleKeyEventEh>: * @param key The key to handle. */ virtual void handleKeyEvent(uint8_t key) { (void)key; // Unused variable } 70003ea6: 4770 bx lr 70003ea8 <_ZN18InitScreenViewBase12changeScreenEv>: * Custom Actions */ virtual void changeScreen() { // Override and implement this function in Screen1 } 70003ea8: 4770 bx lr 70003eaa <_ZN8touchgfx8CallbackI18InitScreenViewBaseRKNS_14AbstractButtonEvvED1Ev>: struct Callback : public GenericCallback 70003eaa: 4770 bx lr 70003eac <_ZN18InitScreenViewBaseD1Ev>: } InitScreenViewBase::~InitScreenViewBase() { } 70003eac: 4770 bx lr 70003eae <_ZN18InitScreenViewBase11setupScreenEv>: void InitScreenViewBase::setupScreen() { } 70003eae: 4770 bx lr 70003eb0 <_ZN8touchgfx8CallbackI18InitScreenViewBaseRKNS_14AbstractButtonEvvE7executeES4_>: (pobject->*pmemfun)(t1); 70003eb0: e9d0 3202 ldrd r3, r2, [r0, #8] virtual void execute(T1 t1) 70003eb4: b430 push {r4, r5} (pobject->*pmemfun)(t1); 70003eb6: 6844 ldr r4, [r0, #4] 70003eb8: 1055 asrs r5, r2, #1 70003eba: eb04 0062 add.w r0, r4, r2, asr #1 70003ebe: 07d2 lsls r2, r2, #31 70003ec0: bf48 it mi 70003ec2: 5962 ldrmi r2, [r4, r5] } 70003ec4: bc30 pop {r4, r5} (pobject->*pmemfun)(t1); 70003ec6: bf48 it mi 70003ec8: 58d3 ldrmi r3, [r2, r3] 70003eca: 4718 bx r3 70003ecc <_ZNK8touchgfx8CallbackI18InitScreenViewBaseRKNS_14AbstractButtonEvvE7isValidEv>: virtual bool isValid() const 70003ecc: 4603 mov r3, r0 return (pobject != 0) && (pmemfun != 0); 70003ece: 6840 ldr r0, [r0, #4] 70003ed0: b130 cbz r0, 70003ee0 <_ZNK8touchgfx8CallbackI18InitScreenViewBaseRKNS_14AbstractButtonEvvE7isValidEv+0x14> 70003ed2: 689a ldr r2, [r3, #8] 70003ed4: b91a cbnz r2, 70003ede <_ZNK8touchgfx8CallbackI18InitScreenViewBaseRKNS_14AbstractButtonEvvE7isValidEv+0x12> 70003ed6: 68d8 ldr r0, [r3, #12] 70003ed8: f000 0001 and.w r0, r0, #1 70003edc: 4770 bx lr 70003ede: 2001 movs r0, #1 } 70003ee0: 4770 bx lr 70003ee2 <_ZN8touchgfx8CallbackI18InitScreenViewBaseRKNS_14AbstractButtonEvvED0Ev>: struct Callback : public GenericCallback 70003ee2: b510 push {r4, lr} 70003ee4: 4604 mov r4, r0 70003ee6: 2110 movs r1, #16 70003ee8: f035 fc65 bl 700397b6 <_ZdlPvj> 70003eec: 4620 mov r0, r4 70003eee: bd10 pop {r4, pc} 70003ef0 <_ZN18InitScreenViewBaseD0Ev>: InitScreenViewBase::~InitScreenViewBase() 70003ef0: b510 push {r4, lr} 70003ef2: 4604 mov r4, r0 } 70003ef4: 21e4 movs r1, #228 @ 0xe4 70003ef6: f035 fc5e bl 700397b6 <_ZdlPvj> 70003efa: 4620 mov r0, r4 70003efc: bd10 pop {r4, pc} 70003efe <_ZNK8touchgfx8Drawable17invalidateContentEv>: if (visible) 70003efe: f890 2025 ldrb.w r2, [r0, #37] @ 0x25 70003f02: b112 cbz r2, 70003f0a <_ZNK8touchgfx8Drawable17invalidateContentEv+0xc> invalidate(); 70003f04: 6803 ldr r3, [r0, #0] 70003f06: 695b ldr r3, [r3, #20] 70003f08: 4718 bx r3 } 70003f0a: 4770 bx lr 70003f0c <_ZN8touchgfx6Widget12getLastChildEssPPNS_8DrawableE>: * * @param [out] last Result, the address of the actual instance of the Widget. */ virtual void getLastChild(int16_t /*x*/, int16_t /*y*/, Drawable** last) { if (isVisible() && isTouchable()) 70003f0c: f890 2025 ldrb.w r2, [r0, #37] @ 0x25 70003f10: b11a cbz r2, 70003f1a <_ZN8touchgfx6Widget12getLastChildEssPPNS_8DrawableE+0xe> 70003f12: f890 2024 ldrb.w r2, [r0, #36] @ 0x24 70003f16: b102 cbz r2, 70003f1a <_ZN8touchgfx6Widget12getLastChildEssPPNS_8DrawableE+0xe> { *last = this; 70003f18: 6018 str r0, [r3, #0] } } 70003f1a: 4770 bx lr 70003f1c <_ZN18InitScreenViewBase21buttonCallbackHandlerERKN8touchgfx14AbstractButtonE>: void InitScreenViewBase::buttonCallbackHandler(const touchgfx::AbstractButton& src) { if (&src == &buttonWithIcon1) 70003f1c: 3098 adds r0, #152 @ 0x98 70003f1e: 4288 cmp r0, r1 { 70003f20: b508 push {r3, lr} if (&src == &buttonWithIcon1) 70003f22: d105 bne.n 70003f30 <_ZN18InitScreenViewBase21buttonCallbackHandlerERKN8touchgfx14AbstractButtonE+0x14> protected: FrontendApplication& application() { return *static_cast(touchgfx::Application::getInstance()); 70003f24: f00d f914 bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> //Interaction1 //When buttonWithIcon1 clicked change screen to Screen1 //Go to Screen1 with block transition application().gotoScreen1ScreenBlockTransition(); } } 70003f28: e8bd 4008 ldmia.w sp!, {r3, lr} application().gotoScreen1ScreenBlockTransition(); 70003f2c: f7ff bf1c b.w 70003d68 <_ZN23FrontendApplicationBase32gotoScreen1ScreenBlockTransitionEv> } 70003f30: bd08 pop {r3, pc} 70003f32 <_ZN8touchgfx8Drawable5setXYEss>: setX(x); 70003f32: 6803 ldr r3, [r0, #0] void setXY(int16_t x, int16_t y) 70003f34: b570 push {r4, r5, r6, lr} 70003f36: 4604 mov r4, r0 setX(x); 70003f38: 6b1b ldr r3, [r3, #48] @ 0x30 void setXY(int16_t x, int16_t y) 70003f3a: 4615 mov r5, r2 setX(x); 70003f3c: 4798 blx r3 setY(y); 70003f3e: 6823 ldr r3, [r4, #0] 70003f40: 4620 mov r0, r4 70003f42: 4629 mov r1, r5 70003f44: 6b5b ldr r3, [r3, #52] @ 0x34 } 70003f46: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} setY(y); 70003f4a: 4718 bx r3 70003f4c <_ZN18InitScreenViewBaseC1Ev>: InitScreenViewBase::InitScreenViewBase() : 70003f4c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 70003f50: b086 sub sp, #24 70003f52: 4604 mov r4, r0 : presenter(0) 70003f54: f00f fa0a bl 7001336c <_ZN8touchgfx6ScreenC1Ev> buttonCallback(this, &InitScreenViewBase::buttonCallbackHandler) 70003f58: 4b46 ldr r3, [pc, #280] @ (70004074 <_ZN18InitScreenViewBaseC1Ev+0x128>) class Box : public Widget { public: /** Construct a new Box with a default alpha value of 255 (solid) */ Box() : Widget(), alpha(255), color(0) 70003f5a: f44f 7280 mov.w r2, #256 @ 0x100 70003f5e: 2500 movs r5, #0 70003f60: 6023 str r3, [r4, #0] 70003f62: f104 076c add.w r7, r4, #108 @ 0x6c 70003f66: 4b44 ldr r3, [pc, #272] @ (70004078 <_ZN18InitScreenViewBaseC1Ev+0x12c>) * @see setBitmap */ Image(const Bitmap& bmp = Bitmap()) : Widget(), bitmap(bmp), alpha(255) { Image::setBitmap(bmp); 70003f68: f10d 0a14 add.w sl, sp, #20 70003f6c: 6662 str r2, [r4, #100] @ 0x64 70003f6e: f104 0698 add.w r6, r4, #152 @ 0x98 70003f72: 6423 str r3, [r4, #64] @ 0x40 70003f74: 23ff movs r3, #255 @ 0xff : Widget(), bitmap(bmp), alpha(255) 70003f76: f8c4 2090 str.w r2, [r4, #144] @ 0x90 Image::setBitmap(bmp); 70003f7a: 4651 mov r1, sl : Widget(), bitmap(bmp), alpha(255) 70003f7c: 4a3f ldr r2, [pc, #252] @ (7000407c <_ZN18InitScreenViewBaseC1Ev+0x130>) Image::setBitmap(bmp); 70003f7e: 4638 mov r0, r7 70003f80: f884 3066 strb.w r3, [r4, #102] @ 0x66 * array. * * @param id (Optional) The unique bitmap identifier. */ Bitmap(const BitmapId id = BITMAP_INVALID) : bitmapId(id) 70003f84: f64f 73ff movw r3, #65535 @ 0xffff : Widget(), bitmap(bmp), alpha(255) 70003f88: 66e2 str r2, [r4, #108] @ 0x6c __background.setPosition(0, 0, 800, 480); 70003f8a: f104 0840 add.w r8, r4, #64 @ 0x40 70003f8e: f8a4 3092 strh.w r3, [r4, #146] @ 0x92 * @note Must not be called with a Drawable that was already added to the screen. If in doubt, * call remove() first. */ void add(Drawable& d) { container.add(d); 70003f92: f104 0904 add.w r9, r4, #4 70003f96: f884 3094 strb.w r3, [r4, #148] @ 0x94 70003f9a: 63e5 str r5, [r4, #60] @ 0x3c : color(col) 70003f9c: 66a5 str r5, [r4, #104] @ 0x68 70003f9e: f8ad 3014 strh.w r3, [sp, #20] 70003fa2: e9c4 5511 strd r5, r5, [r4, #68] @ 0x44 70003fa6: e9c4 5513 strd r5, r5, [r4, #76] @ 0x4c nextSibling(0), 70003faa: e9c4 5515 strd r5, r5, [r4, #84] @ 0x54 70003fae: e9c4 5517 strd r5, r5, [r4, #92] @ 0x5c 70003fb2: e9c4 551c strd r5, r5, [r4, #112] @ 0x70 70003fb6: e9c4 551e strd r5, r5, [r4, #120] @ 0x78 70003fba: e9c4 5520 strd r5, r5, [r4, #128] @ 0x80 70003fbe: e9c4 5522 strd r5, r5, [r4, #136] @ 0x88 Image::setBitmap(bmp); 70003fc2: f00b feac bl 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE> buttonCallback(this, &InitScreenViewBase::buttonCallbackHandler) 70003fc6: 4630 mov r0, r6 70003fc8: f00b fe8a bl 7000fce0 <_ZN8touchgfx14ButtonWithIconC1Ev> : pobject(pObject), pmemfun(pmemfun_1) 70003fcc: 4b2c ldr r3, [pc, #176] @ (70004080 <_ZN18InitScreenViewBaseC1Ev+0x134>) setXY(x, y); 70003fce: 462a mov r2, r5 70003fd0: 4629 mov r1, r5 70003fd2: 4640 mov r0, r8 70003fd4: e9c4 3435 strd r3, r4, [r4, #212] @ 0xd4 70003fd8: 4b2a ldr r3, [pc, #168] @ (70004084 <_ZN18InitScreenViewBaseC1Ev+0x138>) 70003fda: e9c4 3537 strd r3, r5, [r4, #220] @ 0xdc 70003fde: f7ff ffa8 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> setWidth(width); 70003fe2: 4640 mov r0, r8 70003fe4: f44f 7148 mov.w r1, #800 @ 0x320 70003fe8: f7ff ff3a bl 70003e60 <_ZN8touchgfx8Drawable8setWidthEs> setHeight(height); 70003fec: 4640 mov r0, r8 70003fee: f44f 71f0 mov.w r1, #480 @ 0x1e0 70003ff2: f7ff ff37 bl 70003e64 <_ZN8touchgfx8Drawable9setHeightEs> * * @see getColor, Color::getColorFromRGB */ void setColor(colortype newColor) { color = newColor; 70003ff6: f04f 437f mov.w r3, #4278190080 @ 0xff000000 70003ffa: 4641 mov r1, r8 70003ffc: 4648 mov r0, r9 70003ffe: 66a3 str r3, [r4, #104] @ 0x68 70004000: f009 fed3 bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> image1.setXY(0, 0); 70004004: 462a mov r2, r5 70004006: 4629 mov r1, r5 70004008: 4638 mov r0, r7 7000400a: f7ff ff92 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> image1.setBitmap(touchgfx::Bitmap(BITMAP_ALTERNATE_THEME_IMAGES_BACKGROUNDS_800X480_METEOR_RAIN_ID)); 7000400e: 4651 mov r1, sl 70004010: 4638 mov r0, r7 70004012: f8ad 5014 strh.w r5, [sp, #20] 70004016: f00b fe82 bl 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE> 7000401a: 4639 mov r1, r7 7000401c: 4648 mov r0, r9 7000401e: f009 fec4 bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> buttonWithIcon1.setXY(280, 215); 70004022: 4630 mov r0, r6 70004024: 22d7 movs r2, #215 @ 0xd7 70004026: f44f 718c mov.w r1, #280 @ 0x118 7000402a: f7ff ff82 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7000402e: 2301 movs r3, #1 buttonWithIcon1.setBitmaps(touchgfx::Bitmap(BITMAP_ALTERNATE_THEME_IMAGES_WIDGETS_BUTTON_REGULAR_HEIGHT_50_MEDIUM_ROUNDED_NORMAL_ID), touchgfx::Bitmap(BITMAP_ALTERNATE_THEME_IMAGES_WIDGETS_BUTTON_REGULAR_HEIGHT_50_MEDIUM_ROUNDED_PRESSED_ID), touchgfx::Bitmap(BITMAP_ICON_THEME_IMAGES_ACTION_INPUT_50_50_E8F6FB_SVG_ID), touchgfx::Bitmap(BITMAP_ICON_THEME_IMAGES_ACTION_DONE_50_50_E8F6FB_SVG_ID)); 70004030: aa03 add r2, sp, #12 70004032: a902 add r1, sp, #8 70004034: f8ad 3008 strh.w r3, [sp, #8] 70004038: 2302 movs r3, #2 7000403a: 4630 mov r0, r6 7000403c: f8cd a000 str.w sl, [sp] 70004040: f8ad 300c strh.w r3, [sp, #12] 70004044: 230a movs r3, #10 70004046: f8ad 3010 strh.w r3, [sp, #16] 7000404a: 2309 movs r3, #9 7000404c: f8ad 3014 strh.w r3, [sp, #20] 70004050: ab04 add r3, sp, #16 70004052: f00b fd6d bl 7000fb30 <_ZN8touchgfx14ButtonWithIcon10setBitmapsERKNS_6BitmapES3_S3_S3_> * @note The user code must call invalidate() in order to update the button on the display. * @note The value set is overwritten on a subsequent call to setBitmaps. */ void setIconX(int16_t x) { iconX = x; 70004056: 2361 movs r3, #97 @ 0x61 70004058: 4648 mov r0, r9 7000405a: 4631 mov r1, r6 7000405c: f8c4 30d0 str.w r3, [r4, #208] @ 0xd0 buttonWithIcon1.setAction(buttonCallback); 70004060: f104 03d4 add.w r3, r4, #212 @ 0xd4 * * @see GenericCallback, handleClickEvent, ClickEvent */ void setAction(GenericCallback& callback) { action = &callback; 70004064: f8c4 30c0 str.w r3, [r4, #192] @ 0xc0 70004068: f009 fe9f bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> } 7000406c: 4620 mov r0, r4 7000406e: b006 add sp, #24 70004070: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 70004074: 7003f080 .word 0x7003f080 70004078: 7003f918 .word 0x7003f918 7000407c: 7003fae0 .word 0x7003fae0 70004080: 7003f068 .word 0x7003f068 70004084: 70003f1d .word 0x70003f1d 70004088 <_ZN15Screen1ViewBase6VolumeEs>: * Custom Actions */ virtual void Volume(int16_t value) { // Override and implement this function in Screen1 } 70004088: 4770 bx lr 7000408a <_ZN15Screen1ViewBase14slider1ClickedEi>: * Virtual Action Handlers */ virtual void slider1Clicked(int value) { // Override and implement this function in Screen1 } 7000408a: 4770 bx lr 7000408c <_ZN8touchgfx8CallbackI15Screen1ViewBaseRKNS_6SliderEivED1Ev>: struct Callback : public GenericCallback 7000408c: 4770 bx lr 7000408e <_ZN15Screen1ViewBaseD1Ev>: } Screen1ViewBase::~Screen1ViewBase() { } 7000408e: 4770 bx lr 70004090 <_ZN15Screen1ViewBase11setupScreenEv>: void Screen1ViewBase::setupScreen() { } 70004090: 4770 bx lr 70004092 <_ZN8touchgfx8CallbackI15Screen1ViewBaseRKNS_6SliderEivE7executeES4_i>: virtual void execute(T1 t1, T2 t2) 70004092: b470 push {r4, r5, r6} (pobject->*pmemfun)(t1, t2); 70004094: e9d0 3402 ldrd r3, r4, [r0, #8] 70004098: 6845 ldr r5, [r0, #4] 7000409a: 1066 asrs r6, r4, #1 7000409c: eb05 0064 add.w r0, r5, r4, asr #1 700040a0: 07e4 lsls r4, r4, #31 700040a2: bf44 itt mi 700040a4: 59ac ldrmi r4, [r5, r6] 700040a6: 58e3 ldrmi r3, [r4, r3] } 700040a8: bc70 pop {r4, r5, r6} (pobject->*pmemfun)(t1, t2); 700040aa: 4718 bx r3 700040ac <_ZNK8touchgfx8CallbackI15Screen1ViewBaseRKNS_6SliderEivE7isValidEv>: virtual bool isValid() const 700040ac: 4603 mov r3, r0 return (pobject != 0) && (pmemfun != 0); 700040ae: 6840 ldr r0, [r0, #4] 700040b0: b130 cbz r0, 700040c0 <_ZNK8touchgfx8CallbackI15Screen1ViewBaseRKNS_6SliderEivE7isValidEv+0x14> 700040b2: 689a ldr r2, [r3, #8] 700040b4: b91a cbnz r2, 700040be <_ZNK8touchgfx8CallbackI15Screen1ViewBaseRKNS_6SliderEivE7isValidEv+0x12> 700040b6: 68d8 ldr r0, [r3, #12] 700040b8: f000 0001 and.w r0, r0, #1 700040bc: 4770 bx lr 700040be: 2001 movs r0, #1 } 700040c0: 4770 bx lr 700040c2 <_ZN8touchgfx8CallbackI15Screen1ViewBaseRKNS_6SliderEivED0Ev>: struct Callback : public GenericCallback 700040c2: b510 push {r4, lr} 700040c4: 4604 mov r4, r0 700040c6: 2110 movs r1, #16 700040c8: f035 fb75 bl 700397b6 <_ZdlPvj> 700040cc: 4620 mov r0, r4 700040ce: bd10 pop {r4, pc} 700040d0 <_ZN15Screen1ViewBaseD0Ev>: Screen1ViewBase::~Screen1ViewBase() 700040d0: b510 push {r4, lr} 700040d2: 4604 mov r4, r0 } 700040d4: f44f 714f mov.w r1, #828 @ 0x33c 700040d8: f035 fb6d bl 700397b6 <_ZdlPvj> 700040dc: 4620 mov r0, r4 700040de: bd10 pop {r4, pc} 700040e0 <_ZN15Screen1ViewBase33sliderValueChangedCallbackHandlerERKN8touchgfx6SliderEi>: void Screen1ViewBase::sliderValueChangedCallbackHandler(const touchgfx::Slider& src, int value) { 700040e0: b410 push {r4} if (&src == &slider1) 700040e2: f100 0498 add.w r4, r0, #152 @ 0x98 700040e6: 428c cmp r4, r1 700040e8: d105 bne.n 700040f6 <_ZN15Screen1ViewBase33sliderValueChangedCallbackHandlerERKN8touchgfx6SliderEi+0x16> { //InteractionSlider1 //When slider1 value changed call virtual function //Call slider1Clicked slider1Clicked(value); 700040ea: 6803 ldr r3, [r0, #0] 700040ec: 4611 mov r1, r2 } } 700040ee: f85d 4b04 ldr.w r4, [sp], #4 slider1Clicked(value); 700040f2: 6b1b ldr r3, [r3, #48] @ 0x30 700040f4: 4718 bx r3 } 700040f6: f85d 4b04 ldr.w r4, [sp], #4 700040fa: 4770 bx lr 700040fc <_ZN8touchgfx8Drawable11setPositionEssss>: void setPosition(int16_t x, int16_t y, int16_t width, int16_t height) 700040fc: b570 push {r4, r5, r6, lr} 700040fe: 4604 mov r4, r0 70004100: 461d mov r5, r3 70004102: f9bd 6010 ldrsh.w r6, [sp, #16] setXY(x, y); 70004106: f7ff ff14 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> setWidth(width); 7000410a: 6823 ldr r3, [r4, #0] 7000410c: 4629 mov r1, r5 7000410e: 4620 mov r0, r4 70004110: 6b9b ldr r3, [r3, #56] @ 0x38 70004112: 4798 blx r3 setHeight(height); 70004114: 6823 ldr r3, [r4, #0] 70004116: 4631 mov r1, r6 70004118: 4620 mov r0, r4 7000411a: 6bdb ldr r3, [r3, #60] @ 0x3c } 7000411c: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} setHeight(height); 70004120: 4718 bx r3 ... 70004124 <_ZN15Screen1ViewBaseC1Ev>: Screen1ViewBase::Screen1ViewBase() : 70004124: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 70004128: b086 sub sp, #24 7000412a: 4604 mov r4, r0 7000412c: f00f f91e bl 7001336c <_ZN8touchgfx6ScreenC1Ev> sliderValueChangedCallback(this, &Screen1ViewBase::sliderValueChangedCallbackHandler) 70004130: 4b69 ldr r3, [pc, #420] @ (700042d8 <_ZN15Screen1ViewBaseC1Ev+0x1b4>) : Widget(), alpha(255), color(0) 70004132: f44f 7280 mov.w r2, #256 @ 0x100 70004136: 2500 movs r5, #0 70004138: 6023 str r3, [r4, #0] 7000413a: f104 096c add.w r9, r4, #108 @ 0x6c 7000413e: 4b67 ldr r3, [pc, #412] @ (700042dc <_ZN15Screen1ViewBaseC1Ev+0x1b8>) 70004140: f104 0798 add.w r7, r4, #152 @ 0x98 70004144: 6662 str r2, [r4, #100] @ 0x64 70004146: f504 76c6 add.w r6, r4, #396 @ 0x18c 7000414a: 6423 str r3, [r4, #64] @ 0x40 7000414c: 23ff movs r3, #255 @ 0xff : Widget(), bitmap(bmp), alpha(255) 7000414e: f8c4 2090 str.w r2, [r4, #144] @ 0x90 Image::setBitmap(bmp); 70004152: a905 add r1, sp, #20 : Widget(), bitmap(bmp), alpha(255) 70004154: 4a62 ldr r2, [pc, #392] @ (700042e0 <_ZN15Screen1ViewBaseC1Ev+0x1bc>) Image::setBitmap(bmp); 70004156: 4648 mov r0, r9 70004158: f884 3066 strb.w r3, [r4, #102] @ 0x66 7000415c: f64f 73ff movw r3, #65535 @ 0xffff : Widget(), bitmap(bmp), alpha(255) 70004160: 66e2 str r2, [r4, #108] @ 0x6c __background.setPosition(0, 0, 800, 480); 70004162: f104 0a40 add.w sl, r4, #64 @ 0x40 70004166: f8a4 3092 strh.w r3, [r4, #146] @ 0x92 7000416a: f104 0804 add.w r8, r4, #4 7000416e: f884 3094 strb.w r3, [r4, #148] @ 0x94 70004172: 63e5 str r5, [r4, #60] @ 0x3c 70004174: 66a5 str r5, [r4, #104] @ 0x68 70004176: f8ad 3014 strh.w r3, [sp, #20] 7000417a: e9c4 5511 strd r5, r5, [r4, #68] @ 0x44 7000417e: e9c4 5513 strd r5, r5, [r4, #76] @ 0x4c nextSibling(0), 70004182: e9c4 5515 strd r5, r5, [r4, #84] @ 0x54 70004186: e9c4 5517 strd r5, r5, [r4, #92] @ 0x5c 7000418a: e9c4 551c strd r5, r5, [r4, #112] @ 0x70 7000418e: e9c4 551e strd r5, r5, [r4, #120] @ 0x78 70004192: e9c4 5520 strd r5, r5, [r4, #128] @ 0x80 70004196: e9c4 5522 strd r5, r5, [r4, #136] @ 0x88 Image::setBitmap(bmp); 7000419a: f00b fdc0 bl 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE> sliderValueChangedCallback(this, &Screen1ViewBase::sliderValueChangedCallbackHandler) 7000419e: 4638 mov r0, r7 700041a0: f00a faba bl 7000e718 <_ZN8touchgfx6SliderC1Ev> 700041a4: 4630 mov r0, r6 700041a6: f00b fb8b bl 7000f8c0 <_ZN8touchgfx5GaugeC1Ev> : pobject(pObject), pmemfun(pmemfun_2) 700041aa: 4b4e ldr r3, [pc, #312] @ (700042e4 <_ZN15Screen1ViewBaseC1Ev+0x1c0>) __background.setPosition(0, 0, 800, 480); 700041ac: 462a mov r2, r5 700041ae: 4629 mov r1, r5 700041b0: 4650 mov r0, sl 700041b2: e9c4 34cb strd r3, r4, [r4, #812] @ 0x32c 700041b6: 4b4c ldr r3, [pc, #304] @ (700042e8 <_ZN15Screen1ViewBaseC1Ev+0x1c4>) 700041b8: e9c4 35cd strd r3, r5, [r4, #820] @ 0x334 700041bc: f44f 73f0 mov.w r3, #480 @ 0x1e0 700041c0: 9300 str r3, [sp, #0] 700041c2: f44f 7348 mov.w r3, #800 @ 0x320 700041c6: f7ff ff99 bl 700040fc <_ZN8touchgfx8Drawable11setPositionEssss> color = newColor; 700041ca: f04f 437f mov.w r3, #4278190080 @ 0xff000000 700041ce: 4651 mov r1, sl 700041d0: 4640 mov r0, r8 700041d2: 66a3 str r3, [r4, #104] @ 0x68 700041d4: f009 fde9 bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> image1.setXY(0, 0); 700041d8: 462a mov r2, r5 700041da: 4629 mov r1, r5 700041dc: 4648 mov r0, r9 700041de: f7ff fea8 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 700041e2: 2308 movs r3, #8 image1.setBitmap(touchgfx::Bitmap(BITMAP_GLASS_THEME_IMAGES_BACKGROUNDS_800X480_GRADIENT_RAINBOW_ID)); 700041e4: a905 add r1, sp, #20 700041e6: 4648 mov r0, r9 700041e8: f8ad 3014 strh.w r3, [sp, #20] 700041ec: f00b fd97 bl 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE> 700041f0: 4649 mov r1, r9 700041f2: 4640 mov r0, r8 700041f4: f009 fdd9 bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> slider1.setXY(360, 224); 700041f8: 4638 mov r0, r7 700041fa: 22e0 movs r2, #224 @ 0xe0 700041fc: f44f 71b4 mov.w r1, #360 @ 0x168 70004200: f7ff fe97 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 70004204: 2305 movs r3, #5 70004206: f04f 0907 mov.w r9, #7 slider1.setBitmaps(touchgfx::Bitmap(BITMAP_ALTERNATE_THEME_IMAGES_WIDGETS_SLIDER_HORIZONTAL_THICK_TRACK_MEDIUM_ID), touchgfx::Bitmap(BITMAP_ALTERNATE_THEME_IMAGES_WIDGETS_SLIDER_HORIZONTAL_THICK_FILLER_MEDIUM_ID), touchgfx::Bitmap(BITMAP_ALTERNATE_THEME_IMAGES_WIDGETS_SLIDER_HORIZONTAL_THICK_ROUNDED_DARK_ID)); 7000420a: aa04 add r2, sp, #16 7000420c: f8ad 3010 strh.w r3, [sp, #16] 70004210: 2306 movs r3, #6 70004212: a903 add r1, sp, #12 70004214: 4638 mov r0, r7 70004216: f8ad 3014 strh.w r3, [sp, #20] 7000421a: ab05 add r3, sp, #20 7000421c: f8ad 900c strh.w r9, [sp, #12] 70004220: f00a fad4 bl 7000e7cc <_ZN8touchgfx6Slider10setBitmapsERKNS_6BitmapES3_S3_> slider1.setupHorizontalSlider(16, 11, 0, 0, 300); 70004224: f44f 7396 mov.w r3, #300 @ 0x12c 70004228: 4638 mov r0, r7 7000422a: 220b movs r2, #11 7000422c: 2110 movs r1, #16 7000422e: e9cd 5300 strd r5, r3, [sp] 70004232: 462b mov r3, r5 70004234: f00a fa05 bl 7000e642 <_ZN8touchgfx6Slider21setupHorizontalSliderEsssss> slider1.setValueRange(0, 100); 70004238: 2264 movs r2, #100 @ 0x64 7000423a: 4629 mov r1, r5 7000423c: 4638 mov r0, r7 7000423e: f00a f8c8 bl 7000e3d2 <_ZN8touchgfx6Slider13setValueRangeEss> slider1.setValue(0); 70004242: 4629 mov r1, r5 70004244: 4638 mov r0, r7 70004246: f00a f84d bl 7000e2e4 <_ZN8touchgfx6Slider8setValueEs> slider1.setNewValueCallback(sliderValueChangedCallback); 7000424a: f504 734b add.w r3, r4, #812 @ 0x32c 7000424e: 4639 mov r1, r7 70004250: 4640 mov r0, r8 * * @see GenericCallback */ void setNewValueCallback(GenericCallback& callback) { newValueCallback = &callback; 70004252: f8c4 3188 str.w r3, [r4, #392] @ 0x188 70004256: f009 fda8 bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> 7000425a: 2303 movs r3, #3 gauge1.setBackground(touchgfx::Bitmap(BITMAP_ALTERNATE_THEME_IMAGES_WIDGETS_GAUGE_MEDIUM_BACKGROUNDS_ACTIVE_ID)); 7000425c: a905 add r1, sp, #20 7000425e: 4630 mov r0, r6 70004260: f8ad 3014 strh.w r3, [sp, #20] 70004264: f009 fd34 bl 7000dcd0 <_ZN8touchgfx25AbstractProgressIndicator13setBackgroundERKNS_6BitmapE> gauge1.setPosition(41, 104, 240, 240); 70004268: 23f0 movs r3, #240 @ 0xf0 7000426a: 4630 mov r0, r6 7000426c: 2268 movs r2, #104 @ 0x68 7000426e: 2129 movs r1, #41 @ 0x29 70004270: 9300 str r3, [sp, #0] 70004272: f7ff ff43 bl 700040fc <_ZN8touchgfx8Drawable11setPositionEssss> gauge1.setCenter(120, 120); 70004276: 2278 movs r2, #120 @ 0x78 70004278: 4630 mov r0, r6 7000427a: 4611 mov r1, r2 7000427c: f00b fbc4 bl 7000fa08 <_ZN8touchgfx5Gauge9setCenterEii> gauge1.setStartEndAngle(-113, 112); 70004280: 4630 mov r0, r6 70004282: 2270 movs r2, #112 @ 0x70 70004284: f06f 0170 mvn.w r1, #112 @ 0x70 70004288: f00b fc34 bl 7000faf4 <_ZN8touchgfx5Gauge16setStartEndAngleEii> gauge1.setRange(0, 100); 7000428c: 462b mov r3, r5 7000428e: 2264 movs r2, #100 @ 0x64 70004290: 4629 mov r1, r5 70004292: 4630 mov r0, r6 70004294: 9500 str r5, [sp, #0] 70004296: f009 fbc3 bl 7000da20 <_ZN8touchgfx25AbstractProgressIndicator8setRangeEiitt> gauge1.setValue(50); 7000429a: 4630 mov r0, r6 7000429c: 2132 movs r1, #50 @ 0x32 7000429e: f00b fbdf bl 7000fa60 <_ZN8touchgfx5Gauge8setValueEi> gauge1.setEasingEquation(touchgfx::EasingEquations::linearEaseIn); 700042a2: 4630 mov r0, r6 700042a4: 4911 ldr r1, [pc, #68] @ (700042ec <_ZN15Screen1ViewBaseC1Ev+0x1c8>) 700042a6: f009 fbf3 bl 7000da90 <_ZN8touchgfx25AbstractProgressIndicator17setEasingEquationEPFstsstE> gauge1.setNeedle(BITMAP_ALTERNATE_THEME_IMAGES_WIDGETS_GAUGE_MEDIUM_NEEDLES_SMOOTH_ID, 7, 67); 700042aa: 2343 movs r3, #67 @ 0x43 700042ac: 464a mov r2, r9 700042ae: 4630 mov r0, r6 700042b0: 2104 movs r1, #4 700042b2: f00b fb95 bl 7000f9e0 <_ZN8touchgfx5Gauge9setNeedleEtss> gauge1.setMovingNeedleRenderingAlgorithm(touchgfx::TextureMapper::BILINEAR_INTERPOLATION); 700042b6: 4630 mov r0, r6 700042b8: 2101 movs r1, #1 700042ba: f00b fb33 bl 7000f924 <_ZN8touchgfx5Gauge33setMovingNeedleRenderingAlgorithmENS_13TextureMapper18RenderingAlgorithmE> gauge1.setSteadyNeedleRenderingAlgorithm(touchgfx::TextureMapper::BILINEAR_INTERPOLATION); 700042be: 4630 mov r0, r6 700042c0: 2101 movs r1, #1 700042c2: f00b fb32 bl 7000f92a <_ZN8touchgfx5Gauge33setSteadyNeedleRenderingAlgorithmENS_13TextureMapper18RenderingAlgorithmE> 700042c6: 4640 mov r0, r8 700042c8: 4631 mov r1, r6 700042ca: f009 fd6e bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> } 700042ce: 4620 mov r0, r4 700042d0: b006 add sp, #24 700042d2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 700042d6: bf00 nop 700042d8: 7003f0d0 .word 0x7003f0d0 700042dc: 7003f918 .word 0x7003f918 700042e0: 7003fae0 .word 0x7003fae0 700042e4: 7003f0b8 .word 0x7003f0b8 700042e8: 700040e1 .word 0x700040e1 700042ec: 70013707 .word 0x70013707 700042f0 <__tcf_0>: touchgfx::GeneratedFont& getFont_arial_10_4bpp(); touchgfx::GeneratedFont& getFont_arial_10_4bpp() { static touchgfx::GeneratedFont arial_10_4bpp(glyphs_arial_10_4bpp, 1, 10, 10, 0, 0, 4, 1, 0, 0, unicodes_arial_10_4bpp, kerning_arial_10_4bpp, 63, 0, 0, &arial_contextualFormsTable); 700042f0: 4770 bx lr ... 700042f4 <_Z21getFont_arial_10_4bppv>: { 700042f4: b530 push {r4, r5, lr} static touchgfx::GeneratedFont arial_10_4bpp(glyphs_arial_10_4bpp, 1, 10, 10, 0, 0, 4, 1, 0, 0, unicodes_arial_10_4bpp, kerning_arial_10_4bpp, 63, 0, 0, &arial_contextualFormsTable); 700042f6: 4d16 ldr r5, [pc, #88] @ (70004350 <_Z21getFont_arial_10_4bppv+0x5c>) { 700042f8: b08f sub sp, #60 @ 0x3c static touchgfx::GeneratedFont arial_10_4bpp(glyphs_arial_10_4bpp, 1, 10, 10, 0, 0, 4, 1, 0, 0, unicodes_arial_10_4bpp, kerning_arial_10_4bpp, 63, 0, 0, &arial_contextualFormsTable); 700042fa: 682c ldr r4, [r5, #0] 700042fc: f3bf 8f5b dmb ish 70004300: f014 0401 ands.w r4, r4, #1 70004304: d121 bne.n 7000434a <_Z21getFont_arial_10_4bppv+0x56> 70004306: 4628 mov r0, r5 70004308: f035 fa57 bl 700397ba <__cxa_guard_acquire> 7000430c: b1e8 cbz r0, 7000434a <_Z21getFont_arial_10_4bppv+0x56> 7000430e: 4b11 ldr r3, [pc, #68] @ (70004354 <_Z21getFont_arial_10_4bppv+0x60>) 70004310: 2201 movs r2, #1 70004312: 4911 ldr r1, [pc, #68] @ (70004358 <_Z21getFont_arial_10_4bppv+0x64>) 70004314: 4811 ldr r0, [pc, #68] @ (7000435c <_Z21getFont_arial_10_4bppv+0x68>) 70004316: 940a str r4, [sp, #40] @ 0x28 70004318: 9405 str r4, [sp, #20] 7000431a: e9cd 430b strd r4, r3, [sp, #44] @ 0x2c 7000431e: 233f movs r3, #63 @ 0x3f 70004320: 9309 str r3, [sp, #36] @ 0x24 70004322: 4b0f ldr r3, [pc, #60] @ (70004360 <_Z21getFont_arial_10_4bppv+0x6c>) 70004324: 9308 str r3, [sp, #32] 70004326: 4b0f ldr r3, [pc, #60] @ (70004364 <_Z21getFont_arial_10_4bppv+0x70>) 70004328: e9cd 4306 strd r4, r3, [sp, #24] 7000432c: 2304 movs r3, #4 7000432e: e9cd 3203 strd r3, r2, [sp, #12] 70004332: 230a movs r3, #10 70004334: e9cd 4401 strd r4, r4, [sp, #4] 70004338: 9300 str r3, [sp, #0] 7000433a: f7ff fd5b bl 70003df4 <_ZN8touchgfx13GeneratedFontC1EPKNS_9GlyphNodeEttthhhhhhPKPKhPKNS_11KerningNodeEttPKtPKNS_24FontContextualFormsTableE> 7000433e: 480a ldr r0, [pc, #40] @ (70004368 <_Z21getFont_arial_10_4bppv+0x74>) 70004340: f036 fe56 bl 7003aff0 70004344: 4628 mov r0, r5 70004346: f035 fa44 bl 700397d2 <__cxa_guard_release> return arial_10_4bpp; } 7000434a: 4804 ldr r0, [pc, #16] @ (7000435c <_Z21getFont_arial_10_4bppv+0x68>) 7000434c: b00f add sp, #60 @ 0x3c 7000434e: bd30 pop {r4, r5, pc} 70004350: 2400bea8 .word 0x2400bea8 70004354: 7003f104 .word 0x7003f104 70004358: 7020017c .word 0x7020017c 7000435c: 2400beac .word 0x2400beac 70004360: 70040a0c .word 0x70040a0c 70004364: 70040a18 .word 0x70040a18 70004368: 700042f1 .word 0x700042f1 7000436c <__tcf_0>: extern const touchgfx::FontContextualFormsTable arial_contextualFormsTable; touchgfx::GeneratedFont& getFont_arial_20_4bpp(); touchgfx::GeneratedFont& getFont_arial_20_4bpp() { static touchgfx::GeneratedFont arial_20_4bpp(glyphs_arial_20_4bpp, 1, 20, 20, 0, 0, 4, 1, 0, 0, unicodes_arial_20_4bpp, kerning_arial_20_4bpp, 63, 0, 0, &arial_contextualFormsTable); 7000436c: 4770 bx lr ... 70004370 <_Z21getFont_arial_20_4bppv>: { 70004370: b530 push {r4, r5, lr} static touchgfx::GeneratedFont arial_20_4bpp(glyphs_arial_20_4bpp, 1, 20, 20, 0, 0, 4, 1, 0, 0, unicodes_arial_20_4bpp, kerning_arial_20_4bpp, 63, 0, 0, &arial_contextualFormsTable); 70004372: 4d16 ldr r5, [pc, #88] @ (700043cc <_Z21getFont_arial_20_4bppv+0x5c>) { 70004374: b08f sub sp, #60 @ 0x3c static touchgfx::GeneratedFont arial_20_4bpp(glyphs_arial_20_4bpp, 1, 20, 20, 0, 0, 4, 1, 0, 0, unicodes_arial_20_4bpp, kerning_arial_20_4bpp, 63, 0, 0, &arial_contextualFormsTable); 70004376: 682c ldr r4, [r5, #0] 70004378: f3bf 8f5b dmb ish 7000437c: f014 0401 ands.w r4, r4, #1 70004380: d121 bne.n 700043c6 <_Z21getFont_arial_20_4bppv+0x56> 70004382: 4628 mov r0, r5 70004384: f035 fa19 bl 700397ba <__cxa_guard_acquire> 70004388: b1e8 cbz r0, 700043c6 <_Z21getFont_arial_20_4bppv+0x56> 7000438a: 4b11 ldr r3, [pc, #68] @ (700043d0 <_Z21getFont_arial_20_4bppv+0x60>) 7000438c: 2201 movs r2, #1 7000438e: 4911 ldr r1, [pc, #68] @ (700043d4 <_Z21getFont_arial_20_4bppv+0x64>) 70004390: 4811 ldr r0, [pc, #68] @ (700043d8 <_Z21getFont_arial_20_4bppv+0x68>) 70004392: 940a str r4, [sp, #40] @ 0x28 70004394: 9405 str r4, [sp, #20] 70004396: e9cd 430b strd r4, r3, [sp, #44] @ 0x2c 7000439a: 233f movs r3, #63 @ 0x3f 7000439c: 9309 str r3, [sp, #36] @ 0x24 7000439e: 4b0f ldr r3, [pc, #60] @ (700043dc <_Z21getFont_arial_20_4bppv+0x6c>) 700043a0: 9308 str r3, [sp, #32] 700043a2: 4b0f ldr r3, [pc, #60] @ (700043e0 <_Z21getFont_arial_20_4bppv+0x70>) 700043a4: e9cd 4306 strd r4, r3, [sp, #24] 700043a8: 2304 movs r3, #4 700043aa: e9cd 3203 strd r3, r2, [sp, #12] 700043ae: 2314 movs r3, #20 700043b0: e9cd 4401 strd r4, r4, [sp, #4] 700043b4: 9300 str r3, [sp, #0] 700043b6: f7ff fd1d bl 70003df4 <_ZN8touchgfx13GeneratedFontC1EPKNS_9GlyphNodeEttthhhhhhPKPKhPKNS_11KerningNodeEttPKtPKNS_24FontContextualFormsTableE> 700043ba: 480a ldr r0, [pc, #40] @ (700043e4 <_Z21getFont_arial_20_4bppv+0x74>) 700043bc: f036 fe18 bl 7003aff0 700043c0: 4628 mov r0, r5 700043c2: f035 fa06 bl 700397d2 <__cxa_guard_release> return arial_20_4bpp; } 700043c6: 4804 ldr r0, [pc, #16] @ (700043d8 <_Z21getFont_arial_20_4bppv+0x68>) 700043c8: b00f add sp, #60 @ 0x3c 700043ca: bd30 pop {r4, r5, pc} 700043cc: 2400bed8 .word 0x2400bed8 700043d0: 7003f104 .word 0x7003f104 700043d4: 7020018c .word 0x7020018c 700043d8: 2400bedc .word 0x2400bedc 700043dc: 70040a10 .word 0x70040a10 700043e0: 70040a1c .word 0x70040a1c 700043e4: 7000436d .word 0x7000436d 700043e8 <__tcf_0>: extern const touchgfx::FontContextualFormsTable arial_contextualFormsTable; touchgfx::GeneratedFont& getFont_arial_40_4bpp(); touchgfx::GeneratedFont& getFont_arial_40_4bpp() { static touchgfx::GeneratedFont arial_40_4bpp(glyphs_arial_40_4bpp, 1, 40, 40, 0, 0, 4, 1, 0, 0, unicodes_arial_40_4bpp, kerning_arial_40_4bpp, 63, 0, 0, &arial_contextualFormsTable); 700043e8: 4770 bx lr ... 700043ec <_Z21getFont_arial_40_4bppv>: { 700043ec: b530 push {r4, r5, lr} static touchgfx::GeneratedFont arial_40_4bpp(glyphs_arial_40_4bpp, 1, 40, 40, 0, 0, 4, 1, 0, 0, unicodes_arial_40_4bpp, kerning_arial_40_4bpp, 63, 0, 0, &arial_contextualFormsTable); 700043ee: 4d16 ldr r5, [pc, #88] @ (70004448 <_Z21getFont_arial_40_4bppv+0x5c>) { 700043f0: b08f sub sp, #60 @ 0x3c static touchgfx::GeneratedFont arial_40_4bpp(glyphs_arial_40_4bpp, 1, 40, 40, 0, 0, 4, 1, 0, 0, unicodes_arial_40_4bpp, kerning_arial_40_4bpp, 63, 0, 0, &arial_contextualFormsTable); 700043f2: 682c ldr r4, [r5, #0] 700043f4: f3bf 8f5b dmb ish 700043f8: f014 0401 ands.w r4, r4, #1 700043fc: d121 bne.n 70004442 <_Z21getFont_arial_40_4bppv+0x56> 700043fe: 4628 mov r0, r5 70004400: f035 f9db bl 700397ba <__cxa_guard_acquire> 70004404: b1e8 cbz r0, 70004442 <_Z21getFont_arial_40_4bppv+0x56> 70004406: 4b11 ldr r3, [pc, #68] @ (7000444c <_Z21getFont_arial_40_4bppv+0x60>) 70004408: 2201 movs r2, #1 7000440a: 4911 ldr r1, [pc, #68] @ (70004450 <_Z21getFont_arial_40_4bppv+0x64>) 7000440c: 4811 ldr r0, [pc, #68] @ (70004454 <_Z21getFont_arial_40_4bppv+0x68>) 7000440e: 940a str r4, [sp, #40] @ 0x28 70004410: 9405 str r4, [sp, #20] 70004412: e9cd 430b strd r4, r3, [sp, #44] @ 0x2c 70004416: 233f movs r3, #63 @ 0x3f 70004418: 9309 str r3, [sp, #36] @ 0x24 7000441a: 4b0f ldr r3, [pc, #60] @ (70004458 <_Z21getFont_arial_40_4bppv+0x6c>) 7000441c: 9308 str r3, [sp, #32] 7000441e: 4b0f ldr r3, [pc, #60] @ (7000445c <_Z21getFont_arial_40_4bppv+0x70>) 70004420: e9cd 4306 strd r4, r3, [sp, #24] 70004424: 2304 movs r3, #4 70004426: e9cd 3203 strd r3, r2, [sp, #12] 7000442a: 2328 movs r3, #40 @ 0x28 7000442c: e9cd 4401 strd r4, r4, [sp, #4] 70004430: 9300 str r3, [sp, #0] 70004432: f7ff fcdf bl 70003df4 <_ZN8touchgfx13GeneratedFontC1EPKNS_9GlyphNodeEttthhhhhhPKPKhPKNS_11KerningNodeEttPKtPKNS_24FontContextualFormsTableE> 70004436: 480a ldr r0, [pc, #40] @ (70004460 <_Z21getFont_arial_40_4bppv+0x74>) 70004438: f036 fdda bl 7003aff0 7000443c: 4628 mov r0, r5 7000443e: f035 f9c8 bl 700397d2 <__cxa_guard_release> return arial_40_4bpp; } 70004442: 4804 ldr r0, [pc, #16] @ (70004454 <_Z21getFont_arial_40_4bppv+0x68>) 70004444: b00f add sp, #60 @ 0x3c 70004446: bd30 pop {r4, r5, pc} 70004448: 2400bf08 .word 0x2400bf08 7000444c: 7003f104 .word 0x7003f104 70004450: 7020019c .word 0x7020019c 70004454: 2400bf0c .word 0x2400bf0c 70004458: 70040a14 .word 0x70040a14 7000445c: 70040a20 .word 0x70040a20 70004460: 700043e9 .word 0x700043e9 70004464 <_ZNK8touchgfx4Font12getGSUBTableEv>: } 70004464: 2000 movs r0, #0 70004466: 4770 bx lr 70004468 <_ZNK8touchgfx4Font23getContextualFormsTableEv>: } 70004468: 2000 movs r0, #0 7000446a: 4770 bx lr 7000446c <_ZNK8touchgfx4Font14getStringWidthEPKtz>: #include #include #include uint16_t touchgfx::Font::getStringWidth(const touchgfx::Unicode::UnicodeChar* text, ...) const { 7000446c: b40e push {r1, r2, r3} 7000446e: b503 push {r0, r1, lr} 70004470: ab03 add r3, sp, #12 va_list pArg; va_start(pArg, text); uint16_t width = getStringWidthLTR(TEXT_DIRECTION_LTR, text, pArg); 70004472: 2100 movs r1, #0 { 70004474: f853 2b04 ldr.w r2, [r3], #4 va_start(pArg, text); 70004478: 9301 str r3, [sp, #4] uint16_t width = getStringWidthLTR(TEXT_DIRECTION_LTR, text, pArg); 7000447a: f00d ff21 bl 700122c0 <_ZNK8touchgfx4Font17getStringWidthLTREhPKtSt9__va_list> va_end(pArg); return width; } 7000447e: b002 add sp, #8 70004480: f85d eb04 ldr.w lr, [sp], #4 70004484: b003 add sp, #12 70004486: 4770 bx lr 70004488 <_ZNK8touchgfx4Font14getStringWidthEhPKtz>: uint16_t touchgfx::Font::getStringWidth(touchgfx::TextDirection textDirection, const touchgfx::Unicode::UnicodeChar* text, ...) const { 70004488: b40c push {r2, r3} 7000448a: b507 push {r0, r1, r2, lr} 7000448c: ab04 add r3, sp, #16 7000448e: f853 2b04 ldr.w r2, [r3], #4 va_list pArg; va_start(pArg, text); 70004492: 9301 str r3, [sp, #4] uint16_t width = getStringWidthLTR(textDirection, text, pArg); 70004494: f00d ff14 bl 700122c0 <_ZNK8touchgfx4Font17getStringWidthLTREhPKtSt9__va_list> va_end(pArg); return width; } 70004498: b003 add sp, #12 7000449a: f85d eb04 ldr.w lr, [sp], #4 7000449e: b002 add sp, #8 700044a0: 4770 bx lr ... 700044a4 <_ZN8touchgfx12TextProvider15getNextLigatureEh>: touchgfx::Unicode::UnicodeChar touchgfx::TextProvider::getNextLigature(TextDirection direction) { if (fontGsubTable && nextCharacters.peekChar()) 700044a4: 6c43 ldr r3, [r0, #68] @ 0x44 { 700044a6: b510 push {r4, lr} 700044a8: 4604 mov r4, r0 if (fontGsubTable && nextCharacters.peekChar()) 700044aa: b373 cbz r3, 7000450a <_ZN8touchgfx12TextProvider15getNextLigatureEh+0x66> return used == size; } FORCE_INLINE_FUNCTION Unicode::UnicodeChar peekChar() { assert(used > 0); 700044ac: 8f03 ldrh r3, [r0, #56] @ 0x38 700044ae: b92b cbnz r3, 700044bc <_ZN8touchgfx12TextProvider15getNextLigatureEh+0x18> 700044b0: 4b18 ldr r3, [pc, #96] @ (70004514 <_ZN8touchgfx12TextProvider15getNextLigatureEh+0x70>) 700044b2: 21c5 movs r1, #197 @ 0xc5 700044b4: 4a18 ldr r2, [pc, #96] @ (70004518 <_ZN8touchgfx12TextProvider15getNextLigatureEh+0x74>) return buffer[pos]; } FORCE_INLINE_FUNCTION Unicode::UnicodeChar peekChar(uint16_t offset) { assert(offset < used); 700044b6: 4819 ldr r0, [pc, #100] @ (7000451c <_ZN8touchgfx12TextProvider15getNextLigatureEh+0x78>) 700044b8: f036 fd7c bl 7003afb4 <__assert_func> return buffer[pos]; 700044bc: 8ec3 ldrh r3, [r0, #54] @ 0x36 700044be: eb00 0343 add.w r3, r0, r3, lsl #1 700044c2: 8c5b ldrh r3, [r3, #34] @ 0x22 700044c4: b30b cbz r3, 7000450a <_ZN8touchgfx12TextProvider15getNextLigatureEh+0x66> { substituteGlyphs(); 700044c6: f00f fdcf bl 70014068 <_ZN8touchgfx12TextProvider16substituteGlyphsEv> assert(offset < used); 700044ca: 8f23 ldrh r3, [r4, #56] @ 0x38 700044cc: 2b01 cmp r3, #1 700044ce: d803 bhi.n 700044d8 <_ZN8touchgfx12TextProvider15getNextLigatureEh+0x34> 700044d0: 4b13 ldr r3, [pc, #76] @ (70004520 <_ZN8touchgfx12TextProvider15getNextLigatureEh+0x7c>) 700044d2: 21cb movs r1, #203 @ 0xcb 700044d4: 4a13 ldr r2, [pc, #76] @ (70004524 <_ZN8touchgfx12TextProvider15getNextLigatureEh+0x80>) 700044d6: e7ee b.n 700044b6 <_ZN8touchgfx12TextProvider15getNextLigatureEh+0x12> const uint16_t index = pos + offset; 700044d8: 8ee2 ldrh r2, [r4, #54] @ 0x36 if (nextCharacters.peekChar(1) == 0x093F) // Hindi I-matra 700044da: f640 103f movw r0, #2367 @ 0x93f 700044de: 1c53 adds r3, r2, #1 700044e0: b29b uxth r3, r3 return buffer[index < size ? index : index - size]; 700044e2: 2b09 cmp r3, #9 700044e4: 4619 mov r1, r3 700044e6: bf88 it hi 700044e8: f1a3 010a subhi.w r1, r3, #10 700044ec: eb04 0141 add.w r1, r4, r1, lsl #1 700044f0: 8c49 ldrh r1, [r1, #34] @ 0x22 700044f2: 4281 cmp r1, r0 700044f4: d109 bne.n 7000450a <_ZN8touchgfx12TextProvider15getNextLigatureEh+0x66> FORCE_INLINE_FUNCTION void replaceAt1(Unicode::UnicodeChar newChar) { assert(used > 1); const uint16_t index = pos + 1; buffer[index < size ? index : 0] = newChar; 700044f6: 2b0a cmp r3, #10 700044f8: eb04 0242 add.w r2, r4, r2, lsl #1 700044fc: bf28 it cs 700044fe: 2300 movcs r3, #0 return buffer[pos]; 70004500: 8c50 ldrh r0, [r2, #34] @ 0x22 buffer[index < size ? index : 0] = newChar; 70004502: eb04 0343 add.w r3, r4, r3, lsl #1 70004506: 8458 strh r0, [r3, #34] @ 0x22 buffer[pos] = newChar; 70004508: 8451 strh r1, [r2, #34] @ 0x22 { nextCharacters.replaceAt1(nextCharacters.peekChar()); nextCharacters.replaceAt0(0x093F); } } return getNextChar(); 7000450a: 4620 mov r0, r4 } 7000450c: e8bd 4010 ldmia.w sp!, {r4, lr} return getNextChar(); 70004510: f00f bcae b.w 70013e70 <_ZN8touchgfx12TextProvider11getNextCharEv> 70004514: 7003e8a6 .word 0x7003e8a6 70004518: 7003e8af .word 0x7003e8af 7000451c: 7003e95a .word 0x7003e95a 70004520: 7003e9b6 .word 0x7003e9b6 70004524: 7003e9c4 .word 0x7003e9c4 70004528 <_ZN8touchgfx12TextProvider18initializeInternalEv>: void touchgfx::TextProvider::initializeInternal() { fillInputBuffer(); 70004528: f00f bc6a b.w 70013e00 <_ZN8touchgfx12TextProvider15fillInputBufferEv> 7000452c <_ZN8touchgfx5Texts11setLanguageEt>: touchgfx::LanguageId touchgfx::Texts::currentLanguage = static_cast(0); static const touchgfx::Unicode::UnicodeChar* currentLanguagePtr = 0; static const uint32_t* currentLanguageIndices = 0; void touchgfx::Texts::setLanguage(touchgfx::LanguageId id) { 7000452c: b538 push {r3, r4, r5, lr} const touchgfx::TypedText::TypedTextData* currentLanguageTypedText = 0; if (id < 1) 7000452e: bb18 cbnz r0, 70004578 <_ZN8touchgfx5Texts11setLanguageEt+0x4c> { if (languagesArray[id] != 0) 70004530: 4b12 ldr r3, [pc, #72] @ (7000457c <_ZN8touchgfx5Texts11setLanguageEt+0x50>) 70004532: 4813 ldr r0, [pc, #76] @ (70004580 <_ZN8touchgfx5Texts11setLanguageEt+0x54>) 70004534: 681c ldr r4, [r3, #0] 70004536: 4913 ldr r1, [pc, #76] @ (70004584 <_ZN8touchgfx5Texts11setLanguageEt+0x58>) 70004538: b1b4 cbz r4, 70004568 <_ZN8touchgfx5Texts11setLanguageEt+0x3c> { // Dynamic translation is added const TranslationHeader* translation = languagesArray[id]; currentLanguagePtr = (const touchgfx::Unicode::UnicodeChar*)(((const uint8_t*)translation) + translation->offset_to_texts); 7000453a: 6822 ldr r2, [r4, #0] 7000453c: 4422 add r2, r4 7000453e: 6002 str r2, [r0, #0] currentLanguageIndices = (const uint32_t*)(((const uint8_t*)translation) + translation->offset_to_indices); 70004540: 6862 ldr r2, [r4, #4] 70004542: 4422 add r2, r4 70004544: 600a str r2, [r1, #0] currentLanguageTypedText = (const touchgfx::TypedText::TypedTextData*)(((const uint8_t*)translation) + translation->offset_to_typedtext); 70004546: 68a2 ldr r2, [r4, #8] 70004548: 4414 add r4, r2 } } if (currentLanguageTypedText) { currentLanguage = id; 7000454a: 4b0f ldr r3, [pc, #60] @ (70004588 <_ZN8touchgfx5Texts11setLanguageEt+0x5c>) 7000454c: 2200 movs r2, #0 7000454e: 801a strh r2, [r3, #0] touchgfx::TypedText::registerTypedTextDatabase(currentLanguageTypedText, TypedTextDatabase::getFonts(), TypedTextDatabase::getInstanceSize()); 70004550: f000 f82a bl 700045a8 <_ZN17TypedTextDatabase8getFontsEv> 70004554: 4605 mov r5, r0 touchgfx::TypedText::registerTypedTextDatabase(currentLanguageTypedText, 70004556: f000 f825 bl 700045a4 <_ZN17TypedTextDatabase15getInstanceSizeEv> typedTexts = data; 7000455a: 4b0c ldr r3, [pc, #48] @ (7000458c <_ZN8touchgfx5Texts11setLanguageEt+0x60>) 7000455c: 601c str r4, [r3, #0] fonts = f; 7000455e: 4b0c ldr r3, [pc, #48] @ (70004590 <_ZN8touchgfx5Texts11setLanguageEt+0x64>) 70004560: 601d str r5, [r3, #0] numberOfTypedTexts = n; 70004562: 4b0c ldr r3, [pc, #48] @ (70004594 <_ZN8touchgfx5Texts11setLanguageEt+0x68>) 70004564: 8018 strh r0, [r3, #0] } } 70004566: e007 b.n 70004578 <_ZN8touchgfx5Texts11setLanguageEt+0x4c> currentLanguagePtr = texts_all_languages; 70004568: 4b0b ldr r3, [pc, #44] @ (70004598 <_ZN8touchgfx5Texts11setLanguageEt+0x6c>) 7000456a: 6003 str r3, [r0, #0] currentLanguageIndices = staticLanguageIndices[id]; 7000456c: 4b0b ldr r3, [pc, #44] @ (7000459c <_ZN8touchgfx5Texts11setLanguageEt+0x70>) 7000456e: 600b str r3, [r1, #0] currentLanguageTypedText = typedTextDatabaseArray[id]; 70004570: 4b0b ldr r3, [pc, #44] @ (700045a0 <_ZN8touchgfx5Texts11setLanguageEt+0x74>) 70004572: 681c ldr r4, [r3, #0] if (currentLanguageTypedText) 70004574: 2c00 cmp r4, #0 70004576: d1e8 bne.n 7000454a <_ZN8touchgfx5Texts11setLanguageEt+0x1e> } 70004578: bd38 pop {r3, r4, r5, pc} 7000457a: bf00 nop 7000457c: 2400bf44 .word 0x2400bf44 70004580: 2400bf3c .word 0x2400bf3c 70004584: 2400bf38 .word 0x2400bf38 70004588: 2400bf40 .word 0x2400bf40 7000458c: 2400dad8 .word 0x2400dad8 70004590: 2400dad0 .word 0x2400dad0 70004594: 2400dacc .word 0x2400dacc 70004598: 702001b0 .word 0x702001b0 7000459c: 702001ac .word 0x702001ac 700045a0: 7003f2f8 .word 0x7003f2f8 700045a4 <_ZN17TypedTextDatabase15getInstanceSizeEv>: } uint16_t getInstanceSize() { return 0; } 700045a4: 2000 movs r0, #0 700045a6: 4770 bx lr 700045a8 <_ZN17TypedTextDatabase8getFontsEv>: const touchgfx::Font** getFonts() { return touchgfx_fonts; } 700045a8: 4800 ldr r0, [pc, #0] @ (700045ac <_ZN17TypedTextDatabase8getFontsEv+0x4>) 700045aa: 4770 bx lr 700045ac: 2400bf48 .word 0x2400bf48 700045b0 <_GLOBAL__sub_I_touchgfx_fonts>: case 2: touchgfx_fonts[2] = &(getFont_arial_10_4bpp()); break; } } } // namespace TypedTextDatabase 700045b0: b510 push {r4, lr} }; 700045b2: 4c05 ldr r4, [pc, #20] @ (700045c8 <_GLOBAL__sub_I_touchgfx_fonts+0x18>) &(getFont_arial_20_4bpp()), 700045b4: f7ff fedc bl 70004370 <_Z21getFont_arial_20_4bppv> }; 700045b8: 6020 str r0, [r4, #0] &(getFont_arial_40_4bpp()), 700045ba: f7ff ff17 bl 700043ec <_Z21getFont_arial_40_4bppv> }; 700045be: 6060 str r0, [r4, #4] &(getFont_arial_10_4bpp()) 700045c0: f7ff fe98 bl 700042f4 <_Z21getFont_arial_10_4bppv> }; 700045c4: 60a0 str r0, [r4, #8] } // namespace TypedTextDatabase 700045c6: bd10 pop {r4, pc} 700045c8: 2400bf48 .word 0x2400bf48 700045cc <_ZN8touchgfx22VectorFontRendererImpl20getVectorFontBuffersERPfRiRPhS3_>: /* DO NOT EDIT THIS FILE */ /* This file is autogenerated by the text-database code generator */ #include void touchgfx::VectorFontRendererImpl::getVectorFontBuffers(float*& pointArray, int& pointArraySize, uint8_t*& commandArray, int& commandArraySize) { 700045cc: b510 push {r4, lr} pointArray = 0; 700045ce: 2400 movs r4, #0 700045d0: 6004 str r4, [r0, #0] pointArraySize = 0; 700045d2: 600c str r4, [r1, #0] commandArray = 0; 700045d4: 6014 str r4, [r2, #0] commandArraySize = 0; 700045d6: 601c str r4, [r3, #0] } 700045d8: bd10 pop {r4, pc} 700045da <_ZN19FrontendApplicationD1Ev>: class FrontendApplication : public FrontendApplicationBase { public: FrontendApplication(Model& m, FrontendHeap& heap); virtual ~FrontendApplication() { } 700045da: 4770 bx lr 700045dc <_ZN19FrontendApplicationD0Ev>: 700045dc: b510 push {r4, lr} 700045de: 4604 mov r4, r0 700045e0: f44f 71ae mov.w r1, #348 @ 0x15c 700045e4: f035 f8e7 bl 700397b6 <_ZdlPvj> 700045e8: 4620 mov r0, r4 700045ea: bd10 pop {r4, pc} 700045ec <_ZN19FrontendApplication15handleTickEventEv>: virtual void handleTickEvent() 700045ec: b510 push {r4, lr} 700045ee: 4604 mov r4, r0 { model.tick(); 700045f0: f8d0 0158 ldr.w r0, [r0, #344] @ 0x158 700045f4: f000 f84d bl 70004692 <_ZN5Model4tickEv> FrontendApplicationBase::handleTickEvent(); 700045f8: 4620 mov r0, r4 } 700045fa: e8bd 4010 ldmia.w sp!, {r4, lr} FrontendApplicationBase::handleTickEvent(); 700045fe: f00c be6f b.w 700112e0 <_ZN8touchgfx11Application15handleTickEventEv> ... 70004604 <_ZN19FrontendApplicationC1ER5ModelR12FrontendHeap>: #include FrontendApplication::FrontendApplication(Model& m, FrontendHeap& heap) 70004604: b510 push {r4, lr} 70004606: 4604 mov r4, r0 : FrontendApplicationBase(m, heap) 70004608: f7ff fb7a bl 70003d00 <_ZN23FrontendApplicationBaseC1ER5ModelR12FrontendHeap> 7000460c: 4b01 ldr r3, [pc, #4] @ (70004614 <_ZN19FrontendApplicationC1ER5ModelR12FrontendHeap+0x10>) { } 7000460e: 4620 mov r0, r4 : FrontendApplicationBase(m, heap) 70004610: 6023 str r3, [r4, #0] } 70004612: bd10 pop {r4, pc} 70004614: 7003f304 .word 0x7003f304 70004618 <_ZN19InitScreenPresenterD1Ev>: * The deactivate function is called automatically when this screen is "switched out" * (ie. made inactive). Teardown functionality can be placed here. */ virtual void deactivate(); virtual ~InitScreenPresenter() {} 70004618: 4770 bx lr 7000461a <_ZThn4_N19InitScreenPresenterD1Ev>: 7000461a: 3804 subs r0, #4 7000461c: 4770 bx lr 7000461e <_ZN19InitScreenPresenter10deactivateEv>: } void InitScreenPresenter::activate() { } 7000461e: 4770 bx lr 70004620 <_ZN19InitScreenPresenterD0Ev>: 70004620: b510 push {r4, lr} 70004622: 4604 mov r4, r0 70004624: 2110 movs r1, #16 70004626: f035 f8c6 bl 700397b6 <_ZdlPvj> 7000462a: 4620 mov r0, r4 7000462c: bd10 pop {r4, pc} 7000462e <_ZThn4_N19InitScreenPresenterD0Ev>: 7000462e: f1a0 0004 sub.w r0, r0, #4 70004632: e7f5 b.n 70004620 <_ZN19InitScreenPresenterD0Ev> 70004634 <_ZN19InitScreenPresenterC1ER14InitScreenView>: ModelListener() : model(0) {} 70004634: 2200 movs r2, #0 : view(v) 70004636: 60c1 str r1, [r0, #12] 70004638: 6082 str r2, [r0, #8] 7000463a: 4a02 ldr r2, [pc, #8] @ (70004644 <_ZN19InitScreenPresenterC1ER14InitScreenView+0x10>) 7000463c: 6002 str r2, [r0, #0] 7000463e: 3218 adds r2, #24 70004640: 6042 str r2, [r0, #4] } 70004642: 4770 bx lr 70004644: 7003f358 .word 0x7003f358 70004648 <_ZN14InitScreenView14tearDownScreenEv>: } void InitScreenView::tearDownScreen() { InitScreenViewBase::tearDownScreen(); } 70004648: 4770 bx lr ... 7000464c <_ZN14InitScreenViewD1Ev>: class InitScreenView : public InitScreenViewBase { public: InitScreenView(); virtual ~InitScreenView() {} 7000464c: 4b03 ldr r3, [pc, #12] @ (7000465c <_ZN14InitScreenViewD1Ev+0x10>) 7000464e: b510 push {r4, lr} 70004650: 4604 mov r4, r0 70004652: 6003 str r3, [r0, #0] 70004654: f7ff fc2a bl 70003eac <_ZN18InitScreenViewBaseD1Ev> 70004658: 4620 mov r0, r4 7000465a: bd10 pop {r4, pc} 7000465c: 7003f380 .word 0x7003f380 70004660 <_ZN14InitScreenViewD0Ev>: 70004660: b510 push {r4, lr} 70004662: 4604 mov r4, r0 70004664: f7ff fff2 bl 7000464c <_ZN14InitScreenViewD1Ev> 70004668: 21e4 movs r1, #228 @ 0xe4 7000466a: 4620 mov r0, r4 7000466c: f035 f8a3 bl 700397b6 <_ZdlPvj> 70004670: 4620 mov r0, r4 70004672: bd10 pop {r4, pc} 70004674 <_ZN14InitScreenViewC1Ev>: InitScreenView::InitScreenView() 70004674: b510 push {r4, lr} 70004676: 4604 mov r4, r0 70004678: f7ff fc68 bl 70003f4c <_ZN18InitScreenViewBaseC1Ev> 7000467c: 4b01 ldr r3, [pc, #4] @ (70004684 <_ZN14InitScreenViewC1Ev+0x10>) } 7000467e: 4620 mov r0, r4 InitScreenView::InitScreenView() 70004680: 6023 str r3, [r4, #0] } 70004682: bd10 pop {r4, pc} 70004684: 7003f380 .word 0x7003f380 70004688 <_ZN14InitScreenView11setupScreenEv>: InitScreenViewBase::setupScreen(); 70004688: f7ff bc11 b.w 70003eae <_ZN18InitScreenViewBase11setupScreenEv> 7000468c <_ZN5ModelC1Ev>: #include #include Model::Model() : modelListener(0) 7000468c: 2200 movs r2, #0 7000468e: 6002 str r2, [r0, #0] { } 70004690: 4770 bx lr 70004692 <_ZN5Model4tickEv>: void Model::tick() { } 70004692: 4770 bx lr 70004694 <_ZN16Screen1PresenterD1Ev>: * The deactivate function is called automatically when this screen is "switched out" * (ie. made inactive). Teardown functionality can be placed here. */ virtual void deactivate(); virtual ~Screen1Presenter() {} 70004694: 4770 bx lr 70004696 <_ZThn4_N16Screen1PresenterD1Ev>: 70004696: 3804 subs r0, #4 70004698: 4770 bx lr 7000469a <_ZN16Screen1Presenter10deactivateEv>: } void Screen1Presenter::activate() { } 7000469a: 4770 bx lr 7000469c <_ZN16Screen1PresenterD0Ev>: 7000469c: b510 push {r4, lr} 7000469e: 4604 mov r4, r0 700046a0: 2110 movs r1, #16 700046a2: f035 f888 bl 700397b6 <_ZdlPvj> 700046a6: 4620 mov r0, r4 700046a8: bd10 pop {r4, pc} 700046aa <_ZThn4_N16Screen1PresenterD0Ev>: 700046aa: f1a0 0004 sub.w r0, r0, #4 700046ae: e7f5 b.n 7000469c <_ZN16Screen1PresenterD0Ev> 700046b0 <_ZN16Screen1PresenterC1ER11Screen1View>: 700046b0: 2200 movs r2, #0 : view(v) 700046b2: 60c1 str r1, [r0, #12] 700046b4: 6082 str r2, [r0, #8] 700046b6: 4a02 ldr r2, [pc, #8] @ (700046c0 <_ZN16Screen1PresenterC1ER11Screen1View+0x10>) 700046b8: 6002 str r2, [r0, #0] 700046ba: 3218 adds r2, #24 700046bc: 6042 str r2, [r0, #4] } 700046be: 4770 bx lr 700046c0: 7003f3b8 .word 0x7003f3b8 700046c4 <_ZN11Screen1View14tearDownScreenEv>: } void Screen1View::tearDownScreen() { Screen1ViewBase::tearDownScreen(); } 700046c4: 4770 bx lr ... 700046c8 <_ZN11Screen1ViewD1Ev>: class Screen1View : public Screen1ViewBase { public: Screen1View(); virtual ~Screen1View() {} 700046c8: 4b03 ldr r3, [pc, #12] @ (700046d8 <_ZN11Screen1ViewD1Ev+0x10>) 700046ca: b510 push {r4, lr} 700046cc: 4604 mov r4, r0 700046ce: 6003 str r3, [r0, #0] 700046d0: f7ff fcdd bl 7000408e <_ZN15Screen1ViewBaseD1Ev> 700046d4: 4620 mov r0, r4 700046d6: bd10 pop {r4, pc} 700046d8: 7003f3e0 .word 0x7003f3e0 700046dc <_ZN11Screen1ViewD0Ev>: 700046dc: b510 push {r4, lr} 700046de: 4604 mov r4, r0 700046e0: f7ff fff2 bl 700046c8 <_ZN11Screen1ViewD1Ev> 700046e4: f44f 714f mov.w r1, #828 @ 0x33c 700046e8: 4620 mov r0, r4 700046ea: f035 f864 bl 700397b6 <_ZdlPvj> 700046ee: 4620 mov r0, r4 700046f0: bd10 pop {r4, pc} ... 700046f4 <_ZN11Screen1ViewC1Ev>: Screen1View::Screen1View() 700046f4: b510 push {r4, lr} 700046f6: 4604 mov r4, r0 700046f8: f7ff fd14 bl 70004124 <_ZN15Screen1ViewBaseC1Ev> 700046fc: 4b01 ldr r3, [pc, #4] @ (70004704 <_ZN11Screen1ViewC1Ev+0x10>) } 700046fe: 4620 mov r0, r4 Screen1View::Screen1View() 70004700: 6023 str r3, [r4, #0] } 70004702: bd10 pop {r4, pc} 70004704: 7003f3e0 .word 0x7003f3e0 70004708 <_ZN11Screen1View11setupScreenEv>: Screen1ViewBase::setupScreen(); 70004708: f7ff bcc2 b.w 70004090 <_ZN15Screen1ViewBase11setupScreenEv> 7000470c <_ZN11Screen1View14slider1ClickedEi>: void Screen1View::slider1Clicked(int value) { gauge1.setValue(value); 7000470c: f500 70c6 add.w r0, r0, #396 @ 0x18c 70004710: f00b b9a6 b.w 7000fa60 <_ZN8touchgfx5Gauge8setValueEi> 70004714 : SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; #endif /* FPU settings ------------------------------------------------------------*/ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) SCB->CPACR |= ((3UL << 20U)|(3UL << 22U)); /* set CP10 and CP11 Full Access */ 70004714: 4a03 ldr r2, [pc, #12] @ (70004724 ) 70004716: f8d2 3088 ldr.w r3, [r2, #136] @ 0x88 7000471a: f443 0370 orr.w r3, r3, #15728640 @ 0xf00000 7000471e: f8c2 3088 str.w r3, [r2, #136] @ 0x88 #endif } 70004722: 4770 bx lr 70004724: e000ed00 .word 0xe000ed00 70004728 : { uint32_t sysclk, hsivalue, pllsource, pllm, pllp, core_presc; float_t pllfracn, pllvco; /* Get SYSCLK source -------------------------------------------------------*/ switch (RCC->CFGR & RCC_CFGR_SWS) 70004728: 4a45 ldr r2, [pc, #276] @ (70004840 ) 7000472a: 6913 ldr r3, [r2, #16] 7000472c: f003 0338 and.w r3, r3, #56 @ 0x38 70004730: 2b10 cmp r3, #16 70004732: f000 8082 beq.w 7000483a 70004736: d80c bhi.n 70004752 70004738: b16b cbz r3, 70004756 case 0x00: /* HSI used as system clock source (default after reset) */ sysclk = (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV) >> RCC_CR_HSIDIV_Pos)); break; case 0x08: /* CSI used as system clock source */ sysclk = CSI_VALUE; 7000473a: 4b42 ldr r3, [pc, #264] @ (70004844 ) sysclk = (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV) >> RCC_CR_HSIDIV_Pos)); break; } /* system clock frequency : CM7 CPU frequency */ core_presc = (RCC->CDCFGR & RCC_CDCFGR_CPRE); 7000473c: 4a40 ldr r2, [pc, #256] @ (70004840 ) 7000473e: 6992 ldr r2, [r2, #24] if (core_presc >= 8U) 70004740: 0711 lsls r1, r2, #28 core_presc = (RCC->CDCFGR & RCC_CDCFGR_CPRE); 70004742: bf42 ittt mi 70004744: f002 020f andmi.w r2, r2, #15 { SystemCoreClock = (sysclk >> (core_presc - RCC_CDCFGR_CPRE_3 + 1U)); 70004748: 3a07 submi r2, #7 7000474a: 40d3 lsrmi r3, r2 7000474c: 4a3e ldr r2, [pc, #248] @ (70004848 ) 7000474e: 6013 str r3, [r2, #0] } else { SystemCoreClock = sysclk; } } 70004750: 4770 bx lr switch (RCC->CFGR & RCC_CFGR_SWS) 70004752: 2b18 cmp r3, #24 70004754: d005 beq.n 70004762 sysclk = (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV) >> RCC_CR_HSIDIV_Pos)); 70004756: 6812 ldr r2, [r2, #0] 70004758: 4b3c ldr r3, [pc, #240] @ (7000484c ) 7000475a: f3c2 02c1 ubfx r2, r2, #3, #2 7000475e: 40d3 lsrs r3, r2 break; 70004760: e7ec b.n 7000473c pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC); 70004762: 6a91 ldr r1, [r2, #40] @ 0x28 pllm = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1) >> RCC_PLLCKSELR_DIVM1_Pos) ; 70004764: 6a93 ldr r3, [r2, #40] @ 0x28 if ((RCC->PLLCFGR & RCC_PLLCFGR_PLL1FRACEN) != 0U) 70004766: 6ad0 ldr r0, [r2, #44] @ 0x2c pllm = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1) >> RCC_PLLCKSELR_DIVM1_Pos) ; 70004768: f3c3 1305 ubfx r3, r3, #4, #6 if ((RCC->PLLCFGR & RCC_PLLCFGR_PLL1FRACEN) != 0U) 7000476c: 07c0 lsls r0, r0, #31 7000476e: d53a bpl.n 700047e6 pllfracn = (float_t)(uint32_t)(((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN)>> RCC_PLL1FRACR_FRACN_Pos)); 70004770: 6b52 ldr r2, [r2, #52] @ 0x34 70004772: f3c2 02cc ubfx r2, r2, #3, #13 70004776: ee06 2a90 vmov s13, r2 7000477a: eef8 6ae6 vcvt.f32.s32 s13, s13 if (pllm != 0U) 7000477e: 2b00 cmp r3, #0 70004780: d0dc beq.n 7000473c pllvco = ((float_t)HSE_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVN) + (pllfracn/(float_t)0x2000) +(float_t)1 ); 70004782: ee07 3a90 vmov s15, r3 pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC); 70004786: f001 0203 and.w r2, r1, #3 7000478a: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 7000478e: 4b2c ldr r3, [pc, #176] @ (70004840 ) pllvco = ((float_t)HSE_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVN) + (pllfracn/(float_t)0x2000) +(float_t)1 ); 70004790: eeb8 7ae7 vcvt.f32.s32 s14, s15 switch (pllsource) 70004794: 2a01 cmp r2, #1 pllvco = ((float_t)HSE_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVN) + (pllfracn/(float_t)0x2000) +(float_t)1 ); 70004796: eddf 7a2e vldr s15, [pc, #184] @ 70004850 7000479a: ee66 6aa7 vmul.f32 s13, s13, s15 switch (pllsource) 7000479e: d025 beq.n 700047ec 700047a0: 2a02 cmp r2, #2 700047a2: d131 bne.n 70004808 pllvco = ((float_t)HSE_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVN) + (pllfracn/(float_t)0x2000) +(float_t)1 ); 700047a4: 6b1b ldr r3, [r3, #48] @ 0x30 700047a6: ed9f 6a2b vldr s12, [pc, #172] @ 70004854 700047aa: f3c3 0308 ubfx r3, r3, #0, #9 700047ae: ee07 3a90 vmov s15, r3 700047b2: eef8 7ae7 vcvt.f32.s32 s15, s15 700047b6: ee77 7aa6 vadd.f32 s15, s15, s13 700047ba: ee77 7aa5 vadd.f32 s15, s15, s11 pllvco = ((float_t)CSI_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVN) + (pllfracn/(float_t)0x2000) +(float_t)1 ); 700047be: eec6 6a07 vdiv.f32 s13, s12, s14 700047c2: ee67 7aa6 vmul.f32 s15, s15, s13 pllp = (((RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVP) >> RCC_PLL1DIVR1_DIVP_Pos) + 1U ) ; 700047c6: 4b1e ldr r3, [pc, #120] @ (70004840 ) 700047c8: 6b1b ldr r3, [r3, #48] @ 0x30 700047ca: f3c3 2346 ubfx r3, r3, #9, #7 700047ce: 3301 adds r3, #1 sysclk = (uint32_t)(float_t)(pllvco/(float_t)pllp); 700047d0: ee07 3a10 vmov s14, r3 700047d4: eef8 6ac7 vcvt.f32.s32 s13, s14 700047d8: ee87 7aa6 vdiv.f32 s14, s15, s13 700047dc: eefc 7ac7 vcvt.u32.f32 s15, s14 700047e0: ee17 3a90 vmov r3, s15 700047e4: e7aa b.n 7000473c pllfracn = (float_t)0U; 700047e6: eddf 6a1c vldr s13, [pc, #112] @ 70004858 700047ea: e7c8 b.n 7000477e pllvco = ((float_t)CSI_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVN) + (pllfracn/(float_t)0x2000) +(float_t)1 ); 700047ec: 6b1b ldr r3, [r3, #48] @ 0x30 700047ee: ed9f 6a1b vldr s12, [pc, #108] @ 7000485c 700047f2: f3c3 0308 ubfx r3, r3, #0, #9 700047f6: ee07 3a90 vmov s15, r3 700047fa: eef8 7ae7 vcvt.f32.s32 s15, s15 700047fe: ee77 7aa6 vadd.f32 s15, s15, s13 70004802: ee77 7aa5 vadd.f32 s15, s15, s11 70004806: e7da b.n 700047be hsivalue = (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV) >> RCC_CR_HSIDIV_Pos)); 70004808: 6819 ldr r1, [r3, #0] 7000480a: 4a10 ldr r2, [pc, #64] @ (7000484c ) 7000480c: f3c1 01c1 ubfx r1, r1, #3, #2 pllvco = ( (float_t)hsivalue / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVN) + (pllfracn/(float_t)0x2000) +(float_t)1 ); 70004810: 6b1b ldr r3, [r3, #48] @ 0x30 hsivalue = (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV) >> RCC_CR_HSIDIV_Pos)); 70004812: 40ca lsrs r2, r1 pllvco = ( (float_t)hsivalue / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVN) + (pllfracn/(float_t)0x2000) +(float_t)1 ); 70004814: f3c3 0308 ubfx r3, r3, #0, #9 70004818: ee07 2a90 vmov s15, r2 7000481c: eeb8 6ae7 vcvt.f32.s32 s12, s15 70004820: eec6 7a07 vdiv.f32 s15, s12, s14 70004824: ee07 3a10 vmov s14, r3 70004828: eeb8 7ac7 vcvt.f32.s32 s14, s14 7000482c: ee37 7a26 vadd.f32 s14, s14, s13 70004830: ee37 7a25 vadd.f32 s14, s14, s11 70004834: ee67 7a87 vmul.f32 s15, s15, s14 break; 70004838: e7c5 b.n 700047c6 switch (RCC->CFGR & RCC_CFGR_SWS) 7000483a: 4b09 ldr r3, [pc, #36] @ (70004860 ) 7000483c: e77e b.n 7000473c 7000483e: bf00 nop 70004840: 58024400 .word 0x58024400 70004844: 003d0900 .word 0x003d0900 70004848: 24000054 .word 0x24000054 7000484c: 03d09000 .word 0x03d09000 70004850: 39000000 .word 0x39000000 70004854: 4bb71b00 .word 0x4bb71b00 70004858: 00000000 .word 0x00000000 7000485c: 4a742400 .word 0x4a742400 70004860: 016e3600 .word 0x016e3600 70004864 : * each 1ms in the SysTick_Handler() interrupt handler. * * @retval HAL status */ HAL_StatusTypeDef HAL_Init(void) { 70004864: b510 push {r4, lr} HAL_StatusTypeDef status = HAL_OK; /* Set Interrupt Group Priority */ HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); 70004866: 2003 movs r0, #3 70004868: f000 f81e bl 700048a8 /* Use SysTick as time base source and configure 1ms tick */ if (HAL_InitTick(TICK_INT_PRIORITY) != HAL_OK) 7000486c: 2004 movs r0, #4 7000486e: f7fc fe01 bl 70001474 70004872: 4604 mov r4, r0 70004874: b918 cbnz r0, 7000487e status = HAL_ERROR; } else { /* Init the low level hardware */ HAL_MspInit(); 70004876: f7fc fb09 bl 70000e8c } /* Return function status */ return status; } 7000487a: 4620 mov r0, r4 7000487c: bd10 pop {r4, pc} status = HAL_ERROR; 7000487e: 2401 movs r4, #1 70004880: e7fb b.n 7000487a ... 70004884 : * implementations in user file. * @retval None */ __weak void HAL_IncTick(void) { uwTick += (uint32_t)uwTickFreq; 70004884: 4a03 ldr r2, [pc, #12] @ (70004894 ) 70004886: 4b04 ldr r3, [pc, #16] @ (70004898 ) 70004888: 6811 ldr r1, [r2, #0] 7000488a: 781b ldrb r3, [r3, #0] 7000488c: 440b add r3, r1 7000488e: 6013 str r3, [r2, #0] } 70004890: 4770 bx lr 70004892: bf00 nop 70004894: 2400bf54 .word 0x2400bf54 70004898: 24000058 .word 0x24000058 7000489c : * implementations in user file. * @retval tick value */ __weak uint32_t HAL_GetTick(void) { return uwTick; 7000489c: 4b01 ldr r3, [pc, #4] @ (700048a4 ) 7000489e: 6818 ldr r0, [r3, #0] } 700048a0: 4770 bx lr 700048a2: bf00 nop 700048a4: 2400bf54 .word 0x2400bf54 700048a8 : reg_value = SCB->AIRCR; /* read old register configuration */ 700048a8: 4907 ldr r1, [pc, #28] @ (700048c8 ) (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ 700048aa: 0203 lsls r3, r0, #8 reg_value = SCB->AIRCR; /* read old register configuration */ 700048ac: 68ca ldr r2, [r1, #12] (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ 700048ae: f403 63e0 and.w r3, r3, #1792 @ 0x700 reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ 700048b2: f422 62e0 bic.w r2, r2, #1792 @ 0x700 700048b6: 0412 lsls r2, r2, #16 700048b8: 0c12 lsrs r2, r2, #16 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 700048ba: 4313 orrs r3, r2 reg_value = (reg_value | 700048bc: f043 63bf orr.w r3, r3, #100139008 @ 0x5f80000 700048c0: f443 3300 orr.w r3, r3, #131072 @ 0x20000 SCB->AIRCR = reg_value; 700048c4: 60cb str r3, [r1, #12] /* Check the parameters */ assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup)); /* Set the PRIGROUP[10:8] bits according to the PriorityGroup parameter value */ NVIC_SetPriorityGrouping(PriorityGroup); } 700048c6: 4770 bx lr 700048c8: e000ed00 .word 0xe000ed00 700048cc : return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); 700048cc: 4b16 ldr r3, [pc, #88] @ (70004928 ) * This parameter can be a value between 0 and 15 * A lower priority value indicates a higher priority. * @retval None */ void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority) { 700048ce: b530 push {r4, r5, lr} 700048d0: 68dc ldr r4, [r3, #12] 700048d2: f3c4 2402 ubfx r4, r4, #8, #3 { uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ uint32_t PreemptPriorityBits; uint32_t SubPriorityBits; PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); 700048d6: f1c4 0307 rsb r3, r4, #7 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); 700048da: 1d25 adds r5, r4, #4 PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); 700048dc: 2b04 cmp r3, #4 700048de: bf28 it cs 700048e0: 2304 movcs r3, #4 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); 700048e2: 2d06 cmp r5, #6 return ( ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | 700048e4: f04f 35ff mov.w r5, #4294967295 @ 0xffffffff SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); 700048e8: bf8c ite hi 700048ea: 3c03 subhi r4, #3 700048ec: 2400 movls r4, #0 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | 700048ee: fa05 f303 lsl.w r3, r5, r3 if ((int32_t)(IRQn) >= 0) 700048f2: 2800 cmp r0, #0 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) 700048f4: fa05 f504 lsl.w r5, r5, r4 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | 700048f8: ea21 0303 bic.w r3, r1, r3 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) 700048fc: ea22 0205 bic.w r2, r2, r5 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | 70004900: fa03 f304 lsl.w r3, r3, r4 70004904: ea43 0302 orr.w r3, r3, r2 NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 70004908: ea4f 1303 mov.w r3, r3, lsl #4 7000490c: b2db uxtb r3, r3 if ((int32_t)(IRQn) >= 0) 7000490e: db06 blt.n 7000491e NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 70004910: f100 4060 add.w r0, r0, #3758096384 @ 0xe0000000 70004914: f500 4061 add.w r0, r0, #57600 @ 0xe100 70004918: f880 3300 strb.w r3, [r0, #768] @ 0x300 prioritygroup = NVIC_GetPriorityGrouping(); assert_param(IS_NVIC_SUB_PRIORITY(SubPriority, prioritygroup)); assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority, prioritygroup)); NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority)); } 7000491c: bd30 pop {r4, r5, pc} SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 7000491e: f000 000f and.w r0, r0, #15 70004922: 4a02 ldr r2, [pc, #8] @ (7000492c ) 70004924: 5413 strb r3, [r2, r0] 70004926: e7f9 b.n 7000491c 70004928: e000ed00 .word 0xe000ed00 7000492c: e000ed14 .word 0xe000ed14 70004930 : if ((int32_t)(IRQn) >= 0) 70004930: 2800 cmp r0, #0 70004932: db07 blt.n 70004944 NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 70004934: 2301 movs r3, #1 70004936: 0941 lsrs r1, r0, #5 70004938: f000 001f and.w r0, r0, #31 7000493c: 4a02 ldr r2, [pc, #8] @ (70004948 ) 7000493e: 4083 lsls r3, r0 70004940: f842 3021 str.w r3, [r2, r1, lsl #2] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Enable interrupt */ NVIC_EnableIRQ(IRQn); } 70004944: 4770 bx lr 70004946: bf00 nop 70004948: e000e100 .word 0xe000e100 7000494c : if ((int32_t)(IRQn) >= 0) 7000494c: 2800 cmp r0, #0 7000494e: db0c blt.n 7000496a NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 70004950: 0943 lsrs r3, r0, #5 70004952: 2201 movs r2, #1 70004954: f000 001f and.w r0, r0, #31 70004958: 4904 ldr r1, [pc, #16] @ (7000496c ) 7000495a: 3320 adds r3, #32 7000495c: 4082 lsls r2, r0 7000495e: f841 2023 str.w r2, [r1, r3, lsl #2] __ASM volatile ("dsb 0xF":::"memory"); 70004962: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 70004966: f3bf 8f6f isb sy /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Disable interrupt */ NVIC_DisableIRQ(IRQn); } 7000496a: 4770 bx lr 7000496c: e000e100 .word 0xe000e100 70004970 : __ASM volatile ("dmb 0xF":::"memory"); 70004970: f3bf 8f5f dmb sy { /* Force any outstanding transfers to complete before enabling MPU */ __DMB(); /* Enable the MPU */ MPU->CTRL = (MPU_Control | MPU_CTRL_ENABLE_Msk); 70004974: 4b06 ldr r3, [pc, #24] @ (70004990 ) 70004976: f040 0001 orr.w r0, r0, #1 7000497a: f8c3 0094 str.w r0, [r3, #148] @ 0x94 /* Enable fault exceptions */ SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk; 7000497e: 6a5a ldr r2, [r3, #36] @ 0x24 70004980: f442 3280 orr.w r2, r2, #65536 @ 0x10000 70004984: 625a str r2, [r3, #36] @ 0x24 __ASM volatile ("dsb 0xF":::"memory"); 70004986: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 7000498a: f3bf 8f6f isb sy /* Ensure MPU setting take effects */ __DSB(); __ISB(); } 7000498e: 4770 bx lr 70004990: e000ed00 .word 0xe000ed00 70004994 : __ASM volatile ("dmb 0xF":::"memory"); 70004994: f3bf 8f5f dmb sy { /* Force any outstanding transfers to complete before disabling MPU */ __DMB(); /* Disable fault exceptions */ SCB->SHCSR &= ~SCB_SHCSR_MEMFAULTENA_Msk; 70004998: 4b06 ldr r3, [pc, #24] @ (700049b4 ) 7000499a: 6a5a ldr r2, [r3, #36] @ 0x24 7000499c: f422 3280 bic.w r2, r2, #65536 @ 0x10000 700049a0: 625a str r2, [r3, #36] @ 0x24 /* Disable the MPU and clear the control register */ MPU->CTRL = 0U; 700049a2: 2200 movs r2, #0 700049a4: f8c3 2094 str.w r2, [r3, #148] @ 0x94 __ASM volatile ("dsb 0xF":::"memory"); 700049a8: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 700049ac: f3bf 8f6f isb sy /* Ensure MPU setting take effects */ __DSB(); __ISB(); } 700049b0: 4770 bx lr 700049b2: bf00 nop 700049b4: e000ed00 .word 0xe000ed00 700049b8 : { /* Check the parameters */ assert_param(IS_MPU_REGION_NUMBER(RegionNumber)); /* Set the Region number */ MPU->RNR = RegionNumber; 700049b8: 4b04 ldr r3, [pc, #16] @ (700049cc ) 700049ba: f8c3 0098 str.w r0, [r3, #152] @ 0x98 /* Disable the Region */ CLEAR_BIT(MPU->RASR, MPU_RASR_ENABLE_Msk); 700049be: f8d3 20a0 ldr.w r2, [r3, #160] @ 0xa0 700049c2: f022 0201 bic.w r2, r2, #1 700049c6: f8c3 20a0 str.w r2, [r3, #160] @ 0xa0 } 700049ca: 4770 bx lr 700049cc: e000ed00 .word 0xe000ed00 700049d0 : /* Check the parameters */ assert_param(IS_MPU_REGION_NUMBER(pMPU_RegionInit->Number)); assert_param(IS_MPU_REGION_ENABLE(pMPU_RegionInit->Enable)); /* Set the Region number */ MPU->RNR = pMPU_RegionInit->Number; 700049d0: 4a17 ldr r2, [pc, #92] @ (70004a30 ) 700049d2: 7843 ldrb r3, [r0, #1] 700049d4: f8c2 3098 str.w r3, [r2, #152] @ 0x98 assert_param(IS_MPU_SUB_REGION_DISABLE(pMPU_RegionInit->SubRegionDisable)); assert_param(IS_MPU_REGION_SIZE(pMPU_RegionInit->Size)); assert_param(IS_MPU_ADDRESS_MULTIPLE_SIZE(pMPU_RegionInit->BaseAddress, pMPU_RegionInit->Size)); /* Disable the Region */ CLEAR_BIT(MPU->RASR, MPU_RASR_ENABLE_Msk); 700049d8: f8d2 30a0 ldr.w r3, [r2, #160] @ 0xa0 700049dc: f023 0301 bic.w r3, r3, #1 700049e0: f8c2 30a0 str.w r3, [r2, #160] @ 0xa0 /* Disable the Region */ CLEAR_BIT(MPU->RASR, MPU_RASR_ENABLE_Msk); 700049e4: f8d2 30a0 ldr.w r3, [r2, #160] @ 0xa0 700049e8: f023 0301 bic.w r3, r3, #1 700049ec: f8c2 30a0 str.w r3, [r2, #160] @ 0xa0 MPU->RBAR = pMPU_RegionInit->BaseAddress; 700049f0: 6843 ldr r3, [r0, #4] 700049f2: f8c2 309c str.w r3, [r2, #156] @ 0x9c MPU->RASR = ((uint32_t)pMPU_RegionInit->DisableExec << MPU_RASR_XN_Pos) | ((uint32_t)pMPU_RegionInit->AccessPermission << MPU_RASR_AP_Pos) | 700049f6: 7ac3 ldrb r3, [r0, #11] MPU->RASR = ((uint32_t)pMPU_RegionInit->DisableExec << MPU_RASR_XN_Pos) | 700049f8: 7b01 ldrb r1, [r0, #12] ((uint32_t)pMPU_RegionInit->AccessPermission << MPU_RASR_AP_Pos) | 700049fa: 061b lsls r3, r3, #24 MPU->RASR = ((uint32_t)pMPU_RegionInit->DisableExec << MPU_RASR_XN_Pos) | 700049fc: ea43 7301 orr.w r3, r3, r1, lsl #28 ((uint32_t)pMPU_RegionInit->IsShareable << MPU_RASR_S_Pos) | ((uint32_t)pMPU_RegionInit->IsCacheable << MPU_RASR_C_Pos) | ((uint32_t)pMPU_RegionInit->IsBufferable << MPU_RASR_B_Pos) | ((uint32_t)pMPU_RegionInit->SubRegionDisable << MPU_RASR_SRD_Pos) | ((uint32_t)pMPU_RegionInit->Size << MPU_RASR_SIZE_Pos) | ((uint32_t)pMPU_RegionInit->Enable << MPU_RASR_ENABLE_Pos); 70004a00: 7801 ldrb r1, [r0, #0] ((uint32_t)pMPU_RegionInit->Size << MPU_RASR_SIZE_Pos) | 70004a02: 430b orrs r3, r1 ((uint32_t)pMPU_RegionInit->TypeExtField << MPU_RASR_TEX_Pos) | 70004a04: 7a81 ldrb r1, [r0, #10] ((uint32_t)pMPU_RegionInit->Size << MPU_RASR_SIZE_Pos) | 70004a06: ea43 43c1 orr.w r3, r3, r1, lsl #19 ((uint32_t)pMPU_RegionInit->IsShareable << MPU_RASR_S_Pos) | 70004a0a: 7b41 ldrb r1, [r0, #13] ((uint32_t)pMPU_RegionInit->Size << MPU_RASR_SIZE_Pos) | 70004a0c: ea43 4381 orr.w r3, r3, r1, lsl #18 ((uint32_t)pMPU_RegionInit->IsCacheable << MPU_RASR_C_Pos) | 70004a10: 7b81 ldrb r1, [r0, #14] ((uint32_t)pMPU_RegionInit->Size << MPU_RASR_SIZE_Pos) | 70004a12: ea43 4341 orr.w r3, r3, r1, lsl #17 ((uint32_t)pMPU_RegionInit->IsBufferable << MPU_RASR_B_Pos) | 70004a16: 7bc1 ldrb r1, [r0, #15] ((uint32_t)pMPU_RegionInit->Size << MPU_RASR_SIZE_Pos) | 70004a18: ea43 4301 orr.w r3, r3, r1, lsl #16 ((uint32_t)pMPU_RegionInit->SubRegionDisable << MPU_RASR_SRD_Pos) | 70004a1c: 7a41 ldrb r1, [r0, #9] ((uint32_t)pMPU_RegionInit->Size << MPU_RASR_SIZE_Pos) | 70004a1e: ea43 2301 orr.w r3, r3, r1, lsl #8 70004a22: 7a01 ldrb r1, [r0, #8] 70004a24: ea43 0341 orr.w r3, r3, r1, lsl #1 MPU->RASR = ((uint32_t)pMPU_RegionInit->DisableExec << MPU_RASR_XN_Pos) | 70004a28: f8c2 30a0 str.w r3, [r2, #160] @ 0xa0 } 70004a2c: 4770 bx lr 70004a2e: bf00 nop 70004a30: e000ed00 .word 0xe000ed00 70004a34 : * parameters in the CRC_InitTypeDef and create the associated handle. * @param hcrc CRC handle * @retval HAL status */ HAL_StatusTypeDef HAL_CRC_Init(CRC_HandleTypeDef *hcrc) { 70004a34: b510 push {r4, lr} /* Check the CRC handle allocation */ if (hcrc == NULL) 70004a36: 4604 mov r4, r0 70004a38: b908 cbnz r0, 70004a3e { return HAL_ERROR; 70004a3a: 2001 movs r0, #1 /* Change CRC peripheral state */ hcrc->State = HAL_CRC_STATE_READY; /* Return function status */ return HAL_OK; } 70004a3c: bd10 pop {r4, pc} if (hcrc->State == HAL_CRC_STATE_RESET) 70004a3e: 7f43 ldrb r3, [r0, #29] 70004a40: f003 02ff and.w r2, r3, #255 @ 0xff 70004a44: b913 cbnz r3, 70004a4c hcrc->Lock = HAL_UNLOCKED; 70004a46: 7702 strb r2, [r0, #28] HAL_CRC_MspInit(hcrc); 70004a48: f7fc faec bl 70001024 hcrc->State = HAL_CRC_STATE_BUSY; 70004a4c: 2302 movs r3, #2 70004a4e: 7763 strb r3, [r4, #29] if (hcrc->Init.DefaultPolynomialUse == DEFAULT_POLYNOMIAL_ENABLE) 70004a50: 7923 ldrb r3, [r4, #4] 70004a52: b9e3 cbnz r3, 70004a8e WRITE_REG(hcrc->Instance->POL, DEFAULT_CRC32_POLY); 70004a54: 6823 ldr r3, [r4, #0] 70004a56: 4a13 ldr r2, [pc, #76] @ (70004aa4 ) 70004a58: 615a str r2, [r3, #20] MODIFY_REG(hcrc->Instance->CR, CRC_CR_POLYSIZE, CRC_POLYLENGTH_32B); 70004a5a: 689a ldr r2, [r3, #8] 70004a5c: f022 0218 bic.w r2, r2, #24 70004a60: 609a str r2, [r3, #8] if (hcrc->Init.DefaultInitValueUse == DEFAULT_INIT_VALUE_ENABLE) 70004a62: 7962 ldrb r2, [r4, #5] WRITE_REG(hcrc->Instance->INIT, DEFAULT_CRC_INITVALUE); 70004a64: 6823 ldr r3, [r4, #0] if (hcrc->Init.DefaultInitValueUse == DEFAULT_INIT_VALUE_ENABLE) 70004a66: b9d2 cbnz r2, 70004a9e WRITE_REG(hcrc->Instance->INIT, DEFAULT_CRC_INITVALUE); 70004a68: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff WRITE_REG(hcrc->Instance->INIT, hcrc->Init.InitValue); 70004a6c: 611a str r2, [r3, #16] return HAL_OK; 70004a6e: 2000 movs r0, #0 MODIFY_REG(hcrc->Instance->CR, CRC_CR_REV_IN, hcrc->Init.InputDataInversionMode); 70004a70: 689a ldr r2, [r3, #8] 70004a72: 6961 ldr r1, [r4, #20] 70004a74: f022 0260 bic.w r2, r2, #96 @ 0x60 70004a78: 430a orrs r2, r1 MODIFY_REG(hcrc->Instance->CR, CRC_CR_REV_OUT, hcrc->Init.OutputDataInversionMode); 70004a7a: 69a1 ldr r1, [r4, #24] MODIFY_REG(hcrc->Instance->CR, CRC_CR_REV_IN, hcrc->Init.InputDataInversionMode); 70004a7c: 609a str r2, [r3, #8] MODIFY_REG(hcrc->Instance->CR, CRC_CR_REV_OUT, hcrc->Init.OutputDataInversionMode); 70004a7e: 689a ldr r2, [r3, #8] 70004a80: f022 0280 bic.w r2, r2, #128 @ 0x80 70004a84: 430a orrs r2, r1 70004a86: 609a str r2, [r3, #8] hcrc->State = HAL_CRC_STATE_READY; 70004a88: 2301 movs r3, #1 70004a8a: 7763 strb r3, [r4, #29] return HAL_OK; 70004a8c: e7d6 b.n 70004a3c if (HAL_CRCEx_Polynomial_Set(hcrc, hcrc->Init.GeneratingPolynomial, hcrc->Init.CRCLength) != HAL_OK) 70004a8e: e9d4 1202 ldrd r1, r2, [r4, #8] 70004a92: 4620 mov r0, r4 70004a94: f000 f808 bl 70004aa8 70004a98: 2800 cmp r0, #0 70004a9a: d0e2 beq.n 70004a62 70004a9c: e7cd b.n 70004a3a WRITE_REG(hcrc->Instance->INIT, hcrc->Init.InitValue); 70004a9e: 6922 ldr r2, [r4, #16] 70004aa0: e7e4 b.n 70004a6c 70004aa2: bf00 nop 70004aa4: 04c11db7 .word 0x04c11db7 70004aa8 : /* Check the parameters */ assert_param(IS_CRC_POL_LENGTH(PolyLength)); /* Ensure that the generating polynomial is odd */ if ((Pol & (uint32_t)(0x1U)) == 0U) 70004aa8: 07cb lsls r3, r1, #31 { 70004aaa: b510 push {r4, lr} if ((Pol & (uint32_t)(0x1U)) == 0U) 70004aac: d50b bpl.n 70004ac6 * definition. HAL_ERROR is reported if Pol degree is * larger than that indicated by PolyLength. * Look for MSB position: msb will contain the degree of * the second to the largest polynomial member. E.g., for * X^7 + X^6 + X^5 + X^2 + 1, msb = 6. */ while ((msb-- > 0U) && ((Pol & ((uint32_t)(0x1U) << (msb & 0x1FU))) == 0U)) 70004aae: 231e movs r3, #30 70004ab0: fa21 f403 lsr.w r4, r1, r3 70004ab4: 07e4 lsls r4, r4, #31 70004ab6: d508 bpl.n 70004aca { } switch (PolyLength) 70004ab8: 2a10 cmp r2, #16 70004aba: d018 beq.n 70004aee 70004abc: 2a10 cmp r2, #16 70004abe: d809 bhi.n 70004ad4 70004ac0: b162 cbz r2, 70004adc 70004ac2: 2a08 cmp r2, #8 70004ac4: d015 beq.n 70004af2 { case CRC_POLYLENGTH_7B: if (msb >= HAL_CRC_LENGTH_7B) { status = HAL_ERROR; 70004ac6: 2001 movs r0, #1 /* set generating polynomial size */ MODIFY_REG(hcrc->Instance->CR, CRC_CR_POLYSIZE, PolyLength); } /* Return function status */ return status; 70004ac8: e010 b.n 70004aec while ((msb-- > 0U) && ((Pol & ((uint32_t)(0x1U) << (msb & 0x1FU))) == 0U)) 70004aca: 3b01 subs r3, #1 70004acc: d2f0 bcs.n 70004ab0 switch (PolyLength) 70004ace: 2a10 cmp r2, #16 70004ad0: d1f4 bne.n 70004abc 70004ad2: e7f8 b.n 70004ac6 70004ad4: 2a18 cmp r2, #24 70004ad6: d1f6 bne.n 70004ac6 if (msb >= HAL_CRC_LENGTH_7B) 70004ad8: 2b06 cmp r3, #6 if (msb >= HAL_CRC_LENGTH_16B) 70004ada: d8f4 bhi.n 70004ac6 WRITE_REG(hcrc->Instance->POL, Pol); 70004adc: 6800 ldr r0, [r0, #0] 70004ade: 6141 str r1, [r0, #20] MODIFY_REG(hcrc->Instance->CR, CRC_CR_POLYSIZE, PolyLength); 70004ae0: 6883 ldr r3, [r0, #8] 70004ae2: f023 0318 bic.w r3, r3, #24 70004ae6: 4313 orrs r3, r2 70004ae8: 6083 str r3, [r0, #8] 70004aea: 2000 movs r0, #0 } 70004aec: bd10 pop {r4, pc} if (msb >= HAL_CRC_LENGTH_8B) 70004aee: 2b07 cmp r3, #7 70004af0: e7f3 b.n 70004ada if (msb >= HAL_CRC_LENGTH_16B) 70004af2: 2b0f cmp r3, #15 70004af4: e7f1 b.n 70004ada ... 70004af8 : * @param hdma : Pointer to a DMA_HandleTypeDef structure that contains the configuration information for the * specified DMA Channel. * @retval HAL status. */ HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *const hdma) { 70004af8: b538 push {r3, r4, r5, lr} 70004afa: 4604 mov r4, r0 /* Get tick number */ uint32_t tickstart = HAL_GetTick(); 70004afc: f7ff fece bl 7000489c 70004b00: 4605 mov r5, r0 /* Check the DMA peripheral handle parameter */ if (hdma == NULL) 70004b02: 2c00 cmp r4, #0 70004b04: f000 8144 beq.w 70004d90 assert_param(IS_DMA_BURST_LENGTH(hdma->Init.DestBurstLength)); assert_param(IS_DMA_TRANSFER_ALLOCATED_PORT(hdma->Init.TransferAllocatedPort)); } /* Allocate lock resource */ __HAL_UNLOCK(hdma); 70004b08: 2300 movs r3, #0 /* Initialize the callbacks */ if (hdma->State == HAL_DMA_STATE_RESET) 70004b0a: f894 1054 ldrb.w r1, [r4, #84] @ 0x54 if ((IS_HPDMA_INSTANCE(hdma->Instance) != 0U) || (IS_GPDMA_INSTANCE(hdma->Instance) != 0U)) 70004b0e: 6822 ldr r2, [r4, #0] __HAL_UNLOCK(hdma); 70004b10: f884 304c strb.w r3, [r4, #76] @ 0x4c if (hdma->State == HAL_DMA_STATE_RESET) 70004b14: f001 03ff and.w r3, r1, #255 @ 0xff 70004b18: b921 cbnz r1, 70004b24 /* Clean all callbacks */ hdma->XferCpltCallback = NULL; hdma->XferHalfCpltCallback = NULL; hdma->XferErrorCallback = NULL; hdma->XferAbortCallback = NULL; hdma->XferSuspendCallback = NULL; 70004b1a: 6723 str r3, [r4, #112] @ 0x70 hdma->XferHalfCpltCallback = NULL; 70004b1c: e9c4 3318 strd r3, r3, [r4, #96] @ 0x60 hdma->XferAbortCallback = NULL; 70004b20: e9c4 331a strd r3, r3, [r4, #104] @ 0x68 } /* Update the DMA channel state */ hdma->State = HAL_DMA_STATE_BUSY; 70004b24: 2302 movs r3, #2 70004b26: f884 3054 strb.w r3, [r4, #84] @ 0x54 /* Disable the DMA channel */ __HAL_DMA_DISABLE(hdma); 70004b2a: 6953 ldr r3, [r2, #20] 70004b2c: f043 0306 orr.w r3, r3, #6 70004b30: 6153 str r3, [r2, #20] /* Check if the DMA channel is effectively disabled */ while ((hdma->Instance->CCR & DMA_CCR_EN) != 0U) 70004b32: 6823 ldr r3, [r4, #0] 70004b34: 695a ldr r2, [r3, #20] 70004b36: 07d2 lsls r2, r2, #31 70004b38: f100 811f bmi.w 70004d7a /* Prepare DMA Channel Control Register (CCR) value *****************************************************************/ tmpreg = hdma->Init.Priority; /* Write DMA Channel Control Register (CCR) */ MODIFY_REG(hdma->Instance->CCR, DMA_CCR_PRIO | DMA_CCR_LAP | DMA_CCR_LSM, tmpreg); 70004b3c: 695a ldr r2, [r3, #20] 70004b3e: 6a21 ldr r1, [r4, #32] 70004b40: f422 0243 bic.w r2, r2, #12779520 @ 0xc30000 70004b44: 4896 ldr r0, [pc, #600] @ (70004da0 ) 70004b46: 430a orrs r2, r1 /* Prepare DMA Channel Transfer Register (CTR1) value ***************************************************************/ tmpreg = hdma->Init.DestInc | hdma->Init.DestDataWidth | hdma->Init.SrcInc | hdma->Init.SrcDataWidth; 70004b48: 69e1 ldr r1, [r4, #28] MODIFY_REG(hdma->Instance->CCR, DMA_CCR_PRIO | DMA_CCR_LAP | DMA_CCR_LSM, tmpreg); 70004b4a: 615a str r2, [r3, #20] tmpreg = hdma->Init.DestInc | hdma->Init.DestDataWidth | hdma->Init.SrcInc | hdma->Init.SrcDataWidth; 70004b4c: 6962 ldr r2, [r4, #20] 70004b4e: 430a orrs r2, r1 70004b50: 6921 ldr r1, [r4, #16] 70004b52: 430a orrs r2, r1 70004b54: 69a1 ldr r1, [r4, #24] 70004b56: 430a orrs r2, r1 /* Add parameters specific to HPDMA and GPDMA */ if ((IS_HPDMA_INSTANCE(hdma->Instance) != 0U) || (IS_GPDMA_INSTANCE(hdma->Instance) != 0U)) 70004b58: 4992 ldr r1, [pc, #584] @ (70004da4 ) 70004b5a: 428b cmp r3, r1 70004b5c: d05c beq.n 70004c18 70004b5e: 3180 adds r1, #128 @ 0x80 70004b60: 428b cmp r3, r1 70004b62: d059 beq.n 70004c18 70004b64: 3180 adds r1, #128 @ 0x80 70004b66: 428b cmp r3, r1 70004b68: d056 beq.n 70004c18 70004b6a: 3180 adds r1, #128 @ 0x80 70004b6c: 428b cmp r3, r1 70004b6e: d053 beq.n 70004c18 70004b70: 3180 adds r1, #128 @ 0x80 70004b72: 428b cmp r3, r1 70004b74: d050 beq.n 70004c18 70004b76: 3180 adds r1, #128 @ 0x80 70004b78: 428b cmp r3, r1 70004b7a: d04d beq.n 70004c18 70004b7c: 3180 adds r1, #128 @ 0x80 70004b7e: 428b cmp r3, r1 70004b80: d04a beq.n 70004c18 70004b82: 3180 adds r1, #128 @ 0x80 70004b84: 428b cmp r3, r1 70004b86: d047 beq.n 70004c18 70004b88: 3180 adds r1, #128 @ 0x80 70004b8a: 428b cmp r3, r1 70004b8c: d044 beq.n 70004c18 70004b8e: 3180 adds r1, #128 @ 0x80 70004b90: 428b cmp r3, r1 70004b92: d041 beq.n 70004c18 70004b94: 3180 adds r1, #128 @ 0x80 70004b96: 428b cmp r3, r1 70004b98: d03e beq.n 70004c18 70004b9a: 3180 adds r1, #128 @ 0x80 70004b9c: 428b cmp r3, r1 70004b9e: d03b beq.n 70004c18 70004ba0: 3180 adds r1, #128 @ 0x80 70004ba2: 428b cmp r3, r1 70004ba4: d038 beq.n 70004c18 70004ba6: 3180 adds r1, #128 @ 0x80 70004ba8: 428b cmp r3, r1 70004baa: d035 beq.n 70004c18 70004bac: 3180 adds r1, #128 @ 0x80 70004bae: 428b cmp r3, r1 70004bb0: d032 beq.n 70004c18 70004bb2: 3180 adds r1, #128 @ 0x80 70004bb4: 428b cmp r3, r1 70004bb6: d02f beq.n 70004c18 70004bb8: 497b ldr r1, [pc, #492] @ (70004da8 ) 70004bba: 428b cmp r3, r1 70004bbc: d02c beq.n 70004c18 70004bbe: 3180 adds r1, #128 @ 0x80 70004bc0: 428b cmp r3, r1 70004bc2: d029 beq.n 70004c18 70004bc4: 3180 adds r1, #128 @ 0x80 70004bc6: 428b cmp r3, r1 70004bc8: d026 beq.n 70004c18 70004bca: 3180 adds r1, #128 @ 0x80 70004bcc: 428b cmp r3, r1 70004bce: d023 beq.n 70004c18 70004bd0: 3180 adds r1, #128 @ 0x80 70004bd2: 428b cmp r3, r1 70004bd4: d020 beq.n 70004c18 70004bd6: 3180 adds r1, #128 @ 0x80 70004bd8: 428b cmp r3, r1 70004bda: d01d beq.n 70004c18 70004bdc: 3180 adds r1, #128 @ 0x80 70004bde: 428b cmp r3, r1 70004be0: d01a beq.n 70004c18 70004be2: 3180 adds r1, #128 @ 0x80 70004be4: 428b cmp r3, r1 70004be6: d017 beq.n 70004c18 70004be8: 3180 adds r1, #128 @ 0x80 70004bea: 428b cmp r3, r1 70004bec: d014 beq.n 70004c18 70004bee: 3180 adds r1, #128 @ 0x80 70004bf0: 428b cmp r3, r1 70004bf2: d011 beq.n 70004c18 70004bf4: 3180 adds r1, #128 @ 0x80 70004bf6: 428b cmp r3, r1 70004bf8: d00e beq.n 70004c18 70004bfa: 3180 adds r1, #128 @ 0x80 70004bfc: 428b cmp r3, r1 70004bfe: d00b beq.n 70004c18 70004c00: 4283 cmp r3, r0 70004c02: d009 beq.n 70004c18 70004c04: f501 7180 add.w r1, r1, #256 @ 0x100 70004c08: 428b cmp r3, r1 70004c0a: d005 beq.n 70004c18 70004c0c: 3180 adds r1, #128 @ 0x80 70004c0e: 428b cmp r3, r1 70004c10: d002 beq.n 70004c18 70004c12: 3180 adds r1, #128 @ 0x80 70004c14: 428b cmp r3, r1 70004c16: d10d bne.n 70004c34 { tmpreg |= (hdma->Init.TransferAllocatedPort | (((hdma->Init.DestBurstLength - 1U) << DMA_CTR1_DBL_1_Pos) & DMA_CTR1_DBL_1) | 70004c18: 6aa1 ldr r1, [r4, #40] @ 0x28 70004c1a: 3901 subs r1, #1 70004c1c: 0509 lsls r1, r1, #20 70004c1e: f001 717c and.w r1, r1, #66060288 @ 0x3f00000 70004c22: 4311 orrs r1, r2 70004c24: 6ae2 ldr r2, [r4, #44] @ 0x2c 70004c26: 4311 orrs r1, r2 (((hdma->Init.SrcBurstLength - 1U) << DMA_CTR1_SBL_1_Pos) & DMA_CTR1_SBL_1)); 70004c28: 6a62 ldr r2, [r4, #36] @ 0x24 70004c2a: 3a01 subs r2, #1 70004c2c: 0112 lsls r2, r2, #4 70004c2e: f402 727c and.w r2, r2, #1008 @ 0x3f0 tmpreg |= (hdma->Init.TransferAllocatedPort | 70004c32: 430a orrs r2, r1 /* Write DMA Channel Transfer Register 1 (CTR1) */ WRITE_REG(hdma->Instance->CTR1, tmpreg); /* Prepare DMA Channel Transfer Register 2 (CTR2) value *************************************************************/ tmpreg = hdma->Init.BlkHWRequest | (hdma->Init.Request & DMA_CTR2_REQSEL) | hdma->Init.TransferEventMode; 70004c34: 68a1 ldr r1, [r4, #8] WRITE_REG(hdma->Instance->CTR1, tmpreg); 70004c36: 641a str r2, [r3, #64] @ 0x40 tmpreg = hdma->Init.BlkHWRequest | (hdma->Init.Request & DMA_CTR2_REQSEL) | hdma->Init.TransferEventMode; 70004c38: 6b22 ldr r2, [r4, #48] @ 0x30 70004c3a: 4311 orrs r1, r2 70004c3c: 6862 ldr r2, [r4, #4] 70004c3e: f002 027f and.w r2, r2, #127 @ 0x7f 70004c42: 4311 orrs r1, r2 /* Memory to Peripheral Transfer */ if ((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) 70004c44: 68e2 ldr r2, [r4, #12] 70004c46: f5b2 6f80 cmp.w r2, #1024 @ 0x400 70004c4a: f040 80a3 bne.w 70004d94 { if ((IS_HPDMA_INSTANCE(hdma->Instance) != 0U) || (IS_GPDMA_INSTANCE(hdma->Instance) != 0U)) 70004c4e: 4a55 ldr r2, [pc, #340] @ (70004da4 ) 70004c50: 4293 cmp r3, r2 70004c52: d05c beq.n 70004d0e 70004c54: 3280 adds r2, #128 @ 0x80 70004c56: 4293 cmp r3, r2 70004c58: d059 beq.n 70004d0e 70004c5a: 3280 adds r2, #128 @ 0x80 70004c5c: 4293 cmp r3, r2 70004c5e: d056 beq.n 70004d0e 70004c60: 3280 adds r2, #128 @ 0x80 70004c62: 4293 cmp r3, r2 70004c64: d053 beq.n 70004d0e 70004c66: 3280 adds r2, #128 @ 0x80 70004c68: 4293 cmp r3, r2 70004c6a: d050 beq.n 70004d0e 70004c6c: 3280 adds r2, #128 @ 0x80 70004c6e: 4293 cmp r3, r2 70004c70: d04d beq.n 70004d0e 70004c72: 3280 adds r2, #128 @ 0x80 70004c74: 4293 cmp r3, r2 70004c76: d04a beq.n 70004d0e 70004c78: 3280 adds r2, #128 @ 0x80 70004c7a: 4293 cmp r3, r2 70004c7c: d047 beq.n 70004d0e 70004c7e: 3280 adds r2, #128 @ 0x80 70004c80: 4293 cmp r3, r2 70004c82: d044 beq.n 70004d0e 70004c84: 3280 adds r2, #128 @ 0x80 70004c86: 4293 cmp r3, r2 70004c88: d041 beq.n 70004d0e 70004c8a: 3280 adds r2, #128 @ 0x80 70004c8c: 4293 cmp r3, r2 70004c8e: d03e beq.n 70004d0e 70004c90: 3280 adds r2, #128 @ 0x80 70004c92: 4293 cmp r3, r2 70004c94: d03b beq.n 70004d0e 70004c96: 3280 adds r2, #128 @ 0x80 70004c98: 4293 cmp r3, r2 70004c9a: d038 beq.n 70004d0e 70004c9c: 3280 adds r2, #128 @ 0x80 70004c9e: 4293 cmp r3, r2 70004ca0: d035 beq.n 70004d0e 70004ca2: 3280 adds r2, #128 @ 0x80 70004ca4: 4293 cmp r3, r2 70004ca6: d032 beq.n 70004d0e 70004ca8: 3280 adds r2, #128 @ 0x80 70004caa: 4293 cmp r3, r2 70004cac: d02f beq.n 70004d0e 70004cae: 4a3e ldr r2, [pc, #248] @ (70004da8 ) 70004cb0: 4293 cmp r3, r2 70004cb2: d02c beq.n 70004d0e 70004cb4: 3280 adds r2, #128 @ 0x80 70004cb6: 4293 cmp r3, r2 70004cb8: d029 beq.n 70004d0e 70004cba: 3280 adds r2, #128 @ 0x80 70004cbc: 4293 cmp r3, r2 70004cbe: d026 beq.n 70004d0e 70004cc0: 3280 adds r2, #128 @ 0x80 70004cc2: 4293 cmp r3, r2 70004cc4: d023 beq.n 70004d0e 70004cc6: 3280 adds r2, #128 @ 0x80 70004cc8: 4293 cmp r3, r2 70004cca: d020 beq.n 70004d0e 70004ccc: 3280 adds r2, #128 @ 0x80 70004cce: 4293 cmp r3, r2 70004cd0: d01d beq.n 70004d0e 70004cd2: 3280 adds r2, #128 @ 0x80 70004cd4: 4293 cmp r3, r2 70004cd6: d01a beq.n 70004d0e 70004cd8: 3280 adds r2, #128 @ 0x80 70004cda: 4293 cmp r3, r2 70004cdc: d017 beq.n 70004d0e 70004cde: 3280 adds r2, #128 @ 0x80 70004ce0: 4293 cmp r3, r2 70004ce2: d014 beq.n 70004d0e 70004ce4: 3280 adds r2, #128 @ 0x80 70004ce6: 4293 cmp r3, r2 70004ce8: d011 beq.n 70004d0e 70004cea: 3280 adds r2, #128 @ 0x80 70004cec: 4293 cmp r3, r2 70004cee: d00e beq.n 70004d0e 70004cf0: 3280 adds r2, #128 @ 0x80 70004cf2: 4293 cmp r3, r2 70004cf4: d00b beq.n 70004d0e 70004cf6: 4283 cmp r3, r0 70004cf8: d009 beq.n 70004d0e 70004cfa: f502 7280 add.w r2, r2, #256 @ 0x100 70004cfe: 4293 cmp r3, r2 70004d00: d005 beq.n 70004d0e 70004d02: 3280 adds r2, #128 @ 0x80 70004d04: 4293 cmp r3, r2 70004d06: d002 beq.n 70004d0e 70004d08: 3280 adds r2, #128 @ 0x80 70004d0a: 4293 cmp r3, r2 70004d0c: d101 bne.n 70004d12 { tmpreg |= DMA_CTR2_DREQ; 70004d0e: f441 6180 orr.w r1, r1, #1024 @ 0x400 /* Set DMA channel operation mode */ tmpreg |= hdma->Init.Mode; /* Write DMA Channel Transfer Register 2 (CTR2) */ MODIFY_REG(hdma->Instance->CTR2, (DMA_CTR2_TCEM | DMA_CTR2_TRIGPOL | DMA_CTR2_TRIGSEL | DMA_CTR2_TRIGM | 70004d12: 6c5a ldr r2, [r3, #68] @ 0x44 /* Write DMA Channel Block Register 1 (CBR1) ************************************************************************/ WRITE_REG(hdma->Instance->CBR1, 0U); /* If 2D Addressing is supported by current channel */ if (IS_DMA_2D_ADDRESSING_INSTANCE(hdma->Instance) != 0U) 70004d14: 4283 cmp r3, r0 tmpreg |= hdma->Init.Mode; 70004d16: 6b65 ldr r5, [r4, #52] @ 0x34 MODIFY_REG(hdma->Instance->CTR2, (DMA_CTR2_TCEM | DMA_CTR2_TRIGPOL | DMA_CTR2_TRIGSEL | DMA_CTR2_TRIGM | 70004d18: f022 4243 bic.w r2, r2, #3271557120 @ 0xc3000000 70004d1c: f422 127f bic.w r2, r2, #4177920 @ 0x3fc000 70004d20: f422 52f3 bic.w r2, r2, #7776 @ 0x1e60 70004d24: f022 021f bic.w r2, r2, #31 70004d28: ea42 0205 orr.w r2, r2, r5 70004d2c: ea42 0201 orr.w r2, r2, r1 70004d30: 645a str r2, [r3, #68] @ 0x44 WRITE_REG(hdma->Instance->CBR1, 0U); 70004d32: f04f 0200 mov.w r2, #0 70004d36: 649a str r2, [r3, #72] @ 0x48 if (IS_DMA_2D_ADDRESSING_INSTANCE(hdma->Instance) != 0U) 70004d38: d014 beq.n 70004d64 70004d3a: 4a1c ldr r2, [pc, #112] @ (70004dac ) 70004d3c: 4293 cmp r3, r2 70004d3e: d011 beq.n 70004d64 70004d40: 3280 adds r2, #128 @ 0x80 70004d42: 4293 cmp r3, r2 70004d44: d00e beq.n 70004d64 70004d46: 3280 adds r2, #128 @ 0x80 70004d48: 4293 cmp r3, r2 70004d4a: d00b beq.n 70004d64 70004d4c: 4a18 ldr r2, [pc, #96] @ (70004db0 ) 70004d4e: 4293 cmp r3, r2 70004d50: d008 beq.n 70004d64 70004d52: 3280 adds r2, #128 @ 0x80 70004d54: 4293 cmp r3, r2 70004d56: d005 beq.n 70004d64 70004d58: 3280 adds r2, #128 @ 0x80 70004d5a: 4293 cmp r3, r2 70004d5c: d002 beq.n 70004d64 70004d5e: 3280 adds r2, #128 @ 0x80 70004d60: 4293 cmp r3, r2 70004d62: d102 bne.n 70004d6a { /* Write DMA Channel Transfer Register 3 (CTR3) *******************************************************************/ WRITE_REG(hdma->Instance->CTR3, 0U); 70004d64: 2200 movs r2, #0 70004d66: 655a str r2, [r3, #84] @ 0x54 /* Write DMA Channel Block Register 2 (CBR2) **********************************************************************/ WRITE_REG(hdma->Instance->CBR2, 0U); 70004d68: 659a str r2, [r3, #88] @ 0x58 } /* Write DMA Channel linked-list address register (CLLR) ************************************************************/ WRITE_REG(hdma->Instance->CLLR, 0U); 70004d6a: 2000 movs r0, #0 70004d6c: 67d8 str r0, [r3, #124] @ 0x7c hdma->State = HAL_DMA_STATE_READY; 70004d6e: 2301 movs r3, #1 hdma->ErrorCode = HAL_DMA_ERROR_NONE; 70004d70: 65a0 str r0, [r4, #88] @ 0x58 hdma->Mode = hdma->Init.Mode; 70004d72: 6525 str r5, [r4, #80] @ 0x50 hdma->State = HAL_DMA_STATE_READY; 70004d74: f884 3054 strb.w r3, [r4, #84] @ 0x54 return HAL_OK; 70004d78: e00b b.n 70004d92 if ((HAL_GetTick() - tickstart) > HAL_TIMEOUT_DMA_ABORT) 70004d7a: f7ff fd8f bl 7000489c 70004d7e: 1b40 subs r0, r0, r5 70004d80: 2805 cmp r0, #5 70004d82: f67f aed6 bls.w 70004b32 hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 70004d86: 2310 movs r3, #16 70004d88: 65a3 str r3, [r4, #88] @ 0x58 hdma->State = HAL_DMA_STATE_ERROR; 70004d8a: 2303 movs r3, #3 70004d8c: f884 3054 strb.w r3, [r4, #84] @ 0x54 return HAL_ERROR; 70004d90: 2001 movs r0, #1 } 70004d92: bd38 pop {r3, r4, r5, pc} else if ((hdma->Init.Direction) == DMA_MEMORY_TO_MEMORY) 70004d94: f5b2 7f00 cmp.w r2, #512 @ 0x200 tmpreg |= DMA_CTR2_SWREQ; 70004d98: bf08 it eq 70004d9a: f441 7100 orreq.w r1, r1, #512 @ 0x200 70004d9e: e7b8 b.n 70004d12 70004da0: 40021650 .word 0x40021650 70004da4: 52000050 .word 0x52000050 70004da8: 40021050 .word 0x40021050 70004dac: 400216d0 .word 0x400216d0 70004db0: 52000650 .word 0x52000650 70004db4 : { 70004db4: b530 push {r4, r5, lr} if (hdma == NULL) 70004db6: 2800 cmp r0, #0 70004db8: d034 beq.n 70004e24 __HAL_LOCK(hdma); 70004dba: f890 404c ldrb.w r4, [r0, #76] @ 0x4c 70004dbe: 2c01 cmp r4, #1 70004dc0: d032 beq.n 70004e28 70004dc2: 2401 movs r4, #1 70004dc4: f880 404c strb.w r4, [r0, #76] @ 0x4c if (hdma->State == HAL_DMA_STATE_READY) 70004dc8: f890 4054 ldrb.w r4, [r0, #84] @ 0x54 70004dcc: 2c01 cmp r4, #1 70004dce: f04f 0400 mov.w r4, #0 70004dd2: d123 bne.n 70004e1c hdma->State = HAL_DMA_STATE_BUSY; 70004dd4: 2502 movs r5, #2 70004dd6: f880 5054 strb.w r5, [r0, #84] @ 0x54 hdma->ErrorCode = HAL_DMA_ERROR_NONE; 70004dda: 6584 str r4, [r0, #88] @ 0x58 MODIFY_REG(hdma->Instance->CBR1, DMA_CBR1_BNDT, (SrcDataSize & DMA_CBR1_BNDT)); 70004ddc: 6804 ldr r4, [r0, #0] 70004dde: 6ca5 ldr r5, [r4, #72] @ 0x48 70004de0: f363 050f bfi r5, r3, #0, #16 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_TC | DMA_FLAG_HT | DMA_FLAG_DTE | DMA_FLAG_ULE | DMA_FLAG_USE | DMA_FLAG_SUSP | 70004de4: f44f 43fe mov.w r3, #32512 @ 0x7f00 MODIFY_REG(hdma->Instance->CBR1, DMA_CBR1_BNDT, (SrcDataSize & DMA_CBR1_BNDT)); 70004de8: 64a5 str r5, [r4, #72] @ 0x48 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_TC | DMA_FLAG_HT | DMA_FLAG_DTE | DMA_FLAG_ULE | DMA_FLAG_USE | DMA_FLAG_SUSP | 70004dea: 60e3 str r3, [r4, #12] hdma->Instance->CSAR = SrcAddress; 70004dec: 64e1 str r1, [r4, #76] @ 0x4c hdma->Instance->CDAR = DstAddress; 70004dee: 6522 str r2, [r4, #80] @ 0x50 __HAL_DMA_ENABLE_IT(hdma, (DMA_IT_TC | DMA_IT_DTE | DMA_IT_ULE | DMA_IT_USE | DMA_IT_TO)); 70004df0: 6963 ldr r3, [r4, #20] 70004df2: f443 43ba orr.w r3, r3, #23808 @ 0x5d00 70004df6: 6163 str r3, [r4, #20] if (hdma->XferHalfCpltCallback != NULL) 70004df8: 6e43 ldr r3, [r0, #100] @ 0x64 70004dfa: b11b cbz r3, 70004e04 __HAL_DMA_ENABLE_IT(hdma, DMA_IT_HT); 70004dfc: 6963 ldr r3, [r4, #20] 70004dfe: f443 7300 orr.w r3, r3, #512 @ 0x200 70004e02: 6163 str r3, [r4, #20] if (hdma->XferSuspendCallback != NULL) 70004e04: 6f03 ldr r3, [r0, #112] @ 0x70 70004e06: b11b cbz r3, 70004e10 __HAL_DMA_ENABLE_IT(hdma, DMA_IT_SUSP); 70004e08: 6963 ldr r3, [r4, #20] 70004e0a: f443 5300 orr.w r3, r3, #8192 @ 0x2000 70004e0e: 6163 str r3, [r4, #20] __HAL_DMA_ENABLE(hdma); 70004e10: 6963 ldr r3, [r4, #20] return HAL_OK; 70004e12: 2000 movs r0, #0 __HAL_DMA_ENABLE(hdma); 70004e14: f043 0301 orr.w r3, r3, #1 70004e18: 6163 str r3, [r4, #20] } 70004e1a: bd30 pop {r4, r5, pc} hdma->ErrorCode = HAL_DMA_ERROR_BUSY; 70004e1c: 2340 movs r3, #64 @ 0x40 __HAL_UNLOCK(hdma); 70004e1e: f880 404c strb.w r4, [r0, #76] @ 0x4c hdma->ErrorCode = HAL_DMA_ERROR_BUSY; 70004e22: 6583 str r3, [r0, #88] @ 0x58 return HAL_ERROR; 70004e24: 2001 movs r0, #1 70004e26: e7f8 b.n 70004e1a __HAL_LOCK(hdma); 70004e28: 2002 movs r0, #2 70004e2a: e7f6 b.n 70004e1a 70004e2c : { 70004e2c: b538 push {r3, r4, r5, lr} 70004e2e: 4604 mov r4, r0 uint32_t tickstart = HAL_GetTick(); 70004e30: f7ff fd34 bl 7000489c 70004e34: 4605 mov r5, r0 if (hdma == NULL) 70004e36: b144 cbz r4, 70004e4a if (hdma->State != HAL_DMA_STATE_BUSY) 70004e38: f894 3054 ldrb.w r3, [r4, #84] @ 0x54 70004e3c: 2b02 cmp r3, #2 70004e3e: d006 beq.n 70004e4e hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 70004e40: 2320 movs r3, #32 70004e42: 65a3 str r3, [r4, #88] @ 0x58 __HAL_UNLOCK(hdma); 70004e44: 2300 movs r3, #0 70004e46: f884 304c strb.w r3, [r4, #76] @ 0x4c return HAL_ERROR; 70004e4a: 2001 movs r0, #1 } 70004e4c: bd38 pop {r3, r4, r5, pc} hdma->Instance->CCR |= DMA_CCR_SUSP; 70004e4e: 6822 ldr r2, [r4, #0] 70004e50: 6953 ldr r3, [r2, #20] 70004e52: f043 0304 orr.w r3, r3, #4 70004e56: 6153 str r3, [r2, #20] hdma->State = HAL_DMA_STATE_SUSPEND; 70004e58: 2305 movs r3, #5 70004e5a: f884 3054 strb.w r3, [r4, #84] @ 0x54 while ((hdma->Instance->CSR & DMA_CSR_SUSPF) == 0U) 70004e5e: 6823 ldr r3, [r4, #0] 70004e60: 691a ldr r2, [r3, #16] 70004e62: 0490 lsls r0, r2, #18 70004e64: d519 bpl.n 70004e9a hdma->Instance->CCR |= DMA_CCR_RESET; 70004e66: 695a ldr r2, [r3, #20] if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70004e68: 6d21 ldr r1, [r4, #80] @ 0x50 hdma->Instance->CCR |= DMA_CCR_RESET; 70004e6a: f042 0202 orr.w r2, r2, #2 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70004e6e: 0609 lsls r1, r1, #24 hdma->Instance->CCR |= DMA_CCR_RESET; 70004e70: 615a str r2, [r3, #20] hdma->State = HAL_DMA_STATE_ABORT; 70004e72: f04f 0204 mov.w r2, #4 70004e76: f884 2054 strb.w r2, [r4, #84] @ 0x54 __HAL_DMA_CLEAR_FLAG(hdma, (DMA_FLAG_TC | DMA_FLAG_HT | DMA_FLAG_DTE | DMA_FLAG_ULE | DMA_FLAG_USE | DMA_FLAG_SUSP | 70004e7a: f44f 42fe mov.w r2, #32512 @ 0x7f00 70004e7e: 60da str r2, [r3, #12] hdma->State = HAL_DMA_STATE_READY; 70004e80: f04f 0201 mov.w r2, #1 70004e84: f884 2054 strb.w r2, [r4, #84] @ 0x54 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70004e88: d503 bpl.n 70004e92 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; 70004e8a: 6f61 ldr r1, [r4, #116] @ 0x74 70004e8c: 730a strb r2, [r1, #12] hdma->Instance->CBR1 = 0U; 70004e8e: 2200 movs r2, #0 70004e90: 649a str r2, [r3, #72] @ 0x48 __HAL_UNLOCK(hdma); 70004e92: 2000 movs r0, #0 70004e94: f884 004c strb.w r0, [r4, #76] @ 0x4c return HAL_OK; 70004e98: e7d8 b.n 70004e4c if ((HAL_GetTick() - tickstart) > HAL_TIMEOUT_DMA_ABORT) 70004e9a: f7ff fcff bl 7000489c 70004e9e: 1b40 subs r0, r0, r5 70004ea0: 2805 cmp r0, #5 70004ea2: d9dc bls.n 70004e5e hdma->ErrorCode |= HAL_DMA_ERROR_TIMEOUT; 70004ea4: 6da3 ldr r3, [r4, #88] @ 0x58 70004ea6: f043 0310 orr.w r3, r3, #16 70004eaa: 65a3 str r3, [r4, #88] @ 0x58 hdma->State = HAL_DMA_STATE_ERROR; 70004eac: 2303 movs r3, #3 70004eae: f884 3054 strb.w r3, [r4, #84] @ 0x54 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70004eb2: 6d23 ldr r3, [r4, #80] @ 0x50 70004eb4: 061d lsls r5, r3, #24 70004eb6: d5c5 bpl.n 70004e44 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; 70004eb8: 6f63 ldr r3, [r4, #116] @ 0x74 70004eba: 2201 movs r2, #1 70004ebc: 731a strb r2, [r3, #12] __HAL_UNLOCK(hdma); 70004ebe: e7c1 b.n 70004e44 70004ec0 : if (hdma == NULL) 70004ec0: b128 cbz r0, 70004ece if (hdma->State != HAL_DMA_STATE_BUSY) 70004ec2: f890 3054 ldrb.w r3, [r0, #84] @ 0x54 70004ec6: 2b02 cmp r3, #2 70004ec8: d003 beq.n 70004ed2 hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 70004eca: 2320 movs r3, #32 70004ecc: 6583 str r3, [r0, #88] @ 0x58 return HAL_ERROR; 70004ece: 2001 movs r0, #1 70004ed0: 4770 bx lr hdma->Instance->CCR |= (DMA_CCR_SUSP | DMA_CCR_SUSPIE); 70004ed2: 6802 ldr r2, [r0, #0] hdma->State = HAL_DMA_STATE_ABORT; 70004ed4: 2304 movs r3, #4 70004ed6: f880 3054 strb.w r3, [r0, #84] @ 0x54 return HAL_OK; 70004eda: 2000 movs r0, #0 hdma->Instance->CCR |= (DMA_CCR_SUSP | DMA_CCR_SUSPIE); 70004edc: 6953 ldr r3, [r2, #20] 70004ede: f443 5300 orr.w r3, r3, #8192 @ 0x2000 70004ee2: f043 0304 orr.w r3, r3, #4 70004ee6: 6153 str r3, [r2, #20] } 70004ee8: 4770 bx lr 70004eea : const DMA_TypeDef *p_dma_instance = GET_DMA_INSTANCE(hdma); 70004eea: 6803 ldr r3, [r0, #0] uint32_t global_it_flag = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); 70004eec: 2101 movs r1, #1 const DMA_TypeDef *p_dma_instance = GET_DMA_INSTANCE(hdma); 70004eee: f423 627f bic.w r2, r3, #4080 @ 0xff0 70004ef2: f022 020f bic.w r2, r2, #15 { 70004ef6: b510 push {r4, lr} 70004ef8: 4604 mov r4, r0 if (IS_DMA_GLOBAL_ACTIVE_FLAG(p_dma_instance, global_it_flag) == 0U) 70004efa: 68d0 ldr r0, [r2, #12] uint32_t global_it_flag = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); 70004efc: f3c3 020b ubfx r2, r3, #0, #12 70004f00: 3a50 subs r2, #80 @ 0x50 70004f02: f3c2 12c4 ubfx r2, r2, #7, #5 70004f06: fa01 f202 lsl.w r2, r1, r2 if (IS_DMA_GLOBAL_ACTIVE_FLAG(p_dma_instance, global_it_flag) == 0U) 70004f0a: 4202 tst r2, r0 70004f0c: f000 80aa beq.w 70005064 if (__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_DTE) != 0U) 70004f10: 691a ldr r2, [r3, #16] 70004f12: 0550 lsls r0, r2, #21 70004f14: d508 bpl.n 70004f28 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DTE) != 0U) 70004f16: 695a ldr r2, [r3, #20] 70004f18: 0552 lsls r2, r2, #21 70004f1a: d505 bpl.n 70004f28 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_DTE); 70004f1c: f44f 6280 mov.w r2, #1024 @ 0x400 70004f20: 60da str r2, [r3, #12] hdma->ErrorCode |= HAL_DMA_ERROR_DTE; 70004f22: 6da2 ldr r2, [r4, #88] @ 0x58 70004f24: 430a orrs r2, r1 70004f26: 65a2 str r2, [r4, #88] @ 0x58 if (__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_ULE) != 0U) 70004f28: 691a ldr r2, [r3, #16] 70004f2a: 0510 lsls r0, r2, #20 70004f2c: d509 bpl.n 70004f42 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_ULE) != 0U) 70004f2e: 695a ldr r2, [r3, #20] 70004f30: 0511 lsls r1, r2, #20 70004f32: d506 bpl.n 70004f42 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_ULE); 70004f34: f44f 6200 mov.w r2, #2048 @ 0x800 70004f38: 60da str r2, [r3, #12] hdma->ErrorCode |= HAL_DMA_ERROR_ULE; 70004f3a: 6da2 ldr r2, [r4, #88] @ 0x58 70004f3c: f042 0202 orr.w r2, r2, #2 70004f40: 65a2 str r2, [r4, #88] @ 0x58 if (__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_USE) != 0U) 70004f42: 691a ldr r2, [r3, #16] 70004f44: 04d2 lsls r2, r2, #19 70004f46: d509 bpl.n 70004f5c if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_USE) != 0U) 70004f48: 695a ldr r2, [r3, #20] 70004f4a: 04d0 lsls r0, r2, #19 70004f4c: d506 bpl.n 70004f5c __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_USE); 70004f4e: f44f 5280 mov.w r2, #4096 @ 0x1000 70004f52: 60da str r2, [r3, #12] hdma->ErrorCode |= HAL_DMA_ERROR_USE; 70004f54: 6da2 ldr r2, [r4, #88] @ 0x58 70004f56: f042 0204 orr.w r2, r2, #4 70004f5a: 65a2 str r2, [r4, #88] @ 0x58 if (__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_TO) != 0U) 70004f5c: 691a ldr r2, [r3, #16] 70004f5e: 0451 lsls r1, r2, #17 70004f60: d509 bpl.n 70004f76 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TO) != 0U) 70004f62: 695a ldr r2, [r3, #20] 70004f64: 0452 lsls r2, r2, #17 70004f66: d506 bpl.n 70004f76 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_TO); 70004f68: f44f 4280 mov.w r2, #16384 @ 0x4000 70004f6c: 60da str r2, [r3, #12] hdma->ErrorCode |= HAL_DMA_ERROR_TO; 70004f6e: 6da2 ldr r2, [r4, #88] @ 0x58 70004f70: f042 0208 orr.w r2, r2, #8 70004f74: 65a2 str r2, [r4, #88] @ 0x58 if (__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_HT) != 0U) 70004f76: 691a ldr r2, [r3, #16] 70004f78: 0590 lsls r0, r2, #22 70004f7a: d509 bpl.n 70004f90 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != 0U) 70004f7c: 695a ldr r2, [r3, #20] 70004f7e: 0591 lsls r1, r2, #22 70004f80: d506 bpl.n 70004f90 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_HT); 70004f82: f44f 7200 mov.w r2, #512 @ 0x200 70004f86: 60da str r2, [r3, #12] if (hdma->XferHalfCpltCallback != NULL) 70004f88: 6e63 ldr r3, [r4, #100] @ 0x64 70004f8a: b10b cbz r3, 70004f90 hdma->XferHalfCpltCallback(hdma); 70004f8c: 4620 mov r0, r4 70004f8e: 4798 blx r3 if (__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_SUSP) != 0U) 70004f90: 6823 ldr r3, [r4, #0] 70004f92: 691a ldr r2, [r3, #16] 70004f94: 0492 lsls r2, r2, #18 70004f96: d52d bpl.n 70004ff4 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_SUSP) != 0U) 70004f98: 695a ldr r2, [r3, #20] 70004f9a: 0490 lsls r0, r2, #18 70004f9c: d52a bpl.n 70004ff4 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_SUSP); 70004f9e: f44f 5200 mov.w r2, #8192 @ 0x2000 70004fa2: 60da str r2, [r3, #12] if (hdma->State == HAL_DMA_STATE_ABORT) 70004fa4: f894 2054 ldrb.w r2, [r4, #84] @ 0x54 70004fa8: 2a04 cmp r2, #4 70004faa: d11c bne.n 70004fe6 __HAL_DMA_DISABLE_IT(hdma, DMA_IT_SUSP); 70004fac: 695a ldr r2, [r3, #20] if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70004fae: 6d21 ldr r1, [r4, #80] @ 0x50 __HAL_DMA_DISABLE_IT(hdma, DMA_IT_SUSP); 70004fb0: f422 5200 bic.w r2, r2, #8192 @ 0x2000 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70004fb4: 0609 lsls r1, r1, #24 __HAL_DMA_DISABLE_IT(hdma, DMA_IT_SUSP); 70004fb6: 615a str r2, [r3, #20] hdma->Instance->CCR |= DMA_CCR_RESET; 70004fb8: 695a ldr r2, [r3, #20] 70004fba: f042 0202 orr.w r2, r2, #2 70004fbe: 615a str r2, [r3, #20] hdma->State = HAL_DMA_STATE_READY; 70004fc0: f04f 0201 mov.w r2, #1 70004fc4: f884 2054 strb.w r2, [r4, #84] @ 0x54 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70004fc8: d503 bpl.n 70004fd2 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; 70004fca: 6f61 ldr r1, [r4, #116] @ 0x74 70004fcc: 730a strb r2, [r1, #12] hdma->Instance->CBR1 = 0U; 70004fce: 2200 movs r2, #0 70004fd0: 649a str r2, [r3, #72] @ 0x48 __HAL_UNLOCK(hdma); 70004fd2: 2300 movs r3, #0 70004fd4: f884 304c strb.w r3, [r4, #76] @ 0x4c if (hdma->XferAbortCallback != NULL) 70004fd8: 6ee3 ldr r3, [r4, #108] @ 0x6c if (hdma->XferErrorCallback != NULL) 70004fda: 2b00 cmp r3, #0 70004fdc: d042 beq.n 70005064 hdma->XferErrorCallback(hdma); 70004fde: 4620 mov r0, r4 } 70004fe0: e8bd 4010 ldmia.w sp!, {r4, lr} hdma->XferErrorCallback(hdma); 70004fe4: 4718 bx r3 hdma->State = HAL_DMA_STATE_SUSPEND; 70004fe6: 2305 movs r3, #5 70004fe8: f884 3054 strb.w r3, [r4, #84] @ 0x54 if (hdma->XferSuspendCallback != NULL) 70004fec: 6f23 ldr r3, [r4, #112] @ 0x70 70004fee: b10b cbz r3, 70004ff4 hdma->XferSuspendCallback(hdma); 70004ff0: 4620 mov r0, r4 70004ff2: 4798 blx r3 if (__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_TC) != 0U) 70004ff4: 6823 ldr r3, [r4, #0] 70004ff6: 691a ldr r2, [r3, #16] 70004ff8: 05d2 lsls r2, r2, #23 70004ffa: d518 bpl.n 7000502e if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != 0U) 70004ffc: 695a ldr r2, [r3, #20] 70004ffe: 05d0 lsls r0, r2, #23 70005000: d515 bpl.n 7000502e if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70005002: 6d22 ldr r2, [r4, #80] @ 0x50 70005004: 0611 lsls r1, r2, #24 70005006: d526 bpl.n 70005056 if (hdma->Instance->CLLR == 0U) 70005008: 6fda ldr r2, [r3, #124] @ 0x7c 7000500a: b932 cbnz r2, 7000501a if (hdma->Instance->CBR1 == 0U) 7000500c: 6c9a ldr r2, [r3, #72] @ 0x48 7000500e: b922 cbnz r2, 7000501a hdma->State = HAL_DMA_STATE_READY; 70005010: 2201 movs r2, #1 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; 70005012: 6f61 ldr r1, [r4, #116] @ 0x74 hdma->State = HAL_DMA_STATE_READY; 70005014: f884 2054 strb.w r2, [r4, #84] @ 0x54 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; 70005018: 730a strb r2, [r1, #12] __HAL_DMA_CLEAR_FLAG(hdma, (DMA_FLAG_TC | DMA_FLAG_HT)); 7000501a: f44f 7240 mov.w r2, #768 @ 0x300 7000501e: 60da str r2, [r3, #12] __HAL_UNLOCK(hdma); 70005020: 2300 movs r3, #0 70005022: f884 304c strb.w r3, [r4, #76] @ 0x4c if (hdma->XferCpltCallback != NULL) 70005026: 6e23 ldr r3, [r4, #96] @ 0x60 70005028: b10b cbz r3, 7000502e hdma->XferCpltCallback(hdma); 7000502a: 4620 mov r0, r4 7000502c: 4798 blx r3 if (hdma->ErrorCode != HAL_DMA_ERROR_NONE) 7000502e: 6da3 ldr r3, [r4, #88] @ 0x58 70005030: b1c3 cbz r3, 70005064 hdma->Instance->CCR |= DMA_CCR_RESET; 70005032: 6822 ldr r2, [r4, #0] 70005034: 6953 ldr r3, [r2, #20] 70005036: f043 0302 orr.w r3, r3, #2 7000503a: 6153 str r3, [r2, #20] hdma->State = HAL_DMA_STATE_READY; 7000503c: 2301 movs r3, #1 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 7000503e: 6d22 ldr r2, [r4, #80] @ 0x50 hdma->State = HAL_DMA_STATE_READY; 70005040: f884 3054 strb.w r3, [r4, #84] @ 0x54 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70005044: 0612 lsls r2, r2, #24 70005046: d501 bpl.n 7000504c hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; 70005048: 6f62 ldr r2, [r4, #116] @ 0x74 7000504a: 7313 strb r3, [r2, #12] __HAL_UNLOCK(hdma); 7000504c: 2300 movs r3, #0 7000504e: f884 304c strb.w r3, [r4, #76] @ 0x4c if (hdma->XferErrorCallback != NULL) 70005052: 6ea3 ldr r3, [r4, #104] @ 0x68 70005054: e7c1 b.n 70004fda if (hdma->Instance->CBR1 == 0U) 70005056: 6c9a ldr r2, [r3, #72] @ 0x48 70005058: 2a00 cmp r2, #0 7000505a: d1de bne.n 7000501a hdma->State = HAL_DMA_STATE_READY; 7000505c: 2201 movs r2, #1 7000505e: f884 2054 strb.w r2, [r4, #84] @ 0x54 70005062: e7da b.n 7000501a } 70005064: bd10 pop {r4, pc} 70005066 : return hdma->ErrorCode; 70005066: 6d80 ldr r0, [r0, #88] @ 0x58 } 70005068: 4770 bx lr 7000506a : if (hdma == NULL) 7000506a: b1d0 cbz r0, 700050a2 if ((ChannelAttributes & DMA_CHANNEL_ATTR_PRIV_MASK) == DMA_CHANNEL_ATTR_PRIV_MASK) 7000506c: 01cb lsls r3, r1, #7 7000506e: d401 bmi.n 70005074 return HAL_OK; 70005070: 2000 movs r0, #0 70005072: 4770 bx lr p_dma_instance = GET_DMA_INSTANCE(hdma); 70005074: 6803 ldr r3, [r0, #0] channel_idx = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); 70005076: 2001 movs r0, #1 p_dma_instance = GET_DMA_INSTANCE(hdma); 70005078: f423 627f bic.w r2, r3, #4080 @ 0xff0 channel_idx = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); 7000507c: f3c3 030b ubfx r3, r3, #0, #12 70005080: 3b50 subs r3, #80 @ 0x50 p_dma_instance = GET_DMA_INSTANCE(hdma); 70005082: f022 020f bic.w r2, r2, #15 channel_idx = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); 70005086: f3c3 13c4 ubfx r3, r3, #7, #5 7000508a: fa00 f303 lsl.w r3, r0, r3 if ((ChannelAttributes & DMA_CHANNEL_PRIV) == DMA_CHANNEL_PRIV) 7000508e: f100 7080 add.w r0, r0, #16777216 @ 0x1000000 70005092: 4388 bics r0, r1 p_dma_instance->PRIVCFGR |= channel_idx; 70005094: 6851 ldr r1, [r2, #4] 70005096: bf0c ite eq 70005098: 430b orreq r3, r1 p_dma_instance->PRIVCFGR &= (~channel_idx); 7000509a: ea21 0303 bicne.w r3, r1, r3 7000509e: 6053 str r3, [r2, #4] 700050a0: e7e6 b.n 70005070 return HAL_ERROR; 700050a2: 2001 movs r0, #1 } 700050a4: 4770 bx lr 700050a6 : * @param hdma2d pointer to a DMA2D_HandleTypeDef structure that contains * the configuration information for the DMA2D. * @retval HAL status */ HAL_StatusTypeDef HAL_DMA2D_Init(DMA2D_HandleTypeDef *hdma2d) { 700050a6: b510 push {r4, lr} /* Check the DMA2D peripheral state */ if (hdma2d == NULL) 700050a8: 4604 mov r4, r0 700050aa: 2800 cmp r0, #0 700050ac: d036 beq.n 7000511c /* Init the low level hardware */ hdma2d->MspInitCallback(hdma2d); } #else if (hdma2d->State == HAL_DMA2D_STATE_RESET) 700050ae: f890 3061 ldrb.w r3, [r0, #97] @ 0x61 700050b2: f003 02ff and.w r2, r3, #255 @ 0xff 700050b6: b91b cbnz r3, 700050c0 { /* Allocate lock resource and initialize it */ hdma2d->Lock = HAL_UNLOCKED; 700050b8: f880 2060 strb.w r2, [r0, #96] @ 0x60 /* Init the low level hardware */ HAL_DMA2D_MspInit(hdma2d); 700050bc: f7fb ffc8 bl 70001050 } #endif /* (USE_HAL_DMA2D_REGISTER_CALLBACKS) */ /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 700050c0: 2302 movs r3, #2 /* DMA2D CR register configuration -------------------------------------------*/ MODIFY_REG(hdma2d->Instance->CR, DMA2D_CR_MODE | DMA2D_CR_LOM, hdma2d->Init.Mode | hdma2d->Init.LineOffsetMode); 700050c2: 69e0 ldr r0, [r4, #28] 700050c4: 6862 ldr r2, [r4, #4] hdma2d->State = HAL_DMA2D_STATE_BUSY; 700050c6: f884 3061 strb.w r3, [r4, #97] @ 0x61 MODIFY_REG(hdma2d->Instance->CR, DMA2D_CR_MODE | DMA2D_CR_LOM, hdma2d->Init.Mode | hdma2d->Init.LineOffsetMode); 700050ca: 6823 ldr r3, [r4, #0] 700050cc: 4302 orrs r2, r0 /* DMA2D OPFCCR register configuration ---------------------------------------*/ MODIFY_REG(hdma2d->Instance->OPFCCR, DMA2D_OPFCCR_CM | DMA2D_OPFCCR_SB, 700050ce: 69a0 ldr r0, [r4, #24] MODIFY_REG(hdma2d->Instance->CR, DMA2D_CR_MODE | DMA2D_CR_LOM, hdma2d->Init.Mode | hdma2d->Init.LineOffsetMode); 700050d0: 6819 ldr r1, [r3, #0] 700050d2: f421 21e0 bic.w r1, r1, #458752 @ 0x70000 700050d6: f021 0140 bic.w r1, r1, #64 @ 0x40 700050da: 430a orrs r2, r1 700050dc: 601a str r2, [r3, #0] MODIFY_REG(hdma2d->Instance->OPFCCR, DMA2D_OPFCCR_CM | DMA2D_OPFCCR_SB, 700050de: 6b59 ldr r1, [r3, #52] @ 0x34 700050e0: 68a2 ldr r2, [r4, #8] 700050e2: f421 7183 bic.w r1, r1, #262 @ 0x106 700050e6: 4302 orrs r2, r0 700050e8: f021 0101 bic.w r1, r1, #1 700050ec: 430a orrs r2, r1 hdma2d->Init.ColorMode | hdma2d->Init.BytesSwap); /* DMA2D OOR register configuration ------------------------------------------*/ MODIFY_REG(hdma2d->Instance->OOR, DMA2D_OOR_LO, hdma2d->Init.OutputOffset); 700050ee: 68e1 ldr r1, [r4, #12] MODIFY_REG(hdma2d->Instance->OPFCCR, DMA2D_OPFCCR_CM | DMA2D_OPFCCR_SB, 700050f0: 635a str r2, [r3, #52] @ 0x34 MODIFY_REG(hdma2d->Instance->OOR, DMA2D_OOR_LO, hdma2d->Init.OutputOffset); 700050f2: 6c1a ldr r2, [r3, #64] @ 0x40 700050f4: f36f 020f bfc r2, #0, #16 700050f8: 430a orrs r2, r1 700050fa: 641a str r2, [r3, #64] @ 0x40 /* DMA2D OPFCCR AI and RBS fields setting (Output Alpha Inversion)*/ MODIFY_REG(hdma2d->Instance->OPFCCR, (DMA2D_OPFCCR_AI | DMA2D_OPFCCR_RBS), 700050fc: 6b59 ldr r1, [r3, #52] @ 0x34 700050fe: e9d4 0204 ldrd r0, r2, [r4, #16] 70005102: f421 1140 bic.w r1, r1, #3145728 @ 0x300000 70005106: 0552 lsls r2, r2, #21 70005108: ea42 5200 orr.w r2, r2, r0, lsl #20 ((hdma2d->Init.AlphaInverted << DMA2D_OPFCCR_AI_Pos) | \ (hdma2d->Init.RedBlueSwap << DMA2D_OPFCCR_RBS_Pos))); /* Update error code */ hdma2d->ErrorCode = HAL_DMA2D_ERROR_NONE; 7000510c: 2000 movs r0, #0 MODIFY_REG(hdma2d->Instance->OPFCCR, (DMA2D_OPFCCR_AI | DMA2D_OPFCCR_RBS), 7000510e: 430a orrs r2, r1 70005110: 635a str r2, [r3, #52] @ 0x34 /* Initialize the DMA2D state*/ hdma2d->State = HAL_DMA2D_STATE_READY; 70005112: 2301 movs r3, #1 hdma2d->ErrorCode = HAL_DMA2D_ERROR_NONE; 70005114: 6660 str r0, [r4, #100] @ 0x64 hdma2d->State = HAL_DMA2D_STATE_READY; 70005116: f884 3061 strb.w r3, [r4, #97] @ 0x61 return HAL_OK; } 7000511a: bd10 pop {r4, pc} return HAL_ERROR; 7000511c: 2001 movs r0, #1 7000511e: e7fc b.n 7000511a 70005120 : * @brief Transfer watermark callback. * @param hdma2d pointer to a DMA2D_HandleTypeDef structure that contains * the configuration information for the DMA2D. * @retval None */ __weak void HAL_DMA2D_LineEventCallback(DMA2D_HandleTypeDef *hdma2d) 70005120: 4770 bx lr 70005122 : * @brief CLUT Transfer Complete callback. * @param hdma2d pointer to a DMA2D_HandleTypeDef structure that contains * the configuration information for the DMA2D. * @retval None */ __weak void HAL_DMA2D_CLUTLoadingCpltCallback(DMA2D_HandleTypeDef *hdma2d) 70005122: 4770 bx lr 70005124 : uint32_t isrflags = READ_REG(hdma2d->Instance->ISR); 70005124: 6803 ldr r3, [r0, #0] { 70005126: b570 push {r4, r5, r6, lr} uint32_t isrflags = READ_REG(hdma2d->Instance->ISR); 70005128: 685e ldr r6, [r3, #4] { 7000512a: 4604 mov r4, r0 uint32_t crflags = READ_REG(hdma2d->Instance->CR); 7000512c: 681d ldr r5, [r3, #0] if ((isrflags & DMA2D_FLAG_TE) != 0U) 7000512e: 07f2 lsls r2, r6, #31 70005130: d514 bpl.n 7000515c if ((crflags & DMA2D_IT_TE) != 0U) 70005132: 05e9 lsls r1, r5, #23 70005134: d512 bpl.n 7000515c __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_TE); 70005136: 681a ldr r2, [r3, #0] 70005138: f422 7280 bic.w r2, r2, #256 @ 0x100 7000513c: 601a str r2, [r3, #0] hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TE; 7000513e: 6e42 ldr r2, [r0, #100] @ 0x64 70005140: f042 0201 orr.w r2, r2, #1 70005144: 6642 str r2, [r0, #100] @ 0x64 __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_TE); 70005146: 2201 movs r2, #1 70005148: 609a str r2, [r3, #8] hdma2d->State = HAL_DMA2D_STATE_ERROR; 7000514a: 2304 movs r3, #4 7000514c: f880 3061 strb.w r3, [r0, #97] @ 0x61 __HAL_UNLOCK(hdma2d); 70005150: 2300 movs r3, #0 70005152: f880 3060 strb.w r3, [r0, #96] @ 0x60 if (hdma2d->XferErrorCallback != NULL) 70005156: 6a43 ldr r3, [r0, #36] @ 0x24 70005158: b103 cbz r3, 7000515c hdma2d->XferErrorCallback(hdma2d); 7000515a: 4798 blx r3 if ((isrflags & DMA2D_FLAG_CE) != 0U) 7000515c: 06b2 lsls r2, r6, #26 7000515e: d516 bpl.n 7000518e if ((crflags & DMA2D_IT_CE) != 0U) 70005160: 04ab lsls r3, r5, #18 70005162: d514 bpl.n 7000518e __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_CE); 70005164: 6823 ldr r3, [r4, #0] 70005166: 681a ldr r2, [r3, #0] 70005168: f422 5200 bic.w r2, r2, #8192 @ 0x2000 7000516c: 601a str r2, [r3, #0] __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CE); 7000516e: 2220 movs r2, #32 70005170: 609a str r2, [r3, #8] hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CE; 70005172: 6e63 ldr r3, [r4, #100] @ 0x64 70005174: f043 0302 orr.w r3, r3, #2 70005178: 6663 str r3, [r4, #100] @ 0x64 hdma2d->State = HAL_DMA2D_STATE_ERROR; 7000517a: 2304 movs r3, #4 7000517c: f884 3061 strb.w r3, [r4, #97] @ 0x61 __HAL_UNLOCK(hdma2d); 70005180: 2300 movs r3, #0 70005182: f884 3060 strb.w r3, [r4, #96] @ 0x60 if (hdma2d->XferErrorCallback != NULL) 70005186: 6a63 ldr r3, [r4, #36] @ 0x24 70005188: b10b cbz r3, 7000518e hdma2d->XferErrorCallback(hdma2d); 7000518a: 4620 mov r0, r4 7000518c: 4798 blx r3 if ((isrflags & DMA2D_FLAG_CAE) != 0U) 7000518e: 0730 lsls r0, r6, #28 70005190: d516 bpl.n 700051c0 if ((crflags & DMA2D_IT_CAE) != 0U) 70005192: 0529 lsls r1, r5, #20 70005194: d514 bpl.n 700051c0 __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_CAE); 70005196: 6823 ldr r3, [r4, #0] 70005198: 681a ldr r2, [r3, #0] 7000519a: f422 6200 bic.w r2, r2, #2048 @ 0x800 7000519e: 601a str r2, [r3, #0] __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CAE); 700051a0: 2208 movs r2, #8 700051a2: 609a str r2, [r3, #8] hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CAE; 700051a4: 6e63 ldr r3, [r4, #100] @ 0x64 700051a6: f043 0304 orr.w r3, r3, #4 700051aa: 6663 str r3, [r4, #100] @ 0x64 hdma2d->State = HAL_DMA2D_STATE_ERROR; 700051ac: 2304 movs r3, #4 700051ae: f884 3061 strb.w r3, [r4, #97] @ 0x61 __HAL_UNLOCK(hdma2d); 700051b2: 2300 movs r3, #0 700051b4: f884 3060 strb.w r3, [r4, #96] @ 0x60 if (hdma2d->XferErrorCallback != NULL) 700051b8: 6a63 ldr r3, [r4, #36] @ 0x24 700051ba: b10b cbz r3, 700051c0 hdma2d->XferErrorCallback(hdma2d); 700051bc: 4620 mov r0, r4 700051be: 4798 blx r3 if ((isrflags & DMA2D_FLAG_TW) != 0U) 700051c0: 0772 lsls r2, r6, #29 700051c2: d50b bpl.n 700051dc if ((crflags & DMA2D_IT_TW) != 0U) 700051c4: 056b lsls r3, r5, #21 700051c6: d509 bpl.n 700051dc __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_TW); 700051c8: 6823 ldr r3, [r4, #0] HAL_DMA2D_LineEventCallback(hdma2d); 700051ca: 4620 mov r0, r4 __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_TW); 700051cc: 681a ldr r2, [r3, #0] 700051ce: f422 6280 bic.w r2, r2, #1024 @ 0x400 700051d2: 601a str r2, [r3, #0] __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_TW); 700051d4: 2204 movs r2, #4 700051d6: 609a str r2, [r3, #8] HAL_DMA2D_LineEventCallback(hdma2d); 700051d8: f7ff ffa2 bl 70005120 if ((isrflags & DMA2D_FLAG_TC) != 0U) 700051dc: 07b0 lsls r0, r6, #30 700051de: d514 bpl.n 7000520a if ((crflags & DMA2D_IT_TC) != 0U) 700051e0: 05a9 lsls r1, r5, #22 700051e2: d512 bpl.n 7000520a __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_TC); 700051e4: 6823 ldr r3, [r4, #0] 700051e6: 681a ldr r2, [r3, #0] 700051e8: f422 7200 bic.w r2, r2, #512 @ 0x200 700051ec: 601a str r2, [r3, #0] __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_TC); 700051ee: 2202 movs r2, #2 700051f0: 609a str r2, [r3, #8] hdma2d->ErrorCode |= HAL_DMA2D_ERROR_NONE; 700051f2: 6e63 ldr r3, [r4, #100] @ 0x64 700051f4: 6663 str r3, [r4, #100] @ 0x64 hdma2d->State = HAL_DMA2D_STATE_READY; 700051f6: 2301 movs r3, #1 700051f8: f884 3061 strb.w r3, [r4, #97] @ 0x61 __HAL_UNLOCK(hdma2d); 700051fc: 2300 movs r3, #0 700051fe: f884 3060 strb.w r3, [r4, #96] @ 0x60 if (hdma2d->XferCpltCallback != NULL) 70005202: 6a23 ldr r3, [r4, #32] 70005204: b10b cbz r3, 7000520a hdma2d->XferCpltCallback(hdma2d); 70005206: 4620 mov r0, r4 70005208: 4798 blx r3 if ((isrflags & DMA2D_FLAG_CTC) != 0U) 7000520a: 06f2 lsls r2, r6, #27 7000520c: d513 bpl.n 70005236 if ((crflags & DMA2D_IT_CTC) != 0U) 7000520e: 04eb lsls r3, r5, #19 70005210: d511 bpl.n 70005236 __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_CTC); 70005212: 6823 ldr r3, [r4, #0] HAL_DMA2D_CLUTLoadingCpltCallback(hdma2d); 70005214: 4620 mov r0, r4 __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_CTC); 70005216: 681a ldr r2, [r3, #0] 70005218: f422 5280 bic.w r2, r2, #4096 @ 0x1000 7000521c: 601a str r2, [r3, #0] __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CTC); 7000521e: 2210 movs r2, #16 70005220: 609a str r2, [r3, #8] hdma2d->ErrorCode |= HAL_DMA2D_ERROR_NONE; 70005222: 6e63 ldr r3, [r4, #100] @ 0x64 70005224: 6663 str r3, [r4, #100] @ 0x64 hdma2d->State = HAL_DMA2D_STATE_READY; 70005226: 2301 movs r3, #1 70005228: f884 3061 strb.w r3, [r4, #97] @ 0x61 __HAL_UNLOCK(hdma2d); 7000522c: 2300 movs r3, #0 7000522e: f884 3060 strb.w r3, [r4, #96] @ 0x60 HAL_DMA2D_CLUTLoadingCpltCallback(hdma2d); 70005232: f7ff ff76 bl 70005122 } 70005236: bd70 pop {r4, r5, r6, pc} 70005238 : static uint32_t DMA_List_CheckNodesBaseAddresses(DMA_NodeTypeDef const *const pNode1, DMA_NodeTypeDef const *const pNode2, DMA_NodeTypeDef const *const pNode3) #endif /* __GNUC__ && !__CC_ARM */ { uint32_t temp = (((uint32_t)pNode1 | (uint32_t)pNode2 | (uint32_t)pNode3) & DMA_CLBAR_LBA); 70005238: ea41 0302 orr.w r3, r1, r2 7000523c: 4303 orrs r3, r0 uint32_t ref = 0U; /* Check node 1 address */ if ((uint32_t)pNode1 != 0U) 7000523e: b918 cbnz r0, 70005248 ref = (uint32_t)pNode1; } /* Check node 2 address */ else if ((uint32_t)pNode2 != 0U) { ref = (uint32_t)pNode2; 70005240: 2900 cmp r1, #0 70005242: bf14 ite ne 70005244: 4608 movne r0, r1 70005246: 4610 moveq r0, r2 { /* Prevent MISRA-C2012-Rule-15.7 */ } /* Check addresses compatibility */ if (temp != ((uint32_t)ref & DMA_CLBAR_LBA)) 70005248: 4058 eors r0, r3 { return 1U; } return 0U; } 7000524a: f5b0 3f80 cmp.w r0, #65536 @ 0x10000 7000524e: bf34 ite cc 70005250: 2000 movcc r0, #0 70005252: 2001 movcs r0, #1 70005254: 4770 bx lr 70005256 : DMA_NodeTypeDef const *const pNode3) { uint32_t ref = 0U; /* Check node 1 parameter */ if (pNode1 != NULL) 70005256: b150 cbz r0, 7000526e { ref = pNode1->NodeInfo & NODE_TYPE_MASK; 70005258: f890 3020 ldrb.w r3, [r0, #32] { /* Prevent MISRA-C2012-Rule-15.7 */ } /* Check node 2 parameter */ if (pNode2 != NULL) 7000525c: b959 cbnz r1, 70005276 return 2U; } } /* Check node 3 parameter */ if (pNode3 != NULL) 7000525e: b192 cbz r2, 70005286 { /* Check node type compatibility */ if (ref != (pNode3->NodeInfo & NODE_TYPE_MASK)) 70005260: f892 0020 ldrb.w r0, [r2, #32] { return 3U; } } return 0U; 70005264: 4298 cmp r0, r3 70005266: bf14 ite ne 70005268: 2003 movne r0, #3 7000526a: 2000 moveq r0, #0 7000526c: 4770 bx lr else if (pNode2 != NULL) 7000526e: b141 cbz r1, 70005282 ref = pNode2->NodeInfo & NODE_TYPE_MASK; 70005270: f891 3020 ldrb.w r3, [r1, #32] if (ref != (pNode2->NodeInfo & NODE_TYPE_MASK)) 70005274: e7f3 b.n 7000525e 70005276: f891 1020 ldrb.w r1, [r1, #32] 7000527a: 4299 cmp r1, r3 7000527c: d0ef beq.n 7000525e return 2U; 7000527e: 2002 movs r0, #2 70005280: 4770 bx lr return 0U; 70005282: 4608 mov r0, r1 70005284: 4770 bx lr 70005286: 4610 mov r0, r2 } 70005288: 4770 bx lr ... 7000528c : * @retval Return 0 when node is found in selected queue, otherwise node is not found. */ static uint32_t DMA_List_FindNode(DMA_QListTypeDef const *const pQList, DMA_NodeTypeDef const *const pNode, DMA_NodeInQInfoTypeDef *const NodeInfo) { 7000528c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} uint32_t node_idx = 0U; uint32_t currentnode_address = 0U; uint32_t previousnode_address = 0U; uint32_t cllr_offset = NodeInfo->cllr_offset; 70005290: f8d2 e000 ldr.w lr, [r2] /* Find last node in queue */ if (pNode == NULL) { /* Check that previous node is linked to the selected queue */ while (node_idx < pQList->NodeNumber) 70005294: 6886 ldr r6, [r0, #8] if (pNode == NULL) 70005296: b351 cbz r1, 700052ee 70005298: f64f 78fc movw r8, #65532 @ 0xfffc uint32_t previousnode_address = 0U; 7000529c: 2400 movs r4, #0 else { previousnode_address = currentnode_address; currentnode_address = ((DMA_NodeTypeDef *)(currentnode_address + ((uint32_t)pQList->Head & DMA_CLBAR_LBA)))->LinkRegisters[cllr_offset] & DMA_CLLR_LA; 7000529e: ea4f 098e mov.w r9, lr, lsl #2 700052a2: 4647 mov r7, r8 uint32_t currentnode_address = 0U; 700052a4: 4623 mov r3, r4 uint32_t node_idx = 0U; 700052a6: 4625 mov r5, r4 700052a8: 400f ands r7, r1 ((uint32_t)pQList->Head & DMA_CLBAR_LBA)))->LinkRegisters[cllr_offset] & DMA_CLLR_LA; 700052aa: 4922 ldr r1, [pc, #136] @ (70005334 ) while ((node_idx < pQList->NodeNumber) && (currentnode_address != ((uint32_t)pNode & DMA_CLLR_LA))) 700052ac: 42b5 cmp r5, r6 700052ae: d03c beq.n 7000532a 700052b0: 429f cmp r7, r3 700052b2: d124 bne.n 700052fe 700052b4: 462e mov r6, r5 700052b6: e006 b.n 700052c6 currentnode_address = (uint32_t)pQList->Head & DMA_CLLR_LA; 700052b8: 6807 ldr r7, [r0, #0] if (node_idx == 0U) 700052ba: b991 cbnz r1, 700052e2 currentnode_address = 700052bc: ea07 030c and.w r3, r7, ip node_idx++; 700052c0: 3101 adds r1, #1 while (node_idx < pQList->NodeNumber) 700052c2: 42b1 cmp r1, r6 700052c4: d1f8 bne.n 700052b8 /* Update current node position */ NodeInfo->currentnode_pos = node_idx; /* Update previous node address */ NodeInfo->previousnode_addr = previousnode_address | ((uint32_t)pQList->Head & DMA_CLBAR_LBA); 700052c6: 6801 ldr r1, [r0, #0] NodeInfo->currentnode_pos = node_idx; 700052c8: 6096 str r6, [r2, #8] NodeInfo->previousnode_addr = previousnode_address | ((uint32_t)pQList->Head & DMA_CLBAR_LBA); 700052ca: f36f 010f bfc r1, #0, #16 /* Update current node address */ NodeInfo->currentnode_addr = currentnode_address | ((uint32_t)pQList->Head & DMA_CLBAR_LBA); 700052ce: 430b orrs r3, r1 NodeInfo->previousnode_addr = previousnode_address | ((uint32_t)pQList->Head & DMA_CLBAR_LBA); 700052d0: 430c orrs r4, r1 NodeInfo->currentnode_addr = currentnode_address | ((uint32_t)pQList->Head & DMA_CLBAR_LBA); 700052d2: 60d3 str r3, [r2, #12] /* Update next node address */ if (((DMA_NodeTypeDef *)NodeInfo->currentnode_addr)->LinkRegisters[cllr_offset] != 0U) 700052d4: f853 302e ldr.w r3, [r3, lr, lsl #2] NodeInfo->previousnode_addr = previousnode_address | ((uint32_t)pQList->Head & DMA_CLBAR_LBA); 700052d8: 6054 str r4, [r2, #4] if (((DMA_NodeTypeDef *)NodeInfo->currentnode_addr)->LinkRegisters[cllr_offset] != 0U) 700052da: b9fb cbnz r3, 7000531c { NodeInfo->nextnode_addr = (((DMA_NodeTypeDef *)NodeInfo->currentnode_addr)->LinkRegisters[cllr_offset] & DMA_CLLR_LA) | ((uint32_t)pQList->Head & DMA_CLBAR_LBA); } return 0U; 700052dc: 2000 movs r0, #0 } 700052de: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} ((uint32_t)pQList->Head & DMA_CLBAR_LBA)))->LinkRegisters[cllr_offset] & DMA_CLLR_LA; 700052e2: eb08 0403 add.w r4, r8, r3 700052e6: 402f ands r7, r5 700052e8: 59e7 ldr r7, [r4, r7] previousnode_address = currentnode_address; 700052ea: 461c mov r4, r3 700052ec: e7e6 b.n 700052bc uint32_t previousnode_address = 0U; 700052ee: 460c mov r4, r1 uint32_t currentnode_address = 0U; 700052f0: 460b mov r3, r1 ((uint32_t)pQList->Head & DMA_CLBAR_LBA)))->LinkRegisters[cllr_offset] & DMA_CLLR_LA; 700052f2: 4d10 ldr r5, [pc, #64] @ (70005334 ) 700052f4: ea4f 088e mov.w r8, lr, lsl #2 currentnode_address = 700052f8: f64f 7cfc movw ip, #65532 @ 0xfffc 700052fc: e7e1 b.n 700052c2 if (node_idx == 0U) 700052fe: f8d0 c000 ldr.w ip, [r0] 70005302: b91d cbnz r5, 7000530c currentnode_address = 70005304: ea0c 0308 and.w r3, ip, r8 node_idx++; 70005308: 3501 adds r5, #1 7000530a: e7cf b.n 700052ac ((uint32_t)pQList->Head & DMA_CLBAR_LBA)))->LinkRegisters[cllr_offset] & DMA_CLLR_LA; 7000530c: eb09 0403 add.w r4, r9, r3 70005310: ea0c 0c01 and.w ip, ip, r1 70005314: f854 c00c ldr.w ip, [r4, ip] previousnode_address = currentnode_address; 70005318: 461c mov r4, r3 7000531a: e7f3 b.n 70005304 NodeInfo->nextnode_addr = (((DMA_NodeTypeDef *)NodeInfo->currentnode_addr)->LinkRegisters[cllr_offset] & 7000531c: f023 0303 bic.w r3, r3, #3 70005320: 041b lsls r3, r3, #16 70005322: 0c1b lsrs r3, r3, #16 DMA_CLLR_LA) | ((uint32_t)pQList->Head & DMA_CLBAR_LBA); 70005324: 430b orrs r3, r1 NodeInfo->nextnode_addr = (((DMA_NodeTypeDef *)NodeInfo->currentnode_addr)->LinkRegisters[cllr_offset] & 70005326: 6113 str r3, [r2, #16] 70005328: e7d8 b.n 700052dc if (currentnode_address != ((uint32_t)pNode & DMA_CLLR_LA)) 7000532a: 429f cmp r7, r3 7000532c: d0cb beq.n 700052c6 return 1U; 7000532e: 2001 movs r0, #1 70005330: e7d5 b.n 700052de 70005332: bf00 nop 70005334: ffff0000 .word 0xffff0000 70005338 : { 70005338: b538 push {r3, r4, r5, lr} 7000533a: 4604 mov r4, r0 uint32_t tickstart = HAL_GetTick(); 7000533c: f7ff faae bl 7000489c 70005340: 4605 mov r5, r0 if (hdma == NULL) 70005342: 2c00 cmp r4, #0 70005344: f000 80b2 beq.w 700054ac __HAL_UNLOCK(hdma); 70005348: 2300 movs r3, #0 if ((IS_HPDMA_INSTANCE(hdma->Instance) != 0U) || (IS_GPDMA_INSTANCE(hdma->Instance) != 0U)) 7000534a: 6822 ldr r2, [r4, #0] __HAL_UNLOCK(hdma); 7000534c: f884 304c strb.w r3, [r4, #76] @ 0x4c hdma->State = HAL_DMA_STATE_BUSY; 70005350: 2302 movs r3, #2 70005352: f884 3054 strb.w r3, [r4, #84] @ 0x54 __HAL_DMA_DISABLE(hdma); 70005356: 6953 ldr r3, [r2, #20] 70005358: f043 0306 orr.w r3, r3, #6 7000535c: 6153 str r3, [r2, #20] while ((hdma->Instance->CCR & DMA_CCR_EN) != 0U) 7000535e: 6823 ldr r3, [r4, #0] 70005360: 695a ldr r2, [r3, #20] 70005362: 07d2 lsls r2, r2, #31 70005364: f100 8097 bmi.w 70005496 tmpreg = hdma->InitLinkedList.Priority | hdma->InitLinkedList.LinkStepMode; 70005368: e9d4 120e ldrd r1, r2, [r4, #56] @ 0x38 7000536c: 4850 ldr r0, [pc, #320] @ (700054b0 ) 7000536e: 4311 orrs r1, r2 if ((IS_HPDMA_INSTANCE(hdma->Instance) != 0U) || (IS_GPDMA_INSTANCE(hdma->Instance) != 0U)) 70005370: 4a50 ldr r2, [pc, #320] @ (700054b4 ) 70005372: 4293 cmp r3, r2 70005374: d05c beq.n 70005430 70005376: 3280 adds r2, #128 @ 0x80 70005378: 4293 cmp r3, r2 7000537a: d059 beq.n 70005430 7000537c: 3280 adds r2, #128 @ 0x80 7000537e: 4293 cmp r3, r2 70005380: d056 beq.n 70005430 70005382: 3280 adds r2, #128 @ 0x80 70005384: 4293 cmp r3, r2 70005386: d053 beq.n 70005430 70005388: 3280 adds r2, #128 @ 0x80 7000538a: 4293 cmp r3, r2 7000538c: d050 beq.n 70005430 7000538e: 3280 adds r2, #128 @ 0x80 70005390: 4293 cmp r3, r2 70005392: d04d beq.n 70005430 70005394: 3280 adds r2, #128 @ 0x80 70005396: 4293 cmp r3, r2 70005398: d04a beq.n 70005430 7000539a: 3280 adds r2, #128 @ 0x80 7000539c: 4293 cmp r3, r2 7000539e: d047 beq.n 70005430 700053a0: 3280 adds r2, #128 @ 0x80 700053a2: 4293 cmp r3, r2 700053a4: d044 beq.n 70005430 700053a6: 3280 adds r2, #128 @ 0x80 700053a8: 4293 cmp r3, r2 700053aa: d041 beq.n 70005430 700053ac: 3280 adds r2, #128 @ 0x80 700053ae: 4293 cmp r3, r2 700053b0: d03e beq.n 70005430 700053b2: 3280 adds r2, #128 @ 0x80 700053b4: 4293 cmp r3, r2 700053b6: d03b beq.n 70005430 700053b8: 3280 adds r2, #128 @ 0x80 700053ba: 4293 cmp r3, r2 700053bc: d038 beq.n 70005430 700053be: 3280 adds r2, #128 @ 0x80 700053c0: 4293 cmp r3, r2 700053c2: d035 beq.n 70005430 700053c4: 3280 adds r2, #128 @ 0x80 700053c6: 4293 cmp r3, r2 700053c8: d032 beq.n 70005430 700053ca: 3280 adds r2, #128 @ 0x80 700053cc: 4293 cmp r3, r2 700053ce: d02f beq.n 70005430 700053d0: 4a39 ldr r2, [pc, #228] @ (700054b8 ) 700053d2: 4293 cmp r3, r2 700053d4: d02c beq.n 70005430 700053d6: 3280 adds r2, #128 @ 0x80 700053d8: 4293 cmp r3, r2 700053da: d029 beq.n 70005430 700053dc: 3280 adds r2, #128 @ 0x80 700053de: 4293 cmp r3, r2 700053e0: d026 beq.n 70005430 700053e2: 3280 adds r2, #128 @ 0x80 700053e4: 4293 cmp r3, r2 700053e6: d023 beq.n 70005430 700053e8: 3280 adds r2, #128 @ 0x80 700053ea: 4293 cmp r3, r2 700053ec: d020 beq.n 70005430 700053ee: 3280 adds r2, #128 @ 0x80 700053f0: 4293 cmp r3, r2 700053f2: d01d beq.n 70005430 700053f4: 3280 adds r2, #128 @ 0x80 700053f6: 4293 cmp r3, r2 700053f8: d01a beq.n 70005430 700053fa: 3280 adds r2, #128 @ 0x80 700053fc: 4293 cmp r3, r2 700053fe: d017 beq.n 70005430 70005400: 3280 adds r2, #128 @ 0x80 70005402: 4293 cmp r3, r2 70005404: d014 beq.n 70005430 70005406: 3280 adds r2, #128 @ 0x80 70005408: 4293 cmp r3, r2 7000540a: d011 beq.n 70005430 7000540c: 3280 adds r2, #128 @ 0x80 7000540e: 4293 cmp r3, r2 70005410: d00e beq.n 70005430 70005412: 3280 adds r2, #128 @ 0x80 70005414: 4293 cmp r3, r2 70005416: d00b beq.n 70005430 70005418: 4283 cmp r3, r0 7000541a: d009 beq.n 70005430 7000541c: f502 7280 add.w r2, r2, #256 @ 0x100 70005420: 4293 cmp r3, r2 70005422: d005 beq.n 70005430 70005424: 3280 adds r2, #128 @ 0x80 70005426: 4293 cmp r3, r2 70005428: d002 beq.n 70005430 7000542a: 3280 adds r2, #128 @ 0x80 7000542c: 4293 cmp r3, r2 7000542e: d101 bne.n 70005434 tmpreg |= hdma->InitLinkedList.LinkAllocatedPort; 70005430: 6c22 ldr r2, [r4, #64] @ 0x40 70005432: 4311 orrs r1, r2 MODIFY_REG(hdma->Instance->CCR, DMA_CCR_PRIO | DMA_CCR_LAP | DMA_CCR_LSM, tmpreg); 70005434: 695a ldr r2, [r3, #20] if (IS_DMA_2D_ADDRESSING_INSTANCE(hdma->Instance) != 0U) 70005436: 4283 cmp r3, r0 MODIFY_REG(hdma->Instance->CCR, DMA_CCR_PRIO | DMA_CCR_LAP | DMA_CCR_LSM, tmpreg); 70005438: f422 0243 bic.w r2, r2, #12779520 @ 0xc30000 7000543c: ea42 0201 orr.w r2, r2, r1 WRITE_REG(hdma->Instance->CTR2, hdma->InitLinkedList.TransferEventMode); 70005440: 6c61 ldr r1, [r4, #68] @ 0x44 MODIFY_REG(hdma->Instance->CCR, DMA_CCR_PRIO | DMA_CCR_LAP | DMA_CCR_LSM, tmpreg); 70005442: 615a str r2, [r3, #20] WRITE_REG(hdma->Instance->CTR1, 0U); 70005444: f04f 0200 mov.w r2, #0 70005448: 641a str r2, [r3, #64] @ 0x40 WRITE_REG(hdma->Instance->CTR2, hdma->InitLinkedList.TransferEventMode); 7000544a: 6459 str r1, [r3, #68] @ 0x44 WRITE_REG(hdma->Instance->CBR1, 0U); 7000544c: 649a str r2, [r3, #72] @ 0x48 WRITE_REG(hdma->Instance->CSAR, 0U); 7000544e: 64da str r2, [r3, #76] @ 0x4c WRITE_REG(hdma->Instance->CDAR, 0U); 70005450: 651a str r2, [r3, #80] @ 0x50 if (IS_DMA_2D_ADDRESSING_INSTANCE(hdma->Instance) != 0U) 70005452: d014 beq.n 7000547e 70005454: 4a19 ldr r2, [pc, #100] @ (700054bc ) 70005456: 4293 cmp r3, r2 70005458: d011 beq.n 7000547e 7000545a: 3280 adds r2, #128 @ 0x80 7000545c: 4293 cmp r3, r2 7000545e: d00e beq.n 7000547e 70005460: 3280 adds r2, #128 @ 0x80 70005462: 4293 cmp r3, r2 70005464: d00b beq.n 7000547e 70005466: 4a16 ldr r2, [pc, #88] @ (700054c0 ) 70005468: 4293 cmp r3, r2 7000546a: d008 beq.n 7000547e 7000546c: 3280 adds r2, #128 @ 0x80 7000546e: 4293 cmp r3, r2 70005470: d005 beq.n 7000547e 70005472: 3280 adds r2, #128 @ 0x80 70005474: 4293 cmp r3, r2 70005476: d002 beq.n 7000547e 70005478: 3280 adds r2, #128 @ 0x80 7000547a: 4293 cmp r3, r2 7000547c: d102 bne.n 70005484 WRITE_REG(hdma->Instance->CTR3, 0U); 7000547e: 2200 movs r2, #0 70005480: 655a str r2, [r3, #84] @ 0x54 WRITE_REG(hdma->Instance->CBR2, 0U); 70005482: 659a str r2, [r3, #88] @ 0x58 WRITE_REG(hdma->Instance->CLLR, 0U); 70005484: 2000 movs r0, #0 70005486: 67d8 str r0, [r3, #124] @ 0x7c hdma->Mode = hdma->InitLinkedList.LinkedListMode; 70005488: 6ca3 ldr r3, [r4, #72] @ 0x48 hdma->ErrorCode = HAL_DMA_ERROR_NONE; 7000548a: 65a0 str r0, [r4, #88] @ 0x58 hdma->Mode = hdma->InitLinkedList.LinkedListMode; 7000548c: 6523 str r3, [r4, #80] @ 0x50 hdma->State = HAL_DMA_STATE_READY; 7000548e: 2301 movs r3, #1 70005490: f884 3054 strb.w r3, [r4, #84] @ 0x54 return HAL_OK; 70005494: e00b b.n 700054ae if ((HAL_GetTick() - tickstart) > HAL_TIMEOUT_DMA_ABORT) 70005496: f7ff fa01 bl 7000489c 7000549a: 1b40 subs r0, r0, r5 7000549c: 2805 cmp r0, #5 7000549e: f67f af5e bls.w 7000535e hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 700054a2: 2310 movs r3, #16 700054a4: 65a3 str r3, [r4, #88] @ 0x58 hdma->State = HAL_DMA_STATE_ERROR; 700054a6: 2303 movs r3, #3 700054a8: f884 3054 strb.w r3, [r4, #84] @ 0x54 return HAL_ERROR; 700054ac: 2001 movs r0, #1 } 700054ae: bd38 pop {r3, r4, r5, pc} 700054b0: 40021650 .word 0x40021650 700054b4: 52000050 .word 0x52000050 700054b8: 40021050 .word 0x40021050 700054bc: 400216d0 .word 0x400216d0 700054c0: 52000650 .word 0x52000650 700054c4 : { 700054c4: b538 push {r3, r4, r5, lr} 700054c6: 4604 mov r4, r0 uint32_t tickstart = HAL_GetTick(); 700054c8: f7ff f9e8 bl 7000489c 700054cc: 4605 mov r5, r0 if (hdma == NULL) 700054ce: 2c00 cmp r4, #0 700054d0: d051 beq.n 70005576 __HAL_DMA_DISABLE(hdma); 700054d2: 6822 ldr r2, [r4, #0] 700054d4: 6953 ldr r3, [r2, #20] 700054d6: f043 0306 orr.w r3, r3, #6 700054da: 6153 str r3, [r2, #20] while ((hdma->Instance->CCR & DMA_CCR_EN) != 0U) 700054dc: 6823 ldr r3, [r4, #0] 700054de: 695a ldr r2, [r3, #20] 700054e0: f012 0201 ands.w r2, r2, #1 700054e4: d13d bne.n 70005562 hdma->Instance->CCR = 0U; 700054e6: 615a str r2, [r3, #20] hdma->Instance->CLBAR = 0U; 700054e8: 601a str r2, [r3, #0] hdma->Instance->CTR1 = 0U; 700054ea: 641a str r2, [r3, #64] @ 0x40 hdma->Instance->CTR2 = 0U; 700054ec: 645a str r2, [r3, #68] @ 0x44 hdma->Instance->CBR1 = 0U; 700054ee: 649a str r2, [r3, #72] @ 0x48 hdma->Instance->CSAR = 0U; 700054f0: 64da str r2, [r3, #76] @ 0x4c hdma->Instance->CDAR = 0U; 700054f2: 651a str r2, [r3, #80] @ 0x50 hdma->Instance->CLLR = 0U; 700054f4: 67da str r2, [r3, #124] @ 0x7c if (IS_DMA_2D_ADDRESSING_INSTANCE(hdma->Instance) != 0U) 700054f6: 4a21 ldr r2, [pc, #132] @ (7000557c ) 700054f8: 4293 cmp r3, r2 700054fa: d014 beq.n 70005526 700054fc: 3280 adds r2, #128 @ 0x80 700054fe: 4293 cmp r3, r2 70005500: d011 beq.n 70005526 70005502: 3280 adds r2, #128 @ 0x80 70005504: 4293 cmp r3, r2 70005506: d00e beq.n 70005526 70005508: 3280 adds r2, #128 @ 0x80 7000550a: 4293 cmp r3, r2 7000550c: d00b beq.n 70005526 7000550e: 4a1c ldr r2, [pc, #112] @ (70005580 ) 70005510: 4293 cmp r3, r2 70005512: d008 beq.n 70005526 70005514: 3280 adds r2, #128 @ 0x80 70005516: 4293 cmp r3, r2 70005518: d005 beq.n 70005526 7000551a: 3280 adds r2, #128 @ 0x80 7000551c: 4293 cmp r3, r2 7000551e: d002 beq.n 70005526 70005520: 3280 adds r2, #128 @ 0x80 70005522: 4293 cmp r3, r2 70005524: d102 bne.n 7000552c hdma->Instance->CTR3 = 0U; 70005526: 2200 movs r2, #0 70005528: 655a str r2, [r3, #84] @ 0x54 hdma->Instance->CBR2 = 0U; 7000552a: 659a str r2, [r3, #88] @ 0x58 __HAL_DMA_CLEAR_FLAG(hdma, (DMA_FLAG_TC | DMA_FLAG_HT | DMA_FLAG_DTE | DMA_FLAG_ULE | DMA_FLAG_USE | DMA_FLAG_SUSP | 7000552c: f44f 42fe mov.w r2, #32512 @ 0x7f00 70005530: 60da str r2, [r3, #12] hdma->XferCpltCallback = NULL; 70005532: 2300 movs r3, #0 if (hdma->LinkedListQueue != NULL) 70005534: 6f62 ldr r2, [r4, #116] @ 0x74 hdma->XferSuspendCallback = NULL; 70005536: 6723 str r3, [r4, #112] @ 0x70 hdma->XferHalfCpltCallback = NULL; 70005538: e9c4 3318 strd r3, r3, [r4, #96] @ 0x60 hdma->XferAbortCallback = NULL; 7000553c: e9c4 331a strd r3, r3, [r4, #104] @ 0x68 if (hdma->LinkedListQueue != NULL) 70005540: b11a cbz r2, 7000554a hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; 70005542: 2101 movs r1, #1 70005544: 7311 strb r1, [r2, #12] hdma->LinkedListQueue->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 70005546: 6113 str r3, [r2, #16] hdma->LinkedListQueue = NULL; 70005548: 6763 str r3, [r4, #116] @ 0x74 if (hdma->Parent != NULL) 7000554a: 6de2 ldr r2, [r4, #92] @ 0x5c 7000554c: 2300 movs r3, #0 7000554e: b102 cbz r2, 70005552 hdma->Parent = NULL; 70005550: 65e3 str r3, [r4, #92] @ 0x5c hdma->ErrorCode = HAL_DMA_ERROR_NONE; 70005552: 65a3 str r3, [r4, #88] @ 0x58 return HAL_OK; 70005554: 2000 movs r0, #0 hdma->Mode = DMA_NORMAL; 70005556: 6523 str r3, [r4, #80] @ 0x50 hdma->State = HAL_DMA_STATE_RESET; 70005558: f884 3054 strb.w r3, [r4, #84] @ 0x54 __HAL_UNLOCK(hdma); 7000555c: f884 304c strb.w r3, [r4, #76] @ 0x4c return HAL_OK; 70005560: e00a b.n 70005578 if ((HAL_GetTick() - tickstart) > HAL_TIMEOUT_DMA_ABORT) 70005562: f7ff f99b bl 7000489c 70005566: 1b40 subs r0, r0, r5 70005568: 2805 cmp r0, #5 7000556a: d9b7 bls.n 700054dc hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 7000556c: 2310 movs r3, #16 7000556e: 65a3 str r3, [r4, #88] @ 0x58 hdma->State = HAL_DMA_STATE_ERROR; 70005570: 2303 movs r3, #3 70005572: f884 3054 strb.w r3, [r4, #84] @ 0x54 return HAL_ERROR; 70005576: 2001 movs r0, #1 } 70005578: bd38 pop {r3, r4, r5, pc} 7000557a: bf00 nop 7000557c: 40021650 .word 0x40021650 70005580: 52000650 .word 0x52000650 70005584 : if ((hdma == NULL) || (hdma->LinkedListQueue == NULL)) 70005584: 4603 mov r3, r0 { 70005586: b530 push {r4, r5, lr} if ((hdma == NULL) || (hdma->LinkedListQueue == NULL)) 70005588: 2800 cmp r0, #0 7000558a: d04c beq.n 70005626 7000558c: 6f41 ldr r1, [r0, #116] @ 0x74 7000558e: 2900 cmp r1, #0 70005590: d049 beq.n 70005626 dma_state = hdma->State; 70005592: f890 0054 ldrb.w r0, [r0, #84] @ 0x54 ccr_value = hdma->Instance->CCR & DMA_CCR_LSM; 70005596: 681a ldr r2, [r3, #0] if ((dma_state == HAL_DMA_STATE_READY) || ((dma_state == HAL_DMA_STATE_BUSY) && (ccr_value != 0U))) 70005598: 2801 cmp r0, #1 dma_state = hdma->State; 7000559a: b2c5 uxtb r5, r0 ccr_value = hdma->Instance->CCR & DMA_CCR_LSM; 7000559c: 6954 ldr r4, [r2, #20] if ((dma_state == HAL_DMA_STATE_READY) || ((dma_state == HAL_DMA_STATE_BUSY) && (ccr_value != 0U))) 7000559e: d003 beq.n 700055a8 700055a0: 2d02 cmp r5, #2 700055a2: d13b bne.n 7000561c 700055a4: 03e0 lsls r0, r4, #15 700055a6: d539 bpl.n 7000561c if (hdma->State == HAL_DMA_STATE_READY) 700055a8: f893 0054 ldrb.w r0, [r3, #84] @ 0x54 700055ac: 2801 cmp r0, #1 700055ae: b2c4 uxtb r4, r0 700055b0: d12e bne.n 70005610 __HAL_LOCK(hdma); 700055b2: f893 004c ldrb.w r0, [r3, #76] @ 0x4c 700055b6: 2801 cmp r0, #1 700055b8: f04f 0002 mov.w r0, #2 700055bc: d02d beq.n 7000561a hdma->State = HAL_DMA_STATE_BUSY; 700055be: f883 0054 strb.w r0, [r3, #84] @ 0x54 __HAL_LOCK(hdma); 700055c2: f883 404c strb.w r4, [r3, #76] @ 0x4c hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_BUSY; 700055c6: 7308 strb r0, [r1, #12] hdma->ErrorCode = HAL_DMA_ERROR_NONE; 700055c8: 2000 movs r0, #0 700055ca: 6598 str r0, [r3, #88] @ 0x58 hdma->LinkedListQueue->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 700055cc: 6108 str r0, [r1, #16] __HAL_DMA_ENABLE_IT(hdma, (DMA_IT_TC | DMA_IT_DTE | DMA_IT_ULE | DMA_IT_USE | DMA_IT_TO)); 700055ce: 6950 ldr r0, [r2, #20] 700055d0: f440 40ba orr.w r0, r0, #23808 @ 0x5d00 700055d4: 6150 str r0, [r2, #20] if (hdma->XferHalfCpltCallback != NULL) 700055d6: 6e58 ldr r0, [r3, #100] @ 0x64 700055d8: b118 cbz r0, 700055e2 __HAL_DMA_ENABLE_IT(hdma, DMA_IT_HT); 700055da: 6950 ldr r0, [r2, #20] 700055dc: f440 7000 orr.w r0, r0, #512 @ 0x200 700055e0: 6150 str r0, [r2, #20] if (hdma->XferSuspendCallback != NULL) 700055e2: 6f1b ldr r3, [r3, #112] @ 0x70 700055e4: b11b cbz r3, 700055ee __HAL_DMA_ENABLE_IT(hdma, DMA_IT_SUSP); 700055e6: 6953 ldr r3, [r2, #20] 700055e8: f443 5300 orr.w r3, r3, #8192 @ 0x2000 700055ec: 6153 str r3, [r2, #20] DMA_List_GetCLLRNodeInfo(hdma->LinkedListQueue->Head, &cllr_mask, NULL); 700055ee: 680b ldr r3, [r1, #0] *cllr_mask = DMA_CLLR_UT1 | DMA_CLLR_UT2 | DMA_CLLR_UB1 | DMA_CLLR_USA | DMA_CLLR_UDA | DMA_CLLR_UT3 | 700055f0: 480e ldr r0, [pc, #56] @ (7000562c ) if ((pNode->NodeInfo & DMA_CHANNEL_TYPE_2D_ADDR) == DMA_CHANNEL_TYPE_2D_ADDR) 700055f2: 6a19 ldr r1, [r3, #32] *cllr_mask = DMA_CLLR_UT1 | DMA_CLLR_UT2 | DMA_CLLR_UB1 | DMA_CLLR_USA | DMA_CLLR_UDA | DMA_CLLR_UT3 | 700055f4: f011 0f02 tst.w r1, #2 700055f8: 490d ldr r1, [pc, #52] @ (70005630 ) 700055fa: bf18 it ne 700055fc: 4601 movne r1, r0 hdma->Instance->CLBAR = ((uint32_t)hdma->LinkedListQueue->Head & DMA_CLBAR_LBA); 700055fe: 0c18 lsrs r0, r3, #16 hdma->Instance->CLLR = ((uint32_t)hdma->LinkedListQueue->Head & DMA_CLLR_LA) | cllr_mask; 70005600: f023 0303 bic.w r3, r3, #3 hdma->Instance->CLBAR = ((uint32_t)hdma->LinkedListQueue->Head & DMA_CLBAR_LBA); 70005604: 0400 lsls r0, r0, #16 hdma->Instance->CLLR = ((uint32_t)hdma->LinkedListQueue->Head & DMA_CLLR_LA) | cllr_mask; 70005606: 041b lsls r3, r3, #16 hdma->Instance->CLBAR = ((uint32_t)hdma->LinkedListQueue->Head & DMA_CLBAR_LBA); 70005608: 6010 str r0, [r2, #0] hdma->Instance->CLLR = ((uint32_t)hdma->LinkedListQueue->Head & DMA_CLLR_LA) | cllr_mask; 7000560a: 0c1b lsrs r3, r3, #16 7000560c: 430b orrs r3, r1 7000560e: 67d3 str r3, [r2, #124] @ 0x7c __HAL_DMA_ENABLE(hdma); 70005610: 6953 ldr r3, [r2, #20] return HAL_OK; 70005612: 2000 movs r0, #0 __HAL_DMA_ENABLE(hdma); 70005614: f043 0301 orr.w r3, r3, #1 70005618: 6153 str r3, [r2, #20] } 7000561a: bd30 pop {r4, r5, pc} hdma->ErrorCode = HAL_DMA_ERROR_BUSY; 7000561c: 2240 movs r2, #64 @ 0x40 7000561e: 659a str r2, [r3, #88] @ 0x58 __HAL_UNLOCK(hdma); 70005620: 2200 movs r2, #0 70005622: f883 204c strb.w r2, [r3, #76] @ 0x4c return HAL_ERROR; 70005626: 2001 movs r0, #1 70005628: e7f7 b.n 7000561a 7000562a: bf00 nop 7000562c: fe010000 .word 0xfe010000 70005630: f8010000 .word 0xf8010000 70005634 : { 70005634: b5f0 push {r4, r5, r6, r7, lr} if ((pNodeConfig == NULL) || (pNode == NULL)) 70005636: 2800 cmp r0, #0 70005638: f000 8094 beq.w 70005764 7000563c: 2900 cmp r1, #0 7000563e: f000 8091 beq.w 70005764 pNode->LinkRegisters[NODE_CTR1_DEFAULT_OFFSET] = pNodeConfig->Init.DestInc | 70005642: 69c3 ldr r3, [r0, #28] 70005644: 6945 ldr r5, [r0, #20] if ((pNodeConfig->NodeType & (DMA_CHANNEL_TYPE_GPDMA | DMA_CHANNEL_TYPE_HPDMA)) != 0U) 70005646: 6802 ldr r2, [r0, #0] pNode->LinkRegisters[NODE_CTR1_DEFAULT_OFFSET] = pNodeConfig->Init.DestInc | 70005648: 431d orrs r5, r3 pNodeConfig->Init.DestDataWidth | 7000564a: 6bc3 ldr r3, [r0, #60] @ 0x3c if ((pNodeConfig->NodeType & (DMA_CHANNEL_TYPE_GPDMA | DMA_CHANNEL_TYPE_HPDMA)) != 0U) 7000564c: f012 0460 ands.w r4, r2, #96 @ 0x60 pNodeConfig->Init.DestDataWidth | 70005650: ea45 0503 orr.w r5, r5, r3 pNodeConfig->DataHandlingConfig.DataAlignment | 70005654: 6903 ldr r3, [r0, #16] 70005656: ea45 0503 orr.w r5, r5, r3 pNodeConfig->Init.SrcInc | 7000565a: 6983 ldr r3, [r0, #24] 7000565c: ea45 0503 orr.w r5, r5, r3 pNode->LinkRegisters[NODE_CTR1_DEFAULT_OFFSET] = pNodeConfig->Init.DestInc | 70005660: 600d str r5, [r1, #0] if ((pNodeConfig->NodeType & (DMA_CHANNEL_TYPE_GPDMA | DMA_CHANNEL_TYPE_HPDMA)) != 0U) 70005662: d010 beq.n 70005686 (((pNodeConfig->Init.DestBurstLength - 1U) << DMA_CTR1_DBL_1_Pos) & DMA_CTR1_DBL_1) | 70005664: 6a83 ldr r3, [r0, #40] @ 0x28 (pNodeConfig->Init.TransferAllocatedPort | pNodeConfig->DataHandlingConfig.DataExchange | 70005666: 6ac6 ldr r6, [r0, #44] @ 0x2c (((pNodeConfig->Init.DestBurstLength - 1U) << DMA_CTR1_DBL_1_Pos) & DMA_CTR1_DBL_1) | 70005668: 3b01 subs r3, #1 (pNodeConfig->Init.TransferAllocatedPort | pNodeConfig->DataHandlingConfig.DataExchange | 7000566a: 6b87 ldr r7, [r0, #56] @ 0x38 (((pNodeConfig->Init.DestBurstLength - 1U) << DMA_CTR1_DBL_1_Pos) & DMA_CTR1_DBL_1) | 7000566c: 051b lsls r3, r3, #20 (pNodeConfig->Init.TransferAllocatedPort | pNodeConfig->DataHandlingConfig.DataExchange | 7000566e: 433e orrs r6, r7 (((pNodeConfig->Init.DestBurstLength - 1U) << DMA_CTR1_DBL_1_Pos) & DMA_CTR1_DBL_1) | 70005670: f003 737c and.w r3, r3, #66060288 @ 0x3f00000 (pNodeConfig->Init.TransferAllocatedPort | pNodeConfig->DataHandlingConfig.DataExchange | 70005674: 4333 orrs r3, r6 (((pNodeConfig->Init.SrcBurstLength - 1U) << DMA_CTR1_SBL_1_Pos) & DMA_CTR1_SBL_1)); 70005676: 6a46 ldr r6, [r0, #36] @ 0x24 70005678: 3e01 subs r6, #1 7000567a: 0136 lsls r6, r6, #4 7000567c: f406 767c and.w r6, r6, #1008 @ 0x3f0 (((pNodeConfig->Init.DestBurstLength - 1U) << DMA_CTR1_DBL_1_Pos) & DMA_CTR1_DBL_1) | 70005680: 4333 orrs r3, r6 pNode->LinkRegisters[NODE_CTR1_DEFAULT_OFFSET] |= 70005682: 432b orrs r3, r5 70005684: 600b str r3, [r1, #0] (pNodeConfig->Init.Request & (DMA_CTR2_REQSEL | DMA_CTR2_SWREQ)); 70005686: 6843 ldr r3, [r0, #4] pNode->LinkRegisters[NODE_CTR2_DEFAULT_OFFSET] = pNodeConfig->Init.TransferEventMode | 70005688: 6b05 ldr r5, [r0, #48] @ 0x30 (pNodeConfig->Init.Request & (DMA_CTR2_REQSEL | DMA_CTR2_SWREQ)); 7000568a: f423 73c0 bic.w r3, r3, #384 @ 0x180 7000568e: 059b lsls r3, r3, #22 70005690: 0d9b lsrs r3, r3, #22 pNode->LinkRegisters[NODE_CTR2_DEFAULT_OFFSET] = pNodeConfig->Init.TransferEventMode | 70005692: 432b orrs r3, r5 if ((pNodeConfig->Init.Direction) == DMA_MEMORY_TO_PERIPH) 70005694: 68c5 ldr r5, [r0, #12] 70005696: f5b5 6f80 cmp.w r5, #1024 @ 0x400 7000569a: d159 bne.n 70005750 if ((pNodeConfig->NodeType & (DMA_CHANNEL_TYPE_GPDMA | DMA_CHANNEL_TYPE_HPDMA)) != 0U) 7000569c: b10c cbz r4, 700056a2 pNode->LinkRegisters[NODE_CTR2_DEFAULT_OFFSET] |= DMA_CTR2_DREQ; 7000569e: f443 6380 orr.w r3, r3, #1024 @ 0x400 pNode->LinkRegisters[NODE_CTR2_DEFAULT_OFFSET] |= pNodeConfig->Init.Mode; 700056a2: 6b44 ldr r4, [r0, #52] @ 0x34 if (pNodeConfig->TriggerConfig.TriggerPolarity != DMA_TRIG_POLARITY_MASKED) 700056a4: 6c45 ldr r5, [r0, #68] @ 0x44 pNode->LinkRegisters[NODE_CTR2_DEFAULT_OFFSET] |= pNodeConfig->Init.Mode; 700056a6: 4323 orrs r3, r4 700056a8: 604b str r3, [r1, #4] if (pNodeConfig->TriggerConfig.TriggerPolarity != DMA_TRIG_POLARITY_MASKED) 700056aa: b145 cbz r5, 700056be ((pNodeConfig->TriggerConfig.TriggerSelection << DMA_CTR2_TRIGSEL_Pos) & DMA_CTR2_TRIGSEL); 700056ac: 6c84 ldr r4, [r0, #72] @ 0x48 pNode->LinkRegisters[NODE_CTR2_DEFAULT_OFFSET] |= 700056ae: 6c06 ldr r6, [r0, #64] @ 0x40 ((pNodeConfig->TriggerConfig.TriggerSelection << DMA_CTR2_TRIGSEL_Pos) & DMA_CTR2_TRIGSEL); 700056b0: 0424 lsls r4, r4, #16 pNode->LinkRegisters[NODE_CTR2_DEFAULT_OFFSET] |= 700056b2: 4335 orrs r5, r6 ((pNodeConfig->TriggerConfig.TriggerSelection << DMA_CTR2_TRIGSEL_Pos) & DMA_CTR2_TRIGSEL); 700056b4: f404 147c and.w r4, r4, #4128768 @ 0x3f0000 pNode->LinkRegisters[NODE_CTR2_DEFAULT_OFFSET] |= 700056b8: 432c orrs r4, r5 700056ba: 431c orrs r4, r3 700056bc: 604c str r4, [r1, #4] pNode->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = (pNodeConfig->DataSize & DMA_CBR1_BNDT); 700056be: f8b0 6068 ldrh.w r6, [r0, #104] @ 0x68 if ((pNodeConfig->NodeType & DMA_CHANNEL_TYPE_2D_ADDR) == DMA_CHANNEL_TYPE_2D_ADDR) 700056c2: f012 0502 ands.w r5, r2, #2 pNode->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = (pNodeConfig->DataSize & DMA_CBR1_BNDT); 700056c6: 608e str r6, [r1, #8] if ((pNodeConfig->NodeType & DMA_CHANNEL_TYPE_2D_ADDR) == DMA_CHANNEL_TYPE_2D_ADDR) 700056c8: d01b beq.n 70005702 (((pNodeConfig->RepeatBlockConfig.RepeatCount - 1U) << DMA_CBR1_BRC_Pos) & DMA_CBR1_BRC); 700056ca: 6cc3 ldr r3, [r0, #76] @ 0x4c 700056cc: 1e5c subs r4, r3, #1 700056ce: 4b26 ldr r3, [pc, #152] @ (70005768 ) 700056d0: ea03 4304 and.w r3, r3, r4, lsl #16 if (pNodeConfig->RepeatBlockConfig.SrcAddrOffset < 0) 700056d4: 6d04 ldr r4, [r0, #80] @ 0x50 pNode->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] |= 700056d6: 4333 orrs r3, r6 if (pNodeConfig->RepeatBlockConfig.SrcAddrOffset < 0) 700056d8: 2c00 cmp r4, #0 if (pNodeConfig->RepeatBlockConfig.DestAddrOffset < 0) 700056da: 6d44 ldr r4, [r0, #84] @ 0x54 pNode->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] |= DMA_CBR1_SDEC; 700056dc: bfb8 it lt 700056de: f043 5380 orrlt.w r3, r3, #268435456 @ 0x10000000 if (pNodeConfig->RepeatBlockConfig.DestAddrOffset < 0) 700056e2: 2c00 cmp r4, #0 if (pNodeConfig->RepeatBlockConfig.BlkSrcAddrOffset < 0) 700056e4: 6d84 ldr r4, [r0, #88] @ 0x58 pNode->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] |= DMA_CBR1_DDEC; 700056e6: bfb8 it lt 700056e8: f043 5300 orrlt.w r3, r3, #536870912 @ 0x20000000 if (pNodeConfig->RepeatBlockConfig.BlkSrcAddrOffset < 0) 700056ec: 2c00 cmp r4, #0 if (pNodeConfig->RepeatBlockConfig.BlkDestAddrOffset < 0) 700056ee: 6dc4 ldr r4, [r0, #92] @ 0x5c pNode->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] |= DMA_CBR1_BRSDEC; 700056f0: bfb8 it lt 700056f2: f043 4380 orrlt.w r3, r3, #1073741824 @ 0x40000000 if (pNodeConfig->RepeatBlockConfig.BlkDestAddrOffset < 0) 700056f6: 2c00 cmp r4, #0 700056f8: 608b str r3, [r1, #8] pNode->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] |= DMA_CBR1_BRDDEC; 700056fa: bfbc itt lt 700056fc: f043 4300 orrlt.w r3, r3, #2147483648 @ 0x80000000 70005700: 608b strlt r3, [r1, #8] pNode->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = pNodeConfig->SrcAddress; 70005702: 6e03 ldr r3, [r0, #96] @ 0x60 70005704: 60cb str r3, [r1, #12] pNode->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = pNodeConfig->DstAddress; 70005706: 6e43 ldr r3, [r0, #100] @ 0x64 70005708: 610b str r3, [r1, #16] if ((pNodeConfig->NodeType & DMA_CHANNEL_TYPE_2D_ADDR) == DMA_CHANNEL_TYPE_2D_ADDR) 7000570a: b33d cbz r5, 7000575c if (pNodeConfig->RepeatBlockConfig.SrcAddrOffset < 0) 7000570c: 6d03 ldr r3, [r0, #80] @ 0x50 pNode->NodeInfo |= (NODE_CLLR_2D_DEFAULT_OFFSET << NODE_CLLR_IDX_POS); 7000570e: f442 62e0 orr.w r2, r2, #1792 @ 0x700 if (pNodeConfig->RepeatBlockConfig.DestAddrOffset < 0) 70005712: 6d45 ldr r5, [r0, #84] @ 0x54 if (pNodeConfig->RepeatBlockConfig.SrcAddrOffset < 0) 70005714: 2b00 cmp r3, #0 pNode->LinkRegisters[NODE_CTR3_DEFAULT_OFFSET] = ((uint32_t)blockoffset & DMA_CTR3_SAO); 70005716: 4c15 ldr r4, [pc, #84] @ (7000576c ) blockoffset = (- pNodeConfig->RepeatBlockConfig.SrcAddrOffset); 70005718: bfb8 it lt 7000571a: 425b neglt r3, r3 if (pNodeConfig->RepeatBlockConfig.DestAddrOffset < 0) 7000571c: 2d00 cmp r5, #0 blockoffset = (- pNodeConfig->RepeatBlockConfig.DestAddrOffset); 7000571e: bfb8 it lt 70005720: 426d neglt r5, r5 70005722: f3c3 030c ubfx r3, r3, #0, #13 (((uint32_t)pNodeConfig->RepeatBlockConfig.DestAddrOffset << DMA_CTR3_DAO_Pos) & DMA_CTR3_DAO); 70005726: ea04 4405 and.w r4, r4, r5, lsl #16 pNode->LinkRegisters[NODE_CTR3_DEFAULT_OFFSET] |= 7000572a: 4323 orrs r3, r4 7000572c: 614b str r3, [r1, #20] if (pNodeConfig->RepeatBlockConfig.BlkSrcAddrOffset < 0) 7000572e: 6d83 ldr r3, [r0, #88] @ 0x58 if (pNodeConfig->RepeatBlockConfig.BlkDestAddrOffset < 0) 70005730: 6dc0 ldr r0, [r0, #92] @ 0x5c if (pNodeConfig->RepeatBlockConfig.BlkSrcAddrOffset < 0) 70005732: 2b00 cmp r3, #0 blockoffset = (- pNodeConfig->RepeatBlockConfig.BlkSrcAddrOffset); 70005734: bfb8 it lt 70005736: 425b neglt r3, r3 if (pNodeConfig->RepeatBlockConfig.BlkDestAddrOffset < 0) 70005738: 2800 cmp r0, #0 7000573a: b29b uxth r3, r3 blockoffset = (- pNodeConfig->RepeatBlockConfig.BlkDestAddrOffset); 7000573c: bfb8 it lt 7000573e: 4240 neglt r0, r0 pNode->LinkRegisters[NODE_CBR2_DEFAULT_OFFSET] |= 70005740: ea43 4300 orr.w r3, r3, r0, lsl #16 70005744: 618b str r3, [r1, #24] pNode->LinkRegisters[NODE_CLLR_2D_DEFAULT_OFFSET] = 0U; 70005746: 2300 movs r3, #0 70005748: 61cb str r3, [r1, #28] return HAL_OK; 7000574a: 2000 movs r0, #0 pNode->NodeInfo |= (NODE_CLLR_2D_DEFAULT_OFFSET << NODE_CLLR_IDX_POS); 7000574c: 620a str r2, [r1, #32] } 7000574e: bdf0 pop {r4, r5, r6, r7, pc} else if ((pNodeConfig->Init.Direction) == DMA_MEMORY_TO_MEMORY) 70005750: f5b5 7f00 cmp.w r5, #512 @ 0x200 pNode->LinkRegisters[NODE_CTR2_DEFAULT_OFFSET] |= DMA_CTR2_SWREQ; 70005754: bf08 it eq 70005756: f443 7300 orreq.w r3, r3, #512 @ 0x200 7000575a: e7a2 b.n 700056a2 pNode->NodeInfo |= (NODE_CLLR_LINEAR_DEFAULT_OFFSET << NODE_CLLR_IDX_POS); 7000575c: f442 62a0 orr.w r2, r2, #1280 @ 0x500 pNode->LinkRegisters[NODE_CLLR_LINEAR_DEFAULT_OFFSET] = 0U; 70005760: 614d str r5, [r1, #20] pNode->NodeInfo |= (NODE_CLLR_LINEAR_DEFAULT_OFFSET << NODE_CLLR_IDX_POS); 70005762: e7f2 b.n 7000574a return HAL_ERROR; 70005764: 2001 movs r0, #1 70005766: e7f2 b.n 7000574e 70005768: 07ff0000 .word 0x07ff0000 7000576c: 1fff0000 .word 0x1fff0000 70005770 : { 70005770: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 70005774: 460e mov r6, r1 70005776: b087 sub sp, #28 70005778: 4615 mov r5, r2 if ((pQList == NULL) || (pNewNode == NULL)) 7000577a: 4604 mov r4, r0 7000577c: b128 cbz r0, 7000578a 7000577e: b122 cbz r2, 7000578a if (pQList->Type == QUEUE_TYPE_DYNAMIC) 70005780: 6943 ldr r3, [r0, #20] 70005782: 2b01 cmp r3, #1 70005784: d105 bne.n 70005792 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_INVALIDTYPE; 70005786: 2304 movs r3, #4 70005788: 6123 str r3, [r4, #16] return HAL_ERROR; 7000578a: 2001 movs r0, #1 } 7000578c: b007 add sp, #28 7000578e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} if (DMA_List_CheckNodesBaseAddresses(pQList->Head, pPrevNode, pNewNode) != 0U) 70005792: f8d0 8000 ldr.w r8, [r0] 70005796: 4640 mov r0, r8 70005798: f7ff fd4e bl 70005238 7000579c: b108 cbz r0, 700057a2 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_OUTOFRANGE; 7000579e: 2305 movs r3, #5 700057a0: e7f2 b.n 70005788 if (DMA_List_CheckNodesTypes(pQList->Head, pPrevNode, pNewNode) != 0U) 700057a2: 4640 mov r0, r8 700057a4: f7ff fd57 bl 70005256 700057a8: 2800 cmp r0, #0 700057aa: d1ec bne.n 70005786 pQList->State = HAL_DMA_QUEUE_STATE_BUSY; 700057ac: 2302 movs r3, #2 700057ae: 7323 strb r3, [r4, #12] pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 700057b0: 6120 str r0, [r4, #16] if ((pNode->NodeInfo & DMA_CHANNEL_TYPE_2D_ADDR) == DMA_CHANNEL_TYPE_2D_ADDR) 700057b2: 6a13 ldr r3, [r2, #32] 700057b4: 079b lsls r3, r3, #30 *cllr_offset = NODE_CLLR_2D_DEFAULT_OFFSET; 700057b6: bf47 ittee mi 700057b8: 2707 movmi r7, #7 *cllr_mask = DMA_CLLR_UT1 | DMA_CLLR_UT2 | DMA_CLLR_UB1 | DMA_CLLR_USA | DMA_CLLR_UDA | DMA_CLLR_UT3 | 700057ba: f8df 9094 ldrmi.w r9, [pc, #148] @ 70005850 *cllr_offset = NODE_CLLR_LINEAR_DEFAULT_OFFSET; 700057be: 2705 movpl r7, #5 *cllr_mask = DMA_CLLR_UT1 | DMA_CLLR_UT2 | DMA_CLLR_UB1 | DMA_CLLR_USA | DMA_CLLR_UDA | DMA_CLLR_ULL; 700057c0: f8df 9090 ldrpl.w r9, [pc, #144] @ 70005854 if (pQList->Head == NULL) 700057c4: f1b8 0f00 cmp.w r8, #0 700057c8: d113 bne.n 700057f2 if (pPrevNode == NULL) 700057ca: b93e cbnz r6, 700057dc pQList->Head = pNewNode; 700057cc: 2301 movs r3, #1 700057ce: 6022 str r2, [r4, #0] pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 700057d0: 2000 movs r0, #0 pQList->NodeNumber = 2U; 700057d2: 60a3 str r3, [r4, #8] pQList->State = HAL_DMA_QUEUE_STATE_READY; 700057d4: 2301 movs r3, #1 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 700057d6: 6120 str r0, [r4, #16] pQList->State = HAL_DMA_QUEUE_STATE_READY; 700057d8: 7323 strb r3, [r4, #12] return HAL_OK; 700057da: e7d7 b.n 7000578c pPrevNode->LinkRegisters[cllr_offset] = ((uint32_t)pNewNode & DMA_CLLR_LA) | cllr_mask; 700057dc: f022 0503 bic.w r5, r2, #3 pQList->Head = pPrevNode; 700057e0: 6026 str r6, [r4, #0] pPrevNode->LinkRegisters[cllr_offset] = ((uint32_t)pNewNode & DMA_CLLR_LA) | cllr_mask; 700057e2: 2302 movs r3, #2 700057e4: 042d lsls r5, r5, #16 700057e6: 0c2d lsrs r5, r5, #16 700057e8: ea45 0509 orr.w r5, r5, r9 700057ec: f846 5027 str.w r5, [r6, r7, lsl #2] pQList->NodeNumber = 2U; 700057f0: e7ee b.n 700057d0 if (pPrevNode == NULL) 700057f2: b96e cbnz r6, 70005810 pNewNode->LinkRegisters[cllr_offset] = ((uint32_t)pQList->Head & DMA_CLLR_LA) | cllr_mask; 700057f4: f028 0803 bic.w r8, r8, #3 700057f8: ea4f 4808 mov.w r8, r8, lsl #16 700057fc: ea4f 4818 mov.w r8, r8, lsr #16 70005800: ea48 0309 orr.w r3, r8, r9 70005804: f842 3027 str.w r3, [r2, r7, lsl #2] pQList->Head = pNewNode; 70005808: 6022 str r2, [r4, #0] pQList->NodeNumber++; 7000580a: 68a3 ldr r3, [r4, #8] 7000580c: 3301 adds r3, #1 7000580e: e7df b.n 700057d0 if (DMA_List_FindNode(pQList, pPrevNode, &node_info) == 0U) 70005810: aa01 add r2, sp, #4 70005812: 4631 mov r1, r6 70005814: 4620 mov r0, r4 node_info.cllr_offset = cllr_offset; 70005816: 9701 str r7, [sp, #4] if (DMA_List_FindNode(pQList, pPrevNode, &node_info) == 0U) 70005818: f7ff fd38 bl 7000528c 7000581c: b9b0 cbnz r0, 7000584c pPrevNode->LinkRegisters[cllr_offset] = ((uint32_t)pNewNode & DMA_CLLR_LA) | cllr_mask; 7000581e: f64f 70fc movw r0, #65532 @ 0xfffc if (node_info.currentnode_pos == pQList->NodeNumber) 70005822: 68a3 ldr r3, [r4, #8] 70005824: 9903 ldr r1, [sp, #12] pPrevNode->LinkRegisters[cllr_offset] = ((uint32_t)pNewNode & DMA_CLLR_LA) | cllr_mask; 70005826: ea05 0200 and.w r2, r5, r0 if (node_info.currentnode_pos == pQList->NodeNumber) 7000582a: 4299 cmp r1, r3 pPrevNode->LinkRegisters[cllr_offset] = ((uint32_t)pNewNode & DMA_CLLR_LA) | cllr_mask; 7000582c: ea42 0209 orr.w r2, r2, r9 if (node_info.currentnode_pos == pQList->NodeNumber) 70005830: d109 bne.n 70005846 if (pQList->FirstCircularNode != NULL) 70005832: 6863 ldr r3, [r4, #4] 70005834: b123 cbz r3, 70005840 pNewNode->LinkRegisters[cllr_offset] = ((uint32_t)pQList->FirstCircularNode & DMA_CLLR_LA) | cllr_mask; 70005836: 4003 ands r3, r0 70005838: ea43 0309 orr.w r3, r3, r9 7000583c: f845 3027 str.w r3, [r5, r7, lsl #2] pPrevNode->LinkRegisters[cllr_offset] = ((uint32_t)pNewNode & DMA_CLLR_LA) | cllr_mask; 70005840: f846 2027 str.w r2, [r6, r7, lsl #2] 70005844: e7e1 b.n 7000580a pNewNode->LinkRegisters[cllr_offset] = pPrevNode->LinkRegisters[cllr_offset]; 70005846: f856 3027 ldr.w r3, [r6, r7, lsl #2] 7000584a: e7f7 b.n 7000583c pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NOTFOUND; 7000584c: 2306 movs r3, #6 7000584e: e79b b.n 70005788 70005850: fe010000 .word 0xfe010000 70005854: f8010000 .word 0xf8010000 70005858 : { 70005858: b5f0 push {r4, r5, r6, r7, lr} 7000585a: 460d mov r5, r1 7000585c: b087 sub sp, #28 if ((pQList == NULL) || (pNewNode == NULL)) 7000585e: 4604 mov r4, r0 70005860: b128 cbz r0, 7000586e 70005862: b121 cbz r1, 7000586e if (pQList->Type == QUEUE_TYPE_DYNAMIC) 70005864: 6943 ldr r3, [r0, #20] 70005866: 2b01 cmp r3, #1 70005868: d104 bne.n 70005874 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_INVALIDTYPE; 7000586a: 2304 movs r3, #4 7000586c: 6123 str r3, [r4, #16] return HAL_ERROR; 7000586e: 2001 movs r0, #1 } 70005870: b007 add sp, #28 70005872: bdf0 pop {r4, r5, r6, r7, pc} if (DMA_List_CheckNodesBaseAddresses(pQList->Head, pNewNode, NULL) != 0U) 70005874: 6806 ldr r6, [r0, #0] 70005876: 2200 movs r2, #0 70005878: 4630 mov r0, r6 7000587a: f7ff fcdd bl 70005238 7000587e: b108 cbz r0, 70005884 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_OUTOFRANGE; 70005880: 2305 movs r3, #5 70005882: e7f3 b.n 7000586c if (DMA_List_CheckNodesTypes(pQList->Head, pNewNode, NULL) != 0U) 70005884: 4630 mov r0, r6 70005886: f7ff fce6 bl 70005256 7000588a: 2800 cmp r0, #0 7000588c: d1ed bne.n 7000586a if (pQList->Head == NULL) 7000588e: b946 cbnz r6, 700058a2 pQList->Head = pNewNode; 70005890: 6025 str r5, [r4, #0] pQList->NodeNumber++; 70005892: 68a3 ldr r3, [r4, #8] pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 70005894: 2000 movs r0, #0 pQList->NodeNumber++; 70005896: 3301 adds r3, #1 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 70005898: 6120 str r0, [r4, #16] pQList->NodeNumber++; 7000589a: 60a3 str r3, [r4, #8] pQList->State = HAL_DMA_QUEUE_STATE_READY; 7000589c: 2301 movs r3, #1 7000589e: 7323 strb r3, [r4, #12] return HAL_OK; 700058a0: e7e6 b.n 70005870 if ((pNode->NodeInfo & DMA_CHANNEL_TYPE_2D_ADDR) == DMA_CHANNEL_TYPE_2D_ADDR) 700058a2: 6a2b ldr r3, [r5, #32] (void)DMA_List_FindNode(pQList, NULL, &node_info); 700058a4: aa01 add r2, sp, #4 700058a6: 2100 movs r1, #0 700058a8: 4620 mov r0, r4 if ((pNode->NodeInfo & DMA_CHANNEL_TYPE_2D_ADDR) == DMA_CHANNEL_TYPE_2D_ADDR) 700058aa: 079b lsls r3, r3, #30 *cllr_offset = NODE_CLLR_2D_DEFAULT_OFFSET; 700058ac: bf4b itete mi 700058ae: 2607 movmi r6, #7 *cllr_offset = NODE_CLLR_LINEAR_DEFAULT_OFFSET; 700058b0: 2605 movpl r6, #5 *cllr_mask = DMA_CLLR_UT1 | DMA_CLLR_UT2 | DMA_CLLR_UB1 | DMA_CLLR_USA | DMA_CLLR_UDA | DMA_CLLR_UT3 | 700058b2: 4f0b ldrmi r7, [pc, #44] @ (700058e0 ) *cllr_mask = DMA_CLLR_UT1 | DMA_CLLR_UT2 | DMA_CLLR_UB1 | DMA_CLLR_USA | DMA_CLLR_UDA | DMA_CLLR_ULL; 700058b4: 4f0b ldrpl r7, [pc, #44] @ (700058e4 ) node_info.cllr_offset = cllr_offset; 700058b6: 9601 str r6, [sp, #4] (void)DMA_List_FindNode(pQList, NULL, &node_info); 700058b8: f7ff fce8 bl 7000528c if (pQList->FirstCircularNode != NULL) 700058bc: 6863 ldr r3, [r4, #4] 700058be: b133 cbz r3, 700058ce pNewNode->LinkRegisters[cllr_offset] = ((uint32_t)pQList->FirstCircularNode & DMA_CLLR_LA) | cllr_mask; 700058c0: f023 0303 bic.w r3, r3, #3 700058c4: 041b lsls r3, r3, #16 700058c6: 0c1b lsrs r3, r3, #16 700058c8: 433b orrs r3, r7 700058ca: f845 3026 str.w r3, [r5, r6, lsl #2] ((uint32_t)pNewNode & DMA_CLLR_LA) | cllr_mask; 700058ce: f025 0503 bic.w r5, r5, #3 ((DMA_NodeTypeDef *)node_info.currentnode_addr)->LinkRegisters[cllr_offset] = 700058d2: 9b04 ldr r3, [sp, #16] ((uint32_t)pNewNode & DMA_CLLR_LA) | cllr_mask; 700058d4: 042d lsls r5, r5, #16 700058d6: 0c2d lsrs r5, r5, #16 700058d8: 433d orrs r5, r7 ((DMA_NodeTypeDef *)node_info.currentnode_addr)->LinkRegisters[cllr_offset] = 700058da: f843 5026 str.w r5, [r3, r6, lsl #2] 700058de: e7d8 b.n 70005892 700058e0: fe010000 .word 0xfe010000 700058e4: f8010000 .word 0xf8010000 700058e8 : { 700058e8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 700058ec: 460d mov r5, r1 700058ee: b086 sub sp, #24 if ((pQList == NULL) || (pNewNode == NULL)) 700058f0: 4604 mov r4, r0 700058f2: b120 cbz r0, 700058fe 700058f4: b119 cbz r1, 700058fe if (pQList->Head == NULL) 700058f6: 6806 ldr r6, [r0, #0] 700058f8: b92e cbnz r6, 70005906 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_EMPTY; 700058fa: 2302 movs r3, #2 700058fc: 6123 str r3, [r4, #16] return HAL_ERROR; 700058fe: 2001 movs r0, #1 } 70005900: b006 add sp, #24 70005902: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if (pQList->Type == QUEUE_TYPE_DYNAMIC) 70005906: 6943 ldr r3, [r0, #20] 70005908: 2b01 cmp r3, #1 7000590a: d101 bne.n 70005910 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_INVALIDTYPE; 7000590c: 2304 movs r3, #4 7000590e: e7f5 b.n 700058fc if (DMA_List_CheckNodesBaseAddresses(pQList->Head, pNewNode, NULL) != 0U) 70005910: 2200 movs r2, #0 70005912: 4630 mov r0, r6 70005914: f7ff fc90 bl 70005238 70005918: b108 cbz r0, 7000591e pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_OUTOFRANGE; 7000591a: 2305 movs r3, #5 7000591c: e7ee b.n 700058fc if (DMA_List_CheckNodesTypes(pQList->Head, pNewNode, NULL) != 0U) 7000591e: 4630 mov r0, r6 70005920: f7ff fc99 bl 70005256 70005924: 2800 cmp r0, #0 70005926: d1f1 bne.n 7000590c pQList->State = HAL_DMA_QUEUE_STATE_BUSY; 70005928: 2302 movs r3, #2 7000592a: 7323 strb r3, [r4, #12] pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 7000592c: 6120 str r0, [r4, #16] if ((pNode->NodeInfo & DMA_CHANNEL_TYPE_2D_ADDR) == DMA_CHANNEL_TYPE_2D_ADDR) 7000592e: 6a2b ldr r3, [r5, #32] 70005930: 079b lsls r3, r3, #30 if (pQList->FirstCircularNode == pQList->Head) 70005932: 6863 ldr r3, [r4, #4] *cllr_mask = DMA_CLLR_UT1 | DMA_CLLR_UT2 | DMA_CLLR_UB1 | DMA_CLLR_USA | DMA_CLLR_UDA | DMA_CLLR_UT3 | 70005934: bf47 ittee mi 70005936: f8df 8044 ldrmi.w r8, [pc, #68] @ 7000597c *cllr_offset = NODE_CLLR_2D_DEFAULT_OFFSET; 7000593a: 2707 movmi r7, #7 *cllr_mask = DMA_CLLR_UT1 | DMA_CLLR_UT2 | DMA_CLLR_UB1 | DMA_CLLR_USA | DMA_CLLR_UDA | DMA_CLLR_ULL; 7000593c: f8df 8040 ldrpl.w r8, [pc, #64] @ 70005980 *cllr_offset = NODE_CLLR_LINEAR_DEFAULT_OFFSET; 70005940: 2705 movpl r7, #5 if (pQList->FirstCircularNode == pQList->Head) 70005942: 429e cmp r6, r3 70005944: d10e bne.n 70005964 (void)DMA_List_FindNode(pQList, NULL, &node_info); 70005946: aa01 add r2, sp, #4 70005948: 2100 movs r1, #0 7000594a: 4620 mov r0, r4 node_info.cllr_offset = cllr_offset; 7000594c: 9701 str r7, [sp, #4] (void)DMA_List_FindNode(pQList, NULL, &node_info); 7000594e: f7ff fc9d bl 7000528c ((uint32_t)pNewNode & DMA_CLLR_LA) | cllr_mask; 70005952: f64f 73fc movw r3, #65532 @ 0xfffc ((DMA_NodeTypeDef *)(node_info.currentnode_addr))->LinkRegisters[cllr_offset] = 70005956: 9a04 ldr r2, [sp, #16] ((uint32_t)pNewNode & DMA_CLLR_LA) | cllr_mask; 70005958: 402b ands r3, r5 7000595a: ea43 0308 orr.w r3, r3, r8 ((DMA_NodeTypeDef *)(node_info.currentnode_addr))->LinkRegisters[cllr_offset] = 7000595e: f842 3027 str.w r3, [r2, r7, lsl #2] pQList->FirstCircularNode = pNewNode; 70005962: 6065 str r5, [r4, #4] pNewNode->LinkRegisters[cllr_offset] = pQList->Head->LinkRegisters[cllr_offset]; 70005964: f856 3027 ldr.w r3, [r6, r7, lsl #2] pQList->Head->LinkRegisters[cllr_offset] = 0U; 70005968: 2000 movs r0, #0 pNewNode->LinkRegisters[cllr_offset] = pQList->Head->LinkRegisters[cllr_offset]; 7000596a: f845 3027 str.w r3, [r5, r7, lsl #2] pQList->State = HAL_DMA_QUEUE_STATE_READY; 7000596e: 2301 movs r3, #1 pQList->Head->LinkRegisters[cllr_offset] = 0U; 70005970: f846 0027 str.w r0, [r6, r7, lsl #2] pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 70005974: 6120 str r0, [r4, #16] pQList->Head = pNewNode; 70005976: 6025 str r5, [r4, #0] pQList->State = HAL_DMA_QUEUE_STATE_READY; 70005978: 7323 strb r3, [r4, #12] return HAL_OK; 7000597a: e7c1 b.n 70005900 7000597c: fe010000 .word 0xfe010000 70005980: f8010000 .word 0xf8010000 70005984 : if (pQList == NULL) 70005984: 4603 mov r3, r0 { 70005986: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} if (pQList == NULL) 7000598a: b120 cbz r0, 70005996 if (pQList->State == HAL_DMA_QUEUE_STATE_BUSY) 7000598c: 7b02 ldrb r2, [r0, #12] 7000598e: 2a02 cmp r2, #2 70005990: d104 bne.n 7000599c pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_BUSY; 70005992: 2201 movs r2, #1 70005994: 611a str r2, [r3, #16] return HAL_ERROR; 70005996: 2001 movs r0, #1 } 70005998: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} if (pQList->Type == QUEUE_TYPE_DYNAMIC) 7000599c: 6942 ldr r2, [r0, #20] 7000599e: 2a01 cmp r2, #1 700059a0: d101 bne.n 700059a6 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_INVALIDTYPE; 700059a2: 2204 movs r2, #4 700059a4: e7f6 b.n 70005994 pQList->State = HAL_DMA_QUEUE_STATE_BUSY; 700059a6: 2202 movs r2, #2 700059a8: 7302 strb r2, [r0, #12] pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 700059aa: 2200 movs r2, #0 700059ac: 6102 str r2, [r0, #16] if (pQList->Head != NULL) 700059ae: 6800 ldr r0, [r0, #0] 700059b0: b930 cbnz r0, 700059c0 pQList->Head = NULL; 700059b2: 2000 movs r0, #0 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 700059b4: 6118 str r0, [r3, #16] pQList->Head = NULL; 700059b6: 6018 str r0, [r3, #0] pQList->State = HAL_DMA_QUEUE_STATE_RESET; 700059b8: 7318 strb r0, [r3, #12] pQList->FirstCircularNode = NULL; 700059ba: e9c3 0001 strd r0, r0, [r3, #4] return HAL_OK; 700059be: e7eb b.n 70005998 if ((pNode->NodeInfo & DMA_CHANNEL_TYPE_2D_ADDR) == DMA_CHANNEL_TYPE_2D_ADDR) 700059c0: 6a01 ldr r1, [r0, #32] 700059c2: 0c07 lsrs r7, r0, #16 } /* Calculate nodes addresses */ else { previousnode_address = currentnode_address; currentnode_address = 700059c4: f64f 75fc movw r5, #65532 @ 0xfffc while (node_idx < pQList->NodeNumber) 700059c8: f8d3 e008 ldr.w lr, [r3, #8] *cllr_offset = NODE_CLLR_2D_DEFAULT_OFFSET; 700059cc: f011 0f02 tst.w r1, #2 uint32_t node_idx = 0U; 700059d0: 4614 mov r4, r2 700059d2: ea4f 4707 mov.w r7, r7, lsl #16 previousnode_address = (uint32_t)pQList->Head & DMA_CLLR_LA; 700059d6: ea00 0805 and.w r8, r0, r5 *cllr_offset = NODE_CLLR_2D_DEFAULT_OFFSET; 700059da: bf0c ite eq 700059dc: 2605 moveq r6, #5 700059de: 2607 movne r6, #7 ((uint32_t)pQList->Head & DMA_CLBAR_LBA)))->LinkRegisters[cllr_offset] & DMA_CLLR_LA; } /* Reset node */ ((DMA_NodeTypeDef *)(previousnode_address + ((uint32_t)pQList->Head & DMA_CLBAR_LBA)))->LinkRegisters[cllr_offset] = 0U; 700059e0: 4691 mov r9, r2 700059e2: ea4f 0c86 mov.w ip, r6, lsl #2 while (node_idx < pQList->NodeNumber) 700059e6: 4574 cmp r4, lr 700059e8: d0e3 beq.n 700059b2 if (node_idx == 0U) 700059ea: b94c cbnz r4, 70005a00 previousnode_address = (uint32_t)pQList->Head & DMA_CLLR_LA; 700059ec: 4642 mov r2, r8 currentnode_address = (pQList->Head->LinkRegisters[cllr_offset] & DMA_CLLR_LA); 700059ee: f850 1026 ldr.w r1, [r0, r6, lsl #2] ((uint32_t)pQList->Head & DMA_CLBAR_LBA)))->LinkRegisters[cllr_offset] = 0U; 700059f2: 4462 add r2, ip currentnode_address = 700059f4: 4029 ands r1, r5 /* Increment node index */ node_idx++; 700059f6: 3401 adds r4, #1 ((uint32_t)pQList->Head & DMA_CLBAR_LBA)))->LinkRegisters[cllr_offset] = 0U; 700059f8: f842 9007 str.w r9, [r2, r7] node_idx++; 700059fc: 460a mov r2, r1 700059fe: e7f2 b.n 700059e6 ((uint32_t)pQList->Head & DMA_CLBAR_LBA)))->LinkRegisters[cllr_offset] & DMA_CLLR_LA; 70005a00: eb0c 0102 add.w r1, ip, r2 70005a04: 59c9 ldr r1, [r1, r7] 70005a06: e7f4 b.n 700059f2 70005a08 : { 70005a08: b5f0 push {r4, r5, r6, r7, lr} if (pQList == NULL) 70005a0a: 4604 mov r4, r0 { 70005a0c: b087 sub sp, #28 if (pQList == NULL) 70005a0e: b118 cbz r0, 70005a18 if (pQList->Head == NULL) 70005a10: 6805 ldr r5, [r0, #0] 70005a12: b925 cbnz r5, 70005a1e pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_EMPTY; 70005a14: 2302 movs r3, #2 70005a16: 6123 str r3, [r4, #16] return HAL_ERROR; 70005a18: 2001 movs r0, #1 } 70005a1a: b007 add sp, #28 70005a1c: bdf0 pop {r4, r5, r6, r7, pc} if (pQList->FirstCircularNode != NULL) 70005a1e: 6843 ldr r3, [r0, #4] 70005a20: b11b cbz r3, 70005a2a if (pQList->FirstCircularNode == pQList->Head) 70005a22: 429d cmp r5, r3 70005a24: d01f beq.n 70005a66 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_INVALIDTYPE; 70005a26: 2304 movs r3, #4 70005a28: e7f5 b.n 70005a16 if (pQList->Type == QUEUE_TYPE_DYNAMIC) 70005a2a: 6942 ldr r2, [r0, #20] 70005a2c: 2a01 cmp r2, #1 70005a2e: d0fa beq.n 70005a26 pQList->State = HAL_DMA_QUEUE_STATE_BUSY; 70005a30: 2202 movs r2, #2 (void)DMA_List_FindNode(pQList, NULL, &node_info); 70005a32: 2100 movs r1, #0 pQList->State = HAL_DMA_QUEUE_STATE_BUSY; 70005a34: 7302 strb r2, [r0, #12] (void)DMA_List_FindNode(pQList, NULL, &node_info); 70005a36: aa01 add r2, sp, #4 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 70005a38: 6103 str r3, [r0, #16] if ((pNode->NodeInfo & DMA_CHANNEL_TYPE_2D_ADDR) == DMA_CHANNEL_TYPE_2D_ADDR) 70005a3a: 6a2b ldr r3, [r5, #32] 70005a3c: 079b lsls r3, r3, #30 *cllr_offset = NODE_CLLR_2D_DEFAULT_OFFSET; 70005a3e: bf4b itete mi 70005a40: 2607 movmi r6, #7 *cllr_offset = NODE_CLLR_LINEAR_DEFAULT_OFFSET; 70005a42: 2605 movpl r6, #5 *cllr_mask = DMA_CLLR_UT1 | DMA_CLLR_UT2 | DMA_CLLR_UB1 | DMA_CLLR_USA | DMA_CLLR_UDA | DMA_CLLR_UT3 | 70005a44: 4f09 ldrmi r7, [pc, #36] @ (70005a6c ) *cllr_mask = DMA_CLLR_UT1 | DMA_CLLR_UT2 | DMA_CLLR_UB1 | DMA_CLLR_USA | DMA_CLLR_UDA | DMA_CLLR_ULL; 70005a46: 4f0a ldrpl r7, [pc, #40] @ (70005a70 ) node_info.cllr_offset = cllr_offset; 70005a48: 9601 str r6, [sp, #4] (void)DMA_List_FindNode(pQList, NULL, &node_info); 70005a4a: f7ff fc1f bl 7000528c ((uint32_t)pQList->Head & DMA_CLLR_LA) | cllr_mask; 70005a4e: f64f 73fc movw r3, #65532 @ 0xfffc ((DMA_NodeTypeDef *)(node_info.currentnode_addr))->LinkRegisters[cllr_offset] = 70005a52: 9a04 ldr r2, [sp, #16] ((uint32_t)pQList->Head & DMA_CLLR_LA) | cllr_mask; 70005a54: 402b ands r3, r5 70005a56: 433b orrs r3, r7 ((DMA_NodeTypeDef *)(node_info.currentnode_addr))->LinkRegisters[cllr_offset] = 70005a58: f842 3026 str.w r3, [r2, r6, lsl #2] pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 70005a5c: 2300 movs r3, #0 pQList->FirstCircularNode = pQList->Head; 70005a5e: 6065 str r5, [r4, #4] pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 70005a60: 6123 str r3, [r4, #16] pQList->State = HAL_DMA_QUEUE_STATE_READY; 70005a62: 2301 movs r3, #1 70005a64: 7323 strb r3, [r4, #12] return HAL_OK; 70005a66: 2000 movs r0, #0 70005a68: e7d7 b.n 70005a1a 70005a6a: bf00 nop 70005a6c: fe010000 .word 0xfe010000 70005a70: f8010000 .word 0xf8010000 70005a74 : { 70005a74: b570 push {r4, r5, r6, lr} if (pQList == NULL) 70005a76: 4604 mov r4, r0 { 70005a78: b086 sub sp, #24 if (pQList == NULL) 70005a7a: b118 cbz r0, 70005a84 if (pQList->Head == NULL) 70005a7c: 6803 ldr r3, [r0, #0] 70005a7e: b923 cbnz r3, 70005a8a pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_EMPTY; 70005a80: 2302 movs r3, #2 70005a82: 6123 str r3, [r4, #16] return HAL_ERROR; 70005a84: 2001 movs r0, #1 } 70005a86: b006 add sp, #24 70005a88: bd70 pop {r4, r5, r6, pc} if (pQList->FirstCircularNode == NULL) 70005a8a: 6842 ldr r2, [r0, #4] 70005a8c: b1d2 cbz r2, 70005ac4 if (pQList->Type == QUEUE_TYPE_DYNAMIC) 70005a8e: 6942 ldr r2, [r0, #20] 70005a90: 2a01 cmp r2, #1 70005a92: d101 bne.n 70005a98 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_INVALIDTYPE; 70005a94: 2304 movs r3, #4 70005a96: e7f4 b.n 70005a82 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 70005a98: 2500 movs r5, #0 pQList->State = HAL_DMA_QUEUE_STATE_BUSY; 70005a9a: 2202 movs r2, #2 70005a9c: 7302 strb r2, [r0, #12] (void)DMA_List_FindNode(pQList, NULL, &node_info); 70005a9e: 4629 mov r1, r5 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 70005aa0: 6105 str r5, [r0, #16] (void)DMA_List_FindNode(pQList, NULL, &node_info); 70005aa2: aa01 add r2, sp, #4 if ((pNode->NodeInfo & DMA_CHANNEL_TYPE_2D_ADDR) == DMA_CHANNEL_TYPE_2D_ADDR) 70005aa4: 6a1b ldr r3, [r3, #32] *cllr_offset = NODE_CLLR_2D_DEFAULT_OFFSET; 70005aa6: f013 0f02 tst.w r3, #2 70005aaa: bf0c ite eq 70005aac: 2605 moveq r6, #5 70005aae: 2607 movne r6, #7 node_info.cllr_offset = cllr_offset; 70005ab0: 9601 str r6, [sp, #4] (void)DMA_List_FindNode(pQList, NULL, &node_info); 70005ab2: f7ff fbeb bl 7000528c ((DMA_NodeTypeDef *)(node_info.currentnode_addr))->LinkRegisters[cllr_offset] = 0U; 70005ab6: 9b04 ldr r3, [sp, #16] 70005ab8: f843 5026 str.w r5, [r3, r6, lsl #2] pQList->State = HAL_DMA_QUEUE_STATE_READY; 70005abc: 2301 movs r3, #1 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_NONE; 70005abe: 6125 str r5, [r4, #16] pQList->FirstCircularNode = NULL; 70005ac0: 6065 str r5, [r4, #4] pQList->State = HAL_DMA_QUEUE_STATE_READY; 70005ac2: 7323 strb r3, [r4, #12] return HAL_OK; 70005ac4: 2000 movs r0, #0 70005ac6: e7de b.n 70005a86 70005ac8 : if ((hdma == NULL) || (pQList == NULL)) 70005ac8: b170 cbz r0, 70005ae8 70005aca: b169 cbz r1, 70005ae8 state = hdma->State; 70005acc: f890 3054 ldrb.w r3, [r0, #84] @ 0x54 if ((hdma->State == HAL_DMA_STATE_BUSY) || (state == HAL_DMA_STATE_SUSPEND)) 70005ad0: f890 2054 ldrb.w r2, [r0, #84] @ 0x54 state = hdma->State; 70005ad4: b2db uxtb r3, r3 if ((hdma->State == HAL_DMA_STATE_BUSY) || (state == HAL_DMA_STATE_SUSPEND)) 70005ad6: 2a02 cmp r2, #2 70005ad8: d001 beq.n 70005ade 70005ada: 2b05 cmp r3, #5 70005adc: d106 bne.n 70005aec hdma->ErrorCode = HAL_DMA_ERROR_BUSY; 70005ade: 2340 movs r3, #64 @ 0x40 70005ae0: 6583 str r3, [r0, #88] @ 0x58 __HAL_UNLOCK(hdma); 70005ae2: 2300 movs r3, #0 70005ae4: f880 304c strb.w r3, [r0, #76] @ 0x4c return HAL_ERROR; 70005ae8: 2001 movs r0, #1 70005aea: 4770 bx lr if (pQList->State == HAL_DMA_QUEUE_STATE_BUSY) 70005aec: 7b0b ldrb r3, [r1, #12] 70005aee: 2b02 cmp r3, #2 70005af0: d102 bne.n 70005af8 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_BUSY; 70005af2: 2301 movs r3, #1 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_INVALIDTYPE; 70005af4: 610b str r3, [r1, #16] return HAL_ERROR; 70005af6: e7f7 b.n 70005ae8 if ((IS_DMA_2D_ADDRESSING_INSTANCE(hdma->Instance) == 0U) && 70005af8: 6803 ldr r3, [r0, #0] 70005afa: 4a15 ldr r2, [pc, #84] @ (70005b50 ) 70005afc: 4293 cmp r3, r2 70005afe: d01a beq.n 70005b36 70005b00: 3280 adds r2, #128 @ 0x80 70005b02: 4293 cmp r3, r2 70005b04: d017 beq.n 70005b36 70005b06: 3280 adds r2, #128 @ 0x80 70005b08: 4293 cmp r3, r2 70005b0a: d014 beq.n 70005b36 70005b0c: 3280 adds r2, #128 @ 0x80 70005b0e: 4293 cmp r3, r2 70005b10: d011 beq.n 70005b36 70005b12: 4a10 ldr r2, [pc, #64] @ (70005b54 ) 70005b14: 4293 cmp r3, r2 70005b16: d00e beq.n 70005b36 70005b18: 3280 adds r2, #128 @ 0x80 70005b1a: 4293 cmp r3, r2 70005b1c: d00b beq.n 70005b36 70005b1e: 3280 adds r2, #128 @ 0x80 70005b20: 4293 cmp r3, r2 70005b22: d008 beq.n 70005b36 70005b24: 3280 adds r2, #128 @ 0x80 70005b26: 4293 cmp r3, r2 70005b28: d005 beq.n 70005b36 ((pQList->Head->NodeInfo & DMA_CHANNEL_TYPE_2D_ADDR) == DMA_CHANNEL_TYPE_2D_ADDR)) 70005b2a: 680b ldr r3, [r1, #0] 70005b2c: 6a1b ldr r3, [r3, #32] if ((IS_DMA_2D_ADDRESSING_INSTANCE(hdma->Instance) == 0U) && 70005b2e: 079b lsls r3, r3, #30 70005b30: d501 bpl.n 70005b36 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_UNSUPPORTED; 70005b32: 2303 movs r3, #3 70005b34: e7de b.n 70005af4 if (hdma->Mode == DMA_LINKEDLIST_CIRCULAR) 70005b36: 6d02 ldr r2, [r0, #80] @ 0x50 if (pQList->FirstCircularNode == NULL) 70005b38: 684b ldr r3, [r1, #4] if (hdma->Mode == DMA_LINKEDLIST_CIRCULAR) 70005b3a: 2a81 cmp r2, #129 @ 0x81 70005b3c: d102 bne.n 70005b44 if (pQList->FirstCircularNode == NULL) 70005b3e: b91b cbnz r3, 70005b48 pQList->ErrorCode = HAL_DMA_QUEUE_ERROR_INVALIDTYPE; 70005b40: 2304 movs r3, #4 70005b42: e7d7 b.n 70005af4 if (pQList->FirstCircularNode != NULL) 70005b44: 2b00 cmp r3, #0 70005b46: d1fb bne.n 70005b40 hdma->LinkedListQueue = pQList; 70005b48: 6741 str r1, [r0, #116] @ 0x74 return HAL_OK; 70005b4a: 2000 movs r0, #0 } 70005b4c: 4770 bx lr 70005b4e: bf00 nop 70005b50: 40021650 .word 0x40021650 70005b54: 52000650 .word 0x52000650 70005b58 : if ((hdma == NULL) || (pConfigDataHandling == NULL)) 70005b58: b1b0 cbz r0, 70005b88 70005b5a: b1a9 cbz r1, 70005b88 if (hdma->State == HAL_DMA_STATE_READY) 70005b5c: f890 3054 ldrb.w r3, [r0, #84] @ 0x54 70005b60: 2b01 cmp r3, #1 70005b62: d10c bne.n 70005b7e MODIFY_REG(hdma->Instance->CTR1, (DMA_CTR1_DWX | DMA_CTR1_DHX | DMA_CTR1_DBX | DMA_CTR1_SBX | DMA_CTR1_PAM), 70005b64: 6800 ldr r0, [r0, #0] 70005b66: 6c02 ldr r2, [r0, #64] @ 0x40 70005b68: e9d1 1300 ldrd r1, r3, [r1] 70005b6c: f022 52e0 bic.w r2, r2, #469762048 @ 0x1c000000 70005b70: 430b orrs r3, r1 70005b72: f422 5260 bic.w r2, r2, #14336 @ 0x3800 70005b76: 4313 orrs r3, r2 70005b78: 6403 str r3, [r0, #64] @ 0x40 return HAL_OK; 70005b7a: 2000 movs r0, #0 70005b7c: 4770 bx lr hdma->ErrorCode = HAL_DMA_ERROR_BUSY; 70005b7e: 2340 movs r3, #64 @ 0x40 70005b80: 6583 str r3, [r0, #88] @ 0x58 __HAL_UNLOCK(hdma); 70005b82: 2300 movs r3, #0 70005b84: f880 304c strb.w r3, [r0, #76] @ 0x4c return HAL_ERROR; 70005b88: 2001 movs r0, #1 } 70005b8a: 4770 bx lr 70005b8c : return ((hdma->Instance->CSR & DMA_CSR_FIFOL) >> DMA_CSR_FIFOL_Pos); 70005b8c: 6803 ldr r3, [r0, #0] 70005b8e: 6918 ldr r0, [r3, #16] } 70005b90: f3c0 4007 ubfx r0, r0, #16, #8 70005b94: 4770 bx lr ... 70005b98 : * @brief Unlock the FLASH control register access. * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASH_Unlock(void) { if (READ_BIT(FLASH->CR, FLASH_CR_LOCK) != 0U) 70005b98: 4b06 ldr r3, [pc, #24] @ (70005bb4 ) 70005b9a: 6918 ldr r0, [r3, #16] 70005b9c: f010 0001 ands.w r0, r0, #1 70005ba0: d007 beq.n 70005bb2 { /* Authorize the FLASH Registers access */ WRITE_REG(FLASH->KEYR, FLASH_KEY1); 70005ba2: 4a05 ldr r2, [pc, #20] @ (70005bb8 ) 70005ba4: 605a str r2, [r3, #4] WRITE_REG(FLASH->KEYR, FLASH_KEY2); 70005ba6: f102 3288 add.w r2, r2, #2290649224 @ 0x88888888 70005baa: 605a str r2, [r3, #4] /* verify Flash is unlocked */ if (READ_BIT(FLASH->CR, FLASH_CR_LOCK) != 0U) 70005bac: 6918 ldr r0, [r3, #16] 70005bae: f000 0001 and.w r0, r0, #1 return HAL_ERROR; } } return HAL_OK; } 70005bb2: 4770 bx lr 70005bb4: 52002000 .word 0x52002000 70005bb8: 45670123 .word 0x45670123 70005bbc : * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASH_Lock(void) { /* Set the LOCK Bit to lock the FLASH Registers access */ SET_BIT(FLASH->CR, FLASH_CR_LOCK); 70005bbc: 4b04 ldr r3, [pc, #16] @ (70005bd0 ) 70005bbe: 691a ldr r2, [r3, #16] 70005bc0: f042 0201 orr.w r2, r2, #1 70005bc4: 611a str r2, [r3, #16] /* verify Flash is locked */ if (READ_BIT(FLASH->CR, FLASH_CR_LOCK) != 0U) 70005bc6: 6918 ldr r0, [r3, #16] 70005bc8: 43c0 mvns r0, r0 { return HAL_OK; } return HAL_ERROR; } 70005bca: f000 0001 and.w r0, r0, #1 70005bce: 4770 bx lr 70005bd0: 52002000 .word 0x52002000 70005bd4 : * @brief Unlock the FLASH Option Bytes Registers access. * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void) { if (READ_BIT(FLASH->OPTCR, FLASH_OPTCR_OPTLOCK) != 0U) 70005bd4: 4b08 ldr r3, [pc, #32] @ (70005bf8 ) 70005bd6: f8d3 0104 ldr.w r0, [r3, #260] @ 0x104 70005bda: f010 0001 ands.w r0, r0, #1 70005bde: d00a beq.n 70005bf6 { /* Authorizes the Option Byte register programming */ WRITE_REG(FLASH->OPTKEYR, FLASH_OPT_KEY1); 70005be0: 4a06 ldr r2, [pc, #24] @ (70005bfc ) 70005be2: f8c3 2100 str.w r2, [r3, #256] @ 0x100 WRITE_REG(FLASH->OPTKEYR, FLASH_OPT_KEY2); 70005be6: f102 3244 add.w r2, r2, #1145324612 @ 0x44444444 70005bea: f8c3 2100 str.w r2, [r3, #256] @ 0x100 /* Verify that the Option Bytes are unlocked */ if (READ_BIT(FLASH->OPTCR, FLASH_OPTCR_OPTLOCK) != 0U) 70005bee: f8d3 0104 ldr.w r0, [r3, #260] @ 0x104 70005bf2: f000 0001 and.w r0, r0, #1 return HAL_ERROR; } } return HAL_OK; } 70005bf6: 4770 bx lr 70005bf8: 52002000 .word 0x52002000 70005bfc: 08192a3b .word 0x08192a3b 70005c00 : * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASH_OB_Lock(void) { /* Set the OPTLOCK Bit to lock the FLASH Option Byte Registers access */ SET_BIT(FLASH->OPTCR, FLASH_OPTCR_OPTLOCK); 70005c00: 4b06 ldr r3, [pc, #24] @ (70005c1c ) 70005c02: f8d3 2104 ldr.w r2, [r3, #260] @ 0x104 70005c06: f042 0201 orr.w r2, r2, #1 70005c0a: f8c3 2104 str.w r2, [r3, #260] @ 0x104 /* Verify that the Option Bytes are locked */ if (READ_BIT(FLASH->OPTCR, FLASH_OPTCR_OPTLOCK) != 0U) 70005c0e: f8d3 0104 ldr.w r0, [r3, #260] @ 0x104 70005c12: 43c0 mvns r0, r0 { return HAL_OK; } return HAL_ERROR; } 70005c14: f000 0001 and.w r0, r0, #1 70005c18: 4770 bx lr 70005c1a: bf00 nop 70005c1c: 52002000 .word 0x52002000 70005c20 : * @brief Wait for a FLASH operation to complete. * @param Timeout maximum flash operation timeout * @retval HAL Status */ HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout) { 70005c20: b570 push {r4, r5, r6, lr} 70005c22: 4605 mov r5, r0 flag will be set */ uint32_t tickstart = HAL_GetTick(); uint32_t error; while ((FLASH->SR & FLASH_SR_QW) != 0U) 70005c24: 4c17 ldr r4, [pc, #92] @ (70005c84 ) uint32_t tickstart = HAL_GetTick(); 70005c26: f7fe fe39 bl 7000489c 70005c2a: 4606 mov r6, r0 while ((FLASH->SR & FLASH_SR_QW) != 0U) 70005c2c: 6963 ldr r3, [r4, #20] 70005c2e: 075a lsls r2, r3, #29 70005c30: d414 bmi.n 70005c5c } } } /* Check FLASH operation error flags */ error = (FLASH->ISR & FLASH_FLAG_ISR_ERRORS); 70005c32: 6a61 ldr r1, [r4, #36] @ 0x24 70005c34: 4a14 ldr r2, [pc, #80] @ (70005c88 ) error |= (FLASH->OPTISR & FLASH_FLAG_OPTISR_ERRORS); 70005c36: f8d4 3108 ldr.w r3, [r4, #264] @ 0x108 error = (FLASH->ISR & FLASH_FLAG_ISR_ERRORS); 70005c3a: 4011 ands r1, r2 error |= (FLASH->OPTISR & FLASH_FLAG_OPTISR_ERRORS); 70005c3c: f003 43b0 and.w r3, r3, #1476395008 @ 0x58000000 if (error != 0U) 70005c40: 430b orrs r3, r1 70005c42: d016 beq.n 70005c72 { /*Save the error code*/ pFlash.ErrorCode |= error; 70005c44: 4811 ldr r0, [pc, #68] @ (70005c8c ) /* Clear error programming flags */ FLASH->ICR = (error & FLASH_FLAG_ISR_ERRORS); 70005c46: 401a ands r2, r3 pFlash.ErrorCode |= error; 70005c48: 6841 ldr r1, [r0, #4] 70005c4a: 4319 orrs r1, r3 FLASH->OPTICR = (error & FLASH_FLAG_OPTISR_ERRORS); 70005c4c: f003 43b0 and.w r3, r3, #1476395008 @ 0x58000000 pFlash.ErrorCode |= error; 70005c50: 6041 str r1, [r0, #4] return HAL_ERROR; 70005c52: 2001 movs r0, #1 FLASH->ICR = (error & FLASH_FLAG_ISR_ERRORS); 70005c54: 62a2 str r2, [r4, #40] @ 0x28 FLASH->OPTICR = (error & FLASH_FLAG_OPTISR_ERRORS); 70005c56: f8c4 310c str.w r3, [r4, #268] @ 0x10c FLASH->ICR = FLASH_FLAG_EOP; } /* If there is no error flag set */ return HAL_OK; } 70005c5a: bd70 pop {r4, r5, r6, pc} if (Timeout != HAL_MAX_DELAY) 70005c5c: 1c69 adds r1, r5, #1 70005c5e: d0e5 beq.n 70005c2c if(((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 70005c60: f7fe fe1c bl 7000489c 70005c64: 1b80 subs r0, r0, r6 70005c66: 42a8 cmp r0, r5 70005c68: d801 bhi.n 70005c6e 70005c6a: 2d00 cmp r5, #0 70005c6c: d1de bne.n 70005c2c return HAL_TIMEOUT; 70005c6e: 2003 movs r0, #3 70005c70: e7f3 b.n 70005c5a if ((FLASH->ISR & FLASH_FLAG_EOP) != 0U) 70005c72: 6a63 ldr r3, [r4, #36] @ 0x24 70005c74: 03db lsls r3, r3, #15 70005c76: d502 bpl.n 70005c7e FLASH->ICR = FLASH_FLAG_EOP; 70005c78: f44f 3380 mov.w r3, #65536 @ 0x10000 70005c7c: 62a3 str r3, [r4, #40] @ 0x28 return HAL_OK; 70005c7e: 2000 movs r0, #0 70005c80: e7eb b.n 70005c5a 70005c82: bf00 nop 70005c84: 52002000 .word 0x52002000 70005c88: 113e0000 .word 0x113e0000 70005c8c: 2400bf58 .word 0x2400bf58 70005c90 : * - after a power reset (BOR reset or exit from Standby/Shutdown modes) * * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASHEx_OBProgram(const FLASH_OBProgramInitTypeDef *pOBInit) { 70005c90: b5f8 push {r3, r4, r5, r6, r7, lr} /* Check the parameters */ assert_param(IS_OPTIONBYTE(pOBInit->OptionType)); /* Process Locked */ __HAL_LOCK(&pFlash); 70005c92: 4d70 ldr r5, [pc, #448] @ (70005e54 ) { 70005c94: 4604 mov r4, r0 __HAL_LOCK(&pFlash); 70005c96: 782b ldrb r3, [r5, #0] 70005c98: 2b01 cmp r3, #1 70005c9a: f000 80d8 beq.w 70005e4e 70005c9e: 2301 movs r3, #1 /* Reset error code */ pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE); 70005ca0: f44f 707a mov.w r0, #1000 @ 0x3e8 __HAL_LOCK(&pFlash); 70005ca4: 702b strb r3, [r5, #0] pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; 70005ca6: 2300 movs r3, #0 70005ca8: 606b str r3, [r5, #4] status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE); 70005caa: f7ff ffb9 bl 70005c20 if ((status == HAL_OK) && (pOBInit->OptionType != 0U)) 70005cae: 2800 cmp r0, #0 70005cb0: f040 80ca bne.w 70005e48 70005cb4: 6826 ldr r6, [r4, #0] 70005cb6: 2e00 cmp r6, #0 70005cb8: f000 80c6 beq.w 70005e48 { /* Set PG_OPT Bit */ SET_BIT(FLASH->OPTCR, FLASH_OPTCR_PG_OPT); 70005cbc: 4a66 ldr r2, [pc, #408] @ (70005e58 ) /* Write protection configuration */ if ((pOBInit->OptionType & OPTIONBYTE_WRP) != 0U) 70005cbe: 07f1 lsls r1, r6, #31 SET_BIT(FLASH->OPTCR, FLASH_OPTCR_PG_OPT); 70005cc0: f8d2 3104 ldr.w r3, [r2, #260] @ 0x104 70005cc4: f043 0302 orr.w r3, r3, #2 70005cc8: f8c2 3104 str.w r3, [r2, #260] @ 0x104 if ((pOBInit->OptionType & OPTIONBYTE_WRP) != 0U) 70005ccc: d509 bpl.n 70005ce2 { /* Configure of Write protection on the selected area */ FLASH_OB_WRPConfig(pOBInit->WRPState, pOBInit->WRPSector); 70005cce: e9d4 1301 ldrd r1, r3, [r4, #4] { /* Check the parameters */ assert_param(IS_OB_WRPSTATE(WRPState)); /* Configure the write protected area */ if (WRPState == OB_WRPSTATE_DISABLE) 70005cd2: 2900 cmp r1, #0 70005cd4: d163 bne.n 70005d9e { FLASH->WRPSRP |= (WRPSector & FLASH_WRPSRP_WRPS); 70005cd6: f8d2 121c ldr.w r1, [r2, #540] @ 0x21c 70005cda: b2db uxtb r3, r3 70005cdc: 430b orrs r3, r1 } else if (WRPState == OB_WRPSTATE_ENABLE) { FLASH->WRPSRP &= (~(WRPSector & FLASH_WRPSRP_WRPS)); 70005cde: f8c2 321c str.w r3, [r2, #540] @ 0x21c if ((pOBInit->OptionType & OPTIONBYTE_USER) != 0U) 70005ce2: 07b3 lsls r3, r6, #30 70005ce4: f140 808c bpl.w 70005e00 FLASH_OB_UserConfig(pOBInit->USERType, pOBInit->USERConfig1, pOBInit->USERConfig2); 70005ce8: 6967 ldr r7, [r4, #20] 70005cea: e9d4 1003 ldrd r1, r0, [r4, #12] uint32_t optr_reg_mask = 0; /* Check the parameters */ assert_param(IS_OB_USER_TYPE(UserType)); if ((UserType & OB_USER_BOR_LEV) != 0U) 70005cee: f011 0301 ands.w r3, r1, #1 { /* BOR level option byte should be modified */ assert_param(IS_OB_USER_BOR_LEVEL(UserConfig1 & FLASH_OBW1SR_BOR_LEVEL)); /* Set value and mask for BOR level option byte */ optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_BOR_LEVEL); 70005cf2: bf1a itte ne 70005cf4: f000 030c andne.w r3, r0, #12 optr_reg_mask |= FLASH_OBW1SR_BOR_LEVEL; 70005cf8: 220c movne r2, #12 uint32_t optr_reg_mask = 0; 70005cfa: 461a moveq r2, r3 } if ((UserType & OB_USER_IWDG_SW) != 0U) 70005cfc: f011 0f02 tst.w r1, #2 { /* IWDG1_HW option byte should be modified */ assert_param(IS_OB_USER_IWDG(UserConfig1 & FLASH_OBW1SR_IWDG_HW)); /* Set value and mask for IWDG1_HW option byte */ optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_IWDG_HW); 70005d00: bf1e ittt ne 70005d02: f000 0c10 andne.w ip, r0, #16 optr_reg_mask |= FLASH_OBW1SR_IWDG_HW; 70005d06: f042 0210 orrne.w r2, r2, #16 optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_IWDG_HW); 70005d0a: ea43 030c orrne.w r3, r3, ip } if ((UserType & OB_USER_NRST_STOP) != 0U) 70005d0e: f011 0f04 tst.w r1, #4 { /* NRST_STOP_D1 option byte should be modified */ assert_param(IS_OB_USER_STOP(UserConfig1 & FLASH_OBW1SR_NRST_STOP)); /* Set value and mask for NRST_STOP_D1 option byte */ optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_NRST_STOP); 70005d12: bf1e ittt ne 70005d14: f000 0c40 andne.w ip, r0, #64 @ 0x40 optr_reg_mask |= FLASH_OBW1SR_NRST_STOP; 70005d18: f042 0240 orrne.w r2, r2, #64 @ 0x40 optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_NRST_STOP); 70005d1c: ea43 030c orrne.w r3, r3, ip } if ((UserType & OB_USER_NRST_STDBY) != 0U) 70005d20: f011 0f08 tst.w r1, #8 { /* NRST_STBY_D1 option byte should be modified */ assert_param(IS_OB_USER_STANDBY(UserConfig1 & FLASH_OBW1SR_NRST_STBY)); /* Set value and mask for NRST_STBY_D1 option byte */ optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_NRST_STBY); 70005d24: bf1e ittt ne 70005d26: f000 0c80 andne.w ip, r0, #128 @ 0x80 optr_reg_mask |= FLASH_OBW1SR_NRST_STBY; 70005d2a: f042 0280 orrne.w r2, r2, #128 @ 0x80 optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_NRST_STBY); 70005d2e: ea43 030c orrne.w r3, r3, ip } if ((UserType & OB_USER_XSPI1_HSLV) != 0U) 70005d32: f011 0f10 tst.w r1, #16 { /* XSPI1_HSLV option byte should be modified */ assert_param(IS_OB_USER_XSPI1_HSLV(UserConfig1 & FLASH_OBW1SR_XSPI1_HSLV)); /* Set value and mask for XSPI1_HSLV option byte */ optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_XSPI1_HSLV); 70005d36: bf1e ittt ne 70005d38: f400 7c80 andne.w ip, r0, #256 @ 0x100 optr_reg_mask |= FLASH_OBW1SR_XSPI1_HSLV; 70005d3c: f442 7280 orrne.w r2, r2, #256 @ 0x100 optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_XSPI1_HSLV); 70005d40: ea43 030c orrne.w r3, r3, ip } if ((UserType & OB_USER_XSPI2_HSLV) != 0U) 70005d44: f011 0f20 tst.w r1, #32 { /* XSPI2_HSLV option byte should be modified */ assert_param(IS_OB_USER_XSPI2_HSLV(UserConfig1 & FLASH_OBW1SR_XSPI2_HSLV)); /* Set value and mask for XSPI2_HSLV option byte */ optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_XSPI2_HSLV); 70005d48: bf1e ittt ne 70005d4a: f400 7c00 andne.w ip, r0, #512 @ 0x200 optr_reg_mask |= FLASH_OBW1SR_XSPI2_HSLV; 70005d4e: f442 7200 orrne.w r2, r2, #512 @ 0x200 optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_XSPI2_HSLV); 70005d52: ea43 030c orrne.w r3, r3, ip } if ((UserType & OB_USER_IWDG_STOP) != 0U) 70005d56: f011 0f40 tst.w r1, #64 @ 0x40 { /* IWDG_FZ_STOP option byte should be modified */ assert_param(IS_OB_USER_IWDG_STOP(UserConfig1 & FLASH_OBW1SR_IWDG_FZ_STOP)); /* Set value and mask for IWDG_FZ_STOP option byte */ optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_IWDG_FZ_STOP); 70005d5a: bf1e ittt ne 70005d5c: f400 3c00 andne.w ip, r0, #131072 @ 0x20000 optr_reg_mask |= FLASH_OBW1SR_IWDG_FZ_STOP; 70005d60: f442 3200 orrne.w r2, r2, #131072 @ 0x20000 optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_IWDG_FZ_STOP); 70005d64: ea43 030c orrne.w r3, r3, ip } if ((UserType & OB_USER_IWDG_STDBY) != 0U) 70005d68: f011 0f80 tst.w r1, #128 @ 0x80 { /* IWDG_FZ_SDBY option byte should be modified */ assert_param(IS_OB_USER_IWDG_STDBY(UserConfig1 & FLASH_OBW1SR_IWDG_FZ_STBY)); /* Set value and mask for IWDG_FZ_SDBY option byte */ optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_IWDG_FZ_STBY); 70005d6c: bf1e ittt ne 70005d6e: f400 2c80 andne.w ip, r0, #262144 @ 0x40000 optr_reg_mask |= FLASH_OBW1SR_IWDG_FZ_STBY; 70005d72: f442 2280 orrne.w r2, r2, #262144 @ 0x40000 optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_IWDG_FZ_STBY); 70005d76: ea43 030c orrne.w r3, r3, ip } if ((UserType & OB_USER_VDDIO_HSLV) != 0U) 70005d7a: f411 7f80 tst.w r1, #256 @ 0x100 70005d7e: d016 beq.n 70005dae { /* VDDIO_HSLV option byte should be modified */ assert_param(IS_OB_USER_VDDIO_HSLV(UserConfig1 & FLASH_OBW1SR_VDDIO_HSLV)); /* Set value and mask for VDDIO_HSLV option byte */ optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_VDDIO_HSLV); 70005d80: f000 5000 and.w r0, r0, #536870912 @ 0x20000000 optr_reg_mask |= FLASH_OBW1SR_VDDIO_HSLV; 70005d84: f042 5200 orr.w r2, r2, #536870912 @ 0x20000000 optr_reg_val |= (UserConfig1 & FLASH_OBW1SR_VDDIO_HSLV); 70005d88: 4303 orrs r3, r0 } /* Configure the option bytes register 1 if necessary */ if (optr_reg_mask != 0U) { MODIFY_REG(FLASH->OBW1SRP, optr_reg_mask, optr_reg_val); 70005d8a: f8df c0cc ldr.w ip, [pc, #204] @ 70005e58 70005d8e: f8dc 0264 ldr.w r0, [ip, #612] @ 0x264 70005d92: ea20 0202 bic.w r2, r0, r2 70005d96: 4313 orrs r3, r2 70005d98: f8cc 3264 str.w r3, [ip, #612] @ 0x264 70005d9c: e009 b.n 70005db2 else if (WRPState == OB_WRPSTATE_ENABLE) 70005d9e: 2901 cmp r1, #1 70005da0: d19f bne.n 70005ce2 FLASH->WRPSRP &= (~(WRPSector & FLASH_WRPSRP_WRPS)); 70005da2: f8d2 121c ldr.w r1, [r2, #540] @ 0x21c 70005da6: b2db uxtb r3, r3 70005da8: ea21 0303 bic.w r3, r1, r3 70005dac: e797 b.n 70005cde if (optr_reg_mask != 0U) 70005dae: 2a00 cmp r2, #0 70005db0: d1eb bne.n 70005d8a } optr_reg_val = 0; optr_reg_mask = 0; if ((UserType & OB_USER_ITCM_AXI_SHARE) != 0U) 70005db2: f411 7300 ands.w r3, r1, #512 @ 0x200 optr_reg_mask = 0; 70005db6: bf0e itee eq 70005db8: 461a moveq r2, r3 { /* ITCM_AXI_SHARE option byte should be modified */ assert_param(IS_OB_USER_ITCM_AXI_SHARE(UserConfig2 & FLASH_OBW2SR_ITCM_AXI_SHARE)); /* Set value and mask for ITCM_AXI_SHARE option byte */ optr_reg_val |= (UserConfig2 & FLASH_OBW2SR_ITCM_AXI_SHARE); 70005dba: f007 0307 andne.w r3, r7, #7 optr_reg_mask |= FLASH_OBW2SR_ITCM_AXI_SHARE; 70005dbe: 2207 movne r2, #7 } if ((UserType & OB_USER_DTCM_AXI_SHARE) != 0U) 70005dc0: 0548 lsls r0, r1, #21 { /* DTCM_AXI_SHARE option byte should be modified */ assert_param(IS_OB_USER_DTCM_AXI_SHARE(UserConfig2 & FLASH_OBW2SR_DTCM_AXI_SHARE)); /* Set value and mask for DTCM_AXI_SHARE option byte */ optr_reg_val |= (UserConfig2 & FLASH_OBW2SR_DTCM_AXI_SHARE); 70005dc2: bf42 ittt mi 70005dc4: f007 0070 andmi.w r0, r7, #112 @ 0x70 optr_reg_mask |= FLASH_OBW2SR_DTCM_AXI_SHARE; 70005dc8: f042 0270 orrmi.w r2, r2, #112 @ 0x70 optr_reg_val |= (UserConfig2 & FLASH_OBW2SR_DTCM_AXI_SHARE); 70005dcc: 4303 orrmi r3, r0 } if ((UserType & OB_USER_SRAM_ECC) != 0U) 70005dce: 0508 lsls r0, r1, #20 { /* SRAM_ECC option byte should be modified */ assert_param(IS_OB_USER_AXISRAM_ECC(UserConfig2 & FLASH_OBW2SR_ECC_ON_SRAM)); /* Set value and mask for SRAM_ECC option byte */ optr_reg_val |= (UserConfig2 & FLASH_OBW2SR_ECC_ON_SRAM); 70005dd0: bf42 ittt mi 70005dd2: f407 7080 andmi.w r0, r7, #256 @ 0x100 optr_reg_mask |= FLASH_OBW2SR_ECC_ON_SRAM; 70005dd6: f442 7280 orrmi.w r2, r2, #256 @ 0x100 optr_reg_val |= (UserConfig2 & FLASH_OBW2SR_ECC_ON_SRAM); 70005dda: 4303 orrmi r3, r0 } if ((UserType & OB_USER_I2C_NI3C) != 0U) 70005ddc: 04c9 lsls r1, r1, #19 70005dde: d50d bpl.n 70005dfc { /* I2C_NI3C option byte should be modified */ assert_param(IS_OB_USER_I2C_NI3C(UserConfig2 & FLASH_OBW2SR_I2C_NI3C)); /* Set value and mask for I2C_NI3C option byte */ optr_reg_val |= (UserConfig2 & FLASH_OBW2SR_I2C_NI3C); 70005de0: f407 7700 and.w r7, r7, #512 @ 0x200 optr_reg_mask |= FLASH_OBW2SR_I2C_NI3C; 70005de4: f442 7200 orr.w r2, r2, #512 @ 0x200 optr_reg_val |= (UserConfig2 & FLASH_OBW2SR_I2C_NI3C); 70005de8: 433b orrs r3, r7 } /* Configure the option bytes register 2 if necessary */ if (optr_reg_mask != 0U) { MODIFY_REG(FLASH->OBW2SRP, optr_reg_mask, optr_reg_val); 70005dea: 481b ldr r0, [pc, #108] @ (70005e58 ) 70005dec: f8d0 126c ldr.w r1, [r0, #620] @ 0x26c 70005df0: ea21 0202 bic.w r2, r1, r2 70005df4: 4313 orrs r3, r2 70005df6: f8c0 326c str.w r3, [r0, #620] @ 0x26c 70005dfa: e001 b.n 70005e00 if (optr_reg_mask != 0U) 70005dfc: 2a00 cmp r2, #0 70005dfe: d1f4 bne.n 70005dea if ((pOBInit->OptionType & OPTIONBYTE_HDP) != 0U) 70005e00: 0772 lsls r2, r6, #29 70005e02: d50b bpl.n 70005e1c { /* Check the parameters */ assert_param(IS_OB_HDP_PAGE(HDPStartPage)); assert_param(IS_OB_HDP_PAGE(HDPEndPage)); MODIFY_REG(FLASH->HDPSRP, (FLASH_HDPSRP_HDP_AREA_START | FLASH_HDPSRP_HDP_AREA_END), \ 70005e04: 4a14 ldr r2, [pc, #80] @ (70005e58 ) 70005e06: 69a1 ldr r1, [r4, #24] 70005e08: f8d2 3234 ldr.w r3, [r2, #564] @ 0x234 70005e0c: f003 23ff and.w r3, r3, #4278255360 @ 0xff00ff00 70005e10: 430b orrs r3, r1 70005e12: 69e1 ldr r1, [r4, #28] 70005e14: ea43 4301 orr.w r3, r3, r1, lsl #16 70005e18: f8c2 3234 str.w r3, [r2, #564] @ 0x234 if ((pOBInit->OptionType & OPTIONBYTE_NV) != 0U) 70005e1c: 0733 lsls r3, r6, #28 70005e1e: d508 bpl.n 70005e32 static void FLASH_OB_NVConfig(uint32_t NVState) { /* Check the parameter */ assert_param(IS_OB_NVSTATE(NVState)); MODIFY_REG(FLASH->NVSRP, FLASH_NVSRP_NVSTATE, NVState); 70005e20: 4a0d ldr r2, [pc, #52] @ (70005e58 ) 70005e22: 6a21 ldr r1, [r4, #32] 70005e24: f8d2 3204 ldr.w r3, [r2, #516] @ 0x204 70005e28: f023 03ff bic.w r3, r3, #255 @ 0xff 70005e2c: 430b orrs r3, r1 70005e2e: f8c2 3204 str.w r3, [r2, #516] @ 0x204 status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE); 70005e32: f44f 707a mov.w r0, #1000 @ 0x3e8 70005e36: f7ff fef3 bl 70005c20 CLEAR_BIT(FLASH->OPTCR, FLASH_OPTCR_PG_OPT); 70005e3a: 4a07 ldr r2, [pc, #28] @ (70005e58 ) 70005e3c: f8d2 3104 ldr.w r3, [r2, #260] @ 0x104 70005e40: f023 0302 bic.w r3, r3, #2 70005e44: f8c2 3104 str.w r3, [r2, #260] @ 0x104 __HAL_UNLOCK(&pFlash); 70005e48: 2300 movs r3, #0 70005e4a: 702b strb r3, [r5, #0] } 70005e4c: bdf8 pop {r3, r4, r5, r6, r7, pc} __HAL_LOCK(&pFlash); 70005e4e: 2002 movs r0, #2 70005e50: e7fc b.n 70005e4c 70005e52: bf00 nop 70005e54: 2400bf58 .word 0x2400bf58 70005e58: 52002000 .word 0x52002000 70005e5c : * * @retval None */ static void FLASH_OB_GetWRP(uint32_t *WRPState, uint32_t *WRPSector) { if ((FLASH->WRPSR & FLASH_WRPSR_WRPS) == FLASH_WRPSR_WRPS) 70005e5c: 4b16 ldr r3, [pc, #88] @ (70005eb8 ) 70005e5e: f8d3 2218 ldr.w r2, [r3, #536] @ 0x218 70005e62: b2d2 uxtb r2, r2 70005e64: 2aff cmp r2, #255 @ 0xff 70005e66: d11f bne.n 70005ea8 { /* All sectors aren't write protected */ *WRPState = OB_WRPSTATE_DISABLE; 70005e68: 2200 movs r2, #0 70005e6a: 6042 str r2, [r0, #4] * * @retval None */ static void FLASH_OB_GetUser(uint32_t *UserConfig1, uint32_t *UserConfig2) { *UserConfig1 = FLASH->OBW1SR; 70005e6c: f8d3 2260 ldr.w r2, [r3, #608] @ 0x260 70005e70: 6102 str r2, [r0, #16] *UserConfig2 = FLASH->OBW2SR; 70005e72: f8d3 2268 ldr.w r2, [r3, #616] @ 0x268 70005e76: 6142 str r2, [r0, #20] * * @retval None */ static void FLASH_OB_GetHDP(uint32_t *HDPStartPage, uint32_t *HDPEndPage) { *HDPStartPage = (FLASH->HDPSR & FLASH_HDPSR_HDP_AREA_START); 70005e78: f8d3 2230 ldr.w r2, [r3, #560] @ 0x230 70005e7c: b2d2 uxtb r2, r2 70005e7e: 6182 str r2, [r0, #24] *HDPEndPage = ((FLASH->HDPSR & FLASH_HDPSR_HDP_AREA_END) >> FLASH_HDPSR_HDP_AREA_END_Pos); 70005e80: f8d3 2230 ldr.w r2, [r3, #560] @ 0x230 70005e84: f3c2 4207 ubfx r2, r2, #16, #8 70005e88: 61c2 str r2, [r0, #28] * * @retval Value of Non-volatile state */ static uint32_t FLASH_OB_GetNV(void) { return (FLASH->NVSR & FLASH_NVSR_NVSTATE); 70005e8a: f8d3 2200 ldr.w r2, [r3, #512] @ 0x200 70005e8e: b2d2 uxtb r2, r2 pOBInit->NVState = FLASH_OB_GetNV(); 70005e90: 6202 str r2, [r0, #32] * * @retval Value of the RoT */ static uint32_t FLASH_OB_GetRoT(void) { return (FLASH->ROTSR & (FLASH_ROTSR_OEM_PROVD | FLASH_ROTSR_DBG_AUTH | FLASH_ROTSR_IROT_SELECT)); 70005e92: f8d3 2208 ldr.w r2, [r3, #520] @ 0x208 70005e96: f422 027f bic.w r2, r2, #16711680 @ 0xff0000 pOBInit->ROTConfig = FLASH_OB_GetRoT(); 70005e9a: 6242 str r2, [r0, #36] @ 0x24 * * @retval Value of the Epoch */ static uint32_t FLASH_OB_GetEpoch(void) { return (FLASH->EPOCHSR & FLASH_EPOCHSR_EPOCH); 70005e9c: f8d3 3250 ldr.w r3, [r3, #592] @ 0x250 70005ea0: f023 437f bic.w r3, r3, #4278190080 @ 0xff000000 pOBInit->EPOCH = FLASH_OB_GetEpoch(); 70005ea4: 6283 str r3, [r0, #40] @ 0x28 } 70005ea6: 4770 bx lr *WRPState = OB_WRPSTATE_ENABLE; 70005ea8: 2201 movs r2, #1 70005eaa: 6042 str r2, [r0, #4] *WRPSector = ((~(FLASH->WRPSR)) & FLASH_WRPSR_WRPS); 70005eac: f8d3 2218 ldr.w r2, [r3, #536] @ 0x218 70005eb0: 43d2 mvns r2, r2 70005eb2: b2d2 uxtb r2, r2 70005eb4: 6082 str r2, [r0, #8] 70005eb6: e7d9 b.n 70005e6c 70005eb8: 52002000 .word 0x52002000 70005ebc : * @param GPIO_Init pointer to a GPIO_InitTypeDef structure that contains * the configuration information for the specified GPIO peripheral. * @retval None */ void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, const GPIO_InitTypeDef *GPIO_Init) { 70005ebc: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} /* Configure the External Interrupt or event for the current IO */ if ((GPIO_Init->Mode & EXTI_MODE) != 0x00U) { temp = SBS->EXTICR[position >> 2U]; temp &= ~(0x0FuL << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); temp |= (GPIO_GET_INDEX(GPIOx) << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70005ec0: 4a4f ldr r2, [pc, #316] @ (70006000 ) uint32_t position = 0x00U; 70005ec2: 2300 movs r3, #0 temp &= ~(0x0FuL << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70005ec4: f04f 0a0f mov.w sl, #15 SBS->EXTICR[position >> 2U] = temp; /* Clear Rising Falling edge configuration */ temp = EXTI->RTSR1; 70005ec8: f04f 44b0 mov.w r4, #1476395008 @ 0x58000000 temp |= (GPIO_GET_INDEX(GPIOx) << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70005ecc: ea02 2290 and.w r2, r2, r0, lsr #10 70005ed0: 9201 str r2, [sp, #4] while (((GPIO_Init->Pin) >> position) != 0x00U) 70005ed2: 680a ldr r2, [r1, #0] 70005ed4: fa32 f503 lsrs.w r5, r2, r3 70005ed8: d102 bne.n 70005ee0 } } position++; } } 70005eda: b003 add sp, #12 70005edc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} iocurrent = (GPIO_Init->Pin) & (1UL << position); 70005ee0: 2501 movs r5, #1 70005ee2: fa05 f903 lsl.w r9, r5, r3 if (iocurrent != 0x00U) 70005ee6: ea19 0202 ands.w r2, r9, r2 70005eea: f000 8087 beq.w 70005ffc if (((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF)) 70005eee: 684e ldr r6, [r1, #4] temp &= ~(GPIO_OSPEEDR_OSPEED0 << (position * GPIO_OSPEEDR_OSPEED1_Pos)); 70005ef0: 2703 movs r7, #3 70005ef2: ea4f 0843 mov.w r8, r3, lsl #1 (((GPIO_Init->Mode & GPIO_MODE) == MODE_ANALOG) && (GPIO_Init->Pull != GPIO_PULLUP))) 70005ef6: f8d1 c008 ldr.w ip, [r1, #8] if (((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF)) 70005efa: f006 0503 and.w r5, r6, #3 temp &= ~(GPIO_OSPEEDR_OSPEED0 << (position * GPIO_OSPEEDR_OSPEED1_Pos)); 70005efe: fa07 fe08 lsl.w lr, r7, r8 if (((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF)) 70005f02: 1e6f subs r7, r5, #1 temp &= ~(GPIO_OSPEEDR_OSPEED0 << (position * GPIO_OSPEEDR_OSPEED1_Pos)); 70005f04: ea6f 0e0e mvn.w lr, lr if (((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF)) 70005f08: 2f01 cmp r7, #1 70005f0a: d831 bhi.n 70005f70 temp = GPIOx->OSPEEDR; 70005f0c: 6887 ldr r7, [r0, #8] temp &= ~(GPIO_OSPEEDR_OSPEED0 << (position * GPIO_OSPEEDR_OSPEED1_Pos)); 70005f0e: ea07 0b0e and.w fp, r7, lr temp |= (GPIO_Init->Speed << (position * GPIO_OSPEEDR_OSPEED1_Pos)); 70005f12: 68cf ldr r7, [r1, #12] 70005f14: fa07 f708 lsl.w r7, r7, r8 70005f18: ea47 070b orr.w r7, r7, fp GPIOx->OSPEEDR = temp; 70005f1c: 6087 str r7, [r0, #8] temp = GPIOx->OTYPER; 70005f1e: 6847 ldr r7, [r0, #4] temp &= ~(GPIO_OTYPER_OT0 << position) ; 70005f20: ea27 0909 bic.w r9, r7, r9 temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position); 70005f24: f3c6 1700 ubfx r7, r6, #4, #1 70005f28: 409f lsls r7, r3 70005f2a: ea47 0709 orr.w r7, r7, r9 GPIOx->OTYPER = temp; 70005f2e: 6047 str r7, [r0, #4] temp = GPIOx->PUPDR; 70005f30: 68c7 ldr r7, [r0, #12] temp |= ((GPIO_Init->Pull) << (position * GPIO_PUPDR_PUPD1_Pos)); 70005f32: fa0c fc08 lsl.w ip, ip, r8 if ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF) 70005f36: 2d02 cmp r5, #2 temp &= ~(GPIO_PUPDR_PUPD0 << (position * GPIO_PUPDR_PUPD1_Pos)); 70005f38: ea07 070e and.w r7, r7, lr temp |= ((GPIO_Init->Pull) << (position * GPIO_PUPDR_PUPD1_Pos)); 70005f3c: ea4c 0707 orr.w r7, ip, r7 GPIOx->PUPDR = temp; 70005f40: 60c7 str r7, [r0, #12] if ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF) 70005f42: d11a bne.n 70005f7a temp = GPIOx->AFR[position >> 3U]; 70005f44: ea4f 0cd3 mov.w ip, r3, lsr #3 temp &= ~(0xFuL << ((position & 0x07U) * GPIO_AFRL_AFSEL1_Pos)); 70005f48: f003 0907 and.w r9, r3, #7 70005f4c: eb00 0c8c add.w ip, r0, ip, lsl #2 70005f50: ea4f 0989 mov.w r9, r9, lsl #2 temp = GPIOx->AFR[position >> 3U]; 70005f54: f8dc 7020 ldr.w r7, [ip, #32] temp &= ~(0xFuL << ((position & 0x07U) * GPIO_AFRL_AFSEL1_Pos)); 70005f58: fa0a fb09 lsl.w fp, sl, r9 70005f5c: ea27 0b0b bic.w fp, r7, fp temp |= ((GPIO_Init->Alternate) << ((position & 0x07U) * GPIO_AFRL_AFSEL1_Pos)); 70005f60: 690f ldr r7, [r1, #16] 70005f62: fa07 f709 lsl.w r7, r7, r9 70005f66: ea47 070b orr.w r7, r7, fp GPIOx->AFR[position >> 3U] = temp; 70005f6a: f8cc 7020 str.w r7, [ip, #32] 70005f6e: e004 b.n 70005f7a if (((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG) || 70005f70: 2d03 cmp r5, #3 70005f72: d1dd bne.n 70005f30 70005f74: f1bc 0f01 cmp.w ip, #1 70005f78: d1da bne.n 70005f30 temp = GPIOx->MODER; 70005f7a: 6807 ldr r7, [r0, #0] temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * GPIO_MODER_MODE1_Pos)); 70005f7c: fa05 f508 lsl.w r5, r5, r8 if ((GPIO_Init->Mode & EXTI_MODE) != 0x00U) 70005f80: f416 3f40 tst.w r6, #196608 @ 0x30000 temp &= ~(GPIO_MODER_MODE0 << (position * GPIO_MODER_MODE1_Pos)); 70005f84: ea07 070e and.w r7, r7, lr temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * GPIO_MODER_MODE1_Pos)); 70005f88: ea45 0507 orr.w r5, r5, r7 GPIOx->MODER = temp; 70005f8c: 6005 str r5, [r0, #0] if ((GPIO_Init->Mode & EXTI_MODE) != 0x00U) 70005f8e: d035 beq.n 70005ffc temp = SBS->EXTICR[position >> 2U]; 70005f90: f023 0703 bic.w r7, r3, #3 temp &= ~(0x0FuL << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70005f94: f003 0503 and.w r5, r3, #3 if ((GPIO_Init->Mode & TRIGGER_RISING) != 0x00U) 70005f98: f416 1f80 tst.w r6, #1048576 @ 0x100000 70005f9c: f107 48b0 add.w r8, r7, #1476395008 @ 0x58000000 temp &= ~(0x0FuL << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70005fa0: ea4f 0585 mov.w r5, r5, lsl #2 temp |= (GPIO_GET_INDEX(GPIOx) << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70005fa4: 9f01 ldr r7, [sp, #4] temp = SBS->EXTICR[position >> 2U]; 70005fa6: f8d8 c530 ldr.w ip, [r8, #1328] @ 0x530 temp &= ~(0x0FuL << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70005faa: fa0a fe05 lsl.w lr, sl, r5 temp |= (GPIO_GET_INDEX(GPIOx) << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70005fae: fa07 f505 lsl.w r5, r7, r5 temp &= ~(iocurrent); 70005fb2: ea6f 0702 mvn.w r7, r2 temp &= ~(0x0FuL << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70005fb6: ea2c 0c0e bic.w ip, ip, lr temp |= (GPIO_GET_INDEX(GPIOx) << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70005fba: ea45 050c orr.w r5, r5, ip SBS->EXTICR[position >> 2U] = temp; 70005fbe: f8c8 5530 str.w r5, [r8, #1328] @ 0x530 temp = EXTI->RTSR1; 70005fc2: 6825 ldr r5, [r4, #0] temp &= ~(iocurrent); 70005fc4: bf0c ite eq 70005fc6: 403d andeq r5, r7 temp |= iocurrent; 70005fc8: 4315 orrne r5, r2 if ((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00U) 70005fca: f416 1f00 tst.w r6, #2097152 @ 0x200000 EXTI->RTSR1 = temp; 70005fce: 6025 str r5, [r4, #0] temp = EXTI->FTSR1; 70005fd0: 6865 ldr r5, [r4, #4] temp &= ~(iocurrent); 70005fd2: bf0c ite eq 70005fd4: 403d andeq r5, r7 temp |= iocurrent; 70005fd6: 4315 orrne r5, r2 if ((GPIO_Init->Mode & EXTI_EVT) != 0x00U) 70005fd8: f416 3f00 tst.w r6, #131072 @ 0x20000 EXTI->FTSR1 = temp; 70005fdc: 6065 str r5, [r4, #4] temp = EXTI->EMR1; 70005fde: f8d4 5084 ldr.w r5, [r4, #132] @ 0x84 temp &= ~(iocurrent); 70005fe2: bf0c ite eq 70005fe4: 403d andeq r5, r7 temp |= iocurrent; 70005fe6: 4315 orrne r5, r2 if ((GPIO_Init->Mode & EXTI_IT) != 0x00U) 70005fe8: 03f6 lsls r6, r6, #15 EXTI->EMR1 = temp; 70005fea: f8c4 5084 str.w r5, [r4, #132] @ 0x84 temp = EXTI->IMR1; 70005fee: f8d4 5080 ldr.w r5, [r4, #128] @ 0x80 temp &= ~(iocurrent); 70005ff2: bf54 ite pl 70005ff4: 403d andpl r5, r7 temp |= iocurrent; 70005ff6: 4315 orrmi r5, r2 EXTI->IMR1 = temp; 70005ff8: f8c4 5080 str.w r5, [r4, #128] @ 0x80 position++; 70005ffc: 3301 adds r3, #1 70005ffe: e768 b.n 70005ed2 70006000: 0029ff7f .word 0x0029ff7f 70006004 : * @param GPIO_Pin specifies the port bit to be written. * This parameter can be any combination of GPIO_Pin_x where x can be (0..15). * @retval None */ void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin) { 70006004: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} /*------------------------- EXTI Mode Configuration --------------------*/ /* Clear the External Interrupt or Event for the current IO */ tmp = SBS->EXTICR[position >> 2U]; tmp &= (0x0FuL << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); if (tmp == (GPIO_GET_INDEX(GPIOx) << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos))) 70006008: 4f31 ldr r7, [pc, #196] @ (700060d0 ) uint32_t position = 0x00U; 7000600a: 2300 movs r3, #0 iocurrent = (GPIO_Pin) & (1UL << position); 7000600c: f04f 0801 mov.w r8, #1 tmp &= (0x0FuL << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70006010: f04f 0e0f mov.w lr, #15 if (tmp == (GPIO_GET_INDEX(GPIOx) << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos))) 70006014: ea07 2790 and.w r7, r7, r0, lsr #10 SBS->EXTICR[position >> 2U] &= ~tmp; } /*------------------------- GPIO Mode Configuration --------------------*/ /* Configure IO in Analog Mode */ GPIOx->MODER |= (GPIO_MODER_MODE0 << (position * GPIO_MODER_MODE1_Pos)); 70006018: f04f 0903 mov.w r9, #3 EXTI->IMR1 &= ~(iocurrent); 7000601c: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 while ((GPIO_Pin >> position) != 0x00U) 70006020: fa31 f403 lsrs.w r4, r1, r3 70006024: d101 bne.n 7000602a GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPD0 << (position * GPIO_PUPDR_PUPD1_Pos)); } position++; } } 70006026: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} iocurrent = (GPIO_Pin) & (1UL << position); 7000602a: fa08 fc03 lsl.w ip, r8, r3 if (iocurrent != 0x00U) 7000602e: ea1c 0601 ands.w r6, ip, r1 70006032: d04b beq.n 700060cc tmp = SBS->EXTICR[position >> 2U]; 70006034: f023 0403 bic.w r4, r3, #3 tmp &= (0x0FuL << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70006038: f003 0503 and.w r5, r3, #3 7000603c: f104 44b0 add.w r4, r4, #1476395008 @ 0x58000000 70006040: 00ad lsls r5, r5, #2 tmp = SBS->EXTICR[position >> 2U]; 70006042: f8d4 a530 ldr.w sl, [r4, #1328] @ 0x530 tmp &= (0x0FuL << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70006046: fa0e fb05 lsl.w fp, lr, r5 if (tmp == (GPIO_GET_INDEX(GPIOx) << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos))) 7000604a: fa07 f505 lsl.w r5, r7, r5 7000604e: f504 6480 add.w r4, r4, #1024 @ 0x400 tmp &= (0x0FuL << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos)); 70006052: ea0b 0a0a and.w sl, fp, sl if (tmp == (GPIO_GET_INDEX(GPIOx) << ((position & 0x03U) * SBS_EXTICR1_PC_EXTI1_Pos))) 70006056: 4555 cmp r5, sl 70006058: d119 bne.n 7000608e EXTI->IMR1 &= ~(iocurrent); 7000605a: f8d2 5080 ldr.w r5, [r2, #128] @ 0x80 7000605e: ea25 0506 bic.w r5, r5, r6 70006062: f8c2 5080 str.w r5, [r2, #128] @ 0x80 EXTI->EMR1 &= ~(iocurrent); 70006066: f8d2 5084 ldr.w r5, [r2, #132] @ 0x84 7000606a: ea25 0506 bic.w r5, r5, r6 7000606e: f8c2 5084 str.w r5, [r2, #132] @ 0x84 EXTI->FTSR1 &= ~(iocurrent); 70006072: 6855 ldr r5, [r2, #4] 70006074: ea25 0506 bic.w r5, r5, r6 70006078: 6055 str r5, [r2, #4] EXTI->RTSR1 &= ~(iocurrent); 7000607a: 6815 ldr r5, [r2, #0] 7000607c: ea25 0506 bic.w r5, r5, r6 70006080: 6015 str r5, [r2, #0] SBS->EXTICR[position >> 2U] &= ~tmp; 70006082: f8d4 5130 ldr.w r5, [r4, #304] @ 0x130 70006086: ea25 050b bic.w r5, r5, fp 7000608a: f8c4 5130 str.w r5, [r4, #304] @ 0x130 GPIOx->MODER |= (GPIO_MODER_MODE0 << (position * GPIO_MODER_MODE1_Pos)); 7000608e: 005c lsls r4, r3, #1 70006090: 6805 ldr r5, [r0, #0] GPIOx->AFR[position >> 3U] &= ~(0xFuL << ((position & 0x07U) * GPIO_AFRL_AFSEL1_Pos)) ; 70006092: 08de lsrs r6, r3, #3 GPIOx->MODER |= (GPIO_MODER_MODE0 << (position * GPIO_MODER_MODE1_Pos)); 70006094: fa09 f404 lsl.w r4, r9, r4 70006098: eb00 0686 add.w r6, r0, r6, lsl #2 7000609c: 4325 orrs r5, r4 7000609e: 6005 str r5, [r0, #0] GPIOx->AFR[position >> 3U] &= ~(0xFuL << ((position & 0x07U) * GPIO_AFRL_AFSEL1_Pos)) ; 700060a0: f003 0507 and.w r5, r3, #7 700060a4: f8d6 a020 ldr.w sl, [r6, #32] 700060a8: 00ad lsls r5, r5, #2 700060aa: fa0e f505 lsl.w r5, lr, r5 700060ae: ea2a 0505 bic.w r5, sl, r5 700060b2: 6235 str r5, [r6, #32] GPIOx->OSPEEDR &= ~(GPIO_OSPEEDR_OSPEED0 << (position * GPIO_OSPEEDR_OSPEED1_Pos)); 700060b4: 6885 ldr r5, [r0, #8] 700060b6: ea25 0504 bic.w r5, r5, r4 700060ba: 6085 str r5, [r0, #8] GPIOx->OTYPER &= ~(GPIO_OTYPER_OT0 << position) ; 700060bc: 6845 ldr r5, [r0, #4] 700060be: ea25 050c bic.w r5, r5, ip 700060c2: 6045 str r5, [r0, #4] GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPD0 << (position * GPIO_PUPDR_PUPD1_Pos)); 700060c4: 68c5 ldr r5, [r0, #12] 700060c6: ea25 0404 bic.w r4, r5, r4 700060ca: 60c4 str r4, [r0, #12] position++; 700060cc: 3301 adds r3, #1 700060ce: e7a7 b.n 70006020 700060d0: 0029ff7f .word 0x0029ff7f 700060d4 : { /* Check the parameters */ assert_param(IS_GPIO_PIN(GPIO_Pin)); assert_param(IS_GPIO_PIN_ACTION(PinState)); if (PinState != GPIO_PIN_RESET) 700060d4: b10a cbz r2, 700060da { GPIOx->BSRR = (uint32_t)GPIO_Pin; 700060d6: 6181 str r1, [r0, #24] 700060d8: 4770 bx lr } else { GPIOx->BRR = (uint32_t)GPIO_Pin; 700060da: 6281 str r1, [r0, #40] @ 0x28 } } 700060dc: 4770 bx lr 700060de : /* Check the parameters */ assert_param(IS_GPIO_PIN(GPIO_Pin)); /* get current Output Data Register value */ odr = GPIOx->ODR; 700060de: 6943 ldr r3, [r0, #20] /* Set selected pins that were at low level, and reset ones that were high */ GPIOx->BSRR = ((odr & GPIO_Pin) << GPIO_NUMBER) | (~odr & GPIO_Pin); 700060e0: ea01 0203 and.w r2, r1, r3 700060e4: ea21 0103 bic.w r1, r1, r3 700060e8: ea41 4102 orr.w r1, r1, r2, lsl #16 700060ec: 6181 str r1, [r0, #24] } 700060ee: 4770 bx lr 700060f0 : * @retval None */ void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin) { /* EXTI line interrupt detected */ if (__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0U) 700060f0: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 700060f4: f8d2 1088 ldr.w r1, [r2, #136] @ 0x88 700060f8: 4201 tst r1, r0 { 700060fa: b508 push {r3, lr} if (__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0U) 700060fc: d003 beq.n 70006106 { __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); 700060fe: f8c2 0088 str.w r0, [r2, #136] @ 0x88 HAL_GPIO_EXTI_Callback(GPIO_Pin); 70006102: f7fb fb8f bl 70001824 } } 70006106: bd08 pop {r3, pc} 70006108 : * @param hgpu2d pointer to a GPU2D_HandleTypeDef structure that contains * the configuration information for the GPU2D. * @retval HAL status */ HAL_StatusTypeDef HAL_GPU2D_Init(GPU2D_HandleTypeDef *hgpu2d) { 70006108: b510 push {r4, lr} /* Check the GPU2D handle validity */ if (hgpu2d == NULL) 7000610a: 4604 mov r4, r0 7000610c: b170 cbz r0, 7000612c } /* Check the parameters */ assert_param(IS_GPU2D_ALL_INSTANCE(hgpu2d->Instance)); if (hgpu2d->State == HAL_GPU2D_STATE_RESET) 7000610e: 7943 ldrb r3, [r0, #5] 70006110: b93b cbnz r3, 70006122 /* Init the low level hardware */ hgpu2d->MspInitCallback(hgpu2d); #else /* USE_HAL_GPU2D_REGISTER_CALLBACKS = 0 */ /* Init the low level hardware */ HAL_GPU2D_MspInit(hgpu2d); 70006112: f7fa ffb9 bl 70001088 /* Reset the CommandListCpltCallback handler */ hgpu2d->CommandListCpltCallback = NULL; #endif /* USE_HAL_GPU2D_REGISTER_CALLBACKS = 1 */ /* Update error code */ hgpu2d->ErrorCode = HAL_GPU2D_ERROR_NONE; 70006116: 2000 movs r0, #0 /* Initialize the GPU2D state*/ hgpu2d->State = HAL_GPU2D_STATE_READY; 70006118: 2301 movs r3, #1 hgpu2d->ErrorCode = HAL_GPU2D_ERROR_NONE; 7000611a: 60a0 str r0, [r4, #8] /* Release Lock */ __HAL_UNLOCK(hgpu2d); 7000611c: 7120 strb r0, [r4, #4] hgpu2d->State = HAL_GPU2D_STATE_READY; 7000611e: 7163 strb r3, [r4, #5] return HAL_OK; } 70006120: bd10 pop {r4, pc} __HAL_LOCK(hgpu2d); 70006122: 7903 ldrb r3, [r0, #4] 70006124: 2b01 cmp r3, #1 70006126: d1f6 bne.n 70006116 70006128: 2002 movs r0, #2 7000612a: e7f9 b.n 70006120 return HAL_ERROR; 7000612c: 2001 movs r0, #1 7000612e: e7f7 b.n 70006120 70006130 : assert_param(IS_GPU2D_ALL_INSTANCE(hgpu2d->Instance)); assert_param(IS_GPU2D_OFFSET(offset)); /* No locking is required since reading a register is an atomic operation * and doesn't incur a state change in hal_gpu2d. */ value = GPU2D_ReadReg(hgpu2d->Instance, offset); 70006130: 6803 ldr r3, [r0, #0] 70006132: 58c8 ldr r0, [r1, r3] return value; } 70006134: 4770 bx lr 70006136 : assert_param(IS_GPU2D_ALL_INSTANCE(hgpu2d->Instance)); assert_param(IS_GPU2D_OFFSET(offset)); /* No locking is required since writing a register is an atomic operation * and doesn't incur a state change in hal_gpu2d. */ GPU2D_WriteReg(hgpu2d->Instance, offset, value); 70006136: 6803 ldr r3, [r0, #0] return HAL_OK; } 70006138: 2000 movs r0, #0 GPU2D_WriteReg(hgpu2d->Instance, offset, value); 7000613a: 50ca str r2, [r1, r3] } 7000613c: 4770 bx lr 7000613e : * the configuration information for the GPU2D. * @retval None */ void HAL_GPU2D_IRQHandler(GPU2D_HandleTypeDef *hgpu2d) { uint32_t isr_flags = GPU2D_ReadReg(hgpu2d->Instance, GPU2D_ITCTRL); 7000613e: 6802 ldr r2, [r0, #0] 70006140: f8d2 10f8 ldr.w r1, [r2, #248] @ 0xf8 /* Command List Complete Interrupt management */ if ((isr_flags & GPU2D_FLAG_CLC) != 0U) 70006144: 07c9 lsls r1, r1, #31 { 70006146: b508 push {r3, lr} if ((isr_flags & GPU2D_FLAG_CLC) != 0U) 70006148: d50a bpl.n 70006160 { uint32_t last_cl_id; /* Clear the completion flag */ __HAL_GPU2D_CLEAR_FLAG(hgpu2d, GPU2D_FLAG_CLC); 7000614a: f8d2 10f8 ldr.w r1, [r2, #248] @ 0xf8 7000614e: f021 0101 bic.w r1, r1, #1 70006152: f8c2 10f8 str.w r1, [r2, #248] @ 0xf8 last_cl_id = GPU2D_ReadReg(hgpu2d->Instance, GPU2D_CLID); 70006156: 6803 ldr r3, [r0, #0] 70006158: f8d3 1148 ldr.w r1, [r3, #328] @ 0x148 if (hgpu2d->CommandListCpltCallback != NULL) { hgpu2d->CommandListCpltCallback(hgpu2d, last_cl_id); } #else /* USE_HAL_GPU2D_REGISTER_CALLBACKS = 0 */ HAL_GPU2D_CommandListCpltCallback(hgpu2d, last_cl_id); 7000615c: f7fd fa56 bl 7000360c #endif /* USE_HAL_GPU2D_REGISTER_CALLBACKS = 1 */ } } 70006160: bd08 pop {r3, pc} 70006162 : * @param hgpu2d Pointer to a GPU2D_HandleTypeDef structure that contains * the configuration information for the GPU2D. * @retval None */ void HAL_GPU2D_ER_IRQHandler(GPU2D_HandleTypeDef *hgpu2d) { 70006162: b508 push {r3, lr} HAL_GPU2D_ErrorCallback(hgpu2d); 70006164: f7fd fa72 bl 7000364c } 70006168: bd08 pop {r3, pc} 7000616a : UNUSED(AddrMatchCode); /* NOTE : This function should not be modified, when the callback is needed, the HAL_I2C_AddrCallback() could be implemented in the user file */ } 7000616a: 4770 bx lr 7000616c : */ static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c) { /* If a pending TXIS flag is set */ /* Write a dummy data in TXDR to clear it */ if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET) 7000616c: 6803 ldr r3, [r0, #0] 7000616e: 699a ldr r2, [r3, #24] 70006170: 0791 lsls r1, r2, #30 70006172: d501 bpl.n 70006178 { hi2c->Instance->TXDR = 0x00U; 70006174: 2200 movs r2, #0 70006176: 629a str r2, [r3, #40] @ 0x28 } /* Flush TX register if not empty */ if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET) 70006178: 699a ldr r2, [r3, #24] 7000617a: 07d2 lsls r2, r2, #31 7000617c: d403 bmi.n 70006186 { __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE); 7000617e: 699a ldr r2, [r3, #24] 70006180: f042 0201 orr.w r2, r2, #1 70006184: 619a str r2, [r3, #24] } } 70006186: 4770 bx lr 70006188 : * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request. * @retval None */ static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t Mode, uint32_t Request) { 70006188: b530 push {r4, r5, lr} 7000618a: 9d03 ldr r5, [sp, #12] assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); assert_param(IS_TRANSFER_MODE(Mode)); assert_param(IS_TRANSFER_REQUEST(Request)); /* Declaration of tmp to prevent undefined behavior of volatile usage */ tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \ 7000618c: f3c1 0109 ubfx r1, r1, #0, #10 (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U)); /* update CR2 register */ MODIFY_REG(hi2c->Instance->CR2, \ 70006190: 6804 ldr r4, [r0, #0] tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \ 70006192: 432b orrs r3, r5 MODIFY_REG(hi2c->Instance->CR2, \ 70006194: 6860 ldr r0, [r4, #4] tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \ 70006196: ea43 4302 orr.w r3, r3, r2, lsl #16 MODIFY_REG(hi2c->Instance->CR2, \ 7000619a: 4a05 ldr r2, [pc, #20] @ (700061b0 ) tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \ 7000619c: 430b orrs r3, r1 MODIFY_REG(hi2c->Instance->CR2, \ 7000619e: ea42 5255 orr.w r2, r2, r5, lsr #21 tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \ 700061a2: f023 4300 bic.w r3, r3, #2147483648 @ 0x80000000 MODIFY_REG(hi2c->Instance->CR2, \ 700061a6: ea20 0002 bic.w r0, r0, r2 700061aa: 4303 orrs r3, r0 700061ac: 6063 str r3, [r4, #4] ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31U - I2C_CR2_RD_WRN_Pos))) | \ I2C_CR2_START | I2C_CR2_STOP)), tmp); } 700061ae: bd30 pop {r4, r5, pc} 700061b0: 03ff63ff .word 0x03ff63ff 700061b4 : { 700061b4: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} uint32_t itflag = hi2c->Instance->ISR; 700061b8: 6805 ldr r5, [r0, #0] { 700061ba: 4606 mov r6, r0 700061bc: 4688 mov r8, r1 700061be: 4617 mov r7, r2 uint32_t itflag = hi2c->Instance->ISR; 700061c0: 69ac ldr r4, [r5, #24] if (HAL_IS_BIT_SET(itflag, I2C_FLAG_AF)) 700061c2: f014 0410 ands.w r4, r4, #16 700061c6: d070 beq.n 700062aa uint32_t error_code = 0; 700061c8: 2400 movs r4, #0 __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 700061ca: 2310 movs r3, #16 HAL_StatusTypeDef status = HAL_OK; 700061cc: 46a1 mov r9, r4 __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 700061ce: 61eb str r3, [r5, #28] while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) && (status == HAL_OK)) 700061d0: 6835 ldr r5, [r6, #0] 700061d2: 69ab ldr r3, [r5, #24] 700061d4: 0698 lsls r0, r3, #26 700061d6: d462 bmi.n 7000629e 700061d8: f1b9 0f00 cmp.w r9, #0 700061dc: d034 beq.n 70006248 error_code |= HAL_I2C_ERROR_AF; 700061de: f044 0404 orr.w r4, r4, #4 status = HAL_ERROR; 700061e2: 2001 movs r0, #1 itflag = hi2c->Instance->ISR; 700061e4: 69ab ldr r3, [r5, #24] if (HAL_IS_BIT_SET(itflag, I2C_FLAG_BERR)) 700061e6: 05d9 lsls r1, r3, #23 700061e8: d505 bpl.n 700061f6 __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR); 700061ea: f44f 7280 mov.w r2, #256 @ 0x100 error_code |= HAL_I2C_ERROR_BERR; 700061ee: f044 0401 orr.w r4, r4, #1 status = HAL_ERROR; 700061f2: 2001 movs r0, #1 __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR); 700061f4: 61ea str r2, [r5, #28] if (HAL_IS_BIT_SET(itflag, I2C_FLAG_OVR)) 700061f6: 055a lsls r2, r3, #21 700061f8: d505 bpl.n 70006206 __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR); 700061fa: f44f 6280 mov.w r2, #1024 @ 0x400 error_code |= HAL_I2C_ERROR_OVR; 700061fe: f044 0408 orr.w r4, r4, #8 status = HAL_ERROR; 70006202: 2001 movs r0, #1 __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR); 70006204: 61ea str r2, [r5, #28] if (HAL_IS_BIT_SET(itflag, I2C_FLAG_ARLO)) 70006206: 059b lsls r3, r3, #22 70006208: d551 bpl.n 700062ae __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO); 7000620a: f44f 7300 mov.w r3, #512 @ 0x200 error_code |= HAL_I2C_ERROR_ARLO; 7000620e: f044 0402 orr.w r4, r4, #2 __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO); 70006212: 61eb str r3, [r5, #28] I2C_Flush_TXDR(hi2c); 70006214: 4630 mov r0, r6 70006216: f7ff ffa9 bl 7000616c I2C_RESET_CR2(hi2c); 7000621a: 686b ldr r3, [r5, #4] __HAL_UNLOCK(hi2c); 7000621c: 2001 movs r0, #1 I2C_RESET_CR2(hi2c); 7000621e: f023 73ff bic.w r3, r3, #33423360 @ 0x1fe0000 70006222: f423 338b bic.w r3, r3, #71168 @ 0x11600 70006226: f423 73ff bic.w r3, r3, #510 @ 0x1fe 7000622a: f023 0301 bic.w r3, r3, #1 7000622e: 606b str r3, [r5, #4] hi2c->ErrorCode |= error_code; 70006230: 6c73 ldr r3, [r6, #68] @ 0x44 70006232: 4323 orrs r3, r4 70006234: 6473 str r3, [r6, #68] @ 0x44 hi2c->State = HAL_I2C_STATE_READY; 70006236: 2320 movs r3, #32 70006238: f886 3041 strb.w r3, [r6, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_NONE; 7000623c: 2300 movs r3, #0 7000623e: f886 3042 strb.w r3, [r6, #66] @ 0x42 __HAL_UNLOCK(hi2c); 70006242: f886 3040 strb.w r3, [r6, #64] @ 0x40 70006246: e034 b.n 700062b2 if (Timeout != HAL_MAX_DELAY) 70006248: f1b8 3fff cmp.w r8, #4294967295 @ 0xffffffff 7000624c: d0c1 beq.n 700061d2 if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 7000624e: f7fe fb25 bl 7000489c 70006252: 1bc0 subs r0, r0, r7 70006254: 4540 cmp r0, r8 70006256: d802 bhi.n 7000625e 70006258: f1b8 0f00 cmp.w r8, #0 7000625c: d1b8 bne.n 700061d0 tmp1 = (uint32_t)(hi2c->Instance->CR2 & I2C_CR2_STOP); 7000625e: 6833 ldr r3, [r6, #0] 70006260: 6859 ldr r1, [r3, #4] tmp2 = hi2c->Mode; 70006262: f896 2042 ldrb.w r2, [r6, #66] @ 0x42 if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET) && \ 70006266: 6998 ldr r0, [r3, #24] tmp2 = hi2c->Mode; 70006268: b2d2 uxtb r2, r2 if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET) && \ 7000626a: 0400 lsls r0, r0, #16 7000626c: d50a bpl.n 70006284 7000626e: 0449 lsls r1, r1, #17 70006270: d408 bmi.n 70006284 (tmp1 != I2C_CR2_STOP) && \ 70006272: 2a20 cmp r2, #32 70006274: d006 beq.n 70006284 hi2c->Instance->CR2 |= I2C_CR2_STOP; 70006276: 685a ldr r2, [r3, #4] 70006278: f442 4280 orr.w r2, r2, #16384 @ 0x4000 7000627c: 605a str r2, [r3, #4] tickstart = HAL_GetTick(); 7000627e: f7fe fb0d bl 7000489c 70006282: 4607 mov r7, r0 while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) 70006284: 6833 ldr r3, [r6, #0] 70006286: 699b ldr r3, [r3, #24] 70006288: 069d lsls r5, r3, #26 7000628a: d4a1 bmi.n 700061d0 if ((HAL_GetTick() - tickstart) > I2C_TIMEOUT_STOPF) 7000628c: f7fe fb06 bl 7000489c 70006290: 1bc0 subs r0, r0, r7 70006292: 2819 cmp r0, #25 70006294: d9f6 bls.n 70006284 error_code |= HAL_I2C_ERROR_TIMEOUT; 70006296: 2420 movs r4, #32 status = HAL_ERROR; 70006298: f04f 0901 mov.w r9, #1 7000629c: e798 b.n 700061d0 if (status == HAL_OK) 7000629e: f1b9 0f00 cmp.w r9, #0 700062a2: d19c bne.n 700061de __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 700062a4: 2320 movs r3, #32 700062a6: 61eb str r3, [r5, #28] 700062a8: e799 b.n 700061de HAL_StatusTypeDef status = HAL_OK; 700062aa: 4620 mov r0, r4 700062ac: e79a b.n 700061e4 if (status != HAL_OK) 700062ae: 2800 cmp r0, #0 700062b0: d1b0 bne.n 70006214 } 700062b2: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 700062b6 : { 700062b6: b570 push {r4, r5, r6, lr} 700062b8: 4604 mov r4, r0 700062ba: 460d mov r5, r1 700062bc: 4616 mov r6, r2 while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET) 700062be: 6823 ldr r3, [r4, #0] 700062c0: 699b ldr r3, [r3, #24] 700062c2: 079b lsls r3, r3, #30 700062c4: d501 bpl.n 700062ca return HAL_OK; 700062c6: 2000 movs r0, #0 700062c8: e01f b.n 7000630a if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK) 700062ca: 4632 mov r2, r6 700062cc: 4629 mov r1, r5 700062ce: 4620 mov r0, r4 700062d0: f7ff ff70 bl 700061b4 700062d4: b9c0 cbnz r0, 70006308 if (Timeout != HAL_MAX_DELAY) 700062d6: 1c6a adds r2, r5, #1 700062d8: d0f1 beq.n 700062be if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 700062da: f7fe fadf bl 7000489c 700062de: 1b80 subs r0, r0, r6 700062e0: 42a8 cmp r0, r5 700062e2: d801 bhi.n 700062e8 700062e4: 2d00 cmp r5, #0 700062e6: d1ea bne.n 700062be if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET) 700062e8: 6823 ldr r3, [r4, #0] 700062ea: 699b ldr r3, [r3, #24] 700062ec: f013 0302 ands.w r3, r3, #2 700062f0: d1e5 bne.n 700062be hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 700062f2: 6c62 ldr r2, [r4, #68] @ 0x44 __HAL_UNLOCK(hi2c); 700062f4: f884 3040 strb.w r3, [r4, #64] @ 0x40 hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 700062f8: f042 0220 orr.w r2, r2, #32 700062fc: 6462 str r2, [r4, #68] @ 0x44 hi2c->State = HAL_I2C_STATE_READY; 700062fe: 2220 movs r2, #32 70006300: f884 2041 strb.w r2, [r4, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_NONE; 70006304: f884 3042 strb.w r3, [r4, #66] @ 0x42 return HAL_ERROR; 70006308: 2001 movs r0, #1 } 7000630a: bd70 pop {r4, r5, r6, pc} 7000630c : { 7000630c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70006310: f8dd 8018 ldr.w r8, [sp, #24] 70006314: 4604 mov r4, r0 70006316: 460f mov r7, r1 70006318: 4616 mov r6, r2 7000631a: 461d mov r5, r3 while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) 7000631c: 6823 ldr r3, [r4, #0] 7000631e: 699b ldr r3, [r3, #24] 70006320: ea37 0303 bics.w r3, r7, r3 70006324: bf0c ite eq 70006326: 2301 moveq r3, #1 70006328: 2300 movne r3, #0 7000632a: 42b3 cmp r3, r6 7000632c: d001 beq.n 70006332 return HAL_OK; 7000632e: 2000 movs r0, #0 70006330: e025 b.n 7000637e if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK) 70006332: 4642 mov r2, r8 70006334: 4629 mov r1, r5 70006336: 4620 mov r0, r4 70006338: f7ff ff3c bl 700061b4 7000633c: b9f0 cbnz r0, 7000637c if (Timeout != HAL_MAX_DELAY) 7000633e: 1c6b adds r3, r5, #1 70006340: d0ec beq.n 7000631c if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 70006342: f7fe faab bl 7000489c 70006346: eba0 0008 sub.w r0, r0, r8 7000634a: 42a8 cmp r0, r5 7000634c: d801 bhi.n 70006352 7000634e: 2d00 cmp r5, #0 70006350: d1e4 bne.n 7000631c if (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) 70006352: 6823 ldr r3, [r4, #0] 70006354: 699b ldr r3, [r3, #24] 70006356: ea37 0303 bics.w r3, r7, r3 7000635a: bf0c ite eq 7000635c: 2301 moveq r3, #1 7000635e: 2300 movne r3, #0 70006360: 42b3 cmp r3, r6 70006362: d1db bne.n 7000631c hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 70006364: 6c63 ldr r3, [r4, #68] @ 0x44 70006366: f043 0320 orr.w r3, r3, #32 7000636a: 6463 str r3, [r4, #68] @ 0x44 hi2c->State = HAL_I2C_STATE_READY; 7000636c: 2320 movs r3, #32 7000636e: f884 3041 strb.w r3, [r4, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_NONE; 70006372: 2300 movs r3, #0 70006374: f884 3042 strb.w r3, [r4, #66] @ 0x42 __HAL_UNLOCK(hi2c); 70006378: f884 3040 strb.w r3, [r4, #64] @ 0x40 return HAL_ERROR; 7000637c: 2001 movs r0, #1 } 7000637e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 70006382 : { 70006382: b570 push {r4, r5, r6, lr} 70006384: 4604 mov r4, r0 70006386: 460d mov r5, r1 70006388: 4616 mov r6, r2 while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) 7000638a: 6823 ldr r3, [r4, #0] 7000638c: 699b ldr r3, [r3, #24] 7000638e: 069b lsls r3, r3, #26 70006390: d501 bpl.n 70006396 return HAL_OK; 70006392: 2000 movs r0, #0 70006394: e01d b.n 700063d2 if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK) 70006396: 4632 mov r2, r6 70006398: 4629 mov r1, r5 7000639a: 4620 mov r0, r4 7000639c: f7ff ff0a bl 700061b4 700063a0: b9b0 cbnz r0, 700063d0 if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 700063a2: f7fe fa7b bl 7000489c 700063a6: 1b80 subs r0, r0, r6 700063a8: 42a8 cmp r0, r5 700063aa: d801 bhi.n 700063b0 700063ac: 2d00 cmp r5, #0 700063ae: d1ec bne.n 7000638a if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) 700063b0: 6823 ldr r3, [r4, #0] 700063b2: 699b ldr r3, [r3, #24] 700063b4: f013 0320 ands.w r3, r3, #32 700063b8: d1e7 bne.n 7000638a hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 700063ba: 6c62 ldr r2, [r4, #68] @ 0x44 __HAL_UNLOCK(hi2c); 700063bc: f884 3040 strb.w r3, [r4, #64] @ 0x40 hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 700063c0: f042 0220 orr.w r2, r2, #32 700063c4: 6462 str r2, [r4, #68] @ 0x44 hi2c->State = HAL_I2C_STATE_READY; 700063c6: 2220 movs r2, #32 700063c8: f884 2041 strb.w r2, [r4, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_NONE; 700063cc: f884 3042 strb.w r3, [r4, #66] @ 0x42 return HAL_ERROR; 700063d0: 2001 movs r0, #1 } 700063d2: bd70 pop {r4, r5, r6, pc} 700063d4 : __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c) 700063d4: 4770 bx lr 700063d6 : __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c) 700063d6: 4770 bx lr 700063d8 : __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c) 700063d8: 4770 bx lr 700063da : __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c) 700063da: 4770 bx lr 700063dc : __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c) 700063dc: 4770 bx lr 700063de : __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c) 700063de: 4770 bx lr 700063e0 : __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c) 700063e0: 4770 bx lr 700063e2 : __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c) 700063e2: 4770 bx lr 700063e4 : __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c) 700063e4: 4770 bx lr ... 700063e8 : { 700063e8: b510 push {r4, lr} if (hi2c == NULL) 700063ea: 4604 mov r4, r0 700063ec: 2800 cmp r0, #0 700063ee: d066 beq.n 700064be if (hi2c->State == HAL_I2C_STATE_RESET) 700063f0: f890 3041 ldrb.w r3, [r0, #65] @ 0x41 700063f4: f003 02ff and.w r2, r3, #255 @ 0xff 700063f8: b9db cbnz r3, 70006432 hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback */ 700063fa: 4b32 ldr r3, [pc, #200] @ (700064c4 ) hi2c->Lock = HAL_UNLOCKED; 700063fc: f880 2040 strb.w r2, [r0, #64] @ 0x40 hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback */ 70006400: 6543 str r3, [r0, #84] @ 0x54 hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback */ 70006402: 4b31 ldr r3, [pc, #196] @ (700064c8 ) 70006404: 6583 str r3, [r0, #88] @ 0x58 hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallback */ 70006406: 4b31 ldr r3, [pc, #196] @ (700064cc ) 70006408: 65c3 str r3, [r0, #92] @ 0x5c hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallback */ 7000640a: 4b31 ldr r3, [pc, #196] @ (700064d0 ) 7000640c: 6603 str r3, [r0, #96] @ 0x60 hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallback */ 7000640e: 4b31 ldr r3, [pc, #196] @ (700064d4 ) 70006410: 6643 str r3, [r0, #100] @ 0x64 hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback */ 70006412: 4b31 ldr r3, [pc, #196] @ (700064d8 ) 70006414: 6683 str r3, [r0, #104] @ 0x68 hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback */ 70006416: 4b31 ldr r3, [pc, #196] @ (700064dc ) 70006418: 66c3 str r3, [r0, #108] @ 0x6c hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback */ 7000641a: 4b31 ldr r3, [pc, #196] @ (700064e0 ) 7000641c: 6703 str r3, [r0, #112] @ 0x70 hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback */ 7000641e: 4b31 ldr r3, [pc, #196] @ (700064e4 ) 70006420: 6743 str r3, [r0, #116] @ 0x74 hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */ 70006422: 4b31 ldr r3, [pc, #196] @ (700064e8 ) 70006424: 6783 str r3, [r0, #120] @ 0x78 if (hi2c->MspInitCallback == NULL) 70006426: 6fc3 ldr r3, [r0, #124] @ 0x7c 70006428: b90b cbnz r3, 7000642e hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit */ 7000642a: 4b30 ldr r3, [pc, #192] @ (700064ec ) 7000642c: 67c3 str r3, [r0, #124] @ 0x7c hi2c->MspInitCallback(hi2c); 7000642e: 4620 mov r0, r4 70006430: 4798 blx r3 hi2c->State = HAL_I2C_STATE_BUSY; 70006432: 2324 movs r3, #36 @ 0x24 70006434: f884 3041 strb.w r3, [r4, #65] @ 0x41 __HAL_I2C_DISABLE(hi2c); 70006438: 6823 ldr r3, [r4, #0] 7000643a: 681a ldr r2, [r3, #0] 7000643c: f022 0201 bic.w r2, r2, #1 70006440: 601a str r2, [r3, #0] hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK; 70006442: 6862 ldr r2, [r4, #4] 70006444: f022 6270 bic.w r2, r2, #251658240 @ 0xf000000 70006448: 611a str r2, [r3, #16] hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN; 7000644a: 689a ldr r2, [r3, #8] 7000644c: f422 4200 bic.w r2, r2, #32768 @ 0x8000 70006450: 609a str r2, [r3, #8] hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1); 70006452: e9d4 2102 ldrd r2, r1, [r4, #8] if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT) 70006456: 2901 cmp r1, #1 70006458: d106 bne.n 70006468 hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1); 7000645a: f442 4200 orr.w r2, r2, #32768 @ 0x8000 7000645e: 609a str r2, [r3, #8] CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_ADD10); 70006460: 685a ldr r2, [r3, #4] 70006462: f422 6200 bic.w r2, r2, #2048 @ 0x800 70006466: e007 b.n 70006478 hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1); 70006468: f442 4204 orr.w r2, r2, #33792 @ 0x8400 if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) 7000646c: 2902 cmp r1, #2 hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1); 7000646e: 609a str r2, [r3, #8] if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) 70006470: d1f6 bne.n 70006460 SET_BIT(hi2c->Instance->CR2, I2C_CR2_ADD10); 70006472: 685a ldr r2, [r3, #4] 70006474: f442 6200 orr.w r2, r2, #2048 @ 0x800 CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_ADD10); 70006478: 605a str r2, [r3, #4] hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7000647a: 2000 movs r0, #0 hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK); 7000647c: 685a ldr r2, [r3, #4] 7000647e: f042 7200 orr.w r2, r2, #33554432 @ 0x2000000 70006482: f442 4200 orr.w r2, r2, #32768 @ 0x8000 70006486: 605a str r2, [r3, #4] hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE; 70006488: 68da ldr r2, [r3, #12] 7000648a: f422 4200 bic.w r2, r2, #32768 @ 0x8000 7000648e: 60da str r2, [r3, #12] hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | \ 70006490: e9d4 2104 ldrd r2, r1, [r4, #16] 70006494: 430a orrs r2, r1 (hi2c->Init.OwnAddress2Masks << 8)); 70006496: 69a1 ldr r1, [r4, #24] hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | \ 70006498: ea42 2201 orr.w r2, r2, r1, lsl #8 7000649c: 60da str r2, [r3, #12] hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode); 7000649e: e9d4 2107 ldrd r2, r1, [r4, #28] 700064a2: 430a orrs r2, r1 700064a4: 601a str r2, [r3, #0] __HAL_I2C_ENABLE(hi2c); 700064a6: 681a ldr r2, [r3, #0] 700064a8: f042 0201 orr.w r2, r2, #1 700064ac: 601a str r2, [r3, #0] hi2c->State = HAL_I2C_STATE_READY; 700064ae: 2320 movs r3, #32 hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 700064b0: 6460 str r0, [r4, #68] @ 0x44 hi2c->State = HAL_I2C_STATE_READY; 700064b2: f884 3041 strb.w r3, [r4, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_NONE; 700064b6: 6320 str r0, [r4, #48] @ 0x30 hi2c->Mode = HAL_I2C_MODE_NONE; 700064b8: f884 0042 strb.w r0, [r4, #66] @ 0x42 } 700064bc: bd10 pop {r4, pc} return HAL_ERROR; 700064be: 2001 movs r0, #1 700064c0: e7fc b.n 700064bc 700064c2: bf00 nop 700064c4: 700063d5 .word 0x700063d5 700064c8: 700063d7 .word 0x700063d7 700064cc: 700063d9 .word 0x700063d9 700064d0: 700063db .word 0x700063db 700064d4: 700063dd .word 0x700063dd 700064d8: 700063df .word 0x700063df 700064dc: 700063e1 .word 0x700063e1 700064e0: 700063e3 .word 0x700063e3 700064e4: 700063e5 .word 0x700063e5 700064e8: 7000616b .word 0x7000616b 700064ec: 700010dd .word 0x700010dd 700064f0 : { 700064f0: b510 push {r4, lr} if (hi2c == NULL) 700064f2: 4604 mov r4, r0 700064f4: b1c8 cbz r0, 7000652a hi2c->State = HAL_I2C_STATE_BUSY; 700064f6: 2324 movs r3, #36 @ 0x24 __HAL_I2C_DISABLE(hi2c); 700064f8: 6802 ldr r2, [r0, #0] hi2c->State = HAL_I2C_STATE_BUSY; 700064fa: f880 3041 strb.w r3, [r0, #65] @ 0x41 __HAL_I2C_DISABLE(hi2c); 700064fe: 6813 ldr r3, [r2, #0] 70006500: f023 0301 bic.w r3, r3, #1 70006504: 6013 str r3, [r2, #0] if (hi2c->MspDeInitCallback == NULL) 70006506: f8d0 3080 ldr.w r3, [r0, #128] @ 0x80 7000650a: b913 cbnz r3, 70006512 hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */ 7000650c: 4b08 ldr r3, [pc, #32] @ (70006530 ) 7000650e: f8c0 3080 str.w r3, [r0, #128] @ 0x80 hi2c->MspDeInitCallback(hi2c); 70006512: 4620 mov r0, r4 70006514: 4798 blx r3 hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 70006516: 2000 movs r0, #0 70006518: 6460 str r0, [r4, #68] @ 0x44 __HAL_UNLOCK(hi2c); 7000651a: f884 0040 strb.w r0, [r4, #64] @ 0x40 hi2c->State = HAL_I2C_STATE_RESET; 7000651e: f884 0041 strb.w r0, [r4, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_NONE; 70006522: 6320 str r0, [r4, #48] @ 0x30 hi2c->Mode = HAL_I2C_MODE_NONE; 70006524: f884 0042 strb.w r0, [r4, #66] @ 0x42 } 70006528: bd10 pop {r4, pc} return HAL_ERROR; 7000652a: 2001 movs r0, #1 7000652c: e7fc b.n 70006528 7000652e: bf00 nop 70006530: 70001169 .word 0x70001169 70006534 : if (pCallback == NULL) 70006534: b92a cbnz r2, 70006542 hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 70006536: 6c43 ldr r3, [r0, #68] @ 0x44 70006538: f443 7380 orr.w r3, r3, #256 @ 0x100 7000653c: 6443 str r3, [r0, #68] @ 0x44 return HAL_ERROR; 7000653e: 2001 movs r0, #1 } 70006540: 4770 bx lr if (HAL_I2C_STATE_READY == hi2c->State) 70006542: f890 3041 ldrb.w r3, [r0, #65] @ 0x41 70006546: 2b20 cmp r3, #32 70006548: d11e bne.n 70006588 switch (CallbackID) 7000654a: 290a cmp r1, #10 7000654c: d8f3 bhi.n 70006536 7000654e: e8df f001 tbb [pc, r1] 70006552: 0906 .short 0x0906 70006554: 110f0d0b .word 0x110f0d0b 70006558: 19171513 .word 0x19171513 7000655c: 23 .byte 0x23 7000655d: 00 .byte 0x00 hi2c->MasterTxCpltCallback = pCallback; 7000655e: 6542 str r2, [r0, #84] @ 0x54 HAL_StatusTypeDef status = HAL_OK; 70006560: 2000 movs r0, #0 70006562: 4770 bx lr hi2c->MasterRxCpltCallback = pCallback; 70006564: 6582 str r2, [r0, #88] @ 0x58 break; 70006566: e7fb b.n 70006560 hi2c->SlaveTxCpltCallback = pCallback; 70006568: 65c2 str r2, [r0, #92] @ 0x5c break; 7000656a: e7f9 b.n 70006560 hi2c->SlaveRxCpltCallback = pCallback; 7000656c: 6602 str r2, [r0, #96] @ 0x60 break; 7000656e: e7f7 b.n 70006560 hi2c->ListenCpltCallback = pCallback; 70006570: 6642 str r2, [r0, #100] @ 0x64 break; 70006572: e7f5 b.n 70006560 hi2c->MemTxCpltCallback = pCallback; 70006574: 6682 str r2, [r0, #104] @ 0x68 break; 70006576: e7f3 b.n 70006560 hi2c->MemRxCpltCallback = pCallback; 70006578: 66c2 str r2, [r0, #108] @ 0x6c break; 7000657a: e7f1 b.n 70006560 hi2c->ErrorCallback = pCallback; 7000657c: 6702 str r2, [r0, #112] @ 0x70 break; 7000657e: e7ef b.n 70006560 hi2c->AbortCpltCallback = pCallback; 70006580: 6742 str r2, [r0, #116] @ 0x74 break; 70006582: e7ed b.n 70006560 hi2c->MspInitCallback = pCallback; 70006584: 67c2 str r2, [r0, #124] @ 0x7c break; 70006586: e7eb b.n 70006560 else if (HAL_I2C_STATE_RESET == hi2c->State) 70006588: f890 3041 ldrb.w r3, [r0, #65] @ 0x41 7000658c: 2b00 cmp r3, #0 7000658e: d1d2 bne.n 70006536 switch (CallbackID) 70006590: 2909 cmp r1, #9 70006592: d0f7 beq.n 70006584 70006594: 290a cmp r1, #10 70006596: d1ce bne.n 70006536 hi2c->MspDeInitCallback = pCallback; 70006598: f8c0 2080 str.w r2, [r0, #128] @ 0x80 break; 7000659c: e7e0 b.n 70006560 ... 700065a0 : { 700065a0: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} 700065a4: 4699 mov r9, r3 if (hi2c->State == HAL_I2C_STATE_READY) 700065a6: f890 3041 ldrb.w r3, [r0, #65] @ 0x41 { 700065aa: 4604 mov r4, r0 700065ac: 460f mov r7, r1 if (hi2c->State == HAL_I2C_STATE_READY) 700065ae: 2b20 cmp r3, #32 { 700065b0: 4616 mov r6, r2 700065b2: f8bd a034 ldrh.w sl, [sp, #52] @ 0x34 700065b6: f8dd 8038 ldr.w r8, [sp, #56] @ 0x38 if (hi2c->State == HAL_I2C_STATE_READY) 700065ba: f040 80c6 bne.w 7000674a if ((pData == NULL) || (Size == 0U)) 700065be: 9b0c ldr r3, [sp, #48] @ 0x30 700065c0: b113 cbz r3, 700065c8 700065c2: f1ba 0f00 cmp.w sl, #0 700065c6: d106 bne.n 700065d6 hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 700065c8: f44f 7300 mov.w r3, #512 @ 0x200 700065cc: 6463 str r3, [r4, #68] @ 0x44 return HAL_ERROR; 700065ce: 2001 movs r0, #1 } 700065d0: b003 add sp, #12 700065d2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} __HAL_LOCK(hi2c); 700065d6: f890 3040 ldrb.w r3, [r0, #64] @ 0x40 700065da: 2b01 cmp r3, #1 700065dc: f000 80b5 beq.w 7000674a 700065e0: f04f 0b01 mov.w fp, #1 700065e4: f880 b040 strb.w fp, [r0, #64] @ 0x40 tickstart = HAL_GetTick(); 700065e8: f7fe f958 bl 7000489c if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK) 700065ec: 2319 movs r3, #25 tickstart = HAL_GetTick(); 700065ee: 4605 mov r5, r0 if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK) 700065f0: 9000 str r0, [sp, #0] 700065f2: 465a mov r2, fp 700065f4: f44f 4100 mov.w r1, #32768 @ 0x8000 700065f8: 4620 mov r0, r4 700065fa: f7ff fe87 bl 7000630c 700065fe: 2800 cmp r0, #0 70006600: d1e5 bne.n 700065ce hi2c->State = HAL_I2C_STATE_BUSY_TX; 70006602: 2321 movs r3, #33 @ 0x21 hi2c->XferISR = NULL; 70006604: 6360 str r0, [r4, #52] @ 0x34 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRITE); 70006606: fa5f f289 uxtb.w r2, r9 7000660a: 4639 mov r1, r7 hi2c->State = HAL_I2C_STATE_BUSY_TX; 7000660c: f884 3041 strb.w r3, [r4, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_MEM; 70006610: 2340 movs r3, #64 @ 0x40 70006612: f884 3042 strb.w r3, [r4, #66] @ 0x42 hi2c->pBuffPtr = pData; 70006616: 9b0c ldr r3, [sp, #48] @ 0x30 hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 70006618: 6460 str r0, [r4, #68] @ 0x44 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRITE); 7000661a: 4620 mov r0, r4 hi2c->pBuffPtr = pData; 7000661c: 6263 str r3, [r4, #36] @ 0x24 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRITE); 7000661e: 4b4c ldr r3, [pc, #304] @ (70006750 ) hi2c->XferCount = Size; 70006620: f8a4 a02a strh.w sl, [r4, #42] @ 0x2a I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRITE); 70006624: 9300 str r3, [sp, #0] 70006626: f04f 7380 mov.w r3, #16777216 @ 0x1000000 7000662a: f7ff fdad bl 70006188 if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 7000662e: 462a mov r2, r5 70006630: 4641 mov r1, r8 70006632: 4620 mov r0, r4 70006634: f7ff fe3f bl 700062b6 70006638: bb18 cbnz r0, 70006682 if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 7000663a: f1b9 0f01 cmp.w r9, #1 hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 7000663e: 6823 ldr r3, [r4, #0] if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 70006640: d115 bne.n 7000666e hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 70006642: b2f6 uxtb r6, r6 if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK) 70006644: 2200 movs r2, #0 70006646: 2180 movs r1, #128 @ 0x80 70006648: 4620 mov r0, r4 hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 7000664a: 629e str r6, [r3, #40] @ 0x28 if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK) 7000664c: 4643 mov r3, r8 7000664e: 9500 str r5, [sp, #0] 70006650: f7ff fe5c bl 7000630c 70006654: b9a8 cbnz r0, 70006682 if (hi2c->XferCount > MAX_NBYTE_SIZE) 70006656: 8d63 ldrh r3, [r4, #42] @ 0x2a 70006658: b29b uxth r3, r3 7000665a: 2bff cmp r3, #255 @ 0xff 7000665c: d815 bhi.n 7000668a hi2c->XferSize = hi2c->XferCount; 7000665e: 8d62 ldrh r2, [r4, #42] @ 0x2a I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 70006660: f04f 7300 mov.w r3, #33554432 @ 0x2000000 hi2c->XferSize = hi2c->XferCount; 70006664: b292 uxth r2, r2 70006666: 8522 strh r2, [r4, #40] @ 0x28 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 70006668: b2d2 uxtb r2, r2 7000666a: 9000 str r0, [sp, #0] 7000666c: e012 b.n 70006694 hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 7000666e: 0a32 lsrs r2, r6, #8 if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 70006670: 4641 mov r1, r8 70006672: 4620 mov r0, r4 hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 70006674: 629a str r2, [r3, #40] @ 0x28 if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 70006676: 462a mov r2, r5 70006678: f7ff fe1d bl 700062b6 7000667c: b908 cbnz r0, 70006682 hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 7000667e: 6823 ldr r3, [r4, #0] 70006680: e7df b.n 70006642 __HAL_UNLOCK(hi2c); 70006682: 2300 movs r3, #0 70006684: f884 3040 strb.w r3, [r4, #64] @ 0x40 return HAL_ERROR; 70006688: e7a1 b.n 700065ce hi2c->XferSize = MAX_NBYTE_SIZE; 7000668a: 22ff movs r2, #255 @ 0xff I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 7000668c: f04f 7380 mov.w r3, #16777216 @ 0x1000000 hi2c->XferSize = MAX_NBYTE_SIZE; 70006690: 8522 strh r2, [r4, #40] @ 0x28 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 70006692: 9000 str r0, [sp, #0] I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 70006694: 4639 mov r1, r7 70006696: 4620 mov r0, r4 70006698: f7ff fd76 bl 70006188 if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 7000669c: 462a mov r2, r5 7000669e: 4641 mov r1, r8 700066a0: 4620 mov r0, r4 700066a2: f7ff fe08 bl 700062b6 700066a6: 2800 cmp r0, #0 700066a8: d191 bne.n 700065ce hi2c->Instance->TXDR = *hi2c->pBuffPtr; 700066aa: 6a63 ldr r3, [r4, #36] @ 0x24 700066ac: 6822 ldr r2, [r4, #0] 700066ae: f813 1b01 ldrb.w r1, [r3], #1 700066b2: 6291 str r1, [r2, #40] @ 0x28 hi2c->pBuffPtr++; 700066b4: 6263 str r3, [r4, #36] @ 0x24 hi2c->XferCount--; 700066b6: 8d63 ldrh r3, [r4, #42] @ 0x2a hi2c->XferSize--; 700066b8: 8d22 ldrh r2, [r4, #40] @ 0x28 hi2c->XferCount--; 700066ba: 3b01 subs r3, #1 hi2c->XferSize--; 700066bc: 3a01 subs r2, #1 hi2c->XferCount--; 700066be: b29b uxth r3, r3 hi2c->XferSize--; 700066c0: b292 uxth r2, r2 hi2c->XferCount--; 700066c2: 8563 strh r3, [r4, #42] @ 0x2a if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 700066c4: 8d63 ldrh r3, [r4, #42] @ 0x2a hi2c->XferSize--; 700066c6: 8522 strh r2, [r4, #40] @ 0x28 if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 700066c8: b29b uxth r3, r3 700066ca: b1b3 cbz r3, 700066fa 700066cc: b9aa cbnz r2, 700066fa if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) 700066ce: 4643 mov r3, r8 700066d0: 2180 movs r1, #128 @ 0x80 700066d2: 4620 mov r0, r4 700066d4: 9500 str r5, [sp, #0] 700066d6: f7ff fe19 bl 7000630c 700066da: 2800 cmp r0, #0 700066dc: f47f af77 bne.w 700065ce if (hi2c->XferCount > MAX_NBYTE_SIZE) 700066e0: 8d63 ldrh r3, [r4, #42] @ 0x2a 700066e2: b29b uxth r3, r3 700066e4: 2bff cmp r3, #255 @ 0xff 700066e6: d928 bls.n 7000673a hi2c->XferSize = MAX_NBYTE_SIZE; 700066e8: 22ff movs r2, #255 @ 0xff I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 700066ea: f04f 7380 mov.w r3, #16777216 @ 0x1000000 hi2c->XferSize = MAX_NBYTE_SIZE; 700066ee: 8522 strh r2, [r4, #40] @ 0x28 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 700066f0: 9000 str r0, [sp, #0] I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 700066f2: 4639 mov r1, r7 700066f4: 4620 mov r0, r4 700066f6: f7ff fd47 bl 70006188 } while (hi2c->XferCount > 0U); 700066fa: 8d63 ldrh r3, [r4, #42] @ 0x2a 700066fc: b29b uxth r3, r3 700066fe: 2b00 cmp r3, #0 70006700: d1cc bne.n 7000669c if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 70006702: 462a mov r2, r5 70006704: 4641 mov r1, r8 70006706: 4620 mov r0, r4 70006708: f7ff fe3b bl 70006382 7000670c: 2800 cmp r0, #0 7000670e: f47f af5e bne.w 700065ce __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 70006712: 6823 ldr r3, [r4, #0] 70006714: 2120 movs r1, #32 70006716: 61d9 str r1, [r3, #28] I2C_RESET_CR2(hi2c); 70006718: 685a ldr r2, [r3, #4] 7000671a: f022 72ff bic.w r2, r2, #33423360 @ 0x1fe0000 7000671e: f422 328b bic.w r2, r2, #71168 @ 0x11600 70006722: f422 72ff bic.w r2, r2, #510 @ 0x1fe 70006726: f022 0201 bic.w r2, r2, #1 7000672a: 605a str r2, [r3, #4] hi2c->State = HAL_I2C_STATE_READY; 7000672c: f884 1041 strb.w r1, [r4, #65] @ 0x41 __HAL_UNLOCK(hi2c); 70006730: f884 0040 strb.w r0, [r4, #64] @ 0x40 hi2c->Mode = HAL_I2C_MODE_NONE; 70006734: f884 0042 strb.w r0, [r4, #66] @ 0x42 return HAL_OK; 70006738: e74a b.n 700065d0 hi2c->XferSize = hi2c->XferCount; 7000673a: 8d62 ldrh r2, [r4, #42] @ 0x2a I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 7000673c: f04f 7300 mov.w r3, #33554432 @ 0x2000000 hi2c->XferSize = hi2c->XferCount; 70006740: b292 uxth r2, r2 70006742: 8522 strh r2, [r4, #40] @ 0x28 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 70006744: b2d2 uxtb r2, r2 70006746: 9000 str r0, [sp, #0] 70006748: e7d3 b.n 700066f2 __HAL_LOCK(hi2c); 7000674a: 2002 movs r0, #2 7000674c: e740 b.n 700065d0 7000674e: bf00 nop 70006750: 80002000 .word 0x80002000 70006754 : { 70006754: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} 70006758: 4699 mov r9, r3 if (hi2c->State == HAL_I2C_STATE_READY) 7000675a: f890 3041 ldrb.w r3, [r0, #65] @ 0x41 { 7000675e: 4604 mov r4, r0 70006760: 460f mov r7, r1 if (hi2c->State == HAL_I2C_STATE_READY) 70006762: 2b20 cmp r3, #32 { 70006764: 4616 mov r6, r2 70006766: f8bd a034 ldrh.w sl, [sp, #52] @ 0x34 7000676a: f8dd 8038 ldr.w r8, [sp, #56] @ 0x38 if (hi2c->State == HAL_I2C_STATE_READY) 7000676e: f040 80c9 bne.w 70006904 if ((pData == NULL) || (Size == 0U)) 70006772: 9b0c ldr r3, [sp, #48] @ 0x30 70006774: b113 cbz r3, 7000677c 70006776: f1ba 0f00 cmp.w sl, #0 7000677a: d106 bne.n 7000678a hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 7000677c: f44f 7300 mov.w r3, #512 @ 0x200 70006780: 6463 str r3, [r4, #68] @ 0x44 return HAL_ERROR; 70006782: 2001 movs r0, #1 } 70006784: b003 add sp, #12 70006786: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} __HAL_LOCK(hi2c); 7000678a: f890 3040 ldrb.w r3, [r0, #64] @ 0x40 7000678e: 2b01 cmp r3, #1 70006790: f000 80b8 beq.w 70006904 70006794: f04f 0b01 mov.w fp, #1 70006798: f880 b040 strb.w fp, [r0, #64] @ 0x40 tickstart = HAL_GetTick(); 7000679c: f7fe f87e bl 7000489c if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK) 700067a0: 2319 movs r3, #25 700067a2: 9000 str r0, [sp, #0] tickstart = HAL_GetTick(); 700067a4: 4605 mov r5, r0 if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK) 700067a6: 465a mov r2, fp 700067a8: f44f 4100 mov.w r1, #32768 @ 0x8000 700067ac: 4620 mov r0, r4 700067ae: f7ff fdad bl 7000630c 700067b2: 4603 mov r3, r0 700067b4: 2800 cmp r0, #0 700067b6: d1e4 bne.n 70006782 hi2c->State = HAL_I2C_STATE_BUSY_RX; 700067b8: 2222 movs r2, #34 @ 0x22 hi2c->XferISR = NULL; 700067ba: 6360 str r0, [r4, #52] @ 0x34 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WRITE); 700067bc: 4639 mov r1, r7 hi2c->State = HAL_I2C_STATE_BUSY_RX; 700067be: f884 2041 strb.w r2, [r4, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_MEM; 700067c2: 2240 movs r2, #64 @ 0x40 700067c4: f884 2042 strb.w r2, [r4, #66] @ 0x42 hi2c->pBuffPtr = pData; 700067c8: 9a0c ldr r2, [sp, #48] @ 0x30 hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 700067ca: 6460 str r0, [r4, #68] @ 0x44 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WRITE); 700067cc: 4620 mov r0, r4 hi2c->pBuffPtr = pData; 700067ce: 6262 str r2, [r4, #36] @ 0x24 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WRITE); 700067d0: 4a4d ldr r2, [pc, #308] @ (70006908 ) hi2c->XferCount = Size; 700067d2: f8a4 a02a strh.w sl, [r4, #42] @ 0x2a I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WRITE); 700067d6: 9200 str r2, [sp, #0] 700067d8: fa5f f289 uxtb.w r2, r9 700067dc: f7ff fcd4 bl 70006188 if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 700067e0: 462a mov r2, r5 700067e2: 4641 mov r1, r8 700067e4: 4620 mov r0, r4 700067e6: f7ff fd66 bl 700062b6 700067ea: bb20 cbnz r0, 70006836 if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 700067ec: f1b9 0f01 cmp.w r9, #1 hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 700067f0: 6823 ldr r3, [r4, #0] if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 700067f2: d116 bne.n 70006822 hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 700067f4: b2f6 uxtb r6, r6 if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK) 700067f6: 2200 movs r2, #0 700067f8: 2140 movs r1, #64 @ 0x40 700067fa: 4620 mov r0, r4 hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 700067fc: 629e str r6, [r3, #40] @ 0x28 if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK) 700067fe: 4643 mov r3, r8 70006800: 9500 str r5, [sp, #0] 70006802: f7ff fd83 bl 7000630c 70006806: b9b0 cbnz r0, 70006836 if (hi2c->XferCount > MAX_NBYTE_SIZE) 70006808: 8d63 ldrh r3, [r4, #42] @ 0x2a 7000680a: b29b uxth r3, r3 7000680c: 2bff cmp r3, #255 @ 0xff 7000680e: 4b3f ldr r3, [pc, #252] @ (7000690c ) 70006810: d815 bhi.n 7000683e hi2c->XferSize = hi2c->XferCount; 70006812: 8d62 ldrh r2, [r4, #42] @ 0x2a 70006814: b292 uxth r2, r2 70006816: 8522 strh r2, [r4, #40] @ 0x28 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 70006818: b2d2 uxtb r2, r2 7000681a: 9300 str r3, [sp, #0] 7000681c: f04f 7300 mov.w r3, #33554432 @ 0x2000000 70006820: e012 b.n 70006848 hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 70006822: 0a32 lsrs r2, r6, #8 if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 70006824: 4641 mov r1, r8 70006826: 4620 mov r0, r4 hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 70006828: 629a str r2, [r3, #40] @ 0x28 if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 7000682a: 462a mov r2, r5 7000682c: f7ff fd43 bl 700062b6 70006830: b908 cbnz r0, 70006836 hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 70006832: 6823 ldr r3, [r4, #0] 70006834: e7de b.n 700067f4 __HAL_UNLOCK(hi2c); 70006836: 2300 movs r3, #0 70006838: f884 3040 strb.w r3, [r4, #64] @ 0x40 return HAL_ERROR; 7000683c: e7a1 b.n 70006782 hi2c->XferSize = MAX_NBYTE_SIZE; 7000683e: 22ff movs r2, #255 @ 0xff 70006840: 8522 strh r2, [r4, #40] @ 0x28 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 70006842: 9300 str r3, [sp, #0] 70006844: f04f 7380 mov.w r3, #16777216 @ 0x1000000 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 70006848: 4639 mov r1, r7 7000684a: 4620 mov r0, r4 7000684c: f7ff fc9c bl 70006188 if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK) 70006850: 4643 mov r3, r8 70006852: 2200 movs r2, #0 70006854: 2104 movs r1, #4 70006856: 4620 mov r0, r4 70006858: 9500 str r5, [sp, #0] 7000685a: f7ff fd57 bl 7000630c 7000685e: 2800 cmp r0, #0 70006860: d18f bne.n 70006782 *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 70006862: 6823 ldr r3, [r4, #0] 70006864: 6a5a ldr r2, [r3, #36] @ 0x24 70006866: 6a63 ldr r3, [r4, #36] @ 0x24 70006868: 701a strb r2, [r3, #0] hi2c->pBuffPtr++; 7000686a: 6a63 ldr r3, [r4, #36] @ 0x24 hi2c->XferSize--; 7000686c: 8d22 ldrh r2, [r4, #40] @ 0x28 hi2c->pBuffPtr++; 7000686e: 3301 adds r3, #1 hi2c->XferSize--; 70006870: 3a01 subs r2, #1 hi2c->pBuffPtr++; 70006872: 6263 str r3, [r4, #36] @ 0x24 hi2c->XferCount--; 70006874: 8d63 ldrh r3, [r4, #42] @ 0x2a hi2c->XferSize--; 70006876: b292 uxth r2, r2 hi2c->XferCount--; 70006878: 3b01 subs r3, #1 hi2c->XferSize--; 7000687a: 8522 strh r2, [r4, #40] @ 0x28 hi2c->XferCount--; 7000687c: b29b uxth r3, r3 7000687e: 8563 strh r3, [r4, #42] @ 0x2a if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 70006880: 8d63 ldrh r3, [r4, #42] @ 0x2a 70006882: b29b uxth r3, r3 70006884: b1b3 cbz r3, 700068b4 70006886: b9aa cbnz r2, 700068b4 if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) 70006888: 4643 mov r3, r8 7000688a: 2180 movs r1, #128 @ 0x80 7000688c: 4620 mov r0, r4 7000688e: 9500 str r5, [sp, #0] 70006890: f7ff fd3c bl 7000630c 70006894: 2800 cmp r0, #0 70006896: f47f af74 bne.w 70006782 if (hi2c->XferCount > MAX_NBYTE_SIZE) 7000689a: 8d63 ldrh r3, [r4, #42] @ 0x2a 7000689c: b29b uxth r3, r3 7000689e: 2bff cmp r3, #255 @ 0xff 700068a0: d928 bls.n 700068f4 hi2c->XferSize = MAX_NBYTE_SIZE; 700068a2: 22ff movs r2, #255 @ 0xff I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, 700068a4: f04f 7380 mov.w r3, #16777216 @ 0x1000000 hi2c->XferSize = MAX_NBYTE_SIZE; 700068a8: 8522 strh r2, [r4, #40] @ 0x28 I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, 700068aa: 9000 str r0, [sp, #0] I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 700068ac: 4639 mov r1, r7 700068ae: 4620 mov r0, r4 700068b0: f7ff fc6a bl 70006188 } while (hi2c->XferCount > 0U); 700068b4: 8d63 ldrh r3, [r4, #42] @ 0x2a 700068b6: b29b uxth r3, r3 700068b8: 2b00 cmp r3, #0 700068ba: d1c9 bne.n 70006850 if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 700068bc: 462a mov r2, r5 700068be: 4641 mov r1, r8 700068c0: 4620 mov r0, r4 700068c2: f7ff fd5e bl 70006382 700068c6: 2800 cmp r0, #0 700068c8: f47f af5b bne.w 70006782 __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 700068cc: 6823 ldr r3, [r4, #0] 700068ce: 2120 movs r1, #32 700068d0: 61d9 str r1, [r3, #28] I2C_RESET_CR2(hi2c); 700068d2: 685a ldr r2, [r3, #4] 700068d4: f022 72ff bic.w r2, r2, #33423360 @ 0x1fe0000 700068d8: f422 328b bic.w r2, r2, #71168 @ 0x11600 700068dc: f422 72ff bic.w r2, r2, #510 @ 0x1fe 700068e0: f022 0201 bic.w r2, r2, #1 700068e4: 605a str r2, [r3, #4] hi2c->State = HAL_I2C_STATE_READY; 700068e6: f884 1041 strb.w r1, [r4, #65] @ 0x41 __HAL_UNLOCK(hi2c); 700068ea: f884 0040 strb.w r0, [r4, #64] @ 0x40 hi2c->Mode = HAL_I2C_MODE_NONE; 700068ee: f884 0042 strb.w r0, [r4, #66] @ 0x42 return HAL_OK; 700068f2: e747 b.n 70006784 hi2c->XferSize = hi2c->XferCount; 700068f4: 8d62 ldrh r2, [r4, #42] @ 0x2a I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 700068f6: f04f 7300 mov.w r3, #33554432 @ 0x2000000 hi2c->XferSize = hi2c->XferCount; 700068fa: b292 uxth r2, r2 700068fc: 8522 strh r2, [r4, #40] @ 0x28 I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 700068fe: b2d2 uxtb r2, r2 70006900: 9000 str r0, [sp, #0] 70006902: e7d3 b.n 700068ac __HAL_LOCK(hi2c); 70006904: 2002 movs r0, #2 70006906: e73d b.n 70006784 70006908: 80002000 .word 0x80002000 7000690c: 80002400 .word 0x80002400 70006910 : return hi2c->State; 70006910: f890 0041 ldrb.w r0, [r0, #65] @ 0x41 } 70006914: 4770 bx lr 70006916 : return hi2c->ErrorCode; 70006916: 6c40 ldr r0, [r0, #68] @ 0x44 } 70006918: 4770 bx lr 7000691a : * the configuration information for the specified I2Cx peripheral. * @param AnalogFilter New state of the Analog filter. * @retval HAL status */ HAL_StatusTypeDef HAL_I2CEx_ConfigAnalogFilter(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter) { 7000691a: b510 push {r4, lr} /* Check the parameters */ assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); assert_param(IS_I2C_ANALOG_FILTER(AnalogFilter)); if (hi2c->State == HAL_I2C_STATE_READY) 7000691c: f890 2041 ldrb.w r2, [r0, #65] @ 0x41 { 70006920: 4603 mov r3, r0 if (hi2c->State == HAL_I2C_STATE_READY) 70006922: 2a20 cmp r2, #32 70006924: b2d4 uxtb r4, r2 70006926: d11c bne.n 70006962 { /* Process Locked */ __HAL_LOCK(hi2c); 70006928: f890 2040 ldrb.w r2, [r0, #64] @ 0x40 7000692c: 2a01 cmp r2, #1 7000692e: d018 beq.n 70006962 hi2c->State = HAL_I2C_STATE_BUSY; 70006930: 2224 movs r2, #36 @ 0x24 70006932: f880 2041 strb.w r2, [r0, #65] @ 0x41 /* Disable the selected I2C peripheral */ __HAL_I2C_DISABLE(hi2c); 70006936: 6802 ldr r2, [r0, #0] 70006938: 6810 ldr r0, [r2, #0] 7000693a: f020 0001 bic.w r0, r0, #1 7000693e: 6010 str r0, [r2, #0] /* Reset I2Cx ANOFF bit */ hi2c->Instance->CR1 &= ~(I2C_CR1_ANFOFF); 70006940: 6810 ldr r0, [r2, #0] 70006942: f420 5080 bic.w r0, r0, #4096 @ 0x1000 70006946: 6010 str r0, [r2, #0] /* Set analog filter bit*/ hi2c->Instance->CR1 |= AnalogFilter; 70006948: 6810 ldr r0, [r2, #0] 7000694a: 4301 orrs r1, r0 __HAL_I2C_ENABLE(hi2c); hi2c->State = HAL_I2C_STATE_READY; /* Process Unlocked */ __HAL_UNLOCK(hi2c); 7000694c: 2000 movs r0, #0 hi2c->Instance->CR1 |= AnalogFilter; 7000694e: 6011 str r1, [r2, #0] __HAL_I2C_ENABLE(hi2c); 70006950: 6811 ldr r1, [r2, #0] 70006952: f041 0101 orr.w r1, r1, #1 70006956: 6011 str r1, [r2, #0] hi2c->State = HAL_I2C_STATE_READY; 70006958: f883 4041 strb.w r4, [r3, #65] @ 0x41 __HAL_UNLOCK(hi2c); 7000695c: f883 0040 strb.w r0, [r3, #64] @ 0x40 } else { return HAL_BUSY; } } 70006960: bd10 pop {r4, pc} __HAL_LOCK(hi2c); 70006962: 2002 movs r0, #2 70006964: e7fc b.n 70006960 70006966 : * the configuration information for the specified I2Cx peripheral. * @param DigitalFilter Coefficient of digital noise filter between Min_Data=0x00 and Max_Data=0x0F. * @retval HAL status */ HAL_StatusTypeDef HAL_I2CEx_ConfigDigitalFilter(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter) { 70006966: b510 push {r4, lr} /* Check the parameters */ assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); assert_param(IS_I2C_DIGITAL_FILTER(DigitalFilter)); if (hi2c->State == HAL_I2C_STATE_READY) 70006968: f890 2041 ldrb.w r2, [r0, #65] @ 0x41 { 7000696c: 4603 mov r3, r0 if (hi2c->State == HAL_I2C_STATE_READY) 7000696e: 2a20 cmp r2, #32 70006970: b2d4 uxtb r4, r2 70006972: d11b bne.n 700069ac { /* Process Locked */ __HAL_LOCK(hi2c); 70006974: f890 2040 ldrb.w r2, [r0, #64] @ 0x40 70006978: 2a01 cmp r2, #1 7000697a: d017 beq.n 700069ac hi2c->State = HAL_I2C_STATE_BUSY; 7000697c: 2224 movs r2, #36 @ 0x24 7000697e: f880 2041 strb.w r2, [r0, #65] @ 0x41 /* Disable the selected I2C peripheral */ __HAL_I2C_DISABLE(hi2c); 70006982: 6802 ldr r2, [r0, #0] 70006984: 6810 ldr r0, [r2, #0] 70006986: f020 0001 bic.w r0, r0, #1 7000698a: 6010 str r0, [r2, #0] /* Get the old register value */ tmpreg = hi2c->Instance->CR1; 7000698c: 6810 ldr r0, [r2, #0] /* Reset I2Cx DNF bits [11:8] */ tmpreg &= ~(I2C_CR1_DNF); 7000698e: f420 6070 bic.w r0, r0, #3840 @ 0xf00 /* Set I2Cx DNF coefficient */ tmpreg |= DigitalFilter << 8U; 70006992: ea40 2101 orr.w r1, r0, r1, lsl #8 __HAL_I2C_ENABLE(hi2c); hi2c->State = HAL_I2C_STATE_READY; /* Process Unlocked */ __HAL_UNLOCK(hi2c); 70006996: 2000 movs r0, #0 hi2c->Instance->CR1 = tmpreg; 70006998: 6011 str r1, [r2, #0] __HAL_I2C_ENABLE(hi2c); 7000699a: 6811 ldr r1, [r2, #0] 7000699c: f041 0101 orr.w r1, r1, #1 700069a0: 6011 str r1, [r2, #0] hi2c->State = HAL_I2C_STATE_READY; 700069a2: f883 4041 strb.w r4, [r3, #65] @ 0x41 __HAL_UNLOCK(hi2c); 700069a6: f883 0040 strb.w r0, [r3, #64] @ 0x40 } else { return HAL_BUSY; } } 700069aa: bd10 pop {r4, pc} __HAL_LOCK(hi2c); 700069ac: 2002 movs r0, #2 700069ae: e7fc b.n 700069aa 700069b0 : UNUSED(hi2s); /* NOTE : This function Should not be modified, when the callback is needed, the HAL_I2S_MspInit could be implemented in the user file */ } 700069b0: 4770 bx lr 700069b2 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA module. * @retval None */ static void I2S_DMATxCplt(DMA_HandleTypeDef *hdma) { 700069b2: 4603 mov r3, r0 /* Derogation MISRAC2012-Rule-11.5 */ I2S_HandleTypeDef *hi2s = (I2S_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 700069b4: 6dc0 ldr r0, [r0, #92] @ 0x5c /* if DMA is configured in DMA_NORMAL Mode */ if (hdma->Init.Mode == DMA_NORMAL) 700069b6: 6b5a ldr r2, [r3, #52] @ 0x34 700069b8: b942 cbnz r2, 700069cc { /* Disable Tx DMA Request */ CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN); 700069ba: 6801 ldr r1, [r0, #0] 700069bc: 688b ldr r3, [r1, #8] 700069be: f423 4300 bic.w r3, r3, #32768 @ 0x8000 700069c2: 608b str r3, [r1, #8] hi2s->TxXferCount = (uint16_t) 0UL; hi2s->State = HAL_I2S_STATE_READY; 700069c4: 2301 movs r3, #1 hi2s->TxXferCount = (uint16_t) 0UL; 700069c6: 8642 strh r2, [r0, #50] @ 0x32 hi2s->State = HAL_I2S_STATE_READY; 700069c8: f880 304d strb.w r3, [r0, #77] @ 0x4d } /* Call user Tx complete callback */ #if (USE_HAL_I2S_REGISTER_CALLBACKS == 1UL) hi2s->TxCpltCallback(hi2s); 700069cc: 6d43 ldr r3, [r0, #84] @ 0x54 700069ce: 4718 bx r3 700069d0 : * @retval None */ static void I2S_DMATxHalfCplt(DMA_HandleTypeDef *hdma) { /* Derogation MISRAC2012-Rule-11.5 */ I2S_HandleTypeDef *hi2s = (I2S_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 700069d0: 6dc0 ldr r0, [r0, #92] @ 0x5c /* Call user Tx half complete callback */ #if (USE_HAL_I2S_REGISTER_CALLBACKS == 1UL) hi2s->TxHalfCpltCallback(hi2s); 700069d2: 6e03 ldr r3, [r0, #96] @ 0x60 700069d4: 4718 bx r3 700069d6 : * @retval None */ static void I2S_DMAError(DMA_HandleTypeDef *hdma) { /* Derogation MISRAC2012-Rule-11.5 */ I2S_HandleTypeDef *hi2s = (I2S_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 700069d6: 6dc0 ldr r0, [r0, #92] @ 0x5c /* Disable Rx and Tx DMA Request */ CLEAR_BIT(hi2s->Instance->CFG1, (SPI_CFG1_RXDMAEN | SPI_CFG1_TXDMAEN)); 700069d8: 6802 ldr r2, [r0, #0] 700069da: 6893 ldr r3, [r2, #8] 700069dc: f423 4340 bic.w r3, r3, #49152 @ 0xc000 700069e0: 6093 str r3, [r2, #8] hi2s->TxXferCount = (uint16_t) 0UL; 700069e2: 2300 movs r3, #0 700069e4: 8643 strh r3, [r0, #50] @ 0x32 hi2s->RxXferCount = (uint16_t) 0UL; 700069e6: 8743 strh r3, [r0, #58] @ 0x3a hi2s->State = HAL_I2S_STATE_READY; 700069e8: 2301 movs r3, #1 700069ea: f880 304d strb.w r3, [r0, #77] @ 0x4d /* Set the error code and execute error callback*/ SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_DMA); 700069ee: 6d03 ldr r3, [r0, #80] @ 0x50 700069f0: f043 0308 orr.w r3, r3, #8 700069f4: 6503 str r3, [r0, #80] @ 0x50 /* Call user error callback */ #if (USE_HAL_I2S_REGISTER_CALLBACKS == 1UL) hi2s->ErrorCallback(hi2s); 700069f6: 6ec3 ldr r3, [r0, #108] @ 0x6c 700069f8: 4718 bx r3 700069fa : __weak void HAL_I2S_TxHalfCpltCallback(I2S_HandleTypeDef *hi2s) 700069fa: 4770 bx lr 700069fc : __weak void HAL_I2S_TxCpltCallback(I2S_HandleTypeDef *hi2s) 700069fc: 4770 bx lr 700069fe : __weak void HAL_I2S_RxHalfCpltCallback(I2S_HandleTypeDef *hi2s) 700069fe: 4770 bx lr 70006a00 : __weak void HAL_I2S_RxCpltCallback(I2S_HandleTypeDef *hi2s) 70006a00: 4770 bx lr 70006a02 : __weak void HAL_I2SEx_TxRxHalfCpltCallback(I2S_HandleTypeDef *hi2s) 70006a02: 4770 bx lr 70006a04 : __weak void HAL_I2SEx_TxRxCpltCallback(I2S_HandleTypeDef *hi2s) 70006a04: 4770 bx lr 70006a06 : __weak void HAL_I2S_ErrorCallback(I2S_HandleTypeDef *hi2s) 70006a06: 4770 bx lr 70006a08 : { 70006a08: b570 push {r4, r5, r6, lr} if (hi2s == NULL) 70006a0a: 4604 mov r4, r0 70006a0c: 2800 cmp r0, #0 70006a0e: d067 beq.n 70006ae0 if (hi2s->State == HAL_I2S_STATE_RESET) 70006a10: f890 304d ldrb.w r3, [r0, #77] @ 0x4d 70006a14: f003 02ff and.w r2, r3, #255 @ 0xff 70006a18: b9ab cbnz r3, 70006a46 hi2s->TxCpltCallback = HAL_I2S_TxCpltCallback; /* Legacy weak TxCpltCallback */ 70006a1a: 4b5d ldr r3, [pc, #372] @ (70006b90 ) hi2s->Lock = HAL_UNLOCKED; 70006a1c: f880 204c strb.w r2, [r0, #76] @ 0x4c hi2s->TxCpltCallback = HAL_I2S_TxCpltCallback; /* Legacy weak TxCpltCallback */ 70006a20: 6543 str r3, [r0, #84] @ 0x54 hi2s->RxCpltCallback = HAL_I2S_RxCpltCallback; /* Legacy weak RxCpltCallback */ 70006a22: 4b5c ldr r3, [pc, #368] @ (70006b94 ) 70006a24: 6583 str r3, [r0, #88] @ 0x58 hi2s->TxRxCpltCallback = HAL_I2SEx_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback */ 70006a26: 4b5c ldr r3, [pc, #368] @ (70006b98 ) 70006a28: 65c3 str r3, [r0, #92] @ 0x5c hi2s->TxHalfCpltCallback = HAL_I2S_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallback */ 70006a2a: 4b5c ldr r3, [pc, #368] @ (70006b9c ) 70006a2c: 6603 str r3, [r0, #96] @ 0x60 hi2s->RxHalfCpltCallback = HAL_I2S_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallback */ 70006a2e: 4b5c ldr r3, [pc, #368] @ (70006ba0 ) 70006a30: 6643 str r3, [r0, #100] @ 0x64 hi2s->TxRxHalfCpltCallback = HAL_I2SEx_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallback */ 70006a32: 4b5c ldr r3, [pc, #368] @ (70006ba4 ) 70006a34: 6683 str r3, [r0, #104] @ 0x68 hi2s->ErrorCallback = HAL_I2S_ErrorCallback; /* Legacy weak ErrorCallback */ 70006a36: 4b5c ldr r3, [pc, #368] @ (70006ba8 ) 70006a38: 66c3 str r3, [r0, #108] @ 0x6c if (hi2s->MspInitCallback == NULL) 70006a3a: 6f03 ldr r3, [r0, #112] @ 0x70 70006a3c: b90b cbnz r3, 70006a42 hi2s->MspInitCallback = HAL_I2S_MspInit; /* Legacy weak MspInit */ 70006a3e: 4b5b ldr r3, [pc, #364] @ (70006bac ) 70006a40: 6703 str r3, [r0, #112] @ 0x70 hi2s->MspInitCallback(hi2s); 70006a42: 4620 mov r0, r4 70006a44: 4798 blx r3 hi2s->State = HAL_I2S_STATE_BUSY; 70006a46: 2302 movs r3, #2 if ((hi2s->Instance->CR1 & SPI_CR1_SPE) == SPI_CR1_SPE) 70006a48: 6822 ldr r2, [r4, #0] hi2s->State = HAL_I2S_STATE_BUSY; 70006a4a: f884 304d strb.w r3, [r4, #77] @ 0x4d if ((hi2s->Instance->CR1 & SPI_CR1_SPE) == SPI_CR1_SPE) 70006a4e: 6813 ldr r3, [r2, #0] 70006a50: 07dd lsls r5, r3, #31 70006a52: d503 bpl.n 70006a5c __HAL_I2S_DISABLE(hi2s); 70006a54: 6813 ldr r3, [r2, #0] 70006a56: f023 0301 bic.w r3, r3, #1 70006a5a: 6013 str r3, [r2, #0] if (IS_I2S_MASTER(hi2s->Init.Mode)) 70006a5c: 6860 ldr r0, [r4, #4] CLEAR_REG(hi2s->Instance->I2SCFGR); 70006a5e: 2300 movs r3, #0 70006a60: 280a cmp r0, #10 70006a62: 6513 str r3, [r2, #80] @ 0x50 if (IS_I2S_MASTER(hi2s->Init.Mode)) 70006a64: d858 bhi.n 70006b18 70006a66: f44f 618a mov.w r1, #1104 @ 0x450 70006a6a: 40c1 lsrs r1, r0 70006a6c: 07c8 lsls r0, r1, #31 70006a6e: d553 bpl.n 70006b18 if (hi2s->Init.AudioFreq != I2S_AUDIOFREQ_DEFAULT) 70006a70: 6960 ldr r0, [r4, #20] 70006a72: 2802 cmp r0, #2 70006a74: d043 beq.n 70006afe if ((hi2s->Init.Standard == I2S_STANDARD_PCM_SHORT) || 70006a76: 68a5 ldr r5, [r4, #8] if (hi2s->Init.DataFormat != I2S_DATAFORMAT_16B) 70006a78: 68e3 ldr r3, [r4, #12] if ((hi2s->Init.Standard == I2S_STANDARD_PCM_SHORT) || 70006a7a: f025 0580 bic.w r5, r5, #128 @ 0x80 packetlength = 2UL; 70006a7e: 2b00 cmp r3, #0 if (hi2s->Instance == SPI1) 70006a80: 4b4b ldr r3, [pc, #300] @ (70006bb0 ) if ((hi2s->Init.Standard == I2S_STANDARD_PCM_SHORT) || 70006a82: f1a5 0130 sub.w r1, r5, #48 @ 0x30 packetlength = 2UL; 70006a86: bf0c ite eq 70006a88: 2601 moveq r6, #1 70006a8a: 2602 movne r6, #2 if ((hi2s->Init.Standard == I2S_STANDARD_PCM_SHORT) || 70006a8c: 424d negs r5, r1 70006a8e: 414d adcs r5, r1 if (hi2s->Instance == SPI1) 70006a90: 429a cmp r2, r3 70006a92: d127 bne.n 70006ae4 i2sclk = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_SPI1); 70006a94: f44f 0000 mov.w r0, #8388608 @ 0x800000 i2sclk = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_SPI6); 70006a98: f002 fbb2 bl 70009200 tmp = (uint32_t)((((i2sclk / ((32UL >> ispcm) * packetlength)) * 10UL) / hi2s->Init.AudioFreq) + 5UL); 70006a9c: 210a movs r1, #10 if (hi2s->Init.MCLKOutput == I2S_MCLKOUTPUT_ENABLE) 70006a9e: e9d4 3204 ldrd r3, r2, [r4, #16] 70006aa2: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 tmp = (uint32_t)((((i2sclk / ((32UL >> ispcm) * packetlength)) * 10UL) / hi2s->Init.AudioFreq) + 5UL); 70006aa6: bf15 itete ne 70006aa8: 2320 movne r3, #32 tmp = (uint32_t)((((i2sclk / (256UL >> ispcm)) * 10UL) / hi2s->Init.AudioFreq) + 5UL); 70006aaa: f44f 7380 moveq.w r3, #256 @ 0x100 tmp = (uint32_t)((((i2sclk / ((32UL >> ispcm) * packetlength)) * 10UL) / hi2s->Init.AudioFreq) + 5UL); 70006aae: 40eb lsrne r3, r5 tmp = (uint32_t)((((i2sclk / (256UL >> ispcm)) * 10UL) / hi2s->Init.AudioFreq) + 5UL); 70006ab0: 40eb lsreq r3, r5 tmp = (uint32_t)((((i2sclk / ((32UL >> ispcm) * packetlength)) * 10UL) / hi2s->Init.AudioFreq) + 5UL); 70006ab2: bf18 it ne 70006ab4: 4373 mulne r3, r6 70006ab6: fbb0 f3f3 udiv r3, r0, r3 70006aba: 434b muls r3, r1 70006abc: fbb3 f3f2 udiv r3, r3, r2 tmp = tmp / 10UL; 70006ac0: 220a movs r2, #10 tmp = (uint32_t)((((i2sclk / ((32UL >> ispcm) * packetlength)) * 10UL) / hi2s->Init.AudioFreq) + 5UL); 70006ac2: 3305 adds r3, #5 tmp = tmp / 10UL; 70006ac4: fbb3 f3f2 udiv r3, r3, r2 i2sdiv = (uint32_t)((tmp - i2sodd) / 2UL); 70006ac8: 0858 lsrs r0, r3, #1 if (((i2sodd == 1UL) && (i2sdiv == 1UL)) || (i2sdiv > 0xFFUL)) 70006aca: f013 0301 ands.w r3, r3, #1 70006ace: d001 beq.n 70006ad4 70006ad0: 2801 cmp r0, #1 70006ad2: d001 beq.n 70006ad8 70006ad4: 28ff cmp r0, #255 @ 0xff 70006ad6: d912 bls.n 70006afe SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_PRESCALER); 70006ad8: 6d23 ldr r3, [r4, #80] @ 0x50 70006ada: f043 0310 orr.w r3, r3, #16 70006ade: 6523 str r3, [r4, #80] @ 0x50 return HAL_ERROR; 70006ae0: 2001 movs r0, #1 } 70006ae2: bd70 pop {r4, r5, r6, pc} else if ((hi2s->Instance == SPI2) || (hi2s->Instance == SPI3)) 70006ae4: 4b33 ldr r3, [pc, #204] @ (70006bb4 ) 70006ae6: 429a cmp r2, r3 70006ae8: d003 beq.n 70006af2 70006aea: f503 6380 add.w r3, r3, #1024 @ 0x400 70006aee: 429a cmp r2, r3 70006af0: d102 bne.n 70006af8 i2sclk = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_SPI23); 70006af2: f04f 7080 mov.w r0, #16777216 @ 0x1000000 70006af6: e7cf b.n 70006a98 i2sclk = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_SPI6); 70006af8: f04f 6080 mov.w r0, #67108864 @ 0x4000000 70006afc: e7cc b.n 70006a98 MODIFY_REG(hi2s->Instance->I2SCFGR, (SPI_I2SCFGR_I2SDIV | SPI_I2SCFGR_ODD), 70006afe: 6822 ldr r2, [r4, #0] if (i2sdiv == 0UL) 70006b00: 2800 cmp r0, #0 70006b02: bf08 it eq 70006b04: f043 0301 orreq.w r3, r3, #1 MODIFY_REG(hi2s->Instance->I2SCFGR, (SPI_I2SCFGR_I2SDIV | SPI_I2SCFGR_ODD), 70006b08: 6d11 ldr r1, [r2, #80] @ 0x50 70006b0a: f36f 4118 bfc r1, #16, #9 70006b0e: ea41 4100 orr.w r1, r1, r0, lsl #16 70006b12: ea41 6303 orr.w r3, r1, r3, lsl #24 70006b16: 6513 str r3, [r2, #80] @ 0x50 MODIFY_REG(hi2s->Instance->I2SCFGR, (SPI_I2SCFGR_I2SMOD | SPI_I2SCFGR_I2SCFG | \ 70006b18: 6d15 ldr r5, [r2, #80] @ 0x50 70006b1a: 4827 ldr r0, [pc, #156] @ (70006bb8 ) 70006b1c: e9d4 1301 ldrd r1, r3, [r4, #4] 70006b20: 4028 ands r0, r5 70006b22: 430b orrs r3, r1 70006b24: 290a cmp r1, #10 70006b26: ea43 0300 orr.w r3, r3, r0 70006b2a: 68e0 ldr r0, [r4, #12] 70006b2c: ea43 0300 orr.w r3, r3, r0 70006b30: 69a0 ldr r0, [r4, #24] 70006b32: ea43 0300 orr.w r3, r3, r0 70006b36: 6a20 ldr r0, [r4, #32] 70006b38: ea43 0300 orr.w r3, r3, r0 70006b3c: 6a60 ldr r0, [r4, #36] @ 0x24 70006b3e: ea43 0300 orr.w r3, r3, r0 70006b42: 6920 ldr r0, [r4, #16] 70006b44: ea43 0300 orr.w r3, r3, r0 MODIFY_REG(hi2s->Instance->CFG2, SPI_CFG2_LSBFRST, hi2s->Init.FirstBit); 70006b48: 69e0 ldr r0, [r4, #28] MODIFY_REG(hi2s->Instance->I2SCFGR, (SPI_I2SCFGR_I2SMOD | SPI_I2SCFGR_I2SCFG | \ 70006b4a: f043 0301 orr.w r3, r3, #1 70006b4e: 6513 str r3, [r2, #80] @ 0x50 WRITE_REG(hi2s->Instance->IFCR, 0x0FF8); 70006b50: f640 73f8 movw r3, #4088 @ 0xff8 70006b54: 6193 str r3, [r2, #24] CLEAR_BIT(hi2s->Instance->CR1, SPI_CR1_IOLOCK); 70006b56: 6813 ldr r3, [r2, #0] 70006b58: f423 3380 bic.w r3, r3, #65536 @ 0x10000 70006b5c: 6013 str r3, [r2, #0] MODIFY_REG(hi2s->Instance->CFG2, SPI_CFG2_LSBFRST, hi2s->Init.FirstBit); 70006b5e: 68d3 ldr r3, [r2, #12] 70006b60: f423 0300 bic.w r3, r3, #8388608 @ 0x800000 70006b64: ea43 0300 orr.w r3, r3, r0 70006b68: 60d3 str r3, [r2, #12] if (IS_I2S_MASTER(hi2s->Init.Mode)) 70006b6a: d80a bhi.n 70006b82 70006b6c: f44f 638a mov.w r3, #1104 @ 0x450 70006b70: 40cb lsrs r3, r1 70006b72: 07db lsls r3, r3, #31 70006b74: d505 bpl.n 70006b82 MODIFY_REG(hi2s->Instance->CFG2, SPI_CFG2_AFCNTR, (hi2s->Init.MasterKeepIOState)); 70006b76: 68d3 ldr r3, [r2, #12] 70006b78: 6aa1 ldr r1, [r4, #40] @ 0x28 70006b7a: f023 4300 bic.w r3, r3, #2147483648 @ 0x80000000 70006b7e: 430b orrs r3, r1 70006b80: 60d3 str r3, [r2, #12] hi2s->ErrorCode = HAL_I2S_ERROR_NONE; 70006b82: 2000 movs r0, #0 hi2s->State = HAL_I2S_STATE_READY; 70006b84: 2301 movs r3, #1 hi2s->ErrorCode = HAL_I2S_ERROR_NONE; 70006b86: 6520 str r0, [r4, #80] @ 0x50 hi2s->State = HAL_I2S_STATE_READY; 70006b88: f884 304d strb.w r3, [r4, #77] @ 0x4d return HAL_OK; 70006b8c: e7a9 b.n 70006ae2 70006b8e: bf00 nop 70006b90: 700069fd .word 0x700069fd 70006b94: 70006a01 .word 0x70006a01 70006b98: 70006a05 .word 0x70006a05 70006b9c: 700069fb .word 0x700069fb 70006ba0: 700069ff .word 0x700069ff 70006ba4: 70006a03 .word 0x70006a03 70006ba8: 70006a07 .word 0x70006a07 70006bac: 700069b1 .word 0x700069b1 70006bb0: 42003000 .word 0x42003000 70006bb4: 40003800 .word 0x40003800 70006bb8: fdff9040 .word 0xfdff9040 70006bbc : if (pCallback == NULL) 70006bbc: b92a cbnz r2, 70006bca SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_INVALID_CALLBACK); 70006bbe: 6d03 ldr r3, [r0, #80] @ 0x50 70006bc0: f443 7380 orr.w r3, r3, #256 @ 0x100 70006bc4: 6503 str r3, [r0, #80] @ 0x50 return HAL_ERROR; 70006bc6: 2001 movs r0, #1 } 70006bc8: 4770 bx lr if (HAL_I2S_STATE_READY == hi2s->State) 70006bca: f890 304d ldrb.w r3, [r0, #77] @ 0x4d 70006bce: 2b01 cmp r3, #1 70006bd0: d119 bne.n 70006c06 switch (CallbackID) 70006bd2: 2908 cmp r1, #8 70006bd4: d8f3 bhi.n 70006bbe 70006bd6: e8df f001 tbb [pc, r1] 70006bda: 0805 .short 0x0805 70006bdc: 100e0c0a .word 0x100e0c0a 70006be0: 1412 .short 0x1412 70006be2: 1e .byte 0x1e 70006be3: 00 .byte 0x00 hi2s->TxCpltCallback = pCallback; 70006be4: 6542 str r2, [r0, #84] @ 0x54 HAL_StatusTypeDef status = HAL_OK; 70006be6: 2000 movs r0, #0 70006be8: 4770 bx lr hi2s->RxCpltCallback = pCallback; 70006bea: 6582 str r2, [r0, #88] @ 0x58 break; 70006bec: e7fb b.n 70006be6 hi2s->TxRxCpltCallback = pCallback; 70006bee: 65c2 str r2, [r0, #92] @ 0x5c break; 70006bf0: e7f9 b.n 70006be6 hi2s->TxHalfCpltCallback = pCallback; 70006bf2: 6602 str r2, [r0, #96] @ 0x60 break; 70006bf4: e7f7 b.n 70006be6 hi2s->RxHalfCpltCallback = pCallback; 70006bf6: 6642 str r2, [r0, #100] @ 0x64 break; 70006bf8: e7f5 b.n 70006be6 hi2s->TxRxHalfCpltCallback = pCallback; 70006bfa: 6682 str r2, [r0, #104] @ 0x68 break; 70006bfc: e7f3 b.n 70006be6 hi2s->ErrorCallback = pCallback; 70006bfe: 66c2 str r2, [r0, #108] @ 0x6c break; 70006c00: e7f1 b.n 70006be6 hi2s->MspInitCallback = pCallback; 70006c02: 6702 str r2, [r0, #112] @ 0x70 break; 70006c04: e7ef b.n 70006be6 else if (HAL_I2S_STATE_RESET == hi2s->State) 70006c06: f890 304d ldrb.w r3, [r0, #77] @ 0x4d 70006c0a: 2b00 cmp r3, #0 70006c0c: d1d7 bne.n 70006bbe switch (CallbackID) 70006c0e: 2907 cmp r1, #7 70006c10: d0f7 beq.n 70006c02 70006c12: 2908 cmp r1, #8 70006c14: d1d3 bne.n 70006bbe hi2s->MspDeInitCallback = pCallback; 70006c16: 6742 str r2, [r0, #116] @ 0x74 break; 70006c18: e7e5 b.n 70006be6 ... 70006c1c : { 70006c1c: b510 push {r4, lr} 70006c1e: 4604 mov r4, r0 if ((pData == NULL) || (Size == 0UL)) 70006c20: 2900 cmp r1, #0 70006c22: d04a beq.n 70006cba 70006c24: 2a00 cmp r2, #0 70006c26: d048 beq.n 70006cba if (hi2s->State != HAL_I2S_STATE_READY) 70006c28: f890 304d ldrb.w r3, [r0, #77] @ 0x4d 70006c2c: 2b01 cmp r3, #1 70006c2e: b2d8 uxtb r0, r3 70006c30: d163 bne.n 70006cfa __HAL_LOCK(hi2s); 70006c32: f894 304c ldrb.w r3, [r4, #76] @ 0x4c 70006c36: 2b01 cmp r3, #1 70006c38: d05f beq.n 70006cfa hi2s->State = HAL_I2S_STATE_BUSY_TX; 70006c3a: 2303 movs r3, #3 __HAL_LOCK(hi2s); 70006c3c: f884 004c strb.w r0, [r4, #76] @ 0x4c hi2s->hdmatx->XferHalfCpltCallback = I2S_DMATxHalfCplt; 70006c40: 6c60 ldr r0, [r4, #68] @ 0x44 hi2s->State = HAL_I2S_STATE_BUSY_TX; 70006c42: f884 304d strb.w r3, [r4, #77] @ 0x4d hi2s->ErrorCode = HAL_I2S_ERROR_NONE; 70006c46: 2300 movs r3, #0 hi2s->pTxBuffPtr = (const uint16_t *)pData; 70006c48: 62e1 str r1, [r4, #44] @ 0x2c hi2s->ErrorCode = HAL_I2S_ERROR_NONE; 70006c4a: 6523 str r3, [r4, #80] @ 0x50 hi2s->pRxBuffPtr = NULL; 70006c4c: 6363 str r3, [r4, #52] @ 0x34 hi2s->TxXferSize = Size; 70006c4e: 8622 strh r2, [r4, #48] @ 0x30 hi2s->TxXferCount = Size; 70006c50: 8662 strh r2, [r4, #50] @ 0x32 hi2s->RxXferSize = (uint16_t)0UL; 70006c52: 8723 strh r3, [r4, #56] @ 0x38 hi2s->RxXferCount = (uint16_t)0UL; 70006c54: 8763 strh r3, [r4, #58] @ 0x3a hi2s->hdmatx->XferHalfCpltCallback = I2S_DMATxHalfCplt; 70006c56: 4b2a ldr r3, [pc, #168] @ (70006d00 ) 70006c58: 6643 str r3, [r0, #100] @ 0x64 hi2s->hdmatx->XferCpltCallback = I2S_DMATxCplt; 70006c5a: 4b2a ldr r3, [pc, #168] @ (70006d04 ) 70006c5c: 6603 str r3, [r0, #96] @ 0x60 hi2s->hdmatx->XferErrorCallback = I2S_DMAError; 70006c5e: 4b2a ldr r3, [pc, #168] @ (70006d08 ) 70006c60: 6683 str r3, [r0, #104] @ 0x68 if ((hi2s->Init.DataFormat == I2S_DATAFORMAT_16B) || (hi2s->Init.DataFormat == I2S_DATAFORMAT_16B_EXTENDED)) 70006c62: 68e3 ldr r3, [r4, #12] 70006c64: f433 6380 bics.w r3, r3, #1024 @ 0x400 if ((hi2s->hdmatx->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70006c68: 6d03 ldr r3, [r0, #80] @ 0x50 hi2s->TxXferCount = Size * 2U; 70006c6a: bf0c ite eq 70006c6c: 0052 lsleq r2, r2, #1 hi2s->TxXferCount = Size * 4U; 70006c6e: 0092 lslne r2, r2, #2 if ((hi2s->hdmatx->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70006c70: 061b lsls r3, r3, #24 hi2s->TxXferCount = Size * 4U; 70006c72: b292 uxth r2, r2 70006c74: 8662 strh r2, [r4, #50] @ 0x32 if ((hi2s->hdmatx->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70006c76: d522 bpl.n 70006cbe if (hi2s->hdmatx->LinkedListQueue != NULL) 70006c78: 6f43 ldr r3, [r0, #116] @ 0x74 70006c7a: b1ab cbz r3, 70006ca8 hi2s->hdmatx->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = hi2s->TxXferCount; 70006c7c: 8e62 ldrh r2, [r4, #50] @ 0x32 70006c7e: 681b ldr r3, [r3, #0] 70006c80: b292 uxth r2, r2 hi2s->hdmatx->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = (uint32_t)hi2s->pTxBuffPtr; 70006c82: e9c3 2102 strd r2, r1, [r3, #8] hi2s->hdmatx->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = (uint32_t)&hi2s->Instance->TXDR; 70006c86: 6822 ldr r2, [r4, #0] 70006c88: 3220 adds r2, #32 70006c8a: 611a str r2, [r3, #16] errorcode = HAL_DMAEx_List_Start_IT(hi2s->hdmatx); 70006c8c: f7fe fc7a bl 70005584 if (errorcode != HAL_OK) 70006c90: b1e0 cbz r0, 70006ccc SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_DMA); 70006c92: 6d23 ldr r3, [r4, #80] @ 0x50 70006c94: f043 0308 orr.w r3, r3, #8 70006c98: 6523 str r3, [r4, #80] @ 0x50 hi2s->State = HAL_I2S_STATE_READY; 70006c9a: 2301 movs r3, #1 70006c9c: f884 304d strb.w r3, [r4, #77] @ 0x4d __HAL_UNLOCK(hi2s); 70006ca0: 2300 movs r3, #0 70006ca2: f884 304c strb.w r3, [r4, #76] @ 0x4c return errorcode; 70006ca6: e008 b.n 70006cba SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_DMA); 70006ca8: 6d22 ldr r2, [r4, #80] @ 0x50 70006caa: f042 0208 orr.w r2, r2, #8 70006cae: 6522 str r2, [r4, #80] @ 0x50 __HAL_UNLOCK(hi2s); 70006cb0: f884 304c strb.w r3, [r4, #76] @ 0x4c hi2s->State = HAL_I2S_STATE_READY; 70006cb4: 2301 movs r3, #1 70006cb6: f884 304d strb.w r3, [r4, #77] @ 0x4d return HAL_ERROR; 70006cba: 2001 movs r0, #1 } 70006cbc: bd10 pop {r4, pc} hi2s->TxXferCount); 70006cbe: 8e63 ldrh r3, [r4, #50] @ 0x32 errorcode = HAL_DMA_Start_IT(hi2s->hdmatx, (uint32_t)hi2s->pTxBuffPtr, (uint32_t)&hi2s->Instance->TXDR, 70006cc0: 6822 ldr r2, [r4, #0] 70006cc2: b29b uxth r3, r3 70006cc4: 3220 adds r2, #32 70006cc6: f7fe f875 bl 70004db4 70006cca: e7e1 b.n 70006c90 if (HAL_IS_BIT_CLR(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN)) 70006ccc: 6823 ldr r3, [r4, #0] 70006cce: 689a ldr r2, [r3, #8] 70006cd0: 0411 lsls r1, r2, #16 70006cd2: d403 bmi.n 70006cdc SET_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN); 70006cd4: 689a ldr r2, [r3, #8] 70006cd6: f442 4200 orr.w r2, r2, #32768 @ 0x8000 70006cda: 609a str r2, [r3, #8] if (HAL_IS_BIT_CLR(hi2s->Instance->CR1, SPI_CR1_SPE)) 70006cdc: 681a ldr r2, [r3, #0] 70006cde: 07d2 lsls r2, r2, #31 70006ce0: d403 bmi.n 70006cea __HAL_I2S_ENABLE(hi2s); 70006ce2: 681a ldr r2, [r3, #0] 70006ce4: f042 0201 orr.w r2, r2, #1 70006ce8: 601a str r2, [r3, #0] SET_BIT(hi2s->Instance->CR1, SPI_CR1_CSTART); 70006cea: 681a ldr r2, [r3, #0] 70006cec: f442 7200 orr.w r2, r2, #512 @ 0x200 70006cf0: 601a str r2, [r3, #0] __HAL_UNLOCK(hi2s); 70006cf2: 2300 movs r3, #0 70006cf4: f884 304c strb.w r3, [r4, #76] @ 0x4c return errorcode; 70006cf8: e7e0 b.n 70006cbc return HAL_BUSY; 70006cfa: 2002 movs r0, #2 70006cfc: e7de b.n 70006cbc 70006cfe: bf00 nop 70006d00: 700069d1 .word 0x700069d1 70006d04: 700069b3 .word 0x700069b3 70006d08: 700069d7 .word 0x700069d7 70006d0c : * cache operation completes. * @retval HAL status (HAL_OK) */ HAL_StatusTypeDef HAL_ICACHE_Enable(void) { SET_BIT(ICACHE->CR, ICACHE_CR_EN); 70006d0c: 4a03 ldr r2, [pc, #12] @ (70006d1c ) return HAL_OK; } 70006d0e: 2000 movs r0, #0 SET_BIT(ICACHE->CR, ICACHE_CR_EN); 70006d10: 6813 ldr r3, [r2, #0] 70006d12: f043 0301 orr.w r3, r3, #1 70006d16: 6013 str r3, [r2, #0] } 70006d18: 4770 bx lr 70006d1a: bf00 nop 70006d1c: 52015000 .word 0x52015000 70006d20 : * @note This function waits for the cache being disabled but * not for the end of the automatic cache invalidation procedure. * @retval HAL status (HAL_OK/HAL_TIMEOUT) */ HAL_StatusTypeDef HAL_ICACHE_Disable(void) { 70006d20: b538 push {r3, r4, r5, lr} HAL_StatusTypeDef status = HAL_OK; uint32_t tickstart; /* Make sure BSYENDF is reset before to disable the instruction cache */ /* as it automatically starts a cache invalidation procedure */ WRITE_REG(ICACHE->FCR, ICACHE_FCR_CBSYENDF); 70006d22: 4c0c ldr r4, [pc, #48] @ (70006d54 ) 70006d24: 2302 movs r3, #2 70006d26: 60e3 str r3, [r4, #12] CLEAR_BIT(ICACHE->CR, ICACHE_CR_EN); 70006d28: 6823 ldr r3, [r4, #0] 70006d2a: f023 0301 bic.w r3, r3, #1 70006d2e: 6023 str r3, [r4, #0] /* Get tick */ tickstart = HAL_GetTick(); 70006d30: f7fd fdb4 bl 7000489c 70006d34: 4605 mov r5, r0 /* Wait for instruction cache being disabled */ while (READ_BIT(ICACHE->CR, ICACHE_CR_EN) != 0U) 70006d36: 6820 ldr r0, [r4, #0] 70006d38: f010 0001 ands.w r0, r0, #1 70006d3c: d100 bne.n 70006d40 } } } return status; } 70006d3e: bd38 pop {r3, r4, r5, pc} if ((HAL_GetTick() - tickstart) > ICACHE_DISABLE_TIMEOUT_VALUE) 70006d40: f7fd fdac bl 7000489c 70006d44: 1b40 subs r0, r0, r5 70006d46: 2801 cmp r0, #1 70006d48: d9f5 bls.n 70006d36 if (READ_BIT(ICACHE->CR, ICACHE_CR_EN) != 0U) 70006d4a: 6823 ldr r3, [r4, #0] 70006d4c: 07db lsls r3, r3, #31 70006d4e: d5f2 bpl.n 70006d36 status = HAL_TIMEOUT; 70006d50: 2003 movs r0, #3 70006d52: e7f4 b.n 70006d3e 70006d54: 52015000 .word 0x52015000 70006d58 : * @brief Wait for the end of the Instruction Cache invalidate procedure. * @note This function checks and clears the BSYENDF flag when set. * @retval HAL status (HAL_OK/HAL_TIMEOUT) */ HAL_StatusTypeDef HAL_ICACHE_WaitForInvalidateComplete(void) { 70006d58: b538 push {r3, r4, r5, lr} HAL_StatusTypeDef status = HAL_OK; uint32_t tickstart; /* Check if ongoing invalidation operation */ if (READ_BIT(ICACHE->SR, ICACHE_SR_BUSYF) != 0U) 70006d5a: 4c0c ldr r4, [pc, #48] @ (70006d8c ) 70006d5c: 6863 ldr r3, [r4, #4] 70006d5e: 07d9 lsls r1, r3, #31 70006d60: d404 bmi.n 70006d6c HAL_StatusTypeDef status = HAL_OK; 70006d62: 2000 movs r0, #0 } } } /* Clear BSYENDF */ WRITE_REG(ICACHE->FCR, ICACHE_FCR_CBSYENDF); 70006d64: 4b09 ldr r3, [pc, #36] @ (70006d8c ) 70006d66: 2202 movs r2, #2 70006d68: 60da str r2, [r3, #12] return status; } 70006d6a: bd38 pop {r3, r4, r5, pc} tickstart = HAL_GetTick(); 70006d6c: f7fd fd96 bl 7000489c 70006d70: 4605 mov r5, r0 while (READ_BIT(ICACHE->SR, ICACHE_SR_BSYENDF) == 0U) 70006d72: 6863 ldr r3, [r4, #4] 70006d74: 079b lsls r3, r3, #30 70006d76: d4f4 bmi.n 70006d62 if ((HAL_GetTick() - tickstart) > ICACHE_INVALIDATE_TIMEOUT_VALUE) 70006d78: f7fd fd90 bl 7000489c 70006d7c: 1b40 subs r0, r0, r5 70006d7e: 2801 cmp r0, #1 70006d80: d9f7 bls.n 70006d72 if (READ_BIT(ICACHE->SR, ICACHE_SR_BSYENDF) == 0U) 70006d82: 6863 ldr r3, [r4, #4] 70006d84: 079a lsls r2, r3, #30 70006d86: d4f4 bmi.n 70006d72 status = HAL_TIMEOUT; 70006d88: 2003 movs r0, #3 70006d8a: e7eb b.n 70006d64 70006d8c: 52015000 .word 0x52015000 70006d90 : if (READ_BIT(ICACHE->SR, ICACHE_SR_BUSYF) == 0U) 70006d90: 4b04 ldr r3, [pc, #16] @ (70006da4 ) 70006d92: 685a ldr r2, [r3, #4] 70006d94: 07d2 lsls r2, r2, #31 70006d96: d403 bmi.n 70006da0 SET_BIT(ICACHE->CR, ICACHE_CR_CACHEINV); 70006d98: 681a ldr r2, [r3, #0] 70006d9a: f042 0202 orr.w r2, r2, #2 70006d9e: 601a str r2, [r3, #0] status = HAL_ICACHE_WaitForInvalidateComplete(); 70006da0: f7ff bfda b.w 70006d58 70006da4: 52015000 .word 0x52015000 70006da8 : * @param LastK pointer to last Coeff (table dimension) * @retval HAL status */ static HAL_StatusTypeDef JPEG_Bits_To_SizeCodes(const uint8_t *Bits, uint8_t *Huffsize, uint32_t *Huffcode, uint32_t *LastK) { 70006da8: b5f0 push {r4, r5, r6, r7, lr} 70006daa: 3801 subs r0, #1 70006dac: 2601 movs r6, #1 uint32_t k; uint32_t code; uint32_t si; /* Figure C.1: Generation of table of Huffman code sizes */ j = 0; 70006dae: 2500 movs r5, #0 for (k = 0; k < 16UL; k++) { i = (uint32_t)Bits[k]; 70006db0: f810 4f01 ldrb.w r4, [r0, #1]! if ((j + i) > 256UL) 70006db4: 462f mov r7, r5 70006db6: 4425 add r5, r4 70006db8: f5b5 7f80 cmp.w r5, #256 @ 0x100 70006dbc: d80d bhi.n 70006dda 70006dbe: 440f add r7, r1 { /* check for table overflow */ return HAL_ERROR; } while (i != 0UL) 70006dc0: b96c cbnz r4, 70006dde for (k = 0; k < 16UL; k++) 70006dc2: 3601 adds r6, #1 70006dc4: 2e11 cmp r6, #17 70006dc6: d1f3 bne.n 70006db0 Huffsize[j] = (uint8_t) k + 1U; j++; i--; } } Huffsize[j] = 0; 70006dc8: 554c strb r4, [r1, r5] /* code must fit in "size" bits (si), no code is allowed to be all ones*/ if (si > 31UL) { return HAL_ERROR; } if (((uint32_t) code) >= (((uint32_t) 1) << si)) 70006dca: 2601 movs r6, #1 *LastK = j; 70006dcc: 601d str r5, [r3, #0] code = 0; 70006dce: 4623 mov r3, r4 si = Huffsize[0]; 70006dd0: 7808 ldrb r0, [r1, #0] 70006dd2: 4605 mov r5, r0 while (Huffsize[j] != 0U) 70006dd4: b110 cbz r0, 70006ddc 70006dd6: 1b1f subs r7, r3, r4 70006dd8: e008 b.n 70006dec return HAL_ERROR; 70006dda: 2001 movs r0, #1 code <<= 1; si++; } /* Return function status */ return HAL_OK; } 70006ddc: bdf0 pop {r4, r5, r6, r7, pc} i--; 70006dde: 3c01 subs r4, #1 Huffsize[j] = (uint8_t) k + 1U; 70006de0: f807 6b01 strb.w r6, [r7], #1 i--; 70006de4: e7ec b.n 70006dc0 Huffcode[j] = code; 70006de6: f842 3024 str.w r3, [r2, r4, lsl #2] j++; 70006dea: 3401 adds r4, #1 while (((uint32_t) Huffsize[j]) == si) 70006dec: 5d08 ldrb r0, [r1, r4] 70006dee: 19e3 adds r3, r4, r7 70006df0: 42a8 cmp r0, r5 70006df2: d0f8 beq.n 70006de6 if (si > 31UL) 70006df4: 2d1f cmp r5, #31 70006df6: d8f0 bhi.n 70006dda if (((uint32_t) code) >= (((uint32_t) 1) << si)) 70006df8: fa06 f705 lsl.w r7, r6, r5 70006dfc: 429f cmp r7, r3 70006dfe: d9ec bls.n 70006dda code <<= 1; 70006e00: 005b lsls r3, r3, #1 si++; 70006e02: 3501 adds r5, #1 70006e04: e7e6 b.n 70006dd4 70006e06 : * @param DC_SizeCodesTable pointer to DC huffman Sizes/Codes table * @retval HAL status */ static HAL_StatusTypeDef JPEG_DCHuff_BitsVals_To_SizeCodes(JPEG_DCHuffTableTypeDef *DC_BitsValsTable, JPEG_DC_HuffCodeTableTypeDef *DC_SizeCodesTable) { 70006e06: b5f0 push {r4, r5, r6, r7, lr} 70006e08: f2ad 5d14 subw sp, sp, #1300 @ 0x514 70006e0c: 460e mov r6, r1 70006e0e: 4604 mov r4, r0 uint32_t k; uint32_t i; uint32_t lastK; uint8_t huffsize[257]; uint32_t huffcode[257]; error = JPEG_Bits_To_SizeCodes(DC_BitsValsTable->Bits, huffsize, huffcode, &lastK); 70006e10: af01 add r7, sp, #4 70006e12: aa43 add r2, sp, #268 @ 0x10c 70006e14: a902 add r1, sp, #8 70006e16: 463b mov r3, r7 70006e18: f7ff ffc6 bl 70006da8 if (error != HAL_OK) 70006e1c: b118 cbz r0, 70006e26 { return error; 70006e1e: 2001 movs r0, #1 } } /* Return function status */ return HAL_OK; } 70006e20: f20d 5d14 addw sp, sp, #1300 @ 0x514 70006e24: bdf0 pop {r4, r5, r6, r7, pc} 70006e26: 683b ldr r3, [r7, #0] 70006e28: f104 010f add.w r1, r4, #15 70006e2c: aa43 add r2, sp, #268 @ 0x10c 70006e2e: ad02 add r5, sp, #8 70006e30: 330f adds r3, #15 70006e32: 441c add r4, r3 while (k < lastK) 70006e34: 42a1 cmp r1, r4 70006e36: d0f3 beq.n 70006e20 i = DC_BitsValsTable->HuffVal[k]; 70006e38: f811 3f01 ldrb.w r3, [r1, #1]! if (i >= JPEG_DC_HUFF_TABLE_SIZE) 70006e3c: 2b0b cmp r3, #11 70006e3e: d8ee bhi.n 70006e1e DC_SizeCodesTable->HuffmanCode[i] = huffcode[k]; 70006e40: eb06 0783 add.w r7, r6, r3, lsl #2 70006e44: f852 cb04 ldr.w ip, [r2], #4 70006e48: f8c7 c00c str.w ip, [r7, #12] DC_SizeCodesTable->CodeLength[i] = huffsize[k] - 1U; 70006e4c: f815 7b01 ldrb.w r7, [r5], #1 70006e50: 3f01 subs r7, #1 70006e52: 54f7 strb r7, [r6, r3] k++; 70006e54: e7ee b.n 70006e34 70006e56 : * @param DCTableAddress Encoder DC huffman table address it could be HUFFENC_DC0 or HUFFENC_DC1. * @retval HAL status */ static HAL_StatusTypeDef JPEG_Set_HuffDC_Mem(const JPEG_HandleTypeDef *hjpeg, JPEG_DCHuffTableTypeDef *HuffTableDC, const __IO uint32_t *DCTableAddress) { 70006e56: 4603 mov r3, r0 70006e58: 4608 mov r0, r1 70006e5a: b5f0 push {r4, r5, r6, r7, lr} uint32_t lsb; uint32_t msb; __IO uint32_t *address; __IO uint32_t *addressDef; if (DCTableAddress == (hjpeg->Instance->HUFFENC_DC0)) 70006e5c: 681c ldr r4, [r3, #0] { 70006e5e: b091 sub sp, #68 @ 0x44 if (DCTableAddress == (hjpeg->Instance->HUFFENC_DC0)) 70006e60: f504 63f8 add.w r3, r4, #1984 @ 0x7c0 70006e64: 429a cmp r2, r3 70006e66: d125 bne.n 70006eb4 { address = (hjpeg->Instance->HUFFENC_DC0 + (JPEG_DC_HUFF_TABLE_SIZE / 2UL)); 70006e68: f504 64fb add.w r4, r4, #2008 @ 0x7d8 return HAL_ERROR; } if (HuffTableDC != NULL) { error = JPEG_DCHuff_BitsVals_To_SizeCodes(HuffTableDC, &dcSizeCodesTable); 70006e6c: a901 add r1, sp, #4 70006e6e: f7ff ffca bl 70006e06 if (error != HAL_OK) 70006e72: bb30 cbnz r0, 70006ec2 { return error; } addressDef = address; *addressDef = 0x0FFF0FFF; 70006e74: aa01 add r2, sp, #4 70006e76: f06f 23f0 mvn.w r3, #4026593280 @ 0xf000f000 70006e7a: f1a4 0618 sub.w r6, r4, #24 addressDef++; *addressDef = 0x0FFF0FFF; 70006e7e: 4615 mov r5, r2 *addressDef = 0x0FFF0FFF; 70006e80: 6023 str r3, [r4, #0] *addressDef = 0x0FFF0FFF; 70006e82: 6063 str r3, [r4, #4] i = JPEG_DC_HUFF_TABLE_SIZE; while (i > 1UL) { i--; address --; msb = ((uint32_t)(((uint32_t)dcSizeCodesTable.CodeLength[i] & 0xFU) << 8)) | 70006e84: 7ad1 ldrb r1, [r2, #11] while (i > 1UL) 70006e86: 3d08 subs r5, #8 ((uint32_t)dcSizeCodesTable.HuffmanCode[i] & 0xFFUL); 70006e88: f895 3040 ldrb.w r3, [r5, #64] @ 0x40 while (i > 1UL) 70006e8c: 3a02 subs r2, #2 msb = ((uint32_t)(((uint32_t)dcSizeCodesTable.CodeLength[i] & 0xFU) << 8)) | 70006e8e: 0209 lsls r1, r1, #8 i--; lsb = ((uint32_t)(((uint32_t)dcSizeCodesTable.CodeLength[i] & 0xFU) << 8)) | ((uint32_t)dcSizeCodesTable.HuffmanCode[i] & 0xFFUL); 70006e90: f895 703c ldrb.w r7, [r5, #60] @ 0x3c msb = ((uint32_t)(((uint32_t)dcSizeCodesTable.CodeLength[i] & 0xFU) << 8)) | 70006e94: f401 6170 and.w r1, r1, #3840 @ 0xf00 70006e98: 4319 orrs r1, r3 lsb = ((uint32_t)(((uint32_t)dcSizeCodesTable.CodeLength[i] & 0xFU) << 8)) | 70006e9a: 7b13 ldrb r3, [r2, #12] 70006e9c: 021b lsls r3, r3, #8 70006e9e: f403 6370 and.w r3, r3, #3840 @ 0xf00 70006ea2: 433b orrs r3, r7 *address = lsb | (msb << 16); 70006ea4: ea43 4301 orr.w r3, r3, r1, lsl #16 70006ea8: f844 3d04 str.w r3, [r4, #-4]! while (i > 1UL) 70006eac: 42b4 cmp r4, r6 70006eae: d1e9 bne.n 70006e84 } } /* Return function status */ return HAL_OK; } 70006eb0: b011 add sp, #68 @ 0x44 70006eb2: bdf0 pop {r4, r5, r6, r7, pc} else if (DCTableAddress == (hjpeg->Instance->HUFFENC_DC1)) 70006eb4: f504 63fc add.w r3, r4, #2016 @ 0x7e0 70006eb8: 429a cmp r2, r3 70006eba: d102 bne.n 70006ec2 address = (hjpeg->Instance->HUFFENC_DC1 + (JPEG_DC_HUFF_TABLE_SIZE / 2UL)); 70006ebc: f504 64ff add.w r4, r4, #2040 @ 0x7f8 if (HuffTableDC != NULL) 70006ec0: e7d4 b.n 70006e6c return HAL_ERROR; 70006ec2: 2001 movs r0, #1 70006ec4: e7f4 b.n 70006eb0 70006ec6 : * @param ACTableAddress Encoder AC huffman table address it could be HUFFENC_AC0 or HUFFENC_AC1. * @retval HAL status */ static HAL_StatusTypeDef JPEG_Set_HuffAC_Mem(const JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeDef *HuffTableAC, const __IO uint32_t *ACTableAddress) { 70006ec6: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} uint32_t lsb; uint32_t msb; __IO uint32_t *address; __IO uint32_t *addressDef; if (ACTableAddress == (hjpeg->Instance->HUFFENC_AC0)) 70006eca: 6804 ldr r4, [r0, #0] { 70006ecc: f6ad 0d38 subw sp, sp, #2104 @ 0x838 70006ed0: 460e mov r6, r1 if (ACTableAddress == (hjpeg->Instance->HUFFENC_AC0)) 70006ed2: f504 63a0 add.w r3, r4, #1280 @ 0x500 70006ed6: 429a cmp r2, r3 70006ed8: d149 bne.n 70006f6e { address = (hjpeg->Instance->HUFFENC_AC0 + (JPEG_AC_HUFF_TABLE_SIZE / 2UL)); 70006eda: f204 6444 addw r4, r4, #1604 @ 0x644 error = JPEG_Bits_To_SizeCodes(AC_BitsValsTable->Bits, huffsize, huffcode, &lastK); 70006ede: 466b mov r3, sp 70006ee0: f20d 4234 addw r2, sp, #1076 @ 0x434 70006ee4: a901 add r1, sp, #4 70006ee6: 4630 mov r0, r6 70006ee8: f7ff ff5e bl 70006da8 if (error != HAL_OK) 70006eec: 2800 cmp r0, #0 70006eee: d152 bne.n 70006f96 70006ef0: 9b00 ldr r3, [sp, #0] 70006ef2: 460d mov r5, r1 70006ef4: f106 0c0f add.w ip, r6, #15 70006ef8: 4617 mov r7, r2 70006efa: 330f adds r3, #15 i = (msb * 10UL) + lsb - 1UL; 70006efc: f04f 0e0a mov.w lr, #10 70006f00: 18f1 adds r1, r6, r3 AC_SizeCodesTable->HuffmanCode[i] = huffcode[k]; 70006f02: ae42 add r6, sp, #264 @ 0x108 while (k < lastK) 70006f04: 4561 cmp r1, ip 70006f06: d139 bne.n 70006f7c /* Locations 162:175 of each AC table contain information used internally by the core */ addressDef = address; for (i = 0; i < 3UL; i++) { *addressDef = 0x0FFF0FFF; 70006f08: f06f 23f0 mvn.w r3, #4026593280 @ 0xf000f000 70006f0c: a942 add r1, sp, #264 @ 0x108 70006f0e: f5a4 76a2 sub.w r6, r4, #324 @ 0x144 70006f12: 6023 str r3, [r4, #0] addressDef++; *addressDef = 0x0FD30FD2; addressDef++; *addressDef = 0x0FD50FD4; addressDef++; *addressDef = 0x0FD70FD6; 70006f14: 460d mov r5, r1 *addressDef = 0x0FFF0FFF; 70006f16: 6063 str r3, [r4, #4] 70006f18: 60a3 str r3, [r4, #8] *addressDef = 0x0FD10FD0; 70006f1a: f103 33d1 add.w r3, r3, #3520188881 @ 0xd1d1d1d1 70006f1e: f103 232e add.w r3, r3, #771763712 @ 0x2e002e00 70006f22: 60e3 str r3, [r4, #12] *addressDef = 0x0FD30FD2; 70006f24: f103 1302 add.w r3, r3, #131074 @ 0x20002 70006f28: 6123 str r3, [r4, #16] *addressDef = 0x0FD50FD4; 70006f2a: f103 1302 add.w r3, r3, #131074 @ 0x20002 70006f2e: 6163 str r3, [r4, #20] *addressDef = 0x0FD70FD6; 70006f30: f103 1302 add.w r3, r3, #131074 @ 0x20002 70006f34: 61a3 str r3, [r4, #24] i = JPEG_AC_HUFF_TABLE_SIZE; while (i > 1UL) { i--; address--; msb = ((uint32_t)(((uint32_t)acSizeCodesTable.CodeLength[i] & 0xFU) << 8)) | 70006f36: f891 20a1 ldrb.w r2, [r1, #161] @ 0xa1 while (i > 1UL) 70006f3a: 3d08 subs r5, #8 ((uint32_t)acSizeCodesTable.HuffmanCode[i] & 0xFFUL); 70006f3c: f895 3330 ldrb.w r3, [r5, #816] @ 0x330 while (i > 1UL) 70006f40: 3902 subs r1, #2 msb = ((uint32_t)(((uint32_t)acSizeCodesTable.CodeLength[i] & 0xFU) << 8)) | 70006f42: 0212 lsls r2, r2, #8 i--; lsb = ((uint32_t)(((uint32_t)acSizeCodesTable.CodeLength[i] & 0xFU) << 8)) | ((uint32_t)acSizeCodesTable.HuffmanCode[i] & 0xFFUL); 70006f44: f895 732c ldrb.w r7, [r5, #812] @ 0x32c msb = ((uint32_t)(((uint32_t)acSizeCodesTable.CodeLength[i] & 0xFU) << 8)) | 70006f48: f402 6270 and.w r2, r2, #3840 @ 0xf00 70006f4c: 431a orrs r2, r3 lsb = ((uint32_t)(((uint32_t)acSizeCodesTable.CodeLength[i] & 0xFU) << 8)) | 70006f4e: f891 30a2 ldrb.w r3, [r1, #162] @ 0xa2 70006f52: 021b lsls r3, r3, #8 70006f54: f403 6370 and.w r3, r3, #3840 @ 0xf00 70006f58: 433b orrs r3, r7 *address = lsb | (msb << 16); 70006f5a: ea43 4302 orr.w r3, r3, r2, lsl #16 70006f5e: f844 3d04 str.w r3, [r4, #-4]! while (i > 1UL) 70006f62: 42b4 cmp r4, r6 70006f64: d1e7 bne.n 70006f36 } } /* Return function status */ return HAL_OK; } 70006f66: f60d 0d38 addw sp, sp, #2104 @ 0x838 70006f6a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} else if (ACTableAddress == (hjpeg->Instance->HUFFENC_AC1)) 70006f6e: f504 63cc add.w r3, r4, #1632 @ 0x660 70006f72: 429a cmp r2, r3 70006f74: d10f bne.n 70006f96 address = (hjpeg->Instance->HUFFENC_AC1 + (JPEG_AC_HUFF_TABLE_SIZE / 2UL)); 70006f76: f204 74a4 addw r4, r4, #1956 @ 0x7a4 if (HuffTableAC != NULL) 70006f7a: e7b0 b.n 70006ede i = AC_BitsValsTable->HuffVal[k]; 70006f7c: f81c 3f01 ldrb.w r3, [ip, #1]! if (i == 0UL) 70006f80: b15b cbz r3, 70006f9a else if (i == 0xF0UL) /* i = 0xF0 ZRL code*/ 70006f82: 2bf0 cmp r3, #240 @ 0xf0 70006f84: d015 beq.n 70006fb2 msb = (i & 0xF0UL) >> 4; 70006f86: 091a lsrs r2, r3, #4 lsb = (i & 0x0FUL); 70006f88: f003 030f and.w r3, r3, #15 i = (msb * 10UL) + lsb - 1UL; 70006f8c: 3b01 subs r3, #1 70006f8e: fb0e 3302 mla r3, lr, r2, r3 if (i >= JPEG_AC_HUFF_TABLE_SIZE) 70006f92: 2ba1 cmp r3, #161 @ 0xa1 70006f94: d902 bls.n 70006f9c return HAL_ERROR; 70006f96: 2001 movs r0, #1 70006f98: e7e5 b.n 70006f66 i = JPEG_AC_HUFF_TABLE_SIZE - 2UL; /*i = 0x00 EOB code*/ 70006f9a: 23a0 movs r3, #160 @ 0xa0 AC_SizeCodesTable->HuffmanCode[i] = huffcode[k]; 70006f9c: eb06 0283 add.w r2, r6, r3, lsl #2 70006fa0: f857 8b04 ldr.w r8, [r7], #4 70006fa4: f8c2 80a4 str.w r8, [r2, #164] @ 0xa4 AC_SizeCodesTable->CodeLength[i] = huffsize[k] - 1U; 70006fa8: f815 2b01 ldrb.w r2, [r5], #1 70006fac: 3a01 subs r2, #1 70006fae: 54f2 strb r2, [r6, r3] k++; 70006fb0: e7a8 b.n 70006f04 i = JPEG_AC_HUFF_TABLE_SIZE - 1UL; 70006fb2: 23a1 movs r3, #161 @ 0xa1 70006fb4: e7f2 b.n 70006f9c 70006fb6 : * @retval None */ static void JPEG_Init_Process(JPEG_HandleTypeDef *hjpeg) { /*Reset pause*/ hjpeg->Context &= (~(JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT)); 70006fb6: 6d43 ldr r3, [r0, #84] @ 0x54 70006fb8: f423 5340 bic.w r3, r3, #12288 @ 0x3000 70006fbc: 6543 str r3, [r0, #84] @ 0x54 if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 70006fbe: 6d42 ldr r2, [r0, #84] @ 0x54 { /*Set JPEG Codec to Decoding mode */ hjpeg->Instance->CONFR1 |= JPEG_CONFR1_DE; 70006fc0: 6803 ldr r3, [r0, #0] if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 70006fc2: f002 0203 and.w r2, r2, #3 70006fc6: 2a02 cmp r2, #2 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_DE; 70006fc8: 685a ldr r2, [r3, #4] 70006fca: bf0c ite eq 70006fcc: f042 0208 orreq.w r2, r2, #8 } else /* JPEG_CONTEXT_ENCODE */ { /*Set JPEG Codec to Encoding mode */ hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_DE; 70006fd0: f022 0208 bicne.w r2, r2, #8 70006fd4: 605a str r2, [r3, #4] } /*Stop JPEG processing */ hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; 70006fd6: 681a ldr r2, [r3, #0] 70006fd8: f022 0201 bic.w r2, r2, #1 70006fdc: 601a str r2, [r3, #0] /* Disable All Interrupts */ __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); 70006fde: 6b1a ldr r2, [r3, #48] @ 0x30 70006fe0: f022 027e bic.w r2, r2, #126 @ 0x7e 70006fe4: 631a str r2, [r3, #48] @ 0x30 /* Disable All DMA requests */ JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); 70006fe6: 6b1a ldr r2, [r3, #48] @ 0x30 70006fe8: f422 52c0 bic.w r2, r2, #6144 @ 0x1800 70006fec: 631a str r2, [r3, #48] @ 0x30 /* Flush input and output FIFOs*/ hjpeg->Instance->CR |= JPEG_CR_IFF; 70006fee: 6b1a ldr r2, [r3, #48] @ 0x30 70006ff0: f442 5200 orr.w r2, r2, #8192 @ 0x2000 70006ff4: 631a str r2, [r3, #48] @ 0x30 hjpeg->Instance->CR |= JPEG_CR_OFF; 70006ff6: 6b1a ldr r2, [r3, #48] @ 0x30 70006ff8: f442 4280 orr.w r2, r2, #16384 @ 0x4000 70006ffc: 631a str r2, [r3, #48] @ 0x30 /* Clear all flags */ __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); 70006ffe: 6b9a ldr r2, [r3, #56] @ 0x38 70007000: f042 0260 orr.w r2, r2, #96 @ 0x60 70007004: 639a str r2, [r3, #56] @ 0x38 /*Start Encoding/Decoding*/ hjpeg->Instance->CONFR0 |= JPEG_CONFR0_START; 70007006: 681a ldr r2, [r3, #0] 70007008: f042 0201 orr.w r2, r2, #1 7000700c: 601a str r2, [r3, #0] if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) 7000700e: 6d42 ldr r2, [r0, #84] @ 0x54 70007010: f002 020c and.w r2, r2, #12 70007014: 2a08 cmp r2, #8 70007016: d104 bne.n 70007022 { /*Enable IN/OUT, end of Conversation, and end of header parsing interruptions*/ __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_IFT | JPEG_IT_IFNF | JPEG_IT_OFT | JPEG_IT_OFNE | JPEG_IT_EOC | JPEG_IT_HPD); 70007018: 6b1a ldr r2, [r3, #48] @ 0x30 7000701a: f042 026e orr.w r2, r2, #110 @ 0x6e } else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) { /*Enable End Of Conversation, and End Of Header parsing interruptions*/ __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); 7000701e: 631a str r2, [r3, #48] @ 0x30 } else { /* Nothing to do */ } } 70007020: 4770 bx lr else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) 70007022: 6d42 ldr r2, [r0, #84] @ 0x54 70007024: f002 020c and.w r2, r2, #12 70007028: 2a0c cmp r2, #12 7000702a: d1f9 bne.n 70007020 __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); 7000702c: 6b1a ldr r2, [r3, #48] @ 0x30 7000702e: f042 0260 orr.w r2, r2, #96 @ 0x60 70007032: e7f4 b.n 7000701e 70007034 : * @param hjpeg pointer to a JPEG_HandleTypeDef structure that contains * the configuration information for JPEG module * @retval JPEG_PROCESS_DONE if process ends else JPEG_PROCESS_ONGOING */ static HAL_StatusTypeDef JPEG_DMA_StartProcess(JPEG_HandleTypeDef *hjpeg) { 70007034: b5f8 push {r3, r4, r5, r6, r7, lr} if ((hjpeg->InDataLength < 4UL) || (hjpeg->OutDataLength < 4UL)) 70007036: 6a83 ldr r3, [r0, #40] @ 0x28 { 70007038: 4604 mov r4, r0 if ((hjpeg->InDataLength < 4UL) || (hjpeg->OutDataLength < 4UL)) 7000703a: 2b03 cmp r3, #3 7000703c: d92a bls.n 70007094 7000703e: 6ac1 ldr r1, [r0, #44] @ 0x2c 70007040: 2903 cmp r1, #3 70007042: d927 bls.n 70007094 { return HAL_ERROR; } /* Reset Ending DMA internal context flag*/ hjpeg->Context &= ~JPEG_CONTEXT_ENDING_DMA; 70007044: 6d42 ldr r2, [r0, #84] @ 0x54 /*DMA transfer size must be a multiple of 4 bytes i.e multiple of 32bits words*/ hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4UL); /*DMA transfer size must be a multiple of 4 bytes i.e multiple of 32bits words*/ hjpeg->OutDataLength = hjpeg->OutDataLength - (hjpeg->OutDataLength % 4UL); 70007046: f021 0103 bic.w r1, r1, #3 hjpeg->hdmain->XferCpltCallback = JPEG_DMAInCpltCallback; 7000704a: 4d33 ldr r5, [pc, #204] @ (70007118 ) hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4UL); 7000704c: f023 0303 bic.w r3, r3, #3 hjpeg->Context &= ~JPEG_CONTEXT_ENDING_DMA; 70007050: f422 4200 bic.w r2, r2, #32768 @ 0x8000 hjpeg->hdmain->XferErrorCallback = JPEG_DMAErrorCallback; 70007054: 4e31 ldr r6, [pc, #196] @ (7000711c ) hjpeg->hdmaout->XferCpltCallback = JPEG_DMAOutCpltCallback; 70007056: 4f32 ldr r7, [pc, #200] @ (70007120 ) hjpeg->Context &= ~JPEG_CONTEXT_ENDING_DMA; 70007058: 6542 str r2, [r0, #84] @ 0x54 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA | JPEG_DMA_IDMA); 7000705a: 6802 ldr r2, [r0, #0] 7000705c: 6b10 ldr r0, [r2, #48] @ 0x30 7000705e: f420 50c0 bic.w r0, r0, #6144 @ 0x1800 70007062: 6310 str r0, [r2, #48] @ 0x30 hjpeg->hdmain->XferCpltCallback = JPEG_DMAInCpltCallback; 70007064: 6b20 ldr r0, [r4, #48] @ 0x30 70007066: 6605 str r5, [r0, #96] @ 0x60 hjpeg->hdmaout->XferCpltCallback = JPEG_DMAOutCpltCallback; 70007068: 6b65 ldr r5, [r4, #52] @ 0x34 hjpeg->hdmain->XferErrorCallback = JPEG_DMAErrorCallback; 7000706a: 6686 str r6, [r0, #104] @ 0x68 hjpeg->hdmaout->XferErrorCallback = JPEG_DMAErrorCallback; 7000706c: 66ae str r6, [r5, #104] @ 0x68 hjpeg->hdmaout->XferAbortCallback = JPEG_DMAOutAbortCallback; 7000706e: 4e2d ldr r6, [pc, #180] @ (70007124 ) hjpeg->hdmaout->XferCpltCallback = JPEG_DMAOutCpltCallback; 70007070: 662f str r7, [r5, #96] @ 0x60 hjpeg->hdmaout->XferAbortCallback = JPEG_DMAOutAbortCallback; 70007072: 66ee str r6, [r5, #108] @ 0x6c hjpeg->OutDataLength = hjpeg->OutDataLength - (hjpeg->OutDataLength % 4UL); 70007074: 62e1 str r1, [r4, #44] @ 0x2c if ((hjpeg->hdmain->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 70007076: 6d01 ldr r1, [r0, #80] @ 0x50 hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4UL); 70007078: 62a3 str r3, [r4, #40] @ 0x28 if ((hjpeg->hdmain->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 7000707a: 0609 lsls r1, r1, #24 7000707c: d516 bpl.n 700070ac { if (hjpeg->hdmain->LinkedListQueue != NULL) 7000707e: 6f41 ldr r1, [r0, #116] @ 0x74 70007080: b151 cbz r1, 70007098 { /* Set DMA data size */ hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = hjpeg->InDataLength; 70007082: 6809 ldr r1, [r1, #0] /* Set DMA source address */ hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = (uint32_t)hjpeg->pJpegInBuffPtr; /* Set DMA destination address */ hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = (uint32_t)&hjpeg->Instance->DIR; 70007084: 3240 adds r2, #64 @ 0x40 hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = hjpeg->InDataLength; 70007086: 608b str r3, [r1, #8] hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = (uint32_t)hjpeg->pJpegInBuffPtr; 70007088: 69a3 ldr r3, [r4, #24] hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = (uint32_t)&hjpeg->Instance->DIR; 7000708a: 610a str r2, [r1, #16] hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = (uint32_t)hjpeg->pJpegInBuffPtr; 7000708c: 60cb str r3, [r1, #12] if (HAL_DMAEx_List_Start_IT(hjpeg->hdmain) != HAL_OK) 7000708e: f7fe fa79 bl 70005584 70007092: b1a8 cbz r0, 700070c0 return HAL_ERROR; 70007094: 2001 movs r0, #1 /* Enable JPEG In/Out DMA requests*/ JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_IDMA | JPEG_DMA_ODMA); return HAL_OK; } 70007096: bdf8 pop {r3, r4, r5, r6, r7, pc} hjpeg->State = HAL_JPEG_STATE_READY; 70007098: 2301 movs r3, #1 __HAL_UNLOCK(hjpeg); 7000709a: f884 104c strb.w r1, [r4, #76] @ 0x4c hjpeg->State = HAL_JPEG_STATE_READY; 7000709e: f884 304d strb.w r3, [r4, #77] @ 0x4d hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; 700070a2: 6d23 ldr r3, [r4, #80] @ 0x50 700070a4: f043 0304 orr.w r3, r3, #4 700070a8: 6523 str r3, [r4, #80] @ 0x50 return HAL_ERROR; 700070aa: e7f3 b.n 70007094 if (HAL_DMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->DIR, 700070ac: 3240 adds r2, #64 @ 0x40 700070ae: 69a1 ldr r1, [r4, #24] 700070b0: f7fd fe80 bl 70004db4 700070b4: b120 cbz r0, 700070c0 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; 700070b6: 6d23 ldr r3, [r4, #80] @ 0x50 700070b8: f043 0304 orr.w r3, r3, #4 700070bc: 6523 str r3, [r4, #80] @ 0x50 return HAL_ERROR; 700070be: e7e9 b.n 70007094 if ((hjpeg->hdmaout->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 700070c0: 6b60 ldr r0, [r4, #52] @ 0x34 700070c2: 6d03 ldr r3, [r0, #80] @ 0x50 700070c4: 061b lsls r3, r3, #24 700070c6: d51e bpl.n 70007106 if (hjpeg->hdmaout->LinkedListQueue != NULL) 700070c8: 6f43 ldr r3, [r0, #116] @ 0x74 700070ca: b193 cbz r3, 700070f2 hjpeg->hdmaout->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = hjpeg->OutDataLength; 700070cc: 6ae2 ldr r2, [r4, #44] @ 0x2c 700070ce: 681b ldr r3, [r3, #0] 700070d0: 609a str r2, [r3, #8] hjpeg->hdmaout->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = (uint32_t)&hjpeg->Instance->DOR; 700070d2: 6822 ldr r2, [r4, #0] 700070d4: 3244 adds r2, #68 @ 0x44 700070d6: 60da str r2, [r3, #12] hjpeg->hdmaout->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = (uint32_t)hjpeg->pJpegOutBuffPtr; 700070d8: 69e2 ldr r2, [r4, #28] 700070da: 611a str r2, [r3, #16] if (HAL_DMAEx_List_Start_IT(hjpeg->hdmaout) != HAL_OK) 700070dc: f7fe fa52 bl 70005584 700070e0: 2800 cmp r0, #0 700070e2: d1d7 bne.n 70007094 JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_IDMA | JPEG_DMA_ODMA); 700070e4: 6822 ldr r2, [r4, #0] return HAL_OK; 700070e6: 2000 movs r0, #0 JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_IDMA | JPEG_DMA_ODMA); 700070e8: 6b13 ldr r3, [r2, #48] @ 0x30 700070ea: f443 53c0 orr.w r3, r3, #6144 @ 0x1800 700070ee: 6313 str r3, [r2, #48] @ 0x30 return HAL_OK; 700070f0: e7d1 b.n 70007096 hjpeg->State = HAL_JPEG_STATE_READY; 700070f2: 2201 movs r2, #1 __HAL_UNLOCK(hjpeg); 700070f4: f884 304c strb.w r3, [r4, #76] @ 0x4c hjpeg->State = HAL_JPEG_STATE_READY; 700070f8: f884 204d strb.w r2, [r4, #77] @ 0x4d hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; 700070fc: 6d22 ldr r2, [r4, #80] @ 0x50 700070fe: f042 0204 orr.w r2, r2, #4 70007102: 6522 str r2, [r4, #80] @ 0x50 return HAL_ERROR; 70007104: e7c6 b.n 70007094 if (HAL_DMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuffPtr, 70007106: 6821 ldr r1, [r4, #0] 70007108: 6ae3 ldr r3, [r4, #44] @ 0x2c 7000710a: 69e2 ldr r2, [r4, #28] 7000710c: 3144 adds r1, #68 @ 0x44 7000710e: f7fd fe51 bl 70004db4 70007112: 2800 cmp r0, #0 70007114: d0e6 beq.n 700070e4 70007116: e7ce b.n 700070b6 70007118: 70007747 .word 0x70007747 7000711c: 7000762f .word 0x7000762f 70007120: 70007bdb .word 0x70007bdb 70007124: 70007bcd .word 0x70007bcd 70007128 : { 70007128: b5f8 push {r3, r4, r5, r6, r7, lr} if (hjpeg == NULL) 7000712a: 4605 mov r5, r0 7000712c: 2800 cmp r0, #0 7000712e: f000 8117 beq.w 70007360 if (hjpeg->State == HAL_JPEG_STATE_RESET) 70007132: f890 304d ldrb.w r3, [r0, #77] @ 0x4d 70007136: f003 02ff and.w r2, r3, #255 @ 0xff 7000713a: b91b cbnz r3, 70007144 hjpeg->Lock = HAL_UNLOCKED; 7000713c: f880 204c strb.w r2, [r0, #76] @ 0x4c HAL_JPEG_MspInit(hjpeg); 70007140: f7fa f830 bl 700011a4 __HAL_JPEG_ENABLE(hjpeg); 70007144: 682c ldr r4, [r5, #0] hjpeg->State = HAL_JPEG_STATE_BUSY; 70007146: 2302 movs r3, #2 70007148: 4a86 ldr r2, [pc, #536] @ (70007364 ) 7000714a: f885 304d strb.w r3, [r5, #77] @ 0x4d address = (hjpeg->Instance->DHTMEM + 3); 7000714e: f504 715b add.w r1, r4, #876 @ 0x36c __HAL_JPEG_ENABLE(hjpeg); 70007152: 6b23 ldr r3, [r4, #48] @ 0x30 70007154: f504 7057 add.w r0, r4, #860 @ 0x35c 70007158: f043 0301 orr.w r3, r3, #1 7000715c: 6323 str r3, [r4, #48] @ 0x30 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; 7000715e: 6823 ldr r3, [r4, #0] 70007160: f023 0301 bic.w r3, r3, #1 70007164: 6023 str r3, [r4, #0] __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); 70007166: 6b23 ldr r3, [r4, #48] @ 0x30 70007168: f023 037e bic.w r3, r3, #126 @ 0x7e 7000716c: 6323 str r3, [r4, #48] @ 0x30 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); 7000716e: 6b23 ldr r3, [r4, #48] @ 0x30 70007170: f423 53c0 bic.w r3, r3, #6144 @ 0x1800 70007174: 6323 str r3, [r4, #48] @ 0x30 hjpeg->Instance->CR |= JPEG_CR_IFF; 70007176: 6b23 ldr r3, [r4, #48] @ 0x30 70007178: f443 5300 orr.w r3, r3, #8192 @ 0x2000 7000717c: 6323 str r3, [r4, #48] @ 0x30 hjpeg->Instance->CR |= JPEG_CR_OFF; 7000717e: 6b23 ldr r3, [r4, #48] @ 0x30 70007180: f443 4380 orr.w r3, r3, #16384 @ 0x4000 70007184: 6323 str r3, [r4, #48] @ 0x30 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); 70007186: 6ba3 ldr r3, [r4, #56] @ 0x38 70007188: f043 0360 orr.w r3, r3, #96 @ 0x60 7000718c: 63a3 str r3, [r4, #56] @ 0x38 hjpeg->QuantTable0 = (uint8_t *)((uint32_t)JPEG_LUM_QuantTable); 7000718e: 4b76 ldr r3, [pc, #472] @ (70007368 ) 70007190: 63eb str r3, [r5, #60] @ 0x3c hjpeg->QuantTable1 = (uint8_t *)((uint32_t)JPEG_CHROM_QuantTable); 70007192: 4b76 ldr r3, [pc, #472] @ (7000736c ) 70007194: 642b str r3, [r5, #64] @ 0x40 hjpeg->QuantTable2 = NULL; 70007196: 2300 movs r3, #0 hjpeg->QuantTable3 = NULL; 70007198: e9c5 3311 strd r3, r3, [r5, #68] @ 0x44 (((uint32_t)HuffTableDC0->Bits[index - 2UL] & 0xFFUL) << 16) | 7000719c: 7b93 ldrb r3, [r2, #14] while (index > 3UL) 7000719e: 3a04 subs r2, #4 *address = (((uint32_t)HuffTableDC0->Bits[index - 1UL] & 0xFFUL) << 24) | 700071a0: 7cd6 ldrb r6, [r2, #19] (((uint32_t)HuffTableDC0->Bits[index - 2UL] & 0xFFUL) << 16) | 700071a2: 041b lsls r3, r3, #16 *address = (((uint32_t)HuffTableDC0->Bits[index - 1UL] & 0xFFUL) << 24) | 700071a4: ea43 6306 orr.w r3, r3, r6, lsl #24 ((uint32_t)HuffTableDC0->Bits[index - 4UL] & 0xFFUL); 700071a8: 7c16 ldrb r6, [r2, #16] (((uint32_t)HuffTableDC0->Bits[index - 3UL] & 0xFFUL) << 8) | 700071aa: 4333 orrs r3, r6 700071ac: 7c56 ldrb r6, [r2, #17] 700071ae: ea43 2306 orr.w r3, r3, r6, lsl #8 *address = (((uint32_t)HuffTableDC0->Bits[index - 1UL] & 0xFFUL) << 24) | 700071b2: f841 3904 str.w r3, [r1], #-4 while (index > 3UL) 700071b6: 4281 cmp r1, r0 700071b8: d1f0 bne.n 7000719c *address = (((uint32_t)HuffTableDC0->HuffVal[index - 1UL] & 0xFFUL) << 24) | 700071ba: 4b6d ldr r3, [pc, #436] @ (70007370 ) address = (hjpeg->Instance->DHTMEM + 10UL); 700071bc: f504 7162 add.w r1, r4, #904 @ 0x388 700071c0: 4a6c ldr r2, [pc, #432] @ (70007374 ) 700071c2: f504 775e add.w r7, r4, #888 @ 0x378 *address = (((uint32_t)HuffTableDC0->HuffVal[index - 1UL] & 0xFFUL) << 24) | 700071c6: f8c4 3378 str.w r3, [r4, #888] @ 0x378 700071ca: f1a3 3304 sub.w r3, r3, #67372036 @ 0x4040404 address = (hjpeg->Instance->DHTMEM + 10UL); 700071ce: 4610 mov r0, r2 700071d0: 460e mov r6, r1 *address = (((uint32_t)HuffTableDC0->HuffVal[index - 1UL] & 0xFFUL) << 24) | 700071d2: f8c4 3374 str.w r3, [r4, #884] @ 0x374 700071d6: f1a3 3304 sub.w r3, r3, #67372036 @ 0x4040404 700071da: f8c4 3370 str.w r3, [r4, #880] @ 0x370 (((uint32_t)HuffTableAC0->Bits[index - 2UL] & 0xFFUL) << 16) | 700071de: 7b83 ldrb r3, [r0, #14] while (index > 3UL) 700071e0: 3804 subs r0, #4 *address = (((uint32_t)HuffTableAC0->Bits[index - 1UL] & 0xFFUL) << 24) | 700071e2: f890 c013 ldrb.w ip, [r0, #19] (((uint32_t)HuffTableAC0->Bits[index - 2UL] & 0xFFUL) << 16) | 700071e6: 041b lsls r3, r3, #16 *address = (((uint32_t)HuffTableAC0->Bits[index - 1UL] & 0xFFUL) << 24) | 700071e8: ea43 630c orr.w r3, r3, ip, lsl #24 ((uint32_t)HuffTableAC0->Bits[index - 4UL] & 0xFFUL); 700071ec: f890 c010 ldrb.w ip, [r0, #16] (((uint32_t)HuffTableAC0->Bits[index - 3UL] & 0xFFUL) << 8) | 700071f0: ea43 030c orr.w r3, r3, ip 700071f4: f890 c011 ldrb.w ip, [r0, #17] 700071f8: ea43 230c orr.w r3, r3, ip, lsl #8 *address = (((uint32_t)HuffTableAC0->Bits[index - 1UL] & 0xFFUL) << 24) | 700071fc: f846 3904 str.w r3, [r6], #-4 while (index > 3UL) 70007200: 42be cmp r6, r7 70007202: d1ec bne.n 700071de value = *address & 0xFFFF0000U; 70007204: f8d4 342c ldr.w r3, [r4, #1068] @ 0x42c address--; /* address = hjpeg->Instance->DHTMEM + 50*/ 70007208: f504 6085 add.w r0, r4, #1064 @ 0x428 value = *address & 0xFFFF0000U; 7000720c: f36f 030f bfc r3, #0, #16 value = value | (((uint32_t)HuffTableAC0->HuffVal[161] & 0xFFUL) << 8) | 70007210: f443 437a orr.w r3, r3, #64000 @ 0xfa00 70007214: f043 03f9 orr.w r3, r3, #249 @ 0xf9 *address = value; 70007218: f8c4 342c str.w r3, [r4, #1068] @ 0x42c (((uint32_t)HuffTableAC0->HuffVal[index - 2UL] & 0xFFUL) << 16) | 7000721c: f892 30ae ldrb.w r3, [r2, #174] @ 0xae while (index > 3UL) 70007220: 3a04 subs r2, #4 *address = (((uint32_t)HuffTableAC0->HuffVal[index - 1UL] & 0xFFUL) << 24) | 70007222: f892 60b3 ldrb.w r6, [r2, #179] @ 0xb3 (((uint32_t)HuffTableAC0->HuffVal[index - 2UL] & 0xFFUL) << 16) | 70007226: 041b lsls r3, r3, #16 *address = (((uint32_t)HuffTableAC0->HuffVal[index - 1UL] & 0xFFUL) << 24) | 70007228: ea43 6306 orr.w r3, r3, r6, lsl #24 ((uint32_t)HuffTableAC0->HuffVal[index - 4UL] & 0xFFUL); 7000722c: f892 60b0 ldrb.w r6, [r2, #176] @ 0xb0 (((uint32_t)HuffTableAC0->HuffVal[index - 3UL] & 0xFFUL) << 8) | 70007230: 4333 orrs r3, r6 70007232: f892 60b1 ldrb.w r6, [r2, #177] @ 0xb1 70007236: ea43 2306 orr.w r3, r3, r6, lsl #8 *address = (((uint32_t)HuffTableAC0->HuffVal[index - 1UL] & 0xFFUL) << 24) | 7000723a: f840 3904 str.w r3, [r0], #-4 while (index > 3UL) 7000723e: 4281 cmp r1, r0 70007240: d1ec bne.n 7000721c value = *address & 0x0000FFFFU; 70007242: f8d4 342c ldr.w r3, [r4, #1068] @ 0x42c address = (hjpeg->Instance->DHTMEM + 102); 70007246: f504 619f add.w r1, r4, #1272 @ 0x4f8 value = *address & 0xFFFF0000U; 7000724a: 4a4b ldr r2, [pc, #300] @ (70007378 ) 7000724c: f504 608b add.w r0, r4, #1112 @ 0x458 value = *address & 0x0000FFFFU; 70007250: b29b uxth r3, r3 value = value | (((uint32_t)HuffTableDC1->Bits[1] & 0xFFUL) << 24) | 70007252: f043 7340 orr.w r3, r3, #50331648 @ 0x3000000 *address = value; 70007256: f8c4 342c str.w r3, [r4, #1068] @ 0x42c value = *address & 0xFFFF0000U; 7000725a: f8d4 343c ldr.w r3, [r4, #1084] @ 0x43c 7000725e: 4013 ands r3, r2 *address = value; 70007260: f8c4 343c str.w r3, [r4, #1084] @ 0x43c *address = (((uint32_t)HuffTableDC1->Bits[index + 1UL] & 0xFFUL) << 24) | 70007264: 2301 movs r3, #1 70007266: f8c4 3438 str.w r3, [r4, #1080] @ 0x438 7000726a: f04f 3301 mov.w r3, #16843009 @ 0x1010101 7000726e: f8c4 3434 str.w r3, [r4, #1076] @ 0x434 70007272: f8c4 3430 str.w r3, [r4, #1072] @ 0x430 value = *address & 0x0000FFFFUL; 70007276: f8d4 343c ldr.w r3, [r4, #1084] @ 0x43c 7000727a: b29b uxth r3, r3 value = value | (((uint32_t)HuffTableDC1->HuffVal[1] & 0xFFUL) << 24) | 7000727c: f043 7380 orr.w r3, r3, #16777216 @ 0x1000000 *address = value; 70007280: f8c4 343c str.w r3, [r4, #1084] @ 0x43c value = *address & 0xFFFF0000UL; 70007284: f8d4 3448 ldr.w r3, [r4, #1096] @ 0x448 70007288: 4013 ands r3, r2 value = value | (((uint32_t)HuffTableDC1->HuffVal[11] & 0xFFUL) << 8) | 7000728a: f443 6330 orr.w r3, r3, #2816 @ 0xb00 7000728e: f043 030a orr.w r3, r3, #10 *address = value; 70007292: f8c4 3448 str.w r3, [r4, #1096] @ 0x448 *address = (((uint32_t)HuffTableDC1->HuffVal[index + 1UL] & 0xFFUL) << 24) | 70007296: 4b39 ldr r3, [pc, #228] @ (7000737c ) 70007298: f8c4 3444 str.w r3, [r4, #1092] @ 0x444 7000729c: f1a3 3304 sub.w r3, r3, #67372036 @ 0x4040404 700072a0: f8c4 3440 str.w r3, [r4, #1088] @ 0x440 value = *address & 0x0000FFFFU; 700072a4: f8d4 3448 ldr.w r3, [r4, #1096] @ 0x448 700072a8: b29b uxth r3, r3 value = value | (((uint32_t)HuffTableAC1->Bits[1] & 0xFFUL) << 24) | 700072aa: f043 7300 orr.w r3, r3, #33554432 @ 0x2000000 *address = value; 700072ae: f8c4 3448 str.w r3, [r4, #1096] @ 0x448 value = *address & 0xFFFF0000U; 700072b2: f8d4 3458 ldr.w r3, [r4, #1112] @ 0x458 700072b6: 4013 ands r3, r2 value = value | (((uint32_t)HuffTableAC1->Bits[15] & 0xFFUL) << 8) | ((uint32_t)HuffTableAC1->Bits[14] & 0xFFUL); 700072b8: 4a31 ldr r2, [pc, #196] @ (70007380 ) 700072ba: f443 43ee orr.w r3, r3, #30464 @ 0x7700 700072be: f043 0302 orr.w r3, r3, #2 *address = value; 700072c2: f8c4 3458 str.w r3, [r4, #1112] @ 0x458 *address = (((uint32_t)HuffTableAC1->Bits[index + 1UL] & 0xFFUL) << 24) | 700072c6: 4b2f ldr r3, [pc, #188] @ (70007384 ) 700072c8: f8c4 3454 str.w r3, [r4, #1108] @ 0x454 700072cc: 4b2e ldr r3, [pc, #184] @ (70007388 ) 700072ce: f8c4 3450 str.w r3, [r4, #1104] @ 0x450 700072d2: 4b2e ldr r3, [pc, #184] @ (7000738c ) 700072d4: f8c4 344c str.w r3, [r4, #1100] @ 0x44c value = *address & 0x0000FFFFUL; 700072d8: f8d4 3458 ldr.w r3, [r4, #1112] @ 0x458 700072dc: b29b uxth r3, r3 value = value | (((uint32_t)HuffTableAC1->HuffVal[1] & 0xFFUL) << 24) | 700072de: f043 7380 orr.w r3, r3, #16777216 @ 0x1000000 *address = value; 700072e2: f8c4 3458 str.w r3, [r4, #1112] @ 0x458 (((uint32_t)HuffTableAC1->HuffVal[index] & 0xFFUL) << 16) | 700072e6: f892 30b0 ldrb.w r3, [r2, #176] @ 0xb0 while (index > 3UL) 700072ea: 3a04 subs r2, #4 *address = (((uint32_t)HuffTableAC1->HuffVal[index + 1UL] & 0xFFUL) << 24) | 700072ec: f892 60b5 ldrb.w r6, [r2, #181] @ 0xb5 (((uint32_t)HuffTableAC1->HuffVal[index] & 0xFFUL) << 16) | 700072f0: 041b lsls r3, r3, #16 (((uint32_t)HuffTableAC1->HuffVal[index - 1UL] & 0xFFUL) << 8) | 700072f2: ea43 6306 orr.w r3, r3, r6, lsl #24 ((uint32_t)HuffTableAC1->HuffVal[index - 2UL] & 0xFFUL); 700072f6: f892 60b2 ldrb.w r6, [r2, #178] @ 0xb2 (((uint32_t)HuffTableAC1->HuffVal[index - 1UL] & 0xFFUL) << 8) | 700072fa: 4333 orrs r3, r6 700072fc: f892 60b3 ldrb.w r6, [r2, #179] @ 0xb3 70007300: ea43 2306 orr.w r3, r3, r6, lsl #8 *address = (((uint32_t)HuffTableAC1->HuffVal[index + 1UL] & 0xFFUL) << 24) | 70007304: f841 3904 str.w r3, [r1], #-4 while (index > 3UL) 70007308: 4281 cmp r1, r0 7000730a: d1ec bne.n 700072e6 error = JPEG_Set_HuffAC_Mem(hjpeg, (JPEG_ACHuffTableTypeDef *)(uint32_t)&JPEG_ACLUM_HuffTable, 7000730c: f504 62a0 add.w r2, r4, #1280 @ 0x500 70007310: 4918 ldr r1, [pc, #96] @ (70007374 ) 70007312: 4628 mov r0, r5 70007314: f7ff fdd7 bl 70006ec6 if (error != HAL_OK) 70007318: bb00 cbnz r0, 7000735c error = JPEG_Set_HuffAC_Mem(hjpeg, (JPEG_ACHuffTableTypeDef *)(uint32_t)&JPEG_ACCHROM_HuffTable, 7000731a: f504 62cc add.w r2, r4, #1632 @ 0x660 7000731e: 4918 ldr r1, [pc, #96] @ (70007380 ) 70007320: 4628 mov r0, r5 70007322: f7ff fdd0 bl 70006ec6 if (error != HAL_OK) 70007326: b9c8 cbnz r0, 7000735c error = JPEG_Set_HuffDC_Mem(hjpeg, (JPEG_DCHuffTableTypeDef *)(uint32_t)&JPEG_DCLUM_HuffTable, 70007328: f504 62f8 add.w r2, r4, #1984 @ 0x7c0 7000732c: 490d ldr r1, [pc, #52] @ (70007364 ) 7000732e: 4628 mov r0, r5 70007330: f7ff fd91 bl 70006e56 if (error != HAL_OK) 70007334: b990 cbnz r0, 7000735c error = JPEG_Set_HuffDC_Mem(hjpeg, (JPEG_DCHuffTableTypeDef *)(uint32_t)&JPEG_DCCHROM_HuffTable, 70007336: f504 62fc add.w r2, r4, #2016 @ 0x7e0 7000733a: 4915 ldr r1, [pc, #84] @ (70007390 ) 7000733c: 4628 mov r0, r5 7000733e: f7ff fd8a bl 70006e56 if (error != HAL_OK) 70007342: b958 cbnz r0, 7000735c hjpeg->Instance->CONFR1 |= JPEG_CONFR1_HDR; 70007344: 6863 ldr r3, [r4, #4] 70007346: f443 7380 orr.w r3, r3, #256 @ 0x100 7000734a: 6063 str r3, [r4, #4] hjpeg->State = HAL_JPEG_STATE_READY; 7000734c: 2301 movs r3, #1 hjpeg->JpegInCount = 0; 7000734e: 6228 str r0, [r5, #32] hjpeg->JpegOutCount = 0; 70007350: 6268 str r0, [r5, #36] @ 0x24 hjpeg->State = HAL_JPEG_STATE_READY; 70007352: f885 304d strb.w r3, [r5, #77] @ 0x4d hjpeg->ErrorCode = HAL_JPEG_ERROR_NONE; 70007356: 6528 str r0, [r5, #80] @ 0x50 hjpeg->Context = 0; 70007358: 6568 str r0, [r5, #84] @ 0x54 } 7000735a: bdf8 pop {r3, r4, r5, r6, r7, pc} hjpeg->ErrorCode = HAL_JPEG_ERROR_HUFF_TABLE; 7000735c: 2301 movs r3, #1 7000735e: 652b str r3, [r5, #80] @ 0x50 return HAL_ERROR; 70007360: 2001 movs r0, #1 70007362: e7fa b.n 7000735a 70007364: 7003f654 .word 0x7003f654 70007368: 7003f454 .word 0x7003f454 7000736c: 7003f414 .word 0x7003f414 70007370: 0b0a0908 .word 0x0b0a0908 70007374: 7003f586 .word 0x7003f586 70007378: ffff0000 .word 0xffff0000 7000737c: 09080706 .word 0x09080706 70007380: 7003f4d4 .word 0x7003f4d4 70007384: 01000404 .word 0x01000404 70007388: 05070403 .word 0x05070403 7000738c: 04040201 .word 0x04040201 70007390: 7003f638 .word 0x7003f638 70007394 : { 70007394: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} if ((hjpeg == NULL) || (pInfo == NULL)) 70007398: 2800 cmp r0, #0 7000739a: d06f beq.n 7000747c 7000739c: 2900 cmp r1, #0 7000739e: d06d beq.n 7000747c if ((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == JPEG_CONFR1_NF_1) 700073a0: 6804 ldr r4, [r0, #0] 700073a2: 6863 ldr r3, [r4, #4] 700073a4: f003 0303 and.w r3, r3, #3 700073a8: 2b02 cmp r3, #2 700073aa: d047 beq.n 7000743c else if ((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == 0UL) 700073ac: 6863 ldr r3, [r4, #4] 700073ae: f013 0303 ands.w r3, r3, #3 700073b2: d005 beq.n 700073c0 else if ((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == JPEG_CONFR1_NF) 700073b4: 6863 ldr r3, [r4, #4] 700073b6: f003 0303 and.w r3, r3, #3 700073ba: 2b03 cmp r3, #3 700073bc: d15e bne.n 7000747c 700073be: 2330 movs r3, #48 @ 0x30 pInfo->ImageHeight = (hjpeg->Instance->CONFR1 & 0xFFFF0000UL) >> 16; 700073c0: 6862 ldr r2, [r4, #4] pInfo->ColorSpace = JPEG_YCBCR_COLORSPACE; 700073c2: 600b str r3, [r1, #0] if ((pInfo->ColorSpace == JPEG_YCBCR_COLORSPACE) || (pInfo->ColorSpace == JPEG_CMYK_COLORSPACE)) 700073c4: f023 0320 bic.w r3, r3, #32 pInfo->ImageHeight = (hjpeg->Instance->CONFR1 & 0xFFFF0000UL) >> 16; 700073c8: 0c12 lsrs r2, r2, #16 if ((pInfo->ColorSpace == JPEG_YCBCR_COLORSPACE) || (pInfo->ColorSpace == JPEG_CMYK_COLORSPACE)) 700073ca: 2b10 cmp r3, #16 pInfo->ImageHeight = (hjpeg->Instance->CONFR1 & 0xFFFF0000UL) >> 16; 700073cc: 608a str r2, [r1, #8] pInfo->ImageWidth = (hjpeg->Instance->CONFR3 & 0xFFFF0000UL) >> 16; 700073ce: 68e2 ldr r2, [r4, #12] 700073d0: ea4f 4212 mov.w r2, r2, lsr #16 700073d4: 60ca str r2, [r1, #12] if ((pInfo->ColorSpace == JPEG_YCBCR_COLORSPACE) || (pInfo->ColorSpace == JPEG_CMYK_COLORSPACE)) 700073d6: d13c bne.n 70007452 yblockNb = (hjpeg->Instance->CONFR4 & JPEG_CONFR4_NB) >> 4; 700073d8: 6925 ldr r5, [r4, #16] cBblockNb = (hjpeg->Instance->CONFR5 & JPEG_CONFR5_NB) >> 4; 700073da: 6963 ldr r3, [r4, #20] yblockNb = (hjpeg->Instance->CONFR4 & JPEG_CONFR4_NB) >> 4; 700073dc: f3c5 1503 ubfx r5, r5, #4, #4 cRblockNb = (hjpeg->Instance->CONFR6 & JPEG_CONFR6_NB) >> 4; 700073e0: 69a2 ldr r2, [r4, #24] cBblockNb = (hjpeg->Instance->CONFR5 & JPEG_CONFR5_NB) >> 4; 700073e2: 091b lsrs r3, r3, #4 if ((yblockNb == 1UL) && (cBblockNb == 0UL) && (cRblockNb == 0UL)) 700073e4: 2d01 cmp r5, #1 cRblockNb = (hjpeg->Instance->CONFR6 & JPEG_CONFR6_NB) >> 4; 700073e6: ea4f 1212 mov.w r2, r2, lsr #4 if ((yblockNb == 1UL) && (cBblockNb == 0UL) && (cRblockNb == 0UL)) 700073ea: d129 bne.n 70007440 700073ec: 4313 orrs r3, r2 700073ee: f003 030f and.w r3, r3, #15 700073f2: fab3 f383 clz r3, r3 700073f6: 095b lsrs r3, r3, #5 700073f8: 005b lsls r3, r3, #1 pInfo->ChromaSubsampling = JPEG_422_SUBSAMPLING; /*16x8 block*/ 700073fa: 604b str r3, [r1, #4] * the configuration information for JPEG module * @retval JPEG image quality from 1 to 100. */ static uint32_t JPEG_GetQuality(const JPEG_HandleTypeDef *hjpeg) { uint32_t quality = 0; 700073fc: 2300 movs r3, #0 700073fe: 3450 adds r4, #80 @ 0x50 70007400: f8df c07c ldr.w ip, [pc, #124] @ 70007480 uint32_t scale; uint32_t i; uint32_t j; const __IO uint32_t *tableAddress = hjpeg->Instance->QMEM0; i = 0; 70007404: 461d mov r5, r3 quality += 100UL; } else { /* Note that the quantization coefficients must be specified in the table in zigzag order */ scale = (quantVal * 100UL) / ((uint32_t) hjpeg->QuantTable0[JPEG_ZIGZAG_ORDER[i + j]]); 70007406: f04f 0e64 mov.w lr, #100 @ 0x64 { quality += (200UL - scale) / 2UL; } else { quality += 5000UL / scale; 7000740a: f241 3888 movw r8, #5000 @ 0x1388 quantRow = *tableAddress; 7000740e: f854 9005 ldr.w r9, [r4, r5] for (j = 0; j < 4UL; j++) 70007412: eb05 070c add.w r7, r5, ip quantRow = *tableAddress; 70007416: 2600 movs r6, #0 quantVal = (quantRow >> (8UL * j)) & 0xFFUL; 70007418: fa29 f206 lsr.w r2, r9, r6 7000741c: b2d2 uxtb r2, r2 if (quantVal == 1UL) 7000741e: 2a01 cmp r2, #1 70007420: d119 bne.n 70007456 quality += 100UL; 70007422: 3364 adds r3, #100 @ 0x64 for (j = 0; j < 4UL; j++) 70007424: 3608 adds r6, #8 70007426: 3701 adds r7, #1 70007428: 2e20 cmp r6, #32 7000742a: d1f5 bne.n 70007418 } } } i += 4UL; 7000742c: 3504 adds r5, #4 while (i < (JPEG_QUANT_TABLE_SIZE - 3UL)) 7000742e: 2d40 cmp r5, #64 @ 0x40 70007430: d1ed bne.n 7000740e tableAddress ++; } return (quality / 64UL); 70007432: 099b lsrs r3, r3, #6 return HAL_OK; 70007434: 2000 movs r0, #0 pInfo->ImageQuality = JPEG_GetQuality(hjpeg); 70007436: 610b str r3, [r1, #16] } 70007438: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7000743c: 2310 movs r3, #16 7000743e: e7bf b.n 700073c0 else if ((yblockNb == 0UL) && (cBblockNb == 0UL) && (cRblockNb == 0UL)) 70007440: 2d03 cmp r5, #3 70007442: d106 bne.n 70007452 else if ((yblockNb == 3UL) && (cBblockNb == 0UL) && (cRblockNb == 0UL)) 70007444: 4313 orrs r3, r2 70007446: f003 030f and.w r3, r3, #15 7000744a: fab3 f383 clz r3, r3 7000744e: 095b lsrs r3, r3, #5 70007450: e7d3 b.n 700073fa 70007452: 2300 movs r3, #0 70007454: e7d1 b.n 700073fa scale = (quantVal * 100UL) / ((uint32_t) hjpeg->QuantTable0[JPEG_ZIGZAG_ORDER[i + j]]); 70007456: fb0e fb02 mul.w fp, lr, r2 7000745a: f897 a000 ldrb.w sl, [r7] 7000745e: 6bc2 ldr r2, [r0, #60] @ 0x3c 70007460: f812 a00a ldrb.w sl, [r2, sl] 70007464: fbbb f2fa udiv r2, fp, sl if (scale <= 100UL) 70007468: 2a64 cmp r2, #100 @ 0x64 quality += 5000UL / scale; 7000746a: bf8b itete hi 7000746c: fbb8 f2f2 udivhi r2, r8, r2 quality += (200UL - scale) / 2UL; 70007470: f1c2 02c8 rsbls r2, r2, #200 @ 0xc8 quality += 5000UL / scale; 70007474: 189b addhi r3, r3, r2 quality += (200UL - scale) / 2UL; 70007476: eb03 0352 addls.w r3, r3, r2, lsr #1 quality += 5000UL / scale; 7000747a: e7d3 b.n 70007424 return HAL_ERROR; 7000747c: 2001 movs r0, #1 7000747e: e7db b.n 70007438 70007480: 7003f494 .word 0x7003f494 70007484 : { 70007484: b538 push {r3, r4, r5, lr} if ((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) 70007486: 4604 mov r4, r0 70007488: b348 cbz r0, 700074de 7000748a: b341 cbz r1, 700074de 7000748c: b33b cbz r3, 700074de __HAL_LOCK(hjpeg); 7000748e: f890 504c ldrb.w r5, [r0, #76] @ 0x4c 70007492: 2d01 cmp r5, #1 70007494: d028 beq.n 700074e8 70007496: 2501 movs r5, #1 70007498: f880 504c strb.w r5, [r0, #76] @ 0x4c if (hjpeg->State == HAL_JPEG_STATE_READY) 7000749c: f890 504d ldrb.w r5, [r0, #77] @ 0x4d 700074a0: 2d01 cmp r5, #1 700074a2: d11e bne.n 700074e2 hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; 700074a4: 2504 movs r5, #4 hjpeg->InDataLength = InDataLength; 700074a6: 6282 str r2, [r0, #40] @ 0x28 hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; 700074a8: f880 504d strb.w r5, [r0, #77] @ 0x4d hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); 700074ac: 6d45 ldr r5, [r0, #84] @ 0x54 700074ae: f025 050f bic.w r5, r5, #15 700074b2: 6545 str r5, [r0, #84] @ 0x54 hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_DMA); 700074b4: 6d45 ldr r5, [r0, #84] @ 0x54 700074b6: f045 050e orr.w r5, r5, #14 hjpeg->pJpegOutBuffPtr = pDataOutMCU; 700074ba: e9c0 1306 strd r1, r3, [r0, #24] hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_DMA); 700074be: 6545 str r5, [r0, #84] @ 0x54 hjpeg->JpegInCount = 0; 700074c0: 2500 movs r5, #0 hjpeg->OutDataLength = OutDataLength; 700074c2: 9b04 ldr r3, [sp, #16] hjpeg->JpegInCount = 0; 700074c4: 6205 str r5, [r0, #32] hjpeg->OutDataLength = OutDataLength; 700074c6: 62c3 str r3, [r0, #44] @ 0x2c hjpeg->JpegOutCount = 0; 700074c8: 6245 str r5, [r0, #36] @ 0x24 JPEG_Init_Process(hjpeg); 700074ca: f7ff fd74 bl 70006fb6 if (JPEG_DMA_StartProcess(hjpeg) != HAL_OK) 700074ce: f7ff fdb1 bl 70007034 700074d2: b128 cbz r0, 700074e0 hjpeg->State = HAL_JPEG_STATE_ERROR; 700074d4: 2306 movs r3, #6 __HAL_UNLOCK(hjpeg); 700074d6: f884 504c strb.w r5, [r4, #76] @ 0x4c hjpeg->State = HAL_JPEG_STATE_ERROR; 700074da: f884 304d strb.w r3, [r4, #77] @ 0x4d return HAL_ERROR; 700074de: 2001 movs r0, #1 } 700074e0: bd38 pop {r3, r4, r5, pc} __HAL_UNLOCK(hjpeg); 700074e2: 2300 movs r3, #0 700074e4: f880 304c strb.w r3, [r0, #76] @ 0x4c __HAL_LOCK(hjpeg); 700074e8: 2002 movs r0, #2 700074ea: e7f9 b.n 700074e0 700074ec : if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) 700074ec: 6d43 ldr r3, [r0, #84] @ 0x54 700074ee: f003 030c and.w r3, r3, #12 700074f2: 2b0c cmp r3, #12 700074f4: d117 bne.n 70007526 if ((XferSelection & JPEG_PAUSE_RESUME_INPUT) == JPEG_PAUSE_RESUME_INPUT) 700074f6: f011 0301 ands.w r3, r1, #1 700074fa: d005 beq.n 70007508 hjpeg->Context |= JPEG_CONTEXT_PAUSE_INPUT; 700074fc: 6d43 ldr r3, [r0, #84] @ 0x54 700074fe: f443 5380 orr.w r3, r3, #4096 @ 0x1000 70007502: 6543 str r3, [r0, #84] @ 0x54 mask |= JPEG_DMA_IDMA; 70007504: f44f 6300 mov.w r3, #2048 @ 0x800 if ((XferSelection & JPEG_PAUSE_RESUME_OUTPUT) == JPEG_PAUSE_RESUME_OUTPUT) 70007508: 0789 lsls r1, r1, #30 7000750a: d505 bpl.n 70007518 hjpeg->Context |= JPEG_CONTEXT_PAUSE_OUTPUT; 7000750c: 6d42 ldr r2, [r0, #84] @ 0x54 mask |= JPEG_DMA_ODMA; 7000750e: f443 5380 orr.w r3, r3, #4096 @ 0x1000 hjpeg->Context |= JPEG_CONTEXT_PAUSE_OUTPUT; 70007512: f442 5200 orr.w r2, r2, #8192 @ 0x2000 70007516: 6542 str r2, [r0, #84] @ 0x54 __HAL_JPEG_DISABLE_IT(hjpeg, mask); 70007518: 6801 ldr r1, [r0, #0] 7000751a: 6b0a ldr r2, [r1, #48] @ 0x30 7000751c: ea22 0303 bic.w r3, r2, r3 70007520: 630b str r3, [r1, #48] @ 0x30 } 70007522: 2000 movs r0, #0 70007524: 4770 bx lr else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) 70007526: 6d43 ldr r3, [r0, #84] @ 0x54 70007528: f003 030c and.w r3, r3, #12 7000752c: 2b08 cmp r3, #8 7000752e: d1f8 bne.n 70007522 if ((XferSelection & JPEG_PAUSE_RESUME_INPUT) == JPEG_PAUSE_RESUME_INPUT) 70007530: f011 0301 ands.w r3, r1, #1 70007534: d004 beq.n 70007540 hjpeg->Context |= JPEG_CONTEXT_PAUSE_INPUT; 70007536: 6d43 ldr r3, [r0, #84] @ 0x54 70007538: f443 5380 orr.w r3, r3, #4096 @ 0x1000 7000753c: 6543 str r3, [r0, #84] @ 0x54 mask |= (JPEG_IT_IFT | JPEG_IT_IFNF); 7000753e: 2306 movs r3, #6 if ((XferSelection & JPEG_PAUSE_RESUME_OUTPUT) == JPEG_PAUSE_RESUME_OUTPUT) 70007540: 078a lsls r2, r1, #30 70007542: d5e9 bpl.n 70007518 hjpeg->Context |= JPEG_CONTEXT_PAUSE_OUTPUT; 70007544: 6d42 ldr r2, [r0, #84] @ 0x54 mask |= (JPEG_IT_OFT | JPEG_IT_OFNE | JPEG_IT_EOC); 70007546: f043 0328 orr.w r3, r3, #40 @ 0x28 hjpeg->Context |= JPEG_CONTEXT_PAUSE_OUTPUT; 7000754a: f442 5200 orr.w r2, r2, #8192 @ 0x2000 7000754e: 6542 str r2, [r0, #84] @ 0x54 mask |= (JPEG_IT_OFT | JPEG_IT_OFNE | JPEG_IT_EOC); 70007550: e7e2 b.n 70007518 70007552 : hjpeg->pJpegInBuffPtr = pNewInputBuffer; 70007552: 6181 str r1, [r0, #24] hjpeg->InDataLength = InDataLength; 70007554: 6282 str r2, [r0, #40] @ 0x28 } 70007556: 4770 bx lr 70007558 : hjpeg->pJpegOutBuffPtr = pNewOutputBuffer; 70007558: 61c1 str r1, [r0, #28] hjpeg->OutDataLength = OutDataLength; 7000755a: 62c2 str r2, [r0, #44] @ 0x2c } 7000755c: 4770 bx lr 7000755e : tmpContext = hjpeg->Context; 7000755e: 6d42 ldr r2, [r0, #84] @ 0x54 { 70007560: b538 push {r3, r4, r5, lr} hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_DMA); 70007562: 6d43 ldr r3, [r0, #84] @ 0x54 { 70007564: 4604 mov r4, r0 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_DMA); 70007566: f423 4300 bic.w r3, r3, #32768 @ 0x8000 7000756a: f023 030f bic.w r3, r3, #15 7000756e: 6543 str r3, [r0, #84] @ 0x54 if ((tmpContext & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) 70007570: f002 030c and.w r3, r2, #12 70007574: 2b0c cmp r3, #12 70007576: d117 bne.n 700075a8 if (HAL_DMA_Abort(hjpeg->hdmaout) != HAL_OK) 70007578: 6b40 ldr r0, [r0, #52] @ 0x34 7000757a: f7fd fc57 bl 70004e2c 7000757e: b138 cbz r0, 70007590 if (hjpeg->hdmaout->ErrorCode == HAL_DMA_ERROR_TIMEOUT) 70007580: 6b63 ldr r3, [r4, #52] @ 0x34 70007582: 6d9b ldr r3, [r3, #88] @ 0x58 70007584: 2b10 cmp r3, #16 70007586: d103 bne.n 70007590 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; 70007588: 6d23 ldr r3, [r4, #80] @ 0x50 7000758a: f043 0304 orr.w r3, r3, #4 7000758e: 6523 str r3, [r4, #80] @ 0x50 if (HAL_DMA_Abort(hjpeg->hdmain) != HAL_OK) 70007590: 6b20 ldr r0, [r4, #48] @ 0x30 70007592: f7fd fc4b bl 70004e2c 70007596: b138 cbz r0, 700075a8 if (hjpeg->hdmain->ErrorCode == HAL_DMA_ERROR_TIMEOUT) 70007598: 6b23 ldr r3, [r4, #48] @ 0x30 7000759a: 6d9b ldr r3, [r3, #88] @ 0x58 7000759c: 2b10 cmp r3, #16 7000759e: d103 bne.n 700075a8 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; 700075a0: 6d23 ldr r3, [r4, #80] @ 0x50 700075a2: f043 0304 orr.w r3, r3, #4 700075a6: 6523 str r3, [r4, #80] @ 0x50 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; 700075a8: 6822 ldr r2, [r4, #0] 700075aa: 6813 ldr r3, [r2, #0] 700075ac: f023 0301 bic.w r3, r3, #1 700075b0: 6013 str r3, [r2, #0] tickstart = HAL_GetTick(); 700075b2: f7fd f973 bl 7000489c 700075b6: 4605 mov r5, r0 while (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_COF) != 0UL) 700075b8: 6823 ldr r3, [r4, #0] 700075ba: 6b5b ldr r3, [r3, #52] @ 0x34 700075bc: 061b lsls r3, r3, #24 700075be: d50c bpl.n 700075da if ((HAL_GetTick() - tickstart) > JPEG_TIMEOUT_VALUE) 700075c0: f7fd f96c bl 7000489c 700075c4: 1b40 subs r0, r0, r5 700075c6: f5b0 7f7a cmp.w r0, #1000 @ 0x3e8 700075ca: d9f5 bls.n 700075b8 hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; 700075cc: 6d23 ldr r3, [r4, #80] @ 0x50 700075ce: f043 0308 orr.w r3, r3, #8 700075d2: 6523 str r3, [r4, #80] @ 0x50 hjpeg->State = HAL_JPEG_STATE_ERROR; 700075d4: 2306 movs r3, #6 700075d6: f884 304d strb.w r3, [r4, #77] @ 0x4d __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); 700075da: 6823 ldr r3, [r4, #0] 700075dc: 2001 movs r0, #1 700075de: 6b1a ldr r2, [r3, #48] @ 0x30 700075e0: f022 027e bic.w r2, r2, #126 @ 0x7e 700075e4: 631a str r2, [r3, #48] @ 0x30 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); 700075e6: 6b1a ldr r2, [r3, #48] @ 0x30 700075e8: f422 52c0 bic.w r2, r2, #6144 @ 0x1800 700075ec: 631a str r2, [r3, #48] @ 0x30 hjpeg->Instance->CR |= JPEG_CR_IFF; 700075ee: 6b1a ldr r2, [r3, #48] @ 0x30 700075f0: f442 5200 orr.w r2, r2, #8192 @ 0x2000 700075f4: 631a str r2, [r3, #48] @ 0x30 hjpeg->Instance->CR |= JPEG_CR_OFF; 700075f6: 6b1a ldr r2, [r3, #48] @ 0x30 700075f8: f442 4280 orr.w r2, r2, #16384 @ 0x4000 700075fc: 631a str r2, [r3, #48] @ 0x30 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); 700075fe: 6b9a ldr r2, [r3, #56] @ 0x38 70007600: f042 0260 orr.w r2, r2, #96 @ 0x60 70007604: 639a str r2, [r3, #56] @ 0x38 hjpeg->JpegInCount = 0; 70007606: 2300 movs r3, #0 70007608: 6223 str r3, [r4, #32] hjpeg->JpegOutCount = 0; 7000760a: 6263 str r3, [r4, #36] @ 0x24 hjpeg->Context &= ~(JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT); 7000760c: 6d62 ldr r2, [r4, #84] @ 0x54 7000760e: f422 5240 bic.w r2, r2, #12288 @ 0x3000 70007612: 6562 str r2, [r4, #84] @ 0x54 if (hjpeg->ErrorCode != HAL_JPEG_ERROR_NONE) 70007614: 6d22 ldr r2, [r4, #80] @ 0x50 70007616: b12a cbz r2, 70007624 hjpeg->State = HAL_JPEG_STATE_ERROR; 70007618: 2206 movs r2, #6 7000761a: f884 204d strb.w r2, [r4, #77] @ 0x4d __HAL_UNLOCK(hjpeg); 7000761e: f884 304c strb.w r3, [r4, #76] @ 0x4c } 70007622: bd38 pop {r3, r4, r5, pc} hjpeg->State = HAL_JPEG_STATE_READY; 70007624: f884 004d strb.w r0, [r4, #77] @ 0x4d return HAL_OK; 70007628: 4618 mov r0, r3 7000762a: e7f8 b.n 7000761e 7000762c : __weak void HAL_JPEG_EncodeCpltCallback(JPEG_HandleTypeDef *hjpeg) 7000762c: 4770 bx lr 7000762e : { 7000762e: b510 push {r4, lr} JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 70007630: 6dc4 ldr r4, [r0, #92] @ 0x5c if (HAL_DMA_GetError(hdma) != HAL_DMA_ERROR_NONE) 70007632: f7fd fd18 bl 70005066 70007636: b1b0 cbz r0, 70007666 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; 70007638: 6823 ldr r3, [r4, #0] HAL_JPEG_ErrorCallback(hjpeg); 7000763a: 4620 mov r0, r4 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; 7000763c: 681a ldr r2, [r3, #0] 7000763e: f022 0201 bic.w r2, r2, #1 70007642: 601a str r2, [r3, #0] __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); 70007644: 6b1a ldr r2, [r3, #48] @ 0x30 70007646: f022 027e bic.w r2, r2, #126 @ 0x7e 7000764a: 631a str r2, [r3, #48] @ 0x30 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); 7000764c: 6b1a ldr r2, [r3, #48] @ 0x30 7000764e: f422 52c0 bic.w r2, r2, #6144 @ 0x1800 70007652: 631a str r2, [r3, #48] @ 0x30 hjpeg->State = HAL_JPEG_STATE_READY; 70007654: 2301 movs r3, #1 70007656: f884 304d strb.w r3, [r4, #77] @ 0x4d hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; 7000765a: 6d23 ldr r3, [r4, #80] @ 0x50 7000765c: f043 0304 orr.w r3, r3, #4 70007660: 6523 str r3, [r4, #80] @ 0x50 HAL_JPEG_ErrorCallback(hjpeg); 70007662: f7fa fd83 bl 7000216c } 70007666: bd10 pop {r4, pc} 70007668 : { 70007668: b5f8 push {r3, r4, r5, r6, r7, lr} if ((hjpeg->InDataLength == 0UL) || (nbRequestWords == 0UL)) 7000766a: 6a83 ldr r3, [r0, #40] @ 0x28 { 7000766c: 4604 mov r4, r0 7000766e: 460d mov r5, r1 if ((hjpeg->InDataLength == 0UL) || (nbRequestWords == 0UL)) 70007670: b923 cbnz r3, 7000767c (void) HAL_JPEG_Pause(hjpeg, JPEG_PAUSE_RESUME_INPUT); 70007672: 2101 movs r1, #1 70007674: f7ff ff3a bl 700074ec uint32_t nb_bytes = 0; 70007678: 2300 movs r3, #0 7000767a: e004 b.n 70007686 else if (hjpeg->InDataLength > hjpeg->JpegInCount) 7000767c: 6a02 ldr r2, [r0, #32] 7000767e: 4293 cmp r3, r2 nb_bytes = hjpeg->InDataLength - hjpeg->JpegInCount; 70007680: 6a02 ldr r2, [r0, #32] else if (hjpeg->InDataLength > hjpeg->JpegInCount) 70007682: d924 bls.n 700076ce nb_bytes = hjpeg->InDataLength - hjpeg->JpegInCount; 70007684: 1a9b subs r3, r3, r2 if (((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0UL) && (nb_bytes > 0UL)) 70007686: 6d62 ldr r2, [r4, #84] @ 0x54 70007688: f412 5280 ands.w r2, r2, #4096 @ 0x1000 7000768c: d11e bne.n 700076cc 7000768e: b1eb cbz r3, 700076cc if (nb_words >= nbRequestWords) 70007690: ebb5 0f93 cmp.w r5, r3, lsr #2 hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count])) | \ 70007694: 69a1 ldr r1, [r4, #24] nb_words = nb_bytes / 4UL; 70007696: ea4f 0693 mov.w r6, r3, lsr #2 if (nb_words >= nbRequestWords) 7000769a: d827 bhi.n 700076ec hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count])) | \ 7000769c: 6827 ldr r7, [r4, #0] input_count = hjpeg->JpegInCount; 7000769e: 6a26 ldr r6, [r4, #32] for (index = 0; index < nbRequestWords; index++) 700076a0: 3201 adds r2, #1 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 1UL])) << 8) | \ 700076a2: 1988 adds r0, r1, r6 hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count])) | \ 700076a4: 5d8e ldrb r6, [r1, r6] for (index = 0; index < nbRequestWords; index++) 700076a6: 4295 cmp r5, r2 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 2UL])) << 16) | \ 700076a8: 7883 ldrb r3, [r0, #2] (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 1UL])) << 8) | \ 700076aa: f890 c001 ldrb.w ip, [r0, #1] (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 2UL])) << 16) | \ 700076ae: ea4f 4303 mov.w r3, r3, lsl #16 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 3UL])) << 24)); 700076b2: 78c0 ldrb r0, [r0, #3] (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 1UL])) << 8) | \ 700076b4: ea43 230c orr.w r3, r3, ip, lsl #8 700076b8: ea43 0306 orr.w r3, r3, r6 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 2UL])) << 16) | \ 700076bc: ea43 6300 orr.w r3, r3, r0, lsl #24 hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count])) | \ 700076c0: 643b str r3, [r7, #64] @ 0x40 hjpeg->JpegInCount += 4UL; 700076c2: 6a23 ldr r3, [r4, #32] 700076c4: f103 0304 add.w r3, r3, #4 700076c8: 6223 str r3, [r4, #32] for (index = 0; index < nbRequestWords; index++) 700076ca: d1e8 bne.n 7000769e } 700076cc: bdf8 pop {r3, r4, r5, r6, r7, pc} else if (hjpeg->InDataLength == hjpeg->JpegInCount) 700076ce: 4293 cmp r3, r2 700076d0: d1d2 bne.n 70007678 HAL_JPEG_GetDataCallback(hjpeg, hjpeg->JpegInCount); 700076d2: 6a01 ldr r1, [r0, #32] 700076d4: f7fa fc94 bl 70002000 if (hjpeg->InDataLength > 4UL) 700076d8: 6aa3 ldr r3, [r4, #40] @ 0x28 hjpeg->JpegInCount = 0; 700076da: 2200 movs r2, #0 if (hjpeg->InDataLength > 4UL) 700076dc: 2b04 cmp r3, #4 hjpeg->JpegInCount = 0; 700076de: 6222 str r2, [r4, #32] hjpeg->InDataLength = ((hjpeg->InDataLength + 3UL) / 4UL) * 4UL; 700076e0: bf82 ittt hi 700076e2: 3303 addhi r3, #3 700076e4: f023 0303 bichi.w r3, r3, #3 700076e8: 62a3 strhi r3, [r4, #40] @ 0x28 nb_bytes = hjpeg->InDataLength; 700076ea: e7cc b.n 70007686 if (nb_words > 0UL) 700076ec: 2b03 cmp r3, #3 700076ee: d918 bls.n 70007722 hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count])) | \ 700076f0: 6827 ldr r7, [r4, #0] input_count = hjpeg->JpegInCount; 700076f2: 6a25 ldr r5, [r4, #32] for (index = 0; index < nb_words; index++) 700076f4: 3201 adds r2, #1 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 1UL])) << 8) | \ 700076f6: 1948 adds r0, r1, r5 hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count])) | \ 700076f8: 5d4d ldrb r5, [r1, r5] for (index = 0; index < nb_words; index++) 700076fa: 4296 cmp r6, r2 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 2UL])) << 16) | \ 700076fc: 7883 ldrb r3, [r0, #2] (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 1UL])) << 8) | \ 700076fe: f890 c001 ldrb.w ip, [r0, #1] (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 2UL])) << 16) | \ 70007702: ea4f 4303 mov.w r3, r3, lsl #16 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 3UL])) << 24)); 70007706: 78c0 ldrb r0, [r0, #3] (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 1UL])) << 8) | \ 70007708: ea43 230c orr.w r3, r3, ip, lsl #8 7000770c: ea43 0305 orr.w r3, r3, r5 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 2UL])) << 16) | \ 70007710: ea43 6300 orr.w r3, r3, r0, lsl #24 hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count])) | \ 70007714: 643b str r3, [r7, #64] @ 0x40 hjpeg->JpegInCount += 4UL; 70007716: 6a23 ldr r3, [r4, #32] 70007718: f103 0304 add.w r3, r3, #4 7000771c: 6223 str r3, [r4, #32] for (index = 0; index < nb_words; index++) 7000771e: d8e8 bhi.n 700076f2 70007720: e7d4 b.n 700076cc for (index = 0; index < nb_bytes; index++) 70007722: 4610 mov r0, r2 dataword |= (uint32_t)hjpeg->pJpegInBuffPtr[hjpeg->JpegInCount] << (8UL * (index & 0x03UL)); 70007724: 6a25 ldr r5, [r4, #32] 70007726: 00c6 lsls r6, r0, #3 for (index = 0; index < nb_bytes; index++) 70007728: 3001 adds r0, #1 dataword |= (uint32_t)hjpeg->pJpegInBuffPtr[hjpeg->JpegInCount] << (8UL * (index & 0x03UL)); 7000772a: 5d4d ldrb r5, [r1, r5] for (index = 0; index < nb_bytes; index++) 7000772c: 4283 cmp r3, r0 dataword |= (uint32_t)hjpeg->pJpegInBuffPtr[hjpeg->JpegInCount] << (8UL * (index & 0x03UL)); 7000772e: fa05 f506 lsl.w r5, r5, r6 70007732: ea42 0205 orr.w r2, r2, r5 hjpeg->JpegInCount++; 70007736: 6a25 ldr r5, [r4, #32] 70007738: f105 0501 add.w r5, r5, #1 7000773c: 6225 str r5, [r4, #32] for (index = 0; index < nb_bytes; index++) 7000773e: d1f1 bne.n 70007724 hjpeg->Instance->DIR = dataword; 70007740: 6823 ldr r3, [r4, #0] 70007742: 641a str r2, [r3, #64] @ 0x40 } 70007744: e7c2 b.n 700076cc 70007746 : { 70007746: b570 push {r4, r5, r6, lr} JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 70007748: 6dc4 ldr r4, [r0, #92] @ 0x5c __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); 7000774a: 6822 ldr r2, [r4, #0] 7000774c: 6b11 ldr r1, [r2, #48] @ 0x30 7000774e: f021 017e bic.w r1, r1, #126 @ 0x7e 70007752: 6311 str r1, [r2, #48] @ 0x30 if ((hjpeg->Context & (JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_DMA)) == 70007754: 6d61 ldr r1, [r4, #84] @ 0x54 70007756: f421 41ff bic.w r1, r1, #32640 @ 0x7f80 7000775a: f021 0173 bic.w r1, r1, #115 @ 0x73 7000775e: 0409 lsls r1, r1, #16 70007760: 0c09 lsrs r1, r1, #16 70007762: 290c cmp r1, #12 70007764: d12d bne.n 700077c2 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_IDMA); 70007766: 6b11 ldr r1, [r2, #48] @ 0x30 hjpeg->JpegInCount = hjpeg->InDataLength - JPEG_GET_DMA_REMAIN_DATA(hdma); 70007768: 6803 ldr r3, [r0, #0] JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_IDMA); 7000776a: f421 6100 bic.w r1, r1, #2048 @ 0x800 hjpeg->JpegInCount = hjpeg->InDataLength - JPEG_GET_DMA_REMAIN_DATA(hdma); 7000776e: 6aa5 ldr r5, [r4, #40] @ 0x28 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_IDMA); 70007770: 6311 str r1, [r2, #48] @ 0x30 hjpeg->JpegInCount = hjpeg->InDataLength - JPEG_GET_DMA_REMAIN_DATA(hdma); 70007772: 6c9e ldr r6, [r3, #72] @ 0x48 70007774: f7fe fa0a bl 70005b8c 70007778: b2b6 uxth r6, r6 7000777a: 1bad subs r5, r5, r6 7000777c: 1a2d subs r5, r5, r0 HAL_JPEG_GetDataCallback(hjpeg, hjpeg->JpegInCount); 7000777e: 4620 mov r0, r4 hjpeg->JpegInCount = hjpeg->InDataLength - JPEG_GET_DMA_REMAIN_DATA(hdma); 70007780: 6225 str r5, [r4, #32] HAL_JPEG_GetDataCallback(hjpeg, hjpeg->JpegInCount); 70007782: 6a21 ldr r1, [r4, #32] 70007784: f7fa fc3c bl 70002000 if (hjpeg->InDataLength >= 4UL) 70007788: 6aa3 ldr r3, [r4, #40] @ 0x28 7000778a: 2b03 cmp r3, #3 hjpeg->InDataLength = ((hjpeg->InDataLength + 3UL) / 4UL) * 4UL; 7000778c: bf82 ittt hi 7000778e: 3303 addhi r3, #3 70007790: f023 0303 bichi.w r3, r3, #3 70007794: 62a3 strhi r3, [r4, #40] @ 0x28 if (((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0UL) && (hjpeg->InDataLength > 0UL)) 70007796: 6d63 ldr r3, [r4, #84] @ 0x54 70007798: 04db lsls r3, r3, #19 7000779a: d418 bmi.n 700077ce 7000779c: 6aa3 ldr r3, [r4, #40] @ 0x28 7000779e: b1b3 cbz r3, 700077ce if (HAL_DMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->DIR, 700077a0: 6822 ldr r2, [r4, #0] 700077a2: 69a1 ldr r1, [r4, #24] 700077a4: 3240 adds r2, #64 @ 0x40 700077a6: 6b20 ldr r0, [r4, #48] @ 0x30 700077a8: f7fd fb04 bl 70004db4 700077ac: b150 cbz r0, 700077c4 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; 700077ae: 6d23 ldr r3, [r4, #80] @ 0x50 HAL_JPEG_ErrorCallback(hjpeg); 700077b0: 4620 mov r0, r4 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; 700077b2: f043 0304 orr.w r3, r3, #4 700077b6: 6523 str r3, [r4, #80] @ 0x50 hjpeg->State = HAL_JPEG_STATE_ERROR; 700077b8: 2306 movs r3, #6 700077ba: f884 304d strb.w r3, [r4, #77] @ 0x4d HAL_JPEG_ErrorCallback(hjpeg); 700077be: f7fa fcd5 bl 7000216c } 700077c2: bd70 pop {r4, r5, r6, pc} JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_IDMA); 700077c4: 6822 ldr r2, [r4, #0] 700077c6: 6b13 ldr r3, [r2, #48] @ 0x30 700077c8: f443 6300 orr.w r3, r3, #2048 @ 0x800 700077cc: 6313 str r3, [r2, #48] @ 0x30 __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); 700077ce: 6822 ldr r2, [r4, #0] 700077d0: 6b13 ldr r3, [r2, #48] @ 0x30 700077d2: f043 0360 orr.w r3, r3, #96 @ 0x60 700077d6: 6313 str r3, [r2, #48] @ 0x30 700077d8: e7f3 b.n 700077c2 700077da : if (hjpeg->OutDataLength >= (hjpeg->JpegOutCount + (nbOutputWords * 4UL))) 700077da: 6a42 ldr r2, [r0, #36] @ 0x24 { 700077dc: b5f8 push {r3, r4, r5, r6, r7, lr} if (hjpeg->OutDataLength >= (hjpeg->JpegOutCount + (nbOutputWords * 4UL))) 700077de: eb02 0281 add.w r2, r2, r1, lsl #2 700077e2: 6ac3 ldr r3, [r0, #44] @ 0x2c { 700077e4: 4604 mov r4, r0 if (hjpeg->OutDataLength >= (hjpeg->JpegOutCount + (nbOutputWords * 4UL))) 700077e6: 4293 cmp r3, r2 700077e8: d32a bcc.n 70007840 for (index = 0; index < nbOutputWords; index++) 700077ea: 2200 movs r2, #0 dataword = hjpeg->Instance->DOR; 700077ec: 6823 ldr r3, [r4, #0] for (index = 0; index < nbOutputWords; index++) 700077ee: 3201 adds r2, #1 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)(dataword & 0x000000FFUL); 700077f0: 69e5 ldr r5, [r4, #28] dataword = hjpeg->Instance->DOR; 700077f2: 6c5b ldr r3, [r3, #68] @ 0x44 for (index = 0; index < nbOutputWords; index++) 700077f4: 4291 cmp r1, r2 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)(dataword & 0x000000FFUL); 700077f6: 6a60 ldr r0, [r4, #36] @ 0x24 700077f8: 542b strb r3, [r5, r0] hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1UL] = (uint8_t)((dataword & 0x0000FF00UL) >> 8); 700077fa: 6a65 ldr r5, [r4, #36] @ 0x24 700077fc: 69e0 ldr r0, [r4, #28] 700077fe: 4428 add r0, r5 70007800: ea4f 2513 mov.w r5, r3, lsr #8 70007804: 7045 strb r5, [r0, #1] hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataword & 0x00FF0000UL) >> 16); 70007806: 6a65 ldr r5, [r4, #36] @ 0x24 70007808: 69e0 ldr r0, [r4, #28] 7000780a: 4428 add r0, r5 7000780c: ea4f 4513 mov.w r5, r3, lsr #16 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataword & 0xFF000000UL) >> 24); 70007810: ea4f 6313 mov.w r3, r3, lsr #24 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataword & 0x00FF0000UL) >> 16); 70007814: 7085 strb r5, [r0, #2] hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataword & 0xFF000000UL) >> 24); 70007816: 6a65 ldr r5, [r4, #36] @ 0x24 70007818: 69e0 ldr r0, [r4, #28] 7000781a: 4428 add r0, r5 7000781c: 70c3 strb r3, [r0, #3] hjpeg->JpegOutCount += 4UL; 7000781e: 6a63 ldr r3, [r4, #36] @ 0x24 70007820: f103 0304 add.w r3, r3, #4 70007824: 6263 str r3, [r4, #36] @ 0x24 for (index = 0; index < nbOutputWords; index++) 70007826: d1e1 bne.n 700077ec if (hjpeg->OutDataLength == hjpeg->JpegOutCount) 70007828: 6a63 ldr r3, [r4, #36] @ 0x24 7000782a: 6ae2 ldr r2, [r4, #44] @ 0x2c 7000782c: 429a cmp r2, r3 7000782e: d106 bne.n 7000783e HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); 70007830: 6a62 ldr r2, [r4, #36] @ 0x24 70007832: 4620 mov r0, r4 70007834: 69e1 ldr r1, [r4, #28] 70007836: f7fa fc01 bl 7000203c hjpeg->JpegOutCount = 0; 7000783a: 2300 movs r3, #0 7000783c: 6263 str r3, [r4, #36] @ 0x24 } 7000783e: bdf8 pop {r3, r4, r5, r6, r7, pc} else if (hjpeg->OutDataLength > hjpeg->JpegOutCount) 70007840: 6a42 ldr r2, [r0, #36] @ 0x24 70007842: 4293 cmp r3, r2 70007844: d9fb bls.n 7000783e nb_words = (hjpeg->OutDataLength - hjpeg->JpegOutCount) / 4UL; 70007846: 6a42 ldr r2, [r0, #36] @ 0x24 for (index = 0; index < nb_words; index++) 70007848: 2100 movs r1, #0 nb_words = (hjpeg->OutDataLength - hjpeg->JpegOutCount) / 4UL; 7000784a: 1a9b subs r3, r3, r2 7000784c: 089a lsrs r2, r3, #2 for (index = 0; index < nb_words; index++) 7000784e: 4291 cmp r1, r2 70007850: d120 bne.n 70007894 if (hjpeg->OutDataLength == hjpeg->JpegOutCount) 70007852: 6ae7 ldr r7, [r4, #44] @ 0x2c 70007854: 6a63 ldr r3, [r4, #36] @ 0x24 70007856: 429f cmp r7, r3 70007858: d0ea beq.n 70007830 nb_bytes = hjpeg->OutDataLength - hjpeg->JpegOutCount; 7000785a: 6a65 ldr r5, [r4, #36] @ 0x24 for (index = 0; index < nb_bytes; index++) 7000785c: 2200 movs r2, #0 dataword = hjpeg->Instance->DOR; 7000785e: 6823 ldr r3, [r4, #0] nb_bytes = hjpeg->OutDataLength - hjpeg->JpegOutCount; 70007860: 1b78 subs r0, r7, r5 dataword = hjpeg->Instance->DOR; 70007862: 6c5e ldr r6, [r3, #68] @ 0x44 for (index = 0; index < nb_bytes; index++) 70007864: 4282 cmp r2, r0 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)((dataword >> (8UL * (index & 0x3UL))) & 0xFFUL); 70007866: 69e1 ldr r1, [r4, #28] for (index = 0; index < nb_bytes; index++) 70007868: d12d bne.n 700078c6 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); 7000786a: 6a62 ldr r2, [r4, #36] @ 0x24 7000786c: 4620 mov r0, r4 7000786e: f7fa fbe5 bl 7000203c hjpeg->JpegOutCount = 0; 70007872: 2300 movs r3, #0 70007874: 6263 str r3, [r4, #36] @ 0x24 nb_bytes = 4UL - nb_bytes; 70007876: 1d2b adds r3, r5, #4 70007878: 1bdb subs r3, r3, r7 for (index = nb_bytes; index < 4UL; index++) 7000787a: 2b03 cmp r3, #3 7000787c: d8df bhi.n 7000783e hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)((dataword >> (8UL * index)) & 0xFFUL); 7000787e: 00da lsls r2, r3, #3 70007880: 6a61 ldr r1, [r4, #36] @ 0x24 70007882: 69e0 ldr r0, [r4, #28] for (index = nb_bytes; index < 4UL; index++) 70007884: 3301 adds r3, #1 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)((dataword >> (8UL * index)) & 0xFFUL); 70007886: fa26 f202 lsr.w r2, r6, r2 7000788a: 5442 strb r2, [r0, r1] hjpeg->JpegOutCount++; 7000788c: 6a62 ldr r2, [r4, #36] @ 0x24 7000788e: 3201 adds r2, #1 70007890: 6262 str r2, [r4, #36] @ 0x24 for (index = nb_bytes; index < 4UL; index++) 70007892: e7f2 b.n 7000787a dataword = hjpeg->Instance->DOR; 70007894: 6823 ldr r3, [r4, #0] for (index = 0; index < nb_words; index++) 70007896: 3101 adds r1, #1 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)(dataword & 0x000000FFUL); 70007898: 69e5 ldr r5, [r4, #28] dataword = hjpeg->Instance->DOR; 7000789a: 6c5b ldr r3, [r3, #68] @ 0x44 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)(dataword & 0x000000FFUL); 7000789c: 6a60 ldr r0, [r4, #36] @ 0x24 7000789e: 542b strb r3, [r5, r0] hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1UL] = (uint8_t)((dataword & 0x0000FF00UL) >> 8); 700078a0: 6a65 ldr r5, [r4, #36] @ 0x24 700078a2: 69e0 ldr r0, [r4, #28] 700078a4: 4428 add r0, r5 700078a6: 0a1d lsrs r5, r3, #8 700078a8: 7045 strb r5, [r0, #1] hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataword & 0x00FF0000UL) >> 16); 700078aa: 6a65 ldr r5, [r4, #36] @ 0x24 700078ac: 69e0 ldr r0, [r4, #28] 700078ae: 4428 add r0, r5 700078b0: 0c1d lsrs r5, r3, #16 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataword & 0xFF000000UL) >> 24); 700078b2: 0e1b lsrs r3, r3, #24 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataword & 0x00FF0000UL) >> 16); 700078b4: 7085 strb r5, [r0, #2] hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataword & 0xFF000000UL) >> 24); 700078b6: 6a65 ldr r5, [r4, #36] @ 0x24 700078b8: 69e0 ldr r0, [r4, #28] 700078ba: 4428 add r0, r5 700078bc: 70c3 strb r3, [r0, #3] hjpeg->JpegOutCount += 4UL; 700078be: 6a63 ldr r3, [r4, #36] @ 0x24 700078c0: 3304 adds r3, #4 700078c2: 6263 str r3, [r4, #36] @ 0x24 for (index = 0; index < nb_words; index++) 700078c4: e7c3 b.n 7000784e hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)((dataword >> (8UL * (index & 0x3UL))) & 0xFFUL); 700078c6: f002 0303 and.w r3, r2, #3 700078ca: f8d4 c024 ldr.w ip, [r4, #36] @ 0x24 for (index = 0; index < nb_bytes; index++) 700078ce: 3201 adds r2, #1 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)((dataword >> (8UL * (index & 0x3UL))) & 0xFFUL); 700078d0: 00db lsls r3, r3, #3 700078d2: fa26 f303 lsr.w r3, r6, r3 700078d6: f801 300c strb.w r3, [r1, ip] hjpeg->JpegOutCount++; 700078da: 6a63 ldr r3, [r4, #36] @ 0x24 700078dc: 3301 adds r3, #1 700078de: 6263 str r3, [r4, #36] @ 0x24 for (index = 0; index < nb_bytes; index++) 700078e0: e7c0 b.n 70007864 700078e2 : { 700078e2: b538 push {r3, r4, r5, lr} uint32_t itflag = hjpeg->Instance->SR; 700078e4: 6803 ldr r3, [r0, #0] { 700078e6: 4604 mov r4, r0 uint32_t itflag = hjpeg->Instance->SR; 700078e8: 6b5d ldr r5, [r3, #52] @ 0x34 if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 700078ea: 6d43 ldr r3, [r0, #84] @ 0x54 700078ec: f003 0303 and.w r3, r3, #3 700078f0: 2b02 cmp r3, #2 700078f2: d112 bne.n 7000791a if ((itflag & JPEG_FLAG_HPDF) != 0UL) 700078f4: 0669 lsls r1, r5, #25 700078f6: d510 bpl.n 7000791a (void) HAL_JPEG_GetInfo(hjpeg, &hjpeg->Conf); 700078f8: 1d01 adds r1, r0, #4 700078fa: f7ff fd4b bl 70007394 hjpeg->Conf.ImageQuality = 0; 700078fe: 2300 movs r3, #0 HAL_JPEG_InfoReadyCallback(hjpeg, &hjpeg->Conf); 70007900: 4620 mov r0, r4 hjpeg->Conf.ImageQuality = 0; 70007902: 6163 str r3, [r4, #20] HAL_JPEG_InfoReadyCallback(hjpeg, &hjpeg->Conf); 70007904: f7fa fb50 bl 70001fa8 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_IT_HPD); 70007908: 6823 ldr r3, [r4, #0] 7000790a: 6b1a ldr r2, [r3, #48] @ 0x30 7000790c: f022 0240 bic.w r2, r2, #64 @ 0x40 70007910: 631a str r2, [r3, #48] @ 0x30 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_HPDF); 70007912: 6b9a ldr r2, [r3, #56] @ 0x38 70007914: f042 0240 orr.w r2, r2, #64 @ 0x40 70007918: 639a str r2, [r3, #56] @ 0x38 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0UL) 7000791a: 6d63 ldr r3, [r4, #84] @ 0x54 7000791c: 04da lsls r2, r3, #19 7000791e: d405 bmi.n 7000792c if ((itflag & JPEG_FLAG_IFTF) != 0UL) 70007920: 07ab lsls r3, r5, #30 70007922: d50e bpl.n 70007942 JPEG_ReadInputData(hjpeg, JPEG_FIFO_TH_SIZE); 70007924: 2104 movs r1, #4 JPEG_ReadInputData(hjpeg, 1); 70007926: 4620 mov r0, r4 70007928: f7ff fe9e bl 70007668 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) 7000792c: 6d63 ldr r3, [r4, #84] @ 0x54 7000792e: 0499 lsls r1, r3, #18 70007930: d40f bmi.n 70007952 if ((itflag & JPEG_FLAG_OFTF) != 0UL) 70007932: 072a lsls r2, r5, #28 70007934: d509 bpl.n 7000794a JPEG_StoreOutputData(hjpeg, JPEG_FIFO_TH_SIZE); 70007936: 2104 movs r1, #4 JPEG_StoreOutputData(hjpeg, 1); 70007938: 4620 mov r0, r4 7000793a: f7ff ff4e bl 700077da return JPEG_PROCESS_ONGOING; 7000793e: 2000 movs r0, #0 } 70007940: bd38 pop {r3, r4, r5, pc} else if ((itflag & JPEG_FLAG_IFNFF) != 0UL) 70007942: 0768 lsls r0, r5, #29 70007944: d5f2 bpl.n 7000792c JPEG_ReadInputData(hjpeg, 1); 70007946: 2101 movs r1, #1 70007948: e7ed b.n 70007926 else if ((itflag & JPEG_FLAG_OFNEF) != 0UL) 7000794a: 06eb lsls r3, r5, #27 7000794c: d501 bpl.n 70007952 JPEG_StoreOutputData(hjpeg, 1); 7000794e: 2101 movs r1, #1 70007950: e7f2 b.n 70007938 if ((itflag & (JPEG_FLAG_EOCF | JPEG_FLAG_OFTF | JPEG_FLAG_OFNEF)) == JPEG_FLAG_EOCF) 70007952: f005 0538 and.w r5, r5, #56 @ 0x38 70007956: 2d20 cmp r5, #32 70007958: d1f1 bne.n 7000793e hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; 7000795a: 6823 ldr r3, [r4, #0] 7000795c: 681a ldr r2, [r3, #0] 7000795e: f022 0201 bic.w r2, r2, #1 70007962: 601a str r2, [r3, #0] if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) 70007964: 6d62 ldr r2, [r4, #84] @ 0x54 70007966: f002 020c and.w r2, r2, #12 7000796a: 2a08 cmp r2, #8 7000796c: d103 bne.n 70007976 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); 7000796e: 6b1a ldr r2, [r3, #48] @ 0x30 70007970: f022 027e bic.w r2, r2, #126 @ 0x7e 70007974: 631a str r2, [r3, #48] @ 0x30 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); 70007976: 6b9a ldr r2, [r3, #56] @ 0x38 70007978: f042 0260 orr.w r2, r2, #96 @ 0x60 7000797c: 639a str r2, [r3, #56] @ 0x38 if (hjpeg->JpegOutCount > 0UL) 7000797e: 6a63 ldr r3, [r4, #36] @ 0x24 70007980: b133 cbz r3, 70007990 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); 70007982: 6a62 ldr r2, [r4, #36] @ 0x24 70007984: 4620 mov r0, r4 70007986: 69e1 ldr r1, [r4, #28] 70007988: f7fa fb58 bl 7000203c hjpeg->JpegOutCount = 0; 7000798c: 2300 movs r3, #0 7000798e: 6263 str r3, [r4, #36] @ 0x24 tmpContext = hjpeg->Context; 70007990: 6d63 ldr r3, [r4, #84] @ 0x54 HAL_JPEG_DecodeCpltCallback(hjpeg); 70007992: 4620 mov r0, r4 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); 70007994: 6d62 ldr r2, [r4, #84] @ 0x54 if ((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 70007996: f003 0303 and.w r3, r3, #3 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); 7000799a: f402 4282 and.w r2, r2, #16640 @ 0x4100 if ((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 7000799e: 2b02 cmp r3, #2 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); 700079a0: 6562 str r2, [r4, #84] @ 0x54 __HAL_UNLOCK(hjpeg); 700079a2: f04f 0200 mov.w r2, #0 700079a6: f884 204c strb.w r2, [r4, #76] @ 0x4c hjpeg->State = HAL_JPEG_STATE_READY; 700079aa: f04f 0201 mov.w r2, #1 700079ae: f884 204d strb.w r2, [r4, #77] @ 0x4d if ((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 700079b2: d103 bne.n 700079bc HAL_JPEG_DecodeCpltCallback(hjpeg); 700079b4: f7fa fbdc bl 70002170 return JPEG_PROCESS_DONE; 700079b8: 2001 movs r0, #1 700079ba: e7c1 b.n 70007940 HAL_JPEG_EncodeCpltCallback(hjpeg); 700079bc: f7ff fe36 bl 7000762c 700079c0: e7fa b.n 700079b8 700079c2 : { 700079c2: b570 push {r4, r5, r6, lr} 700079c4: 4604 mov r4, r0 700079c6: 2610 movs r6, #16 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) 700079c8: 6d65 ldr r5, [r4, #84] @ 0x54 700079ca: f415 5500 ands.w r5, r5, #8192 @ 0x2000 700079ce: d123 bne.n 70007a18 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) != 0UL) 700079d0: 6823 ldr r3, [r4, #0] 700079d2: 6b5a ldr r2, [r3, #52] @ 0x34 700079d4: 06d0 lsls r0, r2, #27 700079d6: d51f bpl.n 70007a18 dataOut = hjpeg->Instance->DOR; 700079d8: 6c5b ldr r3, [r3, #68] @ 0x44 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)(dataOut & 0x000000FFUL); 700079da: 69e1 ldr r1, [r4, #28] 700079dc: 6a62 ldr r2, [r4, #36] @ 0x24 700079de: 548b strb r3, [r1, r2] hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1UL] = (uint8_t)((dataOut & 0x0000FF00UL) >> 8); 700079e0: 6a61 ldr r1, [r4, #36] @ 0x24 700079e2: 69e2 ldr r2, [r4, #28] 700079e4: 440a add r2, r1 700079e6: 0a19 lsrs r1, r3, #8 700079e8: 7051 strb r1, [r2, #1] hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataOut & 0x00FF0000UL) >> 16); 700079ea: 6a61 ldr r1, [r4, #36] @ 0x24 700079ec: 69e2 ldr r2, [r4, #28] 700079ee: 440a add r2, r1 700079f0: 0c19 lsrs r1, r3, #16 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataOut & 0xFF000000UL) >> 24); 700079f2: 0e1b lsrs r3, r3, #24 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataOut & 0x00FF0000UL) >> 16); 700079f4: 7091 strb r1, [r2, #2] hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataOut & 0xFF000000UL) >> 24); 700079f6: 6a61 ldr r1, [r4, #36] @ 0x24 700079f8: 69e2 ldr r2, [r4, #28] 700079fa: 440a add r2, r1 700079fc: 70d3 strb r3, [r2, #3] hjpeg->JpegOutCount += 4UL; 700079fe: 6a63 ldr r3, [r4, #36] @ 0x24 70007a00: 3304 adds r3, #4 70007a02: 6263 str r3, [r4, #36] @ 0x24 if (hjpeg->JpegOutCount == hjpeg->OutDataLength) 70007a04: 6ae3 ldr r3, [r4, #44] @ 0x2c 70007a06: 6a62 ldr r2, [r4, #36] @ 0x24 70007a08: 429a cmp r2, r3 70007a0a: d105 bne.n 70007a18 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); 70007a0c: 6a62 ldr r2, [r4, #36] @ 0x24 70007a0e: 4620 mov r0, r4 70007a10: 69e1 ldr r1, [r4, #28] 70007a12: f7fa fb13 bl 7000203c hjpeg->JpegOutCount = 0; 70007a16: 6265 str r5, [r4, #36] @ 0x24 for (count = JPEG_FIFO_SIZE; count > 0UL; count--) 70007a18: 3e01 subs r6, #1 70007a1a: d1d5 bne.n 700079c8 if ((__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) == 0UL) || ((tmpContext & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL)) 70007a1c: 6823 ldr r3, [r4, #0] tmpContext = hjpeg->Context; 70007a1e: 6d62 ldr r2, [r4, #84] @ 0x54 if ((__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) == 0UL) || ((tmpContext & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL)) 70007a20: 6b59 ldr r1, [r3, #52] @ 0x34 70007a22: 06c9 lsls r1, r1, #27 70007a24: d501 bpl.n 70007a2a 70007a26: 0492 lsls r2, r2, #18 70007a28: d420 bmi.n 70007a6c hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; 70007a2a: 681a ldr r2, [r3, #0] 70007a2c: f022 0201 bic.w r2, r2, #1 70007a30: 601a str r2, [r3, #0] if (hjpeg->JpegOutCount > 0UL) 70007a32: 6a63 ldr r3, [r4, #36] @ 0x24 70007a34: b133 cbz r3, 70007a44 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); 70007a36: 6a62 ldr r2, [r4, #36] @ 0x24 70007a38: 4620 mov r0, r4 70007a3a: 69e1 ldr r1, [r4, #28] 70007a3c: f7fa fafe bl 7000203c hjpeg->JpegOutCount = 0; 70007a40: 2300 movs r3, #0 70007a42: 6263 str r3, [r4, #36] @ 0x24 tmpContext = hjpeg->Context; 70007a44: 6d63 ldr r3, [r4, #84] @ 0x54 HAL_JPEG_DecodeCpltCallback(hjpeg); 70007a46: 4620 mov r0, r4 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); 70007a48: 6d62 ldr r2, [r4, #84] @ 0x54 if ((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 70007a4a: f003 0303 and.w r3, r3, #3 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); 70007a4e: f402 4282 and.w r2, r2, #16640 @ 0x4100 if ((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 70007a52: 2b02 cmp r3, #2 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); 70007a54: 6562 str r2, [r4, #84] @ 0x54 __HAL_UNLOCK(hjpeg); 70007a56: f04f 0200 mov.w r2, #0 70007a5a: f884 204c strb.w r2, [r4, #76] @ 0x4c hjpeg->State = HAL_JPEG_STATE_READY; 70007a5e: f04f 0201 mov.w r2, #1 70007a62: f884 204d strb.w r2, [r4, #77] @ 0x4d if ((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 70007a66: d102 bne.n 70007a6e HAL_JPEG_DecodeCpltCallback(hjpeg); 70007a68: f7fa fb82 bl 70002170 } 70007a6c: bd70 pop {r4, r5, r6, pc} HAL_JPEG_EncodeCpltCallback(hjpeg); 70007a6e: f7ff fddd bl 7000762c } 70007a72: e7fb b.n 70007a6c 70007a74 : if ((hjpeg->Context & (JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT)) == 0UL) 70007a74: 6d43 ldr r3, [r0, #84] @ 0x54 70007a76: f413 5f40 tst.w r3, #12288 @ 0x3000 { 70007a7a: b570 push {r4, r5, r6, lr} 70007a7c: 4604 mov r4, r0 70007a7e: 460d mov r5, r1 if ((hjpeg->Context & (JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT)) == 0UL) 70007a80: d033 beq.n 70007aea if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) 70007a82: 6d43 ldr r3, [r0, #84] @ 0x54 70007a84: f003 030c and.w r3, r3, #12 70007a88: 2b0c cmp r3, #12 70007a8a: d13c bne.n 70007b06 if ((XferSelection & JPEG_PAUSE_RESUME_INPUT) == JPEG_PAUSE_RESUME_INPUT) 70007a8c: f011 0601 ands.w r6, r1, #1 70007a90: d00a beq.n 70007aa8 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_INPUT); 70007a92: 6d43 ldr r3, [r0, #84] @ 0x54 70007a94: f423 5380 bic.w r3, r3, #4096 @ 0x1000 70007a98: 6543 str r3, [r0, #84] @ 0x54 hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4UL); 70007a9a: 6a83 ldr r3, [r0, #40] @ 0x28 70007a9c: f023 0303 bic.w r3, r3, #3 70007aa0: 6283 str r3, [r0, #40] @ 0x28 if (hjpeg->InDataLength > 0UL) 70007aa2: b99b cbnz r3, 70007acc mask |= JPEG_DMA_IDMA; 70007aa4: f44f 6600 mov.w r6, #2048 @ 0x800 if ((XferSelection & JPEG_PAUSE_RESUME_OUTPUT) == JPEG_PAUSE_RESUME_OUTPUT) 70007aa8: 07a8 lsls r0, r5, #30 70007aaa: d509 bpl.n 70007ac0 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_OUTPUT); 70007aac: 6d63 ldr r3, [r4, #84] @ 0x54 70007aae: f423 5300 bic.w r3, r3, #8192 @ 0x2000 70007ab2: 6563 str r3, [r4, #84] @ 0x54 if ((hjpeg->Context & JPEG_CONTEXT_ENDING_DMA) != 0UL) 70007ab4: 6d63 ldr r3, [r4, #84] @ 0x54 70007ab6: 0419 lsls r1, r3, #16 70007ab8: d519 bpl.n 70007aee JPEG_DMA_PollResidualData(hjpeg); 70007aba: 4620 mov r0, r4 70007abc: f7ff ff81 bl 700079c2 JPEG_ENABLE_DMA(hjpeg, mask); 70007ac0: 6822 ldr r2, [r4, #0] 70007ac2: 6b13 ldr r3, [r2, #48] @ 0x30 70007ac4: 4333 orrs r3, r6 70007ac6: 6313 str r3, [r2, #48] @ 0x30 return HAL_OK; 70007ac8: 2000 movs r0, #0 } 70007aca: bd70 pop {r4, r5, r6, pc} if (HAL_DMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->DIR, 70007acc: 6802 ldr r2, [r0, #0] 70007ace: 6981 ldr r1, [r0, #24] 70007ad0: 3240 adds r2, #64 @ 0x40 70007ad2: 6b00 ldr r0, [r0, #48] @ 0x30 70007ad4: f7fd f96e bl 70004db4 70007ad8: 2800 cmp r0, #0 70007ada: d0e3 beq.n 70007aa4 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; 70007adc: 6d23 ldr r3, [r4, #80] @ 0x50 70007ade: f043 0304 orr.w r3, r3, #4 70007ae2: 6523 str r3, [r4, #80] @ 0x50 hjpeg->State = HAL_JPEG_STATE_ERROR; 70007ae4: 2306 movs r3, #6 70007ae6: f884 304d strb.w r3, [r4, #77] @ 0x4d return HAL_ERROR; 70007aea: 2001 movs r0, #1 70007aec: e7ed b.n 70007aca if (HAL_DMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuffPtr, 70007aee: 6821 ldr r1, [r4, #0] 70007af0: 6ae3 ldr r3, [r4, #44] @ 0x2c 70007af2: 69e2 ldr r2, [r4, #28] 70007af4: 3144 adds r1, #68 @ 0x44 70007af6: 6b60 ldr r0, [r4, #52] @ 0x34 70007af8: f7fd f95c bl 70004db4 70007afc: 2800 cmp r0, #0 70007afe: d1ed bne.n 70007adc mask |= JPEG_DMA_ODMA; 70007b00: f446 5680 orr.w r6, r6, #4096 @ 0x1000 70007b04: e7dc b.n 70007ac0 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) 70007b06: 6d43 ldr r3, [r0, #84] @ 0x54 70007b08: f003 030c and.w r3, r3, #12 70007b0c: 2b08 cmp r3, #8 70007b0e: d1db bne.n 70007ac8 if ((XferSelection & JPEG_PAUSE_RESUME_INPUT) == JPEG_PAUSE_RESUME_INPUT) 70007b10: f011 0301 ands.w r3, r1, #1 70007b14: d004 beq.n 70007b20 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_INPUT); 70007b16: 6d43 ldr r3, [r0, #84] @ 0x54 70007b18: f423 5380 bic.w r3, r3, #4096 @ 0x1000 70007b1c: 6543 str r3, [r0, #84] @ 0x54 mask |= (JPEG_IT_IFT | JPEG_IT_IFNF); 70007b1e: 2306 movs r3, #6 if ((XferSelection & JPEG_PAUSE_RESUME_OUTPUT) == JPEG_PAUSE_RESUME_OUTPUT) 70007b20: 07aa lsls r2, r5, #30 70007b22: d505 bpl.n 70007b30 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_OUTPUT); 70007b24: 6d62 ldr r2, [r4, #84] @ 0x54 mask |= (JPEG_IT_OFT | JPEG_IT_OFNE | JPEG_IT_EOC); 70007b26: f043 0328 orr.w r3, r3, #40 @ 0x28 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_OUTPUT); 70007b2a: f422 5200 bic.w r2, r2, #8192 @ 0x2000 70007b2e: 6562 str r2, [r4, #84] @ 0x54 __HAL_JPEG_ENABLE_IT(hjpeg, mask); 70007b30: 6821 ldr r1, [r4, #0] 70007b32: 6b0a ldr r2, [r1, #48] @ 0x30 70007b34: 4313 orrs r3, r2 70007b36: 630b str r3, [r1, #48] @ 0x30 70007b38: e7c6 b.n 70007ac8 70007b3a : { 70007b3a: b570 push {r4, r5, r6, lr} 70007b3c: 4604 mov r4, r0 hjpeg->JpegOutCount = hjpeg->OutDataLength - JPEG_GET_DMA_REMAIN_DATA(hjpeg->hdmaout); 70007b3e: 6ac5 ldr r5, [r0, #44] @ 0x2c 70007b40: 6b40 ldr r0, [r0, #52] @ 0x34 70007b42: 6803 ldr r3, [r0, #0] 70007b44: 6c9e ldr r6, [r3, #72] @ 0x48 70007b46: f7fe f821 bl 70005b8c if (hjpeg->JpegOutCount == hjpeg->OutDataLength) 70007b4a: 6ae3 ldr r3, [r4, #44] @ 0x2c hjpeg->JpegOutCount = hjpeg->OutDataLength - JPEG_GET_DMA_REMAIN_DATA(hjpeg->hdmaout); 70007b4c: b2b6 uxth r6, r6 70007b4e: 1bad subs r5, r5, r6 70007b50: 1a2d subs r5, r5, r0 70007b52: 6265 str r5, [r4, #36] @ 0x24 if (hjpeg->JpegOutCount == hjpeg->OutDataLength) 70007b54: 6a62 ldr r2, [r4, #36] @ 0x24 70007b56: 429a cmp r2, r3 70007b58: d106 bne.n 70007b68 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); 70007b5a: 6a62 ldr r2, [r4, #36] @ 0x24 70007b5c: 4620 mov r0, r4 70007b5e: 69e1 ldr r1, [r4, #28] 70007b60: f7fa fa6c bl 7000203c hjpeg->JpegOutCount = 0; 70007b64: 2300 movs r3, #0 70007b66: 6263 str r3, [r4, #36] @ 0x24 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) == 0UL) 70007b68: 6823 ldr r3, [r4, #0] 70007b6a: 6b5d ldr r5, [r3, #52] @ 0x34 70007b6c: f015 0510 ands.w r5, r5, #16 70007b70: d124 bne.n 70007bbc if (hjpeg->JpegOutCount > 0UL) 70007b72: 6a63 ldr r3, [r4, #36] @ 0x24 70007b74: b12b cbz r3, 70007b82 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); 70007b76: 6a62 ldr r2, [r4, #36] @ 0x24 70007b78: 4620 mov r0, r4 70007b7a: 69e1 ldr r1, [r4, #28] 70007b7c: f7fa fa5e bl 7000203c hjpeg->JpegOutCount = 0; 70007b80: 6265 str r5, [r4, #36] @ 0x24 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; 70007b82: 6822 ldr r2, [r4, #0] HAL_JPEG_DecodeCpltCallback(hjpeg); 70007b84: 4620 mov r0, r4 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; 70007b86: 6813 ldr r3, [r2, #0] 70007b88: f023 0301 bic.w r3, r3, #1 70007b8c: 6013 str r3, [r2, #0] tmpContext = hjpeg->Context; 70007b8e: 6d63 ldr r3, [r4, #84] @ 0x54 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); 70007b90: 6d62 ldr r2, [r4, #84] @ 0x54 if ((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 70007b92: f003 0303 and.w r3, r3, #3 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); 70007b96: f402 4282 and.w r2, r2, #16640 @ 0x4100 if ((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 70007b9a: 2b02 cmp r3, #2 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); 70007b9c: 6562 str r2, [r4, #84] @ 0x54 __HAL_UNLOCK(hjpeg); 70007b9e: f04f 0200 mov.w r2, #0 70007ba2: f884 204c strb.w r2, [r4, #76] @ 0x4c hjpeg->State = HAL_JPEG_STATE_READY; 70007ba6: f04f 0201 mov.w r2, #1 70007baa: f884 204d strb.w r2, [r4, #77] @ 0x4d if ((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 70007bae: d102 bne.n 70007bb6 HAL_JPEG_DecodeCpltCallback(hjpeg); 70007bb0: f7fa fade bl 70002170 } 70007bb4: bd70 pop {r4, r5, r6, pc} HAL_JPEG_EncodeCpltCallback(hjpeg); 70007bb6: f7ff fd39 bl 7000762c 70007bba: e7fb b.n 70007bb4 else if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) 70007bbc: 6d63 ldr r3, [r4, #84] @ 0x54 70007bbe: 049b lsls r3, r3, #18 70007bc0: d4f8 bmi.n 70007bb4 JPEG_DMA_PollResidualData(hjpeg); 70007bc2: 4620 mov r0, r4 } 70007bc4: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} JPEG_DMA_PollResidualData(hjpeg); 70007bc8: f7ff befb b.w 700079c2 70007bcc : JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 70007bcc: 6dc0 ldr r0, [r0, #92] @ 0x5c if ((hjpeg->Context & JPEG_CONTEXT_ENDING_DMA) != 0UL) 70007bce: 6d43 ldr r3, [r0, #84] @ 0x54 70007bd0: 041b lsls r3, r3, #16 70007bd2: d501 bpl.n 70007bd8 JPEG_DMA_EndProcess(hjpeg); 70007bd4: f7ff bfb1 b.w 70007b3a } 70007bd8: 4770 bx lr 70007bda : { 70007bda: b570 push {r4, r5, r6, lr} JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 70007bdc: 6dc4 ldr r4, [r0, #92] @ 0x5c __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); 70007bde: 6823 ldr r3, [r4, #0] 70007be0: 6b19 ldr r1, [r3, #48] @ 0x30 70007be2: f021 017e bic.w r1, r1, #126 @ 0x7e 70007be6: 6319 str r1, [r3, #48] @ 0x30 if ((hjpeg->Context & (JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_DMA)) == 70007be8: 6d61 ldr r1, [r4, #84] @ 0x54 70007bea: f421 41ff bic.w r1, r1, #32640 @ 0x7f80 70007bee: f021 0173 bic.w r1, r1, #115 @ 0x73 70007bf2: 0409 lsls r1, r1, #16 70007bf4: 0c09 lsrs r1, r1, #16 70007bf6: 290c cmp r1, #12 70007bf8: d129 bne.n 70007c4e if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_EOCF) == 0UL) 70007bfa: 6b59 ldr r1, [r3, #52] @ 0x34 70007bfc: 0689 lsls r1, r1, #26 70007bfe: d42c bmi.n 70007c5a JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA); 70007c00: 6b19 ldr r1, [r3, #48] @ 0x30 hjpeg->JpegOutCount = hjpeg->OutDataLength - JPEG_GET_DMA_REMAIN_DATA(hdma); 70007c02: 6ae5 ldr r5, [r4, #44] @ 0x2c JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA); 70007c04: f421 5180 bic.w r1, r1, #4096 @ 0x1000 70007c08: 6319 str r1, [r3, #48] @ 0x30 hjpeg->JpegOutCount = hjpeg->OutDataLength - JPEG_GET_DMA_REMAIN_DATA(hdma); 70007c0a: 6803 ldr r3, [r0, #0] 70007c0c: 6c9e ldr r6, [r3, #72] @ 0x48 70007c0e: f7fd ffbd bl 70005b8c HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); 70007c12: 69e1 ldr r1, [r4, #28] hjpeg->JpegOutCount = hjpeg->OutDataLength - JPEG_GET_DMA_REMAIN_DATA(hdma); 70007c14: b2b6 uxth r6, r6 70007c16: 1bad subs r5, r5, r6 70007c18: 1a2d subs r5, r5, r0 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); 70007c1a: 4620 mov r0, r4 hjpeg->JpegOutCount = hjpeg->OutDataLength - JPEG_GET_DMA_REMAIN_DATA(hdma); 70007c1c: 6265 str r5, [r4, #36] @ 0x24 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); 70007c1e: 6a62 ldr r2, [r4, #36] @ 0x24 70007c20: f7fa fa0c bl 7000203c if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) 70007c24: 6d63 ldr r3, [r4, #84] @ 0x54 70007c26: 049b lsls r3, r3, #18 70007c28: d417 bmi.n 70007c5a if (HAL_DMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuffPtr, 70007c2a: 6821 ldr r1, [r4, #0] 70007c2c: 6ae3 ldr r3, [r4, #44] @ 0x2c 70007c2e: 69e2 ldr r2, [r4, #28] 70007c30: 3144 adds r1, #68 @ 0x44 70007c32: 6b60 ldr r0, [r4, #52] @ 0x34 70007c34: f7fd f8be bl 70004db4 70007c38: b150 cbz r0, 70007c50 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; 70007c3a: 6d23 ldr r3, [r4, #80] @ 0x50 HAL_JPEG_ErrorCallback(hjpeg); 70007c3c: 4620 mov r0, r4 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; 70007c3e: f043 0304 orr.w r3, r3, #4 70007c42: 6523 str r3, [r4, #80] @ 0x50 hjpeg->State = HAL_JPEG_STATE_ERROR; 70007c44: 2306 movs r3, #6 70007c46: f884 304d strb.w r3, [r4, #77] @ 0x4d HAL_JPEG_ErrorCallback(hjpeg); 70007c4a: f7fa fa8f bl 7000216c } 70007c4e: bd70 pop {r4, r5, r6, pc} JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_ODMA); 70007c50: 6822 ldr r2, [r4, #0] 70007c52: 6b13 ldr r3, [r2, #48] @ 0x30 70007c54: f443 5380 orr.w r3, r3, #4096 @ 0x1000 70007c58: 6313 str r3, [r2, #48] @ 0x30 __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); 70007c5a: 6822 ldr r2, [r4, #0] 70007c5c: 6b13 ldr r3, [r2, #48] @ 0x30 70007c5e: f043 0360 orr.w r3, r3, #96 @ 0x60 70007c62: 6313 str r3, [r2, #48] @ 0x30 70007c64: e7f3 b.n 70007c4e 70007c66 : { 70007c66: b538 push {r3, r4, r5, lr} switch (hjpeg->State) 70007c68: f890 304d ldrb.w r3, [r0, #77] @ 0x4d { 70007c6c: 4604 mov r4, r0 switch (hjpeg->State) 70007c6e: 3b03 subs r3, #3 70007c70: 2b01 cmp r3, #1 70007c72: d853 bhi.n 70007d1c if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) 70007c74: 6d43 ldr r3, [r0, #84] @ 0x54 70007c76: f003 030c and.w r3, r3, #12 70007c7a: 2b08 cmp r3, #8 70007c7c: d103 bne.n 70007c86 } 70007c7e: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} (void) JPEG_Process(hjpeg); 70007c82: f7ff be2e b.w 700078e2 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) 70007c86: 6d43 ldr r3, [r0, #84] @ 0x54 70007c88: f003 030c and.w r3, r3, #12 70007c8c: 2b0c cmp r3, #12 70007c8e: d145 bne.n 70007d1c uint32_t itflag = hjpeg->Instance->SR; 70007c90: 6803 ldr r3, [r0, #0] 70007c92: 6b5d ldr r5, [r3, #52] @ 0x34 if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) 70007c94: 6d43 ldr r3, [r0, #84] @ 0x54 70007c96: f003 0303 and.w r3, r3, #3 70007c9a: 2b02 cmp r3, #2 70007c9c: d112 bne.n 70007cc4 if ((itflag & JPEG_FLAG_HPDF) != 0UL) 70007c9e: 066a lsls r2, r5, #25 70007ca0: d510 bpl.n 70007cc4 (void) HAL_JPEG_GetInfo(hjpeg, &hjpeg->Conf); 70007ca2: 1d01 adds r1, r0, #4 70007ca4: f7ff fb76 bl 70007394 hjpeg->Conf.ImageQuality = 0; 70007ca8: 2300 movs r3, #0 HAL_JPEG_InfoReadyCallback(hjpeg, &hjpeg->Conf); 70007caa: 4620 mov r0, r4 hjpeg->Conf.ImageQuality = 0; 70007cac: 6163 str r3, [r4, #20] HAL_JPEG_InfoReadyCallback(hjpeg, &hjpeg->Conf); 70007cae: f7fa f97b bl 70001fa8 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_IT_HPD); 70007cb2: 6823 ldr r3, [r4, #0] 70007cb4: 6b1a ldr r2, [r3, #48] @ 0x30 70007cb6: f022 0240 bic.w r2, r2, #64 @ 0x40 70007cba: 631a str r2, [r3, #48] @ 0x30 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_HPDF); 70007cbc: 6b9a ldr r2, [r3, #56] @ 0x38 70007cbe: f042 0240 orr.w r2, r2, #64 @ 0x40 70007cc2: 639a str r2, [r3, #56] @ 0x38 if ((itflag & JPEG_FLAG_EOCF) != 0UL) 70007cc4: 06ab lsls r3, r5, #26 70007cc6: d529 bpl.n 70007d1c JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA | JPEG_DMA_IDMA); 70007cc8: 6823 ldr r3, [r4, #0] if (hjpeg->hdmain->State == HAL_DMA_STATE_BUSY) 70007cca: 6b20 ldr r0, [r4, #48] @ 0x30 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA | JPEG_DMA_IDMA); 70007ccc: 6b1a ldr r2, [r3, #48] @ 0x30 70007cce: f422 52c0 bic.w r2, r2, #6144 @ 0x1800 70007cd2: 631a str r2, [r3, #48] @ 0x30 hjpeg->Context |= JPEG_CONTEXT_ENDING_DMA; 70007cd4: 6d62 ldr r2, [r4, #84] @ 0x54 70007cd6: f442 4200 orr.w r2, r2, #32768 @ 0x8000 70007cda: 6562 str r2, [r4, #84] @ 0x54 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; 70007cdc: 681a ldr r2, [r3, #0] 70007cde: f022 0201 bic.w r2, r2, #1 70007ce2: 601a str r2, [r3, #0] __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); 70007ce4: 6b1a ldr r2, [r3, #48] @ 0x30 70007ce6: f022 027e bic.w r2, r2, #126 @ 0x7e 70007cea: 631a str r2, [r3, #48] @ 0x30 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); 70007cec: 6b9a ldr r2, [r3, #56] @ 0x38 70007cee: f042 0260 orr.w r2, r2, #96 @ 0x60 70007cf2: 639a str r2, [r3, #56] @ 0x38 if (hjpeg->hdmain->State == HAL_DMA_STATE_BUSY) 70007cf4: f890 3054 ldrb.w r3, [r0, #84] @ 0x54 70007cf8: 2b02 cmp r3, #2 70007cfa: d101 bne.n 70007d00 (void) HAL_DMA_Abort_IT(hjpeg->hdmain); 70007cfc: f7fd f8e0 bl 70004ec0 if (hjpeg->hdmaout->State == HAL_DMA_STATE_BUSY) 70007d00: 6b60 ldr r0, [r4, #52] @ 0x34 70007d02: f890 3054 ldrb.w r3, [r0, #84] @ 0x54 70007d06: 2b02 cmp r3, #2 70007d08: d103 bne.n 70007d12 } 70007d0a: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} (void) HAL_DMA_Abort_IT(hjpeg->hdmaout); 70007d0e: f7fd b8d7 b.w 70004ec0 JPEG_DMA_EndProcess(hjpeg); 70007d12: 4620 mov r0, r4 } 70007d14: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} JPEG_DMA_EndProcess(hjpeg); 70007d18: f7ff bf0f b.w 70007b3a } 70007d1c: bd38 pop {r3, r4, r5, pc} 70007d1e : return hjpeg->State; 70007d1e: f890 004d ldrb.w r0, [r0, #77] @ 0x4d } 70007d22: 4770 bx lr 70007d24 : uint32_t tmp1; uint32_t tmp2; /* Configure the horizontal start and stop position */ tmp = ((pLayerCfg->WindowX1 + ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16U)) << 16U); LTDC_LAYER(hltdc, LayerIdx)->WHPCR &= ~(LTDC_LxWHPCR_WHSTPOS | LTDC_LxWHPCR_WHSPPOS); 70007d24: 01d2 lsls r2, r2, #7 tmp = ((pLayerCfg->WindowX1 + ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16U)) << 16U); 70007d26: 6800 ldr r0, [r0, #0] LTDC_LAYER(hltdc, LayerIdx)->WHPCR &= ~(LTDC_LxWHPCR_WHSTPOS | LTDC_LxWHPCR_WHSPPOS); 70007d28: 3284 adds r2, #132 @ 0x84 70007d2a: 1883 adds r3, r0, r2 { 70007d2c: b5f0 push {r4, r5, r6, r7, lr} tmp = ((pLayerCfg->WindowX1 + ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16U)) << 16U); 70007d2e: 68c7 ldr r7, [r0, #12] LTDC_LAYER(hltdc, LayerIdx)->WHPCR &= ~(LTDC_LxWHPCR_WHSTPOS | LTDC_LxWHPCR_WHSPPOS); 70007d30: 685d ldr r5, [r3, #4] tmp = ((pLayerCfg->WindowX1 + ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16U)) << 16U); 70007d32: 684c ldr r4, [r1, #4] 70007d34: f3c7 470b ubfx r7, r7, #16, #12 LTDC_LAYER(hltdc, LayerIdx)->WHPCR &= ~(LTDC_LxWHPCR_WHSTPOS | LTDC_LxWHPCR_WHSPPOS); 70007d38: f005 25f0 and.w r5, r5, #4026593280 @ 0xf000f000 LTDC_LAYER(hltdc, LayerIdx)->WHPCR = ((pLayerCfg->WindowX0 + \ 70007d3c: 680e ldr r6, [r1, #0] tmp = ((pLayerCfg->WindowX1 + ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16U)) << 16U); 70007d3e: 4427 add r7, r4 LTDC_LAYER(hltdc, LayerIdx)->WHPCR &= ~(LTDC_LxWHPCR_WHSTPOS | LTDC_LxWHPCR_WHSPPOS); 70007d40: 605d str r5, [r3, #4] ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16U) + 1U) | tmp); 70007d42: f106 0c01 add.w ip, r6, #1 70007d46: 68c5 ldr r5, [r0, #12] } /* Configure the color frame buffer pitch in byte */ LTDC_LAYER(hltdc, LayerIdx)->CFBLR &= ~(LTDC_LxCFBLR_CFBLL | LTDC_LxCFBLR_CFBP); LTDC_LAYER(hltdc, LayerIdx)->CFBLR = (((pLayerCfg->ImageWidth * tmp) << 16U) | (((pLayerCfg->WindowX1 - pLayerCfg->WindowX0) * tmp) + 7U)); 70007d48: 1ba4 subs r4, r4, r6 ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16U) + 1U) | tmp); 70007d4a: f3c5 450b ubfx r5, r5, #16, #12 70007d4e: 4465 add r5, ip 70007d50: ea45 4507 orr.w r5, r5, r7, lsl #16 LTDC_LAYER(hltdc, LayerIdx)->WHPCR = ((pLayerCfg->WindowX0 + \ 70007d54: 605d str r5, [r3, #4] tmp = ((pLayerCfg->WindowY1 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP)) << 16U); 70007d56: 68c7 ldr r7, [r0, #12] 70007d58: 68cd ldr r5, [r1, #12] 70007d5a: f3c7 070a ubfx r7, r7, #0, #11 70007d5e: 442f add r7, r5 LTDC_LAYER(hltdc, LayerIdx)->WVPCR &= ~(LTDC_LxWVPCR_WVSTPOS | LTDC_LxWVPCR_WVSPPOS); 70007d60: 689d ldr r5, [r3, #8] 70007d62: f005 25f8 and.w r5, r5, #4160813056 @ 0xf800f800 70007d66: 609d str r5, [r3, #8] LTDC_LAYER(hltdc, LayerIdx)->WVPCR = ((pLayerCfg->WindowY0 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP) + 1U) | tmp); 70007d68: 688d ldr r5, [r1, #8] 70007d6a: f8d0 c00c ldr.w ip, [r0, #12] 70007d6e: 3501 adds r5, #1 70007d70: f3cc 0c0a ubfx ip, ip, #0, #11 70007d74: 4465 add r5, ip LTDC_LAYER(hltdc, LayerIdx)->PFCR = (pLayerCfg->PixelFormat); 70007d76: f8d1 c010 ldr.w ip, [r1, #16] LTDC_LAYER(hltdc, LayerIdx)->WVPCR = ((pLayerCfg->WindowY0 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP) + 1U) | tmp); 70007d7a: ea45 4507 orr.w r5, r5, r7, lsl #16 tmp2 = (pLayerCfg->Alpha0 << 24U); 70007d7e: 698f ldr r7, [r1, #24] 70007d80: f1bc 0f07 cmp.w ip, #7 LTDC_LAYER(hltdc, LayerIdx)->WVPCR = ((pLayerCfg->WindowY0 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP) + 1U) | tmp); 70007d84: 609d str r5, [r3, #8] LTDC_LAYER(hltdc, LayerIdx)->PFCR &= ~(LTDC_LxPFCR_PF); 70007d86: 691d ldr r5, [r3, #16] 70007d88: f025 0507 bic.w r5, r5, #7 70007d8c: 611d str r5, [r3, #16] LTDC_LAYER(hltdc, LayerIdx)->PFCR = (pLayerCfg->PixelFormat); 70007d8e: f8c3 c010 str.w ip, [r3, #16] WRITE_REG(LTDC_LAYER(hltdc, LayerIdx)->DCCR, (pLayerCfg->Backcolor.Blue | tmp | tmp1 | tmp2)); 70007d92: f891 5030 ldrb.w r5, [r1, #48] @ 0x30 70007d96: ea45 6507 orr.w r5, r5, r7, lsl #24 tmp = ((uint32_t)(pLayerCfg->Backcolor.Green) << 8U); 70007d9a: f891 7031 ldrb.w r7, [r1, #49] @ 0x31 WRITE_REG(LTDC_LAYER(hltdc, LayerIdx)->DCCR, (pLayerCfg->Backcolor.Blue | tmp | tmp1 | tmp2)); 70007d9e: ea45 2507 orr.w r5, r5, r7, lsl #8 tmp1 = ((uint32_t)(pLayerCfg->Backcolor.Red) << 16U); 70007da2: f891 7032 ldrb.w r7, [r1, #50] @ 0x32 WRITE_REG(LTDC_LAYER(hltdc, LayerIdx)->DCCR, (pLayerCfg->Backcolor.Blue | tmp | tmp1 | tmp2)); 70007da6: ea45 4507 orr.w r5, r5, r7, lsl #16 70007daa: 619d str r5, [r3, #24] LTDC_LAYER(hltdc, LayerIdx)->CACR &= ~(LTDC_LxCACR_CONSTA); 70007dac: 695d ldr r5, [r3, #20] 70007dae: f025 05ff bic.w r5, r5, #255 @ 0xff 70007db2: 615d str r5, [r3, #20] LTDC_LAYER(hltdc, LayerIdx)->CACR = (pLayerCfg->Alpha); 70007db4: 694d ldr r5, [r1, #20] 70007db6: 615d str r5, [r3, #20] LTDC_LAYER(hltdc, LayerIdx)->BFCR &= ~(LTDC_LxBFCR_BF2 | LTDC_LxBFCR_BF1); 70007db8: 69dd ldr r5, [r3, #28] 70007dba: f425 65e0 bic.w r5, r5, #1792 @ 0x700 70007dbe: f025 0507 bic.w r5, r5, #7 70007dc2: 61dd str r5, [r3, #28] LTDC_LAYER(hltdc, LayerIdx)->BFCR = (pLayerCfg->BlendingFactor1 | pLayerCfg->BlendingFactor2); 70007dc4: e9d1 5707 ldrd r5, r7, [r1, #28] 70007dc8: ea45 0507 orr.w r5, r5, r7 WRITE_REG(LTDC_LAYER(hltdc, LayerIdx)->CFBAR, pLayerCfg->FBStartAdress); 70007dcc: bf88 it hi 70007dce: 2701 movhi r7, #1 LTDC_LAYER(hltdc, LayerIdx)->BFCR = (pLayerCfg->BlendingFactor1 | pLayerCfg->BlendingFactor2); 70007dd0: 61dd str r5, [r3, #28] WRITE_REG(LTDC_LAYER(hltdc, LayerIdx)->CFBAR, pLayerCfg->FBStartAdress); 70007dd2: 6a4d ldr r5, [r1, #36] @ 0x24 70007dd4: 629d str r5, [r3, #40] @ 0x28 if (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB8888) 70007dd6: bf9c itt ls 70007dd8: 4d0c ldrls r5, [pc, #48] @ (70007e0c ) 70007dda: f815 700c ldrbls.w r7, [r5, ip] LTDC_LAYER(hltdc, LayerIdx)->CFBLR &= ~(LTDC_LxCFBLR_CFBLL | LTDC_LxCFBLR_CFBP); 70007dde: 6add ldr r5, [r3, #44] @ 0x2c (((pLayerCfg->WindowX1 - pLayerCfg->WindowX0) * tmp) + 7U)); 70007de0: 437c muls r4, r7 LTDC_LAYER(hltdc, LayerIdx)->CFBLR &= ~(LTDC_LxCFBLR_CFBLL | LTDC_LxCFBLR_CFBP); 70007de2: f005 25e0 and.w r5, r5, #3758153728 @ 0xe000e000 (((pLayerCfg->WindowX1 - pLayerCfg->WindowX0) * tmp) + 7U)); 70007de6: 3407 adds r4, #7 LTDC_LAYER(hltdc, LayerIdx)->CFBLR &= ~(LTDC_LxCFBLR_CFBLL | LTDC_LxCFBLR_CFBP); 70007de8: 62dd str r5, [r3, #44] @ 0x2c LTDC_LAYER(hltdc, LayerIdx)->CFBLR = (((pLayerCfg->ImageWidth * tmp) << 16U) | 70007dea: 6a8d ldr r5, [r1, #40] @ 0x28 /* Configure the frame buffer line number */ LTDC_LAYER(hltdc, LayerIdx)->CFBLNR &= ~(LTDC_LxCFBLNR_CFBLNBR); LTDC_LAYER(hltdc, LayerIdx)->CFBLNR = (pLayerCfg->ImageHeight); 70007dec: 6ac9 ldr r1, [r1, #44] @ 0x2c LTDC_LAYER(hltdc, LayerIdx)->CFBLR = (((pLayerCfg->ImageWidth * tmp) << 16U) | 70007dee: 437d muls r5, r7 70007df0: ea44 4405 orr.w r4, r4, r5, lsl #16 70007df4: 62dc str r4, [r3, #44] @ 0x2c LTDC_LAYER(hltdc, LayerIdx)->CFBLNR &= ~(LTDC_LxCFBLNR_CFBLNBR); 70007df6: 6b1c ldr r4, [r3, #48] @ 0x30 70007df8: f36f 040a bfc r4, #0, #11 70007dfc: 631c str r4, [r3, #48] @ 0x30 LTDC_LAYER(hltdc, LayerIdx)->CFBLNR = (pLayerCfg->ImageHeight); 70007dfe: 6319 str r1, [r3, #48] @ 0x30 /* Enable LTDC_Layer by setting LEN bit */ LTDC_LAYER(hltdc, LayerIdx)->CR |= (uint32_t)LTDC_LxCR_LEN; 70007e00: 5883 ldr r3, [r0, r2] 70007e02: f043 0301 orr.w r3, r3, #1 70007e06: 5083 str r3, [r0, r2] } 70007e08: bdf0 pop {r4, r5, r6, r7, pc} 70007e0a: bf00 nop 70007e0c: 7003f670 .word 0x7003f670 70007e10 : { 70007e10: b538 push {r3, r4, r5, lr} if (hltdc == NULL) 70007e12: 4604 mov r4, r0 70007e14: 2800 cmp r0, #0 70007e16: d04e beq.n 70007eb6 if (hltdc->State == HAL_LTDC_STATE_RESET) 70007e18: f890 30a1 ldrb.w r3, [r0, #161] @ 0xa1 70007e1c: f003 02ff and.w r2, r3, #255 @ 0xff 70007e20: b91b cbnz r3, 70007e2a hltdc->Lock = HAL_UNLOCKED; 70007e22: f880 20a0 strb.w r2, [r0, #160] @ 0xa0 HAL_LTDC_MspInit(hltdc); 70007e26: f7f9 fa45 bl 700012b4 hltdc->State = HAL_LTDC_STATE_BUSY; 70007e2a: 2302 movs r3, #2 70007e2c: f884 30a1 strb.w r3, [r4, #161] @ 0xa1 hltdc->Instance->GCR &= ~(LTDC_GCR_HSPOL | LTDC_GCR_VSPOL | LTDC_GCR_DEPOL | LTDC_GCR_PCPOL); 70007e30: 6823 ldr r3, [r4, #0] 70007e32: 699a ldr r2, [r3, #24] 70007e34: f022 4270 bic.w r2, r2, #4026531840 @ 0xf0000000 70007e38: 619a str r2, [r3, #24] hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 70007e3a: 6999 ldr r1, [r3, #24] 70007e3c: e9d4 2001 ldrd r2, r0, [r4, #4] 70007e40: 4302 orrs r2, r0 70007e42: 68e0 ldr r0, [r4, #12] 70007e44: 4302 orrs r2, r0 hltdc->Init.DEPolarity | hltdc->Init.PCPolarity); 70007e46: 6920 ldr r0, [r4, #16] 70007e48: 4302 orrs r2, r0 hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 70007e4a: 430a orrs r2, r1 70007e4c: 619a str r2, [r3, #24] WRITE_REG(hltdc->Instance->SSCR, (tmp | hltdc->Init.VerticalSync)); 70007e4e: e9d4 1205 ldrd r1, r2, [r4, #20] 70007e52: ea42 4201 orr.w r2, r2, r1, lsl #16 70007e56: 609a str r2, [r3, #8] WRITE_REG(hltdc->Instance->BPCR, (tmp | hltdc->Init.AccumulatedVBP)); 70007e58: e9d4 1207 ldrd r1, r2, [r4, #28] 70007e5c: ea42 4201 orr.w r2, r2, r1, lsl #16 70007e60: 60da str r2, [r3, #12] WRITE_REG(hltdc->Instance->AWCR, (tmp | hltdc->Init.AccumulatedActiveH)); 70007e62: e9d4 1209 ldrd r1, r2, [r4, #36] @ 0x24 70007e66: ea42 4201 orr.w r2, r2, r1, lsl #16 70007e6a: 611a str r2, [r3, #16] WRITE_REG(hltdc->Instance->TWCR, (tmp | hltdc->Init.TotalHeigh)); 70007e6c: e9d4 120b ldrd r1, r2, [r4, #44] @ 0x2c 70007e70: ea42 4201 orr.w r2, r2, r1, lsl #16 70007e74: 615a str r2, [r3, #20] hltdc->Instance->BCCR &= ~(LTDC_BCCR_BCBLUE | LTDC_BCCR_BCGREEN | LTDC_BCCR_BCRED); 70007e76: 6ada ldr r2, [r3, #44] @ 0x2c tmp = ((uint32_t)(hltdc->Init.Backcolor.Green) << 8U); 70007e78: f894 0035 ldrb.w r0, [r4, #53] @ 0x35 hltdc->Instance->BCCR &= ~(LTDC_BCCR_BCBLUE | LTDC_BCCR_BCGREEN | LTDC_BCCR_BCRED); 70007e7c: f002 427f and.w r2, r2, #4278190080 @ 0xff000000 tmp1 = ((uint32_t)(hltdc->Init.Backcolor.Red) << 16U); 70007e80: f894 1036 ldrb.w r1, [r4, #54] @ 0x36 hltdc->Instance->BCCR &= ~(LTDC_BCCR_BCBLUE | LTDC_BCCR_BCGREEN | LTDC_BCCR_BCRED); 70007e84: 62da str r2, [r3, #44] @ 0x2c hltdc->Instance->BCCR |= (tmp1 | tmp | hltdc->Init.Backcolor.Blue); 70007e86: 6add ldr r5, [r3, #44] @ 0x2c 70007e88: f894 2034 ldrb.w r2, [r4, #52] @ 0x34 70007e8c: 432a orrs r2, r5 70007e8e: ea42 2200 orr.w r2, r2, r0, lsl #8 hltdc->ErrorCode = HAL_LTDC_ERROR_NONE; 70007e92: 2000 movs r0, #0 hltdc->Instance->BCCR |= (tmp1 | tmp | hltdc->Init.Backcolor.Blue); 70007e94: ea42 4201 orr.w r2, r2, r1, lsl #16 70007e98: 62da str r2, [r3, #44] @ 0x2c __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_TE | LTDC_IT_FU); 70007e9a: 6b5a ldr r2, [r3, #52] @ 0x34 70007e9c: f042 0206 orr.w r2, r2, #6 70007ea0: 635a str r2, [r3, #52] @ 0x34 __HAL_LTDC_ENABLE(hltdc); 70007ea2: 699a ldr r2, [r3, #24] 70007ea4: f042 0201 orr.w r2, r2, #1 70007ea8: 619a str r2, [r3, #24] hltdc->State = HAL_LTDC_STATE_READY; 70007eaa: 2301 movs r3, #1 hltdc->ErrorCode = HAL_LTDC_ERROR_NONE; 70007eac: f8c4 00a4 str.w r0, [r4, #164] @ 0xa4 hltdc->State = HAL_LTDC_STATE_READY; 70007eb0: f884 30a1 strb.w r3, [r4, #161] @ 0xa1 } 70007eb4: bd38 pop {r3, r4, r5, pc} return HAL_ERROR; 70007eb6: 2001 movs r0, #1 70007eb8: e7fc b.n 70007eb4 70007eba : __weak void HAL_LTDC_ErrorCallback(LTDC_HandleTypeDef *hltdc) 70007eba: 4770 bx lr 70007ebc : __weak void HAL_LTDC_ReloadEventCallback(LTDC_HandleTypeDef *hltdc) 70007ebc: 4770 bx lr 70007ebe : uint32_t isrflags = READ_REG(hltdc->Instance->ISR); 70007ebe: 6803 ldr r3, [r0, #0] { 70007ec0: b570 push {r4, r5, r6, lr} uint32_t isrflags = READ_REG(hltdc->Instance->ISR); 70007ec2: 6b9e ldr r6, [r3, #56] @ 0x38 { 70007ec4: 4604 mov r4, r0 uint32_t itsources = READ_REG(hltdc->Instance->IER); 70007ec6: 6b5d ldr r5, [r3, #52] @ 0x34 if (((isrflags & LTDC_ISR_TERRIF) != 0U) && ((itsources & LTDC_IER_TERRIE) != 0U)) 70007ec8: 0772 lsls r2, r6, #29 70007eca: d514 bpl.n 70007ef6 70007ecc: 0769 lsls r1, r5, #29 70007ece: d512 bpl.n 70007ef6 __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_TE); 70007ed0: 6b5a ldr r2, [r3, #52] @ 0x34 70007ed2: f022 0204 bic.w r2, r2, #4 70007ed6: 635a str r2, [r3, #52] @ 0x34 __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_TE); 70007ed8: 2204 movs r2, #4 70007eda: 63da str r2, [r3, #60] @ 0x3c hltdc->ErrorCode |= HAL_LTDC_ERROR_TE; 70007edc: f8d0 30a4 ldr.w r3, [r0, #164] @ 0xa4 70007ee0: f043 0301 orr.w r3, r3, #1 70007ee4: f8c0 30a4 str.w r3, [r0, #164] @ 0xa4 __HAL_UNLOCK(hltdc); 70007ee8: 2300 movs r3, #0 hltdc->State = HAL_LTDC_STATE_ERROR; 70007eea: f880 20a1 strb.w r2, [r0, #161] @ 0xa1 __HAL_UNLOCK(hltdc); 70007eee: f880 30a0 strb.w r3, [r0, #160] @ 0xa0 HAL_LTDC_ErrorCallback(hltdc); 70007ef2: f7ff ffe2 bl 70007eba if (((isrflags & LTDC_ISR_FUIF) != 0U) && ((itsources & LTDC_IER_FUIE) != 0U)) 70007ef6: 07b2 lsls r2, r6, #30 70007ef8: d516 bpl.n 70007f28 70007efa: 07ab lsls r3, r5, #30 70007efc: d514 bpl.n 70007f28 __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_FU); 70007efe: 6823 ldr r3, [r4, #0] HAL_LTDC_ErrorCallback(hltdc); 70007f00: 4620 mov r0, r4 __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_FU); 70007f02: 6b5a ldr r2, [r3, #52] @ 0x34 70007f04: f022 0202 bic.w r2, r2, #2 70007f08: 635a str r2, [r3, #52] @ 0x34 __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_FU); 70007f0a: 2202 movs r2, #2 70007f0c: 63da str r2, [r3, #60] @ 0x3c hltdc->ErrorCode |= HAL_LTDC_ERROR_FU; 70007f0e: f8d4 30a4 ldr.w r3, [r4, #164] @ 0xa4 70007f12: 4313 orrs r3, r2 70007f14: f8c4 30a4 str.w r3, [r4, #164] @ 0xa4 hltdc->State = HAL_LTDC_STATE_ERROR; 70007f18: 2304 movs r3, #4 70007f1a: f884 30a1 strb.w r3, [r4, #161] @ 0xa1 __HAL_UNLOCK(hltdc); 70007f1e: 2300 movs r3, #0 70007f20: f884 30a0 strb.w r3, [r4, #160] @ 0xa0 HAL_LTDC_ErrorCallback(hltdc); 70007f24: f7ff ffc9 bl 70007eba if (((isrflags & LTDC_ISR_LIF) != 0U) && ((itsources & LTDC_IER_LIE) != 0U)) 70007f28: 07f0 lsls r0, r6, #31 70007f2a: d510 bpl.n 70007f4e 70007f2c: 07e9 lsls r1, r5, #31 70007f2e: d50e bpl.n 70007f4e __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); 70007f30: 6823 ldr r3, [r4, #0] HAL_LTDC_LineEventCallback(hltdc); 70007f32: 4620 mov r0, r4 __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); 70007f34: 6b5a ldr r2, [r3, #52] @ 0x34 70007f36: f022 0201 bic.w r2, r2, #1 70007f3a: 635a str r2, [r3, #52] @ 0x34 __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_LI); 70007f3c: 2201 movs r2, #1 70007f3e: 63da str r2, [r3, #60] @ 0x3c __HAL_UNLOCK(hltdc); 70007f40: 2300 movs r3, #0 hltdc->State = HAL_LTDC_STATE_READY; 70007f42: f884 20a1 strb.w r2, [r4, #161] @ 0xa1 __HAL_UNLOCK(hltdc); 70007f46: f884 30a0 strb.w r3, [r4, #160] @ 0xa0 HAL_LTDC_LineEventCallback(hltdc); 70007f4a: f7fb fb07 bl 7000355c if (((isrflags & LTDC_ISR_RRIF) != 0U) && ((itsources & LTDC_IER_RRIE) != 0U)) 70007f4e: 0732 lsls r2, r6, #28 70007f50: d511 bpl.n 70007f76 70007f52: 072b lsls r3, r5, #28 70007f54: d50f bpl.n 70007f76 __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_RR); 70007f56: 6823 ldr r3, [r4, #0] HAL_LTDC_ReloadEventCallback(hltdc); 70007f58: 4620 mov r0, r4 __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_RR); 70007f5a: 6b5a ldr r2, [r3, #52] @ 0x34 70007f5c: f022 0208 bic.w r2, r2, #8 70007f60: 635a str r2, [r3, #52] @ 0x34 __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_RR); 70007f62: 2208 movs r2, #8 70007f64: 63da str r2, [r3, #60] @ 0x3c hltdc->State = HAL_LTDC_STATE_READY; 70007f66: 2301 movs r3, #1 70007f68: f884 30a1 strb.w r3, [r4, #161] @ 0xa1 __HAL_UNLOCK(hltdc); 70007f6c: 2300 movs r3, #0 70007f6e: f884 30a0 strb.w r3, [r4, #160] @ 0xa0 HAL_LTDC_ReloadEventCallback(hltdc); 70007f72: f7ff ffa3 bl 70007ebc } 70007f76: bd70 pop {r4, r5, r6, pc} 70007f78 : { 70007f78: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} __HAL_LOCK(hltdc); 70007f7c: f890 30a0 ldrb.w r3, [r0, #160] @ 0xa0 { 70007f80: 4606 mov r6, r0 70007f82: 460f mov r7, r1 70007f84: 4694 mov ip, r2 __HAL_LOCK(hltdc); 70007f86: 2b01 cmp r3, #1 70007f88: f04f 0002 mov.w r0, #2 70007f8c: d01f beq.n 70007fce hltdc->LayerCfg[LayerIdx] = *pLayerCfg; 70007f8e: 2434 movs r4, #52 @ 0x34 __HAL_LOCK(hltdc); 70007f90: f04f 0801 mov.w r8, #1 hltdc->LayerCfg[LayerIdx] = *pLayerCfg; 70007f94: 460d mov r5, r1 hltdc->State = HAL_LTDC_STATE_BUSY; 70007f96: f886 00a1 strb.w r0, [r6, #161] @ 0xa1 hltdc->LayerCfg[LayerIdx] = *pLayerCfg; 70007f9a: fb04 6402 mla r4, r4, r2, r6 __HAL_LOCK(hltdc); 70007f9e: f886 80a0 strb.w r8, [r6, #160] @ 0xa0 hltdc->LayerCfg[LayerIdx] = *pLayerCfg; 70007fa2: 3438 adds r4, #56 @ 0x38 70007fa4: cd0f ldmia r5!, {r0, r1, r2, r3} 70007fa6: c40f stmia r4!, {r0, r1, r2, r3} 70007fa8: cd0f ldmia r5!, {r0, r1, r2, r3} 70007faa: c40f stmia r4!, {r0, r1, r2, r3} 70007fac: cd0f ldmia r5!, {r0, r1, r2, r3} 70007fae: c40f stmia r4!, {r0, r1, r2, r3} 70007fb0: 682b ldr r3, [r5, #0] LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); 70007fb2: 4630 mov r0, r6 70007fb4: 4662 mov r2, ip 70007fb6: 4639 mov r1, r7 hltdc->LayerCfg[LayerIdx] = *pLayerCfg; 70007fb8: 6023 str r3, [r4, #0] LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); 70007fba: f7ff feb3 bl 70007d24 hltdc->Instance->SRCR = LTDC_SRCR_IMR; 70007fbe: 6833 ldr r3, [r6, #0] __HAL_UNLOCK(hltdc); 70007fc0: 2000 movs r0, #0 hltdc->Instance->SRCR = LTDC_SRCR_IMR; 70007fc2: f8c3 8024 str.w r8, [r3, #36] @ 0x24 hltdc->State = HAL_LTDC_STATE_READY; 70007fc6: f886 80a1 strb.w r8, [r6, #161] @ 0xa1 __HAL_UNLOCK(hltdc); 70007fca: f886 00a0 strb.w r0, [r6, #160] @ 0xa0 } 70007fce: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} ... 70007fd4 : __HAL_LOCK(hltdc); 70007fd4: f890 20a0 ldrb.w r2, [r0, #160] @ 0xa0 { 70007fd8: 4603 mov r3, r0 70007fda: 2002 movs r0, #2 __HAL_LOCK(hltdc); 70007fdc: 2a01 cmp r2, #1 70007fde: d012 beq.n 70008006 __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); 70007fe0: 681a ldr r2, [r3, #0] hltdc->State = HAL_LTDC_STATE_BUSY; 70007fe2: f883 00a1 strb.w r0, [r3, #161] @ 0xa1 __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); 70007fe6: 6b50 ldr r0, [r2, #52] @ 0x34 70007fe8: f020 0001 bic.w r0, r0, #1 70007fec: 6350 str r0, [r2, #52] @ 0x34 LTDC->LIPCR = (uint32_t)Line; 70007fee: 4806 ldr r0, [pc, #24] @ (70008008 ) 70007ff0: 6401 str r1, [r0, #64] @ 0x40 __HAL_UNLOCK(hltdc); 70007ff2: 2000 movs r0, #0 __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_LI); 70007ff4: 6b51 ldr r1, [r2, #52] @ 0x34 70007ff6: f041 0101 orr.w r1, r1, #1 70007ffa: 6351 str r1, [r2, #52] @ 0x34 hltdc->State = HAL_LTDC_STATE_READY; 70007ffc: 2201 movs r2, #1 __HAL_UNLOCK(hltdc); 70007ffe: f883 00a0 strb.w r0, [r3, #160] @ 0xa0 hltdc->State = HAL_LTDC_STATE_READY; 70008002: f883 20a1 strb.w r2, [r3, #161] @ 0xa1 } 70008006: 4770 bx lr 70008008: 50001000 .word 0x50001000 7000800c : UNUSED(SoundLevel); UNUSED(AmbientNoise); /* NOTE : This function should not be modified, when the function is needed, the HAL_MDF_SndLvlCallback could be implemented in the user file */ } 7000800c: 4770 bx lr 7000800e : * @param hmdf MDF handle. * @param pFilterConfig Filter configuration parameters. * @retval None. */ static void MDF_AcqStart(MDF_HandleTypeDef *const hmdf, const MDF_FilterConfigTypeDef *const pFilterConfig) { 7000800e: b5f0 push {r4, r5, r6, r7, lr} assert_param(IS_MDF_FIFO_THRESHOLD(pFilterConfig->FifoThreshold)); if ((pFilterConfig->AcquisitionMode == MDF_MODE_ASYNC_CONT) || (pFilterConfig->AcquisitionMode == MDF_MODE_ASYNC_SINGLE)) { /* Trigger parameters are not used */ hmdf->Instance->DFLTCR |= (pFilterConfig->AcquisitionMode | pFilterConfig->FifoThreshold | 70008010: 6803 ldr r3, [r0, #0] if ((pFilterConfig->AcquisitionMode == MDF_MODE_ASYNC_CONT) || 70008012: 6d4a ldr r2, [r1, #84] @ 0x54 (pFilterConfig->DiscardSamples << MDF_DFLTCR_NBDIS_Pos)); 70008014: e9d1 5416 ldrd r5, r4, [r1, #88] @ 0x58 if ((pFilterConfig->AcquisitionMode == MDF_MODE_ASYNC_CONT) || 70008018: f032 0610 bics.w r6, r2, #16 7000801c: ea42 0205 orr.w r2, r2, r5 hmdf->Instance->DFLTCR |= (pFilterConfig->AcquisitionMode | pFilterConfig->FifoThreshold | 70008020: 689d ldr r5, [r3, #8] (pFilterConfig->DiscardSamples << MDF_DFLTCR_NBDIS_Pos)); 70008022: ea4f 5404 mov.w r4, r4, lsl #20 hmdf->Instance->DFLTCR |= (pFilterConfig->AcquisitionMode | pFilterConfig->FifoThreshold | 70008026: ea42 0205 orr.w r2, r2, r5 else { /* Trigger parameters are used */ assert_param(IS_MDF_TRIGGER_SOURCE(pFilterConfig->Trigger.Source)); assert_param(IS_MDF_TRIGGER_EDGE(pFilterConfig->Trigger.Edge)); hmdf->Instance->DFLTCR |= (pFilterConfig->AcquisitionMode | pFilterConfig->FifoThreshold | 7000802a: bf1f itttt ne 7000802c: 6e0d ldrne r5, [r1, #96] @ 0x60 7000802e: 432a orrne r2, r5 70008030: 6e4d ldrne r5, [r1, #100] @ 0x64 70008032: 432a orrne r2, r5 70008034: 4322 orrs r2, r4 70008036: 609a str r2, [r3, #8] /* Configure data source, CIC mode, decimation ratio and gain */ assert_param(IS_MDF_DATA_SOURCE(pFilterConfig->DataSource)); assert_param(IS_MDF_CIC_MODE(pFilterConfig->CicMode)); assert_param(IS_MDF_DECIMATION_RATIO(pFilterConfig->DecimationRatio)); assert_param(IS_MDF_GAIN(pFilterConfig->Gain)); if (pFilterConfig->Gain < 0) 70008038: 690c ldr r4, [r1, #16] else { /* for positive value, no offset to apply */ register_gain_value = (uint32_t) pFilterConfig->Gain; } hmdf->Instance->DFLTCICR = (pFilterConfig->DataSource | pFilterConfig->CicMode | 7000803a: 688d ldr r5, [r1, #8] 7000803c: 680a ldr r2, [r1, #0] if (pFilterConfig->Gain < 0) 7000803e: 2c00 cmp r4, #0 hmdf->Instance->DFLTCICR = (pFilterConfig->DataSource | pFilterConfig->CicMode | 70008040: ea42 0205 orr.w r2, r2, r5 ((pFilterConfig->DecimationRatio - 1U) << MDF_DFLTCICR_MCICD_Pos) | 70008044: 68cd ldr r5, [r1, #12] adjust_gain = pFilterConfig->Gain - 16; 70008046: bfb8 it lt 70008048: 3c10 sublt r4, #16 ((pFilterConfig->DecimationRatio - 1U) << MDF_DFLTCICR_MCICD_Pos) | 7000804a: f105 35ff add.w r5, r5, #4294967295 @ 0xffffffff 7000804e: bfb8 it lt 70008050: f004 043f andlt.w r4, r4, #63 @ 0x3f hmdf->Instance->DFLTCICR = (pFilterConfig->DataSource | pFilterConfig->CicMode | 70008054: ea42 2205 orr.w r2, r2, r5, lsl #8 ((pFilterConfig->DecimationRatio - 1U) << MDF_DFLTCICR_MCICD_Pos) | 70008058: ea42 5204 orr.w r2, r2, r4, lsl #20 hmdf->Instance->DFLTCICR = (pFilterConfig->DataSource | pFilterConfig->CicMode | 7000805c: 60da str r2, [r3, #12] (register_gain_value << MDF_DFLTCICR_SCALE_Pos)); /* Configure bitstream delay */ assert_param(IS_MDF_DELAY(pFilterConfig->Delay)); hmdf->Instance->DLYCR = pFilterConfig->Delay; 7000805e: 684a ldr r2, [r1, #4] 70008060: 625a str r2, [r3, #36] @ 0x24 /* Configure reshape filter */ assert_param(IS_FUNCTIONAL_STATE(pFilterConfig->ReshapeFilter.Activation)); hmdf->Instance->DFLTRSFR = 0U; 70008062: 2200 movs r2, #0 70008064: 611a str r2, [r3, #16] if (pFilterConfig->ReshapeFilter.Activation == ENABLE) 70008066: 7d0a ldrb r2, [r1, #20] 70008068: 2a01 cmp r2, #1 { /* Configure reshape filter decimation ratio */ assert_param(IS_MDF_RSF_DECIMATION_RATIO(pFilterConfig->ReshapeFilter.DecimationRatio)); hmdf->Instance->DFLTRSFR |= pFilterConfig->ReshapeFilter.DecimationRatio; 7000806a: 691a ldr r2, [r3, #16] 7000806c: bf0a itet eq 7000806e: 698c ldreq r4, [r1, #24] } else { /* Bypass reshape filter */ hmdf->Instance->DFLTRSFR |= MDF_DFLTRSFR_RSFLTBYP; 70008070: f042 0201 orrne.w r2, r2, #1 hmdf->Instance->DFLTRSFR |= pFilterConfig->ReshapeFilter.DecimationRatio; 70008074: 4322 orreq r2, r4 hmdf->Instance->DFLTRSFR |= MDF_DFLTRSFR_RSFLTBYP; 70008076: 611a str r2, [r3, #16] } /* Configure high-pass filter */ assert_param(IS_FUNCTIONAL_STATE(pFilterConfig->HighPassFilter.Activation)); if (pFilterConfig->HighPassFilter.Activation == ENABLE) 70008078: 7f0a ldrb r2, [r1, #28] 7000807a: 2a01 cmp r2, #1 { /* Configure high-pass filter cut-off frequency */ assert_param(IS_MDF_HPF_CUTOFF_FREQ(pFilterConfig->HighPassFilter.CutOffFrequency)); hmdf->Instance->DFLTRSFR |= pFilterConfig->HighPassFilter.CutOffFrequency; 7000807c: 691a ldr r2, [r3, #16] 7000807e: bf0a itet eq 70008080: 6a0c ldreq r4, [r1, #32] } else { /* Bypass high-pass filter */ hmdf->Instance->DFLTRSFR |= MDF_DFLTRSFR_HPFBYP; 70008082: f042 0280 orrne.w r2, r2, #128 @ 0x80 hmdf->Instance->DFLTRSFR |= pFilterConfig->HighPassFilter.CutOffFrequency; 70008086: 4322 orreq r2, r4 hmdf->Instance->DFLTRSFR |= MDF_DFLTRSFR_HPFBYP; 70008088: 611a str r2, [r3, #16] } assert_param(IS_FUNCTIONAL_STATE(pFilterConfig->SoundActivity.Activation)); if (pFilterConfig->SoundActivity.Activation == ENABLE) 7000808a: f891 2024 ldrb.w r2, [r1, #36] @ 0x24 7000808e: 2a01 cmp r2, #1 70008090: d133 bne.n 700080fa assert_param(IS_MDF_SAD_SOUND_TRIGGER(pFilterConfig->SoundActivity.SoundTriggerEvent)); assert_param(IS_MDF_SAD_DATA_MEMORY_TRANSFER(pFilterConfig->SoundActivity.DataMemoryTransfer)); if ((pFilterConfig->SoundActivity.Mode != MDF_SAD_AMBIENT_NOISE_DETECTOR) && (pFilterConfig->SoundActivity.Hysteresis == ENABLE)) { hmdf->Instance->SADCR = (pFilterConfig->SoundActivity.Mode | pFilterConfig->SoundActivity.FrameSize | 70008092: e9d1 540a ldrd r5, r4, [r1, #40] @ 0x28 MDF_SADCR_HYSTEN | pFilterConfig->SoundActivity.SoundTriggerEvent | pFilterConfig->SoundActivity.DataMemoryTransfer); 70008096: e9d1 620d ldrd r6, r2, [r1, #52] @ 0x34 if ((pFilterConfig->SoundActivity.Mode != MDF_SAD_AMBIENT_NOISE_DETECTOR) && 7000809a: f5b5 5f40 cmp.w r5, #12288 @ 0x3000 7000809e: d027 beq.n 700080f0 700080a0: f891 7030 ldrb.w r7, [r1, #48] @ 0x30 700080a4: 2f01 cmp r7, #1 700080a6: d123 bne.n 700080f0 MDF_SADCR_HYSTEN | pFilterConfig->SoundActivity.SoundTriggerEvent | 700080a8: 432a orrs r2, r5 700080aa: 4322 orrs r2, r4 700080ac: 4332 orrs r2, r6 700080ae: f042 0280 orr.w r2, r2, #128 @ 0x80 hmdf->Instance->SADCR = (pFilterConfig->SoundActivity.Mode | pFilterConfig->SoundActivity.FrameSize | 700080b2: 639a str r2, [r3, #56] @ 0x38 ambient noise slope control and signal noise threshold only for ADF instance */ assert_param(IS_MDF_SAD_MIN_NOISE_LEVEL(pFilterConfig->SoundActivity.MinNoiseLevel)); assert_param(IS_MDF_SAD_HANGOVER_WINDOW(pFilterConfig->SoundActivity.HangoverWindow)); assert_param(IS_MDF_SAD_LEARNING_FRAMES(pFilterConfig->SoundActivity.LearningFrames)); assert_param(IS_MDF_SAD_SIGNAL_NOISE_THRESHOLD(pFilterConfig->SoundActivity.SignalNoiseThreshold)); if (pFilterConfig->SoundActivity.Mode != MDF_SAD_SOUND_DETECTOR) 700080b4: f5b5 5f80 cmp.w r5, #4096 @ 0x1000 { assert_param(IS_MDF_SAD_AMBIENT_NOISE_SLOPE(pFilterConfig->SoundActivity.AmbientNoiseSlope)); hmdf->Instance->SADCFGR = ((pFilterConfig->SoundActivity.MinNoiseLevel << MDF_SADCFGR_ANMIN_Pos) | 700080b8: e9d1 2410 ldrd r2, r4, [r1, #64] @ 0x40 700080bc: ea42 0204 orr.w r2, r2, r4 700080c0: 6ccc ldr r4, [r1, #76] @ 0x4c 700080c2: ea42 0204 orr.w r2, r2, r4 700080c6: 6bcc ldr r4, [r1, #60] @ 0x3c pFilterConfig->SoundActivity.HangoverWindow | pFilterConfig->SoundActivity.LearningFrames | (pFilterConfig->SoundActivity.AmbientNoiseSlope << MDF_SADCFGR_ANSLP_Pos) | 700080c8: bf18 it ne 700080ca: 6c89 ldrne r1, [r1, #72] @ 0x48 700080cc: ea42 4204 orr.w r2, r2, r4, lsl #16 700080d0: bf18 it ne 700080d2: ea42 1201 orrne.w r2, r2, r1, lsl #4 pFilterConfig->SoundActivity.SignalNoiseThreshold); } else { hmdf->Instance->SADCFGR = ((pFilterConfig->SoundActivity.MinNoiseLevel << MDF_SADCFGR_ANMIN_Pos) | 700080d6: 63da str r2, [r3, #60] @ 0x3c hmdf->Instance->SADCR = 0U; hmdf->Instance->SADCFGR = 0U; } /* Update instance state */ hmdf->State = HAL_MDF_STATE_ACQUISITION; 700080d8: 2202 movs r2, #2 700080da: f880 2038 strb.w r2, [r0, #56] @ 0x38 /* Enable sound activity detector if needed */ if (pFilterConfig->SoundActivity.Activation == ENABLE) { hmdf->Instance->SADCR |= MDF_SADCR_SADEN; 700080de: 6b9a ldr r2, [r3, #56] @ 0x38 700080e0: f042 0201 orr.w r2, r2, #1 700080e4: 639a str r2, [r3, #56] @ 0x38 } /* Enable filter */ hmdf->Instance->DFLTCR |= MDF_DFLTCR_DFLTEN; 700080e6: 689a ldr r2, [r3, #8] 700080e8: f042 0201 orr.w r2, r2, #1 700080ec: 609a str r2, [r3, #8] } 700080ee: bdf0 pop {r4, r5, r6, r7, pc} hmdf->Instance->SADCR = (pFilterConfig->SoundActivity.Mode | pFilterConfig->SoundActivity.FrameSize | 700080f0: 432c orrs r4, r5 700080f2: 4334 orrs r4, r6 pFilterConfig->SoundActivity.SoundTriggerEvent | 700080f4: 4314 orrs r4, r2 hmdf->Instance->SADCR = (pFilterConfig->SoundActivity.Mode | pFilterConfig->SoundActivity.FrameSize | 700080f6: 639c str r4, [r3, #56] @ 0x38 700080f8: e7dc b.n 700080b4 hmdf->Instance->SADCR = 0U; 700080fa: 2200 movs r2, #0 700080fc: 639a str r2, [r3, #56] @ 0x38 hmdf->Instance->SADCFGR = 0U; 700080fe: 63da str r2, [r3, #60] @ 0x3c hmdf->State = HAL_MDF_STATE_ACQUISITION; 70008100: 2202 movs r2, #2 70008102: f880 2038 strb.w r2, [r0, #56] @ 0x38 if (pFilterConfig->SoundActivity.Activation == ENABLE) 70008106: e7ee b.n 700080e6 70008108 : * @brief This function handles DMA transfer complete callback. * @param hdma DMA handle. * @retval None. */ static void MDF_DmaXferCpltCallback(DMA_HandleTypeDef *hdma) { 70008108: 4603 mov r3, r0 MDF_HandleTypeDef *hmdf = (MDF_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 7000810a: 6dc0 ldr r0, [r0, #92] @ 0x5c /* Check if DMA in circular mode */ if (hdma->Mode != DMA_LINKEDLIST_CIRCULAR) 7000810c: 6d1b ldr r3, [r3, #80] @ 0x50 7000810e: 2b81 cmp r3, #129 @ 0x81 70008110: d002 beq.n 70008118 { hmdf->State = HAL_MDF_STATE_READY; 70008112: 2301 movs r3, #1 70008114: f880 3038 strb.w r3, [r0, #56] @ 0x38 } #if (USE_HAL_MDF_REGISTER_CALLBACKS == 1) hmdf->AcqCpltCallback(hmdf); 70008118: 6c03 ldr r3, [r0, #64] @ 0x40 7000811a: 4718 bx r3 7000811c : * @param hdma DMA handle. * @retval None. */ static void MDF_DmaXferHalfCpltCallback(DMA_HandleTypeDef *hdma) { MDF_HandleTypeDef *hmdf = (MDF_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 7000811c: 6dc0 ldr r0, [r0, #92] @ 0x5c #if (USE_HAL_MDF_REGISTER_CALLBACKS == 1) hmdf->AcqHalfCpltCallback(hmdf); 7000811e: 6c43 ldr r3, [r0, #68] @ 0x44 70008120: 4718 bx r3 70008122 : * @param hdma DMA handle. * @retval None. */ static void MDF_DmaErrorCallback(DMA_HandleTypeDef *hdma) { MDF_HandleTypeDef *hmdf = (MDF_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 70008122: 6dc0 ldr r0, [r0, #92] @ 0x5c /* Update error code */ hmdf->ErrorCode |= MDF_ERROR_DMA; 70008124: 6bc3 ldr r3, [r0, #60] @ 0x3c 70008126: f043 0340 orr.w r3, r3, #64 @ 0x40 7000812a: 63c3 str r3, [r0, #60] @ 0x3c #if (USE_HAL_MDF_REGISTER_CALLBACKS == 1) hmdf->ErrorCallback(hmdf); 7000812c: 6d03 ldr r3, [r0, #80] @ 0x50 7000812e: 4718 bx r3 70008130 : __weak void HAL_MDF_SadCallback(MDF_HandleTypeDef *hmdf) 70008130: 4770 bx lr 70008132 : __weak void HAL_MDF_ErrorCallback(MDF_HandleTypeDef *hmdf) 70008132: 4770 bx lr 70008134 : { 70008134: b538 push {r3, r4, r5, lr} if (hmdf == NULL) 70008136: 4604 mov r4, r0 70008138: b908 cbnz r0, 7000813e status = HAL_ERROR; 7000813a: 2001 movs r0, #1 } 7000813c: bd38 pop {r3, r4, r5, pc} if (v_mdfHandle != NULL) 7000813e: 4d31 ldr r5, [pc, #196] @ (70008204 ) 70008140: 682b ldr r3, [r5, #0] 70008142: 2b00 cmp r3, #0 70008144: d1f9 bne.n 7000813a hmdf->SndLvCallback = HAL_MDF_SndLvlCallback; 70008146: 4b30 ldr r3, [pc, #192] @ (70008208 ) 70008148: 6483 str r3, [r0, #72] @ 0x48 hmdf->SadCallback = HAL_MDF_SadCallback; 7000814a: 4b30 ldr r3, [pc, #192] @ (7000820c ) 7000814c: 64c3 str r3, [r0, #76] @ 0x4c hmdf->AcqCpltCallback = HAL_MDF_AcqCpltCallback; 7000814e: 4b30 ldr r3, [pc, #192] @ (70008210 ) 70008150: 6403 str r3, [r0, #64] @ 0x40 hmdf->AcqHalfCpltCallback = HAL_MDF_AcqHalfCpltCallback; 70008152: 4b30 ldr r3, [pc, #192] @ (70008214 ) 70008154: 6443 str r3, [r0, #68] @ 0x44 hmdf->ErrorCallback = HAL_MDF_ErrorCallback; 70008156: 4b30 ldr r3, [pc, #192] @ (70008218 ) 70008158: 6503 str r3, [r0, #80] @ 0x50 if (hmdf->MspInitCallback == NULL) 7000815a: 6d43 ldr r3, [r0, #84] @ 0x54 7000815c: b90b cbnz r3, 70008162 hmdf->MspInitCallback = HAL_MDF_MspInit; 7000815e: 4b2f ldr r3, [pc, #188] @ (7000821c ) 70008160: 6543 str r3, [r0, #84] @ 0x54 hmdf->MspInitCallback(hmdf); 70008162: 4620 mov r0, r4 70008164: 4798 blx r3 if ((ADF1->CKGCR & MDF_CKGCR_CKGACTIVE) != 0U) 70008166: 4b2e ldr r3, [pc, #184] @ (70008220 ) 70008168: 685a ldr r2, [r3, #4] 7000816a: 2a00 cmp r2, #0 7000816c: dbe5 blt.n 7000813a ADF1->CKGCR = 0U; 7000816e: 2200 movs r2, #0 70008170: 605a str r2, [r3, #4] ADF1->CKGCR |= ((hmdf->Init.CommonParam.ProcClockDivider - 1U) << MDF_CKGCR_PROCDIV_Pos); 70008172: 6861 ldr r1, [r4, #4] 70008174: 685a ldr r2, [r3, #4] 70008176: 3901 subs r1, #1 70008178: ea42 6201 orr.w r2, r2, r1, lsl #24 7000817c: 605a str r2, [r3, #4] if (hmdf->Init.CommonParam.OutputClock.Activation == ENABLE) 7000817e: 7a22 ldrb r2, [r4, #8] 70008180: 2a01 cmp r2, #1 70008182: d114 bne.n 700081ae ADF1->CKGCR |= (((hmdf->Init.CommonParam.OutputClock.Divider - 1U) << MDF_CKGCR_CCKDIV_Pos) | 70008184: 685a ldr r2, [r3, #4] 70008186: e9d4 0103 ldrd r0, r1, [r4, #12] 7000818a: 4302 orrs r2, r0 7000818c: 3901 subs r1, #1 7000818e: ea42 1210 orr.w r2, r2, r0, lsr #4 70008192: ea42 4201 orr.w r2, r2, r1, lsl #16 70008196: 605a str r2, [r3, #4] if (hmdf->Init.CommonParam.OutputClock.Trigger.Activation == ENABLE) 70008198: 7d22 ldrb r2, [r4, #20] 7000819a: 2a01 cmp r2, #1 7000819c: d107 bne.n 700081ae ADF1->CKGCR |= (hmdf->Init.CommonParam.OutputClock.Trigger.Source | 7000819e: 6859 ldr r1, [r3, #4] 700081a0: e9d4 2006 ldrd r2, r0, [r4, #24] 700081a4: 4302 orrs r2, r0 700081a6: 430a orrs r2, r1 700081a8: f042 0210 orr.w r2, r2, #16 700081ac: 605a str r2, [r3, #4] ADF1->CKGCR |= MDF_CKGCR_CKGDEN; 700081ae: 4a1c ldr r2, [pc, #112] @ (70008220 ) 700081b0: 6853 ldr r3, [r2, #4] 700081b2: f043 0301 orr.w r3, r3, #1 700081b6: 6053 str r3, [r2, #4] if ((status == HAL_OK) && (hmdf->Init.SerialInterface.Activation == ENABLE)) 700081b8: f894 2020 ldrb.w r2, [r4, #32] if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFACTIVE) != 0U) 700081bc: 6823 ldr r3, [r4, #0] if ((status == HAL_OK) && (hmdf->Init.SerialInterface.Activation == ENABLE)) 700081be: 2a01 cmp r2, #1 700081c0: d111 bne.n 700081e6 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFACTIVE) != 0U) 700081c2: 681a ldr r2, [r3, #0] 700081c4: 2a00 cmp r2, #0 700081c6: dbb8 blt.n 7000813a hmdf->Instance->SITFCR = 0U; 700081c8: 2200 movs r2, #0 700081ca: 601a str r2, [r3, #0] hmdf->Instance->SITFCR |= ((hmdf->Init.SerialInterface.Threshold << MDF_SITFCR_STH_Pos) | 700081cc: 6819 ldr r1, [r3, #0] 700081ce: e9d4 2009 ldrd r2, r0, [r4, #36] @ 0x24 700081d2: 4302 orrs r2, r0 700081d4: 430a orrs r2, r1 700081d6: 6ae1 ldr r1, [r4, #44] @ 0x2c 700081d8: ea42 2201 orr.w r2, r2, r1, lsl #8 700081dc: 601a str r2, [r3, #0] hmdf->Instance->SITFCR |= MDF_SITFCR_SITFEN; 700081de: 681a ldr r2, [r3, #0] 700081e0: f042 0201 orr.w r2, r2, #1 700081e4: 601a str r2, [r3, #0] hmdf->Instance->BSMXCR &= ~(MDF_BSMXCR_BSSEL); 700081e6: 685a ldr r2, [r3, #4] hmdf->ErrorCode = MDF_ERROR_NONE; 700081e8: 2000 movs r0, #0 hmdf->Instance->BSMXCR |= hmdf->Init.FilterBistream; 700081ea: 6b21 ldr r1, [r4, #48] @ 0x30 hmdf->Instance->BSMXCR &= ~(MDF_BSMXCR_BSSEL); 700081ec: f022 021f bic.w r2, r2, #31 v_mdfHandle = hmdf; 700081f0: 602c str r4, [r5, #0] hmdf->Instance->BSMXCR &= ~(MDF_BSMXCR_BSSEL); 700081f2: 605a str r2, [r3, #4] hmdf->Instance->BSMXCR |= hmdf->Init.FilterBistream; 700081f4: 685a ldr r2, [r3, #4] 700081f6: 430a orrs r2, r1 700081f8: 605a str r2, [r3, #4] hmdf->State = HAL_MDF_STATE_READY; 700081fa: 2301 movs r3, #1 hmdf->ErrorCode = MDF_ERROR_NONE; 700081fc: 63e0 str r0, [r4, #60] @ 0x3c hmdf->State = HAL_MDF_STATE_READY; 700081fe: f884 3038 strb.w r3, [r4, #56] @ 0x38 70008202: e79b b.n 7000813c 70008204: 2400bf70 .word 0x2400bf70 70008208: 7000800d .word 0x7000800d 7000820c: 70008131 .word 0x70008131 70008210: 70000e19 .word 0x70000e19 70008214: 70000dfd .word 0x70000dfd 70008218: 70008133 .word 0x70008133 7000821c: 70000e99 .word 0x70000e99 70008220: 4002f000 .word 0x4002f000 70008224 : { 70008224: b570 push {r4, r5, r6, lr} 70008226: 4606 mov r6, r0 if ((pFilterConfig == NULL) || (pDmaConfig == NULL)) 70008228: 460d mov r5, r1 7000822a: 2900 cmp r1, #0 7000822c: d047 beq.n 700082be 7000822e: 2a00 cmp r2, #0 70008230: d045 beq.n 700082be if ((pFilterConfig->SoundActivity.Activation == ENABLE) && 70008232: f891 0024 ldrb.w r0, [r1, #36] @ 0x24 70008236: 2801 cmp r0, #1 70008238: d106 bne.n 70008248 ((pFilterConfig->AcquisitionMode == MDF_MODE_ASYNC_SINGLE) || 7000823a: 6d4b ldr r3, [r1, #84] @ 0x54 if ((pFilterConfig->SoundActivity.Activation == ENABLE) && 7000823c: f023 0120 bic.w r1, r3, #32 70008240: 2910 cmp r1, #16 70008242: d03c beq.n 700082be (pFilterConfig->AcquisitionMode == MDF_MODE_SYNC_SINGLE) || 70008244: 2b40 cmp r3, #64 @ 0x40 70008246: d03a beq.n 700082be else if (hmdf->State != HAL_MDF_STATE_READY) 70008248: f896 3038 ldrb.w r3, [r6, #56] @ 0x38 7000824c: 2b01 cmp r3, #1 7000824e: d136 bne.n 700082be else if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != 0U) 70008250: 6833 ldr r3, [r6, #0] 70008252: 6899 ldr r1, [r3, #8] 70008254: 2900 cmp r1, #0 70008256: db32 blt.n 700082be if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) 70008258: 6b99 ldr r1, [r3, #56] @ 0x38 7000825a: 2900 cmp r1, #0 7000825c: db2f blt.n 700082be if (pFilterConfig->ReshapeFilter.Activation == ENABLE) 7000825e: 7d29 ldrb r1, [r5, #20] 70008260: 2901 cmp r1, #1 70008262: d103 bne.n 7000826c hmdf->Instance->DFLTIER |= MDF_DFLTIER_RFOVRIE; 70008264: 6ad9 ldr r1, [r3, #44] @ 0x2c 70008266: f441 6100 orr.w r1, r1, #2048 @ 0x800 7000826a: 62d9 str r1, [r3, #44] @ 0x2c hmdf->Instance->DFLTIER |= MDF_DFLTIER_SATIE; 7000826c: 6ad9 ldr r1, [r3, #44] @ 0x2c if (pFilterConfig->SoundActivity.Activation == ENABLE) 7000826e: 2801 cmp r0, #1 hmdf->Instance->DFLTIER |= MDF_DFLTIER_SATIE; 70008270: f441 7100 orr.w r1, r1, #512 @ 0x200 70008274: 62d9 str r1, [r3, #44] @ 0x2c if (pFilterConfig->SoundActivity.Activation == ENABLE) 70008276: d10a bne.n 7000828e (MDF_DFLTIER_SDLVLIE | MDF_DFLTIER_SDDETIE) : 70008278: f895 0050 ldrb.w r0, [r5, #80] @ 0x50 hmdf->Instance->DFLTIER |= (pFilterConfig->SoundActivity.SoundLevelInterrupt == ENABLE) ? 7000827c: 6ad9 ldr r1, [r3, #44] @ 0x2c (MDF_DFLTIER_SDLVLIE | MDF_DFLTIER_SDDETIE) : 7000827e: 2801 cmp r0, #1 70008280: bf14 ite ne 70008282: f44f 5080 movne.w r0, #4096 @ 0x1000 70008286: f44f 5040 moveq.w r0, #12288 @ 0x3000 hmdf->Instance->DFLTIER |= (pFilterConfig->SoundActivity.SoundLevelInterrupt == ENABLE) ? 7000828a: 4301 orrs r1, r0 7000828c: 62d9 str r1, [r3, #44] @ 0x2c hmdf->Instance->DFLTCR = MDF_DFLTCR_DMAEN; 7000828e: 2102 movs r1, #2 hmdf->hdma->XferCpltCallback = MDF_DmaXferCpltCallback; 70008290: 6b70 ldr r0, [r6, #52] @ 0x34 hmdf->Instance->DFLTCR = MDF_DFLTCR_DMAEN; 70008292: 6099 str r1, [r3, #8] hmdf->hdma->XferCpltCallback = MDF_DmaXferCpltCallback; 70008294: 4916 ldr r1, [pc, #88] @ (700082f0 ) 70008296: 6601 str r1, [r0, #96] @ 0x60 hmdf->hdma->XferHalfCpltCallback = MDF_DmaXferHalfCpltCallback; 70008298: 4916 ldr r1, [pc, #88] @ (700082f4 ) 7000829a: 6641 str r1, [r0, #100] @ 0x64 hmdf->hdma->XferErrorCallback = MDF_DmaErrorCallback; 7000829c: 4916 ldr r1, [pc, #88] @ (700082f8 ) 7000829e: 6681 str r1, [r0, #104] @ 0x68 SrcAddress = (pDmaConfig->MsbOnly == ENABLE) ? (((uint32_t) &hmdf->Instance->DFLTDR) + 2U) : 700082a0: 7a11 ldrb r1, [r2, #8] 700082a2: 2901 cmp r1, #1 700082a4: bf0c ite eq 700082a6: f103 0172 addeq.w r1, r3, #114 @ 0x72 (uint32_t) &hmdf->Instance->DFLTDR; 700082aa: f103 0170 addne.w r1, r3, #112 @ 0x70 if ((hmdf->hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) 700082ae: 6d03 ldr r3, [r0, #80] @ 0x50 700082b0: 061b lsls r3, r3, #24 700082b2: d517 bpl.n 700082e4 if (hmdf->hdma->LinkedListQueue != NULL) 700082b4: 6f43 ldr r3, [r0, #116] @ 0x74 700082b6: b92b cbnz r3, 700082c4 hmdf->State = HAL_MDF_STATE_ERROR; 700082b8: 23ff movs r3, #255 @ 0xff 700082ba: f886 3038 strb.w r3, [r6, #56] @ 0x38 status = HAL_ERROR; 700082be: 2401 movs r4, #1 } 700082c0: 4620 mov r0, r4 700082c2: bd70 pop {r4, r5, r6, pc} hmdf->hdma->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = pDmaConfig->DataLength; 700082c4: 6854 ldr r4, [r2, #4] 700082c6: 681b ldr r3, [r3, #0] hmdf->hdma->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = pDmaConfig->Address; 700082c8: 6812 ldr r2, [r2, #0] hmdf->hdma->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = SrcAddress; 700082ca: e9c3 4102 strd r4, r1, [r3, #8] hmdf->hdma->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = pDmaConfig->Address; 700082ce: 611a str r2, [r3, #16] status = HAL_DMAEx_List_Start_IT(hmdf->hdma); 700082d0: f7fd f958 bl 70005584 status = HAL_DMA_Start_IT(hmdf->hdma, SrcAddress, pDmaConfig->Address, pDmaConfig->DataLength); 700082d4: 4604 mov r4, r0 if (status != HAL_OK) 700082d6: 2800 cmp r0, #0 700082d8: d1ee bne.n 700082b8 MDF_AcqStart(hmdf, pFilterConfig); 700082da: 4629 mov r1, r5 700082dc: 4630 mov r0, r6 700082de: f7ff fe96 bl 7000800e 700082e2: e7ed b.n 700082c0 status = HAL_DMA_Start_IT(hmdf->hdma, SrcAddress, pDmaConfig->Address, pDmaConfig->DataLength); 700082e4: e9d2 2300 ldrd r2, r3, [r2] 700082e8: f7fc fd64 bl 70004db4 700082ec: e7f2 b.n 700082d4 700082ee: bf00 nop 700082f0: 70008109 .word 0x70008109 700082f4: 7000811d .word 0x7000811d 700082f8: 70008123 .word 0x70008123 700082fc : tmp_reg1 = hmdf->Instance->DFLTIER; 700082fc: 6803 ldr r3, [r0, #0] 700082fe: 6ada ldr r2, [r3, #44] @ 0x2c tmp_reg2 = hmdf->Instance->DFLTISR; 70008300: 6b19 ldr r1, [r3, #48] @ 0x30 interrupts = (tmp_reg1 & tmp_reg2); 70008302: 400a ands r2, r1 { 70008304: b570 push {r4, r5, r6, lr} if ((interrupts & MDF_DFLTISR_DOVRF) == MDF_DFLTISR_DOVRF) 70008306: 0796 lsls r6, r2, #30 { 70008308: 4604 mov r4, r0 if ((interrupts & MDF_DFLTISR_DOVRF) == MDF_DFLTISR_DOVRF) 7000830a: d50b bpl.n 70008324 hmdf->Instance->DFLTISR |= MDF_DFLTISR_DOVRF; 7000830c: 6b1a ldr r2, [r3, #48] @ 0x30 7000830e: f042 0202 orr.w r2, r2, #2 70008312: 631a str r2, [r3, #48] @ 0x30 hmdf->ErrorCode |= MDF_ERROR_ACQUISITION_OVERFLOW; 70008314: 6bc3 ldr r3, [r0, #60] @ 0x3c 70008316: f043 0301 orr.w r3, r3, #1 hmdf->ErrorCode |= MDF_ERROR_RSF_OVERRUN; 7000831a: 63e3 str r3, [r4, #60] @ 0x3c hmdf->ErrorCallback(hmdf); 7000831c: 6d23 ldr r3, [r4, #80] @ 0x50 } 7000831e: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} hmdf->ErrorCallback(hmdf); 70008322: 4718 bx r3 else if ((interrupts & MDF_DFLTISR_FTHF) == MDF_DFLTISR_FTHF) 70008324: 07d5 lsls r5, r2, #31 70008326: d50b bpl.n 70008340 hmdf->AcqCpltCallback(hmdf); 70008328: 6c03 ldr r3, [r0, #64] @ 0x40 7000832a: 4798 blx r3 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_ACQMOD) == MDF_MODE_ASYNC_SINGLE) 7000832c: 6823 ldr r3, [r4, #0] 7000832e: 689b ldr r3, [r3, #8] 70008330: f003 0370 and.w r3, r3, #112 @ 0x70 70008334: 2b10 cmp r3, #16 70008336: d102 bne.n 7000833e hmdf->State = HAL_MDF_STATE_READY; 70008338: 2301 movs r3, #1 7000833a: f884 3038 strb.w r3, [r4, #56] @ 0x38 } 7000833e: bd70 pop {r4, r5, r6, pc} else if ((interrupts & MDF_DFLTISR_RFOVRF) == MDF_DFLTISR_RFOVRF) 70008340: 0511 lsls r1, r2, #20 70008342: d507 bpl.n 70008354 hmdf->Instance->DFLTISR |= MDF_DFLTISR_RFOVRF; 70008344: 6b1a ldr r2, [r3, #48] @ 0x30 70008346: f442 6200 orr.w r2, r2, #2048 @ 0x800 7000834a: 631a str r2, [r3, #48] @ 0x30 hmdf->ErrorCode |= MDF_ERROR_RSF_OVERRUN; 7000834c: 6bc3 ldr r3, [r0, #60] @ 0x3c 7000834e: f043 0302 orr.w r3, r3, #2 70008352: e7e2 b.n 7000831a else if ((interrupts & MDF_DFLTISR_CKABF) == MDF_DFLTISR_CKABF) 70008354: 0556 lsls r6, r2, #21 70008356: d507 bpl.n 70008368 hmdf->Instance->DFLTISR |= MDF_DFLTISR_CKABF; 70008358: 6b1a ldr r2, [r3, #48] @ 0x30 7000835a: f442 6280 orr.w r2, r2, #1024 @ 0x400 7000835e: 631a str r2, [r3, #48] @ 0x30 hmdf->ErrorCode |= MDF_ERROR_CLOCK_ABSENCE; 70008360: 6bc3 ldr r3, [r0, #60] @ 0x3c 70008362: f043 0304 orr.w r3, r3, #4 70008366: e7d8 b.n 7000831a else if ((interrupts & MDF_DFLTISR_SATF) == MDF_DFLTISR_SATF) 70008368: 0595 lsls r5, r2, #22 7000836a: d507 bpl.n 7000837c hmdf->Instance->DFLTISR |= MDF_DFLTISR_SATF; 7000836c: 6b1a ldr r2, [r3, #48] @ 0x30 7000836e: f442 7200 orr.w r2, r2, #512 @ 0x200 70008372: 631a str r2, [r3, #48] @ 0x30 hmdf->ErrorCode |= MDF_ERROR_SATURATION; 70008374: 6bc3 ldr r3, [r0, #60] @ 0x3c 70008376: f043 0310 orr.w r3, r3, #16 7000837a: e7ce b.n 7000831a else if ((interrupts & MDF_DFLTISR_SDDETF) == MDF_DFLTISR_SDDETF) 7000837c: 04d1 lsls r1, r2, #19 7000837e: d505 bpl.n 7000838c hmdf->Instance->DFLTISR |= MDF_DFLTISR_SDDETF; 70008380: 6b1a ldr r2, [r3, #48] @ 0x30 70008382: f442 5280 orr.w r2, r2, #4096 @ 0x1000 70008386: 631a str r2, [r3, #48] @ 0x30 hmdf->SadCallback(hmdf); 70008388: 6cc3 ldr r3, [r0, #76] @ 0x4c 7000838a: e7c8 b.n 7000831e if ((interrupts & MDF_DFLTISR_SDLVLF) == MDF_DFLTISR_SDLVLF) 7000838c: 0492 lsls r2, r2, #18 7000838e: d5d6 bpl.n 7000833e sound_level = hmdf->Instance->SADSDLVR; 70008390: 6c19 ldr r1, [r3, #64] @ 0x40 ambient_noise = hmdf->Instance->SADANLVR; 70008392: 6c5a ldr r2, [r3, #68] @ 0x44 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SDLVLF; 70008394: 6b1d ldr r5, [r3, #48] @ 0x30 70008396: f445 5500 orr.w r5, r5, #8192 @ 0x2000 7000839a: 631d str r5, [r3, #48] @ 0x30 hmdf->SndLvCallback(hmdf, sound_level, ambient_noise); 7000839c: 6c83 ldr r3, [r0, #72] @ 0x48 } 7000839e: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} hmdf->SndLvCallback(hmdf, sound_level, ambient_noise); 700083a2: 4718 bx r3 700083a4 : /** * @brief Compute PLL1 VCO output frequency * @retval Value of PLL1 VCO output frequency */ static uint32_t RCC_PLL1_GetVCOOutputFreq(void) { 700083a4: b510 push {r4, lr} uint32_t plln; uint32_t pllfracn; float_t frequency; /* Get PLL1 CKSELR and DIVR register values */ tmpreg1 = RCC->PLLCKSELR; 700083a6: 4c23 ldr r4, [pc, #140] @ (70008434 ) 700083a8: 6aa0 ldr r0, [r4, #40] @ 0x28 tmpreg2 = RCC->PLL1DIVR1; 700083aa: 6b22 ldr r2, [r4, #48] @ 0x30 /* Retrieve PLL1 multiplication factor and divider */ pllm = (tmpreg1 & RCC_PLLCKSELR_DIVM1) >> RCC_PLLCKSELR_DIVM1_Pos; 700083ac: f3c0 1305 ubfx r3, r0, #4, #6 plln = (tmpreg2 & RCC_PLL1DIVR1_DIVN) + 1U; if (pllm == 0U) 700083b0: f410 7f7c tst.w r0, #1008 @ 0x3f0 pllm = (tmpreg1 & RCC_PLLCKSELR_DIVM1) >> RCC_PLLCKSELR_DIVM1_Pos; 700083b4: ee07 3a10 vmov s14, r3 if (pllm == 0U) 700083b8: d032 beq.n 70008420 /* Prescaler disabled */ return 0U; } /* Check if fractional part is enable */ if ((RCC->PLLCFGR & RCC_PLLCFGR_PLL1FRACEN) != 0U) 700083ba: 6ae1 ldr r1, [r4, #44] @ 0x2c 700083bc: f011 0101 ands.w r1, r1, #1 700083c0: d002 beq.n 700083c8 { pllfracn = (RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN) >> RCC_PLL1FRACR_FRACN_Pos; 700083c2: 6b61 ldr r1, [r4, #52] @ 0x34 700083c4: f3c1 01cc ubfx r1, r1, #3, #13 { pllfracn = 0U; } /* determine PLL source */ switch (tmpreg1 & RCC_PLLCKSELR_PLLSRC) 700083c8: f000 0003 and.w r0, r0, #3 700083cc: 2801 cmp r0, #1 700083ce: d02a beq.n 70008426 700083d0: 2802 cmp r0, #2 700083d2: d02a beq.n 7000842a 700083d4: bb58 cbnz r0, 7000842e { /* HSI used as PLL1 clock source */ case RCC_PLLSOURCE_HSI: if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 700083d6: 4817 ldr r0, [pc, #92] @ (70008434 ) 700083d8: 6803 ldr r3, [r0, #0] 700083da: f013 0320 ands.w r3, r3, #32 700083de: d004 beq.n 700083ea { pllsrc = HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV) >> RCC_CR_HSIDIV_Pos); 700083e0: 6800 ldr r0, [r0, #0] 700083e2: 4b15 ldr r3, [pc, #84] @ (70008438 ) 700083e4: f3c0 00c1 ubfx r0, r0, #3, #2 700083e8: 40c3 lsrs r3, r0 pllsrc = 0U; break; } /* Compute VCO output frequency */ frequency = ((float_t)pllsrc / (float_t)pllm) * ((float_t)plln + ((float_t)pllfracn / (float_t)0x2000U)); 700083ea: ee07 3a90 vmov s15, r3 700083ee: eeb8 7ac7 vcvt.f32.s32 s14, s14 plln = (tmpreg2 & RCC_PLL1DIVR1_DIVN) + 1U; 700083f2: f3c2 0308 ubfx r3, r2, #0, #9 frequency = ((float_t)pllsrc / (float_t)pllm) * ((float_t)plln + ((float_t)pllfracn / (float_t)0x2000U)); 700083f6: ed9f 6a11 vldr s12, [pc, #68] @ 7000843c 700083fa: eef8 7ae7 vcvt.f32.s32 s15, s15 plln = (tmpreg2 & RCC_PLL1DIVR1_DIVN) + 1U; 700083fe: 3301 adds r3, #1 frequency = ((float_t)pllsrc / (float_t)pllm) * ((float_t)plln + ((float_t)pllfracn / (float_t)0x2000U)); 70008400: eec7 6a87 vdiv.f32 s13, s15, s14 70008404: ee07 1a90 vmov s15, r1 70008408: eeb8 7ae7 vcvt.f32.s32 s14, s15 plln = (tmpreg2 & RCC_PLL1DIVR1_DIVN) + 1U; 7000840c: ee07 3a90 vmov s15, r3 frequency = ((float_t)pllsrc / (float_t)pllm) * ((float_t)plln + ((float_t)pllfracn / (float_t)0x2000U)); 70008410: eef8 7ae7 vcvt.f32.s32 s15, s15 70008414: eee7 7a06 vfma.f32 s15, s14, s12 70008418: ee66 7aa7 vmul.f32 s15, s13, s15 return (uint32_t)frequency; 7000841c: eebc 7ae7 vcvt.u32.f32 s14, s15 } 70008420: ee17 0a10 vmov r0, s14 70008424: bd10 pop {r4, pc} switch (tmpreg1 & RCC_PLLCKSELR_PLLSRC) 70008426: 4b06 ldr r3, [pc, #24] @ (70008440 ) 70008428: e7df b.n 700083ea pllsrc = HSE_VALUE; 7000842a: 4b06 ldr r3, [pc, #24] @ (70008444 ) 7000842c: e7dd b.n 700083ea pllsrc = 0U; 7000842e: 2300 movs r3, #0 70008430: e7db b.n 700083ea 70008432: bf00 nop 70008434: 58024400 .word 0x58024400 70008438: 03d09000 .word 0x03d09000 7000843c: 39000000 .word 0x39000000 70008440: 003d0900 .word 0x003d0900 70008444: 016e3600 .word 0x016e3600 70008448 : /** * @brief Compute PLL2 VCO output frequency * @retval Value of PLL2 VCO output frequency */ static uint32_t RCC_PLL2_GetVCOOutputFreq(void) { 70008448: b510 push {r4, lr} uint32_t plln; uint32_t pllfracn; float_t frequency; /* Get PLL2 CKSELR and DIVR register values */ tmpreg1 = RCC->PLLCKSELR; 7000844a: 4c23 ldr r4, [pc, #140] @ (700084d8 ) 7000844c: 6aa0 ldr r0, [r4, #40] @ 0x28 tmpreg2 = RCC->PLL2DIVR1; 7000844e: 6ba2 ldr r2, [r4, #56] @ 0x38 /* Retrieve PLL2 multiplication factor and divider */ pllm = (tmpreg1 & RCC_PLLCKSELR_DIVM2) >> RCC_PLLCKSELR_DIVM2_Pos; 70008450: f3c0 3305 ubfx r3, r0, #12, #6 plln = (tmpreg2 & RCC_PLL2DIVR1_DIVN) + 1U; if (pllm == 0U) 70008454: f410 3f7c tst.w r0, #258048 @ 0x3f000 pllm = (tmpreg1 & RCC_PLLCKSELR_DIVM2) >> RCC_PLLCKSELR_DIVM2_Pos; 70008458: ee07 3a10 vmov s14, r3 if (pllm == 0U) 7000845c: d032 beq.n 700084c4 /* Prescaler disabled */ return 0U; } /* Check if fractional part is enable */ if ((RCC->PLLCFGR & RCC_PLLCFGR_PLL2FRACEN) != 0U) 7000845e: 6ae1 ldr r1, [r4, #44] @ 0x2c 70008460: f411 6100 ands.w r1, r1, #2048 @ 0x800 70008464: d002 beq.n 7000846c { pllfracn = (RCC->PLL2FRACR & RCC_PLL2FRACR_FRACN) >> RCC_PLL2FRACR_FRACN_Pos; 70008466: 6be1 ldr r1, [r4, #60] @ 0x3c 70008468: f3c1 01cc ubfx r1, r1, #3, #13 { pllfracn = 0U; } /* determine PLL source */ switch (tmpreg1 & RCC_PLLCKSELR_PLLSRC) 7000846c: f000 0003 and.w r0, r0, #3 70008470: 2801 cmp r0, #1 70008472: d02a beq.n 700084ca 70008474: 2802 cmp r0, #2 70008476: d02a beq.n 700084ce 70008478: bb58 cbnz r0, 700084d2 { /* HSI used as PLL2 clock source */ case RCC_PLLSOURCE_HSI: if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 7000847a: 4817 ldr r0, [pc, #92] @ (700084d8 ) 7000847c: 6803 ldr r3, [r0, #0] 7000847e: f013 0320 ands.w r3, r3, #32 70008482: d004 beq.n 7000848e { pllsrc = HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV) >> RCC_CR_HSIDIV_Pos); 70008484: 6800 ldr r0, [r0, #0] 70008486: 4b15 ldr r3, [pc, #84] @ (700084dc ) 70008488: f3c0 00c1 ubfx r0, r0, #3, #2 7000848c: 40c3 lsrs r3, r0 pllsrc = 0U; break; } /* Compute VCO output frequency */ frequency = ((float_t)pllsrc / (float_t)pllm) * ((float_t)plln + ((float_t)pllfracn / (float_t)0x2000U)); 7000848e: ee07 3a90 vmov s15, r3 70008492: eeb8 7ac7 vcvt.f32.s32 s14, s14 plln = (tmpreg2 & RCC_PLL2DIVR1_DIVN) + 1U; 70008496: f3c2 0308 ubfx r3, r2, #0, #9 frequency = ((float_t)pllsrc / (float_t)pllm) * ((float_t)plln + ((float_t)pllfracn / (float_t)0x2000U)); 7000849a: ed9f 6a11 vldr s12, [pc, #68] @ 700084e0 7000849e: eef8 7ae7 vcvt.f32.s32 s15, s15 plln = (tmpreg2 & RCC_PLL2DIVR1_DIVN) + 1U; 700084a2: 3301 adds r3, #1 frequency = ((float_t)pllsrc / (float_t)pllm) * ((float_t)plln + ((float_t)pllfracn / (float_t)0x2000U)); 700084a4: eec7 6a87 vdiv.f32 s13, s15, s14 700084a8: ee07 1a90 vmov s15, r1 700084ac: eeb8 7ae7 vcvt.f32.s32 s14, s15 plln = (tmpreg2 & RCC_PLL2DIVR1_DIVN) + 1U; 700084b0: ee07 3a90 vmov s15, r3 frequency = ((float_t)pllsrc / (float_t)pllm) * ((float_t)plln + ((float_t)pllfracn / (float_t)0x2000U)); 700084b4: eef8 7ae7 vcvt.f32.s32 s15, s15 700084b8: eee7 7a06 vfma.f32 s15, s14, s12 700084bc: ee66 7aa7 vmul.f32 s15, s13, s15 return (uint32_t)frequency; 700084c0: eebc 7ae7 vcvt.u32.f32 s14, s15 } 700084c4: ee17 0a10 vmov r0, s14 700084c8: bd10 pop {r4, pc} switch (tmpreg1 & RCC_PLLCKSELR_PLLSRC) 700084ca: 4b06 ldr r3, [pc, #24] @ (700084e4 ) 700084cc: e7df b.n 7000848e pllsrc = HSE_VALUE; 700084ce: 4b06 ldr r3, [pc, #24] @ (700084e8 ) 700084d0: e7dd b.n 7000848e pllsrc = 0U; 700084d2: 2300 movs r3, #0 700084d4: e7db b.n 7000848e 700084d6: bf00 nop 700084d8: 58024400 .word 0x58024400 700084dc: 03d09000 .word 0x03d09000 700084e0: 39000000 .word 0x39000000 700084e4: 003d0900 .word 0x003d0900 700084e8: 016e3600 .word 0x016e3600 700084ec : /** * @brief Compute PLL3 VCO output frequency * @retval Value of PLL3 VCO output frequency */ static uint32_t RCC_PLL3_GetVCOOutputFreq(void) { 700084ec: b510 push {r4, lr} uint32_t plln; uint32_t pllfracn; float_t frequency; /* Get PLL3 CKSELR and DIVR register values */ tmpreg1 = RCC->PLLCKSELR; 700084ee: 4c23 ldr r4, [pc, #140] @ (7000857c ) 700084f0: 6aa0 ldr r0, [r4, #40] @ 0x28 tmpreg2 = RCC->PLL3DIVR1; 700084f2: 6c22 ldr r2, [r4, #64] @ 0x40 /* Retrieve PLL3 multiplication factor and divider */ pllm = (tmpreg1 & RCC_PLLCKSELR_DIVM3) >> RCC_PLLCKSELR_DIVM3_Pos; 700084f4: f3c0 5305 ubfx r3, r0, #20, #6 plln = (tmpreg2 & RCC_PLL3DIVR1_DIVN) + 1U; if (pllm == 0U) 700084f8: f010 7f7c tst.w r0, #66060288 @ 0x3f00000 pllm = (tmpreg1 & RCC_PLLCKSELR_DIVM3) >> RCC_PLLCKSELR_DIVM3_Pos; 700084fc: ee07 3a10 vmov s14, r3 if (pllm == 0U) 70008500: d032 beq.n 70008568 /* Prescaler disabled */ return 0U; } /* Check if fractional part is enable */ if ((RCC->PLLCFGR & RCC_PLLCFGR_PLL3FRACEN) != 0U) 70008502: 6ae1 ldr r1, [r4, #44] @ 0x2c 70008504: f411 0180 ands.w r1, r1, #4194304 @ 0x400000 70008508: d002 beq.n 70008510 { pllfracn = (RCC->PLL3FRACR & RCC_PLL3FRACR_FRACN) >> RCC_PLL3FRACR_FRACN_Pos; 7000850a: 6c61 ldr r1, [r4, #68] @ 0x44 7000850c: f3c1 01cc ubfx r1, r1, #3, #13 { pllfracn = 0U; } /* determine PLL source */ switch (tmpreg1 & RCC_PLLCKSELR_PLLSRC) 70008510: f000 0003 and.w r0, r0, #3 70008514: 2801 cmp r0, #1 70008516: d02a beq.n 7000856e 70008518: 2802 cmp r0, #2 7000851a: d02a beq.n 70008572 7000851c: bb58 cbnz r0, 70008576 { /* HSI used as PLL3 clock source */ case RCC_PLLSOURCE_HSI: if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 7000851e: 4817 ldr r0, [pc, #92] @ (7000857c ) 70008520: 6803 ldr r3, [r0, #0] 70008522: f013 0320 ands.w r3, r3, #32 70008526: d004 beq.n 70008532 { pllsrc = HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV) >> RCC_CR_HSIDIV_Pos); 70008528: 6800 ldr r0, [r0, #0] 7000852a: 4b15 ldr r3, [pc, #84] @ (70008580 ) 7000852c: f3c0 00c1 ubfx r0, r0, #3, #2 70008530: 40c3 lsrs r3, r0 pllsrc = 0U; break; } /* Compute VCO output frequency */ frequency = ((float_t)pllsrc / (float_t)pllm) * ((float_t)plln + ((float_t)pllfracn / (float_t)0x2000U)); 70008532: ee07 3a90 vmov s15, r3 70008536: eeb8 7ac7 vcvt.f32.s32 s14, s14 plln = (tmpreg2 & RCC_PLL3DIVR1_DIVN) + 1U; 7000853a: f3c2 0308 ubfx r3, r2, #0, #9 frequency = ((float_t)pllsrc / (float_t)pllm) * ((float_t)plln + ((float_t)pllfracn / (float_t)0x2000U)); 7000853e: ed9f 6a11 vldr s12, [pc, #68] @ 70008584 70008542: eef8 7ae7 vcvt.f32.s32 s15, s15 plln = (tmpreg2 & RCC_PLL3DIVR1_DIVN) + 1U; 70008546: 3301 adds r3, #1 frequency = ((float_t)pllsrc / (float_t)pllm) * ((float_t)plln + ((float_t)pllfracn / (float_t)0x2000U)); 70008548: eec7 6a87 vdiv.f32 s13, s15, s14 7000854c: ee07 1a90 vmov s15, r1 70008550: eeb8 7ae7 vcvt.f32.s32 s14, s15 plln = (tmpreg2 & RCC_PLL3DIVR1_DIVN) + 1U; 70008554: ee07 3a90 vmov s15, r3 frequency = ((float_t)pllsrc / (float_t)pllm) * ((float_t)plln + ((float_t)pllfracn / (float_t)0x2000U)); 70008558: eef8 7ae7 vcvt.f32.s32 s15, s15 7000855c: eee7 7a06 vfma.f32 s15, s14, s12 70008560: ee66 7aa7 vmul.f32 s15, s13, s15 return (uint32_t)frequency; 70008564: eebc 7ae7 vcvt.u32.f32 s14, s15 } 70008568: ee17 0a10 vmov r0, s14 7000856c: bd10 pop {r4, pc} switch (tmpreg1 & RCC_PLLCKSELR_PLLSRC) 7000856e: 4b06 ldr r3, [pc, #24] @ (70008588 ) 70008570: e7df b.n 70008532 pllsrc = HSE_VALUE; 70008572: 4b06 ldr r3, [pc, #24] @ (7000858c ) 70008574: e7dd b.n 70008532 pllsrc = 0U; 70008576: 2300 movs r3, #0 70008578: e7db b.n 70008532 7000857a: bf00 nop 7000857c: 58024400 .word 0x58024400 70008580: 03d09000 .word 0x03d09000 70008584: 39000000 .word 0x39000000 70008588: 003d0900 .word 0x003d0900 7000858c: 016e3600 .word 0x016e3600 70008590 : switch (RCC->CFGR & RCC_CFGR_SWS) 70008590: 4b49 ldr r3, [pc, #292] @ (700086b8 ) 70008592: 691a ldr r2, [r3, #16] 70008594: f002 0238 and.w r2, r2, #56 @ 0x38 70008598: 2a10 cmp r2, #16 { 7000859a: b530 push {r4, r5, lr} switch (RCC->CFGR & RCC_CFGR_SWS) 7000859c: f000 8088 beq.w 700086b0 700085a0: 2a18 cmp r2, #24 700085a2: d014 beq.n 700085ce 700085a4: 2a00 cmp r2, #0 700085a6: f040 8085 bne.w 700086b4 if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 700085aa: 6818 ldr r0, [r3, #0] 700085ac: f010 0020 ands.w r0, r0, #32 700085b0: d004 beq.n 700085bc sysclockfreq = (uint32_t)(HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 700085b2: 681b ldr r3, [r3, #0] 700085b4: 4841 ldr r0, [pc, #260] @ (700086bc ) 700085b6: f3c3 03c1 ubfx r3, r3, #3, #2 700085ba: 40d8 lsrs r0, r3 prescaler = RCC->CDCFGR & RCC_CDCFGR_CPRE; 700085bc: 4b3e ldr r3, [pc, #248] @ (700086b8 ) 700085be: 699b ldr r3, [r3, #24] if (prescaler >= 8U) 700085c0: 071a lsls r2, r3, #28 prescaler = RCC->CDCFGR & RCC_CDCFGR_CPRE; 700085c2: bf42 ittt mi 700085c4: f003 030f andmi.w r3, r3, #15 sysclockfreq = sysclockfreq >> (prescaler - RCC_CDCFGR_CPRE_3 + 1U); 700085c8: 3b07 submi r3, #7 700085ca: 40d8 lsrmi r0, r3 } 700085cc: bd30 pop {r4, r5, pc} pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC); 700085ce: 6a99 ldr r1, [r3, #40] @ 0x28 pllm = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1) >> RCC_PLLCKSELR_DIVM1_Pos) ; 700085d0: 6a9d ldr r5, [r3, #40] @ 0x28 pllfracen = ((RCC-> PLLCFGR & RCC_PLLCFGR_PLL1FRACEN) >> RCC_PLLCFGR_PLL1FRACEN_Pos); 700085d2: 6adc ldr r4, [r3, #44] @ 0x2c if (pllm != 0U) 700085d4: f415 7f7c tst.w r5, #1008 @ 0x3f0 pllm = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1) >> RCC_PLLCKSELR_DIVM1_Pos) ; 700085d8: f3c5 1005 ubfx r0, r5, #4, #6 fracn1 = (float_t)(uint32_t)(pllfracen * ((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN) >> 3)); 700085dc: 6b5a ldr r2, [r3, #52] @ 0x34 if (pllm != 0U) 700085de: d0ed beq.n 700085bc fracn1 = (float_t)(uint32_t)(pllfracen * ((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN) >> 3)); 700085e0: f3c2 02cc ubfx r2, r2, #3, #13 pllfracen = ((RCC-> PLLCFGR & RCC_PLLCFGR_PLL1FRACEN) >> RCC_PLLCFGR_PLL1FRACEN_Pos); 700085e4: f004 0401 and.w r4, r4, #1 pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC); 700085e8: f001 0103 and.w r1, r1, #3 fracn1 = (float_t)(uint32_t)(pllfracen * ((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN) >> 3)); 700085ec: 4362 muls r2, r4 switch (pllsource) 700085ee: 2901 cmp r1, #1 fracn1 = (float_t)(uint32_t)(pllfracen * ((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN) >> 3)); 700085f0: ee07 2a90 vmov s15, r2 700085f4: eeb8 7ae7 vcvt.f32.s32 s14, s15 switch (pllsource) 700085f8: d050 beq.n 7000869c 700085fa: 2902 cmp r1, #2 700085fc: d034 beq.n 70008668 700085fe: 2900 cmp r1, #0 70008600: d14c bne.n 7000869c if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 70008602: 681a ldr r2, [r3, #0] 70008604: 0691 lsls r1, r2, #26 70008606: d550 bpl.n 700086aa hsivalue = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 70008608: 6819 ldr r1, [r3, #0] 7000860a: 4a2c ldr r2, [pc, #176] @ (700086bc ) 7000860c: f3c1 01c1 ubfx r1, r1, #3, #2 pllvco = ((float_t)hsivalue / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVN) + (fracn1 / (float_t)0x2000) + (float_t)1); 70008610: 6b1b ldr r3, [r3, #48] @ 0x30 hsivalue = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 70008612: 40ca lsrs r2, r1 pllvco = ((float_t)hsivalue / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVN) + (fracn1 / (float_t)0x2000) + (float_t)1); 70008614: f3c3 0308 ubfx r3, r3, #0, #9 70008618: ee07 2a90 vmov s15, r2 7000861c: eef8 6ae7 vcvt.f32.s32 s13, s15 70008620: ee07 0a90 vmov s15, r0 70008624: eef8 7ae7 vcvt.f32.s32 s15, s15 70008628: ee86 6aa7 vdiv.f32 s12, s13, s15 7000862c: ee07 3a90 vmov s15, r3 70008630: eddf 6a23 vldr s13, [pc, #140] @ 700086c0 70008634: eef8 7ae7 vcvt.f32.s32 s15, s15 70008638: eee7 7a26 vfma.f32 s15, s14, s13 7000863c: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70008640: ee77 7a87 vadd.f32 s15, s15, s14 70008644: ee67 7a86 vmul.f32 s15, s15, s12 pllp = (((RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVP) >> RCC_PLL1DIVR1_DIVP_Pos) + 1U) ; 70008648: 4b1b ldr r3, [pc, #108] @ (700086b8 ) 7000864a: 6b1b ldr r3, [r3, #48] @ 0x30 7000864c: f3c3 2346 ubfx r3, r3, #9, #7 70008650: 3301 adds r3, #1 sysclockfreq = (uint32_t)(float_t)(pllvco / (float_t)pllp); 70008652: ee07 3a10 vmov s14, r3 70008656: eef8 6ac7 vcvt.f32.s32 s13, s14 7000865a: ee87 7aa6 vdiv.f32 s14, s15, s13 7000865e: eefc 7ac7 vcvt.u32.f32 s15, s14 70008662: ee17 0a90 vmov r0, s15 70008666: e7a9 b.n 700085bc pllvco = ((float_t)HSE_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVN) + (fracn1 / (float_t)0x2000) + (float_t)1); 70008668: ee07 0a90 vmov s15, r0 7000866c: ed9f 6a15 vldr s12, [pc, #84] @ 700086c4 70008670: eef8 7ae7 vcvt.f32.s32 s15, s15 70008674: 6b1b ldr r3, [r3, #48] @ 0x30 70008676: eec6 6a27 vdiv.f32 s13, s12, s15 7000867a: ed9f 6a11 vldr s12, [pc, #68] @ 700086c0 7000867e: f3c3 0308 ubfx r3, r3, #0, #9 70008682: ee07 3a90 vmov s15, r3 70008686: eef8 7ae7 vcvt.f32.s32 s15, s15 7000868a: eee7 7a06 vfma.f32 s15, s14, s12 7000868e: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70008692: ee77 7a87 vadd.f32 s15, s15, s14 70008696: ee67 7aa6 vmul.f32 s15, s15, s13 break; 7000869a: e7d5 b.n 70008648 pllvco = ((float_t)CSI_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVN) + (fracn1 / (float_t)0x2000) + (float_t)1); 7000869c: ee07 0a90 vmov s15, r0 700086a0: ed9f 6a09 vldr s12, [pc, #36] @ 700086c8 700086a4: eef8 7ae7 vcvt.f32.s32 s15, s15 700086a8: e7e4 b.n 70008674 pllvco = (float_t)0; 700086aa: eddf 7a08 vldr s15, [pc, #32] @ 700086cc 700086ae: e7cb b.n 70008648 switch (RCC->CFGR & RCC_CFGR_SWS) 700086b0: 4807 ldr r0, [pc, #28] @ (700086d0 ) 700086b2: e783 b.n 700085bc sysclockfreq = CSI_VALUE; 700086b4: 4807 ldr r0, [pc, #28] @ (700086d4 ) 700086b6: e781 b.n 700085bc 700086b8: 58024400 .word 0x58024400 700086bc: 03d09000 .word 0x03d09000 700086c0: 39000000 .word 0x39000000 700086c4: 4bb71b00 .word 0x4bb71b00 700086c8: 4a742400 .word 0x4a742400 700086cc: 00000000 .word 0x00000000 700086d0: 016e3600 .word 0x016e3600 700086d4: 003d0900 .word 0x003d0900 700086d8 : { 700086d8: b507 push {r0, r1, r2, lr} const uint8_t AHBPrescTable[8] = {1U, 2U, 3U, 4U, 6U, 7U, 8U, 9U}; 700086da: 4a0a ldr r2, [pc, #40] @ (70008704 ) 700086dc: 466b mov r3, sp 700086de: 6810 ldr r0, [r2, #0] 700086e0: 6851 ldr r1, [r2, #4] 700086e2: c303 stmia r3!, {r0, r1} clock = HAL_RCC_GetSysClockFreq(); 700086e4: f7ff ff54 bl 70008590 prescaler = (RCC->BMCFGR & RCC_BMCFGR_BMPRE) >> RCC_BMCFGR_BMPRE_Pos; 700086e8: 4b07 ldr r3, [pc, #28] @ (70008708 ) 700086ea: 69db ldr r3, [r3, #28] if (prescaler >= 8U) 700086ec: 071a lsls r2, r3, #28 700086ee: d506 bpl.n 700086fe prescaler = (RCC->BMCFGR & RCC_BMCFGR_BMPRE) >> RCC_BMCFGR_BMPRE_Pos; 700086f0: f003 030f and.w r3, r3, #15 clock = clock >> AHBPrescTable[prescaler - 8U]; 700086f4: 3308 adds r3, #8 700086f6: 446b add r3, sp 700086f8: f813 3c10 ldrb.w r3, [r3, #-16] 700086fc: 40d8 lsrs r0, r3 } 700086fe: b003 add sp, #12 70008700: bd00 pop {pc} 70008702: bf00 nop 70008704: 7003ea96 .word 0x7003ea96 70008708: 58024400 .word 0x58024400 7000870c : { 7000870c: b508 push {r3, lr} clock = HAL_RCC_GetHCLKFreq(); 7000870e: f7ff ffe3 bl 700086d8 prescaler = (RCC->APBCFGR & RCC_APBCFGR_PPRE1) >> RCC_APBCFGR_PPRE1_Pos; 70008712: 4b04 ldr r3, [pc, #16] @ (70008724 ) 70008714: 6a1b ldr r3, [r3, #32] if (prescaler >= 4U) 70008716: 075a lsls r2, r3, #29 prescaler = (RCC->APBCFGR & RCC_APBCFGR_PPRE1) >> RCC_APBCFGR_PPRE1_Pos; 70008718: bf42 ittt mi 7000871a: f003 0307 andmi.w r3, r3, #7 clock = clock >> (prescaler - 3U); 7000871e: 3b03 submi r3, #3 70008720: 40d8 lsrmi r0, r3 } 70008722: bd08 pop {r3, pc} 70008724: 58024400 .word 0x58024400 70008728 : { 70008728: b508 push {r3, lr} clock = HAL_RCC_GetHCLKFreq(); 7000872a: f7ff ffd5 bl 700086d8 prescaler = (RCC->APBCFGR & RCC_APBCFGR_PPRE2) >> RCC_APBCFGR_PPRE2_Pos; 7000872e: 4b04 ldr r3, [pc, #16] @ (70008740 ) 70008730: 6a1b ldr r3, [r3, #32] if (prescaler >= 4U) 70008732: 065a lsls r2, r3, #25 prescaler = (RCC->APBCFGR & RCC_APBCFGR_PPRE2) >> RCC_APBCFGR_PPRE2_Pos; 70008734: bf42 ittt mi 70008736: f3c3 1302 ubfxmi r3, r3, #4, #3 clock = clock >> (prescaler - 3U); 7000873a: 3b03 submi r3, #3 7000873c: 40d8 lsrmi r0, r3 } 7000873e: bd08 pop {r3, pc} 70008740: 58024400 .word 0x58024400 70008744 : { 70008744: b508 push {r3, lr} clock = HAL_RCC_GetHCLKFreq(); 70008746: f7ff ffc7 bl 700086d8 prescaler = (RCC->APBCFGR & RCC_APBCFGR_PPRE4) >> RCC_APBCFGR_PPRE4_Pos; 7000874a: 4b04 ldr r3, [pc, #16] @ (7000875c ) 7000874c: 6a1b ldr r3, [r3, #32] if (prescaler >= 4U) 7000874e: 055a lsls r2, r3, #21 prescaler = (RCC->APBCFGR & RCC_APBCFGR_PPRE4) >> RCC_APBCFGR_PPRE4_Pos; 70008750: bf42 ittt mi 70008752: f3c3 2302 ubfxmi r3, r3, #8, #3 clock = clock >> (prescaler - 3U); 70008756: 3b03 submi r3, #3 70008758: 40d8 lsrmi r0, r3 } 7000875a: bd08 pop {r3, pc} 7000875c: 58024400 .word 0x58024400 70008760 : pllq = ((RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVQ) >> RCC_PLL1DIVR1_DIVQ_Pos) + 1U; 70008760: 4b05 ldr r3, [pc, #20] @ (70008778 ) { 70008762: b510 push {r4, lr} pllq = ((RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVQ) >> RCC_PLL1DIVR1_DIVQ_Pos) + 1U; 70008764: 6b1c ldr r4, [r3, #48] @ 0x30 return ((uint32_t)RCC_PLL1_GetVCOOutputFreq() / pllq); 70008766: f7ff fe1d bl 700083a4 pllq = ((RCC->PLL1DIVR1 & RCC_PLL1DIVR1_DIVQ) >> RCC_PLL1DIVR1_DIVQ_Pos) + 1U; 7000876a: f3c4 4406 ubfx r4, r4, #16, #7 7000876e: 3401 adds r4, #1 } 70008770: fbb0 f0f4 udiv r0, r0, r4 70008774: bd10 pop {r4, pc} 70008776: bf00 nop 70008778: 58024400 .word 0x58024400 7000877c : pllp = ((RCC->PLL2DIVR1 & RCC_PLL2DIVR1_DIVP) >> RCC_PLL2DIVR1_DIVP_Pos) + 1U; 7000877c: 4b05 ldr r3, [pc, #20] @ (70008794 ) { 7000877e: b510 push {r4, lr} pllp = ((RCC->PLL2DIVR1 & RCC_PLL2DIVR1_DIVP) >> RCC_PLL2DIVR1_DIVP_Pos) + 1U; 70008780: 6b9c ldr r4, [r3, #56] @ 0x38 return ((uint32_t)RCC_PLL2_GetVCOOutputFreq() / pllp); 70008782: f7ff fe61 bl 70008448 pllp = ((RCC->PLL2DIVR1 & RCC_PLL2DIVR1_DIVP) >> RCC_PLL2DIVR1_DIVP_Pos) + 1U; 70008786: f3c4 2446 ubfx r4, r4, #9, #7 7000878a: 3401 adds r4, #1 } 7000878c: fbb0 f0f4 udiv r0, r0, r4 70008790: bd10 pop {r4, pc} 70008792: bf00 nop 70008794: 58024400 .word 0x58024400 70008798 : pllq = ((RCC->PLL2DIVR1 & RCC_PLL2DIVR1_DIVQ) >> RCC_PLL2DIVR1_DIVQ_Pos) + 1U; 70008798: 4b05 ldr r3, [pc, #20] @ (700087b0 ) { 7000879a: b510 push {r4, lr} pllq = ((RCC->PLL2DIVR1 & RCC_PLL2DIVR1_DIVQ) >> RCC_PLL2DIVR1_DIVQ_Pos) + 1U; 7000879c: 6b9c ldr r4, [r3, #56] @ 0x38 return ((uint32_t)RCC_PLL2_GetVCOOutputFreq() / pllq); 7000879e: f7ff fe53 bl 70008448 pllq = ((RCC->PLL2DIVR1 & RCC_PLL2DIVR1_DIVQ) >> RCC_PLL2DIVR1_DIVQ_Pos) + 1U; 700087a2: f3c4 4406 ubfx r4, r4, #16, #7 700087a6: 3401 adds r4, #1 } 700087a8: fbb0 f0f4 udiv r0, r0, r4 700087ac: bd10 pop {r4, pc} 700087ae: bf00 nop 700087b0: 58024400 .word 0x58024400 700087b4 : pllr = ((RCC->PLL2DIVR1 & RCC_PLL2DIVR1_DIVR) >> RCC_PLL2DIVR1_DIVR_Pos) + 1U; 700087b4: 4b05 ldr r3, [pc, #20] @ (700087cc ) { 700087b6: b510 push {r4, lr} pllr = ((RCC->PLL2DIVR1 & RCC_PLL2DIVR1_DIVR) >> RCC_PLL2DIVR1_DIVR_Pos) + 1U; 700087b8: 6b9c ldr r4, [r3, #56] @ 0x38 return ((uint32_t)RCC_PLL2_GetVCOOutputFreq() / pllr); 700087ba: f7ff fe45 bl 70008448 pllr = ((RCC->PLL2DIVR1 & RCC_PLL2DIVR1_DIVR) >> RCC_PLL2DIVR1_DIVR_Pos) + 1U; 700087be: f3c4 6406 ubfx r4, r4, #24, #7 700087c2: 3401 adds r4, #1 } 700087c4: fbb0 f0f4 udiv r0, r0, r4 700087c8: bd10 pop {r4, pc} 700087ca: bf00 nop 700087cc: 58024400 .word 0x58024400 700087d0 : plls = ((RCC->PLL2DIVR2 & RCC_PLL2DIVR2_DIVS) >> RCC_PLL2DIVR2_DIVS_Pos) + 1U; 700087d0: 4b05 ldr r3, [pc, #20] @ (700087e8 ) { 700087d2: b510 push {r4, lr} plls = ((RCC->PLL2DIVR2 & RCC_PLL2DIVR2_DIVS) >> RCC_PLL2DIVR2_DIVS_Pos) + 1U; 700087d4: f8d3 40c4 ldr.w r4, [r3, #196] @ 0xc4 return ((uint32_t)RCC_PLL2_GetVCOOutputFreq() / plls); 700087d8: f7ff fe36 bl 70008448 plls = ((RCC->PLL2DIVR2 & RCC_PLL2DIVR2_DIVS) >> RCC_PLL2DIVR2_DIVS_Pos) + 1U; 700087dc: f004 0407 and.w r4, r4, #7 700087e0: 3401 adds r4, #1 } 700087e2: fbb0 f0f4 udiv r0, r0, r4 700087e6: bd10 pop {r4, pc} 700087e8: 58024400 .word 0x58024400 700087ec : pllt = ((RCC->PLL2DIVR2 & RCC_PLL2DIVR2_DIVT) >> RCC_PLL2DIVR2_DIVT_Pos) + 1U; 700087ec: 4b05 ldr r3, [pc, #20] @ (70008804 ) { 700087ee: b510 push {r4, lr} pllt = ((RCC->PLL2DIVR2 & RCC_PLL2DIVR2_DIVT) >> RCC_PLL2DIVR2_DIVT_Pos) + 1U; 700087f0: f8d3 40c4 ldr.w r4, [r3, #196] @ 0xc4 return ((uint32_t)RCC_PLL2_GetVCOOutputFreq() / pllt); 700087f4: f7ff fe28 bl 70008448 pllt = ((RCC->PLL2DIVR2 & RCC_PLL2DIVR2_DIVT) >> RCC_PLL2DIVR2_DIVT_Pos) + 1U; 700087f8: f3c4 2402 ubfx r4, r4, #8, #3 700087fc: 3401 adds r4, #1 } 700087fe: fbb0 f0f4 udiv r0, r0, r4 70008802: bd10 pop {r4, pc} 70008804: 58024400 .word 0x58024400 70008808 : pllp = ((RCC->PLL3DIVR1 & RCC_PLL3DIVR1_DIVP) >> RCC_PLL3DIVR1_DIVP_Pos) + 1U; 70008808: 4b05 ldr r3, [pc, #20] @ (70008820 ) { 7000880a: b510 push {r4, lr} pllp = ((RCC->PLL3DIVR1 & RCC_PLL3DIVR1_DIVP) >> RCC_PLL3DIVR1_DIVP_Pos) + 1U; 7000880c: 6c1c ldr r4, [r3, #64] @ 0x40 return ((uint32_t)RCC_PLL3_GetVCOOutputFreq() / pllp); 7000880e: f7ff fe6d bl 700084ec pllp = ((RCC->PLL3DIVR1 & RCC_PLL3DIVR1_DIVP) >> RCC_PLL3DIVR1_DIVP_Pos) + 1U; 70008812: f3c4 2446 ubfx r4, r4, #9, #7 70008816: 3401 adds r4, #1 } 70008818: fbb0 f0f4 udiv r0, r0, r4 7000881c: bd10 pop {r4, pc} 7000881e: bf00 nop 70008820: 58024400 .word 0x58024400 70008824 : pllq = ((RCC->PLL3DIVR1 & RCC_PLL3DIVR1_DIVQ) >> RCC_PLL3DIVR1_DIVQ_Pos) + 1U; 70008824: 4b05 ldr r3, [pc, #20] @ (7000883c ) { 70008826: b510 push {r4, lr} pllq = ((RCC->PLL3DIVR1 & RCC_PLL3DIVR1_DIVQ) >> RCC_PLL3DIVR1_DIVQ_Pos) + 1U; 70008828: 6c1c ldr r4, [r3, #64] @ 0x40 return ((uint32_t)RCC_PLL3_GetVCOOutputFreq() / pllq); 7000882a: f7ff fe5f bl 700084ec pllq = ((RCC->PLL3DIVR1 & RCC_PLL3DIVR1_DIVQ) >> RCC_PLL3DIVR1_DIVQ_Pos) + 1U; 7000882e: f3c4 4406 ubfx r4, r4, #16, #7 70008832: 3401 adds r4, #1 } 70008834: fbb0 f0f4 udiv r0, r0, r4 70008838: bd10 pop {r4, pc} 7000883a: bf00 nop 7000883c: 58024400 .word 0x58024400 70008840 : pllr = ((RCC->PLL3DIVR1 & RCC_PLL3DIVR1_DIVR) >> RCC_PLL3DIVR1_DIVR_Pos) + 1U; 70008840: 4b05 ldr r3, [pc, #20] @ (70008858 ) { 70008842: b510 push {r4, lr} pllr = ((RCC->PLL3DIVR1 & RCC_PLL3DIVR1_DIVR) >> RCC_PLL3DIVR1_DIVR_Pos) + 1U; 70008844: 6c1c ldr r4, [r3, #64] @ 0x40 return ((uint32_t)RCC_PLL3_GetVCOOutputFreq() / pllr); 70008846: f7ff fe51 bl 700084ec pllr = ((RCC->PLL3DIVR1 & RCC_PLL3DIVR1_DIVR) >> RCC_PLL3DIVR1_DIVR_Pos) + 1U; 7000884a: f3c4 6406 ubfx r4, r4, #24, #7 7000884e: 3401 adds r4, #1 } 70008850: fbb0 f0f4 udiv r0, r0, r4 70008854: bd10 pop {r4, pc} 70008856: bf00 nop 70008858: 58024400 .word 0x58024400 7000885c : plls = ((RCC->PLL3DIVR2 & RCC_PLL3DIVR2_DIVS) >> RCC_PLL3DIVR2_DIVS_Pos) + 1U; 7000885c: 4b05 ldr r3, [pc, #20] @ (70008874 ) { 7000885e: b510 push {r4, lr} plls = ((RCC->PLL3DIVR2 & RCC_PLL3DIVR2_DIVS) >> RCC_PLL3DIVR2_DIVS_Pos) + 1U; 70008860: f8d3 40c8 ldr.w r4, [r3, #200] @ 0xc8 return ((uint32_t)RCC_PLL3_GetVCOOutputFreq() / plls); 70008864: f7ff fe42 bl 700084ec plls = ((RCC->PLL3DIVR2 & RCC_PLL3DIVR2_DIVS) >> RCC_PLL3DIVR2_DIVS_Pos) + 1U; 70008868: f004 0407 and.w r4, r4, #7 7000886c: 3401 adds r4, #1 } 7000886e: fbb0 f0f4 udiv r0, r0, r4 70008872: bd10 pop {r4, pc} 70008874: 58024400 .word 0x58024400 70008878 : RCC_ClkInitStruct->ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | \ 70008878: 233f movs r3, #63 @ 0x3f 7000887a: 6003 str r3, [r0, #0] RCC_ClkInitStruct->SYSCLKSource = READ_BIT(RCC->CFGR, RCC_CFGR_SW); 7000887c: 4b11 ldr r3, [pc, #68] @ (700088c4 ) 7000887e: 691a ldr r2, [r3, #16] 70008880: f002 0207 and.w r2, r2, #7 70008884: 6042 str r2, [r0, #4] RCC_ClkInitStruct->SYSCLKDivider = READ_BIT(RCC->CDCFGR, RCC_CDCFGR_CPRE); 70008886: 699a ldr r2, [r3, #24] 70008888: f002 020f and.w r2, r2, #15 7000888c: 6082 str r2, [r0, #8] RCC_ClkInitStruct->AHBCLKDivider = READ_BIT(RCC->BMCFGR, RCC_BMCFGR_BMPRE); 7000888e: 69da ldr r2, [r3, #28] 70008890: f002 020f and.w r2, r2, #15 70008894: 60c2 str r2, [r0, #12] RCC_ClkInitStruct->APB1CLKDivider = READ_BIT(RCC->APBCFGR, RCC_APBCFGR_PPRE1); 70008896: 6a1a ldr r2, [r3, #32] 70008898: f002 0207 and.w r2, r2, #7 7000889c: 6102 str r2, [r0, #16] RCC_ClkInitStruct->APB2CLKDivider = READ_BIT(RCC->APBCFGR, RCC_APBCFGR_PPRE2); 7000889e: 6a1a ldr r2, [r3, #32] 700088a0: f002 0270 and.w r2, r2, #112 @ 0x70 700088a4: 6142 str r2, [r0, #20] RCC_ClkInitStruct->APB4CLKDivider = READ_BIT(RCC->APBCFGR, RCC_APBCFGR_PPRE4); 700088a6: 6a1a ldr r2, [r3, #32] 700088a8: f402 62e0 and.w r2, r2, #1792 @ 0x700 700088ac: 6182 str r2, [r0, #24] RCC_ClkInitStruct->APB5CLKDivider = READ_BIT(RCC->APBCFGR, RCC_APBCFGR_PPRE5); 700088ae: 6a1b ldr r3, [r3, #32] 700088b0: f403 43e0 and.w r3, r3, #28672 @ 0x7000 700088b4: 61c3 str r3, [r0, #28] *pFLatency = __HAL_FLASH_GET_LATENCY(); 700088b6: 4b04 ldr r3, [pc, #16] @ (700088c8 ) 700088b8: 681b ldr r3, [r3, #0] 700088ba: f003 033f and.w r3, r3, #63 @ 0x3f 700088be: 600b str r3, [r1, #0] } 700088c0: 4770 bx lr 700088c2: bf00 nop 700088c4: 58024400 .word 0x58024400 700088c8: 52002000 .word 0x52002000 700088cc : static uint32_t RCC_GetCLKPFreq(void) { uint32_t frequency = 0U; uint32_t ckpclocksource; ckpclocksource = __HAL_RCC_GET_CLKP_SOURCE(); 700088cc: 4b13 ldr r3, [pc, #76] @ (7000891c ) 700088ce: 6cda ldr r2, [r3, #76] @ 0x4c if (ckpclocksource == RCC_CLKPSOURCE_HSI) 700088d0: f012 5240 ands.w r2, r2, #805306368 @ 0x30000000 700088d4: d10d bne.n 700088f2 { if (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 700088d6: 6818 ldr r0, [r3, #0] 700088d8: f010 0004 ands.w r0, r0, #4 700088dc: d01c beq.n 70008918 { if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 700088de: 6818 ldr r0, [r3, #0] 700088e0: f010 0020 ands.w r0, r0, #32 700088e4: d018 beq.n 70008918 { frequency = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 700088e6: 681b ldr r3, [r3, #0] 700088e8: 480d ldr r0, [pc, #52] @ (70008920 ) 700088ea: f3c3 03c1 ubfx r3, r3, #3, #2 700088ee: 40d8 lsrs r0, r3 700088f0: 4770 bx lr { /* Can't retrieve HSIDIV value */ } } } else if (ckpclocksource == RCC_CLKPSOURCE_CSI) 700088f2: f1b2 5f80 cmp.w r2, #268435456 @ 0x10000000 700088f6: d106 bne.n 70008906 { if (READ_BIT(RCC->CR, RCC_CR_CSIRDY) != 0U) 700088f8: 681b ldr r3, [r3, #0] uint32_t frequency = 0U; 700088fa: 480a ldr r0, [pc, #40] @ (70008924 ) 700088fc: f413 7f80 tst.w r3, #256 @ 0x100 70008900: bf08 it eq 70008902: 2000 moveq r0, #0 70008904: 4770 bx lr { frequency = CSI_VALUE; } } else if (ckpclocksource == RCC_CLKPSOURCE_HSE) 70008906: f1b2 5f00 cmp.w r2, #536870912 @ 0x20000000 7000890a: d104 bne.n 70008916 { if (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 7000890c: 681b ldr r3, [r3, #0] uint32_t frequency = 0U; 7000890e: 4806 ldr r0, [pc, #24] @ (70008928 ) 70008910: f413 3f00 tst.w r3, #131072 @ 0x20000 70008914: e7f4 b.n 70008900 70008916: 2000 movs r0, #0 /* Nothing to do, case the CKPER is disabled */ /* frequency is by default set to 0 */ } return frequency; } 70008918: 4770 bx lr 7000891a: bf00 nop 7000891c: 58024400 .word 0x58024400 70008920: 03d09000 .word 0x03d09000 70008924: 003d0900 .word 0x003d0900 70008928: 016e3600 .word 0x016e3600 7000892c : { 7000892c: b5f8 push {r3, r4, r5, r6, r7, lr} if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_RTC) == RCC_PERIPHCLK_RTC) 7000892e: 6803 ldr r3, [r0, #0] { 70008930: 4604 mov r4, r0 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_RTC) == RCC_PERIPHCLK_RTC) 70008932: 0359 lsls r1, r3, #13 70008934: d54b bpl.n 700089ce tmpreg = READ_BIT(RCC->BDCR, RCC_BDCR_RTCSEL); 70008936: 4b2e ldr r3, [pc, #184] @ (700089f0 ) if ((tmpreg != RCC_RTCCLKSOURCE_DISABLE) && (tmpreg != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSEL))) 70008938: 6fc0 ldr r0, [r0, #124] @ 0x7c tmpreg = READ_BIT(RCC->BDCR, RCC_BDCR_RTCSEL); 7000893a: 6f1a ldr r2, [r3, #112] @ 0x70 if ((tmpreg != RCC_RTCCLKSOURCE_DISABLE) && (tmpreg != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSEL))) 7000893c: f412 7240 ands.w r2, r2, #768 @ 0x300 70008940: d017 beq.n 70008972 70008942: f400 7140 and.w r1, r0, #768 @ 0x300 70008946: 4291 cmp r1, r2 70008948: d013 beq.n 70008972 SET_BIT(PWR->CR1, PWR_CR1_DBP); 7000894a: 4a2a ldr r2, [pc, #168] @ (700089f4 ) 7000894c: 6811 ldr r1, [r2, #0] 7000894e: f441 7180 orr.w r1, r1, #256 @ 0x100 70008952: 6011 str r1, [r2, #0] if (READ_BIT(PWR->CR1, PWR_CR1_DBP) == 0U) 70008954: 6812 ldr r2, [r2, #0] 70008956: 05d2 lsls r2, r2, #23 70008958: d547 bpl.n 700089ea tmpreg = READ_BIT(RCC->BDCR, ~(RCC_BDCR_RTCSEL)); 7000895a: 6f1a ldr r2, [r3, #112] @ 0x70 __HAL_RCC_BACKUPRESET_FORCE(); 7000895c: 6f19 ldr r1, [r3, #112] @ 0x70 tmpreg = READ_BIT(RCC->BDCR, ~(RCC_BDCR_RTCSEL)); 7000895e: f422 7240 bic.w r2, r2, #768 @ 0x300 __HAL_RCC_BACKUPRESET_FORCE(); 70008962: f441 3180 orr.w r1, r1, #65536 @ 0x10000 70008966: 6719 str r1, [r3, #112] @ 0x70 __HAL_RCC_BACKUPRESET_RELEASE(); 70008968: 6f19 ldr r1, [r3, #112] @ 0x70 7000896a: f421 3180 bic.w r1, r1, #65536 @ 0x10000 7000896e: 6719 str r1, [r3, #112] @ 0x70 WRITE_REG(RCC->BDCR, tmpreg); 70008970: 671a str r2, [r3, #112] @ 0x70 if (PeriphClkInit->RTCClockSelection == RCC_RTCCLKSOURCE_LSE) 70008972: f5b0 7f80 cmp.w r0, #256 @ 0x100 70008976: d008 beq.n 7000898a __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection); 70008978: 6fe3 ldr r3, [r4, #124] @ 0x7c 7000897a: 491d ldr r1, [pc, #116] @ (700089f0 ) 7000897c: f413 3f7c tst.w r3, #258048 @ 0x3f000 70008980: d113 bne.n 700089aa 70008982: 690a ldr r2, [r1, #16] 70008984: f422 527c bic.w r2, r2, #16128 @ 0x3f00 70008988: e016 b.n 700089b8 tickstart = HAL_GetTick(); 7000898a: f7fb ff87 bl 7000489c while (READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) == 0U) 7000898e: 4e18 ldr r6, [pc, #96] @ (700089f0 ) tickstart = HAL_GetTick(); 70008990: 4605 mov r5, r0 if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 70008992: f241 3788 movw r7, #5000 @ 0x1388 while (READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) == 0U) 70008996: 6f33 ldr r3, [r6, #112] @ 0x70 70008998: 079b lsls r3, r3, #30 7000899a: d4ed bmi.n 70008978 if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 7000899c: f7fb ff7e bl 7000489c 700089a0: 1b40 subs r0, r0, r5 700089a2: 42b8 cmp r0, r7 700089a4: d9f7 bls.n 70008996 700089a6: 2303 movs r3, #3 700089a8: e012 b.n 700089d0 __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection); 700089aa: 6908 ldr r0, [r1, #16] 700089ac: 4a12 ldr r2, [pc, #72] @ (700089f8 ) 700089ae: f420 507c bic.w r0, r0, #16128 @ 0x3f00 700089b2: ea02 1213 and.w r2, r2, r3, lsr #4 700089b6: 4302 orrs r2, r0 700089b8: 610a str r2, [r1, #16] 700089ba: f403 7340 and.w r3, r3, #768 @ 0x300 700089be: 4a0c ldr r2, [pc, #48] @ (700089f0 ) 700089c0: 6f11 ldr r1, [r2, #112] @ 0x70 700089c2: 430b orrs r3, r1 700089c4: 6713 str r3, [r2, #112] @ 0x70 __HAL_RCC_RTC_ENABLE(); 700089c6: 6f13 ldr r3, [r2, #112] @ 0x70 700089c8: f443 4300 orr.w r3, r3, #32768 @ 0x8000 700089cc: 6713 str r3, [r2, #112] @ 0x70 HAL_StatusTypeDef ret = HAL_OK; /* Intermediate status */ 700089ce: 2300 movs r3, #0 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_FMC) == RCC_PERIPHCLK_FMC) 700089d0: 6822 ldr r2, [r4, #0] 700089d2: 07d6 lsls r6, r2, #31 700089d4: d51e bpl.n 70008a14 switch (PeriphClkInit->FmcClockSelection) 700089d6: 6860 ldr r0, [r4, #4] 700089d8: 2803 cmp r0, #3 700089da: f200 8108 bhi.w 70008bee 700089de: e8df f010 tbh [pc, r0, lsl #1] 700089e2: 0012 .short 0x0012 700089e4: 0101000d .word 0x0101000d 700089e8: 0012 .short 0x0012 ret = HAL_ERROR; 700089ea: 2301 movs r3, #1 700089ec: e7f0 b.n 700089d0 700089ee: bf00 nop 700089f0: 58024400 .word 0x58024400 700089f4: 58024800 .word 0x58024800 700089f8: 0fffffcf .word 0x0fffffcf __HAL_RCC_PLL1CLKOUT_ENABLE(RCC_PLL_QCLK); 700089fc: 4d9d ldr r5, [pc, #628] @ (70008c74 ) 700089fe: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008a00: f041 0140 orr.w r1, r1, #64 @ 0x40 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_RCLK); 70008a04: 62e9 str r1, [r5, #44] @ 0x2c if (ret == HAL_OK) 70008a06: b92b cbnz r3, 70008a14 __HAL_RCC_FMC_CONFIG(PeriphClkInit->FmcClockSelection); 70008a08: 4d9a ldr r5, [pc, #616] @ (70008c74 ) 70008a0a: 6ce9 ldr r1, [r5, #76] @ 0x4c 70008a0c: f021 0103 bic.w r1, r1, #3 70008a10: 4301 orrs r1, r0 70008a12: 64e9 str r1, [r5, #76] @ 0x4c if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_XSPI1) == RCC_PERIPHCLK_XSPI1) 70008a14: 0795 lsls r5, r2, #30 70008a16: d50a bpl.n 70008a2e switch (PeriphClkInit->Xspi1ClockSelection) 70008a18: 68a0 ldr r0, [r4, #8] 70008a1a: 2810 cmp r0, #16 70008a1c: f000 80e9 beq.w 70008bf2 70008a20: 2820 cmp r0, #32 70008a22: f000 80f5 beq.w 70008c10 70008a26: 2800 cmp r0, #0 70008a28: f000 80e8 beq.w 70008bfc 70008a2c: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_XSPI2) == RCC_PERIPHCLK_XSPI2) 70008a2e: 0750 lsls r0, r2, #29 70008a30: d50a bpl.n 70008a48 switch (PeriphClkInit->Xspi2ClockSelection) 70008a32: 68e0 ldr r0, [r4, #12] 70008a34: 2840 cmp r0, #64 @ 0x40 70008a36: f000 80f0 beq.w 70008c1a 70008a3a: 2880 cmp r0, #128 @ 0x80 70008a3c: f000 80fc beq.w 70008c38 70008a40: 2800 cmp r0, #0 70008a42: f000 80ef beq.w 70008c24 70008a46: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_CKPER) == RCC_PERIPHCLK_CKPER) 70008a48: 0711 lsls r1, r2, #28 70008a4a: d506 bpl.n 70008a5a __HAL_RCC_CLKP_CONFIG(PeriphClkInit->CkperClockSelection); 70008a4c: 4889 ldr r0, [pc, #548] @ (70008c74 ) 70008a4e: 6925 ldr r5, [r4, #16] 70008a50: 6cc1 ldr r1, [r0, #76] @ 0x4c 70008a52: f021 5140 bic.w r1, r1, #805306368 @ 0x30000000 70008a56: 4329 orrs r1, r5 70008a58: 64c1 str r1, [r0, #76] @ 0x4c if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_SDMMC12) == RCC_PERIPHCLK_SDMMC12) 70008a5a: 0297 lsls r7, r2, #10 70008a5c: d507 bpl.n 70008a6e switch (PeriphClkInit->Sdmmc12ClockSelection) 70008a5e: 6d60 ldr r0, [r4, #84] @ 0x54 70008a60: 2800 cmp r0, #0 70008a62: f000 80ee beq.w 70008c42 70008a66: 2804 cmp r0, #4 70008a68: f000 80fa beq.w 70008c60 70008a6c: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_ADC) == RCC_PERIPHCLK_ADC) 70008a6e: 06d6 lsls r6, r2, #27 70008a70: d516 bpl.n 70008aa0 switch (PeriphClkInit->AdcClockSelection) 70008a72: 6960 ldr r0, [r4, #20] 70008a74: f1b0 7f80 cmp.w r0, #16777216 @ 0x1000000 70008a78: f000 80f7 beq.w 70008c6a 70008a7c: f1b0 7f00 cmp.w r0, #33554432 @ 0x2000000 70008a80: d007 beq.n 70008a92 70008a82: 2800 cmp r0, #0 70008a84: f040 80f8 bne.w 70008c78 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_PCLK); 70008a88: 4d7a ldr r5, [pc, #488] @ (70008c74 ) 70008a8a: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008a8c: f441 3180 orr.w r1, r1, #65536 @ 0x10000 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70008a90: 62e9 str r1, [r5, #44] @ 0x2c if (ret == HAL_OK) 70008a92: b92b cbnz r3, 70008aa0 __HAL_RCC_ADC_CONFIG(PeriphClkInit->AdcClockSelection); 70008a94: 4d77 ldr r5, [pc, #476] @ (70008c74 ) 70008a96: 6ce9 ldr r1, [r5, #76] @ 0x4c 70008a98: f021 7140 bic.w r1, r1, #50331648 @ 0x3000000 70008a9c: 4301 orrs r1, r0 70008a9e: 64e9 str r1, [r5, #76] @ 0x4c if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_ADF1) == RCC_PERIPHCLK_ADF1) 70008aa0: 0695 lsls r5, r2, #26 70008aa2: d50e bpl.n 70008ac2 switch (PeriphClkInit->Adf1ClockSelection) 70008aa4: 69a1 ldr r1, [r4, #24] 70008aa6: f5b1 1f00 cmp.w r1, #2097152 @ 0x200000 70008aaa: f000 8100 beq.w 70008cae 70008aae: f200 80e5 bhi.w 70008c7c 70008ab2: 2900 cmp r1, #0 70008ab4: f000 80eb beq.w 70008c8e 70008ab8: f5b1 1f80 cmp.w r1, #1048576 @ 0x100000 70008abc: f000 80f1 beq.w 70008ca2 70008ac0: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_CEC) == RCC_PERIPHCLK_CEC) 70008ac2: 0650 lsls r0, r2, #25 70008ac4: d506 bpl.n 70008ad4 __HAL_RCC_CEC_CONFIG(PeriphClkInit->CecClockSelection); 70008ac6: 486b ldr r0, [pc, #428] @ (70008c74 ) 70008ac8: 69e5 ldr r5, [r4, #28] 70008aca: 6d01 ldr r1, [r0, #80] @ 0x50 70008acc: f021 5140 bic.w r1, r1, #805306368 @ 0x30000000 70008ad0: 4329 orrs r1, r5 70008ad2: 6501 str r1, [r0, #80] @ 0x50 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_ETH1REF) == RCC_PERIPHCLK_ETH1REF) 70008ad4: 0611 lsls r1, r2, #24 70008ad6: d506 bpl.n 70008ae6 __HAL_RCC_ETH1REF_CONFIG(PeriphClkInit->Eth1RefClockSelection); 70008ad8: 4866 ldr r0, [pc, #408] @ (70008c74 ) 70008ada: 6a25 ldr r5, [r4, #32] 70008adc: 6cc1 ldr r1, [r0, #76] @ 0x4c 70008ade: f421 3140 bic.w r1, r1, #196608 @ 0x30000 70008ae2: 4329 orrs r1, r5 70008ae4: 64c1 str r1, [r0, #76] @ 0x4c if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_ETH1PHY) == RCC_PERIPHCLK_ETH1PHY) 70008ae6: 05d7 lsls r7, r2, #23 70008ae8: d511 bpl.n 70008b0e switch (PeriphClkInit->Eth1PhyClockSelection) 70008aea: 6a60 ldr r0, [r4, #36] @ 0x24 70008aec: b140 cbz r0, 70008b00 70008aee: f5b0 2f80 cmp.w r0, #262144 @ 0x40000 70008af2: f040 80e1 bne.w 70008cb8 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_SCLK); 70008af6: 4d5f ldr r5, [pc, #380] @ (70008c74 ) 70008af8: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008afa: f041 4180 orr.w r1, r1, #1073741824 @ 0x40000000 70008afe: 62e9 str r1, [r5, #44] @ 0x2c if (ret == HAL_OK) 70008b00: b92b cbnz r3, 70008b0e __HAL_RCC_ETH1PHY_CONFIG(PeriphClkInit->Eth1PhyClockSelection); 70008b02: 4d5c ldr r5, [pc, #368] @ (70008c74 ) 70008b04: 6ce9 ldr r1, [r5, #76] @ 0x4c 70008b06: f421 2180 bic.w r1, r1, #262144 @ 0x40000 70008b0a: 4301 orrs r1, r0 70008b0c: 64e9 str r1, [r5, #76] @ 0x4c if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_FDCAN) == RCC_PERIPHCLK_FDCAN) 70008b0e: 0596 lsls r6, r2, #22 70008b10: d50c bpl.n 70008b2c switch (PeriphClkInit->FdcanClockSelection) 70008b12: 6aa0 ldr r0, [r4, #40] @ 0x28 70008b14: f5b0 0f80 cmp.w r0, #4194304 @ 0x400000 70008b18: f000 80d0 beq.w 70008cbc 70008b1c: f5b0 0f00 cmp.w r0, #8388608 @ 0x800000 70008b20: f000 80db beq.w 70008cda 70008b24: 2800 cmp r0, #0 70008b26: f000 80ce beq.w 70008cc6 70008b2a: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_I2C1_I3C1) == RCC_PERIPHCLK_I2C1_I3C1) 70008b2c: 0515 lsls r5, r2, #20 70008b2e: d50a bpl.n 70008b46 switch (PeriphClkInit->I2c1_I3c1ClockSelection) 70008b30: 6ae0 ldr r0, [r4, #44] @ 0x2c 70008b32: f5b0 5f80 cmp.w r0, #4096 @ 0x1000 70008b36: f000 80e5 beq.w 70008d04 70008b3a: f200 80d3 bhi.w 70008ce4 70008b3e: 2800 cmp r0, #0 70008b40: f000 80d6 beq.w 70008cf0 70008b44: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_I2C23) == RCC_PERIPHCLK_I2C23) 70008b46: 0550 lsls r0, r2, #21 70008b48: d50a bpl.n 70008b60 switch (PeriphClkInit->I2c23ClockSelection) 70008b4a: 6b20 ldr r0, [r4, #48] @ 0x30 70008b4c: f5b0 7f80 cmp.w r0, #256 @ 0x100 70008b50: f000 80ee beq.w 70008d30 70008b54: f200 80dc bhi.w 70008d10 70008b58: 2800 cmp r0, #0 70008b5a: f000 80df beq.w 70008d1c 70008b5e: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_LPTIM1) == RCC_PERIPHCLK_LPTIM1) 70008b60: 04d1 lsls r1, r2, #19 70008b62: d50e bpl.n 70008b82 switch (PeriphClkInit->Lptim1ClockSelection) 70008b64: 6b61 ldr r1, [r4, #52] @ 0x34 70008b66: f5b1 3f00 cmp.w r1, #131072 @ 0x20000 70008b6a: f000 8100 beq.w 70008d6e 70008b6e: f200 80e5 bhi.w 70008d3c 70008b72: 2900 cmp r1, #0 70008b74: f000 80eb beq.w 70008d4e 70008b78: f5b1 3f80 cmp.w r1, #65536 @ 0x10000 70008b7c: f000 80f1 beq.w 70008d62 70008b80: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_LPTIM23) == RCC_PERIPHCLK_LPTIM23) 70008b82: 0497 lsls r7, r2, #18 70008b84: d50e bpl.n 70008ba4 switch (PeriphClkInit->Lptim23ClockSelection) 70008b86: 6ba1 ldr r1, [r4, #56] @ 0x38 70008b88: f5b1 7f00 cmp.w r1, #512 @ 0x200 70008b8c: f000 810d beq.w 70008daa 70008b90: f200 80f2 bhi.w 70008d78 70008b94: 2900 cmp r1, #0 70008b96: f000 80f8 beq.w 70008d8a 70008b9a: f5b1 7f80 cmp.w r1, #256 @ 0x100 70008b9e: f000 80fe beq.w 70008d9e 70008ba2: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_LPTIM45) == RCC_PERIPHCLK_LPTIM45) 70008ba4: 0456 lsls r6, r2, #17 70008ba6: d50e bpl.n 70008bc6 switch (PeriphClkInit->Lptim45ClockSelection) 70008ba8: 6be1 ldr r1, [r4, #60] @ 0x3c 70008baa: f5b1 5f00 cmp.w r1, #8192 @ 0x2000 70008bae: f000 811a beq.w 70008de6 70008bb2: f200 80ff bhi.w 70008db4 70008bb6: 2900 cmp r1, #0 70008bb8: f000 8105 beq.w 70008dc6 70008bbc: f5b1 5f80 cmp.w r1, #4096 @ 0x1000 70008bc0: f000 810b beq.w 70008dda 70008bc4: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_LPUART1) == RCC_PERIPHCLK_LPUART1) 70008bc6: 0415 lsls r5, r2, #16 70008bc8: f140 8120 bpl.w 70008e0c switch (PeriphClkInit->Lpuart1ClockSelection) 70008bcc: 6c20 ldr r0, [r4, #64] @ 0x40 70008bce: 2805 cmp r0, #5 70008bd0: f200 81b3 bhi.w 70008f3a 70008bd4: e8df f010 tbh [pc, r0, lsl #1] 70008bd8: 010e0113 .word 0x010e0113 70008bdc: 011301ac .word 0x011301ac 70008be0: 01130113 .word 0x01130113 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_RCLK); 70008be4: 4d23 ldr r5, [pc, #140] @ (70008c74 ) 70008be6: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008be8: f441 2180 orr.w r1, r1, #262144 @ 0x40000 70008bec: e70a b.n 70008a04 switch (PeriphClkInit->FmcClockSelection) 70008bee: 2301 movs r3, #1 70008bf0: e710 b.n 70008a14 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_SCLK); 70008bf2: 4d20 ldr r5, [pc, #128] @ (70008c74 ) 70008bf4: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008bf6: f441 2100 orr.w r1, r1, #524288 @ 0x80000 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_TCLK); 70008bfa: 62e9 str r1, [r5, #44] @ 0x2c if (ret == HAL_OK) 70008bfc: 2b00 cmp r3, #0 70008bfe: f47f af16 bne.w 70008a2e __HAL_RCC_XSPI1_CONFIG(PeriphClkInit->Xspi1ClockSelection); 70008c02: 4d1c ldr r5, [pc, #112] @ (70008c74 ) 70008c04: 6ce9 ldr r1, [r5, #76] @ 0x4c 70008c06: f021 0130 bic.w r1, r1, #48 @ 0x30 70008c0a: 4301 orrs r1, r0 70008c0c: 64e9 str r1, [r5, #76] @ 0x4c 70008c0e: e70e b.n 70008a2e __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_TCLK); 70008c10: 4d18 ldr r5, [pc, #96] @ (70008c74 ) 70008c12: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008c14: f441 1180 orr.w r1, r1, #1048576 @ 0x100000 70008c18: e7ef b.n 70008bfa __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_SCLK); 70008c1a: 4d16 ldr r5, [pc, #88] @ (70008c74 ) 70008c1c: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008c1e: f441 2100 orr.w r1, r1, #524288 @ 0x80000 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_TCLK); 70008c22: 62e9 str r1, [r5, #44] @ 0x2c if (ret == HAL_OK) 70008c24: 2b00 cmp r3, #0 70008c26: f47f af0f bne.w 70008a48 __HAL_RCC_XSPI2_CONFIG(PeriphClkInit->Xspi2ClockSelection); 70008c2a: 4d12 ldr r5, [pc, #72] @ (70008c74 ) 70008c2c: 6ce9 ldr r1, [r5, #76] @ 0x4c 70008c2e: f021 01c0 bic.w r1, r1, #192 @ 0xc0 70008c32: 4301 orrs r1, r0 70008c34: 64e9 str r1, [r5, #76] @ 0x4c 70008c36: e707 b.n 70008a48 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_TCLK); 70008c38: 4d0e ldr r5, [pc, #56] @ (70008c74 ) 70008c3a: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008c3c: f441 1180 orr.w r1, r1, #1048576 @ 0x100000 70008c40: e7ef b.n 70008c22 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_SCLK); 70008c42: 4d0c ldr r5, [pc, #48] @ (70008c74 ) 70008c44: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008c46: f441 2100 orr.w r1, r1, #524288 @ 0x80000 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_TCLK); 70008c4a: 62e9 str r1, [r5, #44] @ 0x2c if (ret == HAL_OK) 70008c4c: 2b00 cmp r3, #0 70008c4e: f47f af0e bne.w 70008a6e __HAL_RCC_SDMMC12_CONFIG(PeriphClkInit->Sdmmc12ClockSelection); 70008c52: 4d08 ldr r5, [pc, #32] @ (70008c74 ) 70008c54: 6ce9 ldr r1, [r5, #76] @ 0x4c 70008c56: f021 0104 bic.w r1, r1, #4 70008c5a: 4301 orrs r1, r0 70008c5c: 64e9 str r1, [r5, #76] @ 0x4c 70008c5e: e706 b.n 70008a6e __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_TCLK); 70008c60: 4d04 ldr r5, [pc, #16] @ (70008c74 ) 70008c62: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008c64: f441 1180 orr.w r1, r1, #1048576 @ 0x100000 70008c68: e7ef b.n 70008c4a __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70008c6a: 4d02 ldr r5, [pc, #8] @ (70008c74 ) 70008c6c: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008c6e: f041 5100 orr.w r1, r1, #536870912 @ 0x20000000 70008c72: e70d b.n 70008a90 70008c74: 58024400 .word 0x58024400 switch (PeriphClkInit->AdcClockSelection) 70008c78: 2301 movs r3, #1 70008c7a: e711 b.n 70008aa0 switch (PeriphClkInit->Adf1ClockSelection) 70008c7c: f421 1080 bic.w r0, r1, #1048576 @ 0x100000 70008c80: f5b0 0f80 cmp.w r0, #4194304 @ 0x400000 70008c84: d003 beq.n 70008c8e 70008c86: f5b1 1f40 cmp.w r1, #3145728 @ 0x300000 70008c8a: f47f af19 bne.w 70008ac0 if (ret == HAL_OK) 70008c8e: 2b00 cmp r3, #0 70008c90: f47f af17 bne.w 70008ac2 __HAL_RCC_ADF1_CONFIG(PeriphClkInit->Adf1ClockSelection); 70008c94: 4d56 ldr r5, [pc, #344] @ (70008df0 ) 70008c96: 6ce8 ldr r0, [r5, #76] @ 0x4c 70008c98: f420 00e0 bic.w r0, r0, #7340032 @ 0x700000 70008c9c: 4301 orrs r1, r0 70008c9e: 64e9 str r1, [r5, #76] @ 0x4c 70008ca0: e70f b.n 70008ac2 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_PCLK); 70008ca2: 4d53 ldr r5, [pc, #332] @ (70008df0 ) 70008ca4: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008ca6: f440 3080 orr.w r0, r0, #65536 @ 0x10000 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_PCLK); 70008caa: 62e8 str r0, [r5, #44] @ 0x2c break; 70008cac: e7ef b.n 70008c8e __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_PCLK); 70008cae: 4d50 ldr r5, [pc, #320] @ (70008df0 ) 70008cb0: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008cb2: f040 6000 orr.w r0, r0, #134217728 @ 0x8000000 70008cb6: e7f8 b.n 70008caa switch (PeriphClkInit->Eth1PhyClockSelection) 70008cb8: 2301 movs r3, #1 70008cba: e728 b.n 70008b0e __HAL_RCC_PLL1CLKOUT_ENABLE(RCC_PLL_QCLK); 70008cbc: 4d4c ldr r5, [pc, #304] @ (70008df0 ) 70008cbe: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008cc0: f041 0140 orr.w r1, r1, #64 @ 0x40 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_PCLK); 70008cc4: 62e9 str r1, [r5, #44] @ 0x2c if (ret == HAL_OK) 70008cc6: 2b00 cmp r3, #0 70008cc8: f47f af30 bne.w 70008b2c __HAL_RCC_FDCAN_CONFIG(PeriphClkInit->FdcanClockSelection); 70008ccc: 4d48 ldr r5, [pc, #288] @ (70008df0 ) 70008cce: 6d29 ldr r1, [r5, #80] @ 0x50 70008cd0: f421 0140 bic.w r1, r1, #12582912 @ 0xc00000 70008cd4: 4301 orrs r1, r0 70008cd6: 6529 str r1, [r5, #80] @ 0x50 70008cd8: e728 b.n 70008b2c __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_PCLK); 70008cda: 4d45 ldr r5, [pc, #276] @ (70008df0 ) 70008cdc: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008cde: f441 3180 orr.w r1, r1, #65536 @ 0x10000 70008ce2: e7ef b.n 70008cc4 switch (PeriphClkInit->I2c1_I3c1ClockSelection) 70008ce4: f420 5180 bic.w r1, r0, #4096 @ 0x1000 70008ce8: f5b1 5f00 cmp.w r1, #8192 @ 0x2000 70008cec: f47f af2a bne.w 70008b44 if (ret == HAL_OK) 70008cf0: 2b00 cmp r3, #0 70008cf2: f47f af28 bne.w 70008b46 __HAL_RCC_I2C1_I3C1_CONFIG(PeriphClkInit->I2c1_I3c1ClockSelection); 70008cf6: 4d3e ldr r5, [pc, #248] @ (70008df0 ) 70008cf8: 6d29 ldr r1, [r5, #80] @ 0x50 70008cfa: f421 5140 bic.w r1, r1, #12288 @ 0x3000 70008cfe: 4301 orrs r1, r0 70008d00: 6529 str r1, [r5, #80] @ 0x50 70008d02: e720 b.n 70008b46 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70008d04: 4d3a ldr r5, [pc, #232] @ (70008df0 ) 70008d06: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008d08: f041 5100 orr.w r1, r1, #536870912 @ 0x20000000 70008d0c: 62e9 str r1, [r5, #44] @ 0x2c break; 70008d0e: e7ef b.n 70008cf0 switch (PeriphClkInit->I2c23ClockSelection) 70008d10: f420 7180 bic.w r1, r0, #256 @ 0x100 70008d14: f5b1 7f00 cmp.w r1, #512 @ 0x200 70008d18: f47f af21 bne.w 70008b5e if (ret == HAL_OK) 70008d1c: 2b00 cmp r3, #0 70008d1e: f47f af1f bne.w 70008b60 __HAL_RCC_I2C23_CONFIG(PeriphClkInit->I2c23ClockSelection); 70008d22: 4d33 ldr r5, [pc, #204] @ (70008df0 ) 70008d24: 6d29 ldr r1, [r5, #80] @ 0x50 70008d26: f421 7140 bic.w r1, r1, #768 @ 0x300 70008d2a: 4301 orrs r1, r0 70008d2c: 6529 str r1, [r5, #80] @ 0x50 70008d2e: e717 b.n 70008b60 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70008d30: 4d2f ldr r5, [pc, #188] @ (70008df0 ) 70008d32: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008d34: f041 5100 orr.w r1, r1, #536870912 @ 0x20000000 70008d38: 62e9 str r1, [r5, #44] @ 0x2c break; 70008d3a: e7ef b.n 70008d1c switch (PeriphClkInit->Lptim1ClockSelection) 70008d3c: f421 3080 bic.w r0, r1, #65536 @ 0x10000 70008d40: f5b0 2f80 cmp.w r0, #262144 @ 0x40000 70008d44: d003 beq.n 70008d4e 70008d46: f5b1 3f40 cmp.w r1, #196608 @ 0x30000 70008d4a: f47f af19 bne.w 70008b80 if (ret == HAL_OK) 70008d4e: 2b00 cmp r3, #0 70008d50: f47f af17 bne.w 70008b82 __HAL_RCC_LPTIM1_CONFIG(PeriphClkInit->Lptim1ClockSelection); 70008d54: 4d26 ldr r5, [pc, #152] @ (70008df0 ) 70008d56: 6d28 ldr r0, [r5, #80] @ 0x50 70008d58: f420 20e0 bic.w r0, r0, #458752 @ 0x70000 70008d5c: 4301 orrs r1, r0 70008d5e: 6529 str r1, [r5, #80] @ 0x50 70008d60: e70f b.n 70008b82 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_PCLK); 70008d62: 4d23 ldr r5, [pc, #140] @ (70008df0 ) 70008d64: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008d66: f440 3080 orr.w r0, r0, #65536 @ 0x10000 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70008d6a: 62e8 str r0, [r5, #44] @ 0x2c break; 70008d6c: e7ef b.n 70008d4e __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70008d6e: 4d20 ldr r5, [pc, #128] @ (70008df0 ) 70008d70: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008d72: f040 5000 orr.w r0, r0, #536870912 @ 0x20000000 70008d76: e7f8 b.n 70008d6a switch (PeriphClkInit->Lptim23ClockSelection) 70008d78: f421 7080 bic.w r0, r1, #256 @ 0x100 70008d7c: f5b0 6f80 cmp.w r0, #1024 @ 0x400 70008d80: d003 beq.n 70008d8a 70008d82: f5b1 7f40 cmp.w r1, #768 @ 0x300 70008d86: f47f af0c bne.w 70008ba2 if (ret == HAL_OK) 70008d8a: 2b00 cmp r3, #0 70008d8c: f47f af0a bne.w 70008ba4 __HAL_RCC_LPTIM23_CONFIG(PeriphClkInit->Lptim23ClockSelection); 70008d90: 4d17 ldr r5, [pc, #92] @ (70008df0 ) 70008d92: 6da8 ldr r0, [r5, #88] @ 0x58 70008d94: f420 60e0 bic.w r0, r0, #1792 @ 0x700 70008d98: 4301 orrs r1, r0 70008d9a: 65a9 str r1, [r5, #88] @ 0x58 70008d9c: e702 b.n 70008ba4 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_PCLK); 70008d9e: 4d14 ldr r5, [pc, #80] @ (70008df0 ) 70008da0: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008da2: f440 3080 orr.w r0, r0, #65536 @ 0x10000 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70008da6: 62e8 str r0, [r5, #44] @ 0x2c break; 70008da8: e7ef b.n 70008d8a __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70008daa: 4d11 ldr r5, [pc, #68] @ (70008df0 ) 70008dac: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008dae: f040 5000 orr.w r0, r0, #536870912 @ 0x20000000 70008db2: e7f8 b.n 70008da6 switch (PeriphClkInit->Lptim45ClockSelection) 70008db4: f421 5080 bic.w r0, r1, #4096 @ 0x1000 70008db8: f5b0 4f80 cmp.w r0, #16384 @ 0x4000 70008dbc: d003 beq.n 70008dc6 70008dbe: f5b1 5f40 cmp.w r1, #12288 @ 0x3000 70008dc2: f47f aeff bne.w 70008bc4 if (ret == HAL_OK) 70008dc6: 2b00 cmp r3, #0 70008dc8: f47f aefd bne.w 70008bc6 __HAL_RCC_LPTIM45_CONFIG(PeriphClkInit->Lptim45ClockSelection); 70008dcc: 4d08 ldr r5, [pc, #32] @ (70008df0 ) 70008dce: 6da8 ldr r0, [r5, #88] @ 0x58 70008dd0: f420 40e0 bic.w r0, r0, #28672 @ 0x7000 70008dd4: 4301 orrs r1, r0 70008dd6: 65a9 str r1, [r5, #88] @ 0x58 70008dd8: e6f5 b.n 70008bc6 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_PCLK); 70008dda: 4d05 ldr r5, [pc, #20] @ (70008df0 ) 70008ddc: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008dde: f440 3080 orr.w r0, r0, #65536 @ 0x10000 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70008de2: 62e8 str r0, [r5, #44] @ 0x2c break; 70008de4: e7ef b.n 70008dc6 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70008de6: 4d02 ldr r5, [pc, #8] @ (70008df0 ) 70008de8: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008dea: f040 5000 orr.w r0, r0, #536870912 @ 0x20000000 70008dee: e7f8 b.n 70008de2 70008df0: 58024400 .word 0x58024400 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_QCLK); 70008df4: 4da2 ldr r5, [pc, #648] @ (70009080 ) 70008df6: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008df8: f441 3100 orr.w r1, r1, #131072 @ 0x20000 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_QCLK); 70008dfc: 62e9 str r1, [r5, #44] @ 0x2c if (ret == HAL_OK) 70008dfe: b92b cbnz r3, 70008e0c __HAL_RCC_LPUART1_CONFIG(PeriphClkInit->Lpuart1ClockSelection); 70008e00: 4d9f ldr r5, [pc, #636] @ (70009080 ) 70008e02: 6da9 ldr r1, [r5, #88] @ 0x58 70008e04: f021 0107 bic.w r1, r1, #7 70008e08: 4301 orrs r1, r0 70008e0a: 65a9 str r1, [r5, #88] @ 0x58 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_LTDC) == RCC_PERIPHCLK_LTDC) 70008e0c: 03d0 lsls r0, r2, #15 70008e0e: d504 bpl.n 70008e1a __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70008e10: 489b ldr r0, [pc, #620] @ (70009080 ) 70008e12: 6ac1 ldr r1, [r0, #44] @ 0x2c 70008e14: f041 5100 orr.w r1, r1, #536870912 @ 0x20000000 70008e18: 62c1 str r1, [r0, #44] @ 0x2c if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_PSSI) == RCC_PERIPHCLK_PSSI) 70008e1a: 0391 lsls r1, r2, #14 70008e1c: d508 bpl.n 70008e30 switch (PeriphClkInit->PssiClockSelection) 70008e1e: 6ca0 ldr r0, [r4, #72] @ 0x48 70008e20: 2800 cmp r0, #0 70008e22: f000 808c beq.w 70008f3e 70008e26: f1b0 6f00 cmp.w r0, #134217728 @ 0x8000000 70008e2a: f000 808d beq.w 70008f48 70008e2e: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) 70008e30: 0317 lsls r7, r2, #12 70008e32: d50e bpl.n 70008e52 switch (PeriphClkInit->Sai1ClockSelection) 70008e34: 6ce1 ldr r1, [r4, #76] @ 0x4c 70008e36: f5b1 3f00 cmp.w r1, #131072 @ 0x20000 70008e3a: f000 80ab beq.w 70008f94 70008e3e: f200 808d bhi.w 70008f5c 70008e42: 2900 cmp r1, #0 70008e44: f000 809b beq.w 70008f7e 70008e48: f5b1 3f80 cmp.w r1, #65536 @ 0x10000 70008e4c: f000 809d beq.w 70008f8a 70008e50: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) 70008e52: 02d6 lsls r6, r2, #11 70008e54: d50e bpl.n 70008e74 switch (PeriphClkInit->Sai2ClockSelection) 70008e56: 6d21 ldr r1, [r4, #80] @ 0x50 70008e58: f5b1 1f00 cmp.w r1, #2097152 @ 0x200000 70008e5c: f000 80bd beq.w 70008fda 70008e60: f200 809d bhi.w 70008f9e 70008e64: 2900 cmp r1, #0 70008e66: f000 80ad beq.w 70008fc4 70008e6a: f5b1 1f80 cmp.w r1, #1048576 @ 0x100000 70008e6e: f000 80af beq.w 70008fd0 70008e72: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX) 70008e74: 0255 lsls r5, r2, #9 70008e76: d50e bpl.n 70008e96 switch (PeriphClkInit->SpdifrxClockSelection) 70008e78: 6ea0 ldr r0, [r4, #104] @ 0x68 70008e7a: f1b0 7f00 cmp.w r0, #33554432 @ 0x2000000 70008e7e: f000 80ca beq.w 70009016 70008e82: f200 80af bhi.w 70008fe4 70008e86: 2800 cmp r0, #0 70008e88: f000 80ba beq.w 70009000 70008e8c: f1b0 7f80 cmp.w r0, #16777216 @ 0x1000000 70008e90: f000 80bc beq.w 7000900c 70008e94: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_SPI1) == RCC_PERIPHCLK_SPI1) 70008e96: 0210 lsls r0, r2, #8 70008e98: d50e bpl.n 70008eb8 switch (PeriphClkInit->Spi1ClockSelection) 70008e9a: 6da1 ldr r1, [r4, #88] @ 0x58 70008e9c: f5b1 7f00 cmp.w r1, #512 @ 0x200 70008ea0: f000 80da beq.w 70009058 70008ea4: f200 80bc bhi.w 70009020 70008ea8: 2900 cmp r1, #0 70008eaa: f000 80ca beq.w 70009042 70008eae: f5b1 7f80 cmp.w r1, #256 @ 0x100 70008eb2: f000 80cc beq.w 7000904e 70008eb6: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_SPI23) == RCC_PERIPHCLK_SPI23) 70008eb8: 01d1 lsls r1, r2, #7 70008eba: d50c bpl.n 70008ed6 switch (PeriphClkInit->Spi23ClockSelection) 70008ebc: 6de1 ldr r1, [r4, #92] @ 0x5c 70008ebe: 2920 cmp r1, #32 70008ec0: f000 80eb beq.w 7000909a 70008ec4: f200 80cd bhi.w 70009062 70008ec8: 2900 cmp r1, #0 70008eca: f000 80db beq.w 70009084 70008ece: 2910 cmp r1, #16 70008ed0: f000 80de beq.w 70009090 70008ed4: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_SPI45) == RCC_PERIPHCLK_SPI45) 70008ed6: 0197 lsls r7, r2, #6 70008ed8: d50c bpl.n 70008ef4 switch (PeriphClkInit->Spi45ClockSelection) 70008eda: 6e21 ldr r1, [r4, #96] @ 0x60 70008edc: 2920 cmp r1, #32 70008ede: f000 80f8 beq.w 700090d2 70008ee2: f200 80df bhi.w 700090a4 70008ee6: 2900 cmp r1, #0 70008ee8: f000 80e3 beq.w 700090b2 70008eec: 2910 cmp r1, #16 70008eee: f000 80ea beq.w 700090c6 70008ef2: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_SPI6) == RCC_PERIPHCLK_SPI6) 70008ef4: 0156 lsls r6, r2, #5 70008ef6: d50c bpl.n 70008f12 switch (PeriphClkInit->Spi6ClockSelection) 70008ef8: 6e61 ldr r1, [r4, #100] @ 0x64 70008efa: 2920 cmp r1, #32 70008efc: f000 8105 beq.w 7000910a 70008f00: f200 80ec bhi.w 700090dc 70008f04: 2900 cmp r1, #0 70008f06: f000 80f0 beq.w 700090ea 70008f0a: 2910 cmp r1, #16 70008f0c: f000 80f7 beq.w 700090fe 70008f10: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1) 70008f12: 00d5 lsls r5, r2, #3 70008f14: f140 810a bpl.w 7000912c switch (PeriphClkInit->Usart1ClockSelection) 70008f18: 6ee0 ldr r0, [r4, #108] @ 0x6c 70008f1a: 2805 cmp r0, #5 70008f1c: f200 8115 bhi.w 7000914a 70008f20: e8df f010 tbh [pc, r0, lsl #1] 70008f24: 00f800fd .word 0x00f800fd 70008f28: 00fd010e .word 0x00fd010e 70008f2c: 00fd00fd .word 0x00fd00fd __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_QCLK); 70008f30: 4d53 ldr r5, [pc, #332] @ (70009080 ) 70008f32: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008f34: f041 5180 orr.w r1, r1, #268435456 @ 0x10000000 70008f38: e760 b.n 70008dfc switch (PeriphClkInit->Lpuart1ClockSelection) 70008f3a: 2301 movs r3, #1 70008f3c: e766 b.n 70008e0c __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70008f3e: 4d50 ldr r5, [pc, #320] @ (70009080 ) 70008f40: 6ae9 ldr r1, [r5, #44] @ 0x2c 70008f42: f041 5100 orr.w r1, r1, #536870912 @ 0x20000000 70008f46: 62e9 str r1, [r5, #44] @ 0x2c if (ret == HAL_OK) 70008f48: 2b00 cmp r3, #0 70008f4a: f47f af71 bne.w 70008e30 __HAL_RCC_PSSI_CONFIG(PeriphClkInit->PssiClockSelection); 70008f4e: 4d4c ldr r5, [pc, #304] @ (70009080 ) 70008f50: 6ce9 ldr r1, [r5, #76] @ 0x4c 70008f52: f021 6100 bic.w r1, r1, #134217728 @ 0x8000000 70008f56: 4301 orrs r1, r0 70008f58: 64e9 str r1, [r5, #76] @ 0x4c 70008f5a: e769 b.n 70008e30 switch (PeriphClkInit->Sai1ClockSelection) 70008f5c: f5b1 3f40 cmp.w r1, #196608 @ 0x30000 70008f60: d003 beq.n 70008f6a 70008f62: f5b1 2f80 cmp.w r1, #262144 @ 0x40000 70008f66: f47f af73 bne.w 70008e50 if (ret == HAL_OK) 70008f6a: 2b00 cmp r3, #0 70008f6c: f47f af71 bne.w 70008e52 __HAL_RCC_SAI1_CONFIG(PeriphClkInit->Sai1ClockSelection); 70008f70: 4d43 ldr r5, [pc, #268] @ (70009080 ) 70008f72: 6d68 ldr r0, [r5, #84] @ 0x54 70008f74: f420 20e0 bic.w r0, r0, #458752 @ 0x70000 70008f78: 4301 orrs r1, r0 70008f7a: 6569 str r1, [r5, #84] @ 0x54 70008f7c: e769 b.n 70008e52 __HAL_RCC_PLL1CLKOUT_ENABLE(RCC_PLL_QCLK); 70008f7e: 4d40 ldr r5, [pc, #256] @ (70009080 ) 70008f80: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008f82: f040 0040 orr.w r0, r0, #64 @ 0x40 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_PCLK); 70008f86: 62e8 str r0, [r5, #44] @ 0x2c break; 70008f88: e7ef b.n 70008f6a __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_PCLK); 70008f8a: 4d3d ldr r5, [pc, #244] @ (70009080 ) 70008f8c: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008f8e: f440 3080 orr.w r0, r0, #65536 @ 0x10000 70008f92: e7f8 b.n 70008f86 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_PCLK); 70008f94: 4d3a ldr r5, [pc, #232] @ (70009080 ) 70008f96: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008f98: f040 6000 orr.w r0, r0, #134217728 @ 0x8000000 70008f9c: e7f3 b.n 70008f86 switch (PeriphClkInit->Sai2ClockSelection) 70008f9e: f421 1080 bic.w r0, r1, #1048576 @ 0x100000 70008fa2: f5b0 0f80 cmp.w r0, #4194304 @ 0x400000 70008fa6: d003 beq.n 70008fb0 70008fa8: f5b1 1f40 cmp.w r1, #3145728 @ 0x300000 70008fac: f47f af61 bne.w 70008e72 if (ret == HAL_OK) 70008fb0: 2b00 cmp r3, #0 70008fb2: f47f af5f bne.w 70008e74 __HAL_RCC_SAI2_CONFIG(PeriphClkInit->Sai2ClockSelection); 70008fb6: 4d32 ldr r5, [pc, #200] @ (70009080 ) 70008fb8: 6d68 ldr r0, [r5, #84] @ 0x54 70008fba: f420 00e0 bic.w r0, r0, #7340032 @ 0x700000 70008fbe: 4301 orrs r1, r0 70008fc0: 6569 str r1, [r5, #84] @ 0x54 70008fc2: e757 b.n 70008e74 __HAL_RCC_PLL1CLKOUT_ENABLE(RCC_PLL_QCLK); 70008fc4: 4d2e ldr r5, [pc, #184] @ (70009080 ) 70008fc6: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008fc8: f040 0040 orr.w r0, r0, #64 @ 0x40 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_PCLK); 70008fcc: 62e8 str r0, [r5, #44] @ 0x2c break; 70008fce: e7ef b.n 70008fb0 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_PCLK); 70008fd0: 4d2b ldr r5, [pc, #172] @ (70009080 ) 70008fd2: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008fd4: f440 3080 orr.w r0, r0, #65536 @ 0x10000 70008fd8: e7f8 b.n 70008fcc __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_PCLK); 70008fda: 4d29 ldr r5, [pc, #164] @ (70009080 ) 70008fdc: 6ae8 ldr r0, [r5, #44] @ 0x2c 70008fde: f040 6000 orr.w r0, r0, #134217728 @ 0x8000000 70008fe2: e7f3 b.n 70008fcc switch (PeriphClkInit->SpdifrxClockSelection) 70008fe4: f1b0 7f40 cmp.w r0, #50331648 @ 0x3000000 70008fe8: f47f af54 bne.w 70008e94 if (ret == HAL_OK) 70008fec: 2b00 cmp r3, #0 70008fee: f47f af52 bne.w 70008e96 __HAL_RCC_SPDIFRX_CONFIG(PeriphClkInit->SpdifrxClockSelection); 70008ff2: 4d23 ldr r5, [pc, #140] @ (70009080 ) 70008ff4: 6d29 ldr r1, [r5, #80] @ 0x50 70008ff6: f021 7140 bic.w r1, r1, #50331648 @ 0x3000000 70008ffa: 4301 orrs r1, r0 70008ffc: 6529 str r1, [r5, #80] @ 0x50 70008ffe: e74a b.n 70008e96 __HAL_RCC_PLL1CLKOUT_ENABLE(RCC_PLL_QCLK); 70009000: 4d1f ldr r5, [pc, #124] @ (70009080 ) 70009002: 6ae9 ldr r1, [r5, #44] @ 0x2c 70009004: f041 0140 orr.w r1, r1, #64 @ 0x40 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70009008: 62e9 str r1, [r5, #44] @ 0x2c break; 7000900a: e7ef b.n 70008fec __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_RCLK); 7000900c: 4d1c ldr r5, [pc, #112] @ (70009080 ) 7000900e: 6ae9 ldr r1, [r5, #44] @ 0x2c 70009010: f441 2180 orr.w r1, r1, #262144 @ 0x40000 70009014: e7f8 b.n 70009008 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_RCLK); 70009016: 4d1a ldr r5, [pc, #104] @ (70009080 ) 70009018: 6ae9 ldr r1, [r5, #44] @ 0x2c 7000901a: f041 5100 orr.w r1, r1, #536870912 @ 0x20000000 7000901e: e7f3 b.n 70009008 switch (PeriphClkInit->Spi1ClockSelection) 70009020: f5b1 7f40 cmp.w r1, #768 @ 0x300 70009024: d003 beq.n 7000902e 70009026: f5b1 6f80 cmp.w r1, #1024 @ 0x400 7000902a: f47f af44 bne.w 70008eb6 if (ret == HAL_OK) 7000902e: 2b00 cmp r3, #0 70009030: f47f af42 bne.w 70008eb8 __HAL_RCC_SPI1_CONFIG(PeriphClkInit->Spi1ClockSelection); 70009034: 4d12 ldr r5, [pc, #72] @ (70009080 ) 70009036: 6d68 ldr r0, [r5, #84] @ 0x54 70009038: f420 60e0 bic.w r0, r0, #1792 @ 0x700 7000903c: 4301 orrs r1, r0 7000903e: 6569 str r1, [r5, #84] @ 0x54 70009040: e73a b.n 70008eb8 __HAL_RCC_PLL1CLKOUT_ENABLE(RCC_PLL_QCLK); 70009042: 4d0f ldr r5, [pc, #60] @ (70009080 ) 70009044: 6ae8 ldr r0, [r5, #44] @ 0x2c 70009046: f040 0040 orr.w r0, r0, #64 @ 0x40 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_PCLK); 7000904a: 62e8 str r0, [r5, #44] @ 0x2c break; 7000904c: e7ef b.n 7000902e __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_PCLK); 7000904e: 4d0c ldr r5, [pc, #48] @ (70009080 ) 70009050: 6ae8 ldr r0, [r5, #44] @ 0x2c 70009052: f440 3080 orr.w r0, r0, #65536 @ 0x10000 70009056: e7f8 b.n 7000904a __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_PCLK); 70009058: 4d09 ldr r5, [pc, #36] @ (70009080 ) 7000905a: 6ae8 ldr r0, [r5, #44] @ 0x2c 7000905c: f040 6000 orr.w r0, r0, #134217728 @ 0x8000000 70009060: e7f3 b.n 7000904a switch (PeriphClkInit->Spi23ClockSelection) 70009062: 2930 cmp r1, #48 @ 0x30 70009064: d002 beq.n 7000906c 70009066: 2940 cmp r1, #64 @ 0x40 70009068: f47f af34 bne.w 70008ed4 if (ret == HAL_OK) 7000906c: 2b00 cmp r3, #0 7000906e: f47f af32 bne.w 70008ed6 __HAL_RCC_SPI23_CONFIG(PeriphClkInit->Spi23ClockSelection); 70009072: 4d03 ldr r5, [pc, #12] @ (70009080 ) 70009074: 6d28 ldr r0, [r5, #80] @ 0x50 70009076: f020 0070 bic.w r0, r0, #112 @ 0x70 7000907a: 4301 orrs r1, r0 7000907c: 6529 str r1, [r5, #80] @ 0x50 7000907e: e72a b.n 70008ed6 70009080: 58024400 .word 0x58024400 __HAL_RCC_PLL1CLKOUT_ENABLE(RCC_PLL_QCLK); 70009084: 4d5d ldr r5, [pc, #372] @ (700091fc ) 70009086: 6ae8 ldr r0, [r5, #44] @ 0x2c 70009088: f040 0040 orr.w r0, r0, #64 @ 0x40 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_PCLK); 7000908c: 62e8 str r0, [r5, #44] @ 0x2c break; 7000908e: e7ed b.n 7000906c __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_PCLK); 70009090: 4d5a ldr r5, [pc, #360] @ (700091fc ) 70009092: 6ae8 ldr r0, [r5, #44] @ 0x2c 70009094: f440 3080 orr.w r0, r0, #65536 @ 0x10000 70009098: e7f8 b.n 7000908c __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_PCLK); 7000909a: 4d58 ldr r5, [pc, #352] @ (700091fc ) 7000909c: 6ae8 ldr r0, [r5, #44] @ 0x2c 7000909e: f040 6000 orr.w r0, r0, #134217728 @ 0x8000000 700090a2: e7f3 b.n 7000908c switch (PeriphClkInit->Spi45ClockSelection) 700090a4: f021 0010 bic.w r0, r1, #16 700090a8: 2840 cmp r0, #64 @ 0x40 700090aa: d002 beq.n 700090b2 700090ac: 2930 cmp r1, #48 @ 0x30 700090ae: f47f af20 bne.w 70008ef2 if (ret == HAL_OK) 700090b2: 2b00 cmp r3, #0 700090b4: f47f af1e bne.w 70008ef4 __HAL_RCC_SPI45_CONFIG(PeriphClkInit->Spi45ClockSelection); 700090b8: 4d50 ldr r5, [pc, #320] @ (700091fc ) 700090ba: 6d68 ldr r0, [r5, #84] @ 0x54 700090bc: f020 0070 bic.w r0, r0, #112 @ 0x70 700090c0: 4301 orrs r1, r0 700090c2: 6569 str r1, [r5, #84] @ 0x54 700090c4: e716 b.n 70008ef4 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_QCLK); 700090c6: 4d4d ldr r5, [pc, #308] @ (700091fc ) 700090c8: 6ae8 ldr r0, [r5, #44] @ 0x2c 700090ca: f440 3000 orr.w r0, r0, #131072 @ 0x20000 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_QCLK); 700090ce: 62e8 str r0, [r5, #44] @ 0x2c break; 700090d0: e7ef b.n 700090b2 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_QCLK); 700090d2: 4d4a ldr r5, [pc, #296] @ (700091fc ) 700090d4: 6ae8 ldr r0, [r5, #44] @ 0x2c 700090d6: f040 5080 orr.w r0, r0, #268435456 @ 0x10000000 700090da: e7f8 b.n 700090ce switch (PeriphClkInit->Spi6ClockSelection) 700090dc: f021 0010 bic.w r0, r1, #16 700090e0: 2840 cmp r0, #64 @ 0x40 700090e2: d002 beq.n 700090ea 700090e4: 2930 cmp r1, #48 @ 0x30 700090e6: f47f af13 bne.w 70008f10 if (ret == HAL_OK) 700090ea: 2b00 cmp r3, #0 700090ec: f47f af11 bne.w 70008f12 __HAL_RCC_SPI6_CONFIG(PeriphClkInit->Spi6ClockSelection); 700090f0: 4d42 ldr r5, [pc, #264] @ (700091fc ) 700090f2: 6da8 ldr r0, [r5, #88] @ 0x58 700090f4: f020 0070 bic.w r0, r0, #112 @ 0x70 700090f8: 4301 orrs r1, r0 700090fa: 65a9 str r1, [r5, #88] @ 0x58 700090fc: e709 b.n 70008f12 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_QCLK); 700090fe: 4d3f ldr r5, [pc, #252] @ (700091fc ) 70009100: 6ae8 ldr r0, [r5, #44] @ 0x2c 70009102: f440 3000 orr.w r0, r0, #131072 @ 0x20000 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_QCLK); 70009106: 62e8 str r0, [r5, #44] @ 0x2c break; 70009108: e7ef b.n 700090ea __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_QCLK); 7000910a: 4d3c ldr r5, [pc, #240] @ (700091fc ) 7000910c: 6ae8 ldr r0, [r5, #44] @ 0x2c 7000910e: f040 5080 orr.w r0, r0, #268435456 @ 0x10000000 70009112: e7f8 b.n 70009106 __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_QCLK); 70009114: 4d39 ldr r5, [pc, #228] @ (700091fc ) 70009116: 6ae9 ldr r1, [r5, #44] @ 0x2c 70009118: f441 3100 orr.w r1, r1, #131072 @ 0x20000 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_QCLK); 7000911c: 62e9 str r1, [r5, #44] @ 0x2c if (ret == HAL_OK) 7000911e: b92b cbnz r3, 7000912c __HAL_RCC_USART1_CONFIG(PeriphClkInit->Usart1ClockSelection); 70009120: 4d36 ldr r5, [pc, #216] @ (700091fc ) 70009122: 6d69 ldr r1, [r5, #84] @ 0x54 70009124: f021 0107 bic.w r1, r1, #7 70009128: 4301 orrs r1, r0 7000912a: 6569 str r1, [r5, #84] @ 0x54 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_USART234578) == RCC_PERIPHCLK_USART234578) 7000912c: 0090 lsls r0, r2, #2 7000912e: d51a bpl.n 70009166 switch (PeriphClkInit->Usart234578ClockSelection) 70009130: 6f20 ldr r0, [r4, #112] @ 0x70 70009132: 2805 cmp r0, #5 70009134: d83e bhi.n 700091b4 70009136: e8df f000 tbb [pc, r0] 7000913a: 0a0f .short 0x0a0f 7000913c: 0f0f0f38 .word 0x0f0f0f38 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_QCLK); 70009140: 4d2e ldr r5, [pc, #184] @ (700091fc ) 70009142: 6ae9 ldr r1, [r5, #44] @ 0x2c 70009144: f041 5180 orr.w r1, r1, #268435456 @ 0x10000000 70009148: e7e8 b.n 7000911c switch (PeriphClkInit->Usart1ClockSelection) 7000914a: 2301 movs r3, #1 7000914c: e7ee b.n 7000912c __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL_QCLK); 7000914e: 4d2b ldr r5, [pc, #172] @ (700091fc ) 70009150: 6ae9 ldr r1, [r5, #44] @ 0x2c 70009152: f441 3100 orr.w r1, r1, #131072 @ 0x20000 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_QCLK); 70009156: 62e9 str r1, [r5, #44] @ 0x2c if (ret == HAL_OK) 70009158: b92b cbnz r3, 70009166 __HAL_RCC_USART234578_CONFIG(PeriphClkInit->Usart234578ClockSelection); 7000915a: 4d28 ldr r5, [pc, #160] @ (700091fc ) 7000915c: 6d29 ldr r1, [r5, #80] @ 0x50 7000915e: f021 0107 bic.w r1, r1, #7 70009162: 4301 orrs r1, r0 70009164: 6529 str r1, [r5, #80] @ 0x50 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_USBPHYC) == RCC_PERIPHCLK_USBPHYC) 70009166: 0051 lsls r1, r2, #1 70009168: d508 bpl.n 7000917c switch (PeriphClkInit->UsbPhycClockSelection) 7000916a: 6f60 ldr r0, [r4, #116] @ 0x74 7000916c: f5b0 5f80 cmp.w r0, #4096 @ 0x1000 70009170: d027 beq.n 700091c2 70009172: f5b0 5f00 cmp.w r0, #8192 @ 0x2000 70009176: d01f beq.n 700091b8 70009178: b318 cbz r0, 700091c2 7000917a: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_USBOTGFS) == RCC_PERIPHCLK_USBOTGFS) 7000917c: 2a00 cmp r2, #0 7000917e: da06 bge.n 7000918e switch (PeriphClkInit->UsbOtgFsClockSelection) 70009180: 6fa0 ldr r0, [r4, #120] @ 0x78 70009182: f5b0 4f80 cmp.w r0, #16384 @ 0x4000 70009186: d033 beq.n 700091f0 70009188: d824 bhi.n 700091d4 7000918a: b340 cbz r0, 700091de 7000918c: 2301 movs r3, #1 if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_TIM) == RCC_PERIPHCLK_TIM) 7000918e: 0112 lsls r2, r2, #4 70009190: d507 bpl.n 700091a2 __HAL_RCC_TIMCLKPRESCALER_CONFIG(PeriphClkInit->TIMPresSelection); 70009192: 491a ldr r1, [pc, #104] @ (700091fc ) 70009194: f8d4 0080 ldr.w r0, [r4, #128] @ 0x80 70009198: 690a ldr r2, [r1, #16] 7000919a: f422 4200 bic.w r2, r2, #32768 @ 0x8000 7000919e: 4302 orrs r2, r0 700091a0: 610a str r2, [r1, #16] } 700091a2: 1e18 subs r0, r3, #0 700091a4: bf18 it ne 700091a6: 2001 movne r0, #1 700091a8: bdf8 pop {r3, r4, r5, r6, r7, pc} __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_QCLK); 700091aa: 4d14 ldr r5, [pc, #80] @ (700091fc ) 700091ac: 6ae9 ldr r1, [r5, #44] @ 0x2c 700091ae: f041 5180 orr.w r1, r1, #268435456 @ 0x10000000 700091b2: e7d0 b.n 70009156 switch (PeriphClkInit->Usart234578ClockSelection) 700091b4: 2301 movs r3, #1 700091b6: e7d6 b.n 70009166 __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_QCLK); 700091b8: 4d10 ldr r5, [pc, #64] @ (700091fc ) 700091ba: 6ae9 ldr r1, [r5, #44] @ 0x2c 700091bc: f041 5180 orr.w r1, r1, #268435456 @ 0x10000000 700091c0: 62e9 str r1, [r5, #44] @ 0x2c if (ret == HAL_OK) 700091c2: 2b00 cmp r3, #0 700091c4: d1da bne.n 7000917c __HAL_RCC_USBPHYC_CONFIG(PeriphClkInit->UsbPhycClockSelection); 700091c6: 4d0d ldr r5, [pc, #52] @ (700091fc ) 700091c8: 6ce9 ldr r1, [r5, #76] @ 0x4c 700091ca: f421 5140 bic.w r1, r1, #12288 @ 0x3000 700091ce: 4301 orrs r1, r0 700091d0: 64e9 str r1, [r5, #76] @ 0x4c 700091d2: e7d3 b.n 7000917c switch (PeriphClkInit->UsbOtgFsClockSelection) 700091d4: f420 4180 bic.w r1, r0, #16384 @ 0x4000 700091d8: f5b1 4f00 cmp.w r1, #32768 @ 0x8000 700091dc: d1d6 bne.n 7000918c if (ret == HAL_OK) 700091de: 2b00 cmp r3, #0 700091e0: d1d5 bne.n 7000918e __HAL_RCC_USBOTGFS_CONFIG(PeriphClkInit->UsbOtgFsClockSelection); 700091e2: 4d06 ldr r5, [pc, #24] @ (700091fc ) 700091e4: 6ce9 ldr r1, [r5, #76] @ 0x4c 700091e6: f421 4140 bic.w r1, r1, #49152 @ 0xc000 700091ea: 4301 orrs r1, r0 700091ec: 64e9 str r1, [r5, #76] @ 0x4c 700091ee: e7ce b.n 7000918e __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL_QCLK); 700091f0: 4d02 ldr r5, [pc, #8] @ (700091fc ) 700091f2: 6ae9 ldr r1, [r5, #44] @ 0x2c 700091f4: f041 5180 orr.w r1, r1, #268435456 @ 0x10000000 700091f8: 62e9 str r1, [r5, #44] @ 0x2c break; 700091fa: e7f0 b.n 700091de 700091fc: 58024400 .word 0x58024400 70009200 : switch (PeriphClk) 70009200: f5b0 4f00 cmp.w r0, #32768 @ 0x8000 { 70009204: b508 push {r3, lr} switch (PeriphClk) 70009206: f000 82d0 beq.w 700097aa 7000920a: d840 bhi.n 7000928e 7000920c: 2880 cmp r0, #128 @ 0x80 7000920e: f000 81a6 beq.w 7000955e 70009212: d81b bhi.n 7000924c 70009214: 2808 cmp r0, #8 70009216: d80e bhi.n 70009236 70009218: b1b8 cbz r0, 7000924a 7000921a: 3801 subs r0, #1 7000921c: 2807 cmp r0, #7 7000921e: f200 850c bhi.w 70009c3a 70009222: e8df f010 tbh [pc, r0, lsl #1] 70009226: 007b .short 0x007b 70009228: 050a00b6 .word 0x050a00b6 7000922c: 050a00da .word 0x050a00da 70009230: 050a050a .word 0x050a050a 70009234: 00ed .short 0x00ed 70009236: 2820 cmp r0, #32 70009238: f000 812f beq.w 7000949a 7000923c: 2840 cmp r0, #64 @ 0x40 7000923e: f000 816d beq.w 7000951c 70009242: 2810 cmp r0, #16 70009244: f000 8107 beq.w 70009456 70009248: 2000 movs r0, #0 } 7000924a: bd08 pop {r3, pc} switch (PeriphClk) 7000924c: f5b0 6f00 cmp.w r0, #2048 @ 0x800 70009250: f000 8203 beq.w 7000965a 70009254: d80d bhi.n 70009272 70009256: f5b0 7f00 cmp.w r0, #512 @ 0x200 7000925a: f000 81b9 beq.w 700095d0 7000925e: f5b0 6f80 cmp.w r0, #1024 @ 0x400 70009262: f000 81d0 beq.w 70009606 70009266: f5b0 7f80 cmp.w r0, #256 @ 0x100 7000926a: f000 819e beq.w 700095aa 7000926e: 2000 movs r0, #0 70009270: e7eb b.n 7000924a 70009272: f5b0 5f00 cmp.w r0, #8192 @ 0x2000 70009276: f000 8243 beq.w 70009700 7000927a: f5b0 4f80 cmp.w r0, #16384 @ 0x4000 7000927e: f000 826b beq.w 70009758 70009282: f5b0 5f80 cmp.w r0, #4096 @ 0x1000 70009286: f000 820c beq.w 700096a2 7000928a: 2000 movs r0, #0 7000928c: e7dd b.n 7000924a 7000928e: f5b0 0f00 cmp.w r0, #8388608 @ 0x800000 70009292: f000 837c beq.w 7000998e 70009296: d820 bhi.n 700092da 70009298: f5b0 2f00 cmp.w r0, #524288 @ 0x80000 7000929c: f000 831a beq.w 700098d4 700092a0: d80d bhi.n 700092be 700092a2: f5b0 3f00 cmp.w r0, #131072 @ 0x20000 700092a6: f000 82cc beq.w 70009842 700092aa: f5b0 2f80 cmp.w r0, #262144 @ 0x40000 700092ae: f000 82d7 beq.w 70009860 700092b2: f5b0 3f80 cmp.w r0, #65536 @ 0x10000 700092b6: f000 82bd beq.w 70009834 700092ba: 2000 movs r0, #0 700092bc: e7c5 b.n 7000924a 700092be: f5b0 1f00 cmp.w r0, #2097152 @ 0x200000 700092c2: f000 8333 beq.w 7000992c 700092c6: f5b0 0f80 cmp.w r0, #4194304 @ 0x400000 700092ca: f000 8336 beq.w 7000993a 700092ce: f5b0 1f80 cmp.w r0, #1048576 @ 0x100000 700092d2: f000 8316 beq.w 70009902 700092d6: 2000 movs r0, #0 700092d8: e7b7 b.n 7000924a 700092da: f1b0 5f80 cmp.w r0, #268435456 @ 0x10000000 700092de: f000 83f3 beq.w 70009ac8 700092e2: d80d bhi.n 70009300 700092e4: f1b0 7f00 cmp.w r0, #33554432 @ 0x2000000 700092e8: f000 8379 beq.w 700099de 700092ec: f1b0 6f80 cmp.w r0, #67108864 @ 0x4000000 700092f0: f000 83b0 beq.w 70009a54 700092f4: f1b0 7f80 cmp.w r0, #16777216 @ 0x1000000 700092f8: f000 8360 beq.w 700099bc 700092fc: 2000 movs r0, #0 700092fe: e7a4 b.n 7000924a 70009300: f1b0 4f80 cmp.w r0, #1073741824 @ 0x40000000 70009304: f000 8453 beq.w 70009bae 70009308: f1b0 4f00 cmp.w r0, #2147483648 @ 0x80000000 7000930c: f000 8472 beq.w 70009bf4 70009310: f1b0 5f00 cmp.w r0, #536870912 @ 0x20000000 70009314: f000 8415 beq.w 70009b42 70009318: 2000 movs r0, #0 7000931a: e796 b.n 7000924a clocksource = __HAL_RCC_GET_FMC_SOURCE(); 7000931c: 4ba8 ldr r3, [pc, #672] @ (700095c0 ) 7000931e: f8d3 2100 ldr.w r2, [r3, #256] @ 0x100 70009322: f402 42e0 and.w r2, r2, #28672 @ 0x7000 70009326: f5b2 4fa0 cmp.w r2, #20480 @ 0x5000 7000932a: d02e beq.n 7000938a 7000932c: 6cda ldr r2, [r3, #76] @ 0x4c 7000932e: f002 0203 and.w r2, r2, #3 switch (clocksource) 70009332: 2a02 cmp r2, #2 70009334: d010 beq.n 70009358 70009336: 2a03 cmp r2, #3 70009338: d017 beq.n 7000936a 7000933a: 2a01 cmp r2, #1 7000933c: d003 beq.n 70009346 } 7000933e: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetHCLKFreq(); 70009342: f7ff b9c9 b.w 700086d8 if (__HAL_RCC_GET_PLL1CLKOUT_CONFIG(RCC_PLL_QCLK) != 0U) 70009346: 6ad8 ldr r0, [r3, #44] @ 0x2c 70009348: f010 0040 ands.w r0, r0, #64 @ 0x40 7000934c: f43f af7d beq.w 7000924a } 70009350: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPLL1QFreq(); 70009354: f7ff ba04 b.w 70008760 if (__HAL_RCC_GET_PLL2CLKOUT_CONFIG(RCC_PLL_RCLK) != 0U) 70009358: 6ad8 ldr r0, [r3, #44] @ 0x2c 7000935a: f410 2080 ands.w r0, r0, #262144 @ 0x40000 7000935e: f43f af74 beq.w 7000924a } 70009362: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPLL2RFreq(); 70009366: f7ff ba25 b.w 700087b4 if (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 7000936a: 6818 ldr r0, [r3, #0] 7000936c: f010 0004 ands.w r0, r0, #4 70009370: f43f af6b beq.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 70009374: 6818 ldr r0, [r3, #0] 70009376: f010 0020 ands.w r0, r0, #32 7000937a: f43f af66 beq.w 7000924a frequency = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 7000937e: 681b ldr r3, [r3, #0] 70009380: 4890 ldr r0, [pc, #576] @ (700095c4 ) 70009382: f3c3 03c1 ubfx r3, r3, #3, #2 70009386: 40d8 lsrs r0, r3 70009388: e75f b.n 7000924a frequency = (HAL_RCC_GetHCLKFreq() / 4U); 7000938a: f7ff f9a5 bl 700086d8 7000938e: 0880 lsrs r0, r0, #2 break; 70009390: e75b b.n 7000924a clocksource = __HAL_RCC_GET_XSPI1_SOURCE(); 70009392: 4a8b ldr r2, [pc, #556] @ (700095c0 ) 70009394: f8d2 3100 ldr.w r3, [r2, #256] @ 0x100 70009398: f003 0370 and.w r3, r3, #112 @ 0x70 7000939c: 2b40 cmp r3, #64 @ 0x40 7000939e: d0f4 beq.n 7000938a 700093a0: 6cd3 ldr r3, [r2, #76] @ 0x4c 700093a2: f003 0330 and.w r3, r3, #48 @ 0x30 switch (clocksource) 700093a6: 2b10 cmp r3, #16 700093a8: d005 beq.n 700093b6 700093aa: 2b20 cmp r3, #32 700093ac: d00c beq.n 700093c8 700093ae: 2b00 cmp r3, #0 700093b0: d0c5 beq.n 7000933e 700093b2: 2000 movs r0, #0 700093b4: e749 b.n 7000924a if (__HAL_RCC_GET_PLL2CLKOUT_CONFIG(RCC_PLL_SCLK) != 0U) 700093b6: 6ad0 ldr r0, [r2, #44] @ 0x2c 700093b8: f410 2000 ands.w r0, r0, #524288 @ 0x80000 700093bc: f43f af45 beq.w 7000924a } 700093c0: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPLL2SFreq(); 700093c4: f7ff ba04 b.w 700087d0 if (__HAL_RCC_GET_PLL2CLKOUT_CONFIG(RCC_PLL_TCLK) != 0U) 700093c8: 6ad0 ldr r0, [r2, #44] @ 0x2c 700093ca: f410 1080 ands.w r0, r0, #1048576 @ 0x100000 700093ce: f43f af3c beq.w 7000924a } 700093d2: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPLL2TFreq(); 700093d6: f7ff ba09 b.w 700087ec clocksource = __HAL_RCC_GET_XSPI2_SOURCE(); 700093da: 4a79 ldr r2, [pc, #484] @ (700095c0 ) 700093dc: f8d2 3100 ldr.w r3, [r2, #256] @ 0x100 700093e0: f403 63e0 and.w r3, r3, #1792 @ 0x700 700093e4: f5b3 6f80 cmp.w r3, #1024 @ 0x400 700093e8: d0cf beq.n 7000938a 700093ea: 6cd3 ldr r3, [r2, #76] @ 0x4c 700093ec: f003 03c0 and.w r3, r3, #192 @ 0xc0 switch (clocksource) 700093f0: 2b40 cmp r3, #64 @ 0x40 700093f2: d0e0 beq.n 700093b6 700093f4: 2b80 cmp r3, #128 @ 0x80 700093f6: d0e7 beq.n 700093c8 700093f8: 2b00 cmp r3, #0 700093fa: d0a0 beq.n 7000933e 700093fc: 2000 movs r0, #0 700093fe: e724 b.n 7000924a clocksource = __HAL_RCC_GET_CLKP_SOURCE(); 70009400: 4b6f ldr r3, [pc, #444] @ (700095c0 ) 70009402: 6cda ldr r2, [r3, #76] @ 0x4c 70009404: f002 5240 and.w r2, r2, #805306368 @ 0x30000000 switch (clocksource) 70009408: f1b2 5f80 cmp.w r2, #268435456 @ 0x10000000 7000940c: d015 beq.n 7000943a 7000940e: f1b2 5f00 cmp.w r2, #536870912 @ 0x20000000 70009412: d019 beq.n 70009448 70009414: 2a00 cmp r2, #0 70009416: f040 8413 bne.w 70009c40 if (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 7000941a: 6818 ldr r0, [r3, #0] 7000941c: f010 0004 ands.w r0, r0, #4 70009420: f43f af13 beq.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 70009424: 6818 ldr r0, [r3, #0] 70009426: f010 0020 ands.w r0, r0, #32 7000942a: f43f af0e beq.w 7000924a frequency = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 7000942e: 681b ldr r3, [r3, #0] 70009430: 4864 ldr r0, [pc, #400] @ (700095c4 ) 70009432: f3c3 03c1 ubfx r3, r3, #3, #2 70009436: 40d8 lsrs r0, r3 70009438: e707 b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_CSIRDY) != 0U) 7000943a: 681b ldr r3, [r3, #0] 7000943c: 4862 ldr r0, [pc, #392] @ (700095c8 ) 7000943e: f413 7f80 tst.w r3, #256 @ 0x100 70009442: bf08 it eq 70009444: 2000 moveq r0, #0 70009446: e700 b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 70009448: 681b ldr r3, [r3, #0] 7000944a: 4860 ldr r0, [pc, #384] @ (700095cc ) 7000944c: f413 3f00 tst.w r3, #131072 @ 0x20000 70009450: bf08 it eq 70009452: 2000 moveq r0, #0 70009454: e6f9 b.n 7000924a clocksource = __HAL_RCC_GET_ADC_SOURCE(); 70009456: 4b5a ldr r3, [pc, #360] @ (700095c0 ) 70009458: 6cd8 ldr r0, [r3, #76] @ 0x4c 7000945a: f000 7040 and.w r0, r0, #50331648 @ 0x3000000 switch (clocksource) 7000945e: f1b0 7f80 cmp.w r0, #16777216 @ 0x1000000 70009462: d00e beq.n 70009482 70009464: f1b0 7f00 cmp.w r0, #33554432 @ 0x2000000 70009468: d013 beq.n 70009492 7000946a: 2800 cmp r0, #0 7000946c: f040 83eb bne.w 70009c46 if (__HAL_RCC_GET_PLL2CLKOUT_CONFIG(RCC_PLL_PCLK) != 0U) 70009470: 6adb ldr r3, [r3, #44] @ 0x2c 70009472: f413 3f80 tst.w r3, #65536 @ 0x10000 70009476: f43f aee8 beq.w 7000924a } 7000947a: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPLL2PFreq(); 7000947e: f7ff b97d b.w 7000877c if (__HAL_RCC_GET_PLL3CLKOUT_CONFIG(RCC_PLL_RCLK) != 0U) 70009482: 6adb ldr r3, [r3, #44] @ 0x2c 70009484: 0098 lsls r0, r3, #2 70009486: f140 83e1 bpl.w 70009c4c } 7000948a: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPLL3RFreq(); 7000948e: f7ff b9d7 b.w 70008840 } 70009492: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = RCC_GetCLKPFreq(); 70009496: f7ff ba19 b.w 700088cc clocksource = __HAL_RCC_GET_ADF1_SOURCE(); 7000949a: 4a49 ldr r2, [pc, #292] @ (700095c0 ) 7000949c: 6cd3 ldr r3, [r2, #76] @ 0x4c 7000949e: f403 03e0 and.w r3, r3, #7340032 @ 0x700000 switch (clocksource) 700094a2: f5b3 1f40 cmp.w r3, #3145728 @ 0x300000 700094a6: f000 83d4 beq.w 70009c52 700094aa: d80a bhi.n 700094c2 700094ac: f5b3 1f80 cmp.w r3, #1048576 @ 0x100000 700094b0: d00f beq.n 700094d2 700094b2: f5b3 1f00 cmp.w r3, #2097152 @ 0x200000 700094b6: d011 beq.n 700094dc 700094b8: 2b00 cmp r3, #0 700094ba: f43f af40 beq.w 7000933e 700094be: 2000 movs r0, #0 700094c0: e6c3 b.n 7000924a 700094c2: f5b3 0f80 cmp.w r3, #4194304 @ 0x400000 700094c6: d012 beq.n 700094ee 700094c8: f5b3 0fa0 cmp.w r3, #5242880 @ 0x500000 700094cc: d016 beq.n 700094fc 700094ce: 2000 movs r0, #0 700094d0: e6bb b.n 7000924a if (__HAL_RCC_GET_PLL2CLKOUT_CONFIG(RCC_PLL_PCLK) != 0U) 700094d2: 6ad3 ldr r3, [r2, #44] @ 0x2c 700094d4: 03d9 lsls r1, r3, #15 700094d6: d4d0 bmi.n 7000947a 700094d8: 2000 movs r0, #0 700094da: e6b6 b.n 7000924a if (__HAL_RCC_GET_PLL3CLKOUT_CONFIG(RCC_PLL_PCLK) != 0U) 700094dc: 6ad0 ldr r0, [r2, #44] @ 0x2c 700094de: f010 6000 ands.w r0, r0, #134217728 @ 0x8000000 700094e2: f43f aeb2 beq.w 7000924a } 700094e6: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPLL3PFreq(); 700094ea: f7ff b98d b.w 70008808 if (READ_BIT(RCC->CR, RCC_CR_CSIRDY) != 0U) 700094ee: 6813 ldr r3, [r2, #0] 700094f0: 4835 ldr r0, [pc, #212] @ (700095c8 ) 700094f2: f413 7f80 tst.w r3, #256 @ 0x100 700094f6: bf08 it eq 700094f8: 2000 moveq r0, #0 700094fa: e6a6 b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 700094fc: 6810 ldr r0, [r2, #0] 700094fe: f010 0004 ands.w r0, r0, #4 70009502: f43f aea2 beq.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 70009506: 6810 ldr r0, [r2, #0] 70009508: f010 0020 ands.w r0, r0, #32 7000950c: f43f ae9d beq.w 7000924a frequency = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 70009510: 6813 ldr r3, [r2, #0] 70009512: 482c ldr r0, [pc, #176] @ (700095c4 ) 70009514: f3c3 03c1 ubfx r3, r3, #3, #2 70009518: 40d8 lsrs r0, r3 7000951a: e696 b.n 7000924a clocksource = __HAL_RCC_GET_CEC_SOURCE(); 7000951c: 4a28 ldr r2, [pc, #160] @ (700095c0 ) 7000951e: 6d13 ldr r3, [r2, #80] @ 0x50 70009520: f003 5340 and.w r3, r3, #805306368 @ 0x30000000 switch (clocksource) 70009524: f1b3 5f80 cmp.w r3, #268435456 @ 0x10000000 70009528: d00a beq.n 70009540 7000952a: f1b3 5f00 cmp.w r3, #536870912 @ 0x20000000 7000952e: d00f beq.n 70009550 70009530: 2b00 cmp r3, #0 70009532: f040 8392 bne.w 70009c5a if (READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) != 0U) 70009536: 6f10 ldr r0, [r2, #112] @ 0x70 70009538: f3c0 0040 ubfx r0, r0, #1, #1 7000953c: 03c0 lsls r0, r0, #15 7000953e: e684 b.n 7000924a if (READ_BIT(RCC->CSR, RCC_CSR_LSIRDY) != 0U) 70009540: 6f53 ldr r3, [r2, #116] @ 0x74 70009542: f013 0f02 tst.w r3, #2 70009546: bf14 ite ne 70009548: f44f 40fa movne.w r0, #32000 @ 0x7d00 7000954c: 2000 moveq r0, #0 7000954e: e67c b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_CSIRDY) != 0U) 70009550: 6813 ldr r3, [r2, #0] 70009552: 481d ldr r0, [pc, #116] @ (700095c8 ) 70009554: f413 7f80 tst.w r3, #256 @ 0x100 70009558: bf08 it eq 7000955a: 2000 moveq r0, #0 7000955c: e675 b.n 7000924a clocksource = __HAL_RCC_GET_ETH1REF_SOURCE(); 7000955e: 4b18 ldr r3, [pc, #96] @ (700095c0 ) 70009560: 6cda ldr r2, [r3, #76] @ 0x4c 70009562: f402 3240 and.w r2, r2, #196608 @ 0x30000 switch (clocksource) 70009566: f5b2 3f80 cmp.w r2, #65536 @ 0x10000 7000956a: d004 beq.n 70009576 7000956c: f5b2 3f00 cmp.w r2, #131072 @ 0x20000 70009570: d008 beq.n 70009584 70009572: 2000 movs r0, #0 70009574: e669 b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 70009576: 681b ldr r3, [r3, #0] 70009578: 4814 ldr r0, [pc, #80] @ (700095cc ) 7000957a: f413 3f00 tst.w r3, #131072 @ 0x20000 7000957e: bf08 it eq 70009580: 2000 moveq r0, #0 70009582: e662 b.n 7000924a ethclocksource = __HAL_RCC_GET_ETH1PHY_SOURCE(); 70009584: 6cda ldr r2, [r3, #76] @ 0x4c switch (ethclocksource) 70009586: 0352 lsls r2, r2, #13 70009588: d406 bmi.n 70009598 if (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 7000958a: 681b ldr r3, [r3, #0] 7000958c: 480f ldr r0, [pc, #60] @ (700095cc ) 7000958e: f413 3f00 tst.w r3, #131072 @ 0x20000 70009592: bf08 it eq 70009594: 2000 moveq r0, #0 70009596: e658 b.n 7000924a if (__HAL_RCC_GET_PLL3CLKOUT_CONFIG(RCC_PLL_SCLK) != 0U) 70009598: 6ad8 ldr r0, [r3, #44] @ 0x2c 7000959a: f010 4080 ands.w r0, r0, #1073741824 @ 0x40000000 7000959e: f43f ae54 beq.w 7000924a } 700095a2: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPLL3SFreq(); 700095a6: f7ff b959 b.w 7000885c clocksource = __HAL_RCC_GET_ETH1PHY_SOURCE(); 700095aa: 4b05 ldr r3, [pc, #20] @ (700095c0 ) 700095ac: 6cda ldr r2, [r3, #76] @ 0x4c switch (clocksource) 700095ae: 0350 lsls r0, r2, #13 700095b0: d4f2 bmi.n 70009598 if (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 700095b2: 681b ldr r3, [r3, #0] 700095b4: 4805 ldr r0, [pc, #20] @ (700095cc ) 700095b6: f413 3f00 tst.w r3, #131072 @ 0x20000 700095ba: bf08 it eq 700095bc: 2000 moveq r0, #0 700095be: e644 b.n 7000924a 700095c0: 58024400 .word 0x58024400 700095c4: 03d09000 .word 0x03d09000 700095c8: 003d0900 .word 0x003d0900 700095cc: 016e3600 .word 0x016e3600 clocksource = __HAL_RCC_GET_FDCAN_SOURCE(); 700095d0: 4a9f ldr r2, [pc, #636] @ (70009850 ) 700095d2: 6d13 ldr r3, [r2, #80] @ 0x50 700095d4: f403 0340 and.w r3, r3, #12582912 @ 0xc00000 switch (clocksource) 700095d8: f5b3 0f80 cmp.w r3, #4194304 @ 0x400000 700095dc: f000 8185 beq.w 700098ea 700095e0: f5b3 0f00 cmp.w r3, #8388608 @ 0x800000 700095e4: d009 beq.n 700095fa 700095e6: 2b00 cmp r3, #0 700095e8: f040 833a bne.w 70009c60 if (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 700095ec: 6813 ldr r3, [r2, #0] 700095ee: 4899 ldr r0, [pc, #612] @ (70009854 ) 700095f0: f413 3f00 tst.w r3, #131072 @ 0x20000 700095f4: bf08 it eq 700095f6: 2000 moveq r0, #0 700095f8: e627 b.n 7000924a if (__HAL_RCC_GET_PLL2CLKOUT_CONFIG(RCC_PLL_PCLK) != 0U) 700095fa: 6ad3 ldr r3, [r2, #44] @ 0x2c 700095fc: 03d9 lsls r1, r3, #15 700095fe: f53f af3c bmi.w 7000947a 70009602: 2000 movs r0, #0 70009604: e621 b.n 7000924a clocksource = __HAL_RCC_GET_I2C23_SOURCE(); 70009606: 4b92 ldr r3, [pc, #584] @ (70009850 ) 70009608: 6d1a ldr r2, [r3, #80] @ 0x50 7000960a: f402 7240 and.w r2, r2, #768 @ 0x300 switch (clocksource) 7000960e: f5b2 7f00 cmp.w r2, #512 @ 0x200 70009612: d00c beq.n 7000962e 70009614: d806 bhi.n 70009624 switch (clocksource) 70009616: 2a00 cmp r2, #0 70009618: f040 8118 bne.w 7000984c } 7000961c: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPCLK1Freq(); 70009620: f7ff b874 b.w 7000870c switch (clocksource) 70009624: f5b2 7f40 cmp.w r2, #768 @ 0x300 70009628: d010 beq.n 7000964c 7000962a: 2000 movs r0, #0 7000962c: e60d b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 7000962e: 681a ldr r2, [r3, #0] 70009630: 0752 lsls r2, r2, #29 70009632: f140 8318 bpl.w 70009c66 if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 70009636: 6818 ldr r0, [r3, #0] 70009638: f010 0020 ands.w r0, r0, #32 7000963c: f43f ae05 beq.w 7000924a frequency = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 70009640: 681b ldr r3, [r3, #0] 70009642: 4885 ldr r0, [pc, #532] @ (70009858 ) 70009644: f3c3 03c1 ubfx r3, r3, #3, #2 70009648: 40d8 lsrs r0, r3 7000964a: e5fe b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_CSIRDY) != 0U) 7000964c: 681b ldr r3, [r3, #0] 7000964e: 4883 ldr r0, [pc, #524] @ (7000985c ) 70009650: f413 7f80 tst.w r3, #256 @ 0x100 70009654: bf08 it eq 70009656: 2000 moveq r0, #0 70009658: e5f7 b.n 7000924a clocksource = __HAL_RCC_GET_I2C1_I3C1_SOURCE(); 7000965a: 4b7d ldr r3, [pc, #500] @ (70009850 ) 7000965c: 6d1a ldr r2, [r3, #80] @ 0x50 7000965e: f402 5240 and.w r2, r2, #12288 @ 0x3000 switch (clocksource) 70009662: f5b2 5f00 cmp.w r2, #8192 @ 0x2000 70009666: d005 beq.n 70009674 70009668: d9d5 bls.n 70009616 7000966a: f5b2 5f40 cmp.w r2, #12288 @ 0x3000 7000966e: d011 beq.n 70009694 70009670: 2000 movs r0, #0 70009672: e5ea b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 70009674: 6818 ldr r0, [r3, #0] 70009676: f010 0004 ands.w r0, r0, #4 7000967a: f43f ade6 beq.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 7000967e: 6818 ldr r0, [r3, #0] 70009680: f010 0020 ands.w r0, r0, #32 70009684: f43f ade1 beq.w 7000924a frequency = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 70009688: 681b ldr r3, [r3, #0] 7000968a: 4873 ldr r0, [pc, #460] @ (70009858 ) 7000968c: f3c3 03c1 ubfx r3, r3, #3, #2 70009690: 40d8 lsrs r0, r3 70009692: e5da b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_CSIRDY) != 0U) 70009694: 681b ldr r3, [r3, #0] 70009696: 4871 ldr r0, [pc, #452] @ (7000985c ) 70009698: f413 7f80 tst.w r3, #256 @ 0x100 7000969c: bf08 it eq 7000969e: 2000 moveq r0, #0 700096a0: e5d3 b.n 7000924a clocksource = __HAL_RCC_GET_LPTIM1_SOURCE(); 700096a2: 4a6b ldr r2, [pc, #428] @ (70009850 ) 700096a4: 6d13 ldr r3, [r2, #80] @ 0x50 700096a6: f403 23e0 and.w r3, r3, #458752 @ 0x70000 switch (clocksource) 700096aa: f5b3 3f40 cmp.w r3, #196608 @ 0x30000 700096ae: d01a beq.n 700096e6 700096b0: d80a bhi.n 700096c8 700096b2: f5b3 3f80 cmp.w r3, #65536 @ 0x10000 700096b6: f000 817d beq.w 700099b4 700096ba: f5b3 3f00 cmp.w r3, #131072 @ 0x20000 700096be: d00c beq.n 700096da 700096c0: 2b00 cmp r3, #0 700096c2: d0ab beq.n 7000961c 700096c4: 2000 movs r0, #0 700096c6: e5c0 b.n 7000924a 700096c8: f5b3 2f80 cmp.w r3, #262144 @ 0x40000 700096cc: d010 beq.n 700096f0 700096ce: f5b3 2fa0 cmp.w r3, #327680 @ 0x50000 700096d2: f43f aede beq.w 70009492 700096d6: 2000 movs r0, #0 700096d8: e5b7 b.n 7000924a if (__HAL_RCC_GET_PLL3CLKOUT_CONFIG(RCC_PLL_RCLK) != 0U) 700096da: 6ad0 ldr r0, [r2, #44] @ 0x2c 700096dc: f010 5000 ands.w r0, r0, #536870912 @ 0x20000000 700096e0: f43f adb3 beq.w 7000924a 700096e4: e6d1 b.n 7000948a if (READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) != 0U) 700096e6: 6f10 ldr r0, [r2, #112] @ 0x70 700096e8: f3c0 0040 ubfx r0, r0, #1, #1 700096ec: 03c0 lsls r0, r0, #15 700096ee: e5ac b.n 7000924a if (READ_BIT(RCC->CSR, RCC_CSR_LSIRDY) != 0U) 700096f0: 6f53 ldr r3, [r2, #116] @ 0x74 700096f2: f013 0f02 tst.w r3, #2 700096f6: bf14 ite ne 700096f8: f44f 40fa movne.w r0, #32000 @ 0x7d00 700096fc: 2000 moveq r0, #0 700096fe: e5a4 b.n 7000924a clocksource = __HAL_RCC_GET_LPTIM23_SOURCE(); 70009700: 4a53 ldr r2, [pc, #332] @ (70009850 ) 70009702: 6d93 ldr r3, [r2, #88] @ 0x58 70009704: f403 63e0 and.w r3, r3, #1792 @ 0x700 switch (clocksource) 70009708: f5b3 7f40 cmp.w r3, #768 @ 0x300 7000970c: d017 beq.n 7000973e 7000970e: d809 bhi.n 70009724 70009710: f5b3 7f80 cmp.w r3, #256 @ 0x100 70009714: f000 814e beq.w 700099b4 70009718: f5b3 7f00 cmp.w r3, #512 @ 0x200 7000971c: d0dd beq.n 700096da 7000971e: b153 cbz r3, 70009736 70009720: 2000 movs r0, #0 70009722: e592 b.n 7000924a 70009724: f5b3 6f80 cmp.w r3, #1024 @ 0x400 70009728: d00e beq.n 70009748 7000972a: f5b3 6fa0 cmp.w r3, #1280 @ 0x500 7000972e: f43f aeb0 beq.w 70009492 70009732: 2000 movs r0, #0 70009734: e589 b.n 7000924a } 70009736: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPCLK4Freq(); 7000973a: f7ff b803 b.w 70008744 if (READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) != 0U) 7000973e: 6f10 ldr r0, [r2, #112] @ 0x70 70009740: f3c0 0040 ubfx r0, r0, #1, #1 70009744: 03c0 lsls r0, r0, #15 70009746: e580 b.n 7000924a if (READ_BIT(RCC->CSR, RCC_CSR_LSIRDY) != 0U) 70009748: 6f53 ldr r3, [r2, #116] @ 0x74 7000974a: f013 0f02 tst.w r3, #2 7000974e: bf14 ite ne 70009750: f44f 40fa movne.w r0, #32000 @ 0x7d00 70009754: 2000 moveq r0, #0 70009756: e578 b.n 7000924a clocksource = __HAL_RCC_GET_LPTIM45_SOURCE(); 70009758: 4a3d ldr r2, [pc, #244] @ (70009850 ) 7000975a: 6d93 ldr r3, [r2, #88] @ 0x58 7000975c: f403 43e0 and.w r3, r3, #28672 @ 0x7000 switch (clocksource) 70009760: f5b3 5f40 cmp.w r3, #12288 @ 0x3000 70009764: d014 beq.n 70009790 70009766: d80a bhi.n 7000977e 70009768: f5b3 5f80 cmp.w r3, #4096 @ 0x1000 7000976c: f000 8122 beq.w 700099b4 70009770: f5b3 5f00 cmp.w r3, #8192 @ 0x2000 70009774: d0b1 beq.n 700096da 70009776: 2b00 cmp r3, #0 70009778: d0dd beq.n 70009736 7000977a: 2000 movs r0, #0 7000977c: e565 b.n 7000924a 7000977e: f5b3 4f80 cmp.w r3, #16384 @ 0x4000 70009782: d00a beq.n 7000979a 70009784: f5b3 4fa0 cmp.w r3, #20480 @ 0x5000 70009788: f43f ae83 beq.w 70009492 7000978c: 2000 movs r0, #0 7000978e: e55c b.n 7000924a if (READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) != 0U) 70009790: 6f10 ldr r0, [r2, #112] @ 0x70 70009792: f3c0 0040 ubfx r0, r0, #1, #1 70009796: 03c0 lsls r0, r0, #15 70009798: e557 b.n 7000924a if (READ_BIT(RCC->CSR, RCC_CSR_LSIRDY) != 0U) 7000979a: 6f53 ldr r3, [r2, #116] @ 0x74 7000979c: f013 0f02 tst.w r3, #2 700097a0: bf14 ite ne 700097a2: f44f 40fa movne.w r0, #32000 @ 0x7d00 700097a6: 2000 moveq r0, #0 700097a8: e54f b.n 7000924a clocksource = __HAL_RCC_GET_LPUART1_SOURCE(); 700097aa: 4b29 ldr r3, [pc, #164] @ (70009850 ) 700097ac: 6d9a ldr r2, [r3, #88] @ 0x58 700097ae: f002 0207 and.w r2, r2, #7 switch (clocksource) 700097b2: 2a05 cmp r2, #5 700097b4: f200 825a bhi.w 70009c6c 700097b8: a101 add r1, pc, #4 @ (adr r1, 700097c0 ) 700097ba: f851 f022 ldr.w pc, [r1, r2, lsl #2] 700097be: bf00 nop 700097c0: 70009737 .word 0x70009737 700097c4: 700097d9 .word 0x700097d9 700097c8: 700097eb .word 0x700097eb 700097cc: 700097fd .word 0x700097fd 700097d0: 7000981d .word 0x7000981d 700097d4: 7000982b .word 0x7000982b if (__HAL_RCC_GET_PLL2CLKOUT_CONFIG(RCC_PLL_QCLK) != 0U) 700097d8: 6ad8 ldr r0, [r3, #44] @ 0x2c 700097da: f410 3000 ands.w r0, r0, #131072 @ 0x20000 700097de: f43f ad34 beq.w 7000924a } 700097e2: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPLL2QFreq(); 700097e6: f7fe bfd7 b.w 70008798 if (__HAL_RCC_GET_PLL3CLKOUT_CONFIG(RCC_PLL_QCLK) != 0U) 700097ea: 6ad8 ldr r0, [r3, #44] @ 0x2c 700097ec: f010 5080 ands.w r0, r0, #268435456 @ 0x10000000 700097f0: f43f ad2b beq.w 7000924a } 700097f4: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPLL3QFreq(); 700097f8: f7ff b814 b.w 70008824 if (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 700097fc: 6818 ldr r0, [r3, #0] 700097fe: f010 0004 ands.w r0, r0, #4 70009802: f43f ad22 beq.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 70009806: 6818 ldr r0, [r3, #0] 70009808: f010 0020 ands.w r0, r0, #32 7000980c: f43f ad1d beq.w 7000924a frequency = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 70009810: 681b ldr r3, [r3, #0] 70009812: 4811 ldr r0, [pc, #68] @ (70009858 ) 70009814: f3c3 03c1 ubfx r3, r3, #3, #2 70009818: 40d8 lsrs r0, r3 7000981a: e516 b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_CSIRDY) != 0U) 7000981c: 681b ldr r3, [r3, #0] 7000981e: 480f ldr r0, [pc, #60] @ (7000985c ) 70009820: f413 7f80 tst.w r3, #256 @ 0x100 70009824: bf08 it eq 70009826: 2000 moveq r0, #0 70009828: e50f b.n 7000924a if (READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) != 0U) 7000982a: 6f18 ldr r0, [r3, #112] @ 0x70 7000982c: f3c0 0040 ubfx r0, r0, #1, #1 70009830: 03c0 lsls r0, r0, #15 70009832: e50a b.n 7000924a if (__HAL_RCC_GET_PLL3CLKOUT_CONFIG(RCC_PLL_RCLK) != 0U) 70009834: 4b06 ldr r3, [pc, #24] @ (70009850 ) 70009836: 6adb ldr r3, [r3, #44] @ 0x2c 70009838: 0098 lsls r0, r3, #2 7000983a: f53f ae26 bmi.w 7000948a 7000983e: 2000 movs r0, #0 70009840: e503 b.n 7000924a clocksource = __HAL_RCC_GET_PSSI_SOURCE(); 70009842: 4b03 ldr r3, [pc, #12] @ (70009850 ) 70009844: 6cda ldr r2, [r3, #76] @ 0x4c switch (clocksource) 70009846: 0111 lsls r1, r2, #4 70009848: f53f ae23 bmi.w 70009492 if (__HAL_RCC_GET_PLL3CLKOUT_CONFIG(RCC_PLL_RCLK) != 0U) 7000984c: 6ad8 ldr r0, [r3, #44] @ 0x2c 7000984e: e745 b.n 700096dc 70009850: 58024400 .word 0x58024400 70009854: 016e3600 .word 0x016e3600 70009858: 03d09000 .word 0x03d09000 7000985c: 003d0900 .word 0x003d0900 clocksource = __HAL_RCC_GET_RTC_SOURCE(); 70009860: 4ba4 ldr r3, [pc, #656] @ (70009af4 ) 70009862: 6f1a ldr r2, [r3, #112] @ 0x70 70009864: f402 7240 and.w r2, r2, #768 @ 0x300 70009868: f5b2 7f40 cmp.w r2, #768 @ 0x300 7000986c: d118 bne.n 700098a0 7000986e: 691b ldr r3, [r3, #16] if (READ_BIT(RCC->BDCR, RCC_BDCR_RTCSEL) == RCC_BDCR_RTCSEL) /*!< HSE is the clock source for RTC */ 70009870: 4ba0 ldr r3, [pc, #640] @ (70009af4 ) 70009872: 6f1a ldr r2, [r3, #112] @ 0x70 70009874: f402 7240 and.w r2, r2, #768 @ 0x300 70009878: f5b2 7f40 cmp.w r2, #768 @ 0x300 7000987c: f040 81f9 bne.w 70009c72 if (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 70009880: 6818 ldr r0, [r3, #0] 70009882: f410 3000 ands.w r0, r0, #131072 @ 0x20000 70009886: f43f ace0 beq.w 7000924a prescaler = READ_BIT(RCC->CFGR, RCC_CFGR_RTCPRE) >> RCC_CFGR_RTCPRE_Pos; 7000988a: 691b ldr r3, [r3, #16] if (prescaler > 1U) 7000988c: f413 5078 ands.w r0, r3, #15872 @ 0x3e00 70009890: f43f acdb beq.w 7000924a prescaler = READ_BIT(RCC->CFGR, RCC_CFGR_RTCPRE) >> RCC_CFGR_RTCPRE_Pos; 70009894: f3c3 2305 ubfx r3, r3, #8, #6 frequency = HSE_VALUE / prescaler; 70009898: 4897 ldr r0, [pc, #604] @ (70009af8 ) 7000989a: fbb0 f0f3 udiv r0, r0, r3 7000989e: e4d4 b.n 7000924a clocksource = __HAL_RCC_GET_RTC_SOURCE(); 700098a0: 6f18 ldr r0, [r3, #112] @ 0x70 700098a2: f400 7040 and.w r0, r0, #768 @ 0x300 switch (clocksource) 700098a6: f5b0 7f80 cmp.w r0, #256 @ 0x100 700098aa: d006 beq.n 700098ba 700098ac: f5b0 7f00 cmp.w r0, #512 @ 0x200 700098b0: d008 beq.n 700098c4 700098b2: 2800 cmp r0, #0 700098b4: f43f acc9 beq.w 7000924a 700098b8: e7da b.n 70009870 if (READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) != 0U) 700098ba: 6f18 ldr r0, [r3, #112] @ 0x70 700098bc: f3c0 0040 ubfx r0, r0, #1, #1 700098c0: 03c0 lsls r0, r0, #15 700098c2: e4c2 b.n 7000924a if (READ_BIT(RCC->CSR, RCC_CSR_LSIRDY) != 0U) 700098c4: 6f5b ldr r3, [r3, #116] @ 0x74 700098c6: f013 0f02 tst.w r3, #2 700098ca: bf14 ite ne 700098cc: f44f 40fa movne.w r0, #32000 @ 0x7d00 700098d0: 2000 moveq r0, #0 700098d2: e4ba b.n 7000924a clocksource = __HAL_RCC_GET_SAI1_SOURCE(); 700098d4: 4a87 ldr r2, [pc, #540] @ (70009af4 ) 700098d6: 6d53 ldr r3, [r2, #84] @ 0x54 700098d8: f403 23e0 and.w r3, r3, #458752 @ 0x70000 switch (clocksource) 700098dc: f5b3 3f00 cmp.w r3, #131072 @ 0x20000 700098e0: f43f adfc beq.w 700094dc 700098e4: d803 bhi.n 700098ee switch (clocksource) 700098e6: 2b00 cmp r3, #0 700098e8: d164 bne.n 700099b4 if (__HAL_RCC_GET_PLL1CLKOUT_CONFIG(RCC_PLL_QCLK) != 0U) 700098ea: 6ad0 ldr r0, [r2, #44] @ 0x2c 700098ec: e52c b.n 70009348 switch (clocksource) 700098ee: f5b3 3f40 cmp.w r3, #196608 @ 0x30000 700098f2: f000 81c1 beq.w 70009c78 700098f6: f5b3 2f80 cmp.w r3, #262144 @ 0x40000 700098fa: f43f adca beq.w 70009492 700098fe: 2000 movs r0, #0 70009900: e4a3 b.n 7000924a clocksource = __HAL_RCC_GET_SAI2_SOURCE(); 70009902: 4b7c ldr r3, [pc, #496] @ (70009af4 ) 70009904: 6d58 ldr r0, [r3, #84] @ 0x54 70009906: f400 00e0 and.w r0, r0, #7340032 @ 0x700000 switch (clocksource) 7000990a: f5b0 1f00 cmp.w r0, #2097152 @ 0x200000 7000990e: d064 beq.n 700099da 70009910: d802 bhi.n 70009918 switch (clocksource) 70009912: b1e8 cbz r0, 70009950 if (__HAL_RCC_GET_PLL2CLKOUT_CONFIG(RCC_PLL_PCLK) != 0U) 70009914: 6ad8 ldr r0, [r3, #44] @ 0x2c 70009916: e04e b.n 700099b6 switch (clocksource) 70009918: f5b0 1f40 cmp.w r0, #3145728 @ 0x300000 7000991c: f000 81b0 beq.w 70009c80 70009920: f5b0 0f80 cmp.w r0, #4194304 @ 0x400000 70009924: f43f adb5 beq.w 70009492 70009928: 2000 movs r0, #0 7000992a: e48e b.n 7000924a clocksource = __HAL_RCC_GET_SDMMC12_SOURCE(); 7000992c: 4b71 ldr r3, [pc, #452] @ (70009af4 ) 7000992e: 6cda ldr r2, [r3, #76] @ 0x4c if (__HAL_RCC_GET_PLL2CLKOUT_CONFIG(RCC_PLL_SCLK) != 0U) 70009930: 6ad8 ldr r0, [r3, #44] @ 0x2c if (clocksource == 70009932: 0752 lsls r2, r2, #29 70009934: f53f ad49 bmi.w 700093ca 70009938: e53e b.n 700093b8 clocksource = __HAL_RCC_GET_SPDIFRX_SOURCE(); 7000993a: 4b6e ldr r3, [pc, #440] @ (70009af4 ) 7000993c: 6d18 ldr r0, [r3, #80] @ 0x50 7000993e: f000 7040 and.w r0, r0, #50331648 @ 0x3000000 switch (clocksource) 70009942: f1b0 7f00 cmp.w r0, #33554432 @ 0x2000000 70009946: d00c beq.n 70009962 70009948: d806 bhi.n 70009958 7000994a: 2800 cmp r0, #0 7000994c: f47f ad04 bne.w 70009358 if (__HAL_RCC_GET_PLL1CLKOUT_CONFIG(RCC_PLL_QCLK) != 0U) 70009950: 6adb ldr r3, [r3, #44] @ 0x2c 70009952: f013 0f40 tst.w r3, #64 @ 0x40 70009956: e4f9 b.n 7000934c switch (clocksource) 70009958: f1b0 7f40 cmp.w r0, #50331648 @ 0x3000000 7000995c: d007 beq.n 7000996e 7000995e: 2000 movs r0, #0 70009960: e473 b.n 7000924a if (__HAL_RCC_GET_PLL3CLKOUT_CONFIG(RCC_PLL_RCLK) != 0U) 70009962: 6adb ldr r3, [r3, #44] @ 0x2c 70009964: 009b lsls r3, r3, #2 70009966: f53f ad90 bmi.w 7000948a 7000996a: 2000 movs r0, #0 7000996c: e46d b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 7000996e: 6818 ldr r0, [r3, #0] 70009970: f010 0004 ands.w r0, r0, #4 70009974: f43f ac69 beq.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 70009978: 6818 ldr r0, [r3, #0] 7000997a: f010 0020 ands.w r0, r0, #32 7000997e: f43f ac64 beq.w 7000924a frequency = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 70009982: 681b ldr r3, [r3, #0] 70009984: 485d ldr r0, [pc, #372] @ (70009afc ) 70009986: f3c3 03c1 ubfx r3, r3, #3, #2 7000998a: 40d8 lsrs r0, r3 7000998c: e45d b.n 7000924a clocksource = __HAL_RCC_GET_SPI1_SOURCE(); 7000998e: 4a59 ldr r2, [pc, #356] @ (70009af4 ) 70009990: 6d53 ldr r3, [r2, #84] @ 0x54 70009992: f403 63e0 and.w r3, r3, #1792 @ 0x700 switch (clocksource) 70009996: f5b3 7f00 cmp.w r3, #512 @ 0x200 7000999a: f43f ad9f beq.w 700094dc 7000999e: d9a2 bls.n 700098e6 700099a0: f5b3 7f40 cmp.w r3, #768 @ 0x300 700099a4: f000 8170 beq.w 70009c88 700099a8: f5b3 6f80 cmp.w r3, #1024 @ 0x400 700099ac: f43f ad71 beq.w 70009492 700099b0: 2000 movs r0, #0 700099b2: e44a b.n 7000924a if (__HAL_RCC_GET_PLL2CLKOUT_CONFIG(RCC_PLL_PCLK) != 0U) 700099b4: 6ad0 ldr r0, [r2, #44] @ 0x2c if (__HAL_RCC_GET_PLL2CLKOUT_CONFIG(RCC_PLL_PCLK) != 0U) 700099b6: f410 3080 ands.w r0, r0, #65536 @ 0x10000 700099ba: e55c b.n 70009476 clocksource = __HAL_RCC_GET_SPI23_SOURCE(); 700099bc: 4b4d ldr r3, [pc, #308] @ (70009af4 ) 700099be: 6d18 ldr r0, [r3, #80] @ 0x50 700099c0: f000 0070 and.w r0, r0, #112 @ 0x70 switch (clocksource) 700099c4: 2820 cmp r0, #32 700099c6: d008 beq.n 700099da 700099c8: d9a3 bls.n 70009912 700099ca: 2830 cmp r0, #48 @ 0x30 700099cc: f000 8160 beq.w 70009c90 700099d0: 2840 cmp r0, #64 @ 0x40 700099d2: f43f ad5e beq.w 70009492 700099d6: 2000 movs r0, #0 700099d8: e437 b.n 7000924a if (__HAL_RCC_GET_PLL3CLKOUT_CONFIG(RCC_PLL_PCLK) != 0U) 700099da: 6ad8 ldr r0, [r3, #44] @ 0x2c 700099dc: e57f b.n 700094de clocksource = __HAL_RCC_GET_SPI45_SOURCE(); 700099de: 4a45 ldr r2, [pc, #276] @ (70009af4 ) 700099e0: 6d53 ldr r3, [r2, #84] @ 0x54 700099e2: f003 0370 and.w r3, r3, #112 @ 0x70 switch (clocksource) 700099e6: 2b30 cmp r3, #48 @ 0x30 700099e8: d015 beq.n 70009a16 700099ea: d806 bhi.n 700099fa 700099ec: 2b10 cmp r3, #16 700099ee: d00e beq.n 70009a0e 700099f0: 2b20 cmp r3, #32 700099f2: d00e beq.n 70009a12 700099f4: b13b cbz r3, 70009a06 700099f6: 2000 movs r0, #0 700099f8: e427 b.n 7000924a 700099fa: 2b40 cmp r3, #64 @ 0x40 700099fc: d01b beq.n 70009a36 700099fe: 2b50 cmp r3, #80 @ 0x50 70009a00: d020 beq.n 70009a44 70009a02: 2000 movs r0, #0 70009a04: e421 b.n 7000924a } 70009a06: e8bd 4008 ldmia.w sp!, {r3, lr} frequency = HAL_RCC_GetPCLK2Freq(); 70009a0a: f7fe be8d b.w 70008728 if (__HAL_RCC_GET_PLL2CLKOUT_CONFIG(RCC_PLL_QCLK) != 0U) 70009a0e: 6ad0 ldr r0, [r2, #44] @ 0x2c 70009a10: e6e3 b.n 700097da if (__HAL_RCC_GET_PLL3CLKOUT_CONFIG(RCC_PLL_QCLK) != 0U) 70009a12: 6ad0 ldr r0, [r2, #44] @ 0x2c 70009a14: e6ea b.n 700097ec if (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 70009a16: 6810 ldr r0, [r2, #0] 70009a18: f010 0004 ands.w r0, r0, #4 70009a1c: f43f ac15 beq.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 70009a20: 6813 ldr r3, [r2, #0] 70009a22: 0698 lsls r0, r3, #26 70009a24: f140 8138 bpl.w 70009c98 frequency = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 70009a28: 4b32 ldr r3, [pc, #200] @ (70009af4 ) 70009a2a: 4834 ldr r0, [pc, #208] @ (70009afc ) 70009a2c: 681b ldr r3, [r3, #0] 70009a2e: f3c3 03c1 ubfx r3, r3, #3, #2 70009a32: 40d8 lsrs r0, r3 70009a34: e409 b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_CSIRDY) != 0U) 70009a36: 6813 ldr r3, [r2, #0] 70009a38: 4831 ldr r0, [pc, #196] @ (70009b00 ) 70009a3a: f413 7f80 tst.w r3, #256 @ 0x100 70009a3e: bf08 it eq 70009a40: 2000 moveq r0, #0 70009a42: e402 b.n 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 70009a44: 6813 ldr r3, [r2, #0] 70009a46: 482c ldr r0, [pc, #176] @ (70009af8 ) 70009a48: f413 3f00 tst.w r3, #131072 @ 0x20000 70009a4c: bf08 it eq 70009a4e: 2000 moveq r0, #0 70009a50: f7ff bbfb b.w 7000924a clocksource = __HAL_RCC_GET_SPI6_SOURCE(); 70009a54: 4b27 ldr r3, [pc, #156] @ (70009af4 ) 70009a56: 6d9a ldr r2, [r3, #88] @ 0x58 70009a58: f002 0270 and.w r2, r2, #112 @ 0x70 switch (clocksource) 70009a5c: 2a30 cmp r2, #48 @ 0x30 70009a5e: d013 beq.n 70009a88 70009a60: d80b bhi.n 70009a7a 70009a62: 2a10 cmp r2, #16 70009a64: f43f aeb8 beq.w 700097d8 70009a68: 2a20 cmp r2, #32 70009a6a: f43f aebe beq.w 700097ea 70009a6e: 2a00 cmp r2, #0 70009a70: f43f ae61 beq.w 70009736 70009a74: 2000 movs r0, #0 70009a76: f7ff bbe8 b.w 7000924a 70009a7a: 2a40 cmp r2, #64 @ 0x40 70009a7c: d014 beq.n 70009aa8 70009a7e: 2a50 cmp r2, #80 @ 0x50 70009a80: d01a beq.n 70009ab8 70009a82: 2000 movs r0, #0 70009a84: f7ff bbe1 b.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 70009a88: 681a ldr r2, [r3, #0] 70009a8a: 0751 lsls r1, r2, #29 70009a8c: f140 8107 bpl.w 70009c9e if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 70009a90: 6818 ldr r0, [r3, #0] 70009a92: f010 0020 ands.w r0, r0, #32 70009a96: f43f abd8 beq.w 7000924a frequency = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 70009a9a: 681b ldr r3, [r3, #0] 70009a9c: 4817 ldr r0, [pc, #92] @ (70009afc ) 70009a9e: f3c3 03c1 ubfx r3, r3, #3, #2 70009aa2: 40d8 lsrs r0, r3 70009aa4: f7ff bbd1 b.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_CSIRDY) != 0U) 70009aa8: 681b ldr r3, [r3, #0] 70009aaa: 4815 ldr r0, [pc, #84] @ (70009b00 ) 70009aac: f413 7f80 tst.w r3, #256 @ 0x100 70009ab0: bf08 it eq 70009ab2: 2000 moveq r0, #0 70009ab4: f7ff bbc9 b.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 70009ab8: 681b ldr r3, [r3, #0] 70009aba: 480f ldr r0, [pc, #60] @ (70009af8 ) 70009abc: f413 3f00 tst.w r3, #131072 @ 0x20000 70009ac0: bf08 it eq 70009ac2: 2000 moveq r0, #0 70009ac4: f7ff bbc1 b.w 7000924a clocksource = __HAL_RCC_GET_USART1_SOURCE(); 70009ac8: 4b0a ldr r3, [pc, #40] @ (70009af4 ) 70009aca: 6d5a ldr r2, [r3, #84] @ 0x54 70009acc: f002 0207 and.w r2, r2, #7 switch (clocksource) 70009ad0: 2a05 cmp r2, #5 70009ad2: f200 80e7 bhi.w 70009ca4 70009ad6: a101 add r1, pc, #4 @ (adr r1, 70009adc ) 70009ad8: f851 f022 ldr.w pc, [r1, r2, lsl #2] 70009adc: 70009a07 .word 0x70009a07 70009ae0: 700097d9 .word 0x700097d9 70009ae4: 700097eb .word 0x700097eb 70009ae8: 70009b05 .word 0x70009b05 70009aec: 70009b27 .word 0x70009b27 70009af0: 70009b37 .word 0x70009b37 70009af4: 58024400 .word 0x58024400 70009af8: 016e3600 .word 0x016e3600 70009afc: 03d09000 .word 0x03d09000 70009b00: 003d0900 .word 0x003d0900 if (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 70009b04: 6818 ldr r0, [r3, #0] 70009b06: f010 0004 ands.w r0, r0, #4 70009b0a: f43f ab9e beq.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 70009b0e: 6818 ldr r0, [r3, #0] 70009b10: f010 0020 ands.w r0, r0, #32 70009b14: f43f ab99 beq.w 7000924a frequency = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 70009b18: 681b ldr r3, [r3, #0] 70009b1a: 4868 ldr r0, [pc, #416] @ (70009cbc ) 70009b1c: f3c3 03c1 ubfx r3, r3, #3, #2 70009b20: 40d8 lsrs r0, r3 70009b22: f7ff bb92 b.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_CSIRDY) != 0U) 70009b26: 681b ldr r3, [r3, #0] 70009b28: 4865 ldr r0, [pc, #404] @ (70009cc0 ) 70009b2a: f413 7f80 tst.w r3, #256 @ 0x100 70009b2e: bf08 it eq 70009b30: 2000 moveq r0, #0 70009b32: f7ff bb8a b.w 7000924a if (READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) != 0U) 70009b36: 6f18 ldr r0, [r3, #112] @ 0x70 70009b38: f3c0 0040 ubfx r0, r0, #1, #1 70009b3c: 03c0 lsls r0, r0, #15 70009b3e: f7ff bb84 b.w 7000924a clocksource = __HAL_RCC_GET_USART234578_SOURCE(); 70009b42: 4b60 ldr r3, [pc, #384] @ (70009cc4 ) 70009b44: 6d1a ldr r2, [r3, #80] @ 0x50 70009b46: f002 0207 and.w r2, r2, #7 switch (clocksource) 70009b4a: 2a05 cmp r2, #5 70009b4c: f200 80ad bhi.w 70009caa 70009b50: a101 add r1, pc, #4 @ (adr r1, 70009b58 ) 70009b52: f851 f022 ldr.w pc, [r1, r2, lsl #2] 70009b56: bf00 nop 70009b58: 7000961d .word 0x7000961d 70009b5c: 700097d9 .word 0x700097d9 70009b60: 700097eb .word 0x700097eb 70009b64: 70009b71 .word 0x70009b71 70009b68: 70009b93 .word 0x70009b93 70009b6c: 70009ba3 .word 0x70009ba3 if (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 70009b70: 6818 ldr r0, [r3, #0] 70009b72: f010 0004 ands.w r0, r0, #4 70009b76: f43f ab68 beq.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSIDIVF) != 0U) 70009b7a: 6818 ldr r0, [r3, #0] 70009b7c: f010 0020 ands.w r0, r0, #32 70009b80: f43f ab63 beq.w 7000924a frequency = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> RCC_CR_HSIDIV_Pos)); 70009b84: 681b ldr r3, [r3, #0] 70009b86: 484d ldr r0, [pc, #308] @ (70009cbc ) 70009b88: f3c3 03c1 ubfx r3, r3, #3, #2 70009b8c: 40d8 lsrs r0, r3 70009b8e: f7ff bb5c b.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_CSIRDY) != 0U) 70009b92: 681b ldr r3, [r3, #0] 70009b94: 484a ldr r0, [pc, #296] @ (70009cc0 ) 70009b96: f413 7f80 tst.w r3, #256 @ 0x100 70009b9a: bf08 it eq 70009b9c: 2000 moveq r0, #0 70009b9e: f7ff bb54 b.w 7000924a if (READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) != 0U) 70009ba2: 6f18 ldr r0, [r3, #112] @ 0x70 70009ba4: f3c0 0040 ubfx r0, r0, #1, #1 70009ba8: 03c0 lsls r0, r0, #15 70009baa: f7ff bb4e b.w 7000924a clocksource = __HAL_RCC_GET_USBPHYC_SOURCE(); 70009bae: 4a45 ldr r2, [pc, #276] @ (70009cc4 ) 70009bb0: 6cd3 ldr r3, [r2, #76] @ 0x4c 70009bb2: f403 5340 and.w r3, r3, #12288 @ 0x3000 switch (clocksource) 70009bb6: f5b3 5f80 cmp.w r3, #4096 @ 0x1000 70009bba: d00c beq.n 70009bd6 70009bbc: f5b3 5f00 cmp.w r3, #8192 @ 0x2000 70009bc0: d011 beq.n 70009be6 70009bc2: 2b00 cmp r3, #0 70009bc4: d174 bne.n 70009cb0 if (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 70009bc6: 6813 ldr r3, [r2, #0] 70009bc8: 483f ldr r0, [pc, #252] @ (70009cc8 ) 70009bca: f413 3f00 tst.w r3, #131072 @ 0x20000 70009bce: bf08 it eq 70009bd0: 2000 moveq r0, #0 70009bd2: f7ff bb3a b.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 70009bd6: 6813 ldr r3, [r2, #0] 70009bd8: 483c ldr r0, [pc, #240] @ (70009ccc ) 70009bda: f413 3f00 tst.w r3, #131072 @ 0x20000 70009bde: bf08 it eq 70009be0: 2000 moveq r0, #0 70009be2: f7ff bb32 b.w 7000924a if (__HAL_RCC_GET_PLL3CLKOUT_CONFIG(RCC_PLL_QCLK) != 0U) 70009be6: 6ad3 ldr r3, [r2, #44] @ 0x2c 70009be8: 00da lsls r2, r3, #3 70009bea: f53f ae03 bmi.w 700097f4 70009bee: 2000 movs r0, #0 70009bf0: f7ff bb2b b.w 7000924a clocksource = __HAL_RCC_GET_USBOTGFS_SOURCE(); 70009bf4: 4a33 ldr r2, [pc, #204] @ (70009cc4 ) 70009bf6: 6cd3 ldr r3, [r2, #76] @ 0x4c 70009bf8: f403 4340 and.w r3, r3, #49152 @ 0xc000 switch (clocksource) 70009bfc: f5b3 4f80 cmp.w r3, #16384 @ 0x4000 70009c00: d00c beq.n 70009c1c 70009c02: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 70009c06: d010 beq.n 70009c2a 70009c08: 2b00 cmp r3, #0 70009c0a: d154 bne.n 70009cb6 if (READ_BIT(RCC->CR, RCC_CR_HSI48RDY) != 0U) 70009c0c: 6813 ldr r3, [r2, #0] 70009c0e: 4830 ldr r0, [pc, #192] @ (70009cd0 ) 70009c10: f413 5f00 tst.w r3, #8192 @ 0x2000 70009c14: bf08 it eq 70009c16: 2000 moveq r0, #0 70009c18: f7ff bb17 b.w 7000924a if (__HAL_RCC_GET_PLL3CLKOUT_CONFIG(RCC_PLL_QCLK) != 0U) 70009c1c: 6ad3 ldr r3, [r2, #44] @ 0x2c 70009c1e: 00db lsls r3, r3, #3 70009c20: f53f ade8 bmi.w 700097f4 70009c24: 2000 movs r0, #0 70009c26: f7ff bb10 b.w 7000924a if (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 70009c2a: 6813 ldr r3, [r2, #0] 70009c2c: 4826 ldr r0, [pc, #152] @ (70009cc8 ) 70009c2e: f413 3f00 tst.w r3, #131072 @ 0x20000 70009c32: bf08 it eq 70009c34: 2000 moveq r0, #0 70009c36: f7ff bb08 b.w 7000924a switch (PeriphClk) 70009c3a: 2000 movs r0, #0 70009c3c: f7ff bb05 b.w 7000924a switch (clocksource) 70009c40: 2000 movs r0, #0 70009c42: f7ff bb02 b.w 7000924a switch (clocksource) 70009c46: 2000 movs r0, #0 70009c48: f7ff baff b.w 7000924a 70009c4c: 2000 movs r0, #0 70009c4e: f7ff bafc b.w 7000924a frequency = EXTERNAL_CLOCK_VALUE; 70009c52: f64b 3080 movw r0, #48000 @ 0xbb80 70009c56: f7ff baf8 b.w 7000924a switch (clocksource) 70009c5a: 2000 movs r0, #0 70009c5c: f7ff baf5 b.w 7000924a switch (clocksource) 70009c60: 2000 movs r0, #0 70009c62: f7ff baf2 b.w 7000924a 70009c66: 2000 movs r0, #0 70009c68: f7ff baef b.w 7000924a switch (clocksource) 70009c6c: 2000 movs r0, #0 70009c6e: f7ff baec b.w 7000924a 70009c72: 2000 movs r0, #0 70009c74: f7ff bae9 b.w 7000924a frequency = EXTERNAL_CLOCK_VALUE; 70009c78: f64b 3080 movw r0, #48000 @ 0xbb80 70009c7c: f7ff bae5 b.w 7000924a 70009c80: f64b 3080 movw r0, #48000 @ 0xbb80 70009c84: f7ff bae1 b.w 7000924a 70009c88: f64b 3080 movw r0, #48000 @ 0xbb80 70009c8c: f7ff badd b.w 7000924a 70009c90: f64b 3080 movw r0, #48000 @ 0xbb80 70009c94: f7ff bad9 b.w 7000924a 70009c98: 2000 movs r0, #0 70009c9a: f7ff bad6 b.w 7000924a 70009c9e: 2000 movs r0, #0 70009ca0: f7ff bad3 b.w 7000924a switch (clocksource) 70009ca4: 2000 movs r0, #0 70009ca6: f7ff bad0 b.w 7000924a switch (clocksource) 70009caa: 2000 movs r0, #0 70009cac: f7ff bacd b.w 7000924a switch (clocksource) 70009cb0: 2000 movs r0, #0 70009cb2: f7ff baca b.w 7000924a switch (clocksource) 70009cb6: 2000 movs r0, #0 70009cb8: f7ff bac7 b.w 7000924a 70009cbc: 03d09000 .word 0x03d09000 70009cc0: 003d0900 .word 0x003d0900 70009cc4: 58024400 .word 0x58024400 70009cc8: 016e3600 .word 0x016e3600 70009ccc: 00b71b00 .word 0x00b71b00 70009cd0: 02dc6c00 .word 0x02dc6c00 70009cd4 : UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_Base_MspInit could be implemented in the user file */ } 70009cd4: 4770 bx lr ... 70009cd8 : /* Check the parameters */ assert_param(IS_TIM_INSTANCE(htim->Instance)); /* Check the TIM state */ if (htim->State != HAL_TIM_STATE_READY) 70009cd8: f890 303d ldrb.w r3, [r0, #61] @ 0x3d 70009cdc: 2b01 cmp r3, #1 70009cde: d12f bne.n 70009d40 { return HAL_ERROR; } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 70009ce0: 2302 movs r3, #2 70009ce2: f880 303d strb.w r3, [r0, #61] @ 0x3d /* Enable the TIM Update interrupt */ __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE); 70009ce6: 6803 ldr r3, [r0, #0] 70009ce8: 68da ldr r2, [r3, #12] /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */ if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) 70009cea: f1b3 4f84 cmp.w r3, #1107296256 @ 0x42000000 __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE); 70009cee: f042 0201 orr.w r2, r2, #1 70009cf2: 60da str r2, [r3, #12] if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) 70009cf4: d016 beq.n 70009d24 70009cf6: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 70009cfa: d013 beq.n 70009d24 70009cfc: 4a11 ldr r2, [pc, #68] @ (70009d44 ) 70009cfe: 4293 cmp r3, r2 70009d00: d010 beq.n 70009d24 70009d02: f502 6280 add.w r2, r2, #1024 @ 0x400 70009d06: 4293 cmp r3, r2 70009d08: d00c beq.n 70009d24 70009d0a: f502 6280 add.w r2, r2, #1024 @ 0x400 70009d0e: 4293 cmp r3, r2 70009d10: d008 beq.n 70009d24 70009d12: 4a0d ldr r2, [pc, #52] @ (70009d48 ) 70009d14: 4293 cmp r3, r2 70009d16: d005 beq.n 70009d24 70009d18: 4a0c ldr r2, [pc, #48] @ (70009d4c ) 70009d1a: 4293 cmp r3, r2 70009d1c: d002 beq.n 70009d24 70009d1e: 4a0c ldr r2, [pc, #48] @ (70009d50 ) 70009d20: 4293 cmp r3, r2 70009d22: d107 bne.n 70009d34 { tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; 70009d24: 6899 ldr r1, [r3, #8] 70009d26: 4a0b ldr r2, [pc, #44] @ (70009d54 ) 70009d28: 400a ands r2, r1 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 70009d2a: 2a06 cmp r2, #6 70009d2c: d006 beq.n 70009d3c 70009d2e: f5b2 3f80 cmp.w r2, #65536 @ 0x10000 70009d32: d003 beq.n 70009d3c { __HAL_TIM_ENABLE(htim); 70009d34: 681a ldr r2, [r3, #0] 70009d36: f042 0201 orr.w r2, r2, #1 70009d3a: 601a str r2, [r3, #0] { __HAL_TIM_ENABLE(htim); } /* Return function status */ return HAL_OK; 70009d3c: 2000 movs r0, #0 70009d3e: 4770 bx lr return HAL_ERROR; 70009d40: 2001 movs r0, #1 } 70009d42: 4770 bx lr 70009d44: 40000400 .word 0x40000400 70009d48: 42004c00 .word 0x42004c00 70009d4c: 40001800 .word 0x40001800 70009d50: 42004000 .word 0x42004000 70009d54: 00010007 .word 0x00010007 70009d58 : /** * @brief Output Compare callback in non-blocking mode * @param htim TIM OC handle * @retval None */ __weak void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim) 70009d58: 4770 bx lr 70009d5a : /** * @brief Input Capture callback in non-blocking mode * @param htim TIM IC handle * @retval None */ __weak void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) 70009d5a: 4770 bx lr 70009d5c : /** * @brief PWM Pulse finished callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) 70009d5c: 4770 bx lr 70009d5e : /** * @brief Hall Trigger detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim) 70009d5e: 4770 bx lr 70009d60 : uint32_t itsource = htim->Instance->DIER; 70009d60: 6803 ldr r3, [r0, #0] { 70009d62: b570 push {r4, r5, r6, lr} uint32_t itsource = htim->Instance->DIER; 70009d64: 68dd ldr r5, [r3, #12] { 70009d66: 4604 mov r4, r0 uint32_t itflag = htim->Instance->SR; 70009d68: 691e ldr r6, [r3, #16] if ((itflag & (TIM_FLAG_CC1)) == (TIM_FLAG_CC1)) 70009d6a: 07b2 lsls r2, r6, #30 70009d6c: d50e bpl.n 70009d8c if ((itsource & (TIM_IT_CC1)) == (TIM_IT_CC1)) 70009d6e: 07a9 lsls r1, r5, #30 70009d70: d50c bpl.n 70009d8c __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC1); 70009d72: f06f 0202 mvn.w r2, #2 70009d76: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1; 70009d78: 2201 movs r2, #1 70009d7a: 7702 strb r2, [r0, #28] if ((htim->Instance->CCMR1 & TIM_CCMR1_CC1S) != 0x00U) 70009d7c: 699b ldr r3, [r3, #24] 70009d7e: 079a lsls r2, r3, #30 70009d80: f000 80a4 beq.w 70009ecc HAL_TIM_IC_CaptureCallback(htim); 70009d84: f7ff ffe9 bl 70009d5a htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 70009d88: 2300 movs r3, #0 70009d8a: 7723 strb r3, [r4, #28] if ((itflag & (TIM_FLAG_CC2)) == (TIM_FLAG_CC2)) 70009d8c: 0773 lsls r3, r6, #29 70009d8e: d511 bpl.n 70009db4 if ((itsource & (TIM_IT_CC2)) == (TIM_IT_CC2)) 70009d90: 0768 lsls r0, r5, #29 70009d92: d50f bpl.n 70009db4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC2); 70009d94: 6823 ldr r3, [r4, #0] 70009d96: f06f 0204 mvn.w r2, #4 HAL_TIM_IC_CaptureCallback(htim); 70009d9a: 4620 mov r0, r4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC2); 70009d9c: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2; 70009d9e: 2202 movs r2, #2 70009da0: 7722 strb r2, [r4, #28] if ((htim->Instance->CCMR1 & TIM_CCMR1_CC2S) != 0x00U) 70009da2: 699b ldr r3, [r3, #24] 70009da4: f413 7f40 tst.w r3, #768 @ 0x300 70009da8: f000 8096 beq.w 70009ed8 HAL_TIM_IC_CaptureCallback(htim); 70009dac: f7ff ffd5 bl 70009d5a htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 70009db0: 2300 movs r3, #0 70009db2: 7723 strb r3, [r4, #28] if ((itflag & (TIM_FLAG_CC3)) == (TIM_FLAG_CC3)) 70009db4: 0731 lsls r1, r6, #28 70009db6: d510 bpl.n 70009dda if ((itsource & (TIM_IT_CC3)) == (TIM_IT_CC3)) 70009db8: 072a lsls r2, r5, #28 70009dba: d50e bpl.n 70009dda __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC3); 70009dbc: 6823 ldr r3, [r4, #0] 70009dbe: f06f 0208 mvn.w r2, #8 HAL_TIM_IC_CaptureCallback(htim); 70009dc2: 4620 mov r0, r4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC3); 70009dc4: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3; 70009dc6: 2204 movs r2, #4 70009dc8: 7722 strb r2, [r4, #28] if ((htim->Instance->CCMR2 & TIM_CCMR2_CC3S) != 0x00U) 70009dca: 69db ldr r3, [r3, #28] 70009dcc: 079b lsls r3, r3, #30 70009dce: f000 8089 beq.w 70009ee4 HAL_TIM_IC_CaptureCallback(htim); 70009dd2: f7ff ffc2 bl 70009d5a htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 70009dd6: 2300 movs r3, #0 70009dd8: 7723 strb r3, [r4, #28] if ((itflag & (TIM_FLAG_CC4)) == (TIM_FLAG_CC4)) 70009dda: 06f1 lsls r1, r6, #27 70009ddc: d510 bpl.n 70009e00 if ((itsource & (TIM_IT_CC4)) == (TIM_IT_CC4)) 70009dde: 06ea lsls r2, r5, #27 70009de0: d50e bpl.n 70009e00 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC4); 70009de2: 6823 ldr r3, [r4, #0] 70009de4: f06f 0210 mvn.w r2, #16 HAL_TIM_IC_CaptureCallback(htim); 70009de8: 4620 mov r0, r4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC4); 70009dea: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4; 70009dec: 2208 movs r2, #8 70009dee: 7722 strb r2, [r4, #28] if ((htim->Instance->CCMR2 & TIM_CCMR2_CC4S) != 0x00U) 70009df0: 69db ldr r3, [r3, #28] 70009df2: f413 7f40 tst.w r3, #768 @ 0x300 70009df6: d07b beq.n 70009ef0 HAL_TIM_IC_CaptureCallback(htim); 70009df8: f7ff ffaf bl 70009d5a htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 70009dfc: 2300 movs r3, #0 70009dfe: 7723 strb r3, [r4, #28] if ((itflag & (TIM_FLAG_UPDATE)) == (TIM_FLAG_UPDATE)) 70009e00: 07f3 lsls r3, r6, #31 70009e02: d508 bpl.n 70009e16 if ((itsource & (TIM_IT_UPDATE)) == (TIM_IT_UPDATE)) 70009e04: 07e8 lsls r0, r5, #31 70009e06: d506 bpl.n 70009e16 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_UPDATE); 70009e08: 6823 ldr r3, [r4, #0] 70009e0a: f06f 0201 mvn.w r2, #1 HAL_TIM_PeriodElapsedCallback(htim); 70009e0e: 4620 mov r0, r4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_UPDATE); 70009e10: 611a str r2, [r3, #16] HAL_TIM_PeriodElapsedCallback(htim); 70009e12: f7f7 f82f bl 70000e74 if (((itflag & (TIM_FLAG_BREAK)) == (TIM_FLAG_BREAK)) || \ 70009e16: f416 5f02 tst.w r6, #8320 @ 0x2080 70009e1a: d008 beq.n 70009e2e if ((itsource & (TIM_IT_BREAK)) == (TIM_IT_BREAK)) 70009e1c: 0629 lsls r1, r5, #24 70009e1e: d506 bpl.n 70009e2e __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK | TIM_FLAG_SYSTEM_BREAK); 70009e20: 6823 ldr r3, [r4, #0] 70009e22: f46f 5202 mvn.w r2, #8320 @ 0x2080 HAL_TIMEx_BreakCallback(htim); 70009e26: 4620 mov r0, r4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK | TIM_FLAG_SYSTEM_BREAK); 70009e28: 611a str r2, [r3, #16] HAL_TIMEx_BreakCallback(htim); 70009e2a: f000 f8f8 bl 7000a01e if ((itflag & (TIM_FLAG_BREAK2)) == (TIM_FLAG_BREAK2)) 70009e2e: 05f2 lsls r2, r6, #23 70009e30: d508 bpl.n 70009e44 if ((itsource & (TIM_IT_BREAK)) == (TIM_IT_BREAK)) 70009e32: 062b lsls r3, r5, #24 70009e34: d506 bpl.n 70009e44 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK2); 70009e36: 6823 ldr r3, [r4, #0] 70009e38: f46f 7280 mvn.w r2, #256 @ 0x100 HAL_TIMEx_Break2Callback(htim); 70009e3c: 4620 mov r0, r4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK2); 70009e3e: 611a str r2, [r3, #16] HAL_TIMEx_Break2Callback(htim); 70009e40: f000 f8ee bl 7000a020 if ((itflag & (TIM_FLAG_TRIGGER)) == (TIM_FLAG_TRIGGER)) 70009e44: 0670 lsls r0, r6, #25 70009e46: d508 bpl.n 70009e5a if ((itsource & (TIM_IT_TRIGGER)) == (TIM_IT_TRIGGER)) 70009e48: 0669 lsls r1, r5, #25 70009e4a: d506 bpl.n 70009e5a __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_TRIGGER); 70009e4c: 6823 ldr r3, [r4, #0] 70009e4e: f06f 0240 mvn.w r2, #64 @ 0x40 HAL_TIM_TriggerCallback(htim); 70009e52: 4620 mov r0, r4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_TRIGGER); 70009e54: 611a str r2, [r3, #16] HAL_TIM_TriggerCallback(htim); 70009e56: f7ff ff82 bl 70009d5e if ((itflag & (TIM_FLAG_COM)) == (TIM_FLAG_COM)) 70009e5a: 06b2 lsls r2, r6, #26 70009e5c: d508 bpl.n 70009e70 if ((itsource & (TIM_IT_COM)) == (TIM_IT_COM)) 70009e5e: 06ab lsls r3, r5, #26 70009e60: d506 bpl.n 70009e70 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_COM); 70009e62: 6823 ldr r3, [r4, #0] 70009e64: f06f 0220 mvn.w r2, #32 HAL_TIMEx_CommutCallback(htim); 70009e68: 4620 mov r0, r4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_COM); 70009e6a: 611a str r2, [r3, #16] HAL_TIMEx_CommutCallback(htim); 70009e6c: f000 f8d6 bl 7000a01c if ((itflag & (TIM_FLAG_IDX)) == (TIM_FLAG_IDX)) 70009e70: 02f0 lsls r0, r6, #11 70009e72: d508 bpl.n 70009e86 if ((itsource & (TIM_IT_IDX)) == (TIM_IT_IDX)) 70009e74: 02e9 lsls r1, r5, #11 70009e76: d506 bpl.n 70009e86 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_IDX); 70009e78: 6823 ldr r3, [r4, #0] 70009e7a: f46f 1280 mvn.w r2, #1048576 @ 0x100000 HAL_TIMEx_EncoderIndexCallback(htim); 70009e7e: 4620 mov r0, r4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_IDX); 70009e80: 611a str r2, [r3, #16] HAL_TIMEx_EncoderIndexCallback(htim); 70009e82: f000 f8ce bl 7000a022 if ((itflag & (TIM_FLAG_DIR)) == (TIM_FLAG_DIR)) 70009e86: 02b2 lsls r2, r6, #10 70009e88: d508 bpl.n 70009e9c if ((itsource & (TIM_IT_DIR)) == (TIM_IT_DIR)) 70009e8a: 02ab lsls r3, r5, #10 70009e8c: d506 bpl.n 70009e9c __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_DIR); 70009e8e: 6823 ldr r3, [r4, #0] 70009e90: f46f 1200 mvn.w r2, #2097152 @ 0x200000 HAL_TIMEx_DirectionChangeCallback(htim); 70009e94: 4620 mov r0, r4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_DIR); 70009e96: 611a str r2, [r3, #16] HAL_TIMEx_DirectionChangeCallback(htim); 70009e98: f000 f8c4 bl 7000a024 if ((itflag & (TIM_FLAG_IERR)) == (TIM_FLAG_IERR)) 70009e9c: 0270 lsls r0, r6, #9 70009e9e: d508 bpl.n 70009eb2 if ((itsource & (TIM_IT_IERR)) == (TIM_IT_IERR)) 70009ea0: 0269 lsls r1, r5, #9 70009ea2: d506 bpl.n 70009eb2 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_IERR); 70009ea4: 6823 ldr r3, [r4, #0] 70009ea6: f46f 0280 mvn.w r2, #4194304 @ 0x400000 HAL_TIMEx_IndexErrorCallback(htim); 70009eaa: 4620 mov r0, r4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_IERR); 70009eac: 611a str r2, [r3, #16] HAL_TIMEx_IndexErrorCallback(htim); 70009eae: f000 f8ba bl 7000a026 if ((itflag & (TIM_FLAG_TERR)) == (TIM_FLAG_TERR)) 70009eb2: 0232 lsls r2, r6, #8 70009eb4: d522 bpl.n 70009efc if ((itsource & (TIM_IT_TERR)) == (TIM_IT_TERR)) 70009eb6: 022b lsls r3, r5, #8 70009eb8: d520 bpl.n 70009efc __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_TERR); 70009eba: 6823 ldr r3, [r4, #0] 70009ebc: f46f 0200 mvn.w r2, #8388608 @ 0x800000 HAL_TIMEx_TransitionErrorCallback(htim); 70009ec0: 4620 mov r0, r4 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_TERR); 70009ec2: 611a str r2, [r3, #16] } 70009ec4: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} HAL_TIMEx_TransitionErrorCallback(htim); 70009ec8: f000 b8ae b.w 7000a028 HAL_TIM_OC_DelayElapsedCallback(htim); 70009ecc: f7ff ff44 bl 70009d58 HAL_TIM_PWM_PulseFinishedCallback(htim); 70009ed0: 4620 mov r0, r4 70009ed2: f7ff ff43 bl 70009d5c 70009ed6: e757 b.n 70009d88 HAL_TIM_OC_DelayElapsedCallback(htim); 70009ed8: f7ff ff3e bl 70009d58 HAL_TIM_PWM_PulseFinishedCallback(htim); 70009edc: 4620 mov r0, r4 70009ede: f7ff ff3d bl 70009d5c 70009ee2: e765 b.n 70009db0 HAL_TIM_OC_DelayElapsedCallback(htim); 70009ee4: f7ff ff38 bl 70009d58 HAL_TIM_PWM_PulseFinishedCallback(htim); 70009ee8: 4620 mov r0, r4 70009eea: f7ff ff37 bl 70009d5c 70009eee: e772 b.n 70009dd6 HAL_TIM_OC_DelayElapsedCallback(htim); 70009ef0: f7ff ff32 bl 70009d58 HAL_TIM_PWM_PulseFinishedCallback(htim); 70009ef4: 4620 mov r0, r4 70009ef6: f7ff ff31 bl 70009d5c 70009efa: e77f b.n 70009dfc } 70009efc: bd70 pop {r4, r5, r6, pc} ... 70009f00 : { uint32_t tmpcr1; tmpcr1 = TIMx->CR1; /* Set TIM Time Base Unit parameters ---------------------------------------*/ if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx)) 70009f00: f1b0 4f84 cmp.w r0, #1107296256 @ 0x42000000 tmpcr1 = TIMx->CR1; 70009f04: 6803 ldr r3, [r0, #0] if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx)) 70009f06: d00d beq.n 70009f24 70009f08: f1b0 4f80 cmp.w r0, #1073741824 @ 0x40000000 70009f0c: d00a beq.n 70009f24 70009f0e: 4a27 ldr r2, [pc, #156] @ (70009fac ) 70009f10: 4290 cmp r0, r2 70009f12: d007 beq.n 70009f24 70009f14: f502 6280 add.w r2, r2, #1024 @ 0x400 70009f18: 4290 cmp r0, r2 70009f1a: d003 beq.n 70009f24 70009f1c: f502 6280 add.w r2, r2, #1024 @ 0x400 70009f20: 4290 cmp r0, r2 70009f22: d108 bne.n 70009f36 { /* Select the Counter Mode */ tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS); 70009f24: f023 0370 bic.w r3, r3, #112 @ 0x70 tmpcr1 |= Structure->CounterMode; 70009f28: 684a ldr r2, [r1, #4] 70009f2a: 4313 orrs r3, r2 } if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx)) { /* Set the clock division */ tmpcr1 &= ~TIM_CR1_CKD; 70009f2c: f423 7340 bic.w r3, r3, #768 @ 0x300 tmpcr1 |= (uint32_t)Structure->ClockDivision; 70009f30: 68ca ldr r2, [r1, #12] 70009f32: 4313 orrs r3, r2 70009f34: e018 b.n 70009f68 if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx)) 70009f36: 4a1e ldr r2, [pc, #120] @ (70009fb0 ) 70009f38: 4290 cmp r0, r2 70009f3a: d0f7 beq.n 70009f2c 70009f3c: 4a1d ldr r2, [pc, #116] @ (70009fb4 ) 70009f3e: 4290 cmp r0, r2 70009f40: d0f4 beq.n 70009f2c 70009f42: f502 6280 add.w r2, r2, #1024 @ 0x400 70009f46: 4290 cmp r0, r2 70009f48: d0f0 beq.n 70009f2c 70009f4a: f502 6280 add.w r2, r2, #1024 @ 0x400 70009f4e: 4290 cmp r0, r2 70009f50: d0ec beq.n 70009f2c 70009f52: 4a19 ldr r2, [pc, #100] @ (70009fb8 ) 70009f54: 4290 cmp r0, r2 70009f56: d0e9 beq.n 70009f2c 70009f58: f502 6280 add.w r2, r2, #1024 @ 0x400 70009f5c: 4290 cmp r0, r2 70009f5e: d0e5 beq.n 70009f2c 70009f60: f502 6280 add.w r2, r2, #1024 @ 0x400 70009f64: 4290 cmp r0, r2 70009f66: d0e1 beq.n 70009f2c } /* Set the auto-reload preload */ MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload); 70009f68: 694a ldr r2, [r1, #20] 70009f6a: f023 0380 bic.w r3, r3, #128 @ 0x80 TIMx->ARR = (uint32_t)Structure->Period ; /* Set the Prescaler value */ TIMx->PSC = Structure->Prescaler; if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx)) 70009f6e: f1b0 4f84 cmp.w r0, #1107296256 @ 0x42000000 MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload); 70009f72: ea43 0302 orr.w r3, r3, r2 TIMx->ARR = (uint32_t)Structure->Period ; 70009f76: 688a ldr r2, [r1, #8] 70009f78: 62c2 str r2, [r0, #44] @ 0x2c TIMx->PSC = Structure->Prescaler; 70009f7a: 680a ldr r2, [r1, #0] 70009f7c: 6282 str r2, [r0, #40] @ 0x28 if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx)) 70009f7e: d00a beq.n 70009f96 70009f80: 4a0d ldr r2, [pc, #52] @ (70009fb8 ) 70009f82: 4290 cmp r0, r2 70009f84: d007 beq.n 70009f96 70009f86: f502 6280 add.w r2, r2, #1024 @ 0x400 70009f8a: 4290 cmp r0, r2 70009f8c: d003 beq.n 70009f96 70009f8e: f502 6280 add.w r2, r2, #1024 @ 0x400 70009f92: 4290 cmp r0, r2 70009f94: d101 bne.n 70009f9a { /* Set the Repetition Counter value */ TIMx->RCR = Structure->RepetitionCounter; 70009f96: 690a ldr r2, [r1, #16] 70009f98: 6302 str r2, [r0, #48] @ 0x30 } /* Disable Update Event (UEV) with Update Generation (UG) by changing Update Request Source (URS) to avoid Update flag (UIF) */ SET_BIT(TIMx->CR1, TIM_CR1_URS); 70009f9a: 6802 ldr r2, [r0, #0] 70009f9c: f042 0204 orr.w r2, r2, #4 70009fa0: 6002 str r2, [r0, #0] /* Generate an update event to reload the Prescaler and the repetition counter (only for advanced timer) value immediately */ TIMx->EGR = TIM_EGR_UG; 70009fa2: 2201 movs r2, #1 70009fa4: 6142 str r2, [r0, #20] TIMx->CR1 = tmpcr1; 70009fa6: 6003 str r3, [r0, #0] } 70009fa8: 4770 bx lr 70009faa: bf00 nop 70009fac: 40000400 .word 0x40000400 70009fb0: 42004c00 .word 0x42004c00 70009fb4: 40001800 .word 0x40001800 70009fb8: 42004000 .word 0x42004000 70009fbc : { 70009fbc: b510 push {r4, lr} if (htim == NULL) 70009fbe: 4604 mov r4, r0 70009fc0: b350 cbz r0, 7000a018 if (htim->State == HAL_TIM_STATE_RESET) 70009fc2: f890 303d ldrb.w r3, [r0, #61] @ 0x3d 70009fc6: f003 02ff and.w r2, r3, #255 @ 0xff 70009fca: b91b cbnz r3, 70009fd4 htim->Lock = HAL_UNLOCKED; 70009fcc: f880 203c strb.w r2, [r0, #60] @ 0x3c HAL_TIM_Base_MspInit(htim); 70009fd0: f7ff fe80 bl 70009cd4 htim->State = HAL_TIM_STATE_BUSY; 70009fd4: 2302 movs r3, #2 TIM_Base_SetConfig(htim->Instance, &htim->Init); 70009fd6: 6820 ldr r0, [r4, #0] 70009fd8: 1d21 adds r1, r4, #4 htim->State = HAL_TIM_STATE_BUSY; 70009fda: f884 303d strb.w r3, [r4, #61] @ 0x3d TIM_Base_SetConfig(htim->Instance, &htim->Init); 70009fde: f7ff ff8f bl 70009f00 htim->DMABurstState = HAL_DMA_BURST_STATE_READY; 70009fe2: 2301 movs r3, #1 return HAL_OK; 70009fe4: 2000 movs r0, #0 htim->DMABurstState = HAL_DMA_BURST_STATE_READY; 70009fe6: f884 3048 strb.w r3, [r4, #72] @ 0x48 TIM_CHANNEL_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); 70009fea: f884 303e strb.w r3, [r4, #62] @ 0x3e 70009fee: f884 303f strb.w r3, [r4, #63] @ 0x3f 70009ff2: f884 3040 strb.w r3, [r4, #64] @ 0x40 70009ff6: f884 3041 strb.w r3, [r4, #65] @ 0x41 70009ffa: f884 3042 strb.w r3, [r4, #66] @ 0x42 70009ffe: f884 3043 strb.w r3, [r4, #67] @ 0x43 TIM_CHANNEL_N_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); 7000a002: f884 3044 strb.w r3, [r4, #68] @ 0x44 7000a006: f884 3045 strb.w r3, [r4, #69] @ 0x45 7000a00a: f884 3046 strb.w r3, [r4, #70] @ 0x46 7000a00e: f884 3047 strb.w r3, [r4, #71] @ 0x47 htim->State = HAL_TIM_STATE_READY; 7000a012: f884 303d strb.w r3, [r4, #61] @ 0x3d } 7000a016: bd10 pop {r4, pc} return HAL_ERROR; 7000a018: 2001 movs r0, #1 7000a01a: e7fc b.n 7000a016 7000a01c : /** * @brief Commutation callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim) 7000a01c: 4770 bx lr 7000a01e : /** * @brief Break detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim) 7000a01e: 4770 bx lr 7000a020 : /** * @brief Break2 detection callback in non blocking mode * @param htim: TIM handle * @retval None */ __weak void HAL_TIMEx_Break2Callback(TIM_HandleTypeDef *htim) 7000a020: 4770 bx lr 7000a022 : /** * @brief Encoder index callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_EncoderIndexCallback(TIM_HandleTypeDef *htim) 7000a022: 4770 bx lr 7000a024 : /** * @brief Direction change callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_DirectionChangeCallback(TIM_HandleTypeDef *htim) 7000a024: 4770 bx lr 7000a026 : /** * @brief Index error callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_IndexErrorCallback(TIM_HandleTypeDef *htim) 7000a026: 4770 bx lr 7000a028 : /** * @brief Transition error callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_TransitionErrorCallback(TIM_HandleTypeDef *htim) 7000a028: 4770 bx lr ... 7000a02c : /** * @brief Probe the WM8904 audio codec. * @retval BSP status. */ static int32_t WM8904_Probe(void) { 7000a02c: b510 push {r4, lr} WM8904_IO_t IOCtx; uint32_t wm8904_id; static WM8904_Object_t WM8904Obj; /* Configure the audio driver */ IOCtx.Address = AUDIO_I2C_ADDRESS; 7000a02e: 2334 movs r3, #52 @ 0x34 { 7000a030: b088 sub sp, #32 IOCtx.DeInit = BSP_I2C1_DeInit; IOCtx.ReadReg = BSP_I2C1_ReadReg; IOCtx.WriteReg = BSP_I2C1_WriteReg; IOCtx.GetTick = BSP_GetTick; if (WM8904_RegisterBusIO(&WM8904Obj, &IOCtx) != WM8904_OK) 7000a032: 4c16 ldr r4, [pc, #88] @ (7000a08c ) IOCtx.Address = AUDIO_I2C_ADDRESS; 7000a034: f8ad 3010 strh.w r3, [sp, #16] if (WM8904_RegisterBusIO(&WM8904Obj, &IOCtx) != WM8904_OK) 7000a038: a902 add r1, sp, #8 IOCtx.Init = BSP_I2C1_Init; 7000a03a: 4b15 ldr r3, [pc, #84] @ (7000a090 ) if (WM8904_RegisterBusIO(&WM8904Obj, &IOCtx) != WM8904_OK) 7000a03c: 4620 mov r0, r4 IOCtx.Init = BSP_I2C1_Init; 7000a03e: 9302 str r3, [sp, #8] IOCtx.DeInit = BSP_I2C1_DeInit; 7000a040: 4b14 ldr r3, [pc, #80] @ (7000a094 ) 7000a042: 9303 str r3, [sp, #12] IOCtx.ReadReg = BSP_I2C1_ReadReg; 7000a044: 4b14 ldr r3, [pc, #80] @ (7000a098 ) 7000a046: 9306 str r3, [sp, #24] IOCtx.WriteReg = BSP_I2C1_WriteReg; 7000a048: 4b14 ldr r3, [pc, #80] @ (7000a09c ) 7000a04a: 9305 str r3, [sp, #20] IOCtx.GetTick = BSP_GetTick; 7000a04c: 4b14 ldr r3, [pc, #80] @ (7000a0a0 ) 7000a04e: 9307 str r3, [sp, #28] if (WM8904_RegisterBusIO(&WM8904Obj, &IOCtx) != WM8904_OK) 7000a050: f001 fa56 bl 7000b500 7000a054: b988 cbnz r0, 7000a07a { status = BSP_ERROR_BUS_FAILURE; } else if (WM8904_ReadID(&WM8904Obj, &wm8904_id) != WM8904_OK) 7000a056: a901 add r1, sp, #4 7000a058: 4620 mov r0, r4 7000a05a: f001 f949 bl 7000b2f0 7000a05e: b978 cbnz r0, 7000a080 { status = BSP_ERROR_COMPONENT_FAILURE; } else if ((wm8904_id & WM8904_ID_MASK) != WM8904_ID) 7000a060: f8bd 2004 ldrh.w r2, [sp, #4] 7000a064: f648 1304 movw r3, #35076 @ 0x8904 7000a068: 429a cmp r2, r3 7000a06a: d10c bne.n 7000a086 { status = BSP_ERROR_UNKNOWN_COMPONENT; } else { Audio_Drv = (AUDIO_Drv_t *) &WM8904_Driver; 7000a06c: 4b0d ldr r3, [pc, #52] @ (7000a0a4 ) 7000a06e: 4a0e ldr r2, [pc, #56] @ (7000a0a8 ) 7000a070: 601a str r2, [r3, #0] Audio_CompObj = &WM8904Obj; 7000a072: 4b0e ldr r3, [pc, #56] @ (7000a0ac ) 7000a074: 601c str r4, [r3, #0] } return status; } 7000a076: b008 add sp, #32 7000a078: bd10 pop {r4, pc} status = BSP_ERROR_BUS_FAILURE; 7000a07a: f06f 0007 mvn.w r0, #7 7000a07e: e7fa b.n 7000a076 status = BSP_ERROR_COMPONENT_FAILURE; 7000a080: f06f 0004 mvn.w r0, #4 7000a084: e7f7 b.n 7000a076 status = BSP_ERROR_UNKNOWN_COMPONENT; 7000a086: f06f 0006 mvn.w r0, #6 return status; 7000a08a: e7f4 b.n 7000a076 7000a08c: 2400c028 .word 0x2400c028 7000a090: 7000a95d .word 0x7000a95d 7000a094: 7000a841 .word 0x7000a841 7000a098: 7000a8dd .word 0x7000a8dd 7000a09c: 7000a8a9 .word 0x7000a8a9 7000a0a0: 7000a911 .word 0x7000a911 7000a0a4: 2400c1ec .word 0x2400c1ec 7000a0a8: 240000bc .word 0x240000bc 7000a0ac: 2400c1f0 .word 0x2400c1f0 7000a0b0 : { 7000a0b0: b538 push {r3, r4, r5, lr} if ((Instance >= AUDIO_OUT_INSTANCES_NBR) || (pData == NULL) || (NbrOfBytes > 65535U)) 7000a0b2: bb18 cbnz r0, 7000a0fc 7000a0b4: b311 cbz r1, 7000a0fc 7000a0b6: f5b2 3f80 cmp.w r2, #65536 @ 0x10000 7000a0ba: d21f bcs.n 7000a0fc else if (Audio_Out_Ctx[Instance].State != AUDIO_OUT_STATE_STOP) 7000a0bc: 4d15 ldr r5, [pc, #84] @ (7000a114 ) 7000a0be: 69ab ldr r3, [r5, #24] 7000a0c0: 2b02 cmp r3, #2 7000a0c2: d11e bne.n 7000a102 __HAL_I2S_DISABLE(&haudio_out_i2s); 7000a0c4: 4814 ldr r0, [pc, #80] @ (7000a118 ) if (Audio_Out_Ctx[Instance].BitsPerSample == AUDIO_RESOLUTION_16B) 7000a0c6: 68ab ldr r3, [r5, #8] __HAL_I2S_DISABLE(&haudio_out_i2s); 7000a0c8: 6804 ldr r4, [r0, #0] if (Audio_Out_Ctx[Instance].BitsPerSample == AUDIO_RESOLUTION_16B) 7000a0ca: 2b10 cmp r3, #16 __HAL_I2S_DISABLE(&haudio_out_i2s); 7000a0cc: 6823 ldr r3, [r4, #0] NbrOfDmaDatas = (uint16_t)(NbrOfBytes / 2U); 7000a0ce: bf0c ite eq 7000a0d0: 0852 lsreq r2, r2, #1 NbrOfDmaDatas = (uint16_t)(NbrOfBytes / 4U); 7000a0d2: 0892 lsrne r2, r2, #2 __HAL_I2S_DISABLE(&haudio_out_i2s); 7000a0d4: f023 0301 bic.w r3, r3, #1 if (HAL_I2S_Transmit_DMA(&haudio_out_i2s, (uint16_t *) pData, NbrOfDmaDatas) != HAL_OK) 7000a0d8: b292 uxth r2, r2 __HAL_I2S_DISABLE(&haudio_out_i2s); 7000a0da: 6023 str r3, [r4, #0] if (HAL_I2S_Transmit_DMA(&haudio_out_i2s, (uint16_t *) pData, NbrOfDmaDatas) != HAL_OK) 7000a0dc: f7fc fd9e bl 70006c1c 7000a0e0: 4604 mov r4, r0 7000a0e2: b988 cbnz r0, 7000a108 else if (Audio_Drv->Play(Audio_CompObj) < 0) 7000a0e4: 4b0d ldr r3, [pc, #52] @ (7000a11c ) 7000a0e6: 4a0e ldr r2, [pc, #56] @ (7000a120 ) 7000a0e8: 681b ldr r3, [r3, #0] 7000a0ea: 6810 ldr r0, [r2, #0] 7000a0ec: 68db ldr r3, [r3, #12] 7000a0ee: 4798 blx r3 7000a0f0: 2800 cmp r0, #0 7000a0f2: db0c blt.n 7000a10e Audio_Out_Ctx[Instance].State = AUDIO_OUT_STATE_PLAYING; 7000a0f4: 2301 movs r3, #1 int32_t status = BSP_ERROR_NONE; 7000a0f6: 4620 mov r0, r4 Audio_Out_Ctx[Instance].State = AUDIO_OUT_STATE_PLAYING; 7000a0f8: 61ab str r3, [r5, #24] } 7000a0fa: bd38 pop {r3, r4, r5, pc} status = BSP_ERROR_WRONG_PARAM; 7000a0fc: f06f 0001 mvn.w r0, #1 7000a100: e7fb b.n 7000a0fa status = BSP_ERROR_BUSY; 7000a102: f06f 0002 mvn.w r0, #2 7000a106: e7f8 b.n 7000a0fa status = BSP_ERROR_PERIPH_FAILURE; 7000a108: f06f 0003 mvn.w r0, #3 7000a10c: e7f5 b.n 7000a0fa status = BSP_ERROR_COMPONENT_FAILURE; 7000a10e: f06f 0004 mvn.w r0, #4 return status; 7000a112: e7f2 b.n 7000a0fa 7000a114: 240000a0 .word 0x240000a0 7000a118: 2400c174 .word 0x2400c174 7000a11c: 2400c1ec .word 0x2400c1ec 7000a120: 2400c1f0 .word 0x2400c1f0 7000a124 : { 7000a124: b508 push {r3, lr} if (Instance >= AUDIO_OUT_INSTANCES_NBR) 7000a126: b998 cbnz r0, 7000a150 if (HAL_I2S_RegisterCallback(&haudio_out_i2s, HAL_I2S_MSPINIT_CB_ID, I2S_MspInit) != HAL_OK) 7000a128: 4a0b ldr r2, [pc, #44] @ (7000a158 ) 7000a12a: 2107 movs r1, #7 7000a12c: 480b ldr r0, [pc, #44] @ (7000a15c ) 7000a12e: f7fc fd45 bl 70006bbc 7000a132: b110 cbz r0, 7000a13a status = BSP_ERROR_PERIPH_FAILURE; 7000a134: f06f 0003 mvn.w r0, #3 } 7000a138: bd08 pop {r3, pc} else if (HAL_I2S_RegisterCallback(&haudio_out_i2s, HAL_I2S_MSPDEINIT_CB_ID, I2S_MspDeInit) != HAL_OK) 7000a13a: 4a09 ldr r2, [pc, #36] @ (7000a160 ) 7000a13c: 2108 movs r1, #8 7000a13e: 4807 ldr r0, [pc, #28] @ (7000a15c ) 7000a140: f7fc fd3c bl 70006bbc 7000a144: 2800 cmp r0, #0 7000a146: d1f5 bne.n 7000a134 AudioOut_IsMspCbValid[Instance] = 1U; 7000a148: 4b06 ldr r3, [pc, #24] @ (7000a164 ) 7000a14a: 2201 movs r2, #1 7000a14c: 601a str r2, [r3, #0] 7000a14e: e7f3 b.n 7000a138 status = BSP_ERROR_WRONG_PARAM; 7000a150: f06f 0001 mvn.w r0, #1 return status; 7000a154: e7f0 b.n 7000a138 7000a156: bf00 nop 7000a158: 7000a3c5 .word 0x7000a3c5 7000a15c: 2400c174 .word 0x2400c174 7000a160: 7000a311 .word 0x7000a311 7000a164: 2400c080 .word 0x2400c080 7000a168 : */ static void I2S_TxCpltCallback(I2S_HandleTypeDef *hi2s) { UNUSED(hi2s); BSP_AUDIO_OUT_TransferComplete_CallBack(0); 7000a168: 2000 movs r0, #0 { 7000a16a: b508 push {r3, lr} BSP_AUDIO_OUT_TransferComplete_CallBack(0); 7000a16c: f7f6 fe6a bl 70000e44 } 7000a170: bd08 pop {r3, pc} 7000a172 : */ static void I2S_TxHalfCpltCallback(I2S_HandleTypeDef *hi2s) { UNUSED(hi2s); BSP_AUDIO_OUT_HalfTransfer_CallBack(0); 7000a172: 2000 movs r0, #0 { 7000a174: b508 push {r3, lr} BSP_AUDIO_OUT_HalfTransfer_CallBack(0); 7000a176: f7f6 fe5f bl 70000e38 } 7000a17a: bd08 pop {r3, pc} 7000a17c : __weak void BSP_AUDIO_OUT_Error_CallBack(uint32_t Instance) 7000a17c: 4770 bx lr ... 7000a180 : HAL_DMA_IRQHandler(haudio_out_i2s.hdmatx); 7000a180: 4b01 ldr r3, [pc, #4] @ (7000a188 ) 7000a182: 6c58 ldr r0, [r3, #68] @ 0x44 7000a184: f7fa beb1 b.w 70004eea 7000a188: 2400c174 .word 0x2400c174 7000a18c : __HAL_I2S_DISABLE(hi2s); 7000a18c: 6802 ldr r2, [r0, #0] 7000a18e: 6813 ldr r3, [r2, #0] 7000a190: f023 0301 bic.w r3, r3, #1 { 7000a194: b510 push {r4, lr} __HAL_I2S_DISABLE(hi2s); 7000a196: 6013 str r3, [r2, #0] { 7000a198: 4604 mov r4, r0 hi2s->Init.DataFormat = MXInit->DataFormat; 7000a19a: 688a ldr r2, [r1, #8] hi2s->Init.Mode = MXInit->Mode; 7000a19c: 684b ldr r3, [r1, #4] hi2s->Init.DataFormat = MXInit->DataFormat; 7000a19e: 60c2 str r2, [r0, #12] hi2s->Init.MCLKOutput = I2S_MCLKOUTPUT_ENABLE; 7000a1a0: f04f 7200 mov.w r2, #33554432 @ 0x2000000 hi2s->Init.Mode = MXInit->Mode; 7000a1a4: 6043 str r3, [r0, #4] hi2s->Init.Standard = I2S_STANDARD_PHILIPS; 7000a1a6: 2300 movs r3, #0 hi2s->Init.MCLKOutput = I2S_MCLKOUTPUT_ENABLE; 7000a1a8: 6102 str r2, [r0, #16] hi2s->Init.AudioFreq = MXInit->AudioFrequency; 7000a1aa: 680a ldr r2, [r1, #0] hi2s->Init.Standard = I2S_STANDARD_PHILIPS; 7000a1ac: 6083 str r3, [r0, #8] hi2s->Init.Data24BitAlignment = I2S_DATA_24BIT_ALIGNMENT_RIGHT; 7000a1ae: 6243 str r3, [r0, #36] @ 0x24 hi2s->Init.CPOL = I2S_CPOL_LOW; 7000a1b0: e9c0 2305 strd r2, r3, [r0, #20] hi2s->Init.WSInversion = I2S_WS_INVERSION_DISABLE; 7000a1b4: e9c0 3307 strd r3, r3, [r0, #28] hi2s->Init.MasterKeepIOState = I2S_MASTER_KEEP_IO_STATE_ENABLE; 7000a1b8: f04f 4300 mov.w r3, #2147483648 @ 0x80000000 7000a1bc: 6283 str r3, [r0, #40] @ 0x28 if (HAL_I2S_Init(hi2s) != HAL_OK) 7000a1be: f7fc fc23 bl 70006a08 __HAL_I2S_ENABLE(hi2s); 7000a1c2: 6822 ldr r2, [r4, #0] } 7000a1c4: 3800 subs r0, #0 __HAL_I2S_ENABLE(hi2s); 7000a1c6: 6813 ldr r3, [r2, #0] } 7000a1c8: bf18 it ne 7000a1ca: 2001 movne r0, #1 __HAL_I2S_ENABLE(hi2s); 7000a1cc: f043 0301 orr.w r3, r3, #1 7000a1d0: 6013 str r3, [r2, #0] } 7000a1d2: bd10 pop {r4, pc} 7000a1d4 : { 7000a1d4: b570 push {r4, r5, r6, lr} 7000a1d6: 460d mov r5, r1 7000a1d8: b088 sub sp, #32 if (Instance >= AUDIO_OUT_INSTANCES_NBR) 7000a1da: 2800 cmp r0, #0 7000a1dc: d16a bne.n 7000a2b4 else if ((Instance == 0U) && ((AudioInit->BitsPerSample == AUDIO_RESOLUTION_32B) 7000a1de: 688b ldr r3, [r1, #8] 7000a1e0: 2b20 cmp r3, #32 7000a1e2: d06a beq.n 7000a2ba || (AudioInit->BitsPerSample == AUDIO_RESOLUTION_8B))) 7000a1e4: 2b08 cmp r3, #8 7000a1e6: d068 beq.n 7000a2ba else if ((Instance == 0U) && (AudioInit->ChannelsNbr != 2U)) 7000a1e8: 68ca ldr r2, [r1, #12] 7000a1ea: 2a02 cmp r2, #2 7000a1ec: d165 bne.n 7000a2ba else if ((Instance == 0U) && (Audio_In_Ctx[0].State != AUDIO_IN_STATE_RESET)) 7000a1ee: 4939 ldr r1, [pc, #228] @ (7000a2d4 ) 7000a1f0: 69c9 ldr r1, [r1, #28] 7000a1f2: 2900 cmp r1, #0 7000a1f4: d161 bne.n 7000a2ba else if (Audio_Out_Ctx[Instance].State != AUDIO_OUT_STATE_RESET) 7000a1f6: 4e38 ldr r6, [pc, #224] @ (7000a2d8 ) 7000a1f8: 69b1 ldr r1, [r6, #24] 7000a1fa: 2900 cmp r1, #0 7000a1fc: d160 bne.n 7000a2c0 Audio_Out_Ctx[Instance].Device = AudioInit->Device; 7000a1fe: 6829 ldr r1, [r5, #0] 7000a200: 6031 str r1, [r6, #0] Audio_Out_Ctx[Instance].SampleRate = AudioInit->SampleRate; 7000a202: 6869 ldr r1, [r5, #4] Audio_Out_Ctx[Instance].ChannelsNbr = AudioInit->ChannelsNbr; 7000a204: 6132 str r2, [r6, #16] Audio_Out_Ctx[Instance].BitsPerSample = AudioInit->BitsPerSample; 7000a206: e9c6 1301 strd r1, r3, [r6, #4] Audio_Out_Ctx[Instance].Volume = AudioInit->Volume; 7000a20a: 692b ldr r3, [r5, #16] 7000a20c: 60f3 str r3, [r6, #12] if (WM8904_Probe() != BSP_ERROR_NONE) 7000a20e: f7ff ff0d bl 7000a02c 7000a212: 4604 mov r4, r0 7000a214: 2800 cmp r0, #0 7000a216: d156 bne.n 7000a2c6 haudio_out_i2s.Instance = SPI6; 7000a218: 4b30 ldr r3, [pc, #192] @ (7000a2dc ) 7000a21a: 4a31 ldr r2, [pc, #196] @ (7000a2e0 ) if (MX_I2S6_ClockConfig(&haudio_out_i2s, AudioInit->SampleRate) != HAL_OK) 7000a21c: 6869 ldr r1, [r5, #4] haudio_out_i2s.Instance = SPI6; 7000a21e: 6013 str r3, [r2, #0] Audio_Out_Ctx[Instance].State = AUDIO_OUT_STATE_INIT; 7000a220: 2304 movs r3, #4 if (MX_I2S6_ClockConfig(&haudio_out_i2s, AudioInit->SampleRate) != HAL_OK) 7000a222: 4610 mov r0, r2 Audio_Out_Ctx[Instance].State = AUDIO_OUT_STATE_INIT; 7000a224: 61b3 str r3, [r6, #24] if (MX_I2S6_ClockConfig(&haudio_out_i2s, AudioInit->SampleRate) != HAL_OK) 7000a226: f7f6 fe13 bl 70000e50 7000a22a: 2800 cmp r0, #0 7000a22c: d14e bne.n 7000a2cc if (AudioOut_IsMspCbValid[Instance] == 0U) 7000a22e: 4b2d ldr r3, [pc, #180] @ (7000a2e4 ) 7000a230: 681b ldr r3, [r3, #0] 7000a232: 2b00 cmp r3, #0 7000a234: d037 beq.n 7000a2a6 mxI2sInit.AudioFrequency = AudioInit->SampleRate; 7000a236: 686b ldr r3, [r5, #4] if (MX_I2S6_Init(&haudio_out_i2s, &mxI2sInit) != HAL_OK) 7000a238: 4669 mov r1, sp 7000a23a: 4829 ldr r0, [pc, #164] @ (7000a2e0 ) mxI2sInit.AudioFrequency = AudioInit->SampleRate; 7000a23c: 9300 str r3, [sp, #0] mxI2sInit.Mode = I2S_MODE_MASTER_TX; 7000a23e: 2304 movs r3, #4 7000a240: 9301 str r3, [sp, #4] mxI2sInit.DataFormat = (AudioInit->BitsPerSample == AUDIO_RESOLUTION_16B) ? I2S_DATAFORMAT_16B : 7000a242: 68ab ldr r3, [r5, #8] 7000a244: 3b10 subs r3, #16 7000a246: bf18 it ne 7000a248: 2301 movne r3, #1 7000a24a: 021b lsls r3, r3, #8 7000a24c: 9302 str r3, [sp, #8] if (MX_I2S6_Init(&haudio_out_i2s, &mxI2sInit) != HAL_OK) 7000a24e: f7ff ff9d bl 7000a18c 7000a252: 4601 mov r1, r0 7000a254: 2800 cmp r0, #0 7000a256: d12a bne.n 7000a2ae else if (HAL_I2S_RegisterCallback(&haudio_out_i2s, HAL_I2S_TX_COMPLETE_CB_ID, I2S_TxCpltCallback) != HAL_OK) 7000a258: 4a23 ldr r2, [pc, #140] @ (7000a2e8 ) 7000a25a: 4821 ldr r0, [pc, #132] @ (7000a2e0 ) 7000a25c: f7fc fcae bl 70006bbc 7000a260: bb28 cbnz r0, 7000a2ae else if (HAL_I2S_RegisterCallback(&haudio_out_i2s, HAL_I2S_TX_HALF_COMPLETE_CB_ID, I2S_TxHalfCpltCallback) != HAL_OK) 7000a262: 4a22 ldr r2, [pc, #136] @ (7000a2ec ) 7000a264: 2103 movs r1, #3 7000a266: 481e ldr r0, [pc, #120] @ (7000a2e0 ) 7000a268: f7fc fca8 bl 70006bbc 7000a26c: b9f8 cbnz r0, 7000a2ae else if (HAL_I2S_RegisterCallback(&haudio_out_i2s, HAL_I2S_ERROR_CB_ID, I2S_ErrorCallback) != HAL_OK) 7000a26e: 4a20 ldr r2, [pc, #128] @ (7000a2f0 ) 7000a270: 2106 movs r1, #6 7000a272: 481b ldr r0, [pc, #108] @ (7000a2e0 ) 7000a274: f7fc fca2 bl 70006bbc 7000a278: b9c8 cbnz r0, 7000a2ae codec_init.OutputDevice = WM8904_OUT_HEADPHONE; 7000a27a: 2301 movs r3, #1 if (Audio_Drv->Init(Audio_CompObj, &codec_init) < 0) 7000a27c: 4a1d ldr r2, [pc, #116] @ (7000a2f4 ) codec_init.InputDevice = WM8904_IN_NONE; 7000a27e: 9003 str r0, [sp, #12] if (Audio_Drv->Init(Audio_CompObj, &codec_init) < 0) 7000a280: a903 add r1, sp, #12 codec_init.OutputDevice = WM8904_OUT_HEADPHONE; 7000a282: 9304 str r3, [sp, #16] codec_init.Frequency = AudioInit->SampleRate; 7000a284: 686b ldr r3, [r5, #4] codec_init.Resolution = WM8904_RESOLUTION_16B; 7000a286: 9006 str r0, [sp, #24] codec_init.Frequency = AudioInit->SampleRate; 7000a288: 9305 str r3, [sp, #20] codec_init.Volume = AudioInit->Volume; 7000a28a: 692b ldr r3, [r5, #16] if (Audio_Drv->Init(Audio_CompObj, &codec_init) < 0) 7000a28c: 6810 ldr r0, [r2, #0] codec_init.Volume = AudioInit->Volume; 7000a28e: 9307 str r3, [sp, #28] if (Audio_Drv->Init(Audio_CompObj, &codec_init) < 0) 7000a290: 4b19 ldr r3, [pc, #100] @ (7000a2f8 ) 7000a292: 681b ldr r3, [r3, #0] 7000a294: 681b ldr r3, [r3, #0] 7000a296: 4798 blx r3 7000a298: 2800 cmp r0, #0 7000a29a: db14 blt.n 7000a2c6 Audio_Out_Ctx[Instance].State = AUDIO_OUT_STATE_STOP; 7000a29c: 2302 movs r3, #2 7000a29e: 61b3 str r3, [r6, #24] } 7000a2a0: 4620 mov r0, r4 7000a2a2: b008 add sp, #32 7000a2a4: bd70 pop {r4, r5, r6, pc} if (BSP_AUDIO_OUT_RegisterDefaultMspCallbacks(Instance) != BSP_ERROR_NONE) 7000a2a6: f7ff ff3d bl 7000a124 7000a2aa: 2800 cmp r0, #0 7000a2ac: d0c3 beq.n 7000a236 status = BSP_ERROR_PERIPH_FAILURE; 7000a2ae: f06f 0403 mvn.w r4, #3 return status; 7000a2b2: e7f5 b.n 7000a2a0 status = BSP_ERROR_WRONG_PARAM; 7000a2b4: f06f 0401 mvn.w r4, #1 7000a2b8: e7f2 b.n 7000a2a0 status = BSP_ERROR_FEATURE_NOT_SUPPORTED; 7000a2ba: f06f 040a mvn.w r4, #10 7000a2be: e7ef b.n 7000a2a0 status = BSP_ERROR_BUSY; 7000a2c0: f06f 0402 mvn.w r4, #2 7000a2c4: e7ec b.n 7000a2a0 status = BSP_ERROR_COMPONENT_FAILURE; 7000a2c6: f06f 0404 mvn.w r4, #4 7000a2ca: e7e9 b.n 7000a2a0 status = BSP_ERROR_CLOCK_FAILURE; 7000a2cc: f06f 0408 mvn.w r4, #8 7000a2d0: e7e6 b.n 7000a2a0 7000a2d2: bf00 nop 7000a2d4: 24000060 .word 0x24000060 7000a2d8: 240000a0 .word 0x240000a0 7000a2dc: 58001400 .word 0x58001400 7000a2e0: 2400c174 .word 0x2400c174 7000a2e4: 2400c080 .word 0x2400c080 7000a2e8: 7000a169 .word 0x7000a169 7000a2ec: 7000a173 .word 0x7000a173 7000a2f0: 7000a2ff .word 0x7000a2ff 7000a2f4: 2400c1f0 .word 0x2400c1f0 7000a2f8: 2400c1ec .word 0x2400c1ec 7000a2fc : __weak void BSP_AUDIO_IN_Error_CallBack(uint32_t Instance) 7000a2fc: 4770 bx lr 7000a2fe : */ static void I2S_ErrorCallback(I2S_HandleTypeDef *hi2s) { UNUSED(hi2s); BSP_AUDIO_OUT_Error_CallBack(0); 7000a2fe: 2000 movs r0, #0 { 7000a300: b508 push {r3, lr} BSP_AUDIO_OUT_Error_CallBack(0); 7000a302: f7ff ff3b bl 7000a17c BSP_AUDIO_IN_Error_CallBack(0); 7000a306: 2000 movs r0, #0 7000a308: f7ff fff8 bl 7000a2fc } 7000a30c: bd08 pop {r3, pc} ... 7000a310 : { 7000a310: b508 push {r3, lr} if (Audio_Out_Ctx[0].State != AUDIO_OUT_STATE_RESET) 7000a312: 4b22 ldr r3, [pc, #136] @ (7000a39c ) 7000a314: 699b ldr r3, [r3, #24] 7000a316: b183 cbz r3, 7000a33a HAL_NVIC_DisableIRQ(AUDIO_OUT_I2S6_DMA_IRQ); 7000a318: 2029 movs r0, #41 @ 0x29 7000a31a: f7fa fb17 bl 7000494c if (HAL_DMAEx_List_DeInit(&hDmaI2sTx) != HAL_OK) 7000a31e: 4820 ldr r0, [pc, #128] @ (7000a3a0 ) 7000a320: f7fb f8d0 bl 700054c4 7000a324: b110 cbz r0, 7000a32c BSP_AUDIO_OUT_Error_CallBack(0); 7000a326: 2000 movs r0, #0 7000a328: f7ff ff28 bl 7000a17c if (HAL_DMAEx_List_ResetQ(&I2sTxQueue) != HAL_OK) 7000a32c: 481d ldr r0, [pc, #116] @ (7000a3a4 ) 7000a32e: f7fb fb29 bl 70005984 7000a332: b110 cbz r0, 7000a33a BSP_AUDIO_OUT_Error_CallBack(0); 7000a334: 2000 movs r0, #0 7000a336: f7ff ff21 bl 7000a17c if (Audio_In_Ctx[0].State != AUDIO_IN_STATE_RESET) 7000a33a: 4b1b ldr r3, [pc, #108] @ (7000a3a8 ) 7000a33c: 69db ldr r3, [r3, #28] 7000a33e: b183 cbz r3, 7000a362 HAL_NVIC_DisableIRQ(AUDIO_IN_I2S6_DMA_IRQ); 7000a340: 202a movs r0, #42 @ 0x2a 7000a342: f7fa fb03 bl 7000494c if (HAL_DMAEx_List_DeInit(&hDmaI2sRx) != HAL_OK) 7000a346: 4819 ldr r0, [pc, #100] @ (7000a3ac ) 7000a348: f7fb f8bc bl 700054c4 7000a34c: b110 cbz r0, 7000a354 BSP_AUDIO_IN_Error_CallBack(0); 7000a34e: 2000 movs r0, #0 7000a350: f7ff ffd4 bl 7000a2fc if (HAL_DMAEx_List_ResetQ(&I2sRxQueue) != HAL_OK) 7000a354: 4816 ldr r0, [pc, #88] @ (7000a3b0 ) 7000a356: f7fb fb15 bl 70005984 7000a35a: b110 cbz r0, 7000a362 BSP_AUDIO_IN_Error_CallBack(0); 7000a35c: 2000 movs r0, #0 7000a35e: f7ff ffcd bl 7000a2fc HAL_GPIO_DeInit(AUDIO_I2S6_MCK_GPIO_PORT, AUDIO_I2S6_MCK_GPIO_PIN); 7000a362: 2108 movs r1, #8 7000a364: 4813 ldr r0, [pc, #76] @ (7000a3b4 ) 7000a366: f7fb fe4d bl 70006004 HAL_GPIO_DeInit(AUDIO_I2S6_CK_GPIO_PORT, AUDIO_I2S6_CK_GPIO_PIN); 7000a36a: 2120 movs r1, #32 7000a36c: 4811 ldr r0, [pc, #68] @ (7000a3b4 ) 7000a36e: f7fb fe49 bl 70006004 HAL_GPIO_DeInit(AUDIO_I2S6_WS_GPIO_PORT, AUDIO_I2S6_WS_GPIO_PIN); 7000a372: 2110 movs r1, #16 7000a374: 480f ldr r0, [pc, #60] @ (7000a3b4 ) 7000a376: f7fb fe45 bl 70006004 HAL_GPIO_DeInit(AUDIO_I2S6_SDI_GPIO_PORT, AUDIO_I2S6_SDI_GPIO_PIN); 7000a37a: f44f 5180 mov.w r1, #4096 @ 0x1000 7000a37e: 480e ldr r0, [pc, #56] @ (7000a3b8 ) 7000a380: f7fb fe40 bl 70006004 HAL_GPIO_DeInit(AUDIO_I2S6_SDO_GPIO_PORT, AUDIO_I2S6_SDO_GPIO_PIN); 7000a384: 2120 movs r1, #32 7000a386: 480d ldr r0, [pc, #52] @ (7000a3bc ) 7000a388: f7fb fe3c bl 70006004 AUDIO_I2S6_CLK_DISABLE(); 7000a38c: 4a0c ldr r2, [pc, #48] @ (7000a3c0 ) 7000a38e: f8d2 3154 ldr.w r3, [r2, #340] @ 0x154 7000a392: f023 0320 bic.w r3, r3, #32 7000a396: f8c2 3154 str.w r3, [r2, #340] @ 0x154 } 7000a39a: bd08 pop {r3, pc} 7000a39c: 240000a0 .word 0x240000a0 7000a3a0: 2400c0fc .word 0x2400c0fc 7000a3a4: 2400c068 .word 0x2400c068 7000a3a8: 24000060 .word 0x24000060 7000a3ac: 2400c084 .word 0x2400c084 7000a3b0: 2400c050 .word 0x2400c050 7000a3b4: 58020000 .word 0x58020000 7000a3b8: 58021800 .word 0x58021800 7000a3bc: 58020400 .word 0x58020400 7000a3c0: 58024400 .word 0x58024400 7000a3c4 : { 7000a3c4: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} AUDIO_I2S6_CLK_ENABLE(); 7000a3c8: 4caa ldr r4, [pc, #680] @ (7000a674 ) { 7000a3ca: b08f sub sp, #60 @ 0x3c GPIO_InitStruct.Pull = GPIO_NOPULL; 7000a3cc: 2502 movs r5, #2 GPIO_InitStruct.Pin = AUDIO_I2S6_MCK_GPIO_PIN; 7000a3ce: 2708 movs r7, #8 AUDIO_I2S6_CLK_ENABLE(); 7000a3d0: f8d4 3154 ldr.w r3, [r4, #340] @ 0x154 GPIO_InitStruct.Alternate = AUDIO_I2S6_MCK_SDI_GPIO_AF; 7000a3d4: f04f 0905 mov.w r9, #5 HAL_GPIO_Init(AUDIO_I2S6_MCK_GPIO_PORT, &GPIO_InitStruct); 7000a3d8: a909 add r1, sp, #36 @ 0x24 { 7000a3da: 4606 mov r6, r0 AUDIO_I2S6_CLK_ENABLE(); 7000a3dc: f043 0320 orr.w r3, r3, #32 HAL_GPIO_Init(AUDIO_I2S6_MCK_GPIO_PORT, &GPIO_InitStruct); 7000a3e0: 48a5 ldr r0, [pc, #660] @ (7000a678 ) GPIO_InitStruct.Pin = AUDIO_I2S6_CK_GPIO_PIN; 7000a3e2: f04f 0820 mov.w r8, #32 AUDIO_I2S6_CLK_ENABLE(); 7000a3e6: f8c4 3154 str.w r3, [r4, #340] @ 0x154 7000a3ea: f8d4 3154 ldr.w r3, [r4, #340] @ 0x154 7000a3ee: 9301 str r3, [sp, #4] 7000a3f0: 9b01 ldr r3, [sp, #4] AUDIO_I2S6_MCK_GPIO_CLK_ENABLE(); 7000a3f2: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 7000a3f6: f043 0301 orr.w r3, r3, #1 7000a3fa: f8c4 3140 str.w r3, [r4, #320] @ 0x140 7000a3fe: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 GPIO_InitStruct.Pin = AUDIO_I2S6_MCK_GPIO_PIN; 7000a402: 9709 str r7, [sp, #36] @ 0x24 AUDIO_I2S6_MCK_GPIO_CLK_ENABLE(); 7000a404: 9302 str r3, [sp, #8] 7000a406: 9b02 ldr r3, [sp, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 7000a408: 2300 movs r3, #0 7000a40a: e9cd 530a strd r5, r3, [sp, #40] @ 0x28 GPIO_InitStruct.Alternate = AUDIO_I2S6_MCK_SDI_GPIO_AF; 7000a40e: 2303 movs r3, #3 7000a410: e9cd 390c strd r3, r9, [sp, #48] @ 0x30 HAL_GPIO_Init(AUDIO_I2S6_MCK_GPIO_PORT, &GPIO_InitStruct); 7000a414: f7fb fd52 bl 70005ebc AUDIO_I2S6_CK_GPIO_CLK_ENABLE(); 7000a418: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 HAL_GPIO_Init(AUDIO_I2S6_CK_GPIO_PORT, &GPIO_InitStruct); 7000a41c: a909 add r1, sp, #36 @ 0x24 7000a41e: 4896 ldr r0, [pc, #600] @ (7000a678 ) AUDIO_I2S6_CK_GPIO_CLK_ENABLE(); 7000a420: f043 0301 orr.w r3, r3, #1 7000a424: f8c4 3140 str.w r3, [r4, #320] @ 0x140 7000a428: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 GPIO_InitStruct.Alternate = AUDIO_I2S6_CK_WS_SDO_GPIO_AF; 7000a42c: 970d str r7, [sp, #52] @ 0x34 AUDIO_I2S6_CK_GPIO_CLK_ENABLE(); 7000a42e: 9303 str r3, [sp, #12] 7000a430: 9b03 ldr r3, [sp, #12] GPIO_InitStruct.Pin = AUDIO_I2S6_CK_GPIO_PIN; 7000a432: f8cd 8024 str.w r8, [sp, #36] @ 0x24 HAL_GPIO_Init(AUDIO_I2S6_CK_GPIO_PORT, &GPIO_InitStruct); 7000a436: f7fb fd41 bl 70005ebc AUDIO_I2S6_WS_GPIO_CLK_ENABLE(); 7000a43a: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 HAL_GPIO_Init(AUDIO_I2S6_WS_GPIO_PORT, &GPIO_InitStruct); 7000a43e: a909 add r1, sp, #36 @ 0x24 7000a440: 488d ldr r0, [pc, #564] @ (7000a678 ) AUDIO_I2S6_WS_GPIO_CLK_ENABLE(); 7000a442: f043 0301 orr.w r3, r3, #1 7000a446: f8c4 3140 str.w r3, [r4, #320] @ 0x140 7000a44a: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 7000a44e: 9304 str r3, [sp, #16] 7000a450: 9b04 ldr r3, [sp, #16] GPIO_InitStruct.Pin = AUDIO_I2S6_WS_GPIO_PIN; 7000a452: 2310 movs r3, #16 7000a454: 9309 str r3, [sp, #36] @ 0x24 HAL_GPIO_Init(AUDIO_I2S6_WS_GPIO_PORT, &GPIO_InitStruct); 7000a456: f7fb fd31 bl 70005ebc AUDIO_I2S6_SDI_GPIO_CLK_ENABLE(); 7000a45a: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 HAL_GPIO_Init(AUDIO_I2S6_SDI_GPIO_PORT, &GPIO_InitStruct); 7000a45e: a909 add r1, sp, #36 @ 0x24 7000a460: 4886 ldr r0, [pc, #536] @ (7000a67c ) AUDIO_I2S6_SDI_GPIO_CLK_ENABLE(); 7000a462: f043 0340 orr.w r3, r3, #64 @ 0x40 7000a466: f8c4 3140 str.w r3, [r4, #320] @ 0x140 7000a46a: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 GPIO_InitStruct.Alternate = AUDIO_I2S6_MCK_SDI_GPIO_AF; 7000a46e: f8cd 9034 str.w r9, [sp, #52] @ 0x34 AUDIO_I2S6_SDI_GPIO_CLK_ENABLE(); 7000a472: 9305 str r3, [sp, #20] 7000a474: 9b05 ldr r3, [sp, #20] GPIO_InitStruct.Pin = AUDIO_I2S6_SDI_GPIO_PIN; 7000a476: f44f 5380 mov.w r3, #4096 @ 0x1000 7000a47a: 9309 str r3, [sp, #36] @ 0x24 HAL_GPIO_Init(AUDIO_I2S6_SDI_GPIO_PORT, &GPIO_InitStruct); 7000a47c: f7fb fd1e bl 70005ebc AUDIO_I2S6_SDO_GPIO_CLK_ENABLE(); 7000a480: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 HAL_GPIO_Init(AUDIO_I2S6_SDO_GPIO_PORT, &GPIO_InitStruct); 7000a484: a909 add r1, sp, #36 @ 0x24 7000a486: 487e ldr r0, [pc, #504] @ (7000a680 ) AUDIO_I2S6_SDO_GPIO_CLK_ENABLE(); 7000a488: 432b orrs r3, r5 7000a48a: f8c4 3140 str.w r3, [r4, #320] @ 0x140 7000a48e: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 GPIO_InitStruct.Alternate = AUDIO_I2S6_CK_WS_SDO_GPIO_AF; 7000a492: 970d str r7, [sp, #52] @ 0x34 AUDIO_I2S6_SDO_GPIO_CLK_ENABLE(); 7000a494: 9306 str r3, [sp, #24] 7000a496: 9b06 ldr r3, [sp, #24] GPIO_InitStruct.Pin = AUDIO_I2S6_SDO_GPIO_PIN; 7000a498: f8cd 8024 str.w r8, [sp, #36] @ 0x24 HAL_GPIO_Init(AUDIO_I2S6_SDO_GPIO_PORT, &GPIO_InitStruct); 7000a49c: f7fb fd0e bl 70005ebc if (Audio_Out_Ctx[0].State != AUDIO_OUT_STATE_RESET) 7000a4a0: 4b78 ldr r3, [pc, #480] @ (7000a684 ) 7000a4a2: 699a ldr r2, [r3, #24] 7000a4a4: 2a00 cmp r2, #0 7000a4a6: d03c beq.n 7000a522 if (Audio_Out_Ctx[0].BitsPerSample == AUDIO_RESOLUTION_16B) 7000a4a8: 6899 ldr r1, [r3, #8] if (I2sTxQueue.Head == NULL) 7000a4aa: 4b77 ldr r3, [pc, #476] @ (7000a688 ) 7000a4ac: 681a ldr r2, [r3, #0] 7000a4ae: 4b77 ldr r3, [pc, #476] @ (7000a68c ) 7000a4b0: 2a00 cmp r2, #0 7000a4b2: f040 80a0 bne.w 7000a5f6 AUDIO_OUT_I2S6_DMA_CLK_ENABLE(); 7000a4b6: f8d4 2138 ldr.w r2, [r4, #312] @ 0x138 if (Audio_Out_Ctx[0].BitsPerSample == AUDIO_RESOLUTION_16B) 7000a4ba: 2910 cmp r1, #16 dmaNodeConfig.Init.Request = AUDIO_OUT_I2S6_DMA_REQUEST; 7000a4bc: f04f 0821 mov.w r8, #33 @ 0x21 dmaNodeConfig.Init.Direction = DMA_MEMORY_TO_PERIPH; 7000a4c0: f44f 6080 mov.w r0, #1024 @ 0x400 AUDIO_OUT_I2S6_DMA_CLK_ENABLE(); 7000a4c4: f042 0210 orr.w r2, r2, #16 if (Audio_Out_Ctx[0].BitsPerSample == AUDIO_RESOLUTION_16B) 7000a4c8: bf12 itee ne 7000a4ca: f44f 3100 movne.w r1, #131072 @ 0x20000 7000a4ce: 2501 moveq r5, #1 7000a4d0: f44f 3180 moveq.w r1, #65536 @ 0x10000 AUDIO_OUT_I2S6_DMA_CLK_ENABLE(); 7000a4d4: f8c4 2138 str.w r2, [r4, #312] @ 0x138 7000a4d8: f8d4 2138 ldr.w r2, [r4, #312] @ 0x138 7000a4dc: 9207 str r2, [sp, #28] 7000a4de: 9a07 ldr r2, [sp, #28] dmaNodeConfig.Init.Request = AUDIO_OUT_I2S6_DMA_REQUEST; 7000a4e0: 223e movs r2, #62 @ 0x3e dmaNodeConfig.Init.DestDataWidth = DMA_DEST_DATAWIDTH_HALFWORD; 7000a4e2: e9c3 5106 strd r5, r1, [r3, #24] dmaNodeConfig.Init.Request = AUDIO_OUT_I2S6_DMA_REQUEST; 7000a4e6: e9c3 8200 strd r8, r2, [r3] dmaNodeConfig.Init.SrcBurstLength = 1; 7000a4ea: 2101 movs r1, #1 dmaNodeConfig.Init.Direction = DMA_MEMORY_TO_PERIPH; 7000a4ec: 2200 movs r2, #0 dmaNodeConfig.Init.Priority = DMA_HIGH_PRIORITY; 7000a4ee: f44f 0540 mov.w r5, #12582912 @ 0xc00000 dmaNodeConfig.Init.TransferEventMode = DMA_TCEM_BLOCK_TRANSFER; 7000a4f2: 631a str r2, [r3, #48] @ 0x30 dmaNodeConfig.Init.Priority = DMA_HIGH_PRIORITY; 7000a4f4: 621d str r5, [r3, #32] dmaNodeConfig.TriggerConfig.TriggerPolarity = DMA_TRIG_POLARITY_MASKED; 7000a4f6: 645a str r2, [r3, #68] @ 0x44 dmaNodeConfig.Init.Direction = DMA_MEMORY_TO_PERIPH; 7000a4f8: e9c3 2002 strd r2, r0, [r3, #8] dmaNodeConfig.Init.DestBurstLength = 1; 7000a4fc: e9c3 1109 strd r1, r1, [r3, #36] @ 0x24 dmaNodeConfig.Init.SrcInc = DMA_SINC_INCREMENTED; 7000a500: 2008 movs r0, #8 dmaNodeConfig.Init.TransferAllocatedPort = DMA_SRC_ALLOCATED_PORT0 | DMA_DEST_ALLOCATED_PORT1; 7000a502: f04f 4180 mov.w r1, #1073741824 @ 0x40000000 dmaNodeConfig.Init.DestInc = DMA_DINC_FIXED; 7000a506: e9c3 0204 strd r0, r2, [r3, #16] dmaNodeConfig.Init.TransferAllocatedPort = DMA_SRC_ALLOCATED_PORT0 | DMA_DEST_ALLOCATED_PORT1; 7000a50a: 62d9 str r1, [r3, #44] @ 0x2c if (HAL_DMAEx_List_BuildNode(&dmaNodeConfig, &TxNode) != HAL_OK) 7000a50c: 485f ldr r0, [pc, #380] @ (7000a68c ) 7000a50e: 4960 ldr r1, [pc, #384] @ (7000a690 ) dmaNodeConfig.DataHandlingConfig.DataAlignment = DMA_DATA_RIGHTALIGN_ZEROPADDED; 7000a510: e9c3 220e strd r2, r2, [r3, #56] @ 0x38 if (HAL_DMAEx_List_BuildNode(&dmaNodeConfig, &TxNode) != HAL_OK) 7000a514: f7fb f88e bl 70005634 7000a518: 2800 cmp r0, #0 7000a51a: d03e beq.n 7000a59a BSP_AUDIO_OUT_Error_CallBack(0); 7000a51c: 2000 movs r0, #0 7000a51e: f7ff fe2d bl 7000a17c if (Audio_In_Ctx[0].State != AUDIO_IN_STATE_RESET) 7000a522: 4b5c ldr r3, [pc, #368] @ (7000a694 ) 7000a524: 69db ldr r3, [r3, #28] 7000a526: 2b00 cmp r3, #0 7000a528: d034 beq.n 7000a594 if (I2sRxQueue.Head == NULL) 7000a52a: 4d5b ldr r5, [pc, #364] @ (7000a698 ) 7000a52c: 4857 ldr r0, [pc, #348] @ (7000a68c ) 7000a52e: 682b ldr r3, [r5, #0] 7000a530: 2b00 cmp r3, #0 7000a532: f040 80e9 bne.w 7000a708 AUDIO_IN_I2S6_DMA_CLK_ENABLE(); 7000a536: 4a4f ldr r2, [pc, #316] @ (7000a674 ) dmaNodeConfig.Init.Request = AUDIO_IN_I2S6_DMA_REQUEST; 7000a538: 2421 movs r4, #33 @ 0x21 dmaNodeConfig.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_HALFWORD; 7000a53a: f44f 2700 mov.w r7, #524288 @ 0x80000 AUDIO_IN_I2S6_DMA_CLK_ENABLE(); 7000a53e: f8d2 1138 ldr.w r1, [r2, #312] @ 0x138 7000a542: f041 0110 orr.w r1, r1, #16 7000a546: f8c2 1138 str.w r1, [r2, #312] @ 0x138 dmaNodeConfig.Init.DestDataWidth = DMA_DEST_DATAWIDTH_HALFWORD; 7000a54a: f44f 3180 mov.w r1, #65536 @ 0x10000 AUDIO_IN_I2S6_DMA_CLK_ENABLE(); 7000a54e: f8d2 2138 ldr.w r2, [r2, #312] @ 0x138 dmaNodeConfig.Init.DestDataWidth = DMA_DEST_DATAWIDTH_HALFWORD; 7000a552: 61c1 str r1, [r0, #28] AUDIO_IN_I2S6_DMA_CLK_ENABLE(); 7000a554: 9208 str r2, [sp, #32] 7000a556: 9a08 ldr r2, [sp, #32] dmaNodeConfig.Init.Request = AUDIO_IN_I2S6_DMA_REQUEST; 7000a558: 223d movs r2, #61 @ 0x3d if (HAL_DMAEx_List_BuildNode(&dmaNodeConfig, &RxNode) != HAL_OK) 7000a55a: 4950 ldr r1, [pc, #320] @ (7000a69c ) dmaNodeConfig.Init.SrcInc = DMA_SINC_FIXED; 7000a55c: 6103 str r3, [r0, #16] dmaNodeConfig.Init.TransferEventMode = DMA_TCEM_BLOCK_TRANSFER; 7000a55e: 6303 str r3, [r0, #48] @ 0x30 dmaNodeConfig.TriggerConfig.TriggerPolarity = DMA_TRIG_POLARITY_MASKED; 7000a560: 6443 str r3, [r0, #68] @ 0x44 dmaNodeConfig.Init.Request = AUDIO_IN_I2S6_DMA_REQUEST; 7000a562: e9c0 4200 strd r4, r2, [r0] dmaNodeConfig.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_HALFWORD; 7000a566: 2201 movs r2, #1 7000a568: e9c0 7205 strd r7, r2, [r0, #20] dmaNodeConfig.Init.DestBurstLength = 1; 7000a56c: e9c0 2209 strd r2, r2, [r0, #36] @ 0x24 dmaNodeConfig.Init.Priority = DMA_HIGH_PRIORITY; 7000a570: f44f 0740 mov.w r7, #12582912 @ 0xc00000 dmaNodeConfig.Init.TransferAllocatedPort = DMA_SRC_ALLOCATED_PORT0 | DMA_DEST_ALLOCATED_PORT1; 7000a574: f04f 4280 mov.w r2, #1073741824 @ 0x40000000 dmaNodeConfig.Init.Direction = DMA_PERIPH_TO_MEMORY; 7000a578: e9c0 3302 strd r3, r3, [r0, #8] dmaNodeConfig.Init.Priority = DMA_HIGH_PRIORITY; 7000a57c: 6207 str r7, [r0, #32] dmaNodeConfig.Init.TransferAllocatedPort = DMA_SRC_ALLOCATED_PORT0 | DMA_DEST_ALLOCATED_PORT1; 7000a57e: 62c2 str r2, [r0, #44] @ 0x2c dmaNodeConfig.DataHandlingConfig.DataAlignment = DMA_DATA_RIGHTALIGN_ZEROPADDED; 7000a580: e9c0 330e strd r3, r3, [r0, #56] @ 0x38 if (HAL_DMAEx_List_BuildNode(&dmaNodeConfig, &RxNode) != HAL_OK) 7000a584: f7fb f856 bl 70005634 7000a588: 2800 cmp r0, #0 7000a58a: f000 808d beq.w 7000a6a8 BSP_AUDIO_IN_Error_CallBack(0); 7000a58e: 2000 movs r0, #0 7000a590: f7ff feb4 bl 7000a2fc } 7000a594: b00f add sp, #60 @ 0x3c 7000a596: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} else if (HAL_DMAEx_List_InsertNode_Tail(&I2sTxQueue, &TxNode) != HAL_OK) 7000a59a: 493d ldr r1, [pc, #244] @ (7000a690 ) 7000a59c: 483a ldr r0, [pc, #232] @ (7000a688 ) 7000a59e: f7fb f95b bl 70005858 7000a5a2: 2800 cmp r0, #0 7000a5a4: d1ba bne.n 7000a51c else if (HAL_DMAEx_List_SetCircularMode(&I2sTxQueue) != HAL_OK) 7000a5a6: 4838 ldr r0, [pc, #224] @ (7000a688 ) 7000a5a8: f7fb fa2e bl 70005a08 7000a5ac: 2800 cmp r0, #0 7000a5ae: d1b5 bne.n 7000a51c hDmaI2sTx.Instance = AUDIO_OUT_I2S6_DMA_CHANNEL; 7000a5b0: 4c3b ldr r4, [pc, #236] @ (7000a6a0 ) hDmaI2sTx.InitLinkedList.TransferEventMode = DMA_TCEM_LAST_LL_ITEM_TRANSFER; 7000a5b2: f44f 3e00 mov.w lr, #131072 @ 0x20000 hDmaI2sTx.Instance = AUDIO_OUT_I2S6_DMA_CHANNEL; 7000a5b6: 4b3b ldr r3, [pc, #236] @ (7000a6a4 ) 7000a5b8: 6023 str r3, [r4, #0] hDmaI2sTx.InitLinkedList.TransferEventMode = DMA_TCEM_LAST_LL_ITEM_TRANSFER; 7000a5ba: f04f 4340 mov.w r3, #3221225472 @ 0xc0000000 7000a5be: e9c4 e310 strd lr, r3, [r4, #64] @ 0x40 hDmaI2sTx.InitLinkedList.LinkedListMode = DMA_LINKEDLIST_CIRCULAR; 7000a5c2: 2381 movs r3, #129 @ 0x81 hDmaI2sTx.InitLinkedList.LinkStepMode = DMA_LSM_FULL_EXECUTION; 7000a5c4: e9c4 500e strd r5, r0, [r4, #56] @ 0x38 if (HAL_DMAEx_List_Init(&hDmaI2sTx) != HAL_OK) 7000a5c8: 4620 mov r0, r4 hDmaI2sTx.InitLinkedList.LinkedListMode = DMA_LINKEDLIST_CIRCULAR; 7000a5ca: 64a3 str r3, [r4, #72] @ 0x48 if (HAL_DMAEx_List_Init(&hDmaI2sTx) != HAL_OK) 7000a5cc: f7fa feb4 bl 70005338 7000a5d0: 2800 cmp r0, #0 7000a5d2: d1a3 bne.n 7000a51c else if (HAL_DMAEx_List_LinkQ(&hDmaI2sTx, &I2sTxQueue) != HAL_OK) 7000a5d4: 492c ldr r1, [pc, #176] @ (7000a688 ) 7000a5d6: 4620 mov r0, r4 7000a5d8: f7fb fa76 bl 70005ac8 7000a5dc: 4602 mov r2, r0 7000a5de: 2800 cmp r0, #0 7000a5e0: d19c bne.n 7000a51c __HAL_LINKDMA(hi2s, hdmatx, hDmaI2sTx); 7000a5e2: 6474 str r4, [r6, #68] @ 0x44 HAL_NVIC_SetPriority(AUDIO_OUT_I2S6_DMA_IRQ, BSP_AUDIO_OUT_IT_PRIORITY, 0); 7000a5e4: 2102 movs r1, #2 7000a5e6: 2029 movs r0, #41 @ 0x29 __HAL_LINKDMA(hi2s, hdmatx, hDmaI2sTx); 7000a5e8: 65e6 str r6, [r4, #92] @ 0x5c HAL_NVIC_SetPriority(AUDIO_OUT_I2S6_DMA_IRQ, BSP_AUDIO_OUT_IT_PRIORITY, 0); 7000a5ea: f7fa f96f bl 700048cc HAL_NVIC_EnableIRQ(AUDIO_OUT_I2S6_DMA_IRQ); 7000a5ee: 2029 movs r0, #41 @ 0x29 7000a5f0: f7fa f99e bl 70004930 7000a5f4: e795 b.n 7000a522 if (Audio_Out_Ctx[0].BitsPerSample == AUDIO_RESOLUTION_16B) 7000a5f6: 2910 cmp r1, #16 dmaNodeConfig.Init.Request = AUDIO_OUT_I2S6_DMA_REQUEST; 7000a5f8: f04f 023e mov.w r2, #62 @ 0x3e 7000a5fc: f04f 0c21 mov.w ip, #33 @ 0x21 dmaNodeConfig.Init.Direction = DMA_MEMORY_TO_PERIPH; 7000a600: f44f 6080 mov.w r0, #1024 @ 0x400 if (Audio_Out_Ctx[0].BitsPerSample == AUDIO_RESOLUTION_16B) 7000a604: bf12 itee ne 7000a606: f44f 3100 movne.w r1, #131072 @ 0x20000 7000a60a: f44f 3180 moveq.w r1, #65536 @ 0x10000 7000a60e: 2501 moveq r5, #1 dmaNodeConfig.Init.DestDataWidth = DMA_DEST_DATAWIDTH_HALFWORD; 7000a610: e9c3 5106 strd r5, r1, [r3, #24] dmaNodeConfig.Init.SrcBurstLength = 1; 7000a614: 2101 movs r1, #1 dmaNodeConfig.Init.Request = AUDIO_OUT_I2S6_DMA_REQUEST; 7000a616: e9c3 c200 strd ip, r2, [r3] dmaNodeConfig.Init.DestBurstLength = 1; 7000a61a: e9c3 1109 strd r1, r1, [r3, #36] @ 0x24 dmaNodeConfig.Init.Direction = DMA_MEMORY_TO_PERIPH; 7000a61e: 2200 movs r2, #0 dmaNodeConfig.Init.Priority = DMA_HIGH_PRIORITY; 7000a620: f44f 0140 mov.w r1, #12582912 @ 0xc00000 dmaNodeConfig.Init.Direction = DMA_MEMORY_TO_PERIPH; 7000a624: e9c3 2002 strd r2, r0, [r3, #8] dmaNodeConfig.Init.Priority = DMA_HIGH_PRIORITY; 7000a628: 6219 str r1, [r3, #32] dmaNodeConfig.Init.SrcInc = DMA_SINC_INCREMENTED; 7000a62a: 2008 movs r0, #8 dmaNodeConfig.Init.TransferAllocatedPort = DMA_SRC_ALLOCATED_PORT0 | DMA_DEST_ALLOCATED_PORT1; 7000a62c: f04f 4180 mov.w r1, #1073741824 @ 0x40000000 dmaNodeConfig.Init.TransferEventMode = DMA_TCEM_BLOCK_TRANSFER; 7000a630: 631a str r2, [r3, #48] @ 0x30 dmaNodeConfig.TriggerConfig.TriggerPolarity = DMA_TRIG_POLARITY_MASKED; 7000a632: 645a str r2, [r3, #68] @ 0x44 dmaNodeConfig.Init.TransferAllocatedPort = DMA_SRC_ALLOCATED_PORT0 | DMA_DEST_ALLOCATED_PORT1; 7000a634: 62d9 str r1, [r3, #44] @ 0x2c if (HAL_DMAEx_List_BuildNode(&dmaNodeConfig, &TxNode) != HAL_OK) 7000a636: 4916 ldr r1, [pc, #88] @ (7000a690 ) dmaNodeConfig.Init.DestInc = DMA_DINC_FIXED; 7000a638: e9c3 0204 strd r0, r2, [r3, #16] if (HAL_DMAEx_List_BuildNode(&dmaNodeConfig, &TxNode) != HAL_OK) 7000a63c: 4813 ldr r0, [pc, #76] @ (7000a68c ) dmaNodeConfig.DataHandlingConfig.DataAlignment = DMA_DATA_RIGHTALIGN_ZEROPADDED; 7000a63e: e9c3 220e strd r2, r2, [r3, #56] @ 0x38 if (HAL_DMAEx_List_BuildNode(&dmaNodeConfig, &TxNode) != HAL_OK) 7000a642: f7fa fff7 bl 70005634 7000a646: 2800 cmp r0, #0 7000a648: f47f af68 bne.w 7000a51c else if (HAL_DMAEx_List_ReplaceNode_Head(&I2sTxQueue, &TxNode) != HAL_OK) 7000a64c: 4910 ldr r1, [pc, #64] @ (7000a690 ) 7000a64e: 480e ldr r0, [pc, #56] @ (7000a688 ) 7000a650: f7fb f94a bl 700058e8 7000a654: 2800 cmp r0, #0 7000a656: f47f af61 bne.w 7000a51c else if (HAL_DMAEx_List_ClearCircularMode(&I2sTxQueue) != HAL_OK) 7000a65a: 480b ldr r0, [pc, #44] @ (7000a688 ) 7000a65c: f7fb fa0a bl 70005a74 7000a660: 2800 cmp r0, #0 7000a662: f47f af5b bne.w 7000a51c if (HAL_DMAEx_List_SetCircularMode(&I2sTxQueue) != HAL_OK) 7000a666: 4808 ldr r0, [pc, #32] @ (7000a688 ) 7000a668: f7fb f9ce bl 70005a08 7000a66c: 2800 cmp r0, #0 7000a66e: f43f af58 beq.w 7000a522 7000a672: e753 b.n 7000a51c 7000a674: 58024400 .word 0x58024400 7000a678: 58020000 .word 0x58020000 7000a67c: 58021800 .word 0x58021800 7000a680: 58020400 .word 0x58020400 7000a684: 240000a0 .word 0x240000a0 7000a688: 2400c068 .word 0x2400c068 7000a68c: 2400bfbc .word 0x2400bfbc 7000a690: 2400bf98 .word 0x2400bf98 7000a694: 24000060 .word 0x24000060 7000a698: 2400c050 .word 0x2400c050 7000a69c: 2400bf74 .word 0x2400bf74 7000a6a0: 2400c0fc .word 0x2400c0fc 7000a6a4: 40021150 .word 0x40021150 else if (HAL_DMAEx_List_InsertNode_Tail(&I2sRxQueue, &RxNode) != HAL_OK) 7000a6a8: 4932 ldr r1, [pc, #200] @ (7000a774 ) 7000a6aa: 4628 mov r0, r5 7000a6ac: f7fb f8d4 bl 70005858 7000a6b0: 2800 cmp r0, #0 7000a6b2: f47f af6c bne.w 7000a58e else if (HAL_DMAEx_List_SetCircularMode(&I2sRxQueue) != HAL_OK) 7000a6b6: 4628 mov r0, r5 7000a6b8: f7fb f9a6 bl 70005a08 7000a6bc: 2800 cmp r0, #0 7000a6be: f47f af66 bne.w 7000a58e hDmaI2sRx.Instance = AUDIO_IN_I2S6_DMA_CHANNEL; 7000a6c2: 4c2d ldr r4, [pc, #180] @ (7000a778 ) 7000a6c4: 4b2d ldr r3, [pc, #180] @ (7000a77c ) hDmaI2sRx.InitLinkedList.LinkAllocatedPort = DMA_LINK_ALLOCATED_PORT0; 7000a6c6: 6420 str r0, [r4, #64] @ 0x40 hDmaI2sRx.Instance = AUDIO_IN_I2S6_DMA_CHANNEL; 7000a6c8: 6023 str r3, [r4, #0] hDmaI2sRx.InitLinkedList.LinkedListMode = DMA_LINKEDLIST_CIRCULAR; 7000a6ca: 2381 movs r3, #129 @ 0x81 hDmaI2sRx.InitLinkedList.LinkStepMode = DMA_LSM_FULL_EXECUTION; 7000a6cc: e9c4 700e strd r7, r0, [r4, #56] @ 0x38 hDmaI2sRx.InitLinkedList.LinkedListMode = DMA_LINKEDLIST_CIRCULAR; 7000a6d0: f04f 4040 mov.w r0, #3221225472 @ 0xc0000000 7000a6d4: e9c4 0311 strd r0, r3, [r4, #68] @ 0x44 if (HAL_DMAEx_List_Init(&hDmaI2sRx) != HAL_OK) 7000a6d8: 4620 mov r0, r4 7000a6da: f7fa fe2d bl 70005338 7000a6de: 2800 cmp r0, #0 7000a6e0: f47f af55 bne.w 7000a58e else if (HAL_DMAEx_List_LinkQ(&hDmaI2sRx, &I2sRxQueue) != HAL_OK) 7000a6e4: 4629 mov r1, r5 7000a6e6: 4620 mov r0, r4 7000a6e8: f7fb f9ee bl 70005ac8 7000a6ec: 4602 mov r2, r0 7000a6ee: 2800 cmp r0, #0 7000a6f0: f47f af4d bne.w 7000a58e __HAL_LINKDMA(hi2s, hdmarx, hDmaI2sRx); 7000a6f4: 64b4 str r4, [r6, #72] @ 0x48 HAL_NVIC_SetPriority(AUDIO_IN_I2S6_DMA_IRQ, BSP_AUDIO_IN_IT_PRIORITY, 0); 7000a6f6: 2102 movs r1, #2 7000a6f8: 202a movs r0, #42 @ 0x2a __HAL_LINKDMA(hi2s, hdmarx, hDmaI2sRx); 7000a6fa: 65e6 str r6, [r4, #92] @ 0x5c HAL_NVIC_SetPriority(AUDIO_IN_I2S6_DMA_IRQ, BSP_AUDIO_IN_IT_PRIORITY, 0); 7000a6fc: f7fa f8e6 bl 700048cc HAL_NVIC_EnableIRQ(AUDIO_IN_I2S6_DMA_IRQ); 7000a700: 202a movs r0, #42 @ 0x2a 7000a702: f7fa f915 bl 70004930 7000a706: e745 b.n 7000a594 dmaNodeConfig.Init.Request = AUDIO_IN_I2S6_DMA_REQUEST; 7000a708: 2221 movs r2, #33 @ 0x21 7000a70a: 233d movs r3, #61 @ 0x3d dmaNodeConfig.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_HALFWORD; 7000a70c: f44f 2100 mov.w r1, #524288 @ 0x80000 dmaNodeConfig.Init.Request = AUDIO_IN_I2S6_DMA_REQUEST; 7000a710: e9c0 2300 strd r2, r3, [r0] dmaNodeConfig.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_HALFWORD; 7000a714: 2201 movs r2, #1 dmaNodeConfig.Init.BlkHWRequest = DMA_BREQ_SINGLE_BURST; 7000a716: 2300 movs r3, #0 dmaNodeConfig.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_HALFWORD; 7000a718: e9c0 1205 strd r1, r2, [r0, #20] dmaNodeConfig.Init.DestBurstLength = 1; 7000a71c: e9c0 2209 strd r2, r2, [r0, #36] @ 0x24 dmaNodeConfig.Init.Priority = DMA_HIGH_PRIORITY; 7000a720: f44f 0240 mov.w r2, #12582912 @ 0xc00000 dmaNodeConfig.Init.DestDataWidth = DMA_DEST_DATAWIDTH_HALFWORD; 7000a724: f44f 3180 mov.w r1, #65536 @ 0x10000 dmaNodeConfig.Init.SrcInc = DMA_SINC_FIXED; 7000a728: 6103 str r3, [r0, #16] dmaNodeConfig.Init.Priority = DMA_HIGH_PRIORITY; 7000a72a: 6202 str r2, [r0, #32] dmaNodeConfig.Init.TransferAllocatedPort = DMA_SRC_ALLOCATED_PORT0 | DMA_DEST_ALLOCATED_PORT1; 7000a72c: f04f 4280 mov.w r2, #1073741824 @ 0x40000000 dmaNodeConfig.Init.DestDataWidth = DMA_DEST_DATAWIDTH_HALFWORD; 7000a730: 61c1 str r1, [r0, #28] if (HAL_DMAEx_List_BuildNode(&dmaNodeConfig, &RxNode) != HAL_OK) 7000a732: 4910 ldr r1, [pc, #64] @ (7000a774 ) dmaNodeConfig.Init.TransferEventMode = DMA_TCEM_BLOCK_TRANSFER; 7000a734: 6303 str r3, [r0, #48] @ 0x30 dmaNodeConfig.Init.TransferAllocatedPort = DMA_SRC_ALLOCATED_PORT0 | DMA_DEST_ALLOCATED_PORT1; 7000a736: 62c2 str r2, [r0, #44] @ 0x2c dmaNodeConfig.TriggerConfig.TriggerPolarity = DMA_TRIG_POLARITY_MASKED; 7000a738: 6443 str r3, [r0, #68] @ 0x44 dmaNodeConfig.Init.Direction = DMA_PERIPH_TO_MEMORY; 7000a73a: e9c0 3302 strd r3, r3, [r0, #8] dmaNodeConfig.DataHandlingConfig.DataAlignment = DMA_DATA_RIGHTALIGN_ZEROPADDED; 7000a73e: e9c0 330e strd r3, r3, [r0, #56] @ 0x38 if (HAL_DMAEx_List_BuildNode(&dmaNodeConfig, &RxNode) != HAL_OK) 7000a742: f7fa ff77 bl 70005634 7000a746: 2800 cmp r0, #0 7000a748: f47f af21 bne.w 7000a58e else if (HAL_DMAEx_List_ReplaceNode_Head(&I2sRxQueue, &RxNode) != HAL_OK) 7000a74c: 4909 ldr r1, [pc, #36] @ (7000a774 ) 7000a74e: 4628 mov r0, r5 7000a750: f7fb f8ca bl 700058e8 7000a754: 2800 cmp r0, #0 7000a756: f47f af1a bne.w 7000a58e else if (HAL_DMAEx_List_ClearCircularMode(&I2sRxQueue) != HAL_OK) 7000a75a: 4628 mov r0, r5 7000a75c: f7fb f98a bl 70005a74 7000a760: 2800 cmp r0, #0 7000a762: f47f af14 bne.w 7000a58e if (HAL_DMAEx_List_SetCircularMode(&I2sRxQueue) != HAL_OK) 7000a766: 4628 mov r0, r5 7000a768: f7fb f94e bl 70005a08 7000a76c: 2800 cmp r0, #0 7000a76e: f43f af11 beq.w 7000a594 7000a772: e70c b.n 7000a58e 7000a774: 2400bf74 .word 0x2400bf74 7000a778: 2400c084 .word 0x2400c084 7000a77c: 400211d0 .word 0x400211d0 7000a780 : * @brief DeInitializes I2C MSP. * @param phi2c I2C handler * @retval None */ static void I2C1_MspDeInit(I2C_HandleTypeDef *phi2c) { 7000a780: b508 push {r3, lr} /* Prevent unused argument(s) compilation warning */ UNUSED(phi2c); /* Configure I2C Tx, Rx as alternate function */ gpio_init_structure.Pin = BUS_I2C1_SCL_PIN; HAL_GPIO_DeInit(BUS_I2C1_SCL_GPIO_PORT, gpio_init_structure.Pin); 7000a782: 2140 movs r1, #64 @ 0x40 7000a784: 4807 ldr r0, [pc, #28] @ (7000a7a4 ) 7000a786: f7fb fc3d bl 70006004 gpio_init_structure.Pin = BUS_I2C1_SDA_PIN; HAL_GPIO_DeInit(BUS_I2C1_SDA_GPIO_PORT, gpio_init_structure.Pin); 7000a78a: f44f 7100 mov.w r1, #512 @ 0x200 7000a78e: 4805 ldr r0, [pc, #20] @ (7000a7a4 ) 7000a790: f7fb fc38 bl 70006004 /* Disable I2C clock */ BUS_I2C1_CLK_DISABLE(); 7000a794: 4a04 ldr r2, [pc, #16] @ (7000a7a8 ) 7000a796: f8d2 3148 ldr.w r3, [r2, #328] @ 0x148 7000a79a: f423 1300 bic.w r3, r3, #2097152 @ 0x200000 7000a79e: f8c2 3148 str.w r3, [r2, #328] @ 0x148 } 7000a7a2: bd08 pop {r3, pc} 7000a7a4: 58020400 .word 0x58020400 7000a7a8: 58024400 .word 0x58024400 7000a7ac : { 7000a7ac: b530 push {r4, r5, lr} BUS_I2C1_SCL_GPIO_CLK_ENABLE(); 7000a7ae: 4c22 ldr r4, [pc, #136] @ (7000a838 ) { 7000a7b0: b089 sub sp, #36 @ 0x24 gpio_init_structure.Mode = GPIO_MODE_AF_OD; 7000a7b2: 2240 movs r2, #64 @ 0x40 gpio_init_structure.Speed = GPIO_SPEED_FREQ_HIGH; 7000a7b4: 2100 movs r1, #0 BUS_I2C1_SCL_GPIO_CLK_ENABLE(); 7000a7b6: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 gpio_init_structure.Alternate = BUS_I2C1_SCL_AF; 7000a7ba: 2504 movs r5, #4 HAL_GPIO_Init(BUS_I2C1_SCL_GPIO_PORT, &gpio_init_structure); 7000a7bc: 481f ldr r0, [pc, #124] @ (7000a83c ) BUS_I2C1_SCL_GPIO_CLK_ENABLE(); 7000a7be: f043 0302 orr.w r3, r3, #2 7000a7c2: f8c4 3140 str.w r3, [r4, #320] @ 0x140 7000a7c6: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 7000a7ca: 9300 str r3, [sp, #0] 7000a7cc: 9b00 ldr r3, [sp, #0] BUS_I2C1_SDA_GPIO_CLK_ENABLE(); 7000a7ce: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 7000a7d2: f043 0302 orr.w r3, r3, #2 7000a7d6: f8c4 3140 str.w r3, [r4, #320] @ 0x140 7000a7da: f8d4 3140 ldr.w r3, [r4, #320] @ 0x140 gpio_init_structure.Alternate = BUS_I2C1_SCL_AF; 7000a7de: 9507 str r5, [sp, #28] BUS_I2C1_SDA_GPIO_CLK_ENABLE(); 7000a7e0: 9301 str r3, [sp, #4] 7000a7e2: 9b01 ldr r3, [sp, #4] gpio_init_structure.Mode = GPIO_MODE_AF_OD; 7000a7e4: 2312 movs r3, #18 7000a7e6: e9cd 2303 strd r2, r3, [sp, #12] gpio_init_structure.Speed = GPIO_SPEED_FREQ_HIGH; 7000a7ea: 2302 movs r3, #2 7000a7ec: e9cd 1305 strd r1, r3, [sp, #20] HAL_GPIO_Init(BUS_I2C1_SCL_GPIO_PORT, &gpio_init_structure); 7000a7f0: a903 add r1, sp, #12 7000a7f2: f7fb fb63 bl 70005ebc gpio_init_structure.Pin = BUS_I2C1_SDA_PIN; 7000a7f6: f44f 7300 mov.w r3, #512 @ 0x200 HAL_GPIO_Init(BUS_I2C1_SDA_GPIO_PORT, &gpio_init_structure); 7000a7fa: a903 add r1, sp, #12 7000a7fc: 480f ldr r0, [pc, #60] @ (7000a83c ) gpio_init_structure.Pin = BUS_I2C1_SDA_PIN; 7000a7fe: 9303 str r3, [sp, #12] gpio_init_structure.Alternate = BUS_I2C1_SDA_AF; 7000a800: 9507 str r5, [sp, #28] HAL_GPIO_Init(BUS_I2C1_SDA_GPIO_PORT, &gpio_init_structure); 7000a802: f7fb fb5b bl 70005ebc BUS_I2C1_CLK_ENABLE(); 7000a806: f8d4 3148 ldr.w r3, [r4, #328] @ 0x148 7000a80a: f443 1300 orr.w r3, r3, #2097152 @ 0x200000 7000a80e: f8c4 3148 str.w r3, [r4, #328] @ 0x148 7000a812: f8d4 3148 ldr.w r3, [r4, #328] @ 0x148 7000a816: 9302 str r3, [sp, #8] 7000a818: 9b02 ldr r3, [sp, #8] BUS_I2C1_FORCE_RESET(); 7000a81a: f8d4 3090 ldr.w r3, [r4, #144] @ 0x90 7000a81e: f443 1300 orr.w r3, r3, #2097152 @ 0x200000 7000a822: f8c4 3090 str.w r3, [r4, #144] @ 0x90 BUS_I2C1_RELEASE_RESET(); 7000a826: f8d4 3090 ldr.w r3, [r4, #144] @ 0x90 7000a82a: f423 1300 bic.w r3, r3, #2097152 @ 0x200000 7000a82e: f8c4 3090 str.w r3, [r4, #144] @ 0x90 } 7000a832: b009 add sp, #36 @ 0x24 7000a834: bd30 pop {r4, r5, pc} 7000a836: bf00 nop 7000a838: 58024400 .word 0x58024400 7000a83c: 58020400 .word 0x58020400 7000a840 : I2c1InitCounter--; 7000a840: 4a07 ldr r2, [pc, #28] @ (7000a860 ) { 7000a842: b508 push {r3, lr} I2c1InitCounter--; 7000a844: 6813 ldr r3, [r2, #0] 7000a846: 3b01 subs r3, #1 7000a848: 6013 str r3, [r2, #0] if (I2c1InitCounter == 0U) 7000a84a: b10b cbz r3, 7000a850 int32_t ret = BSP_ERROR_NONE; 7000a84c: 2000 movs r0, #0 } 7000a84e: bd08 pop {r3, pc} if (HAL_I2C_DeInit(&hbus_i2c1) != HAL_OK) 7000a850: 4804 ldr r0, [pc, #16] @ (7000a864 ) 7000a852: f7fb fe4d bl 700064f0 7000a856: 2800 cmp r0, #0 7000a858: d0f8 beq.n 7000a84c ret = BSP_ERROR_BUS_FAILURE; 7000a85a: f06f 0007 mvn.w r0, #7 return ret; 7000a85e: e7f6 b.n 7000a84e 7000a860: 2400cc7c .word 0x2400cc7c 7000a864: 2400c1f4 .word 0x2400c1f4 7000a868 : hi2c->Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; 7000a868: 2300 movs r3, #0 7000a86a: 2201 movs r2, #1 { 7000a86c: b510 push {r4, lr} hi2c->Init.Timing = timing; 7000a86e: 6041 str r1, [r0, #4] { 7000a870: 4604 mov r4, r0 hi2c->Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; 7000a872: 6203 str r3, [r0, #32] hi2c->Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; 7000a874: e9c0 3202 strd r3, r2, [r0, #8] hi2c->Init.OwnAddress2 = 0; 7000a878: e9c0 3304 strd r3, r3, [r0, #16] hi2c->Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; 7000a87c: e9c0 3306 strd r3, r3, [r0, #24] if (HAL_I2C_Init(hi2c) != HAL_OK) 7000a880: f7fb fdb2 bl 700063e8 7000a884: 4601 mov r1, r0 7000a886: b108 cbz r0, 7000a88c status = HAL_ERROR; 7000a888: 2001 movs r0, #1 } 7000a88a: bd10 pop {r4, pc} if (HAL_I2CEx_ConfigAnalogFilter(hi2c, analog_filter) != HAL_OK) 7000a88c: 4620 mov r0, r4 7000a88e: f7fc f844 bl 7000691a 7000a892: 4601 mov r1, r0 7000a894: 2800 cmp r0, #0 7000a896: d1f7 bne.n 7000a888 if (HAL_I2CEx_ConfigDigitalFilter(hi2c, I2C_DIGITAL_FILTER_COEF) != HAL_OK) 7000a898: 4620 mov r0, r4 7000a89a: f7fc f864 bl 70006966 7000a89e: 3800 subs r0, #0 7000a8a0: bf18 it ne 7000a8a2: 2001 movne r0, #1 7000a8a4: e7f1 b.n 7000a88a ... 7000a8a8 : { 7000a8a8: b51f push {r0, r1, r2, r3, r4, lr} * @param Length data length in bytes * @retval BSP status */ static int32_t I2C1_WriteReg(uint16_t DevAddr, uint16_t Reg, uint16_t MemAddSize, uint8_t *pData, uint16_t Length) { if (HAL_I2C_Mem_Write(&hbus_i2c1, DevAddr, Reg, MemAddSize, pData, Length, 1000) == HAL_OK) 7000a8aa: f44f 747a mov.w r4, #1000 @ 0x3e8 7000a8ae: 9200 str r2, [sp, #0] 7000a8b0: 460a mov r2, r1 7000a8b2: 4601 mov r1, r0 7000a8b4: 4808 ldr r0, [pc, #32] @ (7000a8d8 ) 7000a8b6: e9cd 3401 strd r3, r4, [sp, #4] 7000a8ba: 2301 movs r3, #1 7000a8bc: f7fb fe70 bl 700065a0 7000a8c0: b140 cbz r0, 7000a8d4 if ( HAL_I2C_GetError(&hbus_i2c1) == HAL_I2C_ERROR_AF) 7000a8c2: 4805 ldr r0, [pc, #20] @ (7000a8d8 ) 7000a8c4: f7fc f827 bl 70006916 ret = BSP_ERROR_BUS_ACKNOWLEDGE_FAILURE; 7000a8c8: 2804 cmp r0, #4 7000a8ca: bf14 ite ne 7000a8cc: f06f 0003 mvnne.w r0, #3 7000a8d0: f06f 0065 mvneq.w r0, #101 @ 0x65 } 7000a8d4: b004 add sp, #16 7000a8d6: bd10 pop {r4, pc} 7000a8d8: 2400c1f4 .word 0x2400c1f4 7000a8dc : { 7000a8dc: b51f push {r0, r1, r2, r3, r4, lr} * @param Length data length in bytes * @retval BSP status */ static int32_t I2C1_ReadReg(uint16_t DevAddr, uint16_t Reg, uint16_t MemAddSize, uint8_t *pData, uint16_t Length) { if (HAL_I2C_Mem_Read(&hbus_i2c1, DevAddr, Reg, MemAddSize, pData, Length, 1000) == HAL_OK) 7000a8de: f44f 747a mov.w r4, #1000 @ 0x3e8 7000a8e2: 9200 str r2, [sp, #0] 7000a8e4: 460a mov r2, r1 7000a8e6: 4601 mov r1, r0 7000a8e8: 4808 ldr r0, [pc, #32] @ (7000a90c ) 7000a8ea: e9cd 3401 strd r3, r4, [sp, #4] 7000a8ee: 2301 movs r3, #1 7000a8f0: f7fb ff30 bl 70006754 7000a8f4: b140 cbz r0, 7000a908 if ( HAL_I2C_GetError(&hbus_i2c1) == HAL_I2C_ERROR_AF) 7000a8f6: 4805 ldr r0, [pc, #20] @ (7000a90c ) 7000a8f8: f7fc f80d bl 70006916 ret = BSP_ERROR_BUS_ACKNOWLEDGE_FAILURE; 7000a8fc: 2804 cmp r0, #4 7000a8fe: bf14 ite ne 7000a900: f06f 0003 mvnne.w r0, #3 7000a904: f06f 0065 mvneq.w r0, #101 @ 0x65 } 7000a908: b004 add sp, #16 7000a90a: bd10 pop {r4, pc} 7000a90c: 2400c1f4 .word 0x2400c1f4 7000a910 : return (int32_t)HAL_GetTick(); 7000a910: f7f9 bfc4 b.w 7000489c 7000a914 : { 7000a914: b508 push {r3, lr} __HAL_I2C_RESET_HANDLE_STATE(&hbus_i2c1); 7000a916: 4a0d ldr r2, [pc, #52] @ (7000a94c ) 7000a918: 2300 movs r3, #0 if (HAL_I2C_RegisterCallback(&hbus_i2c1, HAL_I2C_MSPINIT_CB_ID, I2C1_MspInit) != HAL_OK) 7000a91a: 2109 movs r1, #9 7000a91c: 480b ldr r0, [pc, #44] @ (7000a94c ) __HAL_I2C_RESET_HANDLE_STATE(&hbus_i2c1); 7000a91e: f882 3041 strb.w r3, [r2, #65] @ 0x41 7000a922: e9c2 331f strd r3, r3, [r2, #124] @ 0x7c if (HAL_I2C_RegisterCallback(&hbus_i2c1, HAL_I2C_MSPINIT_CB_ID, I2C1_MspInit) != HAL_OK) 7000a926: 4a0a ldr r2, [pc, #40] @ (7000a950 ) 7000a928: f7fb fe04 bl 70006534 7000a92c: b110 cbz r0, 7000a934 ret = BSP_ERROR_PERIPH_FAILURE; 7000a92e: f06f 0003 mvn.w r0, #3 } 7000a932: bd08 pop {r3, pc} else if (HAL_I2C_RegisterCallback(&hbus_i2c1, HAL_I2C_MSPDEINIT_CB_ID, I2C1_MspDeInit) != HAL_OK) 7000a934: 4a07 ldr r2, [pc, #28] @ (7000a954 ) 7000a936: 210a movs r1, #10 7000a938: 4804 ldr r0, [pc, #16] @ (7000a94c ) 7000a93a: f7fb fdfb bl 70006534 7000a93e: 2800 cmp r0, #0 7000a940: d1f5 bne.n 7000a92e IsI2c1MspCbValid = 1U; 7000a942: 4b05 ldr r3, [pc, #20] @ (7000a958 ) 7000a944: 2201 movs r2, #1 7000a946: 601a str r2, [r3, #0] return ret; 7000a948: e7f3 b.n 7000a932 7000a94a: bf00 nop 7000a94c: 2400c1f4 .word 0x2400c1f4 7000a950: 7000a7ad .word 0x7000a7ad 7000a954: 7000a781 .word 0x7000a781 7000a958: 2400cc80 .word 0x2400cc80 7000a95c : hbus_i2c1.Instance = BUS_I2C1; 7000a95c: 4b74 ldr r3, [pc, #464] @ (7000ab30 ) 7000a95e: 4a75 ldr r2, [pc, #468] @ (7000ab34 ) { 7000a960: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000a964: b087 sub sp, #28 hbus_i2c1.Instance = BUS_I2C1; 7000a966: 6013 str r3, [r2, #0] if (I2c1InitCounter == 0U) 7000a968: 4b73 ldr r3, [pc, #460] @ (7000ab38 ) 7000a96a: 681a ldr r2, [r3, #0] 7000a96c: 9201 str r2, [sp, #4] 7000a96e: b11a cbz r2, 7000a978 int32_t ret = BSP_ERROR_NONE; 7000a970: 2000 movs r0, #0 } 7000a972: b007 add sp, #28 7000a974: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} I2c1InitCounter++; 7000a978: 2201 movs r2, #1 if (HAL_I2C_GetState(&hbus_i2c1) == HAL_I2C_STATE_RESET) 7000a97a: 486e ldr r0, [pc, #440] @ (7000ab34 ) I2c1InitCounter++; 7000a97c: 601a str r2, [r3, #0] if (HAL_I2C_GetState(&hbus_i2c1) == HAL_I2C_STATE_RESET) 7000a97e: f7fb ffc7 bl 70006910 7000a982: 2800 cmp r0, #0 7000a984: d1f4 bne.n 7000a970 if (IsI2c1MspCbValid == 0U) 7000a986: 4b6d ldr r3, [pc, #436] @ (7000ab3c ) 7000a988: 681b ldr r3, [r3, #0] 7000a98a: b15b cbz r3, 7000a9a4 if (MX_I2C1_Init(&hbus_i2c1, I2C_GetTiming(HAL_RCC_GetPCLK2Freq(), BUS_I2C1_FREQUENCY)) != HAL_OK) 7000a98c: f7fd fecc bl 70008728 if ((clock_src_freq != 0U) && (i2c_freq != 0U)) 7000a990: b978 cbnz r0, 7000a9b2 if (MX_I2C1_Init(&hbus_i2c1, I2C_GetTiming(HAL_RCC_GetPCLK2Freq(), BUS_I2C1_FREQUENCY)) != HAL_OK) 7000a992: 9901 ldr r1, [sp, #4] 7000a994: 4867 ldr r0, [pc, #412] @ (7000ab34 ) 7000a996: f7ff ff67 bl 7000a868 7000a99a: 2800 cmp r0, #0 7000a99c: d0e8 beq.n 7000a970 ret = BSP_ERROR_BUS_FAILURE; 7000a99e: f06f 0007 mvn.w r0, #7 7000a9a2: e7e6 b.n 7000a972 if (BSP_I2C1_RegisterDefaultMspCallbacks() != BSP_ERROR_NONE) 7000a9a4: f7ff ffb6 bl 7000a914 7000a9a8: 2800 cmp r0, #0 7000a9aa: d0ef beq.n 7000a98c ret = BSP_ERROR_MSP_FAILURE; 7000a9ac: f06f 0009 mvn.w r0, #9 return ret; 7000a9b0: e7df b.n 7000a972 ti2cclk = (SEC2NSEC + (clock_src_freq / 2U)) / clock_src_freq; 7000a9b2: 4b63 ldr r3, [pc, #396] @ (7000ab40 ) tsdadel_max = (int32_t)I2C_Charac[I2C_speed].vddat_max - (int32_t)I2C_Charac[I2C_speed].trise - 7000a9b4: f640 15f6 movw r5, #2550 @ 0x9f6 if (tsdadel_max <= 0) 7000a9b8: 2200 movs r2, #0 uint32_t prev_presc = I2C_PRESC_MAX; 7000a9ba: f04f 0810 mov.w r8, #16 ti2cclk = (SEC2NSEC + (clock_src_freq / 2U)) / clock_src_freq; 7000a9be: eb03 0350 add.w r3, r3, r0, lsr #1 if (tscldel >= (uint32_t)tscldel_min) 7000a9c2: f240 3b79 movw fp, #889 @ 0x379 if (tsdadel_max <= 0) 7000a9c6: 4691 mov r9, r2 I2c_valid_timing[I2c_valid_timing_nbr].presc = presc; 7000a9c8: f8df a17c ldr.w sl, [pc, #380] @ 7000ab48 ti2cclk = (SEC2NSEC + (clock_src_freq / 2U)) / clock_src_freq; 7000a9cc: fbb3 f0f0 udiv r0, r3, r0 tsdadel_min = (int32_t)I2C_Charac[I2C_speed].tfall + (int32_t)I2C_Charac[I2C_speed].hddat_min - 7000a9d0: f06f 031d mvn.w r3, #29 (int32_t)tafdel_min - (int32_t)(((int32_t)I2C_Charac[I2C_speed].dnf + 3) * (int32_t)ti2cclk); 7000a9d4: eb00 0440 add.w r4, r0, r0, lsl #1 tsdadel_max = (int32_t)I2C_Charac[I2C_speed].vddat_max - (int32_t)I2C_Charac[I2C_speed].trise - 7000a9d8: eba5 0580 sub.w r5, r5, r0, lsl #2 if (tsdadel_max <= 0) 7000a9dc: 4601 mov r1, r0 tsdadel_min = (int32_t)I2C_Charac[I2C_speed].tfall + (int32_t)I2C_Charac[I2C_speed].hddat_min - 7000a9de: 1b1b subs r3, r3, r4 if (tsdadel_max <= 0) 7000a9e0: ea25 75e5 bic.w r5, r5, r5, asr #31 if (tsdadel_min <= 0) 7000a9e4: ea23 73e3 bic.w r3, r3, r3, asr #31 7000a9e8: 9302 str r3, [sp, #8] for (presc = 0; presc < I2C_PRESC_MAX; presc++) 7000a9ea: 4b56 ldr r3, [pc, #344] @ (7000ab44 ) 7000a9ec: 681b ldr r3, [r3, #0] 7000a9ee: 9300 str r3, [sp, #0] { 7000a9f0: 468e mov lr, r1 for (scldel = 0; scldel < I2C_SCLDEL_MAX; scldel++) 7000a9f2: 2700 movs r7, #0 if (tscldel >= (uint32_t)tscldel_min) 7000a9f4: 45de cmp lr, fp 7000a9f6: 9703 str r7, [sp, #12] uint32_t tscldel = (scldel + 1U) * (presc + 1U) * ti2cclk; 7000a9f8: f107 0701 add.w r7, r7, #1 if (tscldel >= (uint32_t)tscldel_min) 7000a9fc: d947 bls.n 7000aa8e 7000a9fe: 2600 movs r6, #0 for (sdadel = 0; sdadel < I2C_SDADEL_MAX; sdadel++) 7000aa00: 46b4 mov ip, r6 if ((tsdadel >= (uint32_t)tsdadel_min) && (tsdadel <= (uint32_t)tsdadel_max)) 7000aa02: 9c02 ldr r4, [sp, #8] 7000aa04: 42a6 cmp r6, r4 7000aa06: d33c bcc.n 7000aa82 7000aa08: 42ae cmp r6, r5 7000aa0a: d83a bhi.n 7000aa82 if (presc != prev_presc) 7000aa0c: 4590 cmp r8, r2 7000aa0e: d038 beq.n 7000aa82 I2c_valid_timing[I2c_valid_timing_nbr].presc = presc; 7000aa10: 2414 movs r4, #20 7000aa12: fb04 f903 mul.w r9, r4, r3 I2c_valid_timing_nbr ++; 7000aa16: 3301 adds r3, #1 I2c_valid_timing[I2c_valid_timing_nbr].tscldel = scldel; 7000aa18: 9c03 ldr r4, [sp, #12] I2c_valid_timing[I2c_valid_timing_nbr].presc = presc; 7000aa1a: eb0a 0809 add.w r8, sl, r9 if (I2c_valid_timing_nbr >= I2C_VALID_TIMING_NBR) 7000aa1e: 2b7f cmp r3, #127 @ 0x7f I2c_valid_timing[I2c_valid_timing_nbr].presc = presc; 7000aa20: f84a 2009 str.w r2, [sl, r9] I2c_valid_timing[I2c_valid_timing_nbr].tsdadel = sdadel; 7000aa24: e9c8 4c01 strd r4, ip, [r8, #4] if (I2c_valid_timing_nbr >= I2C_VALID_TIMING_NBR) 7000aa28: d928 bls.n 7000aa7c 7000aa2a: 4a46 ldr r2, [pc, #280] @ (7000ab44 ) 7000aa2c: 9300 str r3, [sp, #0] 7000aa2e: 6013 str r3, [r2, #0] uint32_t tscl_l = tafdel_min + dnf_delay + (2U * ti2cclk) + ((scll + 1U) * tpresc); 7000aa30: 0041 lsls r1, r0, #1 7000aa32: 4a45 ldr r2, [pc, #276] @ (7000ab48 ) 7000aa34: 2600 movs r6, #0 7000aa36: f242 7a10 movw sl, #10000 @ 0x2710 7000aa3a: 3132 adds r1, #50 @ 0x32 7000aa3c: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7000aa40: 9105 str r1, [sp, #20] for (uint32_t count = 0; count < I2c_valid_timing_nbr; count++) 7000aa42: 9900 ldr r1, [sp, #0] 7000aa44: 42b1 cmp r1, r6 7000aa46: d12d bne.n 7000aaa4 if (idx < I2C_VALID_TIMING_NBR) 7000aa48: 2b7f cmp r3, #127 @ 0x7f 7000aa4a: d8a2 bhi.n 7000a992 ret = ((I2c_valid_timing[idx].presc & 0x0FU) << 28) | \ 7000aa4c: 2214 movs r2, #20 7000aa4e: 4353 muls r3, r2 7000aa50: 4a3d ldr r2, [pc, #244] @ (7000ab48 ) 7000aa52: 18d1 adds r1, r2, r3 7000aa54: 58d2 ldr r2, [r2, r3] ((I2c_valid_timing[idx].scll & 0xFFU) << 0); 7000aa56: 7c0b ldrb r3, [r1, #16] ret = ((I2c_valid_timing[idx].presc & 0x0FU) << 28) | \ 7000aa58: ea43 7302 orr.w r3, r3, r2, lsl #28 ((I2c_valid_timing[idx].tscldel & 0x0FU) << 20) | \ 7000aa5c: 684a ldr r2, [r1, #4] 7000aa5e: 0512 lsls r2, r2, #20 7000aa60: f402 0270 and.w r2, r2, #15728640 @ 0xf00000 ret = ((I2c_valid_timing[idx].presc & 0x0FU) << 28) | \ 7000aa64: 4313 orrs r3, r2 ((I2c_valid_timing[idx].tsdadel & 0x0FU) << 16) | \ 7000aa66: 688a ldr r2, [r1, #8] 7000aa68: 0412 lsls r2, r2, #16 7000aa6a: f402 2270 and.w r2, r2, #983040 @ 0xf0000 ret = ((I2c_valid_timing[idx].presc & 0x0FU) << 28) | \ 7000aa6e: 4313 orrs r3, r2 ((I2c_valid_timing[idx].sclh & 0xFFU) << 8) | \ 7000aa70: 68ca ldr r2, [r1, #12] 7000aa72: 0212 lsls r2, r2, #8 7000aa74: b292 uxth r2, r2 ret = ((I2c_valid_timing[idx].presc & 0x0FU) << 28) | \ 7000aa76: 4313 orrs r3, r2 7000aa78: 9301 str r3, [sp, #4] 7000aa7a: e78a b.n 7000a992 prev_presc = presc; 7000aa7c: 4690 mov r8, r2 7000aa7e: f04f 0901 mov.w r9, #1 for (sdadel = 0; sdadel < I2C_SDADEL_MAX; sdadel++) 7000aa82: f10c 0c01 add.w ip, ip, #1 7000aa86: 440e add r6, r1 7000aa88: f1bc 0f10 cmp.w ip, #16 7000aa8c: d1b9 bne.n 7000aa02 for (scldel = 0; scldel < I2C_SCLDEL_MAX; scldel++) 7000aa8e: 2f10 cmp r7, #16 7000aa90: 448e add lr, r1 7000aa92: d1af bne.n 7000a9f4 for (presc = 0; presc < I2C_PRESC_MAX; presc++) 7000aa94: 3201 adds r2, #1 7000aa96: 4401 add r1, r0 7000aa98: 2a10 cmp r2, #16 7000aa9a: d1a9 bne.n 7000a9f0 7000aa9c: f1b9 0f00 cmp.w r9, #0 7000aaa0: d1c3 bne.n 7000aa2a 7000aaa2: e7c5 b.n 7000aa30 uint32_t tpresc = (I2c_valid_timing[count].presc + 1U) * ti2cclk; 7000aaa4: 6815 ldr r5, [r2, #0] for (scll = 0; scll < I2C_SCLL_MAX; scll++) 7000aaa6: 2700 movs r7, #0 7000aaa8: 9905 ldr r1, [sp, #20] uint32_t tpresc = (I2c_valid_timing[count].presc + 1U) * ti2cclk; 7000aaaa: fb05 0500 mla r5, r5, r0, r0 for (scll = 0; scll < I2C_SCLL_MAX; scll++) 7000aaae: 4429 add r1, r5 7000aab0: 9102 str r1, [sp, #8] if ((tscl_l > I2C_Charac[I2C_speed].lscl_min) && (ti2cclk < ((tscl_l - tafdel_min - dnf_delay) / 4U))) 7000aab2: f241 245c movw r4, #4700 @ 0x125c 7000aab6: 9703 str r7, [sp, #12] uint32_t tscl_l = tafdel_min + dnf_delay + (2U * ti2cclk) + ((scll + 1U) * tpresc); 7000aab8: 3701 adds r7, #1 if ((tscl_l > I2C_Charac[I2C_speed].lscl_min) && (ti2cclk < ((tscl_l - tafdel_min - dnf_delay) / 4U))) 7000aaba: 42a1 cmp r1, r4 7000aabc: d931 bls.n 7000ab22 uint32_t tscl_l = tafdel_min + dnf_delay + (2U * ti2cclk) + ((scll + 1U) * tpresc); 7000aabe: f1a1 0432 sub.w r4, r1, #50 @ 0x32 if ((tscl_l > I2C_Charac[I2C_speed].lscl_min) && (ti2cclk < ((tscl_l - tafdel_min - dnf_delay) / 4U))) 7000aac2: ebb0 0f94 cmp.w r0, r4, lsr #2 7000aac6: d22c bcs.n 7000ab22 if ((tscl >= clk_min) && (tscl <= clk_max) && (tscl_h >= I2C_Charac[I2C_speed].hscl_min) && (ti2cclk < tscl_h)) 7000aac8: f5a1 58ef sub.w r8, r1, #7648 @ 0x1de0 int32_t error = (int32_t)tscl - (int32_t)ti2cspeed; 7000aacc: f5a1 5911 sub.w r9, r1, #9280 @ 0x2440 7000aad0: 9c02 ldr r4, [sp, #8] for (sclh = 0; sclh < I2C_SCLH_MAX; sclh++) 7000aad2: f04f 0c00 mov.w ip, #0 if ((tscl >= clk_min) && (tscl <= clk_max) && (tscl_h >= I2C_Charac[I2C_speed].hscl_min) && (ti2cclk < tscl_h)) 7000aad6: f1a8 0819 sub.w r8, r8, #25 int32_t error = (int32_t)tscl - (int32_t)ti2cspeed; 7000aada: f1a9 093c sub.w r9, r9, #60 @ 0x3c if ((tscl >= clk_min) && (tscl <= clk_max) && (tscl_h >= I2C_Charac[I2C_speed].hscl_min) && (ti2cclk < tscl_h)) 7000aade: eb08 0e04 add.w lr, r8, r4 7000aae2: f241 0b47 movw fp, #4167 @ 0x1047 7000aae6: f8cd c010 str.w ip, [sp, #16] uint32_t tscl_h = tafdel_min + dnf_delay + (2U * ti2cclk) + ((sclh + 1U) * tpresc); 7000aaea: f10c 0c01 add.w ip, ip, #1 if ((tscl >= clk_min) && (tscl <= clk_max) && (tscl_h >= I2C_Charac[I2C_speed].hscl_min) && (ti2cclk < tscl_h)) 7000aaee: 45de cmp lr, fp 7000aaf0: d813 bhi.n 7000ab1a 7000aaf2: f5b4 6f7a cmp.w r4, #4000 @ 0xfa0 7000aaf6: d310 bcc.n 7000ab1a 7000aaf8: 4284 cmp r4, r0 7000aafa: d90e bls.n 7000ab1a int32_t error = (int32_t)tscl - (int32_t)ti2cspeed; 7000aafc: eb09 0e04 add.w lr, r9, r4 if (error < 0) 7000ab00: f1be 0f00 cmp.w lr, #0 7000ab04: bfb8 it lt 7000ab06: f1ce 0e00 rsblt lr, lr, #0 if ((uint32_t)error < prev_error) 7000ab0a: 45d6 cmp lr, sl 7000ab0c: d205 bcs.n 7000ab1a I2c_valid_timing[count].scll = scll; 7000ab0e: 9b03 ldr r3, [sp, #12] prev_error = (uint32_t)error; 7000ab10: 46f2 mov sl, lr I2c_valid_timing[count].scll = scll; 7000ab12: 6113 str r3, [r2, #16] I2c_valid_timing[count].sclh = sclh; 7000ab14: 9b04 ldr r3, [sp, #16] 7000ab16: 60d3 str r3, [r2, #12] ret = count; 7000ab18: 4633 mov r3, r6 for (sclh = 0; sclh < I2C_SCLH_MAX; sclh++) 7000ab1a: f5bc 7f80 cmp.w ip, #256 @ 0x100 7000ab1e: 442c add r4, r5 7000ab20: d1dd bne.n 7000aade for (scll = 0; scll < I2C_SCLL_MAX; scll++) 7000ab22: f5b7 7f80 cmp.w r7, #256 @ 0x100 7000ab26: 4429 add r1, r5 7000ab28: d1c3 bne.n 7000aab2 for (uint32_t count = 0; count < I2c_valid_timing_nbr; count++) 7000ab2a: 3601 adds r6, #1 7000ab2c: 3214 adds r2, #20 7000ab2e: e788 b.n 7000aa42 7000ab30: 40005400 .word 0x40005400 7000ab34: 2400c1f4 .word 0x2400c1f4 7000ab38: 2400cc7c .word 0x2400cc7c 7000ab3c: 2400cc80 .word 0x2400cc80 7000ab40: 3b9aca00 .word 0x3b9aca00 7000ab44: 2400c278 .word 0x2400c278 7000ab48: 2400c27c .word 0x2400c27c 7000ab4c : (void)(pObj); (void)(Output); /* This feature is currently not supported */ return WM8904_ERROR; } 7000ab4c: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7000ab50: 4770 bx lr 7000ab52 : * @brief This function provides accurate delay (in milliseconds) * @param pObj pointer to component object * @param Delay: specifies the delay time length, in milliseconds */ static void WM8904_Delay(const WM8904_Object_t *pObj, uint32_t Delay) { 7000ab52: b570 push {r4, r5, r6, lr} uint32_t tickstart; tickstart = pObj->IO.GetTick(); 7000ab54: 6943 ldr r3, [r0, #20] { 7000ab56: 4604 mov r4, r0 7000ab58: 460d mov r5, r1 tickstart = pObj->IO.GetTick(); 7000ab5a: 4798 blx r3 7000ab5c: 4606 mov r6, r0 while((pObj->IO.GetTick() - tickstart) < Delay) 7000ab5e: 6963 ldr r3, [r4, #20] 7000ab60: 4798 blx r3 7000ab62: 1b83 subs r3, r0, r6 7000ab64: 42ab cmp r3, r5 7000ab66: d3fa bcc.n 7000ab5e { } } 7000ab68: bd70 pop {r4, r5, r6, pc} 7000ab6a : * @param pData The target register value to be written * @param Length buffer size to be written * @retval error status */ static int32_t WM8904_ReadRegWrap(void *handle, uint16_t Reg, uint8_t* pData, uint16_t Length) { 7000ab6a: b410 push {r4} const WM8904_Object_t *pObj = (WM8904_Object_t *)handle; return pObj->IO.ReadReg(pObj->IO.Address, Reg, pData, Length); 7000ab6c: 6904 ldr r4, [r0, #16] 7000ab6e: 8900 ldrh r0, [r0, #8] 7000ab70: 46a4 mov ip, r4 } 7000ab72: f85d 4b04 ldr.w r4, [sp], #4 return pObj->IO.ReadReg(pObj->IO.Address, Reg, pData, Length); 7000ab76: 4760 bx ip 7000ab78 : * @param pData The target register value to be written * @param Length buffer size to be written * @retval error status */ static int32_t WM8904_WriteRegWrap(void *handle, uint16_t Reg, uint8_t* pData, uint16_t Length) { 7000ab78: b410 push {r4} const WM8904_Object_t *pObj = (WM8904_Object_t *)handle; return pObj->IO.WriteReg(pObj->IO.Address, Reg, pData, Length); 7000ab7a: 68c4 ldr r4, [r0, #12] 7000ab7c: 8900 ldrh r0, [r0, #8] 7000ab7e: 46a4 mov ip, r4 } 7000ab80: f85d 4b04 ldr.w r4, [sp], #4 return pObj->IO.WriteReg(pObj->IO.Address, Reg, pData, Length); 7000ab84: 4760 bx ip 7000ab86 : { 7000ab86: e92d 47f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, r9, sl, lr} tmp = 0x0077U; /* HPL_RMV_SHORT = HPR_RMV_SHORT = 0 */ 7000ab8a: 2377 movs r3, #119 @ 0x77 ret = wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000ab8c: f100 0518 add.w r5, r0, #24 { 7000ab90: 4607 mov r7, r0 ret = wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000ab92: f10d 0206 add.w r2, sp, #6 tmp = 0x0077U; /* HPL_RMV_SHORT = HPR_RMV_SHORT = 0 */ 7000ab96: f8ad 3006 strh.w r3, [sp, #6] ret = wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000ab9a: 215a movs r1, #90 @ 0x5a 7000ab9c: 2302 movs r3, #2 7000ab9e: 4628 mov r0, r5 tmp = 0x0000U; /* HPL_ENA_OUTP= HPL_ENA_OUTR = HPL_ENA_DLY = HPR_ENA_DLY = HPL_ENA = HPR_ENA = 0 */ 7000aba0: 2600 movs r6, #0 ret = wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000aba2: f000 fcd4 bl 7000b54e 7000aba6: 4604 mov r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000aba8: f10d 0206 add.w r2, sp, #6 7000abac: 2302 movs r3, #2 7000abae: 215a movs r1, #90 @ 0x5a 7000abb0: 4628 mov r0, r5 tmp = 0x0000U; /* HPL_ENA_OUTP= HPL_ENA_OUTR = HPL_ENA_DLY = HPR_ENA_DLY = HPL_ENA = HPR_ENA = 0 */ 7000abb2: f8ad 6006 strh.w r6, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000abb6: f000 fcca bl 7000b54e 7000abba: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DC_SERVO0, &tmp, 2U); 7000abbc: f10d 0206 add.w r2, sp, #6 7000abc0: 2302 movs r3, #2 7000abc2: 2143 movs r1, #67 @ 0x43 7000abc4: 4628 mov r0, r5 tmp = 0x0000U; /* Disable channels 0 and 1 */ 7000abc6: f8ad 6006 strh.w r6, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DC_SERVO0, &tmp, 2U); 7000abca: f000 fcc0 bl 7000b54e 7000abce: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_CHARGE_PUMP0, &tmp, 2U); 7000abd0: f10d 0206 add.w r2, sp, #6 7000abd4: 2302 movs r3, #2 7000abd6: 2162 movs r1, #98 @ 0x62 7000abd8: 4628 mov r0, r5 tmp = 0x0000U; /* CP_ENA = 0 */ 7000abda: f8ad 6006 strh.w r6, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_CHARGE_PUMP0, &tmp, 2U); 7000abde: f000 fcb6 bl 7000b54e 7000abe2: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT6, &tmp, 2U); 7000abe4: f10d 0206 add.w r2, sp, #6 7000abe8: 2302 movs r3, #2 7000abea: 2112 movs r1, #18 7000abec: 4628 mov r0, r5 tmp = 0x0004U; /* CLK_DSP_ENA = 0, CLK_SYS_ENA = 1 */ 7000abee: f04f 0804 mov.w r8, #4 tmp = 0x0000U; /* ADCL_ENA = DACL_ENA = DACR_ENA = 0 */ 7000abf2: f8ad 6006 strh.w r6, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT6, &tmp, 2U); 7000abf6: f000 fcaa bl 7000b54e 7000abfa: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000abfc: f10d 0206 add.w r2, sp, #6 7000ac00: 2302 movs r3, #2 7000ac02: 2116 movs r1, #22 7000ac04: 4628 mov r0, r5 tmp = 0x0004U; /* CLK_DSP_ENA = 0, CLK_SYS_ENA = 1 */ 7000ac06: f8ad 8006 strh.w r8, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000ac0a: f000 fca0 bl 7000b54e 7000ac0e: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT2, &tmp, 2U); 7000ac10: f10d 0206 add.w r2, sp, #6 7000ac14: 2302 movs r3, #2 7000ac16: 210e movs r1, #14 7000ac18: 4628 mov r0, r5 tmp = 0x0000U; /* HPL_PGA_ENA = HPR_PGA_ENA = 0 */ 7000ac1a: f8ad 6006 strh.w r6, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT2, &tmp, 2U); 7000ac1e: f000 fc96 bl 7000b54e 7000ac22: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT0, &tmp, 2U); 7000ac24: f10d 0206 add.w r2, sp, #6 7000ac28: 2302 movs r3, #2 7000ac2a: 210c movs r1, #12 7000ac2c: 4628 mov r0, r5 tmp = 0x0000U; /* INL_ENA = 0 */ 7000ac2e: f8ad 6006 strh.w r6, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT0, &tmp, 2U); 7000ac32: f000 fc8c bl 7000b54e 7000ac36: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_MIC_BIAS_CONTROL0, &tmp, 2U); 7000ac38: f10d 0206 add.w r2, sp, #6 7000ac3c: 2302 movs r3, #2 7000ac3e: 2106 movs r1, #6 7000ac40: 4628 mov r0, r5 tmp = 0x0018U; /* ISEL[1:0] = 10b, BIAS_EN = 0 */ 7000ac42: f04f 0918 mov.w r9, #24 tmp = 0x0000U; /* MICBIAS_ENA = 0 */ 7000ac46: f8ad 6006 strh.w r6, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_MIC_BIAS_CONTROL0, &tmp, 2U); 7000ac4a: f000 fc80 bl 7000b54e 7000ac4e: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_BIAS_CONTROL0, &tmp, 2U); 7000ac50: f10d 0206 add.w r2, sp, #6 7000ac54: 4641 mov r1, r8 7000ac56: 2302 movs r3, #2 7000ac58: 4628 mov r0, r5 tmp = 0x0042U; /* VMID_BUF_ENA = 1, VMID_RES[1:0] = 01b, VMID_ENA = 0 */ 7000ac5a: f04f 0a42 mov.w sl, #66 @ 0x42 tmp = 0x0018U; /* ISEL[1:0] = 10b, BIAS_EN = 0 */ 7000ac5e: f8ad 9006 strh.w r9, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_BIAS_CONTROL0, &tmp, 2U); 7000ac62: f000 fc74 bl 7000b54e 7000ac66: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000ac68: f10d 0206 add.w r2, sp, #6 7000ac6c: 2302 movs r3, #2 7000ac6e: 2105 movs r1, #5 7000ac70: 4628 mov r0, r5 tmp = 0x0042U; /* VMID_BUF_ENA = 1, VMID_RES[1:0] = 01b, VMID_ENA = 0 */ 7000ac72: f8ad a006 strh.w sl, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000ac76: f000 fc6a bl 7000b54e WM8904_Delay(pObj, 300U); 7000ac7a: f44f 7196 mov.w r1, #300 @ 0x12c ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000ac7e: 4404 add r4, r0 WM8904_Delay(pObj, 300U); 7000ac80: 4638 mov r0, r7 7000ac82: f7ff ff66 bl 7000ab52 ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000ac86: f10d 0206 add.w r2, sp, #6 7000ac8a: 2302 movs r3, #2 7000ac8c: 2105 movs r1, #5 7000ac8e: 4628 mov r0, r5 tmp = 0x0042U; /* VMID_BUF_ENA = 1, VMID_RES[1:0] = 01b, VMID_ENA = 0 */ 7000ac90: f8ad a006 strh.w sl, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000ac94: f000 fc5b bl 7000b54e 7000ac98: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000ac9a: f10d 0206 add.w r2, sp, #6 7000ac9e: 2302 movs r3, #2 7000aca0: 2105 movs r1, #5 7000aca2: 4628 mov r0, r5 tmp = 0x0000U; /* VMID_BUF_ENA = 0, VMID_RES[1:0] = 00b, VMID_ENA = 0 */ 7000aca4: f8ad 6006 strh.w r6, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000aca8: f000 fc51 bl 7000b54e 7000acac: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_BIAS_CONTROL0, &tmp, 2U); 7000acae: f10d 0206 add.w r2, sp, #6 7000acb2: 4641 mov r1, r8 7000acb4: 2302 movs r3, #2 7000acb6: 4628 mov r0, r5 tmp = 0x0018U; /* ISEL[1:0] = 10b, BIAS_EN = 0 */ 7000acb8: f8ad 9006 strh.w r9, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_BIAS_CONTROL0, &tmp, 2U); 7000acbc: f000 fc47 bl 7000b54e ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000acc0: 2302 movs r3, #2 ret += wm8904_write_reg(&pObj->Ctx, WM8904_BIAS_CONTROL0, &tmp, 2U); 7000acc2: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000acc4: f10d 0206 add.w r2, sp, #6 7000acc8: 2116 movs r1, #22 7000acca: 4628 mov r0, r5 tmp = 0x0000U; /* CLK_SYS_ENA = 0 */ 7000accc: f8ad 6006 strh.w r6, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000acd0: f000 fc3d bl 7000b54e if (pObj->IsInitialized == 1U) 7000acd4: f897 3024 ldrb.w r3, [r7, #36] @ 0x24 ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000acd8: 4420 add r0, r4 if (pObj->IsInitialized == 1U) 7000acda: 2b01 cmp r3, #1 pObj->IsInitialized = 0U; 7000acdc: bf08 it eq 7000acde: f887 6024 strbeq.w r6, [r7, #36] @ 0x24 } 7000ace2: b002 add sp, #8 7000ace4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 7000ace8 : { 7000ace8: e92d 42f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r9, lr} if ((WM8904_CurrentDevices & WM8904_OUT_HEADPHONE) == WM8904_OUT_HEADPHONE) 7000acec: 4f27 ldr r7, [pc, #156] @ (7000ad8c ) { 7000acee: 4606 mov r6, r0 if ((WM8904_CurrentDevices & WM8904_OUT_HEADPHONE) == WM8904_OUT_HEADPHONE) 7000acf0: 683c ldr r4, [r7, #0] 7000acf2: f014 0401 ands.w r4, r4, #1 7000acf6: d00b beq.n 7000ad10 tmp = 0x0640U; /* DAC_MUTE= 0 */ 7000acf8: f44f 63c8 mov.w r3, #1600 @ 0x640 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DAC_DIGITAL1, &tmp, 2U); 7000acfc: f10d 0206 add.w r2, sp, #6 7000ad00: 2121 movs r1, #33 @ 0x21 7000ad02: 3018 adds r0, #24 tmp = 0x0640U; /* DAC_MUTE= 0 */ 7000ad04: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DAC_DIGITAL1, &tmp, 2U); 7000ad08: 2302 movs r3, #2 7000ad0a: f000 fc20 bl 7000b54e 7000ad0e: 4604 mov r4, r0 if ((WM8904_CurrentDevices & WM8904_IN_MIC1) == WM8904_IN_MIC1) 7000ad10: 683b ldr r3, [r7, #0] 7000ad12: 05d9 lsls r1, r3, #23 7000ad14: d50b bpl.n 7000ad2e tmp = 0x001AU; /* LINMUTE = 0 */ 7000ad16: 231a movs r3, #26 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000ad18: f10d 0206 add.w r2, sp, #6 7000ad1c: 212c movs r1, #44 @ 0x2c 7000ad1e: f106 0018 add.w r0, r6, #24 tmp = 0x001AU; /* LINMUTE = 0 */ 7000ad22: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000ad26: 2302 movs r3, #2 7000ad28: f000 fc11 bl 7000b54e 7000ad2c: 4404 add r4, r0 if ((WM8904_CurrentDevices & WM8904_IN_LINE2) == WM8904_IN_LINE2) 7000ad2e: 683b ldr r3, [r7, #0] 7000ad30: 051a lsls r2, r3, #20 7000ad32: d517 bpl.n 7000ad64 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000ad34: f106 0518 add.w r5, r6, #24 tmp = 0x0000U; /* LINMUTE = 0 */ 7000ad38: f04f 0900 mov.w r9, #0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000ad3c: 2302 movs r3, #2 7000ad3e: f10d 0206 add.w r2, sp, #6 7000ad42: 212c movs r1, #44 @ 0x2c 7000ad44: 4628 mov r0, r5 tmp = 0x0000U; /* LINMUTE = 0 */ 7000ad46: f8ad 9006 strh.w r9, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000ad4a: f000 fc00 bl 7000b54e 7000ad4e: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_RIGHT_INPUT0, &tmp, 2U); 7000ad50: 2302 movs r3, #2 7000ad52: f10d 0206 add.w r2, sp, #6 7000ad56: 212d movs r1, #45 @ 0x2d 7000ad58: 4628 mov r0, r5 tmp = 0x0000U; /* LINMUTE = 0 */ 7000ad5a: f8ad 9006 strh.w r9, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_RIGHT_INPUT0, &tmp, 2U); 7000ad5e: f000 fbf6 bl 7000b54e 7000ad62: 4404 add r4, r0 if ((WM8904_CurrentDevices & WM8904_IN_DIGITAL_MIC2) == WM8904_IN_DIGITAL_MIC2) 7000ad64: 683b ldr r3, [r7, #0] 7000ad66: 049b lsls r3, r3, #18 7000ad68: d50c bpl.n 7000ad84 tmp = 0x01F0U; /* ADC_VU = 1, ADC_VOL = +17,6dB */ 7000ad6a: f44f 73f8 mov.w r3, #496 @ 0x1f0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_LEFT, &tmp, 2U); 7000ad6e: f10d 0206 add.w r2, sp, #6 7000ad72: 2124 movs r1, #36 @ 0x24 7000ad74: f106 0018 add.w r0, r6, #24 tmp = 0x01F0U; /* ADC_VU = 1, ADC_VOL = +17,6dB */ 7000ad78: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_LEFT, &tmp, 2U); 7000ad7c: 2302 movs r3, #2 7000ad7e: f000 fbe6 bl 7000b54e 7000ad82: 4404 add r4, r0 } 7000ad84: 4620 mov r0, r4 7000ad86: b002 add sp, #8 7000ad88: e8bd 82f0 ldmia.w sp!, {r4, r5, r6, r7, r9, pc} 7000ad8c: 2400cc84 .word 0x2400cc84 7000ad90 : if (InputOutput == VOLUME_OUTPUT) 7000ad90: 2901 cmp r1, #1 { 7000ad92: b537 push {r0, r1, r2, r4, r5, lr} if (InputOutput == VOLUME_OUTPUT) 7000ad94: d123 bne.n 7000adde convertedvol = VOLUME_OUT_CONVERT(Volume); 7000ad96: 2a63 cmp r2, #99 @ 0x63 ret = wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_OUTPUT1_LEFT, &tmp, 2U); 7000ad98: f100 0518 add.w r5, r0, #24 7000ad9c: f04f 0302 mov.w r3, #2 7000ada0: f04f 0139 mov.w r1, #57 @ 0x39 convertedvol = VOLUME_OUT_CONVERT(Volume); 7000ada4: bf94 ite ls 7000ada6: 0852 lsrls r2, r2, #1 7000ada8: 223f movhi r2, #63 @ 0x3f ret = wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_OUTPUT1_LEFT, &tmp, 2U); 7000adaa: 4628 mov r0, r5 convertedvol = VOLUME_OUT_CONVERT(Volume); 7000adac: bf98 it ls 7000adae: 320d addls r2, #13 tmp = (uint16_t) convertedvol; 7000adb0: f8ad 2006 strh.w r2, [sp, #6] ret = wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_OUTPUT1_LEFT, &tmp, 2U); 7000adb4: f10d 0206 add.w r2, sp, #6 7000adb8: f000 fbc9 bl 7000b54e tmp |= 0x80U; /* Volume update */ 7000adbc: f8bd 3006 ldrh.w r3, [sp, #6] ret = wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_OUTPUT1_LEFT, &tmp, 2U); 7000adc0: 4604 mov r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_OUTPUT1_RIGHT, &tmp, 2U); 7000adc2: f10d 0206 add.w r2, sp, #6 tmp |= 0x80U; /* Volume update */ 7000adc6: f043 0380 orr.w r3, r3, #128 @ 0x80 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_OUTPUT1_RIGHT, &tmp, 2U); 7000adca: 213a movs r1, #58 @ 0x3a 7000adcc: 4628 mov r0, r5 tmp |= 0x80U; /* Volume update */ 7000adce: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_OUTPUT1_RIGHT, &tmp, 2U); 7000add2: 2302 movs r3, #2 7000add4: f000 fbbb bl 7000b54e 7000add8: 4420 add r0, r4 } 7000adda: b003 add sp, #12 7000addc: bd30 pop {r4, r5, pc} ret = WM8904_ERROR; 7000adde: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff return ret; 7000ade2: e7fa b.n 7000adda 7000ade4 : switch (AudioFreq) 7000ade4: f245 6322 movw r3, #22050 @ 0x5622 7000ade8: 4299 cmp r1, r3 { 7000adea: b507 push {r0, r1, r2, lr} switch (AudioFreq) 7000adec: d016 beq.n 7000ae1c 7000adee: d80d bhi.n 7000ae0c 7000adf0: f642 3311 movw r3, #11025 @ 0x2b11 7000adf4: 4299 cmp r1, r3 7000adf6: d02b beq.n 7000ae50 7000adf8: f5b1 5f7a cmp.w r1, #16000 @ 0x3e80 7000adfc: d02b beq.n 7000ae56 7000adfe: f5b1 5ffa cmp.w r1, #8000 @ 0x1f40 7000ae02: d019 beq.n 7000ae38 7000ae04: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff } 7000ae08: b003 add sp, #12 7000ae0a: bd00 pop {pc} switch (AudioFreq) 7000ae0c: f5b1 4ffa cmp.w r1, #32000 @ 0x7d00 7000ae10: d024 beq.n 7000ae5c 7000ae12: d806 bhi.n 7000ae22 7000ae14: f645 53c0 movw r3, #24000 @ 0x5dc0 7000ae18: 4299 cmp r1, r3 7000ae1a: d1f3 bne.n 7000ae04 tmp = 0x0C03U; 7000ae1c: f640 4303 movw r3, #3075 @ 0xc03 7000ae20: e00c b.n 7000ae3c switch (AudioFreq) 7000ae22: f64a 4344 movw r3, #44100 @ 0xac44 7000ae26: 4299 cmp r1, r3 7000ae28: d003 beq.n 7000ae32 7000ae2a: f64b 3380 movw r3, #48000 @ 0xbb80 7000ae2e: 4299 cmp r1, r3 7000ae30: d1e8 bne.n 7000ae04 tmp = 0x0C05U; 7000ae32: f640 4305 movw r3, #3077 @ 0xc05 7000ae36: e001 b.n 7000ae3c tmp = 0x0C00U; 7000ae38: f44f 6340 mov.w r3, #3072 @ 0xc00 tmp = 0x0C05U; 7000ae3c: f8ad 3006 strh.w r3, [sp, #6] ret = wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES1, &tmp, 2U); 7000ae40: f10d 0206 add.w r2, sp, #6 7000ae44: 2302 movs r3, #2 7000ae46: 2115 movs r1, #21 7000ae48: 3018 adds r0, #24 7000ae4a: f000 fb80 bl 7000b54e return ret; 7000ae4e: e7db b.n 7000ae08 tmp = 0x0C01U; 7000ae50: f640 4301 movw r3, #3073 @ 0xc01 7000ae54: e7f2 b.n 7000ae3c tmp = 0x0C02U; 7000ae56: f640 4302 movw r3, #3074 @ 0xc02 7000ae5a: e7ef b.n 7000ae3c tmp = 0x0C04U; 7000ae5c: f640 4304 movw r3, #3076 @ 0xc04 7000ae60: e7ec b.n 7000ae3c 7000ae62 : { 7000ae62: b507 push {r0, r1, r2, lr} ret = wm8904_write_reg(&pObj->Ctx, WM8904_SW_RESET, &tmp, 2U); 7000ae64: 2302 movs r3, #2 tmp = 0x0U; /* Reset registers */ 7000ae66: 2100 movs r1, #0 ret = wm8904_write_reg(&pObj->Ctx, WM8904_SW_RESET, &tmp, 2U); 7000ae68: f10d 0206 add.w r2, sp, #6 7000ae6c: 3018 adds r0, #24 tmp = 0x0U; /* Reset registers */ 7000ae6e: f8ad 1006 strh.w r1, [sp, #6] ret = wm8904_write_reg(&pObj->Ctx, WM8904_SW_RESET, &tmp, 2U); 7000ae72: f000 fb6c bl 7000b54e } 7000ae76: b003 add sp, #12 7000ae78: bd00 pop {pc} ... 7000ae7c : { 7000ae7c: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr} if (pObj->IsInitialized == 1U) 7000ae80: f890 3024 ldrb.w r3, [r0, #36] @ 0x24 { 7000ae84: 4607 mov r7, r0 7000ae86: 460e mov r6, r1 7000ae88: 2500 movs r5, #0 if (pObj->IsInitialized == 1U) 7000ae8a: 2b01 cmp r3, #1 7000ae8c: f040 81ce bne.w 7000b22c ret += WM8904_DeInit(pObj); 7000ae90: f7ff fe79 bl 7000ab86 7000ae94: 4604 mov r4, r0 tmp = 0x0U; /* Reset registers */ 7000ae96: f8ad 5006 strh.w r5, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_SW_RESET, &tmp, 2U); 7000ae9a: f107 0518 add.w r5, r7, #24 tmp = 0x0004U; /* CLK_SYS_ENA = 1 */ 7000ae9e: f04f 0804 mov.w r8, #4 ret += wm8904_write_reg(&pObj->Ctx, WM8904_SW_RESET, &tmp, 2U); 7000aea2: 2302 movs r3, #2 7000aea4: f10d 0206 add.w r2, sp, #6 7000aea8: 2100 movs r1, #0 7000aeaa: 4628 mov r0, r5 7000aeac: f000 fb4f bl 7000b54e ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000aeb0: 2302 movs r3, #2 ret += wm8904_write_reg(&pObj->Ctx, WM8904_SW_RESET, &tmp, 2U); 7000aeb2: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000aeb4: f10d 0206 add.w r2, sp, #6 7000aeb8: 2116 movs r1, #22 7000aeba: 4628 mov r0, r5 tmp = 0x0004U; /* CLK_SYS_ENA = 1 */ 7000aebc: f8ad 8006 strh.w r8, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000aec0: f000 fb45 bl 7000b54e tmp = 0x0018U; /* ISEL[1:0] = 10b, BIAS_EN = 0 */ 7000aec4: 2318 movs r3, #24 ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000aec6: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_BIAS_CONTROL0, &tmp, 2U); 7000aec8: f10d 0206 add.w r2, sp, #6 7000aecc: 4641 mov r1, r8 tmp = 0x0018U; /* ISEL[1:0] = 10b, BIAS_EN = 0 */ 7000aece: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_BIAS_CONTROL0, &tmp, 2U); 7000aed2: 4628 mov r0, r5 7000aed4: 2302 movs r3, #2 7000aed6: f000 fb3a bl 7000b54e tmp = 0x0047U; /* VMID_BUF_ENA = 1, VMID_RES[1:0] = 11b, VMID_ENA = 1 */ 7000aeda: 2347 movs r3, #71 @ 0x47 ret += wm8904_write_reg(&pObj->Ctx, WM8904_BIAS_CONTROL0, &tmp, 2U); 7000aedc: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000aede: f10d 0206 add.w r2, sp, #6 7000aee2: 2105 movs r1, #5 tmp = 0x0047U; /* VMID_BUF_ENA = 1, VMID_RES[1:0] = 11b, VMID_ENA = 1 */ 7000aee4: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000aee8: 4628 mov r0, r5 7000aeea: 2302 movs r3, #2 7000aeec: f000 fb2f bl 7000b54e WM8904_Delay(pObj, 100U); 7000aef0: 2164 movs r1, #100 @ 0x64 ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000aef2: 4404 add r4, r0 WM8904_Delay(pObj, 100U); 7000aef4: 4638 mov r0, r7 7000aef6: f7ff fe2c bl 7000ab52 tmp = 0x0043U; /* VMID_BUF_ENA = 1, VMID_RES[1:0] = 01b, VMID_ENA = 1 */ 7000aefa: 2343 movs r3, #67 @ 0x43 ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000aefc: f10d 0206 add.w r2, sp, #6 7000af00: 2105 movs r1, #5 tmp = 0x0043U; /* VMID_BUF_ENA = 1, VMID_RES[1:0] = 01b, VMID_ENA = 1 */ 7000af02: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000af06: 4628 mov r0, r5 7000af08: 2302 movs r3, #2 7000af0a: f000 fb20 bl 7000b54e tmp = 0x0019U; /* ISEL[1:0] = 10b, BIAS_EN = 1 */ 7000af0e: 2319 movs r3, #25 ret += wm8904_write_reg(&pObj->Ctx, WM8904_VMID_CONTROL0, &tmp, 2U); 7000af10: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_BIAS_CONTROL0, &tmp, 2U); 7000af12: f10d 0206 add.w r2, sp, #6 7000af16: 4641 mov r1, r8 tmp = 0x0019U; /* ISEL[1:0] = 10b, BIAS_EN = 1 */ 7000af18: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_BIAS_CONTROL0, &tmp, 2U); 7000af1c: 4628 mov r0, r5 7000af1e: 2302 movs r3, #2 7000af20: f000 fb15 bl 7000b54e tmp = 0x0001U; /* MICBIAS_ENA = 1 */ 7000af24: 2301 movs r3, #1 ret += wm8904_write_reg(&pObj->Ctx, WM8904_BIAS_CONTROL0, &tmp, 2U); 7000af26: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_MIC_BIAS_CONTROL0, &tmp, 2U); 7000af28: f10d 0206 add.w r2, sp, #6 tmp = 0x0001U; /* MICBIAS_ENA = 1 */ 7000af2c: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_MIC_BIAS_CONTROL0, &tmp, 2U); 7000af30: 2106 movs r1, #6 7000af32: 2302 movs r3, #2 7000af34: 4628 mov r0, r5 7000af36: f000 fb0a bl 7000b54e if (pInit->InputDevice == WM8904_IN_LINE2) 7000af3a: 6833 ldr r3, [r6, #0] ret += wm8904_write_reg(&pObj->Ctx, WM8904_MIC_BIAS_CONTROL0, &tmp, 2U); 7000af3c: 4404 add r4, r0 if (pInit->InputDevice == WM8904_IN_LINE2) 7000af3e: f5b3 6f00 cmp.w r3, #2048 @ 0x800 7000af42: f000 8175 beq.w 7000b230 else if (pInit->InputDevice == WM8904_IN_MIC1) 7000af46: f5a3 7280 sub.w r2, r3, #256 @ 0x100 7000af4a: 4253 negs r3, r2 7000af4c: 4153 adcs r3, r2 7000af4e: 005b lsls r3, r3, #1 ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT0, &tmp, 2U); 7000af50: f10d 0206 add.w r2, sp, #6 7000af54: 210c movs r1, #12 tmp = 0x0003U; /* INL_ENA = INR_ENA = 1 */ 7000af56: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT0, &tmp, 2U); 7000af5a: 4628 mov r0, r5 7000af5c: 2302 movs r3, #2 7000af5e: f000 faf6 bl 7000b54e tmp = 0x0003U; /* HPL_PGA_ENA = HPR_PGA_ENA = 1 */ 7000af62: 2303 movs r3, #3 ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT0, &tmp, 2U); 7000af64: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT2, &tmp, 2U); 7000af66: f10d 0206 add.w r2, sp, #6 7000af6a: 210e movs r1, #14 tmp = 0x0003U; /* HPL_PGA_ENA = HPR_PGA_ENA = 1 */ 7000af6c: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT2, &tmp, 2U); 7000af70: 4628 mov r0, r5 7000af72: 2302 movs r3, #2 7000af74: f000 faeb bl 7000b54e tmp = 0x0006U; /* CLK_DSP_ENA = CLK_SYS_ENA = 1 */ 7000af78: 2306 movs r3, #6 ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT2, &tmp, 2U); 7000af7a: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000af7c: f10d 0206 add.w r2, sp, #6 7000af80: 2116 movs r1, #22 tmp = 0x0006U; /* CLK_DSP_ENA = CLK_SYS_ENA = 1 */ 7000af82: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000af86: 4628 mov r0, r5 7000af88: 2302 movs r3, #2 7000af8a: f000 fae0 bl 7000b54e if (pInit->InputDevice == WM8904_IN_LINE2) 7000af8e: 6833 ldr r3, [r6, #0] ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLOCK_RATES2, &tmp, 2U); 7000af90: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT6, &tmp, 2U); 7000af92: f10d 0206 add.w r2, sp, #6 if (pInit->InputDevice == WM8904_IN_LINE2) 7000af96: f5b3 6f00 cmp.w r3, #2048 @ 0x800 ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT6, &tmp, 2U); 7000af9a: f04f 0112 mov.w r1, #18 7000af9e: 4628 mov r0, r5 if (pInit->InputDevice == WM8904_IN_LINE2) 7000afa0: bf0c ite eq 7000afa2: 230f moveq r3, #15 7000afa4: 230e movne r3, #14 tmp = 0x000FU; /* ADCR_ENA = ADCL_ENA = DACL_ENA = DACR_ENA = 1 */ 7000afa6: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT6, &tmp, 2U); 7000afaa: 2302 movs r3, #2 7000afac: f000 facf bl 7000b54e if (pInit->InputDevice == WM8904_IN_DIGITAL_MIC2) 7000afb0: 6833 ldr r3, [r6, #0] ret += wm8904_write_reg(&pObj->Ctx, WM8904_PWR_MANAGEMENT6, &tmp, 2U); 7000afb2: 4404 add r4, r0 if (pInit->InputDevice == WM8904_IN_DIGITAL_MIC2) 7000afb4: f5b3 5f00 cmp.w r3, #8192 @ 0x2000 7000afb8: f040 813c bne.w 7000b234 tmp = 0x1800U; /* DMIC_ENA = 1, DMIC_SRC = IN1R/DMICDAT2 */ 7000afbc: f44f 53c0 mov.w r3, #6144 @ 0x1800 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DIGITAL_MICROPHONE0, &tmp, 2U); 7000afc0: f10d 0206 add.w r2, sp, #6 7000afc4: 2127 movs r1, #39 @ 0x27 7000afc6: 4628 mov r0, r5 tmp = 0x1800U; /* DMIC_ENA = 1, DMIC_SRC = IN1R/DMICDAT2 */ 7000afc8: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DIGITAL_MICROPHONE0, &tmp, 2U); 7000afcc: 2302 movs r3, #2 7000afce: f000 fabe bl 7000b54e tmp = 0x0008U; /* GPIO1_PU = GPIO1_PD = 0, GPIO1_SEL = 8 (DMIC clock out) */ 7000afd2: 2308 movs r3, #8 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DIGITAL_MICROPHONE0, &tmp, 2U); 7000afd4: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_GPIO_CONTROL1, &tmp, 2U); 7000afd6: f10d 0206 add.w r2, sp, #6 7000afda: 2179 movs r1, #121 @ 0x79 tmp = 0x0008U; /* GPIO1_PU = GPIO1_PD = 0, GPIO1_SEL = 8 (DMIC clock out) */ 7000afdc: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_GPIO_CONTROL1, &tmp, 2U); 7000afe0: 4628 mov r0, r5 7000afe2: 2302 movs r3, #2 7000afe4: f000 fab3 bl 7000b54e tmp = 0x81AFU; /* DRC_ENA = 1, DRC_DAC_PATH = ADC */ 7000afe8: f248 13af movw r3, #33199 @ 0x81af ret += wm8904_write_reg(&pObj->Ctx, WM8904_GPIO_CONTROL1, &tmp, 2U); 7000afec: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DRC0, &tmp, 2U); 7000afee: f10d 0206 add.w r2, sp, #6 7000aff2: 2128 movs r1, #40 @ 0x28 tmp = 0x81AFU; /* DRC_ENA = 1, DRC_DAC_PATH = ADC */ 7000aff4: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DRC0, &tmp, 2U); 7000aff8: 4628 mov r0, r5 7000affa: 2302 movs r3, #2 7000affc: f000 faa7 bl 7000b54e tmp = 0x32C1U; /* DRC_MINGAIN = 0dB, DRC_MAXGAIN = 18dB */ 7000b000: f243 23c1 movw r3, #12993 @ 0x32c1 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DRC0, &tmp, 2U); 7000b004: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DRC1, &tmp, 2U); 7000b006: f10d 0206 add.w r2, sp, #6 7000b00a: 2129 movs r1, #41 @ 0x29 tmp = 0x32C1U; /* DRC_MINGAIN = 0dB, DRC_MAXGAIN = 18dB */ 7000b00c: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DRC1, &tmp, 2U); 7000b010: 4628 mov r0, r5 7000b012: 2302 movs r3, #2 7000b014: f000 fa9b bl 7000b54e tmp = 0x002CU; /* DRC_HIGH_COMP = DRC_LO_COMP = 0 */ 7000b018: 232c movs r3, #44 @ 0x2c ret += wm8904_write_reg(&pObj->Ctx, WM8904_DRC1, &tmp, 2U); 7000b01a: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DRC2, &tmp, 2U); 7000b01c: f10d 0206 add.w r2, sp, #6 tmp = 0x002CU; /* DRC_HIGH_COMP = DRC_LO_COMP = 0 */ 7000b020: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DRC2, &tmp, 2U); 7000b024: 212a movs r1, #42 @ 0x2a 7000b026: 2302 movs r3, #2 7000b028: 4628 mov r0, r5 7000b02a: f000 fa90 bl 7000b54e if (pInit->Frequency >= WM8904_FREQUENCY_32K) 7000b02e: 68b3 ldr r3, [r6, #8] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DRC2, &tmp, 2U); 7000b030: 4404 add r4, r0 if (pInit->Frequency >= WM8904_FREQUENCY_32K) 7000b032: f5b3 4ffa cmp.w r3, #32000 @ 0x7d00 7000b036: bf2c ite cs 7000b038: 2300 movcs r3, #0 7000b03a: 2301 movcc r3, #1 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_ADC0, &tmp, 2U); 7000b03c: f10d 0206 add.w r2, sp, #6 7000b040: 210a movs r1, #10 tmp = 0x0001U; /* ADC_OSR128 = 1 (128xfs) */ 7000b042: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_ADC0, &tmp, 2U); 7000b046: 4628 mov r0, r5 7000b048: 2302 movs r3, #2 7000b04a: f000 fa80 bl 7000b54e tmp = 0x0648U; /* DAC_MUTERATE = DAC_UNMUTE_RAMP = DAC_OSR128 = DAC_MUTE = 1 */ 7000b04e: f44f 63c9 mov.w r3, #1608 @ 0x648 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_ADC0, &tmp, 2U); 7000b052: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DAC_DIGITAL1, &tmp, 2U); 7000b054: f10d 0206 add.w r2, sp, #6 7000b058: 2121 movs r1, #33 @ 0x21 tmp = 0x0648U; /* DAC_MUTERATE = DAC_UNMUTE_RAMP = DAC_OSR128 = DAC_MUTE = 1 */ 7000b05a: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DAC_DIGITAL1, &tmp, 2U); 7000b05e: 4628 mov r0, r5 7000b060: 2302 movs r3, #2 7000b062: f000 fa74 bl 7000b54e if (pInit->InputDevice == WM8904_IN_LINE2) 7000b066: 6833 ldr r3, [r6, #0] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DAC_DIGITAL1, &tmp, 2U); 7000b068: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_AUDIO_INTERFACE0, &tmp, 2U); 7000b06a: f10d 0206 add.w r2, sp, #6 if (pInit->InputDevice == WM8904_IN_LINE2) 7000b06e: f5b3 6f00 cmp.w r3, #2048 @ 0x800 ret += wm8904_write_reg(&pObj->Ctx, WM8904_AUDIO_INTERFACE0, &tmp, 2U); 7000b072: f04f 0118 mov.w r1, #24 7000b076: 4628 mov r0, r5 if (pInit->InputDevice == WM8904_IN_LINE2) 7000b078: bf0c ite eq 7000b07a: 2350 moveq r3, #80 @ 0x50 7000b07c: 2310 movne r3, #16 tmp = 0x0050U; /* AIFADCL_SRC = 0 (Left), AIFADCR_SRC = 1 (Right) */ 7000b07e: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_AUDIO_INTERFACE0, &tmp, 2U); 7000b082: 2302 movs r3, #2 7000b084: f000 fa63 bl 7000b54e tmp = 0x0002U; /* Set resolution to 16B and protocol to I2S*/ 7000b088: 2302 movs r3, #2 ret += wm8904_write_reg(&pObj->Ctx, WM8904_AUDIO_INTERFACE0, &tmp, 2U); 7000b08a: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_AUDIO_INTERFACE1, &tmp, 2U); 7000b08c: f10d 0206 add.w r2, sp, #6 7000b090: 2119 movs r1, #25 7000b092: 4628 mov r0, r5 tmp = 0x0002U; /* Set resolution to 16B and protocol to I2S*/ 7000b094: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_AUDIO_INTERFACE1, &tmp, 2U); 7000b098: f000 fa59 bl 7000b54e ret += WM8904_SetFrequency(pObj, pInit->Frequency); 7000b09c: 68b1 ldr r1, [r6, #8] ret += wm8904_write_reg(&pObj->Ctx, WM8904_AUDIO_INTERFACE1, &tmp, 2U); 7000b09e: 4404 add r4, r0 ret += WM8904_SetFrequency(pObj, pInit->Frequency); 7000b0a0: 4638 mov r0, r7 7000b0a2: f7ff fe9f bl 7000ade4 if (pInit->OutputDevice == WM8904_OUT_HEADPHONE) 7000b0a6: 6871 ldr r1, [r6, #4] ret += WM8904_SetFrequency(pObj, pInit->Frequency); 7000b0a8: 4404 add r4, r0 if (pInit->OutputDevice == WM8904_OUT_HEADPHONE) 7000b0aa: 2901 cmp r1, #1 7000b0ac: d104 bne.n 7000b0b8 ret += WM8904_SetVolume(pObj, VOLUME_OUTPUT, (uint8_t)pInit->Volume); 7000b0ae: 7c32 ldrb r2, [r6, #16] 7000b0b0: 4638 mov r0, r7 7000b0b2: f7ff fe6d bl 7000ad90 7000b0b6: 4404 add r4, r0 if (pInit->InputDevice == WM8904_IN_LINE2) 7000b0b8: 6833 ldr r3, [r6, #0] 7000b0ba: f5b3 6f00 cmp.w r3, #2048 @ 0x800 7000b0be: f040 80dd bne.w 7000b27c tmp = 0x01C0U; /* ADC_VU = 1, ADC_VOL = +0dB */ 7000b0c2: f44f 78e0 mov.w r8, #448 @ 0x1c0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_LEFT, &tmp, 2U); 7000b0c6: 2302 movs r3, #2 7000b0c8: f10d 0206 add.w r2, sp, #6 7000b0cc: 2124 movs r1, #36 @ 0x24 7000b0ce: 4628 mov r0, r5 tmp = 0x01C0U; /* ADC_VU = 1, ADC_VOL = +0dB */ 7000b0d0: f8ad 8006 strh.w r8, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_LEFT, &tmp, 2U); 7000b0d4: f000 fa3b bl 7000b54e 7000b0d8: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_RIGHT, &tmp, 2U); 7000b0da: 2302 movs r3, #2 7000b0dc: f10d 0206 add.w r2, sp, #6 7000b0e0: 2125 movs r1, #37 @ 0x25 7000b0e2: 4628 mov r0, r5 tmp = 0x01C0U; /* ADC_VU = 1, ADC_VOL = +0dB */ 7000b0e4: f8ad 8006 strh.w r8, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_RIGHT, &tmp, 2U); 7000b0e8: f000 fa31 bl 7000b54e tmp = 0x0080U; /* LINMUTE = 1, LIN_VOL = -1.5dB */ 7000b0ec: f04f 0880 mov.w r8, #128 @ 0x80 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_RIGHT, &tmp, 2U); 7000b0f0: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000b0f2: 2302 movs r3, #2 7000b0f4: f10d 0206 add.w r2, sp, #6 7000b0f8: 212c movs r1, #44 @ 0x2c 7000b0fa: 4628 mov r0, r5 tmp = 0x0080U; /* LINMUTE = 1, LIN_VOL = -1.5dB */ 7000b0fc: f8ad 8006 strh.w r8, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000b100: f000 fa25 bl 7000b54e 7000b104: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_RIGHT_INPUT0, &tmp, 2U); 7000b106: 2302 movs r3, #2 7000b108: f10d 0206 add.w r2, sp, #6 7000b10c: 212d movs r1, #45 @ 0x2d 7000b10e: 4628 mov r0, r5 tmp = 0x0080U; /* LINMUTE = 1, LIN_VOL = -1.5dB */ 7000b110: f8ad 8006 strh.w r8, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_RIGHT_INPUT0, &tmp, 2U); 7000b114: f000 fa1b bl 7000b54e tmp = 0x0014U; /* INL_CM_ENA = 0, L_IP_SEL_N[1:0] = IN2L (01b) */ 7000b118: f04f 0814 mov.w r8, #20 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_RIGHT_INPUT0, &tmp, 2U); 7000b11c: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT1, &tmp, 2U); 7000b11e: 2302 movs r3, #2 7000b120: f10d 0206 add.w r2, sp, #6 7000b124: 212e movs r1, #46 @ 0x2e 7000b126: 4628 mov r0, r5 tmp = 0x0014U; /* INL_CM_ENA = 0, L_IP_SEL_N[1:0] = IN2L (01b) */ 7000b128: f8ad 8006 strh.w r8, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT1, &tmp, 2U); 7000b12c: f000 fa0f bl 7000b54e ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_RIGHT_INPUT1, &tmp, 2U); 7000b130: 2302 movs r3, #2 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT1, &tmp, 2U); 7000b132: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_RIGHT_INPUT1, &tmp, 2U); 7000b134: f10d 0206 add.w r2, sp, #6 7000b138: 212f movs r1, #47 @ 0x2f tmp = 0x0014U; /* INR_CM_ENA = 0, R_IP_SEL_N[1:0] = IN2R (01b) */ 7000b13a: f8ad 8006 strh.w r8, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_LEFT, &tmp, 2U); 7000b13e: 4628 mov r0, r5 while(((tmp & 0x0003U) != 0x0003U) && (iter_count < 30U)) /* Wait DC Servo start-up completion */ 7000b140: f04f 081f mov.w r8, #31 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_LEFT, &tmp, 2U); 7000b144: f000 fa03 bl 7000b54e tmp = 0x0001U; /* CP_ENA = 1 */ 7000b148: 2301 movs r3, #1 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_LEFT, &tmp, 2U); 7000b14a: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_CHARGE_PUMP0, &tmp, 2U); 7000b14c: f10d 0206 add.w r2, sp, #6 7000b150: 2162 movs r1, #98 @ 0x62 tmp = 0x0001U; /* CP_ENA = 1 */ 7000b152: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_CHARGE_PUMP0, &tmp, 2U); 7000b156: 4628 mov r0, r5 7000b158: 2302 movs r3, #2 7000b15a: f000 f9f8 bl 7000b54e tmp = 0x0011U; /* HPL_ENA = HPR_ENA = 1 */ 7000b15e: 2311 movs r3, #17 ret += wm8904_write_reg(&pObj->Ctx, WM8904_CHARGE_PUMP0, &tmp, 2U); 7000b160: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000b162: f10d 0206 add.w r2, sp, #6 7000b166: 215a movs r1, #90 @ 0x5a tmp = 0x0011U; /* HPL_ENA = HPR_ENA = 1 */ 7000b168: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000b16c: 4628 mov r0, r5 7000b16e: 2302 movs r3, #2 7000b170: f000 f9ed bl 7000b54e tmp = 0x0033U; /* HPL_ENA_DLY = HPR_ENA_DLY = HPL_ENA = HPR_ENA = 1 */ 7000b174: 2333 movs r3, #51 @ 0x33 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000b176: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000b178: f10d 0206 add.w r2, sp, #6 7000b17c: 215a movs r1, #90 @ 0x5a tmp = 0x0033U; /* HPL_ENA_DLY = HPR_ENA_DLY = HPL_ENA = HPR_ENA = 1 */ 7000b17e: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000b182: 4628 mov r0, r5 7000b184: 2302 movs r3, #2 7000b186: f000 f9e2 bl 7000b54e tmp = 0x0003U; /* Enable channels 0 and 1 */ 7000b18a: 2303 movs r3, #3 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000b18c: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DC_SERVO0, &tmp, 2U); 7000b18e: f10d 0206 add.w r2, sp, #6 7000b192: 2143 movs r1, #67 @ 0x43 tmp = 0x0003U; /* Enable channels 0 and 1 */ 7000b194: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DC_SERVO0, &tmp, 2U); 7000b198: 4628 mov r0, r5 7000b19a: 2302 movs r3, #2 7000b19c: f000 f9d7 bl 7000b54e tmp = 0x0030U; /* Startup 0 and 1 */ 7000b1a0: 2330 movs r3, #48 @ 0x30 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DC_SERVO0, &tmp, 2U); 7000b1a2: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DC_SERVO1, &tmp, 2U); 7000b1a4: f10d 0206 add.w r2, sp, #6 tmp = 0x0030U; /* Startup 0 and 1 */ 7000b1a8: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DC_SERVO1, &tmp, 2U); 7000b1ac: 2144 movs r1, #68 @ 0x44 7000b1ae: 2302 movs r3, #2 7000b1b0: 4628 mov r0, r5 7000b1b2: f000 f9cc bl 7000b54e tmp = 0x0000U; 7000b1b6: 2300 movs r3, #0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DC_SERVO1, &tmp, 2U); 7000b1b8: 4404 add r4, r0 tmp = 0x0000U; 7000b1ba: f8ad 3006 strh.w r3, [sp, #6] while(((tmp & 0x0003U) != 0x0003U) && (iter_count < 30U)) /* Wait DC Servo start-up completion */ 7000b1be: f8bd 3006 ldrh.w r3, [sp, #6] 7000b1c2: f003 0303 and.w r3, r3, #3 7000b1c6: 2b03 cmp r3, #3 7000b1c8: d004 beq.n 7000b1d4 7000b1ca: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff 7000b1ce: f018 08ff ands.w r8, r8, #255 @ 0xff 7000b1d2: d17e bne.n 7000b2d2 tmp = 0x0077U; /* HPL_ENA_OUTP= HPL_ENA_OUTR = HPL_ENA_DLY = HPR_ENA_DLY = HPL_ENA = HPR_ENA = 1 */ 7000b1d4: 2377 movs r3, #119 @ 0x77 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000b1d6: f10d 0206 add.w r2, sp, #6 7000b1da: 215a movs r1, #90 @ 0x5a 7000b1dc: 4628 mov r0, r5 tmp = 0x0077U; /* HPL_ENA_OUTP= HPL_ENA_OUTR = HPL_ENA_DLY = HPR_ENA_DLY = HPL_ENA = HPR_ENA = 1 */ 7000b1de: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000b1e2: 2302 movs r3, #2 7000b1e4: f000 f9b3 bl 7000b54e tmp = 0x00FFU; /* HPL_RMV_SHORT = HPR_RMV_SHORT = HPL_ENA_OUTP= HPL_ENA_OUTR = HPL_ENA_DLY = HPR_ENA_DLY = HPL_ENA = HPR_ENA = 1 */ 7000b1e8: 23ff movs r3, #255 @ 0xff ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000b1ea: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000b1ec: f10d 0206 add.w r2, sp, #6 tmp = 0x01U; /* CP_DYN_PWR = 1 */ 7000b1f0: f04f 0801 mov.w r8, #1 tmp = 0x00FFU; /* HPL_RMV_SHORT = HPR_RMV_SHORT = HPL_ENA_OUTP= HPL_ENA_OUTR = HPL_ENA_DLY = HPR_ENA_DLY = HPL_ENA = HPR_ENA = 1 */ 7000b1f4: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000b1f8: 215a movs r1, #90 @ 0x5a 7000b1fa: 2302 movs r3, #2 7000b1fc: 4628 mov r0, r5 7000b1fe: f000 f9a6 bl 7000b54e ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLASS_W0, &tmp, 2U); 7000b202: f10d 0206 add.w r2, sp, #6 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_HP0, &tmp, 2U); 7000b206: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLASS_W0, &tmp, 2U); 7000b208: 2302 movs r3, #2 7000b20a: 2168 movs r1, #104 @ 0x68 7000b20c: 4628 mov r0, r5 tmp = 0x01U; /* CP_DYN_PWR = 1 */ 7000b20e: f8ad 8006 strh.w r8, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_CLASS_W0, &tmp, 2U); 7000b212: f000 f99c bl 7000b54e } 7000b216: 4420 add r0, r4 WM8904_CurrentDevices = (pInit->OutputDevice | pInit->InputDevice); 7000b218: e9d6 2300 ldrd r2, r3, [r6] pObj->IsInitialized = 1U; 7000b21c: f887 8024 strb.w r8, [r7, #36] @ 0x24 WM8904_CurrentDevices = (pInit->OutputDevice | pInit->InputDevice); 7000b220: 4313 orrs r3, r2 7000b222: 4a32 ldr r2, [pc, #200] @ (7000b2ec ) 7000b224: 6013 str r3, [r2, #0] } 7000b226: b002 add sp, #8 7000b228: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} int32_t ret = WM8904_OK; 7000b22c: 462c mov r4, r5 7000b22e: e632 b.n 7000ae96 7000b230: 2303 movs r3, #3 7000b232: e68d b.n 7000af50 tmp = 0x0000U; /* DMIC_ENA = 0 */ 7000b234: 2300 movs r3, #0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DIGITAL_MICROPHONE0, &tmp, 2U); 7000b236: f10d 0206 add.w r2, sp, #6 7000b23a: 2127 movs r1, #39 @ 0x27 7000b23c: 4628 mov r0, r5 tmp = 0x0000U; /* DMIC_ENA = 0 */ 7000b23e: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DIGITAL_MICROPHONE0, &tmp, 2U); 7000b242: 2302 movs r3, #2 7000b244: f000 f983 bl 7000b54e tmp = 0x0014U; /* GPIO1_PU = GPIO1_PD = 1, GPIO1_SEL = 4 (IRQ, default value) */ 7000b248: 2314 movs r3, #20 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DIGITAL_MICROPHONE0, &tmp, 2U); 7000b24a: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_GPIO_CONTROL1, &tmp, 2U); 7000b24c: f10d 0206 add.w r2, sp, #6 7000b250: 2179 movs r1, #121 @ 0x79 tmp = 0x0014U; /* GPIO1_PU = GPIO1_PD = 1, GPIO1_SEL = 4 (IRQ, default value) */ 7000b252: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_GPIO_CONTROL1, &tmp, 2U); 7000b256: 4628 mov r0, r5 7000b258: 2302 movs r3, #2 7000b25a: f000 f978 bl 7000b54e tmp = 0x01AFU; /* DRC_ENA = 0, DRC_DAC_PATH = ADC */ 7000b25e: f240 13af movw r3, #431 @ 0x1af ret += wm8904_write_reg(&pObj->Ctx, WM8904_GPIO_CONTROL1, &tmp, 2U); 7000b262: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DRC0, &tmp, 2U); 7000b264: f10d 0206 add.w r2, sp, #6 tmp = 0x01AFU; /* DRC_ENA = 0, DRC_DAC_PATH = ADC */ 7000b268: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DRC0, &tmp, 2U); 7000b26c: 2128 movs r1, #40 @ 0x28 7000b26e: 2302 movs r3, #2 7000b270: 4628 mov r0, r5 7000b272: f000 f96c bl 7000b54e tmp = 0x0001U; /* ADC_OSR128 = 1 (128xfs) */ 7000b276: 2301 movs r3, #1 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DRC0, &tmp, 2U); 7000b278: 4404 add r4, r0 tmp = 0x0001U; /* ADC_OSR128 = 1 (128xfs) */ 7000b27a: e6df b.n 7000b03c else if (pInit->InputDevice == WM8904_IN_MIC1) 7000b27c: f5b3 7f80 cmp.w r3, #256 @ 0x100 7000b280: d11e bne.n 7000b2c0 tmp = 0x01FFU; /* ADC_VU = 1, ADC_VOL = +17dB */ 7000b282: f240 13ff movw r3, #511 @ 0x1ff ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_LEFT, &tmp, 2U); 7000b286: f10d 0206 add.w r2, sp, #6 7000b28a: 2124 movs r1, #36 @ 0x24 7000b28c: 4628 mov r0, r5 tmp = 0x01FFU; /* ADC_VU = 1, ADC_VOL = +17dB */ 7000b28e: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_LEFT, &tmp, 2U); 7000b292: 2302 movs r3, #2 7000b294: f000 f95b bl 7000b54e tmp = 0x009AU; /* LINMUTE = 1, LIN_VOL = +14dB */ 7000b298: 239a movs r3, #154 @ 0x9a ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_LEFT, &tmp, 2U); 7000b29a: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000b29c: f10d 0206 add.w r2, sp, #6 7000b2a0: 212c movs r1, #44 @ 0x2c tmp = 0x009AU; /* LINMUTE = 1, LIN_VOL = +14dB */ 7000b2a2: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000b2a6: 4628 mov r0, r5 7000b2a8: 2302 movs r3, #2 7000b2aa: f000 f950 bl 7000b54e tmp = 0x0044U; /* INL_CM_ENA = 1, L_IP_SEL_N[1:0] = IN1L (00b) */ 7000b2ae: 2344 movs r3, #68 @ 0x44 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000b2b0: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT1, &tmp, 2U); 7000b2b2: f10d 0206 add.w r2, sp, #6 tmp = 0x0044U; /* INL_CM_ENA = 1, L_IP_SEL_N[1:0] = IN1L (00b) */ 7000b2b6: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT1, &tmp, 2U); 7000b2ba: 212e movs r1, #46 @ 0x2e 7000b2bc: 2302 movs r3, #2 7000b2be: e73e b.n 7000b13e tmp = 0x0100U; /* ADC_VU = 1, ADC_VOL = Mute */ 7000b2c0: f44f 7380 mov.w r3, #256 @ 0x100 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_LEFT, &tmp, 2U); 7000b2c4: f10d 0206 add.w r2, sp, #6 7000b2c8: 2124 movs r1, #36 @ 0x24 tmp = 0x0100U; /* ADC_VU = 1, ADC_VOL = Mute */ 7000b2ca: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_LEFT, &tmp, 2U); 7000b2ce: 2302 movs r3, #2 7000b2d0: e735 b.n 7000b13e WM8904_Delay(pObj, 10U); 7000b2d2: 210a movs r1, #10 7000b2d4: 4638 mov r0, r7 7000b2d6: f7ff fc3c bl 7000ab52 ret += wm8904_read_reg(&pObj->Ctx, WM8904_DC_SERVO_READBACK0, &tmp, 2U); 7000b2da: 2302 movs r3, #2 7000b2dc: f10d 0206 add.w r2, sp, #6 7000b2e0: 214d movs r1, #77 @ 0x4d 7000b2e2: 4628 mov r0, r5 7000b2e4: f000 f928 bl 7000b538 7000b2e8: 4404 add r4, r0 7000b2ea: e768 b.n 7000b1be 7000b2ec: 2400cc84 .word 0x2400cc84 7000b2f0 : { 7000b2f0: b537 push {r0, r1, r2, r4, r5, lr} pObj->IO.Init(); 7000b2f2: 4604 mov r4, r0 { 7000b2f4: 460d mov r5, r1 pObj->IO.Init(); 7000b2f6: f854 3b18 ldr.w r3, [r4], #24 7000b2fa: 4798 blx r3 ret = wm8904_read_reg(&pObj->Ctx, WM8904_SW_RESET, &wm8904_id, 2U); 7000b2fc: 2302 movs r3, #2 7000b2fe: f10d 0206 add.w r2, sp, #6 7000b302: 2100 movs r1, #0 7000b304: 4620 mov r0, r4 7000b306: f000 f917 bl 7000b538 *Id = wm8904_id; 7000b30a: f8bd 3006 ldrh.w r3, [sp, #6] 7000b30e: 602b str r3, [r5, #0] } 7000b310: b003 add sp, #12 7000b312: bd30 pop {r4, r5, pc} 7000b314 : if (InputOutput == VOLUME_OUTPUT) 7000b314: 2901 cmp r1, #1 { 7000b316: b513 push {r0, r1, r4, lr} 7000b318: 4614 mov r4, r2 if (InputOutput == VOLUME_OUTPUT) 7000b31a: d110 bne.n 7000b33e ret = wm8904_read_reg(&pObj->Ctx, WM8904_ANALOG_OUTPUT1_LEFT, &tmp, 2U); 7000b31c: 2302 movs r3, #2 7000b31e: f10d 0206 add.w r2, sp, #6 7000b322: 2139 movs r1, #57 @ 0x39 7000b324: 3018 adds r0, #24 7000b326: f000 f907 bl 7000b538 if (ret == WM8904_OK) 7000b32a: b930 cbnz r0, 7000b33a tmp &= 0x3FU; 7000b32c: f8bd 3006 ldrh.w r3, [sp, #6] *Volume = (uint8_t) VOLUME_OUT_INVERT(tmp); 7000b330: f003 033f and.w r3, r3, #63 @ 0x3f 7000b334: 3b0d subs r3, #13 7000b336: 005b lsls r3, r3, #1 7000b338: 7023 strb r3, [r4, #0] } 7000b33a: b002 add sp, #8 7000b33c: bd10 pop {r4, pc} ret = WM8904_ERROR; 7000b33e: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff return ret; 7000b342: e7fa b.n 7000b33a 7000b344 : { 7000b344: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr} if ((WM8904_CurrentDevices & WM8904_OUT_HEADPHONE) == WM8904_OUT_HEADPHONE) 7000b348: 4f36 ldr r7, [pc, #216] @ (7000b424 ) { 7000b34a: 4605 mov r5, r0 7000b34c: 460e mov r6, r1 if ((WM8904_CurrentDevices & WM8904_OUT_HEADPHONE) == WM8904_OUT_HEADPHONE) 7000b34e: 683c ldr r4, [r7, #0] 7000b350: f014 0401 ands.w r4, r4, #1 7000b354: d01e beq.n 7000b394 ret += wm8904_read_reg(&pObj->Ctx, WM8904_DAC_DIGITAL1, &tmp, 2U); 7000b356: f100 0818 add.w r8, r0, #24 7000b35a: 2302 movs r3, #2 7000b35c: f10d 0206 add.w r2, sp, #6 7000b360: 2121 movs r1, #33 @ 0x21 7000b362: 4640 mov r0, r8 7000b364: f000 f8e8 bl 7000b538 tmp |= 0x0008U; 7000b368: f8bd 3006 ldrh.w r3, [sp, #6] if(Cmd == WM8904_MUTE_ON) 7000b36c: 2e01 cmp r6, #1 ret += wm8904_read_reg(&pObj->Ctx, WM8904_DAC_DIGITAL1, &tmp, 2U); 7000b36e: 4604 mov r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DAC_DIGITAL1, &tmp, 2U); 7000b370: f10d 0206 add.w r2, sp, #6 7000b374: f04f 0121 mov.w r1, #33 @ 0x21 tmp &= ~(0x0008U); 7000b378: bf14 ite ne 7000b37a: f023 0308 bicne.w r3, r3, #8 tmp |= 0x0008U; 7000b37e: f043 0308 orreq.w r3, r3, #8 ret += wm8904_write_reg(&pObj->Ctx, WM8904_DAC_DIGITAL1, &tmp, 2U); 7000b382: 4640 mov r0, r8 tmp &= ~(0x0008U); 7000b384: bf18 it ne 7000b386: b29b uxthne r3, r3 7000b388: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_DAC_DIGITAL1, &tmp, 2U); 7000b38c: 2302 movs r3, #2 7000b38e: f000 f8de bl 7000b54e 7000b392: 4404 add r4, r0 if ((WM8904_CurrentDevices & WM8904_IN_MIC1) == WM8904_IN_MIC1) 7000b394: 683b ldr r3, [r7, #0] 7000b396: 05da lsls r2, r3, #23 7000b398: d50f bpl.n 7000b3ba tmp = 0x009AU; /* LINMUTE = 1 */ 7000b39a: 2e01 cmp r6, #1 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000b39c: f10d 0206 add.w r2, sp, #6 7000b3a0: f04f 012c mov.w r1, #44 @ 0x2c 7000b3a4: f105 0018 add.w r0, r5, #24 tmp = 0x009AU; /* LINMUTE = 1 */ 7000b3a8: bf14 ite ne 7000b3aa: 231a movne r3, #26 7000b3ac: 239a moveq r3, #154 @ 0x9a 7000b3ae: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000b3b2: 2302 movs r3, #2 7000b3b4: f000 f8cb bl 7000b54e 7000b3b8: 4404 add r4, r0 if ((WM8904_CurrentDevices & WM8904_IN_LINE2) == WM8904_IN_LINE2) 7000b3ba: 683b ldr r3, [r7, #0] 7000b3bc: 0518 lsls r0, r3, #20 7000b3be: d517 bpl.n 7000b3f0 if(Cmd == WM8904_MUTE_ON) 7000b3c0: 1e71 subs r1, r6, #1 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000b3c2: f105 0818 add.w r8, r5, #24 7000b3c6: f10d 0206 add.w r2, sp, #6 if(Cmd == WM8904_MUTE_ON) 7000b3ca: 424b negs r3, r1 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000b3cc: 4640 mov r0, r8 if(Cmd == WM8904_MUTE_ON) 7000b3ce: 414b adcs r3, r1 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000b3d0: 212c movs r1, #44 @ 0x2c if(Cmd == WM8904_MUTE_ON) 7000b3d2: 01db lsls r3, r3, #7 7000b3d4: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_LEFT_INPUT0, &tmp, 2U); 7000b3d8: 2302 movs r3, #2 7000b3da: f000 f8b8 bl 7000b54e 7000b3de: 4404 add r4, r0 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ANALOG_RIGHT_INPUT0, &tmp, 2U); 7000b3e0: 2302 movs r3, #2 7000b3e2: f10d 0206 add.w r2, sp, #6 7000b3e6: 212d movs r1, #45 @ 0x2d 7000b3e8: 4640 mov r0, r8 7000b3ea: f000 f8b0 bl 7000b54e 7000b3ee: 4404 add r4, r0 if ((WM8904_CurrentDevices & WM8904_IN_DIGITAL_MIC2) == WM8904_IN_DIGITAL_MIC2) 7000b3f0: 683b ldr r3, [r7, #0] 7000b3f2: 049a lsls r2, r3, #18 7000b3f4: d511 bpl.n 7000b41a tmp = 0x0100U; /* ADC_VU = 1, ADC_VOL = Mute */ 7000b3f6: 2e01 cmp r6, #1 ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_RIGHT, &tmp, 2U); 7000b3f8: f10d 0206 add.w r2, sp, #6 7000b3fc: f04f 0125 mov.w r1, #37 @ 0x25 7000b400: f105 0018 add.w r0, r5, #24 tmp = 0x0100U; /* ADC_VU = 1, ADC_VOL = Mute */ 7000b404: bf14 ite ne 7000b406: f44f 73f8 movne.w r3, #496 @ 0x1f0 7000b40a: f44f 7380 moveq.w r3, #256 @ 0x100 7000b40e: f8ad 3006 strh.w r3, [sp, #6] ret += wm8904_write_reg(&pObj->Ctx, WM8904_ADC_DIGITAL_VOL_RIGHT, &tmp, 2U); 7000b412: 2302 movs r3, #2 7000b414: f000 f89b bl 7000b54e 7000b418: 4404 add r4, r0 } 7000b41a: 4620 mov r0, r4 7000b41c: b002 add sp, #8 7000b41e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 7000b422: bf00 nop 7000b424: 2400cc84 .word 0x2400cc84 7000b428 : return WM8904_SetMute(pObj, WM8904_MUTE_ON); 7000b428: 2101 movs r1, #1 7000b42a: f7ff bf8b b.w 7000b344 7000b42e : return WM8904_SetMute(pObj, WM8904_MUTE_OFF); 7000b42e: 2100 movs r1, #0 7000b430: f7ff bf88 b.w 7000b344 7000b434 : { 7000b434: b570 push {r4, r5, r6, lr} 7000b436: 460e mov r6, r1 ret = WM8904_SetMute(pObj, WM8904_MUTE_ON); 7000b438: 2101 movs r1, #1 { 7000b43a: 4605 mov r5, r0 ret = WM8904_SetMute(pObj, WM8904_MUTE_ON); 7000b43c: f7ff ff82 bl 7000b344 7000b440: 4604 mov r4, r0 if (CodecPdwnMode == WM8904_PDWN_HW) 7000b442: b91e cbnz r6, 7000b44c ret += WM8904_DeInit(pObj); 7000b444: 4628 mov r0, r5 7000b446: f7ff fb9e bl 7000ab86 7000b44a: 4404 add r4, r0 } 7000b44c: 4620 mov r0, r4 7000b44e: bd70 pop {r4, r5, r6, pc} 7000b450 : { 7000b450: b513 push {r0, r1, r4, lr} ret = wm8904_read_reg(&pObj->Ctx, WM8904_AUDIO_INTERFACE1, &tmp, 2U); 7000b452: 2302 movs r3, #2 { 7000b454: 460c mov r4, r1 ret = wm8904_read_reg(&pObj->Ctx, WM8904_AUDIO_INTERFACE1, &tmp, 2U); 7000b456: f10d 0206 add.w r2, sp, #6 7000b45a: 2119 movs r1, #25 7000b45c: 3018 adds r0, #24 7000b45e: f000 f86b bl 7000b538 switch((tmp >> 2U) & 0x0003U) 7000b462: f8bd 3006 ldrh.w r3, [sp, #6] 7000b466: f3c3 0381 ubfx r3, r3, #2, #2 7000b46a: 2b02 cmp r3, #2 7000b46c: d004 beq.n 7000b478 7000b46e: 2b03 cmp r3, #3 7000b470: d002 beq.n 7000b478 7000b472: 1e5a subs r2, r3, #1 7000b474: 4253 negs r3, r2 7000b476: 4153 adcs r3, r2 *Resolution = WM8904_RESOLUTION_20B; 7000b478: 6023 str r3, [r4, #0] } 7000b47a: b002 add sp, #8 7000b47c: bd10 pop {r4, pc} 7000b47e : { 7000b47e: b513 push {r0, r1, r4, lr} ret = wm8904_read_reg(&pObj->Ctx, WM8904_AUDIO_INTERFACE1, &tmp, 2U); 7000b480: 2302 movs r3, #2 { 7000b482: 460c mov r4, r1 ret = wm8904_read_reg(&pObj->Ctx, WM8904_AUDIO_INTERFACE1, &tmp, 2U); 7000b484: f10d 0206 add.w r2, sp, #6 7000b488: 2119 movs r1, #25 7000b48a: 3018 adds r0, #24 7000b48c: f000 f854 bl 7000b538 *Protocol = (((uint32_t) tmp) & 0x0003U); 7000b490: f8bd 3006 ldrh.w r3, [sp, #6] 7000b494: f003 0303 and.w r3, r3, #3 7000b498: 6023 str r3, [r4, #0] } 7000b49a: b002 add sp, #8 7000b49c: bd10 pop {r4, pc} 7000b49e : { 7000b49e: b513 push {r0, r1, r4, lr} ret = wm8904_read_reg(&pObj->Ctx, WM8904_CLOCK_RATES1, &tmp, 2U); 7000b4a0: 2302 movs r3, #2 { 7000b4a2: 460c mov r4, r1 ret = wm8904_read_reg(&pObj->Ctx, WM8904_CLOCK_RATES1, &tmp, 2U); 7000b4a4: f10d 0206 add.w r2, sp, #6 7000b4a8: 2115 movs r1, #21 7000b4aa: 3018 adds r0, #24 7000b4ac: f000 f844 bl 7000b538 switch(tmp & 0x0007U) 7000b4b0: f8bd 3006 ldrh.w r3, [sp, #6] 7000b4b4: f003 0307 and.w r3, r3, #7 7000b4b8: 2b05 cmp r3, #5 7000b4ba: d818 bhi.n 7000b4ee 7000b4bc: e8df f003 tbb [pc, r3] 7000b4c0: 0e0b0803 .word 0x0e0b0803 7000b4c4: 1411 .short 0x1411 *AudioFreq = WM8904_FREQUENCY_8K; 7000b4c6: f44f 53fa mov.w r3, #8000 @ 0x1f40 *AudioFreq = WM8904_FREQUENCY_44K; 7000b4ca: 6023 str r3, [r4, #0] } 7000b4cc: b002 add sp, #8 7000b4ce: bd10 pop {r4, pc} *AudioFreq = WM8904_FREQUENCY_11K; 7000b4d0: f642 3311 movw r3, #11025 @ 0x2b11 7000b4d4: e7f9 b.n 7000b4ca *AudioFreq = WM8904_FREQUENCY_16K; 7000b4d6: f44f 537a mov.w r3, #16000 @ 0x3e80 7000b4da: e7f6 b.n 7000b4ca *AudioFreq = WM8904_FREQUENCY_22K; 7000b4dc: f245 6322 movw r3, #22050 @ 0x5622 7000b4e0: e7f3 b.n 7000b4ca *AudioFreq = WM8904_FREQUENCY_32K; 7000b4e2: f44f 43fa mov.w r3, #32000 @ 0x7d00 7000b4e6: e7f0 b.n 7000b4ca *AudioFreq = WM8904_FREQUENCY_44K; 7000b4e8: f64a 4344 movw r3, #44100 @ 0xac44 7000b4ec: e7ed b.n 7000b4ca switch(tmp & 0x0007U) 7000b4ee: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff return ret; 7000b4f2: e7eb b.n 7000b4cc 7000b4f4 : int32_t WM8904_SetProtocol(WM8904_Object_t *pObj, uint32_t Protocol) 7000b4f4: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7000b4f8: 4770 bx lr 7000b4fa : int32_t WM8904_SetResolution(WM8904_Object_t *pObj, uint32_t Resolution) 7000b4fa: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7000b4fe: 4770 bx lr 7000b500 : if (pObj == NULL) 7000b500: b190 cbz r0, 7000b528 pObj->IO.DeInit = pIO->DeInit; 7000b502: 684a ldr r2, [r1, #4] pObj->IO.Init = pIO->Init; 7000b504: 680b ldr r3, [r1, #0] pObj->IO.DeInit = pIO->DeInit; 7000b506: 6042 str r2, [r0, #4] pObj->IO.Address = pIO->Address; 7000b508: 890a ldrh r2, [r1, #8] pObj->IO.Init = pIO->Init; 7000b50a: 6003 str r3, [r0, #0] pObj->IO.Address = pIO->Address; 7000b50c: 8102 strh r2, [r0, #8] pObj->IO.WriteReg = pIO->WriteReg; 7000b50e: 68ca ldr r2, [r1, #12] 7000b510: 60c2 str r2, [r0, #12] pObj->IO.ReadReg = pIO->ReadReg; 7000b512: 690a ldr r2, [r1, #16] 7000b514: 6102 str r2, [r0, #16] pObj->IO.GetTick = pIO->GetTick; 7000b516: 694a ldr r2, [r1, #20] pObj->Ctx.handle = pObj; 7000b518: 6200 str r0, [r0, #32] pObj->IO.GetTick = pIO->GetTick; 7000b51a: 6142 str r2, [r0, #20] pObj->Ctx.ReadReg = WM8904_ReadRegWrap; 7000b51c: 4a04 ldr r2, [pc, #16] @ (7000b530 ) 7000b51e: 61c2 str r2, [r0, #28] pObj->Ctx.WriteReg = WM8904_WriteRegWrap; 7000b520: 4a04 ldr r2, [pc, #16] @ (7000b534 ) 7000b522: 6182 str r2, [r0, #24] if(pObj->IO.Init != NULL) 7000b524: b103 cbz r3, 7000b528 ret = pObj->IO.Init(); 7000b526: 4718 bx r3 } 7000b528: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7000b52c: 4770 bx lr 7000b52e: bf00 nop 7000b530: 7000ab6b .word 0x7000ab6b 7000b534: 7000ab79 .word 0x7000ab79 7000b538 : * I2C or SPI reading functions * Input : Register Address, length of buffer * Output : data Read *******************************************************************************/ int32_t wm8904_read_reg(const wm8904_ctx_t *ctx, uint16_t reg, uint16_t* data, uint16_t length) { 7000b538: b538 push {r3, r4, r5, lr} int32_t ret; uint16_t tmp; ret = ctx->ReadReg(ctx->handle, reg, (uint8_t *)data, length); 7000b53a: e9d0 5001 ldrd r5, r0, [r0, #4] { 7000b53e: 4614 mov r4, r2 ret = ctx->ReadReg(ctx->handle, reg, (uint8_t *)data, length); 7000b540: 47a8 blx r5 if(ret >= 0) 7000b542: 2800 cmp r0, #0 { tmp = ((uint16_t)(*data >> 8) & 0x00FFU); tmp |= ((uint16_t)(*data << 8) & 0xFF00U); 7000b544: bfa2 ittt ge 7000b546: 8823 ldrhge r3, [r4, #0] 7000b548: ba5b rev16ge r3, r3 *data = tmp; 7000b54a: 8023 strhge r3, [r4, #0] } return ret; } 7000b54c: bd38 pop {r3, r4, r5, pc} 7000b54e : *******************************************************************************/ int32_t wm8904_write_reg(const wm8904_ctx_t *ctx, uint16_t reg, const uint16_t *data, uint16_t length) { uint16_t tmp; tmp = ((uint16_t)(*data >> 8) & 0x00FFU); tmp |= ((uint16_t)(*data << 8) & 0xFF00U); 7000b54e: 8812 ldrh r2, [r2, #0] 7000b550: ba52 rev16 r2, r2 { 7000b552: b513 push {r0, r1, r4, lr} return ctx->WriteReg(ctx->handle, reg, (uint8_t *)&tmp, length); 7000b554: 6804 ldr r4, [r0, #0] tmp |= ((uint16_t)(*data << 8) & 0xFF00U); 7000b556: f8ad 2006 strh.w r2, [sp, #6] return ctx->WriteReg(ctx->handle, reg, (uint8_t *)&tmp, length); 7000b55a: f10d 0206 add.w r2, sp, #6 7000b55e: 6880 ldr r0, [r0, #8] 7000b560: 47a0 blx r4 } 7000b562: b002 add sp, #8 7000b564: bd10 pop {r4, pc} 7000b566 : #endif /* Determine if CPU executes from interrupt context or if interrupts are masked. */ __STATIC_INLINE uint32_t IRQ_Context (void) { 7000b566: b510 push {r4, lr} */ __STATIC_FORCEINLINE uint32_t __get_IPSR(void) { uint32_t result; __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); 7000b568: f3ef 8405 mrs r4, IPSR uint32_t irq; BaseType_t state; irq = 0U; if (IS_IRQ_MODE()) { 7000b56c: b114 cbz r4, 7000b574 /* Called from interrupt context */ irq = 1U; 7000b56e: 2401 movs r4, #1 } } /* Return context, 0: thread context, 1: IRQ context */ return (irq); } 7000b570: 4620 mov r0, r4 7000b572: bd10 pop {r4, pc} state = xTaskGetSchedulerState(); 7000b574: f001 ff84 bl 7000d480 if (state != taskSCHEDULER_NOT_STARTED) { 7000b578: 2801 cmp r0, #1 7000b57a: d0f9 beq.n 7000b570 */ __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) { uint32_t result; __ASM volatile ("MRS %0, primask" : "=r" (result) ); 7000b57c: f3ef 8310 mrs r3, PRIMASK if (IS_IRQ_MASKED()) { 7000b580: 2b00 cmp r3, #0 7000b582: d1f4 bne.n 7000b56e */ __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) { uint32_t result; __ASM volatile ("MRS %0, basepri" : "=r" (result) ); 7000b584: f3ef 8411 mrs r4, BASEPRI 7000b588: 3c00 subs r4, #0 7000b58a: bf18 it ne 7000b58c: 2401 movne r4, #1 return (irq); 7000b58e: e7ef b.n 7000b570 7000b590 : void SysTick_Handler (void) { 7000b590: b508 push {r3, lr} SysTick->CTRL; 7000b592: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000b596: 691b ldr r3, [r3, #16] if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) { 7000b598: f001 ff72 bl 7000d480 7000b59c: 2801 cmp r0, #1 7000b59e: d003 beq.n 7000b5a8 } 7000b5a0: e8bd 4008 ldmia.w sp!, {r3, lr} xPortSysTickHandler(); 7000b5a4: f000 bbf6 b.w 7000bd94 } 7000b5a8: bd08 pop {r3, pc} ... 7000b5ac : /* ==== Kernel Management Functions ==== */ /* Initialize the RTOS Kernel. */ osStatus_t osKernelInitialize (void) { 7000b5ac: b508 push {r3, lr} osStatus_t stat; BaseType_t state; if (IRQ_Context() != 0U) { 7000b5ae: f7ff ffda bl 7000b566 7000b5b2: b948 cbnz r0, 7000b5c8 stat = osErrorISR; } else { state = xTaskGetSchedulerState(); 7000b5b4: f001 ff64 bl 7000d480 /* Initialize if scheduler not started and not initialized before */ if ((state == taskSCHEDULER_NOT_STARTED) && (KernelState == osKernelInactive)) { 7000b5b8: 2801 cmp r0, #1 state = xTaskGetSchedulerState(); 7000b5ba: 4603 mov r3, r0 if ((state == taskSCHEDULER_NOT_STARTED) && (KernelState == osKernelInactive)) { 7000b5bc: d107 bne.n 7000b5ce 7000b5be: 4a05 ldr r2, [pc, #20] @ (7000b5d4 ) 7000b5c0: 6810 ldr r0, [r2, #0] 7000b5c2: b920 cbnz r0, 7000b5ce #endif #if defined(USE_FreeRTOS_HEAP_5) && (HEAP_5_REGION_SETUP == 1) /* Initialize the memory regions when using heap_5 variant */ vPortDefineHeapRegions (configHEAP_5_REGIONS); #endif KernelState = osKernelReady; 7000b5c4: 6013 str r3, [r2, #0] } } /* Return execution status */ return (stat); } 7000b5c6: bd08 pop {r3, pc} stat = osErrorISR; 7000b5c8: f06f 0005 mvn.w r0, #5 7000b5cc: e7fb b.n 7000b5c6 stat = osError; 7000b5ce: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff return (stat); 7000b5d2: e7f8 b.n 7000b5c6 7000b5d4: 2400d3e0 .word 0x2400d3e0 7000b5d8 : } /* Start the RTOS Kernel scheduler. */ osStatus_t osKernelStart (void) { 7000b5d8: b510 push {r4, lr} osStatus_t stat; BaseType_t state; if (IRQ_Context() != 0U) { 7000b5da: f7ff ffc4 bl 7000b566 7000b5de: 4604 mov r4, r0 7000b5e0: b978 cbnz r0, 7000b602 stat = osErrorISR; } else { state = xTaskGetSchedulerState(); 7000b5e2: f001 ff4d bl 7000d480 /* Start scheduler if initialized and not started before */ if ((state == taskSCHEDULER_NOT_STARTED) && (KernelState == osKernelReady)) { 7000b5e6: 2801 cmp r0, #1 7000b5e8: d10e bne.n 7000b608 7000b5ea: 4b09 ldr r3, [pc, #36] @ (7000b610 ) 7000b5ec: 681a ldr r2, [r3, #0] 7000b5ee: 2a01 cmp r2, #1 7000b5f0: d10a bne.n 7000b608 SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 7000b5f2: 4a08 ldr r2, [pc, #32] @ (7000b614 ) 7000b5f4: 77d4 strb r4, [r2, #31] /* Ensure SVC priority is at the reset value */ SVC_Setup(); /* Change state to ensure correct API flow */ KernelState = osKernelRunning; 7000b5f6: 2202 movs r2, #2 7000b5f8: 601a str r2, [r3, #0] /* Start the kernel scheduler */ vTaskStartScheduler(); 7000b5fa: f001 fda9 bl 7000d150 stat = osOK; 7000b5fe: 4620 mov r0, r4 } } /* Return execution status */ return (stat); } 7000b600: bd10 pop {r4, pc} stat = osErrorISR; 7000b602: f06f 0005 mvn.w r0, #5 7000b606: e7fb b.n 7000b600 stat = osError; 7000b608: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff return (stat); 7000b60c: e7f8 b.n 7000b600 7000b60e: bf00 nop 7000b610: 2400d3e0 .word 0x2400d3e0 7000b614: e000ed00 .word 0xe000ed00 7000b618 : Limitations: - The memory for control block and stack must be provided in the osThreadAttr_t structure in order to allocate object statically. - Attribute osThreadJoinable is not supported, NULL is returned if used. */ osThreadId_t osThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr) { 7000b618: b5f0 push {r4, r5, r6, r7, lr} uint32_t stack; TaskHandle_t hTask; UBaseType_t prio; int32_t mem; hTask = NULL; 7000b61a: 2300 movs r3, #0 osThreadId_t osThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr) { 7000b61c: b087 sub sp, #28 7000b61e: 4606 mov r6, r0 7000b620: 460f mov r7, r1 7000b622: 4614 mov r4, r2 hTask = NULL; 7000b624: 9305 str r3, [sp, #20] if ((IRQ_Context() == 0U) && (func != NULL)) { 7000b626: f7ff ff9e bl 7000b566 7000b62a: bb10 cbnz r0, 7000b672 7000b62c: b30e cbz r6, 7000b672 prio = (UBaseType_t)osPriorityNormal; name = NULL; mem = -1; if (attr != NULL) { 7000b62e: b35c cbz r4, 7000b688 if (attr->name != NULL) { name = attr->name; } if (attr->priority != osPriorityNone) { 7000b630: 69a5 ldr r5, [r4, #24] 7000b632: b125 cbz r5, 7000b63e prio = (UBaseType_t)attr->priority; } if ((prio < osPriorityIdle) || (prio > osPriorityISR) || ((attr->attr_bits & osThreadJoinable) == osThreadJoinable)) { 7000b634: 1e6b subs r3, r5, #1 7000b636: 2b37 cmp r3, #55 @ 0x37 7000b638: d902 bls.n 7000b640 } } /* Return thread ID */ return ((osThreadId_t)hTask); } 7000b63a: b007 add sp, #28 7000b63c: bdf0 pop {r4, r5, r6, r7, pc} prio = (UBaseType_t)osPriorityNormal; 7000b63e: 2518 movs r5, #24 if ((prio < osPriorityIdle) || (prio > osPriorityISR) || ((attr->attr_bits & osThreadJoinable) == osThreadJoinable)) { 7000b640: 6863 ldr r3, [r4, #4] 7000b642: 07db lsls r3, r3, #31 7000b644: d430 bmi.n 7000b6a8 if (attr->stack_size > 0U) { 7000b646: 6963 ldr r3, [r4, #20] 7000b648: b1ab cbz r3, 7000b676 stack = attr->stack_size / sizeof(StackType_t); 7000b64a: 089a lsrs r2, r3, #2 if (attr->name != NULL) { 7000b64c: 6821 ldr r1, [r4, #0] if ((attr->cb_mem != NULL) && (attr->cb_size >= sizeof(StaticTask_t)) && 7000b64e: e9d4 c002 ldrd ip, r0, [r4, #8] 7000b652: f1bc 0f00 cmp.w ip, #0 7000b656: d010 beq.n 7000b67a 7000b658: 28ab cmp r0, #171 @ 0xab 7000b65a: d90a bls.n 7000b672 (attr->stack_mem != NULL) && (attr->stack_size > 0U)) { 7000b65c: 6920 ldr r0, [r4, #16] if ((attr->cb_mem != NULL) && (attr->cb_size >= sizeof(StaticTask_t)) && 7000b65e: b140 cbz r0, 7000b672 (attr->stack_mem != NULL) && (attr->stack_size > 0U)) { 7000b660: b13b cbz r3, 7000b672 hTask = xTaskCreateStatic ((TaskFunction_t)func, name, stack, argument, prio, (StackType_t *)attr->stack_mem, 7000b662: 463b mov r3, r7 7000b664: 9500 str r5, [sp, #0] 7000b666: e9cd 0c01 strd r0, ip, [sp, #4] 7000b66a: 4630 mov r0, r6 7000b66c: f001 fb28 bl 7000ccc0 7000b670: 9005 str r0, [sp, #20] return ((osThreadId_t)hTask); 7000b672: 9805 ldr r0, [sp, #20] 7000b674: e7e1 b.n 7000b63a stack = configMINIMAL_STACK_SIZE; 7000b676: 2280 movs r2, #128 @ 0x80 7000b678: e7e8 b.n 7000b64c if ((attr->cb_mem == NULL) && (attr->cb_size == 0U) && (attr->stack_mem == NULL)) { 7000b67a: 2800 cmp r0, #0 7000b67c: d1f9 bne.n 7000b672 7000b67e: 6923 ldr r3, [r4, #16] 7000b680: 2b00 cmp r3, #0 7000b682: d1f6 bne.n 7000b672 7000b684: 460c mov r4, r1 7000b686: e001 b.n 7000b68c prio = (UBaseType_t)osPriorityNormal; 7000b688: 2518 movs r5, #24 stack = configMINIMAL_STACK_SIZE; 7000b68a: 2280 movs r2, #128 @ 0x80 if (xTaskCreate ((TaskFunction_t)func, name, (configSTACK_DEPTH_TYPE)stack, argument, prio, &hTask) != pdPASS) { 7000b68c: ab05 add r3, sp, #20 7000b68e: b292 uxth r2, r2 7000b690: 4621 mov r1, r4 7000b692: 4630 mov r0, r6 7000b694: e9cd 5300 strd r5, r3, [sp] 7000b698: 463b mov r3, r7 7000b69a: f001 fb5a bl 7000cd52 7000b69e: 2801 cmp r0, #1 hTask = NULL; 7000b6a0: bf1c itt ne 7000b6a2: 2300 movne r3, #0 7000b6a4: 9305 strne r3, [sp, #20] 7000b6a6: e7e4 b.n 7000b672 return (NULL); 7000b6a8: 2000 movs r0, #0 7000b6aa: e7c6 b.n 7000b63a 7000b6ac : /* ==== Generic Wait Functions ==== */ /* Wait for Timeout (Time Delay). */ osStatus_t osDelay (uint32_t ticks) { 7000b6ac: b510 push {r4, lr} 7000b6ae: 4604 mov r4, r0 osStatus_t stat; if (IRQ_Context() != 0U) { 7000b6b0: f7ff ff59 bl 7000b566 7000b6b4: b928 cbnz r0, 7000b6c2 stat = osErrorISR; } else { stat = osOK; if (ticks != 0U) { 7000b6b6: b114 cbz r4, 7000b6be vTaskDelay(ticks); 7000b6b8: 4620 mov r0, r4 7000b6ba: f001 fd09 bl 7000d0d0 stat = osOK; 7000b6be: 2000 movs r0, #0 } } /* Return execution status */ return (stat); } 7000b6c0: bd10 pop {r4, pc} stat = osErrorISR; 7000b6c2: f06f 0005 mvn.w r0, #5 return (stat); 7000b6c6: e7fb b.n 7000b6c0 7000b6c8 : /* ==== Semaphore Management Functions ==== */ /* Create and Initialize a Semaphore object. */ osSemaphoreId_t osSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr) { 7000b6c8: b573 push {r0, r1, r4, r5, r6, lr} 7000b6ca: 4604 mov r4, r0 7000b6cc: 460e mov r6, r1 7000b6ce: 4615 mov r5, r2 SemaphoreHandle_t hSemaphore; int32_t mem; hSemaphore = NULL; if ((IRQ_Context() == 0U) && (max_count > 0U) && (initial_count <= max_count)) { 7000b6d0: f7ff ff49 bl 7000b566 7000b6d4: b940 cbnz r0, 7000b6e8 7000b6d6: b13c cbz r4, 7000b6e8 7000b6d8: 42b4 cmp r4, r6 7000b6da: d305 bcc.n 7000b6e8 mem = -1; if (attr != NULL) { 7000b6dc: b155 cbz r5, 7000b6f4 if ((attr->cb_mem != NULL) && (attr->cb_size >= sizeof(StaticSemaphore_t))) { 7000b6de: e9d5 3202 ldrd r3, r2, [r5, #8] 7000b6e2: b12b cbz r3, 7000b6f0 7000b6e4: 2a4f cmp r2, #79 @ 0x4f 7000b6e6: d825 bhi.n 7000b734 hSemaphore = NULL; 7000b6e8: 2400 movs r4, #0 } } /* Return semaphore ID */ return ((osSemaphoreId_t)hSemaphore); } 7000b6ea: 4620 mov r0, r4 7000b6ec: b002 add sp, #8 7000b6ee: bd70 pop {r4, r5, r6, pc} if ((attr->cb_mem == NULL) && (attr->cb_size == 0U)) { 7000b6f0: 2a00 cmp r2, #0 7000b6f2: d1f9 bne.n 7000b6e8 if (max_count == 1U) { 7000b6f4: 2c01 cmp r4, #1 7000b6f6: d008 beq.n 7000b70a hSemaphore = xSemaphoreCreateCounting (max_count, initial_count); 7000b6f8: 4620 mov r0, r4 7000b6fa: 4631 mov r1, r6 7000b6fc: f000 fd94 bl 7000c228 if (hSemaphore != NULL) { 7000b700: 4604 mov r4, r0 7000b702: 2800 cmp r0, #0 7000b704: d0f0 beq.n 7000b6e8 if ((attr != NULL) && (attr->name != NULL)) { 7000b706: b975 cbnz r5, 7000b726 7000b708: e7ef b.n 7000b6ea hSemaphore = xSemaphoreCreateBinary(); 7000b70a: 2203 movs r2, #3 7000b70c: 2100 movs r1, #0 7000b70e: 2001 movs r0, #1 7000b710: f000 fd42 bl 7000c198 7000b714: e017 b.n 7000b746 hSemaphore = xSemaphoreCreateCountingStatic (max_count, initial_count, (StaticSemaphore_t *)attr->cb_mem); 7000b716: 4620 mov r0, r4 7000b718: 461a mov r2, r3 7000b71a: 4631 mov r1, r6 7000b71c: f000 fd6c bl 7000c1f8 if (hSemaphore != NULL) { 7000b720: 4604 mov r4, r0 7000b722: 2800 cmp r0, #0 7000b724: d0e0 beq.n 7000b6e8 if ((attr != NULL) && (attr->name != NULL)) { 7000b726: 6829 ldr r1, [r5, #0] 7000b728: 2900 cmp r1, #0 7000b72a: d0de beq.n 7000b6ea vQueueAddToRegistry (hSemaphore, attr->name); 7000b72c: 4620 mov r0, r4 7000b72e: f001 f8bf bl 7000c8b0 7000b732: e7da b.n 7000b6ea if (max_count == 1U) { 7000b734: 2c01 cmp r4, #1 7000b736: d1ee bne.n 7000b716 hSemaphore = xSemaphoreCreateBinaryStatic ((StaticSemaphore_t *)attr->cb_mem); 7000b738: 2203 movs r2, #3 7000b73a: 4601 mov r1, r0 7000b73c: 9200 str r2, [sp, #0] 7000b73e: 4602 mov r2, r0 7000b740: 4620 mov r0, r4 7000b742: f000 fcec bl 7000c11e hSemaphore = xSemaphoreCreateBinary(); 7000b746: 4604 mov r4, r0 if ((hSemaphore != NULL) && (initial_count != 0U)) { 7000b748: 2800 cmp r0, #0 7000b74a: d0cd beq.n 7000b6e8 7000b74c: 2e00 cmp r6, #0 7000b74e: d0da beq.n 7000b706 if (xSemaphoreGive (hSemaphore) != pdPASS) { 7000b750: 2300 movs r3, #0 7000b752: 461a mov r2, r3 7000b754: 4619 mov r1, r3 7000b756: f000 fd7c bl 7000c252 7000b75a: 2801 cmp r0, #1 7000b75c: d0d3 beq.n 7000b706 vSemaphoreDelete (hSemaphore); 7000b75e: 4620 mov r0, r4 7000b760: f001 f8ee bl 7000c940 if (hSemaphore != NULL) { 7000b764: e7c0 b.n 7000b6e8 7000b766 : /* Acquire a Semaphore token or timeout if no tokens are available. */ osStatus_t osSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout) { 7000b766: b537 push {r0, r1, r2, r4, r5, lr} 7000b768: 460c mov r4, r1 osStatus_t stat; BaseType_t yield; stat = osOK; if (hSemaphore == NULL) { 7000b76a: 4605 mov r5, r0 7000b76c: b918 cbnz r0, 7000b776 stat = osErrorParameter; 7000b76e: f06f 0003 mvn.w r0, #3 } } /* Return execution status */ return (stat); } 7000b772: b003 add sp, #12 7000b774: bd30 pop {r4, r5, pc} else if (IRQ_Context() != 0U) { 7000b776: f7ff fef6 bl 7000b566 7000b77a: b1d8 cbz r0, 7000b7b4 if (timeout != 0U) { 7000b77c: 2c00 cmp r4, #0 7000b77e: d1f6 bne.n 7000b76e if (xSemaphoreTakeFromISR (hSemaphore, &yield) != pdPASS) { 7000b780: aa01 add r2, sp, #4 7000b782: 4621 mov r1, r4 7000b784: 4628 mov r0, r5 yield = pdFALSE; 7000b786: 9401 str r4, [sp, #4] if (xSemaphoreTakeFromISR (hSemaphore, &yield) != pdPASS) { 7000b788: f001 f836 bl 7000c7f8 7000b78c: 2801 cmp r0, #1 7000b78e: d002 beq.n 7000b796 stat = osErrorResource; 7000b790: f06f 0002 mvn.w r0, #2 7000b794: e7ed b.n 7000b772 portYIELD_FROM_ISR (yield); 7000b796: 9b01 ldr r3, [sp, #4] 7000b798: b90b cbnz r3, 7000b79e stat = osOK; 7000b79a: 2000 movs r0, #0 7000b79c: e7e9 b.n 7000b772 portYIELD_FROM_ISR (yield); 7000b79e: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000b7a2: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000b7a6: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000b7aa: f3bf 8f4f dsb sy 7000b7ae: f3bf 8f6f isb sy 7000b7b2: e7f2 b.n 7000b79a if (xSemaphoreTake (hSemaphore, (TickType_t)timeout) != pdPASS) { 7000b7b4: 4621 mov r1, r4 7000b7b6: 4628 mov r0, r5 7000b7b8: f000 ff68 bl 7000c68c 7000b7bc: 2801 cmp r0, #1 7000b7be: d0ec beq.n 7000b79a if (timeout != 0U) { 7000b7c0: 2c00 cmp r4, #0 7000b7c2: d0e5 beq.n 7000b790 stat = osErrorTimeout; 7000b7c4: f06f 0001 mvn.w r0, #1 return (stat); 7000b7c8: e7d3 b.n 7000b772 7000b7ca : /* Release a Semaphore token up to the initial maximum count. */ osStatus_t osSemaphoreRelease (osSemaphoreId_t semaphore_id) { 7000b7ca: b513 push {r0, r1, r4, lr} osStatus_t stat; BaseType_t yield; stat = osOK; if (hSemaphore == NULL) { 7000b7cc: 4604 mov r4, r0 7000b7ce: b328 cbz r0, 7000b81c stat = osErrorParameter; } else if (IRQ_Context() != 0U) { 7000b7d0: f7ff fec9 bl 7000b566 7000b7d4: 4603 mov r3, r0 7000b7d6: b1c8 cbz r0, 7000b80c yield = pdFALSE; 7000b7d8: 2300 movs r3, #0 if (xSemaphoreGiveFromISR (hSemaphore, &yield) != pdTRUE) { 7000b7da: a901 add r1, sp, #4 7000b7dc: 4620 mov r0, r4 yield = pdFALSE; 7000b7de: 9301 str r3, [sp, #4] if (xSemaphoreGiveFromISR (hSemaphore, &yield) != pdTRUE) { 7000b7e0: f000 fe55 bl 7000c48e 7000b7e4: 2801 cmp r0, #1 7000b7e6: d003 beq.n 7000b7f0 portYIELD_FROM_ISR (yield); } } else { if (xSemaphoreGive (hSemaphore) != pdPASS) { stat = osErrorResource; 7000b7e8: f06f 0002 mvn.w r0, #2 } } /* Return execution status */ return (stat); } 7000b7ec: b002 add sp, #8 7000b7ee: bd10 pop {r4, pc} portYIELD_FROM_ISR (yield); 7000b7f0: 9b01 ldr r3, [sp, #4] 7000b7f2: b14b cbz r3, 7000b808 7000b7f4: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000b7f8: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000b7fc: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000b800: f3bf 8f4f dsb sy 7000b804: f3bf 8f6f isb sy stat = osOK; 7000b808: 2000 movs r0, #0 7000b80a: e7ef b.n 7000b7ec if (xSemaphoreGive (hSemaphore) != pdPASS) { 7000b80c: 4602 mov r2, r0 7000b80e: 4601 mov r1, r0 7000b810: 4620 mov r0, r4 7000b812: f000 fd1e bl 7000c252 7000b816: 2801 cmp r0, #1 7000b818: d0f6 beq.n 7000b808 7000b81a: e7e5 b.n 7000b7e8 stat = osErrorParameter; 7000b81c: f06f 0003 mvn.w r0, #3 return (stat); 7000b820: e7e4 b.n 7000b7ec 7000b822 : Limitations: - The memory for control block and and message data must be provided in the osThreadAttr_t structure in order to allocate object statically. */ osMessageQueueId_t osMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr) { 7000b822: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} 7000b824: 4605 mov r5, r0 7000b826: 460e mov r6, r1 7000b828: 4614 mov r4, r2 QueueHandle_t hQueue; int32_t mem; hQueue = NULL; if ((IRQ_Context() == 0U) && (msg_count > 0U) && (msg_size > 0U)) { 7000b82a: f7ff fe9c bl 7000b566 7000b82e: b118 cbz r0, 7000b838 hQueue = NULL; 7000b830: 2500 movs r5, #0 } /* Return message queue ID */ return ((osMessageQueueId_t)hQueue); } 7000b832: 4628 mov r0, r5 7000b834: b003 add sp, #12 7000b836: bdf0 pop {r4, r5, r6, r7, pc} if ((IRQ_Context() == 0U) && (msg_count > 0U) && (msg_size > 0U)) { 7000b838: 2d00 cmp r5, #0 7000b83a: d0f9 beq.n 7000b830 7000b83c: 2e00 cmp r6, #0 7000b83e: d0f7 beq.n 7000b830 if (attr != NULL) { 7000b840: b31c cbz r4, 7000b88a if ((attr->cb_mem != NULL) && (attr->cb_size >= sizeof(StaticQueue_t)) && 7000b842: e9d4 3202 ldrd r3, r2, [r4, #8] 7000b846: b1c3 cbz r3, 7000b87a 7000b848: 2a4f cmp r2, #79 @ 0x4f 7000b84a: d9f1 bls.n 7000b830 (attr->mq_mem != NULL) && (attr->mq_size >= (msg_count * msg_size))) { 7000b84c: 6922 ldr r2, [r4, #16] if ((attr->cb_mem != NULL) && (attr->cb_size >= sizeof(StaticQueue_t)) && 7000b84e: 2a00 cmp r2, #0 7000b850: d0ee beq.n 7000b830 (attr->mq_mem != NULL) && (attr->mq_size >= (msg_count * msg_size))) { 7000b852: fb06 f105 mul.w r1, r6, r5 7000b856: 6967 ldr r7, [r4, #20] 7000b858: 428f cmp r7, r1 7000b85a: d3e9 bcc.n 7000b830 hQueue = xQueueCreateStatic (msg_count, msg_size, attr->mq_mem, attr->cb_mem); 7000b85c: 9000 str r0, [sp, #0] 7000b85e: 4631 mov r1, r6 7000b860: 4628 mov r0, r5 7000b862: f000 fc5c bl 7000c11e if (hQueue != NULL) { 7000b866: 4605 mov r5, r0 7000b868: 2800 cmp r0, #0 7000b86a: d0e1 beq.n 7000b830 if ((attr != NULL) && (attr->name != NULL)) { 7000b86c: 6821 ldr r1, [r4, #0] 7000b86e: 2900 cmp r1, #0 7000b870: d0df beq.n 7000b832 vQueueAddToRegistry (hQueue, attr->name); 7000b872: 4628 mov r0, r5 7000b874: f001 f81c bl 7000c8b0 7000b878: e7db b.n 7000b832 if ((attr->cb_mem == NULL) && (attr->cb_size == 0U) && 7000b87a: 2a00 cmp r2, #0 7000b87c: d1d8 bne.n 7000b830 7000b87e: 6923 ldr r3, [r4, #16] 7000b880: 2b00 cmp r3, #0 7000b882: d1d5 bne.n 7000b830 (attr->mq_mem == NULL) && (attr->mq_size == 0U)) { 7000b884: 6963 ldr r3, [r4, #20] 7000b886: 2b00 cmp r3, #0 7000b888: d1d2 bne.n 7000b830 hQueue = xQueueCreate (msg_count, msg_size); 7000b88a: 4628 mov r0, r5 7000b88c: 2200 movs r2, #0 7000b88e: 4631 mov r1, r6 7000b890: f000 fc82 bl 7000c198 if (hQueue != NULL) { 7000b894: 4605 mov r5, r0 7000b896: 2800 cmp r0, #0 7000b898: d0ca beq.n 7000b830 if ((attr != NULL) && (attr->name != NULL)) { 7000b89a: 2c00 cmp r4, #0 7000b89c: d1e6 bne.n 7000b86c 7000b89e: e7c8 b.n 7000b832 7000b8a0 : Put a Message into a Queue or timeout if Queue is full. Limitations: - Message priority is ignored */ osStatus_t osMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout) { 7000b8a0: b573 push {r0, r1, r4, r5, r6, lr} 7000b8a2: 461c mov r4, r3 7000b8a4: 4605 mov r5, r0 7000b8a6: 460e mov r6, r1 (void)msg_prio; /* Message priority is ignored */ stat = osOK; if (IRQ_Context() != 0U) { 7000b8a8: f7ff fe5d bl 7000b566 7000b8ac: 4603 mov r3, r0 7000b8ae: b1f0 cbz r0, 7000b8ee if ((hQueue == NULL) || (msg_ptr == NULL) || (timeout != 0U)) { 7000b8b0: b35d cbz r5, 7000b90a 7000b8b2: b356 cbz r6, 7000b90a 7000b8b4: bb4c cbnz r4, 7000b90a stat = osErrorParameter; } else { yield = pdFALSE; if (xQueueSendToBackFromISR (hQueue, msg_ptr, &yield) != pdTRUE) { 7000b8b6: 4623 mov r3, r4 7000b8b8: aa01 add r2, sp, #4 7000b8ba: 4631 mov r1, r6 7000b8bc: 4628 mov r0, r5 yield = pdFALSE; 7000b8be: 9401 str r4, [sp, #4] if (xQueueSendToBackFromISR (hQueue, msg_ptr, &yield) != pdTRUE) { 7000b8c0: f000 fd79 bl 7000c3b6 7000b8c4: 2801 cmp r0, #1 7000b8c6: d003 beq.n 7000b8d0 stat = osErrorResource; 7000b8c8: f06f 0002 mvn.w r0, #2 } } /* Return execution status */ return (stat); } 7000b8cc: b002 add sp, #8 7000b8ce: bd70 pop {r4, r5, r6, pc} portYIELD_FROM_ISR (yield); 7000b8d0: 9b01 ldr r3, [sp, #4] 7000b8d2: b90b cbnz r3, 7000b8d8 stat = osOK; 7000b8d4: 2000 movs r0, #0 7000b8d6: e7f9 b.n 7000b8cc portYIELD_FROM_ISR (yield); 7000b8d8: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000b8dc: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000b8e0: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000b8e4: f3bf 8f4f dsb sy 7000b8e8: f3bf 8f6f isb sy 7000b8ec: e7f2 b.n 7000b8d4 if ((hQueue == NULL) || (msg_ptr == NULL)) { 7000b8ee: b165 cbz r5, 7000b90a 7000b8f0: b15e cbz r6, 7000b90a if (xQueueSendToBack (hQueue, msg_ptr, (TickType_t)timeout) != pdPASS) { 7000b8f2: 4622 mov r2, r4 7000b8f4: 4631 mov r1, r6 7000b8f6: 4628 mov r0, r5 7000b8f8: f000 fcab bl 7000c252 7000b8fc: 2801 cmp r0, #1 7000b8fe: d0e9 beq.n 7000b8d4 if (timeout != 0U) { 7000b900: 2c00 cmp r4, #0 7000b902: d0e1 beq.n 7000b8c8 stat = osErrorTimeout; 7000b904: f06f 0001 mvn.w r0, #1 7000b908: e7e0 b.n 7000b8cc stat = osErrorParameter; 7000b90a: f06f 0003 mvn.w r0, #3 return (stat); 7000b90e: e7dd b.n 7000b8cc 7000b910 : Get a Message from a Queue or timeout if Queue is empty. Limitations: - Message priority is ignored */ osStatus_t osMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout) { 7000b910: b573 push {r0, r1, r4, r5, r6, lr} 7000b912: 4605 mov r5, r0 7000b914: 460e mov r6, r1 7000b916: 461c mov r4, r3 (void)msg_prio; /* Message priority is ignored */ stat = osOK; if (IRQ_Context() != 0U) { 7000b918: f7ff fe25 bl 7000b566 7000b91c: b1e8 cbz r0, 7000b95a if ((hQueue == NULL) || (msg_ptr == NULL) || (timeout != 0U)) { 7000b91e: b355 cbz r5, 7000b976 7000b920: b34e cbz r6, 7000b976 7000b922: bb44 cbnz r4, 7000b976 stat = osErrorParameter; } else { yield = pdFALSE; if (xQueueReceiveFromISR (hQueue, msg_ptr, &yield) != pdPASS) { 7000b924: aa01 add r2, sp, #4 7000b926: 4631 mov r1, r6 7000b928: 4628 mov r0, r5 yield = pdFALSE; 7000b92a: 9401 str r4, [sp, #4] if (xQueueReceiveFromISR (hQueue, msg_ptr, &yield) != pdPASS) { 7000b92c: f000 ff64 bl 7000c7f8 7000b930: 2801 cmp r0, #1 7000b932: d003 beq.n 7000b93c stat = osErrorResource; 7000b934: f06f 0002 mvn.w r0, #2 } } /* Return execution status */ return (stat); } 7000b938: b002 add sp, #8 7000b93a: bd70 pop {r4, r5, r6, pc} portYIELD_FROM_ISR (yield); 7000b93c: 9b01 ldr r3, [sp, #4] 7000b93e: b90b cbnz r3, 7000b944 stat = osOK; 7000b940: 2000 movs r0, #0 7000b942: e7f9 b.n 7000b938 portYIELD_FROM_ISR (yield); 7000b944: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000b948: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000b94c: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000b950: f3bf 8f4f dsb sy 7000b954: f3bf 8f6f isb sy 7000b958: e7f2 b.n 7000b940 if ((hQueue == NULL) || (msg_ptr == NULL)) { 7000b95a: b165 cbz r5, 7000b976 7000b95c: b15e cbz r6, 7000b976 if (xQueueReceive (hQueue, msg_ptr, (TickType_t)timeout) != pdPASS) { 7000b95e: 4622 mov r2, r4 7000b960: 4631 mov r1, r6 7000b962: 4628 mov r0, r5 7000b964: f000 fdf3 bl 7000c54e 7000b968: 2801 cmp r0, #1 7000b96a: d0e9 beq.n 7000b940 if (timeout != 0U) { 7000b96c: 2c00 cmp r4, #0 7000b96e: d0e1 beq.n 7000b934 stat = osErrorTimeout; 7000b970: f06f 0001 mvn.w r0, #1 7000b974: e7e0 b.n 7000b938 stat = osErrorParameter; 7000b976: f06f 0003 mvn.w r0, #3 return (stat); 7000b97a: e7dd b.n 7000b938 7000b97c : __WEAK void vApplicationGetIdleTaskMemory (StaticTask_t **ppxIdleTaskTCBBuffer, StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize) { /* Idle task control block and stack */ static StaticTask_t Idle_TCB; static StackType_t Idle_Stack[configMINIMAL_STACK_SIZE]; *ppxIdleTaskTCBBuffer = &Idle_TCB; 7000b97c: 4b03 ldr r3, [pc, #12] @ (7000b98c ) 7000b97e: 6003 str r3, [r0, #0] *ppxIdleTaskStackBuffer = &Idle_Stack[0]; 7000b980: 4b03 ldr r3, [pc, #12] @ (7000b990 ) 7000b982: 600b str r3, [r1, #0] *pulIdleTaskStackSize = (uint32_t)configMINIMAL_STACK_SIZE; 7000b984: 2380 movs r3, #128 @ 0x80 7000b986: 6013 str r3, [r2, #0] } 7000b988: 4770 bx lr 7000b98a: bf00 nop 7000b98c: 2400d334 .word 0x2400d334 7000b990: 2400d134 .word 0x2400d134 7000b994 : __WEAK void vApplicationGetTimerTaskMemory (StaticTask_t **ppxTimerTaskTCBBuffer, StackType_t **ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize) { /* Timer task control block and stack */ static StaticTask_t Timer_TCB; static StackType_t Timer_Stack[configTIMER_TASK_STACK_DEPTH]; *ppxTimerTaskTCBBuffer = &Timer_TCB; 7000b994: 4b03 ldr r3, [pc, #12] @ (7000b9a4 ) 7000b996: 6003 str r3, [r0, #0] *ppxTimerTaskStackBuffer = &Timer_Stack[0]; 7000b998: 4b03 ldr r3, [pc, #12] @ (7000b9a8 ) 7000b99a: 600b str r3, [r1, #0] *pulTimerTaskStackSize = (uint32_t)configTIMER_TASK_STACK_DEPTH; 7000b99c: f44f 7380 mov.w r3, #256 @ 0x100 7000b9a0: 6013 str r3, [r2, #0] } 7000b9a2: 4770 bx lr 7000b9a4: 2400d088 .word 0x2400d088 7000b9a8: 2400cc88 .word 0x2400cc88 7000b9ac : BlockLink_t * pxIterator; uint8_t * puc; /* Iterate through the list until a block is found that has a higher address * than the block being inserted. */ for( pxIterator = &xStart; pxIterator->pxNextFreeBlock < pxBlockToInsert; pxIterator = pxIterator->pxNextFreeBlock ) 7000b9ac: 4b10 ldr r3, [pc, #64] @ (7000b9f0 ) { 7000b9ae: b510 push {r4, lr} for( pxIterator = &xStart; pxIterator->pxNextFreeBlock < pxBlockToInsert; pxIterator = pxIterator->pxNextFreeBlock ) 7000b9b0: 461a mov r2, r3 7000b9b2: 681b ldr r3, [r3, #0] 7000b9b4: 4283 cmp r3, r0 7000b9b6: d3fb bcc.n 7000b9b0 /* Do the block being inserted, and the block it is being inserted after * make a contiguous block of memory? */ puc = ( uint8_t * ) pxIterator; if( ( puc + pxIterator->xBlockSize ) == ( uint8_t * ) pxBlockToInsert ) 7000b9b8: 6854 ldr r4, [r2, #4] 7000b9ba: 1911 adds r1, r2, r4 7000b9bc: 4288 cmp r0, r1 { pxIterator->xBlockSize += pxBlockToInsert->xBlockSize; 7000b9be: bf01 itttt eq 7000b9c0: 6841 ldreq r1, [r0, #4] pxBlockToInsert = pxIterator; 7000b9c2: 4610 moveq r0, r2 pxIterator->xBlockSize += pxBlockToInsert->xBlockSize; 7000b9c4: 1909 addeq r1, r1, r4 7000b9c6: 6051 streq r1, [r2, #4] /* Do the block being inserted, and the block it is being inserted before * make a contiguous block of memory? */ puc = ( uint8_t * ) pxBlockToInsert; if( ( puc + pxBlockToInsert->xBlockSize ) == ( uint8_t * ) pxIterator->pxNextFreeBlock ) 7000b9c8: 6844 ldr r4, [r0, #4] 7000b9ca: 1901 adds r1, r0, r4 7000b9cc: 428b cmp r3, r1 7000b9ce: d10c bne.n 7000b9ea { if( pxIterator->pxNextFreeBlock != pxEnd ) 7000b9d0: 4908 ldr r1, [pc, #32] @ (7000b9f4 ) 7000b9d2: 6809 ldr r1, [r1, #0] 7000b9d4: 428b cmp r3, r1 7000b9d6: d003 beq.n 7000b9e0 { /* Form one big block from the two blocks. */ pxBlockToInsert->xBlockSize += pxIterator->pxNextFreeBlock->xBlockSize; 7000b9d8: 6859 ldr r1, [r3, #4] 7000b9da: 4421 add r1, r4 7000b9dc: 6041 str r1, [r0, #4] pxBlockToInsert->pxNextFreeBlock = pxIterator->pxNextFreeBlock->pxNextFreeBlock; 7000b9de: 6819 ldr r1, [r3, #0] /* If the block being inserted plugged a gab, so was merged with the block * before and the block after, then it's pxNextFreeBlock pointer will have * already been set, and should not be set here as that would make it point * to itself. */ if( pxIterator != pxBlockToInsert ) 7000b9e0: 4290 cmp r0, r2 pxBlockToInsert->pxNextFreeBlock = pxEnd; 7000b9e2: 6001 str r1, [r0, #0] { pxIterator->pxNextFreeBlock = pxBlockToInsert; 7000b9e4: bf18 it ne 7000b9e6: 6010 strne r0, [r2, #0] } else { mtCOVERAGE_TEST_MARKER(); } } 7000b9e8: bd10 pop {r4, pc} 7000b9ea: 4619 mov r1, r3 7000b9ec: e7f8 b.n 7000b9e0 7000b9ee: bf00 nop 7000b9f0: 2400d3f8 .word 0x2400d3f8 7000b9f4: 2400d3f4 .word 0x2400d3f4 7000b9f8 : { 7000b9f8: b5f8 push {r3, r4, r5, r6, r7, lr} 7000b9fa: 4604 mov r4, r0 vTaskSuspendAll(); 7000b9fc: f001 f9d8 bl 7000cdb0 if( pxEnd == NULL ) 7000ba00: 493d ldr r1, [pc, #244] @ (7000baf8 ) 7000ba02: 680b ldr r3, [r1, #0] 7000ba04: b9eb cbnz r3, 7000ba42 uxAddress = ( portPOINTER_SIZE_TYPE ) ucHeap; 7000ba06: 4a3d ldr r2, [pc, #244] @ (7000bafc ) xStart.pxNextFreeBlock = ( void * ) pucAlignedHeap; 7000ba08: 4d3d ldr r5, [pc, #244] @ (7000bb00 ) if( ( uxAddress & portBYTE_ALIGNMENT_MASK ) != 0 ) 7000ba0a: 0750 lsls r0, r2, #29 xStart.xBlockSize = ( size_t ) 0; 7000ba0c: f04f 0000 mov.w r0, #0 uxAddress += ( portBYTE_ALIGNMENT - 1 ); 7000ba10: bf1a itte ne 7000ba12: 3207 addne r2, #7 xTotalHeapSize -= ( size_t ) ( uxAddress - ( portPOINTER_SIZE_TYPE ) ucHeap ); 7000ba14: 4b3b ldrne r3, [pc, #236] @ (7000bb04 ) size_t xTotalHeapSize = configTOTAL_HEAP_SIZE; 7000ba16: f24c 3350 movweq r3, #50000 @ 0xc350 xStart.xBlockSize = ( size_t ) 0; 7000ba1a: 6068 str r0, [r5, #4] uxAddress &= ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ); 7000ba1c: bf1c itt ne 7000ba1e: f022 0207 bicne.w r2, r2, #7 xTotalHeapSize -= ( size_t ) ( uxAddress - ( portPOINTER_SIZE_TYPE ) ucHeap ); 7000ba22: 1a9b subne r3, r3, r2 xStart.pxNextFreeBlock = ( void * ) pucAlignedHeap; 7000ba24: 602a str r2, [r5, #0] uxAddress = ( portPOINTER_SIZE_TYPE ) ( pucAlignedHeap + xTotalHeapSize ); 7000ba26: 4413 add r3, r2 uxAddress -= xHeapStructSize; 7000ba28: 3b08 subs r3, #8 uxAddress &= ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ); 7000ba2a: f023 0307 bic.w r3, r3, #7 pxEnd->pxNextFreeBlock = NULL; 7000ba2e: e9c3 0000 strd r0, r0, [r3] pxFirstFreeBlock->xBlockSize = ( size_t ) ( uxAddress - ( portPOINTER_SIZE_TYPE ) pxFirstFreeBlock ); 7000ba32: 1a98 subs r0, r3, r2 pxEnd = ( BlockLink_t * ) uxAddress; 7000ba34: 600b str r3, [r1, #0] pxFirstFreeBlock->pxNextFreeBlock = pxEnd; 7000ba36: e9c2 3000 strd r3, r0, [r2] xMinimumEverFreeBytesRemaining = pxFirstFreeBlock->xBlockSize; 7000ba3a: 4b33 ldr r3, [pc, #204] @ (7000bb08 ) 7000ba3c: 6018 str r0, [r3, #0] xFreeBytesRemaining = pxFirstFreeBlock->xBlockSize; 7000ba3e: 4b33 ldr r3, [pc, #204] @ (7000bb0c ) 7000ba40: 6018 str r0, [r3, #0] if( xWantedSize > 0 ) 7000ba42: 1e63 subs r3, r4, #1 7000ba44: 330a adds r3, #10 7000ba46: d853 bhi.n 7000baf0 if( ( xWantedSize & portBYTE_ALIGNMENT_MASK ) != 0x00 ) 7000ba48: f014 0207 ands.w r2, r4, #7 xWantedSize += xHeapStructSize; 7000ba4c: f104 0308 add.w r3, r4, #8 if( ( xWantedSize & portBYTE_ALIGNMENT_MASK ) != 0x00 ) 7000ba50: d005 beq.n 7000ba5e if( heapADD_WILL_OVERFLOW( xWantedSize, xAdditionalRequiredSize ) == 0 ) 7000ba52: f1a2 0009 sub.w r0, r2, #9 7000ba56: 4298 cmp r0, r3 7000ba58: d34a bcc.n 7000baf0 xWantedSize += xAdditionalRequiredSize; 7000ba5a: 3410 adds r4, #16 7000ba5c: 1aa3 subs r3, r4, r2 if( ( xWantedSize > 0 ) && ( xWantedSize <= xFreeBytesRemaining ) ) 7000ba5e: 2b00 cmp r3, #0 7000ba60: dd46 ble.n 7000baf0 7000ba62: 4f2a ldr r7, [pc, #168] @ (7000bb0c ) 7000ba64: 683e ldr r6, [r7, #0] 7000ba66: 429e cmp r6, r3 7000ba68: d342 bcc.n 7000baf0 pxBlock = xStart.pxNextFreeBlock; 7000ba6a: 4a25 ldr r2, [pc, #148] @ (7000bb00 ) 7000ba6c: 6814 ldr r4, [r2, #0] while( ( pxBlock->xBlockSize < xWantedSize ) && ( pxBlock->pxNextFreeBlock != NULL ) ) 7000ba6e: 6860 ldr r0, [r4, #4] 7000ba70: 4298 cmp r0, r3 7000ba72: d201 bcs.n 7000ba78 7000ba74: 6825 ldr r5, [r4, #0] 7000ba76: b9a5 cbnz r5, 7000baa2 if( pxBlock != pxEnd ) 7000ba78: 6809 ldr r1, [r1, #0] 7000ba7a: 42a1 cmp r1, r4 7000ba7c: d038 beq.n 7000baf0 pxPreviousBlock->pxNextFreeBlock = pxBlock->pxNextFreeBlock; 7000ba7e: 6821 ldr r1, [r4, #0] pvReturn = ( void * ) ( ( ( uint8_t * ) pxPreviousBlock->pxNextFreeBlock ) + xHeapStructSize ); 7000ba80: 6815 ldr r5, [r2, #0] pxPreviousBlock->pxNextFreeBlock = pxBlock->pxNextFreeBlock; 7000ba82: 6011 str r1, [r2, #0] if( ( pxBlock->xBlockSize - xWantedSize ) > heapMINIMUM_BLOCK_SIZE ) 7000ba84: 1ac2 subs r2, r0, r3 7000ba86: 2a10 cmp r2, #16 7000ba88: d912 bls.n 7000bab0 pxNewBlockLink = ( void * ) ( ( ( uint8_t * ) pxBlock ) + xWantedSize ); 7000ba8a: 18e0 adds r0, r4, r3 configASSERT( ( ( ( size_t ) pxNewBlockLink ) & portBYTE_ALIGNMENT_MASK ) == 0 ); 7000ba8c: 0741 lsls r1, r0, #29 7000ba8e: d00b beq.n 7000baa8 portFORCE_INLINE static void vPortRaiseBASEPRI( void ) { uint32_t ulNewBASEPRI; __asm volatile 7000ba90: f04f 0350 mov.w r3, #80 @ 0x50 7000ba94: f383 8811 msr BASEPRI, r3 7000ba98: f3bf 8f6f isb sy 7000ba9c: f3bf 8f4f dsb sy 7000baa0: e7fe b.n 7000baa0 pxPreviousBlock = pxBlock; 7000baa2: 4622 mov r2, r4 pxBlock = pxBlock->pxNextFreeBlock; 7000baa4: 462c mov r4, r5 7000baa6: e7e2 b.n 7000ba6e pxNewBlockLink->xBlockSize = pxBlock->xBlockSize - xWantedSize; 7000baa8: 6042 str r2, [r0, #4] pxBlock->xBlockSize = xWantedSize; 7000baaa: 6063 str r3, [r4, #4] prvInsertBlockIntoFreeList( pxNewBlockLink ); 7000baac: f7ff ff7e bl 7000b9ac xFreeBytesRemaining -= pxBlock->xBlockSize; 7000bab0: 6862 ldr r2, [r4, #4] pxBlock->pxNextFreeBlock = NULL; 7000bab2: 2300 movs r3, #0 if( xFreeBytesRemaining < xMinimumEverFreeBytesRemaining ) 7000bab4: 4914 ldr r1, [pc, #80] @ (7000bb08 ) pvReturn = ( void * ) ( ( ( uint8_t * ) pxPreviousBlock->pxNextFreeBlock ) + xHeapStructSize ); 7000bab6: 3508 adds r5, #8 xFreeBytesRemaining -= pxBlock->xBlockSize; 7000bab8: 1ab6 subs r6, r6, r2 heapALLOCATE_BLOCK( pxBlock ); 7000baba: f042 4200 orr.w r2, r2, #2147483648 @ 0x80000000 if( xFreeBytesRemaining < xMinimumEverFreeBytesRemaining ) 7000babe: 6808 ldr r0, [r1, #0] heapALLOCATE_BLOCK( pxBlock ); 7000bac0: 6062 str r2, [r4, #4] xNumberOfSuccessfulAllocations++; 7000bac2: 4a13 ldr r2, [pc, #76] @ (7000bb10 ) if( xFreeBytesRemaining < xMinimumEverFreeBytesRemaining ) 7000bac4: 4286 cmp r6, r0 pxBlock->pxNextFreeBlock = NULL; 7000bac6: 6023 str r3, [r4, #0] xNumberOfSuccessfulAllocations++; 7000bac8: 6813 ldr r3, [r2, #0] xFreeBytesRemaining -= pxBlock->xBlockSize; 7000baca: 603e str r6, [r7, #0] xNumberOfSuccessfulAllocations++; 7000bacc: f103 0301 add.w r3, r3, #1 xMinimumEverFreeBytesRemaining = xFreeBytesRemaining; 7000bad0: bf38 it cc 7000bad2: 600e strcc r6, [r1, #0] xNumberOfSuccessfulAllocations++; 7000bad4: 6013 str r3, [r2, #0] ( void ) xTaskResumeAll(); 7000bad6: f001 fa43 bl 7000cf60 configASSERT( ( ( ( size_t ) pvReturn ) & ( size_t ) portBYTE_ALIGNMENT_MASK ) == 0 ); 7000bada: 076b lsls r3, r5, #29 7000badc: d00a beq.n 7000baf4 7000bade: f04f 0350 mov.w r3, #80 @ 0x50 7000bae2: f383 8811 msr BASEPRI, r3 7000bae6: f3bf 8f6f isb sy 7000baea: f3bf 8f4f dsb sy 7000baee: e7fe b.n 7000baee void * pvReturn = NULL; 7000baf0: 2500 movs r5, #0 7000baf2: e7f0 b.n 7000bad6 } 7000baf4: 4628 mov r0, r5 7000baf6: bdf8 pop {r3, r4, r5, r6, r7, pc} 7000baf8: 2400d3f4 .word 0x2400d3f4 7000bafc: 20003000 .word 0x20003000 7000bb00: 2400d3f8 .word 0x2400d3f8 7000bb04: 2000f350 .word 0x2000f350 7000bb08: 2400d3ec .word 0x2400d3ec 7000bb0c: 2400d3f0 .word 0x2400d3f0 7000bb10: 2400d3e8 .word 0x2400d3e8 7000bb14 : { 7000bb14: b510 push {r4, lr} if( pv != NULL ) 7000bb16: 4604 mov r4, r0 7000bb18: b380 cbz r0, 7000bb7c configASSERT( heapBLOCK_IS_ALLOCATED( pxLink ) != 0 ); 7000bb1a: f850 3c04 ldr.w r3, [r0, #-4] 7000bb1e: 2b00 cmp r3, #0 7000bb20: db08 blt.n 7000bb34 7000bb22: f04f 0350 mov.w r3, #80 @ 0x50 7000bb26: f383 8811 msr BASEPRI, r3 7000bb2a: f3bf 8f6f isb sy 7000bb2e: f3bf 8f4f dsb sy 7000bb32: e7fe b.n 7000bb32 configASSERT( pxLink->pxNextFreeBlock == NULL ); 7000bb34: f850 2c08 ldr.w r2, [r0, #-8] 7000bb38: b142 cbz r2, 7000bb4c 7000bb3a: f04f 0350 mov.w r3, #80 @ 0x50 7000bb3e: f383 8811 msr BASEPRI, r3 7000bb42: f3bf 8f6f isb sy 7000bb46: f3bf 8f4f dsb sy 7000bb4a: e7fe b.n 7000bb4a heapFREE_BLOCK( pxLink ); 7000bb4c: f023 4300 bic.w r3, r3, #2147483648 @ 0x80000000 7000bb50: f840 3c04 str.w r3, [r0, #-4] vTaskSuspendAll(); 7000bb54: f001 f92c bl 7000cdb0 xFreeBytesRemaining += pxLink->xBlockSize; 7000bb58: 4a09 ldr r2, [pc, #36] @ (7000bb80 ) 7000bb5a: f854 3c04 ldr.w r3, [r4, #-4] prvInsertBlockIntoFreeList( ( ( BlockLink_t * ) pxLink ) ); 7000bb5e: f1a4 0008 sub.w r0, r4, #8 xFreeBytesRemaining += pxLink->xBlockSize; 7000bb62: 6811 ldr r1, [r2, #0] 7000bb64: 440b add r3, r1 7000bb66: 6013 str r3, [r2, #0] prvInsertBlockIntoFreeList( ( ( BlockLink_t * ) pxLink ) ); 7000bb68: f7ff ff20 bl 7000b9ac xNumberOfSuccessfulFrees++; 7000bb6c: 4a05 ldr r2, [pc, #20] @ (7000bb84 ) 7000bb6e: 6813 ldr r3, [r2, #0] 7000bb70: 3301 adds r3, #1 } 7000bb72: e8bd 4010 ldmia.w sp!, {r4, lr} xNumberOfSuccessfulFrees++; 7000bb76: 6013 str r3, [r2, #0] ( void ) xTaskResumeAll(); 7000bb78: f001 b9f2 b.w 7000cf60 } 7000bb7c: bd10 pop {r4, pc} 7000bb7e: bf00 nop 7000bb80: 2400d3f0 .word 0x2400d3f0 7000bb84: 2400d3e4 .word 0x2400d3e4 7000bb88 : void vListInitialise( List_t * const pxList ) { /* The list structure contains a list item which is used to mark the * end of the list. To initialise the list the list end is inserted * as the only list entry. */ pxList->pxIndex = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */ 7000bb88: f100 0308 add.w r3, r0, #8 listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE( &( pxList->xListEnd ) ); /* The list end value is the highest possible value in the list to * ensure it remains at the end of the list. */ pxList->xListEnd.xItemValue = portMAX_DELAY; 7000bb8c: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff pxList->pxIndex = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */ 7000bb90: 6043 str r3, [r0, #4] /* The list end next and previous pointers point to itself so we know * when the list is empty. */ pxList->xListEnd.pxNext = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */ pxList->xListEnd.pxPrevious = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */ 7000bb92: 6103 str r3, [r0, #16] pxList->xListEnd.pxNext = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */ 7000bb94: e9c0 2302 strd r2, r3, [r0, #8] pxList->xListEnd.pxContainer = NULL; listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE( &( pxList->xListEnd ) ); } #endif pxList->uxNumberOfItems = ( UBaseType_t ) 0U; 7000bb98: 2300 movs r3, #0 7000bb9a: 6003 str r3, [r0, #0] /* Write known values into the list if * configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */ listSET_LIST_INTEGRITY_CHECK_1_VALUE( pxList ); listSET_LIST_INTEGRITY_CHECK_2_VALUE( pxList ); } 7000bb9c: 4770 bx lr 7000bb9e : /*-----------------------------------------------------------*/ void vListInitialiseItem( ListItem_t * const pxItem ) { /* Make sure the list item is not recorded as being on a list. */ pxItem->pxContainer = NULL; 7000bb9e: 2300 movs r3, #0 7000bba0: 6103 str r3, [r0, #16] /* Write known values into the list item if * configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */ listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem ); listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem ); } 7000bba2: 4770 bx lr 7000bba4 : } /*-----------------------------------------------------------*/ void vListInsert( List_t * const pxList, ListItem_t * const pxNewListItem ) { 7000bba4: b530 push {r4, r5, lr} ListItem_t * pxIterator; const TickType_t xValueOfInsertion = pxNewListItem->xItemValue; 7000bba6: 680c ldr r4, [r1, #0] * new list item should be placed after it. This ensures that TCBs which are * stored in ready lists (all of which have the same xItemValue value) get a * share of the CPU. However, if the xItemValue is the same as the back marker * the iteration loop below will not end. Therefore the value is checked * first, and the algorithm slightly modified if necessary. */ if( xValueOfInsertion == portMAX_DELAY ) 7000bba8: 1c63 adds r3, r4, #1 7000bbaa: d10a bne.n 7000bbc2 { pxIterator = pxList->xListEnd.pxPrevious; 7000bbac: 6903 ldr r3, [r0, #16] /* There is nothing to do here, just iterating to the wanted * insertion position. */ } } pxNewListItem->pxNext = pxIterator->pxNext; 7000bbae: 685a ldr r2, [r3, #4] 7000bbb0: 604a str r2, [r1, #4] pxNewListItem->pxNext->pxPrevious = pxNewListItem; 7000bbb2: 6091 str r1, [r2, #8] pxNewListItem->pxPrevious = pxIterator; 7000bbb4: 608b str r3, [r1, #8] pxIterator->pxNext = pxNewListItem; 7000bbb6: 6059 str r1, [r3, #4] /* Remember which list the item is in. This allows fast removal of the * item later. */ pxNewListItem->pxContainer = pxList; ( pxList->uxNumberOfItems )++; 7000bbb8: 6803 ldr r3, [r0, #0] pxNewListItem->pxContainer = pxList; 7000bbba: 6108 str r0, [r1, #16] ( pxList->uxNumberOfItems )++; 7000bbbc: 3301 adds r3, #1 7000bbbe: 6003 str r3, [r0, #0] } 7000bbc0: bd30 pop {r4, r5, pc} for( pxIterator = ( ListItem_t * ) &( pxList->xListEnd ); pxIterator->pxNext->xItemValue <= xValueOfInsertion; pxIterator = pxIterator->pxNext ) /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. *//*lint !e440 The iterator moves to a different value, not xValueOfInsertion. */ 7000bbc2: f100 0208 add.w r2, r0, #8 7000bbc6: 4613 mov r3, r2 7000bbc8: 6852 ldr r2, [r2, #4] 7000bbca: 6815 ldr r5, [r2, #0] 7000bbcc: 42a5 cmp r5, r4 7000bbce: d9fa bls.n 7000bbc6 7000bbd0: e7ed b.n 7000bbae 7000bbd2 : UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove ) { /* The list item knows which list it is in. Obtain the list from the list * item. */ List_t * const pxList = pxItemToRemove->pxContainer; 7000bbd2: 6903 ldr r3, [r0, #16] pxItemToRemove->pxNext->pxPrevious = pxItemToRemove->pxPrevious; 7000bbd4: e9d0 1201 ldrd r1, r2, [r0, #4] 7000bbd8: 608a str r2, [r1, #8] pxItemToRemove->pxPrevious->pxNext = pxItemToRemove->pxNext; 7000bbda: 6051 str r1, [r2, #4] /* Only used during decision coverage testing. */ mtCOVERAGE_TEST_DELAY(); /* Make sure the index is left pointing to a valid item. */ if( pxList->pxIndex == pxItemToRemove ) 7000bbdc: 6859 ldr r1, [r3, #4] 7000bbde: 4281 cmp r1, r0 { pxList->pxIndex = pxItemToRemove->pxPrevious; 7000bbe0: bf08 it eq 7000bbe2: 605a streq r2, [r3, #4] else { mtCOVERAGE_TEST_MARKER(); } pxItemToRemove->pxContainer = NULL; 7000bbe4: 2200 movs r2, #0 7000bbe6: 6102 str r2, [r0, #16] ( pxList->uxNumberOfItems )--; 7000bbe8: 681a ldr r2, [r3, #0] 7000bbea: 3a01 subs r2, #1 7000bbec: 601a str r2, [r3, #0] return pxList->uxNumberOfItems; 7000bbee: 6818 ldr r0, [r3, #0] } 7000bbf0: 4770 bx lr ... 7000bbf4 : { /* Start the first task. This also clears the bit that indicates the FPU is * in use in case the FPU was used before the scheduler was started - which * would otherwise result in the unnecessary leaving of space in the SVC stack * for lazy saving of FPU registers. */ __asm volatile ( 7000bbf4: 4808 ldr r0, [pc, #32] @ (7000bc18 ) 7000bbf6: 6800 ldr r0, [r0, #0] 7000bbf8: 6800 ldr r0, [r0, #0] 7000bbfa: f380 8808 msr MSP, r0 7000bbfe: f04f 0000 mov.w r0, #0 7000bc02: f380 8814 msr CONTROL, r0 7000bc06: b662 cpsie i 7000bc08: b661 cpsie f 7000bc0a: f3bf 8f4f dsb sy 7000bc0e: f3bf 8f6f isb sy 7000bc12: df00 svc 0 7000bc14: bf00 nop 7000bc16: 0000 .short 0x0000 7000bc18: e000ed08 .word 0xe000ed08 7000bc1c : /*-----------------------------------------------------------*/ /* This is a naked function. */ static void vPortEnableVFP( void ) { __asm volatile 7000bc1c: f8df 000c ldr.w r0, [pc, #12] @ 7000bc2c 7000bc20: 6801 ldr r1, [r0, #0] 7000bc22: f441 0170 orr.w r1, r1, #15728640 @ 0xf00000 7000bc26: 6001 str r1, [r0, #0] 7000bc28: 4770 bx lr 7000bc2a: 0000 .short 0x0000 7000bc2c: e000ed88 .word 0xe000ed88 7000bc30 : volatile uint32_t ulDummy = 0; 7000bc30: 2300 movs r3, #0 { 7000bc32: b082 sub sp, #8 volatile uint32_t ulDummy = 0; 7000bc34: 9301 str r3, [sp, #4] configASSERT( uxCriticalNesting == ~0UL ); 7000bc36: 4b0d ldr r3, [pc, #52] @ (7000bc6c ) 7000bc38: 681b ldr r3, [r3, #0] 7000bc3a: 3301 adds r3, #1 7000bc3c: d008 beq.n 7000bc50 7000bc3e: f04f 0350 mov.w r3, #80 @ 0x50 7000bc42: f383 8811 msr BASEPRI, r3 7000bc46: f3bf 8f6f isb sy 7000bc4a: f3bf 8f4f dsb sy 7000bc4e: e7fe b.n 7000bc4e 7000bc50: f04f 0350 mov.w r3, #80 @ 0x50 7000bc54: f383 8811 msr BASEPRI, r3 7000bc58: f3bf 8f6f isb sy 7000bc5c: f3bf 8f4f dsb sy while( ulDummy == 0 ) 7000bc60: 9b01 ldr r3, [sp, #4] 7000bc62: 2b00 cmp r3, #0 7000bc64: d0fc beq.n 7000bc60 } 7000bc66: b002 add sp, #8 7000bc68: 4770 bx lr 7000bc6a: bf00 nop 7000bc6c: 24000104 .word 0x24000104 7000bc70 : *pxTopOfStack = portINITIAL_XPSR; /* xPSR */ 7000bc70: f04f 7380 mov.w r3, #16777216 @ 0x1000000 *pxTopOfStack = ( ( StackType_t ) pxCode ) & portSTART_ADDRESS_MASK; /* PC */ 7000bc74: f021 0101 bic.w r1, r1, #1 *pxTopOfStack = ( StackType_t ) pvParameters; /* R0 */ 7000bc78: f840 2c20 str.w r2, [r0, #-32] } 7000bc7c: 3844 subs r0, #68 @ 0x44 *pxTopOfStack = portINITIAL_XPSR; /* xPSR */ 7000bc7e: 6403 str r3, [r0, #64] @ 0x40 *pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS; /* LR */ 7000bc80: 4b03 ldr r3, [pc, #12] @ (7000bc90 ) *pxTopOfStack = ( ( StackType_t ) pxCode ) & portSTART_ADDRESS_MASK; /* PC */ 7000bc82: 63c1 str r1, [r0, #60] @ 0x3c *pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS; /* LR */ 7000bc84: 6383 str r3, [r0, #56] @ 0x38 *pxTopOfStack = portINITIAL_EXC_RETURN; 7000bc86: f06f 0302 mvn.w r3, #2 7000bc8a: 6203 str r3, [r0, #32] } 7000bc8c: 4770 bx lr 7000bc8e: bf00 nop 7000bc90: 7000bc31 .word 0x7000bc31 ... 7000bca0 : __asm volatile ( 7000bca0: 4b07 ldr r3, [pc, #28] @ (7000bcc0 ) 7000bca2: 6819 ldr r1, [r3, #0] 7000bca4: 6808 ldr r0, [r1, #0] 7000bca6: e8b0 4ff0 ldmia.w r0!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000bcaa: f380 8809 msr PSP, r0 7000bcae: f3bf 8f6f isb sy 7000bcb2: f04f 0000 mov.w r0, #0 7000bcb6: f380 8811 msr BASEPRI, r0 7000bcba: 4770 bx lr 7000bcbc: f3af 8000 nop.w 7000bcc0 : 7000bcc0: 2400d940 .word 0x2400d940 7000bcc4 : 7000bcc4: f04f 0350 mov.w r3, #80 @ 0x50 7000bcc8: f383 8811 msr BASEPRI, r3 7000bccc: f3bf 8f6f isb sy 7000bcd0: f3bf 8f4f dsb sy uxCriticalNesting++; 7000bcd4: 4a0a ldr r2, [pc, #40] @ (7000bd00 ) 7000bcd6: 6813 ldr r3, [r2, #0] 7000bcd8: 3301 adds r3, #1 if( uxCriticalNesting == 1 ) 7000bcda: 2b01 cmp r3, #1 uxCriticalNesting++; 7000bcdc: 6013 str r3, [r2, #0] if( uxCriticalNesting == 1 ) 7000bcde: d10e bne.n 7000bcfe configASSERT( ( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0 ); 7000bce0: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000bce4: f8d3 3d04 ldr.w r3, [r3, #3332] @ 0xd04 7000bce8: b2db uxtb r3, r3 7000bcea: b143 cbz r3, 7000bcfe 7000bcec: f04f 0350 mov.w r3, #80 @ 0x50 7000bcf0: f383 8811 msr BASEPRI, r3 7000bcf4: f3bf 8f6f isb sy 7000bcf8: f3bf 8f4f dsb sy 7000bcfc: e7fe b.n 7000bcfc } 7000bcfe: 4770 bx lr 7000bd00: 24000104 .word 0x24000104 7000bd04 : configASSERT( uxCriticalNesting ); 7000bd04: 4a08 ldr r2, [pc, #32] @ (7000bd28 ) 7000bd06: 6813 ldr r3, [r2, #0] 7000bd08: b943 cbnz r3, 7000bd1c 7000bd0a: f04f 0350 mov.w r3, #80 @ 0x50 7000bd0e: f383 8811 msr BASEPRI, r3 7000bd12: f3bf 8f6f isb sy 7000bd16: f3bf 8f4f dsb sy 7000bd1a: e7fe b.n 7000bd1a uxCriticalNesting--; 7000bd1c: 3b01 subs r3, #1 7000bd1e: 6013 str r3, [r2, #0] if( uxCriticalNesting == 0 ) 7000bd20: b90b cbnz r3, 7000bd26 } /*-----------------------------------------------------------*/ portFORCE_INLINE static void vPortSetBASEPRI( uint32_t ulNewMaskValue ) { __asm volatile 7000bd22: f383 8811 msr BASEPRI, r3 } 7000bd26: 4770 bx lr 7000bd28: 24000104 .word 0x24000104 7000bd2c: 00000000 .word 0x00000000 7000bd30 : __asm volatile 7000bd30: f3ef 8009 mrs r0, PSP 7000bd34: f3bf 8f6f isb sy 7000bd38: 4b15 ldr r3, [pc, #84] @ (7000bd90 ) 7000bd3a: 681a ldr r2, [r3, #0] 7000bd3c: f01e 0f10 tst.w lr, #16 7000bd40: bf08 it eq 7000bd42: ed20 8a10 vstmdbeq r0!, {s16-s31} 7000bd46: e920 4ff0 stmdb r0!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000bd4a: 6010 str r0, [r2, #0] 7000bd4c: b409 push {r0, r3} 7000bd4e: f04f 0050 mov.w r0, #80 @ 0x50 7000bd52: f380 8811 msr BASEPRI, r0 7000bd56: f3bf 8f4f dsb sy 7000bd5a: f3bf 8f6f isb sy 7000bd5e: f001 fa4b bl 7000d1f8 7000bd62: f04f 0000 mov.w r0, #0 7000bd66: f380 8811 msr BASEPRI, r0 7000bd6a: bc09 pop {r0, r3} 7000bd6c: 6819 ldr r1, [r3, #0] 7000bd6e: 6808 ldr r0, [r1, #0] 7000bd70: e8b0 4ff0 ldmia.w r0!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000bd74: f01e 0f10 tst.w lr, #16 7000bd78: bf08 it eq 7000bd7a: ecb0 8a10 vldmiaeq r0!, {s16-s31} 7000bd7e: f380 8809 msr PSP, r0 7000bd82: f3bf 8f6f isb sy 7000bd86: 4770 bx lr 7000bd88: f3af 8000 nop.w 7000bd8c: f3af 8000 nop.w 7000bd90 : 7000bd90: 2400d940 .word 0x2400d940 7000bd94 : { 7000bd94: b508 push {r3, lr} __asm volatile 7000bd96: f04f 0350 mov.w r3, #80 @ 0x50 7000bd9a: f383 8811 msr BASEPRI, r3 7000bd9e: f3bf 8f6f isb sy 7000bda2: f3bf 8f4f dsb sy if( xTaskIncrementTick() != pdFALSE ) 7000bda6: f001 f817 bl 7000cdd8 7000bdaa: b128 cbz r0, 7000bdb8 portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; 7000bdac: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000bdb0: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000bdb4: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 __asm volatile 7000bdb8: 2300 movs r3, #0 7000bdba: f383 8811 msr BASEPRI, r3 } 7000bdbe: bd08 pop {r3, pc} 7000bdc0 : portNVIC_SYSTICK_CTRL_REG = 0UL; 7000bdc0: f04f 22e0 mov.w r2, #3758153728 @ 0xe000e000 7000bdc4: 2300 movs r3, #0 portNVIC_SYSTICK_LOAD_REG = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL; 7000bdc6: f44f 717a mov.w r1, #1000 @ 0x3e8 portNVIC_SYSTICK_CTRL_REG = 0UL; 7000bdca: 6113 str r3, [r2, #16] portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL; 7000bdcc: 6193 str r3, [r2, #24] portNVIC_SYSTICK_LOAD_REG = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL; 7000bdce: 4b04 ldr r3, [pc, #16] @ (7000bde0 ) 7000bdd0: 681b ldr r3, [r3, #0] 7000bdd2: fbb3 f3f1 udiv r3, r3, r1 7000bdd6: 3b01 subs r3, #1 7000bdd8: 6153 str r3, [r2, #20] portNVIC_SYSTICK_CTRL_REG = ( portNVIC_SYSTICK_CLK_BIT_CONFIG | portNVIC_SYSTICK_INT_BIT | portNVIC_SYSTICK_ENABLE_BIT ); 7000bdda: 2307 movs r3, #7 7000bddc: 6113 str r3, [r2, #16] } 7000bdde: 4770 bx lr 7000bde0: 24000054 .word 0x24000054 7000bde4 : configASSERT( portCPUID != portCORTEX_M7_r0p1_ID ); 7000bde4: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 { 7000bde8: b537 push {r0, r1, r2, r4, r5, lr} configASSERT( portCPUID != portCORTEX_M7_r0p1_ID ); 7000bdea: f8d3 1d00 ldr.w r1, [r3, #3328] @ 0xd00 7000bdee: 4a44 ldr r2, [pc, #272] @ (7000bf00 ) 7000bdf0: 4291 cmp r1, r2 7000bdf2: d108 bne.n 7000be06 __asm volatile 7000bdf4: f04f 0350 mov.w r3, #80 @ 0x50 7000bdf8: f383 8811 msr BASEPRI, r3 7000bdfc: f3bf 8f6f isb sy 7000be00: f3bf 8f4f dsb sy 7000be04: e7fe b.n 7000be04 configASSERT( portCPUID != portCORTEX_M7_r0p0_ID ); 7000be06: f8d3 2d00 ldr.w r2, [r3, #3328] @ 0xd00 7000be0a: 4b3e ldr r3, [pc, #248] @ (7000bf04 ) 7000be0c: 429a cmp r2, r3 7000be0e: d108 bne.n 7000be22 7000be10: f04f 0350 mov.w r3, #80 @ 0x50 7000be14: f383 8811 msr BASEPRI, r3 7000be18: f3bf 8f6f isb sy 7000be1c: f3bf 8f4f dsb sy 7000be20: e7fe b.n 7000be20 volatile uint32_t ulImplementedPrioBits = 0; 7000be22: 2300 movs r3, #0 7000be24: 9301 str r3, [sp, #4] ucOriginalPriority = *pucFirstUserPriorityRegister; 7000be26: 4b38 ldr r3, [pc, #224] @ (7000bf08 ) 7000be28: 781a ldrb r2, [r3, #0] 7000be2a: b2d2 uxtb r2, r2 7000be2c: f88d 2002 strb.w r2, [sp, #2] *pucFirstUserPriorityRegister = portMAX_8_BIT_VALUE; 7000be30: 22ff movs r2, #255 @ 0xff 7000be32: 701a strb r2, [r3, #0] ucMaxPriorityValue = *pucFirstUserPriorityRegister; 7000be34: 781b ldrb r3, [r3, #0] ucMaxSysCallPriority = configMAX_SYSCALL_INTERRUPT_PRIORITY & ucMaxPriorityValue; 7000be36: 4a35 ldr r2, [pc, #212] @ (7000bf0c ) ucMaxPriorityValue = *pucFirstUserPriorityRegister; 7000be38: b2db uxtb r3, r3 7000be3a: f88d 3003 strb.w r3, [sp, #3] ucMaxSysCallPriority = configMAX_SYSCALL_INTERRUPT_PRIORITY & ucMaxPriorityValue; 7000be3e: f89d 3003 ldrb.w r3, [sp, #3] 7000be42: f003 0350 and.w r3, r3, #80 @ 0x50 7000be46: 7013 strb r3, [r2, #0] configASSERT( ucMaxSysCallPriority ); 7000be48: b943 cbnz r3, 7000be5c 7000be4a: f04f 0350 mov.w r3, #80 @ 0x50 7000be4e: f383 8811 msr BASEPRI, r3 7000be52: f3bf 8f6f isb sy 7000be56: f3bf 8f4f dsb sy 7000be5a: e7fe b.n 7000be5a configASSERT( ( configMAX_SYSCALL_INTERRUPT_PRIORITY & ( ~ucMaxPriorityValue ) ) == 0U ); 7000be5c: f89d 3003 ldrb.w r3, [sp, #3] 7000be60: 43db mvns r3, r3 7000be62: f013 0f50 tst.w r3, #80 @ 0x50 7000be66: d010 beq.n 7000be8a 7000be68: f04f 0350 mov.w r3, #80 @ 0x50 7000be6c: f383 8811 msr BASEPRI, r3 7000be70: f3bf 8f6f isb sy 7000be74: f3bf 8f4f dsb sy 7000be78: e7fe b.n 7000be78 ulImplementedPrioBits++; 7000be7a: 3301 adds r3, #1 7000be7c: 9301 str r3, [sp, #4] ucMaxPriorityValue <<= ( uint8_t ) 0x01; 7000be7e: f89d 3003 ldrb.w r3, [sp, #3] 7000be82: 005b lsls r3, r3, #1 7000be84: b2db uxtb r3, r3 7000be86: f88d 3003 strb.w r3, [sp, #3] while( ( ucMaxPriorityValue & portTOP_BIT_OF_BYTE ) == portTOP_BIT_OF_BYTE ) 7000be8a: f89d 3003 ldrb.w r3, [sp, #3] 7000be8e: f013 0f80 tst.w r3, #128 @ 0x80 ulImplementedPrioBits++; 7000be92: 9b01 ldr r3, [sp, #4] while( ( ucMaxPriorityValue & portTOP_BIT_OF_BYTE ) == portTOP_BIT_OF_BYTE ) 7000be94: d1f1 bne.n 7000be7a if( ulImplementedPrioBits == 8 ) 7000be96: 2b08 cmp r3, #8 7000be98: d030 beq.n 7000befc ulMaxPRIGROUPValue = portMAX_PRIGROUP_BITS - ulImplementedPrioBits; 7000be9a: 9b01 ldr r3, [sp, #4] 7000be9c: f1c3 0307 rsb r3, r3, #7 ulMaxPRIGROUPValue <<= portPRIGROUP_SHIFT; 7000bea0: 021b lsls r3, r3, #8 ulMaxPRIGROUPValue &= portPRIORITY_GROUP_MASK; 7000bea2: 4a1b ldr r2, [pc, #108] @ (7000bf10 ) portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI; 7000bea4: f04f 24e0 mov.w r4, #3758153728 @ 0xe000e000 uxCriticalNesting = 0; 7000bea8: 2500 movs r5, #0 ulMaxPRIGROUPValue &= portPRIORITY_GROUP_MASK; 7000beaa: f403 63e0 and.w r3, r3, #1792 @ 0x700 7000beae: 6013 str r3, [r2, #0] *pucFirstUserPriorityRegister = ucOriginalPriority; 7000beb0: f89d 3002 ldrb.w r3, [sp, #2] 7000beb4: 4a14 ldr r2, [pc, #80] @ (7000bf08 ) 7000beb6: b2db uxtb r3, r3 7000beb8: 7013 strb r3, [r2, #0] portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI; 7000beba: f8d4 3d20 ldr.w r3, [r4, #3360] @ 0xd20 7000bebe: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 7000bec2: f8c4 3d20 str.w r3, [r4, #3360] @ 0xd20 portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI; 7000bec6: f8d4 3d20 ldr.w r3, [r4, #3360] @ 0xd20 7000beca: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 7000bece: f8c4 3d20 str.w r3, [r4, #3360] @ 0xd20 vPortSetupTimerInterrupt(); 7000bed2: f7ff ff75 bl 7000bdc0 uxCriticalNesting = 0; 7000bed6: 4b0f ldr r3, [pc, #60] @ (7000bf14 ) 7000bed8: 601d str r5, [r3, #0] vPortEnableVFP(); 7000beda: f7ff fe9f bl 7000bc1c *( portFPCCR ) |= portASPEN_AND_LSPEN_BITS; 7000bede: f8d4 3f34 ldr.w r3, [r4, #3892] @ 0xf34 7000bee2: f043 4340 orr.w r3, r3, #3221225472 @ 0xc0000000 7000bee6: f8c4 3f34 str.w r3, [r4, #3892] @ 0xf34 prvPortStartFirstTask(); 7000beea: f7ff fe83 bl 7000bbf4 vTaskSwitchContext(); 7000beee: f001 f983 bl 7000d1f8 } 7000bef2: 4628 mov r0, r5 prvTaskExitError(); 7000bef4: f7ff fe9c bl 7000bc30 } 7000bef8: b003 add sp, #12 7000befa: bd30 pop {r4, r5, pc} ulMaxPRIGROUPValue = 0; 7000befc: 2300 movs r3, #0 7000befe: e7cf b.n 7000bea0 7000bf00: 410fc271 .word 0x410fc271 7000bf04: 410fc270 .word 0x410fc270 7000bf08: e000e400 .word 0xe000e400 7000bf0c: 2400d404 .word 0x2400d404 7000bf10: 2400d400 .word 0x2400d400 7000bf14: 24000104 .word 0x24000104 7000bf18 : { uint32_t ulCurrentInterrupt; uint8_t ucCurrentPriority; /* Obtain the number of the currently executing interrupt. */ __asm volatile ( "mrs %0, ipsr" : "=r" ( ulCurrentInterrupt )::"memory" ); 7000bf18: f3ef 8305 mrs r3, IPSR /* Is the interrupt number a user defined interrupt? */ if( ulCurrentInterrupt >= portFIRST_USER_INTERRUPT_NUMBER ) 7000bf1c: 2b0f cmp r3, #15 7000bf1e: d90e bls.n 7000bf3e { /* Look up the interrupt's priority. */ ucCurrentPriority = pcInterruptPriorityRegisters[ ulCurrentInterrupt ]; 7000bf20: 4a11 ldr r2, [pc, #68] @ (7000bf68 ) 7000bf22: 5c9b ldrb r3, [r3, r2] * interrupt entry is as fast and simple as possible. * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html * https://www.FreeRTOS.org/FAQHelp.html */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); 7000bf24: 4a11 ldr r2, [pc, #68] @ (7000bf6c ) 7000bf26: 7812 ldrb r2, [r2, #0] 7000bf28: 429a cmp r2, r3 7000bf2a: d908 bls.n 7000bf3e 7000bf2c: f04f 0350 mov.w r3, #80 @ 0x50 7000bf30: f383 8811 msr BASEPRI, r3 7000bf34: f3bf 8f6f isb sy 7000bf38: f3bf 8f4f dsb sy 7000bf3c: e7fe b.n 7000bf3c * configuration then the correct setting can be achieved on all Cortex-M * devices by calling NVIC_SetPriorityGrouping( 0 ); before starting the * scheduler. Note however that some vendor specific peripheral libraries * assume a non-zero priority group setting, in which cases using a value * of zero will result in unpredictable behaviour. */ configASSERT( ( portAIRCR_REG & portPRIORITY_GROUP_MASK ) <= ulMaxPRIGROUPValue ); 7000bf3e: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000bf42: 4a0b ldr r2, [pc, #44] @ (7000bf70 ) 7000bf44: f8d3 3d0c ldr.w r3, [r3, #3340] @ 0xd0c 7000bf48: 6812 ldr r2, [r2, #0] 7000bf4a: f403 63e0 and.w r3, r3, #1792 @ 0x700 7000bf4e: 4293 cmp r3, r2 7000bf50: d908 bls.n 7000bf64 7000bf52: f04f 0350 mov.w r3, #80 @ 0x50 7000bf56: f383 8811 msr BASEPRI, r3 7000bf5a: f3bf 8f6f isb sy 7000bf5e: f3bf 8f4f dsb sy 7000bf62: e7fe b.n 7000bf62 } 7000bf64: 4770 bx lr 7000bf66: bf00 nop 7000bf68: e000e3f0 .word 0xe000e3f0 7000bf6c: 2400d404 .word 0x2400d404 7000bf70: 2400d400 .word 0x2400d400 7000bf74 : taskEXIT_CRITICAL(); } /*-----------------------------------------------------------*/ static BaseType_t prvIsQueueEmpty( const Queue_t * pxQueue ) { 7000bf74: b510 push {r4, lr} 7000bf76: 4604 mov r4, r0 BaseType_t xReturn; taskENTER_CRITICAL(); 7000bf78: f7ff fea4 bl 7000bcc4 { if( pxQueue->uxMessagesWaiting == ( UBaseType_t ) 0 ) 7000bf7c: 6ba4 ldr r4, [r4, #56] @ 0x38 else { xReturn = pdFALSE; } } taskEXIT_CRITICAL(); 7000bf7e: f7ff fec1 bl 7000bd04 return xReturn; } 7000bf82: fab4 f084 clz r0, r4 7000bf86: 0940 lsrs r0, r0, #5 7000bf88: bd10 pop {r4, pc} 7000bf8a : { 7000bf8a: b570 push {r4, r5, r6, lr} 7000bf8c: 4616 mov r6, r2 if( pxQueue->uxItemSize == ( UBaseType_t ) 0 ) 7000bf8e: 6c02 ldr r2, [r0, #64] @ 0x40 { 7000bf90: 4604 mov r4, r0 uxMessagesWaiting = pxQueue->uxMessagesWaiting; 7000bf92: 6b85 ldr r5, [r0, #56] @ 0x38 if( pxQueue->uxItemSize == ( UBaseType_t ) 0 ) 7000bf94: b942 cbnz r2, 7000bfa8 if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) 7000bf96: 6806 ldr r6, [r0, #0] 7000bf98: b99e cbnz r6, 7000bfc2 xReturn = xTaskPriorityDisinherit( pxQueue->u.xSemaphore.xMutexHolder ); 7000bf9a: 6880 ldr r0, [r0, #8] 7000bf9c: f001 fac6 bl 7000d52c pxQueue->u.xSemaphore.xMutexHolder = NULL; 7000bfa0: 60a6 str r6, [r4, #8] pxQueue->uxMessagesWaiting = uxMessagesWaiting + ( UBaseType_t ) 1; 7000bfa2: 3501 adds r5, #1 7000bfa4: 63a5 str r5, [r4, #56] @ 0x38 } 7000bfa6: bd70 pop {r4, r5, r6, pc} else if( xPosition == queueSEND_TO_BACK ) 7000bfa8: b96e cbnz r6, 7000bfc6 ( void ) memcpy( ( void * ) pxQueue->pcWriteTo, pvItemToQueue, ( size_t ) pxQueue->uxItemSize ); /*lint !e961 !e418 !e9087 MISRA exception as the casts are only redundant for some ports, plus previous logic ensures a null pointer can only be passed to memcpy() if the copy size is 0. Cast to void required by function signature and safe as no alignment requirement and copy length specified in bytes. */ 7000bfaa: 6840 ldr r0, [r0, #4] 7000bfac: f02f fa7e bl 7003b4ac pxQueue->pcWriteTo += pxQueue->uxItemSize; /*lint !e9016 Pointer arithmetic on char types ok, especially in this use case where it is the clearest way of conveying intent. */ 7000bfb0: 6863 ldr r3, [r4, #4] 7000bfb2: 6c22 ldr r2, [r4, #64] @ 0x40 7000bfb4: 4413 add r3, r2 if( pxQueue->pcWriteTo >= pxQueue->u.xQueue.pcTail ) /*lint !e946 MISRA exception justified as comparison of pointers is the cleanest solution. */ 7000bfb6: 68a2 ldr r2, [r4, #8] 7000bfb8: 4293 cmp r3, r2 pxQueue->pcWriteTo += pxQueue->uxItemSize; /*lint !e9016 Pointer arithmetic on char types ok, especially in this use case where it is the clearest way of conveying intent. */ 7000bfba: 6063 str r3, [r4, #4] pxQueue->pcWriteTo = pxQueue->pcHead; 7000bfbc: bf24 itt cs 7000bfbe: 6823 ldrcs r3, [r4, #0] 7000bfc0: 6063 strcs r3, [r4, #4] BaseType_t xReturn = pdFALSE; 7000bfc2: 2000 movs r0, #0 7000bfc4: e7ed b.n 7000bfa2 ( void ) memcpy( ( void * ) pxQueue->u.xQueue.pcReadFrom, pvItemToQueue, ( size_t ) pxQueue->uxItemSize ); /*lint !e961 !e9087 !e418 MISRA exception as the casts are only redundant for some ports. Cast to void required by function signature and safe as no alignment requirement and copy length specified in bytes. Assert checks null pointer only used when length is 0. */ 7000bfc6: 68c0 ldr r0, [r0, #12] 7000bfc8: f02f fa70 bl 7003b4ac pxQueue->u.xQueue.pcReadFrom -= pxQueue->uxItemSize; 7000bfcc: 6c22 ldr r2, [r4, #64] @ 0x40 7000bfce: 68e3 ldr r3, [r4, #12] 7000bfd0: 4251 negs r1, r2 7000bfd2: 1a9b subs r3, r3, r2 if( pxQueue->u.xQueue.pcReadFrom < pxQueue->pcHead ) /*lint !e946 MISRA exception justified as comparison of pointers is the cleanest solution. */ 7000bfd4: 6822 ldr r2, [r4, #0] 7000bfd6: 4293 cmp r3, r2 pxQueue->u.xQueue.pcReadFrom -= pxQueue->uxItemSize; 7000bfd8: 60e3 str r3, [r4, #12] pxQueue->u.xQueue.pcReadFrom = ( pxQueue->u.xQueue.pcTail - pxQueue->uxItemSize ); 7000bfda: bf3e ittt cc 7000bfdc: 68a3 ldrcc r3, [r4, #8] 7000bfde: 185b addcc r3, r3, r1 7000bfe0: 60e3 strcc r3, [r4, #12] if( xPosition == queueOVERWRITE ) 7000bfe2: 2e02 cmp r6, #2 7000bfe4: d1ed bne.n 7000bfc2 if( uxMessagesWaiting > ( UBaseType_t ) 0 ) 7000bfe6: b10d cbz r5, 7000bfec --uxMessagesWaiting; 7000bfe8: 3d01 subs r5, #1 7000bfea: e7ea b.n 7000bfc2 BaseType_t xReturn = pdFALSE; 7000bfec: 4628 mov r0, r5 7000bfee: e7d8 b.n 7000bfa2 7000bff0 : { 7000bff0: 4603 mov r3, r0 7000bff2: 4608 mov r0, r1 if( pxQueue->uxItemSize != ( UBaseType_t ) 0 ) 7000bff4: 6c1a ldr r2, [r3, #64] @ 0x40 { 7000bff6: b410 push {r4} if( pxQueue->uxItemSize != ( UBaseType_t ) 0 ) 7000bff8: b15a cbz r2, 7000c012 pxQueue->u.xQueue.pcReadFrom += pxQueue->uxItemSize; /*lint !e9016 Pointer arithmetic on char types ok, especially in this use case where it is the clearest way of conveying intent. */ 7000bffa: 68dc ldr r4, [r3, #12] 7000bffc: 18a1 adds r1, r4, r2 if( pxQueue->u.xQueue.pcReadFrom >= pxQueue->u.xQueue.pcTail ) /*lint !e946 MISRA exception justified as use of the relational operator is the cleanest solutions. */ 7000bffe: 689c ldr r4, [r3, #8] 7000c000: 42a1 cmp r1, r4 pxQueue->u.xQueue.pcReadFrom += pxQueue->uxItemSize; /*lint !e9016 Pointer arithmetic on char types ok, especially in this use case where it is the clearest way of conveying intent. */ 7000c002: 60d9 str r1, [r3, #12] } 7000c004: f85d 4b04 ldr.w r4, [sp], #4 pxQueue->u.xQueue.pcReadFrom = pxQueue->pcHead; 7000c008: bf24 itt cs 7000c00a: 6819 ldrcs r1, [r3, #0] 7000c00c: 60d9 strcs r1, [r3, #12] ( void ) memcpy( ( void * ) pvBuffer, ( void * ) pxQueue->u.xQueue.pcReadFrom, ( size_t ) pxQueue->uxItemSize ); /*lint !e961 !e418 !e9087 MISRA exception as the casts are only redundant for some ports. Also previous logic ensures a null pointer can only be passed to memcpy() when the count is 0. Cast to void required by function signature and safe as no alignment requirement and copy length specified in bytes. */ 7000c00e: f02f ba4d b.w 7003b4ac } 7000c012: f85d 4b04 ldr.w r4, [sp], #4 7000c016: 4770 bx lr 7000c018 : { 7000c018: b570 push {r4, r5, r6, lr} 7000c01a: 4604 mov r4, r0 taskENTER_CRITICAL(); 7000c01c: f7ff fe52 bl 7000bcc4 int8_t cTxLock = pxQueue->cTxLock; 7000c020: f894 5045 ldrb.w r5, [r4, #69] @ 0x45 if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) 7000c024: f104 0624 add.w r6, r4, #36 @ 0x24 int8_t cTxLock = pxQueue->cTxLock; 7000c028: b26d sxtb r5, r5 while( cTxLock > queueLOCKED_UNMODIFIED ) 7000c02a: 2d00 cmp r5, #0 7000c02c: dd01 ble.n 7000c032 if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE ) 7000c02e: 6a63 ldr r3, [r4, #36] @ 0x24 7000c030: b9b3 cbnz r3, 7000c060 pxQueue->cTxLock = queueUNLOCKED; 7000c032: 23ff movs r3, #255 @ 0xff if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) 7000c034: f104 0610 add.w r6, r4, #16 pxQueue->cTxLock = queueUNLOCKED; 7000c038: f884 3045 strb.w r3, [r4, #69] @ 0x45 taskEXIT_CRITICAL(); 7000c03c: f7ff fe62 bl 7000bd04 taskENTER_CRITICAL(); 7000c040: f7ff fe40 bl 7000bcc4 int8_t cRxLock = pxQueue->cRxLock; 7000c044: f894 5044 ldrb.w r5, [r4, #68] @ 0x44 7000c048: b26d sxtb r5, r5 while( cRxLock > queueLOCKED_UNMODIFIED ) 7000c04a: 2d00 cmp r5, #0 7000c04c: dd01 ble.n 7000c052 if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) 7000c04e: 6923 ldr r3, [r4, #16] 7000c050: b97b cbnz r3, 7000c072 pxQueue->cRxLock = queueUNLOCKED; 7000c052: 23ff movs r3, #255 @ 0xff 7000c054: f884 3044 strb.w r3, [r4, #68] @ 0x44 } 7000c058: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} taskEXIT_CRITICAL(); 7000c05c: f7ff be52 b.w 7000bd04 if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) 7000c060: 4630 mov r0, r6 7000c062: f001 f955 bl 7000d310 7000c066: b108 cbz r0, 7000c06c vTaskMissedYield(); 7000c068: f001 fa04 bl 7000d474 --cTxLock; 7000c06c: 3d01 subs r5, #1 7000c06e: b26d sxtb r5, r5 7000c070: e7db b.n 7000c02a if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) 7000c072: 4630 mov r0, r6 7000c074: f001 f94c bl 7000d310 7000c078: b108 cbz r0, 7000c07e vTaskMissedYield(); 7000c07a: f001 f9fb bl 7000d474 --cRxLock; 7000c07e: 3d01 subs r5, #1 7000c080: b26d sxtb r5, r5 7000c082: e7e2 b.n 7000c04a 7000c084 : { 7000c084: b570 push {r4, r5, r6, lr} 7000c086: 460e mov r6, r1 configASSERT( pxQueue ); 7000c088: 4604 mov r4, r0 7000c08a: b940 cbnz r0, 7000c09e 7000c08c: f04f 0350 mov.w r3, #80 @ 0x50 7000c090: f383 8811 msr BASEPRI, r3 7000c094: f3bf 8f6f isb sy 7000c098: f3bf 8f4f dsb sy 7000c09c: e7fe b.n 7000c09c ( pxQueue->uxLength >= 1U ) && 7000c09e: 6bc5 ldr r5, [r0, #60] @ 0x3c if( ( pxQueue != NULL ) && 7000c0a0: b3a5 cbz r5, 7000c10c ( ( SIZE_MAX / pxQueue->uxLength ) >= pxQueue->uxItemSize ) ) 7000c0a2: 6c03 ldr r3, [r0, #64] @ 0x40 7000c0a4: fba3 3505 umull r3, r5, r3, r5 7000c0a8: bb85 cbnz r5, 7000c10c taskENTER_CRITICAL(); 7000c0aa: f7ff fe0b bl 7000bcc4 pxQueue->u.xQueue.pcTail = pxQueue->pcHead + ( pxQueue->uxLength * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ 7000c0ae: 6822 ldr r2, [r4, #0] pxQueue->uxMessagesWaiting = ( UBaseType_t ) 0U; 7000c0b0: 63a5 str r5, [r4, #56] @ 0x38 pxQueue->pcWriteTo = pxQueue->pcHead; 7000c0b2: 6062 str r2, [r4, #4] pxQueue->u.xQueue.pcTail = pxQueue->pcHead + ( pxQueue->uxLength * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ 7000c0b4: e9d4 310f ldrd r3, r1, [r4, #60] @ 0x3c 7000c0b8: 434b muls r3, r1 7000c0ba: 18d0 adds r0, r2, r3 pxQueue->u.xQueue.pcReadFrom = pxQueue->pcHead + ( ( pxQueue->uxLength - 1U ) * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ 7000c0bc: 1a5b subs r3, r3, r1 7000c0be: 441a add r2, r3 pxQueue->cRxLock = queueUNLOCKED; 7000c0c0: 23ff movs r3, #255 @ 0xff pxQueue->u.xQueue.pcTail = pxQueue->pcHead + ( pxQueue->uxLength * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ 7000c0c2: 60a0 str r0, [r4, #8] pxQueue->cRxLock = queueUNLOCKED; 7000c0c4: f884 3044 strb.w r3, [r4, #68] @ 0x44 pxQueue->u.xQueue.pcReadFrom = pxQueue->pcHead + ( ( pxQueue->uxLength - 1U ) * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ 7000c0c8: 60e2 str r2, [r4, #12] pxQueue->cTxLock = queueUNLOCKED; 7000c0ca: f884 3045 strb.w r3, [r4, #69] @ 0x45 if( xNewQueue == pdFALSE ) 7000c0ce: b9a6 cbnz r6, 7000c0fa if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) 7000c0d0: 6923 ldr r3, [r4, #16] 7000c0d2: b173 cbz r3, 7000c0f2 if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) 7000c0d4: f104 0010 add.w r0, r4, #16 7000c0d8: f001 f91a bl 7000d310 7000c0dc: b148 cbz r0, 7000c0f2 queueYIELD_IF_USING_PREEMPTION(); 7000c0de: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000c0e2: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000c0e6: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000c0ea: f3bf 8f4f dsb sy 7000c0ee: f3bf 8f6f isb sy taskEXIT_CRITICAL(); 7000c0f2: f7ff fe07 bl 7000bd04 } 7000c0f6: 2001 movs r0, #1 7000c0f8: bd70 pop {r4, r5, r6, pc} vListInitialise( &( pxQueue->xTasksWaitingToSend ) ); 7000c0fa: f104 0010 add.w r0, r4, #16 7000c0fe: f7ff fd43 bl 7000bb88 vListInitialise( &( pxQueue->xTasksWaitingToReceive ) ); 7000c102: f104 0024 add.w r0, r4, #36 @ 0x24 7000c106: f7ff fd3f bl 7000bb88 7000c10a: e7f2 b.n 7000c0f2 7000c10c: f04f 0350 mov.w r3, #80 @ 0x50 7000c110: f383 8811 msr BASEPRI, r3 7000c114: f3bf 8f6f isb sy 7000c118: f3bf 8f4f dsb sy configASSERT( xReturn != pdFAIL ); 7000c11c: e7fe b.n 7000c11c 7000c11e : { 7000c11e: b537 push {r0, r1, r2, r4, r5, lr} 7000c120: 460d mov r5, r1 configASSERT( pxStaticQueue ); 7000c122: 461c mov r4, r3 7000c124: b943 cbnz r3, 7000c138 7000c126: f04f 0350 mov.w r3, #80 @ 0x50 7000c12a: f383 8811 msr BASEPRI, r3 7000c12e: f3bf 8f6f isb sy 7000c132: f3bf 8f4f dsb sy 7000c136: e7fe b.n 7000c136 if( ( uxQueueLength > ( UBaseType_t ) 0 ) && 7000c138: b108 cbz r0, 7000c13e ( pxStaticQueue != NULL ) && 7000c13a: b14a cbz r2, 7000c150 ( !( ( pucQueueStorage != NULL ) && ( uxItemSize == 0 ) ) ) && 7000c13c: b951 cbnz r1, 7000c154 7000c13e: f04f 0350 mov.w r3, #80 @ 0x50 7000c142: f383 8811 msr BASEPRI, r3 7000c146: f3bf 8f6f isb sy 7000c14a: f3bf 8f4f dsb sy configASSERT( pxNewQueue ); 7000c14e: e7fe b.n 7000c14e ( !( ( pucQueueStorage == NULL ) && ( uxItemSize != 0 ) ) ) ) 7000c150: 2900 cmp r1, #0 7000c152: d1f4 bne.n 7000c13e volatile size_t xSize = sizeof( StaticQueue_t ); 7000c154: 2350 movs r3, #80 @ 0x50 7000c156: 9301 str r3, [sp, #4] configASSERT( xSize == sizeof( Queue_t ) ); /* LCOV_EXCL_BR_LINE */ 7000c158: 9b01 ldr r3, [sp, #4] 7000c15a: 2b50 cmp r3, #80 @ 0x50 7000c15c: d008 beq.n 7000c170 7000c15e: f04f 0350 mov.w r3, #80 @ 0x50 7000c162: f383 8811 msr BASEPRI, r3 7000c166: f3bf 8f6f isb sy 7000c16a: f3bf 8f4f dsb sy 7000c16e: e7fe b.n 7000c16e pxNewQueue->ucStaticallyAllocated = pdTRUE; 7000c170: 2101 movs r1, #1 pxNewQueue->pcHead = ( int8_t * ) pxNewQueue; 7000c172: 2d00 cmp r5, #0 7000c174: bf08 it eq 7000c176: 4622 moveq r2, r4 ( void ) xSize; /* Keeps lint quiet when configASSERT() is not defined. */ 7000c178: 9b01 ldr r3, [sp, #4] pxNewQueue->ucStaticallyAllocated = pdTRUE; 7000c17a: f884 1046 strb.w r1, [r4, #70] @ 0x46 if( uxItemSize == ( UBaseType_t ) 0 ) 7000c17e: 6022 str r2, [r4, #0] pxNewQueue->uxItemSize = uxItemSize; 7000c180: e9c4 050f strd r0, r5, [r4, #60] @ 0x3c ( void ) xQueueGenericReset( pxNewQueue, pdTRUE ); 7000c184: 4620 mov r0, r4 7000c186: f7ff ff7d bl 7000c084 pxNewQueue->ucQueueType = ucQueueType; 7000c18a: f89d 3018 ldrb.w r3, [sp, #24] } 7000c18e: 4620 mov r0, r4 pxNewQueue->ucQueueType = ucQueueType; 7000c190: f884 304c strb.w r3, [r4, #76] @ 0x4c } 7000c194: b003 add sp, #12 7000c196: bd30 pop {r4, r5, pc} 7000c198 : { 7000c198: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 7000c19c: 460d mov r5, r1 7000c19e: 4617 mov r7, r2 if( ( uxQueueLength > ( UBaseType_t ) 0 ) && 7000c1a0: 4606 mov r6, r0 7000c1a2: b300 cbz r0, 7000c1e6 ( ( SIZE_MAX / uxQueueLength ) >= uxItemSize ) && 7000c1a4: fba1 3800 umull r3, r8, r1, r0 7000c1a8: f1b8 0f00 cmp.w r8, #0 7000c1ac: d11b bne.n 7000c1e6 ( ( SIZE_MAX - sizeof( Queue_t ) ) >= ( uxQueueLength * uxItemSize ) ) ) 7000c1ae: 4348 muls r0, r1 ( ( SIZE_MAX / uxQueueLength ) >= uxItemSize ) && 7000c1b0: f110 0f51 cmn.w r0, #81 @ 0x51 7000c1b4: d817 bhi.n 7000c1e6 pxNewQueue = ( Queue_t * ) pvPortMalloc( sizeof( Queue_t ) + xQueueSizeInBytes ); /*lint !e9087 !e9079 see comment above. */ 7000c1b6: 3050 adds r0, #80 @ 0x50 7000c1b8: f7ff fc1e bl 7000b9f8 if( pxNewQueue != NULL ) 7000c1bc: 4604 mov r4, r0 7000c1be: b168 cbz r0, 7000c1dc pxNewQueue->ucStaticallyAllocated = pdFALSE; 7000c1c0: f880 8046 strb.w r8, [r0, #70] @ 0x46 if( uxItemSize == ( UBaseType_t ) 0 ) 7000c1c4: b16d cbz r5, 7000c1e2 pucQueueStorage += sizeof( Queue_t ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ 7000c1c6: f100 0350 add.w r3, r0, #80 @ 0x50 ( void ) xQueueGenericReset( pxNewQueue, pdTRUE ); 7000c1ca: 2101 movs r1, #1 7000c1cc: 4620 mov r0, r4 7000c1ce: 6023 str r3, [r4, #0] pxNewQueue->uxItemSize = uxItemSize; 7000c1d0: e9c4 650f strd r6, r5, [r4, #60] @ 0x3c ( void ) xQueueGenericReset( pxNewQueue, pdTRUE ); 7000c1d4: f7ff ff56 bl 7000c084 pxNewQueue->ucQueueType = ucQueueType; 7000c1d8: f884 704c strb.w r7, [r4, #76] @ 0x4c } 7000c1dc: 4620 mov r0, r4 7000c1de: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} pxNewQueue->pcHead = ( int8_t * ) pxNewQueue; 7000c1e2: 4603 mov r3, r0 7000c1e4: e7f1 b.n 7000c1ca 7000c1e6: f04f 0350 mov.w r3, #80 @ 0x50 7000c1ea: f383 8811 msr BASEPRI, r3 7000c1ee: f3bf 8f6f isb sy 7000c1f2: f3bf 8f4f dsb sy configASSERT( pxNewQueue ); 7000c1f6: e7fe b.n 7000c1f6 7000c1f8 : { 7000c1f8: b513 push {r0, r1, r4, lr} 7000c1fa: 4613 mov r3, r2 7000c1fc: 460c mov r4, r1 if( ( uxMaxCount != 0 ) && 7000c1fe: b108 cbz r0, 7000c204 7000c200: 4288 cmp r0, r1 7000c202: d208 bcs.n 7000c216 7000c204: f04f 0350 mov.w r3, #80 @ 0x50 7000c208: f383 8811 msr BASEPRI, r3 7000c20c: f3bf 8f6f isb sy 7000c210: f3bf 8f4f dsb sy configASSERT( xHandle ); 7000c214: e7fe b.n 7000c214 xHandle = xQueueGenericCreateStatic( uxMaxCount, queueSEMAPHORE_QUEUE_ITEM_LENGTH, NULL, pxStaticQueue, queueQUEUE_TYPE_COUNTING_SEMAPHORE ); 7000c216: 2202 movs r2, #2 7000c218: 9200 str r2, [sp, #0] 7000c21a: 2200 movs r2, #0 7000c21c: 4611 mov r1, r2 7000c21e: f7ff ff7e bl 7000c11e ( ( Queue_t * ) xHandle )->uxMessagesWaiting = uxInitialCount; 7000c222: 6384 str r4, [r0, #56] @ 0x38 } 7000c224: b002 add sp, #8 7000c226: bd10 pop {r4, pc} 7000c228 : { 7000c228: b510 push {r4, lr} 7000c22a: 460c mov r4, r1 if( ( uxMaxCount != 0 ) && 7000c22c: b140 cbz r0, 7000c240 7000c22e: 4288 cmp r0, r1 7000c230: d306 bcc.n 7000c240 xHandle = xQueueGenericCreate( uxMaxCount, queueSEMAPHORE_QUEUE_ITEM_LENGTH, queueQUEUE_TYPE_COUNTING_SEMAPHORE ); 7000c232: 2202 movs r2, #2 7000c234: 2100 movs r1, #0 7000c236: f7ff ffaf bl 7000c198 if( xHandle != NULL ) 7000c23a: b100 cbz r0, 7000c23e ( ( Queue_t * ) xHandle )->uxMessagesWaiting = uxInitialCount; 7000c23c: 6384 str r4, [r0, #56] @ 0x38 } 7000c23e: bd10 pop {r4, pc} 7000c240: f04f 0350 mov.w r3, #80 @ 0x50 7000c244: f383 8811 msr BASEPRI, r3 7000c248: f3bf 8f6f isb sy 7000c24c: f3bf 8f4f dsb sy configASSERT( xHandle ); 7000c250: e7fe b.n 7000c250 7000c252 : { 7000c252: e92d 41ff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr} 7000c256: 460f mov r7, r1 7000c258: 461e mov r6, r3 configASSERT( pxQueue ); 7000c25a: 4604 mov r4, r0 { 7000c25c: 9201 str r2, [sp, #4] configASSERT( pxQueue ); 7000c25e: b940 cbnz r0, 7000c272 7000c260: f04f 0350 mov.w r3, #80 @ 0x50 7000c264: f383 8811 msr BASEPRI, r3 7000c268: f3bf 8f6f isb sy 7000c26c: f3bf 8f4f dsb sy 7000c270: e7fe b.n 7000c270 configASSERT( !( ( pvItemToQueue == NULL ) && ( pxQueue->uxItemSize != ( UBaseType_t ) 0U ) ) ); 7000c272: b951 cbnz r1, 7000c28a 7000c274: 6c03 ldr r3, [r0, #64] @ 0x40 7000c276: b143 cbz r3, 7000c28a 7000c278: f04f 0350 mov.w r3, #80 @ 0x50 7000c27c: f383 8811 msr BASEPRI, r3 7000c280: f3bf 8f6f isb sy 7000c284: f3bf 8f4f dsb sy 7000c288: e7fe b.n 7000c288 configASSERT( !( ( xCopyPosition == queueOVERWRITE ) && ( pxQueue->uxLength != 1 ) ) ); 7000c28a: 2e02 cmp r6, #2 7000c28c: d10b bne.n 7000c2a6 7000c28e: 6be3 ldr r3, [r4, #60] @ 0x3c 7000c290: 2b01 cmp r3, #1 7000c292: d008 beq.n 7000c2a6 7000c294: f04f 0350 mov.w r3, #80 @ 0x50 7000c298: f383 8811 msr BASEPRI, r3 7000c29c: f3bf 8f6f isb sy 7000c2a0: f3bf 8f4f dsb sy 7000c2a4: e7fe b.n 7000c2a4 configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); 7000c2a6: f001 f8eb bl 7000d480 7000c2aa: 4605 mov r5, r0 7000c2ac: b950 cbnz r0, 7000c2c4 7000c2ae: 9b01 ldr r3, [sp, #4] 7000c2b0: b14b cbz r3, 7000c2c6 7000c2b2: f04f 0350 mov.w r3, #80 @ 0x50 7000c2b6: f383 8811 msr BASEPRI, r3 7000c2ba: f3bf 8f6f isb sy 7000c2be: f3bf 8f4f dsb sy 7000c2c2: e7fe b.n 7000c2c2 7000c2c4: 2500 movs r5, #0 prvLockQueue( pxQueue ); 7000c2c6: f04f 0800 mov.w r8, #0 7000c2ca: e039 b.n 7000c340 if( ( pxQueue->uxMessagesWaiting < pxQueue->uxLength ) || ( xCopyPosition == queueOVERWRITE ) ) 7000c2cc: 2e02 cmp r6, #2 7000c2ce: d03d beq.n 7000c34c if( xTicksToWait == ( TickType_t ) 0 ) 7000c2d0: 9b01 ldr r3, [sp, #4] 7000c2d2: b91b cbnz r3, 7000c2dc taskEXIT_CRITICAL(); 7000c2d4: f7ff fd16 bl 7000bd04 return errQUEUE_FULL; 7000c2d8: 2000 movs r0, #0 7000c2da: e050 b.n 7000c37e else if( xEntryTimeSet == pdFALSE ) 7000c2dc: b915 cbnz r5, 7000c2e4 vTaskInternalSetTimeOutState( &xTimeOut ); 7000c2de: a802 add r0, sp, #8 7000c2e0: f001 f880 bl 7000d3e4 taskEXIT_CRITICAL(); 7000c2e4: f7ff fd0e bl 7000bd04 vTaskSuspendAll(); 7000c2e8: f000 fd62 bl 7000cdb0 prvLockQueue( pxQueue ); 7000c2ec: f7ff fcea bl 7000bcc4 7000c2f0: f894 3044 ldrb.w r3, [r4, #68] @ 0x44 7000c2f4: 2bff cmp r3, #255 @ 0xff 7000c2f6: d101 bne.n 7000c2fc 7000c2f8: f884 8044 strb.w r8, [r4, #68] @ 0x44 7000c2fc: f894 3045 ldrb.w r3, [r4, #69] @ 0x45 7000c300: 2bff cmp r3, #255 @ 0xff 7000c302: d101 bne.n 7000c308 7000c304: f884 8045 strb.w r8, [r4, #69] @ 0x45 7000c308: f7ff fcfc bl 7000bd04 if( xTaskCheckForTimeOut( &xTimeOut, &xTicksToWait ) == pdFALSE ) 7000c30c: a901 add r1, sp, #4 7000c30e: a802 add r0, sp, #8 7000c310: f001 f874 bl 7000d3fc 7000c314: 2800 cmp r0, #0 7000c316: d148 bne.n 7000c3aa static BaseType_t prvIsQueueFull( const Queue_t * pxQueue ) { BaseType_t xReturn; taskENTER_CRITICAL(); 7000c318: f7ff fcd4 bl 7000bcc4 { if( pxQueue->uxMessagesWaiting == pxQueue->uxLength ) 7000c31c: 6ba2 ldr r2, [r4, #56] @ 0x38 7000c31e: 6be3 ldr r3, [r4, #60] @ 0x3c 7000c320: 429a cmp r2, r3 7000c322: d12f bne.n 7000c384 else { xReturn = pdFALSE; } } taskEXIT_CRITICAL(); 7000c324: f7ff fcee bl 7000bd04 vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToSend ), xTicksToWait ); 7000c328: 9901 ldr r1, [sp, #4] 7000c32a: f104 0010 add.w r0, r4, #16 7000c32e: f000 ffa9 bl 7000d284 prvUnlockQueue( pxQueue ); 7000c332: 4620 mov r0, r4 7000c334: f7ff fe70 bl 7000c018 if( xTaskResumeAll() == pdFALSE ) 7000c338: f000 fe12 bl 7000cf60 7000c33c: b350 cbz r0, 7000c394 7000c33e: 2501 movs r5, #1 taskENTER_CRITICAL(); 7000c340: f7ff fcc0 bl 7000bcc4 if( ( pxQueue->uxMessagesWaiting < pxQueue->uxLength ) || ( xCopyPosition == queueOVERWRITE ) ) 7000c344: 6ba2 ldr r2, [r4, #56] @ 0x38 7000c346: 6be3 ldr r3, [r4, #60] @ 0x3c 7000c348: 429a cmp r2, r3 7000c34a: d2bf bcs.n 7000c2cc xYieldRequired = prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition ); 7000c34c: 4632 mov r2, r6 7000c34e: 4639 mov r1, r7 7000c350: 4620 mov r0, r4 7000c352: f7ff fe1a bl 7000bf8a if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE ) 7000c356: 6a63 ldr r3, [r4, #36] @ 0x24 7000c358: b11b cbz r3, 7000c362 if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) 7000c35a: f104 0024 add.w r0, r4, #36 @ 0x24 7000c35e: f000 ffd7 bl 7000d310 else if( xYieldRequired != pdFALSE ) 7000c362: b148 cbz r0, 7000c378 queueYIELD_IF_USING_PREEMPTION(); 7000c364: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000c368: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000c36c: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000c370: f3bf 8f4f dsb sy 7000c374: f3bf 8f6f isb sy taskEXIT_CRITICAL(); 7000c378: f7ff fcc4 bl 7000bd04 return pdPASS; 7000c37c: 2001 movs r0, #1 } 7000c37e: b004 add sp, #16 7000c380: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} taskEXIT_CRITICAL(); 7000c384: f7ff fcbe bl 7000bd04 prvUnlockQueue( pxQueue ); 7000c388: 4620 mov r0, r4 7000c38a: f7ff fe45 bl 7000c018 ( void ) xTaskResumeAll(); 7000c38e: f000 fde7 bl 7000cf60 7000c392: e7d4 b.n 7000c33e portYIELD_WITHIN_API(); 7000c394: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000c398: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000c39c: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000c3a0: f3bf 8f4f dsb sy 7000c3a4: f3bf 8f6f isb sy 7000c3a8: e7c9 b.n 7000c33e prvUnlockQueue( pxQueue ); 7000c3aa: 4620 mov r0, r4 7000c3ac: f7ff fe34 bl 7000c018 ( void ) xTaskResumeAll(); 7000c3b0: f000 fdd6 bl 7000cf60 return errQUEUE_FULL; 7000c3b4: e790 b.n 7000c2d8 7000c3b6 : { 7000c3b6: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 7000c3ba: 4689 mov r9, r1 7000c3bc: 4617 mov r7, r2 7000c3be: 461e mov r6, r3 configASSERT( pxQueue ); 7000c3c0: 4604 mov r4, r0 7000c3c2: b940 cbnz r0, 7000c3d6 7000c3c4: f04f 0350 mov.w r3, #80 @ 0x50 7000c3c8: f383 8811 msr BASEPRI, r3 7000c3cc: f3bf 8f6f isb sy 7000c3d0: f3bf 8f4f dsb sy 7000c3d4: e7fe b.n 7000c3d4 configASSERT( !( ( pvItemToQueue == NULL ) && ( pxQueue->uxItemSize != ( UBaseType_t ) 0U ) ) ); 7000c3d6: b951 cbnz r1, 7000c3ee 7000c3d8: 6c03 ldr r3, [r0, #64] @ 0x40 7000c3da: b143 cbz r3, 7000c3ee 7000c3dc: f04f 0350 mov.w r3, #80 @ 0x50 7000c3e0: f383 8811 msr BASEPRI, r3 7000c3e4: f3bf 8f6f isb sy 7000c3e8: f3bf 8f4f dsb sy 7000c3ec: e7fe b.n 7000c3ec configASSERT( !( ( xCopyPosition == queueOVERWRITE ) && ( pxQueue->uxLength != 1 ) ) ); 7000c3ee: 2e02 cmp r6, #2 7000c3f0: d10b bne.n 7000c40a 7000c3f2: 6be3 ldr r3, [r4, #60] @ 0x3c 7000c3f4: 2b01 cmp r3, #1 7000c3f6: d008 beq.n 7000c40a 7000c3f8: f04f 0350 mov.w r3, #80 @ 0x50 7000c3fc: f383 8811 msr BASEPRI, r3 7000c400: f3bf 8f6f isb sy 7000c404: f3bf 8f4f dsb sy 7000c408: e7fe b.n 7000c408 portASSERT_IF_INTERRUPT_PRIORITY_INVALID(); 7000c40a: f7ff fd85 bl 7000bf18 __asm volatile 7000c40e: f3ef 8811 mrs r8, BASEPRI 7000c412: f04f 0350 mov.w r3, #80 @ 0x50 7000c416: f383 8811 msr BASEPRI, r3 7000c41a: f3bf 8f6f isb sy 7000c41e: f3bf 8f4f dsb sy if( ( pxQueue->uxMessagesWaiting < pxQueue->uxLength ) || ( xCopyPosition == queueOVERWRITE ) ) 7000c422: 6ba2 ldr r2, [r4, #56] @ 0x38 7000c424: 6be3 ldr r3, [r4, #60] @ 0x3c 7000c426: 429a cmp r2, r3 7000c428: d301 bcc.n 7000c42e 7000c42a: 2e02 cmp r6, #2 7000c42c: d12d bne.n 7000c48a const int8_t cTxLock = pxQueue->cTxLock; 7000c42e: f894 5045 ldrb.w r5, [r4, #69] @ 0x45 ( void ) prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition ); 7000c432: 4632 mov r2, r6 7000c434: 4649 mov r1, r9 7000c436: 4620 mov r0, r4 const int8_t cTxLock = pxQueue->cTxLock; 7000c438: b26d sxtb r5, r5 const UBaseType_t uxPreviousMessagesWaiting = pxQueue->uxMessagesWaiting; 7000c43a: 6ba3 ldr r3, [r4, #56] @ 0x38 ( void ) prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition ); 7000c43c: f7ff fda5 bl 7000bf8a if( cTxLock == queueUNLOCKED ) 7000c440: 1c6b adds r3, r5, #1 7000c442: d10e bne.n 7000c462 if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE ) 7000c444: 6a63 ldr r3, [r4, #36] @ 0x24 7000c446: b13b cbz r3, 7000c458 if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) 7000c448: f104 0024 add.w r0, r4, #36 @ 0x24 7000c44c: f000 ff60 bl 7000d310 7000c450: b110 cbz r0, 7000c458 if( pxHigherPriorityTaskWoken != NULL ) 7000c452: b10f cbz r7, 7000c458 *pxHigherPriorityTaskWoken = pdTRUE; 7000c454: 2301 movs r3, #1 7000c456: 603b str r3, [r7, #0] xReturn = pdPASS; 7000c458: 2001 movs r0, #1 __asm volatile 7000c45a: f388 8811 msr BASEPRI, r8 } 7000c45e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} prvIncrementQueueTxLock( pxQueue, cTxLock ); 7000c462: f000 fcb3 bl 7000cdcc 7000c466: 4285 cmp r5, r0 7000c468: d2f6 bcs.n 7000c458 7000c46a: 2d7f cmp r5, #127 @ 0x7f 7000c46c: d108 bne.n 7000c480 __asm volatile 7000c46e: f04f 0350 mov.w r3, #80 @ 0x50 7000c472: f383 8811 msr BASEPRI, r3 7000c476: f3bf 8f6f isb sy 7000c47a: f3bf 8f4f dsb sy 7000c47e: e7fe b.n 7000c47e 7000c480: 3501 adds r5, #1 7000c482: b26d sxtb r5, r5 7000c484: f884 5045 strb.w r5, [r4, #69] @ 0x45 7000c488: e7e6 b.n 7000c458 xReturn = errQUEUE_FULL; 7000c48a: 2000 movs r0, #0 7000c48c: e7e5 b.n 7000c45a 7000c48e : { 7000c48e: b5f8 push {r3, r4, r5, r6, r7, lr} 7000c490: 460e mov r6, r1 configASSERT( pxQueue ); 7000c492: 4604 mov r4, r0 7000c494: b940 cbnz r0, 7000c4a8 7000c496: f04f 0350 mov.w r3, #80 @ 0x50 7000c49a: f383 8811 msr BASEPRI, r3 7000c49e: f3bf 8f6f isb sy 7000c4a2: f3bf 8f4f dsb sy 7000c4a6: e7fe b.n 7000c4a6 configASSERT( pxQueue->uxItemSize == 0 ); 7000c4a8: 6c03 ldr r3, [r0, #64] @ 0x40 7000c4aa: b143 cbz r3, 7000c4be 7000c4ac: f04f 0350 mov.w r3, #80 @ 0x50 7000c4b0: f383 8811 msr BASEPRI, r3 7000c4b4: f3bf 8f6f isb sy 7000c4b8: f3bf 8f4f dsb sy 7000c4bc: e7fe b.n 7000c4bc configASSERT( !( ( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) && ( pxQueue->u.xSemaphore.xMutexHolder != NULL ) ) ); 7000c4be: 6803 ldr r3, [r0, #0] 7000c4c0: b953 cbnz r3, 7000c4d8 7000c4c2: 6883 ldr r3, [r0, #8] 7000c4c4: b143 cbz r3, 7000c4d8 7000c4c6: f04f 0350 mov.w r3, #80 @ 0x50 7000c4ca: f383 8811 msr BASEPRI, r3 7000c4ce: f3bf 8f6f isb sy 7000c4d2: f3bf 8f4f dsb sy 7000c4d6: e7fe b.n 7000c4d6 portASSERT_IF_INTERRUPT_PRIORITY_INVALID(); 7000c4d8: f7ff fd1e bl 7000bf18 __asm volatile 7000c4dc: f3ef 8711 mrs r7, BASEPRI 7000c4e0: f04f 0350 mov.w r3, #80 @ 0x50 7000c4e4: f383 8811 msr BASEPRI, r3 7000c4e8: f3bf 8f6f isb sy 7000c4ec: f3bf 8f4f dsb sy const UBaseType_t uxMessagesWaiting = pxQueue->uxMessagesWaiting; 7000c4f0: 6ba3 ldr r3, [r4, #56] @ 0x38 if( uxMessagesWaiting < pxQueue->uxLength ) 7000c4f2: 6be2 ldr r2, [r4, #60] @ 0x3c 7000c4f4: 429a cmp r2, r3 7000c4f6: d928 bls.n 7000c54a const int8_t cTxLock = pxQueue->cTxLock; 7000c4f8: f894 2045 ldrb.w r2, [r4, #69] @ 0x45 pxQueue->uxMessagesWaiting = uxMessagesWaiting + ( UBaseType_t ) 1; 7000c4fc: 3301 adds r3, #1 if( cTxLock == queueUNLOCKED ) 7000c4fe: 2aff cmp r2, #255 @ 0xff const int8_t cTxLock = pxQueue->cTxLock; 7000c500: b255 sxtb r5, r2 pxQueue->uxMessagesWaiting = uxMessagesWaiting + ( UBaseType_t ) 1; 7000c502: 63a3 str r3, [r4, #56] @ 0x38 if( cTxLock == queueUNLOCKED ) 7000c504: d10d bne.n 7000c522 if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE ) 7000c506: 6a63 ldr r3, [r4, #36] @ 0x24 7000c508: b13b cbz r3, 7000c51a if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) 7000c50a: f104 0024 add.w r0, r4, #36 @ 0x24 7000c50e: f000 feff bl 7000d310 7000c512: b110 cbz r0, 7000c51a if( pxHigherPriorityTaskWoken != NULL ) 7000c514: b10e cbz r6, 7000c51a *pxHigherPriorityTaskWoken = pdTRUE; 7000c516: 2301 movs r3, #1 7000c518: 6033 str r3, [r6, #0] xReturn = pdPASS; 7000c51a: 2001 movs r0, #1 __asm volatile 7000c51c: f387 8811 msr BASEPRI, r7 } 7000c520: bdf8 pop {r3, r4, r5, r6, r7, pc} prvIncrementQueueTxLock( pxQueue, cTxLock ); 7000c522: f000 fc53 bl 7000cdcc 7000c526: 4285 cmp r5, r0 7000c528: d2f7 bcs.n 7000c51a 7000c52a: 2d7f cmp r5, #127 @ 0x7f 7000c52c: d108 bne.n 7000c540 __asm volatile 7000c52e: f04f 0350 mov.w r3, #80 @ 0x50 7000c532: f383 8811 msr BASEPRI, r3 7000c536: f3bf 8f6f isb sy 7000c53a: f3bf 8f4f dsb sy 7000c53e: e7fe b.n 7000c53e 7000c540: 3501 adds r5, #1 7000c542: b26d sxtb r5, r5 7000c544: f884 5045 strb.w r5, [r4, #69] @ 0x45 7000c548: e7e7 b.n 7000c51a xReturn = errQUEUE_FULL; 7000c54a: 2000 movs r0, #0 7000c54c: e7e6 b.n 7000c51c 7000c54e : { 7000c54e: e92d 41ff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr} 7000c552: 460e mov r6, r1 configASSERT( ( pxQueue ) ); 7000c554: 4604 mov r4, r0 { 7000c556: 9201 str r2, [sp, #4] configASSERT( ( pxQueue ) ); 7000c558: b940 cbnz r0, 7000c56c 7000c55a: f04f 0350 mov.w r3, #80 @ 0x50 7000c55e: f383 8811 msr BASEPRI, r3 7000c562: f3bf 8f6f isb sy 7000c566: f3bf 8f4f dsb sy 7000c56a: e7fe b.n 7000c56a configASSERT( !( ( ( pvBuffer ) == NULL ) && ( ( pxQueue )->uxItemSize != ( UBaseType_t ) 0U ) ) ); 7000c56c: b951 cbnz r1, 7000c584 7000c56e: 6c03 ldr r3, [r0, #64] @ 0x40 7000c570: b143 cbz r3, 7000c584 7000c572: f04f 0350 mov.w r3, #80 @ 0x50 7000c576: f383 8811 msr BASEPRI, r3 7000c57a: f3bf 8f6f isb sy 7000c57e: f3bf 8f4f dsb sy 7000c582: e7fe b.n 7000c582 configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); 7000c584: f000 ff7c bl 7000d480 7000c588: 4605 mov r5, r0 7000c58a: b950 cbnz r0, 7000c5a2 7000c58c: 9b01 ldr r3, [sp, #4] 7000c58e: b14b cbz r3, 7000c5a4 7000c590: f04f 0350 mov.w r3, #80 @ 0x50 7000c594: f383 8811 msr BASEPRI, r3 7000c598: f3bf 8f6f isb sy 7000c59c: f3bf 8f4f dsb sy 7000c5a0: e7fe b.n 7000c5a0 7000c5a2: 2500 movs r5, #0 prvLockQueue( pxQueue ); 7000c5a4: f04f 0800 mov.w r8, #0 7000c5a8: e03d b.n 7000c626 if( xTicksToWait == ( TickType_t ) 0 ) 7000c5aa: 9b01 ldr r3, [sp, #4] 7000c5ac: b91b cbnz r3, 7000c5b6 taskEXIT_CRITICAL(); 7000c5ae: f7ff fba9 bl 7000bd04 return errQUEUE_EMPTY; 7000c5b2: 2000 movs r0, #0 7000c5b4: e056 b.n 7000c664 else if( xEntryTimeSet == pdFALSE ) 7000c5b6: b915 cbnz r5, 7000c5be vTaskInternalSetTimeOutState( &xTimeOut ); 7000c5b8: a802 add r0, sp, #8 7000c5ba: f000 ff13 bl 7000d3e4 taskEXIT_CRITICAL(); 7000c5be: f7ff fba1 bl 7000bd04 vTaskSuspendAll(); 7000c5c2: f000 fbf5 bl 7000cdb0 prvLockQueue( pxQueue ); 7000c5c6: f7ff fb7d bl 7000bcc4 7000c5ca: f894 3044 ldrb.w r3, [r4, #68] @ 0x44 7000c5ce: 2bff cmp r3, #255 @ 0xff 7000c5d0: d101 bne.n 7000c5d6 7000c5d2: f884 8044 strb.w r8, [r4, #68] @ 0x44 7000c5d6: f894 3045 ldrb.w r3, [r4, #69] @ 0x45 7000c5da: 2bff cmp r3, #255 @ 0xff 7000c5dc: d101 bne.n 7000c5e2 7000c5de: f884 8045 strb.w r8, [r4, #69] @ 0x45 7000c5e2: f7ff fb8f bl 7000bd04 if( xTaskCheckForTimeOut( &xTimeOut, &xTicksToWait ) == pdFALSE ) 7000c5e6: a901 add r1, sp, #4 7000c5e8: a802 add r0, sp, #8 7000c5ea: f000 ff07 bl 7000d3fc 7000c5ee: 2800 cmp r0, #0 7000c5f0: d141 bne.n 7000c676 if( prvIsQueueEmpty( pxQueue ) != pdFALSE ) 7000c5f2: 4620 mov r0, r4 7000c5f4: f7ff fcbe bl 7000bf74 7000c5f8: b3b8 cbz r0, 7000c66a vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToReceive ), xTicksToWait ); 7000c5fa: 9901 ldr r1, [sp, #4] 7000c5fc: f104 0024 add.w r0, r4, #36 @ 0x24 7000c600: f000 fe40 bl 7000d284 prvUnlockQueue( pxQueue ); 7000c604: 4620 mov r0, r4 7000c606: f7ff fd07 bl 7000c018 if( xTaskResumeAll() == pdFALSE ) 7000c60a: f000 fca9 bl 7000cf60 7000c60e: b948 cbnz r0, 7000c624 portYIELD_WITHIN_API(); 7000c610: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000c614: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000c618: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000c61c: f3bf 8f4f dsb sy 7000c620: f3bf 8f6f isb sy 7000c624: 2501 movs r5, #1 taskENTER_CRITICAL(); 7000c626: f7ff fb4d bl 7000bcc4 const UBaseType_t uxMessagesWaiting = pxQueue->uxMessagesWaiting; 7000c62a: 6ba7 ldr r7, [r4, #56] @ 0x38 if( uxMessagesWaiting > ( UBaseType_t ) 0 ) 7000c62c: 2f00 cmp r7, #0 7000c62e: d0bc beq.n 7000c5aa pxQueue->uxMessagesWaiting = uxMessagesWaiting - ( UBaseType_t ) 1; 7000c630: 3f01 subs r7, #1 prvCopyDataFromQueue( pxQueue, pvBuffer ); 7000c632: 4631 mov r1, r6 7000c634: 4620 mov r0, r4 7000c636: f7ff fcdb bl 7000bff0 pxQueue->uxMessagesWaiting = uxMessagesWaiting - ( UBaseType_t ) 1; 7000c63a: 63a7 str r7, [r4, #56] @ 0x38 if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) 7000c63c: 6923 ldr r3, [r4, #16] 7000c63e: b173 cbz r3, 7000c65e if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) 7000c640: f104 0010 add.w r0, r4, #16 7000c644: f000 fe64 bl 7000d310 7000c648: b148 cbz r0, 7000c65e queueYIELD_IF_USING_PREEMPTION(); 7000c64a: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000c64e: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000c652: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000c656: f3bf 8f4f dsb sy 7000c65a: f3bf 8f6f isb sy taskEXIT_CRITICAL(); 7000c65e: f7ff fb51 bl 7000bd04 return pdPASS; 7000c662: 2001 movs r0, #1 } 7000c664: b004 add sp, #16 7000c666: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} prvUnlockQueue( pxQueue ); 7000c66a: 4620 mov r0, r4 7000c66c: f7ff fcd4 bl 7000c018 ( void ) xTaskResumeAll(); 7000c670: f000 fc76 bl 7000cf60 7000c674: e7d6 b.n 7000c624 prvUnlockQueue( pxQueue ); 7000c676: 4620 mov r0, r4 7000c678: f7ff fcce bl 7000c018 ( void ) xTaskResumeAll(); 7000c67c: f000 fc70 bl 7000cf60 if( prvIsQueueEmpty( pxQueue ) != pdFALSE ) 7000c680: 4620 mov r0, r4 7000c682: f7ff fc77 bl 7000bf74 7000c686: 2800 cmp r0, #0 7000c688: d0cc beq.n 7000c624 7000c68a: e792 b.n 7000c5b2 7000c68c : { 7000c68c: b5f0 push {r4, r5, r6, r7, lr} 7000c68e: b085 sub sp, #20 configASSERT( ( pxQueue ) ); 7000c690: 4604 mov r4, r0 { 7000c692: 9101 str r1, [sp, #4] configASSERT( ( pxQueue ) ); 7000c694: b940 cbnz r0, 7000c6a8 7000c696: f04f 0350 mov.w r3, #80 @ 0x50 7000c69a: f383 8811 msr BASEPRI, r3 7000c69e: f3bf 8f6f isb sy 7000c6a2: f3bf 8f4f dsb sy 7000c6a6: e7fe b.n 7000c6a6 configASSERT( pxQueue->uxItemSize == 0 ); 7000c6a8: 6c05 ldr r5, [r0, #64] @ 0x40 7000c6aa: b145 cbz r5, 7000c6be 7000c6ac: f04f 0350 mov.w r3, #80 @ 0x50 7000c6b0: f383 8811 msr BASEPRI, r3 7000c6b4: f3bf 8f6f isb sy 7000c6b8: f3bf 8f4f dsb sy 7000c6bc: e7fe b.n 7000c6bc configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); 7000c6be: f000 fedf bl 7000d480 7000c6c2: 4606 mov r6, r0 7000c6c4: b950 cbnz r0, 7000c6dc 7000c6c6: 9b01 ldr r3, [sp, #4] 7000c6c8: b15b cbz r3, 7000c6e2 7000c6ca: f04f 0350 mov.w r3, #80 @ 0x50 7000c6ce: f383 8811 msr BASEPRI, r3 7000c6d2: f3bf 8f6f isb sy 7000c6d6: f3bf 8f4f dsb sy 7000c6da: e7fe b.n 7000c6da 7000c6dc: 462e mov r6, r5 prvLockQueue( pxQueue ); 7000c6de: 2700 movs r7, #0 7000c6e0: e04a b.n 7000c778 7000c6e2: 4605 mov r5, r0 7000c6e4: e7fb b.n 7000c6de if( xTicksToWait == ( TickType_t ) 0 ) 7000c6e6: 9b01 ldr r3, [sp, #4] 7000c6e8: b91b cbnz r3, 7000c6f2 taskEXIT_CRITICAL(); 7000c6ea: f7ff fb0b bl 7000bd04 return errQUEUE_EMPTY; 7000c6ee: 2000 movs r0, #0 7000c6f0: e062 b.n 7000c7b8 else if( xEntryTimeSet == pdFALSE ) 7000c6f2: b916 cbnz r6, 7000c6fa vTaskInternalSetTimeOutState( &xTimeOut ); 7000c6f4: a802 add r0, sp, #8 7000c6f6: f000 fe75 bl 7000d3e4 taskEXIT_CRITICAL(); 7000c6fa: f7ff fb03 bl 7000bd04 vTaskSuspendAll(); 7000c6fe: f000 fb57 bl 7000cdb0 prvLockQueue( pxQueue ); 7000c702: f7ff fadf bl 7000bcc4 7000c706: f894 3044 ldrb.w r3, [r4, #68] @ 0x44 7000c70a: 2bff cmp r3, #255 @ 0xff 7000c70c: d101 bne.n 7000c712 7000c70e: f884 7044 strb.w r7, [r4, #68] @ 0x44 7000c712: f894 3045 ldrb.w r3, [r4, #69] @ 0x45 7000c716: 2bff cmp r3, #255 @ 0xff 7000c718: d101 bne.n 7000c71e 7000c71a: f884 7045 strb.w r7, [r4, #69] @ 0x45 7000c71e: f7ff faf1 bl 7000bd04 if( xTaskCheckForTimeOut( &xTimeOut, &xTicksToWait ) == pdFALSE ) 7000c722: a901 add r1, sp, #4 7000c724: a802 add r0, sp, #8 7000c726: f000 fe69 bl 7000d3fc 7000c72a: 2800 cmp r0, #0 7000c72c: d14c bne.n 7000c7c8 if( prvIsQueueEmpty( pxQueue ) != pdFALSE ) 7000c72e: 4620 mov r0, r4 7000c730: f7ff fc20 bl 7000bf74 7000c734: 2800 cmp r0, #0 7000c736: d041 beq.n 7000c7bc if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) 7000c738: 6823 ldr r3, [r4, #0] 7000c73a: b93b cbnz r3, 7000c74c taskENTER_CRITICAL(); 7000c73c: f7ff fac2 bl 7000bcc4 xInheritanceOccurred = xTaskPriorityInherit( pxQueue->u.xSemaphore.xMutexHolder ); 7000c740: 68a0 ldr r0, [r4, #8] 7000c742: f000 fead bl 7000d4a0 7000c746: 4605 mov r5, r0 taskEXIT_CRITICAL(); 7000c748: f7ff fadc bl 7000bd04 vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToReceive ), xTicksToWait ); 7000c74c: 9901 ldr r1, [sp, #4] 7000c74e: f104 0024 add.w r0, r4, #36 @ 0x24 7000c752: f000 fd97 bl 7000d284 prvUnlockQueue( pxQueue ); 7000c756: 4620 mov r0, r4 7000c758: f7ff fc5e bl 7000c018 if( xTaskResumeAll() == pdFALSE ) 7000c75c: f000 fc00 bl 7000cf60 7000c760: b948 cbnz r0, 7000c776 portYIELD_WITHIN_API(); 7000c762: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000c766: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000c76a: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000c76e: f3bf 8f4f dsb sy 7000c772: f3bf 8f6f isb sy 7000c776: 2601 movs r6, #1 taskENTER_CRITICAL(); 7000c778: f7ff faa4 bl 7000bcc4 const UBaseType_t uxSemaphoreCount = pxQueue->uxMessagesWaiting; 7000c77c: 6ba3 ldr r3, [r4, #56] @ 0x38 if( uxSemaphoreCount > ( UBaseType_t ) 0 ) 7000c77e: 2b00 cmp r3, #0 7000c780: d0b1 beq.n 7000c6e6 pxQueue->uxMessagesWaiting = uxSemaphoreCount - ( UBaseType_t ) 1; 7000c782: 3b01 subs r3, #1 7000c784: 63a3 str r3, [r4, #56] @ 0x38 if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) 7000c786: 6823 ldr r3, [r4, #0] 7000c788: b913 cbnz r3, 7000c790 pxQueue->u.xSemaphore.xMutexHolder = pvTaskIncrementMutexHeldCount(); 7000c78a: f000 ff6d bl 7000d668 7000c78e: 60a0 str r0, [r4, #8] if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) 7000c790: 6923 ldr r3, [r4, #16] 7000c792: b173 cbz r3, 7000c7b2 if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) 7000c794: f104 0010 add.w r0, r4, #16 7000c798: f000 fdba bl 7000d310 7000c79c: b148 cbz r0, 7000c7b2 queueYIELD_IF_USING_PREEMPTION(); 7000c79e: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000c7a2: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000c7a6: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000c7aa: f3bf 8f4f dsb sy 7000c7ae: f3bf 8f6f isb sy taskEXIT_CRITICAL(); 7000c7b2: f7ff faa7 bl 7000bd04 return pdPASS; 7000c7b6: 2001 movs r0, #1 } 7000c7b8: b005 add sp, #20 7000c7ba: bdf0 pop {r4, r5, r6, r7, pc} prvUnlockQueue( pxQueue ); 7000c7bc: 4620 mov r0, r4 7000c7be: f7ff fc2b bl 7000c018 ( void ) xTaskResumeAll(); 7000c7c2: f000 fbcd bl 7000cf60 7000c7c6: e7d6 b.n 7000c776 prvUnlockQueue( pxQueue ); 7000c7c8: 4620 mov r0, r4 7000c7ca: f7ff fc25 bl 7000c018 ( void ) xTaskResumeAll(); 7000c7ce: f000 fbc7 bl 7000cf60 if( prvIsQueueEmpty( pxQueue ) != pdFALSE ) 7000c7d2: 4620 mov r0, r4 7000c7d4: f7ff fbce bl 7000bf74 7000c7d8: 2800 cmp r0, #0 7000c7da: d0cc beq.n 7000c776 if( xInheritanceOccurred != pdFALSE ) 7000c7dc: 2d00 cmp r5, #0 7000c7de: d086 beq.n 7000c6ee taskENTER_CRITICAL(); 7000c7e0: f7ff fa70 bl 7000bcc4 if( listCURRENT_LIST_LENGTH( &( pxQueue->xTasksWaitingToReceive ) ) > 0U ) 7000c7e4: 6a61 ldr r1, [r4, #36] @ 0x24 7000c7e6: b119 cbz r1, 7000c7f0 uxHighestPriorityOfWaitingTasks = ( UBaseType_t ) configMAX_PRIORITIES - ( UBaseType_t ) listGET_ITEM_VALUE_OF_HEAD_ENTRY( &( pxQueue->xTasksWaitingToReceive ) ); 7000c7e8: 6b23 ldr r3, [r4, #48] @ 0x30 7000c7ea: 6819 ldr r1, [r3, #0] 7000c7ec: f1c1 0138 rsb r1, r1, #56 @ 0x38 vTaskPriorityDisinheritAfterTimeout( pxQueue->u.xSemaphore.xMutexHolder, uxHighestWaitingPriority ); 7000c7f0: 68a0 ldr r0, [r4, #8] 7000c7f2: f000 fee5 bl 7000d5c0 7000c7f6: e778 b.n 7000c6ea 7000c7f8 : { 7000c7f8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 7000c7fc: 4689 mov r9, r1 7000c7fe: 4690 mov r8, r2 configASSERT( pxQueue ); 7000c800: 4604 mov r4, r0 7000c802: b940 cbnz r0, 7000c816 7000c804: f04f 0350 mov.w r3, #80 @ 0x50 7000c808: f383 8811 msr BASEPRI, r3 7000c80c: f3bf 8f6f isb sy 7000c810: f3bf 8f4f dsb sy 7000c814: e7fe b.n 7000c814 configASSERT( !( ( pvBuffer == NULL ) && ( pxQueue->uxItemSize != ( UBaseType_t ) 0U ) ) ); 7000c816: b951 cbnz r1, 7000c82e 7000c818: 6c03 ldr r3, [r0, #64] @ 0x40 7000c81a: b143 cbz r3, 7000c82e 7000c81c: f04f 0350 mov.w r3, #80 @ 0x50 7000c820: f383 8811 msr BASEPRI, r3 7000c824: f3bf 8f6f isb sy 7000c828: f3bf 8f4f dsb sy 7000c82c: e7fe b.n 7000c82c portASSERT_IF_INTERRUPT_PRIORITY_INVALID(); 7000c82e: f7ff fb73 bl 7000bf18 __asm volatile 7000c832: f3ef 8711 mrs r7, BASEPRI 7000c836: f04f 0350 mov.w r3, #80 @ 0x50 7000c83a: f383 8811 msr BASEPRI, r3 7000c83e: f3bf 8f6f isb sy 7000c842: f3bf 8f4f dsb sy const UBaseType_t uxMessagesWaiting = pxQueue->uxMessagesWaiting; 7000c846: 6ba6 ldr r6, [r4, #56] @ 0x38 if( uxMessagesWaiting > ( UBaseType_t ) 0 ) 7000c848: b386 cbz r6, 7000c8ac const int8_t cRxLock = pxQueue->cRxLock; 7000c84a: f894 5044 ldrb.w r5, [r4, #68] @ 0x44 prvCopyDataFromQueue( pxQueue, pvBuffer ); 7000c84e: 4649 mov r1, r9 7000c850: 4620 mov r0, r4 pxQueue->uxMessagesWaiting = uxMessagesWaiting - ( UBaseType_t ) 1; 7000c852: 3e01 subs r6, #1 const int8_t cRxLock = pxQueue->cRxLock; 7000c854: b26d sxtb r5, r5 prvCopyDataFromQueue( pxQueue, pvBuffer ); 7000c856: f7ff fbcb bl 7000bff0 pxQueue->uxMessagesWaiting = uxMessagesWaiting - ( UBaseType_t ) 1; 7000c85a: 63a6 str r6, [r4, #56] @ 0x38 if( cRxLock == queueUNLOCKED ) 7000c85c: 1c6b adds r3, r5, #1 7000c85e: d111 bne.n 7000c884 if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) 7000c860: 6923 ldr r3, [r4, #16] 7000c862: b153 cbz r3, 7000c87a if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) 7000c864: f104 0010 add.w r0, r4, #16 7000c868: f000 fd52 bl 7000d310 7000c86c: b128 cbz r0, 7000c87a if( pxHigherPriorityTaskWoken != NULL ) 7000c86e: f1b8 0f00 cmp.w r8, #0 7000c872: d002 beq.n 7000c87a *pxHigherPriorityTaskWoken = pdTRUE; 7000c874: 2301 movs r3, #1 7000c876: f8c8 3000 str.w r3, [r8] xReturn = pdPASS; 7000c87a: 2001 movs r0, #1 __asm volatile 7000c87c: f387 8811 msr BASEPRI, r7 } 7000c880: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} prvIncrementQueueRxLock( pxQueue, cRxLock ); 7000c884: f000 faa2 bl 7000cdcc 7000c888: 4285 cmp r5, r0 7000c88a: d2f6 bcs.n 7000c87a 7000c88c: 2d7f cmp r5, #127 @ 0x7f 7000c88e: d108 bne.n 7000c8a2 __asm volatile 7000c890: f04f 0350 mov.w r3, #80 @ 0x50 7000c894: f383 8811 msr BASEPRI, r3 7000c898: f3bf 8f6f isb sy 7000c89c: f3bf 8f4f dsb sy 7000c8a0: e7fe b.n 7000c8a0 7000c8a2: 3501 adds r5, #1 7000c8a4: b26d sxtb r5, r5 7000c8a6: f884 5044 strb.w r5, [r4, #68] @ 0x44 7000c8aa: e7e6 b.n 7000c87a xReturn = pdFAIL; 7000c8ac: 4630 mov r0, r6 7000c8ae: e7e5 b.n 7000c87c 7000c8b0 : #if ( configQUEUE_REGISTRY_SIZE > 0 ) void vQueueAddToRegistry( QueueHandle_t xQueue, const char * pcQueueName ) /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ { 7000c8b0: b570 push {r4, r5, r6, lr} UBaseType_t ux; QueueRegistryItem_t * pxEntryToWrite = NULL; configASSERT( xQueue ); 7000c8b2: b940 cbnz r0, 7000c8c6 7000c8b4: f04f 0350 mov.w r3, #80 @ 0x50 7000c8b8: f383 8811 msr BASEPRI, r3 7000c8bc: f3bf 8f6f isb sy 7000c8c0: f3bf 8f4f dsb sy 7000c8c4: e7fe b.n 7000c8c4 if( pcQueueName != NULL ) 7000c8c6: b1b1 cbz r1, 7000c8f6 7000c8c8: 4a0b ldr r2, [pc, #44] @ (7000c8f8 ) QueueRegistryItem_t * pxEntryToWrite = NULL; 7000c8ca: 2300 movs r3, #0 7000c8cc: 4615 mov r5, r2 { /* See if there is an empty space in the registry. A NULL name denotes * a free slot. */ for( ux = ( UBaseType_t ) 0U; ux < ( UBaseType_t ) configQUEUE_REGISTRY_SIZE; ux++ ) 7000c8ce: 461c mov r4, r3 { /* Replace an existing entry if the queue is already in the registry. */ if( xQueue == xQueueRegistry[ ux ].xHandle ) 7000c8d0: 6856 ldr r6, [r2, #4] 7000c8d2: 4286 cmp r6, r0 7000c8d4: d104 bne.n 7000c8e0 { pxEntryToWrite = &( xQueueRegistry[ ux ] ); 7000c8d6: eb05 03c4 add.w r3, r5, r4, lsl #3 if( pxEntryToWrite != NULL ) { /* Store the information on this queue. */ pxEntryToWrite->pcQueueName = pcQueueName; pxEntryToWrite->xHandle = xQueue; 7000c8da: e9c3 1000 strd r1, r0, [r3] traceQUEUE_REGISTRY_ADD( xQueue, pcQueueName ); } } 7000c8de: e00a b.n 7000c8f6 else if( ( pxEntryToWrite == NULL ) && ( xQueueRegistry[ ux ].pcQueueName == NULL ) ) 7000c8e0: b91b cbnz r3, 7000c8ea 7000c8e2: 6816 ldr r6, [r2, #0] pxEntryToWrite = &( xQueueRegistry[ ux ] ); 7000c8e4: 2e00 cmp r6, #0 7000c8e6: bf08 it eq 7000c8e8: 4613 moveq r3, r2 for( ux = ( UBaseType_t ) 0U; ux < ( UBaseType_t ) configQUEUE_REGISTRY_SIZE; ux++ ) 7000c8ea: 3401 adds r4, #1 7000c8ec: 3208 adds r2, #8 7000c8ee: 2c08 cmp r4, #8 7000c8f0: d1ee bne.n 7000c8d0 if( pxEntryToWrite != NULL ) 7000c8f2: 2b00 cmp r3, #0 7000c8f4: d1f1 bne.n 7000c8da } 7000c8f6: bd70 pop {r4, r5, r6, pc} 7000c8f8: 2400d408 .word 0x2400d408 7000c8fc : /*-----------------------------------------------------------*/ #if ( configQUEUE_REGISTRY_SIZE > 0 ) void vQueueUnregisterQueue( QueueHandle_t xQueue ) { 7000c8fc: b510 push {r4, lr} UBaseType_t ux; configASSERT( xQueue ); 7000c8fe: b940 cbnz r0, 7000c912 7000c900: f04f 0350 mov.w r3, #80 @ 0x50 7000c904: f383 8811 msr BASEPRI, r3 7000c908: f3bf 8f6f isb sy 7000c90c: f3bf 8f4f dsb sy 7000c910: e7fe b.n 7000c910 /* See if the handle of the queue being unregistered in actually in the * registry. */ for( ux = ( UBaseType_t ) 0U; ux < ( UBaseType_t ) configQUEUE_REGISTRY_SIZE; ux++ ) 7000c912: 2300 movs r3, #0 { if( xQueueRegistry[ ux ].xHandle == xQueue ) 7000c914: 4a08 ldr r2, [pc, #32] @ (7000c938 ) 7000c916: f852 1033 ldr.w r1, [r2, r3, lsl #3] 7000c91a: 00dc lsls r4, r3, #3 7000c91c: 4281 cmp r1, r0 7000c91e: d106 bne.n 7000c92e { /* Set the name to NULL to show that this slot if free again. */ xQueueRegistry[ ux ].pcQueueName = NULL; 7000c920: 4a06 ldr r2, [pc, #24] @ (7000c93c ) 7000c922: 2100 movs r1, #0 7000c924: f842 1033 str.w r1, [r2, r3, lsl #3] /* Set the handle to NULL to ensure the same queue handle cannot * appear in the registry twice if it is added, removed, then * added again. */ xQueueRegistry[ ux ].xHandle = ( QueueHandle_t ) 0; 7000c928: 4422 add r2, r4 7000c92a: 6051 str r1, [r2, #4] else { mtCOVERAGE_TEST_MARKER(); } } } /*lint !e818 xQueue could not be pointer to const because it is a typedef. */ 7000c92c: bd10 pop {r4, pc} for( ux = ( UBaseType_t ) 0U; ux < ( UBaseType_t ) configQUEUE_REGISTRY_SIZE; ux++ ) 7000c92e: 3301 adds r3, #1 7000c930: 2b08 cmp r3, #8 7000c932: d1f0 bne.n 7000c916 7000c934: e7fa b.n 7000c92c 7000c936: bf00 nop 7000c938: 2400d40c .word 0x2400d40c 7000c93c: 2400d408 .word 0x2400d408 7000c940 : { 7000c940: b510 push {r4, lr} configASSERT( pxQueue ); 7000c942: b940 cbnz r0, 7000c956 7000c944: f04f 0350 mov.w r3, #80 @ 0x50 7000c948: f383 8811 msr BASEPRI, r3 7000c94c: f3bf 8f6f isb sy 7000c950: f3bf 8f4f dsb sy 7000c954: e7fe b.n 7000c954 vQueueUnregisterQueue( pxQueue ); 7000c956: f7ff ffd1 bl 7000c8fc if( pxQueue->ucStaticallyAllocated == ( uint8_t ) pdFALSE ) 7000c95a: f890 3046 ldrb.w r3, [r0, #70] @ 0x46 7000c95e: b91b cbnz r3, 7000c968 } 7000c960: e8bd 4010 ldmia.w sp!, {r4, lr} vPortFree( pxQueue ); 7000c964: f7ff b8d6 b.w 7000bb14 } 7000c968: bd10 pop {r4, pc} 7000c96a : #if ( configUSE_TIMERS == 1 ) void vQueueWaitForMessageRestricted( QueueHandle_t xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely ) { 7000c96a: b570 push {r4, r5, r6, lr} 7000c96c: 4604 mov r4, r0 7000c96e: 460d mov r5, r1 7000c970: 4616 mov r6, r2 * will not actually cause the task to block, just place it on a blocked * list. It will not block until the scheduler is unlocked - at which * time a yield will be performed. If an item is added to the queue while * the queue is locked, and the calling task blocks on the queue, then the * calling task will be immediately unblocked when the queue is unlocked. */ prvLockQueue( pxQueue ); 7000c972: f7ff f9a7 bl 7000bcc4 7000c976: f894 3044 ldrb.w r3, [r4, #68] @ 0x44 7000c97a: 2bff cmp r3, #255 @ 0xff 7000c97c: d102 bne.n 7000c984 7000c97e: 2300 movs r3, #0 7000c980: f884 3044 strb.w r3, [r4, #68] @ 0x44 7000c984: f894 3045 ldrb.w r3, [r4, #69] @ 0x45 7000c988: 2bff cmp r3, #255 @ 0xff 7000c98a: d102 bne.n 7000c992 7000c98c: 2300 movs r3, #0 7000c98e: f884 3045 strb.w r3, [r4, #69] @ 0x45 7000c992: f7ff f9b7 bl 7000bd04 if( pxQueue->uxMessagesWaiting == ( UBaseType_t ) 0U ) 7000c996: 6ba3 ldr r3, [r4, #56] @ 0x38 7000c998: b92b cbnz r3, 7000c9a6 { /* There is nothing in the queue, block for the specified period. */ vTaskPlaceOnEventListRestricted( &( pxQueue->xTasksWaitingToReceive ), xTicksToWait, xWaitIndefinitely ); 7000c99a: 4632 mov r2, r6 7000c99c: 4629 mov r1, r5 7000c99e: f104 0024 add.w r0, r4, #36 @ 0x24 7000c9a2: f000 fc89 bl 7000d2b8 else { mtCOVERAGE_TEST_MARKER(); } prvUnlockQueue( pxQueue ); 7000c9a6: 4620 mov r0, r4 } 7000c9a8: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} prvUnlockQueue( pxQueue ); 7000c9ac: f7ff bb34 b.w 7000c018 7000c9b0 : } } /*-----------------------------------------------------------*/ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) { 7000c9b0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 7000c9b4: 4604 mov r4, r0 /* Ensure interrupts don't access the task lists while the lists are being * updated. */ taskENTER_CRITICAL(); 7000c9b6: f7ff f985 bl 7000bcc4 { uxCurrentNumberOfTasks++; 7000c9ba: 4b33 ldr r3, [pc, #204] @ (7000ca88 ) if( pxCurrentTCB == NULL ) 7000c9bc: 4e33 ldr r6, [pc, #204] @ (7000ca8c ) uxCurrentNumberOfTasks++; 7000c9be: 681a ldr r2, [r3, #0] 7000c9c0: 4f33 ldr r7, [pc, #204] @ (7000ca90 ) 7000c9c2: 3201 adds r2, #1 7000c9c4: 601a str r2, [r3, #0] if( pxCurrentTCB == NULL ) 7000c9c6: 6835 ldr r5, [r6, #0] 7000c9c8: 2d00 cmp r5, #0 7000c9ca: d152 bne.n 7000ca72 { /* There are no other tasks, or all the other tasks are in * the suspended state - make this the current task. */ pxCurrentTCB = pxNewTCB; 7000c9cc: 6034 str r4, [r6, #0] if( uxCurrentNumberOfTasks == ( UBaseType_t ) 1 ) 7000c9ce: 681b ldr r3, [r3, #0] 7000c9d0: 2b01 cmp r3, #1 7000c9d2: d11f bne.n 7000ca14 7000c9d4: 46b8 mov r8, r7 static void prvInitialiseTaskLists( void ) { UBaseType_t uxPriority; for( uxPriority = ( UBaseType_t ) 0U; uxPriority < ( UBaseType_t ) configMAX_PRIORITIES; uxPriority++ ) 7000c9d6: 3501 adds r5, #1 { vListInitialise( &( pxReadyTasksLists[ uxPriority ] ) ); 7000c9d8: 4640 mov r0, r8 7000c9da: f7ff f8d5 bl 7000bb88 for( uxPriority = ( UBaseType_t ) 0U; uxPriority < ( UBaseType_t ) configMAX_PRIORITIES; uxPriority++ ) 7000c9de: f108 0814 add.w r8, r8, #20 7000c9e2: 2d38 cmp r5, #56 @ 0x38 7000c9e4: d1f7 bne.n 7000c9d6 } vListInitialise( &xDelayedTaskList1 ); 7000c9e6: f8df 80d0 ldr.w r8, [pc, #208] @ 7000cab8 vListInitialise( &xDelayedTaskList2 ); 7000c9ea: 4d2a ldr r5, [pc, #168] @ (7000ca94 ) vListInitialise( &xDelayedTaskList1 ); 7000c9ec: 4640 mov r0, r8 7000c9ee: f7ff f8cb bl 7000bb88 vListInitialise( &xDelayedTaskList2 ); 7000c9f2: 4628 mov r0, r5 7000c9f4: f7ff f8c8 bl 7000bb88 vListInitialise( &xPendingReadyList ); 7000c9f8: 4827 ldr r0, [pc, #156] @ (7000ca98 ) 7000c9fa: f7ff f8c5 bl 7000bb88 #if ( INCLUDE_vTaskDelete == 1 ) { vListInitialise( &xTasksWaitingTermination ); 7000c9fe: 4827 ldr r0, [pc, #156] @ (7000ca9c ) 7000ca00: f7ff f8c2 bl 7000bb88 } #endif /* INCLUDE_vTaskDelete */ #if ( INCLUDE_vTaskSuspend == 1 ) { vListInitialise( &xSuspendedTaskList ); 7000ca04: 4826 ldr r0, [pc, #152] @ (7000caa0 ) 7000ca06: f7ff f8bf bl 7000bb88 } #endif /* INCLUDE_vTaskSuspend */ /* Start with pxDelayedTaskList using list1 and the pxOverflowDelayedTaskList * using list2. */ pxDelayedTaskList = &xDelayedTaskList1; 7000ca0a: 4b26 ldr r3, [pc, #152] @ (7000caa4 ) 7000ca0c: f8c3 8000 str.w r8, [r3] pxOverflowDelayedTaskList = &xDelayedTaskList2; 7000ca10: 4b25 ldr r3, [pc, #148] @ (7000caa8 ) 7000ca12: 601d str r5, [r3, #0] uxTaskNumber++; 7000ca14: 4a25 ldr r2, [pc, #148] @ (7000caac ) 7000ca16: 6813 ldr r3, [r2, #0] 7000ca18: 3301 adds r3, #1 7000ca1a: 6013 str r3, [r2, #0] prvAddTaskToReadyList( pxNewTCB ); 7000ca1c: 4a24 ldr r2, [pc, #144] @ (7000cab0 ) pxNewTCB->uxTCBNumber = uxTaskNumber; 7000ca1e: 6463 str r3, [r4, #68] @ 0x44 prvAddTaskToReadyList( pxNewTCB ); 7000ca20: 6811 ldr r1, [r2, #0] 7000ca22: 6ae3 ldr r3, [r4, #44] @ 0x2c 7000ca24: 428b cmp r3, r1 7000ca26: d900 bls.n 7000ca2a 7000ca28: 6013 str r3, [r2, #0] 7000ca2a: 2214 movs r2, #20 7000ca2c: 1d20 adds r0, r4, #4 7000ca2e: 4353 muls r3, r2 7000ca30: 18f9 adds r1, r7, r3 7000ca32: 684a ldr r2, [r1, #4] 7000ca34: 60a2 str r2, [r4, #8] 7000ca36: 6895 ldr r5, [r2, #8] 7000ca38: 60e5 str r5, [r4, #12] 7000ca3a: 6068 str r0, [r5, #4] 7000ca3c: 6090 str r0, [r2, #8] 7000ca3e: 58fa ldr r2, [r7, r3] 7000ca40: 6161 str r1, [r4, #20] 7000ca42: 3201 adds r2, #1 7000ca44: 50fa str r2, [r7, r3] taskEXIT_CRITICAL(); 7000ca46: f7ff f95d bl 7000bd04 if( xSchedulerRunning != pdFALSE ) 7000ca4a: 4b1a ldr r3, [pc, #104] @ (7000cab4 ) 7000ca4c: 681b ldr r3, [r3, #0] 7000ca4e: b173 cbz r3, 7000ca6e if( pxCurrentTCB->uxPriority < pxNewTCB->uxPriority ) 7000ca50: 6833 ldr r3, [r6, #0] 7000ca52: 6ada ldr r2, [r3, #44] @ 0x2c 7000ca54: 6ae3 ldr r3, [r4, #44] @ 0x2c 7000ca56: 429a cmp r2, r3 7000ca58: d209 bcs.n 7000ca6e taskYIELD_IF_USING_PREEMPTION(); 7000ca5a: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000ca5e: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000ca62: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000ca66: f3bf 8f4f dsb sy 7000ca6a: f3bf 8f6f isb sy } 7000ca6e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if( xSchedulerRunning == pdFALSE ) 7000ca72: 4b10 ldr r3, [pc, #64] @ (7000cab4 ) 7000ca74: 681b ldr r3, [r3, #0] 7000ca76: 2b00 cmp r3, #0 7000ca78: d1cc bne.n 7000ca14 if( pxCurrentTCB->uxPriority <= pxNewTCB->uxPriority ) 7000ca7a: 6833 ldr r3, [r6, #0] 7000ca7c: 6ada ldr r2, [r3, #44] @ 0x2c 7000ca7e: 6ae3 ldr r3, [r4, #44] @ 0x2c 7000ca80: 429a cmp r2, r3 7000ca82: d8c7 bhi.n 7000ca14 pxCurrentTCB = pxNewTCB; 7000ca84: 6034 str r4, [r6, #0] 7000ca86: e7c5 b.n 7000ca14 7000ca88: 2400d46c .word 0x2400d46c 7000ca8c: 2400d940 .word 0x2400d940 7000ca90: 2400d4e0 .word 0x2400d4e0 7000ca94: 2400d4b8 .word 0x2400d4b8 7000ca98: 2400d49c .word 0x2400d49c 7000ca9c: 2400d488 .word 0x2400d488 7000caa0: 2400d470 .word 0x2400d470 7000caa4: 2400d4b4 .word 0x2400d4b4 7000caa8: 2400d4b0 .word 0x2400d4b0 7000caac: 2400d450 .word 0x2400d450 7000cab0: 2400d464 .word 0x2400d464 7000cab4: 2400d460 .word 0x2400d460 7000cab8: 2400d4cc .word 0x2400d4cc 7000cabc : #endif /*-----------------------------------------------------------*/ static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait, const BaseType_t xCanBlockIndefinitely ) { 7000cabc: b5f8 push {r3, r4, r5, r6, r7, lr} TickType_t xTimeToWake; const TickType_t xConstTickCount = xTickCount; 7000cabe: 4b1b ldr r3, [pc, #108] @ (7000cb2c ) { 7000cac0: 4606 mov r6, r0 } #endif /* Remove the task from the ready list before adding it to the blocked list * as the same list item is used for both lists. */ if( uxListRemove( &( pxCurrentTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) 7000cac2: 4c1b ldr r4, [pc, #108] @ (7000cb30 ) { 7000cac4: 460f mov r7, r1 const TickType_t xConstTickCount = xTickCount; 7000cac6: 681d ldr r5, [r3, #0] if( uxListRemove( &( pxCurrentTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) 7000cac8: 6820 ldr r0, [r4, #0] 7000caca: 3004 adds r0, #4 7000cacc: f7ff f881 bl 7000bbd2 mtCOVERAGE_TEST_MARKER(); } #if ( INCLUDE_vTaskSuspend == 1 ) { if( ( xTicksToWait == portMAX_DELAY ) && ( xCanBlockIndefinitely != pdFALSE ) ) 7000cad0: 1c73 adds r3, r6, #1 7000cad2: d113 bne.n 7000cafc 7000cad4: b197 cbz r7, 7000cafc { /* Add the task to the suspended task list instead of a delayed task * list to ensure it is not woken by a timing event. It will block * indefinitely. */ listINSERT_END( &xSuspendedTaskList, &( pxCurrentTCB->xStateListItem ) ); 7000cad6: 4b17 ldr r3, [pc, #92] @ (7000cb34 ) 7000cad8: 6821 ldr r1, [r4, #0] 7000cada: 685a ldr r2, [r3, #4] 7000cadc: 608a str r2, [r1, #8] 7000cade: 6821 ldr r1, [r4, #0] 7000cae0: 6890 ldr r0, [r2, #8] 7000cae2: 60c8 str r0, [r1, #12] 7000cae4: 6821 ldr r1, [r4, #0] 7000cae6: 3104 adds r1, #4 7000cae8: 6041 str r1, [r0, #4] 7000caea: 6821 ldr r1, [r4, #0] 7000caec: 3104 adds r1, #4 7000caee: 6091 str r1, [r2, #8] 7000caf0: 6822 ldr r2, [r4, #0] 7000caf2: 6153 str r3, [r2, #20] 7000caf4: 681a ldr r2, [r3, #0] 7000caf6: 3201 adds r2, #1 7000caf8: 601a str r2, [r3, #0] /* Avoid compiler warning when INCLUDE_vTaskSuspend is not 1. */ ( void ) xCanBlockIndefinitely; } #endif /* INCLUDE_vTaskSuspend */ } 7000cafa: bdf8 pop {r3, r4, r5, r6, r7, pc} xTimeToWake = xConstTickCount + xTicksToWait; 7000cafc: 19ad adds r5, r5, r6 listSET_LIST_ITEM_VALUE( &( pxCurrentTCB->xStateListItem ), xTimeToWake ); 7000cafe: 6823 ldr r3, [r4, #0] 7000cb00: 605d str r5, [r3, #4] if( xTimeToWake < xConstTickCount ) 7000cb02: d307 bcc.n 7000cb14 vListInsert( pxOverflowDelayedTaskList, &( pxCurrentTCB->xStateListItem ) ); 7000cb04: 4b0c ldr r3, [pc, #48] @ (7000cb38 ) 7000cb06: 6818 ldr r0, [r3, #0] 7000cb08: 6821 ldr r1, [r4, #0] } 7000cb0a: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr} vListInsert( pxOverflowDelayedTaskList, &( pxCurrentTCB->xStateListItem ) ); 7000cb0e: 3104 adds r1, #4 7000cb10: f7ff b848 b.w 7000bba4 vListInsert( pxDelayedTaskList, &( pxCurrentTCB->xStateListItem ) ); 7000cb14: 4b09 ldr r3, [pc, #36] @ (7000cb3c ) 7000cb16: 6818 ldr r0, [r3, #0] 7000cb18: 6821 ldr r1, [r4, #0] 7000cb1a: 3104 adds r1, #4 7000cb1c: f7ff f842 bl 7000bba4 if( xTimeToWake < xNextTaskUnblockTime ) 7000cb20: 4b07 ldr r3, [pc, #28] @ (7000cb40 ) 7000cb22: 681a ldr r2, [r3, #0] 7000cb24: 42aa cmp r2, r5 7000cb26: d9e8 bls.n 7000cafa xNextTaskUnblockTime = xTimeToWake; 7000cb28: 601d str r5, [r3, #0] } 7000cb2a: e7e6 b.n 7000cafa 7000cb2c: 2400d468 .word 0x2400d468 7000cb30: 2400d940 .word 0x2400d940 7000cb34: 2400d470 .word 0x2400d470 7000cb38: 2400d4b0 .word 0x2400d4b0 7000cb3c: 2400d4b4 .word 0x2400d4b4 7000cb40: 2400d44c .word 0x2400d44c 7000cb44 : if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE ) 7000cb44: 4a06 ldr r2, [pc, #24] @ (7000cb60 ) 7000cb46: 6813 ldr r3, [r2, #0] 7000cb48: 6819 ldr r1, [r3, #0] 7000cb4a: 4b06 ldr r3, [pc, #24] @ (7000cb64 ) 7000cb4c: b919 cbnz r1, 7000cb56 xNextTaskUnblockTime = portMAX_DELAY; 7000cb4e: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff xNextTaskUnblockTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxDelayedTaskList ); 7000cb52: 601a str r2, [r3, #0] } 7000cb54: 4770 bx lr xNextTaskUnblockTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxDelayedTaskList ); 7000cb56: 6812 ldr r2, [r2, #0] 7000cb58: 68d2 ldr r2, [r2, #12] 7000cb5a: 6812 ldr r2, [r2, #0] 7000cb5c: e7f9 b.n 7000cb52 7000cb5e: bf00 nop 7000cb60: 2400d4b4 .word 0x2400d4b4 7000cb64: 2400d44c .word 0x2400d44c 7000cb68 : configDEINIT_TLS_BLOCK( pxCurrentTCB->xTLSBlock ); 7000cb68: 4b0f ldr r3, [pc, #60] @ (7000cba8 ) { 7000cb6a: b510 push {r4, lr} 7000cb6c: 4604 mov r4, r0 configDEINIT_TLS_BLOCK( pxCurrentTCB->xTLSBlock ); 7000cb6e: 6818 ldr r0, [r3, #0] 7000cb70: 3058 adds r0, #88 @ 0x58 7000cb72: f02e fc2f bl 7003b3d4 <_reclaim_reent> if( pxTCB->ucStaticallyAllocated == tskDYNAMICALLY_ALLOCATED_STACK_AND_TCB ) 7000cb76: f894 30a9 ldrb.w r3, [r4, #169] @ 0xa9 7000cb7a: b93b cbnz r3, 7000cb8c vPortFreeStack( pxTCB->pxStack ); 7000cb7c: 6b20 ldr r0, [r4, #48] @ 0x30 7000cb7e: f7fe ffc9 bl 7000bb14 vPortFree( pxTCB ); 7000cb82: 4620 mov r0, r4 } 7000cb84: e8bd 4010 ldmia.w sp!, {r4, lr} vPortFree( pxTCB ); 7000cb88: f7fe bfc4 b.w 7000bb14 else if( pxTCB->ucStaticallyAllocated == tskSTATICALLY_ALLOCATED_STACK_ONLY ) 7000cb8c: 2b01 cmp r3, #1 7000cb8e: d0f8 beq.n 7000cb82 configASSERT( pxTCB->ucStaticallyAllocated == tskSTATICALLY_ALLOCATED_STACK_AND_TCB ); 7000cb90: 2b02 cmp r3, #2 7000cb92: d008 beq.n 7000cba6 7000cb94: f04f 0350 mov.w r3, #80 @ 0x50 7000cb98: f383 8811 msr BASEPRI, r3 7000cb9c: f3bf 8f6f isb sy 7000cba0: f3bf 8f4f dsb sy 7000cba4: e7fe b.n 7000cba4 } 7000cba6: bd10 pop {r4, pc} 7000cba8: 2400d940 .word 0x2400d940 7000cbac : { 7000cbac: b580 push {r7, lr} while( uxDeletedTasksWaitingCleanUp > ( UBaseType_t ) 0U ) 7000cbae: 4c14 ldr r4, [pc, #80] @ (7000cc00 ) pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( &xTasksWaitingTermination ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ 7000cbb0: 4f14 ldr r7, [pc, #80] @ (7000cc04 ) --uxCurrentNumberOfTasks; 7000cbb2: 4d15 ldr r5, [pc, #84] @ (7000cc08 ) while( uxDeletedTasksWaitingCleanUp > ( UBaseType_t ) 0U ) 7000cbb4: 6823 ldr r3, [r4, #0] 7000cbb6: b983 cbnz r3, 7000cbda if( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ tskIDLE_PRIORITY ] ) ) > ( UBaseType_t ) 1 ) 7000cbb8: 4b14 ldr r3, [pc, #80] @ (7000cc0c ) 7000cbba: 681b ldr r3, [r3, #0] 7000cbbc: 2b01 cmp r3, #1 7000cbbe: d909 bls.n 7000cbd4 taskYIELD(); 7000cbc0: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000cbc4: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000cbc8: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000cbcc: f3bf 8f4f dsb sy 7000cbd0: f3bf 8f6f isb sy vApplicationIdleHook(); 7000cbd4: f7f3 fd98 bl 70000708 prvCheckTasksWaitingTermination(); 7000cbd8: e7eb b.n 7000cbb2 taskENTER_CRITICAL(); 7000cbda: f7ff f873 bl 7000bcc4 pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( &xTasksWaitingTermination ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ 7000cbde: 68fb ldr r3, [r7, #12] 7000cbe0: 68de ldr r6, [r3, #12] ( void ) uxListRemove( &( pxTCB->xStateListItem ) ); 7000cbe2: 1d30 adds r0, r6, #4 7000cbe4: f7fe fff5 bl 7000bbd2 --uxCurrentNumberOfTasks; 7000cbe8: 682b ldr r3, [r5, #0] 7000cbea: 3b01 subs r3, #1 7000cbec: 602b str r3, [r5, #0] --uxDeletedTasksWaitingCleanUp; 7000cbee: 6823 ldr r3, [r4, #0] 7000cbf0: 3b01 subs r3, #1 7000cbf2: 6023 str r3, [r4, #0] taskEXIT_CRITICAL(); 7000cbf4: f7ff f886 bl 7000bd04 prvDeleteTCB( pxTCB ); 7000cbf8: 4630 mov r0, r6 7000cbfa: f7ff ffb5 bl 7000cb68 7000cbfe: e7d9 b.n 7000cbb4 7000cc00: 2400d484 .word 0x2400d484 7000cc04: 2400d488 .word 0x2400d488 7000cc08: 2400d46c .word 0x2400d46c 7000cc0c: 2400d4e0 .word 0x2400d4e0 7000cc10 : static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, 7000cc10: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000cc14: 9c0c ldr r4, [sp, #48] @ 0x30 ( void ) memset( pxNewTCB->pxStack, ( int ) tskSTACK_FILL_BYTE, ( size_t ) ulStackDepth * sizeof( StackType_t ) ); 7000cc16: 0096 lsls r6, r2, #2 static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, 7000cc18: 460d mov r5, r1 7000cc1a: 4680 mov r8, r0 ( void ) memset( pxNewTCB->pxStack, ( int ) tskSTACK_FILL_BYTE, ( size_t ) ulStackDepth * sizeof( StackType_t ) ); 7000cc1c: 4632 mov r2, r6 7000cc1e: 21a5 movs r1, #165 @ 0xa5 7000cc20: 6b20 ldr r0, [r4, #48] @ 0x30 static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, 7000cc22: 4699 mov r9, r3 7000cc24: e9dd 7a0a ldrd r7, sl, [sp, #40] @ 0x28 ( void ) memset( pxNewTCB->pxStack, ( int ) tskSTACK_FILL_BYTE, ( size_t ) ulStackDepth * sizeof( StackType_t ) ); 7000cc28: f02e fb7c bl 7003b324 pxTopOfStack = &( pxNewTCB->pxStack[ ulStackDepth - ( uint32_t ) 1 ] ); 7000cc2c: f8d4 b030 ldr.w fp, [r4, #48] @ 0x30 if( pcName != NULL ) 7000cc30: b16d cbz r5, 7000cc4e 7000cc32: 1e6b subs r3, r5, #1 7000cc34: f104 0233 add.w r2, r4, #51 @ 0x33 7000cc38: 350f adds r5, #15 pxNewTCB->pcTaskName[ x ] = pcName[ x ]; 7000cc3a: f813 1f01 ldrb.w r1, [r3, #1]! 7000cc3e: f802 1f01 strb.w r1, [r2, #1]! if( pcName[ x ] == ( char ) 0x00 ) 7000cc42: b109 cbz r1, 7000cc48 for( x = ( UBaseType_t ) 0; x < ( UBaseType_t ) configMAX_TASK_NAME_LEN; x++ ) 7000cc44: 42ab cmp r3, r5 7000cc46: d1f8 bne.n 7000cc3a pxNewTCB->pcTaskName[ configMAX_TASK_NAME_LEN - 1 ] = '\0'; 7000cc48: 2300 movs r3, #0 7000cc4a: f884 3043 strb.w r3, [r4, #67] @ 0x43 configASSERT( uxPriority < configMAX_PRIORITIES ); 7000cc4e: 2f37 cmp r7, #55 @ 0x37 7000cc50: d908 bls.n 7000cc64 7000cc52: f04f 0350 mov.w r3, #80 @ 0x50 7000cc56: f383 8811 msr BASEPRI, r3 7000cc5a: f3bf 8f6f isb sy 7000cc5e: f3bf 8f4f dsb sy 7000cc62: e7fe b.n 7000cc62 vListInitialiseItem( &( pxNewTCB->xStateListItem ) ); 7000cc64: 1d20 adds r0, r4, #4 pxNewTCB->uxPriority = uxPriority; 7000cc66: 62e7 str r7, [r4, #44] @ 0x2c pxNewTCB->uxBasePriority = uxPriority; 7000cc68: 64e7 str r7, [r4, #76] @ 0x4c listSET_LIST_ITEM_VALUE( &( pxNewTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ 7000cc6a: f1c7 0738 rsb r7, r7, #56 @ 0x38 vListInitialiseItem( &( pxNewTCB->xStateListItem ) ); 7000cc6e: f7fe ff96 bl 7000bb9e vListInitialiseItem( &( pxNewTCB->xEventListItem ) ); 7000cc72: f104 0018 add.w r0, r4, #24 7000cc76: f7fe ff92 bl 7000bb9e configINIT_TLS_BLOCK( pxNewTCB->xTLSBlock, pxTopOfStack ); 7000cc7a: 224c movs r2, #76 @ 0x4c 7000cc7c: 2100 movs r1, #0 7000cc7e: f104 0058 add.w r0, r4, #88 @ 0x58 listSET_LIST_ITEM_OWNER( &( pxNewTCB->xStateListItem ), pxNewTCB ); 7000cc82: 6124 str r4, [r4, #16] pxTopOfStack = &( pxNewTCB->pxStack[ ulStackDepth - ( uint32_t ) 1 ] ); 7000cc84: 3e04 subs r6, #4 listSET_LIST_ITEM_VALUE( &( pxNewTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ 7000cc86: 61a7 str r7, [r4, #24] listSET_LIST_ITEM_OWNER( &( pxNewTCB->xEventListItem ), pxNewTCB ); 7000cc88: 6264 str r4, [r4, #36] @ 0x24 configINIT_TLS_BLOCK( pxNewTCB->xTLSBlock, pxTopOfStack ); 7000cc8a: f02e fb4b bl 7003b324 7000cc8e: 4b0b ldr r3, [pc, #44] @ (7000ccbc ) pxTopOfStack = &( pxNewTCB->pxStack[ ulStackDepth - ( uint32_t ) 1 ] ); 7000cc90: eb0b 0006 add.w r0, fp, r6 pxNewTCB->pxTopOfStack = pxPortInitialiseStack( pxTopOfStack, pxTaskCode, pvParameters ); 7000cc94: 4641 mov r1, r8 configINIT_TLS_BLOCK( pxNewTCB->xTLSBlock, pxTopOfStack ); 7000cc96: f103 0268 add.w r2, r3, #104 @ 0x68 7000cc9a: 65e3 str r3, [r4, #92] @ 0x5c 7000cc9c: 33d0 adds r3, #208 @ 0xd0 pxNewTCB->pxTopOfStack = pxPortInitialiseStack( pxTopOfStack, pxTaskCode, pvParameters ); 7000cc9e: f020 0007 bic.w r0, r0, #7 configINIT_TLS_BLOCK( pxNewTCB->xTLSBlock, pxTopOfStack ); 7000cca2: 6622 str r2, [r4, #96] @ 0x60 pxNewTCB->pxTopOfStack = pxPortInitialiseStack( pxTopOfStack, pxTaskCode, pvParameters ); 7000cca4: 464a mov r2, r9 configINIT_TLS_BLOCK( pxNewTCB->xTLSBlock, pxTopOfStack ); 7000cca6: 6663 str r3, [r4, #100] @ 0x64 pxNewTCB->pxTopOfStack = pxPortInitialiseStack( pxTopOfStack, pxTaskCode, pvParameters ); 7000cca8: f7fe ffe2 bl 7000bc70 7000ccac: 6020 str r0, [r4, #0] if( pxCreatedTask != NULL ) 7000ccae: f1ba 0f00 cmp.w sl, #0 7000ccb2: d001 beq.n 7000ccb8 *pxCreatedTask = ( TaskHandle_t ) pxNewTCB; 7000ccb4: f8ca 4000 str.w r4, [sl] } 7000ccb8: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 7000ccbc: 2400e168 .word 0x2400e168 7000ccc0 : { 7000ccc0: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7000ccc4: b087 sub sp, #28 7000ccc6: 4605 mov r5, r0 7000ccc8: 460e mov r6, r1 7000ccca: 4617 mov r7, r2 7000cccc: 4698 mov r8, r3 7000ccce: e9dd 940f ldrd r9, r4, [sp, #60] @ 0x3c configASSERT( puxStackBuffer != NULL ); 7000ccd2: f1b9 0f00 cmp.w r9, #0 7000ccd6: d108 bne.n 7000ccea 7000ccd8: f04f 0350 mov.w r3, #80 @ 0x50 7000ccdc: f383 8811 msr BASEPRI, r3 7000cce0: f3bf 8f6f isb sy 7000cce4: f3bf 8f4f dsb sy 7000cce8: e7fe b.n 7000cce8 configASSERT( pxTaskBuffer != NULL ); 7000ccea: b944 cbnz r4, 7000ccfe 7000ccec: f04f 0350 mov.w r3, #80 @ 0x50 7000ccf0: f383 8811 msr BASEPRI, r3 7000ccf4: f3bf 8f6f isb sy 7000ccf8: f3bf 8f4f dsb sy 7000ccfc: e7fe b.n 7000ccfc volatile size_t xSize = sizeof( StaticTask_t ); 7000ccfe: 23ac movs r3, #172 @ 0xac 7000cd00: 9305 str r3, [sp, #20] configASSERT( xSize == sizeof( TCB_t ) ); 7000cd02: 9a05 ldr r2, [sp, #20] 7000cd04: 429a cmp r2, r3 7000cd06: d008 beq.n 7000cd1a 7000cd08: f04f 0350 mov.w r3, #80 @ 0x50 7000cd0c: f383 8811 msr BASEPRI, r3 7000cd10: f3bf 8f6f isb sy 7000cd14: f3bf 8f4f dsb sy 7000cd18: e7fe b.n 7000cd18 memset( ( void * ) pxNewTCB, 0x00, sizeof( TCB_t ) ); 7000cd1a: 2100 movs r1, #0 7000cd1c: 4620 mov r0, r4 ( void ) xSize; /* Prevent lint warning when configASSERT() is not used. */ 7000cd1e: 9b05 ldr r3, [sp, #20] memset( ( void * ) pxNewTCB, 0x00, sizeof( TCB_t ) ); 7000cd20: f02e fb00 bl 7003b324 pxNewTCB->ucStaticallyAllocated = tskSTATICALLY_ALLOCATED_STACK_AND_TCB; 7000cd24: 2302 movs r3, #2 pxNewTCB->pxStack = ( StackType_t * ) puxStackBuffer; 7000cd26: f8c4 9030 str.w r9, [r4, #48] @ 0x30 prvInitialiseNewTask( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, &xReturn, pxNewTCB, NULL ); 7000cd2a: 463a mov r2, r7 7000cd2c: 4631 mov r1, r6 pxNewTCB->ucStaticallyAllocated = tskSTATICALLY_ALLOCATED_STACK_AND_TCB; 7000cd2e: f884 30a9 strb.w r3, [r4, #169] @ 0xa9 prvInitialiseNewTask( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, &xReturn, pxNewTCB, NULL ); 7000cd32: ab04 add r3, sp, #16 7000cd34: 4628 mov r0, r5 7000cd36: 9402 str r4, [sp, #8] 7000cd38: 9301 str r3, [sp, #4] 7000cd3a: 9b0e ldr r3, [sp, #56] @ 0x38 7000cd3c: 9300 str r3, [sp, #0] 7000cd3e: 4643 mov r3, r8 7000cd40: f7ff ff66 bl 7000cc10 prvAddNewTaskToReadyList( pxNewTCB ); 7000cd44: 4620 mov r0, r4 7000cd46: f7ff fe33 bl 7000c9b0 } 7000cd4a: 9804 ldr r0, [sp, #16] 7000cd4c: b007 add sp, #28 7000cd4e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7000cd52 : { 7000cd52: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7000cd56: 4607 mov r7, r0 7000cd58: b085 sub sp, #20 pxStack = pvPortMallocStack( ( ( ( size_t ) usStackDepth ) * sizeof( StackType_t ) ) ); /*lint !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack and this allocation is the stack. */ 7000cd5a: 0090 lsls r0, r2, #2 { 7000cd5c: 4688 mov r8, r1 7000cd5e: 4616 mov r6, r2 7000cd60: 4699 mov r9, r3 pxStack = pvPortMallocStack( ( ( ( size_t ) usStackDepth ) * sizeof( StackType_t ) ) ); /*lint !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack and this allocation is the stack. */ 7000cd62: f7fe fe49 bl 7000b9f8 if( pxStack != NULL ) 7000cd66: 4605 mov r5, r0 7000cd68: b920 cbnz r0, 7000cd74 xReturn = errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY; 7000cd6a: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff } 7000cd6e: b005 add sp, #20 7000cd70: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} pxNewTCB = ( TCB_t * ) pvPortMalloc( sizeof( TCB_t ) ); /*lint !e9087 !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack, and the first member of TCB_t is always a pointer to the task's stack. */ 7000cd74: 20ac movs r0, #172 @ 0xac 7000cd76: f7fe fe3f bl 7000b9f8 7000cd7a: 4604 mov r4, r0 if( pxNewTCB != NULL ) 7000cd7c: b1a0 cbz r0, 7000cda8 memset( ( void * ) pxNewTCB, 0x00, sizeof( TCB_t ) ); 7000cd7e: 22ac movs r2, #172 @ 0xac 7000cd80: 2100 movs r1, #0 7000cd82: f02e facf bl 7003b324 prvInitialiseNewTask( pxTaskCode, pcName, ( uint32_t ) usStackDepth, pvParameters, uxPriority, pxCreatedTask, pxNewTCB, NULL ); 7000cd86: 9b0d ldr r3, [sp, #52] @ 0x34 pxNewTCB->pxStack = pxStack; 7000cd88: 6325 str r5, [r4, #48] @ 0x30 prvInitialiseNewTask( pxTaskCode, pcName, ( uint32_t ) usStackDepth, pvParameters, uxPriority, pxCreatedTask, pxNewTCB, NULL ); 7000cd8a: 4632 mov r2, r6 7000cd8c: 9301 str r3, [sp, #4] 7000cd8e: 4641 mov r1, r8 7000cd90: 9b0c ldr r3, [sp, #48] @ 0x30 7000cd92: 4638 mov r0, r7 7000cd94: 9402 str r4, [sp, #8] 7000cd96: 9300 str r3, [sp, #0] 7000cd98: 464b mov r3, r9 7000cd9a: f7ff ff39 bl 7000cc10 prvAddNewTaskToReadyList( pxNewTCB ); 7000cd9e: 4620 mov r0, r4 7000cda0: f7ff fe06 bl 7000c9b0 xReturn = pdPASS; 7000cda4: 2001 movs r0, #1 7000cda6: e7e2 b.n 7000cd6e vPortFreeStack( pxStack ); 7000cda8: 4628 mov r0, r5 7000cdaa: f7fe feb3 bl 7000bb14 if( pxNewTCB != NULL ) 7000cdae: e7dc b.n 7000cd6a 7000cdb0 : ++uxSchedulerSuspended; 7000cdb0: 4a02 ldr r2, [pc, #8] @ (7000cdbc ) 7000cdb2: 6813 ldr r3, [r2, #0] 7000cdb4: 3301 adds r3, #1 7000cdb6: 6013 str r3, [r2, #0] } 7000cdb8: 4770 bx lr 7000cdba: bf00 nop 7000cdbc: 2400d448 .word 0x2400d448 7000cdc0 : xTicks = xTickCount; 7000cdc0: 4b01 ldr r3, [pc, #4] @ (7000cdc8 ) 7000cdc2: 6818 ldr r0, [r3, #0] } 7000cdc4: 4770 bx lr 7000cdc6: bf00 nop 7000cdc8: 2400d468 .word 0x2400d468 7000cdcc : return uxCurrentNumberOfTasks; 7000cdcc: 4b01 ldr r3, [pc, #4] @ (7000cdd4 ) 7000cdce: 6818 ldr r0, [r3, #0] } 7000cdd0: 4770 bx lr 7000cdd2: bf00 nop 7000cdd4: 2400d46c .word 0x2400d46c 7000cdd8 : { 7000cdd8: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} if( uxSchedulerSuspended == ( UBaseType_t ) 0U ) 7000cddc: 4b55 ldr r3, [pc, #340] @ (7000cf34 ) 7000cdde: 681b ldr r3, [r3, #0] 7000cde0: 2b00 cmp r3, #0 7000cde2: f040 80a1 bne.w 7000cf28 const TickType_t xConstTickCount = xTickCount + ( TickType_t ) 1; 7000cde6: 4b54 ldr r3, [pc, #336] @ (7000cf38 ) 7000cde8: 681c ldr r4, [r3, #0] 7000cdea: 3401 adds r4, #1 xTickCount = xConstTickCount; 7000cdec: 601c str r4, [r3, #0] if( xConstTickCount == ( TickType_t ) 0U ) /*lint !e774 'if' does not always evaluate to false as it is looking for an overflow. */ 7000cdee: b9bc cbnz r4, 7000ce20 taskSWITCH_DELAYED_LISTS(); 7000cdf0: 4b52 ldr r3, [pc, #328] @ (7000cf3c ) 7000cdf2: 681a ldr r2, [r3, #0] 7000cdf4: 6812 ldr r2, [r2, #0] 7000cdf6: b142 cbz r2, 7000ce0a 7000cdf8: f04f 0350 mov.w r3, #80 @ 0x50 7000cdfc: f383 8811 msr BASEPRI, r3 7000ce00: f3bf 8f6f isb sy 7000ce04: f3bf 8f4f dsb sy 7000ce08: e7fe b.n 7000ce08 7000ce0a: 4a4d ldr r2, [pc, #308] @ (7000cf40 ) 7000ce0c: 6819 ldr r1, [r3, #0] 7000ce0e: 6810 ldr r0, [r2, #0] 7000ce10: 6018 str r0, [r3, #0] 7000ce12: 6011 str r1, [r2, #0] 7000ce14: 4a4b ldr r2, [pc, #300] @ (7000cf44 ) 7000ce16: 6813 ldr r3, [r2, #0] 7000ce18: 3301 adds r3, #1 7000ce1a: 6013 str r3, [r2, #0] 7000ce1c: f7ff fe92 bl 7000cb44 if( xConstTickCount >= xNextTaskUnblockTime ) 7000ce20: 4d49 ldr r5, [pc, #292] @ (7000cf48 ) BaseType_t xSwitchRequired = pdFALSE; 7000ce22: 2100 movs r1, #0 7000ce24: 4849 ldr r0, [pc, #292] @ (7000cf4c ) if( xConstTickCount >= xNextTaskUnblockTime ) 7000ce26: 682b ldr r3, [r5, #0] 7000ce28: 429c cmp r4, r3 7000ce2a: d309 bcc.n 7000ce40 if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE ) 7000ce2c: 4f43 ldr r7, [pc, #268] @ (7000cf3c ) listREMOVE_ITEM( &( pxTCB->xStateListItem ) ); 7000ce2e: 468c mov ip, r1 prvAddTaskToReadyList( pxTCB ); 7000ce30: f8df e128 ldr.w lr, [pc, #296] @ 7000cf5c if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE ) 7000ce34: 683b ldr r3, [r7, #0] 7000ce36: 681b ldr r3, [r3, #0] 7000ce38: b99b cbnz r3, 7000ce62 xNextTaskUnblockTime = portMAX_DELAY; /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ 7000ce3a: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7000ce3e: 602b str r3, [r5, #0] if( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ pxCurrentTCB->uxPriority ] ) ) > ( UBaseType_t ) 1 ) 7000ce40: 4b43 ldr r3, [pc, #268] @ (7000cf50 ) 7000ce42: 2214 movs r2, #20 7000ce44: 681b ldr r3, [r3, #0] 7000ce46: 6adb ldr r3, [r3, #44] @ 0x2c 7000ce48: 4353 muls r3, r2 7000ce4a: 58c0 ldr r0, [r0, r3] if( xYieldPending != pdFALSE ) 7000ce4c: 4b41 ldr r3, [pc, #260] @ (7000cf54 ) 7000ce4e: 681b ldr r3, [r3, #0] 7000ce50: 2801 cmp r0, #1 7000ce52: bf98 it ls 7000ce54: 2b00 cmpls r3, #0 7000ce56: bf14 ite ne 7000ce58: 2001 movne r0, #1 7000ce5a: 2000 moveq r0, #0 7000ce5c: 4308 orrs r0, r1 } 7000ce5e: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} pxTCB = listGET_OWNER_OF_HEAD_ENTRY( pxDelayedTaskList ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ 7000ce62: 683b ldr r3, [r7, #0] 7000ce64: 68db ldr r3, [r3, #12] 7000ce66: 68db ldr r3, [r3, #12] xItemValue = listGET_LIST_ITEM_VALUE( &( pxTCB->xStateListItem ) ); 7000ce68: 685a ldr r2, [r3, #4] if( xConstTickCount < xItemValue ) 7000ce6a: 4294 cmp r4, r2 7000ce6c: d201 bcs.n 7000ce72 xNextTaskUnblockTime = xItemValue; 7000ce6e: 602a str r2, [r5, #0] break; /*lint !e9011 Code structure here is deemed easier to understand with multiple breaks. */ 7000ce70: e7e6 b.n 7000ce40 listREMOVE_ITEM( &( pxTCB->xStateListItem ) ); 7000ce72: e9d3 6202 ldrd r6, r2, [r3, #8] 7000ce76: f8d3 9014 ldr.w r9, [r3, #20] 7000ce7a: f103 0804 add.w r8, r3, #4 7000ce7e: 60b2 str r2, [r6, #8] 7000ce80: 689e ldr r6, [r3, #8] 7000ce82: 6056 str r6, [r2, #4] 7000ce84: f8d9 2004 ldr.w r2, [r9, #4] 7000ce88: 4542 cmp r2, r8 7000ce8a: bf04 itt eq 7000ce8c: 68da ldreq r2, [r3, #12] 7000ce8e: f8c9 2004 streq.w r2, [r9, #4] 7000ce92: f8d9 2000 ldr.w r2, [r9] 7000ce96: f8c3 c014 str.w ip, [r3, #20] 7000ce9a: 3a01 subs r2, #1 7000ce9c: f8c9 2000 str.w r2, [r9] if( listLIST_ITEM_CONTAINER( &( pxTCB->xEventListItem ) ) != NULL ) 7000cea0: f8d3 9028 ldr.w r9, [r3, #40] @ 0x28 7000cea4: f1b9 0f00 cmp.w r9, #0 7000cea8: d014 beq.n 7000ced4 listREMOVE_ITEM( &( pxTCB->xEventListItem ) ); 7000ceaa: f103 0a18 add.w sl, r3, #24 7000ceae: e9d3 6207 ldrd r6, r2, [r3, #28] 7000ceb2: 60b2 str r2, [r6, #8] 7000ceb4: 69de ldr r6, [r3, #28] 7000ceb6: 6056 str r6, [r2, #4] 7000ceb8: f8d9 2004 ldr.w r2, [r9, #4] 7000cebc: 4552 cmp r2, sl 7000cebe: bf04 itt eq 7000cec0: 6a1a ldreq r2, [r3, #32] 7000cec2: f8c9 2004 streq.w r2, [r9, #4] 7000cec6: f8d9 2000 ldr.w r2, [r9] 7000ceca: f8c3 c028 str.w ip, [r3, #40] @ 0x28 7000cece: 3a01 subs r2, #1 7000ced0: f8c9 2000 str.w r2, [r9] prvAddTaskToReadyList( pxTCB ); 7000ced4: 6ada ldr r2, [r3, #44] @ 0x2c 7000ced6: f8de 9000 ldr.w r9, [lr] 7000ceda: 454a cmp r2, r9 7000cedc: d901 bls.n 7000cee2 7000cede: f8ce 2000 str.w r2, [lr] 7000cee2: 2614 movs r6, #20 7000cee4: 4372 muls r2, r6 7000cee6: eb00 0a02 add.w sl, r0, r2 7000ceea: f8da 9004 ldr.w r9, [sl, #4] 7000ceee: f8c3 9008 str.w r9, [r3, #8] 7000cef2: f8d9 b008 ldr.w fp, [r9, #8] 7000cef6: f8c3 b00c str.w fp, [r3, #12] 7000cefa: f8cb 8004 str.w r8, [fp, #4] 7000cefe: f8c9 8008 str.w r8, [r9, #8] 7000cf02: f850 8002 ldr.w r8, [r0, r2] 7000cf06: f8c3 a014 str.w sl, [r3, #20] 7000cf0a: f108 0801 add.w r8, r8, #1 7000cf0e: f840 8002 str.w r8, [r0, r2] if( pxTCB->uxPriority > pxCurrentTCB->uxPriority ) 7000cf12: 4a0f ldr r2, [pc, #60] @ (7000cf50 ) 7000cf14: f8d2 8000 ldr.w r8, [r2] 7000cf18: 6ada ldr r2, [r3, #44] @ 0x2c 7000cf1a: f8d8 302c ldr.w r3, [r8, #44] @ 0x2c 7000cf1e: 429a cmp r2, r3 7000cf20: bf88 it hi 7000cf22: f041 0101 orrhi.w r1, r1, #1 7000cf26: e785 b.n 7000ce34 ++xPendedTicks; 7000cf28: 4a0b ldr r2, [pc, #44] @ (7000cf58 ) BaseType_t xSwitchRequired = pdFALSE; 7000cf2a: 2000 movs r0, #0 ++xPendedTicks; 7000cf2c: 6813 ldr r3, [r2, #0] 7000cf2e: 3301 adds r3, #1 7000cf30: 6013 str r3, [r2, #0] return xSwitchRequired; 7000cf32: e794 b.n 7000ce5e 7000cf34: 2400d448 .word 0x2400d448 7000cf38: 2400d468 .word 0x2400d468 7000cf3c: 2400d4b4 .word 0x2400d4b4 7000cf40: 2400d4b0 .word 0x2400d4b0 7000cf44: 2400d454 .word 0x2400d454 7000cf48: 2400d44c .word 0x2400d44c 7000cf4c: 2400d4e0 .word 0x2400d4e0 7000cf50: 2400d940 .word 0x2400d940 7000cf54: 2400d458 .word 0x2400d458 7000cf58: 2400d45c .word 0x2400d45c 7000cf5c: 2400d464 .word 0x2400d464 7000cf60 : { 7000cf60: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} configASSERT( uxSchedulerSuspended != ( UBaseType_t ) 0U ); 7000cf64: 4c52 ldr r4, [pc, #328] @ (7000d0b0 ) 7000cf66: 6823 ldr r3, [r4, #0] 7000cf68: b943 cbnz r3, 7000cf7c 7000cf6a: f04f 0350 mov.w r3, #80 @ 0x50 7000cf6e: f383 8811 msr BASEPRI, r3 7000cf72: f3bf 8f6f isb sy 7000cf76: f3bf 8f4f dsb sy 7000cf7a: e7fe b.n 7000cf7a taskENTER_CRITICAL(); 7000cf7c: f7fe fea2 bl 7000bcc4 --uxSchedulerSuspended; 7000cf80: 6823 ldr r3, [r4, #0] 7000cf82: 3b01 subs r3, #1 7000cf84: 6023 str r3, [r4, #0] if( uxSchedulerSuspended == ( UBaseType_t ) 0U ) 7000cf86: 6823 ldr r3, [r4, #0] 7000cf88: b12b cbz r3, 7000cf96 BaseType_t xAlreadyYielded = pdFALSE; 7000cf8a: 2400 movs r4, #0 taskEXIT_CRITICAL(); 7000cf8c: f7fe feba bl 7000bd04 } 7000cf90: 4620 mov r0, r4 7000cf92: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} if( uxCurrentNumberOfTasks > ( UBaseType_t ) 0U ) 7000cf96: 4a47 ldr r2, [pc, #284] @ (7000d0b4 ) 7000cf98: 6812 ldr r2, [r2, #0] 7000cf9a: 2a00 cmp r2, #0 7000cf9c: d0f5 beq.n 7000cf8a TCB_t * pxTCB = NULL; 7000cf9e: 469e mov lr, r3 while( listLIST_IS_EMPTY( &xPendingReadyList ) == pdFALSE ) 7000cfa0: 4a45 ldr r2, [pc, #276] @ (7000d0b8 ) prvAddTaskToReadyList( pxTCB ); 7000cfa2: 4946 ldr r1, [pc, #280] @ (7000d0bc ) 7000cfa4: 2414 movs r4, #20 7000cfa6: 4b46 ldr r3, [pc, #280] @ (7000d0c0 ) xYieldPending = pdTRUE; 7000cfa8: f04f 0c01 mov.w ip, #1 if( pxTCB->uxPriority > pxCurrentTCB->uxPriority ) 7000cfac: 4d45 ldr r5, [pc, #276] @ (7000d0c4 ) xYieldPending = pdTRUE; 7000cfae: 4e46 ldr r6, [pc, #280] @ (7000d0c8 ) 7000cfb0: e059 b.n 7000d066 pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( &xPendingReadyList ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ 7000cfb2: 68d7 ldr r7, [r2, #12] 7000cfb4: f8d7 e00c ldr.w lr, [r7, #12] listREMOVE_ITEM( &( pxTCB->xEventListItem ) ); 7000cfb8: e9de 0707 ldrd r0, r7, [lr, #28] 7000cfbc: f8de 8028 ldr.w r8, [lr, #40] @ 0x28 7000cfc0: f10e 0918 add.w r9, lr, #24 7000cfc4: 6087 str r7, [r0, #8] 7000cfc6: f8de 001c ldr.w r0, [lr, #28] 7000cfca: 6078 str r0, [r7, #4] 7000cfcc: 2000 movs r0, #0 7000cfce: f8d8 7004 ldr.w r7, [r8, #4] 7000cfd2: 454f cmp r7, r9 7000cfd4: bf04 itt eq 7000cfd6: f8de 7020 ldreq.w r7, [lr, #32] 7000cfda: f8c8 7004 streq.w r7, [r8, #4] 7000cfde: f8d8 7000 ldr.w r7, [r8] 7000cfe2: f8ce 0028 str.w r0, [lr, #40] @ 0x28 7000cfe6: 3f01 subs r7, #1 7000cfe8: f8c8 7000 str.w r7, [r8] listREMOVE_ITEM( &( pxTCB->xStateListItem ) ); 7000cfec: e9de 0702 ldrd r0, r7, [lr, #8] 7000cff0: f8de 8014 ldr.w r8, [lr, #20] 7000cff4: f10e 0904 add.w r9, lr, #4 7000cff8: 6087 str r7, [r0, #8] 7000cffa: f8de 0008 ldr.w r0, [lr, #8] 7000cffe: 6078 str r0, [r7, #4] 7000d000: f8d8 7004 ldr.w r7, [r8, #4] 7000d004: 454f cmp r7, r9 7000d006: bf04 itt eq 7000d008: f8de 700c ldreq.w r7, [lr, #12] 7000d00c: f8c8 7004 streq.w r7, [r8, #4] 7000d010: f8d8 7000 ldr.w r7, [r8] 7000d014: 3f01 subs r7, #1 7000d016: f8c8 7000 str.w r7, [r8] prvAddTaskToReadyList( pxTCB ); 7000d01a: f8de 702c ldr.w r7, [lr, #44] @ 0x2c 7000d01e: f8d1 8000 ldr.w r8, [r1] 7000d022: 4547 cmp r7, r8 7000d024: d900 bls.n 7000d028 7000d026: 600f str r7, [r1, #0] 7000d028: 4367 muls r7, r4 7000d02a: eb03 0a07 add.w sl, r3, r7 7000d02e: f8da 8004 ldr.w r8, [sl, #4] 7000d032: f8ce 8008 str.w r8, [lr, #8] 7000d036: f8d8 b008 ldr.w fp, [r8, #8] 7000d03a: f8ce b00c str.w fp, [lr, #12] 7000d03e: f8cb 9004 str.w r9, [fp, #4] 7000d042: f8c8 9008 str.w r9, [r8, #8] 7000d046: f853 8007 ldr.w r8, [r3, r7] 7000d04a: f8ce a014 str.w sl, [lr, #20] 7000d04e: f108 0801 add.w r8, r8, #1 7000d052: f843 8007 str.w r8, [r3, r7] if( pxTCB->uxPriority > pxCurrentTCB->uxPriority ) 7000d056: 682f ldr r7, [r5, #0] 7000d058: f8de 002c ldr.w r0, [lr, #44] @ 0x2c 7000d05c: 6aff ldr r7, [r7, #44] @ 0x2c 7000d05e: 42b8 cmp r0, r7 7000d060: d901 bls.n 7000d066 xYieldPending = pdTRUE; 7000d062: f8c6 c000 str.w ip, [r6] while( listLIST_IS_EMPTY( &xPendingReadyList ) == pdFALSE ) 7000d066: 6817 ldr r7, [r2, #0] 7000d068: 2f00 cmp r7, #0 7000d06a: d1a2 bne.n 7000cfb2 if( pxTCB != NULL ) 7000d06c: f1be 0f00 cmp.w lr, #0 7000d070: d001 beq.n 7000d076 prvResetNextTaskUnblockTime(); 7000d072: f7ff fd67 bl 7000cb44 TickType_t xPendedCounts = xPendedTicks; /* Non-volatile copy. */ 7000d076: 4d15 ldr r5, [pc, #84] @ (7000d0cc ) 7000d078: 682c ldr r4, [r5, #0] if( xPendedCounts > ( TickType_t ) 0U ) 7000d07a: b144 cbz r4, 7000d08e xYieldPending = pdTRUE; 7000d07c: 4e12 ldr r6, [pc, #72] @ (7000d0c8 ) 7000d07e: 2701 movs r7, #1 if( xTaskIncrementTick() != pdFALSE ) 7000d080: f7ff feaa bl 7000cdd8 7000d084: b100 cbz r0, 7000d088 xYieldPending = pdTRUE; 7000d086: 6037 str r7, [r6, #0] } while( xPendedCounts > ( TickType_t ) 0U ); 7000d088: 3c01 subs r4, #1 7000d08a: d1f9 bne.n 7000d080 xPendedTicks = 0; 7000d08c: 602c str r4, [r5, #0] if( xYieldPending != pdFALSE ) 7000d08e: 4b0e ldr r3, [pc, #56] @ (7000d0c8 ) 7000d090: 681b ldr r3, [r3, #0] 7000d092: 2b00 cmp r3, #0 7000d094: f43f af79 beq.w 7000cf8a taskYIELD_IF_USING_PREEMPTION(); 7000d098: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000d09c: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000d0a0: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000d0a4: f3bf 8f4f dsb sy 7000d0a8: f3bf 8f6f isb sy xAlreadyYielded = pdTRUE; 7000d0ac: 2401 movs r4, #1 7000d0ae: e76d b.n 7000cf8c 7000d0b0: 2400d448 .word 0x2400d448 7000d0b4: 2400d46c .word 0x2400d46c 7000d0b8: 2400d49c .word 0x2400d49c 7000d0bc: 2400d464 .word 0x2400d464 7000d0c0: 2400d4e0 .word 0x2400d4e0 7000d0c4: 2400d940 .word 0x2400d940 7000d0c8: 2400d458 .word 0x2400d458 7000d0cc: 2400d45c .word 0x2400d45c 7000d0d0 : { 7000d0d0: b508 push {r3, lr} if( xTicksToDelay > ( TickType_t ) 0U ) 7000d0d2: b950 cbnz r0, 7000d0ea portYIELD_WITHIN_API(); 7000d0d4: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000d0d8: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000d0dc: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000d0e0: f3bf 8f4f dsb sy 7000d0e4: f3bf 8f6f isb sy } 7000d0e8: bd08 pop {r3, pc} configASSERT( uxSchedulerSuspended == ( UBaseType_t ) 0U ); 7000d0ea: 4b0a ldr r3, [pc, #40] @ (7000d114 ) 7000d0ec: 6819 ldr r1, [r3, #0] 7000d0ee: b141 cbz r1, 7000d102 7000d0f0: f04f 0350 mov.w r3, #80 @ 0x50 7000d0f4: f383 8811 msr BASEPRI, r3 7000d0f8: f3bf 8f6f isb sy 7000d0fc: f3bf 8f4f dsb sy 7000d100: e7fe b.n 7000d100 vTaskSuspendAll(); 7000d102: f7ff fe55 bl 7000cdb0 prvAddCurrentTaskToDelayedList( xTicksToDelay, pdFALSE ); 7000d106: f7ff fcd9 bl 7000cabc xAlreadyYielded = xTaskResumeAll(); 7000d10a: f7ff ff29 bl 7000cf60 if( xAlreadyYielded == pdFALSE ) 7000d10e: 2800 cmp r0, #0 7000d110: d0e0 beq.n 7000d0d4 7000d112: e7e9 b.n 7000d0e8 7000d114: 2400d448 .word 0x2400d448 7000d118 : { 7000d118: b538 push {r3, r4, r5, lr} 7000d11a: 460d mov r5, r1 if( xTask == NULL ) 7000d11c: 4604 mov r4, r0 7000d11e: b908 cbnz r0, 7000d124 xTCB = ( TCB_t * ) pxCurrentTCB; 7000d120: 4b04 ldr r3, [pc, #16] @ (7000d134 ) 7000d122: 681c ldr r4, [r3, #0] taskENTER_CRITICAL(); 7000d124: f7fe fdce bl 7000bcc4 xTCB->pxTaskTag = pxHookFunction; 7000d128: 6565 str r5, [r4, #84] @ 0x54 } 7000d12a: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} taskEXIT_CRITICAL(); 7000d12e: f7fe bde9 b.w 7000bd04 7000d132: bf00 nop 7000d134: 2400d940 .word 0x2400d940 7000d138 : { 7000d138: 4603 mov r3, r0 7000d13a: 4608 mov r0, r1 if( xTask == NULL ) 7000d13c: b90b cbnz r3, 7000d142 xTCB = pxCurrentTCB; 7000d13e: 4b03 ldr r3, [pc, #12] @ (7000d14c ) 7000d140: 681b ldr r3, [r3, #0] if( xTCB->pxTaskTag != NULL ) 7000d142: 6d5b ldr r3, [r3, #84] @ 0x54 7000d144: b103 cbz r3, 7000d148 xReturn = xTCB->pxTaskTag( pvParameter ); 7000d146: 4718 bx r3 } 7000d148: 4618 mov r0, r3 7000d14a: 4770 bx lr 7000d14c: 2400d940 .word 0x2400d940 7000d150 : { 7000d150: b510 push {r4, lr} 7000d152: b088 sub sp, #32 StaticTask_t * pxIdleTaskTCBBuffer = NULL; 7000d154: 2400 movs r4, #0 vApplicationGetIdleTaskMemory( &pxIdleTaskTCBBuffer, &pxIdleTaskStackBuffer, &ulIdleTaskStackSize ); 7000d156: aa07 add r2, sp, #28 7000d158: a906 add r1, sp, #24 7000d15a: a805 add r0, sp, #20 StackType_t * pxIdleTaskStackBuffer = NULL; 7000d15c: e9cd 4405 strd r4, r4, [sp, #20] vApplicationGetIdleTaskMemory( &pxIdleTaskTCBBuffer, &pxIdleTaskStackBuffer, &ulIdleTaskStackSize ); 7000d160: f7fe fc0c bl 7000b97c xIdleTaskHandle = xTaskCreateStatic( prvIdleTask, 7000d164: 9b05 ldr r3, [sp, #20] 7000d166: 9a07 ldr r2, [sp, #28] 7000d168: 9302 str r3, [sp, #8] 7000d16a: 9b06 ldr r3, [sp, #24] 7000d16c: 491a ldr r1, [pc, #104] @ (7000d1d8 ) 7000d16e: 481b ldr r0, [pc, #108] @ (7000d1dc ) 7000d170: e9cd 4300 strd r4, r3, [sp] 7000d174: 4623 mov r3, r4 7000d176: f7ff fda3 bl 7000ccc0 if( xIdleTaskHandle != NULL ) 7000d17a: b1f0 cbz r0, 7000d1ba xReturn = xTimerCreateTimerTask(); 7000d17c: f000 fbe4 bl 7000d948 if( xReturn == pdPASS ) 7000d180: 2801 cmp r0, #1 7000d182: d11e bne.n 7000d1c2 7000d184: f04f 0350 mov.w r3, #80 @ 0x50 7000d188: f383 8811 msr BASEPRI, r3 7000d18c: f3bf 8f6f isb sy 7000d190: f3bf 8f4f dsb sy configSET_TLS_BLOCK( pxCurrentTCB->xTLSBlock ); 7000d194: 4a12 ldr r2, [pc, #72] @ (7000d1e0 ) 7000d196: 4913 ldr r1, [pc, #76] @ (7000d1e4 ) 7000d198: 6813 ldr r3, [r2, #0] 7000d19a: 3358 adds r3, #88 @ 0x58 7000d19c: 600b str r3, [r1, #0] xNextTaskUnblockTime = portMAX_DELAY; 7000d19e: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 7000d1a2: 4b11 ldr r3, [pc, #68] @ (7000d1e8 ) 7000d1a4: 6019 str r1, [r3, #0] traceTASK_SWITCHED_IN(); 7000d1a6: 4621 mov r1, r4 xSchedulerRunning = pdTRUE; 7000d1a8: 4b10 ldr r3, [pc, #64] @ (7000d1ec ) 7000d1aa: 6018 str r0, [r3, #0] xTickCount = ( TickType_t ) configINITIAL_TICK_COUNT; 7000d1ac: 4b10 ldr r3, [pc, #64] @ (7000d1f0 ) 7000d1ae: 601c str r4, [r3, #0] traceTASK_SWITCHED_IN(); 7000d1b0: 6810 ldr r0, [r2, #0] 7000d1b2: f7ff ffc1 bl 7000d138 xPortStartScheduler(); 7000d1b6: f7fe fe15 bl 7000bde4 ( void ) uxTopUsedPriority; 7000d1ba: 4b0e ldr r3, [pc, #56] @ (7000d1f4 ) 7000d1bc: 681b ldr r3, [r3, #0] } 7000d1be: b008 add sp, #32 7000d1c0: bd10 pop {r4, pc} configASSERT( xReturn != errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY ); 7000d1c2: 3001 adds r0, #1 7000d1c4: d1f9 bne.n 7000d1ba 7000d1c6: f04f 0350 mov.w r3, #80 @ 0x50 7000d1ca: f383 8811 msr BASEPRI, r3 7000d1ce: f3bf 8f6f isb sy 7000d1d2: f3bf 8f4f dsb sy 7000d1d6: e7fe b.n 7000d1d6 7000d1d8: 7003ea9f .word 0x7003ea9f 7000d1dc: 7000cbad .word 0x7000cbad 7000d1e0: 2400d940 .word 0x2400d940 7000d1e4: 24000164 .word 0x24000164 7000d1e8: 2400d44c .word 0x2400d44c 7000d1ec: 2400d460 .word 0x2400d460 7000d1f0: 2400d468 .word 0x2400d468 7000d1f4: 7003f678 .word 0x7003f678 7000d1f8 : { 7000d1f8: b5f8 push {r3, r4, r5, r6, r7, lr} if( uxSchedulerSuspended != ( UBaseType_t ) 0U ) 7000d1fa: 4b1c ldr r3, [pc, #112] @ (7000d26c ) 7000d1fc: 681a ldr r2, [r3, #0] 7000d1fe: 4b1c ldr r3, [pc, #112] @ (7000d270 ) 7000d200: b112 cbz r2, 7000d208 xYieldPending = pdTRUE; 7000d202: 2201 movs r2, #1 7000d204: 601a str r2, [r3, #0] } 7000d206: bdf8 pop {r3, r4, r5, r6, r7, pc} traceTASK_SWITCHED_OUT(); 7000d208: 4c1a ldr r4, [pc, #104] @ (7000d274 ) 7000d20a: 2101 movs r1, #1 taskSELECT_HIGHEST_PRIORITY_TASK(); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ 7000d20c: 4e1a ldr r6, [pc, #104] @ (7000d278 ) 7000d20e: 2714 movs r7, #20 xYieldPending = pdFALSE; 7000d210: 601a str r2, [r3, #0] traceTASK_SWITCHED_OUT(); 7000d212: 6820 ldr r0, [r4, #0] 7000d214: f7ff ff90 bl 7000d138 taskSELECT_HIGHEST_PRIORITY_TASK(); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ 7000d218: 4d18 ldr r5, [pc, #96] @ (7000d27c ) 7000d21a: 6832 ldr r2, [r6, #0] 7000d21c: fb07 f302 mul.w r3, r7, r2 7000d220: 58e9 ldr r1, [r5, r3] 7000d222: 18e8 adds r0, r5, r3 7000d224: b1a9 cbz r1, 7000d252 7000d226: 6841 ldr r1, [r0, #4] 7000d228: 3308 adds r3, #8 7000d22a: 6849 ldr r1, [r1, #4] 7000d22c: 442b add r3, r5 7000d22e: 4299 cmp r1, r3 7000d230: 6041 str r1, [r0, #4] 7000d232: bf08 it eq 7000d234: 68c1 ldreq r1, [r0, #12] 7000d236: 68cb ldr r3, [r1, #12] 7000d238: bf08 it eq 7000d23a: 6041 streq r1, [r0, #4] traceTASK_SWITCHED_IN(); 7000d23c: 2100 movs r1, #0 taskSELECT_HIGHEST_PRIORITY_TASK(); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ 7000d23e: 6023 str r3, [r4, #0] 7000d240: 6032 str r2, [r6, #0] traceTASK_SWITCHED_IN(); 7000d242: 6820 ldr r0, [r4, #0] 7000d244: f7ff ff78 bl 7000d138 configSET_TLS_BLOCK( pxCurrentTCB->xTLSBlock ); 7000d248: 6823 ldr r3, [r4, #0] 7000d24a: 4a0d ldr r2, [pc, #52] @ (7000d280 ) 7000d24c: 3358 adds r3, #88 @ 0x58 7000d24e: 6013 str r3, [r2, #0] } 7000d250: e7d9 b.n 7000d206 taskSELECT_HIGHEST_PRIORITY_TASK(); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ 7000d252: b942 cbnz r2, 7000d266 7000d254: f04f 0350 mov.w r3, #80 @ 0x50 7000d258: f383 8811 msr BASEPRI, r3 7000d25c: f3bf 8f6f isb sy 7000d260: f3bf 8f4f dsb sy 7000d264: e7fe b.n 7000d264 7000d266: 3a01 subs r2, #1 7000d268: e7d8 b.n 7000d21c 7000d26a: bf00 nop 7000d26c: 2400d448 .word 0x2400d448 7000d270: 2400d458 .word 0x2400d458 7000d274: 2400d940 .word 0x2400d940 7000d278: 2400d464 .word 0x2400d464 7000d27c: 2400d4e0 .word 0x2400d4e0 7000d280: 24000164 .word 0x24000164 7000d284 : { 7000d284: b510 push {r4, lr} 7000d286: 460c mov r4, r1 configASSERT( pxEventList ); 7000d288: b940 cbnz r0, 7000d29c 7000d28a: f04f 0350 mov.w r3, #80 @ 0x50 7000d28e: f383 8811 msr BASEPRI, r3 7000d292: f3bf 8f6f isb sy 7000d296: f3bf 8f4f dsb sy 7000d29a: e7fe b.n 7000d29a vListInsert( pxEventList, &( pxCurrentTCB->xEventListItem ) ); 7000d29c: 4b05 ldr r3, [pc, #20] @ (7000d2b4 ) 7000d29e: 6819 ldr r1, [r3, #0] 7000d2a0: 3118 adds r1, #24 7000d2a2: f7fe fc7f bl 7000bba4 prvAddCurrentTaskToDelayedList( xTicksToWait, pdTRUE ); 7000d2a6: 4620 mov r0, r4 7000d2a8: 2101 movs r1, #1 } 7000d2aa: e8bd 4010 ldmia.w sp!, {r4, lr} prvAddCurrentTaskToDelayedList( xTicksToWait, pdTRUE ); 7000d2ae: f7ff bc05 b.w 7000cabc 7000d2b2: bf00 nop 7000d2b4: 2400d940 .word 0x2400d940 7000d2b8 : { 7000d2b8: b470 push {r4, r5, r6} 7000d2ba: 460c mov r4, r1 7000d2bc: 4611 mov r1, r2 configASSERT( pxEventList ); 7000d2be: b940 cbnz r0, 7000d2d2 7000d2c0: f04f 0350 mov.w r3, #80 @ 0x50 7000d2c4: f383 8811 msr BASEPRI, r3 7000d2c8: f3bf 8f6f isb sy 7000d2cc: f3bf 8f4f dsb sy 7000d2d0: e7fe b.n 7000d2d0 listINSERT_END( pxEventList, &( pxCurrentTCB->xEventListItem ) ); 7000d2d2: 4b0e ldr r3, [pc, #56] @ (7000d30c ) xTicksToWait = portMAX_DELAY; 7000d2d4: 2900 cmp r1, #0 listINSERT_END( pxEventList, &( pxCurrentTCB->xEventListItem ) ); 7000d2d6: 6842 ldr r2, [r0, #4] 7000d2d8: 681d ldr r5, [r3, #0] 7000d2da: 61ea str r2, [r5, #28] 7000d2dc: 681d ldr r5, [r3, #0] 7000d2de: 6896 ldr r6, [r2, #8] 7000d2e0: 622e str r6, [r5, #32] 7000d2e2: 681d ldr r5, [r3, #0] 7000d2e4: f105 0518 add.w r5, r5, #24 7000d2e8: 6075 str r5, [r6, #4] 7000d2ea: 681d ldr r5, [r3, #0] 7000d2ec: 681b ldr r3, [r3, #0] 7000d2ee: f105 0518 add.w r5, r5, #24 7000d2f2: 6095 str r5, [r2, #8] 7000d2f4: 6298 str r0, [r3, #40] @ 0x28 7000d2f6: 6803 ldr r3, [r0, #0] 7000d2f8: f103 0301 add.w r3, r3, #1 7000d2fc: 6003 str r3, [r0, #0] prvAddCurrentTaskToDelayedList( xTicksToWait, xWaitIndefinitely ); 7000d2fe: bf0c ite eq 7000d300: 4620 moveq r0, r4 7000d302: f04f 30ff movne.w r0, #4294967295 @ 0xffffffff } 7000d306: bc70 pop {r4, r5, r6} prvAddCurrentTaskToDelayedList( xTicksToWait, xWaitIndefinitely ); 7000d308: f7ff bbd8 b.w 7000cabc 7000d30c: 2400d940 .word 0x2400d940 7000d310 : pxUnblockedTCB = listGET_OWNER_OF_HEAD_ENTRY( pxEventList ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ 7000d310: 68c3 ldr r3, [r0, #12] 7000d312: 68db ldr r3, [r3, #12] { 7000d314: b570 push {r4, r5, r6, lr} configASSERT( pxUnblockedTCB ); 7000d316: b943 cbnz r3, 7000d32a 7000d318: f04f 0350 mov.w r3, #80 @ 0x50 7000d31c: f383 8811 msr BASEPRI, r3 7000d320: f3bf 8f6f isb sy 7000d324: f3bf 8f4f dsb sy 7000d328: e7fe b.n 7000d328 listREMOVE_ITEM( &( pxUnblockedTCB->xEventListItem ) ); 7000d32a: e9d3 0107 ldrd r0, r1, [r3, #28] 7000d32e: 6a9a ldr r2, [r3, #40] @ 0x28 7000d330: 6081 str r1, [r0, #8] 7000d332: 69d8 ldr r0, [r3, #28] 7000d334: 6048 str r0, [r1, #4] 7000d336: f103 0018 add.w r0, r3, #24 7000d33a: 6851 ldr r1, [r2, #4] 7000d33c: 4281 cmp r1, r0 7000d33e: bf04 itt eq 7000d340: 6a19 ldreq r1, [r3, #32] 7000d342: 6051 streq r1, [r2, #4] 7000d344: 2100 movs r1, #0 7000d346: 6299 str r1, [r3, #40] @ 0x28 7000d348: 6811 ldr r1, [r2, #0] 7000d34a: 3901 subs r1, #1 7000d34c: 6011 str r1, [r2, #0] if( uxSchedulerSuspended == ( UBaseType_t ) 0U ) 7000d34e: 4a1f ldr r2, [pc, #124] @ (7000d3cc ) 7000d350: 6812 ldr r2, [r2, #0] 7000d352: 2a00 cmp r2, #0 7000d354: d12c bne.n 7000d3b0 listREMOVE_ITEM( &( pxUnblockedTCB->xStateListItem ) ); 7000d356: 695a ldr r2, [r3, #20] 7000d358: 1d1c adds r4, r3, #4 7000d35a: e9d3 0102 ldrd r0, r1, [r3, #8] 7000d35e: 6081 str r1, [r0, #8] 7000d360: 6898 ldr r0, [r3, #8] 7000d362: 6048 str r0, [r1, #4] 7000d364: 6851 ldr r1, [r2, #4] 7000d366: 42a1 cmp r1, r4 7000d368: bf04 itt eq 7000d36a: 68d9 ldreq r1, [r3, #12] 7000d36c: 6051 streq r1, [r2, #4] 7000d36e: 6811 ldr r1, [r2, #0] 7000d370: 3901 subs r1, #1 7000d372: 6011 str r1, [r2, #0] prvAddTaskToReadyList( pxUnblockedTCB ); 7000d374: 4916 ldr r1, [pc, #88] @ (7000d3d0 ) 7000d376: 6ada ldr r2, [r3, #44] @ 0x2c 7000d378: 6808 ldr r0, [r1, #0] 7000d37a: 4282 cmp r2, r0 7000d37c: d900 bls.n 7000d380 7000d37e: 600a str r2, [r1, #0] 7000d380: 2014 movs r0, #20 7000d382: 4914 ldr r1, [pc, #80] @ (7000d3d4 ) 7000d384: 4342 muls r2, r0 7000d386: 188d adds r5, r1, r2 7000d388: 6868 ldr r0, [r5, #4] 7000d38a: 6098 str r0, [r3, #8] 7000d38c: 6886 ldr r6, [r0, #8] 7000d38e: 60de str r6, [r3, #12] 7000d390: 6074 str r4, [r6, #4] 7000d392: 6084 str r4, [r0, #8] 7000d394: 5888 ldr r0, [r1, r2] 7000d396: 615d str r5, [r3, #20] 7000d398: 3001 adds r0, #1 7000d39a: 5088 str r0, [r1, r2] if( pxUnblockedTCB->uxPriority > pxCurrentTCB->uxPriority ) 7000d39c: 4a0e ldr r2, [pc, #56] @ (7000d3d8 ) 7000d39e: 6811 ldr r1, [r2, #0] 7000d3a0: 6ada ldr r2, [r3, #44] @ 0x2c 7000d3a2: 6acb ldr r3, [r1, #44] @ 0x2c 7000d3a4: 429a cmp r2, r3 7000d3a6: d90f bls.n 7000d3c8 xYieldPending = pdTRUE; 7000d3a8: 2001 movs r0, #1 7000d3aa: 4b0c ldr r3, [pc, #48] @ (7000d3dc ) 7000d3ac: 6018 str r0, [r3, #0] } 7000d3ae: bd70 pop {r4, r5, r6, pc} listINSERT_END( &( xPendingReadyList ), &( pxUnblockedTCB->xEventListItem ) ); 7000d3b0: 4a0b ldr r2, [pc, #44] @ (7000d3e0 ) 7000d3b2: 6851 ldr r1, [r2, #4] 7000d3b4: 61d9 str r1, [r3, #28] 7000d3b6: 688c ldr r4, [r1, #8] 7000d3b8: 621c str r4, [r3, #32] 7000d3ba: 6060 str r0, [r4, #4] 7000d3bc: 6088 str r0, [r1, #8] 7000d3be: 6811 ldr r1, [r2, #0] 7000d3c0: 629a str r2, [r3, #40] @ 0x28 7000d3c2: 3101 adds r1, #1 7000d3c4: 6011 str r1, [r2, #0] 7000d3c6: e7e9 b.n 7000d39c xReturn = pdFALSE; 7000d3c8: 2000 movs r0, #0 return xReturn; 7000d3ca: e7f0 b.n 7000d3ae 7000d3cc: 2400d448 .word 0x2400d448 7000d3d0: 2400d464 .word 0x2400d464 7000d3d4: 2400d4e0 .word 0x2400d4e0 7000d3d8: 2400d940 .word 0x2400d940 7000d3dc: 2400d458 .word 0x2400d458 7000d3e0: 2400d49c .word 0x2400d49c 7000d3e4 : pxTimeOut->xOverflowCount = xNumOfOverflows; 7000d3e4: 4b03 ldr r3, [pc, #12] @ (7000d3f4 ) 7000d3e6: 681b ldr r3, [r3, #0] 7000d3e8: 6003 str r3, [r0, #0] pxTimeOut->xTimeOnEntering = xTickCount; 7000d3ea: 4b03 ldr r3, [pc, #12] @ (7000d3f8 ) 7000d3ec: 681b ldr r3, [r3, #0] 7000d3ee: 6043 str r3, [r0, #4] } 7000d3f0: 4770 bx lr 7000d3f2: bf00 nop 7000d3f4: 2400d454 .word 0x2400d454 7000d3f8: 2400d468 .word 0x2400d468 7000d3fc : { 7000d3fc: b570 push {r4, r5, r6, lr} 7000d3fe: 460d mov r5, r1 configASSERT( pxTimeOut ); 7000d400: 4604 mov r4, r0 7000d402: b940 cbnz r0, 7000d416 7000d404: f04f 0350 mov.w r3, #80 @ 0x50 7000d408: f383 8811 msr BASEPRI, r3 7000d40c: f3bf 8f6f isb sy 7000d410: f3bf 8f4f dsb sy 7000d414: e7fe b.n 7000d414 configASSERT( pxTicksToWait ); 7000d416: b941 cbnz r1, 7000d42a 7000d418: f04f 0350 mov.w r3, #80 @ 0x50 7000d41c: f383 8811 msr BASEPRI, r3 7000d420: f3bf 8f6f isb sy 7000d424: f3bf 8f4f dsb sy 7000d428: e7fe b.n 7000d428 taskENTER_CRITICAL(); 7000d42a: f7fe fc4b bl 7000bcc4 const TickType_t xConstTickCount = xTickCount; 7000d42e: 4b0f ldr r3, [pc, #60] @ (7000d46c ) 7000d430: 6819 ldr r1, [r3, #0] if( *pxTicksToWait == portMAX_DELAY ) 7000d432: 682b ldr r3, [r5, #0] 7000d434: 1c5a adds r2, r3, #1 7000d436: d017 beq.n 7000d468 if( ( xNumOfOverflows != pxTimeOut->xOverflowCount ) && ( xConstTickCount >= pxTimeOut->xTimeOnEntering ) ) /*lint !e525 Indentation preferred as is to make code within pre-processor directives clearer. */ 7000d438: 480d ldr r0, [pc, #52] @ (7000d470 ) 7000d43a: 6826 ldr r6, [r4, #0] 7000d43c: 6800 ldr r0, [r0, #0] const TickType_t xElapsedTime = xConstTickCount - pxTimeOut->xTimeOnEntering; 7000d43e: 6862 ldr r2, [r4, #4] if( ( xNumOfOverflows != pxTimeOut->xOverflowCount ) && ( xConstTickCount >= pxTimeOut->xTimeOnEntering ) ) /*lint !e525 Indentation preferred as is to make code within pre-processor directives clearer. */ 7000d440: 4286 cmp r6, r0 7000d442: d008 beq.n 7000d456 7000d444: 428a cmp r2, r1 7000d446: d806 bhi.n 7000d456 *pxTicksToWait = ( TickType_t ) 0; 7000d448: 2300 movs r3, #0 xReturn = pdTRUE; 7000d44a: 2401 movs r4, #1 *pxTicksToWait = ( TickType_t ) 0; 7000d44c: 602b str r3, [r5, #0] taskEXIT_CRITICAL(); 7000d44e: f7fe fc59 bl 7000bd04 } 7000d452: 4620 mov r0, r4 7000d454: bd70 pop {r4, r5, r6, pc} const TickType_t xElapsedTime = xConstTickCount - pxTimeOut->xTimeOnEntering; 7000d456: 1a88 subs r0, r1, r2 else if( xElapsedTime < *pxTicksToWait ) /*lint !e961 Explicit casting is only redundant with some compilers, whereas others require it to prevent integer conversion errors. */ 7000d458: 4283 cmp r3, r0 7000d45a: d9f5 bls.n 7000d448 *pxTicksToWait -= xElapsedTime; 7000d45c: 1a5b subs r3, r3, r1 vTaskInternalSetTimeOutState( pxTimeOut ); 7000d45e: 4620 mov r0, r4 *pxTicksToWait -= xElapsedTime; 7000d460: 4413 add r3, r2 7000d462: 602b str r3, [r5, #0] vTaskInternalSetTimeOutState( pxTimeOut ); 7000d464: f7ff ffbe bl 7000d3e4 xReturn = pdFALSE; 7000d468: 2400 movs r4, #0 7000d46a: e7f0 b.n 7000d44e 7000d46c: 2400d468 .word 0x2400d468 7000d470: 2400d454 .word 0x2400d454 7000d474 : xYieldPending = pdTRUE; 7000d474: 4b01 ldr r3, [pc, #4] @ (7000d47c ) 7000d476: 2201 movs r2, #1 7000d478: 601a str r2, [r3, #0] } 7000d47a: 4770 bx lr 7000d47c: 2400d458 .word 0x2400d458 7000d480 : if( xSchedulerRunning == pdFALSE ) 7000d480: 4b05 ldr r3, [pc, #20] @ (7000d498 ) 7000d482: 681b ldr r3, [r3, #0] 7000d484: b133 cbz r3, 7000d494 if( uxSchedulerSuspended == ( UBaseType_t ) 0U ) 7000d486: 4b05 ldr r3, [pc, #20] @ (7000d49c ) 7000d488: 6818 ldr r0, [r3, #0] 7000d48a: fab0 f080 clz r0, r0 7000d48e: 0940 lsrs r0, r0, #5 7000d490: 0040 lsls r0, r0, #1 7000d492: 4770 bx lr xReturn = taskSCHEDULER_NOT_STARTED; 7000d494: 2001 movs r0, #1 } 7000d496: 4770 bx lr 7000d498: 2400d460 .word 0x2400d460 7000d49c: 2400d448 .word 0x2400d448 7000d4a0 : { 7000d4a0: b5f8 push {r3, r4, r5, r6, r7, lr} if( pxMutexHolder != NULL ) 7000d4a2: 4604 mov r4, r0 7000d4a4: 2800 cmp r0, #0 7000d4a6: d02e beq.n 7000d506 if( pxMutexHolderTCB->uxPriority < pxCurrentTCB->uxPriority ) 7000d4a8: 4d1d ldr r5, [pc, #116] @ (7000d520 ) 7000d4aa: 6ac3 ldr r3, [r0, #44] @ 0x2c 7000d4ac: 682a ldr r2, [r5, #0] 7000d4ae: 6ad2 ldr r2, [r2, #44] @ 0x2c 7000d4b0: 4293 cmp r3, r2 7000d4b2: d22d bcs.n 7000d510 if( ( listGET_LIST_ITEM_VALUE( &( pxMutexHolderTCB->xEventListItem ) ) & taskEVENT_LIST_ITEM_VALUE_IN_USE ) == 0UL ) 7000d4b4: 6982 ldr r2, [r0, #24] 7000d4b6: 2a00 cmp r2, #0 7000d4b8: db04 blt.n 7000d4c4 listSET_LIST_ITEM_VALUE( &( pxMutexHolderTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) pxCurrentTCB->uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ 7000d4ba: 682a ldr r2, [r5, #0] 7000d4bc: 6ad2 ldr r2, [r2, #44] @ 0x2c 7000d4be: f1c2 0238 rsb r2, r2, #56 @ 0x38 7000d4c2: 6182 str r2, [r0, #24] if( listIS_CONTAINED_WITHIN( &( pxReadyTasksLists[ pxMutexHolderTCB->uxPriority ] ), &( pxMutexHolderTCB->xStateListItem ) ) != pdFALSE ) 7000d4c4: 2214 movs r2, #20 7000d4c6: 4e17 ldr r6, [pc, #92] @ (7000d524 ) 7000d4c8: fb02 6303 mla r3, r2, r3, r6 7000d4cc: 6962 ldr r2, [r4, #20] 7000d4ce: 429a cmp r2, r3 7000d4d0: d11a bne.n 7000d508 if( uxListRemove( &( pxMutexHolderTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) 7000d4d2: 1d27 adds r7, r4, #4 7000d4d4: 4638 mov r0, r7 7000d4d6: f7fe fb7c bl 7000bbd2 pxMutexHolderTCB->uxPriority = pxCurrentTCB->uxPriority; 7000d4da: 682b ldr r3, [r5, #0] prvAddTaskToReadyList( pxMutexHolderTCB ); 7000d4dc: 4a12 ldr r2, [pc, #72] @ (7000d528 ) pxMutexHolderTCB->uxPriority = pxCurrentTCB->uxPriority; 7000d4de: 6adb ldr r3, [r3, #44] @ 0x2c prvAddTaskToReadyList( pxMutexHolderTCB ); 7000d4e0: 6811 ldr r1, [r2, #0] pxMutexHolderTCB->uxPriority = pxCurrentTCB->uxPriority; 7000d4e2: 62e3 str r3, [r4, #44] @ 0x2c prvAddTaskToReadyList( pxMutexHolderTCB ); 7000d4e4: 428b cmp r3, r1 7000d4e6: d900 bls.n 7000d4ea 7000d4e8: 6013 str r3, [r2, #0] 7000d4ea: 2214 movs r2, #20 7000d4ec: 4353 muls r3, r2 7000d4ee: 18f1 adds r1, r6, r3 7000d4f0: 684a ldr r2, [r1, #4] 7000d4f2: 60a2 str r2, [r4, #8] 7000d4f4: 6890 ldr r0, [r2, #8] 7000d4f6: 60e0 str r0, [r4, #12] 7000d4f8: 6047 str r7, [r0, #4] 7000d4fa: 6097 str r7, [r2, #8] 7000d4fc: 58f2 ldr r2, [r6, r3] 7000d4fe: 6161 str r1, [r4, #20] 7000d500: 3201 adds r2, #1 7000d502: 50f2 str r2, [r6, r3] xReturn = pdTRUE; 7000d504: 2001 movs r0, #1 } 7000d506: bdf8 pop {r3, r4, r5, r6, r7, pc} pxMutexHolderTCB->uxPriority = pxCurrentTCB->uxPriority; 7000d508: 682b ldr r3, [r5, #0] 7000d50a: 6adb ldr r3, [r3, #44] @ 0x2c 7000d50c: 62e3 str r3, [r4, #44] @ 0x2c 7000d50e: e7f9 b.n 7000d504 if( pxMutexHolderTCB->uxBasePriority < pxCurrentTCB->uxPriority ) 7000d510: 682b ldr r3, [r5, #0] 7000d512: 6cc0 ldr r0, [r0, #76] @ 0x4c 7000d514: 6adb ldr r3, [r3, #44] @ 0x2c 7000d516: 4298 cmp r0, r3 7000d518: bf2c ite cs 7000d51a: 2000 movcs r0, #0 7000d51c: 2001 movcc r0, #1 7000d51e: e7f2 b.n 7000d506 7000d520: 2400d940 .word 0x2400d940 7000d524: 2400d4e0 .word 0x2400d4e0 7000d528: 2400d464 .word 0x2400d464 7000d52c : { 7000d52c: b570 push {r4, r5, r6, lr} if( pxMutexHolder != NULL ) 7000d52e: 4604 mov r4, r0 7000d530: b908 cbnz r0, 7000d536 BaseType_t xReturn = pdFALSE; 7000d532: 2000 movs r0, #0 } 7000d534: bd70 pop {r4, r5, r6, pc} configASSERT( pxTCB == pxCurrentTCB ); 7000d536: 4b1f ldr r3, [pc, #124] @ (7000d5b4 ) 7000d538: 681b ldr r3, [r3, #0] 7000d53a: 4283 cmp r3, r0 7000d53c: d008 beq.n 7000d550 7000d53e: f04f 0350 mov.w r3, #80 @ 0x50 7000d542: f383 8811 msr BASEPRI, r3 7000d546: f3bf 8f6f isb sy 7000d54a: f3bf 8f4f dsb sy 7000d54e: e7fe b.n 7000d54e configASSERT( pxTCB->uxMutexesHeld ); 7000d550: 6d1b ldr r3, [r3, #80] @ 0x50 7000d552: b943 cbnz r3, 7000d566 7000d554: f04f 0350 mov.w r3, #80 @ 0x50 7000d558: f383 8811 msr BASEPRI, r3 7000d55c: f3bf 8f6f isb sy 7000d560: f3bf 8f4f dsb sy 7000d564: e7fe b.n 7000d564 if( pxTCB->uxPriority != pxTCB->uxBasePriority ) 7000d566: 6ac1 ldr r1, [r0, #44] @ 0x2c ( pxTCB->uxMutexesHeld )--; 7000d568: 3b01 subs r3, #1 if( pxTCB->uxPriority != pxTCB->uxBasePriority ) 7000d56a: 6cc2 ldr r2, [r0, #76] @ 0x4c ( pxTCB->uxMutexesHeld )--; 7000d56c: 6503 str r3, [r0, #80] @ 0x50 if( pxTCB->uxPriority != pxTCB->uxBasePriority ) 7000d56e: 4291 cmp r1, r2 7000d570: d0df beq.n 7000d532 if( pxTCB->uxMutexesHeld == ( UBaseType_t ) 0 ) 7000d572: 2b00 cmp r3, #0 7000d574: d1dd bne.n 7000d532 if( uxListRemove( &( pxTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) 7000d576: 1d05 adds r5, r0, #4 7000d578: 4628 mov r0, r5 7000d57a: f7fe fb2a bl 7000bbd2 pxTCB->uxPriority = pxTCB->uxBasePriority; 7000d57e: 6ce3 ldr r3, [r4, #76] @ 0x4c listSET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) pxTCB->uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ 7000d580: f1c3 0238 rsb r2, r3, #56 @ 0x38 pxTCB->uxPriority = pxTCB->uxBasePriority; 7000d584: 62e3 str r3, [r4, #44] @ 0x2c listSET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) pxTCB->uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ 7000d586: 61a2 str r2, [r4, #24] prvAddTaskToReadyList( pxTCB ); 7000d588: 4a0b ldr r2, [pc, #44] @ (7000d5b8 ) 7000d58a: 6811 ldr r1, [r2, #0] 7000d58c: 428b cmp r3, r1 7000d58e: d900 bls.n 7000d592 7000d590: 6013 str r3, [r2, #0] 7000d592: 2114 movs r1, #20 7000d594: 4a09 ldr r2, [pc, #36] @ (7000d5bc ) 7000d596: 434b muls r3, r1 7000d598: 18d0 adds r0, r2, r3 7000d59a: 6841 ldr r1, [r0, #4] 7000d59c: 60a1 str r1, [r4, #8] 7000d59e: 688e ldr r6, [r1, #8] 7000d5a0: 60e6 str r6, [r4, #12] 7000d5a2: 6075 str r5, [r6, #4] 7000d5a4: 608d str r5, [r1, #8] 7000d5a6: 58d1 ldr r1, [r2, r3] 7000d5a8: 6160 str r0, [r4, #20] xReturn = pdTRUE; 7000d5aa: 2001 movs r0, #1 prvAddTaskToReadyList( pxTCB ); 7000d5ac: 3101 adds r1, #1 7000d5ae: 50d1 str r1, [r2, r3] return xReturn; 7000d5b0: e7c0 b.n 7000d534 7000d5b2: bf00 nop 7000d5b4: 2400d940 .word 0x2400d940 7000d5b8: 2400d464 .word 0x2400d464 7000d5bc: 2400d4e0 .word 0x2400d4e0 7000d5c0 : { 7000d5c0: b570 push {r4, r5, r6, lr} if( pxMutexHolder != NULL ) 7000d5c2: 4604 mov r4, r0 7000d5c4: 2800 cmp r0, #0 7000d5c6: d047 beq.n 7000d658 configASSERT( pxTCB->uxMutexesHeld ); 7000d5c8: 6d02 ldr r2, [r0, #80] @ 0x50 7000d5ca: b942 cbnz r2, 7000d5de 7000d5cc: f04f 0350 mov.w r3, #80 @ 0x50 7000d5d0: f383 8811 msr BASEPRI, r3 7000d5d4: f3bf 8f6f isb sy 7000d5d8: f3bf 8f4f dsb sy 7000d5dc: e7fe b.n 7000d5dc if( pxTCB->uxBasePriority < uxHighestPriorityWaitingTask ) 7000d5de: 6cc3 ldr r3, [r0, #76] @ 0x4c 7000d5e0: 4299 cmp r1, r3 7000d5e2: bf38 it cc 7000d5e4: 4619 movcc r1, r3 if( pxTCB->uxPriority != uxPriorityToUse ) 7000d5e6: 6ac3 ldr r3, [r0, #44] @ 0x2c 7000d5e8: 428b cmp r3, r1 7000d5ea: d035 beq.n 7000d658 if( pxTCB->uxMutexesHeld == uxOnlyOneMutexHeld ) 7000d5ec: 2a01 cmp r2, #1 7000d5ee: d133 bne.n 7000d658 configASSERT( pxTCB != pxCurrentTCB ); 7000d5f0: 4a1a ldr r2, [pc, #104] @ (7000d65c ) 7000d5f2: 6812 ldr r2, [r2, #0] 7000d5f4: 4282 cmp r2, r0 7000d5f6: d108 bne.n 7000d60a 7000d5f8: f04f 0350 mov.w r3, #80 @ 0x50 7000d5fc: f383 8811 msr BASEPRI, r3 7000d600: f3bf 8f6f isb sy 7000d604: f3bf 8f4f dsb sy 7000d608: e7fe b.n 7000d608 if( ( listGET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ) ) & taskEVENT_LIST_ITEM_VALUE_IN_USE ) == 0UL ) 7000d60a: 6982 ldr r2, [r0, #24] if( listIS_CONTAINED_WITHIN( &( pxReadyTasksLists[ uxPriorityUsedOnEntry ] ), &( pxTCB->xStateListItem ) ) != pdFALSE ) 7000d60c: 4d14 ldr r5, [pc, #80] @ (7000d660 ) if( ( listGET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ) ) & taskEVENT_LIST_ITEM_VALUE_IN_USE ) == 0UL ) 7000d60e: 2a00 cmp r2, #0 if( listIS_CONTAINED_WITHIN( &( pxReadyTasksLists[ uxPriorityUsedOnEntry ] ), &( pxTCB->xStateListItem ) ) != pdFALSE ) 7000d610: f04f 0214 mov.w r2, #20 pxTCB->uxPriority = uxPriorityToUse; 7000d614: 62c1 str r1, [r0, #44] @ 0x2c if( listIS_CONTAINED_WITHIN( &( pxReadyTasksLists[ uxPriorityUsedOnEntry ] ), &( pxTCB->xStateListItem ) ) != pdFALSE ) 7000d616: fb02 5303 mla r3, r2, r3, r5 listSET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriorityToUse ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ 7000d61a: bfa8 it ge 7000d61c: f1c1 0138 rsbge r1, r1, #56 @ 0x38 if( listIS_CONTAINED_WITHIN( &( pxReadyTasksLists[ uxPriorityUsedOnEntry ] ), &( pxTCB->xStateListItem ) ) != pdFALSE ) 7000d620: 6942 ldr r2, [r0, #20] listSET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriorityToUse ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ 7000d622: bfa8 it ge 7000d624: 6181 strge r1, [r0, #24] if( listIS_CONTAINED_WITHIN( &( pxReadyTasksLists[ uxPriorityUsedOnEntry ] ), &( pxTCB->xStateListItem ) ) != pdFALSE ) 7000d626: 429a cmp r2, r3 7000d628: d116 bne.n 7000d658 if( uxListRemove( &( pxTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) 7000d62a: 1d06 adds r6, r0, #4 7000d62c: 4630 mov r0, r6 7000d62e: f7fe fad0 bl 7000bbd2 prvAddTaskToReadyList( pxTCB ); 7000d632: 4a0c ldr r2, [pc, #48] @ (7000d664 ) 7000d634: 6ae3 ldr r3, [r4, #44] @ 0x2c 7000d636: 6811 ldr r1, [r2, #0] 7000d638: 428b cmp r3, r1 7000d63a: d900 bls.n 7000d63e 7000d63c: 6013 str r3, [r2, #0] 7000d63e: 2214 movs r2, #20 7000d640: 4353 muls r3, r2 7000d642: 18e9 adds r1, r5, r3 7000d644: 684a ldr r2, [r1, #4] 7000d646: 60a2 str r2, [r4, #8] 7000d648: 6890 ldr r0, [r2, #8] 7000d64a: 60e0 str r0, [r4, #12] 7000d64c: 6046 str r6, [r0, #4] 7000d64e: 6096 str r6, [r2, #8] 7000d650: 58ea ldr r2, [r5, r3] 7000d652: 6161 str r1, [r4, #20] 7000d654: 3201 adds r2, #1 7000d656: 50ea str r2, [r5, r3] } 7000d658: bd70 pop {r4, r5, r6, pc} 7000d65a: bf00 nop 7000d65c: 2400d940 .word 0x2400d940 7000d660: 2400d4e0 .word 0x2400d4e0 7000d664: 2400d464 .word 0x2400d464 7000d668 : if( pxCurrentTCB != NULL ) 7000d668: 4b04 ldr r3, [pc, #16] @ (7000d67c ) 7000d66a: 681a ldr r2, [r3, #0] 7000d66c: b11a cbz r2, 7000d676 ( pxCurrentTCB->uxMutexesHeld )++; 7000d66e: 6819 ldr r1, [r3, #0] 7000d670: 6d0a ldr r2, [r1, #80] @ 0x50 7000d672: 3201 adds r2, #1 7000d674: 650a str r2, [r1, #80] @ 0x50 return pxCurrentTCB; 7000d676: 6818 ldr r0, [r3, #0] } 7000d678: 4770 bx lr 7000d67a: bf00 nop 7000d67c: 2400d940 .word 0x2400d940 7000d680 : BaseType_t xProcessTimerNow = pdFALSE; listSET_LIST_ITEM_VALUE( &( pxTimer->xTimerListItem ), xNextExpiryTime ); listSET_LIST_ITEM_OWNER( &( pxTimer->xTimerListItem ), pxTimer ); if( xNextExpiryTime <= xTimeNow ) 7000d680: 4291 cmp r1, r2 { 7000d682: b508 push {r3, lr} listSET_LIST_ITEM_VALUE( &( pxTimer->xTimerListItem ), xNextExpiryTime ); 7000d684: 6041 str r1, [r0, #4] listSET_LIST_ITEM_OWNER( &( pxTimer->xTimerListItem ), pxTimer ); 7000d686: 6100 str r0, [r0, #16] if( xNextExpiryTime <= xTimeNow ) 7000d688: d80a bhi.n 7000d6a0 { /* Has the expiry time elapsed between the command to start/reset a * timer was issued, and the time the command was processed? */ if( ( ( TickType_t ) ( xTimeNow - xCommandTime ) ) >= pxTimer->xTimerPeriodInTicks ) /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ 7000d68a: 1ad2 subs r2, r2, r3 7000d68c: 6983 ldr r3, [r0, #24] 7000d68e: 429a cmp r2, r3 7000d690: d20d bcs.n 7000d6ae * processed actually exceeds the timers period. */ xProcessTimerNow = pdTRUE; } else { vListInsert( pxOverflowTimerList, &( pxTimer->xTimerListItem ) ); 7000d692: 1d01 adds r1, r0, #4 7000d694: 4b07 ldr r3, [pc, #28] @ (7000d6b4 ) * its expiry time and should be processed immediately. */ xProcessTimerNow = pdTRUE; } else { vListInsert( pxCurrentTimerList, &( pxTimer->xTimerListItem ) ); 7000d696: 6818 ldr r0, [r3, #0] 7000d698: f7fe fa84 bl 7000bba4 BaseType_t xProcessTimerNow = pdFALSE; 7000d69c: 2000 movs r0, #0 } } return xProcessTimerNow; } 7000d69e: bd08 pop {r3, pc} if( ( xTimeNow < xCommandTime ) && ( xNextExpiryTime >= xCommandTime ) ) 7000d6a0: 429a cmp r2, r3 7000d6a2: d201 bcs.n 7000d6a8 7000d6a4: 4299 cmp r1, r3 7000d6a6: d202 bcs.n 7000d6ae vListInsert( pxCurrentTimerList, &( pxTimer->xTimerListItem ) ); 7000d6a8: 1d01 adds r1, r0, #4 7000d6aa: 4b03 ldr r3, [pc, #12] @ (7000d6b8 ) 7000d6ac: e7f3 b.n 7000d696 xProcessTimerNow = pdTRUE; 7000d6ae: 2001 movs r0, #1 return xProcessTimerNow; 7000d6b0: e7f5 b.n 7000d69e 7000d6b2: bf00 nop 7000d6b4: 2400da40 .word 0x2400da40 7000d6b8: 2400da44 .word 0x2400da44 7000d6bc : { 7000d6bc: b570 push {r4, r5, r6, lr} 7000d6be: 4604 mov r4, r0 7000d6c0: 460d mov r5, r1 7000d6c2: 4616 mov r6, r2 while( prvInsertTimerInActiveList( pxTimer, ( xExpiredTime + pxTimer->xTimerPeriodInTicks ), xTimeNow, xExpiredTime ) != pdFALSE ) 7000d6c4: 69a1 ldr r1, [r4, #24] 7000d6c6: 462b mov r3, r5 7000d6c8: 4632 mov r2, r6 7000d6ca: 4620 mov r0, r4 7000d6cc: 4429 add r1, r5 7000d6ce: f7ff ffd7 bl 7000d680 7000d6d2: b900 cbnz r0, 7000d6d6 } 7000d6d4: bd70 pop {r4, r5, r6, pc} xExpiredTime += pxTimer->xTimerPeriodInTicks; 7000d6d6: 69a3 ldr r3, [r4, #24] pxTimer->pxCallbackFunction( ( TimerHandle_t ) pxTimer ); 7000d6d8: 4620 mov r0, r4 xExpiredTime += pxTimer->xTimerPeriodInTicks; 7000d6da: 441d add r5, r3 pxTimer->pxCallbackFunction( ( TimerHandle_t ) pxTimer ); 7000d6dc: 6a23 ldr r3, [r4, #32] 7000d6de: 4798 blx r3 7000d6e0: e7f0 b.n 7000d6c4 ... 7000d6e4 : Timer_t * const pxTimer = ( Timer_t * ) listGET_OWNER_OF_HEAD_ENTRY( pxCurrentTimerList ); /*lint !e9087 !e9079 void * is used as this macro is used with tasks and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ 7000d6e4: 4b0e ldr r3, [pc, #56] @ (7000d720 ) 7000d6e6: 681b ldr r3, [r3, #0] 7000d6e8: 68db ldr r3, [r3, #12] { 7000d6ea: b570 push {r4, r5, r6, lr} Timer_t * const pxTimer = ( Timer_t * ) listGET_OWNER_OF_HEAD_ENTRY( pxCurrentTimerList ); /*lint !e9087 !e9079 void * is used as this macro is used with tasks and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ 7000d6ec: 68dc ldr r4, [r3, #12] { 7000d6ee: 4605 mov r5, r0 7000d6f0: 460e mov r6, r1 ( void ) uxListRemove( &( pxTimer->xTimerListItem ) ); 7000d6f2: 1d20 adds r0, r4, #4 7000d6f4: f7fe fa6d bl 7000bbd2 if( ( pxTimer->ucStatus & tmrSTATUS_IS_AUTORELOAD ) != 0 ) 7000d6f8: f894 3028 ldrb.w r3, [r4, #40] @ 0x28 7000d6fc: 075a lsls r2, r3, #29 7000d6fe: d509 bpl.n 7000d714 prvReloadTimer( pxTimer, xNextExpireTime, xTimeNow ); 7000d700: 4632 mov r2, r6 7000d702: 4629 mov r1, r5 7000d704: 4620 mov r0, r4 7000d706: f7ff ffd9 bl 7000d6bc pxTimer->pxCallbackFunction( ( TimerHandle_t ) pxTimer ); 7000d70a: 6a23 ldr r3, [r4, #32] 7000d70c: 4620 mov r0, r4 } 7000d70e: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} pxTimer->pxCallbackFunction( ( TimerHandle_t ) pxTimer ); 7000d712: 4718 bx r3 pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); 7000d714: f023 0301 bic.w r3, r3, #1 7000d718: f884 3028 strb.w r3, [r4, #40] @ 0x28 7000d71c: e7f5 b.n 7000d70a 7000d71e: bf00 nop 7000d720: 2400da44 .word 0x2400da44 7000d724 : } } /*-----------------------------------------------------------*/ static void prvSwitchTimerLists( void ) { 7000d724: b510 push {r4, lr} /* The tick count has overflowed. The timer lists must be switched. * If there are any timers still referenced from the current timer list * then they must have expired and should be processed before the lists * are switched. */ while( listLIST_IS_EMPTY( pxCurrentTimerList ) == pdFALSE ) 7000d726: 4c08 ldr r4, [pc, #32] @ (7000d748 ) 7000d728: 6823 ldr r3, [r4, #0] 7000d72a: 681a ldr r2, [r3, #0] 7000d72c: b922 cbnz r2, 7000d738 * expirations must wait until after the lists are switched. */ prvProcessExpiredTimer( xNextExpireTime, tmrMAX_TIME_BEFORE_OVERFLOW ); } pxTemp = pxCurrentTimerList; pxCurrentTimerList = pxOverflowTimerList; 7000d72e: 4a07 ldr r2, [pc, #28] @ (7000d74c ) 7000d730: 6811 ldr r1, [r2, #0] pxOverflowTimerList = pxTemp; 7000d732: 6013 str r3, [r2, #0] pxCurrentTimerList = pxOverflowTimerList; 7000d734: 6021 str r1, [r4, #0] } 7000d736: bd10 pop {r4, pc} xNextExpireTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxCurrentTimerList ); 7000d738: 68db ldr r3, [r3, #12] prvProcessExpiredTimer( xNextExpireTime, tmrMAX_TIME_BEFORE_OVERFLOW ); 7000d73a: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 7000d73e: 6818 ldr r0, [r3, #0] 7000d740: f7ff ffd0 bl 7000d6e4 7000d744: e7f0 b.n 7000d728 7000d746: bf00 nop 7000d748: 2400da44 .word 0x2400da44 7000d74c: 2400da40 .word 0x2400da40 7000d750 : /*-----------------------------------------------------------*/ static void prvCheckForValidListAndQueue( void ) { 7000d750: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} /* Check that the list from which active timers are referenced, and the * queue used to communicate with the timer service, have been * initialised. */ taskENTER_CRITICAL(); { if( xTimerQueue == NULL ) 7000d752: 4c11 ldr r4, [pc, #68] @ (7000d798 ) taskENTER_CRITICAL(); 7000d754: f7fe fab6 bl 7000bcc4 if( xTimerQueue == NULL ) 7000d758: 6825 ldr r5, [r4, #0] 7000d75a: b9bd cbnz r5, 7000d78c { vListInitialise( &xActiveTimerList1 ); 7000d75c: 4f0f ldr r7, [pc, #60] @ (7000d79c ) vListInitialise( &xActiveTimerList2 ); 7000d75e: 4e10 ldr r6, [pc, #64] @ (7000d7a0 ) vListInitialise( &xActiveTimerList1 ); 7000d760: 4638 mov r0, r7 7000d762: f7fe fa11 bl 7000bb88 vListInitialise( &xActiveTimerList2 ); 7000d766: 4630 mov r0, r6 7000d768: f7fe fa0e bl 7000bb88 pxCurrentTimerList = &xActiveTimerList1; 7000d76c: 4b0d ldr r3, [pc, #52] @ (7000d7a4 ) /* The timer queue is allocated statically in case * configSUPPORT_DYNAMIC_ALLOCATION is 0. */ PRIVILEGED_DATA static StaticQueue_t xStaticTimerQueue; /*lint !e956 Ok to declare in this manner to prevent additional conditional compilation guards in other locations. */ PRIVILEGED_DATA static uint8_t ucStaticTimerQueueStorage[ ( size_t ) configTIMER_QUEUE_LENGTH * sizeof( DaemonTaskMessage_t ) ]; /*lint !e956 Ok to declare in this manner to prevent additional conditional compilation guards in other locations. */ xTimerQueue = xQueueCreateStatic( ( UBaseType_t ) configTIMER_QUEUE_LENGTH, ( UBaseType_t ) sizeof( DaemonTaskMessage_t ), &( ucStaticTimerQueueStorage[ 0 ] ), &xStaticTimerQueue ); 7000d76e: 4a0e ldr r2, [pc, #56] @ (7000d7a8 ) 7000d770: 2110 movs r1, #16 pxCurrentTimerList = &xActiveTimerList1; 7000d772: 601f str r7, [r3, #0] xTimerQueue = xQueueCreateStatic( ( UBaseType_t ) configTIMER_QUEUE_LENGTH, ( UBaseType_t ) sizeof( DaemonTaskMessage_t ), &( ucStaticTimerQueueStorage[ 0 ] ), &xStaticTimerQueue ); 7000d774: 200a movs r0, #10 pxOverflowTimerList = &xActiveTimerList2; 7000d776: 4b0d ldr r3, [pc, #52] @ (7000d7ac ) 7000d778: 601e str r6, [r3, #0] xTimerQueue = xQueueCreateStatic( ( UBaseType_t ) configTIMER_QUEUE_LENGTH, ( UBaseType_t ) sizeof( DaemonTaskMessage_t ), &( ucStaticTimerQueueStorage[ 0 ] ), &xStaticTimerQueue ); 7000d77a: 4b0d ldr r3, [pc, #52] @ (7000d7b0 ) 7000d77c: 9500 str r5, [sp, #0] 7000d77e: f7fe fcce bl 7000c11e 7000d782: 6020 str r0, [r4, #0] } #endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */ #if ( configQUEUE_REGISTRY_SIZE > 0 ) { if( xTimerQueue != NULL ) 7000d784: b110 cbz r0, 7000d78c { vQueueAddToRegistry( xTimerQueue, "TmrQ" ); 7000d786: 490b ldr r1, [pc, #44] @ (7000d7b4 ) 7000d788: f7ff f892 bl 7000c8b0 { mtCOVERAGE_TEST_MARKER(); } } taskEXIT_CRITICAL(); } 7000d78c: b003 add sp, #12 7000d78e: e8bd 40f0 ldmia.w sp!, {r4, r5, r6, r7, lr} taskEXIT_CRITICAL(); 7000d792: f7fe bab7 b.w 7000bd04 7000d796: bf00 nop 7000d798: 2400da3c .word 0x2400da3c 7000d79c: 2400da5c .word 0x2400da5c 7000d7a0: 2400da48 .word 0x2400da48 7000d7a4: 2400da44 .word 0x2400da44 7000d7a8: 2400d994 .word 0x2400d994 7000d7ac: 2400da40 .word 0x2400da40 7000d7b0: 2400d944 .word 0x2400d944 7000d7b4: 7003eaa4 .word 0x7003eaa4 7000d7b8 : { 7000d7b8: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} *pxListWasEmpty = listLIST_IS_EMPTY( pxCurrentTimerList ); 7000d7bc: 4f5e ldr r7, [pc, #376] @ (7000d938 ) { 7000d7be: b085 sub sp, #20 if( xTimeNow < xLastTime ) 7000d7c0: 4e5e ldr r6, [pc, #376] @ (7000d93c ) *pxListWasEmpty = listLIST_IS_EMPTY( pxCurrentTimerList ); 7000d7c2: 683b ldr r3, [r7, #0] 7000d7c4: f8d3 9000 ldr.w r9, [r3] 7000d7c8: f1b9 0f00 cmp.w r9, #0 7000d7cc: d02b beq.n 7000d826 xNextExpireTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxCurrentTimerList ); 7000d7ce: 68db ldr r3, [r3, #12] *pxListWasEmpty = listLIST_IS_EMPTY( pxCurrentTimerList ); 7000d7d0: 2500 movs r5, #0 xNextExpireTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxCurrentTimerList ); 7000d7d2: f8d3 9000 ldr.w r9, [r3] vTaskSuspendAll(); 7000d7d6: f7ff faeb bl 7000cdb0 xTimeNow = xTaskGetTickCount(); 7000d7da: f8df 8168 ldr.w r8, [pc, #360] @ 7000d944 7000d7de: f7ff faef bl 7000cdc0 if( xTimeNow < xLastTime ) 7000d7e2: 6833 ldr r3, [r6, #0] xTimeNow = xTaskGetTickCount(); 7000d7e4: 4604 mov r4, r0 if( xTimeNow < xLastTime ) 7000d7e6: 4298 cmp r0, r3 7000d7e8: d31f bcc.n 7000d82a xLastTime = xTimeNow; 7000d7ea: 6030 str r0, [r6, #0] if( ( xListWasEmpty == pdFALSE ) && ( xNextExpireTime <= xTimeNow ) ) 7000d7ec: 2d00 cmp r5, #0 7000d7ee: d044 beq.n 7000d87a xListWasEmpty = listLIST_IS_EMPTY( pxOverflowTimerList ); 7000d7f0: 4b53 ldr r3, [pc, #332] @ (7000d940 ) 7000d7f2: 681b ldr r3, [r3, #0] 7000d7f4: 681d ldr r5, [r3, #0] 7000d7f6: fab5 f585 clz r5, r5 7000d7fa: 096d lsrs r5, r5, #5 vQueueWaitForMessageRestricted( xTimerQueue, ( xNextExpireTime - xTimeNow ), xListWasEmpty ); 7000d7fc: 462a mov r2, r5 7000d7fe: eba9 0104 sub.w r1, r9, r4 7000d802: f8d8 0000 ldr.w r0, [r8] 7000d806: f7ff f8b0 bl 7000c96a if( xTaskResumeAll() == pdFALSE ) 7000d80a: f7ff fba9 bl 7000cf60 7000d80e: b988 cbnz r0, 7000d834 portYIELD_WITHIN_API(); 7000d810: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000 7000d814: f04f 5280 mov.w r2, #268435456 @ 0x10000000 7000d818: f8c3 2d04 str.w r2, [r3, #3332] @ 0xd04 7000d81c: f3bf 8f4f dsb sy 7000d820: f3bf 8f6f isb sy 7000d824: e006 b.n 7000d834 *pxListWasEmpty = listLIST_IS_EMPTY( pxCurrentTimerList ); 7000d826: 2501 movs r5, #1 7000d828: e7d5 b.n 7000d7d6 prvSwitchTimerLists(); 7000d82a: f7ff ff7b bl 7000d724 xLastTime = xTimeNow; 7000d82e: 6034 str r4, [r6, #0] ( void ) xTaskResumeAll(); 7000d830: f7ff fb96 bl 7000cf60 while( xQueueReceive( xTimerQueue, &xMessage, tmrNO_DELAY ) != pdFAIL ) /*lint !e603 xMessage does not have to be initialised as it is passed out, not in, and it is not used unless xQueueReceive() returns pdTRUE. */ 7000d834: 2200 movs r2, #0 7000d836: 4669 mov r1, sp 7000d838: f8d8 0000 ldr.w r0, [r8] 7000d83c: f7fe fe87 bl 7000c54e 7000d840: 2800 cmp r0, #0 7000d842: d0be beq.n 7000d7c2 if( xMessage.xMessageID < ( BaseType_t ) 0 ) 7000d844: 9b00 ldr r3, [sp, #0] pxCallback->pxCallbackFunction( pxCallback->pvParameter1, pxCallback->ulParameter2 ); 7000d846: 9802 ldr r0, [sp, #8] if( xMessage.xMessageID < ( BaseType_t ) 0 ) 7000d848: 2b00 cmp r3, #0 7000d84a: db1f blt.n 7000d88c pxTimer = xMessage.u.xTimerParameters.pxTimer; 7000d84c: 9c02 ldr r4, [sp, #8] if( listIS_CONTAINED_WITHIN( NULL, &( pxTimer->xTimerListItem ) ) == pdFALSE ) /*lint !e961. The cast is only redundant when NULL is passed into the macro. */ 7000d84e: 6963 ldr r3, [r4, #20] 7000d850: bb1b cbnz r3, 7000d89a xTimeNow = xTaskGetTickCount(); 7000d852: f7ff fab5 bl 7000cdc0 if( xTimeNow < xLastTime ) 7000d856: 6833 ldr r3, [r6, #0] xTimeNow = xTaskGetTickCount(); 7000d858: 4605 mov r5, r0 if( xTimeNow < xLastTime ) 7000d85a: 4298 cmp r0, r3 7000d85c: d201 bcs.n 7000d862 prvSwitchTimerLists(); 7000d85e: f7ff ff61 bl 7000d724 switch( xMessage.xMessageID ) 7000d862: 9b00 ldr r3, [sp, #0] xLastTime = xTimeNow; 7000d864: 6035 str r5, [r6, #0] switch( xMessage.xMessageID ) 7000d866: 3b01 subs r3, #1 7000d868: 2b08 cmp r3, #8 7000d86a: d8e3 bhi.n 7000d834 7000d86c: e8df f003 tbb [pc, r3] 7000d870: 433c1919 .word 0x433c1919 7000d874: 3c19195c .word 0x3c19195c 7000d878: 43 .byte 0x43 7000d879: 00 .byte 0x00 if( ( xListWasEmpty == pdFALSE ) && ( xNextExpireTime <= xTimeNow ) ) 7000d87a: 4581 cmp r9, r0 7000d87c: d8be bhi.n 7000d7fc ( void ) xTaskResumeAll(); 7000d87e: f7ff fb6f bl 7000cf60 prvProcessExpiredTimer( xNextExpireTime, xTimeNow ); 7000d882: 4621 mov r1, r4 7000d884: 4648 mov r0, r9 7000d886: f7ff ff2d bl 7000d6e4 7000d88a: e7d3 b.n 7000d834 pxCallback->pxCallbackFunction( pxCallback->pvParameter1, pxCallback->ulParameter2 ); 7000d88c: 9b01 ldr r3, [sp, #4] 7000d88e: 9903 ldr r1, [sp, #12] 7000d890: 4798 blx r3 if( xMessage.xMessageID >= ( BaseType_t ) 0 ) 7000d892: 9b00 ldr r3, [sp, #0] 7000d894: 2b00 cmp r3, #0 7000d896: dbcd blt.n 7000d834 7000d898: e7d8 b.n 7000d84c ( void ) uxListRemove( &( pxTimer->xTimerListItem ) ); 7000d89a: 1d20 adds r0, r4, #4 7000d89c: f7fe f999 bl 7000bbd2 7000d8a0: e7d7 b.n 7000d852 pxTimer->ucStatus |= tmrSTATUS_IS_ACTIVE; 7000d8a2: f894 3028 ldrb.w r3, [r4, #40] @ 0x28 if( prvInsertTimerInActiveList( pxTimer, xMessage.u.xTimerParameters.xMessageValue + pxTimer->xTimerPeriodInTicks, xTimeNow, xMessage.u.xTimerParameters.xMessageValue ) != pdFALSE ) 7000d8a6: 462a mov r2, r5 7000d8a8: 69a1 ldr r1, [r4, #24] 7000d8aa: 4620 mov r0, r4 pxTimer->ucStatus |= tmrSTATUS_IS_ACTIVE; 7000d8ac: f043 0301 orr.w r3, r3, #1 7000d8b0: f884 3028 strb.w r3, [r4, #40] @ 0x28 if( prvInsertTimerInActiveList( pxTimer, xMessage.u.xTimerParameters.xMessageValue + pxTimer->xTimerPeriodInTicks, xTimeNow, xMessage.u.xTimerParameters.xMessageValue ) != pdFALSE ) 7000d8b4: 9b01 ldr r3, [sp, #4] 7000d8b6: 4419 add r1, r3 7000d8b8: f7ff fee2 bl 7000d680 7000d8bc: 2800 cmp r0, #0 7000d8be: d0b9 beq.n 7000d834 if( ( pxTimer->ucStatus & tmrSTATUS_IS_AUTORELOAD ) != 0 ) 7000d8c0: f894 3028 ldrb.w r3, [r4, #40] @ 0x28 7000d8c4: 0759 lsls r1, r3, #29 7000d8c6: d50a bpl.n 7000d8de prvReloadTimer( pxTimer, xMessage.u.xTimerParameters.xMessageValue + pxTimer->xTimerPeriodInTicks, xTimeNow ); 7000d8c8: 69a3 ldr r3, [r4, #24] 7000d8ca: 462a mov r2, r5 7000d8cc: 9901 ldr r1, [sp, #4] 7000d8ce: 4620 mov r0, r4 7000d8d0: 4419 add r1, r3 7000d8d2: f7ff fef3 bl 7000d6bc pxTimer->pxCallbackFunction( ( TimerHandle_t ) pxTimer ); 7000d8d6: 6a23 ldr r3, [r4, #32] 7000d8d8: 4620 mov r0, r4 7000d8da: 4798 blx r3 7000d8dc: e7aa b.n 7000d834 pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); 7000d8de: f023 0301 bic.w r3, r3, #1 7000d8e2: f884 3028 strb.w r3, [r4, #40] @ 0x28 7000d8e6: e7f6 b.n 7000d8d6 pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); 7000d8e8: f894 3028 ldrb.w r3, [r4, #40] @ 0x28 pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); 7000d8ec: f023 0301 bic.w r3, r3, #1 7000d8f0: f884 3028 strb.w r3, [r4, #40] @ 0x28 7000d8f4: e79e b.n 7000d834 pxTimer->ucStatus |= tmrSTATUS_IS_ACTIVE; 7000d8f6: f894 3028 ldrb.w r3, [r4, #40] @ 0x28 pxTimer->xTimerPeriodInTicks = xMessage.u.xTimerParameters.xMessageValue; 7000d8fa: 9901 ldr r1, [sp, #4] pxTimer->ucStatus |= tmrSTATUS_IS_ACTIVE; 7000d8fc: f043 0301 orr.w r3, r3, #1 pxTimer->xTimerPeriodInTicks = xMessage.u.xTimerParameters.xMessageValue; 7000d900: 61a1 str r1, [r4, #24] pxTimer->ucStatus |= tmrSTATUS_IS_ACTIVE; 7000d902: f884 3028 strb.w r3, [r4, #40] @ 0x28 configASSERT( ( pxTimer->xTimerPeriodInTicks > 0 ) ); 7000d906: b941 cbnz r1, 7000d91a 7000d908: f04f 0350 mov.w r3, #80 @ 0x50 7000d90c: f383 8811 msr BASEPRI, r3 7000d910: f3bf 8f6f isb sy 7000d914: f3bf 8f4f dsb sy 7000d918: e7fe b.n 7000d918 ( void ) prvInsertTimerInActiveList( pxTimer, ( xTimeNow + pxTimer->xTimerPeriodInTicks ), xTimeNow, xTimeNow ); 7000d91a: 462b mov r3, r5 7000d91c: 462a mov r2, r5 7000d91e: 4429 add r1, r5 7000d920: 4620 mov r0, r4 7000d922: f7ff fead bl 7000d680 break; 7000d926: e785 b.n 7000d834 if( ( pxTimer->ucStatus & tmrSTATUS_IS_STATICALLY_ALLOCATED ) == ( uint8_t ) 0 ) 7000d928: f894 3028 ldrb.w r3, [r4, #40] @ 0x28 7000d92c: 079a lsls r2, r3, #30 7000d92e: d4dd bmi.n 7000d8ec vPortFree( pxTimer ); 7000d930: 4620 mov r0, r4 7000d932: f7fe f8ef bl 7000bb14 7000d936: e77d b.n 7000d834 7000d938: 2400da44 .word 0x2400da44 7000d93c: 2400da34 .word 0x2400da34 7000d940: 2400da40 .word 0x2400da40 7000d944: 2400da3c .word 0x2400da3c 7000d948 : { 7000d948: b510 push {r4, lr} 7000d94a: b088 sub sp, #32 prvCheckForValidListAndQueue(); 7000d94c: f7ff ff00 bl 7000d750 if( xTimerQueue != NULL ) 7000d950: 4b12 ldr r3, [pc, #72] @ (7000d99c ) 7000d952: 681b ldr r3, [r3, #0] 7000d954: b1b3 cbz r3, 7000d984 StaticTask_t * pxTimerTaskTCBBuffer = NULL; 7000d956: 2400 movs r4, #0 vApplicationGetTimerTaskMemory( &pxTimerTaskTCBBuffer, &pxTimerTaskStackBuffer, &ulTimerTaskStackSize ); 7000d958: aa07 add r2, sp, #28 7000d95a: a906 add r1, sp, #24 7000d95c: a805 add r0, sp, #20 StackType_t * pxTimerTaskStackBuffer = NULL; 7000d95e: e9cd 4405 strd r4, r4, [sp, #20] vApplicationGetTimerTaskMemory( &pxTimerTaskTCBBuffer, &pxTimerTaskStackBuffer, &ulTimerTaskStackSize ); 7000d962: f7fe f817 bl 7000b994 xTimerTaskHandle = xTaskCreateStatic( prvTimerTask, 7000d966: 9b05 ldr r3, [sp, #20] 7000d968: 9a07 ldr r2, [sp, #28] 7000d96a: 9302 str r3, [sp, #8] 7000d96c: 9b06 ldr r3, [sp, #24] 7000d96e: 490c ldr r1, [pc, #48] @ (7000d9a0 ) 7000d970: 9301 str r3, [sp, #4] 7000d972: 2302 movs r3, #2 7000d974: 480b ldr r0, [pc, #44] @ (7000d9a4 ) 7000d976: 9300 str r3, [sp, #0] 7000d978: 4623 mov r3, r4 7000d97a: f7ff f9a1 bl 7000ccc0 7000d97e: 4b0a ldr r3, [pc, #40] @ (7000d9a8 ) 7000d980: 6018 str r0, [r3, #0] if( xTimerTaskHandle != NULL ) 7000d982: b940 cbnz r0, 7000d996 7000d984: f04f 0350 mov.w r3, #80 @ 0x50 7000d988: f383 8811 msr BASEPRI, r3 7000d98c: f3bf 8f6f isb sy 7000d990: f3bf 8f4f dsb sy configASSERT( xReturn ); 7000d994: e7fe b.n 7000d994 } 7000d996: 2001 movs r0, #1 7000d998: b008 add sp, #32 7000d99a: bd10 pop {r4, pc} 7000d99c: 2400da3c .word 0x2400da3c 7000d9a0: 7003eaa9 .word 0x7003eaa9 7000d9a4: 7000d7b9 .word 0x7000d7b9 7000d9a8: 2400da38 .word 0x2400da38 7000d9ac <_ZNK8touchgfx17AbstractPartition18getAllocationCountEv>: 7000d9ac: 8880 ldrh r0, [r0, #4] 7000d9ae: 4770 bx lr 7000d9b0 <_ZN8touchgfx17AbstractPartition7indexOfEPKv>: 7000d9b0: b570 push {r4, r5, r6, lr} 7000d9b2: 6803 ldr r3, [r0, #0] 7000d9b4: 460c mov r4, r1 7000d9b6: 2100 movs r1, #0 7000d9b8: 4605 mov r5, r0 7000d9ba: 6a5b ldr r3, [r3, #36] @ 0x24 7000d9bc: 4798 blx r3 7000d9be: 4606 mov r6, r0 7000d9c0: 682b ldr r3, [r5, #0] 7000d9c2: 4628 mov r0, r5 7000d9c4: 1ba4 subs r4, r4, r6 7000d9c6: 6a1b ldr r3, [r3, #32] 7000d9c8: b2a4 uxth r4, r4 7000d9ca: 4798 blx r3 7000d9cc: fbb4 f0f0 udiv r0, r4, r0 7000d9d0: bd70 pop {r4, r5, r6, pc} 7000d9d2 <_ZN8touchgfx17AbstractPartition5clearEv>: 7000d9d2: 2300 movs r3, #0 7000d9d4: 8083 strh r3, [r0, #4] 7000d9d6: 4770 bx lr 7000d9d8 <_ZN8touchgfx17AbstractPartition8allocateEt>: 7000d9d8: b510 push {r4, lr} 7000d9da: 6803 ldr r3, [r0, #0] 7000d9dc: 4604 mov r4, r0 7000d9de: 8881 ldrh r1, [r0, #4] 7000d9e0: 6a5b ldr r3, [r3, #36] @ 0x24 7000d9e2: 4798 blx r3 7000d9e4: 88a3 ldrh r3, [r4, #4] 7000d9e6: 3301 adds r3, #1 7000d9e8: 80a3 strh r3, [r4, #4] 7000d9ea: bd10 pop {r4, pc} 7000d9ec <_ZN8touchgfx17AbstractPartition10allocateAtEtt>: 7000d9ec: 6803 ldr r3, [r0, #0] 7000d9ee: 6a5b ldr r3, [r3, #36] @ 0x24 7000d9f0: 4718 bx r3 7000d9f2 <_ZN8touchgfx17AbstractPartitionD1Ev>: 7000d9f2: 4770 bx lr 7000d9f4 <_ZN8touchgfx17AbstractPartitionC1Ev>: 7000d9f4: 4a02 ldr r2, [pc, #8] @ (7000da00 <_ZN8touchgfx17AbstractPartitionC1Ev+0xc>) 7000d9f6: 6002 str r2, [r0, #0] 7000d9f8: 2200 movs r2, #0 7000d9fa: 8082 strh r2, [r0, #4] 7000d9fc: 4770 bx lr 7000d9fe: bf00 nop 7000da00: 7003f684 .word 0x7003f684 7000da04 <_ZN8touchgfx9Container13getFirstChildEv>: 7000da04: 6a80 ldr r0, [r0, #40] @ 0x28 7000da06: 4770 bx lr 7000da08 <_ZNK8touchgfx25AbstractProgressIndicator21getProgressIndicatorXEv>: 7000da08: f9b0 005c ldrsh.w r0, [r0, #92] @ 0x5c 7000da0c: 4770 bx lr 7000da0e <_ZNK8touchgfx25AbstractProgressIndicator21getProgressIndicatorYEv>: 7000da0e: f9b0 005e ldrsh.w r0, [r0, #94] @ 0x5e 7000da12: 4770 bx lr 7000da14 <_ZNK8touchgfx25AbstractProgressIndicator25getProgressIndicatorWidthEv>: 7000da14: f9b0 0060 ldrsh.w r0, [r0, #96] @ 0x60 7000da18: 4770 bx lr 7000da1a <_ZNK8touchgfx25AbstractProgressIndicator26getProgressIndicatorHeightEv>: 7000da1a: f9b0 0062 ldrsh.w r0, [r0, #98] @ 0x62 7000da1e: 4770 bx lr 7000da20 <_ZN8touchgfx25AbstractProgressIndicator8setRangeEiitt>: 7000da20: b5f8 push {r3, r4, r5, r6, r7, lr} 7000da22: 461e mov r6, r3 7000da24: 6803 ldr r3, [r0, #0] 7000da26: 460f mov r7, r1 7000da28: 4604 mov r4, r0 7000da2a: 4615 mov r5, r2 7000da2c: e9c0 1221 strd r1, r2, [r0, #132] @ 0x84 7000da30: f8d0 108c ldr.w r1, [r0, #140] @ 0x8c 7000da34: f8d3 30b0 ldr.w r3, [r3, #176] @ 0xb0 7000da38: 4798 blx r3 7000da3a: b90e cbnz r6, 7000da40 <_ZN8touchgfx25AbstractProgressIndicator8setRangeEiitt+0x20> 7000da3c: 1bed subs r5, r5, r7 7000da3e: b2ae uxth r6, r5 7000da40: f8bd 3018 ldrh.w r3, [sp, #24] 7000da44: f8a4 6090 strh.w r6, [r4, #144] @ 0x90 7000da48: f8a4 3092 strh.w r3, [r4, #146] @ 0x92 7000da4c: bdf8 pop {r3, r4, r5, r6, r7, pc} 7000da4e <_ZNK8touchgfx25AbstractProgressIndicator8getRangeERiS1_RtS2_>: 7000da4e: b510 push {r4, lr} 7000da50: f8d0 4084 ldr.w r4, [r0, #132] @ 0x84 7000da54: 600c str r4, [r1, #0] 7000da56: f8d0 1088 ldr.w r1, [r0, #136] @ 0x88 7000da5a: 6011 str r1, [r2, #0] 7000da5c: f8b0 2090 ldrh.w r2, [r0, #144] @ 0x90 7000da60: 801a strh r2, [r3, #0] 7000da62: 9b02 ldr r3, [sp, #8] 7000da64: f8b0 2092 ldrh.w r2, [r0, #146] @ 0x92 7000da68: 801a strh r2, [r3, #0] 7000da6a: bd10 pop {r4, pc} 7000da6c <_ZNK8touchgfx25AbstractProgressIndicator8getRangeERiS1_Rt>: 7000da6c: b510 push {r4, lr} 7000da6e: f8d0 4084 ldr.w r4, [r0, #132] @ 0x84 7000da72: 600c str r4, [r1, #0] 7000da74: f8d0 1088 ldr.w r1, [r0, #136] @ 0x88 7000da78: 6011 str r1, [r2, #0] 7000da7a: f8b0 2090 ldrh.w r2, [r0, #144] @ 0x90 7000da7e: 801a strh r2, [r3, #0] 7000da80: bd10 pop {r4, pc} 7000da82 <_ZNK8touchgfx25AbstractProgressIndicator8getRangeERiS1_>: 7000da82: f8d0 3084 ldr.w r3, [r0, #132] @ 0x84 7000da86: 600b str r3, [r1, #0] 7000da88: f8d0 3088 ldr.w r3, [r0, #136] @ 0x88 7000da8c: 6013 str r3, [r2, #0] 7000da8e: 4770 bx lr 7000da90 <_ZN8touchgfx25AbstractProgressIndicator17setEasingEquationEPFstsstE>: 7000da90: f8c0 1094 str.w r1, [r0, #148] @ 0x94 7000da94: 4770 bx lr 7000da96 <_ZNK8touchgfx25AbstractProgressIndicator8getValueEv>: 7000da96: f8d0 008c ldr.w r0, [r0, #140] @ 0x8c 7000da9a: 4770 bx lr 7000da9c <_ZN8touchgfx25AbstractProgressIndicator8setAlphaEh>: 7000da9c: f880 1054 strb.w r1, [r0, #84] @ 0x54 7000daa0: 4770 bx lr 7000daa2 <_ZNK8touchgfx25AbstractProgressIndicator8getAlphaEv>: 7000daa2: f890 0054 ldrb.w r0, [r0, #84] @ 0x54 7000daa6: 4770 bx lr 7000daa8 <_ZN8touchgfx25AbstractProgressIndicatorD1Ev>: 7000daa8: 4770 bx lr 7000daaa <_ZN8touchgfx25AbstractProgressIndicatorD0Ev>: 7000daaa: b510 push {r4, lr} 7000daac: 4604 mov r4, r0 7000daae: 21b4 movs r1, #180 @ 0xb4 7000dab0: f02b fe81 bl 700397b6 <_ZdlPvj> 7000dab4: 4620 mov r0, r4 7000dab6: bd10 pop {r4, pc} 7000dab8 <_ZN8touchgfx25AbstractProgressIndicator11updateValueEit>: 7000dab8: b570 push {r4, r5, r6, lr} 7000daba: f8d0 3084 ldr.w r3, [r0, #132] @ 0x84 7000dabe: 4604 mov r4, r0 7000dac0: 4616 mov r6, r2 7000dac2: 4299 cmp r1, r3 7000dac4: bfb8 it lt 7000dac6: 4619 movlt r1, r3 7000dac8: f8d0 3088 ldr.w r3, [r0, #136] @ 0x88 7000dacc: 4299 cmp r1, r3 7000dace: bfa8 it ge 7000dad0: 4619 movge r1, r3 7000dad2: 460d mov r5, r1 7000dad4: b992 cbnz r2, 7000dafc <_ZN8touchgfx25AbstractProgressIndicator11updateValueEit+0x44> 7000dad6: 6803 ldr r3, [r0, #0] 7000dad8: f8d3 30b0 ldr.w r3, [r3, #176] @ 0xb0 7000dadc: 4798 blx r3 7000dade: f8d4 00b0 ldr.w r0, [r4, #176] @ 0xb0 7000dae2: b368 cbz r0, 7000db40 <_ZN8touchgfx25AbstractProgressIndicator11updateValueEit+0x88> 7000dae4: 6803 ldr r3, [r0, #0] 7000dae6: 68db ldr r3, [r3, #12] 7000dae8: 4798 blx r3 7000daea: b348 cbz r0, 7000db40 <_ZN8touchgfx25AbstractProgressIndicator11updateValueEit+0x88> 7000daec: f8d4 00b0 ldr.w r0, [r4, #176] @ 0xb0 7000daf0: 4621 mov r1, r4 7000daf2: 6803 ldr r3, [r0, #0] 7000daf4: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000daf8: 689b ldr r3, [r3, #8] 7000dafa: 4718 bx r3 7000dafc: f8d0 30a4 ldr.w r3, [r0, #164] @ 0xa4 7000db00: 2b00 cmp r3, #0 7000db02: dd08 ble.n 7000db16 <_ZN8touchgfx25AbstractProgressIndicator11updateValueEit+0x5e> 7000db04: f003 fb24 bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> 7000db08: 4621 mov r1, r4 7000db0a: 3004 adds r0, #4 7000db0c: f003 fb6b bl 700111e6 <_ZN8touchgfx11Application12TimerWidgets6removeEPKNS_8DrawableE> 7000db10: 2300 movs r3, #0 7000db12: f884 3098 strb.w r3, [r4, #152] @ 0x98 7000db16: 6823 ldr r3, [r4, #0] 7000db18: 4620 mov r0, r4 7000db1a: f8d3 30bc ldr.w r3, [r3, #188] @ 0xbc 7000db1e: 4798 blx r3 7000db20: 2300 movs r3, #0 7000db22: f8c4 60a4 str.w r6, [r4, #164] @ 0xa4 7000db26: f8c4 30a8 str.w r3, [r4, #168] @ 0xa8 7000db2a: e9c4 0527 strd r0, r5, [r4, #156] @ 0x9c 7000db2e: f003 fb0f bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> 7000db32: 4621 mov r1, r4 7000db34: 3004 adds r0, #4 7000db36: f003 fc05 bl 70011344 <_ZN8touchgfx11Application12TimerWidgets3addEPNS_8DrawableE> 7000db3a: 2301 movs r3, #1 7000db3c: f884 3098 strb.w r3, [r4, #152] @ 0x98 7000db40: bd70 pop {r4, r5, r6, pc} 7000db42 <_ZNK8touchgfx25AbstractProgressIndicator17invalidateContentEv>: 7000db42: b510 push {r4, lr} 7000db44: 6803 ldr r3, [r0, #0] 7000db46: 4604 mov r4, r0 7000db48: f8d3 30c8 ldr.w r3, [r3, #200] @ 0xc8 7000db4c: 4798 blx r3 7000db4e: b110 cbz r0, 7000db56 <_ZNK8touchgfx25AbstractProgressIndicator17invalidateContentEv+0x14> 7000db50: 4620 mov r0, r4 7000db52: f7f6 f9d4 bl 70003efe <_ZNK8touchgfx8Drawable17invalidateContentEv> 7000db56: bd10 pop {r4, pc} 7000db58 <_ZN8touchgfx25AbstractProgressIndicator8setValueEi>: 7000db58: b510 push {r4, lr} 7000db5a: f8d0 3084 ldr.w r3, [r0, #132] @ 0x84 7000db5e: 4604 mov r4, r0 7000db60: 4299 cmp r1, r3 7000db62: bfb8 it lt 7000db64: 4619 movlt r1, r3 7000db66: f8d0 3088 ldr.w r3, [r0, #136] @ 0x88 7000db6a: 4299 cmp r1, r3 7000db6c: bfa8 it ge 7000db6e: 4619 movge r1, r3 7000db70: f8d0 308c ldr.w r3, [r0, #140] @ 0x8c 7000db74: 428b cmp r3, r1 7000db76: d010 beq.n 7000db9a <_ZN8touchgfx25AbstractProgressIndicator8setValueEi+0x42> 7000db78: f8c0 108c str.w r1, [r0, #140] @ 0x8c 7000db7c: f8d0 00ac ldr.w r0, [r0, #172] @ 0xac 7000db80: b158 cbz r0, 7000db9a <_ZN8touchgfx25AbstractProgressIndicator8setValueEi+0x42> 7000db82: 6803 ldr r3, [r0, #0] 7000db84: 68db ldr r3, [r3, #12] 7000db86: 4798 blx r3 7000db88: b138 cbz r0, 7000db9a <_ZN8touchgfx25AbstractProgressIndicator8setValueEi+0x42> 7000db8a: f8d4 00ac ldr.w r0, [r4, #172] @ 0xac 7000db8e: 4621 mov r1, r4 7000db90: 6803 ldr r3, [r0, #0] 7000db92: e8bd 4010 ldmia.w sp!, {r4, lr} 7000db96: 689b ldr r3, [r3, #8] 7000db98: 4718 bx r3 7000db9a: bd10 pop {r4, pc} 7000db9c <_ZNK8touchgfx25AbstractProgressIndicator11getProgressEt>: 7000db9c: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} 7000db9e: 4605 mov r5, r0 7000dba0: 460c mov r4, r1 7000dba2: b1a9 cbz r1, 7000dbd0 <_ZNK8touchgfx25AbstractProgressIndicator11getProgressEt+0x34> 7000dba4: f8b0 6092 ldrh.w r6, [r0, #146] @ 0x92 7000dba8: ab01 add r3, sp, #4 7000dbaa: f8b5 1090 ldrh.w r1, [r5, #144] @ 0x90 7000dbae: f8d5 708c ldr.w r7, [r5, #140] @ 0x8c 7000dbb2: 1b89 subs r1, r1, r6 7000dbb4: e9d0 0221 ldrd r0, r2, [r0, #132] @ 0x84 7000dbb8: 1a12 subs r2, r2, r0 7000dbba: 1a38 subs r0, r7, r0 7000dbbc: f005 fa1a bl 70012ff4 <_ZN8touchgfx6muldivElllRl> 7000dbc0: 4621 mov r1, r4 7000dbc2: ab01 add r3, sp, #4 7000dbc4: f8b5 2090 ldrh.w r2, [r5, #144] @ 0x90 7000dbc8: 4430 add r0, r6 7000dbca: f005 fa13 bl 70012ff4 <_ZN8touchgfx6muldivElllRl> 7000dbce: b284 uxth r4, r0 7000dbd0: 4620 mov r0, r4 7000dbd2: b003 add sp, #12 7000dbd4: bdf0 pop {r4, r5, r6, r7, pc} 7000dbd6 <_ZN8touchgfx25AbstractProgressIndicator15handleTickEventEv>: 7000dbd6: b570 push {r4, r5, r6, lr} 7000dbd8: f890 3098 ldrb.w r3, [r0, #152] @ 0x98 7000dbdc: 4604 mov r4, r0 7000dbde: 2b00 cmp r3, #0 7000dbe0: d035 beq.n 7000dc4e <_ZN8touchgfx25AbstractProgressIndicator15handleTickEventEv+0x78> 7000dbe2: f8d0 00a8 ldr.w r0, [r0, #168] @ 0xa8 7000dbe6: 2100 movs r1, #0 7000dbe8: f8d4 5094 ldr.w r5, [r4, #148] @ 0x94 7000dbec: 3001 adds r0, #1 7000dbee: e9d4 3227 ldrd r3, r2, [r4, #156] @ 0x9c 7000dbf2: f8c4 00a8 str.w r0, [r4, #168] @ 0xa8 7000dbf6: b280 uxth r0, r0 7000dbf8: 1ad2 subs r2, r2, r3 7000dbfa: f8b4 30a4 ldrh.w r3, [r4, #164] @ 0xa4 7000dbfe: b212 sxth r2, r2 7000dc00: 47a8 blx r5 7000dc02: f8d4 109c ldr.w r1, [r4, #156] @ 0x9c 7000dc06: 6823 ldr r3, [r4, #0] 7000dc08: 4401 add r1, r0 7000dc0a: 4620 mov r0, r4 7000dc0c: f8d3 30b0 ldr.w r3, [r3, #176] @ 0xb0 7000dc10: 4798 blx r3 7000dc12: e9d4 3229 ldrd r3, r2, [r4, #164] @ 0xa4 7000dc16: 429a cmp r2, r3 7000dc18: db19 blt.n 7000dc4e <_ZN8touchgfx25AbstractProgressIndicator15handleTickEventEv+0x78> 7000dc1a: 2500 movs r5, #0 7000dc1c: e9c4 5529 strd r5, r5, [r4, #164] @ 0xa4 7000dc20: f003 fa96 bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> 7000dc24: 4621 mov r1, r4 7000dc26: 3004 adds r0, #4 7000dc28: f003 fadd bl 700111e6 <_ZN8touchgfx11Application12TimerWidgets6removeEPKNS_8DrawableE> 7000dc2c: f8d4 00b0 ldr.w r0, [r4, #176] @ 0xb0 7000dc30: f884 5098 strb.w r5, [r4, #152] @ 0x98 7000dc34: b158 cbz r0, 7000dc4e <_ZN8touchgfx25AbstractProgressIndicator15handleTickEventEv+0x78> 7000dc36: 6803 ldr r3, [r0, #0] 7000dc38: 68db ldr r3, [r3, #12] 7000dc3a: 4798 blx r3 7000dc3c: b138 cbz r0, 7000dc4e <_ZN8touchgfx25AbstractProgressIndicator15handleTickEventEv+0x78> 7000dc3e: f8d4 00b0 ldr.w r0, [r4, #176] @ 0xb0 7000dc42: 4621 mov r1, r4 7000dc44: 6803 ldr r3, [r0, #0] 7000dc46: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000dc4a: 689b ldr r3, [r3, #8] 7000dc4c: 4718 bx r3 7000dc4e: bd70 pop {r4, r5, r6, pc} 7000dc50 <_ZN8touchgfx8DrawableC1Ev>: 7000dc50: 4a07 ldr r2, [pc, #28] @ (7000dc70 <_ZN8touchgfx8DrawableC1Ev+0x20>) 7000dc52: 6002 str r2, [r0, #0] 7000dc54: 2200 movs r2, #0 7000dc56: e9c0 2201 strd r2, r2, [r0, #4] 7000dc5a: e9c0 2203 strd r2, r2, [r0, #12] 7000dc5e: e9c0 2205 strd r2, r2, [r0, #20] 7000dc62: e9c0 2207 strd r2, r2, [r0, #28] 7000dc66: f44f 7280 mov.w r2, #256 @ 0x100 7000dc6a: 8482 strh r2, [r0, #36] @ 0x24 7000dc6c: 4770 bx lr 7000dc6e: bf00 nop 7000dc70: 7003fba0 .word 0x7003fba0 7000dc74 <_ZN8touchgfx8Drawable14setWidthHeightEss>: 7000dc74: b570 push {r4, r5, r6, lr} 7000dc76: 6803 ldr r3, [r0, #0] 7000dc78: 4604 mov r4, r0 7000dc7a: 4615 mov r5, r2 7000dc7c: 6b9b ldr r3, [r3, #56] @ 0x38 7000dc7e: 4798 blx r3 7000dc80: 6823 ldr r3, [r4, #0] 7000dc82: 4629 mov r1, r5 7000dc84: 4620 mov r0, r4 7000dc86: 6bdb ldr r3, [r3, #60] @ 0x3c 7000dc88: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000dc8c: 4718 bx r3 7000dc8e <_ZN8touchgfx25AbstractProgressIndicator28setProgressIndicatorPositionEssss>: 7000dc8e: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 7000dc92: f100 0958 add.w r9, r0, #88 @ 0x58 7000dc96: 461f mov r7, r3 7000dc98: f9bd 8020 ldrsh.w r8, [sp, #32] 7000dc9c: 4604 mov r4, r0 7000dc9e: 460e mov r6, r1 7000dca0: 4648 mov r0, r9 7000dca2: 4615 mov r5, r2 7000dca4: f7f6 f945 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7000dca8: 4642 mov r2, r8 7000dcaa: 4639 mov r1, r7 7000dcac: 4648 mov r0, r9 7000dcae: f7ff ffe1 bl 7000dc74 <_ZN8touchgfx8Drawable14setWidthHeightEss> 7000dcb2: f9b4 2008 ldrsh.w r2, [r4, #8] 7000dcb6: 19f3 adds r3, r6, r7 7000dcb8: 429a cmp r2, r3 7000dcba: eb05 0208 add.w r2, r5, r8 7000dcbe: bfb8 it lt 7000dcc0: 8123 strhlt r3, [r4, #8] 7000dcc2: f9b4 300a ldrsh.w r3, [r4, #10] 7000dcc6: 4293 cmp r3, r2 7000dcc8: bfb8 it lt 7000dcca: 8162 strhlt r2, [r4, #10] 7000dccc: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 7000dcd0 <_ZN8touchgfx25AbstractProgressIndicator13setBackgroundERKNS_6BitmapE>: 7000dcd0: b510 push {r4, lr} 7000dcd2: 4604 mov r4, r0 7000dcd4: 302c adds r0, #44 @ 0x2c 7000dcd6: f002 f822 bl 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE> 7000dcda: f9b4 2036 ldrsh.w r2, [r4, #54] @ 0x36 7000dcde: 4620 mov r0, r4 7000dce0: f9b4 1034 ldrsh.w r1, [r4, #52] @ 0x34 7000dce4: f7ff ffc6 bl 7000dc74 <_ZN8touchgfx8Drawable14setWidthHeightEss> 7000dce8: bd10 pop {r4, pc} ... 7000dcec <_ZN8touchgfx25AbstractProgressIndicatorC1Ev>: 7000dcec: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} 7000dcee: 4604 mov r4, r0 7000dcf0: 2500 movs r5, #0 7000dcf2: f7ff ffad bl 7000dc50 <_ZN8touchgfx8DrawableC1Ev> 7000dcf6: 4b23 ldr r3, [pc, #140] @ (7000dd84 <_ZN8touchgfx25AbstractProgressIndicatorC1Ev+0x98>) 7000dcf8: 4626 mov r6, r4 7000dcfa: f64f 77ff movw r7, #65535 @ 0xffff 7000dcfe: 2226 movs r2, #38 @ 0x26 7000dd00: 4629 mov r1, r5 7000dd02: 62a5 str r5, [r4, #40] @ 0x28 7000dd04: f846 3b2c str.w r3, [r6], #44 7000dd08: 4630 mov r0, r6 7000dd0a: f8ad 7004 strh.w r7, [sp, #4] 7000dd0e: f02d fb09 bl 7003b324 7000dd12: 4630 mov r0, r6 7000dd14: f7ff ff9c bl 7000dc50 <_ZN8touchgfx8DrawableC1Ev> 7000dd18: 4b1b ldr r3, [pc, #108] @ (7000dd88 <_ZN8touchgfx25AbstractProgressIndicatorC1Ev+0x9c>) 7000dd1a: f884 7054 strb.w r7, [r4, #84] @ 0x54 7000dd1e: f104 0758 add.w r7, r4, #88 @ 0x58 7000dd22: 62e3 str r3, [r4, #44] @ 0x2c 7000dd24: a901 add r1, sp, #4 7000dd26: f8bd 3004 ldrh.w r3, [sp, #4] 7000dd2a: 4630 mov r0, r6 7000dd2c: f8a4 3052 strh.w r3, [r4, #82] @ 0x52 7000dd30: f001 fff5 bl 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE> 7000dd34: 4638 mov r0, r7 7000dd36: f7ff ff8b bl 7000dc50 <_ZN8touchgfx8DrawableC1Ev> 7000dd3a: 4b14 ldr r3, [pc, #80] @ (7000dd8c <_ZN8touchgfx25AbstractProgressIndicatorC1Ev+0xa0>) 7000dd3c: 462a mov r2, r5 7000dd3e: 4629 mov r1, r5 7000dd40: 65a3 str r3, [r4, #88] @ 0x58 7000dd42: 2364 movs r3, #100 @ 0x64 7000dd44: 4630 mov r0, r6 7000dd46: f884 5098 strb.w r5, [r4, #152] @ 0x98 7000dd4a: f8c4 3090 str.w r3, [r4, #144] @ 0x90 7000dd4e: e9c4 3522 strd r3, r5, [r4, #136] @ 0x88 7000dd52: 4b0f ldr r3, [pc, #60] @ (7000dd90 <_ZN8touchgfx25AbstractProgressIndicatorC1Ev+0xa4>) 7000dd54: e9c4 5520 strd r5, r5, [r4, #128] @ 0x80 7000dd58: f8c4 3094 str.w r3, [r4, #148] @ 0x94 7000dd5c: e9c4 5527 strd r5, r5, [r4, #156] @ 0x9c 7000dd60: e9c4 5529 strd r5, r5, [r4, #164] @ 0xa4 7000dd64: e9c4 552b strd r5, r5, [r4, #172] @ 0xac 7000dd68: f7f6 f8e3 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7000dd6c: 4631 mov r1, r6 7000dd6e: 4620 mov r0, r4 7000dd70: f000 f81b bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> 7000dd74: 4620 mov r0, r4 7000dd76: 4639 mov r1, r7 7000dd78: f000 f817 bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> 7000dd7c: 4620 mov r0, r4 7000dd7e: b003 add sp, #12 7000dd80: bdf0 pop {r4, r5, r6, r7, pc} 7000dd82: bf00 nop 7000dd84: 7003f6b8 .word 0x7003f6b8 7000dd88: 7003fae0 .word 0x7003fae0 7000dd8c: 7003f78c .word 0x7003f78c 7000dd90: 700136af .word 0x700136af 7000dd94 <_ZN8touchgfx9Container8containsERKNS_8DrawableE>: 7000dd94: 6a83 ldr r3, [r0, #40] @ 0x28 7000dd96: 2000 movs r0, #0 7000dd98: e003 b.n 7000dda2 <_ZN8touchgfx9Container8containsERKNS_8DrawableE+0xe> 7000dd9a: 1a5a subs r2, r3, r1 7000dd9c: 699b ldr r3, [r3, #24] 7000dd9e: 4250 negs r0, r2 7000dda0: 4150 adcs r0, r2 7000dda2: b10b cbz r3, 7000dda8 <_ZN8touchgfx9Container8containsERKNS_8DrawableE+0x14> 7000dda4: 2800 cmp r0, #0 7000dda6: d0f8 beq.n 7000dd9a <_ZN8touchgfx9Container8containsERKNS_8DrawableE+0x6> 7000dda8: 4770 bx lr 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE>: 7000ddaa: 2300 movs r3, #0 7000ddac: 6148 str r0, [r1, #20] 7000ddae: 618b str r3, [r1, #24] 7000ddb0: 6a83 ldr r3, [r0, #40] @ 0x28 7000ddb2: b90b cbnz r3, 7000ddb8 <_ZN8touchgfx9Container3addERNS_8DrawableE+0xe> 7000ddb4: 6281 str r1, [r0, #40] @ 0x28 7000ddb6: 4770 bx lr 7000ddb8: 461a mov r2, r3 7000ddba: 699b ldr r3, [r3, #24] 7000ddbc: 2b00 cmp r3, #0 7000ddbe: d1fb bne.n 7000ddb8 <_ZN8touchgfx9Container3addERNS_8DrawableE+0xe> 7000ddc0: 6191 str r1, [r2, #24] 7000ddc2: 4770 bx lr 7000ddc4 <_ZN8touchgfx9Container9removeAllEv>: 7000ddc4: 2200 movs r2, #0 7000ddc6: e003 b.n 7000ddd0 <_ZN8touchgfx9Container9removeAllEv+0xc> 7000ddc8: 6999 ldr r1, [r3, #24] 7000ddca: 6281 str r1, [r0, #40] @ 0x28 7000ddcc: e9c3 2205 strd r2, r2, [r3, #20] 7000ddd0: 6a83 ldr r3, [r0, #40] @ 0x28 7000ddd2: 2b00 cmp r3, #0 7000ddd4: d1f8 bne.n 7000ddc8 <_ZN8touchgfx9Container9removeAllEv+0x4> 7000ddd6: 4770 bx lr 7000ddd8 <_ZN8touchgfx9Container6unlinkEv>: 7000ddd8: 2300 movs r3, #0 7000ddda: 6283 str r3, [r0, #40] @ 0x28 7000dddc: 4770 bx lr 7000ddde <_ZN8touchgfx9Container12getLastChildEssPPNS_8DrawableE>: 7000ddde: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 7000dde2: 461f mov r7, r3 7000dde4: f890 3024 ldrb.w r3, [r0, #36] @ 0x24 7000dde8: 460d mov r5, r1 7000ddea: 4616 mov r6, r2 7000ddec: b103 cbz r3, 7000ddf0 <_ZN8touchgfx9Container12getLastChildEssPPNS_8DrawableE+0x12> 7000ddee: 6038 str r0, [r7, #0] 7000ddf0: 6a84 ldr r4, [r0, #40] @ 0x28 7000ddf2: e023 b.n 7000de3c <_ZN8touchgfx9Container12getLastChildEssPPNS_8DrawableE+0x5e> 7000ddf4: f894 3025 ldrb.w r3, [r4, #37] @ 0x25 7000ddf8: b1fb cbz r3, 7000de3a <_ZN8touchgfx9Container12getLastChildEssPPNS_8DrawableE+0x5c> 7000ddfa: f9b4 0004 ldrsh.w r0, [r4, #4] 7000ddfe: 4285 cmp r5, r0 7000de00: db1b blt.n 7000de3a <_ZN8touchgfx9Container12getLastChildEssPPNS_8DrawableE+0x5c> 7000de02: 8923 ldrh r3, [r4, #8] 7000de04: b281 uxth r1, r0 7000de06: fa13 f080 uxtah r0, r3, r0 7000de0a: b200 sxth r0, r0 7000de0c: 4285 cmp r5, r0 7000de0e: da14 bge.n 7000de3a <_ZN8touchgfx9Container12getLastChildEssPPNS_8DrawableE+0x5c> 7000de10: f9b4 0006 ldrsh.w r0, [r4, #6] 7000de14: 4286 cmp r6, r0 7000de16: db10 blt.n 7000de3a <_ZN8touchgfx9Container12getLastChildEssPPNS_8DrawableE+0x5c> 7000de18: 8963 ldrh r3, [r4, #10] 7000de1a: b282 uxth r2, r0 7000de1c: fa13 f080 uxtah r0, r3, r0 7000de20: b200 sxth r0, r0 7000de22: 4286 cmp r6, r0 7000de24: da09 bge.n 7000de3a <_ZN8touchgfx9Container12getLastChildEssPPNS_8DrawableE+0x5c> 7000de26: 6823 ldr r3, [r4, #0] 7000de28: 1ab2 subs r2, r6, r2 7000de2a: 1a69 subs r1, r5, r1 7000de2c: 4620 mov r0, r4 7000de2e: f8d3 8024 ldr.w r8, [r3, #36] @ 0x24 7000de32: b212 sxth r2, r2 7000de34: 463b mov r3, r7 7000de36: b209 sxth r1, r1 7000de38: 47c0 blx r8 7000de3a: 69a4 ldr r4, [r4, #24] 7000de3c: 2c00 cmp r4, #0 7000de3e: d1d9 bne.n 7000ddf4 <_ZN8touchgfx9Container12getLastChildEssPPNS_8DrawableE+0x16> 7000de40: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 7000de44 <_ZNK8touchgfx9Container12getSolidRectEv>: 7000de44: 2200 movs r2, #0 7000de46: 8002 strh r2, [r0, #0] 7000de48: 8042 strh r2, [r0, #2] 7000de4a: 8082 strh r2, [r0, #4] 7000de4c: 80c2 strh r2, [r0, #6] 7000de4e: 4770 bx lr 7000de50 <_ZN8touchgfx9Container20moveChildrenRelativeEss>: 7000de50: b570 push {r4, r5, r6, lr} 7000de52: 460d mov r5, r1 7000de54: 4616 mov r6, r2 7000de56: 6a84 ldr r4, [r0, #40] @ 0x28 7000de58: e006 b.n 7000de68 <_ZN8touchgfx9Container20moveChildrenRelativeEss+0x18> 7000de5a: 6823 ldr r3, [r4, #0] 7000de5c: 4620 mov r0, r4 7000de5e: 4632 mov r2, r6 7000de60: 4629 mov r1, r5 7000de62: 6d5b ldr r3, [r3, #84] @ 0x54 7000de64: 4798 blx r3 7000de66: 69a4 ldr r4, [r4, #24] 7000de68: 2c00 cmp r4, #0 7000de6a: d1f6 bne.n 7000de5a <_ZN8touchgfx9Container20moveChildrenRelativeEss+0xa> 7000de6c: bd70 pop {r4, r5, r6, pc} 7000de6e <_ZN8touchgfx9Container12forEachChildEPNS_15GenericCallbackIRNS_8DrawableEvvEE>: 7000de6e: b538 push {r3, r4, r5, lr} 7000de70: 460d mov r5, r1 7000de72: 6a84 ldr r4, [r0, #40] @ 0x28 7000de74: e005 b.n 7000de82 <_ZN8touchgfx9Container12forEachChildEPNS_15GenericCallbackIRNS_8DrawableEvvEE+0x14> 7000de76: 682b ldr r3, [r5, #0] 7000de78: 4621 mov r1, r4 7000de7a: 4628 mov r0, r5 7000de7c: 689b ldr r3, [r3, #8] 7000de7e: 4798 blx r3 7000de80: 69a4 ldr r4, [r4, #24] 7000de82: 2c00 cmp r4, #0 7000de84: d1f7 bne.n 7000de76 <_ZN8touchgfx9Container12forEachChildEPNS_15GenericCallbackIRNS_8DrawableEvvEE+0x8> 7000de86: bd38 pop {r3, r4, r5, pc} 7000de88 <_ZN8touchgfx9ContainerD1Ev>: 7000de88: 4770 bx lr 7000de8a <_ZN8touchgfx9ContainerD0Ev>: 7000de8a: b510 push {r4, lr} 7000de8c: 4604 mov r4, r0 7000de8e: 212c movs r1, #44 @ 0x2c 7000de90: f02b fc91 bl 700397b6 <_ZdlPvj> 7000de94: 4620 mov r0, r4 7000de96: bd10 pop {r4, pc} 7000de98 <_ZN8touchgfx9Container6removeERNS_8DrawableE>: 7000de98: 6a83 ldr r3, [r0, #40] @ 0x28 7000de9a: b1ab cbz r3, 7000dec8 <_ZN8touchgfx9Container6removeERNS_8DrawableE+0x30> 7000de9c: 428b cmp r3, r1 7000de9e: d107 bne.n 7000deb0 <_ZN8touchgfx9Container6removeERNS_8DrawableE+0x18> 7000dea0: 2100 movs r1, #0 7000dea2: 699a ldr r2, [r3, #24] 7000dea4: 6159 str r1, [r3, #20] 7000dea6: 6282 str r2, [r0, #40] @ 0x28 7000dea8: b902 cbnz r2, 7000deac <_ZN8touchgfx9Container6removeERNS_8DrawableE+0x14> 7000deaa: 4770 bx lr 7000deac: 6199 str r1, [r3, #24] 7000deae: 4770 bx lr 7000deb0: 461a mov r2, r3 7000deb2: 699b ldr r3, [r3, #24] 7000deb4: 428b cmp r3, r1 7000deb6: d105 bne.n 7000dec4 <_ZN8touchgfx9Container6removeERNS_8DrawableE+0x2c> 7000deb8: 6999 ldr r1, [r3, #24] 7000deba: 6191 str r1, [r2, #24] 7000debc: 2200 movs r2, #0 7000debe: e9c3 2205 strd r2, r2, [r3, #20] 7000dec2: 4770 bx lr 7000dec4: 2b00 cmp r3, #0 7000dec6: d1f3 bne.n 7000deb0 <_ZN8touchgfx9Container6removeERNS_8DrawableE+0x18> 7000dec8: 4770 bx lr 7000deca <_ZN8touchgfx9Container6insertEPNS_8DrawableERS1_>: 7000deca: 6a83 ldr r3, [r0, #40] @ 0x28 7000decc: b430 push {r4, r5} 7000dece: 460d mov r5, r1 7000ded0: 4604 mov r4, r0 7000ded2: 4611 mov r1, r2 7000ded4: b91b cbnz r3, 7000dede <_ZN8touchgfx9Container6insertEPNS_8DrawableERS1_+0x14> 7000ded6: 6803 ldr r3, [r0, #0] 7000ded8: bc30 pop {r4, r5} 7000deda: 6e1b ldr r3, [r3, #96] @ 0x60 7000dedc: 4718 bx r3 7000dede: b10d cbz r5, 7000dee4 <_ZN8touchgfx9Container6insertEPNS_8DrawableERS1_+0x1a> 7000dee0: 42ab cmp r3, r5 7000dee2: e003 b.n 7000deec <_ZN8touchgfx9Container6insertEPNS_8DrawableERS1_+0x22> 7000dee4: 6193 str r3, [r2, #24] 7000dee6: 62a2 str r2, [r4, #40] @ 0x28 7000dee8: e004 b.n 7000def4 <_ZN8touchgfx9Container6insertEPNS_8DrawableERS1_+0x2a> 7000deea: 429d cmp r5, r3 7000deec: d104 bne.n 7000def8 <_ZN8touchgfx9Container6insertEPNS_8DrawableERS1_+0x2e> 7000deee: 699a ldr r2, [r3, #24] 7000def0: 618a str r2, [r1, #24] 7000def2: 6199 str r1, [r3, #24] 7000def4: 614c str r4, [r1, #20] 7000def6: e002 b.n 7000defe <_ZN8touchgfx9Container6insertEPNS_8DrawableERS1_+0x34> 7000def8: 699b ldr r3, [r3, #24] 7000defa: 2b00 cmp r3, #0 7000defc: d1f5 bne.n 7000deea <_ZN8touchgfx9Container6insertEPNS_8DrawableERS1_+0x20> 7000defe: bc30 pop {r4, r5} 7000df00: 4770 bx lr 7000df02 <_ZNK8touchgfx9Container16getContainedAreaEv>: 7000df02: 2300 movs r3, #0 7000df04: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7000df08: 469c mov ip, r3 7000df0a: 6a8d ldr r5, [r1, #40] @ 0x28 7000df0c: 461f mov r7, r3 7000df0e: 469e mov lr, r3 7000df10: 4619 mov r1, r3 7000df12: 461a mov r2, r3 7000df14: 461e mov r6, r3 7000df16: 461c mov r4, r3 7000df18: 8003 strh r3, [r0, #0] 7000df1a: 8043 strh r3, [r0, #2] 7000df1c: 8083 strh r3, [r0, #4] 7000df1e: 80c3 strh r3, [r0, #6] 7000df20: e03b b.n 7000df9a <_ZNK8touchgfx9Container16getContainedAreaEv+0x98> 7000df22: f9b5 9008 ldrsh.w r9, [r5, #8] 7000df26: f1b9 0f00 cmp.w r9, #0 7000df2a: dd35 ble.n 7000df98 <_ZNK8touchgfx9Container16getContainedAreaEv+0x96> 7000df2c: f9b5 800a ldrsh.w r8, [r5, #10] 7000df30: f1b8 0f00 cmp.w r8, #0 7000df34: dd30 ble.n 7000df98 <_ZNK8touchgfx9Container16getContainedAreaEv+0x96> 7000df36: 2c00 cmp r4, #0 7000df38: f9b5 6004 ldrsh.w r6, [r5, #4] 7000df3c: f9b5 3006 ldrsh.w r3, [r5, #6] 7000df40: dd01 ble.n 7000df46 <_ZNK8touchgfx9Container16getContainedAreaEv+0x44> 7000df42: 2a00 cmp r2, #0 7000df44: dc04 bgt.n 7000df50 <_ZNK8touchgfx9Container16getContainedAreaEv+0x4e> 7000df46: 4631 mov r1, r6 7000df48: 461f mov r7, r3 7000df4a: 4642 mov r2, r8 7000df4c: 464c mov r4, r9 7000df4e: e01f b.n 7000df90 <_ZNK8touchgfx9Container16getContainedAreaEv+0x8e> 7000df50: 42b1 cmp r1, r6 7000df52: 468c mov ip, r1 7000df54: 46be mov lr, r7 7000df56: 4421 add r1, r4 7000df58: bfa8 it ge 7000df5a: 46b4 movge ip, r6 7000df5c: 429f cmp r7, r3 7000df5e: 443a add r2, r7 7000df60: 444e add r6, r9 7000df62: bfa8 it ge 7000df64: 469e movge lr, r3 7000df66: 4443 add r3, r8 7000df68: b209 sxth r1, r1 7000df6a: b212 sxth r2, r2 7000df6c: 4677 mov r7, lr 7000df6e: b236 sxth r6, r6 7000df70: b21b sxth r3, r3 7000df72: 42b1 cmp r1, r6 7000df74: bfac ite ge 7000df76: ebcc 0401 rsbge r4, ip, r1 7000df7a: ebcc 0406 rsblt r4, ip, r6 7000df7e: 429a cmp r2, r3 7000df80: bfac ite ge 7000df82: ebce 0102 rsbge r1, lr, r2 7000df86: ebce 0103 rsblt r1, lr, r3 7000df8a: b224 sxth r4, r4 7000df8c: b20a sxth r2, r1 7000df8e: 4661 mov r1, ip 7000df90: 2301 movs r3, #1 7000df92: 469e mov lr, r3 7000df94: 469c mov ip, r3 7000df96: 461e mov r6, r3 7000df98: 69ad ldr r5, [r5, #24] 7000df9a: 2d00 cmp r5, #0 7000df9c: d1c1 bne.n 7000df22 <_ZNK8touchgfx9Container16getContainedAreaEv+0x20> 7000df9e: b103 cbz r3, 7000dfa2 <_ZNK8touchgfx9Container16getContainedAreaEv+0xa0> 7000dfa0: 8047 strh r7, [r0, #2] 7000dfa2: f1be 0f00 cmp.w lr, #0 7000dfa6: d000 beq.n 7000dfaa <_ZNK8touchgfx9Container16getContainedAreaEv+0xa8> 7000dfa8: 8001 strh r1, [r0, #0] 7000dfaa: f1bc 0f00 cmp.w ip, #0 7000dfae: d000 beq.n 7000dfb2 <_ZNK8touchgfx9Container16getContainedAreaEv+0xb0> 7000dfb0: 80c2 strh r2, [r0, #6] 7000dfb2: b106 cbz r6, 7000dfb6 <_ZNK8touchgfx9Container16getContainedAreaEv+0xb4> 7000dfb4: 8084 strh r4, [r0, #4] 7000dfb6: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} ... 7000dfbc <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_>: 7000dfbc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000dfc0: 4c6a ldr r4, [pc, #424] @ (7000e16c <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0x1b0>) 7000dfc2: b09f sub sp, #124 @ 0x7c 7000dfc4: 4606 mov r6, r0 7000dfc6: 6824 ldr r4, [r4, #0] 7000dfc8: 9d28 ldr r5, [sp, #160] @ 0xa0 7000dfca: f894 804d ldrb.w r8, [r4, #77] @ 0x4d 7000dfce: 2400 movs r4, #0 7000dfd0: 9303 str r3, [sp, #12] 7000dfd2: 802c strh r4, [r5, #0] 7000dfd4: 9d29 ldr r5, [sp, #164] @ 0xa4 7000dfd6: 802c strh r4, [r5, #0] 7000dfd8: 601c str r4, [r3, #0] 7000dfda: e9cd 1201 strd r1, r2, [sp, #4] 7000dfde: f7ff fefe bl 7000ddde <_ZN8touchgfx9Container12getLastChildEssPPNS_8DrawableE> 7000dfe2: f1b8 0f03 cmp.w r8, #3 7000dfe6: f340 80bd ble.w 7000e164 <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0x1a8> 7000dfea: 4631 mov r1, r6 7000dfec: a80a add r0, sp, #40 @ 0x28 7000dfee: f004 fb25 bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 7000dff2: 9b03 ldr r3, [sp, #12] 7000dff4: f8d3 9000 ldr.w r9, [r3] 7000dff8: f1b9 0f00 cmp.w r9, #0 7000dffc: d021 beq.n 7000e042 <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0x86> 7000dffe: 4649 mov r1, r9 7000e000: a80e add r0, sp, #56 @ 0x38 7000e002: f004 fb1b bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 7000e006: 9b01 ldr r3, [sp, #4] 7000e008: f9bd 4028 ldrsh.w r4, [sp, #40] @ 0x28 7000e00c: f9bd 2038 ldrsh.w r2, [sp, #56] @ 0x38 7000e010: 441c add r4, r3 7000e012: f9bd 303c ldrsh.w r3, [sp, #60] @ 0x3c 7000e016: f9bd 103a ldrsh.w r1, [sp, #58] @ 0x3a 7000e01a: eb03 73d3 add.w r3, r3, r3, lsr #31 7000e01e: eb02 0363 add.w r3, r2, r3, asr #1 7000e022: 9a02 ldr r2, [sp, #8] 7000e024: 1ae4 subs r4, r4, r3 7000e026: f9bd 302a ldrsh.w r3, [sp, #42] @ 0x2a 7000e02a: 4413 add r3, r2 7000e02c: f9bd 203e ldrsh.w r2, [sp, #62] @ 0x3e 7000e030: eb02 72d2 add.w r2, r2, r2, lsr #31 7000e034: eb01 0262 add.w r2, r1, r2, asr #1 7000e038: 1a9b subs r3, r3, r2 7000e03a: 435b muls r3, r3 7000e03c: fb04 3404 mla r4, r4, r4, r3 7000e040: e001 b.n 7000e046 <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0x8a> 7000e042: f04f 34ff mov.w r4, #4294967295 @ 0xffffffff 7000e046: f1b8 0f0c cmp.w r8, #12 7000e04a: f04f 0303 mov.w r3, #3 7000e04e: 4f48 ldr r7, [pc, #288] @ (7000e170 <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0x1b4>) 7000e050: ad0e add r5, sp, #56 @ 0x38 7000e052: bfd8 it le 7000e054: f108 32ff addle.w r2, r8, #4294967295 @ 0xffffffff 7000e058: 46c2 mov sl, r8 7000e05a: bfd8 it le 7000e05c: fbb2 f3f3 udivle r3, r2, r3 7000e060: 9300 str r3, [sp, #0] 7000e062: cf0f ldmia r7!, {r0, r1, r2, r3} 7000e064: c50f stmia r5!, {r0, r1, r2, r3} 7000e066: cf0f ldmia r7!, {r0, r1, r2, r3} 7000e068: c50f stmia r5!, {r0, r1, r2, r3} 7000e06a: cf0f ldmia r7!, {r0, r1, r2, r3} 7000e06c: c50f stmia r5!, {r0, r1, r2, r3} 7000e06e: e897 000f ldmia.w r7, {r0, r1, r2, r3} 7000e072: 2700 movs r7, #0 7000e074: e885 000f stmia.w r5, {r0, r1, r2, r3} 7000e078: 9b00 ldr r3, [sp, #0] 7000e07a: f007 0501 and.w r5, r7, #1 7000e07e: aa0e add r2, sp, #56 @ 0x38 7000e080: 3701 adds r7, #1 7000e082: f04f 0b00 mov.w fp, #0 7000e086: eb02 1545 add.w r5, r2, r5, lsl #5 7000e08a: fbba f3f3 udiv r3, sl, r3 7000e08e: b29b uxth r3, r3 7000e090: 9304 str r3, [sp, #16] 7000e092: 9b04 ldr r3, [sp, #16] 7000e094: 6829 ldr r1, [r5, #0] 7000e096: fb11 f103 smulbb r1, r1, r3 7000e09a: b28b uxth r3, r1 7000e09c: 9305 str r3, [sp, #20] 7000e09e: 9b01 ldr r3, [sp, #4] 7000e0a0: fa13 f181 uxtah r1, r3, r1 7000e0a4: f9b6 3004 ldrsh.w r3, [r6, #4] 7000e0a8: b209 sxth r1, r1 7000e0aa: 4299 cmp r1, r3 7000e0ac: db50 blt.n 7000e150 <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0x194> 7000e0ae: 8932 ldrh r2, [r6, #8] 7000e0b0: 4413 add r3, r2 7000e0b2: b21b sxth r3, r3 7000e0b4: 4299 cmp r1, r3 7000e0b6: da4b bge.n 7000e150 <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0x194> 7000e0b8: 9b04 ldr r3, [sp, #16] 7000e0ba: 686a ldr r2, [r5, #4] 7000e0bc: fb12 f203 smulbb r2, r2, r3 7000e0c0: b293 uxth r3, r2 7000e0c2: 9306 str r3, [sp, #24] 7000e0c4: 9b02 ldr r3, [sp, #8] 7000e0c6: fa13 f282 uxtah r2, r3, r2 7000e0ca: f9b6 3006 ldrsh.w r3, [r6, #6] 7000e0ce: b212 sxth r2, r2 7000e0d0: 429a cmp r2, r3 7000e0d2: db3d blt.n 7000e150 <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0x194> 7000e0d4: 8970 ldrh r0, [r6, #10] 7000e0d6: 4403 add r3, r0 7000e0d8: b21b sxth r3, r3 7000e0da: 429a cmp r2, r3 7000e0dc: da38 bge.n 7000e150 <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0x194> 7000e0de: 2300 movs r3, #0 7000e0e0: 4630 mov r0, r6 7000e0e2: 9309 str r3, [sp, #36] @ 0x24 7000e0e4: ab09 add r3, sp, #36 @ 0x24 7000e0e6: f7ff fe7a bl 7000ddde <_ZN8touchgfx9Container12getLastChildEssPPNS_8DrawableE> 7000e0ea: 9909 ldr r1, [sp, #36] @ 0x24 7000e0ec: b381 cbz r1, 7000e150 <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0x194> 7000e0ee: 4549 cmp r1, r9 7000e0f0: d02e beq.n 7000e150 <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0x194> 7000e0f2: a80c add r0, sp, #48 @ 0x30 7000e0f4: 9107 str r1, [sp, #28] 7000e0f6: f004 faa1 bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 7000e0fa: f9bd 0034 ldrsh.w r0, [sp, #52] @ 0x34 7000e0fe: 9a01 ldr r2, [sp, #4] 7000e100: f9bd c030 ldrsh.w ip, [sp, #48] @ 0x30 7000e104: eb00 70d0 add.w r0, r0, r0, lsr #31 7000e108: f9bd 3028 ldrsh.w r3, [sp, #40] @ 0x28 7000e10c: eb0c 0060 add.w r0, ip, r0, asr #1 7000e110: 9902 ldr r1, [sp, #8] 7000e112: 4413 add r3, r2 7000e114: f9bd c032 ldrsh.w ip, [sp, #50] @ 0x32 7000e118: 1a1a subs r2, r3, r0 7000e11a: f9bd 0036 ldrsh.w r0, [sp, #54] @ 0x36 7000e11e: f9bd 302a ldrsh.w r3, [sp, #42] @ 0x2a 7000e122: eb00 70d0 add.w r0, r0, r0, lsr #31 7000e126: 440b add r3, r1 7000e128: 9907 ldr r1, [sp, #28] 7000e12a: eb0c 0060 add.w r0, ip, r0, asr #1 7000e12e: 1a1b subs r3, r3, r0 7000e130: 435b muls r3, r3 7000e132: fb02 3302 mla r3, r2, r2, r3 7000e136: 42a3 cmp r3, r4 7000e138: d209 bcs.n 7000e14e <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0x192> 7000e13a: 9a09 ldr r2, [sp, #36] @ 0x24 7000e13c: 461c mov r4, r3 7000e13e: 9803 ldr r0, [sp, #12] 7000e140: 6002 str r2, [r0, #0] 7000e142: 9a28 ldr r2, [sp, #160] @ 0xa0 7000e144: 9805 ldr r0, [sp, #20] 7000e146: 8010 strh r0, [r2, #0] 7000e148: 9a29 ldr r2, [sp, #164] @ 0xa4 7000e14a: 9806 ldr r0, [sp, #24] 7000e14c: 8010 strh r0, [r2, #0] 7000e14e: 4689 mov r9, r1 7000e150: f10b 0b01 add.w fp, fp, #1 7000e154: 3508 adds r5, #8 7000e156: f1bb 0f04 cmp.w fp, #4 7000e15a: d19a bne.n 7000e092 <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0xd6> 7000e15c: 9b00 ldr r3, [sp, #0] 7000e15e: 44c2 add sl, r8 7000e160: 429f cmp r7, r3 7000e162: d189 bne.n 7000e078 <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_+0xbc> 7000e164: b01f add sp, #124 @ 0x7c 7000e166: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7000e16a: bf00 nop 7000e16c: 2400da80 .word 0x2400da80 7000e170: 7003cefc .word 0x7003cefc 7000e174 <_ZN8touchgfx4RectaNERKS0_>: 7000e174: b5f0 push {r4, r5, r6, r7, lr} 7000e176: f9b1 2000 ldrsh.w r2, [r1] 7000e17a: 888e ldrh r6, [r1, #4] 7000e17c: f9b0 c000 ldrsh.w ip, [r0] 7000e180: 4416 add r6, r2 7000e182: b236 sxth r6, r6 7000e184: 45b4 cmp ip, r6 7000e186: da04 bge.n 7000e192 <_ZN8touchgfx4RectaNERKS0_+0x1e> 7000e188: 8885 ldrh r5, [r0, #4] 7000e18a: 4465 add r5, ip 7000e18c: b22d sxth r5, r5 7000e18e: 42aa cmp r2, r5 7000e190: db05 blt.n 7000e19e <_ZN8touchgfx4RectaNERKS0_+0x2a> 7000e192: 2300 movs r3, #0 7000e194: 8003 strh r3, [r0, #0] 7000e196: 8043 strh r3, [r0, #2] 7000e198: 8083 strh r3, [r0, #4] 7000e19a: 80c3 strh r3, [r0, #6] 7000e19c: e027 b.n 7000e1ee <_ZN8touchgfx4RectaNERKS0_+0x7a> 7000e19e: f9b1 7002 ldrsh.w r7, [r1, #2] 7000e1a2: 88cc ldrh r4, [r1, #6] 7000e1a4: f9b0 3002 ldrsh.w r3, [r0, #2] 7000e1a8: 443c add r4, r7 7000e1aa: b224 sxth r4, r4 7000e1ac: 42a3 cmp r3, r4 7000e1ae: daf0 bge.n 7000e192 <_ZN8touchgfx4RectaNERKS0_+0x1e> 7000e1b0: 88c4 ldrh r4, [r0, #6] 7000e1b2: 441c add r4, r3 7000e1b4: b224 sxth r4, r4 7000e1b6: 42a7 cmp r7, r4 7000e1b8: daeb bge.n 7000e192 <_ZN8touchgfx4RectaNERKS0_+0x1e> 7000e1ba: 4562 cmp r2, ip 7000e1bc: bfb8 it lt 7000e1be: 4662 movlt r2, ip 7000e1c0: 42bb cmp r3, r7 7000e1c2: bfb8 it lt 7000e1c4: 463b movlt r3, r7 7000e1c6: 42ae cmp r6, r5 7000e1c8: bfd4 ite le 7000e1ca: ebc2 0706 rsble r7, r2, r6 7000e1ce: ebc2 0705 rsbgt r7, r2, r5 7000e1d2: 8087 strh r7, [r0, #4] 7000e1d4: 884d ldrh r5, [r1, #2] 7000e1d6: 88c9 ldrh r1, [r1, #6] 7000e1d8: 8002 strh r2, [r0, #0] 7000e1da: 4429 add r1, r5 7000e1dc: 8043 strh r3, [r0, #2] 7000e1de: b209 sxth r1, r1 7000e1e0: 42a1 cmp r1, r4 7000e1e2: bfd4 ite le 7000e1e4: ebc3 0501 rsble r5, r3, r1 7000e1e8: ebc3 0504 rsbgt r5, r3, r4 7000e1ec: 80c5 strh r5, [r0, #6] 7000e1ee: bdf0 pop {r4, r5, r6, r7, pc} 7000e1f0 <_ZNK8touchgfx9Container4drawERKNS_4RectE>: 7000e1f0: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr} 7000e1f4: f890 3025 ldrb.w r3, [r0, #37] @ 0x25 7000e1f8: b3a3 cbz r3, 7000e264 <_ZNK8touchgfx9Container4drawERKNS_4RectE+0x74> 7000e1fa: 6a84 ldr r4, [r0, #40] @ 0x28 7000e1fc: b394 cbz r4, 7000e264 <_ZNK8touchgfx9Container4drawERKNS_4RectE+0x74> 7000e1fe: f9b1 6000 ldrsh.w r6, [r1] 7000e202: f9b1 5002 ldrsh.w r5, [r1, #2] 7000e206: f9b1 7004 ldrsh.w r7, [r1, #4] 7000e20a: f9b1 8006 ldrsh.w r8, [r1, #6] 7000e20e: f894 3025 ldrb.w r3, [r4, #37] @ 0x25 7000e212: b323 cbz r3, 7000e25e <_ZNK8touchgfx9Container4drawERKNS_4RectE+0x6e> 7000e214: 1d21 adds r1, r4, #4 7000e216: 4668 mov r0, sp 7000e218: f8ad 6000 strh.w r6, [sp] 7000e21c: f8ad 5002 strh.w r5, [sp, #2] 7000e220: f8ad 7004 strh.w r7, [sp, #4] 7000e224: f8ad 8006 strh.w r8, [sp, #6] 7000e228: f7ff ffa4 bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 7000e22c: f9bd 3004 ldrsh.w r3, [sp, #4] 7000e230: 2b00 cmp r3, #0 7000e232: dd14 ble.n 7000e25e <_ZNK8touchgfx9Container4drawERKNS_4RectE+0x6e> 7000e234: f9bd 3006 ldrsh.w r3, [sp, #6] 7000e238: 2b00 cmp r3, #0 7000e23a: dd10 ble.n 7000e25e <_ZNK8touchgfx9Container4drawERKNS_4RectE+0x6e> 7000e23c: f8bd 3000 ldrh.w r3, [sp] 7000e240: 4669 mov r1, sp 7000e242: 88a2 ldrh r2, [r4, #4] 7000e244: 4620 mov r0, r4 7000e246: 1a9b subs r3, r3, r2 7000e248: 88e2 ldrh r2, [r4, #6] 7000e24a: f8ad 3000 strh.w r3, [sp] 7000e24e: f8bd 3002 ldrh.w r3, [sp, #2] 7000e252: 1a9b subs r3, r3, r2 7000e254: f8ad 3002 strh.w r3, [sp, #2] 7000e258: 6823 ldr r3, [r4, #0] 7000e25a: 689b ldr r3, [r3, #8] 7000e25c: 4798 blx r3 7000e25e: 69a4 ldr r4, [r4, #24] 7000e260: 2c00 cmp r4, #0 7000e262: d1d4 bne.n 7000e20e <_ZNK8touchgfx9Container4drawERKNS_4RectE+0x1e> 7000e264: b002 add sp, #8 7000e266: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 7000e26a <_ZN8touchgfx9Container14setupDrawChainERKNS_4RectEPPNS_8DrawableE>: 7000e26a: b573 push {r0, r1, r4, r5, r6, lr} 7000e26c: f890 3025 ldrb.w r3, [r0, #37] @ 0x25 7000e270: 460d mov r5, r1 7000e272: 4616 mov r6, r2 7000e274: b343 cbz r3, 7000e2c8 <_ZN8touchgfx9Container14setupDrawChainERKNS_4RectEPPNS_8DrawableE+0x5e> 7000e276: 6a84 ldr r4, [r0, #40] @ 0x28 7000e278: b334 cbz r4, 7000e2c8 <_ZN8touchgfx9Container14setupDrawChainERKNS_4RectEPPNS_8DrawableE+0x5e> 7000e27a: f894 3025 ldrb.w r3, [r4, #37] @ 0x25 7000e27e: b30b cbz r3, 7000e2c4 <_ZN8touchgfx9Container14setupDrawChainERKNS_4RectEPPNS_8DrawableE+0x5a> 7000e280: 6828 ldr r0, [r5, #0] 7000e282: 466b mov r3, sp 7000e284: 6869 ldr r1, [r5, #4] 7000e286: c303 stmia r3!, {r0, r1} 7000e288: 1d21 adds r1, r4, #4 7000e28a: 4668 mov r0, sp 7000e28c: f7ff ff72 bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 7000e290: f9bd 3004 ldrsh.w r3, [sp, #4] 7000e294: 2b00 cmp r3, #0 7000e296: dd15 ble.n 7000e2c4 <_ZN8touchgfx9Container14setupDrawChainERKNS_4RectEPPNS_8DrawableE+0x5a> 7000e298: f9bd 3006 ldrsh.w r3, [sp, #6] 7000e29c: 2b00 cmp r3, #0 7000e29e: dd11 ble.n 7000e2c4 <_ZN8touchgfx9Container14setupDrawChainERKNS_4RectEPPNS_8DrawableE+0x5a> 7000e2a0: f8bd 3000 ldrh.w r3, [sp] 7000e2a4: 4669 mov r1, sp 7000e2a6: 88a2 ldrh r2, [r4, #4] 7000e2a8: 4620 mov r0, r4 7000e2aa: 1a9b subs r3, r3, r2 7000e2ac: 88e2 ldrh r2, [r4, #6] 7000e2ae: f8ad 3000 strh.w r3, [sp] 7000e2b2: f8bd 3002 ldrh.w r3, [sp, #2] 7000e2b6: 1a9b subs r3, r3, r2 7000e2b8: 4632 mov r2, r6 7000e2ba: f8ad 3002 strh.w r3, [sp, #2] 7000e2be: 6823 ldr r3, [r4, #0] 7000e2c0: 6ddb ldr r3, [r3, #92] @ 0x5c 7000e2c2: 4798 blx r3 7000e2c4: 69a4 ldr r4, [r4, #24] 7000e2c6: e7d7 b.n 7000e278 <_ZN8touchgfx9Container14setupDrawChainERKNS_4RectEPPNS_8DrawableE+0xe> 7000e2c8: b002 add sp, #8 7000e2ca: bd70 pop {r4, r5, r6, pc} 7000e2cc <_ZNK8touchgfx6Slider15getIndicatorMinEv>: 7000e2cc: f9b0 00e4 ldrsh.w r0, [r0, #228] @ 0xe4 7000e2d0: 4770 bx lr 7000e2d2 <_ZNK8touchgfx6Slider15getIndicatorMaxEv>: 7000e2d2: f9b0 00e6 ldrsh.w r0, [r0, #230] @ 0xe6 7000e2d6: 4770 bx lr 7000e2d8 <_ZNK8touchgfx6Slider11getMinValueEv>: 7000e2d8: f9b0 0030 ldrsh.w r0, [r0, #48] @ 0x30 7000e2dc: 4770 bx lr 7000e2de <_ZNK8touchgfx6Slider11getMaxValueEv>: 7000e2de: f9b0 0032 ldrsh.w r0, [r0, #50] @ 0x32 7000e2e2: 4770 bx lr 7000e2e4 <_ZN8touchgfx6Slider8setValueEs>: 7000e2e4: b570 push {r4, r5, r6, lr} 7000e2e6: 6803 ldr r3, [r0, #0] 7000e2e8: 4604 mov r4, r0 7000e2ea: e9d3 532b ldrd r5, r3, [r3, #172] @ 0xac 7000e2ee: 4798 blx r3 7000e2f0: 4601 mov r1, r0 7000e2f2: 462b mov r3, r5 7000e2f4: 4620 mov r0, r4 7000e2f6: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000e2fa: 4718 bx r3 7000e2fc <_ZN8touchgfx6Slider16handleClickEventERKNS_10ClickEventE>: 7000e2fc: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 7000e300: 790b ldrb r3, [r1, #4] 7000e302: 4604 mov r4, r0 7000e304: 460d mov r5, r1 7000e306: b113 cbz r3, 7000e30e <_ZN8touchgfx6Slider16handleClickEventERKNS_10ClickEventE+0x12> 7000e308: 2b01 cmp r3, #1 7000e30a: d134 bne.n 7000e376 <_ZN8touchgfx6Slider16handleClickEventERKNS_10ClickEventE+0x7a> 7000e30c: e00e b.n 7000e32c <_ZN8touchgfx6Slider16handleClickEventERKNS_10ClickEventE+0x30> 7000e30e: f8d0 00e8 ldr.w r0, [r0, #232] @ 0xe8 7000e312: b158 cbz r0, 7000e32c <_ZN8touchgfx6Slider16handleClickEventERKNS_10ClickEventE+0x30> 7000e314: 6803 ldr r3, [r0, #0] 7000e316: 68db ldr r3, [r3, #12] 7000e318: 4798 blx r3 7000e31a: b138 cbz r0, 7000e32c <_ZN8touchgfx6Slider16handleClickEventERKNS_10ClickEventE+0x30> 7000e31c: f8d4 00e8 ldr.w r0, [r4, #232] @ 0xe8 7000e320: 4621 mov r1, r4 7000e322: f9b4 202e ldrsh.w r2, [r4, #46] @ 0x2e 7000e326: 6803 ldr r3, [r0, #0] 7000e328: 689b ldr r3, [r3, #8] 7000e32a: 4798 blx r3 7000e32c: 6823 ldr r3, [r4, #0] 7000e32e: f894 202c ldrb.w r2, [r4, #44] @ 0x2c 7000e332: f8d3 70ac ldr.w r7, [r3, #172] @ 0xac 7000e336: b90a cbnz r2, 7000e33c <_ZN8touchgfx6Slider16handleClickEventERKNS_10ClickEventE+0x40> 7000e338: 88ee ldrh r6, [r5, #6] 7000e33a: e000 b.n 7000e33e <_ZN8touchgfx6Slider16handleClickEventERKNS_10ClickEventE+0x42> 7000e33c: 892e ldrh r6, [r5, #8] 7000e33e: f8d3 30b8 ldr.w r3, [r3, #184] @ 0xb8 7000e342: 4620 mov r0, r4 7000e344: 4798 blx r3 7000e346: 1a31 subs r1, r6, r0 7000e348: 4620 mov r0, r4 7000e34a: b209 sxth r1, r1 7000e34c: 47b8 blx r7 7000e34e: 792b ldrb r3, [r5, #4] 7000e350: 2b01 cmp r3, #1 7000e352: d110 bne.n 7000e376 <_ZN8touchgfx6Slider16handleClickEventERKNS_10ClickEventE+0x7a> 7000e354: f8d4 00ec ldr.w r0, [r4, #236] @ 0xec 7000e358: b168 cbz r0, 7000e376 <_ZN8touchgfx6Slider16handleClickEventERKNS_10ClickEventE+0x7a> 7000e35a: 6803 ldr r3, [r0, #0] 7000e35c: 68db ldr r3, [r3, #12] 7000e35e: 4798 blx r3 7000e360: b148 cbz r0, 7000e376 <_ZN8touchgfx6Slider16handleClickEventERKNS_10ClickEventE+0x7a> 7000e362: f8d4 00ec ldr.w r0, [r4, #236] @ 0xec 7000e366: 4621 mov r1, r4 7000e368: f9b4 202e ldrsh.w r2, [r4, #46] @ 0x2e 7000e36c: 6803 ldr r3, [r0, #0] 7000e36e: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} 7000e372: 689b ldr r3, [r3, #8] 7000e374: 4718 bx r3 7000e376: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 7000e37a <_ZN8touchgfx6Slider15handleDragEventERKNS_9DragEventE>: 7000e37a: b570 push {r4, r5, r6, lr} 7000e37c: 6803 ldr r3, [r0, #0] 7000e37e: 4604 mov r4, r0 7000e380: f890 202c ldrb.w r2, [r0, #44] @ 0x2c 7000e384: f8d3 60ac ldr.w r6, [r3, #172] @ 0xac 7000e388: b90a cbnz r2, 7000e38e <_ZN8touchgfx6Slider15handleDragEventERKNS_9DragEventE+0x14> 7000e38a: 894d ldrh r5, [r1, #10] 7000e38c: e000 b.n 7000e390 <_ZN8touchgfx6Slider15handleDragEventERKNS_9DragEventE+0x16> 7000e38e: 898d ldrh r5, [r1, #12] 7000e390: f8d3 30b8 ldr.w r3, [r3, #184] @ 0xb8 7000e394: 4620 mov r0, r4 7000e396: 4798 blx r3 7000e398: 1a29 subs r1, r5, r0 7000e39a: 4633 mov r3, r6 7000e39c: 4620 mov r0, r4 7000e39e: b209 sxth r1, r1 7000e3a0: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000e3a4: 4718 bx r3 7000e3a6 <_ZNK8touchgfx6Slider18getIndicatorRadiusEv>: 7000e3a6: f890 302c ldrb.w r3, [r0, #44] @ 0x2c 7000e3aa: b913 cbnz r3, 7000e3b2 <_ZNK8touchgfx6Slider18getIndicatorRadiusEv+0xc> 7000e3ac: f9b0 0094 ldrsh.w r0, [r0, #148] @ 0x94 7000e3b0: e001 b.n 7000e3b6 <_ZNK8touchgfx6Slider18getIndicatorRadiusEv+0x10> 7000e3b2: f9b0 0096 ldrsh.w r0, [r0, #150] @ 0x96 7000e3b6: eb00 70d0 add.w r0, r0, r0, lsr #31 7000e3ba: 1040 asrs r0, r0, #1 7000e3bc: 4770 bx lr 7000e3be <_ZN8touchgfx6Slider13setValueRangeEsss>: 7000e3be: b410 push {r4} 7000e3c0: 8642 strh r2, [r0, #50] @ 0x32 7000e3c2: 6802 ldr r2, [r0, #0] 7000e3c4: 8601 strh r1, [r0, #48] @ 0x30 7000e3c6: 4619 mov r1, r3 7000e3c8: f8d2 20a8 ldr.w r2, [r2, #168] @ 0xa8 7000e3cc: f85d 4b04 ldr.w r4, [sp], #4 7000e3d0: 4710 bx r2 7000e3d2 <_ZN8touchgfx6Slider13setValueRangeEss>: 7000e3d2: f9b0 302e ldrsh.w r3, [r0, #46] @ 0x2e 7000e3d6: 428b cmp r3, r1 7000e3d8: b410 push {r4} 7000e3da: db03 blt.n 7000e3e4 <_ZN8touchgfx6Slider13setValueRangeEss+0x12> 7000e3dc: 4293 cmp r3, r2 7000e3de: bfa8 it ge 7000e3e0: 4613 movge r3, r2 7000e3e2: e000 b.n 7000e3e6 <_ZN8touchgfx6Slider13setValueRangeEss+0x14> 7000e3e4: 460b mov r3, r1 7000e3e6: 6804 ldr r4, [r0, #0] 7000e3e8: f8d4 4098 ldr.w r4, [r4, #152] @ 0x98 7000e3ec: 46a4 mov ip, r4 7000e3ee: f85d 4b04 ldr.w r4, [sp], #4 7000e3f2: 4760 bx ip 7000e3f4 <_ZNK8touchgfx6Slider29getIndicatorPositionRangeSizeEv>: 7000e3f4: f9b0 20e6 ldrsh.w r2, [r0, #230] @ 0xe6 7000e3f8: f9b0 00e4 ldrsh.w r0, [r0, #228] @ 0xe4 7000e3fc: 1a10 subs r0, r2, r0 7000e3fe: 4770 bx lr 7000e400 <_ZNK8touchgfx6Slider17getValueRangeSizeEv>: 7000e400: f9b0 2032 ldrsh.w r2, [r0, #50] @ 0x32 7000e404: f9b0 0030 ldrsh.w r0, [r0, #48] @ 0x30 7000e408: 1a10 subs r0, r2, r0 7000e40a: 4770 bx lr 7000e40c <_ZN8touchgfx6SliderD1Ev>: 7000e40c: 4770 bx lr 7000e40e <_ZN8touchgfx6SliderD0Ev>: 7000e40e: b510 push {r4, lr} 7000e410: 4604 mov r4, r0 7000e412: 21f4 movs r1, #244 @ 0xf4 7000e414: f02b f9cf bl 700397b6 <_ZdlPvj> 7000e418: 4620 mov r0, r4 7000e41a: bd10 pop {r4, pc} 7000e41c <_ZNK8touchgfx6Slider15valueToPositionEi>: 7000e41c: b570 push {r4, r5, r6, lr} 7000e41e: f9b0 3032 ldrsh.w r3, [r0, #50] @ 0x32 7000e422: 4604 mov r4, r0 7000e424: f9b0 2030 ldrsh.w r2, [r0, #48] @ 0x30 7000e428: 428b cmp r3, r1 7000e42a: bfa8 it ge 7000e42c: 460b movge r3, r1 7000e42e: 429a cmp r2, r3 7000e430: bfac ite ge 7000e432: ebc2 0602 rsbge r6, r2, r2 7000e436: ebc2 0603 rsblt r6, r2, r3 7000e43a: 6803 ldr r3, [r0, #0] 7000e43c: f8d3 30bc ldr.w r3, [r3, #188] @ 0xbc 7000e440: 4798 blx r3 7000e442: 6823 ldr r3, [r4, #0] 7000e444: 4605 mov r5, r0 7000e446: 4620 mov r0, r4 7000e448: f8d3 30c0 ldr.w r3, [r3, #192] @ 0xc0 7000e44c: 4798 blx r3 7000e44e: 4629 mov r1, r5 7000e450: 4602 mov r2, r0 7000e452: 4630 mov r0, r6 7000e454: f004 fdef bl 70013036 <_ZN8touchgfx6muldivElll> 7000e458: f894 302c ldrb.w r3, [r4, #44] @ 0x2c 7000e45c: 2b01 cmp r3, #1 7000e45e: bf0b itete eq 7000e460: f8b4 30e6 ldrheq.w r3, [r4, #230] @ 0xe6 7000e464: f8b4 30e4 ldrhne.w r3, [r4, #228] @ 0xe4 7000e468: 1a1b subeq r3, r3, r0 7000e46a: 18c0 addne r0, r0, r3 7000e46c: bf0c ite eq 7000e46e: b218 sxtheq r0, r3 7000e470: b200 sxthne r0, r0 7000e472: bd70 pop {r4, r5, r6, pc} 7000e474 <_ZNK8touchgfx6Slider15positionToValueEs>: 7000e474: b5f8 push {r3, r4, r5, r6, r7, lr} 7000e476: f9b0 30e6 ldrsh.w r3, [r0, #230] @ 0xe6 7000e47a: 4605 mov r5, r0 7000e47c: f9b0 20e4 ldrsh.w r2, [r0, #228] @ 0xe4 7000e480: 4299 cmp r1, r3 7000e482: f9b0 7030 ldrsh.w r7, [r0, #48] @ 0x30 7000e486: bfa8 it ge 7000e488: 4619 movge r1, r3 7000e48a: 4291 cmp r1, r2 7000e48c: 460c mov r4, r1 7000e48e: f890 102c ldrb.w r1, [r0, #44] @ 0x2c 7000e492: bfb8 it lt 7000e494: 4614 movlt r4, r2 7000e496: 2901 cmp r1, #1 7000e498: b2a4 uxth r4, r4 7000e49a: bf0a itet eq 7000e49c: 1b1b subeq r3, r3, r4 7000e49e: 1aa4 subne r4, r4, r2 7000e4a0: b21c sxtheq r4, r3 7000e4a2: 6803 ldr r3, [r0, #0] 7000e4a4: bf18 it ne 7000e4a6: b224 sxthne r4, r4 7000e4a8: f8d3 30c0 ldr.w r3, [r3, #192] @ 0xc0 7000e4ac: 4798 blx r3 7000e4ae: 682b ldr r3, [r5, #0] 7000e4b0: 4606 mov r6, r0 7000e4b2: 4628 mov r0, r5 7000e4b4: f8d3 30bc ldr.w r3, [r3, #188] @ 0xbc 7000e4b8: 4798 blx r3 7000e4ba: 4631 mov r1, r6 7000e4bc: 4602 mov r2, r0 7000e4be: 4620 mov r0, r4 7000e4c0: f004 fdb9 bl 70013036 <_ZN8touchgfx6muldivElll> 7000e4c4: 4438 add r0, r7 7000e4c6: bdf8 pop {r3, r4, r5, r6, r7, pc} 7000e4c8 <_ZN8touchgfx6Slider23updateIndicatorPositionEs>: 7000e4c8: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 7000e4cc: f9b0 80e4 ldrsh.w r8, [r0, #228] @ 0xe4 7000e4d0: 4604 mov r4, r0 7000e4d2: f9b0 30e6 ldrsh.w r3, [r0, #230] @ 0xe6 7000e4d6: 308c adds r0, #140 @ 0x8c 7000e4d8: 4588 cmp r8, r1 7000e4da: f104 06b8 add.w r6, r4, #184 @ 0xb8 7000e4de: bfb8 it lt 7000e4e0: 4688 movlt r8, r1 7000e4e2: 4598 cmp r8, r3 7000e4e4: bfa8 it ge 7000e4e6: 4698 movge r8, r3 7000e4e8: f810 3c60 ldrb.w r3, [r0, #-96] 7000e4ec: fa1f f788 uxth.w r7, r8 7000e4f0: b9a3 cbnz r3, 7000e51c <_ZN8touchgfx6Slider23updateIndicatorPositionEs+0x54> 7000e4f2: f9b4 2092 ldrsh.w r2, [r4, #146] @ 0x92 7000e4f6: 4641 mov r1, r8 7000e4f8: f7f5 fcbb bl 70003e72 <_ZN8touchgfx8Drawable6moveToEss> 7000e4fc: 4630 mov r0, r6 7000e4fe: f004 f807 bl 70012510 <_ZNK8touchgfx8Drawable10invalidateEv> 7000e502: f8b4 50bc ldrh.w r5, [r4, #188] @ 0xbc 7000e506: 6823 ldr r3, [r4, #0] 7000e508: 4620 mov r0, r4 7000e50a: 1b7d subs r5, r7, r5 7000e50c: f8d3 30b8 ldr.w r3, [r3, #184] @ 0xb8 7000e510: b2ad uxth r5, r5 7000e512: 4798 blx r3 7000e514: 4405 add r5, r0 7000e516: f8a4 50c0 strh.w r5, [r4, #192] @ 0xc0 7000e51a: e02c b.n 7000e576 <_ZN8touchgfx6Slider23updateIndicatorPositionEs+0xae> 7000e51c: 4642 mov r2, r8 7000e51e: f9b4 1090 ldrsh.w r1, [r4, #144] @ 0x90 7000e522: f7f5 fca6 bl 70003e72 <_ZN8touchgfx8Drawable6moveToEss> 7000e526: 4630 mov r0, r6 7000e528: f003 fff2 bl 70012510 <_ZNK8touchgfx8Drawable10invalidateEv> 7000e52c: 8f63 ldrh r3, [r4, #58] @ 0x3a 7000e52e: 8fe5 ldrh r5, [r4, #62] @ 0x3e 7000e530: 4620 mov r0, r4 7000e532: 441d add r5, r3 7000e534: 6823 ldr r3, [r4, #0] 7000e536: b2ad uxth r5, r5 7000e538: f8d3 30b8 ldr.w r3, [r3, #184] @ 0xb8 7000e53c: 4798 blx r3 7000e53e: 6823 ldr r3, [r4, #0] 7000e540: 1bed subs r5, r5, r7 7000e542: f9b4 a0bc ldrsh.w sl, [r4, #188] @ 0xbc 7000e546: f8d3 30b8 ldr.w r3, [r3, #184] @ 0xb8 7000e54a: 1a2d subs r5, r5, r0 7000e54c: 4620 mov r0, r4 7000e54e: 4798 blx r3 7000e550: 183a adds r2, r7, r0 7000e552: b2ad uxth r5, r5 7000e554: f9b4 90c0 ldrsh.w r9, [r4, #192] @ 0xc0 7000e558: b212 sxth r2, r2 7000e55a: 4651 mov r1, sl 7000e55c: 4630 mov r0, r6 7000e55e: f7f5 fce8 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7000e562: 4649 mov r1, r9 7000e564: b22a sxth r2, r5 7000e566: 4630 mov r0, r6 7000e568: f7ff fb84 bl 7000dc74 <_ZN8touchgfx8Drawable14setWidthHeightEss> 7000e56c: f8b4 306a ldrh.w r3, [r4, #106] @ 0x6a 7000e570: 1aed subs r5, r5, r3 7000e572: f8a4 5066 strh.w r5, [r4, #102] @ 0x66 7000e576: 4630 mov r0, r6 7000e578: f003 ffca bl 70012510 <_ZNK8touchgfx8Drawable10invalidateEv> 7000e57c: 6823 ldr r3, [r4, #0] 7000e57e: 4641 mov r1, r8 7000e580: 4620 mov r0, r4 7000e582: f8d3 30b4 ldr.w r3, [r3, #180] @ 0xb4 7000e586: 4798 blx r3 7000e588: 85e0 strh r0, [r4, #46] @ 0x2e 7000e58a: f8d4 00f0 ldr.w r0, [r4, #240] @ 0xf0 7000e58e: b168 cbz r0, 7000e5ac <_ZN8touchgfx6Slider23updateIndicatorPositionEs+0xe4> 7000e590: 6803 ldr r3, [r0, #0] 7000e592: 68db ldr r3, [r3, #12] 7000e594: 4798 blx r3 7000e596: b148 cbz r0, 7000e5ac <_ZN8touchgfx6Slider23updateIndicatorPositionEs+0xe4> 7000e598: f8d4 00f0 ldr.w r0, [r4, #240] @ 0xf0 7000e59c: 4621 mov r1, r4 7000e59e: f9b4 202e ldrsh.w r2, [r4, #46] @ 0x2e 7000e5a2: 6803 ldr r3, [r0, #0] 7000e5a4: e8bd 47f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 7000e5a8: 689b ldr r3, [r3, #8] 7000e5aa: 4718 bx r3 7000e5ac: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 7000e5b0 <_ZN8touchgfx6Slider19setupVerticalSliderEsssss>: 7000e5b0: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000e5b4: 461d mov r5, r3 7000e5b6: 2301 movs r3, #1 7000e5b8: 4604 mov r4, r0 7000e5ba: 3034 adds r0, #52 @ 0x34 7000e5bc: f800 3c08 strb.w r3, [r0, #-8] 7000e5c0: 460e mov r6, r1 7000e5c2: 4617 mov r7, r2 7000e5c4: f9bd 8034 ldrsh.w r8, [sp, #52] @ 0x34 7000e5c8: f9bd 9030 ldrsh.w r9, [sp, #48] @ 0x30 7000e5cc: f7f5 fcb1 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7000e5d0: f104 00b8 add.w r0, r4, #184 @ 0xb8 7000e5d4: f9b4 a03c ldrsh.w sl, [r4, #60] @ 0x3c 7000e5d8: f9b4 b03e ldrsh.w fp, [r4, #62] @ 0x3e 7000e5dc: f9b4 203a ldrsh.w r2, [r4, #58] @ 0x3a 7000e5e0: f9b4 1038 ldrsh.w r1, [r4, #56] @ 0x38 7000e5e4: 9001 str r0, [sp, #4] 7000e5e6: f7f5 fca4 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7000e5ea: 465a mov r2, fp 7000e5ec: 4651 mov r1, sl 7000e5ee: 9801 ldr r0, [sp, #4] 7000e5f0: f7ff fb40 bl 7000dc74 <_ZN8touchgfx8Drawable14setWidthHeightEss> 7000e5f4: 8fa3 ldrh r3, [r4, #60] @ 0x3c 7000e5f6: f8a4 5090 strh.w r5, [r4, #144] @ 0x90 7000e5fa: 4620 mov r0, r4 7000e5fc: 18f1 adds r1, r6, r3 7000e5fe: f8b4 3094 ldrh.w r3, [r4, #148] @ 0x94 7000e602: f8a4 90e4 strh.w r9, [r4, #228] @ 0xe4 7000e606: 441d add r5, r3 7000e608: 8fe3 ldrh r3, [r4, #62] @ 0x3e 7000e60a: b209 sxth r1, r1 7000e60c: f8a4 80e6 strh.w r8, [r4, #230] @ 0xe6 7000e610: 18fa adds r2, r7, r3 7000e612: f8b4 3096 ldrh.w r3, [r4, #150] @ 0x96 7000e616: b22d sxth r5, r5 7000e618: 4443 add r3, r8 7000e61a: b212 sxth r2, r2 7000e61c: b21b sxth r3, r3 7000e61e: 429a cmp r2, r3 7000e620: bfb8 it lt 7000e622: 461a movlt r2, r3 7000e624: 42a9 cmp r1, r5 7000e626: bfb8 it lt 7000e628: 4629 movlt r1, r5 7000e62a: f7ff fb23 bl 7000dc74 <_ZN8touchgfx8Drawable14setWidthHeightEss> 7000e62e: 6823 ldr r3, [r4, #0] 7000e630: f9b4 102e ldrsh.w r1, [r4, #46] @ 0x2e 7000e634: 4620 mov r0, r4 7000e636: f8d3 30a8 ldr.w r3, [r3, #168] @ 0xa8 7000e63a: b003 add sp, #12 7000e63c: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000e640: 4718 bx r3 7000e642 <_ZN8touchgfx6Slider21setupHorizontalSliderEsssss>: 7000e642: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000e646: f04f 0a00 mov.w sl, #0 7000e64a: 4604 mov r4, r0 7000e64c: 3034 adds r0, #52 @ 0x34 7000e64e: 4617 mov r7, r2 7000e650: f800 ac08 strb.w sl, [r0, #-8] 7000e654: 461d mov r5, r3 7000e656: f9bd 8034 ldrsh.w r8, [sp, #52] @ 0x34 7000e65a: 460e mov r6, r1 7000e65c: f9bd 9030 ldrsh.w r9, [sp, #48] @ 0x30 7000e660: f7f5 fc67 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7000e664: f9b4 303c ldrsh.w r3, [r4, #60] @ 0x3c 7000e668: f104 00b8 add.w r0, r4, #184 @ 0xb8 7000e66c: f9b4 b03e ldrsh.w fp, [r4, #62] @ 0x3e 7000e670: f9b4 203a ldrsh.w r2, [r4, #58] @ 0x3a 7000e674: f9b4 1038 ldrsh.w r1, [r4, #56] @ 0x38 7000e678: 9300 str r3, [sp, #0] 7000e67a: 9001 str r0, [sp, #4] 7000e67c: f7f5 fc59 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7000e680: 465a mov r2, fp 7000e682: e9dd 1000 ldrd r1, r0, [sp] 7000e686: f7ff faf5 bl 7000dc74 <_ZN8touchgfx8Drawable14setWidthHeightEss> 7000e68a: 4652 mov r2, sl 7000e68c: 4651 mov r1, sl 7000e68e: f104 0060 add.w r0, r4, #96 @ 0x60 7000e692: f7f5 fc4e bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7000e696: 8fa3 ldrh r3, [r4, #60] @ 0x3c 7000e698: f8b4 0096 ldrh.w r0, [r4, #150] @ 0x96 7000e69c: 8fe2 ldrh r2, [r4, #62] @ 0x3e 7000e69e: 441e add r6, r3 7000e6a0: f8a4 5092 strh.w r5, [r4, #146] @ 0x92 7000e6a4: 4405 add r5, r0 7000e6a6: f8b4 3094 ldrh.w r3, [r4, #148] @ 0x94 7000e6aa: 443a add r2, r7 7000e6ac: b22d sxth r5, r5 7000e6ae: 4620 mov r0, r4 7000e6b0: b212 sxth r2, r2 7000e6b2: 4443 add r3, r8 7000e6b4: b231 sxth r1, r6 7000e6b6: f8a4 90e4 strh.w r9, [r4, #228] @ 0xe4 7000e6ba: b21b sxth r3, r3 7000e6bc: 42aa cmp r2, r5 7000e6be: f8a4 80e6 strh.w r8, [r4, #230] @ 0xe6 7000e6c2: bfb8 it lt 7000e6c4: 462a movlt r2, r5 7000e6c6: 4299 cmp r1, r3 7000e6c8: bfb8 it lt 7000e6ca: 4619 movlt r1, r3 7000e6cc: f7ff fad2 bl 7000dc74 <_ZN8touchgfx8Drawable14setWidthHeightEss> 7000e6d0: 6823 ldr r3, [r4, #0] 7000e6d2: f9b4 102e ldrsh.w r1, [r4, #46] @ 0x2e 7000e6d6: 4620 mov r0, r4 7000e6d8: f8d3 30a8 ldr.w r3, [r3, #168] @ 0xa8 7000e6dc: b003 add sp, #12 7000e6de: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000e6e2: 4718 bx r3 7000e6e4 <_ZN8touchgfx5ImageC1ERKNS_6BitmapE>: 7000e6e4: b538 push {r3, r4, r5, lr} 7000e6e6: 4604 mov r4, r0 7000e6e8: 460d mov r5, r1 7000e6ea: 2226 movs r2, #38 @ 0x26 7000e6ec: 2100 movs r1, #0 7000e6ee: f02c fe19 bl 7003b324 7000e6f2: 4620 mov r0, r4 7000e6f4: f7ff faac bl 7000dc50 <_ZN8touchgfx8DrawableC1Ev> 7000e6f8: 4b06 ldr r3, [pc, #24] @ (7000e714 <_ZN8touchgfx5ImageC1ERKNS_6BitmapE+0x30>) 7000e6fa: 4620 mov r0, r4 7000e6fc: 4629 mov r1, r5 7000e6fe: 6023 str r3, [r4, #0] 7000e700: 882b ldrh r3, [r5, #0] 7000e702: 84e3 strh r3, [r4, #38] @ 0x26 7000e704: 23ff movs r3, #255 @ 0xff 7000e706: f884 3028 strb.w r3, [r4, #40] @ 0x28 7000e70a: f001 fb08 bl 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE> 7000e70e: 4620 mov r0, r4 7000e710: bd38 pop {r3, r4, r5, pc} 7000e712: bf00 nop 7000e714: 7003fae0 .word 0x7003fae0 7000e718 <_ZN8touchgfx6SliderC1Ev>: 7000e718: e92d 43f7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, lr} 7000e71c: 4604 mov r4, r0 7000e71e: f7ff fa97 bl 7000dc50 <_ZN8touchgfx8DrawableC1Ev> 7000e722: 4b28 ldr r3, [pc, #160] @ (7000e7c4 <_ZN8touchgfx6SliderC1Ev+0xac>) 7000e724: 2500 movs r5, #0 7000e726: f104 0834 add.w r8, r4, #52 @ 0x34 7000e72a: f64f 76ff movw r6, #65535 @ 0xffff 7000e72e: 6023 str r3, [r4, #0] 7000e730: f44f 03c8 mov.w r3, #6553600 @ 0x640000 7000e734: f104 0960 add.w r9, r4, #96 @ 0x60 7000e738: a901 add r1, sp, #4 7000e73a: 6323 str r3, [r4, #48] @ 0x30 7000e73c: 4640 mov r0, r8 7000e73e: 62a5 str r5, [r4, #40] @ 0x28 7000e740: f104 078c add.w r7, r4, #140 @ 0x8c 7000e744: f884 502c strb.w r5, [r4, #44] @ 0x2c 7000e748: 85e5 strh r5, [r4, #46] @ 0x2e 7000e74a: f8ad 6004 strh.w r6, [sp, #4] 7000e74e: f7ff ffc9 bl 7000e6e4 <_ZN8touchgfx5ImageC1ERKNS_6BitmapE> 7000e752: a901 add r1, sp, #4 7000e754: 4648 mov r0, r9 7000e756: f8ad 6004 strh.w r6, [sp, #4] 7000e75a: f7ff ffc3 bl 7000e6e4 <_ZN8touchgfx5ImageC1ERKNS_6BitmapE> 7000e75e: f8ad 6004 strh.w r6, [sp, #4] 7000e762: f104 06b8 add.w r6, r4, #184 @ 0xb8 7000e766: a901 add r1, sp, #4 7000e768: 4638 mov r0, r7 7000e76a: f7ff ffbb bl 7000e6e4 <_ZN8touchgfx5ImageC1ERKNS_6BitmapE> 7000e76e: 4630 mov r0, r6 7000e770: f7ff fa6e bl 7000dc50 <_ZN8touchgfx8DrawableC1Ev> 7000e774: 4b14 ldr r3, [pc, #80] @ (7000e7c8 <_ZN8touchgfx6SliderC1Ev+0xb0>) 7000e776: 4649 mov r1, r9 7000e778: 4630 mov r0, r6 7000e77a: f8c4 30b8 str.w r3, [r4, #184] @ 0xb8 7000e77e: f44f 3380 mov.w r3, #65536 @ 0x10000 7000e782: f8c4 50e0 str.w r5, [r4, #224] @ 0xe0 7000e786: e9c4 3539 strd r3, r5, [r4, #228] @ 0xe4 7000e78a: 2301 movs r3, #1 7000e78c: e9c4 553b strd r5, r5, [r4, #236] @ 0xec 7000e790: f884 3024 strb.w r3, [r4, #36] @ 0x24 7000e794: f7ff fb09 bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> 7000e798: 4641 mov r1, r8 7000e79a: 4620 mov r0, r4 7000e79c: f7ff fb05 bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> 7000e7a0: 4631 mov r1, r6 7000e7a2: 4620 mov r0, r4 7000e7a4: f7ff fb01 bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> 7000e7a8: 4639 mov r1, r7 7000e7aa: 4620 mov r0, r4 7000e7ac: f7ff fafd bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> 7000e7b0: 4620 mov r0, r4 7000e7b2: f9b4 10e4 ldrsh.w r1, [r4, #228] @ 0xe4 7000e7b6: f7ff fe87 bl 7000e4c8 <_ZN8touchgfx6Slider23updateIndicatorPositionEs> 7000e7ba: 4620 mov r0, r4 7000e7bc: b003 add sp, #12 7000e7be: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7000e7c2: bf00 nop 7000e7c4: 7003f81c .word 0x7003f81c 7000e7c8: 7003f78c .word 0x7003f78c 7000e7cc <_ZN8touchgfx6Slider10setBitmapsERKNS_6BitmapES3_S3_>: 7000e7cc: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 7000e7d0: 4604 mov r4, r0 7000e7d2: f100 0634 add.w r6, r0, #52 @ 0x34 7000e7d6: 4689 mov r9, r1 7000e7d8: 461f mov r7, r3 7000e7da: f104 058c add.w r5, r4, #140 @ 0x8c 7000e7de: 4630 mov r0, r6 7000e7e0: 4690 mov r8, r2 7000e7e2: f003 fe95 bl 70012510 <_ZNK8touchgfx8Drawable10invalidateEv> 7000e7e6: 4628 mov r0, r5 7000e7e8: f003 fe92 bl 70012510 <_ZNK8touchgfx8Drawable10invalidateEv> 7000e7ec: 4649 mov r1, r9 7000e7ee: 4630 mov r0, r6 7000e7f0: f001 fa95 bl 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE> 7000e7f4: 4641 mov r1, r8 7000e7f6: f104 0060 add.w r0, r4, #96 @ 0x60 7000e7fa: f001 fa90 bl 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE> 7000e7fe: 4639 mov r1, r7 7000e800: 4628 mov r0, r5 7000e802: f001 fa8c bl 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE> 7000e806: f9b4 206a ldrsh.w r2, [r4, #106] @ 0x6a 7000e80a: f9b4 1068 ldrsh.w r1, [r4, #104] @ 0x68 7000e80e: f104 00b8 add.w r0, r4, #184 @ 0xb8 7000e812: f7ff fa2f bl 7000dc74 <_ZN8touchgfx8Drawable14setWidthHeightEss> 7000e816: 6823 ldr r3, [r4, #0] 7000e818: f9b4 102e ldrsh.w r1, [r4, #46] @ 0x2e 7000e81c: 4620 mov r0, r4 7000e81e: f8d3 30a8 ldr.w r3, [r3, #168] @ 0xa8 7000e822: 4798 blx r3 7000e824: 4630 mov r0, r6 7000e826: f003 fe73 bl 70012510 <_ZNK8touchgfx8Drawable10invalidateEv> 7000e82a: 4628 mov r0, r5 7000e82c: e8bd 43f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 7000e830: f003 be6e b.w 70012510 <_ZNK8touchgfx8Drawable10invalidateEv> 7000e834 <_ZN8touchgfx3HAL11submitGPU2DEv>: 7000e834: 4770 bx lr 7000e836 <_ZN8touchgfx3HAL15InvalidateCacheEv>: 7000e836: 4770 bx lr 7000e838 <_ZN8touchgfx3HAL10FlushCacheEv>: 7000e838: 4770 bx lr 7000e83a <_ZN8touchgfx3HAL22InvalidateTextureCacheEv>: 7000e83a: 4770 bx lr 7000e83c <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEt>: 7000e83c: 6803 ldr r3, [r0, #0] 7000e83e: b513 push {r0, r1, r4, lr} 7000e840: f8d3 40b4 ldr.w r4, [r3, #180] @ 0xb4 7000e844: 2300 movs r3, #0 7000e846: e9cd 3300 strd r3, r3, [sp] 7000e84a: 466b mov r3, sp 7000e84c: 47a0 blx r4 7000e84e: b002 add sp, #8 7000e850: bd10 pop {r4, pc} 7000e852 <_ZN8touchgfx3HAL16flushFrameBufferEv>: 7000e852: 2301 movs r3, #1 7000e854: f880 304f strb.w r3, [r0, #79] @ 0x4f 7000e858: f880 3071 strb.w r3, [r0, #113] @ 0x71 7000e85c: 4770 bx lr 7000e85e <_ZN8touchgfx3HAL16flushFrameBufferERKNS_4RectE>: 7000e85e: 2301 movs r3, #1 7000e860: f880 304f strb.w r3, [r0, #79] @ 0x4f 7000e864: f880 3071 strb.w r3, [r0, #113] @ 0x71 7000e868: 4770 bx lr 7000e86a <_ZN8touchgfx3HAL17allowDMATransfersEv>: 7000e86a: 6843 ldr r3, [r0, #4] 7000e86c: 2201 movs r2, #1 7000e86e: 725a strb r2, [r3, #9] 7000e870: 6840 ldr r0, [r0, #4] 7000e872: 6803 ldr r3, [r0, #0] 7000e874: 691b ldr r3, [r3, #16] 7000e876: 4718 bx r3 7000e878 <_ZN8touchgfx3HAL8flushDMAEv>: 7000e878: 6840 ldr r0, [r0, #4] 7000e87a: 6803 ldr r3, [r0, #0] 7000e87c: 689b ldr r3, [r3, #8] 7000e87e: 4718 bx r3 7000e880 <_ZN8touchgfx3HAL8blitCopyEPKtttttthbtNS_6Bitmap12BitmapFormatES4_b>: 7000e880: b530 push {r4, r5, lr} 7000e882: b08b sub sp, #44 @ 0x2c 7000e884: 6804 ldr r4, [r0, #0] 7000e886: f89d 5058 ldrb.w r5, [sp, #88] @ 0x58 7000e88a: 9509 str r5, [sp, #36] @ 0x24 7000e88c: f89d 5054 ldrb.w r5, [sp, #84] @ 0x54 7000e890: 9508 str r5, [sp, #32] 7000e892: f89d 5050 ldrb.w r5, [sp, #80] @ 0x50 7000e896: 9507 str r5, [sp, #28] 7000e898: f8bd 504c ldrh.w r5, [sp, #76] @ 0x4c 7000e89c: 9506 str r5, [sp, #24] 7000e89e: f89d 5048 ldrb.w r5, [sp, #72] @ 0x48 7000e8a2: 9505 str r5, [sp, #20] 7000e8a4: f89d 5044 ldrb.w r5, [sp, #68] @ 0x44 7000e8a8: 9504 str r5, [sp, #16] 7000e8aa: f8bd 5040 ldrh.w r5, [sp, #64] @ 0x40 7000e8ae: 9503 str r5, [sp, #12] 7000e8b0: f8bd 503c ldrh.w r5, [sp, #60] @ 0x3c 7000e8b4: 9502 str r5, [sp, #8] 7000e8b6: f8bd 5038 ldrh.w r5, [sp, #56] @ 0x38 7000e8ba: e9cd 3500 strd r3, r5, [sp] 7000e8be: 4613 mov r3, r2 7000e8c0: 6c24 ldr r4, [r4, #64] @ 0x40 7000e8c2: 2200 movs r2, #0 7000e8c4: 47a0 blx r4 7000e8c6: b00b add sp, #44 @ 0x2c 7000e8c8: bd30 pop {r4, r5, pc} ... 7000e8cc <_ZN8touchgfx3HAL10beginFrameEv>: 7000e8cc: 4b04 ldr r3, [pc, #16] @ (7000e8e0 <_ZN8touchgfx3HAL10beginFrameEv+0x14>) 7000e8ce: 781b ldrb r3, [r3, #0] 7000e8d0: b123 cbz r3, 7000e8dc <_ZN8touchgfx3HAL10beginFrameEv+0x10> 7000e8d2: f890 0072 ldrb.w r0, [r0, #114] @ 0x72 7000e8d6: f080 0001 eor.w r0, r0, #1 7000e8da: 4770 bx lr 7000e8dc: 2001 movs r0, #1 7000e8de: 4770 bx lr 7000e8e0: 2400da74 .word 0x2400da74 7000e8e4 <_ZN8touchgfx3HAL8endFrameEv>: 7000e8e4: b510 push {r4, lr} 7000e8e6: 4604 mov r4, r0 7000e8e8: 6840 ldr r0, [r0, #4] 7000e8ea: 6803 ldr r3, [r0, #0] 7000e8ec: 689b ldr r3, [r3, #8] 7000e8ee: 4798 blx r3 7000e8f0: f894 3071 ldrb.w r3, [r4, #113] @ 0x71 7000e8f4: b113 cbz r3, 7000e8fc <_ZN8touchgfx3HAL8endFrameEv+0x18> 7000e8f6: 2301 movs r3, #1 7000e8f8: f884 3072 strb.w r3, [r4, #114] @ 0x72 7000e8fc: bd10 pop {r4, pc} 7000e8fe <_ZN8touchgfx3HAL10initializeEv>: 7000e8fe: b510 push {r4, lr} 7000e900: 4604 mov r4, r0 7000e902: f7f3 fec5 bl 70002690 <_ZN8touchgfx10OSWrappers10initializeEv> 7000e906: f7f2 ff95 bl 70001834 <_ZN8touchgfx4GPIO4initEv> 7000e90a: 6860 ldr r0, [r4, #4] 7000e90c: 6803 ldr r3, [r0, #0] 7000e90e: 68db ldr r3, [r3, #12] 7000e910: 4798 blx r3 7000e912: 68e0 ldr r0, [r4, #12] 7000e914: 6803 ldr r3, [r0, #0] 7000e916: 689b ldr r3, [r3, #8] 7000e918: 4798 blx r3 7000e91a: 6823 ldr r3, [r4, #0] 7000e91c: 4620 mov r0, r4 7000e91e: 6f9b ldr r3, [r3, #120] @ 0x78 7000e920: e8bd 4010 ldmia.w sp!, {r4, lr} 7000e924: 4718 bx r3 7000e926 <_ZN8touchgfx3HAL9taskEntryEv>: 7000e926: b508 push {r3, lr} 7000e928: 6803 ldr r3, [r0, #0] 7000e92a: 4604 mov r4, r0 7000e92c: f8d3 3084 ldr.w r3, [r3, #132] @ 0x84 7000e930: 4798 blx r3 7000e932: 6823 ldr r3, [r4, #0] 7000e934: 6fdb ldr r3, [r3, #124] @ 0x7c 7000e936: 4620 mov r0, r4 7000e938: 4798 blx r3 7000e93a: f894 304c ldrb.w r3, [r4, #76] @ 0x4c 7000e93e: 2b02 cmp r3, #2 7000e940: d001 beq.n 7000e946 <_ZN8touchgfx3HAL9taskEntryEv+0x20> 7000e942: f7f3 fef1 bl 70002728 <_ZN8touchgfx10OSWrappers12waitForVSyncEv> 7000e946: 6823 ldr r3, [r4, #0] 7000e948: 6f5b ldr r3, [r3, #116] @ 0x74 7000e94a: e7f4 b.n 7000e936 <_ZN8touchgfx3HAL9taskEntryEv+0x10> 7000e94c <_ZN8touchgfx3HAL4tickEv>: 7000e94c: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} 7000e94e: 6803 ldr r3, [r0, #0] 7000e950: 4604 mov r4, r0 7000e952: 4e60 ldr r6, [pc, #384] @ (7000ead4 <_ZN8touchgfx3HAL4tickEv+0x188>) 7000e954: f8d3 30c0 ldr.w r3, [r3, #192] @ 0xc0 7000e958: 4798 blx r3 7000e95a: 2800 cmp r0, #0 7000e95c: f000 80a9 beq.w 7000eab2 <_ZN8touchgfx3HAL4tickEv+0x166> 7000e960: f894 304c ldrb.w r3, [r4, #76] @ 0x4c 7000e964: 2b02 cmp r3, #2 7000e966: d002 beq.n 7000e96e <_ZN8touchgfx3HAL4tickEv+0x22> 7000e968: 2001 movs r0, #1 7000e96a: f7f2 ff65 bl 70001838 <_ZN8touchgfx4GPIO3setENS0_7GPIO_IDE> 7000e96e: f894 306e ldrb.w r3, [r4, #110] @ 0x6e 7000e972: 2500 movs r5, #0 7000e974: f884 306f strb.w r3, [r4, #111] @ 0x6f 7000e978: f894 307d ldrb.w r3, [r4, #125] @ 0x7d 7000e97c: f884 506e strb.w r5, [r4, #110] @ 0x6e 7000e980: f884 504f strb.w r5, [r4, #79] @ 0x4f 7000e984: b133 cbz r3, 7000e994 <_ZN8touchgfx3HAL4tickEv+0x48> 7000e986: 6823 ldr r3, [r4, #0] 7000e988: 4620 mov r0, r4 7000e98a: f8d3 30d4 ldr.w r3, [r3, #212] @ 0xd4 7000e98e: 4798 blx r3 7000e990: f884 507d strb.w r5, [r4, #125] @ 0x7d 7000e994: f894 304e ldrb.w r3, [r4, #78] @ 0x4e 7000e998: 2501 movs r5, #1 7000e99a: 6862 ldr r2, [r4, #4] 7000e99c: f083 0301 eor.w r3, r3, #1 7000e9a0: 7035 strb r5, [r6, #0] 7000e9a2: 7253 strb r3, [r2, #9] 7000e9a4: f002 fbd4 bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> 7000e9a8: 6803 ldr r3, [r0, #0] 7000e9aa: 6b5b ldr r3, [r3, #52] @ 0x34 7000e9ac: 4798 blx r3 7000e9ae: f894 306f ldrb.w r3, [r4, #111] @ 0x6f 7000e9b2: b90b cbnz r3, 7000e9b8 <_ZN8touchgfx3HAL4tickEv+0x6c> 7000e9b4: f884 506f strb.w r5, [r4, #111] @ 0x6f 7000e9b8: f002 fbca bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> 7000e9bc: 6803 ldr r3, [r0, #0] 7000e9be: 695b ldr r3, [r3, #20] 7000e9c0: 4798 blx r3 7000e9c2: 6e20 ldr r0, [r4, #96] @ 0x60 7000e9c4: 6803 ldr r3, [r0, #0] 7000e9c6: 691b ldr r3, [r3, #16] 7000e9c8: 4798 blx r3 7000e9ca: f894 306f ldrb.w r3, [r4, #111] @ 0x6f 7000e9ce: f894 2070 ldrb.w r2, [r4, #112] @ 0x70 7000e9d2: 3b01 subs r3, #1 7000e9d4: b2db uxtb r3, r3 7000e9d6: f884 306f strb.w r3, [r4, #111] @ 0x6f 7000e9da: b10a cbz r2, 7000e9e0 <_ZN8touchgfx3HAL4tickEv+0x94> 7000e9dc: 2b00 cmp r3, #0 7000e9de: d1eb bne.n 7000e9b8 <_ZN8touchgfx3HAL4tickEv+0x6c> 7000e9e0: 4a3d ldr r2, [pc, #244] @ (7000ead8 <_ZN8touchgfx3HAL4tickEv+0x18c>) 7000e9e2: f994 106c ldrsb.w r1, [r4, #108] @ 0x6c 7000e9e6: 7813 ldrb r3, [r2, #0] 7000e9e8: 3301 adds r3, #1 7000e9ea: b25b sxtb r3, r3 7000e9ec: 4299 cmp r1, r3 7000e9ee: 7013 strb r3, [r2, #0] 7000e9f0: dc14 bgt.n 7000ea1c <_ZN8touchgfx3HAL4tickEv+0xd0> 7000e9f2: 2300 movs r3, #0 7000e9f4: 68e0 ldr r0, [r4, #12] 7000e9f6: a902 add r1, sp, #8 7000e9f8: 7013 strb r3, [r2, #0] 7000e9fa: aa03 add r2, sp, #12 7000e9fc: 6803 ldr r3, [r0, #0] 7000e9fe: 68db ldr r3, [r3, #12] 7000ea00: 4798 blx r3 7000ea02: 6823 ldr r3, [r4, #0] 7000ea04: b130 cbz r0, 7000ea14 <_ZN8touchgfx3HAL4tickEv+0xc8> 7000ea06: f8d3 30cc ldr.w r3, [r3, #204] @ 0xcc 7000ea0a: 4620 mov r0, r4 7000ea0c: e9dd 1202 ldrd r1, r2, [sp, #8] 7000ea10: 4798 blx r3 7000ea12: e003 b.n 7000ea1c <_ZN8touchgfx3HAL4tickEv+0xd0> 7000ea14: f8d3 30d0 ldr.w r3, [r3, #208] @ 0xd0 7000ea18: 4620 mov r0, r4 7000ea1a: 4798 blx r3 7000ea1c: 2300 movs r3, #0 7000ea1e: 6960 ldr r0, [r4, #20] 7000ea20: f88d 3007 strb.w r3, [sp, #7] 7000ea24: b158 cbz r0, 7000ea3e <_ZN8touchgfx3HAL4tickEv+0xf2> 7000ea26: 6803 ldr r3, [r0, #0] 7000ea28: f10d 0107 add.w r1, sp, #7 7000ea2c: 68db ldr r3, [r3, #12] 7000ea2e: 4798 blx r3 7000ea30: b128 cbz r0, 7000ea3e <_ZN8touchgfx3HAL4tickEv+0xf2> 7000ea32: 6e20 ldr r0, [r4, #96] @ 0x60 7000ea34: f89d 1007 ldrb.w r1, [sp, #7] 7000ea38: 6803 ldr r3, [r0, #0] 7000ea3a: 68db ldr r3, [r3, #12] 7000ea3c: 4798 blx r3 7000ea3e: f104 0020 add.w r0, r4, #32 7000ea42: f005 ffd9 bl 700149f8 <_ZN8touchgfx8Gestures4tickEv> 7000ea46: f894 3074 ldrb.w r3, [r4, #116] @ 0x74 7000ea4a: b343 cbz r3, 7000ea9e <_ZN8touchgfx3HAL4tickEv+0x152> 7000ea4c: 6920 ldr r0, [r4, #16] 7000ea4e: 6803 ldr r3, [r0, #0] 7000ea50: 691b ldr r3, [r3, #16] 7000ea52: 4798 blx r3 7000ea54: 6fa3 ldr r3, [r4, #120] @ 0x78 7000ea56: 4605 mov r5, r0 7000ea58: b903 cbnz r3, 7000ea5c <_ZN8touchgfx3HAL4tickEv+0x110> 7000ea5a: e01f b.n 7000ea9c <_ZN8touchgfx3HAL4tickEv+0x150> 7000ea5c: 1ac3 subs r3, r0, r3 7000ea5e: 4a1f ldr r2, [pc, #124] @ (7000eadc <_ZN8touchgfx3HAL4tickEv+0x190>) 7000ea60: 4293 cmp r3, r2 7000ea62: d91c bls.n 7000ea9e <_ZN8touchgfx3HAL4tickEv+0x152> 7000ea64: 6920 ldr r0, [r4, #16] 7000ea66: 6803 ldr r3, [r0, #0] 7000ea68: 699b ldr r3, [r3, #24] 7000ea6a: 4798 blx r3 7000ea6c: 6fa3 ldr r3, [r4, #120] @ 0x78 7000ea6e: 2264 movs r2, #100 @ 0x64 7000ea70: 1aeb subs r3, r5, r3 7000ea72: fbb3 f3f2 udiv r3, r3, r2 7000ea76: fbb0 f3f3 udiv r3, r0, r3 7000ea7a: 2b00 cmp r3, #0 7000ea7c: dd04 ble.n 7000ea88 <_ZN8touchgfx3HAL4tickEv+0x13c> 7000ea7e: 2b63 cmp r3, #99 @ 0x63 7000ea80: dc04 bgt.n 7000ea8c <_ZN8touchgfx3HAL4tickEv+0x140> 7000ea82: 1ad3 subs r3, r2, r3 7000ea84: b2db uxtb r3, r3 7000ea86: e002 b.n 7000ea8e <_ZN8touchgfx3HAL4tickEv+0x142> 7000ea88: 4613 mov r3, r2 7000ea8a: e000 b.n 7000ea8e <_ZN8touchgfx3HAL4tickEv+0x142> 7000ea8c: 2300 movs r3, #0 7000ea8e: 6920 ldr r0, [r4, #16] 7000ea90: 2100 movs r1, #0 7000ea92: f884 306d strb.w r3, [r4, #109] @ 0x6d 7000ea96: 6803 ldr r3, [r0, #0] 7000ea98: 69db ldr r3, [r3, #28] 7000ea9a: 4798 blx r3 7000ea9c: 67a5 str r5, [r4, #120] @ 0x78 7000ea9e: 6823 ldr r3, [r4, #0] 7000eaa0: 4620 mov r0, r4 7000eaa2: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0 7000eaa6: 4798 blx r3 7000eaa8: f002 fb52 bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> 7000eaac: 6803 ldr r3, [r0, #0] 7000eaae: 6b9b ldr r3, [r3, #56] @ 0x38 7000eab0: 4798 blx r3 7000eab2: 6823 ldr r3, [r4, #0] 7000eab4: 4620 mov r0, r4 7000eab6: f8d3 30c4 ldr.w r3, [r3, #196] @ 0xc4 7000eaba: 4798 blx r3 7000eabc: f894 304c ldrb.w r3, [r4, #76] @ 0x4c 7000eac0: 2b02 cmp r3, #2 7000eac2: d002 beq.n 7000eaca <_ZN8touchgfx3HAL4tickEv+0x17e> 7000eac4: 2001 movs r0, #1 7000eac6: f7f2 fecf bl 70001868 <_ZN8touchgfx4GPIO5clearENS0_7GPIO_IDE> 7000eaca: 2300 movs r3, #0 7000eacc: 7033 strb r3, [r6, #0] 7000eace: b004 add sp, #16 7000ead0: bd70 pop {r4, r5, r6, pc} 7000ead2: bf00 nop 7000ead4: 2400da71 .word 0x2400da71 7000ead8: 2400da70 .word 0x2400da70 7000eadc: 05f5e100 .word 0x05f5e100 7000eae0 <_ZN8touchgfx3HAL17unlockFrameBufferEv>: 7000eae0: b510 push {r4, lr} 7000eae2: 4604 mov r4, r0 7000eae4: f7f3 fe04 bl 700026f0 <_ZN8touchgfx10OSWrappers24giveFrameBufferSemaphoreEv> 7000eae8: 2200 movs r2, #0 7000eaea: 6863 ldr r3, [r4, #4] 7000eaec: 729a strb r2, [r3, #10] 7000eaee: bd10 pop {r4, pc} 7000eaf0 <_ZN8touchgfx3HAL21registerEventListenerERNS_15UIEventListenerE>: 7000eaf0: 6601 str r1, [r0, #96] @ 0x60 7000eaf2: 3020 adds r0, #32 7000eaf4: f005 bf7e b.w 700149f4 <_ZN8touchgfx8Gestures21registerEventListenerERNS_15UIEventListenerE> 7000eaf8 <_ZN8touchgfx3HAL5touchEll>: 7000eaf8: b510 push {r4, lr} 7000eafa: b086 sub sp, #24 7000eafc: 4604 mov r4, r0 7000eafe: a804 add r0, sp, #16 7000eb00: e9cd 1204 strd r1, r2, [sp, #16] 7000eb04: f002 f8da bl 70010cbc <_ZN8touchgfx16TouchCalibration14translatePointERNS_5PointE> 7000eb08: 9b04 ldr r3, [sp, #16] 7000eb0a: f10d 010e add.w r1, sp, #14 7000eb0e: a803 add r0, sp, #12 7000eb10: f8ad 300c strh.w r3, [sp, #12] 7000eb14: 9b05 ldr r3, [sp, #20] 7000eb16: f8ad 300e strh.w r3, [sp, #14] 7000eb1a: f002 f927 bl 70010d6c <_ZN8touchgfx21DisplayTransformation29transformFrameBufferToDisplayERsS1_> 7000eb1e: f894 1073 ldrb.w r1, [r4, #115] @ 0x73 7000eb22: f104 0020 add.w r0, r4, #32 7000eb26: f8bd 200c ldrh.w r2, [sp, #12] 7000eb2a: f8bd 300e ldrh.w r3, [sp, #14] 7000eb2e: b149 cbz r1, 7000eb44 <_ZN8touchgfx3HAL5touchEll+0x4c> 7000eb30: 9300 str r3, [sp, #0] 7000eb32: 4613 mov r3, r2 7000eb34: f8b4 1064 ldrh.w r1, [r4, #100] @ 0x64 7000eb38: f8b4 2068 ldrh.w r2, [r4, #104] @ 0x68 7000eb3c: f005 ff6a bl 70014a14 <_ZN8touchgfx8Gestures17registerDragEventEtttt> 7000eb40: b158 cbz r0, 7000eb5a <_ZN8touchgfx3HAL5touchEll+0x62> 7000eb42: e004 b.n 7000eb4e <_ZN8touchgfx3HAL5touchEll+0x56> 7000eb44: f005 ffa8 bl 70014a98 <_ZN8touchgfx8Gestures18registerClickEventENS_10ClickEvent14ClickEventTypeEtt> 7000eb48: 2301 movs r3, #1 7000eb4a: f884 3073 strb.w r3, [r4, #115] @ 0x73 7000eb4e: f9bd 300c ldrsh.w r3, [sp, #12] 7000eb52: 6663 str r3, [r4, #100] @ 0x64 7000eb54: f9bd 300e ldrsh.w r3, [sp, #14] 7000eb58: 66a3 str r3, [r4, #104] @ 0x68 7000eb5a: b006 add sp, #24 7000eb5c: bd10 pop {r4, pc} 7000eb5e <_ZN8touchgfx3HAL9blockCopyEPvPKvm>: 7000eb5e: b510 push {r4, lr} 7000eb60: 2b00 cmp r3, #0 7000eb62: d049 beq.n 7000ebf8 <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x9a> 7000eb64: ea81 0002 eor.w r0, r1, r2 7000eb68: 07c4 lsls r4, r0, #31 7000eb6a: d509 bpl.n 7000eb80 <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x22> 7000eb6c: 440b add r3, r1 7000eb6e: 3a01 subs r2, #1 7000eb70: e003 b.n 7000eb7a <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x1c> 7000eb72: f812 0f01 ldrb.w r0, [r2, #1]! 7000eb76: f801 0b01 strb.w r0, [r1], #1 7000eb7a: 428b cmp r3, r1 7000eb7c: d8f9 bhi.n 7000eb72 <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x14> 7000eb7e: e03b b.n 7000ebf8 <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x9a> 7000eb80: 07d0 lsls r0, r2, #31 7000eb82: bf42 ittt mi 7000eb84: f812 0b01 ldrbmi.w r0, [r2], #1 7000eb88: f103 33ff addmi.w r3, r3, #4294967295 @ 0xffffffff 7000eb8c: f801 0b01 strbmi.w r0, [r1], #1 7000eb90: 2b01 cmp r3, #1 7000eb92: d917 bls.n 7000ebc4 <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x66> 7000eb94: ea81 0402 eor.w r4, r1, r2 7000eb98: 4610 mov r0, r2 7000eb9a: 07a4 lsls r4, r4, #30 7000eb9c: d029 beq.n 7000ebf2 <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x94> 7000eb9e: f023 0401 bic.w r4, r3, #1 7000eba2: 440c add r4, r1 7000eba4: e003 b.n 7000ebae <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x50> 7000eba6: 8812 ldrh r2, [r2, #0] 7000eba8: 3002 adds r0, #2 7000ebaa: f821 2b02 strh.w r2, [r1], #2 7000ebae: 428c cmp r4, r1 7000ebb0: 4602 mov r2, r0 7000ebb2: d8f8 bhi.n 7000eba6 <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x48> 7000ebb4: f003 0301 and.w r3, r3, #1 7000ebb8: e004 b.n 7000ebc4 <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x66> 7000ebba: f832 0b02 ldrh.w r0, [r2], #2 7000ebbe: 3b02 subs r3, #2 7000ebc0: f821 0b02 strh.w r0, [r1], #2 7000ebc4: f023 0003 bic.w r0, r3, #3 7000ebc8: 4408 add r0, r1 7000ebca: e003 b.n 7000ebd4 <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x76> 7000ebcc: 6824 ldr r4, [r4, #0] 7000ebce: 3204 adds r2, #4 7000ebd0: f841 4b04 str.w r4, [r1], #4 7000ebd4: 4288 cmp r0, r1 7000ebd6: 4614 mov r4, r2 7000ebd8: d8f8 bhi.n 7000ebcc <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x6e> 7000ebda: f003 0303 and.w r3, r3, #3 7000ebde: 3a01 subs r2, #1 7000ebe0: 440b add r3, r1 7000ebe2: e003 b.n 7000ebec <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x8e> 7000ebe4: f812 0f01 ldrb.w r0, [r2, #1]! 7000ebe8: f801 0b01 strb.w r0, [r1], #1 7000ebec: 428b cmp r3, r1 7000ebee: d8f9 bhi.n 7000ebe4 <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x86> 7000ebf0: e002 b.n 7000ebf8 <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x9a> 7000ebf2: 0790 lsls r0, r2, #30 7000ebf4: d1e1 bne.n 7000ebba <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x5c> 7000ebf6: e7e5 b.n 7000ebc4 <_ZN8touchgfx3HAL9blockCopyEPvPKvm+0x66> 7000ebf8: 2001 movs r0, #1 7000ebfa: bd10 pop {r4, pc} 7000ebfc <_ZN8touchgfx3HAL7noTouchEv>: 7000ebfc: b510 push {r4, lr} 7000ebfe: f890 3073 ldrb.w r3, [r0, #115] @ 0x73 7000ec02: 4604 mov r4, r0 7000ec04: b153 cbz r3, 7000ec1c <_ZN8touchgfx3HAL7noTouchEv+0x20> 7000ec06: f8b0 3068 ldrh.w r3, [r0, #104] @ 0x68 7000ec0a: 2101 movs r1, #1 7000ec0c: f8b0 2064 ldrh.w r2, [r0, #100] @ 0x64 7000ec10: 3020 adds r0, #32 7000ec12: f005 ff41 bl 70014a98 <_ZN8touchgfx8Gestures18registerClickEventENS_10ClickEvent14ClickEventTypeEtt> 7000ec16: 2300 movs r3, #0 7000ec18: f884 3073 strb.w r3, [r4, #115] @ 0x73 7000ec1c: bd10 pop {r4, pc} ... 7000ec20 <_ZN8touchgfx3HAL3lcdEv>: 7000ec20: 4b04 ldr r3, [pc, #16] @ (7000ec34 <_ZN8touchgfx3HAL3lcdEv+0x14>) 7000ec22: 681b ldr r3, [r3, #0] 7000ec24: f893 205c ldrb.w r2, [r3, #92] @ 0x5c 7000ec28: b10a cbz r2, 7000ec2e <_ZN8touchgfx3HAL3lcdEv+0xe> 7000ec2a: 6d18 ldr r0, [r3, #80] @ 0x50 7000ec2c: b900 cbnz r0, 7000ec30 <_ZN8touchgfx3HAL3lcdEv+0x10> 7000ec2e: 6898 ldr r0, [r3, #8] 7000ec30: 4770 bx lr 7000ec32: bf00 nop 7000ec34: 2400da80 .word 0x2400da80 7000ec38 <_ZN8touchgfx3HAL27configurePartialFrameBufferEtttt>: 7000ec38: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7000ec3c: 4605 mov r5, r0 7000ec3e: b085 sub sp, #20 7000ec40: 2000 movs r0, #0 7000ec42: 4699 mov r9, r3 7000ec44: f10d 0c0c add.w ip, sp, #12 7000ec48: 460c mov r4, r1 7000ec4a: 9003 str r0, [sp, #12] 7000ec4c: 4617 mov r7, r2 7000ec4e: 69a8 ldr r0, [r5, #24] 7000ec50: 6806 ldr r6, [r0, #0] 7000ec52: f8cd c004 str.w ip, [sp, #4] 7000ec56: f8bd c030 ldrh.w ip, [sp, #48] @ 0x30 7000ec5a: f8cd c000 str.w ip, [sp] 7000ec5e: 6836 ldr r6, [r6, #0] 7000ec60: 47b0 blx r6 7000ec62: 4e13 ldr r6, [pc, #76] @ (7000ecb0 <_ZN8touchgfx3HAL27configurePartialFrameBufferEtttt+0x78>) 7000ec64: 4680 mov r8, r0 7000ec66: f8a6 9000 strh.w r9, [r6] 7000ec6a: f7ff ffd9 bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 7000ec6e: 6803 ldr r3, [r0, #0] 7000ec70: 6b1b ldr r3, [r3, #48] @ 0x30 7000ec72: 4798 blx r3 7000ec74: b110 cbz r0, 7000ec7c <_ZN8touchgfx3HAL27configurePartialFrameBufferEtttt+0x44> 7000ec76: 2801 cmp r0, #1 7000ec78: d007 beq.n 7000ec8a <_ZN8touchgfx3HAL27configurePartialFrameBufferEtttt+0x52> 7000ec7a: e00e b.n 7000ec9a <_ZN8touchgfx3HAL27configurePartialFrameBufferEtttt+0x62> 7000ec7c: 8832 ldrh r2, [r6, #0] 7000ec7e: 9b03 ldr r3, [sp, #12] 7000ec80: fb07 4202 mla r2, r7, r2, r4 7000ec84: eba3 0342 sub.w r3, r3, r2, lsl #1 7000ec88: e006 b.n 7000ec98 <_ZN8touchgfx3HAL27configurePartialFrameBufferEtttt+0x60> 7000ec8a: 8833 ldrh r3, [r6, #0] 7000ec8c: fb07 4403 mla r4, r7, r3, r4 7000ec90: 9b03 ldr r3, [sp, #12] 7000ec92: eb04 0444 add.w r4, r4, r4, lsl #1 7000ec96: 1b1b subs r3, r3, r4 7000ec98: 642b str r3, [r5, #64] @ 0x40 7000ec9a: 69e8 ldr r0, [r5, #28] 7000ec9c: b120 cbz r0, 7000eca8 <_ZN8touchgfx3HAL27configurePartialFrameBufferEtttt+0x70> 7000ec9e: 6803 ldr r3, [r0, #0] 7000eca0: 8832 ldrh r2, [r6, #0] 7000eca2: 681b ldr r3, [r3, #0] 7000eca4: 6c29 ldr r1, [r5, #64] @ 0x40 7000eca6: 4798 blx r3 7000eca8: 4640 mov r0, r8 7000ecaa: b005 add sp, #20 7000ecac: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7000ecb0: 2400da78 .word 0x2400da78 7000ecb4 <_ZN8touchgfx3HAL31configurePartialFrameBufferLTDCEs>: 7000ecb4: 4b1b ldr r3, [pc, #108] @ (7000ed24 <_ZN8touchgfx3HAL31configurePartialFrameBufferLTDCEs+0x70>) 7000ecb6: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 7000ecba: 881c ldrh r4, [r3, #0] 7000ecbc: 460d mov r5, r1 7000ecbe: f890 3081 ldrb.w r3, [r0, #129] @ 0x81 7000ecc2: 4606 mov r6, r0 7000ecc4: 6c07 ldr r7, [r0, #64] @ 0x40 7000ecc6: fbb4 f4f3 udiv r4, r4, r3 7000ecca: f7ff ffa9 bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 7000ecce: 6803 ldr r3, [r0, #0] 7000ecd0: 6b1b ldr r3, [r3, #48] @ 0x30 7000ecd2: 4798 blx r3 7000ecd4: 2801 cmp r0, #1 7000ecd6: d009 beq.n 7000ecec <_ZN8touchgfx3HAL31configurePartialFrameBufferLTDCEs+0x38> 7000ecd8: 2802 cmp r0, #2 7000ecda: d00f beq.n 7000ecfc <_ZN8touchgfx3HAL31configurePartialFrameBufferLTDCEs+0x48> 7000ecdc: b9a0 cbnz r0, 7000ed08 <_ZN8touchgfx3HAL31configurePartialFrameBufferLTDCEs+0x54> 7000ecde: 4b12 ldr r3, [pc, #72] @ (7000ed28 <_ZN8touchgfx3HAL31configurePartialFrameBufferLTDCEs+0x74>) 7000ece0: 436c muls r4, r5 7000ece2: 881b ldrh r3, [r3, #0] 7000ece4: 435c muls r4, r3 7000ece6: eba7 0744 sub.w r7, r7, r4, lsl #1 7000ecea: e00d b.n 7000ed08 <_ZN8touchgfx3HAL31configurePartialFrameBufferLTDCEs+0x54> 7000ecec: 4b0e ldr r3, [pc, #56] @ (7000ed28 <_ZN8touchgfx3HAL31configurePartialFrameBufferLTDCEs+0x74>) 7000ecee: 436c muls r4, r5 7000ecf0: 881b ldrh r3, [r3, #0] 7000ecf2: 435c muls r4, r3 7000ecf4: eb04 0444 add.w r4, r4, r4, lsl #1 7000ecf8: 1b3f subs r7, r7, r4 7000ecfa: e005 b.n 7000ed08 <_ZN8touchgfx3HAL31configurePartialFrameBufferLTDCEs+0x54> 7000ecfc: 4b0a ldr r3, [pc, #40] @ (7000ed28 <_ZN8touchgfx3HAL31configurePartialFrameBufferLTDCEs+0x74>) 7000ecfe: 4365 muls r5, r4 7000ed00: 881b ldrh r3, [r3, #0] 7000ed02: 435d muls r5, r3 7000ed04: eba7 0785 sub.w r7, r7, r5, lsl #2 7000ed08: 69f0 ldr r0, [r6, #28] 7000ed0a: 6437 str r7, [r6, #64] @ 0x40 7000ed0c: b138 cbz r0, 7000ed1e <_ZN8touchgfx3HAL31configurePartialFrameBufferLTDCEs+0x6a> 7000ed0e: 6803 ldr r3, [r0, #0] 7000ed10: 4639 mov r1, r7 7000ed12: 4a05 ldr r2, [pc, #20] @ (7000ed28 <_ZN8touchgfx3HAL31configurePartialFrameBufferLTDCEs+0x74>) 7000ed14: 681b ldr r3, [r3, #0] 7000ed16: 8812 ldrh r2, [r2, #0] 7000ed18: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} 7000ed1c: 4718 bx r3 7000ed1e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 7000ed22: bf00 nop 7000ed24: 2400da76 .word 0x2400da76 7000ed28: 2400da78 .word 0x2400da78 7000ed2c <_ZN8touchgfx3HAL8blitCopyEPKtttttthbb>: 7000ed2c: b5f0 push {r4, r5, r6, r7, lr} 7000ed2e: b08b sub sp, #44 @ 0x2c 7000ed30: 4616 mov r6, r2 7000ed32: 4604 mov r4, r0 7000ed34: 460d mov r5, r1 7000ed36: 461f mov r7, r3 7000ed38: f7ff ff72 bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 7000ed3c: 6803 ldr r3, [r0, #0] 7000ed3e: 6b1b ldr r3, [r3, #48] @ 0x30 7000ed40: 4798 blx r3 7000ed42: f89d 2054 ldrb.w r2, [sp, #84] @ 0x54 7000ed46: 6823 ldr r3, [r4, #0] 7000ed48: 4629 mov r1, r5 7000ed4a: 9007 str r0, [sp, #28] 7000ed4c: e9cd 0208 strd r0, r2, [sp, #32] 7000ed50: 4a0c ldr r2, [pc, #48] @ (7000ed84 <_ZN8touchgfx3HAL8blitCopyEPKtttttthbb+0x58>) 7000ed52: 4620 mov r0, r4 7000ed54: 8812 ldrh r2, [r2, #0] 7000ed56: 9206 str r2, [sp, #24] 7000ed58: f89d 2050 ldrb.w r2, [sp, #80] @ 0x50 7000ed5c: 9205 str r2, [sp, #20] 7000ed5e: f89d 204c ldrb.w r2, [sp, #76] @ 0x4c 7000ed62: 9204 str r2, [sp, #16] 7000ed64: f8bd 2048 ldrh.w r2, [sp, #72] @ 0x48 7000ed68: 9203 str r2, [sp, #12] 7000ed6a: f8bd 2044 ldrh.w r2, [sp, #68] @ 0x44 7000ed6e: 9202 str r2, [sp, #8] 7000ed70: f8bd 2040 ldrh.w r2, [sp, #64] @ 0x40 7000ed74: e9cd 7200 strd r7, r2, [sp] 7000ed78: 2200 movs r2, #0 7000ed7a: 6c1f ldr r7, [r3, #64] @ 0x40 7000ed7c: 4633 mov r3, r6 7000ed7e: 47b8 blx r7 7000ed80: b00b add sp, #44 @ 0x2c 7000ed82: bdf0 pop {r4, r5, r6, r7, pc} 7000ed84: 2400da78 .word 0x2400da78 7000ed88 <_ZN8touchgfx3HAL16blitCopyARGB8888EPKtttttthb>: 7000ed88: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7000ed8c: 461f mov r7, r3 7000ed8e: 6803 ldr r3, [r0, #0] 7000ed90: b08b sub sp, #44 @ 0x2c 7000ed92: 4616 mov r6, r2 7000ed94: f8d3 8040 ldr.w r8, [r3, #64] @ 0x40 7000ed98: 460d mov r5, r1 7000ed9a: 4b13 ldr r3, [pc, #76] @ (7000ede8 <_ZN8touchgfx3HAL16blitCopyARGB8888EPKtttttthb+0x60>) 7000ed9c: 4604 mov r4, r0 7000ed9e: f8b3 9000 ldrh.w r9, [r3] 7000eda2: f7ff ff3d bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 7000eda6: 6803 ldr r3, [r0, #0] 7000eda8: 6b1b ldr r3, [r3, #48] @ 0x30 7000edaa: 4798 blx r3 7000edac: f89d 3058 ldrb.w r3, [sp, #88] @ 0x58 7000edb0: 2200 movs r2, #0 7000edb2: 4629 mov r1, r5 7000edb4: e9cd 0308 strd r0, r3, [sp, #32] 7000edb8: 2302 movs r3, #2 7000edba: 4620 mov r0, r4 7000edbc: e9cd 9306 strd r9, r3, [sp, #24] 7000edc0: 2301 movs r3, #1 7000edc2: 9305 str r3, [sp, #20] 7000edc4: f89d 3054 ldrb.w r3, [sp, #84] @ 0x54 7000edc8: 9304 str r3, [sp, #16] 7000edca: f8bd 3050 ldrh.w r3, [sp, #80] @ 0x50 7000edce: 9303 str r3, [sp, #12] 7000edd0: f8bd 304c ldrh.w r3, [sp, #76] @ 0x4c 7000edd4: 9302 str r3, [sp, #8] 7000edd6: f8bd 3048 ldrh.w r3, [sp, #72] @ 0x48 7000edda: e9cd 7300 strd r7, r3, [sp] 7000edde: 4633 mov r3, r6 7000ede0: 47c0 blx r8 7000ede2: b00b add sp, #44 @ 0x2c 7000ede4: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7000ede8: 2400da78 .word 0x2400da78 7000edec <_ZN8touchgfx3HAL8blitFillENS_9colortypeEtttthb>: 7000edec: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7000edf0: 461f mov r7, r3 7000edf2: 6803 ldr r3, [r0, #0] 7000edf4: b087 sub sp, #28 7000edf6: 460d mov r5, r1 7000edf8: f8d3 805c ldr.w r8, [r3, #92] @ 0x5c 7000edfc: 4616 mov r6, r2 7000edfe: 4b10 ldr r3, [pc, #64] @ (7000ee40 <_ZN8touchgfx3HAL8blitFillENS_9colortypeEtttthb+0x54>) 7000ee00: 4604 mov r4, r0 7000ee02: f8b3 9000 ldrh.w r9, [r3] 7000ee06: f7ff ff0b bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 7000ee0a: 6803 ldr r3, [r0, #0] 7000ee0c: 6b1b ldr r3, [r3, #48] @ 0x30 7000ee0e: 4798 blx r3 7000ee10: f89d 3044 ldrb.w r3, [sp, #68] @ 0x44 7000ee14: 4632 mov r2, r6 7000ee16: 4629 mov r1, r5 7000ee18: f8cd 900c str.w r9, [sp, #12] 7000ee1c: e9cd 0304 strd r0, r3, [sp, #16] 7000ee20: f89d 3040 ldrb.w r3, [sp, #64] @ 0x40 7000ee24: 4620 mov r0, r4 7000ee26: 9302 str r3, [sp, #8] 7000ee28: f8bd 303c ldrh.w r3, [sp, #60] @ 0x3c 7000ee2c: 9301 str r3, [sp, #4] 7000ee2e: f8bd 3038 ldrh.w r3, [sp, #56] @ 0x38 7000ee32: 9300 str r3, [sp, #0] 7000ee34: 463b mov r3, r7 7000ee36: 47c0 blx r8 7000ee38: b007 add sp, #28 7000ee3a: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7000ee3e: bf00 nop 7000ee40: 2400da78 .word 0x2400da78 7000ee44 <_ZN8touchgfx3HAL20getClientFrameBufferEv>: 7000ee44: 4b07 ldr r3, [pc, #28] @ (7000ee64 <_ZN8touchgfx3HAL20getClientFrameBufferEv+0x20>) 7000ee46: b510 push {r4, lr} 7000ee48: 781b ldrb r3, [r3, #0] 7000ee4a: 4604 mov r4, r0 7000ee4c: b13b cbz r3, 7000ee5e <_ZN8touchgfx3HAL20getClientFrameBufferEv+0x1a> 7000ee4e: 6803 ldr r3, [r0, #0] 7000ee50: 6b5b ldr r3, [r3, #52] @ 0x34 7000ee52: 4798 blx r3 7000ee54: 6c23 ldr r3, [r4, #64] @ 0x40 7000ee56: 4283 cmp r3, r0 7000ee58: d101 bne.n 7000ee5e <_ZN8touchgfx3HAL20getClientFrameBufferEv+0x1a> 7000ee5a: 6c60 ldr r0, [r4, #68] @ 0x44 7000ee5c: e000 b.n 7000ee60 <_ZN8touchgfx3HAL20getClientFrameBufferEv+0x1c> 7000ee5e: 6c20 ldr r0, [r4, #64] @ 0x40 7000ee60: bd10 pop {r4, pc} 7000ee62: bf00 nop 7000ee64: 2400da74 .word 0x2400da74 7000ee68 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE>: 7000ee68: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000ee6c: 4604 mov r4, r0 7000ee6e: b08f sub sp, #60 @ 0x3c 7000ee70: 4610 mov r0, r2 7000ee72: 460d mov r5, r1 7000ee74: 4691 mov r9, r2 7000ee76: 461e mov r6, r3 7000ee78: f005 fadc bl 70014434 <_ZN8touchgfx6Bitmap23dynamicBitmapGetAddressEt> 7000ee7c: 2800 cmp r0, #0 7000ee7e: f000 80d0 beq.w 7000f022 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1ba> 7000ee82: 6823 ldr r3, [r4, #0] 7000ee84: 4620 mov r0, r4 7000ee86: f8df a1ac ldr.w sl, [pc, #428] @ 7000f034 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1cc> 7000ee8a: 6adb ldr r3, [r3, #44] @ 0x2c 7000ee8c: 4798 blx r3 7000ee8e: 6823 ldr r3, [r4, #0] 7000ee90: 4620 mov r0, r4 7000ee92: f8df 81a4 ldr.w r8, [pc, #420] @ 7000f038 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1d0> 7000ee96: 6b1b ldr r3, [r3, #48] @ 0x30 7000ee98: 4798 blx r3 7000ee9a: f8ba 3000 ldrh.w r3, [sl] 7000ee9e: 4f62 ldr r7, [pc, #392] @ (7000f028 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1c0>) 7000eea0: a807 add r0, sp, #28 7000eea2: 9301 str r3, [sp, #4] 7000eea4: f8b8 3000 ldrh.w r3, [r8] 7000eea8: f8df b184 ldr.w fp, [pc, #388] @ 7000f030 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1c8> 7000eeac: 9302 str r3, [sp, #8] 7000eeae: 883b ldrh r3, [r7, #0] 7000eeb0: f8ad 901c strh.w r9, [sp, #28] 7000eeb4: 9303 str r3, [sp, #12] 7000eeb6: f8bb 3000 ldrh.w r3, [fp] 7000eeba: 9304 str r3, [sp, #16] 7000eebc: f005 fb52 bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 7000eec0: 8038 strh r0, [r7, #0] 7000eec2: a807 add r0, sp, #28 7000eec4: f005 fb82 bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 7000eec8: 4b58 ldr r3, [pc, #352] @ (7000f02c <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1c4>) 7000eeca: b280 uxth r0, r0 7000eecc: 781b ldrb r3, [r3, #0] 7000eece: f8ab 0000 strh.w r0, [fp] 7000eed2: b91b cbnz r3, 7000eedc <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x74> 7000eed4: 883b ldrh r3, [r7, #0] 7000eed6: f8aa 3000 strh.w r3, [sl] 7000eeda: e002 b.n 7000eee2 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x7a> 7000eedc: f8aa 0000 strh.w r0, [sl] 7000eee0: 8838 ldrh r0, [r7, #0] 7000eee2: f8a8 0000 strh.w r0, [r8] 7000eee6: 4648 mov r0, r9 7000eee8: e9d4 8710 ldrd r8, r7, [r4, #64] @ 0x40 7000eeec: f005 faa2 bl 70014434 <_ZN8touchgfx6Bitmap23dynamicBitmapGetAddressEt> 7000eef0: 4601 mov r1, r0 7000eef2: e9c4 0010 strd r0, r0, [r4, #64] @ 0x40 7000eef6: 69e0 ldr r0, [r4, #28] 7000eef8: b120 cbz r0, 7000ef04 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x9c> 7000eefa: 6803 ldr r3, [r0, #0] 7000eefc: f8ba 2000 ldrh.w r2, [sl] 7000ef00: 681b ldr r3, [r3, #0] 7000ef02: 4798 blx r3 7000ef04: 2200 movs r2, #0 7000ef06: 4628 mov r0, r5 7000ef08: f9b5 9004 ldrsh.w r9, [r5, #4] 7000ef0c: 4611 mov r1, r2 7000ef0e: f9b5 a006 ldrsh.w sl, [r5, #6] 7000ef12: f7f5 f80e bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7000ef16: 2301 movs r3, #1 7000ef18: f895 b025 ldrb.w fp, [r5, #37] @ 0x25 7000ef1c: f885 3025 strb.w r3, [r5, #37] @ 0x25 7000ef20: f9b6 2004 ldrsh.w r2, [r6, #4] 7000ef24: f9b6 3006 ldrsh.w r3, [r6, #6] 7000ef28: 2a00 cmp r2, #0 7000ef2a: f105 0204 add.w r2, r5, #4 7000ef2e: dd0a ble.n 7000ef46 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0xde> 7000ef30: 2b00 cmp r3, #0 7000ef32: dd08 ble.n 7000ef46 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0xde> 7000ef34: 6868 ldr r0, [r5, #4] 7000ef36: ab0a add r3, sp, #40 @ 0x28 7000ef38: 6851 ldr r1, [r2, #4] 7000ef3a: c303 stmia r3!, {r0, r1} 7000ef3c: 4631 mov r1, r6 7000ef3e: a80a add r0, sp, #40 @ 0x28 7000ef40: f7ff f918 bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 7000ef44: e003 b.n 7000ef4e <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0xe6> 7000ef46: ab0a add r3, sp, #40 @ 0x28 7000ef48: 6868 ldr r0, [r5, #4] 7000ef4a: 6851 ldr r1, [r2, #4] 7000ef4c: c303 stmia r3!, {r0, r1} 7000ef4e: 4b36 ldr r3, [pc, #216] @ (7000f028 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1c0>) 7000ef50: 2100 movs r1, #0 7000ef52: f9b3 2000 ldrsh.w r2, [r3] 7000ef56: 4b36 ldr r3, [pc, #216] @ (7000f030 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1c8>) 7000ef58: 910c str r1, [sp, #48] @ 0x30 7000ef5a: f9b3 3000 ldrsh.w r3, [r3] 7000ef5e: f8ad 2034 strh.w r2, [sp, #52] @ 0x34 7000ef62: f8ad 3036 strh.w r3, [sp, #54] @ 0x36 7000ef66: ab08 add r3, sp, #32 7000ef68: e9dd 010a ldrd r0, r1, [sp, #40] @ 0x28 7000ef6c: e883 0003 stmia.w r3, {r0, r1} 7000ef70: 4618 mov r0, r3 7000ef72: a90c add r1, sp, #48 @ 0x30 7000ef74: f7ff f8fe bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 7000ef78: 6d23 ldr r3, [r4, #80] @ 0x50 7000ef7a: b90b cbnz r3, 7000ef80 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x118> 7000ef7c: 2000 movs r0, #0 7000ef7e: e019 b.n 7000efb4 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x14c> 7000ef80: a807 add r0, sp, #28 7000ef82: f005 fc67 bl 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv> 7000ef86: 4606 mov r6, r0 7000ef88: 6d20 ldr r0, [r4, #80] @ 0x50 7000ef8a: 6803 ldr r3, [r0, #0] 7000ef8c: 6b1b ldr r3, [r3, #48] @ 0x30 7000ef8e: 4798 blx r3 7000ef90: 4286 cmp r6, r0 7000ef92: d1f3 bne.n 7000ef7c <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x114> 7000ef94: f7ff fe44 bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 7000ef98: 6803 ldr r3, [r0, #0] 7000ef9a: 4606 mov r6, r0 7000ef9c: a807 add r0, sp, #28 7000ef9e: 6b9b ldr r3, [r3, #56] @ 0x38 7000efa0: 9305 str r3, [sp, #20] 7000efa2: f005 fc57 bl 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv> 7000efa6: 9b05 ldr r3, [sp, #20] 7000efa8: 4601 mov r1, r0 7000efaa: 4630 mov r0, r6 7000efac: 4798 blx r3 7000efae: f080 0001 eor.w r0, r0, #1 7000efb2: b2c0 uxtb r0, r0 7000efb4: f884 005c strb.w r0, [r4, #92] @ 0x5c 7000efb8: 2600 movs r6, #0 7000efba: 696b ldr r3, [r5, #20] 7000efbc: 4628 mov r0, r5 7000efbe: 682a ldr r2, [r5, #0] 7000efc0: a908 add r1, sp, #32 7000efc2: 616e str r6, [r5, #20] 7000efc4: 9305 str r3, [sp, #20] 7000efc6: 6892 ldr r2, [r2, #8] 7000efc8: 4790 blx r2 7000efca: 9b05 ldr r3, [sp, #20] 7000efcc: 4649 mov r1, r9 7000efce: 4628 mov r0, r5 7000efd0: 616b str r3, [r5, #20] 7000efd2: 4652 mov r2, sl 7000efd4: f884 605c strb.w r6, [r4, #92] @ 0x5c 7000efd8: f885 b025 strb.w fp, [r5, #37] @ 0x25 7000efdc: f7f4 ffa9 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7000efe0: 4e14 ldr r6, [pc, #80] @ (7000f034 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1cc>) 7000efe2: 9b01 ldr r3, [sp, #4] 7000efe4: 4620 mov r0, r4 7000efe6: 9a02 ldr r2, [sp, #8] 7000efe8: 8033 strh r3, [r6, #0] 7000efea: 4b13 ldr r3, [pc, #76] @ (7000f038 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1d0>) 7000efec: 801a strh r2, [r3, #0] 7000efee: 9a03 ldr r2, [sp, #12] 7000eff0: 4b0d ldr r3, [pc, #52] @ (7000f028 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1c0>) 7000eff2: 801a strh r2, [r3, #0] 7000eff4: 9a04 ldr r2, [sp, #16] 7000eff6: 4b0e ldr r3, [pc, #56] @ (7000f030 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1c8>) 7000eff8: 801a strh r2, [r3, #0] 7000effa: 6823 ldr r3, [r4, #0] 7000effc: e9c4 8710 strd r8, r7, [r4, #64] @ 0x40 7000f000: 6adb ldr r3, [r3, #44] @ 0x2c 7000f002: 4798 blx r3 7000f004: 6823 ldr r3, [r4, #0] 7000f006: 4620 mov r0, r4 7000f008: 6b1b ldr r3, [r3, #48] @ 0x30 7000f00a: 4798 blx r3 7000f00c: 69e5 ldr r5, [r4, #28] 7000f00e: b145 cbz r5, 7000f022 <_ZN8touchgfx3HAL27drawDrawableInDynamicBitmapERNS_8DrawableEtRKNS_4RectE+0x1ba> 7000f010: 682b ldr r3, [r5, #0] 7000f012: 4620 mov r0, r4 7000f014: 681f ldr r7, [r3, #0] 7000f016: f7ff ff15 bl 7000ee44 <_ZN8touchgfx3HAL20getClientFrameBufferEv> 7000f01a: 8832 ldrh r2, [r6, #0] 7000f01c: 4601 mov r1, r0 7000f01e: 4628 mov r0, r5 7000f020: 47b8 blx r7 7000f022: b00f add sp, #60 @ 0x3c 7000f024: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7000f028: 2400da7c .word 0x2400da7c 7000f02c: 2400da72 .word 0x2400da72 7000f030: 2400da7a .word 0x2400da7a 7000f034: 2400da78 .word 0x2400da78 7000f038: 2400da76 .word 0x2400da76 7000f03c <_ZN8touchgfx3HAL12blitCopyWordEPKttttttt>: 7000f03c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 7000f040: 461f mov r7, r3 7000f042: b08a sub sp, #40 @ 0x28 7000f044: f44f 6380 mov.w r3, #1024 @ 0x400 7000f048: 4615 mov r5, r2 7000f04a: f8bd 804c ldrh.w r8, [sp, #76] @ 0x4c 7000f04e: 2400 movs r4, #0 7000f050: 4606 mov r6, r0 7000f052: fb08 5507 mla r5, r8, r7, r5 7000f056: 9404 str r4, [sp, #16] 7000f058: f88d 4020 strb.w r4, [sp, #32] 7000f05c: e9cd 3101 strd r3, r1, [sp, #4] 7000f060: f8bd 3040 ldrh.w r3, [sp, #64] @ 0x40 7000f064: f8ad 3018 strh.w r3, [sp, #24] 7000f068: f8bd 3044 ldrh.w r3, [sp, #68] @ 0x44 7000f06c: f8ad 301a strh.w r3, [sp, #26] 7000f070: f8bd 3048 ldrh.w r3, [sp, #72] @ 0x48 7000f074: f8ad 301c strh.w r3, [sp, #28] 7000f078: f7ff fee4 bl 7000ee44 <_ZN8touchgfx3HAL20getClientFrameBufferEv> 7000f07c: eb00 0045 add.w r0, r0, r5, lsl #1 7000f080: f8ad 801e strh.w r8, [sp, #30] 7000f084: f88d 4021 strb.w r4, [sp, #33] @ 0x21 7000f088: a901 add r1, sp, #4 7000f08a: 9005 str r0, [sp, #20] 7000f08c: 6870 ldr r0, [r6, #4] 7000f08e: f8ad 4022 strh.w r4, [sp, #34] @ 0x22 7000f092: f88d 4024 strb.w r4, [sp, #36] @ 0x24 7000f096: 6803 ldr r3, [r0, #0] 7000f098: 685b ldr r3, [r3, #4] 7000f09a: 4798 blx r3 7000f09c: b00a add sp, #40 @ 0x28 7000f09e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 7000f0a2 <_ZN8touchgfx3HAL12blitFillWordEtttttt>: 7000f0a2: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7000f0a6: b08b sub sp, #44 @ 0x2c 7000f0a8: 4615 mov r5, r2 7000f0aa: 4698 mov r8, r3 7000f0ac: 2400 movs r4, #0 7000f0ae: f8bd 9050 ldrh.w r9, [sp, #80] @ 0x50 7000f0b2: f44f 6300 mov.w r3, #2048 @ 0x800 7000f0b6: 460f mov r7, r1 7000f0b8: 4606 mov r6, r0 7000f0ba: fb09 5508 mla r5, r9, r8, r5 7000f0be: 9404 str r4, [sp, #16] 7000f0c0: e9cd 3401 strd r3, r4, [sp, #4] 7000f0c4: f7ff febe bl 7000ee44 <_ZN8touchgfx3HAL20getClientFrameBufferEv> 7000f0c8: f8bd 3048 ldrh.w r3, [sp, #72] @ 0x48 7000f0cc: eb00 0045 add.w r0, r0, r5, lsl #1 7000f0d0: f8ad 401c strh.w r4, [sp, #28] 7000f0d4: f8ad 3018 strh.w r3, [sp, #24] 7000f0d8: a901 add r1, sp, #4 7000f0da: 9005 str r0, [sp, #20] 7000f0dc: f8bd 304c ldrh.w r3, [sp, #76] @ 0x4c 7000f0e0: 6870 ldr r0, [r6, #4] 7000f0e2: f8ad 301a strh.w r3, [sp, #26] 7000f0e6: f8ad 901e strh.w r9, [sp, #30] 7000f0ea: 9704 str r7, [sp, #16] 7000f0ec: 9408 str r4, [sp, #32] 7000f0ee: f88d 4024 strb.w r4, [sp, #36] @ 0x24 7000f0f2: 6803 ldr r3, [r0, #0] 7000f0f4: 685b ldr r3, [r3, #4] 7000f0f6: 4798 blx r3 7000f0f8: b00b add sp, #44 @ 0x2c 7000f0fa: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} ... 7000f100 <_ZNK8touchgfx3HAL13getDstAddressEttPttNS_6Bitmap12BitmapFormatE>: 7000f100: b510 push {r4, lr} 7000f102: f89d 000c ldrb.w r0, [sp, #12] 7000f106: 280b cmp r0, #11 7000f108: bf96 itet ls 7000f10a: 4c05 ldrls r4, [pc, #20] @ (7000f120 <_ZNK8touchgfx3HAL13getDstAddressEttPttNS_6Bitmap12BitmapFormatE+0x20>) 7000f10c: 2400 movhi r4, #0 7000f10e: 5c24 ldrbls r4, [r4, r0] 7000f110: f8bd 0008 ldrh.w r0, [sp, #8] 7000f114: 08e4 lsrs r4, r4, #3 7000f116: fb02 1000 mla r0, r2, r0, r1 7000f11a: fb04 3000 mla r0, r4, r0, r3 7000f11e: bd10 pop {r4, pc} 7000f120: 7003f8e0 .word 0x7003f8e0 7000f124 <_ZN8touchgfx3HAL8blitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_b>: 7000f124: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7000f128: b08d sub sp, #52 @ 0x34 7000f12a: 4604 mov r4, r0 7000f12c: 461e mov r6, r3 7000f12e: f89d 506c ldrb.w r5, [sp, #108] @ 0x6c 7000f132: f89d 3060 ldrb.w r3, [sp, #96] @ 0x60 7000f136: 2d0b cmp r5, #11 7000f138: f89d 0064 ldrb.w r0, [sp, #100] @ 0x64 7000f13c: f8bd 9068 ldrh.w r9, [sp, #104] @ 0x68 7000f140: f89d 8070 ldrb.w r8, [sp, #112] @ 0x70 7000f144: d013 beq.n 7000f16e <_ZN8touchgfx3HAL8blitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_b+0x4a> 7000f146: 2d02 cmp r5, #2 7000f148: d108 bne.n 7000f15c <_ZN8touchgfx3HAL8blitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_b+0x38> 7000f14a: 2bff cmp r3, #255 @ 0xff 7000f14c: d104 bne.n 7000f158 <_ZN8touchgfx3HAL8blitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_b+0x34> 7000f14e: 2800 cmp r0, #0 7000f150: bf14 ite ne 7000f152: 2040 movne r0, #64 @ 0x40 7000f154: 2020 moveq r0, #32 7000f156: e00b b.n 7000f170 <_ZN8touchgfx3HAL8blitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_b+0x4c> 7000f158: 2040 movs r0, #64 @ 0x40 7000f15a: e009 b.n 7000f170 <_ZN8touchgfx3HAL8blitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_b+0x4c> 7000f15c: 2bff cmp r3, #255 @ 0xff 7000f15e: d104 bne.n 7000f16a <_ZN8touchgfx3HAL8blitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_b+0x46> 7000f160: 2800 cmp r0, #0 7000f162: bf14 ite ne 7000f164: 2004 movne r0, #4 7000f166: 2001 moveq r0, #1 7000f168: e002 b.n 7000f170 <_ZN8touchgfx3HAL8blitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_b+0x4c> 7000f16a: 2004 movs r0, #4 7000f16c: e000 b.n 7000f170 <_ZN8touchgfx3HAL8blitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_b+0x4c> 7000f16e: 2080 movs r0, #128 @ 0x80 7000f170: 9205 str r2, [sp, #20] 7000f172: 2700 movs r7, #0 7000f174: f8bd 2054 ldrh.w r2, [sp, #84] @ 0x54 7000f178: f88d 3028 strb.w r3, [sp, #40] @ 0x28 7000f17c: f8ad 2020 strh.w r2, [sp, #32] 7000f180: f8bd 2058 ldrh.w r2, [sp, #88] @ 0x58 7000f184: 9706 str r7, [sp, #24] 7000f186: f8ad 2022 strh.w r2, [sp, #34] @ 0x22 7000f18a: f8bd 205c ldrh.w r2, [sp, #92] @ 0x5c 7000f18e: e9cd 0103 strd r0, r1, [sp, #12] 7000f192: 4620 mov r0, r4 7000f194: f8ad 2024 strh.w r2, [sp, #36] @ 0x24 7000f198: f7ff fe54 bl 7000ee44 <_ZN8touchgfx3HAL20getClientFrameBufferEv> 7000f19c: f8bd 2050 ldrh.w r2, [sp, #80] @ 0x50 7000f1a0: 4603 mov r3, r0 7000f1a2: 4631 mov r1, r6 7000f1a4: 4620 mov r0, r4 7000f1a6: e9cd 9800 strd r9, r8, [sp] 7000f1aa: f7ff ffa9 bl 7000f100 <_ZNK8touchgfx3HAL13getDstAddressEttPttNS_6Bitmap12BitmapFormatE> 7000f1ae: f89d 3074 ldrb.w r3, [sp, #116] @ 0x74 7000f1b2: 9007 str r0, [sp, #28] 7000f1b4: a903 add r1, sp, #12 7000f1b6: 6860 ldr r0, [r4, #4] 7000f1b8: f8ad 9026 strh.w r9, [sp, #38] @ 0x26 7000f1bc: f88d 5029 strb.w r5, [sp, #41] @ 0x29 7000f1c0: f88d 802a strb.w r8, [sp, #42] @ 0x2a 7000f1c4: f88d 302b strb.w r3, [sp, #43] @ 0x2b 7000f1c8: f88d 702c strb.w r7, [sp, #44] @ 0x2c 7000f1cc: 6803 ldr r3, [r0, #0] 7000f1ce: 685b ldr r3, [r3, #4] 7000f1d0: 4798 blx r3 7000f1d2: b00d add sp, #52 @ 0x34 7000f1d4: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7000f1d8 <_ZN8touchgfx3HAL8blitFillENS_9colortypeEtttthtNS_6Bitmap12BitmapFormatEb>: 7000f1d8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000f1dc: b08d sub sp, #52 @ 0x34 7000f1de: 4615 mov r5, r2 7000f1e0: 4680 mov r8, r0 7000f1e2: 469b mov fp, r3 7000f1e4: f89d a060 ldrb.w sl, [sp, #96] @ 0x60 7000f1e8: 2300 movs r3, #0 7000f1ea: f8bd 7064 ldrh.w r7, [sp, #100] @ 0x64 7000f1ee: 460c mov r4, r1 7000f1f0: f1ba 0fff cmp.w sl, #255 @ 0xff 7000f1f4: f89d 6068 ldrb.w r6, [sp, #104] @ 0x68 7000f1f8: 9306 str r3, [sp, #24] 7000f1fa: bf0c ite eq 7000f1fc: 2202 moveq r2, #2 7000f1fe: 2208 movne r2, #8 7000f200: f8bd 9058 ldrh.w r9, [sp, #88] @ 0x58 7000f204: e9cd 2303 strd r2, r3, [sp, #12] 7000f208: f7ff fe1c bl 7000ee44 <_ZN8touchgfx3HAL20getClientFrameBufferEv> 7000f20c: 465a mov r2, fp 7000f20e: 4603 mov r3, r0 7000f210: 4629 mov r1, r5 7000f212: 4640 mov r0, r8 7000f214: e9cd 7600 strd r7, r6, [sp] 7000f218: f7ff ff72 bl 7000f100 <_ZNK8touchgfx3HAL13getDstAddressEttPttNS_6Bitmap12BitmapFormatE> 7000f21c: 9007 str r0, [sp, #28] 7000f21e: b9c6 cbnz r6, 7000f252 <_ZN8touchgfx3HAL8blitFillENS_9colortypeEtttthtNS_6Bitmap12BitmapFormatEb+0x7a> 7000f220: f1ba 0fff cmp.w sl, #255 @ 0xff 7000f224: d115 bne.n 7000f252 <_ZN8touchgfx3HAL8blitFillENS_9colortypeEtttthtNS_6Bitmap12BitmapFormatEb+0x7a> 7000f226: 0962 lsrs r2, r4, #5 7000f228: 4b1a ldr r3, [pc, #104] @ (7000f294 <_ZN8touchgfx3HAL8blitFillENS_9colortypeEtttthtNS_6Bitmap12BitmapFormatEb+0xbc>) 7000f22a: f402 62fc and.w r2, r2, #2016 @ 0x7e0 7000f22e: ea03 2314 and.w r3, r3, r4, lsr #8 7000f232: f3c4 04c4 ubfx r4, r4, #3, #5 7000f236: 4313 orrs r3, r2 7000f238: 431c orrs r4, r3 7000f23a: ea47 0309 orr.w r3, r7, r9 7000f23e: 431d orrs r5, r3 7000f240: b2a4 uxth r4, r4 7000f242: 07eb lsls r3, r5, #31 7000f244: bf5f itttt pl 7000f246: 087f lsrpl r7, r7, #1 7000f248: 2602 movpl r6, #2 7000f24a: ea4f 0959 movpl.w r9, r9, lsr #1 7000f24e: eb04 4404 addpl.w r4, r4, r4, lsl #16 7000f252: f8bd 305c ldrh.w r3, [sp, #92] @ 0x5c 7000f256: a903 add r1, sp, #12 7000f258: f89d 206c ldrb.w r2, [sp, #108] @ 0x6c 7000f25c: f8ad 3022 strh.w r3, [sp, #34] @ 0x22 7000f260: 2300 movs r3, #0 7000f262: f8d8 0004 ldr.w r0, [r8, #4] 7000f266: f8ad 9020 strh.w r9, [sp, #32] 7000f26a: f8ad 3024 strh.w r3, [sp, #36] @ 0x24 7000f26e: f8ad 7026 strh.w r7, [sp, #38] @ 0x26 7000f272: 9406 str r4, [sp, #24] 7000f274: f88d a028 strb.w sl, [sp, #40] @ 0x28 7000f278: f88d 202b strb.w r2, [sp, #43] @ 0x2b 7000f27c: f88d 302c strb.w r3, [sp, #44] @ 0x2c 7000f280: f88d 6029 strb.w r6, [sp, #41] @ 0x29 7000f284: f88d 602a strb.w r6, [sp, #42] @ 0x2a 7000f288: 6803 ldr r3, [r0, #0] 7000f28a: 685b ldr r3, [r3, #4] 7000f28c: 4798 blx r3 7000f28e: b00d add sp, #52 @ 0x34 7000f290: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7000f294: fffff800 .word 0xfffff800 7000f298 <_ZNK8touchgfx3HAL13getDstAddressEttPt>: 7000f298: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr} 7000f29c: 461f mov r7, r3 7000f29e: 4b0b ldr r3, [pc, #44] @ (7000f2cc <_ZNK8touchgfx3HAL13getDstAddressEttPt+0x34>) 7000f2a0: 460d mov r5, r1 7000f2a2: 4616 mov r6, r2 7000f2a4: f8b3 8000 ldrh.w r8, [r3] 7000f2a8: 4604 mov r4, r0 7000f2aa: f7ff fcb9 bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 7000f2ae: 6803 ldr r3, [r0, #0] 7000f2b0: 6b1b ldr r3, [r3, #48] @ 0x30 7000f2b2: 4798 blx r3 7000f2b4: 463b mov r3, r7 7000f2b6: 4632 mov r2, r6 7000f2b8: 4629 mov r1, r5 7000f2ba: e9cd 8000 strd r8, r0, [sp] 7000f2be: 4620 mov r0, r4 7000f2c0: f7ff ff1e bl 7000f100 <_ZNK8touchgfx3HAL13getDstAddressEttPttNS_6Bitmap12BitmapFormatE> 7000f2c4: b002 add sp, #8 7000f2c6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 7000f2ca: bf00 nop 7000f2cc: 2400da78 .word 0x2400da78 7000f2d0 <_ZN8touchgfx3HAL13blitCopyGlyphEPKhtttttNS_9colortypeEhNS_14BlitOperationsEb>: 7000f2d0: b5f0 push {r4, r5, r6, r7, lr} 7000f2d2: b08b sub sp, #44 @ 0x2c 7000f2d4: 461e mov r6, r3 7000f2d6: 4604 mov r4, r0 7000f2d8: 4615 mov r5, r2 7000f2da: f8bd 3054 ldrh.w r3, [sp, #84] @ 0x54 7000f2de: 2700 movs r7, #0 7000f2e0: e9cd 3101 strd r3, r1, [sp, #4] 7000f2e4: f8bd 3040 ldrh.w r3, [sp, #64] @ 0x40 7000f2e8: 9704 str r7, [sp, #16] 7000f2ea: f8ad 3018 strh.w r3, [sp, #24] 7000f2ee: f8bd 3044 ldrh.w r3, [sp, #68] @ 0x44 7000f2f2: f8ad 301a strh.w r3, [sp, #26] 7000f2f6: f8bd 3048 ldrh.w r3, [sp, #72] @ 0x48 7000f2fa: f8ad 301c strh.w r3, [sp, #28] 7000f2fe: f89d 3050 ldrb.w r3, [sp, #80] @ 0x50 7000f302: f88d 3020 strb.w r3, [sp, #32] 7000f306: f7ff fd9d bl 7000ee44 <_ZN8touchgfx3HAL20getClientFrameBufferEv> 7000f30a: 4632 mov r2, r6 7000f30c: 4629 mov r1, r5 7000f30e: 4603 mov r3, r0 7000f310: 4620 mov r0, r4 7000f312: f7ff ffc1 bl 7000f298 <_ZNK8touchgfx3HAL13getDstAddressEttPt> 7000f316: 4b0e ldr r3, [pc, #56] @ (7000f350 <_ZN8touchgfx3HAL13blitCopyGlyphEPKhtttttNS_9colortypeEhNS_14BlitOperationsEb+0x80>) 7000f318: 9005 str r0, [sp, #20] 7000f31a: 881b ldrh r3, [r3, #0] 7000f31c: f8ad 301e strh.w r3, [sp, #30] 7000f320: f7ff fc7e bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 7000f324: 6803 ldr r3, [r0, #0] 7000f326: 6b1b ldr r3, [r3, #48] @ 0x30 7000f328: 4798 blx r3 7000f32a: 9b13 ldr r3, [sp, #76] @ 0x4c 7000f32c: f88d 0022 strb.w r0, [sp, #34] @ 0x22 7000f330: a901 add r1, sp, #4 7000f332: f88d 0021 strb.w r0, [sp, #33] @ 0x21 7000f336: 9304 str r3, [sp, #16] 7000f338: 6860 ldr r0, [r4, #4] 7000f33a: f89d 3058 ldrb.w r3, [sp, #88] @ 0x58 7000f33e: f88d 7024 strb.w r7, [sp, #36] @ 0x24 7000f342: f88d 3023 strb.w r3, [sp, #35] @ 0x23 7000f346: 6803 ldr r3, [r0, #0] 7000f348: 685b ldr r3, [r3, #4] 7000f34a: 4798 blx r3 7000f34c: b00b add sp, #44 @ 0x2c 7000f34e: bdf0 pop {r4, r5, r6, r7, pc} 7000f350: 2400da78 .word 0x2400da78 7000f354 <_ZN8touchgfx3HAL20copyFBRegionToMemoryENS_4RectE>: 7000f354: b5f0 push {r4, r5, r6, r7, lr} 7000f356: b08d sub sp, #52 @ 0x34 7000f358: 2501 movs r5, #1 7000f35a: 4604 mov r4, r0 7000f35c: 466b mov r3, sp 7000f35e: 9503 str r5, [sp, #12] 7000f360: e883 0006 stmia.w r3, {r1, r2} 7000f364: 2300 movs r3, #0 7000f366: f8bd 6000 ldrh.w r6, [sp] 7000f36a: f8bd 7002 ldrh.w r7, [sp, #2] 7000f36e: 9306 str r3, [sp, #24] 7000f370: 6803 ldr r3, [r0, #0] 7000f372: 6b5b ldr r3, [r3, #52] @ 0x34 7000f374: 4798 blx r3 7000f376: 463a mov r2, r7 7000f378: 4631 mov r1, r6 7000f37a: 4603 mov r3, r0 7000f37c: 4620 mov r0, r4 7000f37e: f7ff ff8b bl 7000f298 <_ZNK8touchgfx3HAL13getDstAddressEttPt> 7000f382: 6ca3 ldr r3, [r4, #72] @ 0x48 7000f384: 9004 str r0, [sp, #16] 7000f386: 9307 str r3, [sp, #28] 7000f388: f8bd 3004 ldrh.w r3, [sp, #4] 7000f38c: f8ad 3020 strh.w r3, [sp, #32] 7000f390: f8bd 3006 ldrh.w r3, [sp, #6] 7000f394: f8ad 3022 strh.w r3, [sp, #34] @ 0x22 7000f398: 4b0e ldr r3, [pc, #56] @ (7000f3d4 <_ZN8touchgfx3HAL20copyFBRegionToMemoryENS_4RectE+0x80>) 7000f39a: 881b ldrh r3, [r3, #0] 7000f39c: f8ad 3024 strh.w r3, [sp, #36] @ 0x24 7000f3a0: f8ad 3026 strh.w r3, [sp, #38] @ 0x26 7000f3a4: f7ff fc3c bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 7000f3a8: 6803 ldr r3, [r0, #0] 7000f3aa: 6b1b ldr r3, [r3, #48] @ 0x30 7000f3ac: 4798 blx r3 7000f3ae: 23ff movs r3, #255 @ 0xff 7000f3b0: f88d 0029 strb.w r0, [sp, #41] @ 0x29 7000f3b4: a903 add r1, sp, #12 7000f3b6: f88d 002a strb.w r0, [sp, #42] @ 0x2a 7000f3ba: 6860 ldr r0, [r4, #4] 7000f3bc: f88d 3028 strb.w r3, [sp, #40] @ 0x28 7000f3c0: f88d 502b strb.w r5, [sp, #43] @ 0x2b 7000f3c4: f88d 502c strb.w r5, [sp, #44] @ 0x2c 7000f3c8: 6803 ldr r3, [r0, #0] 7000f3ca: 685b ldr r3, [r3, #4] 7000f3cc: 4798 blx r3 7000f3ce: 6ca0 ldr r0, [r4, #72] @ 0x48 7000f3d0: b00d add sp, #52 @ 0x34 7000f3d2: bdf0 pop {r4, r5, r6, r7, pc} 7000f3d4: 2400da78 .word 0x2400da78 7000f3d8 <_ZN8touchgfx3HAL20copyFBRegionToMemoryENS_4RectEPtm>: 7000f3d8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 7000f3dc: b08c sub sp, #48 @ 0x30 7000f3de: 2601 movs r6, #1 7000f3e0: 4604 mov r4, r0 7000f3e2: 466d mov r5, sp 7000f3e4: 9603 str r6, [sp, #12] 7000f3e6: e885 0006 stmia.w r5, {r1, r2} 7000f3ea: 461d mov r5, r3 7000f3ec: 2300 movs r3, #0 7000f3ee: f8bd 7000 ldrh.w r7, [sp] 7000f3f2: 9306 str r3, [sp, #24] 7000f3f4: 6803 ldr r3, [r0, #0] 7000f3f6: f8bd 8002 ldrh.w r8, [sp, #2] 7000f3fa: 6b5b ldr r3, [r3, #52] @ 0x34 7000f3fc: 4798 blx r3 7000f3fe: 4642 mov r2, r8 7000f400: 4639 mov r1, r7 7000f402: 4603 mov r3, r0 7000f404: 4620 mov r0, r4 7000f406: f7ff ff47 bl 7000f298 <_ZNK8touchgfx3HAL13getDstAddressEttPt> 7000f40a: f8bd 3004 ldrh.w r3, [sp, #4] 7000f40e: 9004 str r0, [sp, #16] 7000f410: f8ad 3020 strh.w r3, [sp, #32] 7000f414: f8bd 3006 ldrh.w r3, [sp, #6] 7000f418: 9507 str r5, [sp, #28] 7000f41a: f8ad 3022 strh.w r3, [sp, #34] @ 0x22 7000f41e: 4b10 ldr r3, [pc, #64] @ (7000f460 <_ZN8touchgfx3HAL20copyFBRegionToMemoryENS_4RectEPtm+0x88>) 7000f420: 881b ldrh r3, [r3, #0] 7000f422: f8ad 3024 strh.w r3, [sp, #36] @ 0x24 7000f426: 9b12 ldr r3, [sp, #72] @ 0x48 7000f428: f8ad 3026 strh.w r3, [sp, #38] @ 0x26 7000f42c: f7ff fbf8 bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 7000f430: 6803 ldr r3, [r0, #0] 7000f432: 6b1b ldr r3, [r3, #48] @ 0x30 7000f434: 4798 blx r3 7000f436: 23ff movs r3, #255 @ 0xff 7000f438: f88d 0029 strb.w r0, [sp, #41] @ 0x29 7000f43c: a903 add r1, sp, #12 7000f43e: f88d 002a strb.w r0, [sp, #42] @ 0x2a 7000f442: 6860 ldr r0, [r4, #4] 7000f444: f88d 3028 strb.w r3, [sp, #40] @ 0x28 7000f448: f88d 602b strb.w r6, [sp, #43] @ 0x2b 7000f44c: f88d 602c strb.w r6, [sp, #44] @ 0x2c 7000f450: 6803 ldr r3, [r0, #0] 7000f452: 685b ldr r3, [r3, #4] 7000f454: 4798 blx r3 7000f456: 4628 mov r0, r5 7000f458: b00c add sp, #48 @ 0x30 7000f45a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 7000f45e: bf00 nop 7000f460: 2400da78 .word 0x2400da78 7000f464 <_ZN8touchgfx3HAL25copyFromTFTToClientBufferENS_4RectE>: 7000f464: b5f0 push {r4, r5, r6, r7, lr} 7000f466: b085 sub sp, #20 7000f468: 4604 mov r4, r0 7000f46a: ad02 add r5, sp, #8 7000f46c: e885 0006 stmia.w r5, {r1, r2} 7000f470: f8bd 6008 ldrh.w r6, [sp, #8] 7000f474: f8bd 700a ldrh.w r7, [sp, #10] 7000f478: f7ff fce4 bl 7000ee44 <_ZN8touchgfx3HAL20getClientFrameBufferEv> 7000f47c: 4631 mov r1, r6 7000f47e: 4603 mov r3, r0 7000f480: 463a mov r2, r7 7000f482: 4620 mov r0, r4 7000f484: f7ff ff08 bl 7000f298 <_ZNK8touchgfx3HAL13getDstAddressEttPt> 7000f488: 4905 ldr r1, [pc, #20] @ (7000f4a0 <_ZN8touchgfx3HAL25copyFromTFTToClientBufferENS_4RectE+0x3c>) 7000f48a: 6822 ldr r2, [r4, #0] 7000f48c: 4603 mov r3, r0 7000f48e: 8809 ldrh r1, [r1, #0] 7000f490: 4620 mov r0, r4 7000f492: 9100 str r1, [sp, #0] 7000f494: 6f16 ldr r6, [r2, #112] @ 0x70 7000f496: e895 0006 ldmia.w r5, {r1, r2} 7000f49a: 47b0 blx r6 7000f49c: b005 add sp, #20 7000f49e: bdf0 pop {r4, r5, r6, r7, pc} 7000f4a0: 2400da78 .word 0x2400da78 7000f4a4 <_ZN8touchgfx3HAL16swapFrameBuffersEv>: 7000f4a4: b570 push {r4, r5, r6, lr} 7000f4a6: f890 3072 ldrb.w r3, [r0, #114] @ 0x72 7000f4aa: 4604 mov r4, r0 7000f4ac: b1fb cbz r3, 7000f4ee <_ZN8touchgfx3HAL16swapFrameBuffersEv+0x4a> 7000f4ae: 2002 movs r0, #2 7000f4b0: f7f2 f9f2 bl 70001898 <_ZN8touchgfx4GPIO6toggleENS0_7GPIO_IDE> 7000f4b4: 2300 movs r3, #0 7000f4b6: 4620 mov r0, r4 7000f4b8: f884 3072 strb.w r3, [r4, #114] @ 0x72 7000f4bc: f884 3071 strb.w r3, [r4, #113] @ 0x71 7000f4c0: 6823 ldr r3, [r4, #0] 7000f4c2: f8d3 50c8 ldr.w r5, [r3, #200] @ 0xc8 7000f4c6: f7ff fcbd bl 7000ee44 <_ZN8touchgfx3HAL20getClientFrameBufferEv> 7000f4ca: 4601 mov r1, r0 7000f4cc: 4620 mov r0, r4 7000f4ce: 47a8 blx r5 7000f4d0: 69e5 ldr r5, [r4, #28] 7000f4d2: b165 cbz r5, 7000f4ee <_ZN8touchgfx3HAL16swapFrameBuffersEv+0x4a> 7000f4d4: 682b ldr r3, [r5, #0] 7000f4d6: 4620 mov r0, r4 7000f4d8: 681e ldr r6, [r3, #0] 7000f4da: f7ff fcb3 bl 7000ee44 <_ZN8touchgfx3HAL20getClientFrameBufferEv> 7000f4de: 4b04 ldr r3, [pc, #16] @ (7000f4f0 <_ZN8touchgfx3HAL16swapFrameBuffersEv+0x4c>) 7000f4e0: 4601 mov r1, r0 7000f4e2: 4628 mov r0, r5 7000f4e4: 881a ldrh r2, [r3, #0] 7000f4e6: 4633 mov r3, r6 7000f4e8: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000f4ec: 4718 bx r3 7000f4ee: bd70 pop {r4, r5, r6, pc} 7000f4f0: 2400da78 .word 0x2400da78 7000f4f4 <_ZN8touchgfx3HAL12setMCUActiveEb>: 7000f4f4: b570 push {r4, r5, r6, lr} 7000f4f6: 4605 mov r5, r0 7000f4f8: 460c mov r4, r1 7000f4fa: 2003 movs r0, #3 7000f4fc: b139 cbz r1, 7000f50e <_ZN8touchgfx3HAL12setMCUActiveEb+0x1a> 7000f4fe: f7f2 f99b bl 70001838 <_ZN8touchgfx4GPIO3setENS0_7GPIO_IDE> 7000f502: 6928 ldr r0, [r5, #16] 7000f504: b168 cbz r0, 7000f522 <_ZN8touchgfx3HAL12setMCUActiveEb+0x2e> 7000f506: 6803 ldr r3, [r0, #0] 7000f508: 2101 movs r1, #1 7000f50a: 695b ldr r3, [r3, #20] 7000f50c: e006 b.n 7000f51c <_ZN8touchgfx3HAL12setMCUActiveEb+0x28> 7000f50e: f7f2 f9ab bl 70001868 <_ZN8touchgfx4GPIO5clearENS0_7GPIO_IDE> 7000f512: 6928 ldr r0, [r5, #16] 7000f514: b128 cbz r0, 7000f522 <_ZN8touchgfx3HAL12setMCUActiveEb+0x2e> 7000f516: 6803 ldr r3, [r0, #0] 7000f518: 4621 mov r1, r4 7000f51a: 695b ldr r3, [r3, #20] 7000f51c: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000f520: 4718 bx r3 7000f522: bd70 pop {r4, r5, r6, pc} 7000f524 <_ZN8touchgfx3HAL18setRenderingMethodENS0_15RenderingMethodE>: 7000f524: b538 push {r3, r4, r5, lr} 7000f526: f890 307f ldrb.w r3, [r0, #127] @ 0x7f 7000f52a: 4604 mov r4, r0 7000f52c: 460d mov r5, r1 7000f52e: 428b cmp r3, r1 7000f530: d009 beq.n 7000f546 <_ZN8touchgfx3HAL18setRenderingMethodENS0_15RenderingMethodE+0x22> 7000f532: 6803 ldr r3, [r0, #0] 7000f534: b911 cbnz r1, 7000f53c <_ZN8touchgfx3HAL18setRenderingMethodENS0_15RenderingMethodE+0x18> 7000f536: f8d3 30d8 ldr.w r3, [r3, #216] @ 0xd8 7000f53a: e001 b.n 7000f540 <_ZN8touchgfx3HAL18setRenderingMethodENS0_15RenderingMethodE+0x1c> 7000f53c: f8d3 30dc ldr.w r3, [r3, #220] @ 0xdc 7000f540: 4798 blx r3 7000f542: f884 507f strb.w r5, [r4, #127] @ 0x7f 7000f546: bd38 pop {r3, r4, r5, pc} 7000f548 <_ZN8touchgfx3HAL15lockFrameBufferEv>: 7000f548: 4b0c ldr r3, [pc, #48] @ (7000f57c <_ZN8touchgfx3HAL15lockFrameBufferEv+0x34>) 7000f54a: b510 push {r4, lr} 7000f54c: 781b ldrb r3, [r3, #0] 7000f54e: 4604 mov r4, r0 7000f550: b953 cbnz r3, 7000f568 <_ZN8touchgfx3HAL15lockFrameBufferEv+0x20> 7000f552: f890 304c ldrb.w r3, [r0, #76] @ 0x4c 7000f556: b93b cbnz r3, 7000f568 <_ZN8touchgfx3HAL15lockFrameBufferEv+0x20> 7000f558: 6840 ldr r0, [r0, #4] 7000f55a: f000 f921 bl 7000f7a0 <_ZN8touchgfx13DMA_Interface15isDmaQueueEmptyEv> 7000f55e: b118 cbz r0, 7000f568 <_ZN8touchgfx3HAL15lockFrameBufferEv+0x20> 7000f560: 6862 ldr r2, [r4, #4] 7000f562: 7a53 ldrb r3, [r2, #9] 7000f564: 2b00 cmp r3, #0 7000f566: d0fc beq.n 7000f562 <_ZN8touchgfx3HAL15lockFrameBufferEv+0x1a> 7000f568: f7f3 f8ba bl 700026e0 <_ZN8touchgfx10OSWrappers24takeFrameBufferSemaphoreEv> 7000f56c: 4620 mov r0, r4 7000f56e: 2100 movs r1, #0 7000f570: f7ff ffd8 bl 7000f524 <_ZN8touchgfx3HAL18setRenderingMethodENS0_15RenderingMethodE> 7000f574: 4620 mov r0, r4 7000f576: f7ff fc65 bl 7000ee44 <_ZN8touchgfx3HAL20getClientFrameBufferEv> 7000f57a: bd10 pop {r4, pc} 7000f57c: 2400da74 .word 0x2400da74 7000f580 <_ZN8touchgfx3HAL33lockFrameBufferForRenderingMethodENS0_15RenderingMethodE>: 7000f580: b570 push {r4, r5, r6, lr} 7000f582: 4604 mov r4, r0 7000f584: 6803 ldr r3, [r0, #0] 7000f586: b919 cbnz r1, 7000f590 <_ZN8touchgfx3HAL33lockFrameBufferForRenderingMethodENS0_15RenderingMethodE+0x10> 7000f588: 6adb ldr r3, [r3, #44] @ 0x2c 7000f58a: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000f58e: 4718 bx r3 7000f590: 2200 movs r2, #0 7000f592: f890 607f ldrb.w r6, [r0, #127] @ 0x7f 7000f596: f880 207f strb.w r2, [r0, #127] @ 0x7f 7000f59a: 6adb ldr r3, [r3, #44] @ 0x2c 7000f59c: 4798 blx r3 7000f59e: 6863 ldr r3, [r4, #4] 7000f5a0: 2101 movs r1, #1 7000f5a2: 4605 mov r5, r0 7000f5a4: 4620 mov r0, r4 7000f5a6: 7299 strb r1, [r3, #10] 7000f5a8: f884 607f strb.w r6, [r4, #127] @ 0x7f 7000f5ac: f7ff ffba bl 7000f524 <_ZN8touchgfx3HAL18setRenderingMethodENS0_15RenderingMethodE> 7000f5b0: 4628 mov r0, r5 7000f5b2: bd70 pop {r4, r5, r6, pc} 7000f5b4 <_ZN8touchgfx13DMA_Interface10getDMATypeEv>: 7000f5b4: 2000 movs r0, #0 7000f5b6: 4770 bx lr 7000f5b8 <_ZN8touchgfx17LockFreeDMA_Queue7isEmptyEv>: 7000f5b8: e9d0 2003 ldrd r2, r0, [r0, #12] 7000f5bc: 1a13 subs r3, r2, r0 7000f5be: 4258 negs r0, r3 7000f5c0: 4158 adcs r0, r3 7000f5c2: 4770 bx lr 7000f5c4 <_ZN8touchgfx17LockFreeDMA_Queue6isFullEv>: 7000f5c4: e9d0 2303 ldrd r2, r3, [r0, #12] 7000f5c8: 1a9b subs r3, r3, r2 7000f5ca: 2b00 cmp r3, #0 7000f5cc: bfdc itt le 7000f5ce: 6882 ldrle r2, [r0, #8] 7000f5d0: 189b addle r3, r3, r2 7000f5d2: 2b01 cmp r3, #1 7000f5d4: bfcc ite gt 7000f5d6: 2000 movgt r0, #0 7000f5d8: 2001 movle r0, #1 7000f5da: 4770 bx lr 7000f5dc <_ZN8touchgfx17LockFreeDMA_Queue5firstEv>: 7000f5dc: 6902 ldr r2, [r0, #16] 7000f5de: 6843 ldr r3, [r0, #4] 7000f5e0: 2024 movs r0, #36 @ 0x24 7000f5e2: fb00 3002 mla r0, r0, r2, r3 7000f5e6: 4770 bx lr 7000f5e8 <_ZN8touchgfx13DMA_Interface13seedExecutionEv>: 7000f5e8: 6803 ldr r3, [r0, #0] 7000f5ea: 691b ldr r3, [r3, #16] 7000f5ec: 4718 bx r3 7000f5ee <_ZN8touchgfx13DMA_Interface7executeEv>: 7000f5ee: 2301 movs r3, #1 7000f5f0: b570 push {r4, r5, r6, lr} 7000f5f2: 7203 strb r3, [r0, #8] 7000f5f4: 4604 mov r4, r0 7000f5f6: 6840 ldr r0, [r0, #4] 7000f5f8: 6803 ldr r3, [r0, #0] 7000f5fa: 699b ldr r3, [r3, #24] 7000f5fc: 4798 blx r3 7000f5fe: 6803 ldr r3, [r0, #0] 7000f600: 4605 mov r5, r0 7000f602: 2b08 cmp r3, #8 7000f604: d80a bhi.n 7000f61c <_ZN8touchgfx13DMA_Interface7executeEv+0x2e> 7000f606: 2b00 cmp r3, #0 7000f608: d03c beq.n 7000f684 <_ZN8touchgfx13DMA_Interface7executeEv+0x96> 7000f60a: 3b01 subs r3, #1 7000f60c: 2b07 cmp r3, #7 7000f60e: d839 bhi.n 7000f684 <_ZN8touchgfx13DMA_Interface7executeEv+0x96> 7000f610: e8df f003 tbb [pc, r3] 7000f614: 1a38262d .word 0x1a38262d 7000f618: 20383838 .word 0x20383838 7000f61c: f5b3 7f00 cmp.w r3, #512 @ 0x200 7000f620: d025 beq.n 7000f66e <_ZN8touchgfx13DMA_Interface7executeEv+0x80> 7000f622: d80a bhi.n 7000f63a <_ZN8touchgfx13DMA_Interface7executeEv+0x4c> 7000f624: 2b80 cmp r3, #128 @ 0x80 7000f626: d022 beq.n 7000f66e <_ZN8touchgfx13DMA_Interface7executeEv+0x80> 7000f628: d803 bhi.n 7000f632 <_ZN8touchgfx13DMA_Interface7executeEv+0x44> 7000f62a: 2b20 cmp r3, #32 7000f62c: d01f beq.n 7000f66e <_ZN8touchgfx13DMA_Interface7executeEv+0x80> 7000f62e: 2b40 cmp r3, #64 @ 0x40 7000f630: e001 b.n 7000f636 <_ZN8touchgfx13DMA_Interface7executeEv+0x48> 7000f632: f5b3 7f80 cmp.w r3, #256 @ 0x100 7000f636: d01a beq.n 7000f66e <_ZN8touchgfx13DMA_Interface7executeEv+0x80> 7000f638: e024 b.n 7000f684 <_ZN8touchgfx13DMA_Interface7executeEv+0x96> 7000f63a: f5b3 6f80 cmp.w r3, #1024 @ 0x400 7000f63e: d016 beq.n 7000f66e <_ZN8touchgfx13DMA_Interface7executeEv+0x80> 7000f640: f5b3 6f00 cmp.w r3, #2048 @ 0x800 7000f644: d00c beq.n 7000f660 <_ZN8touchgfx13DMA_Interface7executeEv+0x72> 7000f646: e01d b.n 7000f684 <_ZN8touchgfx13DMA_Interface7executeEv+0x96> 7000f648: 6823 ldr r3, [r4, #0] 7000f64a: 7f01 ldrb r1, [r0, #28] 7000f64c: 4620 mov r0, r4 7000f64e: 6b9b ldr r3, [r3, #56] @ 0x38 7000f650: 4798 blx r3 7000f652: e010 b.n 7000f676 <_ZN8touchgfx13DMA_Interface7executeEv+0x88> 7000f654: 6823 ldr r3, [r4, #0] 7000f656: 7f01 ldrb r1, [r0, #28] 7000f658: 4620 mov r0, r4 7000f65a: 6b9b ldr r3, [r3, #56] @ 0x38 7000f65c: 4798 blx r3 7000f65e: e003 b.n 7000f668 <_ZN8touchgfx13DMA_Interface7executeEv+0x7a> 7000f660: 6823 ldr r3, [r4, #0] 7000f662: 4620 mov r0, r4 7000f664: 6bdb ldr r3, [r3, #60] @ 0x3c 7000f666: 4798 blx r3 7000f668: 6823 ldr r3, [r4, #0] 7000f66a: 6b5b ldr r3, [r3, #52] @ 0x34 7000f66c: e005 b.n 7000f67a <_ZN8touchgfx13DMA_Interface7executeEv+0x8c> 7000f66e: 6823 ldr r3, [r4, #0] 7000f670: 4620 mov r0, r4 7000f672: 6bdb ldr r3, [r3, #60] @ 0x3c 7000f674: 4798 blx r3 7000f676: 6823 ldr r3, [r4, #0] 7000f678: 6b1b ldr r3, [r3, #48] @ 0x30 7000f67a: 4629 mov r1, r5 7000f67c: 4620 mov r0, r4 7000f67e: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000f682: 4718 bx r3 7000f684: bd70 pop {r4, r5, r6, pc} 7000f686 <_ZN8touchgfx13DMA_Interface11enableAlphaEh>: 7000f686: 4770 bx lr 7000f688 <_ZN8touchgfx13DMA_Interface12disableAlphaEv>: 7000f688: 4770 bx lr 7000f68a <_ZN8touchgfx17LockFreeDMA_QueueD1Ev>: 7000f68a: 4770 bx lr 7000f68c <_ZN8touchgfx17LockFreeDMA_Queue10pushCopyOfERKNS_6BlitOpE>: 7000f68c: e9d0 2303 ldrd r2, r3, [r0, #12] 7000f690: b510 push {r4, lr} 7000f692: 1a9b subs r3, r3, r2 7000f694: 2b00 cmp r3, #0 7000f696: bfdc itt le 7000f698: 6884 ldrle r4, [r0, #8] 7000f69a: 191b addle r3, r3, r4 7000f69c: 2b01 cmp r3, #1 7000f69e: dd16 ble.n 7000f6ce <_ZN8touchgfx17LockFreeDMA_Queue10pushCopyOfERKNS_6BlitOpE+0x42> 7000f6a0: 6843 ldr r3, [r0, #4] 7000f6a2: 2424 movs r4, #36 @ 0x24 7000f6a4: fb04 3302 mla r3, r4, r2, r3 7000f6a8: f101 0220 add.w r2, r1, #32 7000f6ac: f851 4b04 ldr.w r4, [r1], #4 7000f6b0: 4291 cmp r1, r2 7000f6b2: f843 4b04 str.w r4, [r3], #4 7000f6b6: d1f9 bne.n 7000f6ac <_ZN8touchgfx17LockFreeDMA_Queue10pushCopyOfERKNS_6BlitOpE+0x20> 7000f6b8: 780a ldrb r2, [r1, #0] 7000f6ba: 701a strb r2, [r3, #0] 7000f6bc: 68c3 ldr r3, [r0, #12] 7000f6be: 6882 ldr r2, [r0, #8] 7000f6c0: f3bf 8f5b dmb ish 7000f6c4: 3301 adds r3, #1 7000f6c6: 429a cmp r2, r3 7000f6c8: bfd8 it le 7000f6ca: 1a9b suble r3, r3, r2 7000f6cc: 60c3 str r3, [r0, #12] 7000f6ce: bd10 pop {r4, pc} 7000f6d0 <_ZN8touchgfx17LockFreeDMA_Queue3popEv>: 7000f6d0: 6903 ldr r3, [r0, #16] 7000f6d2: 6882 ldr r2, [r0, #8] 7000f6d4: f3bf 8f5b dmb ish 7000f6d8: 3301 adds r3, #1 7000f6da: 429a cmp r2, r3 7000f6dc: bfd8 it le 7000f6de: 1a9b suble r3, r3, r2 7000f6e0: 6103 str r3, [r0, #16] 7000f6e2: 4770 bx lr 7000f6e4 <_ZN8touchgfx13DMA_Interface10addToQueueERKNS_6BlitOpE>: 7000f6e4: b570 push {r4, r5, r6, lr} 7000f6e6: 4604 mov r4, r0 7000f6e8: 460e mov r6, r1 7000f6ea: 6860 ldr r0, [r4, #4] 7000f6ec: 6803 ldr r3, [r0, #0] 7000f6ee: 685b ldr r3, [r3, #4] 7000f6f0: 4798 blx r3 7000f6f2: 2800 cmp r0, #0 7000f6f4: d1f9 bne.n 7000f6ea <_ZN8touchgfx13DMA_Interface10addToQueueERKNS_6BlitOpE+0x6> 7000f6f6: 4d0d ldr r5, [pc, #52] @ (7000f72c <_ZN8touchgfx13DMA_Interface10addToQueueERKNS_6BlitOpE+0x48>) 7000f6f8: 6828 ldr r0, [r5, #0] 7000f6fa: 6803 ldr r3, [r0, #0] 7000f6fc: f8d3 3080 ldr.w r3, [r3, #128] @ 0x80 7000f700: 4798 blx r3 7000f702: f7f2 fffb bl 700026fc <_ZN8touchgfx10OSWrappers27tryTakeFrameBufferSemaphoreEv> 7000f706: 6828 ldr r0, [r5, #0] 7000f708: 2101 movs r1, #1 7000f70a: f7ff ff0b bl 7000f524 <_ZN8touchgfx3HAL18setRenderingMethodENS0_15RenderingMethodE> 7000f70e: 6860 ldr r0, [r4, #4] 7000f710: 4631 mov r1, r6 7000f712: 6803 ldr r3, [r0, #0] 7000f714: 689b ldr r3, [r3, #8] 7000f716: 4798 blx r3 7000f718: 6823 ldr r3, [r4, #0] 7000f71a: 4620 mov r0, r4 7000f71c: 6adb ldr r3, [r3, #44] @ 0x2c 7000f71e: 4798 blx r3 7000f720: 6828 ldr r0, [r5, #0] 7000f722: 6803 ldr r3, [r0, #0] 7000f724: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000f728: 6fdb ldr r3, [r3, #124] @ 0x7c 7000f72a: 4718 bx r3 7000f72c: 2400da80 .word 0x2400da80 7000f730 <_ZN8touchgfx13DMA_Interface27waitForFrameBufferSemaphoreEv>: 7000f730: b508 push {r3, lr} 7000f732: f7f2 ffd5 bl 700026e0 <_ZN8touchgfx10OSWrappers24takeFrameBufferSemaphoreEv> 7000f736: e8bd 4008 ldmia.w sp!, {r3, lr} 7000f73a: f7f2 bfd9 b.w 700026f0 <_ZN8touchgfx10OSWrappers24giveFrameBufferSemaphoreEv> 7000f73e <_ZN8touchgfx13DMA_Interface16executeCompletedEv>: 7000f73e: b570 push {r4, r5, r6, lr} 7000f740: 4604 mov r4, r0 7000f742: 6840 ldr r0, [r0, #4] 7000f744: 6803 ldr r3, [r0, #0] 7000f746: 681b ldr r3, [r3, #0] 7000f748: 4798 blx r3 7000f74a: 4605 mov r5, r0 7000f74c: b930 cbnz r0, 7000f75c <_ZN8touchgfx13DMA_Interface16executeCompletedEv+0x1e> 7000f74e: 7a23 ldrb r3, [r4, #8] 7000f750: b123 cbz r3, 7000f75c <_ZN8touchgfx13DMA_Interface16executeCompletedEv+0x1e> 7000f752: 6860 ldr r0, [r4, #4] 7000f754: 6803 ldr r3, [r0, #0] 7000f756: 695b ldr r3, [r3, #20] 7000f758: 4798 blx r3 7000f75a: 7225 strb r5, [r4, #8] 7000f75c: 6860 ldr r0, [r4, #4] 7000f75e: 6803 ldr r3, [r0, #0] 7000f760: 681b ldr r3, [r3, #0] 7000f762: 4798 blx r3 7000f764: b928 cbnz r0, 7000f772 <_ZN8touchgfx13DMA_Interface16executeCompletedEv+0x34> 7000f766: 6823 ldr r3, [r4, #0] 7000f768: 4620 mov r0, r4 7000f76a: 6a5b ldr r3, [r3, #36] @ 0x24 7000f76c: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000f770: 4718 bx r3 7000f772: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000f776: f7f2 bfc9 b.w 7000270c <_ZN8touchgfx10OSWrappers31giveFrameBufferSemaphoreFromISREv> 7000f77a <_ZN8touchgfx17LockFreeDMA_QueueD0Ev>: 7000f77a: b510 push {r4, lr} 7000f77c: 4604 mov r4, r0 7000f77e: 2114 movs r1, #20 7000f780: f02a f819 bl 700397b6 <_ZdlPvj> 7000f784: 4620 mov r0, r4 7000f786: bd10 pop {r4, pc} 7000f788 <_ZN8touchgfx17LockFreeDMA_QueueC1EPNS_6BlitOpEi>: 7000f788: b510 push {r4, lr} 7000f78a: 4c04 ldr r4, [pc, #16] @ (7000f79c <_ZN8touchgfx17LockFreeDMA_QueueC1EPNS_6BlitOpEi+0x14>) 7000f78c: 6082 str r2, [r0, #8] 7000f78e: 2200 movs r2, #0 7000f790: e9c0 4100 strd r4, r1, [r0] 7000f794: e9c0 2203 strd r2, r2, [r0, #12] 7000f798: bd10 pop {r4, pc} 7000f79a: bf00 nop 7000f79c: 7003f8f4 .word 0x7003f8f4 7000f7a0 <_ZN8touchgfx13DMA_Interface15isDmaQueueEmptyEv>: 7000f7a0: 6840 ldr r0, [r0, #4] 7000f7a2: 6803 ldr r3, [r0, #0] 7000f7a4: 681b ldr r3, [r3, #0] 7000f7a6: 4718 bx r3 7000f7a8 <_ZNK8touchgfx3Box12getSolidRectEv>: 7000f7a8: 2300 movs r3, #0 7000f7aa: 8083 strh r3, [r0, #4] 7000f7ac: 80c3 strh r3, [r0, #6] 7000f7ae: 8003 strh r3, [r0, #0] 7000f7b0: 8043 strh r3, [r0, #2] 7000f7b2: f891 3026 ldrb.w r3, [r1, #38] @ 0x26 7000f7b6: 2bff cmp r3, #255 @ 0xff 7000f7b8: bf01 itttt eq 7000f7ba: 890b ldrheq r3, [r1, #8] 7000f7bc: 8083 strheq r3, [r0, #4] 7000f7be: 894b ldrheq r3, [r1, #10] 7000f7c0: 80c3 strheq r3, [r0, #6] 7000f7c2: 4770 bx lr 7000f7c4 <_ZNK8touchgfx3Box4drawERKNS_4RectE>: 7000f7c4: b537 push {r0, r1, r2, r4, r5, lr} 7000f7c6: 4604 mov r4, r0 7000f7c8: 466b mov r3, sp 7000f7ca: 6808 ldr r0, [r1, #0] 7000f7cc: 6849 ldr r1, [r1, #4] 7000f7ce: c303 stmia r3!, {r0, r1} 7000f7d0: 6823 ldr r3, [r4, #0] 7000f7d2: 4669 mov r1, sp 7000f7d4: 4620 mov r0, r4 7000f7d6: 6adb ldr r3, [r3, #44] @ 0x2c 7000f7d8: 4798 blx r3 7000f7da: 4b08 ldr r3, [pc, #32] @ (7000f7fc <_ZNK8touchgfx3Box4drawERKNS_4RectE+0x38>) 7000f7dc: 681b ldr r3, [r3, #0] 7000f7de: f893 205c ldrb.w r2, [r3, #92] @ 0x5c 7000f7e2: b10a cbz r2, 7000f7e8 <_ZNK8touchgfx3Box4drawERKNS_4RectE+0x24> 7000f7e4: 6d18 ldr r0, [r3, #80] @ 0x50 7000f7e6: b900 cbnz r0, 7000f7ea <_ZNK8touchgfx3Box4drawERKNS_4RectE+0x26> 7000f7e8: 6898 ldr r0, [r3, #8] 7000f7ea: 6803 ldr r3, [r0, #0] 7000f7ec: 4669 mov r1, sp 7000f7ee: 6aa2 ldr r2, [r4, #40] @ 0x28 7000f7f0: 6a5d ldr r5, [r3, #36] @ 0x24 7000f7f2: f894 3026 ldrb.w r3, [r4, #38] @ 0x26 7000f7f6: 47a8 blx r5 7000f7f8: b003 add sp, #12 7000f7fa: bd30 pop {r4, r5, pc} 7000f7fc: 2400da80 .word 0x2400da80 7000f800 <_ZN8touchgfx3BoxD1Ev>: 7000f800: 4770 bx lr 7000f802 <_ZN8touchgfx3BoxD0Ev>: 7000f802: b510 push {r4, lr} 7000f804: 4604 mov r4, r0 7000f806: 212c movs r1, #44 @ 0x2c 7000f808: f029 ffd5 bl 700397b6 <_ZdlPvj> 7000f80c: 4620 mov r0, r4 7000f80e: bd10 pop {r4, pc} 7000f810 <_ZNK8touchgfx3Box17invalidateContentEv>: 7000f810: f890 2026 ldrb.w r2, [r0, #38] @ 0x26 7000f814: b12a cbz r2, 7000f822 <_ZNK8touchgfx3Box17invalidateContentEv+0x12> 7000f816: f890 2025 ldrb.w r2, [r0, #37] @ 0x25 7000f81a: b112 cbz r2, 7000f822 <_ZNK8touchgfx3Box17invalidateContentEv+0x12> 7000f81c: 6803 ldr r3, [r0, #0] 7000f81e: 695b ldr r3, [r3, #20] 7000f820: 4718 bx r3 7000f822: 4770 bx lr 7000f824 <_ZNK8touchgfx5Gauge9getCenterERiS1_>: 7000f824: f9b0 3150 ldrsh.w r3, [r0, #336] @ 0x150 7000f828: 600b str r3, [r1, #0] 7000f82a: f9b0 3152 ldrsh.w r3, [r0, #338] @ 0x152 7000f82e: 6013 str r3, [r2, #0] 7000f830: 4770 bx lr 7000f832 <_ZN8touchgfx5Gauge8setWidthEs>: 7000f832: 8101 strh r1, [r0, #8] 7000f834: f8a0 10bc strh.w r1, [r0, #188] @ 0xbc 7000f838: f8a0 1160 strh.w r1, [r0, #352] @ 0x160 7000f83c: 4770 bx lr 7000f83e <_ZN8touchgfx5Gauge9setHeightEs>: 7000f83e: 8141 strh r1, [r0, #10] 7000f840: f8a0 10be strh.w r1, [r0, #190] @ 0xbe 7000f844: f8a0 1162 strh.w r1, [r0, #354] @ 0x162 7000f848: 4770 bx lr 7000f84a <_ZNK8touchgfx5Gauge13getStartAngleEv>: 7000f84a: f8d0 0148 ldr.w r0, [r0, #328] @ 0x148 7000f84e: 4770 bx lr 7000f850 <_ZNK8touchgfx5Gauge11getEndAngleEv>: 7000f850: f8d0 014c ldr.w r0, [r0, #332] @ 0x14c 7000f854: 4770 bx lr 7000f856 <_ZN8touchgfx5Gauge28setProgressIndicatorPositionEssss>: 7000f856: 4770 bx lr 7000f858 <_ZN8touchgfx5GaugeD1Ev>: 7000f858: 4770 bx lr 7000f85a <_ZN8touchgfx5Gauge8setAlphaEh>: 7000f85a: b538 push {r3, r4, r5, lr} 7000f85c: 4604 mov r4, r0 7000f85e: 460d mov r5, r1 7000f860: f7fe f91c bl 7000da9c <_ZN8touchgfx25AbstractProgressIndicator8setAlphaEh> 7000f864: f884 50dc strb.w r5, [r4, #220] @ 0xdc 7000f868: f884 517e strb.w r5, [r4, #382] @ 0x17e 7000f86c: bd38 pop {r3, r4, r5, pc} 7000f86e <_ZN8touchgfx5GaugeD0Ev>: 7000f86e: b510 push {r4, lr} 7000f870: 4604 mov r4, r0 7000f872: f44f 71d0 mov.w r1, #416 @ 0x1a0 7000f876: f029 ff9e bl 700397b6 <_ZdlPvj> 7000f87a: 4620 mov r0, r4 7000f87c: bd10 pop {r4, pc} 7000f87e <_ZNK8touchgfx5Gauge17invalidateContentEv>: 7000f87e: b510 push {r4, lr} 7000f880: 6803 ldr r3, [r0, #0] 7000f882: 4604 mov r4, r0 7000f884: f8d3 30c8 ldr.w r3, [r3, #200] @ 0xc8 7000f888: 4798 blx r3 7000f88a: b170 cbz r0, 7000f8aa <_ZNK8touchgfx5Gauge17invalidateContentEv+0x2c> 7000f88c: 6823 ldr r3, [r4, #0] 7000f88e: 4620 mov r0, r4 7000f890: f8d3 30c8 ldr.w r3, [r3, #200] @ 0xc8 7000f894: 4798 blx r3 7000f896: b140 cbz r0, 7000f8aa <_ZNK8touchgfx5Gauge17invalidateContentEv+0x2c> 7000f898: f894 3025 ldrb.w r3, [r4, #37] @ 0x25 7000f89c: b12b cbz r3, 7000f8aa <_ZNK8touchgfx5Gauge17invalidateContentEv+0x2c> 7000f89e: 6823 ldr r3, [r4, #0] 7000f8a0: 4620 mov r0, r4 7000f8a2: 695b ldr r3, [r3, #20] 7000f8a4: e8bd 4010 ldmia.w sp!, {r4, lr} 7000f8a8: 4718 bx r3 7000f8aa: bd10 pop {r4, pc} 7000f8ac <_ZN8touchgfx13TextureMapper12updateZAngleEf>: 7000f8ac: 6802 ldr r2, [r0, #0] 7000f8ae: eeb0 1a40 vmov.f32 s2, s0 7000f8b2: edd0 0a0e vldr s1, [r0, #56] @ 0x38 7000f8b6: 6fd2 ldr r2, [r2, #124] @ 0x7c 7000f8b8: ed90 0a0d vldr s0, [r0, #52] @ 0x34 7000f8bc: 4710 bx r2 ... 7000f8c0 <_ZN8touchgfx5GaugeC1Ev>: 7000f8c0: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} 7000f8c2: 4604 mov r4, r0 7000f8c4: f7fe fa12 bl 7000dcec <_ZN8touchgfx25AbstractProgressIndicatorC1Ev> 7000f8c8: 4b15 ldr r3, [pc, #84] @ (7000f920 <_ZN8touchgfx5GaugeC1Ev+0x60>) 7000f8ca: a901 add r1, sp, #4 7000f8cc: 4626 mov r6, r4 7000f8ce: 2500 movs r5, #0 7000f8d0: f504 77ac add.w r7, r4, #344 @ 0x158 7000f8d4: f846 3bb4 str.w r3, [r6], #180 7000f8d8: f64f 73ff movw r3, #65535 @ 0xffff 7000f8dc: 4630 mov r0, r6 7000f8de: f8ad 3004 strh.w r3, [sp, #4] 7000f8e2: f005 ffcb bl 7001587c <_ZN8touchgfx13TextureMapperC1ERKNS_6BitmapE> 7000f8e6: f240 1301 movw r3, #257 @ 0x101 7000f8ea: 4638 mov r0, r7 7000f8ec: f8a4 3144 strh.w r3, [r4, #324] @ 0x144 7000f8f0: e9c4 5552 strd r5, r5, [r4, #328] @ 0x148 7000f8f4: e9c4 5554 strd r5, r5, [r4, #336] @ 0x150 7000f8f8: f005 f980 bl 70014bfc <_ZN8touchgfx6CircleC1Ev> 7000f8fc: f104 0158 add.w r1, r4, #88 @ 0x58 7000f900: 4620 mov r0, r4 7000f902: f7fe fac9 bl 7000de98 <_ZN8touchgfx9Container6removeERNS_8DrawableE> 7000f906: 4639 mov r1, r7 7000f908: 4620 mov r0, r4 7000f90a: f7fe fa4e bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> 7000f90e: 4620 mov r0, r4 7000f910: 4631 mov r1, r6 7000f912: f7fe fa4a bl 7000ddaa <_ZN8touchgfx9Container3addERNS_8DrawableE> 7000f916: 4620 mov r0, r4 7000f918: f884 517d strb.w r5, [r4, #381] @ 0x17d 7000f91c: b003 add sp, #12 7000f91e: bdf0 pop {r4, r5, r6, r7, pc} 7000f920: 7003f980 .word 0x7003f980 7000f924 <_ZN8touchgfx5Gauge33setMovingNeedleRenderingAlgorithmENS_13TextureMapper18RenderingAlgorithmE>: 7000f924: f880 1144 strb.w r1, [r0, #324] @ 0x144 7000f928: 4770 bx lr 7000f92a <_ZN8touchgfx5Gauge33setSteadyNeedleRenderingAlgorithmENS_13TextureMapper18RenderingAlgorithmE>: 7000f92a: f880 1145 strb.w r1, [r0, #325] @ 0x145 7000f92e: 4770 bx lr 7000f930 <_ZN8touchgfx5Gauge24setupNeedleTextureMapperEv>: 7000f930: b538 push {r3, r4, r5, lr} 7000f932: f100 05b4 add.w r5, r0, #180 @ 0xb4 7000f936: 4604 mov r4, r0 7000f938: f9b0 200a ldrsh.w r2, [r0, #10] 7000f93c: f9b0 1008 ldrsh.w r1, [r0, #8] 7000f940: 4628 mov r0, r5 7000f942: f7fe f997 bl 7000dc74 <_ZN8touchgfx8Drawable14setWidthHeightEss> 7000f946: 2200 movs r2, #0 7000f948: 4628 mov r0, r5 7000f94a: 4611 mov r1, r2 7000f94c: f7f4 faf1 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7000f950: f9b4 2156 ldrsh.w r2, [r4, #342] @ 0x156 7000f954: f9b4 3152 ldrsh.w r3, [r4, #338] @ 0x152 7000f958: 4628 mov r0, r5 7000f95a: 1a9b subs r3, r3, r2 7000f95c: f9b4 2154 ldrsh.w r2, [r4, #340] @ 0x154 7000f960: ee07 3a90 vmov s15, r3 7000f964: f9b4 3150 ldrsh.w r3, [r4, #336] @ 0x150 7000f968: 1a9b subs r3, r3, r2 7000f96a: eef8 7ae7 vcvt.f32.s32 s15, s15 7000f96e: ee07 3a10 vmov s14, r3 7000f972: edc4 7a39 vstr s15, [r4, #228] @ 0xe4 7000f976: eeb8 7ac7 vcvt.f32.s32 s14, s14 7000f97a: ed84 7a38 vstr s14, [r4, #224] @ 0xe0 7000f97e: f005 ffc3 bl 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv> 7000f982: 4b16 ldr r3, [pc, #88] @ (7000f9dc <_ZN8touchgfx5Gauge24setupNeedleTextureMapperEv+0xac>) 7000f984: 4628 mov r0, r5 7000f986: f8c4 310c str.w r3, [r4, #268] @ 0x10c 7000f98a: f005 ffbd bl 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv> 7000f98e: f9b4 3152 ldrsh.w r3, [r4, #338] @ 0x152 7000f992: f9b4 2150 ldrsh.w r2, [r4, #336] @ 0x150 7000f996: 4628 mov r0, r5 7000f998: ee07 3a90 vmov s15, r3 7000f99c: f8d4 310c ldr.w r3, [r4, #268] @ 0x10c 7000f9a0: ee07 2a10 vmov s14, r2 7000f9a4: eef8 7ae7 vcvt.f32.s32 s15, s15 7000f9a8: f8c4 3100 str.w r3, [r4, #256] @ 0x100 7000f9ac: eeb8 7ac7 vcvt.f32.s32 s14, s14 7000f9b0: edc4 7a3f vstr s15, [r4, #252] @ 0xfc 7000f9b4: ed84 7a3e vstr s14, [r4, #248] @ 0xf8 7000f9b8: f005 ffa6 bl 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv> 7000f9bc: f8d4 30fc ldr.w r3, [r4, #252] @ 0xfc 7000f9c0: f8d4 20f8 ldr.w r2, [r4, #248] @ 0xf8 7000f9c4: 4628 mov r0, r5 7000f9c6: f8c4 3108 str.w r3, [r4, #264] @ 0x108 7000f9ca: f8c4 2104 str.w r2, [r4, #260] @ 0x104 7000f9ce: f005 ff9b bl 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv> 7000f9d2: 2301 movs r3, #1 7000f9d4: f884 30dd strb.w r3, [r4, #221] @ 0xdd 7000f9d8: bd38 pop {r3, r4, r5, pc} 7000f9da: bf00 nop 7000f9dc: 43960000 .word 0x43960000 7000f9e0 <_ZN8touchgfx5Gauge9setNeedleEtss>: 7000f9e0: b573 push {r0, r1, r4, r5, r6, lr} 7000f9e2: 4604 mov r4, r0 7000f9e4: f8ad 1004 strh.w r1, [sp, #4] 7000f9e8: 30b4 adds r0, #180 @ 0xb4 7000f9ea: a901 add r1, sp, #4 7000f9ec: 4616 mov r6, r2 7000f9ee: 461d mov r5, r3 7000f9f0: f006 f8e6 bl 70015bc0 <_ZN8touchgfx13TextureMapper9setBitmapERKNS_6BitmapE> 7000f9f4: 4620 mov r0, r4 7000f9f6: f8a4 6154 strh.w r6, [r4, #340] @ 0x154 7000f9fa: f8a4 5156 strh.w r5, [r4, #342] @ 0x156 7000f9fe: b002 add sp, #8 7000fa00: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000fa04: f7ff bf94 b.w 7000f930 <_ZN8touchgfx5Gauge24setupNeedleTextureMapperEv> 7000fa08 <_ZN8touchgfx5Gauge9setCenterEii>: 7000fa08: b570 push {r4, r5, r6, lr} 7000fa0a: 4606 mov r6, r0 7000fa0c: f8a0 1150 strh.w r1, [r0, #336] @ 0x150 7000fa10: f8a0 2152 strh.w r2, [r0, #338] @ 0x152 7000fa14: 460d mov r5, r1 7000fa16: 4614 mov r4, r2 7000fa18: f7ff ff8a bl 7000f930 <_ZN8touchgfx5Gauge24setupNeedleTextureMapperEv> 7000fa1c: f9b6 315e ldrsh.w r3, [r6, #350] @ 0x15e 7000fa20: 1ae4 subs r4, r4, r3 7000fa22: f9b6 315c ldrsh.w r3, [r6, #348] @ 0x15c 7000fa26: 1aed subs r5, r5, r3 7000fa28: 0164 lsls r4, r4, #5 7000fa2a: 016d lsls r5, r5, #5 7000fa2c: 3410 adds r4, #16 7000fa2e: 3510 adds r5, #16 7000fa30: e9c6 5461 strd r5, r4, [r6, #388] @ 0x184 7000fa34: bd70 pop {r4, r5, r6, pc} 7000fa36 <_ZN8touchgfx6Circle12updateArcEndIiEEvT_>: 7000fa36: b51f push {r0, r1, r2, r3, r4, lr} 7000fa38: 0149 lsls r1, r1, #5 7000fa3a: 6bc3 ldr r3, [r0, #60] @ 0x3c 7000fa3c: 4604 mov r4, r0 7000fa3e: 4299 cmp r1, r3 7000fa40: 9101 str r1, [sp, #4] 7000fa42: d00b beq.n 7000fa5c <_ZN8touchgfx6Circle12updateArcEndIiEEvT_+0x26> 7000fa44: 4601 mov r1, r0 7000fa46: aa01 add r2, sp, #4 7000fa48: a802 add r0, sp, #8 7000fa4a: f005 facb bl 70014fe4 <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E> 7000fa4e: 9b01 ldr r3, [sp, #4] 7000fa50: a902 add r1, sp, #8 7000fa52: 4620 mov r0, r4 7000fa54: 63e3 str r3, [r4, #60] @ 0x3c 7000fa56: 6823 ldr r3, [r4, #0] 7000fa58: 691b ldr r3, [r3, #16] 7000fa5a: 4798 blx r3 7000fa5c: b004 add sp, #16 7000fa5e: bd10 pop {r4, pc} 7000fa60 <_ZN8touchgfx5Gauge8setValueEi>: 7000fa60: b570 push {r4, r5, r6, lr} 7000fa62: 4604 mov r4, r0 7000fa64: f7fe f878 bl 7000db58 <_ZN8touchgfx25AbstractProgressIndicator8setValueEi> 7000fa68: e9d4 3229 ldrd r3, r2, [r4, #164] @ 0xa4 7000fa6c: 4620 mov r0, r4 7000fa6e: f504 76ac add.w r6, r4, #344 @ 0x158 7000fa72: 429a cmp r2, r3 7000fa74: bfac ite ge 7000fa76: f894 3145 ldrbge.w r3, [r4, #325] @ 0x145 7000fa7a: f894 3144 ldrblt.w r3, [r4, #324] @ 0x144 7000fa7e: f884 30dd strb.w r3, [r4, #221] @ 0xdd 7000fa82: e9d4 3152 ldrd r3, r1, [r4, #328] @ 0x148 7000fa86: 1ac9 subs r1, r1, r3 7000fa88: 2900 cmp r1, #0 7000fa8a: bfb8 it lt 7000fa8c: 4249 neglt r1, r1 7000fa8e: b289 uxth r1, r1 7000fa90: f7fe f884 bl 7000db9c <_ZNK8touchgfx25AbstractProgressIndicator11getProgressEt> 7000fa94: eddf 6a15 vldr s13, [pc, #84] @ 7000faec <_ZN8touchgfx5Gauge8setValueEi+0x8c> 7000fa98: 4605 mov r5, r0 7000fa9a: ed9f 7a15 vldr s14, [pc, #84] @ 7000faf0 <_ZN8touchgfx5Gauge8setValueEi+0x90> 7000fa9e: f104 00b4 add.w r0, r4, #180 @ 0xb4 7000faa2: e9d4 3252 ldrd r3, r2, [r4, #328] @ 0x148 7000faa6: 429a cmp r2, r3 7000faa8: da0e bge.n 7000fac8 <_ZN8touchgfx5Gauge8setValueEi+0x68> 7000faaa: 1b5b subs r3, r3, r5 7000faac: ee07 3a90 vmov s15, r3 7000fab0: eef8 7ae7 vcvt.f32.s32 s15, s15 7000fab4: ee87 0aa6 vdiv.f32 s0, s15, s13 7000fab8: ee20 0a07 vmul.f32 s0, s0, s14 7000fabc: f7ff fef6 bl 7000f8ac <_ZN8touchgfx13TextureMapper12updateZAngleEf> 7000fac0: f8d4 1148 ldr.w r1, [r4, #328] @ 0x148 7000fac4: 1b49 subs r1, r1, r5 7000fac6: e00d b.n 7000fae4 <_ZN8touchgfx5Gauge8setValueEi+0x84> 7000fac8: 442b add r3, r5 7000faca: ee07 3a90 vmov s15, r3 7000face: eef8 7ae7 vcvt.f32.s32 s15, s15 7000fad2: ee87 0aa6 vdiv.f32 s0, s15, s13 7000fad6: ee20 0a07 vmul.f32 s0, s0, s14 7000fada: f7ff fee7 bl 7000f8ac <_ZN8touchgfx13TextureMapper12updateZAngleEf> 7000fade: f8d4 1148 ldr.w r1, [r4, #328] @ 0x148 7000fae2: 4429 add r1, r5 7000fae4: 4630 mov r0, r6 7000fae6: f7ff ffa6 bl 7000fa36 <_ZN8touchgfx6Circle12updateArcEndIiEEvT_> 7000faea: bd70 pop {r4, r5, r6, pc} 7000faec: 43340000 .word 0x43340000 7000faf0: 40490fdb .word 0x40490fdb 7000faf4 <_ZN8touchgfx5Gauge16setStartEndAngleEii>: 7000faf4: b510 push {r4, lr} 7000faf6: e9c0 1252 strd r1, r2, [r0, #328] @ 0x148 7000fafa: 0149 lsls r1, r1, #5 7000fafc: 4604 mov r4, r0 7000fafe: 0152 lsls r2, r2, #5 7000fb00: f8c0 1190 str.w r1, [r0, #400] @ 0x190 7000fb04: f8c0 2194 str.w r2, [r0, #404] @ 0x194 7000fb08: f7fd ffc5 bl 7000da96 <_ZNK8touchgfx25AbstractProgressIndicator8getValueEv> 7000fb0c: 4601 mov r1, r0 7000fb0e: 4620 mov r0, r4 7000fb10: e8bd 4010 ldmia.w sp!, {r4, lr} 7000fb14: f7ff bfa4 b.w 7000fa60 <_ZN8touchgfx5Gauge8setValueEi> 7000fb18 <_ZNK8touchgfx14AbstractButton15getPressedStateEv>: 7000fb18: f890 002c ldrb.w r0, [r0, #44] @ 0x2c 7000fb1c: 4770 bx lr 7000fb1e <_ZN8touchgfx14ButtonWithIcon10setBitmapsERKNS_6BitmapES3_>: 7000fb1e: 4770 bx lr 7000fb20 <_ZN8touchgfx14ButtonWithIconD1Ev>: 7000fb20: 4770 bx lr 7000fb22 <_ZN8touchgfx14ButtonWithIconD0Ev>: 7000fb22: b510 push {r4, lr} 7000fb24: 4604 mov r4, r0 7000fb26: 213c movs r1, #60 @ 0x3c 7000fb28: f029 fe45 bl 700397b6 <_ZdlPvj> 7000fb2c: 4620 mov r0, r4 7000fb2e: bd10 pop {r4, pc} 7000fb30 <_ZN8touchgfx14ButtonWithIcon10setBitmapsERKNS_6BitmapES3_S3_S3_>: 7000fb30: b570 push {r4, r5, r6, lr} 7000fb32: 461d mov r5, r3 7000fb34: 4604 mov r4, r0 7000fb36: 9e04 ldr r6, [sp, #16] 7000fb38: f006 fb1a bl 70016170 <_ZN8touchgfx6Button10setBitmapsERKNS_6BitmapES3_> 7000fb3c: 882b ldrh r3, [r5, #0] 7000fb3e: 4630 mov r0, r6 7000fb40: 86a3 strh r3, [r4, #52] @ 0x34 7000fb42: 8833 ldrh r3, [r6, #0] 7000fb44: 86e3 strh r3, [r4, #54] @ 0x36 7000fb46: f9b4 3008 ldrsh.w r3, [r4, #8] 7000fb4a: eb03 73d3 add.w r3, r3, r3, lsr #31 7000fb4e: f3c3 054f ubfx r5, r3, #1, #16 7000fb52: f004 fd07 bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 7000fb56: eb00 70d0 add.w r0, r0, r0, lsr #31 7000fb5a: f9b4 300a ldrsh.w r3, [r4, #10] 7000fb5e: eba5 0560 sub.w r5, r5, r0, asr #1 7000fb62: 4630 mov r0, r6 7000fb64: eb03 73d3 add.w r3, r3, r3, lsr #31 7000fb68: 8725 strh r5, [r4, #56] @ 0x38 7000fb6a: f3c3 054f ubfx r5, r3, #1, #16 7000fb6e: f004 fd2d bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 7000fb72: eb00 70d0 add.w r0, r0, r0, lsr #31 7000fb76: eba5 0560 sub.w r5, r5, r0, asr #1 7000fb7a: 8765 strh r5, [r4, #58] @ 0x3a 7000fb7c: bd70 pop {r4, r5, r6, pc} 7000fb7e <_ZNK8touchgfx6Button17invalidateContentEv>: 7000fb7e: b508 push {r3, lr} 7000fb80: f890 3032 ldrb.w r3, [r0, #50] @ 0x32 7000fb84: b10b cbz r3, 7000fb8a <_ZNK8touchgfx6Button17invalidateContentEv+0xc> 7000fb86: f7f4 f9ba bl 70003efe <_ZNK8touchgfx8Drawable17invalidateContentEv> 7000fb8a: bd08 pop {r3, pc} 7000fb8c <_ZN8touchgfx14AbstractButton13executeActionEv>: 7000fb8c: b510 push {r4, lr} 7000fb8e: 4604 mov r4, r0 7000fb90: 6a80 ldr r0, [r0, #40] @ 0x28 7000fb92: b150 cbz r0, 7000fbaa <_ZN8touchgfx14AbstractButton13executeActionEv+0x1e> 7000fb94: 6803 ldr r3, [r0, #0] 7000fb96: 68db ldr r3, [r3, #12] 7000fb98: 4798 blx r3 7000fb9a: b130 cbz r0, 7000fbaa <_ZN8touchgfx14AbstractButton13executeActionEv+0x1e> 7000fb9c: 6aa0 ldr r0, [r4, #40] @ 0x28 7000fb9e: 4621 mov r1, r4 7000fba0: 6803 ldr r3, [r0, #0] 7000fba2: e8bd 4010 ldmia.w sp!, {r4, lr} 7000fba6: 689b ldr r3, [r3, #8] 7000fba8: 4718 bx r3 7000fbaa: bd10 pop {r4, pc} 7000fbac <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE>: 7000fbac: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7000fbb0: 4604 mov r4, r0 7000fbb2: b08b sub sp, #44 @ 0x2c 7000fbb4: 4689 mov r9, r1 7000fbb6: f006 fb0d bl 700161d4 <_ZNK8touchgfx6Button4drawERKNS_4RectE> 7000fbba: f894 302c ldrb.w r3, [r4, #44] @ 0x2c 7000fbbe: b10b cbz r3, 7000fbc4 <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0x18> 7000fbc0: 8ee3 ldrh r3, [r4, #54] @ 0x36 7000fbc2: e000 b.n 7000fbc6 <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0x1a> 7000fbc4: 8ea3 ldrh r3, [r4, #52] @ 0x34 7000fbc6: a805 add r0, sp, #20 7000fbc8: f8ad 3014 strh.w r3, [sp, #20] 7000fbcc: f9b4 8038 ldrsh.w r8, [r4, #56] @ 0x38 7000fbd0: f9b4 703a ldrsh.w r7, [r4, #58] @ 0x3a 7000fbd4: f004 fcc6 bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 7000fbd8: 4606 mov r6, r0 7000fbda: a805 add r0, sp, #20 7000fbdc: f004 fcf6 bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 7000fbe0: ab06 add r3, sp, #24 7000fbe2: 4605 mov r5, r0 7000fbe4: f8d9 1004 ldr.w r1, [r9, #4] 7000fbe8: f8d9 0000 ldr.w r0, [r9] 7000fbec: 4446 add r6, r8 7000fbee: c303 stmia r3!, {r0, r1} 7000fbf0: b236 sxth r6, r6 7000fbf2: f9bd 2018 ldrsh.w r2, [sp, #24] 7000fbf6: 42b2 cmp r2, r6 7000fbf8: da06 bge.n 7000fc08 <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0x5c> 7000fbfa: f8bd c01c ldrh.w ip, [sp, #28] 7000fbfe: 4494 add ip, r2 7000fc00: fa0f fc8c sxth.w ip, ip 7000fc04: 45e0 cmp r8, ip 7000fc06: db03 blt.n 7000fc10 <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0x64> 7000fc08: 2300 movs r3, #0 7000fc0a: e9cd 3306 strd r3, r3, [sp, #24] 7000fc0e: e025 b.n 7000fc5c <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0xb0> 7000fc10: 1978 adds r0, r7, r5 7000fc12: f9bd 301a ldrsh.w r3, [sp, #26] 7000fc16: b200 sxth r0, r0 7000fc18: 4283 cmp r3, r0 7000fc1a: daf5 bge.n 7000fc08 <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0x5c> 7000fc1c: f8bd 101e ldrh.w r1, [sp, #30] 7000fc20: 4419 add r1, r3 7000fc22: b209 sxth r1, r1 7000fc24: 428f cmp r7, r1 7000fc26: daef bge.n 7000fc08 <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0x5c> 7000fc28: 4542 cmp r2, r8 7000fc2a: bfb8 it lt 7000fc2c: 4642 movlt r2, r8 7000fc2e: 42bb cmp r3, r7 7000fc30: bfb8 it lt 7000fc32: 463b movlt r3, r7 7000fc34: 4566 cmp r6, ip 7000fc36: bfd4 ite le 7000fc38: ebc2 0506 rsble r5, r2, r6 7000fc3c: ebc2 050c rsbgt r5, r2, ip 7000fc40: f8ad 2018 strh.w r2, [sp, #24] 7000fc44: f8ad 501c strh.w r5, [sp, #28] 7000fc48: 4288 cmp r0, r1 7000fc4a: bfd4 ite le 7000fc4c: ebc3 0500 rsble r5, r3, r0 7000fc50: ebc3 0501 rsbgt r5, r3, r1 7000fc54: f8ad 301a strh.w r3, [sp, #26] 7000fc58: f8ad 501e strh.w r5, [sp, #30] 7000fc5c: f8bd 2014 ldrh.w r2, [sp, #20] 7000fc60: f64f 73ff movw r3, #65535 @ 0xffff 7000fc64: 429a cmp r2, r3 7000fc66: d036 beq.n 7000fcd6 <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0x12a> 7000fc68: f9bd 301c ldrsh.w r3, [sp, #28] 7000fc6c: 2b00 cmp r3, #0 7000fc6e: dd32 ble.n 7000fcd6 <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0x12a> 7000fc70: f9bd 301e ldrsh.w r3, [sp, #30] 7000fc74: 2b00 cmp r3, #0 7000fc76: dd2e ble.n 7000fcd6 <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0x12a> 7000fc78: 2300 movs r3, #0 7000fc7a: a908 add r1, sp, #32 7000fc7c: 4620 mov r0, r4 7000fc7e: e9cd 3308 strd r3, r3, [sp, #32] 7000fc82: 6823 ldr r3, [r4, #0] 7000fc84: 6adb ldr r3, [r3, #44] @ 0x2c 7000fc86: 4798 blx r3 7000fc88: f8bd 3018 ldrh.w r3, [sp, #24] 7000fc8c: 8f22 ldrh r2, [r4, #56] @ 0x38 7000fc8e: f8bd 101a ldrh.w r1, [sp, #26] 7000fc92: 1a9b subs r3, r3, r2 7000fc94: f8ad 3018 strh.w r3, [sp, #24] 7000fc98: 8f63 ldrh r3, [r4, #58] @ 0x3a 7000fc9a: 1ac9 subs r1, r1, r3 7000fc9c: f8ad 101a strh.w r1, [sp, #26] 7000fca0: 490e ldr r1, [pc, #56] @ (7000fcdc <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0x130>) 7000fca2: 6809 ldr r1, [r1, #0] 7000fca4: f891 005c ldrb.w r0, [r1, #92] @ 0x5c 7000fca8: b108 cbz r0, 7000fcae <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0x102> 7000fcaa: 6d08 ldr r0, [r1, #80] @ 0x50 7000fcac: b900 cbnz r0, 7000fcb0 <_ZNK8touchgfx14ButtonWithIcon4drawERKNS_4RectE+0x104> 7000fcae: 6888 ldr r0, [r1, #8] 7000fcb0: f8bd 1022 ldrh.w r1, [sp, #34] @ 0x22 7000fcb4: 2501 movs r5, #1 7000fcb6: 440b add r3, r1 7000fcb8: f8bd 1020 ldrh.w r1, [sp, #32] 7000fcbc: 440a add r2, r1 7000fcbe: 6801 ldr r1, [r0, #0] 7000fcc0: 9502 str r5, [sp, #8] 7000fcc2: b21b sxth r3, r3 7000fcc4: f894 4032 ldrb.w r4, [r4, #50] @ 0x32 7000fcc8: b212 sxth r2, r2 7000fcca: 9401 str r4, [sp, #4] 7000fccc: ac06 add r4, sp, #24 7000fcce: 9400 str r4, [sp, #0] 7000fcd0: 688c ldr r4, [r1, #8] 7000fcd2: a905 add r1, sp, #20 7000fcd4: 47a0 blx r4 7000fcd6: b00b add sp, #44 @ 0x2c 7000fcd8: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7000fcdc: 2400da80 .word 0x2400da80 7000fce0 <_ZN8touchgfx14ButtonWithIconC1Ev>: 7000fce0: f240 1101 movw r1, #257 @ 0x101 7000fce4: 2200 movs r2, #0 7000fce6: 8481 strh r1, [r0, #36] @ 0x24 7000fce8: f64f 71ff movw r1, #65535 @ 0xffff 7000fcec: 6282 str r2, [r0, #40] @ 0x28 7000fcee: 85c1 strh r1, [r0, #46] @ 0x2e 7000fcf0: 8601 strh r1, [r0, #48] @ 0x30 7000fcf2: f880 1032 strb.w r1, [r0, #50] @ 0x32 7000fcf6: 4908 ldr r1, [pc, #32] @ (7000fd18 <_ZN8touchgfx14ButtonWithIconC1Ev+0x38>) 7000fcf8: f880 202c strb.w r2, [r0, #44] @ 0x2c 7000fcfc: 6001 str r1, [r0, #0] 7000fcfe: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 7000fd02: e9c0 2201 strd r2, r2, [r0, #4] 7000fd06: e9c0 2203 strd r2, r2, [r0, #12] 7000fd0a: e9c0 2205 strd r2, r2, [r0, #20] 7000fd0e: e9c0 2207 strd r2, r2, [r0, #28] 7000fd12: e9c0 120d strd r1, r2, [r0, #52] @ 0x34 7000fd16: 4770 bx lr 7000fd18: 7003fa68 .word 0x7003fa68 7000fd1c <_ZN8touchgfx5ImageD1Ev>: 7000fd1c: 4770 bx lr 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE>: 7000fd1e: b570 push {r4, r5, r6, lr} 7000fd20: 880b ldrh r3, [r1, #0] 7000fd22: 460d mov r5, r1 7000fd24: 4604 mov r4, r0 7000fd26: 84c3 strh r3, [r0, #38] @ 0x26 7000fd28: 4608 mov r0, r1 7000fd2a: f004 fc1b bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 7000fd2e: 4606 mov r6, r0 7000fd30: 4628 mov r0, r5 7000fd32: f004 fc4b bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 7000fd36: 6823 ldr r3, [r4, #0] 7000fd38: 4605 mov r5, r0 7000fd3a: 4631 mov r1, r6 7000fd3c: 4620 mov r0, r4 7000fd3e: 6b9b ldr r3, [r3, #56] @ 0x38 7000fd40: 4798 blx r3 7000fd42: 6823 ldr r3, [r4, #0] 7000fd44: 4629 mov r1, r5 7000fd46: 4620 mov r0, r4 7000fd48: 6bdb ldr r3, [r3, #60] @ 0x3c 7000fd4a: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7000fd4e: 4718 bx r3 7000fd50 <_ZNK8touchgfx5Image12getSolidRectEv>: 7000fd50: b510 push {r4, lr} 7000fd52: f891 3028 ldrb.w r3, [r1, #40] @ 0x28 7000fd56: 4604 mov r4, r0 7000fd58: 2bff cmp r3, #255 @ 0xff 7000fd5a: d005 beq.n 7000fd68 <_ZNK8touchgfx5Image12getSolidRectEv+0x18> 7000fd5c: 2300 movs r3, #0 7000fd5e: 8003 strh r3, [r0, #0] 7000fd60: 8043 strh r3, [r0, #2] 7000fd62: 8083 strh r3, [r0, #4] 7000fd64: 80c3 strh r3, [r0, #6] 7000fd66: e002 b.n 7000fd6e <_ZNK8touchgfx5Image12getSolidRectEv+0x1e> 7000fd68: 3126 adds r1, #38 @ 0x26 7000fd6a: f004 fc63 bl 70014634 <_ZNK8touchgfx6Bitmap12getSolidRectEv> 7000fd6e: 4620 mov r0, r4 7000fd70: bd10 pop {r4, pc} 7000fd72 <_ZN8touchgfx5ImageD0Ev>: 7000fd72: b510 push {r4, lr} 7000fd74: 4604 mov r4, r0 7000fd76: 212c movs r1, #44 @ 0x2c 7000fd78: f029 fd1d bl 700397b6 <_ZdlPvj> 7000fd7c: 4620 mov r0, r4 7000fd7e: bd10 pop {r4, pc} 7000fd80 <_ZNK8touchgfx5Image4drawERKNS_4RectE>: 7000fd80: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7000fd84: 2300 movs r3, #0 7000fd86: b089 sub sp, #36 @ 0x24 7000fd88: 4606 mov r6, r0 7000fd8a: 4689 mov r9, r1 7000fd8c: a904 add r1, sp, #16 7000fd8e: 4607 mov r7, r0 7000fd90: e9cd 3304 strd r3, r3, [sp, #16] 7000fd94: f856 3b26 ldr.w r3, [r6], #38 7000fd98: 6adb ldr r3, [r3, #44] @ 0x2c 7000fd9a: 4798 blx r3 7000fd9c: 4630 mov r0, r6 7000fd9e: f004 fbe1 bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 7000fda2: 4680 mov r8, r0 7000fda4: 4630 mov r0, r6 7000fda6: f004 fc11 bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 7000fdaa: f9b9 5000 ldrsh.w r5, [r9] 7000fdae: f8b9 2004 ldrh.w r2, [r9, #4] 7000fdb2: 442a add r2, r5 7000fdb4: b291 uxth r1, r2 7000fdb6: b212 sxth r2, r2 7000fdb8: 2a00 cmp r2, #0 7000fdba: dd44 ble.n 7000fe46 <_ZNK8touchgfx5Image4drawERKNS_4RectE+0xc6> 7000fdbc: 45a8 cmp r8, r5 7000fdbe: dd42 ble.n 7000fe46 <_ZNK8touchgfx5Image4drawERKNS_4RectE+0xc6> 7000fdc0: f9b9 4002 ldrsh.w r4, [r9, #2] 7000fdc4: f8b9 3006 ldrh.w r3, [r9, #6] 7000fdc8: 4423 add r3, r4 7000fdca: fa1f fc83 uxth.w ip, r3 7000fdce: b21b sxth r3, r3 7000fdd0: 2b00 cmp r3, #0 7000fdd2: dd38 ble.n 7000fe46 <_ZNK8touchgfx5Image4drawERKNS_4RectE+0xc6> 7000fdd4: 42a0 cmp r0, r4 7000fdd6: dd36 ble.n 7000fe46 <_ZNK8touchgfx5Image4drawERKNS_4RectE+0xc6> 7000fdd8: 4590 cmp r8, r2 7000fdda: ea25 75e5 bic.w r5, r5, r5, asr #31 7000fdde: ea24 74e4 bic.w r4, r4, r4, asr #31 7000fde2: bfb8 it lt 7000fde4: fa1f f188 uxthlt.w r1, r8 7000fde8: 4298 cmp r0, r3 7000fdea: f8ad 5018 strh.w r5, [sp, #24] 7000fdee: eba1 0105 sub.w r1, r1, r5 7000fdf2: bfb8 it lt 7000fdf4: fa1f fc80 uxthlt.w ip, r0 7000fdf8: f8ad 401a strh.w r4, [sp, #26] 7000fdfc: f8ad 101c strh.w r1, [sp, #28] 7000fe00: ebac 0c04 sub.w ip, ip, r4 7000fe04: f9bd 301c ldrsh.w r3, [sp, #28] 7000fe08: f8ad c01e strh.w ip, [sp, #30] 7000fe0c: 2b00 cmp r3, #0 7000fe0e: dd1a ble.n 7000fe46 <_ZNK8touchgfx5Image4drawERKNS_4RectE+0xc6> 7000fe10: fa0f f38c sxth.w r3, ip 7000fe14: 2b00 cmp r3, #0 7000fe16: dd16 ble.n 7000fe46 <_ZNK8touchgfx5Image4drawERKNS_4RectE+0xc6> 7000fe18: 4b0c ldr r3, [pc, #48] @ (7000fe4c <_ZNK8touchgfx5Image4drawERKNS_4RectE+0xcc>) 7000fe1a: 681b ldr r3, [r3, #0] 7000fe1c: f893 205c ldrb.w r2, [r3, #92] @ 0x5c 7000fe20: b10a cbz r2, 7000fe26 <_ZNK8touchgfx5Image4drawERKNS_4RectE+0xa6> 7000fe22: 6d18 ldr r0, [r3, #80] @ 0x50 7000fe24: b900 cbnz r0, 7000fe28 <_ZNK8touchgfx5Image4drawERKNS_4RectE+0xa8> 7000fe26: 6898 ldr r0, [r3, #8] 7000fe28: 2201 movs r2, #1 7000fe2a: 6803 ldr r3, [r0, #0] 7000fe2c: 4631 mov r1, r6 7000fe2e: 9202 str r2, [sp, #8] 7000fe30: f897 2028 ldrb.w r2, [r7, #40] @ 0x28 7000fe34: 9201 str r2, [sp, #4] 7000fe36: aa06 add r2, sp, #24 7000fe38: 9200 str r2, [sp, #0] 7000fe3a: f9bd 2010 ldrsh.w r2, [sp, #16] 7000fe3e: 689c ldr r4, [r3, #8] 7000fe40: f9bd 3012 ldrsh.w r3, [sp, #18] 7000fe44: 47a0 blx r4 7000fe46: b009 add sp, #36 @ 0x24 7000fe48: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7000fe4c: 2400da80 .word 0x2400da80 7000fe50 <_ZNK8touchgfx5Image17invalidateContentEv>: 7000fe50: f890 2028 ldrb.w r2, [r0, #40] @ 0x28 7000fe54: b12a cbz r2, 7000fe62 <_ZNK8touchgfx5Image17invalidateContentEv+0x12> 7000fe56: f890 2025 ldrb.w r2, [r0, #37] @ 0x25 7000fe5a: b112 cbz r2, 7000fe62 <_ZNK8touchgfx5Image17invalidateContentEv+0x12> 7000fe5c: 6803 ldr r3, [r0, #0] 7000fe5e: 695b ldr r3, [r3, #20] 7000fe60: 4718 bx r3 7000fe62: 4770 bx lr 7000fe64 <_ZN8touchgfx3LCD27supportDynamicBitmapDrawingENS_6Bitmap12BitmapFormatE>: 7000fe64: b510 push {r4, lr} 7000fe66: 6803 ldr r3, [r0, #0] 7000fe68: 460c mov r4, r1 7000fe6a: 6b1b ldr r3, [r3, #48] @ 0x30 7000fe6c: 4798 blx r3 7000fe6e: 1b03 subs r3, r0, r4 7000fe70: 4258 negs r0, r3 7000fe72: 4158 adcs r0, r3 7000fe74: bd10 pop {r4, pc} ... 7000fe78 <_ZN8touchgfx3LCD15setDefaultColorENS_9colortypeE>: 7000fe78: 4b01 ldr r3, [pc, #4] @ (7000fe80 <_ZN8touchgfx3LCD15setDefaultColorENS_9colortypeE+0x8>) 7000fe7a: 6019 str r1, [r3, #0] 7000fe7c: 4770 bx lr 7000fe7e: bf00 nop 7000fe80: 2400da84 .word 0x2400da84 7000fe84 <_ZN8touchgfx3LCD18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht>: 7000fe84: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000fe88: 4696 mov lr, r2 7000fe8a: b097 sub sp, #92 @ 0x5c 7000fe8c: 4605 mov r5, r0 7000fe8e: 4614 mov r4, r2 7000fe90: 460e mov r6, r1 7000fe92: 461f mov r7, r3 7000fe94: f10d 0c1c add.w ip, sp, #28 7000fe98: f8bd 8088 ldrh.w r8, [sp, #136] @ 0x88 7000fe9c: f89d 908c ldrb.w r9, [sp, #140] @ 0x8c 7000fea0: f8bd a090 ldrh.w sl, [sp, #144] @ 0x90 7000fea4: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 7000fea8: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7000feac: f8de 3000 ldr.w r3, [lr] 7000feb0: f104 0e14 add.w lr, r4, #20 7000feb4: f8cc 3000 str.w r3, [ip] 7000feb8: f10d 0c30 add.w ip, sp, #48 @ 0x30 7000febc: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 7000fec0: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7000fec4: f8de 3000 ldr.w r3, [lr] 7000fec8: f104 0e28 add.w lr, r4, #40 @ 0x28 7000fecc: f8cc 3000 str.w r3, [ip] 7000fed0: f10d 0c44 add.w ip, sp, #68 @ 0x44 7000fed4: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 7000fed8: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7000fedc: f8de 3000 ldr.w r3, [lr] 7000fee0: 4631 mov r1, r6 7000fee2: 9a21 ldr r2, [sp, #132] @ 0x84 7000fee4: 4628 mov r0, r5 7000fee6: f8cc 3000 str.w r3, [ip] 7000feea: 682b ldr r3, [r5, #0] 7000feec: 9201 str r2, [sp, #4] 7000feee: 9a20 ldr r2, [sp, #128] @ 0x80 7000fef0: f8cd 8008 str.w r8, [sp, #8] 7000fef4: 9200 str r2, [sp, #0] 7000fef6: aa07 add r2, sp, #28 7000fef8: e9cd 9a03 strd r9, sl, [sp, #12] 7000fefc: f8d3 b040 ldr.w fp, [r3, #64] @ 0x40 7000ff00: 463b mov r3, r7 7000ff02: 47d8 blx fp 7000ff04: 46a6 mov lr, r4 7000ff06: f10d 0c1c add.w ip, sp, #28 7000ff0a: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 7000ff0e: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7000ff12: f8de 3000 ldr.w r3, [lr] 7000ff16: f104 0e28 add.w lr, r4, #40 @ 0x28 7000ff1a: 343c adds r4, #60 @ 0x3c 7000ff1c: f8cc 3000 str.w r3, [ip] 7000ff20: f10d 0c30 add.w ip, sp, #48 @ 0x30 7000ff24: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 7000ff28: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7000ff2c: f8de 3000 ldr.w r3, [lr] 7000ff30: f8cc 3000 str.w r3, [ip] 7000ff34: f10d 0c44 add.w ip, sp, #68 @ 0x44 7000ff38: cc0f ldmia r4!, {r0, r1, r2, r3} 7000ff3a: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7000ff3e: 6823 ldr r3, [r4, #0] 7000ff40: 4631 mov r1, r6 7000ff42: 4628 mov r0, r5 7000ff44: f8cc 3000 str.w r3, [ip] 7000ff48: 682b ldr r3, [r5, #0] 7000ff4a: e9cd 9a03 strd r9, sl, [sp, #12] 7000ff4e: 9a21 ldr r2, [sp, #132] @ 0x84 7000ff50: f8cd 8008 str.w r8, [sp, #8] 7000ff54: 9201 str r2, [sp, #4] 7000ff56: 9a20 ldr r2, [sp, #128] @ 0x80 7000ff58: 9200 str r2, [sp, #0] 7000ff5a: aa07 add r2, sp, #28 7000ff5c: 6c1c ldr r4, [r3, #64] @ 0x40 7000ff5e: 463b mov r3, r7 7000ff60: 47a0 blx r4 7000ff62: b017 add sp, #92 @ 0x5c 7000ff64: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7000ff68 <_ZN8touchgfx3LCD22drawTextureMapScanLineERKNS_14DrawingSurfaceERKNS_9GradientsEPKNS_4EdgeES9_RKNS_14TextureSurfaceERKNS_4RectESF_tht>: 7000ff68: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7000ff6c: b08d sub sp, #52 @ 0x34 7000ff6e: 4688 mov r8, r1 7000ff70: 6819 ldr r1, [r3, #0] 7000ff72: 9c16 ldr r4, [sp, #88] @ 0x58 7000ff74: ed92 4a09 vldr s8, [r2, #36] @ 0x24 7000ff78: 6824 ldr r4, [r4, #0] 7000ff7a: edd2 4a0b vldr s9, [r2, #44] @ 0x2c 7000ff7e: eba4 0c01 sub.w ip, r4, r1 7000ff82: 9c18 ldr r4, [sp, #96] @ 0x60 7000ff84: edd3 6a07 vldr s13, [r3, #28] 7000ff88: f9b4 e000 ldrsh.w lr, [r4] 7000ff8c: f8bd 4070 ldrh.w r4, [sp, #112] @ 0x70 7000ff90: f8dd 9064 ldr.w r9, [sp, #100] @ 0x64 7000ff94: eb0e 0601 add.w r6, lr, r1 7000ff98: 4564 cmp r4, ip 7000ff9a: edd3 1a0a vldr s3, [r3, #40] @ 0x28 7000ff9e: ed93 2a0d vldr s4, [r3, #52] @ 0x34 7000ffa2: bfa8 it ge 7000ffa4: 4664 movge r4, ip 7000ffa6: ee07 4a90 vmov s15, r4 7000ffaa: eeb8 5ae7 vcvt.f32.s32 s10, s15 7000ffae: edd2 7a0d vldr s15, [r2, #52] @ 0x34 7000ffb2: f9b9 2000 ldrsh.w r2, [r9] 7000ffb6: ee25 4a04 vmul.f32 s8, s10, s8 7000ffba: 42b2 cmp r2, r6 7000ffbc: ee65 4a24 vmul.f32 s9, s10, s9 7000ffc0: ee25 5a27 vmul.f32 s10, s10, s15 7000ffc4: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 7000ffc8: ee71 0aa4 vadd.f32 s1, s3, s9 7000ffcc: ee32 1a05 vadd.f32 s2, s4, s10 7000ffd0: ee87 7aa6 vdiv.f32 s14, s15, s13 7000ffd4: ee36 0a84 vadd.f32 s0, s13, s8 7000ffd8: ee61 1a87 vmul.f32 s3, s3, s14 7000ffdc: ee22 2a07 vmul.f32 s4, s4, s14 7000ffe0: dd29 ble.n 70010036 <_ZN8touchgfx3LCD22drawTextureMapScanLineERKNS_14DrawingSurfaceERKNS_9GradientsEPKNS_4EdgeES9_RKNS_14TextureSurfaceERKNS_4RectESF_tht+0xce> 7000ffe2: 1b95 subs r5, r2, r6 7000ffe4: fb95 f7f4 sdiv r7, r5, r4 7000ffe8: ee07 7a10 vmov s14, r7 7000ffec: 2f00 cmp r7, #0 7000ffee: fb04 5517 mls r5, r4, r7, r5 7000fff2: eeb8 7ac7 vcvt.f32.s32 s14, s14 7000fff6: eea7 0a04 vfma.f32 s0, s14, s8 7000fffa: eee7 0a24 vfma.f32 s1, s14, s9 7000fffe: eea7 1a05 vfma.f32 s2, s14, s10 70010002: dd12 ble.n 7001002a <_ZN8touchgfx3LCD22drawTextureMapScanLineERKNS_14DrawingSurfaceERKNS_9GradientsEPKNS_4EdgeES9_RKNS_14TextureSurfaceERKNS_4RectESF_tht+0xc2> 70010004: ee70 6a44 vsub.f32 s13, s0, s8 70010008: ee70 1ae4 vsub.f32 s3, s1, s9 7001000c: ee31 2a45 vsub.f32 s4, s2, s10 70010010: eef5 6a40 vcmp.f32 s13, #0.0 70010014: eef1 fa10 vmrs APSR_nzcv, fpscr 70010018: bf14 ite ne 7001001a: ee87 7aa6 vdivne.f32 s14, s15, s13 7001001e: eeb0 7a67 vmoveq.f32 s14, s15 70010022: ee61 1a87 vmul.f32 s3, s3, s14 70010026: ee22 2a07 vmul.f32 s4, s4, s14 7001002a: fb07 fa04 mul.w sl, r7, r4 7001002e: ebac 0c0a sub.w ip, ip, sl 70010032: 4451 add r1, sl 70010034: e001 b.n 7001003a <_ZN8touchgfx3LCD22drawTextureMapScanLineERKNS_14DrawingSurfaceERKNS_9GradientsEPKNS_4EdgeES9_RKNS_14TextureSurfaceERKNS_4RectESF_tht+0xd2> 70010036: 2700 movs r7, #0 70010038: 463d mov r5, r7 7001003a: f8b9 9004 ldrh.w r9, [r9, #4] 7001003e: 444a add r2, r9 70010040: eb0e 0901 add.w r9, lr, r1 70010044: b212 sxth r2, r2 70010046: 44e1 add r9, ip 70010048: 4591 cmp r9, r2 7001004a: bfc4 itt gt 7001004c: eba2 020e subgt.w r2, r2, lr 70010050: eba2 0c01 subgt.w ip, r2, r1 70010054: f1bc 0f00 cmp.w ip, #0 70010058: dd50 ble.n 700100fc <_ZN8touchgfx3LCD22drawTextureMapScanLineERKNS_14DrawingSurfaceERKNS_9GradientsEPKNS_4EdgeES9_RKNS_14TextureSurfaceERKNS_4RectESF_tht+0x194> 7001005a: fb9c f1f4 sdiv r1, ip, r4 7001005e: fb04 c211 mls r2, r4, r1, ip 70010062: b90a cbnz r2, 70010068 <_ZN8touchgfx3LCD22drawTextureMapScanLineERKNS_14DrawingSurfaceERKNS_9GradientsEPKNS_4EdgeES9_RKNS_14TextureSurfaceERKNS_4RectESF_tht+0x100> 70010064: 3901 subs r1, #1 70010066: 4622 mov r2, r4 70010068: eec7 3a80 vdiv.f32 s7, s15, s0 7001006c: 6840 ldr r0, [r0, #4] 7001006e: f89d b06c ldrb.w fp, [sp, #108] @ 0x6c 70010072: 442e add r6, r5 70010074: f8d0 a000 ldr.w sl, [r0] 70010078: 2900 cmp r1, #0 7001007a: bfd4 ite le 7001007c: 4691 movle r9, r2 7001007e: 46a1 movgt r9, r4 70010080: 900b str r0, [sp, #44] @ 0x2c 70010082: 9817 ldr r0, [sp, #92] @ 0x5c 70010084: fb04 6607 mla r6, r4, r7, r6 70010088: eeb0 7a42 vmov.f32 s14, s4 7001008c: f8cd b024 str.w fp, [sp, #36] @ 0x24 70010090: 9008 str r0, [sp, #32] 70010092: eef0 7a61 vmov.f32 s15, s3 70010096: 9818 ldr r0, [sp, #96] @ 0x60 70010098: 695b ldr r3, [r3, #20] 7001009a: eebe 7ac8 vcvt.s32.f32 s14, s14, #16 7001009e: f9b0 b002 ldrsh.w fp, [r0, #2] 700100a2: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 700100a6: 980b ldr r0, [sp, #44] @ 0x2c 700100a8: 445b add r3, fp 700100aa: 9307 str r3, [sp, #28] 700100ac: ee17 3a10 vmov r3, s14 700100b0: e9cd 8605 strd r8, r6, [sp, #20] 700100b4: ee60 2aa3 vmul.f32 s5, s1, s7 700100b8: ee21 3a23 vmul.f32 s6, s2, s7 700100bc: ee72 6ae1 vsub.f32 s13, s5, s3 700100c0: eefe 6ac8 vcvt.s32.f32 s13, s13, #16 700100c4: ee16 ca90 vmov ip, s13 700100c8: ee73 6a42 vsub.f32 s13, s6, s4 700100cc: fb9c fcf4 sdiv ip, ip, r4 700100d0: eefe 6ac8 vcvt.s32.f32 s13, s13, #16 700100d4: ee16 ea90 vmov lr, s13 700100d8: fb9e fef4 sdiv lr, lr, r4 700100dc: fb0e 3305 mla r3, lr, r5, r3 700100e0: 9302 str r3, [sp, #8] 700100e2: ee17 3a90 vmov r3, s15 700100e6: fb0c 3305 mla r3, ip, r5, r3 700100ea: e9cd ce03 strd ip, lr, [sp, #12] 700100ee: e9cd 4300 strd r4, r3, [sp] 700100f2: eba9 0305 sub.w r3, r9, r5 700100f6: f8da 4008 ldr.w r4, [sl, #8] 700100fa: 47a0 blx r4 700100fc: b00d add sp, #52 @ 0x34 700100fe: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} ... 70010104 <_ZN8touchgfx3LCD16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th>: 70010104: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70010108: 460d mov r5, r1 7001010a: 461f mov r7, r3 7001010c: 4606 mov r6, r0 7001010e: 4608 mov r0, r1 70010110: 4614 mov r4, r2 70010112: ed2d 8b08 vpush {d8-d11} 70010116: f9b2 3006 ldrsh.w r3, [r2, #6] 7001011a: b0b3 sub sp, #204 @ 0xcc 7001011c: f9b2 b004 ldrsh.w fp, [r2, #4] 70010120: ee0b 3a90 vmov s23, r3 70010124: f004 fa1e bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 70010128: ee09 0a10 vmov s18, r0 7001012c: 4628 mov r0, r5 7001012e: f004 fa4d bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 70010132: 4b83 ldr r3, [pc, #524] @ (70010340 <_ZN8touchgfx3LCD16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x23c>) 70010134: ee08 0a90 vmov s17, r0 70010138: eeb8 9ac9 vcvt.f32.s32 s18, s18 7001013c: 781b ldrb r3, [r3, #0] 7001013e: eef8 8ae8 vcvt.f32.s32 s17, s17 70010142: ed9f 8a80 vldr s16, [pc, #512] @ 70010344 <_ZN8touchgfx3LCD16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x240> 70010146: 2b01 cmp r3, #1 70010148: d00c beq.n 70010164 <_ZN8touchgfx3LCD16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x60> 7001014a: eef0 9a68 vmov.f32 s19, s17 7001014e: eef0 aa68 vmov.f32 s21, s17 70010152: eeb0 ba49 vmov.f32 s22, s18 70010156: eef0 8a49 vmov.f32 s17, s18 7001015a: eeb0 aa48 vmov.f32 s20, s16 7001015e: eeb0 9a48 vmov.f32 s18, s16 70010162: e007 b.n 70010174 <_ZN8touchgfx3LCD16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x70> 70010164: eef0 9a49 vmov.f32 s19, s18 70010168: eeb0 aa68 vmov.f32 s20, s17 7001016c: eef0 aa48 vmov.f32 s21, s16 70010170: eeb0 ba48 vmov.f32 s22, s16 70010174: 6838 ldr r0, [r7, #0] 70010176: aa0f add r2, sp, #60 @ 0x3c 70010178: 6879 ldr r1, [r7, #4] 7001017a: f10d 094c add.w r9, sp, #76 @ 0x4c 7001017e: f10d 083c add.w r8, sp, #60 @ 0x3c 70010182: f04f 0a00 mov.w sl, #0 70010186: c203 stmia r2!, {r0, r1} 70010188: e9c2 0100 strd r0, r1, [r2] 7001018c: 8821 ldrh r1, [r4, #0] 7001018e: 4617 mov r7, r2 70010190: f8bd 3044 ldrh.w r3, [sp, #68] @ 0x44 70010194: 6820 ldr r0, [r4, #0] 70010196: 440b add r3, r1 70010198: 8861 ldrh r1, [r4, #2] 7001019a: f8ad 3044 strh.w r3, [sp, #68] @ 0x44 7001019e: f8bd 3046 ldrh.w r3, [sp, #70] @ 0x46 700101a2: 440b add r3, r1 700101a4: 6861 ldr r1, [r4, #4] 700101a6: f8ad 3046 strh.w r3, [sp, #70] @ 0x46 700101aa: ab13 add r3, sp, #76 @ 0x4c 700101ac: c303 stmia r3!, {r0, r1} 700101ae: 4648 mov r0, r9 700101b0: f000 fe0a bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 700101b4: f9b4 1004 ldrsh.w r1, [r4, #4] 700101b8: f9b4 3006 ldrsh.w r3, [r4, #6] 700101bc: 4640 mov r0, r8 700101be: f8ad 1058 strh.w r1, [sp, #88] @ 0x58 700101c2: a915 add r1, sp, #84 @ 0x54 700101c4: f8ad 305a strh.w r3, [sp, #90] @ 0x5a 700101c8: f8cd a054 str.w sl, [sp, #84] @ 0x54 700101cc: f000 fe40 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 700101d0: 4638 mov r0, r7 700101d2: f000 fdf9 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 700101d6: 4628 mov r0, r5 700101d8: f004 fab6 bl 70014748 <_ZNK8touchgfx6Bitmap7getDataEv> 700101dc: 4604 mov r4, r0 700101de: 2800 cmp r0, #0 700101e0: f000 80a8 beq.w 70010334 <_ZN8touchgfx3LCD16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x230> 700101e4: ee07 ba90 vmov s15, fp 700101e8: aa15 add r2, sp, #84 @ 0x54 700101ea: a90b add r1, sp, #44 @ 0x2c 700101ec: a807 add r0, sp, #28 700101ee: eeb8 7ae7 vcvt.f32.s32 s14, s15 700101f2: ed8d 8a07 vstr s16, [sp, #28] 700101f6: eef8 7aeb vcvt.f32.s32 s15, s23 700101fa: ed8d 8a0a vstr s16, [sp, #40] @ 0x28 700101fe: ed8d 8a0b vstr s16, [sp, #44] @ 0x2c 70010202: ed8d 7a08 vstr s14, [sp, #32] 70010206: ed8d 7a09 vstr s14, [sp, #36] @ 0x24 7001020a: edcd 7a0d vstr s15, [sp, #52] @ 0x34 7001020e: edcd 7a0e vstr s15, [sp, #56] @ 0x38 70010212: ed8d 8a0c vstr s16, [sp, #48] @ 0x30 70010216: f000 fdff bl 70010e18 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERfS1_RKNS_4RectE> 7001021a: aa15 add r2, sp, #84 @ 0x54 7001021c: a90c add r1, sp, #48 @ 0x30 7001021e: a808 add r0, sp, #32 70010220: f000 fdfa bl 70010e18 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERfS1_RKNS_4RectE> 70010224: aa15 add r2, sp, #84 @ 0x54 70010226: a90d add r1, sp, #52 @ 0x34 70010228: a809 add r0, sp, #36 @ 0x24 7001022a: f000 fdf5 bl 70010e18 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERfS1_RKNS_4RectE> 7001022e: aa15 add r2, sp, #84 @ 0x54 70010230: a90e add r1, sp, #56 @ 0x38 70010232: a80a add r0, sp, #40 @ 0x28 70010234: f000 fdf0 bl 70010e18 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERfS1_RKNS_4RectE> 70010238: eddd 7a0b vldr s15, [sp, #44] @ 0x2c 7001023c: ed8d 8a21 vstr s16, [sp, #132] @ 0x84 70010240: eeb0 7a67 vmov.f32 s14, s15 70010244: eddd 7a08 vldr s15, [sp, #32] 70010248: ed8d 9a22 vstr s18, [sp, #136] @ 0x88 7001024c: eef0 6a67 vmov.f32 s13, s15 70010250: eddd 7a0c vldr s15, [sp, #48] @ 0x30 70010254: eebe 7ace vcvt.s32.f32 s14, s14, #4 70010258: ed8d ba26 vstr s22, [sp, #152] @ 0x98 7001025c: ed8d 8a27 vstr s16, [sp, #156] @ 0x9c 70010260: eefe 6ace vcvt.s32.f32 s13, s13, #4 70010264: edcd 8a2b vstr s17, [sp, #172] @ 0xac 70010268: ee17 3a10 vmov r3, s14 7001026c: eeb0 7a67 vmov.f32 s14, s15 70010270: eddd 7a09 vldr s15, [sp, #36] @ 0x24 70010274: 931f str r3, [sp, #124] @ 0x7c 70010276: eeb0 6a67 vmov.f32 s12, s15 7001027a: eddd 7a0d vldr s15, [sp, #52] @ 0x34 7001027e: 4b32 ldr r3, [pc, #200] @ (70010348 <_ZN8touchgfx3LCD16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x244>) 70010280: eebe 7ace vcvt.s32.f32 s14, s14, #4 70010284: edcd 6a23 vstr s13, [sp, #140] @ 0x8c 70010288: eebe 6ace vcvt.s32.f32 s12, s12, #4 7001028c: 9320 str r3, [sp, #128] @ 0x80 7001028e: 9325 str r3, [sp, #148] @ 0x94 70010290: 932a str r3, [sp, #168] @ 0xa8 70010292: ee16 0a10 vmov r0, s12 70010296: eeb0 6a67 vmov.f32 s12, s15 7001029a: eddd 7a0a vldr s15, [sp, #40] @ 0x28 7001029e: 932f str r3, [sp, #188] @ 0xbc 700102a0: eebe 6ace vcvt.s32.f32 s12, s12, #4 700102a4: 4b29 ldr r3, [pc, #164] @ (7001034c <_ZN8touchgfx3LCD16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x248>) 700102a6: ed8d 7a24 vstr s14, [sp, #144] @ 0x90 700102aa: 881b ldrh r3, [r3, #0] 700102ac: ee16 1a10 vmov r1, s12 700102b0: eeb0 6a67 vmov.f32 s12, s15 700102b4: eddd 7a0e vldr s15, [sp, #56] @ 0x38 700102b8: edcd aa2c vstr s21, [sp, #176] @ 0xb0 700102bc: eebe 6ace vcvt.s32.f32 s12, s12, #4 700102c0: ed8d aa30 vstr s20, [sp, #192] @ 0xc0 700102c4: eefe 7ace vcvt.s32.f32 s15, s15, #4 700102c8: edcd 9a31 vstr s19, [sp, #196] @ 0xc4 700102cc: f8cd a05c str.w sl, [sp, #92] @ 0x5c 700102d0: ee16 2a10 vmov r2, s12 700102d4: ed9d 6a07 vldr s12, [sp, #28] 700102d8: edcd 7a2e vstr s15, [sp, #184] @ 0xb8 700102dc: eebe 6ace vcvt.s32.f32 s12, s12, #4 700102e0: 922d str r2, [sp, #180] @ 0xb4 700102e2: e9cd 0128 strd r0, r1, [sp, #160] @ 0xa0 700102e6: 4628 mov r0, r5 700102e8: ed8d 6a1e vstr s12, [sp, #120] @ 0x78 700102ec: e9cd 3418 strd r3, r4, [sp, #96] @ 0x60 700102f0: f004 fa5a bl 700147a8 <_ZNK8touchgfx6Bitmap12getExtraDataEv> 700102f4: 901a str r0, [sp, #104] @ 0x68 700102f6: 4628 mov r0, r5 700102f8: f004 f934 bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 700102fc: 901b str r0, [sp, #108] @ 0x6c 700102fe: 4628 mov r0, r5 70010300: f004 f964 bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 70010304: 901c str r0, [sp, #112] @ 0x70 70010306: 4628 mov r0, r5 70010308: f004 f92c bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 7001030c: f64f 72ff movw r2, #65535 @ 0xffff 70010310: 6833 ldr r3, [r6, #0] 70010312: a917 add r1, sp, #92 @ 0x5c 70010314: 9204 str r2, [sp, #16] 70010316: f89d 2114 ldrb.w r2, [sp, #276] @ 0x114 7001031a: 901d str r0, [sp, #116] @ 0x74 7001031c: 4630 mov r0, r6 7001031e: 9203 str r2, [sp, #12] 70010320: f8bd 2110 ldrh.w r2, [sp, #272] @ 0x110 70010324: f8cd 9000 str.w r9, [sp] 70010328: e9cd 7201 strd r7, r2, [sp, #4] 7001032c: aa1e add r2, sp, #120 @ 0x78 7001032e: 6c5c ldr r4, [r3, #68] @ 0x44 70010330: ab19 add r3, sp, #100 @ 0x64 70010332: 47a0 blx r4 70010334: b033 add sp, #204 @ 0xcc 70010336: ecbd 8b08 vpop {d8-d11} 7001033a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001033e: bf00 nop 70010340: 2400da72 .word 0x2400da72 70010344: 00000000 .word 0x00000000 70010348: 42c80000 .word 0x42c80000 7001034c: 2400da78 .word 0x2400da78 70010350 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht>: 70010350: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70010354: b0d9 sub sp, #356 @ 0x164 70010356: 461f mov r7, r3 70010358: 4606 mov r6, r0 7001035a: 4614 mov r4, r2 7001035c: f8bd 3190 ldrh.w r3, [sp, #400] @ 0x190 70010360: 910e str r1, [sp, #56] @ 0x38 70010362: 4639 mov r1, r7 70010364: 9309 str r3, [sp, #36] @ 0x24 70010366: f89d 3194 ldrb.w r3, [sp, #404] @ 0x194 7001036a: 930a str r3, [sp, #40] @ 0x28 7001036c: f8bd 3198 ldrh.w r3, [sp, #408] @ 0x198 70010370: 930f str r3, [sp, #60] @ 0x3c 70010372: 6803 ldr r3, [r0, #0] 70010374: 6c9d ldr r5, [r3, #72] @ 0x48 70010376: e9dd 2309 ldrd r2, r3, [sp, #36] @ 0x24 7001037a: 47a8 blx r5 7001037c: 6070 str r0, [r6, #4] 7001037e: 2800 cmp r0, #0 70010380: f000 838b beq.w 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 70010384: 683b ldr r3, [r7, #0] 70010386: eef2 7a04 vmov.f32 s15, #36 @ 0x41200000 10.0 7001038a: ed94 7a02 vldr s14, [r4, #8] 7001038e: 9312 str r3, [sp, #72] @ 0x48 70010390: 687b ldr r3, [r7, #4] 70010392: eeb4 7ae7 vcmpe.f32 s14, s15 70010396: 69a0 ldr r0, [r4, #24] 70010398: 9313 str r3, [sp, #76] @ 0x4c 7001039a: 4bb0 ldr r3, [pc, #704] @ (7001065c <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x30c>) 7001039c: 7819 ldrb r1, [r3, #0] 7001039e: e9d7 2302 ldrd r2, r3, [r7, #8] 700103a2: 2900 cmp r1, #0 700103a4: bf16 itet ne 700103a6: 4619 movne r1, r3 700103a8: 4611 moveq r1, r2 700103aa: 4613 movne r3, r2 700103ac: eef1 fa10 vmrs APSR_nzcv, fpscr 700103b0: 9114 str r1, [sp, #80] @ 0x50 700103b2: 6861 ldr r1, [r4, #4] 700103b4: e9cd 3215 strd r3, r2, [sp, #84] @ 0x54 700103b8: 6ae3 ldr r3, [r4, #44] @ 0x2c 700103ba: f240 836e bls.w 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 700103be: ed94 7a07 vldr s14, [r4, #28] 700103c2: eeb4 7ae7 vcmpe.f32 s14, s15 700103c6: eef1 fa10 vmrs APSR_nzcv, fpscr 700103ca: f240 8366 bls.w 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 700103ce: ed94 7a0c vldr s14, [r4, #48] @ 0x30 700103d2: eeb4 7ae7 vcmpe.f32 s14, s15 700103d6: eef1 fa10 vmrs APSR_nzcv, fpscr 700103da: f240 835e bls.w 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 700103de: 6827 ldr r7, [r4, #0] 700103e0: 4a9f ldr r2, [pc, #636] @ (70010660 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x310>) 700103e2: 4297 cmp r7, r2 700103e4: f2c0 8359 blt.w 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 700103e8: 6965 ldr r5, [r4, #20] 700103ea: 4295 cmp r5, r2 700103ec: f2c0 8355 blt.w 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 700103f0: 6aa2 ldr r2, [r4, #40] @ 0x28 700103f2: f8df c27c ldr.w ip, [pc, #636] @ 70010670 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x320> 700103f6: f502 321c add.w r2, r2, #159744 @ 0x27000 700103fa: 32ff adds r2, #255 @ 0xff 700103fc: 4562 cmp r2, ip 700103fe: f200 834c bhi.w 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 70010402: 4a98 ldr r2, [pc, #608] @ (70010664 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x314>) 70010404: 4297 cmp r7, r2 70010406: f300 8348 bgt.w 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 7001040a: 4295 cmp r5, r2 7001040c: f300 8345 bgt.w 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 70010410: f501 321c add.w r2, r1, #159744 @ 0x27000 70010414: 4d94 ldr r5, [pc, #592] @ (70010668 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x318>) 70010416: 32ff adds r2, #255 @ 0xff 70010418: 42aa cmp r2, r5 7001041a: f200 833e bhi.w 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 7001041e: f500 321c add.w r2, r0, #159744 @ 0x27000 70010422: 32ff adds r2, #255 @ 0xff 70010424: 42aa cmp r2, r5 70010426: f200 8338 bhi.w 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 7001042a: f503 321c add.w r2, r3, #159744 @ 0x27000 7001042e: 32ff adds r2, #255 @ 0xff 70010430: 4562 cmp r2, ip 70010432: f200 8332 bhi.w 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 70010436: 4281 cmp r1, r0 70010438: da06 bge.n 70010448 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0xf8> 7001043a: 4299 cmp r1, r3 7001043c: dc0e bgt.n 7001045c <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x10c> 7001043e: 4298 cmp r0, r3 70010440: da0f bge.n 70010462 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x112> 70010442: 2502 movs r5, #2 70010444: 2701 movs r7, #1 70010446: e00e b.n 70010466 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x116> 70010448: 4298 cmp r0, r3 7001044a: dc11 bgt.n 70010470 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x120> 7001044c: 4299 cmp r1, r3 7001044e: da16 bge.n 7001047e <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x12e> 70010450: 2502 movs r5, #2 70010452: 2703 movs r7, #3 70010454: f04f 0800 mov.w r8, #0 70010458: 46a9 mov r9, r5 7001045a: e015 b.n 70010488 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x138> 7001045c: 2501 movs r5, #1 7001045e: 2700 movs r7, #0 70010460: e008 b.n 70010474 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x124> 70010462: 2501 movs r5, #1 70010464: 2702 movs r7, #2 70010466: 46a9 mov r9, r5 70010468: 46b8 mov r8, r7 7001046a: f04f 0a00 mov.w sl, #0 7001046e: e00d b.n 7001048c <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x13c> 70010470: 2500 movs r5, #0 70010472: 2701 movs r7, #1 70010474: 46a9 mov r9, r5 70010476: 46b8 mov r8, r7 70010478: f04f 0a02 mov.w sl, #2 7001047c: e006 b.n 7001048c <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x13c> 7001047e: 2702 movs r7, #2 70010480: 2503 movs r5, #3 70010482: f04f 0900 mov.w r9, #0 70010486: 46b8 mov r8, r7 70010488: f04f 0a01 mov.w sl, #1 7001048c: 4621 mov r1, r4 7001048e: a847 add r0, sp, #284 @ 0x11c 70010490: f003 fe06 bl 700140a0 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE> 70010494: 4622 mov r2, r4 70010496: 4653 mov r3, sl 70010498: a947 add r1, sp, #284 @ 0x11c 7001049a: a817 add r0, sp, #92 @ 0x5c 7001049c: f8cd 9000 str.w r9, [sp] 700104a0: f003 feec bl 7001427c <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii> 700104a4: 4622 mov r2, r4 700104a6: 4653 mov r3, sl 700104a8: a947 add r1, sp, #284 @ 0x11c 700104aa: a827 add r0, sp, #156 @ 0x9c 700104ac: f8cd 8000 str.w r8, [sp] 700104b0: f003 fee4 bl 7001427c <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii> 700104b4: 4643 mov r3, r8 700104b6: 4622 mov r2, r4 700104b8: a947 add r1, sp, #284 @ 0x11c 700104ba: a837 add r0, sp, #220 @ 0xdc 700104bc: f8cd 9000 str.w r9, [sp] 700104c0: f003 fedc bl 7001427c <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii> 700104c4: 42af cmp r7, r5 700104c6: af10 add r7, sp, #64 @ 0x40 700104c8: bfb7 itett lt 700104ca: 2300 movlt r3, #0 700104cc: 2301 movge r3, #1 700104ce: ad27 addlt r5, sp, #156 @ 0x9c 700104d0: ac17 addlt r4, sp, #92 @ 0x5c 700104d2: bfb1 iteee lt 700104d4: 930d strlt r3, [sp, #52] @ 0x34 700104d6: ad17 addge r5, sp, #92 @ 0x5c 700104d8: 930d strge r3, [sp, #52] @ 0x34 700104da: ac27 addge r4, sp, #156 @ 0x9c 700104dc: 9b0e ldr r3, [sp, #56] @ 0x38 700104de: e893 0003 ldmia.w r3, {r0, r1} 700104e2: e887 0003 stmia.w r7, {r0, r1} 700104e6: b928 cbnz r0, 700104f4 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x1a4> 700104e8: 4b60 ldr r3, [pc, #384] @ (7001066c <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x31c>) 700104ea: 6818 ldr r0, [r3, #0] 700104ec: 6803 ldr r3, [r0, #0] 700104ee: 6adb ldr r3, [r3, #44] @ 0x2c 700104f0: 4798 blx r3 700104f2: 6038 str r0, [r7, #0] 700104f4: 9b62 ldr r3, [sp, #392] @ 0x188 700104f6: 6961 ldr r1, [r4, #20] 700104f8: f9b3 3002 ldrsh.w r3, [r3, #2] 700104fc: 9863 ldr r0, [sp, #396] @ 0x18c 700104fe: 4419 add r1, r3 70010500: 930b str r3, [sp, #44] @ 0x2c 70010502: 9b63 ldr r3, [sp, #396] @ 0x18c 70010504: 88c0 ldrh r0, [r0, #6] 70010506: f9b3 3002 ldrsh.w r3, [r3, #2] 7001050a: 9a2d ldr r2, [sp, #180] @ 0xb4 7001050c: 4418 add r0, r3 7001050e: b200 sxth r0, r0 70010510: 4281 cmp r1, r0 70010512: 900c str r0, [sp, #48] @ 0x30 70010514: da0c bge.n 70010530 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x1e0> 70010516: 4299 cmp r1, r3 70010518: f280 8094 bge.w 70010644 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x2f4> 7001051c: 2a00 cmp r2, #0 7001051e: f340 8091 ble.w 70010644 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x2f4> 70010522: 1a5b subs r3, r3, r1 70010524: 4293 cmp r3, r2 70010526: bfa8 it ge 70010528: 4613 movge r3, r2 7001052a: f103 3bff add.w fp, r3, #4294967295 @ 0xffffffff 7001052e: e005 b.n 7001053c <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x1ec> 70010530: 2a00 cmp r2, #0 70010532: f340 8087 ble.w 70010644 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x2f4> 70010536: f102 3bff add.w fp, r2, #4294967295 @ 0xffffffff 7001053a: 4613 mov r3, r2 7001053c: 992c ldr r1, [sp, #176] @ 0xb0 7001053e: eddd 7a31 vldr s15, [sp, #196] @ 0xc4 70010542: f101 0e02 add.w lr, r1, #2 70010546: ed9d 6a32 vldr s12, [sp, #200] @ 0xc8 7001054a: ed9d 7a34 vldr s14, [sp, #208] @ 0xd0 7001054e: f101 0c01 add.w ip, r1, #1 70010552: eddd 5a35 vldr s11, [sp, #212] @ 0xd4 70010556: 44de add lr, fp 70010558: eddd 6a2e vldr s13, [sp, #184] @ 0xb8 7001055c: ed9d 5a2f vldr s10, [sp, #188] @ 0xbc 70010560: 982b ldr r0, [sp, #172] @ 0xac 70010562: eddd 4a30 vldr s9, [sp, #192] @ 0xc0 70010566: ed9d 4a33 vldr s8, [sp, #204] @ 0xcc 7001056a: eddd 3a36 vldr s7, [sp, #216] @ 0xd8 7001056e: e9dd 7927 ldrd r7, r9, [sp, #156] @ 0x9c 70010572: e9dd a829 ldrd sl, r8, [sp, #164] @ 0xa4 70010576: e000 b.n 7001057a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x22a> 70010578: 46dc mov ip, fp 7001057a: 4450 add r0, sl 7001057c: ee77 7a86 vadd.f32 s15, s15, s12 70010580: ee37 7a25 vadd.f32 s14, s14, s11 70010584: 444f add r7, r9 70010586: 4540 cmp r0, r8 70010588: ee76 6a85 vadd.f32 s13, s13, s10 7001058c: db08 blt.n 700105a0 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x250> 7001058e: ee76 6aa4 vadd.f32 s13, s13, s9 70010592: 3701 adds r7, #1 70010594: ee77 7a84 vadd.f32 s15, s15, s8 70010598: eba0 0008 sub.w r0, r0, r8 7001059c: ee37 7a23 vadd.f32 s14, s14, s7 700105a0: f10c 0b01 add.w fp, ip, #1 700105a4: 45de cmp lr, fp 700105a6: d1e7 bne.n 70010578 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x228> 700105a8: 4411 add r1, r2 700105aa: 902b str r0, [sp, #172] @ 0xac 700105ac: edcd 6a2e vstr s13, [sp, #184] @ 0xb8 700105b0: eba1 010c sub.w r1, r1, ip 700105b4: ed8d 7a34 vstr s14, [sp, #208] @ 0xd0 700105b8: edcd 7a31 vstr s15, [sp, #196] @ 0xc4 700105bc: 9727 str r7, [sp, #156] @ 0x9c 700105be: eddd 7a21 vldr s15, [sp, #132] @ 0x84 700105c2: ed9d 6a22 vldr s12, [sp, #136] @ 0x88 700105c6: ed9d 7a24 vldr s14, [sp, #144] @ 0x90 700105ca: eddd 5a25 vldr s11, [sp, #148] @ 0x94 700105ce: eddd 6a1e vldr s13, [sp, #120] @ 0x78 700105d2: ed9d 5a1f vldr s10, [sp, #124] @ 0x7c 700105d6: 981b ldr r0, [sp, #108] @ 0x6c 700105d8: eddd 4a20 vldr s9, [sp, #128] @ 0x80 700105dc: ed9d 4a23 vldr s8, [sp, #140] @ 0x8c 700105e0: eddd 3a26 vldr s7, [sp, #152] @ 0x98 700105e4: e9cd c12c strd ip, r1, [sp, #176] @ 0xb0 700105e8: e9dd 1c1c ldrd r1, ip, [sp, #112] @ 0x70 700105ec: e9dd 7a17 ldrd r7, sl, [sp, #92] @ 0x5c 700105f0: e9dd be19 ldrd fp, lr, [sp, #100] @ 0x64 700105f4: 4688 mov r8, r1 700105f6: eb03 0901 add.w r9, r3, r1 700105fa: 4458 add r0, fp 700105fc: ee77 7a86 vadd.f32 s15, s15, s12 70010600: ee37 7a25 vadd.f32 s14, s14, s11 70010604: 4457 add r7, sl 70010606: 4570 cmp r0, lr 70010608: ee76 6a85 vadd.f32 s13, s13, s10 7001060c: f101 0101 add.w r1, r1, #1 70010610: db08 blt.n 70010624 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x2d4> 70010612: ee76 6aa4 vadd.f32 s13, s13, s9 70010616: 3701 adds r7, #1 70010618: ee77 7a84 vadd.f32 s15, s15, s8 7001061c: eba0 000e sub.w r0, r0, lr 70010620: ee37 7a23 vadd.f32 s14, s14, s7 70010624: 4549 cmp r1, r9 70010626: d1e8 bne.n 700105fa <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x2aa> 70010628: 44c4 add ip, r8 7001062a: 901b str r0, [sp, #108] @ 0x6c 7001062c: 1ad2 subs r2, r2, r3 7001062e: edcd 6a1e vstr s13, [sp, #120] @ 0x78 70010632: ebac 0001 sub.w r0, ip, r1 70010636: ed8d 7a24 vstr s14, [sp, #144] @ 0x90 7001063a: edcd 7a21 vstr s15, [sp, #132] @ 0x84 7001063e: 9717 str r7, [sp, #92] @ 0x5c 70010640: e9cd 101c strd r1, r0, [sp, #112] @ 0x70 70010644: 6963 ldr r3, [r4, #20] 70010646: f10d 0848 add.w r8, sp, #72 @ 0x48 7001064a: 990b ldr r1, [sp, #44] @ 0x2c 7001064c: 4419 add r1, r3 7001064e: 460b mov r3, r1 70010650: 990c ldr r1, [sp, #48] @ 0x30 70010652: 1acf subs r7, r1, r3 70010654: 4297 cmp r7, r2 70010656: bfa8 it ge 70010658: 4617 movge r7, r2 7001065a: e0b0 b.n 700107be <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x46e> 7001065c: 2400da72 .word 0x2400da72 70010660: fffd8f01 .word 0xfffd8f01 70010664: 00027100 .word 0x00027100 70010668: 0004e1ff .word 0x0004e1ff 7001066c: 2400da80 .word 0x2400da80 70010670: 0004e1fe .word 0x0004e1fe 70010674: 9b62 ldr r3, [sp, #392] @ 0x188 70010676: 6829 ldr r1, [r5, #0] 70010678: f9b3 2000 ldrsh.w r2, [r3] 7001067c: 9b63 ldr r3, [sp, #396] @ 0x18c 7001067e: 4411 add r1, r2 70010680: f9b3 3000 ldrsh.w r3, [r3] 70010684: 4299 cmp r1, r3 70010686: dd1b ble.n 700106c0 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x370> 70010688: 6821 ldr r1, [r4, #0] 7001068a: 440a add r2, r1 7001068c: 9963 ldr r1, [sp, #396] @ 0x18c 7001068e: 8889 ldrh r1, [r1, #4] 70010690: 440b add r3, r1 70010692: b21b sxth r3, r3 70010694: 429a cmp r2, r3 70010696: dc13 bgt.n 700106c0 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x370> 70010698: 9a0f ldr r2, [sp, #60] @ 0x3c 7001069a: a910 add r1, sp, #64 @ 0x40 7001069c: 6833 ldr r3, [r6, #0] 7001069e: 4630 mov r0, r6 700106a0: 9206 str r2, [sp, #24] 700106a2: 9a0a ldr r2, [sp, #40] @ 0x28 700106a4: 9500 str r5, [sp, #0] 700106a6: 9205 str r2, [sp, #20] 700106a8: 9a09 ldr r2, [sp, #36] @ 0x24 700106aa: 9204 str r2, [sp, #16] 700106ac: 9a63 ldr r2, [sp, #396] @ 0x18c 700106ae: 9203 str r2, [sp, #12] 700106b0: 9a62 ldr r2, [sp, #392] @ 0x188 700106b2: e9cd 8201 strd r8, r2, [sp, #4] 700106b6: aa47 add r2, sp, #284 @ 0x11c 700106b8: f8d3 904c ldr.w r9, [r3, #76] @ 0x4c 700106bc: 4623 mov r3, r4 700106be: 47c8 blx r9 700106c0: ed94 7a0a vldr s14, [r4, #40] @ 0x28 700106c4: edd4 7a0b vldr s15, [r4, #44] @ 0x2c 700106c8: edd4 6a0e vldr s13, [r4, #56] @ 0x38 700106cc: ee37 7a27 vadd.f32 s14, s14, s15 700106d0: edd4 7a0d vldr s15, [r4, #52] @ 0x34 700106d4: 68a1 ldr r1, [r4, #8] 700106d6: ee77 7aa6 vadd.f32 s15, s15, s13 700106da: ed94 6a08 vldr s12, [r4, #32] 700106de: edd4 6a07 vldr s13, [r4, #28] 700106e2: ed84 7a0a vstr s14, [r4, #40] @ 0x28 700106e6: ee76 6a86 vadd.f32 s13, s13, s12 700106ea: edc4 7a0d vstr s15, [r4, #52] @ 0x34 700106ee: e9d4 2300 ldrd r2, r3, [r4] 700106f2: edc4 6a07 vstr s13, [r4, #28] 700106f6: 441a add r2, r3 700106f8: 6963 ldr r3, [r4, #20] 700106fa: 3301 adds r3, #1 700106fc: 6022 str r2, [r4, #0] 700106fe: 6163 str r3, [r4, #20] 70010700: 69a3 ldr r3, [r4, #24] 70010702: 3b01 subs r3, #1 70010704: 61a3 str r3, [r4, #24] 70010706: 6923 ldr r3, [r4, #16] 70010708: 440b add r3, r1 7001070a: 68e1 ldr r1, [r4, #12] 7001070c: 428b cmp r3, r1 7001070e: 6123 str r3, [r4, #16] 70010710: db15 blt.n 7001073e <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x3ee> 70010712: ed94 6a09 vldr s12, [r4, #36] @ 0x24 70010716: 3201 adds r2, #1 70010718: 1a5b subs r3, r3, r1 7001071a: ee76 6a26 vadd.f32 s13, s12, s13 7001071e: 6022 str r2, [r4, #0] 70010720: 6123 str r3, [r4, #16] 70010722: edc4 6a07 vstr s13, [r4, #28] 70010726: edd4 6a0c vldr s13, [r4, #48] @ 0x30 7001072a: ee36 7a87 vadd.f32 s14, s13, s14 7001072e: ed84 7a0a vstr s14, [r4, #40] @ 0x28 70010732: ed94 7a0f vldr s14, [r4, #60] @ 0x3c 70010736: ee77 7a27 vadd.f32 s15, s14, s15 7001073a: edc4 7a0d vstr s15, [r4, #52] @ 0x34 7001073e: ed95 7a0a vldr s14, [r5, #40] @ 0x28 70010742: edd5 7a0b vldr s15, [r5, #44] @ 0x2c 70010746: edd5 6a0e vldr s13, [r5, #56] @ 0x38 7001074a: ee37 7a27 vadd.f32 s14, s14, s15 7001074e: edd5 7a0d vldr s15, [r5, #52] @ 0x34 70010752: 68a9 ldr r1, [r5, #8] 70010754: ee77 7aa6 vadd.f32 s15, s15, s13 70010758: ed95 6a08 vldr s12, [r5, #32] 7001075c: edd5 6a07 vldr s13, [r5, #28] 70010760: ed85 7a0a vstr s14, [r5, #40] @ 0x28 70010764: ee76 6a86 vadd.f32 s13, s13, s12 70010768: edc5 7a0d vstr s15, [r5, #52] @ 0x34 7001076c: e9d5 2300 ldrd r2, r3, [r5] 70010770: edc5 6a07 vstr s13, [r5, #28] 70010774: 441a add r2, r3 70010776: 696b ldr r3, [r5, #20] 70010778: 3301 adds r3, #1 7001077a: 602a str r2, [r5, #0] 7001077c: 616b str r3, [r5, #20] 7001077e: 69ab ldr r3, [r5, #24] 70010780: 3b01 subs r3, #1 70010782: 61ab str r3, [r5, #24] 70010784: 692b ldr r3, [r5, #16] 70010786: 440b add r3, r1 70010788: 68e9 ldr r1, [r5, #12] 7001078a: 428b cmp r3, r1 7001078c: 612b str r3, [r5, #16] 7001078e: db15 blt.n 700107bc <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x46c> 70010790: ed95 6a09 vldr s12, [r5, #36] @ 0x24 70010794: 3201 adds r2, #1 70010796: 1a5b subs r3, r3, r1 70010798: ee76 6a26 vadd.f32 s13, s12, s13 7001079c: 602a str r2, [r5, #0] 7001079e: 612b str r3, [r5, #16] 700107a0: edc5 6a07 vstr s13, [r5, #28] 700107a4: edd5 6a0c vldr s13, [r5, #48] @ 0x30 700107a8: ee36 7a87 vadd.f32 s14, s13, s14 700107ac: ed85 7a0a vstr s14, [r5, #40] @ 0x28 700107b0: ed95 7a0f vldr s14, [r5, #60] @ 0x3c 700107b4: ee77 7a27 vadd.f32 s15, s14, s15 700107b8: edc5 7a0d vstr s15, [r5, #52] @ 0x34 700107bc: 3f01 subs r7, #1 700107be: 2f00 cmp r7, #0 700107c0: f73f af58 bgt.w 70010674 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x324> 700107c4: 9b0d ldr r3, [sp, #52] @ 0x34 700107c6: 9a3d ldr r2, [sp, #244] @ 0xf4 700107c8: b113 cbz r3, 700107d0 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x480> 700107ca: ad17 add r5, sp, #92 @ 0x5c 700107cc: ac37 add r4, sp, #220 @ 0xdc 700107ce: e001 b.n 700107d4 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x484> 700107d0: ad37 add r5, sp, #220 @ 0xdc 700107d2: ac17 add r4, sp, #92 @ 0x5c 700107d4: 9b62 ldr r3, [sp, #392] @ 0x188 700107d6: 6961 ldr r1, [r4, #20] 700107d8: f9b3 3002 ldrsh.w r3, [r3, #2] 700107dc: 9863 ldr r0, [sp, #396] @ 0x18c 700107de: 4419 add r1, r3 700107e0: 930b str r3, [sp, #44] @ 0x2c 700107e2: 9b63 ldr r3, [sp, #396] @ 0x18c 700107e4: 88c0 ldrh r0, [r0, #6] 700107e6: f9b3 3002 ldrsh.w r3, [r3, #2] 700107ea: 4418 add r0, r3 700107ec: b200 sxth r0, r0 700107ee: 4281 cmp r1, r0 700107f0: 900c str r0, [sp, #48] @ 0x30 700107f2: da0c bge.n 7001080e <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x4be> 700107f4: 4299 cmp r1, r3 700107f6: f280 8094 bge.w 70010922 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x5d2> 700107fa: 2a00 cmp r2, #0 700107fc: f340 8091 ble.w 70010922 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x5d2> 70010800: 1a5b subs r3, r3, r1 70010802: 4293 cmp r3, r2 70010804: bfa8 it ge 70010806: 4613 movge r3, r2 70010808: f103 3bff add.w fp, r3, #4294967295 @ 0xffffffff 7001080c: e005 b.n 7001081a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x4ca> 7001080e: 2a00 cmp r2, #0 70010810: f340 8087 ble.w 70010922 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x5d2> 70010814: f102 3bff add.w fp, r2, #4294967295 @ 0xffffffff 70010818: 4613 mov r3, r2 7001081a: 993c ldr r1, [sp, #240] @ 0xf0 7001081c: eddd 7a41 vldr s15, [sp, #260] @ 0x104 70010820: f101 0e02 add.w lr, r1, #2 70010824: ed9d 6a42 vldr s12, [sp, #264] @ 0x108 70010828: ed9d 7a44 vldr s14, [sp, #272] @ 0x110 7001082c: f101 0c01 add.w ip, r1, #1 70010830: eddd 5a45 vldr s11, [sp, #276] @ 0x114 70010834: 44de add lr, fp 70010836: eddd 6a3e vldr s13, [sp, #248] @ 0xf8 7001083a: ed9d 5a3f vldr s10, [sp, #252] @ 0xfc 7001083e: 983b ldr r0, [sp, #236] @ 0xec 70010840: eddd 4a40 vldr s9, [sp, #256] @ 0x100 70010844: ed9d 4a43 vldr s8, [sp, #268] @ 0x10c 70010848: eddd 3a46 vldr s7, [sp, #280] @ 0x118 7001084c: e9dd 7937 ldrd r7, r9, [sp, #220] @ 0xdc 70010850: e9dd a839 ldrd sl, r8, [sp, #228] @ 0xe4 70010854: e000 b.n 70010858 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x508> 70010856: 46dc mov ip, fp 70010858: 4450 add r0, sl 7001085a: ee77 7a86 vadd.f32 s15, s15, s12 7001085e: ee37 7a25 vadd.f32 s14, s14, s11 70010862: 444f add r7, r9 70010864: 4540 cmp r0, r8 70010866: ee76 6a85 vadd.f32 s13, s13, s10 7001086a: db08 blt.n 7001087e <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x52e> 7001086c: ee76 6aa4 vadd.f32 s13, s13, s9 70010870: 3701 adds r7, #1 70010872: ee77 7a84 vadd.f32 s15, s15, s8 70010876: eba0 0008 sub.w r0, r0, r8 7001087a: ee37 7a23 vadd.f32 s14, s14, s7 7001087e: f10c 0b01 add.w fp, ip, #1 70010882: 45de cmp lr, fp 70010884: d1e7 bne.n 70010856 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x506> 70010886: 4411 add r1, r2 70010888: 903b str r0, [sp, #236] @ 0xec 7001088a: edcd 6a3e vstr s13, [sp, #248] @ 0xf8 7001088e: eba1 010c sub.w r1, r1, ip 70010892: ed8d 7a44 vstr s14, [sp, #272] @ 0x110 70010896: edcd 7a41 vstr s15, [sp, #260] @ 0x104 7001089a: 9737 str r7, [sp, #220] @ 0xdc 7001089c: eddd 7a21 vldr s15, [sp, #132] @ 0x84 700108a0: ed9d 6a22 vldr s12, [sp, #136] @ 0x88 700108a4: ed9d 7a24 vldr s14, [sp, #144] @ 0x90 700108a8: eddd 5a25 vldr s11, [sp, #148] @ 0x94 700108ac: eddd 6a1e vldr s13, [sp, #120] @ 0x78 700108b0: ed9d 5a1f vldr s10, [sp, #124] @ 0x7c 700108b4: 981b ldr r0, [sp, #108] @ 0x6c 700108b6: eddd 4a20 vldr s9, [sp, #128] @ 0x80 700108ba: ed9d 4a23 vldr s8, [sp, #140] @ 0x8c 700108be: eddd 3a26 vldr s7, [sp, #152] @ 0x98 700108c2: e9cd c13c strd ip, r1, [sp, #240] @ 0xf0 700108c6: e9dd 1c1c ldrd r1, ip, [sp, #112] @ 0x70 700108ca: e9dd 7a17 ldrd r7, sl, [sp, #92] @ 0x5c 700108ce: e9dd be19 ldrd fp, lr, [sp, #100] @ 0x64 700108d2: 4688 mov r8, r1 700108d4: eb03 0901 add.w r9, r3, r1 700108d8: 4458 add r0, fp 700108da: ee77 7a86 vadd.f32 s15, s15, s12 700108de: ee37 7a25 vadd.f32 s14, s14, s11 700108e2: 4457 add r7, sl 700108e4: 4570 cmp r0, lr 700108e6: ee76 6a85 vadd.f32 s13, s13, s10 700108ea: f101 0101 add.w r1, r1, #1 700108ee: db08 blt.n 70010902 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x5b2> 700108f0: ee76 6aa4 vadd.f32 s13, s13, s9 700108f4: 3701 adds r7, #1 700108f6: ee77 7a84 vadd.f32 s15, s15, s8 700108fa: eba0 000e sub.w r0, r0, lr 700108fe: ee37 7a23 vadd.f32 s14, s14, s7 70010902: 4549 cmp r1, r9 70010904: d1e8 bne.n 700108d8 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x588> 70010906: 44c4 add ip, r8 70010908: 901b str r0, [sp, #108] @ 0x6c 7001090a: 1ad2 subs r2, r2, r3 7001090c: edcd 6a1e vstr s13, [sp, #120] @ 0x78 70010910: ebac 0001 sub.w r0, ip, r1 70010914: ed8d 7a24 vstr s14, [sp, #144] @ 0x90 70010918: edcd 7a21 vstr s15, [sp, #132] @ 0x84 7001091c: 9717 str r7, [sp, #92] @ 0x5c 7001091e: e9cd 101c strd r1, r0, [sp, #112] @ 0x70 70010922: 6963 ldr r3, [r4, #20] 70010924: f10d 0848 add.w r8, sp, #72 @ 0x48 70010928: 990b ldr r1, [sp, #44] @ 0x2c 7001092a: 4419 add r1, r3 7001092c: 460b mov r3, r1 7001092e: 990c ldr r1, [sp, #48] @ 0x30 70010930: 1acf subs r7, r1, r3 70010932: 4297 cmp r7, r2 70010934: bfa8 it ge 70010936: 4617 movge r7, r2 70010938: e0a4 b.n 70010a84 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x734> 7001093a: 9b62 ldr r3, [sp, #392] @ 0x188 7001093c: 6829 ldr r1, [r5, #0] 7001093e: f9b3 2000 ldrsh.w r2, [r3] 70010942: 9b63 ldr r3, [sp, #396] @ 0x18c 70010944: 4411 add r1, r2 70010946: f9b3 3000 ldrsh.w r3, [r3] 7001094a: 4299 cmp r1, r3 7001094c: dd1b ble.n 70010986 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x636> 7001094e: 6821 ldr r1, [r4, #0] 70010950: 440a add r2, r1 70010952: 9963 ldr r1, [sp, #396] @ 0x18c 70010954: 8889 ldrh r1, [r1, #4] 70010956: 440b add r3, r1 70010958: b21b sxth r3, r3 7001095a: 429a cmp r2, r3 7001095c: dc13 bgt.n 70010986 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x636> 7001095e: 9a0f ldr r2, [sp, #60] @ 0x3c 70010960: a910 add r1, sp, #64 @ 0x40 70010962: 6833 ldr r3, [r6, #0] 70010964: 4630 mov r0, r6 70010966: 9206 str r2, [sp, #24] 70010968: 9a0a ldr r2, [sp, #40] @ 0x28 7001096a: 9500 str r5, [sp, #0] 7001096c: 9205 str r2, [sp, #20] 7001096e: 9a09 ldr r2, [sp, #36] @ 0x24 70010970: 9204 str r2, [sp, #16] 70010972: 9a63 ldr r2, [sp, #396] @ 0x18c 70010974: 9203 str r2, [sp, #12] 70010976: 9a62 ldr r2, [sp, #392] @ 0x188 70010978: e9cd 8201 strd r8, r2, [sp, #4] 7001097c: aa47 add r2, sp, #284 @ 0x11c 7001097e: f8d3 904c ldr.w r9, [r3, #76] @ 0x4c 70010982: 4623 mov r3, r4 70010984: 47c8 blx r9 70010986: ed94 7a0a vldr s14, [r4, #40] @ 0x28 7001098a: edd4 7a0b vldr s15, [r4, #44] @ 0x2c 7001098e: edd4 6a0e vldr s13, [r4, #56] @ 0x38 70010992: ee37 7a27 vadd.f32 s14, s14, s15 70010996: edd4 7a0d vldr s15, [r4, #52] @ 0x34 7001099a: 68a1 ldr r1, [r4, #8] 7001099c: ee77 7aa6 vadd.f32 s15, s15, s13 700109a0: ed94 6a08 vldr s12, [r4, #32] 700109a4: edd4 6a07 vldr s13, [r4, #28] 700109a8: ed84 7a0a vstr s14, [r4, #40] @ 0x28 700109ac: ee76 6a86 vadd.f32 s13, s13, s12 700109b0: edc4 7a0d vstr s15, [r4, #52] @ 0x34 700109b4: e9d4 2300 ldrd r2, r3, [r4] 700109b8: edc4 6a07 vstr s13, [r4, #28] 700109bc: 441a add r2, r3 700109be: 6963 ldr r3, [r4, #20] 700109c0: 3301 adds r3, #1 700109c2: 6022 str r2, [r4, #0] 700109c4: 6163 str r3, [r4, #20] 700109c6: 69a3 ldr r3, [r4, #24] 700109c8: 3b01 subs r3, #1 700109ca: 61a3 str r3, [r4, #24] 700109cc: 6923 ldr r3, [r4, #16] 700109ce: 440b add r3, r1 700109d0: 68e1 ldr r1, [r4, #12] 700109d2: 428b cmp r3, r1 700109d4: 6123 str r3, [r4, #16] 700109d6: db15 blt.n 70010a04 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x6b4> 700109d8: ed94 6a09 vldr s12, [r4, #36] @ 0x24 700109dc: 3201 adds r2, #1 700109de: 1a5b subs r3, r3, r1 700109e0: ee76 6a26 vadd.f32 s13, s12, s13 700109e4: 6022 str r2, [r4, #0] 700109e6: 6123 str r3, [r4, #16] 700109e8: edc4 6a07 vstr s13, [r4, #28] 700109ec: edd4 6a0c vldr s13, [r4, #48] @ 0x30 700109f0: ee36 7a87 vadd.f32 s14, s13, s14 700109f4: ed84 7a0a vstr s14, [r4, #40] @ 0x28 700109f8: ed94 7a0f vldr s14, [r4, #60] @ 0x3c 700109fc: ee77 7a27 vadd.f32 s15, s14, s15 70010a00: edc4 7a0d vstr s15, [r4, #52] @ 0x34 70010a04: ed95 7a0a vldr s14, [r5, #40] @ 0x28 70010a08: edd5 7a0b vldr s15, [r5, #44] @ 0x2c 70010a0c: edd5 6a0e vldr s13, [r5, #56] @ 0x38 70010a10: ee37 7a27 vadd.f32 s14, s14, s15 70010a14: edd5 7a0d vldr s15, [r5, #52] @ 0x34 70010a18: 68a9 ldr r1, [r5, #8] 70010a1a: ee77 7aa6 vadd.f32 s15, s15, s13 70010a1e: ed95 6a08 vldr s12, [r5, #32] 70010a22: edd5 6a07 vldr s13, [r5, #28] 70010a26: ed85 7a0a vstr s14, [r5, #40] @ 0x28 70010a2a: ee76 6a86 vadd.f32 s13, s13, s12 70010a2e: edc5 7a0d vstr s15, [r5, #52] @ 0x34 70010a32: e9d5 2300 ldrd r2, r3, [r5] 70010a36: edc5 6a07 vstr s13, [r5, #28] 70010a3a: 441a add r2, r3 70010a3c: 696b ldr r3, [r5, #20] 70010a3e: 3301 adds r3, #1 70010a40: 602a str r2, [r5, #0] 70010a42: 616b str r3, [r5, #20] 70010a44: 69ab ldr r3, [r5, #24] 70010a46: 3b01 subs r3, #1 70010a48: 61ab str r3, [r5, #24] 70010a4a: 692b ldr r3, [r5, #16] 70010a4c: 440b add r3, r1 70010a4e: 68e9 ldr r1, [r5, #12] 70010a50: 428b cmp r3, r1 70010a52: 612b str r3, [r5, #16] 70010a54: db15 blt.n 70010a82 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x732> 70010a56: ed95 6a09 vldr s12, [r5, #36] @ 0x24 70010a5a: 3201 adds r2, #1 70010a5c: 1a5b subs r3, r3, r1 70010a5e: ee76 6a26 vadd.f32 s13, s12, s13 70010a62: 602a str r2, [r5, #0] 70010a64: 612b str r3, [r5, #16] 70010a66: edc5 6a07 vstr s13, [r5, #28] 70010a6a: edd5 6a0c vldr s13, [r5, #48] @ 0x30 70010a6e: ee36 7a87 vadd.f32 s14, s13, s14 70010a72: ed85 7a0a vstr s14, [r5, #40] @ 0x28 70010a76: ed95 7a0f vldr s14, [r5, #60] @ 0x3c 70010a7a: ee77 7a27 vadd.f32 s15, s14, s15 70010a7e: edc5 7a0d vstr s15, [r5, #52] @ 0x34 70010a82: 3f01 subs r7, #1 70010a84: 2f00 cmp r7, #0 70010a86: f73f af58 bgt.w 7001093a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x5ea> 70010a8a: 9b0e ldr r3, [sp, #56] @ 0x38 70010a8c: 681b ldr r3, [r3, #0] 70010a8e: b923 cbnz r3, 70010a9a <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x74a> 70010a90: 4b03 ldr r3, [pc, #12] @ (70010aa0 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x750>) 70010a92: 6818 ldr r0, [r3, #0] 70010a94: 6803 ldr r3, [r0, #0] 70010a96: 6b1b ldr r3, [r3, #48] @ 0x30 70010a98: 4798 blx r3 70010a9a: b059 add sp, #356 @ 0x164 70010a9c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70010aa0: 2400da80 .word 0x2400da80 70010aa4 <_ZN8touchgfx3LCD5realXERKNS_4RectEssNS_12TextRotationE>: 70010aa4: b510 push {r4, lr} 70010aa6: 2b03 cmp r3, #3 70010aa8: d818 bhi.n 70010adc <_ZN8touchgfx3LCD5realXERKNS_4RectEssNS_12TextRotationE+0x38> 70010aaa: e8df f003 tbb [pc, r3] 70010aae: 0602 .short 0x0602 70010ab0: 130c .short 0x130c 70010ab2: f9b0 0000 ldrsh.w r0, [r0] 70010ab6: 4408 add r0, r1 70010ab8: e011 b.n 70010ade <_ZN8touchgfx3LCD5realXERKNS_4RectEssNS_12TextRotationE+0x3a> 70010aba: 8803 ldrh r3, [r0, #0] 70010abc: 8881 ldrh r1, [r0, #4] 70010abe: 1858 adds r0, r3, r1 70010ac0: b200 sxth r0, r0 70010ac2: 1a80 subs r0, r0, r2 70010ac4: e004 b.n 70010ad0 <_ZN8touchgfx3LCD5realXERKNS_4RectEssNS_12TextRotationE+0x2c> 70010ac6: 8803 ldrh r3, [r0, #0] 70010ac8: 8882 ldrh r2, [r0, #4] 70010aca: 1898 adds r0, r3, r2 70010acc: b200 sxth r0, r0 70010ace: 1a40 subs r0, r0, r1 70010ad0: 3801 subs r0, #1 70010ad2: e004 b.n 70010ade <_ZN8touchgfx3LCD5realXERKNS_4RectEssNS_12TextRotationE+0x3a> 70010ad4: f9b0 0000 ldrsh.w r0, [r0] 70010ad8: 4410 add r0, r2 70010ada: e000 b.n 70010ade <_ZN8touchgfx3LCD5realXERKNS_4RectEssNS_12TextRotationE+0x3a> 70010adc: 2000 movs r0, #0 70010ade: bd10 pop {r4, pc} 70010ae0 <_ZN8touchgfx3LCD5realYERKNS_4RectEssNS_12TextRotationE>: 70010ae0: b510 push {r4, lr} 70010ae2: 2b03 cmp r3, #3 70010ae4: d818 bhi.n 70010b18 <_ZN8touchgfx3LCD5realYERKNS_4RectEssNS_12TextRotationE+0x38> 70010ae6: e8df f003 tbb [pc, r3] 70010aea: 0602 .short 0x0602 70010aec: 100a .short 0x100a 70010aee: f9b0 0002 ldrsh.w r0, [r0, #2] 70010af2: 4410 add r0, r2 70010af4: e011 b.n 70010b1a <_ZN8touchgfx3LCD5realYERKNS_4RectEssNS_12TextRotationE+0x3a> 70010af6: f9b0 0002 ldrsh.w r0, [r0, #2] 70010afa: 4408 add r0, r1 70010afc: e00d b.n 70010b1a <_ZN8touchgfx3LCD5realYERKNS_4RectEssNS_12TextRotationE+0x3a> 70010afe: 8843 ldrh r3, [r0, #2] 70010b00: 88c1 ldrh r1, [r0, #6] 70010b02: 1858 adds r0, r3, r1 70010b04: b200 sxth r0, r0 70010b06: 1a80 subs r0, r0, r2 70010b08: e004 b.n 70010b14 <_ZN8touchgfx3LCD5realYERKNS_4RectEssNS_12TextRotationE+0x34> 70010b0a: 8843 ldrh r3, [r0, #2] 70010b0c: 88c2 ldrh r2, [r0, #6] 70010b0e: 1898 adds r0, r3, r2 70010b10: b200 sxth r0, r0 70010b12: 1a40 subs r0, r0, r1 70010b14: 3801 subs r0, #1 70010b16: e000 b.n 70010b1a <_ZN8touchgfx3LCD5realYERKNS_4RectEssNS_12TextRotationE+0x3a> 70010b18: 2000 movs r0, #0 70010b1a: bd10 pop {r4, pc} 70010b1c <_GLOBAL__sub_I__ZN8touchgfx3LCD12defaultColorE>: 70010b1c: 4b01 ldr r3, [pc, #4] @ (70010b24 <_GLOBAL__sub_I__ZN8touchgfx3LCD12defaultColorE+0x8>) 70010b1e: 2200 movs r2, #0 70010b20: 601a str r2, [r3, #0] 70010b22: 4770 bx lr 70010b24: 2400da84 .word 0x2400da84 70010b28 <_ZN8touchgfx16TouchCalibration4clzuEm>: 70010b28: 4603 mov r3, r0 70010b2a: b1c0 cbz r0, 70010b5e <_ZN8touchgfx16TouchCalibration4clzuEm+0x36> 70010b2c: f5b0 3f80 cmp.w r0, #65536 @ 0x10000 70010b30: bf36 itet cc 70010b32: 0403 lslcc r3, r0, #16 70010b34: 2000 movcs r0, #0 70010b36: 2010 movcc r0, #16 70010b38: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000 70010b3c: bf3c itt cc 70010b3e: 021b lslcc r3, r3, #8 70010b40: 3008 addcc r0, #8 70010b42: f1b3 5f80 cmp.w r3, #268435456 @ 0x10000000 70010b46: bf3c itt cc 70010b48: 011b lslcc r3, r3, #4 70010b4a: 3004 addcc r0, #4 70010b4c: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 70010b50: bf3c itt cc 70010b52: 009b lslcc r3, r3, #2 70010b54: 3002 addcc r0, #2 70010b56: 2b00 cmp r3, #0 70010b58: db02 blt.n 70010b60 <_ZN8touchgfx16TouchCalibration4clzuEm+0x38> 70010b5a: 3001 adds r0, #1 70010b5c: 4770 bx lr 70010b5e: 2020 movs r0, #32 70010b60: 4770 bx lr 70010b62 <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm>: 70010b62: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70010b66: b087 sub sp, #28 70010b68: 4604 mov r4, r0 70010b6a: 460d mov r5, r1 70010b6c: 461e mov r6, r3 70010b6e: 9f10 ldr r7, [sp, #64] @ 0x40 70010b70: 4610 mov r0, r2 70010b72: e002 b.n 70010b7a <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm+0x18> 70010b74: 4635 mov r5, r6 70010b76: 461c mov r4, r3 70010b78: 2600 movs r6, #0 70010b7a: 2c00 cmp r4, #0 70010b7c: d051 beq.n 70010c22 <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm+0xc0> 70010b7e: 2800 cmp r0, #0 70010b80: d04c beq.n 70010c1c <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm+0xba> 70010b82: ea45 0306 orr.w r3, r5, r6 70010b86: 2b1f cmp r3, #31 70010b88: d84a bhi.n 70010c20 <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm+0xbe> 70010b8a: b945 cbnz r5, 70010b9e <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm+0x3c> 70010b8c: 4603 mov r3, r0 70010b8e: 4620 mov r0, r4 70010b90: 2e00 cmp r6, #0 70010b92: d1ef bne.n 70010b74 <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm+0x12> 70010b94: f04f 34ff mov.w r4, #4294967295 @ 0xffffffff 70010b98: f06f 4000 mvn.w r0, #2147483648 @ 0x80000000 70010b9c: e042 b.n 70010c24 <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm+0xc2> 70010b9e: fa30 fa05 lsrs.w sl, r0, r5 70010ba2: d105 bne.n 70010bb0 <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm+0x4e> 70010ba4: 4344 muls r4, r0 70010ba6: fbb4 f0f7 udiv r0, r4, r7 70010baa: fb07 4410 mls r4, r7, r0, r4 70010bae: e039 b.n 70010c24 <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm+0xc2> 70010bb0: f04f 0801 mov.w r8, #1 70010bb4: fa04 f905 lsl.w r9, r4, r5 70010bb8: 4622 mov r2, r4 70010bba: fa08 f805 lsl.w r8, r8, r5 70010bbe: fbb9 fbf7 udiv fp, r9, r7 70010bc2: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff 70010bc6: fb0a f30b mul.w r3, sl, fp 70010bca: ea08 0800 and.w r8, r8, r0 70010bce: 9303 str r3, [sp, #12] 70010bd0: 4640 mov r0, r8 70010bd2: f7ff ffa9 bl 70010b28 <_ZN8touchgfx16TouchCalibration4clzuEm> 70010bd6: 9b11 ldr r3, [sp, #68] @ 0x44 70010bd8: 4601 mov r1, r0 70010bda: 4640 mov r0, r8 70010bdc: e9cd 7300 strd r7, r3, [sp] 70010be0: 462b mov r3, r5 70010be2: f7ff ffbe bl 70010b62 <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm> 70010be6: fb07 921b mls r2, r7, fp, r9 70010bea: 4680 mov r8, r0 70010bec: 19a9 adds r1, r5, r6 70010bee: 4610 mov r0, r2 70010bf0: f7ff ff9a bl 70010b28 <_ZN8touchgfx16TouchCalibration4clzuEm> 70010bf4: 4603 mov r3, r0 70010bf6: a805 add r0, sp, #20 70010bf8: e9cd 7000 strd r7, r0, [sp] 70010bfc: 4650 mov r0, sl 70010bfe: f7ff ffb0 bl 70010b62 <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm> 70010c02: 9b11 ldr r3, [sp, #68] @ 0x44 70010c04: 681c ldr r4, [r3, #0] 70010c06: 9b05 ldr r3, [sp, #20] 70010c08: 441c add r4, r3 70010c0a: 9b03 ldr r3, [sp, #12] 70010c0c: fbb4 f2f7 udiv r2, r4, r7 70010c10: 18d3 adds r3, r2, r3 70010c12: fb07 4412 mls r4, r7, r2, r4 70010c16: 4443 add r3, r8 70010c18: 4418 add r0, r3 70010c1a: e003 b.n 70010c24 <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm+0xc2> 70010c1c: 4604 mov r4, r0 70010c1e: e001 b.n 70010c24 <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm+0xc2> 70010c20: 2400 movs r4, #0 70010c22: 4620 mov r0, r4 70010c24: 9b11 ldr r3, [sp, #68] @ 0x44 70010c26: 601c str r4, [r3, #0] 70010c28: b007 add sp, #28 70010c2a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70010c2e <_ZN8touchgfx16TouchCalibration6muldivEllllRl>: 70010c2e: e92d 41ff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr} 70010c32: 9d0a ldr r5, [sp, #40] @ 0x28 70010c34: f1b0 0800 subs.w r8, r0, #0 70010c38: 461c mov r4, r3 70010c3a: bfbd ittte lt 70010c3c: 682b ldrlt r3, [r5, #0] 70010c3e: f1c8 0800 rsblt r8, r8, #0 70010c42: f04f 36ff movlt.w r6, #4294967295 @ 0xffffffff 70010c46: 2601 movge r6, #1 70010c48: bfbc itt lt 70010c4a: 425b neglt r3, r3 70010c4c: 602b strlt r3, [r5, #0] 70010c4e: 2a00 cmp r2, #0 70010c50: da04 bge.n 70010c5c <_ZN8touchgfx16TouchCalibration6muldivEllllRl+0x2e> 70010c52: 682b ldr r3, [r5, #0] 70010c54: 4252 negs r2, r2 70010c56: 4276 negs r6, r6 70010c58: 425b negs r3, r3 70010c5a: 602b str r3, [r5, #0] 70010c5c: 2c00 cmp r4, #0 70010c5e: 4610 mov r0, r2 70010c60: bfba itte lt 70010c62: 4264 neglt r4, r4 70010c64: f04f 37ff movlt.w r7, #4294967295 @ 0xffffffff 70010c68: 2701 movge r7, #1 70010c6a: f7ff ff5d bl 70010b28 <_ZN8touchgfx16TouchCalibration4clzuEm> 70010c6e: 4603 mov r3, r0 70010c70: a803 add r0, sp, #12 70010c72: e9cd 4000 strd r4, r0, [sp] 70010c76: 4640 mov r0, r8 70010c78: f7ff ff73 bl 70010b62 <_ZN8touchgfx16TouchCalibration7muldivuEmmmmmRm> 70010c7c: 9a03 ldr r2, [sp, #12] 70010c7e: 682b ldr r3, [r5, #0] 70010c80: 42be cmp r6, r7 70010c82: 4413 add r3, r2 70010c84: fb93 f2f4 sdiv r2, r3, r4 70010c88: 4410 add r0, r2 70010c8a: fb04 3312 mls r3, r4, r2, r3 70010c8e: bf18 it ne 70010c90: 4240 negne r0, r0 70010c92: 3601 adds r6, #1 70010c94: d003 beq.n 70010c9e <_ZN8touchgfx16TouchCalibration6muldivEllllRl+0x70> 70010c96: 2b00 cmp r3, #0 70010c98: db06 blt.n 70010ca8 <_ZN8touchgfx16TouchCalibration6muldivEllllRl+0x7a> 70010c9a: 461a mov r2, r3 70010c9c: e009 b.n 70010cb2 <_ZN8touchgfx16TouchCalibration6muldivEllllRl+0x84> 70010c9e: 2b00 cmp r3, #0 70010ca0: f1c3 0200 rsb r2, r3, #0 70010ca4: db03 blt.n 70010cae <_ZN8touchgfx16TouchCalibration6muldivEllllRl+0x80> 70010ca6: e004 b.n 70010cb2 <_ZN8touchgfx16TouchCalibration6muldivEllllRl+0x84> 70010ca8: 3801 subs r0, #1 70010caa: 191a adds r2, r3, r4 70010cac: e001 b.n 70010cb2 <_ZN8touchgfx16TouchCalibration6muldivEllllRl+0x84> 70010cae: 3801 subs r0, #1 70010cb0: 1b12 subs r2, r2, r4 70010cb2: 602a str r2, [r5, #0] 70010cb4: b004 add sp, #16 70010cb6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} ... 70010cbc <_ZN8touchgfx16TouchCalibration14translatePointERNS_5PointE>: 70010cbc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70010cc0: 4c1f ldr r4, [pc, #124] @ (70010d40 <_ZN8touchgfx16TouchCalibration14translatePointERNS_5PointE+0x84>) 70010cc2: b085 sub sp, #20 70010cc4: 4606 mov r6, r0 70010cc6: 69a5 ldr r5, [r4, #24] 70010cc8: e9d0 9700 ldrd r9, r7, [r0] 70010ccc: b395 cbz r5, 70010d34 <_ZN8touchgfx16TouchCalibration14translatePointERNS_5PointE+0x78> 70010cce: eb05 72d5 add.w r2, r5, r5, lsr #31 70010cd2: 68a3 ldr r3, [r4, #8] 70010cd4: f10d 0a0c add.w sl, sp, #12 70010cd8: eb03 0362 add.w r3, r3, r2, asr #1 70010cdc: f8cd a000 str.w sl, [sp] 70010ce0: ea4f 0b62 mov.w fp, r2, asr #1 70010ce4: 69e1 ldr r1, [r4, #28] 70010ce6: 464a mov r2, r9 70010ce8: 9303 str r3, [sp, #12] 70010cea: 462b mov r3, r5 70010cec: 6820 ldr r0, [r4, #0] 70010cee: f7ff ff9e bl 70010c2e <_ZN8touchgfx16TouchCalibration6muldivEllllRl> 70010cf2: 463a mov r2, r7 70010cf4: f8cd a000 str.w sl, [sp] 70010cf8: 4680 mov r8, r0 70010cfa: 462b mov r3, r5 70010cfc: 6a21 ldr r1, [r4, #32] 70010cfe: 6860 ldr r0, [r4, #4] 70010d00: f7ff ff95 bl 70010c2e <_ZN8touchgfx16TouchCalibration6muldivEllllRl> 70010d04: 6963 ldr r3, [r4, #20] 70010d06: 464a mov r2, r9 70010d08: f8cd a000 str.w sl, [sp] 70010d0c: 445b add r3, fp 70010d0e: 4480 add r8, r0 70010d10: 6a61 ldr r1, [r4, #36] @ 0x24 70010d12: 9303 str r3, [sp, #12] 70010d14: 462b mov r3, r5 70010d16: 68e0 ldr r0, [r4, #12] 70010d18: f7ff ff89 bl 70010c2e <_ZN8touchgfx16TouchCalibration6muldivEllllRl> 70010d1c: 4681 mov r9, r0 70010d1e: f8cd a000 str.w sl, [sp] 70010d22: 463a mov r2, r7 70010d24: 462b mov r3, r5 70010d26: 6aa1 ldr r1, [r4, #40] @ 0x28 70010d28: 6920 ldr r0, [r4, #16] 70010d2a: f7ff ff80 bl 70010c2e <_ZN8touchgfx16TouchCalibration6muldivEllllRl> 70010d2e: eb09 0700 add.w r7, r9, r0 70010d32: 46c1 mov r9, r8 70010d34: e9c6 9700 strd r9, r7, [r6] 70010d38: b005 add sp, #20 70010d3a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70010d3e: bf00 nop 70010d40: 2400da88 .word 0x2400da88 70010d44 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERsS1_>: 70010d44: 4b07 ldr r3, [pc, #28] @ (70010d64 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERsS1_+0x20>) 70010d46: 781b ldrb r3, [r3, #0] 70010d48: 2b01 cmp r3, #1 70010d4a: d109 bne.n 70010d60 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERsS1_+0x1c> 70010d4c: f9b1 3000 ldrsh.w r3, [r1] 70010d50: f9b0 2000 ldrsh.w r2, [r0] 70010d54: 8003 strh r3, [r0, #0] 70010d56: 4b04 ldr r3, [pc, #16] @ (70010d68 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERsS1_+0x24>) 70010d58: 881b ldrh r3, [r3, #0] 70010d5a: 3b01 subs r3, #1 70010d5c: 1a9b subs r3, r3, r2 70010d5e: 800b strh r3, [r1, #0] 70010d60: 4770 bx lr 70010d62: bf00 nop 70010d64: 2400da72 .word 0x2400da72 70010d68: 2400da7c .word 0x2400da7c 70010d6c <_ZN8touchgfx21DisplayTransformation29transformFrameBufferToDisplayERsS1_>: 70010d6c: 4b07 ldr r3, [pc, #28] @ (70010d8c <_ZN8touchgfx21DisplayTransformation29transformFrameBufferToDisplayERsS1_+0x20>) 70010d6e: b510 push {r4, lr} 70010d70: 781b ldrb r3, [r3, #0] 70010d72: 2b01 cmp r3, #1 70010d74: d108 bne.n 70010d88 <_ZN8touchgfx21DisplayTransformation29transformFrameBufferToDisplayERsS1_+0x1c> 70010d76: 4b06 ldr r3, [pc, #24] @ (70010d90 <_ZN8touchgfx21DisplayTransformation29transformFrameBufferToDisplayERsS1_+0x24>) 70010d78: 880c ldrh r4, [r1, #0] 70010d7a: 881b ldrh r3, [r3, #0] 70010d7c: f9b0 2000 ldrsh.w r2, [r0] 70010d80: 3b01 subs r3, #1 70010d82: 1b1b subs r3, r3, r4 70010d84: 8003 strh r3, [r0, #0] 70010d86: 800a strh r2, [r1, #0] 70010d88: bd10 pop {r4, pc} 70010d8a: bf00 nop 70010d8c: 2400da72 .word 0x2400da72 70010d90: 2400da7c .word 0x2400da7c 70010d94 <_ZN8touchgfx21DisplayTransformation29transformFrameBufferToDisplayERNS_4RectE>: 70010d94: 4b0a ldr r3, [pc, #40] @ (70010dc0 <_ZN8touchgfx21DisplayTransformation29transformFrameBufferToDisplayERNS_4RectE+0x2c>) 70010d96: b510 push {r4, lr} 70010d98: 781b ldrb r3, [r3, #0] 70010d9a: 2b01 cmp r3, #1 70010d9c: d10e bne.n 70010dbc <_ZN8touchgfx21DisplayTransformation29transformFrameBufferToDisplayERNS_4RectE+0x28> 70010d9e: f9b0 1006 ldrsh.w r1, [r0, #6] 70010da2: 8842 ldrh r2, [r0, #2] 70010da4: 4b07 ldr r3, [pc, #28] @ (70010dc4 <_ZN8touchgfx21DisplayTransformation29transformFrameBufferToDisplayERNS_4RectE+0x30>) 70010da6: 440a add r2, r1 70010da8: f9b0 4000 ldrsh.w r4, [r0] 70010dac: 881b ldrh r3, [r3, #0] 70010dae: 8044 strh r4, [r0, #2] 70010db0: 1a9b subs r3, r3, r2 70010db2: 8003 strh r3, [r0, #0] 70010db4: f9b0 3004 ldrsh.w r3, [r0, #4] 70010db8: 8081 strh r1, [r0, #4] 70010dba: 80c3 strh r3, [r0, #6] 70010dbc: bd10 pop {r4, pc} 70010dbe: bf00 nop 70010dc0: 2400da72 .word 0x2400da72 70010dc4: 2400da7c .word 0x2400da7c 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE>: 70010dc8: 4b08 ldr r3, [pc, #32] @ (70010dec <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE+0x24>) 70010dca: 781b ldrb r3, [r3, #0] 70010dcc: 2b01 cmp r3, #1 70010dce: d10c bne.n 70010dea <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE+0x22> 70010dd0: 8843 ldrh r3, [r0, #2] 70010dd2: f9b0 1004 ldrsh.w r1, [r0, #4] 70010dd6: 8802 ldrh r2, [r0, #0] 70010dd8: 8003 strh r3, [r0, #0] 70010dda: 4b05 ldr r3, [pc, #20] @ (70010df0 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE+0x28>) 70010ddc: 440a add r2, r1 70010dde: 881b ldrh r3, [r3, #0] 70010de0: 1a9b subs r3, r3, r2 70010de2: 8043 strh r3, [r0, #2] 70010de4: 88c3 ldrh r3, [r0, #6] 70010de6: 80c1 strh r1, [r0, #6] 70010de8: 8083 strh r3, [r0, #4] 70010dea: 4770 bx lr 70010dec: 2400da72 .word 0x2400da72 70010df0: 2400da7c .word 0x2400da7c 70010df4 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERsS1_RKNS_4RectE>: 70010df4: 4b07 ldr r3, [pc, #28] @ (70010e14 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERsS1_RKNS_4RectE+0x20>) 70010df6: b510 push {r4, lr} 70010df8: 781b ldrb r3, [r3, #0] 70010dfa: 2b01 cmp r3, #1 70010dfc: d108 bne.n 70010e10 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERsS1_RKNS_4RectE+0x1c> 70010dfe: f9b1 3000 ldrsh.w r3, [r1] 70010e02: f9b0 4000 ldrsh.w r4, [r0] 70010e06: 8003 strh r3, [r0, #0] 70010e08: 8893 ldrh r3, [r2, #4] 70010e0a: 3b01 subs r3, #1 70010e0c: 1b1b subs r3, r3, r4 70010e0e: 800b strh r3, [r1, #0] 70010e10: bd10 pop {r4, pc} 70010e12: bf00 nop 70010e14: 2400da72 .word 0x2400da72 70010e18 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERfS1_RKNS_4RectE>: 70010e18: 4b0b ldr r3, [pc, #44] @ (70010e48 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERfS1_RKNS_4RectE+0x30>) 70010e1a: 781b ldrb r3, [r3, #0] 70010e1c: 2b01 cmp r3, #1 70010e1e: d111 bne.n 70010e44 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERfS1_RKNS_4RectE+0x2c> 70010e20: 680b ldr r3, [r1, #0] 70010e22: ed90 7a00 vldr s14, [r0] 70010e26: 6003 str r3, [r0, #0] 70010e28: f9b2 3004 ldrsh.w r3, [r2, #4] 70010e2c: eddf 6a07 vldr s13, [pc, #28] @ 70010e4c <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERfS1_RKNS_4RectE+0x34> 70010e30: ee07 3a90 vmov s15, r3 70010e34: eef8 7ae7 vcvt.f32.s32 s15, s15 70010e38: ee77 7ae6 vsub.f32 s15, s15, s13 70010e3c: ee77 7ac7 vsub.f32 s15, s15, s14 70010e40: edc1 7a00 vstr s15, [r1] 70010e44: 4770 bx lr 70010e46: bf00 nop 70010e48: 2400da72 .word 0x2400da72 70010e4c: 38d1b717 .word 0x38d1b717 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_>: 70010e50: b538 push {r3, r4, r5, lr} 70010e52: 4b09 ldr r3, [pc, #36] @ (70010e78 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_+0x28>) 70010e54: 460a mov r2, r1 70010e56: 781b ldrb r3, [r3, #0] 70010e58: 2b01 cmp r3, #1 70010e5a: d10c bne.n 70010e76 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_+0x26> 70010e5c: f9b0 5004 ldrsh.w r5, [r0, #4] 70010e60: 4601 mov r1, r0 70010e62: 8803 ldrh r3, [r0, #0] 70010e64: 442b add r3, r5 70010e66: 3b01 subs r3, #1 70010e68: f821 3b02 strh.w r3, [r1], #2 70010e6c: f7ff ffc2 bl 70010df4 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERsS1_RKNS_4RectE> 70010e70: 88c3 ldrh r3, [r0, #6] 70010e72: 80c5 strh r5, [r0, #6] 70010e74: 8083 strh r3, [r0, #4] 70010e76: bd38 pop {r3, r4, r5, pc} 70010e78: 2400da72 .word 0x2400da72 70010e7c <_ZN8touchgfx11Application13requestRedrawEv>: 70010e7c: 4b06 ldr r3, [pc, #24] @ (70010e98 <_ZN8touchgfx11Application13requestRedrawEv+0x1c>) 70010e7e: 2100 movs r1, #0 70010e80: f9b3 2000 ldrsh.w r2, [r3] 70010e84: 4b05 ldr r3, [pc, #20] @ (70010e9c <_ZN8touchgfx11Application13requestRedrawEv+0x20>) 70010e86: f8c0 1130 str.w r1, [r0, #304] @ 0x130 70010e8a: f9b3 3000 ldrsh.w r3, [r3] 70010e8e: f8a0 2134 strh.w r2, [r0, #308] @ 0x134 70010e92: f8a0 3136 strh.w r3, [r0, #310] @ 0x136 70010e96: 4770 bx lr 70010e98: 2400da7c .word 0x2400da7c 70010e9c: 2400da7a .word 0x2400da7a 70010ea0 <_ZN8touchgfx11Application16handleClickEventERKNS_10ClickEventE>: 70010ea0: 4b03 ldr r3, [pc, #12] @ (70010eb0 <_ZN8touchgfx11Application16handleClickEventERKNS_10ClickEventE+0x10>) 70010ea2: 6818 ldr r0, [r3, #0] 70010ea4: b110 cbz r0, 70010eac <_ZN8touchgfx11Application16handleClickEventERKNS_10ClickEventE+0xc> 70010ea6: 6803 ldr r3, [r0, #0] 70010ea8: 699b ldr r3, [r3, #24] 70010eaa: 4718 bx r3 70010eac: 4770 bx lr 70010eae: bf00 nop 70010eb0: 2400dac4 .word 0x2400dac4 70010eb4 <_ZN8touchgfx11Application29handlePendingScreenTransitionEv>: 70010eb4: 4770 bx lr ... 70010eb8 <_ZN8touchgfx11Application4drawEv>: 70010eb8: 4b09 ldr r3, [pc, #36] @ (70010ee0 <_ZN8touchgfx11Application4drawEv+0x28>) 70010eba: b507 push {r0, r1, r2, lr} 70010ebc: f9b3 2000 ldrsh.w r2, [r3] 70010ec0: 2100 movs r1, #0 70010ec2: 4b08 ldr r3, [pc, #32] @ (70010ee4 <_ZN8touchgfx11Application4drawEv+0x2c>) 70010ec4: 9100 str r1, [sp, #0] 70010ec6: 4669 mov r1, sp 70010ec8: f9b3 3000 ldrsh.w r3, [r3] 70010ecc: f8ad 2004 strh.w r2, [sp, #4] 70010ed0: f8ad 3006 strh.w r3, [sp, #6] 70010ed4: 6803 ldr r3, [r0, #0] 70010ed6: 6c9b ldr r3, [r3, #72] @ 0x48 70010ed8: 4798 blx r3 70010eda: b003 add sp, #12 70010edc: f85d fb04 ldr.w pc, [sp], #4 70010ee0: 2400da7c .word 0x2400da7c 70010ee4: 2400da7a .word 0x2400da7a 70010ee8 <_ZN8touchgfx11Application10invalidateEv>: 70010ee8: 4b09 ldr r3, [pc, #36] @ (70010f10 <_ZN8touchgfx11Application10invalidateEv+0x28>) 70010eea: b082 sub sp, #8 70010eec: 2100 movs r1, #0 70010eee: f9b3 2000 ldrsh.w r2, [r3] 70010ef2: 4b08 ldr r3, [pc, #32] @ (70010f14 <_ZN8touchgfx11Application10invalidateEv+0x2c>) 70010ef4: f8ad 2004 strh.w r2, [sp, #4] 70010ef8: aa02 add r2, sp, #8 70010efa: f9b3 3000 ldrsh.w r3, [r3] 70010efe: 9100 str r1, [sp, #0] 70010f00: f8ad 3006 strh.w r3, [sp, #6] 70010f04: 6803 ldr r3, [r0, #0] 70010f06: e912 0006 ldmdb r2, {r1, r2} 70010f0a: 6c1b ldr r3, [r3, #64] @ 0x40 70010f0c: b002 add sp, #8 70010f0e: 4718 bx r3 70010f10: 2400da7c .word 0x2400da7c 70010f14: 2400da7a .word 0x2400da7a 70010f18 <_ZN8touchgfx11Application15handleDragEventERKNS_9DragEventE>: 70010f18: 4b03 ldr r3, [pc, #12] @ (70010f28 <_ZN8touchgfx11Application15handleDragEventERKNS_9DragEventE+0x10>) 70010f1a: 6818 ldr r0, [r3, #0] 70010f1c: b110 cbz r0, 70010f24 <_ZN8touchgfx11Application15handleDragEventERKNS_9DragEventE+0xc> 70010f1e: 6803 ldr r3, [r0, #0] 70010f20: 69db ldr r3, [r3, #28] 70010f22: 4718 bx r3 70010f24: 4770 bx lr 70010f26: bf00 nop 70010f28: 2400dac4 .word 0x2400dac4 70010f2c <_ZN8touchgfx11Application18handleGestureEventERKNS_12GestureEventE>: 70010f2c: 4b03 ldr r3, [pc, #12] @ (70010f3c <_ZN8touchgfx11Application18handleGestureEventERKNS_12GestureEventE+0x10>) 70010f2e: 6818 ldr r0, [r3, #0] 70010f30: b110 cbz r0, 70010f38 <_ZN8touchgfx11Application18handleGestureEventERKNS_12GestureEventE+0xc> 70010f32: 6803 ldr r3, [r0, #0] 70010f34: 6a1b ldr r3, [r3, #32] 70010f36: 4718 bx r3 70010f38: 4770 bx lr 70010f3a: bf00 nop 70010f3c: 2400dac4 .word 0x2400dac4 70010f40 <_ZN8touchgfx11Application16clearCachedAreasEv>: 70010f40: 2300 movs r3, #0 70010f42: f8a0 30ec strh.w r3, [r0, #236] @ 0xec 70010f46: 4770 bx lr 70010f48 <_ZN8touchgfx11Application14handleKeyEventEh>: 70010f48: 4b03 ldr r3, [pc, #12] @ (70010f58 <_ZN8touchgfx11Application14handleKeyEventEh+0x10>) 70010f4a: 6818 ldr r0, [r3, #0] 70010f4c: b110 cbz r0, 70010f54 <_ZN8touchgfx11Application14handleKeyEventEh+0xc> 70010f4e: 6803 ldr r3, [r0, #0] 70010f50: 6a9b ldr r3, [r3, #40] @ 0x28 70010f52: 4718 bx r3 70010f54: 4770 bx lr 70010f56: bf00 nop 70010f58: 2400dac4 .word 0x2400dac4 70010f5c <_ZN8touchgfx11ApplicationD1Ev>: 70010f5c: 4770 bx lr 70010f5e <_ZN8touchgfx11ApplicationD0Ev>: 70010f5e: b510 push {r4, lr} 70010f60: 4604 mov r4, r0 70010f62: f44f 719e mov.w r1, #316 @ 0x13c 70010f66: f028 fc26 bl 700397b6 <_ZdlPvj> 70010f6a: 4620 mov r0, r4 70010f6c: bd10 pop {r4, pc} 70010f6e <_ZNK8touchgfx4Rect7isEmptyEv.isra.0>: 70010f6e: 2800 cmp r0, #0 70010f70: dd04 ble.n 70010f7c <_ZNK8touchgfx4Rect7isEmptyEv.isra.0+0xe> 70010f72: 2900 cmp r1, #0 70010f74: bfcc ite gt 70010f76: 2000 movgt r0, #0 70010f78: 2001 movle r0, #1 70010f7a: 4770 bx lr 70010f7c: 2001 movs r0, #1 70010f7e: 4770 bx lr 70010f80 <_ZNK8touchgfx4Rect9intersectERKS0_>: 70010f80: b510 push {r4, lr} 70010f82: f9b1 4000 ldrsh.w r4, [r1] 70010f86: 888a ldrh r2, [r1, #4] 70010f88: f9b0 3000 ldrsh.w r3, [r0] 70010f8c: 4422 add r2, r4 70010f8e: b212 sxth r2, r2 70010f90: 4293 cmp r3, r2 70010f92: da15 bge.n 70010fc0 <_ZNK8touchgfx4Rect9intersectERKS0_+0x40> 70010f94: 8882 ldrh r2, [r0, #4] 70010f96: 4413 add r3, r2 70010f98: b21b sxth r3, r3 70010f9a: 429c cmp r4, r3 70010f9c: da10 bge.n 70010fc0 <_ZNK8touchgfx4Rect9intersectERKS0_+0x40> 70010f9e: f9b1 3002 ldrsh.w r3, [r1, #2] 70010fa2: 88c9 ldrh r1, [r1, #6] 70010fa4: f9b0 2002 ldrsh.w r2, [r0, #2] 70010fa8: 4419 add r1, r3 70010faa: b209 sxth r1, r1 70010fac: 428a cmp r2, r1 70010fae: da07 bge.n 70010fc0 <_ZNK8touchgfx4Rect9intersectERKS0_+0x40> 70010fb0: 88c1 ldrh r1, [r0, #6] 70010fb2: 440a add r2, r1 70010fb4: b212 sxth r2, r2 70010fb6: 4293 cmp r3, r2 70010fb8: bfac ite ge 70010fba: 2000 movge r0, #0 70010fbc: 2001 movlt r0, #1 70010fbe: e000 b.n 70010fc2 <_ZNK8touchgfx4Rect9intersectERKS0_+0x42> 70010fc0: 2000 movs r0, #0 70010fc2: bd10 pop {r4, pc} 70010fc4 <_ZNK8touchgfx4Rect8includesERKS0_>: 70010fc4: b5f8 push {r3, r4, r5, r6, r7, lr} 70010fc6: f9b1 7004 ldrsh.w r7, [r1, #4] 70010fca: 4604 mov r4, r0 70010fcc: 460b mov r3, r1 70010fce: f9b1 1006 ldrsh.w r1, [r1, #6] 70010fd2: 4638 mov r0, r7 70010fd4: f7ff ffcb bl 70010f6e <_ZNK8touchgfx4Rect7isEmptyEv.isra.0> 70010fd8: b9e0 cbnz r0, 70011014 <_ZNK8touchgfx4Rect8includesERKS0_+0x50> 70010fda: f9b3 5000 ldrsh.w r5, [r3] 70010fde: f9b4 6000 ldrsh.w r6, [r4] 70010fe2: 42b5 cmp r5, r6 70010fe4: db16 blt.n 70011014 <_ZNK8touchgfx4Rect8includesERKS0_+0x50> 70010fe6: f9b3 3002 ldrsh.w r3, [r3, #2] 70010fea: f9b4 2002 ldrsh.w r2, [r4, #2] 70010fee: 4293 cmp r3, r2 70010ff0: db10 blt.n 70011014 <_ZNK8touchgfx4Rect8includesERKS0_+0x50> 70010ff2: f8b4 c004 ldrh.w ip, [r4, #4] 70010ff6: 443d add r5, r7 70010ff8: 4466 add r6, ip 70010ffa: b22d sxth r5, r5 70010ffc: b236 sxth r6, r6 70010ffe: 42ae cmp r6, r5 70011000: db08 blt.n 70011014 <_ZNK8touchgfx4Rect8includesERKS0_+0x50> 70011002: 88e0 ldrh r0, [r4, #6] 70011004: 440b add r3, r1 70011006: 4402 add r2, r0 70011008: b21b sxth r3, r3 7001100a: b212 sxth r2, r2 7001100c: 429a cmp r2, r3 7001100e: bfb4 ite lt 70011010: 2000 movlt r0, #0 70011012: 2001 movge r0, #1 70011014: bdf8 pop {r3, r4, r5, r6, r7, pc} 70011016 <_ZN8touchgfx4Rect11expandToFitERKS0_>: 70011016: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 7001101a: f9b1 8004 ldrsh.w r8, [r1, #4] 7001101e: 4603 mov r3, r0 70011020: f9b1 7006 ldrsh.w r7, [r1, #6] 70011024: 460a mov r2, r1 70011026: 4640 mov r0, r8 70011028: 4639 mov r1, r7 7001102a: f7ff ffa0 bl 70010f6e <_ZNK8touchgfx4Rect7isEmptyEv.isra.0> 7001102e: 2800 cmp r0, #0 70011030: d13c bne.n 700110ac <_ZN8touchgfx4Rect11expandToFitERKS0_+0x96> 70011032: f9b3 9004 ldrsh.w r9, [r3, #4] 70011036: f9b3 1006 ldrsh.w r1, [r3, #6] 7001103a: 4648 mov r0, r9 7001103c: f7ff ff97 bl 70010f6e <_ZNK8touchgfx4Rect7isEmptyEv.isra.0> 70011040: f9b2 4000 ldrsh.w r4, [r2] 70011044: b150 cbz r0, 7001105c <_ZN8touchgfx4Rect11expandToFitERKS0_+0x46> 70011046: 801c strh r4, [r3, #0] 70011048: f9b2 1002 ldrsh.w r1, [r2, #2] 7001104c: 8059 strh r1, [r3, #2] 7001104e: f9b2 1004 ldrsh.w r1, [r2, #4] 70011052: 8099 strh r1, [r3, #4] 70011054: f9b2 2006 ldrsh.w r2, [r2, #6] 70011058: 80da strh r2, [r3, #6] 7001105a: e027 b.n 700110ac <_ZN8touchgfx4Rect11expandToFitERKS0_+0x96> 7001105c: f9b3 0000 ldrsh.w r0, [r3] 70011060: f9b2 2002 ldrsh.w r2, [r2, #2] 70011064: 42a0 cmp r0, r4 70011066: f9b3 5002 ldrsh.w r5, [r3, #2] 7001106a: 4684 mov ip, r0 7001106c: 4448 add r0, r9 7001106e: bfa8 it ge 70011070: 46a4 movge ip, r4 70011072: 4295 cmp r5, r2 70011074: 462e mov r6, r5 70011076: 4444 add r4, r8 70011078: bfa8 it ge 7001107a: 4616 movge r6, r2 7001107c: 440d add r5, r1 7001107e: 443a add r2, r7 70011080: b200 sxth r0, r0 70011082: b224 sxth r4, r4 70011084: f8a3 c000 strh.w ip, [r3] 70011088: b22d sxth r5, r5 7001108a: 805e strh r6, [r3, #2] 7001108c: b212 sxth r2, r2 7001108e: 42a0 cmp r0, r4 70011090: bfac ite ge 70011092: ebcc 0c00 rsbge ip, ip, r0 70011096: ebcc 0c04 rsblt ip, ip, r4 7001109a: 4295 cmp r5, r2 7001109c: bfac ite ge 7001109e: ebc6 0605 rsbge r6, r6, r5 700110a2: ebc6 0602 rsblt r6, r6, r2 700110a6: f8a3 c004 strh.w ip, [r3, #4] 700110aa: 80de strh r6, [r3, #6] 700110ac: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 700110b0 <_ZN8touchgfx4Rect10restrictToEss>: 700110b0: f9b0 3000 ldrsh.w r3, [r0] 700110b4: 2b00 cmp r3, #0 700110b6: b510 push {r4, lr} 700110b8: da04 bge.n 700110c4 <_ZN8touchgfx4Rect10restrictToEss+0x14> 700110ba: 8884 ldrh r4, [r0, #4] 700110bc: 4423 add r3, r4 700110be: 8083 strh r3, [r0, #4] 700110c0: 2300 movs r3, #0 700110c2: 8003 strh r3, [r0, #0] 700110c4: f9b0 4000 ldrsh.w r4, [r0] 700110c8: f9b0 3004 ldrsh.w r3, [r0, #4] 700110cc: 1b09 subs r1, r1, r4 700110ce: 428b cmp r3, r1 700110d0: f9b0 3002 ldrsh.w r3, [r0, #2] 700110d4: bfc8 it gt 700110d6: 8081 strhgt r1, [r0, #4] 700110d8: 2b00 cmp r3, #0 700110da: da04 bge.n 700110e6 <_ZN8touchgfx4Rect10restrictToEss+0x36> 700110dc: 88c1 ldrh r1, [r0, #6] 700110de: 440b add r3, r1 700110e0: 80c3 strh r3, [r0, #6] 700110e2: 2300 movs r3, #0 700110e4: 8043 strh r3, [r0, #2] 700110e6: f9b0 1002 ldrsh.w r1, [r0, #2] 700110ea: f9b0 3006 ldrsh.w r3, [r0, #6] 700110ee: 1a52 subs r2, r2, r1 700110f0: 4293 cmp r3, r2 700110f2: bfc8 it gt 700110f4: 80c2 strhgt r2, [r0, #6] 700110f6: bd10 pop {r4, pc} 700110f8 <_ZN8touchgfx11Application4drawERNS_4RectE>: 700110f8: 4b10 ldr r3, [pc, #64] @ (7001113c <_ZN8touchgfx11Application4drawERNS_4RectE+0x44>) 700110fa: b510 push {r4, lr} 700110fc: 460c mov r4, r1 700110fe: f9b3 2000 ldrsh.w r2, [r3] 70011102: 4b0f ldr r3, [pc, #60] @ (70011140 <_ZN8touchgfx11Application4drawERNS_4RectE+0x48>) 70011104: 4620 mov r0, r4 70011106: f9b3 1000 ldrsh.w r1, [r3] 7001110a: f7ff ffd1 bl 700110b0 <_ZN8touchgfx4Rect10restrictToEss> 7001110e: 4b0d ldr r3, [pc, #52] @ (70011144 <_ZN8touchgfx11Application4drawERNS_4RectE+0x4c>) 70011110: 6818 ldr r0, [r3, #0] 70011112: b190 cbz r0, 7001113a <_ZN8touchgfx11Application4drawERNS_4RectE+0x42> 70011114: 6803 ldr r3, [r0, #0] 70011116: 4621 mov r1, r4 70011118: 689b ldr r3, [r3, #8] 7001111a: 4798 blx r3 7001111c: 4b0a ldr r3, [pc, #40] @ (70011148 <_ZN8touchgfx11Application4drawERNS_4RectE+0x50>) 7001111e: 6818 ldr r0, [r3, #0] 70011120: b118 cbz r0, 7001112a <_ZN8touchgfx11Application4drawERNS_4RectE+0x32> 70011122: 6803 ldr r3, [r0, #0] 70011124: 4621 mov r1, r4 70011126: 689b ldr r3, [r3, #8] 70011128: 4798 blx r3 7001112a: 4b08 ldr r3, [pc, #32] @ (7001114c <_ZN8touchgfx11Application4drawERNS_4RectE+0x54>) 7001112c: 4621 mov r1, r4 7001112e: 6818 ldr r0, [r3, #0] 70011130: 6803 ldr r3, [r0, #0] 70011132: e8bd 4010 ldmia.w sp!, {r4, lr} 70011136: 69db ldr r3, [r3, #28] 70011138: 4718 bx r3 7001113a: bd10 pop {r4, pc} 7001113c: 2400da7a .word 0x2400da7a 70011140: 2400da7c .word 0x2400da7c 70011144: 2400dac4 .word 0x2400dac4 70011148: 2400dabc .word 0x2400dabc 7001114c: 2400da80 .word 0x2400da80 70011150 <_ZN8touchgfx11Application11getInstanceEv>: 70011150: 4b01 ldr r3, [pc, #4] @ (70011158 <_ZN8touchgfx11Application11getInstanceEv+0x8>) 70011152: 6818 ldr r0, [r3, #0] 70011154: 4770 bx lr 70011156: bf00 nop 70011158: 2400dac8 .word 0x2400dac8 7001115c <_ZN8touchgfx11Application41copyInvalidatedAreasFromTFTToClientBufferEv>: 7001115c: 4b0f ldr r3, [pc, #60] @ (7001119c <_ZN8touchgfx11Application41copyInvalidatedAreasFromTFTToClientBufferEv+0x40>) 7001115e: b570 push {r4, r5, r6, lr} 70011160: 781b ldrb r3, [r3, #0] 70011162: 4605 mov r5, r0 70011164: b1cb cbz r3, 7001119a <_ZN8touchgfx11Application41copyInvalidatedAreasFromTFTToClientBufferEv+0x3e> 70011166: 4b0e ldr r3, [pc, #56] @ (700111a0 <_ZN8touchgfx11Application41copyInvalidatedAreasFromTFTToClientBufferEv+0x44>) 70011168: 4e0e ldr r6, [pc, #56] @ (700111a4 <_ZN8touchgfx11Application41copyInvalidatedAreasFromTFTToClientBufferEv+0x48>) 7001116a: 881c ldrh r4, [r3, #0] 7001116c: e00e b.n 7001118c <_ZN8touchgfx11Application41copyInvalidatedAreasFromTFTToClientBufferEv+0x30> 7001116e: 6833 ldr r3, [r6, #0] 70011170: f893 205c ldrb.w r2, [r3, #92] @ 0x5c 70011174: b10a cbz r2, 7001117a <_ZN8touchgfx11Application41copyInvalidatedAreasFromTFTToClientBufferEv+0x1e> 70011176: 6d18 ldr r0, [r3, #80] @ 0x50 70011178: b900 cbnz r0, 7001117c <_ZN8touchgfx11Application41copyInvalidatedAreasFromTFTToClientBufferEv+0x20> 7001117a: 6898 ldr r0, [r3, #8] 7001117c: eb05 01c4 add.w r1, r5, r4, lsl #3 70011180: 3401 adds r4, #1 70011182: 6803 ldr r3, [r0, #0] 70011184: b2a4 uxth r4, r4 70011186: 31ee adds r1, #238 @ 0xee 70011188: 6a1b ldr r3, [r3, #32] 7001118a: 4798 blx r3 7001118c: f8b5 312e ldrh.w r3, [r5, #302] @ 0x12e 70011190: 42a3 cmp r3, r4 70011192: d8ec bhi.n 7001116e <_ZN8touchgfx11Application41copyInvalidatedAreasFromTFTToClientBufferEv+0x12> 70011194: 2300 movs r3, #0 70011196: f8a5 312e strh.w r3, [r5, #302] @ 0x12e 7001119a: bd70 pop {r4, r5, r6, pc} 7001119c: 2400da74 .word 0x2400da74 700111a0: 24000108 .word 0x24000108 700111a4: 2400da80 .word 0x2400da80 700111a8 <_ZN8touchgfx11Application12TimerWidgets10tickActiveEv>: 700111a8: 2300 movs r3, #0 700111aa: b510 push {r4, lr} 700111ac: f8a0 30a4 strh.w r3, [r0, #164] @ 0xa4 700111b0: 4604 mov r4, r0 700111b2: f8b0 3080 ldrh.w r3, [r0, #128] @ 0x80 700111b6: f8a0 30a6 strh.w r3, [r0, #166] @ 0xa6 700111ba: e00d b.n 700111d8 <_ZN8touchgfx11Application12TimerWidgets10tickActiveEv+0x30> 700111bc: 18e2 adds r2, r4, r3 700111be: f892 2084 ldrb.w r2, [r2, #132] @ 0x84 700111c2: b122 cbz r2, 700111ce <_ZN8touchgfx11Application12TimerWidgets10tickActiveEv+0x26> 700111c4: f854 0023 ldr.w r0, [r4, r3, lsl #2] 700111c8: 6803 ldr r3, [r0, #0] 700111ca: 6d1b ldr r3, [r3, #80] @ 0x50 700111cc: 4798 blx r3 700111ce: f8b4 30a4 ldrh.w r3, [r4, #164] @ 0xa4 700111d2: 3301 adds r3, #1 700111d4: f8a4 30a4 strh.w r3, [r4, #164] @ 0xa4 700111d8: f8b4 30a4 ldrh.w r3, [r4, #164] @ 0xa4 700111dc: f8b4 20a6 ldrh.w r2, [r4, #166] @ 0xa6 700111e0: 429a cmp r2, r3 700111e2: d8eb bhi.n 700111bc <_ZN8touchgfx11Application12TimerWidgets10tickActiveEv+0x14> 700111e4: bd10 pop {r4, pc} 700111e6 <_ZN8touchgfx11Application12TimerWidgets6removeEPKNS_8DrawableE>: 700111e6: b530 push {r4, r5, lr} 700111e8: 2200 movs r2, #0 700111ea: f8b0 4080 ldrh.w r4, [r0, #128] @ 0x80 700111ee: f100 0584 add.w r5, r0, #132 @ 0x84 700111f2: e00f b.n 70011214 <_ZN8touchgfx11Application12TimerWidgets6removeEPKNS_8DrawableE+0x2e> 700111f4: f850 3022 ldr.w r3, [r0, r2, lsl #2] 700111f8: 428b cmp r3, r1 700111fa: d10a bne.n 70011212 <_ZN8touchgfx11Application12TimerWidgets6removeEPKNS_8DrawableE+0x2c> 700111fc: 5cab ldrb r3, [r5, r2] 700111fe: b143 cbz r3, 70011212 <_ZN8touchgfx11Application12TimerWidgets6removeEPKNS_8DrawableE+0x2c> 70011200: 3b01 subs r3, #1 70011202: 1881 adds r1, r0, r2 70011204: b2db uxtb r3, r3 70011206: f881 3084 strb.w r3, [r1, #132] @ 0x84 7001120a: b933 cbnz r3, 7001121a <_ZN8touchgfx11Application12TimerWidgets6removeEPKNS_8DrawableE+0x34> 7001120c: f840 3022 str.w r3, [r0, r2, lsl #2] 70011210: e003 b.n 7001121a <_ZN8touchgfx11Application12TimerWidgets6removeEPKNS_8DrawableE+0x34> 70011212: 3201 adds r2, #1 70011214: b293 uxth r3, r2 70011216: 429c cmp r4, r3 70011218: d8ec bhi.n 700111f4 <_ZN8touchgfx11Application12TimerWidgets6removeEPKNS_8DrawableE+0xe> 7001121a: bd30 pop {r4, r5, pc} 7001121c <_ZN8touchgfx11Application12TimerWidgets5clearEv>: 7001121c: 2200 movs r2, #0 7001121e: f100 0383 add.w r3, r0, #131 @ 0x83 70011222: 30a3 adds r0, #163 @ 0xa3 70011224: f820 2c23 strh.w r2, [r0, #-35] 70011228: f803 2f01 strb.w r2, [r3, #1]! 7001122c: 4283 cmp r3, r0 7001122e: d1fb bne.n 70011228 <_ZN8touchgfx11Application12TimerWidgets5clearEv+0xc> 70011230: 4770 bx lr ... 70011234 <_ZN8touchgfx11Application12switchScreenEPNS_6ScreenE>: 70011234: b570 push {r4, r5, r6, lr} 70011236: 4e0b ldr r6, [pc, #44] @ (70011264 <_ZN8touchgfx11Application12switchScreenEPNS_6ScreenE+0x30>) 70011238: 4604 mov r4, r0 7001123a: 460d mov r5, r1 7001123c: 6830 ldr r0, [r6, #0] 7001123e: b110 cbz r0, 70011246 <_ZN8touchgfx11Application12switchScreenEPNS_6ScreenE+0x12> 70011240: 6803 ldr r3, [r0, #0] 70011242: 695b ldr r3, [r3, #20] 70011244: 4798 blx r3 70011246: 1d20 adds r0, r4, #4 70011248: f7ff ffe8 bl 7001121c <_ZN8touchgfx11Application12TimerWidgets5clearEv> 7001124c: 6035 str r5, [r6, #0] 7001124e: 682b ldr r3, [r5, #0] 70011250: 4628 mov r0, r5 70011252: 68db ldr r3, [r3, #12] 70011254: 4798 blx r3 70011256: 6823 ldr r3, [r4, #0] 70011258: 4620 mov r0, r4 7001125a: 6c5b ldr r3, [r3, #68] @ 0x44 7001125c: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70011260: 4718 bx r3 70011262: bf00 nop 70011264: 2400dac4 .word 0x2400dac4 70011268 <_ZN8touchgfx11Application12TimerWidgets7compactEv>: 70011268: 2300 movs r3, #0 7001126a: f8b0 10a4 ldrh.w r1, [r0, #164] @ 0xa4 7001126e: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70011272: 461a mov r2, r3 70011274: f8b0 e080 ldrh.w lr, [r0, #128] @ 0x80 70011278: f100 0683 add.w r6, r0, #131 @ 0x83 7001127c: 461c mov r4, r3 7001127e: 461d mov r5, r3 70011280: e01a b.n 700112b8 <_ZN8touchgfx11Application12TimerWidgets7compactEv+0x50> 70011282: f816 cf01 ldrb.w ip, [r6, #1]! 70011286: f1bc 0f00 cmp.w ip, #0 7001128a: d00c beq.n 700112a6 <_ZN8touchgfx11Application12TimerWidgets7compactEv+0x3e> 7001128c: 429a cmp r2, r3 7001128e: d008 beq.n 700112a2 <_ZN8touchgfx11Application12TimerWidgets7compactEv+0x3a> 70011290: f850 7023 ldr.w r7, [r0, r3, lsl #2] 70011294: fa1f f882 uxth.w r8, r2 70011298: f840 7028 str.w r7, [r0, r8, lsl #2] 7001129c: 1887 adds r7, r0, r2 7001129e: f887 c084 strb.w ip, [r7, #132] @ 0x84 700112a2: 3201 adds r2, #1 700112a4: e007 b.n 700112b6 <_ZN8touchgfx11Application12TimerWidgets7compactEv+0x4e> 700112a6: 4299 cmp r1, r3 700112a8: f8b0 70a6 ldrh.w r7, [r0, #166] @ 0xa6 700112ac: bfa8 it ge 700112ae: 3501 addge r5, #1 700112b0: 429f cmp r7, r3 700112b2: bfc8 it gt 700112b4: 3401 addgt r4, #1 700112b6: 3301 adds r3, #1 700112b8: 459e cmp lr, r3 700112ba: dce2 bgt.n 70011282 <_ZN8touchgfx11Application12TimerWidgets7compactEv+0x1a> 700112bc: f8b0 30a6 ldrh.w r3, [r0, #166] @ 0xa6 700112c0: 1b49 subs r1, r1, r5 700112c2: 1b1b subs r3, r3, r4 700112c4: f8a0 10a4 strh.w r1, [r0, #164] @ 0xa4 700112c8: f8a0 30a6 strh.w r3, [r0, #166] @ 0xa6 700112cc: e002 b.n 700112d4 <_ZN8touchgfx11Application12TimerWidgets7compactEv+0x6c> 700112ce: 3b01 subs r3, #1 700112d0: f8a0 3080 strh.w r3, [r0, #128] @ 0x80 700112d4: f8b0 3080 ldrh.w r3, [r0, #128] @ 0x80 700112d8: 4293 cmp r3, r2 700112da: dcf8 bgt.n 700112ce <_ZN8touchgfx11Application12TimerWidgets7compactEv+0x66> 700112dc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 700112e0 <_ZN8touchgfx11Application15handleTickEventEv>: 700112e0: b570 push {r4, r5, r6, lr} 700112e2: 4e16 ldr r6, [pc, #88] @ (7001133c <_ZN8touchgfx11Application15handleTickEventEv+0x5c>) 700112e4: 4604 mov r4, r0 700112e6: 6830 ldr r0, [r6, #0] 700112e8: b130 cbz r0, 700112f8 <_ZN8touchgfx11Application15handleTickEventEv+0x18> 700112ea: 7a03 ldrb r3, [r0, #8] 700112ec: b923 cbnz r3, 700112f8 <_ZN8touchgfx11Application15handleTickEventEv+0x18> 700112ee: f884 3138 strb.w r3, [r4, #312] @ 0x138 700112f2: 6803 ldr r3, [r0, #0] 700112f4: 689b ldr r3, [r3, #8] 700112f6: e01d b.n 70011334 <_ZN8touchgfx11Application15handleTickEventEv+0x54> 700112f8: f894 3138 ldrb.w r3, [r4, #312] @ 0x138 700112fc: 4d10 ldr r5, [pc, #64] @ (70011340 <_ZN8touchgfx11Application15handleTickEventEv+0x60>) 700112fe: b973 cbnz r3, 7001131e <_ZN8touchgfx11Application15handleTickEventEv+0x3e> 70011300: b168 cbz r0, 7001131e <_ZN8touchgfx11Application15handleTickEventEv+0x3e> 70011302: 7a03 ldrb r3, [r0, #8] 70011304: b15b cbz r3, 7001131e <_ZN8touchgfx11Application15handleTickEventEv+0x3e> 70011306: 6828 ldr r0, [r5, #0] 70011308: b110 cbz r0, 70011310 <_ZN8touchgfx11Application15handleTickEventEv+0x30> 7001130a: 6803 ldr r3, [r0, #0] 7001130c: 691b ldr r3, [r3, #16] 7001130e: 4798 blx r3 70011310: 6830 ldr r0, [r6, #0] 70011312: 6803 ldr r3, [r0, #0] 70011314: 68db ldr r3, [r3, #12] 70011316: 4798 blx r3 70011318: 2301 movs r3, #1 7001131a: f884 3138 strb.w r3, [r4, #312] @ 0x138 7001131e: 3404 adds r4, #4 70011320: 4620 mov r0, r4 70011322: f7ff ff41 bl 700111a8 <_ZN8touchgfx11Application12TimerWidgets10tickActiveEv> 70011326: 4620 mov r0, r4 70011328: f7ff ff9e bl 70011268 <_ZN8touchgfx11Application12TimerWidgets7compactEv> 7001132c: 6828 ldr r0, [r5, #0] 7001132e: b120 cbz r0, 7001133a <_ZN8touchgfx11Application15handleTickEventEv+0x5a> 70011330: 6803 ldr r3, [r0, #0] 70011332: 6a5b ldr r3, [r3, #36] @ 0x24 70011334: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70011338: 4718 bx r3 7001133a: bd70 pop {r4, r5, r6, pc} 7001133c: 2400dac0 .word 0x2400dac0 70011340: 2400dac4 .word 0x2400dac4 70011344 <_ZN8touchgfx11Application12TimerWidgets3addEPNS_8DrawableE>: 70011344: b5f8 push {r3, r4, r5, r6, r7, lr} 70011346: 2300 movs r3, #0 70011348: 460c mov r4, r1 7001134a: f8b0 5080 ldrh.w r5, [r0, #128] @ 0x80 7001134e: f100 0683 add.w r6, r0, #131 @ 0x83 70011352: 4619 mov r1, r3 70011354: e011 b.n 7001137a <_ZN8touchgfx11Application12TimerWidgets3addEPNS_8DrawableE+0x36> 70011356: f850 7023 ldr.w r7, [r0, r3, lsl #2] 7001135a: f816 2f01 ldrb.w r2, [r6, #1]! 7001135e: 42a7 cmp r7, r4 70011360: d106 bne.n 70011370 <_ZN8touchgfx11Application12TimerWidgets3addEPNS_8DrawableE+0x2c> 70011362: 2aff cmp r2, #255 @ 0xff 70011364: d01e beq.n 700113a4 <_ZN8touchgfx11Application12TimerWidgets3addEPNS_8DrawableE+0x60> 70011366: 4403 add r3, r0 70011368: 3201 adds r2, #1 7001136a: f883 2084 strb.w r2, [r3, #132] @ 0x84 7001136e: e019 b.n 700113a4 <_ZN8touchgfx11Application12TimerWidgets3addEPNS_8DrawableE+0x60> 70011370: 2a00 cmp r2, #0 70011372: f103 0301 add.w r3, r3, #1 70011376: bf08 it eq 70011378: 2101 moveq r1, #1 7001137a: b29a uxth r2, r3 7001137c: 4295 cmp r5, r2 7001137e: d8ea bhi.n 70011356 <_ZN8touchgfx11Application12TimerWidgets3addEPNS_8DrawableE+0x12> 70011380: b119 cbz r1, 7001138a <_ZN8touchgfx11Application12TimerWidgets3addEPNS_8DrawableE+0x46> 70011382: 2d20 cmp r5, #32 70011384: d101 bne.n 7001138a <_ZN8touchgfx11Application12TimerWidgets3addEPNS_8DrawableE+0x46> 70011386: f7ff ff6f bl 70011268 <_ZN8touchgfx11Application12TimerWidgets7compactEv> 7001138a: f8b0 3080 ldrh.w r3, [r0, #128] @ 0x80 7001138e: 2b1f cmp r3, #31 70011390: d808 bhi.n 700113a4 <_ZN8touchgfx11Application12TimerWidgets3addEPNS_8DrawableE+0x60> 70011392: 18c2 adds r2, r0, r3 70011394: 2101 movs r1, #1 70011396: f882 1084 strb.w r1, [r2, #132] @ 0x84 7001139a: 185a adds r2, r3, r1 7001139c: f8a0 2080 strh.w r2, [r0, #128] @ 0x80 700113a0: f840 4023 str.w r4, [r0, r3, lsl #2] 700113a4: bdf8 pop {r3, r4, r5, r6, r7, pc} 700113a6 <_ZN8touchgfx6VectorINS_4RectELt8EEC1Ev>: 700113a6: 4603 mov r3, r0 700113a8: f100 0140 add.w r1, r0, #64 @ 0x40 700113ac: 2200 movs r2, #0 700113ae: 801a strh r2, [r3, #0] 700113b0: 3308 adds r3, #8 700113b2: f823 2c06 strh.w r2, [r3, #-6] 700113b6: f823 2c04 strh.w r2, [r3, #-4] 700113ba: f823 2c02 strh.w r2, [r3, #-2] 700113be: 428b cmp r3, r1 700113c0: d1f5 bne.n 700113ae <_ZN8touchgfx6VectorINS_4RectELt8EEC1Ev+0x8> 700113c2: f8a0 2040 strh.w r2, [r0, #64] @ 0x40 700113c6: 4770 bx lr 700113c8 <_ZN8touchgfx11ApplicationC1Ev>: 700113c8: b5f8 push {r3, r4, r5, r6, r7, lr} 700113ca: 4b1a ldr r3, [pc, #104] @ (70011434 <_ZN8touchgfx11ApplicationC1Ev+0x6c>) 700113cc: 4606 mov r6, r0 700113ce: 4604 mov r4, r0 700113d0: 2500 movs r5, #0 700113d2: f846 3b04 str.w r3, [r6], #4 700113d6: 22a8 movs r2, #168 @ 0xa8 700113d8: 2100 movs r1, #0 700113da: 4630 mov r0, r6 700113dc: f029 ffa2 bl 7003b324 700113e0: f104 00ac add.w r0, r4, #172 @ 0xac 700113e4: f8a4 5084 strh.w r5, [r4, #132] @ 0x84 700113e8: f7ff ffdd bl 700113a6 <_ZN8touchgfx6VectorINS_4RectELt8EEC1Ev> 700113ec: f104 00ee add.w r0, r4, #238 @ 0xee 700113f0: f7ff ffd9 bl 700113a6 <_ZN8touchgfx6VectorINS_4RectELt8EEC1Ev> 700113f4: 4910 ldr r1, [pc, #64] @ (70011438 <_ZN8touchgfx11ApplicationC1Ev+0x70>) 700113f6: 4811 ldr r0, [pc, #68] @ (7001143c <_ZN8touchgfx11ApplicationC1Ev+0x74>) 700113f8: f884 5138 strb.w r5, [r4, #312] @ 0x138 700113fc: 4f10 ldr r7, [pc, #64] @ (70011440 <_ZN8touchgfx11ApplicationC1Ev+0x78>) 700113fe: e9c4 554c strd r5, r5, [r4, #304] @ 0x130 70011402: f003 fa73 bl 700148ec 70011406: 4b0f ldr r3, [pc, #60] @ (70011444 <_ZN8touchgfx11ApplicationC1Ev+0x7c>) 70011408: b108 cbz r0, 7001140e <_ZN8touchgfx11ApplicationC1Ev+0x46> 7001140a: 801d strh r5, [r3, #0] 7001140c: e006 b.n 7001141c <_ZN8touchgfx11ApplicationC1Ev+0x54> 7001140e: f44f 6280 mov.w r2, #1024 @ 0x400 70011412: 2002 movs r0, #2 70011414: 801a strh r2, [r3, #0] 70011416: 6038 str r0, [r7, #0] 70011418: f001 ffda bl 700133d0 <_ZN8touchgfx6Screen4drawEv> 7001141c: 2300 movs r3, #0 7001141e: 4a0a ldr r2, [pc, #40] @ (70011448 <_ZN8touchgfx11ApplicationC1Ev+0x80>) 70011420: 4630 mov r0, r6 70011422: 6013 str r3, [r2, #0] 70011424: 4a09 ldr r2, [pc, #36] @ (7001144c <_ZN8touchgfx11ApplicationC1Ev+0x84>) 70011426: 603b str r3, [r7, #0] 70011428: 6013 str r3, [r2, #0] 7001142a: f7ff fef7 bl 7001121c <_ZN8touchgfx11Application12TimerWidgets5clearEv> 7001142e: 4620 mov r0, r4 70011430: bdf8 pop {r3, r4, r5, r6, r7, pc} 70011432: bf00 nop 70011434: 7003fb4c .word 0x7003fb4c 70011438: b5e8b5cd .word 0xb5e8b5cd 7001143c: f407a5c2 .word 0xf407a5c2 70011440: 2400dac4 .word 0x2400dac4 70011444: 24000108 .word 0x24000108 70011448: 2400dac8 .word 0x2400dac8 7001144c: 2400dac0 .word 0x2400dac0 70011450 <_ZN8touchgfx6VectorINS_4RectELt8EE13quickRemoveAtEt>: 70011450: f8b0 3040 ldrh.w r3, [r0, #64] @ 0x40 70011454: 3b01 subs r3, #1 70011456: b29b uxth r3, r3 70011458: 428b cmp r3, r1 7001145a: b510 push {r4, lr} 7001145c: f8a0 3040 strh.w r3, [r0, #64] @ 0x40 70011460: d909 bls.n 70011476 <_ZN8touchgfx6VectorINS_4RectELt8EE13quickRemoveAtEt+0x26> 70011462: eb00 04c3 add.w r4, r0, r3, lsl #3 70011466: f850 3033 ldr.w r3, [r0, r3, lsl #3] 7001146a: eb00 02c1 add.w r2, r0, r1, lsl #3 7001146e: f840 3031 str.w r3, [r0, r1, lsl #3] 70011472: 6863 ldr r3, [r4, #4] 70011474: 6053 str r3, [r2, #4] 70011476: bd10 pop {r4, pc} 70011478 <_ZN8touchgfx6VectorINS_4RectELt8EE3addES1_>: 70011478: b537 push {r0, r1, r2, r4, r5, lr} 7001147a: 466b mov r3, sp 7001147c: 4604 mov r4, r0 7001147e: e883 0006 stmia.w r3, {r1, r2} 70011482: f8b0 2040 ldrh.w r2, [r0, #64] @ 0x40 70011486: 2a07 cmp r2, #7 70011488: d808 bhi.n 7001149c <_ZN8touchgfx6VectorINS_4RectELt8EE3addES1_+0x24> 7001148a: 1c51 adds r1, r2, #1 7001148c: eb00 05c2 add.w r5, r0, r2, lsl #3 70011490: f8a0 1040 strh.w r1, [r0, #64] @ 0x40 70011494: cb03 ldmia r3!, {r0, r1} 70011496: f844 0032 str.w r0, [r4, r2, lsl #3] 7001149a: 6069 str r1, [r5, #4] 7001149c: b003 add sp, #12 7001149e: bd30 pop {r4, r5, pc} 700114a0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE>: 700114a0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700114a4: b08f sub sp, #60 @ 0x3c 700114a6: 4683 mov fp, r0 700114a8: ab0a add r3, sp, #40 @ 0x28 700114aa: a80a add r0, sp, #40 @ 0x28 700114ac: e883 0006 stmia.w r3, {r1, r2} 700114b0: 4b98 ldr r3, [pc, #608] @ (70011714 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x274>) 700114b2: f9b3 2000 ldrsh.w r2, [r3] 700114b6: 4b98 ldr r3, [pc, #608] @ (70011718 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x278>) 700114b8: f9b3 1000 ldrsh.w r1, [r3] 700114bc: f7ff fdf8 bl 700110b0 <_ZN8touchgfx4Rect10restrictToEss> 700114c0: f9bd 102e ldrsh.w r1, [sp, #46] @ 0x2e 700114c4: f9bd 002c ldrsh.w r0, [sp, #44] @ 0x2c 700114c8: f7ff fd51 bl 70010f6e <_ZNK8touchgfx4Rect7isEmptyEv.isra.0> 700114cc: 2800 cmp r0, #0 700114ce: f040 832a bne.w 70011b26 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x686> 700114d2: 4b92 ldr r3, [pc, #584] @ (7001171c <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x27c>) 700114d4: 681b ldr r3, [r3, #0] 700114d6: f893 304c ldrb.w r3, [r3, #76] @ 0x4c 700114da: 2b02 cmp r3, #2 700114dc: f000 8323 beq.w 70011b26 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x686> 700114e0: f8bb 40ec ldrh.w r4, [fp, #236] @ 0xec 700114e4: f10b 05ac add.w r5, fp, #172 @ 0xac 700114e8: 3c01 subs r4, #1 700114ea: e00a b.n 70011502 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x62> 700114ec: eb05 01c4 add.w r1, r5, r4, lsl #3 700114f0: a80a add r0, sp, #40 @ 0x28 700114f2: f7ff fd67 bl 70010fc4 <_ZNK8touchgfx4Rect8includesERKS0_> 700114f6: b118 cbz r0, 70011500 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x60> 700114f8: b2a1 uxth r1, r4 700114fa: 4628 mov r0, r5 700114fc: f7ff ffa8 bl 70011450 <_ZN8touchgfx6VectorINS_4RectELt8EE13quickRemoveAtEt> 70011500: 3c01 subs r4, #1 70011502: 1c61 adds r1, r4, #1 70011504: d1f2 bne.n 700114ec <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x4c> 70011506: f8bb 30ec ldrh.w r3, [fp, #236] @ 0xec 7001150a: eb0b 05c3 add.w r5, fp, r3, lsl #3 7001150e: 9302 str r3, [sp, #8] 70011510: 2400 movs r4, #0 70011512: 462e mov r6, r5 70011514: f8dd 8008 ldr.w r8, [sp, #8] 70011518: 4627 mov r7, r4 7001151a: e07a b.n 70011612 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x172> 7001151c: a90a add r1, sp, #40 @ 0x28 7001151e: f106 00a4 add.w r0, r6, #164 @ 0xa4 70011522: f7ff fd2d bl 70010f80 <_ZNK8touchgfx4Rect9intersectERKS0_> 70011526: 2800 cmp r0, #0 70011528: d06e beq.n 70011608 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x168> 7001152a: f9bd e028 ldrsh.w lr, [sp, #40] @ 0x28 7001152e: f9b6 c0a4 ldrsh.w ip, [r6, #164] @ 0xa4 70011532: f9bd 202a ldrsh.w r2, [sp, #42] @ 0x2a 70011536: 45e6 cmp lr, ip 70011538: f9b6 a0a6 ldrsh.w sl, [r6, #166] @ 0xa6 7001153c: db33 blt.n 700115a6 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x106> 7001153e: f8b6 10a8 ldrh.w r1, [r6, #168] @ 0xa8 70011542: f8bd 302c ldrh.w r3, [sp, #44] @ 0x2c 70011546: 4461 add r1, ip 70011548: 4473 add r3, lr 7001154a: b209 sxth r1, r1 7001154c: b21b sxth r3, r3 7001154e: 4299 cmp r1, r3 70011550: db29 blt.n 700115a6 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x106> 70011552: f8bd 302e ldrh.w r3, [sp, #46] @ 0x2e 70011556: 4552 cmp r2, sl 70011558: f8b6 10aa ldrh.w r1, [r6, #170] @ 0xaa 7001155c: fa1f fe82 uxth.w lr, r2 70011560: fa13 f382 uxtah r3, r3, r2 70011564: fa1f fc8a uxth.w ip, sl 70011568: fa11 f18a uxtah r1, r1, sl 7001156c: b29b uxth r3, r3 7001156e: b289 uxth r1, r1 70011570: db09 blt.n 70011586 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0xe6> 70011572: 1a5b subs r3, r3, r1 70011574: b21b sxth r3, r3 70011576: 2b00 cmp r3, #0 70011578: f8ad 302e strh.w r3, [sp, #46] @ 0x2e 7001157c: f340 82d3 ble.w 70011b26 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x686> 70011580: f8ad 102a strh.w r1, [sp, #42] @ 0x2a 70011584: e00d b.n 700115a2 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x102> 70011586: b209 sxth r1, r1 70011588: b21b sxth r3, r3 7001158a: 4299 cmp r1, r3 7001158c: db3d blt.n 7001160a <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x16a> 7001158e: ebac 0c0e sub.w ip, ip, lr 70011592: fa0f fc8c sxth.w ip, ip 70011596: f1bc 0f00 cmp.w ip, #0 7001159a: f8ad c02e strh.w ip, [sp, #46] @ 0x2e 7001159e: f340 82c2 ble.w 70011b26 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x686> 700115a2: 4604 mov r4, r0 700115a4: e030 b.n 70011608 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x168> 700115a6: 4552 cmp r2, sl 700115a8: db2f blt.n 7001160a <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x16a> 700115aa: f8b6 30aa ldrh.w r3, [r6, #170] @ 0xaa 700115ae: f8bd 102e ldrh.w r1, [sp, #46] @ 0x2e 700115b2: 4453 add r3, sl 700115b4: 440a add r2, r1 700115b6: b21b sxth r3, r3 700115b8: b212 sxth r2, r2 700115ba: 4293 cmp r3, r2 700115bc: db25 blt.n 7001160a <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x16a> 700115be: f8b6 20a8 ldrh.w r2, [r6, #168] @ 0xa8 700115c2: 45e6 cmp lr, ip 700115c4: f8bd 302c ldrh.w r3, [sp, #44] @ 0x2c 700115c8: fa1f fa8e uxth.w sl, lr 700115cc: fa12 f28c uxtah r2, r2, ip 700115d0: fa1f f18c uxth.w r1, ip 700115d4: fa13 f38e uxtah r3, r3, lr 700115d8: b292 uxth r2, r2 700115da: b29b uxth r3, r3 700115dc: db09 blt.n 700115f2 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x152> 700115de: 1a9b subs r3, r3, r2 700115e0: b21b sxth r3, r3 700115e2: 2b00 cmp r3, #0 700115e4: f8ad 302c strh.w r3, [sp, #44] @ 0x2c 700115e8: f340 829d ble.w 70011b26 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x686> 700115ec: f8ad 2028 strh.w r2, [sp, #40] @ 0x28 700115f0: e7d7 b.n 700115a2 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x102> 700115f2: b21b sxth r3, r3 700115f4: b212 sxth r2, r2 700115f6: 4293 cmp r3, r2 700115f8: dc07 bgt.n 7001160a <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x16a> 700115fa: eba1 010a sub.w r1, r1, sl 700115fe: b209 sxth r1, r1 70011600: 2900 cmp r1, #0 70011602: f8ad 102c strh.w r1, [sp, #44] @ 0x2c 70011606: e7ca b.n 7001159e <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0xfe> 70011608: 4638 mov r0, r7 7001160a: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff 7001160e: 3e08 subs r6, #8 70011610: 4607 mov r7, r0 70011612: f1b8 0f00 cmp.w r8, #0 70011616: d181 bne.n 7001151c <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x7c> 70011618: 2c00 cmp r4, #0 7001161a: f47f af79 bne.w 70011510 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x70> 7001161e: b92f cbnz r7, 7001162c <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x18c> 70011620: f8bb 50ec ldrh.w r5, [fp, #236] @ 0xec 70011624: 1e6c subs r4, r5, #1 70011626: eb0b 05c5 add.w r5, fp, r5, lsl #3 7001162a: e1ef b.n 70011a0c <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x56c> 7001162c: f9bd 3028 ldrsh.w r3, [sp, #40] @ 0x28 70011630: 46a8 mov r8, r5 70011632: f8bd 902c ldrh.w r9, [sp, #44] @ 0x2c 70011636: 9303 str r3, [sp, #12] 70011638: f8bd 3028 ldrh.w r3, [sp, #40] @ 0x28 7001163c: f8bd a02e ldrh.w sl, [sp, #46] @ 0x2e 70011640: eb03 0609 add.w r6, r3, r9 70011644: 9307 str r3, [sp, #28] 70011646: b2b3 uxth r3, r6 70011648: b236 sxth r6, r6 7001164a: 9304 str r3, [sp, #16] 7001164c: f9bd 302a ldrsh.w r3, [sp, #42] @ 0x2a 70011650: 9301 str r3, [sp, #4] 70011652: f8bd 302a ldrh.w r3, [sp, #42] @ 0x2a 70011656: eb03 070a add.w r7, r3, sl 7001165a: 9305 str r3, [sp, #20] 7001165c: b2bb uxth r3, r7 7001165e: b23f sxth r7, r7 70011660: 9306 str r3, [sp, #24] 70011662: e04d b.n 70011700 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x260> 70011664: a90a add r1, sp, #40 @ 0x28 70011666: f108 00a4 add.w r0, r8, #164 @ 0xa4 7001166a: f7ff fc89 bl 70010f80 <_ZNK8touchgfx4Rect9intersectERKS0_> 7001166e: b1c8 cbz r0, 700116a4 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x204> 70011670: f9b8 10a4 ldrsh.w r1, [r8, #164] @ 0xa4 70011674: 9a03 ldr r2, [sp, #12] 70011676: f9b8 30a6 ldrsh.w r3, [r8, #166] @ 0xa6 7001167a: 428a cmp r2, r1 7001167c: dc1d bgt.n 700116ba <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x21a> 7001167e: f8b8 20a8 ldrh.w r2, [r8, #168] @ 0xa8 70011682: 440a add r2, r1 70011684: b212 sxth r2, r2 70011686: 42b2 cmp r2, r6 70011688: dc17 bgt.n 700116ba <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x21a> 7001168a: 9901 ldr r1, [sp, #4] 7001168c: b29a uxth r2, r3 7001168e: 4299 cmp r1, r3 70011690: f8b8 30aa ldrh.w r3, [r8, #170] @ 0xaa 70011694: dc08 bgt.n 700116a8 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x208> 70011696: 4413 add r3, r2 70011698: 9a06 ldr r2, [sp, #24] 7001169a: f8a8 70a6 strh.w r7, [r8, #166] @ 0xa6 7001169e: 1a9b subs r3, r3, r2 700116a0: f8a8 30aa strh.w r3, [r8, #170] @ 0xaa 700116a4: 4620 mov r0, r4 700116a6: e028 b.n 700116fa <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x25a> 700116a8: 4413 add r3, r2 700116aa: b21b sxth r3, r3 700116ac: 42bb cmp r3, r7 700116ae: dc24 bgt.n 700116fa <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x25a> 700116b0: 9b05 ldr r3, [sp, #20] 700116b2: 1a9a subs r2, r3, r2 700116b4: f8a8 20aa strh.w r2, [r8, #170] @ 0xaa 700116b8: e7f4 b.n 700116a4 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x204> 700116ba: 9a01 ldr r2, [sp, #4] 700116bc: 429a cmp r2, r3 700116be: dc1c bgt.n 700116fa <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x25a> 700116c0: f8b8 20aa ldrh.w r2, [r8, #170] @ 0xaa 700116c4: 4413 add r3, r2 700116c6: b21b sxth r3, r3 700116c8: 42bb cmp r3, r7 700116ca: dc16 bgt.n 700116fa <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x25a> 700116cc: 9b03 ldr r3, [sp, #12] 700116ce: b28a uxth r2, r1 700116d0: 428b cmp r3, r1 700116d2: f8b8 30a8 ldrh.w r3, [r8, #168] @ 0xa8 700116d6: dc07 bgt.n 700116e8 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x248> 700116d8: 4413 add r3, r2 700116da: 9a04 ldr r2, [sp, #16] 700116dc: f8a8 60a4 strh.w r6, [r8, #164] @ 0xa4 700116e0: 1a9b subs r3, r3, r2 700116e2: f8a8 30a8 strh.w r3, [r8, #168] @ 0xa8 700116e6: e7dd b.n 700116a4 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x204> 700116e8: 4413 add r3, r2 700116ea: b21b sxth r3, r3 700116ec: 429e cmp r6, r3 700116ee: db04 blt.n 700116fa <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x25a> 700116f0: 9b07 ldr r3, [sp, #28] 700116f2: 1a9a subs r2, r3, r2 700116f4: f8a8 20a8 strh.w r2, [r8, #168] @ 0xa8 700116f8: e7d4 b.n 700116a4 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x204> 700116fa: f1a8 0808 sub.w r8, r8, #8 700116fe: 4604 mov r4, r0 70011700: 45c3 cmp fp, r8 70011702: d1af bne.n 70011664 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x1c4> 70011704: 2c00 cmp r4, #0 70011706: d08b beq.n 70011620 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x180> 70011708: 9b02 ldr r3, [sp, #8] 7001170a: 1e5c subs r4, r3, #1 7001170c: f10b 03ac add.w r3, fp, #172 @ 0xac 70011710: 9308 str r3, [sp, #32] 70011712: e133 b.n 7001197c <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x4dc> 70011714: 2400da7a .word 0x2400da7a 70011718: 2400da7c .word 0x2400da7c 7001171c: 2400da80 .word 0x2400da80 70011720: f105 08a4 add.w r8, r5, #164 @ 0xa4 70011724: a80a add r0, sp, #40 @ 0x28 70011726: 4641 mov r1, r8 70011728: f7ff fc4c bl 70010fc4 <_ZNK8touchgfx4Rect8includesERKS0_> 7001172c: b118 cbz r0, 70011736 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x296> 7001172e: b2a1 uxth r1, r4 70011730: 9808 ldr r0, [sp, #32] 70011732: f7ff fe8d bl 70011450 <_ZN8touchgfx6VectorINS_4RectELt8EE13quickRemoveAtEt> 70011736: a90a add r1, sp, #40 @ 0x28 70011738: 4640 mov r0, r8 7001173a: f7ff fc21 bl 70010f80 <_ZNK8touchgfx4Rect9intersectERKS0_> 7001173e: 2800 cmp r0, #0 70011740: f000 811a beq.w 70011978 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x4d8> 70011744: f9b5 30a4 ldrsh.w r3, [r5, #164] @ 0xa4 70011748: f8bb 20ec ldrh.w r2, [fp, #236] @ 0xec 7001174c: 9302 str r3, [sp, #8] 7001174e: f8b5 80a4 ldrh.w r8, [r5, #164] @ 0xa4 70011752: f8b5 30a8 ldrh.w r3, [r5, #168] @ 0xa8 70011756: 9209 str r2, [sp, #36] @ 0x24 70011758: 4443 add r3, r8 7001175a: f9b5 10a6 ldrsh.w r1, [r5, #166] @ 0xa6 7001175e: e9dd 0202 ldrd r0, r2, [sp, #8] 70011762: b29b uxth r3, r3 70011764: 4282 cmp r2, r0 70011766: dd7f ble.n 70011868 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x3c8> 70011768: 9a07 ldr r2, [sp, #28] 7001176a: fa0f fe83 sxth.w lr, r3 7001176e: 9801 ldr r0, [sp, #4] 70011770: eba2 0c08 sub.w ip, r2, r8 70011774: 4288 cmp r0, r1 70011776: fa1f f28c uxth.w r2, ip 7001177a: fa0f fc8c sxth.w ip, ip 7001177e: dd1f ble.n 700117c0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x320> 70011780: eb0b 04c4 add.w r4, fp, r4, lsl #3 70011784: eba6 0e0e sub.w lr, r6, lr 70011788: b28b uxth r3, r1 7001178a: 9805 ldr r0, [sp, #20] 7001178c: f8b4 60b2 ldrh.w r6, [r4, #178] @ 0xb2 70011790: 1ac5 subs r5, r0, r3 70011792: 4433 add r3, r6 70011794: fa1f f885 uxth.w r8, r5 70011798: b21b sxth r3, r3 7001179a: b22d sxth r5, r5 7001179c: 1afb subs r3, r7, r3 7001179e: fb05 fe0e mul.w lr, r5, lr 700117a2: fb0c f303 mul.w r3, ip, r3 700117a6: 459e cmp lr, r3 700117a8: db02 blt.n 700117b0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x310> 700117aa: f8a4 50b2 strh.w r5, [r4, #178] @ 0xb2 700117ae: e020 b.n 700117f2 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x352> 700117b0: 44d0 add r8, sl 700117b2: f8a4 c0b0 strh.w ip, [r4, #176] @ 0xb0 700117b6: f8ad 102a strh.w r1, [sp, #42] @ 0x2a 700117ba: f8ad 802e strh.w r8, [sp, #46] @ 0x2e 700117be: e68f b.n 700114e0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x40> 700117c0: 4576 cmp r6, lr 700117c2: dd23 ble.n 7001180c <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x36c> 700117c4: eb0b 04c4 add.w r4, fp, r4, lsl #3 700117c8: 9806 ldr r0, [sp, #24] 700117ca: eba6 0e0e sub.w lr, r6, lr 700117ce: f8b4 30b2 ldrh.w r3, [r4, #178] @ 0xb2 700117d2: 1a1b subs r3, r3, r0 700117d4: 9801 ldr r0, [sp, #4] 700117d6: 440b add r3, r1 700117d8: 1a09 subs r1, r1, r0 700117da: b29d uxth r5, r3 700117dc: fb0c f101 mul.w r1, ip, r1 700117e0: b21b sxth r3, r3 700117e2: fb03 fe0e mul.w lr, r3, lr 700117e6: 4571 cmp r1, lr 700117e8: dc0a bgt.n 70011800 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x360> 700117ea: f8a4 70ae strh.w r7, [r4, #174] @ 0xae 700117ee: f8a4 30b2 strh.w r3, [r4, #178] @ 0xb2 700117f2: 9b02 ldr r3, [sp, #8] 700117f4: 444a add r2, r9 700117f6: f8ad 3028 strh.w r3, [sp, #40] @ 0x28 700117fa: f8ad 202c strh.w r2, [sp, #44] @ 0x2c 700117fe: e66f b.n 700114e0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x40> 70011800: 4455 add r5, sl 70011802: f8a4 c0b0 strh.w ip, [r4, #176] @ 0xb0 70011806: f8ad 502e strh.w r5, [sp, #46] @ 0x2e 7001180a: e669 b.n 700114e0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x40> 7001180c: 9904 ldr r1, [sp, #16] 7001180e: 9809 ldr r0, [sp, #36] @ 0x24 70011810: 1a5b subs r3, r3, r1 70011812: 2806 cmp r0, #6 70011814: b299 uxth r1, r3 70011816: b21b sxth r3, r3 70011818: d80d bhi.n 70011836 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x396> 7001181a: f8d5 00a4 ldr.w r0, [r5, #164] @ 0xa4 7001181e: aa0c add r2, sp, #48 @ 0x30 70011820: f8d5 10a8 ldr.w r1, [r5, #168] @ 0xa8 70011824: f8a5 60a4 strh.w r6, [r5, #164] @ 0xa4 70011828: f8a5 30a8 strh.w r3, [r5, #168] @ 0xa8 7001182c: c203 stmia r2!, {r0, r1} 7001182e: f8ad c034 strh.w ip, [sp, #52] @ 0x34 70011832: 4613 mov r3, r2 70011834: e081 b.n 7001193a <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x49a> 70011836: 4563 cmp r3, ip 70011838: ea4f 04c4 mov.w r4, r4, lsl #3 7001183c: db0d blt.n 7001185a <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x3ba> 7001183e: 444a add r2, r9 70011840: 445c add r4, fp 70011842: 9902 ldr r1, [sp, #8] 70011844: b292 uxth r2, r2 70011846: f8a4 30b0 strh.w r3, [r4, #176] @ 0xb0 7001184a: f8ad 1028 strh.w r1, [sp, #40] @ 0x28 7001184e: f8ad 202c strh.w r2, [sp, #44] @ 0x2c 70011852: 4442 add r2, r8 70011854: f8a4 20ac strh.w r2, [r4, #172] @ 0xac 70011858: e642 b.n 700114e0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x40> 7001185a: 445c add r4, fp 7001185c: 4449 add r1, r9 7001185e: f8a4 c0b0 strh.w ip, [r4, #176] @ 0xb0 70011862: f8ad 102c strh.w r1, [sp, #44] @ 0x2c 70011866: e63b b.n 700114e0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x40> 70011868: f8b5 20aa ldrh.w r2, [r5, #170] @ 0xaa 7001186c: fa1f f881 uxth.w r8, r1 70011870: 9801 ldr r0, [sp, #4] 70011872: fa12 f281 uxtah r2, r2, r1 70011876: 4288 cmp r0, r1 70011878: b292 uxth r2, r2 7001187a: da1f bge.n 700118bc <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x41c> 7001187c: 9804 ldr r0, [sp, #16] 7001187e: 00e4 lsls r4, r4, #3 70011880: 1a1b subs r3, r3, r0 70011882: 9806 ldr r0, [sp, #24] 70011884: 445c add r4, fp 70011886: 1a12 subs r2, r2, r0 70011888: 9801 ldr r0, [sp, #4] 7001188a: b29d uxth r5, r3 7001188c: 1a09 subs r1, r1, r0 7001188e: b21b sxth r3, r3 70011890: fa1f fc82 uxth.w ip, r2 70011894: fb03 fe01 mul.w lr, r3, r1 70011898: b212 sxth r2, r2 7001189a: e9dd 1002 ldrd r1, r0, [sp, #8] 7001189e: 1a08 subs r0, r1, r0 700118a0: 4350 muls r0, r2 700118a2: 4586 cmp lr, r0 700118a4: dc05 bgt.n 700118b2 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x412> 700118a6: 444d add r5, r9 700118a8: f8a4 20b2 strh.w r2, [r4, #178] @ 0xb2 700118ac: f8a4 70ae strh.w r7, [r4, #174] @ 0xae 700118b0: e023 b.n 700118fa <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x45a> 700118b2: f8a4 30b0 strh.w r3, [r4, #176] @ 0xb0 700118b6: f8a4 60ac strh.w r6, [r4, #172] @ 0xac 700118ba: e027 b.n 7001190c <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x46c> 700118bc: 9805 ldr r0, [sp, #20] 700118be: eba0 0e08 sub.w lr, r0, r8 700118c2: b218 sxth r0, r3 700118c4: 4286 cmp r6, r0 700118c6: fa1f fc8e uxth.w ip, lr 700118ca: fa0f fe8e sxth.w lr, lr 700118ce: da21 bge.n 70011914 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x474> 700118d0: 9804 ldr r0, [sp, #16] 700118d2: b212 sxth r2, r2 700118d4: 00e4 lsls r4, r4, #3 700118d6: 1a1b subs r3, r3, r0 700118d8: 1aba subs r2, r7, r2 700118da: 445c add r4, fp 700118dc: fa1f f883 uxth.w r8, r3 700118e0: b21b sxth r3, r3 700118e2: e9dd 5002 ldrd r5, r0, [sp, #8] 700118e6: 435a muls r2, r3 700118e8: 1a28 subs r0, r5, r0 700118ea: fb0e f000 mul.w r0, lr, r0 700118ee: 4290 cmp r0, r2 700118f0: db06 blt.n 70011900 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x460> 700118f2: eb08 0509 add.w r5, r8, r9 700118f6: f8a4 e0b2 strh.w lr, [r4, #178] @ 0xb2 700118fa: f8ad 502c strh.w r5, [sp, #44] @ 0x2c 700118fe: e5ef b.n 700114e0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x40> 70011900: f8a4 60ac strh.w r6, [r4, #172] @ 0xac 70011904: f8a4 30b0 strh.w r3, [r4, #176] @ 0xb0 70011908: f8ad 102a strh.w r1, [sp, #42] @ 0x2a 7001190c: 44d4 add ip, sl 7001190e: f8ad c02e strh.w ip, [sp, #46] @ 0x2e 70011912: e5e5 b.n 700114e0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x40> 70011914: 9b06 ldr r3, [sp, #24] 70011916: 9809 ldr r0, [sp, #36] @ 0x24 70011918: 1ad2 subs r2, r2, r3 7001191a: 2806 cmp r0, #6 7001191c: b293 uxth r3, r2 7001191e: b212 sxth r2, r2 70011920: d811 bhi.n 70011946 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x4a6> 70011922: f8d5 00a4 ldr.w r0, [r5, #164] @ 0xa4 70011926: ab0c add r3, sp, #48 @ 0x30 70011928: f8d5 10a8 ldr.w r1, [r5, #168] @ 0xa8 7001192c: f8a5 70a6 strh.w r7, [r5, #166] @ 0xa6 70011930: f8a5 20aa strh.w r2, [r5, #170] @ 0xaa 70011934: c303 stmia r3!, {r0, r1} 70011936: f8ad e036 strh.w lr, [sp, #54] @ 0x36 7001193a: 9808 ldr r0, [sp, #32] 7001193c: e913 0006 ldmdb r3, {r1, r2} 70011940: f7ff fd9a bl 70011478 <_ZN8touchgfx6VectorINS_4RectELt8EE3addES1_> 70011944: e018 b.n 70011978 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x4d8> 70011946: 4572 cmp r2, lr 70011948: ea4f 04c4 mov.w r4, r4, lsl #3 7001194c: db0d blt.n 7001196a <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x4ca> 7001194e: 44d4 add ip, sl 70011950: 445c add r4, fp 70011952: f8ad 102a strh.w r1, [sp, #42] @ 0x2a 70011956: fa1f fc8c uxth.w ip, ip 7001195a: f8a4 20b2 strh.w r2, [r4, #178] @ 0xb2 7001195e: f8ad c02e strh.w ip, [sp, #46] @ 0x2e 70011962: 44c4 add ip, r8 70011964: f8a4 c0ae strh.w ip, [r4, #174] @ 0xae 70011968: e5ba b.n 700114e0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x40> 7001196a: 445c add r4, fp 7001196c: 4453 add r3, sl 7001196e: f8a4 e0b2 strh.w lr, [r4, #178] @ 0xb2 70011972: f8ad 302e strh.w r3, [sp, #46] @ 0x2e 70011976: e5b3 b.n 700114e0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x40> 70011978: 3c01 subs r4, #1 7001197a: 3d08 subs r5, #8 7001197c: 1c62 adds r2, r4, #1 7001197e: f47f aecf bne.w 70011720 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x280> 70011982: e64d b.n 70011620 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x180> 70011984: f9bd 202a ldrsh.w r2, [sp, #42] @ 0x2a 70011988: f9b5 60a6 ldrsh.w r6, [r5, #166] @ 0xa6 7001198c: f9bd 1028 ldrsh.w r1, [sp, #40] @ 0x28 70011990: 42b2 cmp r2, r6 70011992: f9b5 70a4 ldrsh.w r7, [r5, #164] @ 0xa4 70011996: d118 bne.n 700119ca <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x52a> 70011998: f9bd 002e ldrsh.w r0, [sp, #46] @ 0x2e 7001199c: f9b5 30aa ldrsh.w r3, [r5, #170] @ 0xaa 700119a0: 4298 cmp r0, r3 700119a2: d112 bne.n 700119ca <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x52a> 700119a4: f8b5 30a8 ldrh.w r3, [r5, #168] @ 0xa8 700119a8: f8bd 202c ldrh.w r2, [sp, #44] @ 0x2c 700119ac: 19d8 adds r0, r3, r7 700119ae: b200 sxth r0, r0 700119b0: 4288 cmp r0, r1 700119b2: d102 bne.n 700119ba <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x51a> 700119b4: f8ad 7028 strh.w r7, [sp, #40] @ 0x28 700119b8: e003 b.n 700119c2 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x522> 700119ba: 4411 add r1, r2 700119bc: b209 sxth r1, r1 700119be: 42b9 cmp r1, r7 700119c0: d122 bne.n 70011a08 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x568> 700119c2: 4413 add r3, r2 700119c4: f8ad 302c strh.w r3, [sp, #44] @ 0x2c 700119c8: e019 b.n 700119fe <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x55e> 700119ca: 42b9 cmp r1, r7 700119cc: d11c bne.n 70011a08 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x568> 700119ce: f9bd 102c ldrsh.w r1, [sp, #44] @ 0x2c 700119d2: f9b5 30a8 ldrsh.w r3, [r5, #168] @ 0xa8 700119d6: 4299 cmp r1, r3 700119d8: d116 bne.n 70011a08 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x568> 700119da: f8b5 30aa ldrh.w r3, [r5, #170] @ 0xaa 700119de: f8bd 102e ldrh.w r1, [sp, #46] @ 0x2e 700119e2: 1998 adds r0, r3, r6 700119e4: b200 sxth r0, r0 700119e6: 4282 cmp r2, r0 700119e8: d102 bne.n 700119f0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x550> 700119ea: f8ad 602a strh.w r6, [sp, #42] @ 0x2a 700119ee: e003 b.n 700119f8 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x558> 700119f0: 440a add r2, r1 700119f2: b212 sxth r2, r2 700119f4: 4296 cmp r6, r2 700119f6: d107 bne.n 70011a08 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x568> 700119f8: 440b add r3, r1 700119fa: f8ad 302e strh.w r3, [sp, #46] @ 0x2e 700119fe: b2a1 uxth r1, r4 70011a00: f10b 00ac add.w r0, fp, #172 @ 0xac 70011a04: f7ff fd24 bl 70011450 <_ZN8touchgfx6VectorINS_4RectELt8EE13quickRemoveAtEt> 70011a08: 3c01 subs r4, #1 70011a0a: 3d08 subs r5, #8 70011a0c: 1c63 adds r3, r4, #1 70011a0e: d1b9 bne.n 70011984 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x4e4> 70011a10: f8bb 70ec ldrh.w r7, [fp, #236] @ 0xec 70011a14: 2f07 cmp r7, #7 70011a16: d806 bhi.n 70011a26 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x586> 70011a18: e9dd 120a ldrd r1, r2, [sp, #40] @ 0x28 70011a1c: f10b 00ac add.w r0, fp, #172 @ 0xac 70011a20: f7ff fd2a bl 70011478 <_ZN8touchgfx6VectorINS_4RectELt8EE3addES1_> 70011a24: e07f b.n 70011b26 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x686> 70011a26: f107 39ff add.w r9, r7, #4294967295 @ 0xffffffff 70011a2a: f10b 03ac add.w r3, fp, #172 @ 0xac 70011a2e: eb0b 07c7 add.w r7, fp, r7, lsl #3 70011a32: f06f 4a00 mvn.w sl, #2147483648 @ 0x80000000 70011a36: 2500 movs r5, #0 70011a38: 9302 str r3, [sp, #8] 70011a3a: f8b7 20a8 ldrh.w r2, [r7, #168] @ 0xa8 70011a3e: f8b7 30aa ldrh.w r3, [r7, #170] @ 0xaa 70011a42: fb12 f303 smulbb r3, r2, r3 70011a46: f107 02a4 add.w r2, r7, #164 @ 0xa4 70011a4a: 9301 str r3, [sp, #4] 70011a4c: 464b mov r3, r9 70011a4e: f109 39ff add.w r9, r9, #4294967295 @ 0xffffffff 70011a52: 46c8 mov r8, r9 70011a54: f1b8 3fff cmp.w r8, #4294967295 @ 0xffffffff 70011a58: 6810 ldr r0, [r2, #0] 70011a5a: f10d 0c30 add.w ip, sp, #48 @ 0x30 70011a5e: 9304 str r3, [sp, #16] 70011a60: bf14 ite ne 70011a62: 9902 ldrne r1, [sp, #8] 70011a64: f10d 0e28 addeq.w lr, sp, #40 @ 0x28 70011a68: 9203 str r2, [sp, #12] 70011a6a: bf18 it ne 70011a6c: eb01 0ec8 addne.w lr, r1, r8, lsl #3 70011a70: f8be 1006 ldrh.w r1, [lr, #6] 70011a74: f8be 6004 ldrh.w r6, [lr, #4] 70011a78: fb16 f601 smulbb r6, r6, r1 70011a7c: 6851 ldr r1, [r2, #4] 70011a7e: e8ac 0003 stmia.w ip!, {r0, r1} 70011a82: 4671 mov r1, lr 70011a84: a80c add r0, sp, #48 @ 0x30 70011a86: f7ff fac6 bl 70011016 <_ZN8touchgfx4Rect11expandToFitERKS0_> 70011a8a: 9b01 ldr r3, [sp, #4] 70011a8c: f8bd 1034 ldrh.w r1, [sp, #52] @ 0x34 70011a90: f8bd 0036 ldrh.w r0, [sp, #54] @ 0x36 70011a94: 441e add r6, r3 70011a96: fb11 f100 smulbb r1, r1, r0 70011a9a: 1b8e subs r6, r1, r6 70011a9c: 2900 cmp r1, #0 70011a9e: bfb8 it lt 70011aa0: 3107 addlt r1, #7 70011aa2: ebb6 0fe1 cmp.w r6, r1, asr #3 70011aa6: e9dd 2303 ldrd r2, r3, [sp, #12] 70011aaa: db0b blt.n 70011ac4 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x624> 70011aac: 4556 cmp r6, sl 70011aae: da03 bge.n 70011ab8 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x618> 70011ab0: b146 cbz r6, 70011ac4 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x624> 70011ab2: 46b2 mov sl, r6 70011ab4: 4644 mov r4, r8 70011ab6: 461d mov r5, r3 70011ab8: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff 70011abc: f118 0f02 cmn.w r8, #2 70011ac0: d1c8 bne.n 70011a54 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x5b4> 70011ac2: e002 b.n 70011aca <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x62a> 70011ac4: 4644 mov r4, r8 70011ac6: 461d mov r5, r3 70011ac8: e004 b.n 70011ad4 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x634> 70011aca: f1b9 3fff cmp.w r9, #4294967295 @ 0xffffffff 70011ace: f1a7 0708 sub.w r7, r7, #8 70011ad2: d1b2 bne.n 70011a3a <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x59a> 70011ad4: b2af uxth r7, r5 70011ad6: 2c00 cmp r4, #0 70011ad8: f10b 06ac add.w r6, fp, #172 @ 0xac 70011adc: ea4f 05c7 mov.w r5, r7, lsl #3 70011ae0: f105 00ac add.w r0, r5, #172 @ 0xac 70011ae4: 4458 add r0, fp 70011ae6: da04 bge.n 70011af2 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x652> 70011ae8: 4601 mov r1, r0 70011aea: a80a add r0, sp, #40 @ 0x28 70011aec: f7ff fa93 bl 70011016 <_ZN8touchgfx4Rect11expandToFitERKS0_> 70011af0: e014 b.n 70011b1c <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x67c> 70011af2: b2a4 uxth r4, r4 70011af4: 445d add r5, fp 70011af6: 00e4 lsls r4, r4, #3 70011af8: f104 01ac add.w r1, r4, #172 @ 0xac 70011afc: 445c add r4, fp 70011afe: 4459 add r1, fp 70011b00: f7ff fa89 bl 70011016 <_ZN8touchgfx4Rect11expandToFitERKS0_> 70011b04: ab0a add r3, sp, #40 @ 0x28 70011b06: cb03 ldmia r3!, {r0, r1} 70011b08: ab0a add r3, sp, #40 @ 0x28 70011b0a: f8c4 00ac str.w r0, [r4, #172] @ 0xac 70011b0e: f8c4 10b0 str.w r1, [r4, #176] @ 0xb0 70011b12: f8d5 00ac ldr.w r0, [r5, #172] @ 0xac 70011b16: f8d5 10b0 ldr.w r1, [r5, #176] @ 0xb0 70011b1a: c303 stmia r3!, {r0, r1} 70011b1c: 4639 mov r1, r7 70011b1e: 4630 mov r0, r6 70011b20: f7ff fc96 bl 70011450 <_ZN8touchgfx6VectorINS_4RectELt8EE13quickRemoveAtEt> 70011b24: e4dc b.n 700114e0 <_ZN8touchgfx11Application14invalidateAreaENS_4RectE+0x40> 70011b26: b00f add sp, #60 @ 0x3c 70011b28: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70011b2c <_ZN8touchgfx11Application15drawCachedAreasEv>: 70011b2c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70011b30: 4604 mov r4, r0 70011b32: f9b0 1136 ldrsh.w r1, [r0, #310] @ 0x136 70011b36: b0a3 sub sp, #140 @ 0x8c 70011b38: f9b0 0134 ldrsh.w r0, [r0, #308] @ 0x134 70011b3c: f7ff fa17 bl 70010f6e <_ZNK8touchgfx4Rect7isEmptyEv.isra.0> 70011b40: 4605 mov r5, r0 70011b42: b938 cbnz r0, 70011b54 <_ZN8touchgfx11Application15drawCachedAreasEv+0x28> 70011b44: 6823 ldr r3, [r4, #0] 70011b46: 4620 mov r0, r4 70011b48: 6c1b ldr r3, [r3, #64] @ 0x40 70011b4a: e9d4 124c ldrd r1, r2, [r4, #304] @ 0x130 70011b4e: 4798 blx r3 70011b50: e9c4 554c strd r5, r5, [r4, #304] @ 0x130 70011b54: f8b4 30ec ldrh.w r3, [r4, #236] @ 0xec 70011b58: b93b cbnz r3, 70011b6a <_ZN8touchgfx11Application15drawCachedAreasEv+0x3e> 70011b5a: 4ba7 ldr r3, [pc, #668] @ (70011df8 <_ZN8touchgfx11Application15drawCachedAreasEv+0x2cc>) 70011b5c: 681b ldr r3, [r3, #0] 70011b5e: f893 304c ldrb.w r3, [r3, #76] @ 0x4c 70011b62: 1e9a subs r2, r3, #2 70011b64: 4253 negs r3, r2 70011b66: 4153 adcs r3, r2 70011b68: e000 b.n 70011b6c <_ZN8touchgfx11Application15drawCachedAreasEv+0x40> 70011b6a: 2301 movs r3, #1 70011b6c: 4aa3 ldr r2, [pc, #652] @ (70011dfc <_ZN8touchgfx11Application15drawCachedAreasEv+0x2d0>) 70011b6e: 6812 ldr r2, [r2, #0] 70011b70: b1b2 cbz r2, 70011ba0 <_ZN8touchgfx11Application15drawCachedAreasEv+0x74> 70011b72: 4da3 ldr r5, [pc, #652] @ (70011e00 <_ZN8touchgfx11Application15drawCachedAreasEv+0x2d4>) 70011b74: f9b5 1006 ldrsh.w r1, [r5, #6] 70011b78: f9b5 0004 ldrsh.w r0, [r5, #4] 70011b7c: f7ff f9f7 bl 70010f6e <_ZNK8touchgfx4Rect7isEmptyEv.isra.0> 70011b80: 4606 mov r6, r0 70011b82: b968 cbnz r0, 70011ba0 <_ZN8touchgfx11Application15drawCachedAreasEv+0x74> 70011b84: 4628 mov r0, r5 70011b86: f7ff f905 bl 70010d94 <_ZN8touchgfx21DisplayTransformation29transformFrameBufferToDisplayERNS_4RectE> 70011b8a: 6823 ldr r3, [r4, #0] 70011b8c: 6829 ldr r1, [r5, #0] 70011b8e: 4620 mov r0, r4 70011b90: 6c1b ldr r3, [r3, #64] @ 0x40 70011b92: 686a ldr r2, [r5, #4] 70011b94: 4798 blx r3 70011b96: 802e strh r6, [r5, #0] 70011b98: 806e strh r6, [r5, #2] 70011b9a: 80ae strh r6, [r5, #4] 70011b9c: 80ee strh r6, [r5, #6] 70011b9e: e002 b.n 70011ba6 <_ZN8touchgfx11Application15drawCachedAreasEv+0x7a> 70011ba0: 2b00 cmp r3, #0 70011ba2: f000 837a beq.w 7001229a <_ZN8touchgfx11Application15drawCachedAreasEv+0x76e> 70011ba6: 4f97 ldr r7, [pc, #604] @ (70011e04 <_ZN8touchgfx11Application15drawCachedAreasEv+0x2d8>) 70011ba8: a811 add r0, sp, #68 @ 0x44 70011baa: f7ff fbfc bl 700113a6 <_ZN8touchgfx6VectorINS_4RectELt8EEC1Ev> 70011bae: 883d ldrh r5, [r7, #0] 70011bb0: 462e mov r6, r5 70011bb2: e00a b.n 70011bca <_ZN8touchgfx11Application15drawCachedAreasEv+0x9e> 70011bb4: eb04 03c6 add.w r3, r4, r6, lsl #3 70011bb8: 3601 adds r6, #1 70011bba: a811 add r0, sp, #68 @ 0x44 70011bbc: b2b6 uxth r6, r6 70011bbe: f8d3 10ac ldr.w r1, [r3, #172] @ 0xac 70011bc2: f8d3 20b0 ldr.w r2, [r3, #176] @ 0xb0 70011bc6: f7ff fc57 bl 70011478 <_ZN8touchgfx6VectorINS_4RectELt8EE3addES1_> 70011bca: f8b4 30ec ldrh.w r3, [r4, #236] @ 0xec 70011bce: 42b3 cmp r3, r6 70011bd0: d8f0 bhi.n 70011bb4 <_ZN8touchgfx11Application15drawCachedAreasEv+0x88> 70011bd2: e00b b.n 70011bec <_ZN8touchgfx11Application15drawCachedAreasEv+0xc0> 70011bd4: eb04 03c5 add.w r3, r4, r5, lsl #3 70011bd8: 3501 adds r5, #1 70011bda: 6822 ldr r2, [r4, #0] 70011bdc: 4620 mov r0, r4 70011bde: b2ad uxth r5, r5 70011be0: f8d3 10ee ldr.w r1, [r3, #238] @ 0xee 70011be4: 6c16 ldr r6, [r2, #64] @ 0x40 70011be6: f8d3 20f2 ldr.w r2, [r3, #242] @ 0xf2 70011bea: 47b0 blx r6 70011bec: f8b4 312e ldrh.w r3, [r4, #302] @ 0x12e 70011bf0: 42ab cmp r3, r5 70011bf2: d8ef bhi.n 70011bd4 <_ZN8touchgfx11Application15drawCachedAreasEv+0xa8> 70011bf4: 4e80 ldr r6, [pc, #512] @ (70011df8 <_ZN8touchgfx11Application15drawCachedAreasEv+0x2cc>) 70011bf6: 6830 ldr r0, [r6, #0] 70011bf8: f890 304c ldrb.w r3, [r0, #76] @ 0x4c 70011bfc: 2b01 cmp r3, #1 70011bfe: f040 8109 bne.w 70011e14 <_ZN8touchgfx11Application15drawCachedAreasEv+0x2e8> 70011c02: 4a81 ldr r2, [pc, #516] @ (70011e08 <_ZN8touchgfx11Application15drawCachedAreasEv+0x2dc>) 70011c04: f8b4 10ec ldrh.w r1, [r4, #236] @ 0xec 70011c08: 7812 ldrb r2, [r2, #0] 70011c0a: 883b ldrh r3, [r7, #0] 70011c0c: 2a01 cmp r2, #1 70011c0e: f040 8081 bne.w 70011d14 <_ZN8touchgfx11Application15drawCachedAreasEv+0x1e8> 70011c12: f8df 81fc ldr.w r8, [pc, #508] @ 70011e10 <_ZN8touchgfx11Application15drawCachedAreasEv+0x2e4> 70011c16: f104 00ac add.w r0, r4, #172 @ 0xac 70011c1a: f8b8 2000 ldrh.w r2, [r8] 70011c1e: 4693 mov fp, r2 70011c20: e005 b.n 70011c2e <_ZN8touchgfx11Application15drawCachedAreasEv+0x102> 70011c22: f930 5033 ldrsh.w r5, [r0, r3, lsl #3] 70011c26: 3301 adds r3, #1 70011c28: 45ab cmp fp, r5 70011c2a: bfa8 it ge 70011c2c: 46ab movge fp, r5 70011c2e: 428b cmp r3, r1 70011c30: dbf7 blt.n 70011c22 <_ZN8touchgfx11Application15drawCachedAreasEv+0xf6> 70011c32: 2a0f cmp r2, #15 70011c34: f104 09ac add.w r9, r4, #172 @ 0xac 70011c38: f8ad 2034 strh.w r2, [sp, #52] @ 0x34 70011c3c: bf8c ite hi 70011c3e: 08d5 lsrhi r5, r2, #3 70011c40: 2501 movls r5, #1 70011c42: e055 b.n 70011cf0 <_ZN8touchgfx11Application15drawCachedAreasEv+0x1c4> 70011c44: f8b8 3000 ldrh.w r3, [r8] 70011c48: f8d1 10a8 ldr.w r1, [r1, #168] @ 0xa8 70011c4c: 9303 str r3, [sp, #12] 70011c4e: 4788 blx r1 70011c50: 9b03 ldr r3, [sp, #12] 70011c52: 4686 mov lr, r0 70011c54: 6830 ldr r0, [r6, #0] 70011c56: eba3 030e sub.w r3, r3, lr 70011c5a: ebaa 0e05 sub.w lr, sl, r5 70011c5e: f890 2080 ldrb.w r2, [r0, #128] @ 0x80 70011c62: b29b uxth r3, r3 70011c64: f890 106e ldrb.w r1, [r0, #110] @ 0x6e 70011c68: 4573 cmp r3, lr 70011c6a: dd05 ble.n 70011c78 <_ZN8touchgfx11Application15drawCachedAreasEv+0x14c> 70011c6c: 455b cmp r3, fp 70011c6e: dd03 ble.n 70011c78 <_ZN8touchgfx11Application15drawCachedAreasEv+0x14c> 70011c70: b94a cbnz r2, 70011c86 <_ZN8touchgfx11Application15drawCachedAreasEv+0x15a> 70011c72: 2900 cmp r1, #0 70011c74: d037 beq.n 70011ce6 <_ZN8touchgfx11Application15drawCachedAreasEv+0x1ba> 70011c76: e006 b.n 70011c86 <_ZN8touchgfx11Application15drawCachedAreasEv+0x15a> 70011c78: b92a cbnz r2, 70011c86 <_ZN8touchgfx11Application15drawCachedAreasEv+0x15a> 70011c7a: b921 cbnz r1, 70011c86 <_ZN8touchgfx11Application15drawCachedAreasEv+0x15a> 70011c7c: 455b cmp r3, fp 70011c7e: bfb8 it lt 70011c80: 465b movlt r3, fp 70011c82: 4618 mov r0, r3 70011c84: e000 b.n 70011c88 <_ZN8touchgfx11Application15drawCachedAreasEv+0x15c> 70011c86: 4658 mov r0, fp 70011c88: 4b60 ldr r3, [pc, #384] @ (70011e0c <_ZN8touchgfx11Application15drawCachedAreasEv+0x2e0>) 70011c8a: 2100 movs r1, #0 70011c8c: f8ad 0034 strh.w r0, [sp, #52] @ 0x34 70011c90: ebaa 0000 sub.w r0, sl, r0 70011c94: f9b3 3000 ldrsh.w r3, [r3] 70011c98: f8b7 a000 ldrh.w sl, [r7] 70011c9c: f8ad 1036 strh.w r1, [sp, #54] @ 0x36 70011ca0: f8ad 0038 strh.w r0, [sp, #56] @ 0x38 70011ca4: f8ad 303a strh.w r3, [sp, #58] @ 0x3a 70011ca8: e018 b.n 70011cdc <_ZN8touchgfx11Application15drawCachedAreasEv+0x1b0> 70011caa: eb09 01ca add.w r1, r9, sl, lsl #3 70011cae: f859 003a ldr.w r0, [r9, sl, lsl #3] 70011cb2: aa0f add r2, sp, #60 @ 0x3c 70011cb4: 6849 ldr r1, [r1, #4] 70011cb6: c203 stmia r2!, {r0, r1} 70011cb8: a90d add r1, sp, #52 @ 0x34 70011cba: a80f add r0, sp, #60 @ 0x3c 70011cbc: f7fc fa5a bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 70011cc0: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 70011cc4: f9bd 0040 ldrsh.w r0, [sp, #64] @ 0x40 70011cc8: f7ff f951 bl 70010f6e <_ZNK8touchgfx4Rect7isEmptyEv.isra.0> 70011ccc: b920 cbnz r0, 70011cd8 <_ZN8touchgfx11Application15drawCachedAreasEv+0x1ac> 70011cce: 6822 ldr r2, [r4, #0] 70011cd0: a90f add r1, sp, #60 @ 0x3c 70011cd2: 4620 mov r0, r4 70011cd4: 6c92 ldr r2, [r2, #72] @ 0x48 70011cd6: 4790 blx r2 70011cd8: f10a 0a01 add.w sl, sl, #1 70011cdc: f8b4 20ec ldrh.w r2, [r4, #236] @ 0xec 70011ce0: 4552 cmp r2, sl 70011ce2: dce2 bgt.n 70011caa <_ZN8touchgfx11Application15drawCachedAreasEv+0x17e> 70011ce4: e004 b.n 70011cf0 <_ZN8touchgfx11Application15drawCachedAreasEv+0x1c4> 70011ce6: 6803 ldr r3, [r0, #0] 70011ce8: 2101 movs r1, #1 70011cea: f8d3 30a4 ldr.w r3, [r3, #164] @ 0xa4 70011cee: 4798 blx r3 70011cf0: f9bd a034 ldrsh.w sl, [sp, #52] @ 0x34 70011cf4: 6830 ldr r0, [r6, #0] 70011cf6: 45da cmp sl, fp 70011cf8: 6801 ldr r1, [r0, #0] 70011cfa: dca3 bgt.n 70011c44 <_ZN8touchgfx11Application15drawCachedAreasEv+0x118> 70011cfc: e077 b.n 70011dee <_ZN8touchgfx11Application15drawCachedAreasEv+0x2c2> 70011cfe: f830 2033 ldrh.w r2, [r0, r3, lsl #3] 70011d02: f835 c033 ldrh.w ip, [r5, r3, lsl #3] 70011d06: 3301 adds r3, #1 70011d08: 4462 add r2, ip 70011d0a: b212 sxth r2, r2 70011d0c: 4592 cmp sl, r2 70011d0e: bfb8 it lt 70011d10: 4692 movlt sl, r2 70011d12: e005 b.n 70011d20 <_ZN8touchgfx11Application15drawCachedAreasEv+0x1f4> 70011d14: f04f 0a00 mov.w sl, #0 70011d18: f104 00b2 add.w r0, r4, #178 @ 0xb2 70011d1c: f104 05ae add.w r5, r4, #174 @ 0xae 70011d20: 428b cmp r3, r1 70011d22: dbec blt.n 70011cfe <_ZN8touchgfx11Application15drawCachedAreasEv+0x1d2> 70011d24: 4b39 ldr r3, [pc, #228] @ (70011e0c <_ZN8touchgfx11Application15drawCachedAreasEv+0x2e0>) 70011d26: f104 08ac add.w r8, r4, #172 @ 0xac 70011d2a: f8df 90e4 ldr.w r9, [pc, #228] @ 70011e10 <_ZN8touchgfx11Application15drawCachedAreasEv+0x2e4> 70011d2e: 881d ldrh r5, [r3, #0] 70011d30: 2300 movs r3, #0 70011d32: 2d0f cmp r5, #15 70011d34: e9cd 330d strd r3, r3, [sp, #52] @ 0x34 70011d38: bf8c ite hi 70011d3a: 08ed lsrhi r5, r5, #3 70011d3c: 2501 movls r5, #1 70011d3e: e04b b.n 70011dd8 <_ZN8touchgfx11Application15drawCachedAreasEv+0x2ac> 70011d40: f8d3 30a8 ldr.w r3, [r3, #168] @ 0xa8 70011d44: 4798 blx r3 70011d46: eb0b 0c05 add.w ip, fp, r5 70011d4a: 4603 mov r3, r0 70011d4c: 6830 ldr r0, [r6, #0] 70011d4e: 4563 cmp r3, ip 70011d50: f890 1080 ldrb.w r1, [r0, #128] @ 0x80 70011d54: f890 206e ldrb.w r2, [r0, #110] @ 0x6e 70011d58: da09 bge.n 70011d6e <_ZN8touchgfx11Application15drawCachedAreasEv+0x242> 70011d5a: 4553 cmp r3, sl 70011d5c: da07 bge.n 70011d6e <_ZN8touchgfx11Application15drawCachedAreasEv+0x242> 70011d5e: b969 cbnz r1, 70011d7c <_ZN8touchgfx11Application15drawCachedAreasEv+0x250> 70011d60: b962 cbnz r2, 70011d7c <_ZN8touchgfx11Application15drawCachedAreasEv+0x250> 70011d62: 6803 ldr r3, [r0, #0] 70011d64: 2101 movs r1, #1 70011d66: f8d3 30a4 ldr.w r3, [r3, #164] @ 0xa4 70011d6a: 4798 blx r3 70011d6c: e034 b.n 70011dd8 <_ZN8touchgfx11Application15drawCachedAreasEv+0x2ac> 70011d6e: b929 cbnz r1, 70011d7c <_ZN8touchgfx11Application15drawCachedAreasEv+0x250> 70011d70: b922 cbnz r2, 70011d7c <_ZN8touchgfx11Application15drawCachedAreasEv+0x250> 70011d72: 4553 cmp r3, sl 70011d74: bfa8 it ge 70011d76: 4653 movge r3, sl 70011d78: 4618 mov r0, r3 70011d7a: e000 b.n 70011d7e <_ZN8touchgfx11Application15drawCachedAreasEv+0x252> 70011d7c: 4650 mov r0, sl 70011d7e: eba0 000b sub.w r0, r0, fp 70011d82: f9b9 3000 ldrsh.w r3, [r9] 70011d86: 2200 movs r2, #0 70011d88: f8ad b036 strh.w fp, [sp, #54] @ 0x36 70011d8c: f8ad 3038 strh.w r3, [sp, #56] @ 0x38 70011d90: f8b7 b000 ldrh.w fp, [r7] 70011d94: f8ad 2034 strh.w r2, [sp, #52] @ 0x34 70011d98: f8ad 003a strh.w r0, [sp, #58] @ 0x3a 70011d9c: e018 b.n 70011dd0 <_ZN8touchgfx11Application15drawCachedAreasEv+0x2a4> 70011d9e: eb08 02cb add.w r2, r8, fp, lsl #3 70011da2: f858 003b ldr.w r0, [r8, fp, lsl #3] 70011da6: ab0f add r3, sp, #60 @ 0x3c 70011da8: 6851 ldr r1, [r2, #4] 70011daa: c303 stmia r3!, {r0, r1} 70011dac: a90d add r1, sp, #52 @ 0x34 70011dae: a80f add r0, sp, #60 @ 0x3c 70011db0: f7fc f9e0 bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 70011db4: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 70011db8: f9bd 0040 ldrsh.w r0, [sp, #64] @ 0x40 70011dbc: f7ff f8d7 bl 70010f6e <_ZNK8touchgfx4Rect7isEmptyEv.isra.0> 70011dc0: b920 cbnz r0, 70011dcc <_ZN8touchgfx11Application15drawCachedAreasEv+0x2a0> 70011dc2: 6823 ldr r3, [r4, #0] 70011dc4: a90f add r1, sp, #60 @ 0x3c 70011dc6: 4620 mov r0, r4 70011dc8: 6c9b ldr r3, [r3, #72] @ 0x48 70011dca: 4798 blx r3 70011dcc: f10b 0b01 add.w fp, fp, #1 70011dd0: f8b4 30ec ldrh.w r3, [r4, #236] @ 0xec 70011dd4: 455b cmp r3, fp 70011dd6: dce2 bgt.n 70011d9e <_ZN8touchgfx11Application15drawCachedAreasEv+0x272> 70011dd8: f8bd 303a ldrh.w r3, [sp, #58] @ 0x3a 70011ddc: f8bd b036 ldrh.w fp, [sp, #54] @ 0x36 70011de0: 6830 ldr r0, [r6, #0] 70011de2: 449b add fp, r3 70011de4: 6803 ldr r3, [r0, #0] 70011de6: fa0f fb8b sxth.w fp, fp 70011dea: 45d3 cmp fp, sl 70011dec: dba8 blt.n 70011d40 <_ZN8touchgfx11Application15drawCachedAreasEv+0x214> 70011dee: 6830 ldr r0, [r6, #0] 70011df0: 6803 ldr r3, [r0, #0] 70011df2: 6a5b ldr r3, [r3, #36] @ 0x24 70011df4: e069 b.n 70011eca <_ZN8touchgfx11Application15drawCachedAreasEv+0x39e> 70011df6: bf00 nop 70011df8: 2400da80 .word 0x2400da80 70011dfc: 2400dabc .word 0x2400dabc 70011e00: 2400dab4 .word 0x2400dab4 70011e04: 24000108 .word 0x24000108 70011e08: 2400da72 .word 0x2400da72 70011e0c: 2400da7a .word 0x2400da7a 70011e10: 2400da7c .word 0x2400da7c 70011e14: 2b02 cmp r3, #2 70011e16: f040 80d7 bne.w 70011fc8 <_ZN8touchgfx11Application15drawCachedAreasEv+0x49c> 70011e1a: f8b0 3084 ldrh.w r3, [r0, #132] @ 0x84 70011e1e: f890 7081 ldrb.w r7, [r0, #129] @ 0x81 70011e22: 9309 str r3, [sp, #36] @ 0x24 70011e24: f8b0 3082 ldrh.w r3, [r0, #130] @ 0x82 70011e28: 1e7d subs r5, r7, #1 70011e2a: 9308 str r3, [sp, #32] 70011e2c: fa1f fa85 uxth.w sl, r5 70011e30: 6803 ldr r3, [r0, #0] 70011e32: f8d3 30a8 ldr.w r3, [r3, #168] @ 0xa8 70011e36: 4798 blx r3 70011e38: 4bb6 ldr r3, [pc, #728] @ (70012114 <_ZN8touchgfx11Application15drawCachedAreasEv+0x5e8>) 70011e3a: 4681 mov r9, r0 70011e3c: 2000 movs r0, #0 70011e3e: 881b ldrh r3, [r3, #0] 70011e40: 9303 str r3, [sp, #12] 70011e42: 4bb5 ldr r3, [pc, #724] @ (70012118 <_ZN8touchgfx11Application15drawCachedAreasEv+0x5ec>) 70011e44: f8b3 8000 ldrh.w r8, [r3] 70011e48: 4bb4 ldr r3, [pc, #720] @ (7001211c <_ZN8touchgfx11Application15drawCachedAreasEv+0x5f0>) 70011e4a: 781b ldrb r3, [r3, #0] 70011e4c: 2b01 cmp r3, #1 70011e4e: bf1e ittt ne 70011e50: 4643 movne r3, r8 70011e52: f8dd 800c ldrne.w r8, [sp, #12] 70011e56: 9303 strne r3, [sp, #12] 70011e58: f7ef fcee bl 70001838 <_ZN8touchgfx4GPIO3setENS0_7GPIO_IDE> 70011e5c: fbb8 f7f7 udiv r7, r8, r7 70011e60: 437d muls r5, r7 70011e62: e00b b.n 70011e7c <_ZN8touchgfx11Application15drawCachedAreasEv+0x350> 70011e64: 6830 ldr r0, [r6, #0] 70011e66: 210a movs r1, #10 70011e68: 6803 ldr r3, [r0, #0] 70011e6a: f8d3 309c ldr.w r3, [r3, #156] @ 0x9c 70011e6e: 4798 blx r3 70011e70: 6830 ldr r0, [r6, #0] 70011e72: 6803 ldr r3, [r0, #0] 70011e74: f8d3 30a8 ldr.w r3, [r3, #168] @ 0xa8 70011e78: 4798 blx r3 70011e7a: 4681 mov r9, r0 70011e7c: 45a9 cmp r9, r5 70011e7e: dbf1 blt.n 70011e64 <_ZN8touchgfx11Application15drawCachedAreasEv+0x338> 70011e80: 2000 movs r0, #0 70011e82: f04f 0b00 mov.w fp, #0 70011e86: f7ef fcef bl 70001868 <_ZN8touchgfx4GPIO5clearENS0_7GPIO_IDE> 70011e8a: fb1a fa07 smulbb sl, sl, r7 70011e8e: b2bb uxth r3, r7 70011e90: 465d mov r5, fp 70011e92: 4ea3 ldr r6, [pc, #652] @ (70012120 <_ZN8touchgfx11Application15drawCachedAreasEv+0x5f4>) 70011e94: 9305 str r3, [sp, #20] 70011e96: fa1f f38a uxth.w r3, sl 70011e9a: 9306 str r3, [sp, #24] 70011e9c: ea4f 1358 mov.w r3, r8, lsr #5 70011ea0: 9307 str r3, [sp, #28] 70011ea2: e000 b.n 70011ea6 <_ZN8touchgfx11Application15drawCachedAreasEv+0x37a> 70011ea4: 46d1 mov r9, sl 70011ea6: 4545 cmp r5, r8 70011ea8: f000 81df beq.w 7001226a <_ZN8touchgfx11Application15drawCachedAreasEv+0x73e> 70011eac: 6830 ldr r0, [r6, #0] 70011eae: 6803 ldr r3, [r0, #0] 70011eb0: f8d3 30a8 ldr.w r3, [r3, #168] @ 0xa8 70011eb4: 4798 blx r3 70011eb6: 4581 cmp r9, r0 70011eb8: 4682 mov sl, r0 70011eba: d908 bls.n 70011ece <_ZN8touchgfx11Application15drawCachedAreasEv+0x3a2> 70011ebc: f1bb 0f00 cmp.w fp, #0 70011ec0: d008 beq.n 70011ed4 <_ZN8touchgfx11Application15drawCachedAreasEv+0x3a8> 70011ec2: 6830 ldr r0, [r6, #0] 70011ec4: 6803 ldr r3, [r0, #0] 70011ec6: f8d3 30b8 ldr.w r3, [r3, #184] @ 0xb8 70011eca: 4798 blx r3 70011ecc: e1cd b.n 7001226a <_ZN8touchgfx11Application15drawCachedAreasEv+0x73e> 70011ece: f1bb 0f00 cmp.w fp, #0 70011ed2: d004 beq.n 70011ede <_ZN8touchgfx11Application15drawCachedAreasEv+0x3b2> 70011ed4: 4555 cmp r5, sl 70011ed6: d200 bcs.n 70011eda <_ZN8touchgfx11Application15drawCachedAreasEv+0x3ae> 70011ed8: e7f3 b.n 70011ec2 <_ZN8touchgfx11Application15drawCachedAreasEv+0x396> 70011eda: f04f 0b01 mov.w fp, #1 70011ede: fbb5 f1f7 udiv r1, r5, r7 70011ee2: b28b uxth r3, r1 70011ee4: 1c58 adds r0, r3, #1 70011ee6: 9304 str r3, [sp, #16] 70011ee8: 9b05 ldr r3, [sp, #20] 70011eea: fb10 f003 smulbb r0, r0, r3 70011eee: fa1f fe80 uxth.w lr, r0 70011ef2: f1bb 0f00 cmp.w fp, #0 70011ef6: d005 beq.n 70011f04 <_ZN8touchgfx11Application15drawCachedAreasEv+0x3d8> 70011ef8: eb0a 0207 add.w r2, sl, r7 70011efc: 4542 cmp r2, r8 70011efe: bfa8 it ge 70011f00: 4642 movge r2, r8 70011f02: e002 b.n 70011f0a <_ZN8touchgfx11Application15drawCachedAreasEv+0x3de> 70011f04: 9b06 ldr r3, [sp, #24] 70011f06: ebaa 0203 sub.w r2, sl, r3 70011f0a: b292 uxth r2, r2 70011f0c: 9808 ldr r0, [sp, #32] 70011f0e: 4572 cmp r2, lr 70011f10: bf94 ite ls 70011f12: ebc5 0302 rsbls r3, r5, r2 70011f16: ebc5 030e rsbhi r3, r5, lr 70011f1a: 4283 cmp r3, r0 70011f1c: bfa8 it ge 70011f1e: 4603 movge r3, r0 70011f20: 9809 ldr r0, [sp, #36] @ 0x24 70011f22: fa1f f983 uxth.w r9, r3 70011f26: 4581 cmp r9, r0 70011f28: d205 bcs.n 70011f36 <_ZN8touchgfx11Application15drawCachedAreasEv+0x40a> 70011f2a: fa15 fc83 uxtah ip, r5, r3 70011f2e: 45e0 cmp r8, ip 70011f30: d001 beq.n 70011f36 <_ZN8touchgfx11Application15drawCachedAreasEv+0x40a> 70011f32: 4572 cmp r2, lr 70011f34: d93d bls.n 70011fb2 <_ZN8touchgfx11Application15drawCachedAreasEv+0x486> 70011f36: 2001 movs r0, #1 70011f38: e9cd 310a strd r3, r1, [sp, #40] @ 0x28 70011f3c: f7ef fc7c bl 70001838 <_ZN8touchgfx4GPIO3setENS0_7GPIO_IDE> 70011f40: 6830 ldr r0, [r6, #0] 70011f42: 990b ldr r1, [sp, #44] @ 0x2c 70011f44: 6802 ldr r2, [r0, #0] 70011f46: b209 sxth r1, r1 70011f48: f8d2 2098 ldr.w r2, [r2, #152] @ 0x98 70011f4c: 4790 blx r2 70011f4e: 4a73 ldr r2, [pc, #460] @ (7001211c <_ZN8touchgfx11Application15drawCachedAreasEv+0x5f0>) 70011f50: 9b0a ldr r3, [sp, #40] @ 0x28 70011f52: 2000 movs r0, #0 70011f54: 7812 ldrb r2, [r2, #0] 70011f56: f9bd 100c ldrsh.w r1, [sp, #12] 70011f5a: b21b sxth r3, r3 70011f5c: 2a01 cmp r2, #1 70011f5e: d10c bne.n 70011f7a <_ZN8touchgfx11Application15drawCachedAreasEv+0x44e> 70011f60: eba8 0205 sub.w r2, r8, r5 70011f64: f8ad 003e strh.w r0, [sp, #62] @ 0x3e 70011f68: f8ad 3040 strh.w r3, [sp, #64] @ 0x40 70011f6c: eba2 0209 sub.w r2, r2, r9 70011f70: f8ad 1042 strh.w r1, [sp, #66] @ 0x42 70011f74: f8ad 203c strh.w r2, [sp, #60] @ 0x3c 70011f78: e007 b.n 70011f8a <_ZN8touchgfx11Application15drawCachedAreasEv+0x45e> 70011f7a: f8ad 003c strh.w r0, [sp, #60] @ 0x3c 70011f7e: f8ad 503e strh.w r5, [sp, #62] @ 0x3e 70011f82: f8ad 1040 strh.w r1, [sp, #64] @ 0x40 70011f86: f8ad 3042 strh.w r3, [sp, #66] @ 0x42 70011f8a: 6823 ldr r3, [r4, #0] 70011f8c: a90f add r1, sp, #60 @ 0x3c 70011f8e: 4620 mov r0, r4 70011f90: 44a9 add r9, r5 70011f92: 6c9b ldr r3, [r3, #72] @ 0x48 70011f94: 4798 blx r3 70011f96: 6830 ldr r0, [r6, #0] 70011f98: 9b04 ldr r3, [sp, #16] 70011f9a: fa1f f589 uxth.w r5, r9 70011f9e: 4259 negs r1, r3 70011fa0: 6803 ldr r3, [r0, #0] 70011fa2: b209 sxth r1, r1 70011fa4: f8d3 3098 ldr.w r3, [r3, #152] @ 0x98 70011fa8: 4798 blx r3 70011faa: 2001 movs r0, #1 70011fac: f7ef fc5c bl 70001868 <_ZN8touchgfx4GPIO5clearENS0_7GPIO_IDE> 70011fb0: e778 b.n 70011ea4 <_ZN8touchgfx11Application15drawCachedAreasEv+0x378> 70011fb2: 6830 ldr r0, [r6, #0] 70011fb4: 6803 ldr r3, [r0, #0] 70011fb6: 6a9b ldr r3, [r3, #40] @ 0x28 70011fb8: 4798 blx r3 70011fba: 6830 ldr r0, [r6, #0] 70011fbc: 9907 ldr r1, [sp, #28] 70011fbe: 6803 ldr r3, [r0, #0] 70011fc0: f8d3 309c ldr.w r3, [r3, #156] @ 0x9c 70011fc4: 4798 blx r3 70011fc6: e76d b.n 70011ea4 <_ZN8touchgfx11Application15drawCachedAreasEv+0x378> 70011fc8: 2b03 cmp r3, #3 70011fca: f040 8132 bne.w 70012232 <_ZN8touchgfx11Application15drawCachedAreasEv+0x706> 70011fce: 4b53 ldr r3, [pc, #332] @ (7001211c <_ZN8touchgfx11Application15drawCachedAreasEv+0x5f0>) 70011fd0: f104 0aac add.w sl, r4, #172 @ 0xac 70011fd4: f9b0 8086 ldrsh.w r8, [r0, #134] @ 0x86 70011fd8: 781b ldrb r3, [r3, #0] 70011fda: 2b01 cmp r3, #1 70011fdc: f040 811c bne.w 70012218 <_ZN8touchgfx11Application15drawCachedAreasEv+0x6ec> 70011fe0: e086 b.n 700120f0 <_ZN8touchgfx11Application15drawCachedAreasEv+0x5c4> 70011fe2: f104 01b0 add.w r1, r4, #176 @ 0xb0 70011fe6: 883b ldrh r3, [r7, #0] 70011fe8: f9b4 20ac ldrsh.w r2, [r4, #172] @ 0xac 70011fec: f04f 0900 mov.w r9, #0 70011ff0: 3301 adds r3, #1 70011ff2: 9103 str r1, [sp, #12] 70011ff4: f104 01b2 add.w r1, r4, #178 @ 0xb2 70011ff8: b29b uxth r3, r3 70011ffa: 9104 str r1, [sp, #16] 70011ffc: e029 b.n 70012052 <_ZN8touchgfx11Application15drawCachedAreasEv+0x526> 70011ffe: 4425 add r5, r4 70012000: f93a e033 ldrsh.w lr, [sl, r3, lsl #3] 70012004: 469c mov ip, r3 70012006: f8b5 10b0 ldrh.w r1, [r5, #176] @ 0xb0 7001200a: f8b5 00ac ldrh.w r0, [r5, #172] @ 0xac 7001200e: 4408 add r0, r1 70012010: 9903 ldr r1, [sp, #12] 70012012: f831 1033 ldrh.w r1, [r1, r3, lsl #3] 70012016: b200 sxth r0, r0 70012018: 4471 add r1, lr 7001201a: b209 sxth r1, r1 7001201c: 4288 cmp r0, r1 7001201e: da04 bge.n 7001202a <_ZN8touchgfx11Application15drawCachedAreasEv+0x4fe> 70012020: 4586 cmp lr, r0 70012022: 4672 mov r2, lr 70012024: bfb8 it lt 70012026: 4602 movlt r2, r0 70012028: e011 b.n 7001204e <_ZN8touchgfx11Application15drawCachedAreasEv+0x522> 7001202a: d10c bne.n 70012046 <_ZN8touchgfx11Application15drawCachedAreasEv+0x51a> 7001202c: 9904 ldr r1, [sp, #16] 7001202e: f9b5 00b2 ldrsh.w r0, [r5, #178] @ 0xb2 70012032: f931 1033 ldrsh.w r1, [r1, r3, lsl #3] 70012036: 4288 cmp r0, r1 70012038: bfb4 ite lt 7001203a: 469c movlt ip, r3 7001203c: 46cc movge ip, r9 7001203e: 4572 cmp r2, lr 70012040: bfb8 it lt 70012042: 4672 movlt r2, lr 70012044: e003 b.n 7001204e <_ZN8touchgfx11Application15drawCachedAreasEv+0x522> 70012046: 428a cmp r2, r1 70012048: 46cc mov ip, r9 7001204a: bfb8 it lt 7001204c: 460a movlt r2, r1 7001204e: 3301 adds r3, #1 70012050: 46e1 mov r9, ip 70012052: b299 uxth r1, r3 70012054: ea4f 05c9 mov.w r5, r9, lsl #3 70012058: 458b cmp fp, r1 7001205a: d8d0 bhi.n 70011ffe <_ZN8touchgfx11Application15drawCachedAreasEv+0x4d2> 7001205c: 1961 adds r1, r4, r5 7001205e: ab0f add r3, sp, #60 @ 0x3c 70012060: f8d1 00ac ldr.w r0, [r1, #172] @ 0xac 70012064: f8d1 10b0 ldr.w r1, [r1, #176] @ 0xb0 70012068: c303 stmia r3!, {r0, r1} 7001206a: f9bd 3040 ldrsh.w r3, [sp, #64] @ 0x40 7001206e: a80f add r0, sp, #60 @ 0x3c 70012070: f8bd 103c ldrh.w r1, [sp, #60] @ 0x3c 70012074: 4543 cmp r3, r8 70012076: 440b add r3, r1 70012078: bfb8 it lt 7001207a: f9bd 203c ldrshlt.w r2, [sp, #60] @ 0x3c 7001207e: 1a9b subs r3, r3, r2 70012080: f8ad 203c strh.w r2, [sp, #60] @ 0x3c 70012084: f8ad 3040 strh.w r3, [sp, #64] @ 0x40 70012088: f7fe fe9e bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 7001208c: f9bd 3040 ldrsh.w r3, [sp, #64] @ 0x40 70012090: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 70012094: 4618 mov r0, r3 70012096: f7fe ff6a bl 70010f6e <_ZNK8touchgfx4Rect7isEmptyEv.isra.0> 7001209a: bb48 cbnz r0, 700120f0 <_ZN8touchgfx11Application15drawCachedAreasEv+0x5c4> 7001209c: 4588 cmp r8, r1 7001209e: 6830 ldr r0, [r6, #0] 700120a0: b29b uxth r3, r3 700120a2: 4425 add r5, r4 700120a4: bfa8 it ge 700120a6: b289 uxthge r1, r1 700120a8: 6802 ldr r2, [r0, #0] 700120aa: bfb8 it lt 700120ac: fa1f f188 uxthlt.w r1, r8 700120b0: 9100 str r1, [sp, #0] 700120b2: f8bd 103c ldrh.w r1, [sp, #60] @ 0x3c 700120b6: f8d2 b094 ldr.w fp, [r2, #148] @ 0x94 700120ba: f8bd 203e ldrh.w r2, [sp, #62] @ 0x3e 700120be: 47d8 blx fp 700120c0: 4683 mov fp, r0 700120c2: f8ad 0042 strh.w r0, [sp, #66] @ 0x42 700120c6: a80f add r0, sp, #60 @ 0x3c 700120c8: f7fe fe64 bl 70010d94 <_ZN8touchgfx21DisplayTransformation29transformFrameBufferToDisplayERNS_4RectE> 700120cc: 6823 ldr r3, [r4, #0] 700120ce: 4620 mov r0, r4 700120d0: a90f add r1, sp, #60 @ 0x3c 700120d2: 6c9b ldr r3, [r3, #72] @ 0x48 700120d4: 4798 blx r3 700120d6: f8b5 00b0 ldrh.w r0, [r5, #176] @ 0xb0 700120da: eba0 000b sub.w r0, r0, fp 700120de: b200 sxth r0, r0 700120e0: f8a5 00b0 strh.w r0, [r5, #176] @ 0xb0 700120e4: b920 cbnz r0, 700120f0 <_ZN8touchgfx11Application15drawCachedAreasEv+0x5c4> 700120e6: fa1f f189 uxth.w r1, r9 700120ea: 4650 mov r0, sl 700120ec: f7ff f9b0 bl 70011450 <_ZN8touchgfx6VectorINS_4RectELt8EE13quickRemoveAtEt> 700120f0: f8b4 b0ec ldrh.w fp, [r4, #236] @ 0xec 700120f4: f1bb 0f00 cmp.w fp, #0 700120f8: f47f af73 bne.w 70011fe2 <_ZN8touchgfx11Application15drawCachedAreasEv+0x4b6> 700120fc: e0b5 b.n 7001226a <_ZN8touchgfx11Application15drawCachedAreasEv+0x73e> 700120fe: f8b4 50b2 ldrh.w r5, [r4, #178] @ 0xb2 70012102: 4610 mov r0, r2 70012104: f8b4 30ae ldrh.w r3, [r4, #174] @ 0xae 70012108: f04f 0900 mov.w r9, #0 7001210c: 9903 ldr r1, [sp, #12] 7001210e: 441d add r5, r3 70012110: b22d sxth r5, r5 70012112: e02c b.n 7001216e <_ZN8touchgfx11Application15drawCachedAreasEv+0x642> 70012114: 2400da7a .word 0x2400da7a 70012118: 2400da7c .word 0x2400da7c 7001211c: 2400da72 .word 0x2400da72 70012120: 2400da80 .word 0x2400da80 70012124: 4426 add r6, r4 70012126: f9b1 e0ae ldrsh.w lr, [r1, #174] @ 0xae 7001212a: 4684 mov ip, r0 7001212c: f9b6 30ae ldrsh.w r3, [r6, #174] @ 0xae 70012130: 4573 cmp r3, lr 70012132: dd04 ble.n 7001213e <_ZN8touchgfx11Application15drawCachedAreasEv+0x612> 70012134: f8b1 50b2 ldrh.w r5, [r1, #178] @ 0xb2 70012138: 4475 add r5, lr 7001213a: b22d sxth r5, r5 7001213c: e00c b.n 70012158 <_ZN8touchgfx11Application15drawCachedAreasEv+0x62c> 7001213e: d10f bne.n 70012160 <_ZN8touchgfx11Application15drawCachedAreasEv+0x634> 70012140: f9b6 e0b0 ldrsh.w lr, [r6, #176] @ 0xb0 70012144: f9b1 60b0 ldrsh.w r6, [r1, #176] @ 0xb0 70012148: 45b6 cmp lr, r6 7001214a: bfb4 ite lt 7001214c: 4684 movlt ip, r0 7001214e: 46cc movge ip, r9 70012150: f8b1 60b2 ldrh.w r6, [r1, #178] @ 0xb2 70012154: 4433 add r3, r6 70012156: b21b sxth r3, r3 70012158: 429d cmp r5, r3 7001215a: bfa8 it ge 7001215c: 461d movge r5, r3 7001215e: e003 b.n 70012168 <_ZN8touchgfx11Application15drawCachedAreasEv+0x63c> 70012160: 4575 cmp r5, lr 70012162: 46cc mov ip, r9 70012164: bfa8 it ge 70012166: 4675 movge r5, lr 70012168: 3001 adds r0, #1 7001216a: 3108 adds r1, #8 7001216c: 46e1 mov r9, ip 7001216e: b283 uxth r3, r0 70012170: ea4f 06c9 mov.w r6, r9, lsl #3 70012174: 459b cmp fp, r3 70012176: d8d5 bhi.n 70012124 <_ZN8touchgfx11Application15drawCachedAreasEv+0x5f8> 70012178: eb0a 0006 add.w r0, sl, r6 7001217c: 4426 add r6, r4 7001217e: f9b6 30b2 ldrsh.w r3, [r6, #178] @ 0xb2 70012182: f9b0 1006 ldrsh.w r1, [r0, #6] 70012186: 4543 cmp r3, r8 70012188: f9b0 0004 ldrsh.w r0, [r0, #4] 7001218c: bfbe ittt lt 7001218e: f8b6 50ae ldrhlt.w r5, [r6, #174] @ 0xae 70012192: 18ed addlt r5, r5, r3 70012194: b22d sxthlt r5, r5 70012196: f7fe feea bl 70010f6e <_ZNK8touchgfx4Rect7isEmptyEv.isra.0> 7001219a: 2800 cmp r0, #0 7001219c: d1af bne.n 700120fe <_ZN8touchgfx11Application15drawCachedAreasEv+0x5d2> 7001219e: f9b6 20ae ldrsh.w r2, [r6, #174] @ 0xae 700121a2: b29b uxth r3, r3 700121a4: f8ad 0042 strh.w r0, [sp, #66] @ 0x42 700121a8: 1aad subs r5, r5, r2 700121aa: 483d ldr r0, [pc, #244] @ (700122a0 <_ZN8touchgfx11Application15drawCachedAreasEv+0x774>) 700121ac: f9b6 c0b0 ldrsh.w ip, [r6, #176] @ 0xb0 700121b0: 4545 cmp r5, r8 700121b2: f9b6 10ac ldrsh.w r1, [r6, #172] @ 0xac 700121b6: 6800 ldr r0, [r0, #0] 700121b8: bfa8 it ge 700121ba: 4645 movge r5, r8 700121bc: f8ad 103c strh.w r1, [sp, #60] @ 0x3c 700121c0: f8ad 203e strh.w r2, [sp, #62] @ 0x3e 700121c4: b289 uxth r1, r1 700121c6: f8ad c040 strh.w ip, [sp, #64] @ 0x40 700121ca: b2ad uxth r5, r5 700121cc: f8d0 e000 ldr.w lr, [r0] 700121d0: b292 uxth r2, r2 700121d2: 429d cmp r5, r3 700121d4: bf94 ite ls 700121d6: 9500 strls r5, [sp, #0] 700121d8: 9300 strhi r3, [sp, #0] 700121da: fa1f f38c uxth.w r3, ip 700121de: f8de 5094 ldr.w r5, [lr, #148] @ 0x94 700121e2: 47a8 blx r5 700121e4: 6823 ldr r3, [r4, #0] 700121e6: f8ad 0042 strh.w r0, [sp, #66] @ 0x42 700121ea: a90f add r1, sp, #60 @ 0x3c 700121ec: 6c9b ldr r3, [r3, #72] @ 0x48 700121ee: 4620 mov r0, r4 700121f0: 4798 blx r3 700121f2: f8bd 2042 ldrh.w r2, [sp, #66] @ 0x42 700121f6: f8b6 30ae ldrh.w r3, [r6, #174] @ 0xae 700121fa: 4413 add r3, r2 700121fc: f8a6 30ae strh.w r3, [r6, #174] @ 0xae 70012200: f8b6 30b2 ldrh.w r3, [r6, #178] @ 0xb2 70012204: 1a9b subs r3, r3, r2 70012206: b21b sxth r3, r3 70012208: f8a6 30b2 strh.w r3, [r6, #178] @ 0xb2 7001220c: b923 cbnz r3, 70012218 <_ZN8touchgfx11Application15drawCachedAreasEv+0x6ec> 7001220e: fa1f f189 uxth.w r1, r9 70012212: 4650 mov r0, sl 70012214: f7ff f91c bl 70011450 <_ZN8touchgfx6VectorINS_4RectELt8EE13quickRemoveAtEt> 70012218: 883a ldrh r2, [r7, #0] 7001221a: f8b4 b0ec ldrh.w fp, [r4, #236] @ 0xec 7001221e: 3201 adds r2, #1 70012220: b292 uxth r2, r2 70012222: eb04 03c2 add.w r3, r4, r2, lsl #3 70012226: 9303 str r3, [sp, #12] 70012228: f1bb 0f00 cmp.w fp, #0 7001222c: f47f af67 bne.w 700120fe <_ZN8touchgfx11Application15drawCachedAreasEv+0x5d2> 70012230: e01b b.n 7001226a <_ZN8touchgfx11Application15drawCachedAreasEv+0x73e> 70012232: 883d ldrh r5, [r7, #0] 70012234: e015 b.n 70012262 <_ZN8touchgfx11Application15drawCachedAreasEv+0x736> 70012236: eb04 02c5 add.w r2, r4, r5, lsl #3 7001223a: ab0f add r3, sp, #60 @ 0x3c 7001223c: f8d2 00ac ldr.w r0, [r2, #172] @ 0xac 70012240: f8d2 10b0 ldr.w r1, [r2, #176] @ 0xb0 70012244: c303 stmia r3!, {r0, r1} 70012246: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 7001224a: f9bd 0040 ldrsh.w r0, [sp, #64] @ 0x40 7001224e: f7fe fe8e bl 70010f6e <_ZNK8touchgfx4Rect7isEmptyEv.isra.0> 70012252: b920 cbnz r0, 7001225e <_ZN8touchgfx11Application15drawCachedAreasEv+0x732> 70012254: 6823 ldr r3, [r4, #0] 70012256: a90f add r1, sp, #60 @ 0x3c 70012258: 4620 mov r0, r4 7001225a: 6c9b ldr r3, [r3, #72] @ 0x48 7001225c: 4798 blx r3 7001225e: 3501 adds r5, #1 70012260: b2ad uxth r5, r5 70012262: f8b4 30ec ldrh.w r3, [r4, #236] @ 0xec 70012266: 42ab cmp r3, r5 70012268: d8e5 bhi.n 70012236 <_ZN8touchgfx11Application15drawCachedAreasEv+0x70a> 7001226a: 4b0e ldr r3, [pc, #56] @ (700122a4 <_ZN8touchgfx11Application15drawCachedAreasEv+0x778>) 7001226c: 781b ldrb r3, [r3, #0] 7001226e: b1a3 cbz r3, 7001229a <_ZN8touchgfx11Application15drawCachedAreasEv+0x76e> 70012270: 2300 movs r3, #0 70012272: 34ee adds r4, #238 @ 0xee 70012274: f8a4 3040 strh.w r3, [r4, #64] @ 0x40 70012278: 4b0b ldr r3, [pc, #44] @ (700122a8 <_ZN8touchgfx11Application15drawCachedAreasEv+0x77c>) 7001227a: 881d ldrh r5, [r3, #0] 7001227c: e009 b.n 70012292 <_ZN8touchgfx11Application15drawCachedAreasEv+0x766> 7001227e: ab22 add r3, sp, #136 @ 0x88 70012280: 4620 mov r0, r4 70012282: eb03 03c5 add.w r3, r3, r5, lsl #3 70012286: 3501 adds r5, #1 70012288: b2ad uxth r5, r5 7001228a: e953 1211 ldrd r1, r2, [r3, #-68] @ 0x44 7001228e: f7ff f8f3 bl 70011478 <_ZN8touchgfx6VectorINS_4RectELt8EE3addES1_> 70012292: f8bd 3084 ldrh.w r3, [sp, #132] @ 0x84 70012296: 42ab cmp r3, r5 70012298: d8f1 bhi.n 7001227e <_ZN8touchgfx11Application15drawCachedAreasEv+0x752> 7001229a: b023 add sp, #140 @ 0x8c 7001229c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700122a0: 2400da80 .word 0x2400da80 700122a4: 2400da74 .word 0x2400da74 700122a8: 24000108 .word 0x24000108 700122ac <_GLOBAL__sub_I__ZN8touchgfx11Application8instanceE>: 700122ac: 4b03 ldr r3, [pc, #12] @ (700122bc <_GLOBAL__sub_I__ZN8touchgfx11Application8instanceE+0x10>) 700122ae: 2200 movs r2, #0 700122b0: 801a strh r2, [r3, #0] 700122b2: 805a strh r2, [r3, #2] 700122b4: 809a strh r2, [r3, #4] 700122b6: 80da strh r2, [r3, #6] 700122b8: 4770 bx lr 700122ba: bf00 nop 700122bc: 2400dab4 .word 0x2400dab4 700122c0 <_ZNK8touchgfx4Font17getStringWidthLTREhPKtSt9__va_list>: 700122c0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700122c4: b09f sub sp, #124 @ 0x7c 700122c6: 4605 mov r5, r0 700122c8: 4614 mov r4, r2 700122ca: 461e mov r6, r3 700122cc: a805 add r0, sp, #20 700122ce: 9103 str r1, [sp, #12] 700122d0: f001 fa1b bl 7001370a <_ZN8touchgfx12TextProviderC1Ev> 700122d4: 682b ldr r3, [r5, #0] 700122d6: 4628 mov r0, r5 700122d8: f64f 6aff movw sl, #65279 @ 0xfeff 700122dc: 6cdb ldr r3, [r3, #76] @ 0x4c 700122de: f242 0b0b movw fp, #8203 @ 0x200b 700122e2: 4798 blx r3 700122e4: 682b ldr r3, [r5, #0] 700122e6: 4607 mov r7, r0 700122e8: 4628 mov r0, r5 700122ea: 6d1b ldr r3, [r3, #80] @ 0x50 700122ec: 4798 blx r3 700122ee: 4632 mov r2, r6 700122f0: 2600 movs r6, #0 700122f2: 463b mov r3, r7 700122f4: 4621 mov r1, r4 700122f6: 9000 str r0, [sp, #0] 700122f8: 4634 mov r4, r6 700122fa: 46b0 mov r8, r6 700122fc: 4637 mov r7, r6 700122fe: a805 add r0, sp, #20 70012300: f001 fa52 bl 700137a8 <_ZN8touchgfx12TextProvider10initializeEPKtSt9__va_listS2_PKNS_24FontContextualFormsTableE> 70012304: 2300 movs r3, #0 70012306: 4554 cmp r4, sl 70012308: 9304 str r3, [sp, #16] 7001230a: d002 beq.n 70012312 <_ZNK8touchgfx4Font17getStringWidthLTREhPKtSt9__va_list+0x52> 7001230c: 455c cmp r4, fp 7001230e: bf18 it ne 70012310: 4626 movne r6, r4 70012312: ab04 add r3, sp, #16 70012314: 462a mov r2, r5 70012316: 9903 ldr r1, [sp, #12] 70012318: a805 add r0, sp, #20 7001231a: f001 fd29 bl 70013d70 <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE> 7001231e: 4604 mov r4, r0 70012320: b108 cbz r0, 70012326 <_ZNK8touchgfx4Font17getStringWidthLTREhPKtSt9__va_list+0x66> 70012322: 280a cmp r0, #10 70012324: d104 bne.n 70012330 <_ZNK8touchgfx4Font17getStringWidthLTREhPKtSt9__va_list+0x70> 70012326: 45b8 cmp r8, r7 70012328: bf38 it cc 7001232a: 46b8 movcc r8, r7 7001232c: 2700 movs r7, #0 7001232e: e013 b.n 70012358 <_ZNK8touchgfx4Font17getStringWidthLTREhPKtSt9__va_list+0x98> 70012330: 9a04 ldr r2, [sp, #16] 70012332: 2a00 cmp r2, #0 70012334: d0e6 beq.n 70012304 <_ZNK8touchgfx4Font17getStringWidthLTREhPKtSt9__va_list+0x44> 70012336: 7b53 ldrb r3, [r2, #13] 70012338: 4631 mov r1, r6 7001233a: f892 900a ldrb.w r9, [r2, #10] 7001233e: 4628 mov r0, r5 70012340: 005b lsls r3, r3, #1 70012342: 8894 ldrh r4, [r2, #4] 70012344: f403 7380 and.w r3, r3, #256 @ 0x100 70012348: ea49 0903 orr.w r9, r9, r3 7001234c: 682b ldr r3, [r5, #0] 7001234e: 6c5b ldr r3, [r3, #68] @ 0x44 70012350: 4798 blx r3 70012352: 4448 add r0, r9 70012354: 4438 add r0, r7 70012356: b287 uxth r7, r0 70012358: 2c00 cmp r4, #0 7001235a: d1d3 bne.n 70012304 <_ZNK8touchgfx4Font17getStringWidthLTREhPKtSt9__va_list+0x44> 7001235c: 4640 mov r0, r8 7001235e: b01f add sp, #124 @ 0x7c 70012360: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70012364 <_ZNK8touchgfx4Font12getCharWidthEt>: 70012364: b508 push {r3, lr} 70012366: 6803 ldr r3, [r0, #0] 70012368: 68db ldr r3, [r3, #12] 7001236a: 4798 blx r3 7001236c: b128 cbz r0, 7001237a <_ZNK8touchgfx4Font12getCharWidthEt+0x16> 7001236e: 7b43 ldrb r3, [r0, #13] 70012370: 7a80 ldrb r0, [r0, #10] 70012372: 005b lsls r3, r3, #1 70012374: f403 7380 and.w r3, r3, #256 @ 0x100 70012378: 4318 orrs r0, r3 7001237a: bd08 pop {r3, pc} 7001237c <_ZNK8touchgfx4Font16getMaxTextHeightEPKtz>: 7001237c: b40e push {r1, r2, r3} 7001237e: b5f0 push {r4, r5, r6, r7, lr} 70012380: b09e sub sp, #120 @ 0x78 70012382: 4604 mov r4, r0 70012384: ab23 add r3, sp, #140 @ 0x8c 70012386: a805 add r0, sp, #20 70012388: f853 6b04 ldr.w r6, [r3], #4 7001238c: 9303 str r3, [sp, #12] 7001238e: f001 f9bc bl 7001370a <_ZN8touchgfx12TextProviderC1Ev> 70012392: 6823 ldr r3, [r4, #0] 70012394: 4620 mov r0, r4 70012396: 6cdb ldr r3, [r3, #76] @ 0x4c 70012398: 4798 blx r3 7001239a: 6823 ldr r3, [r4, #0] 7001239c: 4605 mov r5, r0 7001239e: 4620 mov r0, r4 700123a0: 6d1b ldr r3, [r3, #80] @ 0x50 700123a2: 4798 blx r3 700123a4: 462b mov r3, r5 700123a6: 2500 movs r5, #0 700123a8: 9000 str r0, [sp, #0] 700123aa: 9a03 ldr r2, [sp, #12] 700123ac: 4631 mov r1, r6 700123ae: a805 add r0, sp, #20 700123b0: f001 f9fa bl 700137a8 <_ZN8touchgfx12TextProvider10initializeEPKtSt9__va_listS2_PKNS_24FontContextualFormsTableE> 700123b4: 9504 str r5, [sp, #16] 700123b6: e01c b.n 700123f2 <_ZNK8touchgfx4Font16getMaxTextHeightEPKtz+0x76> 700123b8: 280a cmp r0, #10 700123ba: d01a beq.n 700123f2 <_ZNK8touchgfx4Font16getMaxTextHeightEPKtz+0x76> 700123bc: 9804 ldr r0, [sp, #16] 700123be: b1c0 cbz r0, 700123f2 <_ZNK8touchgfx4Font16getMaxTextHeightEPKtz+0x76> 700123c0: 7b47 ldrb r7, [r0, #13] 700123c2: 7a02 ldrb r2, [r0, #8] 700123c4: 00fe lsls r6, r7, #3 700123c6: 79c0 ldrb r0, [r0, #7] 700123c8: 0139 lsls r1, r7, #4 700123ca: 88e3 ldrh r3, [r4, #6] 700123cc: f406 7680 and.w r6, r6, #256 @ 0x100 700123d0: f401 7180 and.w r1, r1, #256 @ 0x100 700123d4: 4332 orrs r2, r6 700123d6: 067e lsls r6, r7, #25 700123d8: ea41 0100 orr.w r1, r1, r0 700123dc: bf48 it mi 700123de: f5a2 7200 submi.w r2, r2, #512 @ 0x200 700123e2: 440b add r3, r1 700123e4: bf48 it mi 700123e6: b212 sxthmi r2, r2 700123e8: 1a9b subs r3, r3, r2 700123ea: b21b sxth r3, r3 700123ec: 429d cmp r5, r3 700123ee: bfb8 it lt 700123f0: 461d movlt r5, r3 700123f2: ab04 add r3, sp, #16 700123f4: 4622 mov r2, r4 700123f6: 2100 movs r1, #0 700123f8: a805 add r0, sp, #20 700123fa: f001 fcb9 bl 70013d70 <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE> 700123fe: 2800 cmp r0, #0 70012400: d1da bne.n 700123b8 <_ZNK8touchgfx4Font16getMaxTextHeightEPKtz+0x3c> 70012402: b2a8 uxth r0, r5 70012404: b01e add sp, #120 @ 0x78 70012406: e8bd 40f0 ldmia.w sp!, {r4, r5, r6, r7, lr} 7001240a: b003 add sp, #12 7001240c: 4770 bx lr 7001240e <_ZNK8touchgfx4Font20getMinimumTextHeightEv>: 7001240e: 7a43 ldrb r3, [r0, #9] 70012410: 8882 ldrh r2, [r0, #4] 70012412: 1898 adds r0, r3, r2 70012414: b280 uxth r0, r0 70012416: 4770 bx lr 70012418 <_ZNK8touchgfx4Font13getFontHeightEv>: 70012418: 6803 ldr r3, [r0, #0] 7001241a: 6b1b ldr r3, [r3, #48] @ 0x30 7001241c: 4718 bx r3 7001241e <_ZNK8touchgfx4Font16getNumberOfLinesEPKtz>: 7001241e: b40e push {r1, r2, r3} 70012420: b570 push {r4, r5, r6, lr} 70012422: b09d sub sp, #116 @ 0x74 70012424: 4604 mov r4, r0 70012426: ab21 add r3, sp, #132 @ 0x84 70012428: a803 add r0, sp, #12 7001242a: f853 6b04 ldr.w r6, [r3], #4 7001242e: 9302 str r3, [sp, #8] 70012430: f001 f96b bl 7001370a <_ZN8touchgfx12TextProviderC1Ev> 70012434: 6823 ldr r3, [r4, #0] 70012436: 4620 mov r0, r4 70012438: 6cdb ldr r3, [r3, #76] @ 0x4c 7001243a: 4798 blx r3 7001243c: 6823 ldr r3, [r4, #0] 7001243e: 4605 mov r5, r0 70012440: 4620 mov r0, r4 70012442: 6d1b ldr r3, [r3, #80] @ 0x50 70012444: 2401 movs r4, #1 70012446: 4798 blx r3 70012448: 462b mov r3, r5 7001244a: 9a02 ldr r2, [sp, #8] 7001244c: 4631 mov r1, r6 7001244e: 9000 str r0, [sp, #0] 70012450: a803 add r0, sp, #12 70012452: f001 f9a9 bl 700137a8 <_ZN8touchgfx12TextProvider10initializeEPKtSt9__va_listS2_PKNS_24FontContextualFormsTableE> 70012456: a803 add r0, sp, #12 70012458: f001 fd0a bl 70013e70 <_ZN8touchgfx12TextProvider11getNextCharEv> 7001245c: 4603 mov r3, r0 7001245e: e007 b.n 70012470 <_ZNK8touchgfx4Font16getNumberOfLinesEPKtz+0x52> 70012460: 2b0a cmp r3, #10 70012462: bf04 itt eq 70012464: 3001 addeq r0, #1 70012466: b204 sxtheq r4, r0 70012468: a803 add r0, sp, #12 7001246a: f001 fd01 bl 70013e70 <_ZN8touchgfx12TextProvider11getNextCharEv> 7001246e: 4603 mov r3, r0 70012470: b2a0 uxth r0, r4 70012472: 2b00 cmp r3, #0 70012474: d1f4 bne.n 70012460 <_ZNK8touchgfx4Font16getNumberOfLinesEPKtz+0x42> 70012476: b01d add sp, #116 @ 0x74 70012478: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7001247c: b003 add sp, #12 7001247e: 4770 bx lr 70012480 <_ZNK8touchgfx4Font15getSpacingAboveEPKtz>: 70012480: b40e push {r1, r2, r3} 70012482: b570 push {r4, r5, r6, lr} 70012484: b09f sub sp, #124 @ 0x7c 70012486: 4604 mov r4, r0 70012488: ab23 add r3, sp, #140 @ 0x8c 7001248a: a805 add r0, sp, #20 7001248c: f853 6b04 ldr.w r6, [r3], #4 70012490: 9303 str r3, [sp, #12] 70012492: f001 f93a bl 7001370a <_ZN8touchgfx12TextProviderC1Ev> 70012496: 6823 ldr r3, [r4, #0] 70012498: 4620 mov r0, r4 7001249a: 6cdb ldr r3, [r3, #76] @ 0x4c 7001249c: 4798 blx r3 7001249e: 6823 ldr r3, [r4, #0] 700124a0: 4605 mov r5, r0 700124a2: 4620 mov r0, r4 700124a4: 6d1b ldr r3, [r3, #80] @ 0x50 700124a6: 4798 blx r3 700124a8: 462b mov r3, r5 700124aa: 9a03 ldr r2, [sp, #12] 700124ac: 4631 mov r1, r6 700124ae: 9000 str r0, [sp, #0] 700124b0: a805 add r0, sp, #20 700124b2: f001 f979 bl 700137a8 <_ZN8touchgfx12TextProvider10initializeEPKtSt9__va_listS2_PKNS_24FontContextualFormsTableE> 700124b6: 2100 movs r1, #0 700124b8: ab04 add r3, sp, #16 700124ba: 4622 mov r2, r4 700124bc: a805 add r0, sp, #20 700124be: 9104 str r1, [sp, #16] 700124c0: f647 75ff movw r5, #32767 @ 0x7fff 700124c4: f001 fc54 bl 70013d70 <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE> 700124c8: e01a b.n 70012500 <_ZNK8touchgfx4Font15getSpacingAboveEPKtz+0x80> 700124ca: 280a cmp r0, #10 700124cc: d012 beq.n 700124f4 <_ZNK8touchgfx4Font15getSpacingAboveEPKtz+0x74> 700124ce: 9b04 ldr r3, [sp, #16] 700124d0: b183 cbz r3, 700124f4 <_ZNK8touchgfx4Font15getSpacingAboveEPKtz+0x74> 700124d2: 7b58 ldrb r0, [r3, #13] 700124d4: 7a1b ldrb r3, [r3, #8] 700124d6: 00c1 lsls r1, r0, #3 700124d8: 88e2 ldrh r2, [r4, #6] 700124da: f401 7180 and.w r1, r1, #256 @ 0x100 700124de: 430b orrs r3, r1 700124e0: 0641 lsls r1, r0, #25 700124e2: bf44 itt mi 700124e4: f5a3 7300 submi.w r3, r3, #512 @ 0x200 700124e8: b21b sxthmi r3, r3 700124ea: 1ad3 subs r3, r2, r3 700124ec: b21b sxth r3, r3 700124ee: 429d cmp r5, r3 700124f0: bfa8 it ge 700124f2: 461d movge r5, r3 700124f4: ab04 add r3, sp, #16 700124f6: 4622 mov r2, r4 700124f8: 2100 movs r1, #0 700124fa: a805 add r0, sp, #20 700124fc: f001 fc38 bl 70013d70 <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE> 70012500: 2800 cmp r0, #0 70012502: d1e2 bne.n 700124ca <_ZNK8touchgfx4Font15getSpacingAboveEPKtz+0x4a> 70012504: 4628 mov r0, r5 70012506: b01f add sp, #124 @ 0x7c 70012508: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7001250c: b003 add sp, #12 7001250e: 4770 bx lr 70012510 <_ZNK8touchgfx8Drawable10invalidateEv>: 70012510: b507 push {r0, r1, r2, lr} 70012512: 6803 ldr r3, [r0, #0] 70012514: 2100 movs r1, #0 70012516: 6882 ldr r2, [r0, #8] 70012518: 691b ldr r3, [r3, #16] 7001251a: e9cd 1200 strd r1, r2, [sp] 7001251e: 4669 mov r1, sp 70012520: 4798 blx r3 70012522: b003 add sp, #12 70012524: f85d fb04 ldr.w pc, [sp], #4 70012528 <_ZN8touchgfx8Drawable20getSolidRectAbsoluteEv>: 70012528: b538 push {r3, r4, r5, lr} 7001252a: 680b ldr r3, [r1, #0] 7001252c: 460c mov r4, r1 7001252e: 4605 mov r5, r0 70012530: 68db ldr r3, [r3, #12] 70012532: 4798 blx r3 70012534: 6823 ldr r3, [r4, #0] 70012536: 4620 mov r0, r4 70012538: 4629 mov r1, r5 7001253a: 6adb ldr r3, [r3, #44] @ 0x2c 7001253c: 4798 blx r3 7001253e: 4628 mov r0, r5 70012540: bd38 pop {r3, r4, r5, pc} 70012542 <_ZNK8touchgfx8Drawable23translateRectToAbsoluteERNS_4RectE>: 70012542: b410 push {r4} 70012544: 880a ldrh r2, [r1, #0] 70012546: 8884 ldrh r4, [r0, #4] 70012548: 4422 add r2, r4 7001254a: 800a strh r2, [r1, #0] 7001254c: 884a ldrh r2, [r1, #2] 7001254e: 88c4 ldrh r4, [r0, #6] 70012550: 4422 add r2, r4 70012552: 804a strh r2, [r1, #2] 70012554: 6940 ldr r0, [r0, #20] 70012556: b120 cbz r0, 70012562 <_ZNK8touchgfx8Drawable23translateRectToAbsoluteERNS_4RectE+0x20> 70012558: 6803 ldr r3, [r0, #0] 7001255a: f85d 4b04 ldr.w r4, [sp], #4 7001255e: 6adb ldr r3, [r3, #44] @ 0x2c 70012560: 4718 bx r3 70012562: f85d 4b04 ldr.w r4, [sp], #4 70012566: 4770 bx lr 70012568 <_ZNK8touchgfx8Drawable14getVisibleRectERNS_4RectE>: 70012568: b570 push {r4, r5, r6, lr} 7001256a: 8882 ldrh r2, [r0, #4] 7001256c: 460c mov r4, r1 7001256e: 880b ldrh r3, [r1, #0] 70012570: 4605 mov r5, r0 70012572: 4413 add r3, r2 70012574: 800b strh r3, [r1, #0] 70012576: 884b ldrh r3, [r1, #2] 70012578: 88c2 ldrh r2, [r0, #6] 7001257a: 4413 add r3, r2 7001257c: 804b strh r3, [r1, #2] 7001257e: 1d01 adds r1, r0, #4 70012580: 4620 mov r0, r4 70012582: f7fb fdf7 bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 70012586: f9b4 3004 ldrsh.w r3, [r4, #4] 7001258a: 2b00 cmp r3, #0 7001258c: dd0b ble.n 700125a6 <_ZNK8touchgfx8Drawable14getVisibleRectERNS_4RectE+0x3e> 7001258e: f9b4 3006 ldrsh.w r3, [r4, #6] 70012592: 2b00 cmp r3, #0 70012594: dd07 ble.n 700125a6 <_ZNK8touchgfx8Drawable14getVisibleRectERNS_4RectE+0x3e> 70012596: 6968 ldr r0, [r5, #20] 70012598: b128 cbz r0, 700125a6 <_ZNK8touchgfx8Drawable14getVisibleRectERNS_4RectE+0x3e> 7001259a: 6803 ldr r3, [r0, #0] 7001259c: 4621 mov r1, r4 7001259e: 6a9b ldr r3, [r3, #40] @ 0x28 700125a0: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 700125a4: 4718 bx r3 700125a6: bd70 pop {r4, r5, r6, pc} 700125a8 <_ZNK8touchgfx8Drawable14invalidateRectERNS_4RectE>: 700125a8: b570 push {r4, r5, r6, lr} 700125aa: 8882 ldrh r2, [r0, #4] 700125ac: 460c mov r4, r1 700125ae: 880b ldrh r3, [r1, #0] 700125b0: 4605 mov r5, r0 700125b2: 4413 add r3, r2 700125b4: 800b strh r3, [r1, #0] 700125b6: 884b ldrh r3, [r1, #2] 700125b8: 88c2 ldrh r2, [r0, #6] 700125ba: 4413 add r3, r2 700125bc: 804b strh r3, [r1, #2] 700125be: 1d01 adds r1, r0, #4 700125c0: 4620 mov r0, r4 700125c2: f7fb fdd7 bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 700125c6: f9b4 3004 ldrsh.w r3, [r4, #4] 700125ca: 2b00 cmp r3, #0 700125cc: dd19 ble.n 70012602 <_ZNK8touchgfx8Drawable14invalidateRectERNS_4RectE+0x5a> 700125ce: f9b4 3006 ldrsh.w r3, [r4, #6] 700125d2: 2b00 cmp r3, #0 700125d4: dd15 ble.n 70012602 <_ZNK8touchgfx8Drawable14invalidateRectERNS_4RectE+0x5a> 700125d6: 6968 ldr r0, [r5, #20] 700125d8: b128 cbz r0, 700125e6 <_ZNK8touchgfx8Drawable14invalidateRectERNS_4RectE+0x3e> 700125da: 6803 ldr r3, [r0, #0] 700125dc: 4621 mov r1, r4 700125de: 691b ldr r3, [r3, #16] 700125e0: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 700125e4: 4718 bx r3 700125e6: 4b07 ldr r3, [pc, #28] @ (70012604 <_ZNK8touchgfx8Drawable14invalidateRectERNS_4RectE+0x5c>) 700125e8: 681b ldr r3, [r3, #0] 700125ea: 3304 adds r3, #4 700125ec: 429d cmp r5, r3 700125ee: d108 bne.n 70012602 <_ZNK8touchgfx8Drawable14invalidateRectERNS_4RectE+0x5a> 700125f0: f7fe fdae bl 70011150 <_ZN8touchgfx11Application11getInstanceEv> 700125f4: 6803 ldr r3, [r0, #0] 700125f6: 6821 ldr r1, [r4, #0] 700125f8: 6862 ldr r2, [r4, #4] 700125fa: 6c1b ldr r3, [r3, #64] @ 0x40 700125fc: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70012600: 4718 bx r3 70012602: bd70 pop {r4, r5, r6, pc} 70012604: 2400dac4 .word 0x2400dac4 70012608 <_ZN8touchgfx8Drawable12moveRelativeEss>: 70012608: ea51 0302 orrs.w r3, r1, r2 7001260c: b570 push {r4, r5, r6, lr} 7001260e: 4604 mov r4, r0 70012610: 460d mov r5, r1 70012612: 4616 mov r6, r2 70012614: d011 beq.n 7001263a <_ZN8touchgfx8Drawable12moveRelativeEss+0x32> 70012616: 6803 ldr r3, [r0, #0] 70012618: 699b ldr r3, [r3, #24] 7001261a: 4798 blx r3 7001261c: 88e3 ldrh r3, [r4, #6] 7001261e: 4620 mov r0, r4 70012620: 18f2 adds r2, r6, r3 70012622: 88a3 ldrh r3, [r4, #4] 70012624: 18e9 adds r1, r5, r3 70012626: b212 sxth r2, r2 70012628: b209 sxth r1, r1 7001262a: f7f1 fc82 bl 70003f32 <_ZN8touchgfx8Drawable5setXYEss> 7001262e: 6823 ldr r3, [r4, #0] 70012630: 4620 mov r0, r4 70012632: 699b ldr r3, [r3, #24] 70012634: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70012638: 4718 bx r3 7001263a: bd70 pop {r4, r5, r6, pc} 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv>: 7001263c: b510 push {r4, lr} 7001263e: 2300 movs r3, #0 70012640: 4604 mov r4, r0 70012642: 4608 mov r0, r1 70012644: f9b1 1008 ldrsh.w r1, [r1, #8] 70012648: 8023 strh r3, [r4, #0] 7001264a: f9b0 200a ldrsh.w r2, [r0, #10] 7001264e: 8063 strh r3, [r4, #2] 70012650: 6803 ldr r3, [r0, #0] 70012652: 80a1 strh r1, [r4, #4] 70012654: 4621 mov r1, r4 70012656: 6adb ldr r3, [r3, #44] @ 0x2c 70012658: 80e2 strh r2, [r4, #6] 7001265a: 4798 blx r3 7001265c: 4620 mov r0, r4 7001265e: bd10 pop {r4, pc} 70012660 <_ZN8touchgfx22VectorFontRendererImplD1Ev>: 70012660: 4770 bx lr 70012662 <_ZN8touchgfx22VectorFontRendererImplD0Ev>: 70012662: b510 push {r4, lr} 70012664: 4604 mov r4, r0 70012666: 211c movs r1, #28 70012668: f027 f8a5 bl 700397b6 <_ZdlPvj> 7001266c: 4620 mov r0, r4 7001266e: bd10 pop {r4, pc} 70012670 <_ZN8touchgfx22VectorFontRendererImplC1Ev>: 70012670: 4a04 ldr r2, [pc, #16] @ (70012684 <_ZN8touchgfx22VectorFontRendererImplC1Ev+0x14>) 70012672: 6002 str r2, [r0, #0] 70012674: 2200 movs r2, #0 70012676: e9c0 2201 strd r2, r2, [r0, #4] 7001267a: e9c0 2203 strd r2, r2, [r0, #12] 7001267e: e9c0 2205 strd r2, r2, [r0, #20] 70012682: 4770 bx lr 70012684: 7003fc08 .word 0x7003fc08 70012688 <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs>: 70012688: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7001268c: 4604 mov r4, r0 7001268e: b085 sub sp, #20 70012690: 4618 mov r0, r3 70012692: 8813 ldrh r3, [r2, #0] 70012694: 4690 mov r8, r2 70012696: 8b62 ldrh r2, [r4, #26] 70012698: 9300 str r3, [sp, #0] 7001269a: 68e3 ldr r3, [r4, #12] 7001269c: 1c55 adds r5, r2, #1 7001269e: 9103 str r1, [sp, #12] 700126a0: eb03 0382 add.w r3, r3, r2, lsl #2 700126a4: 9a00 ldr r2, [sp, #0] 700126a6: f9b0 1000 ldrsh.w r1, [r0] 700126aa: b2ad uxth r5, r5 700126ac: f012 0201 ands.w r2, r2, #1 700126b0: 9201 str r2, [sp, #4] 700126b2: d018 beq.n 700126e6 <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x5e> 700126b4: ee07 1a90 vmov s15, r1 700126b8: 8365 strh r5, [r4, #26] 700126ba: eeb8 5ae7 vcvt.f32.s32 s10, s15 700126be: ed83 5a00 vstr s10, [r3] 700126c2: f9b0 3002 ldrsh.w r3, [r0, #2] 700126c6: 8b62 ldrh r2, [r4, #26] 700126c8: ee07 3a10 vmov s14, r3 700126cc: 68e3 ldr r3, [r4, #12] 700126ce: 1c51 adds r1, r2, #1 700126d0: eeb8 7ac7 vcvt.f32.s32 s14, s14 700126d4: eb03 0382 add.w r3, r3, r2, lsl #2 700126d8: 8361 strh r1, [r4, #26] 700126da: 2100 movs r1, #0 700126dc: ed83 7a00 vstr s14, [r3] 700126e0: ee04 1a90 vmov s9, r1 700126e4: e024 b.n 70012730 <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0xa8> 700126e6: ee04 1a90 vmov s9, r1 700126ea: f9b0 2004 ldrsh.w r2, [r0, #4] 700126ee: f9b0 1002 ldrsh.w r1, [r0, #2] 700126f2: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 700126f6: ee14 7a90 vmov r7, s9 700126fa: 443a add r2, r7 700126fc: ee05 2a10 vmov s10, r2 70012700: f9b0 2006 ldrsh.w r2, [r0, #6] 70012704: 8365 strh r5, [r4, #26] 70012706: 440a add r2, r1 70012708: eeb8 5ac5 vcvt.f32.s32 s10, s10 7001270c: ee07 2a10 vmov s14, r2 70012710: ee25 5a27 vmul.f32 s10, s10, s15 70012714: eeb8 7ac7 vcvt.f32.s32 s14, s14 70012718: ed83 5a00 vstr s10, [r3] 7001271c: 8b63 ldrh r3, [r4, #26] 7001271e: ee27 7a27 vmul.f32 s14, s14, s15 70012722: 68e2 ldr r2, [r4, #12] 70012724: 1c5d adds r5, r3, #1 70012726: eb02 0283 add.w r2, r2, r3, lsl #2 7001272a: 8365 strh r5, [r4, #26] 7001272c: ed82 7a00 vstr s14, [r2] 70012730: 8b25 ldrh r5, [r4, #24] 70012732: eeb6 4a00 vmov.f32 s8, #96 @ 0x3f000000 0.5 70012736: 68a2 ldr r2, [r4, #8] 70012738: 3004 adds r0, #4 7001273a: 1c6b adds r3, r5, #1 7001273c: f04f 0e05 mov.w lr, #5 70012740: 8323 strh r3, [r4, #24] 70012742: 2301 movs r3, #1 70012744: 5553 strb r3, [r2, r5] 70012746: 2200 movs r2, #0 70012748: 469a mov sl, r3 7001274a: 461d mov r5, r3 7001274c: ee07 2a90 vmov s15, r2 70012750: ee06 2a90 vmov s13, r2 70012754: ee06 2a10 vmov s12, r2 70012758: 4694 mov ip, r2 7001275a: e0b7 b.n 700128cc <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x244> 7001275c: 9e00 ldr r6, [sp, #0] 7001275e: fa46 fb05 asr.w fp, r6, r5 70012762: f00b 0601 and.w r6, fp, #1 70012766: f01b 0f01 tst.w fp, #1 7001276a: 9602 str r6, [sp, #8] 7001276c: f9b0 6000 ldrsh.w r6, [r0] 70012770: ee06 6a10 vmov s12, r6 70012774: f9b0 6002 ldrsh.w r6, [r0, #2] 70012778: ee06 6a90 vmov s13, r6 7001277c: d044 beq.n 70012808 <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x180> 7001277e: f107 0b01 add.w fp, r7, #1 70012782: eef8 3ac6 vcvt.f32.s32 s7, s12 70012786: eef8 5ae6 vcvt.f32.s32 s11, s13 7001278a: f8a4 b018 strh.w fp, [r4, #24] 7001278e: f1ba 0f00 cmp.w sl, #0 70012792: d004 beq.n 7001279e <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x116> 70012794: f04f 0602 mov.w r6, #2 70012798: f809 6007 strb.w r6, [r9, r7] 7001279c: e01d b.n 700127da <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x152> 7001279e: f809 e007 strb.w lr, [r9, r7] 700127a2: eeb8 3ae7 vcvt.f32.s32 s6, s15 700127a6: f8b4 901a ldrh.w r9, [r4, #26] 700127aa: 68e7 ldr r7, [r4, #12] 700127ac: f109 0a01 add.w sl, r9, #1 700127b0: eb07 0789 add.w r7, r7, r9, lsl #2 700127b4: f8a4 a01a strh.w sl, [r4, #26] 700127b8: ed87 3a00 vstr s6, [r7] 700127bc: ee03 2a10 vmov s6, r2 700127c0: f8b4 901a ldrh.w r9, [r4, #26] 700127c4: 68e7 ldr r7, [r4, #12] 700127c6: eeb8 3ac3 vcvt.f32.s32 s6, s6 700127ca: f109 0a01 add.w sl, r9, #1 700127ce: eb07 0789 add.w r7, r7, r9, lsl #2 700127d2: f8a4 a01a strh.w sl, [r4, #26] 700127d6: ed87 3a00 vstr s6, [r7] 700127da: f8b4 901a ldrh.w r9, [r4, #26] 700127de: 68e7 ldr r7, [r4, #12] 700127e0: f109 0a01 add.w sl, r9, #1 700127e4: eb07 0789 add.w r7, r7, r9, lsl #2 700127e8: f8a4 a01a strh.w sl, [r4, #26] 700127ec: edc7 3a00 vstr s7, [r7] 700127f0: f8b4 901a ldrh.w r9, [r4, #26] 700127f4: 68e7 ldr r7, [r4, #12] 700127f6: f109 0a01 add.w sl, r9, #1 700127fa: eb07 0789 add.w r7, r7, r9, lsl #2 700127fe: f8a4 a01a strh.w sl, [r4, #26] 70012802: edc7 5a00 vstr s11, [r7] 70012806: e054 b.n 700128b2 <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x22a> 70012808: f1ba 0f00 cmp.w sl, #0 7001280c: d004 beq.n 70012818 <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x190> 7001280e: eef0 7a46 vmov.f32 s15, s12 70012812: ee16 2a90 vmov r2, s13 70012816: e04c b.n 700128b2 <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x22a> 70012818: f107 0a01 add.w sl, r7, #1 7001281c: eef8 5ae7 vcvt.f32.s32 s11, s15 70012820: ee17 6a90 vmov r6, s15 70012824: f8a4 a018 strh.w sl, [r4, #24] 70012828: f809 e007 strb.w lr, [r9, r7] 7001282c: f8b4 901a ldrh.w r9, [r4, #26] 70012830: 68e7 ldr r7, [r4, #12] 70012832: f109 0a01 add.w sl, r9, #1 70012836: eb07 0789 add.w r7, r7, r9, lsl #2 7001283a: f8a4 a01a strh.w sl, [r4, #26] 7001283e: edc7 5a00 vstr s11, [r7] 70012842: ee05 2a90 vmov s11, r2 70012846: f8b4 901a ldrh.w r9, [r4, #26] 7001284a: 68e7 ldr r7, [r4, #12] 7001284c: eef8 5ae5 vcvt.f32.s32 s11, s11 70012850: f109 0a01 add.w sl, r9, #1 70012854: eb07 0789 add.w r7, r7, r9, lsl #2 70012858: f8a4 a01a strh.w sl, [r4, #26] 7001285c: edc7 5a00 vstr s11, [r7] 70012860: f8b4 901a ldrh.w r9, [r4, #26] 70012864: 68e7 ldr r7, [r4, #12] 70012866: f109 0a01 add.w sl, r9, #1 7001286a: eb07 0789 add.w r7, r7, r9, lsl #2 7001286e: ee16 9a10 vmov r9, s12 70012872: f8a4 a01a strh.w sl, [r4, #26] 70012876: 444e add r6, r9 70012878: ee07 6a90 vmov s15, r6 7001287c: ee16 6a90 vmov r6, s13 70012880: eef8 7ae7 vcvt.f32.s32 s15, s15 70012884: 4432 add r2, r6 70012886: ee05 2a90 vmov s11, r2 7001288a: ee67 7a84 vmul.f32 s15, s15, s8 7001288e: eef8 5ae5 vcvt.f32.s32 s11, s11 70012892: edc7 7a00 vstr s15, [r7] 70012896: f8b4 901a ldrh.w r9, [r4, #26] 7001289a: ee65 5a84 vmul.f32 s11, s11, s8 7001289e: 68e7 ldr r7, [r4, #12] 700128a0: f109 0a01 add.w sl, r9, #1 700128a4: eb07 0789 add.w r7, r7, r9, lsl #2 700128a8: f8a4 a01a strh.w sl, [r4, #26] 700128ac: edc7 5a00 vstr s11, [r7] 700128b0: e7ad b.n 7001280e <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x186> 700128b2: 3501 adds r5, #1 700128b4: 3301 adds r3, #1 700128b6: 3004 adds r0, #4 700128b8: f8dd a008 ldr.w sl, [sp, #8] 700128bc: 2d10 cmp r5, #16 700128be: bf01 itttt eq 700128c0: f10c 0c01 addeq.w ip, ip, #1 700128c4: f838 501c ldrheq.w r5, [r8, ip, lsl #1] 700128c8: 9500 streq r5, [sp, #0] 700128ca: 2500 moveq r5, #0 700128cc: 9e03 ldr r6, [sp, #12] 700128ce: 8b27 ldrh r7, [r4, #24] 700128d0: 429e cmp r6, r3 700128d2: f8d4 9008 ldr.w r9, [r4, #8] 700128d6: f73f af41 bgt.w 7001275c <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0xd4> 700128da: 1c7b adds r3, r7, #1 700128dc: f1ba 0f00 cmp.w sl, #0 700128e0: d019 beq.n 70012916 <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x28e> 700128e2: eeb8 6ac6 vcvt.f32.s32 s12, s12 700128e6: eeb4 6a45 vcmp.f32 s12, s10 700128ea: eef1 fa10 vmrs APSR_nzcv, fpscr 700128ee: d106 bne.n 700128fe <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x276> 700128f0: eef8 6ae6 vcvt.f32.s32 s13, s13 700128f4: eef4 6a47 vcmp.f32 s13, s14 700128f8: eef1 fa10 vmrs APSR_nzcv, fpscr 700128fc: d00b beq.n 70012916 <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x28e> 700128fe: b29b uxth r3, r3 70012900: 9a01 ldr r2, [sp, #4] 70012902: 8323 strh r3, [r4, #24] 70012904: b11a cbz r2, 7001290e <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x286> 70012906: 2302 movs r3, #2 70012908: f809 3007 strb.w r3, [r9, r7] 7001290c: e06f b.n 700129ee <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x366> 7001290e: 2305 movs r3, #5 70012910: f809 3007 strb.w r3, [r9, r7] 70012914: e055 b.n 700129c2 <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x33a> 70012916: b29b uxth r3, r3 70012918: ee06 2a90 vmov s13, r2 7001291c: 2505 movs r5, #5 7001291e: 9e01 ldr r6, [sp, #4] 70012920: 8323 strh r3, [r4, #24] 70012922: eeb8 6ae7 vcvt.f32.s32 s12, s15 70012926: f809 5007 strb.w r5, [r9, r7] 7001292a: eef8 6ae6 vcvt.f32.s32 s13, s13 7001292e: 68e3 ldr r3, [r4, #12] 70012930: b17e cbz r6, 70012952 <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x2ca> 70012932: 8b62 ldrh r2, [r4, #26] 70012934: 1c51 adds r1, r2, #1 70012936: eb03 0382 add.w r3, r3, r2, lsl #2 7001293a: 8361 strh r1, [r4, #26] 7001293c: ed83 6a00 vstr s12, [r3] 70012940: 8b62 ldrh r2, [r4, #26] 70012942: 68e3 ldr r3, [r4, #12] 70012944: 1c51 adds r1, r2, #1 70012946: eb03 0382 add.w r3, r3, r2, lsl #2 7001294a: 8361 strh r1, [r4, #26] 7001294c: edc3 6a00 vstr s13, [r3] 70012950: e04d b.n 700129ee <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs+0x366> 70012952: 8b66 ldrh r6, [r4, #26] 70012954: 440a add r2, r1 70012956: 1c77 adds r7, r6, #1 70012958: eb03 0386 add.w r3, r3, r6, lsl #2 7001295c: 8367 strh r7, [r4, #26] 7001295e: ed83 6a00 vstr s12, [r3] 70012962: 8b66 ldrh r6, [r4, #26] 70012964: 68e3 ldr r3, [r4, #12] 70012966: 1c77 adds r7, r6, #1 70012968: eb03 0386 add.w r3, r3, r6, lsl #2 7001296c: 8367 strh r7, [r4, #26] 7001296e: edc3 6a00 vstr s13, [r3] 70012972: eef6 6a00 vmov.f32 s13, #96 @ 0x3f000000 0.5 70012976: 8b66 ldrh r6, [r4, #26] 70012978: 68e3 ldr r3, [r4, #12] 7001297a: 1c77 adds r7, r6, #1 7001297c: eb03 0386 add.w r3, r3, r6, lsl #2 70012980: ee17 6a90 vmov r6, s15 70012984: 8367 strh r7, [r4, #26] 70012986: ee14 7a90 vmov r7, s9 7001298a: 443e add r6, r7 7001298c: ee07 6a90 vmov s15, r6 70012990: eef8 7ae7 vcvt.f32.s32 s15, s15 70012994: ee67 7aa6 vmul.f32 s15, s15, s13 70012998: edc3 7a00 vstr s15, [r3] 7001299c: ee07 2a90 vmov s15, r2 700129a0: 8b66 ldrh r6, [r4, #26] 700129a2: eef8 7ae7 vcvt.f32.s32 s15, s15 700129a6: 68e3 ldr r3, [r4, #12] 700129a8: 1c77 adds r7, r6, #1 700129aa: eb03 0386 add.w r3, r3, r6, lsl #2 700129ae: ee67 7aa6 vmul.f32 s15, s15, s13 700129b2: 8367 strh r7, [r4, #26] 700129b4: edc3 7a00 vstr s15, [r3] 700129b8: 8b23 ldrh r3, [r4, #24] 700129ba: 68a2 ldr r2, [r4, #8] 700129bc: 1c5e adds r6, r3, #1 700129be: 8326 strh r6, [r4, #24] 700129c0: 54d5 strb r5, [r2, r3] 700129c2: 8b62 ldrh r2, [r4, #26] 700129c4: eef8 7ae4 vcvt.f32.s32 s15, s9 700129c8: 68e3 ldr r3, [r4, #12] 700129ca: 1c55 adds r5, r2, #1 700129cc: eb03 0382 add.w r3, r3, r2, lsl #2 700129d0: 8365 strh r5, [r4, #26] 700129d2: edc3 7a00 vstr s15, [r3] 700129d6: ee07 1a90 vmov s15, r1 700129da: 8b62 ldrh r2, [r4, #26] 700129dc: 68e3 ldr r3, [r4, #12] 700129de: eef8 7ae7 vcvt.f32.s32 s15, s15 700129e2: 1c55 adds r5, r2, #1 700129e4: eb03 0382 add.w r3, r3, r2, lsl #2 700129e8: 8365 strh r5, [r4, #26] 700129ea: edc3 7a00 vstr s15, [r3] 700129ee: 8b62 ldrh r2, [r4, #26] 700129f0: 68e3 ldr r3, [r4, #12] 700129f2: 1c51 adds r1, r2, #1 700129f4: eb03 0382 add.w r3, r3, r2, lsl #2 700129f8: 8361 strh r1, [r4, #26] 700129fa: ed83 5a00 vstr s10, [r3] 700129fe: 8b62 ldrh r2, [r4, #26] 70012a00: 68e3 ldr r3, [r4, #12] 70012a02: 1c51 adds r1, r2, #1 70012a04: eb03 0382 add.w r3, r3, r2, lsl #2 70012a08: 8361 strh r1, [r4, #26] 70012a0a: ed83 7a00 vstr s14, [r3] 70012a0e: b005 add sp, #20 70012a10: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70012a14 <_ZN8touchgfx22VectorFontRendererImpl9drawGlyphERKNS_4RectES3_PKtPKNS_4FontENS_9colortypeEhNS_12TextRotationEii>: 70012a14: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 70012a18: 4604 mov r4, r0 70012a1a: b08e sub sp, #56 @ 0x38 70012a1c: 4698 mov r8, r3 70012a1e: 4689 mov r9, r1 70012a20: 4615 mov r5, r2 70012a22: 9e16 ldr r6, [sp, #88] @ 0x58 70012a24: f89d a064 ldrb.w sl, [sp, #100] @ 0x64 70012a28: 9f1a ldr r7, [sp, #104] @ 0x68 70012a2a: f7f0 fd7d bl 70003528 <_ZN8touchgfx14VectorRenderer11getInstanceEv> 70012a2e: 6060 str r0, [r4, #4] 70012a30: f1b8 0f00 cmp.w r8, #0 70012a34: f000 80e8 beq.w 70012c08 <_ZN8touchgfx22VectorFontRendererImpl9drawGlyphERKNS_4RectES3_PKtPKNS_4FontENS_9colortypeEhNS_12TextRotationEii+0x1f4> 70012a38: 2800 cmp r0, #0 70012a3a: f000 80e5 beq.w 70012c08 <_ZN8touchgfx22VectorFontRendererImpl9drawGlyphERKNS_4RectES3_PKtPKNS_4FontENS_9colortypeEhNS_12TextRotationEii+0x1f4> 70012a3e: a805 add r0, sp, #20 70012a40: f000 f8f9 bl 70012c36 <_ZN8touchgfx9Matrix3x3C1Ev> 70012a44: 6833 ldr r3, [r6, #0] 70012a46: 4630 mov r0, r6 70012a48: 6d9b ldr r3, [r3, #88] @ 0x58 70012a4a: 4798 blx r3 70012a4c: a805 add r0, sp, #20 70012a4e: eef0 0a40 vmov.f32 s1, s0 70012a52: f000 f8f4 bl 70012c3e <_ZN8touchgfx9Matrix3x35scaleEff> 70012a56: 6860 ldr r0, [r4, #4] 70012a58: f1ba 0f03 cmp.w sl, #3 70012a5c: f200 808f bhi.w 70012b7e <_ZN8touchgfx22VectorFontRendererImpl9drawGlyphERKNS_4RectES3_PKtPKNS_4FontENS_9colortypeEhNS_12TextRotationEii+0x16a> 70012a60: e8df f00a tbb [pc, sl] 70012a64: 64340e02 .word 0x64340e02 70012a68: 6803 ldr r3, [r0, #0] 70012a6a: 462a mov r2, r5 70012a6c: 4649 mov r1, r9 70012a6e: 689b ldr r3, [r3, #8] 70012a70: 4798 blx r3 70012a72: eddd 7a1b vldr s15, [sp, #108] @ 0x6c 70012a76: eef8 0ae7 vcvt.f32.s32 s1, s15 70012a7a: ee07 7a90 vmov s15, r7 70012a7e: e079 b.n 70012b74 <_ZN8touchgfx22VectorFontRendererImpl9drawGlyphERKNS_4RectES3_PKtPKNS_4FontENS_9colortypeEhNS_12TextRotationEii+0x160> 70012a80: f9b5 1006 ldrsh.w r1, [r5, #6] 70012a84: 886a ldrh r2, [r5, #2] 70012a86: f8b9 3004 ldrh.w r3, [r9, #4] 70012a8a: 440a add r2, r1 70012a8c: f8ad 1010 strh.w r1, [sp, #16] 70012a90: 4649 mov r1, r9 70012a92: 1a9b subs r3, r3, r2 70012a94: aa03 add r2, sp, #12 70012a96: f8ad 300c strh.w r3, [sp, #12] 70012a9a: 882b ldrh r3, [r5, #0] 70012a9c: f8ad 300e strh.w r3, [sp, #14] 70012aa0: 88ab ldrh r3, [r5, #4] 70012aa2: f8ad 3012 strh.w r3, [sp, #18] 70012aa6: 6803 ldr r3, [r0, #0] 70012aa8: 689b ldr r3, [r3, #8] 70012aaa: 4798 blx r3 70012aac: ed9f 0a58 vldr s0, [pc, #352] @ 70012c10 <_ZN8touchgfx22VectorFontRendererImpl9drawGlyphERKNS_4RectES3_PKtPKNS_4FontENS_9colortypeEhNS_12TextRotationEii+0x1fc> 70012ab0: a805 add r0, sp, #20 70012ab2: f000 f8e9 bl 70012c88 <_ZN8touchgfx9Matrix3x36rotateEf> 70012ab6: f9b9 3004 ldrsh.w r3, [r9, #4] 70012aba: 9a1b ldr r2, [sp, #108] @ 0x6c 70012abc: ee07 7a90 vmov s15, r7 70012ac0: 1a9b subs r3, r3, r2 70012ac2: eef8 0ae7 vcvt.f32.s32 s1, s15 70012ac6: ee00 3a10 vmov s0, r3 70012aca: e02c b.n 70012b26 <_ZN8touchgfx22VectorFontRendererImpl9drawGlyphERKNS_4RectES3_PKtPKNS_4FontENS_9colortypeEhNS_12TextRotationEii+0x112> 70012acc: f9b5 1004 ldrsh.w r1, [r5, #4] 70012ad0: 882a ldrh r2, [r5, #0] 70012ad2: f8b9 3004 ldrh.w r3, [r9, #4] 70012ad6: 440a add r2, r1 70012ad8: f9b5 c006 ldrsh.w ip, [r5, #6] 70012adc: f8ad 1010 strh.w r1, [sp, #16] 70012ae0: 4649 mov r1, r9 70012ae2: 1a9b subs r3, r3, r2 70012ae4: 886a ldrh r2, [r5, #2] 70012ae6: f8ad c012 strh.w ip, [sp, #18] 70012aea: 4462 add r2, ip 70012aec: f8ad 300c strh.w r3, [sp, #12] 70012af0: f8b9 3006 ldrh.w r3, [r9, #6] 70012af4: 1a9b subs r3, r3, r2 70012af6: aa03 add r2, sp, #12 70012af8: f8ad 300e strh.w r3, [sp, #14] 70012afc: 6803 ldr r3, [r0, #0] 70012afe: 689b ldr r3, [r3, #8] 70012b00: 4798 blx r3 70012b02: ed9f 0a44 vldr s0, [pc, #272] @ 70012c14 <_ZN8touchgfx22VectorFontRendererImpl9drawGlyphERKNS_4RectES3_PKtPKNS_4FontENS_9colortypeEhNS_12TextRotationEii+0x200> 70012b06: a805 add r0, sp, #20 70012b08: f000 f8be bl 70012c88 <_ZN8touchgfx9Matrix3x36rotateEf> 70012b0c: f9b9 3006 ldrsh.w r3, [r9, #6] 70012b10: 9a1b ldr r2, [sp, #108] @ 0x6c 70012b12: 1a9b subs r3, r3, r2 70012b14: ee00 3a90 vmov s1, r3 70012b18: f9b9 3004 ldrsh.w r3, [r9, #4] 70012b1c: 1bdb subs r3, r3, r7 70012b1e: eef8 0ae0 vcvt.f32.s32 s1, s1 70012b22: ee00 3a10 vmov s0, r3 70012b26: eeb8 0ac0 vcvt.f32.s32 s0, s0 70012b2a: e025 b.n 70012b78 <_ZN8touchgfx22VectorFontRendererImpl9drawGlyphERKNS_4RectES3_PKtPKNS_4FontENS_9colortypeEhNS_12TextRotationEii+0x164> 70012b2c: f9b5 1004 ldrsh.w r1, [r5, #4] 70012b30: 886b ldrh r3, [r5, #2] 70012b32: 882a ldrh r2, [r5, #0] 70012b34: f8ad 300c strh.w r3, [sp, #12] 70012b38: 440a add r2, r1 70012b3a: f8b9 3006 ldrh.w r3, [r9, #6] 70012b3e: f8ad 1012 strh.w r1, [sp, #18] 70012b42: 4649 mov r1, r9 70012b44: 1a9b subs r3, r3, r2 70012b46: aa03 add r2, sp, #12 70012b48: f8ad 300e strh.w r3, [sp, #14] 70012b4c: 88eb ldrh r3, [r5, #6] 70012b4e: f8ad 3010 strh.w r3, [sp, #16] 70012b52: 6803 ldr r3, [r0, #0] 70012b54: 689b ldr r3, [r3, #8] 70012b56: 4798 blx r3 70012b58: ed9f 0a2f vldr s0, [pc, #188] @ 70012c18 <_ZN8touchgfx22VectorFontRendererImpl9drawGlyphERKNS_4RectES3_PKtPKNS_4FontENS_9colortypeEhNS_12TextRotationEii+0x204> 70012b5c: a805 add r0, sp, #20 70012b5e: f000 f893 bl 70012c88 <_ZN8touchgfx9Matrix3x36rotateEf> 70012b62: f9b9 3006 ldrsh.w r3, [r9, #6] 70012b66: eddd 7a1b vldr s15, [sp, #108] @ 0x6c 70012b6a: 1bdb subs r3, r3, r7 70012b6c: ee00 3a90 vmov s1, r3 70012b70: eef8 0ae0 vcvt.f32.s32 s1, s1 70012b74: eeb8 0ae7 vcvt.f32.s32 s0, s15 70012b78: a805 add r0, sp, #20 70012b7a: f000 f8d3 bl 70012d24 <_ZN8touchgfx9Matrix3x39translateEff> 70012b7e: 6860 ldr r0, [r4, #4] 70012b80: a905 add r1, sp, #20 70012b82: 2600 movs r6, #0 70012b84: 6803 ldr r3, [r0, #0] 70012b86: 6b5b ldr r3, [r3, #52] @ 0x34 70012b88: 4798 blx r3 70012b8a: 6860 ldr r0, [r4, #4] 70012b8c: 9917 ldr r1, [sp, #92] @ 0x5c 70012b8e: 6803 ldr r3, [r0, #0] 70012b90: f041 417f orr.w r1, r1, #4278190080 @ 0xff000000 70012b94: 6a9b ldr r3, [r3, #40] @ 0x28 70012b96: 4798 blx r3 70012b98: 6860 ldr r0, [r4, #4] 70012b9a: f89d 1060 ldrb.w r1, [sp, #96] @ 0x60 70012b9e: 6803 ldr r3, [r0, #0] 70012ba0: 6adb ldr r3, [r3, #44] @ 0x2c 70012ba2: 4798 blx r3 70012ba4: 6860 ldr r0, [r4, #4] 70012ba6: 2101 movs r1, #1 70012ba8: 6803 ldr r3, [r0, #0] 70012baa: 68db ldr r3, [r3, #12] 70012bac: 4798 blx r3 70012bae: f838 7b02 ldrh.w r7, [r8], #2 70012bb2: f104 0310 add.w r3, r4, #16 70012bb6: f104 0208 add.w r2, r4, #8 70012bba: f104 0114 add.w r1, r4, #20 70012bbe: f104 000c add.w r0, r4, #12 70012bc2: 61a6 str r6, [r4, #24] 70012bc4: f7f1 fd02 bl 700045cc <_ZN8touchgfx22VectorFontRendererImpl20getVectorFontBuffersERPfRiRPhS3_> 70012bc8: e00d b.n 70012be6 <_ZN8touchgfx22VectorFontRendererImpl9drawGlyphERKNS_4RectES3_PKtPKNS_4FontENS_9colortypeEhNS_12TextRotationEii+0x1d2> 70012bca: 4642 mov r2, r8 70012bcc: 4620 mov r0, r4 70012bce: 3601 adds r6, #1 70012bd0: f832 1b02 ldrh.w r1, [r2], #2 70012bd4: f101 030f add.w r3, r1, #15 70012bd8: f3c3 1307 ubfx r3, r3, #4, #8 70012bdc: eb02 0343 add.w r3, r2, r3, lsl #1 70012be0: f7ff fd52 bl 70012688 <_ZN8touchgfx22VectorFontRendererImpl11drawContourEtPKtPKs> 70012be4: 4680 mov r8, r0 70012be6: 42b7 cmp r7, r6 70012be8: dcef bgt.n 70012bca <_ZN8touchgfx22VectorFontRendererImpl9drawGlyphERKNS_4RectES3_PKtPKNS_4FontENS_9colortypeEhNS_12TextRotationEii+0x1b6> 70012bea: 6860 ldr r0, [r4, #4] 70012bec: 2200 movs r2, #0 70012bee: 6803 ldr r3, [r0, #0] 70012bf0: 9201 str r2, [sp, #4] 70012bf2: 8b62 ldrh r2, [r4, #26] 70012bf4: 9200 str r2, [sp, #0] 70012bf6: 6a1d ldr r5, [r3, #32] 70012bf8: 8b22 ldrh r2, [r4, #24] 70012bfa: 68e3 ldr r3, [r4, #12] 70012bfc: 68a1 ldr r1, [r4, #8] 70012bfe: 47a8 blx r5 70012c00: 6860 ldr r0, [r4, #4] 70012c02: 6803 ldr r3, [r0, #0] 70012c04: 69db ldr r3, [r3, #28] 70012c06: 4798 blx r3 70012c08: b00e add sp, #56 @ 0x38 70012c0a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 70012c0e: bf00 nop 70012c10: 42b40000 .word 0x42b40000 70012c14: 43340000 .word 0x43340000 70012c18: 43870000 .word 0x43870000 70012c1c <_ZN8touchgfx9Matrix3x35resetEv>: 70012c1c: 2300 movs r3, #0 70012c1e: f04f 527e mov.w r2, #1065353216 @ 0x3f800000 70012c22: 6043 str r3, [r0, #4] 70012c24: 6002 str r2, [r0, #0] 70012c26: 6083 str r3, [r0, #8] 70012c28: 60c3 str r3, [r0, #12] 70012c2a: 6102 str r2, [r0, #16] 70012c2c: 6143 str r3, [r0, #20] 70012c2e: 6183 str r3, [r0, #24] 70012c30: 61c3 str r3, [r0, #28] 70012c32: 6202 str r2, [r0, #32] 70012c34: 4770 bx lr 70012c36 <_ZN8touchgfx9Matrix3x3C1Ev>: 70012c36: b508 push {r3, lr} 70012c38: f7ff fff0 bl 70012c1c <_ZN8touchgfx9Matrix3x35resetEv> 70012c3c: bd08 pop {r3, pc} 70012c3e <_ZN8touchgfx9Matrix3x35scaleEff>: 70012c3e: edd0 7a00 vldr s15, [r0] 70012c42: ee67 7a80 vmul.f32 s15, s15, s0 70012c46: edc0 7a00 vstr s15, [r0] 70012c4a: edd0 7a01 vldr s15, [r0, #4] 70012c4e: ee67 7a80 vmul.f32 s15, s15, s0 70012c52: edc0 7a01 vstr s15, [r0, #4] 70012c56: edd0 7a02 vldr s15, [r0, #8] 70012c5a: ee67 7a80 vmul.f32 s15, s15, s0 70012c5e: edc0 7a02 vstr s15, [r0, #8] 70012c62: edd0 7a03 vldr s15, [r0, #12] 70012c66: ee67 7aa0 vmul.f32 s15, s15, s1 70012c6a: edc0 7a03 vstr s15, [r0, #12] 70012c6e: edd0 7a04 vldr s15, [r0, #16] 70012c72: ee67 7aa0 vmul.f32 s15, s15, s1 70012c76: edc0 7a04 vstr s15, [r0, #16] 70012c7a: edd0 7a05 vldr s15, [r0, #20] 70012c7e: ee67 7aa0 vmul.f32 s15, s15, s1 70012c82: edc0 7a05 vstr s15, [r0, #20] 70012c86: 4770 bx lr 70012c88 <_ZN8touchgfx9Matrix3x36rotateEf>: 70012c88: eddf 7a24 vldr s15, [pc, #144] @ 70012d1c <_ZN8touchgfx9Matrix3x36rotateEf+0x94> 70012c8c: ee20 0a27 vmul.f32 s0, s0, s15 70012c90: eddf 7a23 vldr s15, [pc, #140] @ 70012d20 <_ZN8touchgfx9Matrix3x36rotateEf+0x98> 70012c94: b510 push {r4, lr} 70012c96: ed2d 8b02 vpush {d8} 70012c9a: eec0 8a27 vdiv.f32 s17, s0, s15 70012c9e: 4604 mov r4, r0 70012ca0: eeb0 0a68 vmov.f32 s0, s17 70012ca4: f026 fee4 bl 70039a70 70012ca8: eeb0 8a40 vmov.f32 s16, s0 70012cac: eeb0 0a68 vmov.f32 s0, s17 70012cb0: f026 fde6 bl 70039880 70012cb4: edd4 6a03 vldr s13, [r4, #12] 70012cb8: edd4 4a00 vldr s9, [r4] 70012cbc: ee60 7a66 vnmul.f32 s15, s0, s13 70012cc0: ed94 7a04 vldr s14, [r4, #16] 70012cc4: ed94 5a01 vldr s10, [r4, #4] 70012cc8: ee66 6a88 vmul.f32 s13, s13, s16 70012ccc: edd4 5a02 vldr s11, [r4, #8] 70012cd0: eee8 7a24 vfma.f32 s15, s16, s9 70012cd4: eee0 6a24 vfma.f32 s13, s0, s9 70012cd8: edc4 7a00 vstr s15, [r4] 70012cdc: ee60 7a47 vnmul.f32 s15, s0, s14 70012ce0: ee27 7a08 vmul.f32 s14, s14, s16 70012ce4: edc4 6a03 vstr s13, [r4, #12] 70012ce8: eee8 7a05 vfma.f32 s15, s16, s10 70012cec: eea0 7a05 vfma.f32 s14, s0, s10 70012cf0: edc4 7a01 vstr s15, [r4, #4] 70012cf4: edd4 7a05 vldr s15, [r4, #20] 70012cf8: ed84 7a04 vstr s14, [r4, #16] 70012cfc: ee20 6a67 vnmul.f32 s12, s0, s15 70012d00: ee67 7a88 vmul.f32 s15, s15, s16 70012d04: eea8 6a25 vfma.f32 s12, s16, s11 70012d08: eee0 7a25 vfma.f32 s15, s0, s11 70012d0c: ed84 6a02 vstr s12, [r4, #8] 70012d10: edc4 7a05 vstr s15, [r4, #20] 70012d14: ecbd 8b02 vpop {d8} 70012d18: bd10 pop {r4, pc} 70012d1a: bf00 nop 70012d1c: 40490fdb .word 0x40490fdb 70012d20: 43340000 .word 0x43340000 70012d24 <_ZN8touchgfx9Matrix3x39translateEff>: 70012d24: ed90 6a06 vldr s12, [r0, #24] 70012d28: edd0 7a00 vldr s15, [r0] 70012d2c: edd0 6a07 vldr s13, [r0, #28] 70012d30: eee6 7a00 vfma.f32 s15, s12, s0 70012d34: ed90 7a08 vldr s14, [r0, #32] 70012d38: edc0 7a00 vstr s15, [r0] 70012d3c: edd0 7a01 vldr s15, [r0, #4] 70012d40: eee6 7a80 vfma.f32 s15, s13, s0 70012d44: edc0 7a01 vstr s15, [r0, #4] 70012d48: edd0 7a02 vldr s15, [r0, #8] 70012d4c: eee7 7a00 vfma.f32 s15, s14, s0 70012d50: edc0 7a02 vstr s15, [r0, #8] 70012d54: edd0 7a03 vldr s15, [r0, #12] 70012d58: eee6 7a20 vfma.f32 s15, s12, s1 70012d5c: edc0 7a03 vstr s15, [r0, #12] 70012d60: edd0 7a04 vldr s15, [r0, #16] 70012d64: eee6 7aa0 vfma.f32 s15, s13, s1 70012d68: edc0 7a04 vstr s15, [r0, #16] 70012d6c: edd0 7a05 vldr s15, [r0, #20] 70012d70: eee7 7a20 vfma.f32 s15, s14, s1 70012d74: edc0 7a05 vstr s15, [r0, #20] 70012d78: 4770 bx lr 70012d7a <_ZNK8touchgfx9Matrix3x315affineTransformERKNS0_5PointE>: 70012d7a: edd1 0a01 vldr s1, [r1, #4] 70012d7e: b084 sub sp, #16 70012d80: edd0 6a04 vldr s13, [r0, #16] 70012d84: ed90 0a01 vldr s0, [r0, #4] 70012d88: edd1 7a00 vldr s15, [r1] 70012d8c: ee20 0a80 vmul.f32 s0, s1, s0 70012d90: ed90 7a00 vldr s14, [r0] 70012d94: ee60 0aa6 vmul.f32 s1, s1, s13 70012d98: edd0 6a03 vldr s13, [r0, #12] 70012d9c: eea7 0a27 vfma.f32 s0, s14, s15 70012da0: ed90 7a02 vldr s14, [r0, #8] 70012da4: eee6 0aa7 vfma.f32 s1, s13, s15 70012da8: edd0 7a05 vldr s15, [r0, #20] 70012dac: ee30 0a07 vadd.f32 s0, s0, s14 70012db0: ee70 0aa7 vadd.f32 s1, s1, s15 70012db4: b004 add sp, #16 70012db6: 4770 bx lr 70012db8 <_ZN8touchgfx9ConstFontC1EPKNS_9GlyphNodeEttthhhhhhtt>: 70012db8: b530 push {r4, r5, lr} 70012dba: 8083 strh r3, [r0, #4] 70012dbc: f8bd 300c ldrh.w r3, [sp, #12] 70012dc0: f89d 501c ldrb.w r5, [sp, #28] 70012dc4: 80c3 strh r3, [r0, #6] 70012dc6: f89d 3010 ldrb.w r3, [sp, #16] 70012dca: 6141 str r1, [r0, #20] 70012dcc: 7203 strb r3, [r0, #8] 70012dce: f89d 3014 ldrb.w r3, [sp, #20] 70012dd2: 8302 strh r2, [r0, #24] 70012dd4: 7243 strb r3, [r0, #9] 70012dd6: f89d 3018 ldrb.w r3, [sp, #24] 70012dda: f003 037f and.w r3, r3, #127 @ 0x7f 70012dde: ea43 13c5 orr.w r3, r3, r5, lsl #7 70012de2: 7283 strb r3, [r0, #10] 70012de4: f89d 3020 ldrb.w r3, [sp, #32] 70012de8: 72c3 strb r3, [r0, #11] 70012dea: f89d 3024 ldrb.w r3, [sp, #36] @ 0x24 70012dee: 7303 strb r3, [r0, #12] 70012df0: f8bd 3028 ldrh.w r3, [sp, #40] @ 0x28 70012df4: 81c3 strh r3, [r0, #14] 70012df6: f8bd 302c ldrh.w r3, [sp, #44] @ 0x2c 70012dfa: 8203 strh r3, [r0, #16] 70012dfc: 4b01 ldr r3, [pc, #4] @ (70012e04 <_ZN8touchgfx9ConstFontC1EPKNS_9GlyphNodeEttthhhhhhtt+0x4c>) 70012dfe: 6003 str r3, [r0, #0] 70012e00: bd30 pop {r4, r5, pc} 70012e02: bf00 nop 70012e04: 7003fc1c .word 0x7003fc1c 70012e08 <_ZNK8touchgfx9ConstFont4findEt>: 70012e08: 4603 mov r3, r0 70012e0a: b5f0 push {r4, r5, r6, r7, lr} 70012e0c: 6940 ldr r0, [r0, #20] 70012e0e: 2800 cmp r0, #0 70012e10: d03c beq.n 70012e8c <_ZNK8touchgfx9ConstFont4findEt+0x84> 70012e12: 8b1a ldrh r2, [r3, #24] 70012e14: 8883 ldrh r3, [r0, #4] 70012e16: 3a01 subs r2, #1 70012e18: 1acb subs r3, r1, r3 70012e1a: d436 bmi.n 70012e8a <_ZNK8touchgfx9ConstFont4findEt+0x82> 70012e1c: 4293 cmp r3, r2 70012e1e: dd0c ble.n 70012e3a <_ZNK8touchgfx9ConstFont4findEt+0x32> 70012e20: 230e movs r3, #14 70012e22: fb03 0302 mla r3, r3, r2, r0 70012e26: 889b ldrh r3, [r3, #4] 70012e28: 1a5b subs r3, r3, r1 70012e2a: 1ad3 subs r3, r2, r3 70012e2c: 429a cmp r2, r3 70012e2e: db2c blt.n 70012e8a <_ZNK8touchgfx9ConstFont4findEt+0x82> 70012e30: 2b00 cmp r3, #0 70012e32: bfbc itt lt 70012e34: eb02 73d2 addlt.w r3, r2, r2, lsr #31 70012e38: 105b asrlt r3, r3, #1 70012e3a: 2400 movs r4, #0 70012e3c: 250e movs r5, #14 70012e3e: e01f b.n 70012e80 <_ZNK8touchgfx9ConstFont4findEt+0x78> 70012e40: fb05 0603 mla r6, r5, r3, r0 70012e44: 88b7 ldrh r7, [r6, #4] 70012e46: 42b9 cmp r1, r7 70012e48: d01d beq.n 70012e86 <_ZNK8touchgfx9ConstFont4findEt+0x7e> 70012e4a: d20b bcs.n 70012e64 <_ZNK8touchgfx9ConstFont4findEt+0x5c> 70012e4c: 1e5a subs r2, r3, #1 70012e4e: 4294 cmp r4, r2 70012e50: dc1b bgt.n 70012e8a <_ZNK8touchgfx9ConstFont4findEt+0x82> 70012e52: f836 3c0a ldrh.w r3, [r6, #-10] 70012e56: 1a5b subs r3, r3, r1 70012e58: 1ad3 subs r3, r2, r3 70012e5a: 429a cmp r2, r3 70012e5c: db15 blt.n 70012e8a <_ZNK8touchgfx9ConstFont4findEt+0x82> 70012e5e: 429c cmp r4, r3 70012e60: dd0e ble.n 70012e80 <_ZNK8touchgfx9ConstFont4findEt+0x78> 70012e62: e009 b.n 70012e78 <_ZNK8touchgfx9ConstFont4findEt+0x70> 70012e64: 1c5c adds r4, r3, #1 70012e66: 42a2 cmp r2, r4 70012e68: db0f blt.n 70012e8a <_ZNK8touchgfx9ConstFont4findEt+0x82> 70012e6a: 8a73 ldrh r3, [r6, #18] 70012e6c: 1acb subs r3, r1, r3 70012e6e: 4423 add r3, r4 70012e70: 429c cmp r4, r3 70012e72: dc0a bgt.n 70012e8a <_ZNK8touchgfx9ConstFont4findEt+0x82> 70012e74: 429a cmp r2, r3 70012e76: da03 bge.n 70012e80 <_ZNK8touchgfx9ConstFont4findEt+0x78> 70012e78: 1913 adds r3, r2, r4 70012e7a: eb03 73d3 add.w r3, r3, r3, lsr #31 70012e7e: 105b asrs r3, r3, #1 70012e80: 4294 cmp r4, r2 70012e82: dddd ble.n 70012e40 <_ZNK8touchgfx9ConstFont4findEt+0x38> 70012e84: e001 b.n 70012e8a <_ZNK8touchgfx9ConstFont4findEt+0x82> 70012e86: 4630 mov r0, r6 70012e88: e000 b.n 70012e8c <_ZNK8touchgfx9ConstFont4findEt+0x84> 70012e8a: 2000 movs r0, #0 70012e8c: bdf0 pop {r4, r5, r6, r7, pc} 70012e8e <_ZNK8touchgfx9ConstFont8getGlyphEtRPKhRh>: 70012e8e: b5f8 push {r3, r4, r5, r6, r7, lr} 70012e90: 4605 mov r5, r0 70012e92: 4617 mov r7, r2 70012e94: 461e mov r6, r3 70012e96: b909 cbnz r1, 70012e9c <_ZNK8touchgfx9ConstFont8getGlyphEtRPKhRh+0xe> 70012e98: 2400 movs r4, #0 70012e9a: e023 b.n 70012ee4 <_ZNK8touchgfx9ConstFont8getGlyphEtRPKhRh+0x56> 70012e9c: 290a cmp r1, #10 70012e9e: d0fb beq.n 70012e98 <_ZNK8touchgfx9ConstFont8getGlyphEtRPKhRh+0xa> 70012ea0: f64f 63ff movw r3, #65279 @ 0xfeff 70012ea4: 4299 cmp r1, r3 70012ea6: d0f7 beq.n 70012e98 <_ZNK8touchgfx9ConstFont8getGlyphEtRPKhRh+0xa> 70012ea8: f242 030b movw r3, #8203 @ 0x200b 70012eac: 4299 cmp r1, r3 70012eae: d0f3 beq.n 70012e98 <_ZNK8touchgfx9ConstFont8getGlyphEtRPKhRh+0xa> 70012eb0: f7ff ffaa bl 70012e08 <_ZNK8touchgfx9ConstFont4findEt> 70012eb4: 682b ldr r3, [r5, #0] 70012eb6: 4604 mov r4, r0 70012eb8: b948 cbnz r0, 70012ece <_ZNK8touchgfx9ConstFont8getGlyphEtRPKhRh+0x40> 70012eba: 691b ldr r3, [r3, #16] 70012ebc: 4628 mov r0, r5 70012ebe: 4798 blx r3 70012ec0: 4601 mov r1, r0 70012ec2: 4628 mov r0, r5 70012ec4: f7ff ffa0 bl 70012e08 <_ZNK8touchgfx9ConstFont4findEt> 70012ec8: 4604 mov r4, r0 70012eca: 2800 cmp r0, #0 70012ecc: d0e4 beq.n 70012e98 <_ZNK8touchgfx9ConstFont8getGlyphEtRPKhRh+0xa> 70012ece: 682b ldr r3, [r5, #0] 70012ed0: 4621 mov r1, r4 70012ed2: 4628 mov r0, r5 70012ed4: 6ddb ldr r3, [r3, #92] @ 0x5c 70012ed6: 4798 blx r3 70012ed8: 6038 str r0, [r7, #0] 70012eda: 682b ldr r3, [r5, #0] 70012edc: 4628 mov r0, r5 70012ede: 6bdb ldr r3, [r3, #60] @ 0x3c 70012ee0: 4798 blx r3 70012ee2: 7030 strb r0, [r6, #0] 70012ee4: 4620 mov r0, r4 70012ee6: bdf8 pop {r3, r4, r5, r6, r7, pc} 70012ee8 <_ZN8touchgfx34lookupNearestNeighborRenderVariantERKNS_6BitmapE>: 70012ee8: b538 push {r3, r4, r5, lr} 70012eea: 4605 mov r5, r0 70012eec: f001 fcb2 bl 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv> 70012ef0: 4604 mov r4, r0 70012ef2: 4628 mov r0, r5 70012ef4: f001 fbf0 bl 700146d8 <_ZNK8touchgfx6Bitmap20hasTransparentPixelsEv> 70012ef8: 0040 lsls r0, r0, #1 70012efa: ea40 0084 orr.w r0, r0, r4, lsl #2 70012efe: b280 uxth r0, r0 70012f00: bd38 pop {r3, r4, r5, pc} 70012f02 <_ZN8touchgfx27lookupBilinearRenderVariantERKNS_6BitmapE>: 70012f02: b538 push {r3, r4, r5, lr} 70012f04: 4605 mov r5, r0 70012f06: f001 fca5 bl 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv> 70012f0a: 4604 mov r4, r0 70012f0c: 4628 mov r0, r5 70012f0e: f001 fbe3 bl 700146d8 <_ZNK8touchgfx6Bitmap20hasTransparentPixelsEv> 70012f12: 0040 lsls r0, r0, #1 70012f14: ea40 0084 orr.w r0, r0, r4, lsl #2 70012f18: f040 0001 orr.w r0, r0, #1 70012f1c: b280 uxth r0, r0 70012f1e: bd38 pop {r3, r4, r5, pc} 70012f20 <_ZN8touchgfx4clzuEm>: 70012f20: 4603 mov r3, r0 70012f22: b1c0 cbz r0, 70012f56 <_ZN8touchgfx4clzuEm+0x36> 70012f24: f5b0 3f80 cmp.w r0, #65536 @ 0x10000 70012f28: bf36 itet cc 70012f2a: 0403 lslcc r3, r0, #16 70012f2c: 2000 movcs r0, #0 70012f2e: 2010 movcc r0, #16 70012f30: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000 70012f34: bf3c itt cc 70012f36: 021b lslcc r3, r3, #8 70012f38: 3008 addcc r0, #8 70012f3a: f1b3 5f80 cmp.w r3, #268435456 @ 0x10000000 70012f3e: bf3c itt cc 70012f40: 011b lslcc r3, r3, #4 70012f42: 3004 addcc r0, #4 70012f44: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 70012f48: bf3c itt cc 70012f4a: 009b lslcc r3, r3, #2 70012f4c: 3002 addcc r0, #2 70012f4e: 2b00 cmp r3, #0 70012f50: db02 blt.n 70012f58 <_ZN8touchgfx4clzuEm+0x38> 70012f52: 3001 adds r0, #1 70012f54: 4770 bx lr 70012f56: 2020 movs r0, #32 70012f58: 4770 bx lr 70012f5a <_ZN8touchgfx7muldivuEmmmRm>: 70012f5a: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} 70012f5e: 460c mov r4, r1 70012f60: 4615 mov r5, r2 70012f62: 461e mov r6, r3 70012f64: 4601 mov r1, r0 70012f66: b908 cbnz r0, 70012f6c <_ZN8touchgfx7muldivuEmmmRm+0x12> 70012f68: e03c b.n 70012fe4 <_ZN8touchgfx7muldivuEmmmRm+0x8a> 70012f6a: 4619 mov r1, r3 70012f6c: b3e4 cbz r4, 70012fe8 <_ZN8touchgfx7muldivuEmmmRm+0x8e> 70012f6e: 4608 mov r0, r1 70012f70: f7ff ffd6 bl 70012f20 <_ZN8touchgfx4clzuEm> 70012f74: b958 cbnz r0, 70012f8e <_ZN8touchgfx7muldivuEmmmRm+0x34> 70012f76: 4620 mov r0, r4 70012f78: f7ff ffd2 bl 70012f20 <_ZN8touchgfx4clzuEm> 70012f7c: 2800 cmp r0, #0 70012f7e: 4623 mov r3, r4 70012f80: 460c mov r4, r1 70012f82: dcf2 bgt.n 70012f6a <_ZN8touchgfx7muldivuEmmmRm+0x10> 70012f84: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 70012f88: f06f 4400 mvn.w r4, #2147483648 @ 0x80000000 70012f8c: e02d b.n 70012fea <_ZN8touchgfx7muldivuEmmmRm+0x90> 70012f8e: fa34 f800 lsrs.w r8, r4, r0 70012f92: d105 bne.n 70012fa0 <_ZN8touchgfx7muldivuEmmmRm+0x46> 70012f94: 4361 muls r1, r4 70012f96: fbb1 f4f5 udiv r4, r1, r5 70012f9a: fb05 1114 mls r1, r5, r4, r1 70012f9e: e024 b.n 70012fea <_ZN8touchgfx7muldivuEmmmRm+0x90> 70012fa0: 2301 movs r3, #1 70012fa2: fa01 fa00 lsl.w sl, r1, r0 70012fa6: 462a mov r2, r5 70012fa8: fa03 f000 lsl.w r0, r3, r0 70012fac: 4633 mov r3, r6 70012fae: fbba f9f5 udiv r9, sl, r5 70012fb2: 3801 subs r0, #1 70012fb4: fb08 f709 mul.w r7, r8, r9 70012fb8: 4020 ands r0, r4 70012fba: f7ff ffce bl 70012f5a <_ZN8touchgfx7muldivuEmmmRm> 70012fbe: ab01 add r3, sp, #4 70012fc0: 4683 mov fp, r0 70012fc2: fb05 a119 mls r1, r5, r9, sl 70012fc6: 462a mov r2, r5 70012fc8: 4640 mov r0, r8 70012fca: f7ff ffc6 bl 70012f5a <_ZN8touchgfx7muldivuEmmmRm> 70012fce: 9b01 ldr r3, [sp, #4] 70012fd0: 6831 ldr r1, [r6, #0] 70012fd2: 4419 add r1, r3 70012fd4: fbb1 f3f5 udiv r3, r1, r5 70012fd8: 441f add r7, r3 70012fda: fb05 1113 mls r1, r5, r3, r1 70012fde: 445f add r7, fp 70012fe0: 19c4 adds r4, r0, r7 70012fe2: e002 b.n 70012fea <_ZN8touchgfx7muldivuEmmmRm+0x90> 70012fe4: 4604 mov r4, r0 70012fe6: e000 b.n 70012fea <_ZN8touchgfx7muldivuEmmmRm+0x90> 70012fe8: 4621 mov r1, r4 70012fea: 4620 mov r0, r4 70012fec: 6031 str r1, [r6, #0] 70012fee: b003 add sp, #12 70012ff0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70012ff4 <_ZN8touchgfx6muldivElllRl>: 70012ff4: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} 70012ff6: 460c mov r4, r1 70012ff8: 1e01 subs r1, r0, #0 70012ffa: 461e mov r6, r3 70012ffc: bfba itte lt 70012ffe: 4249 neglt r1, r1 70013000: f04f 35ff movlt.w r5, #4294967295 @ 0xffffffff 70013004: 2501 movge r5, #1 70013006: 2c00 cmp r4, #0 70013008: bfbc itt lt 7001300a: 4264 neglt r4, r4 7001300c: 426d neglt r5, r5 7001300e: 2a00 cmp r2, #0 70013010: bfba itte lt 70013012: 4252 neglt r2, r2 70013014: 426f neglt r7, r5 70013016: 462f movge r7, r5 70013018: 42a1 cmp r1, r4 7001301a: bfde ittt le 7001301c: 4623 movle r3, r4 7001301e: 460c movle r4, r1 70013020: 4619 movle r1, r3 70013022: 4620 mov r0, r4 70013024: ab01 add r3, sp, #4 70013026: f7ff ff98 bl 70012f5a <_ZN8touchgfx7muldivuEmmmRm> 7001302a: 9b01 ldr r3, [sp, #4] 7001302c: 4378 muls r0, r7 7001302e: 436b muls r3, r5 70013030: 6033 str r3, [r6, #0] 70013032: b003 add sp, #12 70013034: bdf0 pop {r4, r5, r6, r7, pc} 70013036 <_ZN8touchgfx6muldivElll>: 70013036: b573 push {r0, r1, r4, r5, r6, lr} 70013038: 4606 mov r6, r0 7001303a: ab01 add r3, sp, #4 7001303c: 460d mov r5, r1 7001303e: 4614 mov r4, r2 70013040: f7ff ffd8 bl 70012ff4 <_ZN8touchgfx6muldivElllRl> 70013044: 2e00 cmp r6, #0 70013046: db03 blt.n 70013050 <_ZN8touchgfx6muldivElll+0x1a> 70013048: bf14 ite ne 7001304a: 2201 movne r2, #1 7001304c: 2200 moveq r2, #0 7001304e: e001 b.n 70013054 <_ZN8touchgfx6muldivElll+0x1e> 70013050: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff 70013054: 2d00 cmp r5, #0 70013056: db03 blt.n 70013060 <_ZN8touchgfx6muldivElll+0x2a> 70013058: bf14 ite ne 7001305a: 2301 movne r3, #1 7001305c: 2300 moveq r3, #0 7001305e: e001 b.n 70013064 <_ZN8touchgfx6muldivElll+0x2e> 70013060: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70013064: 2c00 cmp r4, #0 70013066: fb02 f303 mul.w r3, r2, r3 7001306a: db03 blt.n 70013074 <_ZN8touchgfx6muldivElll+0x3e> 7001306c: bf14 ite ne 7001306e: 2201 movne r2, #1 70013070: 2200 moveq r2, #0 70013072: e001 b.n 70013078 <_ZN8touchgfx6muldivElll+0x42> 70013074: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff 70013078: 4353 muls r3, r2 7001307a: 2b01 cmp r3, #1 7001307c: d10d bne.n 7001309a <_ZN8touchgfx6muldivElll+0x64> 7001307e: 2c00 cmp r4, #0 70013080: 9b01 ldr r3, [sp, #4] 70013082: bfb8 it lt 70013084: 4264 neglt r4, r4 70013086: 2b00 cmp r3, #0 70013088: f104 0401 add.w r4, r4, #1 7001308c: bfb8 it lt 7001308e: 425b neglt r3, r3 70013090: ebb3 0f64 cmp.w r3, r4, asr #1 70013094: db0e blt.n 700130b4 <_ZN8touchgfx6muldivElll+0x7e> 70013096: 3001 adds r0, #1 70013098: e00c b.n 700130b4 <_ZN8touchgfx6muldivElll+0x7e> 7001309a: b15b cbz r3, 700130b4 <_ZN8touchgfx6muldivElll+0x7e> 7001309c: 9b01 ldr r3, [sp, #4] 7001309e: 2c00 cmp r4, #0 700130a0: bfb8 it lt 700130a2: 4264 neglt r4, r4 700130a4: 2b00 cmp r3, #0 700130a6: bfb8 it lt 700130a8: 425b neglt r3, r3 700130aa: ebb3 0f64 cmp.w r3, r4, asr #1 700130ae: bfc8 it gt 700130b0: f100 30ff addgt.w r0, r0, #4294967295 @ 0xffffffff 700130b4: b002 add sp, #8 700130b6: bd70 pop {r4, r5, r6, pc} 700130b8 <_ZNK8touchgfx10ClickEvent12getEventTypeEv>: 700130b8: 2000 movs r0, #0 700130ba: 4770 bx lr 700130bc <_ZNK8touchgfx9DragEvent12getEventTypeEv>: 700130bc: 2001 movs r0, #1 700130be: 4770 bx lr 700130c0 <_ZNK8touchgfx12GestureEvent12getEventTypeEv>: 700130c0: 2002 movs r0, #2 700130c2: 4770 bx lr 700130c4 <_ZN8touchgfx6ScreenD1Ev>: 700130c4: 4770 bx lr 700130c6 <_ZN8touchgfx10ClickEventD1Ev>: 700130c6: 4770 bx lr 700130c8 <_ZN8touchgfx9DragEventD1Ev>: 700130c8: 4770 bx lr 700130ca <_ZN8touchgfx12GestureEventD1Ev>: 700130ca: 4770 bx lr 700130cc <_ZN8touchgfx10ClickEventD0Ev>: 700130cc: b510 push {r4, lr} 700130ce: 4604 mov r4, r0 700130d0: 210c movs r1, #12 700130d2: f026 fb70 bl 700397b6 <_ZdlPvj> 700130d6: 4620 mov r0, r4 700130d8: bd10 pop {r4, pc} 700130da <_ZN8touchgfx9DragEventD0Ev>: 700130da: b510 push {r4, lr} 700130dc: 4604 mov r4, r0 700130de: 2110 movs r1, #16 700130e0: f026 fb69 bl 700397b6 <_ZdlPvj> 700130e4: 4620 mov r0, r4 700130e6: bd10 pop {r4, pc} 700130e8 <_ZN8touchgfx12GestureEventD0Ev>: 700130e8: b510 push {r4, lr} 700130ea: 4604 mov r4, r0 700130ec: 210c movs r1, #12 700130ee: f026 fb62 bl 700397b6 <_ZdlPvj> 700130f2: 4620 mov r0, r4 700130f4: bd10 pop {r4, pc} 700130f6 <_ZN8touchgfx6ScreenD0Ev>: 700130f6: b510 push {r4, lr} 700130f8: 4604 mov r4, r0 700130fa: 213c movs r1, #60 @ 0x3c 700130fc: f026 fb5b bl 700397b6 <_ZdlPvj> 70013100: 4620 mov r0, r4 70013102: bd10 pop {r4, pc} 70013104 <_ZN8touchgfx6Screen16handleClickEventERKNS_10ClickEventE>: 70013104: b570 push {r4, r5, r6, lr} 70013106: 6b03 ldr r3, [r0, #48] @ 0x30 70013108: b08a sub sp, #40 @ 0x28 7001310a: 4604 mov r4, r0 7001310c: 460d mov r5, r1 7001310e: b113 cbz r3, 70013116 <_ZN8touchgfx6Screen16handleClickEventERKNS_10ClickEventE+0x12> 70013110: 790b ldrb r3, [r1, #4] 70013112: 2b00 cmp r3, #0 70013114: d047 beq.n 700131a6 <_ZN8touchgfx6Screen16handleClickEventERKNS_10ClickEventE+0xa2> 70013116: 1d26 adds r6, r4, #4 70013118: a803 add r0, sp, #12 7001311a: 4631 mov r1, r6 7001311c: f7ff fa8e bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 70013120: 792b ldrb r3, [r5, #4] 70013122: b9a3 cbnz r3, 7001314e <_ZN8touchgfx6Screen16handleClickEventERKNS_10ClickEventE+0x4a> 70013124: 892a ldrh r2, [r5, #8] 70013126: 4630 mov r0, r6 70013128: f8bd 300e ldrh.w r3, [sp, #14] 7001312c: 88e9 ldrh r1, [r5, #6] 7001312e: 1ad2 subs r2, r2, r3 70013130: f8bd 300c ldrh.w r3, [sp, #12] 70013134: 1ac9 subs r1, r1, r3 70013136: f104 0336 add.w r3, r4, #54 @ 0x36 7001313a: b212 sxth r2, r2 7001313c: 9301 str r3, [sp, #4] 7001313e: f104 0334 add.w r3, r4, #52 @ 0x34 70013142: b209 sxth r1, r1 70013144: 9300 str r3, [sp, #0] 70013146: f104 0330 add.w r3, r4, #48 @ 0x30 7001314a: f7fa ff37 bl 7000dfbc <_ZN8touchgfx9Container16getLastChildNearEssPPNS_8DrawableEPsS4_> 7001314e: 6b21 ldr r1, [r4, #48] @ 0x30 70013150: b349 cbz r1, 700131a6 <_ZN8touchgfx6Screen16handleClickEventERKNS_10ClickEventE+0xa2> 70013152: a805 add r0, sp, #20 70013154: 2600 movs r6, #0 70013156: f7ff fa71 bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 7001315a: f8bd 3014 ldrh.w r3, [sp, #20] 7001315e: f8bd 200c ldrh.w r2, [sp, #12] 70013162: f8bd 0016 ldrh.w r0, [sp, #22] 70013166: 1ad2 subs r2, r2, r3 70013168: 88eb ldrh r3, [r5, #6] 7001316a: 7929 ldrb r1, [r5, #4] 7001316c: 441a add r2, r3 7001316e: 8ea3 ldrh r3, [r4, #52] @ 0x34 70013170: f88d 1020 strb.w r1, [sp, #32] 70013174: a907 add r1, sp, #28 70013176: 441a add r2, r3 70013178: f8bd 300e ldrh.w r3, [sp, #14] 7001317c: f8ad 6026 strh.w r6, [sp, #38] @ 0x26 70013180: 1a1b subs r3, r3, r0 70013182: 8928 ldrh r0, [r5, #8] 70013184: f8ad 2022 strh.w r2, [sp, #34] @ 0x22 70013188: 4403 add r3, r0 7001318a: 8ee0 ldrh r0, [r4, #54] @ 0x36 7001318c: 4403 add r3, r0 7001318e: 4807 ldr r0, [pc, #28] @ (700131ac <_ZN8touchgfx6Screen16handleClickEventERKNS_10ClickEventE+0xa8>) 70013190: 9007 str r0, [sp, #28] 70013192: 6b20 ldr r0, [r4, #48] @ 0x30 70013194: f8ad 3024 strh.w r3, [sp, #36] @ 0x24 70013198: 6803 ldr r3, [r0, #0] 7001319a: 6c5b ldr r3, [r3, #68] @ 0x44 7001319c: 4798 blx r3 7001319e: 792b ldrb r3, [r5, #4] 700131a0: b10b cbz r3, 700131a6 <_ZN8touchgfx6Screen16handleClickEventERKNS_10ClickEventE+0xa2> 700131a2: e9c4 660c strd r6, r6, [r4, #48] @ 0x30 700131a6: b00a add sp, #40 @ 0x28 700131a8: bd70 pop {r4, r5, r6, pc} 700131aa: bf00 nop 700131ac: 7003fc84 .word 0x7003fc84 700131b0 <_ZN8touchgfx6Screen18handleGestureEventERKNS_12GestureEventE>: 700131b0: b530 push {r4, r5, lr} 700131b2: 460d mov r5, r1 700131b4: 6b01 ldr r1, [r0, #48] @ 0x30 700131b6: b087 sub sp, #28 700131b8: 4604 mov r4, r0 700131ba: b301 cbz r1, 700131fe <_ZN8touchgfx6Screen18handleGestureEventERKNS_12GestureEventE+0x4e> 700131bc: a801 add r0, sp, #4 700131be: f7ff fa3d bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 700131c2: 892a ldrh r2, [r5, #8] 700131c4: f8bd 3004 ldrh.w r3, [sp, #4] 700131c8: 7928 ldrb r0, [r5, #4] 700131ca: 1ad2 subs r2, r2, r3 700131cc: 8ea3 ldrh r3, [r4, #52] @ 0x34 700131ce: f9b5 1006 ldrsh.w r1, [r5, #6] 700131d2: 441a add r2, r3 700131d4: 896b ldrh r3, [r5, #10] 700131d6: f8bd 5006 ldrh.w r5, [sp, #6] 700131da: f88d 0010 strb.w r0, [sp, #16] 700131de: 1b5b subs r3, r3, r5 700131e0: 8ee5 ldrh r5, [r4, #54] @ 0x36 700131e2: 6b20 ldr r0, [r4, #48] @ 0x30 700131e4: 442b add r3, r5 700131e6: 4d07 ldr r5, [pc, #28] @ (70013204 <_ZN8touchgfx6Screen18handleGestureEventERKNS_12GestureEventE+0x54>) 700131e8: f8ad 1012 strh.w r1, [sp, #18] 700131ec: a903 add r1, sp, #12 700131ee: 9503 str r5, [sp, #12] 700131f0: f8ad 2014 strh.w r2, [sp, #20] 700131f4: f8ad 3016 strh.w r3, [sp, #22] 700131f8: 6803 ldr r3, [r0, #0] 700131fa: 6c9b ldr r3, [r3, #72] @ 0x48 700131fc: 4798 blx r3 700131fe: b007 add sp, #28 70013200: bd30 pop {r4, r5, pc} 70013202: bf00 nop 70013204: 7003fcac .word 0x7003fcac 70013208 <_ZN8touchgfx6Screen15handleDragEventERKNS_9DragEventE>: 70013208: b5f0 push {r4, r5, r6, r7, lr} 7001320a: 460c mov r4, r1 7001320c: 6b01 ldr r1, [r0, #48] @ 0x30 7001320e: b089 sub sp, #36 @ 0x24 70013210: 4605 mov r5, r0 70013212: 2900 cmp r1, #0 70013214: d06d beq.n 700132f2 <_ZN8touchgfx6Screen15handleDragEventERKNS_9DragEventE+0xea> 70013216: 4668 mov r0, sp 70013218: f7ff fa10 bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 7001321c: 8eaa ldrh r2, [r5, #52] @ 0x34 7001321e: 88e3 ldrh r3, [r4, #6] 70013220: f9bd 6000 ldrsh.w r6, [sp] 70013224: 4413 add r3, r2 70013226: b21b sxth r3, r3 70013228: 42b3 cmp r3, r6 7001322a: db30 blt.n 7001328e <_ZN8touchgfx6Screen15handleDragEventERKNS_9DragEventE+0x86> 7001322c: f8bd 7004 ldrh.w r7, [sp, #4] 70013230: 4437 add r7, r6 70013232: b23f sxth r7, r7 70013234: 42bb cmp r3, r7 70013236: da2a bge.n 7001328e <_ZN8touchgfx6Screen15handleDragEventERKNS_9DragEventE+0x86> 70013238: 8eeb ldrh r3, [r5, #54] @ 0x36 7001323a: 8920 ldrh r0, [r4, #8] 7001323c: f9bd c002 ldrsh.w ip, [sp, #2] 70013240: 4418 add r0, r3 70013242: b200 sxth r0, r0 70013244: 4560 cmp r0, ip 70013246: db22 blt.n 7001328e <_ZN8touchgfx6Screen15handleDragEventERKNS_9DragEventE+0x86> 70013248: f8bd 1006 ldrh.w r1, [sp, #6] 7001324c: 4461 add r1, ip 7001324e: b209 sxth r1, r1 70013250: 4288 cmp r0, r1 70013252: da1c bge.n 7001328e <_ZN8touchgfx6Screen15handleDragEventERKNS_9DragEventE+0x86> 70013254: 8960 ldrh r0, [r4, #10] 70013256: 4402 add r2, r0 70013258: f9b4 000c ldrsh.w r0, [r4, #12] 7001325c: b212 sxth r2, r2 7001325e: 42b2 cmp r2, r6 70013260: db07 blt.n 70013272 <_ZN8touchgfx6Screen15handleDragEventERKNS_9DragEventE+0x6a> 70013262: 42ba cmp r2, r7 70013264: da05 bge.n 70013272 <_ZN8touchgfx6Screen15handleDragEventERKNS_9DragEventE+0x6a> 70013266: 4403 add r3, r0 70013268: b21b sxth r3, r3 7001326a: 4563 cmp r3, ip 7001326c: db01 blt.n 70013272 <_ZN8touchgfx6Screen15handleDragEventERKNS_9DragEventE+0x6a> 7001326e: 428b cmp r3, r1 70013270: db0d blt.n 7001328e <_ZN8touchgfx6Screen15handleDragEventERKNS_9DragEventE+0x86> 70013272: 4b21 ldr r3, [pc, #132] @ (700132f8 <_ZN8touchgfx6Screen15handleDragEventERKNS_9DragEventE+0xf0>) 70013274: a904 add r1, sp, #16 70013276: 6b28 ldr r0, [r5, #48] @ 0x30 70013278: 9304 str r3, [sp, #16] 7001327a: 2302 movs r3, #2 7001327c: f88d 3014 strb.w r3, [sp, #20] 70013280: 2300 movs r3, #0 70013282: f8ad 3016 strh.w r3, [sp, #22] 70013286: 9306 str r3, [sp, #24] 70013288: 6803 ldr r3, [r0, #0] 7001328a: 6c5b ldr r3, [r3, #68] @ 0x44 7001328c: 4798 blx r3 7001328e: 1d29 adds r1, r5, #4 70013290: a802 add r0, sp, #8 70013292: f7ff f9d3 bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 70013296: f8bd 2008 ldrh.w r2, [sp, #8] 7001329a: 88e3 ldrh r3, [r4, #6] 7001329c: 1b92 subs r2, r2, r6 7001329e: 8eaf ldrh r7, [r5, #52] @ 0x34 700132a0: f8bd 1002 ldrh.w r1, [sp, #2] 700132a4: fa13 f382 uxtah r3, r3, r2 700132a8: 7920 ldrb r0, [r4, #4] 700132aa: f8b4 e00a ldrh.w lr, [r4, #10] 700132ae: 18fe adds r6, r7, r3 700132b0: f8bd 300a ldrh.w r3, [sp, #10] 700132b4: f8b5 c036 ldrh.w ip, [r5, #54] @ 0x36 700132b8: fa1e f282 uxtah r2, lr, r2 700132bc: 1a5b subs r3, r3, r1 700132be: 8921 ldrh r1, [r4, #8] 700132c0: 89a4 ldrh r4, [r4, #12] 700132c2: 443a add r2, r7 700132c4: fa11 f183 uxtah r1, r1, r3 700132c8: f88d 0014 strb.w r0, [sp, #20] 700132cc: fa14 f383 uxtah r3, r4, r3 700132d0: 6b28 ldr r0, [r5, #48] @ 0x30 700132d2: 4461 add r1, ip 700132d4: 4c09 ldr r4, [pc, #36] @ (700132fc <_ZN8touchgfx6Screen15handleDragEventERKNS_9DragEventE+0xf4>) 700132d6: 4463 add r3, ip 700132d8: f8ad 6016 strh.w r6, [sp, #22] 700132dc: f8ad 1018 strh.w r1, [sp, #24] 700132e0: a904 add r1, sp, #16 700132e2: 9404 str r4, [sp, #16] 700132e4: f8ad 201a strh.w r2, [sp, #26] 700132e8: f8ad 301c strh.w r3, [sp, #28] 700132ec: 6803 ldr r3, [r0, #0] 700132ee: 6cdb ldr r3, [r3, #76] @ 0x4c 700132f0: 4798 blx r3 700132f2: b009 add sp, #36 @ 0x24 700132f4: bdf0 pop {r4, r5, r6, r7, pc} 700132f6: bf00 nop 700132f8: 7003fc84 .word 0x7003fc84 700132fc: 7003fc98 .word 0x7003fc98 70013300 <_ZN8touchgfx8Drawable20getCachedVisibleRectEv>: 70013300: b537 push {r0, r1, r2, r4, r5, lr} 70013302: 4604 mov r4, r0 70013304: f934 2f0c ldrsh.w r2, [r4, #12]! 70013308: 3201 adds r2, #1 7001330a: d10c bne.n 70013326 <_ZN8touchgfx8Drawable20getCachedVisibleRectEv+0x26> 7001330c: 6882 ldr r2, [r0, #8] 7001330e: 2100 movs r1, #0 70013310: 6803 ldr r3, [r0, #0] 70013312: 466d mov r5, sp 70013314: e9cd 1200 strd r1, r2, [sp] 70013318: 6a9b ldr r3, [r3, #40] @ 0x28 7001331a: 4629 mov r1, r5 7001331c: 4798 blx r3 7001331e: e895 0003 ldmia.w r5, {r0, r1} 70013322: e884 0003 stmia.w r4, {r0, r1} 70013326: 4620 mov r0, r4 70013328: b003 add sp, #12 7001332a: bd30 pop {r4, r5, pc} 7001332c <_ZN8touchgfx8Drawable13getCachedAbsXEv>: 7001332c: b513 push {r0, r1, r4, lr} 7001332e: f9b0 3020 ldrsh.w r3, [r0, #32] 70013332: 4604 mov r4, r0 70013334: 3301 adds r3, #1 70013336: d105 bne.n 70013344 <_ZN8touchgfx8Drawable13getCachedAbsXEv+0x18> 70013338: 4601 mov r1, r0 7001333a: 4668 mov r0, sp 7001333c: f7ff f97e bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 70013340: 9b00 ldr r3, [sp, #0] 70013342: 6223 str r3, [r4, #32] 70013344: f9b4 0020 ldrsh.w r0, [r4, #32] 70013348: b002 add sp, #8 7001334a: bd10 pop {r4, pc} 7001334c <_ZN8touchgfx8Drawable13getCachedAbsYEv>: 7001334c: b513 push {r0, r1, r4, lr} 7001334e: f9b0 3022 ldrsh.w r3, [r0, #34] @ 0x22 70013352: 4604 mov r4, r0 70013354: 3301 adds r3, #1 70013356: d105 bne.n 70013364 <_ZN8touchgfx8Drawable13getCachedAbsYEv+0x18> 70013358: 4601 mov r1, r0 7001335a: 4668 mov r0, sp 7001335c: f7ff f96e bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 70013360: 9b00 ldr r3, [sp, #0] 70013362: 6223 str r3, [r4, #32] 70013364: f9b4 0022 ldrsh.w r0, [r4, #34] @ 0x22 70013368: b002 add sp, #8 7001336a: bd10 pop {r4, pc} 7001336c <_ZN8touchgfx6ScreenC1Ev>: 7001336c: 4b14 ldr r3, [pc, #80] @ (700133c0 <_ZN8touchgfx6ScreenC1Ev+0x54>) 7001336e: f44f 7280 mov.w r2, #256 @ 0x100 70013372: b570 push {r4, r5, r6, lr} 70013374: 6003 str r3, [r0, #0] 70013376: 2300 movs r3, #0 70013378: 8502 strh r2, [r0, #40] @ 0x28 7001337a: 1d05 adds r5, r0, #4 7001337c: 6343 str r3, [r0, #52] @ 0x34 7001337e: 4604 mov r4, r0 70013380: 4a10 ldr r2, [pc, #64] @ (700133c4 <_ZN8touchgfx6ScreenC1Ev+0x58>) 70013382: e9c0 3302 strd r3, r3, [r0, #8] 70013386: e9c0 3304 strd r3, r3, [r0, #16] 7001338a: e9c0 3306 strd r3, r3, [r0, #24] 7001338e: e9c0 3308 strd r3, r3, [r0, #32] 70013392: e9c0 330b strd r3, r3, [r0, #44] @ 0x2c 70013396: 2301 movs r3, #1 70013398: 6042 str r2, [r0, #4] 7001339a: f880 3038 strb.w r3, [r0, #56] @ 0x38 7001339e: 4628 mov r0, r5 700133a0: 4b09 ldr r3, [pc, #36] @ (700133c8 <_ZN8touchgfx6ScreenC1Ev+0x5c>) 700133a2: f9b3 6000 ldrsh.w r6, [r3] 700133a6: 6b93 ldr r3, [r2, #56] @ 0x38 700133a8: 4a08 ldr r2, [pc, #32] @ (700133cc <_ZN8touchgfx6ScreenC1Ev+0x60>) 700133aa: f9b2 1000 ldrsh.w r1, [r2] 700133ae: 4798 blx r3 700133b0: 6863 ldr r3, [r4, #4] 700133b2: 4628 mov r0, r5 700133b4: 4631 mov r1, r6 700133b6: 6bdb ldr r3, [r3, #60] @ 0x3c 700133b8: 4798 blx r3 700133ba: 4620 mov r0, r4 700133bc: bd70 pop {r4, r5, r6, pc} 700133be: bf00 nop 700133c0: 7003fcc0 .word 0x7003fcc0 700133c4: 7003f78c .word 0x7003f78c 700133c8: 2400da7a .word 0x2400da7a 700133cc: 2400da7c .word 0x2400da7c 700133d0 <_ZN8touchgfx6Screen4drawEv>: 700133d0: 4b09 ldr r3, [pc, #36] @ (700133f8 <_ZN8touchgfx6Screen4drawEv+0x28>) 700133d2: b507 push {r0, r1, r2, lr} 700133d4: f9b3 2000 ldrsh.w r2, [r3] 700133d8: 2100 movs r1, #0 700133da: 4b08 ldr r3, [pc, #32] @ (700133fc <_ZN8touchgfx6Screen4drawEv+0x2c>) 700133dc: 9100 str r1, [sp, #0] 700133de: 4669 mov r1, sp 700133e0: f9b3 3000 ldrsh.w r3, [r3] 700133e4: f8ad 2004 strh.w r2, [sp, #4] 700133e8: f8ad 3006 strh.w r3, [sp, #6] 700133ec: 6803 ldr r3, [r0, #0] 700133ee: 689b ldr r3, [r3, #8] 700133f0: 4798 blx r3 700133f2: b003 add sp, #12 700133f4: f85d fb04 ldr.w pc, [sp], #4 700133f8: 2400da7c .word 0x2400da7c 700133fc: 2400da7a .word 0x2400da7a 70013400 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE>: 70013400: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70013404: 4615 mov r5, r2 70013406: f9b1 2004 ldrsh.w r2, [r1, #4] 7001340a: b089 sub sp, #36 @ 0x24 7001340c: 4680 mov r8, r0 7001340e: 2a00 cmp r2, #0 70013410: 460c mov r4, r1 70013412: f9b1 3006 ldrsh.w r3, [r1, #6] 70013416: f340 80e9 ble.w 700135ec <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x1ec> 7001341a: 2b00 cmp r3, #0 7001341c: dc04 bgt.n 70013428 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x28> 7001341e: e0e5 b.n 700135ec <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x1ec> 70013420: 461d mov r5, r3 70013422: 2b00 cmp r3, #0 70013424: f000 80e2 beq.w 700135ec <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x1ec> 70013428: 4628 mov r0, r5 7001342a: f7ff ff69 bl 70013300 <_ZN8touchgfx8Drawable20getCachedVisibleRectEv> 7001342e: 4621 mov r1, r4 70013430: f7fd fda6 bl 70010f80 <_ZNK8touchgfx4Rect9intersectERKS0_> 70013434: 69eb ldr r3, [r5, #28] 70013436: 2800 cmp r0, #0 70013438: d0f2 beq.n 70013420 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x20> 7001343a: ae06 add r6, sp, #24 7001343c: 2b00 cmp r3, #0 7001343e: f000 80ac beq.w 7001359a <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x19a> 70013442: 682b ldr r3, [r5, #0] 70013444: 4629 mov r1, r5 70013446: a802 add r0, sp, #8 70013448: 68db ldr r3, [r3, #12] 7001344a: 4798 blx r3 7001344c: 4628 mov r0, r5 7001344e: f7ff ff6d bl 7001332c <_ZN8touchgfx8Drawable13getCachedAbsXEv> 70013452: f8bd 3008 ldrh.w r3, [sp, #8] 70013456: 18c7 adds r7, r0, r3 70013458: 4628 mov r0, r5 7001345a: f7ff ff77 bl 7001334c <_ZN8touchgfx8Drawable13getCachedAbsYEv> 7001345e: f8bd 300a ldrh.w r3, [sp, #10] 70013462: b23f sxth r7, r7 70013464: 4621 mov r1, r4 70013466: 4418 add r0, r3 70013468: 9b03 ldr r3, [sp, #12] 7001346a: f8ad 7010 strh.w r7, [sp, #16] 7001346e: af04 add r7, sp, #16 70013470: f8ad 0012 strh.w r0, [sp, #18] 70013474: 4638 mov r0, r7 70013476: 9305 str r3, [sp, #20] 70013478: f7fa fe7c bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 7001347c: 4628 mov r0, r5 7001347e: f7ff ff3f bl 70013300 <_ZN8touchgfx8Drawable20getCachedVisibleRectEv> 70013482: 4603 mov r3, r0 70013484: e897 0003 ldmia.w r7, {r0, r1} 70013488: e886 0003 stmia.w r6, {r0, r1} 7001348c: 4619 mov r1, r3 7001348e: 4630 mov r0, r6 70013490: f7fa fe70 bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 70013494: f9bd 3018 ldrsh.w r3, [sp, #24] 70013498: f9b4 1000 ldrsh.w r1, [r4] 7001349c: f9bd a01a ldrsh.w sl, [sp, #26] 700134a0: 428b cmp r3, r1 700134a2: f9bd b01c ldrsh.w fp, [sp, #28] 700134a6: f9bd 901e ldrsh.w r9, [sp, #30] 700134aa: d10b bne.n 700134c4 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0xc4> 700134ac: f9b4 2002 ldrsh.w r2, [r4, #2] 700134b0: 4552 cmp r2, sl 700134b2: d107 bne.n 700134c4 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0xc4> 700134b4: f9b4 2004 ldrsh.w r2, [r4, #4] 700134b8: 455a cmp r2, fp 700134ba: d103 bne.n 700134c4 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0xc4> 700134bc: f9b4 2006 ldrsh.w r2, [r4, #6] 700134c0: 454a cmp r2, r9 700134c2: d06a beq.n 7001359a <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x19a> 700134c4: f1bb 0f00 cmp.w fp, #0 700134c8: dd02 ble.n 700134d0 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0xd0> 700134ca: f1b9 0f00 cmp.w r9, #0 700134ce: dc02 bgt.n 700134d6 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0xd6> 700134d0: 69ea ldr r2, [r5, #28] 700134d2: 4621 mov r1, r4 700134d4: e05e b.n 70013594 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x194> 700134d6: f9b4 2002 ldrsh.w r2, [r4, #2] 700134da: fa1f f08a uxth.w r0, sl 700134de: 4552 cmp r2, sl 700134e0: 9000 str r0, [sp, #0] 700134e2: da12 bge.n 7001350a <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x10a> 700134e4: 9301 str r3, [sp, #4] 700134e6: 9b00 ldr r3, [sp, #0] 700134e8: f9b4 0004 ldrsh.w r0, [r4, #4] 700134ec: f8ad 201a strh.w r2, [sp, #26] 700134f0: 1a9a subs r2, r3, r2 700134f2: f8ad 1018 strh.w r1, [sp, #24] 700134f6: 4631 mov r1, r6 700134f8: f8ad 001c strh.w r0, [sp, #28] 700134fc: 4640 mov r0, r8 700134fe: f8ad 201e strh.w r2, [sp, #30] 70013502: 69ea ldr r2, [r5, #28] 70013504: f7ff ff7c bl 70013400 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE> 70013508: 9b01 ldr r3, [sp, #4] 7001350a: f9b4 2000 ldrsh.w r2, [r4] 7001350e: b29f uxth r7, r3 70013510: 429a cmp r2, r3 70013512: da0d bge.n 70013530 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x130> 70013514: f8ad 2018 strh.w r2, [sp, #24] 70013518: 1aba subs r2, r7, r2 7001351a: f8ad a01a strh.w sl, [sp, #26] 7001351e: 4631 mov r1, r6 70013520: f8ad 201c strh.w r2, [sp, #28] 70013524: 4640 mov r0, r8 70013526: f8ad 901e strh.w r9, [sp, #30] 7001352a: 69ea ldr r2, [r5, #28] 7001352c: f7ff ff68 bl 70013400 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE> 70013530: 8822 ldrh r2, [r4, #0] 70013532: 445f add r7, fp 70013534: 88a3 ldrh r3, [r4, #4] 70013536: b2b9 uxth r1, r7 70013538: 4413 add r3, r2 7001353a: b23f sxth r7, r7 7001353c: b29a uxth r2, r3 7001353e: b21b sxth r3, r3 70013540: 42bb cmp r3, r7 70013542: dd0d ble.n 70013560 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x160> 70013544: 1a53 subs r3, r2, r1 70013546: f8ad 7018 strh.w r7, [sp, #24] 7001354a: f8ad a01a strh.w sl, [sp, #26] 7001354e: 4631 mov r1, r6 70013550: f8ad 301c strh.w r3, [sp, #28] 70013554: 4640 mov r0, r8 70013556: f8ad 901e strh.w r9, [sp, #30] 7001355a: 69ea ldr r2, [r5, #28] 7001355c: f7ff ff50 bl 70013400 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE> 70013560: 88e3 ldrh r3, [r4, #6] 70013562: 8862 ldrh r2, [r4, #2] 70013564: 441a add r2, r3 70013566: 9b00 ldr r3, [sp, #0] 70013568: 444b add r3, r9 7001356a: b291 uxth r1, r2 7001356c: b212 sxth r2, r2 7001356e: b298 uxth r0, r3 70013570: b21b sxth r3, r3 70013572: 4293 cmp r3, r2 70013574: da11 bge.n 7001359a <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x19a> 70013576: f9b4 2004 ldrsh.w r2, [r4, #4] 7001357a: f8ad 301a strh.w r3, [sp, #26] 7001357e: 1a0b subs r3, r1, r0 70013580: f9b4 7000 ldrsh.w r7, [r4] 70013584: 4631 mov r1, r6 70013586: f8ad 201c strh.w r2, [sp, #28] 7001358a: f8ad 7018 strh.w r7, [sp, #24] 7001358e: f8ad 301e strh.w r3, [sp, #30] 70013592: 69ea ldr r2, [r5, #28] 70013594: 4640 mov r0, r8 70013596: f7ff ff33 bl 70013400 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE> 7001359a: 4628 mov r0, r5 7001359c: f7ff feb0 bl 70013300 <_ZN8touchgfx8Drawable20getCachedVisibleRectEv> 700135a0: 6861 ldr r1, [r4, #4] 700135a2: 4602 mov r2, r0 700135a4: 4633 mov r3, r6 700135a6: 6820 ldr r0, [r4, #0] 700135a8: c303 stmia r3!, {r0, r1} 700135aa: 4611 mov r1, r2 700135ac: 4630 mov r0, r6 700135ae: f7fa fde1 bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 700135b2: f9bd 201c ldrsh.w r2, [sp, #28] 700135b6: f9bd 301e ldrsh.w r3, [sp, #30] 700135ba: 2a00 cmp r2, #0 700135bc: dd16 ble.n 700135ec <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x1ec> 700135be: 2b00 cmp r3, #0 700135c0: dd14 ble.n 700135ec <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE+0x1ec> 700135c2: 4628 mov r0, r5 700135c4: f7ff feb2 bl 7001332c <_ZN8touchgfx8Drawable13getCachedAbsXEv> 700135c8: f8bd 3018 ldrh.w r3, [sp, #24] 700135cc: 1a1b subs r3, r3, r0 700135ce: 4628 mov r0, r5 700135d0: f8ad 3018 strh.w r3, [sp, #24] 700135d4: f7ff feba bl 7001334c <_ZN8touchgfx8Drawable13getCachedAbsYEv> 700135d8: f8bd 301a ldrh.w r3, [sp, #26] 700135dc: 4631 mov r1, r6 700135de: 1a1b subs r3, r3, r0 700135e0: 4628 mov r0, r5 700135e2: f8ad 301a strh.w r3, [sp, #26] 700135e6: 682b ldr r3, [r5, #0] 700135e8: 689b ldr r3, [r3, #8] 700135ea: 4798 blx r3 700135ec: b009 add sp, #36 @ 0x24 700135ee: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700135f2 <_ZN8touchgfx6Screen9startSMOCERKNS_4RectE>: 700135f2: b570 push {r4, r5, r6, lr} 700135f4: 1d06 adds r6, r0, #4 700135f6: b086 sub sp, #24 700135f8: 460c mov r4, r1 700135fa: 2300 movs r3, #0 700135fc: 4631 mov r1, r6 700135fe: 4605 mov r5, r0 70013600: a802 add r0, sp, #8 70013602: 9301 str r3, [sp, #4] 70013604: f7ff f81a bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 70013608: f8bd 3008 ldrh.w r3, [sp, #8] 7001360c: 8822 ldrh r2, [r4, #0] 7001360e: f8bd 100a ldrh.w r1, [sp, #10] 70013612: 1ad2 subs r2, r2, r3 70013614: 8863 ldrh r3, [r4, #2] 70013616: f9b4 0004 ldrsh.w r0, [r4, #4] 7001361a: 1a5b subs r3, r3, r1 7001361c: f9b4 1006 ldrsh.w r1, [r4, #6] 70013620: f8ad 2010 strh.w r2, [sp, #16] 70013624: aa01 add r2, sp, #4 70013626: f8ad 0014 strh.w r0, [sp, #20] 7001362a: 4630 mov r0, r6 7001362c: f8ad 1016 strh.w r1, [sp, #22] 70013630: a904 add r1, sp, #16 70013632: f8ad 3012 strh.w r3, [sp, #18] 70013636: f7fa fe18 bl 7000e26a <_ZN8touchgfx9Container14setupDrawChainERKNS_4RectEPPNS_8DrawableE> 7001363a: 9a01 ldr r2, [sp, #4] 7001363c: b11a cbz r2, 70013646 <_ZN8touchgfx6Screen9startSMOCERKNS_4RectE+0x54> 7001363e: 4621 mov r1, r4 70013640: 4628 mov r0, r5 70013642: f7ff fedd bl 70013400 <_ZN8touchgfx6Screen5JSMOCERKNS_4RectEPNS_8DrawableE> 70013646: b006 add sp, #24 70013648: bd70 pop {r4, r5, r6, pc} 7001364a <_ZN8touchgfx6Screen4drawERNS_4RectE>: 7001364a: b51f push {r0, r1, r2, r3, r4, lr} 7001364c: 4604 mov r4, r0 7001364e: 460a mov r2, r1 70013650: 6880 ldr r0, [r0, #8] 70013652: 466b mov r3, sp 70013654: 68e1 ldr r1, [r4, #12] 70013656: c303 stmia r3!, {r0, r1} 70013658: 4611 mov r1, r2 7001365a: 4668 mov r0, sp 7001365c: f7fa fd8a bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 70013660: f894 3038 ldrb.w r3, [r4, #56] @ 0x38 70013664: b123 cbz r3, 70013670 <_ZN8touchgfx6Screen4drawERNS_4RectE+0x26> 70013666: 4669 mov r1, sp 70013668: 4620 mov r0, r4 7001366a: f7ff ffc2 bl 700135f2 <_ZN8touchgfx6Screen9startSMOCERKNS_4RectE> 7001366e: e016 b.n 7001369e <_ZN8touchgfx6Screen4drawERNS_4RectE+0x54> 70013670: 3404 adds r4, #4 70013672: a802 add r0, sp, #8 70013674: 4621 mov r1, r4 70013676: f7fe ffe1 bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 7001367a: f8bd 3000 ldrh.w r3, [sp] 7001367e: f8bd 2008 ldrh.w r2, [sp, #8] 70013682: 4669 mov r1, sp 70013684: 4620 mov r0, r4 70013686: 1a9b subs r3, r3, r2 70013688: f8bd 200a ldrh.w r2, [sp, #10] 7001368c: f8ad 3000 strh.w r3, [sp] 70013690: f8bd 3002 ldrh.w r3, [sp, #2] 70013694: 1a9b subs r3, r3, r2 70013696: f8ad 3002 strh.w r3, [sp, #2] 7001369a: f7fa fda9 bl 7000e1f0 <_ZNK8touchgfx9Container4drawERKNS_4RectE> 7001369e: b004 add sp, #16 700136a0: bd10 pop {r4, pc} 700136a2 <_ZN8touchgfx6Screen14bindTransitionERNS_10TransitionE>: 700136a2: 4602 mov r2, r0 700136a4: 680b ldr r3, [r1, #0] 700136a6: 4608 mov r0, r1 700136a8: 699b ldr r3, [r3, #24] 700136aa: 1d11 adds r1, r2, #4 700136ac: 4718 bx r3 700136ae <_ZN8touchgfx15EasingEquations14linearEaseNoneEtsst>: 700136ae: 4298 cmp r0, r3 700136b0: d302 bcc.n 700136b8 <_ZN8touchgfx15EasingEquations14linearEaseNoneEtsst+0xa> 700136b2: 4411 add r1, r2 700136b4: b208 sxth r0, r1 700136b6: 4770 bx lr 700136b8: ee07 2a90 vmov s15, r2 700136bc: eeb8 7ae7 vcvt.f32.s32 s14, s15 700136c0: ee07 0a90 vmov s15, r0 700136c4: eef8 7a67 vcvt.f32.u32 s15, s15 700136c8: ee27 7a27 vmul.f32 s14, s14, s15 700136cc: ee07 3a90 vmov s15, r3 700136d0: eef8 6ae7 vcvt.f32.s32 s13, s15 700136d4: eec7 7a26 vdiv.f32 s15, s14, s13 700136d8: ee07 1a10 vmov s14, r1 700136dc: eeb8 7ac7 vcvt.f32.s32 s14, s14 700136e0: ee77 7a87 vadd.f32 s15, s15, s14 700136e4: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 700136e8: eef5 7ac0 vcmpe.f32 s15, #0.0 700136ec: eef1 fa10 vmrs APSR_nzcv, fpscr 700136f0: bfcc ite gt 700136f2: ee77 7a87 vaddgt.f32 s15, s15, s14 700136f6: ee77 7ac7 vsuble.f32 s15, s15, s14 700136fa: eefd 7ae7 vcvt.s32.f32 s15, s15 700136fe: ee17 3a90 vmov r3, s15 70013702: b218 sxth r0, r3 70013704: 4770 bx lr 70013706 <_ZN8touchgfx15EasingEquations12linearEaseInEtsst>: 70013706: f7ff bfd2 b.w 700136ae <_ZN8touchgfx15EasingEquations14linearEaseNoneEtsst> 7001370a <_ZN8touchgfx12TextProviderC1Ev>: 7001370a: b538 push {r3, r4, r5, lr} 7001370c: 2500 movs r5, #0 7001370e: 2302 movs r3, #2 70013710: 4604 mov r4, r0 70013712: 220e movs r2, #14 70013714: 4629 mov r1, r5 70013716: 7403 strb r3, [r0, #16] 70013718: 6145 str r5, [r0, #20] 7001371a: 7605 strb r5, [r0, #24] 7001371c: 83c5 strh r5, [r0, #30] 7001371e: 8405 strh r5, [r0, #32] 70013720: 86c5 strh r5, [r0, #54] @ 0x36 70013722: 8705 strh r5, [r0, #56] @ 0x38 70013724: 87c5 strh r5, [r0, #62] @ 0x3e 70013726: f8a0 5040 strh.w r5, [r0, #64] @ 0x40 7001372a: e9c0 5500 strd r5, r5, [r0] 7001372e: e9c0 5511 strd r5, r5, [r0, #68] @ 0x44 70013732: 304c adds r0, #76 @ 0x4c 70013734: f027 fdf6 bl 7003b324 70013738: 2301 movs r3, #1 7001373a: 4620 mov r0, r4 7001373c: f8a4 505a strh.w r5, [r4, #90] @ 0x5a 70013740: 65e5 str r5, [r4, #92] @ 0x5c 70013742: f8a4 3060 strh.w r3, [r4, #96] @ 0x60 70013746: f7f0 feef bl 70004528 <_ZN8touchgfx12TextProvider18initializeInternalEv> 7001374a: 4620 mov r0, r4 7001374c: bd38 pop {r3, r4, r5, pc} 7001374e <_ZN8touchgfx12TextProvider19getNextCharInternalEv>: 7001374e: b510 push {r4, lr} 70013750: 2400 movs r4, #0 70013752: 6843 ldr r3, [r0, #4] 70013754: b913 cbnz r3, 7001375c <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0xe> 70013756: 6803 ldr r3, [r0, #0] 70013758: b323 cbz r3, 700137a4 <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0x56> 7001375a: 6043 str r3, [r0, #4] 7001375c: 7e03 ldrb r3, [r0, #24] 7001375e: b13b cbz r3, 70013770 <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0x22> 70013760: 6943 ldr r3, [r0, #20] 70013762: b123 cbz r3, 7001376e <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0x20> 70013764: 881a ldrh r2, [r3, #0] 70013766: b112 cbz r2, 7001376e <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0x20> 70013768: 1c9a adds r2, r3, #2 7001376a: 6142 str r2, [r0, #20] 7001376c: e007 b.n 7001377e <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0x30> 7001376e: 7604 strb r4, [r0, #24] 70013770: 6843 ldr r3, [r0, #4] 70013772: 8819 ldrh r1, [r3, #0] 70013774: b1b1 cbz r1, 700137a4 <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0x56> 70013776: 1c9a adds r2, r3, #2 70013778: 2902 cmp r1, #2 7001377a: 6042 str r2, [r0, #4] 7001377c: d001 beq.n 70013782 <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0x34> 7001377e: 8818 ldrh r0, [r3, #0] 70013780: e011 b.n 700137a6 <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0x58> 70013782: 7c03 ldrb r3, [r0, #16] 70013784: 2b01 cmp r3, #1 70013786: d8e4 bhi.n 70013752 <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0x4> 70013788: 1c5a adds r2, r3, #1 7001378a: 3302 adds r3, #2 7001378c: 7402 strb r2, [r0, #16] 7001378e: f850 3023 ldr.w r3, [r0, r3, lsl #2] 70013792: 6143 str r3, [r0, #20] 70013794: 2b00 cmp r3, #0 70013796: d0dc beq.n 70013752 <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0x4> 70013798: 881b ldrh r3, [r3, #0] 7001379a: 2b00 cmp r3, #0 7001379c: d0d9 beq.n 70013752 <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0x4> 7001379e: 2301 movs r3, #1 700137a0: 7603 strb r3, [r0, #24] 700137a2: e7d6 b.n 70013752 <_ZN8touchgfx12TextProvider19getNextCharInternalEv+0x4> 700137a4: 2000 movs r0, #0 700137a6: bd10 pop {r4, pc} 700137a8 <_ZN8touchgfx12TextProvider10initializeEPKtSt9__va_listS2_PKNS_24FontContextualFormsTableE>: 700137a8: b430 push {r4, r5} 700137aa: 6001 str r1, [r0, #0] 700137ac: 2100 movs r1, #0 700137ae: 6041 str r1, [r0, #4] 700137b0: 6815 ldr r5, [r2, #0] 700137b2: 6085 str r5, [r0, #8] 700137b4: 6852 ldr r2, [r2, #4] 700137b6: 6443 str r3, [r0, #68] @ 0x44 700137b8: 9b02 ldr r3, [sp, #8] 700137ba: 60c2 str r2, [r0, #12] 700137bc: 7401 strb r1, [r0, #16] 700137be: 6141 str r1, [r0, #20] 700137c0: 7601 strb r1, [r0, #24] 700137c2: 8701 strh r1, [r0, #56] @ 0x38 700137c4: 8401 strh r1, [r0, #32] 700137c6: f8a0 1040 strh.w r1, [r0, #64] @ 0x40 700137ca: 6483 str r3, [r0, #72] @ 0x48 700137cc: bc30 pop {r4, r5} 700137ce: f7f0 beab b.w 70004528 <_ZN8touchgfx12TextProvider18initializeInternalEv> 700137d2 <_ZN8touchgfx12TextProvider16adjustHindiGlyphEPKNS_9GlyphNodeE>: 700137d2: b5f0 push {r4, r5, r6, r7, lr} 700137d4: 4604 mov r4, r0 700137d6: 4608 mov r0, r1 700137d8: b1f1 cbz r1, 70013818 <_ZN8touchgfx12TextProvider16adjustHindiGlyphEPKNS_9GlyphNodeE+0x46> 700137da: f104 054c add.w r5, r4, #76 @ 0x4c 700137de: 460a mov r2, r1 700137e0: f101 0708 add.w r7, r1, #8 700137e4: 462b mov r3, r5 700137e6: 6810 ldr r0, [r2, #0] 700137e8: 3208 adds r2, #8 700137ea: f852 1c04 ldr.w r1, [r2, #-4] 700137ee: 462e mov r6, r5 700137f0: 42ba cmp r2, r7 700137f2: c603 stmia r6!, {r0, r1} 700137f4: 4635 mov r5, r6 700137f6: d1f6 bne.n 700137e6 <_ZN8touchgfx12TextProvider16adjustHindiGlyphEPKNS_9GlyphNodeE+0x14> 700137f8: 6810 ldr r0, [r2, #0] 700137fa: 6030 str r0, [r6, #0] 700137fc: 4618 mov r0, r3 700137fe: 8892 ldrh r2, [r2, #4] 70013800: 80b2 strh r2, [r6, #4] 70013802: f894 1059 ldrb.w r1, [r4, #89] @ 0x59 70013806: f894 2052 ldrb.w r2, [r4, #82] @ 0x52 7001380a: 0149 lsls r1, r1, #5 7001380c: f401 7180 and.w r1, r1, #256 @ 0x100 70013810: 430a orrs r2, r1 70013812: 4252 negs r2, r2 70013814: f884 2055 strb.w r2, [r4, #85] @ 0x55 70013818: bdf0 pop {r4, r5, r6, r7, pc} 7001381a <_ZNK8touchgfx12TextProvider15thaiLookupGlyphEPKNS_9GlyphNodeEPKNS_4FontEt>: 7001381a: b510 push {r4, lr} 7001381c: 4610 mov r0, r2 7001381e: 6812 ldr r2, [r2, #0] 70013820: 460c mov r4, r1 70013822: 4619 mov r1, r3 70013824: 68d2 ldr r2, [r2, #12] 70013826: 4790 blx r2 70013828: 2800 cmp r0, #0 7001382a: bf08 it eq 7001382c: 4620 moveq r0, r4 7001382e: bd10 pop {r4, pc} 70013830 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE>: 70013830: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70013834: 4605 mov r5, r0 70013836: 468e mov lr, r1 70013838: 4614 mov r4, r2 7001383a: b91a cbnz r2, 70013844 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x14> 7001383c: f8a0 205a strh.w r2, [r0, #90] @ 0x5a 70013840: 65c2 str r2, [r0, #92] @ 0x5c 70013842: e130 b.n 70013aa6 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x276> 70013844: 7b51 ldrb r1, [r2, #13] 70013846: f8b2 c004 ldrh.w ip, [r2, #4] 7001384a: 010a lsls r2, r1, #4 7001384c: 79e7 ldrb r7, [r4, #7] 7001384e: 460b mov r3, r1 70013850: f402 7280 and.w r2, r2, #256 @ 0x100 70013854: 4317 orrs r7, r2 70013856: f640 623a movw r2, #3642 @ 0xe3a 7001385a: 4594 cmp ip, r2 7001385c: ea4f 06d7 mov.w r6, r7, lsr #3 70013860: b2bf uxth r7, r7 70013862: d80b bhi.n 7001387c <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x4c> 70013864: f640 6237 movw r2, #3639 @ 0xe37 70013868: 4594 cmp ip, r2 7001386a: d856 bhi.n 7001391a <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0xea> 7001386c: f640 6231 movw r2, #3633 @ 0xe31 70013870: 4594 cmp ip, r2 70013872: d007 beq.n 70013884 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x54> 70013874: f6ac 6234 subw r2, ip, #3636 @ 0xe34 70013878: 2a03 cmp r2, #3 7001387a: e002 b.n 70013882 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x52> 7001387c: f6ac 6247 subw r2, ip, #3655 @ 0xe47 70013880: 2a07 cmp r2, #7 70013882: d876 bhi.n 70013972 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x142> 70013884: f105 024c add.w r2, r5, #76 @ 0x4c 70013888: 4623 mov r3, r4 7001388a: f104 0808 add.w r8, r4, #8 7001388e: 4614 mov r4, r2 70013890: 6818 ldr r0, [r3, #0] 70013892: 3308 adds r3, #8 70013894: f853 1c04 ldr.w r1, [r3, #-4] 70013898: 4694 mov ip, r2 7001389a: 4543 cmp r3, r8 7001389c: e8ac 0003 stmia.w ip!, {r0, r1} 700138a0: 4662 mov r2, ip 700138a2: d1f5 bne.n 70013890 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x60> 700138a4: 6818 ldr r0, [r3, #0] 700138a6: f8cc 0000 str.w r0, [ip] 700138aa: 889b ldrh r3, [r3, #4] 700138ac: f8ac 3004 strh.w r3, [ip, #4] 700138b0: 8eeb ldrh r3, [r5, #54] @ 0x36 700138b2: eb05 0343 add.w r3, r5, r3, lsl #1 700138b6: 8c59 ldrh r1, [r3, #34] @ 0x22 700138b8: f640 6333 movw r3, #3635 @ 0xe33 700138bc: 4299 cmp r1, r3 700138be: d111 bne.n 700138e4 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0xb4> 700138c0: f8de 3000 ldr.w r3, [lr] 700138c4: 4670 mov r0, lr 700138c6: 68db ldr r3, [r3, #12] 700138c8: 4798 blx r3 700138ca: 7b41 ldrb r1, [r0, #13] 700138cc: 7a03 ldrb r3, [r0, #8] 700138ce: 00ca lsls r2, r1, #3 700138d0: f402 7280 and.w r2, r2, #256 @ 0x100 700138d4: 4313 orrs r3, r2 700138d6: 064a lsls r2, r1, #25 700138d8: bf44 itt mi 700138da: f5a3 7300 submi.w r3, r3, #512 @ 0x200 700138de: b21b sxthmi r3, r3 700138e0: f8a5 305a strh.w r3, [r5, #90] @ 0x5a 700138e4: f8b5 205a ldrh.w r2, [r5, #90] @ 0x5a 700138e8: 443a add r2, r7 700138ea: 4432 add r2, r6 700138ec: b213 sxth r3, r2 700138ee: f885 2054 strb.w r2, [r5, #84] @ 0x54 700138f2: f895 2059 ldrb.w r2, [r5, #89] @ 0x59 700138f6: f8a5 305a strh.w r3, [r5, #90] @ 0x5a 700138fa: 10db asrs r3, r3, #3 700138fc: f022 0260 bic.w r2, r2, #96 @ 0x60 70013900: f003 0360 and.w r3, r3, #96 @ 0x60 70013904: 4313 orrs r3, r2 70013906: f8b5 205e ldrh.w r2, [r5, #94] @ 0x5e 7001390a: f885 3059 strb.w r3, [r5, #89] @ 0x59 7001390e: f895 3055 ldrb.w r3, [r5, #85] @ 0x55 70013912: 1a9b subs r3, r3, r2 70013914: f885 3055 strb.w r3, [r5, #85] @ 0x55 70013918: e0c5 b.n 70013aa6 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x276> 7001391a: f100 024c add.w r2, r0, #76 @ 0x4c 7001391e: 4623 mov r3, r4 70013920: f104 0e08 add.w lr, r4, #8 70013924: 4614 mov r4, r2 70013926: 6818 ldr r0, [r3, #0] 70013928: 3308 adds r3, #8 7001392a: f853 1c04 ldr.w r1, [r3, #-4] 7001392e: 4694 mov ip, r2 70013930: 4573 cmp r3, lr 70013932: e8ac 0003 stmia.w ip!, {r0, r1} 70013936: 4662 mov r2, ip 70013938: d1f5 bne.n 70013926 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0xf6> 7001393a: 6818 ldr r0, [r3, #0] 7001393c: f8cc 0000 str.w r0, [ip] 70013940: 889b ldrh r3, [r3, #4] 70013942: f8ac 3004 strh.w r3, [ip, #4] 70013946: f8b5 205c ldrh.w r2, [r5, #92] @ 0x5c 7001394a: f895 1059 ldrb.w r1, [r5, #89] @ 0x59 7001394e: 1b93 subs r3, r2, r6 70013950: 1bd2 subs r2, r2, r7 70013952: f021 0160 bic.w r1, r1, #96 @ 0x60 70013956: b29b uxth r3, r3 70013958: 1b92 subs r2, r2, r6 7001395a: f885 3054 strb.w r3, [r5, #84] @ 0x54 7001395e: f343 03cc sbfx r3, r3, #3, #13 70013962: f8a5 205c strh.w r2, [r5, #92] @ 0x5c 70013966: f003 0360 and.w r3, r3, #96 @ 0x60 7001396a: 430b orrs r3, r1 7001396c: f885 3059 strb.w r3, [r5, #89] @ 0x59 70013970: e099 b.n 70013aa6 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x276> 70013972: f6ac 621b subw r2, ip, #3611 @ 0xe1b 70013976: b292 uxth r2, r2 70013978: 2a04 cmp r2, #4 7001397a: d839 bhi.n 700139f0 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x1c0> 7001397c: 2015 movs r0, #21 7001397e: fa20 f202 lsr.w r2, r0, r2 70013982: 07d6 lsls r6, r2, #31 70013984: d534 bpl.n 700139f0 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x1c0> 70013986: f105 024c add.w r2, r5, #76 @ 0x4c 7001398a: 4623 mov r3, r4 7001398c: f104 0808 add.w r8, r4, #8 70013990: 4614 mov r4, r2 70013992: 6818 ldr r0, [r3, #0] 70013994: 3308 adds r3, #8 70013996: f853 1c04 ldr.w r1, [r3, #-4] 7001399a: 4616 mov r6, r2 7001399c: 4543 cmp r3, r8 7001399e: c603 stmia r6!, {r0, r1} 700139a0: 4632 mov r2, r6 700139a2: d1f6 bne.n 70013992 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x162> 700139a4: 6818 ldr r0, [r3, #0] 700139a6: 4672 mov r2, lr 700139a8: 4621 mov r1, r4 700139aa: 6030 str r0, [r6, #0] 700139ac: 4628 mov r0, r5 700139ae: 889b ldrh r3, [r3, #4] 700139b0: 80b3 strh r3, [r6, #4] 700139b2: f10c 33ff add.w r3, ip, #4294967295 @ 0xffffffff 700139b6: b29b uxth r3, r3 700139b8: f7ff ff2f bl 7001381a <_ZNK8touchgfx12TextProvider15thaiLookupGlyphEPKNS_9GlyphNodeEPKNS_4FontEt> 700139bc: 7b41 ldrb r1, [r0, #13] 700139be: 7a03 ldrb r3, [r0, #8] 700139c0: 00ca lsls r2, r1, #3 700139c2: 0648 lsls r0, r1, #25 700139c4: f402 7280 and.w r2, r2, #256 @ 0x100 700139c8: ea43 0302 orr.w r3, r3, r2 700139cc: f895 2056 ldrb.w r2, [r5, #86] @ 0x56 700139d0: bf44 itt mi 700139d2: f5a3 7300 submi.w r3, r3, #512 @ 0x200 700139d6: b21b sxthmi r3, r3 700139d8: f8a5 305a strh.w r3, [r5, #90] @ 0x5a 700139dc: f895 3059 ldrb.w r3, [r5, #89] @ 0x59 700139e0: 005b lsls r3, r3, #1 700139e2: f403 7380 and.w r3, r3, #256 @ 0x100 700139e6: 431a orrs r2, r3 700139e8: 0953 lsrs r3, r2, #5 700139ea: eb03 0392 add.w r3, r3, r2, lsr #2 700139ee: e04a b.n 70013a86 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x256> 700139f0: 00db lsls r3, r3, #3 700139f2: 0649 lsls r1, r1, #25 700139f4: f403 7280 and.w r2, r3, #256 @ 0x100 700139f8: 7a23 ldrb r3, [r4, #8] 700139fa: ea43 0302 orr.w r3, r3, r2 700139fe: f6ac 6209 subw r2, ip, #3593 @ 0xe09 70013a02: bf48 it mi 70013a04: f5a3 7300 submi.w r3, r3, #512 @ 0x200 70013a08: b292 uxth r2, r2 70013a0a: bf48 it mi 70013a0c: b21b sxthmi r3, r3 70013a0e: 2a10 cmp r2, #16 70013a10: f8a5 305a strh.w r3, [r5, #90] @ 0x5a 70013a14: d836 bhi.n 70013a84 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x254> 70013a16: 4b25 ldr r3, [pc, #148] @ (70013aac <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x27c>) 70013a18: 40d3 lsrs r3, r2 70013a1a: f013 0301 ands.w r3, r3, #1 70013a1e: d032 beq.n 70013a86 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x256> 70013a20: f105 034c add.w r3, r5, #76 @ 0x4c 70013a24: f104 0608 add.w r6, r4, #8 70013a28: 4698 mov r8, r3 70013a2a: 6820 ldr r0, [r4, #0] 70013a2c: 3408 adds r4, #8 70013a2e: f854 1c04 ldr.w r1, [r4, #-4] 70013a32: 461a mov r2, r3 70013a34: 42b4 cmp r4, r6 70013a36: c203 stmia r2!, {r0, r1} 70013a38: 4613 mov r3, r2 70013a3a: d1f6 bne.n 70013a2a <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x1fa> 70013a3c: 6820 ldr r0, [r4, #0] 70013a3e: 4641 mov r1, r8 70013a40: 6010 str r0, [r2, #0] 70013a42: 4628 mov r0, r5 70013a44: 88a2 ldrh r2, [r4, #4] 70013a46: 4644 mov r4, r8 70013a48: 809a strh r2, [r3, #4] 70013a4a: f895 2059 ldrb.w r2, [r5, #89] @ 0x59 70013a4e: f895 3056 ldrb.w r3, [r5, #86] @ 0x56 70013a52: 0052 lsls r2, r2, #1 70013a54: f402 7280 and.w r2, r2, #256 @ 0x100 70013a58: ea43 0602 orr.w r6, r3, r2 70013a5c: f640 6313 movw r3, #3603 @ 0xe13 70013a60: 4672 mov r2, lr 70013a62: 459c cmp ip, r3 70013a64: bf16 itet ne 70013a66: f10c 33ff addne.w r3, ip, #4294967295 @ 0xffffffff 70013a6a: f640 630c movweq r3, #3596 @ 0xe0c 70013a6e: b29b uxthne r3, r3 70013a70: f7ff fed3 bl 7001381a <_ZNK8touchgfx12TextProvider15thaiLookupGlyphEPKNS_9GlyphNodeEPKNS_4FontEt> 70013a74: 7b43 ldrb r3, [r0, #13] 70013a76: 7a82 ldrb r2, [r0, #10] 70013a78: 005b lsls r3, r3, #1 70013a7a: f403 7380 and.w r3, r3, #256 @ 0x100 70013a7e: 4313 orrs r3, r2 70013a80: 1af3 subs r3, r6, r3 70013a82: e000 b.n 70013a86 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE+0x256> 70013a84: 2300 movs r3, #0 70013a86: f8a5 305e strh.w r3, [r5, #94] @ 0x5e 70013a8a: 7b61 ldrb r1, [r4, #13] 70013a8c: 7a23 ldrb r3, [r4, #8] 70013a8e: 00ca lsls r2, r1, #3 70013a90: f402 7280 and.w r2, r2, #256 @ 0x100 70013a94: 4313 orrs r3, r2 70013a96: 064a lsls r2, r1, #25 70013a98: bf44 itt mi 70013a9a: f5a3 7300 submi.w r3, r3, #512 @ 0x200 70013a9e: b21b sxthmi r3, r3 70013aa0: 1bdb subs r3, r3, r7 70013aa2: f8a5 305c strh.w r3, [r5, #92] @ 0x5c 70013aa6: 4620 mov r0, r4 70013aa8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 70013aac: 00010401 .word 0x00010401 70013ab0 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt>: 70013ab0: 4603 mov r3, r0 70013ab2: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 70013ab6: b93a cbnz r2, 70013ac8 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x18> 70013ab8: f44f 4100 mov.w r1, #32768 @ 0x8000 70013abc: f8a0 105a strh.w r1, [r0, #90] @ 0x5a 70013ac0: f04f 2180 mov.w r1, #2147516416 @ 0x80008000 70013ac4: 65c1 str r1, [r0, #92] @ 0x5c 70013ac6: e146 b.n 70013d56 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x2a6> 70013ac8: 7b55 ldrb r5, [r2, #13] 70013aca: 79d4 ldrb r4, [r2, #7] 70013acc: 012e lsls r6, r5, #4 70013ace: 8891 ldrh r1, [r2, #4] 70013ad0: 4628 mov r0, r5 70013ad2: f406 7680 and.w r6, r6, #256 @ 0x100 70013ad6: 4334 orrs r4, r6 70013ad8: f240 66ed movw r6, #1773 @ 0x6ed 70013adc: 2c04 cmp r4, #4 70013ade: bfcc ite gt 70013ae0: ea4f 0e94 movgt.w lr, r4, lsr #2 70013ae4: f04f 0e01 movle.w lr, #1 70013ae8: 42b1 cmp r1, r6 70013aea: d84d bhi.n 70013b88 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0xd8> 70013aec: f240 66d5 movw r6, #1749 @ 0x6d5 70013af0: 42b1 cmp r1, r6 70013af2: d81d bhi.n 70013b30 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x80> 70013af4: f240 6656 movw r6, #1622 @ 0x656 70013af8: 42b1 cmp r1, r6 70013afa: d83f bhi.n 70013b7c <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0xcc> 70013afc: f240 664a movw r6, #1610 @ 0x64a 70013b00: 42b1 cmp r1, r6 70013b02: d829 bhi.n 70013b58 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0xa8> 70013b04: f240 6619 movw r6, #1561 @ 0x619 70013b08: 42b1 cmp r1, r6 70013b0a: d832 bhi.n 70013b72 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0xc2> 70013b0c: f5b1 6fc2 cmp.w r1, #1552 @ 0x610 70013b10: f0c0 8103 bcc.w 70013d1a <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x26a> 70013b14: e03e b.n 70013b94 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0xe4> 70013b16: 2601 movs r6, #1 70013b18: fa06 f101 lsl.w r1, r6, r1 70013b1c: 4e8f ldr r6, [pc, #572] @ (70013d5c <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x2ac>) 70013b1e: 400e ands r6, r1 70013b20: 2e00 cmp r6, #0 70013b22: d137 bne.n 70013b94 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0xe4> 70013b24: 4e8e ldr r6, [pc, #568] @ (70013d60 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x2b0>) 70013b26: 400e ands r6, r1 70013b28: 2e00 cmp r6, #0 70013b2a: f040 8092 bne.w 70013c52 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x1a2> 70013b2e: e0f4 b.n 70013d1a <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x26a> 70013b30: f2a1 61d6 subw r1, r1, #1750 @ 0x6d6 70013b34: b28e uxth r6, r1 70013b36: 2101 movs r1, #1 70013b38: 40b1 lsls r1, r6 70013b3a: 4e8a ldr r6, [pc, #552] @ (70013d64 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x2b4>) 70013b3c: 400e ands r6, r1 70013b3e: bb4e cbnz r6, 70013b94 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0xe4> 70013b40: 4e89 ldr r6, [pc, #548] @ (70013d68 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x2b8>) 70013b42: e014 b.n 70013b6e <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0xbe> 70013b44: 2601 movs r6, #1 70013b46: fa06 f101 lsl.w r1, r6, r1 70013b4a: 4e88 ldr r6, [pc, #544] @ (70013d6c <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x2bc>) 70013b4c: 4231 tst r1, r6 70013b4e: d121 bne.n 70013b94 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0xe4> 70013b50: f411 7f90 tst.w r1, #288 @ 0x120 70013b54: d17d bne.n 70013c52 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x1a2> 70013b56: e0e0 b.n 70013d1a <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x26a> 70013b58: f2a1 614b subw r1, r1, #1611 @ 0x64b 70013b5c: b28e uxth r6, r1 70013b5e: 2101 movs r1, #1 70013b60: 40b1 lsls r1, r6 70013b62: f240 36db movw r6, #987 @ 0x3db 70013b66: 4231 tst r1, r6 70013b68: d114 bne.n 70013b94 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0xe4> 70013b6a: f640 4624 movw r6, #3108 @ 0xc24 70013b6e: 4231 tst r1, r6 70013b70: e7f0 b.n 70013b54 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0xa4> 70013b72: f240 661a movw r6, #1562 @ 0x61a 70013b76: 42b1 cmp r1, r6 70013b78: d06b beq.n 70013c52 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x1a2> 70013b7a: e0ce b.n 70013d1a <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x26a> 70013b7c: f2a1 6157 subw r1, r1, #1623 @ 0x657 70013b80: b289 uxth r1, r1 70013b82: 291d cmp r1, #29 70013b84: d9de bls.n 70013b44 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x94> 70013b86: e0c8 b.n 70013d1a <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x26a> 70013b88: f6a1 01e4 subw r1, r1, #2276 @ 0x8e4 70013b8c: b289 uxth r1, r1 70013b8e: 291a cmp r1, #26 70013b90: d9c1 bls.n 70013b16 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x66> 70013b92: e0c2 b.n 70013d1a <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x26a> 70013b94: f9b3 605a ldrsh.w r6, [r3, #90] @ 0x5a 70013b98: f516 4f00 cmn.w r6, #32768 @ 0x8000 70013b9c: d111 bne.n 70013bc2 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x112> 70013b9e: f9b3 105c ldrsh.w r1, [r3, #92] @ 0x5c 70013ba2: f511 4f00 cmn.w r1, #32768 @ 0x8000 70013ba6: d10c bne.n 70013bc2 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x112> 70013ba8: 00c0 lsls r0, r0, #3 70013baa: 7a11 ldrb r1, [r2, #8] 70013bac: f400 7080 and.w r0, r0, #256 @ 0x100 70013bb0: 4301 orrs r1, r0 70013bb2: 0668 lsls r0, r5, #25 70013bb4: bf44 itt mi 70013bb6: f5a1 7100 submi.w r1, r1, #512 @ 0x200 70013bba: b209 sxthmi r1, r1 70013bbc: f8a3 105a strh.w r1, [r3, #90] @ 0x5a 70013bc0: e05c b.n 70013c7c <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x1cc> 70013bc2: f103 0c4c add.w ip, r3, #76 @ 0x4c 70013bc6: 4617 mov r7, r2 70013bc8: f102 0808 add.w r8, r2, #8 70013bcc: 4665 mov r5, ip 70013bce: 6838 ldr r0, [r7, #0] 70013bd0: 3708 adds r7, #8 70013bd2: f857 1c04 ldr.w r1, [r7, #-4] 70013bd6: 46e6 mov lr, ip 70013bd8: 4547 cmp r7, r8 70013bda: e8ae 0003 stmia.w lr!, {r0, r1} 70013bde: 46f4 mov ip, lr 70013be0: d1f5 bne.n 70013bce <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x11e> 70013be2: 6838 ldr r0, [r7, #0] 70013be4: f8ce 0000 str.w r0, [lr] 70013be8: 88b9 ldrh r1, [r7, #4] 70013bea: f8ae 1004 strh.w r1, [lr, #4] 70013bee: f9b3 005e ldrsh.w r0, [r3, #94] @ 0x5e 70013bf2: f510 4f00 cmn.w r0, #32768 @ 0x8000 70013bf6: d009 beq.n 70013c0c <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x15c> 70013bf8: 7b51 ldrb r1, [r2, #13] 70013bfa: 7992 ldrb r2, [r2, #6] 70013bfc: 0149 lsls r1, r1, #5 70013bfe: f401 7180 and.w r1, r1, #256 @ 0x100 70013c02: 430a orrs r2, r1 70013c04: eba0 0052 sub.w r0, r0, r2, lsr #1 70013c08: f883 0055 strb.w r0, [r3, #85] @ 0x55 70013c0c: f516 4f00 cmn.w r6, #32768 @ 0x8000 70013c10: b2a4 uxth r4, r4 70013c12: d00e beq.n 70013c32 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x182> 70013c14: 19a2 adds r2, r4, r6 70013c16: f893 1059 ldrb.w r1, [r3, #89] @ 0x59 70013c1a: b292 uxth r2, r2 70013c1c: f021 0160 bic.w r1, r1, #96 @ 0x60 70013c20: f883 2054 strb.w r2, [r3, #84] @ 0x54 70013c24: f342 02cc sbfx r2, r2, #3, #13 70013c28: f002 0260 and.w r2, r2, #96 @ 0x60 70013c2c: 430a orrs r2, r1 70013c2e: f883 2059 strb.w r2, [r3, #89] @ 0x59 70013c32: f893 0059 ldrb.w r0, [r3, #89] @ 0x59 70013c36: f893 2054 ldrb.w r2, [r3, #84] @ 0x54 70013c3a: 00c1 lsls r1, r0, #3 70013c3c: f401 7180 and.w r1, r1, #256 @ 0x100 70013c40: 430a orrs r2, r1 70013c42: 0641 lsls r1, r0, #25 70013c44: bf44 itt mi 70013c46: f5a2 7200 submi.w r2, r2, #512 @ 0x200 70013c4a: b212 sxthmi r2, r2 70013c4c: f8a3 205a strh.w r2, [r3, #90] @ 0x5a 70013c50: e05e b.n 70013d10 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x260> 70013c52: f9b3 105a ldrsh.w r1, [r3, #90] @ 0x5a 70013c56: f9b3 605c ldrsh.w r6, [r3, #92] @ 0x5c 70013c5a: f511 4f00 cmn.w r1, #32768 @ 0x8000 70013c5e: d111 bne.n 70013c84 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x1d4> 70013c60: f516 4f00 cmn.w r6, #32768 @ 0x8000 70013c64: d10e bne.n 70013c84 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x1d4> 70013c66: 00c0 lsls r0, r0, #3 70013c68: 7a11 ldrb r1, [r2, #8] 70013c6a: 066f lsls r7, r5, #25 70013c6c: f400 7080 and.w r0, r0, #256 @ 0x100 70013c70: ea41 0100 orr.w r1, r1, r0 70013c74: bf44 itt mi 70013c76: f5a1 7100 submi.w r1, r1, #512 @ 0x200 70013c7a: b209 sxthmi r1, r1 70013c7c: 1b09 subs r1, r1, r4 70013c7e: f8a3 105c strh.w r1, [r3, #92] @ 0x5c 70013c82: e068 b.n 70013d56 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x2a6> 70013c84: f103 0c4c add.w ip, r3, #76 @ 0x4c 70013c88: 4617 mov r7, r2 70013c8a: f102 0908 add.w r9, r2, #8 70013c8e: 4665 mov r5, ip 70013c90: 6838 ldr r0, [r7, #0] 70013c92: 3708 adds r7, #8 70013c94: f857 1c04 ldr.w r1, [r7, #-4] 70013c98: 46e0 mov r8, ip 70013c9a: 454f cmp r7, r9 70013c9c: e8a8 0003 stmia.w r8!, {r0, r1} 70013ca0: 46c4 mov ip, r8 70013ca2: d1f5 bne.n 70013c90 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x1e0> 70013ca4: 6838 ldr r0, [r7, #0] 70013ca6: f8c8 0000 str.w r0, [r8] 70013caa: 88b9 ldrh r1, [r7, #4] 70013cac: f8a8 1004 strh.w r1, [r8, #4] 70013cb0: f9b3 005e ldrsh.w r0, [r3, #94] @ 0x5e 70013cb4: f510 4f00 cmn.w r0, #32768 @ 0x8000 70013cb8: d009 beq.n 70013cce <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x21e> 70013cba: 7b51 ldrb r1, [r2, #13] 70013cbc: 7992 ldrb r2, [r2, #6] 70013cbe: 0149 lsls r1, r1, #5 70013cc0: f401 7180 and.w r1, r1, #256 @ 0x100 70013cc4: 430a orrs r2, r1 70013cc6: eba0 0052 sub.w r0, r0, r2, lsr #1 70013cca: f883 0055 strb.w r0, [r3, #85] @ 0x55 70013cce: f516 4f00 cmn.w r6, #32768 @ 0x8000 70013cd2: d00f beq.n 70013cf4 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x244> 70013cd4: eba6 020e sub.w r2, r6, lr 70013cd8: f893 1059 ldrb.w r1, [r3, #89] @ 0x59 70013cdc: b292 uxth r2, r2 70013cde: f021 0160 bic.w r1, r1, #96 @ 0x60 70013ce2: f883 2054 strb.w r2, [r3, #84] @ 0x54 70013ce6: f342 02cc sbfx r2, r2, #3, #13 70013cea: f002 0260 and.w r2, r2, #96 @ 0x60 70013cee: 430a orrs r2, r1 70013cf0: f883 2059 strb.w r2, [r3, #89] @ 0x59 70013cf4: f893 0059 ldrb.w r0, [r3, #89] @ 0x59 70013cf8: f893 2054 ldrb.w r2, [r3, #84] @ 0x54 70013cfc: 00c1 lsls r1, r0, #3 70013cfe: 0646 lsls r6, r0, #25 70013d00: f401 7180 and.w r1, r1, #256 @ 0x100 70013d04: ea42 0201 orr.w r2, r2, r1 70013d08: bf44 itt mi 70013d0a: f5a2 7200 submi.w r2, r2, #512 @ 0x200 70013d0e: b212 sxthmi r2, r2 70013d10: 1b12 subs r2, r2, r4 70013d12: f8a3 205c strh.w r2, [r3, #92] @ 0x5c 70013d16: 462a mov r2, r5 70013d18: e01d b.n 70013d56 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt+0x2a6> 70013d1a: 00c0 lsls r0, r0, #3 70013d1c: 7a11 ldrb r1, [r2, #8] 70013d1e: f400 7080 and.w r0, r0, #256 @ 0x100 70013d22: 4301 orrs r1, r0 70013d24: 0668 lsls r0, r5, #25 70013d26: bf44 itt mi 70013d28: f5a1 7100 submi.w r1, r1, #512 @ 0x200 70013d2c: b209 sxthmi r1, r1 70013d2e: f8a3 105a strh.w r1, [r3, #90] @ 0x5a 70013d32: 1b09 subs r1, r1, r4 70013d34: f8a3 105c strh.w r1, [r3, #92] @ 0x5c 70013d38: 7b50 ldrb r0, [r2, #13] 70013d3a: 7991 ldrb r1, [r2, #6] 70013d3c: 0140 lsls r0, r0, #5 70013d3e: f400 7080 and.w r0, r0, #256 @ 0x100 70013d42: 4301 orrs r1, r0 70013d44: 2005 movs r0, #5 70013d46: 0049 lsls r1, r1, #1 70013d48: fbb1 f1f0 udiv r1, r1, r0 70013d4c: f992 0009 ldrsb.w r0, [r2, #9] 70013d50: 4401 add r1, r0 70013d52: f8a3 105e strh.w r1, [r3, #94] @ 0x5e 70013d56: 4610 mov r0, r2 70013d58: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 70013d5c: 079bb1db .word 0x079bb1db 70013d60: 00644e24 .word 0x00644e24 70013d64: 00665e3f .word 0x00665e3f 70013d68: 00902000 .word 0x00902000 70013d6c: 220000df .word 0x220000df 70013d70 <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE>: 70013d70: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70013d74: 461e mov r6, r3 70013d76: 8ec3 ldrh r3, [r0, #54] @ 0x36 70013d78: 4604 mov r4, r0 70013d7a: 4617 mov r7, r2 70013d7c: eb00 0343 add.w r3, r0, r3, lsl #1 70013d80: f8b3 8022 ldrh.w r8, [r3, #34] @ 0x22 70013d84: f7f0 fb8e bl 700044a4 <_ZN8touchgfx12TextProvider15getNextLigatureEh> 70013d88: 4605 mov r5, r0 70013d8a: b908 cbnz r0, 70013d90 <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE+0x20> 70013d8c: 6030 str r0, [r6, #0] 70013d8e: e034 b.n 70013dfa <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE+0x8a> 70013d90: 683b ldr r3, [r7, #0] 70013d92: 4601 mov r1, r0 70013d94: 4638 mov r0, r7 70013d96: 68db ldr r3, [r3, #12] 70013d98: 4798 blx r3 70013d9a: f5a8 63c0 sub.w r3, r8, #1536 @ 0x600 70013d9e: 4602 mov r2, r0 70013da0: 6030 str r0, [r6, #0] 70013da2: f5b3 7f40 cmp.w r3, #768 @ 0x300 70013da6: d205 bcs.n 70013db4 <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE+0x44> 70013da8: 4643 mov r3, r8 70013daa: 4639 mov r1, r7 70013dac: 4620 mov r0, r4 70013dae: f7ff fe7f bl 70013ab0 <_ZN8touchgfx12TextProvider17adjustArabicGlyphEPKNS_4FontEPKNS_9GlyphNodeEt> 70013db2: e014 b.n 70013dde <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE+0x6e> 70013db4: f5a5 6360 sub.w r3, r5, #3584 @ 0xe00 70013db8: b29b uxth r3, r3 70013dba: 2b7f cmp r3, #127 @ 0x7f 70013dbc: d804 bhi.n 70013dc8 <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE+0x58> 70013dbe: 4639 mov r1, r7 70013dc0: 4620 mov r0, r4 70013dc2: f7ff fd35 bl 70013830 <_ZN8touchgfx12TextProvider15adjustThaiGlyphEPKNS_4FontEPKNS_9GlyphNodeE> 70013dc6: e00a b.n 70013dde <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE+0x6e> 70013dc8: f894 3061 ldrb.w r3, [r4, #97] @ 0x61 70013dcc: b143 cbz r3, 70013de0 <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE+0x70> 70013dce: f640 1302 movw r3, #2306 @ 0x902 70013dd2: 429d cmp r5, r3 70013dd4: d104 bne.n 70013de0 <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE+0x70> 70013dd6: 4601 mov r1, r0 70013dd8: 4620 mov r0, r4 70013dda: f7ff fcfa bl 700137d2 <_ZN8touchgfx12TextProvider16adjustHindiGlyphEPKNS_9GlyphNodeE> 70013dde: 6030 str r0, [r6, #0] 70013de0: 6833 ldr r3, [r6, #0] 70013de2: b143 cbz r3, 70013df6 <_ZN8touchgfx12TextProvider15getNextLigatureEhPKNS_4FontERPKNS_9GlyphNodeE+0x86> 70013de4: 7b5a ldrb r2, [r3, #13] 70013de6: 7a9b ldrb r3, [r3, #10] 70013de8: 0052 lsls r2, r2, #1 70013dea: f402 7280 and.w r2, r2, #256 @ 0x100 70013dee: 4313 orrs r3, r2 70013df0: bf0c ite eq 70013df2: 2301 moveq r3, #1 70013df4: 2300 movne r3, #0 70013df6: f884 3061 strb.w r3, [r4, #97] @ 0x61 70013dfa: 4628 mov r0, r5 70013dfc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 70013e00 <_ZN8touchgfx12TextProvider15fillInputBufferEv>: 70013e00: b538 push {r3, r4, r5, lr} 70013e02: 4604 mov r4, r0 70013e04: e003 b.n 70013e0e <_ZN8touchgfx12TextProvider15fillInputBufferEv+0xe> 70013e06: 3b0a subs r3, #10 70013e08: eb04 0343 add.w r3, r4, r3, lsl #1 70013e0c: 845d strh r5, [r3, #34] @ 0x22 70013e0e: f8b4 2040 ldrh.w r2, [r4, #64] @ 0x40 70013e12: 8f23 ldrh r3, [r4, #56] @ 0x38 70013e14: b342 cbz r2, 70013e68 <_ZN8touchgfx12TextProvider15fillInputBufferEv+0x68> 70013e16: 2b0a cmp r3, #10 70013e18: d026 beq.n 70013e68 <_ZN8touchgfx12TextProvider15fillInputBufferEv+0x68> 70013e1a: 8fe0 ldrh r0, [r4, #62] @ 0x3e 70013e1c: 3a01 subs r2, #1 70013e1e: eb04 0140 add.w r1, r4, r0, lsl #1 70013e22: b292 uxth r2, r2 70013e24: 8f4d ldrh r5, [r1, #58] @ 0x3a 70013e26: 1c41 adds r1, r0, #1 70013e28: f8a4 2040 strh.w r2, [r4, #64] @ 0x40 70013e2c: 1c5a adds r2, r3, #1 70013e2e: b289 uxth r1, r1 70013e30: 8722 strh r2, [r4, #56] @ 0x38 70013e32: 8ee2 ldrh r2, [r4, #54] @ 0x36 70013e34: 2901 cmp r1, #1 70013e36: 4413 add r3, r2 70013e38: bf88 it hi 70013e3a: f100 30ff addhi.w r0, r0, #4294967295 @ 0xffffffff 70013e3e: b29b uxth r3, r3 70013e40: bf88 it hi 70013e42: b281 uxthhi r1, r0 70013e44: 2b09 cmp r3, #9 70013e46: 87e1 strh r1, [r4, #62] @ 0x3e 70013e48: d9de bls.n 70013e08 <_ZN8touchgfx12TextProvider15fillInputBufferEv+0x8> 70013e4a: e7dc b.n 70013e06 <_ZN8touchgfx12TextProvider15fillInputBufferEv+0x6> 70013e4c: 4620 mov r0, r4 70013e4e: f7ff fc7e bl 7001374e <_ZN8touchgfx12TextProvider19getNextCharInternalEv> 70013e52: 1c6b adds r3, r5, #1 70013e54: 8723 strh r3, [r4, #56] @ 0x38 70013e56: 8ee3 ldrh r3, [r4, #54] @ 0x36 70013e58: 441d add r5, r3 70013e5a: b2ad uxth r5, r5 70013e5c: 2d09 cmp r5, #9 70013e5e: bf88 it hi 70013e60: 3d0a subhi r5, #10 70013e62: eb04 0545 add.w r5, r4, r5, lsl #1 70013e66: 8468 strh r0, [r5, #34] @ 0x22 70013e68: 8f25 ldrh r5, [r4, #56] @ 0x38 70013e6a: 2d0a cmp r5, #10 70013e6c: d1ee bne.n 70013e4c <_ZN8touchgfx12TextProvider15fillInputBufferEv+0x4c> 70013e6e: bd38 pop {r3, r4, r5, pc} 70013e70 <_ZN8touchgfx12TextProvider11getNextCharEv>: 70013e70: b538 push {r3, r4, r5, lr} 70013e72: 8ec1 ldrh r1, [r0, #54] @ 0x36 70013e74: 4604 mov r4, r0 70013e76: 8f02 ldrh r2, [r0, #56] @ 0x38 70013e78: eb00 0341 add.w r3, r0, r1, lsl #1 70013e7c: 3a01 subs r2, #1 70013e7e: 8c5d ldrh r5, [r3, #34] @ 0x22 70013e80: 1c4b adds r3, r1, #1 70013e82: b292 uxth r2, r2 70013e84: b29b uxth r3, r3 70013e86: 8702 strh r2, [r0, #56] @ 0x38 70013e88: 2b09 cmp r3, #9 70013e8a: bf84 itt hi 70013e8c: 3909 subhi r1, #9 70013e8e: b28b uxthhi r3, r1 70013e90: 86c3 strh r3, [r0, #54] @ 0x36 70013e92: f7ff ffb5 bl 70013e00 <_ZN8touchgfx12TextProvider15fillInputBufferEv> 70013e96: 8c23 ldrh r3, [r4, #32] 70013e98: 2b01 cmp r3, #1 70013e9a: bf9c itt ls 70013e9c: 3301 addls r3, #1 70013e9e: 8423 strhls r3, [r4, #32] 70013ea0: 8be3 ldrh r3, [r4, #30] 70013ea2: b90b cbnz r3, 70013ea8 <_ZN8touchgfx12TextProvider11getNextCharEv+0x38> 70013ea4: 2302 movs r3, #2 70013ea6: 83e3 strh r3, [r4, #30] 70013ea8: 8be3 ldrh r3, [r4, #30] 70013eaa: 4628 mov r0, r5 70013eac: 3b01 subs r3, #1 70013eae: b29b uxth r3, r3 70013eb0: 83e3 strh r3, [r4, #30] 70013eb2: eb04 0443 add.w r4, r4, r3, lsl #1 70013eb6: 8365 strh r5, [r4, #26] 70013eb8: bd38 pop {r3, r4, r5, pc} 70013eba <_ZN8touchgfx12TextProvider22replaceInputCharactersEttPKt>: 70013eba: 428a cmp r2, r1 70013ebc: b5f0 push {r4, r5, r6, r7, lr} 70013ebe: 460d mov r5, r1 70013ec0: d808 bhi.n 70013ed4 <_ZN8touchgfx12TextProvider22replaceInputCharactersEttPKt+0x1a> 70013ec2: 8f01 ldrh r1, [r0, #56] @ 0x38 70013ec4: 1b49 subs r1, r1, r5 70013ec6: 8701 strh r1, [r0, #56] @ 0x38 70013ec8: 8ec1 ldrh r1, [r0, #54] @ 0x36 70013eca: 4429 add r1, r5 70013ecc: b289 uxth r1, r1 70013ece: 2909 cmp r1, #9 70013ed0: d82b bhi.n 70013f2a <_ZN8touchgfx12TextProvider22replaceInputCharactersEttPKt+0x70> 70013ed2: e02c b.n 70013f2e <_ZN8touchgfx12TextProvider22replaceInputCharactersEttPKt+0x74> 70013ed4: 1a51 subs r1, r2, r1 70013ed6: 8ec7 ldrh r7, [r0, #54] @ 0x36 70013ed8: 2600 movs r6, #0 70013eda: f04f 0c02 mov.w ip, #2 70013ede: b289 uxth r1, r1 70013ee0: e01d b.n 70013f1e <_ZN8touchgfx12TextProvider22replaceInputCharactersEttPKt+0x64> 70013ee2: 3c01 subs r4, #1 70013ee4: b2a4 uxth r4, r4 70013ee6: 8704 strh r4, [r0, #56] @ 0x38 70013ee8: 443c add r4, r7 70013eea: b2a4 uxth r4, r4 70013eec: 2c09 cmp r4, #9 70013eee: bf88 it hi 70013ef0: 3c0a subhi r4, #10 70013ef2: eb00 0444 add.w r4, r0, r4, lsl #1 70013ef6: f8b4 e022 ldrh.w lr, [r4, #34] @ 0x22 70013efa: f8b0 4040 ldrh.w r4, [r0, #64] @ 0x40 70013efe: 3401 adds r4, #1 70013f00: f8a0 4040 strh.w r4, [r0, #64] @ 0x40 70013f04: 8fc4 ldrh r4, [r0, #62] @ 0x3e 70013f06: b90c cbnz r4, 70013f0c <_ZN8touchgfx12TextProvider22replaceInputCharactersEttPKt+0x52> 70013f08: f8a0 c03e strh.w ip, [r0, #62] @ 0x3e 70013f0c: 8fc4 ldrh r4, [r0, #62] @ 0x3e 70013f0e: 3601 adds r6, #1 70013f10: 3c01 subs r4, #1 70013f12: b2a4 uxth r4, r4 70013f14: 87c4 strh r4, [r0, #62] @ 0x3e 70013f16: eb00 0444 add.w r4, r0, r4, lsl #1 70013f1a: f8a4 e03a strh.w lr, [r4, #58] @ 0x3a 70013f1e: fa1f fe86 uxth.w lr, r6 70013f22: 8f04 ldrh r4, [r0, #56] @ 0x38 70013f24: 458e cmp lr, r1 70013f26: d3dc bcc.n 70013ee2 <_ZN8touchgfx12TextProvider22replaceInputCharactersEttPKt+0x28> 70013f28: e7cb b.n 70013ec2 <_ZN8touchgfx12TextProvider22replaceInputCharactersEttPKt+0x8> 70013f2a: 390a subs r1, #10 70013f2c: b289 uxth r1, r1 70013f2e: 240a movs r4, #10 70013f30: 86c1 strh r1, [r0, #54] @ 0x36 70013f32: e010 b.n 70013f56 <_ZN8touchgfx12TextProvider22replaceInputCharactersEttPKt+0x9c> 70013f34: 8f01 ldrh r1, [r0, #56] @ 0x38 70013f36: 3a01 subs r2, #1 70013f38: 3101 adds r1, #1 70013f3a: b292 uxth r2, r2 70013f3c: f833 5012 ldrh.w r5, [r3, r2, lsl #1] 70013f40: 8701 strh r1, [r0, #56] @ 0x38 70013f42: 8ec1 ldrh r1, [r0, #54] @ 0x36 70013f44: b901 cbnz r1, 70013f48 <_ZN8touchgfx12TextProvider22replaceInputCharactersEttPKt+0x8e> 70013f46: 86c4 strh r4, [r0, #54] @ 0x36 70013f48: 8ec1 ldrh r1, [r0, #54] @ 0x36 70013f4a: 3901 subs r1, #1 70013f4c: b289 uxth r1, r1 70013f4e: 86c1 strh r1, [r0, #54] @ 0x36 70013f50: eb00 0141 add.w r1, r0, r1, lsl #1 70013f54: 844d strh r5, [r1, #34] @ 0x22 70013f56: 2a00 cmp r2, #0 70013f58: d1ec bne.n 70013f34 <_ZN8touchgfx12TextProvider22replaceInputCharactersEttPKt+0x7a> 70013f5a: e8bd 40f0 ldmia.w sp!, {r4, r5, r6, r7, lr} 70013f5e: f7ff bf4f b.w 70013e00 <_ZN8touchgfx12TextProvider15fillInputBufferEv> 70013f62 <_ZN8touchgfx12TextProvider13gsubRuleMatchEPKtttt>: 70013f62: b570 push {r4, r5, r6, lr} 70013f64: 2500 movs r5, #0 70013f66: e010 b.n 70013f8a <_ZN8touchgfx12TextProvider13gsubRuleMatchEPKtttt+0x28> 70013f68: 8bc4 ldrh r4, [r0, #30] 70013f6a: f831 6b02 ldrh.w r6, [r1], #2 70013f6e: 3c01 subs r4, #1 70013f70: 4414 add r4, r2 70013f72: 1b64 subs r4, r4, r5 70013f74: b2a4 uxth r4, r4 70013f76: 2c01 cmp r4, #1 70013f78: bf88 it hi 70013f7a: 3c02 subhi r4, #2 70013f7c: eb00 0444 add.w r4, r0, r4, lsl #1 70013f80: 8b64 ldrh r4, [r4, #26] 70013f82: 42b4 cmp r4, r6 70013f84: d11b bne.n 70013fbe <_ZN8touchgfx12TextProvider13gsubRuleMatchEPKtttt+0x5c> 70013f86: 3501 adds r5, #1 70013f88: b2ad uxth r5, r5 70013f8a: 4295 cmp r5, r2 70013f8c: d1ec bne.n 70013f68 <_ZN8touchgfx12TextProvider13gsubRuleMatchEPKtttt+0x6> 70013f8e: f8bd 2010 ldrh.w r2, [sp, #16] 70013f92: 2400 movs r4, #0 70013f94: 4413 add r3, r2 70013f96: e00d b.n 70013fb4 <_ZN8touchgfx12TextProvider13gsubRuleMatchEPKtttt+0x52> 70013f98: 8ec6 ldrh r6, [r0, #54] @ 0x36 70013f9a: f831 5014 ldrh.w r5, [r1, r4, lsl #1] 70013f9e: 3401 adds r4, #1 70013fa0: 4432 add r2, r6 70013fa2: b292 uxth r2, r2 70013fa4: 2a09 cmp r2, #9 70013fa6: bf88 it hi 70013fa8: 3a0a subhi r2, #10 70013faa: eb00 0242 add.w r2, r0, r2, lsl #1 70013fae: 8c52 ldrh r2, [r2, #34] @ 0x22 70013fb0: 42aa cmp r2, r5 70013fb2: d104 bne.n 70013fbe <_ZN8touchgfx12TextProvider13gsubRuleMatchEPKtttt+0x5c> 70013fb4: b2a2 uxth r2, r4 70013fb6: 429a cmp r2, r3 70013fb8: dbee blt.n 70013f98 <_ZN8touchgfx12TextProvider13gsubRuleMatchEPKtttt+0x36> 70013fba: 2001 movs r0, #1 70013fbc: e000 b.n 70013fc0 <_ZN8touchgfx12TextProvider13gsubRuleMatchEPKtttt+0x5e> 70013fbe: 2000 movs r0, #0 70013fc0: bd70 pop {r4, r5, r6, pc} 70013fc2 <_ZN8touchgfx12TextProvider14applyGsubRulesEPKtt>: 70013fc2: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} 70013fc6: 4606 mov r6, r0 70013fc8: 4617 mov r7, r2 70013fca: 460c mov r4, r1 70013fcc: f834 3b02 ldrh.w r3, [r4], #2 70013fd0: 0b1d lsrs r5, r3, #12 70013fd2: f834 2015 ldrh.w r2, [r4, r5, lsl #1] 70013fd6: 42ba cmp r2, r7 70013fd8: d121 bne.n 7001401e <_ZN8touchgfx12TextProvider14applyGsubRulesEPKtt+0x5c> 70013fda: f3c3 1903 ubfx r9, r3, #4, #4 70013fde: f3c3 2a03 ubfx sl, r3, #8, #4 70013fe2: f003 0b0f and.w fp, r3, #15 70013fe6: 462a mov r2, r5 70013fe8: 4653 mov r3, sl 70013fea: 4621 mov r1, r4 70013fec: 4630 mov r0, r6 70013fee: f8cd 9000 str.w r9, [sp] 70013ff2: f7ff ffb6 bl 70013f62 <_ZN8touchgfx12TextProvider13gsubRuleMatchEPKtttt> 70013ff6: 4680 mov r8, r0 70013ff8: b150 cbz r0, 70014010 <_ZN8touchgfx12TextProvider14applyGsubRulesEPKtt+0x4e> 70013ffa: eb05 030a add.w r3, r5, sl 70013ffe: 465a mov r2, fp 70014000: 4651 mov r1, sl 70014002: 4630 mov r0, r6 70014004: 444b add r3, r9 70014006: eb04 0343 add.w r3, r4, r3, lsl #1 7001400a: f7ff ff56 bl 70013eba <_ZN8touchgfx12TextProvider22replaceInputCharactersEttPKt> 7001400e: e008 b.n 70014022 <_ZN8touchgfx12TextProvider14applyGsubRulesEPKtt+0x60> 70014010: eb0b 0305 add.w r3, fp, r5 70014014: 4453 add r3, sl 70014016: 444b add r3, r9 70014018: eb04 0143 add.w r1, r4, r3, lsl #1 7001401c: e7d5 b.n 70013fca <_ZN8touchgfx12TextProvider14applyGsubRulesEPKtt+0x8> 7001401e: f04f 0800 mov.w r8, #0 70014022: 4640 mov r0, r8 70014024: b003 add sp, #12 70014026: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001402a <_ZNK8touchgfx12TextProvider21gsubTableBinarySearchEtPKtt>: 7001402a: b570 push {r4, r5, r6, lr} 7001402c: 8810 ldrh r0, [r2, #0] 7001402e: 4298 cmp r0, r3 70014030: d818 bhi.n 70014064 <_ZNK8touchgfx12TextProvider21gsubTableBinarySearchEtPKtt+0x3a> 70014032: 1e48 subs r0, r1, #1 70014034: f832 0020 ldrh.w r0, [r2, r0, lsl #2] 70014038: 4298 cmp r0, r3 7001403a: d313 bcc.n 70014064 <_ZNK8touchgfx12TextProvider21gsubTableBinarySearchEtPKtt+0x3a> 7001403c: 2400 movs r4, #0 7001403e: e00f b.n 70014060 <_ZNK8touchgfx12TextProvider21gsubTableBinarySearchEtPKtt+0x36> 70014040: 1860 adds r0, r4, r1 70014042: 1040 asrs r0, r0, #1 70014044: f832 6020 ldrh.w r6, [r2, r0, lsl #2] 70014048: 0085 lsls r5, r0, #2 7001404a: 42b3 cmp r3, r6 7001404c: d902 bls.n 70014054 <_ZNK8touchgfx12TextProvider21gsubTableBinarySearchEtPKtt+0x2a> 7001404e: 3001 adds r0, #1 70014050: b284 uxth r4, r0 70014052: e005 b.n 70014060 <_ZNK8touchgfx12TextProvider21gsubTableBinarySearchEtPKtt+0x36> 70014054: d201 bcs.n 7001405a <_ZNK8touchgfx12TextProvider21gsubTableBinarySearchEtPKtt+0x30> 70014056: b281 uxth r1, r0 70014058: e002 b.n 70014060 <_ZNK8touchgfx12TextProvider21gsubTableBinarySearchEtPKtt+0x36> 7001405a: 442a add r2, r5 7001405c: 8850 ldrh r0, [r2, #2] 7001405e: e002 b.n 70014066 <_ZNK8touchgfx12TextProvider21gsubTableBinarySearchEtPKtt+0x3c> 70014060: 428c cmp r4, r1 70014062: d3ed bcc.n 70014040 <_ZNK8touchgfx12TextProvider21gsubTableBinarySearchEtPKtt+0x16> 70014064: 2000 movs r0, #0 70014066: bd70 pop {r4, r5, r6, pc} 70014068 <_ZN8touchgfx12TextProvider16substituteGlyphsEv>: 70014068: b5f8 push {r3, r4, r5, r6, r7, lr} 7001406a: 6c46 ldr r6, [r0, #68] @ 0x44 7001406c: 4604 mov r4, r0 7001406e: 250b movs r5, #11 70014070: 8877 ldrh r7, [r6, #2] 70014072: 087f lsrs r7, r7, #1 70014074: e010 b.n 70014098 <_ZN8touchgfx12TextProvider16substituteGlyphsEv+0x30> 70014076: 8ee3 ldrh r3, [r4, #54] @ 0x36 70014078: 4632 mov r2, r6 7001407a: 4639 mov r1, r7 7001407c: 4620 mov r0, r4 7001407e: eb04 0343 add.w r3, r4, r3, lsl #1 70014082: 8c5b ldrh r3, [r3, #34] @ 0x22 70014084: f7ff ffd1 bl 7001402a <_ZNK8touchgfx12TextProvider21gsubTableBinarySearchEtPKtt> 70014088: b140 cbz r0, 7001409c <_ZN8touchgfx12TextProvider16substituteGlyphsEv+0x34> 7001408a: eb06 0140 add.w r1, r6, r0, lsl #1 7001408e: 461a mov r2, r3 70014090: 4620 mov r0, r4 70014092: f7ff ff96 bl 70013fc2 <_ZN8touchgfx12TextProvider14applyGsubRulesEPKtt> 70014096: b108 cbz r0, 7001409c <_ZN8touchgfx12TextProvider16substituteGlyphsEv+0x34> 70014098: 3d01 subs r5, #1 7001409a: d1ec bne.n 70014076 <_ZN8touchgfx12TextProvider16substituteGlyphsEv+0xe> 7001409c: bdf8 pop {r3, r4, r5, r6, r7, pc} ... 700140a0 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE>: 700140a0: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} 700140a2: 6a8f ldr r7, [r1, #40] @ 0x28 700140a4: 694d ldr r5, [r1, #20] 700140a6: 6aca ldr r2, [r1, #44] @ 0x2c 700140a8: 684e ldr r6, [r1, #4] 700140aa: 1bed subs r5, r5, r7 700140ac: eba6 0602 sub.w r6, r6, r2 700140b0: d006 beq.n 700140c0 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x20> 700140b2: 4633 mov r3, r6 700140b4: b12e cbz r6, 700140c2 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x22> 700140b6: 436b muls r3, r5 700140b8: bf48 it mi 700140ba: 330f addmi r3, #15 700140bc: 111b asrs r3, r3, #4 700140be: e000 b.n 700140c2 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x22> 700140c0: 462b mov r3, r5 700140c2: 680c ldr r4, [r1, #0] 700140c4: 9401 str r4, [sp, #4] 700140c6: 698c ldr r4, [r1, #24] 700140c8: 1aa2 subs r2, r4, r2 700140ca: 9c01 ldr r4, [sp, #4] 700140cc: 1be4 subs r4, r4, r7 700140ce: d006 beq.n 700140de <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x3e> 700140d0: 4617 mov r7, r2 700140d2: b12a cbz r2, 700140e0 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x40> 700140d4: 4367 muls r7, r4 700140d6: bf48 it mi 700140d8: 370f addmi r7, #15 700140da: 113f asrs r7, r7, #4 700140dc: e000 b.n 700140e0 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x40> 700140de: 4627 mov r7, r4 700140e0: 1bdb subs r3, r3, r7 700140e2: ed9f 6a65 vldr s12, [pc, #404] @ 70014278 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x1d8> 700140e6: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 700140ea: f100 070c add.w r7, r0, #12 700140ee: ee07 3a90 vmov s15, r3 700140f2: 4603 mov r3, r0 700140f4: eef8 7ae7 vcvt.f32.s32 s15, s15 700140f8: ee67 7a86 vmul.f32 s15, s15, s12 700140fc: ee86 1aa7 vdiv.f32 s2, s13, s15 70014100: eef1 1a41 vneg.f32 s3, s2 70014104: edd1 7a02 vldr s15, [r1, #8] 70014108: 3114 adds r1, #20 7001410a: ee86 7aa7 vdiv.f32 s14, s13, s15 7001410e: ed51 7a02 vldr s15, [r1, #-8] 70014112: ee67 7a87 vmul.f32 s15, s15, s14 70014116: eca3 7a01 vstmia r3!, {s14} 7001411a: 42bb cmp r3, r7 7001411c: edc3 7a02 vstr s15, [r3, #8] 70014120: ed51 7a01 vldr s15, [r1, #-4] 70014124: ee67 7a87 vmul.f32 s15, s15, s14 70014128: edc3 7a05 vstr s15, [r3, #20] 7001412c: d1ea bne.n 70014104 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x64> 7001412e: ee07 6a90 vmov s15, r6 70014132: ed90 7a02 vldr s14, [r0, #8] 70014136: ed90 3a00 vldr s6, [r0] 7001413a: eef8 3ae7 vcvt.f32.s32 s7, s15 7001413e: ee07 2a90 vmov s15, r2 70014142: ed90 5a01 vldr s10, [r0, #4] 70014146: eef8 6ae7 vcvt.f32.s32 s13, s15 7001414a: ee07 4a90 vmov s15, r4 7001414e: ee35 5a47 vsub.f32 s10, s10, s14 70014152: ed90 2a08 vldr s4, [r0, #32] 70014156: eef8 7ae7 vcvt.f32.s32 s15, s15 7001415a: edd0 0a07 vldr s1, [r0, #28] 7001415e: ee66 6a86 vmul.f32 s13, s13, s12 70014162: ee33 7a47 vsub.f32 s14, s6, s14 70014166: ee27 4a86 vmul.f32 s8, s15, s12 7001416a: ee07 5a90 vmov s15, r5 7001416e: ee63 3a86 vmul.f32 s7, s7, s12 70014172: eef8 7ae7 vcvt.f32.s32 s15, s15 70014176: ee66 5ac7 vnmul.f32 s11, s13, s14 7001417a: ee70 0ac2 vsub.f32 s1, s1, s4 7001417e: ee67 7a86 vmul.f32 s15, s15, s12 70014182: ed90 6a04 vldr s12, [r0, #16] 70014186: eee5 5a23 vfma.f32 s11, s10, s7 7001418a: ee27 7ac7 vnmul.f32 s14, s15, s14 7001418e: eea5 7a04 vfma.f32 s14, s10, s8 70014192: ed90 5a03 vldr s10, [r0, #12] 70014196: ee65 5a81 vmul.f32 s11, s11, s2 7001419a: edc0 5a09 vstr s11, [r0, #36] @ 0x24 7001419e: ee67 4a21 vmul.f32 s9, s14, s3 700141a2: ed90 7a05 vldr s14, [r0, #20] 700141a6: ee36 6a47 vsub.f32 s12, s12, s14 700141aa: ee35 7a47 vsub.f32 s14, s10, s14 700141ae: edc0 4a0a vstr s9, [r0, #40] @ 0x28 700141b2: ee66 2ac7 vnmul.f32 s5, s13, s14 700141b6: ee27 7ac7 vnmul.f32 s14, s15, s14 700141ba: eee6 2a23 vfma.f32 s5, s12, s7 700141be: eea6 7a04 vfma.f32 s14, s12, s8 700141c2: ed90 6a06 vldr s12, [r0, #24] 700141c6: ee36 2a42 vsub.f32 s4, s12, s4 700141ca: ee67 7ac2 vnmul.f32 s15, s15, s4 700141ce: ee62 2a81 vmul.f32 s5, s5, s2 700141d2: ee66 6ac2 vnmul.f32 s13, s13, s4 700141d6: eee0 7a84 vfma.f32 s15, s1, s8 700141da: ee25 4a65 vnmul.f32 s8, s10, s11 700141de: edc0 2a0b vstr s5, [r0, #44] @ 0x2c 700141e2: eee0 6aa3 vfma.f32 s13, s1, s7 700141e6: ee27 7a21 vmul.f32 s14, s14, s3 700141ea: eea3 4a22 vfma.f32 s8, s6, s5 700141ee: ee67 7aa1 vmul.f32 s15, s15, s3 700141f2: ed80 7a0c vstr s14, [r0, #48] @ 0x30 700141f6: ee66 6a81 vmul.f32 s13, s13, s2 700141fa: eeb5 4ac0 vcmpe.f32 s8, #0.0 700141fe: eef1 fa10 vmrs APSR_nzcv, fpscr 70014202: dc0e bgt.n 70014222 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x182> 70014204: d410 bmi.n 70014228 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x188> 70014206: ee25 5a64 vnmul.f32 s10, s10, s9 7001420a: f647 73ff movw r3, #32767 @ 0x7fff 7001420e: eea3 5a07 vfma.f32 s10, s6, s14 70014212: eeb5 5ac0 vcmpe.f32 s10, #0.0 70014216: eef1 fa10 vmrs APSR_nzcv, fpscr 7001421a: bfa8 it ge 7001421c: f44f 4300 movge.w r3, #32768 @ 0x8000 70014220: e004 b.n 7001422c <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x18c> 70014222: f44f 4300 mov.w r3, #32768 @ 0x8000 70014226: e001 b.n 7001422c <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x18c> 70014228: f647 73ff movw r3, #32767 @ 0x7fff 7001422c: ee66 5a65 vnmul.f32 s11, s12, s11 70014230: edc0 6a0d vstr s13, [r0, #52] @ 0x34 70014234: edc0 7a0e vstr s15, [r0, #56] @ 0x38 70014238: 63c3 str r3, [r0, #60] @ 0x3c 7001423a: eee3 5a26 vfma.f32 s11, s6, s13 7001423e: eef5 5ac0 vcmpe.f32 s11, #0.0 70014242: eef1 fa10 vmrs APSR_nzcv, fpscr 70014246: dc0e bgt.n 70014266 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x1c6> 70014248: d410 bmi.n 7001426c <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x1cc> 7001424a: ee26 6a64 vnmul.f32 s12, s12, s9 7001424e: f647 73ff movw r3, #32767 @ 0x7fff 70014252: eea3 6a27 vfma.f32 s12, s6, s15 70014256: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001425a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001425e: bfa8 it ge 70014260: f44f 4300 movge.w r3, #32768 @ 0x8000 70014264: e004 b.n 70014270 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x1d0> 70014266: f44f 4300 mov.w r3, #32768 @ 0x8000 7001426a: e001 b.n 70014270 <_ZN8touchgfx9GradientsC1EPKNS_7Point3DE+0x1d0> 7001426c: f647 73ff movw r3, #32767 @ 0x7fff 70014270: 6403 str r3, [r0, #64] @ 0x40 70014272: b003 add sp, #12 70014274: bdf0 pop {r4, r5, r6, r7, pc} 70014276: bf00 nop 70014278: 3d800000 .word 0x3d800000 7001427c <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii>: 7001427c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70014280: 2714 movs r7, #20 70014282: 469c mov ip, r3 70014284: 435f muls r7, r3 70014286: 19d3 adds r3, r2, r7 70014288: 685d ldr r5, [r3, #4] 7001428a: f115 060f adds.w r6, r5, #15 7001428e: d401 bmi.n 70014294 <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii+0x18> 70014290: 1136 asrs r6, r6, #4 70014292: e009 b.n 700142a8 <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii+0x2c> 70014294: f1c5 0601 rsb r6, r5, #1 70014298: f105 031e add.w r3, r5, #30 7001429c: f016 060f ands.w r6, r6, #15 700142a0: bf18 it ne 700142a2: 2601 movne r6, #1 700142a4: ebc6 1623 rsb r6, r6, r3, asr #4 700142a8: 2314 movs r3, #20 700142aa: 9c06 ldr r4, [sp, #24] 700142ac: 6146 str r6, [r0, #20] 700142ae: 435c muls r4, r3 700142b0: 1913 adds r3, r2, r4 700142b2: f8d3 e004 ldr.w lr, [r3, #4] 700142b6: f11e 030f adds.w r3, lr, #15 700142ba: d401 bmi.n 700142c0 <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii+0x44> 700142bc: 111b asrs r3, r3, #4 700142be: e009 b.n 700142d4 <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii+0x58> 700142c0: f1ce 0301 rsb r3, lr, #1 700142c4: f10e 081e add.w r8, lr, #30 700142c8: f013 030f ands.w r3, r3, #15 700142cc: bf18 it ne 700142ce: 2301 movne r3, #1 700142d0: ebc3 1328 rsb r3, r3, r8, asr #4 700142d4: 1b9b subs r3, r3, r6 700142d6: 6183 str r3, [r0, #24] 700142d8: 2b00 cmp r3, #0 700142da: f000 808e beq.w 700143fa <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii+0x17e> 700142de: 59d7 ldr r7, [r2, r7] 700142e0: ebae 0e05 sub.w lr, lr, r5 700142e4: 5914 ldr r4, [r2, r4] 700142e6: ea4f 130e mov.w r3, lr, lsl #4 700142ea: 1be4 subs r4, r4, r7 700142ec: fb06 f804 mul.w r8, r6, r4 700142f0: fb04 f205 mul.w r2, r4, r5 700142f4: ebc2 1208 rsb r2, r2, r8, lsl #4 700142f8: fb0e 2207 mla r2, lr, r7, r2 700142fc: 3a01 subs r2, #1 700142fe: eb02 120e add.w r2, r2, lr, lsl #4 70014302: fb92 fef3 sdiv lr, r2, r3 70014306: 2a00 cmp r2, #0 70014308: f8c0 e000 str.w lr, [r0] 7001430c: db02 blt.n 70014314 <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii+0x98> 7001430e: fb03 221e mls r2, r3, lr, r2 70014312: e00b b.n 7001432c <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii+0xb0> 70014314: 4252 negs r2, r2 70014316: fb92 f8f3 sdiv r8, r2, r3 7001431a: fb03 2218 mls r2, r3, r8, r2 7001431e: 6102 str r2, [r0, #16] 70014320: b12a cbz r2, 7001432e <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii+0xb2> 70014322: f10e 3eff add.w lr, lr, #4294967295 @ 0xffffffff 70014326: 1a9a subs r2, r3, r2 70014328: f8c0 e000 str.w lr, [r0] 7001432c: 6102 str r2, [r0, #16] 7001432e: 0124 lsls r4, r4, #4 70014330: fb94 f2f3 sdiv r2, r4, r3 70014334: 2c00 cmp r4, #0 70014336: 6042 str r2, [r0, #4] 70014338: db02 blt.n 70014340 <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii+0xc4> 7001433a: fb03 4412 mls r4, r3, r2, r4 7001433e: e009 b.n 70014354 <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii+0xd8> 70014340: 4264 negs r4, r4 70014342: fb94 fef3 sdiv lr, r4, r3 70014346: fb03 441e mls r4, r3, lr, r4 7001434a: 6084 str r4, [r0, #8] 7001434c: b11c cbz r4, 70014356 <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii+0xda> 7001434e: 3a01 subs r2, #1 70014350: 1b1c subs r4, r3, r4 70014352: 6042 str r2, [r0, #4] 70014354: 6084 str r4, [r0, #8] 70014356: 60c3 str r3, [r0, #12] 70014358: ebc5 1306 rsb r3, r5, r6, lsl #4 7001435c: eddf 6a28 vldr s13, [pc, #160] @ 70014400 <_ZN8touchgfx4EdgeC1ERKNS_9GradientsEPKNS_7Point3DEii+0x184> 70014360: eb01 0c8c add.w ip, r1, ip, lsl #2 70014364: ee07 3a90 vmov s15, r3 70014368: 6803 ldr r3, [r0, #0] 7001436a: ed91 6a0a vldr s12, [r1, #40] @ 0x28 7001436e: ebc7 1303 rsb r3, r7, r3, lsl #4 70014372: eef8 7ae7 vcvt.f32.s32 s15, s15 70014376: edd1 5a09 vldr s11, [r1, #36] @ 0x24 7001437a: ee07 3a10 vmov s14, r3 7001437e: ed91 5a0b vldr s10, [r1, #44] @ 0x2c 70014382: ee67 7aa6 vmul.f32 s15, s15, s13 70014386: edc0 5a09 vstr s11, [r0, #36] @ 0x24 7001438a: eeb8 7ac7 vcvt.f32.s32 s14, s14 7001438e: ed80 5a0c vstr s10, [r0, #48] @ 0x30 70014392: ee27 7a26 vmul.f32 s14, s14, s13 70014396: eddc 6a00 vldr s13, [ip] 7001439a: eee6 6a27 vfma.f32 s13, s12, s15 7001439e: eee5 6a87 vfma.f32 s13, s11, s14 700143a2: edc0 6a07 vstr s13, [r0, #28] 700143a6: edd0 6a01 vldr s13, [r0, #4] 700143aa: eef8 6ae6 vcvt.f32.s32 s13, s13 700143ae: eea5 6aa6 vfma.f32 s12, s11, s13 700143b2: edd1 5a0c vldr s11, [r1, #48] @ 0x30 700143b6: ed80 6a08 vstr s12, [r0, #32] 700143ba: ed9c 6a03 vldr s12, [ip, #12] 700143be: eea5 6aa7 vfma.f32 s12, s11, s15 700143c2: eee6 5a85 vfma.f32 s11, s13, s10 700143c6: eea5 6a07 vfma.f32 s12, s10, s14 700143ca: ed91 5a0d vldr s10, [r1, #52] @ 0x34 700143ce: edc0 5a0b vstr s11, [r0, #44] @ 0x2c 700143d2: edd1 5a0e vldr s11, [r1, #56] @ 0x38 700143d6: ed80 5a0f vstr s10, [r0, #60] @ 0x3c 700143da: ed80 6a0a vstr s12, [r0, #40] @ 0x28 700143de: ed9c 6a06 vldr s12, [ip, #24] 700143e2: eea5 6aa7 vfma.f32 s12, s11, s15 700143e6: eee6 5a85 vfma.f32 s11, s13, s10 700143ea: eef0 7a46 vmov.f32 s15, s12 700143ee: edc0 5a0e vstr s11, [r0, #56] @ 0x38 700143f2: eee5 7a07 vfma.f32 s15, s10, s14 700143f6: edc0 7a0d vstr s15, [r0, #52] @ 0x34 700143fa: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 700143fe: bf00 nop 70014400: 3d800000 .word 0x3d800000 70014404 <_ZN8touchgfx11FontManager15setFontProviderEPNS_12FontProviderE>: 70014404: 4b01 ldr r3, [pc, #4] @ (7001440c <_ZN8touchgfx11FontManager15setFontProviderEPNS_12FontProviderE+0x8>) 70014406: 6018 str r0, [r3, #0] 70014408: 4770 bx lr 7001440a: bf00 nop 7001440c: 2400dadc .word 0x2400dadc 70014410 <_ZN8touchgfx6Bitmap15isDynamicBitmapEt>: 70014410: 4b06 ldr r3, [pc, #24] @ (7001442c <_ZN8touchgfx6Bitmap15isDynamicBitmapEt+0x1c>) 70014412: 881a ldrh r2, [r3, #0] 70014414: 4282 cmp r2, r0 70014416: d807 bhi.n 70014428 <_ZN8touchgfx6Bitmap15isDynamicBitmapEt+0x18> 70014418: 4b05 ldr r3, [pc, #20] @ (70014430 <_ZN8touchgfx6Bitmap15isDynamicBitmapEt+0x20>) 7001441a: 881b ldrh r3, [r3, #0] 7001441c: 4413 add r3, r2 7001441e: 4298 cmp r0, r3 70014420: bfac ite ge 70014422: 2000 movge r0, #0 70014424: 2001 movlt r0, #1 70014426: 4770 bx lr 70014428: 2000 movs r0, #0 7001442a: 4770 bx lr 7001442c: 2400dae4 .word 0x2400dae4 70014430: 2400dae2 .word 0x2400dae2 70014434 <_ZN8touchgfx6Bitmap23dynamicBitmapGetAddressEt>: 70014434: b508 push {r3, lr} 70014436: 4601 mov r1, r0 70014438: f7ff ffea bl 70014410 <_ZN8touchgfx6Bitmap15isDynamicBitmapEt> 7001443c: b118 cbz r0, 70014446 <_ZN8touchgfx6Bitmap23dynamicBitmapGetAddressEt+0x12> 7001443e: 4b02 ldr r3, [pc, #8] @ (70014448 <_ZN8touchgfx6Bitmap23dynamicBitmapGetAddressEt+0x14>) 70014440: 681b ldr r3, [r3, #0] 70014442: f853 0021 ldr.w r0, [r3, r1, lsl #2] 70014446: bd08 pop {r3, pc} 70014448: 2400daf8 .word 0x2400daf8 7001444c <_ZN8touchgfx6Bitmap10clearCacheEv>: 7001444c: b5f0 push {r4, r5, r6, r7, lr} 7001444e: 4d25 ldr r5, [pc, #148] @ (700144e4 <_ZN8touchgfx6Bitmap10clearCacheEv+0x98>) 70014450: 682f ldr r7, [r5, #0] 70014452: 2f00 cmp r7, #0 70014454: d045 beq.n 700144e2 <_ZN8touchgfx6Bitmap10clearCacheEv+0x96> 70014456: 4a24 ldr r2, [pc, #144] @ (700144e8 <_ZN8touchgfx6Bitmap10clearCacheEv+0x9c>) 70014458: 4c24 ldr r4, [pc, #144] @ (700144ec <_ZN8touchgfx6Bitmap10clearCacheEv+0xa0>) 7001445a: 8811 ldrh r1, [r2, #0] 7001445c: 8823 ldrh r3, [r4, #0] 7001445e: 4e24 ldr r6, [pc, #144] @ (700144f0 <_ZN8touchgfx6Bitmap10clearCacheEv+0xa4>) 70014460: 4419 add r1, r3 70014462: 1c4a adds r2, r1, #1 70014464: eb07 0081 add.w r0, r7, r1, lsl #2 70014468: f022 0201 bic.w r2, r2, #1 7001446c: 6030 str r0, [r6, #0] 7001446e: 4821 ldr r0, [pc, #132] @ (700144f4 <_ZN8touchgfx6Bitmap10clearCacheEv+0xa8>) 70014470: 0412 lsls r2, r2, #16 70014472: 0c12 lsrs r2, r2, #16 70014474: 0052 lsls r2, r2, #1 70014476: eb02 0281 add.w r2, r2, r1, lsl #2 7001447a: eb07 0c02 add.w ip, r7, r2 7001447e: f8c0 c000 str.w ip, [r0] 70014482: f04f 0c0e mov.w ip, #14 70014486: fb0c f303 mul.w r3, ip, r3 7001448a: f64f 7cff movw ip, #65535 @ 0xffff 7001448e: 3303 adds r3, #3 70014490: f023 0303 bic.w r3, r3, #3 70014494: 4413 add r3, r2 70014496: 4a18 ldr r2, [pc, #96] @ (700144f8 <_ZN8touchgfx6Bitmap10clearCacheEv+0xac>) 70014498: 441f add r7, r3 7001449a: 6017 str r7, [r2, #0] 7001449c: 2200 movs r2, #0 7001449e: 4f17 ldr r7, [pc, #92] @ (700144fc <_ZN8touchgfx6Bitmap10clearCacheEv+0xb0>) 700144a0: 803a strh r2, [r7, #0] 700144a2: 4f17 ldr r7, [pc, #92] @ (70014500 <_ZN8touchgfx6Bitmap10clearCacheEv+0xb4>) 700144a4: 683f ldr r7, [r7, #0] 700144a6: 1afb subs r3, r7, r3 700144a8: 4f16 ldr r7, [pc, #88] @ (70014504 <_ZN8touchgfx6Bitmap10clearCacheEv+0xb8>) 700144aa: 603b str r3, [r7, #0] 700144ac: 4b16 ldr r3, [pc, #88] @ (70014508 <_ZN8touchgfx6Bitmap10clearCacheEv+0xbc>) 700144ae: 801a strh r2, [r3, #0] 700144b0: 4613 mov r3, r2 700144b2: e006 b.n 700144c2 <_ZN8touchgfx6Bitmap10clearCacheEv+0x76> 700144b4: 682f ldr r7, [r5, #0] 700144b6: f847 2023 str.w r2, [r7, r3, lsl #2] 700144ba: 6837 ldr r7, [r6, #0] 700144bc: f827 c013 strh.w ip, [r7, r3, lsl #1] 700144c0: 3301 adds r3, #1 700144c2: 428b cmp r3, r1 700144c4: d1f6 bne.n 700144b4 <_ZN8touchgfx6Bitmap10clearCacheEv+0x68> 700144c6: 8824 ldrh r4, [r4, #0] 700144c8: 2300 movs r3, #0 700144ca: 6800 ldr r0, [r0, #0] 700144cc: 250e movs r5, #14 700144ce: e006 b.n 700144de <_ZN8touchgfx6Bitmap10clearCacheEv+0x92> 700144d0: fb05 0103 mla r1, r5, r3, r0 700144d4: 3301 adds r3, #1 700144d6: 7b0a ldrb r2, [r1, #12] 700144d8: f022 0220 bic.w r2, r2, #32 700144dc: 730a strb r2, [r1, #12] 700144de: 429c cmp r4, r3 700144e0: d8f6 bhi.n 700144d0 <_ZN8touchgfx6Bitmap10clearCacheEv+0x84> 700144e2: bdf0 pop {r4, r5, r6, r7, pc} 700144e4: 2400daf8 .word 0x2400daf8 700144e8: 2400dae4 .word 0x2400dae4 700144ec: 2400dae2 .word 0x2400dae2 700144f0: 2400daf4 .word 0x2400daf4 700144f4: 2400dafc .word 0x2400dafc 700144f8: 2400daf0 .word 0x2400daf0 700144fc: 2400dae6 .word 0x2400dae6 70014500: 2400dae8 .word 0x2400dae8 70014504: 2400daec .word 0x2400daec 70014508: 2400dae0 .word 0x2400dae0 7001450c <_ZN8touchgfx6Bitmap8setCacheEPtmm>: 7001450c: 4b06 ldr r3, [pc, #24] @ (70014528 <_ZN8touchgfx6Bitmap8setCacheEPtmm+0x1c>) 7001450e: 681b ldr r3, [r3, #0] 70014510: b943 cbnz r3, 70014524 <_ZN8touchgfx6Bitmap8setCacheEPtmm+0x18> 70014512: b139 cbz r1, 70014524 <_ZN8touchgfx6Bitmap8setCacheEPtmm+0x18> 70014514: 4b05 ldr r3, [pc, #20] @ (7001452c <_ZN8touchgfx6Bitmap8setCacheEPtmm+0x20>) 70014516: 801a strh r2, [r3, #0] 70014518: 4b05 ldr r3, [pc, #20] @ (70014530 <_ZN8touchgfx6Bitmap8setCacheEPtmm+0x24>) 7001451a: 6019 str r1, [r3, #0] 7001451c: 4b05 ldr r3, [pc, #20] @ (70014534 <_ZN8touchgfx6Bitmap8setCacheEPtmm+0x28>) 7001451e: 6018 str r0, [r3, #0] 70014520: f7ff bf94 b.w 7001444c <_ZN8touchgfx6Bitmap10clearCacheEv> 70014524: 4770 bx lr 70014526: bf00 nop 70014528: 2400daf0 .word 0x2400daf0 7001452c: 2400dae2 .word 0x2400dae2 70014530: 2400dae8 .word 0x2400dae8 70014534: 2400daf8 .word 0x2400daf8 70014538 <_ZN8touchgfx6Bitmap22registerBitmapDatabaseEPKNS0_10BitmapDataEtPtmm>: 70014538: b470 push {r4, r5, r6} 7001453a: 460c mov r4, r1 7001453c: 4619 mov r1, r3 7001453e: 4b07 ldr r3, [pc, #28] @ (7001455c <_ZN8touchgfx6Bitmap22registerBitmapDatabaseEPKNS0_10BitmapDataEtPtmm+0x24>) 70014540: 4605 mov r5, r0 70014542: 4610 mov r0, r2 70014544: 9a03 ldr r2, [sp, #12] 70014546: 681e ldr r6, [r3, #0] 70014548: b92e cbnz r6, 70014556 <_ZN8touchgfx6Bitmap22registerBitmapDatabaseEPKNS0_10BitmapDataEtPtmm+0x1e> 7001454a: 601d str r5, [r3, #0] 7001454c: 4b04 ldr r3, [pc, #16] @ (70014560 <_ZN8touchgfx6Bitmap22registerBitmapDatabaseEPKNS0_10BitmapDataEtPtmm+0x28>) 7001454e: 801c strh r4, [r3, #0] 70014550: bc70 pop {r4, r5, r6} 70014552: f7ff bfdb b.w 7001450c <_ZN8touchgfx6Bitmap8setCacheEPtmm> 70014556: bc70 pop {r4, r5, r6} 70014558: 4770 bx lr 7001455a: bf00 nop 7001455c: 2400db00 .word 0x2400db00 70014560: 2400dae4 .word 0x2400dae4 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv>: 70014564: 4a12 ldr r2, [pc, #72] @ (700145b0 <_ZNK8touchgfx6Bitmap8getWidthEv+0x4c>) 70014566: 8803 ldrh r3, [r0, #0] 70014568: 8812 ldrh r2, [r2, #0] 7001456a: 4293 cmp r3, r2 7001456c: d203 bcs.n 70014576 <_ZNK8touchgfx6Bitmap8getWidthEv+0x12> 7001456e: 4a11 ldr r2, [pc, #68] @ (700145b4 <_ZNK8touchgfx6Bitmap8getWidthEv+0x50>) 70014570: 2114 movs r1, #20 70014572: 6812 ldr r2, [r2, #0] 70014574: e008 b.n 70014588 <_ZNK8touchgfx6Bitmap8getWidthEv+0x24> 70014576: 4910 ldr r1, [pc, #64] @ (700145b8 <_ZNK8touchgfx6Bitmap8getWidthEv+0x54>) 70014578: 8809 ldrh r1, [r1, #0] 7001457a: 4411 add r1, r2 7001457c: 428b cmp r3, r1 7001457e: da08 bge.n 70014592 <_ZNK8touchgfx6Bitmap8getWidthEv+0x2e> 70014580: 1a9b subs r3, r3, r2 70014582: 4a0e ldr r2, [pc, #56] @ (700145bc <_ZNK8touchgfx6Bitmap8getWidthEv+0x58>) 70014584: 210e movs r1, #14 70014586: 6812 ldr r2, [r2, #0] 70014588: fb01 2303 mla r3, r1, r3, r2 7001458c: f9b3 0008 ldrsh.w r0, [r3, #8] 70014590: 4770 bx lr 70014592: f64f 72fe movw r2, #65534 @ 0xfffe 70014596: 4293 cmp r3, r2 70014598: d108 bne.n 700145ac <_ZNK8touchgfx6Bitmap8getWidthEv+0x48> 7001459a: 4b09 ldr r3, [pc, #36] @ (700145c0 <_ZNK8touchgfx6Bitmap8getWidthEv+0x5c>) 7001459c: 781b ldrb r3, [r3, #0] 7001459e: b90b cbnz r3, 700145a4 <_ZNK8touchgfx6Bitmap8getWidthEv+0x40> 700145a0: 4b08 ldr r3, [pc, #32] @ (700145c4 <_ZNK8touchgfx6Bitmap8getWidthEv+0x60>) 700145a2: e000 b.n 700145a6 <_ZNK8touchgfx6Bitmap8getWidthEv+0x42> 700145a4: 4b08 ldr r3, [pc, #32] @ (700145c8 <_ZNK8touchgfx6Bitmap8getWidthEv+0x64>) 700145a6: f9b3 0000 ldrsh.w r0, [r3] 700145aa: 4770 bx lr 700145ac: 2000 movs r0, #0 700145ae: 4770 bx lr 700145b0: 2400dae4 .word 0x2400dae4 700145b4: 2400db00 .word 0x2400db00 700145b8: 2400dae2 .word 0x2400dae2 700145bc: 2400dafc .word 0x2400dafc 700145c0: 2400da72 .word 0x2400da72 700145c4: 2400da78 .word 0x2400da78 700145c8: 2400da76 .word 0x2400da76 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv>: 700145cc: 4a12 ldr r2, [pc, #72] @ (70014618 <_ZNK8touchgfx6Bitmap9getHeightEv+0x4c>) 700145ce: 8803 ldrh r3, [r0, #0] 700145d0: 8812 ldrh r2, [r2, #0] 700145d2: 4293 cmp r3, r2 700145d4: d203 bcs.n 700145de <_ZNK8touchgfx6Bitmap9getHeightEv+0x12> 700145d6: 4a11 ldr r2, [pc, #68] @ (7001461c <_ZNK8touchgfx6Bitmap9getHeightEv+0x50>) 700145d8: 2114 movs r1, #20 700145da: 6812 ldr r2, [r2, #0] 700145dc: e008 b.n 700145f0 <_ZNK8touchgfx6Bitmap9getHeightEv+0x24> 700145de: 4910 ldr r1, [pc, #64] @ (70014620 <_ZNK8touchgfx6Bitmap9getHeightEv+0x54>) 700145e0: 8809 ldrh r1, [r1, #0] 700145e2: 4411 add r1, r2 700145e4: 428b cmp r3, r1 700145e6: da08 bge.n 700145fa <_ZNK8touchgfx6Bitmap9getHeightEv+0x2e> 700145e8: 1a9b subs r3, r3, r2 700145ea: 4a0e ldr r2, [pc, #56] @ (70014624 <_ZNK8touchgfx6Bitmap9getHeightEv+0x58>) 700145ec: 210e movs r1, #14 700145ee: 6812 ldr r2, [r2, #0] 700145f0: fb01 2303 mla r3, r1, r3, r2 700145f4: f9b3 000a ldrsh.w r0, [r3, #10] 700145f8: 4770 bx lr 700145fa: f64f 72fe movw r2, #65534 @ 0xfffe 700145fe: 4293 cmp r3, r2 70014600: d108 bne.n 70014614 <_ZNK8touchgfx6Bitmap9getHeightEv+0x48> 70014602: 4b09 ldr r3, [pc, #36] @ (70014628 <_ZNK8touchgfx6Bitmap9getHeightEv+0x5c>) 70014604: 781b ldrb r3, [r3, #0] 70014606: b90b cbnz r3, 7001460c <_ZNK8touchgfx6Bitmap9getHeightEv+0x40> 70014608: 4b08 ldr r3, [pc, #32] @ (7001462c <_ZNK8touchgfx6Bitmap9getHeightEv+0x60>) 7001460a: e000 b.n 7001460e <_ZNK8touchgfx6Bitmap9getHeightEv+0x42> 7001460c: 4b08 ldr r3, [pc, #32] @ (70014630 <_ZNK8touchgfx6Bitmap9getHeightEv+0x64>) 7001460e: f9b3 0000 ldrsh.w r0, [r3] 70014612: 4770 bx lr 70014614: 2000 movs r0, #0 70014616: 4770 bx lr 70014618: 2400dae4 .word 0x2400dae4 7001461c: 2400db00 .word 0x2400db00 70014620: 2400dae2 .word 0x2400dae2 70014624: 2400dafc .word 0x2400dafc 70014628: 2400da72 .word 0x2400da72 7001462c: 2400da76 .word 0x2400da76 70014630: 2400da78 .word 0x2400da78 70014634 <_ZNK8touchgfx6Bitmap12getSolidRectEv>: 70014634: 4a22 ldr r2, [pc, #136] @ (700146c0 <_ZNK8touchgfx6Bitmap12getSolidRectEv+0x8c>) 70014636: b530 push {r4, r5, lr} 70014638: 880b ldrh r3, [r1, #0] 7001463a: 8812 ldrh r2, [r2, #0] 7001463c: 4293 cmp r3, r2 7001463e: d212 bcs.n 70014666 <_ZNK8touchgfx6Bitmap12getSolidRectEv+0x32> 70014640: 4a20 ldr r2, [pc, #128] @ (700146c4 <_ZNK8touchgfx6Bitmap12getSolidRectEv+0x90>) 70014642: 2114 movs r1, #20 70014644: 6812 ldr r2, [r2, #0] 70014646: fb01 2303 mla r3, r1, r3, r2 7001464a: 8a1a ldrh r2, [r3, #16] 7001464c: f9b3 400c ldrsh.w r4, [r3, #12] 70014650: f9b3 100e ldrsh.w r1, [r3, #14] 70014654: f3c2 020c ubfx r2, r2, #0, #13 70014658: 8a5b ldrh r3, [r3, #18] 7001465a: 8004 strh r4, [r0, #0] 7001465c: f3c3 030c ubfx r3, r3, #0, #13 70014660: 8041 strh r1, [r0, #2] 70014662: 8082 strh r2, [r0, #4] 70014664: e029 b.n 700146ba <_ZNK8touchgfx6Bitmap12getSolidRectEv+0x86> 70014666: 4918 ldr r1, [pc, #96] @ (700146c8 <_ZNK8touchgfx6Bitmap12getSolidRectEv+0x94>) 70014668: 8809 ldrh r1, [r1, #0] 7001466a: 4411 add r1, r2 7001466c: 428b cmp r3, r1 7001466e: da10 bge.n 70014692 <_ZNK8touchgfx6Bitmap12getSolidRectEv+0x5e> 70014670: 1a9b subs r3, r3, r2 70014672: 220e movs r2, #14 70014674: 4353 muls r3, r2 70014676: 4a15 ldr r2, [pc, #84] @ (700146cc <_ZNK8touchgfx6Bitmap12getSolidRectEv+0x98>) 70014678: 6811 ldr r1, [r2, #0] 7001467a: 18ca adds r2, r1, r3 7001467c: 5ecd ldrsh r5, [r1, r3] 7001467e: f9b2 4002 ldrsh.w r4, [r2, #2] 70014682: f9b2 1004 ldrsh.w r1, [r2, #4] 70014686: f9b2 3006 ldrsh.w r3, [r2, #6] 7001468a: 8005 strh r5, [r0, #0] 7001468c: 8044 strh r4, [r0, #2] 7001468e: 8081 strh r1, [r0, #4] 70014690: e013 b.n 700146ba <_ZNK8touchgfx6Bitmap12getSolidRectEv+0x86> 70014692: f64f 72fe movw r2, #65534 @ 0xfffe 70014696: 4293 cmp r3, r2 70014698: d10b bne.n 700146b2 <_ZNK8touchgfx6Bitmap12getSolidRectEv+0x7e> 7001469a: 4b0d ldr r3, [pc, #52] @ (700146d0 <_ZNK8touchgfx6Bitmap12getSolidRectEv+0x9c>) 7001469c: f9b3 1000 ldrsh.w r1, [r3] 700146a0: 4b0c ldr r3, [pc, #48] @ (700146d4 <_ZNK8touchgfx6Bitmap12getSolidRectEv+0xa0>) 700146a2: 8081 strh r1, [r0, #4] 700146a4: f9b3 2000 ldrsh.w r2, [r3] 700146a8: 2300 movs r3, #0 700146aa: 80c2 strh r2, [r0, #6] 700146ac: 8003 strh r3, [r0, #0] 700146ae: 8043 strh r3, [r0, #2] 700146b0: e004 b.n 700146bc <_ZNK8touchgfx6Bitmap12getSolidRectEv+0x88> 700146b2: 2300 movs r3, #0 700146b4: 8003 strh r3, [r0, #0] 700146b6: 8043 strh r3, [r0, #2] 700146b8: 8083 strh r3, [r0, #4] 700146ba: 80c3 strh r3, [r0, #6] 700146bc: bd30 pop {r4, r5, pc} 700146be: bf00 nop 700146c0: 2400dae4 .word 0x2400dae4 700146c4: 2400db00 .word 0x2400db00 700146c8: 2400dae2 .word 0x2400dae2 700146cc: 2400dafc .word 0x2400dafc 700146d0: 2400da7c .word 0x2400da7c 700146d4: 2400da7a .word 0x2400da7a 700146d8 <_ZNK8touchgfx6Bitmap20hasTransparentPixelsEv>: 700146d8: 4a17 ldr r2, [pc, #92] @ (70014738 <_ZNK8touchgfx6Bitmap20hasTransparentPixelsEv+0x60>) 700146da: 8803 ldrh r3, [r0, #0] 700146dc: 8812 ldrh r2, [r2, #0] 700146de: 4293 cmp r3, r2 700146e0: d20e bcs.n 70014700 <_ZNK8touchgfx6Bitmap20hasTransparentPixelsEv+0x28> 700146e2: 4a16 ldr r2, [pc, #88] @ (7001473c <_ZNK8touchgfx6Bitmap20hasTransparentPixelsEv+0x64>) 700146e4: 2114 movs r1, #20 700146e6: 6812 ldr r2, [r2, #0] 700146e8: fb01 2303 mla r3, r1, r3, r2 700146ec: 8a1a ldrh r2, [r3, #16] 700146ee: 8919 ldrh r1, [r3, #8] 700146f0: f3c2 020c ubfx r2, r2, #0, #13 700146f4: 428a cmp r2, r1 700146f6: db1d blt.n 70014734 <_ZNK8touchgfx6Bitmap20hasTransparentPixelsEv+0x5c> 700146f8: 8a58 ldrh r0, [r3, #18] 700146fa: f3c0 000c ubfx r0, r0, #0, #13 700146fe: e011 b.n 70014724 <_ZNK8touchgfx6Bitmap20hasTransparentPixelsEv+0x4c> 70014700: 490f ldr r1, [pc, #60] @ (70014740 <_ZNK8touchgfx6Bitmap20hasTransparentPixelsEv+0x68>) 70014702: 8809 ldrh r1, [r1, #0] 70014704: 4411 add r1, r2 70014706: 428b cmp r3, r1 70014708: da12 bge.n 70014730 <_ZNK8touchgfx6Bitmap20hasTransparentPixelsEv+0x58> 7001470a: 1a9a subs r2, r3, r2 7001470c: 4b0d ldr r3, [pc, #52] @ (70014744 <_ZNK8touchgfx6Bitmap20hasTransparentPixelsEv+0x6c>) 7001470e: 210e movs r1, #14 70014710: 681b ldr r3, [r3, #0] 70014712: fb01 3302 mla r3, r1, r2, r3 70014716: f9b3 1004 ldrsh.w r1, [r3, #4] 7001471a: 891a ldrh r2, [r3, #8] 7001471c: 4291 cmp r1, r2 7001471e: db09 blt.n 70014734 <_ZNK8touchgfx6Bitmap20hasTransparentPixelsEv+0x5c> 70014720: f9b3 0006 ldrsh.w r0, [r3, #6] 70014724: 895b ldrh r3, [r3, #10] 70014726: 4298 cmp r0, r3 70014728: bfac ite ge 7001472a: 2000 movge r0, #0 7001472c: 2001 movlt r0, #1 7001472e: 4770 bx lr 70014730: 2000 movs r0, #0 70014732: 4770 bx lr 70014734: 2001 movs r0, #1 70014736: 4770 bx lr 70014738: 2400dae4 .word 0x2400dae4 7001473c: 2400db00 .word 0x2400db00 70014740: 2400dae2 .word 0x2400dae2 70014744: 2400dafc .word 0x2400dafc 70014748 <_ZNK8touchgfx6Bitmap7getDataEv>: 70014748: 4a12 ldr r2, [pc, #72] @ (70014794 <_ZNK8touchgfx6Bitmap7getDataEv+0x4c>) 7001474a: 8803 ldrh r3, [r0, #0] 7001474c: 8811 ldrh r1, [r2, #0] 7001474e: 428b cmp r3, r1 70014750: d20b bcs.n 7001476a <_ZNK8touchgfx6Bitmap7getDataEv+0x22> 70014752: 4a11 ldr r2, [pc, #68] @ (70014798 <_ZNK8touchgfx6Bitmap7getDataEv+0x50>) 70014754: 6812 ldr r2, [r2, #0] 70014756: b112 cbz r2, 7001475e <_ZNK8touchgfx6Bitmap7getDataEv+0x16> 70014758: f852 0023 ldr.w r0, [r2, r3, lsl #2] 7001475c: b9c0 cbnz r0, 70014790 <_ZNK8touchgfx6Bitmap7getDataEv+0x48> 7001475e: 4a0f ldr r2, [pc, #60] @ (7001479c <_ZNK8touchgfx6Bitmap7getDataEv+0x54>) 70014760: 6811 ldr r1, [r2, #0] 70014762: 2214 movs r2, #20 70014764: 4353 muls r3, r2 70014766: 58c8 ldr r0, [r1, r3] 70014768: 4770 bx lr 7001476a: 4a0d ldr r2, [pc, #52] @ (700147a0 <_ZNK8touchgfx6Bitmap7getDataEv+0x58>) 7001476c: 8812 ldrh r2, [r2, #0] 7001476e: 440a add r2, r1 70014770: 4293 cmp r3, r2 70014772: da04 bge.n 7001477e <_ZNK8touchgfx6Bitmap7getDataEv+0x36> 70014774: 4a08 ldr r2, [pc, #32] @ (70014798 <_ZNK8touchgfx6Bitmap7getDataEv+0x50>) 70014776: 6812 ldr r2, [r2, #0] 70014778: f852 0023 ldr.w r0, [r2, r3, lsl #2] 7001477c: 4770 bx lr 7001477e: f64f 72fe movw r2, #65534 @ 0xfffe 70014782: 4293 cmp r3, r2 70014784: d103 bne.n 7001478e <_ZNK8touchgfx6Bitmap7getDataEv+0x46> 70014786: 4b07 ldr r3, [pc, #28] @ (700147a4 <_ZNK8touchgfx6Bitmap7getDataEv+0x5c>) 70014788: 681b ldr r3, [r3, #0] 7001478a: 6c98 ldr r0, [r3, #72] @ 0x48 7001478c: 4770 bx lr 7001478e: 2000 movs r0, #0 70014790: 4770 bx lr 70014792: bf00 nop 70014794: 2400dae4 .word 0x2400dae4 70014798: 2400daf8 .word 0x2400daf8 7001479c: 2400db00 .word 0x2400db00 700147a0: 2400dae2 .word 0x2400dae2 700147a4: 2400da80 .word 0x2400da80 700147a8 <_ZNK8touchgfx6Bitmap12getExtraDataEv>: 700147a8: 4b25 ldr r3, [pc, #148] @ (70014840 <_ZNK8touchgfx6Bitmap12getExtraDataEv+0x98>) 700147aa: 8802 ldrh r2, [r0, #0] 700147ac: 881b ldrh r3, [r3, #0] 700147ae: 429a cmp r2, r3 700147b0: d223 bcs.n 700147fa <_ZNK8touchgfx6Bitmap12getExtraDataEv+0x52> 700147b2: 4b24 ldr r3, [pc, #144] @ (70014844 <_ZNK8touchgfx6Bitmap12getExtraDataEv+0x9c>) 700147b4: 2114 movs r1, #20 700147b6: 681b ldr r3, [r3, #0] 700147b8: fb01 3302 mla r3, r1, r2, r3 700147bc: 6858 ldr r0, [r3, #4] 700147be: 2800 cmp r0, #0 700147c0: d03c beq.n 7001483c <_ZNK8touchgfx6Bitmap12getExtraDataEv+0x94> 700147c2: 4921 ldr r1, [pc, #132] @ (70014848 <_ZNK8touchgfx6Bitmap12getExtraDataEv+0xa0>) 700147c4: 6809 ldr r1, [r1, #0] 700147c6: 2900 cmp r1, #0 700147c8: d038 beq.n 7001483c <_ZNK8touchgfx6Bitmap12getExtraDataEv+0x94> 700147ca: f851 1022 ldr.w r1, [r1, r2, lsl #2] 700147ce: 2900 cmp r1, #0 700147d0: d034 beq.n 7001483c <_ZNK8touchgfx6Bitmap12getExtraDataEv+0x94> 700147d2: 895a ldrh r2, [r3, #10] 700147d4: 8918 ldrh r0, [r3, #8] 700147d6: 4350 muls r0, r2 700147d8: 7c5a ldrb r2, [r3, #17] 700147da: 7cdb ldrb r3, [r3, #19] 700147dc: f3c2 1242 ubfx r2, r2, #5, #3 700147e0: f3c3 1342 ubfx r3, r3, #5, #3 700147e4: ea43 03c2 orr.w r3, r3, r2, lsl #3 700147e8: b25b sxtb r3, r3 700147ea: 2b0b cmp r3, #11 700147ec: bf18 it ne 700147ee: 0040 lslne r0, r0, #1 700147f0: 3003 adds r0, #3 700147f2: f020 0003 bic.w r0, r0, #3 700147f6: 4408 add r0, r1 700147f8: 4770 bx lr 700147fa: 4914 ldr r1, [pc, #80] @ (7001484c <_ZNK8touchgfx6Bitmap12getExtraDataEv+0xa4>) 700147fc: 8809 ldrh r1, [r1, #0] 700147fe: 4419 add r1, r3 70014800: 428a cmp r2, r1 70014802: da1a bge.n 7001483a <_ZNK8touchgfx6Bitmap12getExtraDataEv+0x92> 70014804: 4912 ldr r1, [pc, #72] @ (70014850 <_ZNK8touchgfx6Bitmap12getExtraDataEv+0xa8>) 70014806: 1ad3 subs r3, r2, r3 70014808: 6808 ldr r0, [r1, #0] 7001480a: 210e movs r1, #14 7001480c: fb01 0003 mla r0, r1, r3, r0 70014810: 7b03 ldrb r3, [r0, #12] 70014812: f003 031f and.w r3, r3, #31 70014816: 2b0b cmp r3, #11 70014818: d10b bne.n 70014832 <_ZNK8touchgfx6Bitmap12getExtraDataEv+0x8a> 7001481a: 8941 ldrh r1, [r0, #10] 7001481c: 8903 ldrh r3, [r0, #8] 7001481e: 434b muls r3, r1 70014820: 4909 ldr r1, [pc, #36] @ (70014848 <_ZNK8touchgfx6Bitmap12getExtraDataEv+0xa0>) 70014822: 3303 adds r3, #3 70014824: 6809 ldr r1, [r1, #0] 70014826: f023 0303 bic.w r3, r3, #3 7001482a: f851 0022 ldr.w r0, [r1, r2, lsl #2] 7001482e: 4418 add r0, r3 70014830: 4770 bx lr 70014832: 2b0d cmp r3, #13 70014834: d101 bne.n 7001483a <_ZNK8touchgfx6Bitmap12getExtraDataEv+0x92> 70014836: 300d adds r0, #13 70014838: 4770 bx lr 7001483a: 2000 movs r0, #0 7001483c: 4770 bx lr 7001483e: bf00 nop 70014840: 2400dae4 .word 0x2400dae4 70014844: 2400db00 .word 0x2400db00 70014848: 2400daf8 .word 0x2400daf8 7001484c: 2400dae2 .word 0x2400dae2 70014850: 2400dafc .word 0x2400dafc 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv>: 70014854: 4a20 ldr r2, [pc, #128] @ (700148d8 <_ZNK8touchgfx6Bitmap9getFormatEv+0x84>) 70014856: b510 push {r4, lr} 70014858: 8803 ldrh r3, [r0, #0] 7001485a: 8812 ldrh r2, [r2, #0] 7001485c: 4293 cmp r3, r2 7001485e: d21b bcs.n 70014898 <_ZNK8touchgfx6Bitmap9getFormatEv+0x44> 70014860: 4a1e ldr r2, [pc, #120] @ (700148dc <_ZNK8touchgfx6Bitmap9getFormatEv+0x88>) 70014862: 2114 movs r1, #20 70014864: 6812 ldr r2, [r2, #0] 70014866: fb01 2203 mla r2, r1, r3, r2 7001486a: 7c51 ldrb r1, [r2, #17] 7001486c: 7cd0 ldrb r0, [r2, #19] 7001486e: f3c1 1142 ubfx r1, r1, #5, #3 70014872: 4a1b ldr r2, [pc, #108] @ (700148e0 <_ZNK8touchgfx6Bitmap9getFormatEv+0x8c>) 70014874: f3c0 1042 ubfx r0, r0, #5, #3 70014878: 6812 ldr r2, [r2, #0] 7001487a: ea40 00c1 orr.w r0, r0, r1, lsl #3 7001487e: b240 sxtb r0, r0 70014880: b142 cbz r2, 70014894 <_ZNK8touchgfx6Bitmap9getFormatEv+0x40> 70014882: f852 3023 ldr.w r3, [r2, r3, lsl #2] 70014886: b12b cbz r3, 70014894 <_ZNK8touchgfx6Bitmap9getFormatEv+0x40> 70014888: 280e cmp r0, #14 7001488a: d023 beq.n 700148d4 <_ZNK8touchgfx6Bitmap9getFormatEv+0x80> 7001488c: 280f cmp r0, #15 7001488e: d01d beq.n 700148cc <_ZNK8touchgfx6Bitmap9getFormatEv+0x78> 70014890: 2810 cmp r0, #16 70014892: d01d beq.n 700148d0 <_ZNK8touchgfx6Bitmap9getFormatEv+0x7c> 70014894: b2c0 uxtb r0, r0 70014896: e01e b.n 700148d6 <_ZNK8touchgfx6Bitmap9getFormatEv+0x82> 70014898: 4912 ldr r1, [pc, #72] @ (700148e4 <_ZNK8touchgfx6Bitmap9getFormatEv+0x90>) 7001489a: 8809 ldrh r1, [r1, #0] 7001489c: 4411 add r1, r2 7001489e: 428b cmp r3, r1 700148a0: da09 bge.n 700148b6 <_ZNK8touchgfx6Bitmap9getFormatEv+0x62> 700148a2: 1a9a subs r2, r3, r2 700148a4: 4b10 ldr r3, [pc, #64] @ (700148e8 <_ZNK8touchgfx6Bitmap9getFormatEv+0x94>) 700148a6: 210e movs r1, #14 700148a8: 681b ldr r3, [r3, #0] 700148aa: fb01 3302 mla r3, r1, r2, r3 700148ae: 7b18 ldrb r0, [r3, #12] 700148b0: f000 001f and.w r0, r0, #31 700148b4: e00f b.n 700148d6 <_ZNK8touchgfx6Bitmap9getFormatEv+0x82> 700148b6: f64f 72fe movw r2, #65534 @ 0xfffe 700148ba: 4293 cmp r3, r2 700148bc: d10a bne.n 700148d4 <_ZNK8touchgfx6Bitmap9getFormatEv+0x80> 700148be: f7fa f9af bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 700148c2: 6803 ldr r3, [r0, #0] 700148c4: e8bd 4010 ldmia.w sp!, {r4, lr} 700148c8: 6b1b ldr r3, [r3, #48] @ 0x30 700148ca: 4718 bx r3 700148cc: 2001 movs r0, #1 700148ce: e002 b.n 700148d6 <_ZNK8touchgfx6Bitmap9getFormatEv+0x82> 700148d0: 2002 movs r0, #2 700148d2: e000 b.n 700148d6 <_ZNK8touchgfx6Bitmap9getFormatEv+0x82> 700148d4: 2000 movs r0, #0 700148d6: bd10 pop {r4, pc} 700148d8: 2400dae4 .word 0x2400dae4 700148dc: 2400db00 .word 0x2400db00 700148e0: 2400daf8 .word 0x2400daf8 700148e4: 2400dae2 .word 0x2400dae2 700148e8: 2400dafc .word 0x2400dafc 700148ec : 700148ec: 4602 mov r2, r0 700148ee: 4608 mov r0, r1 700148f0: 4939 ldr r1, [pc, #228] @ (700149d8 ) 700148f2: b530 push {r4, r5, lr} 700148f4: 680b ldr r3, [r1, #0] 700148f6: f24c 2540 movw r5, #49728 @ 0xc240 700148fa: f023 0301 bic.w r3, r3, #1 700148fe: 600b str r3, [r1, #0] 70014900: f04f 21e0 mov.w r1, #3758153728 @ 0xe000e000 70014904: f64f 73f0 movw r3, #65520 @ 0xfff0 70014908: f8d1 4d00 ldr.w r4, [r1, #3328] @ 0xd00 7001490c: 401c ands r4, r3 7001490e: 42ac cmp r4, r5 70014910: d006 beq.n 70014920 70014912: f8d1 4d00 ldr.w r4, [r1, #3328] @ 0xd00 70014916: f24c 2570 movw r5, #49776 @ 0xc270 7001491a: 401c ands r4, r3 7001491c: 42ac cmp r4, r5 7001491e: d119 bne.n 70014954 70014920: 4b2e ldr r3, [pc, #184] @ (700149dc ) 70014922: 681b ldr r3, [r3, #0] 70014924: 2b00 cmp r3, #0 70014926: d149 bne.n 700149bc 70014928: 4b2d ldr r3, [pc, #180] @ (700149e0 ) 7001492a: 6819 ldr r1, [r3, #0] 7001492c: f3c1 010b ubfx r1, r1, #0, #12 70014930: f5b1 6f8a cmp.w r1, #1104 @ 0x450 70014934: d02d beq.n 70014992 70014936: 6819 ldr r1, [r3, #0] 70014938: f240 4483 movw r4, #1155 @ 0x483 7001493c: f3c1 010b ubfx r1, r1, #0, #12 70014940: 42a1 cmp r1, r4 70014942: d026 beq.n 70014992 70014944: 681b ldr r3, [r3, #0] 70014946: f240 4185 movw r1, #1157 @ 0x485 7001494a: f3c3 030b ubfx r3, r3, #0, #12 7001494e: 428b cmp r3, r1 70014950: d134 bne.n 700149bc 70014952: e01e b.n 70014992 70014954: f8d1 4d00 ldr.w r4, [r1, #3328] @ 0xd00 70014958: f24d 2520 movw r5, #53792 @ 0xd220 7001495c: 401c ands r4, r3 7001495e: 42ac cmp r4, r5 70014960: d006 beq.n 70014970 70014962: f8d1 1d00 ldr.w r1, [r1, #3328] @ 0xd00 70014966: 400b ands r3, r1 70014968: f24d 2130 movw r1, #53808 @ 0xd230 7001496c: 428b cmp r3, r1 7001496e: d125 bne.n 700149bc 70014970: 4b1c ldr r3, [pc, #112] @ (700149e4 ) 70014972: 491d ldr r1, [pc, #116] @ (700149e8 ) 70014974: f8d3 4ff8 ldr.w r4, [r3, #4088] @ 0xff8 70014978: 428c cmp r4, r1 7001497a: d12b bne.n 700149d4 7001497c: f101 4123 add.w r1, r1, #2734686208 @ 0xa3000000 70014980: f8d3 4ffc ldr.w r4, [r3, #4092] @ 0xffc 70014984: f501 012e add.w r1, r1, #11403264 @ 0xae0000 70014988: f501 415d add.w r1, r1, #56576 @ 0xdd00 7001498c: 428c cmp r4, r1 7001498e: d009 beq.n 700149a4 70014990: e020 b.n 700149d4 70014992: 4b16 ldr r3, [pc, #88] @ (700149ec ) 70014994: 2101 movs r1, #1 70014996: f8c3 1c08 str.w r1, [r3, #3080] @ 0xc08 7001499a: f8d3 1c08 ldr.w r1, [r3, #3080] @ 0xc08 7001499e: 2900 cmp r1, #0 700149a0: d1fb bne.n 7001499a 700149a2: e006 b.n 700149b2 700149a4: 2101 movs r1, #1 700149a6: f8c3 1c08 str.w r1, [r3, #3080] @ 0xc08 700149aa: f8d3 1c08 ldr.w r1, [r3, #3080] @ 0xc08 700149ae: 2900 cmp r1, #0 700149b0: d1fb bne.n 700149aa 700149b2: f8c3 2c00 str.w r2, [r3, #3072] @ 0xc00 700149b6: f8d3 3c00 ldr.w r3, [r3, #3072] @ 0xc00 700149ba: e007 b.n 700149cc 700149bc: 4b0c ldr r3, [pc, #48] @ (700149f0 ) 700149be: 2101 movs r1, #1 700149c0: 6099 str r1, [r3, #8] 700149c2: 6899 ldr r1, [r3, #8] 700149c4: 2900 cmp r1, #0 700149c6: d1fc bne.n 700149c2 700149c8: 601a str r2, [r3, #0] 700149ca: 681b ldr r3, [r3, #0] 700149cc: 1a1b subs r3, r3, r0 700149ce: 4258 negs r0, r3 700149d0: 4158 adcs r0, r3 700149d2: e000 b.n 700149d6 700149d4: 2000 movs r0, #0 700149d6: bd30 pop {r4, r5, pc} 700149d8: e0002000 .word 0xe0002000 700149dc: e0042000 .word 0xe0042000 700149e0: 5c001000 .word 0x5c001000 700149e4: 46024000 .word 0x46024000 700149e8: 00170001 .word 0x00170001 700149ec: 58024000 .word 0x58024000 700149f0: 40023000 .word 0x40023000 700149f4 <_ZN8touchgfx8Gestures21registerEventListenerERNS_15UIEventListenerE>: 700149f4: 6101 str r1, [r0, #16] 700149f6: 4770 bx lr 700149f8 <_ZN8touchgfx8Gestures4tickEv>: 700149f8: 7b83 ldrb r3, [r0, #14] 700149fa: b14b cbz r3, 70014a10 <_ZN8touchgfx8Gestures4tickEv+0x18> 700149fc: 8903 ldrh r3, [r0, #8] 700149fe: 3301 adds r3, #1 70014a00: b29b uxth r3, r3 70014a02: 2b07 cmp r3, #7 70014a04: 8103 strh r3, [r0, #8] 70014a06: bf81 itttt hi 70014a08: 2300 movhi r3, #0 70014a0a: 8143 strhhi r3, [r0, #10] 70014a0c: 8183 strhhi r3, [r0, #12] 70014a0e: 7383 strbhi r3, [r0, #14] 70014a10: 4770 bx lr ... 70014a14 <_ZN8touchgfx8Gestures17registerDragEventEtttt>: 70014a14: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 70014a18: 461e mov r6, r3 70014a1a: b085 sub sp, #20 70014a1c: 8883 ldrh r3, [r0, #4] 70014a1e: 4604 mov r4, r0 70014a20: 4690 mov r8, r2 70014a22: 4a1c ldr r2, [pc, #112] @ (70014a94 <_ZN8touchgfx8Gestures17registerDragEventEtttt+0x80>) 70014a24: f8ad 3006 strh.w r3, [sp, #6] 70014a28: 1af3 subs r3, r6, r3 70014a2a: 9200 str r2, [sp, #0] 70014a2c: 460f mov r7, r1 70014a2e: b21b sxth r3, r3 70014a30: 8aa2 ldrh r2, [r4, #20] 70014a32: 88c5 ldrh r5, [r0, #6] 70014a34: 2000 movs r0, #0 70014a36: 2b00 cmp r3, #0 70014a38: f8bd 9030 ldrh.w r9, [sp, #48] @ 0x30 70014a3c: f88d 0004 strb.w r0, [sp, #4] 70014a40: bfb8 it lt 70014a42: 425b neglt r3, r3 70014a44: f8ad 5008 strh.w r5, [sp, #8] 70014a48: f8ad 600a strh.w r6, [sp, #10] 70014a4c: b21b sxth r3, r3 70014a4e: f8ad 900c strh.w r9, [sp, #12] 70014a52: 4293 cmp r3, r2 70014a54: dc08 bgt.n 70014a68 <_ZN8touchgfx8Gestures17registerDragEventEtttt+0x54> 70014a56: eba9 0505 sub.w r5, r9, r5 70014a5a: b22d sxth r5, r5 70014a5c: 2d00 cmp r5, #0 70014a5e: bfb8 it lt 70014a60: 426d neglt r5, r5 70014a62: b22d sxth r5, r5 70014a64: 42aa cmp r2, r5 70014a66: da11 bge.n 70014a8c <_ZN8touchgfx8Gestures17registerDragEventEtttt+0x78> 70014a68: 6920 ldr r0, [r4, #16] 70014a6a: 4669 mov r1, sp 70014a6c: 1bf7 subs r7, r6, r7 70014a6e: eba9 0808 sub.w r8, r9, r8 70014a72: 6803 ldr r3, [r0, #0] 70014a74: 685b ldr r3, [r3, #4] 70014a76: 4798 blx r3 70014a78: 2300 movs r3, #0 70014a7a: 2001 movs r0, #1 70014a7c: 8167 strh r7, [r4, #10] 70014a7e: 8123 strh r3, [r4, #8] 70014a80: f8a4 800c strh.w r8, [r4, #12] 70014a84: 80a6 strh r6, [r4, #4] 70014a86: f8a4 9006 strh.w r9, [r4, #6] 70014a8a: 73a0 strb r0, [r4, #14] 70014a8c: b005 add sp, #20 70014a8e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 70014a92: bf00 nop 70014a94: 7003fc98 .word 0x7003fc98 70014a98 <_ZN8touchgfx8Gestures18registerClickEventENS_10ClickEvent14ClickEventTypeEtt>: 70014a98: b5f0 push {r4, r5, r6, r7, lr} 70014a9a: 461e mov r6, r3 70014a9c: 1e4b subs r3, r1, #1 70014a9e: 4604 mov r4, r0 70014aa0: b085 sub sp, #20 70014aa2: 2b01 cmp r3, #1 70014aa4: 460d mov r5, r1 70014aa6: 4617 mov r7, r2 70014aa8: 6900 ldr r0, [r0, #16] 70014aaa: d827 bhi.n 70014afc <_ZN8touchgfx8Gestures18registerClickEventENS_10ClickEvent14ClickEventTypeEtt+0x64> 70014aac: f9b4 200a ldrsh.w r2, [r4, #10] 70014ab0: 1cd3 adds r3, r2, #3 70014ab2: b29b uxth r3, r3 70014ab4: 2b06 cmp r3, #6 70014ab6: d90c bls.n 70014ad2 <_ZN8touchgfx8Gestures18registerClickEventENS_10ClickEvent14ClickEventTypeEtt+0x3a> 70014ab8: 491c ldr r1, [pc, #112] @ (70014b2c <_ZN8touchgfx8Gestures18registerClickEventENS_10ClickEvent14ClickEventTypeEtt+0x94>) 70014aba: 6863 ldr r3, [r4, #4] 70014abc: 9101 str r1, [sp, #4] 70014abe: 2100 movs r1, #0 70014ac0: f8ad 200a strh.w r2, [sp, #10] 70014ac4: f88d 1008 strb.w r1, [sp, #8] 70014ac8: a901 add r1, sp, #4 70014aca: 9303 str r3, [sp, #12] 70014acc: 6803 ldr r3, [r0, #0] 70014ace: 689b ldr r3, [r3, #8] 70014ad0: 4798 blx r3 70014ad2: f9b4 200c ldrsh.w r2, [r4, #12] 70014ad6: 6920 ldr r0, [r4, #16] 70014ad8: 1cd3 adds r3, r2, #3 70014ada: b29b uxth r3, r3 70014adc: 2b06 cmp r3, #6 70014ade: d913 bls.n 70014b08 <_ZN8touchgfx8Gestures18registerClickEventENS_10ClickEvent14ClickEventTypeEtt+0x70> 70014ae0: 4912 ldr r1, [pc, #72] @ (70014b2c <_ZN8touchgfx8Gestures18registerClickEventENS_10ClickEvent14ClickEventTypeEtt+0x94>) 70014ae2: 6863 ldr r3, [r4, #4] 70014ae4: 9101 str r1, [sp, #4] 70014ae6: 2101 movs r1, #1 70014ae8: f8ad 200a strh.w r2, [sp, #10] 70014aec: f88d 1008 strb.w r1, [sp, #8] 70014af0: a901 add r1, sp, #4 70014af2: 9303 str r3, [sp, #12] 70014af4: 6803 ldr r3, [r0, #0] 70014af6: 689b ldr r3, [r3, #8] 70014af8: 4798 blx r3 70014afa: e005 b.n 70014b08 <_ZN8touchgfx8Gestures18registerClickEventENS_10ClickEvent14ClickEventTypeEtt+0x70> 70014afc: b921 cbnz r1, 70014b08 <_ZN8touchgfx8Gestures18registerClickEventENS_10ClickEvent14ClickEventTypeEtt+0x70> 70014afe: 80a2 strh r2, [r4, #4] 70014b00: 80e6 strh r6, [r4, #6] 70014b02: 60a1 str r1, [r4, #8] 70014b04: 81a1 strh r1, [r4, #12] 70014b06: 73a1 strb r1, [r4, #14] 70014b08: 4b09 ldr r3, [pc, #36] @ (70014b30 <_ZN8touchgfx8Gestures18registerClickEventENS_10ClickEvent14ClickEventTypeEtt+0x98>) 70014b0a: a901 add r1, sp, #4 70014b0c: 6920 ldr r0, [r4, #16] 70014b0e: 9301 str r3, [sp, #4] 70014b10: 2300 movs r3, #0 70014b12: f88d 5008 strb.w r5, [sp, #8] 70014b16: f8ad 700a strh.w r7, [sp, #10] 70014b1a: f8ad 600c strh.w r6, [sp, #12] 70014b1e: f8ad 300e strh.w r3, [sp, #14] 70014b22: 6803 ldr r3, [r0, #0] 70014b24: 681b ldr r3, [r3, #0] 70014b26: 4798 blx r3 70014b28: b005 add sp, #20 70014b2a: bdf0 pop {r4, r5, r6, r7, pc} 70014b2c: 7003fcac .word 0x7003fcac 70014b30: 7003fc84 .word 0x7003fc84 70014b34 <_ZN8touchgfx12CanvasWidget8setAlphaEh>: 70014b34: f880 1026 strb.w r1, [r0, #38] @ 0x26 70014b38: 4770 bx lr 70014b3a <_ZNK8touchgfx12CanvasWidget8getAlphaEv>: 70014b3a: f890 0026 ldrb.w r0, [r0, #38] @ 0x26 70014b3e: 4770 bx lr 70014b40 <_ZNK8touchgfx12CanvasWidget12getSolidRectEv>: 70014b40: 2200 movs r2, #0 70014b42: 8002 strh r2, [r0, #0] 70014b44: 8042 strh r2, [r0, #2] 70014b46: 8082 strh r2, [r0, #4] 70014b48: 80c2 strh r2, [r0, #6] 70014b4a: 4770 bx lr 70014b4c <_ZN8touchgfx6CircleD1Ev>: 70014b4c: 4770 bx lr 70014b4e <_ZN8touchgfx6CircleD0Ev>: 70014b4e: b510 push {r4, lr} 70014b50: 4604 mov r4, r0 70014b52: 2148 movs r1, #72 @ 0x48 70014b54: f024 fe2f bl 700397b6 <_ZdlPvj> 70014b58: 4620 mov r0, r4 70014b5a: bd10 pop {r4, pc} 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0>: 70014b5c: b507 push {r0, r1, r2, lr} 70014b5e: f44f 4200 mov.w r2, #32768 @ 0x8000 70014b62: ab01 add r3, sp, #4 70014b64: f7fe fa46 bl 70012ff4 <_ZN8touchgfx6muldivElllRl> 70014b68: b003 add sp, #12 70014b6a: f85d fb04 ldr.w pc, [sp], #4 ... 70014b70 <_ZN8touchgfx7CWRUtil4sineEi>: 70014b70: f44f 73b4 mov.w r3, #360 @ 0x168 70014b74: fb90 f2f3 sdiv r2, r0, r3 70014b78: fb02 0013 mls r0, r2, r3, r0 70014b7c: 2800 cmp r0, #0 70014b7e: bfb8 it lt 70014b80: 18c0 addlt r0, r0, r3 70014b82: 4b0a ldr r3, [pc, #40] @ (70014bac <_ZN8touchgfx7CWRUtil4sineEi+0x3c>) 70014b84: 285a cmp r0, #90 @ 0x5a 70014b86: dc00 bgt.n 70014b8a <_ZN8touchgfx7CWRUtil4sineEi+0x1a> 70014b88: e003 b.n 70014b92 <_ZN8touchgfx7CWRUtil4sineEi+0x22> 70014b8a: 28b4 cmp r0, #180 @ 0xb4 70014b8c: dc04 bgt.n 70014b98 <_ZN8touchgfx7CWRUtil4sineEi+0x28> 70014b8e: f1c0 00b4 rsb r0, r0, #180 @ 0xb4 70014b92: f833 0010 ldrh.w r0, [r3, r0, lsl #1] 70014b96: 4770 bx lr 70014b98: f5b0 7f87 cmp.w r0, #270 @ 0x10e 70014b9c: bfd4 ite le 70014b9e: 38b4 suble r0, #180 @ 0xb4 70014ba0: f5c0 70b4 rsbgt r0, r0, #360 @ 0x168 70014ba4: f833 0010 ldrh.w r0, [r3, r0, lsl #1] 70014ba8: 4240 negs r0, r0 70014baa: 4770 bx lr 70014bac: 7003fd64 .word 0x7003fd64 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E>: 70014bb0: f44f 5334 mov.w r3, #11520 @ 0x2d00 70014bb4: fb90 f2f3 sdiv r2, r0, r3 70014bb8: b573 push {r0, r1, r4, r5, r6, lr} 70014bba: fb02 0013 mls r0, r2, r3, r0 70014bbe: 2800 cmp r0, #0 70014bc0: bfb8 it lt 70014bc2: 18c0 addlt r0, r0, r3 70014bc4: 1144 asrs r4, r0, #5 70014bc6: f000 061f and.w r6, r0, #31 70014bca: 4620 mov r0, r4 70014bcc: f7ff ffd0 bl 70014b70 <_ZN8touchgfx7CWRUtil4sineEi> 70014bd0: 4605 mov r5, r0 70014bd2: b14e cbz r6, 70014be8 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E+0x38> 70014bd4: 1c60 adds r0, r4, #1 70014bd6: f7ff ffcb bl 70014b70 <_ZN8touchgfx7CWRUtil4sineEi> 70014bda: ab01 add r3, sp, #4 70014bdc: 1b40 subs r0, r0, r5 70014bde: 2220 movs r2, #32 70014be0: 4631 mov r1, r6 70014be2: f7fe fa07 bl 70012ff4 <_ZN8touchgfx6muldivElllRl> 70014be6: 4405 add r5, r0 70014be8: 4628 mov r0, r5 70014bea: b002 add sp, #8 70014bec: bd70 pop {r4, r5, r6, pc} 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E>: 70014bee: b508 push {r3, lr} 70014bf0: f5c0 6034 rsb r0, r0, #2880 @ 0xb40 70014bf4: f7ff ffdc bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 70014bf8: bd08 pop {r3, pc} ... 70014bfc <_ZN8touchgfx6CircleC1Ev>: 70014bfc: b510 push {r4, lr} 70014bfe: 4604 mov r4, r0 70014c00: f000 fd3e bl 70015680 <_ZN8touchgfx12CanvasWidgetC1Ev> 70014c04: 4b08 ldr r3, [pc, #32] @ (70014c28 <_ZN8touchgfx6CircleC1Ev+0x2c>) 70014c06: f44f 5234 mov.w r2, #11520 @ 0x2d00 70014c0a: 4620 mov r0, r4 70014c0c: 6023 str r3, [r4, #0] 70014c0e: 2300 movs r3, #0 70014c10: e9c4 230f strd r2, r3, [r4, #60] @ 0x3c 70014c14: f24b 4205 movw r2, #46085 @ 0xb405 70014c18: 60a3 str r3, [r4, #8] 70014c1a: e9c4 330b strd r3, r3, [r4, #44] @ 0x2c 70014c1e: e9c4 330d strd r3, r3, [r4, #52] @ 0x34 70014c22: f8a4 2044 strh.w r2, [r4, #68] @ 0x44 70014c26: bd10 pop {r4, pc} 70014c28: 7003fcf4 .word 0x7003fcf4 70014c2c <_ZNK8touchgfx6Circle20calculateMinimalRectENS_7CWRUtil2Q5ES2_RS2_S3_S3_S3_>: 70014c2c: 428a cmp r2, r1 70014c2e: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} 70014c32: 461e mov r6, r3 70014c34: bfa7 ittee ge 70014c36: 4692 movge sl, r2 70014c38: 460b movge r3, r1 70014c3a: 4613 movlt r3, r2 70014c3c: 468a movlt sl, r1 70014c3e: 6c05 ldr r5, [r0, #64] @ 0x40 70014c40: 4604 mov r4, r0 70014c42: 9f0e ldr r7, [sp, #56] @ 0x38 70014c44: ebaa 0203 sub.w r2, sl, r3 70014c48: f5b2 5f34 cmp.w r2, #11520 @ 0x2d00 70014c4c: bfa4 itt ge 70014c4e: 2300 movge r3, #0 70014c50: f44f 5a34 movge.w sl, #11520 @ 0x2d00 70014c54: e9dd 980c ldrd r9, r8, [sp, #48] @ 0x30 70014c58: f103 0b01 add.w fp, r3, #1 70014c5c: 2d00 cmp r5, #0 70014c5e: f040 80a3 bne.w 70014da8 <_ZNK8touchgfx6Circle20calculateMinimalRectENS_7CWRUtil2Q5ES2_RS2_S3_S3_S3_+0x17c> 70014c62: 4618 mov r0, r3 70014c64: 9301 str r3, [sp, #4] 70014c66: f7ff ffa3 bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 70014c6a: 4601 mov r1, r0 70014c6c: 6b60 ldr r0, [r4, #52] @ 0x34 70014c6e: f7ff ff75 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70014c72: 6ae2 ldr r2, [r4, #44] @ 0x2c 70014c74: 9b01 ldr r3, [sp, #4] 70014c76: 4410 add r0, r2 70014c78: 6832 ldr r2, [r6, #0] 70014c7a: 4282 cmp r2, r0 70014c7c: bfc8 it gt 70014c7e: 6030 strgt r0, [r6, #0] 70014c80: f8d9 2000 ldr.w r2, [r9] 70014c84: 4290 cmp r0, r2 70014c86: bfc8 it gt 70014c88: f8c9 0000 strgt.w r0, [r9] 70014c8c: 4618 mov r0, r3 70014c8e: f7ff ffae bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 70014c92: 4601 mov r1, r0 70014c94: 6b60 ldr r0, [r4, #52] @ 0x34 70014c96: f7ff ff61 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70014c9a: 6b23 ldr r3, [r4, #48] @ 0x30 70014c9c: 1a18 subs r0, r3, r0 70014c9e: f8d8 3000 ldr.w r3, [r8] 70014ca2: 4283 cmp r3, r0 70014ca4: bfc8 it gt 70014ca6: f8c8 0000 strgt.w r0, [r8] 70014caa: 683b ldr r3, [r7, #0] 70014cac: 4298 cmp r0, r3 70014cae: f44f 6334 mov.w r3, #2880 @ 0xb40 70014cb2: fb9b f5f3 sdiv r5, fp, r3 70014cb6: fb03 b515 mls r5, r3, r5, fp 70014cba: bfc8 it gt 70014cbc: 6038 strgt r0, [r7, #0] 70014cbe: 1b5d subs r5, r3, r5 70014cc0: fbb5 f2f3 udiv r2, r5, r3 70014cc4: fb03 5512 mls r5, r3, r2, r5 70014cc8: 445d add r5, fp 70014cca: e027 b.n 70014d1c <_ZNK8touchgfx6Circle20calculateMinimalRectENS_7CWRUtil2Q5ES2_RS2_S3_S3_S3_+0xf0> 70014ccc: 4628 mov r0, r5 70014cce: f7ff ff6f bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 70014cd2: 4601 mov r1, r0 70014cd4: 6b60 ldr r0, [r4, #52] @ 0x34 70014cd6: f7ff ff41 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70014cda: 6ae3 ldr r3, [r4, #44] @ 0x2c 70014cdc: 4418 add r0, r3 70014cde: 6833 ldr r3, [r6, #0] 70014ce0: 4283 cmp r3, r0 70014ce2: bfc8 it gt 70014ce4: 6030 strgt r0, [r6, #0] 70014ce6: f8d9 3000 ldr.w r3, [r9] 70014cea: 4298 cmp r0, r3 70014cec: bfc8 it gt 70014cee: f8c9 0000 strgt.w r0, [r9] 70014cf2: 4628 mov r0, r5 70014cf4: f7ff ff7b bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 70014cf8: 4601 mov r1, r0 70014cfa: 6b60 ldr r0, [r4, #52] @ 0x34 70014cfc: f505 6534 add.w r5, r5, #2880 @ 0xb40 70014d00: f7ff ff2c bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70014d04: 6b23 ldr r3, [r4, #48] @ 0x30 70014d06: 1a18 subs r0, r3, r0 70014d08: f8d8 3000 ldr.w r3, [r8] 70014d0c: 4283 cmp r3, r0 70014d0e: bfc8 it gt 70014d10: f8c8 0000 strgt.w r0, [r8] 70014d14: 683b ldr r3, [r7, #0] 70014d16: 4298 cmp r0, r3 70014d18: bfc8 it gt 70014d1a: 6038 strgt r0, [r7, #0] 70014d1c: 45aa cmp sl, r5 70014d1e: dad5 bge.n 70014ccc <_ZNK8touchgfx6Circle20calculateMinimalRectENS_7CWRUtil2Q5ES2_RS2_S3_S3_S3_+0xa0> 70014d20: f5a5 6534 sub.w r5, r5, #2880 @ 0xb40 70014d24: 45aa cmp sl, r5 70014d26: dd25 ble.n 70014d74 <_ZNK8touchgfx6Circle20calculateMinimalRectENS_7CWRUtil2Q5ES2_RS2_S3_S3_S3_+0x148> 70014d28: 4650 mov r0, sl 70014d2a: f7ff ff41 bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 70014d2e: 4601 mov r1, r0 70014d30: 6b60 ldr r0, [r4, #52] @ 0x34 70014d32: f7ff ff13 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70014d36: 6ae3 ldr r3, [r4, #44] @ 0x2c 70014d38: 4418 add r0, r3 70014d3a: 6833 ldr r3, [r6, #0] 70014d3c: 4283 cmp r3, r0 70014d3e: bfc8 it gt 70014d40: 6030 strgt r0, [r6, #0] 70014d42: f8d9 3000 ldr.w r3, [r9] 70014d46: 4298 cmp r0, r3 70014d48: bfc8 it gt 70014d4a: f8c9 0000 strgt.w r0, [r9] 70014d4e: 4650 mov r0, sl 70014d50: f7ff ff4d bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 70014d54: 4601 mov r1, r0 70014d56: 6b60 ldr r0, [r4, #52] @ 0x34 70014d58: f7ff ff00 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70014d5c: 6b23 ldr r3, [r4, #48] @ 0x30 70014d5e: 1a18 subs r0, r3, r0 70014d60: f8d8 3000 ldr.w r3, [r8] 70014d64: 4283 cmp r3, r0 70014d66: bfc8 it gt 70014d68: f8c8 0000 strgt.w r0, [r8] 70014d6c: 683b ldr r3, [r7, #0] 70014d6e: 4298 cmp r0, r3 70014d70: bfc8 it gt 70014d72: 6038 strgt r0, [r7, #0] 70014d74: 6832 ldr r2, [r6, #0] 70014d76: 6ae3 ldr r3, [r4, #44] @ 0x2c 70014d78: 429a cmp r2, r3 70014d7a: bfc8 it gt 70014d7c: 6033 strgt r3, [r6, #0] 70014d7e: f8d9 2000 ldr.w r2, [r9] 70014d82: 6ae3 ldr r3, [r4, #44] @ 0x2c 70014d84: 429a cmp r2, r3 70014d86: bfb8 it lt 70014d88: f8c9 3000 strlt.w r3, [r9] 70014d8c: f8d8 2000 ldr.w r2, [r8] 70014d90: 6b23 ldr r3, [r4, #48] @ 0x30 70014d92: 429a cmp r2, r3 70014d94: bfc8 it gt 70014d96: f8c8 3000 strgt.w r3, [r8] 70014d9a: 683a ldr r2, [r7, #0] 70014d9c: 6b23 ldr r3, [r4, #48] @ 0x30 70014d9e: 429a cmp r2, r3 70014da0: f280 80d7 bge.w 70014f52 <_ZNK8touchgfx6Circle20calculateMinimalRectENS_7CWRUtil2Q5ES2_RS2_S3_S3_S3_+0x326> 70014da4: 603b str r3, [r7, #0] 70014da6: e0d4 b.n 70014f52 <_ZNK8touchgfx6Circle20calculateMinimalRectENS_7CWRUtil2Q5ES2_RS2_S3_S3_S3_+0x326> 70014da8: 4618 mov r0, r3 70014daa: 3501 adds r5, #1 70014dac: 9301 str r3, [sp, #4] 70014dae: f7ff feff bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 70014db2: 4601 mov r1, r0 70014db4: 6b60 ldr r0, [r4, #52] @ 0x34 70014db6: f7ff fed1 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70014dba: 6ae2 ldr r2, [r4, #44] @ 0x2c 70014dbc: eb05 75d5 add.w r5, r5, r5, lsr #31 70014dc0: 9b01 ldr r3, [sp, #4] 70014dc2: 4410 add r0, r2 70014dc4: 6832 ldr r2, [r6, #0] 70014dc6: 106d asrs r5, r5, #1 70014dc8: 1b41 subs r1, r0, r5 70014dca: 4428 add r0, r5 70014dcc: 428a cmp r2, r1 70014dce: bfc8 it gt 70014dd0: 6031 strgt r1, [r6, #0] 70014dd2: f8d9 2000 ldr.w r2, [r9] 70014dd6: 4291 cmp r1, r2 70014dd8: bfc8 it gt 70014dda: f8c9 1000 strgt.w r1, [r9] 70014dde: 6832 ldr r2, [r6, #0] 70014de0: 4282 cmp r2, r0 70014de2: bfc8 it gt 70014de4: 6030 strgt r0, [r6, #0] 70014de6: f8d9 2000 ldr.w r2, [r9] 70014dea: 4290 cmp r0, r2 70014dec: bfc8 it gt 70014dee: f8c9 0000 strgt.w r0, [r9] 70014df2: 4618 mov r0, r3 70014df4: f7ff fefb bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 70014df8: 4601 mov r1, r0 70014dfa: 6b60 ldr r0, [r4, #52] @ 0x34 70014dfc: f7ff feae bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70014e00: 6b23 ldr r3, [r4, #48] @ 0x30 70014e02: 1a18 subs r0, r3, r0 70014e04: f8d8 3000 ldr.w r3, [r8] 70014e08: 1b42 subs r2, r0, r5 70014e0a: 4428 add r0, r5 70014e0c: 4293 cmp r3, r2 70014e0e: bfc8 it gt 70014e10: f8c8 2000 strgt.w r2, [r8] 70014e14: 683b ldr r3, [r7, #0] 70014e16: 429a cmp r2, r3 70014e18: bfc8 it gt 70014e1a: 603a strgt r2, [r7, #0] 70014e1c: f44f 6234 mov.w r2, #2880 @ 0xb40 70014e20: f8d8 3000 ldr.w r3, [r8] 70014e24: 4283 cmp r3, r0 70014e26: bfc8 it gt 70014e28: f8c8 0000 strgt.w r0, [r8] 70014e2c: 683b ldr r3, [r7, #0] 70014e2e: 4298 cmp r0, r3 70014e30: fb9b f3f2 sdiv r3, fp, r2 70014e34: fb02 b313 mls r3, r2, r3, fp 70014e38: bfc8 it gt 70014e3a: 6038 strgt r0, [r7, #0] 70014e3c: 1ad3 subs r3, r2, r3 70014e3e: fbb3 f1f2 udiv r1, r3, r2 70014e42: fb02 3311 mls r3, r2, r1, r3 70014e46: 449b add fp, r3 70014e48: e03f b.n 70014eca <_ZNK8touchgfx6Circle20calculateMinimalRectENS_7CWRUtil2Q5ES2_RS2_S3_S3_S3_+0x29e> 70014e4a: 4658 mov r0, fp 70014e4c: f7ff feb0 bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 70014e50: 4601 mov r1, r0 70014e52: 6b60 ldr r0, [r4, #52] @ 0x34 70014e54: f7ff fe82 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70014e58: 6ae3 ldr r3, [r4, #44] @ 0x2c 70014e5a: 4418 add r0, r3 70014e5c: 6833 ldr r3, [r6, #0] 70014e5e: 1b42 subs r2, r0, r5 70014e60: 4428 add r0, r5 70014e62: 4293 cmp r3, r2 70014e64: bfc8 it gt 70014e66: 6032 strgt r2, [r6, #0] 70014e68: f8d9 3000 ldr.w r3, [r9] 70014e6c: 429a cmp r2, r3 70014e6e: bfc8 it gt 70014e70: f8c9 2000 strgt.w r2, [r9] 70014e74: 6833 ldr r3, [r6, #0] 70014e76: 4283 cmp r3, r0 70014e78: bfc8 it gt 70014e7a: 6030 strgt r0, [r6, #0] 70014e7c: f8d9 3000 ldr.w r3, [r9] 70014e80: 4298 cmp r0, r3 70014e82: bfc8 it gt 70014e84: f8c9 0000 strgt.w r0, [r9] 70014e88: 4658 mov r0, fp 70014e8a: f7ff feb0 bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 70014e8e: 4601 mov r1, r0 70014e90: 6b60 ldr r0, [r4, #52] @ 0x34 70014e92: f50b 6b34 add.w fp, fp, #2880 @ 0xb40 70014e96: f7ff fe61 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70014e9a: 6b23 ldr r3, [r4, #48] @ 0x30 70014e9c: 1a18 subs r0, r3, r0 70014e9e: f8d8 3000 ldr.w r3, [r8] 70014ea2: 1b42 subs r2, r0, r5 70014ea4: 4428 add r0, r5 70014ea6: 4293 cmp r3, r2 70014ea8: bfc8 it gt 70014eaa: f8c8 2000 strgt.w r2, [r8] 70014eae: 683b ldr r3, [r7, #0] 70014eb0: 429a cmp r2, r3 70014eb2: bfc8 it gt 70014eb4: 603a strgt r2, [r7, #0] 70014eb6: f8d8 3000 ldr.w r3, [r8] 70014eba: 4283 cmp r3, r0 70014ebc: bfc8 it gt 70014ebe: f8c8 0000 strgt.w r0, [r8] 70014ec2: 683b ldr r3, [r7, #0] 70014ec4: 4298 cmp r0, r3 70014ec6: bfc8 it gt 70014ec8: 6038 strgt r0, [r7, #0] 70014eca: 45da cmp sl, fp 70014ecc: dabd bge.n 70014e4a <_ZNK8touchgfx6Circle20calculateMinimalRectENS_7CWRUtil2Q5ES2_RS2_S3_S3_S3_+0x21e> 70014ece: f5ab 6b34 sub.w fp, fp, #2880 @ 0xb40 70014ed2: 45da cmp sl, fp 70014ed4: dd3d ble.n 70014f52 <_ZNK8touchgfx6Circle20calculateMinimalRectENS_7CWRUtil2Q5ES2_RS2_S3_S3_S3_+0x326> 70014ed6: 4650 mov r0, sl 70014ed8: f7ff fe6a bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 70014edc: 4601 mov r1, r0 70014ede: 6b60 ldr r0, [r4, #52] @ 0x34 70014ee0: f7ff fe3c bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70014ee4: 6ae3 ldr r3, [r4, #44] @ 0x2c 70014ee6: 4418 add r0, r3 70014ee8: 6833 ldr r3, [r6, #0] 70014eea: 1b42 subs r2, r0, r5 70014eec: 4428 add r0, r5 70014eee: 4293 cmp r3, r2 70014ef0: bfc8 it gt 70014ef2: 6032 strgt r2, [r6, #0] 70014ef4: f8d9 3000 ldr.w r3, [r9] 70014ef8: 429a cmp r2, r3 70014efa: bfc8 it gt 70014efc: f8c9 2000 strgt.w r2, [r9] 70014f00: 6833 ldr r3, [r6, #0] 70014f02: 4283 cmp r3, r0 70014f04: bfc8 it gt 70014f06: 6030 strgt r0, [r6, #0] 70014f08: f8d9 3000 ldr.w r3, [r9] 70014f0c: 4298 cmp r0, r3 70014f0e: bfc8 it gt 70014f10: f8c9 0000 strgt.w r0, [r9] 70014f14: 4650 mov r0, sl 70014f16: f7ff fe6a bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 70014f1a: 4601 mov r1, r0 70014f1c: 6b60 ldr r0, [r4, #52] @ 0x34 70014f1e: f7ff fe1d bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70014f22: 6b23 ldr r3, [r4, #48] @ 0x30 70014f24: f8d8 2000 ldr.w r2, [r8] 70014f28: 1a18 subs r0, r3, r0 70014f2a: 1b43 subs r3, r0, r5 70014f2c: 4405 add r5, r0 70014f2e: 429a cmp r2, r3 70014f30: bfc8 it gt 70014f32: f8c8 3000 strgt.w r3, [r8] 70014f36: 683a ldr r2, [r7, #0] 70014f38: 4293 cmp r3, r2 70014f3a: bfc8 it gt 70014f3c: 603b strgt r3, [r7, #0] 70014f3e: f8d8 3000 ldr.w r3, [r8] 70014f42: 42ab cmp r3, r5 70014f44: bfc8 it gt 70014f46: f8c8 5000 strgt.w r5, [r8] 70014f4a: 683b ldr r3, [r7, #0] 70014f4c: 429d cmp r5, r3 70014f4e: bfc8 it gt 70014f50: 603d strgt r5, [r7, #0] 70014f52: b003 add sp, #12 70014f54: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70014f58 <_ZNK8touchgfx6Circle14getMinimalRectENS_7CWRUtil2Q5ES2_>: 70014f58: b530 push {r4, r5, lr} 70014f5a: 4604 mov r4, r0 70014f5c: 4608 mov r0, r1 70014f5e: 4611 mov r1, r2 70014f60: 461a mov r2, r3 70014f62: f9b0 3008 ldrsh.w r3, [r0, #8] 70014f66: b089 sub sp, #36 @ 0x24 70014f68: 2500 movs r5, #0 70014f6a: 015b lsls r3, r3, #5 70014f6c: 9505 str r5, [sp, #20] 70014f6e: 9304 str r3, [sp, #16] 70014f70: f9b0 300a ldrsh.w r3, [r0, #10] 70014f74: 015b lsls r3, r3, #5 70014f76: e9cd 3506 strd r3, r5, [sp, #24] 70014f7a: ab07 add r3, sp, #28 70014f7c: 9302 str r3, [sp, #8] 70014f7e: ab06 add r3, sp, #24 70014f80: 9301 str r3, [sp, #4] 70014f82: ab05 add r3, sp, #20 70014f84: 9300 str r3, [sp, #0] 70014f86: ab04 add r3, sp, #16 70014f88: f7ff fe50 bl 70014c2c <_ZNK8touchgfx6Circle20calculateMinimalRectENS_7CWRUtil2Q5ES2_RS2_S3_S3_S3_> 70014f8c: 9904 ldr r1, [sp, #16] 70014f8e: 9a06 ldr r2, [sp, #24] 70014f90: 42a9 cmp r1, r5 70014f92: 9b05 ldr r3, [sp, #20] 70014f94: 9807 ldr r0, [sp, #28] 70014f96: bfb8 it lt 70014f98: 311f addlt r1, #31 70014f9a: 2a00 cmp r2, #0 70014f9c: bfb8 it lt 70014f9e: 321f addlt r2, #31 70014fa0: 2b00 cmp r3, #0 70014fa2: f3c1 114f ubfx r1, r1, #5, #16 70014fa6: bfb8 it lt 70014fa8: 331f addlt r3, #31 70014faa: 2800 cmp r0, #0 70014fac: f3c2 124f ubfx r2, r2, #5, #16 70014fb0: bfb8 it lt 70014fb2: 301f addlt r0, #31 70014fb4: ebc1 1363 rsb r3, r1, r3, asr #5 70014fb8: 3901 subs r1, #1 70014fba: ebc2 1060 rsb r0, r2, r0, asr #5 70014fbe: 3302 adds r3, #2 70014fc0: 3a01 subs r2, #1 70014fc2: 8021 strh r1, [r4, #0] 70014fc4: 3002 adds r0, #2 70014fc6: b21b sxth r3, r3 70014fc8: 8062 strh r2, [r4, #2] 70014fca: 80e0 strh r0, [r4, #6] 70014fcc: 4620 mov r0, r4 70014fce: 80a3 strh r3, [r4, #4] 70014fd0: b009 add sp, #36 @ 0x24 70014fd2: bd30 pop {r4, r5, pc} 70014fd4 <_ZNK8touchgfx6Circle14getMinimalRectEv>: 70014fd4: b510 push {r4, lr} 70014fd6: 4604 mov r4, r0 70014fd8: e9d1 230e ldrd r2, r3, [r1, #56] @ 0x38 70014fdc: f7ff ffbc bl 70014f58 <_ZNK8touchgfx6Circle14getMinimalRectENS_7CWRUtil2Q5ES2_> 70014fe0: 4620 mov r0, r4 70014fe2: bd10 pop {r4, pc} 70014fe4 <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E>: 70014fe4: b5f8 push {r3, r4, r5, r6, r7, lr} 70014fe6: e9d1 650e ldrd r6, r5, [r1, #56] @ 0x38 70014fea: 4607 mov r7, r0 70014fec: f891 0044 ldrb.w r0, [r1, #68] @ 0x44 70014ff0: 42ae cmp r6, r5 70014ff2: 4694 mov ip, r2 70014ff4: ea4f 1440 mov.w r4, r0, lsl #5 70014ff8: 6813 ldr r3, [r2, #0] 70014ffa: da2d bge.n 70015058 <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x74> 70014ffc: 429d cmp r5, r3 70014ffe: da13 bge.n 70015028 <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x44> 70015000: b160 cbz r0, 7001501c <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x38> 70015002: 426b negs r3, r5 70015004: fb93 f2f4 sdiv r2, r3, r4 70015008: fb04 3312 mls r3, r4, r2, r3 7001500c: 1ae3 subs r3, r4, r3 7001500e: fb93 f2f4 sdiv r2, r3, r4 70015012: fb04 3312 mls r3, r4, r2, r3 70015016: 1aed subs r5, r5, r3 70015018: 42ae cmp r6, r5 7001501a: da01 bge.n 70015020 <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x3c> 7001501c: 462a mov r2, r5 7001501e: e000 b.n 70015022 <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x3e> 70015020: 4632 mov r2, r6 70015022: f8dc 3000 ldr.w r3, [ip] 70015026: e03a b.n 7001509e <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0xba> 70015028: 429e cmp r6, r3 7001502a: da12 bge.n 70015052 <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x6e> 7001502c: b160 cbz r0, 70015048 <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x64> 7001502e: 425a negs r2, r3 70015030: fb92 f0f4 sdiv r0, r2, r4 70015034: fb04 2210 mls r2, r4, r0, r2 70015038: 1aa2 subs r2, r4, r2 7001503a: fb92 f0f4 sdiv r0, r2, r4 7001503e: fb04 2210 mls r2, r4, r0, r2 70015042: 1a9b subs r3, r3, r2 70015044: 429e cmp r6, r3 70015046: da01 bge.n 7001504c <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x68> 70015048: 461a mov r2, r3 7001504a: e000 b.n 7001504e <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x6a> 7001504c: 4632 mov r2, r6 7001504e: 6bcb ldr r3, [r1, #60] @ 0x3c 70015050: e025 b.n 7001509e <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0xba> 70015052: 461a mov r2, r3 70015054: 462b mov r3, r5 70015056: e022 b.n 7001509e <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0xba> 70015058: 429d cmp r5, r3 7001505a: dd10 ble.n 7001507e <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x9a> 7001505c: 461a mov r2, r3 7001505e: b148 cbz r0, 70015074 <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x90> 70015060: fb95 f3f4 sdiv r3, r5, r4 70015064: fb04 5313 mls r3, r4, r3, r5 70015068: 1ae3 subs r3, r4, r3 7001506a: fb93 f0f4 sdiv r0, r3, r4 7001506e: fb04 3310 mls r3, r4, r0, r3 70015072: 441d add r5, r3 70015074: 462b mov r3, r5 70015076: 42b3 cmp r3, r6 70015078: db11 blt.n 7001509e <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0xba> 7001507a: 6b8b ldr r3, [r1, #56] @ 0x38 7001507c: e00f b.n 7001509e <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0xba> 7001507e: 429e cmp r6, r3 70015080: 462a mov r2, r5 70015082: dd0c ble.n 7001509e <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0xba> 70015084: 2800 cmp r0, #0 70015086: d0f6 beq.n 70015076 <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x92> 70015088: fb93 f0f4 sdiv r0, r3, r4 7001508c: fb04 3010 mls r0, r4, r0, r3 70015090: 1a20 subs r0, r4, r0 70015092: fb90 f5f4 sdiv r5, r0, r4 70015096: fb04 0015 mls r0, r4, r5, r0 7001509a: 4403 add r3, r0 7001509c: e7eb b.n 70015076 <_ZNK8touchgfx6Circle32getMinimalRectForUpdatedEndAngleERKNS_7CWRUtil2Q5E+0x92> 7001509e: 4638 mov r0, r7 700150a0: f7ff ff5a bl 70014f58 <_ZNK8touchgfx6Circle14getMinimalRectENS_7CWRUtil2Q5ES2_> 700150a4: 4638 mov r0, r7 700150a6: bdf8 pop {r3, r4, r5, r6, r7, pc} 700150a8 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE>: 700150a8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700150ac: e9d0 650e ldrd r6, r5, [r0, #56] @ 0x38 700150b0: f9b0 902c ldrsh.w r9, [r0, #44] @ 0x2c 700150b4: 4604 mov r4, r0 700150b6: 42b5 cmp r5, r6 700150b8: 468b mov fp, r1 700150ba: f9b4 a030 ldrsh.w sl, [r4, #48] @ 0x30 700150be: b0ab sub sp, #172 @ 0xac 700150c0: bfa4 itt ge 700150c2: 462b movge r3, r5 700150c4: 4635 movge r5, r6 700150c6: 6c01 ldr r1, [r0, #64] @ 0x40 700150c8: bfa8 it ge 700150ca: 461e movge r6, r3 700150cc: f9bb 0000 ldrsh.w r0, [fp] 700150d0: f9bb 8004 ldrsh.w r8, [fp, #4] 700150d4: 1b73 subs r3, r6, r5 700150d6: f9bb c002 ldrsh.w ip, [fp, #2] 700150da: 6b62 ldr r2, [r4, #52] @ 0x34 700150dc: f5b3 5f34 cmp.w r3, #11520 @ 0x2d00 700150e0: f9bb 3006 ldrsh.w r3, [fp, #6] 700150e4: bfa4 itt ge 700150e6: f44f 5634 movge.w r6, #11520 @ 0x2d00 700150ea: 2500 movge r5, #0 700150ec: f1b9 0f00 cmp.w r9, #0 700150f0: bfb8 it lt 700150f2: f109 091f addlt.w r9, r9, #31 700150f6: f1ba 0f00 cmp.w sl, #0 700150fa: bfb8 it lt 700150fc: f10a 0a1f addlt.w sl, sl, #31 70015100: ea4f 1969 mov.w r9, r9, asr #5 70015104: ea4f 1a6a mov.w sl, sl, asr #5 70015108: 2900 cmp r1, #0 7001510a: d04b beq.n 700151a4 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0xfc> 7001510c: 4480 add r8, r0 7001510e: eba9 0700 sub.w r7, r9, r0 70015112: 4463 add r3, ip 70015114: ebaa 000c sub.w r0, sl, ip 70015118: fa0f f888 sxth.w r8, r8 7001511c: 2f00 cmp r7, #0 7001511e: b21b sxth r3, r3 70015120: eba9 0808 sub.w r8, r9, r8 70015124: bfb8 it lt 70015126: 427f neglt r7, r7 70015128: ebaa 0303 sub.w r3, sl, r3 7001512c: eb01 71d1 add.w r1, r1, r1, lsr #31 70015130: f1b8 0f00 cmp.w r8, #0 70015134: bfb8 it lt 70015136: f1c8 0800 rsblt r8, r8, #0 7001513a: 2800 cmp r0, #0 7001513c: bfb8 it lt 7001513e: 4240 neglt r0, r0 70015140: 2b00 cmp r3, #0 70015142: bfb8 it lt 70015144: 425b neglt r3, r3 70015146: 4547 cmp r7, r8 70015148: bfcc ite gt 7001514a: f107 0801 addgt.w r8, r7, #1 7001514e: f108 0801 addle.w r8, r8, #1 70015152: 4298 cmp r0, r3 70015154: bfc8 it gt 70015156: 1c47 addgt r7, r0, #1 70015158: f894 0044 ldrb.w r0, [r4, #68] @ 0x44 7001515c: bfd8 it le 7001515e: 1c5f addle r7, r3, #1 70015160: eba2 0361 sub.w r3, r2, r1, asr #1 70015164: 3001 adds r0, #1 70015166: 9303 str r3, [sp, #12] 70015168: 1040 asrs r0, r0, #1 7001516a: f1c0 005a rsb r0, r0, #90 @ 0x5a 7001516e: f7ff fcff bl 70014b70 <_ZN8touchgfx7CWRUtil4sineEi> 70015172: 4601 mov r1, r0 70015174: 9803 ldr r0, [sp, #12] 70015176: f7ff fcf1 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 7001517a: 2800 cmp r0, #0 7001517c: fb07 f307 mul.w r3, r7, r7 70015180: bfb8 it lt 70015182: 301f addlt r0, #31 70015184: fb08 3808 mla r8, r8, r8, r3 70015188: 1140 asrs r0, r0, #5 7001518a: 4340 muls r0, r0 7001518c: 4580 cmp r8, r0 7001518e: da01 bge.n 70015194 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0xec> 70015190: 2401 movs r4, #1 70015192: e1d0 b.n 70015536 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x48e> 70015194: 6c23 ldr r3, [r4, #64] @ 0x40 70015196: 6b62 ldr r2, [r4, #52] @ 0x34 70015198: eb03 73d3 add.w r3, r3, r3, lsr #31 7001519c: eb12 0263 adds.w r2, r2, r3, asr #1 700151a0: d503 bpl.n 700151aa <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x102> 700151a2: e001 b.n 700151a8 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x100> 700151a4: 2a00 cmp r2, #0 700151a6: da00 bge.n 700151aa <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x102> 700151a8: 321f adds r2, #31 700151aa: f9bb 1000 ldrsh.w r1, [fp] 700151ae: 1152 asrs r2, r2, #5 700151b0: f8bb 3004 ldrh.w r3, [fp, #4] 700151b4: 3201 adds r2, #1 700151b6: 440b add r3, r1 700151b8: 4352 muls r2, r2 700151ba: b21b sxth r3, r3 700151bc: 454b cmp r3, r9 700151be: bfa8 it ge 700151c0: 464b movge r3, r9 700151c2: 428b cmp r3, r1 700151c4: bfac ite ge 700151c6: eba9 0903 subge.w r9, r9, r3 700151ca: eba9 0901 sublt.w r9, r9, r1 700151ce: f8bb 3006 ldrh.w r3, [fp, #6] 700151d2: f9bb 1002 ldrsh.w r1, [fp, #2] 700151d6: 440b add r3, r1 700151d8: b21b sxth r3, r3 700151da: 4553 cmp r3, sl 700151dc: bfa8 it ge 700151de: 4653 movge r3, sl 700151e0: 428b cmp r3, r1 700151e2: bfac ite ge 700151e4: ebaa 0a03 subge.w sl, sl, r3 700151e8: ebaa 0a01 sublt.w sl, sl, r1 700151ec: fb0a fa0a mul.w sl, sl, sl 700151f0: fb09 a909 mla r9, r9, r9, sl 700151f4: 4591 cmp r9, r2 700151f6: dccb bgt.n 70015190 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0xe8> 700151f8: 4621 mov r1, r4 700151fa: a80b add r0, sp, #44 @ 0x2c 700151fc: 6aa7 ldr r7, [r4, #40] @ 0x28 700151fe: f7fd fa1d bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 70015202: 6823 ldr r3, [r4, #0] 70015204: 4620 mov r0, r4 70015206: 6e5b ldr r3, [r3, #100] @ 0x64 70015208: 4798 blx r3 7001520a: aa0b add r2, sp, #44 @ 0x2c 7001520c: 4639 mov r1, r7 7001520e: 465b mov r3, fp 70015210: 9000 str r0, [sp, #0] 70015212: a80d add r0, sp, #52 @ 0x34 70015214: f002 f932 bl 7001747c <_ZN8touchgfx6CanvasC1EPKNS_15AbstractPainterERKNS_4RectES6_h> 70015218: f8d4 8034 ldr.w r8, [r4, #52] @ 0x34 7001521c: 6c27 ldr r7, [r4, #64] @ 0x40 7001521e: 4628 mov r0, r5 70015220: f894 b044 ldrb.w fp, [r4, #68] @ 0x44 70015224: ebb7 0f48 cmp.w r7, r8, lsl #1 70015228: 465b mov r3, fp 7001522a: bfc8 it gt 7001522c: eb07 77d7 addgt.w r7, r7, r7, lsr #31 70015230: ea4f 1343 mov.w r3, r3, lsl #5 70015234: bfc8 it gt 70015236: eb08 0767 addgt.w r7, r8, r7, asr #1 7001523a: 9303 str r3, [sp, #12] 7001523c: bfc4 itt gt 7001523e: eb07 78d7 addgt.w r8, r7, r7, lsr #31 70015242: ea4f 0868 movgt.w r8, r8, asr #1 70015246: ea4f 0348 mov.w r3, r8, lsl #1 7001524a: eb07 0a48 add.w sl, r7, r8, lsl #1 7001524e: 9304 str r3, [sp, #16] 70015250: f7ff fcae bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 70015254: 4601 mov r1, r0 70015256: 4650 mov r0, sl 70015258: f7ff fc80 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 7001525c: 6ae3 ldr r3, [r4, #44] @ 0x2c 7001525e: eb00 70d0 add.w r0, r0, r0, lsr #31 70015262: eb03 0960 add.w r9, r3, r0, asr #1 70015266: 4628 mov r0, r5 70015268: f7ff fcc1 bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 7001526c: 4601 mov r1, r0 7001526e: 4650 mov r0, sl 70015270: f7ff fc74 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70015274: 6b22 ldr r2, [r4, #48] @ 0x30 70015276: eb00 70d0 add.w r0, r0, r0, lsr #31 7001527a: 4649 mov r1, r9 7001527c: f105 0920 add.w r9, r5, #32 70015280: eba2 0260 sub.w r2, r2, r0, asr #1 70015284: a80d add r0, sp, #52 @ 0x34 70015286: f002 fa49 bl 7001771c <_ZN8touchgfx6Canvas6moveToENS_7CWRUtil2Q5ES2_> 7001528a: f1bb 0f00 cmp.w fp, #0 7001528e: d101 bne.n 70015294 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x1ec> 70015290: 46ab mov fp, r5 70015292: e02c b.n 700152ee <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x246> 70015294: 9b03 ldr r3, [sp, #12] 70015296: 9a03 ldr r2, [sp, #12] 70015298: 9903 ldr r1, [sp, #12] 7001529a: fb99 f3f3 sdiv r3, r9, r3 7001529e: fb02 9313 mls r3, r2, r3, r9 700152a2: 1ad3 subs r3, r2, r3 700152a4: fb93 f2f2 sdiv r2, r3, r2 700152a8: fb01 3312 mls r3, r1, r2, r3 700152ac: 4499 add r9, r3 700152ae: e7ef b.n 70015290 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x1e8> 700152b0: 4648 mov r0, r9 700152b2: f7ff fc7d bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 700152b6: 4601 mov r1, r0 700152b8: 4650 mov r0, sl 700152ba: f7ff fc4f bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 700152be: 6ae3 ldr r3, [r4, #44] @ 0x2c 700152c0: eb00 70d0 add.w r0, r0, r0, lsr #31 700152c4: eb03 0b60 add.w fp, r3, r0, asr #1 700152c8: 4648 mov r0, r9 700152ca: f7ff fc90 bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 700152ce: 4601 mov r1, r0 700152d0: 4650 mov r0, sl 700152d2: f7ff fc43 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 700152d6: 6b22 ldr r2, [r4, #48] @ 0x30 700152d8: eb00 70d0 add.w r0, r0, r0, lsr #31 700152dc: 4659 mov r1, fp 700152de: 46cb mov fp, r9 700152e0: eba2 0260 sub.w r2, r2, r0, asr #1 700152e4: a80d add r0, sp, #52 @ 0x34 700152e6: f002 fa66 bl 700177b6 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_> 700152ea: 9b03 ldr r3, [sp, #12] 700152ec: 4499 add r9, r3 700152ee: 454e cmp r6, r9 700152f0: dade bge.n 700152b0 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x208> 700152f2: 455e cmp r6, fp 700152f4: dd1b ble.n 7001532e <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x286> 700152f6: 4630 mov r0, r6 700152f8: f7ff fc5a bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 700152fc: 4601 mov r1, r0 700152fe: 4650 mov r0, sl 70015300: f7ff fc2c bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70015304: 6ae3 ldr r3, [r4, #44] @ 0x2c 70015306: eb00 70d0 add.w r0, r0, r0, lsr #31 7001530a: eb03 0960 add.w r9, r3, r0, asr #1 7001530e: 4630 mov r0, r6 70015310: f7ff fc6d bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 70015314: 4601 mov r1, r0 70015316: 4650 mov r0, sl 70015318: f7ff fc20 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 7001531c: 6b22 ldr r2, [r4, #48] @ 0x30 7001531e: eb00 70d0 add.w r0, r0, r0, lsr #31 70015322: 4649 mov r1, r9 70015324: eba2 0260 sub.w r2, r2, r0, asr #1 70015328: a80d add r0, sp, #52 @ 0x34 7001532a: f002 fa44 bl 700177b6 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_> 7001532e: b957 cbnz r7, 70015346 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x29e> 70015330: 1b75 subs r5, r6, r5 70015332: f5b5 5f34 cmp.w r5, #11520 @ 0x2d00 70015336: f280 80f2 bge.w 7001551e <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x476> 7001533a: a80d add r0, sp, #52 @ 0x34 7001533c: e9d4 120b ldrd r1, r2, [r4, #44] @ 0x2c 70015340: f002 fa39 bl 700177b6 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_> 70015344: e0eb b.n 7001551e <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x476> 70015346: e9dd 2313 ldrd r2, r3, [sp, #76] @ 0x4c 7001534a: 429a cmp r2, r3 7001534c: f0c0 80ed bcc.w 7001552a <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x482> 70015350: f894 3045 ldrb.w r3, [r4, #69] @ 0x45 70015354: ea4f 1a43 mov.w sl, r3, lsl #5 70015358: 1b73 subs r3, r6, r5 7001535a: f5b3 5f34 cmp.w r3, #11520 @ 0x2d00 7001535e: 9305 str r3, [sp, #20] 70015360: db02 blt.n 70015368 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x2c0> 70015362: 455e cmp r6, fp 70015364: dd5c ble.n 70015420 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x378> 70015366: e03b b.n 700153e0 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x338> 70015368: 4630 mov r0, r6 7001536a: eb0a 0906 add.w r9, sl, r6 7001536e: f7ff fc1f bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 70015372: 4601 mov r1, r0 70015374: 4640 mov r0, r8 70015376: f7ff fbf1 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 7001537a: 6ae3 ldr r3, [r4, #44] @ 0x2c 7001537c: 18c3 adds r3, r0, r3 7001537e: 4630 mov r0, r6 70015380: 9307 str r3, [sp, #28] 70015382: f7ff fc34 bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 70015386: 4601 mov r1, r0 70015388: 4640 mov r0, r8 7001538a: f7ff fbe7 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 7001538e: 6b23 ldr r3, [r4, #48] @ 0x30 70015390: 1a1b subs r3, r3, r0 70015392: 9306 str r3, [sp, #24] 70015394: f506 53b4 add.w r3, r6, #5760 @ 0x1680 70015398: 9309 str r3, [sp, #36] @ 0x24 7001539a: e01d b.n 700153d8 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x330> 7001539c: 4648 mov r0, r9 7001539e: f7ff fc07 bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 700153a2: 4601 mov r1, r0 700153a4: 4638 mov r0, r7 700153a6: f7ff fbd9 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 700153aa: 9b07 ldr r3, [sp, #28] 700153ac: eb00 70d0 add.w r0, r0, r0, lsr #31 700153b0: eb03 0360 add.w r3, r3, r0, asr #1 700153b4: 4648 mov r0, r9 700153b6: 44d1 add r9, sl 700153b8: 9308 str r3, [sp, #32] 700153ba: f7ff fc18 bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 700153be: 4601 mov r1, r0 700153c0: 4638 mov r0, r7 700153c2: f7ff fbcb bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 700153c6: 9b06 ldr r3, [sp, #24] 700153c8: eb00 70d0 add.w r0, r0, r0, lsr #31 700153cc: 9908 ldr r1, [sp, #32] 700153ce: eba3 0260 sub.w r2, r3, r0, asr #1 700153d2: a80d add r0, sp, #52 @ 0x34 700153d4: f002 f9ef bl 700177b6 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_> 700153d8: 9b09 ldr r3, [sp, #36] @ 0x24 700153da: 454b cmp r3, r9 700153dc: dcde bgt.n 7001539c <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x2f4> 700153de: e7c0 b.n 70015362 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x2ba> 700153e0: 9b04 ldr r3, [sp, #16] 700153e2: 4630 mov r0, r6 700153e4: eba3 0907 sub.w r9, r3, r7 700153e8: f7ff fbe2 bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 700153ec: 4601 mov r1, r0 700153ee: 4648 mov r0, r9 700153f0: f7ff fbb4 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 700153f4: 6ae2 ldr r2, [r4, #44] @ 0x2c 700153f6: eb00 70d0 add.w r0, r0, r0, lsr #31 700153fa: eb02 0360 add.w r3, r2, r0, asr #1 700153fe: 4630 mov r0, r6 70015400: 9306 str r3, [sp, #24] 70015402: f7ff fbf4 bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 70015406: 4601 mov r1, r0 70015408: 4648 mov r0, r9 7001540a: f7ff fba7 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 7001540e: 6b22 ldr r2, [r4, #48] @ 0x30 70015410: eb00 70d0 add.w r0, r0, r0, lsr #31 70015414: 9906 ldr r1, [sp, #24] 70015416: eba2 0260 sub.w r2, r2, r0, asr #1 7001541a: a80d add r0, sp, #52 @ 0x34 7001541c: f002 f9cb bl 700177b6 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_> 70015420: 9b04 ldr r3, [sp, #16] 70015422: 46d9 mov r9, fp 70015424: 1bde subs r6, r3, r7 70015426: e01f b.n 70015468 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x3c0> 70015428: 4648 mov r0, r9 7001542a: f7ff fbc1 bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 7001542e: 4601 mov r1, r0 70015430: 4630 mov r0, r6 70015432: f7ff fb93 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70015436: 6ae2 ldr r2, [r4, #44] @ 0x2c 70015438: eb00 70d0 add.w r0, r0, r0, lsr #31 7001543c: eb02 0b60 add.w fp, r2, r0, asr #1 70015440: 4648 mov r0, r9 70015442: f7ff fbd4 bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 70015446: 4601 mov r1, r0 70015448: 4630 mov r0, r6 7001544a: f7ff fb87 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 7001544e: 6b22 ldr r2, [r4, #48] @ 0x30 70015450: eb00 70d0 add.w r0, r0, r0, lsr #31 70015454: 4659 mov r1, fp 70015456: 46cb mov fp, r9 70015458: eba2 0260 sub.w r2, r2, r0, asr #1 7001545c: a80d add r0, sp, #52 @ 0x34 7001545e: f002 f9aa bl 700177b6 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_> 70015462: 9b03 ldr r3, [sp, #12] 70015464: eba9 0903 sub.w r9, r9, r3 70015468: 454d cmp r5, r9 7001546a: dddd ble.n 70015428 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x380> 7001546c: 455d cmp r5, fp 7001546e: da1e bge.n 700154ae <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x406> 70015470: 9b04 ldr r3, [sp, #16] 70015472: 4628 mov r0, r5 70015474: eba3 0907 sub.w r9, r3, r7 70015478: f7ff fb9a bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 7001547c: 4601 mov r1, r0 7001547e: 4648 mov r0, r9 70015480: f7ff fb6c bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70015484: 6ae6 ldr r6, [r4, #44] @ 0x2c 70015486: eb00 70d0 add.w r0, r0, r0, lsr #31 7001548a: eb06 0660 add.w r6, r6, r0, asr #1 7001548e: 4628 mov r0, r5 70015490: f7ff fbad bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 70015494: 4601 mov r1, r0 70015496: 4648 mov r0, r9 70015498: f7ff fb60 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 7001549c: 6b22 ldr r2, [r4, #48] @ 0x30 7001549e: eb00 70d0 add.w r0, r0, r0, lsr #31 700154a2: 4631 mov r1, r6 700154a4: eba2 0260 sub.w r2, r2, r0, asr #1 700154a8: a80d add r0, sp, #52 @ 0x34 700154aa: f002 f984 bl 700177b6 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_> 700154ae: 9b05 ldr r3, [sp, #20] 700154b0: f5b3 5f34 cmp.w r3, #11520 @ 0x2d00 700154b4: da33 bge.n 7001551e <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x476> 700154b6: 4628 mov r0, r5 700154b8: f7ff fb7a bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 700154bc: 4601 mov r1, r0 700154be: 4640 mov r0, r8 700154c0: f7ff fb4c bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 700154c4: 6ae3 ldr r3, [r4, #44] @ 0x2c 700154c6: eb00 0903 add.w r9, r0, r3 700154ca: 4628 mov r0, r5 700154cc: f7ff fb8f bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 700154d0: 4601 mov r1, r0 700154d2: 4640 mov r0, r8 700154d4: f7ff fb42 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 700154d8: 6b23 ldr r3, [r4, #48] @ 0x30 700154da: f5a5 54b4 sub.w r4, r5, #5760 @ 0x1680 700154de: eba3 0800 sub.w r8, r3, r0 700154e2: e019 b.n 70015518 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x470> 700154e4: 4620 mov r0, r4 700154e6: f7ff fb63 bl 70014bb0 <_ZN8touchgfx7CWRUtil4sineENS0_2Q5E> 700154ea: 4601 mov r1, r0 700154ec: 4638 mov r0, r7 700154ee: f7ff fb35 bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 700154f2: eb00 70d0 add.w r0, r0, r0, lsr #31 700154f6: eb09 0660 add.w r6, r9, r0, asr #1 700154fa: 4620 mov r0, r4 700154fc: f7ff fb77 bl 70014bee <_ZN8touchgfx7CWRUtil6cosineENS0_2Q5E> 70015500: 4601 mov r1, r0 70015502: 4638 mov r0, r7 70015504: f7ff fb2a bl 70014b5c <_ZNK8touchgfx7CWRUtil2Q5mlERKNS0_3Q15E.isra.0> 70015508: 4631 mov r1, r6 7001550a: eb00 70d0 add.w r0, r0, r0, lsr #31 7001550e: eba8 0260 sub.w r2, r8, r0, asr #1 70015512: a80d add r0, sp, #52 @ 0x34 70015514: f002 f94f bl 700177b6 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_> 70015518: 4454 add r4, sl 7001551a: 42ac cmp r4, r5 7001551c: dbe2 blt.n 700154e4 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x43c> 7001551e: 21ff movs r1, #255 @ 0xff 70015520: a80d add r0, sp, #52 @ 0x34 70015522: f002 f839 bl 70017598 <_ZN8touchgfx6Canvas6renderEh> 70015526: 4604 mov r4, r0 70015528: e000 b.n 7001552c <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x484> 7001552a: 2400 movs r4, #0 7001552c: 4b04 ldr r3, [pc, #16] @ (70015540 <_ZNK8touchgfx6Circle16drawCanvasWidgetERKNS_4RectE+0x498>) 7001552e: a812 add r0, sp, #72 @ 0x48 70015530: 930d str r3, [sp, #52] @ 0x34 70015532: f000 fec7 bl 700162c4 <_ZN8touchgfx7OutlineD1Ev> 70015536: 4620 mov r0, r4 70015538: b02b add sp, #172 @ 0xac 7001553a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001553e: bf00 nop 70015540: 7003ffc0 .word 0x7003ffc0 70015544 <_ZNK8touchgfx12CanvasWidget14getMinimalRectEv>: 70015544: b510 push {r4, lr} 70015546: 2200 movs r2, #0 70015548: f9b1 4008 ldrsh.w r4, [r1, #8] 7001554c: f9b1 100a ldrsh.w r1, [r1, #10] 70015550: 8002 strh r2, [r0, #0] 70015552: 8042 strh r2, [r0, #2] 70015554: 8084 strh r4, [r0, #4] 70015556: 80c1 strh r1, [r0, #6] 70015558: bd10 pop {r4, pc} ... 7001555c <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE>: 7001555c: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} 7001555e: 6803 ldr r3, [r0, #0] 70015560: 460d mov r5, r1 70015562: 4604 mov r4, r0 70015564: 4601 mov r1, r0 70015566: 6e9b ldr r3, [r3, #104] @ 0x68 70015568: a802 add r0, sp, #8 7001556a: 4798 blx r3 7001556c: 6828 ldr r0, [r5, #0] 7001556e: 6869 ldr r1, [r5, #4] 70015570: 466b mov r3, sp 70015572: c303 stmia r3!, {r0, r1} 70015574: 4668 mov r0, sp 70015576: 4619 mov r1, r3 70015578: f7f8 fdfc bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 7001557c: 6aa0 ldr r0, [r4, #40] @ 0x28 7001557e: 2800 cmp r0, #0 70015580: d064 beq.n 7001564c <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0xf0> 70015582: 6803 ldr r3, [r0, #0] 70015584: 1d21 adds r1, r4, #4 70015586: 68db ldr r3, [r3, #12] 70015588: 4798 blx r3 7001558a: 2800 cmp r0, #0 7001558c: d05e beq.n 7001564c <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0xf0> 7001558e: f9bd 5004 ldrsh.w r5, [sp, #4] 70015592: f9bd 3006 ldrsh.w r3, [sp, #6] 70015596: 2d00 cmp r5, #0 70015598: dd58 ble.n 7001564c <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0xf0> 7001559a: 2b00 cmp r3, #0 7001559c: dd56 ble.n 7001564c <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0xf0> 7001559e: 4a2c ldr r2, [pc, #176] @ (70015650 <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0xf4>) 700155a0: 7812 ldrb r2, [r2, #0] 700155a2: b112 cbz r2, 700155aa <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0x4e> 700155a4: 2a01 cmp r2, #1 700155a6: d029 beq.n 700155fc <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0xa0> 700155a8: e050 b.n 7001564c <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0xf0> 700155aa: f8bd 2002 ldrh.w r2, [sp, #2] 700155ae: 189d adds r5, r3, r2 700155b0: b2ae uxth r6, r5 700155b2: b22d sxth r5, r5 700155b4: e01d b.n 700155f2 <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0x96> 700155b6: f9bd 3006 ldrsh.w r3, [sp, #6] 700155ba: 2b01 cmp r3, #1 700155bc: d00a beq.n 700155d4 <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0x78> 700155be: 3301 adds r3, #1 700155c0: 105b asrs r3, r3, #1 700155c2: f8ad 3006 strh.w r3, [sp, #6] 700155c6: 6823 ldr r3, [r4, #0] 700155c8: 4669 mov r1, sp 700155ca: 4620 mov r0, r4 700155cc: 6edb ldr r3, [r3, #108] @ 0x6c 700155ce: 4798 blx r3 700155d0: 2800 cmp r0, #0 700155d2: d0f0 beq.n 700155b6 <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0x5a> 700155d4: f8bd 2006 ldrh.w r2, [sp, #6] 700155d8: f8bd 3002 ldrh.w r3, [sp, #2] 700155dc: 4413 add r3, r2 700155de: b29b uxth r3, r3 700155e0: 441a add r2, r3 700155e2: f8ad 3002 strh.w r3, [sp, #2] 700155e6: b212 sxth r2, r2 700155e8: 4295 cmp r5, r2 700155ea: bfbc itt lt 700155ec: 1af3 sublt r3, r6, r3 700155ee: f8ad 3006 strhlt.w r3, [sp, #6] 700155f2: f9bd 3002 ldrsh.w r3, [sp, #2] 700155f6: 42ab cmp r3, r5 700155f8: dbe5 blt.n 700155c6 <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0x6a> 700155fa: e027 b.n 7001564c <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0xf0> 700155fc: f8bd 3000 ldrh.w r3, [sp] 70015600: 441d add r5, r3 70015602: b2ae uxth r6, r5 70015604: b22d sxth r5, r5 70015606: e01d b.n 70015644 <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0xe8> 70015608: f9bd 3004 ldrsh.w r3, [sp, #4] 7001560c: 2b01 cmp r3, #1 7001560e: d00a beq.n 70015626 <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0xca> 70015610: 3301 adds r3, #1 70015612: 105b asrs r3, r3, #1 70015614: f8ad 3004 strh.w r3, [sp, #4] 70015618: 6823 ldr r3, [r4, #0] 7001561a: 4669 mov r1, sp 7001561c: 4620 mov r0, r4 7001561e: 6edb ldr r3, [r3, #108] @ 0x6c 70015620: 4798 blx r3 70015622: 2800 cmp r0, #0 70015624: d0f0 beq.n 70015608 <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0xac> 70015626: f8bd 2004 ldrh.w r2, [sp, #4] 7001562a: f8bd 3000 ldrh.w r3, [sp] 7001562e: 4413 add r3, r2 70015630: b29b uxth r3, r3 70015632: 441a add r2, r3 70015634: f8ad 3000 strh.w r3, [sp] 70015638: b212 sxth r2, r2 7001563a: 4295 cmp r5, r2 7001563c: bfbc itt lt 7001563e: 1af3 sublt r3, r6, r3 70015640: f8ad 3004 strhlt.w r3, [sp, #4] 70015644: f9bd 3000 ldrsh.w r3, [sp] 70015648: 42ab cmp r3, r5 7001564a: dbe5 blt.n 70015618 <_ZNK8touchgfx12CanvasWidget4drawERKNS_4RectE+0xbc> 7001564c: b004 add sp, #16 7001564e: bd70 pop {r4, r5, r6, pc} 70015650: 2400da72 .word 0x2400da72 70015654 <_ZNK8touchgfx12CanvasWidget10invalidateEv>: 70015654: b51f push {r0, r1, r2, r3, r4, lr} 70015656: 6803 ldr r3, [r0, #0] 70015658: 4604 mov r4, r0 7001565a: 4601 mov r1, r0 7001565c: 4668 mov r0, sp 7001565e: 6e9b ldr r3, [r3, #104] @ 0x68 70015660: 4798 blx r3 70015662: 68a3 ldr r3, [r4, #8] 70015664: 2200 movs r2, #0 70015666: a902 add r1, sp, #8 70015668: 4668 mov r0, sp 7001566a: e9cd 2302 strd r2, r3, [sp, #8] 7001566e: f7f8 fd81 bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 70015672: 6823 ldr r3, [r4, #0] 70015674: 4669 mov r1, sp 70015676: 4620 mov r0, r4 70015678: 691b ldr r3, [r3, #16] 7001567a: 4798 blx r3 7001567c: b004 add sp, #16 7001567e: bd10 pop {r4, pc} 70015680 <_ZN8touchgfx12CanvasWidgetC1Ev>: 70015680: 4a09 ldr r2, [pc, #36] @ (700156a8 <_ZN8touchgfx12CanvasWidgetC1Ev+0x28>) 70015682: f44f 7180 mov.w r1, #256 @ 0x100 70015686: 6002 str r2, [r0, #0] 70015688: 2200 movs r2, #0 7001568a: 8481 strh r1, [r0, #36] @ 0x24 7001568c: 21ff movs r1, #255 @ 0xff 7001568e: 6282 str r2, [r0, #40] @ 0x28 70015690: f880 1026 strb.w r1, [r0, #38] @ 0x26 70015694: e9c0 2201 strd r2, r2, [r0, #4] 70015698: e9c0 2203 strd r2, r2, [r0, #12] 7001569c: e9c0 2205 strd r2, r2, [r0, #20] 700156a0: e9c0 2207 strd r2, r2, [r0, #28] 700156a4: 4770 bx lr 700156a6: bf00 nop 700156a8: 7003fe24 .word 0x7003fe24 700156ac <_ZN8touchgfx14AbstractButton16handleClickEventERKNS_10ClickEventE>: 700156ac: 790b ldrb r3, [r1, #4] 700156ae: 2b00 cmp r3, #0 700156b0: bf0c ite eq 700156b2: 2301 moveq r3, #1 700156b4: 2300 movne r3, #0 700156b6: b570 push {r4, r5, r6, lr} 700156b8: 4604 mov r4, r0 700156ba: f890 602c ldrb.w r6, [r0, #44] @ 0x2c 700156be: 460d mov r5, r1 700156c0: f880 302c strb.w r3, [r0, #44] @ 0x2c 700156c4: d104 bne.n 700156d0 <_ZN8touchgfx14AbstractButton16handleClickEventERKNS_10ClickEventE+0x24> 700156c6: b126 cbz r6, 700156d2 <_ZN8touchgfx14AbstractButton16handleClickEventERKNS_10ClickEventE+0x26> 700156c8: 792b ldrb r3, [r5, #4] 700156ca: 2b01 cmp r3, #1 700156cc: d10d bne.n 700156ea <_ZN8touchgfx14AbstractButton16handleClickEventERKNS_10ClickEventE+0x3e> 700156ce: e006 b.n 700156de <_ZN8touchgfx14AbstractButton16handleClickEventERKNS_10ClickEventE+0x32> 700156d0: b15e cbz r6, 700156ea <_ZN8touchgfx14AbstractButton16handleClickEventERKNS_10ClickEventE+0x3e> 700156d2: 6823 ldr r3, [r4, #0] 700156d4: 4620 mov r0, r4 700156d6: 695b ldr r3, [r3, #20] 700156d8: 4798 blx r3 700156da: b136 cbz r6, 700156ea <_ZN8touchgfx14AbstractButton16handleClickEventERKNS_10ClickEventE+0x3e> 700156dc: e7f4 b.n 700156c8 <_ZN8touchgfx14AbstractButton16handleClickEventERKNS_10ClickEventE+0x1c> 700156de: 6823 ldr r3, [r4, #0] 700156e0: 4620 mov r0, r4 700156e2: 6e1b ldr r3, [r3, #96] @ 0x60 700156e4: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 700156e8: 4718 bx r3 700156ea: bd70 pop {r4, r5, r6, pc} 700156ec <_ZN8touchgfx13TextureMapper21setRenderingAlgorithmENS0_18RenderingAlgorithmE>: 700156ec: f880 1029 strb.w r1, [r0, #41] @ 0x29 700156f0: 4770 bx lr 700156f2 <_ZNK8touchgfx13TextureMapper21getRenderingAlgorithmEv>: 700156f2: f890 0029 ldrb.w r0, [r0, #41] @ 0x29 700156f6: 4770 bx lr 700156f8 <_ZN8touchgfx13TextureMapper9setXAngleEf>: 700156f8: 6802 ldr r2, [r0, #0] 700156fa: ed90 1a0f vldr s2, [r0, #60] @ 0x3c 700156fe: 6ed2 ldr r2, [r2, #108] @ 0x6c 70015700: edd0 0a0e vldr s1, [r0, #56] @ 0x38 70015704: 4710 bx r2 70015706 <_ZN8touchgfx13TextureMapper9setYAngleEf>: 70015706: 6802 ldr r2, [r0, #0] 70015708: eef0 0a40 vmov.f32 s1, s0 7001570c: ed90 1a0f vldr s2, [r0, #60] @ 0x3c 70015710: 6ed2 ldr r2, [r2, #108] @ 0x6c 70015712: ed90 0a0d vldr s0, [r0, #52] @ 0x34 70015716: 4710 bx r2 70015718 <_ZN8touchgfx13TextureMapper9setZAngleEf>: 70015718: 6802 ldr r2, [r0, #0] 7001571a: eeb0 1a40 vmov.f32 s2, s0 7001571e: edd0 0a0e vldr s1, [r0, #56] @ 0x38 70015722: 6ed2 ldr r2, [r2, #108] @ 0x6c 70015724: ed90 0a0d vldr s0, [r0, #52] @ 0x34 70015728: 4710 bx r2 7001572a <_ZN8touchgfx13TextureMapper12updateXAngleEf>: 7001572a: 6802 ldr r2, [r0, #0] 7001572c: ed90 1a0f vldr s2, [r0, #60] @ 0x3c 70015730: 6fd2 ldr r2, [r2, #124] @ 0x7c 70015732: edd0 0a0e vldr s1, [r0, #56] @ 0x38 70015736: 4710 bx r2 70015738 <_ZN8touchgfx13TextureMapper12updateYAngleEf>: 70015738: 6802 ldr r2, [r0, #0] 7001573a: eef0 0a40 vmov.f32 s1, s0 7001573e: ed90 1a0f vldr s2, [r0, #60] @ 0x3c 70015742: 6fd2 ldr r2, [r2, #124] @ 0x7c 70015744: ed90 0a0d vldr s0, [r0, #52] @ 0x34 70015748: 4710 bx r2 7001574a <_ZNK8touchgfx13TextureMapper9getXAngleEv>: 7001574a: ed90 0a0d vldr s0, [r0, #52] @ 0x34 7001574e: 4770 bx lr 70015750 <_ZNK8touchgfx13TextureMapper9getYAngleEv>: 70015750: ed90 0a0e vldr s0, [r0, #56] @ 0x38 70015754: 4770 bx lr 70015756 <_ZNK8touchgfx13TextureMapper9getZAngleEv>: 70015756: ed90 0a0f vldr s0, [r0, #60] @ 0x3c 7001575a: 4770 bx lr 7001575c <_ZNK8touchgfx13TextureMapper8getScaleEv>: 7001575c: ed90 0a10 vldr s0, [r0, #64] @ 0x40 70015760: 4770 bx lr 70015762 <_ZNK8touchgfx13TextureMapper9getOrigoXEv>: 70015762: ed90 0a11 vldr s0, [r0, #68] @ 0x44 70015766: 4770 bx lr 70015768 <_ZNK8touchgfx13TextureMapper9getOrigoYEv>: 70015768: ed90 0a12 vldr s0, [r0, #72] @ 0x48 7001576c: 4770 bx lr 7001576e <_ZNK8touchgfx13TextureMapper9getOrigoZEv>: 7001576e: ed90 0a13 vldr s0, [r0, #76] @ 0x4c 70015772: 4770 bx lr 70015774 <_ZNK8touchgfx13TextureMapper10getCameraXEv>: 70015774: ed90 0a14 vldr s0, [r0, #80] @ 0x50 70015778: 4770 bx lr 7001577a <_ZNK8touchgfx13TextureMapper10getCameraYEv>: 7001577a: ed90 0a15 vldr s0, [r0, #84] @ 0x54 7001577e: 4770 bx lr 70015780 <_ZNK8touchgfx13TextureMapper17getCameraDistanceEv>: 70015780: ed90 0a16 vldr s0, [r0, #88] @ 0x58 70015784: 4770 bx lr 70015786 <_ZN8touchgfx13TextureMapper17setBitmapPositionEii>: 70015786: ee00 1a10 vmov s0, r1 7001578a: ee00 2a90 vmov s1, r2 7001578e: 6803 ldr r3, [r0, #0] 70015790: eef8 0ae0 vcvt.f32.s32 s1, s1 70015794: eeb8 0ac0 vcvt.f32.s32 s0, s0 70015798: f8d3 30cc ldr.w r3, [r3, #204] @ 0xcc 7001579c: 4718 bx r3 7001579e <_ZNK8touchgfx13TextureMapper18getBitmapPositionXEv>: 7001579e: ed90 0a0b vldr s0, [r0, #44] @ 0x2c 700157a2: 4770 bx lr 700157a4 <_ZNK8touchgfx13TextureMapper18getBitmapPositionYEv>: 700157a4: ed90 0a0c vldr s0, [r0, #48] @ 0x30 700157a8: 4770 bx lr 700157aa <_ZNK8touchgfx13TextureMapper5getX0Ev>: 700157aa: ed90 0a17 vldr s0, [r0, #92] @ 0x5c 700157ae: 4770 bx lr 700157b0 <_ZNK8touchgfx13TextureMapper5getX1Ev>: 700157b0: ed90 0a1a vldr s0, [r0, #104] @ 0x68 700157b4: 4770 bx lr 700157b6 <_ZNK8touchgfx13TextureMapper5getX2Ev>: 700157b6: ed90 0a1d vldr s0, [r0, #116] @ 0x74 700157ba: 4770 bx lr 700157bc <_ZNK8touchgfx13TextureMapper5getX3Ev>: 700157bc: ed90 0a20 vldr s0, [r0, #128] @ 0x80 700157c0: 4770 bx lr 700157c2 <_ZNK8touchgfx13TextureMapper5getY0Ev>: 700157c2: ed90 0a18 vldr s0, [r0, #96] @ 0x60 700157c6: 4770 bx lr 700157c8 <_ZNK8touchgfx13TextureMapper5getY1Ev>: 700157c8: ed90 0a1b vldr s0, [r0, #108] @ 0x6c 700157cc: 4770 bx lr 700157ce <_ZNK8touchgfx13TextureMapper5getY2Ev>: 700157ce: ed90 0a1e vldr s0, [r0, #120] @ 0x78 700157d2: 4770 bx lr 700157d4 <_ZNK8touchgfx13TextureMapper5getY3Ev>: 700157d4: ed90 0a21 vldr s0, [r0, #132] @ 0x84 700157d8: 4770 bx lr 700157da <_ZNK8touchgfx13TextureMapper5getZ0Ev>: 700157da: ed90 0a19 vldr s0, [r0, #100] @ 0x64 700157de: 4770 bx lr 700157e0 <_ZNK8touchgfx13TextureMapper5getZ1Ev>: 700157e0: ed90 0a1c vldr s0, [r0, #112] @ 0x70 700157e4: 4770 bx lr 700157e6 <_ZNK8touchgfx13TextureMapper5getZ2Ev>: 700157e6: ed90 0a1f vldr s0, [r0, #124] @ 0x7c 700157ea: 4770 bx lr 700157ec <_ZNK8touchgfx13TextureMapper5getZ3Ev>: 700157ec: ed90 0a22 vldr s0, [r0, #136] @ 0x88 700157f0: 4770 bx lr 700157f2 <_ZN8touchgfx13TextureMapper12updateAnglesEfff>: 700157f2: b510 push {r4, lr} 700157f4: ed2d 8b04 vpush {d8-d9} 700157f8: 6803 ldr r3, [r0, #0] 700157fa: 4604 mov r4, r0 700157fc: eeb0 8a40 vmov.f32 s16, s0 70015800: eef0 8a60 vmov.f32 s17, s1 70015804: 699b ldr r3, [r3, #24] 70015806: eeb0 9a41 vmov.f32 s18, s2 7001580a: 4798 blx r3 7001580c: 6823 ldr r3, [r4, #0] 7001580e: 4620 mov r0, r4 70015810: eef0 0a68 vmov.f32 s1, s17 70015814: eeb0 1a49 vmov.f32 s2, s18 70015818: 6edb ldr r3, [r3, #108] @ 0x6c 7001581a: eeb0 0a48 vmov.f32 s0, s16 7001581e: 4798 blx r3 70015820: 6823 ldr r3, [r4, #0] 70015822: 4620 mov r0, r4 70015824: 699b ldr r3, [r3, #24] 70015826: ecbd 8b04 vpop {d8-d9} 7001582a: e8bd 4010 ldmia.w sp!, {r4, lr} 7001582e: 4718 bx r3 70015830 <_ZN8touchgfx13TextureMapper11updateScaleEf>: 70015830: b510 push {r4, lr} 70015832: ed2d 8b02 vpush {d8} 70015836: 6803 ldr r3, [r0, #0] 70015838: 4604 mov r4, r0 7001583a: eeb0 8a40 vmov.f32 s16, s0 7001583e: 699b ldr r3, [r3, #24] 70015840: 4798 blx r3 70015842: 6823 ldr r3, [r4, #0] 70015844: 4620 mov r0, r4 70015846: eeb0 0a48 vmov.f32 s0, s16 7001584a: f8d3 3098 ldr.w r3, [r3, #152] @ 0x98 7001584e: 4798 blx r3 70015850: 6823 ldr r3, [r4, #0] 70015852: 4620 mov r0, r4 70015854: 699b ldr r3, [r3, #24] 70015856: ecbd 8b02 vpop {d8} 7001585a: e8bd 4010 ldmia.w sp!, {r4, lr} 7001585e: 4718 bx r3 70015860 <_ZNK8touchgfx13TextureMapper12getSolidRectEv>: 70015860: 2200 movs r2, #0 70015862: 8002 strh r2, [r0, #0] 70015864: 8042 strh r2, [r0, #2] 70015866: 8082 strh r2, [r0, #4] 70015868: 80c2 strh r2, [r0, #6] 7001586a: 4770 bx lr 7001586c <_ZN8touchgfx13TextureMapperD1Ev>: 7001586c: 4770 bx lr 7001586e <_ZN8touchgfx13TextureMapperD0Ev>: 7001586e: b510 push {r4, lr} 70015870: 4604 mov r4, r0 70015872: 2190 movs r1, #144 @ 0x90 70015874: f023 ff9f bl 700397b6 <_ZdlPvj> 70015878: 4620 mov r0, r4 7001587a: bd10 pop {r4, pc} 7001587c <_ZN8touchgfx13TextureMapperC1ERKNS_6BitmapE>: 7001587c: b538 push {r3, r4, r5, lr} 7001587e: f44f 7380 mov.w r3, #256 @ 0x100 70015882: 2500 movs r5, #0 70015884: 4604 mov r4, r0 70015886: 8483 strh r3, [r0, #36] @ 0x24 70015888: 4b1c ldr r3, [pc, #112] @ (700158fc <_ZN8touchgfx13TextureMapperC1ERKNS_6BitmapE+0x80>) 7001588a: e9c0 5501 strd r5, r5, [r0, #4] 7001588e: e9c0 5503 strd r5, r5, [r0, #12] 70015892: e9c0 5505 strd r5, r5, [r0, #20] 70015896: e9c0 5507 strd r5, r5, [r0, #28] 7001589a: 6003 str r3, [r0, #0] 7001589c: 880b ldrh r3, [r1, #0] 7001589e: 84c3 strh r3, [r0, #38] @ 0x26 700158a0: 23ff movs r3, #255 @ 0xff 700158a2: f880 3028 strb.w r3, [r0, #40] @ 0x28 700158a6: f7fa fa3a bl 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE> 700158aa: 4b15 ldr r3, [pc, #84] @ (70015900 <_ZN8touchgfx13TextureMapperC1ERKNS_6BitmapE+0x84>) 700158ac: f04f 527e mov.w r2, #1065353216 @ 0x3f800000 700158b0: 4914 ldr r1, [pc, #80] @ (70015904 <_ZN8touchgfx13TextureMapperC1ERKNS_6BitmapE+0x88>) 700158b2: 6023 str r3, [r4, #0] 700158b4: 2300 movs r3, #0 700158b6: 4620 mov r0, r4 700158b8: f884 5029 strb.w r5, [r4, #41] @ 0x29 700158bc: 62e3 str r3, [r4, #44] @ 0x2c 700158be: 6323 str r3, [r4, #48] @ 0x30 700158c0: 6363 str r3, [r4, #52] @ 0x34 700158c2: 63a3 str r3, [r4, #56] @ 0x38 700158c4: 63e3 str r3, [r4, #60] @ 0x3c 700158c6: 6463 str r3, [r4, #68] @ 0x44 700158c8: 64a3 str r3, [r4, #72] @ 0x48 700158ca: 6523 str r3, [r4, #80] @ 0x50 700158cc: 6563 str r3, [r4, #84] @ 0x54 700158ce: 65e3 str r3, [r4, #92] @ 0x5c 700158d0: 6623 str r3, [r4, #96] @ 0x60 700158d2: 66a3 str r3, [r4, #104] @ 0x68 700158d4: 66e3 str r3, [r4, #108] @ 0x6c 700158d6: 6763 str r3, [r4, #116] @ 0x74 700158d8: 67a3 str r3, [r4, #120] @ 0x78 700158da: f8c4 3080 str.w r3, [r4, #128] @ 0x80 700158de: f8c4 3084 str.w r3, [r4, #132] @ 0x84 700158e2: 230c movs r3, #12 700158e4: 6422 str r2, [r4, #64] @ 0x40 700158e6: 64e1 str r1, [r4, #76] @ 0x4c 700158e8: 65a1 str r1, [r4, #88] @ 0x58 700158ea: 6662 str r2, [r4, #100] @ 0x64 700158ec: 6722 str r2, [r4, #112] @ 0x70 700158ee: 67e2 str r2, [r4, #124] @ 0x7c 700158f0: f8c4 2088 str.w r2, [r4, #136] @ 0x88 700158f4: f8a4 308c strh.w r3, [r4, #140] @ 0x8c 700158f8: bd38 pop {r3, r4, r5, pc} 700158fa: bf00 nop 700158fc: 7003fae0 .word 0x7003fae0 70015900: 7003fe9c .word 0x7003fe9c 70015904: 447a0000 .word 0x447a0000 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv>: 70015908: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 7001590c: ed2d 8b04 vpush {d8-d9} 70015910: f5ad 7d50 sub.w sp, sp, #832 @ 0x340 70015914: 4604 mov r4, r0 70015916: 8cc3 ldrh r3, [r0, #38] @ 0x26 70015918: f04f 0804 mov.w r8, #4 7001591c: a8c0 add r0, sp, #768 @ 0x300 7001591e: f8ad 3300 strh.w r3, [sp, #768] @ 0x300 70015922: f7fe fe1f bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 70015926: 8ce3 ldrh r3, [r4, #38] @ 0x26 70015928: 4605 mov r5, r0 7001592a: a8c0 add r0, sp, #768 @ 0x300 7001592c: f8ad 3300 strh.w r3, [sp, #768] @ 0x300 70015930: f7fe fe4c bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 70015934: 1c6a adds r2, r5, #1 70015936: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001593a: ed94 6a0b vldr s12, [r4, #44] @ 0x2c 7001593e: ee07 2a90 vmov s15, r2 70015942: 1c42 adds r2, r0, #1 70015944: edd4 5a0c vldr s11, [r4, #48] @ 0x30 70015948: ee36 6a66 vsub.f32 s12, s12, s13 7001594c: ee07 2a10 vmov s14, r2 70015950: 6da3 ldr r3, [r4, #88] @ 0x58 70015952: ee75 5ae6 vsub.f32 s11, s11, s13 70015956: 2200 movs r2, #0 70015958: eef8 7ae7 vcvt.f32.s32 s15, s15 7001595c: 9312 str r3, [sp, #72] @ 0x48 7001595e: eeb8 7ac7 vcvt.f32.s32 s14, s14 70015962: 9316 str r3, [sp, #88] @ 0x58 70015964: 931a str r3, [sp, #104] @ 0x68 70015966: 931e str r3, [sp, #120] @ 0x78 70015968: ab20 add r3, sp, #128 @ 0x80 7001596a: ee77 7a86 vadd.f32 s15, s15, s12 7001596e: ed8d 6a10 vstr s12, [sp, #64] @ 0x40 70015972: ee37 7a25 vadd.f32 s14, s14, s11 70015976: 461f mov r7, r3 70015978: edcd 5a11 vstr s11, [sp, #68] @ 0x44 7001597c: edcd 6a13 vstr s13, [sp, #76] @ 0x4c 70015980: edcd 7a14 vstr s15, [sp, #80] @ 0x50 70015984: edcd 5a15 vstr s11, [sp, #84] @ 0x54 70015988: edcd 6a17 vstr s13, [sp, #92] @ 0x5c 7001598c: edcd 7a18 vstr s15, [sp, #96] @ 0x60 70015990: ed8d 7a19 vstr s14, [sp, #100] @ 0x64 70015994: edcd 6a1b vstr s13, [sp, #108] @ 0x6c 70015998: ed8d 6a1c vstr s12, [sp, #112] @ 0x70 7001599c: ed8d 7a1d vstr s14, [sp, #116] @ 0x74 700159a0: edcd 6a1f vstr s13, [sp, #124] @ 0x7c 700159a4: f1b8 0801 subs.w r8, r8, #1 700159a8: 601a str r2, [r3, #0] 700159aa: 605a str r2, [r3, #4] 700159ac: f103 0310 add.w r3, r3, #16 700159b0: f843 2c08 str.w r2, [r3, #-8] 700159b4: ed43 6a01 vstr s13, [r3, #-4] 700159b8: d1f4 bne.n 700159a4 <_ZN8touchgfx13TextureMapper19applyTransformationEv+0x9c> 700159ba: ed94 9a11 vldr s18, [r4, #68] @ 0x44 700159be: a830 add r0, sp, #192 @ 0xc0 700159c0: edd4 8a12 vldr s17, [r4, #72] @ 0x48 700159c4: 466d mov r5, sp 700159c6: ed94 8a13 vldr s16, [r4, #76] @ 0x4c 700159ca: f001 fb35 bl 70017038 <_ZN8touchgfx9Matrix4x4C1Ev> 700159ce: eeb1 0a49 vneg.f32 s0, s18 700159d2: a830 add r0, sp, #192 @ 0xc0 700159d4: f001 fc08 bl 700171e8 <_ZN8touchgfx9Matrix4x423concatenateXTranslationEf> 700159d8: eeb1 0a68 vneg.f32 s0, s17 700159dc: f001 fc12 bl 70017204 <_ZN8touchgfx9Matrix4x423concatenateYTranslationEf> 700159e0: eeb1 0a48 vneg.f32 s0, s16 700159e4: f001 fc1d bl 70017222 <_ZN8touchgfx9Matrix4x423concatenateZTranslationEf> 700159e8: a840 add r0, sp, #256 @ 0x100 700159ea: f001 fb25 bl 70017038 <_ZN8touchgfx9Matrix4x4C1Ev> 700159ee: ed94 0a0d vldr s0, [r4, #52] @ 0x34 700159f2: a840 add r0, sp, #256 @ 0x100 700159f4: ae70 add r6, sp, #448 @ 0x1c0 700159f6: f001 fb7b bl 700170f0 <_ZN8touchgfx9Matrix4x420concatenateXRotationEf> 700159fa: ed94 0a0e vldr s0, [r4, #56] @ 0x38 700159fe: f001 fba1 bl 70017144 <_ZN8touchgfx9Matrix4x420concatenateYRotationEf> 70015a02: ed94 0a0f vldr s0, [r4, #60] @ 0x3c 70015a06: f001 fbc6 bl 70017196 <_ZN8touchgfx9Matrix4x420concatenateZRotationEf> 70015a0a: a850 add r0, sp, #320 @ 0x140 70015a0c: f001 fb14 bl 70017038 <_ZN8touchgfx9Matrix4x4C1Ev> 70015a10: ed94 0a10 vldr s0, [r4, #64] @ 0x40 70015a14: a850 add r0, sp, #320 @ 0x140 70015a16: f001 fc13 bl 70017240 <_ZN8touchgfx9Matrix4x417concatenateXScaleEf> 70015a1a: ed94 0a10 vldr s0, [r4, #64] @ 0x40 70015a1e: f001 fc1b bl 70017258 <_ZN8touchgfx9Matrix4x417concatenateYScaleEf> 70015a22: ed94 0a10 vldr s0, [r4, #64] @ 0x40 70015a26: f001 fc24 bl 70017272 <_ZN8touchgfx9Matrix4x417concatenateZScaleEf> 70015a2a: a860 add r0, sp, #384 @ 0x180 70015a2c: f001 fb04 bl 70017038 <_ZN8touchgfx9Matrix4x4C1Ev> 70015a30: eeb0 0a49 vmov.f32 s0, s18 70015a34: a860 add r0, sp, #384 @ 0x180 70015a36: f001 fbd7 bl 700171e8 <_ZN8touchgfx9Matrix4x423concatenateXTranslationEf> 70015a3a: eeb0 0a68 vmov.f32 s0, s17 70015a3e: f001 fbe1 bl 70017204 <_ZN8touchgfx9Matrix4x423concatenateYTranslationEf> 70015a42: eeb0 0a48 vmov.f32 s0, s16 70015a46: f001 fbec bl 70017222 <_ZN8touchgfx9Matrix4x423concatenateZTranslationEf> 70015a4a: aa50 add r2, sp, #320 @ 0x140 70015a4c: a960 add r1, sp, #384 @ 0x180 70015a4e: a8b0 add r0, sp, #704 @ 0x2c0 70015a50: f001 fb0c bl 7001706c <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_> 70015a54: aa40 add r2, sp, #256 @ 0x100 70015a56: a9b0 add r1, sp, #704 @ 0x2c0 70015a58: a8c0 add r0, sp, #768 @ 0x300 70015a5a: f001 fb07 bl 7001706c <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_> 70015a5e: aa30 add r2, sp, #192 @ 0xc0 70015a60: a9c0 add r1, sp, #768 @ 0x300 70015a62: a870 add r0, sp, #448 @ 0x1c0 70015a64: f001 fb02 bl 7001706c <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_> 70015a68: a880 add r0, sp, #512 @ 0x200 70015a6a: f001 fae5 bl 70017038 <_ZN8touchgfx9Matrix4x4C1Ev> 70015a6e: ed94 0a14 vldr s0, [r4, #80] @ 0x50 70015a72: a880 add r0, sp, #512 @ 0x200 70015a74: eeb1 0a40 vneg.f32 s0, s0 70015a78: f001 fbb6 bl 700171e8 <_ZN8touchgfx9Matrix4x423concatenateXTranslationEf> 70015a7c: ed94 0a15 vldr s0, [r4, #84] @ 0x54 70015a80: a880 add r0, sp, #512 @ 0x200 70015a82: eeb1 0a40 vneg.f32 s0, s0 70015a86: f001 fbbd bl 70017204 <_ZN8touchgfx9Matrix4x423concatenateYTranslationEf> 70015a8a: a890 add r0, sp, #576 @ 0x240 70015a8c: f001 fad4 bl 70017038 <_ZN8touchgfx9Matrix4x4C1Ev> 70015a90: ed94 0a16 vldr s0, [r4, #88] @ 0x58 70015a94: a890 add r0, sp, #576 @ 0x240 70015a96: f001 fb1b bl 700170d0 <_ZN8touchgfx9Matrix4x415setViewDistanceEf> 70015a9a: a8a0 add r0, sp, #640 @ 0x280 70015a9c: f001 facc bl 70017038 <_ZN8touchgfx9Matrix4x4C1Ev> 70015aa0: ed94 0a14 vldr s0, [r4, #80] @ 0x50 70015aa4: a8a0 add r0, sp, #640 @ 0x280 70015aa6: f001 fb9f bl 700171e8 <_ZN8touchgfx9Matrix4x423concatenateXTranslationEf> 70015aaa: ed94 0a15 vldr s0, [r4, #84] @ 0x54 70015aae: f001 fba9 bl 70017204 <_ZN8touchgfx9Matrix4x423concatenateYTranslationEf> 70015ab2: aa90 add r2, sp, #576 @ 0x240 70015ab4: a9a0 add r1, sp, #640 @ 0x280 70015ab6: a8b0 add r0, sp, #704 @ 0x2c0 70015ab8: f001 fad8 bl 7001706c <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_> 70015abc: aa80 add r2, sp, #512 @ 0x200 70015abe: a9b0 add r1, sp, #704 @ 0x2c0 70015ac0: a8c0 add r0, sp, #768 @ 0x300 70015ac2: f001 fad3 bl 7001706c <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_> 70015ac6: aa70 add r2, sp, #448 @ 0x1c0 70015ac8: a9c0 add r1, sp, #768 @ 0x300 70015aca: 4668 mov r0, sp 70015acc: f001 face bl 7001706c <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_> 70015ad0: cd0f ldmia r5!, {r0, r1, r2, r3} 70015ad2: c60f stmia r6!, {r0, r1, r2, r3} 70015ad4: cd0f ldmia r5!, {r0, r1, r2, r3} 70015ad6: c60f stmia r6!, {r0, r1, r2, r3} 70015ad8: cd0f ldmia r5!, {r0, r1, r2, r3} 70015ada: c60f stmia r6!, {r0, r1, r2, r3} 70015adc: e895 000f ldmia.w r5, {r0, r1, r2, r3} 70015ae0: ad10 add r5, sp, #64 @ 0x40 70015ae2: e886 000f stmia.w r6, {r0, r1, r2, r3} 70015ae6: eb07 1608 add.w r6, r7, r8, lsl #4 70015aea: f108 0801 add.w r8, r8, #1 70015aee: 4629 mov r1, r5 70015af0: a870 add r0, sp, #448 @ 0x1c0 70015af2: f001 fa6f bl 70016fd4 <_ZN8touchgfxmlERKNS_9Matrix4x4ERKNS_6Point4E> 70015af6: f1b8 0f04 cmp.w r8, #4 70015afa: f105 0510 add.w r5, r5, #16 70015afe: ed86 0a00 vstr s0, [r6] 70015b02: edc6 0a01 vstr s1, [r6, #4] 70015b06: ed86 1a02 vstr s2, [r6, #8] 70015b0a: edc6 1a03 vstr s3, [r6, #12] 70015b0e: d1ea bne.n 70015ae6 <_ZN8touchgfx13TextureMapper19applyTransformationEv+0x1de> 70015b10: edd4 7a16 vldr s15, [r4, #88] @ 0x58 70015b14: edd7 6a00 vldr s13, [r7] 70015b18: ed97 7a02 vldr s14, [r7, #8] 70015b1c: ee67 6aa6 vmul.f32 s13, s15, s13 70015b20: ed84 7a19 vstr s14, [r4, #100] @ 0x64 70015b24: ee86 6a87 vdiv.f32 s12, s13, s14 70015b28: edd7 6a01 vldr s13, [r7, #4] 70015b2c: ee67 6aa6 vmul.f32 s13, s15, s13 70015b30: ed84 6a17 vstr s12, [r4, #92] @ 0x5c 70015b34: ee86 6a87 vdiv.f32 s12, s13, s14 70015b38: edd7 6a04 vldr s13, [r7, #16] 70015b3c: ed97 7a06 vldr s14, [r7, #24] 70015b40: ed84 7a1c vstr s14, [r4, #112] @ 0x70 70015b44: ee67 6aa6 vmul.f32 s13, s15, s13 70015b48: ed84 6a18 vstr s12, [r4, #96] @ 0x60 70015b4c: ee86 6a87 vdiv.f32 s12, s13, s14 70015b50: edd7 6a05 vldr s13, [r7, #20] 70015b54: ee67 6aa6 vmul.f32 s13, s15, s13 70015b58: ed84 6a1a vstr s12, [r4, #104] @ 0x68 70015b5c: ee86 6a87 vdiv.f32 s12, s13, s14 70015b60: edd7 6a08 vldr s13, [r7, #32] 70015b64: ed97 7a0a vldr s14, [r7, #40] @ 0x28 70015b68: ed84 7a1f vstr s14, [r4, #124] @ 0x7c 70015b6c: ee67 6aa6 vmul.f32 s13, s15, s13 70015b70: ed84 6a1b vstr s12, [r4, #108] @ 0x6c 70015b74: ee86 6a87 vdiv.f32 s12, s13, s14 70015b78: edd7 6a09 vldr s13, [r7, #36] @ 0x24 70015b7c: ee67 6aa6 vmul.f32 s13, s15, s13 70015b80: ed84 6a1d vstr s12, [r4, #116] @ 0x74 70015b84: ee86 6a87 vdiv.f32 s12, s13, s14 70015b88: edd7 6a0c vldr s13, [r7, #48] @ 0x30 70015b8c: ed97 7a0e vldr s14, [r7, #56] @ 0x38 70015b90: ed84 7a22 vstr s14, [r4, #136] @ 0x88 70015b94: ee67 6aa6 vmul.f32 s13, s15, s13 70015b98: ed84 6a1e vstr s12, [r4, #120] @ 0x78 70015b9c: ee86 6a87 vdiv.f32 s12, s13, s14 70015ba0: edd7 6a0d vldr s13, [r7, #52] @ 0x34 70015ba4: ee67 7aa6 vmul.f32 s15, s15, s13 70015ba8: eec7 6a87 vdiv.f32 s13, s15, s14 70015bac: ed84 6a20 vstr s12, [r4, #128] @ 0x80 70015bb0: edc4 6a21 vstr s13, [r4, #132] @ 0x84 70015bb4: f50d 7d50 add.w sp, sp, #832 @ 0x340 70015bb8: ecbd 8b04 vpop {d8-d9} 70015bbc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 70015bc0 <_ZN8touchgfx13TextureMapper9setBitmapERKNS_6BitmapE>: 70015bc0: b510 push {r4, lr} 70015bc2: 4604 mov r4, r0 70015bc4: f7fa f8ab bl 7000fd1e <_ZN8touchgfx5Image9setBitmapERKNS_6BitmapE> 70015bc8: 4620 mov r0, r4 70015bca: e8bd 4010 ldmia.w sp!, {r4, lr} 70015bce: f7ff be9b b.w 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv> 70015bd2 <_ZN8touchgfx13TextureMapper9setAnglesEfff>: 70015bd2: ed80 0a0d vstr s0, [r0, #52] @ 0x34 70015bd6: edc0 0a0e vstr s1, [r0, #56] @ 0x38 70015bda: ed80 1a0f vstr s2, [r0, #60] @ 0x3c 70015bde: f7ff be93 b.w 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv> 70015be2 <_ZN8touchgfx13TextureMapper8setScaleEf>: 70015be2: ed80 0a10 vstr s0, [r0, #64] @ 0x40 70015be6: f7ff be8f b.w 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv> 70015bea <_ZN8touchgfx13TextureMapper17setBitmapPositionEff>: 70015bea: ed80 0a0b vstr s0, [r0, #44] @ 0x2c 70015bee: edc0 0a0c vstr s1, [r0, #48] @ 0x30 70015bf2: f7ff be89 b.w 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv> 70015bf6 <_ZN8touchgfx13TextureMapper17setCameraDistanceEf>: 70015bf6: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 70015bfa: eeb4 0ae7 vcmpe.f32 s0, s15 70015bfe: eef1 fa10 vmrs APSR_nzcv, fpscr 70015c02: fe30 0a27 vselgt.f32 s0, s0, s15 70015c06: ed80 0a16 vstr s0, [r0, #88] @ 0x58 70015c0a: f7ff be7d b.w 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv> 70015c0e <_ZN8touchgfx13TextureMapper9setCameraEff>: 70015c0e: ed80 0a14 vstr s0, [r0, #80] @ 0x50 70015c12: edc0 0a15 vstr s1, [r0, #84] @ 0x54 70015c16: f7ff be77 b.w 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv> 70015c1a <_ZN8touchgfx13TextureMapper8setOrigoEff>: 70015c1a: ed80 0a11 vstr s0, [r0, #68] @ 0x44 70015c1e: edc0 0a12 vstr s1, [r0, #72] @ 0x48 70015c22: f7ff be71 b.w 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv> 70015c26 <_ZN8touchgfx13TextureMapper8setOrigoEfff>: 70015c26: ed80 0a11 vstr s0, [r0, #68] @ 0x44 70015c2a: edc0 0a12 vstr s1, [r0, #72] @ 0x48 70015c2e: ed80 1a13 vstr s2, [r0, #76] @ 0x4c 70015c32: f7ff be69 b.w 70015908 <_ZN8touchgfx13TextureMapper19applyTransformationEv> 70015c36 <_ZNK8touchgfx13TextureMapper15getBoundingRectEv>: 70015c36: b510 push {r4, lr} 70015c38: edd1 5a17 vldr s11, [r1, #92] @ 0x5c 70015c3c: ed91 6a1a vldr s12, [r1, #104] @ 0x68 70015c40: edd1 6a1d vldr s13, [r1, #116] @ 0x74 70015c44: eef4 5ac6 vcmpe.f32 s11, s12 70015c48: ed91 7a20 vldr s14, [r1, #128] @ 0x80 70015c4c: f9b1 4008 ldrsh.w r4, [r1, #8] 70015c50: eef1 fa10 vmrs APSR_nzcv, fpscr 70015c54: bf54 ite pl 70015c56: eef0 7a46 vmovpl.f32 s15, s12 70015c5a: eef0 7a65 vmovmi.f32 s15, s11 70015c5e: eef4 6ae7 vcmpe.f32 s13, s15 70015c62: eef1 fa10 vmrs APSR_nzcv, fpscr 70015c66: fe77 7aa6 vselgt.f32 s15, s15, s13 70015c6a: eeb4 7ae7 vcmpe.f32 s14, s15 70015c6e: eef1 fa10 vmrs APSR_nzcv, fpscr 70015c72: fe77 7a87 vselgt.f32 s15, s15, s14 70015c76: fefb 7a67 vrintm.f32 s15, s15 70015c7a: eef5 7ac0 vcmpe.f32 s15, #0.0 70015c7e: eef1 fa10 vmrs APSR_nzcv, fpscr 70015c82: eef4 5a46 vcmp.f32 s11, s12 70015c86: bf56 itet pl 70015c88: eefd 7ae7 vcvtpl.s32.f32 s15, s15 70015c8c: 2200 movmi r2, #0 70015c8e: ee17 3a90 vmovpl r3, s15 70015c92: ee07 4a90 vmov s15, r4 70015c96: bf58 it pl 70015c98: b21a sxthpl r2, r3 70015c9a: eef1 fa10 vmrs APSR_nzcv, fpscr 70015c9e: eef8 7ae7 vcvt.f32.s32 s15, s15 70015ca2: 8002 strh r2, [r0, #0] 70015ca4: fe35 6a86 vselgt.f32 s12, s11, s12 70015ca8: eef4 6a46 vcmp.f32 s13, s12 70015cac: edd1 5a18 vldr s11, [r1, #96] @ 0x60 70015cb0: eef1 fa10 vmrs APSR_nzcv, fpscr 70015cb4: bf48 it mi 70015cb6: eef0 6a46 vmovmi.f32 s13, s12 70015cba: ed91 6a1b vldr s12, [r1, #108] @ 0x6c 70015cbe: eeb4 7a66 vcmp.f32 s14, s13 70015cc2: eef1 fa10 vmrs APSR_nzcv, fpscr 70015cc6: bf48 it mi 70015cc8: eeb0 7a66 vmovmi.f32 s14, s13 70015ccc: edd1 6a1e vldr s13, [r1, #120] @ 0x78 70015cd0: feba 7a47 vrintp.f32 s14, s14 70015cd4: eeb4 7ae7 vcmpe.f32 s14, s15 70015cd8: eef1 fa10 vmrs APSR_nzcv, fpscr 70015cdc: eef4 5ac6 vcmpe.f32 s11, s12 70015ce0: bfdc itt le 70015ce2: eebd 7ac7 vcvtle.s32.f32 s14, s14 70015ce6: ee17 3a10 vmovle r3, s14 70015cea: ed91 7a21 vldr s14, [r1, #132] @ 0x84 70015cee: f9b1 100a ldrsh.w r1, [r1, #10] 70015cf2: bfd8 it le 70015cf4: b21c sxthle r4, r3 70015cf6: eef1 fa10 vmrs APSR_nzcv, fpscr 70015cfa: eba4 0402 sub.w r4, r4, r2 70015cfe: bf54 ite pl 70015d00: eef0 7a46 vmovpl.f32 s15, s12 70015d04: eef0 7a65 vmovmi.f32 s15, s11 70015d08: 8084 strh r4, [r0, #4] 70015d0a: eef4 6ae7 vcmpe.f32 s13, s15 70015d0e: eef1 fa10 vmrs APSR_nzcv, fpscr 70015d12: fe77 7aa6 vselgt.f32 s15, s15, s13 70015d16: eeb4 7ae7 vcmpe.f32 s14, s15 70015d1a: eef1 fa10 vmrs APSR_nzcv, fpscr 70015d1e: fe77 7a87 vselgt.f32 s15, s15, s14 70015d22: fefb 7a67 vrintm.f32 s15, s15 70015d26: eef5 7ac0 vcmpe.f32 s15, #0.0 70015d2a: eef1 fa10 vmrs APSR_nzcv, fpscr 70015d2e: eef4 5a46 vcmp.f32 s11, s12 70015d32: bf56 itet pl 70015d34: eefd 7ae7 vcvtpl.s32.f32 s15, s15 70015d38: 2300 movmi r3, #0 70015d3a: ee17 3a90 vmovpl r3, s15 70015d3e: ee07 1a90 vmov s15, r1 70015d42: bf58 it pl 70015d44: b21b sxthpl r3, r3 70015d46: eef1 fa10 vmrs APSR_nzcv, fpscr 70015d4a: eef8 7ae7 vcvt.f32.s32 s15, s15 70015d4e: 8043 strh r3, [r0, #2] 70015d50: fe35 6a86 vselgt.f32 s12, s11, s12 70015d54: eef4 6a46 vcmp.f32 s13, s12 70015d58: eef1 fa10 vmrs APSR_nzcv, fpscr 70015d5c: bf48 it mi 70015d5e: eef0 6a46 vmovmi.f32 s13, s12 70015d62: eeb4 7a66 vcmp.f32 s14, s13 70015d66: eef1 fa10 vmrs APSR_nzcv, fpscr 70015d6a: bf48 it mi 70015d6c: eeb0 7a66 vmovmi.f32 s14, s13 70015d70: feba 7a47 vrintp.f32 s14, s14 70015d74: eeb4 7ae7 vcmpe.f32 s14, s15 70015d78: eef1 fa10 vmrs APSR_nzcv, fpscr 70015d7c: bfde ittt le 70015d7e: eebd 7ac7 vcvtle.s32.f32 s14, s14 70015d82: ee17 1a10 vmovle r1, s14 70015d86: b209 sxthle r1, r1 70015d88: 1ac9 subs r1, r1, r3 70015d8a: 80c1 strh r1, [r0, #6] 70015d8c: bd10 pop {r4, pc} 70015d8e <_ZNK8touchgfx13TextureMapper17invalidateContentEv>: 70015d8e: b513 push {r0, r1, r4, lr} 70015d90: f890 3028 ldrb.w r3, [r0, #40] @ 0x28 70015d94: 4604 mov r4, r0 70015d96: b143 cbz r3, 70015daa <_ZNK8touchgfx13TextureMapper17invalidateContentEv+0x1c> 70015d98: 4601 mov r1, r0 70015d9a: 4668 mov r0, sp 70015d9c: f7ff ff4b bl 70015c36 <_ZNK8touchgfx13TextureMapper15getBoundingRectEv> 70015da0: 6823 ldr r3, [r4, #0] 70015da2: 4601 mov r1, r0 70015da4: 4620 mov r0, r4 70015da6: 691b ldr r3, [r3, #16] 70015da8: 4798 blx r3 70015daa: b002 add sp, #8 70015dac: bd10 pop {r4, pc} 70015dae <_ZNK8touchgfx13TextureMapper19lookupRenderVariantEv>: 70015dae: f890 3029 ldrb.w r3, [r0, #41] @ 0x29 70015db2: 3026 adds r0, #38 @ 0x26 70015db4: b90b cbnz r3, 70015dba <_ZNK8touchgfx13TextureMapper19lookupRenderVariantEv+0xc> 70015db6: f7fd b897 b.w 70012ee8 <_ZN8touchgfx34lookupNearestNeighborRenderVariantERKNS_6BitmapE> 70015dba: f7fd b8a2 b.w 70012f02 <_ZN8touchgfx27lookupBilinearRenderVariantERKNS_6BitmapE> ... 70015dc0 <_ZNK8touchgfx13TextureMapper8drawQuadERKNS_4RectEPtPKfS6_S6_S6_S6_>: 70015dc0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70015dc4: ed2d 8b04 vpush {d8-d9} 70015dc8: b0b3 sub sp, #204 @ 0xcc 70015dca: 4604 mov r4, r0 70015dcc: 461d mov r5, r3 70015dce: ae11 add r6, sp, #68 @ 0x44 70015dd0: 9207 str r2, [sp, #28] 70015dd2: 6882 ldr r2, [r0, #8] 70015dd4: 2000 movs r0, #0 70015dd6: f10d 084c add.w r8, sp, #76 @ 0x4c 70015dda: 1d27 adds r7, r4, #4 70015ddc: e9cd 0211 strd r0, r2, [sp, #68] @ 0x44 70015de0: 4630 mov r0, r6 70015de2: e9dd 3b40 ldrd r3, fp, [sp, #256] @ 0x100 70015de6: e9dd a942 ldrd sl, r9, [sp, #264] @ 0x108 70015dea: f7f8 f9c3 bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 70015dee: 4621 mov r1, r4 70015df0: a81e add r0, sp, #120 @ 0x78 70015df2: f7ff ff20 bl 70015c36 <_ZNK8touchgfx13TextureMapper15getBoundingRectEv> 70015df6: e896 0003 ldmia.w r6, {r0, r1} 70015dfa: e888 0003 stmia.w r8, {r0, r1} 70015dfe: 4640 mov r0, r8 70015e00: a91e add r1, sp, #120 @ 0x78 70015e02: f7f8 f9b7 bl 7000e174 <_ZN8touchgfx4RectaNERKS0_> 70015e06: 6822 ldr r2, [r4, #0] 70015e08: 4641 mov r1, r8 70015e0a: 4620 mov r0, r4 70015e0c: 6ad2 ldr r2, [r2, #44] @ 0x2c 70015e0e: 4790 blx r2 70015e10: 4621 mov r1, r4 70015e12: a815 add r0, sp, #84 @ 0x54 70015e14: f7fc fc12 bl 7001263c <_ZNK8touchgfx8Drawable15getAbsoluteRectEv> 70015e18: a815 add r0, sp, #84 @ 0x54 70015e1a: f7fa ffd5 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70015e1e: 4639 mov r1, r7 70015e20: 4630 mov r0, r6 70015e22: f104 0626 add.w r6, r4, #38 @ 0x26 70015e26: f7fb f813 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 70015e2a: 4640 mov r0, r8 70015e2c: f7fa ffcc bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70015e30: 4630 mov r0, r6 70015e32: f7fe fc89 bl 70014748 <_ZNK8touchgfx6Bitmap7getDataEv> 70015e36: 4680 mov r8, r0 70015e38: 2800 cmp r0, #0 70015e3a: f000 80d7 beq.w 70015fec <_ZNK8touchgfx13TextureMapper8drawQuadERKNS_4RectEPtPKfS6_S6_S6_S6_+0x22c> 70015e3e: 682a ldr r2, [r5, #0] 70015e40: a90d add r1, sp, #52 @ 0x34 70015e42: 9b40 ldr r3, [sp, #256] @ 0x100 70015e44: a809 add r0, sp, #36 @ 0x24 70015e46: 9209 str r2, [sp, #36] @ 0x24 70015e48: 686a ldr r2, [r5, #4] 70015e4a: 920a str r2, [sp, #40] @ 0x28 70015e4c: 68aa ldr r2, [r5, #8] 70015e4e: 920b str r2, [sp, #44] @ 0x2c 70015e50: 68ea ldr r2, [r5, #12] 70015e52: 920c str r2, [sp, #48] @ 0x30 70015e54: 681a ldr r2, [r3, #0] 70015e56: 920d str r2, [sp, #52] @ 0x34 70015e58: 685a ldr r2, [r3, #4] 70015e5a: 920e str r2, [sp, #56] @ 0x38 70015e5c: 689a ldr r2, [r3, #8] 70015e5e: 68db ldr r3, [r3, #12] 70015e60: 920f str r2, [sp, #60] @ 0x3c 70015e62: 463a mov r2, r7 70015e64: 9310 str r3, [sp, #64] @ 0x40 70015e66: f7fa ffd7 bl 70010e18 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERfS1_RKNS_4RectE> 70015e6a: 463a mov r2, r7 70015e6c: a90e add r1, sp, #56 @ 0x38 70015e6e: a80a add r0, sp, #40 @ 0x28 70015e70: f7fa ffd2 bl 70010e18 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERfS1_RKNS_4RectE> 70015e74: 463a mov r2, r7 70015e76: a90f add r1, sp, #60 @ 0x3c 70015e78: a80b add r0, sp, #44 @ 0x2c 70015e7a: f7fa ffcd bl 70010e18 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERfS1_RKNS_4RectE> 70015e7e: 463a mov r2, r7 70015e80: a910 add r1, sp, #64 @ 0x40 70015e82: a80c add r0, sp, #48 @ 0x30 70015e84: f7fa ffc8 bl 70010e18 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERfS1_RKNS_4RectE> 70015e88: eddd 7a0d vldr s15, [sp, #52] @ 0x34 70015e8c: ed9a 4a00 vldr s8, [sl] 70015e90: eeb0 7a67 vmov.f32 s14, s15 70015e94: eddd 7a0a vldr s15, [sp, #40] @ 0x28 70015e98: edd9 4a00 vldr s9, [r9] 70015e9c: ed9a 5a01 vldr s10, [sl, #4] 70015ea0: eebe 7ace vcvt.s32.f32 s14, s14, #4 70015ea4: edd9 5a01 vldr s11, [r9, #4] 70015ea8: ed9b 9a00 vldr s18, [fp] 70015eac: ed9b 8a01 vldr s16, [fp, #4] 70015eb0: ee17 7a10 vmov r7, s14 70015eb4: eeb0 7a67 vmov.f32 s14, s15 70015eb8: eddd 7a0e vldr s15, [sp, #56] @ 0x38 70015ebc: eddb 8a02 vldr s17, [fp, #8] 70015ec0: eebe 7ace vcvt.s32.f32 s14, s14, #4 70015ec4: ed9a 6a02 vldr s12, [sl, #8] 70015ec8: edd9 6a02 vldr s13, [r9, #8] 70015ecc: f8da e00c ldr.w lr, [sl, #12] 70015ed0: ee17 5a10 vmov r5, s14 70015ed4: eeb0 7a67 vmov.f32 s14, s15 70015ed8: eddd 7a0b vldr s15, [sp, #44] @ 0x2c 70015edc: f8d9 c00c ldr.w ip, [r9, #12] 70015ee0: eebe 7ace vcvt.s32.f32 s14, s14, #4 70015ee4: ed8d 4a21 vstr s8, [sp, #132] @ 0x84 70015ee8: edcd 4a22 vstr s9, [sp, #136] @ 0x88 70015eec: ed8d 5a26 vstr s10, [sp, #152] @ 0x98 70015ef0: ee17 0a10 vmov r0, s14 70015ef4: eeb0 7a67 vmov.f32 s14, s15 70015ef8: eddd 7a0f vldr s15, [sp, #60] @ 0x3c 70015efc: edcd 5a27 vstr s11, [sp, #156] @ 0x9c 70015f00: eebe 7ace vcvt.s32.f32 s14, s14, #4 70015f04: f8db b00c ldr.w fp, [fp, #12] 70015f08: 971f str r7, [sp, #124] @ 0x7c 70015f0a: ed8d 9a20 vstr s18, [sp, #128] @ 0x80 70015f0e: ee17 1a10 vmov r1, s14 70015f12: eeb0 7a67 vmov.f32 s14, s15 70015f16: eddd 7a0c vldr s15, [sp, #48] @ 0x30 70015f1a: ed8d 8a25 vstr s16, [sp, #148] @ 0x94 70015f1e: eebe 7ace vcvt.s32.f32 s14, s14, #4 70015f22: e9cd 5023 strd r5, r0, [sp, #140] @ 0x8c 70015f26: ee17 2a10 vmov r2, s14 70015f2a: eeb0 7a67 vmov.f32 s14, s15 70015f2e: eddd 7a10 vldr s15, [sp, #64] @ 0x40 70015f32: 4630 mov r0, r6 70015f34: eebe 7ace vcvt.s32.f32 s14, s14, #4 70015f38: eefe 7ace vcvt.s32.f32 s15, s15, #4 70015f3c: ee17 3a10 vmov r3, s14 70015f40: ed9d 7a09 vldr s14, [sp, #36] @ 0x24 70015f44: eebe 7ace vcvt.s32.f32 s14, s14, #4 70015f48: e9cd 1228 strd r1, r2, [sp, #160] @ 0xa0 70015f4c: ed8d 7a1e vstr s14, [sp, #120] @ 0x78 70015f50: edcd 8a2a vstr s17, [sp, #168] @ 0xa8 70015f54: 932d str r3, [sp, #180] @ 0xb4 70015f56: 9b07 ldr r3, [sp, #28] 70015f58: ed8d 6a2b vstr s12, [sp, #172] @ 0xac 70015f5c: 9317 str r3, [sp, #92] @ 0x5c 70015f5e: 4b26 ldr r3, [pc, #152] @ (70015ff8 <_ZNK8touchgfx13TextureMapper8drawQuadERKNS_4RectEPtPKfS6_S6_S6_S6_+0x238>) 70015f60: edcd 6a2c vstr s13, [sp, #176] @ 0xb0 70015f64: 881b ldrh r3, [r3, #0] 70015f66: edcd 7a2e vstr s15, [sp, #184] @ 0xb8 70015f6a: f8cd e0c0 str.w lr, [sp, #192] @ 0xc0 70015f6e: f8cd c0c4 str.w ip, [sp, #196] @ 0xc4 70015f72: f8cd b0bc str.w fp, [sp, #188] @ 0xbc 70015f76: e9cd 3818 strd r3, r8, [sp, #96] @ 0x60 70015f7a: f7fe fc15 bl 700147a8 <_ZNK8touchgfx6Bitmap12getExtraDataEv> 70015f7e: 901a str r0, [sp, #104] @ 0x68 70015f80: 4630 mov r0, r6 70015f82: f7fe faef bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 70015f86: 901b str r0, [sp, #108] @ 0x6c 70015f88: 4630 mov r0, r6 70015f8a: f7fe fb1f bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 70015f8e: 901c str r0, [sp, #112] @ 0x70 70015f90: 4630 mov r0, r6 70015f92: f7fe fae7 bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 70015f96: eeb4 9a48 vcmp.f32 s18, s16 70015f9a: f8b4 608c ldrh.w r6, [r4, #140] @ 0x8c 70015f9e: 901d str r0, [sp, #116] @ 0x74 70015fa0: eef1 fa10 vmrs APSR_nzcv, fpscr 70015fa4: d107 bne.n 70015fb6 <_ZNK8touchgfx13TextureMapper8drawQuadERKNS_4RectEPtPKfS6_S6_S6_S6_+0x1f6> 70015fa6: eeb4 8a68 vcmp.f32 s16, s17 70015faa: f64f 73ff movw r3, #65535 @ 0xffff 70015fae: eef1 fa10 vmrs APSR_nzcv, fpscr 70015fb2: bf08 it eq 70015fb4: 461e moveq r6, r3 70015fb6: 4b11 ldr r3, [pc, #68] @ (70015ffc <_ZNK8touchgfx13TextureMapper8drawQuadERKNS_4RectEPtPKfS6_S6_S6_S6_+0x23c>) 70015fb8: 681b ldr r3, [r3, #0] 70015fba: f893 205c ldrb.w r2, [r3, #92] @ 0x5c 70015fbe: b10a cbz r2, 70015fc4 <_ZNK8touchgfx13TextureMapper8drawQuadERKNS_4RectEPtPKfS6_S6_S6_S6_+0x204> 70015fc0: 6d1d ldr r5, [r3, #80] @ 0x50 70015fc2: b905 cbnz r5, 70015fc6 <_ZNK8touchgfx13TextureMapper8drawQuadERKNS_4RectEPtPKfS6_S6_S6_S6_+0x206> 70015fc4: 689d ldr r5, [r3, #8] 70015fc6: 682b ldr r3, [r5, #0] 70015fc8: 4620 mov r0, r4 70015fca: 6c5f ldr r7, [r3, #68] @ 0x44 70015fcc: f7ff feef bl 70015dae <_ZNK8touchgfx13TextureMapper19lookupRenderVariantEv> 70015fd0: 9604 str r6, [sp, #16] 70015fd2: aa1e add r2, sp, #120 @ 0x78 70015fd4: f894 3028 ldrb.w r3, [r4, #40] @ 0x28 70015fd8: a917 add r1, sp, #92 @ 0x5c 70015fda: e9cd 0302 strd r0, r3, [sp, #8] 70015fde: ab13 add r3, sp, #76 @ 0x4c 70015fe0: 4628 mov r0, r5 70015fe2: 9301 str r3, [sp, #4] 70015fe4: ab15 add r3, sp, #84 @ 0x54 70015fe6: 9300 str r3, [sp, #0] 70015fe8: ab19 add r3, sp, #100 @ 0x64 70015fea: 47b8 blx r7 70015fec: b033 add sp, #204 @ 0xcc 70015fee: ecbd 8b04 vpop {d8-d9} 70015ff2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70015ff6: bf00 nop 70015ff8: 2400da78 .word 0x2400da78 70015ffc: 2400da80 .word 0x2400da80 70016000 <_ZNK8touchgfx13TextureMapper4drawERKNS_4RectE>: 70016000: b5f0 push {r4, r5, r6, r7, lr} 70016002: ed2d 8b02 vpush {d8} 70016006: f890 3028 ldrb.w r3, [r0, #40] @ 0x28 7001600a: b099 sub sp, #100 @ 0x64 7001600c: 4604 mov r4, r0 7001600e: 460d mov r5, r1 70016010: 2b00 cmp r3, #0 70016012: f000 80a6 beq.w 70016162 <_ZNK8touchgfx13TextureMapper4drawERKNS_4RectE+0x162> 70016016: f100 0626 add.w r6, r0, #38 @ 0x26 7001601a: 4630 mov r0, r6 7001601c: f7fe faa2 bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 70016020: ee08 0a10 vmov s16, r0 70016024: 4630 mov r0, r6 70016026: f7fe fad1 bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 7001602a: 4b50 ldr r3, [pc, #320] @ (7001616c <_ZNK8touchgfx13TextureMapper4drawERKNS_4RectE+0x16c>) 7001602c: ee07 0a10 vmov s14, r0 70016030: eeb8 8ac8 vcvt.f32.s32 s16, s16 70016034: 781b ldrb r3, [r3, #0] 70016036: eeff 7a00 vmov.f32 s15, #240 @ 0xbf800000 -1.0 7001603a: eeb8 7ac7 vcvt.f32.s32 s14, s14 7001603e: 2b01 cmp r3, #1 70016040: d00c beq.n 7001605c <_ZNK8touchgfx13TextureMapper4drawERKNS_4RectE+0x5c> 70016042: eef0 6a47 vmov.f32 s13, s14 70016046: eef0 5a47 vmov.f32 s11, s14 7001604a: eef0 3a48 vmov.f32 s7, s16 7001604e: eeb0 7a48 vmov.f32 s14, s16 70016052: eeb0 4a67 vmov.f32 s8, s15 70016056: eeb0 8a67 vmov.f32 s16, s15 7001605a: e007 b.n 7001606c <_ZNK8touchgfx13TextureMapper4drawERKNS_4RectE+0x6c> 7001605c: eef0 6a48 vmov.f32 s13, s16 70016060: eeb0 4a47 vmov.f32 s8, s14 70016064: eef0 5a67 vmov.f32 s11, s15 70016068: eef0 3a67 vmov.f32 s7, s15 7001606c: edd4 4a17 vldr s9, [r4, #92] @ 0x5c 70016070: ed94 5a18 vldr s10, [r4, #96] @ 0x60 70016074: edd4 2a1b vldr s5, [r4, #108] @ 0x6c 70016078: ed94 2a1d vldr s4, [r4, #116] @ 0x74 7001607c: ee32 0ac5 vsub.f32 s0, s5, s10 70016080: edd4 1a1a vldr s3, [r4, #104] @ 0x68 70016084: ee32 6a64 vsub.f32 s12, s4, s9 70016088: ed94 3a1e vldr s6, [r4, #120] @ 0x78 7001608c: ee71 0ae4 vsub.f32 s1, s3, s9 70016090: 6f21 ldr r1, [r4, #112] @ 0x70 70016092: ee33 1a45 vsub.f32 s2, s6, s10 70016096: 6e60 ldr r0, [r4, #100] @ 0x64 70016098: ee26 6a40 vnmul.f32 s12, s12, s0 7001609c: 6fe3 ldr r3, [r4, #124] @ 0x7c 7001609e: f8d4 7080 ldr.w r7, [r4, #128] @ 0x80 700160a2: f8d4 6084 ldr.w r6, [r4, #132] @ 0x84 700160a6: eea0 6a81 vfma.f32 s12, s1, s2 700160aa: f8d4 2088 ldr.w r2, [r4, #136] @ 0x88 700160ae: eeb5 6ac0 vcmpe.f32 s12, #0.0 700160b2: eef1 fa10 vmrs APSR_nzcv, fpscr 700160b6: dd1e ble.n 700160f6 <_ZNK8touchgfx13TextureMapper4drawERKNS_4RectE+0xf6> 700160b8: edcd 4a04 vstr s9, [sp, #16] 700160bc: edcd 1a05 vstr s3, [sp, #20] 700160c0: ed8d 2a06 vstr s4, [sp, #24] 700160c4: 9707 str r7, [sp, #28] 700160c6: ed8d 5a08 vstr s10, [sp, #32] 700160ca: edcd 2a09 vstr s5, [sp, #36] @ 0x24 700160ce: ed8d 3a0a vstr s6, [sp, #40] @ 0x28 700160d2: 960b str r6, [sp, #44] @ 0x2c 700160d4: 900c str r0, [sp, #48] @ 0x30 700160d6: 910d str r1, [sp, #52] @ 0x34 700160d8: 930e str r3, [sp, #56] @ 0x38 700160da: 920f str r2, [sp, #60] @ 0x3c 700160dc: edcd 7a10 vstr s15, [sp, #64] @ 0x40 700160e0: edcd 3a11 vstr s7, [sp, #68] @ 0x44 700160e4: ed8d 7a12 vstr s14, [sp, #72] @ 0x48 700160e8: ed8d 4a13 vstr s8, [sp, #76] @ 0x4c 700160ec: ed8d 8a14 vstr s16, [sp, #80] @ 0x50 700160f0: edcd 7a15 vstr s15, [sp, #84] @ 0x54 700160f4: e023 b.n 7001613e <_ZNK8touchgfx13TextureMapper4drawERKNS_4RectE+0x13e> 700160f6: edcd 7a11 vstr s15, [sp, #68] @ 0x44 700160fa: edcd 7a14 vstr s15, [sp, #80] @ 0x50 700160fe: eef0 7a66 vmov.f32 s15, s13 70016102: eef0 6a65 vmov.f32 s13, s11 70016106: edcd 4a05 vstr s9, [sp, #20] 7001610a: edcd 1a04 vstr s3, [sp, #16] 7001610e: eef0 5a67 vmov.f32 s11, s15 70016112: 9706 str r7, [sp, #24] 70016114: ed8d 2a07 vstr s4, [sp, #28] 70016118: ed8d 5a09 vstr s10, [sp, #36] @ 0x24 7001611c: edcd 2a08 vstr s5, [sp, #32] 70016120: 960a str r6, [sp, #40] @ 0x28 70016122: ed8d 3a0b vstr s6, [sp, #44] @ 0x2c 70016126: 900d str r0, [sp, #52] @ 0x34 70016128: 910c str r1, [sp, #48] @ 0x30 7001612a: 920e str r2, [sp, #56] @ 0x38 7001612c: 930f str r3, [sp, #60] @ 0x3c 7001612e: edcd 3a10 vstr s7, [sp, #64] @ 0x40 70016132: ed8d 4a12 vstr s8, [sp, #72] @ 0x48 70016136: ed8d 7a13 vstr s14, [sp, #76] @ 0x4c 7001613a: ed8d 8a15 vstr s16, [sp, #84] @ 0x54 7001613e: ab14 add r3, sp, #80 @ 0x50 70016140: 2200 movs r2, #0 70016142: 4629 mov r1, r5 70016144: 4620 mov r0, r4 70016146: 9303 str r3, [sp, #12] 70016148: ab10 add r3, sp, #64 @ 0x40 7001614a: edcd 5a16 vstr s11, [sp, #88] @ 0x58 7001614e: 9302 str r3, [sp, #8] 70016150: ab0c add r3, sp, #48 @ 0x30 70016152: edcd 6a17 vstr s13, [sp, #92] @ 0x5c 70016156: 9301 str r3, [sp, #4] 70016158: ab08 add r3, sp, #32 7001615a: 9300 str r3, [sp, #0] 7001615c: ab04 add r3, sp, #16 7001615e: f7ff fe2f bl 70015dc0 <_ZNK8touchgfx13TextureMapper8drawQuadERKNS_4RectEPtPKfS6_S6_S6_S6_> 70016162: b019 add sp, #100 @ 0x64 70016164: ecbd 8b02 vpop {d8} 70016168: bdf0 pop {r4, r5, r6, r7, pc} 7001616a: bf00 nop 7001616c: 2400da72 .word 0x2400da72 70016170 <_ZN8touchgfx6Button10setBitmapsERKNS_6BitmapES3_>: 70016170: b570 push {r4, r5, r6, lr} 70016172: 880b ldrh r3, [r1, #0] 70016174: 4605 mov r5, r0 70016176: 4604 mov r4, r0 70016178: 85c3 strh r3, [r0, #46] @ 0x2e 7001617a: 8813 ldrh r3, [r2, #0] 7001617c: f825 3f30 strh.w r3, [r5, #48]! 70016180: 4628 mov r0, r5 70016182: f7fe f9ef bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 70016186: 4606 mov r6, r0 70016188: 4628 mov r0, r5 7001618a: f7fe fa1f bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 7001618e: 6823 ldr r3, [r4, #0] 70016190: 4605 mov r5, r0 70016192: 4631 mov r1, r6 70016194: 4620 mov r0, r4 70016196: 6b9b ldr r3, [r3, #56] @ 0x38 70016198: 4798 blx r3 7001619a: 6823 ldr r3, [r4, #0] 7001619c: 4629 mov r1, r5 7001619e: 4620 mov r0, r4 700161a0: 6bdb ldr r3, [r3, #60] @ 0x3c 700161a2: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 700161a6: 4718 bx r3 700161a8 <_ZNK8touchgfx6Button12getSolidRectEv>: 700161a8: b510 push {r4, lr} 700161aa: f891 3032 ldrb.w r3, [r1, #50] @ 0x32 700161ae: 4604 mov r4, r0 700161b0: 2bff cmp r3, #255 @ 0xff 700161b2: d005 beq.n 700161c0 <_ZNK8touchgfx6Button12getSolidRectEv+0x18> 700161b4: 2300 movs r3, #0 700161b6: 8003 strh r3, [r0, #0] 700161b8: 8043 strh r3, [r0, #2] 700161ba: 8083 strh r3, [r0, #4] 700161bc: 80c3 strh r3, [r0, #6] 700161be: e007 b.n 700161d0 <_ZNK8touchgfx6Button12getSolidRectEv+0x28> 700161c0: f891 302c ldrb.w r3, [r1, #44] @ 0x2c 700161c4: b10b cbz r3, 700161ca <_ZNK8touchgfx6Button12getSolidRectEv+0x22> 700161c6: 3130 adds r1, #48 @ 0x30 700161c8: e000 b.n 700161cc <_ZNK8touchgfx6Button12getSolidRectEv+0x24> 700161ca: 312e adds r1, #46 @ 0x2e 700161cc: f7fe fa32 bl 70014634 <_ZNK8touchgfx6Bitmap12getSolidRectEv> 700161d0: 4620 mov r0, r4 700161d2: bd10 pop {r4, pc} 700161d4 <_ZNK8touchgfx6Button4drawERKNS_4RectE>: 700161d4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 700161d8: f890 302c ldrb.w r3, [r0, #44] @ 0x2c 700161dc: b08a sub sp, #40 @ 0x28 700161de: 4604 mov r4, r0 700161e0: 4688 mov r8, r1 700161e2: b10b cbz r3, 700161e8 <_ZNK8touchgfx6Button4drawERKNS_4RectE+0x14> 700161e4: 8e03 ldrh r3, [r0, #48] @ 0x30 700161e6: e000 b.n 700161ea <_ZNK8touchgfx6Button4drawERKNS_4RectE+0x16> 700161e8: 8dc3 ldrh r3, [r0, #46] @ 0x2e 700161ea: a805 add r0, sp, #20 700161ec: f8ad 3014 strh.w r3, [sp, #20] 700161f0: f7fe f9b8 bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 700161f4: 4607 mov r7, r0 700161f6: a805 add r0, sp, #20 700161f8: f7fe f9e8 bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 700161fc: f9b8 6000 ldrsh.w r6, [r8] 70016200: f8b8 2004 ldrh.w r2, [r8, #4] 70016204: 2300 movs r3, #0 70016206: 4432 add r2, r6 70016208: 9306 str r3, [sp, #24] 7001620a: b291 uxth r1, r2 7001620c: b212 sxth r2, r2 7001620e: 429a cmp r2, r3 70016210: dd01 ble.n 70016216 <_ZNK8touchgfx6Button4drawERKNS_4RectE+0x42> 70016212: 42b7 cmp r7, r6 70016214: dc02 bgt.n 7001621c <_ZNK8touchgfx6Button4drawERKNS_4RectE+0x48> 70016216: 2300 movs r3, #0 70016218: 9307 str r3, [sp, #28] 7001621a: e021 b.n 70016260 <_ZNK8touchgfx6Button4drawERKNS_4RectE+0x8c> 7001621c: f9b8 5002 ldrsh.w r5, [r8, #2] 70016220: f8b8 3006 ldrh.w r3, [r8, #6] 70016224: 442b add r3, r5 70016226: fa1f fc83 uxth.w ip, r3 7001622a: b21b sxth r3, r3 7001622c: 2b00 cmp r3, #0 7001622e: ddf2 ble.n 70016216 <_ZNK8touchgfx6Button4drawERKNS_4RectE+0x42> 70016230: 42a8 cmp r0, r5 70016232: ddf0 ble.n 70016216 <_ZNK8touchgfx6Button4drawERKNS_4RectE+0x42> 70016234: 4297 cmp r7, r2 70016236: ea26 76e6 bic.w r6, r6, r6, asr #31 7001623a: ea25 75e5 bic.w r5, r5, r5, asr #31 7001623e: bfb8 it lt 70016240: b2b9 uxthlt r1, r7 70016242: 4298 cmp r0, r3 70016244: f8ad 6018 strh.w r6, [sp, #24] 70016248: bfb8 it lt 7001624a: fa1f fc80 uxthlt.w ip, r0 7001624e: 1b89 subs r1, r1, r6 70016250: f8ad 501a strh.w r5, [sp, #26] 70016254: ebac 0c05 sub.w ip, ip, r5 70016258: f8ad 101c strh.w r1, [sp, #28] 7001625c: f8ad c01e strh.w ip, [sp, #30] 70016260: f8bd 2014 ldrh.w r2, [sp, #20] 70016264: f64f 73ff movw r3, #65535 @ 0xffff 70016268: 429a cmp r2, r3 7001626a: d026 beq.n 700162ba <_ZNK8touchgfx6Button4drawERKNS_4RectE+0xe6> 7001626c: f9bd 301c ldrsh.w r3, [sp, #28] 70016270: 2b00 cmp r3, #0 70016272: dd22 ble.n 700162ba <_ZNK8touchgfx6Button4drawERKNS_4RectE+0xe6> 70016274: f9bd 301e ldrsh.w r3, [sp, #30] 70016278: 2b00 cmp r3, #0 7001627a: dd1e ble.n 700162ba <_ZNK8touchgfx6Button4drawERKNS_4RectE+0xe6> 7001627c: 2300 movs r3, #0 7001627e: a908 add r1, sp, #32 70016280: 4620 mov r0, r4 70016282: e9cd 3308 strd r3, r3, [sp, #32] 70016286: 6823 ldr r3, [r4, #0] 70016288: 6adb ldr r3, [r3, #44] @ 0x2c 7001628a: 4798 blx r3 7001628c: 4b0c ldr r3, [pc, #48] @ (700162c0 <_ZNK8touchgfx6Button4drawERKNS_4RectE+0xec>) 7001628e: 681b ldr r3, [r3, #0] 70016290: f893 205c ldrb.w r2, [r3, #92] @ 0x5c 70016294: b10a cbz r2, 7001629a <_ZNK8touchgfx6Button4drawERKNS_4RectE+0xc6> 70016296: 6d18 ldr r0, [r3, #80] @ 0x50 70016298: b900 cbnz r0, 7001629c <_ZNK8touchgfx6Button4drawERKNS_4RectE+0xc8> 7001629a: 6898 ldr r0, [r3, #8] 7001629c: 2201 movs r2, #1 7001629e: 6803 ldr r3, [r0, #0] 700162a0: a905 add r1, sp, #20 700162a2: 9202 str r2, [sp, #8] 700162a4: f894 2032 ldrb.w r2, [r4, #50] @ 0x32 700162a8: 9201 str r2, [sp, #4] 700162aa: aa06 add r2, sp, #24 700162ac: 9200 str r2, [sp, #0] 700162ae: f9bd 2020 ldrsh.w r2, [sp, #32] 700162b2: 689c ldr r4, [r3, #8] 700162b4: f9bd 3022 ldrsh.w r3, [sp, #34] @ 0x22 700162b8: 47a0 blx r4 700162ba: b00a add sp, #40 @ 0x28 700162bc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 700162c0: 2400da80 .word 0x2400da80 700162c4 <_ZN8touchgfx7OutlineD1Ev>: 700162c4: 4770 bx lr 700162c6 <_ZN8touchgfx7OutlineD0Ev>: 700162c6: b510 push {r4, lr} 700162c8: 4604 mov r4, r0 700162ca: 2130 movs r1, #48 @ 0x30 700162cc: f023 fa73 bl 700397b6 <_ZdlPvj> 700162d0: 4620 mov r0, r4 700162d2: bd10 pop {r4, pc} 700162d4 <_ZN8touchgfx7Outline5resetEv>: 700162d4: b510 push {r4, lr} 700162d6: 4604 mov r4, r0 700162d8: f000 fe70 bl 70016fbc <_ZN8touchgfx20CanvasWidgetRenderer16getOutlineBufferEv> 700162dc: 60e0 str r0, [r4, #12] 700162de: f000 fe73 bl 70016fc8 <_ZN8touchgfx20CanvasWidgetRenderer20getOutlineBufferSizeEv> 700162e2: 68e3 ldr r3, [r4, #12] 700162e4: 08c0 lsrs r0, r0, #3 700162e6: 2200 movs r2, #0 700162e8: f647 71ff movw r1, #32767 @ 0x7fff 700162ec: 6123 str r3, [r4, #16] 700162ee: 3801 subs r0, #1 700162f0: 60a2 str r2, [r4, #8] 700162f2: 6060 str r0, [r4, #4] 700162f4: 8019 strh r1, [r3, #0] 700162f6: 8059 strh r1, [r3, #2] 700162f8: 809a strh r2, [r3, #4] 700162fa: 80da strh r2, [r3, #6] 700162fc: 6a63 ldr r3, [r4, #36] @ 0x24 700162fe: f023 0301 bic.w r3, r3, #1 70016302: f043 0302 orr.w r3, r3, #2 70016306: 6263 str r3, [r4, #36] @ 0x24 70016308: bd10 pop {r4, pc} ... 7001630c <_ZN8touchgfx7OutlineC1Ev>: 7001630c: 4b0a ldr r3, [pc, #40] @ (70016338 <_ZN8touchgfx7OutlineC1Ev+0x2c>) 7001630e: b510 push {r4, lr} 70016310: 6003 str r3, [r0, #0] 70016312: 2300 movs r3, #0 70016314: 4604 mov r4, r0 70016316: 6243 str r3, [r0, #36] @ 0x24 70016318: e9c0 3301 strd r3, r3, [r0, #4] 7001631c: e9c0 3303 strd r3, r3, [r0, #12] 70016320: e9c0 3305 strd r3, r3, [r0, #20] 70016324: e9c0 3307 strd r3, r3, [r0, #28] 70016328: f06f 4300 mvn.w r3, #2147483648 @ 0x80000000 7001632c: e9c0 330a strd r3, r3, [r0, #40] @ 0x28 70016330: f7ff ffd0 bl 700162d4 <_ZN8touchgfx7Outline5resetEv> 70016334: 4620 mov r0, r4 70016336: bd10 pop {r4, pc} 70016338: 7003ffb0 .word 0x7003ffb0 7001633c <_ZN8touchgfx7Outline10renderLineEiiii>: 7001633c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70016340: b091 sub sp, #68 @ 0x44 70016342: 460f mov r7, r1 70016344: f002 0c1f and.w ip, r2, #31 70016348: 991a ldr r1, [sp, #104] @ 0x68 7001634a: 9302 str r3, [sp, #8] 7001634c: 1153 asrs r3, r2, #5 7001634e: 114c asrs r4, r1, #5 70016350: 9303 str r3, [sp, #12] 70016352: 9400 str r4, [sp, #0] 70016354: f001 041f and.w r4, r1, #31 70016358: 9404 str r4, [sp, #16] 7001635a: 114c asrs r4, r1, #5 7001635c: ebb4 1f62 cmp.w r4, r2, asr #5 70016360: f040 80ed bne.w 7001653e <_ZN8touchgfx7Outline10renderLineEiiii+0x202> 70016364: 9904 ldr r1, [sp, #16] 70016366: 9a02 ldr r2, [sp, #8] 70016368: 458c cmp ip, r1 7001636a: ea4f 1e62 mov.w lr, r2, asr #5 7001636e: 6902 ldr r2, [r0, #16] 70016370: d128 bne.n 700163c4 <_ZN8touchgfx7Outline10renderLineEiiii+0x88> 70016372: f9b2 1000 ldrsh.w r1, [r2] 70016376: 458e cmp lr, r1 70016378: d104 bne.n 70016384 <_ZN8touchgfx7Outline10renderLineEiiii+0x48> 7001637a: f9b2 1002 ldrsh.w r1, [r2, #2] 7001637e: 428b cmp r3, r1 70016380: f000 8473 beq.w 70016c6a <_ZN8touchgfx7Outline10renderLineEiiii+0x92e> 70016384: 88d1 ldrh r1, [r2, #6] 70016386: 8894 ldrh r4, [r2, #4] 70016388: 4321 orrs r1, r4 7001638a: b209 sxth r1, r1 7001638c: b181 cbz r1, 700163b0 <_ZN8touchgfx7Outline10renderLineEiiii+0x74> 7001638e: f9b2 1002 ldrsh.w r1, [r2, #2] 70016392: 2900 cmp r1, #0 70016394: db0c blt.n 700163b0 <_ZN8touchgfx7Outline10renderLineEiiii+0x74> 70016396: 6ac4 ldr r4, [r0, #44] @ 0x2c 70016398: 42a1 cmp r1, r4 7001639a: da09 bge.n 700163b0 <_ZN8touchgfx7Outline10renderLineEiiii+0x74> 7001639c: e9d0 4101 ldrd r4, r1, [r0, #4] 700163a0: 42a1 cmp r1, r4 700163a2: f101 0101 add.w r1, r1, #1 700163a6: bf38 it cc 700163a8: 3208 addcc r2, #8 700163aa: 6081 str r1, [r0, #8] 700163ac: bf38 it cc 700163ae: 6102 strcc r2, [r0, #16] 700163b0: 6902 ldr r2, [r0, #16] 700163b2: 9b03 ldr r3, [sp, #12] 700163b4: f8a2 e000 strh.w lr, [r2] 700163b8: 8053 strh r3, [r2, #2] 700163ba: 2300 movs r3, #0 700163bc: 8093 strh r3, [r2, #4] 700163be: 80d3 strh r3, [r2, #6] 700163c0: f000 bc53 b.w 70016c6a <_ZN8touchgfx7Outline10renderLineEiiii+0x92e> 700163c4: 9902 ldr r1, [sp, #8] 700163c6: ebbe 1f67 cmp.w lr, r7, asr #5 700163ca: ea4f 1667 mov.w r6, r7, asr #5 700163ce: f007 041f and.w r4, r7, #31 700163d2: f001 011f and.w r1, r1, #31 700163d6: f8b2 8004 ldrh.w r8, [r2, #4] 700163da: 9100 str r1, [sp, #0] 700163dc: 9904 ldr r1, [sp, #16] 700163de: eba1 010c sub.w r1, r1, ip 700163e2: d10a bne.n 700163fa <_ZN8touchgfx7Outline10renderLineEiiii+0xbe> 700163e4: 9b00 ldr r3, [sp, #0] 700163e6: 4488 add r8, r1 700163e8: 441c add r4, r3 700163ea: 88d3 ldrh r3, [r2, #6] 700163ec: f8a2 8004 strh.w r8, [r2, #4] 700163f0: fb01 3404 mla r4, r1, r4, r3 700163f4: 80d4 strh r4, [r2, #6] 700163f6: f000 bc38 b.w 70016c6a <_ZN8touchgfx7Outline10renderLineEiiii+0x92e> 700163fa: 9d02 ldr r5, [sp, #8] 700163fc: 1bed subs r5, r5, r7 700163fe: d407 bmi.n 70016410 <_ZN8touchgfx7Outline10renderLineEiiii+0xd4> 70016400: f1c4 0720 rsb r7, r4, #32 70016404: f04f 0a01 mov.w sl, #1 70016408: f04f 0920 mov.w r9, #32 7001640c: 4379 muls r1, r7 7001640e: e006 b.n 7001641e <_ZN8touchgfx7Outline10renderLineEiiii+0xe2> 70016410: 9d02 ldr r5, [sp, #8] 70016412: 4361 muls r1, r4 70016414: f04f 3aff mov.w sl, #4294967295 @ 0xffffffff 70016418: f04f 0900 mov.w r9, #0 7001641c: 1b7d subs r5, r7, r5 7001641e: 444c add r4, r9 70016420: 4456 add r6, sl 70016422: fb91 f7f5 sdiv r7, r1, r5 70016426: fb05 1117 mls r1, r5, r7, r1 7001642a: 2900 cmp r1, #0 7001642c: bfbc itt lt 7001642e: f107 37ff addlt.w r7, r7, #4294967295 @ 0xffffffff 70016432: 1949 addlt r1, r1, r5 70016434: 44b8 add r8, r7 70016436: f8a2 8004 strh.w r8, [r2, #4] 7001643a: f8b2 8006 ldrh.w r8, [r2, #6] 7001643e: fb07 8804 mla r8, r7, r4, r8 70016442: f8a2 8006 strh.w r8, [r2, #6] 70016446: 6902 ldr r2, [r0, #16] 70016448: 88d4 ldrh r4, [r2, #6] 7001644a: f8b2 8004 ldrh.w r8, [r2, #4] 7001644e: ea44 0408 orr.w r4, r4, r8 70016452: b224 sxth r4, r4 70016454: b17c cbz r4, 70016476 <_ZN8touchgfx7Outline10renderLineEiiii+0x13a> 70016456: f9b2 8002 ldrsh.w r8, [r2, #2] 7001645a: f1b8 0f00 cmp.w r8, #0 7001645e: db0a blt.n 70016476 <_ZN8touchgfx7Outline10renderLineEiiii+0x13a> 70016460: 6ac4 ldr r4, [r0, #44] @ 0x2c 70016462: 45a0 cmp r8, r4 70016464: da07 bge.n 70016476 <_ZN8touchgfx7Outline10renderLineEiiii+0x13a> 70016466: e9d0 3401 ldrd r3, r4, [r0, #4] 7001646a: 429c cmp r4, r3 7001646c: bf3c itt cc 7001646e: 3208 addcc r2, #8 70016470: 6102 strcc r2, [r0, #16] 70016472: 1c62 adds r2, r4, #1 70016474: 6082 str r2, [r0, #8] 70016476: 6902 ldr r2, [r0, #16] 70016478: 2400 movs r4, #0 7001647a: f9bd 300c ldrsh.w r3, [sp, #12] 7001647e: 45b6 cmp lr, r6 70016480: 8016 strh r6, [r2, #0] 70016482: 8053 strh r3, [r2, #2] 70016484: 8094 strh r4, [r2, #4] 70016486: 80d4 strh r4, [r2, #6] 70016488: eb0c 0207 add.w r2, ip, r7 7001648c: d04c beq.n 70016528 <_ZN8touchgfx7Outline10renderLineEiiii+0x1ec> 7001648e: 9c04 ldr r4, [sp, #16] 70016490: 1b49 subs r1, r1, r5 70016492: 1aa4 subs r4, r4, r2 70016494: 443c add r4, r7 70016496: 0164 lsls r4, r4, #5 70016498: fb94 f8f5 sdiv r8, r4, r5 7001649c: fb05 4418 mls r4, r5, r8, r4 700164a0: 2c00 cmp r4, #0 700164a2: bfbc itt lt 700164a4: f108 38ff addlt.w r8, r8, #4294967295 @ 0xffffffff 700164a8: 1964 addlt r4, r4, r5 700164aa: f108 0701 add.w r7, r8, #1 700164ae: 9701 str r7, [sp, #4] 700164b0: f8d0 c010 ldr.w ip, [r0, #16] 700164b4: 1909 adds r1, r1, r4 700164b6: 4456 add r6, sl 700164b8: bf54 ite pl 700164ba: 9f01 ldrpl r7, [sp, #4] 700164bc: 4647 movmi r7, r8 700164be: f8bc b004 ldrh.w fp, [ip, #4] 700164c2: bf58 it pl 700164c4: 1b49 subpl r1, r1, r5 700164c6: 443a add r2, r7 700164c8: 44bb add fp, r7 700164ca: f8ac b004 strh.w fp, [ip, #4] 700164ce: f8bc b006 ldrh.w fp, [ip, #6] 700164d2: eb0b 1b47 add.w fp, fp, r7, lsl #5 700164d6: f8ac b006 strh.w fp, [ip, #6] 700164da: f8d0 c010 ldr.w ip, [r0, #16] 700164de: f8bc 7006 ldrh.w r7, [ip, #6] 700164e2: f8bc b004 ldrh.w fp, [ip, #4] 700164e6: ea47 070b orr.w r7, r7, fp 700164ea: b23f sxth r7, r7 700164ec: b18f cbz r7, 70016512 <_ZN8touchgfx7Outline10renderLineEiiii+0x1d6> 700164ee: f9bc b002 ldrsh.w fp, [ip, #2] 700164f2: f1bb 0f00 cmp.w fp, #0 700164f6: db0c blt.n 70016512 <_ZN8touchgfx7Outline10renderLineEiiii+0x1d6> 700164f8: 6ac7 ldr r7, [r0, #44] @ 0x2c 700164fa: 45bb cmp fp, r7 700164fc: da09 bge.n 70016512 <_ZN8touchgfx7Outline10renderLineEiiii+0x1d6> 700164fe: e9d0 7b01 ldrd r7, fp, [r0, #4] 70016502: 45bb cmp fp, r7 70016504: bf3c itt cc 70016506: f10c 0708 addcc.w r7, ip, #8 7001650a: 6107 strcc r7, [r0, #16] 7001650c: f10b 0701 add.w r7, fp, #1 70016510: 6087 str r7, [r0, #8] 70016512: 6907 ldr r7, [r0, #16] 70016514: f04f 0c00 mov.w ip, #0 70016518: 45b6 cmp lr, r6 7001651a: 803e strh r6, [r7, #0] 7001651c: 807b strh r3, [r7, #2] 7001651e: f8a7 c004 strh.w ip, [r7, #4] 70016522: f8a7 c006 strh.w ip, [r7, #6] 70016526: d1c3 bne.n 700164b0 <_ZN8touchgfx7Outline10renderLineEiiii+0x174> 70016528: 9b04 ldr r3, [sp, #16] 7001652a: 6901 ldr r1, [r0, #16] 7001652c: 1a9a subs r2, r3, r2 7001652e: 888b ldrh r3, [r1, #4] 70016530: 4413 add r3, r2 70016532: 808b strh r3, [r1, #4] 70016534: 9b00 ldr r3, [sp, #0] 70016536: 3320 adds r3, #32 70016538: eba3 0309 sub.w r3, r3, r9 7001653c: e391 b.n 70016c62 <_ZN8touchgfx7Outline10renderLineEiiii+0x926> 7001653e: 9b02 ldr r3, [sp, #8] 70016540: 1bdb subs r3, r3, r7 70016542: 9306 str r3, [sp, #24] 70016544: 1a8b subs r3, r1, r2 70016546: 9301 str r3, [sp, #4] 70016548: d512 bpl.n 70016570 <_ZN8touchgfx7Outline10renderLineEiiii+0x234> 7001654a: 1153 asrs r3, r2, #5 7001654c: 2b00 cmp r3, #0 7001654e: f2c0 838c blt.w 70016c6a <_ZN8touchgfx7Outline10renderLineEiiii+0x92e> 70016552: 1a53 subs r3, r2, r1 70016554: f04f 0a00 mov.w sl, #0 70016558: 9301 str r3, [sp, #4] 7001655a: 9b00 ldr r3, [sp, #0] 7001655c: ea43 73e3 orr.w r3, r3, r3, asr #31 70016560: 9300 str r3, [sp, #0] 70016562: 9b06 ldr r3, [sp, #24] 70016564: fb03 f20c mul.w r2, r3, ip 70016568: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7001656c: 9309 str r3, [sp, #36] @ 0x24 7001656e: e012 b.n 70016596 <_ZN8touchgfx7Outline10renderLineEiiii+0x25a> 70016570: 6ac2 ldr r2, [r0, #44] @ 0x2c 70016572: 9b03 ldr r3, [sp, #12] 70016574: 429a cmp r2, r3 70016576: f2c0 8378 blt.w 70016c6a <_ZN8touchgfx7Outline10renderLineEiiii+0x92e> 7001657a: 9b00 ldr r3, [sp, #0] 7001657c: f04f 0a20 mov.w sl, #32 70016580: 429a cmp r2, r3 70016582: bfb8 it lt 70016584: 1c53 addlt r3, r2, #1 70016586: f1cc 0220 rsb r2, ip, #32 7001658a: bfb8 it lt 7001658c: 9300 strlt r3, [sp, #0] 7001658e: 9b06 ldr r3, [sp, #24] 70016590: 435a muls r2, r3 70016592: 2301 movs r3, #1 70016594: 9309 str r3, [sp, #36] @ 0x24 70016596: 9b01 ldr r3, [sp, #4] 70016598: fb92 f4f3 sdiv r4, r2, r3 7001659c: fb03 2314 mls r3, r3, r4, r2 700165a0: 2b00 cmp r3, #0 700165a2: 9305 str r3, [sp, #20] 700165a4: da04 bge.n 700165b0 <_ZN8touchgfx7Outline10renderLineEiiii+0x274> 700165a6: 461a mov r2, r3 700165a8: 9b01 ldr r3, [sp, #4] 700165aa: 3c01 subs r4, #1 700165ac: 441a add r2, r3 700165ae: 9205 str r2, [sp, #20] 700165b0: eb04 0907 add.w r9, r4, r7 700165b4: 45e2 cmp sl, ip 700165b6: 6902 ldr r2, [r0, #16] 700165b8: ea4f 1e69 mov.w lr, r9, asr #5 700165bc: d128 bne.n 70016610 <_ZN8touchgfx7Outline10renderLineEiiii+0x2d4> 700165be: f9b2 1000 ldrsh.w r1, [r2] 700165c2: 458e cmp lr, r1 700165c4: d105 bne.n 700165d2 <_ZN8touchgfx7Outline10renderLineEiiii+0x296> 700165c6: f9b2 1002 ldrsh.w r1, [r2, #2] 700165ca: 9b03 ldr r3, [sp, #12] 700165cc: 428b cmp r3, r1 700165ce: f000 80de beq.w 7001678e <_ZN8touchgfx7Outline10renderLineEiiii+0x452> 700165d2: 88d1 ldrh r1, [r2, #6] 700165d4: 8894 ldrh r4, [r2, #4] 700165d6: 4321 orrs r1, r4 700165d8: b209 sxth r1, r1 700165da: b181 cbz r1, 700165fe <_ZN8touchgfx7Outline10renderLineEiiii+0x2c2> 700165dc: f9b2 4002 ldrsh.w r4, [r2, #2] 700165e0: 2c00 cmp r4, #0 700165e2: db0c blt.n 700165fe <_ZN8touchgfx7Outline10renderLineEiiii+0x2c2> 700165e4: 6ac1 ldr r1, [r0, #44] @ 0x2c 700165e6: 428c cmp r4, r1 700165e8: da09 bge.n 700165fe <_ZN8touchgfx7Outline10renderLineEiiii+0x2c2> 700165ea: e9d0 1401 ldrd r1, r4, [r0, #4] 700165ee: 428c cmp r4, r1 700165f0: f104 0401 add.w r4, r4, #1 700165f4: bf38 it cc 700165f6: 3208 addcc r2, #8 700165f8: 6084 str r4, [r0, #8] 700165fa: bf38 it cc 700165fc: 6102 strcc r2, [r0, #16] 700165fe: 6902 ldr r2, [r0, #16] 70016600: 2100 movs r1, #0 70016602: 9b03 ldr r3, [sp, #12] 70016604: f8a2 e000 strh.w lr, [r2] 70016608: 8053 strh r3, [r2, #2] 7001660a: 8091 strh r1, [r2, #4] 7001660c: 80d1 strh r1, [r2, #6] 7001660e: e0be b.n 7001678e <_ZN8touchgfx7Outline10renderLineEiiii+0x452> 70016610: f009 031f and.w r3, r9, #31 70016614: ebbe 1f67 cmp.w lr, r7, asr #5 70016618: ea4f 1667 mov.w r6, r7, asr #5 7001661c: f007 051f and.w r5, r7, #31 70016620: ebaa 010c sub.w r1, sl, ip 70016624: f8b2 8004 ldrh.w r8, [r2, #4] 70016628: 930a str r3, [sp, #40] @ 0x28 7001662a: d108 bne.n 7001663e <_ZN8touchgfx7Outline10renderLineEiiii+0x302> 7001662c: 88d4 ldrh r4, [r2, #6] 7001662e: 441d add r5, r3 70016630: 4488 add r8, r1 70016632: fb01 4405 mla r4, r1, r5, r4 70016636: f8a2 8004 strh.w r8, [r2, #4] 7001663a: 80d4 strh r4, [r2, #6] 7001663c: e0a7 b.n 7001678e <_ZN8touchgfx7Outline10renderLineEiiii+0x452> 7001663e: 2c00 cmp r4, #0 70016640: db06 blt.n 70016650 <_ZN8touchgfx7Outline10renderLineEiiii+0x314> 70016642: 2301 movs r3, #1 70016644: f1c5 0720 rsb r7, r5, #32 70016648: 9308 str r3, [sp, #32] 7001664a: 2320 movs r3, #32 7001664c: 4379 muls r1, r7 7001664e: e005 b.n 7001665c <_ZN8touchgfx7Outline10renderLineEiiii+0x320> 70016650: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70016654: 4369 muls r1, r5 70016656: 4264 negs r4, r4 70016658: 9308 str r3, [sp, #32] 7001665a: 2300 movs r3, #0 7001665c: 9307 str r3, [sp, #28] 7001665e: 9b07 ldr r3, [sp, #28] 70016660: fb91 f7f4 sdiv r7, r1, r4 70016664: fb04 1117 mls r1, r4, r7, r1 70016668: 441d add r5, r3 7001666a: 9b08 ldr r3, [sp, #32] 7001666c: 2900 cmp r1, #0 7001666e: 441e add r6, r3 70016670: bfbc itt lt 70016672: f107 37ff addlt.w r7, r7, #4294967295 @ 0xffffffff 70016676: 1909 addlt r1, r1, r4 70016678: 44b8 add r8, r7 7001667a: f8a2 8004 strh.w r8, [r2, #4] 7001667e: f8b2 8006 ldrh.w r8, [r2, #6] 70016682: fb07 8805 mla r8, r7, r5, r8 70016686: f8a2 8006 strh.w r8, [r2, #6] 7001668a: 6905 ldr r5, [r0, #16] 7001668c: 88ea ldrh r2, [r5, #6] 7001668e: f8b5 8004 ldrh.w r8, [r5, #4] 70016692: ea42 0208 orr.w r2, r2, r8 70016696: b212 sxth r2, r2 70016698: b18a cbz r2, 700166be <_ZN8touchgfx7Outline10renderLineEiiii+0x382> 7001669a: f9b5 8002 ldrsh.w r8, [r5, #2] 7001669e: f1b8 0f00 cmp.w r8, #0 700166a2: db0c blt.n 700166be <_ZN8touchgfx7Outline10renderLineEiiii+0x382> 700166a4: 6ac2 ldr r2, [r0, #44] @ 0x2c 700166a6: 4590 cmp r8, r2 700166a8: da09 bge.n 700166be <_ZN8touchgfx7Outline10renderLineEiiii+0x382> 700166aa: e9d0 3201 ldrd r3, r2, [r0, #4] 700166ae: 429a cmp r2, r3 700166b0: f102 0201 add.w r2, r2, #1 700166b4: bf38 it cc 700166b6: 3508 addcc r5, #8 700166b8: 6082 str r2, [r0, #8] 700166ba: bf38 it cc 700166bc: 6105 strcc r5, [r0, #16] 700166be: 6902 ldr r2, [r0, #16] 700166c0: 2500 movs r5, #0 700166c2: f9bd 300c ldrsh.w r3, [sp, #12] 700166c6: 45b6 cmp lr, r6 700166c8: 8016 strh r6, [r2, #0] 700166ca: 8053 strh r3, [r2, #2] 700166cc: 8095 strh r5, [r2, #4] 700166ce: 80d5 strh r5, [r2, #6] 700166d0: eb0c 0207 add.w r2, ip, r7 700166d4: 930b str r3, [sp, #44] @ 0x2c 700166d6: d04c beq.n 70016772 <_ZN8touchgfx7Outline10renderLineEiiii+0x436> 700166d8: ebaa 0502 sub.w r5, sl, r2 700166dc: 1b09 subs r1, r1, r4 700166de: 443d add r5, r7 700166e0: 016d lsls r5, r5, #5 700166e2: fb95 f8f4 sdiv r8, r5, r4 700166e6: fb04 5518 mls r5, r4, r8, r5 700166ea: 2d00 cmp r5, #0 700166ec: bfbc itt lt 700166ee: f108 38ff addlt.w r8, r8, #4294967295 @ 0xffffffff 700166f2: 192d addlt r5, r5, r4 700166f4: f108 0301 add.w r3, r8, #1 700166f8: 930c str r3, [sp, #48] @ 0x30 700166fa: f8d0 c010 ldr.w ip, [r0, #16] 700166fe: 1949 adds r1, r1, r5 70016700: 9b08 ldr r3, [sp, #32] 70016702: bf54 ite pl 70016704: 9f0c ldrpl r7, [sp, #48] @ 0x30 70016706: 4647 movmi r7, r8 70016708: f8bc b004 ldrh.w fp, [ip, #4] 7001670c: bf58 it pl 7001670e: 1b09 subpl r1, r1, r4 70016710: 443a add r2, r7 70016712: 441e add r6, r3 70016714: 44bb add fp, r7 70016716: f8ac b004 strh.w fp, [ip, #4] 7001671a: f8bc b006 ldrh.w fp, [ip, #6] 7001671e: eb0b 1b47 add.w fp, fp, r7, lsl #5 70016722: f8ac b006 strh.w fp, [ip, #6] 70016726: f8d0 c010 ldr.w ip, [r0, #16] 7001672a: f8bc 7006 ldrh.w r7, [ip, #6] 7001672e: f8bc b004 ldrh.w fp, [ip, #4] 70016732: ea47 070b orr.w r7, r7, fp 70016736: b23f sxth r7, r7 70016738: b18f cbz r7, 7001675e <_ZN8touchgfx7Outline10renderLineEiiii+0x422> 7001673a: f9bc b002 ldrsh.w fp, [ip, #2] 7001673e: f1bb 0f00 cmp.w fp, #0 70016742: db0c blt.n 7001675e <_ZN8touchgfx7Outline10renderLineEiiii+0x422> 70016744: 6ac7 ldr r7, [r0, #44] @ 0x2c 70016746: 45bb cmp fp, r7 70016748: da09 bge.n 7001675e <_ZN8touchgfx7Outline10renderLineEiiii+0x422> 7001674a: e9d0 7b01 ldrd r7, fp, [r0, #4] 7001674e: 45bb cmp fp, r7 70016750: bf3c itt cc 70016752: f10c 0708 addcc.w r7, ip, #8 70016756: 6107 strcc r7, [r0, #16] 70016758: f10b 0701 add.w r7, fp, #1 7001675c: 6087 str r7, [r0, #8] 7001675e: 6907 ldr r7, [r0, #16] 70016760: 45b6 cmp lr, r6 70016762: 9b0b ldr r3, [sp, #44] @ 0x2c 70016764: 803e strh r6, [r7, #0] 70016766: 807b strh r3, [r7, #2] 70016768: f04f 0300 mov.w r3, #0 7001676c: 80bb strh r3, [r7, #4] 7001676e: 80fb strh r3, [r7, #6] 70016770: d1c3 bne.n 700166fa <_ZN8touchgfx7Outline10renderLineEiiii+0x3be> 70016772: 6901 ldr r1, [r0, #16] 70016774: ebaa 0202 sub.w r2, sl, r2 70016778: 9b07 ldr r3, [sp, #28] 7001677a: 888c ldrh r4, [r1, #4] 7001677c: 88cd ldrh r5, [r1, #6] 7001677e: 4414 add r4, r2 70016780: 808c strh r4, [r1, #4] 70016782: 9c0a ldr r4, [sp, #40] @ 0x28 70016784: 3420 adds r4, #32 70016786: 1ae4 subs r4, r4, r3 70016788: fb02 5504 mla r5, r2, r4, r5 7001678c: 80cd strh r5, [r1, #6] 7001678e: 9b09 ldr r3, [sp, #36] @ 0x24 70016790: 9a03 ldr r2, [sp, #12] 70016792: 6901 ldr r1, [r0, #16] 70016794: 441a add r2, r3 70016796: 4613 mov r3, r2 70016798: f9b1 2000 ldrsh.w r2, [r1] 7001679c: 4572 cmp r2, lr 7001679e: d103 bne.n 700167a8 <_ZN8touchgfx7Outline10renderLineEiiii+0x46c> 700167a0: f9b1 2002 ldrsh.w r2, [r1, #2] 700167a4: 4293 cmp r3, r2 700167a6: d01c beq.n 700167e2 <_ZN8touchgfx7Outline10renderLineEiiii+0x4a6> 700167a8: 88ca ldrh r2, [r1, #6] 700167aa: 888c ldrh r4, [r1, #4] 700167ac: 4322 orrs r2, r4 700167ae: b212 sxth r2, r2 700167b0: b182 cbz r2, 700167d4 <_ZN8touchgfx7Outline10renderLineEiiii+0x498> 700167b2: f9b1 4002 ldrsh.w r4, [r1, #2] 700167b6: 2c00 cmp r4, #0 700167b8: db0c blt.n 700167d4 <_ZN8touchgfx7Outline10renderLineEiiii+0x498> 700167ba: 6ac2 ldr r2, [r0, #44] @ 0x2c 700167bc: 4294 cmp r4, r2 700167be: da09 bge.n 700167d4 <_ZN8touchgfx7Outline10renderLineEiiii+0x498> 700167c0: e9d0 2401 ldrd r2, r4, [r0, #4] 700167c4: 4294 cmp r4, r2 700167c6: f104 0401 add.w r4, r4, #1 700167ca: bf38 it cc 700167cc: 3108 addcc r1, #8 700167ce: 6084 str r4, [r0, #8] 700167d0: bf38 it cc 700167d2: 6101 strcc r1, [r0, #16] 700167d4: 6902 ldr r2, [r0, #16] 700167d6: 2100 movs r1, #0 700167d8: f8a2 e000 strh.w lr, [r2] 700167dc: 8053 strh r3, [r2, #2] 700167de: 8091 strh r1, [r2, #4] 700167e0: 80d1 strh r1, [r2, #6] 700167e2: 9a00 ldr r2, [sp, #0] 700167e4: 429a cmp r2, r3 700167e6: f000 814a beq.w 70016a7e <_ZN8touchgfx7Outline10renderLineEiiii+0x742> 700167ea: 9a06 ldr r2, [sp, #24] 700167ec: 9901 ldr r1, [sp, #4] 700167ee: 0152 lsls r2, r2, #5 700167f0: 9c01 ldr r4, [sp, #4] 700167f2: fb92 f1f1 sdiv r1, r2, r1 700167f6: fb04 2211 mls r2, r4, r1, r2 700167fa: 9103 str r1, [sp, #12] 700167fc: 2a00 cmp r2, #0 700167fe: 9206 str r2, [sp, #24] 70016800: da04 bge.n 7001680c <_ZN8touchgfx7Outline10renderLineEiiii+0x4d0> 70016802: 1e4a subs r2, r1, #1 70016804: 9203 str r2, [sp, #12] 70016806: 9a06 ldr r2, [sp, #24] 70016808: 4422 add r2, r4 7001680a: 9206 str r2, [sp, #24] 7001680c: 9a05 ldr r2, [sp, #20] 7001680e: 9901 ldr r1, [sp, #4] 70016810: 1a52 subs r2, r2, r1 70016812: f1ca 0120 rsb r1, sl, #32 70016816: 910c str r1, [sp, #48] @ 0x30 70016818: ebaa 0101 sub.w r1, sl, r1 7001681c: 9205 str r2, [sp, #20] 7001681e: 464a mov r2, r9 70016820: 9108 str r1, [sp, #32] 70016822: e000 b.n 70016826 <_ZN8touchgfx7Outline10renderLineEiiii+0x4ea> 70016824: 464a mov r2, r9 70016826: e9dd 1405 ldrd r1, r4, [sp, #20] 7001682a: 1909 adds r1, r1, r4 7001682c: bf58 it pl 7001682e: 9c01 ldrpl r4, [sp, #4] 70016830: 9105 str r1, [sp, #20] 70016832: bf57 itett pl 70016834: 1b09 subpl r1, r1, r4 70016836: 9903 ldrmi r1, [sp, #12] 70016838: 9105 strpl r1, [sp, #20] 7001683a: 9903 ldrpl r1, [sp, #12] 7001683c: bf58 it pl 7001683e: 3101 addpl r1, #1 70016840: 2b00 cmp r3, #0 70016842: 4489 add r9, r1 70016844: ea4f 1869 mov.w r8, r9, asr #5 70016848: f2c0 80f4 blt.w 70016a34 <_ZN8touchgfx7Outline10renderLineEiiii+0x6f8> 7001684c: 6ac5 ldr r5, [r0, #44] @ 0x2c 7001684e: 429d cmp r5, r3 70016850: f340 80f0 ble.w 70016a34 <_ZN8touchgfx7Outline10renderLineEiiii+0x6f8> 70016854: 9f0c ldr r7, [sp, #48] @ 0x30 70016856: 6904 ldr r4, [r0, #16] 70016858: 45ba cmp sl, r7 7001685a: f9b4 6004 ldrsh.w r6, [r4, #4] 7001685e: d124 bne.n 700168aa <_ZN8touchgfx7Outline10renderLineEiiii+0x56e> 70016860: f9b4 2000 ldrsh.w r2, [r4] 70016864: 4542 cmp r2, r8 70016866: d104 bne.n 70016872 <_ZN8touchgfx7Outline10renderLineEiiii+0x536> 70016868: f9b4 2002 ldrsh.w r2, [r4, #2] 7001686c: 429a cmp r2, r3 7001686e: f000 80e1 beq.w 70016a34 <_ZN8touchgfx7Outline10renderLineEiiii+0x6f8> 70016872: 88e2 ldrh r2, [r4, #6] 70016874: 4332 orrs r2, r6 70016876: b212 sxth r2, r2 70016878: b17a cbz r2, 7001689a <_ZN8touchgfx7Outline10renderLineEiiii+0x55e> 7001687a: f9b4 2002 ldrsh.w r2, [r4, #2] 7001687e: 2a00 cmp r2, #0 70016880: db0b blt.n 7001689a <_ZN8touchgfx7Outline10renderLineEiiii+0x55e> 70016882: 4295 cmp r5, r2 70016884: dd09 ble.n 7001689a <_ZN8touchgfx7Outline10renderLineEiiii+0x55e> 70016886: e9d0 2101 ldrd r2, r1, [r0, #4] 7001688a: 4291 cmp r1, r2 7001688c: f101 0101 add.w r1, r1, #1 70016890: bf38 it cc 70016892: 3408 addcc r4, #8 70016894: 6081 str r1, [r0, #8] 70016896: bf38 it cc 70016898: 6104 strcc r4, [r0, #16] 7001689a: 6902 ldr r2, [r0, #16] 7001689c: 2100 movs r1, #0 7001689e: f8a2 8000 strh.w r8, [r2] 700168a2: 8053 strh r3, [r2, #2] 700168a4: 8091 strh r1, [r2, #4] 700168a6: 80d1 strh r1, [r2, #6] 700168a8: e0c4 b.n 70016a34 <_ZN8touchgfx7Outline10renderLineEiiii+0x6f8> 700168aa: f009 071f and.w r7, r9, #31 700168ae: ebb8 1f62 cmp.w r8, r2, asr #5 700168b2: ea4f 1562 mov.w r5, r2, asr #5 700168b6: f002 0c1f and.w ip, r2, #31 700168ba: b2b6 uxth r6, r6 700168bc: 970d str r7, [sp, #52] @ 0x34 700168be: d109 bne.n 700168d4 <_ZN8touchgfx7Outline10renderLineEiiii+0x598> 700168c0: 9a08 ldr r2, [sp, #32] 700168c2: 44bc add ip, r7 700168c4: 9908 ldr r1, [sp, #32] 700168c6: 4416 add r6, r2 700168c8: 88e2 ldrh r2, [r4, #6] 700168ca: fb01 220c mla r2, r1, ip, r2 700168ce: 80a6 strh r6, [r4, #4] 700168d0: 80e2 strh r2, [r4, #6] 700168d2: e0af b.n 70016a34 <_ZN8touchgfx7Outline10renderLineEiiii+0x6f8> 700168d4: 2900 cmp r1, #0 700168d6: db07 blt.n 700168e8 <_ZN8touchgfx7Outline10renderLineEiiii+0x5ac> 700168d8: 9f08 ldr r7, [sp, #32] 700168da: f1cc 0220 rsb r2, ip, #32 700168de: 437a muls r2, r7 700168e0: 2701 movs r7, #1 700168e2: 970b str r7, [sp, #44] @ 0x2c 700168e4: 2720 movs r7, #32 700168e6: e007 b.n 700168f8 <_ZN8touchgfx7Outline10renderLineEiiii+0x5bc> 700168e8: f04f 37ff mov.w r7, #4294967295 @ 0xffffffff 700168ec: 9a08 ldr r2, [sp, #32] 700168ee: 4249 negs r1, r1 700168f0: 970b str r7, [sp, #44] @ 0x2c 700168f2: 2700 movs r7, #0 700168f4: fb02 f20c mul.w r2, r2, ip 700168f8: 970a str r7, [sp, #40] @ 0x28 700168fa: fb92 f7f1 sdiv r7, r2, r1 700168fe: fb01 2b17 mls fp, r1, r7, r2 70016902: f1bb 0f00 cmp.w fp, #0 70016906: bfbc itt lt 70016908: f107 37ff addlt.w r7, r7, #4294967295 @ 0xffffffff 7001690c: 448b addlt fp, r1 7001690e: 443e add r6, r7 70016910: 80a6 strh r6, [r4, #4] 70016912: 9e0a ldr r6, [sp, #40] @ 0x28 70016914: 44b4 add ip, r6 70016916: 88e6 ldrh r6, [r4, #6] 70016918: fb07 660c mla r6, r7, ip, r6 7001691c: 80e6 strh r6, [r4, #6] 7001691e: 9c0b ldr r4, [sp, #44] @ 0x2c 70016920: 6906 ldr r6, [r0, #16] 70016922: 4425 add r5, r4 70016924: f8b6 c004 ldrh.w ip, [r6, #4] 70016928: 88f4 ldrh r4, [r6, #6] 7001692a: ea44 040c orr.w r4, r4, ip 7001692e: b224 sxth r4, r4 70016930: b18c cbz r4, 70016956 <_ZN8touchgfx7Outline10renderLineEiiii+0x61a> 70016932: f9b6 c002 ldrsh.w ip, [r6, #2] 70016936: f1bc 0f00 cmp.w ip, #0 7001693a: db0c blt.n 70016956 <_ZN8touchgfx7Outline10renderLineEiiii+0x61a> 7001693c: 6ac4 ldr r4, [r0, #44] @ 0x2c 7001693e: 45a4 cmp ip, r4 70016940: da09 bge.n 70016956 <_ZN8touchgfx7Outline10renderLineEiiii+0x61a> 70016942: e9d0 2401 ldrd r2, r4, [r0, #4] 70016946: 4294 cmp r4, r2 70016948: f104 0401 add.w r4, r4, #1 7001694c: bf38 it cc 7001694e: 3608 addcc r6, #8 70016950: 6084 str r4, [r0, #8] 70016952: bf38 it cc 70016954: 6106 strcc r6, [r0, #16] 70016956: 6904 ldr r4, [r0, #16] 70016958: b21a sxth r2, r3 7001695a: 4545 cmp r5, r8 7001695c: 920e str r2, [sp, #56] @ 0x38 7001695e: 8062 strh r2, [r4, #2] 70016960: f04f 0200 mov.w r2, #0 70016964: 8025 strh r5, [r4, #0] 70016966: 80a2 strh r2, [r4, #4] 70016968: 80e2 strh r2, [r4, #6] 7001696a: 9a0c ldr r2, [sp, #48] @ 0x30 7001696c: eb07 0602 add.w r6, r7, r2 70016970: d052 beq.n 70016a18 <_ZN8touchgfx7Outline10renderLineEiiii+0x6dc> 70016972: ebaa 0406 sub.w r4, sl, r6 70016976: ebab 0201 sub.w r2, fp, r1 7001697a: 443c add r4, r7 7001697c: 9207 str r2, [sp, #28] 7001697e: 0164 lsls r4, r4, #5 70016980: fb94 fef1 sdiv lr, r4, r1 70016984: fb01 441e mls r4, r1, lr, r4 70016988: 2c00 cmp r4, #0 7001698a: bfbc itt lt 7001698c: f10e 3eff addlt.w lr, lr, #4294967295 @ 0xffffffff 70016990: 1864 addlt r4, r4, r1 70016992: f10e 0701 add.w r7, lr, #1 70016996: 970f str r7, [sp, #60] @ 0x3c 70016998: 9a07 ldr r2, [sp, #28] 7001699a: f8d0 c010 ldr.w ip, [r0, #16] 7001699e: 1912 adds r2, r2, r4 700169a0: f8bc b004 ldrh.w fp, [ip, #4] 700169a4: bf54 ite pl 700169a6: 9f0f ldrpl r7, [sp, #60] @ 0x3c 700169a8: 4677 movmi r7, lr 700169aa: 9207 str r2, [sp, #28] 700169ac: bf58 it pl 700169ae: 1a52 subpl r2, r2, r1 700169b0: 44bb add fp, r7 700169b2: 443e add r6, r7 700169b4: bf58 it pl 700169b6: 9207 strpl r2, [sp, #28] 700169b8: f8ac b004 strh.w fp, [ip, #4] 700169bc: f8bc b006 ldrh.w fp, [ip, #6] 700169c0: eb0b 1b47 add.w fp, fp, r7, lsl #5 700169c4: 9f0b ldr r7, [sp, #44] @ 0x2c 700169c6: f8ac b006 strh.w fp, [ip, #6] 700169ca: 443d add r5, r7 700169cc: f8d0 c010 ldr.w ip, [r0, #16] 700169d0: f8bc 7006 ldrh.w r7, [ip, #6] 700169d4: f8bc b004 ldrh.w fp, [ip, #4] 700169d8: ea47 070b orr.w r7, r7, fp 700169dc: b23f sxth r7, r7 700169de: b18f cbz r7, 70016a04 <_ZN8touchgfx7Outline10renderLineEiiii+0x6c8> 700169e0: f9bc b002 ldrsh.w fp, [ip, #2] 700169e4: f1bb 0f00 cmp.w fp, #0 700169e8: db0c blt.n 70016a04 <_ZN8touchgfx7Outline10renderLineEiiii+0x6c8> 700169ea: 6ac7 ldr r7, [r0, #44] @ 0x2c 700169ec: 45bb cmp fp, r7 700169ee: da09 bge.n 70016a04 <_ZN8touchgfx7Outline10renderLineEiiii+0x6c8> 700169f0: e9d0 7b01 ldrd r7, fp, [r0, #4] 700169f4: 45bb cmp fp, r7 700169f6: bf3c itt cc 700169f8: f10c 0708 addcc.w r7, ip, #8 700169fc: 6107 strcc r7, [r0, #16] 700169fe: f10b 0701 add.w r7, fp, #1 70016a02: 6087 str r7, [r0, #8] 70016a04: 6907 ldr r7, [r0, #16] 70016a06: 4545 cmp r5, r8 70016a08: 9a0e ldr r2, [sp, #56] @ 0x38 70016a0a: 803d strh r5, [r7, #0] 70016a0c: 807a strh r2, [r7, #2] 70016a0e: f04f 0200 mov.w r2, #0 70016a12: 80ba strh r2, [r7, #4] 70016a14: 80fa strh r2, [r7, #6] 70016a16: d1bf bne.n 70016998 <_ZN8touchgfx7Outline10renderLineEiiii+0x65c> 70016a18: 6902 ldr r2, [r0, #16] 70016a1a: ebaa 0606 sub.w r6, sl, r6 70016a1e: 9c0a ldr r4, [sp, #40] @ 0x28 70016a20: 8891 ldrh r1, [r2, #4] 70016a22: 4431 add r1, r6 70016a24: 8091 strh r1, [r2, #4] 70016a26: 990d ldr r1, [sp, #52] @ 0x34 70016a28: 3120 adds r1, #32 70016a2a: 1b09 subs r1, r1, r4 70016a2c: 88d4 ldrh r4, [r2, #6] 70016a2e: fb06 4401 mla r4, r6, r1, r4 70016a32: 80d4 strh r4, [r2, #6] 70016a34: 9a09 ldr r2, [sp, #36] @ 0x24 70016a36: 6901 ldr r1, [r0, #16] 70016a38: 4413 add r3, r2 70016a3a: 888c ldrh r4, [r1, #4] 70016a3c: 88ca ldrh r2, [r1, #6] 70016a3e: 4322 orrs r2, r4 70016a40: b212 sxth r2, r2 70016a42: b182 cbz r2, 70016a66 <_ZN8touchgfx7Outline10renderLineEiiii+0x72a> 70016a44: f9b1 4002 ldrsh.w r4, [r1, #2] 70016a48: 2c00 cmp r4, #0 70016a4a: db0c blt.n 70016a66 <_ZN8touchgfx7Outline10renderLineEiiii+0x72a> 70016a4c: 6ac2 ldr r2, [r0, #44] @ 0x2c 70016a4e: 4294 cmp r4, r2 70016a50: da09 bge.n 70016a66 <_ZN8touchgfx7Outline10renderLineEiiii+0x72a> 70016a52: e9d0 2401 ldrd r2, r4, [r0, #4] 70016a56: 4294 cmp r4, r2 70016a58: f104 0401 add.w r4, r4, #1 70016a5c: bf38 it cc 70016a5e: 3108 addcc r1, #8 70016a60: 6084 str r4, [r0, #8] 70016a62: bf38 it cc 70016a64: 6101 strcc r1, [r0, #16] 70016a66: 6902 ldr r2, [r0, #16] 70016a68: f04f 0100 mov.w r1, #0 70016a6c: f8a2 8000 strh.w r8, [r2] 70016a70: 8053 strh r3, [r2, #2] 70016a72: 8091 strh r1, [r2, #4] 70016a74: 80d1 strh r1, [r2, #6] 70016a76: 9a00 ldr r2, [sp, #0] 70016a78: 429a cmp r2, r3 70016a7a: f47f aed3 bne.w 70016824 <_ZN8touchgfx7Outline10renderLineEiiii+0x4e8> 70016a7e: 9b02 ldr r3, [sp, #8] 70016a80: f1ca 0420 rsb r4, sl, #32 70016a84: 6902 ldr r2, [r0, #16] 70016a86: ea4f 1c63 mov.w ip, r3, asr #5 70016a8a: 9b04 ldr r3, [sp, #16] 70016a8c: 429c cmp r4, r3 70016a8e: d128 bne.n 70016ae2 <_ZN8touchgfx7Outline10renderLineEiiii+0x7a6> 70016a90: f9b2 3000 ldrsh.w r3, [r2] 70016a94: 459c cmp ip, r3 70016a96: d105 bne.n 70016aa4 <_ZN8touchgfx7Outline10renderLineEiiii+0x768> 70016a98: f9b2 3002 ldrsh.w r3, [r2, #2] 70016a9c: 9900 ldr r1, [sp, #0] 70016a9e: 4299 cmp r1, r3 70016aa0: f000 80e3 beq.w 70016c6a <_ZN8touchgfx7Outline10renderLineEiiii+0x92e> 70016aa4: 88d3 ldrh r3, [r2, #6] 70016aa6: 8891 ldrh r1, [r2, #4] 70016aa8: 430b orrs r3, r1 70016aaa: b21b sxth r3, r3 70016aac: b183 cbz r3, 70016ad0 <_ZN8touchgfx7Outline10renderLineEiiii+0x794> 70016aae: f9b2 3002 ldrsh.w r3, [r2, #2] 70016ab2: 2b00 cmp r3, #0 70016ab4: db0c blt.n 70016ad0 <_ZN8touchgfx7Outline10renderLineEiiii+0x794> 70016ab6: 6ac1 ldr r1, [r0, #44] @ 0x2c 70016ab8: 428b cmp r3, r1 70016aba: da09 bge.n 70016ad0 <_ZN8touchgfx7Outline10renderLineEiiii+0x794> 70016abc: e9d0 1301 ldrd r1, r3, [r0, #4] 70016ac0: 428b cmp r3, r1 70016ac2: f103 0301 add.w r3, r3, #1 70016ac6: bf38 it cc 70016ac8: 3208 addcc r2, #8 70016aca: 6083 str r3, [r0, #8] 70016acc: bf38 it cc 70016ace: 6102 strcc r2, [r0, #16] 70016ad0: 6903 ldr r3, [r0, #16] 70016ad2: 9a00 ldr r2, [sp, #0] 70016ad4: f8a3 c000 strh.w ip, [r3] 70016ad8: 805a strh r2, [r3, #2] 70016ada: 2200 movs r2, #0 70016adc: 809a strh r2, [r3, #4] 70016ade: 80da strh r2, [r3, #6] 70016ae0: e0c3 b.n 70016c6a <_ZN8touchgfx7Outline10renderLineEiiii+0x92e> 70016ae2: 9b02 ldr r3, [sp, #8] 70016ae4: ebbc 1f69 cmp.w ip, r9, asr #5 70016ae8: ea4f 1569 mov.w r5, r9, asr #5 70016aec: f009 071f and.w r7, r9, #31 70016af0: f003 031f and.w r3, r3, #31 70016af4: f8b2 e004 ldrh.w lr, [r2, #4] 70016af8: 9301 str r3, [sp, #4] 70016afa: 9b04 ldr r3, [sp, #16] 70016afc: eba3 0304 sub.w r3, r3, r4 70016b00: d109 bne.n 70016b16 <_ZN8touchgfx7Outline10renderLineEiiii+0x7da> 70016b02: 9901 ldr r1, [sp, #4] 70016b04: 449e add lr, r3 70016b06: 440f add r7, r1 70016b08: 88d1 ldrh r1, [r2, #6] 70016b0a: f8a2 e004 strh.w lr, [r2, #4] 70016b0e: fb03 1707 mla r7, r3, r7, r1 70016b12: 80d7 strh r7, [r2, #6] 70016b14: e0a9 b.n 70016c6a <_ZN8touchgfx7Outline10renderLineEiiii+0x92e> 70016b16: 9902 ldr r1, [sp, #8] 70016b18: ebb1 0109 subs.w r1, r1, r9 70016b1c: d407 bmi.n 70016b2e <_ZN8touchgfx7Outline10renderLineEiiii+0x7f2> 70016b1e: f1c7 0620 rsb r6, r7, #32 70016b22: f04f 0901 mov.w r9, #1 70016b26: f04f 0820 mov.w r8, #32 70016b2a: 4373 muls r3, r6 70016b2c: e007 b.n 70016b3e <_ZN8touchgfx7Outline10renderLineEiiii+0x802> 70016b2e: 9902 ldr r1, [sp, #8] 70016b30: 437b muls r3, r7 70016b32: f04f 0800 mov.w r8, #0 70016b36: eba9 0101 sub.w r1, r9, r1 70016b3a: f04f 39ff mov.w r9, #4294967295 @ 0xffffffff 70016b3e: 4447 add r7, r8 70016b40: 444d add r5, r9 70016b42: fb93 f6f1 sdiv r6, r3, r1 70016b46: fb01 3b16 mls fp, r1, r6, r3 70016b4a: f1bb 0f00 cmp.w fp, #0 70016b4e: bfbc itt lt 70016b50: f106 36ff addlt.w r6, r6, #4294967295 @ 0xffffffff 70016b54: 448b addlt fp, r1 70016b56: 44b6 add lr, r6 70016b58: f8a2 e004 strh.w lr, [r2, #4] 70016b5c: f8b2 e006 ldrh.w lr, [r2, #6] 70016b60: fb06 ee07 mla lr, r6, r7, lr 70016b64: f8a2 e006 strh.w lr, [r2, #6] 70016b68: 6907 ldr r7, [r0, #16] 70016b6a: 88fa ldrh r2, [r7, #6] 70016b6c: f8b7 e004 ldrh.w lr, [r7, #4] 70016b70: ea42 020e orr.w r2, r2, lr 70016b74: b212 sxth r2, r2 70016b76: b18a cbz r2, 70016b9c <_ZN8touchgfx7Outline10renderLineEiiii+0x860> 70016b78: f9b7 e002 ldrsh.w lr, [r7, #2] 70016b7c: f1be 0f00 cmp.w lr, #0 70016b80: db0c blt.n 70016b9c <_ZN8touchgfx7Outline10renderLineEiiii+0x860> 70016b82: 6ac2 ldr r2, [r0, #44] @ 0x2c 70016b84: 4596 cmp lr, r2 70016b86: da09 bge.n 70016b9c <_ZN8touchgfx7Outline10renderLineEiiii+0x860> 70016b88: e9d0 3201 ldrd r3, r2, [r0, #4] 70016b8c: 429a cmp r2, r3 70016b8e: f102 0201 add.w r2, r2, #1 70016b92: bf38 it cc 70016b94: 3708 addcc r7, #8 70016b96: 6082 str r2, [r0, #8] 70016b98: bf38 it cc 70016b9a: 6107 strcc r7, [r0, #16] 70016b9c: 6902 ldr r2, [r0, #16] 70016b9e: 2700 movs r7, #0 70016ba0: f9bd a000 ldrsh.w sl, [sp] 70016ba4: 45ac cmp ip, r5 70016ba6: 4434 add r4, r6 70016ba8: 8015 strh r5, [r2, #0] 70016baa: f8a2 a002 strh.w sl, [r2, #2] 70016bae: 8097 strh r7, [r2, #4] 70016bb0: 80d7 strh r7, [r2, #6] 70016bb2: d04c beq.n 70016c4e <_ZN8touchgfx7Outline10renderLineEiiii+0x912> 70016bb4: 9b04 ldr r3, [sp, #16] 70016bb6: 1b1a subs r2, r3, r4 70016bb8: ebab 0301 sub.w r3, fp, r1 70016bbc: 4432 add r2, r6 70016bbe: 9300 str r3, [sp, #0] 70016bc0: 0152 lsls r2, r2, #5 70016bc2: fb92 fef1 sdiv lr, r2, r1 70016bc6: fb01 221e mls r2, r1, lr, r2 70016bca: 42ba cmp r2, r7 70016bcc: bfbc itt lt 70016bce: f10e 3eff addlt.w lr, lr, #4294967295 @ 0xffffffff 70016bd2: 1852 addlt r2, r2, r1 70016bd4: f10e 0601 add.w r6, lr, #1 70016bd8: 9602 str r6, [sp, #8] 70016bda: 9b00 ldr r3, [sp, #0] 70016bdc: 444d add r5, r9 70016bde: 6907 ldr r7, [r0, #16] 70016be0: 189b adds r3, r3, r2 70016be2: f8b7 b004 ldrh.w fp, [r7, #4] 70016be6: bf54 ite pl 70016be8: 9e02 ldrpl r6, [sp, #8] 70016bea: 4676 movmi r6, lr 70016bec: 9300 str r3, [sp, #0] 70016bee: bf58 it pl 70016bf0: 1a5b subpl r3, r3, r1 70016bf2: 44b3 add fp, r6 70016bf4: 4434 add r4, r6 70016bf6: bf58 it pl 70016bf8: 9300 strpl r3, [sp, #0] 70016bfa: f8a7 b004 strh.w fp, [r7, #4] 70016bfe: f8b7 b006 ldrh.w fp, [r7, #6] 70016c02: eb0b 1b46 add.w fp, fp, r6, lsl #5 70016c06: f8a7 b006 strh.w fp, [r7, #6] 70016c0a: 6906 ldr r6, [r0, #16] 70016c0c: 88f7 ldrh r7, [r6, #6] 70016c0e: f8b6 b004 ldrh.w fp, [r6, #4] 70016c12: ea47 070b orr.w r7, r7, fp 70016c16: b23f sxth r7, r7 70016c18: b17f cbz r7, 70016c3a <_ZN8touchgfx7Outline10renderLineEiiii+0x8fe> 70016c1a: f9b6 b002 ldrsh.w fp, [r6, #2] 70016c1e: f1bb 0f00 cmp.w fp, #0 70016c22: db0a blt.n 70016c3a <_ZN8touchgfx7Outline10renderLineEiiii+0x8fe> 70016c24: 6ac7 ldr r7, [r0, #44] @ 0x2c 70016c26: 45bb cmp fp, r7 70016c28: da07 bge.n 70016c3a <_ZN8touchgfx7Outline10renderLineEiiii+0x8fe> 70016c2a: e9d0 3701 ldrd r3, r7, [r0, #4] 70016c2e: 429f cmp r7, r3 70016c30: bf3c itt cc 70016c32: 3608 addcc r6, #8 70016c34: 6106 strcc r6, [r0, #16] 70016c36: 1c7e adds r6, r7, #1 70016c38: 6086 str r6, [r0, #8] 70016c3a: 6906 ldr r6, [r0, #16] 70016c3c: f04f 0300 mov.w r3, #0 70016c40: 45ac cmp ip, r5 70016c42: 8035 strh r5, [r6, #0] 70016c44: f8a6 a002 strh.w sl, [r6, #2] 70016c48: 80b3 strh r3, [r6, #4] 70016c4a: 80f3 strh r3, [r6, #6] 70016c4c: d1c5 bne.n 70016bda <_ZN8touchgfx7Outline10renderLineEiiii+0x89e> 70016c4e: 6901 ldr r1, [r0, #16] 70016c50: 9b04 ldr r3, [sp, #16] 70016c52: 888a ldrh r2, [r1, #4] 70016c54: 1b1b subs r3, r3, r4 70016c56: 441a add r2, r3 70016c58: 808a strh r2, [r1, #4] 70016c5a: 9a01 ldr r2, [sp, #4] 70016c5c: 3220 adds r2, #32 70016c5e: eba2 0208 sub.w r2, r2, r8 70016c62: 88c8 ldrh r0, [r1, #6] 70016c64: fb03 0302 mla r3, r3, r2, r0 70016c68: 80cb strh r3, [r1, #6] 70016c6a: b011 add sp, #68 @ 0x44 70016c6c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70016c70 <_ZN8touchgfx7Outline6lineToEii>: 70016c70: 6a43 ldr r3, [r0, #36] @ 0x24 70016c72: 079b lsls r3, r3, #30 70016c74: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} 70016c76: 4604 mov r4, r0 70016c78: 460e mov r6, r1 70016c7a: 4615 mov r5, r2 70016c7c: d511 bpl.n 70016ca2 <_ZN8touchgfx7Outline6lineToEii+0x32> 70016c7e: e9d0 1205 ldrd r1, r2, [r0, #20] 70016c82: ea86 0301 eor.w r3, r6, r1 70016c86: ea85 0702 eor.w r7, r5, r2 70016c8a: 433b orrs r3, r7 70016c8c: d009 beq.n 70016ca2 <_ZN8touchgfx7Outline6lineToEii+0x32> 70016c8e: 4633 mov r3, r6 70016c90: 9500 str r5, [sp, #0] 70016c92: f7ff fb53 bl 7001633c <_ZN8touchgfx7Outline10renderLineEiiii> 70016c96: 6a63 ldr r3, [r4, #36] @ 0x24 70016c98: f043 0301 orr.w r3, r3, #1 70016c9c: e9c4 6505 strd r6, r5, [r4, #20] 70016ca0: 6263 str r3, [r4, #36] @ 0x24 70016ca2: b003 add sp, #12 70016ca4: bdf0 pop {r4, r5, r6, r7, pc} 70016ca6 <_ZN8touchgfx7Outline6moveToEii>: 70016ca6: b5f8 push {r3, r4, r5, r6, r7, lr} 70016ca8: 6a43 ldr r3, [r0, #36] @ 0x24 70016caa: 4616 mov r6, r2 70016cac: 4604 mov r4, r0 70016cae: 460d mov r5, r1 70016cb0: 079a lsls r2, r3, #30 70016cb2: d401 bmi.n 70016cb8 <_ZN8touchgfx7Outline6moveToEii+0x12> 70016cb4: f7ff fb0e bl 700162d4 <_ZN8touchgfx7Outline5resetEv> 70016cb8: 6a63 ldr r3, [r4, #36] @ 0x24 70016cba: 07db lsls r3, r3, #31 70016cbc: d504 bpl.n 70016cc8 <_ZN8touchgfx7Outline6moveToEii+0x22> 70016cbe: 4620 mov r0, r4 70016cc0: e9d4 1207 ldrd r1, r2, [r4, #28] 70016cc4: f7ff ffd4 bl 70016c70 <_ZN8touchgfx7Outline6lineToEii> 70016cc8: 6923 ldr r3, [r4, #16] 70016cca: 1168 asrs r0, r5, #5 70016ccc: 1171 asrs r1, r6, #5 70016cce: f9b3 2000 ldrsh.w r2, [r3] 70016cd2: ebb2 1f65 cmp.w r2, r5, asr #5 70016cd6: d103 bne.n 70016ce0 <_ZN8touchgfx7Outline6moveToEii+0x3a> 70016cd8: f9b3 2002 ldrsh.w r2, [r3, #2] 70016cdc: 4291 cmp r1, r2 70016cde: d01b beq.n 70016d18 <_ZN8touchgfx7Outline6moveToEii+0x72> 70016ce0: 88da ldrh r2, [r3, #6] 70016ce2: 889f ldrh r7, [r3, #4] 70016ce4: 433a orrs r2, r7 70016ce6: b212 sxth r2, r2 70016ce8: b182 cbz r2, 70016d0c <_ZN8touchgfx7Outline6moveToEii+0x66> 70016cea: f9b3 2002 ldrsh.w r2, [r3, #2] 70016cee: 2a00 cmp r2, #0 70016cf0: db0c blt.n 70016d0c <_ZN8touchgfx7Outline6moveToEii+0x66> 70016cf2: 6ae7 ldr r7, [r4, #44] @ 0x2c 70016cf4: 42ba cmp r2, r7 70016cf6: da09 bge.n 70016d0c <_ZN8touchgfx7Outline6moveToEii+0x66> 70016cf8: e9d4 7201 ldrd r7, r2, [r4, #4] 70016cfc: 42ba cmp r2, r7 70016cfe: f102 0201 add.w r2, r2, #1 70016d02: bf38 it cc 70016d04: 3308 addcc r3, #8 70016d06: 60a2 str r2, [r4, #8] 70016d08: bf38 it cc 70016d0a: 6123 strcc r3, [r4, #16] 70016d0c: 6923 ldr r3, [r4, #16] 70016d0e: 2200 movs r2, #0 70016d10: 8018 strh r0, [r3, #0] 70016d12: 8059 strh r1, [r3, #2] 70016d14: 809a strh r2, [r3, #4] 70016d16: 80da strh r2, [r3, #6] 70016d18: 6165 str r5, [r4, #20] 70016d1a: 6226 str r6, [r4, #32] 70016d1c: e9c4 6506 strd r6, r5, [r4, #24] 70016d20: bdf8 pop {r3, r4, r5, r6, r7, pc} 70016d22 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj>: 70016d22: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70016d26: b0d1 sub sp, #324 @ 0x144 70016d28: eb00 01c1 add.w r1, r0, r1, lsl #3 70016d2c: 466c mov r4, sp 70016d2e: 4626 mov r6, r4 70016d30: 1a0b subs r3, r1, r0 70016d32: f100 0208 add.w r2, r0, #8 70016d36: 2b48 cmp r3, #72 @ 0x48 70016d38: f340 80fc ble.w 70016f34 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x212> 70016d3c: 111b asrs r3, r3, #4 70016d3e: f9b0 9000 ldrsh.w r9, [r0] 70016d42: f9b0 8002 ldrsh.w r8, [r0, #2] 70016d46: f850 7033 ldr.w r7, [r0, r3, lsl #3] 70016d4a: eb00 05c3 add.w r5, r0, r3, lsl #3 70016d4e: f9b0 e004 ldrsh.w lr, [r0, #4] 70016d52: 6007 str r7, [r0, #0] 70016d54: f9b0 c006 ldrsh.w ip, [r0, #6] 70016d58: 686f ldr r7, [r5, #4] 70016d5a: 6047 str r7, [r0, #4] 70016d5c: f820 9033 strh.w r9, [r0, r3, lsl #3] 70016d60: f1a1 0308 sub.w r3, r1, #8 70016d64: f8a5 8002 strh.w r8, [r5, #2] 70016d68: f8a5 e004 strh.w lr, [r5, #4] 70016d6c: f8a5 c006 strh.w ip, [r5, #6] 70016d70: f931 5c06 ldrsh.w r5, [r1, #-6] 70016d74: f9b0 700a ldrsh.w r7, [r0, #10] 70016d78: 42bd cmp r5, r7 70016d7a: db06 blt.n 70016d8a <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x68> 70016d7c: d119 bne.n 70016db2 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x90> 70016d7e: f9b0 c008 ldrsh.w ip, [r0, #8] 70016d82: f931 5c08 ldrsh.w r5, [r1, #-8] 70016d86: 45ac cmp ip, r5 70016d88: dd13 ble.n 70016db2 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x90> 70016d8a: f851 5c08 ldr.w r5, [r1, #-8] 70016d8e: f9b0 8008 ldrsh.w r8, [r0, #8] 70016d92: f9b0 e00c ldrsh.w lr, [r0, #12] 70016d96: f9b0 c00e ldrsh.w ip, [r0, #14] 70016d9a: 6015 str r5, [r2, #0] 70016d9c: f851 5c04 ldr.w r5, [r1, #-4] 70016da0: 6055 str r5, [r2, #4] 70016da2: f821 8c08 strh.w r8, [r1, #-8] 70016da6: f821 7c06 strh.w r7, [r1, #-6] 70016daa: f821 ec04 strh.w lr, [r1, #-4] 70016dae: f821 cc02 strh.w ip, [r1, #-2] 70016db2: f9b0 7002 ldrsh.w r7, [r0, #2] 70016db6: f9b0 500a ldrsh.w r5, [r0, #10] 70016dba: 42af cmp r7, r5 70016dbc: db06 blt.n 70016dcc <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0xaa> 70016dbe: d116 bne.n 70016dee <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0xcc> 70016dc0: f9b0 c000 ldrsh.w ip, [r0] 70016dc4: f9b0 5008 ldrsh.w r5, [r0, #8] 70016dc8: 45ac cmp ip, r5 70016dca: da10 bge.n 70016dee <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0xcc> 70016dcc: 6815 ldr r5, [r2, #0] 70016dce: f9b0 8000 ldrsh.w r8, [r0] 70016dd2: f9b0 e004 ldrsh.w lr, [r0, #4] 70016dd6: f9b0 c006 ldrsh.w ip, [r0, #6] 70016dda: 6005 str r5, [r0, #0] 70016ddc: 6855 ldr r5, [r2, #4] 70016dde: f8a0 8008 strh.w r8, [r0, #8] 70016de2: 6045 str r5, [r0, #4] 70016de4: 8147 strh r7, [r0, #10] 70016de6: f8a0 e00c strh.w lr, [r0, #12] 70016dea: f8a0 c00e strh.w ip, [r0, #14] 70016dee: f931 5c06 ldrsh.w r5, [r1, #-6] 70016df2: f9b0 7002 ldrsh.w r7, [r0, #2] 70016df6: 42bd cmp r5, r7 70016df8: db06 blt.n 70016e08 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0xe6> 70016dfa: d11b bne.n 70016e34 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x112> 70016dfc: f931 cc08 ldrsh.w ip, [r1, #-8] 70016e00: f9b0 5000 ldrsh.w r5, [r0] 70016e04: 45ac cmp ip, r5 70016e06: da15 bge.n 70016e34 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x112> 70016e08: f851 5c08 ldr.w r5, [r1, #-8] 70016e0c: f9b0 8000 ldrsh.w r8, [r0] 70016e10: f9b0 e004 ldrsh.w lr, [r0, #4] 70016e14: f9b0 c006 ldrsh.w ip, [r0, #6] 70016e18: 6005 str r5, [r0, #0] 70016e1a: f851 5c04 ldr.w r5, [r1, #-4] 70016e1e: 6045 str r5, [r0, #4] 70016e20: f821 8c08 strh.w r8, [r1, #-8] 70016e24: f821 7c06 strh.w r7, [r1, #-6] 70016e28: f821 ec04 strh.w lr, [r1, #-4] 70016e2c: f821 cc02 strh.w ip, [r1, #-2] 70016e30: e000 b.n 70016e34 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x112> 70016e32: 462a mov r2, r5 70016e34: f9b2 800a ldrsh.w r8, [r2, #10] 70016e38: f102 0508 add.w r5, r2, #8 70016e3c: f9b0 7002 ldrsh.w r7, [r0, #2] 70016e40: 46ac mov ip, r5 70016e42: 45b8 cmp r8, r7 70016e44: dbf5 blt.n 70016e32 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x110> 70016e46: d105 bne.n 70016e54 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x132> 70016e48: f9b2 9008 ldrsh.w r9, [r2, #8] 70016e4c: f9b0 e000 ldrsh.w lr, [r0] 70016e50: 45f1 cmp r9, lr 70016e52: dbee blt.n 70016e32 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x110> 70016e54: f933 ec06 ldrsh.w lr, [r3, #-6] 70016e58: 3b08 subs r3, #8 70016e5a: 4577 cmp r7, lr 70016e5c: dbfa blt.n 70016e54 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x132> 70016e5e: d004 beq.n 70016e6a <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x148> 70016e60: 429d cmp r5, r3 70016e62: f8d3 e000 ldr.w lr, [r3] 70016e66: d907 bls.n 70016e78 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x156> 70016e68: e019 b.n 70016e9e <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x17c> 70016e6a: f9b0 9000 ldrsh.w r9, [r0] 70016e6e: f9b3 e000 ldrsh.w lr, [r3] 70016e72: 45f1 cmp r9, lr 70016e74: dbee blt.n 70016e54 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x132> 70016e76: e7f3 b.n 70016e60 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x13e> 70016e78: f9b2 c008 ldrsh.w ip, [r2, #8] 70016e7c: f9b2 700c ldrsh.w r7, [r2, #12] 70016e80: f9b2 200e ldrsh.w r2, [r2, #14] 70016e84: f8c5 e000 str.w lr, [r5] 70016e88: f8d3 e004 ldr.w lr, [r3, #4] 70016e8c: f8c5 e004 str.w lr, [r5, #4] 70016e90: f8a3 c000 strh.w ip, [r3] 70016e94: f8a3 8002 strh.w r8, [r3, #2] 70016e98: 809f strh r7, [r3, #4] 70016e9a: 80da strh r2, [r3, #6] 70016e9c: e7c9 b.n 70016e32 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x110> 70016e9e: 1a1a subs r2, r3, r0 70016ea0: eba1 0b05 sub.w fp, r1, r5 70016ea4: f9b0 a000 ldrsh.w sl, [r0] 70016ea8: 455a cmp r2, fp 70016eaa: f9b0 9004 ldrsh.w r9, [r0, #4] 70016eae: f9b0 8006 ldrsh.w r8, [r0, #6] 70016eb2: f8c0 e000 str.w lr, [r0] 70016eb6: bfd8 it le 70016eb8: 462a movle r2, r5 70016eba: f8d3 e004 ldr.w lr, [r3, #4] 70016ebe: bfd5 itete le 70016ec0: 460d movle r5, r1 70016ec2: 4602 movgt r2, r0 70016ec4: 4684 movle ip, r0 70016ec6: 461d movgt r5, r3 70016ec8: f8c0 e004 str.w lr, [r0, #4] 70016ecc: bfd8 it le 70016ece: 4619 movle r1, r3 70016ed0: 4660 mov r0, ip 70016ed2: f8a3 a000 strh.w sl, [r3] 70016ed6: 805f strh r7, [r3, #2] 70016ed8: f8a3 9004 strh.w r9, [r3, #4] 70016edc: f8a3 8006 strh.w r8, [r3, #6] 70016ee0: e9c4 2500 strd r2, r5, [r4] 70016ee4: 3408 adds r4, #8 70016ee6: e723 b.n 70016d30 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0xe> 70016ee8: f9b3 7012 ldrsh.w r7, [r3, #18] 70016eec: f9b3 500a ldrsh.w r5, [r3, #10] 70016ef0: 42af cmp r7, r5 70016ef2: db08 blt.n 70016f06 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x1e4> 70016ef4: d001 beq.n 70016efa <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x1d8> 70016ef6: 3208 adds r2, #8 70016ef8: e01c b.n 70016f34 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x212> 70016efa: f9b3 c010 ldrsh.w ip, [r3, #16] 70016efe: f9b3 5008 ldrsh.w r5, [r3, #8] 70016f02: 45ac cmp ip, r5 70016f04: daf7 bge.n 70016ef6 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x1d4> 70016f06: 689d ldr r5, [r3, #8] 70016f08: f103 0c08 add.w ip, r3, #8 70016f0c: f9b3 9010 ldrsh.w r9, [r3, #16] 70016f10: 3b08 subs r3, #8 70016f12: f9b3 801c ldrsh.w r8, [r3, #28] 70016f16: 4560 cmp r0, ip 70016f18: f9b3 e01e ldrsh.w lr, [r3, #30] 70016f1c: 619d str r5, [r3, #24] 70016f1e: 695d ldr r5, [r3, #20] 70016f20: f8a3 9010 strh.w r9, [r3, #16] 70016f24: 61dd str r5, [r3, #28] 70016f26: 825f strh r7, [r3, #18] 70016f28: f8a3 8014 strh.w r8, [r3, #20] 70016f2c: f8a3 e016 strh.w lr, [r3, #22] 70016f30: d0e1 beq.n 70016ef6 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x1d4> 70016f32: e7d9 b.n 70016ee8 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x1c6> 70016f34: 4291 cmp r1, r2 70016f36: d902 bls.n 70016f3e <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x21c> 70016f38: f1a2 0310 sub.w r3, r2, #16 70016f3c: e7d4 b.n 70016ee8 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x1c6> 70016f3e: 42b4 cmp r4, r6 70016f40: d903 bls.n 70016f4a <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0x228> 70016f42: e954 0102 ldrd r0, r1, [r4, #-8] 70016f46: 3c08 subs r4, #8 70016f48: e6f2 b.n 70016d30 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj+0xe> 70016f4a: b051 add sp, #324 @ 0x144 70016f4c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70016f50 <_ZN8touchgfx7Outline24closeOutlineAndSortCellsEv>: 70016f50: b510 push {r4, lr} 70016f52: 6a43 ldr r3, [r0, #36] @ 0x24 70016f54: 4604 mov r4, r0 70016f56: 07da lsls r2, r3, #31 70016f58: d507 bpl.n 70016f6a <_ZN8touchgfx7Outline24closeOutlineAndSortCellsEv+0x1a> 70016f5a: e9d0 1207 ldrd r1, r2, [r0, #28] 70016f5e: f7ff fe87 bl 70016c70 <_ZN8touchgfx7Outline6lineToEii> 70016f62: 6a63 ldr r3, [r4, #36] @ 0x24 70016f64: f023 0301 bic.w r3, r3, #1 70016f68: 6263 str r3, [r4, #36] @ 0x24 70016f6a: 6a63 ldr r3, [r4, #36] @ 0x24 70016f6c: 079b lsls r3, r3, #30 70016f6e: d522 bpl.n 70016fb6 <_ZN8touchgfx7Outline24closeOutlineAndSortCellsEv+0x66> 70016f70: 6923 ldr r3, [r4, #16] 70016f72: 88da ldrh r2, [r3, #6] 70016f74: 8899 ldrh r1, [r3, #4] 70016f76: 430a orrs r2, r1 70016f78: b212 sxth r2, r2 70016f7a: b182 cbz r2, 70016f9e <_ZN8touchgfx7Outline24closeOutlineAndSortCellsEv+0x4e> 70016f7c: f9b3 2002 ldrsh.w r2, [r3, #2] 70016f80: 2a00 cmp r2, #0 70016f82: db0c blt.n 70016f9e <_ZN8touchgfx7Outline24closeOutlineAndSortCellsEv+0x4e> 70016f84: 6ae1 ldr r1, [r4, #44] @ 0x2c 70016f86: 428a cmp r2, r1 70016f88: da09 bge.n 70016f9e <_ZN8touchgfx7Outline24closeOutlineAndSortCellsEv+0x4e> 70016f8a: e9d4 1201 ldrd r1, r2, [r4, #4] 70016f8e: 4291 cmp r1, r2 70016f90: f102 0201 add.w r2, r2, #1 70016f94: bf88 it hi 70016f96: 3308 addhi r3, #8 70016f98: 60a2 str r2, [r4, #8] 70016f9a: bf88 it hi 70016f9c: 6123 strhi r3, [r4, #16] 70016f9e: 68a1 ldr r1, [r4, #8] 70016fa0: b129 cbz r1, 70016fae <_ZN8touchgfx7Outline24closeOutlineAndSortCellsEv+0x5e> 70016fa2: 6863 ldr r3, [r4, #4] 70016fa4: 4299 cmp r1, r3 70016fa6: d802 bhi.n 70016fae <_ZN8touchgfx7Outline24closeOutlineAndSortCellsEv+0x5e> 70016fa8: 68e0 ldr r0, [r4, #12] 70016faa: f7ff feba bl 70016d22 <_ZN8touchgfx7Outline10qsortCellsEPNS_4CellEj> 70016fae: 6a63 ldr r3, [r4, #36] @ 0x24 70016fb0: f023 0302 bic.w r3, r3, #2 70016fb4: 6263 str r3, [r4, #36] @ 0x24 70016fb6: 68e0 ldr r0, [r4, #12] 70016fb8: bd10 pop {r4, pc} ... 70016fbc <_ZN8touchgfx20CanvasWidgetRenderer16getOutlineBufferEv>: 70016fbc: 4b01 ldr r3, [pc, #4] @ (70016fc4 <_ZN8touchgfx20CanvasWidgetRenderer16getOutlineBufferEv+0x8>) 70016fbe: 6818 ldr r0, [r3, #0] 70016fc0: 4770 bx lr 70016fc2: bf00 nop 70016fc4: 2400db08 .word 0x2400db08 70016fc8 <_ZN8touchgfx20CanvasWidgetRenderer20getOutlineBufferSizeEv>: 70016fc8: 4b01 ldr r3, [pc, #4] @ (70016fd0 <_ZN8touchgfx20CanvasWidgetRenderer20getOutlineBufferSizeEv+0x8>) 70016fca: 6818 ldr r0, [r3, #0] 70016fcc: 4770 bx lr 70016fce: bf00 nop 70016fd0: 2400db04 .word 0x2400db04 70016fd4 <_ZN8touchgfxmlERKNS_9Matrix4x4ERKNS_6Point4E>: 70016fd4: b5f0 push {r4, r5, r6, r7, lr} 70016fd6: 2300 movs r3, #0 70016fd8: b08d sub sp, #52 @ 0x34 70016fda: f100 0740 add.w r7, r0, #64 @ 0x40 70016fde: f101 0610 add.w r6, r1, #16 70016fe2: ac04 add r4, sp, #16 70016fe4: 9304 str r3, [sp, #16] 70016fe6: 9305 str r3, [sp, #20] 70016fe8: 9306 str r3, [sp, #24] 70016fea: f04f 537e mov.w r3, #1065353216 @ 0x3f800000 70016fee: 9307 str r3, [sp, #28] 70016ff0: 4623 mov r3, r4 70016ff2: e00c b.n 7001700e <_ZN8touchgfxmlERKNS_9Matrix4x4ERKNS_6Point4E+0x3a> 70016ff4: ecb2 7a01 vldmia r2!, {s14} 70016ff8: ecf5 6a01 vldmia r5!, {s13} 70016ffc: 42b2 cmp r2, r6 70016ffe: eee6 7a87 vfma.f32 s15, s13, s14 70017002: d1f7 bne.n 70016ff4 <_ZN8touchgfxmlERKNS_9Matrix4x4ERKNS_6Point4E+0x20> 70017004: 3010 adds r0, #16 70017006: ece4 7a01 vstmia r4!, {s15} 7001700a: 42b8 cmp r0, r7 7001700c: d004 beq.n 70017018 <_ZN8touchgfxmlERKNS_9Matrix4x4ERKNS_6Point4E+0x44> 7001700e: 460a mov r2, r1 70017010: 4605 mov r5, r0 70017012: eddf 7a08 vldr s15, [pc, #32] @ 70017034 <_ZN8touchgfxmlERKNS_9Matrix4x4ERKNS_6Point4E+0x60> 70017016: e7ed b.n 70016ff4 <_ZN8touchgfxmlERKNS_9Matrix4x4ERKNS_6Point4E+0x20> 70017018: cb0f ldmia r3, {r0, r1, r2, r3} 7001701a: ac0c add r4, sp, #48 @ 0x30 7001701c: e904 000f stmdb r4, {r0, r1, r2, r3} 70017020: ed9d 0a08 vldr s0, [sp, #32] 70017024: eddd 0a09 vldr s1, [sp, #36] @ 0x24 70017028: ed9d 1a0a vldr s2, [sp, #40] @ 0x28 7001702c: eddd 1a0b vldr s3, [sp, #44] @ 0x2c 70017030: b00d add sp, #52 @ 0x34 70017032: bdf0 pop {r4, r5, r6, r7, pc} 70017034: 00000000 .word 0x00000000 70017038 <_ZN8touchgfx9Matrix4x4C1Ev>: 70017038: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7001703c: 2300 movs r3, #0 7001703e: eddf 7a0a vldr s15, [pc, #40] @ 70017068 <_ZN8touchgfx9Matrix4x4C1Ev+0x30> 70017042: e00b b.n 7001705c <_ZN8touchgfx9Matrix4x4C1Ev+0x24> 70017044: 4293 cmp r3, r2 70017046: f102 0201 add.w r2, r2, #1 7001704a: fe47 6a27 vseleq.f32 s13, s14, s15 7001704e: 2a04 cmp r2, #4 70017050: ece1 6a01 vstmia r1!, {s13} 70017054: d1f6 bne.n 70017044 <_ZN8touchgfx9Matrix4x4C1Ev+0xc> 70017056: 3301 adds r3, #1 70017058: 2b04 cmp r3, #4 7001705a: d003 beq.n 70017064 <_ZN8touchgfx9Matrix4x4C1Ev+0x2c> 7001705c: eb00 1103 add.w r1, r0, r3, lsl #4 70017060: 2200 movs r2, #0 70017062: e7ef b.n 70017044 <_ZN8touchgfx9Matrix4x4C1Ev+0xc> 70017064: 4770 bx lr 70017066: bf00 nop 70017068: 00000000 .word 0x00000000 7001706c <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_>: 7001706c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70017070: 460c mov r4, r1 70017072: 4616 mov r6, r2 70017074: 4605 mov r5, r0 70017076: f7ff ffdf bl 70017038 <_ZN8touchgfx9Matrix4x4C1Ev> 7001707a: f104 0210 add.w r2, r4, #16 7001707e: f106 0e10 add.w lr, r6, #16 70017082: 4628 mov r0, r5 70017084: 3450 adds r4, #80 @ 0x50 70017086: e01a b.n 700170be <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_+0x52> 70017088: ecf1 6a01 vldmia r1!, {s13} 7001708c: 46e0 mov r8, ip 7001708e: f10c 0c10 add.w ip, ip, #16 70017092: ed98 7a00 vldr s14, [r8] 70017096: 4291 cmp r1, r2 70017098: eee6 7a87 vfma.f32 s15, s13, s14 7001709c: d1f4 bne.n 70017088 <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_+0x1c> 7001709e: 3304 adds r3, #4 700170a0: ece7 7a01 vstmia r7!, {s15} 700170a4: 4573 cmp r3, lr 700170a6: d005 beq.n 700170b4 <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_+0x48> 700170a8: f1a2 0110 sub.w r1, r2, #16 700170ac: 469c mov ip, r3 700170ae: eddf 7a07 vldr s15, [pc, #28] @ 700170cc <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_+0x60> 700170b2: e7e9 b.n 70017088 <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_+0x1c> 700170b4: f101 0210 add.w r2, r1, #16 700170b8: 3010 adds r0, #16 700170ba: 42a2 cmp r2, r4 700170bc: d002 beq.n 700170c4 <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_+0x58> 700170be: 4633 mov r3, r6 700170c0: 4607 mov r7, r0 700170c2: e7f1 b.n 700170a8 <_ZN8touchgfxmlERKNS_9Matrix4x4ES2_+0x3c> 700170c4: 4628 mov r0, r5 700170c6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 700170ca: bf00 nop 700170cc: 00000000 .word 0x00000000 700170d0 <_ZN8touchgfx9Matrix4x415setViewDistanceEf>: 700170d0: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 700170d4: f100 0320 add.w r3, r0, #32 700170d8: 3030 adds r0, #48 @ 0x30 700170da: ee87 7a80 vdiv.f32 s14, s15, s0 700170de: ecf3 7a01 vldmia r3!, {s15} 700170e2: 4283 cmp r3, r0 700170e4: ee67 7a27 vmul.f32 s15, s14, s15 700170e8: edc3 7a03 vstr s15, [r3, #12] 700170ec: d1f7 bne.n 700170de <_ZN8touchgfx9Matrix4x415setViewDistanceEf+0xe> 700170ee: 4770 bx lr 700170f0 <_ZN8touchgfx9Matrix4x420concatenateXRotationEf>: 700170f0: b510 push {r4, lr} 700170f2: ed2d 8b02 vpush {d8} 700170f6: eef0 8a40 vmov.f32 s17, s0 700170fa: 4604 mov r4, r0 700170fc: f022 fbc0 bl 70039880 70017100: eeb0 8a40 vmov.f32 s16, s0 70017104: eeb0 0a68 vmov.f32 s0, s17 70017108: f022 fcb2 bl 70039a70 7001710c: eeb1 6a48 vneg.f32 s12, s16 70017110: f104 0310 add.w r3, r4, #16 70017114: f104 0220 add.w r2, r4, #32 70017118: ecf3 6a01 vldmia r3!, {s13} 7001711c: edd3 7a03 vldr s15, [r3, #12] 70017120: 429a cmp r2, r3 70017122: ee26 7a27 vmul.f32 s14, s12, s15 70017126: ee67 7a80 vmul.f32 s15, s15, s0 7001712a: eea6 7a80 vfma.f32 s14, s13, s0 7001712e: eee6 7a88 vfma.f32 s15, s13, s16 70017132: ed03 7a01 vstr s14, [r3, #-4] 70017136: edc3 7a03 vstr s15, [r3, #12] 7001713a: d1ed bne.n 70017118 <_ZN8touchgfx9Matrix4x420concatenateXRotationEf+0x28> 7001713c: 4620 mov r0, r4 7001713e: ecbd 8b02 vpop {d8} 70017142: bd10 pop {r4, pc} 70017144 <_ZN8touchgfx9Matrix4x420concatenateYRotationEf>: 70017144: b510 push {r4, lr} 70017146: ed2d 8b02 vpush {d8} 7001714a: eef0 8a40 vmov.f32 s17, s0 7001714e: 4604 mov r4, r0 70017150: f022 fb96 bl 70039880 70017154: eeb0 8a40 vmov.f32 s16, s0 70017158: eeb0 0a68 vmov.f32 s0, s17 7001715c: f022 fc88 bl 70039a70 70017160: eeb1 6a48 vneg.f32 s12, s16 70017164: 4623 mov r3, r4 70017166: f104 0210 add.w r2, r4, #16 7001716a: ecf3 6a01 vldmia r3!, {s13} 7001716e: edd3 7a07 vldr s15, [r3, #28] 70017172: 429a cmp r2, r3 70017174: ee27 7a88 vmul.f32 s14, s15, s16 70017178: ee67 7a80 vmul.f32 s15, s15, s0 7001717c: eea6 7a80 vfma.f32 s14, s13, s0 70017180: eee6 7a86 vfma.f32 s15, s13, s12 70017184: ed03 7a01 vstr s14, [r3, #-4] 70017188: edc3 7a07 vstr s15, [r3, #28] 7001718c: d1ed bne.n 7001716a <_ZN8touchgfx9Matrix4x420concatenateYRotationEf+0x26> 7001718e: 4620 mov r0, r4 70017190: ecbd 8b02 vpop {d8} 70017194: bd10 pop {r4, pc} 70017196 <_ZN8touchgfx9Matrix4x420concatenateZRotationEf>: 70017196: b510 push {r4, lr} 70017198: ed2d 8b02 vpush {d8} 7001719c: eef0 8a40 vmov.f32 s17, s0 700171a0: 4604 mov r4, r0 700171a2: f022 fb6d bl 70039880 700171a6: eeb0 8a40 vmov.f32 s16, s0 700171aa: eeb0 0a68 vmov.f32 s0, s17 700171ae: f022 fc5f bl 70039a70 700171b2: eeb1 6a48 vneg.f32 s12, s16 700171b6: 4623 mov r3, r4 700171b8: f104 0210 add.w r2, r4, #16 700171bc: ecf3 6a01 vldmia r3!, {s13} 700171c0: edd3 7a03 vldr s15, [r3, #12] 700171c4: 429a cmp r2, r3 700171c6: ee26 7a27 vmul.f32 s14, s12, s15 700171ca: ee67 7a80 vmul.f32 s15, s15, s0 700171ce: eea6 7a80 vfma.f32 s14, s13, s0 700171d2: eee6 7a88 vfma.f32 s15, s13, s16 700171d6: ed03 7a01 vstr s14, [r3, #-4] 700171da: edc3 7a03 vstr s15, [r3, #12] 700171de: d1ed bne.n 700171bc <_ZN8touchgfx9Matrix4x420concatenateZRotationEf+0x26> 700171e0: 4620 mov r0, r4 700171e2: ecbd 8b02 vpop {d8} 700171e6: bd10 pop {r4, pc} 700171e8 <_ZN8touchgfx9Matrix4x423concatenateXTranslationEf>: 700171e8: 4603 mov r3, r0 700171ea: f100 0210 add.w r2, r0, #16 700171ee: ecf3 7a01 vldmia r3!, {s15} 700171f2: ed93 7a0b vldr s14, [r3, #44] @ 0x2c 700171f6: 4293 cmp r3, r2 700171f8: eee7 7a00 vfma.f32 s15, s14, s0 700171fc: ed43 7a01 vstr s15, [r3, #-4] 70017200: d1f5 bne.n 700171ee <_ZN8touchgfx9Matrix4x423concatenateXTranslationEf+0x6> 70017202: 4770 bx lr 70017204 <_ZN8touchgfx9Matrix4x423concatenateYTranslationEf>: 70017204: f100 0310 add.w r3, r0, #16 70017208: f100 0220 add.w r2, r0, #32 7001720c: ecf3 7a01 vldmia r3!, {s15} 70017210: ed93 7a07 vldr s14, [r3, #28] 70017214: 4293 cmp r3, r2 70017216: eee7 7a00 vfma.f32 s15, s14, s0 7001721a: ed43 7a01 vstr s15, [r3, #-4] 7001721e: d1f5 bne.n 7001720c <_ZN8touchgfx9Matrix4x423concatenateYTranslationEf+0x8> 70017220: 4770 bx lr 70017222 <_ZN8touchgfx9Matrix4x423concatenateZTranslationEf>: 70017222: f100 0320 add.w r3, r0, #32 70017226: f100 0230 add.w r2, r0, #48 @ 0x30 7001722a: ecf3 7a01 vldmia r3!, {s15} 7001722e: ed93 7a03 vldr s14, [r3, #12] 70017232: 4293 cmp r3, r2 70017234: eee7 7a00 vfma.f32 s15, s14, s0 70017238: ed43 7a01 vstr s15, [r3, #-4] 7001723c: d1f5 bne.n 7001722a <_ZN8touchgfx9Matrix4x423concatenateZTranslationEf+0x8> 7001723e: 4770 bx lr 70017240 <_ZN8touchgfx9Matrix4x417concatenateXScaleEf>: 70017240: 4603 mov r3, r0 70017242: f100 0210 add.w r2, r0, #16 70017246: edd3 7a00 vldr s15, [r3] 7001724a: ee67 7a80 vmul.f32 s15, s15, s0 7001724e: ece3 7a01 vstmia r3!, {s15} 70017252: 4293 cmp r3, r2 70017254: d1f7 bne.n 70017246 <_ZN8touchgfx9Matrix4x417concatenateXScaleEf+0x6> 70017256: 4770 bx lr 70017258 <_ZN8touchgfx9Matrix4x417concatenateYScaleEf>: 70017258: f100 0310 add.w r3, r0, #16 7001725c: f100 0220 add.w r2, r0, #32 70017260: edd3 7a00 vldr s15, [r3] 70017264: ee67 7a80 vmul.f32 s15, s15, s0 70017268: ece3 7a01 vstmia r3!, {s15} 7001726c: 4293 cmp r3, r2 7001726e: d1f7 bne.n 70017260 <_ZN8touchgfx9Matrix4x417concatenateYScaleEf+0x8> 70017270: 4770 bx lr 70017272 <_ZN8touchgfx9Matrix4x417concatenateZScaleEf>: 70017272: f100 0320 add.w r3, r0, #32 70017276: f100 0230 add.w r2, r0, #48 @ 0x30 7001727a: edd3 7a00 vldr s15, [r3] 7001727e: ee67 7a80 vmul.f32 s15, s15, s0 70017282: ece3 7a01 vstmia r3!, {s15} 70017286: 4293 cmp r3, r2 70017288: d1f7 bne.n 7001727a <_ZN8touchgfx9Matrix4x417concatenateZScaleEf+0x8> 7001728a: 4770 bx lr 7001728c <_ZN8touchgfx10Rasterizer6lineToEii>: 7001728c: b410 push {r4} 7001728e: e9d0 3401 ldrd r3, r4, [r0, #4] 70017292: 429c cmp r4, r3 70017294: d803 bhi.n 7001729e <_ZN8touchgfx10Rasterizer6lineToEii+0x12> 70017296: f85d 4b04 ldr.w r4, [sp], #4 7001729a: f7ff bce9 b.w 70016c70 <_ZN8touchgfx7Outline6lineToEii> 7001729e: f85d 4b04 ldr.w r4, [sp], #4 700172a2: 4770 bx lr 700172a4 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh>: 700172a4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700172a8: b08b sub sp, #44 @ 0x2c 700172aa: 4605 mov r5, r0 700172ac: 4689 mov r9, r1 700172ae: e9cd 2306 strd r2, r3, [sp, #24] 700172b2: f89d 3050 ldrb.w r3, [sp, #80] @ 0x50 700172b6: 9308 str r3, [sp, #32] 700172b8: f89d 3054 ldrb.w r3, [sp, #84] @ 0x54 700172bc: 9309 str r3, [sp, #36] @ 0x24 700172be: f7ff fe47 bl 70016f50 <_ZN8touchgfx7Outline24closeOutlineAndSortCellsEv> 700172c2: 68ae ldr r6, [r5, #8] 700172c4: 4604 mov r4, r0 700172c6: 2e00 cmp r6, #0 700172c8: f000 80cd beq.w 70017466 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x1c2> 700172cc: 686b ldr r3, [r5, #4] 700172ce: 42b3 cmp r3, r6 700172d0: f0c0 80cb bcc.w 7001746a <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x1c6> 700172d4: f9b0 3002 ldrsh.w r3, [r0, #2] 700172d8: f04f 0800 mov.w r8, #0 700172dc: f9b5 2034 ldrsh.w r2, [r5, #52] @ 0x34 700172e0: eb02 0b03 add.w fp, r2, r3 700172e4: e9dd 2106 ldrd r2, r1, [sp, #24] 700172e8: fb01 2203 mla r2, r1, r3, r2 700172ec: 9205 str r2, [sp, #20] 700172ee: 1e72 subs r2, r6, #1 700172f0: 9204 str r2, [sp, #16] 700172f2: e000 b.n 700172f6 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x52> 700172f4: 4653 mov r3, sl 700172f6: f9b4 a002 ldrsh.w sl, [r4, #2] 700172fa: f9b4 7000 ldrsh.w r7, [r4] 700172fe: 4553 cmp r3, sl 70017300: 463a mov r2, r7 70017302: d008 beq.n 70017316 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x72> 70017304: f9b5 3034 ldrsh.w r3, [r5, #52] @ 0x34 70017308: eb03 0b0a add.w fp, r3, sl 7001730c: e9dd 3106 ldrd r3, r1, [sp, #24] 70017310: fb01 330a mla r3, r1, sl, r3 70017314: 9305 str r3, [sp, #20] 70017316: f9b4 3006 ldrsh.w r3, [r4, #6] 7001731a: e00a b.n 70017332 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x8e> 7001731c: f934 0f08 ldrsh.w r0, [r4, #8]! 70017320: 42b8 cmp r0, r7 70017322: d10f bne.n 70017344 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0xa0> 70017324: f9b4 0002 ldrsh.w r0, [r4, #2] 70017328: 4550 cmp r0, sl 7001732a: d10b bne.n 70017344 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0xa0> 7001732c: f9b4 0006 ldrsh.w r0, [r4, #6] 70017330: 4403 add r3, r0 70017332: 9904 ldr r1, [sp, #16] 70017334: f9b4 0004 ldrsh.w r0, [r4, #4] 70017338: 3901 subs r1, #1 7001733a: 4480 add r8, r0 7001733c: 9104 str r1, [sp, #16] 7001733e: 3101 adds r1, #1 70017340: d1ec bne.n 7001731c <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x78> 70017342: e094 b.n 7001746e <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x1ca> 70017344: 2b00 cmp r3, #0 70017346: d042 beq.n 700173ce <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x12a> 70017348: 2f00 cmp r7, #0 7001734a: db3c blt.n 700173c6 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x122> 7001734c: f9b5 2036 ldrsh.w r2, [r5, #54] @ 0x36 70017350: 42ba cmp r2, r7 70017352: dd38 ble.n 700173c6 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x122> 70017354: ebc3 1388 rsb r3, r3, r8, lsl #6 70017358: f895 2030 ldrb.w r2, [r5, #48] @ 0x30 7001735c: 10db asrs r3, r3, #3 7001735e: 2b00 cmp r3, #0 70017360: bfb8 it lt 70017362: 425b neglt r3, r3 70017364: 2a01 cmp r2, #1 70017366: d107 bne.n 70017378 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0xd4> 70017368: f3c3 0308 ubfx r3, r3, #0, #9 7001736c: f5b3 7f80 cmp.w r3, #256 @ 0x100 70017370: dd02 ble.n 70017378 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0xd4> 70017372: f5c3 7300 rsb r3, r3, #512 @ 0x200 70017376: e002 b.n 7001737e <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0xda> 70017378: 2bff cmp r3, #255 @ 0xff 7001737a: bfa8 it ge 7001737c: 23ff movge r3, #255 @ 0xff 7001737e: 9a09 ldr r2, [sp, #36] @ 0x24 70017380: fb13 f302 smulbb r3, r3, r2 70017384: b29b uxth r3, r3 70017386: 1c5a adds r2, r3, #1 70017388: 0a1b lsrs r3, r3, #8 7001738a: fa13 f382 uxtah r3, r3, r2 7001738e: f413 4f7f tst.w r3, #65280 @ 0xff00 70017392: ea4f 2c23 mov.w ip, r3, asr #8 70017396: d016 beq.n 700173c6 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x122> 70017398: fa5f f18c uxtb.w r1, ip 7001739c: f8d9 0000 ldr.w r0, [r9] 700173a0: 8e6b ldrh r3, [r5, #50] @ 0x32 700173a2: 9102 str r1, [sp, #8] 700173a4: 2101 movs r1, #1 700173a6: 9a08 ldr r2, [sp, #32] 700173a8: fa13 f387 uxtah r3, r3, r7 700173ac: 9101 str r1, [sp, #4] 700173ae: fa0f f18b sxth.w r1, fp 700173b2: fa12 f287 uxtah r2, r2, r7 700173b6: b21b sxth r3, r3 700173b8: 9100 str r1, [sp, #0] 700173ba: 6941 ldr r1, [r0, #20] 700173bc: b212 sxth r2, r2 700173be: 4648 mov r0, r9 700173c0: 460e mov r6, r1 700173c2: 9905 ldr r1, [sp, #20] 700173c4: 47b0 blx r6 700173c6: 9b04 ldr r3, [sp, #16] 700173c8: 1c7a adds r2, r7, #1 700173ca: 3301 adds r3, #1 700173cc: d04b beq.n 70017466 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x1c2> 700173ce: f9b4 3000 ldrsh.w r3, [r4] 700173d2: 1a98 subs r0, r3, r2 700173d4: 2800 cmp r0, #0 700173d6: dd8d ble.n 700172f4 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x50> 700173d8: 2a00 cmp r2, #0 700173da: da03 bge.n 700173e4 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x140> 700173dc: 2b00 cmp r3, #0 700173de: dd89 ble.n 700172f4 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x50> 700173e0: 4618 mov r0, r3 700173e2: 2200 movs r2, #0 700173e4: f9b5 7036 ldrsh.w r7, [r5, #54] @ 0x36 700173e8: 42bb cmp r3, r7 700173ea: db02 blt.n 700173f2 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x14e> 700173ec: 1ab8 subs r0, r7, r2 700173ee: 2800 cmp r0, #0 700173f0: dd80 ble.n 700172f4 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x50> 700173f2: ea4f 1388 mov.w r3, r8, lsl #6 700173f6: f895 7030 ldrb.w r7, [r5, #48] @ 0x30 700173fa: 10db asrs r3, r3, #3 700173fc: 2b00 cmp r3, #0 700173fe: bfb8 it lt 70017400: 425b neglt r3, r3 70017402: 2f01 cmp r7, #1 70017404: d107 bne.n 70017416 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x172> 70017406: f3c3 0308 ubfx r3, r3, #0, #9 7001740a: f5b3 7f80 cmp.w r3, #256 @ 0x100 7001740e: dd02 ble.n 70017416 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x172> 70017410: f5c3 7300 rsb r3, r3, #512 @ 0x200 70017414: e002 b.n 7001741c <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x178> 70017416: 2bff cmp r3, #255 @ 0xff 70017418: bfa8 it ge 7001741a: 23ff movge r3, #255 @ 0xff 7001741c: 9909 ldr r1, [sp, #36] @ 0x24 7001741e: fb13 f301 smulbb r3, r3, r1 70017422: b29b uxth r3, r3 70017424: 1c5f adds r7, r3, #1 70017426: 0a1b lsrs r3, r3, #8 70017428: fa13 f387 uxtah r3, r3, r7 7001742c: f413 4f7f tst.w r3, #65280 @ 0xff00 70017430: ea4f 2c23 mov.w ip, r3, asr #8 70017434: f43f af5e beq.w 700172f4 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x50> 70017438: 8e6b ldrh r3, [r5, #50] @ 0x32 7001743a: b200 sxth r0, r0 7001743c: 9908 ldr r1, [sp, #32] 7001743e: f8d9 7000 ldr.w r7, [r9] 70017442: fa13 f382 uxtah r3, r3, r2 70017446: 9001 str r0, [sp, #4] 70017448: fa11 f282 uxtah r2, r1, r2 7001744c: fa0f f08b sxth.w r0, fp 70017450: fa5f f18c uxtb.w r1, ip 70017454: 9000 str r0, [sp, #0] 70017456: b21b sxth r3, r3 70017458: 9102 str r1, [sp, #8] 7001745a: b212 sxth r2, r2 7001745c: 697f ldr r7, [r7, #20] 7001745e: 4648 mov r0, r9 70017460: 9905 ldr r1, [sp, #20] 70017462: 47b8 blx r7 70017464: e746 b.n 700172f4 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x50> 70017466: 2001 movs r0, #1 70017468: e005 b.n 70017476 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x1d2> 7001746a: 2000 movs r0, #0 7001746c: e003 b.n 70017476 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x1d2> 7001746e: 2b00 cmp r3, #0 70017470: f47f af6a bne.w 70017348 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0xa4> 70017474: e7f7 b.n 70017466 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh+0x1c2> 70017476: b00b add sp, #44 @ 0x2c 70017478: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001747c <_ZN8touchgfx6CanvasC1EPKNS_15AbstractPainterERKNS_4RectES6_h>: 7001747c: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr} 70017480: 461e mov r6, r3 70017482: 4b33 ldr r3, [pc, #204] @ (70017550 <_ZN8touchgfx6CanvasC1EPKNS_15AbstractPainterERKNS_4RectES6_h+0xd4>) 70017484: 2500 movs r5, #0 70017486: f100 0814 add.w r8, r0, #20 7001748a: 4604 mov r4, r0 7001748c: 4617 mov r7, r2 7001748e: e9c0 3100 strd r3, r1, [r0] 70017492: 8893 ldrh r3, [r2, #4] 70017494: 8185 strh r5, [r0, #12] 70017496: 8103 strh r3, [r0, #8] 70017498: f89d 3020 ldrb.w r3, [sp, #32] 7001749c: 81c5 strh r5, [r0, #14] 7001749e: 7283 strb r3, [r0, #10] 700174a0: 8205 strh r5, [r0, #16] 700174a2: 8245 strh r5, [r0, #18] 700174a4: 4640 mov r0, r8 700174a6: f7fe ff31 bl 7001630c <_ZN8touchgfx7OutlineC1Ev> 700174aa: f884 5044 strb.w r5, [r4, #68] @ 0x44 700174ae: f8a4 5046 strh.w r5, [r4, #70] @ 0x46 700174b2: 466b mov r3, sp 700174b4: 65a5 str r5, [r4, #88] @ 0x58 700174b6: f8a4 505c strh.w r5, [r4, #92] @ 0x5c 700174ba: f8a4 5068 strh.w r5, [r4, #104] @ 0x68 700174be: e9c4 5512 strd r5, r5, [r4, #72] @ 0x48 700174c2: e9c4 5514 strd r5, r5, [r4, #80] @ 0x50 700174c6: e9c4 5518 strd r5, r5, [r4, #96] @ 0x60 700174ca: e9c4 551b strd r5, r5, [r4, #108] @ 0x6c 700174ce: 6830 ldr r0, [r6, #0] 700174d0: 6871 ldr r1, [r6, #4] 700174d2: 8872 ldrh r2, [r6, #2] 700174d4: 8835 ldrh r5, [r6, #0] 700174d6: c303 stmia r3!, {r0, r1} 700174d8: 887b ldrh r3, [r7, #2] 700174da: f9b6 0004 ldrsh.w r0, [r6, #4] 700174de: 4413 add r3, r2 700174e0: 883a ldrh r2, [r7, #0] 700174e2: f9b6 1006 ldrsh.w r1, [r6, #6] 700174e6: 442a add r2, r5 700174e8: 81e3 strh r3, [r4, #14] 700174ea: 8220 strh r0, [r4, #16] 700174ec: 4668 mov r0, sp 700174ee: 81a2 strh r2, [r4, #12] 700174f0: 8261 strh r1, [r4, #18] 700174f2: 4639 mov r1, r7 700174f4: f7f9 fcac bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 700174f8: f104 000c add.w r0, r4, #12 700174fc: f7f9 fc64 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70017500: f9bd 3002 ldrsh.w r3, [sp, #2] 70017504: f8bd 2000 ldrh.w r2, [sp] 70017508: 4640 mov r0, r8 7001750a: f8a4 3048 strh.w r3, [r4, #72] @ 0x48 7001750e: f8a4 2046 strh.w r2, [r4, #70] @ 0x46 70017512: f7fe fedf bl 700162d4 <_ZN8touchgfx7Outline5resetEv> 70017516: f9bd 3000 ldrsh.w r3, [sp] 7001751a: f9b4 2012 ldrsh.w r2, [r4, #18] 7001751e: 4620 mov r0, r4 70017520: 015b lsls r3, r3, #5 70017522: 64e3 str r3, [r4, #76] @ 0x4c 70017524: f9bd 3002 ldrsh.w r3, [sp, #2] 70017528: 015b lsls r3, r3, #5 7001752a: 6523 str r3, [r4, #80] @ 0x50 7001752c: f9bd 3004 ldrsh.w r3, [sp, #4] 70017530: 015b lsls r3, r3, #5 70017532: 6563 str r3, [r4, #84] @ 0x54 70017534: f9bd 3006 ldrsh.w r3, [sp, #6] 70017538: 015b lsls r3, r3, #5 7001753a: 65a3 str r3, [r4, #88] @ 0x58 7001753c: f9b4 3010 ldrsh.w r3, [r4, #16] 70017540: f8a4 304a strh.w r3, [r4, #74] @ 0x4a 70017544: e9c4 320f strd r3, r2, [r4, #60] @ 0x3c 70017548: b002 add sp, #8 7001754a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 7001754e: bf00 nop 70017550: 7003ffc0 .word 0x7003ffc0 70017554 <_ZN8touchgfx6Canvas5closeEv>: 70017554: b538 push {r3, r4, r5, lr} 70017556: f890 305c ldrb.w r3, [r0, #92] @ 0x5c 7001755a: 4604 mov r4, r0 7001755c: b193 cbz r3, 70017584 <_ZN8touchgfx6Canvas5closeEv+0x30> 7001755e: f890 3068 ldrb.w r3, [r0, #104] @ 0x68 70017562: f890 2069 ldrb.w r2, [r0, #105] @ 0x69 70017566: 4213 tst r3, r2 70017568: d10c bne.n 70017584 <_ZN8touchgfx6Canvas5closeEv+0x30> 7001756a: f100 0514 add.w r5, r0, #20 7001756e: b123 cbz r3, 7001757a <_ZN8touchgfx6Canvas5closeEv+0x26> 70017570: e9d0 1218 ldrd r1, r2, [r0, #96] @ 0x60 70017574: 4628 mov r0, r5 70017576: f7ff fe89 bl 7001728c <_ZN8touchgfx10Rasterizer6lineToEii> 7001757a: 4628 mov r0, r5 7001757c: e9d4 121b ldrd r1, r2, [r4, #108] @ 0x6c 70017580: f7ff fe84 bl 7001728c <_ZN8touchgfx10Rasterizer6lineToEii> 70017584: 2300 movs r3, #0 70017586: f884 305c strb.w r3, [r4, #92] @ 0x5c 7001758a: e9d4 0306 ldrd r0, r3, [r4, #24] 7001758e: 4298 cmp r0, r3 70017590: bf34 ite cc 70017592: 2000 movcc r0, #0 70017594: 2001 movcs r0, #1 70017596: bd38 pop {r3, r4, r5, pc} 70017598 <_ZN8touchgfx6Canvas6renderEh>: 70017598: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr} 7001759c: 7a83 ldrb r3, [r0, #10] 7001759e: 4604 mov r4, r0 700175a0: 4359 muls r1, r3 700175a2: 1c4d adds r5, r1, #1 700175a4: b2ad uxth r5, r5 700175a6: eb05 2511 add.w r5, r5, r1, lsr #8 700175aa: 122d asrs r5, r5, #8 700175ac: f000 809e beq.w 700176ec <_ZN8touchgfx6Canvas6renderEh+0x154> 700175b0: f890 305d ldrb.w r3, [r0, #93] @ 0x5d 700175b4: 2b00 cmp r3, #0 700175b6: f000 8099 beq.w 700176ec <_ZN8touchgfx6Canvas6renderEh+0x154> 700175ba: f7ff ffcb bl 70017554 <_ZN8touchgfx6Canvas5closeEv> 700175be: 4607 mov r7, r0 700175c0: 2800 cmp r0, #0 700175c2: f000 8094 beq.w 700176ee <_ZN8touchgfx6Canvas6renderEh+0x156> 700175c6: 6860 ldr r0, [r4, #4] 700175c8: 4e4b ldr r6, [pc, #300] @ (700176f8 <_ZN8touchgfx6Canvas6renderEh+0x160>) 700175ca: 6803 ldr r3, [r0, #0] 700175cc: 6837 ldr r7, [r6, #0] 700175ce: 689b ldr r3, [r3, #8] 700175d0: 4798 blx r3 700175d2: 4601 mov r1, r0 700175d4: 4638 mov r0, r7 700175d6: f7f7 ffd3 bl 7000f580 <_ZN8touchgfx3HAL33lockFrameBufferForRenderingMethodENS0_15RenderingMethodE> 700175da: 4607 mov r7, r0 700175dc: f7f7 fb20 bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 700175e0: 6803 ldr r3, [r0, #0] 700175e2: 6b5b ldr r3, [r3, #52] @ 0x34 700175e4: 4798 blx r3 700175e6: 4680 mov r8, r0 700175e8: f7f7 fb1a bl 7000ec20 <_ZN8touchgfx3HAL3lcdEv> 700175ec: 6803 ldr r3, [r0, #0] 700175ee: 6b1b ldr r3, [r3, #48] @ 0x30 700175f0: 4798 blx r3 700175f2: 280b cmp r0, #11 700175f4: d864 bhi.n 700176c0 <_ZN8touchgfx6Canvas6renderEh+0x128> 700175f6: e8df f000 tbb [pc, r0] 700175fa: 4a40 .short 0x4a40 700175fc: 1963065a .word 0x1963065a 70017600: 5353532f .word 0x5353532f 70017604: 5353 .short 0x5353 70017606: f9b4 100c ldrsh.w r1, [r4, #12] 7001760a: f9b4 300e ldrsh.w r3, [r4, #14] 7001760e: 2900 cmp r1, #0 70017610: 460a mov r2, r1 70017612: fb08 f303 mul.w r3, r8, r3 70017616: bfb8 it lt 70017618: 1dca addlt r2, r1, #7 7001761a: eb03 03e2 add.w r3, r3, r2, asr #3 7001761e: 441f add r7, r3 70017620: 424b negs r3, r1 70017622: f001 0107 and.w r1, r1, #7 70017626: f003 0307 and.w r3, r3, #7 7001762a: e011 b.n 70017650 <_ZN8touchgfx6Canvas6renderEh+0xb8> 7001762c: f9b4 100c ldrsh.w r1, [r4, #12] 70017630: f9b4 300e ldrsh.w r3, [r4, #14] 70017634: 2900 cmp r1, #0 70017636: 460a mov r2, r1 70017638: fb08 f303 mul.w r3, r8, r3 7001763c: bfb8 it lt 7001763e: 1cca addlt r2, r1, #3 70017640: eb03 03a2 add.w r3, r3, r2, asr #2 70017644: 441f add r7, r3 70017646: 424b negs r3, r1 70017648: f001 0103 and.w r1, r1, #3 7001764c: f003 0303 and.w r3, r3, #3 70017650: bf58 it pl 70017652: 4259 negpl r1, r3 70017654: b2c8 uxtb r0, r1 70017656: e034 b.n 700176c2 <_ZN8touchgfx6Canvas6renderEh+0x12a> 70017658: f9b4 100c ldrsh.w r1, [r4, #12] 7001765c: f9b4 200e ldrsh.w r2, [r4, #14] 70017660: eb01 73d1 add.w r3, r1, r1, lsr #31 70017664: 2900 cmp r1, #0 70017666: f001 0101 and.w r1, r1, #1 7001766a: ea4f 0363 mov.w r3, r3, asr #1 7001766e: bfb8 it lt 70017670: 4249 neglt r1, r1 70017672: fb08 3302 mla r3, r8, r2, r3 70017676: 441f add r7, r3 70017678: e7ec b.n 70017654 <_ZN8touchgfx6Canvas6renderEh+0xbc> 7001767a: f9b4 300e ldrsh.w r3, [r4, #14] 7001767e: f9b4 200c ldrsh.w r2, [r4, #12] 70017682: fb08 f303 mul.w r3, r8, r3 70017686: eb03 0342 add.w r3, r3, r2, lsl #1 7001768a: 441f add r7, r3 7001768c: e019 b.n 700176c2 <_ZN8touchgfx6Canvas6renderEh+0x12a> 7001768e: f9b4 200e ldrsh.w r2, [r4, #14] 70017692: 2103 movs r1, #3 70017694: 89a3 ldrh r3, [r4, #12] 70017696: fb08 f202 mul.w r2, r8, r2 7001769a: fb13 2301 smlabb r3, r3, r1, r2 7001769e: e00e b.n 700176be <_ZN8touchgfx6Canvas6renderEh+0x126> 700176a0: f9b4 200e ldrsh.w r2, [r4, #14] 700176a4: f9b4 300c ldrsh.w r3, [r4, #12] 700176a8: fb08 3302 mla r3, r8, r2, r3 700176ac: e007 b.n 700176be <_ZN8touchgfx6Canvas6renderEh+0x126> 700176ae: f9b4 300e ldrsh.w r3, [r4, #14] 700176b2: f9b4 200c ldrsh.w r2, [r4, #12] 700176b6: fb08 f303 mul.w r3, r8, r3 700176ba: eb03 0382 add.w r3, r3, r2, lsl #2 700176be: 441f add r7, r3 700176c0: 2000 movs r0, #0 700176c2: b2ed uxtb r5, r5 700176c4: 463a mov r2, r7 700176c6: fa0f f388 sxth.w r3, r8 700176ca: e9cd 0500 strd r0, r5, [sp] 700176ce: f104 0014 add.w r0, r4, #20 700176d2: 6861 ldr r1, [r4, #4] 700176d4: f7ff fde6 bl 700172a4 <_ZN8touchgfx10Rasterizer6renderEPKNS_15AbstractPainterEPhshh> 700176d8: 4607 mov r7, r0 700176da: 6860 ldr r0, [r4, #4] 700176dc: 6803 ldr r3, [r0, #0] 700176de: 691b ldr r3, [r3, #16] 700176e0: 4798 blx r3 700176e2: 6830 ldr r0, [r6, #0] 700176e4: 6803 ldr r3, [r0, #0] 700176e6: 6b1b ldr r3, [r3, #48] @ 0x30 700176e8: 4798 blx r3 700176ea: e000 b.n 700176ee <_ZN8touchgfx6Canvas6renderEh+0x156> 700176ec: 2701 movs r7, #1 700176ee: 4638 mov r0, r7 700176f0: b002 add sp, #8 700176f2: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 700176f6: bf00 nop 700176f8: 2400da80 .word 0x2400da80 700176fc <_ZNK8touchgfx6Canvas29transformFrameBufferToDisplayERNS_7CWRUtil2Q5ES3_>: 700176fc: 4b06 ldr r3, [pc, #24] @ (70017718 <_ZNK8touchgfx6Canvas29transformFrameBufferToDisplayERNS_7CWRUtil2Q5ES3_+0x1c>) 700176fe: b510 push {r4, lr} 70017700: 781b ldrb r3, [r3, #0] 70017702: 2b01 cmp r3, #1 70017704: d107 bne.n 70017716 <_ZNK8touchgfx6Canvas29transformFrameBufferToDisplayERNS_7CWRUtil2Q5ES3_+0x1a> 70017706: f9b0 0008 ldrsh.w r0, [r0, #8] 7001770a: 680b ldr r3, [r1, #0] 7001770c: 6814 ldr r4, [r2, #0] 7001770e: ebc3 1340 rsb r3, r3, r0, lsl #5 70017712: 6013 str r3, [r2, #0] 70017714: 600c str r4, [r1, #0] 70017716: bd10 pop {r4, pc} 70017718: 2400da72 .word 0x2400da72 7001771c <_ZN8touchgfx6Canvas6moveToENS_7CWRUtil2Q5ES2_>: 7001771c: b537 push {r0, r1, r2, r4, r5, lr} 7001771e: f890 305c ldrb.w r3, [r0, #92] @ 0x5c 70017722: 4604 mov r4, r0 70017724: e9cd 2100 strd r2, r1, [sp] 70017728: b983 cbnz r3, 7001774c <_ZN8touchgfx6Canvas6moveToENS_7CWRUtil2Q5ES2_+0x30> 7001772a: 466a mov r2, sp 7001772c: a901 add r1, sp, #4 7001772e: 4620 mov r0, r4 70017730: f7ff ffe4 bl 700176fc <_ZNK8touchgfx6Canvas29transformFrameBufferToDisplayERNS_7CWRUtil2Q5ES3_> 70017734: 6ce3 ldr r3, [r4, #76] @ 0x4c 70017736: 9901 ldr r1, [sp, #4] 70017738: 9a00 ldr r2, [sp, #0] 7001773a: 1ac9 subs r1, r1, r3 7001773c: 6d23 ldr r3, [r4, #80] @ 0x50 7001773e: 1ad2 subs r2, r2, r3 70017740: 9101 str r1, [sp, #4] 70017742: 2a00 cmp r2, #0 70017744: 9200 str r2, [sp, #0] 70017746: da06 bge.n 70017756 <_ZN8touchgfx6Canvas6moveToENS_7CWRUtil2Q5ES2_+0x3a> 70017748: 2301 movs r3, #1 7001774a: e00a b.n 70017762 <_ZN8touchgfx6Canvas6moveToENS_7CWRUtil2Q5ES2_+0x46> 7001774c: f7ff ff02 bl 70017554 <_ZN8touchgfx6Canvas5closeEv> 70017750: 2800 cmp r0, #0 70017752: d1ea bne.n 7001772a <_ZN8touchgfx6Canvas6moveToENS_7CWRUtil2Q5ES2_+0xe> 70017754: e02d b.n 700177b2 <_ZN8touchgfx6Canvas6moveToENS_7CWRUtil2Q5ES2_+0x96> 70017756: 6da3 ldr r3, [r4, #88] @ 0x58 70017758: 429a cmp r2, r3 7001775a: bfb4 ite lt 7001775c: 2300 movlt r3, #0 7001775e: 2301 movge r3, #1 70017760: 005b lsls r3, r3, #1 70017762: 2900 cmp r1, #0 70017764: db06 blt.n 70017774 <_ZN8touchgfx6Canvas6moveToENS_7CWRUtil2Q5ES2_+0x58> 70017766: 6d60 ldr r0, [r4, #84] @ 0x54 70017768: 4281 cmp r1, r0 7001776a: bfb4 ite lt 7001776c: 2000 movlt r0, #0 7001776e: 2001 movge r0, #1 70017770: 00c0 lsls r0, r0, #3 70017772: e000 b.n 70017776 <_ZN8touchgfx6Canvas6moveToENS_7CWRUtil2Q5ES2_+0x5a> 70017774: 2004 movs r0, #4 70017776: ea43 0500 orr.w r5, r3, r0 7001777a: 4303 orrs r3, r0 7001777c: d003 beq.n 70017786 <_ZN8touchgfx6Canvas6moveToENS_7CWRUtil2Q5ES2_+0x6a> 7001777e: 2300 movs r3, #0 70017780: f884 305c strb.w r3, [r4, #92] @ 0x5c 70017784: e00d b.n 700177a2 <_ZN8touchgfx6Canvas6moveToENS_7CWRUtil2Q5ES2_+0x86> 70017786: f884 3069 strb.w r3, [r4, #105] @ 0x69 7001778a: e9d4 3006 ldrd r3, r0, [r4, #24] 7001778e: 4298 cmp r0, r3 70017790: d803 bhi.n 7001779a <_ZN8touchgfx6Canvas6moveToENS_7CWRUtil2Q5ES2_+0x7e> 70017792: f104 0014 add.w r0, r4, #20 70017796: f7ff fa86 bl 70016ca6 <_ZN8touchgfx7Outline6moveToEii> 7001779a: f240 1301 movw r3, #257 @ 0x101 7001779e: f8a4 305c strh.w r3, [r4, #92] @ 0x5c 700177a2: 9a01 ldr r2, [sp, #4] 700177a4: 9b00 ldr r3, [sp, #0] 700177a6: 66e2 str r2, [r4, #108] @ 0x6c 700177a8: 6723 str r3, [r4, #112] @ 0x70 700177aa: f884 5068 strb.w r5, [r4, #104] @ 0x68 700177ae: e9c4 2318 strd r2, r3, [r4, #96] @ 0x60 700177b2: b003 add sp, #12 700177b4: bd30 pop {r4, r5, pc} 700177b6 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_>: 700177b6: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr} 700177ba: 4604 mov r4, r0 700177bc: e9cd 2100 strd r2, r1, [sp] 700177c0: 466a mov r2, sp 700177c2: a901 add r1, sp, #4 700177c4: f7ff ff9a bl 700176fc <_ZNK8touchgfx6Canvas29transformFrameBufferToDisplayERNS_7CWRUtil2Q5ES3_> 700177c8: 6ce3 ldr r3, [r4, #76] @ 0x4c 700177ca: 9e01 ldr r6, [sp, #4] 700177cc: 9f00 ldr r7, [sp, #0] 700177ce: 1af6 subs r6, r6, r3 700177d0: 6d23 ldr r3, [r4, #80] @ 0x50 700177d2: 1aff subs r7, r7, r3 700177d4: 9601 str r6, [sp, #4] 700177d6: 2f00 cmp r7, #0 700177d8: 9700 str r7, [sp, #0] 700177da: db06 blt.n 700177ea <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_+0x34> 700177dc: 6da3 ldr r3, [r4, #88] @ 0x58 700177de: 429f cmp r7, r3 700177e0: bfb4 ite lt 700177e2: 2300 movlt r3, #0 700177e4: 2301 movge r3, #1 700177e6: 005b lsls r3, r3, #1 700177e8: e000 b.n 700177ec <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_+0x36> 700177ea: 2301 movs r3, #1 700177ec: 2e00 cmp r6, #0 700177ee: db06 blt.n 700177fe <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_+0x48> 700177f0: 6d65 ldr r5, [r4, #84] @ 0x54 700177f2: 42ae cmp r6, r5 700177f4: bfb4 ite lt 700177f6: 2500 movlt r5, #0 700177f8: 2501 movge r5, #1 700177fa: 00ed lsls r5, r5, #3 700177fc: e000 b.n 70017800 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_+0x4a> 700177fe: 2504 movs r5, #4 70017800: ea45 0203 orr.w r2, r5, r3 70017804: f894 3068 ldrb.w r3, [r4, #104] @ 0x68 70017808: 4615 mov r5, r2 7001780a: b923 cbnz r3, 70017816 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_+0x60> 7001780c: 463a mov r2, r7 7001780e: 4631 mov r1, r6 70017810: f104 0014 add.w r0, r4, #20 70017814: e01d b.n 70017852 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_+0x9c> 70017816: b10a cbz r2, 7001781c <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_+0x66> 70017818: 401a ands r2, r3 7001781a: d11d bne.n 70017858 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_+0xa2> 7001781c: f894 005c ldrb.w r0, [r4, #92] @ 0x5c 70017820: f104 0814 add.w r8, r4, #20 70017824: e9d4 1218 ldrd r1, r2, [r4, #96] @ 0x60 70017828: b968 cbnz r0, 70017846 <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_+0x90> 7001782a: f884 3069 strb.w r3, [r4, #105] @ 0x69 7001782e: e9d4 3006 ldrd r3, r0, [r4, #24] 70017832: 4298 cmp r0, r3 70017834: d802 bhi.n 7001783c <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_+0x86> 70017836: 4640 mov r0, r8 70017838: f7ff fa35 bl 70016ca6 <_ZN8touchgfx7Outline6moveToEii> 7001783c: f240 1301 movw r3, #257 @ 0x101 70017840: f8a4 305c strh.w r3, [r4, #92] @ 0x5c 70017844: e002 b.n 7001784c <_ZN8touchgfx6Canvas6lineToENS_7CWRUtil2Q5ES2_+0x96> 70017846: 4640 mov r0, r8 70017848: f7ff fd20 bl 7001728c <_ZN8touchgfx10Rasterizer6lineToEii> 7001784c: 463a mov r2, r7 7001784e: 4631 mov r1, r6 70017850: 4640 mov r0, r8 70017852: f7ff fd1b bl 7001728c <_ZN8touchgfx10Rasterizer6lineToEii> 70017856: 462a mov r2, r5 70017858: 9b01 ldr r3, [sp, #4] 7001785a: f884 2068 strb.w r2, [r4, #104] @ 0x68 7001785e: 6623 str r3, [r4, #96] @ 0x60 70017860: 9b00 ldr r3, [sp, #0] 70017862: 6663 str r3, [r4, #100] @ 0x64 70017864: b002 add sp, #8 70017866: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} ... 7001786c <_ZN8touchgfx6CanvasD1Ev>: 7001786c: 4b04 ldr r3, [pc, #16] @ (70017880 <_ZN8touchgfx6CanvasD1Ev+0x14>) 7001786e: b510 push {r4, lr} 70017870: 4604 mov r4, r0 70017872: f840 3b14 str.w r3, [r0], #20 70017876: f7fe fd25 bl 700162c4 <_ZN8touchgfx7OutlineD1Ev> 7001787a: 4620 mov r0, r4 7001787c: bd10 pop {r4, pc} 7001787e: bf00 nop 70017880: 7003ffc0 .word 0x7003ffc0 70017884 <_ZN8touchgfx6CanvasD0Ev>: 70017884: b510 push {r4, lr} 70017886: 4604 mov r4, r0 70017888: f7ff fff0 bl 7001786c <_ZN8touchgfx6CanvasD1Ev> 7001788c: 2174 movs r1, #116 @ 0x74 7001788e: 4620 mov r0, r4 70017890: f021 ff91 bl 700397b6 <_ZdlPvj> 70017894: 4620 mov r0, r4 70017896: bd10 pop {r4, pc} 70017898 : 70017898: 4916 ldr r1, [pc, #88] @ (700178f4 ) 7001789a: 4b17 ldr r3, [pc, #92] @ (700178f8 ) 7001789c: 4a17 ldr r2, [pc, #92] @ (700178fc ) 7001789e: b570 push {r4, r5, r6, lr} 700178a0: 4c17 ldr r4, [pc, #92] @ (70017900 ) 700178a2: 2500 movs r5, #0 700178a4: 6812 ldr r2, [r2, #0] 700178a6: 6808 ldr r0, [r1, #0] 700178a8: 681b ldr r3, [r3, #0] 700178aa: 4916 ldr r1, [pc, #88] @ (70017904 ) 700178ac: 4e16 ldr r6, [pc, #88] @ (70017908 ) 700178ae: e9c0 5504 strd r5, r5, [r0, #16] 700178b2: f843 1022 str.w r1, [r3, r2, lsl #2] 700178b6: eb03 0382 add.w r3, r3, r2, lsl #2 700178ba: 6822 ldr r2, [r4, #0] 700178bc: 605a str r2, [r3, #4] 700178be: 4a13 ldr r2, [pc, #76] @ (7001790c ) 700178c0: 609a str r2, [r3, #8] 700178c2: 6832 ldr r2, [r6, #0] 700178c4: 60da str r2, [r3, #12] 700178c6: f7eb ffad bl 70003824 700178ca: 4629 mov r1, r5 700178cc: f44f 70a4 mov.w r0, #328 @ 0x148 700178d0: f7eb feb4 bl 7000363c 700178d4: 6821 ldr r1, [r4, #0] 700178d6: 20ec movs r0, #236 @ 0xec 700178d8: f041 0106 orr.w r1, r1, #6 700178dc: f7eb feae bl 7000363c 700178e0: 6821 ldr r1, [r4, #0] 700178e2: 20f0 movs r0, #240 @ 0xf0 700178e4: f7eb feaa bl 7000363c 700178e8: 6831 ldr r1, [r6, #0] 700178ea: 20f4 movs r0, #244 @ 0xf4 700178ec: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 700178f0: f7eb bea4 b.w 7000363c 700178f4: 2400db1c .word 0x2400db1c 700178f8: 2400db18 .word 0x2400db18 700178fc: 2400db10 .word 0x2400db10 70017900: 2400db14 .word 0x2400db14 70017904: ff0000f0 .word 0xff0000f0 70017908: 2400db0c .word 0x2400db0c 7001790c: ff0000f4 .word 0xff0000f4 70017910 : 70017910: b510 push {r4, lr} 70017912: 6803 ldr r3, [r0, #0] 70017914: 4a0d ldr r2, [pc, #52] @ (7001794c ) 70017916: 2b00 cmp r3, #0 70017918: 6013 str r3, [r2, #0] 7001791a: dd11 ble.n 70017940 7001791c: 4c0c ldr r4, [pc, #48] @ (70017950 ) 7001791e: 109b asrs r3, r3, #2 70017920: 4a0c ldr r2, [pc, #48] @ (70017954 ) 70017922: 6020 str r0, [r4, #0] 70017924: 3b04 subs r3, #4 70017926: e9d0 4002 ldrd r4, r0, [r0, #8] 7001792a: 6014 str r4, [r2, #0] 7001792c: 4a0a ldr r2, [pc, #40] @ (70017958 ) 7001792e: 4c0b ldr r4, [pc, #44] @ (7001795c ) 70017930: 6010 str r0, [r2, #0] 70017932: 6023 str r3, [r4, #0] 70017934: b909 cbnz r1, 7001793a 70017936: 2000 movs r0, #0 70017938: bd10 pop {r4, pc} 7001793a: f7ff ffad bl 70017898 7001793e: e7fa b.n 70017936 70017940: 2004 movs r0, #4 70017942: f000 f9eb bl 70017d1c 70017946: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7001794a: bd10 pop {r4, pc} 7001794c: 2400db0c .word 0x2400db0c 70017950: 2400db1c .word 0x2400db1c 70017954: 2400db18 .word 0x2400db18 70017958: 2400db14 .word 0x2400db14 7001795c: 2400db10 .word 0x2400db10 70017960 : 70017960: 2900 cmp r1, #0 70017962: d073 beq.n 70017a4c 70017964: 4a3b ldr r2, [pc, #236] @ (70017a54 ) 70017966: 4684 mov ip, r0 70017968: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 7001796c: f8df 80f4 ldr.w r8, [pc, #244] @ 70017a64 70017970: 6816 ldr r6, [r2, #0] 70017972: f8d8 0000 ldr.w r0, [r8] 70017976: 4a38 ldr r2, [pc, #224] @ (70017a58 ) 70017978: 6903 ldr r3, [r0, #16] 7001797a: 6817 ldr r7, [r2, #0] 7001797c: 1d1a adds r2, r3, #4 7001797e: 42b2 cmp r2, r6 70017980: da51 bge.n 70017a26 70017982: f44f 3480 mov.w r4, #65536 @ 0x10000 70017986: 2500 movs r5, #0 70017988: f013 0203 ands.w r2, r3, #3 7001798c: d00b beq.n 700179a6 7001798e: f847 4023 str.w r4, [r7, r3, lsl #2] 70017992: 6903 ldr r3, [r0, #16] 70017994: 3301 adds r3, #1 70017996: 429e cmp r6, r3 70017998: 6103 str r3, [r0, #16] 7001799a: dcf5 bgt.n 70017988 7001799c: 2300 movs r3, #0 7001799e: 6105 str r5, [r0, #16] 700179a0: f013 0203 ands.w r2, r3, #3 700179a4: d1f3 bne.n 7001798e 700179a6: 24f0 movs r4, #240 @ 0xf0 700179a8: f847 4023 str.w r4, [r7, r3, lsl #2] 700179ac: 6903 ldr r3, [r0, #16] 700179ae: 3301 adds r3, #1 700179b0: 429e cmp r6, r3 700179b2: dd35 ble.n 70017a20 700179b4: eb07 0283 add.w r2, r7, r3, lsl #2 700179b8: 6103 str r3, [r0, #16] 700179ba: f8c2 c000 str.w ip, [r2] 700179be: 6903 ldr r3, [r0, #16] 700179c0: 3301 adds r3, #1 700179c2: 429e cmp r6, r3 700179c4: dd3f ble.n 70017a46 700179c6: eb07 0283 add.w r2, r7, r3, lsl #2 700179ca: 6103 str r3, [r0, #16] 700179cc: 4b23 ldr r3, [pc, #140] @ (70017a5c ) 700179ce: 6013 str r3, [r2, #0] 700179d0: 6903 ldr r3, [r0, #16] 700179d2: 3301 adds r3, #1 700179d4: 429e cmp r6, r3 700179d6: bfcc ite gt 700179d8: eb07 0783 addgt.w r7, r7, r3, lsl #2 700179dc: 2300 movle r3, #0 700179de: 6103 str r3, [r0, #16] 700179e0: 6039 str r1, [r7, #0] 700179e2: 6903 ldr r3, [r0, #16] 700179e4: 3301 adds r3, #1 700179e6: 429e cmp r6, r3 700179e8: bfd8 it le 700179ea: 2300 movle r3, #0 700179ec: 6103 str r3, [r0, #16] 700179ee: f7eb ff19 bl 70003824 700179f2: 4a1b ldr r2, [pc, #108] @ (70017a60 ) 700179f4: f8d8 3000 ldr.w r3, [r8] 700179f8: 20ec movs r0, #236 @ 0xec 700179fa: 6811 ldr r1, [r2, #0] 700179fc: 691b ldr r3, [r3, #16] 700179fe: eb01 0183 add.w r1, r1, r3, lsl #2 70017a02: f041 0104 orr.w r1, r1, #4 70017a06: f7eb fe19 bl 7000363c 70017a0a: f8d8 3000 ldr.w r3, [r8] 70017a0e: 6958 ldr r0, [r3, #20] 70017a10: 3001 adds r0, #1 70017a12: f1b0 7f80 cmp.w r0, #16777216 @ 0x1000000 70017a16: bfa8 it ge 70017a18: 2000 movge r0, #0 70017a1a: 6158 str r0, [r3, #20] 70017a1c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 70017a20: 4613 mov r3, r2 70017a22: 463a mov r2, r7 70017a24: e7c8 b.n 700179b8 70017a26: f44f 3280 mov.w r2, #65536 @ 0x10000 70017a2a: f847 2023 str.w r2, [r7, r3, lsl #2] 70017a2e: 6903 ldr r3, [r0, #16] 70017a30: 3301 adds r3, #1 70017a32: 429e cmp r6, r3 70017a34: 6103 str r3, [r0, #16] 70017a36: dc03 bgt.n 70017a40 70017a38: 2300 movs r3, #0 70017a3a: 6103 str r3, [r0, #16] 70017a3c: 2300 movs r3, #0 70017a3e: e7a0 b.n 70017982 70017a40: 2b00 cmp r3, #0 70017a42: d1f2 bne.n 70017a2a 70017a44: e7fa b.n 70017a3c 70017a46: 463a mov r2, r7 70017a48: 2300 movs r3, #0 70017a4a: e7be b.n 700179ca 70017a4c: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 70017a50: 4770 bx lr 70017a52: bf00 nop 70017a54: 2400db10 .word 0x2400db10 70017a58: 2400db18 .word 0x2400db18 70017a5c: 000200f4 .word 0x000200f4 70017a60: 2400db14 .word 0x2400db14 70017a64: 2400db1c .word 0x2400db1c 70017a68 : 70017a68: 68c0 ldr r0, [r0, #12] 70017a6a: f7ff bf79 b.w 70017960 70017a6e: bf00 nop 70017a70 : 70017a70: b5f8 push {r3, r4, r5, r6, r7, lr} 70017a72: 4e20 ldr r6, [pc, #128] @ (70017af4 ) 70017a74: 4c20 ldr r4, [pc, #128] @ (70017af8 ) 70017a76: 6832 ldr r2, [r6, #0] 70017a78: 6824 ldr r4, [r4, #0] 70017a7a: 6913 ldr r3, [r2, #16] 70017a7c: 4d1f ldr r5, [pc, #124] @ (70017afc ) 70017a7e: 1c5f adds r7, r3, #1 70017a80: 682d ldr r5, [r5, #0] 70017a82: 42a7 cmp r7, r4 70017a84: db10 blt.n 70017aa8 70017a86: f44f 3780 mov.w r7, #65536 @ 0x10000 70017a8a: f845 7023 str.w r7, [r5, r3, lsl #2] 70017a8e: 6913 ldr r3, [r2, #16] 70017a90: 3301 adds r3, #1 70017a92: 429c cmp r4, r3 70017a94: 6113 str r3, [r2, #16] 70017a96: dc03 bgt.n 70017aa0 70017a98: 2300 movs r3, #0 70017a9a: 6113 str r3, [r2, #16] 70017a9c: 462b mov r3, r5 70017a9e: e005 b.n 70017aac 70017aa0: 2b00 cmp r3, #0 70017aa2: d1f2 bne.n 70017a8a 70017aa4: 462b mov r3, r5 70017aa6: e001 b.n 70017aac 70017aa8: eb05 0383 add.w r3, r5, r3, lsl #2 70017aac: 6018 str r0, [r3, #0] 70017aae: 6913 ldr r3, [r2, #16] 70017ab0: 3301 adds r3, #1 70017ab2: 429c cmp r4, r3 70017ab4: bfcc ite gt 70017ab6: eb05 0583 addgt.w r5, r5, r3, lsl #2 70017aba: 2300 movle r3, #0 70017abc: 6113 str r3, [r2, #16] 70017abe: 6029 str r1, [r5, #0] 70017ac0: 6913 ldr r3, [r2, #16] 70017ac2: 3301 adds r3, #1 70017ac4: 429c cmp r4, r3 70017ac6: bfd8 it le 70017ac8: 2300 movle r3, #0 70017aca: f1b0 7f80 cmp.w r0, #16777216 @ 0x1000000 70017ace: 6113 str r3, [r2, #16] 70017ad0: d200 bcs.n 70017ad4 70017ad2: bdf8 pop {r3, r4, r5, r6, r7, pc} 70017ad4: 4610 mov r0, r2 70017ad6: f7eb fea5 bl 70003824 70017ada: 6833 ldr r3, [r6, #0] 70017adc: 4a08 ldr r2, [pc, #32] @ (70017b00 ) 70017ade: 20ec movs r0, #236 @ 0xec 70017ae0: 691b ldr r3, [r3, #16] 70017ae2: 6811 ldr r1, [r2, #0] 70017ae4: eb01 0183 add.w r1, r1, r3, lsl #2 70017ae8: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr} 70017aec: f041 0104 orr.w r1, r1, #4 70017af0: f7eb bda4 b.w 7000363c 70017af4: 2400db1c .word 0x2400db1c 70017af8: 2400db10 .word 0x2400db10 70017afc: 2400db18 .word 0x2400db18 70017b00: 2400db14 .word 0x2400db14 70017b04 : 70017b04: b570 push {r4, r5, r6, lr} 70017b06: 4c37 ldr r4, [pc, #220] @ (70017be4 ) 70017b08: 4b37 ldr r3, [pc, #220] @ (70017be8 ) 70017b0a: 6820 ldr r0, [r4, #0] 70017b0c: 4a37 ldr r2, [pc, #220] @ (70017bec ) 70017b0e: 6819 ldr r1, [r3, #0] 70017b10: 6903 ldr r3, [r0, #16] 70017b12: 6812 ldr r2, [r2, #0] 70017b14: 1d1d adds r5, r3, #4 70017b16: 4295 cmp r5, r2 70017b18: db0b blt.n 70017b32 70017b1a: f44f 3580 mov.w r5, #65536 @ 0x10000 70017b1e: f841 5023 str.w r5, [r1, r3, lsl #2] 70017b22: 6903 ldr r3, [r0, #16] 70017b24: 3301 adds r3, #1 70017b26: 429a cmp r2, r3 70017b28: 6103 str r3, [r0, #16] 70017b2a: dc51 bgt.n 70017bd0 70017b2c: 2300 movs r3, #0 70017b2e: 6103 str r3, [r0, #16] 70017b30: 2300 movs r3, #0 70017b32: f44f 3580 mov.w r5, #65536 @ 0x10000 70017b36: 2600 movs r6, #0 70017b38: f013 0e03 ands.w lr, r3, #3 70017b3c: ea4f 0c83 mov.w ip, r3, lsl #2 70017b40: d00d beq.n 70017b5e 70017b42: f841 5023 str.w r5, [r1, r3, lsl #2] 70017b46: 6903 ldr r3, [r0, #16] 70017b48: 3301 adds r3, #1 70017b4a: 429a cmp r2, r3 70017b4c: 6103 str r3, [r0, #16] 70017b4e: dcf3 bgt.n 70017b38 70017b50: 2300 movs r3, #0 70017b52: 6106 str r6, [r0, #16] 70017b54: f013 0e03 ands.w lr, r3, #3 70017b58: ea4f 0c83 mov.w ip, r3, lsl #2 70017b5c: d1f1 bne.n 70017b42 70017b5e: 4d24 ldr r5, [pc, #144] @ (70017bf0 ) 70017b60: f10c 0c10 add.w ip, ip, #16 70017b64: f841 5023 str.w r5, [r1, r3, lsl #2] 70017b68: 6906 ldr r6, [r0, #16] 70017b6a: 4d22 ldr r5, [pc, #136] @ (70017bf4 ) 70017b6c: 3601 adds r6, #1 70017b6e: 682b ldr r3, [r5, #0] 70017b70: 42b2 cmp r2, r6 70017b72: 4463 add r3, ip 70017b74: dd2f ble.n 70017bd6 70017b76: eb01 0c86 add.w ip, r1, r6, lsl #2 70017b7a: 6106 str r6, [r0, #16] 70017b7c: f8cc 3000 str.w r3, [ip] 70017b80: 6903 ldr r3, [r0, #16] 70017b82: 3301 adds r3, #1 70017b84: 429a cmp r2, r3 70017b86: dd29 ble.n 70017bdc 70017b88: eb01 0683 add.w r6, r1, r3, lsl #2 70017b8c: 6103 str r3, [r0, #16] 70017b8e: 4b1a ldr r3, [pc, #104] @ (70017bf8 ) 70017b90: 6033 str r3, [r6, #0] 70017b92: 6903 ldr r3, [r0, #16] 70017b94: 3301 adds r3, #1 70017b96: 429a cmp r2, r3 70017b98: bfd4 ite le 70017b9a: 2300 movle r3, #0 70017b9c: eb01 0183 addgt.w r1, r1, r3, lsl #2 70017ba0: 6103 str r3, [r0, #16] 70017ba2: 4b16 ldr r3, [pc, #88] @ (70017bfc ) 70017ba4: 681b ldr r3, [r3, #0] 70017ba6: 600b str r3, [r1, #0] 70017ba8: 6903 ldr r3, [r0, #16] 70017baa: 3301 adds r3, #1 70017bac: 429a cmp r2, r3 70017bae: bfd8 it le 70017bb0: 2300 movle r3, #0 70017bb2: 6103 str r3, [r0, #16] 70017bb4: f7eb fe36 bl 70003824 70017bb8: 6823 ldr r3, [r4, #0] 70017bba: 6829 ldr r1, [r5, #0] 70017bbc: 20ec movs r0, #236 @ 0xec 70017bbe: 691b ldr r3, [r3, #16] 70017bc0: eb01 0183 add.w r1, r1, r3, lsl #2 70017bc4: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70017bc8: f041 0104 orr.w r1, r1, #4 70017bcc: f7eb bd36 b.w 7000363c 70017bd0: 2b00 cmp r3, #0 70017bd2: d1a4 bne.n 70017b1e 70017bd4: e7ac b.n 70017b30 70017bd6: 4676 mov r6, lr 70017bd8: 468c mov ip, r1 70017bda: e7ce b.n 70017b7a 70017bdc: 460e mov r6, r1 70017bde: 2300 movs r3, #0 70017be0: e7d4 b.n 70017b8c 70017be2: bf00 nop 70017be4: 2400db1c .word 0x2400db1c 70017be8: 2400db18 .word 0x2400db18 70017bec: 2400db10 .word 0x2400db10 70017bf0: ff0000f0 .word 0xff0000f0 70017bf4: 2400db14 .word 0x2400db14 70017bf8: ff0000f4 .word 0xff0000f4 70017bfc: 2400db0c .word 0x2400db0c 70017c00 : 70017c00: 1e01 subs r1, r0, #0 70017c02: dc00 bgt.n 70017c06 70017c04: 4770 bx lr 70017c06: b508 push {r3, lr} 70017c08: f44f 70a4 mov.w r0, #328 @ 0x148 70017c0c: f7ff ff30 bl 70017a70 70017c10: 2101 movs r1, #1 70017c12: 20f8 movs r0, #248 @ 0xf8 70017c14: f7ff ff2c bl 70017a70 70017c18: e8bd 4008 ldmia.w sp!, {r3, lr} 70017c1c: f7ff bf72 b.w 70017b04 70017c20 : 70017c20: b510 push {r4, lr} 70017c22: 2100 movs r1, #0 70017c24: 20e8 movs r0, #232 @ 0xe8 70017c26: f7eb fd09 bl 7000363c 70017c2a: 2100 movs r1, #0 70017c2c: 20fc movs r0, #252 @ 0xfc 70017c2e: f7eb fd05 bl 7000363c 70017c32: 2101 movs r1, #1 70017c34: f44f 7062 mov.w r0, #904 @ 0x388 70017c38: f7eb fd00 bl 7000363c 70017c3c: 2000 movs r0, #0 70017c3e: f002 f835 bl 70019cac 70017c42: f011 ff89 bl 70029b58 70017c46: 2100 movs r1, #0 70017c48: f44f 7000 mov.w r0, #512 @ 0x200 70017c4c: f011 fe08 bl 70029860 70017c50: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 70017c54: f44f 7001 mov.w r0, #516 @ 0x204 70017c58: f011 fe02 bl 70029860 70017c5c: f001 fab4 bl 700191c8 70017c60: f410 2080 ands.w r0, r0, #262144 @ 0x40000 70017c64: d10f bne.n 70017c86 70017c66: 4b14 ldr r3, [pc, #80] @ (70017cb8 ) 70017c68: 681b ldr r3, [r3, #0] 70017c6a: 7298 strb r0, [r3, #10] 70017c6c: 69d9 ldr r1, [r3, #28] 70017c6e: 2400 movs r4, #0 70017c70: e9d3 2003 ldrd r2, r0, [r3, #12] 70017c74: 615c str r4, [r3, #20] 70017c76: 4302 orrs r2, r0 70017c78: 430a orrs r2, r1 70017c7a: 619a str r2, [r3, #24] 70017c7c: f001 fab2 bl 700191e4 70017c80: 0583 lsls r3, r0, #22 70017c82: d40c bmi.n 70017c9e 70017c84: bd10 pop {r4, pc} 70017c86: 4c0c ldr r4, [pc, #48] @ (70017cb8 ) 70017c88: 2007 movs r0, #7 70017c8a: f001 fc4f bl 7001952c 70017c8e: 2200 movs r2, #0 70017c90: 6823 ldr r3, [r4, #0] 70017c92: 7a18 ldrb r0, [r3, #8] 70017c94: 725a strb r2, [r3, #9] 70017c96: f001 faa9 bl 700191ec 70017c9a: 6823 ldr r3, [r4, #0] 70017c9c: e7e6 b.n 70017c6c 70017c9e: 4621 mov r1, r4 70017ca0: f44f 705d mov.w r0, #884 @ 0x374 70017ca4: f7eb fcca bl 7000363c 70017ca8: 4621 mov r1, r4 70017caa: f44f 705a mov.w r0, #872 @ 0x368 70017cae: e8bd 4010 ldmia.w sp!, {r4, lr} 70017cb2: f7eb bcc3 b.w 7000363c 70017cb6: bf00 nop 70017cb8: 2400db24 .word 0x2400db24 70017cbc : 70017cbc: b538 push {r3, r4, r5, lr} 70017cbe: 4d15 ldr r5, [pc, #84] @ (70017d14 ) 70017cc0: f001 fa7e bl 700191c0 70017cc4: 6028 str r0, [r5, #0] 70017cc6: f7eb fd1d bl 70003704 70017cca: 1e04 subs r4, r0, #0 70017ccc: db10 blt.n 70017cf0 70017cce: f44f 70f6 mov.w r0, #492 @ 0x1ec 70017cd2: f7eb fcad bl 70003630 70017cd6: 4b10 ldr r3, [pc, #64] @ (70017d18 ) 70017cd8: 4298 cmp r0, r3 70017cda: d113 bne.n 70017d04 70017cdc: f44f 7280 mov.w r2, #256 @ 0x100 70017ce0: 2100 movs r1, #0 70017ce2: 6828 ldr r0, [r5, #0] 70017ce4: f023 fb1e bl 7003b324 70017ce8: b14c cbz r4, 70017cfe 70017cea: 2400 movs r4, #0 70017cec: 4620 mov r0, r4 70017cee: bd38 pop {r3, r4, r5, pc} 70017cf0: 682a ldr r2, [r5, #0] 70017cf2: 4620 mov r0, r4 70017cf4: 6a13 ldr r3, [r2, #32] 70017cf6: f043 0301 orr.w r3, r3, #1 70017cfa: 6213 str r3, [r2, #32] 70017cfc: bd38 pop {r3, r4, r5, pc} 70017cfe: f7ff ff8f bl 70017c20 70017d02: e7f2 b.n 70017cea 70017d04: 682a ldr r2, [r5, #0] 70017d06: f04f 34ff mov.w r4, #4294967295 @ 0xffffffff 70017d0a: 6a13 ldr r3, [r2, #32] 70017d0c: f043 0302 orr.w r3, r3, #2 70017d10: 6213 str r3, [r2, #32] 70017d12: e7eb b.n 70017cec 70017d14: 2400db24 .word 0x2400db24 70017d18: 86362000 .word 0x86362000 70017d1c : 70017d1c: 4b02 ldr r3, [pc, #8] @ (70017d28 ) 70017d1e: 681a ldr r2, [r3, #0] 70017d20: 6a13 ldr r3, [r2, #32] 70017d22: 4303 orrs r3, r0 70017d24: 6213 str r3, [r2, #32] 70017d26: 4770 bx lr 70017d28: 2400db24 .word 0x2400db24 70017d2c : 70017d2c: 4601 mov r1, r0 70017d2e: 201c movs r0, #28 70017d30: f011 bd96 b.w 70029860 70017d34 : 70017d34: 3080 adds r0, #128 @ 0x80 70017d36: 0080 lsls r0, r0, #2 70017d38: f5b0 7f03 cmp.w r0, #524 @ 0x20c 70017d3c: d900 bls.n 70017d40 70017d3e: 4770 bx lr 70017d40: f011 bd8e b.w 70029860 70017d44 : 70017d44: b538 push {r3, r4, r5, lr} 70017d46: 4c0e ldr r4, [pc, #56] @ (70017d80 ) 70017d48: 185d adds r5, r3, r1 70017d4a: 6824 ldr r4, [r4, #0] 70017d4c: e9c4 0109 strd r0, r1, [r4, #36] @ 0x24 70017d50: e9c4 230b strd r2, r3, [r4, #44] @ 0x2c 70017d54: 1814 adds r4, r2, r0 70017d56: ea20 70e0 bic.w r0, r0, r0, asr #31 70017d5a: ea21 71e1 bic.w r1, r1, r1, asr #31 70017d5e: b280 uxth r0, r0 70017d60: ea40 4101 orr.w r1, r0, r1, lsl #16 70017d64: f44f 7088 mov.w r0, #272 @ 0x110 70017d68: f011 fd7a bl 70029860 70017d6c: f44f 708a mov.w r0, #276 @ 0x114 70017d70: b2a1 uxth r1, r4 70017d72: ea41 4105 orr.w r1, r1, r5, lsl #16 70017d76: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 70017d7a: f011 bd71 b.w 70029860 70017d7e: bf00 nop 70017d80: 2400db24 .word 0x2400db24 70017d84 : 70017d84: b538 push {r3, r4, r5, lr} 70017d86: 1814 adds r4, r2, r0 70017d88: ea20 70e0 bic.w r0, r0, r0, asr #31 70017d8c: ea21 7ce1 bic.w ip, r1, r1, asr #31 70017d90: 185d adds r5, r3, r1 70017d92: b280 uxth r0, r0 70017d94: b2a4 uxth r4, r4 70017d96: ea40 410c orr.w r1, r0, ip, lsl #16 70017d9a: f44f 70ac mov.w r0, #344 @ 0x158 70017d9e: f011 fd5f bl 70029860 70017da2: f44f 70ae mov.w r0, #348 @ 0x15c 70017da6: ea44 4105 orr.w r1, r4, r5, lsl #16 70017daa: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 70017dae: f011 bd57 b.w 70029860 70017db2: bf00 nop 70017db4 : 70017db4: b508 push {r3, lr} 70017db6: f44f 70ae mov.w r0, #348 @ 0x15c 70017dba: f7eb fc39 bl 70003630 70017dbe: 3800 subs r0, #0 70017dc0: bf18 it ne 70017dc2: 2001 movne r0, #1 70017dc4: bd08 pop {r3, pc} 70017dc6: bf00 nop 70017dc8 : 70017dc8: b538 push {r3, r4, r5, lr} 70017dca: 1814 adds r4, r2, r0 70017dcc: ea20 70e0 bic.w r0, r0, r0, asr #31 70017dd0: ea21 7ce1 bic.w ip, r1, r1, asr #31 70017dd4: 185d adds r5, r3, r1 70017dd6: b280 uxth r0, r0 70017dd8: b2a4 uxth r4, r4 70017dda: ea40 410c orr.w r1, r0, ip, lsl #16 70017dde: f44f 7088 mov.w r0, #272 @ 0x110 70017de2: f011 fd3d bl 70029860 70017de6: f44f 708a mov.w r0, #276 @ 0x114 70017dea: ea44 4105 orr.w r1, r4, r5, lsl #16 70017dee: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 70017df2: f011 bd35 b.w 70029860 70017df6: bf00 nop 70017df8 : 70017df8: b538 push {r3, r4, r5, lr} 70017dfa: 4b0e ldr r3, [pc, #56] @ (70017e34 ) 70017dfc: f44f 7088 mov.w r0, #272 @ 0x110 70017e00: 681a ldr r2, [r3, #0] 70017e02: e9d2 3109 ldrd r3, r1, [r2, #36] @ 0x24 70017e06: e9d2 450b ldrd r4, r5, [r2, #44] @ 0x2c 70017e0a: 441c add r4, r3 70017e0c: ea23 73e3 bic.w r3, r3, r3, asr #31 70017e10: 440d add r5, r1 70017e12: ea21 71e1 bic.w r1, r1, r1, asr #31 70017e16: b29b uxth r3, r3 70017e18: ea43 4101 orr.w r1, r3, r1, lsl #16 70017e1c: f011 fd20 bl 70029860 70017e20: f44f 708a mov.w r0, #276 @ 0x114 70017e24: b2a1 uxth r1, r4 70017e26: ea41 4105 orr.w r1, r1, r5, lsl #16 70017e2a: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 70017e2e: f011 bd17 b.w 70029860 70017e32: bf00 nop 70017e34: 2400db24 .word 0x2400db24 70017e38 : 70017e38: 4b08 ldr r3, [pc, #32] @ (70017e5c ) 70017e3a: 3800 subs r0, #0 70017e3c: b410 push {r4} 70017e3e: 681a ldr r2, [r3, #0] 70017e40: bf18 it ne 70017e42: 2001 movne r0, #1 70017e44: 6914 ldr r4, [r2, #16] 70017e46: 06c0 lsls r0, r0, #27 70017e48: 68d3 ldr r3, [r2, #12] 70017e4a: 69d1 ldr r1, [r2, #28] 70017e4c: 4323 orrs r3, r4 70017e4e: 6150 str r0, [r2, #20] 70017e50: 430b orrs r3, r1 70017e52: 4303 orrs r3, r0 70017e54: 6193 str r3, [r2, #24] 70017e56: f85d 4b04 ldr.w r4, [sp], #4 70017e5a: 4770 bx lr 70017e5c: 2400db24 .word 0x2400db24 70017e60 : 70017e60: 06cb lsls r3, r1, #27 70017e62: d508 bpl.n 70017e76 70017e64: 3203 adds r2, #3 70017e66: 4251 negs r1, r2 70017e68: f002 0303 and.w r3, r2, #3 70017e6c: f001 0103 and.w r1, r1, #3 70017e70: bf58 it pl 70017e72: 424b negpl r3, r1 70017e74: 1ad2 subs r2, r2, r3 70017e76: f000 037f and.w r3, r0, #127 @ 0x7f 70017e7a: 2b4e cmp r3, #78 @ 0x4e 70017e7c: bf18 it ne 70017e7e: 2b12 cmpne r3, #18 70017e80: d003 beq.n 70017e8a 70017e82: f1a3 0116 sub.w r1, r3, #22 70017e86: 2901 cmp r1, #1 70017e88: d811 bhi.n 70017eae 70017e8a: 1cd1 adds r1, r2, #3 70017e8c: f000 007e and.w r0, r0, #126 @ 0x7e 70017e90: bf48 it mi 70017e92: 1d91 addmi r1, r2, #6 70017e94: 284c cmp r0, #76 @ 0x4c 70017e96: f021 0203 bic.w r2, r1, #3 70017e9a: d030 beq.n 70017efe 70017e9c: 2b2c cmp r3, #44 @ 0x2c 70017e9e: d823 bhi.n 70017ee8 70017ea0: 2b17 cmp r3, #23 70017ea2: d819 bhi.n 70017ed8 70017ea4: 2b15 cmp r3, #21 70017ea6: d930 bls.n 70017f0a 70017ea8: eb02 0042 add.w r0, r2, r2, lsl #1 70017eac: 4770 bx lr 70017eae: f000 007e and.w r0, r0, #126 @ 0x7e 70017eb2: 284c cmp r0, #76 @ 0x4c 70017eb4: d023 beq.n 70017efe 70017eb6: 2b2c cmp r3, #44 @ 0x2c 70017eb8: d814 bhi.n 70017ee4 70017eba: 2b26 cmp r3, #38 @ 0x26 70017ebc: d9f0 bls.n 70017ea0 70017ebe: f1a3 0027 sub.w r0, r3, #39 @ 0x27 70017ec2: 2101 movs r1, #1 70017ec4: 4081 lsls r1, r0 70017ec6: f011 0f24 tst.w r1, #36 @ 0x24 70017eca: d12f bne.n 70017f2c 70017ecc: f011 0f12 tst.w r1, #18 70017ed0: d110 bne.n 70017ef4 70017ed2: f011 0f09 tst.w r1, #9 70017ed6: d12f bne.n 70017f38 70017ed8: 3b04 subs r3, #4 70017eda: 491a ldr r1, [pc, #104] @ (70017f44 ) 70017edc: 56cb ldrsb r3, [r1, r3] 70017ede: fb02 f003 mul.w r0, r2, r3 70017ee2: 4770 bx lr 70017ee4: 2b4e cmp r3, #78 @ 0x4e 70017ee6: d81b bhi.n 70017f20 70017ee8: 2b4b cmp r3, #75 @ 0x4b 70017eea: d8dd bhi.n 70017ea8 70017eec: 2b31 cmp r3, #49 @ 0x31 70017eee: d819 bhi.n 70017f24 70017ef0: 2b2f cmp r3, #47 @ 0x2f 70017ef2: d9f1 bls.n 70017ed8 70017ef4: 0053 lsls r3, r2, #1 70017ef6: 1dd8 adds r0, r3, #7 70017ef8: d41b bmi.n 70017f32 70017efa: 10c0 asrs r0, r0, #3 70017efc: 4770 bx lr 70017efe: 3201 adds r2, #1 70017f00: bf48 it mi 70017f02: 3201 addmi r2, #1 70017f04: f022 0201 bic.w r2, r2, #1 70017f08: e7d5 b.n 70017eb6 70017f0a: 2b0c cmp r3, #12 70017f0c: d903 bls.n 70017f16 70017f0e: 2b12 cmp r3, #18 70017f10: d1e2 bne.n 70017ed8 70017f12: 0050 lsls r0, r2, #1 70017f14: 4770 bx lr 70017f16: 2b0a cmp r3, #10 70017f18: d80e bhi.n 70017f38 70017f1a: 3b04 subs r3, #4 70017f1c: 2b4a cmp r3, #74 @ 0x4a 70017f1e: d9dc bls.n 70017eda 70017f20: 2304 movs r3, #4 70017f22: e7dc b.n 70017ede 70017f24: f1a3 0134 sub.w r1, r3, #52 @ 0x34 70017f28: 2901 cmp r1, #1 70017f2a: d8d5 bhi.n 70017ed8 70017f2c: 0093 lsls r3, r2, #2 70017f2e: 1dd8 adds r0, r3, #7 70017f30: d5e3 bpl.n 70017efa 70017f32: f103 000e add.w r0, r3, #14 70017f36: e7e0 b.n 70017efa 70017f38: 1dd3 adds r3, r2, #7 70017f3a: bf48 it mi 70017f3c: f102 030e addmi.w r3, r2, #14 70017f40: 10d8 asrs r0, r3, #3 70017f42: 4770 bx lr 70017f44: 70040024 .word 0x70040024 70017f48 : 70017f48: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 70017f4c: 1e04 subs r4, r0, #0 70017f4e: f8dd a020 ldr.w sl, [sp, #32] 70017f52: f89d 8028 ldrb.w r8, [sp, #40] @ 0x28 70017f56: db33 blt.n 70017fc0 70017f58: 461f mov r7, r3 70017f5a: 9b09 ldr r3, [sp, #36] @ 0x24 70017f5c: 460e mov r6, r1 70017f5e: 4615 mov r5, r2 70017f60: 3301 adds r3, #1 70017f62: d043 beq.n 70017fec 70017f64: b374 cbz r4, 70017fc4 70017f66: f8df 90ac ldr.w r9, [pc, #172] @ 70018014 70017f6a: ea4f 4308 mov.w r3, r8, lsl #16 70017f6e: 9a09 ldr r2, [sp, #36] @ 0x24 70017f70: eb04 0844 add.w r8, r4, r4, lsl #1 70017f74: f8d9 0000 ldr.w r0, [r9] 70017f78: ea43 630a orr.w r3, r3, sl, lsl #24 70017f7c: b292 uxth r2, r2 70017f7e: eb00 00c8 add.w r0, r0, r8, lsl #3 70017f82: 4313 orrs r3, r2 70017f84: 0124 lsls r4, r4, #4 70017f86: f8c0 a04c str.w sl, [r0, #76] @ 0x4c 70017f8a: ea4f 08c8 mov.w r8, r8, lsl #3 70017f8e: 6443 str r3, [r0, #68] @ 0x44 70017f90: 2301 movs r3, #1 70017f92: 6407 str r7, [r0, #64] @ 0x40 70017f94: 6483 str r3, [r0, #72] @ 0x48 70017f96: e9c0 650e strd r6, r5, [r0, #56] @ 0x38 70017f9a: 2003 movs r0, #3 70017f9c: f011 fcdc bl 70029958 70017fa0: b170 cbz r0, 70017fc0 70017fa2: f104 0208 add.w r2, r4, #8 70017fa6: ea45 4507 orr.w r5, r5, r7, lsl #16 70017faa: e9c0 4600 strd r4, r6, [r0] 70017fae: f8d9 3000 ldr.w r3, [r9] 70017fb2: 3404 adds r4, #4 70017fb4: 4443 add r3, r8 70017fb6: 6084 str r4, [r0, #8] 70017fb8: 6c5b ldr r3, [r3, #68] @ 0x44 70017fba: e9c0 2504 strd r2, r5, [r0, #16] 70017fbe: 60c3 str r3, [r0, #12] 70017fc0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 70017fc4: f00a 037f and.w r3, sl, #127 @ 0x7f 70017fc8: f8df 9048 ldr.w r9, [pc, #72] @ 70018014 70017fcc: f1a3 0216 sub.w r2, r3, #22 70017fd0: f8d9 1000 ldr.w r1, [r9] 70017fd4: 2a01 cmp r2, #1 70017fd6: d912 bls.n 70017ffe 70017fd8: 2b12 cmp r3, #18 70017fda: d010 beq.n 70017ffe 70017fdc: f00a 037e and.w r3, sl, #126 @ 0x7e 70017fe0: 2b4c cmp r3, #76 @ 0x4c 70017fe2: d011 beq.n 70018008 70017fe4: 7a48 ldrb r0, [r1, #9] 70017fe6: f001 f901 bl 700191ec 70017fea: e7be b.n 70017f6a 70017fec: 4641 mov r1, r8 70017fee: f00a 007f and.w r0, sl, #127 @ 0x7f 70017ff2: f7ff ff35 bl 70017e60 70017ff6: 9009 str r0, [sp, #36] @ 0x24 70017ff8: 2c00 cmp r4, #0 70017ffa: d0e3 beq.n 70017fc4 70017ffc: e7b3 b.n 70017f66 70017ffe: 2001 movs r0, #1 70018000: 7208 strb r0, [r1, #8] 70018002: f001 f8f3 bl 700191ec 70018006: e7b0 b.n 70017f6a 70018008: 2001 movs r0, #1 7001800a: 7208 strb r0, [r1, #8] 7001800c: f001 f902 bl 70019214 70018010: e7ab b.n 70017f6a 70018012: bf00 nop 70018014: 2400db24 .word 0x2400db24 70018018 : 70018018: 061b lsls r3, r3, #24 7001801a: ea43 4302 orr.w r3, r3, r2, lsl #16 7001801e: 4318 orrs r0, r3 70018020: ea40 2001 orr.w r0, r0, r1, lsl #8 70018024: 4770 bx lr 70018026: bf00 nop 70018028 : 70018028: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 7001802c: 9d08 ldr r5, [sp, #32] 7001802e: 4699 mov r9, r3 70018030: 4606 mov r6, r0 70018032: 4688 mov r8, r1 70018034: 1c6b adds r3, r5, #1 70018036: 4617 mov r7, r2 70018038: f89d 4024 ldrb.w r4, [sp, #36] @ 0x24 7001803c: d106 bne.n 7001804c 7001803e: 460a mov r2, r1 70018040: f009 007f and.w r0, r9, #127 @ 0x7f 70018044: 4621 mov r1, r4 70018046: f7ff ff0b bl 70017e60 7001804a: 4605 mov r5, r0 7001804c: 0424 lsls r4, r4, #16 7001804e: f8df a048 ldr.w sl, [pc, #72] @ 70018098 70018052: b2ad uxth r5, r5 70018054: 2301 movs r3, #1 70018056: ea44 6409 orr.w r4, r4, r9, lsl #24 7001805a: 2003 movs r0, #3 7001805c: 432c orrs r4, r5 7001805e: f8da 5000 ldr.w r5, [sl] 70018062: e9c5 4317 strd r4, r3, [r5, #92] @ 0x5c 70018066: f8c5 9064 str.w r9, [r5, #100] @ 0x64 7001806a: 65af str r7, [r5, #88] @ 0x58 7001806c: e9c5 6814 strd r6, r8, [r5, #80] @ 0x50 70018070: f011 fc72 bl 70029958 70018074: b168 cbz r0, 70018092 70018076: 2214 movs r2, #20 70018078: ea48 4707 orr.w r7, r8, r7, lsl #16 7001807c: 2118 movs r1, #24 7001807e: 6046 str r6, [r0, #4] 70018080: 6082 str r2, [r0, #8] 70018082: 2210 movs r2, #16 70018084: 6002 str r2, [r0, #0] 70018086: f8da 2000 ldr.w r2, [sl] 7001808a: 6dd2 ldr r2, [r2, #92] @ 0x5c 7001808c: e9c0 1704 strd r1, r7, [r0, #16] 70018090: 60c2 str r2, [r0, #12] 70018092: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 70018096: bf00 nop 70018098: 2400db24 .word 0x2400db24 7001809c : 7001809c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 700180a0: 9c08 ldr r4, [sp, #32] 700180a2: 4698 mov r8, r3 700180a4: f003 0a7f and.w sl, r3, #127 @ 0x7f 700180a8: 4606 mov r6, r0 700180aa: 1c63 adds r3, r4, #1 700180ac: 460d mov r5, r1 700180ae: 4617 mov r7, r2 700180b0: d105 bne.n 700180be 700180b2: 460a mov r2, r1 700180b4: 4650 mov r0, sl 700180b6: 2100 movs r1, #0 700180b8: f7ff fed2 bl 70017e60 700180bc: 4604 mov r4, r0 700180be: f1aa 0316 sub.w r3, sl, #22 700180c2: f8df 9074 ldr.w r9, [pc, #116] @ 70018138 700180c6: 2b01 cmp r3, #1 700180c8: f8d9 2000 ldr.w r2, [r9] 700180cc: d90a bls.n 700180e4 700180ce: f1ba 0f12 cmp.w sl, #18 700180d2: d007 beq.n 700180e4 700180d4: f008 037e and.w r3, r8, #126 @ 0x7e 700180d8: 2b4c cmp r3, #76 @ 0x4c 700180da: d028 beq.n 7001812e 700180dc: 7a50 ldrb r0, [r2, #9] 700180de: f001 f885 bl 700191ec 700180e2: e003 b.n 700180ec 700180e4: 2001 movs r0, #1 700180e6: 7210 strb r0, [r2, #8] 700180e8: f001 f880 bl 700191ec 700180ec: b2a4 uxth r4, r4 700180ee: f8d9 2000 ldr.w r2, [r9] 700180f2: 2301 movs r3, #1 700180f4: 2003 movs r0, #3 700180f6: ea44 6408 orr.w r4, r4, r8, lsl #24 700180fa: f8c2 804c str.w r8, [r2, #76] @ 0x4c 700180fe: 6417 str r7, [r2, #64] @ 0x40 70018100: 6454 str r4, [r2, #68] @ 0x44 70018102: 6493 str r3, [r2, #72] @ 0x48 70018104: e9c2 650e strd r6, r5, [r2, #56] @ 0x38 70018108: f011 fc26 bl 70029958 7001810c: b168 cbz r0, 7001812a 7001810e: 2304 movs r3, #4 70018110: ea45 4507 orr.w r5, r5, r7, lsl #16 70018114: 2208 movs r2, #8 70018116: 6046 str r6, [r0, #4] 70018118: 6083 str r3, [r0, #8] 7001811a: 2300 movs r3, #0 7001811c: 6003 str r3, [r0, #0] 7001811e: f8d9 3000 ldr.w r3, [r9] 70018122: 6c5b ldr r3, [r3, #68] @ 0x44 70018124: e9c0 2504 strd r2, r5, [r0, #16] 70018128: 60c3 str r3, [r0, #12] 7001812a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 7001812e: 2001 movs r0, #1 70018130: 7210 strb r0, [r2, #8] 70018132: f001 f86f bl 70019214 70018136: e7d9 b.n 700180ec 70018138: 2400db24 .word 0x2400db24 7001813c : 7001813c: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 70018140: 461f mov r7, r3 70018142: 3b0b subs r3, #11 70018144: 4680 mov r8, r0 70018146: 460e mov r6, r1 70018148: 2b2a cmp r3, #42 @ 0x2a 7001814a: 4691 mov r9, r2 7001814c: f8dd b028 ldr.w fp, [sp, #40] @ 0x28 70018150: f89d 402c ldrb.w r4, [sp, #44] @ 0x2c 70018154: 980d ldr r0, [sp, #52] @ 0x34 70018156: d857 bhi.n 70018208 70018158: 4a2f ldr r2, [pc, #188] @ (70018218 ) 7001815a: f832 5013 ldrh.w r5, [r2, r3, lsl #1] 7001815e: 462a mov r2, r5 70018160: 0601 lsls r1, r0, #24 70018162: f8df a0b8 ldr.w sl, [pc, #184] @ 7001821c 70018166: 07e3 lsls r3, r4, #31 70018168: f441 2180 orr.w r1, r1, #262144 @ 0x40000 7001816c: f8da 3000 ldr.w r3, [sl] 70018170: bf48 it mi 70018172: f004 04fe andmi.w r4, r4, #254 @ 0xfe 70018176: 66da str r2, [r3, #108] @ 0x6c 70018178: 6759 str r1, [r3, #116] @ 0x74 7001817a: 2101 movs r1, #1 7001817c: 9a0c ldr r2, [sp, #48] @ 0x30 7001817e: 67d8 str r0, [r3, #124] @ 0x7c 70018180: 2003 movs r0, #3 70018182: 669a str r2, [r3, #104] @ 0x68 70018184: 6719 str r1, [r3, #112] @ 0x70 70018186: 6799 str r1, [r3, #120] @ 0x78 70018188: f011 fbe6 bl 70029958 7001818c: 2800 cmp r0, #0 7001818e: d03f beq.n 70018210 70018190: 9b0c ldr r3, [sp, #48] @ 0x30 70018192: f445 3280 orr.w r2, r5, #65536 @ 0x10000 70018196: 2128 movs r1, #40 @ 0x28 70018198: 6043 str r3, [r0, #4] 7001819a: 2320 movs r3, #32 7001819c: 6003 str r3, [r0, #0] 7001819e: 2324 movs r3, #36 @ 0x24 700181a0: f8da 5000 ldr.w r5, [sl] 700181a4: 6083 str r3, [r0, #8] 700181a6: 6f6b ldr r3, [r5, #116] @ 0x74 700181a8: e9c0 1204 strd r1, r2, [r0, #16] 700181ac: 60c3 str r3, [r0, #12] 700181ae: f1bb 3fff cmp.w fp, #4294967295 @ 0xffffffff 700181b2: d106 bne.n 700181c2 700181b4: 4632 mov r2, r6 700181b6: 4621 mov r1, r4 700181b8: f007 007f and.w r0, r7, #127 @ 0x7f 700181bc: f7ff fe50 bl 70017e60 700181c0: 4683 mov fp, r0 700181c2: 0424 lsls r4, r4, #16 700181c4: 2301 movs r3, #1 700181c6: fa1f fb8b uxth.w fp, fp 700181ca: 2003 movs r0, #3 700181cc: ea44 6407 orr.w r4, r4, r7, lsl #24 700181d0: 666f str r7, [r5, #100] @ 0x64 700181d2: 662b str r3, [r5, #96] @ 0x60 700181d4: ea44 040b orr.w r4, r4, fp 700181d8: e9c5 8614 strd r8, r6, [r5, #80] @ 0x50 700181dc: e9c5 9416 strd r9, r4, [r5, #88] @ 0x58 700181e0: f011 fbba bl 70029958 700181e4: b170 cbz r0, 70018204 700181e6: 2314 movs r3, #20 700181e8: ea46 4609 orr.w r6, r6, r9, lsl #16 700181ec: 2218 movs r2, #24 700181ee: f8c0 8004 str.w r8, [r0, #4] 700181f2: 6083 str r3, [r0, #8] 700181f4: 2310 movs r3, #16 700181f6: 6003 str r3, [r0, #0] 700181f8: f8da 3000 ldr.w r3, [sl] 700181fc: 6ddb ldr r3, [r3, #92] @ 0x5c 700181fe: e9c0 2604 strd r2, r6, [r0, #16] 70018202: 60c3 str r3, [r0, #12] 70018204: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 70018208: f44f 7280 mov.w r2, #256 @ 0x100 7001820c: 4615 mov r5, r2 7001820e: e7a7 b.n 70018160 70018210: f8da 5000 ldr.w r5, [sl] 70018214: e7cb b.n 700181ae 70018216: bf00 nop 70018218: 7003ffcc .word 0x7003ffcc 7001821c: 2400db24 .word 0x2400db24 70018220 : 70018220: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70018224: ed2d 8b0c vpush {d8-d13} 70018228: eeb0 da60 vmov.f32 s26, s1 7001822c: b08d sub sp, #52 @ 0x34 7001822e: eef0 ca41 vmov.f32 s25, s2 70018232: eeb0 ca61 vmov.f32 s24, s3 70018236: eef0 ba42 vmov.f32 s23, s4 7001823a: eeb0 ba62 vmov.f32 s22, s5 7001823e: eef0 aa43 vmov.f32 s21, s6 70018242: eeb0 aa63 vmov.f32 s20, s7 70018246: eef0 9a44 vmov.f32 s19, s8 7001824a: eeb0 9a64 vmov.f32 s18, s9 7001824e: eef0 8a45 vmov.f32 s17, s10 70018252: eeb0 8a65 vmov.f32 s16, s11 70018256: f000 fc81 bl 70018b5c 7001825a: eeb0 0a4d vmov.f32 s0, s26 7001825e: 9009 str r0, [sp, #36] @ 0x24 70018260: f000 fc7c bl 70018b5c 70018264: eeb0 0a6c vmov.f32 s0, s25 70018268: 900b str r0, [sp, #44] @ 0x2c 7001826a: f000 fc77 bl 70018b5c 7001826e: eeb0 0a4c vmov.f32 s0, s24 70018272: 900a str r0, [sp, #40] @ 0x28 70018274: f000 fc72 bl 70018b5c 70018278: eeb0 0a6b vmov.f32 s0, s23 7001827c: 4680 mov r8, r0 7001827e: f000 fc6d bl 70018b5c 70018282: eeb0 0a4b vmov.f32 s0, s22 70018286: 4604 mov r4, r0 70018288: f000 fc68 bl 70018b5c 7001828c: eeb0 0a6a vmov.f32 s0, s21 70018290: 4681 mov r9, r0 70018292: f000 fc63 bl 70018b5c 70018296: eeb0 0a4a vmov.f32 s0, s20 7001829a: 4682 mov sl, r0 7001829c: f000 fc5e bl 70018b5c 700182a0: eeb0 0a69 vmov.f32 s0, s19 700182a4: 4683 mov fp, r0 700182a6: f000 fc59 bl 70018b5c 700182aa: eeb0 0a49 vmov.f32 s0, s18 700182ae: 4605 mov r5, r0 700182b0: f000 fc54 bl 70018b5c 700182b4: eeb0 0a68 vmov.f32 s0, s17 700182b8: 4606 mov r6, r0 700182ba: f000 fc4f bl 70018b5c 700182be: eeb0 0a48 vmov.f32 s0, s16 700182c2: 4607 mov r7, r0 700182c4: f000 fc4a bl 70018b5c 700182c8: 4643 mov r3, r8 700182ca: 9007 str r0, [sp, #28] 700182cc: 9809 ldr r0, [sp, #36] @ 0x24 700182ce: 9504 str r5, [sp, #16] 700182d0: f8cd 9004 str.w r9, [sp, #4] 700182d4: 9400 str r4, [sp, #0] 700182d6: e9dd 210a ldrd r2, r1, [sp, #40] @ 0x28 700182da: e9cd 6705 strd r6, r7, [sp, #20] 700182de: e9cd ab02 strd sl, fp, [sp, #8] 700182e2: f001 f929 bl 70019538 700182e6: b00d add sp, #52 @ 0x34 700182e8: ecbd 8b0c vpop {d8-d13} 700182ec: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700182f0 : 700182f0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 700182f4: 4604 mov r4, r0 700182f6: 460d mov r5, r1 700182f8: 4616 mov r6, r2 700182fa: 461f mov r7, r3 700182fc: 9806 ldr r0, [sp, #24] 700182fe: f001 f95f bl 700195c0 70018302: 463b mov r3, r7 70018304: 4632 mov r2, r6 70018306: 4629 mov r1, r5 70018308: 4620 mov r0, r4 7001830a: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} 7001830e: f001 b9f1 b.w 700196f4 70018312: bf00 nop 70018314 : 70018314: ee07 0a90 vmov s15, r0 70018318: eeb8 0ae7 vcvt.f32.s32 s0, s15 7001831c: ee07 1a90 vmov s15, r1 70018320: b500 push {lr} 70018322: b083 sub sp, #12 70018324: eef8 0ae7 vcvt.f32.s32 s1, s15 70018328: 9001 str r0, [sp, #4] 7001832a: 9100 str r1, [sp, #0] 7001832c: f001 f8a0 bl 70019470 70018330: 4b05 ldr r3, [pc, #20] @ (70018348 ) 70018332: 681a ldr r2, [r3, #0] 70018334: e9dd 1000 ldrd r1, r0, [sp] 70018338: e9d2 2315 ldrd r2, r3, [r2, #84] @ 0x54 7001833c: b003 add sp, #12 7001833e: f85d eb04 ldr.w lr, [sp], #4 70018342: f001 b9d7 b.w 700196f4 70018346: bf00 nop 70018348: 2400db24 .word 0x2400db24 7001834c : 7001834c: ee07 0a90 vmov s15, r0 70018350: eddf 2a16 vldr s5, [pc, #88] @ 700183ac 70018354: eeb8 0ae7 vcvt.f32.s32 s0, s15 70018358: ee07 2a90 vmov s15, r2 7001835c: eeb0 2a62 vmov.f32 s4, s5 70018360: eeb8 1ae7 vcvt.f32.s32 s2, s15 70018364: ee07 1a90 vmov s15, r1 70018368: b510 push {r4, lr} 7001836a: 4c11 ldr r4, [pc, #68] @ (700183b0 ) 7001836c: eef8 0ae7 vcvt.f32.s32 s1, s15 70018370: ee07 3a90 vmov s15, r3 70018374: b084 sub sp, #16 70018376: 6824 ldr r4, [r4, #0] 70018378: eef8 1ae7 vcvt.f32.s32 s3, s15 7001837c: 9003 str r0, [sp, #12] 7001837e: edd4 7a16 vldr s15, [r4, #88] @ 0x58 70018382: ed94 3a15 vldr s6, [r4, #84] @ 0x54 70018386: eef8 3ae7 vcvt.f32.s32 s7, s15 7001838a: 9202 str r2, [sp, #8] 7001838c: eeb8 3ac3 vcvt.f32.s32 s6, s6 70018390: 9101 str r1, [sp, #4] 70018392: 9300 str r3, [sp, #0] 70018394: f001 f842 bl 7001941c 70018398: 9b00 ldr r3, [sp, #0] 7001839a: 9803 ldr r0, [sp, #12] 7001839c: e9dd 1201 ldrd r1, r2, [sp, #4] 700183a0: b004 add sp, #16 700183a2: e8bd 4010 ldmia.w sp!, {r4, lr} 700183a6: f001 b9a5 b.w 700196f4 700183aa: bf00 nop 700183ac: 00000000 .word 0x00000000 700183b0: 2400db24 .word 0x2400db24 700183b4 : 700183b4: 4b63 ldr r3, [pc, #396] @ (70018544 ) 700183b6: 3a01 subs r2, #1 700183b8: b5f0 push {r4, r5, r6, r7, lr} 700183ba: 681b ldr r3, [r3, #0] 700183bc: b08b sub sp, #44 @ 0x2c 700183be: 4604 mov r4, r0 700183c0: 460d mov r5, r1 700183c2: e9d3 7615 ldrd r7, r6, [r3, #84] @ 0x54 700183c6: 2a0e cmp r2, #14 700183c8: f200 80a6 bhi.w 70018518 700183cc: e8df f002 tbb [pc, r2] 700183d0: 6a594736 .word 0x6a594736 700183d4: 9008907e .word 0x9008907e 700183d8: 477e6a08 .word 0x477e6a08 700183dc: a459 .short 0xa459 700183de: 36 .byte 0x36 700183df: 00 .byte 0x00 700183e0: 187b adds r3, r7, r1 700183e2: 2200 movs r2, #0 700183e4: ee07 3a10 vmov s14, r3 700183e8: 1833 adds r3, r6, r0 700183ea: 4611 mov r1, r2 700183ec: ee07 3a90 vmov s15, r3 700183f0: 4b55 ldr r3, [pc, #340] @ (70018548 ) 700183f2: eeb8 7ac7 vcvt.f32.s32 s14, s14 700183f6: eef8 7ae7 vcvt.f32.s32 s15, s15 700183fa: 4618 mov r0, r3 700183fc: eddf 6a53 vldr s13, [pc, #332] @ 7001854c 70018400: 9302 str r3, [sp, #8] 70018402: f04f 537e mov.w r3, #1065353216 @ 0x3f800000 70018406: ee37 7a26 vadd.f32 s14, s14, s13 7001840a: 9004 str r0, [sp, #16] 7001840c: ee77 7aa6 vadd.f32 s15, s15, s13 70018410: a801 add r0, sp, #4 70018412: 9201 str r2, [sp, #4] 70018414: 9105 str r1, [sp, #20] 70018416: edcd 6a07 vstr s13, [sp, #28] 7001841a: edcd 6a08 vstr s13, [sp, #32] 7001841e: ed8d 7a03 vstr s14, [sp, #12] 70018422: edcd 7a06 vstr s15, [sp, #24] 70018426: 9309 str r3, [sp, #36] @ 0x24 70018428: f000 ff46 bl 700192b8 7001842c: 463b mov r3, r7 7001842e: 4632 mov r2, r6 70018430: 4629 mov r1, r5 70018432: 4620 mov r0, r4 70018434: f001 f95e bl 700196f4 70018438: b00b add sp, #44 @ 0x2c 7001843a: bdf0 pop {r4, r5, r6, r7, pc} 7001843c: ee07 0a90 vmov s15, r0 70018440: 187b adds r3, r7, r1 70018442: 2200 movs r2, #0 70018444: f04f 507e mov.w r0, #1065353216 @ 0x3f800000 70018448: eef8 7ae7 vcvt.f32.s32 s15, s15 7001844c: ee07 3a10 vmov s14, r3 70018450: 4611 mov r1, r2 70018452: 4b3d ldr r3, [pc, #244] @ (70018548 ) 70018454: eeb8 7ac7 vcvt.f32.s32 s14, s14 70018458: eef1 7a67 vneg.f32 s15, s15 7001845c: e7ce b.n 700183fc 7001845e: 183b adds r3, r7, r0 70018460: 4a39 ldr r2, [pc, #228] @ (70018548 ) 70018462: ee07 3a10 vmov s14, r3 70018466: 1873 adds r3, r6, r1 70018468: 4611 mov r1, r2 7001846a: ee07 3a90 vmov s15, r3 7001846e: 4633 mov r3, r6 70018470: 463e mov r6, r7 70018472: eeb8 7ac7 vcvt.f32.s32 s14, s14 70018476: 461f mov r7, r3 70018478: 2300 movs r3, #0 7001847a: eef8 7ae7 vcvt.f32.s32 s15, s15 7001847e: 4618 mov r0, r3 70018480: e7bc b.n 700183fc 70018482: ee07 1a10 vmov s14, r1 70018486: 1833 adds r3, r6, r0 70018488: 2200 movs r2, #0 7001848a: 482f ldr r0, [pc, #188] @ (70018548 ) 7001848c: eeb8 7ac7 vcvt.f32.s32 s14, s14 70018490: ee07 3a90 vmov s15, r3 70018494: 4611 mov r1, r2 70018496: f04f 537e mov.w r3, #1065353216 @ 0x3f800000 7001849a: eef8 7ae7 vcvt.f32.s32 s15, s15 7001849e: eeb1 7a47 vneg.f32 s14, s14 700184a2: e7ab b.n 700183fc 700184a4: 1873 adds r3, r6, r1 700184a6: ee07 0a10 vmov s14, r0 700184aa: f04f 527e mov.w r2, #1065353216 @ 0x3f800000 700184ae: 4926 ldr r1, [pc, #152] @ (70018548 ) 700184b0: ee07 3a90 vmov s15, r3 700184b4: 4633 mov r3, r6 700184b6: eeb8 7ac7 vcvt.f32.s32 s14, s14 700184ba: 463e mov r6, r7 700184bc: 461f mov r7, r3 700184be: 2300 movs r3, #0 700184c0: eef8 7ae7 vcvt.f32.s32 s15, s15 700184c4: eeb1 7a47 vneg.f32 s14, s14 700184c8: 4618 mov r0, r3 700184ca: e797 b.n 700183fc 700184cc: ee07 1a90 vmov s15, r1 700184d0: 2200 movs r2, #0 700184d2: f04f 537e mov.w r3, #1065353216 @ 0x3f800000 700184d6: eeb8 7ae7 vcvt.f32.s32 s14, s15 700184da: ee07 0a90 vmov s15, r0 700184de: 4611 mov r1, r2 700184e0: 4618 mov r0, r3 700184e2: eef8 7ae7 vcvt.f32.s32 s15, s15 700184e6: eeb1 7a47 vneg.f32 s14, s14 700184ea: eef1 7a67 vneg.f32 s15, s15 700184ee: e785 b.n 700183fc 700184f0: 183b adds r3, r7, r0 700184f2: ee07 1a90 vmov s15, r1 700184f6: 4a14 ldr r2, [pc, #80] @ (70018548 ) 700184f8: f04f 517e mov.w r1, #1065353216 @ 0x3f800000 700184fc: ee07 3a10 vmov s14, r3 70018500: 4633 mov r3, r6 70018502: eef8 7ae7 vcvt.f32.s32 s15, s15 70018506: 463e mov r6, r7 70018508: 461f mov r7, r3 7001850a: 2300 movs r3, #0 7001850c: eeb8 7ac7 vcvt.f32.s32 s14, s14 70018510: eef1 7a67 vneg.f32 s15, s15 70018514: 4618 mov r0, r3 70018516: e771 b.n 700183fc 70018518: ee07 0a90 vmov s15, r0 7001851c: 4633 mov r3, r6 7001851e: f04f 527e mov.w r2, #1065353216 @ 0x3f800000 70018522: 463e mov r6, r7 70018524: eeb8 7ae7 vcvt.f32.s32 s14, s15 70018528: ee07 1a90 vmov s15, r1 7001852c: 461f mov r7, r3 7001852e: 2300 movs r3, #0 70018530: eef8 7ae7 vcvt.f32.s32 s15, s15 70018534: 4611 mov r1, r2 70018536: eeb1 7a47 vneg.f32 s14, s14 7001853a: 4618 mov r0, r3 7001853c: eef1 7a67 vneg.f32 s15, s15 70018540: e75c b.n 700183fc 70018542: bf00 nop 70018544: 2400db24 .word 0x2400db24 70018548: bf800000 .word 0xbf800000 7001854c: 00000000 .word 0x00000000 70018550 : 70018550: ea41 0302 orr.w r3, r1, r2 70018554: 4303 orrs r3, r0 70018556: 2b03 cmp r3, #3 70018558: d87c bhi.n 70018654 7001855a: 4b3f ldr r3, [pc, #252] @ (70018658 ) 7001855c: eeb7 6a00 vmov.f32 s12, #112 @ 0x3f800000 1.0 70018560: eef0 5a62 vmov.f32 s11, s5 70018564: eeb0 5a42 vmov.f32 s10, s4 70018568: eeb0 3a61 vmov.f32 s6, s3 7001856c: eef0 3a46 vmov.f32 s7, s12 70018570: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70018574: ed2d 8b06 vpush {d8-d10} 70018578: b08a sub sp, #40 @ 0x28 7001857a: eef0 9a41 vmov.f32 s19, s2 7001857e: f04f 0e00 mov.w lr, #0 70018582: eef0 aa40 vmov.f32 s21, s0 70018586: ac0a add r4, sp, #40 @ 0x28 70018588: eeb0 aa60 vmov.f32 s20, s1 7001858c: f8cd e008 str.w lr, [sp, #8] 70018590: eeb0 1a46 vmov.f32 s2, s12 70018594: eb04 0282 add.w r2, r4, r2, lsl #2 70018598: 681c ldr r4, [r3, #0] 7001859a: ab0a add r3, sp, #40 @ 0x28 7001859c: f8cd e014 str.w lr, [sp, #20] 700185a0: f8cd e018 str.w lr, [sp, #24] 700185a4: eeb0 9a61 vmov.f32 s18, s3 700185a8: eb03 0c81 add.w ip, r3, r1, lsl #2 700185ac: f8cd e01c str.w lr, [sp, #28] 700185b0: eb03 0380 add.w r3, r3, r0, lsl #2 700185b4: eef0 8a42 vmov.f32 s17, s4 700185b8: eeb0 8a62 vmov.f32 s16, s5 700185bc: eef0 2a69 vmov.f32 s5, s19 700185c0: e9d4 0115 ldrd r0, r1, [r4, #84] @ 0x54 700185c4: ee07 1a90 vmov s15, r1 700185c8: eeb8 7ae7 vcvt.f32.s32 s14, s15 700185cc: ee07 0a90 vmov s15, r0 700185d0: eef8 7ae7 vcvt.f32.s32 s15, s15 700185d4: ed8d 7a08 vstr s14, [sp, #32] 700185d8: ed8d 7a09 vstr s14, [sp, #36] @ 0x24 700185dc: edcd 7a03 vstr s15, [sp, #12] 700185e0: edcd 7a04 vstr s15, [sp, #16] 700185e4: ed12 7a04 vldr s14, [r2, #-16] 700185e8: ed52 6a08 vldr s13, [r2, #-32] @ 0xffffffe0 700185ec: ed13 2a04 vldr s4, [r3, #-16] 700185f0: ed53 1a08 vldr s3, [r3, #-32] @ 0xffffffe0 700185f4: ed5c 4a04 vldr s9, [ip, #-16] 700185f8: ed1c 4a08 vldr s8, [ip, #-32] @ 0xffffffe0 700185fc: f000 f8d0 bl 700187a0 70018600: eeb0 0a6a vmov.f32 s0, s21 70018604: f000 faaa bl 70018b5c 70018608: eeb0 0a4a vmov.f32 s0, s20 7001860c: 4604 mov r4, r0 7001860e: f000 faa5 bl 70018b5c 70018612: eeb0 0a69 vmov.f32 s0, s19 70018616: 4605 mov r5, r0 70018618: f000 faa0 bl 70018b5c 7001861c: eeb0 0a49 vmov.f32 s0, s18 70018620: 4606 mov r6, r0 70018622: f000 fa9b bl 70018b5c 70018626: eeb0 0a68 vmov.f32 s0, s17 7001862a: 4607 mov r7, r0 7001862c: f000 fa96 bl 70018b5c 70018630: 4680 mov r8, r0 70018632: eeb0 0a48 vmov.f32 s0, s16 70018636: f000 fa91 bl 70018b5c 7001863a: 463b mov r3, r7 7001863c: 4632 mov r2, r6 7001863e: 4629 mov r1, r5 70018640: e9cd 8000 strd r8, r0, [sp] 70018644: 4620 mov r0, r4 70018646: f001 f81f bl 70019688 7001864a: b00a add sp, #40 @ 0x28 7001864c: ecbd 8b06 vpop {d8-d10} 70018650: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 70018654: 4770 bx lr 70018656: bf00 nop 70018658: 2400db24 .word 0x2400db24 7001865c : 7001865c: 4b2b ldr r3, [pc, #172] @ (7001870c ) 7001865e: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 70018662: ed2d 8b08 vpush {d8-d11} 70018666: b08e sub sp, #56 @ 0x38 70018668: 681b ldr r3, [r3, #0] 7001866a: eef0 ba40 vmov.f32 s23, s0 7001866e: aa05 add r2, sp, #20 70018670: eeb0 ba60 vmov.f32 s22, s1 70018674: eef0 aa41 vmov.f32 s21, s2 70018678: eeb0 aa61 vmov.f32 s20, s3 7001867c: eef0 9a42 vmov.f32 s19, s4 70018680: eeb0 9a62 vmov.f32 s18, s5 70018684: eef0 8a43 vmov.f32 s17, s6 70018688: eeb0 8a63 vmov.f32 s16, s7 7001868c: e9d3 0115 ldrd r0, r1, [r3, #84] @ 0x54 70018690: f000 fcac bl 70018fec 70018694: bba0 cbnz r0, 70018700 70018696: a805 add r0, sp, #20 70018698: f000 fe0e bl 700192b8 7001869c: eeb0 0a6b vmov.f32 s0, s23 700186a0: f000 fa5c bl 70018b5c 700186a4: eeb0 0a4b vmov.f32 s0, s22 700186a8: 4604 mov r4, r0 700186aa: f000 fa57 bl 70018b5c 700186ae: eeb0 0a6a vmov.f32 s0, s21 700186b2: 4605 mov r5, r0 700186b4: f000 fa52 bl 70018b5c 700186b8: eeb0 0a4a vmov.f32 s0, s20 700186bc: 4606 mov r6, r0 700186be: f000 fa4d bl 70018b5c 700186c2: eeb0 0a69 vmov.f32 s0, s19 700186c6: 4607 mov r7, r0 700186c8: f000 fa48 bl 70018b5c 700186cc: eeb0 0a49 vmov.f32 s0, s18 700186d0: 4680 mov r8, r0 700186d2: f000 fa43 bl 70018b5c 700186d6: eeb0 0a68 vmov.f32 s0, s17 700186da: 4681 mov r9, r0 700186dc: f000 fa3e bl 70018b5c 700186e0: 4682 mov sl, r0 700186e2: eeb0 0a48 vmov.f32 s0, s16 700186e6: f000 fa39 bl 70018b5c 700186ea: 463b mov r3, r7 700186ec: 9003 str r0, [sp, #12] 700186ee: 4632 mov r2, r6 700186f0: 4629 mov r1, r5 700186f2: 4620 mov r0, r4 700186f4: f8cd 8000 str.w r8, [sp] 700186f8: e9cd 9a01 strd r9, sl, [sp, #4] 700186fc: f001 f896 bl 7001982c 70018700: b00e add sp, #56 @ 0x38 70018702: ecbd 8b08 vpop {d8-d11} 70018706: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 7001870a: bf00 nop 7001870c: 2400db24 .word 0x2400db24 70018710 : 70018710: b410 push {r4} 70018712: 9903 ldr r1, [sp, #12] 70018714: ee07 2a90 vmov s15, r2 70018718: ee07 3a10 vmov s14, r3 7001871c: edd1 5a03 vldr s11, [r1, #12] 70018720: eef8 7ae7 vcvt.f32.s32 s15, s15 70018724: edd1 4a02 vldr s9, [r1, #8] 70018728: eeb8 7ac7 vcvt.f32.s32 s14, s14 7001872c: edd1 3a01 vldr s7, [r1, #4] 70018730: edd1 2a00 vldr s5, [r1] 70018734: e9dd 0401 ldrd r0, r4, [sp, #4] 70018738: ed94 2a00 vldr s4, [r4] 7001873c: ed94 3a01 vldr s6, [r4, #4] 70018740: ed94 4a02 vldr s8, [r4, #8] 70018744: ee72 2ac2 vsub.f32 s5, s5, s4 70018748: ed94 5a03 vldr s10, [r4, #12] 7001874c: ee73 3ac3 vsub.f32 s7, s7, s6 70018750: ed90 0a00 vldr s0, [r0] 70018754: ee74 4ac4 vsub.f32 s9, s9, s8 70018758: edd0 0a01 vldr s1, [r0, #4] 7001875c: ee75 5ac5 vsub.f32 s11, s11, s10 70018760: ed90 1a02 vldr s2, [r0, #8] 70018764: ee32 2a40 vsub.f32 s4, s4, s0 70018768: edd0 1a03 vldr s3, [r0, #12] 7001876c: ee33 3a60 vsub.f32 s6, s6, s1 70018770: ee34 4a41 vsub.f32 s8, s8, s2 70018774: f85d 4b04 ldr.w r4, [sp], #4 70018778: ee35 5a61 vsub.f32 s10, s10, s3 7001877c: eec5 5a87 vdiv.f32 s11, s11, s14 70018780: ee85 5a27 vdiv.f32 s10, s10, s15 70018784: eec4 4a87 vdiv.f32 s9, s9, s14 70018788: ee84 4a27 vdiv.f32 s8, s8, s15 7001878c: eec3 3a87 vdiv.f32 s7, s7, s14 70018790: eec2 2a87 vdiv.f32 s5, s5, s14 70018794: ee83 3a27 vdiv.f32 s6, s6, s15 70018798: ee82 2a27 vdiv.f32 s4, s4, s15 7001879c: f7ff bd40 b.w 70018220 700187a0 : 700187a0: eeb5 1ac0 vcmpe.f32 s2, #0.0 700187a4: eef1 fa10 vmrs APSR_nzcv, fpscr 700187a8: d46e bmi.n 70018888 700187aa: eddf 7a3f vldr s15, [pc, #252] @ 700188a8 700187ae: eeb4 1ae7 vcmpe.f32 s2, s15 700187b2: eef1 fa10 vmrs APSR_nzcv, fpscr 700187b6: d966 bls.n 70018886 700187b8: eef5 3ac0 vcmpe.f32 s7, #0.0 700187bc: eef1 fa10 vmrs APSR_nzcv, fpscr 700187c0: d459 bmi.n 70018876 700187c2: eddf 7a39 vldr s15, [pc, #228] @ 700188a8 700187c6: eef4 3ae7 vcmpe.f32 s7, s15 700187ca: eef1 fa10 vmrs APSR_nzcv, fpscr 700187ce: d95a bls.n 70018886 700187d0: eeb5 6ac0 vcmpe.f32 s12, #0.0 700187d4: eef1 fa10 vmrs APSR_nzcv, fpscr 700187d8: d45e bmi.n 70018898 700187da: eddf 7a33 vldr s15, [pc, #204] @ 700188a8 700187de: eeb4 6ae7 vcmpe.f32 s12, s15 700187e2: eef1 fa10 vmrs APSR_nzcv, fpscr 700187e6: d94e bls.n 70018886 700187e8: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 700187ec: b500 push {lr} 700187ee: b093 sub sp, #76 @ 0x4c 700187f0: ed8d 0a09 vstr s0, [sp, #36] @ 0x24 700187f4: ee87 0a81 vdiv.f32 s0, s15, s2 700187f8: edcd 2a0a vstr s5, [sp, #40] @ 0x28 700187fc: a809 add r0, sp, #36 @ 0x24 700187fe: ed8d 5a0b vstr s10, [sp, #44] @ 0x2c 70018802: edcd 0a0c vstr s1, [sp, #48] @ 0x30 70018806: ed8d 3a0d vstr s6, [sp, #52] @ 0x34 7001880a: eec7 2aa3 vdiv.f32 s5, s15, s7 7001880e: edcd 5a0e vstr s11, [sp, #56] @ 0x38 70018812: edcd 7a0f vstr s15, [sp, #60] @ 0x3c 70018816: edcd 7a10 vstr s15, [sp, #64] @ 0x40 7001881a: edcd 7a11 vstr s15, [sp, #68] @ 0x44 7001881e: ee87 5a86 vdiv.f32 s10, s15, s12 70018822: ee60 1a21 vmul.f32 s3, s0, s3 70018826: ed8d 0a06 vstr s0, [sp, #24] 7001882a: ee20 2a02 vmul.f32 s4, s0, s4 7001882e: edcd 1a00 vstr s3, [sp] 70018832: ed8d 2a03 vstr s4, [sp, #12] 70018836: ee22 4a84 vmul.f32 s8, s5, s8 7001883a: edcd 2a07 vstr s5, [sp, #28] 7001883e: ee62 4aa4 vmul.f32 s9, s5, s9 70018842: ed8d 4a01 vstr s8, [sp, #4] 70018846: edcd 4a04 vstr s9, [sp, #16] 7001884a: ee65 6a26 vmul.f32 s13, s10, s13 7001884e: ed8d 5a08 vstr s10, [sp, #32] 70018852: ee25 7a07 vmul.f32 s14, s10, s14 70018856: edcd 6a02 vstr s13, [sp, #8] 7001885a: ed8d 7a05 vstr s14, [sp, #20] 7001885e: f000 facb bl 70018df8 70018862: a909 add r1, sp, #36 @ 0x24 70018864: 4668 mov r0, sp 70018866: f000 fa31 bl 70018ccc 7001886a: 4668 mov r0, sp 7001886c: f000 fd24 bl 700192b8 70018870: b013 add sp, #76 @ 0x4c 70018872: f85d fb04 ldr.w pc, [sp], #4 70018876: eddf 7a0d vldr s15, [pc, #52] @ 700188ac 7001887a: eef4 3ae7 vcmpe.f32 s7, s15 7001887e: eef1 fa10 vmrs APSR_nzcv, fpscr 70018882: dba5 blt.n 700187d0 70018884: 4770 bx lr 70018886: 4770 bx lr 70018888: eddf 7a08 vldr s15, [pc, #32] @ 700188ac 7001888c: eeb4 1ae7 vcmpe.f32 s2, s15 70018890: eef1 fa10 vmrs APSR_nzcv, fpscr 70018894: db90 blt.n 700187b8 70018896: 4770 bx lr 70018898: eddf 7a04 vldr s15, [pc, #16] @ 700188ac 7001889c: eeb4 6ae7 vcmpe.f32 s12, s15 700188a0: eef1 fa10 vmrs APSR_nzcv, fpscr 700188a4: dba0 blt.n 700187e8 700188a6: 4770 bx lr 700188a8: 3727c5ac .word 0x3727c5ac 700188ac: b727c5ac .word 0xb727c5ac 700188b0 : 700188b0: ed9f 7a39 vldr s14, [pc, #228] @ 70018998 700188b4: eddf 7a39 vldr s15, [pc, #228] @ 7001899c 700188b8: ee20 0a07 vmul.f32 s0, s0, s14 700188bc: ee30 0a67 vsub.f32 s0, s0, s15 700188c0: eeb5 0ac0 vcmpe.f32 s0, #0.0 700188c4: eef1 fa10 vmrs APSR_nzcv, fpscr 700188c8: d514 bpl.n 700188f4 700188ca: eef1 6a40 vneg.f32 s13, s0 700188ce: ed9f 7a34 vldr s14, [pc, #208] @ 700189a0 700188d2: eec6 7a87 vdiv.f32 s15, s13, s14 700188d6: eefd 7ae7 vcvt.s32.f32 s15, s15 700188da: ee17 3a90 vmov r3, s15 700188de: 3301 adds r3, #1 700188e0: ee07 3a90 vmov s15, r3 700188e4: eef8 7ae7 vcvt.f32.s32 s15, s15 700188e8: ee67 7a87 vmul.f32 s15, s15, s14 700188ec: ee30 0a67 vsub.f32 s0, s0, s15 700188f0: eeb1 0a40 vneg.f32 s0, s0 700188f4: ed9f 7a2a vldr s14, [pc, #168] @ 700189a0 700188f8: eeb4 0ac7 vcmpe.f32 s0, s14 700188fc: eef1 fa10 vmrs APSR_nzcv, fpscr 70018900: db09 blt.n 70018916 70018902: eec0 7a07 vdiv.f32 s15, s0, s14 70018906: eefd 7ae7 vcvt.s32.f32 s15, s15 7001890a: eef8 7ae7 vcvt.f32.s32 s15, s15 7001890e: ee67 7a87 vmul.f32 s15, s15, s14 70018912: ee30 0a67 vsub.f32 s0, s0, s15 70018916: eddf 7a23 vldr s15, [pc, #140] @ 700189a4 7001891a: eeb4 0ae7 vcmpe.f32 s0, s15 7001891e: eef1 fa10 vmrs APSR_nzcv, fpscr 70018922: db34 blt.n 7001898e 70018924: ee30 0a67 vsub.f32 s0, s0, s15 70018928: 2201 movs r2, #1 7001892a: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7001892e: eddf 7a1b vldr s15, [pc, #108] @ 7001899c 70018932: eeb4 0ae7 vcmpe.f32 s0, s15 70018936: eef1 fa10 vmrs APSR_nzcv, fpscr 7001893a: dd04 ble.n 70018946 7001893c: eddf 7a19 vldr s15, [pc, #100] @ 700189a4 70018940: 4613 mov r3, r2 70018942: ee37 0ac0 vsub.f32 s0, s15, s0 70018946: ee20 0a00 vmul.f32 s0, s0, s0 7001894a: ed9f 7a17 vldr s14, [pc, #92] @ 700189a8 7001894e: eddf 7a17 vldr s15, [pc, #92] @ 700189ac 70018952: eeb6 6a00 vmov.f32 s12, #96 @ 0x3f000000 0.5 70018956: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001895a: ee20 7a07 vmul.f32 s14, s0, s14 7001895e: ee77 7ac7 vsub.f32 s15, s15, s14 70018962: ee67 7a80 vmul.f32 s15, s15, s0 70018966: ee77 7ac6 vsub.f32 s15, s15, s12 7001896a: ee27 0a80 vmul.f32 s0, s15, s0 7001896e: ee30 0a26 vadd.f32 s0, s0, s13 70018972: eeb4 0ae6 vcmpe.f32 s0, s13 70018976: eef1 fa10 vmrs APSR_nzcv, fpscr 7001897a: dd03 ble.n 70018984 7001897c: eef0 7a00 vmov.f32 s15, #0 @ 0x40000000 2.0 70018980: ee30 0a67 vsub.f32 s0, s0, s15 70018984: 2b01 cmp r3, #1 70018986: bf18 it ne 70018988: eeb1 0a40 vnegne.f32 s0, s0 7001898c: 4770 bx lr 7001898e: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff 70018992: 2301 movs r3, #1 70018994: e7cb b.n 7001892e 70018996: bf00 nop 70018998: 3c8efa35 .word 0x3c8efa35 7001899c: 3fc90fdb .word 0x3fc90fdb 700189a0: 40c90fdb .word 0x40c90fdb 700189a4: 40490fdb .word 0x40490fdb 700189a8: 3aaa2538 .word 0x3aaa2538 700189ac: 3d2a59db .word 0x3d2a59db 700189b0 : 700189b0: eddf 7a37 vldr s15, [pc, #220] @ 70018a90 700189b4: ee20 0a27 vmul.f32 s0, s0, s15 700189b8: eeb5 0ac0 vcmpe.f32 s0, #0.0 700189bc: eef1 fa10 vmrs APSR_nzcv, fpscr 700189c0: d514 bpl.n 700189ec 700189c2: eef1 6a40 vneg.f32 s13, s0 700189c6: ed9f 7a33 vldr s14, [pc, #204] @ 70018a94 700189ca: eec6 7a87 vdiv.f32 s15, s13, s14 700189ce: eefd 7ae7 vcvt.s32.f32 s15, s15 700189d2: ee17 3a90 vmov r3, s15 700189d6: 3301 adds r3, #1 700189d8: ee07 3a90 vmov s15, r3 700189dc: eef8 7ae7 vcvt.f32.s32 s15, s15 700189e0: ee67 7a87 vmul.f32 s15, s15, s14 700189e4: ee30 0a67 vsub.f32 s0, s0, s15 700189e8: eeb1 0a40 vneg.f32 s0, s0 700189ec: ed9f 7a29 vldr s14, [pc, #164] @ 70018a94 700189f0: eeb4 0ac7 vcmpe.f32 s0, s14 700189f4: eef1 fa10 vmrs APSR_nzcv, fpscr 700189f8: db09 blt.n 70018a0e 700189fa: eec0 7a07 vdiv.f32 s15, s0, s14 700189fe: eefd 7ae7 vcvt.s32.f32 s15, s15 70018a02: eef8 7ae7 vcvt.f32.s32 s15, s15 70018a06: ee67 7a87 vmul.f32 s15, s15, s14 70018a0a: ee30 0a67 vsub.f32 s0, s0, s15 70018a0e: eddf 7a22 vldr s15, [pc, #136] @ 70018a98 70018a12: eeb4 0ae7 vcmpe.f32 s0, s15 70018a16: eef1 fa10 vmrs APSR_nzcv, fpscr 70018a1a: db34 blt.n 70018a86 70018a1c: ee30 0a67 vsub.f32 s0, s0, s15 70018a20: 2201 movs r2, #1 70018a22: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70018a26: eddf 7a1d vldr s15, [pc, #116] @ 70018a9c 70018a2a: eeb4 0ae7 vcmpe.f32 s0, s15 70018a2e: eef1 fa10 vmrs APSR_nzcv, fpscr 70018a32: dd04 ble.n 70018a3e 70018a34: eddf 7a18 vldr s15, [pc, #96] @ 70018a98 70018a38: 4613 mov r3, r2 70018a3a: ee37 0ac0 vsub.f32 s0, s15, s0 70018a3e: ee20 0a00 vmul.f32 s0, s0, s0 70018a42: ed9f 7a17 vldr s14, [pc, #92] @ 70018aa0 70018a46: eddf 7a17 vldr s15, [pc, #92] @ 70018aa4 70018a4a: eeb6 6a00 vmov.f32 s12, #96 @ 0x3f000000 0.5 70018a4e: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 70018a52: ee20 7a07 vmul.f32 s14, s0, s14 70018a56: ee77 7ac7 vsub.f32 s15, s15, s14 70018a5a: ee67 7a80 vmul.f32 s15, s15, s0 70018a5e: ee77 7ac6 vsub.f32 s15, s15, s12 70018a62: ee27 0a80 vmul.f32 s0, s15, s0 70018a66: ee30 0a26 vadd.f32 s0, s0, s13 70018a6a: eeb4 0ae6 vcmpe.f32 s0, s13 70018a6e: eef1 fa10 vmrs APSR_nzcv, fpscr 70018a72: dd03 ble.n 70018a7c 70018a74: eef0 7a00 vmov.f32 s15, #0 @ 0x40000000 2.0 70018a78: ee30 0a67 vsub.f32 s0, s0, s15 70018a7c: 2b01 cmp r3, #1 70018a7e: bf18 it ne 70018a80: eeb1 0a40 vnegne.f32 s0, s0 70018a84: 4770 bx lr 70018a86: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff 70018a8a: 2301 movs r3, #1 70018a8c: e7cb b.n 70018a26 70018a8e: bf00 nop 70018a90: 3c8efa35 .word 0x3c8efa35 70018a94: 40c90fdb .word 0x40c90fdb 70018a98: 40490fdb .word 0x40490fdb 70018a9c: 3fc90fdb .word 0x3fc90fdb 70018aa0: 3aaa2538 .word 0x3aaa2538 70018aa4: 3d2a59db .word 0x3d2a59db 70018aa8 : 70018aa8: ee10 2a10 vmov r2, s0 70018aac: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 70018ab0: 4b09 ldr r3, [pc, #36] @ (70018ad8 ) 70018ab2: eef7 6a08 vmov.f32 s13, #120 @ 0x3fc00000 1.5 70018ab6: eba3 0352 sub.w r3, r3, r2, lsr #1 70018aba: ee60 7a27 vmul.f32 s15, s0, s15 70018abe: ee07 3a10 vmov s14, r3 70018ac2: ee67 7a87 vmul.f32 s15, s15, s14 70018ac6: ee27 0a00 vmul.f32 s0, s14, s0 70018aca: ee67 7a87 vmul.f32 s15, s15, s14 70018ace: ee76 6ae7 vsub.f32 s13, s13, s15 70018ad2: ee26 0a80 vmul.f32 s0, s13, s0 70018ad6: 4770 bx lr 70018ad8: 5f3759df .word 0x5f3759df 70018adc : 70018adc: eeff 6a00 vmov.f32 s13, #240 @ 0xbf800000 -1.0 70018ae0: eddf 7a1b vldr s15, [pc, #108] @ 70018b50 70018ae4: ee20 7a27 vmul.f32 s14, s0, s15 70018ae8: eeb4 0ae6 vcmpe.f32 s0, s13 70018aec: eef1 fa10 vmrs APSR_nzcv, fpscr 70018af0: db1e blt.n 70018b30 70018af2: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 70018af6: eeb4 0ae6 vcmpe.f32 s0, s13 70018afa: eef1 fa10 vmrs APSR_nzcv, fpscr 70018afe: d90c bls.n 70018b1a 70018b00: ee20 0a00 vmul.f32 s0, s0, s0 70018b04: eddf 7a13 vldr s15, [pc, #76] @ 70018b54 70018b08: eddf 6a13 vldr s13, [pc, #76] @ 70018b58 70018b0c: ee70 7a27 vadd.f32 s15, s0, s15 70018b10: ee87 6a27 vdiv.f32 s12, s14, s15 70018b14: ee36 0ac6 vsub.f32 s0, s13, s12 70018b18: 4770 bx lr 70018b1a: eddf 7a0e vldr s15, [pc, #56] @ 70018b54 70018b1e: ee60 7a27 vmul.f32 s15, s0, s15 70018b22: ee67 7a80 vmul.f32 s15, s15, s0 70018b26: ee77 7aa6 vadd.f32 s15, s15, s13 70018b2a: ee87 0a27 vdiv.f32 s0, s14, s15 70018b2e: 4770 bx lr 70018b30: ee20 0a00 vmul.f32 s0, s0, s0 70018b34: eddf 7a07 vldr s15, [pc, #28] @ 70018b54 70018b38: eddf 6a07 vldr s13, [pc, #28] @ 70018b58 70018b3c: ee30 0a27 vadd.f32 s0, s0, s15 70018b40: eec7 7a00 vdiv.f32 s15, s14, s0 70018b44: ee37 0aa6 vadd.f32 s0, s15, s13 70018b48: eeb1 0a40 vneg.f32 s0, s0 70018b4c: 4770 bx lr 70018b4e: bf00 nop 70018b50: 42652ee6 .word 0x42652ee6 70018b54: 3e8f5c29 .word 0x3e8f5c29 70018b58: 42b40000 .word 0x42b40000 70018b5c : 70018b5c: ed9f 7a06 vldr s14, [pc, #24] @ 70018b78 70018b60: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 70018b64: ee20 0a07 vmul.f32 s0, s0, s14 70018b68: ee30 0a27 vadd.f32 s0, s0, s15 70018b6c: eefd 7ac0 vcvt.s32.f32 s15, s0 70018b70: ee17 0a90 vmov r0, s15 70018b74: 4770 bx lr 70018b76: bf00 nop 70018b78: 47800000 .word 0x47800000 70018b7c : 70018b7c: 2300 movs r3, #0 70018b7e: f04f 527e mov.w r2, #1065353216 @ 0x3f800000 70018b82: 6043 str r3, [r0, #4] 70018b84: 6002 str r2, [r0, #0] 70018b86: 6083 str r3, [r0, #8] 70018b88: 60c3 str r3, [r0, #12] 70018b8a: 6102 str r2, [r0, #16] 70018b8c: 6143 str r3, [r0, #20] 70018b8e: 6183 str r3, [r0, #24] 70018b90: 61c3 str r3, [r0, #28] 70018b92: 6202 str r2, [r0, #32] 70018b94: 4770 bx lr 70018b96: bf00 nop 70018b98 : 70018b98: 680b ldr r3, [r1, #0] 70018b9a: 6003 str r3, [r0, #0] 70018b9c: 684b ldr r3, [r1, #4] 70018b9e: 6043 str r3, [r0, #4] 70018ba0: 688b ldr r3, [r1, #8] 70018ba2: 6083 str r3, [r0, #8] 70018ba4: 68cb ldr r3, [r1, #12] 70018ba6: 60c3 str r3, [r0, #12] 70018ba8: 690b ldr r3, [r1, #16] 70018baa: 6103 str r3, [r0, #16] 70018bac: 694b ldr r3, [r1, #20] 70018bae: 6143 str r3, [r0, #20] 70018bb0: 698b ldr r3, [r1, #24] 70018bb2: 6183 str r3, [r0, #24] 70018bb4: 69cb ldr r3, [r1, #28] 70018bb6: 61c3 str r3, [r0, #28] 70018bb8: 6a0b ldr r3, [r1, #32] 70018bba: 6203 str r3, [r0, #32] 70018bbc: 4770 bx lr 70018bbe: bf00 nop 70018bc0 : 70018bc0: edd0 6a06 vldr s13, [r0, #24] 70018bc4: ed90 7a07 vldr s14, [r0, #28] 70018bc8: edd0 7a08 vldr s15, [r0, #32] 70018bcc: ee66 2a80 vmul.f32 s5, s13, s0 70018bd0: ee27 3a00 vmul.f32 s6, s14, s0 70018bd4: edd0 3a00 vldr s7, [r0] 70018bd8: ee27 0a80 vmul.f32 s0, s15, s0 70018bdc: ed90 4a01 vldr s8, [r0, #4] 70018be0: ee66 6aa0 vmul.f32 s13, s13, s1 70018be4: edd0 4a02 vldr s9, [r0, #8] 70018be8: ee27 7a20 vmul.f32 s14, s14, s1 70018bec: ed90 5a03 vldr s10, [r0, #12] 70018bf0: ee67 7aa0 vmul.f32 s15, s15, s1 70018bf4: edd0 5a04 vldr s11, [r0, #16] 70018bf8: ed90 6a05 vldr s12, [r0, #20] 70018bfc: ee73 3aa2 vadd.f32 s7, s7, s5 70018c00: ee34 4a03 vadd.f32 s8, s8, s6 70018c04: ee74 4a80 vadd.f32 s9, s9, s0 70018c08: ee75 6a26 vadd.f32 s13, s10, s13 70018c0c: edc0 3a00 vstr s7, [r0] 70018c10: ee35 7a87 vadd.f32 s14, s11, s14 70018c14: ed80 4a01 vstr s8, [r0, #4] 70018c18: ee76 7a27 vadd.f32 s15, s12, s15 70018c1c: edc0 4a02 vstr s9, [r0, #8] 70018c20: edc0 6a03 vstr s13, [r0, #12] 70018c24: ed80 7a04 vstr s14, [r0, #16] 70018c28: edc0 7a05 vstr s15, [r0, #20] 70018c2c: 4770 bx lr 70018c2e: bf00 nop 70018c30 : 70018c30: b510 push {r4, lr} 70018c32: ed2d 8b02 vpush {d8} 70018c36: eef0 8a40 vmov.f32 s17, s0 70018c3a: 4604 mov r4, r0 70018c3c: f7ff feb8 bl 700189b0 70018c40: eeb0 8a40 vmov.f32 s16, s0 70018c44: eeb0 0a68 vmov.f32 s0, s17 70018c48: f7ff fe32 bl 700188b0 70018c4c: ed94 7a00 vldr s14, [r4] 70018c50: edd4 7a01 vldr s15, [r4, #4] 70018c54: edd4 3a02 vldr s7, [r4, #8] 70018c58: ee28 4a07 vmul.f32 s8, s16, s14 70018c5c: edd4 5a03 vldr s11, [r4, #12] 70018c60: ee68 4a27 vmul.f32 s9, s16, s15 70018c64: ed94 6a04 vldr s12, [r4, #16] 70018c68: ee28 5a23 vmul.f32 s10, s16, s7 70018c6c: edd4 6a05 vldr s13, [r4, #20] 70018c70: ee25 2a80 vmul.f32 s4, s11, s0 70018c74: ee66 2a00 vmul.f32 s5, s12, s0 70018c78: ee26 3a80 vmul.f32 s6, s13, s0 70018c7c: ee20 7a07 vmul.f32 s14, s0, s14 70018c80: ee65 5a88 vmul.f32 s11, s11, s16 70018c84: ee60 7a27 vmul.f32 s15, s0, s15 70018c88: ee26 6a08 vmul.f32 s12, s12, s16 70018c8c: ee66 6a88 vmul.f32 s13, s13, s16 70018c90: ee20 0a23 vmul.f32 s0, s0, s7 70018c94: ee34 4a42 vsub.f32 s8, s8, s4 70018c98: ee74 4ae2 vsub.f32 s9, s9, s5 70018c9c: ee35 5a43 vsub.f32 s10, s10, s6 70018ca0: ee37 7a25 vadd.f32 s14, s14, s11 70018ca4: ed84 4a00 vstr s8, [r4] 70018ca8: ee77 7a86 vadd.f32 s15, s15, s12 70018cac: edc4 4a01 vstr s9, [r4, #4] 70018cb0: ee30 0a26 vadd.f32 s0, s0, s13 70018cb4: ed84 5a02 vstr s10, [r4, #8] 70018cb8: ed84 7a03 vstr s14, [r4, #12] 70018cbc: edc4 7a04 vstr s15, [r4, #16] 70018cc0: ed84 0a05 vstr s0, [r4, #20] 70018cc4: ecbd 8b02 vpop {d8} 70018cc8: bd10 pop {r4, pc} 70018cca: bf00 nop 70018ccc : 70018ccc: ed91 3a00 vldr s6, [r1] 70018cd0: edd1 3a03 vldr s7, [r1, #12] 70018cd4: edd1 7a01 vldr s15, [r1, #4] 70018cd8: ed91 7a04 vldr s14, [r1, #16] 70018cdc: edd1 6a02 vldr s13, [r1, #8] 70018ce0: edd1 4a05 vldr s9, [r1, #20] 70018ce4: ed90 5a00 vldr s10, [r0] 70018ce8: edd0 5a01 vldr s11, [r0, #4] 70018cec: ee25 2a03 vmul.f32 s4, s10, s6 70018cf0: ed90 4a03 vldr s8, [r0, #12] 70018cf4: ee65 1aa3 vmul.f32 s3, s11, s7 70018cf8: ed90 6a04 vldr s12, [r0, #16] 70018cfc: ee65 2a87 vmul.f32 s5, s11, s14 70018d00: edd1 0a06 vldr s1, [r1, #24] 70018d04: ee25 1a27 vmul.f32 s2, s10, s15 70018d08: ee65 5aa4 vmul.f32 s11, s11, s9 70018d0c: ee25 5a26 vmul.f32 s10, s10, s13 70018d10: ee32 2a21 vadd.f32 s4, s4, s3 70018d14: ee63 1a04 vmul.f32 s3, s6, s8 70018d18: ee35 0a25 vadd.f32 s0, s10, s11 70018d1c: ee63 5a86 vmul.f32 s11, s7, s12 70018d20: ee31 1a22 vadd.f32 s2, s2, s5 70018d24: edd0 2a02 vldr s5, [r0, #8] 70018d28: ed2d 8b02 vpush {d8} 70018d2c: edd0 8a06 vldr s17, [r0, #24] 70018d30: ee71 1aa5 vadd.f32 s3, s3, s11 70018d34: ed90 8a07 vldr s16, [r0, #28] 70018d38: ee67 5a84 vmul.f32 s11, s15, s8 70018d3c: ee23 3a28 vmul.f32 s6, s6, s17 70018d40: ee24 5a88 vmul.f32 s10, s9, s16 70018d44: ee63 3a88 vmul.f32 s7, s7, s16 70018d48: ee64 4a86 vmul.f32 s9, s9, s12 70018d4c: ee27 6a06 vmul.f32 s12, s14, s12 70018d50: ee33 3a23 vadd.f32 s6, s6, s7 70018d54: ee26 4a84 vmul.f32 s8, s13, s8 70018d58: ee75 3a86 vadd.f32 s7, s11, s12 70018d5c: ed90 6a05 vldr s12, [r0, #20] 70018d60: ee62 5aa0 vmul.f32 s11, s5, s1 70018d64: ee66 6aa8 vmul.f32 s13, s13, s17 70018d68: ee27 7a08 vmul.f32 s14, s14, s16 70018d6c: ed90 8a08 vldr s16, [r0, #32] 70018d70: ee32 2a25 vadd.f32 s4, s4, s11 70018d74: ee67 7aa8 vmul.f32 s15, s15, s17 70018d78: ee34 4a24 vadd.f32 s8, s8, s9 70018d7c: ee76 4a85 vadd.f32 s9, s13, s10 70018d80: edd1 6a07 vldr s13, [r1, #28] 70018d84: ee77 7a87 vadd.f32 s15, s15, s14 70018d88: ed91 7a08 vldr s14, [r1, #32] 70018d8c: ed80 2a00 vstr s4, [r0] 70018d90: ee22 2aa6 vmul.f32 s4, s5, s13 70018d94: ee22 5a87 vmul.f32 s10, s5, s14 70018d98: ee60 5a88 vmul.f32 s11, s1, s16 70018d9c: ee60 2a86 vmul.f32 s5, s1, s12 70018da0: ee31 1a02 vadd.f32 s2, s2, s4 70018da4: ee26 2a86 vmul.f32 s4, s13, s12 70018da8: ee66 6a88 vmul.f32 s13, s13, s16 70018dac: ee27 6a06 vmul.f32 s12, s14, s12 70018db0: ed80 1a01 vstr s2, [r0, #4] 70018db4: ee27 7a08 vmul.f32 s14, s14, s16 70018db8: ee33 3a25 vadd.f32 s6, s6, s11 70018dbc: ee77 7aa6 vadd.f32 s15, s15, s13 70018dc0: ee30 5a05 vadd.f32 s10, s0, s10 70018dc4: ee71 2aa2 vadd.f32 s5, s3, s5 70018dc8: ed80 3a06 vstr s6, [r0, #24] 70018dcc: ee73 5a82 vadd.f32 s11, s7, s4 70018dd0: edc0 7a07 vstr s15, [r0, #28] 70018dd4: ee34 4a06 vadd.f32 s8, s8, s12 70018dd8: ed80 5a02 vstr s10, [r0, #8] 70018ddc: ee74 6a87 vadd.f32 s13, s9, s14 70018de0: edc0 2a03 vstr s5, [r0, #12] 70018de4: edc0 5a04 vstr s11, [r0, #16] 70018de8: ed80 4a05 vstr s8, [r0, #20] 70018dec: edc0 6a08 vstr s13, [r0, #32] 70018df0: ecbd 8b02 vpop {d8} 70018df4: 4770 bx lr 70018df6: bf00 nop 70018df8 : 70018df8: ed90 6a08 vldr s12, [r0, #32] 70018dfc: ed90 5a07 vldr s10, [r0, #28] 70018e00: edd0 6a02 vldr s13, [r0, #8] 70018e04: edd0 5a01 vldr s11, [r0, #4] 70018e08: ee65 1a26 vmul.f32 s3, s10, s13 70018e0c: edd0 7a04 vldr s15, [r0, #16] 70018e10: ee26 3a25 vmul.f32 s6, s12, s11 70018e14: edd0 4a05 vldr s9, [r0, #20] 70018e18: ed90 7a06 vldr s14, [r0, #24] 70018e1c: ee67 0aa6 vmul.f32 s1, s15, s13 70018e20: ed90 4a03 vldr s8, [r0, #12] 70018e24: ee25 0a24 vmul.f32 s0, s10, s9 70018e28: ee27 1a86 vmul.f32 s2, s15, s12 70018e2c: edd0 3a00 vldr s7, [r0] 70018e30: ee24 2aa5 vmul.f32 s4, s9, s11 70018e34: ee64 2a87 vmul.f32 s5, s9, s14 70018e38: ee71 1ac3 vsub.f32 s3, s3, s6 70018e3c: ee26 3a04 vmul.f32 s6, s12, s8 70018e40: ee64 4aa3 vmul.f32 s9, s9, s7 70018e44: ee31 1a40 vsub.f32 s2, s2, s0 70018e48: edc0 1a01 vstr s3, [r0, #4] 70018e4c: ee26 0a87 vmul.f32 s0, s13, s14 70018e50: ee32 2a60 vsub.f32 s4, s4, s1 70018e54: ee72 2ac3 vsub.f32 s5, s5, s6 70018e58: ed80 1a00 vstr s2, [r0] 70018e5c: ee67 0a87 vmul.f32 s1, s15, s14 70018e60: ee25 3a04 vmul.f32 s6, s10, s8 70018e64: ed80 2a02 vstr s4, [r0, #8] 70018e68: ee25 7a87 vmul.f32 s14, s11, s14 70018e6c: edc0 2a03 vstr s5, [r0, #12] 70018e70: ee26 6a23 vmul.f32 s12, s12, s7 70018e74: ee66 6a84 vmul.f32 s13, s13, s8 70018e78: ee25 5a23 vmul.f32 s10, s10, s7 70018e7c: ee67 7aa3 vmul.f32 s15, s15, s7 70018e80: ee65 5a84 vmul.f32 s11, s11, s8 70018e84: ee76 6ae4 vsub.f32 s13, s13, s9 70018e88: ee36 6a40 vsub.f32 s12, s12, s0 70018e8c: ee73 4a60 vsub.f32 s9, s6, s1 70018e90: ee37 7a45 vsub.f32 s14, s14, s10 70018e94: edc0 6a05 vstr s13, [r0, #20] 70018e98: ee77 7ae5 vsub.f32 s15, s15, s11 70018e9c: ed80 6a04 vstr s12, [r0, #16] 70018ea0: edc0 4a06 vstr s9, [r0, #24] 70018ea4: ed80 7a07 vstr s14, [r0, #28] 70018ea8: edc0 7a08 vstr s15, [r0, #32] 70018eac: 4770 bx lr 70018eae: bf00 nop 70018eb0 : 70018eb0: ed90 6a08 vldr s12, [r0, #32] 70018eb4: 4603 mov r3, r0 70018eb6: ed90 0a04 vldr s0, [r0, #16] 70018eba: ed90 3a05 vldr s6, [r0, #20] 70018ebe: edd0 3a07 vldr s7, [r0, #28] 70018ec2: ee26 4a00 vmul.f32 s8, s12, s0 70018ec6: edd0 6a03 vldr s13, [r0, #12] 70018eca: edd0 0a06 vldr s1, [r0, #24] 70018ece: ee63 7a23 vmul.f32 s15, s6, s7 70018ed2: ee66 1a26 vmul.f32 s3, s12, s13 70018ed6: ed90 7a01 vldr s14, [r0, #4] 70018eda: ee63 2a20 vmul.f32 s5, s6, s1 70018ede: ed90 5a02 vldr s10, [r0, #8] 70018ee2: ee60 5a20 vmul.f32 s11, s0, s1 70018ee6: ee34 4a67 vsub.f32 s8, s8, s15 70018eea: edd0 7a00 vldr s15, [r0] 70018eee: ee63 4aa6 vmul.f32 s9, s7, s13 70018ef2: ee31 2ae2 vsub.f32 s4, s3, s5 70018ef6: ee74 4ae5 vsub.f32 s9, s9, s11 70018efa: ee22 2a07 vmul.f32 s4, s4, s14 70018efe: ee67 5a84 vmul.f32 s11, s15, s8 70018f02: ee25 1a24 vmul.f32 s2, s10, s9 70018f06: ee75 5ac2 vsub.f32 s11, s11, s4 70018f0a: ee75 5a81 vadd.f32 s11, s11, s2 70018f0e: eef5 5ac0 vcmpe.f32 s11, #0.0 70018f12: eef1 fa10 vmrs APSR_nzcv, fpscr 70018f16: d45a bmi.n 70018fce 70018f18: ed9f 2a32 vldr s4, [pc, #200] @ 70018fe4 70018f1c: eef4 5ac2 vcmpe.f32 s11, s4 70018f20: eef1 fa10 vmrs APSR_nzcv, fpscr 70018f24: d95a bls.n 70018fdc 70018f26: ee23 1a85 vmul.f32 s2, s7, s10 70018f2a: 2000 movs r0, #0 70018f2c: ee27 2a86 vmul.f32 s4, s15, s12 70018f30: ee26 6a07 vmul.f32 s12, s12, s14 70018f34: ee67 3aa3 vmul.f32 s7, s15, s7 70018f38: ee72 2ae1 vsub.f32 s5, s5, s3 70018f3c: ee31 1a46 vsub.f32 s2, s2, s12 70018f40: ee63 1a07 vmul.f32 s3, s6, s14 70018f44: ee27 3a83 vmul.f32 s6, s15, s6 70018f48: ee67 7a80 vmul.f32 s15, s15, s0 70018f4c: ed2d 8b02 vpush {d8} 70018f50: eeb7 8a00 vmov.f32 s16, #112 @ 0x3f800000 1.0 70018f54: ee88 6a25 vdiv.f32 s12, s16, s11 70018f58: ee20 8a05 vmul.f32 s16, s0, s10 70018f5c: ee27 0a26 vmul.f32 s0, s14, s13 70018f60: ee66 6a85 vmul.f32 s13, s13, s10 70018f64: ee27 7a20 vmul.f32 s14, s14, s1 70018f68: ee20 5a85 vmul.f32 s10, s1, s10 70018f6c: ee76 6ac3 vsub.f32 s13, s13, s6 70018f70: ee37 7a63 vsub.f32 s14, s14, s7 70018f74: ee72 5a45 vsub.f32 s11, s4, s10 70018f78: ee77 7ac0 vsub.f32 s15, s15, s0 70018f7c: ee31 5ac8 vsub.f32 s10, s3, s16 70018f80: ee24 4a06 vmul.f32 s8, s8, s12 70018f84: ee61 3a06 vmul.f32 s7, s2, s12 70018f88: ee25 5a06 vmul.f32 s10, s10, s12 70018f8c: ee62 2a86 vmul.f32 s5, s5, s12 70018f90: ed83 4a00 vstr s8, [r3] 70018f94: ee65 5a86 vmul.f32 s11, s11, s12 70018f98: edc3 3a01 vstr s7, [r3, #4] 70018f9c: ee66 6a86 vmul.f32 s13, s13, s12 70018fa0: ed83 5a02 vstr s10, [r3, #8] 70018fa4: ee64 4a86 vmul.f32 s9, s9, s12 70018fa8: edc3 2a03 vstr s5, [r3, #12] 70018fac: ee27 7a06 vmul.f32 s14, s14, s12 70018fb0: edc3 5a04 vstr s11, [r3, #16] 70018fb4: ee67 7a86 vmul.f32 s15, s15, s12 70018fb8: edc3 6a05 vstr s13, [r3, #20] 70018fbc: edc3 4a06 vstr s9, [r3, #24] 70018fc0: ed83 7a07 vstr s14, [r3, #28] 70018fc4: edc3 7a08 vstr s15, [r3, #32] 70018fc8: ecbd 8b02 vpop {d8} 70018fcc: 4770 bx lr 70018fce: ed9f 2a06 vldr s4, [pc, #24] @ 70018fe8 70018fd2: eef4 5ac2 vcmpe.f32 s11, s4 70018fd6: eef1 fa10 vmrs APSR_nzcv, fpscr 70018fda: dba4 blt.n 70018f26 70018fdc: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 70018fe0: 4770 bx lr 70018fe2: bf00 nop 70018fe4: 3727c5ac .word 0x3727c5ac 70018fe8: b727c5ac .word 0xb727c5ac 70018fec : 70018fec: ee30 7a41 vsub.f32 s14, s0, s2 70018ff0: ee70 7ae1 vsub.f32 s15, s1, s3 70018ff4: ee37 7a02 vadd.f32 s14, s14, s4 70018ff8: ee77 7aa2 vadd.f32 s15, s15, s5 70018ffc: ee37 7a43 vsub.f32 s14, s14, s6 70019000: ee77 7ae3 vsub.f32 s15, s15, s7 70019004: eeb5 7ac0 vcmpe.f32 s14, #0.0 70019008: b508 push {r3, lr} 7001900a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001900e: ed2d 8b02 vpush {d8} 70019012: ee08 0a90 vmov s17, r0 70019016: ee08 1a10 vmov s16, r1 7001901a: d42b bmi.n 70019074 7001901c: eddf 6a66 vldr s13, [pc, #408] @ 700191b8 70019020: eeb4 7ae6 vcmpe.f32 s14, s13 70019024: eef1 fa10 vmrs APSR_nzcv, fpscr 70019028: d82b bhi.n 70019082 7001902a: eef5 7ac0 vcmpe.f32 s15, #0.0 7001902e: eef1 fa10 vmrs APSR_nzcv, fpscr 70019032: f100 80b8 bmi.w 700191a6 70019036: eddf 6a60 vldr s13, [pc, #384] @ 700191b8 7001903a: eef4 7ae6 vcmpe.f32 s15, s13 7001903e: eef1 fa10 vmrs APSR_nzcv, fpscr 70019042: d81e bhi.n 70019082 70019044: ee31 7a40 vsub.f32 s14, s2, s0 70019048: 2300 movs r3, #0 7001904a: ee71 7ae0 vsub.f32 s15, s3, s1 7001904e: ed82 0a02 vstr s0, [r2, #8] 70019052: ee32 1a41 vsub.f32 s2, s4, s2 70019056: edc2 0a05 vstr s1, [r2, #20] 7001905a: ee72 1ae1 vsub.f32 s3, s5, s3 7001905e: ed82 7a00 vstr s14, [r2] 70019062: edc2 7a03 vstr s15, [r2, #12] 70019066: ed82 1a01 vstr s2, [r2, #4] 7001906a: edc2 1a04 vstr s3, [r2, #16] 7001906e: 6193 str r3, [r2, #24] 70019070: 61d3 str r3, [r2, #28] 70019072: e05c b.n 7001912e 70019074: eddf 6a51 vldr s13, [pc, #324] @ 700191bc 70019078: eeb4 7ae6 vcmpe.f32 s14, s13 7001907c: eef1 fa10 vmrs APSR_nzcv, fpscr 70019080: dad3 bge.n 7001902a 70019082: ee71 5a42 vsub.f32 s11, s2, s4 70019086: ee31 6ae2 vsub.f32 s12, s3, s5 7001908a: ee33 2a42 vsub.f32 s4, s6, s4 7001908e: ee73 2ae2 vsub.f32 s5, s7, s5 70019092: ee27 5a82 vmul.f32 s10, s15, s4 70019096: ee67 6a22 vmul.f32 s13, s14, s5 7001909a: ee22 2a06 vmul.f32 s4, s4, s12 7001909e: ee65 2aa2 vmul.f32 s5, s11, s5 700190a2: ee67 7aa5 vmul.f32 s15, s15, s11 700190a6: ee27 7a06 vmul.f32 s14, s14, s12 700190aa: ee72 2ac2 vsub.f32 s5, s5, s4 700190ae: ee76 6ac5 vsub.f32 s13, s13, s10 700190b2: ee77 7ac7 vsub.f32 s15, s15, s14 700190b6: eef5 2ac0 vcmpe.f32 s5, #0.0 700190ba: eef1 fa10 vmrs APSR_nzcv, fpscr 700190be: d468 bmi.n 70019192 700190c0: ed9f 7a3d vldr s14, [pc, #244] @ 700191b8 700190c4: eef4 2ac7 vcmpe.f32 s5, s14 700190c8: eef1 fa10 vmrs APSR_nzcv, fpscr 700190cc: d968 bls.n 700191a0 700190ce: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 700190d2: edc2 0a05 vstr s1, [r2, #20] 700190d6: ee31 6ae0 vsub.f32 s12, s3, s1 700190da: ed82 0a02 vstr s0, [r2, #8] 700190de: ee31 5a40 vsub.f32 s10, s2, s0 700190e2: eec7 4a22 vdiv.f32 s9, s14, s5 700190e6: ee73 5a40 vsub.f32 s11, s6, s0 700190ea: ee73 0ae0 vsub.f32 s1, s7, s1 700190ee: ee26 7aa4 vmul.f32 s14, s13, s9 700190f2: ee67 7aa4 vmul.f32 s15, s15, s9 700190f6: ee21 1a07 vmul.f32 s2, s2, s14 700190fa: ed82 7a06 vstr s14, [r2, #24] 700190fe: ee23 3a27 vmul.f32 s6, s6, s15 70019102: edc2 7a07 vstr s15, [r2, #28] 70019106: ee61 1a87 vmul.f32 s3, s3, s14 7001910a: ee63 3aa7 vmul.f32 s7, s7, s15 7001910e: ee75 6a01 vadd.f32 s13, s10, s2 70019112: ee35 7a83 vadd.f32 s14, s11, s6 70019116: ee76 7a21 vadd.f32 s15, s12, s3 7001911a: ee70 0aa3 vadd.f32 s1, s1, s7 7001911e: edc2 6a00 vstr s13, [r2] 70019122: ed82 7a01 vstr s14, [r2, #4] 70019126: edc2 7a03 vstr s15, [r2, #12] 7001912a: edc2 0a04 vstr s1, [r2, #16] 7001912e: f04f 537e mov.w r3, #1065353216 @ 0x3f800000 70019132: 4610 mov r0, r2 70019134: 6213 str r3, [r2, #32] 70019136: f7ff febb bl 70018eb0 7001913a: bb88 cbnz r0, 700191a0 7001913c: eef8 8ae8 vcvt.f32.s32 s17, s17 70019140: ed92 5a00 vldr s10, [r2] 70019144: eeb8 8ac8 vcvt.f32.s32 s16, s16 70019148: edd2 5a01 vldr s11, [r2, #4] 7001914c: ed92 6a02 vldr s12, [r2, #8] 70019150: edd2 6a03 vldr s13, [r2, #12] 70019154: ee25 5a28 vmul.f32 s10, s10, s17 70019158: ed92 7a04 vldr s14, [r2, #16] 7001915c: ee65 5aa8 vmul.f32 s11, s11, s17 70019160: edd2 7a05 vldr s15, [r2, #20] 70019164: ee26 6a28 vmul.f32 s12, s12, s17 70019168: ee66 6a88 vmul.f32 s13, s13, s16 7001916c: ed82 5a00 vstr s10, [r2] 70019170: ee27 7a08 vmul.f32 s14, s14, s16 70019174: edc2 5a01 vstr s11, [r2, #4] 70019178: ee67 7a88 vmul.f32 s15, s15, s16 7001917c: ed82 6a02 vstr s12, [r2, #8] 70019180: edc2 6a03 vstr s13, [r2, #12] 70019184: ed82 7a04 vstr s14, [r2, #16] 70019188: edc2 7a05 vstr s15, [r2, #20] 7001918c: ecbd 8b02 vpop {d8} 70019190: bd08 pop {r3, pc} 70019192: ed9f 7a0a vldr s14, [pc, #40] @ 700191bc 70019196: eef4 2ac7 vcmpe.f32 s5, s14 7001919a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001919e: db96 blt.n 700190ce 700191a0: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 700191a4: e7f2 b.n 7001918c 700191a6: eddf 6a05 vldr s13, [pc, #20] @ 700191bc 700191aa: eef4 7ae6 vcmpe.f32 s15, s13 700191ae: eef1 fa10 vmrs APSR_nzcv, fpscr 700191b2: f6bf af47 bge.w 70019044 700191b6: e764 b.n 70019082 700191b8: 3727c5ac .word 0x3727c5ac 700191bc: b727c5ac .word 0xb727c5ac 700191c0 : 700191c0: 4800 ldr r0, [pc, #0] @ (700191c4 ) 700191c2: 4770 bx lr 700191c4: 2400db28 .word 0x2400db28 700191c8 : 700191c8: b510 push {r4, lr} 700191ca: 4c05 ldr r4, [pc, #20] @ (700191e0 ) 700191cc: 6820 ldr r0, [r4, #0] 700191ce: b100 cbz r0, 700191d2 700191d0: bd10 pop {r4, pc} 700191d2: f44f 70f8 mov.w r0, #496 @ 0x1f0 700191d6: f7ea fa2b bl 70003630 700191da: 6020 str r0, [r4, #0] 700191dc: bd10 pop {r4, pc} 700191de: bf00 nop 700191e0: 2400db20 .word 0x2400db20 700191e4 : 700191e4: f44f 70fa mov.w r0, #500 @ 0x1f4 700191e8: f7ea ba22 b.w 70003630 700191ec : 700191ec: 4b08 ldr r3, [pc, #32] @ (70019210 ) 700191ee: 3800 subs r0, #0 700191f0: b410 push {r4} 700191f2: 681a ldr r2, [r3, #0] 700191f4: bf18 it ne 700191f6: 2001 movne r0, #1 700191f8: 6914 ldr r4, [r2, #16] 700191fa: 0780 lsls r0, r0, #30 700191fc: 6953 ldr r3, [r2, #20] 700191fe: 69d1 ldr r1, [r2, #28] 70019200: 4323 orrs r3, r4 70019202: 60d0 str r0, [r2, #12] 70019204: 430b orrs r3, r1 70019206: 4303 orrs r3, r0 70019208: 6193 str r3, [r2, #24] 7001920a: f85d 4b04 ldr.w r4, [sp], #4 7001920e: 4770 bx lr 70019210: 2400db24 .word 0x2400db24 70019214 : 70019214: 4b08 ldr r3, [pc, #32] @ (70019238 ) 70019216: 2800 cmp r0, #0 70019218: b410 push {r4} 7001921a: 681a ldr r2, [r3, #0] 7001921c: bf18 it ne 7001921e: f04f 4040 movne.w r0, #3221225472 @ 0xc0000000 70019222: 6914 ldr r4, [r2, #16] 70019224: 6953 ldr r3, [r2, #20] 70019226: 69d1 ldr r1, [r2, #28] 70019228: 4323 orrs r3, r4 7001922a: 60d0 str r0, [r2, #12] 7001922c: 430b orrs r3, r1 7001922e: 4303 orrs r3, r0 70019230: 6193 str r3, [r2, #24] 70019232: f85d 4b04 ldr.w r4, [sp], #4 70019236: 4770 bx lr 70019238: 2400db24 .word 0x2400db24 7001923c : 7001923c: 3800 subs r0, #0 7001923e: bf18 it ne 70019240: 2001 movne r0, #1 70019242: b430 push {r4, r5} 70019244: 0684 lsls r4, r0, #26 70019246: b109 cbz r1, 7001924c 70019248: f044 7400 orr.w r4, r4, #33554432 @ 0x2000000 7001924c: b10a cbz r2, 70019252 7001924e: f044 7480 orr.w r4, r4, #16777216 @ 0x1000000 70019252: b10b cbz r3, 70019258 70019254: f444 0400 orr.w r4, r4, #8388608 @ 0x800000 70019258: 4b06 ldr r3, [pc, #24] @ (70019274 ) 7001925a: 681a ldr r2, [r3, #0] 7001925c: e9d2 3103 ldrd r3, r1, [r2, #12] 70019260: 6955 ldr r5, [r2, #20] 70019262: 69d0 ldr r0, [r2, #28] 70019264: 432b orrs r3, r5 70019266: 61d4 str r4, [r2, #28] 70019268: 430b orrs r3, r1 7001926a: 4323 orrs r3, r4 7001926c: 6193 str r3, [r2, #24] 7001926e: bc30 pop {r4, r5} 70019270: 4770 bx lr 70019272: bf00 nop 70019274: 2400db24 .word 0x2400db24 70019278 : 70019278: 4b08 ldr r3, [pc, #32] @ (7001929c ) 7001927a: f000 61f0 and.w r1, r0, #125829120 @ 0x7800000 7001927e: b410 push {r4} 70019280: 681a ldr r2, [r3, #0] 70019282: 6954 ldr r4, [r2, #20] 70019284: 68d3 ldr r3, [r2, #12] 70019286: 69d0 ldr r0, [r2, #28] 70019288: 4323 orrs r3, r4 7001928a: 6914 ldr r4, [r2, #16] 7001928c: 61d1 str r1, [r2, #28] 7001928e: 4323 orrs r3, r4 70019290: 430b orrs r3, r1 70019292: 6193 str r3, [r2, #24] 70019294: f85d 4b04 ldr.w r4, [sp], #4 70019298: 4770 bx lr 7001929a: bf00 nop 7001929c: 2400db24 .word 0x2400db24 700192a0 : 700192a0: 4601 mov r1, r0 700192a2: b128 cbz r0, 700192b0 700192a4: f04f 4110 mov.w r1, #2415919104 @ 0x90000000 700192a8: f44f 708c mov.w r0, #280 @ 0x118 700192ac: f010 bad8 b.w 70029860 700192b0: f44f 708c mov.w r0, #280 @ 0x118 700192b4: f010 bad4 b.w 70029860 700192b8 : 700192b8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 700192bc: ed9f 7a55 vldr s14, [pc, #340] @ 70019414 700192c0: 4604 mov r4, r0 700192c2: edd0 7a06 vldr s15, [r0, #24] 700192c6: eef4 7ac7 vcmpe.f32 s15, s14 700192ca: eef1 fa10 vmrs APSR_nzcv, fpscr 700192ce: d506 bpl.n 700192de 700192d0: eddf 6a51 vldr s13, [pc, #324] @ 70019418 700192d4: eef4 7ae6 vcmpe.f32 s15, s13 700192d8: eef1 fa10 vmrs APSR_nzcv, fpscr 700192dc: dc4b bgt.n 70019376 700192de: 2009 movs r0, #9 700192e0: f010 fb3a bl 70029958 700192e4: 4603 mov r3, r0 700192e6: 2800 cmp r0, #0 700192e8: d043 beq.n 70019372 700192ea: f44f 72ba mov.w r2, #372 @ 0x174 700192ee: f44f 71b4 mov.w r1, #360 @ 0x168 700192f2: f44f 70bc mov.w r0, #376 @ 0x178 700192f6: 2640 movs r6, #64 @ 0x40 700192f8: 601a str r2, [r3, #0] 700192fa: 2738 movs r7, #56 @ 0x38 700192fc: 6962 ldr r2, [r4, #20] 700192fe: f04f 0830 mov.w r8, #48 @ 0x30 70019302: 6099 str r1, [r3, #8] 70019304: f44f 71be mov.w r1, #380 @ 0x17c 70019308: 605a str r2, [r3, #4] 7001930a: f04f 0c2c mov.w ip, #44 @ 0x2c 7001930e: 68a2 ldr r2, [r4, #8] 70019310: f04f 0e28 mov.w lr, #40 @ 0x28 70019314: 6118 str r0, [r3, #16] 70019316: 2044 movs r0, #68 @ 0x44 70019318: 60da str r2, [r3, #12] 7001931a: 69a2 ldr r2, [r4, #24] 7001931c: 6199 str r1, [r3, #24] 7001931e: f44f 71c0 mov.w r1, #384 @ 0x180 70019322: 615a str r2, [r3, #20] 70019324: 69e2 ldr r2, [r4, #28] 70019326: 6219 str r1, [r3, #32] 70019328: 2134 movs r1, #52 @ 0x34 7001932a: 61da str r2, [r3, #28] 7001932c: 6a22 ldr r2, [r4, #32] 7001932e: 625a str r2, [r3, #36] @ 0x24 70019330: 223c movs r2, #60 @ 0x3c 70019332: f44f 75b0 mov.w r5, #352 @ 0x160 70019336: 449c add ip, r3 70019338: 4419 add r1, r3 7001933a: 441a add r2, r3 7001933c: f843 500e str.w r5, [r3, lr] 70019340: f44f 75b2 mov.w r5, #356 @ 0x164 70019344: f8d4 e000 ldr.w lr, [r4] 70019348: 4418 add r0, r3 7001934a: f8cc e000 str.w lr, [ip] 7001934e: f843 5008 str.w r5, [r3, r8] 70019352: f44f 75b6 mov.w r5, #364 @ 0x16c 70019356: f8d4 c004 ldr.w ip, [r4, #4] 7001935a: f8c1 c000 str.w ip, [r1] 7001935e: f44f 71b8 mov.w r1, #368 @ 0x170 70019362: 51dd str r5, [r3, r7] 70019364: f8d4 c00c ldr.w ip, [r4, #12] 70019368: f8c2 c000 str.w ip, [r2] 7001936c: 5199 str r1, [r3, r6] 7001936e: 6923 ldr r3, [r4, #16] 70019370: 6003 str r3, [r0, #0] 70019372: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 70019376: edd0 7a07 vldr s15, [r0, #28] 7001937a: eef4 7ac7 vcmpe.f32 s15, s14 7001937e: eef1 fa10 vmrs APSR_nzcv, fpscr 70019382: d5ac bpl.n 700192de 70019384: eef4 7ae6 vcmpe.f32 s15, s13 70019388: eef1 fa10 vmrs APSR_nzcv, fpscr 7001938c: dda7 ble.n 700192de 7001938e: edd0 7a08 vldr s15, [r0, #32] 70019392: ed90 5a00 vldr s10, [r0] 70019396: edd0 5a01 vldr s11, [r0, #4] 7001939a: ed90 6a02 vldr s12, [r0, #8] 7001939e: eec5 4a27 vdiv.f32 s9, s10, s15 700193a2: edd0 6a03 vldr s13, [r0, #12] 700193a6: ed90 7a04 vldr s14, [r0, #16] 700193aa: ed90 4a05 vldr s8, [r0, #20] 700193ae: 2006 movs r0, #6 700193b0: ee85 5aa7 vdiv.f32 s10, s11, s15 700193b4: eec6 5a27 vdiv.f32 s11, s12, s15 700193b8: ee86 6aa7 vdiv.f32 s12, s13, s15 700193bc: edc4 4a00 vstr s9, [r4] 700193c0: eec7 6a27 vdiv.f32 s13, s14, s15 700193c4: ed84 5a01 vstr s10, [r4, #4] 700193c8: ee84 7a27 vdiv.f32 s14, s8, s15 700193cc: edc4 5a02 vstr s11, [r4, #8] 700193d0: ed84 6a03 vstr s12, [r4, #12] 700193d4: edc4 6a04 vstr s13, [r4, #16] 700193d8: ed84 7a05 vstr s14, [r4, #20] 700193dc: f010 fabc bl 70029958 700193e0: 4603 mov r3, r0 700193e2: 2800 cmp r0, #0 700193e4: d0c5 beq.n 70019372 700193e6: f44f 72ba mov.w r2, #372 @ 0x174 700193ea: f44f 71b4 mov.w r1, #360 @ 0x168 700193ee: 202c movs r0, #44 @ 0x2c 700193f0: 2628 movs r6, #40 @ 0x28 700193f2: 601a str r2, [r3, #0] 700193f4: 2720 movs r7, #32 700193f6: 6962 ldr r2, [r4, #20] 700193f8: f04f 0818 mov.w r8, #24 700193fc: 6099 str r1, [r3, #8] 700193fe: f04f 0c14 mov.w ip, #20 70019402: 605a str r2, [r3, #4] 70019404: 211c movs r1, #28 70019406: 68a2 ldr r2, [r4, #8] 70019408: f04f 0e10 mov.w lr, #16 7001940c: 60da str r2, [r3, #12] 7001940e: 2224 movs r2, #36 @ 0x24 70019410: e78f b.n 70019332 70019412: bf00 nop 70019414: 33d6bf95 .word 0x33d6bf95 70019418: b3d6bf95 .word 0xb3d6bf95 7001941c : 7001941c: b510 push {r4, lr} 7001941e: ed2d 8b04 vpush {d8-d9} 70019422: eec3 9a01 vdiv.f32 s19, s6, s2 70019426: 2004 movs r0, #4 70019428: ee83 9aa1 vdiv.f32 s18, s7, s3 7001942c: ee20 0a69 vnmul.f32 s0, s0, s19 70019430: ee30 8a02 vadd.f32 s16, s0, s4 70019434: ee60 0ac9 vnmul.f32 s1, s1, s18 70019438: ee70 8aa2 vadd.f32 s17, s1, s5 7001943c: f010 fa8c bl 70029958 70019440: b198 cbz r0, 7001946a 70019442: f44f 74ba mov.w r4, #372 @ 0x174 70019446: f44f 71b4 mov.w r1, #360 @ 0x168 7001944a: f44f 72b0 mov.w r2, #352 @ 0x160 7001944e: f44f 73b8 mov.w r3, #368 @ 0x170 70019452: 6004 str r4, [r0, #0] 70019454: edc0 8a01 vstr s17, [r0, #4] 70019458: 6081 str r1, [r0, #8] 7001945a: ed80 8a03 vstr s16, [r0, #12] 7001945e: 6102 str r2, [r0, #16] 70019460: edc0 9a05 vstr s19, [r0, #20] 70019464: 6183 str r3, [r0, #24] 70019466: ed80 9a07 vstr s18, [r0, #28] 7001946a: ecbd 8b04 vpop {d8-d9} 7001946e: bd10 pop {r4, pc} 70019470 : 70019470: b508 push {r3, lr} 70019472: 2002 movs r0, #2 70019474: ed2d 8b04 vpush {d8-d9} 70019478: eeb0 8a40 vmov.f32 s16, s0 7001947c: eef0 8a60 vmov.f32 s17, s1 70019480: eeb1 9a40 vneg.f32 s18, s0 70019484: eef1 9a60 vneg.f32 s19, s1 70019488: f010 fa66 bl 70029958 7001948c: b1f8 cbz r0, 700194ce 7001948e: eddf 7a11 vldr s15, [pc, #68] @ 700194d4 70019492: f44f 72ba mov.w r2, #372 @ 0x174 70019496: f44f 73b4 mov.w r3, #360 @ 0x168 7001949a: edc0 9a01 vstr s19, [r0, #4] 7001949e: eeb4 8ae7 vcmpe.f32 s16, s15 700194a2: 6002 str r2, [r0, #0] 700194a4: 6083 str r3, [r0, #8] 700194a6: ed80 9a03 vstr s18, [r0, #12] 700194aa: eef1 fa10 vmrs APSR_nzcv, fpscr 700194ae: dc04 bgt.n 700194ba 700194b0: eef4 8ae7 vcmpe.f32 s17, s15 700194b4: eef1 fa10 vmrs APSR_nzcv, fpscr 700194b8: dd09 ble.n 700194ce 700194ba: f04f 4100 mov.w r1, #2147483648 @ 0x80000000 700194be: f44f 708c mov.w r0, #280 @ 0x118 700194c2: ecbd 8b04 vpop {d8-d9} 700194c6: e8bd 4008 ldmia.w sp!, {r3, lr} 700194ca: f010 b9c9 b.w 70029860 700194ce: ecbd 8b04 vpop {d8-d9} 700194d2: bd08 pop {r3, pc} 700194d4: 45000000 .word 0x45000000 700194d8 : 700194d8: b5f8 push {r3, r4, r5, r6, r7, lr} 700194da: 460d mov r5, r1 700194dc: 4606 mov r6, r0 700194de: 4611 mov r1, r2 700194e0: 20c4 movs r0, #196 @ 0xc4 700194e2: f010 f9bd bl 70029860 700194e6: b175 cbz r5, 70019506 700194e8: 2400 movs r4, #0 700194ea: 1d37 adds r7, r6, #4 700194ec: f856 1034 ldr.w r1, [r6, r4, lsl #3] 700194f0: 20c8 movs r0, #200 @ 0xc8 700194f2: f010 f9b5 bl 70029860 700194f6: f857 1034 ldr.w r1, [r7, r4, lsl #3] 700194fa: 3401 adds r4, #1 700194fc: 20cc movs r0, #204 @ 0xcc 700194fe: f010 f9af bl 70029860 70019502: 42a5 cmp r5, r4 70019504: d1f2 bne.n 700194ec 70019506: bdf8 pop {r3, r4, r5, r6, r7, pc} 70019508 : 70019508: 4601 mov r1, r0 7001950a: f44f 708e mov.w r0, #284 @ 0x11c 7001950e: f010 b9a7 b.w 70029860 70019512: bf00 nop 70019514 : 70019514: 4601 mov r1, r0 70019516: f44f 70e8 mov.w r0, #464 @ 0x1d0 7001951a: f010 b9a1 b.w 70029860 7001951e: bf00 nop 70019520 : 70019520: 4601 mov r1, r0 70019522: f44f 70ec mov.w r0, #472 @ 0x1d8 70019526: f010 b99b b.w 70029860 7001952a: bf00 nop 7001952c : 7001952c: 4601 mov r1, r0 7001952e: f44f 70f0 mov.w r0, #480 @ 0x1e0 70019532: f010 b995 b.w 70029860 70019536: bf00 nop 70019538 : 70019538: b5f8 push {r3, r4, r5, r6, r7, lr} 7001953a: 4606 mov r6, r0 7001953c: 200c movs r0, #12 7001953e: 460f mov r7, r1 70019540: 4615 mov r5, r2 70019542: 461c mov r4, r3 70019544: f010 fa08 bl 70029958 70019548: 2800 cmp r0, #0 7001954a: d037 beq.n 700195bc 7001954c: f44f 72e2 mov.w r2, #452 @ 0x1c4 70019550: 6145 str r5, [r0, #20] 70019552: f44f 75e6 mov.w r5, #460 @ 0x1cc 70019556: f44f 73e4 mov.w r3, #456 @ 0x1c8 7001955a: f44f 71d0 mov.w r1, #416 @ 0x1a0 7001955e: 6082 str r2, [r0, #8] 70019560: 6185 str r5, [r0, #24] 70019562: f44f 72d4 mov.w r2, #424 @ 0x1a8 70019566: 9d07 ldr r5, [sp, #28] 70019568: 6103 str r3, [r0, #16] 7001956a: f44f 73d2 mov.w r3, #420 @ 0x1a4 7001956e: 61c4 str r4, [r0, #28] 70019570: f44f 74d8 mov.w r4, #432 @ 0x1b0 70019574: 6201 str r1, [r0, #32] 70019576: 9906 ldr r1, [sp, #24] 70019578: 6046 str r6, [r0, #4] 7001957a: 60c7 str r7, [r0, #12] 7001957c: e9c0 520b strd r5, r2, [r0, #44] @ 0x2c 70019580: 9d09 ldr r5, [sp, #36] @ 0x24 70019582: 9a08 ldr r2, [sp, #32] 70019584: e9c0 1309 strd r1, r3, [r0, #36] @ 0x24 70019588: e9c0 540f strd r5, r4, [r0, #60] @ 0x3c 7001958c: f44f 73d6 mov.w r3, #428 @ 0x1ac 70019590: f44f 71da mov.w r1, #436 @ 0x1b4 70019594: 9c0a ldr r4, [sp, #40] @ 0x28 70019596: e9c0 230d strd r2, r3, [r0, #52] @ 0x34 7001959a: e9c0 4111 strd r4, r1, [r0, #68] @ 0x44 7001959e: f44f 72dc mov.w r2, #440 @ 0x1b8 700195a2: 990b ldr r1, [sp, #44] @ 0x2c 700195a4: f44f 73de mov.w r3, #444 @ 0x1bc 700195a8: e9c0 1213 strd r1, r2, [r0, #76] @ 0x4c 700195ac: 9a0c ldr r2, [sp, #48] @ 0x30 700195ae: e9c0 2315 strd r2, r3, [r0, #84] @ 0x54 700195b2: 9b0d ldr r3, [sp, #52] @ 0x34 700195b4: 65c3 str r3, [r0, #92] @ 0x5c 700195b6: f44f 73e0 mov.w r3, #448 @ 0x1c0 700195ba: 6003 str r3, [r0, #0] 700195bc: bdf8 pop {r3, r4, r5, r6, r7, pc} 700195be: bf00 nop 700195c0 : 700195c0: 4601 mov r1, r0 700195c2: f44f 7096 mov.w r0, #300 @ 0x12c 700195c6: f010 b94b b.w 70029860 700195ca: bf00 nop 700195cc : 700195cc: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 700195d0: ed2d 8b06 vpush {d8-d10} 700195d4: eeb0 aa60 vmov.f32 s20, s1 700195d8: eef0 9a41 vmov.f32 s19, s2 700195dc: eeb0 9a61 vmov.f32 s18, s3 700195e0: eef0 8a42 vmov.f32 s17, s4 700195e4: eeb0 8a62 vmov.f32 s16, s5 700195e8: f7ff fab8 bl 70018b5c 700195ec: eeb0 0a4a vmov.f32 s0, s20 700195f0: 4680 mov r8, r0 700195f2: f7ff fab3 bl 70018b5c 700195f6: eeb0 0a69 vmov.f32 s0, s19 700195fa: 4607 mov r7, r0 700195fc: f7ff faae bl 70018b5c 70019600: eeb0 0a49 vmov.f32 s0, s18 70019604: 4606 mov r6, r0 70019606: f7ff faa9 bl 70018b5c 7001960a: eeb0 0a68 vmov.f32 s0, s17 7001960e: 4605 mov r5, r0 70019610: f7ff faa4 bl 70018b5c 70019614: eeb0 0a48 vmov.f32 s0, s16 70019618: 4604 mov r4, r0 7001961a: f7ff fa9f bl 70018b5c 7001961e: 4681 mov r9, r0 70019620: 2007 movs r0, #7 70019622: f010 f999 bl 70029958 70019626: b338 cbz r0, 70019678 70019628: 4603 mov r3, r0 7001962a: f44f 729a mov.w r2, #308 @ 0x134 7001962e: f44f 71a0 mov.w r1, #320 @ 0x140 70019632: 6244 str r4, [r0, #36] @ 0x24 70019634: 6182 str r2, [r0, #24] 70019636: f44f 7490 mov.w r4, #288 @ 0x120 7001963a: f8c0 8004 str.w r8, [r0, #4] 7001963e: 60c7 str r7, [r0, #12] 70019640: 6146 str r6, [r0, #20] 70019642: 61c5 str r5, [r0, #28] 70019644: f44f 70a2 mov.w r0, #324 @ 0x144 70019648: 6219 str r1, [r3, #32] 7001964a: 4a0d ldr r2, [pc, #52] @ (70019680 ) 7001964c: 490d ldr r1, [pc, #52] @ (70019684 ) 7001964e: 601c str r4, [r3, #0] 70019650: 6319 str r1, [r3, #48] @ 0x30 70019652: f44f 7198 mov.w r1, #304 @ 0x130 70019656: 6812 ldr r2, [r2, #0] 70019658: 6119 str r1, [r3, #16] 7001965a: e9c3 090a strd r0, r9, [r3, #40] @ 0x28 7001965e: f44f 7092 mov.w r0, #292 @ 0x124 70019662: 6098 str r0, [r3, #8] 70019664: 6992 ldr r2, [r2, #24] 70019666: 01d1 lsls r1, r2, #7 70019668: bf4c ite mi 7001966a: f442 0200 orrmi.w r2, r2, #8388608 @ 0x800000 7001966e: f422 0200 bicpl.w r2, r2, #8388608 @ 0x800000 70019672: f042 0204 orr.w r2, r2, #4 70019676: 635a str r2, [r3, #52] @ 0x34 70019678: ecbd 8b06 vpop {d8-d10} 7001967c: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 70019680: 2400db24 .word 0x2400db24 70019684: ff000100 .word 0xff000100 70019688 : 70019688: b5f8 push {r3, r4, r5, r6, r7, lr} 7001968a: 4606 mov r6, r0 7001968c: 2007 movs r0, #7 7001968e: 460f mov r7, r1 70019690: 4615 mov r5, r2 70019692: 461c mov r4, r3 70019694: f010 f960 bl 70029958 70019698: b338 cbz r0, 700196ea 7001969a: f44f 7198 mov.w r1, #304 @ 0x130 7001969e: f44f 729a mov.w r2, #308 @ 0x134 700196a2: f44f 7392 mov.w r3, #292 @ 0x124 700196a6: 6145 str r5, [r0, #20] 700196a8: 6101 str r1, [r0, #16] 700196aa: f44f 71a2 mov.w r1, #324 @ 0x144 700196ae: 6083 str r3, [r0, #8] 700196b0: f44f 75a0 mov.w r5, #320 @ 0x140 700196b4: 4b0d ldr r3, [pc, #52] @ (700196ec ) 700196b6: 6046 str r6, [r0, #4] 700196b8: 60c7 str r7, [r0, #12] 700196ba: 6205 str r5, [r0, #32] 700196bc: e9c0 2406 strd r2, r4, [r0, #24] 700196c0: 9c06 ldr r4, [sp, #24] 700196c2: 4a0b ldr r2, [pc, #44] @ (700196f0 ) 700196c4: e9c0 4109 strd r4, r1, [r0, #36] @ 0x24 700196c8: 9907 ldr r1, [sp, #28] 700196ca: e9c0 120b strd r1, r2, [r0, #44] @ 0x2c 700196ce: f44f 7290 mov.w r2, #288 @ 0x120 700196d2: 6002 str r2, [r0, #0] 700196d4: 681b ldr r3, [r3, #0] 700196d6: 699b ldr r3, [r3, #24] 700196d8: 01da lsls r2, r3, #7 700196da: bf4c ite mi 700196dc: f443 0300 orrmi.w r3, r3, #8388608 @ 0x800000 700196e0: f423 0300 bicpl.w r3, r3, #8388608 @ 0x800000 700196e4: f043 0304 orr.w r3, r3, #4 700196e8: 6343 str r3, [r0, #52] @ 0x34 700196ea: bdf8 pop {r3, r4, r5, r6, r7, pc} 700196ec: 2400db24 .word 0x2400db24 700196f0: ff000100 .word 0xff000100 700196f4 : 700196f4: 2a00 cmp r2, #0 700196f6: dd23 ble.n 70019740 700196f8: 2b00 cmp r3, #0 700196fa: b5f8 push {r3, r4, r5, r6, r7, lr} 700196fc: 461e mov r6, r3 700196fe: dd1e ble.n 7001973e 70019700: 4605 mov r5, r0 70019702: 2003 movs r0, #3 70019704: 460f mov r7, r1 70019706: 4614 mov r4, r2 70019708: f010 f926 bl 70029958 7001970c: b1b8 cbz r0, 7001973e 7001970e: 442c add r4, r5 70019710: b2ad uxth r5, r5 70019712: f44f 7284 mov.w r2, #264 @ 0x108 70019716: 443e add r6, r7 70019718: ea45 4507 orr.w r5, r5, r7, lsl #16 7001971c: 4b09 ldr r3, [pc, #36] @ (70019744 ) 7001971e: b2a4 uxth r4, r4 70019720: e9c0 5201 strd r5, r2, [r0, #4] 70019724: 4a08 ldr r2, [pc, #32] @ (70019748 ) 70019726: ea44 4406 orr.w r4, r4, r6, lsl #16 7001972a: 6102 str r2, [r0, #16] 7001972c: f44f 7282 mov.w r2, #260 @ 0x104 70019730: 60c4 str r4, [r0, #12] 70019732: 6002 str r2, [r0, #0] 70019734: 681b ldr r3, [r3, #0] 70019736: 699b ldr r3, [r3, #24] 70019738: f043 0302 orr.w r3, r3, #2 7001973c: 6143 str r3, [r0, #20] 7001973e: bdf8 pop {r3, r4, r5, r6, r7, pc} 70019740: 4770 bx lr 70019742: bf00 nop 70019744: 2400db24 .word 0x2400db24 70019748: ff000100 .word 0xff000100 7001974c : 7001974c: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 70019750: ed2d 8b08 vpush {d8-d11} 70019754: eeb0 ba60 vmov.f32 s22, s1 70019758: eef0 aa41 vmov.f32 s21, s2 7001975c: eeb0 aa61 vmov.f32 s20, s3 70019760: eef0 9a42 vmov.f32 s19, s4 70019764: eeb0 9a62 vmov.f32 s18, s5 70019768: eef0 8a43 vmov.f32 s17, s6 7001976c: eeb0 8a63 vmov.f32 s16, s7 70019770: f7ff f9f4 bl 70018b5c 70019774: eeb0 0a4b vmov.f32 s0, s22 70019778: 4683 mov fp, r0 7001977a: f7ff f9ef bl 70018b5c 7001977e: eeb0 0a6a vmov.f32 s0, s21 70019782: 4682 mov sl, r0 70019784: f7ff f9ea bl 70018b5c 70019788: eeb0 0a4a vmov.f32 s0, s20 7001978c: 4681 mov r9, r0 7001978e: f7ff f9e5 bl 70018b5c 70019792: eeb0 0a69 vmov.f32 s0, s19 70019796: 4680 mov r8, r0 70019798: f7ff f9e0 bl 70018b5c 7001979c: eeb0 0a49 vmov.f32 s0, s18 700197a0: 4607 mov r7, r0 700197a2: f7ff f9db bl 70018b5c 700197a6: eeb0 0a68 vmov.f32 s0, s17 700197aa: 4606 mov r6, r0 700197ac: f7ff f9d6 bl 70018b5c 700197b0: eeb0 0a48 vmov.f32 s0, s16 700197b4: 4605 mov r5, r0 700197b6: f7ff f9d1 bl 70018b5c 700197ba: 4604 mov r4, r0 700197bc: 2009 movs r0, #9 700197be: f010 f8cb bl 70029958 700197c2: b358 cbz r0, 7001981c 700197c4: f44f 72a8 mov.w r2, #336 @ 0x150 700197c8: f44f 73a2 mov.w r3, #324 @ 0x144 700197cc: f44f 71aa mov.w r1, #340 @ 0x154 700197d0: f8c0 b004 str.w fp, [r0, #4] 700197d4: 6302 str r2, [r0, #48] @ 0x30 700197d6: 4a13 ldr r2, [pc, #76] @ (70019824 ) 700197d8: 6283 str r3, [r0, #40] @ 0x28 700197da: 6402 str r2, [r0, #64] @ 0x40 700197dc: f44f 7292 mov.w r2, #292 @ 0x124 700197e0: 4b11 ldr r3, [pc, #68] @ (70019828 ) 700197e2: 6082 str r2, [r0, #8] 700197e4: f44f 72a0 mov.w r2, #320 @ 0x140 700197e8: f8c0 a00c str.w sl, [r0, #12] 700197ec: f8c0 9014 str.w r9, [r0, #20] 700197f0: f8c0 801c str.w r8, [r0, #28] 700197f4: 6247 str r7, [r0, #36] @ 0x24 700197f6: 62c6 str r6, [r0, #44] @ 0x2c 700197f8: 6345 str r5, [r0, #52] @ 0x34 700197fa: 6202 str r2, [r0, #32] 700197fc: e9c0 140e strd r1, r4, [r0, #56] @ 0x38 70019800: f44f 7190 mov.w r1, #288 @ 0x120 70019804: f44f 7498 mov.w r4, #304 @ 0x130 70019808: 6001 str r1, [r0, #0] 7001980a: f44f 719a mov.w r1, #308 @ 0x134 7001980e: 681b ldr r3, [r3, #0] 70019810: 6104 str r4, [r0, #16] 70019812: 6181 str r1, [r0, #24] 70019814: 699b ldr r3, [r3, #24] 70019816: f043 0305 orr.w r3, r3, #5 7001981a: 6443 str r3, [r0, #68] @ 0x44 7001981c: ecbd 8b08 vpop {d8-d11} 70019820: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 70019824: ff000100 .word 0xff000100 70019828: 2400db24 .word 0x2400db24 7001982c : 7001982c: b5f8 push {r3, r4, r5, r6, r7, lr} 7001982e: 4606 mov r6, r0 70019830: 2009 movs r0, #9 70019832: 460f mov r7, r1 70019834: 4615 mov r5, r2 70019836: 461c mov r4, r3 70019838: f010 f88e bl 70029958 7001983c: b358 cbz r0, 70019896 7001983e: f44f 7198 mov.w r1, #304 @ 0x130 70019842: f44f 729a mov.w r2, #308 @ 0x134 70019846: 6145 str r5, [r0, #20] 70019848: f44f 7392 mov.w r3, #292 @ 0x124 7001984c: 6101 str r1, [r0, #16] 7001984e: f44f 71a0 mov.w r1, #320 @ 0x140 70019852: 9d07 ldr r5, [sp, #28] 70019854: 6201 str r1, [r0, #32] 70019856: 9906 ldr r1, [sp, #24] 70019858: 6083 str r3, [r0, #8] 7001985a: 4b0f ldr r3, [pc, #60] @ (70019898 ) 7001985c: 6046 str r6, [r0, #4] 7001985e: 60c7 str r7, [r0, #12] 70019860: e9c0 2406 strd r2, r4, [r0, #24] 70019864: f44f 72a2 mov.w r2, #324 @ 0x144 70019868: f44f 74a8 mov.w r4, #336 @ 0x150 7001986c: e9c0 1209 strd r1, r2, [r0, #36] @ 0x24 70019870: e9c0 540b strd r5, r4, [r0, #44] @ 0x2c 70019874: f44f 71aa mov.w r1, #340 @ 0x154 70019878: 9c08 ldr r4, [sp, #32] 7001987a: 4a08 ldr r2, [pc, #32] @ (7001989c ) 7001987c: e9c0 410d strd r4, r1, [r0, #52] @ 0x34 70019880: 9909 ldr r1, [sp, #36] @ 0x24 70019882: e9c0 120f strd r1, r2, [r0, #60] @ 0x3c 70019886: f44f 7290 mov.w r2, #288 @ 0x120 7001988a: 6002 str r2, [r0, #0] 7001988c: 681b ldr r3, [r3, #0] 7001988e: 699b ldr r3, [r3, #24] 70019890: f043 0305 orr.w r3, r3, #5 70019894: 6443 str r3, [r0, #68] @ 0x44 70019896: bdf8 pop {r3, r4, r5, r6, r7, pc} 70019898: 2400db24 .word 0x2400db24 7001989c: ff000100 .word 0xff000100 700198a0 : 700198a0: ed9f 7a0b vldr s14, [pc, #44] @ 700198d0 700198a4: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 700198a8: ee20 0a07 vmul.f32 s0, s0, s14 700198ac: ee30 0a27 vadd.f32 s0, s0, s15 700198b0: eefd 7ac0 vcvt.s32.f32 s15, s0 700198b4: ee17 0a90 vmov r0, s15 700198b8: 2860 cmp r0, #96 @ 0x60 700198ba: dc07 bgt.n 700198cc 700198bc: 281f cmp r0, #31 700198be: dd03 ble.n 700198c8 700198c0: 300f adds r0, #15 700198c2: f020 000f bic.w r0, r0, #15 700198c6: 4770 bx lr 700198c8: 2020 movs r0, #32 700198ca: 4770 bx lr 700198cc: 2060 movs r0, #96 @ 0x60 700198ce: 4770 bx lr 700198d0: 3f71463b .word 0x3f71463b 700198d4 : 700198d4: ee71 1ae0 vsub.f32 s3, s3, s1 700198d8: 4602 mov r2, r0 700198da: ee30 1a41 vsub.f32 s2, s0, s2 700198de: ee73 3ae2 vsub.f32 s7, s7, s5 700198e2: ee32 3a43 vsub.f32 s6, s4, s6 700198e6: ee21 7a23 vmul.f32 s14, s2, s7 700198ea: ee61 7a83 vmul.f32 s15, s3, s6 700198ee: ee77 7ac7 vsub.f32 s15, s15, s14 700198f2: eef5 7ac0 vcmpe.f32 s15, #0.0 700198f6: eef1 fa10 vmrs APSR_nzcv, fpscr 700198fa: d42b bmi.n 70019954 700198fc: ed9f 7a1a vldr s14, [pc, #104] @ 70019968 70019900: eef4 7ac7 vcmpe.f32 s15, s14 70019904: eef1 fa10 vmrs APSR_nzcv, fpscr 70019908: bf8c ite hi 7001990a: 2001 movhi r0, #1 7001990c: 2000 movls r0, #0 7001990e: b300 cbz r0, 70019952 70019910: ee21 0a80 vmul.f32 s0, s3, s0 70019914: 2001 movs r0, #1 70019916: ee60 0a81 vmul.f32 s1, s1, s2 7001991a: ee62 2a83 vmul.f32 s5, s5, s6 7001991e: ee23 2a82 vmul.f32 s4, s7, s4 70019922: ee30 0a20 vadd.f32 s0, s0, s1 70019926: ee32 2a22 vadd.f32 s4, s4, s5 7001992a: ee20 3a03 vmul.f32 s6, s0, s6 7001992e: ee20 0a23 vmul.f32 s0, s0, s7 70019932: ee21 1a02 vmul.f32 s2, s2, s4 70019936: ee61 1a82 vmul.f32 s3, s3, s4 7001993a: ee33 3a41 vsub.f32 s6, s6, s2 7001993e: ee71 1ac0 vsub.f32 s3, s3, s0 70019942: eec3 6a27 vdiv.f32 s13, s6, s15 70019946: ee81 7aa7 vdiv.f32 s14, s3, s15 7001994a: edc2 6a00 vstr s13, [r2] 7001994e: ed81 7a00 vstr s14, [r1] 70019952: 4770 bx lr 70019954: ed9f 7a05 vldr s14, [pc, #20] @ 7001996c 70019958: eef4 7ac7 vcmpe.f32 s15, s14 7001995c: eef1 fa10 vmrs APSR_nzcv, fpscr 70019960: bfb4 ite lt 70019962: 2001 movlt r0, #1 70019964: 2000 movge r0, #0 70019966: e7d2 b.n 7001990e 70019968: 3727c5ac .word 0x3727c5ac 7001996c: b727c5ac .word 0xb727c5ac 70019970 : 70019970: eddf 7ab5 vldr s15, [pc, #724] @ 70019c48 70019974: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 70019978: ee61 7a27 vmul.f32 s15, s2, s15 7001997c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70019980: ee77 7a87 vadd.f32 s15, s15, s14 70019984: ed2d 8b08 vpush {d8-d11} 70019988: eefd 7ae7 vcvt.s32.f32 s15, s15 7001998c: b087 sub sp, #28 7001998e: eeb0 aa41 vmov.f32 s20, s2 70019992: eeb0 8a40 vmov.f32 s16, s0 70019996: ee17 3a90 vmov r3, s15 7001999a: eeb0 ba60 vmov.f32 s22, s1 7001999e: 2b60 cmp r3, #96 @ 0x60 700199a0: f300 814a bgt.w 70019c38 700199a4: 2b1f cmp r3, #31 700199a6: f340 8140 ble.w 70019c2a 700199aa: 330f adds r3, #15 700199ac: 49a7 ldr r1, [pc, #668] @ (70019c4c ) 700199ae: 4aa8 ldr r2, [pc, #672] @ (70019c50 ) 700199b0: 111b asrs r3, r3, #4 700199b2: 1e58 subs r0, r3, #1 700199b4: 009b lsls r3, r3, #2 700199b6: eb01 0180 add.w r1, r1, r0, lsl #2 700199ba: 9303 str r3, [sp, #12] 700199bc: eb02 0380 add.w r3, r2, r0, lsl #2 700199c0: ed91 9a00 vldr s18, [r1] 700199c4: edd3 9a00 vldr s19, [r3] 700199c8: 9b03 ldr r3, [sp, #12] 700199ca: eb03 00c3 add.w r0, r3, r3, lsl #3 700199ce: 0040 lsls r0, r0, #1 700199d0: 3804 subs r0, #4 700199d2: f010 f897 bl 70029b04 700199d6: 2800 cmp r0, #0 700199d8: f2c0 8122 blt.w 70019c20 700199dc: eeb0 0a4a vmov.f32 s0, s20 700199e0: f04f 0a01 mov.w sl, #1 700199e4: f7ff f8ba bl 70018b5c 700199e8: eeb0 0a48 vmov.f32 s0, s16 700199ec: 4683 mov fp, r0 700199ee: f7ff f8b5 bl 70018b5c 700199f2: 4604 mov r4, r0 700199f4: eeb0 0a4b vmov.f32 s0, s22 700199f8: eef6 aa00 vmov.f32 s21, #96 @ 0x3f000000 0.5 700199fc: 9004 str r0, [sp, #16] 700199fe: eeb0 8a4a vmov.f32 s16, s20 70019a02: f7ff f8ab bl 70018b5c 70019a06: eba4 050b sub.w r5, r4, fp 70019a0a: eddf 8a92 vldr s17, [pc, #584] @ 70019c54 70019a0e: 44a3 add fp, r4 70019a10: 4606 mov r6, r0 70019a12: 4680 mov r8, r0 70019a14: 9005 str r0, [sp, #20] 70019a16: ee68 6a89 vmul.f32 s13, s17, s18 70019a1a: 4637 mov r7, r6 70019a1c: ee28 7aa9 vmul.f32 s14, s17, s19 70019a20: 9500 str r5, [sp, #0] 70019a22: eef0 7a68 vmov.f32 s15, s17 70019a26: f8cd b004 str.w fp, [sp, #4] 70019a2a: ee68 8a29 vmul.f32 s17, s16, s19 70019a2e: f8cd 8008 str.w r8, [sp, #8] 70019a32: ee28 8a09 vmul.f32 s16, s16, s18 70019a36: ee78 8aa6 vadd.f32 s17, s17, s13 70019a3a: ee38 8a47 vsub.f32 s16, s16, s14 70019a3e: ee78 7ae7 vsub.f32 s15, s17, s15 70019a42: eeb0 0a48 vmov.f32 s0, s16 70019a46: eef4 7aea vcmpe.f32 s15, s21 70019a4a: eef1 fa10 vmrs APSR_nzcv, fpscr 70019a4e: d505 bpl.n 70019a5c 70019a50: 4b81 ldr r3, [pc, #516] @ (70019c58 ) 70019a52: 681b ldr r3, [r3, #0] 70019a54: f893 30fa ldrb.w r3, [r3, #250] @ 0xfa 70019a58: 2b00 cmp r3, #0 70019a5a: d077 beq.n 70019b4c 70019a5c: f7ff f87e bl 70018b5c 70019a60: eeb0 0a68 vmov.f32 s0, s17 70019a64: 4683 mov fp, r0 70019a66: f7ff f879 bl 70018b5c 70019a6a: 9b04 ldr r3, [sp, #16] 70019a6c: 4680 mov r8, r0 70019a6e: 2009 movs r0, #9 70019a70: 9c05 ldr r4, [sp, #20] 70019a72: eba3 050b sub.w r5, r3, fp 70019a76: 449b add fp, r3 70019a78: f00f ff6e bl 70029958 70019a7c: 4603 mov r3, r0 70019a7e: eb04 0608 add.w r6, r4, r8 70019a82: 2009 movs r0, #9 70019a84: eba4 0808 sub.w r8, r4, r8 70019a88: f44f 7998 mov.w r9, #304 @ 0x130 70019a8c: f44f 7ea0 mov.w lr, #320 @ 0x140 70019a90: f44f 7ca2 mov.w ip, #324 @ 0x144 70019a94: f44f 71a8 mov.w r1, #336 @ 0x150 70019a98: f44f 72aa mov.w r2, #340 @ 0x154 70019a9c: b31b cbz r3, 70019ae6 70019a9e: 639a str r2, [r3, #56] @ 0x38 70019aa0: f44f 7490 mov.w r4, #288 @ 0x120 70019aa4: 9a00 ldr r2, [sp, #0] 70019aa6: 601c str r4, [r3, #0] 70019aa8: f44f 7492 mov.w r4, #292 @ 0x124 70019aac: 605a str r2, [r3, #4] 70019aae: 9a01 ldr r2, [sp, #4] 70019ab0: 609c str r4, [r3, #8] 70019ab2: f44f 749a mov.w r4, #308 @ 0x134 70019ab6: 635a str r2, [r3, #52] @ 0x34 70019ab8: 4a68 ldr r2, [pc, #416] @ (70019c5c ) 70019aba: f8c3 9010 str.w r9, [r3, #16] 70019abe: 641a str r2, [r3, #64] @ 0x40 70019ac0: 4a65 ldr r2, [pc, #404] @ (70019c58 ) 70019ac2: 619c str r4, [r3, #24] 70019ac4: 6812 ldr r2, [r2, #0] 70019ac6: f8c3 e020 str.w lr, [r3, #32] 70019aca: f8c3 c028 str.w ip, [r3, #40] @ 0x28 70019ace: 6319 str r1, [r3, #48] @ 0x30 70019ad0: 60df str r7, [r3, #12] 70019ad2: 63df str r7, [r3, #60] @ 0x3c 70019ad4: 615d str r5, [r3, #20] 70019ad6: 61de str r6, [r3, #28] 70019ad8: f8c3 b024 str.w fp, [r3, #36] @ 0x24 70019adc: 62de str r6, [r3, #44] @ 0x2c 70019ade: 6992 ldr r2, [r2, #24] 70019ae0: f042 0205 orr.w r2, r2, #5 70019ae4: 645a str r2, [r3, #68] @ 0x44 70019ae6: f00f ff37 bl 70029958 70019aea: f44f 7990 mov.w r9, #288 @ 0x120 70019aee: f44f 7e98 mov.w lr, #304 @ 0x130 70019af2: f44f 7c9a mov.w ip, #308 @ 0x134 70019af6: f44f 77a0 mov.w r7, #320 @ 0x140 70019afa: f44f 71a2 mov.w r1, #324 @ 0x144 70019afe: f44f 72a8 mov.w r2, #336 @ 0x150 70019b02: f44f 73aa mov.w r3, #340 @ 0x154 70019b06: b308 cbz r0, 70019b4c 70019b08: f44f 7492 mov.w r4, #292 @ 0x124 70019b0c: 6383 str r3, [r0, #56] @ 0x38 70019b0e: 9b02 ldr r3, [sp, #8] 70019b10: 6084 str r4, [r0, #8] 70019b12: 61c3 str r3, [r0, #28] 70019b14: 9c00 ldr r4, [sp, #0] 70019b16: 62c3 str r3, [r0, #44] @ 0x2c 70019b18: 4b4f ldr r3, [pc, #316] @ (70019c58 ) 70019b1a: f8c0 9000 str.w r9, [r0] 70019b1e: 6302 str r2, [r0, #48] @ 0x30 70019b20: 681b ldr r3, [r3, #0] 70019b22: 4a4e ldr r2, [pc, #312] @ (70019c5c ) 70019b24: f8c0 e010 str.w lr, [r0, #16] 70019b28: 6207 str r7, [r0, #32] 70019b2a: 6045 str r5, [r0, #4] 70019b2c: f8c0 800c str.w r8, [r0, #12] 70019b30: f8c0 b034 str.w fp, [r0, #52] @ 0x34 70019b34: f8c0 803c str.w r8, [r0, #60] @ 0x3c 70019b38: 6402 str r2, [r0, #64] @ 0x40 70019b3a: e9c0 4c05 strd r4, ip, [r0, #20] 70019b3e: 9c01 ldr r4, [sp, #4] 70019b40: e9c0 4109 strd r4, r1, [r0, #36] @ 0x24 70019b44: 699b ldr r3, [r3, #24] 70019b46: f043 0305 orr.w r3, r3, #5 70019b4a: 6443 str r3, [r0, #68] @ 0x44 70019b4c: f10a 0a01 add.w sl, sl, #1 70019b50: 9b03 ldr r3, [sp, #12] 70019b52: 459a cmp sl, r3 70019b54: f47f af5f bne.w 70019a16 70019b58: ee3a 0a0b vadd.f32 s0, s20, s22 70019b5c: 4647 mov r7, r8 70019b5e: f7fe fffd bl 70018b5c 70019b62: 4604 mov r4, r0 70019b64: 2007 movs r0, #7 70019b66: f00f fef7 bl 70029958 70019b6a: b338 cbz r0, 70019bbc 70019b6c: f44f 7192 mov.w r1, #292 @ 0x124 70019b70: 9a04 ldr r2, [sp, #16] 70019b72: 60c4 str r4, [r0, #12] 70019b74: 6081 str r1, [r0, #8] 70019b76: f44f 7198 mov.w r1, #304 @ 0x130 70019b7a: 6042 str r2, [r0, #4] 70019b7c: f44f 7290 mov.w r2, #288 @ 0x120 70019b80: 6101 str r1, [r0, #16] 70019b82: f44f 719a mov.w r1, #308 @ 0x134 70019b86: 6002 str r2, [r0, #0] 70019b88: 6181 str r1, [r0, #24] 70019b8a: f44f 71a0 mov.w r1, #320 @ 0x140 70019b8e: 4a32 ldr r2, [pc, #200] @ (70019c58 ) 70019b90: 6201 str r1, [r0, #32] 70019b92: f44f 71a2 mov.w r1, #324 @ 0x144 70019b96: 6812 ldr r2, [r2, #0] 70019b98: 6281 str r1, [r0, #40] @ 0x28 70019b9a: 4930 ldr r1, [pc, #192] @ (70019c5c ) 70019b9c: 6145 str r5, [r0, #20] 70019b9e: 6301 str r1, [r0, #48] @ 0x30 70019ba0: 61c6 str r6, [r0, #28] 70019ba2: 62c6 str r6, [r0, #44] @ 0x2c 70019ba4: f8c0 b024 str.w fp, [r0, #36] @ 0x24 70019ba8: 6992 ldr r2, [r2, #24] 70019baa: 01d1 lsls r1, r2, #7 70019bac: bf4c ite mi 70019bae: f442 0200 orrmi.w r2, r2, #8388608 @ 0x800000 70019bb2: f422 0200 bicpl.w r2, r2, #8388608 @ 0x800000 70019bb6: f042 0204 orr.w r2, r2, #4 70019bba: 6342 str r2, [r0, #52] @ 0x34 70019bbc: ee3b 0a4a vsub.f32 s0, s22, s20 70019bc0: f7fe ffcc bl 70018b5c 70019bc4: 4604 mov r4, r0 70019bc6: 2007 movs r0, #7 70019bc8: f00f fec6 bl 70029958 70019bcc: 4603 mov r3, r0 70019bce: b338 cbz r0, 70019c20 70019bd0: 9a04 ldr r2, [sp, #16] 70019bd2: f44f 71a2 mov.w r1, #324 @ 0x144 70019bd6: 60c4 str r4, [r0, #12] 70019bd8: 6042 str r2, [r0, #4] 70019bda: f44f 7298 mov.w r2, #304 @ 0x130 70019bde: 6145 str r5, [r0, #20] 70019be0: f44f 709a mov.w r0, #308 @ 0x134 70019be4: 611a str r2, [r3, #16] 70019be6: 6198 str r0, [r3, #24] 70019be8: f44f 70a0 mov.w r0, #320 @ 0x140 70019bec: 6299 str r1, [r3, #40] @ 0x28 70019bee: 6218 str r0, [r3, #32] 70019bf0: f44f 7090 mov.w r0, #288 @ 0x120 70019bf4: 4919 ldr r1, [pc, #100] @ (70019c5c ) 70019bf6: 4a18 ldr r2, [pc, #96] @ (70019c58 ) 70019bf8: 6018 str r0, [r3, #0] 70019bfa: 6812 ldr r2, [r2, #0] 70019bfc: 61df str r7, [r3, #28] 70019bfe: f8c3 b024 str.w fp, [r3, #36] @ 0x24 70019c02: e9c3 710b strd r7, r1, [r3, #44] @ 0x2c 70019c06: f44f 7192 mov.w r1, #292 @ 0x124 70019c0a: 6099 str r1, [r3, #8] 70019c0c: 6992 ldr r2, [r2, #24] 70019c0e: 01d1 lsls r1, r2, #7 70019c10: bf4c ite mi 70019c12: f442 0200 orrmi.w r2, r2, #8388608 @ 0x800000 70019c16: f422 0200 bicpl.w r2, r2, #8388608 @ 0x800000 70019c1a: f042 0204 orr.w r2, r2, #4 70019c1e: 635a str r2, [r3, #52] @ 0x34 70019c20: b007 add sp, #28 70019c22: ecbd 8b08 vpop {d8-d11} 70019c26: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70019c2a: 2308 movs r3, #8 70019c2c: eddf 9a0c vldr s19, [pc, #48] @ 70019c60 70019c30: ed9f 9a0c vldr s18, [pc, #48] @ 70019c64 70019c34: 9303 str r3, [sp, #12] 70019c36: e6c7 b.n 700199c8 70019c38: 2318 movs r3, #24 70019c3a: eddf 9a0b vldr s19, [pc, #44] @ 70019c68 70019c3e: ed9f 9a0b vldr s18, [pc, #44] @ 70019c6c 70019c42: 9303 str r3, [sp, #12] 70019c44: e6c0 b.n 700199c8 70019c46: bf00 nop 70019c48: 3f71463b .word 0x3f71463b 70019c4c: 70040070 .word 0x70040070 70019c50: 70040088 .word 0x70040088 70019c54: 00000000 .word 0x00000000 70019c58: 2400db24 .word 0x2400db24 70019c5c: ff000100 .word 0xff000100 70019c60: 3e47c5c2 .word 0x3e47c5c2 70019c64: 3f7b14be .word 0x3f7b14be 70019c68: 3d85f213 .word 0x3d85f213 70019c6c: 3f7f73af .word 0x3f7f73af 70019c70 : 70019c70: b538 push {r3, r4, r5, lr} 70019c72: 4d0d ldr r5, [pc, #52] @ (70019ca8 ) 70019c74: f04f 60a0 mov.w r0, #83886080 @ 0x5000000 70019c78: 682a ldr r2, [r5, #0] 70019c7a: e9d2 3103 ldrd r3, r1, [r2, #12] 70019c7e: 69d4 ldr r4, [r2, #28] 70019c80: 430b orrs r3, r1 70019c82: 6951 ldr r1, [r2, #20] 70019c84: 61d0 str r0, [r2, #28] 70019c86: f004 64f0 and.w r4, r4, #125829120 @ 0x7800000 70019c8a: 430b orrs r3, r1 70019c8c: 4303 orrs r3, r0 70019c8e: 6193 str r3, [r2, #24] 70019c90: f7ff fe6e bl 70019970 70019c94: 682a ldr r2, [r5, #0] 70019c96: e9d2 0104 ldrd r0, r1, [r2, #16] 70019c9a: 68d3 ldr r3, [r2, #12] 70019c9c: 61d4 str r4, [r2, #28] 70019c9e: 430b orrs r3, r1 70019ca0: 4303 orrs r3, r0 70019ca2: 4323 orrs r3, r4 70019ca4: 6193 str r3, [r2, #24] 70019ca6: bd38 pop {r3, r4, r5, pc} 70019ca8: 2400db24 .word 0x2400db24 70019cac : 70019cac: 4601 mov r1, r0 70019cae: 20f8 movs r0, #248 @ 0xf8 70019cb0: f00f bdd6 b.w 70029860 70019cb4 : 70019cb4: 4603 mov r3, r0 70019cb6: f640 70f4 movw r0, #4084 @ 0xff4 70019cba: b510 push {r4, lr} 70019cbc: f44f 7480 mov.w r4, #256 @ 0x100 70019cc0: 409c lsls r4, r3 70019cc2: f7e9 fcb5 bl 70003630 70019cc6: 4601 mov r1, r0 70019cc8: f640 70f4 movw r0, #4084 @ 0xff4 70019ccc: f404 6470 and.w r4, r4, #3840 @ 0xf00 70019cd0: 4321 orrs r1, r4 70019cd2: e8bd 4010 ldmia.w sp!, {r4, lr} 70019cd6: f7e9 bcb1 b.w 7000363c 70019cda: bf00 nop 70019cdc : 70019cdc: 4603 mov r3, r0 70019cde: f640 70f4 movw r0, #4084 @ 0xff4 70019ce2: b510 push {r4, lr} 70019ce4: 2410 movs r4, #16 70019ce6: 409c lsls r4, r3 70019ce8: f7e9 fca2 bl 70003630 70019cec: 4601 mov r1, r0 70019cee: f640 70f4 movw r0, #4084 @ 0xff4 70019cf2: b2e4 uxtb r4, r4 70019cf4: 4321 orrs r1, r4 70019cf6: e8bd 4010 ldmia.w sp!, {r4, lr} 70019cfa: f7e9 bc9f b.w 7000363c 70019cfe: bf00 nop 70019d00 : 70019d00: 4603 mov r3, r0 70019d02: f640 70f4 movw r0, #4084 @ 0xff4 70019d06: b510 push {r4, lr} 70019d08: 2401 movs r4, #1 70019d0a: 409c lsls r4, r3 70019d0c: f7e9 fc90 bl 70003630 70019d10: 4601 mov r1, r0 70019d12: f640 70f4 movw r0, #4084 @ 0xff4 70019d16: f004 040f and.w r4, r4, #15 70019d1a: ea21 0104 bic.w r1, r1, r4 70019d1e: e8bd 4010 ldmia.w sp!, {r4, lr} 70019d22: f7e9 bc8b b.w 7000363c 70019d26: bf00 nop 70019d28 : 70019d28: 2301 movs r3, #1 70019d2a: f640 72f4 movw r2, #4084 @ 0xff4 70019d2e: 4083 lsls r3, r0 70019d30: 1e08 subs r0, r1, #0 70019d32: f003 010f and.w r1, r3, #15 70019d36: bf18 it ne 70019d38: 2001 movne r0, #1 70019d3a: eb01 4101 add.w r1, r1, r1, lsl #16 70019d3e: ea42 60c0 orr.w r0, r2, r0, lsl #27 70019d42: f00f bd8d b.w 70029860 70019d46: bf00 nop 70019d48 : 70019d48: 2902 cmp r1, #2 70019d4a: dc00 bgt.n 70019d4e 70019d4c: 4770 bx lr 70019d4e: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 70019d52: eb00 0382 add.w r3, r0, r2, lsl #2 70019d56: 4615 mov r5, r2 70019d58: eb00 02c2 add.w r2, r0, r2, lsl #3 70019d5c: 1e8c subs r4, r1, #2 70019d5e: 4683 mov fp, r0 70019d60: 00af lsls r7, r5, #2 70019d62: ed2d 8b02 vpush {d8} 70019d66: edd2 2a01 vldr s5, [r2, #4] 70019d6a: edd3 1a01 vldr s3, [r3, #4] 70019d6e: ed93 1a00 vldr s2, [r3] 70019d72: edd0 0a01 vldr s1, [r0, #4] 70019d76: ed90 0a00 vldr s0, [r0] 70019d7a: ed92 2a00 vldr s4, [r2] 70019d7e: f7ff fc25 bl 700195cc 70019d82: 2c01 cmp r4, #1 70019d84: d05f beq.n 70019e46 70019d86: eb05 0545 add.w r5, r5, r5, lsl #1 70019d8a: 2601 movs r6, #1 70019d8c: f8df 90c0 ldr.w r9, [pc, #192] @ 70019e50 70019d90: eb0b 0b85 add.w fp, fp, r5, lsl #2 70019d94: f8df 80bc ldr.w r8, [pc, #188] @ 70019e54 70019d98: f10b 0b04 add.w fp, fp, #4 70019d9c: ed9b 8a00 vldr s16, [fp] 70019da0: ed1b 0a01 vldr s0, [fp, #-4] 70019da4: f7fe feda bl 70018b5c 70019da8: eeb0 0a48 vmov.f32 s0, s16 70019dac: 4682 mov sl, r0 70019dae: f7fe fed5 bl 70018b5c 70019db2: 4605 mov r5, r0 70019db4: 2003 movs r0, #3 70019db6: f00f fdcf bl 70029958 70019dba: 4603 mov r3, r0 70019dbc: b1a8 cbz r0, 70019dea 70019dbe: f44f 729a mov.w r2, #308 @ 0x134 70019dc2: f8c0 a004 str.w sl, [r0, #4] 70019dc6: 6082 str r2, [r0, #8] 70019dc8: f44f 7298 mov.w r2, #304 @ 0x130 70019dcc: 6002 str r2, [r0, #0] 70019dce: f8d8 2000 ldr.w r2, [r8] 70019dd2: e9c0 5903 strd r5, r9, [r0, #12] 70019dd6: 6992 ldr r2, [r2, #24] 70019dd8: 01d0 lsls r0, r2, #7 70019dda: bf4c ite mi 70019ddc: f442 0200 orrmi.w r2, r2, #8388608 @ 0x800000 70019de0: f422 0200 bicpl.w r2, r2, #8388608 @ 0x800000 70019de4: f042 0204 orr.w r2, r2, #4 70019de8: 615a str r2, [r3, #20] 70019dea: 1c73 adds r3, r6, #1 70019dec: 44bb add fp, r7 70019dee: 42a3 cmp r3, r4 70019df0: d029 beq.n 70019e46 70019df2: ed9b 8a00 vldr s16, [fp] 70019df6: ed1b 0a01 vldr s0, [fp, #-4] 70019dfa: f7fe feaf bl 70018b5c 70019dfe: eeb0 0a48 vmov.f32 s0, s16 70019e02: 4682 mov sl, r0 70019e04: f7fe feaa bl 70018b5c 70019e08: 4605 mov r5, r0 70019e0a: 2003 movs r0, #3 70019e0c: f00f fda4 bl 70029958 70019e10: b1a8 cbz r0, 70019e3e 70019e12: f44f 72a2 mov.w r2, #324 @ 0x144 70019e16: f8c0 a004 str.w sl, [r0, #4] 70019e1a: 6082 str r2, [r0, #8] 70019e1c: f44f 72a0 mov.w r2, #320 @ 0x140 70019e20: 6002 str r2, [r0, #0] 70019e22: f8d8 2000 ldr.w r2, [r8] 70019e26: e9c0 5903 strd r5, r9, [r0, #12] 70019e2a: 6992 ldr r2, [r2, #24] 70019e2c: 01d1 lsls r1, r2, #7 70019e2e: bf4c ite mi 70019e30: f442 0200 orrmi.w r2, r2, #8388608 @ 0x800000 70019e34: f422 0200 bicpl.w r2, r2, #8388608 @ 0x800000 70019e38: f042 0204 orr.w r2, r2, #4 70019e3c: 6142 str r2, [r0, #20] 70019e3e: 3602 adds r6, #2 70019e40: 44bb add fp, r7 70019e42: 42a6 cmp r6, r4 70019e44: d1aa bne.n 70019d9c 70019e46: ecbd 8b02 vpop {d8} 70019e4a: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 70019e4e: bf00 nop 70019e50: ff000100 .word 0xff000100 70019e54: 2400db24 .word 0x2400db24 70019e58 : 70019e58: 4684 mov ip, r0 70019e5a: 4820 ldr r0, [pc, #128] @ (70019edc ) 70019e5c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70019e60: 6805 ldr r5, [r0, #0] 70019e62: f8dd 8018 ldr.w r8, [sp, #24] 70019e66: f8d5 42d8 ldr.w r4, [r5, #728] @ 0x2d8 70019e6a: f8d5 02e0 ldr.w r0, [r5, #736] @ 0x2e0 70019e6e: f8d5 62dc ldr.w r6, [r5, #732] @ 0x2dc 70019e72: 4294 cmp r4, r2 70019e74: eb04 0e00 add.w lr, r4, r0 70019e78: f8d5 02e4 ldr.w r0, [r5, #740] @ 0x2e4 70019e7c: 9f07 ldr r7, [sp, #28] 70019e7e: 4430 add r0, r6 70019e80: dc2a bgt.n 70019ed8 70019e82: 4572 cmp r2, lr 70019e84: bfa8 it ge 70019e86: 4672 movge r2, lr 70019e88: 4544 cmp r4, r8 70019e8a: dc03 bgt.n 70019e94 70019e8c: 45c6 cmp lr, r8 70019e8e: 4674 mov r4, lr 70019e90: bfa8 it ge 70019e92: 4644 movge r4, r8 70019e94: 429e cmp r6, r3 70019e96: dc1d bgt.n 70019ed4 70019e98: 4283 cmp r3, r0 70019e9a: bfa8 it ge 70019e9c: 4603 movge r3, r0 70019e9e: 461d mov r5, r3 70019ea0: 42be cmp r6, r7 70019ea2: dc03 bgt.n 70019eac 70019ea4: 42b8 cmp r0, r7 70019ea6: bfa8 it ge 70019ea8: 4638 movge r0, r7 70019eaa: 4606 mov r6, r0 70019eac: b293 uxth r3, r2 70019eae: 1d08 adds r0, r1, #4 70019eb0: b2a2 uxth r2, r4 70019eb2: ea43 4305 orr.w r3, r3, r5, lsl #16 70019eb6: f44f 7588 mov.w r5, #272 @ 0x110 70019eba: eb0c 0481 add.w r4, ip, r1, lsl #2 70019ebe: f84c 5021 str.w r5, [ip, r1, lsl #2] 70019ec2: ea42 4206 orr.w r2, r2, r6, lsl #16 70019ec6: 6063 str r3, [r4, #4] 70019ec8: f44f 738a mov.w r3, #276 @ 0x114 70019ecc: e9c4 3202 strd r3, r2, [r4, #8] 70019ed0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 70019ed4: 4635 mov r5, r6 70019ed6: e7e3 b.n 70019ea0 70019ed8: 4622 mov r2, r4 70019eda: e7d5 b.n 70019e88 70019edc: 2400dc78 .word 0x2400dc78 70019ee0 : 70019ee0: b570 push {r4, r5, r6, lr} 70019ee2: 4c3d ldr r4, [pc, #244] @ (70019fd8 ) 70019ee4: eeb4 0ae0 vcmpe.f32 s0, s1 70019ee8: b084 sub sp, #16 70019eea: 4605 mov r5, r0 70019eec: 6824 ldr r4, [r4, #0] 70019eee: eef1 fa10 vmrs APSR_nzcv, fpscr 70019ef2: f8d4 62e4 ldr.w r6, [r4, #740] @ 0x2e4 70019ef6: e9cd 2302 strd r2, r3, [sp, #8] 70019efa: f8d4 32e0 ldr.w r3, [r4, #736] @ 0x2e0 70019efe: f8d4 22d8 ldr.w r2, [r4, #728] @ 0x2d8 70019f02: eb02 0003 add.w r0, r2, r3 70019f06: f8d4 32dc ldr.w r3, [r4, #732] @ 0x2dc 70019f0a: 441e add r6, r3 70019f0c: dd10 ble.n 70019f30 70019f0e: ed9d 7a02 vldr s14, [sp, #8] 70019f12: edd4 7ab0 vldr s15, [r4, #704] @ 0x2c0 70019f16: eeb8 7ac7 vcvt.f32.s32 s14, s14 70019f1a: eef4 7ac7 vcmpe.f32 s15, s14 70019f1e: eef1 fa10 vmrs APSR_nzcv, fpscr 70019f22: d53d bpl.n 70019fa0 70019f24: eefd 7ae7 vcvt.s32.f32 s15, s15 70019f28: 9802 ldr r0, [sp, #8] 70019f2a: ee17 2a90 vmov r2, s15 70019f2e: e00f b.n 70019f50 70019f30: ed9d 7a03 vldr s14, [sp, #12] 70019f34: edd4 7ab1 vldr s15, [r4, #708] @ 0x2c4 70019f38: eeb8 7ac7 vcvt.f32.s32 s14, s14 70019f3c: eef4 7ac7 vcmpe.f32 s15, s14 70019f40: eef1 fa10 vmrs APSR_nzcv, fpscr 70019f44: d513 bpl.n 70019f6e 70019f46: eefd 7ae7 vcvt.s32.f32 s15, s15 70019f4a: 9e03 ldr r6, [sp, #12] 70019f4c: ee17 3a90 vmov r3, s15 70019f50: 4c22 ldr r4, [pc, #136] @ (70019fdc ) 70019f52: e9cd 0600 strd r0, r6, [sp] 70019f56: 4628 mov r0, r5 70019f58: f7ff ff7e bl 70019e58 70019f5c: 2204 movs r2, #4 70019f5e: eb05 0380 add.w r3, r5, r0, lsl #2 70019f62: f845 4020 str.w r4, [r5, r0, lsl #2] 70019f66: 3002 adds r0, #2 70019f68: 605a str r2, [r3, #4] 70019f6a: b004 add sp, #16 70019f6c: bd70 pop {r4, r5, r6, pc} 70019f6e: ed9d 7a09 vldr s14, [sp, #36] @ 0x24 70019f72: eeb8 7ac7 vcvt.f32.s32 s14, s14 70019f76: eef4 7ac7 vcmpe.f32 s15, s14 70019f7a: eef1 fa10 vmrs APSR_nzcv, fpscr 70019f7e: db28 blt.n 70019fd2 70019f80: eebd 7ae7 vcvt.s32.f32 s14, s15 70019f84: eef8 6ac7 vcvt.f32.s32 s13, s14 70019f88: ee17 3a10 vmov r3, s14 70019f8c: eef4 7ae6 vcmpe.f32 s15, s13 70019f90: eef1 fa10 vmrs APSR_nzcv, fpscr 70019f94: bfcc ite gt 70019f96: 2601 movgt r6, #1 70019f98: 2600 movle r6, #0 70019f9a: 441e add r6, r3 70019f9c: 9b09 ldr r3, [sp, #36] @ 0x24 70019f9e: e7d7 b.n 70019f50 70019fa0: ed9d 7a08 vldr s14, [sp, #32] 70019fa4: eeb8 7ac7 vcvt.f32.s32 s14, s14 70019fa8: eef4 7ac7 vcmpe.f32 s15, s14 70019fac: eef1 fa10 vmrs APSR_nzcv, fpscr 70019fb0: db0f blt.n 70019fd2 70019fb2: eebd 7ae7 vcvt.s32.f32 s14, s15 70019fb6: eef8 6ac7 vcvt.f32.s32 s13, s14 70019fba: ee17 2a10 vmov r2, s14 70019fbe: eef4 7ae6 vcmpe.f32 s15, s13 70019fc2: eef1 fa10 vmrs APSR_nzcv, fpscr 70019fc6: bfcc ite gt 70019fc8: 2001 movgt r0, #1 70019fca: 2000 movle r0, #0 70019fcc: 4410 add r0, r2 70019fce: 9a08 ldr r2, [sp, #32] 70019fd0: e7be b.n 70019f50 70019fd2: 4608 mov r0, r1 70019fd4: b004 add sp, #16 70019fd6: bd70 pop {r4, r5, r6, pc} 70019fd8: 2400dc78 .word 0x2400dc78 70019fdc: ff000100 .word 0xff000100 70019fe0 : 70019fe0: 4be5 ldr r3, [pc, #916] @ (7001a378 ) 70019fe2: 4684 mov ip, r0 70019fe4: 460a mov r2, r1 70019fe6: b5f0 push {r4, r5, r6, r7, lr} 70019fe8: 681b ldr r3, [r3, #0] 70019fea: b089 sub sp, #36 @ 0x24 70019fec: ed93 7a07 vldr s14, [r3, #28] 70019ff0: edd3 5a09 vldr s11, [r3, #36] @ 0x24 70019ff4: edd3 7a08 vldr s15, [r3, #32] 70019ff8: eeb4 7ae5 vcmpe.f32 s14, s11 70019ffc: ed93 4a0a vldr s8, [r3, #40] @ 0x28 7001a000: ed93 6a0b vldr s12, [r3, #44] @ 0x2c 7001a004: edd3 4a0c vldr s9, [r3, #48] @ 0x30 7001a008: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a00c: edd3 6a0d vldr s13, [r3, #52] @ 0x34 7001a010: ed93 5a0e vldr s10, [r3, #56] @ 0x38 7001a014: ed8d 7a00 vstr s14, [sp] 7001a018: edcd 7a01 vstr s15, [sp, #4] 7001a01c: edcd 5a02 vstr s11, [sp, #8] 7001a020: ed8d 4a03 vstr s8, [sp, #12] 7001a024: ed8d 6a04 vstr s12, [sp, #16] 7001a028: edcd 4a05 vstr s9, [sp, #20] 7001a02c: edcd 6a06 vstr s13, [sp, #24] 7001a030: ed8d 5a07 vstr s10, [sp, #28] 7001a034: dc2a bgt.n 7001a08c 7001a036: ee77 3a65 vsub.f32 s7, s14, s11 7001a03a: eef5 3ac0 vcmpe.f32 s7, #0.0 7001a03e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a042: f100 843d bmi.w 7001a8c0 7001a046: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001a04a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a04e: f100 8456 bmi.w 7001a8fe 7001a052: eef5 5ac0 vcmpe.f32 s11, #0.0 7001a056: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a05a: f100 844c bmi.w 7001a8f6 7001a05e: eeb4 7ae5 vcmpe.f32 s14, s11 7001a062: ed9f 3ac6 vldr s6, [pc, #792] @ 7001a37c 7001a066: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a06a: bf58 it pl 7001a06c: eeb0 7a65 vmovpl.f32 s14, s11 7001a070: ee27 7a03 vmul.f32 s14, s14, s6 7001a074: eef4 3ac7 vcmpe.f32 s7, s14 7001a078: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a07c: f200 8410 bhi.w 7001a8a0 7001a080: eef4 7ac4 vcmpe.f32 s15, s8 7001a084: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a088: f340 840a ble.w 7001a8a0 7001a08c: 2101 movs r1, #1 7001a08e: a802 add r0, sp, #8 7001a090: ed90 7a00 vldr s14, [r0] 7001a094: eeb4 6ac7 vcmpe.f32 s12, s14 7001a098: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a09c: f100 8351 bmi.w 7001a742 7001a0a0: ee77 5a46 vsub.f32 s11, s14, s12 7001a0a4: eef5 5ac0 vcmpe.f32 s11, #0.0 7001a0a8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a0ac: f100 841a bmi.w 7001a8e4 7001a0b0: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001a0b4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a0b8: f100 840b bmi.w 7001a8d2 7001a0bc: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001a0c0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a0c4: f100 83f9 bmi.w 7001a8ba 7001a0c8: eeb4 7ac6 vcmpe.f32 s14, s12 7001a0cc: ed9f 4aab vldr s8, [pc, #684] @ 7001a37c 7001a0d0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a0d4: bf58 it pl 7001a0d6: eeb0 7a46 vmovpl.f32 s14, s12 7001a0da: ee27 7a04 vmul.f32 s14, s14, s8 7001a0de: eef4 5ac7 vcmpe.f32 s11, s14 7001a0e2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a0e6: f240 8324 bls.w 7001a732 7001a0ea: ed90 7a00 vldr s14, [r0] 7001a0ee: eef4 6ac7 vcmpe.f32 s13, s14 7001a0f2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a0f6: f100 832e bmi.w 7001a756 7001a0fa: ee37 6a66 vsub.f32 s12, s14, s13 7001a0fe: eddf 5a9f vldr s11, [pc, #636] @ 7001a37c 7001a102: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001a106: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a10a: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001a10e: bf48 it mi 7001a110: eeb1 6a46 vnegmi.f32 s12, s12 7001a114: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a118: eef5 6ac0 vcmpe.f32 s13, #0.0 7001a11c: bf48 it mi 7001a11e: eeb1 7a47 vnegmi.f32 s14, s14 7001a122: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a126: bf48 it mi 7001a128: eef1 6a66 vnegmi.f32 s13, s13 7001a12c: eeb4 7ae6 vcmpe.f32 s14, s13 7001a130: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a134: bf58 it pl 7001a136: eeb0 7a66 vmovpl.f32 s14, s13 7001a13a: ee27 7a25 vmul.f32 s14, s14, s11 7001a13e: eeb4 7ac6 vcmpe.f32 s14, s12 7001a142: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a146: f280 83af bge.w 7001a8a8 7001a14a: 1cc8 adds r0, r1, #3 7001a14c: ac08 add r4, sp, #32 7001a14e: f000 0003 and.w r0, r0, #3 7001a152: eb04 00c0 add.w r0, r4, r0, lsl #3 7001a156: ed10 7a08 vldr s14, [r0, #-32] @ 0xffffffe0 7001a15a: ed10 6a07 vldr s12, [r0, #-28] @ 0xffffffe4 7001a15e: 1c48 adds r0, r1, #1 7001a160: eb04 01c1 add.w r1, r4, r1, lsl #3 7001a164: f000 0003 and.w r0, r0, #3 7001a168: ed11 5a08 vldr s10, [r1, #-32] @ 0xffffffe0 7001a16c: ed51 4a07 vldr s9, [r1, #-28] @ 0xffffffe4 7001a170: eb04 01c0 add.w r1, r4, r0, lsl #3 7001a174: ee37 7a45 vsub.f32 s14, s14, s10 7001a178: ed51 5a07 vldr s11, [r1, #-28] @ 0xffffffe4 7001a17c: ee36 6a64 vsub.f32 s12, s12, s9 7001a180: ed51 6a08 vldr s13, [r1, #-32] @ 0xffffffe0 7001a184: ee75 5ae4 vsub.f32 s11, s11, s9 7001a188: ee76 6ac5 vsub.f32 s13, s13, s10 7001a18c: ee27 7a25 vmul.f32 s14, s14, s11 7001a190: ee66 6a86 vmul.f32 s13, s13, s12 7001a194: ee37 7a66 vsub.f32 s14, s14, s13 7001a198: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001a19c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a1a0: dd1a ble.n 7001a1d8 7001a1a2: f103 0134 add.w r1, r3, #52 @ 0x34 7001a1a6: f103 052c add.w r5, r3, #44 @ 0x2c 7001a1aa: 466e mov r6, sp 7001a1ac: ac02 add r4, sp, #8 7001a1ae: c903 ldmia r1, {r0, r1} 7001a1b0: e886 0003 stmia.w r6, {r0, r1} 7001a1b4: e895 0003 ldmia.w r5, {r0, r1} 7001a1b8: eddd 7a01 vldr s15, [sp, #4] 7001a1bc: e884 0003 stmia.w r4, {r0, r1} 7001a1c0: f103 0124 add.w r1, r3, #36 @ 0x24 7001a1c4: ac04 add r4, sp, #16 7001a1c6: 331c adds r3, #28 7001a1c8: c903 ldmia r1, {r0, r1} 7001a1ca: e884 0003 stmia.w r4, {r0, r1} 7001a1ce: e893 0003 ldmia.w r3, {r0, r1} 7001a1d2: ab08 add r3, sp, #32 7001a1d4: e903 0003 stmdb r3, {r0, r1} 7001a1d8: ed9d 6a03 vldr s12, [sp, #12] 7001a1dc: eeb4 6ae7 vcmpe.f32 s12, s15 7001a1e0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a1e4: f140 82b9 bpl.w 7001a75a 7001a1e8: eef0 5a46 vmov.f32 s11, s12 7001a1ec: eddd 6a05 vldr s13, [sp, #20] 7001a1f0: 2101 movs r1, #1 7001a1f2: ae02 add r6, sp, #8 7001a1f4: eef4 5ae6 vcmpe.f32 s11, s13 7001a1f8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a1fc: f300 82ec bgt.w 7001a7d8 7001a200: ee35 5ae6 vsub.f32 s10, s11, s13 7001a204: eeb5 5ac0 vcmpe.f32 s10, #0.0 7001a208: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a20c: d501 bpl.n 7001a212 7001a20e: eeb1 5a45 vneg.f32 s10, s10 7001a212: eef5 5ac0 vcmpe.f32 s11, #0.0 7001a216: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a21a: f100 8420 bmi.w 7001aa5e 7001a21e: eef5 6ac0 vcmpe.f32 s13, #0.0 7001a222: eeb0 7a65 vmov.f32 s14, s11 7001a226: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a22a: f100 8420 bmi.w 7001aa6e 7001a22e: eef0 4a66 vmov.f32 s9, s13 7001a232: eeb4 7ae4 vcmpe.f32 s14, s9 7001a236: ed9f 4a51 vldr s8, [pc, #324] @ 7001a37c 7001a23a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a23e: bf58 it pl 7001a240: eeb0 7a64 vmovpl.f32 s14, s9 7001a244: ee27 7a04 vmul.f32 s14, s14, s8 7001a248: eeb4 5ac7 vcmpe.f32 s10, s14 7001a24c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a250: f240 83f9 bls.w 7001aa46 7001a254: ed9d 7a07 vldr s14, [sp, #28] 7001a258: eeb4 7ae5 vcmpe.f32 s14, s11 7001a25c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a260: f100 82c6 bmi.w 7001a7f0 7001a264: ee75 4ac7 vsub.f32 s9, s11, s14 7001a268: eddf 3a44 vldr s7, [pc, #272] @ 7001a37c 7001a26c: eef5 4ac0 vcmpe.f32 s9, #0.0 7001a270: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a274: eef5 5ac0 vcmpe.f32 s11, #0.0 7001a278: bf48 it mi 7001a27a: eef1 4a64 vnegmi.f32 s9, s9 7001a27e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a282: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001a286: bf4c ite mi 7001a288: eeb1 5a65 vnegmi.f32 s10, s11 7001a28c: eeb0 5a65 vmovpl.f32 s10, s11 7001a290: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a294: bf4c ite mi 7001a296: eeb1 4a47 vnegmi.f32 s8, s14 7001a29a: eeb0 4a47 vmovpl.f32 s8, s14 7001a29e: eeb4 5ac4 vcmpe.f32 s10, s8 7001a2a2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a2a6: bf58 it pl 7001a2a8: eeb0 5a44 vmovpl.f32 s10, s8 7001a2ac: ee25 5a23 vmul.f32 s10, s10, s7 7001a2b0: eeb4 5ae4 vcmpe.f32 s10, s9 7001a2b4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a2b8: f280 83ba bge.w 7001aa30 7001a2bc: eeb4 6ae7 vcmpe.f32 s12, s15 7001a2c0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a2c4: f100 829e bmi.w 7001a804 7001a2c8: ee77 4ac6 vsub.f32 s9, s15, s12 7001a2cc: eef5 4ac0 vcmpe.f32 s9, #0.0 7001a2d0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a2d4: d501 bpl.n 7001a2da 7001a2d6: eef1 4a64 vneg.f32 s9, s9 7001a2da: eef5 7ac0 vcmpe.f32 s15, #0.0 7001a2de: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a2e2: f100 83da bmi.w 7001aa9a 7001a2e6: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001a2ea: eeb0 4a67 vmov.f32 s8, s15 7001a2ee: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a2f2: f100 83da bmi.w 7001aaaa 7001a2f6: eeb0 5a46 vmov.f32 s10, s12 7001a2fa: eeb4 5a44 vcmp.f32 s10, s8 7001a2fe: eddf 3a1f vldr s7, [pc, #124] @ 7001a37c 7001a302: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a306: fe34 5a05 vselgt.f32 s10, s8, s10 7001a30a: ee25 5a23 vmul.f32 s10, s10, s7 7001a30e: eeb4 5ae4 vcmpe.f32 s10, s9 7001a312: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a316: f280 8380 bge.w 7001aa1a 7001a31a: 466d mov r5, sp 7001a31c: ed95 5a01 vldr s10, [r5, #4] 7001a320: eeb4 5ae6 vcmpe.f32 s10, s13 7001a324: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a328: f300 8275 bgt.w 7001a816 7001a32c: ee35 4a66 vsub.f32 s8, s10, s13 7001a330: eeb5 4ac0 vcmpe.f32 s8, #0.0 7001a334: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a338: d501 bpl.n 7001a33e 7001a33a: eeb1 4a44 vneg.f32 s8, s8 7001a33e: eeb5 5ac0 vcmpe.f32 s10, #0.0 7001a342: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a346: d501 bpl.n 7001a34c 7001a348: eeb1 5a45 vneg.f32 s10, s10 7001a34c: eef5 6ac0 vcmpe.f32 s13, #0.0 7001a350: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a354: f100 83ac bmi.w 7001aab0 7001a358: eef0 4a66 vmov.f32 s9, s13 7001a35c: eef4 4a45 vcmp.f32 s9, s10 7001a360: eddf 3a06 vldr s7, [pc, #24] @ 7001a37c 7001a364: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a368: fe75 4a24 vselgt.f32 s9, s10, s9 7001a36c: ee64 4aa3 vmul.f32 s9, s9, s7 7001a370: eeb4 4ae4 vcmpe.f32 s8, s9 7001a374: e004 b.n 7001a380 7001a376: bf00 nop 7001a378: 2400dc38 .word 0x2400dc38 7001a37c: 3727c5ac .word 0x3727c5ac 7001a380: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a384: f240 833e bls.w 7001aa04 7001a388: ed95 5a01 vldr s10, [r5, #4] 7001a38c: eeb4 7ac5 vcmpe.f32 s14, s10 7001a390: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a394: f100 8248 bmi.w 7001a828 7001a398: ee35 4a47 vsub.f32 s8, s10, s14 7001a39c: ed5f 3a09 vldr s7, [pc, #-36] @ 7001a37c 7001a3a0: eeb5 4ac0 vcmpe.f32 s8, #0.0 7001a3a4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a3a8: eeb5 5ac0 vcmpe.f32 s10, #0.0 7001a3ac: bf48 it mi 7001a3ae: eeb1 4a44 vnegmi.f32 s8, s8 7001a3b2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a3b6: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001a3ba: bf48 it mi 7001a3bc: eeb1 5a45 vnegmi.f32 s10, s10 7001a3c0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a3c4: bf4c ite mi 7001a3c6: eef1 4a47 vnegmi.f32 s9, s14 7001a3ca: eef0 4a47 vmovpl.f32 s9, s14 7001a3ce: eeb4 5a64 vcmp.f32 s10, s9 7001a3d2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a3d6: bf48 it mi 7001a3d8: eef0 4a45 vmovmi.f32 s9, s10 7001a3dc: ee64 4aa3 vmul.f32 s9, s9, s7 7001a3e0: eef4 4ac4 vcmpe.f32 s9, s8 7001a3e4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a3e8: f280 8301 bge.w 7001a9ee 7001a3ec: eeb4 6ae7 vcmpe.f32 s12, s15 7001a3f0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a3f4: f300 821f bgt.w 7001a836 7001a3f8: ee77 4ac6 vsub.f32 s9, s15, s12 7001a3fc: eef5 4ac0 vcmpe.f32 s9, #0.0 7001a400: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a404: d501 bpl.n 7001a40a 7001a406: eef1 4a64 vneg.f32 s9, s9 7001a40a: eef5 7ac0 vcmpe.f32 s15, #0.0 7001a40e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a412: f100 8339 bmi.w 7001aa88 7001a416: eeb0 5a67 vmov.f32 s10, s15 7001a41a: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001a41e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a422: f100 832e bmi.w 7001aa82 7001a426: eeb0 4a46 vmov.f32 s8, s12 7001a42a: eeb4 4ac5 vcmpe.f32 s8, s10 7001a42e: ed5f 3a2d vldr s7, [pc, #-180] @ 7001a37c 7001a432: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a436: fe35 5a04 vselgt.f32 s10, s10, s8 7001a43a: ee25 5a23 vmul.f32 s10, s10, s7 7001a43e: eeb4 5ae4 vcmpe.f32 s10, s9 7001a442: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a446: f280 82c7 bge.w 7001a9d8 7001a44a: eeb0 5a67 vmov.f32 s10, s15 7001a44e: 2300 movs r3, #0 7001a450: 46ee mov lr, sp 7001a452: eeb4 5ae6 vcmpe.f32 s10, s13 7001a456: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a45a: f100 81f7 bmi.w 7001a84c 7001a45e: ee35 4a66 vsub.f32 s8, s10, s13 7001a462: eeb5 4ac0 vcmpe.f32 s8, #0.0 7001a466: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a46a: d501 bpl.n 7001a470 7001a46c: eeb1 4a44 vneg.f32 s8, s8 7001a470: eeb5 5ac0 vcmpe.f32 s10, #0.0 7001a474: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a478: f100 830c bmi.w 7001aa94 7001a47c: eef0 4a45 vmov.f32 s9, s10 7001a480: eef5 6ac0 vcmpe.f32 s13, #0.0 7001a484: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a488: f100 8301 bmi.w 7001aa8e 7001a48c: eef0 3a66 vmov.f32 s7, s13 7001a490: eef4 3ae4 vcmpe.f32 s7, s9 7001a494: ed1f 3a47 vldr s6, [pc, #-284] @ 7001a37c 7001a498: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a49c: fe74 4aa3 vselgt.f32 s9, s9, s7 7001a4a0: ee64 4a83 vmul.f32 s9, s9, s6 7001a4a4: eef4 4ac4 vcmpe.f32 s9, s8 7001a4a8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a4ac: f280 8289 bge.w 7001a9c2 7001a4b0: eeb4 7ac5 vcmpe.f32 s14, s10 7001a4b4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a4b8: f300 81d3 bgt.w 7001a862 7001a4bc: ee35 4a47 vsub.f32 s8, s10, s14 7001a4c0: ed1f 3a52 vldr s6, [pc, #-328] @ 7001a37c 7001a4c4: eeb5 4ac0 vcmpe.f32 s8, #0.0 7001a4c8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a4cc: eeb5 5ac0 vcmpe.f32 s10, #0.0 7001a4d0: bf48 it mi 7001a4d2: eeb1 4a44 vnegmi.f32 s8, s8 7001a4d6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a4da: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001a4de: bf4c ite mi 7001a4e0: eef1 4a45 vnegmi.f32 s9, s10 7001a4e4: eef0 4a45 vmovpl.f32 s9, s10 7001a4e8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a4ec: bf4c ite mi 7001a4ee: eef1 3a47 vnegmi.f32 s7, s14 7001a4f2: eef0 3a47 vmovpl.f32 s7, s14 7001a4f6: eef4 4ae3 vcmpe.f32 s9, s7 7001a4fa: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a4fe: bf58 it pl 7001a500: eef0 4a63 vmovpl.f32 s9, s7 7001a504: ee64 4a83 vmul.f32 s9, s9, s6 7001a508: eef4 4ac4 vcmpe.f32 s9, s8 7001a50c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a510: f280 824c bge.w 7001a9ac 7001a514: eeb4 6ae7 vcmpe.f32 s12, s15 7001a518: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a51c: f300 81ac bgt.w 7001a878 7001a520: ee37 4ac6 vsub.f32 s8, s15, s12 7001a524: eeb5 4ac0 vcmpe.f32 s8, #0.0 7001a528: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a52c: d501 bpl.n 7001a532 7001a52e: eeb1 4a44 vneg.f32 s8, s8 7001a532: eef5 7ac0 vcmpe.f32 s15, #0.0 7001a536: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a53a: d501 bpl.n 7001a540 7001a53c: eef1 7a67 vneg.f32 s15, s15 7001a540: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001a544: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a548: d501 bpl.n 7001a54e 7001a54a: eeb1 6a46 vneg.f32 s12, s12 7001a54e: eef4 7ac6 vcmpe.f32 s15, s12 7001a552: ed5f 4a76 vldr s9, [pc, #-472] @ 7001a37c 7001a556: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a55a: bf58 it pl 7001a55c: eef0 7a46 vmovpl.f32 s15, s12 7001a560: ee67 7aa4 vmul.f32 s15, s15, s9 7001a564: eeb4 4ae7 vcmpe.f32 s8, s15 7001a568: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a56c: f240 8213 bls.w 7001a996 7001a570: 4668 mov r0, sp 7001a572: edd0 7a01 vldr s15, [r0, #4] 7001a576: eef4 7ae6 vcmpe.f32 s15, s13 7001a57a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a57e: f100 8184 bmi.w 7001a88a 7001a582: ee37 6ae6 vsub.f32 s12, s15, s13 7001a586: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001a58a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a58e: d501 bpl.n 7001a594 7001a590: eeb1 6a46 vneg.f32 s12, s12 7001a594: eef5 7ac0 vcmpe.f32 s15, #0.0 7001a598: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a59c: d501 bpl.n 7001a5a2 7001a59e: eef1 7a67 vneg.f32 s15, s15 7001a5a2: eef5 6ac0 vcmpe.f32 s13, #0.0 7001a5a6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a5aa: d501 bpl.n 7001a5b0 7001a5ac: eef1 6a66 vneg.f32 s13, s13 7001a5b0: eef4 7ae6 vcmpe.f32 s15, s13 7001a5b4: ed5f 4a8f vldr s9, [pc, #-572] @ 7001a37c 7001a5b8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a5bc: bf58 it pl 7001a5be: eef0 7a66 vmovpl.f32 s15, s13 7001a5c2: ee67 7aa4 vmul.f32 s15, s15, s9 7001a5c6: eeb4 6ae7 vcmpe.f32 s12, s15 7001a5ca: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a5ce: f240 81d7 bls.w 7001a980 7001a5d2: edd0 7a01 vldr s15, [r0, #4] 7001a5d6: eeb4 7ae7 vcmpe.f32 s14, s15 7001a5da: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a5de: f300 815d bgt.w 7001a89c 7001a5e2: ee77 6ac7 vsub.f32 s13, s15, s14 7001a5e6: ed1f 6a9b vldr s12, [pc, #-620] @ 7001a37c 7001a5ea: eef5 6ac0 vcmpe.f32 s13, #0.0 7001a5ee: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a5f2: eef5 7ac0 vcmpe.f32 s15, #0.0 7001a5f6: bf48 it mi 7001a5f8: eef1 6a66 vnegmi.f32 s13, s13 7001a5fc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a600: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001a604: bf48 it mi 7001a606: eef1 7a67 vnegmi.f32 s15, s15 7001a60a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a60e: bf48 it mi 7001a610: eeb1 7a47 vnegmi.f32 s14, s14 7001a614: eef4 7ac7 vcmpe.f32 s15, s14 7001a618: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a61c: bf58 it pl 7001a61e: eef0 7a47 vmovpl.f32 s15, s14 7001a622: ee67 7a86 vmul.f32 s15, s15, s12 7001a626: eef4 7ae6 vcmpe.f32 s15, s13 7001a62a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a62e: f280 819d bge.w 7001a96c 7001a632: 1c4c adds r4, r1, #1 7001a634: af08 add r7, sp, #32 7001a636: eef1 6a00 vmov.f32 s13, #16 @ 0x40800000 4.0 7001a63a: ed96 6a00 vldr s12, [r6] 7001a63e: f004 0403 and.w r4, r4, #3 7001a642: eeb5 7a00 vmov.f32 s14, #80 @ 0x3e800000 0.250 7001a646: 42ae cmp r6, r5 7001a648: eb07 04c4 add.w r4, r7, r4, lsl #3 7001a64c: ee76 4a26 vadd.f32 s9, s12, s13 7001a650: ed54 7a08 vldr s15, [r4, #-32] @ 0xffffffe0 7001a654: f854 4c1c ldr.w r4, [r4, #-28] 7001a658: ee64 4a87 vmul.f32 s9, s9, s14 7001a65c: ee77 7aa6 vadd.f32 s15, s15, s13 7001a660: f8cc 400c str.w r4, [ip, #12] 7001a664: ee67 7a87 vmul.f32 s15, s15, s14 7001a668: f000 816e beq.w 7001a948 7001a66c: 3102 adds r1, #2 7001a66e: ed95 6a00 vldr s12, [r5] 7001a672: ac08 add r4, sp, #32 7001a674: edcc 5a01 vstr s11, [ip, #4] 7001a678: ee36 6a66 vsub.f32 s12, s12, s13 7001a67c: f001 0103 and.w r1, r1, #3 7001a680: edcc 7a02 vstr s15, [ip, #8] 7001a684: eb04 01c1 add.w r1, r4, r1, lsl #3 7001a688: edd5 5a01 vldr s11, [r5, #4] 7001a68c: ee26 6a07 vmul.f32 s12, s12, s14 7001a690: edcc 4a00 vstr s9, [ip] 7001a694: ed51 7a08 vldr s15, [r1, #-32] @ 0xffffffe0 7001a698: f851 1c1c ldr.w r1, [r1, #-28] 7001a69c: ee77 7ae6 vsub.f32 s15, s15, s13 7001a6a0: ac08 add r4, sp, #32 7001a6a2: eef1 6a00 vmov.f32 s13, #16 @ 0x40800000 4.0 7001a6a6: f8cc 1014 str.w r1, [ip, #20] 7001a6aa: 1cd9 adds r1, r3, #3 7001a6ac: ee67 7a87 vmul.f32 s15, s15, s14 7001a6b0: edde 4a00 vldr s9, [lr] 7001a6b4: f001 0103 and.w r1, r1, #3 7001a6b8: eeb5 7a00 vmov.f32 s14, #80 @ 0x3e800000 0.250 7001a6bc: ed8c 6a06 vstr s12, [ip, #24] 7001a6c0: ee34 6aa6 vadd.f32 s12, s9, s13 7001a6c4: eb04 01c1 add.w r1, r4, r1, lsl #3 7001a6c8: edcc 7a04 vstr s15, [ip, #16] 7001a6cc: 4586 cmp lr, r0 7001a6ce: edcc 5a07 vstr s11, [ip, #28] 7001a6d2: ed51 7a08 vldr s15, [r1, #-32] @ 0xffffffe0 7001a6d6: ee26 6a07 vmul.f32 s12, s12, s14 7001a6da: f851 1c1c ldr.w r1, [r1, #-28] 7001a6de: ee77 7aa6 vadd.f32 s15, s15, s13 7001a6e2: ee67 7a87 vmul.f32 s15, s15, s14 7001a6e6: f000 8113 beq.w 7001a910 7001a6ea: edd0 5a00 vldr s11, [r0] 7001a6ee: 3302 adds r3, #2 7001a6f0: 6840 ldr r0, [r0, #4] 7001a6f2: f003 0303 and.w r3, r3, #3 7001a6f6: ed82 6a00 vstr s12, [r2] 7001a6fa: 60d0 str r0, [r2, #12] 7001a6fc: a808 add r0, sp, #32 7001a6fe: ee75 5ae6 vsub.f32 s11, s11, s13 7001a702: ed82 5a01 vstr s10, [r2, #4] 7001a706: eb00 03c3 add.w r3, r0, r3, lsl #3 7001a70a: ed13 6a08 vldr s12, [r3, #-32] @ 0xffffffe0 7001a70e: ee65 5a87 vmul.f32 s11, s11, s14 7001a712: f853 3c1c ldr.w r3, [r3, #-28] 7001a716: ee76 6a66 vsub.f32 s13, s12, s13 7001a71a: edc2 5a02 vstr s11, [r2, #8] 7001a71e: ee26 7a87 vmul.f32 s14, s13, s14 7001a722: ed82 7a04 vstr s14, [r2, #16] 7001a726: 6153 str r3, [r2, #20] 7001a728: edc2 7a06 vstr s15, [r2, #24] 7001a72c: 61d1 str r1, [r2, #28] 7001a72e: b009 add sp, #36 @ 0x24 7001a730: bdf0 pop {r4, r5, r6, r7, pc} 7001a732: ed90 7a01 vldr s14, [r0, #4] 7001a736: eef4 4ac7 vcmpe.f32 s9, s14 7001a73a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a73e: f57f acd4 bpl.w 7001a0ea 7001a742: ed9d 7a04 vldr s14, [sp, #16] 7001a746: a804 add r0, sp, #16 7001a748: 2102 movs r1, #2 7001a74a: eef4 6ac7 vcmpe.f32 s13, s14 7001a74e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a752: f57f acd2 bpl.w 7001a0fa 7001a756: 2103 movs r1, #3 7001a758: e4f7 b.n 7001a14a 7001a75a: ee77 6ac6 vsub.f32 s13, s15, s12 7001a75e: eef5 6ac0 vcmpe.f32 s13, #0.0 7001a762: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a766: d501 bpl.n 7001a76c 7001a768: eef1 6a66 vneg.f32 s13, s13 7001a76c: eef5 7ac0 vcmpe.f32 s15, #0.0 7001a770: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a774: f100 8182 bmi.w 7001aa7c 7001a778: eeb0 7a67 vmov.f32 s14, s15 7001a77c: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001a780: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a784: f100 8177 bmi.w 7001aa76 7001a788: eef0 5a46 vmov.f32 s11, s12 7001a78c: eeb4 7ae5 vcmpe.f32 s14, s11 7001a790: ed9f 5ac9 vldr s10, [pc, #804] @ 7001aab8 7001a794: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a798: bf58 it pl 7001a79a: eeb0 7a65 vmovpl.f32 s14, s11 7001a79e: ee27 7a05 vmul.f32 s14, s14, s10 7001a7a2: eef4 6ac7 vcmpe.f32 s13, s14 7001a7a6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a7aa: d809 bhi.n 7001a7c0 7001a7ac: eddd 6a00 vldr s13, [sp] 7001a7b0: ed9d 7a02 vldr s14, [sp, #8] 7001a7b4: eef4 6ac7 vcmpe.f32 s13, s14 7001a7b8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a7bc: f53f ad14 bmi.w 7001a1e8 7001a7c0: eef0 5a67 vmov.f32 s11, s15 7001a7c4: eddd 6a05 vldr s13, [sp, #20] 7001a7c8: 2100 movs r1, #0 7001a7ca: 466e mov r6, sp 7001a7cc: eef4 5ae6 vcmpe.f32 s11, s13 7001a7d0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a7d4: f77f ad14 ble.w 7001a200 7001a7d8: eef0 5a66 vmov.f32 s11, s13 7001a7dc: ed9d 7a07 vldr s14, [sp, #28] 7001a7e0: 2102 movs r1, #2 7001a7e2: ae04 add r6, sp, #16 7001a7e4: eeb4 7ae5 vcmpe.f32 s14, s11 7001a7e8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a7ec: f57f ad3a bpl.w 7001a264 7001a7f0: eeb4 6ae7 vcmpe.f32 s12, s15 7001a7f4: 2103 movs r1, #3 7001a7f6: eef0 5a47 vmov.f32 s11, s14 7001a7fa: ae06 add r6, sp, #24 7001a7fc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a800: f57f ad62 bpl.w 7001a2c8 7001a804: ed9d 5a03 vldr s10, [sp, #12] 7001a808: ad02 add r5, sp, #8 7001a80a: eeb4 5ae6 vcmpe.f32 s10, s13 7001a80e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a812: f77f ad8b ble.w 7001a32c 7001a816: ed9d 5a05 vldr s10, [sp, #20] 7001a81a: ad04 add r5, sp, #16 7001a81c: eeb4 7ac5 vcmpe.f32 s14, s10 7001a820: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a824: f57f adb8 bpl.w 7001a398 7001a828: eeb4 6ae7 vcmpe.f32 s12, s15 7001a82c: ad06 add r5, sp, #24 7001a82e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a832: f77f ade1 ble.w 7001a3f8 7001a836: eeb0 5a46 vmov.f32 s10, s12 7001a83a: 2301 movs r3, #1 7001a83c: f10d 0e08 add.w lr, sp, #8 7001a840: eeb4 5ae6 vcmpe.f32 s10, s13 7001a844: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a848: f57f ae09 bpl.w 7001a45e 7001a84c: eeb0 5a66 vmov.f32 s10, s13 7001a850: 2302 movs r3, #2 7001a852: f10d 0e10 add.w lr, sp, #16 7001a856: eeb4 7ac5 vcmpe.f32 s14, s10 7001a85a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a85e: f77f ae2d ble.w 7001a4bc 7001a862: eeb4 6ae7 vcmpe.f32 s12, s15 7001a866: 2303 movs r3, #3 7001a868: eeb0 5a47 vmov.f32 s10, s14 7001a86c: f10d 0e18 add.w lr, sp, #24 7001a870: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a874: f77f ae54 ble.w 7001a520 7001a878: eddd 7a03 vldr s15, [sp, #12] 7001a87c: a802 add r0, sp, #8 7001a87e: eef4 7ae6 vcmpe.f32 s15, s13 7001a882: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a886: f57f ae7c bpl.w 7001a582 7001a88a: eddd 7a05 vldr s15, [sp, #20] 7001a88e: a804 add r0, sp, #16 7001a890: eeb4 7ae7 vcmpe.f32 s14, s15 7001a894: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a898: f77f aea3 ble.w 7001a5e2 7001a89c: a806 add r0, sp, #24 7001a89e: e6c8 b.n 7001a632 7001a8a0: 2100 movs r1, #0 7001a8a2: 4668 mov r0, sp 7001a8a4: f7ff bbf4 b.w 7001a090 7001a8a8: ed90 7a01 vldr s14, [r0, #4] 7001a8ac: eeb4 5a47 vcmp.f32 s10, s14 7001a8b0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a8b4: bf48 it mi 7001a8b6: 2103 movmi r1, #3 7001a8b8: e447 b.n 7001a14a 7001a8ba: eeb1 6a46 vneg.f32 s12, s12 7001a8be: e403 b.n 7001a0c8 7001a8c0: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001a8c4: eef1 3a63 vneg.f32 s7, s7 7001a8c8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a8cc: f57f abc1 bpl.w 7001a052 7001a8d0: e015 b.n 7001a8fe 7001a8d2: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001a8d6: eeb1 7a47 vneg.f32 s14, s14 7001a8da: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a8de: f57f abf3 bpl.w 7001a0c8 7001a8e2: e7ea b.n 7001a8ba 7001a8e4: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001a8e8: eef1 5a65 vneg.f32 s11, s11 7001a8ec: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a8f0: f57f abe4 bpl.w 7001a0bc 7001a8f4: e7ed b.n 7001a8d2 7001a8f6: eef1 5a65 vneg.f32 s11, s11 7001a8fa: f7ff bbb0 b.w 7001a05e 7001a8fe: eef5 5ac0 vcmpe.f32 s11, #0.0 7001a902: eeb1 7a47 vneg.f32 s14, s14 7001a906: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a90a: f57f aba8 bpl.w 7001a05e 7001a90e: e7f2 b.n 7001a8f6 7001a910: 3301 adds r3, #1 7001a912: ed82 6a00 vstr s12, [r2] 7001a916: ee74 4ae6 vsub.f32 s9, s9, s13 7001a91a: ed82 5a01 vstr s10, [r2, #4] 7001a91e: f003 0303 and.w r3, r3, #3 7001a922: ed82 5a03 vstr s10, [r2, #12] 7001a926: eb04 03c3 add.w r3, r4, r3, lsl #3 7001a92a: ee64 4a87 vmul.f32 s9, s9, s14 7001a92e: ed13 6a08 vldr s12, [r3, #-32] @ 0xffffffe0 7001a932: edc2 4a02 vstr s9, [r2, #8] 7001a936: ee76 6a66 vsub.f32 s13, s12, s13 7001a93a: f853 3c1c ldr.w r3, [r3, #-28] 7001a93e: ee26 7a87 vmul.f32 s14, s13, s14 7001a942: ed82 7a04 vstr s14, [r2, #16] 7001a946: e6ee b.n 7001a726 7001a948: 3103 adds r1, #3 7001a94a: ee36 6a66 vsub.f32 s12, s12, s13 7001a94e: edcc 7a02 vstr s15, [ip, #8] 7001a952: f001 0103 and.w r1, r1, #3 7001a956: edcc 4a00 vstr s9, [ip] 7001a95a: ee26 6a07 vmul.f32 s12, s12, s14 7001a95e: edcc 5a01 vstr s11, [ip, #4] 7001a962: eb07 01c1 add.w r1, r7, r1, lsl #3 7001a966: ed51 7a08 vldr s15, [r1, #-32] @ 0xffffffe0 7001a96a: e695 b.n 7001a698 7001a96c: ed90 7a00 vldr s14, [r0] 7001a970: eddd 7a06 vldr s15, [sp, #24] 7001a974: eeb4 7ae7 vcmpe.f32 s14, s15 7001a978: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a97c: dc8e bgt.n 7001a89c 7001a97e: e658 b.n 7001a632 7001a980: edd0 6a00 vldr s13, [r0] 7001a984: eddd 7a04 vldr s15, [sp, #16] 7001a988: eef4 6ae7 vcmpe.f32 s13, s15 7001a98c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a990: f73f af7b bgt.w 7001a88a 7001a994: e61d b.n 7001a5d2 7001a996: ed9d 6a00 vldr s12, [sp] 7001a99a: eddd 7a02 vldr s15, [sp, #8] 7001a99e: eeb4 6ae7 vcmpe.f32 s12, s15 7001a9a2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a9a6: f73f af67 bgt.w 7001a878 7001a9aa: e5e1 b.n 7001a570 7001a9ac: ed9e 4a00 vldr s8, [lr] 7001a9b0: eddd 4a06 vldr s9, [sp, #24] 7001a9b4: eeb4 4ae4 vcmpe.f32 s8, s9 7001a9b8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a9bc: f53f af51 bmi.w 7001a862 7001a9c0: e5a8 b.n 7001a514 7001a9c2: ed9d 4a04 vldr s8, [sp, #16] 7001a9c6: edde 4a00 vldr s9, [lr] 7001a9ca: eeb4 4ae4 vcmpe.f32 s8, s9 7001a9ce: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a9d2: f73f af3b bgt.w 7001a84c 7001a9d6: e56b b.n 7001a4b0 7001a9d8: eddd 4a02 vldr s9, [sp, #8] 7001a9dc: ed9d 5a00 vldr s10, [sp] 7001a9e0: eef4 4ac5 vcmpe.f32 s9, s10 7001a9e4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a9e8: f73f af25 bgt.w 7001a836 7001a9ec: e52d b.n 7001a44a 7001a9ee: edd5 4a00 vldr s9, [r5] 7001a9f2: ed9d 5a06 vldr s10, [sp, #24] 7001a9f6: eef4 4ac5 vcmpe.f32 s9, s10 7001a9fa: eef1 fa10 vmrs APSR_nzcv, fpscr 7001a9fe: f73f af13 bgt.w 7001a828 7001aa02: e4f3 b.n 7001a3ec 7001aa04: eddd 4a04 vldr s9, [sp, #16] 7001aa08: ed95 5a00 vldr s10, [r5] 7001aa0c: eef4 4ac5 vcmpe.f32 s9, s10 7001aa10: eef1 fa10 vmrs APSR_nzcv, fpscr 7001aa14: f53f aeff bmi.w 7001a816 7001aa18: e4b6 b.n 7001a388 7001aa1a: eddd 4a02 vldr s9, [sp, #8] 7001aa1e: ed9d 5a00 vldr s10, [sp] 7001aa22: eef4 4ac5 vcmpe.f32 s9, s10 7001aa26: eef1 fa10 vmrs APSR_nzcv, fpscr 7001aa2a: f53f aeeb bmi.w 7001a804 7001aa2e: e474 b.n 7001a31a 7001aa30: edd6 4a00 vldr s9, [r6] 7001aa34: ed9d 5a06 vldr s10, [sp, #24] 7001aa38: eef4 4ac5 vcmpe.f32 s9, s10 7001aa3c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001aa40: f53f aed6 bmi.w 7001a7f0 7001aa44: e43a b.n 7001a2bc 7001aa46: ed96 5a00 vldr s10, [r6] 7001aa4a: ed9d 7a04 vldr s14, [sp, #16] 7001aa4e: eeb4 5ac7 vcmpe.f32 s10, s14 7001aa52: eef1 fa10 vmrs APSR_nzcv, fpscr 7001aa56: f53f aebf bmi.w 7001a7d8 7001aa5a: f7ff bbfb b.w 7001a254 7001aa5e: eef5 6ac0 vcmpe.f32 s13, #0.0 7001aa62: eeb1 7a65 vneg.f32 s14, s11 7001aa66: eef1 fa10 vmrs APSR_nzcv, fpscr 7001aa6a: f57f abe0 bpl.w 7001a22e 7001aa6e: eef1 4a66 vneg.f32 s9, s13 7001aa72: f7ff bbde b.w 7001a232 7001aa76: eef1 5a46 vneg.f32 s11, s12 7001aa7a: e687 b.n 7001a78c 7001aa7c: eeb1 7a67 vneg.f32 s14, s15 7001aa80: e67c b.n 7001a77c 7001aa82: eeb1 4a46 vneg.f32 s8, s12 7001aa86: e4d0 b.n 7001a42a 7001aa88: eeb1 5a67 vneg.f32 s10, s15 7001aa8c: e4c5 b.n 7001a41a 7001aa8e: eef1 3a66 vneg.f32 s7, s13 7001aa92: e4fd b.n 7001a490 7001aa94: eef1 4a45 vneg.f32 s9, s10 7001aa98: e4f2 b.n 7001a480 7001aa9a: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001aa9e: eeb1 4a67 vneg.f32 s8, s15 7001aaa2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001aaa6: f57f ac26 bpl.w 7001a2f6 7001aaaa: eeb1 5a46 vneg.f32 s10, s12 7001aaae: e424 b.n 7001a2fa 7001aab0: eef1 4a66 vneg.f32 s9, s13 7001aab4: e452 b.n 7001a35c 7001aab6: bf00 nop 7001aab8: 3727c5ac .word 0x3727c5ac 7001aabc : 7001aabc: b510 push {r4, lr} 7001aabe: 4c2e ldr r4, [pc, #184] @ (7001ab78 ) 7001aac0: ed2d 8b06 vpush {d8-d10} 7001aac4: eeb0 aa60 vmov.f32 s20, s1 7001aac8: eef0 9a41 vmov.f32 s19, s2 7001aacc: eef0 8a61 vmov.f32 s17, s3 7001aad0: eeb0 9a42 vmov.f32 s18, s4 7001aad4: eeb0 8a62 vmov.f32 s16, s5 7001aad8: f7fe f840 bl 70018b5c 7001aadc: 4020 ands r0, r4 7001aade: eeb0 0a69 vmov.f32 s0, s19 7001aae2: ee07 0a90 vmov s15, r0 7001aae6: eef8 9ae7 vcvt.f32.s32 s19, s15 7001aaea: f7fe f837 bl 70018b5c 7001aaee: 4020 ands r0, r4 7001aaf0: eeb0 0a49 vmov.f32 s0, s18 7001aaf4: ee07 0a90 vmov s15, r0 7001aaf8: eeb8 9ae7 vcvt.f32.s32 s18, s15 7001aafc: f7fe f82e bl 70018b5c 7001ab00: 4020 ands r0, r4 7001ab02: eeb0 0a4a vmov.f32 s0, s20 7001ab06: ee07 0a90 vmov s15, r0 7001ab0a: eeb8 aae7 vcvt.f32.s32 s20, s15 7001ab0e: f7fe f825 bl 70018b5c 7001ab12: 4020 ands r0, r4 7001ab14: eeb0 0a68 vmov.f32 s0, s17 7001ab18: ee07 0a90 vmov s15, r0 7001ab1c: eef8 8ae7 vcvt.f32.s32 s17, s15 7001ab20: f7fe f81c bl 70018b5c 7001ab24: 4020 ands r0, r4 7001ab26: eeb0 0a48 vmov.f32 s0, s16 7001ab2a: ee07 0a90 vmov s15, r0 7001ab2e: eeb8 8ae7 vcvt.f32.s32 s16, s15 7001ab32: f7fe f813 bl 70018b5c 7001ab36: 4020 ands r0, r4 7001ab38: ee07 0a90 vmov s15, r0 7001ab3c: ee38 7ac8 vsub.f32 s14, s17, s16 7001ab40: eef8 7ae7 vcvt.f32.s32 s15, s15 7001ab44: ee27 7a0a vmul.f32 s14, s14, s20 7001ab48: ee38 8a67 vsub.f32 s16, s16, s15 7001ab4c: ee77 7ae8 vsub.f32 s15, s15, s17 7001ab50: ee28 8a29 vmul.f32 s16, s16, s19 7001ab54: ee67 7a89 vmul.f32 s15, s15, s18 7001ab58: ee38 8a27 vadd.f32 s16, s16, s15 7001ab5c: ee38 8a07 vadd.f32 s16, s16, s14 7001ab60: eeb5 8ac0 vcmpe.f32 s16, #0.0 7001ab64: ecbd 8b06 vpop {d8-d10} 7001ab68: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ab6c: bfac ite ge 7001ab6e: 2001 movge r0, #1 7001ab70: f04f 30ff movlt.w r0, #4294967295 @ 0xffffffff 7001ab74: bd10 pop {r4, pc} 7001ab76: bf00 nop 7001ab78: fffff000 .word 0xfffff000 7001ab7c : 7001ab7c: 4b47 ldr r3, [pc, #284] @ (7001ac9c ) 7001ab7e: 2a01 cmp r2, #1 7001ab80: b570 push {r4, r5, r6, lr} 7001ab82: 4604 mov r4, r0 7001ab84: 460d mov r5, r1 7001ab86: ed2d 8b08 vpush {d8-d11} 7001ab8a: eeb0 8a40 vmov.f32 s16, s0 7001ab8e: 681b ldr r3, [r3, #0] 7001ab90: d03c beq.n 7001ac0c 7001ab92: edd3 aa4e vldr s21, [r3, #312] @ 0x138 7001ab96: edd3 7a50 vldr s15, [r3, #320] @ 0x140 7001ab9a: ed93 ba4f vldr s22, [r3, #316] @ 0x13c 7001ab9e: eef4 aae7 vcmpe.f32 s21, s15 7001aba2: ed93 aa55 vldr s20, [r3, #340] @ 0x154 7001aba6: edd3 8a54 vldr s17, [r3, #336] @ 0x150 7001abaa: eef1 fa10 vmrs APSR_nzcv, fpscr 7001abae: d53c bpl.n 7001ac2a 7001abb0: edd3 7a52 vldr s15, [r3, #328] @ 0x148 7001abb4: eef4 7ae8 vcmpe.f32 s15, s17 7001abb8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001abbc: bfcc ite gt 7001abbe: 2601 movgt r6, #1 7001abc0: 2600 movle r6, #0 7001abc2: ee78 9aea vsub.f32 s19, s17, s21 7001abc6: ee3a 9a4b vsub.f32 s18, s20, s22 7001abca: ee29 0aa9 vmul.f32 s0, s19, s19 7001abce: ee69 7a09 vmul.f32 s15, s18, s18 7001abd2: eeb1 9a49 vneg.f32 s18, s18 7001abd6: ee30 0a27 vadd.f32 s0, s0, s15 7001abda: f7fd ff65 bl 70018aa8 7001abde: ee89 7a00 vdiv.f32 s14, s18, s0 7001abe2: eec9 6a80 vdiv.f32 s13, s19, s0 7001abe6: b396 cbz r6, 7001ac4e 7001abe8: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001abec: ee67 7a08 vmul.f32 s15, s14, s16 7001abf0: ee26 8a88 vmul.f32 s16, s13, s16 7001abf4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001abf8: dd32 ble.n 7001ac60 7001abfa: ee78 8ae7 vsub.f32 s17, s17, s15 7001abfe: ee3a 7a48 vsub.f32 s14, s20, s16 7001ac02: ee7a 7ae7 vsub.f32 s15, s21, s15 7001ac06: ee3b 8a48 vsub.f32 s16, s22, s16 7001ac0a: e031 b.n 7001ac70 7001ac0c: edd3 aa66 vldr s21, [r3, #408] @ 0x198 7001ac10: edd3 7a64 vldr s15, [r3, #400] @ 0x190 7001ac14: ed93 ba67 vldr s22, [r3, #412] @ 0x19c 7001ac18: eef4 7aea vcmpe.f32 s15, s21 7001ac1c: ed93 aa69 vldr s20, [r3, #420] @ 0x1a4 7001ac20: edd3 8a68 vldr s17, [r3, #416] @ 0x1a0 7001ac24: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ac28: da2d bge.n 7001ac86 7001ac2a: ee78 9aea vsub.f32 s19, s17, s21 7001ac2e: ee3a 9a4b vsub.f32 s18, s20, s22 7001ac32: ee29 0aa9 vmul.f32 s0, s19, s19 7001ac36: ee69 7a09 vmul.f32 s15, s18, s18 7001ac3a: eeb1 9a49 vneg.f32 s18, s18 7001ac3e: ee30 0a27 vadd.f32 s0, s0, s15 7001ac42: f7fd ff31 bl 70018aa8 7001ac46: ee89 7a00 vdiv.f32 s14, s18, s0 7001ac4a: eec9 6a80 vdiv.f32 s13, s19, s0 7001ac4e: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001ac52: ee68 7a07 vmul.f32 s15, s16, s14 7001ac56: ee28 8a26 vmul.f32 s16, s16, s13 7001ac5a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ac5e: d9cc bls.n 7001abfa 7001ac60: ee77 8aa8 vadd.f32 s17, s15, s17 7001ac64: ee3a 7a08 vadd.f32 s14, s20, s16 7001ac68: ee77 7aaa vadd.f32 s15, s15, s21 7001ac6c: ee3b 8a08 vadd.f32 s16, s22, s16 7001ac70: edc4 8a00 vstr s17, [r4] 7001ac74: ed84 7a01 vstr s14, [r4, #4] 7001ac78: edc5 7a00 vstr s15, [r5] 7001ac7c: ed85 8a01 vstr s16, [r5, #4] 7001ac80: ecbd 8b08 vpop {d8-d11} 7001ac84: bd70 pop {r4, r5, r6, pc} 7001ac86: edd3 7a6a vldr s15, [r3, #424] @ 0x1a8 7001ac8a: eef4 8ae7 vcmpe.f32 s17, s15 7001ac8e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ac92: bf94 ite ls 7001ac94: 2601 movls r6, #1 7001ac96: 2600 movhi r6, #0 7001ac98: e793 b.n 7001abc2 7001ac9a: bf00 nop 7001ac9c: 2400dc78 .word 0x2400dc78 7001aca0 : 7001aca0: edd0 7a01 vldr s15, [r0, #4] 7001aca4: eeb6 3a00 vmov.f32 s6, #96 @ 0x3f000000 0.5 7001aca8: edd0 2a03 vldr s5, [r0, #12] 7001acac: eef0 1a60 vmov.f32 s3, s1 7001acb0: edd0 6a00 vldr s13, [r0] 7001acb4: ee30 6ae7 vsub.f32 s12, s1, s15 7001acb8: ee77 3ae2 vsub.f32 s7, s15, s5 7001acbc: ed90 4a02 vldr s8, [r0, #8] 7001acc0: ee32 7ae0 vsub.f32 s14, s5, s1 7001acc4: ed90 1a07 vldr s2, [r0, #28] 7001acc8: ee26 6a04 vmul.f32 s12, s12, s8 7001accc: ee63 5a80 vmul.f32 s11, s7, s0 7001acd0: ee27 7a26 vmul.f32 s14, s14, s13 7001acd4: ee70 4ae2 vsub.f32 s9, s1, s5 7001acd8: ee37 7a25 vadd.f32 s14, s14, s11 7001acdc: edd0 5a05 vldr s11, [r0, #20] 7001ace0: ee72 2ae5 vsub.f32 s5, s5, s11 7001ace4: ee37 7a06 vadd.f32 s14, s14, s12 7001ace8: ed90 6a04 vldr s12, [r0, #16] 7001acec: ee35 5ae0 vsub.f32 s10, s11, s1 7001acf0: ee64 4a86 vmul.f32 s9, s9, s12 7001acf4: eebd 7ac7 vcvt.s32.f32 s14, s14 7001acf8: ee25 5a04 vmul.f32 s10, s10, s8 7001acfc: ee30 2ae5 vsub.f32 s4, s1, s11 7001ad00: ee17 3a10 vmov r3, s14 7001ad04: eef6 0a00 vmov.f32 s1, #96 @ 0x3f000000 0.5 7001ad08: ee63 3a86 vmul.f32 s7, s7, s12 7001ad0c: 2b00 cmp r3, #0 7001ad0e: bfbc itt lt 7001ad10: 425b neglt r3, r3 7001ad12: ee07 3a10 vmovlt s14, r3 7001ad16: eeb8 7ac7 vcvt.f32.s32 s14, s14 7001ad1a: ee27 7a03 vmul.f32 s14, s14, s6 7001ad1e: ee22 3a80 vmul.f32 s6, s5, s0 7001ad22: ee66 2aa2 vmul.f32 s5, s13, s5 7001ad26: eebd 7ac7 vcvt.s32.f32 s14, s14 7001ad2a: ee17 3a10 vmov r3, s14 7001ad2e: ee35 7a03 vadd.f32 s14, s10, s6 7001ad32: ed90 5a06 vldr s10, [r0, #24] 7001ad36: ee37 7a24 vadd.f32 s14, s14, s9 7001ad3a: ee75 4ac1 vsub.f32 s9, s11, s2 7001ad3e: ee22 2a05 vmul.f32 s4, s4, s10 7001ad42: eebd 7ac7 vcvt.s32.f32 s14, s14 7001ad46: ee17 2a10 vmov r2, s14 7001ad4a: 2a00 cmp r2, #0 7001ad4c: bfbc itt lt 7001ad4e: 4252 neglt r2, r2 7001ad50: ee07 2a10 vmovlt s14, r2 7001ad54: eeb8 3ac7 vcvt.f32.s32 s6, s14 7001ad58: ee31 7a61 vsub.f32 s14, s2, s3 7001ad5c: ee23 3a20 vmul.f32 s6, s6, s1 7001ad60: ee27 7a06 vmul.f32 s14, s14, s12 7001ad64: ee64 0a80 vmul.f32 s1, s9, s0 7001ad68: eebd 3ac3 vcvt.s32.f32 s6, s6 7001ad6c: ee37 7a20 vadd.f32 s14, s14, s1 7001ad70: ee77 0ae1 vsub.f32 s1, s15, s3 7001ad74: ee71 1ac1 vsub.f32 s3, s3, s2 7001ad78: ee37 7a02 vadd.f32 s14, s14, s4 7001ad7c: ee31 2a67 vsub.f32 s4, s2, s15 7001ad80: eeb6 1a00 vmov.f32 s2, #96 @ 0x3f000000 0.5 7001ad84: eebd 7ac7 vcvt.s32.f32 s14, s14 7001ad88: ee60 0a85 vmul.f32 s1, s1, s10 7001ad8c: ee22 0a00 vmul.f32 s0, s4, s0 7001ad90: ee17 2a10 vmov r2, s14 7001ad94: ee61 1aa6 vmul.f32 s3, s3, s13 7001ad98: ee26 6a02 vmul.f32 s12, s12, s4 7001ad9c: 2a00 cmp r2, #0 7001ad9e: ee70 0a80 vadd.f32 s1, s1, s0 7001ada2: ee66 6aa4 vmul.f32 s13, s13, s9 7001ada6: bfb8 it lt 7001ada8: 4252 neglt r2, r2 7001adaa: ee70 0aa1 vadd.f32 s1, s1, s3 7001adae: bfb8 it lt 7001adb0: ee07 2a10 vmovlt s14, r2 7001adb4: eef6 1a00 vmov.f32 s3, #96 @ 0x3f000000 0.5 7001adb8: eeb8 7ac7 vcvt.f32.s32 s14, s14 7001adbc: eefd 0ae0 vcvt.s32.f32 s1, s1 7001adc0: ee27 7a01 vmul.f32 s14, s14, s2 7001adc4: ee10 1a90 vmov r1, s1 7001adc8: eebd 7ac7 vcvt.s32.f32 s14, s14 7001adcc: 2900 cmp r1, #0 7001adce: bfb8 it lt 7001add0: 4249 neglt r1, r1 7001add2: ee17 2a10 vmov r2, s14 7001add6: ee35 7ae7 vsub.f32 s14, s11, s15 7001adda: ee77 7ae5 vsub.f32 s15, s15, s11 7001adde: bfb8 it lt 7001ade0: ee00 1a90 vmovlt s1, r1 7001ade4: eef6 5a00 vmov.f32 s11, #96 @ 0x3f000000 0.5 7001ade8: ee27 7a04 vmul.f32 s14, s14, s8 7001adec: ee67 7a85 vmul.f32 s15, s15, s10 7001adf0: eef8 0ae0 vcvt.f32.s32 s1, s1 7001adf4: ee37 7a22 vadd.f32 s14, s14, s5 7001adf8: ee77 7a86 vadd.f32 s15, s15, s12 7001adfc: ee60 0aa1 vmul.f32 s1, s1, s3 7001ae00: ee37 7a23 vadd.f32 s14, s14, s7 7001ae04: ee77 7aa6 vadd.f32 s15, s15, s13 7001ae08: eef6 6a00 vmov.f32 s13, #96 @ 0x3f000000 0.5 7001ae0c: eebd 7ac7 vcvt.s32.f32 s14, s14 7001ae10: eefd 7ae7 vcvt.s32.f32 s15, s15 7001ae14: eefd 0ae0 vcvt.s32.f32 s1, s1 7001ae18: ee17 1a10 vmov r1, s14 7001ae1c: 2900 cmp r1, #0 7001ae1e: bfbc itt lt 7001ae20: 4249 neglt r1, r1 7001ae22: ee07 1a10 vmovlt s14, r1 7001ae26: ee17 1a90 vmov r1, s15 7001ae2a: 2900 cmp r1, #0 7001ae2c: eeb8 7ac7 vcvt.f32.s32 s14, s14 7001ae30: bfb8 it lt 7001ae32: 4249 neglt r1, r1 7001ae34: ee27 7a25 vmul.f32 s14, s14, s11 7001ae38: bfb8 it lt 7001ae3a: ee07 1a90 vmovlt s15, r1 7001ae3e: ee13 1a10 vmov r1, s6 7001ae42: eef8 7ae7 vcvt.f32.s32 s15, s15 7001ae46: 440b add r3, r1 7001ae48: eebd 7ac7 vcvt.s32.f32 s14, s14 7001ae4c: 4413 add r3, r2 7001ae4e: ee10 2a90 vmov r2, s1 7001ae52: ee67 7aa6 vmul.f32 s15, s15, s13 7001ae56: 4413 add r3, r2 7001ae58: ee17 2a10 vmov r2, s14 7001ae5c: eefd 7ae7 vcvt.s32.f32 s15, s15 7001ae60: ee17 0a90 vmov r0, s15 7001ae64: 4410 add r0, r2 7001ae66: 4298 cmp r0, r3 7001ae68: bfb4 ite lt 7001ae6a: 2000 movlt r0, #0 7001ae6c: 2001 movge r0, #1 7001ae6e: 4770 bx lr 7001ae70 : 7001ae70: 4b22 ldr r3, [pc, #136] @ (7001aefc ) 7001ae72: b470 push {r4, r5, r6} 7001ae74: 681a ldr r2, [r3, #0] 7001ae76: f8d2 42d8 ldr.w r4, [r2, #728] @ 0x2d8 7001ae7a: f8d2 32e0 ldr.w r3, [r2, #736] @ 0x2e0 7001ae7e: f8d2 62dc ldr.w r6, [r2, #732] @ 0x2dc 7001ae82: 2c00 cmp r4, #0 7001ae84: f8d2 52e4 ldr.w r5, [r2, #740] @ 0x2e4 7001ae88: 4423 add r3, r4 7001ae8a: 4435 add r5, r6 7001ae8c: db30 blt.n 7001aef0 7001ae8e: 4a1c ldr r2, [pc, #112] @ (7001af00 ) 7001ae90: 6812 ldr r2, [r2, #0] 7001ae92: 6912 ldr r2, [r2, #16] 7001ae94: 4294 cmp r4, r2 7001ae96: bfa8 it ge 7001ae98: 4614 movge r4, r2 7001ae9a: 2b00 cmp r3, #0 7001ae9c: b2a4 uxth r4, r4 7001ae9e: db2b blt.n 7001aef8 7001aea0: 4a17 ldr r2, [pc, #92] @ (7001af00 ) 7001aea2: 6812 ldr r2, [r2, #0] 7001aea4: 6912 ldr r2, [r2, #16] 7001aea6: 4293 cmp r3, r2 7001aea8: bfa8 it ge 7001aeaa: 4613 movge r3, r2 7001aeac: b29b uxth r3, r3 7001aeae: 2e00 cmp r6, #0 7001aeb0: db07 blt.n 7001aec2 7001aeb2: 4a13 ldr r2, [pc, #76] @ (7001af00 ) 7001aeb4: 6812 ldr r2, [r2, #0] 7001aeb6: 6952 ldr r2, [r2, #20] 7001aeb8: 42b2 cmp r2, r6 7001aeba: bfa8 it ge 7001aebc: 4632 movge r2, r6 7001aebe: ea44 4402 orr.w r4, r4, r2, lsl #16 7001aec2: 2d00 cmp r5, #0 7001aec4: db07 blt.n 7001aed6 7001aec6: 4a0e ldr r2, [pc, #56] @ (7001af00 ) 7001aec8: 6812 ldr r2, [r2, #0] 7001aeca: 6952 ldr r2, [r2, #20] 7001aecc: 42aa cmp r2, r5 7001aece: bfa8 it ge 7001aed0: 462a movge r2, r5 7001aed2: ea43 4302 orr.w r3, r3, r2, lsl #16 7001aed6: f44f 7288 mov.w r2, #272 @ 0x110 7001aeda: f840 2021 str.w r2, [r0, r1, lsl #2] 7001aede: eb00 0181 add.w r1, r0, r1, lsl #2 7001aee2: f44f 728a mov.w r2, #276 @ 0x114 7001aee6: 604c str r4, [r1, #4] 7001aee8: e9c1 2302 strd r2, r3, [r1, #8] 7001aeec: bc70 pop {r4, r5, r6} 7001aeee: 4770 bx lr 7001aef0: 2b00 cmp r3, #0 7001aef2: f04f 0400 mov.w r4, #0 7001aef6: dad3 bge.n 7001aea0 7001aef8: 2300 movs r3, #0 7001aefa: e7d8 b.n 7001aeae 7001aefc: 2400dc78 .word 0x2400dc78 7001af00: 2400dc38 .word 0x2400dc38 7001af04 : 7001af04: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7001af08: ed2d 8b0e vpush {d8-d14} 7001af0c: eef0 da60 vmov.f32 s27, s1 7001af10: b089 sub sp, #36 @ 0x24 7001af12: eeb0 8a41 vmov.f32 s16, s2 7001af16: eef0 8a61 vmov.f32 s17, s3 7001af1a: eef0 ea40 vmov.f32 s29, s0 7001af1e: f7fd fe1d bl 70018b5c 7001af22: eeb0 0a6d vmov.f32 s0, s27 7001af26: 4606 mov r6, r0 7001af28: f7fd fe18 bl 70018b5c 7001af2c: eeb0 0a48 vmov.f32 s0, s16 7001af30: 4607 mov r7, r0 7001af32: f7fd fe13 bl 70018b5c 7001af36: eeb0 0a68 vmov.f32 s0, s17 7001af3a: 4680 mov r8, r0 7001af3c: f7fd fe0e bl 70018b5c 7001af40: ee7e 9ac8 vsub.f32 s19, s29, s16 7001af44: ee3d aae8 vsub.f32 s20, s27, s17 7001af48: 4681 mov r9, r0 7001af4a: eef5 9ac0 vcmpe.f32 s19, #0.0 7001af4e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001af52: eeb5 aac0 vcmpe.f32 s20, #0.0 7001af56: bf48 it mi 7001af58: eef1 9a69 vnegmi.f32 s19, s19 7001af5c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001af60: eef4 eac8 vcmpe.f32 s29, s16 7001af64: bf48 it mi 7001af66: eeb1 aa4a vnegmi.f32 s20, s20 7001af6a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001af6e: eef4 dae8 vcmpe.f32 s27, s17 7001af72: f140 8149 bpl.w 7001b208 7001af76: eef1 fa10 vmrs APSR_nzcv, fpscr 7001af7a: f100 80e5 bmi.w 7001b148 7001af7e: eeb0 ba6e vmov.f32 s22, s29 7001af82: eeb0 7a48 vmov.f32 s14, s16 7001af86: eefd 7ac7 vcvt.s32.f32 s15, s14 7001af8a: eef0 aa68 vmov.f32 s21, s17 7001af8e: eef8 6ae7 vcvt.f32.s32 s13, s15 7001af92: ee17 2a90 vmov r2, s15 7001af96: eeb4 7ae6 vcmpe.f32 s14, s13 7001af9a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001af9e: eef4 dae8 vcmpe.f32 s27, s17 7001afa2: bfcc ite gt 7001afa4: 2301 movgt r3, #1 7001afa6: 2300 movle r3, #0 7001afa8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001afac: 4413 add r3, r2 7001afae: ee07 3a90 vmov s15, r3 7001afb2: bfcc ite gt 7001afb4: eeb0 7a6d vmovgt.f32 s14, s27 7001afb8: eeb0 7a68 vmovle.f32 s14, s17 7001afbc: eef8 7ae7 vcvt.f32.s32 s15, s15 7001afc0: eefd 6ac7 vcvt.s32.f32 s13, s14 7001afc4: 4dab ldr r5, [pc, #684] @ (7001b274 ) 7001afc6: eefd bae7 vcvt.s32.f32 s23, s15 7001afca: ee38 da6e vsub.f32 s26, s16, s29 7001afce: eef8 7ae6 vcvt.f32.s32 s15, s13 7001afd2: ee16 2a90 vmov r2, s13 7001afd6: ee78 caed vsub.f32 s25, s17, s27 7001afda: eebd bacb vcvt.s32.f32 s22, s22 7001afde: eeb4 7ae7 vcmpe.f32 s14, s15 7001afe2: eefd aaea vcvt.s32.f32 s21, s21 7001afe6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001afea: bfcc ite gt 7001afec: 2301 movgt r3, #1 7001afee: 2300 movle r3, #0 7001aff0: 4413 add r3, r2 7001aff2: ee07 3a90 vmov s15, r3 7001aff6: 682b ldr r3, [r5, #0] 7001aff8: eef8 7ae7 vcvt.f32.s32 s15, s15 7001affc: ed93 9ab0 vldr s18, [r3, #704] @ 0x2c0 7001b000: ee7e eac9 vsub.f32 s29, s29, s18 7001b004: eebd cae7 vcvt.s32.f32 s24, s15 7001b008: edd3 7ab1 vldr s15, [r3, #708] @ 0x2c4 7001b00c: ee38 9a49 vsub.f32 s18, s16, s18 7001b010: ee3d eae7 vsub.f32 s28, s27, s15 7001b014: ee78 8ae7 vsub.f32 s17, s17, s15 7001b018: ee2e 0aae vmul.f32 s0, s29, s29 7001b01c: ee6e 7a0e vmul.f32 s15, s28, s28 7001b020: ee30 0a27 vadd.f32 s0, s0, s15 7001b024: f7fd fd40 bl 70018aa8 7001b028: ee68 7aa8 vmul.f32 s15, s17, s17 7001b02c: ee29 7a09 vmul.f32 s14, s18, s18 7001b030: eeb0 8a40 vmov.f32 s16, s0 7001b034: ee37 0a27 vadd.f32 s0, s14, s15 7001b038: f7fd fd36 bl 70018aa8 7001b03c: ee2d da0d vmul.f32 s26, s26, s26 7001b040: ee6c caac vmul.f32 s25, s25, s25 7001b044: eef0 da40 vmov.f32 s27, s0 7001b048: ee3d 0a2c vadd.f32 s0, s26, s25 7001b04c: f7fd fd2c bl 70018aa8 7001b050: ee78 7a6d vsub.f32 s15, s16, s27 7001b054: eef5 7ac0 vcmpe.f32 s15, #0.0 7001b058: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b05c: bf48 it mi 7001b05e: eef1 7a67 vnegmi.f32 s15, s15 7001b062: ee77 7ac0 vsub.f32 s15, s15, s0 7001b066: eef5 7ac0 vcmpe.f32 s15, #0.0 7001b06a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b06e: eef5 eac0 vcmpe.f32 s29, #0.0 7001b072: bf48 it mi 7001b074: eef1 7a67 vnegmi.f32 s15, s15 7001b078: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b07c: f100 80d3 bmi.w 7001b226 7001b080: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7001b084: eef4 eac7 vcmpe.f32 s29, s14 7001b088: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b08c: f100 80d3 bmi.w 7001b236 7001b090: eeb5 9ac0 vcmpe.f32 s18, #0.0 7001b094: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b098: f100 819c bmi.w 7001b3d4 7001b09c: eeb4 9ac7 vcmpe.f32 s18, s14 7001b0a0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b0a4: f100 8175 bmi.w 7001b392 7001b0a8: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7001b0ac: eef4 7ac7 vcmpe.f32 s15, s14 7001b0b0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b0b4: d46f bmi.n 7001b196 7001b0b6: 2005 movs r0, #5 7001b0b8: f00e fc4e bl 70029958 7001b0bc: 4604 mov r4, r0 7001b0be: 2800 cmp r0, #0 7001b0c0: f000 809b beq.w 7001b1fa 7001b0c4: 230a movs r3, #10 7001b0c6: 2218 movs r2, #24 7001b0c8: 2110 movs r1, #16 7001b0ca: 4683 mov fp, r0 7001b0cc: 9307 str r3, [sp, #28] 7001b0ce: 2314 movs r3, #20 7001b0d0: f04f 0a24 mov.w sl, #36 @ 0x24 7001b0d4: f04f 0e20 mov.w lr, #32 7001b0d8: f04f 0c1c mov.w ip, #28 7001b0dc: 2008 movs r0, #8 7001b0de: e9cd 3205 strd r3, r2, [sp, #20] 7001b0e2: 230c movs r3, #12 7001b0e4: 2200 movs r2, #0 7001b0e6: e9cd 3103 strd r3, r1, [sp, #12] 7001b0ea: 2104 movs r1, #4 7001b0ec: f44f 7398 mov.w r3, #304 @ 0x130 7001b0f0: f8cb 3000 str.w r3, [fp] 7001b0f4: f44f 739a mov.w r3, #308 @ 0x134 7001b0f8: 5066 str r6, [r4, r1] 7001b0fa: 5023 str r3, [r4, r0] 7001b0fc: 9b03 ldr r3, [sp, #12] 7001b0fe: 9904 ldr r1, [sp, #16] 7001b100: 50e7 str r7, [r4, r3] 7001b102: f44f 73a0 mov.w r3, #320 @ 0x140 7001b106: 5063 str r3, [r4, r1] 7001b108: 9b05 ldr r3, [sp, #20] 7001b10a: 9906 ldr r1, [sp, #24] 7001b10c: f844 8003 str.w r8, [r4, r3] 7001b110: f44f 73a2 mov.w r3, #324 @ 0x144 7001b114: 5063 str r3, [r4, r1] 7001b116: 2102 movs r1, #2 7001b118: 4b57 ldr r3, [pc, #348] @ (7001b278 ) 7001b11a: f844 900c str.w r9, [r4, ip] 7001b11e: f844 300e str.w r3, [r4, lr] 7001b122: 682b ldr r3, [r5, #0] 7001b124: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 7001b128: f043 0304 orr.w r3, r3, #4 7001b12c: f844 300a str.w r3, [r4, sl] 7001b130: 682b ldr r3, [r5, #0] 7001b132: f8c3 1120 str.w r1, [r3, #288] @ 0x120 7001b136: 2a00 cmp r2, #0 7001b138: f040 812e bne.w 7001b398 7001b13c: 2000 movs r0, #0 7001b13e: b009 add sp, #36 @ 0x24 7001b140: ecbd 8b0e vpop {d8-d14} 7001b144: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001b148: eef0 aa6d vmov.f32 s21, s27 7001b14c: eeb0 ba6e vmov.f32 s22, s29 7001b150: eefd 7ac8 vcvt.s32.f32 s15, s16 7001b154: eeb0 7a68 vmov.f32 s14, s17 7001b158: ee17 2a90 vmov r2, s15 7001b15c: eef8 7ae7 vcvt.f32.s32 s15, s15 7001b160: eeb4 8ae7 vcmpe.f32 s16, s15 7001b164: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b168: bfcc ite gt 7001b16a: 2301 movgt r3, #1 7001b16c: 2300 movle r3, #0 7001b16e: 4413 add r3, r2 7001b170: ee07 3a90 vmov s15, r3 7001b174: eef8 7ae7 vcvt.f32.s32 s15, s15 7001b178: e722 b.n 7001afc0 7001b17a: eeb4 9ac7 vcmpe.f32 s18, s14 7001b17e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b182: dd91 ble.n 7001b0a8 7001b184: ee3e 0ac9 vsub.f32 s0, s29, s18 7001b188: eebf 7a00 vmov.f32 s14, #240 @ 0xbf800000 -1.0 7001b18c: eeb4 0ac7 vcmpe.f32 s0, s14 7001b190: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b194: dd5d ble.n 7001b252 7001b196: 6828 ldr r0, [r5, #0] 7001b198: eef4 9aca vcmpe.f32 s19, s20 7001b19c: f8d0 32e0 ldr.w r3, [r0, #736] @ 0x2e0 7001b1a0: f8d0 22d8 ldr.w r2, [r0, #728] @ 0x2d8 7001b1a4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b1a8: f8d0 12e4 ldr.w r1, [r0, #740] @ 0x2e4 7001b1ac: eb02 0b03 add.w fp, r2, r3 7001b1b0: f8d0 32dc ldr.w r3, [r0, #732] @ 0x2dc 7001b1b4: eb03 0a01 add.w sl, r3, r1 7001b1b8: dd60 ble.n 7001b27c 7001b1ba: eeb8 7acb vcvt.f32.s32 s14, s22 7001b1be: edd0 7ab0 vldr s15, [r0, #704] @ 0x2c0 7001b1c2: eef4 7ac7 vcmpe.f32 s15, s14 7001b1c6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b1ca: f100 8116 bmi.w 7001b3fa 7001b1ce: eeb8 7aeb vcvt.f32.s32 s14, s23 7001b1d2: ee1b ba90 vmov fp, s23 7001b1d6: ee1b 2a10 vmov r2, s22 7001b1da: eef4 7ac7 vcmpe.f32 s15, s14 7001b1de: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b1e2: bfac ite ge 7001b1e4: 200c movge r0, #12 7001b1e6: 2009 movlt r0, #9 7001b1e8: e9cd 2303 strd r2, r3, [sp, #12] 7001b1ec: f00e fbb4 bl 70029958 7001b1f0: 4604 mov r4, r0 7001b1f2: e9dd 2303 ldrd r2, r3, [sp, #12] 7001b1f6: 2800 cmp r0, #0 7001b1f8: d160 bne.n 7001b2bc 7001b1fa: f44f 7000 mov.w r0, #512 @ 0x200 7001b1fe: b009 add sp, #36 @ 0x24 7001b200: ecbd 8b0e vpop {d8-d14} 7001b204: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001b208: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b20c: eef4 eac8 vcmpe.f32 s29, s16 7001b210: f100 809d bmi.w 7001b34e 7001b214: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b218: eeb0 ba48 vmov.f32 s22, s16 7001b21c: f77f aeb1 ble.w 7001af82 7001b220: eeb0 7a6e vmov.f32 s14, s29 7001b224: e6af b.n 7001af86 7001b226: eebf 7a00 vmov.f32 s14, #240 @ 0xbf800000 -1.0 7001b22a: eef4 eac7 vcmpe.f32 s29, s14 7001b22e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b232: f340 809f ble.w 7001b374 7001b236: ee3e 0ac9 vsub.f32 s0, s29, s18 7001b23a: eeb5 0ac0 vcmpe.f32 s0, #0.0 7001b23e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b242: d4a1 bmi.n 7001b188 7001b244: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7001b248: eeb4 0ac7 vcmpe.f32 s0, s14 7001b24c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b250: d4a1 bmi.n 7001b196 7001b252: ee7e 0a68 vsub.f32 s1, s28, s17 7001b256: eef5 0ac0 vcmpe.f32 s1, #0.0 7001b25a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b25e: f100 80b0 bmi.w 7001b3c2 7001b262: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7001b266: eef4 0ac7 vcmpe.f32 s1, s14 7001b26a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b26e: f57f af1b bpl.w 7001b0a8 7001b272: e790 b.n 7001b196 7001b274: 2400dc78 .word 0x2400dc78 7001b278: ff000100 .word 0xff000100 7001b27c: eeb8 7aea vcvt.f32.s32 s14, s21 7001b280: edd0 7ab1 vldr s15, [r0, #708] @ 0x2c4 7001b284: eef4 7ac7 vcmpe.f32 s15, s14 7001b288: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b28c: f100 80af bmi.w 7001b3ee 7001b290: eeb8 7acc vcvt.f32.s32 s14, s24 7001b294: ee1a 3a90 vmov r3, s21 7001b298: ee1c aa10 vmov sl, s24 7001b29c: eef4 7ac7 vcmpe.f32 s15, s14 7001b2a0: e9cd 2303 strd r2, r3, [sp, #12] 7001b2a4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b2a8: bfac ite ge 7001b2aa: 200c movge r0, #12 7001b2ac: 2009 movlt r0, #9 7001b2ae: f00e fb53 bl 70029958 7001b2b2: 4604 mov r4, r0 7001b2b4: e9dd 2303 ldrd r2, r3, [sp, #12] 7001b2b8: 2800 cmp r0, #0 7001b2ba: d09e beq.n 7001b1fa 7001b2bc: f8d5 c000 ldr.w ip, [r5] 7001b2c0: f8dc 02d8 ldr.w r0, [ip, #728] @ 0x2d8 7001b2c4: f8dc 12e0 ldr.w r1, [ip, #736] @ 0x2e0 7001b2c8: 4290 cmp r0, r2 7001b2ca: eb00 0e01 add.w lr, r0, r1 7001b2ce: f8dc 12dc ldr.w r1, [ip, #732] @ 0x2dc 7001b2d2: f8dc c2e4 ldr.w ip, [ip, #740] @ 0x2e4 7001b2d6: 448c add ip, r1 7001b2d8: f300 8087 bgt.w 7001b3ea 7001b2dc: 4572 cmp r2, lr 7001b2de: bfa8 it ge 7001b2e0: 4672 movge r2, lr 7001b2e2: 4583 cmp fp, r0 7001b2e4: db03 blt.n 7001b2ee 7001b2e6: 45f3 cmp fp, lr 7001b2e8: 4658 mov r0, fp 7001b2ea: bfa8 it ge 7001b2ec: 4670 movge r0, lr 7001b2ee: 4299 cmp r1, r3 7001b2f0: dc79 bgt.n 7001b3e6 7001b2f2: 4563 cmp r3, ip 7001b2f4: bfa8 it ge 7001b2f6: 4663 movge r3, ip 7001b2f8: 469e mov lr, r3 7001b2fa: 4551 cmp r1, sl 7001b2fc: dc03 bgt.n 7001b306 7001b2fe: 45d4 cmp ip, sl 7001b300: 4661 mov r1, ip 7001b302: bfa8 it ge 7001b304: 4651 movge r1, sl 7001b306: b293 uxth r3, r2 7001b308: 2228 movs r2, #40 @ 0x28 7001b30a: b280 uxth r0, r0 7001b30c: f104 0b10 add.w fp, r4, #16 7001b310: ea43 430e orr.w r3, r3, lr, lsl #16 7001b314: f04f 0a34 mov.w sl, #52 @ 0x34 7001b318: ea40 4001 orr.w r0, r0, r1, lsl #16 7001b31c: 2120 movs r1, #32 7001b31e: 6063 str r3, [r4, #4] 7001b320: f44f 7388 mov.w r3, #272 @ 0x110 7001b324: 60e0 str r0, [r4, #12] 7001b326: f04f 0e30 mov.w lr, #48 @ 0x30 7001b32a: 6023 str r3, [r4, #0] 7001b32c: f44f 738a mov.w r3, #276 @ 0x114 7001b330: f04f 0c2c mov.w ip, #44 @ 0x2c 7001b334: 2018 movs r0, #24 7001b336: 60a3 str r3, [r4, #8] 7001b338: 230e movs r3, #14 7001b33a: 9307 str r3, [sp, #28] 7001b33c: 2324 movs r3, #36 @ 0x24 7001b33e: e9cd 3205 strd r3, r2, [sp, #20] 7001b342: 231c movs r3, #28 7001b344: 2201 movs r2, #1 7001b346: e9cd 3103 strd r3, r1, [sp, #12] 7001b34a: 2114 movs r1, #20 7001b34c: e6ce b.n 7001b0ec 7001b34e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b352: eef0 aa6d vmov.f32 s21, s27 7001b356: eeb0 ba48 vmov.f32 s22, s16 7001b35a: f77f aef9 ble.w 7001b150 7001b35e: eefd 7aee vcvt.s32.f32 s15, s29 7001b362: eeb0 7a68 vmov.f32 s14, s17 7001b366: ee17 2a90 vmov r2, s15 7001b36a: eef8 7ae7 vcvt.f32.s32 s15, s15 7001b36e: eef4 eae7 vcmpe.f32 s29, s15 7001b372: e6f7 b.n 7001b164 7001b374: eeb5 9ac0 vcmpe.f32 s18, #0.0 7001b378: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b37c: f53f aefd bmi.w 7001b17a 7001b380: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7001b384: eeb4 9ac7 vcmpe.f32 s18, s14 7001b388: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b38c: f57f ae8c bpl.w 7001b0a8 7001b390: e75f b.n 7001b252 7001b392: ee3e 0ac9 vsub.f32 s0, s29, s18 7001b396: e755 b.n 7001b244 7001b398: 9907 ldr r1, [sp, #28] 7001b39a: eef0 0a4a vmov.f32 s1, s20 7001b39e: eeb0 0a69 vmov.f32 s0, s19 7001b3a2: ee1a 3a90 vmov r3, s21 7001b3a6: ee1b 2a10 vmov r2, s22 7001b3aa: 4620 mov r0, r4 7001b3ac: ed8d ca01 vstr s24, [sp, #4] 7001b3b0: edcd ba00 vstr s23, [sp] 7001b3b4: f7fe fd94 bl 70019ee0 7001b3b8: 4601 mov r1, r0 7001b3ba: 4620 mov r0, r4 7001b3bc: f7ff fd58 bl 7001ae70 7001b3c0: e6bc b.n 7001b13c 7001b3c2: eebf 7a00 vmov.f32 s14, #240 @ 0xbf800000 -1.0 7001b3c6: eef4 0ac7 vcmpe.f32 s1, s14 7001b3ca: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b3ce: f73f aee2 bgt.w 7001b196 7001b3d2: e669 b.n 7001b0a8 7001b3d4: eebf 7a00 vmov.f32 s14, #240 @ 0xbf800000 -1.0 7001b3d8: eeb4 9ac7 vcmpe.f32 s18, s14 7001b3dc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b3e0: f73f af37 bgt.w 7001b252 7001b3e4: e660 b.n 7001b0a8 7001b3e6: 468e mov lr, r1 7001b3e8: e787 b.n 7001b2fa 7001b3ea: 4602 mov r2, r0 7001b3ec: e779 b.n 7001b2e2 7001b3ee: ee1c aa10 vmov sl, s24 7001b3f2: ee1a 3a90 vmov r3, s21 7001b3f6: 200c movs r0, #12 7001b3f8: e6f6 b.n 7001b1e8 7001b3fa: ee1b ba90 vmov fp, s23 7001b3fe: ee1b 2a10 vmov r2, s22 7001b402: 200c movs r0, #12 7001b404: e6f0 b.n 7001b1e8 7001b406: bf00 nop 7001b408 : 7001b408: 2301 movs r3, #1 7001b40a: b570 push {r4, r5, r6, lr} 7001b40c: ed2d 8b0c vpush {d8-d13} 7001b410: eef0 8a40 vmov.f32 s17, s0 7001b414: b088 sub sp, #32 7001b416: eeb0 9a60 vmov.f32 s18, s1 7001b41a: 461c mov r4, r3 7001b41c: eeb6 8a00 vmov.f32 s16, #96 @ 0x3f000000 0.5 7001b420: 4e76 ldr r6, [pc, #472] @ (7001b5fc ) 7001b422: eef4 9a00 vmov.f32 s19, #64 @ 0x3e000000 0.125 7001b426: ed8d 0a06 vstr s0, [sp, #24] 7001b42a: eeb0 da41 vmov.f32 s26, s2 7001b42e: edcd 0a07 vstr s1, [sp, #28] 7001b432: eef0 ca61 vmov.f32 s25, s3 7001b436: ed8d 1a04 vstr s2, [sp, #16] 7001b43a: eeb0 ca42 vmov.f32 s24, s4 7001b43e: edcd 1a05 vstr s3, [sp, #20] 7001b442: eef0 ba62 vmov.f32 s23, s5 7001b446: ed8d 2a02 vstr s4, [sp, #8] 7001b44a: eef0 da43 vmov.f32 s27, s6 7001b44e: edcd 2a03 vstr s5, [sp, #12] 7001b452: eeb0 aa63 vmov.f32 s20, s7 7001b456: ed8d 3a00 vstr s6, [sp] 7001b45a: eeb0 ba60 vmov.f32 s22, s1 7001b45e: edcd 3a01 vstr s7, [sp, #4] 7001b462: eef0 aa40 vmov.f32 s21, s0 7001b466: ee7a 5a8d vadd.f32 s11, s21, s26 7001b46a: ee3b 5a2c vadd.f32 s10, s22, s25 7001b46e: ee7c 6a0d vadd.f32 s13, s24, s26 7001b472: ee3c 7aab vadd.f32 s14, s25, s23 7001b476: ee7c 3a2d vadd.f32 s7, s24, s27 7001b47a: ee3a 4a2b vadd.f32 s8, s20, s23 7001b47e: ee66 6a88 vmul.f32 s13, s13, s16 7001b482: ee27 7a08 vmul.f32 s14, s14, s16 7001b486: ee65 5a88 vmul.f32 s11, s11, s16 7001b48a: ee25 5a08 vmul.f32 s10, s10, s16 7001b48e: ee63 3a88 vmul.f32 s7, s7, s16 7001b492: ee24 4a08 vmul.f32 s8, s8, s16 7001b496: ee75 4aa6 vadd.f32 s9, s11, s13 7001b49a: ee35 3a07 vadd.f32 s6, s10, s14 7001b49e: ee76 6aa3 vadd.f32 s13, s13, s7 7001b4a2: ee37 7a04 vadd.f32 s14, s14, s8 7001b4a6: ee64 4a88 vmul.f32 s9, s9, s16 7001b4aa: ee23 3a08 vmul.f32 s6, s6, s16 7001b4ae: ee66 6a88 vmul.f32 s13, s13, s16 7001b4b2: ee27 7a08 vmul.f32 s14, s14, s16 7001b4b6: ee7a 7aad vadd.f32 s15, s21, s27 7001b4ba: ee3b 6a0a vadd.f32 s12, s22, s20 7001b4be: ee74 2aa6 vadd.f32 s5, s9, s13 7001b4c2: ee33 2a07 vadd.f32 s4, s6, s14 7001b4c6: ee67 7a88 vmul.f32 s15, s15, s16 7001b4ca: ee26 6a08 vmul.f32 s12, s12, s16 7001b4ce: ee62 2a88 vmul.f32 s5, s5, s16 7001b4d2: ee22 2a08 vmul.f32 s4, s4, s16 7001b4d6: ee77 7ae2 vsub.f32 s15, s15, s5 7001b4da: ee36 6a42 vsub.f32 s12, s12, s4 7001b4de: ee67 7aa7 vmul.f32 s15, s15, s15 7001b4e2: ee26 6a06 vmul.f32 s12, s12, s12 7001b4e6: ee77 7a86 vadd.f32 s15, s15, s12 7001b4ea: eef4 7a69 vcmp.f32 s15, s19 7001b4ee: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b4f2: d833 bhi.n 7001b55c 7001b4f4: bb93 cbnz r3, 7001b55c 7001b4f6: eef0 2a4a vmov.f32 s5, s20 7001b4fa: 3c01 subs r4, #1 7001b4fc: eeb0 2a6d vmov.f32 s4, s27 7001b500: eef0 1a4b vmov.f32 s3, s22 7001b504: eeb0 1a6a vmov.f32 s2, s21 7001b508: eef0 0a49 vmov.f32 s1, s18 7001b50c: eeb0 0a68 vmov.f32 s0, s17 7001b510: f7ff fad4 bl 7001aabc 7001b514: 6833 ldr r3, [r6, #0] 7001b516: f893 307c ldrb.w r3, [r3, #124] @ 0x7c 7001b51a: 2b02 cmp r3, #2 7001b51c: d107 bne.n 7001b52e 7001b51e: 2800 cmp r0, #0 7001b520: bfb4 ite lt 7001b522: f64b 4007 movwlt r0, #48135 @ 0xbc07 7001b526: f44f 403c movge.w r0, #48128 @ 0xbc00 7001b52a: f7fd ffed bl 70019508 7001b52e: eef0 1a4a vmov.f32 s3, s20 7001b532: eeb0 1a6d vmov.f32 s2, s27 7001b536: eef0 0a4b vmov.f32 s1, s22 7001b53a: eeb0 0a6a vmov.f32 s0, s21 7001b53e: f7ff fce1 bl 7001af04 7001b542: 6833 ldr r3, [r6, #0] 7001b544: 4605 mov r5, r0 7001b546: b3c0 cbz r0, 7001b5ba 7001b548: 2200 movs r2, #0 7001b54a: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001b54e: f00c f9ff bl 70027950 7001b552: 4628 mov r0, r5 7001b554: b008 add sp, #32 7001b556: ecbd 8b0c vpop {d8-d13} 7001b55a: bd70 pop {r4, r5, r6, pc} 7001b55c: 6831 ldr r1, [r6, #0] 7001b55e: f8d1 32bc ldr.w r3, [r1, #700] @ 0x2bc 7001b562: 2b09 cmp r3, #9 7001b564: dc12 bgt.n 7001b58c 7001b566: eb03 0243 add.w r2, r3, r3, lsl #1 7001b56a: 3301 adds r3, #1 7001b56c: eb01 02c2 add.w r2, r1, r2, lsl #3 7001b570: edc2 6a73 vstr s13, [r2, #460] @ 0x1cc 7001b574: ed82 7a74 vstr s14, [r2, #464] @ 0x1d0 7001b578: edc2 3a75 vstr s7, [r2, #468] @ 0x1d4 7001b57c: ed82 4a76 vstr s8, [r2, #472] @ 0x1d8 7001b580: edc2 da77 vstr s27, [r2, #476] @ 0x1dc 7001b584: ed82 aa78 vstr s20, [r2, #480] @ 0x1e0 7001b588: f8c1 32bc str.w r3, [r1, #700] @ 0x2bc 7001b58c: eeb0 aa42 vmov.f32 s20, s4 7001b590: 3401 adds r4, #1 7001b592: eef0 da62 vmov.f32 s27, s5 7001b596: eef0 ba43 vmov.f32 s23, s6 7001b59a: eeb0 ca64 vmov.f32 s24, s9 7001b59e: eef0 ca45 vmov.f32 s25, s10 7001b5a2: eeb0 da65 vmov.f32 s26, s11 7001b5a6: 2300 movs r3, #0 7001b5a8: 2c00 cmp r4, #0 7001b5aa: f47f af5c bne.w 7001b466 7001b5ae: 4625 mov r5, r4 7001b5b0: 4628 mov r0, r5 7001b5b2: b008 add sp, #32 7001b5b4: ecbd 8b0c vpop {d8-d13} 7001b5b8: bd70 pop {r4, r5, r6, pc} 7001b5ba: f8d3 22bc ldr.w r2, [r3, #700] @ 0x2bc 7001b5be: b1ba cbz r2, 7001b5f0 7001b5c0: 3a01 subs r2, #1 7001b5c2: eeb0 ba4a vmov.f32 s22, s20 7001b5c6: eef0 aa6d vmov.f32 s21, s27 7001b5ca: eb02 0142 add.w r1, r2, r2, lsl #1 7001b5ce: f8c3 22bc str.w r2, [r3, #700] @ 0x2bc 7001b5d2: eb03 03c1 add.w r3, r3, r1, lsl #3 7001b5d6: ed93 da73 vldr s26, [r3, #460] @ 0x1cc 7001b5da: edd3 ca74 vldr s25, [r3, #464] @ 0x1d0 7001b5de: ed93 ca75 vldr s24, [r3, #468] @ 0x1d4 7001b5e2: edd3 ba76 vldr s23, [r3, #472] @ 0x1d8 7001b5e6: ed93 aa78 vldr s20, [r3, #480] @ 0x1e0 7001b5ea: edd3 da77 vldr s27, [r3, #476] @ 0x1dc 7001b5ee: e7da b.n 7001b5a6 7001b5f0: eeb0 ba4a vmov.f32 s22, s20 7001b5f4: eef0 aa6d vmov.f32 s21, s27 7001b5f8: e7d5 b.n 7001b5a6 7001b5fa: bf00 nop 7001b5fc: 2400dc78 .word 0x2400dc78 7001b600 : 7001b600: b570 push {r4, r5, r6, lr} 7001b602: 4e1a ldr r6, [pc, #104] @ (7001b66c ) 7001b604: 460d mov r5, r1 7001b606: edd1 2a01 vldr s5, [r1, #4] 7001b60a: 4604 mov r4, r0 7001b60c: 6833 ldr r3, [r6, #0] 7001b60e: ed91 2a00 vldr s4, [r1] 7001b612: edd3 7ab3 vldr s15, [r3, #716] @ 0x2cc 7001b616: ed93 0ab2 vldr s0, [r3, #712] @ 0x2c8 7001b61a: eef8 0ae7 vcvt.f32.s32 s1, s15 7001b61e: edd0 1a01 vldr s3, [r0, #4] 7001b622: eeb8 0ac0 vcvt.f32.s32 s0, s0 7001b626: ed90 1a00 vldr s2, [r0] 7001b62a: f7ff fa47 bl 7001aabc 7001b62e: 2800 cmp r0, #0 7001b630: bfb4 ite lt 7001b632: f64b 4007 movwlt r0, #48135 @ 0xbc07 7001b636: f44f 403c movge.w r0, #48128 @ 0xbc00 7001b63a: f7fd ff65 bl 70019508 7001b63e: edd4 0a01 vldr s1, [r4, #4] 7001b642: ed94 0a00 vldr s0, [r4] 7001b646: edd5 1a01 vldr s3, [r5, #4] 7001b64a: ed95 1a00 vldr s2, [r5] 7001b64e: f7ff fc59 bl 7001af04 7001b652: 4604 mov r4, r0 7001b654: b908 cbnz r0, 7001b65a 7001b656: 4620 mov r0, r4 7001b658: bd70 pop {r4, r5, r6, pc} 7001b65a: 6833 ldr r3, [r6, #0] 7001b65c: 2200 movs r2, #0 7001b65e: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001b662: f00c f975 bl 70027950 7001b666: 4620 mov r0, r4 7001b668: bd70 pop {r4, r5, r6, pc} 7001b66a: bf00 nop 7001b66c: 2400dc78 .word 0x2400dc78 7001b670 : 7001b670: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7001b674: 4dd5 ldr r5, [pc, #852] @ (7001b9cc ) 7001b676: ed2d 8b0e vpush {d8-d14} 7001b67a: 682b ldr r3, [r5, #0] 7001b67c: b085 sub sp, #20 7001b67e: f8d3 3120 ldr.w r3, [r3, #288] @ 0x120 7001b682: 3301 adds r3, #1 7001b684: f000 810a beq.w 7001b89c 7001b688: eef0 8a61 vmov.f32 s17, s3 7001b68c: eeb0 8a41 vmov.f32 s16, s2 7001b690: eeb0 da40 vmov.f32 s26, s0 7001b694: eeb0 0a41 vmov.f32 s0, s2 7001b698: eeb0 9a60 vmov.f32 s18, s1 7001b69c: f7fd fa5e bl 70018b5c 7001b6a0: eeb0 0a68 vmov.f32 s0, s17 7001b6a4: 4607 mov r7, r0 7001b6a6: f7fd fa59 bl 70018b5c 7001b6aa: ee7d ba48 vsub.f32 s23, s26, s16 7001b6ae: ee39 ca68 vsub.f32 s24, s18, s17 7001b6b2: 4606 mov r6, r0 7001b6b4: eef5 bac0 vcmpe.f32 s23, #0.0 7001b6b8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b6bc: eeb5 cac0 vcmpe.f32 s24, #0.0 7001b6c0: bf48 it mi 7001b6c2: eef1 ba6b vnegmi.f32 s23, s23 7001b6c6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b6ca: eeb4 dac8 vcmpe.f32 s26, s16 7001b6ce: bf48 it mi 7001b6d0: eeb1 ca4c vnegmi.f32 s24, s24 7001b6d4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b6d8: eeb4 9ae8 vcmpe.f32 s18, s17 7001b6dc: f140 80d0 bpl.w 7001b880 7001b6e0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b6e4: f100 80e6 bmi.w 7001b8b4 7001b6e8: eeb0 ba4d vmov.f32 s22, s26 7001b6ec: eeb0 aa48 vmov.f32 s20, s16 7001b6f0: eeb4 9ae8 vcmpe.f32 s18, s17 7001b6f4: eddf 7ab6 vldr s15, [pc, #728] @ 7001b9d0 7001b6f8: eef0 aa68 vmov.f32 s21, s17 7001b6fc: ee3a aa27 vadd.f32 s20, s20, s15 7001b700: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b704: bfcc ite gt 7001b706: eef0 ca49 vmovgt.f32 s25, s18 7001b70a: eef0 ca68 vmovle.f32 s25, s17 7001b70e: 682b ldr r3, [r5, #0] 7001b710: eebd bacb vcvt.s32.f32 s22, s22 7001b714: eddf 7aae vldr s15, [pc, #696] @ 7001b9d0 7001b718: eefd aaea vcvt.s32.f32 s21, s21 7001b71c: edd3 dab0 vldr s27, [r3, #704] @ 0x2c0 7001b720: eebd aaca vcvt.s32.f32 s20, s20 7001b724: edd3 9ab1 vldr s19, [r3, #708] @ 0x2c4 7001b728: ee7c caa7 vadd.f32 s25, s25, s15 7001b72c: ee3d ea6d vsub.f32 s28, s26, s27 7001b730: ee79 ea69 vsub.f32 s29, s18, s19 7001b734: ee78 da6d vsub.f32 s27, s16, s27 7001b738: ee2e 0a0e vmul.f32 s0, s28, s28 7001b73c: ee6e 7aae vmul.f32 s15, s29, s29 7001b740: ee78 9ae9 vsub.f32 s19, s17, s19 7001b744: ee38 8a4d vsub.f32 s16, s16, s26 7001b748: ee30 0a27 vadd.f32 s0, s0, s15 7001b74c: f7fd f9ac bl 70018aa8 7001b750: ee69 7aa9 vmul.f32 s15, s19, s19 7001b754: ee2d 7aad vmul.f32 s14, s27, s27 7001b758: ee78 8ac9 vsub.f32 s17, s17, s18 7001b75c: eeb0 9a40 vmov.f32 s18, s0 7001b760: ee37 0a27 vadd.f32 s0, s14, s15 7001b764: f7fd f9a0 bl 70018aa8 7001b768: ee28 8a08 vmul.f32 s16, s16, s16 7001b76c: ee68 8aa8 vmul.f32 s17, s17, s17 7001b770: eeb0 da40 vmov.f32 s26, s0 7001b774: eefd caec vcvt.s32.f32 s25, s25 7001b778: ee38 0a28 vadd.f32 s0, s16, s17 7001b77c: f7fd f994 bl 70018aa8 7001b780: ee79 7a4d vsub.f32 s15, s18, s26 7001b784: eef5 7ac0 vcmpe.f32 s15, #0.0 7001b788: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b78c: bf48 it mi 7001b78e: eef1 7a67 vnegmi.f32 s15, s15 7001b792: ee77 7ac0 vsub.f32 s15, s15, s0 7001b796: eef5 7ac0 vcmpe.f32 s15, #0.0 7001b79a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b79e: eeb5 eac0 vcmpe.f32 s28, #0.0 7001b7a2: bf48 it mi 7001b7a4: eef1 7a67 vnegmi.f32 s15, s15 7001b7a8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b7ac: f100 80f8 bmi.w 7001b9a0 7001b7b0: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7001b7b4: eeb4 eac7 vcmpe.f32 s28, s14 7001b7b8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b7bc: f100 80d1 bmi.w 7001b962 7001b7c0: eef5 dac0 vcmpe.f32 s27, #0.0 7001b7c4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b7c8: f100 818c bmi.w 7001bae4 7001b7cc: eef4 dac7 vcmpe.f32 s27, s14 7001b7d0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b7d4: f100 819a bmi.w 7001bb0c 7001b7d8: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7001b7dc: eef4 7ac7 vcmpe.f32 s15, s14 7001b7e0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b7e4: f100 8090 bmi.w 7001b908 7001b7e8: f04f 0800 mov.w r8, #0 7001b7ec: 2003 movs r0, #3 7001b7ee: 46c2 mov sl, r8 7001b7f0: 46c3 mov fp, r8 7001b7f2: 46c1 mov r9, r8 7001b7f4: f8cd 800c str.w r8, [sp, #12] 7001b7f8: f00e f8ae bl 70029958 7001b7fc: 4604 mov r4, r0 7001b7fe: 2800 cmp r0, #0 7001b800: f000 8102 beq.w 7001ba08 7001b804: 6828 ldr r0, [r5, #0] 7001b806: f8d0 2120 ldr.w r2, [r0, #288] @ 0x120 7001b80a: 2a01 cmp r2, #1 7001b80c: bf14 ite ne 7001b80e: 2201 movne r2, #1 7001b810: 2202 moveq r2, #2 7001b812: f8c0 2120 str.w r2, [r0, #288] @ 0x120 7001b816: f1b8 0f00 cmp.w r8, #0 7001b81a: f040 8118 bne.w 7001ba4e 7001b81e: 46a3 mov fp, r4 7001b820: 2214 movs r2, #20 7001b822: 2106 movs r1, #6 7001b824: f04f 0c10 mov.w ip, #16 7001b828: f04f 0e0c mov.w lr, #12 7001b82c: f04f 0908 mov.w r9, #8 7001b830: f04f 0a04 mov.w sl, #4 7001b834: f8d0 3120 ldr.w r3, [r0, #288] @ 0x120 7001b838: 3312 adds r3, #18 7001b83a: 011b lsls r3, r3, #4 7001b83c: f8cb 3000 str.w r3, [fp] 7001b840: f844 700a str.w r7, [r4, sl] 7001b844: 682b ldr r3, [r5, #0] 7001b846: f8d3 3120 ldr.w r3, [r3, #288] @ 0x120 7001b84a: 011b lsls r3, r3, #4 7001b84c: f503 7392 add.w r3, r3, #292 @ 0x124 7001b850: f844 3009 str.w r3, [r4, r9] 7001b854: 4b5f ldr r3, [pc, #380] @ (7001b9d4 ) 7001b856: f844 600e str.w r6, [r4, lr] 7001b85a: f844 300c str.w r3, [r4, ip] 7001b85e: 682b ldr r3, [r5, #0] 7001b860: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 7001b864: f043 0304 orr.w r3, r3, #4 7001b868: 50a3 str r3, [r4, r2] 7001b86a: f1b8 0f00 cmp.w r8, #0 7001b86e: f040 80da bne.w 7001ba26 7001b872: 2400 movs r4, #0 7001b874: 4620 mov r0, r4 7001b876: b005 add sp, #20 7001b878: ecbd 8b0e vpop {d8-d14} 7001b87c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001b880: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b884: eeb4 dac8 vcmpe.f32 s26, s16 7001b888: d41f bmi.n 7001b8ca 7001b88a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b88e: eeb0 ba48 vmov.f32 s22, s16 7001b892: f340 814a ble.w 7001bb2a 7001b896: eeb0 aa4d vmov.f32 s20, s26 7001b89a: e729 b.n 7001b6f0 7001b89c: f7ff fb32 bl 7001af04 7001b8a0: 4604 mov r4, r0 7001b8a2: 2800 cmp r0, #0 7001b8a4: f040 8127 bne.w 7001baf6 7001b8a8: 4620 mov r0, r4 7001b8aa: b005 add sp, #20 7001b8ac: ecbd 8b0e vpop {d8-d14} 7001b8b0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001b8b4: ed9f aa46 vldr s20, [pc, #280] @ 7001b9d0 7001b8b8: eef0 aa49 vmov.f32 s21, s18 7001b8bc: eeb0 ba4d vmov.f32 s22, s26 7001b8c0: eef0 ca68 vmov.f32 s25, s17 7001b8c4: ee38 aa0a vadd.f32 s20, s16, s20 7001b8c8: e721 b.n 7001b70e 7001b8ca: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b8ce: ed9f aa40 vldr s20, [pc, #256] @ 7001b9d0 7001b8d2: eef0 aa49 vmov.f32 s21, s18 7001b8d6: eeb0 ba48 vmov.f32 s22, s16 7001b8da: eef0 ca68 vmov.f32 s25, s17 7001b8de: bfcc ite gt 7001b8e0: ee3d aa0a vaddgt.f32 s20, s26, s20 7001b8e4: ee38 aa0a vaddle.f32 s20, s16, s20 7001b8e8: e711 b.n 7001b70e 7001b8ea: eef4 dac7 vcmpe.f32 s27, s14 7001b8ee: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b8f2: f77f af71 ble.w 7001b7d8 7001b8f6: ee3e 7a6d vsub.f32 s14, s28, s27 7001b8fa: eeff 6a00 vmov.f32 s13, #240 @ 0xbf800000 -1.0 7001b8fe: eeb4 7ae6 vcmpe.f32 s14, s13 7001b902: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b906: dd3a ble.n 7001b97e 7001b908: 682a ldr r2, [r5, #0] 7001b90a: eef4 bacc vcmpe.f32 s23, s24 7001b90e: f8d2 12e0 ldr.w r1, [r2, #736] @ 0x2e0 7001b912: f8d2 92d8 ldr.w r9, [r2, #728] @ 0x2d8 7001b916: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b91a: f8d2 b2dc ldr.w fp, [r2, #732] @ 0x2dc 7001b91e: eb09 0a01 add.w sl, r9, r1 7001b922: f8d2 12e4 ldr.w r1, [r2, #740] @ 0x2e4 7001b926: eb0b 0301 add.w r3, fp, r1 7001b92a: 9303 str r3, [sp, #12] 7001b92c: dd54 ble.n 7001b9d8 7001b92e: eeb8 7acb vcvt.f32.s32 s14, s22 7001b932: edd2 7ab0 vldr s15, [r2, #704] @ 0x2c0 7001b936: eef4 7ac7 vcmpe.f32 s15, s14 7001b93a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b93e: f100 80e8 bmi.w 7001bb12 7001b942: eeb8 7aca vcvt.f32.s32 s14, s20 7001b946: ee1a aa10 vmov sl, s20 7001b94a: ee1b 9a10 vmov r9, s22 7001b94e: eef4 7ac7 vcmpe.f32 s15, s14 7001b952: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b956: bfac ite ge 7001b958: 200a movge r0, #10 7001b95a: 2007 movlt r0, #7 7001b95c: f04f 0801 mov.w r8, #1 7001b960: e74a b.n 7001b7f8 7001b962: ee3e 7a6d vsub.f32 s14, s28, s27 7001b966: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001b96a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b96e: d4c4 bmi.n 7001b8fa 7001b970: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001b974: eeb4 7ae6 vcmpe.f32 s14, s13 7001b978: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b97c: d4c4 bmi.n 7001b908 7001b97e: ee3e 7ae9 vsub.f32 s14, s29, s19 7001b982: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001b986: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b98a: f100 80a2 bmi.w 7001bad2 7001b98e: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001b992: eeb4 7ae6 vcmpe.f32 s14, s13 7001b996: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b99a: f57f af1d bpl.w 7001b7d8 7001b99e: e7b3 b.n 7001b908 7001b9a0: eebf 7a00 vmov.f32 s14, #240 @ 0xbf800000 -1.0 7001b9a4: eeb4 eac7 vcmpe.f32 s28, s14 7001b9a8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b9ac: dcd9 bgt.n 7001b962 7001b9ae: eef5 dac0 vcmpe.f32 s27, #0.0 7001b9b2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b9b6: d498 bmi.n 7001b8ea 7001b9b8: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7001b9bc: eef4 dac7 vcmpe.f32 s27, s14 7001b9c0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b9c4: f57f af08 bpl.w 7001b7d8 7001b9c8: e7d9 b.n 7001b97e 7001b9ca: bf00 nop 7001b9cc: 2400dc78 .word 0x2400dc78 7001b9d0: 3f7d70a4 .word 0x3f7d70a4 7001b9d4: ff000100 .word 0xff000100 7001b9d8: eeb8 7aea vcvt.f32.s32 s14, s21 7001b9dc: edd2 7ab1 vldr s15, [r2, #708] @ 0x2c4 7001b9e0: eef4 7ac7 vcmpe.f32 s15, s14 7001b9e4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001b9e8: f100 8099 bmi.w 7001bb1e 7001b9ec: eeb8 7aec vcvt.f32.s32 s14, s25 7001b9f0: ee1a ba90 vmov fp, s21 7001b9f4: edcd ca03 vstr s25, [sp, #12] 7001b9f8: eef4 7ac7 vcmpe.f32 s15, s14 7001b9fc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ba00: bfac ite ge 7001ba02: 200a movge r0, #10 7001ba04: 2007 movlt r0, #7 7001ba06: e7a9 b.n 7001b95c 7001ba08: 682b ldr r3, [r5, #0] 7001ba0a: f44f 7000 mov.w r0, #512 @ 0x200 7001ba0e: e9c3 4445 strd r4, r4, [r3, #276] @ 0x114 7001ba12: f44f 7400 mov.w r4, #512 @ 0x200 7001ba16: f00b ff9b bl 70027950 7001ba1a: 4620 mov r0, r4 7001ba1c: b005 add sp, #20 7001ba1e: ecbd 8b0e vpop {d8-d14} 7001ba22: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001ba26: eef0 0a4c vmov.f32 s1, s24 7001ba2a: ee1a 3a90 vmov r3, s21 7001ba2e: eeb0 0a6b vmov.f32 s0, s23 7001ba32: ee1b 2a10 vmov r2, s22 7001ba36: 4620 mov r0, r4 7001ba38: edcd ca01 vstr s25, [sp, #4] 7001ba3c: ed8d aa00 vstr s20, [sp] 7001ba40: f7fe fa4e bl 70019ee0 7001ba44: 4601 mov r1, r0 7001ba46: 4620 mov r0, r4 7001ba48: f7ff fa12 bl 7001ae70 7001ba4c: e711 b.n 7001b872 7001ba4e: f8d0 12d8 ldr.w r1, [r0, #728] @ 0x2d8 7001ba52: f8d0 22e0 ldr.w r2, [r0, #736] @ 0x2e0 7001ba56: 4589 cmp r9, r1 7001ba58: eb01 0c02 add.w ip, r1, r2 7001ba5c: f8d0 22dc ldr.w r2, [r0, #732] @ 0x2dc 7001ba60: f8d0 02e4 ldr.w r0, [r0, #740] @ 0x2e4 7001ba64: 4410 add r0, r2 7001ba66: db4f blt.n 7001bb08 7001ba68: 45e1 cmp r9, ip 7001ba6a: 464b mov r3, r9 7001ba6c: bfa8 it ge 7001ba6e: 4663 movge r3, ip 7001ba70: 469e mov lr, r3 7001ba72: 458a cmp sl, r1 7001ba74: db03 blt.n 7001ba7e 7001ba76: 45e2 cmp sl, ip 7001ba78: 4651 mov r1, sl 7001ba7a: bfa8 it ge 7001ba7c: 4661 movge r1, ip 7001ba7e: 4593 cmp fp, r2 7001ba80: db40 blt.n 7001bb04 7001ba82: 4583 cmp fp, r0 7001ba84: 46dc mov ip, fp 7001ba86: bfa8 it ge 7001ba88: 4684 movge ip, r0 7001ba8a: 9b03 ldr r3, [sp, #12] 7001ba8c: 4293 cmp r3, r2 7001ba8e: db03 blt.n 7001ba98 7001ba90: 4283 cmp r3, r0 7001ba92: 461a mov r2, r3 7001ba94: bfa8 it ge 7001ba96: 4602 movge r2, r0 7001ba98: fa1f f38e uxth.w r3, lr 7001ba9c: f104 0b10 add.w fp, r4, #16 7001baa0: b289 uxth r1, r1 7001baa2: f04f 0e1c mov.w lr, #28 7001baa6: ea43 430c orr.w r3, r3, ip, lsl #16 7001baaa: f04f 0918 mov.w r9, #24 7001baae: ea41 4102 orr.w r1, r1, r2, lsl #16 7001bab2: f04f 0c20 mov.w ip, #32 7001bab6: 6063 str r3, [r4, #4] 7001bab8: f44f 7388 mov.w r3, #272 @ 0x110 7001babc: 60e1 str r1, [r4, #12] 7001babe: 2224 movs r2, #36 @ 0x24 7001bac0: 6023 str r3, [r4, #0] 7001bac2: f44f 738a mov.w r3, #276 @ 0x114 7001bac6: 6828 ldr r0, [r5, #0] 7001bac8: 210a movs r1, #10 7001baca: f04f 0a14 mov.w sl, #20 7001bace: 60a3 str r3, [r4, #8] 7001bad0: e6b0 b.n 7001b834 7001bad2: eeff 6a00 vmov.f32 s13, #240 @ 0xbf800000 -1.0 7001bad6: eeb4 7ae6 vcmpe.f32 s14, s13 7001bada: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bade: f73f af13 bgt.w 7001b908 7001bae2: e679 b.n 7001b7d8 7001bae4: eebf 7a00 vmov.f32 s14, #240 @ 0xbf800000 -1.0 7001bae8: eef4 dac7 vcmpe.f32 s27, s14 7001baec: eef1 fa10 vmrs APSR_nzcv, fpscr 7001baf0: f73f af45 bgt.w 7001b97e 7001baf4: e670 b.n 7001b7d8 7001baf6: 682b ldr r3, [r5, #0] 7001baf8: 2200 movs r2, #0 7001bafa: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001bafe: f00b ff27 bl 70027950 7001bb02: e6d1 b.n 7001b8a8 7001bb04: 4694 mov ip, r2 7001bb06: e7c0 b.n 7001ba8a 7001bb08: 468e mov lr, r1 7001bb0a: e7b2 b.n 7001ba72 7001bb0c: ee3e 7a6d vsub.f32 s14, s28, s27 7001bb10: e72e b.n 7001b970 7001bb12: ee1a aa10 vmov sl, s20 7001bb16: ee1b 9a10 vmov r9, s22 7001bb1a: 200a movs r0, #10 7001bb1c: e71e b.n 7001b95c 7001bb1e: ee1a ba90 vmov fp, s21 7001bb22: 200a movs r0, #10 7001bb24: edcd ca03 vstr s25, [sp, #12] 7001bb28: e718 b.n 7001b95c 7001bb2a: eeb0 aa48 vmov.f32 s20, s16 7001bb2e: e5df b.n 7001b6f0 7001bb30 : 7001bb30: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7001bb34: f8df b418 ldr.w fp, [pc, #1048] @ 7001bf50 7001bb38: f04f 0901 mov.w r9, #1 7001bb3c: ed2d 8b10 vpush {d8-d15} 7001bb40: eeb0 8a41 vmov.f32 s16, s2 7001bb44: b09d sub sp, #116 @ 0x74 7001bb46: eef0 ea61 vmov.f32 s29, s3 7001bb4a: f8db 2000 ldr.w r2, [fp] 7001bb4e: eef0 ba42 vmov.f32 s23, s4 7001bb52: 46ca mov sl, r9 7001bb54: eef0 fa60 vmov.f32 s31, s1 7001bb58: ed8d 0a1a vstr s0, [sp, #104] @ 0x68 7001bb5c: eeb0 ba62 vmov.f32 s22, s5 7001bb60: edcd 0a1b vstr s1, [sp, #108] @ 0x6c 7001bb64: eeb0 fa40 vmov.f32 s30, s0 7001bb68: ed8d 1a18 vstr s2, [sp, #96] @ 0x60 7001bb6c: edcd 1a19 vstr s3, [sp, #100] @ 0x64 7001bb70: ed8d 2a16 vstr s4, [sp, #88] @ 0x58 7001bb74: edcd 2a17 vstr s5, [sp, #92] @ 0x5c 7001bb78: ee78 7a08 vadd.f32 s15, s16, s16 7001bb7c: ee3e 7aae vadd.f32 s14, s29, s29 7001bb80: eef6 3a00 vmov.f32 s7, #96 @ 0x3f000000 0.5 7001bb84: ee77 7a8f vadd.f32 s15, s15, s30 7001bb88: ee37 7a2f vadd.f32 s14, s14, s31 7001bb8c: eef5 5a00 vmov.f32 s11, #80 @ 0x3e800000 0.250 7001bb90: ee7f 6a2b vadd.f32 s13, s30, s23 7001bb94: ee3f 6a8b vadd.f32 s12, s31, s22 7001bb98: ee77 7aab vadd.f32 s15, s15, s23 7001bb9c: ee37 7a0b vadd.f32 s14, s14, s22 7001bba0: ee66 6aa3 vmul.f32 s13, s13, s7 7001bba4: ee26 6a23 vmul.f32 s12, s12, s7 7001bba8: ee67 7aa5 vmul.f32 s15, s15, s11 7001bbac: ee27 ca25 vmul.f32 s24, s14, s11 7001bbb0: ee76 6ae7 vsub.f32 s13, s13, s15 7001bbb4: ee36 6a4c vsub.f32 s12, s12, s24 7001bbb8: ee66 6aa6 vmul.f32 s13, s13, s13 7001bbbc: ee26 6a06 vmul.f32 s12, s12, s12 7001bbc0: ee76 6a86 vadd.f32 s13, s13, s12 7001bbc4: eef4 6ae3 vcmpe.f32 s13, s7 7001bbc8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bbcc: f200 8184 bhi.w 7001bed8 7001bbd0: f8d2 3120 ldr.w r3, [r2, #288] @ 0x120 7001bbd4: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff 7001bbd8: 3301 adds r3, #1 7001bbda: f000 81bd beq.w 7001bf58 7001bbde: eeb0 0a67 vmov.f32 s0, s15 7001bbe2: edcd 7a03 vstr s15, [sp, #12] 7001bbe6: f7fc ffb9 bl 70018b5c 7001bbea: eeb0 0a4c vmov.f32 s0, s24 7001bbee: 900b str r0, [sp, #44] @ 0x2c 7001bbf0: f7fc ffb4 bl 70018b5c 7001bbf4: eeb0 0a6b vmov.f32 s0, s23 7001bbf8: 900c str r0, [sp, #48] @ 0x30 7001bbfa: f7fc ffaf bl 70018b5c 7001bbfe: eeb0 0a4b vmov.f32 s0, s22 7001bc02: 900d str r0, [sp, #52] @ 0x34 7001bc04: f7fc ffaa bl 70018b5c 7001bc08: eddd 7a03 vldr s15, [sp, #12] 7001bc0c: 900e str r0, [sp, #56] @ 0x38 7001bc0e: ee3f 7a67 vsub.f32 s14, s30, s15 7001bc12: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001bc16: ed8d 7a03 vstr s14, [sp, #12] 7001bc1a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bc1e: d503 bpl.n 7001bc28 7001bc20: eeb1 7a47 vneg.f32 s14, s14 7001bc24: ed8d 7a03 vstr s14, [sp, #12] 7001bc28: ee3f eacc vsub.f32 s28, s31, s24 7001bc2c: ee77 caeb vsub.f32 s25, s15, s23 7001bc30: ee3c da4b vsub.f32 s26, s24, s22 7001bc34: eeb5 eac0 vcmpe.f32 s28, #0.0 7001bc38: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bc3c: eef5 cac0 vcmpe.f32 s25, #0.0 7001bc40: bf48 it mi 7001bc42: eeb1 ea4e vnegmi.f32 s28, s28 7001bc46: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bc4a: eeb5 dac0 vcmpe.f32 s26, #0.0 7001bc4e: bf48 it mi 7001bc50: eef1 ca6c vnegmi.f32 s25, s25 7001bc54: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bc58: eef4 7acf vcmpe.f32 s15, s30 7001bc5c: bf48 it mi 7001bc5e: eeb1 da4d vnegmi.f32 s26, s26 7001bc62: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bc66: eeb4 caef vcmpe.f32 s24, s31 7001bc6a: f340 8264 ble.w 7001c136 7001bc6e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bc72: eef0 5a4f vmov.f32 s11, s30 7001bc76: f300 83f1 bgt.w 7001c45c 7001bc7a: eef0 6a67 vmov.f32 s13, s15 7001bc7e: eeb4 caef vcmpe.f32 s24, s31 7001bc82: ed9f 6ab4 vldr s12, [pc, #720] @ 7001bf54 7001bc86: eeb0 7a4c vmov.f32 s14, s24 7001bc8a: ee76 6a86 vadd.f32 s13, s13, s12 7001bc8e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bc92: bf4c ite mi 7001bc94: eef0 9a6f vmovmi.f32 s19, s31 7001bc98: eef0 9a4c vmovpl.f32 s19, s24 7001bc9c: eebd 7ac7 vcvt.s32.f32 s14, s14 7001bca0: ed9f 6aac vldr s12, [pc, #688] @ 7001bf54 7001bca4: eef4 7aeb vcmpe.f32 s15, s23 7001bca8: ee79 9a86 vadd.f32 s19, s19, s12 7001bcac: ed8d 7a04 vstr s14, [sp, #16] 7001bcb0: eebd 7ae6 vcvt.s32.f32 s14, s13 7001bcb4: eebd 6ae5 vcvt.s32.f32 s12, s11 7001bcb8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bcbc: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 7001bcc0: eebd 7ae9 vcvt.s32.f32 s14, s19 7001bcc4: eeb4 cacb vcmpe.f32 s24, s22 7001bcc8: ed8d 6a11 vstr s12, [sp, #68] @ 0x44 7001bccc: ed8d 7a15 vstr s14, [sp, #84] @ 0x54 7001bcd0: f140 821c bpl.w 7001c10c 7001bcd4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bcd8: eeb0 6a67 vmov.f32 s12, s15 7001bcdc: f100 83b3 bmi.w 7001c446 7001bce0: eef0 aa6b vmov.f32 s21, s23 7001bce4: eeb4 cacb vcmpe.f32 s24, s22 7001bce8: eddf 6a9a vldr s13, [pc, #616] @ 7001bf54 7001bcec: eeb0 7a4b vmov.f32 s14, s22 7001bcf0: ee7a aaa6 vadd.f32 s21, s21, s13 7001bcf4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bcf8: bfcc ite gt 7001bcfa: eeb0 aa4c vmovgt.f32 s20, s24 7001bcfe: eeb0 aa4b vmovle.f32 s20, s22 7001bd02: f8db 3000 ldr.w r3, [fp] 7001bd06: eebd 7ac7 vcvt.s32.f32 s14, s14 7001bd0a: eddf 6a92 vldr s13, [pc, #584] @ 7001bf54 7001bd0e: ee3b 2a4c vsub.f32 s4, s22, s24 7001bd12: edd3 8ab0 vldr s17, [r3, #704] @ 0x2c0 7001bd16: ee77 0acf vsub.f32 s1, s15, s30 7001bd1a: ed93 9ab1 vldr s18, [r3, #708] @ 0x2c4 7001bd1e: ee3a aa26 vadd.f32 s20, s20, s13 7001bd22: ee7f 9a68 vsub.f32 s19, s30, s17 7001bd26: ed8d 7a10 vstr s14, [sp, #64] @ 0x40 7001bd2a: eefd 6ac6 vcvt.s32.f32 s13, s12 7001bd2e: ed8d 2a05 vstr s4, [sp, #20] 7001bd32: eebd 7aea vcvt.s32.f32 s14, s21 7001bd36: edcd 0a0a vstr s1, [sp, #40] @ 0x28 7001bd3a: ee7f aac9 vsub.f32 s21, s31, s18 7001bd3e: edcd 6a0f vstr s13, [sp, #60] @ 0x3c 7001bd42: ee29 0aa9 vmul.f32 s0, s19, s19 7001bd46: ee3c 1a6f vsub.f32 s2, s24, s31 7001bd4a: ed8d 7a12 vstr s14, [sp, #72] @ 0x48 7001bd4e: ee6a 6aaa vmul.f32 s13, s21, s21 7001bd52: eebd 7aca vcvt.s32.f32 s14, s20 7001bd56: ee7c da49 vsub.f32 s27, s24, s18 7001bd5a: ed8d 1a08 vstr s2, [sp, #32] 7001bd5e: ee37 aae8 vsub.f32 s20, s15, s17 7001bd62: ee7b 7ae7 vsub.f32 s15, s23, s15 7001bd66: ed8d 7a13 vstr s14, [sp, #76] @ 0x4c 7001bd6a: ee30 0a26 vadd.f32 s0, s0, s13 7001bd6e: ee7b 8ae8 vsub.f32 s17, s23, s17 7001bd72: edcd 7a09 vstr s15, [sp, #36] @ 0x24 7001bd76: f7fc fe97 bl 70018aa8 7001bd7a: ee2d 7aad vmul.f32 s14, s27, s27 7001bd7e: ed8d 0a07 vstr s0, [sp, #28] 7001bd82: ee2a 0a0a vmul.f32 s0, s20, s20 7001bd86: ee3b 9a49 vsub.f32 s18, s22, s18 7001bd8a: ee30 0a07 vadd.f32 s0, s0, s14 7001bd8e: f7fc fe8b bl 70018aa8 7001bd92: ee29 7a09 vmul.f32 s14, s18, s18 7001bd96: ed8d 0a06 vstr s0, [sp, #24] 7001bd9a: ee28 0aa8 vmul.f32 s0, s17, s17 7001bd9e: ee30 0a07 vadd.f32 s0, s0, s14 7001bda2: f7fc fe81 bl 70018aa8 7001bda6: eddd 0a0a vldr s1, [sp, #40] @ 0x28 7001bdaa: ed9d 1a08 vldr s2, [sp, #32] 7001bdae: eeb0 ca40 vmov.f32 s24, s0 7001bdb2: ee60 0aa0 vmul.f32 s1, s1, s1 7001bdb6: ee21 1a01 vmul.f32 s2, s2, s2 7001bdba: ee30 0a81 vadd.f32 s0, s1, s2 7001bdbe: f7fc fe73 bl 70018aa8 7001bdc2: ed9d 2a05 vldr s4, [sp, #20] 7001bdc6: eddd 7a09 vldr s15, [sp, #36] @ 0x24 7001bdca: eeb0 1a40 vmov.f32 s2, s0 7001bdce: ee22 2a02 vmul.f32 s4, s4, s4 7001bdd2: ee67 7aa7 vmul.f32 s15, s15, s15 7001bdd6: ed8d 1a05 vstr s2, [sp, #20] 7001bdda: ee37 0a82 vadd.f32 s0, s15, s4 7001bdde: f7fc fe63 bl 70018aa8 7001bde2: eddd 6a06 vldr s13, [sp, #24] 7001bde6: ed9d 6a07 vldr s12, [sp, #28] 7001bdea: ed9d 1a05 vldr s2, [sp, #20] 7001bdee: ee36 7a66 vsub.f32 s14, s12, s13 7001bdf2: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001bdf6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001bdfa: bf48 it mi 7001bdfc: eeb1 7a47 vnegmi.f32 s14, s14 7001be00: ee37 6a41 vsub.f32 s12, s14, s2 7001be04: ee36 7acc vsub.f32 s14, s13, s24 7001be08: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001be0c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001be10: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001be14: bf48 it mi 7001be16: eeb1 6a46 vnegmi.f32 s12, s12 7001be1a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001be1e: bf48 it mi 7001be20: eeb1 7a47 vnegmi.f32 s14, s14 7001be24: ee37 7a40 vsub.f32 s14, s14, s0 7001be28: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001be2c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001be30: eef5 9ac0 vcmpe.f32 s19, #0.0 7001be34: bf48 it mi 7001be36: eeb1 7a47 vnegmi.f32 s14, s14 7001be3a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001be3e: f100 818f bmi.w 7001c160 7001be42: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 7001be46: eef4 9ae7 vcmpe.f32 s19, s15 7001be4a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001be4e: f100 818f bmi.w 7001c170 7001be52: eeb5 aac0 vcmpe.f32 s20, #0.0 7001be56: eef1 fa10 vmrs APSR_nzcv, fpscr 7001be5a: f100 8325 bmi.w 7001c4a8 7001be5e: eeb4 aae7 vcmpe.f32 s20, s15 7001be62: eef1 fa10 vmrs APSR_nzcv, fpscr 7001be66: f100 8755 bmi.w 7001cd14 7001be6a: eef5 8ac0 vcmpe.f32 s17, #0.0 7001be6e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001be72: f100 8753 bmi.w 7001cd1c 7001be76: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 7001be7a: eef4 8ae7 vcmpe.f32 s17, s15 7001be7e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001be82: f100 86d6 bmi.w 7001cc32 7001be86: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 7001be8a: eeb4 6ae7 vcmpe.f32 s12, s15 7001be8e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001be92: f100 81b6 bmi.w 7001c202 7001be96: eeb4 7ae7 vcmpe.f32 s14, s15 7001be9a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001be9e: f100 81b0 bmi.w 7001c202 7001bea2: 2400 movs r4, #0 7001bea4: 2006 movs r0, #6 7001bea6: f00d fd57 bl 70029958 7001beaa: f8db 3000 ldr.w r3, [fp] 7001beae: 4626 mov r6, r4 7001beb0: 4627 mov r7, r4 7001beb2: 46a0 mov r8, r4 7001beb4: 46a1 mov r9, r4 7001beb6: 4605 mov r5, r0 7001beb8: 2800 cmp r0, #0 7001beba: f040 81f7 bne.w 7001c2ac 7001bebe: f44f 7000 mov.w r0, #512 @ 0x200 7001bec2: e9c3 5545 strd r5, r5, [r3, #276] @ 0x114 7001bec6: f00b fd43 bl 70027950 7001beca: f44f 7000 mov.w r0, #512 @ 0x200 7001bece: b01d add sp, #116 @ 0x74 7001bed0: ecbd 8b10 vpop {d8-d15} 7001bed4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001bed8: f8d2 32bc ldr.w r3, [r2, #700] @ 0x2bc 7001bedc: ee7f 6a08 vadd.f32 s13, s30, s16 7001bee0: ee3f 6aae vadd.f32 s12, s31, s29 7001bee4: 2b09 cmp r3, #9 7001bee6: ee66 6aa3 vmul.f32 s13, s13, s7 7001beea: ee26 6a23 vmul.f32 s12, s12, s7 7001beee: dc1a bgt.n 7001bf26 7001bef0: ee38 8a2b vadd.f32 s16, s16, s23 7001bef4: eb03 0143 add.w r1, r3, r3, lsl #1 7001bef8: ee7e ea8b vadd.f32 s29, s29, s22 7001befc: 3301 adds r3, #1 7001befe: eb02 01c1 add.w r1, r2, r1, lsl #3 7001bf02: ee28 8a23 vmul.f32 s16, s16, s7 7001bf06: ee6e eaa3 vmul.f32 s29, s29, s7 7001bf0a: edc1 7a73 vstr s15, [r1, #460] @ 0x1cc 7001bf0e: ed81 ca74 vstr s24, [r1, #464] @ 0x1d0 7001bf12: ed81 8a75 vstr s16, [r1, #468] @ 0x1d4 7001bf16: edc1 ea76 vstr s29, [r1, #472] @ 0x1d8 7001bf1a: edc1 ba77 vstr s23, [r1, #476] @ 0x1dc 7001bf1e: ed81 ba78 vstr s22, [r1, #480] @ 0x1e0 7001bf22: f8c2 32bc str.w r3, [r2, #700] @ 0x2bc 7001bf26: eeb0 ba4c vmov.f32 s22, s24 7001bf2a: f10a 0a01 add.w sl, sl, #1 7001bf2e: eef0 ba67 vmov.f32 s23, s15 7001bf32: eef0 ea46 vmov.f32 s29, s12 7001bf36: eeb0 8a66 vmov.f32 s16, s13 7001bf3a: f1ba 0f00 cmp.w sl, #0 7001bf3e: f47f ae1b bne.w 7001bb78 7001bf42: 4650 mov r0, sl 7001bf44: b01d add sp, #116 @ 0x74 7001bf46: ecbd 8b10 vpop {d8-d15} 7001bf4a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001bf4e: bf00 nop 7001bf50: 2400dc78 .word 0x2400dc78 7001bf54: 3f7d70a4 .word 0x3f7d70a4 7001bf58: eeb0 0a4f vmov.f32 s0, s30 7001bf5c: edcd 7a03 vstr s15, [sp, #12] 7001bf60: f7fc fdfc bl 70018b5c 7001bf64: eeb0 0a6f vmov.f32 s0, s31 7001bf68: 9007 str r0, [sp, #28] 7001bf6a: f7fc fdf7 bl 70018b5c 7001bf6e: eddd 7a03 vldr s15, [sp, #12] 7001bf72: 9008 str r0, [sp, #32] 7001bf74: eeb0 0a67 vmov.f32 s0, s15 7001bf78: f7fc fdf0 bl 70018b5c 7001bf7c: eeb0 0a4c vmov.f32 s0, s24 7001bf80: 9009 str r0, [sp, #36] @ 0x24 7001bf82: f7fc fdeb bl 70018b5c 7001bf86: eeb0 0a6b vmov.f32 s0, s23 7001bf8a: 900a str r0, [sp, #40] @ 0x28 7001bf8c: f7fc fde6 bl 70018b5c 7001bf90: eeb0 0a4b vmov.f32 s0, s22 7001bf94: 900b str r0, [sp, #44] @ 0x2c 7001bf96: f7fc fde1 bl 70018b5c 7001bf9a: f8db 3000 ldr.w r3, [fp] 7001bf9e: ee3c aa6f vsub.f32 s20, s24, s31 7001bfa2: eddd 7a03 vldr s15, [sp, #12] 7001bfa6: ee7b da4c vsub.f32 s27, s22, s24 7001bfaa: edd3 8ab0 vldr s17, [r3, #704] @ 0x2c0 7001bfae: ed93 9ab1 vldr s18, [r3, #708] @ 0x2c4 7001bfb2: ee77 aacf vsub.f32 s21, s15, s30 7001bfb6: ee3f 7a68 vsub.f32 s14, s30, s17 7001bfba: edcd 7a05 vstr s15, [sp, #20] 7001bfbe: ee3f dac9 vsub.f32 s26, s31, s18 7001bfc2: 900c str r0, [sp, #48] @ 0x30 7001bfc4: ee77 cae8 vsub.f32 s25, s15, s17 7001bfc8: ee27 0a07 vmul.f32 s0, s14, s14 7001bfcc: ed8d 7a06 vstr s14, [sp, #24] 7001bfd0: ee6d 6a0d vmul.f32 s13, s26, s26 7001bfd4: ee7c 9a49 vsub.f32 s19, s24, s18 7001bfd8: ee3b eae7 vsub.f32 s28, s23, s15 7001bfdc: ee30 0a26 vadd.f32 s0, s0, s13 7001bfe0: f7fc fd62 bl 70018aa8 7001bfe4: ee69 6aa9 vmul.f32 s13, s19, s19 7001bfe8: ed8d 0a04 vstr s0, [sp, #16] 7001bfec: ee2c 0aac vmul.f32 s0, s25, s25 7001bff0: ee7b 8ae8 vsub.f32 s17, s23, s17 7001bff4: ee3b 9a49 vsub.f32 s18, s22, s18 7001bff8: ee30 0a26 vadd.f32 s0, s0, s13 7001bffc: f7fc fd54 bl 70018aa8 7001c000: ed8d 0a03 vstr s0, [sp, #12] 7001c004: ee69 6a09 vmul.f32 s13, s18, s18 7001c008: ee28 0aa8 vmul.f32 s0, s17, s17 7001c00c: ee30 0a26 vadd.f32 s0, s0, s13 7001c010: f7fc fd4a bl 70018aa8 7001c014: ee2a 3a0a vmul.f32 s6, s20, s20 7001c018: eef0 6a40 vmov.f32 s13, s0 7001c01c: ee2a 0aaa vmul.f32 s0, s21, s21 7001c020: eeb0 aa66 vmov.f32 s20, s13 7001c024: ee30 0a03 vadd.f32 s0, s0, s6 7001c028: f7fc fd3e bl 70018aa8 7001c02c: ee6e 3a0e vmul.f32 s7, s28, s28 7001c030: ee2d 6aad vmul.f32 s12, s27, s27 7001c034: eef0 aa40 vmov.f32 s21, s0 7001c038: ee33 0a86 vadd.f32 s0, s7, s12 7001c03c: f7fc fd34 bl 70018aa8 7001c040: eddd 5a03 vldr s11, [sp, #12] 7001c044: ed9d 5a04 vldr s10, [sp, #16] 7001c048: ed9d 7a06 vldr s14, [sp, #24] 7001c04c: ee35 6a65 vsub.f32 s12, s10, s11 7001c050: eddd 7a05 vldr s15, [sp, #20] 7001c054: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001c058: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c05c: bf48 it mi 7001c05e: eeb1 6a46 vnegmi.f32 s12, s12 7001c062: ee76 3a6a vsub.f32 s7, s12, s21 7001c066: ee35 6aca vsub.f32 s12, s11, s20 7001c06a: eef5 3ac0 vcmpe.f32 s7, #0.0 7001c06e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c072: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001c076: bf48 it mi 7001c078: eef1 3a63 vnegmi.f32 s7, s7 7001c07c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c080: bf48 it mi 7001c082: eeb1 6a46 vnegmi.f32 s12, s12 7001c086: ee36 6a40 vsub.f32 s12, s12, s0 7001c08a: eeb5 6ac0 vcmpe.f32 s12, #0.0 7001c08e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c092: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001c096: bf48 it mi 7001c098: eeb1 6a46 vnegmi.f32 s12, s12 7001c09c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c0a0: f100 821e bmi.w 7001c4e0 7001c0a4: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001c0a8: eeb4 7ae6 vcmpe.f32 s14, s13 7001c0ac: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c0b0: f100 821e bmi.w 7001c4f0 7001c0b4: eef5 cac0 vcmpe.f32 s25, #0.0 7001c0b8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c0bc: f100 8598 bmi.w 7001cbf0 7001c0c0: eef4 cae6 vcmpe.f32 s25, s13 7001c0c4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c0c8: f100 8670 bmi.w 7001cdac 7001c0cc: eef5 8ac0 vcmpe.f32 s17, #0.0 7001c0d0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c0d4: f100 866e bmi.w 7001cdb4 7001c0d8: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001c0dc: eef4 8ae6 vcmpe.f32 s17, s13 7001c0e0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c0e4: f100 86cf bmi.w 7001ce86 7001c0e8: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001c0ec: eef4 3ae6 vcmpe.f32 s7, s13 7001c0f0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c0f4: f100 8245 bmi.w 7001c582 7001c0f8: eeb4 6ae6 vcmpe.f32 s12, s13 7001c0fc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c100: bf4c ite mi 7001c102: f04f 0901 movmi.w r9, #1 7001c106: f04f 0900 movpl.w r9, #0 7001c10a: e23c b.n 7001c586 7001c10c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c110: eef4 7aeb vcmpe.f32 s15, s23 7001c114: f140 818c bpl.w 7001c430 7001c118: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c11c: f340 8191 ble.w 7001c442 7001c120: ed1f 7a74 vldr s14, [pc, #-464] @ 7001bf54 7001c124: eeb0 6a6b vmov.f32 s12, s23 7001c128: eeb0 aa4b vmov.f32 s20, s22 7001c12c: ee77 aa87 vadd.f32 s21, s15, s14 7001c130: eeb0 7a4c vmov.f32 s14, s24 7001c134: e5e5 b.n 7001bd02 7001c136: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c13a: eef4 7acf vcmpe.f32 s15, s30 7001c13e: f340 816e ble.w 7001c41e 7001c142: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c146: f140 8187 bpl.w 7001c458 7001c14a: ed5f 6a7e vldr s13, [pc, #-504] @ 7001bf54 7001c14e: eeb0 7a6f vmov.f32 s14, s31 7001c152: eef0 5a67 vmov.f32 s11, s15 7001c156: ee7f 6a26 vadd.f32 s13, s30, s13 7001c15a: eef0 9a4c vmov.f32 s19, s24 7001c15e: e59d b.n 7001bc9c 7001c160: eeff 7a00 vmov.f32 s15, #240 @ 0xbf800000 -1.0 7001c164: eef4 9ae7 vcmpe.f32 s19, s15 7001c168: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c16c: f340 817f ble.w 7001c46e 7001c170: ee79 7aca vsub.f32 s15, s19, s20 7001c174: eef5 7ac0 vcmpe.f32 s15, #0.0 7001c178: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c17c: f100 82e3 bmi.w 7001c746 7001c180: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001c184: eef4 7ae6 vcmpe.f32 s15, s13 7001c188: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c18c: d439 bmi.n 7001c202 7001c18e: ee3a 3aed vsub.f32 s6, s21, s27 7001c192: eeb5 3ac0 vcmpe.f32 s6, #0.0 7001c196: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c19a: f100 8540 bmi.w 7001cc1e 7001c19e: eeb4 3ae6 vcmpe.f32 s6, s13 7001c1a2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c1a6: d42c bmi.n 7001c202 7001c1a8: eeb5 aac0 vcmpe.f32 s20, #0.0 7001c1ac: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c1b0: f100 85eb bmi.w 7001cd8a 7001c1b4: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 7001c1b8: eeb4 aae7 vcmpe.f32 s20, s15 7001c1bc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c1c0: f57f ae53 bpl.w 7001be6a 7001c1c4: ee7a 7a68 vsub.f32 s15, s20, s17 7001c1c8: eef5 7ac0 vcmpe.f32 s15, #0.0 7001c1cc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c1d0: f100 853d bmi.w 7001cc4e 7001c1d4: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001c1d8: eef4 7ae6 vcmpe.f32 s15, s13 7001c1dc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c1e0: d40f bmi.n 7001c202 7001c1e2: ee7d dac9 vsub.f32 s27, s27, s18 7001c1e6: eef5 dac0 vcmpe.f32 s27, #0.0 7001c1ea: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c1ee: f100 859f bmi.w 7001cd30 7001c1f2: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 7001c1f6: eef4 dae7 vcmpe.f32 s27, s15 7001c1fa: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c1fe: f57f ae42 bpl.w 7001be86 7001c202: eddd 7a03 vldr s15, [sp, #12] 7001c206: f8db 3000 ldr.w r3, [fp] 7001c20a: eef4 7ace vcmpe.f32 s15, s28 7001c20e: f8d3 92d8 ldr.w r9, [r3, #728] @ 0x2d8 7001c212: f8d3 72e0 ldr.w r7, [r3, #736] @ 0x2e0 7001c216: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c21a: f8d3 82dc ldr.w r8, [r3, #732] @ 0x2dc 7001c21e: f8d3 62e4 ldr.w r6, [r3, #740] @ 0x2e4 7001c222: 444f add r7, r9 7001c224: 4446 add r6, r8 7001c226: f300 80dc bgt.w 7001c3e2 7001c22a: eddd 7a04 vldr s15, [sp, #16] 7001c22e: ed93 7ab1 vldr s14, [r3, #708] @ 0x2c4 7001c232: eef8 7ae7 vcvt.f32.s32 s15, s15 7001c236: eeb4 7ae7 vcmpe.f32 s14, s15 7001c23a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c23e: f100 8510 bmi.w 7001cc62 7001c242: eddd 6a15 vldr s13, [sp, #84] @ 0x54 7001c246: f8dd 8010 ldr.w r8, [sp, #16] 7001c24a: eef8 7ae6 vcvt.f32.s32 s15, s13 7001c24e: ee16 6a90 vmov r6, s13 7001c252: eeb4 7ae7 vcmpe.f32 s14, s15 7001c256: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c25a: bfab itete ge 7001c25c: 2012 movge r0, #18 7001c25e: 200f movlt r0, #15 7001c260: 220f movge r2, #15 7001c262: 220c movlt r2, #12 7001c264: eef4 cacd vcmpe.f32 s25, s26 7001c268: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c26c: f340 80aa ble.w 7001c3c4 7001c270: ed9d 7a0f vldr s14, [sp, #60] @ 0x3c 7001c274: edd3 7ab0 vldr s15, [r3, #704] @ 0x2c0 7001c278: eeb8 7ac7 vcvt.f32.s32 s14, s14 7001c27c: eef4 7ac7 vcmpe.f32 s15, s14 7001c280: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c284: d409 bmi.n 7001c29a 7001c286: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 7001c28a: eeb8 7ac7 vcvt.f32.s32 s14, s14 7001c28e: eef4 7ac7 vcmpe.f32 s15, s14 7001c292: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c296: bfb8 it lt 7001c298: 4610 movlt r0, r2 7001c29a: f00d fb5d bl 70029958 7001c29e: 2401 movs r4, #1 7001c2a0: 4605 mov r5, r0 7001c2a2: f8db 3000 ldr.w r3, [fp] 7001c2a6: 2800 cmp r0, #0 7001c2a8: f43f ae09 beq.w 7001bebe 7001c2ac: f8d3 2120 ldr.w r2, [r3, #288] @ 0x120 7001c2b0: 2a01 cmp r2, #1 7001c2b2: bf14 ite ne 7001c2b4: 2201 movne r2, #1 7001c2b6: 2202 moveq r2, #2 7001c2b8: f8c3 2120 str.w r2, [r3, #288] @ 0x120 7001c2bc: 2c00 cmp r4, #0 7001c2be: f040 82ce bne.w 7001c85e 7001c2c2: f04f 0914 mov.w r9, #20 7001c2c6: 2706 movs r7, #6 7001c2c8: 210c movs r1, #12 7001c2ca: 9005 str r0, [sp, #20] 7001c2cc: f04f 0c2c mov.w ip, #44 @ 0x2c 7001c2d0: f04f 0e28 mov.w lr, #40 @ 0x28 7001c2d4: f04f 0824 mov.w r8, #36 @ 0x24 7001c2d8: 2020 movs r0, #32 7001c2da: 261c movs r6, #28 7001c2dc: 2218 movs r2, #24 7001c2de: e9cd 9709 strd r9, r7, [sp, #36] @ 0x24 7001c2e2: 2710 movs r7, #16 7001c2e4: f04f 0904 mov.w r9, #4 7001c2e8: e9cd 1707 strd r1, r7, [sp, #28] 7001c2ec: 2708 movs r7, #8 7001c2ee: 9706 str r7, [sp, #24] 7001c2f0: 462f mov r7, r5 7001c2f2: f8d3 3120 ldr.w r3, [r3, #288] @ 0x120 7001c2f6: 3312 adds r3, #18 7001c2f8: 011b lsls r3, r3, #4 7001c2fa: 603b str r3, [r7, #0] 7001c2fc: 9b0b ldr r3, [sp, #44] @ 0x2c 7001c2fe: 9f06 ldr r7, [sp, #24] 7001c300: f845 3009 str.w r3, [r5, r9] 7001c304: f8db 3000 ldr.w r3, [fp] 7001c308: f8d3 3120 ldr.w r3, [r3, #288] @ 0x120 7001c30c: 011b lsls r3, r3, #4 7001c30e: f503 7392 add.w r3, r3, #292 @ 0x124 7001c312: 51eb str r3, [r5, r7] 7001c314: 9b07 ldr r3, [sp, #28] 7001c316: 9f0c ldr r7, [sp, #48] @ 0x30 7001c318: 50ef str r7, [r5, r3] 7001c31a: 9b08 ldr r3, [sp, #32] 7001c31c: 4f6e ldr r7, [pc, #440] @ (7001c4d8 ) 7001c31e: 50ef str r7, [r5, r3] 7001c320: f8db 3000 ldr.w r3, [fp] 7001c324: 9f09 ldr r7, [sp, #36] @ 0x24 7001c326: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 7001c32a: f043 0304 orr.w r3, r3, #4 7001c32e: 51eb str r3, [r5, r7] 7001c330: 2c00 cmp r4, #0 7001c332: f040 8253 bne.w 7001c7dc 7001c336: f8db 7000 ldr.w r7, [fp] 7001c33a: f8d7 3120 ldr.w r3, [r7, #288] @ 0x120 7001c33e: 2b01 cmp r3, #1 7001c340: f000 8246 beq.w 7001c7d0 7001c344: 2301 movs r3, #1 7001c346: f8c7 3120 str.w r3, [r7, #288] @ 0x120 7001c34a: f44f 7398 mov.w r3, #304 @ 0x130 7001c34e: 50ab str r3, [r5, r2] 7001c350: 9b0d ldr r3, [sp, #52] @ 0x34 7001c352: 51ab str r3, [r5, r6] 7001c354: f8db 3000 ldr.w r3, [fp] 7001c358: f8d3 3120 ldr.w r3, [r3, #288] @ 0x120 7001c35c: 011b lsls r3, r3, #4 7001c35e: f503 7392 add.w r3, r3, #292 @ 0x124 7001c362: 502b str r3, [r5, r0] 7001c364: 9b0e ldr r3, [sp, #56] @ 0x38 7001c366: f845 3008 str.w r3, [r5, r8] 7001c36a: 4b5b ldr r3, [pc, #364] @ (7001c4d8 ) 7001c36c: f845 300e str.w r3, [r5, lr] 7001c370: f8db 3000 ldr.w r3, [fp] 7001c374: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 7001c378: f043 0304 orr.w r3, r3, #4 7001c37c: f845 300c str.w r3, [r5, ip] 7001c380: 2c00 cmp r4, #0 7001c382: f040 82be bne.w 7001c902 7001c386: f8db 2000 ldr.w r2, [fp] 7001c38a: f8d2 32bc ldr.w r3, [r2, #700] @ 0x2bc 7001c38e: 2b00 cmp r3, #0 7001c390: f43f add3 beq.w 7001bf3a 7001c394: 3b01 subs r3, #1 7001c396: f8c2 32bc str.w r3, [r2, #700] @ 0x2bc 7001c39a: eb03 0343 add.w r3, r3, r3, lsl #1 7001c39e: eb02 03c3 add.w r3, r2, r3, lsl #3 7001c3a2: ed93 fa73 vldr s30, [r3, #460] @ 0x1cc 7001c3a6: edd3 fa74 vldr s31, [r3, #464] @ 0x1d0 7001c3aa: ed93 8a75 vldr s16, [r3, #468] @ 0x1d4 7001c3ae: edd3 ea76 vldr s29, [r3, #472] @ 0x1d8 7001c3b2: edd3 ba77 vldr s23, [r3, #476] @ 0x1dc 7001c3b6: ed93 ba78 vldr s22, [r3, #480] @ 0x1e0 7001c3ba: f1ba 0f00 cmp.w sl, #0 7001c3be: f47f abdb bne.w 7001bb78 7001c3c2: e5be b.n 7001bf42 7001c3c4: ed9d 7a10 vldr s14, [sp, #64] @ 0x40 7001c3c8: edd3 7ab1 vldr s15, [r3, #708] @ 0x2c4 7001c3cc: eeb8 7ac7 vcvt.f32.s32 s14, s14 7001c3d0: eef4 7ac7 vcmpe.f32 s15, s14 7001c3d4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c3d8: f53f af5f bmi.w 7001c29a 7001c3dc: ed9d 7a13 vldr s14, [sp, #76] @ 0x4c 7001c3e0: e753 b.n 7001c28a 7001c3e2: eddd 6a11 vldr s13, [sp, #68] @ 0x44 7001c3e6: ed93 7ab0 vldr s14, [r3, #704] @ 0x2c0 7001c3ea: eef8 7ae6 vcvt.f32.s32 s15, s13 7001c3ee: eeb4 7ae7 vcmpe.f32 s14, s15 7001c3f2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c3f6: f100 843b bmi.w 7001cc70 7001c3fa: ed9d 6a14 vldr s12, [sp, #80] @ 0x50 7001c3fe: ee16 9a90 vmov r9, s13 7001c402: eef8 7ac6 vcvt.f32.s32 s15, s12 7001c406: ee16 7a10 vmov r7, s12 7001c40a: eeb4 7ae7 vcmpe.f32 s14, s15 7001c40e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c412: bfab itete ge 7001c414: 2012 movge r0, #18 7001c416: 200f movlt r0, #15 7001c418: 220f movge r2, #15 7001c41a: 220c movlt r2, #12 7001c41c: e722 b.n 7001c264 7001c41e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c422: eef0 5a67 vmov.f32 s11, s15 7001c426: f57f ac28 bpl.w 7001bc7a 7001c42a: eef0 6a4f vmov.f32 s13, s30 7001c42e: e426 b.n 7001bc7e 7001c430: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c434: eeb0 6a6b vmov.f32 s12, s23 7001c438: f77f ac52 ble.w 7001bce0 7001c43c: eef0 aa67 vmov.f32 s21, s15 7001c440: e450 b.n 7001bce4 7001c442: eeb0 6a6b vmov.f32 s12, s23 7001c446: eddf aa25 vldr s21, [pc, #148] @ 7001c4dc 7001c44a: eeb0 7a4c vmov.f32 s14, s24 7001c44e: eeb0 aa4b vmov.f32 s20, s22 7001c452: ee7b aaaa vadd.f32 s21, s23, s21 7001c456: e454 b.n 7001bd02 7001c458: eef0 5a67 vmov.f32 s11, s15 7001c45c: eddf 6a1f vldr s13, [pc, #124] @ 7001c4dc 7001c460: eeb0 7a6f vmov.f32 s14, s31 7001c464: eef0 9a4c vmov.f32 s19, s24 7001c468: ee77 6aa6 vadd.f32 s13, s15, s13 7001c46c: e416 b.n 7001bc9c 7001c46e: eeb5 aac0 vcmpe.f32 s20, #0.0 7001c472: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c476: f100 815e bmi.w 7001c736 7001c47a: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001c47e: eeb4 aae6 vcmpe.f32 s20, s13 7001c482: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c486: f57f acf0 bpl.w 7001be6a 7001c48a: ee3a 3aed vsub.f32 s6, s21, s27 7001c48e: eeb5 3ac0 vcmpe.f32 s6, #0.0 7001c492: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c496: f100 84e7 bmi.w 7001ce68 7001c49a: eeb4 3ae6 vcmpe.f32 s6, s13 7001c49e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c4a2: f57f ae8f bpl.w 7001c1c4 7001c4a6: e6ac b.n 7001c202 7001c4a8: eeff 6a00 vmov.f32 s13, #240 @ 0xbf800000 -1.0 7001c4ac: eeb4 aae6 vcmpe.f32 s20, s13 7001c4b0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c4b4: f340 84ab ble.w 7001ce0e 7001c4b8: ee3a 3aed vsub.f32 s6, s21, s27 7001c4bc: eeb5 3ac0 vcmpe.f32 s6, #0.0 7001c4c0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c4c4: f100 8494 bmi.w 7001cdf0 7001c4c8: eeb4 3ae7 vcmpe.f32 s6, s15 7001c4cc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c4d0: f57f ae78 bpl.w 7001c1c4 7001c4d4: e695 b.n 7001c202 7001c4d6: bf00 nop 7001c4d8: ff000100 .word 0xff000100 7001c4dc: 3f7d70a4 .word 0x3f7d70a4 7001c4e0: eeff 6a00 vmov.f32 s13, #240 @ 0xbf800000 -1.0 7001c4e4: eeb4 7ae6 vcmpe.f32 s14, s13 7001c4e8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c4ec: f340 8364 ble.w 7001cbb8 7001c4f0: ee77 6a6c vsub.f32 s13, s14, s25 7001c4f4: eef5 6ac0 vcmpe.f32 s13, #0.0 7001c4f8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c4fc: f100 82ef bmi.w 7001cade 7001c500: eeb7 3a00 vmov.f32 s6, #112 @ 0x3f800000 1.0 7001c504: eef4 6ac3 vcmpe.f32 s13, s6 7001c508: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c50c: d439 bmi.n 7001c582 7001c50e: ee3d da69 vsub.f32 s26, s26, s19 7001c512: eeb5 dac0 vcmpe.f32 s26, #0.0 7001c516: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c51a: f100 8455 bmi.w 7001cdc8 7001c51e: eeb4 dac3 vcmpe.f32 s26, s6 7001c522: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c526: d42c bmi.n 7001c582 7001c528: eef5 cac0 vcmpe.f32 s25, #0.0 7001c52c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c530: f100 847b bmi.w 7001ce2a 7001c534: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001c538: eef4 cae6 vcmpe.f32 s25, s13 7001c53c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c540: f57f adc4 bpl.w 7001c0cc 7001c544: ee7c 6ae8 vsub.f32 s13, s25, s17 7001c548: eef5 6ac0 vcmpe.f32 s13, #0.0 7001c54c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c550: f100 8407 bmi.w 7001cd62 7001c554: eeb7 3a00 vmov.f32 s6, #112 @ 0x3f800000 1.0 7001c558: eef4 6ac3 vcmpe.f32 s13, s6 7001c55c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c560: d40f bmi.n 7001c582 7001c562: ee79 9ac9 vsub.f32 s19, s19, s18 7001c566: eef5 9ac0 vcmpe.f32 s19, #0.0 7001c56a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c56e: f100 8435 bmi.w 7001cddc 7001c572: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001c576: eef4 9ae6 vcmpe.f32 s19, s13 7001c57a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c57e: f57f adb3 bpl.w 7001c0e8 7001c582: f04f 0901 mov.w r9, #1 7001c586: ee7f da67 vsub.f32 s27, s30, s15 7001c58a: ee3f eacc vsub.f32 s28, s31, s24 7001c58e: ee77 caeb vsub.f32 s25, s15, s23 7001c592: eef5 dac0 vcmpe.f32 s27, #0.0 7001c596: ee3c da4b vsub.f32 s26, s24, s22 7001c59a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c59e: eeb5 eac0 vcmpe.f32 s28, #0.0 7001c5a2: bf48 it mi 7001c5a4: eef1 da6d vnegmi.f32 s27, s27 7001c5a8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c5ac: eef5 cac0 vcmpe.f32 s25, #0.0 7001c5b0: bf48 it mi 7001c5b2: eeb1 ea4e vnegmi.f32 s28, s28 7001c5b6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c5ba: eeb5 dac0 vcmpe.f32 s26, #0.0 7001c5be: bf48 it mi 7001c5c0: eef1 ca6c vnegmi.f32 s25, s25 7001c5c4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c5c8: eef4 7acf vcmpe.f32 s15, s30 7001c5cc: bf48 it mi 7001c5ce: eeb1 da4d vnegmi.f32 s26, s26 7001c5d2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c5d6: eeb4 caef vcmpe.f32 s24, s31 7001c5da: f340 80e4 ble.w 7001c7a6 7001c5de: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c5e2: eeb0 aa4f vmov.f32 s20, s30 7001c5e6: f340 8260 ble.w 7001caaa 7001c5ea: ed1f 9a44 vldr s18, [pc, #-272] @ 7001c4dc 7001c5ee: eef0 aa6f vmov.f32 s21, s31 7001c5f2: eef0 9a4c vmov.f32 s19, s24 7001c5f6: ee37 9a89 vadd.f32 s18, s15, s18 7001c5fa: ed5f 6a48 vldr s13, [pc, #-288] @ 7001c4dc 7001c5fe: eebd 7ac9 vcvt.s32.f32 s14, s18 7001c602: eef4 7aeb vcmpe.f32 s15, s23 7001c606: ee79 9aa6 vadd.f32 s19, s19, s13 7001c60a: ed8d 7a11 vstr s14, [sp, #68] @ 0x44 7001c60e: eebd aaca vcvt.s32.f32 s20, s20 7001c612: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c616: eebd 7ae9 vcvt.s32.f32 s14, s19 7001c61a: eefd aaea vcvt.s32.f32 s21, s21 7001c61e: eeb4 cacb vcmpe.f32 s24, s22 7001c622: ed8d 7a12 vstr s14, [sp, #72] @ 0x48 7001c626: f140 80ad bpl.w 7001c784 7001c62a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c62e: f140 8226 bpl.w 7001ca7e 7001c632: ed5f 6a56 vldr s13, [pc, #-344] @ 7001c4dc 7001c636: eeb0 6a4b vmov.f32 s12, s22 7001c63a: ee7b 6aa6 vadd.f32 s13, s23, s13 7001c63e: eebd 9ae7 vcvt.s32.f32 s18, s15 7001c642: ed5f 7a5a vldr s15, [pc, #-360] @ 7001c4dc 7001c646: eefd 9acc vcvt.s32.f32 s19, s24 7001c64a: ee76 7a27 vadd.f32 s15, s12, s15 7001c64e: eefd 8ae6 vcvt.s32.f32 s17, s13 7001c652: eebd cae7 vcvt.s32.f32 s24, s15 7001c656: f1b9 0f00 cmp.w r9, #0 7001c65a: f040 816b bne.w 7001c934 7001c65e: 2008 movs r0, #8 7001c660: f00d f97a bl 70029958 7001c664: 4604 mov r4, r0 7001c666: 2800 cmp r0, #0 7001c668: f000 829b beq.w 7001cba2 7001c66c: 2224 movs r2, #36 @ 0x24 7001c66e: 2110 movs r1, #16 7001c670: 232c movs r3, #44 @ 0x2c 7001c672: f04f 0c3c mov.w ip, #60 @ 0x3c 7001c676: 9210 str r2, [sp, #64] @ 0x40 7001c678: 220a movs r2, #10 7001c67a: 9303 str r3, [sp, #12] 7001c67c: 2738 movs r7, #56 @ 0x38 7001c67e: 9213 str r2, [sp, #76] @ 0x4c 7001c680: 2218 movs r2, #24 7001c682: 2634 movs r6, #52 @ 0x34 7001c684: 2530 movs r5, #48 @ 0x30 7001c686: 920f str r2, [sp, #60] @ 0x3c 7001c688: 2214 movs r2, #20 7001c68a: 2328 movs r3, #40 @ 0x28 7001c68c: f04f 0820 mov.w r8, #32 7001c690: f04f 0e1c mov.w lr, #28 7001c694: e9cd 120d strd r1, r2, [sp, #52] @ 0x34 7001c698: 220c movs r2, #12 7001c69a: 9206 str r2, [sp, #24] 7001c69c: 2208 movs r2, #8 7001c69e: 9205 str r2, [sp, #20] 7001c6a0: 2204 movs r2, #4 7001c6a2: 9204 str r2, [sp, #16] 7001c6a4: f44f 72a0 mov.w r2, #320 @ 0x140 7001c6a8: 6002 str r2, [r0, #0] 7001c6aa: 9a04 ldr r2, [sp, #16] 7001c6ac: 9807 ldr r0, [sp, #28] 7001c6ae: 50a0 str r0, [r4, r2] 7001c6b0: f44f 72a2 mov.w r2, #324 @ 0x144 7001c6b4: 9805 ldr r0, [sp, #20] 7001c6b6: 5022 str r2, [r4, r0] 7001c6b8: 9a06 ldr r2, [sp, #24] 7001c6ba: 9808 ldr r0, [sp, #32] 7001c6bc: 50a0 str r0, [r4, r2] 7001c6be: f44f 7298 mov.w r2, #304 @ 0x130 7001c6c2: 980d ldr r0, [sp, #52] @ 0x34 7001c6c4: 5022 str r2, [r4, r0] 7001c6c6: 9a0e ldr r2, [sp, #56] @ 0x38 7001c6c8: 9809 ldr r0, [sp, #36] @ 0x24 7001c6ca: 50a0 str r0, [r4, r2] 7001c6cc: f44f 729a mov.w r2, #308 @ 0x134 7001c6d0: 980f ldr r0, [sp, #60] @ 0x3c 7001c6d2: 5022 str r2, [r4, r0] 7001c6d4: 9a0a ldr r2, [sp, #40] @ 0x28 7001c6d6: 9810 ldr r0, [sp, #64] @ 0x40 7001c6d8: f844 200e str.w r2, [r4, lr] 7001c6dc: 4a93 ldr r2, [pc, #588] @ (7001c92c ) 7001c6de: f844 2008 str.w r2, [r4, r8] 7001c6e2: f8db 2000 ldr.w r2, [fp] 7001c6e6: f8d2 2088 ldr.w r2, [r2, #136] @ 0x88 7001c6ea: f042 0204 orr.w r2, r2, #4 7001c6ee: 5022 str r2, [r4, r0] 7001c6f0: f1b9 0f00 cmp.w r9, #0 7001c6f4: f040 82d7 bne.w 7001cca6 7001c6f8: f44f 72a0 mov.w r2, #320 @ 0x140 7001c6fc: 50e2 str r2, [r4, r3] 7001c6fe: 9b0b ldr r3, [sp, #44] @ 0x2c 7001c700: 9a03 ldr r2, [sp, #12] 7001c702: 50a3 str r3, [r4, r2] 7001c704: f44f 73a2 mov.w r3, #324 @ 0x144 7001c708: 5163 str r3, [r4, r5] 7001c70a: 9b0c ldr r3, [sp, #48] @ 0x30 7001c70c: 51a3 str r3, [r4, r6] 7001c70e: 4b87 ldr r3, [pc, #540] @ (7001c92c ) 7001c710: 51e3 str r3, [r4, r7] 7001c712: f8db 3000 ldr.w r3, [fp] 7001c716: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 7001c71a: f043 0304 orr.w r3, r3, #4 7001c71e: f844 300c str.w r3, [r4, ip] 7001c722: f1b9 0f00 cmp.w r9, #0 7001c726: f040 82aa bne.w 7001cc7e 7001c72a: f8db 2000 ldr.w r2, [fp] 7001c72e: 2302 movs r3, #2 7001c730: f8c2 3120 str.w r3, [r2, #288] @ 0x120 7001c734: e629 b.n 7001c38a 7001c736: eeb4 aae7 vcmpe.f32 s20, s15 7001c73a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c73e: f340 832c ble.w 7001cd9a 7001c742: ee79 7aca vsub.f32 s15, s19, s20 7001c746: eeff 6a00 vmov.f32 s13, #240 @ 0xbf800000 -1.0 7001c74a: eef4 7ae6 vcmpe.f32 s15, s13 7001c74e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c752: f73f ad56 bgt.w 7001c202 7001c756: ee3a 3aed vsub.f32 s6, s21, s27 7001c75a: eeb5 3ac0 vcmpe.f32 s6, #0.0 7001c75e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c762: f100 834d bmi.w 7001ce00 7001c766: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 7001c76a: eeb4 3ae7 vcmpe.f32 s6, s15 7001c76e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c772: f53f ad46 bmi.w 7001c202 7001c776: eeb5 aac0 vcmpe.f32 s20, #0.0 7001c77a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c77e: f57f ad19 bpl.w 7001c1b4 7001c782: e51f b.n 7001c1c4 7001c784: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c788: eef4 7aeb vcmpe.f32 s15, s23 7001c78c: f140 8172 bpl.w 7001ca74 7001c790: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c794: f340 8396 ble.w 7001cec4 7001c798: ee77 6aa6 vadd.f32 s13, s15, s13 7001c79c: eeb0 6a4b vmov.f32 s12, s22 7001c7a0: eef0 7a6b vmov.f32 s15, s23 7001c7a4: e74b b.n 7001c63e 7001c7a6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c7aa: eef4 7acf vcmpe.f32 s15, s30 7001c7ae: f340 8177 ble.w 7001caa0 7001c7b2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c7b6: f140 8389 bpl.w 7001cecc 7001c7ba: ed9f 9a5d vldr s18, [pc, #372] @ 7001c930 7001c7be: eef0 aa6f vmov.f32 s21, s31 7001c7c2: eeb0 aa67 vmov.f32 s20, s15 7001c7c6: ee3f 9a09 vadd.f32 s18, s30, s18 7001c7ca: eef0 9a4c vmov.f32 s19, s24 7001c7ce: e714 b.n 7001c5fa 7001c7d0: 2302 movs r3, #2 7001c7d2: f8c7 3120 str.w r3, [r7, #288] @ 0x120 7001c7d6: f44f 73a0 mov.w r3, #320 @ 0x140 7001c7da: e5b8 b.n 7001c34e 7001c7dc: 9b15 ldr r3, [sp, #84] @ 0x54 7001c7de: eef0 0a4e vmov.f32 s1, s28 7001c7e2: 9a11 ldr r2, [sp, #68] @ 0x44 7001c7e4: 4628 mov r0, r5 7001c7e6: 9301 str r3, [sp, #4] 7001c7e8: 9b14 ldr r3, [sp, #80] @ 0x50 7001c7ea: 990a ldr r1, [sp, #40] @ 0x28 7001c7ec: 9300 str r3, [sp, #0] 7001c7ee: ed9d 0a03 vldr s0, [sp, #12] 7001c7f2: 9b04 ldr r3, [sp, #16] 7001c7f4: f7fd fb74 bl 70019ee0 7001c7f8: f8db 6000 ldr.w r6, [fp] 7001c7fc: eef4 cacd vcmpe.f32 s25, s26 7001c800: 4601 mov r1, r0 7001c802: f8d6 3120 ldr.w r3, [r6, #288] @ 0x120 7001c806: f506 7236 add.w r2, r6, #728 @ 0x2d8 7001c80a: 2b01 cmp r3, #1 7001c80c: bf0c ite eq 7001c80e: 2002 moveq r0, #2 7001c810: 2001 movne r0, #1 7001c812: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c816: ca8c ldmia r2, {r2, r3, r7} 7001c818: f8c6 0120 str.w r0, [r6, #288] @ 0x120 7001c81c: f8d6 62e4 ldr.w r6, [r6, #740] @ 0x2e4 7001c820: dc19 bgt.n 7001c856 7001c822: 19d6 adds r6, r2, r7 7001c824: 9b10 ldr r3, [sp, #64] @ 0x40 7001c826: 9f13 ldr r7, [sp, #76] @ 0x4c 7001c828: 4628 mov r0, r5 7001c82a: e9cd 6700 strd r6, r7, [sp] 7001c82e: f7fd fb13 bl 70019e58 7001c832: f8db 3000 ldr.w r3, [fp] 7001c836: 0082 lsls r2, r0, #2 7001c838: 1d81 adds r1, r0, #6 7001c83a: f8d3 3120 ldr.w r3, [r3, #288] @ 0x120 7001c83e: 1d16 adds r6, r2, #4 7001c840: f102 0008 add.w r0, r2, #8 7001c844: 3312 adds r3, #18 7001c846: f102 080c add.w r8, r2, #12 7001c84a: f102 0e10 add.w lr, r2, #16 7001c84e: f102 0c14 add.w ip, r2, #20 7001c852: 011b lsls r3, r3, #4 7001c854: e57b b.n 7001c34e 7001c856: 199f adds r7, r3, r6 7001c858: 9a0f ldr r2, [sp, #60] @ 0x3c 7001c85a: 9e12 ldr r6, [sp, #72] @ 0x48 7001c85c: e7e4 b.n 7001c828 7001c85e: f8d3 12d8 ldr.w r1, [r3, #728] @ 0x2d8 7001c862: f8d3 22e0 ldr.w r2, [r3, #736] @ 0x2e0 7001c866: f8d3 02dc ldr.w r0, [r3, #732] @ 0x2dc 7001c86a: 4589 cmp r9, r1 7001c86c: f8d3 32e4 ldr.w r3, [r3, #740] @ 0x2e4 7001c870: 440a add r2, r1 7001c872: eb00 0c03 add.w ip, r0, r3 7001c876: f2c0 8159 blt.w 7001cb2c 7001c87a: 4591 cmp r9, r2 7001c87c: 464b mov r3, r9 7001c87e: bfa8 it ge 7001c880: 4613 movge r3, r2 7001c882: 428f cmp r7, r1 7001c884: db03 blt.n 7001c88e 7001c886: 4297 cmp r7, r2 7001c888: 4639 mov r1, r7 7001c88a: bfa8 it ge 7001c88c: 4611 movge r1, r2 7001c88e: 4580 cmp r8, r0 7001c890: f2c0 823e blt.w 7001cd10 7001c894: 45e0 cmp r8, ip 7001c896: 4642 mov r2, r8 7001c898: bfa8 it ge 7001c89a: 4662 movge r2, ip 7001c89c: 4286 cmp r6, r0 7001c89e: db03 blt.n 7001c8a8 7001c8a0: 4566 cmp r6, ip 7001c8a2: 4630 mov r0, r6 7001c8a4: bfa8 it ge 7001c8a6: 4660 movge r0, ip 7001c8a8: b29b uxth r3, r3 7001c8aa: f04f 0924 mov.w r9, #36 @ 0x24 7001c8ae: 270a movs r7, #10 7001c8b0: b289 uxth r1, r1 7001c8b2: ea43 4302 orr.w r3, r3, r2, lsl #16 7001c8b6: f105 0210 add.w r2, r5, #16 7001c8ba: ea41 4100 orr.w r1, r1, r0, lsl #16 7001c8be: f04f 0c3c mov.w ip, #60 @ 0x3c 7001c8c2: 606b str r3, [r5, #4] 7001c8c4: f44f 7388 mov.w r3, #272 @ 0x110 7001c8c8: 9205 str r2, [sp, #20] 7001c8ca: f04f 0e38 mov.w lr, #56 @ 0x38 7001c8ce: 602b str r3, [r5, #0] 7001c8d0: f44f 738a mov.w r3, #276 @ 0x114 7001c8d4: 60e9 str r1, [r5, #12] 7001c8d6: f04f 0834 mov.w r8, #52 @ 0x34 7001c8da: 60ab str r3, [r5, #8] 7001c8dc: 2110 movs r1, #16 7001c8de: f8db 3000 ldr.w r3, [fp] 7001c8e2: 2030 movs r0, #48 @ 0x30 7001c8e4: 262c movs r6, #44 @ 0x2c 7001c8e6: 2228 movs r2, #40 @ 0x28 7001c8e8: e9cd 9709 strd r9, r7, [sp, #36] @ 0x24 7001c8ec: 271c movs r7, #28 7001c8ee: f04f 0920 mov.w r9, #32 7001c8f2: e9cd 7907 strd r7, r9, [sp, #28] 7001c8f6: 2718 movs r7, #24 7001c8f8: f04f 0914 mov.w r9, #20 7001c8fc: 9706 str r7, [sp, #24] 7001c8fe: 9f05 ldr r7, [sp, #20] 7001c900: e4f7 b.n 7001c2f2 7001c902: 9b13 ldr r3, [sp, #76] @ 0x4c 7001c904: eef0 0a4d vmov.f32 s1, s26 7001c908: eeb0 0a6c vmov.f32 s0, s25 7001c90c: 4628 mov r0, r5 7001c90e: 9301 str r3, [sp, #4] 7001c910: 9b12 ldr r3, [sp, #72] @ 0x48 7001c912: 9300 str r3, [sp, #0] 7001c914: e9dd 230f ldrd r2, r3, [sp, #60] @ 0x3c 7001c918: f7fd fae2 bl 70019ee0 7001c91c: 4601 mov r1, r0 7001c91e: 4628 mov r0, r5 7001c920: f7fe faa6 bl 7001ae70 7001c924: f8db 2000 ldr.w r2, [fp] 7001c928: e52f b.n 7001c38a 7001c92a: bf00 nop 7001c92c: ff000100 .word 0xff000100 7001c930: 3f7d70a4 .word 0x3f7d70a4 7001c934: f8db 2000 ldr.w r2, [fp] 7001c938: eef4 dace vcmpe.f32 s27, s28 7001c93c: f8d2 32e0 ldr.w r3, [r2, #736] @ 0x2e0 7001c940: f8d2 62d8 ldr.w r6, [r2, #728] @ 0x2d8 7001c944: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c948: f8d2 52dc ldr.w r5, [r2, #732] @ 0x2dc 7001c94c: eb06 0703 add.w r7, r6, r3 7001c950: f8d2 32e4 ldr.w r3, [r2, #740] @ 0x2e4 7001c954: eb05 0803 add.w r8, r5, r3 7001c958: f300 80ea bgt.w 7001cb30 7001c95c: eef8 7aea vcvt.f32.s32 s15, s21 7001c960: ed92 7ab1 vldr s14, [r2, #708] @ 0x2c4 7001c964: eeb4 7ae7 vcmpe.f32 s14, s15 7001c968: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c96c: f100 829b bmi.w 7001cea6 7001c970: eddd 6a12 vldr s13, [sp, #72] @ 0x48 7001c974: ee1a 5a90 vmov r5, s21 7001c978: eef8 7ae6 vcvt.f32.s32 s15, s13 7001c97c: ee16 8a90 vmov r8, s13 7001c980: eeb4 7ae7 vcmpe.f32 s14, s15 7001c984: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c988: bfab itete ge 7001c98a: 2014 movge r0, #20 7001c98c: 2011 movlt r0, #17 7001c98e: 2311 movge r3, #17 7001c990: 230e movlt r3, #14 7001c992: eef4 cacd vcmpe.f32 s25, s26 7001c996: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c99a: f340 80ea ble.w 7001cb72 7001c99e: eeb8 7ac9 vcvt.f32.s32 s14, s18 7001c9a2: edd2 7ab0 vldr s15, [r2, #704] @ 0x2c0 7001c9a6: eef4 7ac7 vcmpe.f32 s15, s14 7001c9aa: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c9ae: d407 bmi.n 7001c9c0 7001c9b0: eeb8 7ae8 vcvt.f32.s32 s14, s17 7001c9b4: eef4 7ac7 vcmpe.f32 s15, s14 7001c9b8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001c9bc: bfb8 it lt 7001c9be: 4618 movlt r0, r3 7001c9c0: f00c ffca bl 70029958 7001c9c4: 4604 mov r4, r0 7001c9c6: 2800 cmp r0, #0 7001c9c8: f000 80eb beq.w 7001cba2 7001c9cc: f8db 1000 ldr.w r1, [fp] 7001c9d0: f8d1 32d8 ldr.w r3, [r1, #728] @ 0x2d8 7001c9d4: f8d1 22e0 ldr.w r2, [r1, #736] @ 0x2e0 7001c9d8: 42b3 cmp r3, r6 7001c9da: eb03 0002 add.w r0, r3, r2 7001c9de: f8d1 22dc ldr.w r2, [r1, #732] @ 0x2dc 7001c9e2: f8d1 12e4 ldr.w r1, [r1, #740] @ 0x2e4 7001c9e6: 4411 add r1, r2 7001c9e8: f300 81c5 bgt.w 7001cd76 7001c9ec: 4286 cmp r6, r0 7001c9ee: bfa8 it ge 7001c9f0: 4606 movge r6, r0 7001c9f2: 42bb cmp r3, r7 7001c9f4: dc03 bgt.n 7001c9fe 7001c9f6: 42b8 cmp r0, r7 7001c9f8: 4603 mov r3, r0 7001c9fa: bfa8 it ge 7001c9fc: 463b movge r3, r7 7001c9fe: 42aa cmp r2, r5 7001ca00: f300 81bb bgt.w 7001cd7a 7001ca04: 428d cmp r5, r1 7001ca06: 4628 mov r0, r5 7001ca08: bfa8 it ge 7001ca0a: 4608 movge r0, r1 7001ca0c: 4542 cmp r2, r8 7001ca0e: dc03 bgt.n 7001ca18 7001ca10: 4541 cmp r1, r8 7001ca12: 460a mov r2, r1 7001ca14: bfa8 it ge 7001ca16: 4642 movge r2, r8 7001ca18: b29b uxth r3, r3 7001ca1a: 2114 movs r1, #20 7001ca1c: b2b6 uxth r6, r6 7001ca1e: f04f 0c4c mov.w ip, #76 @ 0x4c 7001ca22: ea43 4302 orr.w r3, r3, r2, lsl #16 7001ca26: 2234 movs r2, #52 @ 0x34 7001ca28: ea46 4600 orr.w r6, r6, r0, lsl #16 7001ca2c: 2748 movs r7, #72 @ 0x48 7001ca2e: 9210 str r2, [sp, #64] @ 0x40 7001ca30: 220e movs r2, #14 7001ca32: 60e3 str r3, [r4, #12] 7001ca34: f44f 7388 mov.w r3, #272 @ 0x110 7001ca38: 9213 str r2, [sp, #76] @ 0x4c 7001ca3a: 2228 movs r2, #40 @ 0x28 7001ca3c: 6023 str r3, [r4, #0] 7001ca3e: f44f 738a mov.w r3, #276 @ 0x114 7001ca42: 920f str r2, [sp, #60] @ 0x3c 7001ca44: 2224 movs r2, #36 @ 0x24 7001ca46: 60a3 str r3, [r4, #8] 7001ca48: f104 0310 add.w r3, r4, #16 7001ca4c: 920e str r2, [sp, #56] @ 0x38 7001ca4e: 2220 movs r2, #32 7001ca50: 4618 mov r0, r3 7001ca52: 233c movs r3, #60 @ 0x3c 7001ca54: 920d str r2, [sp, #52] @ 0x34 7001ca56: 221c movs r2, #28 7001ca58: 6066 str r6, [r4, #4] 7001ca5a: 2540 movs r5, #64 @ 0x40 7001ca5c: 9206 str r2, [sp, #24] 7001ca5e: 2218 movs r2, #24 7001ca60: 9303 str r3, [sp, #12] 7001ca62: 2644 movs r6, #68 @ 0x44 7001ca64: 2338 movs r3, #56 @ 0x38 7001ca66: f04f 0830 mov.w r8, #48 @ 0x30 7001ca6a: f04f 0e2c mov.w lr, #44 @ 0x2c 7001ca6e: e9cd 1204 strd r1, r2, [sp, #16] 7001ca72: e617 b.n 7001c6a4 7001ca74: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ca78: dc50 bgt.n 7001cb1c 7001ca7a: eef0 7a6b vmov.f32 s15, s23 7001ca7e: eef0 6a6b vmov.f32 s13, s23 7001ca82: eeb4 cacb vcmpe.f32 s24, s22 7001ca86: ed1f 6a56 vldr s12, [pc, #-344] @ 7001c930 7001ca8a: ee76 6a86 vadd.f32 s13, s13, s12 7001ca8e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ca92: f340 81fc ble.w 7001ce8e 7001ca96: eeb0 6a4c vmov.f32 s12, s24 7001ca9a: eeb0 ca4b vmov.f32 s24, s22 7001ca9e: e5ce b.n 7001c63e 7001caa0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001caa4: eeb0 aa67 vmov.f32 s20, s15 7001caa8: d43d bmi.n 7001cb26 7001caaa: eeb0 9a67 vmov.f32 s18, s15 7001caae: eeb4 caef vcmpe.f32 s24, s31 7001cab2: ed5f 6a61 vldr s13, [pc, #-388] @ 7001c930 7001cab6: eef0 aa4c vmov.f32 s21, s24 7001caba: ee39 9a26 vadd.f32 s18, s18, s13 7001cabe: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cac2: bf4c ite mi 7001cac4: eef0 9a6f vmovmi.f32 s19, s31 7001cac8: eef0 9a4c vmovpl.f32 s19, s24 7001cacc: e595 b.n 7001c5fa 7001cace: eef4 cae6 vcmpe.f32 s25, s13 7001cad2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cad6: f340 81b0 ble.w 7001ce3a 7001cada: ee77 6a6c vsub.f32 s13, s14, s25 7001cade: eebf 3a00 vmov.f32 s6, #240 @ 0xbf800000 -1.0 7001cae2: eef4 6ac3 vcmpe.f32 s13, s6 7001cae6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001caea: f73f ad4a bgt.w 7001c582 7001caee: ee3d da69 vsub.f32 s26, s26, s19 7001caf2: eeb5 dac0 vcmpe.f32 s26, #0.0 7001caf6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cafa: f100 81bd bmi.w 7001ce78 7001cafe: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001cb02: eeb4 dae6 vcmpe.f32 s26, s13 7001cb06: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cb0a: f53f ad3a bmi.w 7001c582 7001cb0e: eef5 cac0 vcmpe.f32 s25, #0.0 7001cb12: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cb16: f57f ad0d bpl.w 7001c534 7001cb1a: e513 b.n 7001c544 7001cb1c: eef0 6a67 vmov.f32 s13, s15 7001cb20: eef0 7a6b vmov.f32 s15, s23 7001cb24: e7ad b.n 7001ca82 7001cb26: eeb0 9a4f vmov.f32 s18, s30 7001cb2a: e7c0 b.n 7001caae 7001cb2c: 460b mov r3, r1 7001cb2e: e6a8 b.n 7001c882 7001cb30: eef8 7aca vcvt.f32.s32 s15, s20 7001cb34: ed92 7ab0 vldr s14, [r2, #704] @ 0x2c0 7001cb38: eeb4 7ae7 vcmpe.f32 s14, s15 7001cb3c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cb40: f100 81ab bmi.w 7001ce9a 7001cb44: eddd 6a11 vldr s13, [sp, #68] @ 0x44 7001cb48: ee1a 6a10 vmov r6, s20 7001cb4c: eef8 7ae6 vcvt.f32.s32 s15, s13 7001cb50: ee16 7a90 vmov r7, s13 7001cb54: eeb4 7ae7 vcmpe.f32 s14, s15 7001cb58: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cb5c: eef4 cacd vcmpe.f32 s25, s26 7001cb60: bfab itete ge 7001cb62: 2014 movge r0, #20 7001cb64: 2011 movlt r0, #17 7001cb66: 2311 movge r3, #17 7001cb68: 230e movlt r3, #14 7001cb6a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cb6e: f73f af16 bgt.w 7001c99e 7001cb72: eeb8 7ae9 vcvt.f32.s32 s14, s19 7001cb76: edd2 7ab1 vldr s15, [r2, #708] @ 0x2c4 7001cb7a: eef4 7ac7 vcmpe.f32 s15, s14 7001cb7e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cb82: f53f af1d bmi.w 7001c9c0 7001cb86: eeb8 7acc vcvt.f32.s32 s14, s24 7001cb8a: eef4 7ac7 vcmpe.f32 s15, s14 7001cb8e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cb92: bfb8 it lt 7001cb94: 4618 movlt r0, r3 7001cb96: f00c fedf bl 70029958 7001cb9a: 4604 mov r4, r0 7001cb9c: 2800 cmp r0, #0 7001cb9e: f47f af15 bne.w 7001c9cc 7001cba2: f8db 3000 ldr.w r3, [fp] 7001cba6: 2200 movs r2, #0 7001cba8: f44f 7000 mov.w r0, #512 @ 0x200 7001cbac: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001cbb0: f00a fece bl 70027950 7001cbb4: f7ff b989 b.w 7001beca 7001cbb8: eef5 cac0 vcmpe.f32 s25, #0.0 7001cbbc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cbc0: d485 bmi.n 7001cace 7001cbc2: eeb7 3a00 vmov.f32 s6, #112 @ 0x3f800000 1.0 7001cbc6: eef4 cac3 vcmpe.f32 s25, s6 7001cbca: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cbce: f57f aa7d bpl.w 7001c0cc 7001cbd2: ee3d da69 vsub.f32 s26, s26, s19 7001cbd6: eeb5 dac0 vcmpe.f32 s26, #0.0 7001cbda: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cbde: f100 8169 bmi.w 7001ceb4 7001cbe2: eeb4 dac3 vcmpe.f32 s26, s6 7001cbe6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cbea: f57f acab bpl.w 7001c544 7001cbee: e4c8 b.n 7001c582 7001cbf0: eebf 3a00 vmov.f32 s6, #240 @ 0xbf800000 -1.0 7001cbf4: eef4 cac3 vcmpe.f32 s25, s6 7001cbf8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cbfc: f340 80a2 ble.w 7001cd44 7001cc00: ee3d da69 vsub.f32 s26, s26, s19 7001cc04: eeb5 dac0 vcmpe.f32 s26, #0.0 7001cc08: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cc0c: f100 8124 bmi.w 7001ce58 7001cc10: eeb4 dae6 vcmpe.f32 s26, s13 7001cc14: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cc18: f57f ac94 bpl.w 7001c544 7001cc1c: e4b1 b.n 7001c582 7001cc1e: eeff 7a00 vmov.f32 s15, #240 @ 0xbf800000 -1.0 7001cc22: eeb4 3ae7 vcmpe.f32 s6, s15 7001cc26: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cc2a: f73f aaea bgt.w 7001c202 7001cc2e: f7ff babb b.w 7001c1a8 7001cc32: ee7a 7a68 vsub.f32 s15, s20, s17 7001cc36: f7ff bacd b.w 7001c1d4 7001cc3a: eeff 7a00 vmov.f32 s15, #240 @ 0xbf800000 -1.0 7001cc3e: eef4 8ae7 vcmpe.f32 s17, s15 7001cc42: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cc46: f77f a91e ble.w 7001be86 7001cc4a: ee7a 7a68 vsub.f32 s15, s20, s17 7001cc4e: eeff 6a00 vmov.f32 s13, #240 @ 0xbf800000 -1.0 7001cc52: eef4 7ae6 vcmpe.f32 s15, s13 7001cc56: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cc5a: f73f aad2 bgt.w 7001c202 7001cc5e: f7ff bac0 b.w 7001c1e2 7001cc62: 9e15 ldr r6, [sp, #84] @ 0x54 7001cc64: 2012 movs r0, #18 7001cc66: f8dd 8010 ldr.w r8, [sp, #16] 7001cc6a: 220f movs r2, #15 7001cc6c: f7ff bafa b.w 7001c264 7001cc70: ee16 9a90 vmov r9, s13 7001cc74: 9f14 ldr r7, [sp, #80] @ 0x50 7001cc76: 2012 movs r0, #18 7001cc78: 220f movs r2, #15 7001cc7a: f7ff baf3 b.w 7001c264 7001cc7e: eef0 0a4d vmov.f32 s1, s26 7001cc82: ee19 3a90 vmov r3, s19 7001cc86: eeb0 0a6c vmov.f32 s0, s25 7001cc8a: ee19 2a10 vmov r2, s18 7001cc8e: 4620 mov r0, r4 7001cc90: ed8d ca01 vstr s24, [sp, #4] 7001cc94: edcd 8a00 vstr s17, [sp] 7001cc98: f7fd f922 bl 70019ee0 7001cc9c: 4601 mov r1, r0 7001cc9e: 4620 mov r0, r4 7001cca0: f7fe f8e6 bl 7001ae70 7001cca4: e541 b.n 7001c72a 7001cca6: 9b12 ldr r3, [sp, #72] @ 0x48 7001cca8: ee1a 2a10 vmov r2, s20 7001ccac: 9913 ldr r1, [sp, #76] @ 0x4c 7001ccae: eef0 0a4e vmov.f32 s1, s28 7001ccb2: 9301 str r3, [sp, #4] 7001ccb4: eeb0 0a6d vmov.f32 s0, s27 7001ccb8: 9b11 ldr r3, [sp, #68] @ 0x44 7001ccba: 4620 mov r0, r4 7001ccbc: 9300 str r3, [sp, #0] 7001ccbe: ee1a 3a90 vmov r3, s21 7001ccc2: f7fd f90d bl 70019ee0 7001ccc6: eef4 cacd vcmpe.f32 s25, s26 7001ccca: f8db 5000 ldr.w r5, [fp] 7001ccce: 4601 mov r1, r0 7001ccd0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ccd4: f8d5 22d8 ldr.w r2, [r5, #728] @ 0x2d8 7001ccd8: e9d5 30b7 ldrd r3, r0, [r5, #732] @ 0x2dc 7001ccdc: f8d5 52e4 ldr.w r5, [r5, #740] @ 0x2e4 7001cce0: dc4d bgt.n 7001cd7e 7001cce2: 4410 add r0, r2 7001cce4: ee1c 5a10 vmov r5, s24 7001cce8: ee19 3a90 vmov r3, s19 7001ccec: e9cd 0500 strd r0, r5, [sp] 7001ccf0: 4620 mov r0, r4 7001ccf2: f7fd f8b1 bl 70019e58 7001ccf6: 1d81 adds r1, r0, #6 7001ccf8: 0083 lsls r3, r0, #2 7001ccfa: 1d1a adds r2, r3, #4 7001ccfc: f103 0508 add.w r5, r3, #8 7001cd00: f103 060c add.w r6, r3, #12 7001cd04: f103 0710 add.w r7, r3, #16 7001cd08: f103 0c14 add.w ip, r3, #20 7001cd0c: 9203 str r2, [sp, #12] 7001cd0e: e4f3 b.n 7001c6f8 7001cd10: 4602 mov r2, r0 7001cd12: e5c3 b.n 7001c89c 7001cd14: ee79 7aca vsub.f32 s15, s19, s20 7001cd18: f7ff ba32 b.w 7001c180 7001cd1c: eeff 7a00 vmov.f32 s15, #240 @ 0xbf800000 -1.0 7001cd20: eef4 8ae7 vcmpe.f32 s17, s15 7001cd24: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cd28: f73f aa5b bgt.w 7001c1e2 7001cd2c: f7ff b8ab b.w 7001be86 7001cd30: eeff 7a00 vmov.f32 s15, #240 @ 0xbf800000 -1.0 7001cd34: eef4 dae7 vcmpe.f32 s27, s15 7001cd38: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cd3c: f73f aa61 bgt.w 7001c202 7001cd40: f7ff b8a1 b.w 7001be86 7001cd44: eef5 8ac0 vcmpe.f32 s17, #0.0 7001cd48: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cd4c: d57c bpl.n 7001ce48 7001cd4e: eeff 6a00 vmov.f32 s13, #240 @ 0xbf800000 -1.0 7001cd52: eef4 8ae6 vcmpe.f32 s17, s13 7001cd56: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cd5a: f77f a9c5 ble.w 7001c0e8 7001cd5e: ee7c 6ae8 vsub.f32 s13, s25, s17 7001cd62: eebf 3a00 vmov.f32 s6, #240 @ 0xbf800000 -1.0 7001cd66: eef4 6ac3 vcmpe.f32 s13, s6 7001cd6a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cd6e: f73f ac08 bgt.w 7001c582 7001cd72: f7ff bbf6 b.w 7001c562 7001cd76: 461e mov r6, r3 7001cd78: e63b b.n 7001c9f2 7001cd7a: 4610 mov r0, r2 7001cd7c: e646 b.n 7001ca0c 7001cd7e: 441d add r5, r3 7001cd80: ee18 0a90 vmov r0, s17 7001cd84: ee19 2a10 vmov r2, s18 7001cd88: e7b0 b.n 7001ccec 7001cd8a: eeff 7a00 vmov.f32 s15, #240 @ 0xbf800000 -1.0 7001cd8e: eeb4 aae7 vcmpe.f32 s20, s15 7001cd92: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cd96: f73f aa15 bgt.w 7001c1c4 7001cd9a: eef5 8ac0 vcmpe.f32 s17, #0.0 7001cd9e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cda2: f53f af4a bmi.w 7001cc3a 7001cda6: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 7001cdaa: e036 b.n 7001ce1a 7001cdac: ee77 6a6c vsub.f32 s13, s14, s25 7001cdb0: f7ff bba6 b.w 7001c500 7001cdb4: eeff 6a00 vmov.f32 s13, #240 @ 0xbf800000 -1.0 7001cdb8: eef4 8ae6 vcmpe.f32 s17, s13 7001cdbc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cdc0: f73f abcf bgt.w 7001c562 7001cdc4: f7ff b990 b.w 7001c0e8 7001cdc8: eeff 6a00 vmov.f32 s13, #240 @ 0xbf800000 -1.0 7001cdcc: eeb4 dae6 vcmpe.f32 s26, s13 7001cdd0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cdd4: f73f abd5 bgt.w 7001c582 7001cdd8: f7ff bba6 b.w 7001c528 7001cddc: eeff 6a00 vmov.f32 s13, #240 @ 0xbf800000 -1.0 7001cde0: eef4 9ae6 vcmpe.f32 s19, s13 7001cde4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cde8: f73f abcb bgt.w 7001c582 7001cdec: f7ff b97c b.w 7001c0e8 7001cdf0: eeb4 3ae6 vcmpe.f32 s6, s13 7001cdf4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cdf8: f73f aa03 bgt.w 7001c202 7001cdfc: f7ff b9e2 b.w 7001c1c4 7001ce00: eeb4 3ae6 vcmpe.f32 s6, s13 7001ce04: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ce08: f73f a9fb bgt.w 7001c202 7001ce0c: e4b3 b.n 7001c776 7001ce0e: eef5 8ac0 vcmpe.f32 s17, #0.0 7001ce12: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ce16: f53f af10 bmi.w 7001cc3a 7001ce1a: eef4 8ae7 vcmpe.f32 s17, s15 7001ce1e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ce22: f57f a830 bpl.w 7001be86 7001ce26: f7ff b9dc b.w 7001c1e2 7001ce2a: eeff 6a00 vmov.f32 s13, #240 @ 0xbf800000 -1.0 7001ce2e: eef4 cae6 vcmpe.f32 s25, s13 7001ce32: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ce36: f73f ab85 bgt.w 7001c544 7001ce3a: eef5 8ac0 vcmpe.f32 s17, #0.0 7001ce3e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ce42: d484 bmi.n 7001cd4e 7001ce44: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7001ce48: eef4 8ae6 vcmpe.f32 s17, s13 7001ce4c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ce50: f57f a94a bpl.w 7001c0e8 7001ce54: f7ff bb85 b.w 7001c562 7001ce58: eeb4 dac3 vcmpe.f32 s26, s6 7001ce5c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ce60: f73f ab8f bgt.w 7001c582 7001ce64: f7ff bb6e b.w 7001c544 7001ce68: eeb4 3ae7 vcmpe.f32 s6, s15 7001ce6c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ce70: f73f a9c7 bgt.w 7001c202 7001ce74: f7ff b9a6 b.w 7001c1c4 7001ce78: eeb4 dac3 vcmpe.f32 s26, s6 7001ce7c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ce80: f73f ab7f bgt.w 7001c582 7001ce84: e643 b.n 7001cb0e 7001ce86: ee7c 6ae8 vsub.f32 s13, s25, s17 7001ce8a: f7ff bb63 b.w 7001c554 7001ce8e: eeb0 ca4b vmov.f32 s24, s22 7001ce92: eeb0 6a4b vmov.f32 s12, s22 7001ce96: f7ff bbd2 b.w 7001c63e 7001ce9a: 9f11 ldr r7, [sp, #68] @ 0x44 7001ce9c: ee1a 6a10 vmov r6, s20 7001cea0: 2014 movs r0, #20 7001cea2: 2311 movs r3, #17 7001cea4: e575 b.n 7001c992 7001cea6: f8dd 8048 ldr.w r8, [sp, #72] @ 0x48 7001ceaa: ee1a 5a90 vmov r5, s21 7001ceae: 2014 movs r0, #20 7001ceb0: 2311 movs r3, #17 7001ceb2: e56e b.n 7001c992 7001ceb4: eeb4 dae6 vcmpe.f32 s26, s13 7001ceb8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001cebc: f73f ab61 bgt.w 7001c582 7001cec0: f7ff bb40 b.w 7001c544 7001cec4: eef0 7a6b vmov.f32 s15, s23 7001cec8: f7ff bbb3 b.w 7001c632 7001cecc: eeb0 aa67 vmov.f32 s20, s15 7001ced0: f7ff bb8b b.w 7001c5ea 7001ced4 : 7001ced4: b430 push {r4, r5} 7001ced6: 4c4b ldr r4, [pc, #300] @ (7001d004 ) 7001ced8: edd0 7a00 vldr s15, [r0] 7001cedc: 6825 ldr r5, [r4, #0] 7001cede: edd0 6a01 vldr s13, [r0, #4] 7001cee2: ed95 7a3b vldr s14, [r5, #236] @ 0xec 7001cee6: ed95 6a3c vldr s12, [r5, #240] @ 0xf0 7001ceea: ee27 7a87 vmul.f32 s14, s15, s14 7001ceee: edd5 5a3d vldr s11, [r5, #244] @ 0xf4 7001cef2: ee26 6a86 vmul.f32 s12, s13, s12 7001cef6: ee37 7a06 vadd.f32 s14, s14, s12 7001cefa: ee37 7a25 vadd.f32 s14, s14, s11 7001cefe: ed80 7a00 vstr s14, [r0] 7001cf02: edd5 5a3e vldr s11, [r5, #248] @ 0xf8 7001cf06: ed95 6a3f vldr s12, [r5, #252] @ 0xfc 7001cf0a: ee67 7aa5 vmul.f32 s15, s15, s11 7001cf0e: ed95 7a40 vldr s14, [r5, #256] @ 0x100 7001cf12: ee66 6a86 vmul.f32 s13, s13, s12 7001cf16: ee77 7aa6 vadd.f32 s15, s15, s13 7001cf1a: ee77 7a87 vadd.f32 s15, s15, s14 7001cf1e: edc0 7a01 vstr s15, [r0, #4] 7001cf22: 6820 ldr r0, [r4, #0] 7001cf24: edd1 7a00 vldr s15, [r1] 7001cf28: ed90 7a3b vldr s14, [r0, #236] @ 0xec 7001cf2c: ed90 6a3c vldr s12, [r0, #240] @ 0xf0 7001cf30: edd1 6a01 vldr s13, [r1, #4] 7001cf34: ee27 7a87 vmul.f32 s14, s15, s14 7001cf38: edd0 5a3d vldr s11, [r0, #244] @ 0xf4 7001cf3c: ee26 6a86 vmul.f32 s12, s13, s12 7001cf40: ee37 7a06 vadd.f32 s14, s14, s12 7001cf44: ee37 7a25 vadd.f32 s14, s14, s11 7001cf48: ed81 7a00 vstr s14, [r1] 7001cf4c: edd0 5a3e vldr s11, [r0, #248] @ 0xf8 7001cf50: ed90 6a3f vldr s12, [r0, #252] @ 0xfc 7001cf54: ee67 7aa5 vmul.f32 s15, s15, s11 7001cf58: ed90 7a40 vldr s14, [r0, #256] @ 0x100 7001cf5c: ee66 6a86 vmul.f32 s13, s13, s12 7001cf60: 6820 ldr r0, [r4, #0] 7001cf62: ee77 7aa6 vadd.f32 s15, s15, s13 7001cf66: ee77 7a87 vadd.f32 s15, s15, s14 7001cf6a: edc1 7a01 vstr s15, [r1, #4] 7001cf6e: edd2 7a00 vldr s15, [r2] 7001cf72: edd2 6a01 vldr s13, [r2, #4] 7001cf76: ed90 7a3b vldr s14, [r0, #236] @ 0xec 7001cf7a: ed90 6a3c vldr s12, [r0, #240] @ 0xf0 7001cf7e: ee27 7a87 vmul.f32 s14, s15, s14 7001cf82: edd0 5a3d vldr s11, [r0, #244] @ 0xf4 7001cf86: ee26 6a86 vmul.f32 s12, s13, s12 7001cf8a: ee37 7a06 vadd.f32 s14, s14, s12 7001cf8e: ee37 7a25 vadd.f32 s14, s14, s11 7001cf92: ed82 7a00 vstr s14, [r2] 7001cf96: edd0 5a3e vldr s11, [r0, #248] @ 0xf8 7001cf9a: ed90 6a3f vldr s12, [r0, #252] @ 0xfc 7001cf9e: ee67 7aa5 vmul.f32 s15, s15, s11 7001cfa2: ed90 7a40 vldr s14, [r0, #256] @ 0x100 7001cfa6: ee66 6a86 vmul.f32 s13, s13, s12 7001cfaa: ee77 7aa6 vadd.f32 s15, s15, s13 7001cfae: ee77 7a87 vadd.f32 s15, s15, s14 7001cfb2: edc2 7a01 vstr s15, [r2, #4] 7001cfb6: 6822 ldr r2, [r4, #0] 7001cfb8: edd3 7a00 vldr s15, [r3] 7001cfbc: edd3 6a01 vldr s13, [r3, #4] 7001cfc0: ed92 7a3b vldr s14, [r2, #236] @ 0xec 7001cfc4: ed92 6a3c vldr s12, [r2, #240] @ 0xf0 7001cfc8: ee27 7a87 vmul.f32 s14, s15, s14 7001cfcc: edd2 5a3d vldr s11, [r2, #244] @ 0xf4 7001cfd0: ee26 6a86 vmul.f32 s12, s13, s12 7001cfd4: bc30 pop {r4, r5} 7001cfd6: ee37 7a06 vadd.f32 s14, s14, s12 7001cfda: ee37 7a25 vadd.f32 s14, s14, s11 7001cfde: ed83 7a00 vstr s14, [r3] 7001cfe2: edd2 5a3e vldr s11, [r2, #248] @ 0xf8 7001cfe6: ed92 6a3f vldr s12, [r2, #252] @ 0xfc 7001cfea: ee67 7aa5 vmul.f32 s15, s15, s11 7001cfee: ed92 7a40 vldr s14, [r2, #256] @ 0x100 7001cff2: ee66 6a86 vmul.f32 s13, s13, s12 7001cff6: ee77 7aa6 vadd.f32 s15, s15, s13 7001cffa: ee77 7a87 vadd.f32 s15, s15, s14 7001cffe: edc3 7a01 vstr s15, [r3, #4] 7001d002: 4770 bx lr 7001d004: 2400dc78 .word 0x2400dc78 7001d008 : 7001d008: b530 push {r4, r5, lr} 7001d00a: 4c79 ldr r4, [pc, #484] @ (7001d1f0 ) 7001d00c: eef6 6a00 vmov.f32 s13, #96 @ 0x3f000000 0.5 7001d010: b089 sub sp, #36 @ 0x24 7001d012: 4605 mov r5, r0 7001d014: 6821 ldr r1, [r4, #0] 7001d016: edd1 7a64 vldr s15, [r1, #400] @ 0x190 7001d01a: ed91 7a66 vldr s14, [r1, #408] @ 0x198 7001d01e: ed91 0a4b vldr s0, [r1, #300] @ 0x12c 7001d022: eef4 7a47 vcmp.f32 s15, s14 7001d026: ee20 0a26 vmul.f32 s0, s0, s13 7001d02a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d02e: d108 bne.n 7001d042 7001d030: ed91 7a65 vldr s14, [r1, #404] @ 0x194 7001d034: edd1 6a67 vldr s13, [r1, #412] @ 0x19c 7001d038: eeb4 7a66 vcmp.f32 s14, s13 7001d03c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d040: d04a beq.n 7001d0d8 7001d042: 2d01 cmp r5, #1 7001d044: f000 8089 beq.w 7001d15a 7001d048: f501 709c add.w r0, r1, #312 @ 0x138 7001d04c: 466a mov r2, sp 7001d04e: f501 73a8 add.w r3, r1, #336 @ 0x150 7001d052: ad02 add r5, sp, #8 7001d054: c803 ldmia r0, {r0, r1} 7001d056: e882 0003 stmia.w r2, {r0, r1} 7001d05a: e893 0003 ldmia.w r3, {r0, r1} 7001d05e: 2200 movs r2, #0 7001d060: e885 0003 stmia.w r5, {r0, r1} 7001d064: a804 add r0, sp, #16 7001d066: a906 add r1, sp, #24 7001d068: f7fd fd88 bl 7001ab7c 7001d06c: 6823 ldr r3, [r4, #0] 7001d06e: f893 007d ldrb.w r0, [r3, #125] @ 0x7d 7001d072: f010 0010 ands.w r0, r0, #16 7001d076: d028 beq.n 7001d0ca 7001d078: 2300 movs r3, #0 7001d07a: 461a mov r2, r3 7001d07c: 4619 mov r1, r3 7001d07e: 4618 mov r0, r3 7001d080: f7fc f8dc bl 7001923c 7001d084: 4605 mov r5, r0 7001d086: 6823 ldr r3, [r4, #0] 7001d088: f8d3 211c ldr.w r2, [r3, #284] @ 0x11c 7001d08c: b91a cbnz r2, 7001d096 7001d08e: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 7001d092: 079a lsls r2, r3, #30 7001d094: d571 bpl.n 7001d17a 7001d096: eddd 3a07 vldr s7, [sp, #28] 7001d09a: ed9d 3a06 vldr s6, [sp, #24] 7001d09e: eddd 2a05 vldr s5, [sp, #20] 7001d0a2: ed9d 2a04 vldr s4, [sp, #16] 7001d0a6: eddd 1a03 vldr s3, [sp, #12] 7001d0aa: ed9d 1a02 vldr s2, [sp, #8] 7001d0ae: eddd 0a01 vldr s1, [sp, #4] 7001d0b2: ed9d 0a00 vldr s0, [sp] 7001d0b6: f7fc fb49 bl 7001974c 7001d0ba: 6823 ldr r3, [r4, #0] 7001d0bc: f893 307d ldrb.w r3, [r3, #125] @ 0x7d 7001d0c0: 06db lsls r3, r3, #27 7001d0c2: d544 bpl.n 7001d14e 7001d0c4: 2000 movs r0, #0 7001d0c6: b009 add sp, #36 @ 0x24 7001d0c8: bd30 pop {r4, r5, pc} 7001d0ca: 2301 movs r3, #1 7001d0cc: 461a mov r2, r3 7001d0ce: 4619 mov r1, r3 7001d0d0: f7fc f8b4 bl 7001923c 7001d0d4: 4605 mov r5, r0 7001d0d6: e7d6 b.n 7001d086 7001d0d8: edd1 6a68 vldr s13, [r1, #416] @ 0x1a0 7001d0dc: ed91 6a6a vldr s12, [r1, #424] @ 0x1a8 7001d0e0: eef4 6a46 vcmp.f32 s13, s12 7001d0e4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d0e8: d1ab bne.n 7001d042 7001d0ea: ed91 6a69 vldr s12, [r1, #420] @ 0x1a4 7001d0ee: edd1 5a6b vldr s11, [r1, #428] @ 0x1ac 7001d0f2: eeb4 6a65 vcmp.f32 s12, s11 7001d0f6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d0fa: d1a2 bne.n 7001d042 7001d0fc: 2801 cmp r0, #1 7001d0fe: d043 beq.n 7001d188 7001d100: f891 31c3 ldrb.w r3, [r1, #451] @ 0x1c3 7001d104: b11b cbz r3, 7001d10e 7001d106: f891 22f4 ldrb.w r2, [r1, #756] @ 0x2f4 7001d10a: 2a00 cmp r2, #0 7001d10c: d05c beq.n 7001d1c8 7001d10e: ee77 5ac0 vsub.f32 s11, s15, s0 7001d112: ed8d 7a01 vstr s14, [sp, #4] 7001d116: ee36 0ac0 vsub.f32 s0, s13, s0 7001d11a: edcd 7a02 vstr s15, [sp, #8] 7001d11e: ed8d 7a03 vstr s14, [sp, #12] 7001d122: edcd 6a04 vstr s13, [sp, #16] 7001d126: edcd 5a00 vstr s11, [sp] 7001d12a: ed8d 6a05 vstr s12, [sp, #20] 7001d12e: ed8d 0a06 vstr s0, [sp, #24] 7001d132: ed8d 6a07 vstr s12, [sp, #28] 7001d136: f891 107d ldrb.w r1, [r1, #125] @ 0x7d 7001d13a: f011 0110 ands.w r1, r1, #16 7001d13e: d19b bne.n 7001d078 7001d140: 2301 movs r3, #1 7001d142: 461a mov r2, r3 7001d144: 4618 mov r0, r3 7001d146: f7fc f879 bl 7001923c 7001d14a: 4605 mov r5, r0 7001d14c: e79b b.n 7001d086 7001d14e: 4628 mov r0, r5 7001d150: f7fc f892 bl 70019278 7001d154: 2000 movs r0, #0 7001d156: b009 add sp, #36 @ 0x24 7001d158: bd30 pop {r4, r5, pc} 7001d15a: f501 72cc add.w r2, r1, #408 @ 0x198 7001d15e: 466b mov r3, sp 7001d160: f501 7cd0 add.w ip, r1, #416 @ 0x1a0 7001d164: e892 0003 ldmia.w r2, {r0, r1} 7001d168: 462a mov r2, r5 7001d16a: e883 0003 stmia.w r3, {r0, r1} 7001d16e: ab02 add r3, sp, #8 7001d170: e89c 0003 ldmia.w ip, {r0, r1} 7001d174: e883 0003 stmia.w r3, {r0, r1} 7001d178: e774 b.n 7001d064 7001d17a: ab06 add r3, sp, #24 7001d17c: aa04 add r2, sp, #16 7001d17e: a902 add r1, sp, #8 7001d180: 4668 mov r0, sp 7001d182: f7ff fea7 bl 7001ced4 7001d186: e786 b.n 7001d096 7001d188: f891 307d ldrb.w r3, [r1, #125] @ 0x7d 7001d18c: ee77 5a80 vadd.f32 s11, s15, s0 7001d190: ee36 0a80 vadd.f32 s0, s13, s0 7001d194: edcd 7a00 vstr s15, [sp] 7001d198: f013 0310 ands.w r3, r3, #16 7001d19c: ed8d 7a01 vstr s14, [sp, #4] 7001d1a0: ed8d 7a03 vstr s14, [sp, #12] 7001d1a4: edcd 5a02 vstr s11, [sp, #8] 7001d1a8: ed8d 0a04 vstr s0, [sp, #16] 7001d1ac: ed8d 6a05 vstr s12, [sp, #20] 7001d1b0: edcd 6a06 vstr s13, [sp, #24] 7001d1b4: ed8d 6a07 vstr s12, [sp, #28] 7001d1b8: f47f af5e bne.w 7001d078 7001d1bc: 4602 mov r2, r0 7001d1be: 4601 mov r1, r0 7001d1c0: f7fc f83c bl 7001923c 7001d1c4: 4605 mov r5, r0 7001d1c6: e75e b.n 7001d086 7001d1c8: f501 709c add.w r0, r1, #312 @ 0x138 7001d1cc: f501 73a8 add.w r3, r1, #336 @ 0x150 7001d1d0: 466d mov r5, sp 7001d1d2: c803 ldmia r0, {r0, r1} 7001d1d4: e885 0003 stmia.w r5, {r0, r1} 7001d1d8: e893 0003 ldmia.w r3, {r0, r1} 7001d1dc: ad02 add r5, sp, #8 7001d1de: e885 0003 stmia.w r5, {r0, r1} 7001d1e2: a906 add r1, sp, #24 7001d1e4: a804 add r0, sp, #16 7001d1e6: f7fd fcc9 bl 7001ab7c 7001d1ea: 6821 ldr r1, [r4, #0] 7001d1ec: e7a3 b.n 7001d136 7001d1ee: bf00 nop 7001d1f0: 2400dc78 .word 0x2400dc78 7001d1f4 : 7001d1f4: b500 push {lr} 7001d1f6: b089 sub sp, #36 @ 0x24 7001d1f8: f7fc faa8 bl 7001974c 7001d1fc: 2000 movs r0, #0 7001d1fe: b009 add sp, #36 @ 0x24 7001d200: f85d fb04 ldr.w pc, [sp], #4 7001d204 : 7001d204: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7001d208: f8df 8084 ldr.w r8, [pc, #132] @ 7001d290 7001d20c: ed2d 8b10 vpush {d8-d15} 7001d210: f8d8 c000 ldr.w ip, [r8] 7001d214: b0a3 sub sp, #140 @ 0x8c 7001d216: f8dc 6110 ldr.w r6, [ip, #272] @ 0x110 7001d21a: 9000 str r0, [sp, #0] 7001d21c: b38e cbz r6, 7001d282 7001d21e: f89c e2f2 ldrb.w lr, [ip, #754] @ 0x2f2 7001d222: 460c mov r4, r1 7001d224: 4617 mov r7, r2 7001d226: 461d mov r5, r3 7001d228: f1be 0f00 cmp.w lr, #0 7001d22c: d134 bne.n 7001d298 7001d22e: f89c 307d ldrb.w r3, [ip, #125] @ 0x7d 7001d232: f013 0310 ands.w r3, r3, #16 7001d236: f000 82d6 beq.w 7001d7e6 7001d23a: f04f 0900 mov.w r9, #0 7001d23e: f8dc 311c ldr.w r3, [ip, #284] @ 0x11c 7001d242: b923 cbnz r3, 7001d24e 7001d244: f8dc 3090 ldr.w r3, [ip, #144] @ 0x90 7001d248: 079e lsls r6, r3, #30 7001d24a: f140 82c1 bpl.w 7001d7d0 7001d24e: 9b00 ldr r3, [sp, #0] 7001d250: edd5 3a01 vldr s7, [r5, #4] 7001d254: ed95 3a00 vldr s6, [r5] 7001d258: edd7 2a01 vldr s5, [r7, #4] 7001d25c: ed97 2a00 vldr s4, [r7] 7001d260: edd4 1a01 vldr s3, [r4, #4] 7001d264: ed94 1a00 vldr s2, [r4] 7001d268: edd3 0a01 vldr s1, [r3, #4] 7001d26c: ed93 0a00 vldr s0, [r3] 7001d270: f7fc fa6c bl 7001974c 7001d274: f8d8 3000 ldr.w r3, [r8] 7001d278: f893 307d ldrb.w r3, [r3, #125] @ 0x7d 7001d27c: 06db lsls r3, r3, #27 7001d27e: f140 82ae bpl.w 7001d7de 7001d282: 2000 movs r0, #0 7001d284: b023 add sp, #140 @ 0x8c 7001d286: ecbd 8b10 vpop {d8-d15} 7001d28a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001d28e: bf00 nop 7001d290: 2400dc78 .word 0x2400dc78 7001d294: 3727c5ac .word 0x3727c5ac 7001d298: f8dc 6118 ldr.w r6, [ip, #280] @ 0x118 7001d29c: 2e00 cmp r6, #0 7001d29e: d1c6 bne.n 7001d22e 7001d2a0: f1be 0f02 cmp.w lr, #2 7001d2a4: f000 82a8 beq.w 7001d7f8 7001d2a8: f1be 0f01 cmp.w lr, #1 7001d2ac: f040 8303 bne.w 7001d8b6 7001d2b0: f89c 32f4 ldrb.w r3, [ip, #756] @ 0x2f4 7001d2b4: 2b00 cmp r3, #0 7001d2b6: f000 82e9 beq.w 7001d88c 7001d2ba: ab0c add r3, sp, #48 @ 0x30 7001d2bc: f50c 7a51 add.w sl, ip, #836 @ 0x344 7001d2c0: f50c 7c46 add.w ip, ip, #792 @ 0x318 7001d2c4: 461e mov r6, r3 7001d2c6: 469b mov fp, r3 7001d2c8: f10d 095c add.w r9, sp, #92 @ 0x5c 7001d2cc: e8ba 000f ldmia.w sl!, {r0, r1, r2, r3} 7001d2d0: e8ab 000f stmia.w fp!, {r0, r1, r2, r3} 7001d2d4: e8ba 000f ldmia.w sl!, {r0, r1, r2, r3} 7001d2d8: 46ce mov lr, r9 7001d2da: e8ab 000f stmia.w fp!, {r0, r1, r2, r3} 7001d2de: e89a 0007 ldmia.w sl, {r0, r1, r2} 7001d2e2: e88b 0007 stmia.w fp, {r0, r1, r2} 7001d2e6: e8bc 000f ldmia.w ip!, {r0, r1, r2, r3} 7001d2ea: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} 7001d2ee: e8bc 000f ldmia.w ip!, {r0, r1, r2, r3} 7001d2f2: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} 7001d2f6: e89c 0007 ldmia.w ip, {r0, r1, r2} 7001d2fa: e88e 0007 stmia.w lr, {r0, r1, r2} 7001d2fe: ed9d 8a17 vldr s16, [sp, #92] @ 0x5c 7001d302: eddd 8a0c vldr s17, [sp, #48] @ 0x30 7001d306: ed1f 6a1d vldr s12, [pc, #-116] @ 7001d294 7001d30a: ee38 7a68 vsub.f32 s14, s16, s17 7001d30e: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001d312: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d316: eeb5 8ac0 vcmpe.f32 s16, #0.0 7001d31a: bf48 it mi 7001d31c: eeb1 7a47 vnegmi.f32 s14, s14 7001d320: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d324: eef5 8ac0 vcmpe.f32 s17, #0.0 7001d328: bf4c ite mi 7001d32a: eef1 6a48 vnegmi.f32 s13, s16 7001d32e: eef0 6a48 vmovpl.f32 s13, s16 7001d332: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d336: bf4c ite mi 7001d338: eef1 7a68 vnegmi.f32 s15, s17 7001d33c: eef0 7a68 vmovpl.f32 s15, s17 7001d340: eef4 6a67 vcmp.f32 s13, s15 7001d344: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d348: bf48 it mi 7001d34a: eef0 7a66 vmovmi.f32 s15, s13 7001d34e: ee67 7a86 vmul.f32 s15, s15, s12 7001d352: eef4 7ac7 vcmpe.f32 s15, s14 7001d356: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d35a: f2c0 8132 blt.w 7001d5c2 7001d35e: eddd 7a18 vldr s15, [sp, #96] @ 0x60 7001d362: ed9d 7a0d vldr s14, [sp, #52] @ 0x34 7001d366: ed1f 6a35 vldr s12, [pc, #-212] @ 7001d294 7001d36a: ee77 6ac7 vsub.f32 s13, s15, s14 7001d36e: eef5 6ac0 vcmpe.f32 s13, #0.0 7001d372: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d376: eef5 7ac0 vcmpe.f32 s15, #0.0 7001d37a: bf48 it mi 7001d37c: eef1 6a66 vnegmi.f32 s13, s13 7001d380: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d384: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001d388: bf48 it mi 7001d38a: eef1 7a67 vnegmi.f32 s15, s15 7001d38e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d392: bf48 it mi 7001d394: eeb1 7a47 vnegmi.f32 s14, s14 7001d398: eef4 7ac7 vcmpe.f32 s15, s14 7001d39c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d3a0: bf58 it pl 7001d3a2: eef0 7a47 vmovpl.f32 s15, s14 7001d3a6: ee67 7a86 vmul.f32 s15, s15, s12 7001d3aa: eef4 7ae6 vcmpe.f32 s15, s13 7001d3ae: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d3b2: f2c0 8106 blt.w 7001d5c2 7001d3b6: ed9d 7a19 vldr s14, [sp, #100] @ 0x64 7001d3ba: eddd 7a0e vldr s15, [sp, #56] @ 0x38 7001d3be: ed1f 6a4b vldr s12, [pc, #-300] @ 7001d294 7001d3c2: ee77 6a67 vsub.f32 s13, s14, s15 7001d3c6: eef5 6ac0 vcmpe.f32 s13, #0.0 7001d3ca: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d3ce: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001d3d2: bf48 it mi 7001d3d4: eef1 6a66 vnegmi.f32 s13, s13 7001d3d8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d3dc: eef5 7ac0 vcmpe.f32 s15, #0.0 7001d3e0: bf48 it mi 7001d3e2: eeb1 7a47 vnegmi.f32 s14, s14 7001d3e6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d3ea: bf48 it mi 7001d3ec: eef1 7a67 vnegmi.f32 s15, s15 7001d3f0: eeb4 7a67 vcmp.f32 s14, s15 7001d3f4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d3f8: bf48 it mi 7001d3fa: eef0 7a47 vmovmi.f32 s15, s14 7001d3fe: ee67 7a86 vmul.f32 s15, s15, s12 7001d402: eef4 7ae6 vcmpe.f32 s15, s13 7001d406: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d40a: f2c0 80da blt.w 7001d5c2 7001d40e: eddd 7a1a vldr s15, [sp, #104] @ 0x68 7001d412: ed9d 7a0f vldr s14, [sp, #60] @ 0x3c 7001d416: ed1f 6a61 vldr s12, [pc, #-388] @ 7001d294 7001d41a: ee77 6ac7 vsub.f32 s13, s15, s14 7001d41e: eef5 6ac0 vcmpe.f32 s13, #0.0 7001d422: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d426: eef5 7ac0 vcmpe.f32 s15, #0.0 7001d42a: bf48 it mi 7001d42c: eef1 6a66 vnegmi.f32 s13, s13 7001d430: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d434: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001d438: bf48 it mi 7001d43a: eef1 7a67 vnegmi.f32 s15, s15 7001d43e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d442: bf48 it mi 7001d444: eeb1 7a47 vnegmi.f32 s14, s14 7001d448: eef4 7ac7 vcmpe.f32 s15, s14 7001d44c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d450: bf58 it pl 7001d452: eef0 7a47 vmovpl.f32 s15, s14 7001d456: ee67 7a86 vmul.f32 s15, s15, s12 7001d45a: eef4 7ae6 vcmpe.f32 s15, s13 7001d45e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d462: f2c0 80ae blt.w 7001d5c2 7001d466: ed9d 7a1b vldr s14, [sp, #108] @ 0x6c 7001d46a: eddd 7a10 vldr s15, [sp, #64] @ 0x40 7001d46e: ed1f 6a77 vldr s12, [pc, #-476] @ 7001d294 7001d472: ee77 6a67 vsub.f32 s13, s14, s15 7001d476: eef5 6ac0 vcmpe.f32 s13, #0.0 7001d47a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d47e: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001d482: bf48 it mi 7001d484: eef1 6a66 vnegmi.f32 s13, s13 7001d488: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d48c: eef5 7ac0 vcmpe.f32 s15, #0.0 7001d490: bf48 it mi 7001d492: eeb1 7a47 vnegmi.f32 s14, s14 7001d496: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d49a: bf48 it mi 7001d49c: eef1 7a67 vnegmi.f32 s15, s15 7001d4a0: eeb4 7a67 vcmp.f32 s14, s15 7001d4a4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d4a8: bf48 it mi 7001d4aa: eef0 7a47 vmovmi.f32 s15, s14 7001d4ae: ee67 7a86 vmul.f32 s15, s15, s12 7001d4b2: eef4 7ae6 vcmpe.f32 s15, s13 7001d4b6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d4ba: f2c0 8082 blt.w 7001d5c2 7001d4be: eddd 7a1c vldr s15, [sp, #112] @ 0x70 7001d4c2: ed9d 7a11 vldr s14, [sp, #68] @ 0x44 7001d4c6: ed1f 6a8d vldr s12, [pc, #-564] @ 7001d294 7001d4ca: ee77 6ac7 vsub.f32 s13, s15, s14 7001d4ce: eef5 6ac0 vcmpe.f32 s13, #0.0 7001d4d2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d4d6: eef5 7ac0 vcmpe.f32 s15, #0.0 7001d4da: bf48 it mi 7001d4dc: eef1 6a66 vnegmi.f32 s13, s13 7001d4e0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d4e4: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001d4e8: bf48 it mi 7001d4ea: eef1 7a67 vnegmi.f32 s15, s15 7001d4ee: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d4f2: bf48 it mi 7001d4f4: eeb1 7a47 vnegmi.f32 s14, s14 7001d4f8: eef4 7ac7 vcmpe.f32 s15, s14 7001d4fc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d500: bf58 it pl 7001d502: eef0 7a47 vmovpl.f32 s15, s14 7001d506: ee67 7a86 vmul.f32 s15, s15, s12 7001d50a: eef4 7ae6 vcmpe.f32 s15, s13 7001d50e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d512: db56 blt.n 7001d5c2 7001d514: ed9d 7a1d vldr s14, [sp, #116] @ 0x74 7001d518: eddd 7a12 vldr s15, [sp, #72] @ 0x48 7001d51c: ed1f 6aa3 vldr s12, [pc, #-652] @ 7001d294 7001d520: ee77 6a67 vsub.f32 s13, s14, s15 7001d524: eef5 6ac0 vcmpe.f32 s13, #0.0 7001d528: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d52c: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001d530: bf48 it mi 7001d532: eef1 6a66 vnegmi.f32 s13, s13 7001d536: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d53a: eef5 7ac0 vcmpe.f32 s15, #0.0 7001d53e: bf48 it mi 7001d540: eeb1 7a47 vnegmi.f32 s14, s14 7001d544: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d548: bf48 it mi 7001d54a: eef1 7a67 vnegmi.f32 s15, s15 7001d54e: eeb4 7a67 vcmp.f32 s14, s15 7001d552: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d556: bf48 it mi 7001d558: eef0 7a47 vmovmi.f32 s15, s14 7001d55c: ee67 7a86 vmul.f32 s15, s15, s12 7001d560: eef4 7ae6 vcmpe.f32 s15, s13 7001d564: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d568: db2b blt.n 7001d5c2 7001d56a: eddd 7a1e vldr s15, [sp, #120] @ 0x78 7001d56e: ed9d 7a13 vldr s14, [sp, #76] @ 0x4c 7001d572: ed1f 6ab8 vldr s12, [pc, #-736] @ 7001d294 7001d576: ee77 6ac7 vsub.f32 s13, s15, s14 7001d57a: eef5 6ac0 vcmpe.f32 s13, #0.0 7001d57e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d582: eef5 7ac0 vcmpe.f32 s15, #0.0 7001d586: bf48 it mi 7001d588: eef1 6a66 vnegmi.f32 s13, s13 7001d58c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d590: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001d594: bf48 it mi 7001d596: eef1 7a67 vnegmi.f32 s15, s15 7001d59a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d59e: bf48 it mi 7001d5a0: eeb1 7a47 vnegmi.f32 s14, s14 7001d5a4: eef4 7ac7 vcmpe.f32 s15, s14 7001d5a8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d5ac: bf58 it pl 7001d5ae: eef0 7a47 vmovpl.f32 s15, s14 7001d5b2: ee67 7a86 vmul.f32 s15, s15, s12 7001d5b6: eef4 7ae6 vcmpe.f32 s15, s13 7001d5ba: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d5be: f6bf ae60 bge.w 7001d282 7001d5c2: eddd 9a0e vldr s19, [sp, #56] @ 0x38 7001d5c6: 2300 movs r3, #0 7001d5c8: ed9d 9a0f vldr s18, [sp, #60] @ 0x3c 7001d5cc: 4648 mov r0, r9 7001d5ce: eeb0 0a69 vmov.f32 s0, s19 7001d5d2: 9304 str r3, [sp, #16] 7001d5d4: eef0 0a49 vmov.f32 s1, s18 7001d5d8: 9305 str r3, [sp, #20] 7001d5da: f7fd fb61 bl 7001aca0 7001d5de: 2800 cmp r0, #0 7001d5e0: f040 816c bne.w 7001d8bc 7001d5e4: ed9d aa18 vldr s20, [sp, #96] @ 0x60 7001d5e8: eeb0 0a48 vmov.f32 s0, s16 7001d5ec: 4630 mov r0, r6 7001d5ee: eef0 0a4a vmov.f32 s1, s20 7001d5f2: f7fd fb55 bl 7001aca0 7001d5f6: 2800 cmp r0, #0 7001d5f8: f040 8160 bne.w 7001d8bc 7001d5fc: ed9d ba10 vldr s22, [sp, #64] @ 0x40 7001d600: 4648 mov r0, r9 7001d602: eddd aa11 vldr s21, [sp, #68] @ 0x44 7001d606: eeb0 0a4b vmov.f32 s0, s22 7001d60a: eef0 0a6a vmov.f32 s1, s21 7001d60e: f7fd fb47 bl 7001aca0 7001d612: 2800 cmp r0, #0 7001d614: f040 8184 bne.w 7001d920 7001d618: eddd ba1d vldr s23, [sp, #116] @ 0x74 7001d61c: 4630 mov r0, r6 7001d61e: eddd fa1e vldr s31, [sp, #120] @ 0x78 7001d622: eeb0 0a6b vmov.f32 s0, s23 7001d626: eef0 0a6f vmov.f32 s1, s31 7001d62a: f7fd fb39 bl 7001aca0 7001d62e: 2800 cmp r0, #0 7001d630: f040 8176 bne.w 7001d920 7001d634: eeb4 9aca vcmpe.f32 s18, s20 7001d638: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d63c: eeb4 9aea vcmpe.f32 s18, s21 7001d640: f340 81e0 ble.w 7001da04 7001d644: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d648: f340 81e0 ble.w 7001da0c 7001d64c: f10d 0a08 add.w sl, sp, #8 7001d650: eeb0 8a6b vmov.f32 s16, s23 7001d654: eeb0 9a6a vmov.f32 s18, s21 7001d658: f10d 0b10 add.w fp, sp, #16 7001d65c: eef0 9a4b vmov.f32 s19, s22 7001d660: ed9d ca13 vldr s24, [sp, #76] @ 0x4c 7001d664: eef0 da68 vmov.f32 s27, s17 7001d668: ed9d ea0d vldr s28, [sp, #52] @ 0x34 7001d66c: eddd ca1b vldr s25, [sp, #108] @ 0x6c 7001d670: ed9d da1c vldr s26, [sp, #112] @ 0x70 7001d674: eddd ea19 vldr s29, [sp, #100] @ 0x64 7001d678: ed9d fa1a vldr s30, [sp, #104] @ 0x68 7001d67c: eddd 8a12 vldr s17, [sp, #72] @ 0x48 7001d680: e9dd 010e ldrd r0, r1, [sp, #56] @ 0x38 7001d684: e88a 0003 stmia.w sl, {r0, r1} 7001d688: e899 0003 ldmia.w r9, {r0, r1} 7001d68c: e88b 0003 stmia.w fp, {r0, r1} 7001d690: ed9d aa02 vldr s20, [sp, #8] 7001d694: 2300 movs r3, #0 7001d696: eddd aa03 vldr s21, [sp, #12] 7001d69a: eef0 3a6f vmov.f32 s7, s31 7001d69e: ed9d ba04 vldr s22, [sp, #16] 7001d6a2: eeb0 3a48 vmov.f32 s6, s16 7001d6a6: eddd ba05 vldr s23, [sp, #20] 7001d6aa: eef0 1a49 vmov.f32 s3, s18 7001d6ae: eeb0 2a4b vmov.f32 s4, s22 7001d6b2: a907 add r1, sp, #28 7001d6b4: eef0 2a6b vmov.f32 s5, s23 7001d6b8: a806 add r0, sp, #24 7001d6ba: eeb0 1a69 vmov.f32 s2, s19 7001d6be: 9306 str r3, [sp, #24] 7001d6c0: eef0 0a6a vmov.f32 s1, s21 7001d6c4: 9307 str r3, [sp, #28] 7001d6c6: eeb0 0a4a vmov.f32 s0, s20 7001d6ca: 9308 str r3, [sp, #32] 7001d6cc: 9309 str r3, [sp, #36] @ 0x24 7001d6ce: 930a str r3, [sp, #40] @ 0x28 7001d6d0: 930b str r3, [sp, #44] @ 0x2c 7001d6d2: f7fc f8ff bl 700198d4 7001d6d6: ab08 add r3, sp, #32 7001d6d8: eef0 3a4f vmov.f32 s7, s30 7001d6dc: eeb0 3a6e vmov.f32 s6, s29 7001d6e0: a909 add r1, sp, #36 @ 0x24 7001d6e2: eef0 0a4e vmov.f32 s1, s28 7001d6e6: 9001 str r0, [sp, #4] 7001d6e8: eeb0 0a6d vmov.f32 s0, s27 7001d6ec: 4618 mov r0, r3 7001d6ee: eef0 2a6b vmov.f32 s5, s23 7001d6f2: eeb0 2a4b vmov.f32 s4, s22 7001d6f6: eef0 1a6a vmov.f32 s3, s21 7001d6fa: eeb0 1a4a vmov.f32 s2, s20 7001d6fe: f7fc f8e9 bl 700198d4 7001d702: eef0 3a4d vmov.f32 s7, s26 7001d706: eeb0 3a6c vmov.f32 s6, s25 7001d70a: a90b add r1, sp, #44 @ 0x2c 7001d70c: eef0 2a6f vmov.f32 s5, s31 7001d710: 4606 mov r6, r0 7001d712: eeb0 2a48 vmov.f32 s4, s16 7001d716: a80a add r0, sp, #40 @ 0x28 7001d718: eef0 1a49 vmov.f32 s3, s18 7001d71c: eeb0 1a69 vmov.f32 s2, s19 7001d720: eef0 0a4c vmov.f32 s1, s24 7001d724: eeb0 0a68 vmov.f32 s0, s17 7001d728: f7fc f8d4 bl 700198d4 7001d72c: ed9d 7a0b vldr s14, [sp, #44] @ 0x2c 7001d730: ed9d 0a08 vldr s0, [sp, #32] 7001d734: 4681 mov r9, r0 7001d736: eddd 6a0a vldr s13, [sp, #40] @ 0x28 7001d73a: eddd 7a09 vldr s15, [sp, #36] @ 0x24 7001d73e: ee30 0a66 vsub.f32 s0, s0, s13 7001d742: ee77 7ac7 vsub.f32 s15, s15, s14 7001d746: ee20 0a00 vmul.f32 s0, s0, s0 7001d74a: ee67 7aa7 vmul.f32 s15, s15, s15 7001d74e: ee30 0a27 vadd.f32 s0, s0, s15 7001d752: f7fb f9a9 bl 70018aa8 7001d756: f8d8 2000 ldr.w r2, [r8] 7001d75a: edd2 7abb vldr s15, [r2, #748] @ 0x2ec 7001d75e: ed92 7aba vldr s14, [r2, #744] @ 0x2e8 7001d762: ee67 7a87 vmul.f32 s15, s15, s14 7001d766: eeb4 0ae7 vcmpe.f32 s0, s15 7001d76a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d76e: dc0b bgt.n 7001d788 7001d770: 9901 ldr r1, [sp, #4] 7001d772: 2900 cmp r1, #0 7001d774: bf18 it ne 7001d776: 2e00 cmpne r6, #0 7001d778: d006 beq.n 7001d788 7001d77a: fab9 f189 clz r1, r9 7001d77e: 0949 lsrs r1, r1, #5 7001d780: f1b9 0f00 cmp.w r9, #0 7001d784: f040 8117 bne.w 7001d9b6 7001d788: f892 307d ldrb.w r3, [r2, #125] @ 0x7d 7001d78c: f013 0310 ands.w r3, r3, #16 7001d790: f000 80b3 beq.w 7001d8fa 7001d794: f04f 0900 mov.w r9, #0 7001d798: f8d2 311c ldr.w r3, [r2, #284] @ 0x11c 7001d79c: b923 cbnz r3, 7001d7a8 7001d79e: f8d2 3090 ldr.w r3, [r2, #144] @ 0x90 7001d7a2: 0799 lsls r1, r3, #30 7001d7a4: f140 8100 bpl.w 7001d9a8 7001d7a8: 9b00 ldr r3, [sp, #0] 7001d7aa: edd5 3a01 vldr s7, [r5, #4] 7001d7ae: ed95 3a00 vldr s6, [r5] 7001d7b2: edd7 2a01 vldr s5, [r7, #4] 7001d7b6: ed97 2a00 vldr s4, [r7] 7001d7ba: edd4 1a01 vldr s3, [r4, #4] 7001d7be: ed94 1a00 vldr s2, [r4] 7001d7c2: edd3 0a01 vldr s1, [r3, #4] 7001d7c6: ed93 0a00 vldr s0, [r3] 7001d7ca: f7fb ffbf bl 7001974c 7001d7ce: e551 b.n 7001d274 7001d7d0: 462b mov r3, r5 7001d7d2: 463a mov r2, r7 7001d7d4: 4621 mov r1, r4 7001d7d6: 9800 ldr r0, [sp, #0] 7001d7d8: f7ff fb7c bl 7001ced4 7001d7dc: e537 b.n 7001d24e 7001d7de: 4648 mov r0, r9 7001d7e0: f7fb fd4a bl 70019278 7001d7e4: e54d b.n 7001d282 7001d7e6: 2201 movs r2, #1 7001d7e8: 4619 mov r1, r3 7001d7ea: 4610 mov r0, r2 7001d7ec: f7fb fd26 bl 7001923c 7001d7f0: f8d8 c000 ldr.w ip, [r8] 7001d7f4: 4681 mov r9, r0 7001d7f6: e522 b.n 7001d23e 7001d7f8: f8dc 611c ldr.w r6, [ip, #284] @ 0x11c 7001d7fc: b936 cbnz r6, 7001d80c 7001d7fe: f8dc c090 ldr.w ip, [ip, #144] @ 0x90 7001d802: f01c 0f02 tst.w ip, #2 7001d806: d101 bne.n 7001d80c 7001d808: f7ff fb64 bl 7001ced4 7001d80c: 9b00 ldr r3, [sp, #0] 7001d80e: a918 add r1, sp, #96 @ 0x60 7001d810: edd5 3a01 vldr s7, [r5, #4] 7001d814: a817 add r0, sp, #92 @ 0x5c 7001d816: edd3 0a01 vldr s1, [r3, #4] 7001d81a: ed93 0a00 vldr s0, [r3] 7001d81e: 2300 movs r3, #0 7001d820: ed95 3a00 vldr s6, [r5] 7001d824: edd4 2a01 vldr s5, [r4, #4] 7001d828: ed94 2a00 vldr s4, [r4] 7001d82c: edd7 1a01 vldr s3, [r7, #4] 7001d830: ed97 1a00 vldr s2, [r7] 7001d834: 9317 str r3, [sp, #92] @ 0x5c 7001d836: 9318 str r3, [sp, #96] @ 0x60 7001d838: f7fc f84c bl 700198d4 7001d83c: 2800 cmp r0, #0 7001d83e: f43f ad20 beq.w 7001d282 7001d842: ed95 0a00 vldr s0, [r5] 7001d846: edd4 6a00 vldr s13, [r4] 7001d84a: edd5 7a01 vldr s15, [r5, #4] 7001d84e: ed94 7a01 vldr s14, [r4, #4] 7001d852: ee30 0a66 vsub.f32 s0, s0, s13 7001d856: ee77 7ac7 vsub.f32 s15, s15, s14 7001d85a: ee20 0a00 vmul.f32 s0, s0, s0 7001d85e: ee67 7aa7 vmul.f32 s15, s15, s15 7001d862: ee30 0a27 vadd.f32 s0, s0, s15 7001d866: f7fb f91f bl 70018aa8 7001d86a: f8d8 3000 ldr.w r3, [r8] 7001d86e: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 7001d872: eddd 0a18 vldr s1, [sp, #96] @ 0x60 7001d876: f893 307d ldrb.w r3, [r3, #125] @ 0x7d 7001d87a: 06d8 lsls r0, r3, #27 7001d87c: ee20 1a27 vmul.f32 s2, s0, s15 7001d880: ed9d 0a17 vldr s0, [sp, #92] @ 0x5c 7001d884: d442 bmi.n 7001d90c 7001d886: f7fc f9f3 bl 70019c70 7001d88a: e4fa b.n 7001d282 7001d88c: eddc 7a56 vldr s15, [ip, #344] @ 0x158 7001d890: eef5 7ac0 vcmpe.f32 s15, #0.0 7001d894: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d898: dd06 ble.n 7001d8a8 7001d89a: f8dc 3128 ldr.w r3, [ip, #296] @ 0x128 7001d89e: 2b01 cmp r3, #1 7001d8a0: d037 beq.n 7001d912 7001d8a2: 9b3c ldr r3, [sp, #240] @ 0xf0 7001d8a4: 2b01 cmp r3, #1 7001d8a6: d061 beq.n 7001d96c 7001d8a8: ab0c add r3, sp, #48 @ 0x30 7001d8aa: f50c 7ab2 add.w sl, ip, #356 @ 0x164 7001d8ae: f50c 7cc8 add.w ip, ip, #400 @ 0x190 7001d8b2: 461e mov r6, r3 7001d8b4: e507 b.n 7001d2c6 7001d8b6: f04f 7080 mov.w r0, #16777216 @ 0x1000000 7001d8ba: e4e3 b.n 7001d284 7001d8bc: aa10 add r2, sp, #64 @ 0x40 7001d8be: f10d 0a08 add.w sl, sp, #8 7001d8c2: ab1d add r3, sp, #116 @ 0x74 7001d8c4: f10d 0b10 add.w fp, sp, #16 7001d8c8: ed9d ca0d vldr s24, [sp, #52] @ 0x34 7001d8cc: eddd da12 vldr s27, [sp, #72] @ 0x48 7001d8d0: ed9d ea13 vldr s28, [sp, #76] @ 0x4c 7001d8d4: eddd fa18 vldr s31, [sp, #96] @ 0x60 7001d8d8: eddd ca19 vldr s25, [sp, #100] @ 0x64 7001d8dc: ed9d da1a vldr s26, [sp, #104] @ 0x68 7001d8e0: eddd ea1b vldr s29, [sp, #108] @ 0x6c 7001d8e4: ed9d fa1c vldr s30, [sp, #112] @ 0x70 7001d8e8: e892 0003 ldmia.w r2, {r0, r1} 7001d8ec: e88a 0003 stmia.w sl, {r0, r1} 7001d8f0: e893 0003 ldmia.w r3, {r0, r1} 7001d8f4: e88b 0003 stmia.w fp, {r0, r1} 7001d8f8: e6ca b.n 7001d690 7001d8fa: 2201 movs r2, #1 7001d8fc: 4619 mov r1, r3 7001d8fe: 4610 mov r0, r2 7001d900: f7fb fc9c bl 7001923c 7001d904: f8d8 2000 ldr.w r2, [r8] 7001d908: 4681 mov r9, r0 7001d90a: e745 b.n 7001d798 7001d90c: f7fc f830 bl 70019970 7001d910: e4b7 b.n 7001d282 7001d912: ab0c add r3, sp, #48 @ 0x30 7001d914: f50c 7a9c add.w sl, ip, #312 @ 0x138 7001d918: f50c 7cc8 add.w ip, ip, #400 @ 0x190 7001d91c: 461e mov r6, r3 7001d91e: e4d2 b.n 7001d2c6 7001d920: ab0e add r3, sp, #56 @ 0x38 7001d922: f10d 0a08 add.w sl, sp, #8 7001d926: f10d 0b10 add.w fp, sp, #16 7001d92a: eef0 da68 vmov.f32 s27, s17 7001d92e: eeb0 9a6a vmov.f32 s18, s21 7001d932: ed9d ca13 vldr s24, [sp, #76] @ 0x4c 7001d936: eef0 9a4b vmov.f32 s19, s22 7001d93a: ed9d ea0d vldr s28, [sp, #52] @ 0x34 7001d93e: ed9d 8a1d vldr s16, [sp, #116] @ 0x74 7001d942: eddd fa1e vldr s31, [sp, #120] @ 0x78 7001d946: eddd ca1b vldr s25, [sp, #108] @ 0x6c 7001d94a: ed9d da1c vldr s26, [sp, #112] @ 0x70 7001d94e: eddd ea19 vldr s29, [sp, #100] @ 0x64 7001d952: ed9d fa1a vldr s30, [sp, #104] @ 0x68 7001d956: eddd 8a12 vldr s17, [sp, #72] @ 0x48 7001d95a: e893 0003 ldmia.w r3, {r0, r1} 7001d95e: e88a 0003 stmia.w sl, {r0, r1} 7001d962: e899 0003 ldmia.w r9, {r0, r1} 7001d966: e88b 0003 stmia.w fp, {r0, r1} 7001d96a: e691 b.n 7001d690 7001d96c: eddc 7a61 vldr s15, [ip, #388] @ 0x184 7001d970: eef5 7ac0 vcmpe.f32 s15, #0.0 7001d974: eef1 fa10 vmrs APSR_nzcv, fpscr 7001d978: dd96 ble.n 7001d8a8 7001d97a: ab0c add r3, sp, #48 @ 0x30 7001d97c: f50c 7b9c add.w fp, ip, #312 @ 0x138 7001d980: f10d 095c add.w r9, sp, #92 @ 0x5c 7001d984: f50c 7cb2 add.w ip, ip, #356 @ 0x164 7001d988: 461e mov r6, r3 7001d98a: 469e mov lr, r3 7001d98c: 46ca mov sl, r9 7001d98e: e8bb 000f ldmia.w fp!, {r0, r1, r2, r3} 7001d992: e8aa 000f stmia.w sl!, {r0, r1, r2, r3} 7001d996: e8bb 000f ldmia.w fp!, {r0, r1, r2, r3} 7001d99a: e8aa 000f stmia.w sl!, {r0, r1, r2, r3} 7001d99e: e89b 0007 ldmia.w fp, {r0, r1, r2} 7001d9a2: e88a 0007 stmia.w sl, {r0, r1, r2} 7001d9a6: e49e b.n 7001d2e6 7001d9a8: 462b mov r3, r5 7001d9aa: 463a mov r2, r7 7001d9ac: 4621 mov r1, r4 7001d9ae: 9800 ldr r0, [sp, #0] 7001d9b0: f7ff fa90 bl 7001ced4 7001d9b4: e6f8 b.n 7001d7a8 7001d9b6: f892 307d ldrb.w r3, [r2, #125] @ 0x7d 7001d9ba: f013 0310 ands.w r3, r3, #16 7001d9be: d018 beq.n 7001d9f2 7001d9c0: 4689 mov r9, r1 7001d9c2: f8d2 311c ldr.w r3, [r2, #284] @ 0x11c 7001d9c6: b91b cbnz r3, 7001d9d0 7001d9c8: f8d2 3090 ldr.w r3, [r2, #144] @ 0x90 7001d9cc: 079a lsls r2, r3, #30 7001d9ce: d53a bpl.n 7001da46 7001d9d0: eef0 3a6b vmov.f32 s7, s23 7001d9d4: eddd 2a09 vldr s5, [sp, #36] @ 0x24 7001d9d8: eeb0 3a4b vmov.f32 s6, s22 7001d9dc: ed9d 2a08 vldr s4, [sp, #32] 7001d9e0: eef0 1a6a vmov.f32 s3, s21 7001d9e4: eddd 0a07 vldr s1, [sp, #28] 7001d9e8: eeb0 1a4a vmov.f32 s2, s20 7001d9ec: ed9d 0a06 vldr s0, [sp, #24] 7001d9f0: e43e b.n 7001d270 7001d9f2: 2201 movs r2, #1 7001d9f4: 4618 mov r0, r3 7001d9f6: 4611 mov r1, r2 7001d9f8: f7fb fc20 bl 7001923c 7001d9fc: f8d8 2000 ldr.w r2, [r8] 7001da00: 4681 mov r9, r0 7001da02: e7de b.n 7001d9c2 7001da04: eef1 fa10 vmrs APSR_nzcv, fpscr 7001da08: f77f ae20 ble.w 7001d64c 7001da0c: f10d 0a08 add.w sl, sp, #8 7001da10: f10d 0b10 add.w fp, sp, #16 7001da14: eef0 fa4a vmov.f32 s31, s20 7001da18: ed9d ca0d vldr s24, [sp, #52] @ 0x34 7001da1c: eddd da12 vldr s27, [sp, #72] @ 0x48 7001da20: ed9d ea13 vldr s28, [sp, #76] @ 0x4c 7001da24: eddd ca19 vldr s25, [sp, #100] @ 0x64 7001da28: ed9d da1a vldr s26, [sp, #104] @ 0x68 7001da2c: eddd ea1b vldr s29, [sp, #108] @ 0x6c 7001da30: ed9d fa1c vldr s30, [sp, #112] @ 0x70 7001da34: e9dd 0110 ldrd r0, r1, [sp, #64] @ 0x40 7001da38: e88a 0003 stmia.w sl, {r0, r1} 7001da3c: e9dd 011d ldrd r0, r1, [sp, #116] @ 0x74 7001da40: e88b 0003 stmia.w fp, {r0, r1} 7001da44: e624 b.n 7001d690 7001da46: 465b mov r3, fp 7001da48: aa08 add r2, sp, #32 7001da4a: 4651 mov r1, sl 7001da4c: a806 add r0, sp, #24 7001da4e: f7ff fa41 bl 7001ced4 7001da52: eddd ba05 vldr s23, [sp, #20] 7001da56: eddd aa03 vldr s21, [sp, #12] 7001da5a: ed9d aa02 vldr s20, [sp, #8] 7001da5e: ed9d ba04 vldr s22, [sp, #16] 7001da62: e7b5 b.n 7001d9d0 7001da64 : 7001da64: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7001da68: 4ecd ldr r6, [pc, #820] @ (7001dda0 ) 7001da6a: b08b sub sp, #44 @ 0x2c 7001da6c: 4607 mov r7, r0 7001da6e: 4688 mov r8, r1 7001da70: 6834 ldr r4, [r6, #0] 7001da72: f894 307d ldrb.w r3, [r4, #125] @ 0x7d 7001da76: f013 0510 ands.w r5, r3, #16 7001da7a: f040 813d bne.w 7001dcf8 7001da7e: 2f01 cmp r7, #1 7001da80: edd4 7a61 vldr s15, [r4, #388] @ 0x184 7001da84: f000 80d6 beq.w 7001dc34 7001da88: edd4 7a61 vldr s15, [r4, #388] @ 0x184 7001da8c: eef5 7ac0 vcmpe.f32 s15, #0.0 7001da90: eef1 fa10 vmrs APSR_nzcv, fpscr 7001da94: dd56 ble.n 7001db44 7001da96: f894 307d ldrb.w r3, [r4, #125] @ 0x7d 7001da9a: 06d8 lsls r0, r3, #27 7001da9c: d40e bmi.n 7001dabc 7001da9e: 2f01 cmp r7, #1 7001daa0: d004 beq.n 7001daac 7001daa2: f894 31bf ldrb.w r3, [r4, #447] @ 0x1bf 7001daa6: 2b00 cmp r3, #0 7001daa8: f000 8146 beq.w 7001dd38 7001daac: 2300 movs r3, #0 7001daae: 2201 movs r2, #1 7001dab0: 4619 mov r1, r3 7001dab2: 4610 mov r0, r2 7001dab4: f7fb fbc2 bl 7001923c 7001dab8: 6834 ldr r4, [r6, #0] 7001daba: 4605 mov r5, r0 7001dabc: f504 73b2 add.w r3, r4, #356 @ 0x164 7001dac0: f504 72b6 add.w r2, r4, #364 @ 0x16c 7001dac4: f10d 0c08 add.w ip, sp, #8 7001dac8: f10d 0e10 add.w lr, sp, #16 7001dacc: f04f 0901 mov.w r9, #1 7001dad0: e893 0003 ldmia.w r3, {r0, r1} 7001dad4: f504 73ba add.w r3, r4, #372 @ 0x174 7001dad8: e88c 0003 stmia.w ip, {r0, r1} 7001dadc: e892 0003 ldmia.w r2, {r0, r1} 7001dae0: aa06 add r2, sp, #24 7001dae2: e88e 0003 stmia.w lr, {r0, r1} 7001dae6: e893 0003 ldmia.w r3, {r0, r1} 7001daea: ab08 add r3, sp, #32 7001daec: e882 0003 stmia.w r2, {r0, r1} 7001daf0: f504 71be add.w r1, r4, #380 @ 0x17c 7001daf4: c903 ldmia r1, {r0, r1} 7001daf6: f884 91c3 strb.w r9, [r4, #451] @ 0x1c3 7001dafa: e883 0003 stmia.w r3, {r0, r1} 7001dafe: f8d4 111c ldr.w r1, [r4, #284] @ 0x11c 7001db02: b921 cbnz r1, 7001db0e 7001db04: f8d4 1090 ldr.w r1, [r4, #144] @ 0x90 7001db08: 0789 lsls r1, r1, #30 7001db0a: f140 8110 bpl.w 7001dd2e 7001db0e: eddd 3a09 vldr s7, [sp, #36] @ 0x24 7001db12: ed9d 3a08 vldr s6, [sp, #32] 7001db16: eddd 2a07 vldr s5, [sp, #28] 7001db1a: ed9d 2a06 vldr s4, [sp, #24] 7001db1e: eddd 1a05 vldr s3, [sp, #20] 7001db22: ed9d 1a04 vldr s2, [sp, #16] 7001db26: eddd 0a03 vldr s1, [sp, #12] 7001db2a: ed9d 0a02 vldr s0, [sp, #8] 7001db2e: f7fb fe0d bl 7001974c 7001db32: 6834 ldr r4, [r6, #0] 7001db34: 2300 movs r3, #0 7001db36: f8c4 3184 str.w r3, [r4, #388] @ 0x184 7001db3a: f894 307d ldrb.w r3, [r4, #125] @ 0x7d 7001db3e: 06db lsls r3, r3, #27 7001db40: f140 80e3 bpl.w 7001dd0a 7001db44: edd4 7a56 vldr s15, [r4, #344] @ 0x158 7001db48: eef5 7ac0 vcmpe.f32 s15, #0.0 7001db4c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001db50: dd60 ble.n 7001dc14 7001db52: f018 0f80 tst.w r8, #128 @ 0x80 7001db56: d15d bne.n 7001dc14 7001db58: f894 307d ldrb.w r3, [r4, #125] @ 0x7d 7001db5c: 06d8 lsls r0, r3, #27 7001db5e: d413 bmi.n 7001db88 7001db60: 2f01 cmp r7, #1 7001db62: f000 80f1 beq.w 7001dd48 7001db66: f8d4 2128 ldr.w r2, [r4, #296] @ 0x128 7001db6a: f894 11bf ldrb.w r1, [r4, #447] @ 0x1bf 7001db6e: 2a01 cmp r2, #1 7001db70: f000 80fd beq.w 7001dd6e 7001db74: 2900 cmp r1, #0 7001db76: f040 80e7 bne.w 7001dd48 7001db7a: 2301 movs r3, #1 7001db7c: 461a mov r2, r3 7001db7e: 4618 mov r0, r3 7001db80: f7fb fb5c bl 7001923c 7001db84: 6834 ldr r4, [r6, #0] 7001db86: 4605 mov r5, r0 7001db88: f504 739c add.w r3, r4, #312 @ 0x138 7001db8c: f504 72a0 add.w r2, r4, #320 @ 0x140 7001db90: af02 add r7, sp, #8 7001db92: f10d 0c10 add.w ip, sp, #16 7001db96: f04f 0e01 mov.w lr, #1 7001db9a: e893 0003 ldmia.w r3, {r0, r1} 7001db9e: f504 73a4 add.w r3, r4, #328 @ 0x148 7001dba2: e887 0003 stmia.w r7, {r0, r1} 7001dba6: e892 0003 ldmia.w r2, {r0, r1} 7001dbaa: aa06 add r2, sp, #24 7001dbac: e88c 0003 stmia.w ip, {r0, r1} 7001dbb0: e893 0003 ldmia.w r3, {r0, r1} 7001dbb4: ab08 add r3, sp, #32 7001dbb6: e882 0003 stmia.w r2, {r0, r1} 7001dbba: f504 71a8 add.w r1, r4, #336 @ 0x150 7001dbbe: c903 ldmia r1, {r0, r1} 7001dbc0: f884 e1c3 strb.w lr, [r4, #451] @ 0x1c3 7001dbc4: e883 0003 stmia.w r3, {r0, r1} 7001dbc8: f8d4 111c ldr.w r1, [r4, #284] @ 0x11c 7001dbcc: b939 cbnz r1, 7001dbde 7001dbce: f8d4 1090 ldr.w r1, [r4, #144] @ 0x90 7001dbd2: 0789 lsls r1, r1, #30 7001dbd4: d403 bmi.n 7001dbde 7001dbd6: 4661 mov r1, ip 7001dbd8: 4638 mov r0, r7 7001dbda: f7ff f97b bl 7001ced4 7001dbde: eddd 3a09 vldr s7, [sp, #36] @ 0x24 7001dbe2: ed9d 3a08 vldr s6, [sp, #32] 7001dbe6: eddd 2a07 vldr s5, [sp, #28] 7001dbea: ed9d 2a06 vldr s4, [sp, #24] 7001dbee: eddd 1a05 vldr s3, [sp, #20] 7001dbf2: ed9d 1a04 vldr s2, [sp, #16] 7001dbf6: eddd 0a03 vldr s1, [sp, #12] 7001dbfa: ed9d 0a02 vldr s0, [sp, #8] 7001dbfe: f7fb fda5 bl 7001974c 7001dc02: 6834 ldr r4, [r6, #0] 7001dc04: 2200 movs r2, #0 7001dc06: f894 307d ldrb.w r3, [r4, #125] @ 0x7d 7001dc0a: f8c4 2158 str.w r2, [r4, #344] @ 0x158 7001dc0e: 06da lsls r2, r3, #27 7001dc10: f140 8088 bpl.w 7001dd24 7001dc14: f8d4 3128 ldr.w r3, [r4, #296] @ 0x128 7001dc18: 2b02 cmp r3, #2 7001dc1a: d041 beq.n 7001dca0 7001dc1c: 4628 mov r0, r5 7001dc1e: f7fb fb2b bl 70019278 7001dc22: 2300 movs r3, #0 7001dc24: 6832 ldr r2, [r6, #0] 7001dc26: 461c mov r4, r3 7001dc28: f8c2 3128 str.w r3, [r2, #296] @ 0x128 7001dc2c: 4620 mov r0, r4 7001dc2e: b00b add sp, #44 @ 0x2c 7001dc30: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7001dc34: ed94 7a56 vldr s14, [r4, #344] @ 0x158 7001dc38: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001dc3c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001dc40: eef5 7ac0 vcmpe.f32 s15, #0.0 7001dc44: f340 8089 ble.w 7001dd5a 7001dc48: eef1 fa10 vmrs APSR_nzcv, fpscr 7001dc4c: dd81 ble.n 7001db52 7001dc4e: f504 73b6 add.w r3, r4, #364 @ 0x16c 7001dc52: f10d 0c08 add.w ip, sp, #8 7001dc56: f504 729c add.w r2, r4, #312 @ 0x138 7001dc5a: f10d 0e10 add.w lr, sp, #16 7001dc5e: e893 0003 ldmia.w r3, {r0, r1} 7001dc62: f504 73ba add.w r3, r4, #372 @ 0x174 7001dc66: f504 74a8 add.w r4, r4, #336 @ 0x150 7001dc6a: e88c 0003 stmia.w ip, {r0, r1} 7001dc6e: e892 0003 ldmia.w r2, {r0, r1} 7001dc72: aa06 add r2, sp, #24 7001dc74: e88e 0003 stmia.w lr, {r0, r1} 7001dc78: e893 0003 ldmia.w r3, {r0, r1} 7001dc7c: ab08 add r3, sp, #32 7001dc7e: e882 0003 stmia.w r2, {r0, r1} 7001dc82: e894 0003 ldmia.w r4, {r0, r1} 7001dc86: 9700 str r7, [sp, #0] 7001dc88: e883 0003 stmia.w r3, {r0, r1} 7001dc8c: 4671 mov r1, lr 7001dc8e: 4660 mov r0, ip 7001dc90: f7ff fab8 bl 7001d204 7001dc94: 4604 mov r4, r0 7001dc96: 2800 cmp r0, #0 7001dc98: f040 8084 bne.w 7001dda4 7001dc9c: 6834 ldr r4, [r6, #0] 7001dc9e: e6f3 b.n 7001da88 7001dca0: f504 73a0 add.w r3, r4, #320 @ 0x140 7001dca4: af02 add r7, sp, #8 7001dca6: f504 72b2 add.w r2, r4, #356 @ 0x164 7001dcaa: f10d 0c10 add.w ip, sp, #16 7001dcae: e893 0003 ldmia.w r3, {r0, r1} 7001dcb2: f504 73a4 add.w r3, r4, #328 @ 0x148 7001dcb6: f504 74be add.w r4, r4, #380 @ 0x17c 7001dcba: e887 0003 stmia.w r7, {r0, r1} 7001dcbe: e892 0003 ldmia.w r2, {r0, r1} 7001dcc2: aa06 add r2, sp, #24 7001dcc4: e88c 0003 stmia.w ip, {r0, r1} 7001dcc8: e893 0003 ldmia.w r3, {r0, r1} 7001dccc: ab08 add r3, sp, #32 7001dcce: e882 0003 stmia.w r2, {r0, r1} 7001dcd2: e894 0003 ldmia.w r4, {r0, r1} 7001dcd6: e883 0003 stmia.w r3, {r0, r1} 7001dcda: 4638 mov r0, r7 7001dcdc: 2700 movs r7, #0 7001dcde: 4661 mov r1, ip 7001dce0: 9700 str r7, [sp, #0] 7001dce2: f7ff fa8f bl 7001d204 7001dce6: 4604 mov r4, r0 7001dce8: 2800 cmp r0, #0 7001dcea: d097 beq.n 7001dc1c 7001dcec: 6833 ldr r3, [r6, #0] 7001dcee: e9c3 7745 strd r7, r7, [r3, #276] @ 0x114 7001dcf2: f009 fe2d bl 70027950 7001dcf6: e799 b.n 7001dc2c 7001dcf8: 2300 movs r3, #0 7001dcfa: 461a mov r2, r3 7001dcfc: 4619 mov r1, r3 7001dcfe: 4618 mov r0, r3 7001dd00: f7fb fa9c bl 7001923c 7001dd04: 6834 ldr r4, [r6, #0] 7001dd06: 4605 mov r5, r0 7001dd08: e6b9 b.n 7001da7e 7001dd0a: 4628 mov r0, r5 7001dd0c: f7fb fab4 bl 70019278 7001dd10: 6834 ldr r4, [r6, #0] 7001dd12: edd4 7a56 vldr s15, [r4, #344] @ 0x158 7001dd16: eef5 7ac0 vcmpe.f32 s15, #0.0 7001dd1a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001dd1e: f73f af18 bgt.w 7001db52 7001dd22: e777 b.n 7001dc14 7001dd24: 4628 mov r0, r5 7001dd26: f7fb faa7 bl 70019278 7001dd2a: 6834 ldr r4, [r6, #0] 7001dd2c: e772 b.n 7001dc14 7001dd2e: 4671 mov r1, lr 7001dd30: 4660 mov r0, ip 7001dd32: f7ff f8cf bl 7001ced4 7001dd36: e6ea b.n 7001db0e 7001dd38: 2201 movs r2, #1 7001dd3a: 4611 mov r1, r2 7001dd3c: 4610 mov r0, r2 7001dd3e: f7fb fa7d bl 7001923c 7001dd42: 6834 ldr r4, [r6, #0] 7001dd44: 4605 mov r5, r0 7001dd46: e6b9 b.n 7001dabc 7001dd48: 2300 movs r3, #0 7001dd4a: 2201 movs r2, #1 7001dd4c: 4619 mov r1, r3 7001dd4e: 4610 mov r0, r2 7001dd50: f7fb fa74 bl 7001923c 7001dd54: 6834 ldr r4, [r6, #0] 7001dd56: 4605 mov r5, r0 7001dd58: e716 b.n 7001db88 7001dd5a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001dd5e: f77f af59 ble.w 7001dc14 7001dd62: f894 307d ldrb.w r3, [r4, #125] @ 0x7d 7001dd66: 06db lsls r3, r3, #27 7001dd68: f57f aea0 bpl.w 7001daac 7001dd6c: e6a6 b.n 7001dabc 7001dd6e: b939 cbnz r1, 7001dd80 7001dd70: 4613 mov r3, r2 7001dd72: 4611 mov r1, r2 7001dd74: 4610 mov r0, r2 7001dd76: f7fb fa61 bl 7001923c 7001dd7a: 6834 ldr r4, [r6, #0] 7001dd7c: 4605 mov r5, r0 7001dd7e: e703 b.n 7001db88 7001dd80: f894 32f0 ldrb.w r3, [r4, #752] @ 0x2f0 7001dd84: 4610 mov r0, r2 7001dd86: f894 12f1 ldrb.w r1, [r4, #753] @ 0x2f1 7001dd8a: fab3 f383 clz r3, r3 7001dd8e: fab1 f181 clz r1, r1 7001dd92: 095b lsrs r3, r3, #5 7001dd94: 0949 lsrs r1, r1, #5 7001dd96: f7fb fa51 bl 7001923c 7001dd9a: 6834 ldr r4, [r6, #0] 7001dd9c: 4605 mov r5, r0 7001dd9e: e6f3 b.n 7001db88 7001dda0: 2400dc78 .word 0x2400dc78 7001dda4: 6833 ldr r3, [r6, #0] 7001dda6: 2200 movs r2, #0 7001dda8: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001ddac: f009 fdd0 bl 70027950 7001ddb0: e73c b.n 7001dc2c 7001ddb2: bf00 nop 7001ddb4 : 7001ddb4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7001ddb8: ed2d 8b0c vpush {d8-d13} 7001ddbc: ed91 2a00 vldr s4, [r1] 7001ddc0: b097 sub sp, #92 @ 0x5c 7001ddc2: ed90 3a00 vldr s6, [r0] 7001ddc6: edd1 2a01 vldr s5, [r1, #4] 7001ddca: edd0 3a01 vldr s7, [r0, #4] 7001ddce: ee32 6a43 vsub.f32 s12, s4, s6 7001ddd2: ed9f 7ada vldr s14, [pc, #872] @ 7001e13c 7001ddd6: ee72 6ae3 vsub.f32 s13, s5, s7 7001ddda: 4dd9 ldr r5, [pc, #868] @ (7001e140 ) 7001dddc: ee66 7a06 vmul.f32 s15, s12, s12 7001dde0: 682b ldr r3, [r5, #0] 7001dde2: ee66 5aa6 vmul.f32 s11, s13, s13 7001dde6: ee77 7aa5 vadd.f32 s15, s15, s11 7001ddea: eef4 7ac7 vcmpe.f32 s15, s14 7001ddee: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ddf2: d82c bhi.n 7001de4e 7001ddf4: eef6 6a00 vmov.f32 s13, #96 @ 0x3f000000 0.5 7001ddf8: edd3 7a4c vldr s15, [r3, #304] @ 0x130 7001ddfc: ed83 3a66 vstr s6, [r3, #408] @ 0x198 7001de00: f503 71cc add.w r1, r3, #408 @ 0x198 7001de04: ed90 7a01 vldr s14, [r0, #4] 7001de08: f503 75c8 add.w r5, r3, #400 @ 0x190 7001de0c: ee67 7aa6 vmul.f32 s15, s15, s13 7001de10: f503 74d0 add.w r4, r3, #416 @ 0x1a0 7001de14: ee37 7a67 vsub.f32 s14, s14, s15 7001de18: ed83 7a67 vstr s14, [r3, #412] @ 0x19c 7001de1c: 6802 ldr r2, [r0, #0] 7001de1e: f8c3 21a0 str.w r2, [r3, #416] @ 0x1a0 7001de22: f503 72d4 add.w r2, r3, #424 @ 0x1a8 7001de26: ed90 7a01 vldr s14, [r0, #4] 7001de2a: ee77 7a27 vadd.f32 s15, s14, s15 7001de2e: edc3 7a69 vstr s15, [r3, #420] @ 0x1a4 7001de32: c903 ldmia r1, {r0, r1} 7001de34: e885 0003 stmia.w r5, {r0, r1} 7001de38: e894 0003 ldmia.w r4, {r0, r1} 7001de3c: e882 0003 stmia.w r2, {r0, r1} 7001de40: 2400 movs r4, #0 7001de42: 4620 mov r0, r4 7001de44: b017 add sp, #92 @ 0x5c 7001de46: ecbd 8b0c vpop {d8-d13} 7001de4a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001de4e: eeb1 aae7 vsqrt.f32 s20, s15 7001de52: ed93 7a4c vldr s14, [r3, #304] @ 0x130 7001de56: edd3 7a4d vldr s15, [r3, #308] @ 0x134 7001de5a: 4616 mov r6, r2 7001de5c: f8d3 2110 ldr.w r2, [r3, #272] @ 0x110 7001de60: eef6 5a00 vmov.f32 s11, #96 @ 0x3f000000 0.5 7001de64: eeb7 5a00 vmov.f32 s10, #112 @ 0x3f800000 1.0 7001de68: ee27 7a25 vmul.f32 s14, s14, s11 7001de6c: ee67 7aa5 vmul.f32 s15, s15, s11 7001de70: eec5 5a0a vdiv.f32 s11, s10, s20 7001de74: ee66 8a25 vmul.f32 s17, s12, s11 7001de78: ee26 9aa5 vmul.f32 s18, s13, s11 7001de7c: ee67 7aa8 vmul.f32 s15, s15, s17 7001de80: ee27 7a09 vmul.f32 s14, s14, s18 7001de84: ee33 daa7 vadd.f32 s26, s7, s15 7001de88: ee73 ba47 vsub.f32 s23, s6, s14 7001de8c: ee32 ca47 vsub.f32 s24, s4, s14 7001de90: ee72 caa7 vadd.f32 s25, s5, s15 7001de94: ed83 da65 vstr s26, [r3, #404] @ 0x194 7001de98: ee32 ba07 vadd.f32 s22, s4, s14 7001de9c: edc3 ba64 vstr s23, [r3, #400] @ 0x190 7001dea0: ee72 aae7 vsub.f32 s21, s5, s15 7001dea4: ed83 ca66 vstr s24, [r3, #408] @ 0x198 7001dea8: ee33 8a07 vadd.f32 s16, s6, s14 7001deac: edc3 ca67 vstr s25, [r3, #412] @ 0x19c 7001deb0: ee73 9ae7 vsub.f32 s19, s7, s15 7001deb4: ed83 ba68 vstr s22, [r3, #416] @ 0x1a0 7001deb8: edc3 aa69 vstr s21, [r3, #420] @ 0x1a4 7001debc: ed83 8a6a vstr s16, [r3, #424] @ 0x1a8 7001dec0: edc3 9a6b vstr s19, [r3, #428] @ 0x1ac 7001dec4: 2a00 cmp r2, #0 7001dec6: f000 811d beq.w 7001e104 7001deca: f893 307d ldrb.w r3, [r3, #125] @ 0x7d 7001dece: f013 0310 ands.w r3, r3, #16 7001ded2: f040 8093 bne.w 7001dffc 7001ded6: 2201 movs r2, #1 7001ded8: 4619 mov r1, r3 7001deda: 4610 mov r0, r2 7001dedc: f7fb f9ae bl 7001923c 7001dee0: 4680 mov r8, r0 7001dee2: 682c ldr r4, [r5, #0] 7001dee4: edd4 7a61 vldr s15, [r4, #388] @ 0x184 7001dee8: eef5 7ac0 vcmpe.f32 s15, #0.0 7001deec: eef1 fa10 vmrs APSR_nzcv, fpscr 7001def0: dd5c ble.n 7001dfac 7001def2: f504 73b2 add.w r3, r4, #356 @ 0x164 7001def6: af03 add r7, sp, #12 7001def8: f504 72b6 add.w r2, r4, #364 @ 0x16c 7001defc: f10d 0a14 add.w sl, sp, #20 7001df00: f10d 091c add.w r9, sp, #28 7001df04: f10d 0b24 add.w fp, sp, #36 @ 0x24 7001df08: e893 0003 ldmia.w r3, {r0, r1} 7001df0c: f504 73ba add.w r3, r4, #372 @ 0x174 7001df10: e887 0003 stmia.w r7, {r0, r1} 7001df14: e892 0003 ldmia.w r2, {r0, r1} 7001df18: e88a 0003 stmia.w sl, {r0, r1} 7001df1c: e893 0003 ldmia.w r3, {r0, r1} 7001df20: 2301 movs r3, #1 7001df22: e889 0003 stmia.w r9, {r0, r1} 7001df26: f504 71be add.w r1, r4, #380 @ 0x17c 7001df2a: c903 ldmia r1, {r0, r1} 7001df2c: f884 31c3 strb.w r3, [r4, #451] @ 0x1c3 7001df30: f8d4 311c ldr.w r3, [r4, #284] @ 0x11c 7001df34: e88b 0003 stmia.w fp, {r0, r1} 7001df38: b923 cbnz r3, 7001df44 7001df3a: f8d4 3090 ldr.w r3, [r4, #144] @ 0x90 7001df3e: 0799 lsls r1, r3, #30 7001df40: f140 8182 bpl.w 7001e248 7001df44: eddd 3a0a vldr s7, [sp, #40] @ 0x28 7001df48: ed9d 3a09 vldr s6, [sp, #36] @ 0x24 7001df4c: eddd 2a08 vldr s5, [sp, #32] 7001df50: ed9d 2a07 vldr s4, [sp, #28] 7001df54: eddd 1a06 vldr s3, [sp, #24] 7001df58: ed9d 1a05 vldr s2, [sp, #20] 7001df5c: eddd 0a04 vldr s1, [sp, #16] 7001df60: ed9d 0a03 vldr s0, [sp, #12] 7001df64: f7fb fbf2 bl 7001974c 7001df68: 682c ldr r4, [r5, #0] 7001df6a: edd4 7a62 vldr s15, [r4, #392] @ 0x188 7001df6e: ed94 7a63 vldr s14, [r4, #396] @ 0x18c 7001df72: ee69 7a27 vmul.f32 s15, s18, s15 7001df76: ee28 7a87 vmul.f32 s14, s17, s14 7001df7a: ee77 7ac7 vsub.f32 s15, s15, s14 7001df7e: ed9f 7a71 vldr s14, [pc, #452] @ 7001e144 7001df82: eef5 7ac0 vcmpe.f32 s15, #0.0 7001df86: eef1 fa10 vmrs APSR_nzcv, fpscr 7001df8a: bf48 it mi 7001df8c: eef1 7a67 vnegmi.f32 s15, s15 7001df90: eef4 7ac7 vcmpe.f32 s15, s14 7001df94: eef1 fa10 vmrs APSR_nzcv, fpscr 7001df98: f200 80d6 bhi.w 7001e148 7001df9c: edd4 ba5b vldr s23, [r4, #364] @ 0x16c 7001dfa0: ed94 da5c vldr s26, [r4, #368] @ 0x170 7001dfa4: ed94 8a5d vldr s16, [r4, #372] @ 0x174 7001dfa8: edd4 9a5e vldr s19, [r4, #376] @ 0x178 7001dfac: edd4 7a56 vldr s15, [r4, #344] @ 0x158 7001dfb0: f8d4 7128 ldr.w r7, [r4, #296] @ 0x128 7001dfb4: eef5 7ac0 vcmpe.f32 s15, #0.0 7001dfb8: eef1 fa10 vmrs APSR_nzcv, fpscr 7001dfbc: dd7a ble.n 7001e0b4 7001dfbe: 2f01 cmp r7, #1 7001dfc0: d024 beq.n 7001e00c 7001dfc2: 3701 adds r7, #1 7001dfc4: f8c4 7128 str.w r7, [r4, #296] @ 0x128 7001dfc8: 4640 mov r0, r8 7001dfca: edc4 ba59 vstr s23, [r4, #356] @ 0x164 7001dfce: ed84 da5a vstr s26, [r4, #360] @ 0x168 7001dfd2: ed84 ca5b vstr s24, [r4, #364] @ 0x16c 7001dfd6: edc4 ca5c vstr s25, [r4, #368] @ 0x170 7001dfda: ed84 ba5d vstr s22, [r4, #372] @ 0x174 7001dfde: edc4 aa5e vstr s21, [r4, #376] @ 0x178 7001dfe2: ed84 8a5f vstr s16, [r4, #380] @ 0x17c 7001dfe6: edc4 9a60 vstr s19, [r4, #384] @ 0x180 7001dfea: ed84 aa61 vstr s20, [r4, #388] @ 0x184 7001dfee: edc4 8a62 vstr s17, [r4, #392] @ 0x188 7001dff2: ed84 9a63 vstr s18, [r4, #396] @ 0x18c 7001dff6: f7fb f93f bl 70019278 7001dffa: e721 b.n 7001de40 7001dffc: 2300 movs r3, #0 7001dffe: 461a mov r2, r3 7001e000: 4619 mov r1, r3 7001e002: 4618 mov r0, r3 7001e004: f7fb f91a bl 7001923c 7001e008: 4680 mov r8, r0 7001e00a: e76a b.n 7001dee2 7001e00c: edd4 7a57 vldr s15, [r4, #348] @ 0x15c 7001e010: ed94 7a58 vldr s14, [r4, #352] @ 0x160 7001e014: ee69 7a27 vmul.f32 s15, s18, s15 7001e018: ee28 7a87 vmul.f32 s14, s17, s14 7001e01c: ee77 7ac7 vsub.f32 s15, s15, s14 7001e020: ed9f 7a48 vldr s14, [pc, #288] @ 7001e144 7001e024: eef5 7ac0 vcmpe.f32 s15, #0.0 7001e028: eef1 fa10 vmrs APSR_nzcv, fpscr 7001e02c: bf48 it mi 7001e02e: eef1 7a67 vnegmi.f32 s15, s15 7001e032: eef4 7ac7 vcmpe.f32 s15, s14 7001e036: eef1 fa10 vmrs APSR_nzcv, fpscr 7001e03a: f240 80c8 bls.w 7001e1ce 7001e03e: f504 71a0 add.w r1, r4, #320 @ 0x140 7001e042: af03 add r7, sp, #12 7001e044: f504 73a4 add.w r3, r4, #328 @ 0x148 7001e048: f10d 091c add.w r9, sp, #28 7001e04c: 2e01 cmp r6, #1 7001e04e: edcd ba05 vstr s23, [sp, #20] 7001e052: ed8d da06 vstr s26, [sp, #24] 7001e056: ed8d 8a09 vstr s16, [sp, #36] @ 0x24 7001e05a: edcd 9a0a vstr s19, [sp, #40] @ 0x28 7001e05e: c903 ldmia r1, {r0, r1} 7001e060: e887 0003 stmia.w r7, {r0, r1} 7001e064: e893 0003 ldmia.w r3, {r0, r1} 7001e068: e889 0003 stmia.w r9, {r0, r1} 7001e06c: f000 8104 beq.w 7001e278 7001e070: 2301 movs r3, #1 7001e072: f884 31c3 strb.w r3, [r4, #451] @ 0x1c3 7001e076: f8d4 311c ldr.w r3, [r4, #284] @ 0x11c 7001e07a: b923 cbnz r3, 7001e086 7001e07c: f8d4 3090 ldr.w r3, [r4, #144] @ 0x90 7001e080: 079b lsls r3, r3, #30 7001e082: f140 8139 bpl.w 7001e2f8 7001e086: eef0 3a69 vmov.f32 s7, s19 7001e08a: eeb0 3a48 vmov.f32 s6, s16 7001e08e: eef0 1a4d vmov.f32 s3, s26 7001e092: eeb0 1a6b vmov.f32 s2, s23 7001e096: eddd 2a08 vldr s5, [sp, #32] 7001e09a: ed9d 2a07 vldr s4, [sp, #28] 7001e09e: eddd 0a04 vldr s1, [sp, #16] 7001e0a2: ed9d 0a03 vldr s0, [sp, #12] 7001e0a6: f7fb fb51 bl 7001974c 7001e0aa: 682c ldr r4, [r5, #0] 7001e0ac: f8d4 7128 ldr.w r7, [r4, #296] @ 0x128 7001e0b0: edd4 7a56 vldr s15, [r4, #344] @ 0x158 7001e0b4: eef5 7a40 vcmp.f32 s15, #0.0 7001e0b8: 3701 adds r7, #1 7001e0ba: f8c4 7128 str.w r7, [r4, #296] @ 0x128 7001e0be: eef1 fa10 vmrs APSR_nzcv, fpscr 7001e0c2: d181 bne.n 7001dfc8 7001e0c4: edc4 ba4e vstr s23, [r4, #312] @ 0x138 7001e0c8: 4640 mov r0, r8 7001e0ca: ed84 da4f vstr s26, [r4, #316] @ 0x13c 7001e0ce: ed84 ca50 vstr s24, [r4, #320] @ 0x140 7001e0d2: edc4 ca51 vstr s25, [r4, #324] @ 0x144 7001e0d6: ed84 ba52 vstr s22, [r4, #328] @ 0x148 7001e0da: edc4 aa53 vstr s21, [r4, #332] @ 0x14c 7001e0de: ed84 8a54 vstr s16, [r4, #336] @ 0x150 7001e0e2: edc4 9a55 vstr s19, [r4, #340] @ 0x154 7001e0e6: ed84 aa56 vstr s20, [r4, #344] @ 0x158 7001e0ea: edc4 8a57 vstr s17, [r4, #348] @ 0x15c 7001e0ee: ed84 9a58 vstr s18, [r4, #352] @ 0x160 7001e0f2: 2400 movs r4, #0 7001e0f4: f7fb f8c0 bl 70019278 7001e0f8: 4620 mov r0, r4 7001e0fa: b017 add sp, #92 @ 0x5c 7001e0fc: ecbd 8b0c vpop {d8-d13} 7001e100: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001e104: f8d3 008c ldr.w r0, [r3, #140] @ 0x8c 7001e108: f7fb f8b6 bl 70019278 7001e10c: 4604 mov r4, r0 7001e10e: eef0 3a69 vmov.f32 s7, s19 7001e112: eeb0 3a48 vmov.f32 s6, s16 7001e116: eef0 2a6a vmov.f32 s5, s21 7001e11a: eeb0 2a4b vmov.f32 s4, s22 7001e11e: eef0 1a6c vmov.f32 s3, s25 7001e122: eeb0 1a4c vmov.f32 s2, s24 7001e126: eef0 0a4d vmov.f32 s1, s26 7001e12a: eeb0 0a6b vmov.f32 s0, s23 7001e12e: f7fb fb0d bl 7001974c 7001e132: 4620 mov r0, r4 7001e134: f7fb f8a0 bl 70019278 7001e138: e682 b.n 7001de40 7001e13a: bf00 nop 7001e13c: 3727c5ac .word 0x3727c5ac 7001e140: 2400dc78 .word 0x2400dc78 7001e144: 3d4ccccd .word 0x3d4ccccd 7001e148: f504 72b6 add.w r2, r4, #364 @ 0x16c 7001e14c: f504 73ba add.w r3, r4, #372 @ 0x174 7001e150: 2e01 cmp r6, #1 7001e152: edcd ba05 vstr s23, [sp, #20] 7001e156: ed8d da06 vstr s26, [sp, #24] 7001e15a: ed8d 8a09 vstr s16, [sp, #36] @ 0x24 7001e15e: edcd 9a0a vstr s19, [sp, #40] @ 0x28 7001e162: e892 0003 ldmia.w r2, {r0, r1} 7001e166: e887 0003 stmia.w r7, {r0, r1} 7001e16a: e893 0003 ldmia.w r3, {r0, r1} 7001e16e: e889 0003 stmia.w r9, {r0, r1} 7001e172: d070 beq.n 7001e256 7001e174: 2301 movs r3, #1 7001e176: f884 31c3 strb.w r3, [r4, #451] @ 0x1c3 7001e17a: f8d4 311c ldr.w r3, [r4, #284] @ 0x11c 7001e17e: b19b cbz r3, 7001e1a8 7001e180: eef0 3a69 vmov.f32 s7, s19 7001e184: eeb0 3a48 vmov.f32 s6, s16 7001e188: eef0 1a4d vmov.f32 s3, s26 7001e18c: eeb0 1a6b vmov.f32 s2, s23 7001e190: eddd 2a08 vldr s5, [sp, #32] 7001e194: ed9d 2a07 vldr s4, [sp, #28] 7001e198: eddd 0a04 vldr s1, [sp, #16] 7001e19c: ed9d 0a03 vldr s0, [sp, #12] 7001e1a0: f7fb fad4 bl 7001974c 7001e1a4: 682c ldr r4, [r5, #0] 7001e1a6: e701 b.n 7001dfac 7001e1a8: f8d4 3090 ldr.w r3, [r4, #144] @ 0x90 7001e1ac: 079a lsls r2, r3, #30 7001e1ae: d4e7 bmi.n 7001e180 7001e1b0: 465b mov r3, fp 7001e1b2: 464a mov r2, r9 7001e1b4: 4651 mov r1, sl 7001e1b6: 4638 mov r0, r7 7001e1b8: f7fe fe8c bl 7001ced4 7001e1bc: ed9d 1a05 vldr s2, [sp, #20] 7001e1c0: eddd 1a06 vldr s3, [sp, #24] 7001e1c4: ed9d 3a09 vldr s6, [sp, #36] @ 0x24 7001e1c8: eddd 3a0a vldr s7, [sp, #40] @ 0x28 7001e1cc: e7e0 b.n 7001e190 7001e1ce: edd4 6a55 vldr s13, [r4, #340] @ 0x154 7001e1d2: eeb6 0a00 vmov.f32 s0, #96 @ 0x3f000000 0.5 7001e1d6: ed94 7a54 vldr s14, [r4, #336] @ 0x150 7001e1da: a80b add r0, sp, #44 @ 0x2c 7001e1dc: edd4 0a4f vldr s1, [r4, #316] @ 0x13c 7001e1e0: edd4 7a4e vldr s15, [r4, #312] @ 0x138 7001e1e4: ee70 0aa6 vadd.f32 s1, s1, s13 7001e1e8: edcd ba0b vstr s23, [sp, #44] @ 0x2c 7001e1ec: ee77 7a87 vadd.f32 s15, s15, s14 7001e1f0: ed8d da0c vstr s26, [sp, #48] @ 0x30 7001e1f4: ed8d 8a11 vstr s16, [sp, #68] @ 0x44 7001e1f8: ee60 0a80 vmul.f32 s1, s1, s0 7001e1fc: edcd 9a12 vstr s19, [sp, #72] @ 0x48 7001e200: ee27 0a80 vmul.f32 s0, s15, s0 7001e204: ed8d ca0d vstr s24, [sp, #52] @ 0x34 7001e208: edcd ca0e vstr s25, [sp, #56] @ 0x38 7001e20c: ed8d ba0f vstr s22, [sp, #60] @ 0x3c 7001e210: edcd aa10 vstr s21, [sp, #64] @ 0x40 7001e214: f7fc fd44 bl 7001aca0 7001e218: edd4 ba50 vldr s23, [r4, #320] @ 0x140 7001e21c: ed94 8a52 vldr s16, [r4, #328] @ 0x148 7001e220: ed94 da51 vldr s26, [r4, #324] @ 0x144 7001e224: edd4 9a53 vldr s19, [r4, #332] @ 0x14c 7001e228: 2800 cmp r0, #0 7001e22a: f43f aeca beq.w 7001dfc2 7001e22e: eeb0 7a4d vmov.f32 s14, s26 7001e232: eef0 7a6b vmov.f32 s15, s23 7001e236: eeb0 da69 vmov.f32 s26, s19 7001e23a: eef0 ba48 vmov.f32 s23, s16 7001e23e: eef0 9a47 vmov.f32 s19, s14 7001e242: eeb0 8a67 vmov.f32 s16, s15 7001e246: e6bc b.n 7001dfc2 7001e248: 465b mov r3, fp 7001e24a: 464a mov r2, r9 7001e24c: 4651 mov r1, sl 7001e24e: 4638 mov r0, r7 7001e250: f7fe fe40 bl 7001ced4 7001e254: e676 b.n 7001df44 7001e256: 4638 mov r0, r7 7001e258: 2700 movs r7, #0 7001e25a: 465b mov r3, fp 7001e25c: 464a mov r2, r9 7001e25e: 4651 mov r1, sl 7001e260: 9700 str r7, [sp, #0] 7001e262: f7fe ffcf bl 7001d204 7001e266: 4604 mov r4, r0 7001e268: 2800 cmp r0, #0 7001e26a: d09b beq.n 7001e1a4 7001e26c: 682b ldr r3, [r5, #0] 7001e26e: e9c3 7745 strd r7, r7, [r3, #276] @ 0x114 7001e272: f009 fb6d bl 70027950 7001e276: e5e4 b.n 7001de42 7001e278: edd4 7a52 vldr s15, [r4, #328] @ 0x148 7001e27c: eeb6 6a00 vmov.f32 s12, #96 @ 0x3f000000 0.5 7001e280: edd4 6a50 vldr s13, [r4, #320] @ 0x140 7001e284: ee3b 0a88 vadd.f32 s0, s23, s16 7001e288: ed94 7a51 vldr s14, [r4, #324] @ 0x144 7001e28c: edd4 5a53 vldr s11, [r4, #332] @ 0x14c 7001e290: ee76 6aa7 vadd.f32 s13, s13, s15 7001e294: ee79 7a8d vadd.f32 s15, s19, s26 7001e298: ee37 7a25 vadd.f32 s14, s14, s11 7001e29c: ee66 6a86 vmul.f32 s13, s13, s12 7001e2a0: ee20 0a06 vmul.f32 s0, s0, s12 7001e2a4: ee67 7a86 vmul.f32 s15, s15, s12 7001e2a8: ee27 7a06 vmul.f32 s14, s14, s12 7001e2ac: ee30 0a66 vsub.f32 s0, s0, s13 7001e2b0: ee77 7ac7 vsub.f32 s15, s15, s14 7001e2b4: ee20 0a00 vmul.f32 s0, s0, s0 7001e2b8: ee67 7aa7 vmul.f32 s15, s15, s15 7001e2bc: ee30 0a27 vadd.f32 s0, s0, s15 7001e2c0: f7fa fbf2 bl 70018aa8 7001e2c4: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 7001e2c8: eeb4 0ae7 vcmpe.f32 s0, s15 7001e2cc: eef1 fa10 vmrs APSR_nzcv, fpscr 7001e2d0: f63f aeeb bhi.w 7001e0aa 7001e2d4: 2600 movs r6, #0 7001e2d6: 464a mov r2, r9 7001e2d8: 4638 mov r0, r7 7001e2da: ab09 add r3, sp, #36 @ 0x24 7001e2dc: a905 add r1, sp, #20 7001e2de: 9600 str r6, [sp, #0] 7001e2e0: f7fe ff90 bl 7001d204 7001e2e4: 4604 mov r4, r0 7001e2e6: 2800 cmp r0, #0 7001e2e8: f43f aedf beq.w 7001e0aa 7001e2ec: 682b ldr r3, [r5, #0] 7001e2ee: e9c3 6645 strd r6, r6, [r3, #276] @ 0x114 7001e2f2: f009 fb2d bl 70027950 7001e2f6: e5a4 b.n 7001de42 7001e2f8: ab09 add r3, sp, #36 @ 0x24 7001e2fa: 464a mov r2, r9 7001e2fc: 4638 mov r0, r7 7001e2fe: a905 add r1, sp, #20 7001e300: f7fe fde8 bl 7001ced4 7001e304: ed9d 1a05 vldr s2, [sp, #20] 7001e308: eddd 1a06 vldr s3, [sp, #24] 7001e30c: ed9d 3a09 vldr s6, [sp, #36] @ 0x24 7001e310: eddd 3a0a vldr s7, [sp, #40] @ 0x28 7001e314: e6bf b.n 7001e096 7001e316: bf00 nop 7001e318 : 7001e318: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7001e31c: ed2d 8b06 vpush {d8-d10} 7001e320: b091 sub sp, #68 @ 0x44 7001e322: f04f 0a01 mov.w sl, #1 7001e326: f8df b250 ldr.w fp, [pc, #592] @ 7001e578 7001e32a: eeb6 8a00 vmov.f32 s16, #96 @ 0x3f000000 0.5 7001e32e: aa08 add r2, sp, #32 7001e330: f10d 0928 add.w r9, sp, #40 @ 0x28 7001e334: ab02 add r3, sp, #8 7001e336: ed8d 0a08 vstr s0, [sp, #32] 7001e33a: edcd 0a09 vstr s1, [sp, #36] @ 0x24 7001e33e: eeb0 aa41 vmov.f32 s20, s2 7001e342: eef0 9a61 vmov.f32 s19, s3 7001e346: af0c add r7, sp, #48 @ 0x30 7001e348: eeb0 9a42 vmov.f32 s18, s4 7001e34c: ed8d 3a02 vstr s6, [sp, #8] 7001e350: eef0 8a62 vmov.f32 s17, s5 7001e354: edcd 3a03 vstr s7, [sp, #12] 7001e358: 46d0 mov r8, sl 7001e35a: 4655 mov r5, sl 7001e35c: ae0e add r6, sp, #56 @ 0x38 7001e35e: ed8d 1a06 vstr s2, [sp, #24] 7001e362: edcd 1a07 vstr s3, [sp, #28] 7001e366: ed8d 2a04 vstr s4, [sp, #16] 7001e36a: edcd 2a05 vstr s5, [sp, #20] 7001e36e: e892 0003 ldmia.w r2, {r0, r1} 7001e372: f8db 2000 ldr.w r2, [fp] 7001e376: e889 0003 stmia.w r9, {r0, r1} 7001e37a: e893 0003 ldmia.w r3, {r0, r1} 7001e37e: e887 0003 stmia.w r7, {r0, r1} 7001e382: eddd 7a0a vldr s15, [sp, #40] @ 0x28 7001e386: ee3a 6a09 vadd.f32 s12, s20, s18 7001e38a: ed9d 2a0c vldr s4, [sp, #48] @ 0x30 7001e38e: ee78 6aa9 vadd.f32 s13, s17, s19 7001e392: ee77 3a8a vadd.f32 s7, s15, s20 7001e396: ed9d 7a0b vldr s14, [sp, #44] @ 0x2c 7001e39a: ee32 4a09 vadd.f32 s8, s4, s18 7001e39e: eddd 2a0d vldr s5, [sp, #52] @ 0x34 7001e3a2: ee37 3a29 vadd.f32 s6, s14, s19 7001e3a6: ee26 6a08 vmul.f32 s12, s12, s16 7001e3aa: ee63 3a88 vmul.f32 s7, s7, s16 7001e3ae: ee24 4a08 vmul.f32 s8, s8, s16 7001e3b2: ee72 4aa8 vadd.f32 s9, s5, s17 7001e3b6: ee66 6a88 vmul.f32 s13, s13, s16 7001e3ba: ee73 1a86 vadd.f32 s3, s7, s12 7001e3be: ee23 3a08 vmul.f32 s6, s6, s16 7001e3c2: ee36 6a04 vadd.f32 s12, s12, s8 7001e3c6: ee64 4a88 vmul.f32 s9, s9, s16 7001e3ca: ee33 1a26 vadd.f32 s2, s6, s13 7001e3ce: ee61 1a88 vmul.f32 s3, s3, s16 7001e3d2: ee26 6a08 vmul.f32 s12, s12, s16 7001e3d6: ee76 6aa4 vadd.f32 s13, s13, s9 7001e3da: ee77 7a82 vadd.f32 s15, s15, s4 7001e3de: ee21 1a08 vmul.f32 s2, s2, s16 7001e3e2: ee31 5a86 vadd.f32 s10, s3, s12 7001e3e6: ee66 6a88 vmul.f32 s13, s13, s16 7001e3ea: ee37 7a22 vadd.f32 s14, s14, s5 7001e3ee: ee25 5a08 vmul.f32 s10, s10, s16 7001e3f2: ee67 7a88 vmul.f32 s15, s15, s16 7001e3f6: ee71 5a26 vadd.f32 s11, s2, s13 7001e3fa: ee27 7a08 vmul.f32 s14, s14, s16 7001e3fe: ed8d 5a0e vstr s10, [sp, #56] @ 0x38 7001e402: ee77 7ac5 vsub.f32 s15, s15, s10 7001e406: ee65 5a88 vmul.f32 s11, s11, s16 7001e40a: eef5 7ac0 vcmpe.f32 s15, #0.0 7001e40e: ee37 7a65 vsub.f32 s14, s14, s11 7001e412: edcd 5a0f vstr s11, [sp, #60] @ 0x3c 7001e416: eef1 fa10 vmrs APSR_nzcv, fpscr 7001e41a: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001e41e: bf48 it mi 7001e420: eef1 7a67 vnegmi.f32 s15, s15 7001e424: eef1 fa10 vmrs APSR_nzcv, fpscr 7001e428: bf48 it mi 7001e42a: eeb1 7a47 vnegmi.f32 s14, s14 7001e42e: f1b8 0f00 cmp.w r8, #0 7001e432: d130 bne.n 7001e496 7001e434: eef4 7ac8 vcmpe.f32 s15, s16 7001e438: eef1 fa10 vmrs APSR_nzcv, fpscr 7001e43c: d52b bpl.n 7001e496 7001e43e: eeb4 7ac8 vcmpe.f32 s14, s16 7001e442: eef1 fa10 vmrs APSR_nzcv, fpscr 7001e446: d526 bpl.n 7001e496 7001e448: f892 32f4 ldrb.w r3, [r2, #756] @ 0x2f4 7001e44c: 2b00 cmp r3, #0 7001e44e: d14c bne.n 7001e4ea 7001e450: f1ba 0f00 cmp.w sl, #0 7001e454: d003 beq.n 7001e45e 7001e456: f892 21c0 ldrb.w r2, [r2, #448] @ 0x1c0 7001e45a: 2a01 cmp r2, #1 7001e45c: d079 beq.n 7001e552 7001e45e: 2200 movs r2, #0 7001e460: 4631 mov r1, r6 7001e462: 4648 mov r0, r9 7001e464: f7ff fca6 bl 7001ddb4 7001e468: 4604 mov r4, r0 7001e46a: 2800 cmp r0, #0 7001e46c: d14a bne.n 7001e504 7001e46e: 2200 movs r2, #0 7001e470: 4639 mov r1, r7 7001e472: 4630 mov r0, r6 7001e474: f7ff fc9e bl 7001ddb4 7001e478: 4604 mov r4, r0 7001e47a: 2800 cmp r0, #0 7001e47c: d142 bne.n 7001e504 7001e47e: f8db 2000 ldr.w r2, [fp] 7001e482: f8d2 32bc ldr.w r3, [r2, #700] @ 0x2bc 7001e486: 2b00 cmp r3, #0 7001e488: d149 bne.n 7001e51e 7001e48a: 3d01 subs r5, #1 7001e48c: 2d00 cmp r5, #0 7001e48e: f47f af78 bne.w 7001e382 7001e492: 462c mov r4, r5 7001e494: e03d b.n 7001e512 7001e496: f8d2 32bc ldr.w r3, [r2, #700] @ 0x2bc 7001e49a: 2b09 cmp r3, #9 7001e49c: dcd4 bgt.n 7001e448 7001e49e: eb03 0143 add.w r1, r3, r3, lsl #1 7001e4a2: 3501 adds r5, #1 7001e4a4: 3301 adds r3, #1 7001e4a6: eef0 8a41 vmov.f32 s17, s2 7001e4aa: eb02 01c1 add.w r1, r2, r1, lsl #3 7001e4ae: eeb0 9a61 vmov.f32 s18, s3 7001e4b2: eef0 9a43 vmov.f32 s19, s6 7001e4b6: f04f 0800 mov.w r8, #0 7001e4ba: ed81 6a73 vstr s12, [r1, #460] @ 0x1cc 7001e4be: eeb0 aa63 vmov.f32 s20, s7 7001e4c2: edc1 6a74 vstr s13, [r1, #464] @ 0x1d0 7001e4c6: ed81 4a75 vstr s8, [r1, #468] @ 0x1d4 7001e4ca: edc1 4a76 vstr s9, [r1, #472] @ 0x1d8 7001e4ce: ed81 2a77 vstr s4, [r1, #476] @ 0x1dc 7001e4d2: edc1 2a78 vstr s5, [r1, #480] @ 0x1e0 7001e4d6: f8c2 32bc str.w r3, [r2, #700] @ 0x2bc 7001e4da: e896 0003 ldmia.w r6, {r0, r1} 7001e4de: e887 0003 stmia.w r7, {r0, r1} 7001e4e2: 2d00 cmp r5, #0 7001e4e4: f47f af4d bne.w 7001e382 7001e4e8: e7d3 b.n 7001e492 7001e4ea: 4631 mov r1, r6 7001e4ec: 4648 mov r0, r9 7001e4ee: f009 fb05 bl 70027afc 7001e4f2: 4604 mov r4, r0 7001e4f4: b930 cbnz r0, 7001e504 7001e4f6: 4639 mov r1, r7 7001e4f8: 4630 mov r0, r6 7001e4fa: f009 faff bl 70027afc 7001e4fe: 4604 mov r4, r0 7001e500: 2800 cmp r0, #0 7001e502: d0bc beq.n 7001e47e 7001e504: f8db 3000 ldr.w r3, [fp] 7001e508: 2200 movs r2, #0 7001e50a: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001e50e: f009 fa1f bl 70027950 7001e512: 4620 mov r0, r4 7001e514: b011 add sp, #68 @ 0x44 7001e516: ecbd 8b06 vpop {d8-d10} 7001e51a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001e51e: 3b01 subs r3, #1 7001e520: 990c ldr r1, [sp, #48] @ 0x30 7001e522: f8c2 32bc str.w r3, [r2, #700] @ 0x2bc 7001e526: eb03 0343 add.w r3, r3, r3, lsl #1 7001e52a: 910a str r1, [sp, #40] @ 0x28 7001e52c: eb02 03c3 add.w r3, r2, r3, lsl #3 7001e530: 990d ldr r1, [sp, #52] @ 0x34 7001e532: ed93 aa73 vldr s20, [r3, #460] @ 0x1cc 7001e536: edd3 9a74 vldr s19, [r3, #464] @ 0x1d0 7001e53a: ed93 9a75 vldr s18, [r3, #468] @ 0x1d4 7001e53e: edd3 8a76 vldr s17, [r3, #472] @ 0x1d8 7001e542: 910b str r1, [sp, #44] @ 0x2c 7001e544: f8d3 11dc ldr.w r1, [r3, #476] @ 0x1dc 7001e548: f8d3 31e0 ldr.w r3, [r3, #480] @ 0x1e0 7001e54c: 910c str r1, [sp, #48] @ 0x30 7001e54e: 930d str r3, [sp, #52] @ 0x34 7001e550: e79b b.n 7001e48a 7001e552: 4652 mov r2, sl 7001e554: 4631 mov r1, r6 7001e556: 4648 mov r0, r9 7001e558: 9301 str r3, [sp, #4] 7001e55a: f7ff fc2b bl 7001ddb4 7001e55e: 9b01 ldr r3, [sp, #4] 7001e560: 4604 mov r4, r0 7001e562: b908 cbnz r0, 7001e568 7001e564: 4682 mov sl, r0 7001e566: e782 b.n 7001e46e 7001e568: f8db 2000 ldr.w r2, [fp] 7001e56c: e9c2 3345 strd r3, r3, [r2, #276] @ 0x114 7001e570: f009 f9ee bl 70027950 7001e574: e7cd b.n 7001e512 7001e576: bf00 nop 7001e578: 2400dc78 .word 0x2400dc78 7001e57c : 7001e57c: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 7001e580: 4d64 ldr r5, [pc, #400] @ (7001e714 ) 7001e582: 4604 mov r4, r0 7001e584: ed2d 8b02 vpush {d8} 7001e588: 682b ldr r3, [r5, #0] 7001e58a: f893 607c ldrb.w r6, [r3, #124] @ 0x7c 7001e58e: 2e00 cmp r6, #0 7001e590: f000 8096 beq.w 7001e6c0 7001e594: 2e01 cmp r6, #1 7001e596: d073 beq.n 7001e680 7001e598: eeb6 8a00 vmov.f32 s16, #96 @ 0x3f000000 0.5 7001e59c: ed90 7a03 vldr s14, [r0, #12] 7001e5a0: edd0 7a04 vldr s15, [r0, #16] 7001e5a4: ee37 7a08 vadd.f32 s14, s14, s16 7001e5a8: ee77 7a88 vadd.f32 s15, s15, s16 7001e5ac: ed83 7ab0 vstr s14, [r3, #704] @ 0x2c0 7001e5b0: eebd 7ac7 vcvt.s32.f32 s14, s14 7001e5b4: edc3 7ab1 vstr s15, [r3, #708] @ 0x2c4 7001e5b8: eefd 7ae7 vcvt.s32.f32 s15, s15 7001e5bc: ee17 2a10 vmov r2, s14 7001e5c0: 0412 lsls r2, r2, #16 7001e5c2: f8c3 22d0 str.w r2, [r3, #720] @ 0x2d0 7001e5c6: ee17 2a90 vmov r2, s15 7001e5ca: 0412 lsls r2, r2, #16 7001e5cc: e9d3 76b2 ldrd r7, r6, [r3, #712] @ 0x2c8 7001e5d0: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 7001e5d4: ed83 7ab2 vstr s14, [r3, #712] @ 0x2c8 7001e5d8: edc3 7ab3 vstr s15, [r3, #716] @ 0x2cc 7001e5dc: ed90 0a03 vldr s0, [r0, #12] 7001e5e0: f7fa fabc bl 70018b5c 7001e5e4: ed94 0a04 vldr s0, [r4, #16] 7001e5e8: 4680 mov r8, r0 7001e5ea: f7fa fab7 bl 70018b5c 7001e5ee: 4681 mov r9, r0 7001e5f0: 2002 movs r0, #2 7001e5f2: f00b f9b1 bl 70029958 7001e5f6: 4603 mov r3, r0 7001e5f8: 2800 cmp r0, #0 7001e5fa: d07c beq.n 7001e6f6 7001e5fc: f44f 7290 mov.w r2, #288 @ 0x120 7001e600: f8c0 8004 str.w r8, [r0, #4] 7001e604: f8c0 900c str.w r9, [r0, #12] 7001e608: 6002 str r2, [r0, #0] 7001e60a: f44f 7292 mov.w r2, #292 @ 0x124 7001e60e: 6082 str r2, [r0, #8] 7001e610: ed94 3a05 vldr s6, [r4, #20] 7001e614: edd4 3a06 vldr s7, [r4, #24] 7001e618: ed94 2a09 vldr s4, [r4, #36] @ 0x24 7001e61c: edd4 2a0a vldr s5, [r4, #40] @ 0x28 7001e620: ed94 1a07 vldr s2, [r4, #28] 7001e624: edd4 1a08 vldr s3, [r4, #32] 7001e628: ed94 0a03 vldr s0, [r4, #12] 7001e62c: edd4 0a04 vldr s1, [r4, #16] 7001e630: f7fc feea bl 7001b408 7001e634: 4604 mov r4, r0 7001e636: bbc0 cbnz r0, 7001e6aa 7001e638: ee07 7a90 vmov s15, r7 7001e63c: 682b ldr r3, [r5, #0] 7001e63e: eeb8 7ae7 vcvt.f32.s32 s14, s15 7001e642: ee07 6a90 vmov s15, r6 7001e646: eef8 7ae7 vcvt.f32.s32 s15, s15 7001e64a: ee37 7a08 vadd.f32 s14, s14, s16 7001e64e: ee77 7a88 vadd.f32 s15, s15, s16 7001e652: eefd 6ac7 vcvt.s32.f32 s13, s14 7001e656: ed83 7ab0 vstr s14, [r3, #704] @ 0x2c0 7001e65a: edc3 7ab1 vstr s15, [r3, #708] @ 0x2c4 7001e65e: ee16 1a90 vmov r1, s13 7001e662: eefd 6ae7 vcvt.s32.f32 s13, s15 7001e666: 0408 lsls r0, r1, #16 7001e668: ee16 2a90 vmov r2, s13 7001e66c: e9c3 12b2 strd r1, r2, [r3, #712] @ 0x2c8 7001e670: 0412 lsls r2, r2, #16 7001e672: e9c3 02b4 strd r0, r2, [r3, #720] @ 0x2d0 7001e676: ecbd 8b02 vpop {d8} 7001e67a: 4620 mov r0, r4 7001e67c: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 7001e680: ed90 3a05 vldr s6, [r0, #20] 7001e684: edd0 3a06 vldr s7, [r0, #24] 7001e688: ed90 2a09 vldr s4, [r0, #36] @ 0x24 7001e68c: edd0 2a0a vldr s5, [r0, #40] @ 0x28 7001e690: ed90 1a07 vldr s2, [r0, #28] 7001e694: edd0 1a08 vldr s3, [r0, #32] 7001e698: ed90 0a03 vldr s0, [r0, #12] 7001e69c: edd0 0a04 vldr s1, [r0, #16] 7001e6a0: f7fc feb2 bl 7001b408 7001e6a4: 4604 mov r4, r0 7001e6a6: 2800 cmp r0, #0 7001e6a8: d0e5 beq.n 7001e676 7001e6aa: 682b ldr r3, [r5, #0] 7001e6ac: 2200 movs r2, #0 7001e6ae: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001e6b2: f009 f94d bl 70027950 7001e6b6: 4620 mov r0, r4 7001e6b8: ecbd 8b02 vpop {d8} 7001e6bc: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 7001e6c0: ed90 3a05 vldr s6, [r0, #20] 7001e6c4: edd0 3a06 vldr s7, [r0, #24] 7001e6c8: ed90 2a09 vldr s4, [r0, #36] @ 0x24 7001e6cc: edd0 2a0a vldr s5, [r0, #40] @ 0x28 7001e6d0: ed90 1a07 vldr s2, [r0, #28] 7001e6d4: edd0 1a08 vldr s3, [r0, #32] 7001e6d8: ed90 0a03 vldr s0, [r0, #12] 7001e6dc: edd0 0a04 vldr s1, [r0, #16] 7001e6e0: f7ff fe1a bl 7001e318 7001e6e4: 4604 mov r4, r0 7001e6e6: 2800 cmp r0, #0 7001e6e8: d0c5 beq.n 7001e676 7001e6ea: 682b ldr r3, [r5, #0] 7001e6ec: e9c3 6645 strd r6, r6, [r3, #276] @ 0x114 7001e6f0: f009 f92e bl 70027950 7001e6f4: e7bf b.n 7001e676 7001e6f6: 682a ldr r2, [r5, #0] 7001e6f8: f44f 7000 mov.w r0, #512 @ 0x200 7001e6fc: f44f 7400 mov.w r4, #512 @ 0x200 7001e700: e9c2 3345 strd r3, r3, [r2, #276] @ 0x114 7001e704: f009 f924 bl 70027950 7001e708: 4620 mov r0, r4 7001e70a: ecbd 8b02 vpop {d8} 7001e70e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 7001e712: bf00 nop 7001e714: 2400dc78 .word 0x2400dc78 7001e718 : 7001e718: eddf 7ae4 vldr s15, [pc, #912] @ 7001eaac 7001e71c: eeb5 7a00 vmov.f32 s14, #80 @ 0x3e800000 0.250 7001e720: b570 push {r4, r5, r6, lr} 7001e722: ed2d 8b0e vpush {d8-d14} 7001e726: ee20 9aa7 vmul.f32 s18, s1, s15 7001e72a: b092 sub sp, #72 @ 0x48 7001e72c: ee60 9a27 vmul.f32 s19, s0, s15 7001e730: 4604 mov r4, r0 7001e732: 460d mov r5, r1 7001e734: eef0 ba41 vmov.f32 s23, s2 7001e738: eeb0 ba61 vmov.f32 s22, s3 7001e73c: 4edc ldr r6, [pc, #880] @ (7001eab0 ) 7001e73e: ee39 9a69 vsub.f32 s18, s18, s19 7001e742: eef0 ca42 vmov.f32 s25, s4 7001e746: eeb0 ca62 vmov.f32 s24, s5 7001e74a: ee29 0a07 vmul.f32 s0, s18, s14 7001e74e: f01b fb67 bl 70039e20 7001e752: eeb0 8a40 vmov.f32 s16, s0 7001e756: eddf 7ad7 vldr s15, [pc, #860] @ 7001eab4 7001e75a: eeb0 0a49 vmov.f32 s0, s18 7001e75e: ee28 8a27 vmul.f32 s16, s16, s15 7001e762: f01b f985 bl 70039a70 7001e766: eef0 8a40 vmov.f32 s17, s0 7001e76a: eeb0 0a49 vmov.f32 s0, s18 7001e76e: f01b f887 bl 70039880 7001e772: ed94 7a09 vldr s14, [r4, #36] @ 0x24 7001e776: eddf 7ad0 vldr s15, [pc, #832] @ 7001eab8 7001e77a: ee68 da28 vmul.f32 s27, s16, s17 7001e77e: eef0 aa40 vmov.f32 s21, s0 7001e782: f04f 537e mov.w r3, #1065353216 @ 0x3f800000 7001e786: ee87 ea27 vdiv.f32 s28, s14, s15 7001e78a: eddf 7acc vldr s15, [pc, #816] @ 7001eabc 7001e78e: 9307 str r3, [sp, #28] 7001e790: ed8d 8a08 vstr s16, [sp, #32] 7001e794: edcd 8a05 vstr s17, [sp, #20] 7001e798: edcd aa06 vstr s21, [sp, #24] 7001e79c: ee28 7a00 vmul.f32 s14, s16, s0 7001e7a0: ee70 da6d vsub.f32 s27, s0, s27 7001e7a4: eeb0 0a69 vmov.f32 s0, s19 7001e7a8: ee37 da28 vadd.f32 s26, s14, s17 7001e7ac: edcd da0a vstr s27, [sp, #40] @ 0x28 7001e7b0: ed8d da09 vstr s26, [sp, #36] @ 0x24 7001e7b4: ee2e ea27 vmul.f32 s28, s28, s15 7001e7b8: f01b f95a bl 70039a70 7001e7bc: eeb0 aa40 vmov.f32 s20, s0 7001e7c0: eeb0 0a69 vmov.f32 s0, s19 7001e7c4: f01b f85c bl 70039880 7001e7c8: eef0 9a40 vmov.f32 s19, s0 7001e7cc: eeb0 0a4e vmov.f32 s0, s28 7001e7d0: f01b f94e bl 70039a70 7001e7d4: eeb0 9a40 vmov.f32 s18, s0 7001e7d8: eeb0 0a4e vmov.f32 s0, s28 7001e7dc: f01b f850 bl 70039880 7001e7e0: 6833 ldr r3, [r6, #0] 7001e7e2: 07e8 lsls r0, r5, #31 7001e7e4: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001e7e8: f140 80f6 bpl.w 7001e9d8 7001e7ec: f104 010c add.w r1, r4, #12 7001e7f0: f10d 0c0c add.w ip, sp, #12 7001e7f4: c903 ldmia r1, {r0, r1} 7001e7f6: e88c 0003 stmia.w ip, {r0, r1} 7001e7fa: ee68 6a29 vmul.f32 s13, s16, s19 7001e7fe: ed9f 6ab0 vldr s12, [pc, #704] @ 7001eac0 7001e802: ee28 8a0a vmul.f32 s16, s16, s20 7001e806: 07a9 lsls r1, r5, #30 7001e808: ee6d 5aa9 vmul.f32 s11, s27, s19 7001e80c: ee7a 6a66 vsub.f32 s13, s20, s13 7001e810: ee38 8a29 vadd.f32 s16, s16, s19 7001e814: ee6d 7a0a vmul.f32 s15, s26, s20 7001e818: ee2d 7a29 vmul.f32 s14, s26, s19 7001e81c: ee6d da8a vmul.f32 s27, s27, s20 7001e820: ee77 7ae5 vsub.f32 s15, s15, s11 7001e824: ee76 6a86 vadd.f32 s13, s13, s12 7001e828: ee38 8a06 vadd.f32 s16, s16, s12 7001e82c: ee37 7a2d vadd.f32 s14, s14, s27 7001e830: ee66 6aac vmul.f32 s13, s13, s25 7001e834: ee28 8a0c vmul.f32 s16, s16, s24 7001e838: ee77 7a86 vadd.f32 s15, s15, s12 7001e83c: ee37 7a06 vadd.f32 s14, s14, s12 7001e840: ee60 4a08 vmul.f32 s9, s0, s16 7001e844: ee67 7aac vmul.f32 s15, s15, s25 7001e848: ee27 7a0c vmul.f32 s14, s14, s24 7001e84c: ee69 5a26 vmul.f32 s11, s18, s13 7001e850: ee29 5a27 vmul.f32 s10, s18, s15 7001e854: ee60 6a26 vmul.f32 s13, s0, s13 7001e858: ee75 5ae4 vsub.f32 s11, s11, s9 7001e85c: ee60 7a27 vmul.f32 s15, s0, s15 7001e860: ee60 4a07 vmul.f32 s9, s0, s14 7001e864: ee29 8a08 vmul.f32 s16, s18, s16 7001e868: ee29 7a07 vmul.f32 s14, s18, s14 7001e86c: ee35 5a64 vsub.f32 s10, s10, s9 7001e870: ee76 6a88 vadd.f32 s13, s13, s16 7001e874: ee77 7a87 vadd.f32 s15, s15, s14 7001e878: ee75 5aab vadd.f32 s11, s11, s23 7001e87c: ee76 6a8b vadd.f32 s13, s13, s22 7001e880: ee35 7a2b vadd.f32 s14, s10, s23 7001e884: ee77 7a8b vadd.f32 s15, s15, s22 7001e888: edcd 5a07 vstr s11, [sp, #28] 7001e88c: edcd 6a08 vstr s13, [sp, #32] 7001e890: ed8d 7a09 vstr s14, [sp, #36] @ 0x24 7001e894: edcd 7a0a vstr s15, [sp, #40] @ 0x28 7001e898: d51a bpl.n 7001e8d0 7001e89a: f104 0114 add.w r1, r4, #20 7001e89e: ad05 add r5, sp, #20 7001e8a0: c903 ldmia r1, {r0, r1} 7001e8a2: e885 0003 stmia.w r5, {r0, r1} 7001e8a6: 2a00 cmp r2, #0 7001e8a8: f040 80e0 bne.w 7001ea6c 7001e8ac: 4668 mov r0, sp 7001e8ae: f7ff fe65 bl 7001e57c 7001e8b2: 6833 ldr r3, [r6, #0] 7001e8b4: 4605 mov r5, r0 7001e8b6: 2800 cmp r0, #0 7001e8b8: f040 8084 bne.w 7001e9c4 7001e8bc: f893 307c ldrb.w r3, [r3, #124] @ 0x7c 7001e8c0: 2b02 cmp r3, #2 7001e8c2: f000 80e0 beq.w 7001ea86 7001e8c6: 4628 mov r0, r5 7001e8c8: b012 add sp, #72 @ 0x48 7001e8ca: ecbd 8b0e vpop {d8-d14} 7001e8ce: bd70 pop {r4, r5, r6, pc} 7001e8d0: ee28 5a8a vmul.f32 s10, s17, s20 7001e8d4: ee68 8aa9 vmul.f32 s17, s17, s19 7001e8d8: ee6a 9aa9 vmul.f32 s19, s21, s19 7001e8dc: ee6a aa8a vmul.f32 s21, s21, s20 7001e8e0: ee35 5a69 vsub.f32 s10, s10, s19 7001e8e4: ee78 8aaa vadd.f32 s17, s17, s21 7001e8e8: ee35 5a06 vadd.f32 s10, s10, s12 7001e8ec: ee78 8a86 vadd.f32 s17, s17, s12 7001e8f0: ee25 5a2c vmul.f32 s10, s10, s25 7001e8f4: ee68 8a8c vmul.f32 s17, s17, s24 7001e8f8: ee29 6a05 vmul.f32 s12, s18, s10 7001e8fc: ee60 4a28 vmul.f32 s9, s0, s17 7001e900: ee29 9a28 vmul.f32 s18, s18, s17 7001e904: ee20 0a05 vmul.f32 s0, s0, s10 7001e908: ee36 6a64 vsub.f32 s12, s12, s9 7001e90c: ee30 0a09 vadd.f32 s0, s0, s18 7001e910: ee36 6a2b vadd.f32 s12, s12, s23 7001e914: ee30 0a0b vadd.f32 s0, s0, s22 7001e918: ed8d 6a05 vstr s12, [sp, #20] 7001e91c: ed8d 0a06 vstr s0, [sp, #24] 7001e920: 2a00 cmp r2, #0 7001e922: d0c3 beq.n 7001e8ac 7001e924: ed93 5a3b vldr s10, [r3, #236] @ 0xec 7001e928: edd3 4a3c vldr s9, [r3, #240] @ 0xf0 7001e92c: edd3 2a3e vldr s5, [r3, #248] @ 0xf8 7001e930: ee26 2a05 vmul.f32 s4, s12, s10 7001e934: ed93 3a3f vldr s6, [r3, #252] @ 0xfc 7001e938: ee60 1a24 vmul.f32 s3, s0, s9 7001e93c: ee26 6a22 vmul.f32 s12, s12, s5 7001e940: edd3 3a3d vldr s7, [r3, #244] @ 0xf4 7001e944: ee20 0a03 vmul.f32 s0, s0, s6 7001e948: ed93 4a40 vldr s8, [r3, #256] @ 0x100 7001e94c: ee32 2a21 vadd.f32 s4, s4, s3 7001e950: ee36 6a00 vadd.f32 s12, s12, s0 7001e954: ee32 2a23 vadd.f32 s4, s4, s7 7001e958: ee36 6a04 vadd.f32 s12, s12, s8 7001e95c: ed8d 2a05 vstr s4, [sp, #20] 7001e960: ed8d 6a06 vstr s12, [sp, #24] 7001e964: ee26 2aa4 vmul.f32 s4, s13, s9 7001e968: 4668 mov r0, sp 7001e96a: ee25 6a85 vmul.f32 s12, s11, s10 7001e96e: ee67 4aa4 vmul.f32 s9, s15, s9 7001e972: ee65 5aa2 vmul.f32 s11, s11, s5 7001e976: ee67 7a83 vmul.f32 s15, s15, s6 7001e97a: ee66 6a83 vmul.f32 s13, s13, s6 7001e97e: ee27 5a05 vmul.f32 s10, s14, s10 7001e982: ee27 7a22 vmul.f32 s14, s14, s5 7001e986: ee36 6a02 vadd.f32 s12, s12, s4 7001e98a: ee75 5aa6 vadd.f32 s11, s11, s13 7001e98e: ee35 5a24 vadd.f32 s10, s10, s9 7001e992: ee37 7a27 vadd.f32 s14, s14, s15 7001e996: ee75 5a84 vadd.f32 s11, s11, s8 7001e99a: ee76 7a23 vadd.f32 s15, s12, s7 7001e99e: ee35 5a23 vadd.f32 s10, s10, s7 7001e9a2: ee37 7a04 vadd.f32 s14, s14, s8 7001e9a6: edcd 5a08 vstr s11, [sp, #32] 7001e9aa: edcd 7a07 vstr s15, [sp, #28] 7001e9ae: ed8d 5a09 vstr s10, [sp, #36] @ 0x24 7001e9b2: ed8d 7a0a vstr s14, [sp, #40] @ 0x28 7001e9b6: f7ff fde1 bl 7001e57c 7001e9ba: 6833 ldr r3, [r6, #0] 7001e9bc: 4605 mov r5, r0 7001e9be: 2800 cmp r0, #0 7001e9c0: f43f af7c beq.w 7001e8bc 7001e9c4: 2200 movs r2, #0 7001e9c6: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001e9ca: f008 ffc1 bl 70027950 7001e9ce: 4628 mov r0, r5 7001e9d0: b012 add sp, #72 @ 0x48 7001e9d2: ecbd 8b0e vpop {d8-d14} 7001e9d6: bd70 pop {r4, r5, r6, pc} 7001e9d8: eddf 6a39 vldr s13, [pc, #228] @ 7001eac0 7001e9dc: ee69 7aa6 vmul.f32 s15, s19, s13 7001e9e0: ee2a 7a26 vmul.f32 s14, s20, s13 7001e9e4: ee7a 7a67 vsub.f32 s15, s20, s15 7001e9e8: ee37 7a29 vadd.f32 s14, s14, s19 7001e9ec: ee77 7aa6 vadd.f32 s15, s15, s13 7001e9f0: ee37 7a26 vadd.f32 s14, s14, s13 7001e9f4: ee67 7aac vmul.f32 s15, s15, s25 7001e9f8: ee27 7a0c vmul.f32 s14, s14, s24 7001e9fc: ee69 6a27 vmul.f32 s13, s18, s15 7001ea00: ee20 6a07 vmul.f32 s12, s0, s14 7001ea04: ee60 7a27 vmul.f32 s15, s0, s15 7001ea08: ee29 7a07 vmul.f32 s14, s18, s14 7001ea0c: ee76 6ac6 vsub.f32 s13, s13, s12 7001ea10: ee77 7a87 vadd.f32 s15, s15, s14 7001ea14: ee36 7aab vadd.f32 s14, s13, s23 7001ea18: ee77 7a8b vadd.f32 s15, s15, s22 7001ea1c: ed8d 7a03 vstr s14, [sp, #12] 7001ea20: edcd 7a04 vstr s15, [sp, #16] 7001ea24: 2a00 cmp r2, #0 7001ea26: f43f aee8 beq.w 7001e7fa 7001ea2a: edd3 6a3b vldr s13, [r3, #236] @ 0xec 7001ea2e: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 7001ea32: ee67 6a26 vmul.f32 s13, s14, s13 7001ea36: ee27 6a86 vmul.f32 s12, s15, s12 7001ea3a: ee76 6a86 vadd.f32 s13, s13, s12 7001ea3e: ed93 6a3e vldr s12, [r3, #248] @ 0xf8 7001ea42: ee27 7a06 vmul.f32 s14, s14, s12 7001ea46: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 7001ea4a: ee67 7a86 vmul.f32 s15, s15, s12 7001ea4e: ee37 7a27 vadd.f32 s14, s14, s15 7001ea52: edd3 7a40 vldr s15, [r3, #256] @ 0x100 7001ea56: ee37 7a27 vadd.f32 s14, s14, s15 7001ea5a: edd3 7a3d vldr s15, [r3, #244] @ 0xf4 7001ea5e: ee76 7aa7 vadd.f32 s15, s13, s15 7001ea62: ed8d 7a04 vstr s14, [sp, #16] 7001ea66: edcd 7a03 vstr s15, [sp, #12] 7001ea6a: e6c6 b.n 7001e7fa 7001ea6c: ed93 5a3b vldr s10, [r3, #236] @ 0xec 7001ea70: edd3 4a3c vldr s9, [r3, #240] @ 0xf0 7001ea74: edd3 3a3d vldr s7, [r3, #244] @ 0xf4 7001ea78: edd3 2a3e vldr s5, [r3, #248] @ 0xf8 7001ea7c: ed93 3a3f vldr s6, [r3, #252] @ 0xfc 7001ea80: ed93 4a40 vldr s8, [r3, #256] @ 0x100 7001ea84: e76e b.n 7001e964 7001ea86: eddd 2a06 vldr s5, [sp, #24] 7001ea8a: ed9d 2a05 vldr s4, [sp, #20] 7001ea8e: eddd 1a04 vldr s3, [sp, #16] 7001ea92: ed9d 1a03 vldr s2, [sp, #12] 7001ea96: edd4 0a04 vldr s1, [r4, #16] 7001ea9a: ed94 0a03 vldr s0, [r4, #12] 7001ea9e: f7fa fd95 bl 700195cc 7001eaa2: 4628 mov r0, r5 7001eaa4: b012 add sp, #72 @ 0x48 7001eaa6: ecbd 8b0e vpop {d8-d14} 7001eaaa: bd70 pop {r4, r5, r6, pc} 7001eaac: 3c8efa35 .word 0x3c8efa35 7001eab0: 2400dc78 .word 0x2400dc78 7001eab4: 3faaaaab .word 0x3faaaaab 7001eab8: 43340000 .word 0x43340000 7001eabc: 40490fdb .word 0x40490fdb 7001eac0: 00000000 .word 0x00000000 7001eac4 : 7001eac4: b5f8 push {r3, r4, r5, r6, r7, lr} 7001eac6: 4d1f ldr r5, [pc, #124] @ (7001eb44 ) 7001eac8: 682c ldr r4, [r5, #0] 7001eaca: f894 607c ldrb.w r6, [r4, #124] @ 0x7c 7001eace: b9a6 cbnz r6, 7001eafa 7001ead0: f894 72f4 ldrb.w r7, [r4, #756] @ 0x2f4 7001ead4: b937 cbnz r7, 7001eae4 7001ead6: 2201 movs r2, #1 7001ead8: f7ff f96c bl 7001ddb4 7001eadc: 4604 mov r4, r0 7001eade: bb18 cbnz r0, 7001eb28 7001eae0: 4620 mov r0, r4 7001eae2: bdf8 pop {r3, r4, r5, r6, r7, pc} 7001eae4: f009 f80a bl 70027afc 7001eae8: 4604 mov r4, r0 7001eaea: 2800 cmp r0, #0 7001eaec: d0f8 beq.n 7001eae0 7001eaee: 682b ldr r3, [r5, #0] 7001eaf0: e9c3 6645 strd r6, r6, [r3, #276] @ 0x114 7001eaf4: f008 ff2c bl 70027950 7001eaf8: e7f2 b.n 7001eae0 7001eafa: 2e02 cmp r6, #2 7001eafc: d01a beq.n 7001eb34 7001eafe: edd1 1a01 vldr s3, [r1, #4] 7001eb02: ed91 1a00 vldr s2, [r1] 7001eb06: edd0 0a01 vldr s1, [r0, #4] 7001eb0a: ed90 0a00 vldr s0, [r0] 7001eb0e: f7fc fdaf bl 7001b670 7001eb12: 4604 mov r4, r0 7001eb14: 2800 cmp r0, #0 7001eb16: d0e3 beq.n 7001eae0 7001eb18: 682b ldr r3, [r5, #0] 7001eb1a: 2200 movs r2, #0 7001eb1c: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001eb20: f008 ff16 bl 70027950 7001eb24: 4620 mov r0, r4 7001eb26: bdf8 pop {r3, r4, r5, r6, r7, pc} 7001eb28: 682b ldr r3, [r5, #0] 7001eb2a: e9c3 7745 strd r7, r7, [r3, #276] @ 0x114 7001eb2e: f008 ff0f bl 70027950 7001eb32: e7d5 b.n 7001eae0 7001eb34: f7fc fd64 bl 7001b600 7001eb38: 4604 mov r4, r0 7001eb3a: 2800 cmp r0, #0 7001eb3c: d1ec bne.n 7001eb18 7001eb3e: 4620 mov r0, r4 7001eb40: bdf8 pop {r3, r4, r5, r6, r7, pc} 7001eb42: bf00 nop 7001eb44: 2400dc78 .word 0x2400dc78 7001eb48 : 7001eb48: b5f8 push {r3, r4, r5, r6, r7, lr} 7001eb4a: ed2d 8b10 vpush {d8-d15} 7001eb4e: edd0 9a07 vldr s19, [r0, #28] 7001eb52: 4605 mov r5, r0 7001eb54: ed90 aa08 vldr s20, [r0, #32] 7001eb58: eef5 9ac0 vcmpe.f32 s19, #0.0 7001eb5c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001eb60: d414 bmi.n 7001eb8c 7001eb62: eddf 7ac6 vldr s15, [pc, #792] @ 7001ee7c 7001eb66: eef4 9ae7 vcmpe.f32 s19, s15 7001eb6a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001eb6e: d814 bhi.n 7001eb9a 7001eb70: f105 0114 add.w r1, r5, #20 7001eb74: f105 000c add.w r0, r5, #12 7001eb78: f7ff ffa4 bl 7001eac4 7001eb7c: 4604 mov r4, r0 7001eb7e: 2800 cmp r0, #0 7001eb80: f040 8128 bne.w 7001edd4 7001eb84: 4620 mov r0, r4 7001eb86: ecbd 8b10 vpop {d8-d15} 7001eb8a: bdf8 pop {r3, r4, r5, r6, r7, pc} 7001eb8c: eddf 7abc vldr s15, [pc, #752] @ 7001ee80 7001eb90: eef4 9ae7 vcmpe.f32 s19, s15 7001eb94: eef1 fa10 vmrs APSR_nzcv, fpscr 7001eb98: daea bge.n 7001eb70 7001eb9a: eeb5 aac0 vcmpe.f32 s20, #0.0 7001eb9e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001eba2: f100 8122 bmi.w 7001edea 7001eba6: eddf 7ab5 vldr s15, [pc, #724] @ 7001ee7c 7001ebaa: eeb4 aae7 vcmpe.f32 s20, s15 7001ebae: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ebb2: d9dd bls.n 7001eb70 7001ebb4: eef5 9ac0 vcmpe.f32 s19, #0.0 7001ebb8: 78eb ldrb r3, [r5, #3] 7001ebba: ed95 8a09 vldr s16, [r5, #36] @ 0x24 7001ebbe: ed95 9a0d vldr s18, [r5, #52] @ 0x34 7001ebc2: f3c3 1680 ubfx r6, r3, #6, #1 7001ebc6: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ebca: edd5 ba0e vldr s23, [r5, #56] @ 0x38 7001ebce: f3c3 1440 ubfx r4, r3, #5, #1 7001ebd2: edd5 8a0b vldr s17, [r5, #44] @ 0x2c 7001ebd6: ed95 ba0c vldr s22, [r5, #48] @ 0x30 7001ebda: d501 bpl.n 7001ebe0 7001ebdc: eef1 9a69 vneg.f32 s19, s19 7001ebe0: eddf 7aa8 vldr s15, [pc, #672] @ 7001ee84 7001ebe4: ee28 8a27 vmul.f32 s16, s16, s15 7001ebe8: eeb0 0a48 vmov.f32 s0, s16 7001ebec: f01a ff40 bl 70039a70 7001ebf0: eef0 aa40 vmov.f32 s21, s0 7001ebf4: eeb0 0a48 vmov.f32 s0, s16 7001ebf8: f01a fe42 bl 70039880 7001ebfc: eeb0 8a40 vmov.f32 s16, s0 7001ec00: ee2a 7aab vmul.f32 s14, s21, s23 7001ec04: ee6a 7a8b vmul.f32 s15, s21, s22 7001ec08: ee69 5a2a vmul.f32 s11, s18, s21 7001ec0c: ee2a 6aa8 vmul.f32 s12, s21, s17 7001ec10: ee60 ba2b vmul.f32 s23, s0, s23 7001ec14: ee29 9a40 vnmul.f32 s18, s18, s0 7001ec18: ee20 ba0b vmul.f32 s22, s0, s22 7001ec1c: ee68 8ac0 vnmul.f32 s17, s17, s0 7001ec20: ee39 9a07 vadd.f32 s18, s18, s14 7001ec24: ee75 5aab vadd.f32 s11, s11, s23 7001ec28: ee78 8aa7 vadd.f32 s17, s17, s15 7001ec2c: ee36 6a0b vadd.f32 s12, s12, s22 7001ec30: eec5 faa9 vdiv.f32 s31, s11, s19 7001ec34: ee89 fa0a vdiv.f32 s30, s18, s20 7001ec38: eec6 ea29 vdiv.f32 s29, s12, s19 7001ec3c: ee88 ea8a vdiv.f32 s28, s17, s20 7001ec40: ee7f 7aee vsub.f32 s15, s31, s29 7001ec44: ee67 6aa7 vmul.f32 s13, s15, s15 7001ec48: ee3f 7a4e vsub.f32 s14, s30, s28 7001ec4c: ee27 5a07 vmul.f32 s10, s14, s14 7001ec50: ee76 6a85 vadd.f32 s13, s13, s10 7001ec54: eef5 6a40 vcmp.f32 s13, #0.0 7001ec58: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ec5c: f000 8156 beq.w 7001ef0c 7001ec60: eef7 4a00 vmov.f32 s9, #112 @ 0x3f800000 1.0 7001ec64: ee84 5aa6 vdiv.f32 s10, s9, s13 7001ec68: eef5 4a00 vmov.f32 s9, #80 @ 0x3e800000 0.250 7001ec6c: ee35 5a64 vsub.f32 s10, s10, s9 7001ec70: eeb5 5ac0 vcmpe.f32 s10, #0.0 7001ec74: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ec78: f100 815e bmi.w 7001ef38 7001ec7c: eef1 4ac5 vsqrt.f32 s9, s10 7001ec80: eef6 6a00 vmov.f32 s13, #96 @ 0x3f000000 0.5 7001ec84: ee7f baae vadd.f32 s23, s31, s29 7001ec88: ee3f ba0e vadd.f32 s22, s30, s28 7001ec8c: ee6b baa6 vmul.f32 s23, s23, s13 7001ec90: ee2b ba26 vmul.f32 s22, s22, s13 7001ec94: ee67 8aa4 vmul.f32 s17, s15, s9 7001ec98: ee27 9a24 vmul.f32 s18, s14, s9 7001ec9c: ee3b da68 vsub.f32 s26, s22, s17 7001eca0: ee79 da2b vadd.f32 s27, s18, s23 7001eca4: ee3f 0a4d vsub.f32 s0, s30, s26 7001eca8: ee7f 0aed vsub.f32 s1, s31, s27 7001ecac: f01a fdc2 bl 70039834 7001ecb0: ee7e 0aed vsub.f32 s1, s29, s27 7001ecb4: eeb0 ca40 vmov.f32 s24, s0 7001ecb8: ee3e 0a4d vsub.f32 s0, s28, s26 7001ecbc: f01a fdba bl 70039834 7001ecc0: eddf 7a71 vldr s15, [pc, #452] @ 7001ee88 7001ecc4: ee2c ca27 vmul.f32 s24, s24, s15 7001ecc8: ee60 ca27 vmul.f32 s25, s0, s15 7001eccc: ee7c 7acc vsub.f32 s15, s25, s24 7001ecd0: eef5 7ac0 vcmpe.f32 s15, #0.0 7001ecd4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ecd8: f100 80a8 bmi.w 7001ee2c 7001ecdc: ed9f 7a6b vldr s14, [pc, #428] @ 7001ee8c 7001ece0: eef4 7ac7 vcmpe.f32 s15, s14 7001ece4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ece8: f100 810c bmi.w 7001ef04 7001ecec: f280 80a9 bge.w 7001ee42 7001ecf0: ee7b dac9 vsub.f32 s27, s23, s18 7001ecf4: eddf ca64 vldr s25, [pc, #400] @ 7001ee88 7001ecf8: ee38 da8b vadd.f32 s26, s17, s22 7001ecfc: ee7f 0aed vsub.f32 s1, s31, s27 7001ed00: ee3f 0a4d vsub.f32 s0, s30, s26 7001ed04: f01a fd96 bl 70039834 7001ed08: eeb0 ca40 vmov.f32 s24, s0 7001ed0c: ee7e 0aed vsub.f32 s1, s29, s27 7001ed10: ee3e 0a4d vsub.f32 s0, s28, s26 7001ed14: ee2c ca2c vmul.f32 s24, s24, s25 7001ed18: f01a fd8c bl 70039834 7001ed1c: ee60 ca2c vmul.f32 s25, s0, s25 7001ed20: ee69 6aad vmul.f32 s13, s19, s27 7001ed24: ee2a 7a0d vmul.f32 s14, s20, s26 7001ed28: ee2a 9aa6 vmul.f32 s18, s21, s13 7001ed2c: ee28 6a07 vmul.f32 s12, s16, s14 7001ed30: ee6a 7a87 vmul.f32 s15, s21, s14 7001ed34: ee28 8a26 vmul.f32 s16, s16, s13 7001ed38: ee39 9a46 vsub.f32 s18, s18, s12 7001ed3c: ee38 8a27 vadd.f32 s16, s16, s15 7001ed40: 2e00 cmp r6, #0 7001ed42: f040 808e bne.w 7001ee62 7001ed46: eeb4 caec vcmpe.f32 s24, s25 7001ed4a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ed4e: f100 80ee bmi.w 7001ef2e 7001ed52: 2101 movs r1, #1 7001ed54: 4e4e ldr r6, [pc, #312] @ (7001ee90 ) 7001ed56: eddf aa4f vldr s21, [pc, #316] @ 7001ee94 7001ed5a: 2700 movs r7, #0 7001ed5c: 460b mov r3, r1 7001ed5e: e00c b.n 7001ed7a 7001ed60: 6833 ldr r3, [r6, #0] 7001ed62: f883 22fb strb.w r2, [r3, #763] @ 0x2fb 7001ed66: f883 71c0 strb.w r7, [r3, #448] @ 0x1c0 7001ed6a: f7ff fcd5 bl 7001e718 7001ed6e: 4604 mov r4, r0 7001ed70: bb40 cbnz r0, 7001edc4 7001ed72: 2100 movs r1, #0 7001ed74: eeb0 ca68 vmov.f32 s24, s17 7001ed78: 460b mov r3, r1 7001ed7a: eeb4 caec vcmpe.f32 s24, s25 7001ed7e: 1c8a adds r2, r1, #2 7001ed80: eef0 0a6c vmov.f32 s1, s25 7001ed84: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ed88: dd5f ble.n 7001ee4a 7001ed8a: ee7c 8a6a vsub.f32 s17, s24, s21 7001ed8e: 4628 mov r0, r5 7001ed90: eef0 2a4a vmov.f32 s5, s20 7001ed94: eeb0 2a69 vmov.f32 s4, s19 7001ed98: eef4 8aec vcmpe.f32 s17, s25 7001ed9c: eef0 1a48 vmov.f32 s3, s16 7001eda0: eeb0 1a49 vmov.f32 s2, s18 7001eda4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001eda8: eeb0 0a4c vmov.f32 s0, s24 7001edac: bfd4 ite le 7001edae: b2d1 uxtble r1, r2 7001edb0: eef0 0a68 vmovgt.f32 s1, s17 7001edb4: 2201 movs r2, #1 7001edb6: 2b00 cmp r3, #0 7001edb8: d0d2 beq.n 7001ed60 7001edba: f7ff fcad bl 7001e718 7001edbe: 4604 mov r4, r0 7001edc0: 2800 cmp r0, #0 7001edc2: d0d6 beq.n 7001ed72 7001edc4: 6833 ldr r3, [r6, #0] 7001edc6: 2200 movs r2, #0 7001edc8: 4620 mov r0, r4 7001edca: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001edce: f008 fdbf bl 70027950 7001edd2: e6d7 b.n 7001eb84 7001edd4: 4b2e ldr r3, [pc, #184] @ (7001ee90 ) 7001edd6: 2200 movs r2, #0 7001edd8: 681b ldr r3, [r3, #0] 7001edda: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001edde: f008 fdb7 bl 70027950 7001ede2: 4620 mov r0, r4 7001ede4: ecbd 8b10 vpop {d8-d15} 7001ede8: bdf8 pop {r3, r4, r5, r6, r7, pc} 7001edea: eddf 7a25 vldr s15, [pc, #148] @ 7001ee80 7001edee: eeb4 aae7 vcmpe.f32 s20, s15 7001edf2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001edf6: f6bf aebb bge.w 7001eb70 7001edfa: eef5 9ac0 vcmpe.f32 s19, #0.0 7001edfe: 78eb ldrb r3, [r5, #3] 7001ee00: ed95 8a09 vldr s16, [r5, #36] @ 0x24 7001ee04: ed95 9a0d vldr s18, [r5, #52] @ 0x34 7001ee08: f3c3 1680 ubfx r6, r3, #6, #1 7001ee0c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ee10: edd5 ba0e vldr s23, [r5, #56] @ 0x38 7001ee14: f3c3 1440 ubfx r4, r3, #5, #1 7001ee18: edd5 8a0b vldr s17, [r5, #44] @ 0x2c 7001ee1c: ed95 ba0c vldr s22, [r5, #48] @ 0x30 7001ee20: d501 bpl.n 7001ee26 7001ee22: eef1 9a69 vneg.f32 s19, s19 7001ee26: eeb1 aa4a vneg.f32 s20, s20 7001ee2a: e6d9 b.n 7001ebe0 7001ee2c: ed9f 7a1a vldr s14, [pc, #104] @ 7001ee98 7001ee30: ee77 7a87 vadd.f32 s15, s15, s14 7001ee34: ed9f 7a15 vldr s14, [pc, #84] @ 7001ee8c 7001ee38: eef4 7ac7 vcmpe.f32 s15, s14 7001ee3c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ee40: d460 bmi.n 7001ef04 7001ee42: 42b4 cmp r4, r6 7001ee44: f47f af54 bne.w 7001ecf0 7001ee48: e76a b.n 7001ed20 7001ee4a: 6833 ldr r3, [r6, #0] 7001ee4c: 2200 movs r2, #0 7001ee4e: 2101 movs r1, #1 7001ee50: 4614 mov r4, r2 7001ee52: f883 22fb strb.w r2, [r3, #763] @ 0x2fb 7001ee56: f883 11c0 strb.w r1, [r3, #448] @ 0x1c0 7001ee5a: 4620 mov r0, r4 7001ee5c: ecbd 8b10 vpop {d8-d15} 7001ee60: bdf8 pop {r3, r4, r5, r6, r7, pc} 7001ee62: eeb4 caec vcmpe.f32 s24, s25 7001ee66: eef1 fa10 vmrs APSR_nzcv, fpscr 7001ee6a: dc5b bgt.n 7001ef24 7001ee6c: 2101 movs r1, #1 7001ee6e: 4e08 ldr r6, [pc, #32] @ (7001ee90 ) 7001ee70: eddf aa08 vldr s21, [pc, #32] @ 7001ee94 7001ee74: 2700 movs r7, #0 7001ee76: 460b mov r3, r1 7001ee78: e01e b.n 7001eeb8 7001ee7a: bf00 nop 7001ee7c: 3727c5ac .word 0x3727c5ac 7001ee80: b727c5ac .word 0xb727c5ac 7001ee84: 3c8efa35 .word 0x3c8efa35 7001ee88: 42652ee1 .word 0x42652ee1 7001ee8c: 43340000 .word 0x43340000 7001ee90: 2400dc78 .word 0x2400dc78 7001ee94: 42b40000 .word 0x42b40000 7001ee98: 43b40000 .word 0x43b40000 7001ee9c: 6833 ldr r3, [r6, #0] 7001ee9e: f883 22fb strb.w r2, [r3, #763] @ 0x2fb 7001eea2: f883 71c0 strb.w r7, [r3, #448] @ 0x1c0 7001eea6: f7ff fc37 bl 7001e718 7001eeaa: 4604 mov r4, r0 7001eeac: 2800 cmp r0, #0 7001eeae: d189 bne.n 7001edc4 7001eeb0: 2100 movs r1, #0 7001eeb2: eeb0 ca68 vmov.f32 s24, s17 7001eeb6: 460b mov r3, r1 7001eeb8: eeb4 caec vcmpe.f32 s24, s25 7001eebc: 1c8a adds r2, r1, #2 7001eebe: eef0 0a6c vmov.f32 s1, s25 7001eec2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001eec6: d5c0 bpl.n 7001ee4a 7001eec8: ee7c 8a2a vadd.f32 s17, s24, s21 7001eecc: 4628 mov r0, r5 7001eece: eef0 2a4a vmov.f32 s5, s20 7001eed2: eeb0 2a69 vmov.f32 s4, s19 7001eed6: eef4 8aec vcmpe.f32 s17, s25 7001eeda: eef0 1a48 vmov.f32 s3, s16 7001eede: eeb0 1a49 vmov.f32 s2, s18 7001eee2: eef1 fa10 vmrs APSR_nzcv, fpscr 7001eee6: eeb0 0a4c vmov.f32 s0, s24 7001eeea: bf54 ite pl 7001eeec: b2d1 uxtbpl r1, r2 7001eeee: eef0 0a68 vmovmi.f32 s1, s17 7001eef2: 2201 movs r2, #1 7001eef4: 2b00 cmp r3, #0 7001eef6: d0d1 beq.n 7001ee9c 7001eef8: f7ff fc0e bl 7001e718 7001eefc: 4604 mov r4, r0 7001eefe: 2800 cmp r0, #0 7001ef00: d0d6 beq.n 7001eeb0 7001ef02: e75f b.n 7001edc4 7001ef04: 42b4 cmp r4, r6 7001ef06: f47f af0b bne.w 7001ed20 7001ef0a: e6f1 b.n 7001ecf0 7001ef0c: 4b1b ldr r3, [pc, #108] @ (7001ef7c ) 7001ef0e: 2200 movs r2, #0 7001ef10: f44f 7080 mov.w r0, #256 @ 0x100 7001ef14: f44f 7480 mov.w r4, #256 @ 0x100 7001ef18: 681b ldr r3, [r3, #0] 7001ef1a: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001ef1e: f008 fd17 bl 70027950 7001ef22: e62f b.n 7001eb84 7001ef24: eddf 7a16 vldr s15, [pc, #88] @ 7001ef80 7001ef28: ee7c caa7 vadd.f32 s25, s25, s15 7001ef2c: e79e b.n 7001ee6c 7001ef2e: eddf 7a14 vldr s15, [pc, #80] @ 7001ef80 7001ef32: ee3c ca27 vadd.f32 s24, s24, s15 7001ef36: e70c b.n 7001ed52 7001ef38: ee66 6aa4 vmul.f32 s13, s13, s9 7001ef3c: eddf 4a11 vldr s9, [pc, #68] @ 7001ef84 7001ef40: eeb6 5a00 vmov.f32 s10, #96 @ 0x3f000000 0.5 7001ef44: eef1 7ae6 vsqrt.f32 s15, s13 7001ef48: ee69 9aa7 vmul.f32 s19, s19, s15 7001ef4c: ee2a aa27 vmul.f32 s20, s20, s15 7001ef50: eec5 faa9 vdiv.f32 s31, s11, s19 7001ef54: ee89 fa0a vdiv.f32 s30, s18, s20 7001ef58: eec6 ea29 vdiv.f32 s29, s12, s19 7001ef5c: ee88 ea8a vdiv.f32 s28, s17, s20 7001ef60: ee7f baae vadd.f32 s23, s31, s29 7001ef64: ee7f 7aee vsub.f32 s15, s31, s29 7001ef68: ee6b ba85 vmul.f32 s23, s23, s10 7001ef6c: ee3f ba0e vadd.f32 s22, s30, s28 7001ef70: ee3f 7a4e vsub.f32 s14, s30, s28 7001ef74: ee2b ba05 vmul.f32 s22, s22, s10 7001ef78: e68c b.n 7001ec94 7001ef7a: bf00 nop 7001ef7c: 2400dc78 .word 0x2400dc78 7001ef80: 43b40000 .word 0x43b40000 7001ef84: 00000000 .word 0x00000000 7001ef88 : 7001ef88: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7001ef8c: ed2d 8b04 vpush {d8-d9} 7001ef90: b08d sub sp, #52 @ 0x34 7001ef92: f8df 9204 ldr.w r9, [pc, #516] @ 7001f198 7001ef96: f04f 0a01 mov.w sl, #1 7001ef9a: eeb6 8a00 vmov.f32 s16, #96 @ 0x3f000000 0.5 7001ef9e: aa04 add r2, sp, #16 7001efa0: 466b mov r3, sp 7001efa2: f10d 0818 add.w r8, sp, #24 7001efa6: ed8d 0a04 vstr s0, [sp, #16] 7001efaa: edcd 0a05 vstr s1, [sp, #20] 7001efae: eeb0 9a41 vmov.f32 s18, s2 7001efb2: eef0 8a61 vmov.f32 s17, s3 7001efb6: af08 add r7, sp, #32 7001efb8: ed8d 2a00 vstr s4, [sp] 7001efbc: 4655 mov r5, sl 7001efbe: edcd 2a01 vstr s5, [sp, #4] 7001efc2: ae0a add r6, sp, #40 @ 0x28 7001efc4: ed8d 1a02 vstr s2, [sp, #8] 7001efc8: edcd 1a03 vstr s3, [sp, #12] 7001efcc: e892 0003 ldmia.w r2, {r0, r1} 7001efd0: e888 0003 stmia.w r8, {r0, r1} 7001efd4: e893 0003 ldmia.w r3, {r0, r1} 7001efd8: f8d9 3000 ldr.w r3, [r9] 7001efdc: e887 0003 stmia.w r7, {r0, r1} 7001efe0: ed9d 4a08 vldr s8, [sp, #32] 7001efe4: eddd 4a09 vldr s9, [sp, #36] @ 0x24 7001efe8: ed9d 7a06 vldr s14, [sp, #24] 7001efec: ee34 3a09 vadd.f32 s6, s8, s18 7001eff0: eddd 6a07 vldr s13, [sp, #28] 7001eff4: ee74 3aa8 vadd.f32 s7, s9, s17 7001eff8: ee77 5a09 vadd.f32 s11, s14, s18 7001effc: f893 207d ldrb.w r2, [r3, #125] @ 0x7d 7001f000: ee36 5aa8 vadd.f32 s10, s13, s17 7001f004: ee34 7a47 vsub.f32 s14, s8, s14 7001f008: 07d2 lsls r2, r2, #31 7001f00a: ee74 6ae6 vsub.f32 s13, s9, s13 7001f00e: ee23 3a08 vmul.f32 s6, s6, s16 7001f012: ee63 3a88 vmul.f32 s7, s7, s16 7001f016: ee65 5a88 vmul.f32 s11, s11, s16 7001f01a: ee25 5a08 vmul.f32 s10, s10, s16 7001f01e: ee79 7a44 vsub.f32 s15, s18, s8 7001f022: ee78 1ae4 vsub.f32 s3, s17, s9 7001f026: ee27 6a07 vmul.f32 s12, s14, s14 7001f02a: ee26 1aa6 vmul.f32 s2, s13, s13 7001f02e: ee67 7aa6 vmul.f32 s15, s15, s13 7001f032: ee61 1a87 vmul.f32 s3, s3, s14 7001f036: ee35 2a83 vadd.f32 s4, s11, s6 7001f03a: ee75 2a23 vadd.f32 s5, s10, s7 7001f03e: ee36 7a01 vadd.f32 s14, s12, s2 7001f042: ee77 7ae1 vsub.f32 s15, s15, s3 7001f046: ee22 6a08 vmul.f32 s12, s4, s16 7001f04a: ee62 6a88 vmul.f32 s13, s5, s16 7001f04e: ee67 7aa7 vmul.f32 s15, s15, s15 7001f052: ed8d 6a0a vstr s12, [sp, #40] @ 0x28 7001f056: edcd 6a0b vstr s13, [sp, #44] @ 0x2c 7001f05a: d52d bpl.n 7001f0b8 7001f05c: eef4 7ac7 vcmpe.f32 s15, s14 7001f060: eef1 fa10 vmrs APSR_nzcv, fpscr 7001f064: dd2f ble.n 7001f0c6 7001f066: f8d3 12bc ldr.w r1, [r3, #700] @ 0x2bc 7001f06a: 2909 cmp r1, #9 7001f06c: dc12 bgt.n 7001f094 7001f06e: eb01 0241 add.w r2, r1, r1, lsl #1 7001f072: 3101 adds r1, #1 7001f074: eb03 02c2 add.w r2, r3, r2, lsl #3 7001f078: ed82 6a73 vstr s12, [r2, #460] @ 0x1cc 7001f07c: edc2 6a74 vstr s13, [r2, #464] @ 0x1d0 7001f080: ed82 3a75 vstr s6, [r2, #468] @ 0x1d4 7001f084: edc2 3a76 vstr s7, [r2, #472] @ 0x1d8 7001f088: ed82 4a77 vstr s8, [r2, #476] @ 0x1dc 7001f08c: edc2 4a78 vstr s9, [r2, #480] @ 0x1e0 7001f090: f8c3 12bc str.w r1, [r3, #700] @ 0x2bc 7001f094: eef0 8a45 vmov.f32 s17, s10 7001f098: 3501 adds r5, #1 7001f09a: eeb0 9a65 vmov.f32 s18, s11 7001f09e: e896 0003 ldmia.w r6, {r0, r1} 7001f0a2: e887 0003 stmia.w r7, {r0, r1} 7001f0a6: 2d00 cmp r5, #0 7001f0a8: d19a bne.n 7001efe0 7001f0aa: 462c mov r4, r5 7001f0ac: 4620 mov r0, r4 7001f0ae: b00d add sp, #52 @ 0x34 7001f0b0: ecbd 8b04 vpop {d8-d9} 7001f0b4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001f0b8: ee27 7a08 vmul.f32 s14, s14, s16 7001f0bc: eeb4 7ae7 vcmpe.f32 s14, s15 7001f0c0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001f0c4: d4cf bmi.n 7001f066 7001f0c6: f893 b2f4 ldrb.w fp, [r3, #756] @ 0x2f4 7001f0ca: 3d01 subs r5, #1 7001f0cc: f1bb 0f00 cmp.w fp, #0 7001f0d0: d134 bne.n 7001f13c 7001f0d2: f1ba 0f00 cmp.w sl, #0 7001f0d6: d14b bne.n 7001f170 7001f0d8: 465a mov r2, fp 7001f0da: 4631 mov r1, r6 7001f0dc: 4640 mov r0, r8 7001f0de: f7fe fe69 bl 7001ddb4 7001f0e2: 4604 mov r4, r0 7001f0e4: 2800 cmp r0, #0 7001f0e6: d14b bne.n 7001f180 7001f0e8: 2200 movs r2, #0 7001f0ea: 4639 mov r1, r7 7001f0ec: 4630 mov r0, r6 7001f0ee: f7fe fe61 bl 7001ddb4 7001f0f2: 4604 mov r4, r0 7001f0f4: bb78 cbnz r0, 7001f156 7001f0f6: 4682 mov sl, r0 7001f0f8: f8d9 3000 ldr.w r3, [r9] 7001f0fc: f8d3 12bc ldr.w r1, [r3, #700] @ 0x2bc 7001f100: 2900 cmp r1, #0 7001f102: d0d0 beq.n 7001f0a6 7001f104: 3901 subs r1, #1 7001f106: eb01 0241 add.w r2, r1, r1, lsl #1 7001f10a: f8c3 12bc str.w r1, [r3, #700] @ 0x2bc 7001f10e: eb03 02c2 add.w r2, r3, r2, lsl #3 7001f112: f8d2 c1cc ldr.w ip, [r2, #460] @ 0x1cc 7001f116: f8d2 41d0 ldr.w r4, [r2, #464] @ 0x1d0 7001f11a: f8d2 01dc ldr.w r0, [r2, #476] @ 0x1dc 7001f11e: f8d2 11e0 ldr.w r1, [r2, #480] @ 0x1e0 7001f122: ed92 9a75 vldr s18, [r2, #468] @ 0x1d4 7001f126: edd2 8a76 vldr s17, [r2, #472] @ 0x1d8 7001f12a: f8cd c018 str.w ip, [sp, #24] 7001f12e: 9407 str r4, [sp, #28] 7001f130: 9008 str r0, [sp, #32] 7001f132: 9109 str r1, [sp, #36] @ 0x24 7001f134: 2d00 cmp r5, #0 7001f136: f47f af53 bne.w 7001efe0 7001f13a: e7b6 b.n 7001f0aa 7001f13c: 4631 mov r1, r6 7001f13e: 4640 mov r0, r8 7001f140: f008 fcdc bl 70027afc 7001f144: 4604 mov r4, r0 7001f146: b930 cbnz r0, 7001f156 7001f148: 4639 mov r1, r7 7001f14a: 4630 mov r0, r6 7001f14c: f008 fcd6 bl 70027afc 7001f150: 4604 mov r4, r0 7001f152: 2800 cmp r0, #0 7001f154: d0d0 beq.n 7001f0f8 7001f156: f8d9 3000 ldr.w r3, [r9] 7001f15a: 2200 movs r2, #0 7001f15c: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001f160: f008 fbf6 bl 70027950 7001f164: 4620 mov r0, r4 7001f166: b00d add sp, #52 @ 0x34 7001f168: ecbd 8b04 vpop {d8-d9} 7001f16c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001f170: 4652 mov r2, sl 7001f172: 4631 mov r1, r6 7001f174: 4640 mov r0, r8 7001f176: f7fe fe1d bl 7001ddb4 7001f17a: 4604 mov r4, r0 7001f17c: 2800 cmp r0, #0 7001f17e: d0b3 beq.n 7001f0e8 7001f180: f8d9 3000 ldr.w r3, [r9] 7001f184: e9c3 bb45 strd fp, fp, [r3, #276] @ 0x114 7001f188: f008 fbe2 bl 70027950 7001f18c: 4620 mov r0, r4 7001f18e: b00d add sp, #52 @ 0x34 7001f190: ecbd 8b04 vpop {d8-d9} 7001f194: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001f198: 2400dc78 .word 0x2400dc78 7001f19c : 7001f19c: b570 push {r4, r5, r6, lr} 7001f19e: 4e27 ldr r6, [pc, #156] @ (7001f23c ) 7001f1a0: 4604 mov r4, r0 7001f1a2: 6833 ldr r3, [r6, #0] 7001f1a4: f893 507c ldrb.w r5, [r3, #124] @ 0x7c 7001f1a8: b34d cbz r5, 7001f1fe 7001f1aa: 2d01 cmp r5, #1 7001f1ac: d015 beq.n 7001f1da 7001f1ae: edd0 2a06 vldr s5, [r0, #24] 7001f1b2: ed90 2a05 vldr s4, [r0, #20] 7001f1b6: edd0 1a08 vldr s3, [r0, #32] 7001f1ba: ed90 1a07 vldr s2, [r0, #28] 7001f1be: edd0 0a04 vldr s1, [r0, #16] 7001f1c2: ed90 0a03 vldr s0, [r0, #12] 7001f1c6: f7fb fc79 bl 7001aabc 7001f1ca: 2800 cmp r0, #0 7001f1cc: bfb4 ite lt 7001f1ce: f64b 4007 movwlt r0, #48135 @ 0xbc07 7001f1d2: f44f 403c movge.w r0, #48128 @ 0xbc00 7001f1d6: f7fa f997 bl 70019508 7001f1da: ed94 2a05 vldr s4, [r4, #20] 7001f1de: edd4 2a06 vldr s5, [r4, #24] 7001f1e2: ed94 1a07 vldr s2, [r4, #28] 7001f1e6: edd4 1a08 vldr s3, [r4, #32] 7001f1ea: ed94 0a03 vldr s0, [r4, #12] 7001f1ee: edd4 0a04 vldr s1, [r4, #16] 7001f1f2: f7fc fc9d bl 7001bb30 7001f1f6: 4604 mov r4, r0 7001f1f8: b9c0 cbnz r0, 7001f22c 7001f1fa: 4620 mov r0, r4 7001f1fc: bd70 pop {r4, r5, r6, pc} 7001f1fe: ed90 2a05 vldr s4, [r0, #20] 7001f202: edd0 2a06 vldr s5, [r0, #24] 7001f206: ed90 1a07 vldr s2, [r0, #28] 7001f20a: edd0 1a08 vldr s3, [r0, #32] 7001f20e: ed90 0a03 vldr s0, [r0, #12] 7001f212: edd0 0a04 vldr s1, [r0, #16] 7001f216: f7ff feb7 bl 7001ef88 7001f21a: 4604 mov r4, r0 7001f21c: 2800 cmp r0, #0 7001f21e: d0ec beq.n 7001f1fa 7001f220: 6833 ldr r3, [r6, #0] 7001f222: e9c3 5545 strd r5, r5, [r3, #276] @ 0x114 7001f226: f008 fb93 bl 70027950 7001f22a: e7e6 b.n 7001f1fa 7001f22c: 6833 ldr r3, [r6, #0] 7001f22e: 2200 movs r2, #0 7001f230: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001f234: f008 fb8c bl 70027950 7001f238: 4620 mov r0, r4 7001f23a: bd70 pop {r4, r5, r6, pc} 7001f23c: 2400dc78 .word 0x2400dc78 7001f240 : 7001f240: 4bcb ldr r3, [pc, #812] @ (7001f570 ) 7001f242: eeb5 6a00 vmov.f32 s12, #80 @ 0x3e800000 0.250 7001f246: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7001f24a: ed2d 8b04 vpush {d8-d9} 7001f24e: 681b ldr r3, [r3, #0] 7001f250: b099 sub sp, #100 @ 0x64 7001f252: 4606 mov r6, r0 7001f254: edd3 5a09 vldr s11, [r3, #36] @ 0x24 7001f258: edd3 7a07 vldr s15, [r3, #28] 7001f25c: edd3 6a0b vldr s13, [r3, #44] @ 0x2c 7001f260: ee77 7aa5 vadd.f32 s15, s15, s11 7001f264: ed93 5a0d vldr s10, [r3, #52] @ 0x34 7001f268: edd3 5a0a vldr s11, [r3, #40] @ 0x28 7001f26c: ed93 7a08 vldr s14, [r3, #32] 7001f270: ee77 7aa6 vadd.f32 s15, s15, s13 7001f274: edd3 4a0c vldr s9, [r3, #48] @ 0x30 7001f278: ee37 7a25 vadd.f32 s14, s14, s11 7001f27c: edd3 5a0e vldr s11, [r3, #56] @ 0x38 7001f280: edd3 6a04 vldr s13, [r3, #16] 7001f284: ee77 7a85 vadd.f32 s15, s15, s10 7001f288: ee37 7a24 vadd.f32 s14, s14, s9 7001f28c: eef8 6ae6 vcvt.f32.s32 s13, s13 7001f290: ee67 7a86 vmul.f32 s15, s15, s12 7001f294: ee37 7a25 vadd.f32 s14, s14, s11 7001f298: eef5 7ac0 vcmpe.f32 s15, #0.0 7001f29c: ee27 7a06 vmul.f32 s14, s14, s12 7001f2a0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001f2a4: f100 83e7 bmi.w 7001fa76 7001f2a8: eef4 6a67 vcmp.f32 s13, s15 7001f2ac: eeb6 6a00 vmov.f32 s12, #96 @ 0x3f000000 0.5 7001f2b0: eef1 fa10 vmrs APSR_nzcv, fpscr 7001f2b4: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001f2b8: bf48 it mi 7001f2ba: eef0 7a66 vmovmi.f32 s15, s13 7001f2be: eef1 fa10 vmrs APSR_nzcv, fpscr 7001f2c2: ee77 7a86 vadd.f32 s15, s15, s12 7001f2c6: bf48 it mi 7001f2c8: ed9f 7aaa vldrmi s14, [pc, #680] @ 7001f574 7001f2cc: eebd 6ae7 vcvt.s32.f32 s12, s15 7001f2d0: ee16 2a10 vmov r2, s12 7001f2d4: 0415 lsls r5, r2, #16 7001f2d6: eef4 6ac7 vcmpe.f32 s13, s14 7001f2da: eef1 fa10 vmrs APSR_nzcv, fpscr 7001f2de: bf54 ite pl 7001f2e0: eef6 6a00 vmovpl.f32 s13, #96 @ 0x3f000000 0.5 7001f2e4: eeb6 7a00 vmovmi.f32 s14, #96 @ 0x3f000000 0.5 7001f2e8: ee37 7a26 vadd.f32 s14, s14, s13 7001f2ec: eefd 6ac7 vcvt.s32.f32 s13, s14 7001f2f0: ee16 1a90 vmov r1, s13 7001f2f4: 040c lsls r4, r1, #16 7001f2f6: f8df 9280 ldr.w r9, [pc, #640] @ 7001f578 7001f2fa: 2002 movs r0, #2 7001f2fc: f8d9 3000 ldr.w r3, [r9] 7001f300: e9c3 21b2 strd r2, r1, [r3, #712] @ 0x2c8 7001f304: edc3 7ab0 vstr s15, [r3, #704] @ 0x2c0 7001f308: ed83 7ab1 vstr s14, [r3, #708] @ 0x2c4 7001f30c: e9c3 54b4 strd r5, r4, [r3, #720] @ 0x2d0 7001f310: f00a fb22 bl 70029958 7001f314: 4603 mov r3, r0 7001f316: 2800 cmp r0, #0 7001f318: f000 8379 beq.w 7001fa0e 7001f31c: f44f 7192 mov.w r1, #292 @ 0x124 7001f320: 2245 movs r2, #69 @ 0x45 7001f322: 6045 str r5, [r0, #4] 7001f324: 6081 str r1, [r0, #8] 7001f326: f44f 7190 mov.w r1, #288 @ 0x120 7001f32a: 60c4 str r4, [r0, #12] 7001f32c: 6001 str r1, [r0, #0] 7001f32e: 2100 movs r1, #0 7001f330: f10d 001b add.w r0, sp, #27 7001f334: f01b fff6 bl 7003b324 7001f338: f240 1101 movw r1, #257 @ 0x101 7001f33c: 2201 movs r2, #1 7001f33e: 6833 ldr r3, [r6, #0] 7001f340: f8ad 1018 strh.w r1, [sp, #24] 7001f344: f88d 201a strb.w r2, [sp, #26] 7001f348: 2b00 cmp r3, #0 7001f34a: f000 8495 beq.w 7001fc78 7001f34e: aa0b add r2, sp, #44 @ 0x2c 7001f350: 2300 movs r3, #0 7001f352: ed9f 8a88 vldr s16, [pc, #544] @ 7001f574 7001f356: 461c mov r4, r3 7001f358: 4692 mov sl, r2 7001f35a: 9203 str r2, [sp, #12] 7001f35c: 68b2 ldr r2, [r6, #8] 7001f35e: 1c67 adds r7, r4, #1 7001f360: 5d14 ldrb r4, [r2, r4] 7001f362: aa09 add r2, sp, #36 @ 0x24 7001f364: f004 086f and.w r8, r4, #111 @ 0x6f 7001f368: f004 0b10 and.w fp, r4, #16 7001f36c: e89a 0003 ldmia.w sl, {r0, r1} 7001f370: f1b8 0f01 cmp.w r8, #1 7001f374: e882 0003 stmia.w r2, {r0, r1} 7001f378: f000 8100 beq.w 7001f57c 7001f37c: f014 017f ands.w r1, r4, #127 @ 0x7f 7001f380: f040 8135 bne.w 7001f5ee 7001f384: f89d 3018 ldrb.w r3, [sp, #24] 7001f388: 2b01 cmp r3, #1 7001f38a: f000 8321 beq.w 7001f9d0 7001f38e: eddd 7a15 vldr s15, [sp, #84] @ 0x54 7001f392: ed9d 7a16 vldr s14, [sp, #88] @ 0x58 7001f396: f8d9 3000 ldr.w r3, [r9] 7001f39a: 2000 movs r0, #0 7001f39c: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 7001f3a0: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001f3a4: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 7001f3a8: f8ad 0019 strh.w r0, [sp, #25] 7001f3ac: edcd 7a11 vstr s15, [sp, #68] @ 0x44 7001f3b0: ed8d 7a12 vstr s14, [sp, #72] @ 0x48 7001f3b4: f88d 405c strb.w r4, [sp, #92] @ 0x5c 7001f3b8: b1fa cbz r2, 7001f3fa 7001f3ba: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 7001f3be: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 7001f3c2: edd3 6a3b vldr s13, [r3, #236] @ 0xec 7001f3c6: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 7001f3ca: ee67 6aa6 vmul.f32 s13, s15, s13 7001f3ce: ee27 6a06 vmul.f32 s12, s14, s12 7001f3d2: ee67 7a85 vmul.f32 s15, s15, s10 7001f3d6: ed93 5a3d vldr s10, [r3, #244] @ 0xf4 7001f3da: ee27 7a25 vmul.f32 s14, s14, s11 7001f3de: edd3 5a40 vldr s11, [r3, #256] @ 0x100 7001f3e2: ee76 6a86 vadd.f32 s13, s13, s12 7001f3e6: ee77 7a87 vadd.f32 s15, s15, s14 7001f3ea: ee36 7a85 vadd.f32 s14, s13, s10 7001f3ee: ee77 7aa5 vadd.f32 s15, s15, s11 7001f3f2: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 7001f3f6: edcd 7a0c vstr s15, [sp, #48] @ 0x30 7001f3fa: 2900 cmp r1, #0 7001f3fc: d136 bne.n 7001f46c 7001f3fe: f1a8 0205 sub.w r2, r8, #5 7001f402: f8d3 5088 ldr.w r5, [r3, #136] @ 0x88 7001f406: 2a03 cmp r2, #3 7001f408: f200 82e7 bhi.w 7001f9da 7001f40c: e8df f002 tbb [pc, r2] 7001f410: 02360236 .word 0x02360236 7001f414: a806 add r0, sp, #24 7001f416: f7ff f8b1 bl 7001e57c 7001f41a: 4601 mov r1, r0 7001f41c: 2800 cmp r0, #0 7001f41e: f040 8374 bne.w 7001fb0a 7001f422: f8d9 3000 ldr.w r3, [r9] 7001f426: 9001 str r0, [sp, #4] 7001f428: 2002 movs r0, #2 7001f42a: e9d3 84b4 ldrd r8, r4, [r3, #720] @ 0x2d0 7001f42e: f00a fa93 bl 70029958 7001f432: 2800 cmp r0, #0 7001f434: f000 82ea beq.w 7001fa0c 7001f438: f44f 7390 mov.w r3, #288 @ 0x120 7001f43c: 9901 ldr r1, [sp, #4] 7001f43e: f8c0 8004 str.w r8, [r0, #4] 7001f442: 6003 str r3, [r0, #0] 7001f444: f44f 7392 mov.w r3, #292 @ 0x124 7001f448: 60c4 str r4, [r0, #12] 7001f44a: 6083 str r3, [r0, #8] 7001f44c: f8d9 3000 ldr.w r3, [r9] 7001f450: f8c3 1088 str.w r1, [r3, #136] @ 0x88 7001f454: 4651 mov r1, sl 7001f456: a809 add r0, sp, #36 @ 0x24 7001f458: f7fc f8d2 bl 7001b600 7001f45c: 4601 mov r1, r0 7001f45e: 2800 cmp r0, #0 7001f460: f040 8353 bne.w 7001fb0a 7001f464: f8d9 3000 ldr.w r3, [r9] 7001f468: f8c3 5088 str.w r5, [r3, #136] @ 0x88 7001f46c: 6833 ldr r3, [r6, #0] 7001f46e: 42bb cmp r3, r7 7001f470: f240 8310 bls.w 7001fa94 7001f474: f89d 305c ldrb.w r3, [sp, #92] @ 0x5c 7001f478: 463c mov r4, r7 7001f47a: e76f b.n 7001f35c 7001f47c: eef6 9a00 vmov.f32 s19, #96 @ 0x3f000000 0.5 7001f480: ed9d 0a09 vldr s0, [sp, #36] @ 0x24 7001f484: ed9d 7a0a vldr s14, [sp, #40] @ 0x28 7001f488: ed93 9ab2 vldr s18, [r3, #712] @ 0x2c8 7001f48c: ee70 7a29 vadd.f32 s15, s0, s19 7001f490: edd3 8ab3 vldr s17, [r3, #716] @ 0x2cc 7001f494: ee37 7a29 vadd.f32 s14, s14, s19 7001f498: edc3 7ab0 vstr s15, [r3, #704] @ 0x2c0 7001f49c: eefd 7ae7 vcvt.s32.f32 s15, s15 7001f4a0: ed83 7ab1 vstr s14, [r3, #708] @ 0x2c4 7001f4a4: ee17 2a90 vmov r2, s15 7001f4a8: edc3 7ab2 vstr s15, [r3, #712] @ 0x2c8 7001f4ac: eefd 7ac7 vcvt.s32.f32 s15, s14 7001f4b0: 0412 lsls r2, r2, #16 7001f4b2: f8c3 22d0 str.w r2, [r3, #720] @ 0x2d0 7001f4b6: ee17 2a90 vmov r2, s15 7001f4ba: edc3 7ab3 vstr s15, [r3, #716] @ 0x2cc 7001f4be: 0412 lsls r2, r2, #16 7001f4c0: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 7001f4c4: f7f9 fb4a bl 70018b5c 7001f4c8: ed9d 0a0a vldr s0, [sp, #40] @ 0x28 7001f4cc: 4680 mov r8, r0 7001f4ce: f7f9 fb45 bl 70018b5c 7001f4d2: 4604 mov r4, r0 7001f4d4: 2002 movs r0, #2 7001f4d6: f00a fa3f bl 70029958 7001f4da: 2800 cmp r0, #0 7001f4dc: f000 8296 beq.w 7001fa0c 7001f4e0: f8c0 8004 str.w r8, [r0, #4] 7001f4e4: f44f 7890 mov.w r8, #288 @ 0x120 7001f4e8: 60c4 str r4, [r0, #12] 7001f4ea: f44f 7492 mov.w r4, #292 @ 0x124 7001f4ee: f8c0 8000 str.w r8, [r0] 7001f4f2: 6084 str r4, [r0, #8] 7001f4f4: a806 add r0, sp, #24 7001f4f6: f7ff fe51 bl 7001f19c 7001f4fa: 4601 mov r1, r0 7001f4fc: 2800 cmp r0, #0 7001f4fe: f040 8304 bne.w 7001fb0a 7001f502: eeb8 7ac9 vcvt.f32.s32 s14, s18 7001f506: f8d9 2000 ldr.w r2, [r9] 7001f50a: eef8 7ae8 vcvt.f32.s32 s15, s17 7001f50e: 9002 str r0, [sp, #8] 7001f510: ee37 7a29 vadd.f32 s14, s14, s19 7001f514: ee77 7aa9 vadd.f32 s15, s15, s19 7001f518: ed82 7ab0 vstr s14, [r2, #704] @ 0x2c0 7001f51c: eebd 7ac7 vcvt.s32.f32 s14, s14 7001f520: edc2 7ab1 vstr s15, [r2, #708] @ 0x2c4 7001f524: eefd 7ae7 vcvt.s32.f32 s15, s15 7001f528: ee17 3a10 vmov r3, s14 7001f52c: ed82 7ab2 vstr s14, [r2, #712] @ 0x2c8 7001f530: ee17 0a90 vmov r0, s15 7001f534: edc2 7ab3 vstr s15, [r2, #716] @ 0x2cc 7001f538: 041b lsls r3, r3, #16 7001f53a: ea4f 4b00 mov.w fp, r0, lsl #16 7001f53e: 2002 movs r0, #2 7001f540: f8c2 32d0 str.w r3, [r2, #720] @ 0x2d0 7001f544: f8c2 b2d4 str.w fp, [r2, #724] @ 0x2d4 7001f548: 9301 str r3, [sp, #4] 7001f54a: f00a fa05 bl 70029958 7001f54e: 2800 cmp r0, #0 7001f550: f000 82ad beq.w 7001faae 7001f554: 9b01 ldr r3, [sp, #4] 7001f556: f8c0 8000 str.w r8, [r0] 7001f55a: 9902 ldr r1, [sp, #8] 7001f55c: f8c0 b00c str.w fp, [r0, #12] 7001f560: e9c0 3401 strd r3, r4, [r0, #4] 7001f564: f8d9 3000 ldr.w r3, [r9] 7001f568: f8c3 1088 str.w r1, [r3, #136] @ 0x88 7001f56c: e772 b.n 7001f454 7001f56e: bf00 nop 7001f570: 2400dc38 .word 0x2400dc38 7001f574: 00000000 .word 0x00000000 7001f578: 2400dc78 .word 0x2400dc78 7001f57c: f89d 1019 ldrb.w r1, [sp, #25] 7001f580: 9807 ldr r0, [sp, #28] 7001f582: 2901 cmp r1, #1 7001f584: f8d9 3000 ldr.w r3, [r9] 7001f588: f000 81e2 beq.w 7001f950 7001f58c: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 7001f590: 1c45 adds r5, r0, #1 7001f592: 9008 str r0, [sp, #32] 7001f594: f8c3 1120 str.w r1, [r3, #288] @ 0x120 7001f598: 2100 movs r1, #0 7001f59a: f88d 1018 strb.w r1, [sp, #24] 7001f59e: 2101 movs r1, #1 7001f5a0: f88d 101a strb.w r1, [sp, #26] 7001f5a4: 0081 lsls r1, r0, #2 7001f5a6: 3002 adds r0, #2 7001f5a8: f101 0c04 add.w ip, r1, #4 7001f5ac: f1bb 0f00 cmp.w fp, #0 7001f5b0: f000 81c3 beq.w 7001f93a 7001f5b4: 68f2 ldr r2, [r6, #12] 7001f5b6: ed9d 7a11 vldr s14, [sp, #68] @ 0x44 7001f5ba: 4411 add r1, r2 7001f5bc: 4462 add r2, ip 7001f5be: eddd 6a12 vldr s13, [sp, #72] @ 0x48 7001f5c2: edd1 7a00 vldr s15, [r1] 7001f5c6: 9507 str r5, [sp, #28] 7001f5c8: ee77 7a87 vadd.f32 s15, s15, s14 7001f5cc: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 7001f5d0: ed92 7a00 vldr s14, [r2] 7001f5d4: ee37 7a26 vadd.f32 s14, s14, s13 7001f5d8: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001f5dc: 2101 movs r1, #1 7001f5de: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 7001f5e2: 9007 str r0, [sp, #28] 7001f5e4: edcd 7a15 vstr s15, [sp, #84] @ 0x54 7001f5e8: ed8d 7a16 vstr s14, [sp, #88] @ 0x58 7001f5ec: e6de b.n 7001f3ac 7001f5ee: 9d07 ldr r5, [sp, #28] 7001f5f0: bb7d cbnz r5, 7001f652 7001f5f2: f8d9 2000 ldr.w r2, [r9] 7001f5f6: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 7001f5fa: f8c2 1120 str.w r1, [r2, #288] @ 0x120 7001f5fe: 2101 movs r1, #1 7001f600: f88d 1018 strb.w r1, [sp, #24] 7001f604: f892 11bc ldrb.w r1, [r2, #444] @ 0x1bc 7001f608: b319 cbz r1, 7001f652 7001f60a: eddd 7a09 vldr s15, [sp, #36] @ 0x24 7001f60e: eddd 6a0a vldr s13, [sp, #40] @ 0x28 7001f612: ed92 5a3e vldr s10, [r2, #248] @ 0xf8 7001f616: edd2 5a3f vldr s11, [r2, #252] @ 0xfc 7001f61a: ed92 7a3b vldr s14, [r2, #236] @ 0xec 7001f61e: ed92 6a3c vldr s12, [r2, #240] @ 0xf0 7001f622: ee27 7a87 vmul.f32 s14, s15, s14 7001f626: ee26 6a86 vmul.f32 s12, s13, s12 7001f62a: ee67 7a85 vmul.f32 s15, s15, s10 7001f62e: ed92 5a3d vldr s10, [r2, #244] @ 0xf4 7001f632: ee66 6aa5 vmul.f32 s13, s13, s11 7001f636: edd2 5a40 vldr s11, [r2, #256] @ 0x100 7001f63a: ee37 7a06 vadd.f32 s14, s14, s12 7001f63e: ee77 7aa6 vadd.f32 s15, s15, s13 7001f642: ee37 7a05 vadd.f32 s14, s14, s10 7001f646: ee77 7aa5 vadd.f32 s15, s15, s11 7001f64a: ed8d 7a09 vstr s14, [sp, #36] @ 0x24 7001f64e: edcd 7a0a vstr s15, [sp, #40] @ 0x28 7001f652: 2200 movs r2, #0 7001f654: f003 036f and.w r3, r3, #111 @ 0x6f 7001f658: 68f1 ldr r1, [r6, #12] 7001f65a: ea4f 0e85 mov.w lr, r5, lsl #2 7001f65e: f88d 201a strb.w r2, [sp, #26] 7001f662: f1a8 0205 sub.w r2, r8, #5 7001f666: eb01 0085 add.w r0, r1, r5, lsl #2 7001f66a: f105 0c01 add.w ip, r5, #1 7001f66e: 9301 str r3, [sp, #4] 7001f670: 2a03 cmp r2, #3 7001f672: f200 8308 bhi.w 7001fc86 7001f676: e8df f012 tbh [pc, r2, lsl #1] 7001f67a: 0115 .short 0x0115 7001f67c: 00a100e4 .word 0x00a100e4 7001f680: 0004 .short 0x0004 7001f682: 9b01 ldr r3, [sp, #4] 7001f684: ed9d 5a11 vldr s10, [sp, #68] @ 0x44 7001f688: 3b05 subs r3, #5 7001f68a: eddd 5a12 vldr s11, [sp, #72] @ 0x48 7001f68e: 2b03 cmp r3, #3 7001f690: f200 81ec bhi.w 7001fa6c 7001f694: ee75 7a05 vadd.f32 s15, s10, s10 7001f698: ed9d 6a13 vldr s12, [sp, #76] @ 0x4c 7001f69c: ee35 7aa5 vadd.f32 s14, s11, s11 7001f6a0: eddd 6a14 vldr s13, [sp, #80] @ 0x50 7001f6a4: ee77 7ac6 vsub.f32 s15, s15, s12 7001f6a8: ee37 7a66 vsub.f32 s14, s14, s13 7001f6ac: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 7001f6b0: 3502 adds r5, #2 7001f6b2: edcd 7a0d vstr s15, [sp, #52] @ 0x34 7001f6b6: ed90 6a00 vldr s12, [r0] 7001f6ba: f8cd c01c str.w ip, [sp, #28] 7001f6be: ed8d 6a0f vstr s12, [sp, #60] @ 0x3c 7001f6c2: edd0 6a01 vldr s13, [r0, #4] 7001f6c6: 9507 str r5, [sp, #28] 7001f6c8: edcd 6a10 vstr s13, [sp, #64] @ 0x40 7001f6cc: f1bb 0f00 cmp.w fp, #0 7001f6d0: f040 81ad bne.w 7001fa2e 7001f6d4: f8d9 3000 ldr.w r3, [r9] 7001f6d8: ed8d 6a13 vstr s12, [sp, #76] @ 0x4c 7001f6dc: edcd 6a14 vstr s13, [sp, #80] @ 0x50 7001f6e0: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001f6e4: b39a cbz r2, 7001f74e 7001f6e6: ed93 5a3b vldr s10, [r3, #236] @ 0xec 7001f6ea: edd3 3a3c vldr s7, [r3, #240] @ 0xf0 7001f6ee: edd3 5a3e vldr s11, [r3, #248] @ 0xf8 7001f6f2: ee67 4a85 vmul.f32 s9, s15, s10 7001f6f6: ed93 4a3f vldr s8, [r3, #252] @ 0xfc 7001f6fa: ee27 3a23 vmul.f32 s6, s14, s7 7001f6fe: ee25 5a06 vmul.f32 s10, s10, s12 7001f702: ee27 7a04 vmul.f32 s14, s14, s8 7001f706: ee67 7aa5 vmul.f32 s15, s15, s11 7001f70a: ee24 4a26 vmul.f32 s8, s8, s13 7001f70e: ee65 5a86 vmul.f32 s11, s11, s12 7001f712: ee63 3aa6 vmul.f32 s7, s7, s13 7001f716: ee77 7a87 vadd.f32 s15, s15, s14 7001f71a: ee34 6a83 vadd.f32 s12, s9, s6 7001f71e: ee75 6a23 vadd.f32 s13, s10, s7 7001f722: ed93 5a3d vldr s10, [r3, #244] @ 0xf4 7001f726: ee35 7a84 vadd.f32 s14, s11, s8 7001f72a: edd3 5a40 vldr s11, [r3, #256] @ 0x100 7001f72e: ee36 6a05 vadd.f32 s12, s12, s10 7001f732: ee77 7aa5 vadd.f32 s15, s15, s11 7001f736: ee76 6a85 vadd.f32 s13, s13, s10 7001f73a: ee37 7a25 vadd.f32 s14, s14, s11 7001f73e: ed8d 6a0d vstr s12, [sp, #52] @ 0x34 7001f742: edcd 7a0e vstr s15, [sp, #56] @ 0x38 7001f746: edcd 6a0f vstr s13, [sp, #60] @ 0x3c 7001f74a: ed8d 7a10 vstr s14, [sp, #64] @ 0x40 7001f74e: ea4f 0e85 mov.w lr, r5, lsl #2 7001f752: f105 0c01 add.w ip, r5, #1 7001f756: eb01 000e add.w r0, r1, lr 7001f75a: 3502 adds r5, #2 7001f75c: edd0 7a00 vldr s15, [r0] 7001f760: f10e 0004 add.w r0, lr, #4 7001f764: f8cd c01c str.w ip, [sp, #28] 7001f768: 4401 add r1, r0 7001f76a: f1bb 0f00 cmp.w fp, #0 7001f76e: f040 8167 bne.w 7001fa40 7001f772: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 7001f776: ed91 7a00 vldr s14, [r1] 7001f77a: 9507 str r5, [sp, #28] 7001f77c: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 7001f780: f893 107c ldrb.w r1, [r3, #124] @ 0x7c 7001f784: 2900 cmp r1, #0 7001f786: f000 816f beq.w 7001fa68 7001f78a: eddd 6a15 vldr s13, [sp, #84] @ 0x54 7001f78e: ee77 6ae6 vsub.f32 s13, s15, s13 7001f792: eef5 6a40 vcmp.f32 s13, #0.0 7001f796: eef1 fa10 vmrs APSR_nzcv, fpscr 7001f79a: f040 8165 bne.w 7001fa68 7001f79e: eddd 6a16 vldr s13, [sp, #88] @ 0x58 7001f7a2: ee77 6a66 vsub.f32 s13, s14, s13 7001f7a6: eef5 6a40 vcmp.f32 s13, #0.0 7001f7aa: eef1 fa10 vmrs APSR_nzcv, fpscr 7001f7ae: bf14 ite ne 7001f7b0: 2101 movne r1, #1 7001f7b2: 2100 moveq r1, #0 7001f7b4: f88d 1019 strb.w r1, [sp, #25] 7001f7b8: 2100 movs r1, #0 7001f7ba: e5f7 b.n 7001f3ac 7001f7bc: 9b01 ldr r3, [sp, #4] 7001f7be: eddd 7a11 vldr s15, [sp, #68] @ 0x44 7001f7c2: 3b05 subs r3, #5 7001f7c4: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 7001f7c8: 2b03 cmp r3, #3 7001f7ca: d80b bhi.n 7001f7e4 7001f7cc: ee77 7aa7 vadd.f32 s15, s15, s15 7001f7d0: ed9d 6a13 vldr s12, [sp, #76] @ 0x4c 7001f7d4: ee37 7a07 vadd.f32 s14, s14, s14 7001f7d8: eddd 6a14 vldr s13, [sp, #80] @ 0x50 7001f7dc: ee77 7ac6 vsub.f32 s15, s15, s12 7001f7e0: ee37 7a66 vsub.f32 s14, s14, s13 7001f7e4: f8d9 3000 ldr.w r3, [r9] 7001f7e8: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 7001f7ec: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001f7f0: edcd 7a0d vstr s15, [sp, #52] @ 0x34 7001f7f4: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 7001f7f8: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 7001f7fc: 2a00 cmp r2, #0 7001f7fe: d0aa beq.n 7001f756 7001f800: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 7001f804: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 7001f808: edd3 6a3b vldr s13, [r3, #236] @ 0xec 7001f80c: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 7001f810: ee67 6aa6 vmul.f32 s13, s15, s13 7001f814: ee27 6a06 vmul.f32 s12, s14, s12 7001f818: ee67 7a85 vmul.f32 s15, s15, s10 7001f81c: ed93 5a3d vldr s10, [r3, #244] @ 0xf4 7001f820: ee27 7a25 vmul.f32 s14, s14, s11 7001f824: edd3 5a40 vldr s11, [r3, #256] @ 0x100 7001f828: ee76 6a86 vadd.f32 s13, s13, s12 7001f82c: ee77 7a87 vadd.f32 s15, s15, s14 7001f830: ee36 7a85 vadd.f32 s14, s13, s10 7001f834: ee77 7aa5 vadd.f32 s15, s15, s11 7001f838: ed8d 7a0d vstr s14, [sp, #52] @ 0x34 7001f83c: edcd 7a0e vstr s15, [sp, #56] @ 0x38 7001f840: e789 b.n 7001f756 7001f842: edd0 7a00 vldr s15, [r0] 7001f846: 1cab adds r3, r5, #2 7001f848: f8cd c01c str.w ip, [sp, #28] 7001f84c: edcd 7a0d vstr s15, [sp, #52] @ 0x34 7001f850: ed90 7a01 vldr s14, [r0, #4] 7001f854: 9307 str r3, [sp, #28] 7001f856: 1ceb adds r3, r5, #3 7001f858: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 7001f85c: 3504 adds r5, #4 7001f85e: ed90 6a02 vldr s12, [r0, #8] 7001f862: 9307 str r3, [sp, #28] 7001f864: ed8d 6a0f vstr s12, [sp, #60] @ 0x3c 7001f868: edd0 6a03 vldr s13, [r0, #12] 7001f86c: 9507 str r5, [sp, #28] 7001f86e: edcd 6a10 vstr s13, [sp, #64] @ 0x40 7001f872: f1bb 0f00 cmp.w fp, #0 7001f876: f43f af2d beq.w 7001f6d4 7001f87a: ed9d 5a11 vldr s10, [sp, #68] @ 0x44 7001f87e: eddd 5a12 vldr s11, [sp, #72] @ 0x48 7001f882: ee77 7a85 vadd.f32 s15, s15, s10 7001f886: ee37 7a25 vadd.f32 s14, s14, s11 7001f88a: ee36 6a05 vadd.f32 s12, s12, s10 7001f88e: ee76 6aa5 vadd.f32 s13, s13, s11 7001f892: edcd 7a0d vstr s15, [sp, #52] @ 0x34 7001f896: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 7001f89a: ed8d 6a0f vstr s12, [sp, #60] @ 0x3c 7001f89e: edcd 6a10 vstr s13, [sp, #64] @ 0x40 7001f8a2: e717 b.n 7001f6d4 7001f8a4: edd0 7a00 vldr s15, [r0] 7001f8a8: 3502 adds r5, #2 7001f8aa: f8cd c01c str.w ip, [sp, #28] 7001f8ae: edcd 7a0d vstr s15, [sp, #52] @ 0x34 7001f8b2: ed90 7a01 vldr s14, [r0, #4] 7001f8b6: 9507 str r5, [sp, #28] 7001f8b8: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 7001f8bc: f1bb 0f00 cmp.w fp, #0 7001f8c0: d00b beq.n 7001f8da 7001f8c2: ed9d 6a11 vldr s12, [sp, #68] @ 0x44 7001f8c6: eddd 6a12 vldr s13, [sp, #72] @ 0x48 7001f8ca: ee77 7a86 vadd.f32 s15, s15, s12 7001f8ce: ee37 7a26 vadd.f32 s14, s14, s13 7001f8d2: edcd 7a0d vstr s15, [sp, #52] @ 0x34 7001f8d6: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 7001f8da: f8d9 3000 ldr.w r3, [r9] 7001f8de: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 7001f8e2: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001f8e6: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 7001f8ea: 2a00 cmp r2, #0 7001f8ec: f43f af2f beq.w 7001f74e 7001f8f0: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 7001f8f4: ea4f 0e85 mov.w lr, r5, lsl #2 7001f8f8: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 7001f8fc: f105 0c01 add.w ip, r5, #1 7001f900: edd3 6a3b vldr s13, [r3, #236] @ 0xec 7001f904: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 7001f908: ee67 6aa6 vmul.f32 s13, s15, s13 7001f90c: ee27 6a06 vmul.f32 s12, s14, s12 7001f910: ee67 7a85 vmul.f32 s15, s15, s10 7001f914: ed93 5a3d vldr s10, [r3, #244] @ 0xf4 7001f918: ee27 7a25 vmul.f32 s14, s14, s11 7001f91c: edd3 5a40 vldr s11, [r3, #256] @ 0x100 7001f920: ee76 6a86 vadd.f32 s13, s13, s12 7001f924: ee77 7a87 vadd.f32 s15, s15, s14 7001f928: ee36 7a85 vadd.f32 s14, s13, s10 7001f92c: ee77 7aa5 vadd.f32 s15, s15, s11 7001f930: ed8d 7a0d vstr s14, [sp, #52] @ 0x34 7001f934: edcd 7a0e vstr s15, [sp, #56] @ 0x38 7001f938: e70d b.n 7001f756 7001f93a: 68f2 ldr r2, [r6, #12] 7001f93c: 4411 add r1, r2 7001f93e: 4462 add r2, ip 7001f940: edd1 7a00 vldr s15, [r1] 7001f944: 9507 str r5, [sp, #28] 7001f946: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 7001f94a: ed92 7a00 vldr s14, [r2] 7001f94e: e643 b.n 7001f5d8 7001f950: 2800 cmp r0, #0 7001f952: f43f ae1b beq.w 7001f58c 7001f956: f893 107c ldrb.w r1, [r3, #124] @ 0x7c 7001f95a: 2900 cmp r1, #0 7001f95c: f43f ae16 beq.w 7001f58c 7001f960: f89d 2018 ldrb.w r2, [sp, #24] 7001f964: 2a00 cmp r2, #0 7001f966: f000 80c1 beq.w 7001faec 7001f96a: eddf 7ad8 vldr s15, [pc, #864] @ 7001fccc 7001f96e: eeb0 7a67 vmov.f32 s14, s15 7001f972: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001f976: b1da cbz r2, 7001f9b0 7001f978: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 7001f97c: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 7001f980: edd3 6a3b vldr s13, [r3, #236] @ 0xec 7001f984: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 7001f988: ee67 6a26 vmul.f32 s13, s14, s13 7001f98c: ee27 6a86 vmul.f32 s12, s15, s12 7001f990: ee27 7a05 vmul.f32 s14, s14, s10 7001f994: ed93 5a3d vldr s10, [r3, #244] @ 0xf4 7001f998: ee67 7aa5 vmul.f32 s15, s15, s11 7001f99c: edd3 5a40 vldr s11, [r3, #256] @ 0x100 7001f9a0: ee76 6a86 vadd.f32 s13, s13, s12 7001f9a4: ee77 7a27 vadd.f32 s15, s14, s15 7001f9a8: ee36 7a85 vadd.f32 s14, s13, s10 7001f9ac: ee77 7aa5 vadd.f32 s15, s15, s11 7001f9b0: a904 add r1, sp, #16 7001f9b2: a809 add r0, sp, #36 @ 0x24 7001f9b4: ed8d 7a04 vstr s14, [sp, #16] 7001f9b8: edcd 7a05 vstr s15, [sp, #20] 7001f9bc: f7ff f882 bl 7001eac4 7001f9c0: 4601 mov r1, r0 7001f9c2: 2800 cmp r0, #0 7001f9c4: f040 810d bne.w 7001fbe2 7001f9c8: f8d9 3000 ldr.w r3, [r9] 7001f9cc: 9807 ldr r0, [sp, #28] 7001f9ce: e5dd b.n 7001f58c 7001f9d0: eeb0 7a48 vmov.f32 s14, s16 7001f9d4: eddf 7abd vldr s15, [pc, #756] @ 7001fccc 7001f9d8: e4dd b.n 7001f396 7001f9da: f004 020f and.w r2, r4, #15 7001f9de: 9202 str r2, [sp, #8] 7001f9e0: 9a02 ldr r2, [sp, #8] 7001f9e2: 2a09 cmp r2, #9 7001f9e4: f040 8207 bne.w 7001fdf6 7001f9e8: a806 add r0, sp, #24 7001f9ea: f7ff f8ad bl 7001eb48 7001f9ee: 4601 mov r1, r0 7001f9f0: 2800 cmp r0, #0 7001f9f2: f040 808a bne.w 7001fb0a 7001f9f6: f8d9 3000 ldr.w r3, [r9] 7001f9fa: 9001 str r0, [sp, #4] 7001f9fc: 2002 movs r0, #2 7001f9fe: e9d3 4bb4 ldrd r4, fp, [r3, #720] @ 0x2d0 7001fa02: f009 ffa9 bl 70029958 7001fa06: 2800 cmp r0, #0 7001fa08: f040 81e7 bne.w 7001fdda 7001fa0c: 4603 mov r3, r0 7001fa0e: f8d9 2000 ldr.w r2, [r9] 7001fa12: f44f 7000 mov.w r0, #512 @ 0x200 7001fa16: e9c2 3345 strd r3, r3, [r2, #276] @ 0x114 7001fa1a: f007 ff99 bl 70027950 7001fa1e: f44f 7b00 mov.w fp, #512 @ 0x200 7001fa22: 4658 mov r0, fp 7001fa24: b019 add sp, #100 @ 0x64 7001fa26: ecbd 8b04 vpop {d8-d9} 7001fa2a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001fa2e: ee36 6a05 vadd.f32 s12, s12, s10 7001fa32: ee76 6aa5 vadd.f32 s13, s13, s11 7001fa36: ed8d 6a0f vstr s12, [sp, #60] @ 0x3c 7001fa3a: edcd 6a10 vstr s13, [sp, #64] @ 0x40 7001fa3e: e649 b.n 7001f6d4 7001fa40: ed9d 7a11 vldr s14, [sp, #68] @ 0x44 7001fa44: eddd 6a12 vldr s13, [sp, #72] @ 0x48 7001fa48: ee77 7a87 vadd.f32 s15, s15, s14 7001fa4c: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 7001fa50: ed91 7a00 vldr s14, [r1] 7001fa54: f893 107c ldrb.w r1, [r3, #124] @ 0x7c 7001fa58: ee37 7a26 vadd.f32 s14, s14, s13 7001fa5c: 9507 str r5, [sp, #28] 7001fa5e: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 7001fa62: 2900 cmp r1, #0 7001fa64: f47f ae91 bne.w 7001f78a 7001fa68: 2101 movs r1, #1 7001fa6a: e6a3 b.n 7001f7b4 7001fa6c: eeb0 7a65 vmov.f32 s14, s11 7001fa70: eef0 7a45 vmov.f32 s15, s10 7001fa74: e61a b.n 7001f6ac 7001fa76: eef5 6ac0 vcmpe.f32 s13, #0.0 7001fa7a: eef1 fa10 vmrs APSR_nzcv, fpscr 7001fa7e: d420 bmi.n 7001fac2 7001fa80: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001fa84: eef1 fa10 vmrs APSR_nzcv, fpscr 7001fa88: d435 bmi.n 7001faf6 7001fa8a: 2500 movs r5, #0 7001fa8c: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 7001fa90: 462a mov r2, r5 7001fa92: e420 b.n 7001f2d6 7001fa94: f89d 3019 ldrb.w r3, [sp, #25] 7001fa98: 2b01 cmp r3, #1 7001fa9a: f000 80b8 beq.w 7001fc0e 7001fa9e: f04f 0b00 mov.w fp, #0 7001faa2: 4658 mov r0, fp 7001faa4: b019 add sp, #100 @ 0x64 7001faa6: ecbd 8b04 vpop {d8-d9} 7001faaa: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001faae: 4602 mov r2, r0 7001fab0: f8d9 3000 ldr.w r3, [r9] 7001fab4: f44f 7000 mov.w r0, #512 @ 0x200 7001fab8: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001fabc: f007 ff48 bl 70027950 7001fac0: e7ad b.n 7001fa1e 7001fac2: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 7001fac6: eeb5 7ac0 vcmpe.f32 s14, #0.0 7001faca: ee76 7aa7 vadd.f32 s15, s13, s15 7001face: eef1 fa10 vmrs APSR_nzcv, fpscr 7001fad2: eebd 6ae7 vcvt.s32.f32 s12, s15 7001fad6: ee16 2a10 vmov r2, s12 7001fada: ea4f 4502 mov.w r5, r2, lsl #16 7001fade: f57f abfa bpl.w 7001f2d6 7001fae2: eeb0 7a67 vmov.f32 s14, s15 7001fae6: 462c mov r4, r5 7001fae8: 4611 mov r1, r2 7001faea: e404 b.n 7001f2f6 7001faec: ed9d 7a15 vldr s14, [sp, #84] @ 0x54 7001faf0: eddd 7a16 vldr s15, [sp, #88] @ 0x58 7001faf4: e73d b.n 7001f972 7001faf6: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 7001fafa: 2400 movs r4, #0 7001fafc: 4625 mov r5, r4 7001fafe: 4621 mov r1, r4 7001fb00: eef0 7a47 vmov.f32 s15, s14 7001fb04: 4622 mov r2, r4 7001fb06: f7ff bbf6 b.w 7001f2f6 7001fb0a: 468b mov fp, r1 7001fb0c: f8d9 3000 ldr.w r3, [r9] 7001fb10: 2200 movs r2, #0 7001fb12: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001fb16: f007 ff1b bl 70027950 7001fb1a: 4658 mov r0, fp 7001fb1c: b019 add sp, #100 @ 0x64 7001fb1e: ecbd 8b04 vpop {d8-d9} 7001fb22: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001fb26: edd0 7a00 vldr s15, [r0] 7001fb2a: f8cd c01c str.w ip, [sp, #28] 7001fb2e: eefd 7ae7 vcvt.s32.f32 s15, s15 7001fb32: ee17 2a90 vmov r2, s15 7001fb36: 2a00 cmp r2, #0 7001fb38: 4610 mov r0, r2 7001fb3a: bfb8 it lt 7001fb3c: 1c50 addlt r0, r2, #1 7001fb3e: 2a01 cmp r2, #1 7001fb40: ea4f 0560 mov.w r5, r0, asr #1 7001fb44: f300 821a bgt.w 7001ff7c 7001fb48: eddd 6a15 vldr s13, [sp, #84] @ 0x54 7001fb4c: ed9d 7a11 vldr s14, [sp, #68] @ 0x44 7001fb50: eddd 7a16 vldr s15, [sp, #88] @ 0x58 7001fb54: ee37 7a66 vsub.f32 s14, s14, s13 7001fb58: eeb5 7a40 vcmp.f32 s14, #0.0 7001fb5c: eef1 fa10 vmrs APSR_nzcv, fpscr 7001fb60: d109 bne.n 7001fb76 7001fb62: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 7001fb66: ee37 7a67 vsub.f32 s14, s14, s15 7001fb6a: eeb5 7a40 vcmp.f32 s14, #0.0 7001fb6e: eef1 fa10 vmrs APSR_nzcv, fpscr 7001fb72: f000 81b5 beq.w 7001fee0 7001fb76: f8d9 3000 ldr.w r3, [r9] 7001fb7a: ac09 add r4, sp, #36 @ 0x24 7001fb7c: edcd 6a11 vstr s13, [sp, #68] @ 0x44 7001fb80: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001fb84: edcd 7a12 vstr s15, [sp, #72] @ 0x48 7001fb88: e89a 0003 ldmia.w sl, {r0, r1} 7001fb8c: edcd 6a0b vstr s13, [sp, #44] @ 0x2c 7001fb90: edcd 7a0c vstr s15, [sp, #48] @ 0x30 7001fb94: e884 0003 stmia.w r4, {r0, r1} 7001fb98: b1da cbz r2, 7001fbd2 7001fb9a: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 7001fb9e: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 7001fba2: edd3 4a3b vldr s9, [r3, #236] @ 0xec 7001fba6: ee27 7a87 vmul.f32 s14, s15, s14 7001fbaa: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 7001fbae: ee67 7a86 vmul.f32 s15, s15, s12 7001fbb2: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 7001fbb6: ed93 6a40 vldr s12, [r3, #256] @ 0x100 7001fbba: ee06 7aa4 vmla.f32 s14, s13, s9 7001fbbe: ee46 7a85 vmla.f32 s15, s13, s10 7001fbc2: ee37 7a25 vadd.f32 s14, s14, s11 7001fbc6: ee77 7a86 vadd.f32 s15, s15, s12 7001fbca: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 7001fbce: edcd 7a0c vstr s15, [sp, #48] @ 0x30 7001fbd2: 4651 mov r1, sl 7001fbd4: a809 add r0, sp, #36 @ 0x24 7001fbd6: f7fe ff75 bl 7001eac4 7001fbda: 4601 mov r1, r0 7001fbdc: 2800 cmp r0, #0 7001fbde: f000 817f beq.w 7001fee0 7001fbe2: f8d9 3000 ldr.w r3, [r9] 7001fbe6: 2200 movs r2, #0 7001fbe8: 468b mov fp, r1 7001fbea: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001fbee: f007 feaf bl 70027950 7001fbf2: f8d9 3000 ldr.w r3, [r9] 7001fbf6: 2200 movs r2, #0 7001fbf8: 4658 mov r0, fp 7001fbfa: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7001fbfe: f007 fea7 bl 70027950 7001fc02: 4658 mov r0, fp 7001fc04: b019 add sp, #100 @ 0x64 7001fc06: ecbd 8b04 vpop {d8-d9} 7001fc0a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7001fc0e: f89d 3018 ldrb.w r3, [sp, #24] 7001fc12: bb9b cbnz r3, 7001fc7c 7001fc14: ed9d 7a15 vldr s14, [sp, #84] @ 0x54 7001fc18: eddd 7a16 vldr s15, [sp, #88] @ 0x58 7001fc1c: f8d9 3000 ldr.w r3, [r9] 7001fc20: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001fc24: b1da cbz r2, 7001fc5e 7001fc26: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 7001fc2a: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 7001fc2e: edd3 6a3b vldr s13, [r3, #236] @ 0xec 7001fc32: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 7001fc36: ee67 6a26 vmul.f32 s13, s14, s13 7001fc3a: ee27 6a86 vmul.f32 s12, s15, s12 7001fc3e: ee27 7a05 vmul.f32 s14, s14, s10 7001fc42: ed93 5a3d vldr s10, [r3, #244] @ 0xf4 7001fc46: ee67 7aa5 vmul.f32 s15, s15, s11 7001fc4a: edd3 5a40 vldr s11, [r3, #256] @ 0x100 7001fc4e: ee76 6a86 vadd.f32 s13, s13, s12 7001fc52: ee77 7a27 vadd.f32 s15, s14, s15 7001fc56: ee36 7a85 vadd.f32 s14, s13, s10 7001fc5a: ee77 7aa5 vadd.f32 s15, s15, s11 7001fc5e: a904 add r1, sp, #16 7001fc60: 9803 ldr r0, [sp, #12] 7001fc62: ed8d 7a04 vstr s14, [sp, #16] 7001fc66: edcd 7a05 vstr s15, [sp, #20] 7001fc6a: f7fb fcc9 bl 7001b600 7001fc6e: 4683 mov fp, r0 7001fc70: 2800 cmp r0, #0 7001fc72: f43f af14 beq.w 7001fa9e 7001fc76: e749 b.n 7001fb0c 7001fc78: ab0b add r3, sp, #44 @ 0x2c 7001fc7a: 9303 str r3, [sp, #12] 7001fc7c: eddf 7a13 vldr s15, [pc, #76] @ 7001fccc 7001fc80: eeb0 7a67 vmov.f32 s14, s15 7001fc84: e7ca b.n 7001fc1c 7001fc86: f004 030f and.w r3, r4, #15 7001fc8a: 2b09 cmp r3, #9 7001fc8c: 9302 str r3, [sp, #8] 7001fc8e: d01f beq.n 7001fcd0 7001fc90: f1a8 0203 sub.w r2, r8, #3 7001fc94: eb01 000e add.w r0, r1, lr 7001fc98: f8cd c004 str.w ip, [sp, #4] 7001fc9c: 2a08 cmp r2, #8 7001fc9e: f200 8144 bhi.w 7001ff2a 7001fca2: a301 add r3, pc, #4 @ (adr r3, 7001fca8 ) 7001fca4: f853 f022 ldr.w pc, [r3, r2, lsl #2] 7001fca8: 7001feff .word 0x7001feff 7001fcac: 7001ff3f .word 0x7001ff3f 7001fcb0: 7001ff2b .word 0x7001ff2b 7001fcb4: 7001ff2b .word 0x7001ff2b 7001fcb8: 7001ff2b .word 0x7001ff2b 7001fcbc: 7001ff2b .word 0x7001ff2b 7001fcc0: 7001ff2b .word 0x7001ff2b 7001fcc4: 7001fb27 .word 0x7001fb27 7001fcc8: 7001fd1b .word 0x7001fd1b 7001fccc: 00000000 .word 0x00000000 7001fcd0: 6803 ldr r3, [r0, #0] 7001fcd2: f8cd c01c str.w ip, [sp, #28] 7001fcd6: 930d str r3, [sp, #52] @ 0x34 7001fcd8: f8d9 3000 ldr.w r3, [r9] 7001fcdc: 9101 str r1, [sp, #4] 7001fcde: edd3 0a3b vldr s1, [r3, #236] @ 0xec 7001fce2: ed93 0a3e vldr s0, [r3, #248] @ 0xf8 7001fce6: 6843 ldr r3, [r0, #4] 7001fce8: 930e str r3, [sp, #56] @ 0x38 7001fcea: 1cab adds r3, r5, #2 7001fcec: 3503 adds r5, #3 7001fcee: 9307 str r3, [sp, #28] 7001fcf0: edd0 8a02 vldr s17, [r0, #8] 7001fcf4: 9507 str r5, [sp, #28] 7001fcf6: f019 fd9d bl 70039834 7001fcfa: 9b11 ldr r3, [sp, #68] @ 0x44 7001fcfc: ee78 8a80 vadd.f32 s17, s17, s0 7001fd00: ea4f 0e85 mov.w lr, r5, lsl #2 7001fd04: f105 0c01 add.w ip, r5, #1 7001fd08: 9313 str r3, [sp, #76] @ 0x4c 7001fd0a: 9b12 ldr r3, [sp, #72] @ 0x48 7001fd0c: 9901 ldr r1, [sp, #4] 7001fd0e: f88d 401b strb.w r4, [sp, #27] 7001fd12: edcd 8a0f vstr s17, [sp, #60] @ 0x3c 7001fd16: 9314 str r3, [sp, #80] @ 0x50 7001fd18: e7ba b.n 7001fc90 7001fd1a: edd0 7a00 vldr s15, [r0] 7001fd1e: f8cd c01c str.w ip, [sp, #28] 7001fd22: eefd 7ae7 vcvt.s32.f32 s15, s15 7001fd26: ee17 2a90 vmov r2, s15 7001fd2a: 2a00 cmp r2, #0 7001fd2c: 4610 mov r0, r2 7001fd2e: bfb8 it lt 7001fd30: 1c50 addlt r0, r2, #1 7001fd32: 2a01 cmp r2, #1 7001fd34: ea4f 0560 mov.w r5, r0, asr #1 7001fd38: f340 80b7 ble.w 7001feaa 7001fd3c: f1bb 0f00 cmp.w fp, #0 7001fd40: d161 bne.n 7001fe06 7001fd42: 9b01 ldr r3, [sp, #4] 7001fd44: 4608 mov r0, r1 7001fd46: eb00 0083 add.w r0, r0, r3, lsl #2 7001fd4a: f103 0c01 add.w ip, r3, #1 7001fd4e: f8d9 2000 ldr.w r2, [r9] 7001fd52: 3302 adds r3, #2 7001fd54: edd0 7a00 vldr s15, [r0] 7001fd58: 4651 mov r1, sl 7001fd5a: f8cd c01c str.w ip, [sp, #28] 7001fd5e: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 7001fd62: edd0 6a01 vldr s13, [r0, #4] 7001fd66: a809 add r0, sp, #36 @ 0x24 7001fd68: 9307 str r3, [sp, #28] 7001fd6a: f892 31bc ldrb.w r3, [r2, #444] @ 0x1bc 7001fd6e: edcd 6a0c vstr s13, [sp, #48] @ 0x30 7001fd72: edcd 7a11 vstr s15, [sp, #68] @ 0x44 7001fd76: edcd 6a12 vstr s13, [sp, #72] @ 0x48 7001fd7a: f88d 405c strb.w r4, [sp, #92] @ 0x5c 7001fd7e: b1db cbz r3, 7001fdb8 7001fd80: ed92 6a3e vldr s12, [r2, #248] @ 0xf8 7001fd84: ed92 7a3b vldr s14, [r2, #236] @ 0xec 7001fd88: edd2 4a3c vldr s9, [r2, #240] @ 0xf0 7001fd8c: ee27 7a87 vmul.f32 s14, s15, s14 7001fd90: ed92 5a3f vldr s10, [r2, #252] @ 0xfc 7001fd94: ee67 7a86 vmul.f32 s15, s15, s12 7001fd98: edd2 5a3d vldr s11, [r2, #244] @ 0xf4 7001fd9c: ed92 6a40 vldr s12, [r2, #256] @ 0x100 7001fda0: ee06 7aa4 vmla.f32 s14, s13, s9 7001fda4: ee46 7a85 vmla.f32 s15, s13, s10 7001fda8: ee37 7a25 vadd.f32 s14, s14, s11 7001fdac: ee77 7a86 vadd.f32 s15, s15, s12 7001fdb0: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 7001fdb4: edcd 7a0c vstr s15, [sp, #48] @ 0x30 7001fdb8: f10b 0b01 add.w fp, fp, #1 7001fdbc: f7fe fe82 bl 7001eac4 7001fdc0: 2800 cmp r0, #0 7001fdc2: f040 8127 bne.w 70020014 7001fdc6: ab09 add r3, sp, #36 @ 0x24 7001fdc8: 455d cmp r5, fp 7001fdca: e89a 0003 ldmia.w sl, {r0, r1} 7001fdce: e883 0003 stmia.w r3, {r0, r1} 7001fdd2: dd6a ble.n 7001feaa 7001fdd4: 68f0 ldr r0, [r6, #12] 7001fdd6: 9b07 ldr r3, [sp, #28] 7001fdd8: e7b5 b.n 7001fd46 7001fdda: f44f 7290 mov.w r2, #288 @ 0x120 7001fdde: 9901 ldr r1, [sp, #4] 7001fde0: 6044 str r4, [r0, #4] 7001fde2: 6002 str r2, [r0, #0] 7001fde4: f44f 7292 mov.w r2, #292 @ 0x124 7001fde8: f8d9 3000 ldr.w r3, [r9] 7001fdec: f8c0 b00c str.w fp, [r0, #12] 7001fdf0: 6082 str r2, [r0, #8] 7001fdf2: f8c3 1088 str.w r1, [r3, #136] @ 0x88 7001fdf6: f1a8 080a sub.w r8, r8, #10 7001fdfa: f1b8 0f01 cmp.w r8, #1 7001fdfe: f67f ab33 bls.w 7001f468 7001fe02: f7ff bb27 b.w 7001f454 7001fe06: f04f 0b00 mov.w fp, #0 7001fe0a: 9b01 ldr r3, [sp, #4] 7001fe0c: 460a mov r2, r1 7001fe0e: eb02 0283 add.w r2, r2, r3, lsl #2 7001fe12: eddd 7a11 vldr s15, [sp, #68] @ 0x44 7001fe16: 1c58 adds r0, r3, #1 7001fe18: 3302 adds r3, #2 7001fe1a: edd2 6a00 vldr s13, [r2] 7001fe1e: 4651 mov r1, sl 7001fe20: 9007 str r0, [sp, #28] 7001fe22: a809 add r0, sp, #36 @ 0x24 7001fe24: ee76 6aa7 vadd.f32 s13, s13, s15 7001fe28: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 7001fe2c: edcd 6a0b vstr s13, [sp, #44] @ 0x2c 7001fe30: edd2 7a01 vldr s15, [r2, #4] 7001fe34: 9307 str r3, [sp, #28] 7001fe36: f8d9 3000 ldr.w r3, [r9] 7001fe3a: ee77 7a87 vadd.f32 s15, s15, s14 7001fe3e: edcd 6a11 vstr s13, [sp, #68] @ 0x44 7001fe42: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001fe46: f88d 405c strb.w r4, [sp, #92] @ 0x5c 7001fe4a: edcd 7a0c vstr s15, [sp, #48] @ 0x30 7001fe4e: edcd 7a12 vstr s15, [sp, #72] @ 0x48 7001fe52: b1da cbz r2, 7001fe8c 7001fe54: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 7001fe58: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 7001fe5c: edd3 4a3b vldr s9, [r3, #236] @ 0xec 7001fe60: ee27 7a87 vmul.f32 s14, s15, s14 7001fe64: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 7001fe68: ee67 7a86 vmul.f32 s15, s15, s12 7001fe6c: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 7001fe70: ed93 6a40 vldr s12, [r3, #256] @ 0x100 7001fe74: ee06 7aa4 vmla.f32 s14, s13, s9 7001fe78: ee46 7a85 vmla.f32 s15, s13, s10 7001fe7c: ee37 7a25 vadd.f32 s14, s14, s11 7001fe80: ee77 7a86 vadd.f32 s15, s15, s12 7001fe84: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 7001fe88: edcd 7a0c vstr s15, [sp, #48] @ 0x30 7001fe8c: f10b 0b01 add.w fp, fp, #1 7001fe90: f7fe fe18 bl 7001eac4 7001fe94: 2800 cmp r0, #0 7001fe96: f040 80bd bne.w 70020014 7001fe9a: ab09 add r3, sp, #36 @ 0x24 7001fe9c: 455d cmp r5, fp 7001fe9e: e89a 0003 ldmia.w sl, {r0, r1} 7001fea2: e883 0003 stmia.w r3, {r0, r1} 7001fea6: f300 80be bgt.w 70020026 7001feaa: f8d9 3000 ldr.w r3, [r9] 7001feae: f893 307c ldrb.w r3, [r3, #124] @ 0x7c 7001feb2: b313 cbz r3, 7001fefa 7001feb4: eddd 7a11 vldr s15, [sp, #68] @ 0x44 7001feb8: ed9d 7a15 vldr s14, [sp, #84] @ 0x54 7001febc: ee77 7ac7 vsub.f32 s15, s15, s14 7001fec0: eef5 7a40 vcmp.f32 s15, #0.0 7001fec4: eef1 fa10 vmrs APSR_nzcv, fpscr 7001fec8: d117 bne.n 7001fefa 7001feca: eddd 7a12 vldr s15, [sp, #72] @ 0x48 7001fece: ed9d 7a16 vldr s14, [sp, #88] @ 0x58 7001fed2: ee77 7ac7 vsub.f32 s15, s15, s14 7001fed6: eef5 7a40 vcmp.f32 s15, #0.0 7001feda: eef1 fa10 vmrs APSR_nzcv, fpscr 7001fede: d10c bne.n 7001fefa 7001fee0: 2300 movs r3, #0 7001fee2: f88d 3019 strb.w r3, [sp, #25] 7001fee6: f89d 301a ldrb.w r3, [sp, #26] 7001feea: 2b00 cmp r3, #0 7001feec: f47f aabe bne.w 7001f46c 7001fef0: f8d9 3000 ldr.w r3, [r9] 7001fef4: f8d3 5088 ldr.w r5, [r3, #136] @ 0x88 7001fef8: e572 b.n 7001f9e0 7001fefa: 2301 movs r3, #1 7001fefc: e7f1 b.n 7001fee2 7001fefe: f8d9 3000 ldr.w r3, [r9] 7001ff02: edd0 7a00 vldr s15, [r0] 7001ff06: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 7001ff0a: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001ff0e: f8cd c01c str.w ip, [sp, #28] 7001ff12: f1bb 0f00 cmp.w fp, #0 7001ff16: d00d beq.n 7001ff34 7001ff18: eddd 6a11 vldr s13, [sp, #68] @ 0x44 7001ff1c: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 7001ff20: ee77 7aa6 vadd.f32 s15, s15, s13 7001ff24: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 7001ff28: e42a b.n 7001f780 7001ff2a: f8d9 3000 ldr.w r3, [r9] 7001ff2e: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001ff32: e410 b.n 7001f756 7001ff34: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 7001ff38: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 7001ff3c: e420 b.n 7001f780 7001ff3e: f8d9 3000 ldr.w r3, [r9] 7001ff42: eddd 7a11 vldr s15, [sp, #68] @ 0x44 7001ff46: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001ff4a: f1bb 0f00 cmp.w fp, #0 7001ff4e: d00c beq.n 7001ff6a 7001ff50: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 7001ff54: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 7001ff58: edd0 6a00 vldr s13, [r0] 7001ff5c: f8cd c01c str.w ip, [sp, #28] 7001ff60: ee37 7a26 vadd.f32 s14, s14, s13 7001ff64: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 7001ff68: e40a b.n 7001f780 7001ff6a: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 7001ff6e: ed90 7a00 vldr s14, [r0] 7001ff72: f8cd c01c str.w ip, [sp, #28] 7001ff76: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 7001ff7a: e401 b.n 7001f780 7001ff7c: f1bb 0f00 cmp.w fp, #0 7001ff80: d054 beq.n 7002002c 7001ff82: f04f 0b00 mov.w fp, #0 7001ff86: 9b01 ldr r3, [sp, #4] 7001ff88: 460a mov r2, r1 7001ff8a: eb02 0283 add.w r2, r2, r3, lsl #2 7001ff8e: eddd 7a11 vldr s15, [sp, #68] @ 0x44 7001ff92: 1c58 adds r0, r3, #1 7001ff94: 3302 adds r3, #2 7001ff96: edd2 6a00 vldr s13, [r2] 7001ff9a: 4651 mov r1, sl 7001ff9c: 9007 str r0, [sp, #28] 7001ff9e: a809 add r0, sp, #36 @ 0x24 7001ffa0: ee76 6aa7 vadd.f32 s13, s13, s15 7001ffa4: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 7001ffa8: edcd 6a0b vstr s13, [sp, #44] @ 0x2c 7001ffac: edd2 7a01 vldr s15, [r2, #4] 7001ffb0: 9307 str r3, [sp, #28] 7001ffb2: f8d9 3000 ldr.w r3, [r9] 7001ffb6: ee77 7a87 vadd.f32 s15, s15, s14 7001ffba: edcd 6a11 vstr s13, [sp, #68] @ 0x44 7001ffbe: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7001ffc2: f88d 405c strb.w r4, [sp, #92] @ 0x5c 7001ffc6: edcd 7a0c vstr s15, [sp, #48] @ 0x30 7001ffca: edcd 7a12 vstr s15, [sp, #72] @ 0x48 7001ffce: b1da cbz r2, 70020008 7001ffd0: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 7001ffd4: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 7001ffd8: edd3 4a3b vldr s9, [r3, #236] @ 0xec 7001ffdc: ee27 7a87 vmul.f32 s14, s15, s14 7001ffe0: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 7001ffe4: ee67 7a86 vmul.f32 s15, s15, s12 7001ffe8: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 7001ffec: ed93 6a40 vldr s12, [r3, #256] @ 0x100 7001fff0: ee06 7aa4 vmla.f32 s14, s13, s9 7001fff4: ee46 7a85 vmla.f32 s15, s13, s10 7001fff8: ee37 7a25 vadd.f32 s14, s14, s11 7001fffc: ee77 7a86 vadd.f32 s15, s15, s12 70020000: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 70020004: edcd 7a0c vstr s15, [sp, #48] @ 0x30 70020008: f10b 0b01 add.w fp, fp, #1 7002000c: f7fe fd5a bl 7001eac4 70020010: 2800 cmp r0, #0 70020012: d057 beq.n 700200c4 70020014: f8d9 3000 ldr.w r3, [r9] 70020018: 2200 movs r2, #0 7002001a: 4683 mov fp, r0 7002001c: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 70020020: f007 fc96 bl 70027950 70020024: e5e5 b.n 7001fbf2 70020026: 68f2 ldr r2, [r6, #12] 70020028: 9b07 ldr r3, [sp, #28] 7002002a: e6f0 b.n 7001fe0e 7002002c: 9b01 ldr r3, [sp, #4] 7002002e: 4608 mov r0, r1 70020030: eb00 0083 add.w r0, r0, r3, lsl #2 70020034: f103 0c01 add.w ip, r3, #1 70020038: f8d9 2000 ldr.w r2, [r9] 7002003c: 3302 adds r3, #2 7002003e: edd0 7a00 vldr s15, [r0] 70020042: 4651 mov r1, sl 70020044: f8cd c01c str.w ip, [sp, #28] 70020048: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 7002004c: edd0 6a01 vldr s13, [r0, #4] 70020050: a809 add r0, sp, #36 @ 0x24 70020052: 9307 str r3, [sp, #28] 70020054: f892 31bc ldrb.w r3, [r2, #444] @ 0x1bc 70020058: edcd 6a0c vstr s13, [sp, #48] @ 0x30 7002005c: edcd 7a11 vstr s15, [sp, #68] @ 0x44 70020060: edcd 6a12 vstr s13, [sp, #72] @ 0x48 70020064: f88d 405c strb.w r4, [sp, #92] @ 0x5c 70020068: b1db cbz r3, 700200a2 7002006a: ed92 6a3e vldr s12, [r2, #248] @ 0xf8 7002006e: ed92 7a3b vldr s14, [r2, #236] @ 0xec 70020072: edd2 4a3c vldr s9, [r2, #240] @ 0xf0 70020076: ee27 7a87 vmul.f32 s14, s15, s14 7002007a: ed92 5a3f vldr s10, [r2, #252] @ 0xfc 7002007e: ee67 7a86 vmul.f32 s15, s15, s12 70020082: edd2 5a3d vldr s11, [r2, #244] @ 0xf4 70020086: ed92 6a40 vldr s12, [r2, #256] @ 0x100 7002008a: ee06 7aa4 vmla.f32 s14, s13, s9 7002008e: ee46 7a85 vmla.f32 s15, s13, s10 70020092: ee37 7a25 vadd.f32 s14, s14, s11 70020096: ee77 7a86 vadd.f32 s15, s15, s12 7002009a: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 7002009e: edcd 7a0c vstr s15, [sp, #48] @ 0x30 700200a2: f10b 0b01 add.w fp, fp, #1 700200a6: f7fe fd0d bl 7001eac4 700200aa: 2800 cmp r0, #0 700200ac: d1b2 bne.n 70020014 700200ae: ab09 add r3, sp, #36 @ 0x24 700200b0: 455d cmp r5, fp 700200b2: e89a 0003 ldmia.w sl, {r0, r1} 700200b6: e883 0003 stmia.w r3, {r0, r1} 700200ba: f77f ad45 ble.w 7001fb48 700200be: 68f0 ldr r0, [r6, #12] 700200c0: 9b07 ldr r3, [sp, #28] 700200c2: e7b5 b.n 70020030 700200c4: e89a 0003 ldmia.w sl, {r0, r1} 700200c8: ab09 add r3, sp, #36 @ 0x24 700200ca: 45ab cmp fp, r5 700200cc: e883 0003 stmia.w r3, {r0, r1} 700200d0: f6bf ad3a bge.w 7001fb48 700200d4: 68f2 ldr r2, [r6, #12] 700200d6: 9b07 ldr r3, [sp, #28] 700200d8: e757 b.n 7001ff8a 700200da: bf00 nop 700200dc : 700200dc: ed90 7a00 vldr s14, [r0] 700200e0: edd0 7a01 vldr s15, [r0, #4] 700200e4: ee21 1a07 vmul.f32 s2, s2, s14 700200e8: ee61 1aa7 vmul.f32 s3, s3, s15 700200ec: ee61 7a00 vmul.f32 s15, s2, s0 700200f0: ee21 7aa0 vmul.f32 s14, s3, s1 700200f4: ee21 1a20 vmul.f32 s2, s2, s1 700200f8: ee61 1a80 vmul.f32 s3, s3, s0 700200fc: ee77 7ac7 vsub.f32 s15, s15, s14 70020100: ee31 1a21 vadd.f32 s2, s2, s3 70020104: ee77 7a82 vadd.f32 s15, s15, s4 70020108: ee31 1a22 vadd.f32 s2, s2, s5 7002010c: edc0 7a00 vstr s15, [r0] 70020110: ed80 1a01 vstr s2, [r0, #4] 70020114: 4770 bx lr 70020116: bf00 nop 70020118 : 70020118: b5f0 push {r4, r5, r6, r7, lr} 7002011a: ed2d 8b06 vpush {d8-d10} 7002011e: b0e3 sub sp, #396 @ 0x18c 70020120: eeb0 9a40 vmov.f32 s18, s0 70020124: eeb0 8a60 vmov.f32 s16, s1 70020128: 460f mov r7, r1 7002012a: eef0 8a41 vmov.f32 s17, s2 7002012e: 4606 mov r6, r0 70020130: f7f9 fbb6 bl 700198a0 70020134: 2800 cmp r0, #0 70020136: ed9f 7a4a vldr s14, [pc, #296] @ 70020260 7002013a: 4605 mov r5, r0 7002013c: bfb4 ite lt 7002013e: 1c44 addlt r4, r0, #1 70020140: 4604 movge r4, r0 70020142: 1064 asrs r4, r4, #1 70020144: ee07 4a90 vmov s15, r4 70020148: eef8 7ae7 vcvt.f32.s32 s15, s15 7002014c: ee87 aa27 vdiv.f32 s20, s14, s15 70020150: eeb0 0a4a vmov.f32 s0, s20 70020154: f7f8 fc2c bl 700189b0 70020158: eef0 9a40 vmov.f32 s19, s0 7002015c: eeb0 0a4a vmov.f32 s0, s20 70020160: 2f00 cmp r7, #0 70020162: d069 beq.n 70020238 70020164: f7f8 fba4 bl 700188b0 70020168: ee28 7a49 vnmul.f32 s14, s16, s18 7002016c: ed96 5a00 vldr s10, [r6] 70020170: ee68 7ac9 vnmul.f32 s15, s17, s18 70020174: edd6 4a01 vldr s9, [r6, #4] 70020178: 2d03 cmp r5, #3 7002017a: ee37 7a05 vadd.f32 s14, s14, s10 7002017e: ee77 7aa4 vadd.f32 s15, s15, s9 70020182: ed8d 7a00 vstr s14, [sp] 70020186: edcd 7a01 vstr s15, [sp, #4] 7002018a: dd1d ble.n 700201c8 7002018c: 466b mov r3, sp 7002018e: 2201 movs r2, #1 70020190: ee29 7a08 vmul.f32 s14, s18, s16 70020194: 3201 adds r2, #1 70020196: ee69 7a28 vmul.f32 s15, s18, s17 7002019a: 3308 adds r3, #8 7002019c: ee60 5a08 vmul.f32 s11, s0, s16 700201a0: 4294 cmp r4, r2 700201a2: ee60 6a28 vmul.f32 s13, s0, s17 700201a6: ee29 6aa8 vmul.f32 s12, s19, s17 700201aa: ee29 8a88 vmul.f32 s16, s19, s16 700201ae: ee37 7a05 vadd.f32 s14, s14, s10 700201b2: ee77 7aa4 vadd.f32 s15, s15, s9 700201b6: ee75 8a86 vadd.f32 s17, s11, s12 700201ba: ee38 8a66 vsub.f32 s16, s16, s13 700201be: ed83 7a00 vstr s14, [r3] 700201c2: edc3 7a01 vstr s15, [r3, #4] 700201c6: dce3 bgt.n 70020190 700201c8: 4f26 ldr r7, [pc, #152] @ (70020264 ) 700201ca: 683b ldr r3, [r7, #0] 700201cc: f893 307d ldrb.w r3, [r3, #125] @ 0x7d 700201d0: f013 0310 ands.w r3, r3, #16 700201d4: d13c bne.n 70020250 700201d6: 461a mov r2, r3 700201d8: 4618 mov r0, r3 700201da: 2101 movs r1, #1 700201dc: f7f9 f82e bl 7001923c 700201e0: 4606 mov r6, r0 700201e2: 1e65 subs r5, r4, #1 700201e4: 2202 movs r2, #2 700201e6: 4668 mov r0, sp 700201e8: 4629 mov r1, r5 700201ea: f7f9 fdad bl 70019d48 700201ee: 683b ldr r3, [r7, #0] 700201f0: f893 307d ldrb.w r3, [r3, #125] @ 0x7d 700201f4: f013 0310 ands.w r3, r3, #16 700201f8: d123 bne.n 70020242 700201fa: 2201 movs r2, #1 700201fc: 4618 mov r0, r3 700201fe: 4611 mov r1, r2 70020200: f7f9 f81c bl 7001923c 70020204: 3c02 subs r4, #2 70020206: eb0d 05c5 add.w r5, sp, r5, lsl #3 7002020a: eddd 0a01 vldr s1, [sp, #4] 7002020e: eb0d 03c4 add.w r3, sp, r4, lsl #3 70020212: ed9d 0a00 vldr s0, [sp] 70020216: edd5 2a01 vldr s5, [r5, #4] 7002021a: ed95 2a00 vldr s4, [r5] 7002021e: edd3 1a01 vldr s3, [r3, #4] 70020222: ed93 1a00 vldr s2, [r3] 70020226: f7f9 f9d1 bl 700195cc 7002022a: 4630 mov r0, r6 7002022c: f7f9 f824 bl 70019278 70020230: b063 add sp, #396 @ 0x18c 70020232: ecbd 8b06 vpop {d8-d10} 70020236: bdf0 pop {r4, r5, r6, r7, pc} 70020238: f7f8 fb3a bl 700188b0 7002023c: eeb1 0a40 vneg.f32 s0, s0 70020240: e792 b.n 70020168 70020242: 2300 movs r3, #0 70020244: 461a mov r2, r3 70020246: 4619 mov r1, r3 70020248: 4618 mov r0, r3 7002024a: f7f8 fff7 bl 7001923c 7002024e: e7d9 b.n 70020204 70020250: 2300 movs r3, #0 70020252: 461a mov r2, r3 70020254: 4619 mov r1, r3 70020256: 4618 mov r0, r3 70020258: f7f8 fff0 bl 7001923c 7002025c: 4606 mov r6, r0 7002025e: e7c0 b.n 700201e2 70020260: 43340000 .word 0x43340000 70020264: 2400dc78 .word 0x2400dc78 70020268 : 70020268: 4b4b ldr r3, [pc, #300] @ (70020398 ) 7002026a: 4601 mov r1, r0 7002026c: b500 push {lr} 7002026e: 681b ldr r3, [r3, #0] 70020270: b083 sub sp, #12 70020272: edd3 0a64 vldr s1, [r3, #400] @ 0x190 70020276: edd3 7a66 vldr s15, [r3, #408] @ 0x198 7002027a: eef4 0a67 vcmp.f32 s1, s15 7002027e: eef1 fa10 vmrs APSR_nzcv, fpscr 70020282: d108 bne.n 70020296 70020284: ed93 1a65 vldr s2, [r3, #404] @ 0x194 70020288: ed93 7a67 vldr s14, [r3, #412] @ 0x19c 7002028c: eeb4 1a47 vcmp.f32 s2, s14 70020290: eef1 fa10 vmrs APSR_nzcv, fpscr 70020294: d05c beq.n 70020350 70020296: 2901 cmp r1, #1 70020298: d077 beq.n 7002038a 7002029a: edd3 7a4e vldr s15, [r3, #312] @ 0x138 7002029e: ed93 7a4f vldr s14, [r3, #316] @ 0x13c 700202a2: edd3 0a54 vldr s1, [r3, #336] @ 0x150 700202a6: ed93 1a55 vldr s2, [r3, #340] @ 0x154 700202aa: f8d3 211c ldr.w r2, [r3, #284] @ 0x11c 700202ae: bb7a cbnz r2, 70020310 700202b0: f8d3 2090 ldr.w r2, [r3, #144] @ 0x90 700202b4: 0792 lsls r2, r2, #30 700202b6: d42b bmi.n 70020310 700202b8: ed93 6a3b vldr s12, [r3, #236] @ 0xec 700202bc: ed93 5a3c vldr s10, [r3, #240] @ 0xf0 700202c0: edd3 6a3e vldr s13, [r3, #248] @ 0xf8 700202c4: ee67 4a86 vmul.f32 s9, s15, s12 700202c8: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 700202cc: ee27 4a05 vmul.f32 s8, s14, s10 700202d0: ee67 7aa6 vmul.f32 s15, s15, s13 700202d4: ee27 7a25 vmul.f32 s14, s14, s11 700202d8: ee26 6a20 vmul.f32 s12, s12, s1 700202dc: ee25 5a01 vmul.f32 s10, s10, s2 700202e0: ee66 6aa0 vmul.f32 s13, s13, s1 700202e4: edd3 0a3d vldr s1, [r3, #244] @ 0xf4 700202e8: ee65 5a81 vmul.f32 s11, s11, s2 700202ec: ed93 1a40 vldr s2, [r3, #256] @ 0x100 700202f0: ee37 7a87 vadd.f32 s14, s15, s14 700202f4: ee74 4a84 vadd.f32 s9, s9, s8 700202f8: ee36 6a05 vadd.f32 s12, s12, s10 700202fc: ee76 6aa5 vadd.f32 s13, s13, s11 70020300: ee74 7aa0 vadd.f32 s15, s9, s1 70020304: ee37 7a01 vadd.f32 s14, s14, s2 70020308: ee76 0a20 vadd.f32 s1, s12, s1 7002030c: ee36 1a81 vadd.f32 s2, s13, s2 70020310: ee37 6aa0 vadd.f32 s12, s15, s1 70020314: ed93 0aba vldr s0, [r3, #744] @ 0x2e8 70020318: ee77 6a01 vadd.f32 s13, s14, s2 7002031c: 4668 mov r0, sp 7002031e: ee31 1a47 vsub.f32 s2, s2, s14 70020322: ee70 0ae7 vsub.f32 s1, s1, s15 70020326: eef6 5a00 vmov.f32 s11, #96 @ 0x3f000000 0.5 7002032a: ee81 1a00 vdiv.f32 s2, s2, s0 7002032e: eec0 0a80 vdiv.f32 s1, s1, s0 70020332: ee26 7a25 vmul.f32 s14, s12, s11 70020336: ee66 7aa5 vmul.f32 s15, s13, s11 7002033a: ee20 0a25 vmul.f32 s0, s0, s11 7002033e: ed8d 7a00 vstr s14, [sp] 70020342: edcd 7a01 vstr s15, [sp, #4] 70020346: f7ff fee7 bl 70020118 7002034a: b003 add sp, #12 7002034c: f85d fb04 ldr.w pc, [sp], #4 70020350: edd3 6a68 vldr s13, [r3, #416] @ 0x1a0 70020354: ed93 7a6a vldr s14, [r3, #424] @ 0x1a8 70020358: eef4 6a47 vcmp.f32 s13, s14 7002035c: eef1 fa10 vmrs APSR_nzcv, fpscr 70020360: d199 bne.n 70020296 70020362: ed93 7a69 vldr s14, [r3, #420] @ 0x1a4 70020366: ed93 6a6b vldr s12, [r3, #428] @ 0x1ac 7002036a: eeb4 7a46 vcmp.f32 s14, s12 7002036e: eef1 fa10 vmrs APSR_nzcv, fpscr 70020372: d190 bne.n 70020296 70020374: f893 21c3 ldrb.w r2, [r3, #451] @ 0x1c3 70020378: b122 cbz r2, 70020384 7002037a: f893 22f4 ldrb.w r2, [r3, #756] @ 0x2f4 7002037e: b90a cbnz r2, 70020384 70020380: 07c8 lsls r0, r1, #31 70020382: d58a bpl.n 7002029a 70020384: eef0 7a66 vmov.f32 s15, s13 70020388: e78f b.n 700202aa 7002038a: ed93 7a67 vldr s14, [r3, #412] @ 0x19c 7002038e: edd3 0a68 vldr s1, [r3, #416] @ 0x1a0 70020392: ed93 1a69 vldr s2, [r3, #420] @ 0x1a4 70020396: e788 b.n 700202aa 70020398: 2400dc78 .word 0x2400dc78 7002039c : 7002039c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700203a0: ed2d 8b02 vpush {d8} 700203a4: b0a1 sub sp, #132 @ 0x84 700203a6: 4c97 ldr r4, [pc, #604] @ (70020604 ) 700203a8: 2245 movs r2, #69 @ 0x45 700203aa: 2100 movs r1, #0 700203ac: 4605 mov r5, r0 700203ae: f10d 003b add.w r0, sp, #59 @ 0x3b 700203b2: f8d4 b000 ldr.w fp, [r4] 700203b6: f01a ffb5 bl 7003b324 700203ba: 2201 movs r2, #1 700203bc: f240 1301 movw r3, #257 @ 0x101 700203c0: f88d 203a strb.w r2, [sp, #58] @ 0x3a 700203c4: f8ad 3038 strh.w r3, [sp, #56] @ 0x38 700203c8: f007 fb4c bl 70027a64 700203cc: f8d4 9000 ldr.w r9, [r4] 700203d0: f8d9 2110 ldr.w r2, [r9, #272] @ 0x110 700203d4: 2a01 cmp r2, #1 700203d6: f000 8446 beq.w 70020c66 700203da: 682b ldr r3, [r5, #0] 700203dc: 2b00 cmp r3, #0 700203de: f000 81b9 beq.w 70020754 700203e2: 464e mov r6, r9 700203e4: ed9f 8a88 vldr s16, [pc, #544] @ 70020608 700203e8: 2400 movs r4, #0 700203ea: 46d9 mov r9, fp 700203ec: 68aa ldr r2, [r5, #8] 700203ee: 5d17 ldrb r7, [r2, r4] 700203f0: aa13 add r2, sp, #76 @ 0x4c 700203f2: 3401 adds r4, #1 700203f4: f007 0b6f and.w fp, r7, #111 @ 0x6f 700203f8: f007 0810 and.w r8, r7, #16 700203fc: e892 0003 ldmia.w r2, {r0, r1} 70020400: f1bb 0f01 cmp.w fp, #1 70020404: aa11 add r2, sp, #68 @ 0x44 70020406: e882 0003 stmia.w r2, {r0, r1} 7002040a: f89d 207c ldrb.w r2, [sp, #124] @ 0x7c 7002040e: f000 81b2 beq.w 70020776 70020412: f017 007f ands.w r0, r7, #127 @ 0x7f 70020416: f040 81ea bne.w 700207ee 7002041a: f89d 2038 ldrb.w r2, [sp, #56] @ 0x38 7002041e: 2a01 cmp r2, #1 70020420: f000 8400 beq.w 70020c24 70020424: eddd 7a1d vldr s15, [sp, #116] @ 0x74 70020428: ed9d 7a1e vldr s14, [sp, #120] @ 0x78 7002042c: 2200 movs r2, #0 7002042e: f896 11bc ldrb.w r1, [r6, #444] @ 0x1bc 70020432: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 70020436: f8ad 2039 strh.w r2, [sp, #57] @ 0x39 7002043a: f89d 2039 ldrb.w r2, [sp, #57] @ 0x39 7002043e: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 70020442: edcd 7a19 vstr s15, [sp, #100] @ 0x64 70020446: ed8d 7a1a vstr s14, [sp, #104] @ 0x68 7002044a: f88d 707c strb.w r7, [sp, #124] @ 0x7c 7002044e: 2900 cmp r1, #0 70020450: f000 8188 beq.w 70020764 70020454: ed96 5a3e vldr s10, [r6, #248] @ 0xf8 70020458: fab2 f282 clz r2, r2 7002045c: edd6 5a3f vldr s11, [r6, #252] @ 0xfc 70020460: edd6 6a3b vldr s13, [r6, #236] @ 0xec 70020464: 0952 lsrs r2, r2, #5 70020466: ed96 6a3c vldr s12, [r6, #240] @ 0xf0 7002046a: ee67 6aa6 vmul.f32 s13, s15, s13 7002046e: ee27 6a06 vmul.f32 s12, s14, s12 70020472: ee67 7a85 vmul.f32 s15, s15, s10 70020476: ed96 5a3d vldr s10, [r6, #244] @ 0xf4 7002047a: ee27 7a25 vmul.f32 s14, s14, s11 7002047e: edd6 5a40 vldr s11, [r6, #256] @ 0x100 70020482: ee76 6a86 vadd.f32 s13, s13, s12 70020486: ee77 7a87 vadd.f32 s15, s15, s14 7002048a: ee36 7a85 vadd.f32 s14, s13, s10 7002048e: ee77 7aa5 vadd.f32 s15, s15, s11 70020492: ed8d 7a13 vstr s14, [sp, #76] @ 0x4c 70020496: edcd 7a14 vstr s15, [sp, #80] @ 0x50 7002049a: 42a3 cmp r3, r4 7002049c: f000 8169 beq.w 70020772 700204a0: 68ab ldr r3, [r5, #8] 700204a2: 5d1b ldrb r3, [r3, r4] 700204a4: f1a3 0301 sub.w r3, r3, #1 700204a8: fab3 f383 clz r3, r3 700204ac: 095b lsrs r3, r3, #5 700204ae: f886 31c1 strb.w r3, [r6, #449] @ 0x1c1 700204b2: f889 22f9 strb.w r2, [r9, #761] @ 0x2f9 700204b6: 2800 cmp r0, #0 700204b8: f040 8134 bne.w 70020724 700204bc: 063b lsls r3, r7, #24 700204be: f100 8131 bmi.w 70020724 700204c2: f1ab 0305 sub.w r3, fp, #5 700204c6: 2b03 cmp r3, #3 700204c8: f200 80a0 bhi.w 7002060c 700204cc: e8df f003 tbb [pc, r3] 700204d0: 027c027c .word 0x027c027c 700204d4: f04f 0301 mov.w r3, #1 700204d8: ed9d 3a13 vldr s6, [sp, #76] @ 0x4c 700204dc: eddd 3a14 vldr s7, [sp, #80] @ 0x50 700204e0: f889 32fa strb.w r3, [r9, #762] @ 0x2fa 700204e4: ed9d 2a17 vldr s4, [sp, #92] @ 0x5c 700204e8: eddd 2a18 vldr s5, [sp, #96] @ 0x60 700204ec: ed9d 1a15 vldr s2, [sp, #84] @ 0x54 700204f0: eddd 1a16 vldr s3, [sp, #88] @ 0x58 700204f4: ed9d 0a11 vldr s0, [sp, #68] @ 0x44 700204f8: eddd 0a12 vldr s1, [sp, #72] @ 0x48 700204fc: f7fd ff0c bl 7001e318 70020500: 4b40 ldr r3, [pc, #256] @ (70020604 ) 70020502: 4682 mov sl, r0 70020504: 2800 cmp r0, #0 70020506: d175 bne.n 700205f4 70020508: 681e ldr r6, [r3, #0] 7002050a: f896 31c1 ldrb.w r3, [r6, #449] @ 0x1c1 7002050e: 2b00 cmp r3, #0 70020510: f000 8102 beq.w 70020718 70020514: f8d6 3308 ldr.w r3, [r6, #776] @ 0x308 70020518: 2b00 cmp r3, #0 7002051a: f000 839e beq.w 70020c5a 7002051e: f8d6 3110 ldr.w r3, [r6, #272] @ 0x110 70020522: b123 cbz r3, 7002052e 70020524: f896 02f1 ldrb.w r0, [r6, #753] @ 0x2f1 70020528: 2800 cmp r0, #0 7002052a: f040 8093 bne.w 70020654 7002052e: f509 715c add.w r1, r9, #880 @ 0x370 70020532: f506 78b2 add.w r8, r6, #356 @ 0x164 70020536: f506 7ec8 add.w lr, r6, #400 @ 0x190 7002053a: f506 7c9c add.w ip, r6, #312 @ 0x138 7002053e: 460f mov r7, r1 70020540: 468a mov sl, r1 70020542: 9104 str r1, [sp, #16] 70020544: 9105 str r1, [sp, #20] 70020546: cf0f ldmia r7!, {r0, r1, r2, r3} 70020548: e8a8 000f stmia.w r8!, {r0, r1, r2, r3} 7002054c: cf0f ldmia r7!, {r0, r1, r2, r3} 7002054e: e8a8 000f stmia.w r8!, {r0, r1, r2, r3} 70020552: 9703 str r7, [sp, #12] 70020554: e897 0007 ldmia.w r7, {r0, r1, r2} 70020558: 4657 mov r7, sl 7002055a: e888 0007 stmia.w r8, {r0, r1, r2} 7002055e: cf0f ldmia r7!, {r0, r1, r2, r3} 70020560: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} 70020564: cf0f ldmia r7!, {r0, r1, r2, r3} 70020566: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} 7002056a: e897 0007 ldmia.w r7, {r0, r1, r2} 7002056e: e88e 0007 stmia.w lr, {r0, r1, r2} 70020572: e8ba 000f ldmia.w sl!, {r0, r1, r2, r3} 70020576: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7002057a: e8ba 000f ldmia.w sl!, {r0, r1, r2, r3} 7002057e: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 70020582: e897 0007 ldmia.w r7, {r0, r1, r2} 70020586: e88c 0007 stmia.w ip, {r0, r1, r2} 7002058a: f8d6 3110 ldr.w r3, [r6, #272] @ 0x110 7002058e: 2b00 cmp r3, #0 70020590: f000 82eb beq.w 70020b6a 70020594: f896 32f0 ldrb.w r3, [r6, #752] @ 0x2f0 70020598: 2b00 cmp r3, #0 7002059a: f000 82e6 beq.w 70020b6a 7002059e: 2b02 cmp r3, #2 700205a0: f000 8387 beq.w 70020cb2 700205a4: 2b01 cmp r3, #1 700205a6: f000 82db beq.w 70020b60 700205aa: 46b1 mov r9, r6 700205ac: f44f 0a00 mov.w sl, #8388608 @ 0x800000 700205b0: 2200 movs r2, #0 700205b2: 4650 mov r0, sl 700205b4: e9c9 2245 strd r2, r2, [r9, #276] @ 0x114 700205b8: f007 f9ca bl 70027950 700205bc: 4650 mov r0, sl 700205be: b021 add sp, #132 @ 0x84 700205c0: ecbd 8b02 vpop {d8} 700205c4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700205c8: f04f 0301 mov.w r3, #1 700205cc: ed9d 2a13 vldr s4, [sp, #76] @ 0x4c 700205d0: eddd 2a14 vldr s5, [sp, #80] @ 0x50 700205d4: f889 32fa strb.w r3, [r9, #762] @ 0x2fa 700205d8: ed9d 1a15 vldr s2, [sp, #84] @ 0x54 700205dc: eddd 1a16 vldr s3, [sp, #88] @ 0x58 700205e0: ed9d 0a11 vldr s0, [sp, #68] @ 0x44 700205e4: eddd 0a12 vldr s1, [sp, #72] @ 0x48 700205e8: f7fe fcce bl 7001ef88 700205ec: 4b05 ldr r3, [pc, #20] @ (70020604 ) 700205ee: 4682 mov sl, r0 700205f0: 2800 cmp r0, #0 700205f2: d089 beq.n 70020508 700205f4: 681b ldr r3, [r3, #0] 700205f6: 2200 movs r2, #0 700205f8: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 700205fc: f007 f9a8 bl 70027950 70020600: e7dc b.n 700205bc 70020602: bf00 nop 70020604: 2400dc78 .word 0x2400dc78 70020608: 00000000 .word 0x00000000 7002060c: f007 070f and.w r7, r7, #15 70020610: 2f09 cmp r7, #9 70020612: f040 8441 bne.w 70020e98 70020616: 2301 movs r3, #1 70020618: a80e add r0, sp, #56 @ 0x38 7002061a: f889 32fa strb.w r3, [r9, #762] @ 0x2fa 7002061e: f7fe fa93 bl 7001eb48 70020622: 4682 mov sl, r0 70020624: 2800 cmp r0, #0 70020626: f040 840d bne.w 70020e44 7002062a: 4b96 ldr r3, [pc, #600] @ (70020884 ) 7002062c: 681e ldr r6, [r3, #0] 7002062e: f896 31c1 ldrb.w r3, [r6, #449] @ 0x1c1 70020632: 2b00 cmp r3, #0 70020634: d070 beq.n 70020718 70020636: f1bb 0f00 cmp.w fp, #0 7002063a: f47f af6b bne.w 70020514 7002063e: f896 31c2 ldrb.w r3, [r6, #450] @ 0x1c2 70020642: b1eb cbz r3, 70020680 70020644: f8d6 3110 ldr.w r3, [r6, #272] @ 0x110 70020648: 2b00 cmp r3, #0 7002064a: f43f af70 beq.w 7002052e 7002064e: f896 02f1 ldrb.w r0, [r6, #753] @ 0x2f1 70020652: b180 cbz r0, 70020676 70020654: 2802 cmp r0, #2 70020656: f000 831b beq.w 70020c90 7002065a: 2801 cmp r0, #1 7002065c: d1a5 bne.n 700205aa 7002065e: f7ff fe03 bl 70020268 70020662: 4b88 ldr r3, [pc, #544] @ (70020884 ) 70020664: 681e ldr r6, [r3, #0] 70020666: f896 31c1 ldrb.w r3, [r6, #449] @ 0x1c1 7002066a: 2b00 cmp r3, #0 7002066c: d054 beq.n 70020718 7002066e: f1bb 0f00 cmp.w fp, #0 70020672: f47f af5c bne.w 7002052e 70020676: f896 31c2 ldrb.w r3, [r6, #450] @ 0x1c2 7002067a: 2b00 cmp r3, #0 7002067c: f47f af57 bne.w 7002052e 70020680: f899 32f5 ldrb.w r3, [r9, #757] @ 0x2f5 70020684: 2b00 cmp r3, #0 70020686: f43f af52 beq.w 7002052e 7002068a: f509 735c add.w r3, r9, #880 @ 0x370 7002068e: 9305 str r3, [sp, #20] 70020690: f509 7348 add.w r3, r9, #800 @ 0x320 70020694: f10d 0b18 add.w fp, sp, #24 70020698: f509 724a add.w r2, r9, #808 @ 0x328 7002069c: f10d 0e20 add.w lr, sp, #32 700206a0: f10d 0828 add.w r8, sp, #40 @ 0x28 700206a4: f10d 0a30 add.w sl, sp, #48 @ 0x30 700206a8: f509 7646 add.w r6, r9, #792 @ 0x318 700206ac: f509 7c51 add.w ip, r9, #836 @ 0x344 700206b0: e893 0003 ldmia.w r3, {r0, r1} 700206b4: f509 7362 add.w r3, r9, #904 @ 0x388 700206b8: e88b 0003 stmia.w fp, {r0, r1} 700206bc: 9905 ldr r1, [sp, #20] 700206be: 460f mov r7, r1 700206c0: c903 ldmia r1, {r0, r1} 700206c2: e88e 0003 stmia.w lr, {r0, r1} 700206c6: e892 0003 ldmia.w r2, {r0, r1} 700206ca: 46b6 mov lr, r6 700206cc: e888 0003 stmia.w r8, {r0, r1} 700206d0: e893 0003 ldmia.w r3, {r0, r1} 700206d4: e88a 0003 stmia.w sl, {r0, r1} 700206d8: ce0f ldmia r6!, {r0, r1, r2, r3} 700206da: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 700206de: ce0f ldmia r6!, {r0, r1, r2, r3} 700206e0: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 700206e4: e896 0007 ldmia.w r6, {r0, r1, r2} 700206e8: e88c 0007 stmia.w ip, {r0, r1, r2} 700206ec: cf0f ldmia r7!, {r0, r1, r2, r3} 700206ee: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} 700206f2: cf0f ldmia r7!, {r0, r1, r2, r3} 700206f4: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} 700206f8: e897 0007 ldmia.w r7, {r0, r1, r2} 700206fc: e886 0007 stmia.w r6, {r0, r1, r2} 70020700: 2600 movs r6, #0 70020702: 4653 mov r3, sl 70020704: 4642 mov r2, r8 70020706: a908 add r1, sp, #32 70020708: 4658 mov r0, fp 7002070a: 9600 str r6, [sp, #0] 7002070c: f7fc fd7a bl 7001d204 70020710: 4682 mov sl, r0 70020712: 2800 cmp r0, #0 70020714: f040 8396 bne.w 70020e44 70020718: 682b ldr r3, [r5, #0] 7002071a: 42a3 cmp r3, r4 7002071c: d91a bls.n 70020754 7002071e: 4a59 ldr r2, [pc, #356] @ (70020884 ) 70020720: 6816 ldr r6, [r2, #0] 70020722: e663 b.n 700203ec 70020724: f896 32f7 ldrb.w r3, [r6, #759] @ 0x2f7 70020728: b133 cbz r3, 70020738 7002072a: f8d6 3310 ldr.w r3, [r6, #784] @ 0x310 7002072e: 2200 movs r2, #0 70020730: f8c6 3314 str.w r3, [r6, #788] @ 0x314 70020734: f8c6 2308 str.w r2, [r6, #776] @ 0x308 70020738: f04f 0300 mov.w r3, #0 7002073c: f889 32f8 strb.w r3, [r9, #760] @ 0x2f8 70020740: 2300 movs r3, #0 70020742: f8c9 330c str.w r3, [r9, #780] @ 0x30c 70020746: f04f 0301 mov.w r3, #1 7002074a: f889 32f5 strb.w r3, [r9, #757] @ 0x2f5 7002074e: 682b ldr r3, [r5, #0] 70020750: 42a3 cmp r3, r4 70020752: d8e4 bhi.n 7002071e 70020754: f04f 0a00 mov.w sl, #0 70020758: 4650 mov r0, sl 7002075a: b021 add sp, #132 @ 0x84 7002075c: ecbd 8b02 vpop {d8} 70020760: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70020764: fab2 f282 clz r2, r2 70020768: 42a3 cmp r3, r4 7002076a: ea4f 1252 mov.w r2, r2, lsr #5 7002076e: f47f ae97 bne.w 700204a0 70020772: 2301 movs r3, #1 70020774: e69b b.n 700204ae 70020776: f89d 2039 ldrb.w r2, [sp, #57] @ 0x39 7002077a: 9b0f ldr r3, [sp, #60] @ 0x3c 7002077c: 2a01 cmp r2, #1 7002077e: f000 8210 beq.w 70020ba2 70020782: f04f 0100 mov.w r1, #0 70020786: f103 0c01 add.w ip, r3, #1 7002078a: 9310 str r3, [sp, #64] @ 0x40 7002078c: f88d 1038 strb.w r1, [sp, #56] @ 0x38 70020790: f04f 0101 mov.w r1, #1 70020794: f88d 103a strb.w r1, [sp, #58] @ 0x3a 70020798: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 7002079c: f8c6 1120 str.w r1, [r6, #288] @ 0x120 700207a0: 0099 lsls r1, r3, #2 700207a2: 3302 adds r3, #2 700207a4: f101 0e04 add.w lr, r1, #4 700207a8: f1b8 0f00 cmp.w r8, #0 700207ac: f000 81ca beq.w 70020b44 700207b0: 68e8 ldr r0, [r5, #12] 700207b2: ed9d 7a19 vldr s14, [sp, #100] @ 0x64 700207b6: 4401 add r1, r0 700207b8: 4470 add r0, lr 700207ba: eddd 6a1a vldr s13, [sp, #104] @ 0x68 700207be: edd1 7a00 vldr s15, [r1] 700207c2: f8cd c03c str.w ip, [sp, #60] @ 0x3c 700207c6: ee77 7a87 vadd.f32 s15, s15, s14 700207ca: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 700207ce: ed90 7a00 vldr s14, [r0] 700207d2: ee37 7a26 vadd.f32 s14, s14, s13 700207d6: 930f str r3, [sp, #60] @ 0x3c 700207d8: 2001 movs r0, #1 700207da: f896 11bc ldrb.w r1, [r6, #444] @ 0x1bc 700207de: 682b ldr r3, [r5, #0] 700207e0: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 700207e4: edcd 7a1d vstr s15, [sp, #116] @ 0x74 700207e8: ed8d 7a1e vstr s14, [sp, #120] @ 0x78 700207ec: e629 b.n 70020442 700207ee: 9b0f ldr r3, [sp, #60] @ 0x3c 700207f0: bb73 cbnz r3, 70020850 700207f2: f04f 0101 mov.w r1, #1 700207f6: f88d 1038 strb.w r1, [sp, #56] @ 0x38 700207fa: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 700207fe: f8c6 1120 str.w r1, [r6, #288] @ 0x120 70020802: f896 11bc ldrb.w r1, [r6, #444] @ 0x1bc 70020806: b319 cbz r1, 70020850 70020808: eddd 7a11 vldr s15, [sp, #68] @ 0x44 7002080c: eddd 6a12 vldr s13, [sp, #72] @ 0x48 70020810: ed96 5a3e vldr s10, [r6, #248] @ 0xf8 70020814: edd6 5a3f vldr s11, [r6, #252] @ 0xfc 70020818: ed96 7a3b vldr s14, [r6, #236] @ 0xec 7002081c: ed96 6a3c vldr s12, [r6, #240] @ 0xf0 70020820: ee27 7a87 vmul.f32 s14, s15, s14 70020824: ee26 6a86 vmul.f32 s12, s13, s12 70020828: ee67 7a85 vmul.f32 s15, s15, s10 7002082c: ed96 5a3d vldr s10, [r6, #244] @ 0xf4 70020830: ee66 6aa5 vmul.f32 s13, s13, s11 70020834: edd6 5a40 vldr s11, [r6, #256] @ 0x100 70020838: ee37 7a06 vadd.f32 s14, s14, s12 7002083c: ee77 7aa6 vadd.f32 s15, s15, s13 70020840: ee37 7a05 vadd.f32 s14, s14, s10 70020844: ee77 7aa5 vadd.f32 s15, s15, s11 70020848: ed8d 7a11 vstr s14, [sp, #68] @ 0x44 7002084c: edcd 7a12 vstr s15, [sp, #72] @ 0x48 70020850: f04f 0100 mov.w r1, #0 70020854: f002 026f and.w r2, r2, #111 @ 0x6f 70020858: f8d5 a00c ldr.w sl, [r5, #12] 7002085c: ea4f 0e83 mov.w lr, r3, lsl #2 70020860: f88d 103a strb.w r1, [sp, #58] @ 0x3a 70020864: f1ab 0105 sub.w r1, fp, #5 70020868: f103 0c01 add.w ip, r3, #1 7002086c: eb0a 0083 add.w r0, sl, r3, lsl #2 70020870: 9203 str r2, [sp, #12] 70020872: 2903 cmp r1, #3 70020874: f200 82e9 bhi.w 70020e4a 70020878: e8df f011 tbh [pc, r1, lsl #1] 7002087c: 00ea011b .word 0x00ea011b 70020880: 000600a9 .word 0x000600a9 70020884: 2400dc78 .word 0x2400dc78 70020888: 9a03 ldr r2, [sp, #12] 7002088a: ed9d 5a19 vldr s10, [sp, #100] @ 0x64 7002088e: 3a05 subs r2, #5 70020890: eddd 5a1a vldr s11, [sp, #104] @ 0x68 70020894: 2a03 cmp r2, #3 70020896: f240 81cb bls.w 70020c30 7002089a: eeb0 7a65 vmov.f32 s14, s11 7002089e: eef0 7a45 vmov.f32 s15, s10 700208a2: ed8d 7a16 vstr s14, [sp, #88] @ 0x58 700208a6: 3302 adds r3, #2 700208a8: edcd 7a15 vstr s15, [sp, #84] @ 0x54 700208ac: ed90 6a00 vldr s12, [r0] 700208b0: f8cd c03c str.w ip, [sp, #60] @ 0x3c 700208b4: ed8d 6a17 vstr s12, [sp, #92] @ 0x5c 700208b8: edd0 6a01 vldr s13, [r0, #4] 700208bc: 930f str r3, [sp, #60] @ 0x3c 700208be: edcd 6a18 vstr s13, [sp, #96] @ 0x60 700208c2: f1b8 0f00 cmp.w r8, #0 700208c6: d007 beq.n 700208d8 700208c8: ee36 6a05 vadd.f32 s12, s12, s10 700208cc: ee76 6aa5 vadd.f32 s13, s13, s11 700208d0: ed8d 6a17 vstr s12, [sp, #92] @ 0x5c 700208d4: edcd 6a18 vstr s13, [sp, #96] @ 0x60 700208d8: f896 11bc ldrb.w r1, [r6, #444] @ 0x1bc 700208dc: ed8d 6a1b vstr s12, [sp, #108] @ 0x6c 700208e0: edcd 6a1c vstr s13, [sp, #112] @ 0x70 700208e4: b399 cbz r1, 7002094e 700208e6: ed96 5a3b vldr s10, [r6, #236] @ 0xec 700208ea: edd6 3a3c vldr s7, [r6, #240] @ 0xf0 700208ee: edd6 5a3e vldr s11, [r6, #248] @ 0xf8 700208f2: ee65 4a27 vmul.f32 s9, s10, s15 700208f6: ed96 4a3f vldr s8, [r6, #252] @ 0xfc 700208fa: ee23 3a87 vmul.f32 s6, s7, s14 700208fe: ee25 5a06 vmul.f32 s10, s10, s12 70020902: ee24 7a07 vmul.f32 s14, s8, s14 70020906: ee65 7aa7 vmul.f32 s15, s11, s15 7002090a: ee24 4a26 vmul.f32 s8, s8, s13 7002090e: ee65 5a86 vmul.f32 s11, s11, s12 70020912: ee63 3aa6 vmul.f32 s7, s7, s13 70020916: ee77 7a87 vadd.f32 s15, s15, s14 7002091a: ee34 6a83 vadd.f32 s12, s9, s6 7002091e: ee75 6a23 vadd.f32 s13, s10, s7 70020922: ed96 5a3d vldr s10, [r6, #244] @ 0xf4 70020926: ee35 7a84 vadd.f32 s14, s11, s8 7002092a: edd6 5a40 vldr s11, [r6, #256] @ 0x100 7002092e: ee36 6a05 vadd.f32 s12, s12, s10 70020932: ee77 7aa5 vadd.f32 s15, s15, s11 70020936: ee76 6a85 vadd.f32 s13, s13, s10 7002093a: ee37 7a25 vadd.f32 s14, s14, s11 7002093e: ed8d 6a15 vstr s12, [sp, #84] @ 0x54 70020942: edcd 7a16 vstr s15, [sp, #88] @ 0x58 70020946: edcd 6a17 vstr s13, [sp, #92] @ 0x5c 7002094a: ed8d 7a18 vstr s14, [sp, #96] @ 0x60 7002094e: ea4f 0e83 mov.w lr, r3, lsl #2 70020952: f103 0c01 add.w ip, r3, #1 70020956: eb0a 020e add.w r2, sl, lr 7002095a: f10e 0e04 add.w lr, lr, #4 7002095e: 3302 adds r3, #2 70020960: edd2 7a00 vldr s15, [r2] 70020964: 44f2 add sl, lr 70020966: f8cd c03c str.w ip, [sp, #60] @ 0x3c 7002096a: f1b8 0f00 cmp.w r8, #0 7002096e: f000 816c beq.w 70020c4a 70020972: ed9d 7a19 vldr s14, [sp, #100] @ 0x64 70020976: eddd 6a1a vldr s13, [sp, #104] @ 0x68 7002097a: ee77 7a87 vadd.f32 s15, s15, s14 7002097e: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 70020982: ed9a 7a00 vldr s14, [sl] 70020986: 930f str r3, [sp, #60] @ 0x3c 70020988: ee37 7a26 vadd.f32 s14, s14, s13 7002098c: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 70020990: f896 307c ldrb.w r3, [r6, #124] @ 0x7c 70020994: 2b00 cmp r3, #0 70020996: f000 80e1 beq.w 70020b5c 7002099a: eddd 6a1d vldr s13, [sp, #116] @ 0x74 7002099e: ee77 6ae6 vsub.f32 s13, s15, s13 700209a2: eef5 6a40 vcmp.f32 s13, #0.0 700209a6: eef1 fa10 vmrs APSR_nzcv, fpscr 700209aa: f040 80d7 bne.w 70020b5c 700209ae: eddd 6a1e vldr s13, [sp, #120] @ 0x78 700209b2: ee77 6a66 vsub.f32 s13, s14, s13 700209b6: eef5 6a40 vcmp.f32 s13, #0.0 700209ba: eef1 fa10 vmrs APSR_nzcv, fpscr 700209be: bf14 ite ne 700209c0: 2201 movne r2, #1 700209c2: 2200 moveq r2, #0 700209c4: 2000 movs r0, #0 700209c6: 682b ldr r3, [r5, #0] 700209c8: f88d 2039 strb.w r2, [sp, #57] @ 0x39 700209cc: e539 b.n 70020442 700209ce: 9a03 ldr r2, [sp, #12] 700209d0: eddd 7a19 vldr s15, [sp, #100] @ 0x64 700209d4: 3a05 subs r2, #5 700209d6: ed9d 7a1a vldr s14, [sp, #104] @ 0x68 700209da: 2a03 cmp r2, #3 700209dc: d80b bhi.n 700209f6 700209de: ee77 7aa7 vadd.f32 s15, s15, s15 700209e2: ed9d 6a1b vldr s12, [sp, #108] @ 0x6c 700209e6: ee37 7a07 vadd.f32 s14, s14, s14 700209ea: eddd 6a1c vldr s13, [sp, #112] @ 0x70 700209ee: ee77 7ac6 vsub.f32 s15, s15, s12 700209f2: ee37 7a66 vsub.f32 s14, s14, s13 700209f6: f896 11bc ldrb.w r1, [r6, #444] @ 0x1bc 700209fa: ed8d 7a16 vstr s14, [sp, #88] @ 0x58 700209fe: edcd 7a15 vstr s15, [sp, #84] @ 0x54 70020a02: edcd 7a1b vstr s15, [sp, #108] @ 0x6c 70020a06: ed8d 7a1c vstr s14, [sp, #112] @ 0x70 70020a0a: 2900 cmp r1, #0 70020a0c: d0a3 beq.n 70020956 70020a0e: ed96 5a3e vldr s10, [r6, #248] @ 0xf8 70020a12: edd6 5a3f vldr s11, [r6, #252] @ 0xfc 70020a16: edd6 6a3b vldr s13, [r6, #236] @ 0xec 70020a1a: ed96 6a3c vldr s12, [r6, #240] @ 0xf0 70020a1e: ee67 6aa6 vmul.f32 s13, s15, s13 70020a22: ee27 6a06 vmul.f32 s12, s14, s12 70020a26: ee67 7a85 vmul.f32 s15, s15, s10 70020a2a: ed96 5a3d vldr s10, [r6, #244] @ 0xf4 70020a2e: ee27 7a25 vmul.f32 s14, s14, s11 70020a32: edd6 5a40 vldr s11, [r6, #256] @ 0x100 70020a36: ee76 6a86 vadd.f32 s13, s13, s12 70020a3a: ee77 7a87 vadd.f32 s15, s15, s14 70020a3e: ee36 7a85 vadd.f32 s14, s13, s10 70020a42: ee77 7aa5 vadd.f32 s15, s15, s11 70020a46: ed8d 7a15 vstr s14, [sp, #84] @ 0x54 70020a4a: edcd 7a16 vstr s15, [sp, #88] @ 0x58 70020a4e: e782 b.n 70020956 70020a50: edd0 7a00 vldr s15, [r0] 70020a54: 1c9a adds r2, r3, #2 70020a56: f8cd c03c str.w ip, [sp, #60] @ 0x3c 70020a5a: edcd 7a15 vstr s15, [sp, #84] @ 0x54 70020a5e: ed90 7a01 vldr s14, [r0, #4] 70020a62: 920f str r2, [sp, #60] @ 0x3c 70020a64: 1cda adds r2, r3, #3 70020a66: ed8d 7a16 vstr s14, [sp, #88] @ 0x58 70020a6a: 3304 adds r3, #4 70020a6c: ed90 6a02 vldr s12, [r0, #8] 70020a70: 920f str r2, [sp, #60] @ 0x3c 70020a72: ed8d 6a17 vstr s12, [sp, #92] @ 0x5c 70020a76: edd0 6a03 vldr s13, [r0, #12] 70020a7a: 930f str r3, [sp, #60] @ 0x3c 70020a7c: edcd 6a18 vstr s13, [sp, #96] @ 0x60 70020a80: f1b8 0f00 cmp.w r8, #0 70020a84: f43f af28 beq.w 700208d8 70020a88: ed9d 5a19 vldr s10, [sp, #100] @ 0x64 70020a8c: eddd 5a1a vldr s11, [sp, #104] @ 0x68 70020a90: ee77 7a85 vadd.f32 s15, s15, s10 70020a94: ee37 7a25 vadd.f32 s14, s14, s11 70020a98: ee36 6a05 vadd.f32 s12, s12, s10 70020a9c: ee76 6aa5 vadd.f32 s13, s13, s11 70020aa0: edcd 7a15 vstr s15, [sp, #84] @ 0x54 70020aa4: ed8d 7a16 vstr s14, [sp, #88] @ 0x58 70020aa8: ed8d 6a17 vstr s12, [sp, #92] @ 0x5c 70020aac: edcd 6a18 vstr s13, [sp, #96] @ 0x60 70020ab0: e712 b.n 700208d8 70020ab2: edd0 7a00 vldr s15, [r0] 70020ab6: 3302 adds r3, #2 70020ab8: f8cd c03c str.w ip, [sp, #60] @ 0x3c 70020abc: edcd 7a15 vstr s15, [sp, #84] @ 0x54 70020ac0: ed90 7a01 vldr s14, [r0, #4] 70020ac4: 930f str r3, [sp, #60] @ 0x3c 70020ac6: ed8d 7a16 vstr s14, [sp, #88] @ 0x58 70020aca: f1b8 0f00 cmp.w r8, #0 70020ace: d00b beq.n 70020ae8 70020ad0: ed9d 6a19 vldr s12, [sp, #100] @ 0x64 70020ad4: eddd 6a1a vldr s13, [sp, #104] @ 0x68 70020ad8: ee77 7a86 vadd.f32 s15, s15, s12 70020adc: ee37 7a26 vadd.f32 s14, s14, s13 70020ae0: edcd 7a15 vstr s15, [sp, #84] @ 0x54 70020ae4: ed8d 7a16 vstr s14, [sp, #88] @ 0x58 70020ae8: f896 11bc ldrb.w r1, [r6, #444] @ 0x1bc 70020aec: edcd 7a1b vstr s15, [sp, #108] @ 0x6c 70020af0: ed8d 7a1c vstr s14, [sp, #112] @ 0x70 70020af4: 2900 cmp r1, #0 70020af6: f43f af2a beq.w 7002094e 70020afa: ed96 5a3e vldr s10, [r6, #248] @ 0xf8 70020afe: ea4f 0e83 mov.w lr, r3, lsl #2 70020b02: edd6 5a3f vldr s11, [r6, #252] @ 0xfc 70020b06: f103 0c01 add.w ip, r3, #1 70020b0a: edd6 6a3b vldr s13, [r6, #236] @ 0xec 70020b0e: ed96 6a3c vldr s12, [r6, #240] @ 0xf0 70020b12: ee67 6aa6 vmul.f32 s13, s15, s13 70020b16: ee27 6a06 vmul.f32 s12, s14, s12 70020b1a: ee67 7a85 vmul.f32 s15, s15, s10 70020b1e: ed96 5a3d vldr s10, [r6, #244] @ 0xf4 70020b22: ee27 7a25 vmul.f32 s14, s14, s11 70020b26: edd6 5a40 vldr s11, [r6, #256] @ 0x100 70020b2a: ee76 6a86 vadd.f32 s13, s13, s12 70020b2e: ee77 7a87 vadd.f32 s15, s15, s14 70020b32: ee36 7a85 vadd.f32 s14, s13, s10 70020b36: ee77 7aa5 vadd.f32 s15, s15, s11 70020b3a: ed8d 7a15 vstr s14, [sp, #84] @ 0x54 70020b3e: edcd 7a16 vstr s15, [sp, #88] @ 0x58 70020b42: e708 b.n 70020956 70020b44: 68e8 ldr r0, [r5, #12] 70020b46: 4401 add r1, r0 70020b48: 4470 add r0, lr 70020b4a: edd1 7a00 vldr s15, [r1] 70020b4e: f8cd c03c str.w ip, [sp, #60] @ 0x3c 70020b52: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 70020b56: ed90 7a00 vldr s14, [r0] 70020b5a: e63c b.n 700207d6 70020b5c: 2201 movs r2, #1 70020b5e: e731 b.n 700209c4 70020b60: 2000 movs r0, #0 70020b62: f7ff fb81 bl 70020268 70020b66: 4bca ldr r3, [pc, #808] @ (70020e90 ) 70020b68: 681e ldr r6, [r3, #0] 70020b6a: f896 31c1 ldrb.w r3, [r6, #449] @ 0x1c1 70020b6e: 2b00 cmp r3, #0 70020b70: f43f add2 beq.w 70020718 70020b74: f1bb 0f00 cmp.w fp, #0 70020b78: d003 beq.n 70020b82 70020b7a: f1bb 0f0a cmp.w fp, #10 70020b7e: f47f adcb bne.w 70020718 70020b82: f899 32f5 ldrb.w r3, [r9, #757] @ 0x2f5 70020b86: 2b00 cmp r3, #0 70020b88: f47f ad82 bne.w 70020690 70020b8c: edd9 7ac2 vldr s15, [r9, #776] @ 0x308 70020b90: eef8 7a67 vcvt.f32.u32 s15, s15 70020b94: eef5 7a40 vcmp.f32 s15, #0.0 70020b98: eef1 fa10 vmrs APSR_nzcv, fpscr 70020b9c: f43f ad78 beq.w 70020690 70020ba0: e5ba b.n 70020718 70020ba2: 2b00 cmp r3, #0 70020ba4: f43f aded beq.w 70020782 70020ba8: f896 107c ldrb.w r1, [r6, #124] @ 0x7c 70020bac: 2900 cmp r1, #0 70020bae: f43f ade8 beq.w 70020782 70020bb2: f89d 3038 ldrb.w r3, [sp, #56] @ 0x38 70020bb6: 2b00 cmp r3, #0 70020bb8: d065 beq.n 70020c86 70020bba: eddf 7ab6 vldr s15, [pc, #728] @ 70020e94 70020bbe: eeb0 7a67 vmov.f32 s14, s15 70020bc2: f896 31bc ldrb.w r3, [r6, #444] @ 0x1bc 70020bc6: b1db cbz r3, 70020c00 70020bc8: ed96 5a3e vldr s10, [r6, #248] @ 0xf8 70020bcc: edd6 5a3f vldr s11, [r6, #252] @ 0xfc 70020bd0: edd6 6a3b vldr s13, [r6, #236] @ 0xec 70020bd4: ed96 6a3c vldr s12, [r6, #240] @ 0xf0 70020bd8: ee67 6a26 vmul.f32 s13, s14, s13 70020bdc: ee27 6a86 vmul.f32 s12, s15, s12 70020be0: ee27 7a05 vmul.f32 s14, s14, s10 70020be4: ed96 5a3d vldr s10, [r6, #244] @ 0xf4 70020be8: ee67 7aa5 vmul.f32 s15, s15, s11 70020bec: edd6 5a40 vldr s11, [r6, #256] @ 0x100 70020bf0: ee76 6a86 vadd.f32 s13, s13, s12 70020bf4: ee77 7a27 vadd.f32 s15, s14, s15 70020bf8: ee36 7a85 vadd.f32 s14, s13, s10 70020bfc: ee77 7aa5 vadd.f32 s15, s15, s11 70020c00: a90c add r1, sp, #48 @ 0x30 70020c02: a811 add r0, sp, #68 @ 0x44 70020c04: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 70020c08: edcd 7a0d vstr s15, [sp, #52] @ 0x34 70020c0c: f7fd ff5a bl 7001eac4 70020c10: 4b9f ldr r3, [pc, #636] @ (70020e90 ) 70020c12: 4682 mov sl, r0 70020c14: 2800 cmp r0, #0 70020c16: f040 8101 bne.w 70020e1c 70020c1a: 681e ldr r6, [r3, #0] 70020c1c: f89d 2039 ldrb.w r2, [sp, #57] @ 0x39 70020c20: 9b0f ldr r3, [sp, #60] @ 0x3c 70020c22: e5ae b.n 70020782 70020c24: eeb0 7a48 vmov.f32 s14, s16 70020c28: eddf 7a9a vldr s15, [pc, #616] @ 70020e94 70020c2c: f7ff bbfe b.w 7002042c 70020c30: ee75 7a05 vadd.f32 s15, s10, s10 70020c34: ed9d 6a1b vldr s12, [sp, #108] @ 0x6c 70020c38: ee35 7aa5 vadd.f32 s14, s11, s11 70020c3c: eddd 6a1c vldr s13, [sp, #112] @ 0x70 70020c40: ee77 7ac6 vsub.f32 s15, s15, s12 70020c44: ee37 7a66 vsub.f32 s14, s14, s13 70020c48: e62b b.n 700208a2 70020c4a: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 70020c4e: ed9a 7a00 vldr s14, [sl] 70020c52: 930f str r3, [sp, #60] @ 0x3c 70020c54: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 70020c58: e69a b.n 70020990 70020c5a: f896 31c2 ldrb.w r3, [r6, #450] @ 0x1c2 70020c5e: 2b00 cmp r3, #0 70020c60: f47f ac5d bne.w 7002051e 70020c64: e463 b.n 7002052e 70020c66: f8d9 2090 ldr.w r2, [r9, #144] @ 0x90 70020c6a: 0792 lsls r2, r2, #30 70020c6c: f53f abb5 bmi.w 700203da 70020c70: f8d9 211c ldr.w r2, [r9, #284] @ 0x11c 70020c74: 2a00 cmp r2, #0 70020c76: f47f abb0 bne.w 700203da 70020c7a: f44f 7280 mov.w r2, #256 @ 0x100 70020c7e: f8a9 21bc strh.w r2, [r9, #444] @ 0x1bc 70020c82: f7ff bbaa b.w 700203da 70020c86: ed9d 7a1d vldr s14, [sp, #116] @ 0x74 70020c8a: eddd 7a1e vldr s15, [sp, #120] @ 0x78 70020c8e: e798 b.n 70020bc2 70020c90: 2001 movs r0, #1 70020c92: f7fc f9b9 bl 7001d008 70020c96: 4682 mov sl, r0 70020c98: 2800 cmp r0, #0 70020c9a: f43f ace2 beq.w 70020662 70020c9e: 4c7c ldr r4, [pc, #496] @ (70020e90 ) 70020ca0: 2200 movs r2, #0 70020ca2: 6823 ldr r3, [r4, #0] 70020ca4: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 70020ca8: f006 fe52 bl 70027950 70020cac: f8d4 9000 ldr.w r9, [r4] 70020cb0: e47e b.n 700205b0 70020cb2: 2000 movs r0, #0 70020cb4: f7fc f9a8 bl 7001d008 70020cb8: 4682 mov sl, r0 70020cba: 2800 cmp r0, #0 70020cbc: f43f af53 beq.w 70020b66 70020cc0: e7ed b.n 70020c9e 70020cc2: edd2 7a00 vldr s15, [r2] 70020cc6: f8cd c03c str.w ip, [sp, #60] @ 0x3c 70020cca: eefd 7ae7 vcvt.s32.f32 s15, s15 70020cce: ee17 3a90 vmov r3, s15 70020cd2: 2b00 cmp r3, #0 70020cd4: 461a mov r2, r3 70020cd6: bfb8 it lt 70020cd8: 1c5a addlt r2, r3, #1 70020cda: 2b01 cmp r3, #1 70020cdc: ea4f 0262 mov.w r2, r2, asr #1 70020ce0: 9204 str r2, [sp, #16] 70020ce2: dd4e ble.n 70020d82 70020ce4: f1b8 0f00 cmp.w r8, #0 70020ce8: f040 81ec bne.w 700210c4 70020cec: 9803 ldr r0, [sp, #12] 70020cee: 4653 mov r3, sl 70020cf0: eb03 0380 add.w r3, r3, r0, lsl #2 70020cf4: 1c42 adds r2, r0, #1 70020cf6: 3002 adds r0, #2 70020cf8: a913 add r1, sp, #76 @ 0x4c 70020cfa: edd3 7a00 vldr s15, [r3] 70020cfe: 920f str r2, [sp, #60] @ 0x3c 70020d00: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 70020d04: edd3 6a01 vldr s13, [r3, #4] 70020d08: f896 31bc ldrb.w r3, [r6, #444] @ 0x1bc 70020d0c: 900f str r0, [sp, #60] @ 0x3c 70020d0e: a811 add r0, sp, #68 @ 0x44 70020d10: edcd 6a14 vstr s13, [sp, #80] @ 0x50 70020d14: edcd 7a19 vstr s15, [sp, #100] @ 0x64 70020d18: edcd 6a1a vstr s13, [sp, #104] @ 0x68 70020d1c: f88d 707c strb.w r7, [sp, #124] @ 0x7c 70020d20: b1db cbz r3, 70020d5a 70020d22: ed96 6a3e vldr s12, [r6, #248] @ 0xf8 70020d26: ed96 7a3b vldr s14, [r6, #236] @ 0xec 70020d2a: edd6 4a3c vldr s9, [r6, #240] @ 0xf0 70020d2e: ee27 7a87 vmul.f32 s14, s15, s14 70020d32: ed96 5a3f vldr s10, [r6, #252] @ 0xfc 70020d36: ee67 7a86 vmul.f32 s15, s15, s12 70020d3a: edd6 5a3d vldr s11, [r6, #244] @ 0xf4 70020d3e: ed96 6a40 vldr s12, [r6, #256] @ 0x100 70020d42: ee06 7aa4 vmla.f32 s14, s13, s9 70020d46: ee46 7a85 vmla.f32 s15, s13, s10 70020d4a: ee37 7a25 vadd.f32 s14, s14, s11 70020d4e: ee77 7a86 vadd.f32 s15, s15, s12 70020d52: ed8d 7a13 vstr s14, [sp, #76] @ 0x4c 70020d56: edcd 7a14 vstr s15, [sp, #80] @ 0x50 70020d5a: f7fd feb3 bl 7001eac4 70020d5e: f108 0801 add.w r8, r8, #1 70020d62: 4682 mov sl, r0 70020d64: 2800 cmp r0, #0 70020d66: f040 81f4 bne.w 70021152 70020d6a: 4b49 ldr r3, [pc, #292] @ (70020e90 ) 70020d6c: 681e ldr r6, [r3, #0] 70020d6e: ab13 add r3, sp, #76 @ 0x4c 70020d70: e893 0003 ldmia.w r3, {r0, r1} 70020d74: ab11 add r3, sp, #68 @ 0x44 70020d76: e883 0003 stmia.w r3, {r0, r1} 70020d7a: 9b04 ldr r3, [sp, #16] 70020d7c: 4543 cmp r3, r8 70020d7e: f300 824d bgt.w 7002121c 70020d82: eddd 6a1d vldr s13, [sp, #116] @ 0x74 70020d86: ed9d 7a19 vldr s14, [sp, #100] @ 0x64 70020d8a: eddd 7a1e vldr s15, [sp, #120] @ 0x78 70020d8e: ee37 7a66 vsub.f32 s14, s14, s13 70020d92: eeb5 7a40 vcmp.f32 s14, #0.0 70020d96: eef1 fa10 vmrs APSR_nzcv, fpscr 70020d9a: d109 bne.n 70020db0 70020d9c: ed9d 7a1a vldr s14, [sp, #104] @ 0x68 70020da0: ee37 7a67 vsub.f32 s14, s14, s15 70020da4: eeb5 7a40 vcmp.f32 s14, #0.0 70020da8: eef1 fa10 vmrs APSR_nzcv, fpscr 70020dac: f000 8181 beq.w 700210b2 70020db0: aa13 add r2, sp, #76 @ 0x4c 70020db2: f896 31bc ldrb.w r3, [r6, #444] @ 0x1bc 70020db6: edcd 6a19 vstr s13, [sp, #100] @ 0x64 70020dba: edcd 7a1a vstr s15, [sp, #104] @ 0x68 70020dbe: e892 0003 ldmia.w r2, {r0, r1} 70020dc2: aa11 add r2, sp, #68 @ 0x44 70020dc4: edcd 6a13 vstr s13, [sp, #76] @ 0x4c 70020dc8: edcd 7a14 vstr s15, [sp, #80] @ 0x50 70020dcc: e882 0003 stmia.w r2, {r0, r1} 70020dd0: b1db cbz r3, 70020e0a 70020dd2: ed96 6a3f vldr s12, [r6, #252] @ 0xfc 70020dd6: ed96 7a3c vldr s14, [r6, #240] @ 0xf0 70020dda: edd6 4a3b vldr s9, [r6, #236] @ 0xec 70020dde: ee27 7a87 vmul.f32 s14, s15, s14 70020de2: ed96 5a3e vldr s10, [r6, #248] @ 0xf8 70020de6: ee67 7a86 vmul.f32 s15, s15, s12 70020dea: edd6 5a3d vldr s11, [r6, #244] @ 0xf4 70020dee: ed96 6a40 vldr s12, [r6, #256] @ 0x100 70020df2: ee06 7aa4 vmla.f32 s14, s13, s9 70020df6: ee46 7a85 vmla.f32 s15, s13, s10 70020dfa: ee37 7a25 vadd.f32 s14, s14, s11 70020dfe: ee77 7a86 vadd.f32 s15, s15, s12 70020e02: ed8d 7a13 vstr s14, [sp, #76] @ 0x4c 70020e06: edcd 7a14 vstr s15, [sp, #80] @ 0x50 70020e0a: a913 add r1, sp, #76 @ 0x4c 70020e0c: a811 add r0, sp, #68 @ 0x44 70020e0e: f7fd fe59 bl 7001eac4 70020e12: 4b1f ldr r3, [pc, #124] @ (70020e90 ) 70020e14: 4682 mov sl, r0 70020e16: 2800 cmp r0, #0 70020e18: f000 81bc beq.w 70021194 70020e1c: 681b ldr r3, [r3, #0] 70020e1e: 2200 movs r2, #0 70020e20: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 70020e24: f006 fd94 bl 70027950 70020e28: 4b19 ldr r3, [pc, #100] @ (70020e90 ) 70020e2a: 2200 movs r2, #0 70020e2c: 4650 mov r0, sl 70020e2e: 681b ldr r3, [r3, #0] 70020e30: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 70020e34: f006 fd8c bl 70027950 70020e38: 4650 mov r0, sl 70020e3a: b021 add sp, #132 @ 0x84 70020e3c: ecbd 8b02 vpop {d8} 70020e40: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70020e44: 4b12 ldr r3, [pc, #72] @ (70020e90 ) 70020e46: f7ff bbd5 b.w 700205f4 70020e4a: f007 020f and.w r2, r7, #15 70020e4e: 2a09 cmp r2, #9 70020e50: d03a beq.n 70020ec8 70020e52: f1ab 0103 sub.w r1, fp, #3 70020e56: eb0a 020e add.w r2, sl, lr 70020e5a: f8cd c00c str.w ip, [sp, #12] 70020e5e: 2908 cmp r1, #8 70020e60: f200 81c6 bhi.w 700211f0 70020e64: a001 add r0, pc, #4 @ (adr r0, 70020e6c ) 70020e66: f850 f021 ldr.w pc, [r0, r1, lsl #2] 70020e6a: bf00 nop 70020e6c: 700211c7 .word 0x700211c7 70020e70: 7002116b .word 0x7002116b 70020e74: 700211f1 .word 0x700211f1 70020e78: 700211f1 .word 0x700211f1 70020e7c: 700211f1 .word 0x700211f1 70020e80: 700211f1 .word 0x700211f1 70020e84: 700211f1 .word 0x700211f1 70020e88: 70020cc3 .word 0x70020cc3 70020e8c: 70020f0f .word 0x70020f0f 70020e90: 2400dc78 .word 0x2400dc78 70020e94: 00000000 .word 0x00000000 70020e98: f1ab 030a sub.w r3, fp, #10 70020e9c: 2b01 cmp r3, #1 70020e9e: f67f ab34 bls.w 7002050a 70020ea2: 2700 movs r7, #0 70020ea4: a913 add r1, sp, #76 @ 0x4c 70020ea6: a811 add r0, sp, #68 @ 0x44 70020ea8: f889 72fa strb.w r7, [r9, #762] @ 0x2fa 70020eac: f006 fe26 bl 70027afc 70020eb0: 4682 mov sl, r0 70020eb2: 2800 cmp r0, #0 70020eb4: f43f abb9 beq.w 7002062a 70020eb8: 4bcf ldr r3, [pc, #828] @ (700211f8 ) 70020eba: 681b ldr r3, [r3, #0] 70020ebc: e9c3 7745 strd r7, r7, [r3, #276] @ 0x114 70020ec0: f006 fd46 bl 70027950 70020ec4: f7ff bb7a b.w 700205bc 70020ec8: 6802 ldr r2, [r0, #0] 70020eca: 1c99 adds r1, r3, #2 70020ecc: f8cd c03c str.w ip, [sp, #60] @ 0x3c 70020ed0: 3303 adds r3, #3 70020ed2: 9215 str r2, [sp, #84] @ 0x54 70020ed4: 6842 ldr r2, [r0, #4] 70020ed6: edd6 0a3b vldr s1, [r6, #236] @ 0xec 70020eda: 910f str r1, [sp, #60] @ 0x3c 70020edc: 9216 str r2, [sp, #88] @ 0x58 70020ede: ed96 0a3e vldr s0, [r6, #248] @ 0xf8 70020ee2: edd0 8a02 vldr s17, [r0, #8] 70020ee6: 9303 str r3, [sp, #12] 70020ee8: 930f str r3, [sp, #60] @ 0x3c 70020eea: f018 fca3 bl 70039834 70020eee: 9a19 ldr r2, [sp, #100] @ 0x64 70020ef0: ee78 8a80 vadd.f32 s17, s17, s0 70020ef4: 9b03 ldr r3, [sp, #12] 70020ef6: 921b str r2, [sp, #108] @ 0x6c 70020ef8: 9a1a ldr r2, [sp, #104] @ 0x68 70020efa: ea4f 0e83 mov.w lr, r3, lsl #2 70020efe: f103 0c01 add.w ip, r3, #1 70020f02: f88d 703b strb.w r7, [sp, #59] @ 0x3b 70020f06: edcd 8a17 vstr s17, [sp, #92] @ 0x5c 70020f0a: 921c str r2, [sp, #112] @ 0x70 70020f0c: e7a1 b.n 70020e52 70020f0e: edd2 7a00 vldr s15, [r2] 70020f12: f8cd c03c str.w ip, [sp, #60] @ 0x3c 70020f16: eefd 7ae7 vcvt.s32.f32 s15, s15 70020f1a: ee17 3a90 vmov r3, s15 70020f1e: 2b00 cmp r3, #0 70020f20: 461a mov r2, r3 70020f22: bfb8 it lt 70020f24: 1c5a addlt r2, r3, #1 70020f26: 2b01 cmp r3, #1 70020f28: ea4f 0262 mov.w r2, r2, asr #1 70020f2c: 9204 str r2, [sp, #16] 70020f2e: f340 80a3 ble.w 70021078 70020f32: f1b8 0f00 cmp.w r8, #0 70020f36: d14c bne.n 70020fd2 70020f38: 9803 ldr r0, [sp, #12] 70020f3a: 4653 mov r3, sl 70020f3c: eb03 0380 add.w r3, r3, r0, lsl #2 70020f40: 1c42 adds r2, r0, #1 70020f42: 3002 adds r0, #2 70020f44: a913 add r1, sp, #76 @ 0x4c 70020f46: edd3 7a00 vldr s15, [r3] 70020f4a: 920f str r2, [sp, #60] @ 0x3c 70020f4c: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 70020f50: edd3 6a01 vldr s13, [r3, #4] 70020f54: f896 31bc ldrb.w r3, [r6, #444] @ 0x1bc 70020f58: 900f str r0, [sp, #60] @ 0x3c 70020f5a: a811 add r0, sp, #68 @ 0x44 70020f5c: edcd 6a14 vstr s13, [sp, #80] @ 0x50 70020f60: edcd 7a19 vstr s15, [sp, #100] @ 0x64 70020f64: edcd 6a1a vstr s13, [sp, #104] @ 0x68 70020f68: f88d 707c strb.w r7, [sp, #124] @ 0x7c 70020f6c: b1db cbz r3, 70020fa6 70020f6e: ed96 6a3e vldr s12, [r6, #248] @ 0xf8 70020f72: ed96 7a3b vldr s14, [r6, #236] @ 0xec 70020f76: edd6 4a3c vldr s9, [r6, #240] @ 0xf0 70020f7a: ee27 7a87 vmul.f32 s14, s15, s14 70020f7e: ed96 5a3f vldr s10, [r6, #252] @ 0xfc 70020f82: ee67 7a86 vmul.f32 s15, s15, s12 70020f86: edd6 5a3d vldr s11, [r6, #244] @ 0xf4 70020f8a: ed96 6a40 vldr s12, [r6, #256] @ 0x100 70020f8e: ee06 7aa4 vmla.f32 s14, s13, s9 70020f92: ee46 7a85 vmla.f32 s15, s13, s10 70020f96: ee37 7a25 vadd.f32 s14, s14, s11 70020f9a: ee77 7a86 vadd.f32 s15, s15, s12 70020f9e: ed8d 7a13 vstr s14, [sp, #76] @ 0x4c 70020fa2: edcd 7a14 vstr s15, [sp, #80] @ 0x50 70020fa6: f7fd fd8d bl 7001eac4 70020faa: f108 0801 add.w r8, r8, #1 70020fae: 4682 mov sl, r0 70020fb0: 2800 cmp r0, #0 70020fb2: f040 80ce bne.w 70021152 70020fb6: 4b90 ldr r3, [pc, #576] @ (700211f8 ) 70020fb8: 681e ldr r6, [r3, #0] 70020fba: ab13 add r3, sp, #76 @ 0x4c 70020fbc: e893 0003 ldmia.w r3, {r0, r1} 70020fc0: ab11 add r3, sp, #68 @ 0x44 70020fc2: e883 0003 stmia.w r3, {r0, r1} 70020fc6: 9b04 ldr r3, [sp, #16] 70020fc8: 4543 cmp r3, r8 70020fca: dd55 ble.n 70021078 70020fcc: 68eb ldr r3, [r5, #12] 70020fce: 980f ldr r0, [sp, #60] @ 0x3c 70020fd0: e7b4 b.n 70020f3c 70020fd2: f04f 0800 mov.w r8, #0 70020fd6: 9803 ldr r0, [sp, #12] 70020fd8: 4653 mov r3, sl 70020fda: eb03 0380 add.w r3, r3, r0, lsl #2 70020fde: eddd 7a19 vldr s15, [sp, #100] @ 0x64 70020fe2: 1c42 adds r2, r0, #1 70020fe4: ed9d 7a1a vldr s14, [sp, #104] @ 0x68 70020fe8: edd3 6a00 vldr s13, [r3] 70020fec: 3002 adds r0, #2 70020fee: 920f str r2, [sp, #60] @ 0x3c 70020ff0: a913 add r1, sp, #76 @ 0x4c 70020ff2: ee76 6aa7 vadd.f32 s13, s13, s15 70020ff6: edcd 6a13 vstr s13, [sp, #76] @ 0x4c 70020ffa: edd3 7a01 vldr s15, [r3, #4] 70020ffe: f896 31bc ldrb.w r3, [r6, #444] @ 0x1bc 70021002: ee77 7a87 vadd.f32 s15, s15, s14 70021006: 900f str r0, [sp, #60] @ 0x3c 70021008: edcd 6a19 vstr s13, [sp, #100] @ 0x64 7002100c: a811 add r0, sp, #68 @ 0x44 7002100e: f88d 707c strb.w r7, [sp, #124] @ 0x7c 70021012: edcd 7a14 vstr s15, [sp, #80] @ 0x50 70021016: edcd 7a1a vstr s15, [sp, #104] @ 0x68 7002101a: b1db cbz r3, 70021054 7002101c: ed96 6a3f vldr s12, [r6, #252] @ 0xfc 70021020: ed96 7a3c vldr s14, [r6, #240] @ 0xf0 70021024: edd6 4a3b vldr s9, [r6, #236] @ 0xec 70021028: ee27 7a87 vmul.f32 s14, s15, s14 7002102c: ed96 5a3e vldr s10, [r6, #248] @ 0xf8 70021030: ee67 7a86 vmul.f32 s15, s15, s12 70021034: edd6 5a3d vldr s11, [r6, #244] @ 0xf4 70021038: ed96 6a40 vldr s12, [r6, #256] @ 0x100 7002103c: ee06 7aa4 vmla.f32 s14, s13, s9 70021040: ee46 7a85 vmla.f32 s15, s13, s10 70021044: ee37 7a25 vadd.f32 s14, s14, s11 70021048: ee77 7a86 vadd.f32 s15, s15, s12 7002104c: ed8d 7a13 vstr s14, [sp, #76] @ 0x4c 70021050: edcd 7a14 vstr s15, [sp, #80] @ 0x50 70021054: f7fd fd36 bl 7001eac4 70021058: f108 0801 add.w r8, r8, #1 7002105c: 4682 mov sl, r0 7002105e: 2800 cmp r0, #0 70021060: d177 bne.n 70021152 70021062: 4b65 ldr r3, [pc, #404] @ (700211f8 ) 70021064: 681e ldr r6, [r3, #0] 70021066: ab13 add r3, sp, #76 @ 0x4c 70021068: e893 0003 ldmia.w r3, {r0, r1} 7002106c: ab11 add r3, sp, #68 @ 0x44 7002106e: e883 0003 stmia.w r3, {r0, r1} 70021072: 9b04 ldr r3, [sp, #16] 70021074: 4598 cmp r8, r3 70021076: db75 blt.n 70021164 70021078: f896 207c ldrb.w r2, [r6, #124] @ 0x7c 7002107c: 2a00 cmp r2, #0 7002107e: f000 809a beq.w 700211b6 70021082: eddd 7a19 vldr s15, [sp, #100] @ 0x64 70021086: ed9d 7a1d vldr s14, [sp, #116] @ 0x74 7002108a: ee77 7ac7 vsub.f32 s15, s15, s14 7002108e: eef5 7a40 vcmp.f32 s15, #0.0 70021092: eef1 fa10 vmrs APSR_nzcv, fpscr 70021096: f040 80c4 bne.w 70021222 7002109a: eddd 7a1a vldr s15, [sp, #104] @ 0x68 7002109e: ed9d 7a1e vldr s14, [sp, #120] @ 0x78 700210a2: ee77 7ac7 vsub.f32 s15, s15, s14 700210a6: eef5 7a40 vcmp.f32 s15, #0.0 700210aa: eef1 fa10 vmrs APSR_nzcv, fpscr 700210ae: f040 80b8 bne.w 70021222 700210b2: 2300 movs r3, #0 700210b4: f89d 003a ldrb.w r0, [sp, #58] @ 0x3a 700210b8: 2201 movs r2, #1 700210ba: f88d 3039 strb.w r3, [sp, #57] @ 0x39 700210be: 682b ldr r3, [r5, #0] 700210c0: f7ff b9eb b.w 7002049a 700210c4: f04f 0800 mov.w r8, #0 700210c8: 9803 ldr r0, [sp, #12] 700210ca: 4653 mov r3, sl 700210cc: eb03 0380 add.w r3, r3, r0, lsl #2 700210d0: eddd 7a19 vldr s15, [sp, #100] @ 0x64 700210d4: 1c42 adds r2, r0, #1 700210d6: ed9d 7a1a vldr s14, [sp, #104] @ 0x68 700210da: edd3 6a00 vldr s13, [r3] 700210de: 3002 adds r0, #2 700210e0: 920f str r2, [sp, #60] @ 0x3c 700210e2: a913 add r1, sp, #76 @ 0x4c 700210e4: ee76 6aa7 vadd.f32 s13, s13, s15 700210e8: edcd 6a13 vstr s13, [sp, #76] @ 0x4c 700210ec: edd3 7a01 vldr s15, [r3, #4] 700210f0: f896 31bc ldrb.w r3, [r6, #444] @ 0x1bc 700210f4: ee77 7a87 vadd.f32 s15, s15, s14 700210f8: 900f str r0, [sp, #60] @ 0x3c 700210fa: edcd 6a19 vstr s13, [sp, #100] @ 0x64 700210fe: a811 add r0, sp, #68 @ 0x44 70021100: f88d 707c strb.w r7, [sp, #124] @ 0x7c 70021104: edcd 7a14 vstr s15, [sp, #80] @ 0x50 70021108: edcd 7a1a vstr s15, [sp, #104] @ 0x68 7002110c: b1db cbz r3, 70021146 7002110e: ed96 6a3f vldr s12, [r6, #252] @ 0xfc 70021112: ed96 7a3c vldr s14, [r6, #240] @ 0xf0 70021116: edd6 4a3b vldr s9, [r6, #236] @ 0xec 7002111a: ee27 7a87 vmul.f32 s14, s15, s14 7002111e: ed96 5a3e vldr s10, [r6, #248] @ 0xf8 70021122: ee67 7a86 vmul.f32 s15, s15, s12 70021126: edd6 5a3d vldr s11, [r6, #244] @ 0xf4 7002112a: ed96 6a40 vldr s12, [r6, #256] @ 0x100 7002112e: ee06 7aa4 vmla.f32 s14, s13, s9 70021132: ee46 7a85 vmla.f32 s15, s13, s10 70021136: ee37 7a25 vadd.f32 s14, s14, s11 7002113a: ee77 7a86 vadd.f32 s15, s15, s12 7002113e: ed8d 7a13 vstr s14, [sp, #76] @ 0x4c 70021142: edcd 7a14 vstr s15, [sp, #80] @ 0x50 70021146: f7fd fcbd bl 7001eac4 7002114a: f108 0801 add.w r8, r8, #1 7002114e: 4682 mov sl, r0 70021150: b310 cbz r0, 70021198 70021152: 4b29 ldr r3, [pc, #164] @ (700211f8 ) 70021154: 2200 movs r2, #0 70021156: 4650 mov r0, sl 70021158: 681b ldr r3, [r3, #0] 7002115a: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7002115e: f006 fbf7 bl 70027950 70021162: e661 b.n 70020e28 70021164: 68eb ldr r3, [r5, #12] 70021166: 980f ldr r0, [sp, #60] @ 0x3c 70021168: e737 b.n 70020fda 7002116a: eddd 7a19 vldr s15, [sp, #100] @ 0x64 7002116e: f896 11bc ldrb.w r1, [r6, #444] @ 0x1bc 70021172: f1b8 0f00 cmp.w r8, #0 70021176: d047 beq.n 70021208 70021178: ed9d 7a1a vldr s14, [sp, #104] @ 0x68 7002117c: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 70021180: edd2 6a00 vldr s13, [r2] 70021184: f8cd c03c str.w ip, [sp, #60] @ 0x3c 70021188: ee37 7a26 vadd.f32 s14, s14, s13 7002118c: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 70021190: f7ff bbfe b.w 70020990 70021194: 681e ldr r6, [r3, #0] 70021196: e78c b.n 700210b2 70021198: 4b17 ldr r3, [pc, #92] @ (700211f8 ) 7002119a: 681e ldr r6, [r3, #0] 7002119c: ab13 add r3, sp, #76 @ 0x4c 7002119e: e893 0003 ldmia.w r3, {r0, r1} 700211a2: ab11 add r3, sp, #68 @ 0x44 700211a4: e883 0003 stmia.w r3, {r0, r1} 700211a8: 9b04 ldr r3, [sp, #16] 700211aa: 4543 cmp r3, r8 700211ac: f77f ade9 ble.w 70020d82 700211b0: 68eb ldr r3, [r5, #12] 700211b2: 980f ldr r0, [sp, #60] @ 0x3c 700211b4: e78a b.n 700210cc 700211b6: 2301 movs r3, #1 700211b8: f89d 003a ldrb.w r0, [sp, #58] @ 0x3a 700211bc: f88d 3039 strb.w r3, [sp, #57] @ 0x39 700211c0: 682b ldr r3, [r5, #0] 700211c2: f7ff b96a b.w 7002049a 700211c6: edd2 7a00 vldr s15, [r2] 700211ca: ed9d 7a1a vldr s14, [sp, #104] @ 0x68 700211ce: f896 11bc ldrb.w r1, [r6, #444] @ 0x1bc 700211d2: f8cd c03c str.w ip, [sp, #60] @ 0x3c 700211d6: f1b8 0f00 cmp.w r8, #0 700211da: d00f beq.n 700211fc 700211dc: eddd 6a19 vldr s13, [sp, #100] @ 0x64 700211e0: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 700211e4: ee77 7aa6 vadd.f32 s15, s15, s13 700211e8: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 700211ec: f7ff bbd0 b.w 70020990 700211f0: f896 11bc ldrb.w r1, [r6, #444] @ 0x1bc 700211f4: f7ff bbaf b.w 70020956 700211f8: 2400dc78 .word 0x2400dc78 700211fc: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 70021200: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 70021204: f7ff bbc4 b.w 70020990 70021208: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 7002120c: ed92 7a00 vldr s14, [r2] 70021210: f8cd c03c str.w ip, [sp, #60] @ 0x3c 70021214: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 70021218: f7ff bbba b.w 70020990 7002121c: 68eb ldr r3, [r5, #12] 7002121e: 980f ldr r0, [sp, #60] @ 0x3c 70021220: e566 b.n 70020cf0 70021222: 2301 movs r3, #1 70021224: f89d 003a ldrb.w r0, [sp, #58] @ 0x3a 70021228: 2200 movs r2, #0 7002122a: f88d 3039 strb.w r3, [sp, #57] @ 0x39 7002122e: 682b ldr r3, [r5, #0] 70021230: f7ff b933 b.w 7002049a 70021234 : 70021234: b538 push {r3, r4, r5, lr} 70021236: 4c12 ldr r4, [pc, #72] @ (70021280 ) 70021238: 6823 ldr r3, [r4, #0] 7002123a: f8d3 2110 ldr.w r2, [r3, #272] @ 0x110 7002123e: b112 cbz r2, 70021246 70021240: f893 32f0 ldrb.w r3, [r3, #752] @ 0x2f0 70021244: b913 cbnz r3, 7002124c 70021246: 2500 movs r5, #0 70021248: 4628 mov r0, r5 7002124a: bd38 pop {r3, r4, r5, pc} 7002124c: 2b02 cmp r3, #2 7002124e: d009 beq.n 70021264 70021250: 2b01 cmp r3, #1 70021252: d003 beq.n 7002125c 70021254: f44f 0500 mov.w r5, #8388608 @ 0x800000 70021258: 4628 mov r0, r5 7002125a: bd38 pop {r3, r4, r5, pc} 7002125c: 2000 movs r0, #0 7002125e: f7ff f803 bl 70020268 70021262: e7f0 b.n 70021246 70021264: 2000 movs r0, #0 70021266: f7fb fecf bl 7001d008 7002126a: 4605 mov r5, r0 7002126c: 2800 cmp r0, #0 7002126e: d0eb beq.n 70021248 70021270: 6823 ldr r3, [r4, #0] 70021272: 2200 movs r2, #0 70021274: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 70021278: f006 fb6a bl 70027950 7002127c: e7e4 b.n 70021248 7002127e: bf00 nop 70021280: 2400dc78 .word 0x2400dc78 70021284 : 70021284: b538 push {r3, r4, r5, lr} 70021286: 4c11 ldr r4, [pc, #68] @ (700212cc ) 70021288: 6823 ldr r3, [r4, #0] 7002128a: f8d3 2110 ldr.w r2, [r3, #272] @ 0x110 7002128e: b112 cbz r2, 70021296 70021290: f893 02f1 ldrb.w r0, [r3, #753] @ 0x2f1 70021294: b910 cbnz r0, 7002129c 70021296: 2500 movs r5, #0 70021298: 4628 mov r0, r5 7002129a: bd38 pop {r3, r4, r5, pc} 7002129c: 2802 cmp r0, #2 7002129e: d008 beq.n 700212b2 700212a0: 2801 cmp r0, #1 700212a2: d003 beq.n 700212ac 700212a4: f44f 0500 mov.w r5, #8388608 @ 0x800000 700212a8: 4628 mov r0, r5 700212aa: bd38 pop {r3, r4, r5, pc} 700212ac: f7fe ffdc bl 70020268 700212b0: e7f1 b.n 70021296 700212b2: 2001 movs r0, #1 700212b4: f7fb fea8 bl 7001d008 700212b8: 4605 mov r5, r0 700212ba: 2800 cmp r0, #0 700212bc: d0ec beq.n 70021298 700212be: 6823 ldr r3, [r4, #0] 700212c0: 2200 movs r2, #0 700212c2: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 700212c6: f006 fb43 bl 70027950 700212ca: e7e5 b.n 70021298 700212cc: 2400dc78 .word 0x2400dc78 700212d0 : 700212d0: b538 push {r3, r4, r5, lr} 700212d2: 4d20 ldr r5, [pc, #128] @ (70021354 ) 700212d4: 682b ldr r3, [r5, #0] 700212d6: f8d3 2110 ldr.w r2, [r3, #272] @ 0x110 700212da: b15a cbz r2, 700212f4 700212dc: f893 22f0 ldrb.w r2, [r3, #752] @ 0x2f0 700212e0: b95a cbnz r2, 700212fa 700212e2: f893 02f1 ldrb.w r0, [r3, #753] @ 0x2f1 700212e6: b128 cbz r0, 700212f4 700212e8: 2802 cmp r0, #2 700212ea: d024 beq.n 70021336 700212ec: 2801 cmp r0, #1 700212ee: d108 bne.n 70021302 700212f0: f7fe ffba bl 70020268 700212f4: 2400 movs r4, #0 700212f6: 4620 mov r0, r4 700212f8: bd38 pop {r3, r4, r5, pc} 700212fa: 2a02 cmp r2, #2 700212fc: d014 beq.n 70021328 700212fe: 2a01 cmp r2, #1 70021300: d009 beq.n 70021316 70021302: f44f 0400 mov.w r4, #8388608 @ 0x800000 70021306: 2200 movs r2, #0 70021308: 4620 mov r0, r4 7002130a: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7002130e: f006 fb1f bl 70027950 70021312: 4620 mov r0, r4 70021314: bd38 pop {r3, r4, r5, pc} 70021316: 2000 movs r0, #0 70021318: f7fe ffa6 bl 70020268 7002131c: 682b ldr r3, [r5, #0] 7002131e: f8d3 2110 ldr.w r2, [r3, #272] @ 0x110 70021322: 2a00 cmp r2, #0 70021324: d1dd bne.n 700212e2 70021326: e7e5 b.n 700212f4 70021328: 2000 movs r0, #0 7002132a: f7fb fe6d bl 7001d008 7002132e: 4604 mov r4, r0 70021330: 2800 cmp r0, #0 70021332: d0f3 beq.n 7002131c 70021334: e005 b.n 70021342 70021336: 2001 movs r0, #1 70021338: f7fb fe66 bl 7001d008 7002133c: 4604 mov r4, r0 7002133e: 2800 cmp r0, #0 70021340: d0d8 beq.n 700212f4 70021342: 682b ldr r3, [r5, #0] 70021344: 2200 movs r2, #0 70021346: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 7002134a: f006 fb01 bl 70027950 7002134e: 682b ldr r3, [r5, #0] 70021350: e7d9 b.n 70021306 70021352: bf00 nop 70021354: 2400dc78 .word 0x2400dc78 70021358 : 70021358: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002135c: ed2d 8b02 vpush {d8} 70021360: b099 sub sp, #100 @ 0x64 70021362: f8df 9328 ldr.w r9, [pc, #808] @ 7002168c 70021366: 2245 movs r2, #69 @ 0x45 70021368: 2100 movs r1, #0 7002136a: 4680 mov r8, r0 7002136c: f10d 001b add.w r0, sp, #27 70021370: f019 ffd8 bl 7003b324 70021374: f240 1201 movw r2, #257 @ 0x101 70021378: f8d9 3000 ldr.w r3, [r9] 7002137c: 2101 movs r1, #1 7002137e: f8ad 2018 strh.w r2, [sp, #24] 70021382: f8d3 2110 ldr.w r2, [r3, #272] @ 0x110 70021386: f88d 101a strb.w r1, [sp, #26] 7002138a: 428a cmp r2, r1 7002138c: f000 83db beq.w 70021b46 70021390: f8d8 1000 ldr.w r1, [r8] 70021394: 2900 cmp r1, #0 70021396: f000 83ea beq.w 70021b6e 7002139a: 2300 movs r3, #0 7002139c: ed9f 8aba vldr s16, [pc, #744] @ 70021688 700213a0: 461d mov r5, r3 700213a2: f8d8 2008 ldr.w r2, [r8, #8] 700213a6: a90b add r1, sp, #44 @ 0x2c 700213a8: 5d54 ldrb r4, [r2, r5] 700213aa: aa09 add r2, sp, #36 @ 0x24 700213ac: 3501 adds r5, #1 700213ae: f004 076f and.w r7, r4, #111 @ 0x6f 700213b2: c903 ldmia r1, {r0, r1} 700213b4: 2f01 cmp r7, #1 700213b6: e882 0003 stmia.w r2, {r0, r1} 700213ba: f004 0210 and.w r2, r4, #16 700213be: f000 8128 beq.w 70021612 700213c2: f014 017f ands.w r1, r4, #127 @ 0x7f 700213c6: f040 8163 bne.w 70021690 700213ca: f89d 3018 ldrb.w r3, [sp, #24] 700213ce: 2b01 cmp r3, #1 700213d0: f000 8357 beq.w 70021a82 700213d4: eddd 7a15 vldr s15, [sp, #84] @ 0x54 700213d8: ed9d 7a16 vldr s14, [sp, #88] @ 0x58 700213dc: f8d9 c000 ldr.w ip, [r9] 700213e0: 2300 movs r3, #0 700213e2: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 700213e6: f89c a1bc ldrb.w sl, [ip, #444] @ 0x1bc 700213ea: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 700213ee: f8ad 3019 strh.w r3, [sp, #25] 700213f2: edcd 7a11 vstr s15, [sp, #68] @ 0x44 700213f6: ed8d 7a12 vstr s14, [sp, #72] @ 0x48 700213fa: f88d 405c strb.w r4, [sp, #92] @ 0x5c 700213fe: f1ba 0f00 cmp.w sl, #0 70021402: d01f beq.n 70021444 70021404: ed9c 5a3e vldr s10, [ip, #248] @ 0xf8 70021408: eddc 5a3f vldr s11, [ip, #252] @ 0xfc 7002140c: eddc 6a3b vldr s13, [ip, #236] @ 0xec 70021410: ed9c 6a3c vldr s12, [ip, #240] @ 0xf0 70021414: ee67 6aa6 vmul.f32 s13, s15, s13 70021418: ee27 6a06 vmul.f32 s12, s14, s12 7002141c: ee67 7a85 vmul.f32 s15, s15, s10 70021420: ed9c 5a3d vldr s10, [ip, #244] @ 0xf4 70021424: ee27 7a25 vmul.f32 s14, s14, s11 70021428: eddc 5a40 vldr s11, [ip, #256] @ 0x100 7002142c: ee76 6a86 vadd.f32 s13, s13, s12 70021430: ee77 7a87 vadd.f32 s15, s15, s14 70021434: ee36 7a85 vadd.f32 s14, s13, s10 70021438: ee77 7aa5 vadd.f32 s15, s15, s11 7002143c: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 70021440: edcd 7a0c vstr s15, [sp, #48] @ 0x30 70021444: 2900 cmp r1, #0 70021446: f040 80aa bne.w 7002159e 7002144a: 0623 lsls r3, r4, #24 7002144c: f100 80a7 bmi.w 7002159e 70021450: 1f7b subs r3, r7, #5 70021452: 2b03 cmp r3, #3 70021454: f200 83d0 bhi.w 70021bf8 70021458: e8df f003 tbb [pc, r3] 7002145c: 021e021e .word 0x021e021e 70021460: ed9d 3a0b vldr s6, [sp, #44] @ 0x2c 70021464: eddd 3a0c vldr s7, [sp, #48] @ 0x30 70021468: ed9d 2a0f vldr s4, [sp, #60] @ 0x3c 7002146c: eddd 2a10 vldr s5, [sp, #64] @ 0x40 70021470: ed9d 1a0d vldr s2, [sp, #52] @ 0x34 70021474: eddd 1a0e vldr s3, [sp, #56] @ 0x38 70021478: ed9d 0a09 vldr s0, [sp, #36] @ 0x24 7002147c: eddd 0a0a vldr s1, [sp, #40] @ 0x28 70021480: f7fc ff4a bl 7001e318 70021484: 4683 mov fp, r0 70021486: b9c0 cbnz r0, 700214ba 70021488: f8d8 3000 ldr.w r3, [r8] 7002148c: 42ab cmp r3, r5 7002148e: f240 8325 bls.w 70021adc 70021492: f89d 305c ldrb.w r3, [sp, #92] @ 0x5c 70021496: e784 b.n 700213a2 70021498: ed9d 2a0b vldr s4, [sp, #44] @ 0x2c 7002149c: eddd 2a0c vldr s5, [sp, #48] @ 0x30 700214a0: ed9d 1a0d vldr s2, [sp, #52] @ 0x34 700214a4: eddd 1a0e vldr s3, [sp, #56] @ 0x38 700214a8: ed9d 0a09 vldr s0, [sp, #36] @ 0x24 700214ac: eddd 0a0a vldr s1, [sp, #40] @ 0x28 700214b0: f7fd fd6a bl 7001ef88 700214b4: 4683 mov fp, r0 700214b6: 2800 cmp r0, #0 700214b8: d0e6 beq.n 70021488 700214ba: f8d9 2000 ldr.w r2, [r9] 700214be: 2100 movs r1, #0 700214c0: e9c2 1145 strd r1, r1, [r2, #276] @ 0x114 700214c4: f006 fa44 bl 70027950 700214c8: 4658 mov r0, fp 700214ca: b019 add sp, #100 @ 0x64 700214cc: ecbd 8b02 vpop {d8} 700214d0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700214d4: edde 7a00 vldr s15, [lr] 700214d8: 9107 str r1, [sp, #28] 700214da: eefd 7ae7 vcvt.s32.f32 s15, s15 700214de: ee17 1a90 vmov r1, s15 700214e2: 2900 cmp r1, #0 700214e4: 460e mov r6, r1 700214e6: bfb8 it lt 700214e8: 1c4e addlt r6, r1, #1 700214ea: 2901 cmp r1, #1 700214ec: ea4f 0666 mov.w r6, r6, asr #1 700214f0: f300 8461 bgt.w 70021db6 700214f4: eddd 6a15 vldr s13, [sp, #84] @ 0x54 700214f8: ed9d 7a11 vldr s14, [sp, #68] @ 0x44 700214fc: eddd 7a16 vldr s15, [sp, #88] @ 0x58 70021500: ee37 7a66 vsub.f32 s14, s14, s13 70021504: eeb5 7a40 vcmp.f32 s14, #0.0 70021508: eef1 fa10 vmrs APSR_nzcv, fpscr 7002150c: d108 bne.n 70021520 7002150e: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 70021512: ee37 7a67 vsub.f32 s14, s14, s15 70021516: eeb5 7a40 vcmp.f32 s14, #0.0 7002151a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002151e: d035 beq.n 7002158c 70021520: f8d9 3000 ldr.w r3, [r9] 70021524: a90b add r1, sp, #44 @ 0x2c 70021526: ae09 add r6, sp, #36 @ 0x24 70021528: edcd 6a11 vstr s13, [sp, #68] @ 0x44 7002152c: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70021530: edcd 7a12 vstr s15, [sp, #72] @ 0x48 70021534: c903 ldmia r1, {r0, r1} 70021536: edcd 6a0b vstr s13, [sp, #44] @ 0x2c 7002153a: edcd 7a0c vstr s15, [sp, #48] @ 0x30 7002153e: e886 0003 stmia.w r6, {r0, r1} 70021542: b1da cbz r2, 7002157c 70021544: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 70021548: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 7002154c: edd3 4a3b vldr s9, [r3, #236] @ 0xec 70021550: ee27 7a87 vmul.f32 s14, s15, s14 70021554: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 70021558: ee67 7a86 vmul.f32 s15, s15, s12 7002155c: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 70021560: ed93 6a40 vldr s12, [r3, #256] @ 0x100 70021564: ee06 7aa4 vmla.f32 s14, s13, s9 70021568: ee46 7a85 vmla.f32 s15, s13, s10 7002156c: ee37 7a25 vadd.f32 s14, s14, s11 70021570: ee77 7a86 vadd.f32 s15, s15, s12 70021574: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 70021578: edcd 7a0c vstr s15, [sp, #48] @ 0x30 7002157c: a90b add r1, sp, #44 @ 0x2c 7002157e: a809 add r0, sp, #36 @ 0x24 70021580: f7fd faa0 bl 7001eac4 70021584: 4683 mov fp, r0 70021586: 2800 cmp r0, #0 70021588: f040 8326 bne.w 70021bd8 7002158c: 2300 movs r3, #0 7002158e: f88d 3019 strb.w r3, [sp, #25] 70021592: f89d 301a ldrb.w r3, [sp, #26] 70021596: b913 cbnz r3, 7002159e 70021598: 0622 lsls r2, r4, #24 7002159a: f140 8330 bpl.w 70021bfe 7002159e: 4621 mov r1, r4 700215a0: 2000 movs r0, #0 700215a2: f7fc fa5f bl 7001da64 700215a6: 4683 mov fp, r0 700215a8: 2800 cmp r0, #0 700215aa: d186 bne.n 700214ba 700215ac: f89d 3019 ldrb.w r3, [sp, #25] 700215b0: 2b00 cmp r3, #0 700215b2: f43f af69 beq.w 70021488 700215b6: 2d01 cmp r5, #1 700215b8: f43f af66 beq.w 70021488 700215bc: 2f01 cmp r7, #1 700215be: f47f af63 bne.w 70021488 700215c2: f8d9 2000 ldr.w r2, [r9] 700215c6: f8d2 3110 ldr.w r3, [r2, #272] @ 0x110 700215ca: 2b00 cmp r3, #0 700215cc: f000 826d beq.w 70021aaa 700215d0: f892 32f0 ldrb.w r3, [r2, #752] @ 0x2f0 700215d4: 2b00 cmp r3, #0 700215d6: f000 8264 beq.w 70021aa2 700215da: 2b02 cmp r3, #2 700215dc: f000 8256 beq.w 70021a8c 700215e0: 2b01 cmp r3, #1 700215e2: f000 82e5 beq.w 70021bb0 700215e6: f44f 0b00 mov.w fp, #8388608 @ 0x800000 700215ea: 2100 movs r1, #0 700215ec: 4658 mov r0, fp 700215ee: e9c2 1145 strd r1, r1, [r2, #276] @ 0x114 700215f2: f006 f9ad bl 70027950 700215f6: f8d9 2000 ldr.w r2, [r9] 700215fa: 2100 movs r1, #0 700215fc: 4658 mov r0, fp 700215fe: e9c2 1145 strd r1, r1, [r2, #276] @ 0x114 70021602: f006 f9a5 bl 70027950 70021606: 4658 mov r0, fp 70021608: b019 add sp, #100 @ 0x64 7002160a: ecbd 8b02 vpop {d8} 7002160e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70021612: f89d 1019 ldrb.w r1, [sp, #25] 70021616: 9b07 ldr r3, [sp, #28] 70021618: 2901 cmp r1, #1 7002161a: f8d9 c000 ldr.w ip, [r9] 7002161e: f000 81ee beq.w 700219fe 70021622: f04f 0100 mov.w r1, #0 70021626: 1c58 adds r0, r3, #1 70021628: 9308 str r3, [sp, #32] 7002162a: f88d 1018 strb.w r1, [sp, #24] 7002162e: f04f 0101 mov.w r1, #1 70021632: f88d 101a strb.w r1, [sp, #26] 70021636: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 7002163a: f8cc 1120 str.w r1, [ip, #288] @ 0x120 7002163e: 0099 lsls r1, r3, #2 70021640: 3302 adds r3, #2 70021642: 1d0e adds r6, r1, #4 70021644: 2a00 cmp r2, #0 70021646: f000 81cc beq.w 700219e2 7002164a: f8d8 200c ldr.w r2, [r8, #12] 7002164e: ed9d 7a11 vldr s14, [sp, #68] @ 0x44 70021652: 4411 add r1, r2 70021654: 4432 add r2, r6 70021656: eddd 6a12 vldr s13, [sp, #72] @ 0x48 7002165a: edd1 7a00 vldr s15, [r1] 7002165e: 9007 str r0, [sp, #28] 70021660: ee77 7a87 vadd.f32 s15, s15, s14 70021664: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 70021668: ed92 7a00 vldr s14, [r2] 7002166c: ee37 7a26 vadd.f32 s14, s14, s13 70021670: f89c a1bc ldrb.w sl, [ip, #444] @ 0x1bc 70021674: 2101 movs r1, #1 70021676: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 7002167a: 9307 str r3, [sp, #28] 7002167c: edcd 7a15 vstr s15, [sp, #84] @ 0x54 70021680: ed8d 7a16 vstr s14, [sp, #88] @ 0x58 70021684: e6b5 b.n 700213f2 70021686: bf00 nop 70021688: 00000000 .word 0x00000000 7002168c: 2400dc78 .word 0x2400dc78 70021690: 9e07 ldr r6, [sp, #28] 70021692: bb86 cbnz r6, 700216f6 70021694: f04f 0101 mov.w r1, #1 70021698: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7002169c: f88d 1018 strb.w r1, [sp, #24] 700216a0: f8d9 1000 ldr.w r1, [r9] 700216a4: f8c1 0120 str.w r0, [r1, #288] @ 0x120 700216a8: f891 01bc ldrb.w r0, [r1, #444] @ 0x1bc 700216ac: b318 cbz r0, 700216f6 700216ae: eddd 7a09 vldr s15, [sp, #36] @ 0x24 700216b2: eddd 6a0a vldr s13, [sp, #40] @ 0x28 700216b6: ed91 5a3e vldr s10, [r1, #248] @ 0xf8 700216ba: edd1 5a3f vldr s11, [r1, #252] @ 0xfc 700216be: ed91 7a3b vldr s14, [r1, #236] @ 0xec 700216c2: ed91 6a3c vldr s12, [r1, #240] @ 0xf0 700216c6: ee27 7a87 vmul.f32 s14, s15, s14 700216ca: ee26 6a86 vmul.f32 s12, s13, s12 700216ce: ee67 7a85 vmul.f32 s15, s15, s10 700216d2: ed91 5a3d vldr s10, [r1, #244] @ 0xf4 700216d6: ee66 6aa5 vmul.f32 s13, s13, s11 700216da: edd1 5a40 vldr s11, [r1, #256] @ 0x100 700216de: ee37 7a06 vadd.f32 s14, s14, s12 700216e2: ee77 7aa6 vadd.f32 s15, s15, s13 700216e6: ee37 7a05 vadd.f32 s14, s14, s10 700216ea: ee77 7aa5 vadd.f32 s15, s15, s11 700216ee: ed8d 7a09 vstr s14, [sp, #36] @ 0x24 700216f2: edcd 7a0a vstr s15, [sp, #40] @ 0x28 700216f6: f003 0a6f and.w sl, r3, #111 @ 0x6f 700216fa: f04f 0300 mov.w r3, #0 700216fe: 00b1 lsls r1, r6, #2 70021700: f1a7 0c05 sub.w ip, r7, #5 70021704: f88d 301a strb.w r3, [sp, #26] 70021708: f8d8 300c ldr.w r3, [r8, #12] 7002170c: 9100 str r1, [sp, #0] 7002170e: 1c71 adds r1, r6, #1 70021710: eb03 0e86 add.w lr, r3, r6, lsl #2 70021714: f1bc 0f03 cmp.w ip, #3 70021718: f200 8283 bhi.w 70021c22 7002171c: e8df f01c tbh [pc, ip, lsl #1] 70021720: 00ea0119 .word 0x00ea0119 70021724: 000400a5 .word 0x000400a5 70021728: f1aa 0a05 sub.w sl, sl, #5 7002172c: ed9d 5a11 vldr s10, [sp, #68] @ 0x44 70021730: eddd 5a12 vldr s11, [sp, #72] @ 0x48 70021734: f1ba 0f03 cmp.w sl, #3 70021738: f240 81e6 bls.w 70021b08 7002173c: eeb0 7a65 vmov.f32 s14, s11 70021740: eef0 7a45 vmov.f32 s15, s10 70021744: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 70021748: 3602 adds r6, #2 7002174a: edcd 7a0d vstr s15, [sp, #52] @ 0x34 7002174e: ed9e 6a00 vldr s12, [lr] 70021752: 9107 str r1, [sp, #28] 70021754: ed8d 6a0f vstr s12, [sp, #60] @ 0x3c 70021758: edde 6a01 vldr s13, [lr, #4] 7002175c: 9607 str r6, [sp, #28] 7002175e: edcd 6a10 vstr s13, [sp, #64] @ 0x40 70021762: b13a cbz r2, 70021774 70021764: ee36 6a05 vadd.f32 s12, s12, s10 70021768: ee76 6aa5 vadd.f32 s13, s13, s11 7002176c: ed8d 6a0f vstr s12, [sp, #60] @ 0x3c 70021770: edcd 6a10 vstr s13, [sp, #64] @ 0x40 70021774: f8d9 c000 ldr.w ip, [r9] 70021778: ed8d 6a13 vstr s12, [sp, #76] @ 0x4c 7002177c: edcd 6a14 vstr s13, [sp, #80] @ 0x50 70021780: f89c a1bc ldrb.w sl, [ip, #444] @ 0x1bc 70021784: f1ba 0f00 cmp.w sl, #0 70021788: d033 beq.n 700217f2 7002178a: ed9c 5a3b vldr s10, [ip, #236] @ 0xec 7002178e: eddc 3a3c vldr s7, [ip, #240] @ 0xf0 70021792: eddc 5a3e vldr s11, [ip, #248] @ 0xf8 70021796: ee67 4a85 vmul.f32 s9, s15, s10 7002179a: ed9c 4a3f vldr s8, [ip, #252] @ 0xfc 7002179e: ee23 3a87 vmul.f32 s6, s7, s14 700217a2: ee25 5a06 vmul.f32 s10, s10, s12 700217a6: ee24 7a07 vmul.f32 s14, s8, s14 700217aa: ee67 7aa5 vmul.f32 s15, s15, s11 700217ae: ee24 4a26 vmul.f32 s8, s8, s13 700217b2: ee65 5a86 vmul.f32 s11, s11, s12 700217b6: ee63 3aa6 vmul.f32 s7, s7, s13 700217ba: ee77 7a87 vadd.f32 s15, s15, s14 700217be: ee34 6a83 vadd.f32 s12, s9, s6 700217c2: ee75 6a23 vadd.f32 s13, s10, s7 700217c6: ed9c 5a3d vldr s10, [ip, #244] @ 0xf4 700217ca: ee35 7a84 vadd.f32 s14, s11, s8 700217ce: eddc 5a40 vldr s11, [ip, #256] @ 0x100 700217d2: ee36 6a05 vadd.f32 s12, s12, s10 700217d6: ee77 7aa5 vadd.f32 s15, s15, s11 700217da: ee76 6a85 vadd.f32 s13, s13, s10 700217de: ee37 7a25 vadd.f32 s14, s14, s11 700217e2: ed8d 6a0d vstr s12, [sp, #52] @ 0x34 700217e6: edcd 7a0e vstr s15, [sp, #56] @ 0x38 700217ea: edcd 6a0f vstr s13, [sp, #60] @ 0x3c 700217ee: ed8d 7a10 vstr s14, [sp, #64] @ 0x40 700217f2: 00b1 lsls r1, r6, #2 700217f4: 9100 str r1, [sp, #0] 700217f6: 1c71 adds r1, r6, #1 700217f8: 9800 ldr r0, [sp, #0] 700217fa: 3602 adds r6, #2 700217fc: eb03 0e00 add.w lr, r3, r0 70021800: 3004 adds r0, #4 70021802: edde 7a00 vldr s15, [lr] 70021806: 4403 add r3, r0 70021808: 9107 str r1, [sp, #28] 7002180a: 2a00 cmp r2, #0 7002180c: f000 8189 beq.w 70021b22 70021810: ed9d 7a11 vldr s14, [sp, #68] @ 0x44 70021814: eddd 6a12 vldr s13, [sp, #72] @ 0x48 70021818: ee77 7a87 vadd.f32 s15, s15, s14 7002181c: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 70021820: ed93 7a00 vldr s14, [r3] 70021824: 9607 str r6, [sp, #28] 70021826: ee37 7a26 vadd.f32 s14, s14, s13 7002182a: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 7002182e: f89c 307c ldrb.w r3, [ip, #124] @ 0x7c 70021832: 2b00 cmp r3, #0 70021834: f000 80e1 beq.w 700219fa 70021838: eddd 6a15 vldr s13, [sp, #84] @ 0x54 7002183c: ee77 6ae6 vsub.f32 s13, s15, s13 70021840: eef5 6a40 vcmp.f32 s13, #0.0 70021844: eef1 fa10 vmrs APSR_nzcv, fpscr 70021848: f040 80d7 bne.w 700219fa 7002184c: eddd 6a16 vldr s13, [sp, #88] @ 0x58 70021850: ee77 6a66 vsub.f32 s13, s14, s13 70021854: eef5 6a40 vcmp.f32 s13, #0.0 70021858: eef1 fa10 vmrs APSR_nzcv, fpscr 7002185c: bf14 ite ne 7002185e: 2301 movne r3, #1 70021860: 2300 moveq r3, #0 70021862: 2100 movs r1, #0 70021864: f88d 3019 strb.w r3, [sp, #25] 70021868: e5c3 b.n 700213f2 7002186a: f1aa 0a05 sub.w sl, sl, #5 7002186e: eddd 7a11 vldr s15, [sp, #68] @ 0x44 70021872: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 70021876: f1ba 0f03 cmp.w sl, #3 7002187a: d80b bhi.n 70021894 7002187c: ee77 7aa7 vadd.f32 s15, s15, s15 70021880: ed9d 6a13 vldr s12, [sp, #76] @ 0x4c 70021884: ee37 7a07 vadd.f32 s14, s14, s14 70021888: eddd 6a14 vldr s13, [sp, #80] @ 0x50 7002188c: ee77 7ac6 vsub.f32 s15, s15, s12 70021890: ee37 7a66 vsub.f32 s14, s14, s13 70021894: f8d9 c000 ldr.w ip, [r9] 70021898: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 7002189c: f89c a1bc ldrb.w sl, [ip, #444] @ 0x1bc 700218a0: edcd 7a0d vstr s15, [sp, #52] @ 0x34 700218a4: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 700218a8: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 700218ac: f1ba 0f00 cmp.w sl, #0 700218b0: d0a2 beq.n 700217f8 700218b2: ed9c 5a3e vldr s10, [ip, #248] @ 0xf8 700218b6: eddc 5a3f vldr s11, [ip, #252] @ 0xfc 700218ba: eddc 6a3b vldr s13, [ip, #236] @ 0xec 700218be: ed9c 6a3c vldr s12, [ip, #240] @ 0xf0 700218c2: ee67 6aa6 vmul.f32 s13, s15, s13 700218c6: ee27 6a06 vmul.f32 s12, s14, s12 700218ca: ee67 7a85 vmul.f32 s15, s15, s10 700218ce: ed9c 5a3d vldr s10, [ip, #244] @ 0xf4 700218d2: ee27 7a25 vmul.f32 s14, s14, s11 700218d6: eddc 5a40 vldr s11, [ip, #256] @ 0x100 700218da: ee76 6a86 vadd.f32 s13, s13, s12 700218de: ee77 7a87 vadd.f32 s15, s15, s14 700218e2: ee36 7a85 vadd.f32 s14, s13, s10 700218e6: ee77 7aa5 vadd.f32 s15, s15, s11 700218ea: ed8d 7a0d vstr s14, [sp, #52] @ 0x34 700218ee: edcd 7a0e vstr s15, [sp, #56] @ 0x38 700218f2: e781 b.n 700217f8 700218f4: edde 7a00 vldr s15, [lr] 700218f8: 9107 str r1, [sp, #28] 700218fa: 1cb1 adds r1, r6, #2 700218fc: edcd 7a0d vstr s15, [sp, #52] @ 0x34 70021900: ed9e 7a01 vldr s14, [lr, #4] 70021904: 9107 str r1, [sp, #28] 70021906: 1cf1 adds r1, r6, #3 70021908: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 7002190c: 3604 adds r6, #4 7002190e: ed9e 6a02 vldr s12, [lr, #8] 70021912: 9107 str r1, [sp, #28] 70021914: ed8d 6a0f vstr s12, [sp, #60] @ 0x3c 70021918: edde 6a03 vldr s13, [lr, #12] 7002191c: 9607 str r6, [sp, #28] 7002191e: edcd 6a10 vstr s13, [sp, #64] @ 0x40 70021922: 2a00 cmp r2, #0 70021924: f43f af26 beq.w 70021774 70021928: ed9d 5a11 vldr s10, [sp, #68] @ 0x44 7002192c: eddd 5a12 vldr s11, [sp, #72] @ 0x48 70021930: ee77 7a85 vadd.f32 s15, s15, s10 70021934: ee37 7a25 vadd.f32 s14, s14, s11 70021938: ee36 6a05 vadd.f32 s12, s12, s10 7002193c: ee76 6aa5 vadd.f32 s13, s13, s11 70021940: edcd 7a0d vstr s15, [sp, #52] @ 0x34 70021944: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 70021948: ed8d 6a0f vstr s12, [sp, #60] @ 0x3c 7002194c: edcd 6a10 vstr s13, [sp, #64] @ 0x40 70021950: e710 b.n 70021774 70021952: edde 7a00 vldr s15, [lr] 70021956: 3602 adds r6, #2 70021958: 9107 str r1, [sp, #28] 7002195a: edcd 7a0d vstr s15, [sp, #52] @ 0x34 7002195e: ed9e 7a01 vldr s14, [lr, #4] 70021962: 9607 str r6, [sp, #28] 70021964: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 70021968: b15a cbz r2, 70021982 7002196a: ed9d 6a11 vldr s12, [sp, #68] @ 0x44 7002196e: eddd 6a12 vldr s13, [sp, #72] @ 0x48 70021972: ee77 7a86 vadd.f32 s15, s15, s12 70021976: ee37 7a26 vadd.f32 s14, s14, s13 7002197a: edcd 7a0d vstr s15, [sp, #52] @ 0x34 7002197e: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 70021982: f8d9 c000 ldr.w ip, [r9] 70021986: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 7002198a: f89c a1bc ldrb.w sl, [ip, #444] @ 0x1bc 7002198e: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 70021992: f1ba 0f00 cmp.w sl, #0 70021996: f43f af2c beq.w 700217f2 7002199a: ed9c 5a3e vldr s10, [ip, #248] @ 0xf8 7002199e: 00b1 lsls r1, r6, #2 700219a0: eddc 5a3f vldr s11, [ip, #252] @ 0xfc 700219a4: eddc 6a3b vldr s13, [ip, #236] @ 0xec 700219a8: ed9c 6a3c vldr s12, [ip, #240] @ 0xf0 700219ac: ee67 6aa6 vmul.f32 s13, s15, s13 700219b0: 9100 str r1, [sp, #0] 700219b2: ee27 6a06 vmul.f32 s12, s14, s12 700219b6: 1c71 adds r1, r6, #1 700219b8: ee27 7a25 vmul.f32 s14, s14, s11 700219bc: eddc 5a40 vldr s11, [ip, #256] @ 0x100 700219c0: ee67 7a85 vmul.f32 s15, s15, s10 700219c4: ed9c 5a3d vldr s10, [ip, #244] @ 0xf4 700219c8: ee76 6a86 vadd.f32 s13, s13, s12 700219cc: ee77 7a87 vadd.f32 s15, s15, s14 700219d0: ee36 7a85 vadd.f32 s14, s13, s10 700219d4: ee77 7aa5 vadd.f32 s15, s15, s11 700219d8: ed8d 7a0d vstr s14, [sp, #52] @ 0x34 700219dc: edcd 7a0e vstr s15, [sp, #56] @ 0x38 700219e0: e70a b.n 700217f8 700219e2: f8d8 200c ldr.w r2, [r8, #12] 700219e6: 4411 add r1, r2 700219e8: 4432 add r2, r6 700219ea: edd1 7a00 vldr s15, [r1] 700219ee: 9007 str r0, [sp, #28] 700219f0: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 700219f4: ed92 7a00 vldr s14, [r2] 700219f8: e63a b.n 70021670 700219fa: 2301 movs r3, #1 700219fc: e731 b.n 70021862 700219fe: 2b00 cmp r3, #0 70021a00: f43f ae0f beq.w 70021622 70021a04: f89c 107c ldrb.w r1, [ip, #124] @ 0x7c 70021a08: 2900 cmp r1, #0 70021a0a: f43f ae0a beq.w 70021622 70021a0e: f89d 3018 ldrb.w r3, [sp, #24] 70021a12: 2b00 cmp r3, #0 70021a14: f000 80a6 beq.w 70021b64 70021a18: eddf 7aa9 vldr s15, [pc, #676] @ 70021cc0 70021a1c: eeb0 7a67 vmov.f32 s14, s15 70021a20: f89c 31bc ldrb.w r3, [ip, #444] @ 0x1bc 70021a24: b1db cbz r3, 70021a5e 70021a26: ed9c 5a3e vldr s10, [ip, #248] @ 0xf8 70021a2a: eddc 5a3f vldr s11, [ip, #252] @ 0xfc 70021a2e: eddc 6a3b vldr s13, [ip, #236] @ 0xec 70021a32: ed9c 6a3c vldr s12, [ip, #240] @ 0xf0 70021a36: ee67 6a26 vmul.f32 s13, s14, s13 70021a3a: ee27 6a86 vmul.f32 s12, s15, s12 70021a3e: ee27 7a05 vmul.f32 s14, s14, s10 70021a42: ed9c 5a3d vldr s10, [ip, #244] @ 0xf4 70021a46: ee67 7aa5 vmul.f32 s15, s15, s11 70021a4a: eddc 5a40 vldr s11, [ip, #256] @ 0x100 70021a4e: ee76 6a86 vadd.f32 s13, s13, s12 70021a52: ee77 7a27 vadd.f32 s15, s14, s15 70021a56: ee36 7a85 vadd.f32 s14, s13, s10 70021a5a: ee77 7aa5 vadd.f32 s15, s15, s11 70021a5e: a904 add r1, sp, #16 70021a60: a809 add r0, sp, #36 @ 0x24 70021a62: 9200 str r2, [sp, #0] 70021a64: ed8d 7a04 vstr s14, [sp, #16] 70021a68: edcd 7a05 vstr s15, [sp, #20] 70021a6c: f7fd f82a bl 7001eac4 70021a70: 9a00 ldr r2, [sp, #0] 70021a72: 4683 mov fp, r0 70021a74: 2800 cmp r0, #0 70021a76: f040 80af bne.w 70021bd8 70021a7a: f8d9 c000 ldr.w ip, [r9] 70021a7e: 9b07 ldr r3, [sp, #28] 70021a80: e5cf b.n 70021622 70021a82: eeb0 7a48 vmov.f32 s14, s16 70021a86: eddf 7a8e vldr s15, [pc, #568] @ 70021cc0 70021a8a: e4a7 b.n 700213dc 70021a8c: f7fb fabc bl 7001d008 70021a90: 4683 mov fp, r0 70021a92: 2800 cmp r0, #0 70021a94: f040 80a8 bne.w 70021be8 70021a98: f8d9 2000 ldr.w r2, [r9] 70021a9c: f8d2 3110 ldr.w r3, [r2, #272] @ 0x110 70021aa0: b11b cbz r3, 70021aaa 70021aa2: f892 02f1 ldrb.w r0, [r2, #753] @ 0x2f1 70021aa6: 2800 cmp r0, #0 70021aa8: d143 bne.n 70021b32 70021aaa: f04f 0300 mov.w r3, #0 70021aae: ed82 8a64 vstr s16, [r2, #400] @ 0x190 70021ab2: ed82 8a65 vstr s16, [r2, #404] @ 0x194 70021ab6: f882 31c3 strb.w r3, [r2, #451] @ 0x1c3 70021aba: ed82 8a66 vstr s16, [r2, #408] @ 0x198 70021abe: ed82 8a67 vstr s16, [r2, #412] @ 0x19c 70021ac2: ed82 8a68 vstr s16, [r2, #416] @ 0x1a0 70021ac6: ed82 8a69 vstr s16, [r2, #420] @ 0x1a4 70021aca: ed82 8a6a vstr s16, [r2, #424] @ 0x1a8 70021ace: ed82 8a6b vstr s16, [r2, #428] @ 0x1ac 70021ad2: f8d8 3000 ldr.w r3, [r8] 70021ad6: 42ab cmp r3, r5 70021ad8: f63f acdb bhi.w 70021492 70021adc: f89d 4019 ldrb.w r4, [sp, #25] 70021ae0: 2100 movs r1, #0 70021ae2: fab4 f084 clz r0, r4 70021ae6: 0940 lsrs r0, r0, #5 70021ae8: f7fb ffbc bl 7001da64 70021aec: 4683 mov fp, r0 70021aee: 2800 cmp r0, #0 70021af0: f47f ad81 bne.w 700215f6 70021af4: 2c00 cmp r4, #0 70021af6: d141 bne.n 70021b7c 70021af8: f04f 0b00 mov.w fp, #0 70021afc: 4658 mov r0, fp 70021afe: b019 add sp, #100 @ 0x64 70021b00: ecbd 8b02 vpop {d8} 70021b04: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70021b08: ee75 7a05 vadd.f32 s15, s10, s10 70021b0c: ed9d 6a13 vldr s12, [sp, #76] @ 0x4c 70021b10: ee35 7aa5 vadd.f32 s14, s11, s11 70021b14: eddd 6a14 vldr s13, [sp, #80] @ 0x50 70021b18: ee77 7ac6 vsub.f32 s15, s15, s12 70021b1c: ee37 7a66 vsub.f32 s14, s14, s13 70021b20: e610 b.n 70021744 70021b22: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 70021b26: ed93 7a00 vldr s14, [r3] 70021b2a: 9607 str r6, [sp, #28] 70021b2c: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 70021b30: e67d b.n 7002182e 70021b32: 2802 cmp r0, #2 70021b34: d03f beq.n 70021bb6 70021b36: 2801 cmp r0, #1 70021b38: f47f ad55 bne.w 700215e6 70021b3c: f7fe fb94 bl 70020268 70021b40: f8d9 2000 ldr.w r2, [r9] 70021b44: e7b1 b.n 70021aaa 70021b46: f8d3 2090 ldr.w r2, [r3, #144] @ 0x90 70021b4a: 0791 lsls r1, r2, #30 70021b4c: f53f ac20 bmi.w 70021390 70021b50: f8d3 211c ldr.w r2, [r3, #284] @ 0x11c 70021b54: 2a00 cmp r2, #0 70021b56: f47f ac1b bne.w 70021390 70021b5a: f44f 7280 mov.w r2, #256 @ 0x100 70021b5e: f8a3 21bc strh.w r2, [r3, #444] @ 0x1bc 70021b62: e415 b.n 70021390 70021b64: ed9d 7a15 vldr s14, [sp, #84] @ 0x54 70021b68: eddd 7a16 vldr s15, [sp, #88] @ 0x58 70021b6c: e758 b.n 70021a20 70021b6e: 4608 mov r0, r1 70021b70: f7fb ff78 bl 7001da64 70021b74: 4683 mov fp, r0 70021b76: 2800 cmp r0, #0 70021b78: f47f ad3d bne.w 700215f6 70021b7c: f7ff fba8 bl 700212d0 70021b80: f8d9 2000 ldr.w r2, [r9] 70021b84: 4683 mov fp, r0 70021b86: 2100 movs r1, #0 70021b88: bb88 cbnz r0, 70021bee 70021b8a: f882 01c3 strb.w r0, [r2, #451] @ 0x1c3 70021b8e: f8c2 1190 str.w r1, [r2, #400] @ 0x190 70021b92: f8c2 1194 str.w r1, [r2, #404] @ 0x194 70021b96: f8c2 1198 str.w r1, [r2, #408] @ 0x198 70021b9a: f8c2 119c str.w r1, [r2, #412] @ 0x19c 70021b9e: f8c2 11a0 str.w r1, [r2, #416] @ 0x1a0 70021ba2: f8c2 11a4 str.w r1, [r2, #420] @ 0x1a4 70021ba6: f8c2 11a8 str.w r1, [r2, #424] @ 0x1a8 70021baa: f8c2 11ac str.w r1, [r2, #428] @ 0x1ac 70021bae: e7a3 b.n 70021af8 70021bb0: f7fe fb5a bl 70020268 70021bb4: e770 b.n 70021a98 70021bb6: 2001 movs r0, #1 70021bb8: f7fb fa26 bl 7001d008 70021bbc: f8d9 2000 ldr.w r2, [r9] 70021bc0: 4683 mov fp, r0 70021bc2: 2800 cmp r0, #0 70021bc4: f43f af71 beq.w 70021aaa 70021bc8: 2100 movs r1, #0 70021bca: e9c2 1145 strd r1, r1, [r2, #276] @ 0x114 70021bce: f005 febf bl 70027950 70021bd2: f8d9 2000 ldr.w r2, [r9] 70021bd6: e508 b.n 700215ea 70021bd8: f8d9 2000 ldr.w r2, [r9] 70021bdc: 2100 movs r1, #0 70021bde: e9c2 1145 strd r1, r1, [r2, #276] @ 0x114 70021be2: f005 feb5 bl 70027950 70021be6: e506 b.n 700215f6 70021be8: f8d9 2000 ldr.w r2, [r9] 70021bec: e7ec b.n 70021bc8 70021bee: e9c2 1145 strd r1, r1, [r2, #276] @ 0x114 70021bf2: f005 fead bl 70027950 70021bf6: e506 b.n 70021606 70021bf8: f004 030f and.w r3, r4, #15 70021bfc: 9301 str r3, [sp, #4] 70021bfe: 9b01 ldr r3, [sp, #4] 70021c00: 2b09 cmp r3, #9 70021c02: f000 819f beq.w 70021f44 70021c06: 3f0a subs r7, #10 70021c08: 2f01 cmp r7, #1 70021c0a: f67f ac3d bls.w 70021488 70021c0e: 2201 movs r2, #1 70021c10: a90b add r1, sp, #44 @ 0x2c 70021c12: a809 add r0, sp, #36 @ 0x24 70021c14: f7fc f8ce bl 7001ddb4 70021c18: 4683 mov fp, r0 70021c1a: 2800 cmp r0, #0 70021c1c: f43f ac34 beq.w 70021488 70021c20: e44b b.n 700214ba 70021c22: f004 0c0f and.w ip, r4, #15 70021c26: f1bc 0f09 cmp.w ip, #9 70021c2a: f8cd c004 str.w ip, [sp, #4] 70021c2e: d01f beq.n 70021c70 70021c30: 9800 ldr r0, [sp, #0] 70021c32: f1a7 0a03 sub.w sl, r7, #3 70021c36: 468c mov ip, r1 70021c38: eb03 0e00 add.w lr, r3, r0 70021c3c: f1ba 0f08 cmp.w sl, #8 70021c40: f200 8176 bhi.w 70021f30 70021c44: f20f 0b04 addw fp, pc, #4 70021c48: f85b f02a ldr.w pc, [fp, sl, lsl #2] 70021c4c: 70021f0b .word 0x70021f0b 70021c50: 70021d8d .word 0x70021d8d 70021c54: 70021f31 .word 0x70021f31 70021c58: 70021f31 .word 0x70021f31 70021c5c: 70021f31 .word 0x70021f31 70021c60: 70021f31 .word 0x70021f31 70021c64: 70021f31 .word 0x70021f31 70021c68: 700214d5 .word 0x700214d5 70021c6c: 70021cc5 .word 0x70021cc5 70021c70: f8de 0000 ldr.w r0, [lr] 70021c74: 9107 str r1, [sp, #28] 70021c76: f8d9 1000 ldr.w r1, [r9] 70021c7a: 900d str r0, [sp, #52] @ 0x34 70021c7c: edd1 0a3b vldr s1, [r1, #236] @ 0xec 70021c80: ed91 0a3e vldr s0, [r1, #248] @ 0xf8 70021c84: f8de 1004 ldr.w r1, [lr, #4] 70021c88: 910e str r1, [sp, #56] @ 0x38 70021c8a: 1cb1 adds r1, r6, #2 70021c8c: 3603 adds r6, #3 70021c8e: 9107 str r1, [sp, #28] 70021c90: edde 8a02 vldr s17, [lr, #8] 70021c94: 9607 str r6, [sp, #28] 70021c96: e9cd 2302 strd r2, r3, [sp, #8] 70021c9a: f017 fdcb bl 70039834 70021c9e: 9911 ldr r1, [sp, #68] @ 0x44 70021ca0: ee78 8a80 vadd.f32 s17, s17, s0 70021ca4: 00b3 lsls r3, r6, #2 70021ca6: 9113 str r1, [sp, #76] @ 0x4c 70021ca8: 9912 ldr r1, [sp, #72] @ 0x48 70021caa: 9300 str r3, [sp, #0] 70021cac: 9114 str r1, [sp, #80] @ 0x50 70021cae: 1c71 adds r1, r6, #1 70021cb0: f88d 401b strb.w r4, [sp, #27] 70021cb4: edcd 8a0f vstr s17, [sp, #60] @ 0x3c 70021cb8: e9dd 2302 ldrd r2, r3, [sp, #8] 70021cbc: e7b8 b.n 70021c30 70021cbe: bf00 nop 70021cc0: 00000000 .word 0x00000000 70021cc4: edde 7a00 vldr s15, [lr] 70021cc8: 9107 str r1, [sp, #28] 70021cca: eefd 7ae7 vcvt.s32.f32 s15, s15 70021cce: ee17 1a90 vmov r1, s15 70021cd2: 2900 cmp r1, #0 70021cd4: 460e mov r6, r1 70021cd6: bfb8 it lt 70021cd8: 1c4e addlt r6, r1, #1 70021cda: 2901 cmp r1, #1 70021cdc: ea4f 0666 mov.w r6, r6, asr #1 70021ce0: f340 818b ble.w 70021ffa 70021ce4: 2a00 cmp r2, #0 70021ce6: f040 8136 bne.w 70021f56 70021cea: 4692 mov sl, r2 70021cec: 461a mov r2, r3 70021cee: eb02 028c add.w r2, r2, ip, lsl #2 70021cf2: f10c 0001 add.w r0, ip, #1 70021cf6: f8d9 3000 ldr.w r3, [r9] 70021cfa: a90b add r1, sp, #44 @ 0x2c 70021cfc: edd2 7a00 vldr s15, [r2] 70021d00: 9007 str r0, [sp, #28] 70021d02: a809 add r0, sp, #36 @ 0x24 70021d04: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 70021d08: edd2 6a01 vldr s13, [r2, #4] 70021d0c: f10c 0202 add.w r2, ip, #2 70021d10: edcd 7a11 vstr s15, [sp, #68] @ 0x44 70021d14: 9207 str r2, [sp, #28] 70021d16: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70021d1a: edcd 6a0c vstr s13, [sp, #48] @ 0x30 70021d1e: edcd 6a12 vstr s13, [sp, #72] @ 0x48 70021d22: f88d 405c strb.w r4, [sp, #92] @ 0x5c 70021d26: b1da cbz r2, 70021d60 70021d28: ed93 6a3e vldr s12, [r3, #248] @ 0xf8 70021d2c: ed93 7a3b vldr s14, [r3, #236] @ 0xec 70021d30: edd3 4a3c vldr s9, [r3, #240] @ 0xf0 70021d34: ee27 7a87 vmul.f32 s14, s15, s14 70021d38: ed93 5a3f vldr s10, [r3, #252] @ 0xfc 70021d3c: ee67 7a86 vmul.f32 s15, s15, s12 70021d40: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 70021d44: ed93 6a40 vldr s12, [r3, #256] @ 0x100 70021d48: ee06 7aa4 vmla.f32 s14, s13, s9 70021d4c: ee46 7a85 vmla.f32 s15, s13, s10 70021d50: ee37 7a25 vadd.f32 s14, s14, s11 70021d54: ee77 7a86 vadd.f32 s15, s15, s12 70021d58: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 70021d5c: edcd 7a0c vstr s15, [sp, #48] @ 0x30 70021d60: f7fc feb0 bl 7001eac4 70021d64: f10a 0a01 add.w sl, sl, #1 70021d68: 4683 mov fp, r0 70021d6a: 2800 cmp r0, #0 70021d6c: f47f af31 bne.w 70021bd2 70021d70: ab0b add r3, sp, #44 @ 0x2c 70021d72: 4556 cmp r6, sl 70021d74: e893 0003 ldmia.w r3, {r0, r1} 70021d78: ab09 add r3, sp, #36 @ 0x24 70021d7a: e883 0003 stmia.w r3, {r0, r1} 70021d7e: f340 813c ble.w 70021ffa 70021d82: f8d8 200c ldr.w r2, [r8, #12] 70021d86: f8dd c01c ldr.w ip, [sp, #28] 70021d8a: e7b0 b.n 70021cee 70021d8c: f8d9 c000 ldr.w ip, [r9] 70021d90: eddd 7a11 vldr s15, [sp, #68] @ 0x44 70021d94: f89c a1bc ldrb.w sl, [ip, #444] @ 0x1bc 70021d98: 2a00 cmp r2, #0 70021d9a: f000 8154 beq.w 70022046 70021d9e: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 70021da2: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 70021da6: edde 6a00 vldr s13, [lr] 70021daa: 9107 str r1, [sp, #28] 70021dac: ee37 7a26 vadd.f32 s14, s14, s13 70021db0: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 70021db4: e53b b.n 7002182e 70021db6: 2a00 cmp r2, #0 70021db8: d150 bne.n 70021e5c 70021dba: 4692 mov sl, r2 70021dbc: 461a mov r2, r3 70021dbe: eb02 028c add.w r2, r2, ip, lsl #2 70021dc2: f10c 0001 add.w r0, ip, #1 70021dc6: f8d9 3000 ldr.w r3, [r9] 70021dca: a90b add r1, sp, #44 @ 0x2c 70021dcc: edd2 7a00 vldr s15, [r2] 70021dd0: 9007 str r0, [sp, #28] 70021dd2: a809 add r0, sp, #36 @ 0x24 70021dd4: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 70021dd8: edd2 6a01 vldr s13, [r2, #4] 70021ddc: f10c 0202 add.w r2, ip, #2 70021de0: edcd 7a11 vstr s15, [sp, #68] @ 0x44 70021de4: 9207 str r2, [sp, #28] 70021de6: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70021dea: edcd 6a0c vstr s13, [sp, #48] @ 0x30 70021dee: edcd 6a12 vstr s13, [sp, #72] @ 0x48 70021df2: f88d 405c strb.w r4, [sp, #92] @ 0x5c 70021df6: b1da cbz r2, 70021e30 70021df8: ed93 6a3e vldr s12, [r3, #248] @ 0xf8 70021dfc: ed93 7a3b vldr s14, [r3, #236] @ 0xec 70021e00: edd3 4a3c vldr s9, [r3, #240] @ 0xf0 70021e04: ee27 7a87 vmul.f32 s14, s15, s14 70021e08: ed93 5a3f vldr s10, [r3, #252] @ 0xfc 70021e0c: ee67 7a86 vmul.f32 s15, s15, s12 70021e10: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 70021e14: ed93 6a40 vldr s12, [r3, #256] @ 0x100 70021e18: ee06 7aa4 vmla.f32 s14, s13, s9 70021e1c: ee46 7a85 vmla.f32 s15, s13, s10 70021e20: ee37 7a25 vadd.f32 s14, s14, s11 70021e24: ee77 7a86 vadd.f32 s15, s15, s12 70021e28: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 70021e2c: edcd 7a0c vstr s15, [sp, #48] @ 0x30 70021e30: f7fc fe48 bl 7001eac4 70021e34: f10a 0a01 add.w sl, sl, #1 70021e38: 4683 mov fp, r0 70021e3a: 2800 cmp r0, #0 70021e3c: f47f aec9 bne.w 70021bd2 70021e40: ab0b add r3, sp, #44 @ 0x2c 70021e42: 4556 cmp r6, sl 70021e44: e893 0003 ldmia.w r3, {r0, r1} 70021e48: ab09 add r3, sp, #36 @ 0x24 70021e4a: e883 0003 stmia.w r3, {r0, r1} 70021e4e: f77f ab51 ble.w 700214f4 70021e52: f8d8 200c ldr.w r2, [r8, #12] 70021e56: f8dd c01c ldr.w ip, [sp, #28] 70021e5a: e7b0 b.n 70021dbe 70021e5c: f04f 0a00 mov.w sl, #0 70021e60: 4660 mov r0, ip 70021e62: eb03 0380 add.w r3, r3, r0, lsl #2 70021e66: eddd 7a11 vldr s15, [sp, #68] @ 0x44 70021e6a: 1c42 adds r2, r0, #1 70021e6c: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 70021e70: edd3 6a00 vldr s13, [r3] 70021e74: 3002 adds r0, #2 70021e76: 9207 str r2, [sp, #28] 70021e78: a90b add r1, sp, #44 @ 0x2c 70021e7a: ee76 6aa7 vadd.f32 s13, s13, s15 70021e7e: edcd 6a0b vstr s13, [sp, #44] @ 0x2c 70021e82: edd3 7a01 vldr s15, [r3, #4] 70021e86: f8d9 3000 ldr.w r3, [r9] 70021e8a: ee77 7a87 vadd.f32 s15, s15, s14 70021e8e: 9007 str r0, [sp, #28] 70021e90: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70021e94: a809 add r0, sp, #36 @ 0x24 70021e96: edcd 6a11 vstr s13, [sp, #68] @ 0x44 70021e9a: f88d 405c strb.w r4, [sp, #92] @ 0x5c 70021e9e: edcd 7a0c vstr s15, [sp, #48] @ 0x30 70021ea2: edcd 7a12 vstr s15, [sp, #72] @ 0x48 70021ea6: b1da cbz r2, 70021ee0 70021ea8: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 70021eac: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 70021eb0: edd3 4a3b vldr s9, [r3, #236] @ 0xec 70021eb4: ee27 7a87 vmul.f32 s14, s15, s14 70021eb8: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 70021ebc: ee67 7a86 vmul.f32 s15, s15, s12 70021ec0: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 70021ec4: ed93 6a40 vldr s12, [r3, #256] @ 0x100 70021ec8: ee06 7aa4 vmla.f32 s14, s13, s9 70021ecc: ee46 7a85 vmla.f32 s15, s13, s10 70021ed0: ee37 7a25 vadd.f32 s14, s14, s11 70021ed4: ee77 7a86 vadd.f32 s15, s15, s12 70021ed8: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 70021edc: edcd 7a0c vstr s15, [sp, #48] @ 0x30 70021ee0: f7fc fdf0 bl 7001eac4 70021ee4: f10a 0a01 add.w sl, sl, #1 70021ee8: 4683 mov fp, r0 70021eea: 2800 cmp r0, #0 70021eec: f47f ae71 bne.w 70021bd2 70021ef0: ab0b add r3, sp, #44 @ 0x2c 70021ef2: 45b2 cmp sl, r6 70021ef4: e893 0003 ldmia.w r3, {r0, r1} 70021ef8: ab09 add r3, sp, #36 @ 0x24 70021efa: e883 0003 stmia.w r3, {r0, r1} 70021efe: f6bf aaf9 bge.w 700214f4 70021f02: f8d8 300c ldr.w r3, [r8, #12] 70021f06: 9807 ldr r0, [sp, #28] 70021f08: e7ab b.n 70021e62 70021f0a: f8d9 c000 ldr.w ip, [r9] 70021f0e: edde 7a00 vldr s15, [lr] 70021f12: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 70021f16: f89c a1bc ldrb.w sl, [ip, #444] @ 0x1bc 70021f1a: 9107 str r1, [sp, #28] 70021f1c: b16a cbz r2, 70021f3a 70021f1e: eddd 6a11 vldr s13, [sp, #68] @ 0x44 70021f22: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 70021f26: ee77 7aa6 vadd.f32 s15, s15, s13 70021f2a: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 70021f2e: e47e b.n 7002182e 70021f30: f8d9 c000 ldr.w ip, [r9] 70021f34: f89c a1bc ldrb.w sl, [ip, #444] @ 0x1bc 70021f38: e45e b.n 700217f8 70021f3a: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 70021f3e: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 70021f42: e474 b.n 7002182e 70021f44: a806 add r0, sp, #24 70021f46: f7fc fdff bl 7001eb48 70021f4a: 4683 mov fp, r0 70021f4c: 2800 cmp r0, #0 70021f4e: f43f aa9b beq.w 70021488 70021f52: f7ff bab2 b.w 700214ba 70021f56: f04f 0a00 mov.w sl, #0 70021f5a: 4660 mov r0, ip 70021f5c: eb03 0380 add.w r3, r3, r0, lsl #2 70021f60: eddd 7a11 vldr s15, [sp, #68] @ 0x44 70021f64: 1c42 adds r2, r0, #1 70021f66: ed9d 7a12 vldr s14, [sp, #72] @ 0x48 70021f6a: edd3 6a00 vldr s13, [r3] 70021f6e: 3002 adds r0, #2 70021f70: 9207 str r2, [sp, #28] 70021f72: a90b add r1, sp, #44 @ 0x2c 70021f74: ee76 6aa7 vadd.f32 s13, s13, s15 70021f78: edcd 6a0b vstr s13, [sp, #44] @ 0x2c 70021f7c: edd3 7a01 vldr s15, [r3, #4] 70021f80: f8d9 3000 ldr.w r3, [r9] 70021f84: ee77 7a87 vadd.f32 s15, s15, s14 70021f88: 9007 str r0, [sp, #28] 70021f8a: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70021f8e: a809 add r0, sp, #36 @ 0x24 70021f90: edcd 6a11 vstr s13, [sp, #68] @ 0x44 70021f94: f88d 405c strb.w r4, [sp, #92] @ 0x5c 70021f98: edcd 7a0c vstr s15, [sp, #48] @ 0x30 70021f9c: edcd 7a12 vstr s15, [sp, #72] @ 0x48 70021fa0: b1da cbz r2, 70021fda 70021fa2: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 70021fa6: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 70021faa: edd3 4a3b vldr s9, [r3, #236] @ 0xec 70021fae: ee27 7a87 vmul.f32 s14, s15, s14 70021fb2: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 70021fb6: ee67 7a86 vmul.f32 s15, s15, s12 70021fba: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 70021fbe: ed93 6a40 vldr s12, [r3, #256] @ 0x100 70021fc2: ee06 7aa4 vmla.f32 s14, s13, s9 70021fc6: ee46 7a85 vmla.f32 s15, s13, s10 70021fca: ee37 7a25 vadd.f32 s14, s14, s11 70021fce: ee77 7a86 vadd.f32 s15, s15, s12 70021fd2: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 70021fd6: edcd 7a0c vstr s15, [sp, #48] @ 0x30 70021fda: f7fc fd73 bl 7001eac4 70021fde: f10a 0a01 add.w sl, sl, #1 70021fe2: 4683 mov fp, r0 70021fe4: 2800 cmp r0, #0 70021fe6: f47f adf4 bne.w 70021bd2 70021fea: ab0b add r3, sp, #44 @ 0x2c 70021fec: 4556 cmp r6, sl 70021fee: e893 0003 ldmia.w r3, {r0, r1} 70021ff2: ab09 add r3, sp, #36 @ 0x24 70021ff4: e883 0003 stmia.w r3, {r0, r1} 70021ff8: dc2e bgt.n 70022058 70021ffa: f8d9 3000 ldr.w r3, [r9] 70021ffe: f893 307c ldrb.w r3, [r3, #124] @ 0x7c 70022002: b1b3 cbz r3, 70022032 70022004: eddd 7a11 vldr s15, [sp, #68] @ 0x44 70022008: ed9d 7a15 vldr s14, [sp, #84] @ 0x54 7002200c: ee77 7ac7 vsub.f32 s15, s15, s14 70022010: eef5 7a40 vcmp.f32 s15, #0.0 70022014: eef1 fa10 vmrs APSR_nzcv, fpscr 70022018: d10b bne.n 70022032 7002201a: eddd 7a12 vldr s15, [sp, #72] @ 0x48 7002201e: ed9d 7a16 vldr s14, [sp, #88] @ 0x58 70022022: ee77 7ac7 vsub.f32 s15, s15, s14 70022026: eef5 7a40 vcmp.f32 s15, #0.0 7002202a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002202e: f43f aaad beq.w 7002158c 70022032: 2301 movs r3, #1 70022034: f88d 3019 strb.w r3, [sp, #25] 70022038: f89d 301a ldrb.w r3, [sp, #26] 7002203c: 2b00 cmp r3, #0 7002203e: f43f aaab beq.w 70021598 70022042: f7ff baac b.w 7002159e 70022046: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 7002204a: ed9e 7a00 vldr s14, [lr] 7002204e: 9107 str r1, [sp, #28] 70022050: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 70022054: f7ff bbeb b.w 7002182e 70022058: f8d8 300c ldr.w r3, [r8, #12] 7002205c: 9807 ldr r0, [sp, #28] 7002205e: e77d b.n 70021f5c 70022060 : 70022060: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70022064: 4db4 ldr r5, [pc, #720] @ (70022338 ) 70022066: 460e mov r6, r1 70022068: f8df b2dc ldr.w fp, [pc, #732] @ 70022348 7002206c: 4604 mov r4, r0 7002206e: ed2d 8b06 vpush {d8-d10} 70022072: b0b3 sub sp, #204 @ 0xcc 70022074: 682a ldr r2, [r5, #0] 70022076: f8db 3000 ldr.w r3, [fp] 7002207a: 9106 str r1, [sp, #24] 7002207c: 6a51 ldr r1, [r2, #36] @ 0x24 7002207e: f8c3 12d8 str.w r1, [r3, #728] @ 0x2d8 70022082: 6a91 ldr r1, [r2, #40] @ 0x28 70022084: f8c3 12dc str.w r1, [r3, #732] @ 0x2dc 70022088: 6ad1 ldr r1, [r2, #44] @ 0x2c 7002208a: f8c3 12e0 str.w r1, [r3, #736] @ 0x2e0 7002208e: 6b12 ldr r2, [r2, #48] @ 0x30 70022090: f8c3 22e4 str.w r2, [r3, #740] @ 0x2e4 70022094: f007 fae0 bl 70029658 70022098: fab0 f080 clz r0, r0 7002209c: 0940 lsrs r0, r0, #5 7002209e: 0183 lsls r3, r0, #6 700220a0: 9305 str r3, [sp, #20] 700220a2: 2c00 cmp r4, #0 700220a4: d065 beq.n 70022172 700220a6: 2e00 cmp r6, #0 700220a8: d063 beq.n 70022172 700220aa: f8db 3000 ldr.w r3, [fp] 700220ae: 2b00 cmp r3, #0 700220b0: d061 beq.n 70022176 700220b2: 6862 ldr r2, [r4, #4] 700220b4: 2a00 cmp r2, #0 700220b6: d165 bne.n 70022184 700220b8: 9a05 ldr r2, [sp, #20] 700220ba: f042 0210 orr.w r2, r2, #16 700220be: 9205 str r2, [sp, #20] 700220c0: edd4 7a14 vldr s15, [r4, #80] @ 0x50 700220c4: eef5 7ac0 vcmpe.f32 s15, #0.0 700220c8: eef1 fa10 vmrs APSR_nzcv, fpscr 700220cc: d462 bmi.n 70022194 700220ce: edd4 7a15 vldr s15, [r4, #84] @ 0x54 700220d2: eef5 7ac0 vcmpe.f32 s15, #0.0 700220d6: eef1 fa10 vmrs APSR_nzcv, fpscr 700220da: d45b bmi.n 70022194 700220dc: f8d3 2090 ldr.w r2, [r3, #144] @ 0x90 700220e0: 0750 lsls r0, r2, #29 700220e2: d40d bmi.n 70022100 700220e4: eddf 7a95 vldr s15, [pc, #596] @ 7002233c 700220e8: ed94 7a06 vldr s14, [r4, #24] 700220ec: eeb4 7ae7 vcmpe.f32 s14, s15 700220f0: eef1 fa10 vmrs APSR_nzcv, fpscr 700220f4: f340 8100 ble.w 700222f8 700220f8: 9a05 ldr r2, [sp, #20] 700220fa: f442 4280 orr.w r2, r2, #16384 @ 0x4000 700220fe: 9205 str r2, [sp, #20] 70022100: f893 207c ldrb.w r2, [r3, #124] @ 0x7c 70022104: b93a cbnz r2, 70022116 70022106: edd3 7aba vldr s15, [r3, #744] @ 0x2e8 7002210a: eef5 7ac0 vcmpe.f32 s15, #0.0 7002210e: eef1 fa10 vmrs APSR_nzcv, fpscr 70022112: f240 810c bls.w 7002232e 70022116: 9b06 ldr r3, [sp, #24] 70022118: edd3 7a34 vldr s15, [r3, #208] @ 0xd0 7002211c: eef5 7ac0 vcmpe.f32 s15, #0.0 70022120: eef1 fa10 vmrs APSR_nzcv, fpscr 70022124: d503 bpl.n 7002212e 70022126: 9b05 ldr r3, [sp, #20] 70022128: f443 0380 orr.w r3, r3, #4194304 @ 0x400000 7002212c: 9305 str r3, [sp, #20] 7002212e: f8df 821c ldr.w r8, [pc, #540] @ 7002234c 70022132: 682b ldr r3, [r5, #0] 70022134: f8d8 2000 ldr.w r2, [r8] 70022138: e9d3 100f ldrd r1, r0, [r3, #60] @ 0x3c 7002213c: 6913 ldr r3, [r2, #16] 7002213e: 4299 cmp r1, r3 70022140: dc02 bgt.n 70022148 70022142: 6952 ldr r2, [r2, #20] 70022144: 4290 cmp r0, r2 70022146: dd2a ble.n 7002219e 70022148: 9b05 ldr r3, [sp, #20] 7002214a: f043 7300 orr.w r3, r3, #33554432 @ 0x2000000 7002214e: 4618 mov r0, r3 70022150: 9305 str r3, [sp, #20] 70022152: f005 fbfd bl 70027950 70022156: f8db 3000 ldr.w r3, [fp] 7002215a: 2200 movs r2, #0 7002215c: 9805 ldr r0, [sp, #20] 7002215e: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 70022162: f005 fbf5 bl 70027950 70022166: 9805 ldr r0, [sp, #20] 70022168: b033 add sp, #204 @ 0xcc 7002216a: ecbd 8b06 vpop {d8-d10} 7002216e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70022172: f8db 3000 ldr.w r3, [fp] 70022176: 9a05 ldr r2, [sp, #20] 70022178: f042 0201 orr.w r2, r2, #1 7002217c: 9205 str r2, [sp, #20] 7002217e: 6862 ldr r2, [r4, #4] 70022180: 2a00 cmp r2, #0 70022182: d099 beq.n 700220b8 70022184: 6822 ldr r2, [r4, #0] 70022186: 2a00 cmp r2, #0 70022188: d19a bne.n 700220c0 7002218a: 9a05 ldr r2, [sp, #20] 7002218c: f042 0210 orr.w r2, r2, #16 70022190: 9205 str r2, [sp, #20] 70022192: e795 b.n 700220c0 70022194: 9a05 ldr r2, [sp, #20] 70022196: f442 6280 orr.w r2, r2, #1024 @ 0x400 7002219a: 9205 str r2, [sp, #20] 7002219c: e79e b.n 700220dc 7002219e: 4313 orrs r3, r2 700221a0: 0799 lsls r1, r3, #30 700221a2: d1d1 bne.n 70022148 700221a4: 9e05 ldr r6, [sp, #20] 700221a6: 4630 mov r0, r6 700221a8: f005 fbd2 bl 70027950 700221ac: 2e00 cmp r6, #0 700221ae: d1d2 bne.n 70022156 700221b0: f005 fb8e bl 700278d0 700221b4: 2800 cmp r0, #0 700221b6: f001 8000 beq.w 700231ba 700221ba: f8db 0000 ldr.w r0, [fp] 700221be: f8d0 3084 ldr.w r3, [r0, #132] @ 0x84 700221c2: 005a lsls r2, r3, #1 700221c4: d50a bpl.n 700221dc 700221c6: 9906 ldr r1, [sp, #24] 700221c8: f891 30d5 ldrb.w r3, [r1, #213] @ 0xd5 700221cc: b933 cbnz r3, 700221dc 700221ce: 682b ldr r3, [r5, #0] 700221d0: f8d3 20fc ldr.w r2, [r3, #252] @ 0xfc 700221d4: f8d1 30d8 ldr.w r3, [r1, #216] @ 0xd8 700221d8: 429a cmp r2, r3 700221da: d0c4 beq.n 70022166 700221dc: f894 6084 ldrb.w r6, [r4, #132] @ 0x84 700221e0: f104 0760 add.w r7, r4, #96 @ 0x60 700221e4: f890 2090 ldrb.w r2, [r0, #144] @ 0x90 700221e8: ea46 0302 orr.w r3, r6, r2 700221ec: f006 0601 and.w r6, r6, #1 700221f0: f003 0301 and.w r3, r3, #1 700221f4: f880 31bc strb.w r3, [r0, #444] @ 0x1bc 700221f8: f880 31be strb.w r3, [r0, #446] @ 0x1be 700221fc: 07d3 lsls r3, r2, #31 700221fe: f100 8639 bmi.w 70022e74 70022202: 2e00 cmp r6, #0 70022204: f000 8631 beq.w 70022e6a 70022208: 4639 mov r1, r7 7002220a: 30ec adds r0, #236 @ 0xec 7002220c: f7f6 fcc4 bl 70018b98 70022210: f8db 3000 ldr.w r3, [fp] 70022214: f893 207e ldrb.w r2, [r3, #126] @ 0x7e 70022218: b112 cbz r2, 70022220 7002221a: 2200 movs r2, #0 7002221c: f883 21bc strb.w r2, [r3, #444] @ 0x1bc 70022220: 9906 ldr r1, [sp, #24] 70022222: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70022226: f8d1 20d8 ldr.w r2, [r1, #216] @ 0xd8 7002222a: f8c3 2124 str.w r2, [r3, #292] @ 0x124 7002222e: edd1 7a34 vldr s15, [r1, #208] @ 0xd0 70022232: eef4 7ac7 vcmpe.f32 s15, s14 70022236: eef1 fa10 vmrs APSR_nzcv, fpscr 7002223a: f100 8552 bmi.w 70022ce2 7002223e: f8d3 1084 ldr.w r1, [r3, #132] @ 0x84 70022242: 0148 lsls r0, r1, #5 70022244: d51f bpl.n 70022286 70022246: ea4f 6e12 mov.w lr, r2, lsr #24 7002224a: f3c2 2607 ubfx r6, r2, #8, #8 7002224e: b2d7 uxtb r7, r2 70022250: 483b ldr r0, [pc, #236] @ (70022340 ) 70022252: fb0e f606 mul.w r6, lr, r6 70022256: fb0e f707 mul.w r7, lr, r7 7002225a: fba0 c606 umull ip, r6, r0, r6 7002225e: fba0 c707 umull ip, r7, r0, r7 70022262: f3c2 4c07 ubfx ip, r2, #16, #8 70022266: f002 427f and.w r2, r2, #4278190080 @ 0xff000000 7002226a: 09f6 lsrs r6, r6, #7 7002226c: fb0e fc0c mul.w ip, lr, ip 70022270: ea42 12d7 orr.w r2, r2, r7, lsr #7 70022274: fba0 c00c umull ip, r0, r0, ip 70022278: ea42 2206 orr.w r2, r2, r6, lsl #8 7002227c: 09c0 lsrs r0, r0, #7 7002227e: ea42 4200 orr.w r2, r2, r0, lsl #16 70022282: f8c3 2124 str.w r2, [r3, #292] @ 0x124 70022286: edd3 7aba vldr s15, [r3, #744] @ 0x2e8 7002228a: f893 607c ldrb.w r6, [r3, #124] @ 0x7c 7002228e: edc3 7a4b vstr s15, [r3, #300] @ 0x12c 70022292: edc3 7a4c vstr s15, [r3, #304] @ 0x130 70022296: edc3 7a4d vstr s15, [r3, #308] @ 0x134 7002229a: 2e00 cmp r6, #0 7002229c: f040 8099 bne.w 700223d2 700222a0: f8d3 21bc ldr.w r2, [r3, #444] @ 0x1bc 700222a4: f012 1fff tst.w r2, #16711935 @ 0xff00ff 700222a8: f000 8536 beq.w 70022d18 700222ac: f8d3 2090 ldr.w r2, [r3, #144] @ 0x90 700222b0: 0792 lsls r2, r2, #30 700222b2: f100 8531 bmi.w 70022d18 700222b6: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 700222ba: eef4 7ac7 vcmpe.f32 s15, s14 700222be: eef1 fa10 vmrs APSR_nzcv, fpscr 700222c2: f240 8722 bls.w 7002310a 700222c6: f8d3 211c ldr.w r2, [r3, #284] @ 0x11c 700222ca: 2a01 cmp r2, #1 700222cc: f000 871d beq.w 7002310a 700222d0: ee77 5ae7 vsub.f32 s11, s15, s15 700222d4: eef5 5ac0 vcmpe.f32 s11, #0.0 700222d8: eef1 fa10 vmrs APSR_nzcv, fpscr 700222dc: f101 83e7 bmi.w 70023aae 700222e0: eeb0 7a67 vmov.f32 s14, s15 700222e4: eeb0 6a67 vmov.f32 s12, s15 700222e8: eeb0 4a67 vmov.f32 s8, s15 700222ec: eef0 6a67 vmov.f32 s13, s15 700222f0: eeb0 5a67 vmov.f32 s10, s15 700222f4: f000 bd31 b.w 70022d5a 700222f8: ed9f 7a12 vldr s14, [pc, #72] @ 70022344 700222fc: edd4 6a04 vldr s13, [r4, #16] 70022300: eef4 6ac7 vcmpe.f32 s13, s14 70022304: eef1 fa10 vmrs APSR_nzcv, fpscr 70022308: f53f aef6 bmi.w 700220f8 7002230c: edd4 6a07 vldr s13, [r4, #28] 70022310: eef4 6ae7 vcmpe.f32 s13, s15 70022314: eef1 fa10 vmrs APSR_nzcv, fpscr 70022318: f73f aeee bgt.w 700220f8 7002231c: edd4 7a05 vldr s15, [r4, #20] 70022320: eef4 7ac7 vcmpe.f32 s15, s14 70022324: eef1 fa10 vmrs APSR_nzcv, fpscr 70022328: f57f aeea bpl.w 70022100 7002232c: e6e4 b.n 700220f8 7002232e: 9b05 ldr r3, [sp, #20] 70022330: f443 1300 orr.w r3, r3, #2097152 @ 0x200000 70022334: 9305 str r3, [sp, #20] 70022336: e6ee b.n 70022116 70022338: 2400db24 .word 0x2400db24 7002233c: 46fffe00 .word 0x46fffe00 70022340: 80808081 .word 0x80808081 70022344: c7000000 .word 0xc7000000 70022348: 2400dc78 .word 0x2400dc78 7002234c: 2400dc38 .word 0x2400dc38 70022350: 44bfe000 .word 0x44bfe000 70022354: c3ff8000 .word 0xc3ff8000 70022358: f8d3 2124 ldr.w r2, [r3, #292] @ 0x124 7002235c: b2d0 uxtb r0, r2 7002235e: ee07 0a90 vmov s15, r0 70022362: f3c2 2007 ubfx r0, r2, #8, #8 70022366: eef8 7ae7 vcvt.f32.s32 s15, s15 7002236a: ee06 0a10 vmov s12, r0 7002236e: f3c2 4007 ubfx r0, r2, #16, #8 70022372: 0e12 lsrs r2, r2, #24 70022374: eeb8 6ac6 vcvt.f32.s32 s12, s12 70022378: ee67 7a87 vmul.f32 s15, s15, s14 7002237c: ee06 0a90 vmov s13, r0 70022380: ee26 6a07 vmul.f32 s12, s12, s14 70022384: eefc 7ae7 vcvt.u32.f32 s15, s15 70022388: eef8 6ae6 vcvt.f32.s32 s13, s13 7002238c: edcd 7a07 vstr s15, [sp, #28] 70022390: ee07 2a90 vmov s15, r2 70022394: ee66 6a87 vmul.f32 s13, s13, s14 70022398: f89d 701c ldrb.w r7, [sp, #28] 7002239c: eef8 7ae7 vcvt.f32.s32 s15, s15 700223a0: ee67 7a87 vmul.f32 s15, s15, s14 700223a4: eebc 7ac6 vcvt.u32.f32 s14, s12 700223a8: eefc 7ae7 vcvt.u32.f32 s15, s15 700223ac: ee17 0a10 vmov r0, s14 700223b0: eebc 7ae6 vcvt.u32.f32 s14, s13 700223b4: 0200 lsls r0, r0, #8 700223b6: ee17 ca90 vmov ip, s15 700223ba: ee17 2a10 vmov r2, s14 700223be: b280 uxth r0, r0 700223c0: 0412 lsls r2, r2, #16 700223c2: ea47 670c orr.w r7, r7, ip, lsl #24 700223c6: f402 027f and.w r2, r2, #16711680 @ 0xff0000 700223ca: 4338 orrs r0, r7 700223cc: 4302 orrs r2, r0 700223ce: f8c3 2124 str.w r2, [r3, #292] @ 0x124 700223d2: 2000 movs r0, #0 700223d4: f8b3 22f0 ldrh.w r2, [r3, #752] @ 0x2f0 700223d8: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 700223dc: 3a00 subs r2, #0 700223de: e9c3 0044 strd r0, r0, [r3, #272] @ 0x110 700223e2: f893 007d ldrb.w r0, [r3, #125] @ 0x7d 700223e6: bf18 it ne 700223e8: 2201 movne r2, #1 700223ea: ed83 7a4c vstr s14, [r3, #304] @ 0x130 700223ee: f010 0002 ands.w r0, r0, #2 700223f2: ed83 7a4d vstr s14, [r3, #308] @ 0x134 700223f6: ed83 7a4b vstr s14, [r3, #300] @ 0x12c 700223fa: f883 21bf strb.w r2, [r3, #447] @ 0x1bf 700223fe: f000 85c1 beq.w 70022f84 70022402: 2e00 cmp r6, #0 70022404: f000 8510 beq.w 70022e28 70022408: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 7002240c: 682d ldr r5, [r5, #0] 7002240e: 2200 movs r2, #0 70022410: f8c3 21c4 str.w r2, [r3, #452] @ 0x1c4 70022414: f8c3 21c8 str.w r2, [r3, #456] @ 0x1c8 70022418: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7002241c: 2a00 cmp r2, #0 7002241e: f040 8539 bne.w 70022e94 70022422: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70022426: eef1 6a00 vmov.f32 s13, #16 @ 0x40800000 4.0 7002242a: eeb0 6a67 vmov.f32 s12, s15 7002242e: ee36 6a26 vadd.f32 s12, s12, s13 70022432: ed94 4a04 vldr s8, [r4, #16] 70022436: f8d8 2000 ldr.w r2, [r8] 7002243a: ee77 7a87 vadd.f32 s15, s15, s14 7002243e: ee34 4a46 vsub.f32 s8, s8, s12 70022442: ed82 4a07 vstr s8, [r2, #28] 70022446: edd4 4a05 vldr s9, [r4, #20] 7002244a: ee74 4ae7 vsub.f32 s9, s9, s15 7002244e: edc2 4a08 vstr s9, [r2, #32] 70022452: edd4 6a14 vldr s13, [r4, #80] @ 0x50 70022456: ed94 7a04 vldr s14, [r4, #16] 7002245a: ee37 7a26 vadd.f32 s14, s14, s13 7002245e: ee37 7a06 vadd.f32 s14, s14, s12 70022462: ed82 7a09 vstr s14, [r2, #36] @ 0x24 70022466: edd4 3a05 vldr s7, [r4, #20] 7002246a: ee73 3ae7 vsub.f32 s7, s7, s15 7002246e: edc2 3a0a vstr s7, [r2, #40] @ 0x28 70022472: edd4 6a14 vldr s13, [r4, #80] @ 0x50 70022476: ed94 5a04 vldr s10, [r4, #16] 7002247a: ee35 5a26 vadd.f32 s10, s10, s13 7002247e: ee35 5a06 vadd.f32 s10, s10, s12 70022482: ed82 5a0b vstr s10, [r2, #44] @ 0x2c 70022486: edd4 5a15 vldr s11, [r4, #84] @ 0x54 7002248a: edd4 6a05 vldr s13, [r4, #20] 7002248e: ee76 6aa5 vadd.f32 s13, s13, s11 70022492: ee76 6aa7 vadd.f32 s13, s13, s15 70022496: edc2 6a0c vstr s13, [r2, #48] @ 0x30 7002249a: edd4 5a04 vldr s11, [r4, #16] 7002249e: ee75 5ac6 vsub.f32 s11, s11, s12 700224a2: edc2 5a0d vstr s11, [r2, #52] @ 0x34 700224a6: ed94 6a05 vldr s12, [r4, #20] 700224aa: ed94 3a15 vldr s6, [r4, #84] @ 0x54 700224ae: ee36 6a03 vadd.f32 s12, s12, s6 700224b2: ee76 7a27 vadd.f32 s15, s12, s15 700224b6: edc2 7a0e vstr s15, [r2, #56] @ 0x38 700224ba: f893 11bc ldrb.w r1, [r3, #444] @ 0x1bc 700224be: 2900 cmp r1, #0 700224c0: f000 8088 beq.w 700225d4 700224c4: ed93 6a3b vldr s12, [r3, #236] @ 0xec 700224c8: ed93 3a3c vldr s6, [r3, #240] @ 0xf0 700224cc: ee24 6a06 vmul.f32 s12, s8, s12 700224d0: edd3 2a3d vldr s5, [r3, #244] @ 0xf4 700224d4: ee24 3a83 vmul.f32 s6, s9, s6 700224d8: ee36 6a03 vadd.f32 s12, s12, s6 700224dc: ee36 6a22 vadd.f32 s12, s12, s5 700224e0: ed82 6a07 vstr s12, [r2, #28] 700224e4: edd3 2a3f vldr s5, [r3, #252] @ 0xfc 700224e8: ed93 3a3e vldr s6, [r3, #248] @ 0xf8 700224ec: ed93 2a40 vldr s4, [r3, #256] @ 0x100 700224f0: ee24 3a03 vmul.f32 s6, s8, s6 700224f4: eeb0 4a46 vmov.f32 s8, s12 700224f8: ee24 6aa2 vmul.f32 s12, s9, s5 700224fc: ee33 6a06 vadd.f32 s12, s6, s12 70022500: ee76 4a02 vadd.f32 s9, s12, s4 70022504: edc2 4a08 vstr s9, [r2, #32] 70022508: ed93 6a3b vldr s12, [r3, #236] @ 0xec 7002250c: ed93 3a3c vldr s6, [r3, #240] @ 0xf0 70022510: ee27 6a06 vmul.f32 s12, s14, s12 70022514: edd3 2a3d vldr s5, [r3, #244] @ 0xf4 70022518: ee23 3a83 vmul.f32 s6, s7, s6 7002251c: ee36 6a03 vadd.f32 s12, s12, s6 70022520: ee36 6a22 vadd.f32 s12, s12, s5 70022524: ed82 6a09 vstr s12, [r2, #36] @ 0x24 70022528: edd3 2a3f vldr s5, [r3, #252] @ 0xfc 7002252c: ed93 3a3e vldr s6, [r3, #248] @ 0xf8 70022530: ed93 2a40 vldr s4, [r3, #256] @ 0x100 70022534: ee27 3a03 vmul.f32 s6, s14, s6 70022538: eeb0 7a46 vmov.f32 s14, s12 7002253c: ee23 6aa2 vmul.f32 s12, s7, s5 70022540: ee33 6a06 vadd.f32 s12, s6, s12 70022544: ee76 3a02 vadd.f32 s7, s12, s4 70022548: edc2 3a0a vstr s7, [r2, #40] @ 0x28 7002254c: ed93 6a3b vldr s12, [r3, #236] @ 0xec 70022550: ed93 3a3c vldr s6, [r3, #240] @ 0xf0 70022554: ee25 6a06 vmul.f32 s12, s10, s12 70022558: edd3 2a3d vldr s5, [r3, #244] @ 0xf4 7002255c: ee26 3a83 vmul.f32 s6, s13, s6 70022560: ee36 6a03 vadd.f32 s12, s12, s6 70022564: ee36 6a22 vadd.f32 s12, s12, s5 70022568: ed82 6a0b vstr s12, [r2, #44] @ 0x2c 7002256c: edd3 2a3f vldr s5, [r3, #252] @ 0xfc 70022570: ed93 3a3e vldr s6, [r3, #248] @ 0xf8 70022574: ee66 6aa2 vmul.f32 s13, s13, s5 70022578: ed93 2a40 vldr s4, [r3, #256] @ 0x100 7002257c: ee25 3a03 vmul.f32 s6, s10, s6 70022580: eeb0 5a46 vmov.f32 s10, s12 70022584: ee73 6a26 vadd.f32 s13, s6, s13 70022588: ee76 6a82 vadd.f32 s13, s13, s4 7002258c: edc2 6a0c vstr s13, [r2, #48] @ 0x30 70022590: ed93 6a3b vldr s12, [r3, #236] @ 0xec 70022594: ed93 3a3c vldr s6, [r3, #240] @ 0xf0 70022598: ee25 6a86 vmul.f32 s12, s11, s12 7002259c: edd3 2a3d vldr s5, [r3, #244] @ 0xf4 700225a0: ee27 3a83 vmul.f32 s6, s15, s6 700225a4: ee36 6a03 vadd.f32 s12, s12, s6 700225a8: ee36 6a22 vadd.f32 s12, s12, s5 700225ac: ed82 6a0d vstr s12, [r2, #52] @ 0x34 700225b0: ed93 3a3e vldr s6, [r3, #248] @ 0xf8 700225b4: edd3 2a3f vldr s5, [r3, #252] @ 0xfc 700225b8: ee25 3a83 vmul.f32 s6, s11, s6 700225bc: ed93 2a40 vldr s4, [r3, #256] @ 0x100 700225c0: ee67 7aa2 vmul.f32 s15, s15, s5 700225c4: eef0 5a46 vmov.f32 s11, s12 700225c8: ee73 7a27 vadd.f32 s15, s6, s15 700225cc: ee77 7a82 vadd.f32 s15, s15, s4 700225d0: edc2 7a0e vstr s15, [r2, #56] @ 0x38 700225d4: eeb5 4ac0 vcmpe.f32 s8, #0.0 700225d8: eef1 fa10 vmrs APSR_nzcv, fpscr 700225dc: f240 8492 bls.w 70022f04 700225e0: eef5 4ac0 vcmpe.f32 s9, #0.0 700225e4: eef1 fa10 vmrs APSR_nzcv, fpscr 700225e8: f240 84b8 bls.w 70022f5c 700225ec: ed92 6a04 vldr s12, [r2, #16] 700225f0: eeb8 6ac6 vcvt.f32.s32 s12, s12 700225f4: eeb4 6ac4 vcmpe.f32 s12, s8 700225f8: eef1 fa10 vmrs APSR_nzcv, fpscr 700225fc: d80f bhi.n 7002261e 700225fe: eeb4 6ac7 vcmpe.f32 s12, s14 70022602: eef1 fa10 vmrs APSR_nzcv, fpscr 70022606: d80a bhi.n 7002261e 70022608: eeb4 6ac5 vcmpe.f32 s12, s10 7002260c: eef1 fa10 vmrs APSR_nzcv, fpscr 70022610: d805 bhi.n 7002261e 70022612: eeb4 6ae5 vcmpe.f32 s12, s11 70022616: eef1 fa10 vmrs APSR_nzcv, fpscr 7002261a: f67f ada4 bls.w 70022166 7002261e: ed92 6a05 vldr s12, [r2, #20] 70022622: eeb8 6ac6 vcvt.f32.s32 s12, s12 70022626: eeb4 6ae4 vcmpe.f32 s12, s9 7002262a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002262e: d80f bhi.n 70022650 70022630: eeb4 6ae3 vcmpe.f32 s12, s7 70022634: eef1 fa10 vmrs APSR_nzcv, fpscr 70022638: d80a bhi.n 70022650 7002263a: eeb4 6ae6 vcmpe.f32 s12, s13 7002263e: eef1 fa10 vmrs APSR_nzcv, fpscr 70022642: d805 bhi.n 70022650 70022644: eeb4 6ae7 vcmpe.f32 s12, s15 70022648: eef1 fa10 vmrs APSR_nzcv, fpscr 7002264c: f67f ad8b bls.w 70022166 70022650: f893 107e ldrb.w r1, [r3, #126] @ 0x7e 70022654: 2900 cmp r1, #0 70022656: d163 bne.n 70022720 70022658: ed1f 6ac3 vldr s12, [pc, #-780] @ 70022350 7002265c: eeb4 4ac6 vcmpe.f32 s8, s12 70022660: eef1 fa10 vmrs APSR_nzcv, fpscr 70022664: f300 832f bgt.w 70022cc6 70022668: eef4 4ac6 vcmpe.f32 s9, s12 7002266c: eef1 fa10 vmrs APSR_nzcv, fpscr 70022670: f300 8329 bgt.w 70022cc6 70022674: eeb4 7ac6 vcmpe.f32 s14, s12 70022678: eef1 fa10 vmrs APSR_nzcv, fpscr 7002267c: f300 8323 bgt.w 70022cc6 70022680: eef4 3ac6 vcmpe.f32 s7, s12 70022684: eef1 fa10 vmrs APSR_nzcv, fpscr 70022688: f300 831d bgt.w 70022cc6 7002268c: eeb4 5ac6 vcmpe.f32 s10, s12 70022690: eef1 fa10 vmrs APSR_nzcv, fpscr 70022694: f300 8317 bgt.w 70022cc6 70022698: eef4 6ac6 vcmpe.f32 s13, s12 7002269c: eef1 fa10 vmrs APSR_nzcv, fpscr 700226a0: f300 8311 bgt.w 70022cc6 700226a4: eef4 5ac6 vcmpe.f32 s11, s12 700226a8: eef1 fa10 vmrs APSR_nzcv, fpscr 700226ac: f300 830b bgt.w 70022cc6 700226b0: eef4 7ac6 vcmpe.f32 s15, s12 700226b4: eef1 fa10 vmrs APSR_nzcv, fpscr 700226b8: f300 8305 bgt.w 70022cc6 700226bc: ed1f 6adb vldr s12, [pc, #-876] @ 70022354 700226c0: eeb4 4ac6 vcmpe.f32 s8, s12 700226c4: eef1 fa10 vmrs APSR_nzcv, fpscr 700226c8: f100 82fd bmi.w 70022cc6 700226cc: eef4 4ac6 vcmpe.f32 s9, s12 700226d0: eef1 fa10 vmrs APSR_nzcv, fpscr 700226d4: f100 82f7 bmi.w 70022cc6 700226d8: eeb4 7ac6 vcmpe.f32 s14, s12 700226dc: eef1 fa10 vmrs APSR_nzcv, fpscr 700226e0: f100 82f1 bmi.w 70022cc6 700226e4: eef4 3ac6 vcmpe.f32 s7, s12 700226e8: eef1 fa10 vmrs APSR_nzcv, fpscr 700226ec: f100 82eb bmi.w 70022cc6 700226f0: eeb4 5ac6 vcmpe.f32 s10, s12 700226f4: eef1 fa10 vmrs APSR_nzcv, fpscr 700226f8: f100 82e5 bmi.w 70022cc6 700226fc: eef4 6ac6 vcmpe.f32 s13, s12 70022700: eef1 fa10 vmrs APSR_nzcv, fpscr 70022704: f100 82df bmi.w 70022cc6 70022708: eef4 5ac6 vcmpe.f32 s11, s12 7002270c: eef1 fa10 vmrs APSR_nzcv, fpscr 70022710: f100 82d9 bmi.w 70022cc6 70022714: eef4 7ac6 vcmpe.f32 s15, s12 70022718: eef1 fa10 vmrs APSR_nzcv, fpscr 7002271c: f100 82d3 bmi.w 70022cc6 70022720: f8d3 6114 ldr.w r6, [r3, #276] @ 0x114 70022724: 2e01 cmp r6, #1 70022726: f000 8475 beq.w 70023014 7002272a: 7a2b ldrb r3, [r5, #8] 7002272c: 2b01 cmp r3, #1 7002272e: f000 843f beq.w 70022fb0 70022732: 6893 ldr r3, [r2, #8] 70022734: 2b00 cmp r3, #0 70022736: f000 85a8 beq.w 7002328a 7002273a: f005 f8c9 bl 700278d0 7002273e: f8db 3000 ldr.w r3, [fp] 70022742: f893 307c ldrb.w r3, [r3, #124] @ 0x7c 70022746: 2b02 cmp r3, #2 70022748: f000 8527 beq.w 7002319a 7002274c: f8d8 1000 ldr.w r1, [r8] 70022750: 2608 movs r6, #8 70022752: 2500 movs r5, #0 70022754: 2003 movs r0, #3 70022756: e9d1 2304 ldrd r2, r3, [r1, #16] 7002275a: 68c9 ldr r1, [r1, #12] 7002275c: 9600 str r6, [sp, #0] 7002275e: e9cd 2501 strd r2, r5, [sp, #4] 70022762: f7f5 fbf1 bl 70017f48 70022766: f7e0 ff5b bl 70003620 7002276a: f8db 2000 ldr.w r2, [fp] 7002276e: f8d8 3000 ldr.w r3, [r8] 70022772: 4630 mov r0, r6 70022774: f892 207c ldrb.w r2, [r2, #124] @ 0x7c 70022778: 2a02 cmp r2, #2 7002277a: e9d3 2704 ldrd r2, r7, [r3, #16] 7002277e: bf14 ite ne 70022780: 46a9 movne r9, r5 70022782: f04f 3980 moveq.w r9, #2155905152 @ 0x80808080 70022786: 1cd6 adds r6, r2, #3 70022788: 9207 str r2, [sp, #28] 7002278a: f007 f8e5 bl 70029958 7002278e: 4603 mov r3, r0 70022790: ea4f 0a96 mov.w sl, r6, lsr #2 70022794: f026 0603 bic.w r6, r6, #3 70022798: 2800 cmp r0, #0 7002279a: f000 841e beq.w 70022fda 7002279e: 462a mov r2, r5 700227a0: 2101 movs r1, #1 700227a2: 9008 str r0, [sp, #32] 700227a4: b2b6 uxth r6, r6 700227a6: 48ea ldr r0, [pc, #936] @ (70022b50 ) 700227a8: f7f6 fe96 bl 700194d8 700227ac: 9b08 ldr r3, [sp, #32] 700227ae: ea4a 4207 orr.w r2, sl, r7, lsl #16 700227b2: f44f 7ce8 mov.w ip, #464 @ 0x1d0 700227b6: f44f 7e8e mov.w lr, #284 @ 0x11c 700227ba: f046 7680 orr.w r6, r6, #16777216 @ 0x1000000 700227be: 60da str r2, [r3, #12] 700227c0: 2201 movs r2, #1 700227c2: fa1f f18a uxth.w r1, sl 700227c6: f8c3 9024 str.w r9, [r3, #36] @ 0x24 700227ca: 605e str r6, [r3, #4] 700227cc: ea4f 4907 mov.w r9, r7, lsl #16 700227d0: ea41 4107 orr.w r1, r1, r7, lsl #16 700227d4: 2638 movs r6, #56 @ 0x38 700227d6: 2734 movs r7, #52 @ 0x34 700227d8: 62dd str r5, [r3, #44] @ 0x2c 700227da: 6359 str r1, [r3, #52] @ 0x34 700227dc: 4628 mov r0, r5 700227de: 601f str r7, [r3, #0] 700227e0: 609e str r6, [r3, #8] 700227e2: e9c3 c204 strd ip, r2, [r3, #16] 700227e6: 4adb ldr r2, [pc, #876] @ (70022b54 ) 700227e8: f44f 7c8c mov.w ip, #280 @ 0x118 700227ec: e9c3 e206 strd lr, r2, [r3, #24] 700227f0: f44f 7296 mov.w r2, #300 @ 0x12c 700227f4: 621a str r2, [r3, #32] 700227f6: f44f 7288 mov.w r2, #272 @ 0x110 700227fa: 629a str r2, [r3, #40] @ 0x28 700227fc: f44f 728a mov.w r2, #276 @ 0x114 70022800: 631a str r2, [r3, #48] @ 0x30 70022802: f04f 4210 mov.w r2, #2415919104 @ 0x90000000 70022806: e9c3 c20e strd ip, r2, [r3, #56] @ 0x38 7002280a: f7f6 fd35 bl 70019278 7002280e: a920 add r1, sp, #128 @ 0x80 70022810: 4682 mov sl, r0 70022812: a818 add r0, sp, #96 @ 0x60 70022814: 9518 str r5, [sp, #96] @ 0x60 70022816: 9520 str r5, [sp, #128] @ 0x80 70022818: e9cd 5519 strd r5, r5, [sp, #100] @ 0x64 7002281c: e9cd 551b strd r5, r5, [sp, #108] @ 0x6c 70022820: e9cd 551d strd r5, r5, [sp, #116] @ 0x74 70022824: e9cd 5521 strd r5, r5, [sp, #132] @ 0x84 70022828: e9cd 5523 strd r5, r5, [sp, #140] @ 0x8c 7002282c: f7f7 fbd8 bl 70019fe0 70022830: eddd 3a1f vldr s7, [sp, #124] @ 0x7c 70022834: ed9d 3a1e vldr s6, [sp, #120] @ 0x78 70022838: eddd 2a1d vldr s5, [sp, #116] @ 0x74 7002283c: ed9d 2a1c vldr s4, [sp, #112] @ 0x70 70022840: eddd 1a1b vldr s3, [sp, #108] @ 0x6c 70022844: ed9d 1a1a vldr s2, [sp, #104] @ 0x68 70022848: eddd 0a19 vldr s1, [sp, #100] @ 0x64 7002284c: ed9d 0a18 vldr s0, [sp, #96] @ 0x60 70022850: f7f6 ff7c bl 7001974c 70022854: eddd 3a27 vldr s7, [sp, #156] @ 0x9c 70022858: ed9d 3a26 vldr s6, [sp, #152] @ 0x98 7002285c: eddd 2a25 vldr s5, [sp, #148] @ 0x94 70022860: ed9d 2a24 vldr s4, [sp, #144] @ 0x90 70022864: eddd 1a23 vldr s3, [sp, #140] @ 0x8c 70022868: ed9d 1a22 vldr s2, [sp, #136] @ 0x88 7002286c: eddd 0a21 vldr s1, [sp, #132] @ 0x84 70022870: ed9d 0a20 vldr s0, [sp, #128] @ 0x80 70022874: f7f6 ff6a bl 7001974c 70022878: 4650 mov r0, sl 7002287a: f7f6 fcfd bl 70019278 7002287e: f7f5 fabb bl 70017df8 70022882: 9d07 ldr r5, [sp, #28] 70022884: 4638 mov r0, r7 70022886: b2a9 uxth r1, r5 70022888: f041 6110 orr.w r1, r1, #150994944 @ 0x9000000 7002288c: f006 ffe8 bl 70029860 70022890: ea45 0109 orr.w r1, r5, r9 70022894: 4630 mov r0, r6 70022896: f006 ffe3 bl 70029860 7002289a: ed94 6a06 vldr s12, [r4, #24] 7002289e: edd4 6a04 vldr s13, [r4, #16] 700228a2: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 700228a6: ed94 7a05 vldr s14, [r4, #20] 700228aa: ee76 6a86 vadd.f32 s13, s13, s12 700228ae: edd4 5a07 vldr s11, [r4, #28] 700228b2: f8db 3000 ldr.w r3, [fp] 700228b6: ee37 7a25 vadd.f32 s14, s14, s11 700228ba: ee66 6aa7 vmul.f32 s13, s13, s15 700228be: ed93 6a4b vldr s12, [r3, #300] @ 0x12c 700228c2: ee27 7a27 vmul.f32 s14, s14, s15 700228c6: ee76 6aa7 vadd.f32 s13, s13, s15 700228ca: ee37 7a27 vadd.f32 s14, s14, s15 700228ce: edc3 6ab0 vstr s13, [r3, #704] @ 0x2c0 700228d2: eefd 6ae6 vcvt.s32.f32 s13, s13 700228d6: ee66 7a27 vmul.f32 s15, s12, s15 700228da: ed83 7ab1 vstr s14, [r3, #708] @ 0x2c4 700228de: eebd 7ac7 vcvt.s32.f32 s14, s14 700228e2: ee16 2a90 vmov r2, s13 700228e6: edc3 6ab2 vstr s13, [r3, #712] @ 0x2c8 700228ea: 0412 lsls r2, r2, #16 700228ec: ed83 7ab3 vstr s14, [r3, #716] @ 0x2cc 700228f0: f8c3 22d0 str.w r2, [r3, #720] @ 0x2d0 700228f4: ee17 2a10 vmov r2, s14 700228f8: 0412 lsls r2, r2, #16 700228fa: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 700228fe: f8d3 2110 ldr.w r2, [r3, #272] @ 0x110 70022902: 2a01 cmp r2, #1 70022904: f000 843c beq.w 70023180 70022908: ed93 7a71 vldr s14, [r3, #452] @ 0x1c4 7002290c: eddf 6a92 vldr s13, [pc, #584] @ 70022b58 70022910: eeb4 7ae6 vcmpe.f32 s14, s13 70022914: eef1 fa10 vmrs APSR_nzcv, fpscr 70022918: f340 8377 ble.w 7002300a 7002291c: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 70022920: eec7 5a87 vdiv.f32 s11, s15, s14 70022924: ee86 6a87 vdiv.f32 s12, s13, s14 70022928: ed93 7a72 vldr s14, [r3, #456] @ 0x1c8 7002292c: eddf 6a8a vldr s13, [pc, #552] @ 70022b58 70022930: eeb4 7ae6 vcmpe.f32 s14, s13 70022934: eef1 fa10 vmrs APSR_nzcv, fpscr 70022938: f340 8364 ble.w 70023004 7002293c: eeb7 5a00 vmov.f32 s10, #112 @ 0x3f800000 1.0 70022940: eec7 7a87 vdiv.f32 s15, s15, s14 70022944: eec5 6a07 vdiv.f32 s13, s10, s14 70022948: ed94 7a05 vldr s14, [r4, #20] 7002294c: ed94 2a14 vldr s4, [r4, #80] @ 0x50 70022950: edd4 2a15 vldr s5, [r4, #84] @ 0x54 70022954: ed94 3a06 vldr s6, [r4, #24] 70022958: ee75 5a86 vadd.f32 s11, s11, s12 7002295c: edd4 3a07 vldr s7, [r4, #28] 70022960: ee77 7aa6 vadd.f32 s15, s15, s13 70022964: edd4 6a04 vldr s13, [r4, #16] 70022968: ee37 5a22 vadd.f32 s10, s14, s5 7002296c: ee36 6a82 vadd.f32 s12, s13, s4 70022970: ee35 4aa5 vadd.f32 s8, s11, s11 70022974: ee77 4aa7 vadd.f32 s9, s15, s15 70022978: ee76 6ae5 vsub.f32 s13, s13, s11 7002297c: ee37 7a67 vsub.f32 s14, s14, s15 70022980: ee36 6a25 vadd.f32 s12, s12, s11 70022984: ee35 5a27 vadd.f32 s10, s10, s15 70022988: edc4 6a08 vstr s13, [r4, #32] 7002298c: ee33 3a25 vadd.f32 s6, s6, s11 70022990: ed84 7a09 vstr s14, [r4, #36] @ 0x24 70022994: ee73 3aa7 vadd.f32 s7, s7, s15 70022998: ed84 6a0a vstr s12, [r4, #40] @ 0x28 7002299c: ee74 5a02 vadd.f32 s11, s8, s4 700229a0: ed84 7a0b vstr s14, [r4, #44] @ 0x2c 700229a4: ee74 7aa2 vadd.f32 s15, s9, s5 700229a8: ed84 6a0c vstr s12, [r4, #48] @ 0x30 700229ac: ed84 5a0d vstr s10, [r4, #52] @ 0x34 700229b0: edc4 6a0e vstr s13, [r4, #56] @ 0x38 700229b4: ed84 5a0f vstr s10, [r4, #60] @ 0x3c 700229b8: edc4 6a10 vstr s13, [r4, #64] @ 0x40 700229bc: ed84 7a11 vstr s14, [r4, #68] @ 0x44 700229c0: ed84 3a12 vstr s6, [r4, #72] @ 0x48 700229c4: edc4 3a13 vstr s7, [r4, #76] @ 0x4c 700229c8: edc4 5a16 vstr s11, [r4, #88] @ 0x58 700229cc: edc4 7a17 vstr s15, [r4, #92] @ 0x5c 700229d0: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 700229d4: 2a00 cmp r2, #0 700229d6: d07f beq.n 70022ad8 700229d8: edd3 7a3b vldr s15, [r3, #236] @ 0xec 700229dc: edd3 5a3c vldr s11, [r3, #240] @ 0xf0 700229e0: ee66 7aa7 vmul.f32 s15, s13, s15 700229e4: edd3 4a3d vldr s9, [r3, #244] @ 0xf4 700229e8: ee67 5a25 vmul.f32 s11, s14, s11 700229ec: ee77 7aa5 vadd.f32 s15, s15, s11 700229f0: ee77 7aa4 vadd.f32 s15, s15, s9 700229f4: edc4 7a08 vstr s15, [r4, #32] 700229f8: edd3 7a3e vldr s15, [r3, #248] @ 0xf8 700229fc: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 70022a00: ee66 7aa7 vmul.f32 s15, s13, s15 70022a04: edd3 4a40 vldr s9, [r3, #256] @ 0x100 70022a08: ee67 5a25 vmul.f32 s11, s14, s11 70022a0c: ee77 7aa5 vadd.f32 s15, s15, s11 70022a10: ee77 7aa4 vadd.f32 s15, s15, s9 70022a14: edc4 7a09 vstr s15, [r4, #36] @ 0x24 70022a18: edd3 7a3b vldr s15, [r3, #236] @ 0xec 70022a1c: edd3 5a3c vldr s11, [r3, #240] @ 0xf0 70022a20: ee66 7a27 vmul.f32 s15, s12, s15 70022a24: edd3 4a3d vldr s9, [r3, #244] @ 0xf4 70022a28: ee67 5a25 vmul.f32 s11, s14, s11 70022a2c: ee77 7aa5 vadd.f32 s15, s15, s11 70022a30: ee77 7aa4 vadd.f32 s15, s15, s9 70022a34: edc4 7a0a vstr s15, [r4, #40] @ 0x28 70022a38: edd3 7a3e vldr s15, [r3, #248] @ 0xf8 70022a3c: edd3 4a3f vldr s9, [r3, #252] @ 0xfc 70022a40: ee66 7a27 vmul.f32 s15, s12, s15 70022a44: edd3 5a40 vldr s11, [r3, #256] @ 0x100 70022a48: ee27 7a24 vmul.f32 s14, s14, s9 70022a4c: ee77 7a87 vadd.f32 s15, s15, s14 70022a50: ee77 7aa5 vadd.f32 s15, s15, s11 70022a54: edc4 7a0b vstr s15, [r4, #44] @ 0x2c 70022a58: edd3 7a3b vldr s15, [r3, #236] @ 0xec 70022a5c: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 70022a60: ee66 7a27 vmul.f32 s15, s12, s15 70022a64: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 70022a68: ee25 7a07 vmul.f32 s14, s10, s14 70022a6c: ee77 7a87 vadd.f32 s15, s15, s14 70022a70: ee77 7aa5 vadd.f32 s15, s15, s11 70022a74: edc4 7a0c vstr s15, [r4, #48] @ 0x30 70022a78: edd3 5a3e vldr s11, [r3, #248] @ 0xf8 70022a7c: edd3 7a3f vldr s15, [r3, #252] @ 0xfc 70022a80: ee26 6a25 vmul.f32 s12, s12, s11 70022a84: ed93 7a40 vldr s14, [r3, #256] @ 0x100 70022a88: ee65 7a27 vmul.f32 s15, s10, s15 70022a8c: ee36 6a27 vadd.f32 s12, s12, s15 70022a90: ee36 6a07 vadd.f32 s12, s12, s14 70022a94: ed84 6a0d vstr s12, [r4, #52] @ 0x34 70022a98: edd3 7a3b vldr s15, [r3, #236] @ 0xec 70022a9c: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 70022aa0: ee66 7aa7 vmul.f32 s15, s13, s15 70022aa4: ed93 6a3d vldr s12, [r3, #244] @ 0xf4 70022aa8: ee25 7a07 vmul.f32 s14, s10, s14 70022aac: ee77 7a87 vadd.f32 s15, s15, s14 70022ab0: ee77 7a86 vadd.f32 s15, s15, s12 70022ab4: edc4 7a0e vstr s15, [r4, #56] @ 0x38 70022ab8: edd3 7a3e vldr s15, [r3, #248] @ 0xf8 70022abc: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 70022ac0: ee66 7aa7 vmul.f32 s15, s13, s15 70022ac4: ed93 7a40 vldr s14, [r3, #256] @ 0x100 70022ac8: ee25 5a06 vmul.f32 s10, s10, s12 70022acc: ee77 7a85 vadd.f32 s15, s15, s10 70022ad0: ee77 7a87 vadd.f32 s15, s15, s14 70022ad4: edc4 7a0f vstr s15, [r4, #60] @ 0x3c 70022ad8: f893 307c ldrb.w r3, [r3, #124] @ 0x7c 70022adc: 2b02 cmp r3, #2 70022ade: f200 83bd bhi.w 7002325c 70022ae2: 4a1e ldr r2, [pc, #120] @ (70022b5c ) 70022ae4: f852 0023 ldr.w r0, [r2, r3, lsl #2] 70022ae8: 4a1d ldr r2, [pc, #116] @ (70022b60 ) 70022aea: f852 5023 ldr.w r5, [r2, r3, lsl #2] 70022aee: 2300 movs r3, #0 70022af0: 9309 str r3, [sp, #36] @ 0x24 70022af2: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70022af6: 2103 movs r1, #3 70022af8: 461a mov r2, r3 70022afa: f007 f861 bl 70029bc0 70022afe: 4628 mov r0, r5 70022b00: f7f6 fd5e bl 700195c0 70022b04: f8db 2000 ldr.w r2, [fp] 70022b08: f892 307c ldrb.w r3, [r2, #124] @ 0x7c 70022b0c: 2b01 cmp r3, #1 70022b0e: 9307 str r3, [sp, #28] 70022b10: f000 83e2 beq.w 700232d8 70022b14: 2b02 cmp r3, #2 70022b16: f000 82b3 beq.w 70023080 70022b1a: 2b00 cmp r3, #0 70022b1c: f040 8321 bne.w 70023162 70022b20: f892 52f4 ldrb.w r5, [r2, #756] @ 0x2f4 70022b24: 4620 mov r0, r4 70022b26: 2d00 cmp r5, #0 70022b28: f001 8002 beq.w 70023b30 70022b2c: f7fd fc36 bl 7002039c 70022b30: 4605 mov r5, r0 70022b32: 2800 cmp r0, #0 70022b34: f041 8264 bne.w 70024000 70022b38: 9b09 ldr r3, [sp, #36] @ 0x24 70022b3a: 2b00 cmp r3, #0 70022b3c: f040 8314 bne.w 70023168 70022b40: f8db 3000 ldr.w r3, [fp] 70022b44: f893 507c ldrb.w r5, [r3, #124] @ 0x7c 70022b48: 2d02 cmp r5, #2 70022b4a: f001 8119 beq.w 70023d80 70022b4e: e009 b.n 70022b64 70022b50: 70040138 .word 0x70040138 70022b54: 1c1f0000 .word 0x1c1f0000 70022b58: 3a83126f .word 0x3a83126f 70022b5c: 700400ac .word 0x700400ac 70022b60: 700400a0 .word 0x700400a0 70022b64: f8d8 3000 ldr.w r3, [r8] 70022b68: 2034 movs r0, #52 @ 0x34 70022b6a: 8a19 ldrh r1, [r3, #16] 70022b6c: f041 6100 orr.w r1, r1, #134217728 @ 0x8000000 70022b70: f006 fe76 bl 70029860 70022b74: f8db 3000 ldr.w r3, [fp] 70022b78: f893 20a0 ldrb.w r2, [r3, #160] @ 0xa0 70022b7c: 2a01 cmp r2, #1 70022b7e: f000 86c3 beq.w 70023908 70022b82: f7e0 fd51 bl 70003628 70022b86: 9d06 ldr r5, [sp, #24] 70022b88: f895 30d5 ldrb.w r3, [r5, #213] @ 0xd5 70022b8c: b14b cbz r3, 70022ba2 70022b8e: 4628 mov r0, r5 70022b90: f005 ffd8 bl 70028b44 70022b94: 4628 mov r0, r5 70022b96: f006 f835 bl 70028c04 70022b9a: 4605 mov r5, r0 70022b9c: 2800 cmp r0, #0 70022b9e: f040 827f bne.w 700230a0 70022ba2: f8db 2000 ldr.w r2, [fp] 70022ba6: f892 307f ldrb.w r3, [r2, #127] @ 0x7f 70022baa: f003 0307 and.w r3, r3, #7 70022bae: 2b03 cmp r3, #3 70022bb0: f000 8789 beq.w 70023ac6 70022bb4: 2b04 cmp r3, #4 70022bb6: f001 8004 beq.w 70023bc2 70022bba: 9b06 ldr r3, [sp, #24] 70022bbc: f8d2 5084 ldr.w r5, [r2, #132] @ 0x84 70022bc0: f893 60d5 ldrb.w r6, [r3, #213] @ 0xd5 70022bc4: 2e00 cmp r6, #0 70022bc6: f000 82ff beq.w 700231c8 70022bca: f3c5 7380 ubfx r3, r5, #30, #1 70022bce: b2aa uxth r2, r5 70022bd0: ea4f 5b03 mov.w fp, r3, lsl #20 70022bd4: f240 5301 movw r3, #1281 @ 0x501 70022bd8: 429a cmp r2, r3 70022bda: f001 8078 beq.w 70023cce 70022bde: 48d3 ldr r0, [pc, #844] @ (70022f2c ) 70022be0: 2200 movs r2, #0 70022be2: 2e02 cmp r6, #2 70022be4: f005 030f and.w r3, r5, #15 70022be8: f3c5 2103 ubfx r1, r5, #8, #4 70022bec: e9cd 0220 strd r0, r2, [sp, #128] @ 0x80 70022bf0: f000 8787 beq.w 70023b02 70022bf4: 2703 movs r7, #3 70022bf6: 2002 movs r0, #2 70022bf8: 2601 movs r6, #1 70022bfa: 016a lsls r2, r5, #5 70022bfc: d50b bpl.n 70022c16 70022bfe: aa32 add r2, sp, #200 @ 0xc8 70022c00: f44b 0598 orr.w r5, fp, #4980736 @ 0x4c0000 70022c04: eb02 02c6 add.w r2, r2, r6, lsl #3 70022c08: 4606 mov r6, r0 70022c0a: 4638 mov r0, r7 70022c0c: f842 5c48 str.w r5, [r2, #-72] 70022c10: 4dc7 ldr r5, [pc, #796] @ (70022f30 ) 70022c12: f842 5c44 str.w r5, [r2, #-68] 70022c16: 1f9a subs r2, r3, #6 70022c18: 2a03 cmp r2, #3 70022c1a: f240 8763 bls.w 70023ae4 70022c1e: f04b 0b01 orr.w fp, fp, #1 70022c22: 4605 mov r5, r0 70022c24: 4fc3 ldr r7, [pc, #780] @ (70022f34 ) 70022c26: 4ac4 ldr r2, [pc, #784] @ (70022f38 ) 70022c28: f857 0023 ldr.w r0, [r7, r3, lsl #2] 70022c2c: 4bc3 ldr r3, [pc, #780] @ (70022f3c ) 70022c2e: ea4b 0202 orr.w r2, fp, r2 70022c32: 4303 orrs r3, r0 70022c34: a832 add r0, sp, #200 @ 0xc8 70022c36: eb00 00c6 add.w r0, r0, r6, lsl #3 70022c3a: e940 2312 strd r2, r3, [r0, #-72] @ 0x48 70022c3e: b161 cbz r1, 70022c5a 70022c40: ab32 add r3, sp, #200 @ 0xc8 70022c42: f857 1021 ldr.w r1, [r7, r1, lsl #2] 70022c46: eb03 02c5 add.w r2, r3, r5, lsl #3 70022c4a: 4bbd ldr r3, [pc, #756] @ (70022f40 ) 70022c4c: 1cb5 adds r5, r6, #2 70022c4e: 430b orrs r3, r1 70022c50: f842 3c44 str.w r3, [r2, #-68] 70022c54: 2300 movs r3, #0 70022c56: f842 3c48 str.w r3, [r2, #-72] 70022c5a: aa32 add r2, sp, #200 @ 0xc8 70022c5c: 1c6b adds r3, r5, #1 70022c5e: 49b9 ldr r1, [pc, #740] @ (70022f44 ) 70022c60: f44f 401c mov.w r0, #39936 @ 0x9c00 70022c64: eb02 03c3 add.w r3, r2, r3, lsl #3 70022c68: f8df 92e8 ldr.w r9, [pc, #744] @ 70022f54 70022c6c: eb02 02c5 add.w r2, r2, r5, lsl #3 70022c70: f8df a2e4 ldr.w sl, [pc, #740] @ 70022f58 70022c74: e942 9112 strd r9, r1, [r2, #-72] @ 0x48 70022c78: 4ab3 ldr r2, [pc, #716] @ (70022f48 ) 70022c7a: e943 a212 strd sl, r2, [r3, #-72] @ 0x48 70022c7e: f7f6 fc43 bl 70019508 70022c82: 2001 movs r0, #1 70022c84: f7f6 fc46 bl 70019514 70022c88: 1ca9 adds r1, r5, #2 70022c8a: a820 add r0, sp, #128 @ 0x80 70022c8c: 2200 movs r2, #0 70022c8e: f7f6 fc23 bl 700194d8 70022c92: 9b06 ldr r3, [sp, #24] 70022c94: f893 30d5 ldrb.w r3, [r3, #213] @ 0xd5 70022c98: 2b04 cmp r3, #4 70022c9a: f000 868a beq.w 700239b2 70022c9e: edd4 3a0f vldr s7, [r4, #60] @ 0x3c 70022ca2: ed94 3a0e vldr s6, [r4, #56] @ 0x38 70022ca6: edd4 2a0d vldr s5, [r4, #52] @ 0x34 70022caa: ed94 2a0c vldr s4, [r4, #48] @ 0x30 70022cae: edd4 1a0b vldr s3, [r4, #44] @ 0x2c 70022cb2: ed94 1a0a vldr s2, [r4, #40] @ 0x28 70022cb6: edd4 0a09 vldr s1, [r4, #36] @ 0x24 70022cba: ed94 0a08 vldr s0, [r4, #32] 70022cbe: f7f6 fd45 bl 7001974c 70022cc2: f7ff ba50 b.w 70022166 70022cc6: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 70022cca: 075b lsls r3, r3, #29 70022ccc: f140 8240 bpl.w 70023150 70022cd0: 9906 ldr r1, [sp, #24] 70022cd2: 4620 mov r0, r4 70022cd4: f004 fb70 bl 700273b8 70022cd8: 9005 str r0, [sp, #20] 70022cda: 2800 cmp r0, #0 70022cdc: f43f aa43 beq.w 70022166 70022ce0: e187 b.n 70022ff2 70022ce2: eef5 7ac0 vcmpe.f32 s15, #0.0 70022ce6: eef1 fa10 vmrs APSR_nzcv, fpscr 70022cea: f240 8659 bls.w 700239a0 70022cee: 0e11 lsrs r1, r2, #24 70022cf0: eef6 6a00 vmov.f32 s13, #96 @ 0x3f000000 0.5 70022cf4: ee07 1a10 vmov s14, r1 70022cf8: eeb8 7ac7 vcvt.f32.s32 s14, s14 70022cfc: ee67 7a87 vmul.f32 s15, s15, s14 70022d00: ee77 7aa6 vadd.f32 s15, s15, s13 70022d04: eefd 7ae7 vcvt.s32.f32 s15, s15 70022d08: ee17 1a90 vmov r1, s15 70022d0c: f361 621f bfi r2, r1, #24, #8 70022d10: f8c3 2124 str.w r2, [r3, #292] @ 0x124 70022d14: f7ff ba93 b.w 7002223e 70022d18: eeb0 6a67 vmov.f32 s12, s15 70022d1c: eeb0 7a67 vmov.f32 s14, s15 70022d20: eeb0 4a67 vmov.f32 s8, s15 70022d24: ee77 5a46 vsub.f32 s11, s14, s12 70022d28: eef5 5ac0 vcmpe.f32 s11, #0.0 70022d2c: eef1 fa10 vmrs APSR_nzcv, fpscr 70022d30: eeb5 7ac0 vcmpe.f32 s14, #0.0 70022d34: bf48 it mi 70022d36: eef1 5a65 vnegmi.f32 s11, s11 70022d3a: eef1 fa10 vmrs APSR_nzcv, fpscr 70022d3e: bf4c ite mi 70022d40: eef1 6a47 vnegmi.f32 s13, s14 70022d44: eef0 6a47 vmovpl.f32 s13, s14 70022d48: eeb5 6ac0 vcmpe.f32 s12, #0.0 70022d4c: eef1 fa10 vmrs APSR_nzcv, fpscr 70022d50: bf4c ite mi 70022d52: eeb1 5a46 vnegmi.f32 s10, s12 70022d56: eeb0 5a46 vmovpl.f32 s10, s12 70022d5a: eeb4 5ae6 vcmpe.f32 s10, s13 70022d5e: eddf 4a7b vldr s9, [pc, #492] @ 70022f4c 70022d62: eef1 fa10 vmrs APSR_nzcv, fpscr 70022d66: fe76 6a85 vselgt.f32 s13, s13, s10 70022d6a: ee66 6aa4 vmul.f32 s13, s13, s9 70022d6e: eef4 6ae5 vcmpe.f32 s13, s11 70022d72: eef1 fa10 vmrs APSR_nzcv, fpscr 70022d76: db07 blt.n 70022d88 70022d78: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 70022d7c: eeb4 7ae6 vcmpe.f32 s14, s13 70022d80: eef1 fa10 vmrs APSR_nzcv, fpscr 70022d84: f53f aae8 bmi.w 70022358 70022d88: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 70022d8c: ed83 4a4b vstr s8, [r3, #300] @ 0x12c 70022d90: ed83 7a4c vstr s14, [r3, #304] @ 0x130 70022d94: ed83 6a4d vstr s12, [r3, #308] @ 0x134 70022d98: eeb4 7ae6 vcmpe.f32 s14, s13 70022d9c: eef1 fa10 vmrs APSR_nzcv, fpscr 70022da0: f340 8166 ble.w 70023070 70022da4: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70022da8: 2201 movs r2, #1 70022daa: f8c3 2110 str.w r2, [r3, #272] @ 0x110 70022dae: eef4 7ac7 vcmpe.f32 s15, s14 70022db2: eef1 fa10 vmrs APSR_nzcv, fpscr 70022db6: d805 bhi.n 70022dc4 70022db8: edc3 7a4c vstr s15, [r3, #304] @ 0x130 70022dbc: edc3 7a4d vstr s15, [r3, #308] @ 0x134 70022dc0: edc3 7a4b vstr s15, [r3, #300] @ 0x12c 70022dc4: f8b3 22f0 ldrh.w r2, [r3, #752] @ 0x2f0 70022dc8: 2000 movs r0, #0 70022dca: 3a00 subs r2, #0 70022dcc: f8c3 0114 str.w r0, [r3, #276] @ 0x114 70022dd0: f04f 0001 mov.w r0, #1 70022dd4: bf18 it ne 70022dd6: 2201 movne r2, #1 70022dd8: f883 21bf strb.w r2, [r3, #447] @ 0x1bf 70022ddc: 9e06 ldr r6, [sp, #24] 70022dde: f896 60d5 ldrb.w r6, [r6, #213] @ 0xd5 70022de2: 2e00 cmp r6, #0 70022de4: f040 80d4 bne.w 70022f90 70022de8: 2901 cmp r1, #1 70022dea: d024 beq.n 70022e36 70022dec: b318 cbz r0, 70022e36 70022dee: b289 uxth r1, r1 70022df0: f240 5601 movw r6, #1281 @ 0x501 70022df4: 42b1 cmp r1, r6 70022df6: f000 8691 beq.w 70023b1c 70022dfa: 682d ldr r5, [r5, #0] 70022dfc: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 70022e00: ed93 7a4b vldr s14, [r3, #300] @ 0x12c 70022e04: 7a29 ldrb r1, [r5, #8] 70022e06: ee67 7a27 vmul.f32 s15, s14, s15 70022e0a: b111 cbz r1, 70022e12 70022e0c: 2100 movs r1, #0 70022e0e: f8c3 1114 str.w r1, [r3, #276] @ 0x114 70022e12: 2a00 cmp r2, #0 70022e14: f43f aafb beq.w 7002240e 70022e18: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 70022e1c: ee37 7a26 vadd.f32 s14, s14, s13 70022e20: ee77 7a87 vadd.f32 s15, s15, s14 70022e24: f7ff baf3 b.w 7002240e 70022e28: 9906 ldr r1, [sp, #24] 70022e2a: 4630 mov r0, r6 70022e2c: f891 10d5 ldrb.w r1, [r1, #213] @ 0xd5 70022e30: 2900 cmp r1, #0 70022e32: f040 80ad bne.w 70022f90 70022e36: f893 10a0 ldrb.w r1, [r3, #160] @ 0xa0 70022e3a: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 70022e3e: ed93 7a4b vldr s14, [r3, #300] @ 0x12c 70022e42: 2901 cmp r1, #1 70022e44: ee67 7a27 vmul.f32 s15, s14, s15 70022e48: bf1c itt ne 70022e4a: 2101 movne r1, #1 70022e4c: f8c3 1114 strne.w r1, [r3, #276] @ 0x114 70022e50: 682d ldr r5, [r5, #0] 70022e52: 7a29 ldrb r1, [r5, #8] 70022e54: b939 cbnz r1, 70022e66 70022e56: f8d3 1114 ldr.w r1, [r3, #276] @ 0x114 70022e5a: f8c3 1114 str.w r1, [r3, #276] @ 0x114 70022e5e: 2800 cmp r0, #0 70022e60: f43f aad5 beq.w 7002240e 70022e64: e7d5 b.n 70022e12 70022e66: 2100 movs r1, #0 70022e68: e7f7 b.n 70022e5a 70022e6a: 30ec adds r0, #236 @ 0xec 70022e6c: f7f5 fe86 bl 70018b7c 70022e70: f7ff b9ce b.w 70022210 70022e74: f100 01a4 add.w r1, r0, #164 @ 0xa4 70022e78: 30ec adds r0, #236 @ 0xec 70022e7a: f7f5 fe8d bl 70018b98 70022e7e: 2e00 cmp r6, #0 70022e80: f43f a9c6 beq.w 70022210 70022e84: f8db 0000 ldr.w r0, [fp] 70022e88: 4639 mov r1, r7 70022e8a: 30ec adds r0, #236 @ 0xec 70022e8c: f7f5 ff1e bl 70018ccc 70022e90: f7ff b9be b.w 70022210 70022e94: edd3 6a3b vldr s13, [r3, #236] @ 0xec 70022e98: edd3 5a3c vldr s11, [r3, #240] @ 0xf0 70022e9c: ee66 6aa6 vmul.f32 s13, s13, s13 70022ea0: ed93 7a3e vldr s14, [r3, #248] @ 0xf8 70022ea4: ee65 5aa5 vmul.f32 s11, s11, s11 70022ea8: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 70022eac: ee27 7a07 vmul.f32 s14, s14, s14 70022eb0: eddf 4a27 vldr s9, [pc, #156] @ 70022f50 70022eb4: ee26 6a06 vmul.f32 s12, s12, s12 70022eb8: ee76 6aa5 vadd.f32 s13, s13, s11 70022ebc: ee37 7a06 vadd.f32 s14, s14, s12 70022ec0: eeb1 5ae6 vsqrt.f32 s10, s13 70022ec4: eef1 5ac7 vsqrt.f32 s11, s14 70022ec8: eeb4 5ae4 vcmpe.f32 s10, s9 70022ecc: ed83 5a71 vstr s10, [r3, #452] @ 0x1c4 70022ed0: eef1 fa10 vmrs APSR_nzcv, fpscr 70022ed4: edc3 5a72 vstr s11, [r3, #456] @ 0x1c8 70022ed8: dd65 ble.n 70022fa6 70022eda: eeb1 7a00 vmov.f32 s14, #16 @ 0x40800000 4.0 70022ede: ee87 6a85 vdiv.f32 s12, s15, s10 70022ee2: eec7 6a05 vdiv.f32 s13, s14, s10 70022ee6: ed9f 7a1a vldr s14, [pc, #104] @ 70022f50 70022eea: eef4 5ac7 vcmpe.f32 s11, s14 70022eee: eef1 fa10 vmrs APSR_nzcv, fpscr 70022ef2: dd54 ble.n 70022f9e 70022ef4: eeb1 5a00 vmov.f32 s10, #16 @ 0x40800000 4.0 70022ef8: eec7 7aa5 vdiv.f32 s15, s15, s11 70022efc: ee85 7a25 vdiv.f32 s14, s10, s11 70022f00: f7ff ba95 b.w 7002242e 70022f04: eeb5 7ac0 vcmpe.f32 s14, #0.0 70022f08: eef1 fa10 vmrs APSR_nzcv, fpscr 70022f0c: f63f ab68 bhi.w 700225e0 70022f10: eeb5 5ac0 vcmpe.f32 s10, #0.0 70022f14: eef1 fa10 vmrs APSR_nzcv, fpscr 70022f18: f63f ab62 bhi.w 700225e0 70022f1c: eef5 5ac0 vcmpe.f32 s11, #0.0 70022f20: eef1 fa10 vmrs APSR_nzcv, fpscr 70022f24: f63f ab5c bhi.w 700225e0 70022f28: f7ff b91d b.w 70022166 70022f2c: 0a18108b .word 0x0a18108b 70022f30: 01016204 .word 0x01016204 70022f34: 700400b8 .word 0x700400b8 70022f38: 184c1000 .word 0x184c1000 70022f3c: 0a882206 .word 0x0a882206 70022f40: 0a581606 .word 0x0a581606 70022f44: 0a912406 .word 0x0a912406 70022f48: 8a5b1686 .word 0x8a5b1686 70022f4c: 3727c5ac .word 0x3727c5ac 70022f50: 3a83126f .word 0x3a83126f 70022f54: 18001000 .word 0x18001000 70022f58: 10000002 .word 0x10000002 70022f5c: eef5 3ac0 vcmpe.f32 s7, #0.0 70022f60: eef1 fa10 vmrs APSR_nzcv, fpscr 70022f64: f63f ab42 bhi.w 700225ec 70022f68: eef5 6ac0 vcmpe.f32 s13, #0.0 70022f6c: eef1 fa10 vmrs APSR_nzcv, fpscr 70022f70: f63f ab3c bhi.w 700225ec 70022f74: eef5 7ac0 vcmpe.f32 s15, #0.0 70022f78: eef1 fa10 vmrs APSR_nzcv, fpscr 70022f7c: f63f ab36 bhi.w 700225ec 70022f80: f7ff b8f1 b.w 70022166 70022f84: 2e00 cmp r6, #0 70022f86: f000 8187 beq.w 70023298 70022f8a: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 70022f8e: e75f b.n 70022e50 70022f90: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 70022f94: ed93 7a4b vldr s14, [r3, #300] @ 0x12c 70022f98: ee67 7a27 vmul.f32 s15, s14, s15 70022f9c: e758 b.n 70022e50 70022f9e: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70022fa2: f7ff ba44 b.w 7002242e 70022fa6: eef1 6a00 vmov.f32 s13, #16 @ 0x40800000 4.0 70022faa: eeb0 6a67 vmov.f32 s12, s15 70022fae: e79a b.n 70022ee6 70022fb0: 68eb ldr r3, [r5, #12] 70022fb2: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 70022fb6: f000 856e beq.w 70023a96 70022fba: f1b3 4f40 cmp.w r3, #3221225472 @ 0xc0000000 70022fbe: f47f abb8 bne.w 70022732 70022fc2: 2000 movs r0, #0 70022fc4: f7f6 f926 bl 70019214 70022fc8: 2204 movs r2, #4 70022fca: f8db 3000 ldr.w r3, [fp] 70022fce: f883 207f strb.w r2, [r3, #127] @ 0x7f 70022fd2: f8d8 2000 ldr.w r2, [r8] 70022fd6: f7ff bbac b.w 70022732 70022fda: f8db 2000 ldr.w r2, [fp] 70022fde: f44f 7000 mov.w r0, #512 @ 0x200 70022fe2: e9c2 3345 strd r3, r3, [r2, #276] @ 0x114 70022fe6: f004 fcb3 bl 70027950 70022fea: f44f 7300 mov.w r3, #512 @ 0x200 70022fee: 4618 mov r0, r3 70022ff0: 9305 str r3, [sp, #20] 70022ff2: f8db 3000 ldr.w r3, [fp] 70022ff6: 2200 movs r2, #0 70022ff8: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 70022ffc: f004 fca8 bl 70027950 70023000: f7ff b8b1 b.w 70022166 70023004: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 70023008: e49e b.n 70022948 7002300a: eeb7 6a00 vmov.f32 s12, #112 @ 0x3f800000 1.0 7002300e: eef0 5a67 vmov.f32 s11, s15 70023012: e489 b.n 70022928 70023014: f8d3 0084 ldr.w r0, [r3, #132] @ 0x84 70023018: f240 5201 movw r2, #1281 @ 0x501 7002301c: 4b9f ldr r3, [pc, #636] @ (7002329c ) 7002301e: 4003 ands r3, r0 70023020: 4293 cmp r3, r2 70023022: d04f beq.n 700230c4 70023024: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70023028: f040 7080 orr.w r0, r0, #16777216 @ 0x1000000 7002302c: 2100 movs r1, #0 7002302e: 461a mov r2, r3 70023030: f006 fdc6 bl 70029bc0 70023034: f8db 3000 ldr.w r3, [fp] 70023038: f8d3 0124 ldr.w r0, [r3, #292] @ 0x124 7002303c: f7f6 fac0 bl 700195c0 70023040: f8db 3000 ldr.w r3, [fp] 70023044: f893 52f4 ldrb.w r5, [r3, #756] @ 0x2f4 70023048: 4620 mov r0, r4 7002304a: 2d00 cmp r5, #0 7002304c: f000 810e beq.w 7002326c 70023050: f7fd f9a4 bl 7002039c 70023054: 4604 mov r4, r0 70023056: 2800 cmp r0, #0 70023058: f43f a885 beq.w 70022166 7002305c: f8db 3000 ldr.w r3, [fp] 70023060: 2200 movs r2, #0 70023062: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 70023066: f004 fc73 bl 70027950 7002306a: 4620 mov r0, r4 7002306c: 9405 str r4, [sp, #20] 7002306e: e7c0 b.n 70022ff2 70023070: eeb4 6ae6 vcmpe.f32 s12, s13 70023074: eef1 fa10 vmrs APSR_nzcv, fpscr 70023078: f73f ae94 bgt.w 70022da4 7002307c: f7ff b9a9 b.w 700223d2 70023080: 4b87 ldr r3, [pc, #540] @ (700232a0 ) 70023082: 2207 movs r2, #7 70023084: 4d87 ldr r5, [pc, #540] @ (700232a4 ) 70023086: 2101 movs r1, #1 70023088: a820 add r0, sp, #128 @ 0x80 7002308a: e9cd 5320 strd r5, r3, [sp, #128] @ 0x80 7002308e: f7f6 fa23 bl 700194d8 70023092: 4620 mov r0, r4 70023094: f7fc f8d4 bl 7001f240 70023098: 4605 mov r5, r0 7002309a: 2800 cmp r0, #0 7002309c: f43f ad4c beq.w 70022b38 700230a0: f8db 3000 ldr.w r3, [fp] 700230a4: 2200 movs r2, #0 700230a6: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 700230aa: f004 fc51 bl 70027950 700230ae: 4628 mov r0, r5 700230b0: 9505 str r5, [sp, #20] 700230b2: f8db 3000 ldr.w r3, [fp] 700230b6: 2200 movs r2, #0 700230b8: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 700230bc: f004 fc48 bl 70027950 700230c0: 9805 ldr r0, [sp, #20] 700230c2: e796 b.n 70022ff2 700230c4: 2004 movs r0, #4 700230c6: f006 fc47 bl 70029958 700230ca: 4605 mov r5, r0 700230cc: 2800 cmp r0, #0 700230ce: d08c beq.n 70022fea 700230d0: 2200 movs r2, #0 700230d2: 4631 mov r1, r6 700230d4: 4874 ldr r0, [pc, #464] @ (700232a8 ) 700230d6: f44f 788e mov.w r8, #284 @ 0x11c 700230da: f7f6 f9fd bl 700194d8 700230de: 4b73 ldr r3, [pc, #460] @ (700232ac ) 700230e0: f44f 708c mov.w r0, #280 @ 0x118 700230e4: f04f 4110 mov.w r1, #2415919104 @ 0x90000000 700230e8: 606e str r6, [r5, #4] 700230ea: e9c5 8302 strd r8, r3, [r5, #8] 700230ee: f44f 7396 mov.w r3, #300 @ 0x12c 700230f2: 612b str r3, [r5, #16] 700230f4: f44f 73e8 mov.w r3, #464 @ 0x1d0 700230f8: 602b str r3, [r5, #0] 700230fa: f8db 3000 ldr.w r3, [fp] 700230fe: f8d3 2124 ldr.w r2, [r3, #292] @ 0x124 70023102: e9c5 0106 strd r0, r1, [r5, #24] 70023106: 616a str r2, [r5, #20] 70023108: e79c b.n 70023044 7002310a: edd3 5a3c vldr s11, [r3, #240] @ 0xf0 7002310e: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 70023112: edd3 6a3b vldr s13, [r3, #236] @ 0xec 70023116: ee25 5aa5 vmul.f32 s10, s11, s11 7002311a: ed93 7a3e vldr s14, [r3, #248] @ 0xf8 7002311e: ee66 5a06 vmul.f32 s11, s12, s12 70023122: ee66 6aa6 vmul.f32 s13, s13, s13 70023126: ee27 7a07 vmul.f32 s14, s14, s14 7002312a: ee36 6a85 vadd.f32 s12, s13, s10 7002312e: ee77 6a25 vadd.f32 s13, s14, s11 70023132: eeb1 7ac6 vsqrt.f32 s14, s12 70023136: eeb1 6ae6 vsqrt.f32 s12, s13 7002313a: ee27 7a87 vmul.f32 s14, s15, s14 7002313e: ee27 6a86 vmul.f32 s12, s15, s12 70023142: eeb4 7ac6 vcmpe.f32 s14, s12 70023146: eef1 fa10 vmrs APSR_nzcv, fpscr 7002314a: fe37 4a06 vselgt.f32 s8, s14, s12 7002314e: e5e9 b.n 70022d24 70023150: f44f 4080 mov.w r0, #16384 @ 0x4000 70023154: f004 fbfc bl 70027950 70023158: f44f 4380 mov.w r3, #16384 @ 0x4000 7002315c: 9305 str r3, [sp, #20] 7002315e: f7ff b802 b.w 70022166 70023162: 2004 movs r0, #4 70023164: f004 fbf4 bl 70027950 70023168: f8d8 3000 ldr.w r3, [r8] 7002316c: 2034 movs r0, #52 @ 0x34 7002316e: 8a19 ldrh r1, [r3, #16] 70023170: f041 6100 orr.w r1, r1, #134217728 @ 0x8000000 70023174: f006 fb74 bl 70029860 70023178: 2304 movs r3, #4 7002317a: 4618 mov r0, r3 7002317c: 9305 str r3, [sp, #20] 7002317e: e798 b.n 700230b2 70023180: f893 21bf ldrb.w r2, [r3, #447] @ 0x1bf 70023184: 2a01 cmp r2, #1 70023186: f47f abbf bne.w 70022908 7002318a: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7002318e: ee36 6a07 vadd.f32 s12, s12, s14 70023192: ee77 7a86 vadd.f32 s15, s15, s12 70023196: f7ff bbb7 b.w 70022908 7002319a: 68c1 ldr r1, [r0, #12] 7002319c: f04f 0e04 mov.w lr, #4 700231a0: 4618 mov r0, r3 700231a2: 2300 movs r3, #0 700231a4: f44f 7280 mov.w r2, #256 @ 0x100 700231a8: e9cd 3e01 strd r3, lr, [sp, #4] 700231ac: 2309 movs r3, #9 700231ae: 9300 str r3, [sp, #0] 700231b0: 2301 movs r3, #1 700231b2: f7f4 fec9 bl 70017f48 700231b6: f7ff bac9 b.w 7002274c 700231ba: 2002 movs r0, #2 700231bc: f004 fbc8 bl 70027950 700231c0: 2302 movs r3, #2 700231c2: 9305 str r3, [sp, #20] 700231c4: f7fe bfcf b.w 70022166 700231c8: 4b34 ldr r3, [pc, #208] @ (7002329c ) 700231ca: f240 5201 movw r2, #1281 @ 0x501 700231ce: 402b ands r3, r5 700231d0: 4293 cmp r3, r2 700231d2: f000 84bd beq.w 70023b50 700231d6: f3c5 7380 ubfx r3, r5, #30, #1 700231da: 4a35 ldr r2, [pc, #212] @ (700232b0 ) 700231dc: 4f35 ldr r7, [pc, #212] @ (700232b4 ) 700231de: f415 6f70 tst.w r5, #3840 @ 0xf00 700231e2: ea4f 5303 mov.w r3, r3, lsl #20 700231e6: f443 2340 orr.w r3, r3, #786432 @ 0xc0000 700231ea: 9322 str r3, [sp, #136] @ 0x88 700231ec: f005 030f and.w r3, r5, #15 700231f0: f852 1023 ldr.w r1, [r2, r3, lsl #2] 700231f4: 4b30 ldr r3, [pc, #192] @ (700232b8 ) 700231f6: ea43 0301 orr.w r3, r3, r1 700231fa: 9323 str r3, [sp, #140] @ 0x8c 700231fc: 4b2f ldr r3, [pc, #188] @ (700232bc ) 700231fe: e9cd 7320 strd r7, r3, [sp, #128] @ 0x80 70023202: f3c5 2303 ubfx r3, r5, #8, #4 70023206: f000 84d3 beq.w 70023bb0 7002320a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 7002320e: 2505 movs r5, #5 70023210: 4b2b ldr r3, [pc, #172] @ (700232c0 ) 70023212: 9624 str r6, [sp, #144] @ 0x90 70023214: 4313 orrs r3, r2 70023216: 2203 movs r2, #3 70023218: 9325 str r3, [sp, #148] @ 0x94 7002321a: 2304 movs r3, #4 7002321c: a932 add r1, sp, #200 @ 0xc8 7002321e: 4829 ldr r0, [pc, #164] @ (700232c4 ) 70023220: 4e29 ldr r6, [pc, #164] @ (700232c8 ) 70023222: eb01 03c3 add.w r3, r1, r3, lsl #3 70023226: eb01 02c2 add.w r2, r1, r2, lsl #3 7002322a: 4928 ldr r1, [pc, #160] @ (700232cc ) 7002322c: e942 0112 strd r0, r1, [r2, #-72] @ 0x48 70023230: 4a27 ldr r2, [pc, #156] @ (700232d0 ) 70023232: f44f 403c mov.w r0, #48128 @ 0xbc00 70023236: e943 6212 strd r6, r2, [r3, #-72] @ 0x48 7002323a: f7f6 f965 bl 70019508 7002323e: 2001 movs r0, #1 70023240: f7f6 f968 bl 70019514 70023244: a820 add r0, sp, #128 @ 0x80 70023246: 4629 mov r1, r5 70023248: 2200 movs r2, #0 7002324a: f7f6 f945 bl 700194d8 7002324e: f8db 3000 ldr.w r3, [fp] 70023252: f8d3 0124 ldr.w r0, [r3, #292] @ 0x124 70023256: f7f6 f9b3 bl 700195c0 7002325a: e51a b.n 70022c92 7002325c: 2004 movs r0, #4 7002325e: 2500 movs r5, #0 70023260: f004 fb76 bl 70027950 70023264: 2304 movs r3, #4 70023266: 4628 mov r0, r5 70023268: 9309 str r3, [sp, #36] @ 0x24 7002326a: e442 b.n 70022af2 7002326c: f7fe f874 bl 70021358 70023270: 4604 mov r4, r0 70023272: 2800 cmp r0, #0 70023274: f43e af77 beq.w 70022166 70023278: f8db 3000 ldr.w r3, [fp] 7002327c: e9c3 5545 strd r5, r5, [r3, #276] @ 0x114 70023280: f004 fb66 bl 70027950 70023284: 4620 mov r0, r4 70023286: 9405 str r4, [sp, #20] 70023288: e6b3 b.n 70022ff2 7002328a: 2002 movs r0, #2 7002328c: f004 fb60 bl 70027950 70023290: 2302 movs r3, #2 70023292: 4618 mov r0, r3 70023294: 9305 str r3, [sp, #20] 70023296: e6ac b.n 70022ff2 70023298: 4630 mov r0, r6 7002329a: e59f b.n 70022ddc 7002329c: 4000ffff .word 0x4000ffff 700232a0: 8a2743d6 .word 0x8a2743d6 700232a4: 080c0182 .word 0x080c0182 700232a8: 70040140 .word 0x70040140 700232ac: 941fb400 .word 0x941fb400 700232b0: 700400f8 .word 0x700400f8 700232b4: 1a581001 .word 0x1a581001 700232b8: 0a802006 .word 0x0a802006 700232bc: 050481a0 .word 0x050481a0 700232c0: 0a581606 .word 0x0a581606 700232c4: 18001000 .word 0x18001000 700232c8: 10000002 .word 0x10000002 700232cc: 0a916426 .word 0x0a916426 700232d0: 8a5b56a6 .word 0x8a5b56a6 700232d4: 00000000 .word 0x00000000 700232d8: f8d8 3000 ldr.w r3, [r8] 700232dc: eeb5 6a00 vmov.f32 s12, #80 @ 0x3e800000 0.250 700232e0: eef6 6a00 vmov.f32 s13, #96 @ 0x3f000000 0.5 700232e4: 2002 movs r0, #2 700232e6: ed93 5a0a vldr s10, [r3, #40] @ 0x28 700232ea: edd3 5a09 vldr s11, [r3, #36] @ 0x24 700232ee: edd3 7a08 vldr s15, [r3, #32] 700232f2: ed93 7a07 vldr s14, [r3, #28] 700232f6: ee77 7a85 vadd.f32 s15, s15, s10 700232fa: ed93 4a0c vldr s8, [r3, #48] @ 0x30 700232fe: ee37 7a25 vadd.f32 s14, s14, s11 70023302: edd3 4a0b vldr s9, [r3, #44] @ 0x2c 70023306: ed93 5a0e vldr s10, [r3, #56] @ 0x38 7002330a: ee77 7a84 vadd.f32 s15, s15, s8 7002330e: edd3 5a0d vldr s11, [r3, #52] @ 0x34 70023312: ee37 7a24 vadd.f32 s14, s14, s9 70023316: ee77 7a85 vadd.f32 s15, s15, s10 7002331a: ee37 7a25 vadd.f32 s14, s14, s11 7002331e: ee67 7a86 vmul.f32 s15, s15, s12 70023322: ee27 7a06 vmul.f32 s14, s14, s12 70023326: ee77 7aa6 vadd.f32 s15, s15, s13 7002332a: ee37 7a26 vadd.f32 s14, s14, s13 7002332e: edc2 7ab1 vstr s15, [r2, #708] @ 0x2c4 70023332: eefd 7ae7 vcvt.s32.f32 s15, s15 70023336: ed82 7ab0 vstr s14, [r2, #704] @ 0x2c0 7002333a: eebd 7ac7 vcvt.s32.f32 s14, s14 7002333e: ee17 5a90 vmov r5, s15 70023342: edc2 7ab3 vstr s15, [r2, #716] @ 0x2cc 70023346: ee17 6a10 vmov r6, s14 7002334a: ed82 7ab2 vstr s14, [r2, #712] @ 0x2c8 7002334e: 042d lsls r5, r5, #16 70023350: 0436 lsls r6, r6, #16 70023352: f8c2 52d4 str.w r5, [r2, #724] @ 0x2d4 70023356: f8c2 62d0 str.w r6, [r2, #720] @ 0x2d0 7002335a: f006 fafd bl 70029958 7002335e: 4603 mov r3, r0 70023360: 2800 cmp r0, #0 70023362: f000 85eb beq.w 70023f3c 70023366: f44f 7290 mov.w r2, #288 @ 0x120 7002336a: 6046 str r6, [r0, #4] 7002336c: 60c5 str r5, [r0, #12] 7002336e: 2100 movs r1, #0 70023370: 6002 str r2, [r0, #0] 70023372: f44f 7292 mov.w r2, #292 @ 0x124 70023376: 6082 str r2, [r0, #8] 70023378: 2245 movs r2, #69 @ 0x45 7002337a: f10d 0083 add.w r0, sp, #131 @ 0x83 7002337e: f017 ffd1 bl 7003b324 70023382: 9b07 ldr r3, [sp, #28] 70023384: f88d 3082 strb.w r3, [sp, #130] @ 0x82 70023388: f240 1301 movw r3, #257 @ 0x101 7002338c: f8ad 3080 strh.w r3, [sp, #128] @ 0x80 70023390: 6823 ldr r3, [r4, #0] 70023392: 2b00 cmp r3, #0 70023394: f000 8469 beq.w 70023c6a 70023398: 2500 movs r5, #0 7002339a: ed1f 8a32 vldr s16, [pc, #-200] @ 700232d4 7002339e: 462b mov r3, r5 700233a0: 68a2 ldr r2, [r4, #8] 700233a2: 5d56 ldrb r6, [r2, r5] 700233a4: aa25 add r2, sp, #148 @ 0x94 700233a6: 3501 adds r5, #1 700233a8: f006 096f and.w r9, r6, #111 @ 0x6f 700233ac: f006 0a10 and.w sl, r6, #16 700233b0: e892 0003 ldmia.w r2, {r0, r1} 700233b4: f1b9 0f01 cmp.w r9, #1 700233b8: aa23 add r2, sp, #140 @ 0x8c 700233ba: e882 0003 stmia.w r2, {r0, r1} 700233be: d06f beq.n 700234a0 700233c0: f016 017f ands.w r1, r6, #127 @ 0x7f 700233c4: f040 80a6 bne.w 70023514 700233c8: f89d 3080 ldrb.w r3, [sp, #128] @ 0x80 700233cc: 2b01 cmp r3, #1 700233ce: f000 8296 beq.w 700238fe 700233d2: eddd 7a2f vldr s15, [sp, #188] @ 0xbc 700233d6: ed9d 7a30 vldr s14, [sp, #192] @ 0xc0 700233da: 2300 movs r3, #0 700233dc: ed8d 7a26 vstr s14, [sp, #152] @ 0x98 700233e0: edcd 7a25 vstr s15, [sp, #148] @ 0x94 700233e4: f8ad 3081 strh.w r3, [sp, #129] @ 0x81 700233e8: f8db 3000 ldr.w r3, [fp] 700233ec: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 700233f0: edcd 7a2b vstr s15, [sp, #172] @ 0xac 700233f4: ed8d 7a2c vstr s14, [sp, #176] @ 0xb0 700233f8: f88d 60c4 strb.w r6, [sp, #196] @ 0xc4 700233fc: b1fa cbz r2, 7002343e 700233fe: edd3 6a3b vldr s13, [r3, #236] @ 0xec 70023402: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 70023406: ee67 6aa6 vmul.f32 s13, s15, s13 7002340a: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 7002340e: ee27 6a06 vmul.f32 s12, s14, s12 70023412: ee76 6a86 vadd.f32 s13, s13, s12 70023416: ee76 6aa5 vadd.f32 s13, s13, s11 7002341a: edcd 6a25 vstr s13, [sp, #148] @ 0x94 7002341e: edd3 5a3e vldr s11, [r3, #248] @ 0xf8 70023422: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 70023426: ee67 7aa5 vmul.f32 s15, s15, s11 7002342a: edd3 6a40 vldr s13, [r3, #256] @ 0x100 7002342e: ee27 7a06 vmul.f32 s14, s14, s12 70023432: ee77 7a87 vadd.f32 s15, s15, s14 70023436: ee77 7aa6 vadd.f32 s15, s15, s13 7002343a: edcd 7a26 vstr s15, [sp, #152] @ 0x98 7002343e: b969 cbnz r1, 7002345c 70023440: f1a9 0305 sub.w r3, r9, #5 70023444: 2b03 cmp r3, #3 70023446: f200 86cb bhi.w 700241e0 7002344a: e8df f003 tbb [pc, r3] 7002344e: 020e .short 0x020e 70023450: 020e .short 0x020e 70023452: a820 add r0, sp, #128 @ 0x80 70023454: f7fb f892 bl 7001e57c 70023458: 4603 mov r3, r0 7002345a: b960 cbnz r0, 70023476 7002345c: 6823 ldr r3, [r4, #0] 7002345e: 429d cmp r5, r3 70023460: f080 83fe bcs.w 70023c60 70023464: f89d 30c4 ldrb.w r3, [sp, #196] @ 0xc4 70023468: e79a b.n 700233a0 7002346a: a820 add r0, sp, #128 @ 0x80 7002346c: f7fb fe96 bl 7001f19c 70023470: 4603 mov r3, r0 70023472: 2800 cmp r0, #0 70023474: d0f2 beq.n 7002345c 70023476: f8db 2000 ldr.w r2, [fp] 7002347a: 2100 movs r1, #0 7002347c: 9305 str r3, [sp, #20] 7002347e: e9c2 1145 strd r1, r1, [r2, #276] @ 0x114 70023482: f004 fa65 bl 70027950 70023486: 9b05 ldr r3, [sp, #20] 70023488: f8db 2000 ldr.w r2, [fp] 7002348c: 2100 movs r1, #0 7002348e: 4618 mov r0, r3 70023490: 9305 str r3, [sp, #20] 70023492: e9c2 1145 strd r1, r1, [r2, #276] @ 0x114 70023496: f004 fa5b bl 70027950 7002349a: 9b05 ldr r3, [sp, #20] 7002349c: 4618 mov r0, r3 7002349e: e608 b.n 700230b2 700234a0: f89d 1081 ldrb.w r1, [sp, #129] @ 0x81 700234a4: 9a21 ldr r2, [sp, #132] @ 0x84 700234a6: 2901 cmp r1, #1 700234a8: f8db 3000 ldr.w r3, [fp] 700234ac: f000 81e7 beq.w 7002387e 700234b0: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 700234b4: 1c50 adds r0, r2, #1 700234b6: f8c3 1120 str.w r1, [r3, #288] @ 0x120 700234ba: f04f 0100 mov.w r1, #0 700234be: 9222 str r2, [sp, #136] @ 0x88 700234c0: f88d 1080 strb.w r1, [sp, #128] @ 0x80 700234c4: 9907 ldr r1, [sp, #28] 700234c6: f88d 1082 strb.w r1, [sp, #130] @ 0x82 700234ca: 0091 lsls r1, r2, #2 700234cc: 3202 adds r2, #2 700234ce: 1d0f adds r7, r1, #4 700234d0: f1ba 0f00 cmp.w sl, #0 700234d4: f000 81c5 beq.w 70023862 700234d8: f8d4 c00c ldr.w ip, [r4, #12] 700234dc: ed9d 7a2b vldr s14, [sp, #172] @ 0xac 700234e0: 4461 add r1, ip 700234e2: 44bc add ip, r7 700234e4: eddd 6a2c vldr s13, [sp, #176] @ 0xb0 700234e8: edd1 7a00 vldr s15, [r1] 700234ec: 9021 str r0, [sp, #132] @ 0x84 700234ee: ee77 7a87 vadd.f32 s15, s15, s14 700234f2: edcd 7a25 vstr s15, [sp, #148] @ 0x94 700234f6: ed9c 7a00 vldr s14, [ip] 700234fa: ee37 7a26 vadd.f32 s14, s14, s13 700234fe: 9221 str r2, [sp, #132] @ 0x84 70023500: 2101 movs r1, #1 70023502: ed8d 7a26 vstr s14, [sp, #152] @ 0x98 70023506: edcd 7a2f vstr s15, [sp, #188] @ 0xbc 7002350a: ed8d 7a30 vstr s14, [sp, #192] @ 0xc0 7002350e: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70023512: e76d b.n 700233f0 70023514: 9f21 ldr r7, [sp, #132] @ 0x84 70023516: bb7f cbnz r7, 70023578 70023518: f8db 2000 ldr.w r2, [fp] 7002351c: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 70023520: f8c2 1120 str.w r1, [r2, #288] @ 0x120 70023524: 9907 ldr r1, [sp, #28] 70023526: f88d 1080 strb.w r1, [sp, #128] @ 0x80 7002352a: f892 11bc ldrb.w r1, [r2, #444] @ 0x1bc 7002352e: b319 cbz r1, 70023578 70023530: eddd 7a23 vldr s15, [sp, #140] @ 0x8c 70023534: eddd 6a24 vldr s13, [sp, #144] @ 0x90 70023538: ed92 7a3b vldr s14, [r2, #236] @ 0xec 7002353c: ed92 6a3c vldr s12, [r2, #240] @ 0xf0 70023540: ee27 7a87 vmul.f32 s14, s15, s14 70023544: edd2 5a3d vldr s11, [r2, #244] @ 0xf4 70023548: ee26 6a86 vmul.f32 s12, s13, s12 7002354c: ee37 7a06 vadd.f32 s14, s14, s12 70023550: ee37 7a25 vadd.f32 s14, s14, s11 70023554: ed8d 7a23 vstr s14, [sp, #140] @ 0x8c 70023558: edd2 5a3e vldr s11, [r2, #248] @ 0xf8 7002355c: ed92 6a3f vldr s12, [r2, #252] @ 0xfc 70023560: ee67 7aa5 vmul.f32 s15, s15, s11 70023564: ed92 7a40 vldr s14, [r2, #256] @ 0x100 70023568: ee66 6a86 vmul.f32 s13, s13, s12 7002356c: ee77 7aa6 vadd.f32 s15, s15, s13 70023570: ee77 7a87 vadd.f32 s15, s15, s14 70023574: edcd 7a24 vstr s15, [sp, #144] @ 0x90 70023578: f04f 0200 mov.w r2, #0 7002357c: f003 036f and.w r3, r3, #111 @ 0x6f 70023580: ea4f 0c87 mov.w ip, r7, lsl #2 70023584: 1c78 adds r0, r7, #1 70023586: f88d 2082 strb.w r2, [sp, #130] @ 0x82 7002358a: 68e2 ldr r2, [r4, #12] 7002358c: 4611 mov r1, r2 7002358e: 9208 str r2, [sp, #32] 70023590: f1a9 0205 sub.w r2, r9, #5 70023594: eb01 0187 add.w r1, r1, r7, lsl #2 70023598: 2a03 cmp r2, #3 7002359a: f200 85fe bhi.w 7002419a 7002359e: e8df f012 tbh [pc, r2, lsl #1] 700235a2: 0117 .short 0x0117 700235a4: 00a500e7 .word 0x00a500e7 700235a8: 0004 .short 0x0004 700235aa: 3b05 subs r3, #5 700235ac: ed9d 5a2b vldr s10, [sp, #172] @ 0xac 700235b0: eddd 5a2c vldr s11, [sp, #176] @ 0xb0 700235b4: 2b03 cmp r3, #3 700235b6: f240 8261 bls.w 70023a7c 700235ba: eeb0 7a65 vmov.f32 s14, s11 700235be: eef0 7a45 vmov.f32 s15, s10 700235c2: ed8d 7a28 vstr s14, [sp, #160] @ 0xa0 700235c6: 3702 adds r7, #2 700235c8: edcd 7a27 vstr s15, [sp, #156] @ 0x9c 700235cc: ed91 6a00 vldr s12, [r1] 700235d0: 9021 str r0, [sp, #132] @ 0x84 700235d2: ed8d 6a29 vstr s12, [sp, #164] @ 0xa4 700235d6: edd1 6a01 vldr s13, [r1, #4] 700235da: 9721 str r7, [sp, #132] @ 0x84 700235dc: edcd 6a2a vstr s13, [sp, #168] @ 0xa8 700235e0: f1ba 0f00 cmp.w sl, #0 700235e4: d007 beq.n 700235f6 700235e6: ee36 6a05 vadd.f32 s12, s12, s10 700235ea: ee76 6aa5 vadd.f32 s13, s13, s11 700235ee: ed8d 6a29 vstr s12, [sp, #164] @ 0xa4 700235f2: edcd 6a2a vstr s13, [sp, #168] @ 0xa8 700235f6: f8db 3000 ldr.w r3, [fp] 700235fa: ed8d 6a2d vstr s12, [sp, #180] @ 0xb4 700235fe: edcd 6a2e vstr s13, [sp, #184] @ 0xb8 70023602: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70023606: b39a cbz r2, 70023670 70023608: edd3 5a3b vldr s11, [r3, #236] @ 0xec 7002360c: ed93 4a3c vldr s8, [r3, #240] @ 0xf0 70023610: ee65 4aa7 vmul.f32 s9, s11, s15 70023614: edd3 3a3d vldr s7, [r3, #244] @ 0xf4 70023618: ee24 3a07 vmul.f32 s6, s8, s14 7002361c: ee25 5a86 vmul.f32 s10, s11, s12 70023620: ee24 4a26 vmul.f32 s8, s8, s13 70023624: ee74 5a83 vadd.f32 s11, s9, s6 70023628: ee35 5a04 vadd.f32 s10, s10, s8 7002362c: ee75 5aa3 vadd.f32 s11, s11, s7 70023630: ee35 5a23 vadd.f32 s10, s10, s7 70023634: edcd 5a27 vstr s11, [sp, #156] @ 0x9c 70023638: edd3 5a3e vldr s11, [r3, #248] @ 0xf8 7002363c: edd3 4a3f vldr s9, [r3, #252] @ 0xfc 70023640: ee65 7aa7 vmul.f32 s15, s11, s15 70023644: ed93 4a40 vldr s8, [r3, #256] @ 0x100 70023648: ee24 7a87 vmul.f32 s14, s9, s14 7002364c: ed8d 5a29 vstr s10, [sp, #164] @ 0xa4 70023650: ee65 5a86 vmul.f32 s11, s11, s12 70023654: ee64 4aa6 vmul.f32 s9, s9, s13 70023658: ee77 7a87 vadd.f32 s15, s15, s14 7002365c: ee35 7aa4 vadd.f32 s14, s11, s9 70023660: ee77 7a84 vadd.f32 s15, s15, s8 70023664: ee37 7a04 vadd.f32 s14, s14, s8 70023668: edcd 7a28 vstr s15, [sp, #160] @ 0xa0 7002366c: ed8d 7a2a vstr s14, [sp, #168] @ 0xa8 70023670: ea4f 0c87 mov.w ip, r7, lsl #2 70023674: 1c78 adds r0, r7, #1 70023676: 9908 ldr r1, [sp, #32] 70023678: 3702 adds r7, #2 7002367a: 4461 add r1, ip 7002367c: f10c 0c04 add.w ip, ip, #4 70023680: edd1 7a00 vldr s15, [r1] 70023684: 9908 ldr r1, [sp, #32] 70023686: 9021 str r0, [sp, #132] @ 0x84 70023688: 4461 add r1, ip 7002368a: f1ba 0f00 cmp.w sl, #0 7002368e: f000 8221 beq.w 70023ad4 70023692: ed9d 7a2b vldr s14, [sp, #172] @ 0xac 70023696: eddd 6a2c vldr s13, [sp, #176] @ 0xb0 7002369a: ee77 7a87 vadd.f32 s15, s15, s14 7002369e: edcd 7a25 vstr s15, [sp, #148] @ 0x94 700236a2: ed91 7a00 vldr s14, [r1] 700236a6: 9721 str r7, [sp, #132] @ 0x84 700236a8: ee37 7a26 vadd.f32 s14, s14, s13 700236ac: ed8d 7a26 vstr s14, [sp, #152] @ 0x98 700236b0: f893 107c ldrb.w r1, [r3, #124] @ 0x7c 700236b4: 2900 cmp r1, #0 700236b6: f000 80e0 beq.w 7002387a 700236ba: eddd 6a2f vldr s13, [sp, #188] @ 0xbc 700236be: ee77 6ae6 vsub.f32 s13, s15, s13 700236c2: eef5 6a40 vcmp.f32 s13, #0.0 700236c6: eef1 fa10 vmrs APSR_nzcv, fpscr 700236ca: f040 80d6 bne.w 7002387a 700236ce: eddd 6a30 vldr s13, [sp, #192] @ 0xc0 700236d2: ee77 6a66 vsub.f32 s13, s14, s13 700236d6: eef5 6a40 vcmp.f32 s13, #0.0 700236da: eef1 fa10 vmrs APSR_nzcv, fpscr 700236de: bf14 ite ne 700236e0: 2101 movne r1, #1 700236e2: 2100 moveq r1, #0 700236e4: f88d 1081 strb.w r1, [sp, #129] @ 0x81 700236e8: 2100 movs r1, #0 700236ea: e681 b.n 700233f0 700236ec: 3b05 subs r3, #5 700236ee: eddd 7a2b vldr s15, [sp, #172] @ 0xac 700236f2: ed9d 7a2c vldr s14, [sp, #176] @ 0xb0 700236f6: 2b03 cmp r3, #3 700236f8: d80b bhi.n 70023712 700236fa: ee77 7aa7 vadd.f32 s15, s15, s15 700236fe: ed9d 6a2d vldr s12, [sp, #180] @ 0xb4 70023702: ee37 7a07 vadd.f32 s14, s14, s14 70023706: eddd 6a2e vldr s13, [sp, #184] @ 0xb8 7002370a: ee77 7ac6 vsub.f32 s15, s15, s12 7002370e: ee37 7a66 vsub.f32 s14, s14, s13 70023712: f8db 3000 ldr.w r3, [fp] 70023716: ed8d 7a28 vstr s14, [sp, #160] @ 0xa0 7002371a: edcd 7a27 vstr s15, [sp, #156] @ 0x9c 7002371e: edcd 7a2d vstr s15, [sp, #180] @ 0xb4 70023722: ed8d 7a2e vstr s14, [sp, #184] @ 0xb8 70023726: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7002372a: 2a00 cmp r2, #0 7002372c: d0a3 beq.n 70023676 7002372e: edd3 6a3b vldr s13, [r3, #236] @ 0xec 70023732: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 70023736: ee67 6aa6 vmul.f32 s13, s15, s13 7002373a: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 7002373e: ee27 6a06 vmul.f32 s12, s14, s12 70023742: ee76 6a86 vadd.f32 s13, s13, s12 70023746: ee76 6aa5 vadd.f32 s13, s13, s11 7002374a: edcd 6a27 vstr s13, [sp, #156] @ 0x9c 7002374e: edd3 5a3e vldr s11, [r3, #248] @ 0xf8 70023752: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 70023756: ee67 7aa5 vmul.f32 s15, s15, s11 7002375a: edd3 6a40 vldr s13, [r3, #256] @ 0x100 7002375e: ee27 7a06 vmul.f32 s14, s14, s12 70023762: ee77 7a87 vadd.f32 s15, s15, s14 70023766: ee77 7aa6 vadd.f32 s15, s15, s13 7002376a: edcd 7a28 vstr s15, [sp, #160] @ 0xa0 7002376e: e782 b.n 70023676 70023770: edd1 7a00 vldr s15, [r1] 70023774: 1cbb adds r3, r7, #2 70023776: 9021 str r0, [sp, #132] @ 0x84 70023778: edcd 7a27 vstr s15, [sp, #156] @ 0x9c 7002377c: ed91 7a01 vldr s14, [r1, #4] 70023780: 9321 str r3, [sp, #132] @ 0x84 70023782: 1cfb adds r3, r7, #3 70023784: ed8d 7a28 vstr s14, [sp, #160] @ 0xa0 70023788: 3704 adds r7, #4 7002378a: ed91 6a02 vldr s12, [r1, #8] 7002378e: 9321 str r3, [sp, #132] @ 0x84 70023790: ed8d 6a29 vstr s12, [sp, #164] @ 0xa4 70023794: edd1 6a03 vldr s13, [r1, #12] 70023798: 9721 str r7, [sp, #132] @ 0x84 7002379a: edcd 6a2a vstr s13, [sp, #168] @ 0xa8 7002379e: f1ba 0f00 cmp.w sl, #0 700237a2: f43f af28 beq.w 700235f6 700237a6: ed9d 5a2b vldr s10, [sp, #172] @ 0xac 700237aa: eddd 5a2c vldr s11, [sp, #176] @ 0xb0 700237ae: ee77 7a85 vadd.f32 s15, s15, s10 700237b2: ee37 7a25 vadd.f32 s14, s14, s11 700237b6: ee36 6a05 vadd.f32 s12, s12, s10 700237ba: ee76 6aa5 vadd.f32 s13, s13, s11 700237be: edcd 7a27 vstr s15, [sp, #156] @ 0x9c 700237c2: ed8d 7a28 vstr s14, [sp, #160] @ 0xa0 700237c6: ed8d 6a29 vstr s12, [sp, #164] @ 0xa4 700237ca: edcd 6a2a vstr s13, [sp, #168] @ 0xa8 700237ce: e712 b.n 700235f6 700237d0: edd1 7a00 vldr s15, [r1] 700237d4: 3702 adds r7, #2 700237d6: 9021 str r0, [sp, #132] @ 0x84 700237d8: edcd 7a27 vstr s15, [sp, #156] @ 0x9c 700237dc: ed91 7a01 vldr s14, [r1, #4] 700237e0: 9721 str r7, [sp, #132] @ 0x84 700237e2: ed8d 7a28 vstr s14, [sp, #160] @ 0xa0 700237e6: f1ba 0f00 cmp.w sl, #0 700237ea: d00b beq.n 70023804 700237ec: ed9d 6a2b vldr s12, [sp, #172] @ 0xac 700237f0: eddd 6a2c vldr s13, [sp, #176] @ 0xb0 700237f4: ee77 7a86 vadd.f32 s15, s15, s12 700237f8: ee37 7a26 vadd.f32 s14, s14, s13 700237fc: edcd 7a27 vstr s15, [sp, #156] @ 0x9c 70023800: ed8d 7a28 vstr s14, [sp, #160] @ 0xa0 70023804: f8db 3000 ldr.w r3, [fp] 70023808: edcd 7a2d vstr s15, [sp, #180] @ 0xb4 7002380c: ed8d 7a2e vstr s14, [sp, #184] @ 0xb8 70023810: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70023814: 2a00 cmp r2, #0 70023816: f43f af2b beq.w 70023670 7002381a: edd3 6a3b vldr s13, [r3, #236] @ 0xec 7002381e: ea4f 0c87 mov.w ip, r7, lsl #2 70023822: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 70023826: 1c78 adds r0, r7, #1 70023828: ee67 6aa6 vmul.f32 s13, s15, s13 7002382c: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 70023830: ee27 6a06 vmul.f32 s12, s14, s12 70023834: ee76 6a86 vadd.f32 s13, s13, s12 70023838: ee76 6aa5 vadd.f32 s13, s13, s11 7002383c: edcd 6a27 vstr s13, [sp, #156] @ 0x9c 70023840: edd3 5a3e vldr s11, [r3, #248] @ 0xf8 70023844: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 70023848: ee67 7aa5 vmul.f32 s15, s15, s11 7002384c: edd3 6a40 vldr s13, [r3, #256] @ 0x100 70023850: ee27 7a06 vmul.f32 s14, s14, s12 70023854: ee77 7a87 vadd.f32 s15, s15, s14 70023858: ee77 7aa6 vadd.f32 s15, s15, s13 7002385c: edcd 7a28 vstr s15, [sp, #160] @ 0xa0 70023860: e709 b.n 70023676 70023862: f8d4 c00c ldr.w ip, [r4, #12] 70023866: 4461 add r1, ip 70023868: 44bc add ip, r7 7002386a: edd1 7a00 vldr s15, [r1] 7002386e: 9021 str r0, [sp, #132] @ 0x84 70023870: edcd 7a25 vstr s15, [sp, #148] @ 0x94 70023874: ed9c 7a00 vldr s14, [ip] 70023878: e641 b.n 700234fe 7002387a: 2101 movs r1, #1 7002387c: e732 b.n 700236e4 7002387e: 2a00 cmp r2, #0 70023880: f43f ae16 beq.w 700234b0 70023884: f893 107c ldrb.w r1, [r3, #124] @ 0x7c 70023888: 2900 cmp r1, #0 7002388a: f43f ae11 beq.w 700234b0 7002388e: f89d 2080 ldrb.w r2, [sp, #128] @ 0x80 70023892: 2a00 cmp r2, #0 70023894: f040 835e bne.w 70023f54 70023898: ed9d 7a2f vldr s14, [sp, #188] @ 0xbc 7002389c: eddd 7a30 vldr s15, [sp, #192] @ 0xc0 700238a0: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 700238a4: b1da cbz r2, 700238de 700238a6: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 700238aa: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 700238ae: edd3 6a3b vldr s13, [r3, #236] @ 0xec 700238b2: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 700238b6: ee67 6a26 vmul.f32 s13, s14, s13 700238ba: ee27 6a86 vmul.f32 s12, s15, s12 700238be: ee27 7a05 vmul.f32 s14, s14, s10 700238c2: ed93 5a3d vldr s10, [r3, #244] @ 0xf4 700238c6: ee67 7aa5 vmul.f32 s15, s15, s11 700238ca: edd3 5a40 vldr s11, [r3, #256] @ 0x100 700238ce: ee76 6a86 vadd.f32 s13, s13, s12 700238d2: ee77 7a27 vadd.f32 s15, s14, s15 700238d6: ee36 7a85 vadd.f32 s14, s13, s10 700238da: ee77 7aa5 vadd.f32 s15, s15, s11 700238de: a918 add r1, sp, #96 @ 0x60 700238e0: a823 add r0, sp, #140 @ 0x8c 700238e2: ed8d 7a18 vstr s14, [sp, #96] @ 0x60 700238e6: edcd 7a19 vstr s15, [sp, #100] @ 0x64 700238ea: f7fb f8eb bl 7001eac4 700238ee: 4603 mov r3, r0 700238f0: 2800 cmp r0, #0 700238f2: f040 840e bne.w 70024112 700238f6: f8db 3000 ldr.w r3, [fp] 700238fa: 9a21 ldr r2, [sp, #132] @ 0x84 700238fc: e5d8 b.n 700234b0 700238fe: eeb0 7a48 vmov.f32 s14, s16 70023902: eddf 7ad1 vldr s15, [pc, #836] @ 70023c48 70023906: e568 b.n 700233da 70023908: f8d3 5094 ldr.w r5, [r3, #148] @ 0x94 7002390c: 2d00 cmp r5, #0 7002390e: f000 8263 beq.w 70023dd8 70023912: 2000 movs r0, #0 70023914: 2508 movs r5, #8 70023916: f7f4 fa09 bl 70017d2c 7002391a: f8db 3000 ldr.w r3, [fp] 7002391e: 2002 movs r0, #2 70023920: f8d3 6094 ldr.w r6, [r3, #148] @ 0x94 70023924: 8a32 ldrh r2, [r6, #16] 70023926: 8a73 ldrh r3, [r6, #18] 70023928: 68f1 ldr r1, [r6, #12] 7002392a: 9502 str r5, [sp, #8] 7002392c: 6975 ldr r5, [r6, #20] 7002392e: 9501 str r5, [sp, #4] 70023930: 7f35 ldrb r5, [r6, #28] 70023932: 9500 str r5, [sp, #0] 70023934: f7f4 fb08 bl 70017f48 70023938: f8d8 3000 ldr.w r3, [r8] 7002393c: 2034 movs r0, #52 @ 0x34 7002393e: 8a19 ldrh r1, [r3, #16] 70023940: f041 6110 orr.w r1, r1, #150994944 @ 0x9000000 70023944: f005 ff8c bl 70029860 70023948: 2202 movs r2, #2 7002394a: 2103 movs r1, #3 7002394c: f44f 6080 mov.w r0, #1024 @ 0x400 70023950: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70023954: f006 f934 bl 70029bc0 70023958: f8db 3000 ldr.w r3, [fp] 7002395c: edd3 0a27 vldr s1, [r3, #156] @ 0x9c 70023960: ed93 0a26 vldr s0, [r3, #152] @ 0x98 70023964: f7f5 fd84 bl 70019470 70023968: edd4 3a0f vldr s7, [r4, #60] @ 0x3c 7002396c: ed94 3a0e vldr s6, [r4, #56] @ 0x38 70023970: edd4 2a0d vldr s5, [r4, #52] @ 0x34 70023974: ed94 2a0c vldr s4, [r4, #48] @ 0x30 70023978: edd4 1a0b vldr s3, [r4, #44] @ 0x2c 7002397c: ed94 1a0a vldr s2, [r4, #40] @ 0x28 70023980: edd4 0a09 vldr s1, [r4, #36] @ 0x24 70023984: ed94 0a08 vldr s0, [r4, #32] 70023988: f7f5 fee0 bl 7001974c 7002398c: f8d8 3000 ldr.w r3, [r8] 70023990: 2034 movs r0, #52 @ 0x34 70023992: 8a19 ldrh r1, [r3, #16] 70023994: f041 6100 orr.w r1, r1, #134217728 @ 0x8000000 70023998: f005 ff62 bl 70029860 7002399c: f7ff b8f1 b.w 70022b82 700239a0: f44f 0080 mov.w r0, #4194304 @ 0x400000 700239a4: f003 ffd4 bl 70027950 700239a8: f44f 0380 mov.w r3, #4194304 @ 0x400000 700239ac: 9305 str r3, [sp, #20] 700239ae: f7fe bbda b.w 70022166 700239b2: f7f4 f9ff bl 70017db4 700239b6: 9b06 ldr r3, [sp, #24] 700239b8: eef6 6a00 vmov.f32 s13, #96 @ 0x3f000000 0.5 700239bc: 4605 mov r5, r0 700239be: edd3 9a31 vldr s19, [r3, #196] @ 0xc4 700239c2: f8d8 3000 ldr.w r3, [r8] 700239c6: eef5 9ac0 vcmpe.f32 s19, #0.0 700239ca: edd3 7a04 vldr s15, [r3, #16] 700239ce: ed93 7a05 vldr s14, [r3, #20] 700239d2: eef1 fa10 vmrs APSR_nzcv, fpscr 700239d6: 9b06 ldr r3, [sp, #24] 700239d8: eef8 7ae7 vcvt.f32.s32 s15, s15 700239dc: ed93 9a32 vldr s18, [r3, #200] @ 0xc8 700239e0: eeb8 7ac7 vcvt.f32.s32 s14, s14 700239e4: bf48 it mi 700239e6: eddf 9a98 vldrmi s19, [pc, #608] @ 70023c48 700239ea: eef4 7a69 vcmp.f32 s15, s19 700239ee: eef1 fa10 vmrs APSR_nzcv, fpscr 700239f2: eeb5 9ac0 vcmpe.f32 s18, #0.0 700239f6: bf48 it mi 700239f8: eef0 9a67 vmovmi.f32 s19, s15 700239fc: eef1 fa10 vmrs APSR_nzcv, fpscr 70023a00: ee77 7ae9 vsub.f32 s15, s15, s19 70023a04: bf48 it mi 70023a06: ed9f 9a90 vldrmi s18, [pc, #576] @ 70023c48 70023a0a: eeb4 7a49 vcmp.f32 s14, s18 70023a0e: ee37 8aa6 vadd.f32 s16, s15, s13 70023a12: eef1 fa10 vmrs APSR_nzcv, fpscr 70023a16: eeb5 8ac0 vcmpe.f32 s16, #0.0 70023a1a: bf48 it mi 70023a1c: eeb0 9a47 vmovmi.f32 s18, s14 70023a20: eef1 fa10 vmrs APSR_nzcv, fpscr 70023a24: ee37 7a49 vsub.f32 s14, s14, s18 70023a28: ee77 8a26 vadd.f32 s17, s14, s13 70023a2c: f340 80d0 ble.w 70023bd0 70023a30: eef5 8ac0 vcmpe.f32 s17, #0.0 70023a34: eef1 fa10 vmrs APSR_nzcv, fpscr 70023a38: f300 81e0 bgt.w 70023dfc 70023a3c: ee39 aaa6 vadd.f32 s20, s19, s13 70023a40: eeb5 aac0 vcmpe.f32 s20, #0.0 70023a44: eef1 fa10 vmrs APSR_nzcv, fpscr 70023a48: f340 8289 ble.w 70023f5e 70023a4c: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 70023a50: ee39 9a27 vadd.f32 s18, s18, s15 70023a54: eeb5 9ac0 vcmpe.f32 s18, #0.0 70023a58: eef1 fa10 vmrs APSR_nzcv, fpscr 70023a5c: f300 8210 bgt.w 70023e80 70023a60: f7f4 f9a8 bl 70017db4 70023a64: 2800 cmp r0, #0 70023a66: f000 80a8 beq.w 70023bba 70023a6a: f647 73ff movw r3, #32767 @ 0x7fff 70023a6e: 2100 movs r1, #0 70023a70: 461a mov r2, r3 70023a72: 4608 mov r0, r1 70023a74: f7f4 f986 bl 70017d84 70023a78: f7fe bb75 b.w 70022166 70023a7c: ee75 7a05 vadd.f32 s15, s10, s10 70023a80: ed9d 6a2d vldr s12, [sp, #180] @ 0xb4 70023a84: ee35 7aa5 vadd.f32 s14, s11, s11 70023a88: eddd 6a2e vldr s13, [sp, #184] @ 0xb8 70023a8c: ee77 7ac6 vsub.f32 s15, s15, s12 70023a90: ee37 7a66 vsub.f32 s14, s14, s13 70023a94: e595 b.n 700235c2 70023a96: 2000 movs r0, #0 70023a98: f7f5 fba8 bl 700191ec 70023a9c: 2203 movs r2, #3 70023a9e: f8db 3000 ldr.w r3, [fp] 70023aa2: f883 207f strb.w r2, [r3, #127] @ 0x7f 70023aa6: f8d8 2000 ldr.w r2, [r8] 70023aaa: f7fe be42 b.w 70022732 70023aae: eef1 5a65 vneg.f32 s11, s11 70023ab2: eeb0 4a67 vmov.f32 s8, s15 70023ab6: eeb0 6a67 vmov.f32 s12, s15 70023aba: eeb0 7a67 vmov.f32 s14, s15 70023abe: eef0 6a67 vmov.f32 s13, s15 70023ac2: f7ff b941 b.w 70022d48 70023ac6: 2001 movs r0, #1 70023ac8: f7f5 fb90 bl 700191ec 70023acc: f8db 2000 ldr.w r2, [fp] 70023ad0: f7ff b873 b.w 70022bba 70023ad4: edcd 7a25 vstr s15, [sp, #148] @ 0x94 70023ad8: ed91 7a00 vldr s14, [r1] 70023adc: 9721 str r7, [sp, #132] @ 0x84 70023ade: ed8d 7a26 vstr s14, [sp, #152] @ 0x98 70023ae2: e5e5 b.n 700236b0 70023ae4: aa32 add r2, sp, #200 @ 0xc8 70023ae6: 1c45 adds r5, r0, #1 70023ae8: eb02 06c6 add.w r6, r2, r6, lsl #3 70023aec: 4a57 ldr r2, [pc, #348] @ (70023c4c ) 70023aee: ea4b 0202 orr.w r2, fp, r2 70023af2: f846 2c48 str.w r2, [r6, #-72] 70023af6: 2200 movs r2, #0 70023af8: f846 2c44 str.w r2, [r6, #-68] 70023afc: 4606 mov r6, r0 70023afe: f7ff b891 b.w 70022c24 70023b02: 9806 ldr r0, [sp, #24] 70023b04: f890 002c ldrb.w r0, [r0, #44] @ 0x2c 70023b08: 2801 cmp r0, #1 70023b0a: f47f a873 bne.w 70022bf4 70023b0e: 9223 str r2, [sp, #140] @ 0x8c 70023b10: 2704 movs r7, #4 70023b12: 4a4f ldr r2, [pc, #316] @ (70023c50 ) 70023b14: 2003 movs r0, #3 70023b16: 9222 str r2, [sp, #136] @ 0x88 70023b18: f7ff b86f b.w 70022bfa 70023b1c: f8d3 1124 ldr.w r1, [r3, #292] @ 0x124 70023b20: f001 417f and.w r1, r1, #4278190080 @ 0xff000000 70023b24: f1b1 4f7f cmp.w r1, #4278190080 @ 0xff000000 70023b28: f47f a967 bne.w 70022dfa 70023b2c: f7ff b983 b.w 70022e36 70023b30: f7fd fc12 bl 70021358 70023b34: 4606 mov r6, r0 70023b36: 2800 cmp r0, #0 70023b38: f43e affe beq.w 70022b38 70023b3c: f8db 3000 ldr.w r3, [fp] 70023b40: e9c3 5545 strd r5, r5, [r3, #276] @ 0x114 70023b44: f003 ff04 bl 70027950 70023b48: 4630 mov r0, r6 70023b4a: 9605 str r6, [sp, #20] 70023b4c: f7ff bab1 b.w 700230b2 70023b50: 2003 movs r0, #3 70023b52: f005 ff01 bl 70029958 70023b56: 4607 mov r7, r0 70023b58: b1e0 cbz r0, 70023b94 70023b5a: 4b3e ldr r3, [pc, #248] @ (70023c54 ) 70023b5c: 4632 mov r2, r6 70023b5e: f8df c0fc ldr.w ip, [pc, #252] @ 70023c5c 70023b62: a820 add r0, sp, #128 @ 0x80 70023b64: 2101 movs r1, #1 70023b66: e9cd c320 strd ip, r3, [sp, #128] @ 0x80 70023b6a: f7f5 fcb5 bl 700194d8 70023b6e: f44f 73e8 mov.w r3, #464 @ 0x1d0 70023b72: 4a39 ldr r2, [pc, #228] @ (70023c58 ) 70023b74: f44f 7e8e mov.w lr, #284 @ 0x11c 70023b78: 603b str r3, [r7, #0] 70023b7a: f8db 3000 ldr.w r3, [fp] 70023b7e: 607d str r5, [r7, #4] 70023b80: e9c7 e202 strd lr, r2, [r7, #8] 70023b84: f44f 7296 mov.w r2, #300 @ 0x12c 70023b88: 613a str r2, [r7, #16] 70023b8a: f8d3 3124 ldr.w r3, [r3, #292] @ 0x124 70023b8e: 617b str r3, [r7, #20] 70023b90: f7ff b87f b.w 70022c92 70023b94: f8db 3000 ldr.w r3, [fp] 70023b98: f44f 7000 mov.w r0, #512 @ 0x200 70023b9c: e9c3 7745 strd r7, r7, [r3, #276] @ 0x114 70023ba0: f003 fed6 bl 70027950 70023ba4: f44f 7300 mov.w r3, #512 @ 0x200 70023ba8: 4618 mov r0, r3 70023baa: 9305 str r3, [sp, #20] 70023bac: f7ff ba81 b.w 700230b2 70023bb0: 2504 movs r5, #4 70023bb2: 2303 movs r3, #3 70023bb4: 2202 movs r2, #2 70023bb6: f7ff bb31 b.w 7002321c 70023bba: f7f4 f91d bl 70017df8 70023bbe: f7fe bad2 b.w 70022166 70023bc2: 2001 movs r0, #1 70023bc4: f7f5 fb26 bl 70019214 70023bc8: f8db 2000 ldr.w r2, [fp] 70023bcc: f7fe bff5 b.w 70022bba 70023bd0: ee39 aaa6 vadd.f32 s20, s19, s13 70023bd4: eeb5 aac0 vcmpe.f32 s20, #0.0 70023bd8: eef1 fa10 vmrs APSR_nzcv, fpscr 70023bdc: f77f af40 ble.w 70023a60 70023be0: eef5 8ac0 vcmpe.f32 s17, #0.0 70023be4: eef1 fa10 vmrs APSR_nzcv, fpscr 70023be8: f77f af30 ble.w 70023a4c 70023bec: 9b06 ldr r3, [sp, #24] 70023bee: f103 0058 add.w r0, r3, #88 @ 0x58 70023bf2: f7f5 fb61 bl 700192b8 70023bf6: eefd 7ac9 vcvt.s32.f32 s15, s18 70023bfa: eebc 7aca vcvt.u32.f32 s14, s20 70023bfe: eefc 8ae8 vcvt.u32.f32 s17, s17 70023c02: ee17 1a90 vmov r1, s15 70023c06: ee17 2a10 vmov r2, s14 70023c0a: ee18 3a90 vmov r3, s17 70023c0e: 2d00 cmp r5, #0 70023c10: f000 81e0 beq.w 70023fd4 70023c14: 2000 movs r0, #0 70023c16: f7f4 f8b5 bl 70017d84 70023c1a: edd4 3a0f vldr s7, [r4, #60] @ 0x3c 70023c1e: ed94 3a0e vldr s6, [r4, #56] @ 0x38 70023c22: edd4 2a0d vldr s5, [r4, #52] @ 0x34 70023c26: ed94 2a0c vldr s4, [r4, #48] @ 0x30 70023c2a: edd4 1a0b vldr s3, [r4, #44] @ 0x2c 70023c2e: ed94 1a0a vldr s2, [r4, #40] @ 0x28 70023c32: edd4 0a09 vldr s1, [r4, #36] @ 0x24 70023c36: ed94 0a08 vldr s0, [r4, #32] 70023c3a: f7f5 fd87 bl 7001974c 70023c3e: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 70023c42: ee39 9a27 vadd.f32 s18, s18, s15 70023c46: e705 b.n 70023a54 70023c48: 00000000 .word 0x00000000 70023c4c: 184c1001 .word 0x184c1001 70023c50: 0800110b .word 0x0800110b 70023c54: 8081a046 .word 0x8081a046 70023c58: 941fdc00 .word 0x941fdc00 70023c5c: 0a980002 .word 0x0a980002 70023c60: f89d 3081 ldrb.w r3, [sp, #129] @ 0x81 70023c64: 2b01 cmp r3, #1 70023c66: f47e af67 bne.w 70022b38 70023c6a: f89d 3080 ldrb.w r3, [sp, #128] @ 0x80 70023c6e: 2b00 cmp r3, #0 70023c70: f040 8288 bne.w 70024184 70023c74: ed9d 1a2f vldr s2, [sp, #188] @ 0xbc 70023c78: eddd 1a30 vldr s3, [sp, #192] @ 0xc0 70023c7c: f8db 3000 ldr.w r3, [fp] 70023c80: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70023c84: b1ba cbz r2, 70023cb6 70023c86: ed93 7a3f vldr s14, [r3, #252] @ 0xfc 70023c8a: edd3 7a3c vldr s15, [r3, #240] @ 0xf0 70023c8e: ed93 6a3b vldr s12, [r3, #236] @ 0xec 70023c92: ee61 7aa7 vmul.f32 s15, s3, s15 70023c96: edd3 5a3e vldr s11, [r3, #248] @ 0xf8 70023c9a: ee61 1a87 vmul.f32 s3, s3, s14 70023c9e: edd3 6a40 vldr s13, [r3, #256] @ 0x100 70023ca2: ed93 7a3d vldr s14, [r3, #244] @ 0xf4 70023ca6: ee41 7a06 vmla.f32 s15, s2, s12 70023caa: ee41 1a25 vmla.f32 s3, s2, s11 70023cae: ee37 1a87 vadd.f32 s2, s15, s14 70023cb2: ee71 1aa6 vadd.f32 s3, s3, s13 70023cb6: eddd 0a26 vldr s1, [sp, #152] @ 0x98 70023cba: ed9d 0a25 vldr s0, [sp, #148] @ 0x94 70023cbe: f7f7 fcd7 bl 7001b670 70023cc2: 4603 mov r3, r0 70023cc4: 2800 cmp r0, #0 70023cc6: f43e af37 beq.w 70022b38 70023cca: f7ff bbd4 b.w 70023476 70023cce: 4629 mov r1, r5 70023cd0: f44f 70e8 mov.w r0, #464 @ 0x1d0 70023cd4: f005 fdc4 bl 70029860 70023cd8: f8df c374 ldr.w ip, [pc, #884] @ 70024050 70023cdc: ae0c add r6, sp, #48 @ 0x30 70023cde: f10d 0a48 add.w sl, sp, #72 @ 0x48 70023ce2: f10d 0e80 add.w lr, sp, #128 @ 0x80 70023ce6: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 70023cea: af18 add r7, sp, #96 @ 0x60 70023cec: e8bc 000f ldmia.w ip!, {r0, r1, r2, r3} 70023cf0: c60f stmia r6!, {r0, r1, r2, r3} 70023cf2: f10c 0208 add.w r2, ip, #8 70023cf6: 4633 mov r3, r6 70023cf8: f10c 0620 add.w r6, ip, #32 70023cfc: f10c 0940 add.w r9, ip, #64 @ 0x40 70023d00: e89c 0003 ldmia.w ip, {r0, r1} 70023d04: 9607 str r6, [sp, #28] 70023d06: 4616 mov r6, r2 70023d08: e883 0003 stmia.w r3, {r0, r1} 70023d0c: ce0f ldmia r6!, {r0, r1, r2, r3} 70023d0e: e8aa 000f stmia.w sl!, {r0, r1, r2, r3} 70023d12: e896 0003 ldmia.w r6, {r0, r1} 70023d16: 9e07 ldr r6, [sp, #28] 70023d18: e88a 0003 stmia.w sl, {r0, r1} 70023d1c: ce0f ldmia r6!, {r0, r1, r2, r3} 70023d1e: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} 70023d22: e896 000f ldmia.w r6, {r0, r1, r2, r3} 70023d26: 9e06 ldr r6, [sp, #24] 70023d28: ed96 7a34 vldr s14, [r6, #208] @ 0xd0 70023d2c: eeb4 7ae7 vcmpe.f32 s14, s15 70023d30: e88e 000f stmia.w lr, {r0, r1, r2, r3} 70023d34: e8b9 000f ldmia.w r9!, {r0, r1, r2, r3} 70023d38: eef1 fa10 vmrs APSR_nzcv, fpscr 70023d3c: c70f stmia r7!, {r0, r1, r2, r3} 70023d3e: e899 0003 ldmia.w r9, {r0, r1} 70023d42: e887 0003 stmia.w r7, {r0, r1} 70023d46: f2c0 8115 blt.w 70023f74 70023d4a: f896 30d5 ldrb.w r3, [r6, #213] @ 0xd5 70023d4e: 2b02 cmp r3, #2 70023d50: f000 81fd beq.w 7002414e 70023d54: 2308 movs r3, #8 70023d56: 4eb8 ldr r6, [pc, #736] @ (70024038 ) 70023d58: 2102 movs r1, #2 70023d5a: 9309 str r3, [sp, #36] @ 0x24 70023d5c: 4bb7 ldr r3, [pc, #732] @ (7002403c ) 70023d5e: f015 6280 ands.w r2, r5, #67108864 @ 0x4000000 70023d62: 9809 ldr r0, [sp, #36] @ 0x24 70023d64: ea4b 0303 orr.w r3, fp, r3 70023d68: f040 815f bne.w 7002402a 70023d6c: ad12 add r5, sp, #72 @ 0x48 70023d6e: 9314 str r3, [sp, #80] @ 0x50 70023d70: 4428 add r0, r5 70023d72: f7f5 fbb1 bl 700194d8 70023d76: 4630 mov r0, r6 70023d78: f7f5 fbc6 bl 70019508 70023d7c: f7fe bf89 b.w 70022c92 70023d80: 4baf ldr r3, [pc, #700] @ (70024040 ) 70023d82: ae20 add r6, sp, #128 @ 0x80 70023d84: cb0f ldmia r3, {r0, r1, r2, r3} 70023d86: e886 000f stmia.w r6, {r0, r1, r2, r3} 70023d8a: 2201 movs r2, #1 70023d8c: 9e09 ldr r6, [sp, #36] @ 0x24 70023d8e: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70023d92: 4631 mov r1, r6 70023d94: 4610 mov r0, r2 70023d96: f005 ff13 bl 70029bc0 70023d9a: f44f 403c mov.w r0, #48128 @ 0xbc00 70023d9e: f7f5 fbb3 bl 70019508 70023da2: 4632 mov r2, r6 70023da4: 4629 mov r1, r5 70023da6: a820 add r0, sp, #128 @ 0x80 70023da8: f7f5 fb96 bl 700194d8 70023dac: f8d8 3000 ldr.w r3, [r8] 70023db0: edd3 3a0e vldr s7, [r3, #56] @ 0x38 70023db4: ed93 3a0d vldr s6, [r3, #52] @ 0x34 70023db8: edd3 2a0c vldr s5, [r3, #48] @ 0x30 70023dbc: ed93 2a0b vldr s4, [r3, #44] @ 0x2c 70023dc0: edd3 1a0a vldr s3, [r3, #40] @ 0x28 70023dc4: ed93 1a09 vldr s2, [r3, #36] @ 0x24 70023dc8: edd3 0a08 vldr s1, [r3, #32] 70023dcc: ed93 0a07 vldr s0, [r3, #28] 70023dd0: f7f5 fcbc bl 7001974c 70023dd4: f7fe bec6 b.w 70022b64 70023dd8: f44f 6000 mov.w r0, #2048 @ 0x800 70023ddc: f003 fdb8 bl 70027950 70023de0: f8db 3000 ldr.w r3, [fp] 70023de4: f44f 6000 mov.w r0, #2048 @ 0x800 70023de8: e9c3 5545 strd r5, r5, [r3, #276] @ 0x114 70023dec: f003 fdb0 bl 70027950 70023df0: f44f 6300 mov.w r3, #2048 @ 0x800 70023df4: 4618 mov r0, r3 70023df6: 9305 str r3, [sp, #20] 70023df8: f7ff b8fb b.w 70022ff2 70023dfc: 9b06 ldr r3, [sp, #24] 70023dfe: f103 0034 add.w r0, r3, #52 @ 0x34 70023e02: f7f5 fa59 bl 700192b8 70023e06: eefd 7ae9 vcvt.s32.f32 s15, s19 70023e0a: eebd 7ac9 vcvt.s32.f32 s14, s18 70023e0e: eebc 8ac8 vcvt.u32.f32 s16, s16 70023e12: eefc 8ae8 vcvt.u32.f32 s17, s17 70023e16: ee17 0a90 vmov r0, s15 70023e1a: ee17 1a10 vmov r1, s14 70023e1e: ee18 2a10 vmov r2, s16 70023e22: ee18 3a90 vmov r3, s17 70023e26: 2d00 cmp r5, #0 70023e28: f000 80e7 beq.w 70023ffa 70023e2c: f7f3 ffaa bl 70017d84 70023e30: edd4 3a0f vldr s7, [r4, #60] @ 0x3c 70023e34: ed94 3a0e vldr s6, [r4, #56] @ 0x38 70023e38: edd4 2a0d vldr s5, [r4, #52] @ 0x34 70023e3c: ed94 2a0c vldr s4, [r4, #48] @ 0x30 70023e40: edd4 1a0b vldr s3, [r4, #44] @ 0x2c 70023e44: ed94 1a0a vldr s2, [r4, #40] @ 0x28 70023e48: edd4 0a09 vldr s1, [r4, #36] @ 0x24 70023e4c: ed94 0a08 vldr s0, [r4, #32] 70023e50: f7f5 fc7c bl 7001974c 70023e54: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 70023e58: f8d8 2000 ldr.w r2, [r8] 70023e5c: ee39 aaa7 vadd.f32 s20, s19, s15 70023e60: 6953 ldr r3, [r2, #20] 70023e62: eeb5 aac0 vcmpe.f32 s20, #0.0 70023e66: eef1 fa10 vmrs APSR_nzcv, fpscr 70023e6a: f340 80ce ble.w 7002400a 70023e6e: ee07 3a10 vmov s14, r3 70023e72: eef8 8ac7 vcvt.f32.s32 s17, s14 70023e76: ee78 8ac9 vsub.f32 s17, s17, s18 70023e7a: ee78 8aa7 vadd.f32 s17, s17, s15 70023e7e: e6af b.n 70023be0 70023e80: 9b06 ldr r3, [sp, #24] 70023e82: f103 007c add.w r0, r3, #124 @ 0x7c 70023e86: f7f5 fa17 bl 700192b8 70023e8a: eebc aaca vcvt.u32.f32 s20, s20 70023e8e: eebc 9ac9 vcvt.u32.f32 s18, s18 70023e92: 2d00 cmp r5, #0 70023e94: f000 80a8 beq.w 70023fe8 70023e98: 2100 movs r1, #0 70023e9a: ee19 3a10 vmov r3, s18 70023e9e: ee1a 2a10 vmov r2, s20 70023ea2: 4608 mov r0, r1 70023ea4: f7f3 ff6e bl 70017d84 70023ea8: edd4 3a0f vldr s7, [r4, #60] @ 0x3c 70023eac: ed94 3a0e vldr s6, [r4, #56] @ 0x38 70023eb0: edd4 2a0d vldr s5, [r4, #52] @ 0x34 70023eb4: ed94 2a0c vldr s4, [r4, #48] @ 0x30 70023eb8: edd4 1a0b vldr s3, [r4, #44] @ 0x2c 70023ebc: ed94 1a0a vldr s2, [r4, #40] @ 0x28 70023ec0: edd4 0a09 vldr s1, [r4, #36] @ 0x24 70023ec4: ed94 0a08 vldr s0, [r4, #32] 70023ec8: f7f5 fc40 bl 7001974c 70023ecc: f8d8 3000 ldr.w r3, [r8] 70023ed0: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 70023ed4: ed93 8a04 vldr s16, [r3, #16] 70023ed8: eeb8 8ac8 vcvt.f32.s32 s16, s16 70023edc: ee38 8a69 vsub.f32 s16, s16, s19 70023ee0: ee38 8a27 vadd.f32 s16, s16, s15 70023ee4: eeb5 8ac0 vcmpe.f32 s16, #0.0 70023ee8: eef1 fa10 vmrs APSR_nzcv, fpscr 70023eec: f77f adb8 ble.w 70023a60 70023ef0: 9806 ldr r0, [sp, #24] 70023ef2: 30a0 adds r0, #160 @ 0xa0 70023ef4: f7f5 f9e0 bl 700192b8 70023ef8: eebc 8ac8 vcvt.u32.f32 s16, s16 70023efc: eefd 9ae9 vcvt.s32.f32 s19, s19 70023f00: ee19 3a10 vmov r3, s18 70023f04: ee18 2a10 vmov r2, s16 70023f08: 2d00 cmp r5, #0 70023f0a: d067 beq.n 70023fdc 70023f0c: 2100 movs r1, #0 70023f0e: ee19 0a90 vmov r0, s19 70023f12: f7f3 ff37 bl 70017d84 70023f16: edd4 3a0f vldr s7, [r4, #60] @ 0x3c 70023f1a: ed94 3a0e vldr s6, [r4, #56] @ 0x38 70023f1e: edd4 2a0d vldr s5, [r4, #52] @ 0x34 70023f22: ed94 2a0c vldr s4, [r4, #48] @ 0x30 70023f26: edd4 1a0b vldr s3, [r4, #44] @ 0x2c 70023f2a: ed94 1a0a vldr s2, [r4, #40] @ 0x28 70023f2e: edd4 0a09 vldr s1, [r4, #36] @ 0x24 70023f32: ed94 0a08 vldr s0, [r4, #32] 70023f36: f7f5 fc09 bl 7001974c 70023f3a: e591 b.n 70023a60 70023f3c: f8db 2000 ldr.w r2, [fp] 70023f40: f44f 7000 mov.w r0, #512 @ 0x200 70023f44: e9c2 3345 strd r3, r3, [r2, #276] @ 0x114 70023f48: f003 fd02 bl 70027950 70023f4c: f44f 7300 mov.w r3, #512 @ 0x200 70023f50: f7ff ba9a b.w 70023488 70023f54: eddf 7a3b vldr s15, [pc, #236] @ 70024044 70023f58: eeb0 7a67 vmov.f32 s14, s15 70023f5c: e4a0 b.n 700238a0 70023f5e: ee39 9a26 vadd.f32 s18, s18, s13 70023f62: eeb5 9ac0 vcmpe.f32 s18, #0.0 70023f66: eef1 fa10 vmrs APSR_nzcv, fpscr 70023f6a: f77f ad79 ble.w 70023a60 70023f6e: eebc 9ac9 vcvt.u32.f32 s18, s18 70023f72: e7bd b.n 70023ef0 70023f74: f896 30d5 ldrb.w r3, [r6, #213] @ 0xd5 70023f78: 2b02 cmp r3, #2 70023f7a: f000 80f6 beq.w 7002416a 70023f7e: 2308 movs r3, #8 70023f80: 4e2d ldr r6, [pc, #180] @ (70024038 ) 70023f82: 4f31 ldr r7, [pc, #196] @ (70024048 ) 70023f84: f04f 0c03 mov.w ip, #3 70023f88: 2102 movs r1, #2 70023f8a: 9309 str r3, [sp, #36] @ 0x24 70023f8c: 4b2b ldr r3, [pc, #172] @ (7002403c ) 70023f8e: f015 6280 ands.w r2, r5, #67108864 @ 0x4000000 70023f92: 9809 ldr r0, [sp, #36] @ 0x24 70023f94: ea4b 0303 orr.w r3, fp, r3 70023f98: f040 80d0 bne.w 7002413c 70023f9c: ad18 add r5, sp, #96 @ 0x60 70023f9e: 931a str r3, [sp, #104] @ 0x68 70023fa0: 4428 add r0, r5 70023fa2: f7f5 fa99 bl 700194d8 70023fa6: 4630 mov r0, r6 70023fa8: f7f5 faae bl 70019508 70023fac: 9b06 ldr r3, [sp, #24] 70023fae: eddf 6a27 vldr s13, [pc, #156] @ 7002404c 70023fb2: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 70023fb6: edd3 7a34 vldr s15, [r3, #208] @ 0xd0 70023fba: ee67 7aa6 vmul.f32 s15, s15, s13 70023fbe: ee77 7a87 vadd.f32 s15, s15, s14 70023fc2: eefd 7ae7 vcvt.s32.f32 s15, s15 70023fc6: ee17 0a90 vmov r0, s15 70023fca: 0600 lsls r0, r0, #24 70023fcc: f006 f96e bl 7002a2ac 70023fd0: f7fe be5f b.w 70022c92 70023fd4: 4628 mov r0, r5 70023fd6: f7f3 fef7 bl 70017dc8 70023fda: e61e b.n 70023c1a 70023fdc: 4629 mov r1, r5 70023fde: ee19 0a90 vmov r0, s19 70023fe2: f7f3 fef1 bl 70017dc8 70023fe6: e796 b.n 70023f16 70023fe8: ee19 3a10 vmov r3, s18 70023fec: ee1a 2a10 vmov r2, s20 70023ff0: 4629 mov r1, r5 70023ff2: 4628 mov r0, r5 70023ff4: f7f3 fee8 bl 70017dc8 70023ff8: e756 b.n 70023ea8 70023ffa: f7f3 fee5 bl 70017dc8 70023ffe: e717 b.n 70023e30 70024000: f8db 3000 ldr.w r3, [fp] 70024004: 9a07 ldr r2, [sp, #28] 70024006: f7ff b84e b.w 700230a6 7002400a: ed92 8a04 vldr s16, [r2, #16] 7002400e: ee39 9a27 vadd.f32 s18, s18, s15 70024012: eeb8 8ac8 vcvt.f32.s32 s16, s16 70024016: ee38 8a69 vsub.f32 s16, s16, s19 7002401a: ee38 8a27 vadd.f32 s16, s16, s15 7002401e: eeb5 8ac0 vcmpe.f32 s16, #0.0 70024022: eef1 fa10 vmrs APSR_nzcv, fpscr 70024026: dc9c bgt.n 70023f62 70024028: e51a b.n 70023a60 7002402a: aa0c add r2, sp, #48 @ 0x30 7002402c: 930e str r3, [sp, #56] @ 0x38 7002402e: 4410 add r0, r2 70024030: 2200 movs r2, #0 70024032: f7f5 fa51 bl 700194d8 70024036: e69e b.n 70023d76 70024038: 941e8000 .word 0x941e8000 7002403c: 100c1183 .word 0x100c1183 70024040: 7003cf3c .word 0x7003cf3c 70024044: 00000000 .word 0x00000000 70024048: 941f8000 .word 0x941f8000 7002404c: 437f0000 .word 0x437f0000 70024050: 7003cf4c .word 0x7003cf4c 70024054: edde 7a00 vldr s15, [lr] 70024058: 9021 str r0, [sp, #132] @ 0x84 7002405a: eefd 7ae7 vcvt.s32.f32 s15, s15 7002405e: ee17 2a90 vmov r2, s15 70024062: 2a00 cmp r2, #0 70024064: 4611 mov r1, r2 70024066: bfb8 it lt 70024068: 1c51 addlt r1, r2, #1 7002406a: 2a01 cmp r2, #1 7002406c: ea4f 0161 mov.w r1, r1, asr #1 70024070: 910a str r1, [sp, #40] @ 0x28 70024072: f300 81dd bgt.w 70024430 70024076: eddd 6a2f vldr s13, [sp, #188] @ 0xbc 7002407a: ed9d 7a2b vldr s14, [sp, #172] @ 0xac 7002407e: eddd 7a30 vldr s15, [sp, #192] @ 0xc0 70024082: ee37 7a66 vsub.f32 s14, s14, s13 70024086: eeb5 7a40 vcmp.f32 s14, #0.0 7002408a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002408e: d109 bne.n 700240a4 70024090: ed9d 7a2c vldr s14, [sp, #176] @ 0xb0 70024094: ee37 7a67 vsub.f32 s14, s14, s15 70024098: eeb5 7a40 vcmp.f32 s14, #0.0 7002409c: eef1 fa10 vmrs APSR_nzcv, fpscr 700240a0: f000 81b2 beq.w 70024408 700240a4: aa25 add r2, sp, #148 @ 0x94 700240a6: edcd 6a2b vstr s13, [sp, #172] @ 0xac 700240aa: edcd 7a2c vstr s15, [sp, #176] @ 0xb0 700240ae: f8db 3000 ldr.w r3, [fp] 700240b2: e892 0003 ldmia.w r2, {r0, r1} 700240b6: aa23 add r2, sp, #140 @ 0x8c 700240b8: e882 0003 stmia.w r2, {r0, r1} 700240bc: edcd 6a25 vstr s13, [sp, #148] @ 0x94 700240c0: edcd 7a26 vstr s15, [sp, #152] @ 0x98 700240c4: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 700240c8: b1da cbz r2, 70024102 700240ca: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 700240ce: edd3 5a3b vldr s11, [r3, #236] @ 0xec 700240d2: ee27 7a87 vmul.f32 s14, s15, s14 700240d6: ed93 6a3d vldr s12, [r3, #244] @ 0xf4 700240da: ee06 7aa5 vmla.f32 s14, s13, s11 700240de: ee37 7a06 vadd.f32 s14, s14, s12 700240e2: ed8d 7a25 vstr s14, [sp, #148] @ 0x94 700240e6: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 700240ea: ed93 6a3e vldr s12, [r3, #248] @ 0xf8 700240ee: ee67 7aa5 vmul.f32 s15, s15, s11 700240f2: ed93 7a40 vldr s14, [r3, #256] @ 0x100 700240f6: ee46 7a86 vmla.f32 s15, s13, s12 700240fa: ee77 7a87 vadd.f32 s15, s15, s14 700240fe: edcd 7a26 vstr s15, [sp, #152] @ 0x98 70024102: a925 add r1, sp, #148 @ 0x94 70024104: a823 add r0, sp, #140 @ 0x8c 70024106: f7fa fcdd bl 7001eac4 7002410a: 4603 mov r3, r0 7002410c: 2800 cmp r0, #0 7002410e: f000 817b beq.w 70024408 70024112: f8db 2000 ldr.w r2, [fp] 70024116: 2100 movs r1, #0 70024118: 9305 str r3, [sp, #20] 7002411a: e9c2 1145 strd r1, r1, [r2, #276] @ 0x114 7002411e: f003 fc17 bl 70027950 70024122: 9b05 ldr r3, [sp, #20] 70024124: f8db 2000 ldr.w r2, [fp] 70024128: 2100 movs r1, #0 7002412a: 9305 str r3, [sp, #20] 7002412c: 4618 mov r0, r3 7002412e: e9c2 1145 strd r1, r1, [r2, #276] @ 0x114 70024132: f003 fc0d bl 70027950 70024136: 9b05 ldr r3, [sp, #20] 70024138: f7ff b9a6 b.w 70023488 7002413c: aa20 add r2, sp, #128 @ 0x80 7002413e: 4661 mov r1, ip 70024140: 9324 str r3, [sp, #144] @ 0x90 70024142: 463e mov r6, r7 70024144: 4410 add r0, r2 70024146: 2200 movs r2, #0 70024148: f7f5 f9c6 bl 700194d8 7002414c: e72b b.n 70023fa6 7002414e: f896 302c ldrb.w r3, [r6, #44] @ 0x2c 70024152: 4eb3 ldr r6, [pc, #716] @ (70024420 ) 70024154: 2b01 cmp r3, #1 70024156: 9b09 ldr r3, [sp, #36] @ 0x24 70024158: bf16 itet ne 7002415a: 2308 movne r3, #8 7002415c: 2103 moveq r1, #3 7002415e: 2102 movne r1, #2 70024160: 9309 str r3, [sp, #36] @ 0x24 70024162: 4bb0 ldr r3, [pc, #704] @ (70024424 ) 70024164: bf18 it ne 70024166: 461e movne r6, r3 70024168: e5f8 b.n 70023d5c 7002416a: 9a06 ldr r2, [sp, #24] 7002416c: f892 202c ldrb.w r2, [r2, #44] @ 0x2c 70024170: 2a01 cmp r2, #1 70024172: d00c beq.n 7002418e 70024174: 4619 mov r1, r3 70024176: 2308 movs r3, #8 70024178: 4eaa ldr r6, [pc, #680] @ (70024424 ) 7002417a: f04f 0c03 mov.w ip, #3 7002417e: 4faa ldr r7, [pc, #680] @ (70024428 ) 70024180: 9309 str r3, [sp, #36] @ 0x24 70024182: e703 b.n 70023f8c 70024184: eddf 1aa9 vldr s3, [pc, #676] @ 7002442c 70024188: eeb0 1a61 vmov.f32 s2, s3 7002418c: e576 b.n 70023c7c 7002418e: 4ea4 ldr r6, [pc, #656] @ (70024420 ) 70024190: f04f 0c04 mov.w ip, #4 70024194: 2103 movs r1, #3 70024196: 4637 mov r7, r6 70024198: e6f8 b.n 70023f8c 7002419a: f006 030f and.w r3, r6, #15 7002419e: 2b09 cmp r3, #9 700241a0: 930b str r3, [sp, #44] @ 0x2c 700241a2: d03a beq.n 7002421a 700241a4: 9b08 ldr r3, [sp, #32] 700241a6: f1a9 0203 sub.w r2, r9, #3 700241aa: eb03 0e0c add.w lr, r3, ip 700241ae: 4603 mov r3, r0 700241b0: 2a08 cmp r2, #8 700241b2: f200 81ad bhi.w 70024510 700241b6: a101 add r1, pc, #4 @ (adr r1, 700241bc ) 700241b8: f851 f022 ldr.w pc, [r1, r2, lsl #2] 700241bc: 700244e5 .word 0x700244e5 700241c0: 70024529 .word 0x70024529 700241c4: 70024511 .word 0x70024511 700241c8: 70024511 .word 0x70024511 700241cc: 70024511 .word 0x70024511 700241d0: 70024511 .word 0x70024511 700241d4: 70024511 .word 0x70024511 700241d8: 70024055 .word 0x70024055 700241dc: 7002425d .word 0x7002425d 700241e0: f006 030f and.w r3, r6, #15 700241e4: 930b str r3, [sp, #44] @ 0x2c 700241e6: 9b0b ldr r3, [sp, #44] @ 0x2c 700241e8: 2b09 cmp r3, #9 700241ea: f000 8097 beq.w 7002431c 700241ee: f1a9 090a sub.w r9, r9, #10 700241f2: f1b9 0f01 cmp.w r9, #1 700241f6: f67f a931 bls.w 7002345c 700241fa: eddd 1a26 vldr s3, [sp, #152] @ 0x98 700241fe: ed9d 1a25 vldr s2, [sp, #148] @ 0x94 70024202: eddd 0a24 vldr s1, [sp, #144] @ 0x90 70024206: ed9d 0a23 vldr s0, [sp, #140] @ 0x8c 7002420a: f7f7 fa31 bl 7001b670 7002420e: 4603 mov r3, r0 70024210: 2800 cmp r0, #0 70024212: f43f a923 beq.w 7002345c 70024216: f7ff b92e b.w 70023476 7002421a: 680b ldr r3, [r1, #0] 7002421c: 1cba adds r2, r7, #2 7002421e: 9021 str r0, [sp, #132] @ 0x84 70024220: 3703 adds r7, #3 70024222: 9327 str r3, [sp, #156] @ 0x9c 70024224: 684b ldr r3, [r1, #4] 70024226: 9221 str r2, [sp, #132] @ 0x84 70024228: 9328 str r3, [sp, #160] @ 0xa0 7002422a: f8db 3000 ldr.w r3, [fp] 7002422e: edd1 8a02 vldr s17, [r1, #8] 70024232: 9721 str r7, [sp, #132] @ 0x84 70024234: edd3 0a3b vldr s1, [r3, #236] @ 0xec 70024238: ed93 0a3e vldr s0, [r3, #248] @ 0xf8 7002423c: f015 fafa bl 70039834 70024240: 9b2b ldr r3, [sp, #172] @ 0xac 70024242: ee78 8a80 vadd.f32 s17, s17, s0 70024246: ea4f 0c87 mov.w ip, r7, lsl #2 7002424a: 932d str r3, [sp, #180] @ 0xb4 7002424c: 1c78 adds r0, r7, #1 7002424e: 9b2c ldr r3, [sp, #176] @ 0xb0 70024250: f88d 6083 strb.w r6, [sp, #131] @ 0x83 70024254: edcd 8a29 vstr s17, [sp, #164] @ 0xa4 70024258: 932e str r3, [sp, #184] @ 0xb8 7002425a: e7a3 b.n 700241a4 7002425c: edde 7a00 vldr s15, [lr] 70024260: 9021 str r0, [sp, #132] @ 0x84 70024262: eefd 7ae7 vcvt.s32.f32 s15, s15 70024266: ee17 2a90 vmov r2, s15 7002426a: 2a00 cmp r2, #0 7002426c: 4611 mov r1, r2 7002426e: bfb8 it lt 70024270: 1c51 addlt r1, r2, #1 70024272: 2a01 cmp r2, #1 70024274: ea4f 0161 mov.w r1, r1, asr #1 70024278: 910a str r1, [sp, #40] @ 0x28 7002427a: f340 80aa ble.w 700243d2 7002427e: f1ba 0f00 cmp.w sl, #0 70024282: d154 bne.n 7002432e 70024284: 9a08 ldr r2, [sp, #32] 70024286: eb02 0283 add.w r2, r2, r3, lsl #2 7002428a: 1c58 adds r0, r3, #1 7002428c: 3302 adds r3, #2 7002428e: a925 add r1, sp, #148 @ 0x94 70024290: edd2 7a00 vldr s15, [r2] 70024294: 9021 str r0, [sp, #132] @ 0x84 70024296: a823 add r0, sp, #140 @ 0x8c 70024298: edcd 7a25 vstr s15, [sp, #148] @ 0x94 7002429c: edd2 6a01 vldr s13, [r2, #4] 700242a0: 9321 str r3, [sp, #132] @ 0x84 700242a2: f8db 3000 ldr.w r3, [fp] 700242a6: edcd 6a26 vstr s13, [sp, #152] @ 0x98 700242aa: edcd 7a2b vstr s15, [sp, #172] @ 0xac 700242ae: edcd 6a2c vstr s13, [sp, #176] @ 0xb0 700242b2: f88d 60c4 strb.w r6, [sp, #196] @ 0xc4 700242b6: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 700242ba: b1da cbz r2, 700242f4 700242bc: ed93 7a3b vldr s14, [r3, #236] @ 0xec 700242c0: edd3 5a3c vldr s11, [r3, #240] @ 0xf0 700242c4: ee27 7a87 vmul.f32 s14, s15, s14 700242c8: ed93 6a3d vldr s12, [r3, #244] @ 0xf4 700242cc: ee06 7aa5 vmla.f32 s14, s13, s11 700242d0: ee37 7a06 vadd.f32 s14, s14, s12 700242d4: ed8d 7a25 vstr s14, [sp, #148] @ 0x94 700242d8: edd3 5a3e vldr s11, [r3, #248] @ 0xf8 700242dc: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 700242e0: ee67 7aa5 vmul.f32 s15, s15, s11 700242e4: ed93 7a40 vldr s14, [r3, #256] @ 0x100 700242e8: ee46 7a86 vmla.f32 s15, s13, s12 700242ec: ee77 7a87 vadd.f32 s15, s15, s14 700242f0: edcd 7a26 vstr s15, [sp, #152] @ 0x98 700242f4: f7fa fbe6 bl 7001eac4 700242f8: f10a 0a01 add.w sl, sl, #1 700242fc: 4603 mov r3, r0 700242fe: 2800 cmp r0, #0 70024300: f040 80e2 bne.w 700244c8 70024304: ab25 add r3, sp, #148 @ 0x94 70024306: e893 0003 ldmia.w r3, {r0, r1} 7002430a: ab23 add r3, sp, #140 @ 0x8c 7002430c: e883 0003 stmia.w r3, {r0, r1} 70024310: 9b0a ldr r3, [sp, #40] @ 0x28 70024312: 4553 cmp r3, sl 70024314: dd5d ble.n 700243d2 70024316: 68e2 ldr r2, [r4, #12] 70024318: 9b21 ldr r3, [sp, #132] @ 0x84 7002431a: e7b4 b.n 70024286 7002431c: a820 add r0, sp, #128 @ 0x80 7002431e: f7fa fc13 bl 7001eb48 70024322: 4603 mov r3, r0 70024324: 2800 cmp r0, #0 70024326: f43f a899 beq.w 7002345c 7002432a: f7ff b8a4 b.w 70023476 7002432e: 2700 movs r7, #0 70024330: 9a08 ldr r2, [sp, #32] 70024332: eb02 0283 add.w r2, r2, r3, lsl #2 70024336: eddd 7a2b vldr s15, [sp, #172] @ 0xac 7002433a: 1c58 adds r0, r3, #1 7002433c: ed9d 7a2c vldr s14, [sp, #176] @ 0xb0 70024340: edd2 6a00 vldr s13, [r2] 70024344: 3302 adds r3, #2 70024346: 9021 str r0, [sp, #132] @ 0x84 70024348: a925 add r1, sp, #148 @ 0x94 7002434a: ee76 6aa7 vadd.f32 s13, s13, s15 7002434e: a823 add r0, sp, #140 @ 0x8c 70024350: edcd 6a25 vstr s13, [sp, #148] @ 0x94 70024354: edd2 7a01 vldr s15, [r2, #4] 70024358: 9321 str r3, [sp, #132] @ 0x84 7002435a: ee77 7a87 vadd.f32 s15, s15, s14 7002435e: f8db 3000 ldr.w r3, [fp] 70024362: edcd 6a2b vstr s13, [sp, #172] @ 0xac 70024366: f88d 60c4 strb.w r6, [sp, #196] @ 0xc4 7002436a: edcd 7a26 vstr s15, [sp, #152] @ 0x98 7002436e: edcd 7a2c vstr s15, [sp, #176] @ 0xb0 70024372: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70024376: b1da cbz r2, 700243b0 70024378: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 7002437c: edd3 5a3b vldr s11, [r3, #236] @ 0xec 70024380: ee27 7a87 vmul.f32 s14, s15, s14 70024384: ed93 6a3d vldr s12, [r3, #244] @ 0xf4 70024388: ee06 7aa5 vmla.f32 s14, s13, s11 7002438c: ee37 7a06 vadd.f32 s14, s14, s12 70024390: ed8d 7a25 vstr s14, [sp, #148] @ 0x94 70024394: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 70024398: ed93 6a3e vldr s12, [r3, #248] @ 0xf8 7002439c: ee67 7aa5 vmul.f32 s15, s15, s11 700243a0: ed93 7a40 vldr s14, [r3, #256] @ 0x100 700243a4: ee46 7a86 vmla.f32 s15, s13, s12 700243a8: ee77 7a87 vadd.f32 s15, s15, s14 700243ac: edcd 7a26 vstr s15, [sp, #152] @ 0x98 700243b0: f7fa fb88 bl 7001eac4 700243b4: 3701 adds r7, #1 700243b6: 4603 mov r3, r0 700243b8: 2800 cmp r0, #0 700243ba: f040 8085 bne.w 700244c8 700243be: ab25 add r3, sp, #148 @ 0x94 700243c0: e893 0003 ldmia.w r3, {r0, r1} 700243c4: ab23 add r3, sp, #140 @ 0x8c 700243c6: e883 0003 stmia.w r3, {r0, r1} 700243ca: 9b0a ldr r3, [sp, #40] @ 0x28 700243cc: 42bb cmp r3, r7 700243ce: f300 8086 bgt.w 700244de 700243d2: f8db 3000 ldr.w r3, [fp] 700243d6: f893 307c ldrb.w r3, [r3, #124] @ 0x7c 700243da: b1fb cbz r3, 7002441c 700243dc: eddd 7a2b vldr s15, [sp, #172] @ 0xac 700243e0: ed9d 7a2f vldr s14, [sp, #188] @ 0xbc 700243e4: ee77 7ac7 vsub.f32 s15, s15, s14 700243e8: eef5 7a40 vcmp.f32 s15, #0.0 700243ec: eef1 fa10 vmrs APSR_nzcv, fpscr 700243f0: d114 bne.n 7002441c 700243f2: eddd 7a2c vldr s15, [sp, #176] @ 0xb0 700243f6: ed9d 7a30 vldr s14, [sp, #192] @ 0xc0 700243fa: ee77 7ac7 vsub.f32 s15, s15, s14 700243fe: eef5 7a40 vcmp.f32 s15, #0.0 70024402: eef1 fa10 vmrs APSR_nzcv, fpscr 70024406: d109 bne.n 7002441c 70024408: 2300 movs r3, #0 7002440a: f88d 3081 strb.w r3, [sp, #129] @ 0x81 7002440e: f89d 3082 ldrb.w r3, [sp, #130] @ 0x82 70024412: 2b00 cmp r3, #0 70024414: f43f aee7 beq.w 700241e6 70024418: f7ff b820 b.w 7002345c 7002441c: 2301 movs r3, #1 7002441e: e7f4 b.n 7002440a 70024420: 941da000 .word 0x941da000 70024424: 941e8000 .word 0x941e8000 70024428: 941f8000 .word 0x941f8000 7002442c: 00000000 .word 0x00000000 70024430: f1ba 0f00 cmp.w sl, #0 70024434: f000 8097 beq.w 70024566 70024438: 2700 movs r7, #0 7002443a: 9a08 ldr r2, [sp, #32] 7002443c: eb02 0283 add.w r2, r2, r3, lsl #2 70024440: eddd 7a2b vldr s15, [sp, #172] @ 0xac 70024444: 1c58 adds r0, r3, #1 70024446: ed9d 7a2c vldr s14, [sp, #176] @ 0xb0 7002444a: edd2 6a00 vldr s13, [r2] 7002444e: 3302 adds r3, #2 70024450: 9021 str r0, [sp, #132] @ 0x84 70024452: a925 add r1, sp, #148 @ 0x94 70024454: ee76 6aa7 vadd.f32 s13, s13, s15 70024458: a823 add r0, sp, #140 @ 0x8c 7002445a: edcd 6a25 vstr s13, [sp, #148] @ 0x94 7002445e: edd2 7a01 vldr s15, [r2, #4] 70024462: 9321 str r3, [sp, #132] @ 0x84 70024464: ee77 7a87 vadd.f32 s15, s15, s14 70024468: f8db 3000 ldr.w r3, [fp] 7002446c: edcd 6a2b vstr s13, [sp, #172] @ 0xac 70024470: f88d 60c4 strb.w r6, [sp, #196] @ 0xc4 70024474: edcd 7a26 vstr s15, [sp, #152] @ 0x98 70024478: edcd 7a2c vstr s15, [sp, #176] @ 0xb0 7002447c: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70024480: b1da cbz r2, 700244ba 70024482: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 70024486: edd3 5a3b vldr s11, [r3, #236] @ 0xec 7002448a: ee27 7a87 vmul.f32 s14, s15, s14 7002448e: ed93 6a3d vldr s12, [r3, #244] @ 0xf4 70024492: ee06 7aa5 vmla.f32 s14, s13, s11 70024496: ee37 7a06 vadd.f32 s14, s14, s12 7002449a: ed8d 7a25 vstr s14, [sp, #148] @ 0x94 7002449e: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 700244a2: ed93 6a3e vldr s12, [r3, #248] @ 0xf8 700244a6: ee67 7aa5 vmul.f32 s15, s15, s11 700244aa: ed93 7a40 vldr s14, [r3, #256] @ 0x100 700244ae: ee46 7a86 vmla.f32 s15, s13, s12 700244b2: ee77 7a87 vadd.f32 s15, s15, s14 700244b6: edcd 7a26 vstr s15, [sp, #152] @ 0x98 700244ba: f7fa fb03 bl 7001eac4 700244be: 3701 adds r7, #1 700244c0: 4603 mov r3, r0 700244c2: 2800 cmp r0, #0 700244c4: f000 809c beq.w 70024600 700244c8: f8db 2000 ldr.w r2, [fp] 700244cc: 2100 movs r1, #0 700244ce: 9305 str r3, [sp, #20] 700244d0: 4618 mov r0, r3 700244d2: e9c2 1145 strd r1, r1, [r2, #276] @ 0x114 700244d6: f003 fa3b bl 70027950 700244da: 9b05 ldr r3, [sp, #20] 700244dc: e622 b.n 70024124 700244de: 68e2 ldr r2, [r4, #12] 700244e0: 9b21 ldr r3, [sp, #132] @ 0x84 700244e2: e726 b.n 70024332 700244e4: f8db 3000 ldr.w r3, [fp] 700244e8: edde 7a00 vldr s15, [lr] 700244ec: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 700244f0: ed9d 7a2c vldr s14, [sp, #176] @ 0xb0 700244f4: 9021 str r0, [sp, #132] @ 0x84 700244f6: f1ba 0f00 cmp.w sl, #0 700244fa: d00f beq.n 7002451c 700244fc: eddd 6a2b vldr s13, [sp, #172] @ 0xac 70024500: ed8d 7a26 vstr s14, [sp, #152] @ 0x98 70024504: ee77 7aa6 vadd.f32 s15, s15, s13 70024508: edcd 7a25 vstr s15, [sp, #148] @ 0x94 7002450c: f7ff b8d0 b.w 700236b0 70024510: f8db 3000 ldr.w r3, [fp] 70024514: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70024518: f7ff b8ad b.w 70023676 7002451c: edcd 7a25 vstr s15, [sp, #148] @ 0x94 70024520: ed8d 7a26 vstr s14, [sp, #152] @ 0x98 70024524: f7ff b8c4 b.w 700236b0 70024528: f8db 3000 ldr.w r3, [fp] 7002452c: eddd 7a2b vldr s15, [sp, #172] @ 0xac 70024530: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70024534: f1ba 0f00 cmp.w sl, #0 70024538: d00c beq.n 70024554 7002453a: ed9d 7a2c vldr s14, [sp, #176] @ 0xb0 7002453e: edcd 7a25 vstr s15, [sp, #148] @ 0x94 70024542: edde 6a00 vldr s13, [lr] 70024546: 9021 str r0, [sp, #132] @ 0x84 70024548: ee37 7a26 vadd.f32 s14, s14, s13 7002454c: ed8d 7a26 vstr s14, [sp, #152] @ 0x98 70024550: f7ff b8ae b.w 700236b0 70024554: edcd 7a25 vstr s15, [sp, #148] @ 0x94 70024558: ed9e 7a00 vldr s14, [lr] 7002455c: 9021 str r0, [sp, #132] @ 0x84 7002455e: ed8d 7a26 vstr s14, [sp, #152] @ 0x98 70024562: f7ff b8a5 b.w 700236b0 70024566: 9a08 ldr r2, [sp, #32] 70024568: eb02 0283 add.w r2, r2, r3, lsl #2 7002456c: 1c58 adds r0, r3, #1 7002456e: 3302 adds r3, #2 70024570: a925 add r1, sp, #148 @ 0x94 70024572: edd2 7a00 vldr s15, [r2] 70024576: 9021 str r0, [sp, #132] @ 0x84 70024578: a823 add r0, sp, #140 @ 0x8c 7002457a: edcd 7a25 vstr s15, [sp, #148] @ 0x94 7002457e: edd2 6a01 vldr s13, [r2, #4] 70024582: 9321 str r3, [sp, #132] @ 0x84 70024584: f8db 3000 ldr.w r3, [fp] 70024588: edcd 6a26 vstr s13, [sp, #152] @ 0x98 7002458c: edcd 7a2b vstr s15, [sp, #172] @ 0xac 70024590: edcd 6a2c vstr s13, [sp, #176] @ 0xb0 70024594: f88d 60c4 strb.w r6, [sp, #196] @ 0xc4 70024598: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 7002459c: b1da cbz r2, 700245d6 7002459e: ed93 7a3b vldr s14, [r3, #236] @ 0xec 700245a2: edd3 5a3c vldr s11, [r3, #240] @ 0xf0 700245a6: ee27 7a87 vmul.f32 s14, s15, s14 700245aa: ed93 6a3d vldr s12, [r3, #244] @ 0xf4 700245ae: ee06 7aa5 vmla.f32 s14, s13, s11 700245b2: ee37 7a06 vadd.f32 s14, s14, s12 700245b6: ed8d 7a25 vstr s14, [sp, #148] @ 0x94 700245ba: edd3 5a3e vldr s11, [r3, #248] @ 0xf8 700245be: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 700245c2: ee67 7aa5 vmul.f32 s15, s15, s11 700245c6: ed93 7a40 vldr s14, [r3, #256] @ 0x100 700245ca: ee46 7a86 vmla.f32 s15, s13, s12 700245ce: ee77 7a87 vadd.f32 s15, s15, s14 700245d2: edcd 7a26 vstr s15, [sp, #152] @ 0x98 700245d6: f7fa fa75 bl 7001eac4 700245da: f10a 0a01 add.w sl, sl, #1 700245de: 4603 mov r3, r0 700245e0: 2800 cmp r0, #0 700245e2: f47f af71 bne.w 700244c8 700245e6: ab25 add r3, sp, #148 @ 0x94 700245e8: e893 0003 ldmia.w r3, {r0, r1} 700245ec: ab23 add r3, sp, #140 @ 0x8c 700245ee: e883 0003 stmia.w r3, {r0, r1} 700245f2: 9b0a ldr r3, [sp, #40] @ 0x28 700245f4: 4553 cmp r3, sl 700245f6: f77f ad3e ble.w 70024076 700245fa: 68e2 ldr r2, [r4, #12] 700245fc: 9b21 ldr r3, [sp, #132] @ 0x84 700245fe: e7b3 b.n 70024568 70024600: ab25 add r3, sp, #148 @ 0x94 70024602: e893 0003 ldmia.w r3, {r0, r1} 70024606: ab23 add r3, sp, #140 @ 0x8c 70024608: e883 0003 stmia.w r3, {r0, r1} 7002460c: 9b0a ldr r3, [sp, #40] @ 0x28 7002460e: 42bb cmp r3, r7 70024610: f77f ad31 ble.w 70024076 70024614: 68e2 ldr r2, [r4, #12] 70024616: 9b21 ldr r3, [sp, #132] @ 0x84 70024618: e710 b.n 7002443c 7002461a: bf00 nop 7002461c : 7002461c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70024620: b08e sub sp, #56 @ 0x38 70024622: 460f mov r7, r1 70024624: 4614 mov r4, r2 70024626: 4606 mov r6, r0 70024628: f8df 8094 ldr.w r8, [pc, #148] @ 700246c0 7002462c: ad02 add r5, sp, #8 7002462e: f003 f8cd bl 700277cc 70024632: 4623 mov r3, r4 70024634: 463a mov r2, r7 70024636: 4631 mov r1, r6 70024638: f8c8 0000 str.w r0, [r8] 7002463c: 4628 mov r0, r5 7002463e: f003 f8c9 bl 700277d4 70024642: ac06 add r4, sp, #24 70024644: e895 000f ldmia.w r5, {r0, r1, r2, r3} 70024648: e884 000f stmia.w r4, {r0, r1, r2, r3} 7002464c: f003 f8be bl 700277cc 70024650: f10d 0c28 add.w ip, sp, #40 @ 0x28 70024654: f8c8 0000 str.w r0, [r8] 70024658: e894 000f ldmia.w r4, {r0, r1, r2, r3} 7002465c: e88c 000f stmia.w ip, {r0, r1, r2, r3} 70024660: ab0e add r3, sp, #56 @ 0x38 70024662: 4c16 ldr r4, [pc, #88] @ (700246bc ) 70024664: e913 0003 ldmdb r3, {r0, r1} 70024668: e88d 0003 stmia.w sp, {r0, r1} 7002466c: 4639 mov r1, r7 7002466e: 4630 mov r0, r6 70024670: e89c 000c ldmia.w ip, {r2, r3} 70024674: f003 f8b8 bl 700277e8 70024678: f003 f8e6 bl 70027848 7002467c: 6020 str r0, [r4, #0] 7002467e: f003 f8e7 bl 70027850 70024682: f003 f8a3 bl 700277cc 70024686: f8c8 0000 str.w r0, [r8] 7002468a: f002 ff1f bl 700274cc 7002468e: 6823 ldr r3, [r4, #0] 70024690: 691a ldr r2, [r3, #16] 70024692: 0792 lsls r2, r2, #30 70024694: d102 bne.n 7002469c 70024696: 695b ldr r3, [r3, #20] 70024698: 079b lsls r3, r3, #30 7002469a: d003 beq.n 700246a4 7002469c: f04f 7000 mov.w r0, #33554432 @ 0x2000000 700246a0: f003 f956 bl 70027950 700246a4: f004 fc56 bl 70028f54 700246a8: 6823 ldr r3, [r4, #0] 700246aa: e9d3 0104 ldrd r0, r1, [r3, #16] 700246ae: f004 fc49 bl 70028f44 700246b2: b00e add sp, #56 @ 0x38 700246b4: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} 700246b8: f003 b8be b.w 70027838 700246bc: 2400dc38 .word 0x2400dc38 700246c0: 2400dc78 .word 0x2400dc78 700246c4 : 700246c4: ee31 1a40 vsub.f32 s2, s2, s0 700246c8: ee71 1ae0 vsub.f32 s3, s3, s1 700246cc: ee33 3a42 vsub.f32 s6, s6, s4 700246d0: ee73 3ae2 vsub.f32 s7, s7, s5 700246d4: ee30 2a42 vsub.f32 s4, s0, s4 700246d8: ee70 2ae2 vsub.f32 s5, s1, s5 700246dc: ee63 7a61 vnmul.f32 s15, s6, s3 700246e0: ee21 6a23 vmul.f32 s12, s2, s7 700246e4: ee62 6a81 vmul.f32 s13, s5, s2 700246e8: ee21 7ac2 vnmul.f32 s14, s3, s4 700246ec: ee77 7a86 vadd.f32 s15, s15, s12 700246f0: ee37 7a26 vadd.f32 s14, s14, s13 700246f4: eec7 6a27 vdiv.f32 s13, s14, s15 700246f8: eef5 6ac0 vcmpe.f32 s13, #0.0 700246fc: eef1 fa10 vmrs APSR_nzcv, fpscr 70024700: db06 blt.n 70024710 70024702: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70024706: eef4 6ac7 vcmpe.f32 s13, s14 7002470a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002470e: d901 bls.n 70024714 70024710: 2000 movs r0, #0 70024712: 4770 bx lr 70024714: ee62 2a83 vmul.f32 s5, s5, s6 70024718: ee22 2a23 vmul.f32 s4, s4, s7 7002471c: ee72 2ac2 vsub.f32 s5, s5, s4 70024720: eec2 6aa7 vdiv.f32 s13, s5, s15 70024724: eef5 6ac0 vcmpe.f32 s13, #0.0 70024728: eef1 fa10 vmrs APSR_nzcv, fpscr 7002472c: dbf0 blt.n 70024710 7002472e: 2901 cmp r1, #1 70024730: dcee bgt.n 70024710 70024732: eef4 6a47 vcmp.f32 s13, s14 70024736: eef1 fa10 vmrs APSR_nzcv, fpscr 7002473a: d8e9 bhi.n 70024710 7002473c: ee21 1a26 vmul.f32 s2, s2, s13 70024740: 2901 cmp r1, #1 70024742: ee61 1aa6 vmul.f32 s3, s3, s13 70024746: ee31 0a00 vadd.f32 s0, s2, s0 7002474a: ee71 0aa0 vadd.f32 s1, s3, s1 7002474e: d155 bne.n 700247fc 70024750: ed90 7a00 vldr s14, [r0] 70024754: ed9f 6a2d vldr s12, [pc, #180] @ 7002480c 70024758: ee77 6a40 vsub.f32 s13, s14, s0 7002475c: eef5 6ac0 vcmpe.f32 s13, #0.0 70024760: eef1 fa10 vmrs APSR_nzcv, fpscr 70024764: eeb5 7ac0 vcmpe.f32 s14, #0.0 70024768: bf48 it mi 7002476a: eef1 6a66 vnegmi.f32 s13, s13 7002476e: eef1 fa10 vmrs APSR_nzcv, fpscr 70024772: eeb5 0ac0 vcmpe.f32 s0, #0.0 70024776: bf48 it mi 70024778: eeb1 7a47 vnegmi.f32 s14, s14 7002477c: eef1 fa10 vmrs APSR_nzcv, fpscr 70024780: bf4c ite mi 70024782: eef1 7a40 vnegmi.f32 s15, s0 70024786: eef0 7a40 vmovpl.f32 s15, s0 7002478a: eeb4 7a67 vcmp.f32 s14, s15 7002478e: eef1 fa10 vmrs APSR_nzcv, fpscr 70024792: bf48 it mi 70024794: eef0 7a47 vmovmi.f32 s15, s14 70024798: ee67 7a86 vmul.f32 s15, s15, s12 7002479c: eef4 7ae6 vcmpe.f32 s15, s13 700247a0: eef1 fa10 vmrs APSR_nzcv, fpscr 700247a4: db2a blt.n 700247fc 700247a6: ed90 7a01 vldr s14, [r0, #4] 700247aa: ed9f 6a18 vldr s12, [pc, #96] @ 7002480c 700247ae: ee77 6a60 vsub.f32 s13, s14, s1 700247b2: eef5 6ac0 vcmpe.f32 s13, #0.0 700247b6: eef1 fa10 vmrs APSR_nzcv, fpscr 700247ba: eeb5 7ac0 vcmpe.f32 s14, #0.0 700247be: bf48 it mi 700247c0: eef1 6a66 vnegmi.f32 s13, s13 700247c4: eef1 fa10 vmrs APSR_nzcv, fpscr 700247c8: eef5 0ac0 vcmpe.f32 s1, #0.0 700247cc: bf48 it mi 700247ce: eeb1 7a47 vnegmi.f32 s14, s14 700247d2: eef1 fa10 vmrs APSR_nzcv, fpscr 700247d6: bf4c ite mi 700247d8: eef1 7a60 vnegmi.f32 s15, s1 700247dc: eef0 7a60 vmovpl.f32 s15, s1 700247e0: eeb4 7a67 vcmp.f32 s14, s15 700247e4: eef1 fa10 vmrs APSR_nzcv, fpscr 700247e8: bf48 it mi 700247ea: eef0 7a47 vmovmi.f32 s15, s14 700247ee: ee67 7a86 vmul.f32 s15, s15, s12 700247f2: eef4 7ae6 vcmpe.f32 s15, s13 700247f6: eef1 fa10 vmrs APSR_nzcv, fpscr 700247fa: da89 bge.n 70024710 700247fc: eb00 03c1 add.w r3, r0, r1, lsl #3 70024800: 2001 movs r0, #1 70024802: ed83 0a00 vstr s0, [r3] 70024806: edc3 0a01 vstr s1, [r3, #4] 7002480a: 4770 bx lr 7002480c: 3727c5ac .word 0x3727c5ac 70024810 : 70024810: 493b ldr r1, [pc, #236] @ (70024900 ) 70024812: b410 push {r4} 70024814: 680b ldr r3, [r1, #0] 70024816: b083 sub sp, #12 70024818: 6a5a ldr r2, [r3, #36] @ 0x24 7002481a: ed8d 0a00 vstr s0, [sp] 7002481e: f5b2 7f80 cmp.w r2, #256 @ 0x100 70024822: edcd 0a01 vstr s1, [sp, #4] 70024826: d031 beq.n 7002488c 70024828: f240 1cff movw ip, #511 @ 0x1ff 7002482c: 4562 cmp r2, ip 7002482e: d032 beq.n 70024896 70024830: 6adc ldr r4, [r3, #44] @ 0x2c 70024832: 68da ldr r2, [r3, #12] 70024834: 2c00 cmp r4, #0 70024836: d135 bne.n 700248a4 70024838: 681c ldr r4, [r3, #0] 7002483a: 4294 cmp r4, r2 7002483c: d951 bls.n 700248e2 7002483e: 69db ldr r3, [r3, #28] 70024840: f040 0002 orr.w r0, r0, #2 70024844: 5498 strb r0, [r3, r2] 70024846: 680b ldr r3, [r1, #0] 70024848: 68da ldr r2, [r3, #12] 7002484a: 6ad8 ldr r0, [r3, #44] @ 0x2c 7002484c: 3201 adds r2, #1 7002484e: 60da str r2, [r3, #12] 70024850: bb50 cbnz r0, 700248a8 70024852: e9d3 0201 ldrd r0, r2, [r3, #4] 70024856: f102 0c01 add.w ip, r2, #1 7002485a: 4584 cmp ip, r0 7002485c: d236 bcs.n 700248cc 7002485e: 691b ldr r3, [r3, #16] 70024860: eb03 0382 add.w r3, r3, r2, lsl #2 70024864: ed83 0a00 vstr s0, [r3] 70024868: 6808 ldr r0, [r1, #0] 7002486a: 6883 ldr r3, [r0, #8] 7002486c: 6902 ldr r2, [r0, #16] 7002486e: 3301 adds r3, #1 70024870: eb02 0283 add.w r2, r2, r3, lsl #2 70024874: 6083 str r3, [r0, #8] 70024876: 2000 movs r0, #0 70024878: edc2 0a00 vstr s1, [r2] 7002487c: 680a ldr r2, [r1, #0] 7002487e: 6893 ldr r3, [r2, #8] 70024880: 3301 adds r3, #1 70024882: 6093 str r3, [r2, #8] 70024884: b003 add sp, #12 70024886: f85d 4b04 ldr.w r4, [sp], #4 7002488a: 4770 bx lr 7002488c: 6adc ldr r4, [r3, #44] @ 0x2c 7002488e: 68da ldr r2, [r3, #12] 70024890: b194 cbz r4, 700248b8 70024892: 3201 adds r2, #1 70024894: 60da str r2, [r3, #12] 70024896: 2200 movs r2, #0 70024898: 2000 movs r0, #0 7002489a: 625a str r2, [r3, #36] @ 0x24 7002489c: b003 add sp, #12 7002489e: f85d 4b04 ldr.w r4, [sp], #4 700248a2: 4770 bx lr 700248a4: 3201 adds r2, #1 700248a6: 60da str r2, [r3, #12] 700248a8: 689a ldr r2, [r3, #8] 700248aa: 2000 movs r0, #0 700248ac: 3202 adds r2, #2 700248ae: 609a str r2, [r3, #8] 700248b0: b003 add sp, #12 700248b2: f85d 4b04 ldr.w r4, [sp], #4 700248b6: 4770 bx lr 700248b8: 681c ldr r4, [r3, #0] 700248ba: 4294 cmp r4, r2 700248bc: d918 bls.n 700248f0 700248be: 69db ldr r3, [r3, #28] 700248c0: 5498 strb r0, [r3, r2] 700248c2: 680b ldr r3, [r1, #0] 700248c4: 68da ldr r2, [r3, #12] 700248c6: 3201 adds r2, #1 700248c8: 60da str r2, [r3, #12] 700248ca: e7e4 b.n 70024896 700248cc: 2002 movs r0, #2 700248ce: 2101 movs r1, #1 700248d0: 4402 add r2, r0 700248d2: 6298 str r0, [r3, #40] @ 0x28 700248d4: 2000 movs r0, #0 700248d6: 62d9 str r1, [r3, #44] @ 0x2c 700248d8: 609a str r2, [r3, #8] 700248da: b003 add sp, #12 700248dc: f85d 4b04 ldr.w r4, [sp], #4 700248e0: 4770 bx lr 700248e2: 2002 movs r0, #2 700248e4: 3201 adds r2, #1 700248e6: 2101 movs r1, #1 700248e8: 6298 str r0, [r3, #40] @ 0x28 700248ea: 60da str r2, [r3, #12] 700248ec: 62d9 str r1, [r3, #44] @ 0x2c 700248ee: e7db b.n 700248a8 700248f0: 2002 movs r0, #2 700248f2: 3201 adds r2, #1 700248f4: 2101 movs r1, #1 700248f6: 6298 str r0, [r3, #40] @ 0x28 700248f8: 60da str r2, [r3, #12] 700248fa: 62d9 str r1, [r3, #44] @ 0x2c 700248fc: e7cb b.n 70024896 700248fe: bf00 nop 70024900: 2400dc78 .word 0x2400dc78 70024904 : 70024904: 4936 ldr r1, [pc, #216] @ (700249e0 ) 70024906: b410 push {r4} 70024908: 680b ldr r3, [r1, #0] 7002490a: b083 sub sp, #12 7002490c: ed93 7a0c vldr s14, [r3, #48] @ 0x30 70024910: edd3 7a0d vldr s15, [r3, #52] @ 0x34 70024914: eeb4 7a40 vcmp.f32 s14, s0 70024918: ed8d 0a00 vstr s0, [sp] 7002491c: edcd 0a01 vstr s1, [sp, #4] 70024920: 6ad8 ldr r0, [r3, #44] @ 0x2c 70024922: eef1 fa10 vmrs APSR_nzcv, fpscr 70024926: 68da ldr r2, [r3, #12] 70024928: fe37 0a00 vselgt.f32 s0, s14, s0 7002492c: eef4 7a40 vcmp.f32 s15, s0 70024930: eef1 fa10 vmrs APSR_nzcv, fpscr 70024934: eeb4 7a60 vcmp.f32 s14, s1 70024938: bf48 it mi 7002493a: eeb0 0a67 vmovmi.f32 s0, s15 7002493e: eef1 fa10 vmrs APSR_nzcv, fpscr 70024942: fe77 0a20 vselgt.f32 s1, s14, s1 70024946: eef4 7a60 vcmp.f32 s15, s1 7002494a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002494e: bf48 it mi 70024950: eef0 0a67 vmovmi.f32 s1, s15 70024954: bb40 cbnz r0, 700249a8 70024956: 6818 ldr r0, [r3, #0] 70024958: 4290 cmp r0, r2 7002495a: d939 bls.n 700249d0 7002495c: 69db ldr r3, [r3, #28] 7002495e: 2001 movs r0, #1 70024960: 5498 strb r0, [r3, r2] 70024962: 680b ldr r3, [r1, #0] 70024964: 68da ldr r2, [r3, #12] 70024966: 4402 add r2, r0 70024968: 60da str r2, [r3, #12] 7002496a: 6ada ldr r2, [r3, #44] @ 0x2c 7002496c: b9f2 cbnz r2, 700249ac 7002496e: 689a ldr r2, [r3, #8] 70024970: 685c ldr r4, [r3, #4] 70024972: f102 0c01 add.w ip, r2, #1 70024976: 45a4 cmp ip, r4 70024978: d220 bcs.n 700249bc 7002497a: 691b ldr r3, [r3, #16] 7002497c: eb03 0382 add.w r3, r3, r2, lsl #2 70024980: ed83 0a00 vstr s0, [r3] 70024984: 6808 ldr r0, [r1, #0] 70024986: 6883 ldr r3, [r0, #8] 70024988: 6902 ldr r2, [r0, #16] 7002498a: 3301 adds r3, #1 7002498c: eb02 0283 add.w r2, r2, r3, lsl #2 70024990: 6083 str r3, [r0, #8] 70024992: 2000 movs r0, #0 70024994: edc2 0a00 vstr s1, [r2] 70024998: 680a ldr r2, [r1, #0] 7002499a: 6893 ldr r3, [r2, #8] 7002499c: 3301 adds r3, #1 7002499e: 6093 str r3, [r2, #8] 700249a0: b003 add sp, #12 700249a2: f85d 4b04 ldr.w r4, [sp], #4 700249a6: 4770 bx lr 700249a8: 3201 adds r2, #1 700249aa: 60da str r2, [r3, #12] 700249ac: 689a ldr r2, [r3, #8] 700249ae: 2000 movs r0, #0 700249b0: 3202 adds r2, #2 700249b2: 609a str r2, [r3, #8] 700249b4: b003 add sp, #12 700249b6: f85d 4b04 ldr.w r4, [sp], #4 700249ba: 4770 bx lr 700249bc: 2102 movs r1, #2 700249be: 440a add r2, r1 700249c0: e9c3 100a strd r1, r0, [r3, #40] @ 0x28 700249c4: 2000 movs r0, #0 700249c6: 609a str r2, [r3, #8] 700249c8: b003 add sp, #12 700249ca: f85d 4b04 ldr.w r4, [sp], #4 700249ce: 4770 bx lr 700249d0: 2002 movs r0, #2 700249d2: 3201 adds r2, #1 700249d4: 2101 movs r1, #1 700249d6: 6298 str r0, [r3, #40] @ 0x28 700249d8: 60da str r2, [r3, #12] 700249da: 62d9 str r1, [r3, #44] @ 0x2c 700249dc: e7e6 b.n 700249ac 700249de: bf00 nop 700249e0: 2400dc78 .word 0x2400dc78 700249e4 : 700249e4: b510 push {r4, lr} 700249e6: 4cde ldr r4, [pc, #888] @ (70024d60 ) 700249e8: ee31 7ae0 vsub.f32 s14, s3, s1 700249ec: eeb0 5a60 vmov.f32 s10, s1 700249f0: 4602 mov r2, r0 700249f2: eef0 4a41 vmov.f32 s9, s2 700249f6: ee71 7a40 vsub.f32 s15, s2, s0 700249fa: eef0 5a40 vmov.f32 s11, s0 700249fe: eeb0 4a61 vmov.f32 s8, s3 70024a02: ed2d 8b04 vpush {d8-d9} 70024a06: 6823 ldr r3, [r4, #0] 70024a08: b084 sub sp, #16 70024a0a: eeb0 8a65 vmov.f32 s16, s11 70024a0e: ed93 2a0c vldr s4, [r3, #48] @ 0x30 70024a12: eeb0 9a45 vmov.f32 s18, s10 70024a16: edd3 3a0d vldr s7, [r3, #52] @ 0x34 70024a1a: eef0 8a64 vmov.f32 s17, s9 70024a1e: ee30 1a42 vsub.f32 s2, s0, s4 70024a22: edcd 5a02 vstr s11, [sp, #8] 70024a26: ee72 2a42 vsub.f32 s5, s4, s4 70024a2a: ed8d 5a03 vstr s10, [sp, #12] 70024a2e: ee33 3ac2 vsub.f32 s6, s7, s4 70024a32: edcd 4a00 vstr s9, [sp] 70024a36: ee70 0ac2 vsub.f32 s1, s1, s4 70024a3a: ed8d 4a01 vstr s8, [sp, #4] 70024a3e: ee27 0aa2 vmul.f32 s0, s15, s5 70024a42: ee63 6a47 vnmul.f32 s13, s6, s14 70024a46: ee67 1aa0 vmul.f32 s3, s15, s1 70024a4a: ee27 6a41 vnmul.f32 s12, s14, s2 70024a4e: ee76 6a80 vadd.f32 s13, s13, s0 70024a52: eef0 9a44 vmov.f32 s19, s8 70024a56: ee36 6a21 vadd.f32 s12, s12, s3 70024a5a: eec6 1a26 vdiv.f32 s3, s12, s13 70024a5e: eef5 1ac0 vcmpe.f32 s3, #0.0 70024a62: eef1 fa10 vmrs APSR_nzcv, fpscr 70024a66: db07 blt.n 70024a78 70024a68: eeb7 0a00 vmov.f32 s0, #112 @ 0x3f800000 1.0 70024a6c: eef4 1ac0 vcmpe.f32 s3, s0 70024a70: eef1 fa10 vmrs APSR_nzcv, fpscr 70024a74: f240 8232 bls.w 70024edc 70024a78: 2100 movs r1, #0 70024a7a: eeb0 3a63 vmov.f32 s6, s7 70024a7e: 4610 mov r0, r2 70024a80: eef0 2a63 vmov.f32 s5, s7 70024a84: eef0 1a44 vmov.f32 s3, s8 70024a88: eeb0 1a64 vmov.f32 s2, s9 70024a8c: eef0 0a45 vmov.f32 s1, s10 70024a90: eeb0 0a65 vmov.f32 s0, s11 70024a94: f7ff fe16 bl 700246c4 70024a98: 2800 cmp r0, #0 70024a9a: f000 80a5 beq.w 70024be8 70024a9e: ed92 7a00 vldr s14, [r2] 70024aa2: eddf 3ab0 vldr s7, [pc, #704] @ 70024d64 70024aa6: ee35 6ac7 vsub.f32 s12, s11, s14 70024aaa: eeb5 6ac0 vcmpe.f32 s12, #0.0 70024aae: eef1 fa10 vmrs APSR_nzcv, fpscr 70024ab2: eef5 5ac0 vcmpe.f32 s11, #0.0 70024ab6: bf48 it mi 70024ab8: eeb1 6a46 vnegmi.f32 s12, s12 70024abc: eef1 fa10 vmrs APSR_nzcv, fpscr 70024ac0: eeb5 7ac0 vcmpe.f32 s14, #0.0 70024ac4: bf4c ite mi 70024ac6: eef1 7a65 vnegmi.f32 s15, s11 70024aca: eef0 7a65 vmovpl.f32 s15, s11 70024ace: eef1 fa10 vmrs APSR_nzcv, fpscr 70024ad2: bf4c ite mi 70024ad4: eef1 6a47 vnegmi.f32 s13, s14 70024ad8: eef0 6a47 vmovpl.f32 s13, s14 70024adc: eef4 7ae6 vcmpe.f32 s15, s13 70024ae0: eef1 fa10 vmrs APSR_nzcv, fpscr 70024ae4: bf58 it pl 70024ae6: eef0 7a66 vmovpl.f32 s15, s13 70024aea: ee67 7aa3 vmul.f32 s15, s15, s7 70024aee: eef4 7ac6 vcmpe.f32 s15, s12 70024af2: eef1 fa10 vmrs APSR_nzcv, fpscr 70024af6: db2a blt.n 70024b4e 70024af8: edd2 7a01 vldr s15, [r2, #4] 70024afc: ed9f 3a99 vldr s6, [pc, #612] @ 70024d64 70024b00: ee35 6a67 vsub.f32 s12, s10, s15 70024b04: eeb5 6ac0 vcmpe.f32 s12, #0.0 70024b08: eef1 fa10 vmrs APSR_nzcv, fpscr 70024b0c: eeb5 5ac0 vcmpe.f32 s10, #0.0 70024b10: bf48 it mi 70024b12: eeb1 6a46 vnegmi.f32 s12, s12 70024b16: eef1 fa10 vmrs APSR_nzcv, fpscr 70024b1a: eef5 7ac0 vcmpe.f32 s15, #0.0 70024b1e: bf4c ite mi 70024b20: eef1 3a45 vnegmi.f32 s7, s10 70024b24: eef0 3a45 vmovpl.f32 s7, s10 70024b28: eef1 fa10 vmrs APSR_nzcv, fpscr 70024b2c: bf48 it mi 70024b2e: eef1 7a67 vnegmi.f32 s15, s15 70024b32: eef4 3a67 vcmp.f32 s7, s15 70024b36: eef1 fa10 vmrs APSR_nzcv, fpscr 70024b3a: bf48 it mi 70024b3c: eef0 7a63 vmovmi.f32 s15, s7 70024b40: ee67 7a83 vmul.f32 s15, s15, s6 70024b44: eef4 7ac6 vcmpe.f32 s15, s12 70024b48: eef1 fa10 vmrs APSR_nzcv, fpscr 70024b4c: da4c bge.n 70024be8 70024b4e: ee34 7ac7 vsub.f32 s14, s9, s14 70024b52: ed9f 6a84 vldr s12, [pc, #528] @ 70024d64 70024b56: eeb5 7ac0 vcmpe.f32 s14, #0.0 70024b5a: eef1 fa10 vmrs APSR_nzcv, fpscr 70024b5e: eef5 4ac0 vcmpe.f32 s9, #0.0 70024b62: bf48 it mi 70024b64: eeb1 7a47 vnegmi.f32 s14, s14 70024b68: eef1 fa10 vmrs APSR_nzcv, fpscr 70024b6c: bf4c ite mi 70024b6e: eef1 7a64 vnegmi.f32 s15, s9 70024b72: eef0 7a64 vmovpl.f32 s15, s9 70024b76: eef4 6ae7 vcmpe.f32 s13, s15 70024b7a: eef1 fa10 vmrs APSR_nzcv, fpscr 70024b7e: fe77 7aa6 vselgt.f32 s15, s15, s13 70024b82: ee67 7a86 vmul.f32 s15, s15, s12 70024b86: eef4 7ac7 vcmpe.f32 s15, s14 70024b8a: eef1 fa10 vmrs APSR_nzcv, fpscr 70024b8e: db2a blt.n 70024be6 70024b90: edd2 7a01 vldr s15, [r2, #4] 70024b94: ed9f 6a73 vldr s12, [pc, #460] @ 70024d64 70024b98: ee34 7a67 vsub.f32 s14, s8, s15 70024b9c: eeb5 7ac0 vcmpe.f32 s14, #0.0 70024ba0: eef1 fa10 vmrs APSR_nzcv, fpscr 70024ba4: eeb5 4ac0 vcmpe.f32 s8, #0.0 70024ba8: bf48 it mi 70024baa: eeb1 7a47 vnegmi.f32 s14, s14 70024bae: eef1 fa10 vmrs APSR_nzcv, fpscr 70024bb2: eef5 7ac0 vcmpe.f32 s15, #0.0 70024bb6: bf4c ite mi 70024bb8: eef1 6a44 vnegmi.f32 s13, s8 70024bbc: eef0 6a44 vmovpl.f32 s13, s8 70024bc0: eef1 fa10 vmrs APSR_nzcv, fpscr 70024bc4: bf48 it mi 70024bc6: eef1 7a67 vnegmi.f32 s15, s15 70024bca: eef4 6a67 vcmp.f32 s13, s15 70024bce: eef1 fa10 vmrs APSR_nzcv, fpscr 70024bd2: bf48 it mi 70024bd4: eef0 7a66 vmovmi.f32 s15, s13 70024bd8: ee67 7a86 vmul.f32 s15, s15, s12 70024bdc: eef4 7ac7 vcmpe.f32 s15, s14 70024be0: eef1 fa10 vmrs APSR_nzcv, fpscr 70024be4: da00 bge.n 70024be8 70024be6: 3101 adds r1, #1 70024be8: 6823 ldr r3, [r4, #0] 70024bea: eef0 1a44 vmov.f32 s3, s8 70024bee: eeb0 1a64 vmov.f32 s2, s9 70024bf2: 4610 mov r0, r2 70024bf4: ed93 3a0c vldr s6, [r3, #48] @ 0x30 70024bf8: eef0 0a45 vmov.f32 s1, s10 70024bfc: eeb0 0a65 vmov.f32 s0, s11 70024c00: edd3 3a0d vldr s7, [r3, #52] @ 0x34 70024c04: eef0 2a43 vmov.f32 s5, s6 70024c08: eeb0 2a43 vmov.f32 s4, s6 70024c0c: f7ff fd5a bl 700246c4 70024c10: 2800 cmp r0, #0 70024c12: f000 80aa beq.w 70024d6a 70024c16: ed92 7a00 vldr s14, [r2] 70024c1a: eddf 3a52 vldr s7, [pc, #328] @ 70024d64 70024c1e: ee35 6ac7 vsub.f32 s12, s11, s14 70024c22: eeb5 6ac0 vcmpe.f32 s12, #0.0 70024c26: eef1 fa10 vmrs APSR_nzcv, fpscr 70024c2a: eef5 5ac0 vcmpe.f32 s11, #0.0 70024c2e: bf48 it mi 70024c30: eeb1 6a46 vnegmi.f32 s12, s12 70024c34: eef1 fa10 vmrs APSR_nzcv, fpscr 70024c38: eeb5 7ac0 vcmpe.f32 s14, #0.0 70024c3c: bf4c ite mi 70024c3e: eef1 7a65 vnegmi.f32 s15, s11 70024c42: eef0 7a65 vmovpl.f32 s15, s11 70024c46: eef1 fa10 vmrs APSR_nzcv, fpscr 70024c4a: bf4c ite mi 70024c4c: eef1 6a47 vnegmi.f32 s13, s14 70024c50: eef0 6a47 vmovpl.f32 s13, s14 70024c54: eef4 7ae6 vcmpe.f32 s15, s13 70024c58: eef1 fa10 vmrs APSR_nzcv, fpscr 70024c5c: bf58 it pl 70024c5e: eef0 7a66 vmovpl.f32 s15, s13 70024c62: ee67 7aa3 vmul.f32 s15, s15, s7 70024c66: eef4 7ac6 vcmpe.f32 s15, s12 70024c6a: eef1 fa10 vmrs APSR_nzcv, fpscr 70024c6e: db2a blt.n 70024cc6 70024c70: edd2 7a01 vldr s15, [r2, #4] 70024c74: ed9f 3a3b vldr s6, [pc, #236] @ 70024d64 70024c78: ee35 6a67 vsub.f32 s12, s10, s15 70024c7c: eeb5 6ac0 vcmpe.f32 s12, #0.0 70024c80: eef1 fa10 vmrs APSR_nzcv, fpscr 70024c84: eeb5 5ac0 vcmpe.f32 s10, #0.0 70024c88: bf48 it mi 70024c8a: eeb1 6a46 vnegmi.f32 s12, s12 70024c8e: eef1 fa10 vmrs APSR_nzcv, fpscr 70024c92: eef5 7ac0 vcmpe.f32 s15, #0.0 70024c96: bf4c ite mi 70024c98: eef1 3a45 vnegmi.f32 s7, s10 70024c9c: eef0 3a45 vmovpl.f32 s7, s10 70024ca0: eef1 fa10 vmrs APSR_nzcv, fpscr 70024ca4: bf48 it mi 70024ca6: eef1 7a67 vnegmi.f32 s15, s15 70024caa: eef4 3a67 vcmp.f32 s7, s15 70024cae: eef1 fa10 vmrs APSR_nzcv, fpscr 70024cb2: bf48 it mi 70024cb4: eef0 7a63 vmovmi.f32 s15, s7 70024cb8: ee67 7a83 vmul.f32 s15, s15, s6 70024cbc: eef4 7ac6 vcmpe.f32 s15, s12 70024cc0: eef1 fa10 vmrs APSR_nzcv, fpscr 70024cc4: da51 bge.n 70024d6a 70024cc6: ee34 7ac7 vsub.f32 s14, s9, s14 70024cca: ed9f 6a26 vldr s12, [pc, #152] @ 70024d64 70024cce: eeb5 7ac0 vcmpe.f32 s14, #0.0 70024cd2: eef1 fa10 vmrs APSR_nzcv, fpscr 70024cd6: eef5 4ac0 vcmpe.f32 s9, #0.0 70024cda: bf48 it mi 70024cdc: eeb1 7a47 vnegmi.f32 s14, s14 70024ce0: eef1 fa10 vmrs APSR_nzcv, fpscr 70024ce4: bf4c ite mi 70024ce6: eef1 7a64 vnegmi.f32 s15, s9 70024cea: eef0 7a64 vmovpl.f32 s15, s9 70024cee: eef4 6ae7 vcmpe.f32 s13, s15 70024cf2: eef1 fa10 vmrs APSR_nzcv, fpscr 70024cf6: fe77 7aa6 vselgt.f32 s15, s15, s13 70024cfa: ee67 7a86 vmul.f32 s15, s15, s12 70024cfe: eef4 7ac7 vcmpe.f32 s15, s14 70024d02: eef1 fa10 vmrs APSR_nzcv, fpscr 70024d06: db2f blt.n 70024d68 70024d08: edd2 7a01 vldr s15, [r2, #4] 70024d0c: ed9f 6a15 vldr s12, [pc, #84] @ 70024d64 70024d10: ee34 7a67 vsub.f32 s14, s8, s15 70024d14: eeb5 7ac0 vcmpe.f32 s14, #0.0 70024d18: eef1 fa10 vmrs APSR_nzcv, fpscr 70024d1c: eeb5 4ac0 vcmpe.f32 s8, #0.0 70024d20: bf48 it mi 70024d22: eeb1 7a47 vnegmi.f32 s14, s14 70024d26: eef1 fa10 vmrs APSR_nzcv, fpscr 70024d2a: eef5 7ac0 vcmpe.f32 s15, #0.0 70024d2e: bf4c ite mi 70024d30: eef1 6a44 vnegmi.f32 s13, s8 70024d34: eef0 6a44 vmovpl.f32 s13, s8 70024d38: eef1 fa10 vmrs APSR_nzcv, fpscr 70024d3c: bf48 it mi 70024d3e: eef1 7a67 vnegmi.f32 s15, s15 70024d42: eef4 6a67 vcmp.f32 s13, s15 70024d46: eef1 fa10 vmrs APSR_nzcv, fpscr 70024d4a: bf48 it mi 70024d4c: eef0 7a66 vmovmi.f32 s15, s13 70024d50: ee67 7a86 vmul.f32 s15, s15, s12 70024d54: eef4 7ac7 vcmpe.f32 s15, s14 70024d58: eef1 fa10 vmrs APSR_nzcv, fpscr 70024d5c: da05 bge.n 70024d6a 70024d5e: e003 b.n 70024d68 70024d60: 2400dc78 .word 0x2400dc78 70024d64: 3727c5ac .word 0x3727c5ac 70024d68: 3101 adds r1, #1 70024d6a: 6823 ldr r3, [r4, #0] 70024d6c: eef0 1a44 vmov.f32 s3, s8 70024d70: eeb0 1a64 vmov.f32 s2, s9 70024d74: 4610 mov r0, r2 70024d76: edd3 3a0d vldr s7, [r3, #52] @ 0x34 70024d7a: eef0 0a45 vmov.f32 s1, s10 70024d7e: eeb0 0a65 vmov.f32 s0, s11 70024d82: edd3 2a0c vldr s5, [r3, #48] @ 0x30 70024d86: eeb0 3a63 vmov.f32 s6, s7 70024d8a: eeb0 2a63 vmov.f32 s4, s7 70024d8e: f7ff fc99 bl 700246c4 70024d92: 2800 cmp r0, #0 70024d94: f000 809d beq.w 70024ed2 70024d98: edd2 7a00 vldr s15, [r2] 70024d9c: ed1f 6a0f vldr s12, [pc, #-60] @ 70024d64 70024da0: ee35 7ae7 vsub.f32 s14, s11, s15 70024da4: eeb5 7ac0 vcmpe.f32 s14, #0.0 70024da8: eef1 fa10 vmrs APSR_nzcv, fpscr 70024dac: eef5 5ac0 vcmpe.f32 s11, #0.0 70024db0: bf48 it mi 70024db2: eeb1 7a47 vnegmi.f32 s14, s14 70024db6: eef1 fa10 vmrs APSR_nzcv, fpscr 70024dba: eef5 7ac0 vcmpe.f32 s15, #0.0 70024dbe: bf48 it mi 70024dc0: eeb1 8a65 vnegmi.f32 s16, s11 70024dc4: eef1 fa10 vmrs APSR_nzcv, fpscr 70024dc8: bf4c ite mi 70024dca: eef1 6a67 vnegmi.f32 s13, s15 70024dce: eef0 6a67 vmovpl.f32 s13, s15 70024dd2: eeb4 8ae6 vcmpe.f32 s16, s13 70024dd6: eef1 fa10 vmrs APSR_nzcv, fpscr 70024dda: bf58 it pl 70024ddc: eeb0 8a66 vmovpl.f32 s16, s13 70024de0: ee28 8a06 vmul.f32 s16, s16, s12 70024de4: eeb4 8ac7 vcmpe.f32 s16, s14 70024de8: eef1 fa10 vmrs APSR_nzcv, fpscr 70024dec: db28 blt.n 70024e40 70024dee: ed92 7a01 vldr s14, [r2, #4] 70024df2: ed5f 5a24 vldr s11, [pc, #-144] @ 70024d64 70024df6: ee35 6a47 vsub.f32 s12, s10, s14 70024dfa: eeb5 6ac0 vcmpe.f32 s12, #0.0 70024dfe: eef1 fa10 vmrs APSR_nzcv, fpscr 70024e02: eeb5 5ac0 vcmpe.f32 s10, #0.0 70024e06: bf48 it mi 70024e08: eeb1 6a46 vnegmi.f32 s12, s12 70024e0c: eef1 fa10 vmrs APSR_nzcv, fpscr 70024e10: eeb5 7ac0 vcmpe.f32 s14, #0.0 70024e14: bf48 it mi 70024e16: eeb1 9a45 vnegmi.f32 s18, s10 70024e1a: eef1 fa10 vmrs APSR_nzcv, fpscr 70024e1e: bf48 it mi 70024e20: eeb1 7a47 vnegmi.f32 s14, s14 70024e24: eeb4 9a47 vcmp.f32 s18, s14 70024e28: eef1 fa10 vmrs APSR_nzcv, fpscr 70024e2c: bf48 it mi 70024e2e: eeb0 7a49 vmovmi.f32 s14, s18 70024e32: ee27 7a25 vmul.f32 s14, s14, s11 70024e36: eeb4 7ac6 vcmpe.f32 s14, s12 70024e3a: eef1 fa10 vmrs APSR_nzcv, fpscr 70024e3e: da48 bge.n 70024ed2 70024e40: ee74 7ae7 vsub.f32 s15, s9, s15 70024e44: ed1f 7a39 vldr s14, [pc, #-228] @ 70024d64 70024e48: eef5 7ac0 vcmpe.f32 s15, #0.0 70024e4c: eef1 fa10 vmrs APSR_nzcv, fpscr 70024e50: eef5 4ac0 vcmpe.f32 s9, #0.0 70024e54: bf48 it mi 70024e56: eef1 7a67 vnegmi.f32 s15, s15 70024e5a: eef1 fa10 vmrs APSR_nzcv, fpscr 70024e5e: bf48 it mi 70024e60: eef1 8a64 vnegmi.f32 s17, s9 70024e64: eef4 6ae8 vcmpe.f32 s13, s17 70024e68: eef1 fa10 vmrs APSR_nzcv, fpscr 70024e6c: fe78 8aa6 vselgt.f32 s17, s17, s13 70024e70: ee68 8a87 vmul.f32 s17, s17, s14 70024e74: eef4 8ae7 vcmpe.f32 s17, s15 70024e78: eef1 fa10 vmrs APSR_nzcv, fpscr 70024e7c: db28 blt.n 70024ed0 70024e7e: edd2 7a01 vldr s15, [r2, #4] 70024e82: ed5f 6a48 vldr s13, [pc, #-288] @ 70024d64 70024e86: ee34 7a67 vsub.f32 s14, s8, s15 70024e8a: eeb5 7ac0 vcmpe.f32 s14, #0.0 70024e8e: eef1 fa10 vmrs APSR_nzcv, fpscr 70024e92: eeb5 4ac0 vcmpe.f32 s8, #0.0 70024e96: bf48 it mi 70024e98: eeb1 7a47 vnegmi.f32 s14, s14 70024e9c: eef1 fa10 vmrs APSR_nzcv, fpscr 70024ea0: eef5 7ac0 vcmpe.f32 s15, #0.0 70024ea4: bf48 it mi 70024ea6: eef1 9a44 vnegmi.f32 s19, s8 70024eaa: eef1 fa10 vmrs APSR_nzcv, fpscr 70024eae: bf48 it mi 70024eb0: eef1 7a67 vnegmi.f32 s15, s15 70024eb4: eef4 9a67 vcmp.f32 s19, s15 70024eb8: eef1 fa10 vmrs APSR_nzcv, fpscr 70024ebc: bf48 it mi 70024ebe: eef0 7a69 vmovmi.f32 s15, s19 70024ec2: ee67 7aa6 vmul.f32 s15, s15, s13 70024ec6: eef4 7ac7 vcmpe.f32 s15, s14 70024eca: eef1 fa10 vmrs APSR_nzcv, fpscr 70024ece: da00 bge.n 70024ed2 70024ed0: 3101 adds r1, #1 70024ed2: 4608 mov r0, r1 70024ed4: b004 add sp, #16 70024ed6: ecbd 8b04 vpop {d8-d9} 70024eda: bd10 pop {r4, pc} 70024edc: ee23 3a20 vmul.f32 s6, s6, s1 70024ee0: ee62 2a81 vmul.f32 s5, s5, s2 70024ee4: ee33 3a62 vsub.f32 s6, s6, s5 70024ee8: ee83 6a26 vdiv.f32 s12, s6, s13 70024eec: eeb5 6ac0 vcmpe.f32 s12, #0.0 70024ef0: eef1 fa10 vmrs APSR_nzcv, fpscr 70024ef4: f6ff adc0 blt.w 70024a78 70024ef8: eeb4 6ac0 vcmpe.f32 s12, s0 70024efc: eef1 fa10 vmrs APSR_nzcv, fpscr 70024f00: f63f adba bhi.w 70024a78 70024f04: ee67 7a86 vmul.f32 s15, s15, s12 70024f08: ed1f 3a6a vldr s6, [pc, #-424] @ 70024d64 70024f0c: ee27 7a06 vmul.f32 s14, s14, s12 70024f10: ee77 7aa5 vadd.f32 s15, s15, s11 70024f14: ee37 7a05 vadd.f32 s14, s14, s10 70024f18: ee75 3ae7 vsub.f32 s7, s11, s15 70024f1c: edc0 7a00 vstr s15, [r0] 70024f20: ed80 7a01 vstr s14, [r0, #4] 70024f24: eef5 3ac0 vcmpe.f32 s7, #0.0 70024f28: eef1 fa10 vmrs APSR_nzcv, fpscr 70024f2c: eef5 5ac0 vcmpe.f32 s11, #0.0 70024f30: bf48 it mi 70024f32: eef1 3a63 vnegmi.f32 s7, s7 70024f36: eef1 fa10 vmrs APSR_nzcv, fpscr 70024f3a: eef5 7ac0 vcmpe.f32 s15, #0.0 70024f3e: bf4c ite mi 70024f40: eef1 6a65 vnegmi.f32 s13, s11 70024f44: eef0 6a65 vmovpl.f32 s13, s11 70024f48: eef1 fa10 vmrs APSR_nzcv, fpscr 70024f4c: bf4c ite mi 70024f4e: eeb1 6a67 vnegmi.f32 s12, s15 70024f52: eeb0 6a67 vmovpl.f32 s12, s15 70024f56: eef4 6ac6 vcmpe.f32 s13, s12 70024f5a: eef1 fa10 vmrs APSR_nzcv, fpscr 70024f5e: bf58 it pl 70024f60: eef0 6a46 vmovpl.f32 s13, s12 70024f64: ee66 6a83 vmul.f32 s13, s13, s6 70024f68: eef4 6ae3 vcmpe.f32 s13, s7 70024f6c: eef1 fa10 vmrs APSR_nzcv, fpscr 70024f70: db2a blt.n 70024fc8 70024f72: ee75 3a47 vsub.f32 s7, s10, s14 70024f76: ed5f 2a85 vldr s5, [pc, #-532] @ 70024d64 70024f7a: eef5 3ac0 vcmpe.f32 s7, #0.0 70024f7e: eef1 fa10 vmrs APSR_nzcv, fpscr 70024f82: eeb5 5ac0 vcmpe.f32 s10, #0.0 70024f86: bf48 it mi 70024f88: eef1 3a63 vnegmi.f32 s7, s7 70024f8c: eef1 fa10 vmrs APSR_nzcv, fpscr 70024f90: eeb5 7ac0 vcmpe.f32 s14, #0.0 70024f94: bf4c ite mi 70024f96: eeb1 3a45 vnegmi.f32 s6, s10 70024f9a: eeb0 3a45 vmovpl.f32 s6, s10 70024f9e: eef1 fa10 vmrs APSR_nzcv, fpscr 70024fa2: bf4c ite mi 70024fa4: eef1 6a47 vnegmi.f32 s13, s14 70024fa8: eef0 6a47 vmovpl.f32 s13, s14 70024fac: eeb4 3a66 vcmp.f32 s6, s13 70024fb0: eef1 fa10 vmrs APSR_nzcv, fpscr 70024fb4: bf48 it mi 70024fb6: eef0 6a43 vmovmi.f32 s13, s6 70024fba: ee66 6aa2 vmul.f32 s13, s13, s5 70024fbe: eef4 6ae3 vcmpe.f32 s13, s7 70024fc2: eef1 fa10 vmrs APSR_nzcv, fpscr 70024fc6: da53 bge.n 70025070 70024fc8: ee74 7ae7 vsub.f32 s15, s9, s15 70024fcc: ed1f 3a9b vldr s6, [pc, #-620] @ 70024d64 70024fd0: 6823 ldr r3, [r4, #0] 70024fd2: eef5 7ac0 vcmpe.f32 s15, #0.0 70024fd6: ed93 2a0c vldr s4, [r3, #48] @ 0x30 70024fda: edd3 3a0d vldr s7, [r3, #52] @ 0x34 70024fde: eef1 fa10 vmrs APSR_nzcv, fpscr 70024fe2: eef5 4ac0 vcmpe.f32 s9, #0.0 70024fe6: bf48 it mi 70024fe8: eef1 7a67 vnegmi.f32 s15, s15 70024fec: eef1 fa10 vmrs APSR_nzcv, fpscr 70024ff0: bf4c ite mi 70024ff2: eef1 6a64 vnegmi.f32 s13, s9 70024ff6: eef0 6a64 vmovpl.f32 s13, s9 70024ffa: eeb4 6ae6 vcmpe.f32 s12, s13 70024ffe: eef1 fa10 vmrs APSR_nzcv, fpscr 70025002: fe76 6a86 vselgt.f32 s13, s13, s12 70025006: ee66 6a83 vmul.f32 s13, s13, s6 7002500a: eef4 6ae7 vcmpe.f32 s13, s15 7002500e: eef1 fa10 vmrs APSR_nzcv, fpscr 70025012: db2b blt.n 7002506c 70025014: ee74 7a47 vsub.f32 s15, s8, s14 70025018: ed1f 6aae vldr s12, [pc, #-696] @ 70024d64 7002501c: eef5 7ac0 vcmpe.f32 s15, #0.0 70025020: eef1 fa10 vmrs APSR_nzcv, fpscr 70025024: eeb5 4ac0 vcmpe.f32 s8, #0.0 70025028: bf48 it mi 7002502a: eef1 7a67 vnegmi.f32 s15, s15 7002502e: eef1 fa10 vmrs APSR_nzcv, fpscr 70025032: eeb5 7ac0 vcmpe.f32 s14, #0.0 70025036: bf4c ite mi 70025038: eef1 6a44 vnegmi.f32 s13, s8 7002503c: eef0 6a44 vmovpl.f32 s13, s8 70025040: eef1 fa10 vmrs APSR_nzcv, fpscr 70025044: bf48 it mi 70025046: eeb1 7a47 vnegmi.f32 s14, s14 7002504a: eef4 6a47 vcmp.f32 s13, s14 7002504e: eef1 fa10 vmrs APSR_nzcv, fpscr 70025052: bf48 it mi 70025054: eeb0 7a66 vmovmi.f32 s14, s13 70025058: ee27 7a06 vmul.f32 s14, s14, s12 7002505c: eeb4 7ae7 vcmpe.f32 s14, s15 70025060: eef1 fa10 vmrs APSR_nzcv, fpscr 70025064: bfb4 ite lt 70025066: 2101 movlt r1, #1 70025068: 2100 movge r1, #0 7002506a: e506 b.n 70024a7a 7002506c: 2101 movs r1, #1 7002506e: e504 b.n 70024a7a 70025070: 6823 ldr r3, [r4, #0] 70025072: 2100 movs r1, #0 70025074: ed93 2a0c vldr s4, [r3, #48] @ 0x30 70025078: edd3 3a0d vldr s7, [r3, #52] @ 0x34 7002507c: e4fd b.n 70024a7a 7002507e: bf00 nop 70025080 : 70025080: b570 push {r4, r5, r6, lr} 70025082: 4dc2 ldr r5, [pc, #776] @ (7002538c ) 70025084: ed2d 8b06 vpush {d8-d10} 70025088: 682c ldr r4, [r5, #0] 7002508a: b08a sub sp, #40 @ 0x28 7002508c: eef0 9a40 vmov.f32 s19, s0 70025090: ed94 9a0d vldr s18, [r4, #52] @ 0x34 70025094: eeb0 aa60 vmov.f32 s20, s1 70025098: eeb0 8a41 vmov.f32 s16, s2 7002509c: ed8d 0a02 vstr s0, [sp, #8] 700250a0: eeb4 9ac0 vcmpe.f32 s18, s0 700250a4: edcd 0a03 vstr s1, [sp, #12] 700250a8: eef0 8a61 vmov.f32 s17, s3 700250ac: ed8d 1a00 vstr s2, [sp] 700250b0: edcd 1a01 vstr s3, [sp, #4] 700250b4: eef1 fa10 vmrs APSR_nzcv, fpscr 700250b8: d405 bmi.n 700250c6 700250ba: eeb4 9ae0 vcmpe.f32 s18, s1 700250be: eef1 fa10 vmrs APSR_nzcv, fpscr 700250c2: f140 8167 bpl.w 70025394 700250c6: eeb4 9ac8 vcmpe.f32 s18, s16 700250ca: eef1 fa10 vmrs APSR_nzcv, fpscr 700250ce: f140 8117 bpl.w 70025300 700250d2: 2300 movs r3, #0 700250d4: a806 add r0, sp, #24 700250d6: 9306 str r3, [sp, #24] 700250d8: 60c3 str r3, [r0, #12] 700250da: e9c0 3301 strd r3, r3, [r0, #4] 700250de: ed9d 0a00 vldr s0, [sp] 700250e2: eddd 0a01 vldr s1, [sp, #4] 700250e6: ed9d 1a02 vldr s2, [sp, #8] 700250ea: eddd 1a03 vldr s3, [sp, #12] 700250ee: f7ff fc79 bl 700249e4 700250f2: edd4 0a0c vldr s1, [r4, #48] @ 0x30 700250f6: eef4 9ae0 vcmpe.f32 s19, s1 700250fa: eef1 fa10 vmrs APSR_nzcv, fpscr 700250fe: bf54 ite pl 70025100: eef0 4a69 vmovpl.f32 s9, s19 70025104: eef0 4a60 vmovmi.f32 s9, s1 70025108: eeb4 9a64 vcmp.f32 s18, s9 7002510c: eef1 fa10 vmrs APSR_nzcv, fpscr 70025110: eeb4 aae0 vcmpe.f32 s20, s1 70025114: bf48 it mi 70025116: eef0 4a49 vmovmi.f32 s9, s18 7002511a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002511e: bf54 ite pl 70025120: eef0 5a4a vmovpl.f32 s11, s20 70025124: eef0 5a60 vmovmi.f32 s11, s1 70025128: eeb4 9a65 vcmp.f32 s18, s11 7002512c: eef1 fa10 vmrs APSR_nzcv, fpscr 70025130: eeb4 8ae0 vcmpe.f32 s16, s1 70025134: bf48 it mi 70025136: eef0 5a49 vmovmi.f32 s11, s18 7002513a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002513e: bf54 ite pl 70025140: eeb0 0a48 vmovpl.f32 s0, s16 70025144: eeb0 0a60 vmovmi.f32 s0, s1 70025148: eeb4 9a40 vcmp.f32 s18, s0 7002514c: eef1 fa10 vmrs APSR_nzcv, fpscr 70025150: eef4 8ae0 vcmpe.f32 s17, s1 70025154: bf48 it mi 70025156: eeb0 0a49 vmovmi.f32 s0, s18 7002515a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002515e: bf58 it pl 70025160: eef0 0a68 vmovpl.f32 s1, s17 70025164: eeb4 9a60 vcmp.f32 s18, s1 70025168: eef1 fa10 vmrs APSR_nzcv, fpscr 7002516c: bf48 it mi 7002516e: eef0 0a49 vmovmi.f32 s1, s18 70025172: 2802 cmp r0, #2 70025174: f000 8184 beq.w 70025480 70025178: ee74 6ac0 vsub.f32 s13, s9, s0 7002517c: ed9f 5a84 vldr s10, [pc, #528] @ 70025390 70025180: eef5 6ac0 vcmpe.f32 s13, #0.0 70025184: eef1 fa10 vmrs APSR_nzcv, fpscr 70025188: eef5 4ac0 vcmpe.f32 s9, #0.0 7002518c: bf48 it mi 7002518e: eef1 6a66 vnegmi.f32 s13, s13 70025192: eef1 fa10 vmrs APSR_nzcv, fpscr 70025196: eeb5 0ac0 vcmpe.f32 s0, #0.0 7002519a: bf4c ite mi 7002519c: eef1 7a64 vnegmi.f32 s15, s9 700251a0: eef0 7a64 vmovpl.f32 s15, s9 700251a4: eef1 fa10 vmrs APSR_nzcv, fpscr 700251a8: bf4c ite mi 700251aa: eeb1 6a40 vnegmi.f32 s12, s0 700251ae: eeb0 6a40 vmovpl.f32 s12, s0 700251b2: eef4 7ac6 vcmpe.f32 s15, s12 700251b6: eef1 fa10 vmrs APSR_nzcv, fpscr 700251ba: bf58 it pl 700251bc: eef0 7a46 vmovpl.f32 s15, s12 700251c0: ee67 7a85 vmul.f32 s15, s15, s10 700251c4: eef4 7ae6 vcmpe.f32 s15, s13 700251c8: eef1 fa10 vmrs APSR_nzcv, fpscr 700251cc: f280 8083 bge.w 700252d6 700251d0: ee75 6ae0 vsub.f32 s13, s11, s1 700251d4: ed9f 5a6e vldr s10, [pc, #440] @ 70025390 700251d8: eef5 6ac0 vcmpe.f32 s13, #0.0 700251dc: eef1 fa10 vmrs APSR_nzcv, fpscr 700251e0: eef5 5ac0 vcmpe.f32 s11, #0.0 700251e4: bf48 it mi 700251e6: eef1 6a66 vnegmi.f32 s13, s13 700251ea: eef1 fa10 vmrs APSR_nzcv, fpscr 700251ee: eef5 0ac0 vcmpe.f32 s1, #0.0 700251f2: bf4c ite mi 700251f4: eef1 7a65 vnegmi.f32 s15, s11 700251f8: eef0 7a65 vmovpl.f32 s15, s11 700251fc: eef1 fa10 vmrs APSR_nzcv, fpscr 70025200: bf4c ite mi 70025202: eeb1 6a60 vnegmi.f32 s12, s1 70025206: eeb0 6a60 vmovpl.f32 s12, s1 7002520a: eef4 7ac6 vcmpe.f32 s15, s12 7002520e: eef1 fa10 vmrs APSR_nzcv, fpscr 70025212: bf58 it pl 70025214: eef0 7a46 vmovpl.f32 s15, s12 70025218: ee67 7a85 vmul.f32 s15, s15, s10 7002521c: eef4 7ae6 vcmpe.f32 s15, s13 70025220: eef1 fa10 vmrs APSR_nzcv, fpscr 70025224: da57 bge.n 700252d6 70025226: ee78 8aca vsub.f32 s17, s17, s20 7002522a: 6ae2 ldr r2, [r4, #44] @ 0x2c 7002522c: ee38 8a69 vsub.f32 s16, s16, s19 70025230: 68e3 ldr r3, [r4, #12] 70025232: ee30 6aca vsub.f32 s12, s1, s20 70025236: ee74 6ae9 vsub.f32 s13, s9, s19 7002523a: ee70 7a69 vsub.f32 s15, s0, s19 7002523e: ee35 aaca vsub.f32 s20, s11, s20 70025242: ee66 6aa8 vmul.f32 s13, s13, s17 70025246: ee26 6a08 vmul.f32 s12, s12, s16 7002524a: ee67 7aa8 vmul.f32 s15, s15, s17 7002524e: ee2a aa08 vmul.f32 s20, s20, s16 70025252: ee76 6ac6 vsub.f32 s13, s13, s12 70025256: ee77 7aca vsub.f32 s15, s15, s20 7002525a: 2a00 cmp r2, #0 7002525c: f040 82cb bne.w 700257f6 70025260: 6822 ldr r2, [r4, #0] 70025262: 429a cmp r2, r3 70025264: f240 82ca bls.w 700257fc 70025268: 69e2 ldr r2, [r4, #28] 7002526a: 2182 movs r1, #130 @ 0x82 7002526c: 54d1 strb r1, [r2, r3] 7002526e: 682c ldr r4, [r5, #0] 70025270: 68e3 ldr r3, [r4, #12] 70025272: 6ae2 ldr r2, [r4, #44] @ 0x2c 70025274: 3301 adds r3, #1 70025276: 60e3 str r3, [r4, #12] 70025278: eef5 6ac0 vcmpe.f32 s13, #0.0 7002527c: 68a3 ldr r3, [r4, #8] 7002527e: eef1 fa10 vmrs APSR_nzcv, fpscr 70025282: eef5 7ac0 vcmpe.f32 s15, #0.0 70025286: bf48 it mi 70025288: eef1 6a66 vnegmi.f32 s13, s13 7002528c: eef1 fa10 vmrs APSR_nzcv, fpscr 70025290: bf48 it mi 70025292: eef1 7a67 vnegmi.f32 s15, s15 70025296: eef4 6ae7 vcmpe.f32 s13, s15 7002529a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002529e: f140 8291 bpl.w 700257c4 700252a2: 2a00 cmp r2, #0 700252a4: f040 8239 bne.w 7002571a 700252a8: 1c5a adds r2, r3, #1 700252aa: 6861 ldr r1, [r4, #4] 700252ac: 428a cmp r2, r1 700252ae: f080 827b bcs.w 700257a8 700252b2: 6922 ldr r2, [r4, #16] 700252b4: eb02 0383 add.w r3, r2, r3, lsl #2 700252b8: edc3 4a00 vstr s9, [r3] 700252bc: 6829 ldr r1, [r5, #0] 700252be: 688b ldr r3, [r1, #8] 700252c0: 690a ldr r2, [r1, #16] 700252c2: 3301 adds r3, #1 700252c4: eb02 0283 add.w r2, r2, r3, lsl #2 700252c8: 608b str r3, [r1, #8] 700252ca: edc2 0a00 vstr s1, [r2] 700252ce: 682a ldr r2, [r5, #0] 700252d0: 6893 ldr r3, [r2, #8] 700252d2: 3301 adds r3, #1 700252d4: 6093 str r3, [r2, #8] 700252d6: 2080 movs r0, #128 @ 0x80 700252d8: ed8d 0a04 vstr s0, [sp, #16] 700252dc: edcd 0a05 vstr s1, [sp, #20] 700252e0: f7ff fa96 bl 70024810 700252e4: 4604 mov r4, r0 700252e6: 2800 cmp r0, #0 700252e8: d04a beq.n 70025380 700252ea: 682b ldr r3, [r5, #0] 700252ec: 2200 movs r2, #0 700252ee: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 700252f2: f002 fb2d bl 70027950 700252f6: 4620 mov r0, r4 700252f8: b00a add sp, #40 @ 0x28 700252fa: ecbd 8b06 vpop {d8-d10} 700252fe: bd70 pop {r4, r5, r6, pc} 70025300: eeb4 9ae8 vcmpe.f32 s18, s17 70025304: eef1 fa10 vmrs APSR_nzcv, fpscr 70025308: f53f aee3 bmi.w 700250d2 7002530c: edd4 7a0c vldr s15, [r4, #48] @ 0x30 70025310: eeb4 8ae7 vcmpe.f32 s16, s15 70025314: eef1 fa10 vmrs APSR_nzcv, fpscr 70025318: f53f aedb bmi.w 700250d2 7002531c: eef4 8ae7 vcmpe.f32 s17, s15 70025320: eef1 fa10 vmrs APSR_nzcv, fpscr 70025324: f53f aed5 bmi.w 700250d2 70025328: 2300 movs r3, #0 7002532a: a806 add r0, sp, #24 7002532c: 9306 str r3, [sp, #24] 7002532e: 60c3 str r3, [r0, #12] 70025330: e9c0 3301 strd r3, r3, [r0, #4] 70025334: ed9d 1a00 vldr s2, [sp] 70025338: eddd 1a01 vldr s3, [sp, #4] 7002533c: ed9d 0a02 vldr s0, [sp, #8] 70025340: eddd 0a03 vldr s1, [sp, #12] 70025344: f7ff fb4e bl 700249e4 70025348: 6ae3 ldr r3, [r4, #44] @ 0x2c 7002534a: 2b00 cmp r3, #0 7002534c: f040 8168 bne.w 70025620 70025350: 68e3 ldr r3, [r4, #12] 70025352: 6822 ldr r2, [r4, #0] 70025354: 4293 cmp r3, r2 70025356: f0c0 8140 bcc.w 700255da 7002535a: 2102 movs r1, #2 7002535c: 3301 adds r3, #1 7002535e: 2201 movs r2, #1 70025360: 62a1 str r1, [r4, #40] @ 0x28 70025362: 60e3 str r3, [r4, #12] 70025364: 62e2 str r2, [r4, #44] @ 0x2c 70025366: 68a3 ldr r3, [r4, #8] 70025368: 3302 adds r3, #2 7002536a: 60a3 str r3, [r4, #8] 7002536c: 2000 movs r0, #0 7002536e: ed9d 0a00 vldr s0, [sp] 70025372: eddd 0a01 vldr s1, [sp, #4] 70025376: f7ff fa4b bl 70024810 7002537a: 4604 mov r4, r0 7002537c: 2800 cmp r0, #0 7002537e: d1b4 bne.n 700252ea 70025380: 4620 mov r0, r4 70025382: b00a add sp, #40 @ 0x28 70025384: ecbd 8b06 vpop {d8-d10} 70025388: bd70 pop {r4, r5, r6, pc} 7002538a: bf00 nop 7002538c: 2400dc78 .word 0x2400dc78 70025390: 3727c5ac .word 0x3727c5ac 70025394: edd4 7a0c vldr s15, [r4, #48] @ 0x30 70025398: eef4 7ac0 vcmpe.f32 s15, s0 7002539c: eef1 fa10 vmrs APSR_nzcv, fpscr 700253a0: f73f ae91 bgt.w 700250c6 700253a4: eeb4 9ac1 vcmpe.f32 s18, s2 700253a8: eef1 fa10 vmrs APSR_nzcv, fpscr 700253ac: d405 bmi.n 700253ba 700253ae: eeb4 9ae1 vcmpe.f32 s18, s3 700253b2: eef1 fa10 vmrs APSR_nzcv, fpscr 700253b6: f140 8177 bpl.w 700256a8 700253ba: eef4 7aca vcmpe.f32 s15, s20 700253be: 2300 movs r3, #0 700253c0: a806 add r0, sp, #24 700253c2: 9306 str r3, [sp, #24] 700253c4: eef1 fa10 vmrs APSR_nzcv, fpscr 700253c8: 60c3 str r3, [r0, #12] 700253ca: e9c0 3301 strd r3, r3, [r0, #4] 700253ce: f73f ae86 bgt.w 700250de 700253d2: ed9d 1a00 vldr s2, [sp] 700253d6: eddd 1a01 vldr s3, [sp, #4] 700253da: ed9d 0a02 vldr s0, [sp, #8] 700253de: eddd 0a03 vldr s1, [sp, #12] 700253e2: f7ff faff bl 700249e4 700253e6: f240 10ff movw r0, #511 @ 0x1ff 700253ea: 6a62 ldr r2, [r4, #36] @ 0x24 700253ec: 6ae1 ldr r1, [r4, #44] @ 0x2c 700253ee: 68e3 ldr r3, [r4, #12] 700253f0: 4282 cmp r2, r0 700253f2: bf0c ite eq 700253f4: 2282 moveq r2, #130 @ 0x82 700253f6: 2202 movne r2, #2 700253f8: 2900 cmp r1, #0 700253fa: f040 8137 bne.w 7002566c 700253fe: 6821 ldr r1, [r4, #0] 70025400: 4299 cmp r1, r3 70025402: f200 8111 bhi.w 70025628 70025406: 2102 movs r1, #2 70025408: 3301 adds r3, #1 7002540a: 2201 movs r2, #1 7002540c: 62a1 str r1, [r4, #40] @ 0x28 7002540e: 60e3 str r3, [r4, #12] 70025410: 62e2 str r2, [r4, #44] @ 0x2c 70025412: 68a3 ldr r3, [r4, #8] 70025414: 3302 adds r3, #2 70025416: 60a3 str r3, [r4, #8] 70025418: ed94 7a0c vldr s14, [r4, #48] @ 0x30 7002541c: 2080 movs r0, #128 @ 0x80 7002541e: edd4 7a0d vldr s15, [r4, #52] @ 0x34 70025422: eeb4 8a47 vcmp.f32 s16, s14 70025426: eef1 fa10 vmrs APSR_nzcv, fpscr 7002542a: bf4c ite mi 7002542c: eeb0 0a47 vmovmi.f32 s0, s14 70025430: eeb0 0a48 vmovpl.f32 s0, s16 70025434: eef4 7a40 vcmp.f32 s15, s0 70025438: eef1 fa10 vmrs APSR_nzcv, fpscr 7002543c: eef4 8a47 vcmp.f32 s17, s14 70025440: bf48 it mi 70025442: eeb0 0a67 vmovmi.f32 s0, s15 70025446: eef1 fa10 vmrs APSR_nzcv, fpscr 7002544a: ed8d 0a04 vstr s0, [sp, #16] 7002544e: bf4c ite mi 70025450: eef0 0a47 vmovmi.f32 s1, s14 70025454: eef0 0a68 vmovpl.f32 s1, s17 70025458: eef4 7a60 vcmp.f32 s15, s1 7002545c: eef1 fa10 vmrs APSR_nzcv, fpscr 70025460: bf48 it mi 70025462: eef0 0a67 vmovmi.f32 s1, s15 70025466: edcd 0a05 vstr s1, [sp, #20] 7002546a: f7ff f9d1 bl 70024810 7002546e: 4604 mov r4, r0 70025470: 2800 cmp r0, #0 70025472: f47f af3a bne.w 700252ea 70025476: 4620 mov r0, r4 70025478: b00a add sp, #40 @ 0x28 7002547a: ecbd 8b06 vpop {d8-d10} 7002547e: bd70 pop {r4, r5, r6, pc} 70025480: 6ae2 ldr r2, [r4, #44] @ 0x2c 70025482: 68e3 ldr r3, [r4, #12] 70025484: 2a00 cmp r2, #0 70025486: f000 8102 beq.w 7002568e 7002548a: 3301 adds r3, #1 7002548c: 60e3 str r3, [r4, #12] 7002548e: eddd 6a06 vldr s13, [sp, #24] 70025492: f240 13ff movw r3, #511 @ 0x1ff 70025496: 6a61 ldr r1, [r4, #36] @ 0x24 70025498: ee34 6ae6 vsub.f32 s12, s9, s13 7002549c: ed1f 5a44 vldr s10, [pc, #-272] @ 70025390 700254a0: 4299 cmp r1, r3 700254a2: bf0c ite eq 700254a4: 2182 moveq r1, #130 @ 0x82 700254a6: 2102 movne r1, #2 700254a8: eeb5 6ac0 vcmpe.f32 s12, #0.0 700254ac: eef1 fa10 vmrs APSR_nzcv, fpscr 700254b0: eef5 4ac0 vcmpe.f32 s9, #0.0 700254b4: bf48 it mi 700254b6: eeb1 6a46 vnegmi.f32 s12, s12 700254ba: eef1 fa10 vmrs APSR_nzcv, fpscr 700254be: eef5 6ac0 vcmpe.f32 s13, #0.0 700254c2: bf48 it mi 700254c4: eef1 4a64 vnegmi.f32 s9, s9 700254c8: eef1 fa10 vmrs APSR_nzcv, fpscr 700254cc: bf4c ite mi 700254ce: eef1 7a66 vnegmi.f32 s15, s13 700254d2: eef0 7a66 vmovpl.f32 s15, s13 700254d6: eef4 4a67 vcmp.f32 s9, s15 700254da: eef1 fa10 vmrs APSR_nzcv, fpscr 700254de: bf48 it mi 700254e0: eef0 7a64 vmovmi.f32 s15, s9 700254e4: ee67 7a85 vmul.f32 s15, s15, s10 700254e8: eef4 7ac6 vcmpe.f32 s15, s12 700254ec: eef1 fa10 vmrs APSR_nzcv, fpscr 700254f0: f280 8103 bge.w 700256fa 700254f4: ed9d 6a07 vldr s12, [sp, #28] 700254f8: ed5f 4a5b vldr s9, [pc, #-364] @ 70025390 700254fc: ee35 5ac6 vsub.f32 s10, s11, s12 70025500: eeb5 5ac0 vcmpe.f32 s10, #0.0 70025504: eef1 fa10 vmrs APSR_nzcv, fpscr 70025508: eef5 5ac0 vcmpe.f32 s11, #0.0 7002550c: bf48 it mi 7002550e: eeb1 5a45 vnegmi.f32 s10, s10 70025512: eef1 fa10 vmrs APSR_nzcv, fpscr 70025516: eeb5 6ac0 vcmpe.f32 s12, #0.0 7002551a: bf48 it mi 7002551c: eef1 5a65 vnegmi.f32 s11, s11 70025520: eef1 fa10 vmrs APSR_nzcv, fpscr 70025524: bf4c ite mi 70025526: eef1 7a46 vnegmi.f32 s15, s12 7002552a: eef0 7a46 vmovpl.f32 s15, s12 7002552e: eef4 5a67 vcmp.f32 s11, s15 70025532: eef1 fa10 vmrs APSR_nzcv, fpscr 70025536: bf48 it mi 70025538: eef0 7a65 vmovmi.f32 s15, s11 7002553c: ee67 7aa4 vmul.f32 s15, s15, s9 70025540: eef4 7ac5 vcmpe.f32 s15, s10 70025544: eef1 fa10 vmrs APSR_nzcv, fpscr 70025548: f280 80d7 bge.w 700256fa 7002554c: 68a3 ldr r3, [r4, #8] 7002554e: 2a00 cmp r2, #0 70025550: f040 80e6 bne.w 70025720 70025554: 1c5a adds r2, r3, #1 70025556: 6860 ldr r0, [r4, #4] 70025558: 4282 cmp r2, r0 7002555a: f080 80d4 bcs.w 70025706 7002555e: 6922 ldr r2, [r4, #16] 70025560: 9808 ldr r0, [sp, #32] 70025562: eb02 0383 add.w r3, r2, r3, lsl #2 70025566: 6018 str r0, [r3, #0] 70025568: 6828 ldr r0, [r5, #0] 7002556a: 6883 ldr r3, [r0, #8] 7002556c: 6902 ldr r2, [r0, #16] 7002556e: 3301 adds r3, #1 70025570: 6083 str r3, [r0, #8] 70025572: eb02 0283 add.w r2, r2, r3, lsl #2 70025576: 9b09 ldr r3, [sp, #36] @ 0x24 70025578: 6013 str r3, [r2, #0] 7002557a: 682c ldr r4, [r5, #0] 7002557c: 68a3 ldr r3, [r4, #8] 7002557e: 6ae2 ldr r2, [r4, #44] @ 0x2c 70025580: 3301 adds r3, #1 70025582: 60a3 str r3, [r4, #8] 70025584: 2a00 cmp r2, #0 70025586: f040 80c4 bne.w 70025712 7002558a: 68e2 ldr r2, [r4, #12] 7002558c: 6820 ldr r0, [r4, #0] 7002558e: 4282 cmp r2, r0 70025590: f080 80e2 bcs.w 70025758 70025594: 69e3 ldr r3, [r4, #28] 70025596: 5499 strb r1, [r3, r2] 70025598: 682c ldr r4, [r5, #0] 7002559a: 68e3 ldr r3, [r4, #12] 7002559c: 6ae2 ldr r2, [r4, #44] @ 0x2c 7002559e: 3301 adds r3, #1 700255a0: 60e3 str r3, [r4, #12] 700255a2: 2a00 cmp r2, #0 700255a4: f040 8132 bne.w 7002580c 700255a8: e9d4 2301 ldrd r2, r3, [r4, #4] 700255ac: 1c59 adds r1, r3, #1 700255ae: 4291 cmp r1, r2 700255b0: f080 80fa bcs.w 700257a8 700255b4: 6922 ldr r2, [r4, #16] 700255b6: eb02 0383 add.w r3, r2, r3, lsl #2 700255ba: edc3 6a00 vstr s13, [r3] 700255be: 6829 ldr r1, [r5, #0] 700255c0: 688b ldr r3, [r1, #8] 700255c2: 690a ldr r2, [r1, #16] 700255c4: 3301 adds r3, #1 700255c6: eb02 0283 add.w r2, r2, r3, lsl #2 700255ca: 608b str r3, [r1, #8] 700255cc: ed82 6a00 vstr s12, [r2] 700255d0: 682a ldr r2, [r5, #0] 700255d2: 6893 ldr r3, [r2, #8] 700255d4: 3301 adds r3, #1 700255d6: 6093 str r3, [r2, #8] 700255d8: e67d b.n 700252d6 700255da: 69e2 ldr r2, [r4, #28] 700255dc: 2182 movs r1, #130 @ 0x82 700255de: 54d1 strb r1, [r2, r3] 700255e0: 682c ldr r4, [r5, #0] 700255e2: 68e3 ldr r3, [r4, #12] 700255e4: 6ae2 ldr r2, [r4, #44] @ 0x2c 700255e6: 3301 adds r3, #1 700255e8: 60e3 str r3, [r4, #12] 700255ea: 2a00 cmp r2, #0 700255ec: f47f aebb bne.w 70025366 700255f0: e9d4 2301 ldrd r2, r3, [r4, #4] 700255f4: 1c59 adds r1, r3, #1 700255f6: 4291 cmp r1, r2 700255f8: d23b bcs.n 70025672 700255fa: 6922 ldr r2, [r4, #16] 700255fc: 9906 ldr r1, [sp, #24] 700255fe: eb02 0383 add.w r3, r2, r3, lsl #2 70025602: 9807 ldr r0, [sp, #28] 70025604: 6019 str r1, [r3, #0] 70025606: 6829 ldr r1, [r5, #0] 70025608: 688b ldr r3, [r1, #8] 7002560a: 690a ldr r2, [r1, #16] 7002560c: 3301 adds r3, #1 7002560e: eb02 0283 add.w r2, r2, r3, lsl #2 70025612: 608b str r3, [r1, #8] 70025614: 6010 str r0, [r2, #0] 70025616: 682a ldr r2, [r5, #0] 70025618: 6893 ldr r3, [r2, #8] 7002561a: 3301 adds r3, #1 7002561c: 6093 str r3, [r2, #8] 7002561e: e6a5 b.n 7002536c 70025620: 68e3 ldr r3, [r4, #12] 70025622: 3301 adds r3, #1 70025624: 60e3 str r3, [r4, #12] 70025626: e69e b.n 70025366 70025628: 69e1 ldr r1, [r4, #28] 7002562a: 54ca strb r2, [r1, r3] 7002562c: 682c ldr r4, [r5, #0] 7002562e: 68e3 ldr r3, [r4, #12] 70025630: 6ae2 ldr r2, [r4, #44] @ 0x2c 70025632: 3301 adds r3, #1 70025634: 60e3 str r3, [r4, #12] 70025636: 2a00 cmp r2, #0 70025638: f47f aeeb bne.w 70025412 7002563c: e9d4 2301 ldrd r2, r3, [r4, #4] 70025640: 1c59 adds r1, r3, #1 70025642: 4291 cmp r1, r2 70025644: d21c bcs.n 70025680 70025646: 6922 ldr r2, [r4, #16] 70025648: 9906 ldr r1, [sp, #24] 7002564a: eb02 0383 add.w r3, r2, r3, lsl #2 7002564e: 9807 ldr r0, [sp, #28] 70025650: 6019 str r1, [r3, #0] 70025652: 6829 ldr r1, [r5, #0] 70025654: 688b ldr r3, [r1, #8] 70025656: 690a ldr r2, [r1, #16] 70025658: 3301 adds r3, #1 7002565a: eb02 0283 add.w r2, r2, r3, lsl #2 7002565e: 608b str r3, [r1, #8] 70025660: 6010 str r0, [r2, #0] 70025662: 682c ldr r4, [r5, #0] 70025664: 68a3 ldr r3, [r4, #8] 70025666: 3301 adds r3, #1 70025668: 60a3 str r3, [r4, #8] 7002566a: e6d5 b.n 70025418 7002566c: 3301 adds r3, #1 7002566e: 60e3 str r3, [r4, #12] 70025670: e6cf b.n 70025412 70025672: 2102 movs r1, #2 70025674: 2201 movs r2, #1 70025676: 440b add r3, r1 70025678: 62a1 str r1, [r4, #40] @ 0x28 7002567a: 62e2 str r2, [r4, #44] @ 0x2c 7002567c: 60a3 str r3, [r4, #8] 7002567e: e675 b.n 7002536c 70025680: 2102 movs r1, #2 70025682: 2201 movs r2, #1 70025684: 440b add r3, r1 70025686: 62a1 str r1, [r4, #40] @ 0x28 70025688: 62e2 str r2, [r4, #44] @ 0x2c 7002568a: 60a3 str r3, [r4, #8] 7002568c: e6c4 b.n 70025418 7002568e: 6822 ldr r2, [r4, #0] 70025690: 429a cmp r2, r3 70025692: f240 8090 bls.w 700257b6 70025696: 69e2 ldr r2, [r4, #28] 70025698: 2182 movs r1, #130 @ 0x82 7002569a: 54d1 strb r1, [r2, r3] 7002569c: 682c ldr r4, [r5, #0] 7002569e: 68e3 ldr r3, [r4, #12] 700256a0: 6ae2 ldr r2, [r4, #44] @ 0x2c 700256a2: 3301 adds r3, #1 700256a4: 60e3 str r3, [r4, #12] 700256a6: e6f2 b.n 7002548e 700256a8: eef4 7ac1 vcmpe.f32 s15, s2 700256ac: eef1 fa10 vmrs APSR_nzcv, fpscr 700256b0: f73f ae83 bgt.w 700253ba 700256b4: eef4 7ae1 vcmpe.f32 s15, s3 700256b8: eef1 fa10 vmrs APSR_nzcv, fpscr 700256bc: f73f ae7d bgt.w 700253ba 700256c0: eef4 7ae0 vcmpe.f32 s15, s1 700256c4: 2600 movs r6, #0 700256c6: a806 add r0, sp, #24 700256c8: 9606 str r6, [sp, #24] 700256ca: eef1 fa10 vmrs APSR_nzcv, fpscr 700256ce: 60c6 str r6, [r0, #12] 700256d0: e9c0 6601 strd r6, r6, [r0, #4] 700256d4: f73f ae2e bgt.w 70025334 700256d8: eeb0 0a41 vmov.f32 s0, s2 700256dc: 4630 mov r0, r6 700256de: eef0 0a61 vmov.f32 s1, s3 700256e2: f7ff f895 bl 70024810 700256e6: 4604 mov r4, r0 700256e8: 2800 cmp r0, #0 700256ea: f43f ae49 beq.w 70025380 700256ee: 682b ldr r3, [r5, #0] 700256f0: e9c3 6645 strd r6, r6, [r3, #276] @ 0x114 700256f4: f002 f92c bl 70027950 700256f8: e642 b.n 70025380 700256fa: 68a3 ldr r3, [r4, #8] 700256fc: b982 cbnz r2, 70025720 700256fe: 1c5a adds r2, r3, #1 70025700: 6860 ldr r0, [r4, #4] 70025702: 4282 cmp r2, r0 70025704: d30f bcc.n 70025726 70025706: 2102 movs r1, #2 70025708: 2201 movs r2, #1 7002570a: 440b add r3, r1 7002570c: 62a1 str r1, [r4, #40] @ 0x28 7002570e: 62e2 str r2, [r4, #44] @ 0x2c 70025710: 60a3 str r3, [r4, #8] 70025712: e9d4 3202 ldrd r3, r2, [r4, #8] 70025716: 3201 adds r2, #1 70025718: 60e2 str r2, [r4, #12] 7002571a: 3302 adds r3, #2 7002571c: 60a3 str r3, [r4, #8] 7002571e: e5da b.n 700252d6 70025720: 3302 adds r3, #2 70025722: 60a3 str r3, [r4, #8] 70025724: e7f5 b.n 70025712 70025726: 6922 ldr r2, [r4, #16] 70025728: eb02 0383 add.w r3, r2, r3, lsl #2 7002572c: edc3 6a00 vstr s13, [r3] 70025730: 6828 ldr r0, [r5, #0] 70025732: 6883 ldr r3, [r0, #8] 70025734: 6902 ldr r2, [r0, #16] 70025736: 3301 adds r3, #1 70025738: 6083 str r3, [r0, #8] 7002573a: eb02 0283 add.w r2, r2, r3, lsl #2 7002573e: 9b07 ldr r3, [sp, #28] 70025740: 6013 str r3, [r2, #0] 70025742: 682c ldr r4, [r5, #0] 70025744: 68a3 ldr r3, [r4, #8] 70025746: 6ae2 ldr r2, [r4, #44] @ 0x2c 70025748: 3301 adds r3, #1 7002574a: 60a3 str r3, [r4, #8] 7002574c: 2a00 cmp r2, #0 7002574e: d1e0 bne.n 70025712 70025750: 68e2 ldr r2, [r4, #12] 70025752: 6820 ldr r0, [r4, #0] 70025754: 4282 cmp r2, r0 70025756: d306 bcc.n 70025766 70025758: 2102 movs r1, #2 7002575a: 3201 adds r2, #1 7002575c: 62a1 str r1, [r4, #40] @ 0x28 7002575e: 2101 movs r1, #1 70025760: 60e2 str r2, [r4, #12] 70025762: 62e1 str r1, [r4, #44] @ 0x2c 70025764: e7d9 b.n 7002571a 70025766: 69e3 ldr r3, [r4, #28] 70025768: 5499 strb r1, [r3, r2] 7002576a: 682c ldr r4, [r5, #0] 7002576c: 68e3 ldr r3, [r4, #12] 7002576e: 6ae2 ldr r2, [r4, #44] @ 0x2c 70025770: 3301 adds r3, #1 70025772: 60e3 str r3, [r4, #12] 70025774: 2a00 cmp r2, #0 70025776: d149 bne.n 7002580c 70025778: e9d4 2301 ldrd r2, r3, [r4, #4] 7002577c: 1c59 adds r1, r3, #1 7002577e: 4291 cmp r1, r2 70025780: d212 bcs.n 700257a8 70025782: 6922 ldr r2, [r4, #16] 70025784: 9908 ldr r1, [sp, #32] 70025786: eb02 0383 add.w r3, r2, r3, lsl #2 7002578a: 9809 ldr r0, [sp, #36] @ 0x24 7002578c: 6019 str r1, [r3, #0] 7002578e: 6829 ldr r1, [r5, #0] 70025790: 688b ldr r3, [r1, #8] 70025792: 690a ldr r2, [r1, #16] 70025794: 3301 adds r3, #1 70025796: eb02 0283 add.w r2, r2, r3, lsl #2 7002579a: 608b str r3, [r1, #8] 7002579c: 6010 str r0, [r2, #0] 7002579e: 682a ldr r2, [r5, #0] 700257a0: 6893 ldr r3, [r2, #8] 700257a2: 3301 adds r3, #1 700257a4: 6093 str r3, [r2, #8] 700257a6: e596 b.n 700252d6 700257a8: 2102 movs r1, #2 700257aa: 2201 movs r2, #1 700257ac: 440b add r3, r1 700257ae: 62a1 str r1, [r4, #40] @ 0x28 700257b0: 62e2 str r2, [r4, #44] @ 0x2c 700257b2: 60a3 str r3, [r4, #8] 700257b4: e58f b.n 700252d6 700257b6: 2101 movs r1, #1 700257b8: 62a0 str r0, [r4, #40] @ 0x28 700257ba: 440b add r3, r1 700257bc: 460a mov r2, r1 700257be: 62e1 str r1, [r4, #44] @ 0x2c 700257c0: 60e3 str r3, [r4, #12] 700257c2: e664 b.n 7002548e 700257c4: 2a00 cmp r2, #0 700257c6: d1a8 bne.n 7002571a 700257c8: 1c5a adds r2, r3, #1 700257ca: 6861 ldr r1, [r4, #4] 700257cc: 428a cmp r2, r1 700257ce: d2eb bcs.n 700257a8 700257d0: 6922 ldr r2, [r4, #16] 700257d2: eb02 0383 add.w r3, r2, r3, lsl #2 700257d6: ed83 0a00 vstr s0, [r3] 700257da: 6829 ldr r1, [r5, #0] 700257dc: 688b ldr r3, [r1, #8] 700257de: 690a ldr r2, [r1, #16] 700257e0: 3301 adds r3, #1 700257e2: eb02 0283 add.w r2, r2, r3, lsl #2 700257e6: 608b str r3, [r1, #8] 700257e8: edc2 5a00 vstr s11, [r2] 700257ec: 682a ldr r2, [r5, #0] 700257ee: 6893 ldr r3, [r2, #8] 700257f0: 3301 adds r3, #1 700257f2: 6093 str r3, [r2, #8] 700257f4: e56f b.n 700252d6 700257f6: 3301 adds r3, #1 700257f8: 60e3 str r3, [r4, #12] 700257fa: e53d b.n 70025278 700257fc: 2101 movs r1, #1 700257fe: 2202 movs r2, #2 70025800: 440b add r3, r1 70025802: 62a2 str r2, [r4, #40] @ 0x28 70025804: 62e1 str r1, [r4, #44] @ 0x2c 70025806: 460a mov r2, r1 70025808: 60e3 str r3, [r4, #12] 7002580a: e535 b.n 70025278 7002580c: 68a3 ldr r3, [r4, #8] 7002580e: e784 b.n 7002571a 70025810 : 70025810: b5f0 push {r4, r5, r6, r7, lr} 70025812: ed2d 8b0a vpush {d8-d12} 70025816: b08d sub sp, #52 @ 0x34 70025818: 4eb5 ldr r6, [pc, #724] @ (70025af0 ) 7002581a: eeb0 9a43 vmov.f32 s18, s6 7002581e: 2501 movs r5, #1 70025820: 466b mov r3, sp 70025822: eef0 9a63 vmov.f32 s19, s7 70025826: eeb0 8a40 vmov.f32 s16, s0 7002582a: aa0c add r2, sp, #48 @ 0x30 7002582c: eef0 8a60 vmov.f32 s17, s1 70025830: ed8d 3a00 vstr s6, [sp] 70025834: eeb0 aa41 vmov.f32 s20, s2 70025838: edcd 3a01 vstr s7, [sp, #4] 7002583c: eef0 aa61 vmov.f32 s21, s3 70025840: ed9f baac vldr s22, [pc, #688] @ 70025af4 70025844: eef0 ba42 vmov.f32 s23, s4 70025848: 2402 movs r4, #2 7002584a: eeb0 ca62 vmov.f32 s24, s5 7002584e: ed8d 0a06 vstr s0, [sp, #24] 70025852: edcd 0a07 vstr s1, [sp, #28] 70025856: ed8d 1a04 vstr s2, [sp, #16] 7002585a: edcd 1a05 vstr s3, [sp, #20] 7002585e: ed8d 2a02 vstr s4, [sp, #8] 70025862: edcd 2a03 vstr s5, [sp, #12] 70025866: e893 0003 ldmia.w r3, {r0, r1} 7002586a: 6833 ldr r3, [r6, #0] 7002586c: e902 0003 stmdb r2, {r0, r1} 70025870: edd3 7a0d vldr s15, [r3, #52] @ 0x34 70025874: ed93 7a0c vldr s14, [r3, #48] @ 0x30 70025878: eef4 7ac8 vcmpe.f32 s15, s16 7002587c: eef1 fa10 vmrs APSR_nzcv, fpscr 70025880: d414 bmi.n 700258ac 70025882: eef4 7ae8 vcmpe.f32 s15, s17 70025886: eef1 fa10 vmrs APSR_nzcv, fpscr 7002588a: d40f bmi.n 700258ac 7002588c: eeb4 7ac8 vcmpe.f32 s14, s16 70025890: eef1 fa10 vmrs APSR_nzcv, fpscr 70025894: dc0a bgt.n 700258ac 70025896: eeb4 7ae8 vcmpe.f32 s14, s17 7002589a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002589e: dc05 bgt.n 700258ac 700258a0: eef4 7aca vcmpe.f32 s15, s20 700258a4: eef1 fa10 vmrs APSR_nzcv, fpscr 700258a8: f140 8170 bpl.w 70025b8c 700258ac: 2200 movs r2, #0 700258ae: ee37 7a0b vadd.f32 s14, s14, s22 700258b2: ed8d 8a08 vstr s16, [sp, #32] 700258b6: ee77 7acb vsub.f32 s15, s15, s22 700258ba: edcd 8a09 vstr s17, [sp, #36] @ 0x24 700258be: eeb4 8ac7 vcmpe.f32 s16, s14 700258c2: eef1 fa10 vmrs APSR_nzcv, fpscr 700258c6: d50e bpl.n 700258e6 700258c8: eeb4 7aca vcmpe.f32 s14, s20 700258cc: eef1 fa10 vmrs APSR_nzcv, fpscr 700258d0: dd09 ble.n 700258e6 700258d2: eeb4 7aeb vcmpe.f32 s14, s23 700258d6: eef1 fa10 vmrs APSR_nzcv, fpscr 700258da: dd04 ble.n 700258e6 700258dc: eeb4 7ac9 vcmpe.f32 s14, s18 700258e0: eef1 fa10 vmrs APSR_nzcv, fpscr 700258e4: dc7c bgt.n 700259e0 700258e6: eeb4 8ae7 vcmpe.f32 s16, s15 700258ea: eef1 fa10 vmrs APSR_nzcv, fpscr 700258ee: dd0e ble.n 7002590e 700258f0: eef4 7aca vcmpe.f32 s15, s20 700258f4: eef1 fa10 vmrs APSR_nzcv, fpscr 700258f8: d509 bpl.n 7002590e 700258fa: eef4 7aeb vcmpe.f32 s15, s23 700258fe: eef1 fa10 vmrs APSR_nzcv, fpscr 70025902: d504 bpl.n 7002590e 70025904: eef4 7ac9 vcmpe.f32 s15, s18 70025908: eef1 fa10 vmrs APSR_nzcv, fpscr 7002590c: d468 bmi.n 700259e0 7002590e: eef4 8ac7 vcmpe.f32 s17, s14 70025912: eef1 fa10 vmrs APSR_nzcv, fpscr 70025916: d50e bpl.n 70025936 70025918: eef4 aac7 vcmpe.f32 s21, s14 7002591c: eef1 fa10 vmrs APSR_nzcv, fpscr 70025920: d509 bpl.n 70025936 70025922: eeb4 7acc vcmpe.f32 s14, s24 70025926: eef1 fa10 vmrs APSR_nzcv, fpscr 7002592a: dd04 ble.n 70025936 7002592c: eeb4 7ae9 vcmpe.f32 s14, s19 70025930: eef1 fa10 vmrs APSR_nzcv, fpscr 70025934: dc54 bgt.n 700259e0 70025936: eef4 8ae7 vcmpe.f32 s17, s15 7002593a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002593e: dd0e ble.n 7002595e 70025940: eef4 aae7 vcmpe.f32 s21, s15 70025944: eef1 fa10 vmrs APSR_nzcv, fpscr 70025948: dd09 ble.n 7002595e 7002594a: eef4 7acc vcmpe.f32 s15, s24 7002594e: eef1 fa10 vmrs APSR_nzcv, fpscr 70025952: d504 bpl.n 7002595e 70025954: eef4 7ae9 vcmpe.f32 s15, s19 70025958: eef1 fa10 vmrs APSR_nzcv, fpscr 7002595c: d440 bmi.n 700259e0 7002595e: b922 cbnz r2, 7002596a 70025960: f8d3 22bc ldr.w r2, [r3, #700] @ 0x2bc 70025964: 2a09 cmp r2, #9 70025966: f340 80c7 ble.w 70025af8 7002596a: 6ad9 ldr r1, [r3, #44] @ 0x2c 7002596c: 3d01 subs r5, #1 7002596e: 68da ldr r2, [r3, #12] 70025970: 2900 cmp r1, #0 70025972: d167 bne.n 70025a44 70025974: 6819 ldr r1, [r3, #0] 70025976: 4291 cmp r1, r2 70025978: d84f bhi.n 70025a1a 7002597a: 3201 adds r2, #1 7002597c: 2101 movs r1, #1 7002597e: 629c str r4, [r3, #40] @ 0x28 70025980: 60da str r2, [r3, #12] 70025982: 62d9 str r1, [r3, #44] @ 0x2c 70025984: 689a ldr r2, [r3, #8] 70025986: 3202 adds r2, #2 70025988: 609a str r2, [r3, #8] 7002598a: 3202 adds r2, #2 7002598c: 609a str r2, [r3, #8] 7002598e: 3202 adds r2, #2 70025990: 609a str r2, [r3, #8] 70025992: f8d3 22bc ldr.w r2, [r3, #700] @ 0x2bc 70025996: b942 cbnz r2, 700259aa 70025998: 2d00 cmp r5, #0 7002599a: f47f af69 bne.w 70025870 7002599e: 462f mov r7, r5 700259a0: 4638 mov r0, r7 700259a2: b00d add sp, #52 @ 0x34 700259a4: ecbd 8b0a vpop {d8-d12} 700259a8: bdf0 pop {r4, r5, r6, r7, pc} 700259aa: 3a01 subs r2, #1 700259ac: eef0 8a69 vmov.f32 s17, s19 700259b0: eeb0 8a49 vmov.f32 s16, s18 700259b4: eb02 0142 add.w r1, r2, r2, lsl #1 700259b8: f8c3 22bc str.w r2, [r3, #700] @ 0x2bc 700259bc: eb03 02c1 add.w r2, r3, r1, lsl #3 700259c0: ed92 aa73 vldr s20, [r2, #460] @ 0x1cc 700259c4: edd2 aa74 vldr s21, [r2, #464] @ 0x1d0 700259c8: edd2 ba75 vldr s23, [r2, #468] @ 0x1d4 700259cc: ed92 ca76 vldr s24, [r2, #472] @ 0x1d8 700259d0: edd2 9a78 vldr s19, [r2, #480] @ 0x1e0 700259d4: ed92 9a77 vldr s18, [r2, #476] @ 0x1dc 700259d8: 2d00 cmp r5, #0 700259da: f47f af49 bne.w 70025870 700259de: e7de b.n 7002599e 700259e0: eeb0 1a49 vmov.f32 s2, s18 700259e4: ed9d 0a08 vldr s0, [sp, #32] 700259e8: eef0 1a69 vmov.f32 s3, s19 700259ec: eddd 0a09 vldr s1, [sp, #36] @ 0x24 700259f0: ed8d 9a0a vstr s18, [sp, #40] @ 0x28 700259f4: 3d01 subs r5, #1 700259f6: edcd 9a0b vstr s19, [sp, #44] @ 0x2c 700259fa: f7ff fb41 bl 70025080 700259fe: 6833 ldr r3, [r6, #0] 70025a00: 4607 mov r7, r0 70025a02: 2800 cmp r0, #0 70025a04: d0c5 beq.n 70025992 70025a06: 2200 movs r2, #0 70025a08: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 70025a0c: f001 ffa0 bl 70027950 70025a10: 4638 mov r0, r7 70025a12: b00d add sp, #52 @ 0x34 70025a14: ecbd 8b0a vpop {d8-d12} 70025a18: bdf0 pop {r4, r5, r6, r7, pc} 70025a1a: 69db ldr r3, [r3, #28] 70025a1c: 2106 movs r1, #6 70025a1e: 5499 strb r1, [r3, r2] 70025a20: 6833 ldr r3, [r6, #0] 70025a22: 68da ldr r2, [r3, #12] 70025a24: 6ad9 ldr r1, [r3, #44] @ 0x2c 70025a26: 3201 adds r2, #1 70025a28: 60da str r2, [r3, #12] 70025a2a: 2900 cmp r1, #0 70025a2c: d1aa bne.n 70025984 70025a2e: e9d3 1201 ldrd r1, r2, [r3, #4] 70025a32: 1c50 adds r0, r2, #1 70025a34: 4288 cmp r0, r1 70025a36: d308 bcc.n 70025a4a 70025a38: 3202 adds r2, #2 70025a3a: 2101 movs r1, #1 70025a3c: 629c str r4, [r3, #40] @ 0x28 70025a3e: 609a str r2, [r3, #8] 70025a40: 62d9 str r1, [r3, #44] @ 0x2c 70025a42: e7a2 b.n 7002598a 70025a44: 3201 adds r2, #1 70025a46: 60da str r2, [r3, #12] 70025a48: e79c b.n 70025984 70025a4a: 691b ldr r3, [r3, #16] 70025a4c: eb03 0382 add.w r3, r3, r2, lsl #2 70025a50: ed83 aa00 vstr s20, [r3] 70025a54: 6831 ldr r1, [r6, #0] 70025a56: 688b ldr r3, [r1, #8] 70025a58: 690a ldr r2, [r1, #16] 70025a5a: 3301 adds r3, #1 70025a5c: eb02 0283 add.w r2, r2, r3, lsl #2 70025a60: 608b str r3, [r1, #8] 70025a62: edc2 aa00 vstr s21, [r2] 70025a66: 6833 ldr r3, [r6, #0] 70025a68: 689f ldr r7, [r3, #8] 70025a6a: 6ad9 ldr r1, [r3, #44] @ 0x2c 70025a6c: 1c7a adds r2, r7, #1 70025a6e: 609a str r2, [r3, #8] 70025a70: 2900 cmp r1, #0 70025a72: d18a bne.n 7002598a 70025a74: 1cb9 adds r1, r7, #2 70025a76: 6858 ldr r0, [r3, #4] 70025a78: 4281 cmp r1, r0 70025a7a: d305 bcc.n 70025a88 70025a7c: 1cfa adds r2, r7, #3 70025a7e: 2101 movs r1, #1 70025a80: 629c str r4, [r3, #40] @ 0x28 70025a82: 609a str r2, [r3, #8] 70025a84: 62d9 str r1, [r3, #44] @ 0x2c 70025a86: e782 b.n 7002598e 70025a88: 691b ldr r3, [r3, #16] 70025a8a: eb03 0382 add.w r3, r3, r2, lsl #2 70025a8e: edc3 ba00 vstr s23, [r3] 70025a92: 6831 ldr r1, [r6, #0] 70025a94: 688b ldr r3, [r1, #8] 70025a96: 690a ldr r2, [r1, #16] 70025a98: 3301 adds r3, #1 70025a9a: eb02 0283 add.w r2, r2, r3, lsl #2 70025a9e: 608b str r3, [r1, #8] 70025aa0: ed82 ca00 vstr s24, [r2] 70025aa4: 6833 ldr r3, [r6, #0] 70025aa6: 6899 ldr r1, [r3, #8] 70025aa8: 6ad8 ldr r0, [r3, #44] @ 0x2c 70025aaa: 1c4a adds r2, r1, #1 70025aac: 609a str r2, [r3, #8] 70025aae: 2800 cmp r0, #0 70025ab0: f47f af6d bne.w 7002598e 70025ab4: 1c88 adds r0, r1, #2 70025ab6: 685f ldr r7, [r3, #4] 70025ab8: 42b8 cmp r0, r7 70025aba: d212 bcs.n 70025ae2 70025abc: 691b ldr r3, [r3, #16] 70025abe: eb03 0382 add.w r3, r3, r2, lsl #2 70025ac2: ed83 9a00 vstr s18, [r3] 70025ac6: 6831 ldr r1, [r6, #0] 70025ac8: 688b ldr r3, [r1, #8] 70025aca: 690a ldr r2, [r1, #16] 70025acc: 3301 adds r3, #1 70025ace: eb02 0283 add.w r2, r2, r3, lsl #2 70025ad2: 608b str r3, [r1, #8] 70025ad4: edc2 9a00 vstr s19, [r2] 70025ad8: 6833 ldr r3, [r6, #0] 70025ada: 689a ldr r2, [r3, #8] 70025adc: 3201 adds r2, #1 70025ade: 609a str r2, [r3, #8] 70025ae0: e757 b.n 70025992 70025ae2: 3103 adds r1, #3 70025ae4: 2201 movs r2, #1 70025ae6: 629c str r4, [r3, #40] @ 0x28 70025ae8: 6099 str r1, [r3, #8] 70025aea: 62da str r2, [r3, #44] @ 0x2c 70025aec: e751 b.n 70025992 70025aee: bf00 nop 70025af0: 2400dc78 .word 0x2400dc78 70025af4: 42480000 .word 0x42480000 70025af8: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 70025afc: eb02 0142 add.w r1, r2, r2, lsl #1 70025b00: ee3b 7a8a vadd.f32 s14, s23, s20 70025b04: 3201 adds r2, #1 70025b06: ee3a 6a8c vadd.f32 s12, s21, s24 70025b0a: eb03 01c1 add.w r1, r3, r1, lsl #3 70025b0e: ee7b 4a89 vadd.f32 s9, s23, s18 70025b12: 3501 adds r5, #1 70025b14: ee3c 5a29 vadd.f32 s10, s24, s19 70025b18: ed81 9a77 vstr s18, [r1, #476] @ 0x1dc 70025b1c: ee38 aa0a vadd.f32 s20, s16, s20 70025b20: edc1 9a78 vstr s19, [r1, #480] @ 0x1e0 70025b24: ee78 aaaa vadd.f32 s21, s17, s21 70025b28: ee27 7a27 vmul.f32 s14, s14, s15 70025b2c: ee26 6a27 vmul.f32 s12, s12, s15 70025b30: ee64 4aa7 vmul.f32 s9, s9, s15 70025b34: ee25 5a27 vmul.f32 s10, s10, s15 70025b38: ee2a aa27 vmul.f32 s20, s20, s15 70025b3c: ee6a aaa7 vmul.f32 s21, s21, s15 70025b40: edc1 4a75 vstr s9, [r1, #468] @ 0x1d4 70025b44: ee77 6a24 vadd.f32 s13, s14, s9 70025b48: ed81 5a76 vstr s10, [r1, #472] @ 0x1d8 70025b4c: ee7a 5a07 vadd.f32 s11, s20, s14 70025b50: ee36 7a05 vadd.f32 s14, s12, s10 70025b54: ee3a 6a86 vadd.f32 s12, s21, s12 70025b58: ee66 6aa7 vmul.f32 s13, s13, s15 70025b5c: ee27 7a27 vmul.f32 s14, s14, s15 70025b60: ee65 baa7 vmul.f32 s23, s11, s15 70025b64: ee26 ca27 vmul.f32 s24, s12, s15 70025b68: edc1 6a73 vstr s13, [r1, #460] @ 0x1cc 70025b6c: ed81 7a74 vstr s14, [r1, #464] @ 0x1d0 70025b70: ee7b 6aa6 vadd.f32 s13, s23, s13 70025b74: f8c3 22bc str.w r2, [r3, #700] @ 0x2bc 70025b78: ee3c 7a07 vadd.f32 s14, s24, s14 70025b7c: ee26 9aa7 vmul.f32 s18, s13, s15 70025b80: ee67 9a27 vmul.f32 s19, s14, s15 70025b84: 2d00 cmp r5, #0 70025b86: f47f ae73 bne.w 70025870 70025b8a: e708 b.n 7002599e 70025b8c: eef4 7aea vcmpe.f32 s15, s21 70025b90: eef1 fa10 vmrs APSR_nzcv, fpscr 70025b94: f53f ae8a bmi.w 700258ac 70025b98: eeb4 7aca vcmpe.f32 s14, s20 70025b9c: eef1 fa10 vmrs APSR_nzcv, fpscr 70025ba0: f73f ae84 bgt.w 700258ac 70025ba4: eeb4 7aea vcmpe.f32 s14, s21 70025ba8: eef1 fa10 vmrs APSR_nzcv, fpscr 70025bac: f73f ae7e bgt.w 700258ac 70025bb0: eef4 7aeb vcmpe.f32 s15, s23 70025bb4: eef1 fa10 vmrs APSR_nzcv, fpscr 70025bb8: f53f ae78 bmi.w 700258ac 70025bbc: eef4 7acc vcmpe.f32 s15, s24 70025bc0: eef1 fa10 vmrs APSR_nzcv, fpscr 70025bc4: f53f ae72 bmi.w 700258ac 70025bc8: eeb4 7aeb vcmpe.f32 s14, s23 70025bcc: eef1 fa10 vmrs APSR_nzcv, fpscr 70025bd0: f73f ae6c bgt.w 700258ac 70025bd4: eeb4 7acc vcmpe.f32 s14, s24 70025bd8: eef1 fa10 vmrs APSR_nzcv, fpscr 70025bdc: f73f ae66 bgt.w 700258ac 70025be0: eef4 7ac9 vcmpe.f32 s15, s18 70025be4: eef1 fa10 vmrs APSR_nzcv, fpscr 70025be8: f53f ae60 bmi.w 700258ac 70025bec: eef4 7ae9 vcmpe.f32 s15, s19 70025bf0: eef1 fa10 vmrs APSR_nzcv, fpscr 70025bf4: f53f ae5a bmi.w 700258ac 70025bf8: eeb4 7ac9 vcmpe.f32 s14, s18 70025bfc: eef1 fa10 vmrs APSR_nzcv, fpscr 70025c00: f73f ae54 bgt.w 700258ac 70025c04: eeb4 7ae9 vcmpe.f32 s14, s19 70025c08: eef1 fa10 vmrs APSR_nzcv, fpscr 70025c0c: bfd4 ite le 70025c0e: 2201 movle r2, #1 70025c10: 2200 movgt r2, #0 70025c12: e64c b.n 700258ae 70025c14 : 70025c14: eddf 7adc vldr s15, [pc, #880] @ 70025f88 70025c18: eeb5 7a00 vmov.f32 s14, #80 @ 0x3e800000 0.250 70025c1c: b570 push {r4, r5, r6, lr} 70025c1e: ed2d 8b0a vpush {d8-d12} 70025c22: ee20 8aa7 vmul.f32 s16, s1, s15 70025c26: b092 sub sp, #72 @ 0x48 70025c28: ee20 9a27 vmul.f32 s18, s0, s15 70025c2c: 4604 mov r4, r0 70025c2e: 460d mov r5, r1 70025c30: eef0 aa41 vmov.f32 s21, s2 70025c34: eeb0 ba61 vmov.f32 s22, s3 70025c38: ed9f cad4 vldr s24, [pc, #848] @ 70025f8c 70025c3c: ee38 8a49 vsub.f32 s16, s16, s18 70025c40: eef0 9a42 vmov.f32 s19, s4 70025c44: eeb0 aa62 vmov.f32 s20, s5 70025c48: ee28 0a07 vmul.f32 s0, s16, s14 70025c4c: f014 f8e8 bl 70039e20 70025c50: eef0 8a40 vmov.f32 s17, s0 70025c54: eddf 7ace vldr s15, [pc, #824] @ 70025f90 70025c58: eeb0 0a48 vmov.f32 s0, s16 70025c5c: eef7 ba00 vmov.f32 s23, #112 @ 0x3f800000 1.0 70025c60: ee68 8aa7 vmul.f32 s17, s17, s15 70025c64: f013 ff04 bl 70039a70 70025c68: eef0 7a40 vmov.f32 s15, s0 70025c6c: eeb0 0a48 vmov.f32 s0, s16 70025c70: eeb0 8a67 vmov.f32 s16, s15 70025c74: f013 fe04 bl 70039880 70025c78: edd4 5a09 vldr s11, [r4, #36] @ 0x24 70025c7c: eef0 7a40 vmov.f32 s15, s0 70025c80: eddf 6ac4 vldr s13, [pc, #784] @ 70025f94 70025c84: ee28 6a88 vmul.f32 s12, s17, s16 70025c88: edcd 8a08 vstr s17, [sp, #32] 70025c8c: ee85 7aa6 vdiv.f32 s14, s11, s13 70025c90: eddf 5ac1 vldr s11, [pc, #772] @ 70025f98 70025c94: ed8d 8a05 vstr s16, [sp, #20] 70025c98: edcd 7a06 vstr s15, [sp, #24] 70025c9c: edcd ba03 vstr s23, [sp, #12] 70025ca0: ed8d ca04 vstr s24, [sp, #16] 70025ca4: ee68 6a80 vmul.f32 s13, s17, s0 70025ca8: edcd ba07 vstr s23, [sp, #28] 70025cac: ee30 6a46 vsub.f32 s12, s0, s12 70025cb0: eeb0 0a49 vmov.f32 s0, s18 70025cb4: ee76 6a88 vadd.f32 s13, s13, s16 70025cb8: ed8d 6a0a vstr s12, [sp, #40] @ 0x28 70025cbc: edcd 6a09 vstr s13, [sp, #36] @ 0x24 70025cc0: ee27 8a25 vmul.f32 s16, s14, s11 70025cc4: f013 fed4 bl 70039a70 70025cc8: eef0 7a40 vmov.f32 s15, s0 70025ccc: eeb0 0a49 vmov.f32 s0, s18 70025cd0: eeb0 9a67 vmov.f32 s18, s15 70025cd4: f013 fdd4 bl 70039880 70025cd8: eef0 ca40 vmov.f32 s25, s0 70025cdc: eeb0 0a48 vmov.f32 s0, s16 70025ce0: f013 fec6 bl 70039a70 70025ce4: eef0 7a40 vmov.f32 s15, s0 70025ce8: eeb0 0a48 vmov.f32 s0, s16 70025cec: eeb0 8a67 vmov.f32 s16, s15 70025cf0: f013 fdc6 bl 70039880 70025cf4: 07ea lsls r2, r5, #31 70025cf6: eef0 8a40 vmov.f32 s17, s0 70025cfa: f140 80ef bpl.w 70025edc 70025cfe: f104 030c add.w r3, r4, #12 70025d02: aa03 add r2, sp, #12 70025d04: 4ea5 ldr r6, [pc, #660] @ (70025f9c ) 70025d06: e893 0003 ldmia.w r3, {r0, r1} 70025d0a: e882 0003 stmia.w r2, {r0, r1} 70025d0e: eef7 1a00 vmov.f32 s3, #112 @ 0x3f800000 1.0 70025d12: eddf 2a9e vldr s5, [pc, #632] @ 70025f8c 70025d16: eef0 0a6c vmov.f32 s1, s25 70025d1a: a807 add r0, sp, #28 70025d1c: eeb0 2a62 vmov.f32 s4, s5 70025d20: eeb0 1a61 vmov.f32 s2, s3 70025d24: eeb0 0a49 vmov.f32 s0, s18 70025d28: f7fa f9d8 bl 700200dc 70025d2c: eef0 2a4b vmov.f32 s5, s22 70025d30: eeb0 2a6a vmov.f32 s4, s21 70025d34: a807 add r0, sp, #28 70025d36: eef0 1a4a vmov.f32 s3, s20 70025d3a: eeb0 1a69 vmov.f32 s2, s19 70025d3e: eef0 0a68 vmov.f32 s1, s17 70025d42: eeb0 0a48 vmov.f32 s0, s16 70025d46: f7fa f9c9 bl 700200dc 70025d4a: eef7 1a00 vmov.f32 s3, #112 @ 0x3f800000 1.0 70025d4e: eddf 2a8f vldr s5, [pc, #572] @ 70025f8c 70025d52: eef0 0a6c vmov.f32 s1, s25 70025d56: eeb0 0a49 vmov.f32 s0, s18 70025d5a: a809 add r0, sp, #36 @ 0x24 70025d5c: eeb0 2a62 vmov.f32 s4, s5 70025d60: eeb0 1a61 vmov.f32 s2, s3 70025d64: f7fa f9ba bl 700200dc 70025d68: eef0 2a4b vmov.f32 s5, s22 70025d6c: eeb0 2a6a vmov.f32 s4, s21 70025d70: a809 add r0, sp, #36 @ 0x24 70025d72: eef0 1a4a vmov.f32 s3, s20 70025d76: eeb0 1a69 vmov.f32 s2, s19 70025d7a: eef0 0a68 vmov.f32 s1, s17 70025d7e: eeb0 0a48 vmov.f32 s0, s16 70025d82: f7fa f9ab bl 700200dc 70025d86: 07ab lsls r3, r5, #30 70025d88: d560 bpl.n 70025e4c 70025d8a: 3414 adds r4, #20 70025d8c: aa05 add r2, sp, #20 70025d8e: 6833 ldr r3, [r6, #0] 70025d90: e894 0003 ldmia.w r4, {r0, r1} 70025d94: e882 0003 stmia.w r2, {r0, r1} 70025d98: f893 2021 ldrb.w r2, [r3, #33] @ 0x21 70025d9c: b3da cbz r2, 70025e16 70025d9e: edd3 7a0e vldr s15, [r3, #56] @ 0x38 70025da2: edd3 5a0f vldr s11, [r3, #60] @ 0x3c 70025da6: edd3 3a10 vldr s7, [r3, #64] @ 0x40 70025daa: edd3 2a11 vldr s5, [r3, #68] @ 0x44 70025dae: ed93 3a12 vldr s6, [r3, #72] @ 0x48 70025db2: ed93 4a13 vldr s8, [r3, #76] @ 0x4c 70025db6: eddd 6a07 vldr s13, [sp, #28] 70025dba: eddd 4a08 vldr s9, [sp, #32] 70025dbe: ed9d 7a09 vldr s14, [sp, #36] @ 0x24 70025dc2: ee26 6aa7 vmul.f32 s12, s13, s15 70025dc6: ed9d 5a0a vldr s10, [sp, #40] @ 0x28 70025dca: ee24 2aa5 vmul.f32 s4, s9, s11 70025dce: ee67 7a27 vmul.f32 s15, s14, s15 70025dd2: ee65 5a25 vmul.f32 s11, s10, s11 70025dd6: ee66 6aa2 vmul.f32 s13, s13, s5 70025dda: ee64 4a83 vmul.f32 s9, s9, s6 70025dde: ee27 7a22 vmul.f32 s14, s14, s5 70025de2: ee25 5a03 vmul.f32 s10, s10, s6 70025de6: ee36 6a02 vadd.f32 s12, s12, s4 70025dea: ee76 6aa4 vadd.f32 s13, s13, s9 70025dee: ee77 7aa5 vadd.f32 s15, s15, s11 70025df2: ee37 7a05 vadd.f32 s14, s14, s10 70025df6: ee36 6a23 vadd.f32 s12, s12, s7 70025dfa: ee76 6a84 vadd.f32 s13, s13, s8 70025dfe: ee77 7aa3 vadd.f32 s15, s15, s7 70025e02: ee37 7a04 vadd.f32 s14, s14, s8 70025e06: ed8d 6a07 vstr s12, [sp, #28] 70025e0a: edcd 6a08 vstr s13, [sp, #32] 70025e0e: edcd 7a09 vstr s15, [sp, #36] @ 0x24 70025e12: ed8d 7a0a vstr s14, [sp, #40] @ 0x28 70025e16: ed9d 3a05 vldr s6, [sp, #20] 70025e1a: eddd 3a06 vldr s7, [sp, #24] 70025e1e: ed9d 2a09 vldr s4, [sp, #36] @ 0x24 70025e22: eddd 2a0a vldr s5, [sp, #40] @ 0x28 70025e26: ed9d 1a07 vldr s2, [sp, #28] 70025e2a: eddd 1a08 vldr s3, [sp, #32] 70025e2e: ed9d 0a03 vldr s0, [sp, #12] 70025e32: eddd 0a04 vldr s1, [sp, #16] 70025e36: f7ff fceb bl 70025810 70025e3a: 4604 mov r4, r0 70025e3c: 2800 cmp r0, #0 70025e3e: f040 8097 bne.w 70025f70 70025e42: 4620 mov r0, r4 70025e44: b012 add sp, #72 @ 0x48 70025e46: ecbd 8b0a vpop {d8-d12} 70025e4a: bd70 pop {r4, r5, r6, pc} 70025e4c: eef7 1a00 vmov.f32 s3, #112 @ 0x3f800000 1.0 70025e50: eddf 2a4e vldr s5, [pc, #312] @ 70025f8c 70025e54: eef0 0a6c vmov.f32 s1, s25 70025e58: a805 add r0, sp, #20 70025e5a: eeb0 2a62 vmov.f32 s4, s5 70025e5e: eeb0 1a61 vmov.f32 s2, s3 70025e62: eeb0 0a49 vmov.f32 s0, s18 70025e66: f7fa f939 bl 700200dc 70025e6a: eef0 2a4b vmov.f32 s5, s22 70025e6e: eeb0 2a6a vmov.f32 s4, s21 70025e72: a805 add r0, sp, #20 70025e74: eef0 1a4a vmov.f32 s3, s20 70025e78: eeb0 1a69 vmov.f32 s2, s19 70025e7c: eef0 0a68 vmov.f32 s1, s17 70025e80: eeb0 0a48 vmov.f32 s0, s16 70025e84: f7fa f92a bl 700200dc 70025e88: 6833 ldr r3, [r6, #0] 70025e8a: f893 2021 ldrb.w r2, [r3, #33] @ 0x21 70025e8e: 2a00 cmp r2, #0 70025e90: d0c1 beq.n 70025e16 70025e92: ed9d 7a05 vldr s14, [sp, #20] 70025e96: ed9d 6a06 vldr s12, [sp, #24] 70025e9a: edd3 7a0e vldr s15, [r3, #56] @ 0x38 70025e9e: edd3 5a0f vldr s11, [r3, #60] @ 0x3c 70025ea2: edd3 2a11 vldr s5, [r3, #68] @ 0x44 70025ea6: ee67 6a27 vmul.f32 s13, s14, s15 70025eaa: ed93 3a12 vldr s6, [r3, #72] @ 0x48 70025eae: ee26 5a25 vmul.f32 s10, s12, s11 70025eb2: ee27 7a22 vmul.f32 s14, s14, s5 70025eb6: edd3 3a10 vldr s7, [r3, #64] @ 0x40 70025eba: ee26 6a03 vmul.f32 s12, s12, s6 70025ebe: ed93 4a13 vldr s8, [r3, #76] @ 0x4c 70025ec2: ee76 6a85 vadd.f32 s13, s13, s10 70025ec6: ee37 7a06 vadd.f32 s14, s14, s12 70025eca: ee76 6aa3 vadd.f32 s13, s13, s7 70025ece: ee37 7a04 vadd.f32 s14, s14, s8 70025ed2: edcd 6a05 vstr s13, [sp, #20] 70025ed6: ed8d 7a06 vstr s14, [sp, #24] 70025eda: e76c b.n 70025db6 70025edc: eef0 2a4c vmov.f32 s5, s24 70025ee0: a803 add r0, sp, #12 70025ee2: eeb0 2a4c vmov.f32 s4, s24 70025ee6: 4e2d ldr r6, [pc, #180] @ (70025f9c ) 70025ee8: eef0 1a6b vmov.f32 s3, s23 70025eec: eeb0 1a6b vmov.f32 s2, s23 70025ef0: eef0 0a6c vmov.f32 s1, s25 70025ef4: eeb0 0a49 vmov.f32 s0, s18 70025ef8: f7fa f8f0 bl 700200dc 70025efc: eef0 2a4b vmov.f32 s5, s22 70025f00: eeb0 2a6a vmov.f32 s4, s21 70025f04: a803 add r0, sp, #12 70025f06: eef0 1a4a vmov.f32 s3, s20 70025f0a: eeb0 1a69 vmov.f32 s2, s19 70025f0e: eef0 0a68 vmov.f32 s1, s17 70025f12: eeb0 0a48 vmov.f32 s0, s16 70025f16: f7fa f8e1 bl 700200dc 70025f1a: 6833 ldr r3, [r6, #0] 70025f1c: f893 2021 ldrb.w r2, [r3, #33] @ 0x21 70025f20: 2a00 cmp r2, #0 70025f22: f43f aef4 beq.w 70025d0e 70025f26: eddd 7a03 vldr s15, [sp, #12] 70025f2a: eddd 6a04 vldr s13, [sp, #16] 70025f2e: ed93 5a11 vldr s10, [r3, #68] @ 0x44 70025f32: edd3 5a12 vldr s11, [r3, #72] @ 0x48 70025f36: ed93 7a0e vldr s14, [r3, #56] @ 0x38 70025f3a: ed93 6a0f vldr s12, [r3, #60] @ 0x3c 70025f3e: ee27 7a87 vmul.f32 s14, s15, s14 70025f42: ee26 6a86 vmul.f32 s12, s13, s12 70025f46: ee67 7a85 vmul.f32 s15, s15, s10 70025f4a: ed93 5a10 vldr s10, [r3, #64] @ 0x40 70025f4e: ee66 6aa5 vmul.f32 s13, s13, s11 70025f52: edd3 5a13 vldr s11, [r3, #76] @ 0x4c 70025f56: ee37 7a06 vadd.f32 s14, s14, s12 70025f5a: ee77 7aa6 vadd.f32 s15, s15, s13 70025f5e: ee37 7a05 vadd.f32 s14, s14, s10 70025f62: ee77 7aa5 vadd.f32 s15, s15, s11 70025f66: ed8d 7a03 vstr s14, [sp, #12] 70025f6a: edcd 7a04 vstr s15, [sp, #16] 70025f6e: e6ce b.n 70025d0e 70025f70: 6833 ldr r3, [r6, #0] 70025f72: 2200 movs r2, #0 70025f74: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 70025f78: f001 fcea bl 70027950 70025f7c: 4620 mov r0, r4 70025f7e: b012 add sp, #72 @ 0x48 70025f80: ecbd 8b0a vpop {d8-d12} 70025f84: bd70 pop {r4, r5, r6, pc} 70025f86: bf00 nop 70025f88: 3c8efa35 .word 0x3c8efa35 70025f8c: 00000000 .word 0x00000000 70025f90: 3faaaaab .word 0x3faaaaab 70025f94: 43340000 .word 0x43340000 70025f98: 40490fdb .word 0x40490fdb 70025f9c: 2400dc78 .word 0x2400dc78 70025fa0 : 70025fa0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70025fa4: ed2d 8b10 vpush {d8-d15} 70025fa8: b09b sub sp, #108 @ 0x6c 70025faa: 4680 mov r8, r0 70025fac: 2248 movs r2, #72 @ 0x48 70025fae: 2100 movs r1, #0 70025fb0: a808 add r0, sp, #32 70025fb2: f015 f9b7 bl 7003b324 70025fb6: f04f 1201 mov.w r2, #65537 @ 0x10001 70025fba: f8d8 3000 ldr.w r3, [r8] 70025fbe: 9208 str r2, [sp, #32] 70025fc0: 2b00 cmp r3, #0 70025fc2: f000 8138 beq.w 70026236 70025fc6: f04f 0e00 mov.w lr, #0 70025fca: 4cb7 ldr r4, [pc, #732] @ (700262a8 ) 70025fcc: ed9f bab7 vldr s22, [pc, #732] @ 700262ac 70025fd0: f04f 0b02 mov.w fp, #2 70025fd4: 4676 mov r6, lr 70025fd6: 6823 ldr r3, [r4, #0] 70025fd8: 2200 movs r2, #0 70025fda: f10d 0c2c add.w ip, sp, #44 @ 0x2c 70025fde: 625a str r2, [r3, #36] @ 0x24 70025fe0: f8d8 1008 ldr.w r1, [r8, #8] 70025fe4: 5d8d ldrb r5, [r1, r6] 70025fe6: a90d add r1, sp, #52 @ 0x34 70025fe8: 3601 adds r6, #1 70025fea: f005 076f and.w r7, r5, #111 @ 0x6f 70025fee: f005 0910 and.w r9, r5, #16 70025ff2: c903 ldmia r1, {r0, r1} 70025ff4: 2f01 cmp r7, #1 70025ff6: e88c 0003 stmia.w ip, {r0, r1} 70025ffa: f000 81be beq.w 7002637a 70025ffe: 066a lsls r2, r5, #25 70026000: f040 81e3 bne.w 700263ca 70026004: f89d 2020 ldrb.w r2, [sp, #32] 70026008: 2a01 cmp r2, #1 7002600a: f000 838a beq.w 70026722 7002600e: eddd 7a17 vldr s15, [sp, #92] @ 0x5c 70026012: ed9d 7a18 vldr s14, [sp, #96] @ 0x60 70026016: 2100 movs r1, #0 70026018: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 7002601c: edcd 7a0d vstr s15, [sp, #52] @ 0x34 70026020: f88d 1022 strb.w r1, [sp, #34] @ 0x22 70026024: f893 11bc ldrb.w r1, [r3, #444] @ 0x1bc 70026028: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 7002602c: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 70026030: f88d 5064 strb.w r5, [sp, #100] @ 0x64 70026034: b1f9 cbz r1, 70026076 70026036: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 7002603a: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 7002603e: edd3 6a3b vldr s13, [r3, #236] @ 0xec 70026042: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 70026046: ee67 6aa6 vmul.f32 s13, s15, s13 7002604a: ee27 6a06 vmul.f32 s12, s14, s12 7002604e: ee67 7a85 vmul.f32 s15, s15, s10 70026052: ed93 5a3d vldr s10, [r3, #244] @ 0xf4 70026056: ee27 7a25 vmul.f32 s14, s14, s11 7002605a: edd3 5a40 vldr s11, [r3, #256] @ 0x100 7002605e: ee76 6a86 vadd.f32 s13, s13, s12 70026062: ee77 7a87 vadd.f32 s15, s15, s14 70026066: ee36 7a85 vadd.f32 s14, s13, s10 7002606a: ee77 7aa5 vadd.f32 s15, s15, s11 7002606e: ed8d 7a0d vstr s14, [sp, #52] @ 0x34 70026072: edcd 7a0e vstr s15, [sp, #56] @ 0x38 70026076: 2a01 cmp r2, #1 70026078: f000 8317 beq.w 700266aa 7002607c: 1f7b subs r3, r7, #5 7002607e: 2b03 cmp r3, #3 70026080: f200 8398 bhi.w 700267b4 70026084: e8df f003 tbb [pc, r3] 70026088: 02200220 .word 0x02200220 7002608c: ed9d 3a0d vldr s6, [sp, #52] @ 0x34 70026090: eddd 3a0e vldr s7, [sp, #56] @ 0x38 70026094: ed9d 2a11 vldr s4, [sp, #68] @ 0x44 70026098: eddd 2a12 vldr s5, [sp, #72] @ 0x48 7002609c: ed9d 1a0f vldr s2, [sp, #60] @ 0x3c 700260a0: eddd 1a10 vldr s3, [sp, #64] @ 0x40 700260a4: ed9d 0a0b vldr s0, [sp, #44] @ 0x2c 700260a8: eddd 0a0c vldr s1, [sp, #48] @ 0x30 700260ac: f7ff fbb0 bl 70025810 700260b0: 4602 mov r2, r0 700260b2: 2800 cmp r0, #0 700260b4: f040 83a3 bne.w 700267fe 700260b8: f8d8 3000 ldr.w r3, [r8] 700260bc: 42b3 cmp r3, r6 700260be: f240 80ba bls.w 70026236 700260c2: f89d e064 ldrb.w lr, [sp, #100] @ 0x64 700260c6: e786 b.n 70025fd6 700260c8: eddd ba0d vldr s23, [sp, #52] @ 0x34 700260cc: 2501 movs r5, #1 700260ce: ed9d ca0e vldr s24, [sp, #56] @ 0x38 700260d2: eeb0 9a6b vmov.f32 s18, s23 700260d6: ed9d 8a0b vldr s16, [sp, #44] @ 0x2c 700260da: eef0 9a4c vmov.f32 s19, s24 700260de: eddd 8a0c vldr s17, [sp, #48] @ 0x30 700260e2: ed9d aa0f vldr s20, [sp, #60] @ 0x3c 700260e6: eddd aa10 vldr s21, [sp, #64] @ 0x40 700260ea: 6823 ldr r3, [r4, #0] 700260ec: edd3 7a0d vldr s15, [r3, #52] @ 0x34 700260f0: ed93 7a0c vldr s14, [r3, #48] @ 0x30 700260f4: eeb4 8ae7 vcmpe.f32 s16, s15 700260f8: eef1 fa10 vmrs APSR_nzcv, fpscr 700260fc: dc23 bgt.n 70026146 700260fe: eef4 8ae7 vcmpe.f32 s17, s15 70026102: eef1 fa10 vmrs APSR_nzcv, fpscr 70026106: dc1e bgt.n 70026146 70026108: eeb4 8ac7 vcmpe.f32 s16, s14 7002610c: eef1 fa10 vmrs APSR_nzcv, fpscr 70026110: d419 bmi.n 70026146 70026112: eef4 8ac7 vcmpe.f32 s17, s14 70026116: eef1 fa10 vmrs APSR_nzcv, fpscr 7002611a: d414 bmi.n 70026146 7002611c: eef4 7aca vcmpe.f32 s15, s20 70026120: eef1 fa10 vmrs APSR_nzcv, fpscr 70026124: d40f bmi.n 70026146 70026126: eef4 aae7 vcmpe.f32 s21, s15 7002612a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002612e: dc0a bgt.n 70026146 70026130: eeb4 aac7 vcmpe.f32 s20, s14 70026134: eef1 fa10 vmrs APSR_nzcv, fpscr 70026138: d405 bmi.n 70026146 7002613a: eef4 aac7 vcmpe.f32 s21, s14 7002613e: eef1 fa10 vmrs APSR_nzcv, fpscr 70026142: f140 831d bpl.w 70026780 70026146: 2200 movs r2, #0 70026148: ee37 7a0b vadd.f32 s14, s14, s22 7002614c: ee77 7acb vsub.f32 s15, s15, s22 70026150: eeb4 8ac7 vcmpe.f32 s16, s14 70026154: eef1 fa10 vmrs APSR_nzcv, fpscr 70026158: d509 bpl.n 7002616e 7002615a: eeb4 7aca vcmpe.f32 s14, s20 7002615e: eef1 fa10 vmrs APSR_nzcv, fpscr 70026162: dd04 ble.n 7002616e 70026164: eeb4 7ac9 vcmpe.f32 s14, s18 70026168: eef1 fa10 vmrs APSR_nzcv, fpscr 7002616c: dc6a bgt.n 70026244 7002616e: eeb4 8ae7 vcmpe.f32 s16, s15 70026172: eef1 fa10 vmrs APSR_nzcv, fpscr 70026176: dd09 ble.n 7002618c 70026178: eef4 7aca vcmpe.f32 s15, s20 7002617c: eef1 fa10 vmrs APSR_nzcv, fpscr 70026180: d504 bpl.n 7002618c 70026182: eef4 7ac9 vcmpe.f32 s15, s18 70026186: eef1 fa10 vmrs APSR_nzcv, fpscr 7002618a: d45b bmi.n 70026244 7002618c: eef4 8ac7 vcmpe.f32 s17, s14 70026190: eef1 fa10 vmrs APSR_nzcv, fpscr 70026194: d509 bpl.n 700261aa 70026196: eef4 aac7 vcmpe.f32 s21, s14 7002619a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002619e: d504 bpl.n 700261aa 700261a0: eeb4 7ae9 vcmpe.f32 s14, s19 700261a4: eef1 fa10 vmrs APSR_nzcv, fpscr 700261a8: dc4c bgt.n 70026244 700261aa: eef4 8ae7 vcmpe.f32 s17, s15 700261ae: eef1 fa10 vmrs APSR_nzcv, fpscr 700261b2: dd09 ble.n 700261c8 700261b4: eef4 aae7 vcmpe.f32 s21, s15 700261b8: eef1 fa10 vmrs APSR_nzcv, fpscr 700261bc: dd04 ble.n 700261c8 700261be: eef4 7ae9 vcmpe.f32 s15, s19 700261c2: eef1 fa10 vmrs APSR_nzcv, fpscr 700261c6: d43d bmi.n 70026244 700261c8: b922 cbnz r2, 700261d4 700261ca: f8d3 22bc ldr.w r2, [r3, #700] @ 0x2bc 700261ce: 2a09 cmp r2, #9 700261d0: f340 80a1 ble.w 70026316 700261d4: 6ad9 ldr r1, [r3, #44] @ 0x2c 700261d6: 3d01 subs r5, #1 700261d8: 68da ldr r2, [r3, #12] 700261da: 2900 cmp r1, #0 700261dc: d161 bne.n 700262a2 700261de: 6819 ldr r1, [r3, #0] 700261e0: 4291 cmp r1, r2 700261e2: d848 bhi.n 70026276 700261e4: 3201 adds r2, #1 700261e6: 2101 movs r1, #1 700261e8: f8c3 b028 str.w fp, [r3, #40] @ 0x28 700261ec: 60da str r2, [r3, #12] 700261ee: 62d9 str r1, [r3, #44] @ 0x2c 700261f0: 689a ldr r2, [r3, #8] 700261f2: 3202 adds r2, #2 700261f4: 609a str r2, [r3, #8] 700261f6: 3202 adds r2, #2 700261f8: 609a str r2, [r3, #8] 700261fa: f8d3 12bc ldr.w r1, [r3, #700] @ 0x2bc 700261fe: b191 cbz r1, 70026226 70026200: 3901 subs r1, #1 70026202: eb01 0241 add.w r2, r1, r1, lsl #1 70026206: f8c3 12bc str.w r1, [r3, #700] @ 0x2bc 7002620a: eb03 02c2 add.w r2, r3, r2, lsl #3 7002620e: ed92 8a73 vldr s16, [r2, #460] @ 0x1cc 70026212: edd2 8a74 vldr s17, [r2, #464] @ 0x1d0 70026216: ed92 aa75 vldr s20, [r2, #468] @ 0x1d4 7002621a: edd2 aa76 vldr s21, [r2, #472] @ 0x1d8 7002621e: ed92 9a77 vldr s18, [r2, #476] @ 0x1dc 70026222: edd2 9a78 vldr s19, [r2, #480] @ 0x1e0 70026226: 2d00 cmp r5, #0 70026228: f47f af60 bne.w 700260ec 7002622c: f8d8 3000 ldr.w r3, [r8] 70026230: 42b3 cmp r3, r6 70026232: f63f af46 bhi.w 700260c2 70026236: 2200 movs r2, #0 70026238: 4610 mov r0, r2 7002623a: b01b add sp, #108 @ 0x6c 7002623c: ecbd 8b10 vpop {d8-d15} 70026240: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70026244: eeb0 1a49 vmov.f32 s2, s18 70026248: ed8d 8a04 vstr s16, [sp, #16] 7002624c: eef0 1a69 vmov.f32 s3, s19 70026250: edcd 8a05 vstr s17, [sp, #20] 70026254: eeb0 0a48 vmov.f32 s0, s16 70026258: ed8d 9a06 vstr s18, [sp, #24] 7002625c: eef0 0a68 vmov.f32 s1, s17 70026260: edcd 9a07 vstr s19, [sp, #28] 70026264: 3d01 subs r5, #1 70026266: f7fe ff0b bl 70025080 7002626a: 4602 mov r2, r0 7002626c: 2800 cmp r0, #0 7002626e: f040 825d bne.w 7002672c 70026272: 6823 ldr r3, [r4, #0] 70026274: e7c1 b.n 700261fa 70026276: 69db ldr r3, [r3, #28] 70026278: 2105 movs r1, #5 7002627a: 5499 strb r1, [r3, r2] 7002627c: 6823 ldr r3, [r4, #0] 7002627e: 68d9 ldr r1, [r3, #12] 70026280: 6ad8 ldr r0, [r3, #44] @ 0x2c 70026282: 3101 adds r1, #1 70026284: 689a ldr r2, [r3, #8] 70026286: 60d9 str r1, [r3, #12] 70026288: 2800 cmp r0, #0 7002628a: d1b2 bne.n 700261f2 7002628c: 1c51 adds r1, r2, #1 7002628e: 6858 ldr r0, [r3, #4] 70026290: 4281 cmp r1, r0 70026292: d30d bcc.n 700262b0 70026294: 3202 adds r2, #2 70026296: 2101 movs r1, #1 70026298: f8c3 b028 str.w fp, [r3, #40] @ 0x28 7002629c: 609a str r2, [r3, #8] 7002629e: 62d9 str r1, [r3, #44] @ 0x2c 700262a0: e7a9 b.n 700261f6 700262a2: 3201 adds r2, #1 700262a4: 60da str r2, [r3, #12] 700262a6: e7a3 b.n 700261f0 700262a8: 2400dc78 .word 0x2400dc78 700262ac: 42480000 .word 0x42480000 700262b0: 691b ldr r3, [r3, #16] 700262b2: eb03 0382 add.w r3, r3, r2, lsl #2 700262b6: ed83 aa00 vstr s20, [r3] 700262ba: 6821 ldr r1, [r4, #0] 700262bc: 688b ldr r3, [r1, #8] 700262be: 690a ldr r2, [r1, #16] 700262c0: 3301 adds r3, #1 700262c2: eb02 0283 add.w r2, r2, r3, lsl #2 700262c6: 608b str r3, [r1, #8] 700262c8: edc2 aa00 vstr s21, [r2] 700262cc: 6823 ldr r3, [r4, #0] 700262ce: 6899 ldr r1, [r3, #8] 700262d0: 6ad8 ldr r0, [r3, #44] @ 0x2c 700262d2: 1c4a adds r2, r1, #1 700262d4: 609a str r2, [r3, #8] 700262d6: 2800 cmp r0, #0 700262d8: d18d bne.n 700261f6 700262da: 1c8f adds r7, r1, #2 700262dc: 6858 ldr r0, [r3, #4] 700262de: 4287 cmp r7, r0 700262e0: d212 bcs.n 70026308 700262e2: 691b ldr r3, [r3, #16] 700262e4: eb03 0382 add.w r3, r3, r2, lsl #2 700262e8: ed83 9a00 vstr s18, [r3] 700262ec: 6821 ldr r1, [r4, #0] 700262ee: 688b ldr r3, [r1, #8] 700262f0: 690a ldr r2, [r1, #16] 700262f2: 3301 adds r3, #1 700262f4: eb02 0283 add.w r2, r2, r3, lsl #2 700262f8: 608b str r3, [r1, #8] 700262fa: edc2 9a00 vstr s19, [r2] 700262fe: 6823 ldr r3, [r4, #0] 70026300: 689a ldr r2, [r3, #8] 70026302: 3201 adds r2, #1 70026304: 609a str r2, [r3, #8] 70026306: e778 b.n 700261fa 70026308: 3103 adds r1, #3 7002630a: 2201 movs r2, #1 7002630c: f8c3 b028 str.w fp, [r3, #40] @ 0x28 70026310: 6099 str r1, [r3, #8] 70026312: 62da str r2, [r3, #44] @ 0x2c 70026314: e771 b.n 700261fa 70026316: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 7002631a: eb02 0142 add.w r1, r2, r2, lsl #1 7002631e: ee39 9a0a vadd.f32 s18, s18, s20 70026322: 3201 adds r2, #1 70026324: ee7a 9aa9 vadd.f32 s19, s21, s19 70026328: eb03 01c1 add.w r1, r3, r1, lsl #3 7002632c: ee38 aa0a vadd.f32 s20, s16, s20 70026330: 3501 adds r5, #1 70026332: ee78 aaaa vadd.f32 s21, s17, s21 70026336: edc1 ba77 vstr s23, [r1, #476] @ 0x1dc 7002633a: ee29 9a27 vmul.f32 s18, s18, s15 7002633e: ed81 ca78 vstr s24, [r1, #480] @ 0x1e0 70026342: ee69 9aa7 vmul.f32 s19, s19, s15 70026346: ee2a aa27 vmul.f32 s20, s20, s15 7002634a: ee6a aaa7 vmul.f32 s21, s21, s15 7002634e: ed81 9a75 vstr s18, [r1, #468] @ 0x1d4 70026352: edc1 9a76 vstr s19, [r1, #472] @ 0x1d8 70026356: ee7a 6a09 vadd.f32 s13, s20, s18 7002635a: ee3a 7aa9 vadd.f32 s14, s21, s19 7002635e: ee26 9aa7 vmul.f32 s18, s13, s15 70026362: ee67 9a27 vmul.f32 s19, s14, s15 70026366: ed81 9a73 vstr s18, [r1, #460] @ 0x1cc 7002636a: edc1 9a74 vstr s19, [r1, #464] @ 0x1d0 7002636e: f8c3 22bc str.w r2, [r3, #700] @ 0x2bc 70026372: 2d00 cmp r5, #0 70026374: f47f aeba bne.w 700260ec 70026378: e758 b.n 7002622c 7002637a: 9809 ldr r0, [sp, #36] @ 0x24 7002637c: f88d 2020 strb.w r2, [sp, #32] 70026380: f8d8 200c ldr.w r2, [r8, #12] 70026384: 900a str r0, [sp, #40] @ 0x28 70026386: eb02 0280 add.w r2, r2, r0, lsl #2 7002638a: f88d 7022 strb.w r7, [sp, #34] @ 0x22 7002638e: 3002 adds r0, #2 70026390: edd2 7a00 vldr s15, [r2] 70026394: ed92 7a01 vldr s14, [r2, #4] 70026398: f1b9 0f00 cmp.w r9, #0 7002639c: f000 8192 beq.w 700266c4 700263a0: ed9d 6a13 vldr s12, [sp, #76] @ 0x4c 700263a4: eddd 6a14 vldr s13, [sp, #80] @ 0x50 700263a8: ee77 7a86 vadd.f32 s15, s15, s12 700263ac: ee37 7a26 vadd.f32 s14, s14, s13 700263b0: edcd 7a0d vstr s15, [sp, #52] @ 0x34 700263b4: f893 11bc ldrb.w r1, [r3, #444] @ 0x1bc 700263b8: 2200 movs r2, #0 700263ba: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 700263be: 9009 str r0, [sp, #36] @ 0x24 700263c0: edcd 7a17 vstr s15, [sp, #92] @ 0x5c 700263c4: ed8d 7a18 vstr s14, [sp, #96] @ 0x60 700263c8: e62e b.n 70026028 700263ca: 9809 ldr r0, [sp, #36] @ 0x24 700263cc: 2800 cmp r0, #0 700263ce: f000 817c beq.w 700266ca 700263d2: f89d 2020 ldrb.w r2, [sp, #32] 700263d6: f00e 016f and.w r1, lr, #111 @ 0x6f 700263da: f04f 0c00 mov.w ip, #0 700263de: f1a7 0e05 sub.w lr, r7, #5 700263e2: f8d8 a00c ldr.w sl, [r8, #12] 700263e6: f88d c022 strb.w ip, [sp, #34] @ 0x22 700263ea: ea4f 0c80 mov.w ip, r0, lsl #2 700263ee: 9100 str r1, [sp, #0] 700263f0: f1be 0f03 cmp.w lr, #3 700263f4: f200 8211 bhi.w 7002681a 700263f8: e8df f00e tbb [pc, lr] 700263fc: 0246956f .word 0x0246956f 70026400: 9900 ldr r1, [sp, #0] 70026402: eddd 7a13 vldr s15, [sp, #76] @ 0x4c 70026406: 3905 subs r1, #5 70026408: ed9d 7a14 vldr s14, [sp, #80] @ 0x50 7002640c: 2903 cmp r1, #3 7002640e: f240 81aa bls.w 70026766 70026412: eeb0 6a47 vmov.f32 s12, s14 70026416: eef0 6a67 vmov.f32 s13, s15 7002641a: 44d4 add ip, sl 7002641c: 3002 adds r0, #2 7002641e: f893 11bc ldrb.w r1, [r3, #444] @ 0x1bc 70026422: ed9c 5a00 vldr s10, [ip] 70026426: eddc 5a01 vldr s11, [ip, #4] 7002642a: ed8d 6a10 vstr s12, [sp, #64] @ 0x40 7002642e: edcd 6a0f vstr s13, [sp, #60] @ 0x3c 70026432: 9009 str r0, [sp, #36] @ 0x24 70026434: ed8d 5a11 vstr s10, [sp, #68] @ 0x44 70026438: edcd 5a12 vstr s11, [sp, #72] @ 0x48 7002643c: f1b9 0f00 cmp.w r9, #0 70026440: f000 8189 beq.w 70026756 70026444: ee35 5a27 vadd.f32 s10, s10, s15 70026448: ee75 5a87 vadd.f32 s11, s11, s14 7002644c: ed8d 5a11 vstr s10, [sp, #68] @ 0x44 70026450: edcd 5a12 vstr s11, [sp, #72] @ 0x48 70026454: ed8d 5a15 vstr s10, [sp, #84] @ 0x54 70026458: edcd 5a16 vstr s11, [sp, #88] @ 0x58 7002645c: 2900 cmp r1, #0 7002645e: f040 8096 bne.w 7002658e 70026462: 2100 movs r1, #0 70026464: ea4f 0c80 mov.w ip, r0, lsl #2 70026468: 44d4 add ip, sl 7002646a: 3002 adds r0, #2 7002646c: ed9c 6a00 vldr s12, [ip] 70026470: eddc 6a01 vldr s13, [ip, #4] 70026474: ee77 7a86 vadd.f32 s15, s15, s12 70026478: 9009 str r0, [sp, #36] @ 0x24 7002647a: ee37 7a26 vadd.f32 s14, s14, s13 7002647e: edcd 7a0d vstr s15, [sp, #52] @ 0x34 70026482: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 70026486: e5cf b.n 70026028 70026488: 9900 ldr r1, [sp, #0] 7002648a: eddd 7a13 vldr s15, [sp, #76] @ 0x4c 7002648e: 3905 subs r1, #5 70026490: ed9d 7a14 vldr s14, [sp, #80] @ 0x50 70026494: 2903 cmp r1, #3 70026496: d80b bhi.n 700264b0 70026498: ee77 7aa7 vadd.f32 s15, s15, s15 7002649c: ed9d 6a15 vldr s12, [sp, #84] @ 0x54 700264a0: ee37 7a07 vadd.f32 s14, s14, s14 700264a4: eddd 6a16 vldr s13, [sp, #88] @ 0x58 700264a8: ee77 7ac6 vsub.f32 s15, s15, s12 700264ac: ee37 7a66 vsub.f32 s14, s14, s13 700264b0: f893 11bc ldrb.w r1, [r3, #444] @ 0x1bc 700264b4: ed8d 7a10 vstr s14, [sp, #64] @ 0x40 700264b8: edcd 7a0f vstr s15, [sp, #60] @ 0x3c 700264bc: edcd 7a15 vstr s15, [sp, #84] @ 0x54 700264c0: ed8d 7a16 vstr s14, [sp, #88] @ 0x58 700264c4: 2900 cmp r1, #0 700264c6: f040 8099 bne.w 700265fc 700264ca: f1b9 0f00 cmp.w r9, #0 700264ce: d01e beq.n 7002650e 700264d0: eddd 7a13 vldr s15, [sp, #76] @ 0x4c 700264d4: ed9d 7a14 vldr s14, [sp, #80] @ 0x50 700264d8: e7c6 b.n 70026468 700264da: 44d4 add ip, sl 700264dc: 3002 adds r0, #2 700264de: f893 11bc ldrb.w r1, [r3, #444] @ 0x1bc 700264e2: eddc 6a00 vldr s13, [ip] 700264e6: ed9c 6a01 vldr s12, [ip, #4] 700264ea: 9009 str r0, [sp, #36] @ 0x24 700264ec: edcd 6a0f vstr s13, [sp, #60] @ 0x3c 700264f0: ed8d 6a10 vstr s12, [sp, #64] @ 0x40 700264f4: f1b9 0f00 cmp.w r9, #0 700264f8: f040 80a1 bne.w 7002663e 700264fc: edcd 6a15 vstr s13, [sp, #84] @ 0x54 70026500: ed8d 6a16 vstr s12, [sp, #88] @ 0x58 70026504: 2900 cmp r1, #0 70026506: f040 80ad bne.w 70026664 7002650a: ea4f 0c80 mov.w ip, r0, lsl #2 7002650e: 44d4 add ip, sl 70026510: 3002 adds r0, #2 70026512: eddc 7a00 vldr s15, [ip] 70026516: ed9c 7a01 vldr s14, [ip, #4] 7002651a: 9009 str r0, [sp, #36] @ 0x24 7002651c: edcd 7a0d vstr s15, [sp, #52] @ 0x34 70026520: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 70026524: e580 b.n 70026028 70026526: 44d4 add ip, sl 70026528: 3004 adds r0, #4 7002652a: f893 11bc ldrb.w r1, [r3, #444] @ 0x1bc 7002652e: eddc 6a00 vldr s13, [ip] 70026532: ed9c 6a01 vldr s12, [ip, #4] 70026536: ed9c 5a02 vldr s10, [ip, #8] 7002653a: eddc 5a03 vldr s11, [ip, #12] 7002653e: edcd 6a0f vstr s13, [sp, #60] @ 0x3c 70026542: ed8d 6a10 vstr s12, [sp, #64] @ 0x40 70026546: ed8d 5a11 vstr s10, [sp, #68] @ 0x44 7002654a: edcd 5a12 vstr s11, [sp, #72] @ 0x48 7002654e: 9009 str r0, [sp, #36] @ 0x24 70026550: f1b9 0f00 cmp.w r9, #0 70026554: f000 80ff beq.w 70026756 70026558: eddd 7a13 vldr s15, [sp, #76] @ 0x4c 7002655c: ed9d 7a14 vldr s14, [sp, #80] @ 0x50 70026560: ee35 5a27 vadd.f32 s10, s10, s15 70026564: ee75 5a87 vadd.f32 s11, s11, s14 70026568: ee76 6aa7 vadd.f32 s13, s13, s15 7002656c: ee36 6a07 vadd.f32 s12, s12, s14 70026570: ed8d 5a11 vstr s10, [sp, #68] @ 0x44 70026574: edcd 5a12 vstr s11, [sp, #72] @ 0x48 70026578: edcd 6a0f vstr s13, [sp, #60] @ 0x3c 7002657c: ed8d 6a10 vstr s12, [sp, #64] @ 0x40 70026580: ed8d 5a15 vstr s10, [sp, #84] @ 0x54 70026584: edcd 5a16 vstr s11, [sp, #88] @ 0x58 70026588: 2900 cmp r1, #0 7002658a: f43f af6a beq.w 70026462 7002658e: edd3 4a3b vldr s9, [r3, #236] @ 0xec 70026592: ea4f 0c80 mov.w ip, r0, lsl #2 70026596: ed93 3a3c vldr s6, [r3, #240] @ 0xf0 7002659a: ed93 7a3e vldr s14, [r3, #248] @ 0xf8 7002659e: ee26 4aa4 vmul.f32 s8, s13, s9 700265a2: edd3 3a3f vldr s7, [r3, #252] @ 0xfc 700265a6: ee66 2a03 vmul.f32 s5, s12, s6 700265aa: ee66 7a87 vmul.f32 s15, s13, s14 700265ae: ee26 6a23 vmul.f32 s12, s12, s7 700265b2: ee64 6a85 vmul.f32 s13, s9, s10 700265b6: edd3 4a3d vldr s9, [r3, #244] @ 0xf4 700265ba: ee23 3a25 vmul.f32 s6, s6, s11 700265be: ee27 7a05 vmul.f32 s14, s14, s10 700265c2: ed93 5a40 vldr s10, [r3, #256] @ 0x100 700265c6: ee63 3aa5 vmul.f32 s7, s7, s11 700265ca: ee77 7a86 vadd.f32 s15, s15, s12 700265ce: ee74 5a22 vadd.f32 s11, s8, s5 700265d2: ee76 6a83 vadd.f32 s13, s13, s6 700265d6: ee37 7a23 vadd.f32 s14, s14, s7 700265da: ee35 6aa4 vadd.f32 s12, s11, s9 700265de: ee77 7a85 vadd.f32 s15, s15, s10 700265e2: ee76 6aa4 vadd.f32 s13, s13, s9 700265e6: ee37 7a05 vadd.f32 s14, s14, s10 700265ea: ed8d 6a0f vstr s12, [sp, #60] @ 0x3c 700265ee: edcd 7a10 vstr s15, [sp, #64] @ 0x40 700265f2: edcd 6a11 vstr s13, [sp, #68] @ 0x44 700265f6: ed8d 7a12 vstr s14, [sp, #72] @ 0x48 700265fa: e766 b.n 700264ca 700265fc: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 70026600: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 70026604: edd3 6a3b vldr s13, [r3, #236] @ 0xec 70026608: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 7002660c: ee67 6aa6 vmul.f32 s13, s15, s13 70026610: ee27 6a06 vmul.f32 s12, s14, s12 70026614: ee67 7a85 vmul.f32 s15, s15, s10 70026618: ed93 5a3d vldr s10, [r3, #244] @ 0xf4 7002661c: ee27 7a25 vmul.f32 s14, s14, s11 70026620: edd3 5a40 vldr s11, [r3, #256] @ 0x100 70026624: ee76 6a86 vadd.f32 s13, s13, s12 70026628: ee77 7a87 vadd.f32 s15, s15, s14 7002662c: ee36 7a85 vadd.f32 s14, s13, s10 70026630: ee77 7aa5 vadd.f32 s15, s15, s11 70026634: ed8d 7a0f vstr s14, [sp, #60] @ 0x3c 70026638: edcd 7a10 vstr s15, [sp, #64] @ 0x40 7002663c: e745 b.n 700264ca 7002663e: eddd 7a13 vldr s15, [sp, #76] @ 0x4c 70026642: ed9d 7a14 vldr s14, [sp, #80] @ 0x50 70026646: ee76 6aa7 vadd.f32 s13, s13, s15 7002664a: ee36 6a07 vadd.f32 s12, s12, s14 7002664e: edcd 6a0f vstr s13, [sp, #60] @ 0x3c 70026652: ed8d 6a10 vstr s12, [sp, #64] @ 0x40 70026656: edcd 6a15 vstr s13, [sp, #84] @ 0x54 7002665a: ed8d 6a16 vstr s12, [sp, #88] @ 0x58 7002665e: 2900 cmp r1, #0 70026660: f43f aeff beq.w 70026462 70026664: ed93 5a3f vldr s10, [r3, #252] @ 0xfc 70026668: ea4f 0c80 mov.w ip, r0, lsl #2 7002666c: ed93 7a3b vldr s14, [r3, #236] @ 0xec 70026670: edd3 5a3c vldr s11, [r3, #240] @ 0xf0 70026674: edd3 7a3e vldr s15, [r3, #248] @ 0xf8 70026678: ee26 7a87 vmul.f32 s14, s13, s14 7002667c: ee66 5a25 vmul.f32 s11, s12, s11 70026680: ee66 7aa7 vmul.f32 s15, s13, s15 70026684: edd3 6a40 vldr s13, [r3, #256] @ 0x100 70026688: ee26 6a05 vmul.f32 s12, s12, s10 7002668c: ed93 5a3d vldr s10, [r3, #244] @ 0xf4 70026690: ee37 7a25 vadd.f32 s14, s14, s11 70026694: ee77 7a86 vadd.f32 s15, s15, s12 70026698: ee37 7a05 vadd.f32 s14, s14, s10 7002669c: ee77 7aa6 vadd.f32 s15, s15, s13 700266a0: ed8d 7a0f vstr s14, [sp, #60] @ 0x3c 700266a4: edcd 7a10 vstr s15, [sp, #64] @ 0x40 700266a8: e70f b.n 700264ca 700266aa: ed9d 0a0b vldr s0, [sp, #44] @ 0x2c 700266ae: eddd 0a0c vldr s1, [sp, #48] @ 0x30 700266b2: f7fe f927 bl 70024904 700266b6: 4602 mov r2, r0 700266b8: 2800 cmp r0, #0 700266ba: f040 80a0 bne.w 700267fe 700266be: f88d 0020 strb.w r0, [sp, #32] 700266c2: e4db b.n 7002607c 700266c4: edcd 7a0d vstr s15, [sp, #52] @ 0x34 700266c8: e674 b.n 700263b4 700266ca: 2201 movs r2, #1 700266cc: f88d 2020 strb.w r2, [sp, #32] 700266d0: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 700266d4: b31a cbz r2, 7002671e 700266d6: eddd 7a0b vldr s15, [sp, #44] @ 0x2c 700266da: eddd 6a0c vldr s13, [sp, #48] @ 0x30 700266de: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 700266e2: edd3 5a3f vldr s11, [r3, #252] @ 0xfc 700266e6: ed93 7a3b vldr s14, [r3, #236] @ 0xec 700266ea: ed93 6a3c vldr s12, [r3, #240] @ 0xf0 700266ee: ee27 7a87 vmul.f32 s14, s15, s14 700266f2: ee26 6a86 vmul.f32 s12, s13, s12 700266f6: ee67 7a85 vmul.f32 s15, s15, s10 700266fa: ed93 5a3d vldr s10, [r3, #244] @ 0xf4 700266fe: ee66 6aa5 vmul.f32 s13, s13, s11 70026702: edd3 5a40 vldr s11, [r3, #256] @ 0x100 70026706: ee37 7a06 vadd.f32 s14, s14, s12 7002670a: ee77 7aa6 vadd.f32 s15, s15, s13 7002670e: ee37 7a05 vadd.f32 s14, s14, s10 70026712: ee77 7aa5 vadd.f32 s15, s15, s11 70026716: ed8d 7a0b vstr s14, [sp, #44] @ 0x2c 7002671a: edcd 7a0c vstr s15, [sp, #48] @ 0x30 7002671e: 2201 movs r2, #1 70026720: e659 b.n 700263d6 70026722: ed9f 7a8b vldr s14, [pc, #556] @ 70026950 70026726: eef0 7a47 vmov.f32 s15, s14 7002672a: e474 b.n 70026016 7002672c: 6823 ldr r3, [r4, #0] 7002672e: 2500 movs r5, #0 70026730: 9000 str r0, [sp, #0] 70026732: e9c3 5545 strd r5, r5, [r3, #276] @ 0x114 70026736: f001 f90b bl 70027950 7002673a: 9a00 ldr r2, [sp, #0] 7002673c: 6823 ldr r3, [r4, #0] 7002673e: 4610 mov r0, r2 70026740: e9c3 5545 strd r5, r5, [r3, #276] @ 0x114 70026744: f001 f904 bl 70027950 70026748: 9a00 ldr r2, [sp, #0] 7002674a: 4610 mov r0, r2 7002674c: b01b add sp, #108 @ 0x6c 7002674e: ecbd 8b10 vpop {d8-d15} 70026752: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70026756: ed8d 5a15 vstr s10, [sp, #84] @ 0x54 7002675a: edcd 5a16 vstr s11, [sp, #88] @ 0x58 7002675e: 2900 cmp r1, #0 70026760: f47f af15 bne.w 7002658e 70026764: e6d1 b.n 7002650a 70026766: ee77 6aa7 vadd.f32 s13, s15, s15 7002676a: ed9d 5a15 vldr s10, [sp, #84] @ 0x54 7002676e: ee37 6a07 vadd.f32 s12, s14, s14 70026772: eddd 5a16 vldr s11, [sp, #88] @ 0x58 70026776: ee76 6ac5 vsub.f32 s13, s13, s10 7002677a: ee36 6a65 vsub.f32 s12, s12, s11 7002677e: e64c b.n 7002641a 70026780: eef4 7ac9 vcmpe.f32 s15, s18 70026784: eef1 fa10 vmrs APSR_nzcv, fpscr 70026788: f53f acdd bmi.w 70026146 7002678c: eef4 7ae9 vcmpe.f32 s15, s19 70026790: eef1 fa10 vmrs APSR_nzcv, fpscr 70026794: f53f acd7 bmi.w 70026146 70026798: eeb4 9ac7 vcmpe.f32 s18, s14 7002679c: eef1 fa10 vmrs APSR_nzcv, fpscr 700267a0: f53f acd1 bmi.w 70026146 700267a4: eef4 9ac7 vcmpe.f32 s19, s14 700267a8: eef1 fa10 vmrs APSR_nzcv, fpscr 700267ac: bf54 ite pl 700267ae: 2201 movpl r2, #1 700267b0: 2200 movmi r2, #0 700267b2: e4c9 b.n 70026148 700267b4: f005 030f and.w r3, r5, #15 700267b8: 9302 str r3, [sp, #8] 700267ba: 9b02 ldr r3, [sp, #8] 700267bc: 2b09 cmp r3, #9 700267be: f000 8186 beq.w 70026ace 700267c2: f1a7 030a sub.w r3, r7, #10 700267c6: 2b01 cmp r3, #1 700267c8: f67f ac76 bls.w 700260b8 700267cc: 1ebb subs r3, r7, #2 700267ce: 2b02 cmp r3, #2 700267d0: f240 8386 bls.w 70026ee0 700267d4: 2f01 cmp r7, #1 700267d6: f000 8392 beq.w 70026efe 700267da: f44f 7280 mov.w r2, #256 @ 0x100 700267de: 6823 ldr r3, [r4, #0] 700267e0: ed9d 1a0d vldr s2, [sp, #52] @ 0x34 700267e4: 625a str r2, [r3, #36] @ 0x24 700267e6: eddd 1a0e vldr s3, [sp, #56] @ 0x38 700267ea: ed9d 0a0b vldr s0, [sp, #44] @ 0x2c 700267ee: eddd 0a0c vldr s1, [sp, #48] @ 0x30 700267f2: f7fe fc45 bl 70025080 700267f6: 4602 mov r2, r0 700267f8: 2800 cmp r0, #0 700267fa: f43f ac5d beq.w 700260b8 700267fe: 6823 ldr r3, [r4, #0] 70026800: 2100 movs r1, #0 70026802: 9200 str r2, [sp, #0] 70026804: e9c3 1145 strd r1, r1, [r3, #276] @ 0x114 70026808: f001 f8a2 bl 70027950 7002680c: 9a00 ldr r2, [sp, #0] 7002680e: 4610 mov r0, r2 70026810: b01b add sp, #108 @ 0x6c 70026812: ecbd 8b10 vpop {d8-d15} 70026816: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002681a: f005 010f and.w r1, r5, #15 7002681e: 2909 cmp r1, #9 70026820: e9cd 1101 strd r1, r1, [sp, #4] 70026824: d012 beq.n 7002684c 70026826: 1c41 adds r1, r0, #1 70026828: f1a7 0e03 sub.w lr, r7, #3 7002682c: 9100 str r1, [sp, #0] 7002682e: 4671 mov r1, lr 70026830: 2908 cmp r1, #8 70026832: f200 8209 bhi.w 70026c48 70026836: e8df f011 tbh [pc, r1, lsl #1] 7002683a: 01f0 .short 0x01f0 7002683c: 020701d9 .word 0x020701d9 70026840: 02070207 .word 0x02070207 70026844: 02070207 .word 0x02070207 70026848: 001e0093 .word 0x001e0093 7002684c: 44d4 add ip, sl 7002684e: 3003 adds r0, #3 70026850: f88d 5023 strb.w r5, [sp, #35] @ 0x23 70026854: f8dc 1000 ldr.w r1, [ip] 70026858: 9009 str r0, [sp, #36] @ 0x24 7002685a: 910f str r1, [sp, #60] @ 0x3c 7002685c: f8dc 1004 ldr.w r1, [ip, #4] 70026860: 9110 str r1, [sp, #64] @ 0x40 70026862: f8dc 1008 ldr.w r1, [ip, #8] 70026866: ea4f 0c80 mov.w ip, r0, lsl #2 7002686a: 9111 str r1, [sp, #68] @ 0x44 7002686c: 9913 ldr r1, [sp, #76] @ 0x4c 7002686e: 9115 str r1, [sp, #84] @ 0x54 70026870: 9914 ldr r1, [sp, #80] @ 0x50 70026872: 9116 str r1, [sp, #88] @ 0x58 70026874: e7d7 b.n 70026826 70026876: 44d4 add ip, sl 70026878: 9b00 ldr r3, [sp, #0] 7002687a: 2a01 cmp r2, #1 7002687c: eddc 7a00 vldr s15, [ip] 70026880: 9309 str r3, [sp, #36] @ 0x24 70026882: eefd 7ae7 vcvt.s32.f32 s15, s15 70026886: ee17 1a90 vmov r1, s15 7002688a: f000 81e0 beq.w 70026c4e 7002688e: 2900 cmp r1, #0 70026890: 460b mov r3, r1 70026892: bfb8 it lt 70026894: 1c4b addlt r3, r1, #1 70026896: 2901 cmp r1, #1 70026898: ea4f 0363 mov.w r3, r3, asr #1 7002689c: f340 8113 ble.w 70026ac6 700268a0: f1b9 0f00 cmp.w r9, #0 700268a4: f040 83cd bne.w 70027042 700268a8: 4651 mov r1, sl 700268aa: 9701 str r7, [sp, #4] 700268ac: 46b2 mov sl, r6 700268ae: 461f mov r7, r3 700268b0: 462e mov r6, r5 700268b2: 9d00 ldr r5, [sp, #0] 700268b4: eb01 0185 add.w r1, r1, r5, lsl #2 700268b8: 6822 ldr r2, [r4, #0] 700268ba: 3502 adds r5, #2 700268bc: f88d 6064 strb.w r6, [sp, #100] @ 0x64 700268c0: edd1 7a00 vldr s15, [r1] 700268c4: edd1 6a01 vldr s13, [r1, #4] 700268c8: f892 11bc ldrb.w r1, [r2, #444] @ 0x1bc 700268cc: 9509 str r5, [sp, #36] @ 0x24 700268ce: edcd 7a0d vstr s15, [sp, #52] @ 0x34 700268d2: edcd 6a0e vstr s13, [sp, #56] @ 0x38 700268d6: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 700268da: edcd 6a14 vstr s13, [sp, #80] @ 0x50 700268de: b1d9 cbz r1, 70026918 700268e0: ed92 6a3e vldr s12, [r2, #248] @ 0xf8 700268e4: ed92 7a3b vldr s14, [r2, #236] @ 0xec 700268e8: edd2 4a3c vldr s9, [r2, #240] @ 0xf0 700268ec: ee27 7a87 vmul.f32 s14, s15, s14 700268f0: ed92 5a3f vldr s10, [r2, #252] @ 0xfc 700268f4: ee67 7a86 vmul.f32 s15, s15, s12 700268f8: edd2 5a3d vldr s11, [r2, #244] @ 0xf4 700268fc: ed92 6a40 vldr s12, [r2, #256] @ 0x100 70026900: ee06 7aa4 vmla.f32 s14, s13, s9 70026904: ee46 7a85 vmla.f32 s15, s13, s10 70026908: ee37 7a25 vadd.f32 s14, s14, s11 7002690c: ee77 7a86 vadd.f32 s15, s15, s12 70026910: ed8d 7a0d vstr s14, [sp, #52] @ 0x34 70026914: edcd 7a0e vstr s15, [sp, #56] @ 0x38 70026918: ed9d 1a0d vldr s2, [sp, #52] @ 0x34 7002691c: f109 0901 add.w r9, r9, #1 70026920: eddd 1a0e vldr s3, [sp, #56] @ 0x38 70026924: ed9d 0a0b vldr s0, [sp, #44] @ 0x2c 70026928: eddd 0a0c vldr s1, [sp, #48] @ 0x30 7002692c: f7fe fba8 bl 70025080 70026930: 4602 mov r2, r0 70026932: 2800 cmp r0, #0 70026934: f040 83d6 bne.w 700270e4 70026938: ab0d add r3, sp, #52 @ 0x34 7002693a: 454f cmp r7, r9 7002693c: e893 0003 ldmia.w r3, {r0, r1} 70026940: ab0b add r3, sp, #44 @ 0x2c 70026942: e883 0003 stmia.w r3, {r0, r1} 70026946: f340 842d ble.w 700271a4 7002694a: f8d8 100c ldr.w r1, [r8, #12] 7002694e: e7b1 b.n 700268b4 70026950: 00000000 .word 0x00000000 70026954: b727c5ac .word 0xb727c5ac 70026958: 3727c5ac .word 0x3727c5ac 7002695c: 3c8efa35 .word 0x3c8efa35 70026960: 44d4 add ip, sl 70026962: 9b00 ldr r3, [sp, #0] 70026964: 2a01 cmp r2, #1 70026966: eddc 7a00 vldr s15, [ip] 7002696a: 9309 str r3, [sp, #36] @ 0x24 7002696c: eefd 7ae7 vcvt.s32.f32 s15, s15 70026970: ee17 aa90 vmov sl, s15 70026974: f000 82fb beq.w 70026f6e 70026978: f1ba 0f00 cmp.w sl, #0 7002697c: 4657 mov r7, sl 7002697e: bfb8 it lt 70026980: f10a 0701 addlt.w r7, sl, #1 70026984: f1ba 0f01 cmp.w sl, #1 70026988: ea4f 0767 mov.w r7, r7, asr #1 7002698c: f340 82fc ble.w 70026f88 70026990: f1b9 0f00 cmp.w r9, #0 70026994: f040 82fb bne.w 70026f8e 70026998: f8dd a000 ldr.w sl, [sp] 7002699c: f8d8 300c ldr.w r3, [r8, #12] 700269a0: f88d 5064 strb.w r5, [sp, #100] @ 0x64 700269a4: eb03 038a add.w r3, r3, sl, lsl #2 700269a8: f10a 0a02 add.w sl, sl, #2 700269ac: ed93 8a00 vldr s16, [r3] 700269b0: edd3 6a01 vldr s13, [r3, #4] 700269b4: 6823 ldr r3, [r4, #0] 700269b6: f8cd a024 str.w sl, [sp, #36] @ 0x24 700269ba: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 700269be: ed8d 8a0d vstr s16, [sp, #52] @ 0x34 700269c2: edcd 6a0e vstr s13, [sp, #56] @ 0x38 700269c6: ed8d 8a13 vstr s16, [sp, #76] @ 0x4c 700269ca: edcd 6a14 vstr s13, [sp, #80] @ 0x50 700269ce: b1da cbz r2, 70026a08 700269d0: ed93 7a3b vldr s14, [r3, #236] @ 0xec 700269d4: edd3 7a3e vldr s15, [r3, #248] @ 0xf8 700269d8: ee28 7a07 vmul.f32 s14, s16, s14 700269dc: edd3 4a3c vldr s9, [r3, #240] @ 0xf0 700269e0: ee68 7a27 vmul.f32 s15, s16, s15 700269e4: ed93 5a3f vldr s10, [r3, #252] @ 0xfc 700269e8: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 700269ec: ee06 7aa4 vmla.f32 s14, s13, s9 700269f0: ed93 6a40 vldr s12, [r3, #256] @ 0x100 700269f4: ee46 7a85 vmla.f32 s15, s13, s10 700269f8: ee37 7a25 vadd.f32 s14, s14, s11 700269fc: ee77 7a86 vadd.f32 s15, s15, s12 70026a00: ed8d 7a0d vstr s14, [sp, #52] @ 0x34 70026a04: edcd 7a0e vstr s15, [sp, #56] @ 0x38 70026a08: ed9d 1a0d vldr s2, [sp, #52] @ 0x34 70026a0c: f109 0901 add.w r9, r9, #1 70026a10: eddd 1a0e vldr s3, [sp, #56] @ 0x38 70026a14: ed9d 0a0b vldr s0, [sp, #44] @ 0x2c 70026a18: eddd 0a0c vldr s1, [sp, #48] @ 0x30 70026a1c: f7fe fb30 bl 70025080 70026a20: 4602 mov r2, r0 70026a22: 2800 cmp r0, #0 70026a24: f040 835e bne.w 700270e4 70026a28: ab0d add r3, sp, #52 @ 0x34 70026a2a: 454f cmp r7, r9 70026a2c: e893 0003 ldmia.w r3, {r0, r1} 70026a30: ab0b add r3, sp, #44 @ 0x2c 70026a32: e883 0003 stmia.w r3, {r0, r1} 70026a36: dcb1 bgt.n 7002699c 70026a38: eddd 6a17 vldr s13, [sp, #92] @ 0x5c 70026a3c: eddd 7a18 vldr s15, [sp, #96] @ 0x60 70026a40: ee38 8a66 vsub.f32 s16, s16, s13 70026a44: eeb5 8a40 vcmp.f32 s16, #0.0 70026a48: eef1 fa10 vmrs APSR_nzcv, fpscr 70026a4c: f000 839f beq.w 7002718e 70026a50: 6823 ldr r3, [r4, #0] 70026a52: a90d add r1, sp, #52 @ 0x34 70026a54: ad0b add r5, sp, #44 @ 0x2c 70026a56: edcd 6a13 vstr s13, [sp, #76] @ 0x4c 70026a5a: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70026a5e: edcd 7a14 vstr s15, [sp, #80] @ 0x50 70026a62: c903 ldmia r1, {r0, r1} 70026a64: edcd 6a0d vstr s13, [sp, #52] @ 0x34 70026a68: edcd 7a0e vstr s15, [sp, #56] @ 0x38 70026a6c: e885 0003 stmia.w r5, {r0, r1} 70026a70: b1da cbz r2, 70026aaa 70026a72: ed93 6a3f vldr s12, [r3, #252] @ 0xfc 70026a76: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 70026a7a: edd3 4a3b vldr s9, [r3, #236] @ 0xec 70026a7e: ee27 7a87 vmul.f32 s14, s15, s14 70026a82: ed93 5a3e vldr s10, [r3, #248] @ 0xf8 70026a86: ee67 7a86 vmul.f32 s15, s15, s12 70026a8a: edd3 5a3d vldr s11, [r3, #244] @ 0xf4 70026a8e: ed93 6a40 vldr s12, [r3, #256] @ 0x100 70026a92: ee06 7aa4 vmla.f32 s14, s13, s9 70026a96: ee46 7a85 vmla.f32 s15, s13, s10 70026a9a: ee37 7a25 vadd.f32 s14, s14, s11 70026a9e: ee77 7a86 vadd.f32 s15, s15, s12 70026aa2: ed8d 7a0d vstr s14, [sp, #52] @ 0x34 70026aa6: edcd 7a0e vstr s15, [sp, #56] @ 0x38 70026aaa: ed9d 1a0d vldr s2, [sp, #52] @ 0x34 70026aae: eddd 1a0e vldr s3, [sp, #56] @ 0x38 70026ab2: ed9d 0a0b vldr s0, [sp, #44] @ 0x2c 70026ab6: eddd 0a0c vldr s1, [sp, #48] @ 0x30 70026aba: f7fe fae1 bl 70025080 70026abe: 4602 mov r2, r0 70026ac0: 2800 cmp r0, #0 70026ac2: f040 8081 bne.w 70026bc8 70026ac6: 9b01 ldr r3, [sp, #4] 70026ac8: 2b09 cmp r3, #9 70026aca: f47f aaf5 bne.w 700260b8 70026ace: ed9d aa15 vldr s20, [sp, #84] @ 0x54 70026ad2: eddd aa13 vldr s21, [sp, #76] @ 0x4c 70026ad6: ed1f 6a60 vldr s12, [pc, #-384] @ 70026958 70026ada: ee3a 7a6a vsub.f32 s14, s20, s21 70026ade: ed9d 8a16 vldr s16, [sp, #88] @ 0x58 70026ae2: eddd 9a14 vldr s19, [sp, #80] @ 0x50 70026ae6: eeb5 7ac0 vcmpe.f32 s14, #0.0 70026aea: eef1 fa10 vmrs APSR_nzcv, fpscr 70026aee: eeb5 aac0 vcmpe.f32 s20, #0.0 70026af2: bf48 it mi 70026af4: eeb1 7a47 vnegmi.f32 s14, s14 70026af8: eef1 fa10 vmrs APSR_nzcv, fpscr 70026afc: eef5 aac0 vcmpe.f32 s21, #0.0 70026b00: bf4c ite mi 70026b02: eef1 7a4a vnegmi.f32 s15, s20 70026b06: eef0 7a4a vmovpl.f32 s15, s20 70026b0a: eef1 fa10 vmrs APSR_nzcv, fpscr 70026b0e: bf4c ite mi 70026b10: eef1 6a6a vnegmi.f32 s13, s21 70026b14: eef0 6a6a vmovpl.f32 s13, s21 70026b18: eef4 7ae6 vcmpe.f32 s15, s13 70026b1c: eef1 fa10 vmrs APSR_nzcv, fpscr 70026b20: bf58 it pl 70026b22: eef0 7a66 vmovpl.f32 s15, s13 70026b26: ee67 7a86 vmul.f32 s15, s15, s12 70026b2a: eef4 7ac7 vcmpe.f32 s15, s14 70026b2e: eef1 fa10 vmrs APSR_nzcv, fpscr 70026b32: db2b blt.n 70026b8c 70026b34: ee38 7a69 vsub.f32 s14, s16, s19 70026b38: ed1f 6a79 vldr s12, [pc, #-484] @ 70026958 70026b3c: eeb5 7ac0 vcmpe.f32 s14, #0.0 70026b40: eef1 fa10 vmrs APSR_nzcv, fpscr 70026b44: eeb5 8ac0 vcmpe.f32 s16, #0.0 70026b48: bf48 it mi 70026b4a: eeb1 7a47 vnegmi.f32 s14, s14 70026b4e: eef1 fa10 vmrs APSR_nzcv, fpscr 70026b52: eef5 9ac0 vcmpe.f32 s19, #0.0 70026b56: bf4c ite mi 70026b58: eef1 6a48 vnegmi.f32 s13, s16 70026b5c: eef0 6a48 vmovpl.f32 s13, s16 70026b60: eef1 fa10 vmrs APSR_nzcv, fpscr 70026b64: bf4c ite mi 70026b66: eef1 7a69 vnegmi.f32 s15, s19 70026b6a: eef0 7a69 vmovpl.f32 s15, s19 70026b6e: eef4 6a67 vcmp.f32 s13, s15 70026b72: eef1 fa10 vmrs APSR_nzcv, fpscr 70026b76: bf48 it mi 70026b78: eef0 7a66 vmovmi.f32 s15, s13 70026b7c: ee67 7a86 vmul.f32 s15, s15, s12 70026b80: eef4 7ac7 vcmpe.f32 s15, s14 70026b84: eef1 fa10 vmrs APSR_nzcv, fpscr 70026b88: f6bf aa96 bge.w 700260b8 70026b8c: eddd 8a0f vldr s17, [sp, #60] @ 0x3c 70026b90: ed9d 9a10 vldr s18, [sp, #64] @ 0x40 70026b94: eef5 8ac0 vcmpe.f32 s17, #0.0 70026b98: eef1 fa10 vmrs APSR_nzcv, fpscr 70026b9c: d475 bmi.n 70026c8a 70026b9e: ed5f 7a92 vldr s15, [pc, #-584] @ 70026958 70026ba2: eef4 8ae7 vcmpe.f32 s17, s15 70026ba6: eef1 fa10 vmrs APSR_nzcv, fpscr 70026baa: d875 bhi.n 70026c98 70026bac: ed9d 1a0d vldr s2, [sp, #52] @ 0x34 70026bb0: eddd 1a0e vldr s3, [sp, #56] @ 0x38 70026bb4: ed9d 0a0b vldr s0, [sp, #44] @ 0x2c 70026bb8: eddd 0a0c vldr s1, [sp, #48] @ 0x30 70026bbc: f7fe fa60 bl 70025080 70026bc0: 4602 mov r2, r0 70026bc2: 2800 cmp r0, #0 70026bc4: f43f aa78 beq.w 700260b8 70026bc8: 6823 ldr r3, [r4, #0] 70026bca: 2100 movs r1, #0 70026bcc: 9200 str r2, [sp, #0] 70026bce: e9c3 1145 strd r1, r1, [r3, #276] @ 0x114 70026bd2: f000 febd bl 70027950 70026bd6: 9a00 ldr r2, [sp, #0] 70026bd8: 6823 ldr r3, [r4, #0] 70026bda: 2100 movs r1, #0 70026bdc: 9200 str r2, [sp, #0] 70026bde: 4610 mov r0, r2 70026be0: e9c3 1145 strd r1, r1, [r3, #276] @ 0x114 70026be4: f000 feb4 bl 70027950 70026be8: 9a00 ldr r2, [sp, #0] 70026bea: e5ae b.n 7002674a 70026bec: 44d4 add ip, sl 70026bee: 9800 ldr r0, [sp, #0] 70026bf0: eddd 7a13 vldr s15, [sp, #76] @ 0x4c 70026bf4: ed9c 7a00 vldr s14, [ip] 70026bf8: f893 11bc ldrb.w r1, [r3, #444] @ 0x1bc 70026bfc: 9009 str r0, [sp, #36] @ 0x24 70026bfe: f1b9 0f00 cmp.w r9, #0 70026c02: f43f ac8b beq.w 7002651c 70026c06: eddd 6a14 vldr s13, [sp, #80] @ 0x50 70026c0a: edcd 7a0d vstr s15, [sp, #52] @ 0x34 70026c0e: ee37 7a26 vadd.f32 s14, s14, s13 70026c12: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 70026c16: f7ff ba07 b.w 70026028 70026c1a: 44d4 add ip, sl 70026c1c: 9800 ldr r0, [sp, #0] 70026c1e: ed9d 7a14 vldr s14, [sp, #80] @ 0x50 70026c22: eddc 7a00 vldr s15, [ip] 70026c26: f893 11bc ldrb.w r1, [r3, #444] @ 0x1bc 70026c2a: 9009 str r0, [sp, #36] @ 0x24 70026c2c: f1b9 0f00 cmp.w r9, #0 70026c30: f43f ac74 beq.w 7002651c 70026c34: eddd 6a13 vldr s13, [sp, #76] @ 0x4c 70026c38: ed8d 7a0e vstr s14, [sp, #56] @ 0x38 70026c3c: ee77 7aa6 vadd.f32 s15, s15, s13 70026c40: edcd 7a0d vstr s15, [sp, #52] @ 0x34 70026c44: f7ff b9f0 b.w 70026028 70026c48: f893 11bc ldrb.w r1, [r3, #444] @ 0x1bc 70026c4c: e43d b.n 700264ca 70026c4e: ed9d 0a0b vldr s0, [sp, #44] @ 0x2c 70026c52: eddd 0a0c vldr s1, [sp, #48] @ 0x30 70026c56: edcd 7a03 vstr s15, [sp, #12] 70026c5a: f7fd fe53 bl 70024904 70026c5e: 9903 ldr r1, [sp, #12] 70026c60: 4602 mov r2, r0 70026c62: 2800 cmp r0, #0 70026c64: d1b0 bne.n 70026bc8 70026c66: 2900 cmp r1, #0 70026c68: 460b mov r3, r1 70026c6a: f88d 0020 strb.w r0, [sp, #32] 70026c6e: bfb8 it lt 70026c70: 1c4b addlt r3, r1, #1 70026c72: 2901 cmp r1, #1 70026c74: ea4f 0363 mov.w r3, r3, asr #1 70026c78: f77f af25 ble.w 70026ac6 70026c7c: f8d8 a00c ldr.w sl, [r8, #12] 70026c80: f1b9 0f00 cmp.w r9, #0 70026c84: f040 81dd bne.w 70027042 70026c88: e60e b.n 700268a8 70026c8a: ed5f 7ace vldr s15, [pc, #-824] @ 70026954 70026c8e: eef4 8ae7 vcmpe.f32 s17, s15 70026c92: eef1 fa10 vmrs APSR_nzcv, fpscr 70026c96: da89 bge.n 70026bac 70026c98: eeb5 9ac0 vcmpe.f32 s18, #0.0 70026c9c: eef1 fa10 vmrs APSR_nzcv, fpscr 70026ca0: f100 80e1 bmi.w 70026e66 70026ca4: ed5f 7ad4 vldr s15, [pc, #-848] @ 70026958 70026ca8: eeb4 9ae7 vcmpe.f32 s18, s15 70026cac: eef1 fa10 vmrs APSR_nzcv, fpscr 70026cb0: f67f af7c bls.w 70026bac 70026cb4: eef5 8ac0 vcmpe.f32 s17, #0.0 70026cb8: f89d 5023 ldrb.w r5, [sp, #35] @ 0x23 70026cbc: f3c5 1780 ubfx r7, r5, #6, #1 70026cc0: f3c5 1540 ubfx r5, r5, #5, #1 70026cc4: eef1 fa10 vmrs APSR_nzcv, fpscr 70026cc8: f100 80e3 bmi.w 70026e92 70026ccc: ed5f 7add vldr s15, [pc, #-884] @ 7002695c 70026cd0: eddd ba11 vldr s23, [sp, #68] @ 0x44 70026cd4: ee6b baa7 vmul.f32 s23, s23, s15 70026cd8: eeb0 0a6b vmov.f32 s0, s23 70026cdc: f012 fec8 bl 70039a70 70026ce0: eef0 ca40 vmov.f32 s25, s0 70026ce4: eeb0 0a6b vmov.f32 s0, s23 70026ce8: f012 fdca bl 70039880 70026cec: ee68 4a00 vmul.f32 s9, s16, s0 70026cf0: ee28 5a2c vmul.f32 s10, s16, s25 70026cf4: ee29 6aac vmul.f32 s12, s19, s25 70026cf8: ee69 5a80 vmul.f32 s11, s19, s0 70026cfc: ee0a 5a40 vmls.f32 s10, s20, s0 70026d00: ee0a 6ac0 vmls.f32 s12, s21, s0 70026d04: ee4a 4a2c vmla.f32 s9, s20, s25 70026d08: ee4a 5aac vmla.f32 s11, s21, s25 70026d0c: eeb0 ca40 vmov.f32 s24, s0 70026d10: eec5 ea09 vdiv.f32 s29, s10, s18 70026d14: eec6 da09 vdiv.f32 s27, s12, s18 70026d18: ee84 faa8 vdiv.f32 s30, s9, s17 70026d1c: ee85 eaa8 vdiv.f32 s28, s11, s17 70026d20: ee3e 7aed vsub.f32 s14, s29, s27 70026d24: ee67 6a07 vmul.f32 s13, s14, s14 70026d28: ee7f 7a4e vsub.f32 s15, s30, s28 70026d2c: ee47 6aa7 vmla.f32 s13, s15, s15 70026d30: eef5 6a40 vcmp.f32 s13, #0.0 70026d34: eef1 fa10 vmrs APSR_nzcv, fpscr 70026d38: f000 80ae beq.w 70026e98 70026d3c: eef7 3a00 vmov.f32 s7, #112 @ 0x3f800000 1.0 70026d40: ee83 4aa6 vdiv.f32 s8, s7, s13 70026d44: eef5 3a00 vmov.f32 s7, #80 @ 0x3e800000 0.250 70026d48: ee34 4a63 vsub.f32 s8, s8, s7 70026d4c: eeb5 4ac0 vcmpe.f32 s8, #0.0 70026d50: eef1 fa10 vmrs APSR_nzcv, fpscr 70026d54: f100 80a3 bmi.w 70026e9e 70026d58: eef1 3ac4 vsqrt.f32 s7, s8 70026d5c: eef6 6a00 vmov.f32 s13, #96 @ 0x3f000000 0.5 70026d60: ee7f fa0e vadd.f32 s31, s30, s28 70026d64: ee3e aaad vadd.f32 s20, s29, s27 70026d68: ee6f faa6 vmul.f32 s31, s31, s13 70026d6c: ee2a aa26 vmul.f32 s20, s20, s13 70026d70: ee67 aaa3 vmul.f32 s21, s15, s7 70026d74: ee67 ba23 vmul.f32 s23, s14, s7 70026d78: ee7a 9a6a vsub.f32 s19, s20, s21 70026d7c: ee3b daaf vadd.f32 s26, s23, s31 70026d80: ee3e 0ae9 vsub.f32 s0, s29, s19 70026d84: ee7f 0a4d vsub.f32 s1, s30, s26 70026d88: f012 fd54 bl 70039834 70026d8c: ee7e 0a4d vsub.f32 s1, s28, s26 70026d90: eeb0 8a40 vmov.f32 s16, s0 70026d94: ee3d 0ae9 vsub.f32 s0, s27, s19 70026d98: f012 fd4c bl 70039834 70026d9c: eddf 7ad6 vldr s15, [pc, #856] @ 700270f8 70026da0: ee28 8a27 vmul.f32 s16, s16, s15 70026da4: ee20 7a27 vmul.f32 s14, s0, s15 70026da8: ee77 7a48 vsub.f32 s15, s14, s16 70026dac: eef5 7ac0 vcmpe.f32 s15, #0.0 70026db0: eef1 fa10 vmrs APSR_nzcv, fpscr 70026db4: f100 80b1 bmi.w 70026f1a 70026db8: eddf 6ad0 vldr s13, [pc, #832] @ 700270fc 70026dbc: eef4 7ae6 vcmpe.f32 s15, s13 70026dc0: eef1 fa10 vmrs APSR_nzcv, fpscr 70026dc4: f140 80d1 bpl.w 70026f6a 70026dc8: 42bd cmp r5, r7 70026dca: f000 80b5 beq.w 70026f38 70026dce: ee69 9a29 vmul.f32 s19, s18, s19 70026dd2: ee68 7a8d vmul.f32 s15, s17, s26 70026dd6: eeb4 8ac7 vcmpe.f32 s16, s14 70026dda: ee2c aa29 vmul.f32 s20, s24, s19 70026dde: ee6c 9aa9 vmul.f32 s19, s25, s19 70026de2: ee1c aaa7 vnmls.f32 s20, s25, s15 70026de6: ee4c 9a27 vmla.f32 s19, s24, s15 70026dea: 2f00 cmp r7, #0 70026dec: f040 8190 bne.w 70027110 70026df0: eef1 fa10 vmrs APSR_nzcv, fpscr 70026df4: d503 bpl.n 70026dfe 70026df6: eddf 7ac4 vldr s15, [pc, #784] @ 70027108 70026dfa: ee38 8a27 vadd.f32 s16, s16, s15 70026dfe: eeb0 0a48 vmov.f32 s0, s16 70026e02: eddf bac2 vldr s23, [pc, #776] @ 7002710c 70026e06: eeb0 8a47 vmov.f32 s16, s14 70026e0a: 2101 movs r1, #1 70026e0c: 2500 movs r5, #0 70026e0e: eeb4 0ac8 vcmpe.f32 s0, s16 70026e12: 1c8b adds r3, r1, #2 70026e14: eef0 0a48 vmov.f32 s1, s16 70026e18: eef1 fa10 vmrs APSR_nzcv, fpscr 70026e1c: f77f a94c ble.w 700260b8 70026e20: ee70 aa6b vsub.f32 s21, s0, s23 70026e24: a808 add r0, sp, #32 70026e26: eef0 2a49 vmov.f32 s5, s18 70026e2a: eeb0 2a68 vmov.f32 s4, s17 70026e2e: eef4 aac8 vcmpe.f32 s21, s16 70026e32: eef0 1a69 vmov.f32 s3, s19 70026e36: eeb0 1a4a vmov.f32 s2, s20 70026e3a: eef1 fa10 vmrs APSR_nzcv, fpscr 70026e3e: bfd4 ite le 70026e40: b2d9 uxtble r1, r3 70026e42: eef0 0a6a vmovgt.f32 s1, s21 70026e46: f7fe fee5 bl 70025c14 70026e4a: eeb0 0a6a vmov.f32 s0, s21 70026e4e: 4602 mov r2, r0 70026e50: 2100 movs r1, #0 70026e52: 2800 cmp r0, #0 70026e54: d0db beq.n 70026e0e 70026e56: 6823 ldr r3, [r4, #0] 70026e58: 9200 str r2, [sp, #0] 70026e5a: e9c3 5545 strd r5, r5, [r3, #276] @ 0x114 70026e5e: f000 fd77 bl 70027950 70026e62: 9a00 ldr r2, [sp, #0] 70026e64: e6b8 b.n 70026bd8 70026e66: eddf 7aa6 vldr s15, [pc, #664] @ 70027100 70026e6a: eeb4 9ae7 vcmpe.f32 s18, s15 70026e6e: eef1 fa10 vmrs APSR_nzcv, fpscr 70026e72: f6bf ae9b bge.w 70026bac 70026e76: eef5 8ac0 vcmpe.f32 s17, #0.0 70026e7a: f89d 5023 ldrb.w r5, [sp, #35] @ 0x23 70026e7e: f3c5 1780 ubfx r7, r5, #6, #1 70026e82: f3c5 1540 ubfx r5, r5, #5, #1 70026e86: eef1 fa10 vmrs APSR_nzcv, fpscr 70026e8a: d443 bmi.n 70026f14 70026e8c: eeb1 9a49 vneg.f32 s18, s18 70026e90: e71c b.n 70026ccc 70026e92: eef1 8a68 vneg.f32 s17, s17 70026e96: e719 b.n 70026ccc 70026e98: f44f 7280 mov.w r2, #256 @ 0x100 70026e9c: e69c b.n 70026bd8 70026e9e: ee66 6aa3 vmul.f32 s13, s13, s7 70026ea2: eddf 3a98 vldr s7, [pc, #608] @ 70027104 70026ea6: eeb6 4a00 vmov.f32 s8, #96 @ 0x3f000000 0.5 70026eaa: eef1 7ae6 vsqrt.f32 s15, s13 70026eae: ee68 8aa7 vmul.f32 s17, s17, s15 70026eb2: ee29 9a27 vmul.f32 s18, s18, s15 70026eb6: ee84 faa8 vdiv.f32 s30, s9, s17 70026eba: eec5 ea09 vdiv.f32 s29, s10, s18 70026ebe: ee85 eaa8 vdiv.f32 s28, s11, s17 70026ec2: eec6 da09 vdiv.f32 s27, s12, s18 70026ec6: ee7f fa0e vadd.f32 s31, s30, s28 70026eca: ee7f 7a4e vsub.f32 s15, s30, s28 70026ece: ee6f fa84 vmul.f32 s31, s31, s8 70026ed2: ee3e aaad vadd.f32 s20, s29, s27 70026ed6: ee3e 7aed vsub.f32 s14, s29, s27 70026eda: ee2a aa04 vmul.f32 s20, s20, s8 70026ede: e747 b.n 70026d70 70026ee0: ed9d 1a0d vldr s2, [sp, #52] @ 0x34 70026ee4: eddd 1a0e vldr s3, [sp, #56] @ 0x38 70026ee8: ed9d 0a0b vldr s0, [sp, #44] @ 0x2c 70026eec: eddd 0a0c vldr s1, [sp, #48] @ 0x30 70026ef0: f7fe f8c6 bl 70025080 70026ef4: 4602 mov r2, r0 70026ef6: 2800 cmp r0, #0 70026ef8: f43f a8de beq.w 700260b8 70026efc: e47f b.n 700267fe 70026efe: ed9d 0a0d vldr s0, [sp, #52] @ 0x34 70026f02: eddd 0a0e vldr s1, [sp, #56] @ 0x38 70026f06: f7fd fcfd bl 70024904 70026f0a: 4602 mov r2, r0 70026f0c: 2800 cmp r0, #0 70026f0e: f43f a8d3 beq.w 700260b8 70026f12: e474 b.n 700267fe 70026f14: eef1 8a68 vneg.f32 s17, s17 70026f18: e7b8 b.n 70026e8c 70026f1a: eddf 6a7b vldr s13, [pc, #492] @ 70027108 70026f1e: ee77 7aa6 vadd.f32 s15, s15, s13 70026f22: eddf 6a76 vldr s13, [pc, #472] @ 700270fc 70026f26: eef4 7ae6 vcmpe.f32 s15, s13 70026f2a: eef1 fa10 vmrs APSR_nzcv, fpscr 70026f2e: f53f af4b bmi.w 70026dc8 70026f32: 42bd cmp r5, r7 70026f34: f43f af4b beq.w 70026dce 70026f38: ee7a 9a8a vadd.f32 s19, s21, s20 70026f3c: ed9f aa6e vldr s20, [pc, #440] @ 700270f8 70026f40: ee3f daeb vsub.f32 s26, s31, s23 70026f44: ee3e 0ae9 vsub.f32 s0, s29, s19 70026f48: ee7f 0a4d vsub.f32 s1, s30, s26 70026f4c: f012 fc72 bl 70039834 70026f50: eeb0 8a40 vmov.f32 s16, s0 70026f54: ee7e 0a4d vsub.f32 s1, s28, s26 70026f58: ee3d 0ae9 vsub.f32 s0, s27, s19 70026f5c: f012 fc6a bl 70039834 70026f60: ee28 8a0a vmul.f32 s16, s16, s20 70026f64: ee20 7a0a vmul.f32 s14, s0, s20 70026f68: e731 b.n 70026dce 70026f6a: dbe5 blt.n 70026f38 70026f6c: e7e1 b.n 70026f32 70026f6e: ed9d 0a0b vldr s0, [sp, #44] @ 0x2c 70026f72: eddd 0a0c vldr s1, [sp, #48] @ 0x30 70026f76: f7fd fcc5 bl 70024904 70026f7a: 4602 mov r2, r0 70026f7c: 2800 cmp r0, #0 70026f7e: f47f ae23 bne.w 70026bc8 70026f82: f88d 0020 strb.w r0, [sp, #32] 70026f86: e4f7 b.n 70026978 70026f88: ed9d 8a13 vldr s16, [sp, #76] @ 0x4c 70026f8c: e554 b.n 70026a38 70026f8e: f04f 0900 mov.w r9, #0 70026f92: f8dd a000 ldr.w sl, [sp] 70026f96: f8d8 300c ldr.w r3, [r8, #12] 70026f9a: eddd 6a13 vldr s13, [sp, #76] @ 0x4c 70026f9e: eb03 038a add.w r3, r3, sl, lsl #2 70026fa2: ed9d 7a14 vldr s14, [sp, #80] @ 0x50 70026fa6: f10a 0a02 add.w sl, sl, #2 70026faa: f88d 5064 strb.w r5, [sp, #100] @ 0x64 70026fae: edd3 7a01 vldr s15, [r3, #4] 70026fb2: ed93 8a00 vldr s16, [r3] 70026fb6: 6823 ldr r3, [r4, #0] 70026fb8: ee77 7a87 vadd.f32 s15, s15, s14 70026fbc: ee38 8a26 vadd.f32 s16, s16, s13 70026fc0: f8cd a024 str.w sl, [sp, #36] @ 0x24 70026fc4: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70026fc8: edcd 7a0e vstr s15, [sp, #56] @ 0x38 70026fcc: ed8d 8a0d vstr s16, [sp, #52] @ 0x34 70026fd0: ed8d 8a13 vstr s16, [sp, #76] @ 0x4c 70026fd4: edcd 7a14 vstr s15, [sp, #80] @ 0x50 70026fd8: b1da cbz r2, 70027012 70026fda: edd3 6a3f vldr s13, [r3, #252] @ 0xfc 70026fde: ed93 7a3c vldr s14, [r3, #240] @ 0xf0 70026fe2: ed93 5a3b vldr s10, [r3, #236] @ 0xec 70026fe6: ee27 7a87 vmul.f32 s14, s15, s14 70026fea: edd3 5a3e vldr s11, [r3, #248] @ 0xf8 70026fee: ee67 7aa6 vmul.f32 s15, s15, s13 70026ff2: ed93 6a3d vldr s12, [r3, #244] @ 0xf4 70026ff6: edd3 6a40 vldr s13, [r3, #256] @ 0x100 70026ffa: ee08 7a05 vmla.f32 s14, s16, s10 70026ffe: ee48 7a25 vmla.f32 s15, s16, s11 70027002: ee37 7a06 vadd.f32 s14, s14, s12 70027006: ee77 7aa6 vadd.f32 s15, s15, s13 7002700a: ed8d 7a0d vstr s14, [sp, #52] @ 0x34 7002700e: edcd 7a0e vstr s15, [sp, #56] @ 0x38 70027012: ed9d 1a0d vldr s2, [sp, #52] @ 0x34 70027016: f109 0901 add.w r9, r9, #1 7002701a: eddd 1a0e vldr s3, [sp, #56] @ 0x38 7002701e: ed9d 0a0b vldr s0, [sp, #44] @ 0x2c 70027022: eddd 0a0c vldr s1, [sp, #48] @ 0x30 70027026: f7fe f82b bl 70025080 7002702a: 4602 mov r2, r0 7002702c: 2800 cmp r0, #0 7002702e: d159 bne.n 700270e4 70027030: ab0d add r3, sp, #52 @ 0x34 70027032: 454f cmp r7, r9 70027034: e893 0003 ldmia.w r3, {r0, r1} 70027038: ab0b add r3, sp, #44 @ 0x2c 7002703a: e883 0003 stmia.w r3, {r0, r1} 7002703e: dcaa bgt.n 70026f96 70027040: e4fa b.n 70026a38 70027042: 4652 mov r2, sl 70027044: 9701 str r7, [sp, #4] 70027046: 46b2 mov sl, r6 70027048: f04f 0900 mov.w r9, #0 7002704c: 462e mov r6, r5 7002704e: 461f mov r7, r3 70027050: 9d00 ldr r5, [sp, #0] 70027052: eb02 0285 add.w r2, r2, r5, lsl #2 70027056: ed9d 6a13 vldr s12, [sp, #76] @ 0x4c 7002705a: ed9d 7a14 vldr s14, [sp, #80] @ 0x50 7002705e: 3502 adds r5, #2 70027060: edd2 7a01 vldr s15, [r2, #4] 70027064: edd2 6a00 vldr s13, [r2] 70027068: 6822 ldr r2, [r4, #0] 7002706a: ee77 7a87 vadd.f32 s15, s15, s14 7002706e: ee76 6a86 vadd.f32 s13, s13, s12 70027072: 9509 str r5, [sp, #36] @ 0x24 70027074: f892 11bc ldrb.w r1, [r2, #444] @ 0x1bc 70027078: f88d 6064 strb.w r6, [sp, #100] @ 0x64 7002707c: edcd 6a0d vstr s13, [sp, #52] @ 0x34 70027080: edcd 7a0e vstr s15, [sp, #56] @ 0x38 70027084: edcd 6a13 vstr s13, [sp, #76] @ 0x4c 70027088: edcd 7a14 vstr s15, [sp, #80] @ 0x50 7002708c: b1d9 cbz r1, 700270c6 7002708e: ed92 6a3f vldr s12, [r2, #252] @ 0xfc 70027092: ed92 7a3c vldr s14, [r2, #240] @ 0xf0 70027096: edd2 4a3b vldr s9, [r2, #236] @ 0xec 7002709a: ee27 7a87 vmul.f32 s14, s15, s14 7002709e: ed92 5a3e vldr s10, [r2, #248] @ 0xf8 700270a2: ee67 7a86 vmul.f32 s15, s15, s12 700270a6: edd2 5a3d vldr s11, [r2, #244] @ 0xf4 700270aa: ed92 6a40 vldr s12, [r2, #256] @ 0x100 700270ae: ee06 7aa4 vmla.f32 s14, s13, s9 700270b2: ee46 7a85 vmla.f32 s15, s13, s10 700270b6: ee37 7a25 vadd.f32 s14, s14, s11 700270ba: ee77 7a86 vadd.f32 s15, s15, s12 700270be: ed8d 7a0d vstr s14, [sp, #52] @ 0x34 700270c2: edcd 7a0e vstr s15, [sp, #56] @ 0x38 700270c6: ed9d 1a0d vldr s2, [sp, #52] @ 0x34 700270ca: f109 0901 add.w r9, r9, #1 700270ce: eddd 1a0e vldr s3, [sp, #56] @ 0x38 700270d2: ed9d 0a0b vldr s0, [sp, #44] @ 0x2c 700270d6: eddd 0a0c vldr s1, [sp, #48] @ 0x30 700270da: f7fd ffd1 bl 70025080 700270de: 4602 mov r2, r0 700270e0: 2800 cmp r0, #0 700270e2: d049 beq.n 70027178 700270e4: 6823 ldr r3, [r4, #0] 700270e6: 2100 movs r1, #0 700270e8: 9200 str r2, [sp, #0] 700270ea: 4610 mov r0, r2 700270ec: e9c3 1145 strd r1, r1, [r3, #276] @ 0x114 700270f0: f000 fc2e bl 70027950 700270f4: 9a00 ldr r2, [sp, #0] 700270f6: e56f b.n 70026bd8 700270f8: 42652ee1 .word 0x42652ee1 700270fc: 43340000 .word 0x43340000 70027100: b727c5ac .word 0xb727c5ac 70027104: 00000000 .word 0x00000000 70027108: 43b40000 .word 0x43b40000 7002710c: 42b40000 .word 0x42b40000 70027110: eef1 fa10 vmrs APSR_nzcv, fpscr 70027114: dd03 ble.n 7002711e 70027116: ed5f 7a04 vldr s15, [pc, #-16] @ 70027108 7002711a: ee37 7a27 vadd.f32 s14, s14, s15 7002711e: eeb0 0a48 vmov.f32 s0, s16 70027122: ed5f ba06 vldr s23, [pc, #-24] @ 7002710c 70027126: eeb0 8a47 vmov.f32 s16, s14 7002712a: 2101 movs r1, #1 7002712c: 2500 movs r5, #0 7002712e: eeb4 8ac0 vcmpe.f32 s16, s0 70027132: 1c8b adds r3, r1, #2 70027134: eef0 0a48 vmov.f32 s1, s16 70027138: eef1 fa10 vmrs APSR_nzcv, fpscr 7002713c: f77e afbc ble.w 700260b8 70027140: ee70 aa2b vadd.f32 s21, s0, s23 70027144: a808 add r0, sp, #32 70027146: eef0 2a49 vmov.f32 s5, s18 7002714a: eeb0 2a68 vmov.f32 s4, s17 7002714e: eeb4 8aea vcmpe.f32 s16, s21 70027152: eef0 1a69 vmov.f32 s3, s19 70027156: eeb0 1a4a vmov.f32 s2, s20 7002715a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002715e: bfd4 ite le 70027160: b2d9 uxtble r1, r3 70027162: eef0 0a6a vmovgt.f32 s1, s21 70027166: f7fe fd55 bl 70025c14 7002716a: eeb0 0a6a vmov.f32 s0, s21 7002716e: 4602 mov r2, r0 70027170: 2100 movs r1, #0 70027172: 2800 cmp r0, #0 70027174: d0db beq.n 7002712e 70027176: e66e b.n 70026e56 70027178: ab0d add r3, sp, #52 @ 0x34 7002717a: 45b9 cmp r9, r7 7002717c: e893 0003 ldmia.w r3, {r0, r1} 70027180: ab0b add r3, sp, #44 @ 0x2c 70027182: e883 0003 stmia.w r3, {r0, r1} 70027186: da0d bge.n 700271a4 70027188: f8d8 200c ldr.w r2, [r8, #12] 7002718c: e761 b.n 70027052 7002718e: ed9d 7a14 vldr s14, [sp, #80] @ 0x50 70027192: ee37 7a67 vsub.f32 s14, s14, s15 70027196: eeb5 7a40 vcmp.f32 s14, #0.0 7002719a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002719e: f47f ac57 bne.w 70026a50 700271a2: e490 b.n 70026ac6 700271a4: 4656 mov r6, sl 700271a6: 9f01 ldr r7, [sp, #4] 700271a8: f7ff bb07 b.w 700267ba 700271ac : 700271ac: b570 push {r4, r5, r6, lr} 700271ae: 4e33 ldr r6, [pc, #204] @ (7002727c ) 700271b0: eeb6 6a00 vmov.f32 s12, #96 @ 0x3f000000 0.5 700271b4: eddf 6a32 vldr s13, [pc, #200] @ 70027280 700271b8: 2201 movs r2, #1 700271ba: 6833 ldr r3, [r6, #0] 700271bc: 4605 mov r5, r0 700271be: ed9f 7a31 vldr s14, [pc, #196] @ 70027284 700271c2: edd3 7aba vldr s15, [r3, #744] @ 0x2e8 700271c6: f8d3 1090 ldr.w r1, [r3, #144] @ 0x90 700271ca: ee67 7a86 vmul.f32 s15, s15, s12 700271ce: 62da str r2, [r3, #44] @ 0x2c 700271d0: ee77 6ae6 vsub.f32 s13, s15, s13 700271d4: ee77 7a67 vsub.f32 s15, s14, s15 700271d8: edc3 6a0c vstr s13, [r3, #48] @ 0x30 700271dc: edc3 7a0d vstr s15, [r3, #52] @ 0x34 700271e0: f8d0 2084 ldr.w r2, [r0, #132] @ 0x84 700271e4: 430a orrs r2, r1 700271e6: f002 0201 and.w r2, r2, #1 700271ea: f883 2021 strb.w r2, [r3, #33] @ 0x21 700271ee: b152 cbz r2, 70027206 700271f0: 07c8 lsls r0, r1, #31 700271f2: d431 bmi.n 70027258 700271f4: f8d5 2084 ldr.w r2, [r5, #132] @ 0x84 700271f8: 07d2 lsls r2, r2, #31 700271fa: d425 bmi.n 70027248 700271fc: f103 0038 add.w r0, r3, #56 @ 0x38 70027200: f7f1 fcbc bl 70018b7c 70027204: 6833 ldr r3, [r6, #0] 70027206: 2400 movs r4, #0 70027208: 2200 movs r2, #0 7002720a: 4628 mov r0, r5 7002720c: 601c str r4, [r3, #0] 7002720e: 6833 ldr r3, [r6, #0] 70027210: 61dc str r4, [r3, #28] 70027212: 611c str r4, [r3, #16] 70027214: 60dc str r4, [r3, #12] 70027216: 615a str r2, [r3, #20] 70027218: 619a str r2, [r3, #24] 7002721a: f883 4020 strb.w r4, [r3, #32] 7002721e: 625c str r4, [r3, #36] @ 0x24 70027220: e9c3 4401 strd r4, r4, [r3, #4] 70027224: f7fe febc bl 70025fa0 70027228: 6833 ldr r3, [r6, #0] 7002722a: 4605 mov r5, r0 7002722c: b930 cbnz r0, 7002723c 7002722e: 68da ldr r2, [r3, #12] 70027230: 4628 mov r0, r5 70027232: 601a str r2, [r3, #0] 70027234: 6833 ldr r3, [r6, #0] 70027236: 689a ldr r2, [r3, #8] 70027238: 605a str r2, [r3, #4] 7002723a: bd70 pop {r4, r5, r6, pc} 7002723c: e9c3 4445 strd r4, r4, [r3, #276] @ 0x114 70027240: f000 fb86 bl 70027950 70027244: 4628 mov r0, r5 70027246: bd70 pop {r4, r5, r6, pc} 70027248: f103 0038 add.w r0, r3, #56 @ 0x38 7002724c: f105 0160 add.w r1, r5, #96 @ 0x60 70027250: f7f1 fca2 bl 70018b98 70027254: 6833 ldr r3, [r6, #0] 70027256: e7d6 b.n 70027206 70027258: f103 01a4 add.w r1, r3, #164 @ 0xa4 7002725c: f103 0038 add.w r0, r3, #56 @ 0x38 70027260: f7f1 fc9a bl 70018b98 70027264: f8d5 3084 ldr.w r3, [r5, #132] @ 0x84 70027268: 07d9 lsls r1, r3, #31 7002726a: d5cb bpl.n 70027204 7002726c: 6830 ldr r0, [r6, #0] 7002726e: f105 0160 add.w r1, r5, #96 @ 0x60 70027272: 3038 adds r0, #56 @ 0x38 70027274: f7f1 fd2a bl 70018ccc 70027278: 6833 ldr r3, [r6, #0] 7002727a: e7c4 b.n 70027206 7002727c: 2400dc78 .word 0x2400dc78 70027280: 43fd8000 .word 0x43fd8000 70027284: 44bf6000 .word 0x44bf6000 70027288 : 70027288: b5f8 push {r3, r4, r5, r6, r7, lr} 7002728a: 4f34 ldr r7, [pc, #208] @ (7002735c ) 7002728c: 2100 movs r1, #0 7002728e: 4605 mov r5, r0 70027290: 683b ldr r3, [r7, #0] 70027292: 69da ldr r2, [r3, #28] 70027294: 62d9 str r1, [r3, #44] @ 0x2c 70027296: 2a00 cmp r2, #0 70027298: d03b beq.n 70027312 7002729a: 691c ldr r4, [r3, #16] 7002729c: fab4 f484 clz r4, r4 700272a0: 0964 lsrs r4, r4, #5 700272a2: 0064 lsls r4, r4, #1 700272a4: eeb6 6a00 vmov.f32 s12, #96 @ 0x3f000000 0.5 700272a8: edd3 7aba vldr s15, [r3, #744] @ 0x2e8 700272ac: eddf 6a2c vldr s13, [pc, #176] @ 70027360 700272b0: ed9f 7a2c vldr s14, [pc, #176] @ 70027364 700272b4: ee67 7a86 vmul.f32 s15, s15, s12 700272b8: f8d3 1090 ldr.w r1, [r3, #144] @ 0x90 700272bc: ee77 6ae6 vsub.f32 s13, s15, s13 700272c0: ee77 7a67 vsub.f32 s15, s14, s15 700272c4: edc3 6a0c vstr s13, [r3, #48] @ 0x30 700272c8: edc3 7a0d vstr s15, [r3, #52] @ 0x34 700272cc: f8d5 2084 ldr.w r2, [r5, #132] @ 0x84 700272d0: 430a orrs r2, r1 700272d2: f002 0201 and.w r2, r2, #1 700272d6: f883 2021 strb.w r2, [r3, #33] @ 0x21 700272da: b152 cbz r2, 700272f2 700272dc: 07c8 lsls r0, r1, #31 700272de: d42a bmi.n 70027336 700272e0: f8d5 2084 ldr.w r2, [r5, #132] @ 0x84 700272e4: 07d2 lsls r2, r2, #31 700272e6: d41e bmi.n 70027326 700272e8: f103 0038 add.w r0, r3, #56 @ 0x38 700272ec: f7f1 fc46 bl 70018b7c 700272f0: 683b ldr r3, [r7, #0] 700272f2: 2600 movs r6, #0 700272f4: 2200 movs r2, #0 700272f6: 4628 mov r0, r5 700272f8: f883 6020 strb.w r6, [r3, #32] 700272fc: 625e str r6, [r3, #36] @ 0x24 700272fe: 615a str r2, [r3, #20] 70027300: 619a str r2, [r3, #24] 70027302: e9c3 6602 strd r6, r6, [r3, #8] 70027306: f7fe fe4b bl 70025fa0 7002730a: 4605 mov r5, r0 7002730c: b918 cbnz r0, 70027316 7002730e: 4620 mov r0, r4 70027310: bdf8 pop {r3, r4, r5, r6, r7, pc} 70027312: 2402 movs r4, #2 70027314: e7c6 b.n 700272a4 70027316: 683b ldr r3, [r7, #0] 70027318: 462c mov r4, r5 7002731a: e9c3 6645 strd r6, r6, [r3, #276] @ 0x114 7002731e: f000 fb17 bl 70027950 70027322: 4620 mov r0, r4 70027324: bdf8 pop {r3, r4, r5, r6, r7, pc} 70027326: f103 0038 add.w r0, r3, #56 @ 0x38 7002732a: f105 0160 add.w r1, r5, #96 @ 0x60 7002732e: f7f1 fc33 bl 70018b98 70027332: 683b ldr r3, [r7, #0] 70027334: e7dd b.n 700272f2 70027336: f103 01a4 add.w r1, r3, #164 @ 0xa4 7002733a: f103 0038 add.w r0, r3, #56 @ 0x38 7002733e: f7f1 fc2b bl 70018b98 70027342: f8d5 3084 ldr.w r3, [r5, #132] @ 0x84 70027346: 07d9 lsls r1, r3, #31 70027348: d5d2 bpl.n 700272f0 7002734a: 6838 ldr r0, [r7, #0] 7002734c: f105 0160 add.w r1, r5, #96 @ 0x60 70027350: 3038 adds r0, #56 @ 0x38 70027352: f7f1 fcbb bl 70018ccc 70027356: 683b ldr r3, [r7, #0] 70027358: e7cb b.n 700272f2 7002735a: bf00 nop 7002735c: 2400dc78 .word 0x2400dc78 70027360: 43fd8000 .word 0x43fd8000 70027364: 44bf6000 .word 0x44bf6000 70027368 : 70027368: b570 push {r4, r5, r6, lr} 7002736a: 4c12 ldr r4, [pc, #72] @ (700273b4 ) 7002736c: 6823 ldr r3, [r4, #0] 7002736e: 68da ldr r2, [r3, #12] 70027370: 601a str r2, [r3, #0] 70027372: 6826 ldr r6, [r4, #0] 70027374: 6830 ldr r0, [r6, #0] 70027376: f7dc f9a3 bl 700036c0 7002737a: 6825 ldr r5, [r4, #0] 7002737c: 61f0 str r0, [r6, #28] 7002737e: 68ab ldr r3, [r5, #8] 70027380: 0098 lsls r0, r3, #2 70027382: 606b str r3, [r5, #4] 70027384: f7dc f99c bl 700036c0 70027388: 6823 ldr r3, [r4, #0] 7002738a: 6128 str r0, [r5, #16] 7002738c: 69d8 ldr r0, [r3, #28] 7002738e: b130 cbz r0, 7002739e 70027390: 691b ldr r3, [r3, #16] 70027392: b10b cbz r3, 70027398 70027394: 2000 movs r0, #0 70027396: bd70 pop {r4, r5, r6, pc} 70027398: f7dc f990 bl 700036bc 7002739c: 6823 ldr r3, [r4, #0] 7002739e: 6918 ldr r0, [r3, #16] 700273a0: b110 cbz r0, 700273a8 700273a2: f7dc f98b bl 700036bc 700273a6: 6823 ldr r3, [r4, #0] 700273a8: 2200 movs r2, #0 700273aa: 2002 movs r0, #2 700273ac: 61da str r2, [r3, #28] 700273ae: 611a str r2, [r3, #16] 700273b0: bd70 pop {r4, r5, r6, pc} 700273b2: bf00 nop 700273b4: 2400dc78 .word 0x2400dc78 700273b8 : 700273b8: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 700273bc: 4d40 ldr r5, [pc, #256] @ (700274c0 ) 700273be: b0a5 sub sp, #148 @ 0x94 700273c0: 4a40 ldr r2, [pc, #256] @ (700274c4 ) 700273c2: 4680 mov r8, r0 700273c4: 682b ldr r3, [r5, #0] 700273c6: 460f mov r7, r1 700273c8: 635a str r2, [r3, #52] @ 0x34 700273ca: 4a3f ldr r2, [pc, #252] @ (700274c8 ) 700273cc: 631a str r2, [r3, #48] @ 0x30 700273ce: 691a ldr r2, [r3, #16] 700273d0: b332 cbz r2, 70027420 700273d2: 69db ldr r3, [r3, #28] 700273d4: b323 cbz r3, 70027420 700273d6: f7ff ff57 bl 70027288 700273da: 682c ldr r4, [r5, #0] 700273dc: 4681 mov r9, r0 700273de: 6aa3 ldr r3, [r4, #40] @ 0x28 700273e0: 2b02 cmp r3, #2 700273e2: d037 beq.n 70027454 700273e4: 2800 cmp r0, #0 700273e6: d135 bne.n 70027454 700273e8: 2601 movs r6, #1 700273ea: 4641 mov r1, r8 700273ec: 2288 movs r2, #136 @ 0x88 700273ee: a802 add r0, sp, #8 700273f0: f8c4 611c str.w r6, [r4, #284] @ 0x11c 700273f4: f014 f85a bl 7003b4ac 700273f8: 68a3 ldr r3, [r4, #8] 700273fa: 69e2 ldr r2, [r4, #28] 700273fc: e9d4 1003 ldrd r1, r0, [r4, #12] 70027400: 9000 str r0, [sp, #0] 70027402: a802 add r0, sp, #8 70027404: f001 fd20 bl 70028e48 70027408: 682b ldr r3, [r5, #0] 7002740a: 4639 mov r1, r7 7002740c: a802 add r0, sp, #8 7002740e: f883 607e strb.w r6, [r3, #126] @ 0x7e 70027412: f7fa fe25 bl 70022060 70027416: 682c ldr r4, [r5, #0] 70027418: 4606 mov r6, r0 7002741a: f884 907e strb.w r9, [r4, #126] @ 0x7e 7002741e: e00c b.n 7002743a 70027420: 4639 mov r1, r7 70027422: 4640 mov r0, r8 70027424: f7ff fec2 bl 700271ac 70027428: 2301 movs r3, #1 7002742a: 682c ldr r4, [r5, #0] 7002742c: f8c4 311c str.w r3, [r4, #284] @ 0x11c 70027430: f8d4 3090 ldr.w r3, [r4, #144] @ 0x90 70027434: 06db lsls r3, r3, #27 70027436: d407 bmi.n 70027448 70027438: 2602 movs r6, #2 7002743a: 2300 movs r3, #0 7002743c: 4630 mov r0, r6 7002743e: f8c4 311c str.w r3, [r4, #284] @ 0x11c 70027442: b025 add sp, #148 @ 0x94 70027444: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 70027448: f7ff ff8e bl 70027368 7002744c: 4606 mov r6, r0 7002744e: b128 cbz r0, 7002745c 70027450: 682c ldr r4, [r5, #0] 70027452: e7f2 b.n 7002743a 70027454: 2301 movs r3, #1 70027456: f8c4 311c str.w r3, [r4, #284] @ 0x11c 7002745a: e7e9 b.n 70027430 7002745c: 4639 mov r1, r7 7002745e: 4640 mov r0, r8 70027460: f7ff ff12 bl 70027288 70027464: 4606 mov r6, r0 70027466: b170 cbz r0, 70027486 70027468: 682c ldr r4, [r5, #0] 7002746a: 69e0 ldr r0, [r4, #28] 7002746c: b110 cbz r0, 70027474 7002746e: f7dc f925 bl 700036bc 70027472: 682c ldr r4, [r5, #0] 70027474: 6920 ldr r0, [r4, #16] 70027476: b110 cbz r0, 7002747e 70027478: f7dc f920 bl 700036bc 7002747c: 682c ldr r4, [r5, #0] 7002747e: 2300 movs r3, #0 70027480: 61e3 str r3, [r4, #28] 70027482: 6123 str r3, [r4, #16] 70027484: e7d9 b.n 7002743a 70027486: 2288 movs r2, #136 @ 0x88 70027488: 4641 mov r1, r8 7002748a: a802 add r0, sp, #8 7002748c: f014 f80e bl 7003b4ac 70027490: 6828 ldr r0, [r5, #0] 70027492: 6843 ldr r3, [r0, #4] 70027494: 69c2 ldr r2, [r0, #28] 70027496: 6801 ldr r1, [r0, #0] 70027498: 6900 ldr r0, [r0, #16] 7002749a: 9000 str r0, [sp, #0] 7002749c: a802 add r0, sp, #8 7002749e: f001 fcd3 bl 70028e48 700274a2: 682b ldr r3, [r5, #0] 700274a4: 2201 movs r2, #1 700274a6: 4639 mov r1, r7 700274a8: a802 add r0, sp, #8 700274aa: f883 207e strb.w r2, [r3, #126] @ 0x7e 700274ae: f7fa fdd7 bl 70022060 700274b2: 682c ldr r4, [r5, #0] 700274b4: 2300 movs r3, #0 700274b6: 4606 mov r6, r0 700274b8: f884 307e strb.w r3, [r4, #126] @ 0x7e 700274bc: e7d5 b.n 7002746a 700274be: bf00 nop 700274c0: 2400dc78 .word 0x2400dc78 700274c4: 44bfe000 .word 0x44bfe000 700274c8: c3ff8000 .word 0xc3ff8000 700274cc : 700274cc: b5f8 push {r3, r4, r5, r6, r7, lr} 700274ce: 4ebd ldr r6, [pc, #756] @ (700277c4 ) 700274d0: 2500 movs r5, #0 700274d2: 2400 movs r4, #0 700274d4: f04f 577e mov.w r7, #1065353216 @ 0x3f800000 700274d8: 6833 ldr r3, [r6, #0] 700274da: 601d str r5, [r3, #0] 700274dc: 6833 ldr r3, [r6, #0] 700274de: f103 0038 add.w r0, r3, #56 @ 0x38 700274e2: 615c str r4, [r3, #20] 700274e4: 619c str r4, [r3, #24] 700274e6: 61dd str r5, [r3, #28] 700274e8: 841d strh r5, [r3, #32] 700274ea: 62dd str r5, [r3, #44] @ 0x2c 700274ec: 631c str r4, [r3, #48] @ 0x30 700274ee: 635c str r4, [r3, #52] @ 0x34 700274f0: e9c3 5501 strd r5, r5, [r3, #4] 700274f4: e9c3 5503 strd r5, r5, [r3, #12] 700274f8: e9c3 5509 strd r5, r5, [r3, #36] @ 0x24 700274fc: f7f1 fb3e bl 70018b7c 70027500: 6830 ldr r0, [r6, #0] 70027502: 2302 movs r3, #2 70027504: f240 5101 movw r1, #1281 @ 0x501 70027508: 6705 str r5, [r0, #112] @ 0x70 7002750a: 67c3 str r3, [r0, #124] @ 0x7c 7002750c: f04f 7300 mov.w r3, #33554432 @ 0x2000000 70027510: 6747 str r7, [r0, #116] @ 0x74 70027512: 6785 str r5, [r0, #120] @ 0x78 70027514: f8c0 5080 str.w r5, [r0, #128] @ 0x80 70027518: f8c0 4098 str.w r4, [r0, #152] @ 0x98 7002751c: f8c0 409c str.w r4, [r0, #156] @ 0x9c 70027520: f880 50a0 strb.w r5, [r0, #160] @ 0xa0 70027524: e9c0 1321 strd r1, r3, [r0, #132] @ 0x84 70027528: f04f 63f0 mov.w r3, #125829120 @ 0x7800000 7002752c: e9c0 5517 strd r5, r5, [r0, #92] @ 0x5c 70027530: f8c0 308c str.w r3, [r0, #140] @ 0x8c 70027534: e9c0 5524 strd r5, r5, [r0, #144] @ 0x90 70027538: 30a4 adds r0, #164 @ 0xa4 7002753a: f7f1 fb1f bl 70018b7c 7002753e: 6830 ldr r0, [r6, #0] 70027540: 30c8 adds r0, #200 @ 0xc8 70027542: f7f1 fb1b bl 70018b7c 70027546: 6830 ldr r0, [r6, #0] 70027548: 30ec adds r0, #236 @ 0xec 7002754a: f7f1 fb17 bl 70018b7c 7002754e: 6833 ldr r3, [r6, #0] 70027550: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff 70027554: f8c3 712c str.w r7, [r3, #300] @ 0x12c 70027558: f8c3 2120 str.w r2, [r3, #288] @ 0x120 7002755c: 2201 movs r2, #1 7002755e: f8c3 7130 str.w r7, [r3, #304] @ 0x130 70027562: f8c3 7134 str.w r7, [r3, #308] @ 0x134 70027566: f8c3 4138 str.w r4, [r3, #312] @ 0x138 7002756a: f8c3 4140 str.w r4, [r3, #320] @ 0x140 7002756e: f8c3 4148 str.w r4, [r3, #328] @ 0x148 70027572: f8c3 4150 str.w r4, [r3, #336] @ 0x150 70027576: f8c3 413c str.w r4, [r3, #316] @ 0x13c 7002757a: f8c3 4144 str.w r4, [r3, #324] @ 0x144 7002757e: f8c3 414c str.w r4, [r3, #332] @ 0x14c 70027582: f8c3 4154 str.w r4, [r3, #340] @ 0x154 70027586: f8c3 4158 str.w r4, [r3, #344] @ 0x158 7002758a: f8c3 415c str.w r4, [r3, #348] @ 0x15c 7002758e: f8c3 4160 str.w r4, [r3, #352] @ 0x160 70027592: f8c3 4164 str.w r4, [r3, #356] @ 0x164 70027596: f8c3 416c str.w r4, [r3, #364] @ 0x16c 7002759a: f8c3 4174 str.w r4, [r3, #372] @ 0x174 7002759e: f8c3 417c str.w r4, [r3, #380] @ 0x17c 700275a2: f8c3 4168 str.w r4, [r3, #360] @ 0x168 700275a6: f8c3 4170 str.w r4, [r3, #368] @ 0x170 700275aa: f8c3 4178 str.w r4, [r3, #376] @ 0x178 700275ae: f8c3 4180 str.w r4, [r3, #384] @ 0x180 700275b2: f8c3 4184 str.w r4, [r3, #388] @ 0x184 700275b6: f8c3 4188 str.w r4, [r3, #392] @ 0x188 700275ba: e9c3 5544 strd r5, r5, [r3, #272] @ 0x110 700275be: e9c3 5546 strd r5, r5, [r3, #280] @ 0x118 700275c2: e9c3 5549 strd r5, r5, [r3, #292] @ 0x124 700275c6: f8c3 418c str.w r4, [r3, #396] @ 0x18c 700275ca: f8c3 4190 str.w r4, [r3, #400] @ 0x190 700275ce: f8c3 4198 str.w r4, [r3, #408] @ 0x198 700275d2: f8c3 41a0 str.w r4, [r3, #416] @ 0x1a0 700275d6: f8c3 41a8 str.w r4, [r3, #424] @ 0x1a8 700275da: f8c3 4194 str.w r4, [r3, #404] @ 0x194 700275de: f8c3 419c str.w r4, [r3, #412] @ 0x19c 700275e2: f8c3 41a4 str.w r4, [r3, #420] @ 0x1a4 700275e6: f8c3 41ac str.w r4, [r3, #428] @ 0x1ac 700275ea: f8c3 41b0 str.w r4, [r3, #432] @ 0x1b0 700275ee: f8c3 41b4 str.w r4, [r3, #436] @ 0x1b4 700275f2: f8c3 41b8 str.w r4, [r3, #440] @ 0x1b8 700275f6: f8c3 41c4 str.w r4, [r3, #452] @ 0x1c4 700275fa: f8c3 41c8 str.w r4, [r3, #456] @ 0x1c8 700275fe: f8c3 41cc str.w r4, [r3, #460] @ 0x1cc 70027602: f8c3 41d0 str.w r4, [r3, #464] @ 0x1d0 70027606: f8c3 41d4 str.w r4, [r3, #468] @ 0x1d4 7002760a: f8c3 41d8 str.w r4, [r3, #472] @ 0x1d8 7002760e: f8c3 41dc str.w r4, [r3, #476] @ 0x1dc 70027612: f8c3 41e0 str.w r4, [r3, #480] @ 0x1e0 70027616: f8c3 41e4 str.w r4, [r3, #484] @ 0x1e4 7002761a: f8c3 41e8 str.w r4, [r3, #488] @ 0x1e8 7002761e: f8c3 41ec str.w r4, [r3, #492] @ 0x1ec 70027622: f8c3 41f0 str.w r4, [r3, #496] @ 0x1f0 70027626: f8c3 41f4 str.w r4, [r3, #500] @ 0x1f4 7002762a: f8c3 41f8 str.w r4, [r3, #504] @ 0x1f8 7002762e: f8c3 41fc str.w r4, [r3, #508] @ 0x1fc 70027632: f8c3 4200 str.w r4, [r3, #512] @ 0x200 70027636: f8c3 4204 str.w r4, [r3, #516] @ 0x204 7002763a: f8c3 4208 str.w r4, [r3, #520] @ 0x208 7002763e: f8c3 420c str.w r4, [r3, #524] @ 0x20c 70027642: e9c3 526f strd r5, r2, [r3, #444] @ 0x1bc 70027646: f04f 4281 mov.w r2, #1082130432 @ 0x40800000 7002764a: f8c3 4210 str.w r4, [r3, #528] @ 0x210 7002764e: f8c3 4214 str.w r4, [r3, #532] @ 0x214 70027652: f8c3 4218 str.w r4, [r3, #536] @ 0x218 70027656: f8c3 421c str.w r4, [r3, #540] @ 0x21c 7002765a: f8c3 4220 str.w r4, [r3, #544] @ 0x220 7002765e: f8c3 4224 str.w r4, [r3, #548] @ 0x224 70027662: f8c3 4228 str.w r4, [r3, #552] @ 0x228 70027666: f8c3 422c str.w r4, [r3, #556] @ 0x22c 7002766a: f8c3 4230 str.w r4, [r3, #560] @ 0x230 7002766e: f8c3 4234 str.w r4, [r3, #564] @ 0x234 70027672: f8c3 4238 str.w r4, [r3, #568] @ 0x238 70027676: f8c3 423c str.w r4, [r3, #572] @ 0x23c 7002767a: f8c3 4240 str.w r4, [r3, #576] @ 0x240 7002767e: f8c3 4244 str.w r4, [r3, #580] @ 0x244 70027682: f8c3 4248 str.w r4, [r3, #584] @ 0x248 70027686: f8c3 424c str.w r4, [r3, #588] @ 0x24c 7002768a: f8c3 4250 str.w r4, [r3, #592] @ 0x250 7002768e: f8c3 4254 str.w r4, [r3, #596] @ 0x254 70027692: f8c3 4258 str.w r4, [r3, #600] @ 0x258 70027696: f8c3 425c str.w r4, [r3, #604] @ 0x25c 7002769a: f8c3 4260 str.w r4, [r3, #608] @ 0x260 7002769e: f8c3 4264 str.w r4, [r3, #612] @ 0x264 700276a2: f8c3 4268 str.w r4, [r3, #616] @ 0x268 700276a6: f8c3 426c str.w r4, [r3, #620] @ 0x26c 700276aa: f8c3 4270 str.w r4, [r3, #624] @ 0x270 700276ae: f8c3 4274 str.w r4, [r3, #628] @ 0x274 700276b2: f8c3 4278 str.w r4, [r3, #632] @ 0x278 700276b6: f8c3 427c str.w r4, [r3, #636] @ 0x27c 700276ba: f8c3 4280 str.w r4, [r3, #640] @ 0x280 700276be: f8c3 4284 str.w r4, [r3, #644] @ 0x284 700276c2: f8c3 4288 str.w r4, [r3, #648] @ 0x288 700276c6: f8c3 428c str.w r4, [r3, #652] @ 0x28c 700276ca: f8c3 4290 str.w r4, [r3, #656] @ 0x290 700276ce: f8c3 4294 str.w r4, [r3, #660] @ 0x294 700276d2: f8c3 22ec str.w r2, [r3, #748] @ 0x2ec 700276d6: 4a3c ldr r2, [pc, #240] @ (700277c8 ) 700276d8: f8c3 4298 str.w r4, [r3, #664] @ 0x298 700276dc: f8c3 429c str.w r4, [r3, #668] @ 0x29c 700276e0: f8c3 42a0 str.w r4, [r3, #672] @ 0x2a0 700276e4: f8c3 42a4 str.w r4, [r3, #676] @ 0x2a4 700276e8: f8c3 42a8 str.w r4, [r3, #680] @ 0x2a8 700276ec: f8c3 42ac str.w r4, [r3, #684] @ 0x2ac 700276f0: f8c3 42b0 str.w r4, [r3, #688] @ 0x2b0 700276f4: f8c3 42b4 str.w r4, [r3, #692] @ 0x2b4 700276f8: f8c3 42b8 str.w r4, [r3, #696] @ 0x2b8 700276fc: f8c3 52bc str.w r5, [r3, #700] @ 0x2bc 70027700: f8c3 42c0 str.w r4, [r3, #704] @ 0x2c0 70027704: f8c3 42c4 str.w r4, [r3, #708] @ 0x2c4 70027708: f8c3 52c8 str.w r5, [r3, #712] @ 0x2c8 7002770c: f8c3 52e4 str.w r5, [r3, #740] @ 0x2e4 70027710: f8c3 72e8 str.w r7, [r3, #744] @ 0x2e8 70027714: f8a3 52f0 strh.w r5, [r3, #752] @ 0x2f0 70027718: f883 52f2 strb.w r5, [r3, #754] @ 0x2f2 7002771c: f8c3 4304 str.w r4, [r3, #772] @ 0x304 70027720: f8c3 4310 str.w r4, [r3, #784] @ 0x310 70027724: f8c3 4314 str.w r4, [r3, #788] @ 0x314 70027728: f8c3 4318 str.w r4, [r3, #792] @ 0x318 7002772c: e9c3 55b5 strd r5, r5, [r3, #724] @ 0x2d4 70027730: e9c3 55b7 strd r5, r5, [r3, #732] @ 0x2dc 70027734: e9c3 25bd strd r2, r5, [r3, #756] @ 0x2f4 70027738: e9c3 55bf strd r5, r5, [r3, #764] @ 0x2fc 7002773c: e9c3 55c2 strd r5, r5, [r3, #776] @ 0x308 70027740: f8c3 4320 str.w r4, [r3, #800] @ 0x320 70027744: f8c3 4328 str.w r4, [r3, #808] @ 0x328 70027748: f8c3 4330 str.w r4, [r3, #816] @ 0x330 7002774c: f8c3 431c str.w r4, [r3, #796] @ 0x31c 70027750: f8c3 4324 str.w r4, [r3, #804] @ 0x324 70027754: f8c3 432c str.w r4, [r3, #812] @ 0x32c 70027758: f8c3 4334 str.w r4, [r3, #820] @ 0x334 7002775c: f8c3 4338 str.w r4, [r3, #824] @ 0x338 70027760: f8c3 433c str.w r4, [r3, #828] @ 0x33c 70027764: f8c3 4340 str.w r4, [r3, #832] @ 0x340 70027768: f8c3 4344 str.w r4, [r3, #836] @ 0x344 7002776c: f8c3 434c str.w r4, [r3, #844] @ 0x34c 70027770: f8c3 4354 str.w r4, [r3, #852] @ 0x354 70027774: f8c3 435c str.w r4, [r3, #860] @ 0x35c 70027778: f8c3 4348 str.w r4, [r3, #840] @ 0x348 7002777c: f8c3 4350 str.w r4, [r3, #848] @ 0x350 70027780: f8c3 4358 str.w r4, [r3, #856] @ 0x358 70027784: f8c3 4360 str.w r4, [r3, #864] @ 0x360 70027788: f8c3 4364 str.w r4, [r3, #868] @ 0x364 7002778c: f8c3 4368 str.w r4, [r3, #872] @ 0x368 70027790: f8c3 436c str.w r4, [r3, #876] @ 0x36c 70027794: f8c3 4370 str.w r4, [r3, #880] @ 0x370 70027798: f8c3 4378 str.w r4, [r3, #888] @ 0x378 7002779c: f8c3 4380 str.w r4, [r3, #896] @ 0x380 700277a0: f8c3 4388 str.w r4, [r3, #904] @ 0x388 700277a4: f8c3 4374 str.w r4, [r3, #884] @ 0x374 700277a8: f8c3 437c str.w r4, [r3, #892] @ 0x37c 700277ac: f8c3 4384 str.w r4, [r3, #900] @ 0x384 700277b0: f8c3 438c str.w r4, [r3, #908] @ 0x38c 700277b4: f8c3 4390 str.w r4, [r3, #912] @ 0x390 700277b8: f8c3 4394 str.w r4, [r3, #916] @ 0x394 700277bc: f8c3 4398 str.w r4, [r3, #920] @ 0x398 700277c0: bdf8 pop {r3, r4, r5, r6, r7, pc} 700277c2: bf00 nop 700277c4: 2400dc78 .word 0x2400dc78 700277c8: 00010100 .word 0x00010100 700277cc : 700277cc: 4800 ldr r0, [pc, #0] @ (700277d0 ) 700277ce: 4770 bx lr 700277d0: 2400dc7c .word 0x2400dc7c 700277d4 : 700277d4: b510 push {r4, lr} 700277d6: 4604 mov r4, r0 700277d8: fb01 f202 mul.w r2, r1, r2 700277dc: 4619 mov r1, r3 700277de: f7db ffef bl 700037c0 700277e2: 4620 mov r0, r4 700277e4: bd10 pop {r4, pc} 700277e6: bf00 nop 700277e8 : 700277e8: b082 sub sp, #8 700277ea: ee07 0a90 vmov s15, r0 700277ee: b410 push {r4} 700277f0: eeb8 7ae7 vcvt.f32.s32 s14, s15 700277f4: f10d 0c04 add.w ip, sp, #4 700277f8: ee07 1a90 vmov s15, r1 700277fc: 4c0d ldr r4, [pc, #52] @ (70027834 ) 700277fe: e88c 000c stmia.w ip, {r2, r3} 70027802: eef8 7ae7 vcvt.f32.s32 s15, s15 70027806: 2300 movs r3, #0 70027808: 6120 str r0, [r4, #16] 7002780a: 6161 str r1, [r4, #20] 7002780c: 61e3 str r3, [r4, #28] 7002780e: 6223 str r3, [r4, #32] 70027810: 62a3 str r3, [r4, #40] @ 0x28 70027812: 6363 str r3, [r4, #52] @ 0x34 70027814: ed84 7a09 vstr s14, [r4, #36] @ 0x24 70027818: ed84 7a0b vstr s14, [r4, #44] @ 0x2c 7002781c: edc4 7a0c vstr s15, [r4, #48] @ 0x30 70027820: edc4 7a0e vstr s15, [r4, #56] @ 0x38 70027824: e89c 000f ldmia.w ip, {r0, r1, r2, r3} 70027828: e884 000f stmia.w r4, {r0, r1, r2, r3} 7002782c: f85d 4b04 ldr.w r4, [sp], #4 70027830: b002 add sp, #8 70027832: 4770 bx lr 70027834: 2400dc3c .word 0x2400dc3c 70027838 : 70027838: 4a02 ldr r2, [pc, #8] @ (70027844 ) 7002783a: 6993 ldr r3, [r2, #24] 7002783c: f043 0301 orr.w r3, r3, #1 70027840: 6193 str r3, [r2, #24] 70027842: 4770 bx lr 70027844: 2400dc3c .word 0x2400dc3c 70027848 : 70027848: 4800 ldr r0, [pc, #0] @ (7002784c ) 7002784a: 4770 bx lr 7002784c: 2400dc3c .word 0x2400dc3c 70027850 : 70027850: b570 push {r4, r5, r6, lr} 70027852: 4d1e ldr r5, [pc, #120] @ (700278cc ) 70027854: b084 sub sp, #16 70027856: 68ec ldr r4, [r5, #12] 70027858: b10c cbz r4, 7002785e 7002785a: b004 add sp, #16 7002785c: bd70 pop {r4, r5, r6, pc} 7002785e: 466e mov r6, sp 70027860: f44f 7280 mov.w r2, #256 @ 0x100 70027864: 4621 mov r1, r4 70027866: 4630 mov r0, r6 70027868: f7db ffaa bl 700037c0 7002786c: f04f 0cff mov.w ip, #255 @ 0xff 70027870: e896 000f ldmia.w r6, {r0, r1, r2, r3} 70027874: e885 000f stmia.w r5, {r0, r1, r2, r3} 70027878: 4621 mov r1, r4 7002787a: 4625 mov r5, r4 7002787c: f1a1 0071 sub.w r0, r1, #113 @ 0x71 70027880: ea44 1311 orr.w r3, r4, r1, lsr #4 70027884: 281e cmp r0, #30 70027886: b2db uxtb r3, r3 70027888: d90a bls.n 700278a0 7002788a: 3101 adds r1, #1 7002788c: 3410 adds r4, #16 7002788e: f802 c003 strb.w ip, [r2, r3] 70027892: f5b1 7f80 cmp.w r1, #256 @ 0x100 70027896: d1f1 bne.n 7002787c 70027898: f882 c0ff strb.w ip, [r2, #255] @ 0xff 7002789c: b004 add sp, #16 7002789e: bd70 pop {r4, r5, r6, pc} 700278a0: 2980 cmp r1, #128 @ 0x80 700278a2: d00a beq.n 700278ba 700278a4: f1c4 0000 rsb r0, r4, #0 700278a8: f101 0101 add.w r1, r1, #1 700278ac: dd02 ble.n 700278b4 700278ae: 54d4 strb r4, [r2, r3] 700278b0: 3410 adds r4, #16 700278b2: e7e3 b.n 7002787c 700278b4: 3410 adds r4, #16 700278b6: 54d0 strb r0, [r2, r3] 700278b8: e7e0 b.n 7002787c 700278ba: 3410 adds r4, #16 700278bc: 2181 movs r1, #129 @ 0x81 700278be: 54d5 strb r5, [r2, r3] 700278c0: b2e3 uxtb r3, r4 700278c2: 2980 cmp r1, #128 @ 0x80 700278c4: f043 0308 orr.w r3, r3, #8 700278c8: e7ec b.n 700278a4 700278ca: bf00 nop 700278cc: 2400dc28 .word 0x2400dc28 700278d0 : 700278d0: 4800 ldr r0, [pc, #0] @ (700278d4 ) 700278d2: 4770 bx lr 700278d4: 2400dc28 .word 0x2400dc28 700278d8 : 700278d8: 4b02 ldr r3, [pc, #8] @ (700278e4 ) 700278da: 681b ldr r3, [r3, #0] 700278dc: f883 007c strb.w r0, [r3, #124] @ 0x7c 700278e0: 4770 bx lr 700278e2: bf00 nop 700278e4: 2400dc78 .word 0x2400dc78 700278e8 : 700278e8: 4b02 ldr r3, [pc, #8] @ (700278f4 ) 700278ea: 681b ldr r3, [r3, #0] 700278ec: ed83 0aba vstr s0, [r3, #744] @ 0x2e8 700278f0: 4770 bx lr 700278f2: bf00 nop 700278f4: 2400dc78 .word 0x2400dc78 700278f8 : 700278f8: 4b08 ldr r3, [pc, #32] @ (7002791c ) 700278fa: 2802 cmp r0, #2 700278fc: 681b ldr r3, [r3, #0] 700278fe: d806 bhi.n 7002790e 70027900: 2902 cmp r1, #2 70027902: d804 bhi.n 7002790e 70027904: f883 02f0 strb.w r0, [r3, #752] @ 0x2f0 70027908: f883 12f1 strb.w r1, [r3, #753] @ 0x2f1 7002790c: 4770 bx lr 7002790e: f8d3 2080 ldr.w r2, [r3, #128] @ 0x80 70027912: f442 0200 orr.w r2, r2, #8388608 @ 0x800000 70027916: f8c3 2080 str.w r2, [r3, #128] @ 0x80 7002791a: 4770 bx lr 7002791c: 2400dc78 .word 0x2400dc78 70027920 : 70027920: 4b06 ldr r3, [pc, #24] @ (7002793c ) 70027922: 2802 cmp r0, #2 70027924: 681b ldr r3, [r3, #0] 70027926: d802 bhi.n 7002792e 70027928: f883 02f2 strb.w r0, [r3, #754] @ 0x2f2 7002792c: 4770 bx lr 7002792e: f8d3 2080 ldr.w r2, [r3, #128] @ 0x80 70027932: f042 7280 orr.w r2, r2, #16777216 @ 0x1000000 70027936: f8c3 2080 str.w r2, [r3, #128] @ 0x80 7002793a: 4770 bx lr 7002793c: 2400dc78 .word 0x2400dc78 70027940 : 70027940: 4b02 ldr r3, [pc, #8] @ (7002794c ) 70027942: 681b ldr r3, [r3, #0] 70027944: ed83 0abb vstr s0, [r3, #748] @ 0x2ec 70027948: 4770 bx lr 7002794a: bf00 nop 7002794c: 2400dc78 .word 0x2400dc78 70027950 : 70027950: 4b03 ldr r3, [pc, #12] @ (70027960 ) 70027952: 681a ldr r2, [r3, #0] 70027954: f8d2 3080 ldr.w r3, [r2, #128] @ 0x80 70027958: 4303 orrs r3, r0 7002795a: f8c2 3080 str.w r3, [r2, #128] @ 0x80 7002795e: 4770 bx lr 70027960: 2400dc78 .word 0x2400dc78 70027964 : 70027964: 4b02 ldr r3, [pc, #8] @ (70027970 ) 70027966: 681b ldr r3, [r3, #0] 70027968: f8c3 0084 str.w r0, [r3, #132] @ 0x84 7002796c: 4770 bx lr 7002796e: bf00 nop 70027970: 2400dc78 .word 0x2400dc78 70027974 : 70027974: 4b08 ldr r3, [pc, #32] @ (70027998 ) 70027976: 06c2 lsls r2, r0, #27 70027978: 681b ldr r3, [r3, #0] 7002797a: f883 007d strb.w r0, [r3, #125] @ 0x7d 7002797e: d504 bpl.n 7002798a 70027980: 2200 movs r2, #0 70027982: 4611 mov r1, r2 70027984: e9c3 2122 strd r2, r1, [r3, #136] @ 0x88 70027988: 4770 bx lr 7002798a: f04f 7200 mov.w r2, #33554432 @ 0x2000000 7002798e: f04f 61f0 mov.w r1, #125829120 @ 0x7800000 70027992: e9c3 2122 strd r2, r1, [r3, #136] @ 0x88 70027996: 4770 bx lr 70027998: 2400dc78 .word 0x2400dc78 7002799c : 7002799c: b510 push {r4, lr} 7002799e: 4c24 ldr r4, [pc, #144] @ (70027a30 ) 700279a0: 6823 ldr r3, [r4, #0] 700279a2: 2800 cmp r0, #0 700279a4: d03a beq.n 70027a1c 700279a6: 6802 ldr r2, [r0, #0] 700279a8: f8c3 20a4 str.w r2, [r3, #164] @ 0xa4 700279ac: f8c3 20c8 str.w r2, [r3, #200] @ 0xc8 700279b0: 6842 ldr r2, [r0, #4] 700279b2: f8c3 20a8 str.w r2, [r3, #168] @ 0xa8 700279b6: f8c3 20cc str.w r2, [r3, #204] @ 0xcc 700279ba: 6882 ldr r2, [r0, #8] 700279bc: f8c3 20ac str.w r2, [r3, #172] @ 0xac 700279c0: f8c3 20d0 str.w r2, [r3, #208] @ 0xd0 700279c4: 68c2 ldr r2, [r0, #12] 700279c6: f8c3 20b0 str.w r2, [r3, #176] @ 0xb0 700279ca: f8c3 20d4 str.w r2, [r3, #212] @ 0xd4 700279ce: 6902 ldr r2, [r0, #16] 700279d0: f8c3 20b4 str.w r2, [r3, #180] @ 0xb4 700279d4: f8c3 20d8 str.w r2, [r3, #216] @ 0xd8 700279d8: 6942 ldr r2, [r0, #20] 700279da: f8c3 20b8 str.w r2, [r3, #184] @ 0xb8 700279de: f8c3 20dc str.w r2, [r3, #220] @ 0xdc 700279e2: 6982 ldr r2, [r0, #24] 700279e4: f8c3 20bc str.w r2, [r3, #188] @ 0xbc 700279e8: f8c3 20e0 str.w r2, [r3, #224] @ 0xe0 700279ec: 69c2 ldr r2, [r0, #28] 700279ee: f8c3 20c0 str.w r2, [r3, #192] @ 0xc0 700279f2: f8c3 20e4 str.w r2, [r3, #228] @ 0xe4 700279f6: 6a02 ldr r2, [r0, #32] 700279f8: f103 00c8 add.w r0, r3, #200 @ 0xc8 700279fc: f8c3 20c4 str.w r2, [r3, #196] @ 0xc4 70027a00: f8c3 20e8 str.w r2, [r3, #232] @ 0xe8 70027a04: f7f1 fa54 bl 70018eb0 70027a08: b978 cbnz r0, 70027a2a 70027a0a: 6822 ldr r2, [r4, #0] 70027a0c: f8d2 3090 ldr.w r3, [r2, #144] @ 0x90 70027a10: f043 0301 orr.w r3, r3, #1 70027a14: f8c2 3090 str.w r3, [r2, #144] @ 0x90 70027a18: 2000 movs r0, #0 70027a1a: bd10 pop {r4, pc} 70027a1c: f8d3 2090 ldr.w r2, [r3, #144] @ 0x90 70027a20: f022 0201 bic.w r2, r2, #1 70027a24: f8c3 2090 str.w r2, [r3, #144] @ 0x90 70027a28: e7f6 b.n 70027a18 70027a2a: f44f 2080 mov.w r0, #262144 @ 0x40000 70027a2e: bd10 pop {r4, pc} 70027a30: 2400dc78 .word 0x2400dc78 70027a34 : 70027a34: 4b0a ldr r3, [pc, #40] @ (70027a60 ) 70027a36: 681a ldr r2, [r3, #0] 70027a38: f8d2 3090 ldr.w r3, [r2, #144] @ 0x90 70027a3c: b138 cbz r0, 70027a4e 70027a3e: f043 0304 orr.w r3, r3, #4 70027a42: b141 cbz r1, 70027a56 70027a44: f043 0310 orr.w r3, r3, #16 70027a48: f8c2 3090 str.w r3, [r2, #144] @ 0x90 70027a4c: 4770 bx lr 70027a4e: f023 0304 bic.w r3, r3, #4 70027a52: 2900 cmp r1, #0 70027a54: d1f6 bne.n 70027a44 70027a56: f023 0310 bic.w r3, r3, #16 70027a5a: f8c2 3090 str.w r3, [r2, #144] @ 0x90 70027a5e: 4770 bx lr 70027a60: 2400dc78 .word 0x2400dc78 70027a64 : 70027a64: 4b24 ldr r3, [pc, #144] @ (70027af8 ) 70027a66: 2200 movs r2, #0 70027a68: 2101 movs r1, #1 70027a6a: 681b ldr r3, [r3, #0] 70027a6c: edd3 7ac4 vldr s15, [r3, #784] @ 0x310 70027a70: f8c3 230c str.w r2, [r3, #780] @ 0x30c 70027a74: eef5 7ac0 vcmpe.f32 s15, #0.0 70027a78: f883 12f5 strb.w r1, [r3, #757] @ 0x2f5 70027a7c: f8c3 2308 str.w r2, [r3, #776] @ 0x308 70027a80: f8a3 22f8 strh.w r2, [r3, #760] @ 0x2f8 70027a84: eef1 fa10 vmrs APSR_nzcv, fpscr 70027a88: d402 bmi.n 70027a90 70027a8a: edc3 7ac5 vstr s15, [r3, #788] @ 0x314 70027a8e: 4770 bx lr 70027a90: eef1 6a67 vneg.f32 s13, s15 70027a94: edd3 7ac1 vldr s15, [r3, #772] @ 0x304 70027a98: ee86 6aa7 vdiv.f32 s12, s13, s15 70027a9c: eeb5 6ac0 vcmpe.f32 s12, #0.0 70027aa0: eebd 7ac6 vcvt.s32.f32 s14, s12 70027aa4: eef1 fa10 vmrs APSR_nzcv, fpscr 70027aa8: eef8 5ac7 vcvt.f32.s32 s11, s14 70027aac: eeb4 6ae5 vcmpe.f32 s12, s11 70027ab0: d416 bmi.n 70027ae0 70027ab2: eef1 fa10 vmrs APSR_nzcv, fpscr 70027ab6: ee17 1a10 vmov r1, s14 70027aba: bf4c ite mi 70027abc: 2201 movmi r2, #1 70027abe: 2200 movpl r2, #0 70027ac0: 1a8a subs r2, r1, r2 70027ac2: ee07 2a10 vmov s14, r2 70027ac6: eeb8 7ac7 vcvt.f32.s32 s14, s14 70027aca: ee27 7a87 vmul.f32 s14, s15, s14 70027ace: ee76 6ac7 vsub.f32 s13, s13, s14 70027ad2: ee77 7ae6 vsub.f32 s15, s15, s13 70027ad6: edc3 7ac4 vstr s15, [r3, #784] @ 0x310 70027ada: edc3 7ac5 vstr s15, [r3, #788] @ 0x314 70027ade: 4770 bx lr 70027ae0: eef1 fa10 vmrs APSR_nzcv, fpscr 70027ae4: bfc8 it gt 70027ae6: 460a movgt r2, r1 70027ae8: ee17 1a10 vmov r1, s14 70027aec: 440a add r2, r1 70027aee: ee07 2a10 vmov s14, r2 70027af2: eeb8 7ac7 vcvt.f32.s32 s14, s14 70027af6: e7e8 b.n 70027aca 70027af8: 2400dc78 .word 0x2400dc78 70027afc : 70027afc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70027b00: ed2d 8b0c vpush {d8-d13} 70027b04: edd0 7a01 vldr s15, [r0, #4] 70027b08: b093 sub sp, #76 @ 0x4c 70027b0a: edd1 aa00 vldr s21, [r1] 70027b0e: 4605 mov r5, r0 70027b10: ed90 7a00 vldr s14, [r0] 70027b14: ed91 8a01 vldr s16, [r1, #4] 70027b18: ee7a aac7 vsub.f32 s21, s21, s14 70027b1c: f8df 83f0 ldr.w r8, [pc, #1008] @ 70027f10 70027b20: ee38 8a67 vsub.f32 s16, s16, s15 70027b24: f8d8 4000 ldr.w r4, [r8] 70027b28: ee2a 0aaa vmul.f32 s0, s21, s21 70027b2c: ee68 7a08 vmul.f32 s15, s16, s16 70027b30: ee30 0a27 vadd.f32 s0, s0, s15 70027b34: f7f0 ffb8 bl 70018aa8 70027b38: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 70027b3c: ed95 9a00 vldr s18, [r5] 70027b40: edd5 9a01 vldr s19, [r5, #4] 70027b44: ee70 8a27 vadd.f32 s17, s0, s15 70027b48: eefd 8ae8 vcvt.s32.f32 s17, s17 70027b4c: eef8 8ae8 vcvt.f32.s32 s17, s17 70027b50: eef5 8a40 vcmp.f32 s17, #0.0 70027b54: ee8a aaa8 vdiv.f32 s20, s21, s17 70027b58: eef1 fa10 vmrs APSR_nzcv, fpscr 70027b5c: eec8 aa28 vdiv.f32 s21, s16, s17 70027b60: f000 82e7 beq.w 70028132 70027b64: f8d4 3308 ldr.w r3, [r4, #776] @ 0x308 70027b68: f894 12f5 ldrb.w r1, [r4, #757] @ 0x2f5 70027b6c: b933 cbnz r3, 70027b7c 70027b6e: e06a b.n 70027c46 70027b70: eef5 8a40 vcmp.f32 s17, #0.0 70027b74: eef1 fa10 vmrs APSR_nzcv, fpscr 70027b78: f000 82db beq.w 70028132 70027b7c: ee07 3a90 vmov s15, r3 70027b80: f894 52f8 ldrb.w r5, [r4, #760] @ 0x2f8 70027b84: eeb0 ba69 vmov.f32 s22, s19 70027b88: eeb8 8a67 vcvt.f32.u32 s16, s15 70027b8c: fab5 f585 clz r5, r5 70027b90: eef0 ba49 vmov.f32 s23, s18 70027b94: 096d lsrs r5, r5, #5 70027b96: ee78 7ac8 vsub.f32 s15, s17, s16 70027b9a: eef5 7ac0 vcmpe.f32 s15, #0.0 70027b9e: eef1 fa10 vmrs APSR_nzcv, fpscr 70027ba2: d464 bmi.n 70027c6e 70027ba4: edd4 7ac5 vldr s15, [r4, #788] @ 0x314 70027ba8: 2001 movs r0, #1 70027baa: f8d4 330c ldr.w r3, [r4, #780] @ 0x30c 70027bae: 2700 movs r7, #0 70027bb0: eef5 7ac0 vcmpe.f32 s15, #0.0 70027bb4: f8d4 2300 ldr.w r2, [r4, #768] @ 0x300 70027bb8: 4403 add r3, r0 70027bba: 462e mov r6, r5 70027bbc: 4681 mov r9, r0 70027bbe: 9704 str r7, [sp, #16] 70027bc0: 4293 cmp r3, r2 70027bc2: bf28 it cs 70027bc4: 463b movcs r3, r7 70027bc6: eef1 fa10 vmrs APSR_nzcv, fpscr 70027bca: e9c4 73c2 strd r7, r3, [r4, #776] @ 0x308 70027bce: db61 blt.n 70027c94 70027bd0: ee38 7a67 vsub.f32 s14, s16, s15 70027bd4: eeb5 7ac0 vcmpe.f32 s14, #0.0 70027bd8: eef1 fa10 vmrs APSR_nzcv, fpscr 70027bdc: f340 8190 ble.w 70027f00 70027be0: ee78 8ac7 vsub.f32 s17, s17, s14 70027be4: eddf 7ac9 vldr s15, [pc, #804] @ 70027f0c 70027be8: eeb0 8a47 vmov.f32 s16, s14 70027bec: f8d8 2000 ldr.w r2, [r8] 70027bf0: ee68 6a0a vmul.f32 s13, s16, s20 70027bf4: ee28 7a2a vmul.f32 s14, s16, s21 70027bf8: edc4 7ac5 vstr s15, [r4, #788] @ 0x314 70027bfc: f892 31c1 ldrb.w r3, [r2, #449] @ 0x1c1 70027c00: ee36 9a89 vadd.f32 s18, s13, s18 70027c04: ee77 9a29 vadd.f32 s19, s14, s19 70027c08: b15b cbz r3, 70027c22 70027c0a: f894 32f9 ldrb.w r3, [r4, #761] @ 0x2f9 70027c0e: b143 cbz r3, 70027c22 70027c10: eef5 8a40 vcmp.f32 s17, #0.0 70027c14: eef1 fa10 vmrs APSR_nzcv, fpscr 70027c18: d103 bne.n 70027c22 70027c1a: b110 cbz r0, 70027c22 70027c1c: 2600 movs r6, #0 70027c1e: 9504 str r5, [sp, #16] 70027c20: 46b1 mov r9, r6 70027c22: 2901 cmp r1, #1 70027c24: d03b beq.n 70027c9e 70027c26: f8d4 3308 ldr.w r3, [r4, #776] @ 0x308 70027c2a: f884 12f6 strb.w r1, [r4, #758] @ 0x2f6 70027c2e: 2b00 cmp r3, #0 70027c30: d19e bne.n 70027b70 70027c32: eef5 8a40 vcmp.f32 s17, #0.0 70027c36: f081 0101 eor.w r1, r1, #1 70027c3a: f884 12f5 strb.w r1, [r4, #757] @ 0x2f5 70027c3e: eef1 fa10 vmrs APSR_nzcv, fpscr 70027c42: f000 8276 beq.w 70028132 70027c46: f8d4 230c ldr.w r2, [r4, #780] @ 0x30c 70027c4a: eeb0 ba69 vmov.f32 s22, s19 70027c4e: f8d4 32fc ldr.w r3, [r4, #764] @ 0x2fc 70027c52: eef0 ba49 vmov.f32 s23, s18 70027c56: 2501 movs r5, #1 70027c58: eb03 0382 add.w r3, r3, r2, lsl #2 70027c5c: ed93 8a00 vldr s16, [r3] 70027c60: ee78 7ac8 vsub.f32 s15, s17, s16 70027c64: eef5 7ac0 vcmpe.f32 s15, #0.0 70027c68: eef1 fa10 vmrs APSR_nzcv, fpscr 70027c6c: d59a bpl.n 70027ba4 70027c6e: ee78 7a68 vsub.f32 s15, s16, s17 70027c72: 2600 movs r6, #0 70027c74: eeb0 8a68 vmov.f32 s16, s17 70027c78: 9504 str r5, [sp, #16] 70027c7a: 4630 mov r0, r6 70027c7c: 46b1 mov r9, r6 70027c7e: eefc 7ae7 vcvt.u32.f32 s15, s15 70027c82: edc4 7ac2 vstr s15, [r4, #776] @ 0x308 70027c86: edd4 7ac5 vldr s15, [r4, #788] @ 0x314 70027c8a: eef5 7ac0 vcmpe.f32 s15, #0.0 70027c8e: eef1 fa10 vmrs APSR_nzcv, fpscr 70027c92: da9d bge.n 70027bd0 70027c94: ee78 8ac8 vsub.f32 s17, s17, s16 70027c98: eddf 7a9c vldr s15, [pc, #624] @ 70027f0c 70027c9c: e7a6 b.n 70027bec 70027c9e: eef5 7a40 vcmp.f32 s15, #0.0 70027ca2: eef1 fa10 vmrs APSR_nzcv, fpscr 70027ca6: d1be bne.n 70027c26 70027ca8: f8d4 32f8 ldr.w r3, [r4, #760] @ 0x2f8 70027cac: f894 12f6 ldrb.w r1, [r4, #758] @ 0x2f6 70027cb0: f36f 2317 bfc r3, #8, #16 70027cb4: 2b00 cmp r3, #0 70027cb6: f000 812f beq.w 70027f18 70027cba: f894 b2fa ldrb.w fp, [r4, #762] @ 0x2fa 70027cbe: f1bb 0f00 cmp.w fp, #0 70027cc2: d007 beq.n 70027cd4 70027cc4: f085 0301 eor.w r3, r5, #1 70027cc8: 2901 cmp r1, #1 70027cca: bf14 ite ne 70027ccc: f04f 0b00 movne.w fp, #0 70027cd0: f003 0b01 andeq.w fp, r3, #1 70027cd4: f892 307d ldrb.w r3, [r2, #125] @ 0x7d 70027cd8: 06d9 lsls r1, r3, #27 70027cda: f100 8123 bmi.w 70027f24 70027cde: f892 32f0 ldrb.w r3, [r2, #752] @ 0x2f0 70027ce2: f892 12f1 ldrb.w r1, [r2, #753] @ 0x2f1 70027ce6: fab3 f383 clz r3, r3 70027cea: fab1 f181 clz r1, r1 70027cee: 095b lsrs r3, r3, #5 70027cf0: 0949 lsrs r1, r1, #5 70027cf2: 2e00 cmp r6, #0 70027cf4: f040 8208 bne.w 70028108 70027cf8: f085 0201 eor.w r2, r5, #1 70027cfc: ea19 0f02 tst.w r9, r2 70027d00: f040 8210 bne.w 70028124 70027d04: 9a04 ldr r2, [sp, #16] 70027d06: 2a00 cmp r2, #0 70027d08: f000 8204 beq.w 70028114 70027d0c: 2201 movs r2, #1 70027d0e: 4631 mov r1, r6 70027d10: 4610 mov r0, r2 70027d12: f7f1 fa93 bl 7001923c 70027d16: 9005 str r0, [sp, #20] 70027d18: eeb5 8a40 vcmp.f32 s16, #0.0 70027d1c: f8d8 3000 ldr.w r3, [r8] 70027d20: eef1 fa10 vmrs APSR_nzcv, fpscr 70027d24: f000 810d beq.w 70027f42 70027d28: f8d3 2110 ldr.w r2, [r3, #272] @ 0x110 70027d2c: ee79 6a6b vsub.f32 s13, s18, s23 70027d30: ee39 0acb vsub.f32 s0, s19, s22 70027d34: 2a00 cmp r2, #0 70027d36: f000 8188 beq.w 7002804a 70027d3a: ee66 4aa6 vmul.f32 s9, s13, s13 70027d3e: ed93 6a4d vldr s12, [r3, #308] @ 0x134 70027d42: ee60 7a00 vmul.f32 s15, s0, s0 70027d46: ed93 7a4c vldr s14, [r3, #304] @ 0x130 70027d4a: eef6 5a00 vmov.f32 s11, #96 @ 0x3f000000 0.5 70027d4e: f503 7746 add.w r7, r3, #792 @ 0x318 70027d52: eeb7 5a00 vmov.f32 s10, #112 @ 0x3f800000 1.0 70027d56: f503 7e48 add.w lr, r3, #800 @ 0x320 70027d5a: ee77 7aa4 vadd.f32 s15, s15, s9 70027d5e: f10d 0a28 add.w sl, sp, #40 @ 0x28 70027d62: ee26 6a25 vmul.f32 s12, s12, s11 70027d66: f503 7c4a add.w ip, r3, #808 @ 0x328 70027d6a: ee27 7a25 vmul.f32 s14, s14, s11 70027d6e: f503 724c add.w r2, r3, #816 @ 0x330 70027d72: eef1 5ae7 vsqrt.f32 s11, s15 70027d76: eec5 7a25 vdiv.f32 s15, s10, s11 70027d7a: ee27 0a80 vmul.f32 s0, s15, s0 70027d7e: ee67 7aa6 vmul.f32 s15, s15, s13 70027d82: ee27 7a00 vmul.f32 s14, s14, s0 70027d86: ee67 7a86 vmul.f32 s15, s15, s12 70027d8a: ee3b 4ac7 vsub.f32 s8, s23, s14 70027d8e: ee7b 4a27 vadd.f32 s9, s22, s15 70027d92: ee39 5a47 vsub.f32 s10, s18, s14 70027d96: ee79 5aa7 vadd.f32 s11, s19, s15 70027d9a: ed83 4ac6 vstr s8, [r3, #792] @ 0x318 70027d9e: ee39 6a07 vadd.f32 s12, s18, s14 70027da2: edc3 4ac7 vstr s9, [r3, #796] @ 0x31c 70027da6: ee79 6ae7 vsub.f32 s13, s19, s15 70027daa: ed83 5ac8 vstr s10, [r3, #800] @ 0x320 70027dae: ee3b 7a87 vadd.f32 s14, s23, s14 70027db2: edc3 5ac9 vstr s11, [r3, #804] @ 0x324 70027db6: ee7b 7a67 vsub.f32 s15, s22, s15 70027dba: ed83 6aca vstr s12, [r3, #808] @ 0x328 70027dbe: edc3 6acb vstr s13, [r3, #812] @ 0x32c 70027dc2: ed83 7acc vstr s14, [r3, #816] @ 0x330 70027dc6: edc3 7acd vstr s15, [r3, #820] @ 0x334 70027dca: e897 0003 ldmia.w r7, {r0, r1} 70027dce: e88a 0003 stmia.w sl, {r0, r1} 70027dd2: e9de 0100 ldrd r0, r1, [lr] 70027dd6: f10d 0e30 add.w lr, sp, #48 @ 0x30 70027dda: e88e 0003 stmia.w lr, {r0, r1} 70027dde: e9dc 0100 ldrd r0, r1, [ip] 70027de2: f10d 0c38 add.w ip, sp, #56 @ 0x38 70027de6: e88c 0003 stmia.w ip, {r0, r1} 70027dea: e892 0003 ldmia.w r2, {r0, r1} 70027dee: aa10 add r2, sp, #64 @ 0x40 70027df0: e882 0003 stmia.w r2, {r0, r1} 70027df4: f8d3 211c ldr.w r2, [r3, #284] @ 0x11c 70027df8: b922 cbnz r2, 70027e04 70027dfa: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 70027dfe: 079a lsls r2, r3, #30 70027e00: f140 8269 bpl.w 700282d6 70027e04: ed9d 3a10 vldr s6, [sp, #64] @ 0x40 70027e08: eddd 3a11 vldr s7, [sp, #68] @ 0x44 70027e0c: ed9d 2a0e vldr s4, [sp, #56] @ 0x38 70027e10: eddd 2a0f vldr s5, [sp, #60] @ 0x3c 70027e14: ed9d 1a0c vldr s2, [sp, #48] @ 0x30 70027e18: eddd 1a0d vldr s3, [sp, #52] @ 0x34 70027e1c: ed9d 0a0a vldr s0, [sp, #40] @ 0x28 70027e20: eddd 0a0b vldr s1, [sp, #44] @ 0x2c 70027e24: f7f5 f9e6 bl 7001d1f4 70027e28: f8d8 3000 ldr.w r3, [r8] 70027e2c: 4682 mov sl, r0 70027e2e: 2800 cmp r0, #0 70027e30: f040 823f bne.w 700282b2 70027e34: 46ba mov sl, r7 70027e36: f503 7ec8 add.w lr, r3, #400 @ 0x190 70027e3a: f503 7c9c add.w ip, r3, #312 @ 0x138 70027e3e: 9306 str r3, [sp, #24] 70027e40: cf0f ldmia r7!, {r0, r1, r2, r3} 70027e42: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} 70027e46: cf0f ldmia r7!, {r0, r1, r2, r3} 70027e48: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} 70027e4c: e897 0007 ldmia.w r7, {r0, r1, r2} 70027e50: e88e 0007 stmia.w lr, {r0, r1, r2} 70027e54: e8ba 000f ldmia.w sl!, {r0, r1, r2, r3} 70027e58: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 70027e5c: e8ba 000f ldmia.w sl!, {r0, r1, r2, r3} 70027e60: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 70027e64: e897 0007 ldmia.w r7, {r0, r1, r2} 70027e68: e88c 0007 stmia.w ip, {r0, r1, r2} 70027e6c: f1bb 0f00 cmp.w fp, #0 70027e70: f040 81b5 bne.w 700281de 70027e74: f504 7746 add.w r7, r4, #792 @ 0x318 70027e78: 9805 ldr r0, [sp, #20] 70027e7a: 46bb mov fp, r7 70027e7c: f7f1 f9fc bl 70019278 70027e80: f8d8 3000 ldr.w r3, [r8] 70027e84: 46be mov lr, r7 70027e86: f503 7ab2 add.w sl, r3, #356 @ 0x164 70027e8a: f503 7cc8 add.w ip, r3, #400 @ 0x190 70027e8e: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 70027e92: e8aa 000f stmia.w sl!, {r0, r1, r2, r3} 70027e96: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 70027e9a: e8aa 000f stmia.w sl!, {r0, r1, r2, r3} 70027e9e: e89e 0007 ldmia.w lr, {r0, r1, r2} 70027ea2: e88a 0007 stmia.w sl, {r0, r1, r2} 70027ea6: e8bb 000f ldmia.w fp!, {r0, r1, r2, r3} 70027eaa: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 70027eae: e8bb 000f ldmia.w fp!, {r0, r1, r2, r3} 70027eb2: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 70027eb6: e89e 0007 ldmia.w lr, {r0, r1, r2} 70027eba: e88c 0007 stmia.w ip, {r0, r1, r2} 70027ebe: 2e00 cmp r6, #0 70027ec0: d065 beq.n 70027f8e 70027ec2: f894 52f8 ldrb.w r5, [r4, #760] @ 0x2f8 70027ec6: 2d00 cmp r5, #0 70027ec8: f000 8111 beq.w 700280ee 70027ecc: f7f9 fa00 bl 700212d0 70027ed0: 4682 mov sl, r0 70027ed2: 2800 cmp r0, #0 70027ed4: f040 808c bne.w 70027ff0 70027ed8: f894 c2f8 ldrb.w ip, [r4, #760] @ 0x2f8 70027edc: 463e mov r6, r7 70027ede: f504 7551 add.w r5, r4, #836 @ 0x344 70027ee2: ce0f ldmia r6!, {r0, r1, r2, r3} 70027ee4: c50f stmia r5!, {r0, r1, r2, r3} 70027ee6: ce0f ldmia r6!, {r0, r1, r2, r3} 70027ee8: c50f stmia r5!, {r0, r1, r2, r3} 70027eea: e896 0007 ldmia.w r6, {r0, r1, r2} 70027eee: e885 0007 stmia.w r5, {r0, r1, r2} 70027ef2: f1bc 0f00 cmp.w ip, #0 70027ef6: f000 8098 beq.w 7002802a 70027efa: f894 12f5 ldrb.w r1, [r4, #757] @ 0x2f5 70027efe: e692 b.n 70027c26 70027f00: ee77 7ac8 vsub.f32 s15, s15, s16 70027f04: ed9f 8a01 vldr s16, [pc, #4] @ 70027f0c 70027f08: e670 b.n 70027bec 70027f0a: bf00 nop 70027f0c: 00000000 .word 0x00000000 70027f10: 2400dc78 .word 0x2400dc78 70027f14: 3d4ccccd .word 0x3d4ccccd 70027f18: 469b mov fp, r3 70027f1a: f892 307d ldrb.w r3, [r2, #125] @ 0x7d 70027f1e: 06d9 lsls r1, r3, #27 70027f20: f57f aedd bpl.w 70027cde 70027f24: 2300 movs r3, #0 70027f26: 461a mov r2, r3 70027f28: 4619 mov r1, r3 70027f2a: 4618 mov r0, r3 70027f2c: f7f1 f986 bl 7001923c 70027f30: eeb5 8a40 vcmp.f32 s16, #0.0 70027f34: f8d8 3000 ldr.w r3, [r8] 70027f38: 9005 str r0, [sp, #20] 70027f3a: eef1 fa10 vmrs APSR_nzcv, fpscr 70027f3e: f47f aef3 bne.w 70027d28 70027f42: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 70027f46: edc4 bac8 vstr s23, [r4, #800] @ 0x320 70027f4a: edd3 7a4c vldr s15, [r3, #304] @ 0x130 70027f4e: f504 7148 add.w r1, r4, #800 @ 0x320 70027f52: edc4 baca vstr s23, [r4, #808] @ 0x328 70027f56: f504 7746 add.w r7, r4, #792 @ 0x318 70027f5a: ee67 7a87 vmul.f32 s15, s15, s14 70027f5e: f504 724a add.w r2, r4, #808 @ 0x328 70027f62: ee7b 7a67 vsub.f32 s15, s22, s15 70027f66: edc4 7ac9 vstr s15, [r4, #804] @ 0x324 70027f6a: edd3 7a4c vldr s15, [r3, #304] @ 0x130 70027f6e: f504 734c add.w r3, r4, #816 @ 0x330 70027f72: ee67 7a87 vmul.f32 s15, s15, s14 70027f76: ee77 7a8b vadd.f32 s15, s15, s22 70027f7a: edc4 7acb vstr s15, [r4, #812] @ 0x32c 70027f7e: c903 ldmia r1, {r0, r1} 70027f80: e887 0003 stmia.w r7, {r0, r1} 70027f84: e892 0003 ldmia.w r2, {r0, r1} 70027f88: e883 0003 stmia.w r3, {r0, r1} 70027f8c: e774 b.n 70027e78 70027f8e: f085 0501 eor.w r5, r5, #1 70027f92: ea19 0f05 tst.w r9, r5 70027f96: d033 beq.n 70028000 70027f98: f504 7253 add.w r2, r4, #844 @ 0x34c 70027f9c: ad0a add r5, sp, #40 @ 0x28 70027f9e: f504 7355 add.w r3, r4, #852 @ 0x354 70027fa2: f10d 0c30 add.w ip, sp, #48 @ 0x30 70027fa6: e892 0003 ldmia.w r2, {r0, r1} 70027faa: aa0e add r2, sp, #56 @ 0x38 70027fac: e885 0003 stmia.w r5, {r0, r1} 70027fb0: e897 0003 ldmia.w r7, {r0, r1} 70027fb4: e88c 0003 stmia.w ip, {r0, r1} 70027fb8: e893 0003 ldmia.w r3, {r0, r1} 70027fbc: ab10 add r3, sp, #64 @ 0x40 70027fbe: e882 0003 stmia.w r2, {r0, r1} 70027fc2: f504 714c add.w r1, r4, #816 @ 0x330 70027fc6: c903 ldmia r1, {r0, r1} 70027fc8: e883 0003 stmia.w r3, {r0, r1} 70027fcc: f894 12fa ldrb.w r1, [r4, #762] @ 0x2fa 70027fd0: b941 cbnz r1, 70027fe4 70027fd2: 4661 mov r1, ip 70027fd4: 4628 mov r0, r5 70027fd6: 9600 str r6, [sp, #0] 70027fd8: f7f5 f914 bl 7001d204 70027fdc: 4682 mov sl, r0 70027fde: 2800 cmp r0, #0 70027fe0: f040 8186 bne.w 700282f0 70027fe4: f7f9 f94e bl 70021284 70027fe8: 4682 mov sl, r0 70027fea: 2800 cmp r0, #0 70027fec: f43f af74 beq.w 70027ed8 70027ff0: f8d8 3000 ldr.w r3, [r8] 70027ff4: 2200 movs r2, #0 70027ff6: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 70027ffa: f7ff fca9 bl 70027950 70027ffe: e09a b.n 70028136 70028000: 9b04 ldr r3, [sp, #16] 70028002: f894 c2f8 ldrb.w ip, [r4, #760] @ 0x2f8 70028006: 2b00 cmp r3, #0 70028008: f43f af68 beq.w 70027edc 7002800c: f1bc 0f00 cmp.w ip, #0 70028010: f040 8168 bne.w 700282e4 70028014: 463e mov r6, r7 70028016: f504 7551 add.w r5, r4, #836 @ 0x344 7002801a: ce0f ldmia r6!, {r0, r1, r2, r3} 7002801c: c50f stmia r5!, {r0, r1, r2, r3} 7002801e: ce0f ldmia r6!, {r0, r1, r2, r3} 70028020: c50f stmia r5!, {r0, r1, r2, r3} 70028022: e896 0007 ldmia.w r6, {r0, r1, r2} 70028026: e885 0007 stmia.w r5, {r0, r1, r2} 7002802a: cf0f ldmia r7!, {r0, r1, r2, r3} 7002802c: f504 755c add.w r5, r4, #880 @ 0x370 70028030: 2601 movs r6, #1 70028032: c50f stmia r5!, {r0, r1, r2, r3} 70028034: cf0f ldmia r7!, {r0, r1, r2, r3} 70028036: c50f stmia r5!, {r0, r1, r2, r3} 70028038: e897 0007 ldmia.w r7, {r0, r1, r2} 7002803c: e885 0007 stmia.w r5, {r0, r1, r2} 70028040: f884 62f8 strb.w r6, [r4, #760] @ 0x2f8 70028044: f894 12f5 ldrb.w r1, [r4, #757] @ 0x2f5 70028048: e5ed b.n 70027c26 7002804a: eef5 6ac0 vcmpe.f32 s13, #0.0 7002804e: eef1 fa10 vmrs APSR_nzcv, fpscr 70028052: d476 bmi.n 70028142 70028054: eeb6 8a00 vmov.f32 s16, #96 @ 0x3f000000 0.5 70028058: eef4 6ac8 vcmpe.f32 s13, s16 7002805c: eef1 fa10 vmrs APSR_nzcv, fpscr 70028060: d57b bpl.n 7002815a 70028062: eef0 7a48 vmov.f32 s15, s16 70028066: ee7b da27 vadd.f32 s27, s22, s15 7002806a: ee39 da08 vadd.f32 s26, s18, s16 7002806e: ee79 caa7 vadd.f32 s25, s19, s15 70028072: ee3b 0a88 vadd.f32 s0, s23, s16 70028076: ee3b ba67 vsub.f32 s22, s22, s15 7002807a: ee39 ca48 vsub.f32 s24, s18, s16 7002807e: ee3b 8ac8 vsub.f32 s16, s23, s16 70028082: ee79 bae7 vsub.f32 s23, s19, s15 70028086: f7f0 fd69 bl 70018b5c 7002808a: eeb0 0a6d vmov.f32 s0, s27 7002808e: 9006 str r0, [sp, #24] 70028090: f7f0 fd64 bl 70018b5c 70028094: eeb0 0a4d vmov.f32 s0, s26 70028098: 9009 str r0, [sp, #36] @ 0x24 7002809a: f7f0 fd5f bl 70018b5c 7002809e: eeb0 0a6c vmov.f32 s0, s25 700280a2: 9008 str r0, [sp, #32] 700280a4: f7f0 fd5a bl 70018b5c 700280a8: eeb0 0a4c vmov.f32 s0, s24 700280ac: 4682 mov sl, r0 700280ae: f7f0 fd55 bl 70018b5c 700280b2: eeb0 0a6b vmov.f32 s0, s23 700280b6: 4683 mov fp, r0 700280b8: f7f0 fd50 bl 70018b5c 700280bc: eeb0 0a48 vmov.f32 s0, s16 700280c0: 4607 mov r7, r0 700280c2: f7f0 fd4b bl 70018b5c 700280c6: eeb0 0a4b vmov.f32 s0, s22 700280ca: 9007 str r0, [sp, #28] 700280cc: f7f0 fd46 bl 70018b5c 700280d0: 9b07 ldr r3, [sp, #28] 700280d2: 9003 str r0, [sp, #12] 700280d4: f8cd b000 str.w fp, [sp] 700280d8: 9806 ldr r0, [sp, #24] 700280da: e9cd 7301 strd r7, r3, [sp, #4] 700280de: e9dd 2108 ldrd r2, r1, [sp, #32] 700280e2: 4653 mov r3, sl 700280e4: f504 7746 add.w r7, r4, #792 @ 0x318 700280e8: f7f1 fba0 bl 7001982c 700280ec: e6c4 b.n 70027e78 700280ee: f7f9 f8c9 bl 70021284 700280f2: 4682 mov sl, r0 700280f4: 2800 cmp r0, #0 700280f6: f43f aeef beq.w 70027ed8 700280fa: f8d8 3000 ldr.w r3, [r8] 700280fe: e9c3 5545 strd r5, r5, [r3, #276] @ 0x114 70028102: f7ff fc25 bl 70027950 70028106: e016 b.n 70028136 70028108: 2201 movs r2, #1 7002810a: 4610 mov r0, r2 7002810c: f7f1 f896 bl 7001923c 70028110: 9005 str r0, [sp, #20] 70028112: e601 b.n 70027d18 70028114: 4613 mov r3, r2 70028116: 2201 movs r2, #1 70028118: 4619 mov r1, r3 7002811a: 4610 mov r0, r2 7002811c: f7f1 f88e bl 7001923c 70028120: 9005 str r0, [sp, #20] 70028122: e5f9 b.n 70027d18 70028124: 2201 movs r2, #1 70028126: 4633 mov r3, r6 70028128: 4610 mov r0, r2 7002812a: f7f1 f887 bl 7001923c 7002812e: 9005 str r0, [sp, #20] 70028130: e5f2 b.n 70027d18 70028132: f04f 0a00 mov.w sl, #0 70028136: 4650 mov r0, sl 70028138: b013 add sp, #76 @ 0x4c 7002813a: ecbd 8b0c vpop {d8-d13} 7002813e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70028142: eefe 7a00 vmov.f32 s15, #224 @ 0xbf000000 -0.5 70028146: eef4 6ae7 vcmpe.f32 s13, s15 7002814a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002814e: dd04 ble.n 7002815a 70028150: eeb6 8a00 vmov.f32 s16, #96 @ 0x3f000000 0.5 70028154: eef0 7a48 vmov.f32 s15, s16 70028158: e785 b.n 70028066 7002815a: ee80 0a26 vdiv.f32 s0, s0, s13 7002815e: f7f0 fcbd bl 70018adc 70028162: eeb6 ca00 vmov.f32 s24, #96 @ 0x3f000000 0.5 70028166: eef0 ca40 vmov.f32 s25, s0 7002816a: f7f0 fba1 bl 700188b0 7002816e: eeb0 8a40 vmov.f32 s16, s0 70028172: eeb0 0a6c vmov.f32 s0, s25 70028176: ee28 8a0c vmul.f32 s16, s16, s24 7002817a: f7f0 fc19 bl 700189b0 7002817e: ee60 7a4c vnmul.f32 s15, s0, s24 70028182: eeb4 8acc vcmpe.f32 s16, s24 70028186: eef1 fa10 vmrs APSR_nzcv, fpscr 7002818a: d50f bpl.n 700281ac 7002818c: eebe 7a00 vmov.f32 s14, #224 @ 0xbf000000 -0.5 70028190: eeb4 8ac7 vcmpe.f32 s16, s14 70028194: eef1 fa10 vmrs APSR_nzcv, fpscr 70028198: dd08 ble.n 700281ac 7002819a: eeb5 8ac0 vcmpe.f32 s16, #0.0 7002819e: eef1 fa10 vmrs APSR_nzcv, fpscr 700281a2: bf4c ite mi 700281a4: eeb0 8a47 vmovmi.f32 s16, s14 700281a8: eeb0 8a4c vmovpl.f32 s16, s24 700281ac: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 700281b0: eef4 7ac7 vcmpe.f32 s15, s14 700281b4: eef1 fa10 vmrs APSR_nzcv, fpscr 700281b8: f57f af55 bpl.w 70028066 700281bc: eefe 6a00 vmov.f32 s13, #224 @ 0xbf000000 -0.5 700281c0: eef4 7ae6 vcmpe.f32 s15, s13 700281c4: eef1 fa10 vmrs APSR_nzcv, fpscr 700281c8: f77f af4d ble.w 70028066 700281cc: eef5 7ac0 vcmpe.f32 s15, #0.0 700281d0: eef1 fa10 vmrs APSR_nzcv, fpscr 700281d4: f140 80a2 bpl.w 7002831c 700281d8: eef0 7a66 vmov.f32 s15, s13 700281dc: e743 b.n 70028066 700281de: 9b06 ldr r3, [sp, #24] 700281e0: edd3 7ada vldr s15, [r3, #872] @ 0x368 700281e4: ed93 6ad0 vldr s12, [r3, #832] @ 0x340 700281e8: ed93 7adb vldr s14, [r3, #876] @ 0x36c 700281ec: edd3 6acf vldr s13, [r3, #828] @ 0x33c 700281f0: ee67 7a86 vmul.f32 s15, s15, s12 700281f4: ee27 7a26 vmul.f32 s14, s14, s13 700281f8: ee77 7ac7 vsub.f32 s15, s15, s14 700281fc: ed1f 7abb vldr s14, [pc, #-748] @ 70027f14 70028200: eef5 7ac0 vcmpe.f32 s15, #0.0 70028204: eef1 fa10 vmrs APSR_nzcv, fpscr 70028208: bf48 it mi 7002820a: eef1 7a67 vnegmi.f32 s15, s15 7002820e: eef4 7ac7 vcmpe.f32 s15, s14 70028212: eef1 fa10 vmrs APSR_nzcv, fpscr 70028216: f63f ae2d bhi.w 70027e74 7002821a: 9b06 ldr r3, [sp, #24] 7002821c: f10d 0c28 add.w ip, sp, #40 @ 0x28 70028220: f503 7153 add.w r1, r3, #844 @ 0x34c 70028224: f503 7746 add.w r7, r3, #792 @ 0x318 70028228: f503 7255 add.w r2, r3, #852 @ 0x354 7002822c: f503 734c add.w r3, r3, #816 @ 0x330 70028230: c903 ldmia r1, {r0, r1} 70028232: e88c 0003 stmia.w ip, {r0, r1} 70028236: e897 0003 ldmia.w r7, {r0, r1} 7002823a: af0c add r7, sp, #48 @ 0x30 7002823c: e887 0003 stmia.w r7, {r0, r1} 70028240: e892 0003 ldmia.w r2, {r0, r1} 70028244: aa0e add r2, sp, #56 @ 0x38 70028246: e882 0003 stmia.w r2, {r0, r1} 7002824a: aa10 add r2, sp, #64 @ 0x40 7002824c: e893 0003 ldmia.w r3, {r0, r1} 70028250: 9b06 ldr r3, [sp, #24] 70028252: e882 0003 stmia.w r2, {r0, r1} 70028256: f893 307d ldrb.w r3, [r3, #125] @ 0x7d 7002825a: f013 0310 ands.w r3, r3, #16 7002825e: d14e bne.n 700282fe 70028260: 2201 movs r2, #1 70028262: 4619 mov r1, r3 70028264: 4610 mov r0, r2 70028266: f7f0 ffe9 bl 7001923c 7002826a: 4607 mov r7, r0 7002826c: f8d8 3000 ldr.w r3, [r8] 70028270: f8d3 211c ldr.w r2, [r3, #284] @ 0x11c 70028274: b91a cbnz r2, 7002827e 70028276: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 7002827a: 079b lsls r3, r3, #30 7002827c: d547 bpl.n 7002830e 7002827e: ed9d 3a10 vldr s6, [sp, #64] @ 0x40 70028282: eddd 3a11 vldr s7, [sp, #68] @ 0x44 70028286: ed9d 2a0e vldr s4, [sp, #56] @ 0x38 7002828a: eddd 2a0f vldr s5, [sp, #60] @ 0x3c 7002828e: ed9d 1a0c vldr s2, [sp, #48] @ 0x30 70028292: eddd 1a0d vldr s3, [sp, #52] @ 0x34 70028296: ed9d 0a0a vldr s0, [sp, #40] @ 0x28 7002829a: eddd 0a0b vldr s1, [sp, #44] @ 0x2c 7002829e: f7f4 ffa9 bl 7001d1f4 700282a2: 4682 mov sl, r0 700282a4: b918 cbnz r0, 700282ae 700282a6: 4638 mov r0, r7 700282a8: f7f0 ffe6 bl 70019278 700282ac: e5e2 b.n 70027e74 700282ae: f8d8 3000 ldr.w r3, [r8] 700282b2: 2400 movs r4, #0 700282b4: e9c3 4445 strd r4, r4, [r3, #276] @ 0x114 700282b8: f7ff fb4a bl 70027950 700282bc: f8d8 3000 ldr.w r3, [r8] 700282c0: 4650 mov r0, sl 700282c2: e9c3 4445 strd r4, r4, [r3, #276] @ 0x114 700282c6: f7ff fb43 bl 70027950 700282ca: 4650 mov r0, sl 700282cc: b013 add sp, #76 @ 0x4c 700282ce: ecbd 8b0c vpop {d8-d13} 700282d2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700282d6: ab10 add r3, sp, #64 @ 0x40 700282d8: 4662 mov r2, ip 700282da: 4671 mov r1, lr 700282dc: 4650 mov r0, sl 700282de: f7f4 fdf9 bl 7001ced4 700282e2: e58f b.n 70027e04 700282e4: f7f8 ffa6 bl 70021234 700282e8: 4682 mov sl, r0 700282ea: 2800 cmp r0, #0 700282ec: f43f adf4 beq.w 70027ed8 700282f0: f8d8 3000 ldr.w r3, [r8] 700282f4: e9c3 6645 strd r6, r6, [r3, #276] @ 0x114 700282f8: f7ff fb2a bl 70027950 700282fc: e71b b.n 70028136 700282fe: 2300 movs r3, #0 70028300: 461a mov r2, r3 70028302: 4619 mov r1, r3 70028304: 4618 mov r0, r3 70028306: f7f0 ff99 bl 7001923c 7002830a: 4607 mov r7, r0 7002830c: e7ae b.n 7002826c 7002830e: ab10 add r3, sp, #64 @ 0x40 70028310: aa0e add r2, sp, #56 @ 0x38 70028312: a90c add r1, sp, #48 @ 0x30 70028314: a80a add r0, sp, #40 @ 0x28 70028316: f7f4 fddd bl 7001ced4 7002831a: e7b0 b.n 7002827e 7002831c: eef0 7a47 vmov.f32 s15, s14 70028320: e6a1 b.n 70028066 70028322: bf00 nop 70028324 : 70028324: b530 push {r4, r5, lr} 70028326: 4d1e ldr r5, [pc, #120] @ (700283a0 ) 70028328: b093 sub sp, #76 @ 0x4c 7002832a: 460c mov r4, r1 7002832c: 682b ldr r3, [r5, #0] 7002832e: b1f0 cbz r0, 7002836e 70028330: f893 21bc ldrb.w r2, [r3, #444] @ 0x1bc 70028334: 2a01 cmp r2, #1 70028336: d003 beq.n 70028340 70028338: f893 21bd ldrb.w r2, [r3, #445] @ 0x1bd 7002833c: 2a01 cmp r2, #1 7002833e: d127 bne.n 70028390 70028340: 4668 mov r0, sp 70028342: f103 01ec add.w r1, r3, #236 @ 0xec 70028346: f7f0 fc27 bl 70018b98 7002834a: 4668 mov r0, sp 7002834c: f7f0 fdb0 bl 70018eb0 70028350: bb10 cbnz r0, 70028398 70028352: 4621 mov r1, r4 70028354: a809 add r0, sp, #36 @ 0x24 70028356: f7f0 fc1f bl 70018b98 7002835a: 4669 mov r1, sp 7002835c: a809 add r0, sp, #36 @ 0x24 7002835e: f7f0 fcb5 bl 70018ccc 70028362: a809 add r0, sp, #36 @ 0x24 70028364: f7f0 ffa8 bl 700192b8 70028368: 2000 movs r0, #0 7002836a: b013 add sp, #76 @ 0x4c 7002836c: bd30 pop {r4, r5, pc} 7002836e: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 70028372: 07db lsls r3, r3, #31 70028374: d50c bpl.n 70028390 70028376: a809 add r0, sp, #36 @ 0x24 70028378: f7f0 fc0e bl 70018b98 7002837c: 6829 ldr r1, [r5, #0] 7002837e: a809 add r0, sp, #36 @ 0x24 70028380: 31c8 adds r1, #200 @ 0xc8 70028382: f7f0 fca3 bl 70018ccc 70028386: a809 add r0, sp, #36 @ 0x24 70028388: f7f0 ff96 bl 700192b8 7002838c: 2000 movs r0, #0 7002838e: e7ec b.n 7002836a 70028390: 4620 mov r0, r4 70028392: f7f0 ff91 bl 700192b8 70028396: e7f9 b.n 7002838c 70028398: f44f 2080 mov.w r0, #262144 @ 0x40000 7002839c: b013 add sp, #76 @ 0x4c 7002839e: bd30 pop {r4, r5, pc} 700283a0: 2400dc78 .word 0x2400dc78 700283a4 : 700283a4: b538 push {r3, r4, r5, lr} 700283a6: 20dc movs r0, #220 @ 0xdc 700283a8: f7db f98a bl 700036c0 700283ac: 4604 mov r4, r0 700283ae: b1e0 cbz r0, 700283ea 700283b0: 2500 movs r5, #0 700283b2: f04f 537e mov.w r3, #1065353216 @ 0x3f800000 700283b6: f04f 427f mov.w r2, #4278190080 @ 0xff000000 700283ba: 3034 adds r0, #52 @ 0x34 700283bc: f8c4 30d0 str.w r3, [r4, #208] @ 0xd0 700283c0: f8c4 20d8 str.w r2, [r4, #216] @ 0xd8 700283c4: f884 502c strb.w r5, [r4, #44] @ 0x2c 700283c8: f884 50d5 strb.w r5, [r4, #213] @ 0xd5 700283cc: f884 50cc strb.w r5, [r4, #204] @ 0xcc 700283d0: 6325 str r5, [r4, #48] @ 0x30 700283d2: e9c4 5500 strd r5, r5, [r4] 700283d6: f7f0 fbd1 bl 70018b7c 700283da: f104 0008 add.w r0, r4, #8 700283de: f7f0 fbcd bl 70018b7c 700283e2: 4620 mov r0, r4 700283e4: f884 50d4 strb.w r5, [r4, #212] @ 0xd4 700283e8: bd38 pop {r3, r4, r5, pc} 700283ea: 2001 movs r0, #1 700283ec: f7ff fab0 bl 70027950 700283f0: 4620 mov r0, r4 700283f2: bd38 pop {r3, r4, r5, pc} 700283f4 : 700283f4: b138 cbz r0, 70028406 700283f6: 2904 cmp r1, #4 700283f8: d802 bhi.n 70028400 700283fa: f880 10d5 strb.w r1, [r0, #213] @ 0xd5 700283fe: 4770 bx lr 70028400: 2008 movs r0, #8 70028402: f7ff baa5 b.w 70027950 70028406: 2001 movs r0, #1 70028408: f7ff baa2 b.w 70027950 7002840c : 7002840c: b160 cbz r0, 70028428 7002840e: f890 30d4 ldrb.w r3, [r0, #212] @ 0xd4 70028412: b921 cbnz r1, 7002841e 70028414: f023 0301 bic.w r3, r3, #1 70028418: f880 30d4 strb.w r3, [r0, #212] @ 0xd4 7002841c: 4770 bx lr 7002841e: f043 0301 orr.w r3, r3, #1 70028422: f880 30d4 strb.w r3, [r0, #212] @ 0xd4 70028426: 4770 bx lr 70028428: 2001 movs r0, #1 7002842a: f7ff ba91 b.w 70027950 7002842e: bf00 nop 70028430 : 70028430: b530 push {r4, r5, lr} 70028432: b085 sub sp, #20 70028434: 2010 movs r0, #16 70028436: f7db f943 bl 700036c0 7002843a: f44f 7280 mov.w r2, #256 @ 0x100 7002843e: 466d mov r5, sp 70028440: 4604 mov r4, r0 70028442: 2100 movs r1, #0 70028444: 4628 mov r0, r5 70028446: f7db f9bb bl 700037c0 7002844a: e895 000f ldmia.w r5, {r0, r1, r2, r3} 7002844e: e884 000f stmia.w r4, {r0, r1, r2, r3} 70028452: 4620 mov r0, r4 70028454: b005 add sp, #20 70028456: bd30 pop {r4, r5, pc} 70028458 : 70028458: b140 cbz r0, 7002846c 7002845a: b510 push {r4, lr} 7002845c: 4604 mov r4, r0 7002845e: f7db f9d1 bl 70003804 70028462: 4620 mov r0, r4 70028464: e8bd 4010 ldmia.w sp!, {r4, lr} 70028468: f7db b928 b.w 700036bc 7002846c: 4770 bx lr 7002846e: bf00 nop 70028470 : 70028470: 2920 cmp r1, #32 70028472: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70028476: 4607 mov r7, r0 70028478: 4615 mov r5, r2 7002847a: 469a mov sl, r3 7002847c: ed2d 8b10 vpush {d8-d15} 70028480: b095 sub sp, #84 @ 0x54 70028482: f300 810e bgt.w 700286a2 70028486: 460c mov r4, r1 70028488: 2100 movs r1, #0 7002848a: 2301 movs r3, #1 7002848c: 2240 movs r2, #64 @ 0x40 7002848e: 2600 movs r6, #0 70028490: 4608 mov r0, r1 70028492: f7ef fc99 bl 70017dc8 70028496: 68f9 ldr r1, [r7, #12] 70028498: 2701 movs r7, #1 7002849a: 2240 movs r2, #64 @ 0x40 7002849c: 463b mov r3, r7 7002849e: 4638 mov r0, r7 700284a0: 9700 str r7, [sp, #0] 700284a2: e9cd 6601 strd r6, r6, [sp, #4] 700284a6: f7ef fd4f bl 70017f48 700284aa: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 700284ae: 4639 mov r1, r7 700284b0: 4638 mov r0, r7 700284b2: 461a mov r2, r3 700284b4: f001 fb84 bl 70029bc0 700284b8: 4638 mov r0, r7 700284ba: f7ef fcbd bl 70017e38 700284be: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 700284c2: 4638 mov r0, r7 700284c4: ed9f 6ac9 vldr s12, [pc, #804] @ 700287ec 700284c8: 4637 mov r7, r6 700284ca: 2f01 cmp r7, #1 700284cc: dc04 bgt.n 700284d8 700284ce: 1e33 subs r3, r6, #0 700284d0: bf18 it ne 700284d2: 2301 movne r3, #1 700284d4: 2e00 cmp r6, #0 700284d6: d06c beq.n 700285b2 700284d8: 1c73 adds r3, r6, #1 700284da: eb05 0286 add.w r2, r5, r6, lsl #2 700284de: 429c cmp r4, r3 700284e0: edd2 7a00 vldr s15, [r2] 700284e4: dd69 ble.n 700285ba 700284e6: eb05 0283 add.w r2, r5, r3, lsl #2 700284ea: 4639 mov r1, r7 700284ec: e002 b.n 700284f4 700284ee: 3301 adds r3, #1 700284f0: 429c cmp r4, r3 700284f2: d02a beq.n 7002854a 700284f4: eeb0 7a67 vmov.f32 s14, s15 700284f8: ecf2 7a01 vldmia r2!, {s15} 700284fc: eef4 7ac7 vcmpe.f32 s15, s14 70028500: eef1 fa10 vmrs APSR_nzcv, fpscr 70028504: d41d bmi.n 70028542 70028506: eef5 7ac0 vcmpe.f32 s15, #0.0 7002850a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002850e: dbee blt.n 700284ee 70028510: eef4 7ae6 vcmpe.f32 s15, s13 70028514: eef1 fa10 vmrs APSR_nzcv, fpscr 70028518: d8e9 bhi.n 700284ee 7002851a: b941 cbnz r1, 7002852e 7002851c: eef5 7ac0 vcmpe.f32 s15, #0.0 70028520: 2101 movs r1, #1 70028522: eef1 fa10 vmrs APSR_nzcv, fpscr 70028526: dde2 ble.n 700284ee 70028528: 2102 movs r1, #2 7002852a: 2200 movs r2, #0 7002852c: e003 b.n 70028536 7002852e: 3101 adds r1, #1 70028530: 2901 cmp r1, #1 70028532: dddc ble.n 700284ee 70028534: 2200 movs r2, #0 70028536: 42b9 cmp r1, r7 70028538: d009 beq.n 7002854e 7002853a: b942 cbnz r2, 7002854e 7002853c: 461e mov r6, r3 7002853e: 460f mov r7, r1 70028540: e7c3 b.n 700284ca 70028542: 4633 mov r3, r6 70028544: 2201 movs r2, #1 70028546: 2000 movs r0, #0 70028548: e7f5 b.n 70028536 7002854a: 2800 cmp r0, #0 7002854c: d13b bne.n 700285c6 7002854e: 2900 cmp r1, #0 70028550: bf0c ite eq 70028552: 2000 moveq r0, #0 70028554: f000 0001 andne.w r0, r0, #1 70028558: 2800 cmp r0, #0 7002855a: d14a bne.n 700285f2 7002855c: 2200 movs r2, #0 7002855e: 49a4 ldr r1, [pc, #656] @ (700287f0 ) 70028560: 4ba4 ldr r3, [pc, #656] @ (700287f4 ) 70028562: ac0c add r4, sp, #48 @ 0x30 70028564: ad10 add r5, sp, #64 @ 0x40 70028566: 9208 str r2, [sp, #32] 70028568: 9209 str r2, [sp, #36] @ 0x24 7002856a: 920a str r2, [sp, #40] @ 0x28 7002856c: 910b str r1, [sp, #44] @ 0x2c 7002856e: 9401 str r4, [sp, #4] 70028570: cb0f ldmia r3, {r0, r1, r2, r3} 70028572: e884 000f stmia.w r4, {r0, r1, r2, r3} 70028576: 9502 str r5, [sp, #8] 70028578: e885 000f stmia.w r5, {r0, r1, r2, r3} 7002857c: 2100 movs r1, #0 7002857e: a808 add r0, sp, #32 70028580: 2301 movs r3, #1 70028582: 2240 movs r2, #64 @ 0x40 70028584: 9000 str r0, [sp, #0] 70028586: 4608 mov r0, r1 70028588: f7f0 f8c2 bl 70018710 7002858c: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 70028590: 2100 movs r1, #0 70028592: 2301 movs r3, #1 70028594: 9000 str r0, [sp, #0] 70028596: 2240 movs r2, #64 @ 0x40 70028598: 4608 mov r0, r1 7002859a: f7ef fea9 bl 700182f0 7002859e: 2000 movs r0, #0 700285a0: f7ef fc4a bl 70017e38 700285a4: b015 add sp, #84 @ 0x54 700285a6: ecbd 8b10 vpop {d8-d15} 700285aa: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700285ae: f7ef bc23 b.w 70017df8 700285b2: 429c cmp r4, r3 700285b4: eef0 7a46 vmov.f32 s15, s12 700285b8: dc95 bgt.n 700284e6 700285ba: 2800 cmp r0, #0 700285bc: d0ce beq.n 7002855c 700285be: 2f00 cmp r7, #0 700285c0: 4639 mov r1, r7 700285c2: dc02 bgt.n 700285ca 700285c4: e7c3 b.n 7002854e 700285c6: 2900 cmp r1, #0 700285c8: ddc1 ble.n 7002854e 700285ca: eb05 0686 add.w r6, r5, r6, lsl #2 700285ce: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 700285d2: 2001 movs r0, #1 700285d4: ed96 7a00 vldr s14, [r6] 700285d8: eeb4 7ae7 vcmpe.f32 s14, s15 700285dc: eef1 fa10 vmrs APSR_nzcv, fpscr 700285e0: bf48 it mi 700285e2: 3101 addmi r1, #1 700285e4: 2900 cmp r1, #0 700285e6: bf0c ite eq 700285e8: 2000 moveq r0, #0 700285ea: f000 0001 andne.w r0, r0, #1 700285ee: 2800 cmp r0, #0 700285f0: d0b4 beq.n 7002855c 700285f2: eddf ea81 vldr s29, [pc, #516] @ 700287f8 700285f6: 2600 movs r6, #0 700285f8: 2301 movs r3, #1 700285fa: eeb6 ea00 vmov.f32 s28, #96 @ 0x3f000000 0.5 700285fe: eef0 8a6e vmov.f32 s17, s29 70028602: ed9f da7a vldr s26, [pc, #488] @ 700287ec 70028606: eeb0 9a6e vmov.f32 s18, s29 7002860a: 46b0 mov r8, r6 7002860c: eef0 9a6e vmov.f32 s19, s29 70028610: ed9f aa7a vldr s20, [pc, #488] @ 700287fc 70028614: eef0 ba6e vmov.f32 s23, s29 70028618: 46b1 mov r9, r6 7002861a: eeb0 ca6e vmov.f32 s24, s29 7002861e: 469b mov fp, r3 70028620: eef0 ca6e vmov.f32 s25, s29 70028624: 9306 str r3, [sp, #24] 70028626: eeb0 ba6e vmov.f32 s22, s29 7002862a: eef0 aa6e vmov.f32 s21, s29 7002862e: b93e cbnz r6, 70028640 70028630: f1b9 0f01 cmp.w r9, #1 70028634: bfd4 ite le 70028636: 2300 movle r3, #0 70028638: 2301 movgt r3, #1 7002863a: 2b00 cmp r3, #0 7002863c: f000 8134 beq.w 700288a8 70028640: eb05 0286 add.w r2, r5, r6, lsl #2 70028644: 1c73 adds r3, r6, #1 70028646: edd2 7a00 vldr s15, [r2] 7002864a: 429c cmp r4, r3 7002864c: f340 8139 ble.w 700288c2 70028650: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 70028654: eb05 0283 add.w r2, r5, r3, lsl #2 70028658: 4649 mov r1, r9 7002865a: e003 b.n 70028664 7002865c: 3301 adds r3, #1 7002865e: 429c cmp r4, r3 70028660: f000 80d6 beq.w 70028810 70028664: eeb0 7a67 vmov.f32 s14, s15 70028668: ecf2 7a01 vldmia r2!, {s15} 7002866c: eef4 7ac7 vcmpe.f32 s15, s14 70028670: eef1 fa10 vmrs APSR_nzcv, fpscr 70028674: f100 80c6 bmi.w 70028804 70028678: eef5 7ac0 vcmpe.f32 s15, #0.0 7002867c: eef1 fa10 vmrs APSR_nzcv, fpscr 70028680: dbec blt.n 7002865c 70028682: eef4 7ae6 vcmpe.f32 s15, s13 70028686: eef1 fa10 vmrs APSR_nzcv, fpscr 7002868a: d8e7 bhi.n 7002865c 7002868c: b979 cbnz r1, 700286ae 7002868e: eef5 7ac0 vcmpe.f32 s15, #0.0 70028692: 2101 movs r1, #1 70028694: eef1 fa10 vmrs APSR_nzcv, fpscr 70028698: dde0 ble.n 7002865c 7002869a: 461e mov r6, r3 7002869c: 2102 movs r1, #2 7002869e: 2700 movs r7, #0 700286a0: e009 b.n 700286b6 700286a2: f44f 2000 mov.w r0, #524288 @ 0x80000 700286a6: 2420 movs r4, #32 700286a8: f7ff f952 bl 70027950 700286ac: e6ec b.n 70028488 700286ae: 3101 adds r1, #1 700286b0: 2901 cmp r1, #1 700286b2: ddd3 ble.n 7002865c 700286b4: 2700 movs r7, #0 700286b6: 4549 cmp r1, r9 700286b8: f000 8106 beq.w 700288c8 700286bc: 429e cmp r6, r3 700286be: 469e mov lr, r3 700286c0: eb05 0c83 add.w ip, r5, r3, lsl #2 700286c4: f000 80bc beq.w 70028840 700286c8: 4689 mov r9, r1 700286ca: 4632 mov r2, r6 700286cc: eb05 0186 add.w r1, r5, r6, lsl #2 700286d0: 46b0 mov r8, r6 700286d2: 0118 lsls r0, r3, #4 700286d4: 461e mov r6, r3 700286d6: ed91 5a00 vldr s10, [r1] 700286da: eb0a 1302 add.w r3, sl, r2, lsl #4 700286de: eddc 5a00 vldr s11, [ip] 700286e2: 4450 add r0, sl 700286e4: ee65 6a0a vmul.f32 s13, s10, s20 700286e8: edd3 1a00 vldr s3, [r3] 700286ec: eef0 4a45 vmov.f32 s9, s10 700286f0: edd3 2a01 vldr s5, [r3, #4] 700286f4: ee25 7a8a vmul.f32 s14, s11, s20 700286f8: edd3 3a02 vldr s7, [r3, #8] 700286fc: ee76 6a8e vadd.f32 s13, s13, s28 70028700: ed93 6a03 vldr s12, [r3, #12] 70028704: eefe 4acd vcvt.s32.f32 s9, s9, #6 70028708: edd0 9a00 vldr s19, [r0] 7002870c: eefe 5acd vcvt.s32.f32 s11, s11, #6 70028710: ed90 9a01 vldr s18, [r0, #4] 70028714: eefd 7ae6 vcvt.s32.f32 s15, s13 70028718: edd0 8a02 vldr s17, [r0, #8] 7002871c: ee14 2a90 vmov r2, s9 70028720: ee37 7a0e vadd.f32 s14, s14, s28 70028724: ee15 3a90 vmov r3, s11 70028728: edd0 ea03 vldr s29, [r0, #12] 7002872c: eef8 7ae7 vcvt.f32.s32 s15, s15 70028730: edcd 4a04 vstr s9, [sp, #16] 70028734: 1a9a subs r2, r3, r2 70028736: ee76 7ae7 vsub.f32 s15, s13, s15 7002873a: eef4 7ace vcmpe.f32 s15, s28 7002873e: ee37 7a66 vsub.f32 s14, s14, s13 70028742: ee39 5a62 vsub.f32 s10, s18, s5 70028746: ee79 4ae1 vsub.f32 s9, s19, s3 7002874a: ee78 5ae3 vsub.f32 s11, s17, s7 7002874e: ee7e 6ac6 vsub.f32 s13, s29, s12 70028752: eef1 fa10 vmrs APSR_nzcv, fpscr 70028756: ee85 3a07 vdiv.f32 s6, s10, s14 7002875a: ee84 2a87 vdiv.f32 s4, s9, s14 7002875e: ee85 4a87 vdiv.f32 s8, s11, s14 70028762: ee86 5a87 vdiv.f32 s10, s13, s14 70028766: dd3e ble.n 700287e6 70028768: eeb7 7a08 vmov.f32 s14, #120 @ 0x3fc00000 1.5 7002876c: ee77 7a67 vsub.f32 s15, s14, s15 70028770: ee24 1a27 vmul.f32 s2, s8, s15 70028774: eddf 4a20 vldr s9, [pc, #128] @ 700287f8 70028778: ee22 fa27 vmul.f32 s30, s4, s15 7002877c: 9205 str r2, [sp, #20] 7002877e: ee63 fa27 vmul.f32 s31, s6, s15 70028782: ee65 7a27 vmul.f32 s15, s10, s15 70028786: ee3f fa21 vadd.f32 s30, s30, s3 7002878a: ee7f faa2 vadd.f32 s31, s31, s5 7002878e: ee37 8a86 vadd.f32 s16, s15, s12 70028792: ee71 da23 vadd.f32 s27, s2, s7 70028796: eef0 5a6a vmov.f32 s11, s21 7002879a: eef0 3a64 vmov.f32 s7, s9 7002879e: eef0 2a64 vmov.f32 s5, s9 700287a2: eef0 1a48 vmov.f32 s3, s16 700287a6: eeb0 1a6d vmov.f32 s2, s27 700287aa: eef0 0a6f vmov.f32 s1, s31 700287ae: eeb0 0a4f vmov.f32 s0, s30 700287b2: f7ef fd35 bl 70018220 700287b6: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 700287ba: 2100 movs r1, #0 700287bc: 9300 str r3, [sp, #0] 700287be: 2301 movs r3, #1 700287c0: e9dd 0204 ldrd r0, r2, [sp, #16] 700287c4: f7ef fd94 bl 700182f0 700287c8: f1bb 0f01 cmp.w fp, #1 700287cc: d107 bne.n 700287de 700287ce: eef0 ba48 vmov.f32 s23, s16 700287d2: eeb0 ca6d vmov.f32 s24, s27 700287d6: eef0 ca6f vmov.f32 s25, s31 700287da: eeb0 ba4f vmov.f32 s22, s30 700287de: 2f01 cmp r7, #1 700287e0: d072 beq.n 700288c8 700287e2: 46bb mov fp, r7 700287e4: e723 b.n 7002862e 700287e6: ee7e 7a67 vsub.f32 s15, s28, s15 700287ea: e7c1 b.n 70028770 700287ec: c77fff00 .word 0xc77fff00 700287f0: 437f0000 .word 0x437f0000 700287f4: 7003cfb4 .word 0x7003cfb4 700287f8: 00000000 .word 0x00000000 700287fc: 427c0000 .word 0x427c0000 70028800: 427e0000 .word 0x427e0000 70028804: 2200 movs r2, #0 70028806: 4633 mov r3, r6 70028808: 2701 movs r7, #1 7002880a: 4646 mov r6, r8 7002880c: 9206 str r2, [sp, #24] 7002880e: e752 b.n 700286b6 70028810: 9f06 ldr r7, [sp, #24] 70028812: 2f00 cmp r7, #0 70028814: d04b beq.n 700288ae 70028816: 2900 cmp r1, #0 70028818: dd0b ble.n 70028832 7002881a: eb05 0c86 add.w ip, r5, r6, lsl #2 7002881e: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 70028822: 46b6 mov lr, r6 70028824: ed9c 7a00 vldr s14, [ip] 70028828: eeb4 7ae7 vcmpe.f32 s14, s15 7002882c: eef1 fa10 vmrs APSR_nzcv, fpscr 70028830: d402 bmi.n 70028838 70028832: 4633 mov r3, r6 70028834: 4646 mov r6, r8 70028836: e73e b.n 700286b6 70028838: 3101 adds r1, #1 7002883a: 4549 cmp r1, r9 7002883c: d044 beq.n 700288c8 7002883e: 4673 mov r3, lr 70028840: eddc 7a00 vldr s15, [ip] 70028844: eb0a 120e add.w r2, sl, lr, lsl #4 70028848: 2902 cmp r1, #2 7002884a: ea4f 100e mov.w r0, lr, lsl #4 7002884e: eef0 6a67 vmov.f32 s13, s15 70028852: ed92 6a03 vldr s12, [r2, #12] 70028856: ee27 7a8a vmul.f32 s14, s15, s20 7002885a: edd2 3a02 vldr s7, [r2, #8] 7002885e: edd2 2a01 vldr s5, [r2, #4] 70028862: eefe 6acd vcvt.s32.f32 s13, s13, #6 70028866: edd2 1a00 vldr s3, [r2] 7002886a: ee37 7a0e vadd.f32 s14, s14, s28 7002886e: ee16 2a90 vmov r2, s13 70028872: d070 beq.n 70028956 70028874: dd1f ble.n 700288b6 70028876: eefd 7ac7 vcvt.s32.f32 s15, s14 7002887a: 9204 str r2, [sp, #16] 7002887c: eef0 6a47 vmov.f32 s13, s14 70028880: 461e mov r6, r3 70028882: eef0 ea46 vmov.f32 s29, s12 70028886: 4689 mov r9, r1 70028888: eef8 7ae7 vcvt.f32.s32 s15, s15 7002888c: f1c2 0240 rsb r2, r2, #64 @ 0x40 70028890: eef0 8a63 vmov.f32 s17, s7 70028894: 4698 mov r8, r3 70028896: eeb0 9a62 vmov.f32 s18, s5 7002889a: ee77 7a67 vsub.f32 s15, s14, s15 7002889e: ed1f 7a28 vldr s14, [pc, #-160] @ 70028800 700288a2: eef0 9a61 vmov.f32 s19, s3 700288a6: e748 b.n 7002873a 700288a8: eef0 7a4d vmov.f32 s15, s26 700288ac: e6cd b.n 7002864a 700288ae: 4633 mov r3, r6 700288b0: 2701 movs r7, #1 700288b2: 4646 mov r6, r8 700288b4: e6ff b.n 700286b6 700288b6: 4689 mov r9, r1 700288b8: 461e mov r6, r3 700288ba: 4672 mov r2, lr 700288bc: 4661 mov r1, ip 700288be: 4698 mov r8, r3 700288c0: e709 b.n 700286d6 700288c2: 9b06 ldr r3, [sp, #24] 700288c4: 2b00 cmp r3, #0 700288c6: d158 bne.n 7002897a 700288c8: 2000 movs r0, #0 700288ca: f7ef fab5 bl 70017e38 700288ce: eefc 7aeb vcvt.u32.f32 s15, s23 700288d2: edcd 7a04 vstr s15, [sp, #16] 700288d6: eefc 7acc vcvt.u32.f32 s15, s24 700288da: f89d 3010 ldrb.w r3, [sp, #16] 700288de: edcd 7a05 vstr s15, [sp, #20] 700288e2: eefc 7aec vcvt.u32.f32 s15, s25 700288e6: f89d 2014 ldrb.w r2, [sp, #20] 700288ea: edcd 7a06 vstr s15, [sp, #24] 700288ee: eefc 7acb vcvt.u32.f32 s15, s22 700288f2: f89d 1018 ldrb.w r1, [sp, #24] 700288f6: edcd 7a07 vstr s15, [sp, #28] 700288fa: f89d 001c ldrb.w r0, [sp, #28] 700288fe: f7ef fb8b bl 70018018 70028902: 2301 movs r3, #1 70028904: 2100 movs r1, #0 70028906: 9000 str r0, [sp, #0] 70028908: 461a mov r2, r3 7002890a: 4608 mov r0, r1 7002890c: f7ef fcf0 bl 700182f0 70028910: eefc 7aee vcvt.u32.f32 s15, s29 70028914: edcd 7a04 vstr s15, [sp, #16] 70028918: eefc 7ae8 vcvt.u32.f32 s15, s17 7002891c: f89d 3010 ldrb.w r3, [sp, #16] 70028920: edcd 7a05 vstr s15, [sp, #20] 70028924: eefc 7ac9 vcvt.u32.f32 s15, s18 70028928: f89d 2014 ldrb.w r2, [sp, #20] 7002892c: edcd 7a06 vstr s15, [sp, #24] 70028930: eefc 7ae9 vcvt.u32.f32 s15, s19 70028934: f89d 1018 ldrb.w r1, [sp, #24] 70028938: edcd 7a07 vstr s15, [sp, #28] 7002893c: f89d 001c ldrb.w r0, [sp, #28] 70028940: f7ef fb6a bl 70018018 70028944: 2301 movs r3, #1 70028946: 4602 mov r2, r0 70028948: 2100 movs r1, #0 7002894a: 203f movs r0, #63 @ 0x3f 7002894c: 9200 str r2, [sp, #0] 7002894e: 461a mov r2, r3 70028950: f7ef fcce bl 700182f0 70028954: e623 b.n 7002859e 70028956: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 7002895a: 461e mov r6, r3 7002895c: 4698 mov r8, r3 7002895e: 2300 movs r3, #0 70028960: eef0 ea46 vmov.f32 s29, s12 70028964: 4689 mov r9, r1 70028966: eef0 8a63 vmov.f32 s17, s7 7002896a: 9304 str r3, [sp, #16] 7002896c: eeb0 9a62 vmov.f32 s18, s5 70028970: eef0 9a61 vmov.f32 s19, s3 70028974: eef0 6a67 vmov.f32 s13, s15 70028978: e6df b.n 7002873a 7002897a: f1b9 0f00 cmp.w r9, #0 7002897e: dda3 ble.n 700288c8 70028980: eb05 0c86 add.w ip, r5, r6, lsl #2 70028984: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 70028988: 46b6 mov lr, r6 7002898a: 461f mov r7, r3 7002898c: ed9c 7a00 vldr s14, [ip] 70028990: eeb4 7ae7 vcmpe.f32 s14, s15 70028994: eef1 fa10 vmrs APSR_nzcv, fpscr 70028998: d403 bmi.n 700289a2 7002899a: 4633 mov r3, r6 7002899c: 4649 mov r1, r9 7002899e: 4646 mov r6, r8 700289a0: e689 b.n 700286b6 700289a2: f109 0101 add.w r1, r9, #1 700289a6: 4673 mov r3, lr 700289a8: e74a b.n 70028840 700289aa: bf00 nop 700289ac : 700289ac: 2800 cmp r0, #0 700289ae: d065 beq.n 70028a7c 700289b0: f002 030c and.w r3, r2, #12 700289b4: b510 push {r4, lr} 700289b6: ed2d 8b06 vpush {d8-d10} 700289ba: ee31 8ae0 vsub.f32 s16, s3, s1 700289be: 2b08 cmp r3, #8 700289c0: ee71 8a40 vsub.f32 s17, s2, s0 700289c4: 6301 str r1, [r0, #48] @ 0x30 700289c6: eeb0 9a40 vmov.f32 s18, s0 700289ca: bf18 it ne 700289cc: f002 020f andne.w r2, r2, #15 700289d0: ee68 7a08 vmul.f32 s15, s16, s16 700289d4: bf08 it eq 700289d6: f002 0201 andeq.w r2, r2, #1 700289da: ee28 0aa8 vmul.f32 s0, s17, s17 700289de: 4604 mov r4, r0 700289e0: f880 20cc strb.w r2, [r0, #204] @ 0xcc 700289e4: eef0 9a60 vmov.f32 s19, s1 700289e8: ee30 0a27 vadd.f32 s0, s0, s15 700289ec: f7f0 f85c bl 70018aa8 700289f0: eeb5 0a40 vcmp.f32 s0, #0.0 700289f4: 2300 movs r3, #0 700289f6: eef1 fa10 vmrs APSR_nzcv, fpscr 700289fa: d10e bne.n 70028a1a 700289fc: f04f 527e mov.w r2, #1065353216 @ 0x3f800000 70028a00: 4920 ldr r1, [pc, #128] @ (70028a84 ) 70028a02: 6363 str r3, [r4, #52] @ 0x34 70028a04: 63a3 str r3, [r4, #56] @ 0x38 70028a06: 63e1 str r1, [r4, #60] @ 0x3c 70028a08: 6423 str r3, [r4, #64] @ 0x40 70028a0a: 6463 str r3, [r4, #68] @ 0x44 70028a0c: 64a3 str r3, [r4, #72] @ 0x48 70028a0e: 64e3 str r3, [r4, #76] @ 0x4c 70028a10: 6523 str r3, [r4, #80] @ 0x50 70028a12: 6562 str r2, [r4, #84] @ 0x54 70028a14: ecbd 8b06 vpop {d8-d10} 70028a18: bd10 pop {r4, pc} 70028a1a: ee88 aa80 vdiv.f32 s20, s17, s0 70028a1e: eddf 7a1a vldr s15, [pc, #104] @ 70028a88 70028a22: f104 0034 add.w r0, r4, #52 @ 0x34 70028a26: eec8 8a00 vdiv.f32 s17, s16, s0 70028a2a: ee87 8a80 vdiv.f32 s16, s15, s0 70028a2e: f7f0 f8a5 bl 70018b7c 70028a32: ee69 7a4a vnmul.f32 s15, s18, s20 70028a36: ee29 7aa8 vmul.f32 s14, s19, s17 70028a3a: ee29 9a28 vmul.f32 s18, s18, s17 70028a3e: ee69 9a8a vmul.f32 s19, s19, s20 70028a42: ee77 7ac7 vsub.f32 s15, s15, s14 70028a46: ee68 8a28 vmul.f32 s17, s16, s17 70028a4a: ee39 9a69 vsub.f32 s18, s18, s19 70028a4e: ee28 aa0a vmul.f32 s20, s16, s20 70028a52: eeb1 7a68 vneg.f32 s14, s17 70028a56: edc4 8a0e vstr s17, [r4, #56] @ 0x38 70028a5a: ee67 7a88 vmul.f32 s15, s15, s16 70028a5e: ee29 9a08 vmul.f32 s18, s18, s16 70028a62: ed84 aa0d vstr s20, [r4, #52] @ 0x34 70028a66: ed84 aa11 vstr s20, [r4, #68] @ 0x44 70028a6a: ed84 7a10 vstr s14, [r4, #64] @ 0x40 70028a6e: edc4 7a0f vstr s15, [r4, #60] @ 0x3c 70028a72: ed84 9a12 vstr s18, [r4, #72] @ 0x48 70028a76: ecbd 8b06 vpop {d8-d10} 70028a7a: bd10 pop {r4, pc} 70028a7c: 2001 movs r0, #1 70028a7e: f7fe bf67 b.w 70027950 70028a82: bf00 nop 70028a84: 427e0000 .word 0x427e0000 70028a88: 42800000 .word 0x42800000 70028a8c : 70028a8c: 2800 cmp r0, #0 70028a8e: d03e beq.n 70028b0e 70028a90: eeb5 1ac0 vcmpe.f32 s2, #0.0 70028a94: 6301 str r1, [r0, #48] @ 0x30 70028a96: f880 20cc strb.w r2, [r0, #204] @ 0xcc 70028a9a: eef1 fa10 vmrs APSR_nzcv, fpscr 70028a9e: d421 bmi.n 70028ae4 70028aa0: eddf 7a1c vldr s15, [pc, #112] @ 70028b14 70028aa4: eeb4 1ae7 vcmpe.f32 s2, s15 70028aa8: eef1 fa10 vmrs APSR_nzcv, fpscr 70028aac: d921 bls.n 70028af2 70028aae: ed9f 7a1a vldr s14, [pc, #104] @ 70028b18 70028ab2: 2300 movs r3, #0 70028ab4: f04f 527e mov.w r2, #1065353216 @ 0x3f800000 70028ab8: eec7 7a01 vdiv.f32 s15, s14, s2 70028abc: 6383 str r3, [r0, #56] @ 0x38 70028abe: 6403 str r3, [r0, #64] @ 0x40 70028ac0: 64c3 str r3, [r0, #76] @ 0x4c 70028ac2: 6503 str r3, [r0, #80] @ 0x50 70028ac4: 6542 str r2, [r0, #84] @ 0x54 70028ac6: eeb1 7a67 vneg.f32 s14, s15 70028aca: ee20 0a27 vmul.f32 s0, s0, s15 70028ace: ee60 0aa7 vmul.f32 s1, s1, s15 70028ad2: ed80 7a0d vstr s14, [r0, #52] @ 0x34 70028ad6: ed80 0a0f vstr s0, [r0, #60] @ 0x3c 70028ada: ed80 7a11 vstr s14, [r0, #68] @ 0x44 70028ade: edc0 0a12 vstr s1, [r0, #72] @ 0x48 70028ae2: 4770 bx lr 70028ae4: eddf 7a0d vldr s15, [pc, #52] @ 70028b1c 70028ae8: eeb4 1ae7 vcmpe.f32 s2, s15 70028aec: eef1 fa10 vmrs APSR_nzcv, fpscr 70028af0: dbdd blt.n 70028aae 70028af2: 2300 movs r3, #0 70028af4: f04f 527e mov.w r2, #1065353216 @ 0x3f800000 70028af8: 4909 ldr r1, [pc, #36] @ (70028b20 ) 70028afa: 6343 str r3, [r0, #52] @ 0x34 70028afc: 6383 str r3, [r0, #56] @ 0x38 70028afe: 63c1 str r1, [r0, #60] @ 0x3c 70028b00: 6403 str r3, [r0, #64] @ 0x40 70028b02: 6443 str r3, [r0, #68] @ 0x44 70028b04: 6483 str r3, [r0, #72] @ 0x48 70028b06: 64c3 str r3, [r0, #76] @ 0x4c 70028b08: 6503 str r3, [r0, #80] @ 0x50 70028b0a: 6542 str r2, [r0, #84] @ 0x54 70028b0c: 4770 bx lr 70028b0e: 2001 movs r0, #1 70028b10: f7fe bf1e b.w 70027950 70028b14: 3727c5ac .word 0x3727c5ac 70028b18: 42800000 .word 0x42800000 70028b1c: b727c5ac .word 0xb727c5ac 70028b20: 427e0000 .word 0x427e0000 70028b24 : 70028b24: b110 cbz r0, 70028b2c 70028b26: f8c0 10d8 str.w r1, [r0, #216] @ 0xd8 70028b2a: 4770 bx lr 70028b2c: 2001 movs r0, #1 70028b2e: f7fe bf0f b.w 70027950 70028b32: bf00 nop 70028b34 : 70028b34: b110 cbz r0, 70028b3c 70028b36: ed80 0a34 vstr s0, [r0, #208] @ 0xd0 70028b3a: 4770 bx lr 70028b3c: 2001 movs r0, #1 70028b3e: f7fe bf07 b.w 70027950 70028b42: bf00 nop 70028b44 : 70028b44: b570 push {r4, r5, r6, lr} 70028b46: f890 30d5 ldrb.w r3, [r0, #213] @ 0xd5 70028b4a: b084 sub sp, #16 70028b4c: 4604 mov r4, r0 70028b4e: 3b01 subs r3, #1 70028b50: 2b03 cmp r3, #3 70028b52: d811 bhi.n 70028b78 70028b54: e8df f003 tbb [pc, r3] 70028b58: 02131e02 .word 0x02131e02 70028b5c: f890 20cc ldrb.w r2, [r0, #204] @ 0xcc 70028b60: 2301 movs r3, #1 70028b62: 6b01 ldr r1, [r0, #48] @ 0x30 70028b64: 2000 movs r0, #0 70028b66: 431a orrs r2, r3 70028b68: 68c9 ldr r1, [r1, #12] 70028b6a: 9300 str r3, [sp, #0] 70028b6c: e9cd 0201 strd r0, r2, [sp, #4] 70028b70: 4618 mov r0, r3 70028b72: 2240 movs r2, #64 @ 0x40 70028b74: f7ef f9e8 bl 70017f48 70028b78: 2000 movs r0, #0 70028b7a: b004 add sp, #16 70028b7c: bd70 pop {r4, r5, r6, pc} 70028b7e: f7f0 fb31 bl 700191e4 70028b82: f410 7580 ands.w r5, r0, #256 @ 0x100 70028b86: d11d bne.n 70028bc4 70028b88: 2020 movs r0, #32 70028b8a: f7fe fee1 bl 70027950 70028b8e: f884 50d5 strb.w r5, [r4, #213] @ 0xd5 70028b92: e7f1 b.n 70028b78 70028b94: 6805 ldr r5, [r0, #0] 70028b96: 2d00 cmp r5, #0 70028b98: d031 beq.n 70028bfe 70028b9a: f890 302c ldrb.w r3, [r0, #44] @ 0x2c 70028b9e: b30b cbz r3, 70028be4 70028ba0: 6844 ldr r4, [r0, #4] 70028ba2: 2c00 cmp r4, #0 70028ba4: d02b beq.n 70028bfe 70028ba6: 7f26 ldrb r6, [r4, #28] 70028ba8: 7f2b ldrb r3, [r5, #28] 70028baa: 8a6a ldrh r2, [r5, #18] 70028bac: 8a29 ldrh r1, [r5, #16] 70028bae: 68e8 ldr r0, [r5, #12] 70028bb0: 9603 str r6, [sp, #12] 70028bb2: 68e4 ldr r4, [r4, #12] 70028bb4: 9402 str r4, [sp, #8] 70028bb6: 7f6c ldrb r4, [r5, #29] 70028bb8: 9401 str r4, [sp, #4] 70028bba: 696c ldr r4, [r5, #20] 70028bbc: 9400 str r4, [sp, #0] 70028bbe: f7ef fabd bl 7001813c 70028bc2: e7d9 b.n 70028b78 70028bc4: f894 00cc ldrb.w r0, [r4, #204] @ 0xcc 70028bc8: 2201 movs r2, #1 70028bca: 6b23 ldr r3, [r4, #48] @ 0x30 70028bcc: 2404 movs r4, #4 70028bce: f040 0081 orr.w r0, r0, #129 @ 0x81 70028bd2: 68d9 ldr r1, [r3, #12] 70028bd4: 2340 movs r3, #64 @ 0x40 70028bd6: 9200 str r2, [sp, #0] 70028bd8: e9cd 4001 strd r4, r0, [sp, #4] 70028bdc: 4610 mov r0, r2 70028bde: f7ef f9b3 bl 70017f48 70028be2: e7c9 b.n 70028b78 70028be4: 7f68 ldrb r0, [r5, #29] 70028be6: 8a6b ldrh r3, [r5, #18] 70028be8: 8a2a ldrh r2, [r5, #16] 70028bea: 68e9 ldr r1, [r5, #12] 70028bec: 9002 str r0, [sp, #8] 70028bee: 6968 ldr r0, [r5, #20] 70028bf0: 9001 str r0, [sp, #4] 70028bf2: 2001 movs r0, #1 70028bf4: 7f2c ldrb r4, [r5, #28] 70028bf6: 9400 str r4, [sp, #0] 70028bf8: f7ef f9a6 bl 70017f48 70028bfc: e7bc b.n 70028b78 70028bfe: 2002 movs r0, #2 70028c00: e7bb b.n 70028b7a 70028c02: bf00 nop 70028c04 : 70028c04: 4601 mov r1, r0 70028c06: b510 push {r4, lr} 70028c08: f891 30d5 ldrb.w r3, [r1, #213] @ 0xd5 70028c0c: f890 00d4 ldrb.w r0, [r0, #212] @ 0xd4 70028c10: 2b02 cmp r3, #2 70028c12: f000 0001 and.w r0, r0, #1 70028c16: d015 beq.n 70028c44 70028c18: f003 03fd and.w r3, r3, #253 @ 0xfd 70028c1c: 2b01 cmp r3, #1 70028c1e: d002 beq.n 70028c26 70028c20: 2400 movs r4, #0 70028c22: 4620 mov r0, r4 70028c24: bd10 pop {r4, pc} 70028c26: 3134 adds r1, #52 @ 0x34 70028c28: f7ff fb7c bl 70028324 70028c2c: 4604 mov r4, r0 70028c2e: 2800 cmp r0, #0 70028c30: d0f7 beq.n 70028c22 70028c32: 4b08 ldr r3, [pc, #32] @ (70028c54 ) 70028c34: 2200 movs r2, #0 70028c36: 681b ldr r3, [r3, #0] 70028c38: e9c3 2245 strd r2, r2, [r3, #276] @ 0x114 70028c3c: f7fe fe88 bl 70027950 70028c40: 4620 mov r0, r4 70028c42: bd10 pop {r4, pc} 70028c44: 3108 adds r1, #8 70028c46: f7ff fb6d bl 70028324 70028c4a: 4604 mov r4, r0 70028c4c: 2800 cmp r0, #0 70028c4e: d1f0 bne.n 70028c32 70028c50: 4620 mov r0, r4 70028c52: bd10 pop {r4, pc} 70028c54: 2400dc78 .word 0x2400dc78 70028c58 : 70028c58: 2300 movs r3, #0 70028c5a: 490b ldr r1, [pc, #44] @ (70028c88 ) 70028c5c: 4a0b ldr r2, [pc, #44] @ (70028c8c ) 70028c5e: 6101 str r1, [r0, #16] 70028c60: 6141 str r1, [r0, #20] 70028c62: 6182 str r2, [r0, #24] 70028c64: 61c2 str r2, [r0, #28] 70028c66: 6503 str r3, [r0, #80] @ 0x50 70028c68: 6543 str r3, [r0, #84] @ 0x54 70028c6a: 6243 str r3, [r0, #36] @ 0x24 70028c6c: 6203 str r3, [r0, #32] 70028c6e: 62c3 str r3, [r0, #44] @ 0x2c 70028c70: 6283 str r3, [r0, #40] @ 0x28 70028c72: 6343 str r3, [r0, #52] @ 0x34 70028c74: 6303 str r3, [r0, #48] @ 0x30 70028c76: 63c3 str r3, [r0, #60] @ 0x3c 70028c78: 6383 str r3, [r0, #56] @ 0x38 70028c7a: 6583 str r3, [r0, #88] @ 0x58 70028c7c: 65c3 str r3, [r0, #92] @ 0x5c 70028c7e: 6401 str r1, [r0, #64] @ 0x40 70028c80: 6441 str r1, [r0, #68] @ 0x44 70028c82: 6482 str r2, [r0, #72] @ 0x48 70028c84: 64c2 str r2, [r0, #76] @ 0x4c 70028c86: 4770 bx lr 70028c88: 477fff00 .word 0x477fff00 70028c8c: c77fff00 .word 0xc77fff00 70028c90 : 70028c90: b318 cbz r0, 70028cda 70028c92: b510 push {r4, lr} 70028c94: 4604 mov r4, r0 70028c96: 3060 adds r0, #96 @ 0x60 70028c98: f7ef ff70 bl 70018b7c 70028c9c: 2300 movs r3, #0 70028c9e: 4810 ldr r0, [pc, #64] @ (70028ce0 ) 70028ca0: 2200 movs r2, #0 70028ca2: 4910 ldr r1, [pc, #64] @ (70028ce4 ) 70028ca4: 6523 str r3, [r4, #80] @ 0x50 70028ca6: f8c4 2084 str.w r2, [r4, #132] @ 0x84 70028caa: 6120 str r0, [r4, #16] 70028cac: 6160 str r0, [r4, #20] 70028cae: 61a1 str r1, [r4, #24] 70028cb0: 61e1 str r1, [r4, #28] 70028cb2: 6563 str r3, [r4, #84] @ 0x54 70028cb4: 6263 str r3, [r4, #36] @ 0x24 70028cb6: 6223 str r3, [r4, #32] 70028cb8: 62e3 str r3, [r4, #44] @ 0x2c 70028cba: 62a3 str r3, [r4, #40] @ 0x28 70028cbc: 6363 str r3, [r4, #52] @ 0x34 70028cbe: 6323 str r3, [r4, #48] @ 0x30 70028cc0: 63e3 str r3, [r4, #60] @ 0x3c 70028cc2: 63a3 str r3, [r4, #56] @ 0x38 70028cc4: 65a3 str r3, [r4, #88] @ 0x58 70028cc6: 65e3 str r3, [r4, #92] @ 0x5c 70028cc8: 6420 str r0, [r4, #64] @ 0x40 70028cca: 6460 str r0, [r4, #68] @ 0x44 70028ccc: 64a1 str r1, [r4, #72] @ 0x48 70028cce: 64e1 str r1, [r4, #76] @ 0x4c 70028cd0: e9c4 2202 strd r2, r2, [r4, #8] 70028cd4: e9c4 2200 strd r2, r2, [r4] 70028cd8: bd10 pop {r4, pc} 70028cda: 2001 movs r0, #1 70028cdc: f7fe be38 b.w 70027950 70028ce0: 477fff00 .word 0x477fff00 70028ce4: c77fff00 .word 0xc77fff00 70028ce8 : 70028ce8: b538 push {r3, r4, r5, lr} 70028cea: 2088 movs r0, #136 @ 0x88 70028cec: 2500 movs r5, #0 70028cee: f7da fce7 bl 700036c0 70028cf2: 4604 mov r4, r0 70028cf4: 3060 adds r0, #96 @ 0x60 70028cf6: f8c4 5084 str.w r5, [r4, #132] @ 0x84 70028cfa: f7ef ff3f bl 70018b7c 70028cfe: 2300 movs r3, #0 70028d00: 490e ldr r1, [pc, #56] @ (70028d3c ) 70028d02: 4620 mov r0, r4 70028d04: 4a0e ldr r2, [pc, #56] @ (70028d40 ) 70028d06: f8c4 5084 str.w r5, [r4, #132] @ 0x84 70028d0a: 6121 str r1, [r4, #16] 70028d0c: 6161 str r1, [r4, #20] 70028d0e: 61a2 str r2, [r4, #24] 70028d10: 61e2 str r2, [r4, #28] 70028d12: 6523 str r3, [r4, #80] @ 0x50 70028d14: 6563 str r3, [r4, #84] @ 0x54 70028d16: 6263 str r3, [r4, #36] @ 0x24 70028d18: 6223 str r3, [r4, #32] 70028d1a: 62e3 str r3, [r4, #44] @ 0x2c 70028d1c: 62a3 str r3, [r4, #40] @ 0x28 70028d1e: 6363 str r3, [r4, #52] @ 0x34 70028d20: 6323 str r3, [r4, #48] @ 0x30 70028d22: 63e3 str r3, [r4, #60] @ 0x3c 70028d24: 63a3 str r3, [r4, #56] @ 0x38 70028d26: 65a3 str r3, [r4, #88] @ 0x58 70028d28: 65e3 str r3, [r4, #92] @ 0x5c 70028d2a: 6421 str r1, [r4, #64] @ 0x40 70028d2c: 6461 str r1, [r4, #68] @ 0x44 70028d2e: 64a2 str r2, [r4, #72] @ 0x48 70028d30: 64e2 str r2, [r4, #76] @ 0x4c 70028d32: e9c4 5502 strd r5, r5, [r4, #8] 70028d36: e9c4 5500 strd r5, r5, [r4] 70028d3a: bd38 pop {r3, r4, r5, pc} 70028d3c: 477fff00 .word 0x477fff00 70028d40: c77fff00 .word 0xc77fff00 70028d44 : 70028d44: b430 push {r4, r5} 70028d46: e9dd 5402 ldrd r5, r4, [sp, #8] 70028d4a: 2800 cmp r0, #0 70028d4c: d077 beq.n 70028e3e 70028d4e: 2c00 cmp r4, #0 70028d50: bf18 it ne 70028d52: 2d00 cmpne r5, #0 70028d54: d06b beq.n 70028e2e 70028d56: 2a00 cmp r2, #0 70028d58: d069 beq.n 70028e2e 70028d5a: 2900 cmp r1, #0 70028d5c: d06b beq.n 70028e36 70028d5e: 2b00 cmp r3, #0 70028d60: d069 beq.n 70028e36 70028d62: e9c0 1300 strd r1, r3, [r0] 70028d66: e9c0 2502 strd r2, r5, [r0, #8] 70028d6a: edd4 7a00 vldr s15, [r4] 70028d6e: eefd 6ae7 vcvt.s32.f32 s13, s15 70028d72: eeb8 7ae6 vcvt.f32.s32 s14, s13 70028d76: ee16 2a90 vmov r2, s13 70028d7a: eef4 7ac7 vcmpe.f32 s15, s14 70028d7e: eef1 fa10 vmrs APSR_nzcv, fpscr 70028d82: bf4c ite mi 70028d84: 2301 movmi r3, #1 70028d86: 2300 movpl r3, #0 70028d88: 1ad3 subs r3, r2, r3 70028d8a: ee06 3a90 vmov s13, r3 70028d8e: eef8 6ae6 vcvt.f32.s32 s13, s13 70028d92: edc0 6a04 vstr s13, [r0, #16] 70028d96: ed94 7a01 vldr s14, [r4, #4] 70028d9a: eefd 7ac7 vcvt.s32.f32 s15, s14 70028d9e: eeb8 6ae7 vcvt.f32.s32 s12, s15 70028da2: ee17 2a90 vmov r2, s15 70028da6: eeb4 7ac6 vcmpe.f32 s14, s12 70028daa: eef1 fa10 vmrs APSR_nzcv, fpscr 70028dae: bf4c ite mi 70028db0: 2301 movmi r3, #1 70028db2: 2300 movpl r3, #0 70028db4: 1ad3 subs r3, r2, r3 70028db6: ee07 3a90 vmov s15, r3 70028dba: eef8 7ae7 vcvt.f32.s32 s15, s15 70028dbe: edc0 7a05 vstr s15, [r0, #20] 70028dc2: ed94 6a02 vldr s12, [r4, #8] 70028dc6: eebd 7ac6 vcvt.s32.f32 s14, s12 70028dca: eef8 5ac7 vcvt.f32.s32 s11, s14 70028dce: ee17 2a10 vmov r2, s14 70028dd2: eeb4 6ae5 vcmpe.f32 s12, s11 70028dd6: eef1 fa10 vmrs APSR_nzcv, fpscr 70028dda: bfcc ite gt 70028ddc: 2301 movgt r3, #1 70028dde: 2300 movle r3, #0 70028de0: 4413 add r3, r2 70028de2: ee07 3a10 vmov s14, r3 70028de6: eeb8 7ac7 vcvt.f32.s32 s14, s14 70028dea: ed80 7a06 vstr s14, [r0, #24] 70028dee: ee37 7a66 vsub.f32 s14, s14, s13 70028df2: ed94 6a03 vldr s12, [r4, #12] 70028df6: eefd 6ac6 vcvt.s32.f32 s13, s12 70028dfa: ed80 7a14 vstr s14, [r0, #80] @ 0x50 70028dfe: eeb8 7ae6 vcvt.f32.s32 s14, s13 70028e02: ee16 2a90 vmov r2, s13 70028e06: eeb4 6ac7 vcmpe.f32 s12, s14 70028e0a: eef1 fa10 vmrs APSR_nzcv, fpscr 70028e0e: bfcc ite gt 70028e10: 2301 movgt r3, #1 70028e12: 2300 movle r3, #0 70028e14: 4413 add r3, r2 70028e16: ee07 3a10 vmov s14, r3 70028e1a: eeb8 7ac7 vcvt.f32.s32 s14, s14 70028e1e: ee77 7a67 vsub.f32 s15, s14, s15 70028e22: ed80 7a07 vstr s14, [r0, #28] 70028e26: edc0 7a15 vstr s15, [r0, #84] @ 0x54 70028e2a: bc30 pop {r4, r5} 70028e2c: 4770 bx lr 70028e2e: 2002 movs r0, #2 70028e30: bc30 pop {r4, r5} 70028e32: f7fe bd8d b.w 70027950 70028e36: 2080 movs r0, #128 @ 0x80 70028e38: bc30 pop {r4, r5} 70028e3a: f7fe bd89 b.w 70027950 70028e3e: 2001 movs r0, #1 70028e40: bc30 pop {r4, r5} 70028e42: f7fe bd85 b.w 70027950 70028e46: bf00 nop 70028e48 : 70028e48: b410 push {r4} 70028e4a: 9c01 ldr r4, [sp, #4] 70028e4c: b138 cbz r0, 70028e5e 70028e4e: e9c0 2402 strd r2, r4, [r0, #8] 70028e52: e9c0 1300 strd r1, r3, [r0] 70028e56: f85d 4b04 ldr.w r4, [sp], #4 70028e5a: f001 ba39 b.w 7002a2d0 70028e5e: 2001 movs r0, #1 70028e60: f85d 4b04 ldr.w r4, [sp], #4 70028e64: f7fe bd74 b.w 70027950 70028e68 : 70028e68: 4603 mov r3, r0 70028e6a: 2800 cmp r0, #0 70028e6c: d060 beq.n 70028f30 70028e6e: f8d0 2084 ldr.w r2, [r0, #132] @ 0x84 70028e72: 2900 cmp r1, #0 70028e74: d05f beq.n 70028f36 70028e76: ed91 7a00 vldr s14, [r1] 70028e7a: eef7 3a00 vmov.f32 s7, #112 @ 0x3f800000 1.0 70028e7e: ed80 7a18 vstr s14, [r0, #96] @ 0x60 70028e82: ed91 4a01 vldr s8, [r1, #4] 70028e86: eeb4 7a63 vcmp.f32 s14, s7 70028e8a: ed80 4a19 vstr s8, [r0, #100] @ 0x64 70028e8e: ed91 6a02 vldr s12, [r1, #8] 70028e92: eef1 fa10 vmrs APSR_nzcv, fpscr 70028e96: ed80 6a1a vstr s12, [r0, #104] @ 0x68 70028e9a: edd1 5a03 vldr s11, [r1, #12] 70028e9e: edc0 5a1b vstr s11, [r0, #108] @ 0x6c 70028ea2: ed91 3a04 vldr s6, [r1, #16] 70028ea6: ed80 3a1c vstr s6, [r0, #112] @ 0x70 70028eaa: ed91 5a05 vldr s10, [r1, #20] 70028eae: ed80 5a1d vstr s10, [r0, #116] @ 0x74 70028eb2: edd1 4a06 vldr s9, [r1, #24] 70028eb6: edc0 4a1e vstr s9, [r0, #120] @ 0x78 70028eba: edd1 7a07 vldr s15, [r1, #28] 70028ebe: edc0 7a1f vstr s15, [r0, #124] @ 0x7c 70028ec2: edd1 6a08 vldr s13, [r1, #32] 70028ec6: edc0 6a20 vstr s13, [r0, #128] @ 0x80 70028eca: d12c bne.n 70028f26 70028ecc: eeb5 4a40 vcmp.f32 s8, #0.0 70028ed0: eef1 fa10 vmrs APSR_nzcv, fpscr 70028ed4: d127 bne.n 70028f26 70028ed6: eeb5 6a40 vcmp.f32 s12, #0.0 70028eda: eef1 fa10 vmrs APSR_nzcv, fpscr 70028ede: d122 bne.n 70028f26 70028ee0: eef5 5a40 vcmp.f32 s11, #0.0 70028ee4: eef1 fa10 vmrs APSR_nzcv, fpscr 70028ee8: d11d bne.n 70028f26 70028eea: eeb4 3a63 vcmp.f32 s6, s7 70028eee: eef1 fa10 vmrs APSR_nzcv, fpscr 70028ef2: d118 bne.n 70028f26 70028ef4: eeb5 5a40 vcmp.f32 s10, #0.0 70028ef8: eef1 fa10 vmrs APSR_nzcv, fpscr 70028efc: d113 bne.n 70028f26 70028efe: eef5 4a40 vcmp.f32 s9, #0.0 70028f02: eef1 fa10 vmrs APSR_nzcv, fpscr 70028f06: d10e bne.n 70028f26 70028f08: eef5 7a40 vcmp.f32 s15, #0.0 70028f0c: eef1 fa10 vmrs APSR_nzcv, fpscr 70028f10: d109 bne.n 70028f26 70028f12: eef4 6a63 vcmp.f32 s13, s7 70028f16: eef1 fa10 vmrs APSR_nzcv, fpscr 70028f1a: d104 bne.n 70028f26 70028f1c: f022 0201 bic.w r2, r2, #1 70028f20: f8c0 2084 str.w r2, [r0, #132] @ 0x84 70028f24: 4770 bx lr 70028f26: f042 0201 orr.w r2, r2, #1 70028f2a: f8c3 2084 str.w r2, [r3, #132] @ 0x84 70028f2e: 4770 bx lr 70028f30: 2001 movs r0, #1 70028f32: f7fe bd0d b.w 70027950 70028f36: f022 0201 bic.w r2, r2, #1 70028f3a: 2001 movs r0, #1 70028f3c: f8c3 2084 str.w r2, [r3, #132] @ 0x84 70028f40: f7fe bd06 b.w 70027950 70028f44 : 70028f44: 4b02 ldr r3, [pc, #8] @ (70028f50 ) 70028f46: 681b ldr r3, [r3, #0] 70028f48: e9c3 0117 strd r0, r1, [r3, #92] @ 0x5c 70028f4c: 4770 bx lr 70028f4e: bf00 nop 70028f50: 2400dc78 .word 0x2400dc78 70028f54 : 70028f54: b570 push {r4, r5, r6, lr} 70028f56: 4c0b ldr r4, [pc, #44] @ (70028f84 ) 70028f58: 6825 ldr r5, [r4, #0] 70028f5a: f7ff fa23 bl 700283a4 70028f5e: 6826 ldr r6, [r4, #0] 70028f60: 6668 str r0, [r5, #100] @ 0x64 70028f62: f7ff fec1 bl 70028ce8 70028f66: 66b0 str r0, [r6, #104] @ 0x68 70028f68: 6825 ldr r5, [r4, #0] 70028f6a: f7ff fa61 bl 70028430 70028f6e: 6823 ldr r3, [r4, #0] 70028f70: f44f 7248 mov.w r2, #800 @ 0x320 70028f74: 66e8 str r0, [r5, #108] @ 0x6c 70028f76: f44f 7116 mov.w r1, #600 @ 0x258 70028f7a: 65da str r2, [r3, #92] @ 0x5c 70028f7c: 2200 movs r2, #0 70028f7e: 6619 str r1, [r3, #96] @ 0x60 70028f80: 671a str r2, [r3, #112] @ 0x70 70028f82: bd70 pop {r4, r5, r6, pc} 70028f84: 2400dc78 .word 0x2400dc78 70028f88 : 70028f88: 2807 cmp r0, #7 70028f8a: d839 bhi.n 70029000 70028f8c: b4f0 push {r4, r5, r6, r7} 70028f8e: 9c05 ldr r4, [sp, #20] 70028f90: 2c10 cmp r4, #16 70028f92: bfb8 it lt 70028f94: 2410 movlt r4, #16 70028f96: 07a5 lsls r5, r4, #30 70028f98: d002 beq.n 70028fa0 70028f9a: f024 0403 bic.w r4, r4, #3 70028f9e: 3404 adds r4, #4 70028fa0: 460e mov r6, r1 70028fa2: fbb1 f5f4 udiv r5, r1, r4 70028fa6: fb04 1715 mls r7, r4, r5, r1 70028faa: b997 cbnz r7, 70028fd2 70028fac: eb00 0040 add.w r0, r0, r0, lsl #1 70028fb0: 4d15 ldr r5, [pc, #84] @ (70029008 ) 70028fb2: f845 2030 str.w r2, [r5, r0, lsl #3] 70028fb6: eb05 02c0 add.w r2, r5, r0, lsl #3 70028fba: 6056 str r6, [r2, #4] 70028fbc: 441e add r6, r3 70028fbe: 60d1 str r1, [r2, #12] 70028fc0: 6096 str r6, [r2, #8] 70028fc2: e9c2 3404 strd r3, r4, [r2, #16] 70028fc6: b109 cbz r1, 70028fcc 70028fc8: 9a04 ldr r2, [sp, #16] 70028fca: b92a cbnz r2, 70028fd8 70028fcc: 2000 movs r0, #0 70028fce: bcf0 pop {r4, r5, r6, r7} 70028fd0: 4770 bx lr 70028fd2: fb05 4104 mla r1, r5, r4, r4 70028fd6: e7e9 b.n 70028fac 70028fd8: f104 020b add.w r2, r4, #11 70028fdc: 2000 movs r0, #0 70028fde: fbb2 f2f4 udiv r2, r2, r4 70028fe2: fb04 f202 mul.w r2, r4, r2 70028fe6: 4c09 ldr r4, [pc, #36] @ (7002900c ) 70028fe8: 6008 str r0, [r1, #0] 70028fea: eba3 0342 sub.w r3, r3, r2, lsl #1 70028fee: 608a str r2, [r1, #8] 70028ff0: 604c str r4, [r1, #4] 70028ff2: 508b str r3, [r1, r2] 70028ff4: 4411 add r1, r2 70028ff6: e9c1 4001 strd r4, r0, [r1, #4] 70028ffa: 2000 movs r0, #0 70028ffc: bcf0 pop {r4, r5, r6, r7} 70028ffe: 4770 bx lr 70029000: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 70029004: 4770 bx lr 70029006: bf00 nop 70029008: 2400e018 .word 0x2400e018 7002900c: 000f1fa1 .word 0x000f1fa1 70029010 : 70029010: 2807 cmp r0, #7 70029012: d84e bhi.n 700290b2 70029014: eb00 0040 add.w r0, r0, r0, lsl #1 70029018: 4b27 ldr r3, [pc, #156] @ (700290b8 ) 7002901a: eb03 03c0 add.w r3, r3, r0, lsl #3 7002901e: 68d8 ldr r0, [r3, #12] 70029020: 2800 cmp r0, #0 70029022: d048 beq.n 700290b6 70029024: b5f0 push {r4, r5, r6, r7, lr} 70029026: 695d ldr r5, [r3, #20] 70029028: 6803 ldr r3, [r0, #0] 7002902a: f105 0e0b add.w lr, r5, #11 7002902e: 1e6c subs r4, r5, #1 70029030: fb9e fef5 sdiv lr, lr, r5 70029034: fb05 fe0e mul.w lr, r5, lr 70029038: 4571 cmp r1, lr 7002903a: bfac ite ge 7002903c: 1864 addge r4, r4, r1 7002903e: 4474 addlt r4, lr 70029040: fb94 f4f5 sdiv r4, r4, r5 70029044: fb05 f404 mul.w r4, r5, r4 70029048: 42a3 cmp r3, r4 7002904a: da0c bge.n 70029066 7002904c: 4601 mov r1, r0 7002904e: e004 b.n 7002905a 70029050: 58c3 ldr r3, [r0, r3] 70029052: 4694 mov ip, r2 70029054: 42a3 cmp r3, r4 70029056: da09 bge.n 7002906c 70029058: 4611 mov r1, r2 7002905a: 688b ldr r3, [r1, #8] 7002905c: 181a adds r2, r3, r0 7002905e: 2b00 cmp r3, #0 70029060: d1f6 bne.n 70029050 70029062: 4618 mov r0, r3 70029064: bdf0 pop {r4, r5, r6, r7, pc} 70029066: 4602 mov r2, r0 70029068: 4601 mov r1, r0 7002906a: 4684 mov ip, r0 7002906c: eb0e 0604 add.w r6, lr, r4 70029070: 42b3 cmp r3, r6 70029072: dd15 ble.n 700290a0 70029074: 1b9b subs r3, r3, r6 70029076: 2d00 cmp r5, #0 70029078: 50b3 str r3, [r6, r2] 7002907a: 4416 add r6, r2 7002907c: 4b0f ldr r3, [pc, #60] @ (700290bc ) 7002907e: 6073 str r3, [r6, #4] 70029080: f8dc 3008 ldr.w r3, [ip, #8] 70029084: 60b3 str r3, [r6, #8] 70029086: dd06 ble.n 70029096 70029088: fbb6 f3f5 udiv r3, r6, r5 7002908c: fb05 6713 mls r7, r5, r3, r6 70029090: b10f cbz r7, 70029096 70029092: fb03 5605 mla r6, r3, r5, r5 70029096: 1a36 subs r6, r6, r0 70029098: 608e str r6, [r1, #8] 7002909a: f8cc 4000 str.w r4, [ip] 7002909e: e002 b.n 700290a6 700290a0: f8dc 3008 ldr.w r3, [ip, #8] 700290a4: 608b str r3, [r1, #8] 700290a6: 4b06 ldr r3, [pc, #24] @ (700290c0 ) 700290a8: eb02 000e add.w r0, r2, lr 700290ac: f8cc 3004 str.w r3, [ip, #4] 700290b0: bdf0 pop {r4, r5, r6, r7, pc} 700290b2: 2000 movs r0, #0 700290b4: 4770 bx lr 700290b6: 4770 bx lr 700290b8: 2400e018 .word 0x2400e018 700290bc: 000f1fa1 .word 0x000f1fa1 700290c0: 000f1fa2 .word 0x000f1fa2 700290c4 : 700290c4: 2800 cmp r0, #0 700290c6: d038 beq.n 7002913a 700290c8: 4b74 ldr r3, [pc, #464] @ (7002929c ) 700290ca: 68da ldr r2, [r3, #12] 700290cc: b112 cbz r2, 700290d4 700290ce: 685a ldr r2, [r3, #4] 700290d0: 4290 cmp r0, r2 700290d2: d233 bcs.n 7002913c 700290d4: 6a5a ldr r2, [r3, #36] @ 0x24 700290d6: b11a cbz r2, 700290e0 700290d8: 69da ldr r2, [r3, #28] 700290da: 4290 cmp r0, r2 700290dc: f080 808e bcs.w 700291fc 700290e0: 6bda ldr r2, [r3, #60] @ 0x3c 700290e2: b11a cbz r2, 700290ec 700290e4: 6b5a ldr r2, [r3, #52] @ 0x34 700290e6: 4290 cmp r0, r2 700290e8: f080 808e bcs.w 70029208 700290ec: 6d5a ldr r2, [r3, #84] @ 0x54 700290ee: b11a cbz r2, 700290f8 700290f0: 6cda ldr r2, [r3, #76] @ 0x4c 700290f2: 4282 cmp r2, r0 700290f4: f240 808e bls.w 70029214 700290f8: 6eda ldr r2, [r3, #108] @ 0x6c 700290fa: b11a cbz r2, 70029104 700290fc: 6e5a ldr r2, [r3, #100] @ 0x64 700290fe: 4282 cmp r2, r0 70029100: f240 808e bls.w 70029220 70029104: f8d3 2084 ldr.w r2, [r3, #132] @ 0x84 70029108: b11a cbz r2, 70029112 7002910a: 6fda ldr r2, [r3, #124] @ 0x7c 7002910c: 4290 cmp r0, r2 7002910e: f080 808d bcs.w 7002922c 70029112: f8d3 209c ldr.w r2, [r3, #156] @ 0x9c 70029116: b122 cbz r2, 70029122 70029118: f8d3 2094 ldr.w r2, [r3, #148] @ 0x94 7002911c: 4290 cmp r0, r2 7002911e: f080 808c bcs.w 7002923a 70029122: f8d3 20b4 ldr.w r2, [r3, #180] @ 0xb4 70029126: b142 cbz r2, 7002913a 70029128: f8d3 20ac ldr.w r2, [r3, #172] @ 0xac 7002912c: 4282 cmp r2, r0 7002912e: d804 bhi.n 7002913a 70029130: f8d3 20b0 ldr.w r2, [r3, #176] @ 0xb0 70029134: 4282 cmp r2, r0 70029136: f200 80af bhi.w 70029298 7002913a: 4770 bx lr 7002913c: 689a ldr r2, [r3, #8] 7002913e: 4290 cmp r0, r2 70029140: d2c8 bcs.n 700290d4 70029142: 2200 movs r2, #0 70029144: eb02 0242 add.w r2, r2, r2, lsl #1 70029148: eb03 03c2 add.w r3, r3, r2, lsl #3 7002914c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 70029150: 695e ldr r6, [r3, #20] 70029152: 68dc ldr r4, [r3, #12] 70029154: f106 050b add.w r5, r6, #11 70029158: 4b51 ldr r3, [pc, #324] @ (700292a0 ) 7002915a: fb95 f5f6 sdiv r5, r5, r6 7002915e: fb06 f505 mul.w r5, r6, r5 70029162: 1b41 subs r1, r0, r5 70029164: 684a ldr r2, [r1, #4] 70029166: 4689 mov r9, r1 70029168: 429a cmp r2, r3 7002916a: d145 bne.n 700291f8 7002916c: 4b4d ldr r3, [pc, #308] @ (700292a4 ) 7002916e: 604b str r3, [r1, #4] 70029170: 68a2 ldr r2, [r4, #8] 70029172: 18a3 adds r3, r4, r2 70029174: 4299 cmp r1, r3 70029176: d974 bls.n 70029262 70029178: 46a4 mov ip, r4 7002917a: e003 b.n 70029184 7002917c: 689a ldr r2, [r3, #8] 7002917e: 18a3 adds r3, r4, r2 70029180: 4299 cmp r1, r3 70029182: d96c bls.n 7002925e 70029184: 46e6 mov lr, ip 70029186: 469c mov ip, r3 70029188: 2a00 cmp r2, #0 7002918a: d1f7 bne.n 7002917c 7002918c: 4574 cmp r4, lr 7002918e: d069 beq.n 70029264 70029190: f8de 7000 ldr.w r7, [lr] 70029194: eb0e 0c05 add.w ip, lr, r5 70029198: 2e00 cmp r6, #0 7002919a: 44bc add ip, r7 7002919c: 680f ldr r7, [r1, #0] 7002919e: eb00 0807 add.w r8, r0, r7 700291a2: dd68 ble.n 70029276 700291a4: eba1 000c sub.w r0, r1, ip 700291a8: fab0 f080 clz r0, r0 700291ac: 0940 lsrs r0, r0, #5 700291ae: fbb1 f2f6 udiv r2, r1, r6 700291b2: fb06 1c12 mls ip, r6, r2, r1 700291b6: f1bc 0f00 cmp.w ip, #0 700291ba: d001 beq.n 700291c0 700291bc: fb02 6106 mla r1, r2, r6, r6 700291c0: 1b09 subs r1, r1, r4 700291c2: fbb3 f2f6 udiv r2, r3, r6 700291c6: f8ce 1008 str.w r1, [lr, #8] 700291ca: fb06 3112 mls r1, r6, r2, r3 700291ce: 2900 cmp r1, #0 700291d0: d04f beq.n 70029272 700291d2: fb02 6206 mla r2, r2, r6, r6 700291d6: 1b12 subs r2, r2, r4 700291d8: f8c9 2008 str.w r2, [r9, #8] 700291dc: bba0 cbnz r0, 70029248 700291de: 46ce mov lr, r9 700291e0: 4543 cmp r3, r8 700291e2: d109 bne.n 700291f8 700291e4: 6819 ldr r1, [r3, #0] 700291e6: f8de 2000 ldr.w r2, [lr] 700291ea: 4429 add r1, r5 700291ec: 440a add r2, r1 700291ee: f8ce 2000 str.w r2, [lr] 700291f2: 689b ldr r3, [r3, #8] 700291f4: f8ce 3008 str.w r3, [lr, #8] 700291f8: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 700291fc: 6a1a ldr r2, [r3, #32] 700291fe: 4290 cmp r0, r2 70029200: f4bf af6e bcs.w 700290e0 70029204: 2201 movs r2, #1 70029206: e79d b.n 70029144 70029208: 6b9a ldr r2, [r3, #56] @ 0x38 7002920a: 4290 cmp r0, r2 7002920c: f4bf af6e bcs.w 700290ec 70029210: 2202 movs r2, #2 70029212: e797 b.n 70029144 70029214: 6d1a ldr r2, [r3, #80] @ 0x50 70029216: 4282 cmp r2, r0 70029218: f67f af6e bls.w 700290f8 7002921c: 2203 movs r2, #3 7002921e: e791 b.n 70029144 70029220: 6e9a ldr r2, [r3, #104] @ 0x68 70029222: 4290 cmp r0, r2 70029224: f4bf af6e bcs.w 70029104 70029228: 2204 movs r2, #4 7002922a: e78b b.n 70029144 7002922c: f8d3 2080 ldr.w r2, [r3, #128] @ 0x80 70029230: 4290 cmp r0, r2 70029232: f4bf af6e bcs.w 70029112 70029236: 2205 movs r2, #5 70029238: e784 b.n 70029144 7002923a: f8d3 2098 ldr.w r2, [r3, #152] @ 0x98 7002923e: 4290 cmp r0, r2 70029240: f4bf af6f bcs.w 70029122 70029244: 2206 movs r2, #6 70029246: e77d b.n 70029144 70029248: f8d9 1000 ldr.w r1, [r9] 7002924c: f8de 0000 ldr.w r0, [lr] 70029250: 4429 add r1, r5 70029252: 4401 add r1, r0 70029254: f8ce 1000 str.w r1, [lr] 70029258: f8ce 2008 str.w r2, [lr, #8] 7002925c: e7c0 b.n 700291e0 7002925e: 46e6 mov lr, ip 70029260: e794 b.n 7002918c 70029262: 46a6 mov lr, r4 70029264: 680f ldr r7, [r1, #0] 70029266: 2e00 cmp r6, #0 70029268: eb00 0807 add.w r8, r0, r7 7002926c: dd0f ble.n 7002928e 7002926e: 2000 movs r0, #0 70029270: e79d b.n 700291ae 70029272: 461a mov r2, r3 70029274: e7af b.n 700291d6 70029276: 1b0c subs r4, r1, r4 70029278: 4561 cmp r1, ip 7002927a: f8ce 4008 str.w r4, [lr, #8] 7002927e: 608a str r2, [r1, #8] 70029280: d1ad bne.n 700291de 70029282: 6809 ldr r1, [r1, #0] 70029284: f8de 0000 ldr.w r0, [lr] 70029288: 4429 add r1, r5 7002928a: 4401 add r1, r0 7002928c: e7e2 b.n 70029254 7002928e: 1b0c subs r4, r1, r4 70029290: f8ce 4008 str.w r4, [lr, #8] 70029294: 608a str r2, [r1, #8] 70029296: e7a2 b.n 700291de 70029298: 2207 movs r2, #7 7002929a: e753 b.n 70029144 7002929c: 2400e018 .word 0x2400e018 700292a0: 000f1fa2 .word 0x000f1fa2 700292a4: 000f1fa1 .word 0x000f1fa1 700292a8 : 700292a8: b570 push {r4, r5, r6, lr} 700292aa: b098 sub sp, #96 @ 0x60 700292ac: 4605 mov r5, r0 700292ae: 460a mov r2, r1 700292b0: 2100 movs r1, #0 700292b2: 466e mov r6, sp 700292b4: ac04 add r4, sp, #16 700292b6: 4630 mov r0, r6 700292b8: f7da fa82 bl 700037c0 700292bc: e896 000f ldmia.w r6, {r0, r1, r2, r3} 700292c0: e884 000f stmia.w r4, {r0, r1, r2, r3} 700292c4: 4620 mov r0, r4 700292c6: f7da fa9b bl 70003800 700292ca: 2220 movs r2, #32 700292cc: 2100 movs r1, #0 700292ce: a80d add r0, sp, #52 @ 0x34 700292d0: f012 f828 bl 7003b324 700292d4: f10d 0c20 add.w ip, sp, #32 700292d8: 46ae mov lr, r5 700292da: e894 000f ldmia.w r4, {r0, r1, r2, r3} 700292de: e88c 000f stmia.w ip, {r0, r1, r2, r3} 700292e2: 2800 cmp r0, #0 700292e4: 4603 mov r3, r0 700292e6: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff 700292ea: f04f 0110 mov.w r1, #16 700292ee: bfb8 it lt 700292f0: 3307 addlt r3, #7 700292f2: 2400 movs r4, #0 700292f4: 10db asrs r3, r3, #3 700292f6: 005b lsls r3, r3, #1 700292f8: e9cd 2215 strd r2, r2, [sp, #84] @ 0x54 700292fc: e9cd 120e strd r1, r2, [sp, #56] @ 0x38 70029300: 930c str r3, [sp, #48] @ 0x30 70029302: e8bc 000f ldmia.w ip!, {r0, r1, r2, r3} 70029306: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} 7002930a: e8bc 000f ldmia.w ip!, {r0, r1, r2, r3} 7002930e: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} 70029312: e8bc 000f ldmia.w ip!, {r0, r1, r2, r3} 70029316: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} 7002931a: e89c 0007 ldmia.w ip, {r0, r1, r2} 7002931e: e88e 0007 stmia.w lr, {r0, r1, r2} 70029322: 4628 mov r0, r5 70029324: 61ac str r4, [r5, #24] 70029326: b018 add sp, #96 @ 0x60 70029328: bd70 pop {r4, r5, r6, pc} 7002932a: bf00 nop 7002932c : 7002932c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 70029330: 4d8d ldr r5, [pc, #564] @ (70029568 ) 70029332: b0ae sub sp, #184 @ 0xb8 70029334: 682b ldr r3, [r5, #0] 70029336: 685a ldr r2, [r3, #4] 70029338: 2a00 cmp r2, #0 7002933a: f000 8106 beq.w 7002954a 7002933e: 6991 ldr r1, [r2, #24] 70029340: 078c lsls r4, r1, #30 70029342: f140 80fc bpl.w 7002953e 70029346: 0689 lsls r1, r1, #26 70029348: 4680 mov r8, r0 7002934a: 6954 ldr r4, [r2, #20] 7002934c: f100 8088 bmi.w 70029460 70029350: 6911 ldr r1, [r2, #16] 70029352: 1b09 subs r1, r1, r4 70029354: f100 808c bmi.w 70029470 70029358: 1049 asrs r1, r1, #1 7002935a: 2902 cmp r1, #2 7002935c: f1a1 0002 sub.w r0, r1, #2 70029360: dd27 ble.n 700293b2 70029362: 6893 ldr r3, [r2, #8] 70029364: f44f 3780 mov.w r7, #65536 @ 0x10000 70029368: 2600 movs r6, #0 7002936a: 2801 cmp r0, #1 7002936c: f843 7024 str.w r7, [r3, r4, lsl #2] 70029370: 682b ldr r3, [r5, #0] 70029372: 685b ldr r3, [r3, #4] 70029374: 689b ldr r3, [r3, #8] 70029376: eb03 0384 add.w r3, r3, r4, lsl #2 7002937a: f104 0402 add.w r4, r4, #2 7002937e: 605e str r6, [r3, #4] 70029380: 682b ldr r3, [r5, #0] 70029382: 685a ldr r2, [r3, #4] 70029384: 6154 str r4, [r2, #20] 70029386: d013 beq.n 700293b0 70029388: 2101 movs r1, #1 7002938a: 685b ldr r3, [r3, #4] 7002938c: 3101 adds r1, #1 7002938e: 695a ldr r2, [r3, #20] 70029390: 4281 cmp r1, r0 70029392: 689b ldr r3, [r3, #8] 70029394: f102 0402 add.w r4, r2, #2 70029398: f843 7022 str.w r7, [r3, r2, lsl #2] 7002939c: 682b ldr r3, [r5, #0] 7002939e: 685b ldr r3, [r3, #4] 700293a0: 689b ldr r3, [r3, #8] 700293a2: eb03 0382 add.w r3, r3, r2, lsl #2 700293a6: 605e str r6, [r3, #4] 700293a8: 682b ldr r3, [r5, #0] 700293aa: 685a ldr r2, [r3, #4] 700293ac: 6154 str r4, [r2, #20] 700293ae: d1ec bne.n 7002938a 700293b0: 685a ldr r2, [r3, #4] 700293b2: 6a14 ldr r4, [r2, #32] 700293b4: 2c00 cmp r4, #0 700293b6: d062 beq.n 7002947e 700293b8: 6991 ldr r1, [r2, #24] 700293ba: f041 0104 orr.w r1, r1, #4 700293be: 6191 str r1, [r2, #24] 700293c0: 685a ldr r2, [r3, #4] 700293c2: 21f0 movs r1, #240 @ 0xf0 700293c4: 6953 ldr r3, [r2, #20] 700293c6: 6892 ldr r2, [r2, #8] 700293c8: f842 1023 str.w r1, [r2, r3, lsl #2] 700293cc: 682a ldr r2, [r5, #0] 700293ce: 68e1 ldr r1, [r4, #12] 700293d0: 6852 ldr r2, [r2, #4] 700293d2: 6892 ldr r2, [r2, #8] 700293d4: eb02 0283 add.w r2, r2, r3, lsl #2 700293d8: 3302 adds r3, #2 700293da: 6051 str r1, [r2, #4] 700293dc: 682a ldr r2, [r5, #0] 700293de: 6851 ldr r1, [r2, #4] 700293e0: 614b str r3, [r1, #20] 700293e2: 21f4 movs r1, #244 @ 0xf4 700293e4: 6852 ldr r2, [r2, #4] 700293e6: 6953 ldr r3, [r2, #20] 700293e8: 6892 ldr r2, [r2, #8] 700293ea: f842 1023 str.w r1, [r2, r3, lsl #2] 700293ee: 682a ldr r2, [r5, #0] 700293f0: 6921 ldr r1, [r4, #16] 700293f2: 6852 ldr r2, [r2, #4] 700293f4: 6892 ldr r2, [r2, #8] 700293f6: eb02 0283 add.w r2, r2, r3, lsl #2 700293fa: 3302 adds r3, #2 700293fc: 6051 str r1, [r2, #4] 700293fe: 682a ldr r2, [r5, #0] 70029400: 6851 ldr r1, [r2, #4] 70029402: 614b str r3, [r1, #20] 70029404: 6853 ldr r3, [r2, #4] 70029406: 621c str r4, [r3, #32] 70029408: 68e3 ldr r3, [r4, #12] 7002940a: f013 0307 ands.w r3, r3, #7 7002940e: d131 bne.n 70029474 70029410: 6851 ldr r1, [r2, #4] 70029412: b1c9 cbz r1, 70029448 70029414: e9d1 6004 ldrd r6, r0, [r1, #16] 70029418: 1c47 adds r7, r0, #1 7002941a: 42b7 cmp r7, r6 7002941c: da0e bge.n 7002943c 7002941e: 6889 ldr r1, [r1, #8] 70029420: f44f 26a0 mov.w r6, #327680 @ 0x50000 70029424: f841 6020 str.w r6, [r1, r0, lsl #2] 70029428: eb01 0180 add.w r1, r1, r0, lsl #2 7002942c: 604b str r3, [r1, #4] 7002942e: 6853 ldr r3, [r2, #4] 70029430: 2b00 cmp r3, #0 70029432: d07e beq.n 70029532 70029434: 6999 ldr r1, [r3, #24] 70029436: f021 0108 bic.w r1, r1, #8 7002943a: 6199 str r1, [r3, #24] 7002943c: 2300 movs r3, #0 7002943e: 6053 str r3, [r2, #4] 70029440: 69a3 ldr r3, [r4, #24] 70029442: 075b lsls r3, r3, #29 70029444: d503 bpl.n 7002944e 70029446: 6a24 ldr r4, [r4, #32] 70029448: 69a3 ldr r3, [r4, #24] 7002944a: 075b lsls r3, r3, #29 7002944c: d4fb bmi.n 70029446 7002944e: 6054 str r4, [r2, #4] 70029450: 69a3 ldr r3, [r4, #24] 70029452: f023 0320 bic.w r3, r3, #32 70029456: 61a3 str r3, [r4, #24] 70029458: 2000 movs r0, #0 7002945a: b02e add sp, #184 @ 0xb8 7002945c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 70029460: 6ad1 ldr r1, [r2, #44] @ 0x2c 70029462: fb94 f0f1 sdiv r0, r4, r1 70029466: fb01 4010 mls r0, r1, r0, r4 7002946a: 1a09 subs r1, r1, r0 7002946c: f57f af74 bpl.w 70029358 70029470: 3101 adds r1, #1 70029472: e771 b.n 70029358 70029474: f44f 4080 mov.w r0, #16384 @ 0x4000 70029478: f7ee fc50 bl 70017d1c 7002947c: e7ec b.n 70029458 7002947e: 203c movs r0, #60 @ 0x3c 70029480: f7da f91e bl 700036c0 70029484: 4604 mov r4, r0 70029486: 2800 cmp r0, #0 70029488: d06a beq.n 70029560 7002948a: f108 0102 add.w r1, r8, #2 7002948e: 00c9 lsls r1, r1, #3 70029490: f5b1 6f80 cmp.w r1, #1024 @ 0x400 70029494: dd27 ble.n 700294e6 70029496: 466e mov r6, sp 70029498: 4668 mov r0, sp 7002949a: f7ff ff05 bl 700292a8 7002949e: 4627 mov r7, r4 700294a0: ce0f ldmia r6!, {r0, r1, r2, r3} 700294a2: c70f stmia r7!, {r0, r1, r2, r3} 700294a4: ce0f ldmia r6!, {r0, r1, r2, r3} 700294a6: c70f stmia r7!, {r0, r1, r2, r3} 700294a8: ce0f ldmia r6!, {r0, r1, r2, r3} 700294aa: c70f stmia r7!, {r0, r1, r2, r3} 700294ac: e896 0007 ldmia.w r6, {r0, r1, r2} 700294b0: e887 0007 stmia.w r7, {r0, r1, r2} 700294b4: 68a3 ldr r3, [r4, #8] 700294b6: 2b00 cmp r3, #0 700294b8: d04b beq.n 70029552 700294ba: 682b ldr r3, [r5, #0] 700294bc: 6859 ldr r1, [r3, #4] 700294be: 6a4a ldr r2, [r1, #36] @ 0x24 700294c0: 2a00 cmp r2, #0 700294c2: bf08 it eq 700294c4: 460a moveq r2, r1 700294c6: 6262 str r2, [r4, #36] @ 0x24 700294c8: 685a ldr r2, [r3, #4] 700294ca: 6992 ldr r2, [r2, #24] 700294cc: f022 020c bic.w r2, r2, #12 700294d0: 61a2 str r2, [r4, #24] 700294d2: 685a ldr r2, [r3, #4] 700294d4: 2a00 cmp r2, #0 700294d6: f47f af6f bne.w 700293b8 700294da: f44f 5000 mov.w r0, #8192 @ 0x2000 700294de: f7ee fc1d bl 70017d1c 700294e2: 682b ldr r3, [r5, #0] 700294e4: e76c b.n 700293c0 700294e6: f44f 6180 mov.w r1, #1024 @ 0x400 700294ea: a810 add r0, sp, #64 @ 0x40 700294ec: f7ff fedc bl 700292a8 700294f0: af10 add r7, sp, #64 @ 0x40 700294f2: 2302 movs r3, #2 700294f4: ae1f add r6, sp, #124 @ 0x7c 700294f6: 46a4 mov ip, r4 700294f8: 9316 str r3, [sp, #88] @ 0x58 700294fa: 46b6 mov lr, r6 700294fc: cf0f ldmia r7!, {r0, r1, r2, r3} 700294fe: c60f stmia r6!, {r0, r1, r2, r3} 70029500: cf0f ldmia r7!, {r0, r1, r2, r3} 70029502: c60f stmia r6!, {r0, r1, r2, r3} 70029504: cf0f ldmia r7!, {r0, r1, r2, r3} 70029506: c60f stmia r6!, {r0, r1, r2, r3} 70029508: e897 0007 ldmia.w r7, {r0, r1, r2} 7002950c: e886 0007 stmia.w r6, {r0, r1, r2} 70029510: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 70029514: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 70029518: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 7002951c: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 70029520: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 70029524: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 70029528: e896 0007 ldmia.w r6, {r0, r1, r2} 7002952c: e88c 0007 stmia.w ip, {r0, r1, r2} 70029530: e7c0 b.n 700294b4 70029532: f44f 5000 mov.w r0, #8192 @ 0x2000 70029536: f7ee fbf1 bl 70017d1c 7002953a: 682a ldr r2, [r5, #0] 7002953c: e77e b.n 7002943c 7002953e: 2008 movs r0, #8 70029540: f7ee fbec bl 70017d1c 70029544: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 70029548: e787 b.n 7002945a 7002954a: 2080 movs r0, #128 @ 0x80 7002954c: f7ee fbe6 bl 70017d1c 70029550: e7f8 b.n 70029544 70029552: 2010 movs r0, #16 70029554: f7ee fbe2 bl 70017d1c 70029558: 4620 mov r0, r4 7002955a: f7da f8af bl 700036bc 7002955e: e7f1 b.n 70029544 70029560: 2010 movs r0, #16 70029562: f7ee fbdb bl 70017d1c 70029566: e7ed b.n 70029544 70029568: 2400db24 .word 0x2400db24 7002956c : 7002956c: 2800 cmp r0, #0 7002956e: d060 beq.n 70029632 70029570: 68c3 ldr r3, [r0, #12] 70029572: 075b lsls r3, r3, #29 70029574: d161 bne.n 7002963a 70029576: b570 push {r4, r5, r6, lr} 70029578: 6a44 ldr r4, [r0, #36] @ 0x24 7002957a: b082 sub sp, #8 7002957c: 2c00 cmp r4, #0 7002957e: bf08 it eq 70029580: 4604 moveq r4, r0 70029582: 2902 cmp r1, #2 70029584: 6923 ldr r3, [r4, #16] 70029586: dc33 bgt.n 700295f0 70029588: 2102 movs r1, #2 7002958a: 4d32 ldr r5, [pc, #200] @ (70029654 ) 7002958c: 6828 ldr r0, [r5, #0] 7002958e: 6842 ldr r2, [r0, #4] 70029590: b1c2 cbz r2, 700295c4 70029592: 6953 ldr r3, [r2, #20] 70029594: 6916 ldr r6, [r2, #16] 70029596: f103 0c01 add.w ip, r3, #1 7002959a: 45b4 cmp ip, r6 7002959c: da0f bge.n 700295be 7002959e: 6892 ldr r2, [r2, #8] 700295a0: f44f 26a0 mov.w r6, #327680 @ 0x50000 700295a4: f842 6023 str.w r6, [r2, r3, lsl #2] 700295a8: eb02 0283 add.w r2, r2, r3, lsl #2 700295ac: 2300 movs r3, #0 700295ae: 6053 str r3, [r2, #4] 700295b0: 6843 ldr r3, [r0, #4] 700295b2: 2b00 cmp r3, #0 700295b4: d045 beq.n 70029642 700295b6: 699a ldr r2, [r3, #24] 700295b8: f022 0208 bic.w r2, r2, #8 700295bc: 619a str r2, [r3, #24] 700295be: 2300 movs r3, #0 700295c0: 6043 str r3, [r0, #4] 700295c2: 6923 ldr r3, [r4, #16] 700295c4: 69a2 ldr r2, [r4, #24] 700295c6: 62a1 str r1, [r4, #40] @ 0x28 700295c8: f042 0220 orr.w r2, r2, #32 700295cc: fb93 f3f1 sdiv r3, r3, r1 700295d0: 07dd lsls r5, r3, #31 700295d2: 61a2 str r2, [r4, #24] 700295d4: f04f 0100 mov.w r1, #0 700295d8: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff 700295dc: bf48 it mi 700295de: f103 33ff addmi.w r3, r3, #4294967295 @ 0xffffffff 700295e2: e9c4 220d strd r2, r2, [r4, #52] @ 0x34 700295e6: e9c4 310b strd r3, r1, [r4, #44] @ 0x2c 700295ea: 6044 str r4, [r0, #4] 700295ec: b002 add sp, #8 700295ee: bd70 pop {r4, r5, r6, pc} 700295f0: 0098 lsls r0, r3, #2 700295f2: fb90 f2f1 sdiv r2, r0, r1 700295f6: f5b2 7f00 cmp.w r2, #512 @ 0x200 700295fa: da0f bge.n 7002961c 700295fc: 07ce lsls r6, r1, #31 700295fe: d506 bpl.n 7002960e 70029600: 3101 adds r1, #1 70029602: e004 b.n 7002960e 70029604: fb90 f2f1 sdiv r2, r0, r1 70029608: f5b2 7f00 cmp.w r2, #512 @ 0x200 7002960c: da06 bge.n 7002961c 7002960e: 2903 cmp r1, #3 70029610: f1a1 0102 sub.w r1, r1, #2 70029614: dcf6 bgt.n 70029604 70029616: f44f 3080 mov.w r0, #65536 @ 0x10000 7002961a: e005 b.n 70029628 7002961c: fb01 0012 mls r0, r1, r2, r0 70029620: 2800 cmp r0, #0 70029622: d0b2 beq.n 7002958a 70029624: f44f 4080 mov.w r0, #16384 @ 0x4000 70029628: b002 add sp, #8 7002962a: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7002962e: f7ee bb75 b.w 70017d1c 70029632: f44f 5000 mov.w r0, #8192 @ 0x2000 70029636: f7ee bb71 b.w 70017d1c 7002963a: f44f 4080 mov.w r0, #16384 @ 0x4000 7002963e: f7ee bb6d b.w 70017d1c 70029642: f44f 5000 mov.w r0, #8192 @ 0x2000 70029646: 9101 str r1, [sp, #4] 70029648: f7ee fb68 bl 70017d1c 7002964c: 6828 ldr r0, [r5, #0] 7002964e: 9901 ldr r1, [sp, #4] 70029650: e7b5 b.n 700295be 70029652: bf00 nop 70029654: 2400db24 .word 0x2400db24 70029658 : 70029658: 4b01 ldr r3, [pc, #4] @ (70029660 ) 7002965a: 681b ldr r3, [r3, #0] 7002965c: 6858 ldr r0, [r3, #4] 7002965e: 4770 bx lr 70029660: 2400db24 .word 0x2400db24 70029664 : 70029664: 2800 cmp r0, #0 70029666: f000 8085 beq.w 70029774 7002966a: b570 push {r4, r5, r6, lr} 7002966c: e9d0 4305 ldrd r4, r3, [r0, #20] 70029670: b084 sub sp, #16 70029672: 4605 mov r5, r0 70029674: 069a lsls r2, r3, #26 70029676: d442 bmi.n 700296fe 70029678: 2c00 cmp r4, #0 7002967a: d046 beq.n 7002970a 7002967c: 4604 mov r4, r0 7002967e: f06f 4640 mvn.w r6, #3221225472 @ 0xc0000000 70029682: e026 b.n 700296d2 70029684: b12a cbz r2, 70029692 70029686: 6923 ldr r3, [r4, #16] 70029688: 6952 ldr r2, [r2, #20] 7002968a: 4433 add r3, r6 7002968c: f841 2023 str.w r2, [r1, r3, lsl #2] 70029690: 69a3 ldr r3, [r4, #24] 70029692: f023 0208 bic.w r2, r3, #8 70029696: 069b lsls r3, r3, #26 70029698: 4620 mov r0, r4 7002969a: 61a2 str r2, [r4, #24] 7002969c: d510 bpl.n 700296c0 7002969e: 68a1 ldr r1, [r4, #8] 700296a0: e9d4 230b ldrd r2, r3, [r4, #44] @ 0x2c 700296a4: fb02 f303 mul.w r3, r2, r3 700296a8: 0092 lsls r2, r2, #2 700296aa: eb01 0083 add.w r0, r1, r3, lsl #2 700296ae: 68e1 ldr r1, [r4, #12] 700296b0: 9200 str r2, [sp, #0] 700296b2: eb01 0383 add.w r3, r1, r3, lsl #2 700296b6: e9cd 0302 strd r0, r3, [sp, #8] 700296ba: 4668 mov r0, sp 700296bc: 6863 ldr r3, [r4, #4] 700296be: 9301 str r3, [sp, #4] 700296c0: f7da f8b0 bl 70003824 700296c4: 69a3 ldr r3, [r4, #24] 700296c6: f043 0308 orr.w r3, r3, #8 700296ca: 61a3 str r3, [r4, #24] 700296cc: 6a24 ldr r4, [r4, #32] 700296ce: b17c cbz r4, 700296f0 700296d0: 69a3 ldr r3, [r4, #24] 700296d2: 0758 lsls r0, r3, #29 700296d4: 6a22 ldr r2, [r4, #32] 700296d6: 68a1 ldr r1, [r4, #8] 700296d8: d4d4 bmi.n 70029684 700296da: 0718 lsls r0, r3, #28 700296dc: d408 bmi.n 700296f0 700296de: 069a lsls r2, r3, #26 700296e0: d451 bmi.n 70029786 700296e2: 4620 mov r0, r4 700296e4: f7da f89e bl 70003824 700296e8: 69a3 ldr r3, [r4, #24] 700296ea: f043 0308 orr.w r3, r3, #8 700296ee: 61a3 str r3, [r4, #24] 700296f0: 6969 ldr r1, [r5, #20] 700296f2: 4628 mov r0, r5 700296f4: f7ee f9b8 bl 70017a68 700296f8: 61e8 str r0, [r5, #28] 700296fa: b004 add sp, #16 700296fc: bd70 pop {r4, r5, r6, pc} 700296fe: 6ac1 ldr r1, [r0, #44] @ 0x2c 70029700: fb94 f0f1 sdiv r0, r4, r1 70029704: fb01 4410 mls r4, r1, r0, r4 70029708: b90c cbnz r4, 7002970e 7002970a: b004 add sp, #16 7002970c: bd70 pop {r4, r5, r6, pc} 7002970e: 6b2a ldr r2, [r5, #48] @ 0x30 70029710: 071b lsls r3, r3, #28 70029712: 68ee ldr r6, [r5, #12] 70029714: fb01 f202 mul.w r2, r1, r2 70029718: eb06 0682 add.w r6, r6, r2, lsl #2 7002971c: ea4f 0282 mov.w r2, r2, lsl #2 70029720: d40e bmi.n 70029740 70029722: 686b ldr r3, [r5, #4] 70029724: 0089 lsls r1, r1, #2 70029726: 4668 mov r0, sp 70029728: 9603 str r6, [sp, #12] 7002972a: 9301 str r3, [sp, #4] 7002972c: 68ab ldr r3, [r5, #8] 7002972e: 9100 str r1, [sp, #0] 70029730: 441a add r2, r3 70029732: 9202 str r2, [sp, #8] 70029734: f7da f876 bl 70003824 70029738: 69ab ldr r3, [r5, #24] 7002973a: f043 0308 orr.w r3, r3, #8 7002973e: 61ab str r3, [r5, #24] 70029740: f44f 70a4 mov.w r0, #328 @ 0x148 70029744: f7d9 ff74 bl 70003630 70029748: 6aab ldr r3, [r5, #40] @ 0x28 7002974a: 63a8 str r0, [r5, #56] @ 0x38 7002974c: 1e5a subs r2, r3, #1 7002974e: 6b6b ldr r3, [r5, #52] @ 0x34 70029750: 1a1b subs r3, r3, r0 70029752: 429a cmp r2, r3 70029754: dd2a ble.n 700297ac 70029756: 4621 mov r1, r4 70029758: 4630 mov r0, r6 7002975a: f7ee f901 bl 70017960 7002975e: 6b2b ldr r3, [r5, #48] @ 0x30 70029760: 6aaa ldr r2, [r5, #40] @ 0x28 70029762: 3301 adds r3, #1 70029764: 6368 str r0, [r5, #52] @ 0x34 70029766: 4293 cmp r3, r2 70029768: 632b str r3, [r5, #48] @ 0x30 7002976a: d307 bcc.n 7002977c 7002976c: 2300 movs r3, #0 7002976e: 616b str r3, [r5, #20] 70029770: 632b str r3, [r5, #48] @ 0x30 70029772: e7ca b.n 7002970a 70029774: f44f 5000 mov.w r0, #8192 @ 0x2000 70029778: f7ee bad0 b.w 70017d1c 7002977c: 6aea ldr r2, [r5, #44] @ 0x2c 7002977e: fb03 f202 mul.w r2, r3, r2 70029782: 616a str r2, [r5, #20] 70029784: e7c1 b.n 7002970a 70029786: e9d4 230b ldrd r2, r3, [r4, #44] @ 0x2c 7002978a: 68e0 ldr r0, [r4, #12] 7002978c: fb02 f303 mul.w r3, r2, r3 70029790: 0092 lsls r2, r2, #2 70029792: eb01 0183 add.w r1, r1, r3, lsl #2 70029796: 9200 str r2, [sp, #0] 70029798: eb00 0383 add.w r3, r0, r3, lsl #2 7002979c: 4668 mov r0, sp 7002979e: 9102 str r1, [sp, #8] 700297a0: 9303 str r3, [sp, #12] 700297a2: 6863 ldr r3, [r4, #4] 700297a4: 9301 str r3, [sp, #4] 700297a6: f7da f83d bl 70003824 700297aa: e79d b.n 700296e8 700297ac: 3001 adds r0, #1 700297ae: f7d9 ff77 bl 700036a0 700297b2: e7d0 b.n 70029756 700297b4 : 700297b4: 2800 cmp r0, #0 700297b6: d047 beq.n 70029848 700297b8: b510 push {r4, lr} 700297ba: e9d0 3205 ldrd r3, r2, [r0, #20] 700297be: 4604 mov r4, r0 700297c0: 0692 lsls r2, r2, #26 700297c2: d424 bmi.n 7002980e 700297c4: b313 cbz r3, 7002980c 700297c6: 4620 mov r0, r4 700297c8: f7ff ff4c bl 70029664 700297cc: 69a3 ldr r3, [r4, #24] 700297ce: 069b lsls r3, r3, #26 700297d0: d52a bpl.n 70029828 700297d2: 4b22 ldr r3, [pc, #136] @ (7002985c ) 700297d4: 6b60 ldr r0, [r4, #52] @ 0x34 700297d6: 681b ldr r3, [r3, #0] 700297d8: f893 30f9 ldrb.w r3, [r3, #249] @ 0xf9 700297dc: 2b01 cmp r3, #1 700297de: d00d beq.n 700297fc 700297e0: 6aa3 ldr r3, [r4, #40] @ 0x28 700297e2: 6b22 ldr r2, [r4, #48] @ 0x30 700297e4: 0899 lsrs r1, r3, #2 700297e6: ebb2 0f93 cmp.w r2, r3, lsr #2 700297ea: d007 beq.n 700297fc 700297ec: ebb2 0f53 cmp.w r2, r3, lsr #1 700297f0: d004 beq.n 700297fc 700297f2: eb01 0141 add.w r1, r1, r1, lsl #1 700297f6: 4291 cmp r1, r2 700297f8: d000 beq.n 700297fc 700297fa: bb4a cbnz r2, 70029850 700297fc: f7ee fa00 bl 70017c00 70029800: 6b60 ldr r0, [r4, #52] @ 0x34 70029802: f06f 437f mvn.w r3, #4278190080 @ 0xff000000 70029806: 61e0 str r0, [r4, #28] 70029808: 4298 cmp r0, r3 7002980a: d015 beq.n 70029838 7002980c: bd10 pop {r4, pc} 7002980e: 6ac2 ldr r2, [r0, #44] @ 0x2c 70029810: fb93 f1f2 sdiv r1, r3, r2 70029814: fb02 3311 mls r3, r2, r1, r3 70029818: 2b00 cmp r3, #0 7002981a: d0f7 beq.n 7002980c 7002981c: 4620 mov r0, r4 7002981e: f7ff ff21 bl 70029664 70029822: 69a3 ldr r3, [r4, #24] 70029824: 069b lsls r3, r3, #26 70029826: d4d4 bmi.n 700297d2 70029828: 69e0 ldr r0, [r4, #28] 7002982a: f7ee f9e9 bl 70017c00 7002982e: 69e0 ldr r0, [r4, #28] 70029830: f06f 437f mvn.w r3, #4278190080 @ 0xff000000 70029834: 4298 cmp r0, r3 70029836: d1e9 bne.n 7002980c 70029838: f7d9 ff32 bl 700036a0 7002983c: 2800 cmp r0, #0 7002983e: dbe5 blt.n 7002980c 70029840: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70029844: 61e3 str r3, [r4, #28] 70029846: bd10 pop {r4, pc} 70029848: f44f 5000 mov.w r0, #8192 @ 0x2000 7002984c: f7ee ba66 b.w 70017d1c 70029850: f06f 437f mvn.w r3, #4278190080 @ 0xff000000 70029854: 4298 cmp r0, r3 70029856: d1ea bne.n 7002982e 70029858: e7d0 b.n 700297fc 7002985a: bf00 nop 7002985c: 2400db24 .word 0x2400db24 70029860 : 70029860: b5f8 push {r3, r4, r5, r6, r7, lr} 70029862: 4f3c ldr r7, [pc, #240] @ (70029954 ) 70029864: 4606 mov r6, r0 70029866: 460d mov r5, r1 70029868: 683a ldr r2, [r7, #0] 7002986a: 6854 ldr r4, [r2, #4] 7002986c: 2c00 cmp r4, #0 7002986e: d056 beq.n 7002991e 70029870: 69a3 ldr r3, [r4, #24] 70029872: f023 0308 bic.w r3, r3, #8 70029876: 61a3 str r3, [r4, #24] 70029878: 6853 ldr r3, [r2, #4] 7002987a: b1f3 cbz r3, 700298ba 7002987c: 699c ldr r4, [r3, #24] 7002987e: 06a1 lsls r1, r4, #26 70029880: d52b bpl.n 700298da 70029882: 6ad9 ldr r1, [r3, #44] @ 0x2c 70029884: 6958 ldr r0, [r3, #20] 70029886: fb90 fcf1 sdiv ip, r0, r1 7002988a: fb01 001c mls r0, r1, ip, r0 7002988e: 1a09 subs r1, r1, r0 70029890: 2903 cmp r1, #3 70029892: dd53 ble.n 7002993c 70029894: f024 0408 bic.w r4, r4, #8 70029898: 619c str r4, [r3, #24] 7002989a: 6853 ldr r3, [r2, #4] 7002989c: 695a ldr r2, [r3, #20] 7002989e: 689b ldr r3, [r3, #8] 700298a0: 1c91 adds r1, r2, #2 700298a2: f843 6022 str.w r6, [r3, r2, lsl #2] 700298a6: 683b ldr r3, [r7, #0] 700298a8: 685b ldr r3, [r3, #4] 700298aa: 689b ldr r3, [r3, #8] 700298ac: eb03 0382 add.w r3, r3, r2, lsl #2 700298b0: 605d str r5, [r3, #4] 700298b2: 683b ldr r3, [r7, #0] 700298b4: 685b ldr r3, [r3, #4] 700298b6: 6159 str r1, [r3, #20] 700298b8: bdf8 pop {r3, r4, r5, r6, r7, pc} 700298ba: f44f 5000 mov.w r0, #8192 @ 0x2000 700298be: f7ee fa2d bl 70017d1c 700298c2: 683a ldr r2, [r7, #0] 700298c4: 6853 ldr r3, [r2, #4] 700298c6: 2b00 cmp r3, #0 700298c8: d135 bne.n 70029936 700298ca: f44f 5000 mov.w r0, #8192 @ 0x2000 700298ce: f7ee fa25 bl 70017d1c 700298d2: 683a ldr r2, [r7, #0] 700298d4: 6853 ldr r3, [r2, #4] 700298d6: b1ab cbz r3, 70029904 700298d8: 699c ldr r4, [r3, #24] 700298da: 07a1 lsls r1, r4, #30 700298dc: d518 bpl.n 70029910 700298de: 6959 ldr r1, [r3, #20] 700298e0: 6918 ldr r0, [r3, #16] 700298e2: 3104 adds r1, #4 700298e4: 4281 cmp r1, r0 700298e6: dbd5 blt.n 70029894 700298e8: 2000 movs r0, #0 700298ea: f7ff fd1f bl 7002932c 700298ee: 2800 cmp r0, #0 700298f0: dbe2 blt.n 700298b8 700298f2: 683a ldr r2, [r7, #0] 700298f4: 6853 ldr r3, [r2, #4] 700298f6: b983 cbnz r3, 7002991a 700298f8: f44f 5000 mov.w r0, #8192 @ 0x2000 700298fc: f7ee fa0e bl 70017d1c 70029900: 683a ldr r2, [r7, #0] 70029902: e7ca b.n 7002989a 70029904: f44f 5000 mov.w r0, #8192 @ 0x2000 70029908: f7ee fa08 bl 70017d1c 7002990c: 683a ldr r2, [r7, #0] 7002990e: 6853 ldr r3, [r2, #4] 70029910: 6959 ldr r1, [r3, #20] 70029912: 6918 ldr r0, [r3, #16] 70029914: 3101 adds r1, #1 70029916: 4281 cmp r1, r0 70029918: da17 bge.n 7002994a 7002991a: 699c ldr r4, [r3, #24] 7002991c: e7ba b.n 70029894 7002991e: 4620 mov r0, r4 70029920: f7d9 ff81 bl 70003826 70029924: 4630 mov r0, r6 70029926: 4629 mov r1, r5 70029928: f7ee f8a2 bl 70017a70 7002992c: 4620 mov r0, r4 7002992e: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr} 70029932: f7d9 bf7a b.w 7000382a 70029936: 699c ldr r4, [r3, #24] 70029938: 06a0 lsls r0, r4, #26 7002993a: d5ce bpl.n 700298da 7002993c: 4618 mov r0, r3 7002993e: 2300 movs r3, #0 70029940: f882 30f9 strb.w r3, [r2, #249] @ 0xf9 70029944: f7ff ff36 bl 700297b4 70029948: e7d3 b.n 700298f2 7002994a: 2008 movs r0, #8 7002994c: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr} 70029950: f7ee b9e4 b.w 70017d1c 70029954: 2400db24 .word 0x2400db24 70029958 : 70029958: b570 push {r4, r5, r6, lr} 7002995a: 4d2f ldr r5, [pc, #188] @ (70029a18 ) 7002995c: 682b ldr r3, [r5, #0] 7002995e: 685a ldr r2, [r3, #4] 70029960: 2a00 cmp r2, #0 70029962: d04e beq.n 70029a02 70029964: 6991 ldr r1, [r2, #24] 70029966: 4604 mov r4, r0 70029968: f021 0108 bic.w r1, r1, #8 7002996c: 6191 str r1, [r2, #24] 7002996e: 6858 ldr r0, [r3, #4] 70029970: b370 cbz r0, 700299d0 70029972: 6982 ldr r2, [r0, #24] 70029974: 0691 lsls r1, r2, #26 70029976: d414 bmi.n 700299a2 70029978: e9d0 1604 ldrd r1, r6, [r0, #16] 7002997c: 1b89 subs r1, r1, r6 7002997e: bf48 it mi 70029980: 3101 addmi r1, #1 70029982: 1049 asrs r1, r1, #1 70029984: 3901 subs r1, #1 70029986: 428c cmp r4, r1 70029988: da2f bge.n 700299ea 7002998a: f022 0208 bic.w r2, r2, #8 7002998e: 6182 str r2, [r0, #24] 70029990: 685b ldr r3, [r3, #4] 70029992: 695a ldr r2, [r3, #20] 70029994: 6898 ldr r0, [r3, #8] 70029996: eb02 0444 add.w r4, r2, r4, lsl #1 7002999a: eb00 0082 add.w r0, r0, r2, lsl #2 7002999e: 615c str r4, [r3, #20] 700299a0: bd70 pop {r4, r5, r6, pc} 700299a2: 6ac1 ldr r1, [r0, #44] @ 0x2c 700299a4: 6946 ldr r6, [r0, #20] 700299a6: fb96 fcf1 sdiv ip, r6, r1 700299aa: fb01 6c1c mls ip, r1, ip, r6 700299ae: ebb1 010c subs.w r1, r1, ip 700299b2: bf48 it mi 700299b4: 3101 addmi r1, #1 700299b6: 1049 asrs r1, r1, #1 700299b8: 428c cmp r4, r1 700299ba: dbe6 blt.n 7002998a 700299bc: 2200 movs r2, #0 700299be: f883 20f9 strb.w r2, [r3, #249] @ 0xf9 700299c2: f7ff fef7 bl 700297b4 700299c6: 682b ldr r3, [r5, #0] 700299c8: 6858 ldr r0, [r3, #4] 700299ca: b1a0 cbz r0, 700299f6 700299cc: 6982 ldr r2, [r0, #24] 700299ce: e7dc b.n 7002998a 700299d0: f44f 5000 mov.w r0, #8192 @ 0x2000 700299d4: f7ee f9a2 bl 70017d1c 700299d8: 682b ldr r3, [r5, #0] 700299da: 6858 ldr r0, [r3, #4] 700299dc: b9b0 cbnz r0, 70029a0c 700299de: f44f 5000 mov.w r0, #8192 @ 0x2000 700299e2: f7ee f99b bl 70017d1c 700299e6: 1ca3 adds r3, r4, #2 700299e8: dbed blt.n 700299c6 700299ea: 4620 mov r0, r4 700299ec: f7ff fc9e bl 7002932c 700299f0: 2800 cmp r0, #0 700299f2: dae8 bge.n 700299c6 700299f4: e008 b.n 70029a08 700299f6: f44f 5000 mov.w r0, #8192 @ 0x2000 700299fa: f7ee f98f bl 70017d1c 700299fe: 682b ldr r3, [r5, #0] 70029a00: e7c6 b.n 70029990 70029a02: 2080 movs r0, #128 @ 0x80 70029a04: f7ee f98a bl 70017d1c 70029a08: 2000 movs r0, #0 70029a0a: bd70 pop {r4, r5, r6, pc} 70029a0c: 6982 ldr r2, [r0, #24] 70029a0e: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff 70029a12: 0696 lsls r6, r2, #26 70029a14: d5b6 bpl.n 70029984 70029a16: e7cf b.n 700299b8 70029a18: 2400db24 .word 0x2400db24 70029a1c : 70029a1c: b538 push {r3, r4, r5, lr} 70029a1e: 4d2c ldr r5, [pc, #176] @ (70029ad0 ) 70029a20: 2201 movs r2, #1 70029a22: 682b ldr r3, [r5, #0] 70029a24: f883 20f9 strb.w r2, [r3, #249] @ 0xf9 70029a28: 2800 cmp r0, #0 70029a2a: d045 beq.n 70029ab8 70029a2c: 4604 mov r4, r0 70029a2e: e9d0 3205 ldrd r3, r2, [r0, #20] 70029a32: 0692 lsls r2, r2, #26 70029a34: d423 bmi.n 70029a7e 70029a36: b30b cbz r3, 70029a7c 70029a38: 4620 mov r0, r4 70029a3a: f7ff fe13 bl 70029664 70029a3e: 69a3 ldr r3, [r4, #24] 70029a40: 069b lsls r3, r3, #26 70029a42: d529 bpl.n 70029a98 70029a44: 682b ldr r3, [r5, #0] 70029a46: 6b60 ldr r0, [r4, #52] @ 0x34 70029a48: f893 30f9 ldrb.w r3, [r3, #249] @ 0xf9 70029a4c: 2b01 cmp r3, #1 70029a4e: d00d beq.n 70029a6c 70029a50: 6aa3 ldr r3, [r4, #40] @ 0x28 70029a52: 6b22 ldr r2, [r4, #48] @ 0x30 70029a54: 0899 lsrs r1, r3, #2 70029a56: ebb2 0f93 cmp.w r2, r3, lsr #2 70029a5a: d007 beq.n 70029a6c 70029a5c: ebb2 0f53 cmp.w r2, r3, lsr #1 70029a60: d004 beq.n 70029a6c 70029a62: eb01 0141 add.w r1, r1, r1, lsl #1 70029a66: 4291 cmp r1, r2 70029a68: d000 beq.n 70029a6c 70029a6a: bb5a cbnz r2, 70029ac4 70029a6c: f7ee f8c8 bl 70017c00 70029a70: 6b60 ldr r0, [r4, #52] @ 0x34 70029a72: f06f 437f mvn.w r3, #4278190080 @ 0xff000000 70029a76: 61e0 str r0, [r4, #28] 70029a78: 4298 cmp r0, r3 70029a7a: d015 beq.n 70029aa8 70029a7c: bd38 pop {r3, r4, r5, pc} 70029a7e: 6ac2 ldr r2, [r0, #44] @ 0x2c 70029a80: fb93 f1f2 sdiv r1, r3, r2 70029a84: fb02 3311 mls r3, r2, r1, r3 70029a88: 2b00 cmp r3, #0 70029a8a: d0f7 beq.n 70029a7c 70029a8c: 4620 mov r0, r4 70029a8e: f7ff fde9 bl 70029664 70029a92: 69a3 ldr r3, [r4, #24] 70029a94: 069b lsls r3, r3, #26 70029a96: d4d5 bmi.n 70029a44 70029a98: 69e0 ldr r0, [r4, #28] 70029a9a: f7ee f8b1 bl 70017c00 70029a9e: 69e0 ldr r0, [r4, #28] 70029aa0: f06f 437f mvn.w r3, #4278190080 @ 0xff000000 70029aa4: 4298 cmp r0, r3 70029aa6: d1e9 bne.n 70029a7c 70029aa8: f7d9 fdfa bl 700036a0 70029aac: 2800 cmp r0, #0 70029aae: dbe5 blt.n 70029a7c 70029ab0: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70029ab4: 61e3 str r3, [r4, #28] 70029ab6: bd38 pop {r3, r4, r5, pc} 70029ab8: f44f 5000 mov.w r0, #8192 @ 0x2000 70029abc: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 70029ac0: f7ee b92c b.w 70017d1c 70029ac4: f06f 437f mvn.w r3, #4278190080 @ 0xff000000 70029ac8: 4298 cmp r0, r3 70029aca: d1e8 bne.n 70029a9e 70029acc: e7ce b.n 70029a6c 70029ace: bf00 nop 70029ad0: 2400db24 .word 0x2400db24 70029ad4 : 70029ad4: b510 push {r4, lr} 70029ad6: b168 cbz r0, 70029af4 70029ad8: 4604 mov r4, r0 70029ada: 69c0 ldr r0, [r0, #28] 70029adc: 2800 cmp r0, #0 70029ade: da04 bge.n 70029aea 70029ae0: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70029ae4: 61e3 str r3, [r4, #28] 70029ae6: 2000 movs r0, #0 70029ae8: bd10 pop {r4, pc} 70029aea: f7d9 fdd9 bl 700036a0 70029aee: 2800 cmp r0, #0 70029af0: daf6 bge.n 70029ae0 70029af2: e7f8 b.n 70029ae6 70029af4: f44f 5000 mov.w r0, #8192 @ 0x2000 70029af8: f7ee f910 bl 70017d1c 70029afc: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 70029b00: bd10 pop {r4, pc} 70029b02: bf00 nop 70029b04 : 70029b04: b508 push {r3, lr} 70029b06: 4b13 ldr r3, [pc, #76] @ (70029b54 ) 70029b08: 681b ldr r3, [r3, #0] 70029b0a: 685b ldr r3, [r3, #4] 70029b0c: b1e3 cbz r3, 70029b48 70029b0e: 6999 ldr r1, [r3, #24] 70029b10: 068a lsls r2, r1, #26 70029b12: d501 bpl.n 70029b18 70029b14: 2000 movs r0, #0 70029b16: bd08 pop {r3, pc} 70029b18: e9d3 2304 ldrd r2, r3, [r3, #16] 70029b1c: 1ad2 subs r2, r2, r3 70029b1e: bf48 it mi 70029b20: 3201 addmi r2, #1 70029b22: ebb0 0f62 cmp.w r0, r2, asr #1 70029b26: dbf5 blt.n 70029b14 70029b28: 078b lsls r3, r1, #30 70029b2a: d509 bpl.n 70029b40 70029b2c: f7ff fbfe bl 7002932c 70029b30: 2800 cmp r0, #0 70029b32: daef bge.n 70029b14 70029b34: 2010 movs r0, #16 70029b36: f7ee f8f1 bl 70017d1c 70029b3a: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 70029b3e: bd08 pop {r3, pc} 70029b40: 2008 movs r0, #8 70029b42: f7ee f8eb bl 70017d1c 70029b46: e7f8 b.n 70029b3a 70029b48: 2080 movs r0, #128 @ 0x80 70029b4a: f7ee f8e7 bl 70017d1c 70029b4e: f06f 0001 mvn.w r0, #1 70029b52: bd08 pop {r3, pc} 70029b54: 2400db24 .word 0x2400db24 70029b58 : 70029b58: b530 push {r4, r5, lr} 70029b5a: 4d16 ldr r5, [pc, #88] @ (70029bb4 ) 70029b5c: b087 sub sp, #28 70029b5e: 2418 movs r4, #24 70029b60: 46ec mov ip, sp 70029b62: cd0f ldmia r5!, {r0, r1, r2, r3} 70029b64: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 70029b68: e895 0003 ldmia.w r5, {r0, r1} 70029b6c: e88c 0003 stmia.w ip, {r0, r1} 70029b70: 4622 mov r2, r4 70029b72: 3401 adds r4, #1 70029b74: 2101 movs r1, #1 70029b76: 4668 mov r0, sp 70029b78: f7ef fcae bl 700194d8 70029b7c: 2c1f cmp r4, #31 70029b7e: d1f7 bne.n 70029b70 70029b80: 4622 mov r2, r4 70029b82: 2101 movs r1, #1 70029b84: a802 add r0, sp, #8 70029b86: f7ef fca7 bl 700194d8 70029b8a: f7ef fb1d bl 700191c8 70029b8e: f000 5080 and.w r0, r0, #268435456 @ 0x10000000 70029b92: 4b09 ldr r3, [pc, #36] @ (70029bb8 ) 70029b94: 2800 cmp r0, #0 70029b96: bf14 ite ne 70029b98: 2201 movne r2, #1 70029b9a: 2200 moveq r2, #0 70029b9c: 701a strb r2, [r3, #0] 70029b9e: d101 bne.n 70029ba4 70029ba0: b007 add sp, #28 70029ba2: bd30 pop {r4, r5, pc} 70029ba4: 4b05 ldr r3, [pc, #20] @ (70029bbc ) 70029ba6: 2200 movs r2, #0 70029ba8: 2001 movs r0, #1 70029baa: 601a str r2, [r3, #0] 70029bac: f7ef fcb2 bl 70019514 70029bb0: b007 add sp, #28 70029bb2: bd30 pop {r4, r5, pc} 70029bb4: 7003cfc4 .word 0x7003cfc4 70029bb8: 2400e0d9 .word 0x2400e0d9 70029bbc: 2400010c .word 0x2400010c 70029bc0 : 70029bc0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70029bc4: 4cb4 ldr r4, [pc, #720] @ (70029e98 ) 70029bc6: b0a1 sub sp, #132 @ 0x84 70029bc8: 4688 mov r8, r1 70029bca: 7827 ldrb r7, [r4, #0] 70029bcc: 2f00 cmp r7, #0 70029bce: f040 820a bne.w 70029fe6 70029bd2: 4616 mov r6, r2 70029bd4: b2d1 uxtb r1, r2 70029bd6: f000 020f and.w r2, r0, #15 70029bda: 461d mov r5, r3 70029bdc: f400 0300 and.w r3, r0, #8388608 @ 0x800000 70029be0: 4604 mov r4, r0 70029be2: 9204 str r2, [sp, #16] 70029be4: f3c0 2203 ubfx r2, r0, #8, #4 70029be8: 930a str r3, [sp, #40] @ 0x28 70029bea: f400 0980 and.w r9, r0, #4194304 @ 0x400000 70029bee: 9201 str r2, [sp, #4] 70029bf0: f3c0 6240 ubfx r2, r0, #25, #1 70029bf4: b2eb uxtb r3, r5 70029bf6: f000 7c00 and.w ip, r0, #33554432 @ 0x2000000 70029bfa: 9202 str r2, [sp, #8] 70029bfc: 0fc7 lsrs r7, r0, #31 70029bfe: f3c0 5240 ubfx r2, r0, #21, #1 70029c02: f3c0 5b00 ubfx fp, r0, #20, #1 70029c06: 920d str r2, [sp, #52] @ 0x34 70029c08: fa5f fa88 uxtb.w sl, r8 70029c0c: f1ba 0f03 cmp.w sl, #3 70029c10: d902 bls.n 70029c18 70029c12: f04f 0800 mov.w r8, #0 70029c16: 46c2 mov sl, r8 70029c18: 2904 cmp r1, #4 70029c1a: bf28 it cs 70029c1c: f04f 36ff movcs.w r6, #4294967295 @ 0xffffffff 70029c20: 2b03 cmp r3, #3 70029c22: 4b9e ldr r3, [pc, #632] @ (70029e9c ) 70029c24: bf94 ite ls 70029c26: 4629 movls r1, r5 70029c28: 2102 movhi r1, #2 70029c2a: 781b ldrb r3, [r3, #0] 70029c2c: bf88 it hi 70029c2e: 4645 movhi r5, r8 70029c30: 910e str r1, [sp, #56] @ 0x38 70029c32: 2b00 cmp r3, #0 70029c34: f040 814c bne.w 70029ed0 70029c38: 9b02 ldr r3, [sp, #8] 70029c3a: 433b orrs r3, r7 70029c3c: 4627 mov r7, r4 70029c3e: 9303 str r3, [sp, #12] 70029c40: 4b97 ldr r3, [pc, #604] @ (70029ea0 ) 70029c42: 2f01 cmp r7, #1 70029c44: 681b ldr r3, [r3, #0] 70029c46: 7a99 ldrb r1, [r3, #10] 70029c48: f000 8168 beq.w 70029f1c 70029c4c: 9b04 ldr r3, [sp, #16] 70029c4e: f007 4280 and.w r2, r7, #1073741824 @ 0x40000000 70029c52: f007 5e00 and.w lr, r7, #536870912 @ 0x20000000 70029c56: f007 5c80 and.w ip, r7, #268435456 @ 0x10000000 70029c5a: 2b05 cmp r3, #5 70029c5c: 920b str r2, [sp, #44] @ 0x2c 70029c5e: 9a01 ldr r2, [sp, #4] 70029c60: f3c7 7380 ubfx r3, r7, #30, #1 70029c64: bf94 ite ls 70029c66: 2000 movls r0, #0 70029c68: 2001 movhi r0, #1 70029c6a: 9305 str r3, [sp, #20] 70029c6c: 9009 str r0, [sp, #36] @ 0x24 70029c6e: 2a00 cmp r2, #0 70029c70: bf18 it ne 70029c72: f040 0001 orrne.w r0, r0, #1 70029c76: f007 6280 and.w r2, r7, #67108864 @ 0x4000000 70029c7a: 9206 str r2, [sp, #24] 70029c7c: 9a03 ldr r2, [sp, #12] 70029c7e: ea52 0a00 orrs.w sl, r2, r0 70029c82: f000 81e7 beq.w 7002a054 70029c86: f1bc 0f00 cmp.w ip, #0 70029c8a: f000 8260 beq.w 7002a14e 70029c8e: 2201 movs r2, #1 70029c90: f04f 0c03 mov.w ip, #3 70029c94: 920c str r2, [sp, #48] @ 0x30 70029c96: 9a02 ldr r2, [sp, #8] 70029c98: 2a00 cmp r2, #0 70029c9a: f000 815f beq.w 70029f5c 70029c9e: 2201 movs r2, #1 70029ca0: 920f str r2, [sp, #60] @ 0x3c 70029ca2: f1bb 0f00 cmp.w fp, #0 70029ca6: f040 8160 bne.w 70029f6a 70029caa: f1be 0f00 cmp.w lr, #0 70029cae: f040 81c7 bne.w 7002a040 70029cb2: 9a06 ldr r2, [sp, #24] 70029cb4: 2a00 cmp r2, #0 70029cb6: bf0c ite eq 70029cb8: 221d moveq r2, #29 70029cba: 2204 movne r2, #4 70029cbc: 9206 str r2, [sp, #24] 70029cbe: f017 5fc0 tst.w r7, #402653184 @ 0x18000000 70029cc2: f04f 0000 mov.w r0, #0 70029cc6: 9507 str r5, [sp, #28] 70029cc8: bf0c ite eq 70029cca: f04f 0e0e moveq.w lr, #14 70029cce: f04f 0e0c movne.w lr, #12 70029cd2: 9010 str r0, [sp, #64] @ 0x40 70029cd4: 2900 cmp r1, #0 70029cd6: f000 814b beq.w 70029f70 70029cda: 1c71 adds r1, r6, #1 70029cdc: ed9f 7b6c vldr d7, [pc, #432] @ 70029e90 70029ce0: ed8d 7b10 vstr d7, [sp, #64] @ 0x40 70029ce4: f000 81f4 beq.w 7002a0d0 70029ce8: 4a6e ldr r2, [pc, #440] @ (70029ea4 ) 70029cea: 2103 movs r1, #3 70029cec: f04f 0902 mov.w r9, #2 70029cf0: ea42 12c6 orr.w r2, r2, r6, lsl #7 70029cf4: ae10 add r6, sp, #64 @ 0x40 70029cf6: 9212 str r2, [sp, #72] @ 0x48 70029cf8: f44f 5200 mov.w r2, #8192 @ 0x2000 70029cfc: 9213 str r2, [sp, #76] @ 0x4c 70029cfe: f44f 427c mov.w r2, #64512 @ 0xfc00 70029d02: 9202 str r2, [sp, #8] 70029d04: 4a68 ldr r2, [pc, #416] @ (70029ea8 ) 70029d06: 9208 str r2, [sp, #32] 70029d08: 9a03 ldr r2, [sp, #12] 70029d0a: f082 0201 eor.w r2, r2, #1 70029d0e: f1bb 0f00 cmp.w fp, #0 70029d12: f040 8165 bne.w 70029fe0 70029d16: 9c09 ldr r4, [sp, #36] @ 0x24 70029d18: b91c cbnz r4, 70029d22 70029d1a: f017 5f70 tst.w r7, #1006632960 @ 0x3c000000 70029d1e: f000 8221 beq.w 7002a164 70029d22: f44f 5a00 mov.w sl, #8192 @ 0x2000 70029d26: 9c0b ldr r4, [sp, #44] @ 0x2c 70029d28: 9f01 ldr r7, [sp, #4] 70029d2a: 433c orrs r4, r7 70029d2c: ea54 040c orrs.w r4, r4, ip 70029d30: d11b bne.n 70029d6a 70029d32: 9c04 ldr r4, [sp, #16] 70029d34: 2c01 cmp r4, #1 70029d36: d118 bne.n 70029d6a 70029d38: b1ba cbz r2, 70029d6a 70029d3a: 9f0c ldr r7, [sp, #48] @ 0x30 70029d3c: 9b06 ldr r3, [sp, #24] 70029d3e: ea47 070a orr.w r7, r7, sl 70029d42: ea47 3783 orr.w r7, r7, r3, lsl #14 70029d46: ab20 add r3, sp, #128 @ 0x80 70029d48: ea47 174e orr.w r7, r7, lr, lsl #5 70029d4c: eb03 09c9 add.w r9, r3, r9, lsl #3 70029d50: 4b56 ldr r3, [pc, #344] @ (70029eac ) 70029d52: 433b orrs r3, r7 70029d54: f849 3c3c str.w r3, [r9, #-60] 70029d58: 4b55 ldr r3, [pc, #340] @ (70029eb0 ) 70029d5a: ea43 13c8 orr.w r3, r3, r8, lsl #7 70029d5e: f849 3c40 str.w r3, [r9, #-64] 70029d62: f1c1 0320 rsb r3, r1, #32 70029d66: 930a str r3, [sp, #40] @ 0x28 70029d68: e074 b.n 70029e54 70029d6a: 9c06 ldr r4, [sp, #24] 70029d6c: f1be 0f0e cmp.w lr, #14 70029d70: bf08 it eq 70029d72: 2c1d cmpeq r4, #29 70029d74: bf14 ite ne 70029d76: 2401 movne r4, #1 70029d78: 2400 moveq r4, #0 70029d7a: 9405 str r4, [sp, #20] 70029d7c: d103 bne.n 70029d86 70029d7e: ea5c 0403 orrs.w r4, ip, r3 70029d82: f000 817e beq.w 7002a082 70029d86: 9f0c ldr r7, [sp, #48] @ 0x30 70029d88: ea4c 1cc5 orr.w ip, ip, r5, lsl #7 70029d8c: 9c06 ldr r4, [sp, #24] 70029d8e: ea47 070a orr.w r7, r7, sl 70029d92: ea4c 5c03 orr.w ip, ip, r3, lsl #20 70029d96: ab20 add r3, sp, #128 @ 0x80 70029d98: ea47 3784 orr.w r7, r7, r4, lsl #14 70029d9c: eb03 09c9 add.w r9, r3, r9, lsl #3 70029da0: 4b44 ldr r3, [pc, #272] @ (70029eb4 ) 70029da2: ea47 174e orr.w r7, r7, lr, lsl #5 70029da6: ea4c 0303 orr.w r3, ip, r3 70029daa: f047 0704 orr.w r7, r7, #4 70029dae: f849 3c40 str.w r3, [r9, #-64] 70029db2: 2300 movs r3, #0 70029db4: f849 7c3c str.w r7, [r9, #-60] 70029db8: 4689 mov r9, r1 70029dba: 461c mov r4, r3 70029dbc: 3101 adds r1, #1 70029dbe: 469a mov sl, r3 70029dc0: 9305 str r3, [sp, #20] 70029dc2: 9f01 ldr r7, [sp, #4] 70029dc4: 2f00 cmp r7, #0 70029dc6: f040 812d bne.w 7002a024 70029dca: 2a00 cmp r2, #0 70029dcc: f000 812a beq.w 7002a024 70029dd0: 4645 mov r5, r8 70029dd2: f04f 4700 mov.w r7, #2147483648 @ 0x80000000 70029dd6: 2402 movs r4, #2 70029dd8: 051b lsls r3, r3, #20 70029dda: aa20 add r2, sp, #128 @ 0x80 70029ddc: f8df c0ec ldr.w ip, [pc, #236] @ 70029ecc 70029de0: ea43 13c5 orr.w r3, r3, r5, lsl #7 70029de4: 4d34 ldr r5, [pc, #208] @ (70029eb8 ) 70029de6: eb02 09c9 add.w r9, r2, r9, lsl #3 70029dea: 4a34 ldr r2, [pc, #208] @ (70029ebc ) 70029dec: 4323 orrs r3, r4 70029dee: 4c31 ldr r4, [pc, #196] @ (70029eb4 ) 70029df0: 431c orrs r4, r3 70029df2: f849 4c40 str.w r4, [r9, #-64] 70029df6: 9c04 ldr r4, [sp, #16] 70029df8: f85c 3024 ldr.w r3, [ip, r4, lsl #2] 70029dfc: f855 4024 ldr.w r4, [r5, r4, lsl #2] 70029e00: 015b lsls r3, r3, #5 70029e02: ea43 3384 orr.w r3, r3, r4, lsl #14 70029e06: 433b orrs r3, r7 70029e08: 431a orrs r2, r3 70029e0a: f849 2c3c str.w r2, [r9, #-60] 70029e0e: b9f7 cbnz r7, 70029e4e 70029e10: 4689 mov r9, r1 70029e12: f44f 0480 mov.w r4, #4194304 @ 0x400000 70029e16: 3101 adds r1, #1 70029e18: f44f 5280 mov.w r2, #4096 @ 0x1000 70029e1c: 9f01 ldr r7, [sp, #4] 70029e1e: f85c 3027 ldr.w r3, [ip, r7, lsl #2] 70029e22: f855 7027 ldr.w r7, [r5, r7, lsl #2] 70029e26: 015b lsls r3, r3, #5 70029e28: 9d0f ldr r5, [sp, #60] @ 0x3c 70029e2a: ea43 3387 orr.w r3, r3, r7, lsl #14 70029e2e: 052d lsls r5, r5, #20 70029e30: 4323 orrs r3, r4 70029e32: ea45 15c8 orr.w r5, r5, r8, lsl #7 70029e36: 4313 orrs r3, r2 70029e38: aa20 add r2, sp, #128 @ 0x80 70029e3a: eb02 09c9 add.w r9, r2, r9, lsl #3 70029e3e: 4a20 ldr r2, [pc, #128] @ (70029ec0 ) 70029e40: 431a orrs r2, r3 70029e42: 4b20 ldr r3, [pc, #128] @ (70029ec4 ) 70029e44: 432b orrs r3, r5 70029e46: f849 2c3c str.w r2, [r9, #-60] 70029e4a: f849 3c40 str.w r3, [r9, #-64] 70029e4e: f1c1 0320 rsb r3, r1, #32 70029e52: 930a str r3, [sp, #40] @ 0x28 70029e54: 9101 str r1, [sp, #4] 70029e56: f7ef fa23 bl 700192a0 70029e5a: 9901 ldr r1, [sp, #4] 70029e5c: 4630 mov r0, r6 70029e5e: 2200 movs r2, #0 70029e60: f7ef fb3a bl 700194d8 70029e64: 4b18 ldr r3, [pc, #96] @ (70029ec8 ) 70029e66: e9dd 1207 ldrd r1, r2, [sp, #28] 70029e6a: 681b ldr r3, [r3, #0] 70029e6c: f852 0021 ldr.w r0, [r2, r1, lsl #2] 70029e70: 4318 orrs r0, r3 70029e72: 9b0a ldr r3, [sp, #40] @ 0x28 70029e74: 4318 orrs r0, r3 70029e76: 9b02 ldr r3, [sp, #8] 70029e78: ea43 4000 orr.w r0, r3, r0, lsl #16 70029e7c: f040 5080 orr.w r0, r0, #268435456 @ 0x10000000 70029e80: f7ef fb42 bl 70019508 70029e84: b021 add sp, #132 @ 0x84 70029e86: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70029e8a: bf00 nop 70029e8c: f3af 8000 nop.w 70029e90: 00f40182 .word 0x00f40182 70029e94: 02009408 .word 0x02009408 70029e98: 2400e0d8 .word 0x2400e0d8 70029e9c: 2400e0d9 .word 0x2400e0d9 70029ea0: 2400db24 .word 0x2400db24 70029ea4: 000c100b .word 0x000c100b 70029ea8: 700401a8 .word 0x700401a8 70029eac: 80000004 .word 0x80000004 70029eb0: 080c0002 .word 0x080c0002 70029eb4: 080c0000 .word 0x080c0000 70029eb8: 70040178 .word 0x70040178 70029ebc: 0a002007 .word 0x0a002007 70029ec0: 80080206 .word 0x80080206 70029ec4: 004e0002 .word 0x004e0002 70029ec8: 2400010c .word 0x2400010c 70029ecc: 70040148 .word 0x70040148 70029ed0: 2800 cmp r0, #0 70029ed2: f2c0 80b8 blt.w 7002a046 70029ed6: 4627 mov r7, r4 70029ed8: f04f 7300 mov.w r3, #33554432 @ 0x2000000 70029edc: 2000 movs r0, #0 70029ede: f1bc 0f00 cmp.w ip, #0 70029ee2: d002 beq.n 70029eea 70029ee4: f027 7700 bic.w r7, r7, #33554432 @ 0x2000000 70029ee8: 4618 mov r0, r3 70029eea: f3c7 6200 ubfx r2, r7, #24, #1 70029eee: 4613 mov r3, r2 70029ef0: 4545 cmp r5, r8 70029ef2: bf18 it ne 70029ef4: f043 0301 orrne.w r3, r3, #1 70029ef8: 9302 str r3, [sp, #8] 70029efa: 2b00 cmp r3, #0 70029efc: f000 815e beq.w 7002a1bc 70029f00: f040 0001 orr.w r0, r0, #1 70029f04: f04f 0b00 mov.w fp, #0 70029f08: f7ef fb04 bl 70019514 70029f0c: 4bba ldr r3, [pc, #744] @ (7002a1f8 ) 70029f0e: 2f01 cmp r7, #1 70029f10: 681b ldr r3, [r3, #0] 70029f12: e9cd bb02 strd fp, fp, [sp, #8] 70029f16: 7a99 ldrb r1, [r3, #10] 70029f18: f47f ae98 bne.w 70029c4c 70029f1c: ea5a 0001 orrs.w r0, sl, r1 70029f20: f000 817a beq.w 7002a218 70029f24: 9b04 ldr r3, [sp, #16] 70029f26: 9a01 ldr r2, [sp, #4] 70029f28: 2b05 cmp r3, #5 70029f2a: bf94 ite ls 70029f2c: 2300 movls r3, #0 70029f2e: 2301 movhi r3, #1 70029f30: 9309 str r3, [sp, #36] @ 0x24 70029f32: 2a00 cmp r2, #0 70029f34: bf18 it ne 70029f36: f043 0301 orrne.w r3, r3, #1 70029f3a: 9a03 ldr r2, [sp, #12] 70029f3c: ea52 0a03 orrs.w sl, r2, r3 70029f40: f000 8130 beq.w 7002a1a4 70029f44: 2300 movs r3, #0 70029f46: f04f 0c03 mov.w ip, #3 70029f4a: 9a02 ldr r2, [sp, #8] 70029f4c: 469e mov lr, r3 70029f4e: e9cd 3305 strd r3, r3, [sp, #20] 70029f52: e9cd 3c0b strd r3, ip, [sp, #44] @ 0x2c 70029f56: 2a00 cmp r2, #0 70029f58: f47f aea1 bne.w 70029c9e 70029f5c: 9a03 ldr r2, [sp, #12] 70029f5e: 0052 lsls r2, r2, #1 70029f60: 920f str r2, [sp, #60] @ 0x3c 70029f62: f1bb 0f00 cmp.w fp, #0 70029f66: f43f aea0 beq.w 70029caa 70029f6a: 2217 movs r2, #23 70029f6c: 9206 str r2, [sp, #24] 70029f6e: e6a6 b.n 70029cbe 70029f70: 1c72 adds r2, r6, #1 70029f72: f000 8089 beq.w 7002a088 70029f76: 9a0a ldr r2, [sp, #40] @ 0x28 70029f78: 2a00 cmp r2, #0 70029f7a: d178 bne.n 7002a06e 70029f7c: f1b9 0f00 cmp.w r9, #0 70029f80: f000 8100 beq.w 7002a184 70029f84: 9a0d ldr r2, [sp, #52] @ 0x34 70029f86: 2a00 cmp r2, #0 70029f88: f000 817c beq.w 7002a284 70029f8c: f44f 425c mov.w r2, #56320 @ 0xdc00 70029f90: 9202 str r2, [sp, #8] 70029f92: 4a9a ldr r2, [pc, #616] @ (7002a1fc ) 70029f94: 9208 str r2, [sp, #32] 70029f96: 4a9a ldr r2, [pc, #616] @ (7002a200 ) 70029f98: 2000 movs r0, #0 70029f9a: 990e ldr r1, [sp, #56] @ 0x38 70029f9c: f414 0440 ands.w r4, r4, #12582912 @ 0xc00000 70029fa0: ea42 12c6 orr.w r2, r2, r6, lsl #7 70029fa4: 9013 str r0, [sp, #76] @ 0x4c 70029fa6: 9210 str r2, [sp, #64] @ 0x40 70029fa8: f241 020b movw r2, #4107 @ 0x100b 70029fac: ea42 12c1 orr.w r2, r2, r1, lsl #7 70029fb0: 9212 str r2, [sp, #72] @ 0x48 70029fb2: f44f 5200 mov.w r2, #8192 @ 0x2000 70029fb6: 9211 str r2, [sp, #68] @ 0x44 70029fb8: f000 80ce beq.w 7002a158 70029fbc: 2104 movs r1, #4 70029fbe: f04f 0903 mov.w r9, #3 70029fc2: 2202 movs r2, #2 70029fc4: ae10 add r6, sp, #64 @ 0x40 70029fc6: ed9f 7b8a vldr d7, [pc, #552] @ 7002a1f0 70029fca: eb06 02c2 add.w r2, r6, r2, lsl #3 70029fce: ed82 7b00 vstr d7, [r2] 70029fd2: 9a03 ldr r2, [sp, #12] 70029fd4: f082 0201 eor.w r2, r2, #1 70029fd8: f1bb 0f00 cmp.w fp, #0 70029fdc: f43f ae9b beq.w 70029d16 70029fe0: f44f 5a60 mov.w sl, #14336 @ 0x3800 70029fe4: e69f b.n 70029d26 70029fe6: f04f 3020 mov.w r0, #538976288 @ 0x20202020 70029fea: f04f 0b00 mov.w fp, #0 70029fee: f7ef fae7 bl 700195c0 70029ff2: 2000 movs r0, #0 70029ff4: f7ed ff20 bl 70017e38 70029ff8: 2301 movs r3, #1 70029ffa: f240 1001 movw r0, #257 @ 0x101 70029ffe: f04f 35ff mov.w r5, #4294967295 @ 0xffffffff 7002a002: 461a mov r2, r3 7002a004: 9301 str r3, [sp, #4] 7002a006: 23ff movs r3, #255 @ 0xff 7002a008: 465f mov r7, fp 7002a00a: 46d9 mov r9, fp 7002a00c: 46dc mov ip, fp 7002a00e: 4619 mov r1, r3 7002a010: 462e mov r6, r5 7002a012: 4604 mov r4, r0 7002a014: f8cd b034 str.w fp, [sp, #52] @ 0x34 7002a018: f8cd b008 str.w fp, [sp, #8] 7002a01c: 9204 str r2, [sp, #16] 7002a01e: f8cd b028 str.w fp, [sp, #40] @ 0x28 7002a022: e5f1 b.n 70029c08 7002a024: 9a05 ldr r2, [sp, #20] 7002a026: b94a cbnz r2, 7002a03c 7002a028: f1ba 0f00 cmp.w sl, #0 7002a02c: d106 bne.n 7002a03c 7002a02e: 9a04 ldr r2, [sp, #16] 7002a030: 2a00 cmp r2, #0 7002a032: f000 80d4 beq.w 7002a1de 7002a036: 2a01 cmp r2, #1 7002a038: f000 810b beq.w 7002a252 7002a03c: 2700 movs r7, #0 7002a03e: e6cb b.n 70029dd8 7002a040: 2211 movs r2, #17 7002a042: 9206 str r2, [sp, #24] 7002a044: e63b b.n 70029cbe 7002a046: f024 4700 bic.w r7, r4, #2147483648 @ 0x80000000 7002a04a: f04f 4302 mov.w r3, #2181038080 @ 0x82000000 7002a04e: f04f 4000 mov.w r0, #2147483648 @ 0x80000000 7002a052: e744 b.n 70029ede 7002a054: f1bc 0f00 cmp.w ip, #0 7002a058: f000 810a beq.w 7002a270 7002a05c: 2201 movs r2, #1 7002a05e: 46d4 mov ip, sl 7002a060: f8cd a024 str.w sl, [sp, #36] @ 0x24 7002a064: 920c str r2, [sp, #48] @ 0x30 7002a066: 9a03 ldr r2, [sp, #12] 7002a068: 0052 lsls r2, r2, #1 7002a06a: 920f str r2, [sp, #60] @ 0x3c 7002a06c: e779 b.n 70029f62 7002a06e: 9a0d ldr r2, [sp, #52] @ 0x34 7002a070: 2a00 cmp r2, #0 7002a072: f000 8100 beq.w 7002a276 7002a076: f44f 424c mov.w r2, #52224 @ 0xcc00 7002a07a: 9202 str r2, [sp, #8] 7002a07c: 4a5f ldr r2, [pc, #380] @ (7002a1fc ) 7002a07e: 9208 str r2, [sp, #32] 7002a080: e789 b.n 70029f96 7002a082: 4623 mov r3, r4 7002a084: 46a2 mov sl, r4 7002a086: e69c b.n 70029dc2 7002a088: f1ba 0f00 cmp.w sl, #0 7002a08c: d075 beq.n 7002a17a 7002a08e: 4a5b ldr r2, [pc, #364] @ (7002a1fc ) 7002a090: 468c mov ip, r1 7002a092: 9208 str r2, [sp, #32] 7002a094: f852 2025 ldr.w r2, [r2, r5, lsl #2] 7002a098: f442 4230 orr.w r2, r2, #45056 @ 0xb000 7002a09c: 9202 str r2, [sp, #8] 7002a09e: 9a0a ldr r2, [sp, #40] @ 0x28 7002a0a0: 2a00 cmp r2, #0 7002a0a2: d061 beq.n 7002a168 7002a0a4: f44f 424c mov.w r2, #52224 @ 0xcc00 7002a0a8: 2001 movs r0, #1 7002a0aa: f04f 0a00 mov.w sl, #0 7002a0ae: 9202 str r2, [sp, #8] 7002a0b0: 4a54 ldr r2, [pc, #336] @ (7002a204 ) 7002a0b2: f414 0f40 tst.w r4, #12582912 @ 0xc00000 7002a0b6: ea42 12c6 orr.w r2, r2, r6, lsl #7 7002a0ba: 9210 str r2, [sp, #64] @ 0x40 7002a0bc: f44f 5200 mov.w r2, #8192 @ 0x2000 7002a0c0: 9211 str r2, [sp, #68] @ 0x44 7002a0c2: f000 80bb beq.w 7002a23c 7002a0c6: 2103 movs r1, #3 7002a0c8: f04f 0902 mov.w r9, #2 7002a0cc: 2201 movs r2, #1 7002a0ce: e779 b.n 70029fc4 7002a0d0: 221e movs r2, #30 7002a0d2: 2001 movs r0, #1 7002a0d4: 2102 movs r1, #2 7002a0d6: 920a str r2, [sp, #40] @ 0x28 7002a0d8: f44f 427c mov.w r2, #64512 @ 0xfc00 7002a0dc: 4681 mov r9, r0 7002a0de: 9202 str r2, [sp, #8] 7002a0e0: 4a46 ldr r2, [pc, #280] @ (7002a1fc ) 7002a0e2: 9208 str r2, [sp, #32] 7002a0e4: 9a01 ldr r2, [sp, #4] 7002a0e6: 2a01 cmp r2, #1 7002a0e8: f200 80ab bhi.w 7002a242 7002a0ec: f5b4 1f80 cmp.w r4, #1048576 @ 0x100000 7002a0f0: f080 80a7 bcs.w 7002a242 7002a0f4: 0634 lsls r4, r6, #24 7002a0f6: f140 80a4 bpl.w 7002a242 7002a0fa: 4545 cmp r5, r8 7002a0fc: f040 80a1 bne.w 7002a242 7002a100: ab20 add r3, sp, #128 @ 0x80 7002a102: 9c04 ldr r4, [sp, #16] 7002a104: 2a00 cmp r2, #0 7002a106: 4a40 ldr r2, [pc, #256] @ (7002a208 ) 7002a108: eb03 09c9 add.w r9, r3, r9, lsl #3 7002a10c: 4b3f ldr r3, [pc, #252] @ (7002a20c ) 7002a10e: f852 2024 ldr.w r2, [r2, r4, lsl #2] 7002a112: ae10 add r6, sp, #64 @ 0x40 7002a114: f853 3024 ldr.w r3, [r3, r4, lsl #2] 7002a118: ea4f 1343 mov.w r3, r3, lsl #5 7002a11c: ea43 3382 orr.w r3, r3, r2, lsl #14 7002a120: bf14 ite ne 7002a122: f44f 1200 movne.w r2, #2097152 @ 0x200000 7002a126: f44f 0200 moveq.w r2, #8388608 @ 0x800000 7002a12a: ea43 0302 orr.w r3, r3, r2 7002a12e: bf14 ite ne 7002a130: f44f 6200 movne.w r2, #2048 @ 0x800 7002a134: f44f 5200 moveq.w r2, #8192 @ 0x2000 7002a138: 4313 orrs r3, r2 7002a13a: 4a35 ldr r2, [pc, #212] @ (7002a210 ) 7002a13c: 431a orrs r2, r3 7002a13e: 4b35 ldr r3, [pc, #212] @ (7002a214 ) 7002a140: ea43 13c8 orr.w r3, r3, r8, lsl #7 7002a144: f849 2c3c str.w r2, [r9, #-60] 7002a148: f849 3c40 str.w r3, [r9, #-64] 7002a14c: e682 b.n 70029e54 7002a14e: f04f 0c03 mov.w ip, #3 7002a152: 2203 movs r2, #3 7002a154: 920c str r2, [sp, #48] @ 0x30 7002a156: e59e b.n 70029c96 7002a158: 4620 mov r0, r4 7002a15a: 2103 movs r1, #3 7002a15c: f04f 0902 mov.w r9, #2 7002a160: ae10 add r6, sp, #64 @ 0x40 7002a162: e5d1 b.n 70029d08 7002a164: 4664 mov r4, ip 7002a166: e62c b.n 70029dc2 7002a168: f1b9 0f00 cmp.w r9, #0 7002a16c: d06b beq.n 7002a246 7002a16e: 4692 mov sl, r2 7002a170: f44f 425c mov.w r2, #56320 @ 0xdc00 7002a174: 2001 movs r0, #1 7002a176: 9202 str r2, [sp, #8] 7002a178: e79a b.n 7002a0b0 7002a17a: 4a20 ldr r2, [pc, #128] @ (7002a1fc ) 7002a17c: f8cd a008 str.w sl, [sp, #8] 7002a180: 9208 str r2, [sp, #32] 7002a182: e78c b.n 7002a09e 7002a184: 4a1d ldr r2, [pc, #116] @ (7002a1fc ) 7002a186: 9208 str r2, [sp, #32] 7002a188: f852 2026 ldr.w r2, [r2, r6, lsl #2] 7002a18c: f442 4200 orr.w r2, r2, #32768 @ 0x8000 7002a190: 9202 str r2, [sp, #8] 7002a192: 9a0d ldr r2, [sp, #52] @ 0x34 7002a194: 2a00 cmp r2, #0 7002a196: f47f aefe bne.w 70029f96 7002a19a: 221f movs r2, #31 7002a19c: 4648 mov r0, r9 7002a19e: 2101 movs r1, #1 7002a1a0: 920a str r2, [sp, #40] @ 0x28 7002a1a2: e79f b.n 7002a0e4 7002a1a4: 4653 mov r3, sl 7002a1a6: 46d4 mov ip, sl 7002a1a8: 46d6 mov lr, sl 7002a1aa: f8cd a014 str.w sl, [sp, #20] 7002a1ae: f8cd a024 str.w sl, [sp, #36] @ 0x24 7002a1b2: f8cd a018 str.w sl, [sp, #24] 7002a1b6: f8cd a02c str.w sl, [sp, #44] @ 0x2c 7002a1ba: e7ca b.n 7002a152 7002a1bc: 9a01 ldr r2, [sp, #4] 7002a1be: f36f 0713 bfc r7, #0, #20 7002a1c2: 9b04 ldr r3, [sp, #16] 7002a1c4: f047 0701 orr.w r7, r7, #1 7002a1c8: ea43 2302 orr.w r3, r3, r2, lsl #8 7002a1cc: 4318 orrs r0, r3 7002a1ce: f7ef f9a1 bl 70019514 7002a1d2: 9a02 ldr r2, [sp, #8] 7002a1d4: 2301 movs r3, #1 7002a1d6: 9201 str r2, [sp, #4] 7002a1d8: 9304 str r3, [sp, #16] 7002a1da: 9203 str r2, [sp, #12] 7002a1dc: e530 b.n 70029c40 7002a1de: f44f 0400 mov.w r4, #8388608 @ 0x800000 7002a1e2: f44f 5200 mov.w r2, #8192 @ 0x2000 7002a1e6: 4d08 ldr r5, [pc, #32] @ (7002a208 ) 7002a1e8: f8df c020 ldr.w ip, [pc, #32] @ 7002a20c 7002a1ec: e616 b.n 70029e1c 7002a1ee: bf00 nop 7002a1f0: 000c0000 .word 0x000c0000 7002a1f4: 0081a042 .word 0x0081a042 7002a1f8: 2400db24 .word 0x2400db24 7002a1fc: 700401a8 .word 0x700401a8 7002a200: 080c100b .word 0x080c100b 7002a204: 000c100b .word 0x000c100b 7002a208: 70040178 .word 0x70040178 7002a20c: 70040148 .word 0x70040148 7002a210: 8a000006 .word 0x8a000006 7002a214: 080c0002 .word 0x080c0002 7002a218: 1c74 adds r4, r6, #1 7002a21a: d020 beq.n 7002a25e 7002a21c: f7ef f840 bl 700192a0 7002a220: 4a1c ldr r2, [pc, #112] @ (7002a294 ) 7002a222: 4b1d ldr r3, [pc, #116] @ (7002a298 ) 7002a224: 6812 ldr r2, [r2, #0] 7002a226: f853 3026 ldr.w r3, [r3, r6, lsl #2] 7002a22a: 481c ldr r0, [pc, #112] @ (7002a29c ) 7002a22c: ea43 4302 orr.w r3, r3, r2, lsl #16 7002a230: 4318 orrs r0, r3 7002a232: b021 add sp, #132 @ 0x84 7002a234: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002a238: f7ef b966 b.w 70019508 7002a23c: 2102 movs r1, #2 7002a23e: f04f 0901 mov.w r9, #1 7002a242: ae10 add r6, sp, #64 @ 0x40 7002a244: e560 b.n 70029d08 7002a246: 2001 movs r0, #1 7002a248: 221f movs r2, #31 7002a24a: 46ca mov sl, r9 7002a24c: 4601 mov r1, r0 7002a24e: 920a str r2, [sp, #40] @ 0x28 7002a250: e748 b.n 7002a0e4 7002a252: 4654 mov r4, sl 7002a254: 4d12 ldr r5, [pc, #72] @ (7002a2a0 ) 7002a256: f8df c050 ldr.w ip, [pc, #80] @ 7002a2a8 7002a25a: 4652 mov r2, sl 7002a25c: e5de b.n 70029e1c 7002a25e: 4638 mov r0, r7 7002a260: f7ef f81e bl 700192a0 7002a264: 4a0b ldr r2, [pc, #44] @ (7002a294 ) 7002a266: 4b0f ldr r3, [pc, #60] @ (7002a2a4 ) 7002a268: 6810 ldr r0, [r2, #0] 7002a26a: ea43 4000 orr.w r0, r3, r0, lsl #16 7002a26e: e7e0 b.n 7002a232 7002a270: f8cd c024 str.w ip, [sp, #36] @ 0x24 7002a274: e76d b.n 7002a152 7002a276: 4610 mov r0, r2 7002a278: f44f 424c mov.w r2, #52224 @ 0xcc00 7002a27c: 9202 str r2, [sp, #8] 7002a27e: 4a06 ldr r2, [pc, #24] @ (7002a298 ) 7002a280: 9208 str r2, [sp, #32] 7002a282: e715 b.n 7002a0b0 7002a284: 4610 mov r0, r2 7002a286: f44f 425c mov.w r2, #56320 @ 0xdc00 7002a28a: 9202 str r2, [sp, #8] 7002a28c: 4a02 ldr r2, [pc, #8] @ (7002a298 ) 7002a28e: 9208 str r2, [sp, #32] 7002a290: e70e b.n 7002a0b0 7002a292: bf00 nop 7002a294: 2400010c .word 0x2400010c 7002a298: 700401a8 .word 0x700401a8 7002a29c: 141f801f .word 0x141f801f 7002a2a0: 70040178 .word 0x70040178 7002a2a4: 141f001f .word 0x141f001f 7002a2a8: 70040148 .word 0x70040148 7002a2ac : 7002a2ac: b510 push {r4, lr} 7002a2ae: 4604 mov r4, r0 7002a2b0: 2001 movs r0, #1 7002a2b2: 4621 mov r1, r4 7002a2b4: f7ed fd3e bl 70017d34 7002a2b8: 4b04 ldr r3, [pc, #16] @ (7002a2cc ) 7002a2ba: 781b ldrb r3, [r3, #0] 7002a2bc: b903 cbnz r3, 7002a2c0 7002a2be: bd10 pop {r4, pc} 7002a2c0: 4620 mov r0, r4 7002a2c2: e8bd 4010 ldmia.w sp!, {r4, lr} 7002a2c6: f7ef b92b b.w 70019520 7002a2ca: bf00 nop 7002a2cc: 2400e0d9 .word 0x2400e0d9 7002a2d0 : 7002a2d0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002a2d4: 4604 mov r4, r0 7002a2d6: ed2d 8b10 vpush {d8-d15} 7002a2da: b095 sub sp, #84 @ 0x54 7002a2dc: f7fe fcbc bl 70028c58 7002a2e0: 6823 ldr r3, [r4, #0] 7002a2e2: 2b00 cmp r3, #0 7002a2e4: f000 8186 beq.w 7002a5f4 7002a2e8: 68a6 ldr r6, [r4, #8] 7002a2ea: 7835 ldrb r5, [r6, #0] 7002a2ec: f025 0290 bic.w r2, r5, #144 @ 0x90 7002a2f0: 2a01 cmp r2, #1 7002a2f2: d02c beq.n 7002a34e 7002a2f4: ed94 7a04 vldr s14, [r4, #16] 7002a2f8: edd4 7a05 vldr s15, [r4, #20] 7002a2fc: eeb5 7ac0 vcmpe.f32 s14, #0.0 7002a300: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a304: eef5 7ac0 vcmpe.f32 s15, #0.0 7002a308: bfc8 it gt 7002a30a: ed9f 7a5d vldrgt s14, [pc, #372] @ 7002a480 7002a30e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a312: ed84 7a04 vstr s14, [r4, #16] 7002a316: ed94 7a06 vldr s14, [r4, #24] 7002a31a: bfc8 it gt 7002a31c: eddf 7a58 vldrgt s15, [pc, #352] @ 7002a480 7002a320: eeb5 7ac0 vcmpe.f32 s14, #0.0 7002a324: edc4 7a05 vstr s15, [r4, #20] 7002a328: edd4 7a07 vldr s15, [r4, #28] 7002a32c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a330: eef5 7ac0 vcmpe.f32 s15, #0.0 7002a334: bf48 it mi 7002a336: ed9f 7a52 vldrmi s14, [pc, #328] @ 7002a480 7002a33a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a33e: ed84 7a06 vstr s14, [r4, #24] 7002a342: bf48 it mi 7002a344: eddf 7a4e vldrmi s15, [pc, #312] @ 7002a480 7002a348: edc4 7a07 vstr s15, [r4, #28] 7002a34c: 7835 ldrb r5, [r6, #0] 7002a34e: f103 38ff add.w r8, r3, #4294967295 @ 0xffffffff 7002a352: f005 036f and.w r3, r5, #111 @ 0x6f 7002a356: ed9f ea4a vldr s28, [pc, #296] @ 7002a480 7002a35a: 2000 movs r0, #0 7002a35c: f04f 0b01 mov.w fp, #1 7002a360: 2b01 cmp r3, #1 7002a362: eef0 5a4e vmov.f32 s11, s28 7002a366: 44b0 add r8, r6 7002a368: eef0 4a4e vmov.f32 s9, s28 7002a36c: 4607 mov r7, r0 7002a36e: eef0 da4e vmov.f32 s27, s28 7002a372: 46d9 mov r9, fp 7002a374: eeb0 fa4e vmov.f32 s30, s28 7002a378: f005 0110 and.w r1, r5, #16 7002a37c: eef0 ca4e vmov.f32 s25, s28 7002a380: 9002 str r0, [sp, #8] 7002a382: eef0 ea4e vmov.f32 s29, s28 7002a386: eeb0 9a4e vmov.f32 s18, s28 7002a38a: eef0 8a4e vmov.f32 s17, s28 7002a38e: eeb0 8a4e vmov.f32 s16, s28 7002a392: eef0 fa4e vmov.f32 s31, s28 7002a396: d059 beq.n 7002a44c 7002a398: 066a lsls r2, r5, #25 7002a39a: f040 83f1 bne.w 7002ab80 7002a39e: f1b9 0f01 cmp.w r9, #1 7002a3a2: f000 8469 beq.w 7002ac78 7002a3a6: eef0 7a4e vmov.f32 s15, s28 7002a3aa: eeb0 3a65 vmov.f32 s6, s11 7002a3ae: 2300 movs r3, #0 7002a3b0: 4628 mov r0, r5 7002a3b2: 469b mov fp, r3 7002a3b4: eeb0 2a68 vmov.f32 s4, s17 7002a3b8: eeb0 0a48 vmov.f32 s0, s16 7002a3bc: eef0 8a67 vmov.f32 s17, s15 7002a3c0: eeb0 8a43 vmov.f32 s16, s6 7002a3c4: 3b01 subs r3, #1 7002a3c6: 2b07 cmp r3, #7 7002a3c8: f200 85ba bhi.w 7002af40 7002a3cc: e8df f013 tbh [pc, r3, lsl #1] 7002a3d0: 00080008 .word 0x00080008 7002a3d4: 00080008 .word 0x00080008 7002a3d8: 0179005e .word 0x0179005e 7002a3dc: 0179005e .word 0x0179005e 7002a3e0: ed94 2a04 vldr s4, [r4, #16] 7002a3e4: edd4 2a05 vldr s5, [r4, #20] 7002a3e8: eeb4 2a48 vcmp.f32 s4, s16 7002a3ec: ed94 3a06 vldr s6, [r4, #24] 7002a3f0: edd4 7a07 vldr s15, [r4, #28] 7002a3f4: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a3f8: eef4 2a68 vcmp.f32 s5, s17 7002a3fc: fe38 2a02 vselgt.f32 s4, s16, s4 7002a400: ed84 2a04 vstr s4, [r4, #16] 7002a404: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a408: eeb4 3a48 vcmp.f32 s6, s16 7002a40c: fe78 2aa2 vselgt.f32 s5, s17, s5 7002a410: edc4 2a05 vstr s5, [r4, #20] 7002a414: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a418: eef4 7a68 vcmp.f32 s15, s17 7002a41c: bf48 it mi 7002a41e: eeb0 3a48 vmovmi.f32 s6, s16 7002a422: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a426: ed84 3a06 vstr s6, [r4, #24] 7002a42a: bf48 it mi 7002a42c: eef0 7a68 vmovmi.f32 s15, s17 7002a430: edc4 7a07 vstr s15, [r4, #28] 7002a434: 45b0 cmp r8, r6 7002a436: f000 80dd beq.w 7002a5f4 7002a43a: 4628 mov r0, r5 7002a43c: f816 5f01 ldrb.w r5, [r6, #1]! 7002a440: f005 036f and.w r3, r5, #111 @ 0x6f 7002a444: f005 0110 and.w r1, r5, #16 7002a448: 2b01 cmp r3, #1 7002a44a: d1a5 bne.n 7002a398 7002a44c: f1bb 0f00 cmp.w fp, #0 7002a450: f040 8363 bne.w 7002ab1a 7002a454: 4628 mov r0, r5 7002a456: 68e2 ldr r2, [r4, #12] 7002a458: eb02 0287 add.w r2, r2, r7, lsl #2 7002a45c: 3702 adds r7, #2 7002a45e: ed92 3a00 vldr s6, [r2] 7002a462: edd2 7a01 vldr s15, [r2, #4] 7002a466: b119 cbz r1, 7002a470 7002a468: ee33 3a08 vadd.f32 s6, s6, s16 7002a46c: ee77 7aa8 vadd.f32 s15, s15, s17 7002a470: eeb0 ea67 vmov.f32 s28, s15 7002a474: f04f 0900 mov.w r9, #0 7002a478: eef0 5a43 vmov.f32 s11, s6 7002a47c: e79a b.n 7002a3b4 7002a47e: bf00 nop 7002a480: 00000000 .word 0x00000000 7002a484: 33d6bf95 .word 0x33d6bf95 7002a488: 3f7ffffe .word 0x3f7ffffe 7002a48c: ed94 3a04 vldr s6, [r4, #16] 7002a490: edd4 1a05 vldr s3, [r4, #20] 7002a494: eeb4 3ac8 vcmpe.f32 s6, s16 7002a498: edd4 2a06 vldr s5, [r4, #24] 7002a49c: ed94 1a07 vldr s2, [r4, #28] 7002a4a0: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a4a4: eef4 8ae1 vcmpe.f32 s17, s3 7002a4a8: bf58 it pl 7002a4aa: eeb0 3a48 vmovpl.f32 s6, s16 7002a4ae: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a4b2: eef4 2ac8 vcmpe.f32 s5, s16 7002a4b6: ed84 3a04 vstr s6, [r4, #16] 7002a4ba: fe71 1aa8 vselgt.f32 s3, s3, s17 7002a4be: edc4 1a05 vstr s3, [r4, #20] 7002a4c2: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a4c6: eef4 8ac1 vcmpe.f32 s17, s2 7002a4ca: fe72 2a88 vselgt.f32 s5, s5, s16 7002a4ce: edc4 2a06 vstr s5, [r4, #24] 7002a4d2: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a4d6: eeb4 3ac9 vcmpe.f32 s6, s18 7002a4da: bf58 it pl 7002a4dc: eeb0 1a68 vmovpl.f32 s2, s17 7002a4e0: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a4e4: ed84 1a07 vstr s2, [r4, #28] 7002a4e8: d80e bhi.n 7002a508 7002a4ea: eef4 2ac9 vcmpe.f32 s5, s18 7002a4ee: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a4f2: db09 blt.n 7002a508 7002a4f4: eef4 1aee vcmpe.f32 s3, s29 7002a4f8: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a4fc: d804 bhi.n 7002a508 7002a4fe: eeb4 1aee vcmpe.f32 s2, s29 7002a502: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a506: da95 bge.n 7002a434 7002a508: ee79 9a09 vadd.f32 s19, s18, s18 7002a50c: ee70 0a00 vadd.f32 s1, s0, s0 7002a510: ee78 7a08 vadd.f32 s15, s16, s16 7002a514: ee79 0ae0 vsub.f32 s1, s19, s1 7002a518: ee77 7ae9 vsub.f32 s15, s15, s19 7002a51c: ee77 7ae0 vsub.f32 s15, s15, s1 7002a520: eef5 7ac0 vcmpe.f32 s15, #0.0 7002a524: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a528: f100 82b7 bmi.w 7002aa9a 7002a52c: ed5f 9a2b vldr s19, [pc, #-172] @ 7002a484 7002a530: eef4 7ae9 vcmpe.f32 s15, s19 7002a534: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a538: f300 82b7 bgt.w 7002aaaa 7002a53c: ee3e 0aae vadd.f32 s0, s29, s29 7002a540: ee72 0a02 vadd.f32 s1, s4, s4 7002a544: ee78 7aa8 vadd.f32 s15, s17, s17 7002a548: ee70 0a60 vsub.f32 s1, s0, s1 7002a54c: ee77 7ac0 vsub.f32 s15, s15, s0 7002a550: ee77 7ae0 vsub.f32 s15, s15, s1 7002a554: eef5 7ac0 vcmpe.f32 s15, #0.0 7002a558: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a55c: f100 8465 bmi.w 7002ae2a 7002a560: ed1f 0a38 vldr s0, [pc, #-224] @ 7002a484 7002a564: eef4 7ac0 vcmpe.f32 s15, s0 7002a568: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a56c: bfcc ite gt 7002a56e: 2301 movgt r3, #1 7002a570: 2300 movle r3, #0 7002a572: b3a3 cbz r3, 7002a5de 7002a574: eef1 0a60 vneg.f32 s1, s1 7002a578: ee80 0aa7 vdiv.f32 s0, s1, s15 7002a57c: ed5f 7a3f vldr s15, [pc, #-252] @ 7002a484 7002a580: eeb4 0ae7 vcmpe.f32 s0, s15 7002a584: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a588: dd29 ble.n 7002a5de 7002a58a: ed5f 7a41 vldr s15, [pc, #-260] @ 7002a488 7002a58e: eeb4 0ae7 vcmpe.f32 s0, s15 7002a592: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a596: d522 bpl.n 7002a5de 7002a598: eef7 0a00 vmov.f32 s1, #112 @ 0x3f800000 1.0 7002a59c: ee60 9a00 vmul.f32 s19, s0, s0 7002a5a0: ee70 0ac0 vsub.f32 s1, s1, s0 7002a5a4: ee69 9aa8 vmul.f32 s19, s19, s17 7002a5a8: ee70 7aa0 vadd.f32 s15, s1, s1 7002a5ac: ee60 0aa0 vmul.f32 s1, s1, s1 7002a5b0: ee67 7a80 vmul.f32 s15, s15, s0 7002a5b4: ee20 2a82 vmul.f32 s4, s1, s4 7002a5b8: ee67 7aae vmul.f32 s15, s15, s29 7002a5bc: ee77 7a82 vadd.f32 s15, s15, s4 7002a5c0: ee77 7aa9 vadd.f32 s15, s15, s19 7002a5c4: eef4 1ae7 vcmpe.f32 s3, s15 7002a5c8: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a5cc: eeb4 1ae7 vcmpe.f32 s2, s15 7002a5d0: bf58 it pl 7002a5d2: eef0 1a67 vmovpl.f32 s3, s15 7002a5d6: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a5da: fe31 1a27 vselgt.f32 s2, s2, s15 7002a5de: 45b0 cmp r8, r6 7002a5e0: ed84 3a04 vstr s6, [r4, #16] 7002a5e4: edc4 1a05 vstr s3, [r4, #20] 7002a5e8: edc4 2a06 vstr s5, [r4, #24] 7002a5ec: ed84 1a07 vstr s2, [r4, #28] 7002a5f0: f47f af23 bne.w 7002a43a 7002a5f4: ed94 4a04 vldr s8, [r4, #16] 7002a5f8: edd4 4a05 vldr s9, [r4, #20] 7002a5fc: eebd 7ac4 vcvt.s32.f32 s14, s8 7002a600: ed94 5a06 vldr s10, [r4, #24] 7002a604: eefd 7ae4 vcvt.s32.f32 s15, s9 7002a608: edd4 5a07 vldr s11, [r4, #28] 7002a60c: eebd 6ac5 vcvt.s32.f32 s12, s10 7002a610: eeb8 2ac7 vcvt.f32.s32 s4, s14 7002a614: ee17 2a10 vmov r2, s14 7002a618: eef8 2ae7 vcvt.f32.s32 s5, s15 7002a61c: eeb8 3ac6 vcvt.f32.s32 s6, s12 7002a620: eeb4 4ac2 vcmpe.f32 s8, s4 7002a624: eefd 6ae5 vcvt.s32.f32 s13, s11 7002a628: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a62c: eef4 4ae2 vcmpe.f32 s9, s5 7002a630: eef8 3ae6 vcvt.f32.s32 s7, s13 7002a634: bf4c ite mi 7002a636: 2301 movmi r3, #1 7002a638: 2300 movpl r3, #0 7002a63a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a63e: eba2 0303 sub.w r3, r2, r3 7002a642: eeb4 5ac3 vcmpe.f32 s10, s6 7002a646: ee17 2a90 vmov r2, s15 7002a64a: ee07 3a10 vmov s14, r3 7002a64e: bf4c ite mi 7002a650: 2301 movmi r3, #1 7002a652: 2300 movpl r3, #0 7002a654: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a658: eef4 5ae3 vcmpe.f32 s11, s7 7002a65c: eba2 0303 sub.w r3, r2, r3 7002a660: ee16 2a10 vmov r2, s12 7002a664: eeb8 7ac7 vcvt.f32.s32 s14, s14 7002a668: ee07 3a90 vmov s15, r3 7002a66c: bfcc ite gt 7002a66e: 2301 movgt r3, #1 7002a670: 2300 movle r3, #0 7002a672: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a676: eef8 7ae7 vcvt.f32.s32 s15, s15 7002a67a: ed84 7a04 vstr s14, [r4, #16] 7002a67e: 441a add r2, r3 7002a680: bfcc ite gt 7002a682: 2301 movgt r3, #1 7002a684: 2300 movle r3, #0 7002a686: ee06 2a10 vmov s12, r2 7002a68a: ee16 2a90 vmov r2, s13 7002a68e: edc4 7a05 vstr s15, [r4, #20] 7002a692: 4413 add r3, r2 7002a694: eeb8 6ac6 vcvt.f32.s32 s12, s12 7002a698: ee06 3a90 vmov s13, r3 7002a69c: ee36 7a47 vsub.f32 s14, s12, s14 7002a6a0: ed84 6a06 vstr s12, [r4, #24] 7002a6a4: eef8 6ae6 vcvt.f32.s32 s13, s13 7002a6a8: ed84 7a14 vstr s14, [r4, #80] @ 0x50 7002a6ac: ee76 7ae7 vsub.f32 s15, s13, s15 7002a6b0: edc4 6a07 vstr s13, [r4, #28] 7002a6b4: edc4 7a15 vstr s15, [r4, #84] @ 0x54 7002a6b8: b015 add sp, #84 @ 0x54 7002a6ba: ecbd 8b10 vpop {d8-d15} 7002a6be: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002a6c2: edd4 9a04 vldr s19, [r4, #16] 7002a6c6: edd4 1a05 vldr s3, [r4, #20] 7002a6ca: eef4 9ac8 vcmpe.f32 s19, s16 7002a6ce: ed94 aa06 vldr s20, [r4, #24] 7002a6d2: ed94 1a07 vldr s2, [r4, #28] 7002a6d6: edcd fa0e vstr s31, [sp, #56] @ 0x38 7002a6da: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a6de: edcd fa0f vstr s31, [sp, #60] @ 0x3c 7002a6e2: eef4 8ae1 vcmpe.f32 s17, s3 7002a6e6: bf58 it pl 7002a6e8: eef0 9a48 vmovpl.f32 s19, s16 7002a6ec: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a6f0: eeb4 aac8 vcmpe.f32 s20, s16 7002a6f4: edc4 9a04 vstr s19, [r4, #16] 7002a6f8: fe71 1aa8 vselgt.f32 s3, s3, s17 7002a6fc: edcd 9a10 vstr s19, [sp, #64] @ 0x40 7002a700: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a704: edc4 1a05 vstr s3, [r4, #20] 7002a708: eef4 8ac1 vcmpe.f32 s17, s2 7002a70c: edcd 1a11 vstr s3, [sp, #68] @ 0x44 7002a710: fe3a aa08 vselgt.f32 s20, s20, s16 7002a714: ed84 aa06 vstr s20, [r4, #24] 7002a718: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a71c: ed8d aa12 vstr s20, [sp, #72] @ 0x48 7002a720: eef4 9ac9 vcmpe.f32 s19, s18 7002a724: bf58 it pl 7002a726: eeb0 1a68 vmovpl.f32 s2, s17 7002a72a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a72e: ed84 1a07 vstr s2, [r4, #28] 7002a732: ed8d 1a13 vstr s2, [sp, #76] @ 0x4c 7002a736: d80f bhi.n 7002a758 7002a738: eeb4 aac9 vcmpe.f32 s20, s18 7002a73c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a740: db0a blt.n 7002a758 7002a742: eef4 1aee vcmpe.f32 s3, s29 7002a746: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a74a: d805 bhi.n 7002a758 7002a74c: eeb4 1aee vcmpe.f32 s2, s29 7002a750: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a754: f280 8377 bge.w 7002ae46 7002a758: eef2 7a02 vmov.f32 s15, #34 @ 0x41100000 9.0 7002a75c: eef8 aa08 vmov.f32 s21, #136 @ 0xc0400000 -3.0 7002a760: ee29 ba27 vmul.f32 s22, s18, s15 7002a764: ee60 aa2a vmul.f32 s21, s0, s21 7002a768: ee6c 7aa7 vmul.f32 s15, s25, s15 7002a76c: ee3b ba2a vadd.f32 s22, s22, s21 7002a770: ee3b ba67 vsub.f32 s22, s22, s15 7002a774: eef0 7a08 vmov.f32 s15, #8 @ 0x40400000 3.0 7002a778: ee68 7a27 vmul.f32 s15, s16, s15 7002a77c: ee3b ba27 vadd.f32 s22, s22, s15 7002a780: eeb5 bac0 vcmpe.f32 s22, #0.0 7002a784: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a788: f100 8345 bmi.w 7002ae16 7002a78c: ed5f 7ac3 vldr s15, [pc, #-780] @ 7002a484 7002a790: eeb4 bae7 vcmpe.f32 s22, s15 7002a794: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a798: bf4c ite mi 7002a79a: 2301 movmi r3, #1 7002a79c: 2300 movpl r3, #0 7002a79e: eeb1 3a08 vmov.f32 s6, #24 @ 0x40c00000 6.0 7002a7a2: eef2 0a08 vmov.f32 s1, #40 @ 0x41400000 12.0 7002a7a6: eef0 7a08 vmov.f32 s15, #8 @ 0x40400000 3.0 7002a7aa: ee60 2a03 vmul.f32 s5, s0, s6 7002a7ae: ee69 0a20 vmul.f32 s1, s18, s1 7002a7b2: ee2c 3a83 vmul.f32 s6, s25, s6 7002a7b6: ee69 7a27 vmul.f32 s15, s18, s15 7002a7ba: ee72 2ae0 vsub.f32 s5, s5, s1 7002a7be: ee77 7aaa vadd.f32 s15, s15, s21 7002a7c2: ee72 2a83 vadd.f32 s5, s5, s6 7002a7c6: 2b00 cmp r3, #0 7002a7c8: f000 8268 beq.w 7002ac9c 7002a7cc: eef5 2ac0 vcmpe.f32 s5, #0.0 7002a7d0: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a7d4: f100 830b bmi.w 7002adee 7002a7d8: ed1f 3ad6 vldr s6, [pc, #-856] @ 7002a484 7002a7dc: eef4 2ac3 vcmpe.f32 s5, s6 7002a7e0: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a7e4: bfcc ite gt 7002a7e6: 2301 movgt r3, #1 7002a7e8: 2300 movle r3, #0 7002a7ea: 2b00 cmp r3, #0 7002a7ec: f000 8081 beq.w 7002a8f2 7002a7f0: eef1 7a67 vneg.f32 s15, s15 7002a7f4: ee87 3aa2 vdiv.f32 s6, s15, s5 7002a7f8: ed5f 7ade vldr s15, [pc, #-888] @ 7002a484 7002a7fc: eeb4 3ae7 vcmpe.f32 s6, s15 7002a800: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a804: dd75 ble.n 7002a8f2 7002a806: ed5f 7ae0 vldr s15, [pc, #-896] @ 7002a488 7002a80a: eeb4 3ae7 vcmpe.f32 s6, s15 7002a80e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a812: d56e bpl.n 7002a8f2 7002a814: ed8d 3a0e vstr s6, [sp, #56] @ 0x38 7002a818: 2201 movs r2, #1 7002a81a: eef7 aa00 vmov.f32 s21, #112 @ 0x3f800000 1.0 7002a81e: eddd 0a0e vldr s1, [sp, #56] @ 0x38 7002a822: eef0 2a08 vmov.f32 s5, #8 @ 0x40400000 3.0 7002a826: ee20 baa0 vmul.f32 s22, s1, s1 7002a82a: ee7a 7ae0 vsub.f32 s15, s21, s1 7002a82e: ee2b ba20 vmul.f32 s22, s22, s1 7002a832: ee27 3aa2 vmul.f32 s6, s15, s5 7002a836: ee67 baa7 vmul.f32 s23, s15, s15 7002a83a: ee2b ba08 vmul.f32 s22, s22, s16 7002a83e: ee6b baa7 vmul.f32 s23, s23, s15 7002a842: ee63 7a27 vmul.f32 s15, s6, s15 7002a846: ee20 3a83 vmul.f32 s6, s1, s6 7002a84a: ee67 7aa0 vmul.f32 s15, s15, s1 7002a84e: ee23 3a20 vmul.f32 s6, s6, s1 7002a852: ee6b 0a80 vmul.f32 s1, s23, s0 7002a856: ee67 7a89 vmul.f32 s15, s15, s18 7002a85a: ee23 3a2c vmul.f32 s6, s6, s25 7002a85e: ee77 7aa0 vadd.f32 s15, s15, s1 7002a862: ee77 7a83 vadd.f32 s15, s15, s6 7002a866: ee77 7a8b vadd.f32 s15, s15, s22 7002a86a: eef4 9ae7 vcmpe.f32 s19, s15 7002a86e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a872: eeb4 aae7 vcmpe.f32 s20, s15 7002a876: bf58 it pl 7002a878: eef0 9a67 vmovpl.f32 s19, s15 7002a87c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a880: fe3a aa27 vselgt.f32 s20, s20, s15 7002a884: 2a02 cmp r2, #2 7002a886: d130 bne.n 7002a8ea 7002a888: eddd 0a0f vldr s1, [sp, #60] @ 0x3c 7002a88c: ee7a 7ae0 vsub.f32 s15, s21, s1 7002a890: ee67 2aa2 vmul.f32 s5, s15, s5 7002a894: ee27 3aa7 vmul.f32 s6, s15, s15 7002a898: ee23 3a27 vmul.f32 s6, s6, s15 7002a89c: ee67 7aa2 vmul.f32 s15, s15, s5 7002a8a0: ee60 2aa2 vmul.f32 s5, s1, s5 7002a8a4: ee23 3a00 vmul.f32 s6, s6, s0 7002a8a8: ee67 7aa0 vmul.f32 s15, s15, s1 7002a8ac: ee62 2aa0 vmul.f32 s5, s5, s1 7002a8b0: ee67 7a89 vmul.f32 s15, s15, s18 7002a8b4: ee73 7a27 vadd.f32 s15, s6, s15 7002a8b8: ee22 3aac vmul.f32 s6, s5, s25 7002a8bc: ee77 7a83 vadd.f32 s15, s15, s6 7002a8c0: ee20 3aa0 vmul.f32 s6, s1, s1 7002a8c4: ee23 3a20 vmul.f32 s6, s6, s1 7002a8c8: ee23 3a08 vmul.f32 s6, s6, s16 7002a8cc: ee77 7a83 vadd.f32 s15, s15, s6 7002a8d0: eef4 9ae7 vcmpe.f32 s19, s15 7002a8d4: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a8d8: eeb4 aae7 vcmpe.f32 s20, s15 7002a8dc: bf58 it pl 7002a8de: eef0 9a67 vmovpl.f32 s19, s15 7002a8e2: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a8e6: fe3a aa27 vselgt.f32 s20, s20, s15 7002a8ea: edcd 9a10 vstr s19, [sp, #64] @ 0x40 7002a8ee: ed8d aa12 vstr s20, [sp, #72] @ 0x48 7002a8f2: eeb2 3a02 vmov.f32 s6, #34 @ 0x41100000 9.0 7002a8f6: eeb8 0a08 vmov.f32 s0, #136 @ 0xc0400000 -3.0 7002a8fa: eef0 2a08 vmov.f32 s5, #8 @ 0x40400000 3.0 7002a8fe: ee6e 7a83 vmul.f32 s15, s29, s6 7002a902: ee22 0a00 vmul.f32 s0, s4, s0 7002a906: ee2f 3a03 vmul.f32 s6, s30, s6 7002a90a: ee68 2aa2 vmul.f32 s5, s17, s5 7002a90e: ee77 7a80 vadd.f32 s15, s15, s0 7002a912: ee77 7ac3 vsub.f32 s15, s15, s6 7002a916: ee77 9aa2 vadd.f32 s19, s15, s5 7002a91a: eef5 9ac0 vcmpe.f32 s19, #0.0 7002a91e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a922: f100 826e bmi.w 7002ae02 7002a926: eddf 7ad7 vldr s15, [pc, #860] @ 7002ac84 7002a92a: eef4 9ae7 vcmpe.f32 s19, s15 7002a92e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a932: bf4c ite mi 7002a934: 2301 movmi r3, #1 7002a936: 2300 movpl r3, #0 7002a938: eef1 2a08 vmov.f32 s5, #24 @ 0x40c00000 6.0 7002a93c: eef2 0a08 vmov.f32 s1, #40 @ 0x41400000 12.0 7002a940: eef0 7a08 vmov.f32 s15, #8 @ 0x40400000 3.0 7002a944: ee22 3a22 vmul.f32 s6, s4, s5 7002a948: ee6e 0aa0 vmul.f32 s1, s29, s1 7002a94c: ee6f 2a22 vmul.f32 s5, s30, s5 7002a950: ee6e 7aa7 vmul.f32 s15, s29, s15 7002a954: ee33 3a60 vsub.f32 s6, s6, s1 7002a958: ee77 7a80 vadd.f32 s15, s15, s0 7002a95c: ee33 3a22 vadd.f32 s6, s6, s5 7002a960: 2b00 cmp r3, #0 7002a962: f000 81dc beq.w 7002ad1e 7002a966: eeb5 3ac0 vcmpe.f32 s6, #0.0 7002a96a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a96e: f100 8234 bmi.w 7002adda 7002a972: eddf 2ac4 vldr s5, [pc, #784] @ 7002ac84 7002a976: eeb4 3ae2 vcmpe.f32 s6, s5 7002a97a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a97e: bfcc ite gt 7002a980: 2301 movgt r3, #1 7002a982: 2300 movle r3, #0 7002a984: 2b00 cmp r3, #0 7002a986: d07f beq.n 7002aa88 7002a988: eef1 7a67 vneg.f32 s15, s15 7002a98c: eec7 2a83 vdiv.f32 s5, s15, s6 7002a990: eddf 7abc vldr s15, [pc, #752] @ 7002ac84 7002a994: eef4 2ae7 vcmpe.f32 s5, s15 7002a998: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a99c: dd74 ble.n 7002aa88 7002a99e: eddf 7abc vldr s15, [pc, #752] @ 7002ac90 7002a9a2: eef4 2ae7 vcmpe.f32 s5, s15 7002a9a6: eef1 fa10 vmrs APSR_nzcv, fpscr 7002a9aa: d56d bpl.n 7002aa88 7002a9ac: edcd 2a0e vstr s5, [sp, #56] @ 0x38 7002a9b0: 2201 movs r2, #1 7002a9b2: eeb7 3a00 vmov.f32 s6, #112 @ 0x3f800000 1.0 7002a9b6: eddd 0a0e vldr s1, [sp, #56] @ 0x38 7002a9ba: eeb0 0a08 vmov.f32 s0, #8 @ 0x40400000 3.0 7002a9be: ee60 9aa0 vmul.f32 s19, s1, s1 7002a9c2: ee73 7a60 vsub.f32 s15, s6, s1 7002a9c6: ee69 9aa0 vmul.f32 s19, s19, s1 7002a9ca: ee67 2a80 vmul.f32 s5, s15, s0 7002a9ce: ee27 aaa7 vmul.f32 s20, s15, s15 7002a9d2: ee69 9aa8 vmul.f32 s19, s19, s17 7002a9d6: ee2a aa27 vmul.f32 s20, s20, s15 7002a9da: ee67 7aa2 vmul.f32 s15, s15, s5 7002a9de: ee60 2aa2 vmul.f32 s5, s1, s5 7002a9e2: ee67 7aa0 vmul.f32 s15, s15, s1 7002a9e6: ee62 2aa0 vmul.f32 s5, s5, s1 7002a9ea: ee6a 0a02 vmul.f32 s1, s20, s4 7002a9ee: ee67 7aae vmul.f32 s15, s15, s29 7002a9f2: ee62 2a8f vmul.f32 s5, s5, s30 7002a9f6: ee77 7aa0 vadd.f32 s15, s15, s1 7002a9fa: ee77 7aa2 vadd.f32 s15, s15, s5 7002a9fe: ee77 7aa9 vadd.f32 s15, s15, s19 7002aa02: eef4 1ae7 vcmpe.f32 s3, s15 7002aa06: eef1 fa10 vmrs APSR_nzcv, fpscr 7002aa0a: eeb4 1ae7 vcmpe.f32 s2, s15 7002aa0e: bf58 it pl 7002aa10: eef0 1a67 vmovpl.f32 s3, s15 7002aa14: eef1 fa10 vmrs APSR_nzcv, fpscr 7002aa18: fe31 1a27 vselgt.f32 s2, s2, s15 7002aa1c: 2a02 cmp r2, #2 7002aa1e: d12f bne.n 7002aa80 7002aa20: eddd 2a0f vldr s5, [sp, #60] @ 0x3c 7002aa24: ee73 7a62 vsub.f32 s15, s6, s5 7002aa28: ee27 3a80 vmul.f32 s6, s15, s0 7002aa2c: ee67 0aa7 vmul.f32 s1, s15, s15 7002aa30: ee60 0aa7 vmul.f32 s1, s1, s15 7002aa34: ee63 7a27 vmul.f32 s15, s6, s15 7002aa38: ee23 3a22 vmul.f32 s6, s6, s5 7002aa3c: ee20 2a82 vmul.f32 s4, s1, s4 7002aa40: ee67 7aa2 vmul.f32 s15, s15, s5 7002aa44: ee23 3a22 vmul.f32 s6, s6, s5 7002aa48: ee67 7aae vmul.f32 s15, s15, s29 7002aa4c: ee23 3a0f vmul.f32 s6, s6, s30 7002aa50: ee77 7a82 vadd.f32 s15, s15, s4 7002aa54: ee77 7a83 vadd.f32 s15, s15, s6 7002aa58: ee22 3aa2 vmul.f32 s6, s5, s5 7002aa5c: ee23 3a22 vmul.f32 s6, s6, s5 7002aa60: ee23 3a28 vmul.f32 s6, s6, s17 7002aa64: ee77 7a83 vadd.f32 s15, s15, s6 7002aa68: eef4 7ae1 vcmpe.f32 s15, s3 7002aa6c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002aa70: eeb4 1ae7 vcmpe.f32 s2, s15 7002aa74: fe71 1aa7 vselgt.f32 s3, s3, s15 7002aa78: eef1 fa10 vmrs APSR_nzcv, fpscr 7002aa7c: fe31 1a27 vselgt.f32 s2, s2, s15 7002aa80: edcd 1a11 vstr s3, [sp, #68] @ 0x44 7002aa84: ed8d 1a13 vstr s2, [sp, #76] @ 0x4c 7002aa88: 9b10 ldr r3, [sp, #64] @ 0x40 7002aa8a: 6123 str r3, [r4, #16] 7002aa8c: 9b11 ldr r3, [sp, #68] @ 0x44 7002aa8e: 6163 str r3, [r4, #20] 7002aa90: 9b12 ldr r3, [sp, #72] @ 0x48 7002aa92: 61a3 str r3, [r4, #24] 7002aa94: 9b13 ldr r3, [sp, #76] @ 0x4c 7002aa96: 61e3 str r3, [r4, #28] 7002aa98: e4cc b.n 7002a434 7002aa9a: eddf 9a7c vldr s19, [pc, #496] @ 7002ac8c 7002aa9e: eef4 7ae9 vcmpe.f32 s15, s19 7002aaa2: eef1 fa10 vmrs APSR_nzcv, fpscr 7002aaa6: f57f ad49 bpl.w 7002a53c 7002aaaa: eef1 0a60 vneg.f32 s1, s1 7002aaae: eec0 9aa7 vdiv.f32 s19, s1, s15 7002aab2: eddf 7a74 vldr s15, [pc, #464] @ 7002ac84 7002aab6: eef4 9ae7 vcmpe.f32 s19, s15 7002aaba: eef1 fa10 vmrs APSR_nzcv, fpscr 7002aabe: f77f ad3d ble.w 7002a53c 7002aac2: eddf 7a73 vldr s15, [pc, #460] @ 7002ac90 7002aac6: eef4 9ae7 vcmpe.f32 s19, s15 7002aaca: eef1 fa10 vmrs APSR_nzcv, fpscr 7002aace: f57f ad35 bpl.w 7002a53c 7002aad2: eef7 0a00 vmov.f32 s1, #112 @ 0x3f800000 1.0 7002aad6: ee29 aaa9 vmul.f32 s20, s19, s19 7002aada: ee70 0ae9 vsub.f32 s1, s1, s19 7002aade: ee2a aa08 vmul.f32 s20, s20, s16 7002aae2: ee70 7aa0 vadd.f32 s15, s1, s1 7002aae6: ee60 0aa0 vmul.f32 s1, s1, s1 7002aaea: ee67 7aa9 vmul.f32 s15, s15, s19 7002aaee: ee60 0a80 vmul.f32 s1, s1, s0 7002aaf2: ee67 7a89 vmul.f32 s15, s15, s18 7002aaf6: ee77 7aa0 vadd.f32 s15, s15, s1 7002aafa: ee77 7a8a vadd.f32 s15, s15, s20 7002aafe: eeb4 3ae7 vcmpe.f32 s6, s15 7002ab02: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ab06: eef4 2ae7 vcmpe.f32 s5, s15 7002ab0a: bf58 it pl 7002ab0c: eeb0 3a67 vmovpl.f32 s6, s15 7002ab10: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ab14: fe72 2aa7 vselgt.f32 s5, s5, s15 7002ab18: e510 b.n 7002a53c 7002ab1a: 2f00 cmp r7, #0 7002ab1c: f43f ac9a beq.w 7002a454 7002ab20: f1b9 0f00 cmp.w r9, #0 7002ab24: f040 8154 bne.w 7002add0 7002ab28: ed94 2a04 vldr s4, [r4, #16] 7002ab2c: edd4 2a05 vldr s5, [r4, #20] 7002ab30: eeb4 2a65 vcmp.f32 s4, s11 7002ab34: ed94 3a06 vldr s6, [r4, #24] 7002ab38: edd4 7a07 vldr s15, [r4, #28] 7002ab3c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ab40: eef4 2a4e vcmp.f32 s5, s28 7002ab44: fe35 2a82 vselgt.f32 s4, s11, s4 7002ab48: ed84 2a04 vstr s4, [r4, #16] 7002ab4c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ab50: eef4 5a43 vcmp.f32 s11, s6 7002ab54: fe7e 2a22 vselgt.f32 s5, s28, s5 7002ab58: edc4 2a05 vstr s5, [r4, #20] 7002ab5c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ab60: eeb4 ea67 vcmp.f32 s28, s15 7002ab64: fe35 3a83 vselgt.f32 s6, s11, s6 7002ab68: ed84 3a06 vstr s6, [r4, #24] 7002ab6c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ab70: fe7e 7a27 vselgt.f32 s15, s28, s15 7002ab74: edc4 7a07 vstr s15, [r4, #28] 7002ab78: 7830 ldrb r0, [r6, #0] 7002ab7a: f000 036f and.w r3, r0, #111 @ 0x6f 7002ab7e: e46a b.n 7002a456 7002ab80: f000 026f and.w r2, r0, #111 @ 0x6f 7002ab84: f8d4 a00c ldr.w sl, [r4, #12] 7002ab88: f1a3 0e05 sub.w lr, r3, #5 7002ab8c: 2f00 cmp r7, #0 7002ab8e: eb0a 0c87 add.w ip, sl, r7, lsl #2 7002ab92: 9201 str r2, [sp, #4] 7002ab94: 4672 mov r2, lr 7002ab96: bf08 it eq 7002ab98: f04f 0901 moveq.w r9, #1 7002ab9c: eddc 7a00 vldr s15, [ip] 7002aba0: 2a03 cmp r2, #3 7002aba2: f200 81a3 bhi.w 7002aeec 7002aba6: e8df f002 tbb [pc, r2] 7002abaa: 495c .short 0x495c 7002abac: 0222 .short 0x0222 7002abae: 9a01 ldr r2, [sp, #4] 7002abb0: f1a2 0e05 sub.w lr, r2, #5 7002abb4: f1be 0f03 cmp.w lr, #3 7002abb8: f200 80f7 bhi.w 7002adaa 7002abbc: ee38 9a08 vadd.f32 s18, s16, s16 7002abc0: ed9c fa01 vldr s30, [ip, #4] 7002abc4: ee38 7aa8 vadd.f32 s14, s17, s17 7002abc8: 1cba adds r2, r7, #2 7002abca: ee39 9a6d vsub.f32 s18, s18, s27 7002abce: ee77 ea64 vsub.f32 s29, s14, s9 7002abd2: 2900 cmp r1, #0 7002abd4: f000 80f3 beq.w 7002adbe 7002abd8: ee78 ca27 vadd.f32 s25, s16, s15 7002abdc: ee3f fa28 vadd.f32 s30, s30, s17 7002abe0: 0090 lsls r0, r2, #2 7002abe2: eef0 4a4f vmov.f32 s9, s30 7002abe6: eef0 da6c vmov.f32 s27, s25 7002abea: 9001 str r0, [sp, #4] 7002abec: e015 b.n 7002ac1a 7002abee: 9a01 ldr r2, [sp, #4] 7002abf0: f1a2 0e05 sub.w lr, r2, #5 7002abf4: f1be 0f03 cmp.w lr, #3 7002abf8: f200 80d2 bhi.w 7002ada0 7002abfc: ee38 9a08 vadd.f32 s18, s16, s16 7002ac00: ee38 7aa8 vadd.f32 s14, s17, s17 7002ac04: ee39 9a6d vsub.f32 s18, s18, s27 7002ac08: ee77 ea64 vsub.f32 s29, s14, s9 7002ac0c: 463a mov r2, r7 7002ac0e: eef0 4a6e vmov.f32 s9, s29 7002ac12: 0090 lsls r0, r2, #2 7002ac14: eef0 da49 vmov.f32 s27, s18 7002ac18: 9001 str r0, [sp, #4] 7002ac1a: 9801 ldr r0, [sp, #4] 7002ac1c: 1c97 adds r7, r2, #2 7002ac1e: 4450 add r0, sl 7002ac20: ed90 3a00 vldr s6, [r0] 7002ac24: edd0 7a01 vldr s15, [r0, #4] 7002ac28: 2900 cmp r1, #0 7002ac2a: f000 8109 beq.w 7002ae40 7002ac2e: ee33 3a08 vadd.f32 s6, s6, s16 7002ac32: 4628 mov r0, r5 7002ac34: ee77 7aa8 vadd.f32 s15, s15, s17 7002ac38: f7ff bbbc b.w 7002a3b4 7002ac3c: eddc ea01 vldr s29, [ip, #4] 7002ac40: 1d3a adds r2, r7, #4 7002ac42: eddc ca02 vldr s25, [ip, #8] 7002ac46: ed9c fa03 vldr s30, [ip, #12] 7002ac4a: 2900 cmp r1, #0 7002ac4c: f000 80bd beq.w 7002adca 7002ac50: ee38 9a27 vadd.f32 s18, s16, s15 7002ac54: ee7e eaa8 vadd.f32 s29, s29, s17 7002ac58: ee7c ca88 vadd.f32 s25, s25, s16 7002ac5c: ee3f fa28 vadd.f32 s30, s30, s17 7002ac60: e7be b.n 7002abe0 7002ac62: eddc ea01 vldr s29, [ip, #4] 7002ac66: 1cba adds r2, r7, #2 7002ac68: 2900 cmp r1, #0 7002ac6a: f000 80ab beq.w 7002adc4 7002ac6e: ee38 9a27 vadd.f32 s18, s16, s15 7002ac72: ee7e eaa8 vadd.f32 s29, s29, s17 7002ac76: e7ca b.n 7002ac0e 7002ac78: eddf 7a03 vldr s15, [pc, #12] @ 7002ac88 7002ac7c: eeb0 3a67 vmov.f32 s6, s15 7002ac80: f7ff bb95 b.w 7002a3ae 7002ac84: 33d6bf95 .word 0x33d6bf95 7002ac88: 00000000 .word 0x00000000 7002ac8c: b3d6bf95 .word 0xb3d6bf95 7002ac90: 3f7ffffe .word 0x3f7ffffe 7002ac94: 3727c5ac .word 0x3727c5ac 7002ac98: 3c8efa35 .word 0x3c8efa35 7002ac9c: eeb1 3a00 vmov.f32 s6, #16 @ 0x40800000 4.0 7002aca0: ee67 7a83 vmul.f32 s15, s15, s6 7002aca4: ee22 3aa2 vmul.f32 s6, s5, s5 7002aca8: ee67 7a8b vmul.f32 s15, s15, s22 7002acac: ee73 7a67 vsub.f32 s15, s6, s15 7002acb0: ed1f 3a0c vldr s6, [pc, #-48] @ 7002ac84 7002acb4: eef4 7ac3 vcmpe.f32 s15, s6 7002acb8: eef1 fa10 vmrs APSR_nzcv, fpscr 7002acbc: f77f ae19 ble.w 7002a8f2 7002acc0: eef1 0ae7 vsqrt.f32 s1, s15 7002acc4: ee3b ba0b vadd.f32 s22, s22, s22 7002acc8: eef1 7a62 vneg.f32 s15, s5 7002accc: ee70 2ae2 vsub.f32 s5, s1, s5 7002acd0: ee77 7ae0 vsub.f32 s15, s15, s1 7002acd4: eec2 0a8b vdiv.f32 s1, s5, s22 7002acd8: eec7 2a8b vdiv.f32 s5, s15, s22 7002acdc: eef4 0ac3 vcmpe.f32 s1, s6 7002ace0: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ace4: f340 80c8 ble.w 7002ae78 7002ace8: ed5f 7a17 vldr s15, [pc, #-92] @ 7002ac90 7002acec: eef4 0ae7 vcmpe.f32 s1, s15 7002acf0: eef1 fa10 vmrs APSR_nzcv, fpscr 7002acf4: f100 80e9 bmi.w 7002aeca 7002acf8: eef4 2ac3 vcmpe.f32 s5, s6 7002acfc: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ad00: f77f adf7 ble.w 7002a8f2 7002ad04: eef4 2ae7 vcmpe.f32 s5, s15 7002ad08: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ad0c: f57f adf1 bpl.w 7002a8f2 7002ad10: 2201 movs r2, #1 7002ad12: a914 add r1, sp, #80 @ 0x50 7002ad14: eb01 0383 add.w r3, r1, r3, lsl #2 7002ad18: ed43 2a06 vstr s5, [r3, #-24] @ 0xffffffe8 7002ad1c: e57d b.n 7002a81a 7002ad1e: eef1 2a00 vmov.f32 s5, #16 @ 0x40800000 4.0 7002ad22: ed5f 0a28 vldr s1, [pc, #-160] @ 7002ac84 7002ad26: ee67 7aa2 vmul.f32 s15, s15, s5 7002ad2a: ee63 2a03 vmul.f32 s5, s6, s6 7002ad2e: ee67 7aa9 vmul.f32 s15, s15, s19 7002ad32: ee72 2ae7 vsub.f32 s5, s5, s15 7002ad36: eef4 2ae0 vcmpe.f32 s5, s1 7002ad3a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ad3e: f77f aea3 ble.w 7002aa88 7002ad42: eeb1 0ae2 vsqrt.f32 s0, s5 7002ad46: ee79 7aa9 vadd.f32 s15, s19, s19 7002ad4a: eef1 2a43 vneg.f32 s5, s6 7002ad4e: ee30 3a43 vsub.f32 s6, s0, s6 7002ad52: ee72 2ac0 vsub.f32 s5, s5, s0 7002ad56: ee83 0a27 vdiv.f32 s0, s6, s15 7002ad5a: ee82 3aa7 vdiv.f32 s6, s5, s15 7002ad5e: eeb4 0ae0 vcmpe.f32 s0, s1 7002ad62: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ad66: f340 8096 ble.w 7002ae96 7002ad6a: ed5f 7a37 vldr s15, [pc, #-220] @ 7002ac90 7002ad6e: eeb4 0ae7 vcmpe.f32 s0, s15 7002ad72: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ad76: f100 8097 bmi.w 7002aea8 7002ad7a: eeb4 3ae0 vcmpe.f32 s6, s1 7002ad7e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ad82: f77f ae81 ble.w 7002aa88 7002ad86: eeb4 3ae7 vcmpe.f32 s6, s15 7002ad8a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ad8e: f57f ae7b bpl.w 7002aa88 7002ad92: 2201 movs r2, #1 7002ad94: a914 add r1, sp, #80 @ 0x50 7002ad96: eb01 0383 add.w r3, r1, r3, lsl #2 7002ad9a: ed03 3a06 vstr s6, [r3, #-24] @ 0xffffffe8 7002ad9e: e608 b.n 7002a9b2 7002ada0: eef0 ea68 vmov.f32 s29, s17 7002ada4: eeb0 9a48 vmov.f32 s18, s16 7002ada8: e730 b.n 7002ac0c 7002adaa: eef0 ea68 vmov.f32 s29, s17 7002adae: ed9c fa01 vldr s30, [ip, #4] 7002adb2: eeb0 9a48 vmov.f32 s18, s16 7002adb6: 1cba adds r2, r7, #2 7002adb8: 2900 cmp r1, #0 7002adba: f47f af0d bne.w 7002abd8 7002adbe: eef0 ca67 vmov.f32 s25, s15 7002adc2: e70d b.n 7002abe0 7002adc4: eeb0 9a67 vmov.f32 s18, s15 7002adc8: e721 b.n 7002ac0e 7002adca: eeb0 9a67 vmov.f32 s18, s15 7002adce: e707 b.n 7002abe0 7002add0: ed1f ea53 vldr s28, [pc, #-332] @ 7002ac88 7002add4: eef0 5a4e vmov.f32 s11, s28 7002add8: e6a6 b.n 7002ab28 7002adda: ed5f 2a54 vldr s5, [pc, #-336] @ 7002ac8c 7002adde: eeb4 3ae2 vcmpe.f32 s6, s5 7002ade2: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ade6: bf4c ite mi 7002ade8: 2301 movmi r3, #1 7002adea: 2300 movpl r3, #0 7002adec: e5ca b.n 7002a984 7002adee: ed1f 3a59 vldr s6, [pc, #-356] @ 7002ac8c 7002adf2: eef4 2ac3 vcmpe.f32 s5, s6 7002adf6: eef1 fa10 vmrs APSR_nzcv, fpscr 7002adfa: bf4c ite mi 7002adfc: 2301 movmi r3, #1 7002adfe: 2300 movpl r3, #0 7002ae00: e4f3 b.n 7002a7ea 7002ae02: ed5f 7a5e vldr s15, [pc, #-376] @ 7002ac8c 7002ae06: eef4 9ae7 vcmpe.f32 s19, s15 7002ae0a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ae0e: bfcc ite gt 7002ae10: 2301 movgt r3, #1 7002ae12: 2300 movle r3, #0 7002ae14: e590 b.n 7002a938 7002ae16: ed5f 7a63 vldr s15, [pc, #-396] @ 7002ac8c 7002ae1a: eeb4 bae7 vcmpe.f32 s22, s15 7002ae1e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ae22: bfcc ite gt 7002ae24: 2301 movgt r3, #1 7002ae26: 2300 movle r3, #0 7002ae28: e4b9 b.n 7002a79e 7002ae2a: ed1f 0a68 vldr s0, [pc, #-416] @ 7002ac8c 7002ae2e: eef4 7ac0 vcmpe.f32 s15, s0 7002ae32: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ae36: bf4c ite mi 7002ae38: 2301 movmi r3, #1 7002ae3a: 2300 movpl r3, #0 7002ae3c: f7ff bb99 b.w 7002a572 7002ae40: 4628 mov r0, r5 7002ae42: f7ff bab7 b.w 7002a3b4 7002ae46: eef4 9aec vcmpe.f32 s19, s25 7002ae4a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ae4e: f63f ac83 bhi.w 7002a758 7002ae52: eeb4 aaec vcmpe.f32 s20, s25 7002ae56: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ae5a: f6ff ac7d blt.w 7002a758 7002ae5e: eeb4 fae1 vcmpe.f32 s30, s3 7002ae62: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ae66: f6ff ac77 blt.w 7002a758 7002ae6a: eeb4 fac1 vcmpe.f32 s30, s2 7002ae6e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ae72: f67f aadf bls.w 7002a434 7002ae76: e46f b.n 7002a758 7002ae78: eef4 2ac3 vcmpe.f32 s5, s6 7002ae7c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ae80: f77f ad37 ble.w 7002a8f2 7002ae84: ed5f 7a7e vldr s15, [pc, #-504] @ 7002ac90 7002ae88: eef4 2ae7 vcmpe.f32 s5, s15 7002ae8c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ae90: f53f af3e bmi.w 7002ad10 7002ae94: e52d b.n 7002a8f2 7002ae96: eeb4 3ae0 vcmpe.f32 s6, s1 7002ae9a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ae9e: f77f adf3 ble.w 7002aa88 7002aea2: ed5f 7a85 vldr s15, [pc, #-532] @ 7002ac90 7002aea6: e76e b.n 7002ad86 7002aea8: eeb4 3ae0 vcmpe.f32 s6, s1 7002aeac: ed8d 0a0e vstr s0, [sp, #56] @ 0x38 7002aeb0: eef1 fa10 vmrs APSR_nzcv, fpscr 7002aeb4: f77f ad7c ble.w 7002a9b0 7002aeb8: eeb4 3ae7 vcmpe.f32 s6, s15 7002aebc: eef1 fa10 vmrs APSR_nzcv, fpscr 7002aec0: f57f ad76 bpl.w 7002a9b0 7002aec4: 2202 movs r2, #2 7002aec6: 2301 movs r3, #1 7002aec8: e764 b.n 7002ad94 7002aeca: eef4 2ac3 vcmpe.f32 s5, s6 7002aece: edcd 0a0e vstr s1, [sp, #56] @ 0x38 7002aed2: eef1 fa10 vmrs APSR_nzcv, fpscr 7002aed6: f77f ac9f ble.w 7002a818 7002aeda: eef4 2ae7 vcmpe.f32 s5, s15 7002aede: eef1 fa10 vmrs APSR_nzcv, fpscr 7002aee2: f57f ac99 bpl.w 7002a818 7002aee6: 2202 movs r2, #2 7002aee8: 2301 movs r3, #1 7002aeea: e712 b.n 7002ad12 7002aeec: f005 020f and.w r2, r5, #15 7002aef0: 2a09 cmp r2, #9 7002aef2: f000 83fd beq.w 7002b6f0 7002aef6: 463a mov r2, r7 7002aef8: eb0a 0782 add.w r7, sl, r2, lsl #2 7002aefc: f1a3 0c03 sub.w ip, r3, #3 7002af00: ed97 3a00 vldr s6, [r7] 7002af04: 9703 str r7, [sp, #12] 7002af06: 0097 lsls r7, r2, #2 7002af08: 9701 str r7, [sp, #4] 7002af0a: 1c57 adds r7, r2, #1 7002af0c: f1bc 0f08 cmp.w ip, #8 7002af10: f63f ae83 bhi.w 7002ac1a 7002af14: f20f 0e04 addw lr, pc, #4 7002af18: f85e f02c ldr.w pc, [lr, ip, lsl #2] 7002af1c: 7002babd .word 0x7002babd 7002af20: 7002baad .word 0x7002baad 7002af24: 7002ac1b .word 0x7002ac1b 7002af28: 7002ac1b .word 0x7002ac1b 7002af2c: 7002ac1b .word 0x7002ac1b 7002af30: 7002ac1b .word 0x7002ac1b 7002af34: 7002ac1b .word 0x7002ac1b 7002af38: 7002b8e9 .word 0x7002b8e9 7002af3c: 7002b801 .word 0x7002b801 7002af40: f000 000f and.w r0, r0, #15 7002af44: 2809 cmp r0, #9 7002af46: f47f aa75 bne.w 7002a434 7002af4a: eeb5 9ac0 vcmpe.f32 s18, #0.0 7002af4e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002af52: f100 83db bmi.w 7002b70c 7002af56: ed5f 7ab1 vldr s15, [pc, #-708] @ 7002ac94 7002af5a: eeb4 9ae7 vcmpe.f32 s18, s15 7002af5e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002af62: f240 83f2 bls.w 7002b74a 7002af66: eef5 eac0 vcmpe.f32 s29, #0.0 7002af6a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002af6e: f100 83e5 bmi.w 7002b73c 7002af72: eef4 eae7 vcmpe.f32 s29, s15 7002af76: eef1 fa10 vmrs APSR_nzcv, fpscr 7002af7a: f240 83e6 bls.w 7002b74a 7002af7e: eef0 9a49 vmov.f32 s19, s18 7002af82: eeb0 aa6e vmov.f32 s20, s29 7002af86: ed5f aabc vldr s21, [pc, #-752] @ 7002ac98 7002af8a: edcd 5a04 vstr s11, [sp, #16] 7002af8e: ee6c aaaa vmul.f32 s21, s25, s21 7002af92: edcd 4a01 vstr s9, [sp, #4] 7002af96: eeb0 0a6a vmov.f32 s0, s21 7002af9a: f00e fd69 bl 70039a70 7002af9e: eef0 7a40 vmov.f32 s15, s0 7002afa2: eeb0 0a6a vmov.f32 s0, s21 7002afa6: eeb0 ba67 vmov.f32 s22, s15 7002afaa: edcd 7a03 vstr s15, [sp, #12] 7002afae: f00e fc67 bl 70039880 7002afb2: eddd 4a01 vldr s9, [sp, #4] 7002afb6: ee28 1a80 vmul.f32 s2, s17, s0 7002afba: eddd 5a04 vldr s11, [sp, #16] 7002afbe: ee6b 7a24 vmul.f32 s15, s22, s9 7002afc2: ee68 1a8b vmul.f32 s3, s17, s22 7002afc6: eeb0 7a4b vmov.f32 s14, s22 7002afca: ee4d 7ac0 vmls.f32 s15, s27, s0 7002afce: ee48 1a40 vmls.f32 s3, s16, s0 7002afd2: ee20 ba24 vmul.f32 s22, s0, s9 7002afd6: ee08 1a07 vmla.f32 s2, s16, s14 7002afda: eeb0 da40 vmov.f32 s26, s0 7002afde: ee07 ba2d vmla.f32 s22, s14, s27 7002afe2: ee87 0a8a vdiv.f32 s0, s15, s20 7002afe6: eec1 6a8a vdiv.f32 s13, s3, s20 7002afea: eecb 0a29 vdiv.f32 s1, s22, s19 7002afee: ee81 6a29 vdiv.f32 s12, s2, s19 7002aff2: ee30 2a66 vsub.f32 s4, s0, s13 7002aff6: ee22 3a02 vmul.f32 s6, s4, s4 7002affa: ee70 2ac6 vsub.f32 s5, s1, s12 7002affe: ee02 3aa2 vmla.f32 s6, s5, s5 7002b002: eeb5 3a40 vcmp.f32 s6, #0.0 7002b006: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b00a: f43f aa13 beq.w 7002a434 7002b00e: eeb7 ca00 vmov.f32 s24, #112 @ 0x3f800000 1.0 7002b012: eecc ba03 vdiv.f32 s23, s24, s6 7002b016: eeb5 ca00 vmov.f32 s24, #80 @ 0x3e800000 0.250 7002b01a: ee7b bacc vsub.f32 s23, s23, s24 7002b01e: eef5 bac0 vcmpe.f32 s23, #0.0 7002b022: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b026: f100 83ca bmi.w 7002b7be 7002b02a: eeb1 3aeb vsqrt.f32 s6, s23 7002b02e: eef6 1a00 vmov.f32 s3, #96 @ 0x3f000000 0.5 7002b032: ee70 7a86 vadd.f32 s15, s1, s12 7002b036: ee30 ca26 vadd.f32 s24, s0, s13 7002b03a: ee27 7aa1 vmul.f32 s14, s15, s3 7002b03e: ee2c ca21 vmul.f32 s24, s24, s3 7002b042: ee62 7a83 vmul.f32 s15, s5, s6 7002b046: edcd 5a09 vstr s11, [sp, #36] @ 0x24 7002b04a: ee22 4a03 vmul.f32 s8, s4, s6 7002b04e: edcd 4a08 vstr s9, [sp, #32] 7002b052: ed8d 7a05 vstr s14, [sp, #20] 7002b056: ee3c ba67 vsub.f32 s22, s24, s15 7002b05a: edcd 7a06 vstr s15, [sp, #24] 7002b05e: ee74 ba07 vadd.f32 s23, s8, s14 7002b062: ed8d 4a04 vstr s8, [sp, #16] 7002b066: edcd 6a07 vstr s13, [sp, #28] 7002b06a: ee30 0a4b vsub.f32 s0, s0, s22 7002b06e: ed8d 6a01 vstr s12, [sp, #4] 7002b072: ee70 0aeb vsub.f32 s1, s1, s23 7002b076: f00e fbdd bl 70039834 7002b07a: ed9d 6a01 vldr s12, [sp, #4] 7002b07e: eeb0 5a40 vmov.f32 s10, s0 7002b082: eddd 6a07 vldr s13, [sp, #28] 7002b086: ee76 0a6b vsub.f32 s1, s12, s23 7002b08a: ee36 0acb vsub.f32 s0, s13, s22 7002b08e: ed8d 5a01 vstr s10, [sp, #4] 7002b092: f00e fbcf bl 70039834 7002b096: eddf 2af7 vldr s5, [pc, #988] @ 7002b474 7002b09a: eddd 6a01 vldr s13, [sp, #4] 7002b09e: ed9d 4a04 vldr s8, [sp, #16] 7002b0a2: ee26 3aa2 vmul.f32 s6, s13, s5 7002b0a6: ed9d 7a05 vldr s14, [sp, #20] 7002b0aa: eddd 7a06 vldr s15, [sp, #24] 7002b0ae: eddd 4a08 vldr s9, [sp, #32] 7002b0b2: ee10 3a22 vnmls.f32 s6, s0, s5 7002b0b6: eddd 5a09 vldr s11, [sp, #36] @ 0x24 7002b0ba: eeb5 3ac0 vcmpe.f32 s6, #0.0 7002b0be: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b0c2: f100 854d bmi.w 7002bb60 7002b0c6: 9a02 ldr r2, [sp, #8] 7002b0c8: eddf 2aeb vldr s5, [pc, #940] @ 7002b478 7002b0cc: f012 0a40 ands.w sl, r2, #64 @ 0x40 7002b0d0: f002 0320 and.w r3, r2, #32 7002b0d4: eeb4 3ae2 vcmpe.f32 s6, s5 7002b0d8: f000 8548 beq.w 7002bb6c 7002b0dc: 2b00 cmp r3, #0 7002b0de: f000 8558 beq.w 7002bb92 7002b0e2: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b0e6: f04f 0a01 mov.w sl, #1 7002b0ea: d406 bmi.n 7002b0fa 7002b0ec: eddf 2ae2 vldr s5, [pc, #904] @ 7002b478 7002b0f0: eeb4 3ae2 vcmpe.f32 s6, s5 7002b0f4: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b0f8: da03 bge.n 7002b102 7002b0fa: ee77 ba44 vsub.f32 s23, s14, s8 7002b0fe: ee37 ba8c vadd.f32 s22, s15, s24 7002b102: ee2a 3a0b vmul.f32 s6, s20, s22 7002b106: eddd 7a03 vldr s15, [sp, #12] 7002b10a: ee69 baab vmul.f32 s23, s19, s23 7002b10e: eef5 ca40 vcmp.f32 s25, #0.0 7002b112: ee2d ba03 vmul.f32 s22, s26, s6 7002b116: ee27 3a83 vmul.f32 s6, s15, s6 7002b11a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b11e: ee17 baab vnmls.f32 s22, s15, s23 7002b122: ee0d 3a2b vmla.f32 s6, s26, s23 7002b126: ed8d 3a01 vstr s6, [sp, #4] 7002b12a: f000 853a beq.w 7002bba2 7002b12e: ed9f 3ad2 vldr s6, [pc, #840] @ 7002b478 7002b132: eef4 ca43 vcmp.f32 s25, s6 7002b136: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b13a: f000 8532 beq.w 7002bba2 7002b13e: ed9f 3acf vldr s6, [pc, #828] @ 7002b47c 7002b142: eef4 ca43 vcmp.f32 s25, s6 7002b146: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b14a: f000 85d1 beq.w 7002bcf0 7002b14e: ed9f 3acc vldr s6, [pc, #816] @ 7002b480 7002b152: eef4 ca43 vcmp.f32 s25, s6 7002b156: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b15a: f000 85c9 beq.w 7002bcf0 7002b15e: eeb0 0a6a vmov.f32 s0, s21 7002b162: edcd 5a0a vstr s11, [sp, #40] @ 0x28 7002b166: edcd 4a08 vstr s9, [sp, #32] 7002b16a: f00e fe59 bl 70039e20 7002b16e: ed8d 0a05 vstr s0, [sp, #20] 7002b172: ee2a 0a00 vmul.f32 s0, s20, s0 7002b176: ed9f cac3 vldr s24, [pc, #780] @ 7002b484 7002b17a: ee80 0a29 vdiv.f32 s0, s0, s19 7002b17e: f00e fd6f bl 70039c60 7002b182: ed8d 0a09 vstr s0, [sp, #36] @ 0x24 7002b186: eef1 7a40 vneg.f32 s15, s0 7002b18a: ee3c ca40 vsub.f32 s24, s24, s0 7002b18e: eef0 aa67 vmov.f32 s21, s15 7002b192: edcd 7a04 vstr s15, [sp, #16] 7002b196: f00e fc6b bl 70039a70 7002b19a: ee69 ba80 vmul.f32 s23, s19, s0 7002b19e: eeb0 0a6a vmov.f32 s0, s21 7002b1a2: eef0 aa4b vmov.f32 s21, s22 7002b1a6: f00e fb6b bl 70039880 7002b1aa: ed9d 7a03 vldr s14, [sp, #12] 7002b1ae: ee6a 7a00 vmul.f32 s15, s20, s0 7002b1b2: eeb0 0a4c vmov.f32 s0, s24 7002b1b6: ee47 aa2b vmla.f32 s21, s14, s23 7002b1ba: edcd 7a06 vstr s15, [sp, #24] 7002b1be: eef0 ba4b vmov.f32 s23, s22 7002b1c2: ee4d aa67 vmls.f32 s21, s26, s15 7002b1c6: f00e fc53 bl 70039a70 7002b1ca: ee69 7a80 vmul.f32 s15, s19, s0 7002b1ce: eeb0 0a4c vmov.f32 s0, s24 7002b1d2: edcd 7a07 vstr s15, [sp, #28] 7002b1d6: f00e fb53 bl 70039880 7002b1da: ed9d 7a03 vldr s14, [sp, #12] 7002b1de: ee6a 2a00 vmul.f32 s5, s20, s0 7002b1e2: eddd 7a07 vldr s15, [sp, #28] 7002b1e6: eddd 4a08 vldr s9, [sp, #32] 7002b1ea: ee47 ba27 vmla.f32 s23, s14, s15 7002b1ee: eddd 5a0a vldr s11, [sp, #40] @ 0x28 7002b1f2: ee4d ba62 vmls.f32 s23, s26, s5 7002b1f6: eef4 aaeb vcmpe.f32 s21, s23 7002b1fa: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b1fe: f340 85eb ble.w 7002bdd8 7002b202: ed9d 7a01 vldr s14, [sp, #4] 7002b206: eeb7 ca00 vmov.f32 s24, #112 @ 0x3f800000 1.0 7002b20a: edcd 5a09 vstr s11, [sp, #36] @ 0x24 7002b20e: eeb0 3a47 vmov.f32 s6, s14 7002b212: edcd 4a08 vstr s9, [sp, #32] 7002b216: ee0d 3a27 vmla.f32 s6, s26, s15 7002b21a: eddd 7a03 vldr s15, [sp, #12] 7002b21e: ee07 3aa2 vmla.f32 s6, s15, s5 7002b222: ee7b 2acb vsub.f32 s5, s23, s22 7002b226: eeff 7a00 vmov.f32 s15, #240 @ 0xbf800000 -1.0 7002b22a: ee22 2aa2 vmul.f32 s4, s5, s5 7002b22e: edcd 7a07 vstr s15, [sp, #28] 7002b232: ee33 3a47 vsub.f32 s6, s6, s14 7002b236: ee03 2a03 vmla.f32 s4, s6, s6 7002b23a: eeb5 3ac0 vcmpe.f32 s6, #0.0 7002b23e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b242: eeb1 0ac2 vsqrt.f32 s0, s4 7002b246: fe3c 7a27 vselgt.f32 s14, s24, s15 7002b24a: ed8d 7a06 vstr s14, [sp, #24] 7002b24e: ee82 0a80 vdiv.f32 s0, s5, s0 7002b252: f00e fac3 bl 700397dc 7002b256: eddf 0a8c vldr s1, [pc, #560] @ 7002b488 7002b25a: ed9d 7a06 vldr s14, [sp, #24] 7002b25e: eef0 6a60 vmov.f32 s13, s1 7002b262: ee40 6a07 vmla.f32 s13, s0, s14 7002b266: eeb0 0a66 vmov.f32 s0, s13 7002b26a: f00e fae5 bl 70039838 7002b26e: ed8d 0a06 vstr s0, [sp, #24] 7002b272: ed9d 0a04 vldr s0, [sp, #16] 7002b276: f00e fbfb bl 70039a70 7002b27a: eeb0 3a40 vmov.f32 s6, s0 7002b27e: ed9d 0a04 vldr s0, [sp, #16] 7002b282: ee29 7a83 vmul.f32 s14, s19, s6 7002b286: ed8d 7a04 vstr s14, [sp, #16] 7002b28a: f00e faf9 bl 70039880 7002b28e: eddd 7a01 vldr s15, [sp, #4] 7002b292: ee6a 2a00 vmul.f32 s5, s20, s0 7002b296: ed9d 7a04 vldr s14, [sp, #16] 7002b29a: ee3a 2acb vsub.f32 s4, s21, s22 7002b29e: eeb0 3a67 vmov.f32 s6, s15 7002b2a2: eddd 4a08 vldr s9, [sp, #32] 7002b2a6: eddd 5a09 vldr s11, [sp, #36] @ 0x24 7002b2aa: edcd 4a0c vstr s9, [sp, #48] @ 0x30 7002b2ae: ee0d 3a07 vmla.f32 s6, s26, s14 7002b2b2: ed9d 7a03 vldr s14, [sp, #12] 7002b2b6: edcd 5a0d vstr s11, [sp, #52] @ 0x34 7002b2ba: ee07 3a22 vmla.f32 s6, s14, s5 7002b2be: ee62 2a02 vmul.f32 s5, s4, s4 7002b2c2: ee33 3a67 vsub.f32 s6, s6, s15 7002b2c6: ee43 2a03 vmla.f32 s5, s6, s6 7002b2ca: eeb5 3ac0 vcmpe.f32 s6, #0.0 7002b2ce: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b2d2: eeb1 0ae2 vsqrt.f32 s0, s5 7002b2d6: bfdc itt le 7002b2d8: eddd 7a07 vldrle s15, [sp, #28] 7002b2dc: eeb0 ca67 vmovle.f32 s24, s15 7002b2e0: ee82 0a00 vdiv.f32 s0, s4, s0 7002b2e4: f00e fa7a bl 700397dc 7002b2e8: eddf 0a67 vldr s1, [pc, #412] @ 7002b488 7002b2ec: eef0 7a60 vmov.f32 s15, s1 7002b2f0: ee40 7a0c vmla.f32 s15, s0, s24 7002b2f4: eeb0 0a67 vmov.f32 s0, s15 7002b2f8: f00e fa9e bl 70039838 7002b2fc: eddd 7a05 vldr s15, [sp, #20] 7002b300: ed8d 0a04 vstr s0, [sp, #16] 7002b304: ee69 7aa7 vmul.f32 s15, s19, s15 7002b308: ee8a 0a27 vdiv.f32 s0, s20, s15 7002b30c: f00e fca8 bl 70039c60 7002b310: eddf 7a5c vldr s15, [pc, #368] @ 7002b484 7002b314: ed8d 0a07 vstr s0, [sp, #28] 7002b318: ee70 7a27 vadd.f32 s15, s0, s15 7002b31c: eeb0 ca40 vmov.f32 s24, s0 7002b320: edcd 7a05 vstr s15, [sp, #20] 7002b324: f00e fba4 bl 70039a70 7002b328: ee29 7a80 vmul.f32 s14, s19, s0 7002b32c: eeb0 0a4c vmov.f32 s0, s24 7002b330: ed8d 7a08 vstr s14, [sp, #32] 7002b334: f00e faa4 bl 70039880 7002b338: ed9d ca01 vldr s24, [sp, #4] 7002b33c: ee6a 2a00 vmul.f32 s5, s20, s0 7002b340: ed9d 7a08 vldr s14, [sp, #32] 7002b344: eeb0 3a4c vmov.f32 s6, s24 7002b348: ed9d 6a03 vldr s12, [sp, #12] 7002b34c: ed9d 0a05 vldr s0, [sp, #20] 7002b350: edcd 2a0b vstr s5, [sp, #44] @ 0x2c 7002b354: ee0d 3a07 vmla.f32 s6, s26, s14 7002b358: eef0 6a43 vmov.f32 s13, s6 7002b35c: ee46 6a22 vmla.f32 s13, s12, s5 7002b360: edcd 6a0a vstr s13, [sp, #40] @ 0x28 7002b364: f00e fb84 bl 70039a70 7002b368: ee69 1a80 vmul.f32 s3, s19, s0 7002b36c: ed9d 0a05 vldr s0, [sp, #20] 7002b370: edcd 1a09 vstr s3, [sp, #36] @ 0x24 7002b374: f00e fa84 bl 70039880 7002b378: eef0 7a4c vmov.f32 s15, s24 7002b37c: eddd 1a09 vldr s3, [sp, #36] @ 0x24 7002b380: ee2a 2a00 vmul.f32 s4, s20, s0 7002b384: ed9d 6a03 vldr s12, [sp, #12] 7002b388: eddd 6a0a vldr s13, [sp, #40] @ 0x28 7002b38c: ee4d 7a21 vmla.f32 s15, s26, s3 7002b390: eddd 4a0c vldr s9, [sp, #48] @ 0x30 7002b394: eddd 5a0d vldr s11, [sp, #52] @ 0x34 7002b398: eeb0 ca67 vmov.f32 s24, s15 7002b39c: ee06 ca02 vmla.f32 s24, s12, s4 7002b3a0: eef4 6acc vcmpe.f32 s13, s24 7002b3a4: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b3a8: f340 855f ble.w 7002be6a 7002b3ac: eef0 2a4b vmov.f32 s5, s22 7002b3b0: eddd 7a03 vldr s15, [sp, #12] 7002b3b4: ed9d 7a01 vldr s14, [sp, #4] 7002b3b8: edcd 5a0c vstr s11, [sp, #48] @ 0x30 7002b3bc: ee47 2aa1 vmla.f32 s5, s15, s3 7002b3c0: edcd 4a0b vstr s9, [sp, #44] @ 0x2c 7002b3c4: ee7c 1a47 vsub.f32 s3, s24, s14 7002b3c8: edcd 6a0a vstr s13, [sp, #40] @ 0x28 7002b3cc: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7002b3d0: eef5 1ac0 vcmpe.f32 s3, #0.0 7002b3d4: ed8d 7a08 vstr s14, [sp, #32] 7002b3d8: ee4d 2a42 vmls.f32 s5, s26, s4 7002b3dc: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b3e0: ee72 2acb vsub.f32 s5, s5, s22 7002b3e4: ee22 2aa2 vmul.f32 s4, s5, s5 7002b3e8: ee01 2aa1 vmla.f32 s4, s3, s3 7002b3ec: eeb1 0ac2 vsqrt.f32 s0, s4 7002b3f0: ee82 0a80 vdiv.f32 s0, s5, s0 7002b3f4: eeff 2a00 vmov.f32 s5, #240 @ 0xbf800000 -1.0 7002b3f8: fe77 7a22 vselgt.f32 s15, s14, s5 7002b3fc: edcd 2a09 vstr s5, [sp, #36] @ 0x24 7002b400: edcd 7a05 vstr s15, [sp, #20] 7002b404: f00e f9ea bl 700397dc 7002b408: eddf 0a1f vldr s1, [pc, #124] @ 7002b488 7002b40c: eddd 7a05 vldr s15, [sp, #20] 7002b410: eef0 6a60 vmov.f32 s13, s1 7002b414: ee40 6a27 vmla.f32 s13, s0, s15 7002b418: eeb0 0a66 vmov.f32 s0, s13 7002b41c: f00e fa0c bl 70039838 7002b420: ed8d 0a05 vstr s0, [sp, #20] 7002b424: ed9d 0a07 vldr s0, [sp, #28] 7002b428: f00e fb22 bl 70039a70 7002b42c: ee69 9a80 vmul.f32 s19, s19, s0 7002b430: ed9d 0a07 vldr s0, [sp, #28] 7002b434: f00e fa24 bl 70039880 7002b438: eeb0 2a4b vmov.f32 s4, s22 7002b43c: eddd 7a03 vldr s15, [sp, #12] 7002b440: ed9d 7a01 vldr s14, [sp, #4] 7002b444: ee07 2aa9 vmla.f32 s4, s15, s19 7002b448: eddd 6a0a vldr s13, [sp, #40] @ 0x28 7002b44c: ee6a 7a00 vmul.f32 s15, s20, s0 7002b450: eddd 4a0b vldr s9, [sp, #44] @ 0x2c 7002b454: eddd 5a0c vldr s11, [sp, #48] @ 0x30 7002b458: ee0d 2a67 vmls.f32 s4, s26, s15 7002b45c: ee72 7a4b vsub.f32 s15, s4, s22 7002b460: ee36 2ac7 vsub.f32 s4, s13, s14 7002b464: ed9d 7a08 vldr s14, [sp, #32] 7002b468: eeb5 2ac0 vcmpe.f32 s4, #0.0 7002b46c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b470: e012 b.n 7002b498 7002b472: bf00 nop 7002b474: 42652ee1 .word 0x42652ee1 7002b478: 43340000 .word 0x43340000 7002b47c: 42b40000 .word 0x42b40000 7002b480: 43870000 .word 0x43870000 7002b484: 40490fdb .word 0x40490fdb 7002b488: 40c90fdb .word 0x40c90fdb 7002b48c: 3727c5ac .word 0x3727c5ac 7002b490: b727c5ac .word 0xb727c5ac 7002b494: 00000000 .word 0x00000000 7002b498: f340 856b ble.w 7002bf72 7002b49c: ee67 2aa7 vmul.f32 s5, s15, s15 7002b4a0: eef0 9a47 vmov.f32 s19, s14 7002b4a4: ee42 2a02 vmla.f32 s5, s4, s4 7002b4a8: eeb1 0ae2 vsqrt.f32 s0, s5 7002b4ac: edcd 5a08 vstr s11, [sp, #32] 7002b4b0: edcd 4a07 vstr s9, [sp, #28] 7002b4b4: edcd 6a03 vstr s13, [sp, #12] 7002b4b8: ee87 0a80 vdiv.f32 s0, s15, s0 7002b4bc: f00e f98e bl 700397dc 7002b4c0: ed5f 0a0f vldr s1, [pc, #-60] @ 7002b488 7002b4c4: eef0 7a60 vmov.f32 s15, s1 7002b4c8: ee40 7a29 vmla.f32 s15, s0, s19 7002b4cc: eeb0 0a67 vmov.f32 s0, s15 7002b4d0: f00e f9b2 bl 70039838 7002b4d4: eeb0 da40 vmov.f32 s26, s0 7002b4d8: eddd 5a08 vldr s11, [sp, #32] 7002b4dc: eddd 4a07 vldr s9, [sp, #28] 7002b4e0: eddd 6a03 vldr s13, [sp, #12] 7002b4e4: ee7d 7acb vsub.f32 s15, s27, s22 7002b4e8: ed9d aa01 vldr s20, [sp, #4] 7002b4ec: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7002b4f0: edcd 5a09 vstr s11, [sp, #36] @ 0x24 7002b4f4: ee34 2aca vsub.f32 s4, s9, s20 7002b4f8: edcd 6a08 vstr s13, [sp, #32] 7002b4fc: ee67 2aa7 vmul.f32 s5, s15, s15 7002b500: edcd 4a07 vstr s9, [sp, #28] 7002b504: ed8d 7a01 vstr s14, [sp, #4] 7002b508: eeb5 2ac0 vcmpe.f32 s4, #0.0 7002b50c: ee42 2a02 vmla.f32 s5, s4, s4 7002b510: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b514: eeb1 0ae2 vsqrt.f32 s0, s5 7002b518: ee87 0a80 vdiv.f32 s0, s15, s0 7002b51c: eeff 7a00 vmov.f32 s15, #240 @ 0xbf800000 -1.0 7002b520: fe77 9a27 vselgt.f32 s19, s14, s15 7002b524: edcd 7a03 vstr s15, [sp, #12] 7002b528: f00e f958 bl 700397dc 7002b52c: ed5f 0a2a vldr s1, [pc, #-168] @ 7002b488 7002b530: eef0 7a60 vmov.f32 s15, s1 7002b534: ee40 7a29 vmla.f32 s15, s0, s19 7002b538: eeb0 0a67 vmov.f32 s0, s15 7002b53c: f00e f97c bl 70039838 7002b540: ee38 aaca vsub.f32 s20, s17, s20 7002b544: ee38 ba4b vsub.f32 s22, s16, s22 7002b548: ed9d 7a01 vldr s14, [sp, #4] 7002b54c: eef0 9a40 vmov.f32 s19, s0 7002b550: eddd 4a07 vldr s9, [sp, #28] 7002b554: eeb5 aac0 vcmpe.f32 s20, #0.0 7002b558: eddd 6a08 vldr s13, [sp, #32] 7002b55c: eddd 5a09 vldr s11, [sp, #36] @ 0x24 7002b560: edcd 6a01 vstr s13, [sp, #4] 7002b564: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b568: edcd 5a07 vstr s11, [sp, #28] 7002b56c: bfd8 it le 7002b56e: eddd 7a03 vldrle s15, [sp, #12] 7002b572: edcd 4a03 vstr s9, [sp, #12] 7002b576: bfd8 it le 7002b578: eeb0 7a67 vmovle.f32 s14, s15 7002b57c: ee6b 7a0b vmul.f32 s15, s22, s22 7002b580: ed8d 7a08 vstr s14, [sp, #32] 7002b584: ee4a 7a0a vmla.f32 s15, s20, s20 7002b588: eeb1 0ae7 vsqrt.f32 s0, s15 7002b58c: ee8b 0a00 vdiv.f32 s0, s22, s0 7002b590: f00e f924 bl 700397dc 7002b594: ed5f 0a44 vldr s1, [pc, #-272] @ 7002b488 7002b598: ed9d 7a08 vldr s14, [sp, #32] 7002b59c: eef0 7a60 vmov.f32 s15, s1 7002b5a0: ee40 7a07 vmla.f32 s15, s0, s14 7002b5a4: eeb0 0a67 vmov.f32 s0, s15 7002b5a8: f00e f946 bl 70039838 7002b5ac: eddd 6a01 vldr s13, [sp, #4] 7002b5b0: eef0 7a40 vmov.f32 s15, s0 7002b5b4: eddd 4a03 vldr s9, [sp, #12] 7002b5b8: eddd 5a07 vldr s11, [sp, #28] 7002b5bc: f1ba 0f00 cmp.w sl, #0 7002b5c0: f040 844d bne.w 7002be5e 7002b5c4: eef4 7ae9 vcmpe.f32 s15, s19 7002b5c8: ed9d 7a06 vldr s14, [sp, #24] 7002b5cc: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b5d0: f340 845d ble.w 7002be8e 7002b5d4: eef4 9ac7 vcmpe.f32 s19, s14 7002b5d8: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b5dc: f300 84d5 bgt.w 7002bf8a 7002b5e0: ed9d 7a06 vldr s14, [sp, #24] 7002b5e4: eef4 7ac7 vcmpe.f32 s15, s14 7002b5e8: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b5ec: f100 84cd bmi.w 7002bf8a 7002b5f0: eeb4 8aed vcmpe.f32 s16, s27 7002b5f4: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b5f8: f340 84c5 ble.w 7002bf86 7002b5fc: ed9d 7a04 vldr s14, [sp, #16] 7002b600: eef4 9ac7 vcmpe.f32 s19, s14 7002b604: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b608: f300 84d8 bgt.w 7002bfbc 7002b60c: eef4 7ac7 vcmpe.f32 s15, s14 7002b610: eef0 ba6d vmov.f32 s23, s27 7002b614: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b618: bf58 it pl 7002b61a: eef0 aa48 vmovpl.f32 s21, s16 7002b61e: ed9d 7a05 vldr s14, [sp, #20] 7002b622: eef4 9ac7 vcmpe.f32 s19, s14 7002b626: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b62a: dc0a bgt.n 7002b642 7002b62c: eef4 7ac7 vcmpe.f32 s15, s14 7002b630: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b634: d405 bmi.n 7002b642 7002b636: eef4 8ae4 vcmpe.f32 s17, s9 7002b63a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b63e: fe34 caa8 vselgt.f32 s24, s9, s17 7002b642: eef4 9acd vcmpe.f32 s19, s26 7002b646: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b64a: dc0d bgt.n 7002b668 7002b64c: eef4 7acd vcmpe.f32 s15, s26 7002b650: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b654: d408 bmi.n 7002b668 7002b656: eef4 8ae4 vcmpe.f32 s17, s9 7002b65a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b65e: bf54 ite pl 7002b660: eef0 6a68 vmovpl.f32 s13, s17 7002b664: eef0 6a64 vmovmi.f32 s13, s9 7002b668: edd4 1a04 vldr s3, [r4, #16] 7002b66c: ed94 2a05 vldr s4, [r4, #20] 7002b670: eef4 1a6b vcmp.f32 s3, s23 7002b674: edd4 2a06 vldr s5, [r4, #24] 7002b678: edd4 7a07 vldr s15, [r4, #28] 7002b67c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b680: eeb4 2a4c vcmp.f32 s4, s24 7002b684: fe7b 1aa1 vselgt.f32 s3, s23, s3 7002b688: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b68c: eef4 ba62 vcmp.f32 s23, s5 7002b690: fe3c 2a02 vselgt.f32 s4, s24, s4 7002b694: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b698: eeb4 ca67 vcmp.f32 s24, s15 7002b69c: fe7b 2aa2 vselgt.f32 s5, s23, s5 7002b6a0: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b6a4: eef4 aa61 vcmp.f32 s21, s3 7002b6a8: fe7c 7a27 vselgt.f32 s15, s24, s15 7002b6ac: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b6b0: eef4 6a42 vcmp.f32 s13, s4 7002b6b4: bf48 it mi 7002b6b6: eef0 1a6a vmovmi.f32 s3, s21 7002b6ba: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b6be: eef4 aa62 vcmp.f32 s21, s5 7002b6c2: edc4 1a04 vstr s3, [r4, #16] 7002b6c6: bf48 it mi 7002b6c8: eeb0 2a66 vmovmi.f32 s4, s13 7002b6cc: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b6d0: eef4 6a67 vcmp.f32 s13, s15 7002b6d4: ed84 2a05 vstr s4, [r4, #20] 7002b6d8: fe7a 2aa2 vselgt.f32 s5, s21, s5 7002b6dc: edc4 2a06 vstr s5, [r4, #24] 7002b6e0: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b6e4: fe76 7aa7 vselgt.f32 s15, s13, s15 7002b6e8: edc4 7a07 vstr s15, [r4, #28] 7002b6ec: f7fe bea2 b.w 7002a434 7002b6f0: eef0 4a68 vmov.f32 s9, s17 7002b6f4: eddc ea01 vldr s29, [ip, #4] 7002b6f8: eef0 da48 vmov.f32 s27, s16 7002b6fc: eddc ca02 vldr s25, [ip, #8] 7002b700: eeb0 9a67 vmov.f32 s18, s15 7002b704: 1cfa adds r2, r7, #3 7002b706: 9502 str r5, [sp, #8] 7002b708: f7ff bbf6 b.w 7002aef8 7002b70c: ed5f 7aa0 vldr s15, [pc, #-640] @ 7002b490 7002b710: eeb4 9ae7 vcmpe.f32 s18, s15 7002b714: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b718: da17 bge.n 7002b74a 7002b71a: eef5 eac0 vcmpe.f32 s29, #0.0 7002b71e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b722: d444 bmi.n 7002b7ae 7002b724: ed5f 7aa7 vldr s15, [pc, #-668] @ 7002b48c 7002b728: eef4 eae7 vcmpe.f32 s29, s15 7002b72c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b730: d90b bls.n 7002b74a 7002b732: eef1 9a49 vneg.f32 s19, s18 7002b736: eeb0 aa6e vmov.f32 s20, s29 7002b73a: e424 b.n 7002af86 7002b73c: ed5f 7aac vldr s15, [pc, #-688] @ 7002b490 7002b740: eef4 eae7 vcmpe.f32 s29, s15 7002b744: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b748: db2b blt.n 7002b7a2 7002b74a: ed94 2a04 vldr s4, [r4, #16] 7002b74e: edd4 2a05 vldr s5, [r4, #20] 7002b752: eeb4 8a42 vcmp.f32 s16, s4 7002b756: ed94 3a06 vldr s6, [r4, #24] 7002b75a: edd4 7a07 vldr s15, [r4, #28] 7002b75e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b762: eef4 8a62 vcmp.f32 s17, s5 7002b766: bf48 it mi 7002b768: eeb0 2a48 vmovmi.f32 s4, s16 7002b76c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b770: eeb4 8a43 vcmp.f32 s16, s6 7002b774: ed84 2a04 vstr s4, [r4, #16] 7002b778: bf48 it mi 7002b77a: eef0 2a68 vmovmi.f32 s5, s17 7002b77e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b782: eef4 8a67 vcmp.f32 s17, s15 7002b786: edc4 2a05 vstr s5, [r4, #20] 7002b78a: fe38 3a03 vselgt.f32 s6, s16, s6 7002b78e: ed84 3a06 vstr s6, [r4, #24] 7002b792: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b796: fe78 7aa7 vselgt.f32 s15, s17, s15 7002b79a: edc4 7a07 vstr s15, [r4, #28] 7002b79e: f7fe be49 b.w 7002a434 7002b7a2: eef0 9a49 vmov.f32 s19, s18 7002b7a6: eeb1 aa6e vneg.f32 s20, s29 7002b7aa: f7ff bbec b.w 7002af86 7002b7ae: eef4 eae7 vcmpe.f32 s29, s15 7002b7b2: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b7b6: dac8 bge.n 7002b74a 7002b7b8: eef1 9a49 vneg.f32 s19, s18 7002b7bc: e7f3 b.n 7002b7a6 7002b7be: ee23 3a0c vmul.f32 s6, s6, s24 7002b7c2: eef1 2ac3 vsqrt.f32 s5, s6 7002b7c6: ed1f 3acd vldr s6, [pc, #-820] @ 7002b494 7002b7ca: ee69 9aa2 vmul.f32 s19, s19, s5 7002b7ce: ee2a aa22 vmul.f32 s20, s20, s5 7002b7d2: eef6 2a00 vmov.f32 s5, #96 @ 0x3f000000 0.5 7002b7d6: eecb 0a29 vdiv.f32 s1, s22, s19 7002b7da: ee87 0a8a vdiv.f32 s0, s15, s20 7002b7de: ee81 6a29 vdiv.f32 s12, s2, s19 7002b7e2: eec1 6a8a vdiv.f32 s13, s3, s20 7002b7e6: ee70 7a86 vadd.f32 s15, s1, s12 7002b7ea: ee27 7aa2 vmul.f32 s14, s15, s5 7002b7ee: ee30 ca26 vadd.f32 s24, s0, s13 7002b7f2: ee30 2a66 vsub.f32 s4, s0, s13 7002b7f6: ee2c ca22 vmul.f32 s24, s24, s5 7002b7fa: ee70 2ac6 vsub.f32 s5, s1, s12 7002b7fe: e420 b.n 7002b042 7002b800: edd4 7a04 vldr s15, [r4, #16] 7002b804: eebd 7ac3 vcvt.s32.f32 s14, s6 7002b808: edd4 2a05 vldr s5, [r4, #20] 7002b80c: eef4 7a48 vcmp.f32 s15, s16 7002b810: edd4 1a06 vldr s3, [r4, #24] 7002b814: ed94 1a07 vldr s2, [r4, #28] 7002b818: ee17 ca10 vmov ip, s14 7002b81c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b820: 4663 mov r3, ip 7002b822: eef4 2a68 vcmp.f32 s5, s17 7002b826: fe78 7a27 vselgt.f32 s15, s16, s15 7002b82a: edc4 7a04 vstr s15, [r4, #16] 7002b82e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b832: eef4 1a48 vcmp.f32 s3, s16 7002b836: fe78 2aa2 vselgt.f32 s5, s17, s5 7002b83a: edc4 2a05 vstr s5, [r4, #20] 7002b83e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b842: eeb4 1a68 vcmp.f32 s2, s17 7002b846: bf48 it mi 7002b848: eef0 1a48 vmovmi.f32 s3, s16 7002b84c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b850: edc4 1a06 vstr s3, [r4, #24] 7002b854: bf48 it mi 7002b856: eeb0 1a68 vmovmi.f32 s2, s17 7002b85a: f1bc 0f00 cmp.w ip, #0 7002b85e: bfb8 it lt 7002b860: f10c 0301 addlt.w r3, ip, #1 7002b864: f1bc 0f01 cmp.w ip, #1 7002b868: ed84 1a07 vstr s2, [r4, #28] 7002b86c: ea4f 0363 mov.w r3, r3, asr #1 7002b870: f340 80d8 ble.w 7002ba24 7002b874: 2900 cmp r1, #0 7002b876: f040 8131 bne.w 7002badc 7002b87a: 9803 ldr r0, [sp, #12] 7002b87c: ed90 0a01 vldr s0, [r0, #4] 7002b880: 3101 adds r1, #1 7002b882: 3008 adds r0, #8 7002b884: eeb4 0a67 vcmp.f32 s0, s15 7002b888: ed90 2a00 vldr s4, [r0] 7002b88c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b890: eeb4 2a62 vcmp.f32 s4, s5 7002b894: bf48 it mi 7002b896: eef0 7a40 vmovmi.f32 s15, s0 7002b89a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b89e: eeb4 0a61 vcmp.f32 s0, s3 7002b8a2: edc4 7a04 vstr s15, [r4, #16] 7002b8a6: bf48 it mi 7002b8a8: eef0 2a42 vmovmi.f32 s5, s4 7002b8ac: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b8b0: eeb4 2a41 vcmp.f32 s4, s2 7002b8b4: edc4 2a05 vstr s5, [r4, #20] 7002b8b8: fe70 1a21 vselgt.f32 s3, s0, s3 7002b8bc: edc4 1a06 vstr s3, [r4, #24] 7002b8c0: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b8c4: fe32 1a01 vselgt.f32 s2, s4, s2 7002b8c8: 428b cmp r3, r1 7002b8ca: ed84 1a07 vstr s2, [r4, #28] 7002b8ce: dcd5 bgt.n 7002b87c 7002b8d0: eb02 0343 add.w r3, r2, r3, lsl #1 7002b8d4: 7830 ldrb r0, [r6, #0] 7002b8d6: eef0 8a42 vmov.f32 s17, s4 7002b8da: 1c5f adds r7, r3, #1 7002b8dc: eeb0 8a40 vmov.f32 s16, s0 7002b8e0: f000 036f and.w r3, r0, #111 @ 0x6f 7002b8e4: f7fe bd6e b.w 7002a3c4 7002b8e8: ed94 1a04 vldr s2, [r4, #16] 7002b8ec: eebd 7ac3 vcvt.s32.f32 s14, s6 7002b8f0: edd4 1a05 vldr s3, [r4, #20] 7002b8f4: eeb4 1a48 vcmp.f32 s2, s16 7002b8f8: edd4 2a06 vldr s5, [r4, #24] 7002b8fc: edd4 7a07 vldr s15, [r4, #28] 7002b900: ee17 ca10 vmov ip, s14 7002b904: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b908: 4663 mov r3, ip 7002b90a: eef4 1a68 vcmp.f32 s3, s17 7002b90e: fe38 1a01 vselgt.f32 s2, s16, s2 7002b912: ed84 1a04 vstr s2, [r4, #16] 7002b916: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b91a: eef4 2a48 vcmp.f32 s5, s16 7002b91e: fe78 1aa1 vselgt.f32 s3, s17, s3 7002b922: edc4 1a05 vstr s3, [r4, #20] 7002b926: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b92a: eef4 7a68 vcmp.f32 s15, s17 7002b92e: bf48 it mi 7002b930: eef0 2a48 vmovmi.f32 s5, s16 7002b934: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b938: edc4 2a06 vstr s5, [r4, #24] 7002b93c: bf48 it mi 7002b93e: eef0 7a68 vmovmi.f32 s15, s17 7002b942: f1bc 0f00 cmp.w ip, #0 7002b946: bfb8 it lt 7002b948: f10c 0301 addlt.w r3, ip, #1 7002b94c: f1bc 0f01 cmp.w ip, #1 7002b950: edc4 7a07 vstr s15, [r4, #28] 7002b954: ea4f 0363 mov.w r3, r3, asr #1 7002b958: dd6e ble.n 7002ba38 7002b95a: 9803 ldr r0, [sp, #12] 7002b95c: 2900 cmp r1, #0 7002b95e: d171 bne.n 7002ba44 7002b960: ed90 0a01 vldr s0, [r0, #4] 7002b964: 3101 adds r1, #1 7002b966: 3008 adds r0, #8 7002b968: eeb4 0a41 vcmp.f32 s0, s2 7002b96c: ed90 2a00 vldr s4, [r0] 7002b970: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b974: eeb4 2a61 vcmp.f32 s4, s3 7002b978: bf48 it mi 7002b97a: eeb0 1a40 vmovmi.f32 s2, s0 7002b97e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b982: eeb4 0a62 vcmp.f32 s0, s5 7002b986: ed84 1a04 vstr s2, [r4, #16] 7002b98a: bf48 it mi 7002b98c: eef0 1a42 vmovmi.f32 s3, s4 7002b990: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b994: eeb4 2a67 vcmp.f32 s4, s15 7002b998: edc4 1a05 vstr s3, [r4, #20] 7002b99c: fe70 2a22 vselgt.f32 s5, s0, s5 7002b9a0: edc4 2a06 vstr s5, [r4, #24] 7002b9a4: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b9a8: fe72 7a27 vselgt.f32 s15, s4, s15 7002b9ac: 428b cmp r3, r1 7002b9ae: edc4 7a07 vstr s15, [r4, #28] 7002b9b2: dcd5 bgt.n 7002b960 7002b9b4: eb02 0343 add.w r3, r2, r3, lsl #1 7002b9b8: 1c5f adds r7, r3, #1 7002b9ba: ee30 3a65 vsub.f32 s6, s0, s11 7002b9be: eeb5 3a40 vcmp.f32 s6, #0.0 7002b9c2: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b9c6: f000 80be beq.w 7002bb46 7002b9ca: eef4 5a41 vcmp.f32 s11, s2 7002b9ce: eef0 8a4e vmov.f32 s17, s28 7002b9d2: eeb0 8a65 vmov.f32 s16, s11 7002b9d6: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b9da: eeb4 ea61 vcmp.f32 s28, s3 7002b9de: bf48 it mi 7002b9e0: eeb0 1a65 vmovmi.f32 s2, s11 7002b9e4: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b9e8: eef4 5a62 vcmp.f32 s11, s5 7002b9ec: ed84 1a04 vstr s2, [r4, #16] 7002b9f0: bf48 it mi 7002b9f2: eef0 1a4e vmovmi.f32 s3, s28 7002b9f6: eef1 fa10 vmrs APSR_nzcv, fpscr 7002b9fa: eeb4 ea67 vcmp.f32 s28, s15 7002b9fe: edc4 1a05 vstr s3, [r4, #20] 7002ba02: fe75 2aa2 vselgt.f32 s5, s11, s5 7002ba06: edc4 2a06 vstr s5, [r4, #24] 7002ba0a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ba0e: fe7e 7a27 vselgt.f32 s15, s28, s15 7002ba12: edc4 7a07 vstr s15, [r4, #28] 7002ba16: 7830 ldrb r0, [r6, #0] 7002ba18: f04f 0b00 mov.w fp, #0 7002ba1c: f000 036f and.w r3, r0, #111 @ 0x6f 7002ba20: f7fe bcd0 b.w 7002a3c4 7002ba24: 4605 mov r5, r0 7002ba26: 7830 ldrb r0, [r6, #0] 7002ba28: eeb0 2a68 vmov.f32 s4, s17 7002ba2c: eeb0 0a48 vmov.f32 s0, s16 7002ba30: f000 036f and.w r3, r0, #111 @ 0x6f 7002ba34: f7fe bcc6 b.w 7002a3c4 7002ba38: eeb0 2a68 vmov.f32 s4, s17 7002ba3c: 4605 mov r5, r0 7002ba3e: eeb0 0a48 vmov.f32 s0, s16 7002ba42: e7ba b.n 7002b9ba 7002ba44: eeb0 2a68 vmov.f32 s4, s17 7002ba48: 2100 movs r1, #0 7002ba4a: eeb0 0a48 vmov.f32 s0, s16 7002ba4e: ed90 3a01 vldr s6, [r0, #4] 7002ba52: 3008 adds r0, #8 7002ba54: 3101 adds r1, #1 7002ba56: ee30 0a03 vadd.f32 s0, s0, s6 7002ba5a: ed90 3a00 vldr s6, [r0] 7002ba5e: ee32 2a03 vadd.f32 s4, s4, s6 7002ba62: eeb4 0a41 vcmp.f32 s0, s2 7002ba66: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ba6a: eeb4 2a61 vcmp.f32 s4, s3 7002ba6e: bf48 it mi 7002ba70: eeb0 1a40 vmovmi.f32 s2, s0 7002ba74: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ba78: eeb4 0a62 vcmp.f32 s0, s5 7002ba7c: ed84 1a04 vstr s2, [r4, #16] 7002ba80: bf48 it mi 7002ba82: eef0 1a42 vmovmi.f32 s3, s4 7002ba86: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ba8a: eeb4 2a67 vcmp.f32 s4, s15 7002ba8e: edc4 1a05 vstr s3, [r4, #20] 7002ba92: fe70 2a22 vselgt.f32 s5, s0, s5 7002ba96: edc4 2a06 vstr s5, [r4, #24] 7002ba9a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002ba9e: fe72 7a27 vselgt.f32 s15, s4, s15 7002baa2: 428b cmp r3, r1 7002baa4: edc4 7a07 vstr s15, [r4, #28] 7002baa8: dcd1 bgt.n 7002ba4e 7002baaa: e783 b.n 7002b9b4 7002baac: b179 cbz r1, 7002bace 7002baae: ee78 7a83 vadd.f32 s15, s17, s6 7002bab2: 4628 mov r0, r5 7002bab4: eeb0 3a48 vmov.f32 s6, s16 7002bab8: f7fe bc7c b.w 7002a3b4 7002babc: 2900 cmp r1, #0 7002babe: d063 beq.n 7002bb88 7002bac0: ee33 3a08 vadd.f32 s6, s6, s16 7002bac4: 4628 mov r0, r5 7002bac6: eef0 7a68 vmov.f32 s15, s17 7002baca: f7fe bc73 b.w 7002a3b4 7002bace: eef0 7a43 vmov.f32 s15, s6 7002bad2: 4628 mov r0, r5 7002bad4: eeb0 3a48 vmov.f32 s6, s16 7002bad8: f7fe bc6c b.w 7002a3b4 7002badc: eeb0 2a68 vmov.f32 s4, s17 7002bae0: 9903 ldr r1, [sp, #12] 7002bae2: eeb0 0a48 vmov.f32 s0, s16 7002bae6: 2000 movs r0, #0 7002bae8: ed91 3a01 vldr s6, [r1, #4] 7002baec: 3108 adds r1, #8 7002baee: 3001 adds r0, #1 7002baf0: ee30 0a03 vadd.f32 s0, s0, s6 7002baf4: ed91 3a00 vldr s6, [r1] 7002baf8: ee32 2a03 vadd.f32 s4, s4, s6 7002bafc: eeb4 0a67 vcmp.f32 s0, s15 7002bb00: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bb04: eeb4 2a62 vcmp.f32 s4, s5 7002bb08: bf48 it mi 7002bb0a: eef0 7a40 vmovmi.f32 s15, s0 7002bb0e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bb12: eeb4 0a61 vcmp.f32 s0, s3 7002bb16: edc4 7a04 vstr s15, [r4, #16] 7002bb1a: bf48 it mi 7002bb1c: eef0 2a42 vmovmi.f32 s5, s4 7002bb20: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bb24: eeb4 2a41 vcmp.f32 s4, s2 7002bb28: edc4 2a05 vstr s5, [r4, #20] 7002bb2c: fe70 1a21 vselgt.f32 s3, s0, s3 7002bb30: edc4 1a06 vstr s3, [r4, #24] 7002bb34: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bb38: fe32 1a01 vselgt.f32 s2, s4, s2 7002bb3c: 4283 cmp r3, r0 7002bb3e: ed84 1a07 vstr s2, [r4, #28] 7002bb42: dcd1 bgt.n 7002bae8 7002bb44: e6c4 b.n 7002b8d0 7002bb46: ee32 3a4e vsub.f32 s6, s4, s28 7002bb4a: eeb5 3a40 vcmp.f32 s6, #0.0 7002bb4e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bb52: f47f af3a bne.w 7002b9ca 7002bb56: eef0 8a42 vmov.f32 s17, s4 7002bb5a: eeb0 8a40 vmov.f32 s16, s0 7002bb5e: e75a b.n 7002ba16 7002bb60: eddf 2aec vldr s5, [pc, #944] @ 7002bf14 7002bb64: ee33 3a22 vadd.f32 s6, s6, s5 7002bb68: f7ff baad b.w 7002b0c6 7002bb6c: b12b cbz r3, 7002bb7a 7002bb6e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bb72: f53f aac6 bmi.w 7002b102 7002bb76: f7ff bac0 b.w 7002b0fa 7002bb7a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bb7e: 469a mov sl, r3 7002bb80: f53f aabb bmi.w 7002b0fa 7002bb84: f7ff bab2 b.w 7002b0ec 7002bb88: eef0 7a68 vmov.f32 s15, s17 7002bb8c: 4628 mov r0, r5 7002bb8e: f7fe bc11 b.w 7002a3b4 7002bb92: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bb96: f04f 0a01 mov.w sl, #1 7002bb9a: f53f aab2 bmi.w 7002b102 7002bb9e: f7ff baac b.w 7002b0fa 7002bba2: eddf 7add vldr s15, [pc, #884] @ 7002bf18 7002bba6: eef1 2a69 vneg.f32 s5, s19 7002bbaa: ed9f dadc vldr s26, [pc, #880] @ 7002bf1c 7002bbae: ee7b ba69 vsub.f32 s23, s22, s19 7002bbb2: eeb0 2a67 vmov.f32 s4, s15 7002bbb6: edcd 5a07 vstr s11, [sp, #28] 7002bbba: edcd 4a05 vstr s9, [sp, #20] 7002bbbe: edcd 7a03 vstr s15, [sp, #12] 7002bbc2: ee09 2aa9 vmla.f32 s4, s19, s19 7002bbc6: eeb1 3ac2 vsqrt.f32 s6, s4 7002bbca: eec2 aa83 vdiv.f32 s21, s5, s6 7002bbce: eeb0 0a6a vmov.f32 s0, s21 7002bbd2: f00d fe03 bl 700397dc 7002bbd6: eef0 0a4d vmov.f32 s1, s26 7002bbda: ee3d 0a40 vsub.f32 s0, s26, s0 7002bbde: f00d fe2b bl 70039838 7002bbe2: eeb0 7a40 vmov.f32 s14, s0 7002bbe6: eeb1 0a6a vneg.f32 s0, s21 7002bbea: ee79 aa8b vadd.f32 s21, s19, s22 7002bbee: ed8d 7a06 vstr s14, [sp, #24] 7002bbf2: f00d fdf3 bl 700397dc 7002bbf6: eef0 0a4d vmov.f32 s1, s26 7002bbfa: ee3d 0a40 vsub.f32 s0, s26, s0 7002bbfe: f00d fe1b bl 70039838 7002bc02: eeb5 aac0 vcmpe.f32 s20, #0.0 7002bc06: eddd 7a01 vldr s15, [sp, #4] 7002bc0a: eddd 4a05 vldr s9, [sp, #20] 7002bc0e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bc12: eddd 5a07 vldr s11, [sp, #28] 7002bc16: ee37 caca vsub.f32 s24, s15, s20 7002bc1a: ed8d 0a04 vstr s0, [sp, #16] 7002bc1e: eddd 7a03 vldr s15, [sp, #12] 7002bc22: d53e bpl.n 7002bca2 7002bc24: eef0 2a67 vmov.f32 s5, s15 7002bc28: edcd 5a07 vstr s11, [sp, #28] 7002bc2c: edcd 4a03 vstr s9, [sp, #12] 7002bc30: ee4a 2a0a vmla.f32 s5, s20, s20 7002bc34: eeb1 3ae2 vsqrt.f32 s6, s5 7002bc38: eec7 9a83 vdiv.f32 s19, s15, s6 7002bc3c: eeb0 0a69 vmov.f32 s0, s19 7002bc40: f00d fdcc bl 700397dc 7002bc44: eef0 0a4d vmov.f32 s1, s26 7002bc48: ee30 0a0d vadd.f32 s0, s0, s26 7002bc4c: f00d fdf4 bl 70039838 7002bc50: eddd 7a01 vldr s15, [sp, #4] 7002bc54: eddd 5a07 vldr s11, [sp, #28] 7002bc58: ee7a 6a27 vadd.f32 s13, s20, s15 7002bc5c: eddd 4a03 vldr s9, [sp, #12] 7002bc60: ed8d 0a05 vstr s0, [sp, #20] 7002bc64: eebf da00 vmov.f32 s26, #240 @ 0xbf800000 -1.0 7002bc68: eeb0 0a69 vmov.f32 s0, s19 7002bc6c: edcd 5a08 vstr s11, [sp, #32] 7002bc70: edcd 4a07 vstr s9, [sp, #28] 7002bc74: edcd 6a03 vstr s13, [sp, #12] 7002bc78: f00d fdb0 bl 700397dc 7002bc7c: eddf 0aa7 vldr s1, [pc, #668] @ 7002bf1c 7002bc80: eef0 7a60 vmov.f32 s15, s1 7002bc84: ee40 7a0d vmla.f32 s15, s0, s26 7002bc88: eeb0 0a67 vmov.f32 s0, s15 7002bc8c: f00d fdd4 bl 70039838 7002bc90: eddd 6a03 vldr s13, [sp, #12] 7002bc94: eeb0 da40 vmov.f32 s26, s0 7002bc98: eddd 4a07 vldr s9, [sp, #28] 7002bc9c: eddd 5a08 vldr s11, [sp, #32] 7002bca0: e420 b.n 7002b4e4 7002bca2: eef0 2a67 vmov.f32 s5, s15 7002bca6: edcd 4a03 vstr s9, [sp, #12] 7002bcaa: ee4a 2a0a vmla.f32 s5, s20, s20 7002bcae: eeb1 3ae2 vsqrt.f32 s6, s5 7002bcb2: eec7 9a83 vdiv.f32 s19, s15, s6 7002bcb6: eeb0 0a69 vmov.f32 s0, s19 7002bcba: f00d fd8f bl 700397dc 7002bcbe: eef0 0a4d vmov.f32 s1, s26 7002bcc2: ee3d 0a40 vsub.f32 s0, s26, s0 7002bcc6: f00d fdb7 bl 70039838 7002bcca: eeb5 aac0 vcmpe.f32 s20, #0.0 7002bcce: eddd 7a01 vldr s15, [sp, #4] 7002bcd2: eddd 4a03 vldr s9, [sp, #12] 7002bcd6: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bcda: eddd 5a07 vldr s11, [sp, #28] 7002bcde: ee7a 6a27 vadd.f32 s13, s20, s15 7002bce2: ed8d 0a05 vstr s0, [sp, #20] 7002bce6: bfc8 it gt 7002bce8: eeb7 da00 vmovgt.f32 s26, #112 @ 0x3f800000 1.0 7002bcec: dcbc bgt.n 7002bc68 7002bcee: e7b9 b.n 7002bc64 7002bcf0: ed9f 7a89 vldr s14, [pc, #548] @ 7002bf18 7002bcf4: eef1 2a4a vneg.f32 s5, s20 7002bcf8: ed9f da88 vldr s26, [pc, #544] @ 7002bf1c 7002bcfc: ee7b ba4a vsub.f32 s23, s22, s20 7002bd00: eeb0 2a47 vmov.f32 s4, s14 7002bd04: edcd 5a07 vstr s11, [sp, #28] 7002bd08: edcd 4a05 vstr s9, [sp, #20] 7002bd0c: ed8d 7a03 vstr s14, [sp, #12] 7002bd10: ee0a 2a0a vmla.f32 s4, s20, s20 7002bd14: eeb1 3ac2 vsqrt.f32 s6, s4 7002bd18: eec2 aa83 vdiv.f32 s21, s5, s6 7002bd1c: eeb0 0a6a vmov.f32 s0, s21 7002bd20: f00d fd5c bl 700397dc 7002bd24: eef0 0a4d vmov.f32 s1, s26 7002bd28: ee3d 0a40 vsub.f32 s0, s26, s0 7002bd2c: f00d fd84 bl 70039838 7002bd30: eef0 7a40 vmov.f32 s15, s0 7002bd34: eeb1 0a6a vneg.f32 s0, s21 7002bd38: ee7a aa0b vadd.f32 s21, s20, s22 7002bd3c: edcd 7a06 vstr s15, [sp, #24] 7002bd40: f00d fd4c bl 700397dc 7002bd44: eef0 0a4d vmov.f32 s1, s26 7002bd48: ee3d 0a40 vsub.f32 s0, s26, s0 7002bd4c: f00d fd74 bl 70039838 7002bd50: eef5 9ac0 vcmpe.f32 s19, #0.0 7002bd54: eddd 7a01 vldr s15, [sp, #4] 7002bd58: ed9d 7a03 vldr s14, [sp, #12] 7002bd5c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bd60: eddd 4a05 vldr s9, [sp, #20] 7002bd64: ee37 cae9 vsub.f32 s24, s15, s19 7002bd68: eddd 5a07 vldr s11, [sp, #28] 7002bd6c: ed8d 0a04 vstr s0, [sp, #16] 7002bd70: d54e bpl.n 7002be10 7002bd72: eeb0 3a47 vmov.f32 s6, s14 7002bd76: edcd 5a07 vstr s11, [sp, #28] 7002bd7a: edcd 4a03 vstr s9, [sp, #12] 7002bd7e: ee09 3aa9 vmla.f32 s6, s19, s19 7002bd82: eef1 7ac3 vsqrt.f32 s15, s6 7002bd86: ee87 aa27 vdiv.f32 s20, s14, s15 7002bd8a: eeb0 0a4a vmov.f32 s0, s20 7002bd8e: f00d fd25 bl 700397dc 7002bd92: eef0 0a4d vmov.f32 s1, s26 7002bd96: ee30 0a0d vadd.f32 s0, s0, s26 7002bd9a: f00d fd4d bl 70039838 7002bd9e: eddd 7a01 vldr s15, [sp, #4] 7002bda2: eddd 5a07 vldr s11, [sp, #28] 7002bda6: ee79 6aa7 vadd.f32 s13, s19, s15 7002bdaa: eddd 4a03 vldr s9, [sp, #12] 7002bdae: ed8d 0a05 vstr s0, [sp, #20] 7002bdb2: eeff 9a00 vmov.f32 s19, #240 @ 0xbf800000 -1.0 7002bdb6: eeb0 0a4a vmov.f32 s0, s20 7002bdba: edcd 5a08 vstr s11, [sp, #32] 7002bdbe: edcd 4a07 vstr s9, [sp, #28] 7002bdc2: edcd 6a03 vstr s13, [sp, #12] 7002bdc6: f00d fd09 bl 700397dc 7002bdca: eddf 0a54 vldr s1, [pc, #336] @ 7002bf1c 7002bdce: eef0 7a60 vmov.f32 s15, s1 7002bdd2: ee40 7a29 vmla.f32 s15, s0, s19 7002bdd6: e757 b.n 7002bc88 7002bdd8: ed9d 7a09 vldr s14, [sp, #36] @ 0x24 7002bddc: edcd 5a08 vstr s11, [sp, #32] 7002bde0: eeb0 0a47 vmov.f32 s0, s14 7002bde4: edcd 4a07 vstr s9, [sp, #28] 7002bde8: f00d fe42 bl 70039a70 7002bdec: eeb0 3a6b vmov.f32 s6, s23 7002bdf0: ee69 7a80 vmul.f32 s15, s19, s0 7002bdf4: eddd 2a06 vldr s5, [sp, #24] 7002bdf8: eef0 ba6a vmov.f32 s23, s21 7002bdfc: eddd 5a08 vldr s11, [sp, #32] 7002be00: eef0 aa43 vmov.f32 s21, s6 7002be04: eddd 4a07 vldr s9, [sp, #28] 7002be08: ed8d ca04 vstr s24, [sp, #16] 7002be0c: f7ff b9f9 b.w 7002b202 7002be10: eeb0 3a47 vmov.f32 s6, s14 7002be14: edcd 4a03 vstr s9, [sp, #12] 7002be18: ee09 3aa9 vmla.f32 s6, s19, s19 7002be1c: eef1 7ac3 vsqrt.f32 s15, s6 7002be20: ee87 aa27 vdiv.f32 s20, s14, s15 7002be24: eeb0 0a4a vmov.f32 s0, s20 7002be28: f00d fcd8 bl 700397dc 7002be2c: eef0 0a4d vmov.f32 s1, s26 7002be30: ee3d 0a40 vsub.f32 s0, s26, s0 7002be34: f00d fd00 bl 70039838 7002be38: eef5 9ac0 vcmpe.f32 s19, #0.0 7002be3c: eddd 7a01 vldr s15, [sp, #4] 7002be40: eddd 4a03 vldr s9, [sp, #12] 7002be44: eef1 fa10 vmrs APSR_nzcv, fpscr 7002be48: eddd 5a07 vldr s11, [sp, #28] 7002be4c: ee79 6aa7 vadd.f32 s13, s19, s15 7002be50: ed8d 0a05 vstr s0, [sp, #20] 7002be54: bfc8 it gt 7002be56: eef7 9a00 vmovgt.f32 s19, #112 @ 0x3f800000 1.0 7002be5a: dcac bgt.n 7002bdb6 7002be5c: e7a9 b.n 7002bdb2 7002be5e: eef0 7a69 vmov.f32 s15, s19 7002be62: eef0 9a40 vmov.f32 s19, s0 7002be66: f7ff bbad b.w 7002b5c4 7002be6a: eeb0 1a4c vmov.f32 s2, s24 7002be6e: eddd 2a0b vldr s5, [sp, #44] @ 0x2c 7002be72: eddd 7a05 vldr s15, [sp, #20] 7002be76: eeb0 ca66 vmov.f32 s24, s13 7002be7a: eeb0 2a62 vmov.f32 s4, s5 7002be7e: eddd 1a08 vldr s3, [sp, #32] 7002be82: eef0 6a41 vmov.f32 s13, s2 7002be86: edcd 7a07 vstr s15, [sp, #28] 7002be8a: f7ff ba8f b.w 7002b3ac 7002be8e: eef4 7ac7 vcmpe.f32 s15, s14 7002be92: eef1 fa10 vmrs APSR_nzcv, fpscr 7002be96: dd26 ble.n 7002bee6 7002be98: eeb4 8aed vcmpe.f32 s16, s27 7002be9c: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bea0: dd3e ble.n 7002bf20 7002bea2: ed9d 7a04 vldr s14, [sp, #16] 7002bea6: eef4 7ac7 vcmpe.f32 s15, s14 7002beaa: eef1 fa10 vmrs APSR_nzcv, fpscr 7002beae: dd40 ble.n 7002bf32 7002beb0: eef0 ba6d vmov.f32 s23, s27 7002beb4: eef0 aa48 vmov.f32 s21, s16 7002beb8: ed9d 7a05 vldr s14, [sp, #20] 7002bebc: eef4 7ac7 vcmpe.f32 s15, s14 7002bec0: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bec4: dd3f ble.n 7002bf46 7002bec6: eef4 8ae4 vcmpe.f32 s17, s9 7002beca: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bece: dd4d ble.n 7002bf6c 7002bed0: eef4 7acd vcmpe.f32 s15, s26 7002bed4: eeb0 ca64 vmov.f32 s24, s9 7002bed8: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bedc: dd3e ble.n 7002bf5c 7002bede: eef0 6a68 vmov.f32 s13, s17 7002bee2: f7ff bbc1 b.w 7002b668 7002bee6: eef4 9ac7 vcmpe.f32 s19, s14 7002beea: eef1 fa10 vmrs APSR_nzcv, fpscr 7002beee: d4d3 bmi.n 7002be98 7002bef0: ed9d 7a04 vldr s14, [sp, #16] 7002bef4: eef4 7ac7 vcmpe.f32 s15, s14 7002bef8: eef1 fa10 vmrs APSR_nzcv, fpscr 7002befc: dd13 ble.n 7002bf26 7002befe: eeb4 8aed vcmpe.f32 s16, s27 7002bf02: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bf06: bf54 ite pl 7002bf08: eef0 aa48 vmovpl.f32 s21, s16 7002bf0c: eef0 aa6d vmovmi.f32 s21, s27 7002bf10: e7d2 b.n 7002beb8 7002bf12: bf00 nop 7002bf14: 43b40000 .word 0x43b40000 7002bf18: 00000000 .word 0x00000000 7002bf1c: 40c90fdb .word 0x40c90fdb 7002bf20: eef0 ba48 vmov.f32 s23, s16 7002bf24: e7e4 b.n 7002bef0 7002bf26: eef4 9ac7 vcmpe.f32 s19, s14 7002bf2a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bf2e: d4e6 bmi.n 7002befe 7002bf30: e7c2 b.n 7002beb8 7002bf32: eef4 9ac7 vcmpe.f32 s19, s14 7002bf36: eef0 ba6d vmov.f32 s23, s27 7002bf3a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bf3e: bf48 it mi 7002bf40: eef0 aa48 vmovmi.f32 s21, s16 7002bf44: e7b8 b.n 7002beb8 7002bf46: eef4 9ac7 vcmpe.f32 s19, s14 7002bf4a: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bf4e: d4ba bmi.n 7002bec6 7002bf50: eef4 7acd vcmpe.f32 s15, s26 7002bf54: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bf58: f73f ab7d bgt.w 7002b656 7002bf5c: eef4 9acd vcmpe.f32 s19, s26 7002bf60: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bf64: f53f ab77 bmi.w 7002b656 7002bf68: f7ff bb7e b.w 7002b668 7002bf6c: eeb0 ca68 vmov.f32 s24, s17 7002bf70: e7ee b.n 7002bf50 7002bf72: eddd 2a09 vldr s5, [sp, #36] @ 0x24 7002bf76: eef0 9a62 vmov.f32 s19, s5 7002bf7a: ee67 2aa7 vmul.f32 s5, s15, s15 7002bf7e: ee42 2a02 vmla.f32 s5, s4, s4 7002bf82: f7ff ba91 b.w 7002b4a8 7002bf86: eef0 ba48 vmov.f32 s23, s16 7002bf8a: ed9d 7a04 vldr s14, [sp, #16] 7002bf8e: eef4 9ac7 vcmpe.f32 s19, s14 7002bf92: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bf96: f73f ab42 bgt.w 7002b61e 7002bf9a: eef4 7ac7 vcmpe.f32 s15, s14 7002bf9e: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bfa2: f53f ab3c bmi.w 7002b61e 7002bfa6: eeb4 8aed vcmpe.f32 s16, s27 7002bfaa: eef1 fa10 vmrs APSR_nzcv, fpscr 7002bfae: bf54 ite pl 7002bfb0: eef0 aa48 vmovpl.f32 s21, s16 7002bfb4: eef0 aa6d vmovmi.f32 s21, s27 7002bfb8: f7ff bb31 b.w 7002b61e 7002bfbc: eef0 ba6d vmov.f32 s23, s27 7002bfc0: f7ff bb2d b.w 7002b61e 7002bfc4 <_ZN8touchgfx8HALGPU2D17unlockFrameBufferEv>: 7002bfc4: f7e2 bd8c b.w 7000eae0 <_ZN8touchgfx3HAL17unlockFrameBufferEv> 7002bfc8 <_ZN8touchgfx8HALGPU2D10beginFrameEv>: 7002bfc8: 2200 movs r2, #0 7002bfca: f880 20c5 strb.w r2, [r0, #197] @ 0xc5 7002bfce: f7e2 bc7d b.w 7000e8cc <_ZN8touchgfx3HAL10beginFrameEv> 7002bfd2: bf00 nop 7002bfd4 <_ZN8touchgfx8HALGPU2D15lockFrameBufferEv>: 7002bfd4: b538 push {r3, r4, r5, lr} 7002bfd6: f890 30c5 ldrb.w r3, [r0, #197] @ 0xc5 7002bfda: 4604 mov r4, r0 7002bfdc: b95b cbnz r3, 7002bff6 <_ZN8touchgfx8HALGPU2D15lockFrameBufferEv+0x22> 7002bfde: f100 0588 add.w r5, r0, #136 @ 0x88 7002bfe2: 4628 mov r0, r5 7002bfe4: f7fd fd76 bl 70029ad4 7002bfe8: 4620 mov r0, r4 7002bfea: f7e3 faad bl 7000f548 <_ZN8touchgfx3HAL15lockFrameBufferEv> 7002bfee: 2300 movs r3, #0 7002bff0: f884 30c4 strb.w r3, [r4, #196] @ 0xc4 7002bff4: bd38 pop {r3, r4, r5, pc} 7002bff6: 2300 movs r3, #0 7002bff8: f100 0588 add.w r5, r0, #136 @ 0x88 7002bffc: f880 30c5 strb.w r3, [r0, #197] @ 0xc5 7002c000: 4628 mov r0, r5 7002c002: f7fd fd0b bl 70029a1c 7002c006: e7ec b.n 7002bfe2 <_ZN8touchgfx8HALGPU2D15lockFrameBufferEv+0xe> 7002c008 <_ZN8touchgfx8HALGPU2D10initializeEv>: 7002c008: b510 push {r4, lr} 7002c00a: b090 sub sp, #64 @ 0x40 7002c00c: 4604 mov r4, r0 7002c00e: f7e2 fc76 bl 7000e8fe <_ZN8touchgfx3HAL10initializeEv> 7002c012: f44f 5100 mov.w r1, #8192 @ 0x2000 7002c016: 4668 mov r0, sp 7002c018: f7fd f946 bl 700292a8 7002c01c: 46ee mov lr, sp 7002c01e: f104 0c88 add.w ip, r4, #136 @ 0x88 7002c022: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 7002c026: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7002c02a: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 7002c02e: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7002c032: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 7002c036: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7002c03a: e89e 0007 ldmia.w lr, {r0, r1, r2} 7002c03e: e88c 0007 stmia.w ip, {r0, r1, r2} 7002c042: b010 add sp, #64 @ 0x40 7002c044: bd10 pop {r4, pc} 7002c046: bf00 nop 7002c048 <_ZN8touchgfx8HALGPU2D8endFrameEv>: 7002c048: b538 push {r3, r4, r5, lr} 7002c04a: f890 30c4 ldrb.w r3, [r0, #196] @ 0xc4 7002c04e: 4604 mov r4, r0 7002c050: b153 cbz r3, 7002c068 <_ZN8touchgfx8HALGPU2D8endFrameEv+0x20> 7002c052: 6840 ldr r0, [r0, #4] 7002c054: 4911 ldr r1, [pc, #68] @ (7002c09c <_ZN8touchgfx8HALGPU2D8endFrameEv+0x54>) 7002c056: 6803 ldr r3, [r0, #0] 7002c058: 689a ldr r2, [r3, #8] 7002c05a: 428a cmp r2, r1 7002c05c: d11c bne.n 7002c098 <_ZN8touchgfx8HALGPU2D8endFrameEv+0x50> 7002c05e: 6c5b ldr r3, [r3, #68] @ 0x44 7002c060: 4798 blx r3 7002c062: 2300 movs r3, #0 7002c064: f884 30c4 strb.w r3, [r4, #196] @ 0xc4 7002c068: f894 30c5 ldrb.w r3, [r4, #197] @ 0xc5 7002c06c: f104 0588 add.w r5, r4, #136 @ 0x88 7002c070: b93b cbnz r3, 7002c082 <_ZN8touchgfx8HALGPU2D8endFrameEv+0x3a> 7002c072: 4628 mov r0, r5 7002c074: f7fd fd2e bl 70029ad4 7002c078: 4620 mov r0, r4 7002c07a: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 7002c07e: f7e2 bc31 b.w 7000e8e4 <_ZN8touchgfx3HAL8endFrameEv> 7002c082: 4628 mov r0, r5 7002c084: f7fd fcca bl 70029a1c 7002c088: 4628 mov r0, r5 7002c08a: f7fd fd23 bl 70029ad4 7002c08e: 4620 mov r0, r4 7002c090: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 7002c094: f7e2 bc26 b.w 7000e8e4 <_ZN8touchgfx3HAL8endFrameEv> 7002c098: 4790 blx r2 7002c09a: e7e2 b.n 7002c062 <_ZN8touchgfx8HALGPU2D8endFrameEv+0x1a> 7002c09c: 70002751 .word 0x70002751 7002c0a0 <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt>: 7002c0a0: b470 push {r4, r5, r6} 7002c0a2: e9c0 2302 strd r2, r3, [r0, #8] 7002c0a6: f44f 7380 mov.w r3, #256 @ 0x100 7002c0aa: 6041 str r1, [r0, #4] 7002c0ac: 2100 movs r1, #0 7002c0ae: 4e29 ldr r6, [pc, #164] @ (7002c154 <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt+0xb4>) 7002c0b0: 64c3 str r3, [r0, #76] @ 0x4c 7002c0b2: 4b29 ldr r3, [pc, #164] @ (7002c158 <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt+0xb8>) 7002c0b4: 8501 strh r1, [r0, #40] @ 0x28 7002c0b6: f8c0 102a str.w r1, [r0, #42] @ 0x2a 7002c0ba: f880 102e strb.w r1, [r0, #46] @ 0x2e 7002c0be: 6301 str r1, [r0, #48] @ 0x30 7002c0c0: 8681 strh r1, [r0, #52] @ 0x34 7002c0c2: 6581 str r1, [r0, #88] @ 0x58 7002c0c4: f880 105c strb.w r1, [r0, #92] @ 0x5c 7002c0c8: 6701 str r1, [r0, #112] @ 0x70 7002c0ca: f880 1074 strb.w r1, [r0, #116] @ 0x74 7002c0ce: 6781 str r1, [r0, #120] @ 0x78 7002c0d0: 4d22 ldr r5, [pc, #136] @ (7002c15c <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt+0xbc>) 7002c0d2: 4c23 ldr r4, [pc, #140] @ (7002c160 <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt+0xc0>) 7002c0d4: e9c0 131a strd r1, r3, [r0, #104] @ 0x68 7002c0d8: e9c0 1104 strd r1, r1, [r0, #16] 7002c0dc: e9c0 1106 strd r1, r1, [r0, #24] 7002c0e0: e9c0 1108 strd r1, r1, [r0, #32] 7002c0e4: e9c0 110f strd r1, r1, [r0, #60] @ 0x3c 7002c0e8: e9c0 1111 strd r1, r1, [r0, #68] @ 0x44 7002c0ec: e9c0 1114 strd r1, r1, [r0, #80] @ 0x50 7002c0f0: e9c0 1118 strd r1, r1, [r0, #96] @ 0x60 7002c0f4: f8bd 2010 ldrh.w r2, [sp, #16] 7002c0f8: 67c6 str r6, [r0, #124] @ 0x7c 7002c0fa: ea4f 0c92 mov.w ip, r2, lsr #2 7002c0fe: f8bd 300c ldrh.w r3, [sp, #12] 7002c102: 8022 strh r2, [r4, #0] 7002c104: fba5 650c umull r6, r5, r5, ip 7002c108: 4293 cmp r3, r2 7002c10a: f8a0 10c4 strh.w r1, [r0, #196] @ 0xc4 7002c10e: ea4f 0555 mov.w r5, r5, lsr #1 7002c112: f8a0 c082 strh.w ip, [r0, #130] @ 0x82 7002c116: f8a0 5084 strh.w r5, [r0, #132] @ 0x84 7002c11a: f44f 6580 mov.w r5, #1024 @ 0x400 7002c11e: f8a0 5080 strh.w r5, [r0, #128] @ 0x80 7002c122: f04f 0514 mov.w r5, #20 7002c126: f8a0 5086 strh.w r5, [r0, #134] @ 0x86 7002c12a: 4d0e ldr r5, [pc, #56] @ (7002c164 <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt+0xc4>) 7002c12c: 6028 str r0, [r5, #0] 7002c12e: 4d0e ldr r5, [pc, #56] @ (7002c168 <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt+0xc8>) 7002c130: 802b strh r3, [r5, #0] 7002c132: 4d0e ldr r5, [pc, #56] @ (7002c16c <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt+0xcc>) 7002c134: 802b strh r3, [r5, #0] 7002c136: bf2c ite cs 7002c138: 2300 movcs r3, #0 7002c13a: 2301 movcc r3, #1 7002c13c: f880 3038 strb.w r3, [r0, #56] @ 0x38 7002c140: 4b0b ldr r3, [pc, #44] @ (7002c170 <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt+0xd0>) 7002c142: 6003 str r3, [r0, #0] 7002c144: 4b0b ldr r3, [pc, #44] @ (7002c174 <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt+0xd4>) 7002c146: 6018 str r0, [r3, #0] 7002c148: 4b0b ldr r3, [pc, #44] @ (7002c178 <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt+0xd8>) 7002c14a: 801a strh r2, [r3, #0] 7002c14c: 4b0b ldr r3, [pc, #44] @ (7002c17c <_ZN8touchgfx8HALGPU2DC1ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt+0xdc>) 7002c14e: 7019 strb r1, [r3, #0] 7002c150: bc70 pop {r4, r5, r6} 7002c152: 4770 bx lr 7002c154: 01010000 .word 0x01010000 7002c158: 01000001 .word 0x01000001 7002c15c: aaaaaaab .word 0xaaaaaaab 7002c160: 2400da7a .word 0x2400da7a 7002c164: 2400da80 .word 0x2400da80 7002c168: 2400da7c .word 0x2400da7c 7002c16c: 2400da78 .word 0x2400da78 7002c170: 700401c0 .word 0x700401c0 7002c174: 2400e0dc .word 0x2400e0dc 7002c178: 2400da76 .word 0x2400da76 7002c17c: 2400da72 .word 0x2400da72 7002c180 <_ZN8touchgfx8HALGPU2D10initializeEi>: 7002c180: b530 push {r4, r5, lr} 7002c182: 460d mov r5, r1 7002c184: b091 sub sp, #68 @ 0x44 7002c186: 4604 mov r4, r0 7002c188: f7e2 fbb9 bl 7000e8fe <_ZN8touchgfx3HAL10initializeEv> 7002c18c: 4629 mov r1, r5 7002c18e: 4668 mov r0, sp 7002c190: f7fd f88a bl 700292a8 7002c194: 46ee mov lr, sp 7002c196: f104 0c88 add.w ip, r4, #136 @ 0x88 7002c19a: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 7002c19e: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7002c1a2: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 7002c1a6: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7002c1aa: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} 7002c1ae: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} 7002c1b2: e89e 0007 ldmia.w lr, {r0, r1, r2} 7002c1b6: e88c 0007 stmia.w ip, {r0, r1, r2} 7002c1ba: b011 add sp, #68 @ 0x44 7002c1bc: bd30 pop {r4, r5, pc} 7002c1be: bf00 nop 7002c1c0 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv>: 7002c1c0: b510 push {r4, lr} 7002c1c2: f890 30c4 ldrb.w r3, [r0, #196] @ 0xc4 7002c1c6: 4604 mov r4, r0 7002c1c8: b153 cbz r3, 7002c1e0 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv+0x20> 7002c1ca: 6840 ldr r0, [r0, #4] 7002c1cc: 490d ldr r1, [pc, #52] @ (7002c204 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv+0x44>) 7002c1ce: 6803 ldr r3, [r0, #0] 7002c1d0: 689a ldr r2, [r3, #8] 7002c1d2: 428a cmp r2, r1 7002c1d4: d114 bne.n 7002c200 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv+0x40> 7002c1d6: 6c5b ldr r3, [r3, #68] @ 0x44 7002c1d8: 4798 blx r3 7002c1da: 2300 movs r3, #0 7002c1dc: f884 30c4 strb.w r3, [r4, #196] @ 0xc4 7002c1e0: 4620 mov r0, r4 7002c1e2: 3488 adds r4, #136 @ 0x88 7002c1e4: 2101 movs r1, #1 7002c1e6: f7e3 f99d bl 7000f524 <_ZN8touchgfx3HAL18setRenderingMethodENS0_15RenderingMethodE> 7002c1ea: f7fd fa35 bl 70029658 7002c1ee: 4284 cmp r4, r0 7002c1f0: d005 beq.n 7002c1fe <_ZN8touchgfx8HALGPU2D14bindExecBufferEv+0x3e> 7002c1f2: 4620 mov r0, r4 7002c1f4: 2104 movs r1, #4 7002c1f6: e8bd 4010 ldmia.w sp!, {r4, lr} 7002c1fa: f7fd b9b7 b.w 7002956c 7002c1fe: bd10 pop {r4, pc} 7002c200: 4790 blx r2 7002c202: e7ea b.n 7002c1da <_ZN8touchgfx8HALGPU2D14bindExecBufferEv+0x1a> 7002c204: 70002751 .word 0x70002751 7002c208 <_ZN8touchgfx8HALGPU2D16submitExecBufferEv>: 7002c208: 4603 mov r3, r0 7002c20a: 2200 movs r2, #0 7002c20c: 3088 adds r0, #136 @ 0x88 7002c20e: f883 20c5 strb.w r2, [r3, #197] @ 0xc5 7002c212: f7fd bc03 b.w 70029a1c 7002c216: bf00 nop 7002c218 <_ZN8touchgfx8HALGPU2D13dma2dBlitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_>: 7002c218: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002c21c: b091 sub sp, #68 @ 0x44 7002c21e: 4604 mov r4, r0 7002c220: 930c str r3, [sp, #48] @ 0x30 7002c222: f8bd 3068 ldrh.w r3, [sp, #104] @ 0x68 7002c226: f8bd 5070 ldrh.w r5, [sp, #112] @ 0x70 7002c22a: 930d str r3, [sp, #52] @ 0x34 7002c22c: f890 30c5 ldrb.w r3, [r0, #197] @ 0xc5 7002c230: f8bd 6074 ldrh.w r6, [sp, #116] @ 0x74 7002c234: f89d 7078 ldrb.w r7, [sp, #120] @ 0x78 7002c238: f89d 807c ldrb.w r8, [sp, #124] @ 0x7c 7002c23c: f8bd 9080 ldrh.w r9, [sp, #128] @ 0x80 7002c240: f89d a084 ldrb.w sl, [sp, #132] @ 0x84 7002c244: f89d b088 ldrb.w fp, [sp, #136] @ 0x88 7002c248: e9cd 120a strd r1, r2, [sp, #40] @ 0x28 7002c24c: f8bd 206c ldrh.w r2, [sp, #108] @ 0x6c 7002c250: 920e str r2, [sp, #56] @ 0x38 7002c252: b9e3 cbnz r3, 7002c28e <_ZN8touchgfx8HALGPU2D13dma2dBlitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_+0x76> 7002c254: 3088 adds r0, #136 @ 0x88 7002c256: f7fd fc3d bl 70029ad4 7002c25a: 9b0e ldr r3, [sp, #56] @ 0x38 7002c25c: 2001 movs r0, #1 7002c25e: 9502 str r5, [sp, #8] 7002c260: 9301 str r3, [sp, #4] 7002c262: 9b0d ldr r3, [sp, #52] @ 0x34 7002c264: 990a ldr r1, [sp, #40] @ 0x28 7002c266: 9300 str r3, [sp, #0] 7002c268: e9cd ab07 strd sl, fp, [sp, #28] 7002c26c: e9cd 8905 strd r8, r9, [sp, #20] 7002c270: e9cd 6703 strd r6, r7, [sp, #12] 7002c274: f884 00c4 strb.w r0, [r4, #196] @ 0xc4 7002c278: 4620 mov r0, r4 7002c27a: 6825 ldr r5, [r4, #0] 7002c27c: 2400 movs r4, #0 7002c27e: e9dd 230b ldrd r2, r3, [sp, #44] @ 0x2c 7002c282: 9409 str r4, [sp, #36] @ 0x24 7002c284: 6c2c ldr r4, [r5, #64] @ 0x40 7002c286: 47a0 blx r4 7002c288: b011 add sp, #68 @ 0x44 7002c28a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002c28e: 2300 movs r3, #0 7002c290: 3088 adds r0, #136 @ 0x88 7002c292: f880 303d strb.w r3, [r0, #61] @ 0x3d 7002c296: 900f str r0, [sp, #60] @ 0x3c 7002c298: f7fd fbc0 bl 70029a1c 7002c29c: 980f ldr r0, [sp, #60] @ 0x3c 7002c29e: e7da b.n 7002c256 <_ZN8touchgfx8HALGPU2D13dma2dBlitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_+0x3e> 7002c2a0 <_ZN8touchgfx12LCDGPU2D_AXID1Ev>: 7002c2a0: 4770 bx lr 7002c2a2: bf00 nop 7002c2a4 <_ZNK8touchgfx12LCDGPU2D_AXI8bitDepthEv>: 7002c2a4: 7b03 ldrb r3, [r0, #12] 7002c2a6: 2b02 cmp r3, #2 7002c2a8: d004 beq.n 7002c2b4 <_ZNK8touchgfx12LCDGPU2D_AXI8bitDepthEv+0x10> 7002c2aa: 2b01 cmp r3, #1 7002c2ac: bf14 ite ne 7002c2ae: 2010 movne r0, #16 7002c2b0: 2018 moveq r0, #24 7002c2b2: 4770 bx lr 7002c2b4: 2020 movs r0, #32 7002c2b6: 4770 bx lr 7002c2b8 <_ZNK8touchgfx12LCDGPU2D_AXI17framebufferFormatEv>: 7002c2b8: 7b00 ldrb r0, [r0, #12] 7002c2ba: 4770 bx lr 7002c2bc <_ZNK8touchgfx12LCDGPU2D_AXI17framebufferStrideEv>: 7002c2bc: 7b03 ldrb r3, [r0, #12] 7002c2be: 2b02 cmp r3, #2 7002c2c0: d009 beq.n 7002c2d6 <_ZNK8touchgfx12LCDGPU2D_AXI17framebufferStrideEv+0x1a> 7002c2c2: 2b01 cmp r3, #1 7002c2c4: bf14 ite ne 7002c2c6: 2302 movne r3, #2 7002c2c8: 2303 moveq r3, #3 7002c2ca: 4a04 ldr r2, [pc, #16] @ (7002c2dc <_ZNK8touchgfx12LCDGPU2D_AXI17framebufferStrideEv+0x20>) 7002c2cc: 8810 ldrh r0, [r2, #0] 7002c2ce: fb10 f003 smulbb r0, r0, r3 7002c2d2: b280 uxth r0, r0 7002c2d4: 4770 bx lr 7002c2d6: 2304 movs r3, #4 7002c2d8: e7f7 b.n 7002c2ca <_ZNK8touchgfx12LCDGPU2D_AXI17framebufferStrideEv+0xe> 7002c2da: bf00 nop 7002c2dc: 2400da78 .word 0x2400da78 7002c2e0 <_ZN8touchgfx12LCDGPU2D_AXI4initEv>: 7002c2e0: 4770 bx lr 7002c2e2: bf00 nop 7002c2e4 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GAD1Ev>: 7002c2e4: 4770 bx lr 7002c2e6: bf00 nop 7002c2e8 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGAD1Ev>: 7002c2e8: 4770 bx lr 7002c2ea: bf00 nop 7002c2ec <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GAD1Ev>: 7002c2ec: 4770 bx lr 7002c2ee: bf00 nop 7002c2f0 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGAD1Ev>: 7002c2f0: 4770 bx lr 7002c2f2: bf00 nop 7002c2f4 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GAD1Ev>: 7002c2f4: 4770 bx lr 7002c2f6: bf00 nop 7002c2f8 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGAD1Ev>: 7002c2f8: 4770 bx lr 7002c2fa: bf00 nop 7002c2fc <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GAD1Ev>: 7002c2fc: 4770 bx lr 7002c2fe: bf00 nop 7002c300 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGAD1Ev>: 7002c300: 4770 bx lr 7002c302: bf00 nop 7002c304 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GAD1Ev>: 7002c304: 4770 bx lr 7002c306: bf00 nop 7002c308 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGAD1Ev>: 7002c308: 4770 bx lr 7002c30a: bf00 nop 7002c30c <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GAD1Ev>: 7002c30c: 4770 bx lr 7002c30e: bf00 nop 7002c310 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGAD1Ev>: 7002c310: 4770 bx lr 7002c312: bf00 nop 7002c314 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GAD1Ev>: 7002c314: 4770 bx lr 7002c316: bf00 nop 7002c318 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GAD1Ev>: 7002c318: 4770 bx lr 7002c31a: bf00 nop 7002c31c <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GAD1Ev>: 7002c31c: 4770 bx lr 7002c31e: bf00 nop 7002c320 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGAD1Ev>: 7002c320: 4770 bx lr 7002c322: bf00 nop 7002c324 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GAD1Ev>: 7002c324: 4770 bx lr 7002c326: bf00 nop 7002c328 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGAD1Ev>: 7002c328: 4770 bx lr 7002c32a: bf00 nop 7002c32c <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 7002c32c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002c330: b089 sub sp, #36 @ 0x24 7002c332: 460e mov r6, r1 7002c334: 4617 mov r7, r2 7002c336: 9d17 ldr r5, [sp, #92] @ 0x5c 7002c338: a818 add r0, sp, #96 @ 0x60 7002c33a: 2e00 cmp r6, #0 7002c33c: 9207 str r2, [sp, #28] 7002c33e: 686c ldr r4, [r5, #4] 7002c340: 9a13 ldr r2, [sp, #76] @ 0x4c 7002c342: f89d 906c ldrb.w r9, [sp, #108] @ 0x6c 7002c346: e890 0403 ldmia.w r0, {r0, r1, sl} 7002c34a: fb04 0001 mla r0, r4, r1, r0 7002c34e: 6829 ldr r1, [r5, #0] 7002c350: 9d16 ldr r5, [sp, #88] @ 0x58 7002c352: eb01 0c40 add.w ip, r1, r0, lsl #1 7002c356: f8da 1004 ldr.w r1, [sl, #4] 7002c35a: f8da 0000 ldr.w r0, [sl] 7002c35e: f101 0104 add.w r1, r1, #4 7002c362: e9cd 0600 strd r0, r6, [sp] 7002c366: 9104 str r1, [sp, #16] 7002c368: e9dd 1414 ldrd r1, r4, [sp, #80] @ 0x50 7002c36c: dc01 bgt.n 7002c372 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x46> 7002c36e: 2f00 cmp r7, #0 7002c370: dd5f ble.n 7002c432 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x106> 7002c372: ea6f 0009 mvn.w r0, r9 7002c376: fa5f fb80 uxtb.w fp, r0 7002c37a: 4648 mov r0, r9 7002c37c: 46d1 mov r9, sl 7002c37e: 4682 mov sl, r0 7002c380: f8d9 0008 ldr.w r0, [r9, #8] 7002c384: 2b00 cmp r3, #0 7002c386: f8d9 e00c ldr.w lr, [r9, #12] 7002c38a: f502 4200 add.w r2, r2, #32768 @ 0x8000 7002c38e: 9002 str r0, [sp, #8] 7002c390: f501 4100 add.w r1, r1, #32768 @ 0x8000 7002c394: b200 sxth r0, r0 7002c396: fa0f f88e sxth.w r8, lr 7002c39a: dd4d ble.n 7002c438 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x10c> 7002c39c: ebb0 4f22 cmp.w r0, r2, asr #16 7002c3a0: ea4f 4622 mov.w r6, r2, asr #16 7002c3a4: ea4f 4721 mov.w r7, r1, asr #16 7002c3a8: dd03 ble.n 7002c3b2 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x86> 7002c3aa: 430e orrs r6, r1 7002c3ac: d401 bmi.n 7002c3b2 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x86> 7002c3ae: 4547 cmp r7, r8 7002c3b0: db43 blt.n 7002c43a <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x10e> 7002c3b2: 3b01 subs r3, #1 7002c3b4: 4422 add r2, r4 7002c3b6: 4429 add r1, r5 7002c3b8: f10c 0c02 add.w ip, ip, #2 7002c3bc: d1ee bne.n 7002c39c <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x70> 7002c3be: 9b01 ldr r3, [sp, #4] 7002c3c0: 2b00 cmp r3, #0 7002c3c2: dd36 ble.n 7002c432 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x106> 7002c3c4: eef0 7a62 vmov.f32 s15, s5 7002c3c8: 9812 ldr r0, [sp, #72] @ 0x48 7002c3ca: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7002c3ce: 3b01 subs r3, #1 7002c3d0: ee30 0a04 vadd.f32 s0, s0, s8 7002c3d4: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002c3d8: 9301 str r3, [sp, #4] 7002c3da: ee70 0aa4 vadd.f32 s1, s1, s9 7002c3de: ee31 1a05 vadd.f32 s2, s2, s10 7002c3e2: ee17 2a90 vmov r2, s15 7002c3e6: eef0 7a43 vmov.f32 s15, s6 7002c3ea: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002c3ee: ee17 1a90 vmov r1, s15 7002c3f2: eec7 7a00 vdiv.f32 s15, s14, s0 7002c3f6: ee20 7aa7 vmul.f32 s14, s1, s15 7002c3fa: ee61 7a27 vmul.f32 s15, s2, s15 7002c3fe: ee77 2a62 vsub.f32 s5, s14, s5 7002c402: ee37 3ac3 vsub.f32 s6, s15, s6 7002c406: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 7002c40a: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 7002c40e: ee12 4a90 vmov r4, s5 7002c412: ee13 5a10 vmov r5, s6 7002c416: fb94 f4f0 sdiv r4, r4, r0 7002c41a: fb95 f5f0 sdiv r5, r5, r0 7002c41e: f040 80c9 bne.w 7002c5b4 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x288> 7002c422: 9b07 ldr r3, [sp, #28] 7002c424: 2b00 cmp r3, #0 7002c426: dd04 ble.n 7002c432 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x106> 7002c428: eeb0 3a67 vmov.f32 s6, s15 7002c42c: eef0 2a47 vmov.f32 s5, s14 7002c430: e7a6 b.n 7002c380 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x54> 7002c432: b009 add sp, #36 @ 0x24 7002c434: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002c438: d0c1 beq.n 7002c3be <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002c43a: 1e5f subs r7, r3, #1 7002c43c: f8cd c014 str.w ip, [sp, #20] 7002c440: fb04 2607 mla r6, r4, r7, r2 7002c444: 9603 str r6, [sp, #12] 7002c446: 1436 asrs r6, r6, #16 7002c448: 9606 str r6, [sp, #24] 7002c44a: 9e03 ldr r6, [sp, #12] 7002c44c: ebb0 4f26 cmp.w r0, r6, asr #16 7002c450: dd55 ble.n 7002c4fe <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d2> 7002c452: fb05 1707 mla r7, r5, r7, r1 7002c456: 143e asrs r6, r7, #16 7002c458: 9603 str r6, [sp, #12] 7002c45a: 9e06 ldr r6, [sp, #24] 7002c45c: 4337 orrs r7, r6 7002c45e: d44e bmi.n 7002c4fe <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d2> 7002c460: 9e03 ldr r6, [sp, #12] 7002c462: 4546 cmp r6, r8 7002c464: da4b bge.n 7002c4fe <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d2> 7002c466: 2b00 cmp r3, #0 7002c468: dda9 ble.n 7002c3be <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002c46a: eb0c 0c43 add.w ip, ip, r3, lsl #1 7002c46e: 9415 str r4, [sp, #84] @ 0x54 7002c470: e9dd e604 ldrd lr, r6, [sp, #16] 7002c474: e001 b.n 7002c47a <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14e> 7002c476: f9b9 0008 ldrsh.w r0, [r9, #8] 7002c47a: 9f15 ldr r7, [sp, #84] @ 0x54 7002c47c: 1414 asrs r4, r2, #16 7002c47e: 140b asrs r3, r1, #16 7002c480: 4429 add r1, r5 7002c482: 443a add r2, r7 7002c484: 9f00 ldr r7, [sp, #0] 7002c486: fb00 7303 mla r3, r0, r3, r7 7002c48a: 5d1b ldrb r3, [r3, r4] 7002c48c: eb03 0343 add.w r3, r3, r3, lsl #1 7002c490: eb0e 0003 add.w r0, lr, r3 7002c494: f81e 8003 ldrb.w r8, [lr, r3] 7002c498: 8833 ldrh r3, [r6, #0] 7002c49a: 7884 ldrb r4, [r0, #2] 7002c49c: 7847 ldrb r7, [r0, #1] 7002c49e: 0a18 lsrs r0, r3, #8 7002c4a0: fb14 f40a smulbb r4, r4, sl 7002c4a4: fb17 f70a smulbb r7, r7, sl 7002c4a8: f000 00f8 and.w r0, r0, #248 @ 0xf8 7002c4ac: fb00 440b mla r4, r0, fp, r4 7002c4b0: 08d8 lsrs r0, r3, #3 7002c4b2: 00db lsls r3, r3, #3 7002c4b4: f000 00fc and.w r0, r0, #252 @ 0xfc 7002c4b8: b2a4 uxth r4, r4 7002c4ba: b2db uxtb r3, r3 7002c4bc: fb00 700b mla r0, r0, fp, r7 7002c4c0: 1c67 adds r7, r4, #1 7002c4c2: fb13 f30b smulbb r3, r3, fp 7002c4c6: b280 uxth r0, r0 7002c4c8: eb07 2714 add.w r7, r7, r4, lsr #8 7002c4cc: fb08 330a mla r3, r8, sl, r3 7002c4d0: 1c44 adds r4, r0, #1 7002c4d2: b29b uxth r3, r3 7002c4d4: f407 477f and.w r7, r7, #65280 @ 0xff00 7002c4d8: eb04 2410 add.w r4, r4, r0, lsr #8 7002c4dc: 1c58 adds r0, r3, #1 7002c4de: f36f 070a bfc r7, #0, #11 7002c4e2: 0964 lsrs r4, r4, #5 7002c4e4: eb00 2313 add.w r3, r0, r3, lsr #8 7002c4e8: f404 64fc and.w r4, r4, #2016 @ 0x7e0 7002c4ec: f3c3 23c4 ubfx r3, r3, #11, #5 7002c4f0: 433c orrs r4, r7 7002c4f2: 4323 orrs r3, r4 7002c4f4: f826 3b02 strh.w r3, [r6], #2 7002c4f8: 4566 cmp r6, ip 7002c4fa: d1bc bne.n 7002c476 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14a> 7002c4fc: e75f b.n 7002c3be <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002c4fe: 2b00 cmp r3, #0 7002c500: f77f af5d ble.w 7002c3be <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002c504: eb0c 0c43 add.w ip, ip, r3, lsl #1 7002c508: 9e05 ldr r6, [sp, #20] 7002c50a: 9b02 ldr r3, [sp, #8] 7002c50c: 9415 str r4, [sp, #84] @ 0x54 7002c50e: e001 b.n 7002c514 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1e8> 7002c510: e9d9 3e02 ldrd r3, lr, [r9, #8] 7002c514: 2a00 cmp r2, #0 7002c516: 9c15 ldr r4, [sp, #84] @ 0x54 7002c518: ea4f 4022 mov.w r0, r2, asr #16 7002c51c: ea4f 4721 mov.w r7, r1, asr #16 7002c520: 4422 add r2, r4 7002c522: db42 blt.n 7002c5aa <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x27e> 7002c524: 4298 cmp r0, r3 7002c526: da40 bge.n 7002c5aa <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x27e> 7002c528: b21b sxth r3, r3 7002c52a: 9c00 ldr r4, [sp, #0] 7002c52c: 2900 cmp r1, #0 7002c52e: fb07 4303 mla r3, r7, r3, r4 7002c532: db3a blt.n 7002c5aa <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x27e> 7002c534: 4577 cmp r7, lr 7002c536: da38 bge.n 7002c5aa <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x27e> 7002c538: 5c1b ldrb r3, [r3, r0] 7002c53a: 9c04 ldr r4, [sp, #16] 7002c53c: eb03 0343 add.w r3, r3, r3, lsl #1 7002c540: 18e0 adds r0, r4, r3 7002c542: f814 8003 ldrb.w r8, [r4, r3] 7002c546: 8833 ldrh r3, [r6, #0] 7002c548: 7887 ldrb r7, [r0, #2] 7002c54a: f890 e001 ldrb.w lr, [r0, #1] 7002c54e: 0a18 lsrs r0, r3, #8 7002c550: fb17 f70a smulbb r7, r7, sl 7002c554: fb1e fe0a smulbb lr, lr, sl 7002c558: f000 00f8 and.w r0, r0, #248 @ 0xf8 7002c55c: fb00 770b mla r7, r0, fp, r7 7002c560: 08d8 lsrs r0, r3, #3 7002c562: 00db lsls r3, r3, #3 7002c564: f000 00fc and.w r0, r0, #252 @ 0xfc 7002c568: b2bf uxth r7, r7 7002c56a: b2db uxtb r3, r3 7002c56c: fb00 e00b mla r0, r0, fp, lr 7002c570: f107 0e01 add.w lr, r7, #1 7002c574: fb13 f30b smulbb r3, r3, fp 7002c578: b280 uxth r0, r0 7002c57a: eb0e 2e17 add.w lr, lr, r7, lsr #8 7002c57e: fb08 330a mla r3, r8, sl, r3 7002c582: 1c47 adds r7, r0, #1 7002c584: b29b uxth r3, r3 7002c586: f40e 4e7f and.w lr, lr, #65280 @ 0xff00 7002c58a: eb07 2010 add.w r0, r7, r0, lsr #8 7002c58e: 1c5f adds r7, r3, #1 7002c590: f36f 0e0a bfc lr, #0, #11 7002c594: 0940 lsrs r0, r0, #5 7002c596: eb07 2313 add.w r3, r7, r3, lsr #8 7002c59a: f400 60fc and.w r0, r0, #2016 @ 0x7e0 7002c59e: f3c3 23c4 ubfx r3, r3, #11, #5 7002c5a2: ea4e 0000 orr.w r0, lr, r0 7002c5a6: 4303 orrs r3, r0 7002c5a8: 8033 strh r3, [r6, #0] 7002c5aa: 3602 adds r6, #2 7002c5ac: 4429 add r1, r5 7002c5ae: 4566 cmp r6, ip 7002c5b0: d1ae bne.n 7002c510 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1e4> 7002c5b2: e704 b.n 7002c3be <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002c5b4: 4603 mov r3, r0 7002c5b6: e737 b.n 7002c428 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfc> 7002c5b8 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 7002c5b8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002c5bc: b089 sub sp, #36 @ 0x24 7002c5be: 460e mov r6, r1 7002c5c0: 4617 mov r7, r2 7002c5c2: 9d17 ldr r5, [sp, #92] @ 0x5c 7002c5c4: a818 add r0, sp, #96 @ 0x60 7002c5c6: 2e00 cmp r6, #0 7002c5c8: 9207 str r2, [sp, #28] 7002c5ca: 686c ldr r4, [r5, #4] 7002c5cc: 9a13 ldr r2, [sp, #76] @ 0x4c 7002c5ce: 9601 str r6, [sp, #4] 7002c5d0: e890 0203 ldmia.w r0, {r0, r1, r9} 7002c5d4: fb04 0001 mla r0, r4, r1, r0 7002c5d8: 6829 ldr r1, [r5, #0] 7002c5da: f8d9 b000 ldr.w fp, [r9] 7002c5de: eb01 0c40 add.w ip, r1, r0, lsl #1 7002c5e2: f8d9 1004 ldr.w r1, [r9, #4] 7002c5e6: 9d16 ldr r5, [sp, #88] @ 0x58 7002c5e8: f101 0804 add.w r8, r1, #4 7002c5ec: e9dd 1414 ldrd r1, r4, [sp, #80] @ 0x50 7002c5f0: dc01 bgt.n 7002c5f6 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3e> 7002c5f2: 2f00 cmp r7, #0 7002c5f4: dd61 ble.n 7002c6ba <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x102> 7002c5f6: 4640 mov r0, r8 7002c5f8: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7002c5fc: 46d8 mov r8, fp 7002c5fe: f8df a1b0 ldr.w sl, [pc, #432] @ 7002c7b0 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1f8> 7002c602: 4683 mov fp, r0 7002c604: f8d9 e00c ldr.w lr, [r9, #12] 7002c608: 2b00 cmp r3, #0 7002c60a: f8d9 0008 ldr.w r0, [r9, #8] 7002c60e: f502 4200 add.w r2, r2, #32768 @ 0x8000 7002c612: fa0f f68e sxth.w r6, lr 7002c616: f501 4100 add.w r1, r1, #32768 @ 0x8000 7002c61a: 9002 str r0, [sp, #8] 7002c61c: b200 sxth r0, r0 7002c61e: 9604 str r6, [sp, #16] 7002c620: dd50 ble.n 7002c6c4 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x10c> 7002c622: f8cd e00c str.w lr, [sp, #12] 7002c626: 46b6 mov lr, r6 7002c628: ebb0 4f22 cmp.w r0, r2, asr #16 7002c62c: ea4f 4622 mov.w r6, r2, asr #16 7002c630: ea4f 4721 mov.w r7, r1, asr #16 7002c634: dd04 ble.n 7002c640 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x88> 7002c636: 430e orrs r6, r1 7002c638: d402 bmi.n 7002c640 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x88> 7002c63a: 4577 cmp r7, lr 7002c63c: f2c0 80b4 blt.w 7002c7a8 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1f0> 7002c640: 3b01 subs r3, #1 7002c642: 4422 add r2, r4 7002c644: 4429 add r1, r5 7002c646: f10c 0c02 add.w ip, ip, #2 7002c64a: d1ed bne.n 7002c628 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x70> 7002c64c: 9b01 ldr r3, [sp, #4] 7002c64e: 2b00 cmp r3, #0 7002c650: dd33 ble.n 7002c6ba <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x102> 7002c652: eef0 7a62 vmov.f32 s15, s5 7002c656: 9812 ldr r0, [sp, #72] @ 0x48 7002c658: ee30 0a04 vadd.f32 s0, s0, s8 7002c65c: 3b01 subs r3, #1 7002c65e: ee70 0aa4 vadd.f32 s1, s1, s9 7002c662: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002c666: 9301 str r3, [sp, #4] 7002c668: ee31 1a05 vadd.f32 s2, s2, s10 7002c66c: ee17 2a90 vmov r2, s15 7002c670: eef0 7a43 vmov.f32 s15, s6 7002c674: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002c678: ee17 1a90 vmov r1, s15 7002c67c: eec6 7a80 vdiv.f32 s15, s13, s0 7002c680: ee20 7aa7 vmul.f32 s14, s1, s15 7002c684: ee61 7a27 vmul.f32 s15, s2, s15 7002c688: ee77 2a62 vsub.f32 s5, s14, s5 7002c68c: ee37 3ac3 vsub.f32 s6, s15, s6 7002c690: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 7002c694: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 7002c698: ee12 4a90 vmov r4, s5 7002c69c: ee13 5a10 vmov r5, s6 7002c6a0: fb94 f4f0 sdiv r4, r4, r0 7002c6a4: fb95 f5f0 sdiv r5, r5, r0 7002c6a8: d10a bne.n 7002c6c0 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x108> 7002c6aa: 9b07 ldr r3, [sp, #28] 7002c6ac: 2b00 cmp r3, #0 7002c6ae: dd04 ble.n 7002c6ba <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x102> 7002c6b0: eeb0 3a67 vmov.f32 s6, s15 7002c6b4: eef0 2a47 vmov.f32 s5, s14 7002c6b8: e7a4 b.n 7002c604 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4c> 7002c6ba: b009 add sp, #36 @ 0x24 7002c6bc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002c6c0: 4603 mov r3, r0 7002c6c2: e7f5 b.n 7002c6b0 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf8> 7002c6c4: d0c2 beq.n 7002c64c <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x94> 7002c6c6: 1e5f subs r7, r3, #1 7002c6c8: f8cd c014 str.w ip, [sp, #20] 7002c6cc: fb04 2607 mla r6, r4, r7, r2 7002c6d0: 9603 str r6, [sp, #12] 7002c6d2: 1436 asrs r6, r6, #16 7002c6d4: 9606 str r6, [sp, #24] 7002c6d6: 9e03 ldr r6, [sp, #12] 7002c6d8: ebb0 4f26 cmp.w r0, r6, asr #16 7002c6dc: dd30 ble.n 7002c740 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x188> 7002c6de: fb05 1707 mla r7, r5, r7, r1 7002c6e2: 143e asrs r6, r7, #16 7002c6e4: 9603 str r6, [sp, #12] 7002c6e6: 9e06 ldr r6, [sp, #24] 7002c6e8: 4337 orrs r7, r6 7002c6ea: d429 bmi.n 7002c740 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x188> 7002c6ec: e9dd 6703 ldrd r6, r7, [sp, #12] 7002c6f0: 42be cmp r6, r7 7002c6f2: da25 bge.n 7002c740 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x188> 7002c6f4: 2b00 cmp r3, #0 7002c6f6: dda9 ble.n 7002c64c <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x94> 7002c6f8: eb0c 0c43 add.w ip, ip, r3, lsl #1 7002c6fc: 9e05 ldr r6, [sp, #20] 7002c6fe: e001 b.n 7002c704 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14c> 7002c700: f9b9 0008 ldrsh.w r0, [r9, #8] 7002c704: 140b asrs r3, r1, #16 7002c706: 4429 add r1, r5 7002c708: 1417 asrs r7, r2, #16 7002c70a: 4422 add r2, r4 7002c70c: fb00 8303 mla r3, r0, r3, r8 7002c710: 5ddb ldrb r3, [r3, r7] 7002c712: eb03 0343 add.w r3, r3, r3, lsl #1 7002c716: eb0b 0e03 add.w lr, fp, r3 7002c71a: f81b 0003 ldrb.w r0, [fp, r3] 7002c71e: f89e 7001 ldrb.w r7, [lr, #1] 7002c722: f89e 3002 ldrb.w r3, [lr, #2] 7002c726: 00ff lsls r7, r7, #3 7002c728: ea0a 2303 and.w r3, sl, r3, lsl #8 7002c72c: f407 67fc and.w r7, r7, #2016 @ 0x7e0 7002c730: 433b orrs r3, r7 7002c732: ea43 03d0 orr.w r3, r3, r0, lsr #3 7002c736: f826 3b02 strh.w r3, [r6], #2 7002c73a: 4566 cmp r6, ip 7002c73c: d1e0 bne.n 7002c700 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x148> 7002c73e: e785 b.n 7002c64c <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x94> 7002c740: 2b00 cmp r3, #0 7002c742: dd83 ble.n 7002c64c <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x94> 7002c744: 9415 str r4, [sp, #84] @ 0x54 7002c746: eb0c 0c43 add.w ip, ip, r3, lsl #1 7002c74a: 4674 mov r4, lr 7002c74c: 9e05 ldr r6, [sp, #20] 7002c74e: 9b02 ldr r3, [sp, #8] 7002c750: f8dd e054 ldr.w lr, [sp, #84] @ 0x54 7002c754: e001 b.n 7002c75a <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1a2> 7002c756: e9d9 3402 ldrd r3, r4, [r9, #8] 7002c75a: 2a00 cmp r2, #0 7002c75c: ea4f 4022 mov.w r0, r2, asr #16 7002c760: ea4f 4721 mov.w r7, r1, asr #16 7002c764: 4472 add r2, lr 7002c766: db1a blt.n 7002c79e <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1e6> 7002c768: 4298 cmp r0, r3 7002c76a: da18 bge.n 7002c79e <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1e6> 7002c76c: b21b sxth r3, r3 7002c76e: 2900 cmp r1, #0 7002c770: fb07 8303 mla r3, r7, r3, r8 7002c774: db13 blt.n 7002c79e <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1e6> 7002c776: 42a7 cmp r7, r4 7002c778: da11 bge.n 7002c79e <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1e6> 7002c77a: 5c1b ldrb r3, [r3, r0] 7002c77c: eb03 0343 add.w r3, r3, r3, lsl #1 7002c780: eb0b 0703 add.w r7, fp, r3 7002c784: f81b 0003 ldrb.w r0, [fp, r3] 7002c788: 787c ldrb r4, [r7, #1] 7002c78a: 78bb ldrb r3, [r7, #2] 7002c78c: 00e4 lsls r4, r4, #3 7002c78e: ea0a 2303 and.w r3, sl, r3, lsl #8 7002c792: f404 64fc and.w r4, r4, #2016 @ 0x7e0 7002c796: 4323 orrs r3, r4 7002c798: ea43 03d0 orr.w r3, r3, r0, lsr #3 7002c79c: 8033 strh r3, [r6, #0] 7002c79e: 3602 adds r6, #2 7002c7a0: 4429 add r1, r5 7002c7a2: 4566 cmp r6, ip 7002c7a4: d1d7 bne.n 7002c756 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x19e> 7002c7a6: e751 b.n 7002c64c <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x94> 7002c7a8: f8dd e00c ldr.w lr, [sp, #12] 7002c7ac: e78b b.n 7002c6c6 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x10e> 7002c7ae: bf00 nop 7002c7b0: fffff800 .word 0xfffff800 7002c7b4 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 7002c7b4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002c7b8: b087 sub sp, #28 7002c7ba: 460e mov r6, r1 7002c7bc: 4617 mov r7, r2 7002c7be: 9d15 ldr r5, [sp, #84] @ 0x54 7002c7c0: a816 add r0, sp, #88 @ 0x58 7002c7c2: 2e00 cmp r6, #0 7002c7c4: 9205 str r2, [sp, #20] 7002c7c6: 686c ldr r4, [r5, #4] 7002c7c8: 9a11 ldr r2, [sp, #68] @ 0x44 7002c7ca: 9603 str r6, [sp, #12] 7002c7cc: e890 0403 ldmia.w r0, {r0, r1, sl} 7002c7d0: fb04 0001 mla r0, r4, r1, r0 7002c7d4: 6829 ldr r1, [r5, #0] 7002c7d6: 9d14 ldr r5, [sp, #80] @ 0x50 7002c7d8: eb01 0c40 add.w ip, r1, r0, lsl #1 7002c7dc: f89d 0064 ldrb.w r0, [sp, #100] @ 0x64 7002c7e0: f8da 1004 ldr.w r1, [sl, #4] 7002c7e4: 9002 str r0, [sp, #8] 7002c7e6: f101 0104 add.w r1, r1, #4 7002c7ea: f8da 0000 ldr.w r0, [sl] 7002c7ee: 9101 str r1, [sp, #4] 7002c7f0: 9000 str r0, [sp, #0] 7002c7f2: e9dd 1412 ldrd r1, r4, [sp, #72] @ 0x48 7002c7f6: dc01 bgt.n 7002c7fc <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x48> 7002c7f8: 2f00 cmp r7, #0 7002c7fa: dd55 ble.n 7002c8a8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf4> 7002c7fc: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7002c800: 2b00 cmp r3, #0 7002c802: f502 4200 add.w r2, r2, #32768 @ 0x8000 7002c806: f501 4100 add.w r1, r1, #32768 @ 0x8000 7002c80a: e9da 7e02 ldrd r7, lr, [sl, #8] 7002c80e: b238 sxth r0, r7 7002c810: fa0f f88e sxth.w r8, lr 7002c814: dd4b ble.n 7002c8ae <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfa> 7002c816: ebb0 4f22 cmp.w r0, r2, asr #16 7002c81a: ea4f 4622 mov.w r6, r2, asr #16 7002c81e: ea4f 4921 mov.w r9, r1, asr #16 7002c822: dd03 ble.n 7002c82c <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x78> 7002c824: 430e orrs r6, r1 7002c826: d401 bmi.n 7002c82c <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x78> 7002c828: 45c1 cmp r9, r8 7002c82a: db41 blt.n 7002c8b0 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfc> 7002c82c: 3b01 subs r3, #1 7002c82e: 4422 add r2, r4 7002c830: 4429 add r1, r5 7002c832: f10c 0c02 add.w ip, ip, #2 7002c836: d1ee bne.n 7002c816 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x62> 7002c838: 9b03 ldr r3, [sp, #12] 7002c83a: 2b00 cmp r3, #0 7002c83c: dd34 ble.n 7002c8a8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf4> 7002c83e: eef0 7a62 vmov.f32 s15, s5 7002c842: 9810 ldr r0, [sp, #64] @ 0x40 7002c844: ee30 0a04 vadd.f32 s0, s0, s8 7002c848: 3b01 subs r3, #1 7002c84a: ee70 0aa4 vadd.f32 s1, s1, s9 7002c84e: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002c852: 9303 str r3, [sp, #12] 7002c854: ee31 1a05 vadd.f32 s2, s2, s10 7002c858: ee17 2a90 vmov r2, s15 7002c85c: eef0 7a43 vmov.f32 s15, s6 7002c860: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002c864: ee17 1a90 vmov r1, s15 7002c868: eec6 7a80 vdiv.f32 s15, s13, s0 7002c86c: ee20 7aa7 vmul.f32 s14, s1, s15 7002c870: ee61 7a27 vmul.f32 s15, s2, s15 7002c874: ee77 2a62 vsub.f32 s5, s14, s5 7002c878: ee37 3ac3 vsub.f32 s6, s15, s6 7002c87c: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 7002c880: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 7002c884: ee12 4a90 vmov r4, s5 7002c888: ee13 5a10 vmov r5, s6 7002c88c: fb94 f4f0 sdiv r4, r4, r0 7002c890: fb95 f5f0 sdiv r5, r5, r0 7002c894: f040 80f2 bne.w 7002ca7c <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2c8> 7002c898: 9b05 ldr r3, [sp, #20] 7002c89a: 2b00 cmp r3, #0 7002c89c: dd04 ble.n 7002c8a8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf4> 7002c89e: eeb0 3a67 vmov.f32 s6, s15 7002c8a2: eef0 2a47 vmov.f32 s5, s14 7002c8a6: e7ab b.n 7002c800 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4c> 7002c8a8: b007 add sp, #28 7002c8aa: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002c8ae: d0c3 beq.n 7002c838 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 7002c8b0: f103 3bff add.w fp, r3, #4294967295 @ 0xffffffff 7002c8b4: f8cd c010 str.w ip, [sp, #16] 7002c8b8: fb04 290b mla r9, r4, fp, r2 7002c8bc: ebb0 4f29 cmp.w r0, r9, asr #16 7002c8c0: ea4f 4629 mov.w r6, r9, asr #16 7002c8c4: dd6b ble.n 7002c99e <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1ea> 7002c8c6: fb05 190b mla r9, r5, fp, r1 7002c8ca: ea4f 4b29 mov.w fp, r9, asr #16 7002c8ce: ea59 0906 orrs.w r9, r9, r6 7002c8d2: d464 bmi.n 7002c99e <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1ea> 7002c8d4: 45c3 cmp fp, r8 7002c8d6: da62 bge.n 7002c99e <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1ea> 7002c8d8: 2b00 cmp r3, #0 7002c8da: ddad ble.n 7002c838 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 7002c8dc: eb0c 0c43 add.w ip, ip, r3, lsl #1 7002c8e0: 9e04 ldr r6, [sp, #16] 7002c8e2: 9413 str r4, [sp, #76] @ 0x4c 7002c8e4: e001 b.n 7002c8ea <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x136> 7002c8e6: f9ba 0008 ldrsh.w r0, [sl, #8] 7002c8ea: 9c13 ldr r4, [sp, #76] @ 0x4c 7002c8ec: 1417 asrs r7, r2, #16 7002c8ee: 140b asrs r3, r1, #16 7002c8f0: 4429 add r1, r5 7002c8f2: 4422 add r2, r4 7002c8f4: 9c00 ldr r4, [sp, #0] 7002c8f6: fb00 4303 mla r3, r0, r3, r4 7002c8fa: 9801 ldr r0, [sp, #4] 7002c8fc: 5ddb ldrb r3, [r3, r7] 7002c8fe: f850 3023 ldr.w r3, [r0, r3, lsl #2] 7002c902: 9802 ldr r0, [sp, #8] 7002c904: 0e1f lsrs r7, r3, #24 7002c906: fb00 f707 mul.w r7, r0, r7 7002c90a: d044 beq.n 7002c996 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1e2> 7002c90c: 1c78 adds r0, r7, #1 7002c90e: f3c7 270f ubfx r7, r7, #8, #16 7002c912: f8b6 8000 ldrh.w r8, [r6] 7002c916: f3c3 4e07 ubfx lr, r3, #16, #8 7002c91a: fa17 f080 uxtah r0, r7, r0 7002c91e: ea4f 2718 mov.w r7, r8, lsr #8 7002c922: f3c0 2b0f ubfx fp, r0, #8, #16 7002c926: ea6f 2020 mvn.w r0, r0, asr #8 7002c92a: f007 07f8 and.w r7, r7, #248 @ 0xf8 7002c92e: ea4f 09d8 mov.w r9, r8, lsr #3 7002c932: fb1e fe0b smulbb lr, lr, fp 7002c936: b2c0 uxtb r0, r0 7002c938: ea4f 08c8 mov.w r8, r8, lsl #3 7002c93c: f009 09fc and.w r9, r9, #252 @ 0xfc 7002c940: fb07 ee00 mla lr, r7, r0, lr 7002c944: f3c3 2707 ubfx r7, r3, #8, #8 7002c948: b2db uxtb r3, r3 7002c94a: fb17 f70b smulbb r7, r7, fp 7002c94e: fa5f f888 uxtb.w r8, r8 7002c952: fb13 f30b smulbb r3, r3, fp 7002c956: fa1f fe8e uxth.w lr, lr 7002c95a: fb09 7700 mla r7, r9, r0, r7 7002c95e: fb08 3300 mla r3, r8, r0, r3 7002c962: f10e 0001 add.w r0, lr, #1 7002c966: b2bf uxth r7, r7 7002c968: fa1f f883 uxth.w r8, r3 7002c96c: 1c7b adds r3, r7, #1 7002c96e: eb00 201e add.w r0, r0, lr, lsr #8 7002c972: eb03 2317 add.w r3, r3, r7, lsr #8 7002c976: f400 407f and.w r0, r0, #65280 @ 0xff00 7002c97a: 095b lsrs r3, r3, #5 7002c97c: f36f 000a bfc r0, #0, #11 7002c980: f403 63fc and.w r3, r3, #2016 @ 0x7e0 7002c984: 4318 orrs r0, r3 7002c986: f108 0301 add.w r3, r8, #1 7002c98a: eb03 2318 add.w r3, r3, r8, lsr #8 7002c98e: f3c3 23c4 ubfx r3, r3, #11, #5 7002c992: 4303 orrs r3, r0 7002c994: 8033 strh r3, [r6, #0] 7002c996: 3602 adds r6, #2 7002c998: 4566 cmp r6, ip 7002c99a: d1a4 bne.n 7002c8e6 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x132> 7002c99c: e74c b.n 7002c838 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 7002c99e: 2b00 cmp r3, #0 7002c9a0: f77f af4a ble.w 7002c838 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 7002c9a4: eb0c 0c43 add.w ip, ip, r3, lsl #1 7002c9a8: 9e04 ldr r6, [sp, #16] 7002c9aa: 9413 str r4, [sp, #76] @ 0x4c 7002c9ac: e001 b.n 7002c9b2 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1fe> 7002c9ae: e9da 7e02 ldrd r7, lr, [sl, #8] 7002c9b2: 9813 ldr r0, [sp, #76] @ 0x4c 7002c9b4: 2a00 cmp r2, #0 7002c9b6: ea4f 4322 mov.w r3, r2, asr #16 7002c9ba: 4402 add r2, r0 7002c9bc: ea4f 4021 mov.w r0, r1, asr #16 7002c9c0: db57 blt.n 7002ca72 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2be> 7002c9c2: 42bb cmp r3, r7 7002c9c4: da55 bge.n 7002ca72 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2be> 7002c9c6: b23f sxth r7, r7 7002c9c8: 9c00 ldr r4, [sp, #0] 7002c9ca: 2900 cmp r1, #0 7002c9cc: fb00 4707 mla r7, r0, r7, r4 7002c9d0: db4f blt.n 7002ca72 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2be> 7002c9d2: 4570 cmp r0, lr 7002c9d4: da4d bge.n 7002ca72 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2be> 7002c9d6: 5cfb ldrb r3, [r7, r3] 7002c9d8: 9801 ldr r0, [sp, #4] 7002c9da: f850 3023 ldr.w r3, [r0, r3, lsl #2] 7002c9de: 9802 ldr r0, [sp, #8] 7002c9e0: 0e1f lsrs r7, r3, #24 7002c9e2: fb00 f707 mul.w r7, r0, r7 7002c9e6: d044 beq.n 7002ca72 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2be> 7002c9e8: 1c78 adds r0, r7, #1 7002c9ea: f3c7 270f ubfx r7, r7, #8, #16 7002c9ee: f8b6 8000 ldrh.w r8, [r6] 7002c9f2: f3c3 4e07 ubfx lr, r3, #16, #8 7002c9f6: fa17 f080 uxtah r0, r7, r0 7002c9fa: ea4f 2718 mov.w r7, r8, lsr #8 7002c9fe: f3c0 2b0f ubfx fp, r0, #8, #16 7002ca02: ea6f 2020 mvn.w r0, r0, asr #8 7002ca06: f007 07f8 and.w r7, r7, #248 @ 0xf8 7002ca0a: ea4f 09d8 mov.w r9, r8, lsr #3 7002ca0e: fb1e fe0b smulbb lr, lr, fp 7002ca12: b2c0 uxtb r0, r0 7002ca14: ea4f 08c8 mov.w r8, r8, lsl #3 7002ca18: f009 09fc and.w r9, r9, #252 @ 0xfc 7002ca1c: fb07 ee00 mla lr, r7, r0, lr 7002ca20: f3c3 2707 ubfx r7, r3, #8, #8 7002ca24: b2db uxtb r3, r3 7002ca26: fb17 f70b smulbb r7, r7, fp 7002ca2a: fa5f f888 uxtb.w r8, r8 7002ca2e: fb13 f30b smulbb r3, r3, fp 7002ca32: fa1f fe8e uxth.w lr, lr 7002ca36: fb09 7700 mla r7, r9, r0, r7 7002ca3a: fb08 3300 mla r3, r8, r0, r3 7002ca3e: f10e 0001 add.w r0, lr, #1 7002ca42: b2bf uxth r7, r7 7002ca44: fa1f f883 uxth.w r8, r3 7002ca48: 1c7b adds r3, r7, #1 7002ca4a: eb00 201e add.w r0, r0, lr, lsr #8 7002ca4e: eb03 2317 add.w r3, r3, r7, lsr #8 7002ca52: f400 407f and.w r0, r0, #65280 @ 0xff00 7002ca56: 095b lsrs r3, r3, #5 7002ca58: f36f 000a bfc r0, #0, #11 7002ca5c: f403 63fc and.w r3, r3, #2016 @ 0x7e0 7002ca60: 4318 orrs r0, r3 7002ca62: f108 0301 add.w r3, r8, #1 7002ca66: eb03 2318 add.w r3, r3, r8, lsr #8 7002ca6a: f3c3 23c4 ubfx r3, r3, #11, #5 7002ca6e: 4303 orrs r3, r0 7002ca70: 8033 strh r3, [r6, #0] 7002ca72: 3602 adds r6, #2 7002ca74: 4429 add r1, r5 7002ca76: 4566 cmp r6, ip 7002ca78: d199 bne.n 7002c9ae <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1fa> 7002ca7a: e6dd b.n 7002c838 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 7002ca7c: 4603 mov r3, r0 7002ca7e: e70e b.n 7002c89e <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xea> 7002ca80 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 7002ca80: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002ca84: b087 sub sp, #28 7002ca86: 460e mov r6, r1 7002ca88: 4617 mov r7, r2 7002ca8a: 9d15 ldr r5, [sp, #84] @ 0x54 7002ca8c: a816 add r0, sp, #88 @ 0x58 7002ca8e: 2e00 cmp r6, #0 7002ca90: 9205 str r2, [sp, #20] 7002ca92: 686c ldr r4, [r5, #4] 7002ca94: 9a11 ldr r2, [sp, #68] @ 0x44 7002ca96: 9601 str r6, [sp, #4] 7002ca98: e890 0403 ldmia.w r0, {r0, r1, sl} 7002ca9c: fb04 0001 mla r0, r4, r1, r0 7002caa0: 6829 ldr r1, [r5, #0] 7002caa2: f8da b000 ldr.w fp, [sl] 7002caa6: eb01 0c40 add.w ip, r1, r0, lsl #1 7002caaa: f8da 1004 ldr.w r1, [sl, #4] 7002caae: 9d14 ldr r5, [sp, #80] @ 0x50 7002cab0: f101 0104 add.w r1, r1, #4 7002cab4: 9100 str r1, [sp, #0] 7002cab6: e9dd 1412 ldrd r1, r4, [sp, #72] @ 0x48 7002caba: dc01 bgt.n 7002cac0 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x40> 7002cabc: 2f00 cmp r7, #0 7002cabe: dd5a ble.n 7002cb76 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf6> 7002cac0: f8cd a060 str.w sl, [sp, #96] @ 0x60 7002cac4: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7002cac8: 46da mov sl, fp 7002caca: f8dd b060 ldr.w fp, [sp, #96] @ 0x60 7002cace: 2b00 cmp r3, #0 7002cad0: f502 4200 add.w r2, r2, #32768 @ 0x8000 7002cad4: f501 4100 add.w r1, r1, #32768 @ 0x8000 7002cad8: e9db 7e02 ldrd r7, lr, [fp, #8] 7002cadc: b238 sxth r0, r7 7002cade: fa0f f88e sxth.w r8, lr 7002cae2: dd4b ble.n 7002cb7c <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfc> 7002cae4: ebb0 4f22 cmp.w r0, r2, asr #16 7002cae8: ea4f 4622 mov.w r6, r2, asr #16 7002caec: ea4f 4921 mov.w r9, r1, asr #16 7002caf0: dd03 ble.n 7002cafa <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7a> 7002caf2: 430e orrs r6, r1 7002caf4: d401 bmi.n 7002cafa <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7a> 7002caf6: 45c1 cmp r9, r8 7002caf8: db41 blt.n 7002cb7e <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfe> 7002cafa: 3b01 subs r3, #1 7002cafc: 4422 add r2, r4 7002cafe: 4429 add r1, r5 7002cb00: f10c 0c02 add.w ip, ip, #2 7002cb04: d1ee bne.n 7002cae4 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x64> 7002cb06: 9b01 ldr r3, [sp, #4] 7002cb08: 2b00 cmp r3, #0 7002cb0a: dd34 ble.n 7002cb76 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf6> 7002cb0c: eef0 7a62 vmov.f32 s15, s5 7002cb10: 9810 ldr r0, [sp, #64] @ 0x40 7002cb12: ee30 0a04 vadd.f32 s0, s0, s8 7002cb16: 3b01 subs r3, #1 7002cb18: ee70 0aa4 vadd.f32 s1, s1, s9 7002cb1c: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002cb20: 9301 str r3, [sp, #4] 7002cb22: ee31 1a05 vadd.f32 s2, s2, s10 7002cb26: ee17 2a90 vmov r2, s15 7002cb2a: eef0 7a43 vmov.f32 s15, s6 7002cb2e: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002cb32: ee17 1a90 vmov r1, s15 7002cb36: eec6 7a80 vdiv.f32 s15, s13, s0 7002cb3a: ee20 7aa7 vmul.f32 s14, s1, s15 7002cb3e: ee61 7a27 vmul.f32 s15, s2, s15 7002cb42: ee77 2a62 vsub.f32 s5, s14, s5 7002cb46: ee37 3ac3 vsub.f32 s6, s15, s6 7002cb4a: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 7002cb4e: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 7002cb52: ee12 4a90 vmov r4, s5 7002cb56: ee13 5a10 vmov r5, s6 7002cb5a: fb94 f4f0 sdiv r4, r4, r0 7002cb5e: fb95 f5f0 sdiv r5, r5, r0 7002cb62: f040 80e8 bne.w 7002cd36 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2b6> 7002cb66: 9b05 ldr r3, [sp, #20] 7002cb68: 2b00 cmp r3, #0 7002cb6a: dd04 ble.n 7002cb76 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf6> 7002cb6c: eeb0 3a67 vmov.f32 s6, s15 7002cb70: eef0 2a47 vmov.f32 s5, s14 7002cb74: e7ab b.n 7002cace <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4e> 7002cb76: b007 add sp, #28 7002cb78: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002cb7c: d0c3 beq.n 7002cb06 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x86> 7002cb7e: 1e5e subs r6, r3, #1 7002cb80: f8cd c008 str.w ip, [sp, #8] 7002cb84: fb04 2906 mla r9, r4, r6, r2 7002cb88: 9603 str r6, [sp, #12] 7002cb8a: ebb0 4f29 cmp.w r0, r9, asr #16 7002cb8e: ea4f 4629 mov.w r6, r9, asr #16 7002cb92: 9604 str r6, [sp, #16] 7002cb94: dd6f ble.n 7002cc76 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1f6> 7002cb96: 9e03 ldr r6, [sp, #12] 7002cb98: fb05 1906 mla r9, r5, r6, r1 7002cb9c: ea4f 4629 mov.w r6, r9, asr #16 7002cba0: 9603 str r6, [sp, #12] 7002cba2: 9e04 ldr r6, [sp, #16] 7002cba4: ea59 0906 orrs.w r9, r9, r6 7002cba8: d465 bmi.n 7002cc76 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1f6> 7002cbaa: 9e03 ldr r6, [sp, #12] 7002cbac: 4546 cmp r6, r8 7002cbae: da62 bge.n 7002cc76 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1f6> 7002cbb0: 2b00 cmp r3, #0 7002cbb2: dda8 ble.n 7002cb06 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x86> 7002cbb4: eb0c 0c43 add.w ip, ip, r3, lsl #1 7002cbb8: 9e02 ldr r6, [sp, #8] 7002cbba: 4607 mov r7, r0 7002cbbc: e035 b.n 7002cc2a <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1aa> 7002cbbe: b360 cbz r0, 7002cc1a <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x19a> 7002cbc0: 8830 ldrh r0, [r6, #0] 7002cbc2: 0a03 lsrs r3, r0, #8 7002cbc4: f003 03f8 and.w r3, r3, #248 @ 0xf8 7002cbc8: fb03 ee08 mla lr, r3, r8, lr 7002cbcc: 08c3 lsrs r3, r0, #3 7002cbce: 00c0 lsls r0, r0, #3 7002cbd0: f003 03fc and.w r3, r3, #252 @ 0xfc 7002cbd4: fa1f fe8e uxth.w lr, lr 7002cbd8: b2c0 uxtb r0, r0 7002cbda: fb03 9308 mla r3, r3, r8, r9 7002cbde: fb00 7708 mla r7, r0, r8, r7 7002cbe2: fa1f f883 uxth.w r8, r3 7002cbe6: f10e 0301 add.w r3, lr, #1 7002cbea: b2bf uxth r7, r7 7002cbec: eb03 231e add.w r3, r3, lr, lsr #8 7002cbf0: f108 0e01 add.w lr, r8, #1 7002cbf4: 1c78 adds r0, r7, #1 7002cbf6: eb0e 2e18 add.w lr, lr, r8, lsr #8 7002cbfa: f403 437f and.w r3, r3, #65280 @ 0xff00 7002cbfe: eb00 2017 add.w r0, r0, r7, lsr #8 7002cc02: ea4f 1e5e mov.w lr, lr, lsr #5 7002cc06: f36f 030a bfc r3, #0, #11 7002cc0a: f3c0 20c4 ubfx r0, r0, #11, #5 7002cc0e: f40e 6efc and.w lr, lr, #2016 @ 0x7e0 7002cc12: ea43 030e orr.w r3, r3, lr 7002cc16: 4303 orrs r3, r0 7002cc18: 8033 strh r3, [r6, #0] 7002cc1a: 3602 adds r6, #2 7002cc1c: 4422 add r2, r4 7002cc1e: 4429 add r1, r5 7002cc20: 4566 cmp r6, ip 7002cc22: f43f af70 beq.w 7002cb06 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x86> 7002cc26: f9bb 7008 ldrsh.w r7, [fp, #8] 7002cc2a: 140b asrs r3, r1, #16 7002cc2c: 1410 asrs r0, r2, #16 7002cc2e: fb07 a303 mla r3, r7, r3, sl 7002cc32: 5c1b ldrb r3, [r3, r0] 7002cc34: 9800 ldr r0, [sp, #0] 7002cc36: f850 3023 ldr.w r3, [r0, r3, lsl #2] 7002cc3a: 0e18 lsrs r0, r3, #24 7002cc3c: f3c3 4e07 ubfx lr, r3, #16, #8 7002cc40: f3c3 2907 ubfx r9, r3, #8, #8 7002cc44: b2df uxtb r7, r3 7002cc46: ea6f 0800 mvn.w r8, r0 7002cc4a: 28ff cmp r0, #255 @ 0xff 7002cc4c: fb0e fe00 mul.w lr, lr, r0 7002cc50: fb09 f900 mul.w r9, r9, r0 7002cc54: fa5f f888 uxtb.w r8, r8 7002cc58: fb00 f707 mul.w r7, r0, r7 7002cc5c: d1af bne.n 7002cbbe <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x13e> 7002cc5e: 095f lsrs r7, r3, #5 7002cc60: 483c ldr r0, [pc, #240] @ (7002cd54 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2d4>) 7002cc62: f407 67fc and.w r7, r7, #2016 @ 0x7e0 7002cc66: ea00 2013 and.w r0, r0, r3, lsr #8 7002cc6a: f3c3 03c4 ubfx r3, r3, #3, #5 7002cc6e: 4338 orrs r0, r7 7002cc70: 4303 orrs r3, r0 7002cc72: 8033 strh r3, [r6, #0] 7002cc74: e7d1 b.n 7002cc1a <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x19a> 7002cc76: 2b00 cmp r3, #0 7002cc78: f77f af45 ble.w 7002cb06 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x86> 7002cc7c: eb0c 0c43 add.w ip, ip, r3, lsl #1 7002cc80: 9e02 ldr r6, [sp, #8] 7002cc82: e001 b.n 7002cc88 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x208> 7002cc84: e9db 7e02 ldrd r7, lr, [fp, #8] 7002cc88: 2a00 cmp r2, #0 7002cc8a: ea4f 4322 mov.w r3, r2, asr #16 7002cc8e: ea4f 4021 mov.w r0, r1, asr #16 7002cc92: db4a blt.n 7002cd2a <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2aa> 7002cc94: 42bb cmp r3, r7 7002cc96: da48 bge.n 7002cd2a <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2aa> 7002cc98: b23f sxth r7, r7 7002cc9a: 2900 cmp r1, #0 7002cc9c: fb00 a707 mla r7, r0, r7, sl 7002cca0: db43 blt.n 7002cd2a <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2aa> 7002cca2: 4570 cmp r0, lr 7002cca4: da41 bge.n 7002cd2a <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2aa> 7002cca6: 5cfb ldrb r3, [r7, r3] 7002cca8: 9800 ldr r0, [sp, #0] 7002ccaa: f850 3023 ldr.w r3, [r0, r3, lsl #2] 7002ccae: 0e18 lsrs r0, r3, #24 7002ccb0: f3c3 4e07 ubfx lr, r3, #16, #8 7002ccb4: f3c3 2907 ubfx r9, r3, #8, #8 7002ccb8: b2df uxtb r7, r3 7002ccba: ea6f 0800 mvn.w r8, r0 7002ccbe: 28ff cmp r0, #255 @ 0xff 7002ccc0: fb0e fe00 mul.w lr, lr, r0 7002ccc4: fb09 f900 mul.w r9, r9, r0 7002ccc8: fa5f f888 uxtb.w r8, r8 7002cccc: fb00 f707 mul.w r7, r0, r7 7002ccd0: d033 beq.n 7002cd3a <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2ba> 7002ccd2: b350 cbz r0, 7002cd2a <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2aa> 7002ccd4: 8830 ldrh r0, [r6, #0] 7002ccd6: 0a03 lsrs r3, r0, #8 7002ccd8: f003 03f8 and.w r3, r3, #248 @ 0xf8 7002ccdc: fb03 ee08 mla lr, r3, r8, lr 7002cce0: 08c3 lsrs r3, r0, #3 7002cce2: 00c0 lsls r0, r0, #3 7002cce4: f003 03fc and.w r3, r3, #252 @ 0xfc 7002cce8: fa1f fe8e uxth.w lr, lr 7002ccec: b2c0 uxtb r0, r0 7002ccee: fb03 9308 mla r3, r3, r8, r9 7002ccf2: fb00 7708 mla r7, r0, r8, r7 7002ccf6: f10e 0001 add.w r0, lr, #1 7002ccfa: fa1f f883 uxth.w r8, r3 7002ccfe: eb00 201e add.w r0, r0, lr, lsr #8 7002cd02: f108 0301 add.w r3, r8, #1 7002cd06: b2bf uxth r7, r7 7002cd08: f400 407f and.w r0, r0, #65280 @ 0xff00 7002cd0c: eb03 2318 add.w r3, r3, r8, lsr #8 7002cd10: f36f 000a bfc r0, #0, #11 7002cd14: 095b lsrs r3, r3, #5 7002cd16: f403 63fc and.w r3, r3, #2016 @ 0x7e0 7002cd1a: 4318 orrs r0, r3 7002cd1c: 1c7b adds r3, r7, #1 7002cd1e: eb03 2317 add.w r3, r3, r7, lsr #8 7002cd22: f3c3 23c4 ubfx r3, r3, #11, #5 7002cd26: 4303 orrs r3, r0 7002cd28: 8033 strh r3, [r6, #0] 7002cd2a: 3602 adds r6, #2 7002cd2c: 4422 add r2, r4 7002cd2e: 4429 add r1, r5 7002cd30: 4566 cmp r6, ip 7002cd32: d1a7 bne.n 7002cc84 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x204> 7002cd34: e6e7 b.n 7002cb06 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x86> 7002cd36: 4603 mov r3, r0 7002cd38: e718 b.n 7002cb6c <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xec> 7002cd3a: 095f lsrs r7, r3, #5 7002cd3c: 4805 ldr r0, [pc, #20] @ (7002cd54 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2d4>) 7002cd3e: f407 67fc and.w r7, r7, #2016 @ 0x7e0 7002cd42: ea00 2013 and.w r0, r0, r3, lsr #8 7002cd46: f3c3 03c4 ubfx r3, r3, #3, #5 7002cd4a: 4338 orrs r0, r7 7002cd4c: 4303 orrs r3, r0 7002cd4e: 8033 strh r3, [r6, #0] 7002cd50: e7eb b.n 7002cd2a <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2aa> 7002cd52: bf00 nop 7002cd54: fffff800 .word 0xfffff800 7002cd58 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 7002cd58: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002cd5c: b089 sub sp, #36 @ 0x24 7002cd5e: 460e mov r6, r1 7002cd60: 4617 mov r7, r2 7002cd62: 9919 ldr r1, [sp, #100] @ 0x64 7002cd64: 2e00 cmp r6, #0 7002cd66: 9206 str r2, [sp, #24] 7002cd68: f89d a06c ldrb.w sl, [sp, #108] @ 0x6c 7002cd6c: 9a13 ldr r2, [sp, #76] @ 0x4c 7002cd6e: 9601 str r6, [sp, #4] 7002cd70: e9dd 5017 ldrd r5, r0, [sp, #92] @ 0x5c 7002cd74: 686c ldr r4, [r5, #4] 7002cd76: fb04 0001 mla r0, r4, r1, r0 7002cd7a: 6829 ldr r1, [r5, #0] 7002cd7c: 9d16 ldr r5, [sp, #88] @ 0x58 7002cd7e: eb01 0e80 add.w lr, r1, r0, lsl #2 7002cd82: 991a ldr r1, [sp, #104] @ 0x68 7002cd84: 981a ldr r0, [sp, #104] @ 0x68 7002cd86: 6849 ldr r1, [r1, #4] 7002cd88: 6800 ldr r0, [r0, #0] 7002cd8a: f101 0104 add.w r1, r1, #4 7002cd8e: 9005 str r0, [sp, #20] 7002cd90: 9103 str r1, [sp, #12] 7002cd92: e9dd 1414 ldrd r1, r4, [sp, #80] @ 0x50 7002cd96: dc01 bgt.n 7002cd9c <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x44> 7002cd98: 2f00 cmp r7, #0 7002cd9a: dd5a ble.n 7002ce52 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfa> 7002cd9c: ea6f 000a mvn.w r0, sl 7002cda0: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7002cda4: fa5f fb80 uxtb.w fp, r0 7002cda8: 981a ldr r0, [sp, #104] @ 0x68 7002cdaa: 2b00 cmp r3, #0 7002cdac: f502 4200 add.w r2, r2, #32768 @ 0x8000 7002cdb0: f501 4100 add.w r1, r1, #32768 @ 0x8000 7002cdb4: e9d0 7c02 ldrd r7, ip, [r0, #8] 7002cdb8: b238 sxth r0, r7 7002cdba: fa0f f88c sxth.w r8, ip 7002cdbe: dd4b ble.n 7002ce58 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x100> 7002cdc0: ebb0 4f22 cmp.w r0, r2, asr #16 7002cdc4: ea4f 4622 mov.w r6, r2, asr #16 7002cdc8: ea4f 4921 mov.w r9, r1, asr #16 7002cdcc: dd03 ble.n 7002cdd6 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7e> 7002cdce: 430e orrs r6, r1 7002cdd0: d401 bmi.n 7002cdd6 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7e> 7002cdd2: 45c1 cmp r9, r8 7002cdd4: db41 blt.n 7002ce5a <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x102> 7002cdd6: 3b01 subs r3, #1 7002cdd8: 4422 add r2, r4 7002cdda: 4429 add r1, r5 7002cddc: f10e 0e04 add.w lr, lr, #4 7002cde0: d1ee bne.n 7002cdc0 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x68> 7002cde2: 9b01 ldr r3, [sp, #4] 7002cde4: 2b00 cmp r3, #0 7002cde6: dd34 ble.n 7002ce52 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfa> 7002cde8: eef0 7a62 vmov.f32 s15, s5 7002cdec: 9812 ldr r0, [sp, #72] @ 0x48 7002cdee: ee30 0a04 vadd.f32 s0, s0, s8 7002cdf2: 3b01 subs r3, #1 7002cdf4: ee70 0aa4 vadd.f32 s1, s1, s9 7002cdf8: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002cdfc: 9301 str r3, [sp, #4] 7002cdfe: ee31 1a05 vadd.f32 s2, s2, s10 7002ce02: ee17 2a90 vmov r2, s15 7002ce06: eef0 7a43 vmov.f32 s15, s6 7002ce0a: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002ce0e: ee17 1a90 vmov r1, s15 7002ce12: eec6 7a80 vdiv.f32 s15, s13, s0 7002ce16: ee20 7aa7 vmul.f32 s14, s1, s15 7002ce1a: ee61 7a27 vmul.f32 s15, s2, s15 7002ce1e: ee77 2a62 vsub.f32 s5, s14, s5 7002ce22: ee37 3ac3 vsub.f32 s6, s15, s6 7002ce26: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 7002ce2a: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 7002ce2e: ee12 4a90 vmov r4, s5 7002ce32: ee13 5a10 vmov r5, s6 7002ce36: fb94 f4f0 sdiv r4, r4, r0 7002ce3a: fb95 f5f0 sdiv r5, r5, r0 7002ce3e: f040 80e1 bne.w 7002d004 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2ac> 7002ce42: 9b06 ldr r3, [sp, #24] 7002ce44: 2b00 cmp r3, #0 7002ce46: dd04 ble.n 7002ce52 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfa> 7002ce48: eeb0 3a67 vmov.f32 s6, s15 7002ce4c: eef0 2a47 vmov.f32 s5, s14 7002ce50: e7aa b.n 7002cda8 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x50> 7002ce52: b009 add sp, #36 @ 0x24 7002ce54: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002ce58: d0c3 beq.n 7002cde2 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8a> 7002ce5a: 1e5e subs r6, r3, #1 7002ce5c: fb04 2906 mla r9, r4, r6, r2 7002ce60: 9602 str r6, [sp, #8] 7002ce62: ebb0 4f29 cmp.w r0, r9, asr #16 7002ce66: ea4f 4629 mov.w r6, r9, asr #16 7002ce6a: 9604 str r6, [sp, #16] 7002ce6c: dd61 ble.n 7002cf32 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1da> 7002ce6e: 9e02 ldr r6, [sp, #8] 7002ce70: fb05 1906 mla r9, r5, r6, r1 7002ce74: ea4f 4629 mov.w r6, r9, asr #16 7002ce78: 9607 str r6, [sp, #28] 7002ce7a: 9e04 ldr r6, [sp, #16] 7002ce7c: ea59 0906 orrs.w r9, r9, r6 7002ce80: d457 bmi.n 7002cf32 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1da> 7002ce82: 9e07 ldr r6, [sp, #28] 7002ce84: 4546 cmp r6, r8 7002ce86: da54 bge.n 7002cf32 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1da> 7002ce88: 2b00 cmp r3, #0 7002ce8a: ddaa ble.n 7002cde2 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8a> 7002ce8c: f10e 0c04 add.w ip, lr, #4 7002ce90: 9e02 ldr r6, [sp, #8] 7002ce92: f8dd 8014 ldr.w r8, [sp, #20] 7002ce96: f8cd e008 str.w lr, [sp, #8] 7002ce9a: 9304 str r3, [sp, #16] 7002ce9c: f8dd e00c ldr.w lr, [sp, #12] 7002cea0: e002 b.n 7002cea8 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x150> 7002cea2: 9b1a ldr r3, [sp, #104] @ 0x68 7002cea4: f9b3 0008 ldrsh.w r0, [r3, #8] 7002cea8: 140b asrs r3, r1, #16 7002ceaa: 3e01 subs r6, #1 7002ceac: 1417 asrs r7, r2, #16 7002ceae: f10c 0c04 add.w ip, ip, #4 7002ceb2: fb00 8303 mla r3, r0, r3, r8 7002ceb6: 4422 add r2, r4 7002ceb8: 4429 add r1, r5 7002ceba: 5ddb ldrb r3, [r3, r7] 7002cebc: f81c 7c08 ldrb.w r7, [ip, #-8] 7002cec0: eb03 0343 add.w r3, r3, r3, lsl #1 7002cec4: fb17 f70b smulbb r7, r7, fp 7002cec8: eb0e 0003 add.w r0, lr, r3 7002cecc: f81e 9003 ldrb.w r9, [lr, r3] 7002ced0: 7883 ldrb r3, [r0, #2] 7002ced2: fb09 770a mla r7, r9, sl, r7 7002ced6: 7840 ldrb r0, [r0, #1] 7002ced8: f81c 9c07 ldrb.w r9, [ip, #-7] 7002cedc: b2bf uxth r7, r7 7002cede: fb10 f00a smulbb r0, r0, sl 7002cee2: fb13 f30a smulbb r3, r3, sl 7002cee6: fb09 000b mla r0, r9, fp, r0 7002ceea: f81c 9c06 ldrb.w r9, [ip, #-6] 7002ceee: b280 uxth r0, r0 7002cef0: fb09 330b mla r3, r9, fp, r3 7002cef4: f107 0901 add.w r9, r7, #1 7002cef8: b29b uxth r3, r3 7002cefa: eb09 2917 add.w r9, r9, r7, lsr #8 7002cefe: 1c47 adds r7, r0, #1 7002cf00: eb07 2710 add.w r7, r7, r0, lsr #8 7002cf04: 1c58 adds r0, r3, #1 7002cf06: ea4f 2929 mov.w r9, r9, asr #8 7002cf0a: eb00 2013 add.w r0, r0, r3, lsr #8 7002cf0e: 1c73 adds r3, r6, #1 7002cf10: ea4f 2727 mov.w r7, r7, asr #8 7002cf14: f80c 9c08 strb.w r9, [ip, #-8] 7002cf18: ea4f 2020 mov.w r0, r0, asr #8 7002cf1c: f80c 7c07 strb.w r7, [ip, #-7] 7002cf20: f80c 0c06 strb.w r0, [ip, #-6] 7002cf24: d1bd bne.n 7002cea2 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14a> 7002cf26: f8dd e008 ldr.w lr, [sp, #8] 7002cf2a: 9b04 ldr r3, [sp, #16] 7002cf2c: eb0e 0e83 add.w lr, lr, r3, lsl #2 7002cf30: e757 b.n 7002cde2 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8a> 7002cf32: 2b00 cmp r3, #0 7002cf34: f77f af55 ble.w 7002cde2 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8a> 7002cf38: 9415 str r4, [sp, #84] @ 0x54 7002cf3a: f10e 0004 add.w r0, lr, #4 7002cf3e: 9e02 ldr r6, [sp, #8] 7002cf40: 4664 mov r4, ip 7002cf42: 9304 str r3, [sp, #16] 7002cf44: f8dd 9068 ldr.w r9, [sp, #104] @ 0x68 7002cf48: 9b05 ldr r3, [sp, #20] 7002cf4a: f8dd c054 ldr.w ip, [sp, #84] @ 0x54 7002cf4e: f8cd e008 str.w lr, [sp, #8] 7002cf52: e001 b.n 7002cf58 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x200> 7002cf54: e9d9 7402 ldrd r7, r4, [r9, #8] 7002cf58: 2a00 cmp r2, #0 7002cf5a: ea4f 4e22 mov.w lr, r2, asr #16 7002cf5e: f106 36ff add.w r6, r6, #4294967295 @ 0xffffffff 7002cf62: 4462 add r2, ip 7002cf64: ea4f 4821 mov.w r8, r1, asr #16 7002cf68: db41 blt.n 7002cfee <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x296> 7002cf6a: 45be cmp lr, r7 7002cf6c: da3f bge.n 7002cfee <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x296> 7002cf6e: b23f sxth r7, r7 7002cf70: 2900 cmp r1, #0 7002cf72: fb08 3707 mla r7, r8, r7, r3 7002cf76: db3a blt.n 7002cfee <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x296> 7002cf78: 45a0 cmp r8, r4 7002cf7a: da38 bge.n 7002cfee <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x296> 7002cf7c: f817 400e ldrb.w r4, [r7, lr] 7002cf80: 9f03 ldr r7, [sp, #12] 7002cf82: eb04 0444 add.w r4, r4, r4, lsl #1 7002cf86: eb07 0e04 add.w lr, r7, r4 7002cf8a: f817 8004 ldrb.w r8, [r7, r4] 7002cf8e: f89e 4002 ldrb.w r4, [lr, #2] 7002cf92: f89e 7001 ldrb.w r7, [lr, #1] 7002cf96: f810 ec04 ldrb.w lr, [r0, #-4] 7002cf9a: fb14 f40a smulbb r4, r4, sl 7002cf9e: fb17 f70a smulbb r7, r7, sl 7002cfa2: fb1e fe0b smulbb lr, lr, fp 7002cfa6: fb08 ee0a mla lr, r8, sl, lr 7002cfaa: f810 8c03 ldrb.w r8, [r0, #-3] 7002cfae: fa1f fe8e uxth.w lr, lr 7002cfb2: fb08 770b mla r7, r8, fp, r7 7002cfb6: f810 8c02 ldrb.w r8, [r0, #-2] 7002cfba: b2bf uxth r7, r7 7002cfbc: fb08 440b mla r4, r8, fp, r4 7002cfc0: f10e 0801 add.w r8, lr, #1 7002cfc4: b2a4 uxth r4, r4 7002cfc6: eb08 281e add.w r8, r8, lr, lsr #8 7002cfca: f107 0e01 add.w lr, r7, #1 7002cfce: eb0e 2e17 add.w lr, lr, r7, lsr #8 7002cfd2: 1c67 adds r7, r4, #1 7002cfd4: ea4f 2828 mov.w r8, r8, asr #8 7002cfd8: eb07 2714 add.w r7, r7, r4, lsr #8 7002cfdc: ea4f 2e2e mov.w lr, lr, asr #8 7002cfe0: f800 8c04 strb.w r8, [r0, #-4] 7002cfe4: 123f asrs r7, r7, #8 7002cfe6: f800 ec03 strb.w lr, [r0, #-3] 7002cfea: f800 7c02 strb.w r7, [r0, #-2] 7002cfee: 1c74 adds r4, r6, #1 7002cff0: 4429 add r1, r5 7002cff2: f100 0004 add.w r0, r0, #4 7002cff6: d1ad bne.n 7002cf54 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1fc> 7002cff8: f8dd e008 ldr.w lr, [sp, #8] 7002cffc: 9b04 ldr r3, [sp, #16] 7002cffe: eb0e 0e83 add.w lr, lr, r3, lsl #2 7002d002: e6ee b.n 7002cde2 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8a> 7002d004: 4603 mov r3, r0 7002d006: e71f b.n 7002ce48 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf0> 7002d008 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 7002d008: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002d00c: b087 sub sp, #28 7002d00e: 460c mov r4, r1 7002d010: 4617 mov r7, r2 7002d012: 9e15 ldr r6, [sp, #84] @ 0x54 7002d014: a816 add r0, sp, #88 @ 0x58 7002d016: 2c00 cmp r4, #0 7002d018: 9204 str r2, [sp, #16] 7002d01a: 6875 ldr r5, [r6, #4] 7002d01c: 9a11 ldr r2, [sp, #68] @ 0x44 7002d01e: f8dd e050 ldr.w lr, [sp, #80] @ 0x50 7002d022: 9400 str r4, [sp, #0] 7002d024: e890 0803 ldmia.w r0, {r0, r1, fp} 7002d028: fb05 0101 mla r1, r5, r1, r0 7002d02c: 6830 ldr r0, [r6, #0] 7002d02e: f8db 5000 ldr.w r5, [fp] 7002d032: eb00 0081 add.w r0, r0, r1, lsl #2 7002d036: f8db 1004 ldr.w r1, [fp, #4] 7002d03a: 9503 str r5, [sp, #12] 7002d03c: f101 0a04 add.w sl, r1, #4 7002d040: e9dd 1c12 ldrd r1, ip, [sp, #72] @ 0x48 7002d044: dc01 bgt.n 7002d04a <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x42> 7002d046: 2f00 cmp r7, #0 7002d048: dd58 ble.n 7002d0fc <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf4> 7002d04a: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7002d04e: 46d1 mov r9, sl 7002d050: f8db 4008 ldr.w r4, [fp, #8] 7002d054: 2b00 cmp r3, #0 7002d056: f8db a00c ldr.w sl, [fp, #12] 7002d05a: f502 4200 add.w r2, r2, #32768 @ 0x8000 7002d05e: f501 4100 add.w r1, r1, #32768 @ 0x8000 7002d062: b226 sxth r6, r4 7002d064: fa0f f78a sxth.w r7, sl 7002d068: dd4b ble.n 7002d102 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfa> 7002d06a: ebb6 4f22 cmp.w r6, r2, asr #16 7002d06e: ea4f 4522 mov.w r5, r2, asr #16 7002d072: ea4f 4821 mov.w r8, r1, asr #16 7002d076: dd03 ble.n 7002d080 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x78> 7002d078: 430d orrs r5, r1 7002d07a: d401 bmi.n 7002d080 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x78> 7002d07c: 45b8 cmp r8, r7 7002d07e: db41 blt.n 7002d104 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfc> 7002d080: 3b01 subs r3, #1 7002d082: 4462 add r2, ip 7002d084: 4471 add r1, lr 7002d086: f100 0004 add.w r0, r0, #4 7002d08a: d1ee bne.n 7002d06a <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x62> 7002d08c: 9b00 ldr r3, [sp, #0] 7002d08e: 2b00 cmp r3, #0 7002d090: dd34 ble.n 7002d0fc <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf4> 7002d092: eef0 7a62 vmov.f32 s15, s5 7002d096: 9c10 ldr r4, [sp, #64] @ 0x40 7002d098: ee30 0a04 vadd.f32 s0, s0, s8 7002d09c: 3b01 subs r3, #1 7002d09e: ee70 0aa4 vadd.f32 s1, s1, s9 7002d0a2: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002d0a6: 9300 str r3, [sp, #0] 7002d0a8: ee31 1a05 vadd.f32 s2, s2, s10 7002d0ac: ee17 2a90 vmov r2, s15 7002d0b0: eef0 7a43 vmov.f32 s15, s6 7002d0b4: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002d0b8: ee17 1a90 vmov r1, s15 7002d0bc: eec6 7a80 vdiv.f32 s15, s13, s0 7002d0c0: ee20 7aa7 vmul.f32 s14, s1, s15 7002d0c4: ee61 7a27 vmul.f32 s15, s2, s15 7002d0c8: ee77 2a62 vsub.f32 s5, s14, s5 7002d0cc: ee37 3ac3 vsub.f32 s6, s15, s6 7002d0d0: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 7002d0d4: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 7002d0d8: ee12 5a90 vmov r5, s5 7002d0dc: fb95 fcf4 sdiv ip, r5, r4 7002d0e0: ee13 5a10 vmov r5, s6 7002d0e4: fb95 fef4 sdiv lr, r5, r4 7002d0e8: f040 8093 bne.w 7002d212 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x20a> 7002d0ec: 9b04 ldr r3, [sp, #16] 7002d0ee: 2b00 cmp r3, #0 7002d0f0: dd04 ble.n 7002d0fc <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf4> 7002d0f2: eeb0 3a67 vmov.f32 s6, s15 7002d0f6: eef0 2a47 vmov.f32 s5, s14 7002d0fa: e7a9 b.n 7002d050 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x48> 7002d0fc: b007 add sp, #28 7002d0fe: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002d102: d0c3 beq.n 7002d08c <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 7002d104: 1e5d subs r5, r3, #1 7002d106: fb0c 2805 mla r8, ip, r5, r2 7002d10a: 9501 str r5, [sp, #4] 7002d10c: ebb6 4f28 cmp.w r6, r8, asr #16 7002d110: ea4f 4528 mov.w r5, r8, asr #16 7002d114: 9502 str r5, [sp, #8] 7002d116: dd46 ble.n 7002d1a6 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x19e> 7002d118: 9d01 ldr r5, [sp, #4] 7002d11a: fb0e 1805 mla r8, lr, r5, r1 7002d11e: ea4f 4528 mov.w r5, r8, asr #16 7002d122: 9505 str r5, [sp, #20] 7002d124: 9d02 ldr r5, [sp, #8] 7002d126: ea58 0805 orrs.w r8, r8, r5 7002d12a: d43c bmi.n 7002d1a6 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x19e> 7002d12c: 9d05 ldr r5, [sp, #20] 7002d12e: 42bd cmp r5, r7 7002d130: da39 bge.n 7002d1a6 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x19e> 7002d132: 2b00 cmp r3, #0 7002d134: ddaa ble.n 7002d08c <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 7002d136: 140c asrs r4, r1, #16 7002d138: 9d03 ldr r5, [sp, #12] 7002d13a: 4471 add r1, lr 7002d13c: fb06 5404 mla r4, r6, r4, r5 7002d140: 1416 asrs r6, r2, #16 7002d142: 4462 add r2, ip 7002d144: 5da4 ldrb r4, [r4, r6] 7002d146: 1e9e subs r6, r3, #2 7002d148: eb04 0444 add.w r4, r4, r4, lsl #1 7002d14c: f819 7004 ldrb.w r7, [r9, r4] 7002d150: 444c add r4, r9 7002d152: 7007 strb r7, [r0, #0] 7002d154: 7867 ldrb r7, [r4, #1] 7002d156: 7047 strb r7, [r0, #1] 7002d158: 78a4 ldrb r4, [r4, #2] 7002d15a: 7084 strb r4, [r0, #2] 7002d15c: 9c01 ldr r4, [sp, #4] 7002d15e: b1fc cbz r4, 7002d1a0 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x198> 7002d160: 462f mov r7, r5 7002d162: f100 0508 add.w r5, r0, #8 7002d166: f9bb 8008 ldrsh.w r8, [fp, #8] 7002d16a: 140c asrs r4, r1, #16 7002d16c: 3504 adds r5, #4 7002d16e: 3e01 subs r6, #1 7002d170: fb08 7404 mla r4, r8, r4, r7 7002d174: ea4f 4822 mov.w r8, r2, asr #16 7002d178: 4471 add r1, lr 7002d17a: 4462 add r2, ip 7002d17c: f814 4008 ldrb.w r4, [r4, r8] 7002d180: eb04 0444 add.w r4, r4, r4, lsl #1 7002d184: f819 8004 ldrb.w r8, [r9, r4] 7002d188: 444c add r4, r9 7002d18a: f805 8c08 strb.w r8, [r5, #-8] 7002d18e: f894 8001 ldrb.w r8, [r4, #1] 7002d192: f805 8c07 strb.w r8, [r5, #-7] 7002d196: 78a4 ldrb r4, [r4, #2] 7002d198: f805 4c06 strb.w r4, [r5, #-6] 7002d19c: 1c74 adds r4, r6, #1 7002d19e: d1e2 bne.n 7002d166 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x15e> 7002d1a0: eb00 0083 add.w r0, r0, r3, lsl #2 7002d1a4: e772 b.n 7002d08c <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 7002d1a6: 2b00 cmp r3, #0 7002d1a8: f77f af70 ble.w 7002d08c <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 7002d1ac: 461f mov r7, r3 7002d1ae: 1d06 adds r6, r0, #4 7002d1b0: 9d01 ldr r5, [sp, #4] 7002d1b2: 4653 mov r3, sl 7002d1b4: 9001 str r0, [sp, #4] 7002d1b6: 46ba mov sl, r7 7002d1b8: 9803 ldr r0, [sp, #12] 7002d1ba: e001 b.n 7002d1c0 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1b8> 7002d1bc: e9db 4302 ldrd r4, r3, [fp, #8] 7002d1c0: 2a00 cmp r2, #0 7002d1c2: ea4f 4722 mov.w r7, r2, asr #16 7002d1c6: f105 35ff add.w r5, r5, #4294967295 @ 0xffffffff 7002d1ca: 4462 add r2, ip 7002d1cc: ea4f 4821 mov.w r8, r1, asr #16 7002d1d0: db16 blt.n 7002d200 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1f8> 7002d1d2: 42a7 cmp r7, r4 7002d1d4: da14 bge.n 7002d200 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1f8> 7002d1d6: b224 sxth r4, r4 7002d1d8: 2900 cmp r1, #0 7002d1da: fb08 0404 mla r4, r8, r4, r0 7002d1de: db0f blt.n 7002d200 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1f8> 7002d1e0: 4598 cmp r8, r3 7002d1e2: da0d bge.n 7002d200 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1f8> 7002d1e4: 5de3 ldrb r3, [r4, r7] 7002d1e6: eb03 0343 add.w r3, r3, r3, lsl #1 7002d1ea: f819 4003 ldrb.w r4, [r9, r3] 7002d1ee: 444b add r3, r9 7002d1f0: f806 4c04 strb.w r4, [r6, #-4] 7002d1f4: 785c ldrb r4, [r3, #1] 7002d1f6: f806 4c03 strb.w r4, [r6, #-3] 7002d1fa: 789b ldrb r3, [r3, #2] 7002d1fc: f806 3c02 strb.w r3, [r6, #-2] 7002d200: 1c6f adds r7, r5, #1 7002d202: 4471 add r1, lr 7002d204: f106 0604 add.w r6, r6, #4 7002d208: d1d8 bne.n 7002d1bc <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1b4> 7002d20a: 9801 ldr r0, [sp, #4] 7002d20c: eb00 008a add.w r0, r0, sl, lsl #2 7002d210: e73c b.n 7002d08c <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 7002d212: 4623 mov r3, r4 7002d214: e76d b.n 7002d0f2 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xea> 7002d216: bf00 nop 7002d218 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 7002d218: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002d21c: b089 sub sp, #36 @ 0x24 7002d21e: 460d mov r5, r1 7002d220: 4617 mov r7, r2 7002d222: 9e17 ldr r6, [sp, #92] @ 0x5c 7002d224: a818 add r0, sp, #96 @ 0x60 7002d226: 9304 str r3, [sp, #16] 7002d228: 2d00 cmp r5, #0 7002d22a: 6874 ldr r4, [r6, #4] 7002d22c: 9a13 ldr r2, [sp, #76] @ 0x4c 7002d22e: f8dd b058 ldr.w fp, [sp, #88] @ 0x58 7002d232: e890 0403 ldmia.w r0, {r0, r1, sl} 7002d236: fb04 0001 mla r0, r4, r1, r0 7002d23a: 6834 ldr r4, [r6, #0] 7002d23c: f8da 1004 ldr.w r1, [sl, #4] 7002d240: eb04 0380 add.w r3, r4, r0, lsl #2 7002d244: 462c mov r4, r5 7002d246: 9305 str r3, [sp, #20] 7002d248: f101 0304 add.w r3, r1, #4 7002d24c: 9302 str r3, [sp, #8] 7002d24e: f89d 306c ldrb.w r3, [sp, #108] @ 0x6c 7002d252: 9303 str r3, [sp, #12] 7002d254: f8da 3000 ldr.w r3, [sl] 7002d258: e9dd 1914 ldrd r1, r9, [sp, #80] @ 0x50 7002d25c: 9301 str r3, [sp, #4] 7002d25e: dc01 bgt.n 7002d264 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4c> 7002d260: 2f00 cmp r7, #0 7002d262: dd5d ble.n 7002d320 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x108> 7002d264: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7002d268: 46bc mov ip, r7 7002d26a: 9406 str r4, [sp, #24] 7002d26c: 9804 ldr r0, [sp, #16] 7002d26e: f502 4200 add.w r2, r2, #32768 @ 0x8000 7002d272: f501 4100 add.w r1, r1, #32768 @ 0x8000 7002d276: 2800 cmp r0, #0 7002d278: e9da 4602 ldrd r4, r6, [sl, #8] 7002d27c: b223 sxth r3, r4 7002d27e: b237 sxth r7, r6 7002d280: dd53 ble.n 7002d32a <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x112> 7002d282: f8dd e014 ldr.w lr, [sp, #20] 7002d286: ebb3 4f22 cmp.w r3, r2, asr #16 7002d28a: ea4f 4522 mov.w r5, r2, asr #16 7002d28e: ea4f 4821 mov.w r8, r1, asr #16 7002d292: dd04 ble.n 7002d29e <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x86> 7002d294: 430d orrs r5, r1 7002d296: d402 bmi.n 7002d29e <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x86> 7002d298: 45b8 cmp r8, r7 7002d29a: f2c0 812c blt.w 7002d4f6 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2de> 7002d29e: 3801 subs r0, #1 7002d2a0: 444a add r2, r9 7002d2a2: 4459 add r1, fp 7002d2a4: f10e 0e04 add.w lr, lr, #4 7002d2a8: d1ed bne.n 7002d286 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6e> 7002d2aa: f8cd e014 str.w lr, [sp, #20] 7002d2ae: 9b06 ldr r3, [sp, #24] 7002d2b0: 2b00 cmp r3, #0 7002d2b2: dd35 ble.n 7002d320 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x108> 7002d2b4: eef0 7a62 vmov.f32 s15, s5 7002d2b8: 9812 ldr r0, [sp, #72] @ 0x48 7002d2ba: ee30 0a04 vadd.f32 s0, s0, s8 7002d2be: 3b01 subs r3, #1 7002d2c0: ee70 0aa4 vadd.f32 s1, s1, s9 7002d2c4: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002d2c8: 9306 str r3, [sp, #24] 7002d2ca: ee31 1a05 vadd.f32 s2, s2, s10 7002d2ce: ee17 2a90 vmov r2, s15 7002d2d2: eef0 7a43 vmov.f32 s15, s6 7002d2d6: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002d2da: ee17 1a90 vmov r1, s15 7002d2de: eec6 7a80 vdiv.f32 s15, s13, s0 7002d2e2: ee20 7aa7 vmul.f32 s14, s1, s15 7002d2e6: ee61 7a27 vmul.f32 s15, s2, s15 7002d2ea: ee77 2a62 vsub.f32 s5, s14, s5 7002d2ee: ee37 3ac3 vsub.f32 s6, s15, s6 7002d2f2: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 7002d2f6: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 7002d2fa: ee12 4a90 vmov r4, s5 7002d2fe: fb94 f9f0 sdiv r9, r4, r0 7002d302: ee13 4a10 vmov r4, s6 7002d306: fb94 fbf0 sdiv fp, r4, r0 7002d30a: d10c bne.n 7002d326 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x10e> 7002d30c: f1bc 0f00 cmp.w ip, #0 7002d310: dd06 ble.n 7002d320 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x108> 7002d312: f8cd c010 str.w ip, [sp, #16] 7002d316: eeb0 3a67 vmov.f32 s6, s15 7002d31a: eef0 2a47 vmov.f32 s5, s14 7002d31e: e7a5 b.n 7002d26c <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x54> 7002d320: b009 add sp, #36 @ 0x24 7002d322: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002d326: 9004 str r0, [sp, #16] 7002d328: e7f5 b.n 7002d316 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfe> 7002d32a: d0c0 beq.n 7002d2ae <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x96> 7002d32c: 1e45 subs r5, r0, #1 7002d32e: fb09 2805 mla r8, r9, r5, r2 7002d332: ebb3 4f28 cmp.w r3, r8, asr #16 7002d336: ea4f 4e28 mov.w lr, r8, asr #16 7002d33a: dd6a ble.n 7002d412 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1fa> 7002d33c: fb0b 1805 mla r8, fp, r5, r1 7002d340: ea58 0e0e orrs.w lr, r8, lr 7002d344: ea4f 4028 mov.w r0, r8, asr #16 7002d348: d463 bmi.n 7002d412 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1fa> 7002d34a: 42b8 cmp r0, r7 7002d34c: da61 bge.n 7002d412 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1fa> 7002d34e: 9804 ldr r0, [sp, #16] 7002d350: 2800 cmp r0, #0 7002d352: ddac ble.n 7002d2ae <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x96> 7002d354: 9805 ldr r0, [sp, #20] 7002d356: 461c mov r4, r3 7002d358: f8cd c000 str.w ip, [sp] 7002d35c: f100 0e04 add.w lr, r0, #4 7002d360: f8cd 9054 str.w r9, [sp, #84] @ 0x54 7002d364: e001 b.n 7002d36a <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x152> 7002d366: f9ba 4008 ldrsh.w r4, [sl, #8] 7002d36a: 9e15 ldr r6, [sp, #84] @ 0x54 7002d36c: 1410 asrs r0, r2, #16 7002d36e: 140b asrs r3, r1, #16 7002d370: 3d01 subs r5, #1 7002d372: 4432 add r2, r6 7002d374: 9e01 ldr r6, [sp, #4] 7002d376: 4459 add r1, fp 7002d378: fb04 6303 mla r3, r4, r3, r6 7002d37c: 5c1b ldrb r3, [r3, r0] 7002d37e: 9802 ldr r0, [sp, #8] 7002d380: f850 3023 ldr.w r3, [r0, r3, lsl #2] 7002d384: 9803 ldr r0, [sp, #12] 7002d386: 0e1f lsrs r7, r3, #24 7002d388: f3c3 2407 ubfx r4, r3, #8, #8 7002d38c: b2de uxtb r6, r3 7002d38e: f3c3 4307 ubfx r3, r3, #16, #8 7002d392: fb00 f707 mul.w r7, r0, r7 7002d396: d030 beq.n 7002d3fa <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1e2> 7002d398: 1c78 adds r0, r7, #1 7002d39a: f3c7 270f ubfx r7, r7, #8, #16 7002d39e: f81e cc02 ldrb.w ip, [lr, #-2] 7002d3a2: fa17 f080 uxtah r0, r7, r0 7002d3a6: f81e 9c04 ldrb.w r9, [lr, #-4] 7002d3aa: f81e 8c03 ldrb.w r8, [lr, #-3] 7002d3ae: f3c0 270f ubfx r7, r0, #8, #16 7002d3b2: ea6f 2020 mvn.w r0, r0, asr #8 7002d3b6: fb13 f307 smulbb r3, r3, r7 7002d3ba: b2c0 uxtb r0, r0 7002d3bc: fb16 f607 smulbb r6, r6, r7 7002d3c0: fb0c 3300 mla r3, ip, r0, r3 7002d3c4: fb14 f407 smulbb r4, r4, r7 7002d3c8: fb09 6600 mla r6, r9, r0, r6 7002d3cc: b29b uxth r3, r3 7002d3ce: fb08 4400 mla r4, r8, r0, r4 7002d3d2: b2b6 uxth r6, r6 7002d3d4: 1c58 adds r0, r3, #1 7002d3d6: b2a4 uxth r4, r4 7002d3d8: eb00 2013 add.w r0, r0, r3, lsr #8 7002d3dc: 1c63 adds r3, r4, #1 7002d3de: 1200 asrs r0, r0, #8 7002d3e0: eb03 2314 add.w r3, r3, r4, lsr #8 7002d3e4: f80e 0c02 strb.w r0, [lr, #-2] 7002d3e8: 1c70 adds r0, r6, #1 7002d3ea: 121b asrs r3, r3, #8 7002d3ec: eb00 2016 add.w r0, r0, r6, lsr #8 7002d3f0: f80e 3c03 strb.w r3, [lr, #-3] 7002d3f4: 1200 asrs r0, r0, #8 7002d3f6: f80e 0c04 strb.w r0, [lr, #-4] 7002d3fa: 1c6b adds r3, r5, #1 7002d3fc: f10e 0e04 add.w lr, lr, #4 7002d400: d1b1 bne.n 7002d366 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14e> 7002d402: f8dd c000 ldr.w ip, [sp] 7002d406: e9dd 2304 ldrd r2, r3, [sp, #16] 7002d40a: eb03 0382 add.w r3, r3, r2, lsl #2 7002d40e: 9305 str r3, [sp, #20] 7002d410: e74d b.n 7002d2ae <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x96> 7002d412: 9b04 ldr r3, [sp, #16] 7002d414: 2b00 cmp r3, #0 7002d416: f77f af4a ble.w 7002d2ae <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x96> 7002d41a: 9b05 ldr r3, [sp, #20] 7002d41c: 46ce mov lr, r9 7002d41e: f8cd c01c str.w ip, [sp, #28] 7002d422: 3304 adds r3, #4 7002d424: 9300 str r3, [sp, #0] 7002d426: e001 b.n 7002d42c <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x214> 7002d428: e9da 4602 ldrd r4, r6, [sl, #8] 7002d42c: 2a00 cmp r2, #0 7002d42e: ea4f 4022 mov.w r0, r2, asr #16 7002d432: f105 35ff add.w r5, r5, #4294967295 @ 0xffffffff 7002d436: 4472 add r2, lr 7002d438: ea4f 4721 mov.w r7, r1, asr #16 7002d43c: db4c blt.n 7002d4d8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2c0> 7002d43e: 42a0 cmp r0, r4 7002d440: da4a bge.n 7002d4d8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2c0> 7002d442: b224 sxth r4, r4 7002d444: 9b01 ldr r3, [sp, #4] 7002d446: 2900 cmp r1, #0 7002d448: fb07 3404 mla r4, r7, r4, r3 7002d44c: db44 blt.n 7002d4d8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2c0> 7002d44e: 42b7 cmp r7, r6 7002d450: da42 bge.n 7002d4d8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2c0> 7002d452: 9b02 ldr r3, [sp, #8] 7002d454: 5c20 ldrb r0, [r4, r0] 7002d456: f853 0020 ldr.w r0, [r3, r0, lsl #2] 7002d45a: 9b03 ldr r3, [sp, #12] 7002d45c: ea5f 6c10 movs.w ip, r0, lsr #24 7002d460: f3c0 2607 ubfx r6, r0, #8, #8 7002d464: b2c7 uxtb r7, r0 7002d466: f3c0 4007 ubfx r0, r0, #16, #8 7002d46a: fb03 fc0c mul.w ip, r3, ip 7002d46e: d033 beq.n 7002d4d8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2c0> 7002d470: f10c 0401 add.w r4, ip, #1 7002d474: f3cc 2c0f ubfx ip, ip, #8, #16 7002d478: 9b00 ldr r3, [sp, #0] 7002d47a: fa1c f484 uxtah r4, ip, r4 7002d47e: f813 9c04 ldrb.w r9, [r3, #-4] 7002d482: f3c4 2c0f ubfx ip, r4, #8, #16 7002d486: ea6f 2424 mvn.w r4, r4, asr #8 7002d48a: f813 8c03 ldrb.w r8, [r3, #-3] 7002d48e: b2e4 uxtb r4, r4 7002d490: f813 3c02 ldrb.w r3, [r3, #-2] 7002d494: fb17 f70c smulbb r7, r7, ip 7002d498: fb16 f60c smulbb r6, r6, ip 7002d49c: fb09 7704 mla r7, r9, r4, r7 7002d4a0: fb10 f00c smulbb r0, r0, ip 7002d4a4: fb08 6604 mla r6, r8, r4, r6 7002d4a8: b2bf uxth r7, r7 7002d4aa: fb03 0004 mla r0, r3, r4, r0 7002d4ae: b2b6 uxth r6, r6 7002d4b0: 9b00 ldr r3, [sp, #0] 7002d4b2: 1c7c adds r4, r7, #1 7002d4b4: b280 uxth r0, r0 7002d4b6: eb04 2417 add.w r4, r4, r7, lsr #8 7002d4ba: 1224 asrs r4, r4, #8 7002d4bc: f803 4c04 strb.w r4, [r3, #-4] 7002d4c0: 1c74 adds r4, r6, #1 7002d4c2: eb04 2416 add.w r4, r4, r6, lsr #8 7002d4c6: 1224 asrs r4, r4, #8 7002d4c8: f803 4c03 strb.w r4, [r3, #-3] 7002d4cc: 1c44 adds r4, r0, #1 7002d4ce: eb04 2010 add.w r0, r4, r0, lsr #8 7002d4d2: 1200 asrs r0, r0, #8 7002d4d4: f803 0c02 strb.w r0, [r3, #-2] 7002d4d8: 9b00 ldr r3, [sp, #0] 7002d4da: 1c68 adds r0, r5, #1 7002d4dc: 4459 add r1, fp 7002d4de: f103 0304 add.w r3, r3, #4 7002d4e2: 9300 str r3, [sp, #0] 7002d4e4: d1a0 bne.n 7002d428 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x210> 7002d4e6: f8dd c01c ldr.w ip, [sp, #28] 7002d4ea: e9dd 2304 ldrd r2, r3, [sp, #16] 7002d4ee: eb03 0382 add.w r3, r3, r2, lsl #2 7002d4f2: 9305 str r3, [sp, #20] 7002d4f4: e6db b.n 7002d2ae <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x96> 7002d4f6: e9cd 0e04 strd r0, lr, [sp, #16] 7002d4fa: e717 b.n 7002d32c <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x114> 7002d4fc <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 7002d4fc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002d500: b087 sub sp, #28 7002d502: 460c mov r4, r1 7002d504: 4617 mov r7, r2 7002d506: 9817 ldr r0, [sp, #92] @ 0x5c 7002d508: 2c00 cmp r4, #0 7002d50a: f8dd a060 ldr.w sl, [sp, #96] @ 0x60 7002d50e: 9301 str r3, [sp, #4] 7002d510: 9204 str r2, [sp, #16] 7002d512: f8dd 9050 ldr.w r9, [sp, #80] @ 0x50 7002d516: 9a11 ldr r2, [sp, #68] @ 0x44 7002d518: f89d b064 ldrb.w fp, [sp, #100] @ 0x64 7002d51c: e9dd 6115 ldrd r6, r1, [sp, #84] @ 0x54 7002d520: 6875 ldr r5, [r6, #4] 7002d522: fb05 1100 mla r1, r5, r0, r1 7002d526: 6830 ldr r0, [r6, #0] 7002d528: eb00 0381 add.w r3, r0, r1, lsl #2 7002d52c: 4620 mov r0, r4 7002d52e: 9300 str r3, [sp, #0] 7002d530: f8da 3000 ldr.w r3, [sl] 7002d534: e9dd 1c12 ldrd r1, ip, [sp, #72] @ 0x48 7002d538: 9302 str r3, [sp, #8] 7002d53a: dc01 bgt.n 7002d540 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x44> 7002d53c: 2f00 cmp r7, #0 7002d53e: dd5c ble.n 7002d5fa <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfe> 7002d540: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7002d544: f8cd a060 str.w sl, [sp, #96] @ 0x60 7002d548: 9b18 ldr r3, [sp, #96] @ 0x60 7002d54a: f502 4200 add.w r2, r2, #32768 @ 0x8000 7002d54e: f501 4100 add.w r1, r1, #32768 @ 0x8000 7002d552: e9d3 6702 ldrd r6, r7, [r3, #8] 7002d556: 9b01 ldr r3, [sp, #4] 7002d558: b234 sxth r4, r6 7002d55a: 2b00 cmp r3, #0 7002d55c: b23d sxth r5, r7 7002d55e: dd4f ble.n 7002d600 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x104> 7002d560: f8dd 8000 ldr.w r8, [sp] 7002d564: ebb4 4f22 cmp.w r4, r2, asr #16 7002d568: ea4f 4e22 mov.w lr, r2, asr #16 7002d56c: ea4f 4a21 mov.w sl, r1, asr #16 7002d570: dd05 ble.n 7002d57e <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x82> 7002d572: ea51 0e0e orrs.w lr, r1, lr 7002d576: d402 bmi.n 7002d57e <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x82> 7002d578: 45aa cmp sl, r5 7002d57a: f2c0 8128 blt.w 7002d7ce <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2d2> 7002d57e: 3b01 subs r3, #1 7002d580: 4462 add r2, ip 7002d582: 4449 add r1, r9 7002d584: f108 0804 add.w r8, r8, #4 7002d588: d1ec bne.n 7002d564 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x68> 7002d58a: f8cd 8000 str.w r8, [sp] 7002d58e: 2800 cmp r0, #0 7002d590: dd33 ble.n 7002d5fa <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfe> 7002d592: eef0 7a62 vmov.f32 s15, s5 7002d596: 9b10 ldr r3, [sp, #64] @ 0x40 7002d598: ee30 0a04 vadd.f32 s0, s0, s8 7002d59c: 3801 subs r0, #1 7002d59e: ee70 0aa4 vadd.f32 s1, s1, s9 7002d5a2: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002d5a6: ee31 1a05 vadd.f32 s2, s2, s10 7002d5aa: ee17 2a90 vmov r2, s15 7002d5ae: eef0 7a43 vmov.f32 s15, s6 7002d5b2: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002d5b6: ee17 1a90 vmov r1, s15 7002d5ba: eec6 7a80 vdiv.f32 s15, s13, s0 7002d5be: ee20 7aa7 vmul.f32 s14, s1, s15 7002d5c2: ee61 7a27 vmul.f32 s15, s2, s15 7002d5c6: ee77 2a62 vsub.f32 s5, s14, s5 7002d5ca: ee37 3ac3 vsub.f32 s6, s15, s6 7002d5ce: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 7002d5d2: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 7002d5d6: ee12 4a90 vmov r4, s5 7002d5da: fb94 fcf3 sdiv ip, r4, r3 7002d5de: ee13 4a10 vmov r4, s6 7002d5e2: fb94 f9f3 sdiv r9, r4, r3 7002d5e6: d102 bne.n 7002d5ee <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf2> 7002d5e8: 9b04 ldr r3, [sp, #16] 7002d5ea: 2b00 cmp r3, #0 7002d5ec: dd05 ble.n 7002d5fa <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xfe> 7002d5ee: eeb0 3a67 vmov.f32 s6, s15 7002d5f2: 9301 str r3, [sp, #4] 7002d5f4: eef0 2a47 vmov.f32 s5, s14 7002d5f8: e7a6 b.n 7002d548 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4c> 7002d5fa: b007 add sp, #28 7002d5fc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002d600: d0c5 beq.n 7002d58e <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002d602: f103 3aff add.w sl, r3, #4294967295 @ 0xffffffff 7002d606: fb0c 2e0a mla lr, ip, sl, r2 7002d60a: ebb4 4f2e cmp.w r4, lr, asr #16 7002d60e: ea4f 482e mov.w r8, lr, asr #16 7002d612: dd6c ble.n 7002d6ee <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1f2> 7002d614: fb09 1e0a mla lr, r9, sl, r1 7002d618: ea4f 432e mov.w r3, lr, asr #16 7002d61c: ea5e 0e08 orrs.w lr, lr, r8 7002d620: d465 bmi.n 7002d6ee <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1f2> 7002d622: 42ab cmp r3, r5 7002d624: da63 bge.n 7002d6ee <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1f2> 7002d626: 9d01 ldr r5, [sp, #4] 7002d628: 2d00 cmp r5, #0 7002d62a: ddb0 ble.n 7002d58e <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002d62c: f1bb 0fff cmp.w fp, #255 @ 0xff 7002d630: f000 8102 beq.w 7002d838 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x33c> 7002d634: f1bb 0f00 cmp.w fp, #0 7002d638: d054 beq.n 7002d6e4 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1e8> 7002d63a: 9f00 ldr r7, [sp, #0] 7002d63c: 4625 mov r5, r4 7002d63e: f8dd e008 ldr.w lr, [sp, #8] 7002d642: 9003 str r0, [sp, #12] 7002d644: e002 b.n 7002d64c <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x150> 7002d646: 9b18 ldr r3, [sp, #96] @ 0x60 7002d648: f9b3 5008 ldrsh.w r5, [r3, #8] 7002d64c: 78fc ldrb r4, [r7, #3] 7002d64e: 1408 asrs r0, r1, #16 7002d650: 1413 asrs r3, r2, #16 7002d652: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff 7002d656: fb04 f80b mul.w r8, r4, fp 7002d65a: 4462 add r2, ip 7002d65c: fb05 3500 mla r5, r5, r0, r3 7002d660: eb0b 0304 add.w r3, fp, r4 7002d664: f108 0601 add.w r6, r8, #1 7002d668: f1ba 3fff cmp.w sl, #4294967295 @ 0xffffffff 7002d66c: eb05 0545 add.w r5, r5, r5, lsl #1 7002d670: 4449 add r1, r9 7002d672: b2b6 uxth r6, r6 7002d674: eb0e 0005 add.w r0, lr, r5 7002d678: f81e 5005 ldrb.w r5, [lr, r5] 7002d67c: eb06 2618 add.w r6, r6, r8, lsr #8 7002d680: f897 8000 ldrb.w r8, [r7] 7002d684: fb15 f50b smulbb r5, r5, fp 7002d688: eba4 2416 sub.w r4, r4, r6, lsr #8 7002d68c: eba3 2316 sub.w r3, r3, r6, lsr #8 7002d690: f04f 0600 mov.w r6, #0 7002d694: fb04 5508 mla r5, r4, r8, r5 7002d698: f897 8001 ldrb.w r8, [r7, #1] 7002d69c: b2db uxtb r3, r3 7002d69e: fb95 f5f3 sdiv r5, r5, r3 7002d6a2: f365 0607 bfi r6, r5, #0, #8 7002d6a6: 7845 ldrb r5, [r0, #1] 7002d6a8: 7880 ldrb r0, [r0, #2] 7002d6aa: fb15 f50b smulbb r5, r5, fp 7002d6ae: fb10 f00b smulbb r0, r0, fp 7002d6b2: fb04 5508 mla r5, r4, r8, r5 7002d6b6: fb95 f5f3 sdiv r5, r5, r3 7002d6ba: f365 260f bfi r6, r5, #8, #8 7002d6be: 78bd ldrb r5, [r7, #2] 7002d6c0: fb04 0005 mla r0, r4, r5, r0 7002d6c4: fb90 f0f3 sdiv r0, r0, r3 7002d6c8: f360 4617 bfi r6, r0, #16, #8 7002d6cc: f363 661f bfi r6, r3, #24, #8 7002d6d0: f847 6b04 str.w r6, [r7], #4 7002d6d4: d1b7 bne.n 7002d646 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14a> 7002d6d6: 9803 ldr r0, [sp, #12] 7002d6d8: e9dd 3200 ldrd r3, r2, [sp] 7002d6dc: eb03 0382 add.w r3, r3, r2, lsl #2 7002d6e0: 9300 str r3, [sp, #0] 7002d6e2: e754 b.n 7002d58e <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002d6e4: 9b00 ldr r3, [sp, #0] 7002d6e6: eb03 0385 add.w r3, r3, r5, lsl #2 7002d6ea: 9300 str r3, [sp, #0] 7002d6ec: e74f b.n 7002d58e <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002d6ee: 9c01 ldr r4, [sp, #4] 7002d6f0: 2c00 cmp r4, #0 7002d6f2: f77f af4c ble.w 7002d58e <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002d6f6: f1bb 0fff cmp.w fp, #255 @ 0xff 7002d6fa: d06b beq.n 7002d7d4 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2d8> 7002d6fc: f1bb 0f00 cmp.w fp, #0 7002d700: d060 beq.n 7002d7c4 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2c8> 7002d702: 46e0 mov r8, ip 7002d704: 9d00 ldr r5, [sp, #0] 7002d706: f8dd c060 ldr.w ip, [sp, #96] @ 0x60 7002d70a: 9005 str r0, [sp, #20] 7002d70c: e001 b.n 7002d712 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x216> 7002d70e: e9dc 6702 ldrd r6, r7, [ip, #8] 7002d712: ebb6 4f22 cmp.w r6, r2, asr #16 7002d716: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff 7002d71a: ea4f 4322 mov.w r3, r2, asr #16 7002d71e: 4442 add r2, r8 7002d720: ea4f 4021 mov.w r0, r1, asr #16 7002d724: dd41 ble.n 7002d7aa <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2ae> 7002d726: 2b00 cmp r3, #0 7002d728: db3f blt.n 7002d7aa <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2ae> 7002d72a: b236 sxth r6, r6 7002d72c: ebb7 4f21 cmp.w r7, r1, asr #16 7002d730: fb00 3306 mla r3, r0, r6, r3 7002d734: dd39 ble.n 7002d7aa <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2ae> 7002d736: 2800 cmp r0, #0 7002d738: eb03 0343 add.w r3, r3, r3, lsl #1 7002d73c: db35 blt.n 7002d7aa <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2ae> 7002d73e: 78ec ldrb r4, [r5, #3] 7002d740: 9802 ldr r0, [sp, #8] 7002d742: fb04 f70b mul.w r7, r4, fp 7002d746: f895 e000 ldrb.w lr, [r5] 7002d74a: 18c6 adds r6, r0, r3 7002d74c: 5cc0 ldrb r0, [r0, r3] 7002d74e: eb0b 0304 add.w r3, fp, r4 7002d752: fb10 f00b smulbb r0, r0, fp 7002d756: 9303 str r3, [sp, #12] 7002d758: 1c7b adds r3, r7, #1 7002d75a: b29b uxth r3, r3 7002d75c: eb03 2317 add.w r3, r3, r7, lsr #8 7002d760: 9f03 ldr r7, [sp, #12] 7002d762: eba4 2413 sub.w r4, r4, r3, lsr #8 7002d766: eba7 2313 sub.w r3, r7, r3, lsr #8 7002d76a: 7877 ldrb r7, [r6, #1] 7002d76c: fb04 000e mla r0, r4, lr, r0 7002d770: f896 e002 ldrb.w lr, [r6, #2] 7002d774: fb17 f70b smulbb r7, r7, fp 7002d778: 786e ldrb r6, [r5, #1] 7002d77a: b2db uxtb r3, r3 7002d77c: fb04 7706 mla r7, r4, r6, r7 7002d780: 78ae ldrb r6, [r5, #2] 7002d782: fb04 f606 mul.w r6, r4, r6 7002d786: fb90 f0f3 sdiv r0, r0, r3 7002d78a: fb0e 660b mla r6, lr, fp, r6 7002d78e: fb97 f7f3 sdiv r7, r7, r3 7002d792: fb96 f4f3 sdiv r4, r6, r3 7002d796: 2600 movs r6, #0 7002d798: f360 0607 bfi r6, r0, #0, #8 7002d79c: f367 260f bfi r6, r7, #8, #8 7002d7a0: f364 4617 bfi r6, r4, #16, #8 7002d7a4: f363 661f bfi r6, r3, #24, #8 7002d7a8: 602e str r6, [r5, #0] 7002d7aa: f1ba 3fff cmp.w sl, #4294967295 @ 0xffffffff 7002d7ae: f105 0504 add.w r5, r5, #4 7002d7b2: 4449 add r1, r9 7002d7b4: d1ab bne.n 7002d70e <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x212> 7002d7b6: 9805 ldr r0, [sp, #20] 7002d7b8: e9dd 3200 ldrd r3, r2, [sp] 7002d7bc: eb03 0382 add.w r3, r3, r2, lsl #2 7002d7c0: 9300 str r3, [sp, #0] 7002d7c2: e6e4 b.n 7002d58e <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002d7c4: 9b00 ldr r3, [sp, #0] 7002d7c6: eb03 0384 add.w r3, r3, r4, lsl #2 7002d7ca: 9300 str r3, [sp, #0] 7002d7cc: e6df b.n 7002d58e <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002d7ce: e9cd 8300 strd r8, r3, [sp] 7002d7d2: e716 b.n 7002d602 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x106> 7002d7d4: 9d00 ldr r5, [sp, #0] 7002d7d6: f8dd 8008 ldr.w r8, [sp, #8] 7002d7da: f8dd e060 ldr.w lr, [sp, #96] @ 0x60 7002d7de: e001 b.n 7002d7e4 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2e8> 7002d7e0: e9de 6702 ldrd r6, r7, [lr, #8] 7002d7e4: 2a00 cmp r2, #0 7002d7e6: ea4f 4322 mov.w r3, r2, asr #16 7002d7ea: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff 7002d7ee: 4462 add r2, ip 7002d7f0: ea4f 4421 mov.w r4, r1, asr #16 7002d7f4: db14 blt.n 7002d820 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x324> 7002d7f6: 42b3 cmp r3, r6 7002d7f8: da12 bge.n 7002d820 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x324> 7002d7fa: b236 sxth r6, r6 7002d7fc: 2900 cmp r1, #0 7002d7fe: fb04 3306 mla r3, r4, r6, r3 7002d802: db0d blt.n 7002d820 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x324> 7002d804: 42bc cmp r4, r7 7002d806: eb03 0343 add.w r3, r3, r3, lsl #1 7002d80a: da09 bge.n 7002d820 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x324> 7002d80c: f838 4003 ldrh.w r4, [r8, r3] 7002d810: eb08 0603 add.w r6, r8, r3 7002d814: 78b3 ldrb r3, [r6, #2] 7002d816: 802c strh r4, [r5, #0] 7002d818: f04f 34ff mov.w r4, #4294967295 @ 0xffffffff 7002d81c: 70ab strb r3, [r5, #2] 7002d81e: 70ec strb r4, [r5, #3] 7002d820: f1ba 3fff cmp.w sl, #4294967295 @ 0xffffffff 7002d824: f105 0504 add.w r5, r5, #4 7002d828: 4449 add r1, r9 7002d82a: d1d9 bne.n 7002d7e0 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2e4> 7002d82c: e9dd 3200 ldrd r3, r2, [sp] 7002d830: eb03 0382 add.w r3, r3, r2, lsl #2 7002d834: 9300 str r3, [sp, #0] 7002d836: e6aa b.n 7002d58e <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002d838: 140d asrs r5, r1, #16 7002d83a: eb09 0701 add.w r7, r9, r1 7002d83e: 1411 asrs r1, r2, #16 7002d840: 9b00 ldr r3, [sp, #0] 7002d842: fb04 1105 mla r1, r4, r5, r1 7002d846: 9d02 ldr r5, [sp, #8] 7002d848: eb0c 0402 add.w r4, ip, r2 7002d84c: 9a01 ldr r2, [sp, #4] 7002d84e: eb01 0141 add.w r1, r1, r1, lsl #1 7002d852: f103 0e04 add.w lr, r3, #4 7002d856: 1e96 subs r6, r2, #2 7002d858: 186a adds r2, r5, r1 7002d85a: 5a69 ldrh r1, [r5, r1] 7002d85c: 7892 ldrb r2, [r2, #2] 7002d85e: 8019 strh r1, [r3, #0] 7002d860: 709a strb r2, [r3, #2] 7002d862: f883 b003 strb.w fp, [r3, #3] 7002d866: f1ba 0f00 cmp.w sl, #0 7002d86a: d0df beq.n 7002d82c <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x330> 7002d86c: 462a mov r2, r5 7002d86e: 4671 mov r1, lr 7002d870: 463d mov r5, r7 7002d872: 9f18 ldr r7, [sp, #96] @ 0x60 7002d874: f9b7 8008 ldrsh.w r8, [r7, #8] 7002d878: ea4f 4e25 mov.w lr, r5, asr #16 7002d87c: 1423 asrs r3, r4, #16 7002d87e: 3104 adds r1, #4 7002d880: 3e01 subs r6, #1 7002d882: 444d add r5, r9 7002d884: fb08 330e mla r3, r8, lr, r3 7002d888: 4464 add r4, ip 7002d88a: eb03 0343 add.w r3, r3, r3, lsl #1 7002d88e: eb02 0803 add.w r8, r2, r3 7002d892: f832 e003 ldrh.w lr, [r2, r3] 7002d896: f898 3002 ldrb.w r3, [r8, #2] 7002d89a: f821 ec04 strh.w lr, [r1, #-4] 7002d89e: f801 3c02 strb.w r3, [r1, #-2] 7002d8a2: 1c73 adds r3, r6, #1 7002d8a4: f801 bc01 strb.w fp, [r1, #-1] 7002d8a8: d1e4 bne.n 7002d874 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x378> 7002d8aa: e9dd 3200 ldrd r3, r2, [sp] 7002d8ae: eb03 0382 add.w r3, r3, r2, lsl #2 7002d8b2: 9300 str r3, [sp, #0] 7002d8b4: e66b b.n 7002d58e <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7002d8b6: bf00 nop 7002d8b8 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 7002d8b8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002d8bc: b087 sub sp, #28 7002d8be: 460c mov r4, r1 7002d8c0: 4617 mov r7, r2 7002d8c2: 9917 ldr r1, [sp, #92] @ 0x5c 7002d8c4: 2c00 cmp r4, #0 7002d8c6: f8dd a060 ldr.w sl, [sp, #96] @ 0x60 7002d8ca: 9204 str r2, [sp, #16] 7002d8cc: f8dd e050 ldr.w lr, [sp, #80] @ 0x50 7002d8d0: 9a11 ldr r2, [sp, #68] @ 0x44 7002d8d2: f8da b000 ldr.w fp, [sl] 7002d8d6: 9401 str r4, [sp, #4] 7002d8d8: e9dd 6015 ldrd r6, r0, [sp, #84] @ 0x54 7002d8dc: 6875 ldr r5, [r6, #4] 7002d8de: fb05 0101 mla r1, r5, r1, r0 7002d8e2: 6830 ldr r0, [r6, #0] 7002d8e4: eb00 0081 add.w r0, r0, r1, lsl #2 7002d8e8: e9dd 1c12 ldrd r1, ip, [sp, #72] @ 0x48 7002d8ec: dc01 bgt.n 7002d8f2 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3a> 7002d8ee: 2f00 cmp r7, #0 7002d8f0: dd57 ble.n 7002d9a2 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xea> 7002d8f2: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 7002d8f6: f8da 4008 ldr.w r4, [sl, #8] 7002d8fa: 2b00 cmp r3, #0 7002d8fc: f8da 700c ldr.w r7, [sl, #12] 7002d900: f502 4200 add.w r2, r2, #32768 @ 0x8000 7002d904: f501 4100 add.w r1, r1, #32768 @ 0x8000 7002d908: b226 sxth r6, r4 7002d90a: fa0f f987 sxth.w r9, r7 7002d90e: dd4b ble.n 7002d9a8 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf0> 7002d910: ebb6 4f22 cmp.w r6, r2, asr #16 7002d914: ea4f 4522 mov.w r5, r2, asr #16 7002d918: ea4f 4821 mov.w r8, r1, asr #16 7002d91c: dd03 ble.n 7002d926 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6e> 7002d91e: 430d orrs r5, r1 7002d920: d401 bmi.n 7002d926 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6e> 7002d922: 45c8 cmp r8, r9 7002d924: db41 blt.n 7002d9aa <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xf2> 7002d926: 3b01 subs r3, #1 7002d928: 4462 add r2, ip 7002d92a: 4471 add r1, lr 7002d92c: f100 0004 add.w r0, r0, #4 7002d930: d1ee bne.n 7002d910 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x58> 7002d932: 9b01 ldr r3, [sp, #4] 7002d934: 2b00 cmp r3, #0 7002d936: dd34 ble.n 7002d9a2 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xea> 7002d938: eef0 7a62 vmov.f32 s15, s5 7002d93c: 9c10 ldr r4, [sp, #64] @ 0x40 7002d93e: ee30 0a04 vadd.f32 s0, s0, s8 7002d942: 3b01 subs r3, #1 7002d944: ee70 0aa4 vadd.f32 s1, s1, s9 7002d948: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002d94c: 9301 str r3, [sp, #4] 7002d94e: ee31 1a05 vadd.f32 s2, s2, s10 7002d952: ee17 2a90 vmov r2, s15 7002d956: eef0 7a43 vmov.f32 s15, s6 7002d95a: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 7002d95e: ee17 1a90 vmov r1, s15 7002d962: eec6 7a80 vdiv.f32 s15, s13, s0 7002d966: ee20 7aa7 vmul.f32 s14, s1, s15 7002d96a: ee61 7a27 vmul.f32 s15, s2, s15 7002d96e: ee77 2a62 vsub.f32 s5, s14, s5 7002d972: ee37 3ac3 vsub.f32 s6, s15, s6 7002d976: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 7002d97a: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 7002d97e: ee12 5a90 vmov r5, s5 7002d982: fb95 fcf4 sdiv ip, r5, r4 7002d986: ee13 5a10 vmov r5, s6 7002d98a: fb95 fef4 sdiv lr, r5, r4 7002d98e: f040 8086 bne.w 7002da9e <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1e6> 7002d992: 9b04 ldr r3, [sp, #16] 7002d994: 2b00 cmp r3, #0 7002d996: dd04 ble.n 7002d9a2 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xea> 7002d998: eeb0 3a67 vmov.f32 s6, s15 7002d99c: eef0 2a47 vmov.f32 s5, s14 7002d9a0: e7a9 b.n 7002d8f6 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3e> 7002d9a2: b007 add sp, #28 7002d9a4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002d9a8: d0c3 beq.n 7002d932 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7a> 7002d9aa: 1e5d subs r5, r3, #1 7002d9ac: fb0c 2805 mla r8, ip, r5, r2 7002d9b0: 9502 str r5, [sp, #8] 7002d9b2: ebb6 4f28 cmp.w r6, r8, asr #16 7002d9b6: ea4f 4528 mov.w r5, r8, asr #16 7002d9ba: 9503 str r5, [sp, #12] 7002d9bc: dd3f ble.n 7002da3e <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x186> 7002d9be: 9d02 ldr r5, [sp, #8] 7002d9c0: fb0e 1805 mla r8, lr, r5, r1 7002d9c4: ea4f 4528 mov.w r5, r8, asr #16 7002d9c8: 9505 str r5, [sp, #20] 7002d9ca: 9d03 ldr r5, [sp, #12] 7002d9cc: ea58 0805 orrs.w r8, r8, r5 7002d9d0: d435 bmi.n 7002da3e <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x186> 7002d9d2: 9d05 ldr r5, [sp, #20] 7002d9d4: 454d cmp r5, r9 7002d9d6: da32 bge.n 7002da3e <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x186> 7002d9d8: 2b00 cmp r3, #0 7002d9da: ddaa ble.n 7002d932 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7a> 7002d9dc: 1417 asrs r7, r2, #16 7002d9de: 4462 add r2, ip 7002d9e0: 140c asrs r4, r1, #16 7002d9e2: 4471 add r1, lr 7002d9e4: fb06 7404 mla r4, r6, r4, r7 7002d9e8: 1e9e subs r6, r3, #2 7002d9ea: eb04 0444 add.w r4, r4, r4, lsl #1 7002d9ee: f81b 7004 ldrb.w r7, [fp, r4] 7002d9f2: 445c add r4, fp 7002d9f4: 7007 strb r7, [r0, #0] 7002d9f6: 7867 ldrb r7, [r4, #1] 7002d9f8: 7047 strb r7, [r0, #1] 7002d9fa: 78a4 ldrb r4, [r4, #2] 7002d9fc: 7084 strb r4, [r0, #2] 7002d9fe: 9c02 ldr r4, [sp, #8] 7002da00: b1d4 cbz r4, 7002da38 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x180> 7002da02: f100 0508 add.w r5, r0, #8 7002da06: f9ba 8008 ldrsh.w r8, [sl, #8] 7002da0a: 140f asrs r7, r1, #16 7002da0c: 1414 asrs r4, r2, #16 7002da0e: 3504 adds r5, #4 7002da10: 3e01 subs r6, #1 7002da12: 4471 add r1, lr 7002da14: fb08 4407 mla r4, r8, r7, r4 7002da18: 4462 add r2, ip 7002da1a: eb04 0444 add.w r4, r4, r4, lsl #1 7002da1e: f81b 7004 ldrb.w r7, [fp, r4] 7002da22: 445c add r4, fp 7002da24: f805 7c08 strb.w r7, [r5, #-8] 7002da28: 7867 ldrb r7, [r4, #1] 7002da2a: f805 7c07 strb.w r7, [r5, #-7] 7002da2e: 78a4 ldrb r4, [r4, #2] 7002da30: f805 4c06 strb.w r4, [r5, #-6] 7002da34: 1c74 adds r4, r6, #1 7002da36: d1e6 bne.n 7002da06 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14e> 7002da38: eb00 0083 add.w r0, r0, r3, lsl #2 7002da3c: e779 b.n 7002d932 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7a> 7002da3e: 2b00 cmp r3, #0 7002da40: f77f af77 ble.w 7002d932 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7a> 7002da44: f100 0804 add.w r8, r0, #4 7002da48: 9d02 ldr r5, [sp, #8] 7002da4a: e001 b.n 7002da50 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x198> 7002da4c: e9da 4702 ldrd r4, r7, [sl, #8] 7002da50: 2a00 cmp r2, #0 7002da52: ea4f 4622 mov.w r6, r2, asr #16 7002da56: f105 35ff add.w r5, r5, #4294967295 @ 0xffffffff 7002da5a: 4462 add r2, ip 7002da5c: ea4f 4921 mov.w r9, r1, asr #16 7002da60: db15 blt.n 7002da8e <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d6> 7002da62: 42a6 cmp r6, r4 7002da64: da13 bge.n 7002da8e <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d6> 7002da66: b224 sxth r4, r4 7002da68: 2900 cmp r1, #0 7002da6a: fb09 6604 mla r6, r9, r4, r6 7002da6e: db0e blt.n 7002da8e <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d6> 7002da70: 45b9 cmp r9, r7 7002da72: eb06 0646 add.w r6, r6, r6, lsl #1 7002da76: da0a bge.n 7002da8e <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d6> 7002da78: f81b 4006 ldrb.w r4, [fp, r6] 7002da7c: 445e add r6, fp 7002da7e: f808 4c04 strb.w r4, [r8, #-4] 7002da82: 7874 ldrb r4, [r6, #1] 7002da84: f808 4c03 strb.w r4, [r8, #-3] 7002da88: 78b4 ldrb r4, [r6, #2] 7002da8a: f808 4c02 strb.w r4, [r8, #-2] 7002da8e: 1c6e adds r6, r5, #1 7002da90: 4471 add r1, lr 7002da92: f108 0804 add.w r8, r8, #4 7002da96: d1d9 bne.n 7002da4c <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x194> 7002da98: eb00 0083 add.w r0, r0, r3, lsl #2 7002da9c: e749 b.n 7002d932 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7a> 7002da9e: 4623 mov r3, r4 7002daa0: e77a b.n 7002d998 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xe0> 7002daa2: bf00 nop 7002daa4 <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv>: 7002daa4: 4b18 ldr r3, [pc, #96] @ (7002db08 <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv+0x64>) 7002daa6: 4a19 ldr r2, [pc, #100] @ (7002db0c <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv+0x68>) 7002daa8: b530 push {r4, r5, lr} 7002daaa: 781b ldrb r3, [r3, #0] 7002daac: b083 sub sp, #12 7002daae: 4604 mov r4, r0 7002dab0: 6815 ldr r5, [r2, #0] 7002dab2: b16b cbz r3, 7002dad0 <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv+0x2c> 7002dab4: 682b ldr r3, [r5, #0] 7002dab6: 4628 mov r0, r5 7002dab8: 6b5b ldr r3, [r3, #52] @ 0x34 7002daba: 4798 blx r3 7002dabc: 4603 mov r3, r0 7002dabe: 6c28 ldr r0, [r5, #64] @ 0x40 7002dac0: 4298 cmp r0, r3 7002dac2: d01f beq.n 7002db04 <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv+0x60> 7002dac4: 7b23 ldrb r3, [r4, #12] 7002dac6: b13b cbz r3, 7002dad8 <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv+0x34> 7002dac8: 2b02 cmp r3, #2 7002daca: d010 beq.n 7002daee <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv+0x4a> 7002dacc: b003 add sp, #12 7002dace: bd30 pop {r4, r5, pc} 7002dad0: 7b23 ldrb r3, [r4, #12] 7002dad2: 6c28 ldr r0, [r5, #64] @ 0x40 7002dad4: 2b00 cmp r3, #0 7002dad6: d1f7 bne.n 7002dac8 <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv+0x24> 7002dad8: 490d ldr r1, [pc, #52] @ (7002db10 <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv+0x6c>) 7002dada: 2304 movs r3, #4 7002dadc: 4a0d ldr r2, [pc, #52] @ (7002db14 <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv+0x70>) 7002dade: 8809 ldrh r1, [r1, #0] 7002dae0: 8812 ldrh r2, [r2, #0] 7002dae2: 004c lsls r4, r1, #1 7002dae4: 9400 str r4, [sp, #0] 7002dae6: f7ea fad9 bl 7001809c 7002daea: b003 add sp, #12 7002daec: bd30 pop {r4, r5, pc} 7002daee: 4908 ldr r1, [pc, #32] @ (7002db10 <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv+0x6c>) 7002daf0: 2310 movs r3, #16 7002daf2: 4a08 ldr r2, [pc, #32] @ (7002db14 <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv+0x70>) 7002daf4: 8809 ldrh r1, [r1, #0] 7002daf6: 8812 ldrh r2, [r2, #0] 7002daf8: 008c lsls r4, r1, #2 7002dafa: 9400 str r4, [sp, #0] 7002dafc: f7ea face bl 7001809c 7002db00: b003 add sp, #12 7002db02: bd30 pop {r4, r5, pc} 7002db04: 6c68 ldr r0, [r5, #68] @ 0x44 7002db06: e7dd b.n 7002dac4 <_ZN8touchgfx12LCDGPU2D_AXI22bindFrameBufferTextureEv+0x20> 7002db08: 2400da74 .word 0x2400da74 7002db0c: 2400e0dc .word 0x2400e0dc 7002db10: 2400da78 .word 0x2400da78 7002db14: 2400da76 .word 0x2400da76 7002db18 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_t>: 7002db18: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7002db1c: b089 sub sp, #36 @ 0x24 7002db1e: 4605 mov r5, r0 7002db20: 460e mov r6, r1 7002db22: 4617 mov r7, r2 7002db24: a807 add r0, sp, #28 7002db26: f8ad 301c strh.w r3, [sp, #28] 7002db2a: f7e6 fe0d bl 70014748 <_ZNK8touchgfx6Bitmap7getDataEv> 7002db2e: 682b ldr r3, [r5, #0] 7002db30: 4604 mov r4, r0 7002db32: a807 add r0, sp, #28 7002db34: f8d3 901c ldr.w r9, [r3, #28] 7002db38: f7e6 fd14 bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 7002db3c: 4680 mov r8, r0 7002db3e: a807 add r0, sp, #28 7002db40: f7e6 fd44 bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 7002db44: 463b mov r3, r7 7002db46: 4632 mov r2, r6 7002db48: 4629 mov r1, r5 7002db4a: 9400 str r4, [sp, #0] 7002db4c: e9cd 8001 strd r8, r0, [sp, #4] 7002db50: a804 add r0, sp, #16 7002db52: 47c8 blx r9 7002db54: 4620 mov r0, r4 7002db56: b009 add sp, #36 @ 0x24 7002db58: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7002db5c <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th>: 7002db5c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002db60: b08b sub sp, #44 @ 0x2c 7002db62: f89d 5054 ldrb.w r5, [sp, #84] @ 0x54 7002db66: f8bd 9050 ldrh.w r9, [sp, #80] @ 0x50 7002db6a: 2d00 cmp r5, #0 7002db6c: f000 809f beq.w 7002dcae <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x152> 7002db70: 461c mov r4, r3 7002db72: f9b3 3004 ldrsh.w r3, [r3, #4] 7002db76: 2b00 cmp r3, #0 7002db78: f340 8099 ble.w 7002dcae <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x152> 7002db7c: f9b4 3006 ldrsh.w r3, [r4, #6] 7002db80: 2b00 cmp r3, #0 7002db82: f340 8094 ble.w 7002dcae <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x152> 7002db86: 4680 mov r8, r0 7002db88: 4608 mov r0, r1 7002db8a: 460f mov r7, r1 7002db8c: 4616 mov r6, r2 7002db8e: f7e6 fe61 bl 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv> 7002db92: 280b cmp r0, #11 7002db94: f000 808e beq.w 7002dcb4 <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x158> 7002db98: 380e subs r0, #14 7002db9a: b2c0 uxtb r0, r0 7002db9c: 2802 cmp r0, #2 7002db9e: f240 8089 bls.w 7002dcb4 <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x158> 7002dba2: 4638 mov r0, r7 7002dba4: f7e6 fe56 bl 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv> 7002dba8: 2802 cmp r0, #2 7002dbaa: f000 80a6 beq.w 7002dcfa <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x19e> 7002dbae: 280d cmp r0, #13 7002dbb0: f000 809d beq.w 7002dcee <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x192> 7002dbb4: 2800 cmp r0, #0 7002dbb6: d17a bne.n 7002dcae <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x152> 7002dbb8: f04f 0a04 mov.w sl, #4 7002dbbc: 4638 mov r0, r7 7002dbbe: f7e6 fcd1 bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 7002dbc2: 4683 mov fp, r0 7002dbc4: 4638 mov r0, r7 7002dbc6: f7e6 fd01 bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 7002dbca: f8ad b00c strh.w fp, [sp, #12] 7002dbce: a902 add r1, sp, #8 7002dbd0: f04f 0b00 mov.w fp, #0 7002dbd4: aa04 add r2, sp, #16 7002dbd6: f8ad 000e strh.w r0, [sp, #14] 7002dbda: f8cd b008 str.w fp, [sp, #8] 7002dbde: ab06 add r3, sp, #24 7002dbe0: c903 ldmia r1, {r0, r1} 7002dbe2: e882 0003 stmia.w r2, {r0, r1} 7002dbe6: 6830 ldr r0, [r6, #0] 7002dbe8: 6871 ldr r1, [r6, #4] 7002dbea: c303 stmia r3!, {r0, r1} 7002dbec: 6861 ldr r1, [r4, #4] 7002dbee: 6820 ldr r0, [r4, #0] 7002dbf0: 4c45 ldr r4, [pc, #276] @ (7002dd08 <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x1ac>) 7002dbf2: c303 stmia r3!, {r0, r1} 7002dbf4: 4610 mov r0, r2 7002dbf6: f7e3 f8e7 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 7002dbfa: a806 add r0, sp, #24 7002dbfc: f7e3 f8e4 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 7002dc00: 4631 mov r1, r6 7002dc02: a808 add r0, sp, #32 7002dc04: f7e3 f924 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 7002dc08: f8bd 1018 ldrh.w r1, [sp, #24] 7002dc0c: f8bd 2020 ldrh.w r2, [sp, #32] 7002dc10: f8bd 3022 ldrh.w r3, [sp, #34] @ 0x22 7002dc14: 440a add r2, r1 7002dc16: 6820 ldr r0, [r4, #0] 7002dc18: f8ad 2020 strh.w r2, [sp, #32] 7002dc1c: f8bd 201a ldrh.w r2, [sp, #26] 7002dc20: 4413 add r3, r2 7002dc22: f8ad 3022 strh.w r3, [sp, #34] @ 0x22 7002dc26: f7fe facb bl 7002c1c0 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv> 7002dc2a: f8d8 3000 ldr.w r3, [r8] 7002dc2e: 4640 mov r0, r8 7002dc30: 6d9b ldr r3, [r3, #88] @ 0x58 7002dc32: 4798 blx r3 7002dc34: f9bd 3026 ldrsh.w r3, [sp, #38] @ 0x26 7002dc38: f9bd 2024 ldrsh.w r2, [sp, #36] @ 0x24 7002dc3c: f9bd 1022 ldrsh.w r1, [sp, #34] @ 0x22 7002dc40: f9bd 0020 ldrsh.w r0, [sp, #32] 7002dc44: f7ea f87e bl 70017d44 7002dc48: 462b mov r3, r5 7002dc4a: 465a mov r2, fp 7002dc4c: 4659 mov r1, fp 7002dc4e: 4658 mov r0, fp 7002dc50: f7ea f9e2 bl 70018018 7002dc54: f7fc fb2a bl 7002a2ac 7002dc58: 2dff cmp r5, #255 @ 0xff 7002dc5a: d037 beq.n 7002dccc <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x170> 7002dc5c: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7002dc60: 2201 movs r2, #1 7002dc62: 2100 movs r1, #0 7002dc64: 4829 ldr r0, [pc, #164] @ (7002dd0c <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x1b0>) 7002dc66: f7fb ffab bl 70029bc0 7002dc6a: 4638 mov r0, r7 7002dc6c: f7e6 fd6c bl 70014748 <_ZNK8touchgfx6Bitmap7getDataEv> 7002dc70: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff 7002dc74: f009 0101 and.w r1, r9, #1 7002dc78: 4653 mov r3, sl 7002dc7a: 9200 str r2, [sp, #0] 7002dc7c: 9101 str r1, [sp, #4] 7002dc7e: f9bd 2016 ldrsh.w r2, [sp, #22] 7002dc82: f9bd 1014 ldrsh.w r1, [sp, #20] 7002dc86: f7ea f9cf bl 70018028 7002dc8a: f9bd 0018 ldrsh.w r0, [sp, #24] 7002dc8e: f9bd 301e ldrsh.w r3, [sp, #30] 7002dc92: f9bd 201c ldrsh.w r2, [sp, #28] 7002dc96: f9bd 101a ldrsh.w r1, [sp, #26] 7002dc9a: f7ea fb57 bl 7001834c 7002dc9e: 20fc movs r0, #252 @ 0xfc 7002dca0: f7d5 fcc6 bl 70003630 7002dca4: b360 cbz r0, 7002dd00 <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x1a4> 7002dca6: 6823 ldr r3, [r4, #0] 7002dca8: 2201 movs r2, #1 7002dcaa: f883 20c5 strb.w r2, [r3, #197] @ 0xc5 7002dcae: b00b add sp, #44 @ 0x2c 7002dcb0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002dcb4: 4623 mov r3, r4 7002dcb6: 4632 mov r2, r6 7002dcb8: 4639 mov r1, r7 7002dcba: 4640 mov r0, r8 7002dcbc: 9515 str r5, [sp, #84] @ 0x54 7002dcbe: f8cd 9050 str.w r9, [sp, #80] @ 0x50 7002dcc2: b00b add sp, #44 @ 0x2c 7002dcc4: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002dcc8: f7e2 ba1c b.w 70010104 <_ZN8touchgfx3LCD16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th> 7002dccc: 4638 mov r0, r7 7002dcce: f7e6 fdc1 bl 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv> 7002dcd2: b120 cbz r0, 7002dcde <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x182> 7002dcd4: 4638 mov r0, r7 7002dcd6: f7e6 fdbd bl 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv> 7002dcda: 2801 cmp r0, #1 7002dcdc: d1be bne.n 7002dc5c <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x100> 7002dcde: 2201 movs r2, #1 7002dce0: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7002dce4: 2100 movs r1, #0 7002dce6: 4610 mov r0, r2 7002dce8: f7fb ff6a bl 70029bc0 7002dcec: e7bd b.n 7002dc6a <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x10e> 7002dcee: 4638 mov r0, r7 7002dcf0: f7e6 fd5a bl 700147a8 <_ZNK8touchgfx6Bitmap12getExtraDataEv> 7002dcf4: f890 a000 ldrb.w sl, [r0] 7002dcf8: e760 b.n 7002dbbc <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x60> 7002dcfa: f04f 0a10 mov.w sl, #16 7002dcfe: e75d b.n 7002dbbc <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x60> 7002dd00: 6820 ldr r0, [r4, #0] 7002dd02: f7fe fa81 bl 7002c208 <_ZN8touchgfx8HALGPU2D16submitExecBufferEv> 7002dd06: e7d2 b.n 7002dcae <_ZN8touchgfx12LCDGPU2D_AXI16drawScaledBitmapERKNS_6BitmapERKNS_4RectES6_th+0x152> 7002dd08: 2400e0dc .word 0x2400e0dc 7002dd0c: 08000504 .word 0x08000504 7002dd10 <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh>: 7002dd10: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002dd14: b085 sub sp, #20 7002dd16: f89d 703c ldrb.w r7, [sp, #60] @ 0x3c 7002dd1a: 2f00 cmp r7, #0 7002dd1c: d064 beq.n 7002dde8 <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0xd8> 7002dd1e: 4615 mov r5, r2 7002dd20: f9b3 2004 ldrsh.w r2, [r3, #4] 7002dd24: 2a00 cmp r2, #0 7002dd26: dd5f ble.n 7002dde8 <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0xd8> 7002dd28: f9b3 2006 ldrsh.w r2, [r3, #6] 7002dd2c: 2a00 cmp r2, #0 7002dd2e: dd5b ble.n 7002dde8 <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0xd8> 7002dd30: 4680 mov r8, r0 7002dd32: 460e mov r6, r1 7002dd34: 6818 ldr r0, [r3, #0] 7002dd36: 6859 ldr r1, [r3, #4] 7002dd38: ab02 add r3, sp, #8 7002dd3a: f8df 90e0 ldr.w r9, [pc, #224] @ 7002de1c <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0x10c> 7002dd3e: c303 stmia r3!, {r0, r1} 7002dd40: a802 add r0, sp, #8 7002dd42: f7e3 f841 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 7002dd46: 9b0e ldr r3, [sp, #56] @ 0x38 7002dd48: f8d9 0000 ldr.w r0, [r9] 7002dd4c: f3c3 4a07 ubfx sl, r3, #16, #8 7002dd50: f3c3 2b07 ubfx fp, r3, #8, #8 7002dd54: b2dc uxtb r4, r3 7002dd56: f7fe fa33 bl 7002c1c0 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv> 7002dd5a: f898 300c ldrb.w r3, [r8, #12] 7002dd5e: 2b00 cmp r3, #0 7002dd60: d045 beq.n 7002ddee <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0xde> 7002dd62: 2b02 cmp r3, #2 7002dd64: d109 bne.n 7002dd7a <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0x6a> 7002dd66: 4b2a ldr r3, [pc, #168] @ (7002de10 <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0x100>) 7002dd68: 00ad lsls r5, r5, #2 7002dd6a: 4630 mov r0, r6 7002dd6c: 9500 str r5, [sp, #0] 7002dd6e: 881a ldrh r2, [r3, #0] 7002dd70: 4b28 ldr r3, [pc, #160] @ (7002de14 <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0x104>) 7002dd72: 8819 ldrh r1, [r3, #0] 7002dd74: 2310 movs r3, #16 7002dd76: f7ea f991 bl 7001809c 7002dd7a: f9bd 300e ldrsh.w r3, [sp, #14] 7002dd7e: f9bd 200c ldrsh.w r2, [sp, #12] 7002dd82: f9bd 100a ldrsh.w r1, [sp, #10] 7002dd86: f9bd 0008 ldrsh.w r0, [sp, #8] 7002dd8a: f7e9 ffdb bl 70017d44 7002dd8e: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7002dd92: 2100 movs r1, #0 7002dd94: 4820 ldr r0, [pc, #128] @ (7002de18 <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0x108>) 7002dd96: 461a mov r2, r3 7002dd98: f7fb ff12 bl 70029bc0 7002dd9c: 2200 movs r2, #0 7002dd9e: 463b mov r3, r7 7002dda0: 4611 mov r1, r2 7002dda2: 4610 mov r0, r2 7002dda4: f7ea f938 bl 70018018 7002dda8: f7fc fa80 bl 7002a2ac 7002ddac: 4622 mov r2, r4 7002ddae: f9bd 500a ldrsh.w r5, [sp, #10] 7002ddb2: 4659 mov r1, fp 7002ddb4: f9bd 4008 ldrsh.w r4, [sp, #8] 7002ddb8: 23ff movs r3, #255 @ 0xff 7002ddba: f9bd 600c ldrsh.w r6, [sp, #12] 7002ddbe: 4650 mov r0, sl 7002ddc0: f9bd 700e ldrsh.w r7, [sp, #14] 7002ddc4: f7ea f928 bl 70018018 7002ddc8: 4632 mov r2, r6 7002ddca: 9000 str r0, [sp, #0] 7002ddcc: 463b mov r3, r7 7002ddce: 4620 mov r0, r4 7002ddd0: 4629 mov r1, r5 7002ddd2: f7ea fa8d bl 700182f0 7002ddd6: 20fc movs r0, #252 @ 0xfc 7002ddd8: f7d5 fc2a bl 70003630 7002dddc: b190 cbz r0, 7002de04 <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0xf4> 7002ddde: f8d9 3000 ldr.w r3, [r9] 7002dde2: 2201 movs r2, #1 7002dde4: f883 20c5 strb.w r2, [r3, #197] @ 0xc5 7002dde8: b005 add sp, #20 7002ddea: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002ddee: 006d lsls r5, r5, #1 7002ddf0: 4b07 ldr r3, [pc, #28] @ (7002de10 <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0x100>) 7002ddf2: 4630 mov r0, r6 7002ddf4: 9500 str r5, [sp, #0] 7002ddf6: 881a ldrh r2, [r3, #0] 7002ddf8: 4b06 ldr r3, [pc, #24] @ (7002de14 <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0x104>) 7002ddfa: 8819 ldrh r1, [r3, #0] 7002ddfc: 2304 movs r3, #4 7002ddfe: f7ea f94d bl 7001809c 7002de02: e7ba b.n 7002dd7a <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0x6a> 7002de04: f8d9 0000 ldr.w r0, [r9] 7002de08: f7fe f9fe bl 7002c208 <_ZN8touchgfx8HALGPU2D16submitExecBufferEv> 7002de0c: e7ec b.n 7002dde8 <_ZN8touchgfx12LCDGPU2D_AXI10fillBufferEPhtRKNS_4RectENS_9colortypeEh+0xd8> 7002de0e: bf00 nop 7002de10: 2400da76 .word 0x2400da76 7002de14: 2400da78 .word 0x2400da78 7002de18: 08000504 .word 0x08000504 7002de1c: 2400e0dc .word 0x2400e0dc 7002de20 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth>: 7002de20: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 7002de24: f8df 85d0 ldr.w r8, [pc, #1488] @ 7002e3f8 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5d8> 7002de28: 461e mov r6, r3 7002de2a: 4614 mov r4, r2 7002de2c: 4605 mov r5, r0 7002de2e: f8d8 3000 ldr.w r3, [r8] 7002de32: 460f mov r7, r1 7002de34: f3bf 8f5b dmb ish 7002de38: 07da lsls r2, r3, #31 7002de3a: f140 820e bpl.w 7002e25a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x43a> 7002de3e: f8df 85bc ldr.w r8, [pc, #1468] @ 7002e3fc <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5dc> 7002de42: f8d8 3000 ldr.w r3, [r8] 7002de46: f3bf 8f5b dmb ish 7002de4a: 07db lsls r3, r3, #31 7002de4c: f140 81f6 bpl.w 7002e23c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x41c> 7002de50: f8df 85ac ldr.w r8, [pc, #1452] @ 7002e400 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5e0> 7002de54: f8d8 3000 ldr.w r3, [r8] 7002de58: f3bf 8f5b dmb ish 7002de5c: 07d8 lsls r0, r3, #31 7002de5e: f140 81de bpl.w 7002e21e <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x3fe> 7002de62: f8df 85a0 ldr.w r8, [pc, #1440] @ 7002e404 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5e4> 7002de66: f8d8 3000 ldr.w r3, [r8] 7002de6a: f3bf 8f5b dmb ish 7002de6e: 07d9 lsls r1, r3, #31 7002de70: f140 81c6 bpl.w 7002e200 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x3e0> 7002de74: f8df 8590 ldr.w r8, [pc, #1424] @ 7002e408 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5e8> 7002de78: f8d8 3000 ldr.w r3, [r8] 7002de7c: f3bf 8f5b dmb ish 7002de80: 07da lsls r2, r3, #31 7002de82: f140 81ae bpl.w 7002e1e2 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x3c2> 7002de86: f8df 8584 ldr.w r8, [pc, #1412] @ 7002e40c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5ec> 7002de8a: f8d8 3000 ldr.w r3, [r8] 7002de8e: f3bf 8f5b dmb ish 7002de92: 07db lsls r3, r3, #31 7002de94: f140 8196 bpl.w 7002e1c4 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x3a4> 7002de98: f8df 8574 ldr.w r8, [pc, #1396] @ 7002e410 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5f0> 7002de9c: f8d8 3000 ldr.w r3, [r8] 7002dea0: f3bf 8f5b dmb ish 7002dea4: 07d8 lsls r0, r3, #31 7002dea6: f140 817e bpl.w 7002e1a6 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x386> 7002deaa: f8df 8568 ldr.w r8, [pc, #1384] @ 7002e414 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5f4> 7002deae: f8d8 3000 ldr.w r3, [r8] 7002deb2: f3bf 8f5b dmb ish 7002deb6: 07d9 lsls r1, r3, #31 7002deb8: f140 8166 bpl.w 7002e188 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x368> 7002debc: f8df 8558 ldr.w r8, [pc, #1368] @ 7002e418 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5f8> 7002dec0: f8d8 3000 ldr.w r3, [r8] 7002dec4: f3bf 8f5b dmb ish 7002dec8: 07da lsls r2, r3, #31 7002deca: f140 814e bpl.w 7002e16a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x34a> 7002dece: f8df 854c ldr.w r8, [pc, #1356] @ 7002e41c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5fc> 7002ded2: f8d8 3000 ldr.w r3, [r8] 7002ded6: f3bf 8f5b dmb ish 7002deda: 07db lsls r3, r3, #31 7002dedc: f140 8136 bpl.w 7002e14c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x32c> 7002dee0: f8df 853c ldr.w r8, [pc, #1340] @ 7002e420 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x600> 7002dee4: f8d8 3000 ldr.w r3, [r8] 7002dee8: f3bf 8f5b dmb ish 7002deec: 07d8 lsls r0, r3, #31 7002deee: f140 811e bpl.w 7002e12e <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x30e> 7002def2: f8df 8530 ldr.w r8, [pc, #1328] @ 7002e424 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x604> 7002def6: f8d8 3000 ldr.w r3, [r8] 7002defa: f3bf 8f5b dmb ish 7002defe: 07d9 lsls r1, r3, #31 7002df00: f140 8106 bpl.w 7002e110 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x2f0> 7002df04: f8df 8520 ldr.w r8, [pc, #1312] @ 7002e428 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x608> 7002df08: f8d8 3000 ldr.w r3, [r8] 7002df0c: f3bf 8f5b dmb ish 7002df10: 07da lsls r2, r3, #31 7002df12: f140 80ee bpl.w 7002e0f2 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x2d2> 7002df16: f8df 8514 ldr.w r8, [pc, #1300] @ 7002e42c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x60c> 7002df1a: f8d8 3000 ldr.w r3, [r8] 7002df1e: f3bf 8f5b dmb ish 7002df22: 07db lsls r3, r3, #31 7002df24: f140 80d6 bpl.w 7002e0d4 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x2b4> 7002df28: f8df 8504 ldr.w r8, [pc, #1284] @ 7002e430 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x610> 7002df2c: f8d8 3000 ldr.w r3, [r8] 7002df30: f3bf 8f5b dmb ish 7002df34: 07d8 lsls r0, r3, #31 7002df36: f140 80be bpl.w 7002e0b6 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x296> 7002df3a: f8df 84f8 ldr.w r8, [pc, #1272] @ 7002e434 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x614> 7002df3e: f8d8 3000 ldr.w r3, [r8] 7002df42: f3bf 8f5b dmb ish 7002df46: 07d9 lsls r1, r3, #31 7002df48: f140 80a6 bpl.w 7002e098 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x278> 7002df4c: f8df 84e8 ldr.w r8, [pc, #1256] @ 7002e438 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x618> 7002df50: f8d8 3000 ldr.w r3, [r8] 7002df54: f3bf 8f5b dmb ish 7002df58: 07da lsls r2, r3, #31 7002df5a: f140 808e bpl.w 7002e07a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x25a> 7002df5e: f8df 84dc ldr.w r8, [pc, #1244] @ 7002e43c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x61c> 7002df62: f8d8 3000 ldr.w r3, [r8] 7002df66: f3bf 8f5b dmb ish 7002df6a: 07db lsls r3, r3, #31 7002df6c: d577 bpl.n 7002e05e <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x23e> 7002df6e: 7b2b ldrb r3, [r5, #12] 7002df70: 2b00 cmp r3, #0 7002df72: d067 beq.n 7002e044 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x224> 7002df74: 2b02 cmp r3, #2 7002df76: d002 beq.n 7002df7e <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15e> 7002df78: 2000 movs r0, #0 7002df7a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 7002df7e: 2eff cmp r6, #255 @ 0xff 7002df80: f1a4 0404 sub.w r4, r4, #4 7002df84: f000 8178 beq.w 7002e278 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x458> 7002df88: 2c2b cmp r4, #43 @ 0x2b 7002df8a: d8f5 bhi.n 7002df78 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x158> 7002df8c: a301 add r3, pc, #4 @ (adr r3, 7002df94 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x174>) 7002df8e: f853 f024 ldr.w pc, [r3, r4, lsl #2] 7002df92: bf00 nop 7002df94: 7002e4dd .word 0x7002e4dd 7002df98: 7002e4e1 .word 0x7002e4e1 7002df9c: 7002df79 .word 0x7002df79 7002dfa0: 7002df79 .word 0x7002df79 7002dfa4: 7002df79 .word 0x7002df79 7002dfa8: 7002df79 .word 0x7002df79 7002dfac: 7002df79 .word 0x7002df79 7002dfb0: 7002df79 .word 0x7002df79 7002dfb4: 7002df79 .word 0x7002df79 7002dfb8: 7002df79 .word 0x7002df79 7002dfbc: 7002df79 .word 0x7002df79 7002dfc0: 7002df79 .word 0x7002df79 7002dfc4: 7002df79 .word 0x7002df79 7002dfc8: 7002df79 .word 0x7002df79 7002dfcc: 7002df79 .word 0x7002df79 7002dfd0: 7002df79 .word 0x7002df79 7002dfd4: 7002df79 .word 0x7002df79 7002dfd8: 7002df79 .word 0x7002df79 7002dfdc: 7002df79 .word 0x7002df79 7002dfe0: 7002df79 .word 0x7002df79 7002dfe4: 7002df79 .word 0x7002df79 7002dfe8: 7002df79 .word 0x7002df79 7002dfec: 7002df79 .word 0x7002df79 7002dff0: 7002df79 .word 0x7002df79 7002dff4: 7002df79 .word 0x7002df79 7002dff8: 7002df79 .word 0x7002df79 7002dffc: 7002df79 .word 0x7002df79 7002e000: 7002df79 .word 0x7002df79 7002e004: 7002df79 .word 0x7002df79 7002e008: 7002df79 .word 0x7002df79 7002e00c: 7002df79 .word 0x7002df79 7002e010: 7002df79 .word 0x7002df79 7002e014: 7002df79 .word 0x7002df79 7002e018: 7002df79 .word 0x7002df79 7002e01c: 7002df79 .word 0x7002df79 7002e020: 7002df79 .word 0x7002df79 7002e024: 7002df79 .word 0x7002df79 7002e028: 7002df79 .word 0x7002df79 7002e02c: 7002df79 .word 0x7002df79 7002e030: 7002df79 .word 0x7002df79 7002e034: 7002e4cd .word 0x7002e4cd 7002e038: 7002e4bd .word 0x7002e4bd 7002e03c: 7002e4a1 .word 0x7002e4a1 7002e040: 7002e4af .word 0x7002e4af 7002e044: 2eff cmp r6, #255 @ 0xff 7002e046: f1a4 042c sub.w r4, r4, #44 @ 0x2c 7002e04a: f000 8173 beq.w 7002e334 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x514> 7002e04e: 2c03 cmp r4, #3 7002e050: d892 bhi.n 7002df78 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x158> 7002e052: e8df f014 tbh [pc, r4, lsl #1] 7002e056: 017d .short 0x017d 7002e058: 01fe01f5 .word 0x01fe01f5 7002e05c: 0176 .short 0x0176 7002e05e: 4640 mov r0, r8 7002e060: f00b fbab bl 700397ba <__cxa_guard_acquire> 7002e064: 2800 cmp r0, #0 7002e066: d082 beq.n 7002df6e <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x14e> 7002e068: 4abe ldr r2, [pc, #760] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e06a: 49bf ldr r1, [pc, #764] @ (7002e368 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x548>) 7002e06c: 48bf ldr r0, [pc, #764] @ (7002e36c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x54c>) 7002e06e: f00b fb9d bl 700397ac <__aeabi_atexit> 7002e072: 4640 mov r0, r8 7002e074: f00b fbad bl 700397d2 <__cxa_guard_release> 7002e078: e779 b.n 7002df6e <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x14e> 7002e07a: 4640 mov r0, r8 7002e07c: f00b fb9d bl 700397ba <__cxa_guard_acquire> 7002e080: 2800 cmp r0, #0 7002e082: f43f af6c beq.w 7002df5e <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x13e> 7002e086: 4ab7 ldr r2, [pc, #732] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e088: 49b9 ldr r1, [pc, #740] @ (7002e370 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x550>) 7002e08a: 48ba ldr r0, [pc, #744] @ (7002e374 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x554>) 7002e08c: f00b fb8e bl 700397ac <__aeabi_atexit> 7002e090: 4640 mov r0, r8 7002e092: f00b fb9e bl 700397d2 <__cxa_guard_release> 7002e096: e762 b.n 7002df5e <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x13e> 7002e098: 4640 mov r0, r8 7002e09a: f00b fb8e bl 700397ba <__cxa_guard_acquire> 7002e09e: 2800 cmp r0, #0 7002e0a0: f43f af54 beq.w 7002df4c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x12c> 7002e0a4: 4aaf ldr r2, [pc, #700] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e0a6: 49b4 ldr r1, [pc, #720] @ (7002e378 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x558>) 7002e0a8: 48b4 ldr r0, [pc, #720] @ (7002e37c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x55c>) 7002e0aa: f00b fb7f bl 700397ac <__aeabi_atexit> 7002e0ae: 4640 mov r0, r8 7002e0b0: f00b fb8f bl 700397d2 <__cxa_guard_release> 7002e0b4: e74a b.n 7002df4c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x12c> 7002e0b6: 4640 mov r0, r8 7002e0b8: f00b fb7f bl 700397ba <__cxa_guard_acquire> 7002e0bc: 2800 cmp r0, #0 7002e0be: f43f af3c beq.w 7002df3a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x11a> 7002e0c2: 4aa8 ldr r2, [pc, #672] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e0c4: 49ae ldr r1, [pc, #696] @ (7002e380 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x560>) 7002e0c6: 48af ldr r0, [pc, #700] @ (7002e384 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x564>) 7002e0c8: f00b fb70 bl 700397ac <__aeabi_atexit> 7002e0cc: 4640 mov r0, r8 7002e0ce: f00b fb80 bl 700397d2 <__cxa_guard_release> 7002e0d2: e732 b.n 7002df3a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x11a> 7002e0d4: 4640 mov r0, r8 7002e0d6: f00b fb70 bl 700397ba <__cxa_guard_acquire> 7002e0da: 2800 cmp r0, #0 7002e0dc: f43f af24 beq.w 7002df28 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x108> 7002e0e0: 4aa0 ldr r2, [pc, #640] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e0e2: 49a9 ldr r1, [pc, #676] @ (7002e388 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x568>) 7002e0e4: 48a9 ldr r0, [pc, #676] @ (7002e38c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x56c>) 7002e0e6: f00b fb61 bl 700397ac <__aeabi_atexit> 7002e0ea: 4640 mov r0, r8 7002e0ec: f00b fb71 bl 700397d2 <__cxa_guard_release> 7002e0f0: e71a b.n 7002df28 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x108> 7002e0f2: 4640 mov r0, r8 7002e0f4: f00b fb61 bl 700397ba <__cxa_guard_acquire> 7002e0f8: 2800 cmp r0, #0 7002e0fa: f43f af0c beq.w 7002df16 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0xf6> 7002e0fe: 4a99 ldr r2, [pc, #612] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e100: 49a3 ldr r1, [pc, #652] @ (7002e390 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x570>) 7002e102: 48a4 ldr r0, [pc, #656] @ (7002e394 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x574>) 7002e104: f00b fb52 bl 700397ac <__aeabi_atexit> 7002e108: 4640 mov r0, r8 7002e10a: f00b fb62 bl 700397d2 <__cxa_guard_release> 7002e10e: e702 b.n 7002df16 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0xf6> 7002e110: 4640 mov r0, r8 7002e112: f00b fb52 bl 700397ba <__cxa_guard_acquire> 7002e116: 2800 cmp r0, #0 7002e118: f43f aef4 beq.w 7002df04 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0xe4> 7002e11c: 4a91 ldr r2, [pc, #580] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e11e: 499e ldr r1, [pc, #632] @ (7002e398 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x578>) 7002e120: 489e ldr r0, [pc, #632] @ (7002e39c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x57c>) 7002e122: f00b fb43 bl 700397ac <__aeabi_atexit> 7002e126: 4640 mov r0, r8 7002e128: f00b fb53 bl 700397d2 <__cxa_guard_release> 7002e12c: e6ea b.n 7002df04 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0xe4> 7002e12e: 4640 mov r0, r8 7002e130: f00b fb43 bl 700397ba <__cxa_guard_acquire> 7002e134: 2800 cmp r0, #0 7002e136: f43f aedc beq.w 7002def2 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0xd2> 7002e13a: 4a8a ldr r2, [pc, #552] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e13c: 4998 ldr r1, [pc, #608] @ (7002e3a0 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x580>) 7002e13e: 4899 ldr r0, [pc, #612] @ (7002e3a4 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x584>) 7002e140: f00b fb34 bl 700397ac <__aeabi_atexit> 7002e144: 4640 mov r0, r8 7002e146: f00b fb44 bl 700397d2 <__cxa_guard_release> 7002e14a: e6d2 b.n 7002def2 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0xd2> 7002e14c: 4640 mov r0, r8 7002e14e: f00b fb34 bl 700397ba <__cxa_guard_acquire> 7002e152: 2800 cmp r0, #0 7002e154: f43f aec4 beq.w 7002dee0 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0xc0> 7002e158: 4a82 ldr r2, [pc, #520] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e15a: 4993 ldr r1, [pc, #588] @ (7002e3a8 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x588>) 7002e15c: 4893 ldr r0, [pc, #588] @ (7002e3ac <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x58c>) 7002e15e: f00b fb25 bl 700397ac <__aeabi_atexit> 7002e162: 4640 mov r0, r8 7002e164: f00b fb35 bl 700397d2 <__cxa_guard_release> 7002e168: e6ba b.n 7002dee0 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0xc0> 7002e16a: 4640 mov r0, r8 7002e16c: f00b fb25 bl 700397ba <__cxa_guard_acquire> 7002e170: 2800 cmp r0, #0 7002e172: f43f aeac beq.w 7002dece <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0xae> 7002e176: 4a7b ldr r2, [pc, #492] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e178: 498d ldr r1, [pc, #564] @ (7002e3b0 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x590>) 7002e17a: 488e ldr r0, [pc, #568] @ (7002e3b4 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x594>) 7002e17c: f00b fb16 bl 700397ac <__aeabi_atexit> 7002e180: 4640 mov r0, r8 7002e182: f00b fb26 bl 700397d2 <__cxa_guard_release> 7002e186: e6a2 b.n 7002dece <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0xae> 7002e188: 4640 mov r0, r8 7002e18a: f00b fb16 bl 700397ba <__cxa_guard_acquire> 7002e18e: 2800 cmp r0, #0 7002e190: f43f ae94 beq.w 7002debc <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x9c> 7002e194: 4a73 ldr r2, [pc, #460] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e196: 4988 ldr r1, [pc, #544] @ (7002e3b8 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x598>) 7002e198: 4888 ldr r0, [pc, #544] @ (7002e3bc <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x59c>) 7002e19a: f00b fb07 bl 700397ac <__aeabi_atexit> 7002e19e: 4640 mov r0, r8 7002e1a0: f00b fb17 bl 700397d2 <__cxa_guard_release> 7002e1a4: e68a b.n 7002debc <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x9c> 7002e1a6: 4640 mov r0, r8 7002e1a8: f00b fb07 bl 700397ba <__cxa_guard_acquire> 7002e1ac: 2800 cmp r0, #0 7002e1ae: f43f ae7c beq.w 7002deaa <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x8a> 7002e1b2: 4a6c ldr r2, [pc, #432] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e1b4: 4982 ldr r1, [pc, #520] @ (7002e3c0 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5a0>) 7002e1b6: 4883 ldr r0, [pc, #524] @ (7002e3c4 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5a4>) 7002e1b8: f00b faf8 bl 700397ac <__aeabi_atexit> 7002e1bc: 4640 mov r0, r8 7002e1be: f00b fb08 bl 700397d2 <__cxa_guard_release> 7002e1c2: e672 b.n 7002deaa <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x8a> 7002e1c4: 4640 mov r0, r8 7002e1c6: f00b faf8 bl 700397ba <__cxa_guard_acquire> 7002e1ca: 2800 cmp r0, #0 7002e1cc: f43f ae64 beq.w 7002de98 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x78> 7002e1d0: 4a64 ldr r2, [pc, #400] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e1d2: 497d ldr r1, [pc, #500] @ (7002e3c8 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5a8>) 7002e1d4: 487d ldr r0, [pc, #500] @ (7002e3cc <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5ac>) 7002e1d6: f00b fae9 bl 700397ac <__aeabi_atexit> 7002e1da: 4640 mov r0, r8 7002e1dc: f00b faf9 bl 700397d2 <__cxa_guard_release> 7002e1e0: e65a b.n 7002de98 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x78> 7002e1e2: 4640 mov r0, r8 7002e1e4: f00b fae9 bl 700397ba <__cxa_guard_acquire> 7002e1e8: 2800 cmp r0, #0 7002e1ea: f43f ae4c beq.w 7002de86 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x66> 7002e1ee: 4a5d ldr r2, [pc, #372] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e1f0: 4977 ldr r1, [pc, #476] @ (7002e3d0 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5b0>) 7002e1f2: 4878 ldr r0, [pc, #480] @ (7002e3d4 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5b4>) 7002e1f4: f00b fada bl 700397ac <__aeabi_atexit> 7002e1f8: 4640 mov r0, r8 7002e1fa: f00b faea bl 700397d2 <__cxa_guard_release> 7002e1fe: e642 b.n 7002de86 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x66> 7002e200: 4640 mov r0, r8 7002e202: f00b fada bl 700397ba <__cxa_guard_acquire> 7002e206: 2800 cmp r0, #0 7002e208: f43f ae34 beq.w 7002de74 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x54> 7002e20c: 4a55 ldr r2, [pc, #340] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e20e: 4972 ldr r1, [pc, #456] @ (7002e3d8 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5b8>) 7002e210: 4872 ldr r0, [pc, #456] @ (7002e3dc <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5bc>) 7002e212: f00b facb bl 700397ac <__aeabi_atexit> 7002e216: 4640 mov r0, r8 7002e218: f00b fadb bl 700397d2 <__cxa_guard_release> 7002e21c: e62a b.n 7002de74 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x54> 7002e21e: 4640 mov r0, r8 7002e220: f00b facb bl 700397ba <__cxa_guard_acquire> 7002e224: 2800 cmp r0, #0 7002e226: f43f ae1c beq.w 7002de62 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x42> 7002e22a: 4a4e ldr r2, [pc, #312] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e22c: 496c ldr r1, [pc, #432] @ (7002e3e0 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5c0>) 7002e22e: 486d ldr r0, [pc, #436] @ (7002e3e4 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5c4>) 7002e230: f00b fabc bl 700397ac <__aeabi_atexit> 7002e234: 4640 mov r0, r8 7002e236: f00b facc bl 700397d2 <__cxa_guard_release> 7002e23a: e612 b.n 7002de62 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x42> 7002e23c: 4640 mov r0, r8 7002e23e: f00b fabc bl 700397ba <__cxa_guard_acquire> 7002e242: 2800 cmp r0, #0 7002e244: f43f ae04 beq.w 7002de50 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x30> 7002e248: 4a46 ldr r2, [pc, #280] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e24a: 4967 ldr r1, [pc, #412] @ (7002e3e8 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5c8>) 7002e24c: 4867 ldr r0, [pc, #412] @ (7002e3ec <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5cc>) 7002e24e: f00b faad bl 700397ac <__aeabi_atexit> 7002e252: 4640 mov r0, r8 7002e254: f00b fabd bl 700397d2 <__cxa_guard_release> 7002e258: e5fa b.n 7002de50 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x30> 7002e25a: 4640 mov r0, r8 7002e25c: f00b faad bl 700397ba <__cxa_guard_acquire> 7002e260: 2800 cmp r0, #0 7002e262: f43f adec beq.w 7002de3e <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x1e> 7002e266: 4a3f ldr r2, [pc, #252] @ (7002e364 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x544>) 7002e268: 4961 ldr r1, [pc, #388] @ (7002e3f0 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5d0>) 7002e26a: 4862 ldr r0, [pc, #392] @ (7002e3f4 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5d4>) 7002e26c: f00b fa9e bl 700397ac <__aeabi_atexit> 7002e270: 4640 mov r0, r8 7002e272: f00b faae bl 700397d2 <__cxa_guard_release> 7002e276: e5e2 b.n 7002de3e <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x1e> 7002e278: 2c2b cmp r4, #43 @ 0x2b 7002e27a: f63f ae7d bhi.w 7002df78 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x158> 7002e27e: a301 add r3, pc, #4 @ (adr r3, 7002e284 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x464>) 7002e280: f853 f024 ldr.w pc, [r3, r4, lsl #2] 7002e284: 7002e505 .word 0x7002e505 7002e288: 7002e509 .word 0x7002e509 7002e28c: 7002df79 .word 0x7002df79 7002e290: 7002df79 .word 0x7002df79 7002e294: 7002df79 .word 0x7002df79 7002e298: 7002df79 .word 0x7002df79 7002e29c: 7002df79 .word 0x7002df79 7002e2a0: 7002df79 .word 0x7002df79 7002e2a4: 7002df79 .word 0x7002df79 7002e2a8: 7002df79 .word 0x7002df79 7002e2ac: 7002df79 .word 0x7002df79 7002e2b0: 7002df79 .word 0x7002df79 7002e2b4: 7002df79 .word 0x7002df79 7002e2b8: 7002df79 .word 0x7002df79 7002e2bc: 7002df79 .word 0x7002df79 7002e2c0: 7002df79 .word 0x7002df79 7002e2c4: 7002df79 .word 0x7002df79 7002e2c8: 7002df79 .word 0x7002df79 7002e2cc: 7002df79 .word 0x7002df79 7002e2d0: 7002df79 .word 0x7002df79 7002e2d4: 7002df79 .word 0x7002df79 7002e2d8: 7002df79 .word 0x7002df79 7002e2dc: 7002df79 .word 0x7002df79 7002e2e0: 7002df79 .word 0x7002df79 7002e2e4: 7002df79 .word 0x7002df79 7002e2e8: 7002df79 .word 0x7002df79 7002e2ec: 7002df79 .word 0x7002df79 7002e2f0: 7002df79 .word 0x7002df79 7002e2f4: 7002df79 .word 0x7002df79 7002e2f8: 7002df79 .word 0x7002df79 7002e2fc: 7002df79 .word 0x7002df79 7002e300: 7002df79 .word 0x7002df79 7002e304: 7002df79 .word 0x7002df79 7002e308: 7002df79 .word 0x7002df79 7002e30c: 7002df79 .word 0x7002df79 7002e310: 7002df79 .word 0x7002df79 7002e314: 7002df79 .word 0x7002df79 7002e318: 7002df79 .word 0x7002df79 7002e31c: 7002df79 .word 0x7002df79 7002e320: 7002df79 .word 0x7002df79 7002e324: 7002e4e5 .word 0x7002e4e5 7002e328: 7002e4f5 .word 0x7002e4f5 7002e32c: 7002e4a1 .word 0x7002e4a1 7002e330: 7002e4af .word 0x7002e4af 7002e334: 2c03 cmp r4, #3 7002e336: f63f ae1f bhi.w 7002df78 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x158> 7002e33a: e8df f004 tbb [pc, r4] 7002e33e: 98a1 .short 0x98a1 7002e340: aa91 .short 0xaa91 7002e342: 687b ldr r3, [r7, #4] 7002e344: 4823 ldr r0, [pc, #140] @ (7002e3d4 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5b4>) 7002e346: 781b ldrb r3, [r3, #0] 7002e348: 2b00 cmp r3, #0 7002e34a: bf18 it ne 7002e34c: 2000 movne r0, #0 7002e34e: e614 b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e350: 687b ldr r3, [r7, #4] 7002e352: 781b ldrb r3, [r3, #0] 7002e354: 2b00 cmp r3, #0 7002e356: f000 80dd beq.w 7002e514 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x6f4> 7002e35a: 2b01 cmp r3, #1 7002e35c: 4821 ldr r0, [pc, #132] @ (7002e3e4 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x5c4>) 7002e35e: bf18 it ne 7002e360: 2000 movne r0, #0 7002e362: e60a b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e364: 24000000 .word 0x24000000 7002e368: 7002c329 .word 0x7002c329 7002e36c: 24000110 .word 0x24000110 7002e370: 7002c325 .word 0x7002c325 7002e374: 24000114 .word 0x24000114 7002e378: 7002c321 .word 0x7002c321 7002e37c: 24000118 .word 0x24000118 7002e380: 7002c31d .word 0x7002c31d 7002e384: 2400011c .word 0x2400011c 7002e388: 7002c319 .word 0x7002c319 7002e38c: 24000120 .word 0x24000120 7002e390: 7002c315 .word 0x7002c315 7002e394: 24000124 .word 0x24000124 7002e398: 7002c311 .word 0x7002c311 7002e39c: 24000128 .word 0x24000128 7002e3a0: 7002c30d .word 0x7002c30d 7002e3a4: 2400012c .word 0x2400012c 7002e3a8: 7002c309 .word 0x7002c309 7002e3ac: 24000130 .word 0x24000130 7002e3b0: 7002c305 .word 0x7002c305 7002e3b4: 24000134 .word 0x24000134 7002e3b8: 7002c301 .word 0x7002c301 7002e3bc: 24000138 .word 0x24000138 7002e3c0: 7002c2fd .word 0x7002c2fd 7002e3c4: 2400013c .word 0x2400013c 7002e3c8: 7002c2f9 .word 0x7002c2f9 7002e3cc: 24000140 .word 0x24000140 7002e3d0: 7002c2f5 .word 0x7002c2f5 7002e3d4: 24000144 .word 0x24000144 7002e3d8: 7002c2f1 .word 0x7002c2f1 7002e3dc: 24000148 .word 0x24000148 7002e3e0: 7002c2ed .word 0x7002c2ed 7002e3e4: 2400014c .word 0x2400014c 7002e3e8: 7002c2e9 .word 0x7002c2e9 7002e3ec: 24000150 .word 0x24000150 7002e3f0: 7002c2e5 .word 0x7002c2e5 7002e3f4: 24000154 .word 0x24000154 7002e3f8: 2400e124 .word 0x2400e124 7002e3fc: 2400e120 .word 0x2400e120 7002e400: 2400e11c .word 0x2400e11c 7002e404: 2400e118 .word 0x2400e118 7002e408: 2400e114 .word 0x2400e114 7002e40c: 2400e110 .word 0x2400e110 7002e410: 2400e10c .word 0x2400e10c 7002e414: 2400e108 .word 0x2400e108 7002e418: 2400e104 .word 0x2400e104 7002e41c: 2400e100 .word 0x2400e100 7002e420: 2400e0fc .word 0x2400e0fc 7002e424: 2400e0f8 .word 0x2400e0f8 7002e428: 2400e0f4 .word 0x2400e0f4 7002e42c: 2400e0f0 .word 0x2400e0f0 7002e430: 2400e0ec .word 0x2400e0ec 7002e434: 2400e0e8 .word 0x2400e0e8 7002e438: 2400e0e4 .word 0x2400e0e4 7002e43c: 2400e0e0 .word 0x2400e0e0 7002e440: 687b ldr r3, [r7, #4] 7002e442: 781b ldrb r3, [r3, #0] 7002e444: 2b00 cmp r3, #0 7002e446: d067 beq.n 7002e518 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x6f8> 7002e448: 2b01 cmp r3, #1 7002e44a: 4836 ldr r0, [pc, #216] @ (7002e524 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x704>) 7002e44c: bf18 it ne 7002e44e: 2000 movne r0, #0 7002e450: e593 b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e452: 687b ldr r3, [r7, #4] 7002e454: 4834 ldr r0, [pc, #208] @ (7002e528 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x708>) 7002e456: 781b ldrb r3, [r3, #0] 7002e458: 2b00 cmp r3, #0 7002e45a: bf18 it ne 7002e45c: 2000 movne r0, #0 7002e45e: e58c b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e460: 687b ldr r3, [r7, #4] 7002e462: 4832 ldr r0, [pc, #200] @ (7002e52c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x70c>) 7002e464: 781b ldrb r3, [r3, #0] 7002e466: 2b00 cmp r3, #0 7002e468: bf18 it ne 7002e46a: 2000 movne r0, #0 7002e46c: e585 b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e46e: 687b ldr r3, [r7, #4] 7002e470: 781b ldrb r3, [r3, #0] 7002e472: 2b00 cmp r3, #0 7002e474: d054 beq.n 7002e520 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x700> 7002e476: 2b01 cmp r3, #1 7002e478: 482d ldr r0, [pc, #180] @ (7002e530 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x710>) 7002e47a: bf18 it ne 7002e47c: 2000 movne r0, #0 7002e47e: e57c b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e480: 687b ldr r3, [r7, #4] 7002e482: 781b ldrb r3, [r3, #0] 7002e484: 2b00 cmp r3, #0 7002e486: d049 beq.n 7002e51c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x6fc> 7002e488: 2b01 cmp r3, #1 7002e48a: 482a ldr r0, [pc, #168] @ (7002e534 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x714>) 7002e48c: bf18 it ne 7002e48e: 2000 movne r0, #0 7002e490: e573 b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e492: 687b ldr r3, [r7, #4] 7002e494: 4828 ldr r0, [pc, #160] @ (7002e538 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x718>) 7002e496: 781b ldrb r3, [r3, #0] 7002e498: 2b00 cmp r3, #0 7002e49a: bf18 it ne 7002e49c: 2000 movne r0, #0 7002e49e: e56c b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e4a0: 687b ldr r3, [r7, #4] 7002e4a2: 4826 ldr r0, [pc, #152] @ (7002e53c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x71c>) 7002e4a4: 781b ldrb r3, [r3, #0] 7002e4a6: 2b00 cmp r3, #0 7002e4a8: bf18 it ne 7002e4aa: 2000 movne r0, #0 7002e4ac: e565 b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e4ae: 687b ldr r3, [r7, #4] 7002e4b0: 4823 ldr r0, [pc, #140] @ (7002e540 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x720>) 7002e4b2: 781b ldrb r3, [r3, #0] 7002e4b4: 2b00 cmp r3, #0 7002e4b6: bf18 it ne 7002e4b8: 2000 movne r0, #0 7002e4ba: e55e b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e4bc: 687b ldr r3, [r7, #4] 7002e4be: 781b ldrb r3, [r3, #0] 7002e4c0: b323 cbz r3, 7002e50c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x6ec> 7002e4c2: 2b01 cmp r3, #1 7002e4c4: 481f ldr r0, [pc, #124] @ (7002e544 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x724>) 7002e4c6: bf18 it ne 7002e4c8: 2000 movne r0, #0 7002e4ca: e556 b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e4cc: 687b ldr r3, [r7, #4] 7002e4ce: 781b ldrb r3, [r3, #0] 7002e4d0: b1f3 cbz r3, 7002e510 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x6f0> 7002e4d2: 2b01 cmp r3, #1 7002e4d4: 481c ldr r0, [pc, #112] @ (7002e548 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x728>) 7002e4d6: bf18 it ne 7002e4d8: 2000 movne r0, #0 7002e4da: e54e b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e4dc: 481b ldr r0, [pc, #108] @ (7002e54c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x72c>) 7002e4de: e54c b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e4e0: 481b ldr r0, [pc, #108] @ (7002e550 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x730>) 7002e4e2: e54a b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e4e4: 687b ldr r3, [r7, #4] 7002e4e6: 781b ldrb r3, [r3, #0] 7002e4e8: b193 cbz r3, 7002e510 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x6f0> 7002e4ea: 2b01 cmp r3, #1 7002e4ec: 4819 ldr r0, [pc, #100] @ (7002e554 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x734>) 7002e4ee: bf18 it ne 7002e4f0: 2000 movne r0, #0 7002e4f2: e542 b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e4f4: 687b ldr r3, [r7, #4] 7002e4f6: 781b ldrb r3, [r3, #0] 7002e4f8: b143 cbz r3, 7002e50c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x6ec> 7002e4fa: 2b01 cmp r3, #1 7002e4fc: 4816 ldr r0, [pc, #88] @ (7002e558 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x738>) 7002e4fe: bf18 it ne 7002e500: 2000 movne r0, #0 7002e502: e53a b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e504: 4815 ldr r0, [pc, #84] @ (7002e55c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x73c>) 7002e506: e538 b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e508: 4815 ldr r0, [pc, #84] @ (7002e560 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x740>) 7002e50a: e536 b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e50c: 480c ldr r0, [pc, #48] @ (7002e540 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x720>) 7002e50e: e534 b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e510: 480a ldr r0, [pc, #40] @ (7002e53c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x71c>) 7002e512: e532 b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e514: 4804 ldr r0, [pc, #16] @ (7002e528 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x708>) 7002e516: e530 b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e518: 4812 ldr r0, [pc, #72] @ (7002e564 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x744>) 7002e51a: e52e b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e51c: 4803 ldr r0, [pc, #12] @ (7002e52c <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x70c>) 7002e51e: e52c b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e520: 4805 ldr r0, [pc, #20] @ (7002e538 <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x718>) 7002e522: e52a b.n 7002df7a <_ZN8touchgfx12LCDGPU2D_AXI28getTextureMapperDrawScanLineERKNS_14TextureSurfaceEth+0x15a> 7002e524: 24000154 .word 0x24000154 7002e528: 2400013c .word 0x2400013c 7002e52c: 24000138 .word 0x24000138 7002e530: 24000150 .word 0x24000150 7002e534: 24000148 .word 0x24000148 7002e538: 24000140 .word 0x24000140 7002e53c: 24000120 .word 0x24000120 7002e540: 24000124 .word 0x24000124 7002e544: 24000134 .word 0x24000134 7002e548: 2400012c .word 0x2400012c 7002e54c: 2400011c .word 0x2400011c 7002e550: 24000114 .word 0x24000114 7002e554: 24000128 .word 0x24000128 7002e558: 24000130 .word 0x24000130 7002e55c: 24000118 .word 0x24000118 7002e560: 24000110 .word 0x24000110 7002e564: 24000144 .word 0x24000144 7002e568 <_ZN8touchgfx12LCDGPU2D_AXID0Ev>: 7002e568: b510 push {r4, lr} 7002e56a: 4604 mov r4, r0 7002e56c: f44f 6115 mov.w r1, #2384 @ 0x950 7002e570: f00b f921 bl 700397b6 <_ZdlPvj> 7002e574: 4620 mov r0, r4 7002e576: bd10 pop {r4, pc} 7002e578 <_ZN8touchgfx12LCDGPU2D_AXI62TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_NoGAD0Ev>: 7002e578: b510 push {r4, lr} 7002e57a: 4604 mov r4, r0 7002e57c: 2104 movs r1, #4 7002e57e: f00b f91a bl 700397b6 <_ZdlPvj> 7002e582: 4620 mov r0, r4 7002e584: bd10 pop {r4, pc} 7002e586: bf00 nop 7002e588 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_16BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GAD0Ev>: 7002e588: b510 push {r4, lr} 7002e58a: 4604 mov r4, r0 7002e58c: 2104 movs r1, #4 7002e58e: f00b f912 bl 700397b6 <_ZdlPvj> 7002e592: 4620 mov r0, r4 7002e594: bd10 pop {r4, pc} 7002e596: bf00 nop 7002e598 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGAD0Ev>: 7002e598: b510 push {r4, lr} 7002e59a: 4604 mov r4, r0 7002e59c: 2104 movs r1, #4 7002e59e: f00b f90a bl 700397b6 <_ZdlPvj> 7002e5a2: 4620 mov r0, r4 7002e5a4: bd10 pop {r4, pc} 7002e5a6: bf00 nop 7002e5a8 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GAD0Ev>: 7002e5a8: b510 push {r4, lr} 7002e5aa: 4604 mov r4, r0 7002e5ac: 2104 movs r1, #4 7002e5ae: f00b f902 bl 700397b6 <_ZdlPvj> 7002e5b2: 4620 mov r0, r4 7002e5b4: bd10 pop {r4, pc} 7002e5b6: bf00 nop 7002e5b8 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_NoGAD0Ev>: 7002e5b8: b510 push {r4, lr} 7002e5ba: 4604 mov r4, r0 7002e5bc: 2104 movs r1, #4 7002e5be: f00b f8fa bl 700397b6 <_ZdlPvj> 7002e5c2: 4620 mov r0, r4 7002e5c4: bd10 pop {r4, pc} 7002e5c6: bf00 nop 7002e5c8 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_16BPP_L8_RGB888_Opaque_NearestNeighbor_GAD0Ev>: 7002e5c8: b510 push {r4, lr} 7002e5ca: 4604 mov r4, r0 7002e5cc: 2104 movs r1, #4 7002e5ce: f00b f8f2 bl 700397b6 <_ZdlPvj> 7002e5d2: 4620 mov r0, r4 7002e5d4: bd10 pop {r4, pc} 7002e5d6: bf00 nop 7002e5d8 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGAD0Ev>: 7002e5d8: b510 push {r4, lr} 7002e5da: 4604 mov r4, r0 7002e5dc: 2104 movs r1, #4 7002e5de: f00b f8ea bl 700397b6 <_ZdlPvj> 7002e5e2: 4620 mov r0, r4 7002e5e4: bd10 pop {r4, pc} 7002e5e6: bf00 nop 7002e5e8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GAD0Ev>: 7002e5e8: b510 push {r4, lr} 7002e5ea: 4604 mov r4, r0 7002e5ec: 2104 movs r1, #4 7002e5ee: f00b f8e2 bl 700397b6 <_ZdlPvj> 7002e5f2: 4620 mov r0, r4 7002e5f4: bd10 pop {r4, pc} 7002e5f6: bf00 nop 7002e5f8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGAD0Ev>: 7002e5f8: b510 push {r4, lr} 7002e5fa: 4604 mov r4, r0 7002e5fc: 2104 movs r1, #4 7002e5fe: f00b f8da bl 700397b6 <_ZdlPvj> 7002e602: 4620 mov r0, r4 7002e604: bd10 pop {r4, pc} 7002e606: bf00 nop 7002e608 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GAD0Ev>: 7002e608: b510 push {r4, lr} 7002e60a: 4604 mov r4, r0 7002e60c: 2104 movs r1, #4 7002e60e: f00b f8d2 bl 700397b6 <_ZdlPvj> 7002e612: 4620 mov r0, r4 7002e614: bd10 pop {r4, pc} 7002e616: bf00 nop 7002e618 <_ZN8touchgfx12LCDGPU2D_AXI54TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_NoGAD0Ev>: 7002e618: b510 push {r4, lr} 7002e61a: 4604 mov r4, r0 7002e61c: 2104 movs r1, #4 7002e61e: f00b f8ca bl 700397b6 <_ZdlPvj> 7002e622: 4620 mov r0, r4 7002e624: bd10 pop {r4, pc} 7002e626: bf00 nop 7002e628 <_ZN8touchgfx12LCDGPU2D_AXI52TextureMapper_32BPP_RGB888_Opaque_NearestNeighbor_GAD0Ev>: 7002e628: b510 push {r4, lr} 7002e62a: 4604 mov r4, r0 7002e62c: 2104 movs r1, #4 7002e62e: f00b f8c2 bl 700397b6 <_ZdlPvj> 7002e632: 4620 mov r0, r4 7002e634: bd10 pop {r4, pc} 7002e636: bf00 nop 7002e638 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_L8_ARGB8888_NonOpaque_NearestNeighbor_GAD0Ev>: 7002e638: b510 push {r4, lr} 7002e63a: 4604 mov r4, r0 7002e63c: 2104 movs r1, #4 7002e63e: f00b f8ba bl 700397b6 <_ZdlPvj> 7002e642: 4620 mov r0, r4 7002e644: bd10 pop {r4, pc} 7002e646: bf00 nop 7002e648 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GAD0Ev>: 7002e648: b510 push {r4, lr} 7002e64a: 4604 mov r4, r0 7002e64c: 2104 movs r1, #4 7002e64e: f00b f8b2 bl 700397b6 <_ZdlPvj> 7002e652: 4620 mov r0, r4 7002e654: bd10 pop {r4, pc} 7002e656: bf00 nop 7002e658 <_ZN8touchgfx12LCDGPU2D_AXI57TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_NoGAD0Ev>: 7002e658: b510 push {r4, lr} 7002e65a: 4604 mov r4, r0 7002e65c: 2104 movs r1, #4 7002e65e: f00b f8aa bl 700397b6 <_ZdlPvj> 7002e662: 4620 mov r0, r4 7002e664: bd10 pop {r4, pc} 7002e666: bf00 nop 7002e668 <_ZN8touchgfx12LCDGPU2D_AXI55TextureMapper_32BPP_L8_RGB888_Opaque_NearestNeighbor_GAD0Ev>: 7002e668: b510 push {r4, lr} 7002e66a: 4604 mov r4, r0 7002e66c: 2104 movs r1, #4 7002e66e: f00b f8a2 bl 700397b6 <_ZdlPvj> 7002e672: 4620 mov r0, r4 7002e674: bd10 pop {r4, pc} 7002e676: bf00 nop 7002e678 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGAD0Ev>: 7002e678: b510 push {r4, lr} 7002e67a: 4604 mov r4, r0 7002e67c: 2104 movs r1, #4 7002e67e: f00b f89a bl 700397b6 <_ZdlPvj> 7002e682: 4620 mov r0, r4 7002e684: bd10 pop {r4, pc} 7002e686: bf00 nop 7002e688 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GAD0Ev>: 7002e688: b510 push {r4, lr} 7002e68a: 4604 mov r4, r0 7002e68c: 2104 movs r1, #4 7002e68e: f00b f892 bl 700397b6 <_ZdlPvj> 7002e692: 4620 mov r0, r4 7002e694: bd10 pop {r4, pc} 7002e696: bf00 nop 7002e698 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_hb.part.0>: 7002e698: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7002e69c: b087 sub sp, #28 7002e69e: 461d mov r5, r3 7002e6a0: 4606 mov r6, r0 7002e6a2: 460c mov r4, r1 7002e6a4: 6818 ldr r0, [r3, #0] 7002e6a6: 4690 mov r8, r2 7002e6a8: 6859 ldr r1, [r3, #4] 7002e6aa: ab02 add r3, sp, #8 7002e6ac: 9f0e ldr r7, [sp, #56] @ 0x38 7002e6ae: c303 stmia r3!, {r0, r1} 7002e6b0: 6838 ldr r0, [r7, #0] 7002e6b2: 6879 ldr r1, [r7, #4] 7002e6b4: f89d 703c ldrb.w r7, [sp, #60] @ 0x3c 7002e6b8: c303 stmia r3!, {r0, r1} 7002e6ba: a802 add r0, sp, #8 7002e6bc: f7e2 fb84 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 7002e6c0: 4629 mov r1, r5 7002e6c2: a804 add r0, sp, #16 7002e6c4: f7e2 fbc4 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 7002e6c8: f1b8 0f00 cmp.w r8, #0 7002e6cc: d060 beq.n 7002e790 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_hb.part.0+0xf8> 7002e6ce: f1b8 0f02 cmp.w r8, #2 7002e6d2: bf0b itete eq 7002e6d4: f04f 0810 moveq.w r8, #16 7002e6d8: f04f 0800 movne.w r8, #0 7002e6dc: 2504 moveq r5, #4 7002e6de: 2501 movne r5, #1 7002e6e0: f9bd 2010 ldrsh.w r2, [sp, #16] 7002e6e4: f9bd 3012 ldrsh.w r3, [sp, #18] 7002e6e8: f8bd 100c ldrh.w r1, [sp, #12] 7002e6ec: f8df 90bc ldr.w r9, [pc, #188] @ 7002e7ac <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_hb.part.0+0x114> 7002e6f0: fb11 2103 smlabb r1, r1, r3, r2 7002e6f4: f8d9 0000 ldr.w r0, [r9] 7002e6f8: fb05 4401 mla r4, r5, r1, r4 7002e6fc: f8bd 1008 ldrh.w r1, [sp, #8] 7002e700: 440a add r2, r1 7002e702: f8ad 2010 strh.w r2, [sp, #16] 7002e706: f8bd 200a ldrh.w r2, [sp, #10] 7002e70a: 4413 add r3, r2 7002e70c: f8ad 3012 strh.w r3, [sp, #18] 7002e710: f7fd fd56 bl 7002c1c0 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv> 7002e714: 6833 ldr r3, [r6, #0] 7002e716: 4630 mov r0, r6 7002e718: 6d9b ldr r3, [r3, #88] @ 0x58 7002e71a: 4798 blx r3 7002e71c: f9bd 3016 ldrsh.w r3, [sp, #22] 7002e720: f9bd 2014 ldrsh.w r2, [sp, #20] 7002e724: f9bd 1012 ldrsh.w r1, [sp, #18] 7002e728: f9bd 0010 ldrsh.w r0, [sp, #16] 7002e72c: f7e9 fb0a bl 70017d44 7002e730: 2200 movs r2, #0 7002e732: 463b mov r3, r7 7002e734: 4611 mov r1, r2 7002e736: 4610 mov r0, r2 7002e738: f7e9 fc6e bl 70018018 7002e73c: f7fb fdb6 bl 7002a2ac 7002e740: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7002e744: 2201 movs r2, #1 7002e746: 2100 movs r1, #0 7002e748: 4817 ldr r0, [pc, #92] @ (7002e7a8 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_hb.part.0+0x110>) 7002e74a: f7fb fa39 bl 70029bc0 7002e74e: f9bd 100c ldrsh.w r1, [sp, #12] 7002e752: 2200 movs r2, #0 7002e754: 4643 mov r3, r8 7002e756: fb05 f101 mul.w r1, r5, r1 7002e75a: 4620 mov r0, r4 7002e75c: 9201 str r2, [sp, #4] 7002e75e: 9100 str r1, [sp, #0] 7002e760: f9bd 2016 ldrsh.w r2, [sp, #22] 7002e764: f9bd 1014 ldrsh.w r1, [sp, #20] 7002e768: f7e9 fc5e bl 70018028 7002e76c: f9bd 0010 ldrsh.w r0, [sp, #16] 7002e770: f9bd 1012 ldrsh.w r1, [sp, #18] 7002e774: f7e9 fdce bl 70018314 7002e778: 20fc movs r0, #252 @ 0xfc 7002e77a: f7d4 ff59 bl 70003630 7002e77e: b158 cbz r0, 7002e798 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_hb.part.0+0x100> 7002e780: f8d9 3000 ldr.w r3, [r9] 7002e784: 2201 movs r2, #1 7002e786: f883 20c5 strb.w r2, [r3, #197] @ 0xc5 7002e78a: b007 add sp, #28 7002e78c: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7002e790: f04f 0804 mov.w r8, #4 7002e794: 2502 movs r5, #2 7002e796: e7a3 b.n 7002e6e0 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_hb.part.0+0x48> 7002e798: f8d9 0000 ldr.w r0, [r9] 7002e79c: f7fd fd34 bl 7002c208 <_ZN8touchgfx8HALGPU2D16submitExecBufferEv> 7002e7a0: b007 add sp, #28 7002e7a2: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7002e7a6: bf00 nop 7002e7a8: 08000504 .word 0x08000504 7002e7ac: 2400e0dc .word 0x2400e0dc 7002e7b0 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_hb>: 7002e7b0: b410 push {r4} 7002e7b2: f89d 4008 ldrb.w r4, [sp, #8] 7002e7b6: b914 cbnz r4, 7002e7be <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_hb+0xe> 7002e7b8: f85d 4b04 ldr.w r4, [sp], #4 7002e7bc: 4770 bx lr 7002e7be: 9402 str r4, [sp, #8] 7002e7c0: f85d 4b04 ldr.w r4, [sp], #4 7002e7c4: f7ff bf68 b.w 7002e698 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_hb.part.0> 7002e7c8 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0>: 7002e7c8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002e7cc: b097 sub sp, #92 @ 0x5c 7002e7ce: 4614 mov r4, r2 7002e7d0: 4683 mov fp, r0 7002e7d2: 460d mov r5, r1 7002e7d4: f89d 2080 ldrb.w r2, [sp, #128] @ 0x80 7002e7d8: 6820 ldr r0, [r4, #0] 7002e7da: 6861 ldr r1, [r4, #4] 7002e7dc: 9201 str r2, [sp, #4] 7002e7de: aa12 add r2, sp, #72 @ 0x48 7002e7e0: c203 stmia r2!, {r0, r1} 7002e7e2: 6818 ldr r0, [r3, #0] 7002e7e4: 6859 ldr r1, [r3, #4] 7002e7e6: c203 stmia r2!, {r0, r1} 7002e7e8: a812 add r0, sp, #72 @ 0x48 7002e7ea: f7e2 faed bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 7002e7ee: 4621 mov r1, r4 7002e7f0: a814 add r0, sp, #80 @ 0x50 7002e7f2: f7e2 fb2d bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 7002e7f6: f9bd 204c ldrsh.w r2, [sp, #76] @ 0x4c 7002e7fa: f5b2 6f80 cmp.w r2, #1024 @ 0x400 7002e7fe: b292 uxth r2, r2 7002e800: f340 8452 ble.w 7002f0a8 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x8e0> 7002e804: 2301 movs r3, #1 7002e806: 461c mov r4, r3 7002e808: 9307 str r3, [sp, #28] 7002e80a: f9bd 304e ldrsh.w r3, [sp, #78] @ 0x4e 7002e80e: 3508 adds r5, #8 7002e810: f8bd 1050 ldrh.w r1, [sp, #80] @ 0x50 7002e814: 4423 add r3, r4 7002e816: 950e str r5, [sp, #56] @ 0x38 7002e818: 3b01 subs r3, #1 7002e81a: fb93 f3f4 sdiv r3, r3, r4 7002e81e: 3b01 subs r3, #1 7002e820: b29b uxth r3, r3 7002e822: eb05 0383 add.w r3, r5, r3, lsl #2 7002e826: 930d str r3, [sp, #52] @ 0x34 7002e828: f9bd 3052 ldrsh.w r3, [sp, #82] @ 0x52 7002e82c: fb93 f0f4 sdiv r0, r3, r4 7002e830: b287 uxth r7, r0 7002e832: fb04 3617 mls r6, r4, r7, r3 7002e836: 970a str r7, [sp, #40] @ 0x28 7002e838: fb16 1602 smlabb r6, r6, r2, r1 7002e83c: b2b6 uxth r6, r6 7002e83e: 2f00 cmp r7, #0 7002e840: f000 841a beq.w 7002f078 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x8b0> 7002e844: 1e7a subs r2, r7, #1 7002e846: f855 4022 ldr.w r4, [r5, r2, lsl #2] 7002e84a: 9a0d ldr r2, [sp, #52] @ 0x34 7002e84c: ba24 rev r4, r4 7002e84e: 4414 add r4, r2 7002e850: f8bd 2048 ldrh.w r2, [sp, #72] @ 0x48 7002e854: f04f 0900 mov.w r9, #0 7002e858: f9bd 5056 ldrsh.w r5, [sp, #86] @ 0x56 7002e85c: 4411 add r1, r2 7002e85e: f8bd 204a ldrh.w r2, [sp, #74] @ 0x4a 7002e862: 4fb5 ldr r7, [pc, #724] @ (7002eb38 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x370>) 7002e864: 4413 add r3, r2 7002e866: f8ad 1050 strh.w r1, [sp, #80] @ 0x50 7002e86a: f8ad 3052 strh.w r3, [sp, #82] @ 0x52 7002e86e: f9bd 3054 ldrsh.w r3, [sp, #84] @ 0x54 7002e872: 9305 str r3, [sp, #20] 7002e874: 4bb1 ldr r3, [pc, #708] @ (7002eb3c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x374>) 7002e876: 6818 ldr r0, [r3, #0] 7002e878: 6803 ldr r3, [r0, #0] 7002e87a: 6adb ldr r3, [r3, #44] @ 0x2c 7002e87c: 4798 blx r3 7002e87e: f50b 6205 add.w r2, fp, #2128 @ 0x850 7002e882: f9bd 1052 ldrsh.w r1, [sp, #82] @ 0x52 7002e886: 920c str r2, [sp, #48] @ 0x30 7002e888: f9bd 3050 ldrsh.w r3, [sp, #80] @ 0x50 7002e88c: 883a ldrh r2, [r7, #0] 7002e88e: fb02 3301 mla r3, r2, r1, r3 7002e892: 2100 movs r1, #0 7002e894: fb02 f505 mul.w r5, r2, r5 7002e898: 2280 movs r2, #128 @ 0x80 7002e89a: eb00 0743 add.w r7, r0, r3, lsl #1 7002e89e: f9bd 304c ldrsh.w r3, [sp, #76] @ 0x4c 7002e8a2: 980c ldr r0, [sp, #48] @ 0x30 7002e8a4: eb07 0545 add.w r5, r7, r5, lsl #1 7002e8a8: 9704 str r7, [sp, #16] 7002e8aa: fb96 f3f3 sdiv r3, r6, r3 7002e8ae: 9306 str r3, [sp, #24] 7002e8b0: 9b01 ldr r3, [sp, #4] 7002e8b2: 9508 str r5, [sp, #32] 7002e8b4: 43db mvns r3, r3 7002e8b6: b2db uxtb r3, r3 7002e8b8: 930b str r3, [sp, #44] @ 0x2c 7002e8ba: f00c fd33 bl 7003b324 7002e8be: 42af cmp r7, r5 7002e8c0: f080 80b9 bcs.w 7002ea36 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x26e> 7002e8c4: f8df a278 ldr.w sl, [pc, #632] @ 7002eb40 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x378> 7002e8c8: 2300 movs r3, #0 7002e8ca: 4635 mov r5, r6 7002e8cc: 4656 mov r6, sl 7002e8ce: 9309 str r3, [sp, #36] @ 0x24 7002e8d0: b19d cbz r5, 7002e8fa <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x132> 7002e8d2: f04f 0e03 mov.w lr, #3 7002e8d6: f04f 0c07 mov.w ip, #7 7002e8da: 4622 mov r2, r4 7002e8dc: f812 3b01 ldrb.w r3, [r2], #1 7002e8e0: b2d9 uxtb r1, r3 7002e8e2: 099b lsrs r3, r3, #6 7002e8e4: f040 80af bne.w 7002ea46 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x27e> 7002e8e8: 3d01 subs r5, #1 7002e8ea: f501 6185 add.w r1, r1, #1064 @ 0x428 7002e8ee: 4614 mov r4, r2 7002e8f0: b2ad uxth r5, r5 7002e8f2: f83b 9011 ldrh.w r9, [fp, r1, lsl #1] 7002e8f6: 2d00 cmp r5, #0 7002e8f8: d1ef bne.n 7002e8da <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x112> 7002e8fa: f8dd a014 ldr.w sl, [sp, #20] 7002e8fe: 9502 str r5, [sp, #8] 7002e900: f1ba 0f00 cmp.w sl, #0 7002e904: dd7a ble.n 7002e9fc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x234> 7002e906: f8cd b00c str.w fp, [sp, #12] 7002e90a: 2700 movs r7, #0 7002e90c: f8dd b010 ldr.w fp, [sp, #16] 7002e910: e01b b.n 7002e94a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x182> 7002e912: 9b03 ldr r3, [sp, #12] 7002e914: f505 6585 add.w r5, r5, #1064 @ 0x428 7002e918: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff 7002e91c: f833 9015 ldrh.w r9, [r3, r5, lsl #1] 7002e920: 9b01 ldr r3, [sp, #4] 7002e922: 2bff cmp r3, #255 @ 0xff 7002e924: f000 8142 beq.w 7002ebac <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x3e4> 7002e928: 2f3f cmp r7, #63 @ 0x3f 7002e92a: f300 80ce bgt.w 7002eaca <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x302> 7002e92e: 2300 movs r3, #0 7002e930: fa1f f289 uxth.w r2, r9 7002e934: 4638 mov r0, r7 7002e936: f04f 0801 mov.w r8, #1 7002e93a: 9302 str r3, [sp, #8] 7002e93c: f826 2017 strh.w r2, [r6, r7, lsl #1] 7002e940: eb00 0708 add.w r7, r0, r8 7002e944: f1ba 0f00 cmp.w sl, #0 7002e948: dd43 ble.n 7002e9d2 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x20a> 7002e94a: f814 3b01 ldrb.w r3, [r4], #1 7002e94e: b2dd uxtb r5, r3 7002e950: 099b lsrs r3, r3, #6 7002e952: d0de beq.n 7002e912 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x14a> 7002e954: 2b01 cmp r3, #1 7002e956: f000 80f5 beq.w 7002eb44 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x37c> 7002e95a: f005 053f and.w r5, r5, #63 @ 0x3f 7002e95e: 46d0 mov r8, sl 7002e960: 45aa cmp sl, r5 7002e962: bfa8 it ge 7002e964: 46a8 movge r8, r5 7002e966: 2b02 cmp r3, #2 7002e968: 9b01 ldr r3, [sp, #4] 7002e96a: eba5 0208 sub.w r2, r5, r8 7002e96e: ebaa 0a08 sub.w sl, sl, r8 7002e972: 9202 str r2, [sp, #8] 7002e974: f000 8257 beq.w 7002ee26 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x65e> 7002e978: 2bff cmp r3, #255 @ 0xff 7002e97a: f040 82e1 bne.w 7002ef40 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x778> 7002e97e: eb0b 0348 add.w r3, fp, r8, lsl #1 7002e982: ea4f 0848 mov.w r8, r8, lsl #1 7002e986: 459b cmp fp, r3 7002e988: d2dc bcs.n 7002e944 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x17c> 7002e98a: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff 7002e98e: fa1f f289 uxth.w r2, r9 7002e992: 465b mov r3, fp 7002e994: ea4f 0158 mov.w r1, r8, lsr #1 7002e998: f1b8 0f01 cmp.w r8, #1 7002e99c: f101 0101 add.w r1, r1, #1 7002e9a0: d911 bls.n 7002e9c6 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x1fe> 7002e9a2: 2500 movs r5, #0 7002e9a4: 0848 lsrs r0, r1, #1 7002e9a6: f362 050f bfi r5, r2, #0, #16 7002e9aa: eb0b 0080 add.w r0, fp, r0, lsl #2 7002e9ae: f362 451f bfi r5, r2, #16, #16 7002e9b2: f843 5b04 str.w r5, [r3], #4 7002e9b6: 4283 cmp r3, r0 7002e9b8: d1fb bne.n 7002e9b2 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x1ea> 7002e9ba: 07cb lsls r3, r1, #31 7002e9bc: d504 bpl.n 7002e9c8 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x200> 7002e9be: f021 0301 bic.w r3, r1, #1 7002e9c2: eb0b 0343 add.w r3, fp, r3, lsl #1 7002e9c6: 801a strh r2, [r3, #0] 7002e9c8: f1ba 0f00 cmp.w sl, #0 7002e9cc: eb0b 0b41 add.w fp, fp, r1, lsl #1 7002e9d0: dcbb bgt.n 7002e94a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x182> 7002e9d2: 2f00 cmp r7, #0 7002e9d4: 46d8 mov r8, fp 7002e9d6: f8cd b010 str.w fp, [sp, #16] 7002e9da: f8dd b00c ldr.w fp, [sp, #12] 7002e9de: dd0d ble.n 7002e9fc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x234> 7002e9e0: 007d lsls r5, r7, #1 7002e9e2: 4630 mov r0, r6 7002e9e4: 4629 mov r1, r5 7002e9e6: f7d4 f8bd bl 70002b64 <_ZN8touchgfx5paint9flushLineEPmi> 7002e9ea: 9b01 ldr r3, [sp, #4] 7002e9ec: 463a mov r2, r7 7002e9ee: 4631 mov r1, r6 7002e9f0: 4640 mov r0, r8 7002e9f2: f7d4 f8d1 bl 70002b98 <_ZN8touchgfx5paint6rgb56514lineFromRGB565EPtPKtjh> 7002e9f6: 4643 mov r3, r8 7002e9f8: 442b add r3, r5 7002e9fa: 9304 str r3, [sp, #16] 7002e9fc: 4b4e ldr r3, [pc, #312] @ (7002eb38 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x370>) 7002e9fe: 9905 ldr r1, [sp, #20] 7002ea00: 881b ldrh r3, [r3, #0] 7002ea02: 9a06 ldr r2, [sp, #24] 7002ea04: 1a5b subs r3, r3, r1 7002ea06: 9904 ldr r1, [sp, #16] 7002ea08: 3201 adds r2, #1 7002ea0a: eb01 0343 add.w r3, r1, r3, lsl #1 7002ea0e: 9206 str r2, [sp, #24] 7002ea10: 9304 str r3, [sp, #16] 7002ea12: 9b07 ldr r3, [sp, #28] 7002ea14: 429a cmp r2, r3 7002ea16: f000 8273 beq.w 7002ef00 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x738> 7002ea1a: 9b05 ldr r3, [sp, #20] 7002ea1c: f8bd 504c ldrh.w r5, [sp, #76] @ 0x4c 7002ea20: 1aed subs r5, r5, r3 7002ea22: 9b02 ldr r3, [sp, #8] 7002ea24: 1aed subs r5, r5, r3 7002ea26: f7d4 f893 bl 70002b50 <_ZN8touchgfx5paint8tearDownEv> 7002ea2a: 9b08 ldr r3, [sp, #32] 7002ea2c: 9a04 ldr r2, [sp, #16] 7002ea2e: b2ad uxth r5, r5 7002ea30: 4293 cmp r3, r2 7002ea32: f63f af4d bhi.w 7002e8d0 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x108> 7002ea36: 4b41 ldr r3, [pc, #260] @ (7002eb3c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x374>) 7002ea38: 6818 ldr r0, [r3, #0] 7002ea3a: 6803 ldr r3, [r0, #0] 7002ea3c: 6b1b ldr r3, [r3, #48] @ 0x30 7002ea3e: 4798 blx r3 7002ea40: b017 add sp, #92 @ 0x5c 7002ea42: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002ea46: 2b01 cmp r3, #1 7002ea48: d00e beq.n 7002ea68 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x2a0> 7002ea4a: 2b02 cmp r3, #2 7002ea4c: f001 003f and.w r0, r1, #63 @ 0x3f 7002ea50: f000 80af beq.w 7002ebb2 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x3ea> 7002ea54: 42a8 cmp r0, r5 7002ea56: f200 80dc bhi.w 7002ec12 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x44a> 7002ea5a: 1a29 subs r1, r5, r0 7002ea5c: 4614 mov r4, r2 7002ea5e: b28d uxth r5, r1 7002ea60: 2d00 cmp r5, #0 7002ea62: f47f af3a bne.w 7002e8da <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x112> 7002ea66: e748 b.n 7002e8fa <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x132> 7002ea68: f3c9 0304 ubfx r3, r9, #0, #5 7002ea6c: 4614 mov r4, r2 7002ea6e: f001 0203 and.w r2, r1, #3 7002ea72: 3d01 subs r5, #1 7002ea74: 3b02 subs r3, #2 7002ea76: b2ad uxth r5, r5 7002ea78: 4413 add r3, r2 7002ea7a: f3c1 0281 ubfx r2, r1, #2, #2 7002ea7e: f3c1 1101 ubfx r1, r1, #4, #2 7002ea82: f003 031f and.w r3, r3, #31 7002ea86: f363 0904 bfi r9, r3, #0, #5 7002ea8a: f3c9 1045 ubfx r0, r9, #5, #6 7002ea8e: 3802 subs r0, #2 7002ea90: 4402 add r2, r0 7002ea92: f002 023f and.w r2, r2, #63 @ 0x3f 7002ea96: f362 194a bfi r9, r2, #5, #6 7002ea9a: eb02 0282 add.w r2, r2, r2, lsl #2 7002ea9e: f3c9 20c4 ubfx r0, r9, #11, #5 7002eaa2: 3802 subs r0, #2 7002eaa4: 4401 add r1, r0 7002eaa6: f001 011f and.w r1, r1, #31 7002eaaa: fb1e 2201 smlabb r2, lr, r1, r2 7002eaae: f361 29cf bfi r9, r1, #11, #5 7002eab2: fb1c 2303 smlabb r3, ip, r3, r2 7002eab6: f003 033f and.w r3, r3, #63 @ 0x3f 7002eaba: f503 6385 add.w r3, r3, #1064 @ 0x428 7002eabe: f82b 9013 strh.w r9, [fp, r3, lsl #1] 7002eac2: 2d00 cmp r5, #0 7002eac4: f47f af09 bne.w 7002e8da <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x112> 7002eac8: e717 b.n 7002e8fa <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x132> 7002eaca: 2300 movs r3, #0 7002eacc: f04f 0801 mov.w r8, #1 7002ead0: 9302 str r3, [sp, #8] 7002ead2: 007d lsls r5, r7, #1 7002ead4: 4630 mov r0, r6 7002ead6: 4629 mov r1, r5 7002ead8: f7d4 f844 bl 70002b64 <_ZN8touchgfx5paint9flushLineEPmi> 7002eadc: 4658 mov r0, fp 7002eade: 9b01 ldr r3, [sp, #4] 7002eae0: 463a mov r2, r7 7002eae2: 4631 mov r1, r6 7002eae4: 44ab add fp, r5 7002eae6: f7d4 f857 bl 70002b98 <_ZN8touchgfx5paint6rgb56514lineFromRGB565EPtPKtjh> 7002eaea: 4b15 ldr r3, [pc, #84] @ (7002eb40 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x378>) 7002eaec: 2000 movs r0, #0 7002eaee: 429e cmp r6, r3 7002eaf0: f000 8124 beq.w 7002ed3c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x574> 7002eaf4: 4e12 ldr r6, [pc, #72] @ (7002eb40 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x378>) 7002eaf6: f1b8 0f00 cmp.w r8, #0 7002eafa: f000 811d beq.w 7002ed38 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x570> 7002eafe: f1b8 0f01 cmp.w r8, #1 7002eb02: fa1f f289 uxth.w r2, r9 7002eb06: f000 82ee beq.w 7002f0e6 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x91e> 7002eb0a: 2500 movs r5, #0 7002eb0c: eb06 0340 add.w r3, r6, r0, lsl #1 7002eb10: ea4f 0158 mov.w r1, r8, lsr #1 7002eb14: f362 050f bfi r5, r2, #0, #16 7002eb18: eb03 0181 add.w r1, r3, r1, lsl #2 7002eb1c: f362 451f bfi r5, r2, #16, #16 7002eb20: f843 5b04 str.w r5, [r3], #4 7002eb24: 428b cmp r3, r1 7002eb26: d1fb bne.n 7002eb20 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x358> 7002eb28: f018 0f01 tst.w r8, #1 7002eb2c: f028 0701 bic.w r7, r8, #1 7002eb30: f43f af06 beq.w 7002e940 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x178> 7002eb34: 4407 add r7, r0 7002eb36: e701 b.n 7002e93c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x174> 7002eb38: 2400da78 .word 0x2400da78 7002eb3c: 2400da80 .word 0x2400da80 7002eb40: 240098c0 .word 0x240098c0 7002eb44: f3c9 0204 ubfx r2, r9, #0, #5 7002eb48: f005 0303 and.w r3, r5, #3 7002eb4c: 2003 movs r0, #3 7002eb4e: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff 7002eb52: 3a02 subs r2, #2 7002eb54: 441a add r2, r3 7002eb56: f3c5 0381 ubfx r3, r5, #2, #2 7002eb5a: f3c5 1501 ubfx r5, r5, #4, #2 7002eb5e: f002 021f and.w r2, r2, #31 7002eb62: f362 0904 bfi r9, r2, #0, #5 7002eb66: f3c9 1145 ubfx r1, r9, #5, #6 7002eb6a: 3902 subs r1, #2 7002eb6c: 440b add r3, r1 7002eb6e: 2107 movs r1, #7 7002eb70: f003 033f and.w r3, r3, #63 @ 0x3f 7002eb74: f363 194a bfi r9, r3, #5, #6 7002eb78: eb03 0383 add.w r3, r3, r3, lsl #2 7002eb7c: f3c9 2cc4 ubfx ip, r9, #11, #5 7002eb80: f1ac 0c02 sub.w ip, ip, #2 7002eb84: 4465 add r5, ip 7002eb86: f005 051f and.w r5, r5, #31 7002eb8a: fb10 3005 smlabb r0, r0, r5, r3 7002eb8e: f365 29cf bfi r9, r5, #11, #5 7002eb92: fb11 0302 smlabb r3, r1, r2, r0 7002eb96: 9a03 ldr r2, [sp, #12] 7002eb98: f003 033f and.w r3, r3, #63 @ 0x3f 7002eb9c: f503 6385 add.w r3, r3, #1064 @ 0x428 7002eba0: f822 9013 strh.w r9, [r2, r3, lsl #1] 7002eba4: 9b01 ldr r3, [sp, #4] 7002eba6: 2bff cmp r3, #255 @ 0xff 7002eba8: f47f aebe bne.w 7002e928 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x160> 7002ebac: f82b 9b02 strh.w r9, [fp], #2 7002ebb0: e6c8 b.n 7002e944 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x17c> 7002ebb2: 2800 cmp r0, #0 7002ebb4: f000 81cb beq.w 7002ef4e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x786> 7002ebb8: fb03 4100 mla r1, r3, r0, r4 7002ebbc: f04f 0805 mov.w r8, #5 7002ebc0: 4614 mov r4, r2 7002ebc2: 2707 movs r7, #7 7002ebc4: 3101 adds r1, #1 7002ebc6: 4623 mov r3, r4 7002ebc8: f894 9000 ldrb.w r9, [r4] 7002ebcc: 3402 adds r4, #2 7002ebce: 785b ldrb r3, [r3, #1] 7002ebd0: 42a1 cmp r1, r4 7002ebd2: ea49 2903 orr.w r9, r9, r3, lsl #8 7002ebd6: ea4f 23d9 mov.w r3, r9, lsr #11 7002ebda: f3c9 1a45 ubfx sl, r9, #5, #6 7002ebde: eb03 0343 add.w r3, r3, r3, lsl #1 7002ebe2: fb18 3a0a smlabb sl, r8, sl, r3 7002ebe6: f009 031f and.w r3, r9, #31 7002ebea: fb17 a303 smlabb r3, r7, r3, sl 7002ebee: f003 033f and.w r3, r3, #63 @ 0x3f 7002ebf2: f503 6385 add.w r3, r3, #1064 @ 0x428 7002ebf6: f82b 9013 strh.w r9, [fp, r3, lsl #1] 7002ebfa: d1e4 bne.n 7002ebc6 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x3fe> 7002ebfc: 42a8 cmp r0, r5 7002ebfe: f200 825b bhi.w 7002f0b8 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x8f0> 7002ec02: 1a2d subs r5, r5, r0 7002ec04: eb02 0440 add.w r4, r2, r0, lsl #1 7002ec08: b2ad uxth r5, r5 7002ec0a: 2d00 cmp r5, #0 7002ec0c: f47f ae65 bne.w 7002e8da <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x112> 7002ec10: e673 b.n 7002e8fa <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x132> 7002ec12: 1b43 subs r3, r0, r5 7002ec14: 2b00 cmp r3, #0 7002ec16: 9302 str r3, [sp, #8] 7002ec18: f340 826c ble.w 7002f0f4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x92c> 7002ec1c: 4619 mov r1, r3 7002ec1e: 9b05 ldr r3, [sp, #20] 7002ec20: 428b cmp r3, r1 7002ec22: 461c mov r4, r3 7002ec24: bfa8 it ge 7002ec26: 460c movge r4, r1 7002ec28: 1b09 subs r1, r1, r4 7002ec2a: eba3 0a04 sub.w sl, r3, r4 7002ec2e: 9b09 ldr r3, [sp, #36] @ 0x24 7002ec30: 9102 str r1, [sp, #8] 7002ec32: 2b00 cmp r3, #0 7002ec34: f000 8084 beq.w 7002ed40 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x578> 7002ec38: 9b04 ldr r3, [sp, #16] 7002ec3a: 0060 lsls r0, r4, #1 7002ec3c: 9904 ldr r1, [sp, #16] 7002ec3e: eb03 0344 add.w r3, r3, r4, lsl #1 7002ec42: 461d mov r5, r3 7002ec44: 9b01 ldr r3, [sp, #4] 7002ec46: 2bff cmp r3, #255 @ 0xff 7002ec48: f000 81a9 beq.w 7002ef9e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x7d6> 7002ec4c: 428d cmp r5, r1 7002ec4e: f240 8246 bls.w 7002f0de <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x916> 7002ec52: 960f str r6, [sp, #60] @ 0x3c 7002ec54: 460c mov r4, r1 7002ec56: 4694 mov ip, r2 7002ec58: 46ae mov lr, r5 7002ec5a: 9e0b ldr r6, [sp, #44] @ 0x2c 7002ec5c: 9f01 ldr r7, [sp, #4] 7002ec5e: 9203 str r2, [sp, #12] 7002ec60: 9009 str r0, [sp, #36] @ 0x24 7002ec62: f8cd a040 str.w sl, [sp, #64] @ 0x40 7002ec66: 46e2 mov sl, ip 7002ec68: f834 8b02 ldrh.w r8, [r4], #2 7002ec6c: f89b 000c ldrb.w r0, [fp, #12] 7002ec70: f81a 3b02 ldrb.w r3, [sl], #2 7002ec74: ea4f 2118 mov.w r1, r8, lsr #8 7002ec78: f89c 2001 ldrb.w r2, [ip, #1] 7002ec7c: ea4f 05d8 mov.w r5, r8, lsr #3 7002ec80: ea4f 08c8 mov.w r8, r8, lsl #3 7002ec84: f001 01f8 and.w r1, r1, #248 @ 0xf8 7002ec88: ea43 2302 orr.w r3, r3, r2, lsl #8 7002ec8c: 46d4 mov ip, sl 7002ec8e: fa5f f888 uxtb.w r8, r8 7002ec92: f005 05fc and.w r5, r5, #252 @ 0xfc 7002ec96: 00da lsls r2, r3, #3 7002ec98: 3801 subs r0, #1 7002ec9a: fb11 f106 smulbb r1, r1, r6 7002ec9e: ea4f 2a13 mov.w sl, r3, lsr #8 7002eca2: f002 02f8 and.w r2, r2, #248 @ 0xf8 7002eca6: 08db lsrs r3, r3, #3 7002eca8: f00a 0af8 and.w sl, sl, #248 @ 0xf8 7002ecac: 2801 cmp r0, #1 7002ecae: fb12 f207 smulbb r2, r2, r7 7002ecb2: f003 03fc and.w r3, r3, #252 @ 0xfc 7002ecb6: fb0a 1107 mla r1, sl, r7, r1 7002ecba: fb08 2206 mla r2, r8, r6, r2 7002ecbe: fb13 f307 smulbb r3, r3, r7 7002ecc2: b289 uxth r1, r1 7002ecc4: fa1f fa82 uxth.w sl, r2 7002ecc8: fb05 3306 mla r3, r5, r6, r3 7002eccc: f3c2 2207 ubfx r2, r2, #8, #8 7002ecd0: f101 0801 add.w r8, r1, #1 7002ecd4: f10a 0a01 add.w sl, sl, #1 7002ecd8: eb08 2811 add.w r8, r8, r1, lsr #8 7002ecdc: 4492 add sl, r2 7002ecde: b29a uxth r2, r3 7002ece0: f3c3 2307 ubfx r3, r3, #8, #8 7002ece4: f408 487f and.w r8, r8, #65280 @ 0xff00 7002ece8: f102 0201 add.w r2, r2, #1 7002ecec: f3ca 2a07 ubfx sl, sl, #8, #8 7002ecf0: f36f 080a bfc r8, #0, #11 7002ecf4: 4413 add r3, r2 7002ecf6: f3c3 2307 ubfx r3, r3, #8, #8 7002ecfa: ea4f 02c3 mov.w r2, r3, lsl #3 7002ecfe: ea4a 2303 orr.w r3, sl, r3, lsl #8 7002ed02: d914 bls.n 7002ed2e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x566> 7002ed04: f402 62fc and.w r2, r2, #2016 @ 0x7e0 7002ed08: 45a6 cmp lr, r4 7002ed0a: ea48 0802 orr.w r8, r8, r2 7002ed0e: ea48 08da orr.w r8, r8, sl, lsr #3 7002ed12: f824 8c02 strh.w r8, [r4, #-2] 7002ed16: d8a6 bhi.n 7002ec66 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x49e> 7002ed18: 9809 ldr r0, [sp, #36] @ 0x24 7002ed1a: 2300 movs r3, #0 7002ed1c: 9a03 ldr r2, [sp, #12] 7002ed1e: 9309 str r3, [sp, #36] @ 0x24 7002ed20: 1814 adds r4, r2, r0 7002ed22: 9a04 ldr r2, [sp, #16] 7002ed24: 4402 add r2, r0 7002ed26: e9dd 6a0f ldrd r6, sl, [sp, #60] @ 0x3c 7002ed2a: 9204 str r2, [sp, #16] 7002ed2c: e5e8 b.n 7002e900 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x138> 7002ed2e: 45a6 cmp lr, r4 7002ed30: f824 3c02 strh.w r3, [r4, #-2] 7002ed34: d897 bhi.n 7002ec66 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x49e> 7002ed36: e7ef b.n 7002ed18 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x550> 7002ed38: 4607 mov r7, r0 7002ed3a: e603 b.n 7002e944 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x17c> 7002ed3c: 4ecd ldr r6, [pc, #820] @ (7002f074 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x8ac>) 7002ed3e: e6da b.n 7002eaf6 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x32e> 7002ed40: 9b04 ldr r3, [sp, #16] 7002ed42: 0061 lsls r1, r4, #1 7002ed44: eb03 0444 add.w r4, r3, r4, lsl #1 7002ed48: 9b01 ldr r3, [sp, #4] 7002ed4a: 2bff cmp r3, #255 @ 0xff 7002ed4c: f000 8101 beq.w 7002ef52 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x78a> 7002ed50: 4618 mov r0, r3 7002ed52: f3c9 2307 ubfx r3, r9, #8, #8 7002ed56: ea4f 07c9 mov.w r7, r9, lsl #3 7002ed5a: f003 03f8 and.w r3, r3, #248 @ 0xf8 7002ed5e: f007 07f8 and.w r7, r7, #248 @ 0xf8 7002ed62: fb03 f800 mul.w r8, r3, r0 7002ed66: f3c9 03cc ubfx r3, r9, #3, #13 7002ed6a: fb00 f707 mul.w r7, r0, r7 7002ed6e: f003 03fc and.w r3, r3, #252 @ 0xfc 7002ed72: fb03 f300 mul.w r3, r3, r0 7002ed76: 9303 str r3, [sp, #12] 7002ed78: 9b04 ldr r3, [sp, #16] 7002ed7a: 42a3 cmp r3, r4 7002ed7c: f080 81ad bcs.w 7002f0da <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x912> 7002ed80: 9111 str r1, [sp, #68] @ 0x44 7002ed82: 461d mov r5, r3 7002ed84: 990b ldr r1, [sp, #44] @ 0x2c 7002ed86: e9cd 260f strd r2, r6, [sp, #60] @ 0x3c 7002ed8a: f835 3b02 ldrh.w r3, [r5], #2 7002ed8e: 9e03 ldr r6, [sp, #12] 7002ed90: 0a18 lsrs r0, r3, #8 7002ed92: 08da lsrs r2, r3, #3 7002ed94: f000 00f8 and.w r0, r0, #248 @ 0xf8 7002ed98: 00db lsls r3, r3, #3 7002ed9a: f002 02fc and.w r2, r2, #252 @ 0xfc 7002ed9e: fb00 8001 mla r0, r0, r1, r8 7002eda2: b2db uxtb r3, r3 7002eda4: fb02 6201 mla r2, r2, r1, r6 7002eda8: b280 uxth r0, r0 7002edaa: fb03 7301 mla r3, r3, r1, r7 7002edae: fa1f fe82 uxth.w lr, r2 7002edb2: f3c2 2207 ubfx r2, r2, #8, #8 7002edb6: f100 0c01 add.w ip, r0, #1 7002edba: eb0c 2c10 add.w ip, ip, r0, lsr #8 7002edbe: f10e 0001 add.w r0, lr, #1 7002edc2: 4410 add r0, r2 7002edc4: f40c 427f and.w r2, ip, #65280 @ 0xff00 7002edc8: f89b c00c ldrb.w ip, [fp, #12] 7002edcc: f3c0 2007 ubfx r0, r0, #8, #8 7002edd0: f36f 020a bfc r2, #0, #11 7002edd4: f10c 3cff add.w ip, ip, #4294967295 @ 0xffffffff 7002edd8: ea4f 0ec0 mov.w lr, r0, lsl #3 7002eddc: f1bc 0f01 cmp.w ip, #1 7002ede0: f40e 6efc and.w lr, lr, #2016 @ 0x7e0 7002ede4: ea42 020e orr.w r2, r2, lr 7002ede8: fa1f fe83 uxth.w lr, r3 7002edec: f3c3 2307 ubfx r3, r3, #8, #8 7002edf0: f10e 0e01 add.w lr, lr, #1 7002edf4: 4473 add r3, lr 7002edf6: f3c3 2307 ubfx r3, r3, #8, #8 7002edfa: ea42 02d3 orr.w r2, r2, r3, lsr #3 7002edfe: ea43 2300 orr.w r3, r3, r0, lsl #8 7002ee02: d90b bls.n 7002ee1c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x654> 7002ee04: 42a5 cmp r5, r4 7002ee06: f825 2c02 strh.w r2, [r5, #-2] 7002ee0a: d3be bcc.n 7002ed8a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x5c2> 7002ee0c: 9b04 ldr r3, [sp, #16] 7002ee0e: 9911 ldr r1, [sp, #68] @ 0x44 7002ee10: e9dd 260f ldrd r2, r6, [sp, #60] @ 0x3c 7002ee14: 440b add r3, r1 7002ee16: 4614 mov r4, r2 7002ee18: 9304 str r3, [sp, #16] 7002ee1a: e571 b.n 7002e900 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x138> 7002ee1c: 42a5 cmp r5, r4 7002ee1e: f825 3c02 strh.w r3, [r5, #-2] 7002ee22: d3b2 bcc.n 7002ed8a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x5c2> 7002ee24: e7f2 b.n 7002ee0c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x644> 7002ee26: 2bff cmp r3, #255 @ 0xff 7002ee28: f000 80d0 beq.w 7002efcc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x804> 7002ee2c: eb07 0308 add.w r3, r7, r8 7002ee30: 2b40 cmp r3, #64 @ 0x40 7002ee32: f300 8124 bgt.w 7002f07e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x8b6> 7002ee36: 2d00 cmp r5, #0 7002ee38: f43f ad84 beq.w 7002e944 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x17c> 7002ee3c: 4643 mov r3, r8 7002ee3e: 45a8 cmp r8, r5 7002ee40: f06f 4800 mvn.w r8, #2147483648 @ 0x80000000 7002ee44: f04f 0200 mov.w r2, #0 7002ee48: bfa8 it ge 7002ee4a: 462b movge r3, r5 7002ee4c: 4621 mov r1, r4 7002ee4e: 44b8 add r8, r7 7002ee50: 940f str r4, [sp, #60] @ 0x3c 7002ee52: 9510 str r5, [sp, #64] @ 0x40 7002ee54: 4614 mov r4, r2 7002ee56: eb06 0848 add.w r8, r6, r8, lsl #1 7002ee5a: 461d mov r5, r3 7002ee5c: 9604 str r6, [sp, #16] 7002ee5e: 460b mov r3, r1 7002ee60: 2605 movs r6, #5 7002ee62: f813 2b02 ldrb.w r2, [r3], #2 7002ee66: 7848 ldrb r0, [r1, #1] 7002ee68: 1c61 adds r1, r4, #1 7002ee6a: ea42 2200 orr.w r2, r2, r0, lsl #8 7002ee6e: 42a9 cmp r1, r5 7002ee70: ea4f 2cd2 mov.w ip, r2, lsr #11 7002ee74: f3c2 1e45 ubfx lr, r2, #5, #6 7002ee78: f002 001f and.w r0, r2, #31 7002ee7c: 4691 mov r9, r2 7002ee7e: eb0c 0c4c add.w ip, ip, ip, lsl #1 7002ee82: fb16 ce0e smlabb lr, r6, lr, ip 7002ee86: f04f 0607 mov.w r6, #7 7002ee8a: fb16 e000 smlabb r0, r6, r0, lr 7002ee8e: 9e03 ldr r6, [sp, #12] 7002ee90: f000 003f and.w r0, r0, #63 @ 0x3f 7002ee94: f500 6085 add.w r0, r0, #1064 @ 0x428 7002ee98: f826 2010 strh.w r2, [r6, r0, lsl #1] 7002ee9c: f828 2f02 strh.w r2, [r8, #2]! 7002eea0: db2b blt.n 7002eefa <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x732> 7002eea2: 9e04 ldr r6, [sp, #16] 7002eea4: 9404 str r4, [sp, #16] 7002eea6: e9dd 450f ldrd r4, r5, [sp, #60] @ 0x3c 7002eeaa: 42a9 cmp r1, r5 7002eeac: da1f bge.n 7002eeee <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x726> 7002eeae: f04f 0c05 mov.w ip, #5 7002eeb2: 2007 movs r0, #7 7002eeb4: f8dd e00c ldr.w lr, [sp, #12] 7002eeb8: f893 9000 ldrb.w r9, [r3] 7002eebc: 3101 adds r1, #1 7002eebe: 785a ldrb r2, [r3, #1] 7002eec0: 3302 adds r3, #2 7002eec2: 42a9 cmp r1, r5 7002eec4: ea49 2902 orr.w r9, r9, r2, lsl #8 7002eec8: ea4f 22d9 mov.w r2, r9, lsr #11 7002eecc: f3c9 1845 ubfx r8, r9, #5, #6 7002eed0: eb02 0242 add.w r2, r2, r2, lsl #1 7002eed4: fb1c 2808 smlabb r8, ip, r8, r2 7002eed8: f009 021f and.w r2, r9, #31 7002eedc: fb10 8202 smlabb r2, r0, r2, r8 7002eee0: f002 023f and.w r2, r2, #63 @ 0x3f 7002eee4: f502 6285 add.w r2, r2, #1064 @ 0x428 7002eee8: f82e 9012 strh.w r9, [lr, r2, lsl #1] 7002eeec: dbe4 blt.n 7002eeb8 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x6f0> 7002eeee: 3701 adds r7, #1 7002eef0: 9b04 ldr r3, [sp, #16] 7002eef2: eb04 0445 add.w r4, r4, r5, lsl #1 7002eef6: 441f add r7, r3 7002eef8: e524 b.n 7002e944 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x17c> 7002eefa: 460c mov r4, r1 7002eefc: 4619 mov r1, r3 7002eefe: e7ae b.n 7002ee5e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x696> 7002ef00: 9b0a ldr r3, [sp, #40] @ 0x28 7002ef02: 2100 movs r1, #0 7002ef04: 9a0e ldr r2, [sp, #56] @ 0x38 7002ef06: f04f 0900 mov.w r9, #0 7002ef0a: 1c5f adds r7, r3, #1 7002ef0c: f8bd 5050 ldrh.w r5, [sp, #80] @ 0x50 7002ef10: f852 4023 ldr.w r4, [r2, r3, lsl #2] 7002ef14: 2280 movs r2, #128 @ 0x80 7002ef16: 9b0d ldr r3, [sp, #52] @ 0x34 7002ef18: ba24 rev r4, r4 7002ef1a: 980c ldr r0, [sp, #48] @ 0x30 7002ef1c: 441c add r4, r3 7002ef1e: f8bd 3048 ldrh.w r3, [sp, #72] @ 0x48 7002ef22: 1aed subs r5, r5, r3 7002ef24: f00c f9fe bl 7003b324 7002ef28: f7d3 fe12 bl 70002b50 <_ZN8touchgfx5paint8tearDownEv> 7002ef2c: 9b08 ldr r3, [sp, #32] 7002ef2e: 9a04 ldr r2, [sp, #16] 7002ef30: b2ad uxth r5, r5 7002ef32: 4293 cmp r3, r2 7002ef34: f67f ad7f bls.w 7002ea36 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x26e> 7002ef38: 2300 movs r3, #0 7002ef3a: 970a str r7, [sp, #40] @ 0x28 7002ef3c: 9306 str r3, [sp, #24] 7002ef3e: e4c7 b.n 7002e8d0 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x108> 7002ef40: eb07 0308 add.w r3, r7, r8 7002ef44: 2b40 cmp r3, #64 @ 0x40 7002ef46: f73f adc4 bgt.w 7002ead2 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x30a> 7002ef4a: 4638 mov r0, r7 7002ef4c: e5d3 b.n 7002eaf6 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x32e> 7002ef4e: 4614 mov r4, r2 7002ef50: e4c3 b.n 7002e8da <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x112> 7002ef52: 9b04 ldr r3, [sp, #16] 7002ef54: 42a3 cmp r3, r4 7002ef56: f080 80c0 bcs.w 7002f0da <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x912> 7002ef5a: 1e48 subs r0, r1, #1 7002ef5c: fa1f f189 uxth.w r1, r9 7002ef60: 0845 lsrs r5, r0, #1 7002ef62: 2801 cmp r0, #1 7002ef64: f105 0501 add.w r5, r5, #1 7002ef68: d912 bls.n 7002ef90 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x7c8> 7002ef6a: 9c09 ldr r4, [sp, #36] @ 0x24 7002ef6c: 0868 lsrs r0, r5, #1 7002ef6e: f361 040f bfi r4, r1, #0, #16 7002ef72: eb03 0080 add.w r0, r3, r0, lsl #2 7002ef76: f361 441f bfi r4, r1, #16, #16 7002ef7a: f843 4b04 str.w r4, [r3], #4 7002ef7e: 4283 cmp r3, r0 7002ef80: d1fb bne.n 7002ef7a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x7b2> 7002ef82: 07e8 lsls r0, r5, #31 7002ef84: d505 bpl.n 7002ef92 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x7ca> 7002ef86: f025 0301 bic.w r3, r5, #1 7002ef8a: 9804 ldr r0, [sp, #16] 7002ef8c: eb00 0343 add.w r3, r0, r3, lsl #1 7002ef90: 8019 strh r1, [r3, #0] 7002ef92: 9b04 ldr r3, [sp, #16] 7002ef94: 4614 mov r4, r2 7002ef96: eb03 0345 add.w r3, r3, r5, lsl #1 7002ef9a: 9304 str r3, [sp, #16] 7002ef9c: e4b0 b.n 7002e900 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x138> 7002ef9e: 428d cmp r5, r1 7002efa0: f240 809d bls.w 7002f0de <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x916> 7002efa4: 460c mov r4, r1 7002efa6: 4613 mov r3, r2 7002efa8: 462f mov r7, r5 7002efaa: 7819 ldrb r1, [r3, #0] 7002efac: 3302 adds r3, #2 7002efae: f813 5c01 ldrb.w r5, [r3, #-1] 7002efb2: ea41 2105 orr.w r1, r1, r5, lsl #8 7002efb6: f824 1b02 strh.w r1, [r4], #2 7002efba: 42a7 cmp r7, r4 7002efbc: d8f5 bhi.n 7002efaa <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x7e2> 7002efbe: 9b04 ldr r3, [sp, #16] 7002efc0: 1814 adds r4, r2, r0 7002efc2: 4403 add r3, r0 7002efc4: 9304 str r3, [sp, #16] 7002efc6: 2300 movs r3, #0 7002efc8: 9309 str r3, [sp, #36] @ 0x24 7002efca: e499 b.n 7002e900 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x138> 7002efcc: 2d00 cmp r5, #0 7002efce: f43f acb9 beq.w 7002e944 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x17c> 7002efd2: 45a8 cmp r8, r5 7002efd4: 4620 mov r0, r4 7002efd6: f04f 0100 mov.w r1, #0 7002efda: 9404 str r4, [sp, #16] 7002efdc: bfa8 it ge 7002efde: 46a8 movge r8, r5 7002efe0: 4602 mov r2, r0 7002efe2: 2405 movs r4, #5 7002efe4: 3101 adds r1, #1 7002efe6: f812 3b02 ldrb.w r3, [r2], #2 7002efea: 7840 ldrb r0, [r0, #1] 7002efec: 4541 cmp r1, r8 7002efee: ea43 2300 orr.w r3, r3, r0, lsl #8 7002eff2: ea4f 2cd3 mov.w ip, r3, lsr #11 7002eff6: f3c3 1e45 ubfx lr, r3, #5, #6 7002effa: f003 001f and.w r0, r3, #31 7002effe: 4699 mov r9, r3 7002f000: eb0c 0c4c add.w ip, ip, ip, lsl #1 7002f004: fb14 ce0e smlabb lr, r4, lr, ip 7002f008: f04f 0407 mov.w r4, #7 7002f00c: fb14 e000 smlabb r0, r4, r0, lr 7002f010: 9c03 ldr r4, [sp, #12] 7002f012: f000 003f and.w r0, r0, #63 @ 0x3f 7002f016: f500 6085 add.w r0, r0, #1064 @ 0x428 7002f01a: f824 3010 strh.w r3, [r4, r0, lsl #1] 7002f01e: f82b 3b02 strh.w r3, [fp], #2 7002f022: db25 blt.n 7002f070 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x8a8> 7002f024: 42a9 cmp r1, r5 7002f026: 9c04 ldr r4, [sp, #16] 7002f028: da1f bge.n 7002f06a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x8a2> 7002f02a: f04f 0c03 mov.w ip, #3 7002f02e: 2007 movs r0, #7 7002f030: f8dd e00c ldr.w lr, [sp, #12] 7002f034: f892 9000 ldrb.w r9, [r2] 7002f038: 3101 adds r1, #1 7002f03a: 7853 ldrb r3, [r2, #1] 7002f03c: 3202 adds r2, #2 7002f03e: 42a9 cmp r1, r5 7002f040: ea49 2903 orr.w r9, r9, r3, lsl #8 7002f044: f3c9 1345 ubfx r3, r9, #5, #6 7002f048: ea4f 28d9 mov.w r8, r9, lsr #11 7002f04c: eb03 0383 add.w r3, r3, r3, lsl #2 7002f050: fb1c 3808 smlabb r8, ip, r8, r3 7002f054: f009 031f and.w r3, r9, #31 7002f058: fb10 8303 smlabb r3, r0, r3, r8 7002f05c: f003 033f and.w r3, r3, #63 @ 0x3f 7002f060: f503 6385 add.w r3, r3, #1064 @ 0x428 7002f064: f82e 9013 strh.w r9, [lr, r3, lsl #1] 7002f068: dbe4 blt.n 7002f034 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x86c> 7002f06a: eb04 0445 add.w r4, r4, r5, lsl #1 7002f06e: e469 b.n 7002e944 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x17c> 7002f070: 4610 mov r0, r2 7002f072: e7b5 b.n 7002efe0 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x818> 7002f074: 240097c0 .word 0x240097c0 7002f078: 9c0d ldr r4, [sp, #52] @ 0x34 7002f07a: f7ff bbe9 b.w 7002e850 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x88> 7002f07e: 007b lsls r3, r7, #1 7002f080: 4630 mov r0, r6 7002f082: 4619 mov r1, r3 7002f084: 9304 str r3, [sp, #16] 7002f086: f7d3 fd6d bl 70002b64 <_ZN8touchgfx5paint9flushLineEPmi> 7002f08a: 4631 mov r1, r6 7002f08c: 9b01 ldr r3, [sp, #4] 7002f08e: 463a mov r2, r7 7002f090: 4658 mov r0, fp 7002f092: 2700 movs r7, #0 7002f094: f7d3 fd80 bl 70002b98 <_ZN8touchgfx5paint6rgb56514lineFromRGB565EPtPKtjh> 7002f098: 9b04 ldr r3, [sp, #16] 7002f09a: 449b add fp, r3 7002f09c: 4b17 ldr r3, [pc, #92] @ (7002f0fc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x934>) 7002f09e: 429e cmp r6, r3 7002f0a0: bf0c ite eq 7002f0a2: 4e17 ldreq r6, [pc, #92] @ (7002f100 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x938>) 7002f0a4: 4e15 ldrne r6, [pc, #84] @ (7002f0fc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x934>) 7002f0a6: e6c6 b.n 7002ee36 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x66e> 7002f0a8: f44f 6380 mov.w r3, #1024 @ 0x400 7002f0ac: fbb3 f3f2 udiv r3, r3, r2 7002f0b0: 461c mov r4, r3 7002f0b2: 9307 str r3, [sp, #28] 7002f0b4: f7ff bba9 b.w 7002e80a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x42> 7002f0b8: 1b43 subs r3, r0, r5 7002f0ba: eb02 0445 add.w r4, r2, r5, lsl #1 7002f0be: 2b00 cmp r3, #0 7002f0c0: 9302 str r3, [sp, #8] 7002f0c2: dd12 ble.n 7002f0ea <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x922> 7002f0c4: 9905 ldr r1, [sp, #20] 7002f0c6: 4622 mov r2, r4 7002f0c8: 4299 cmp r1, r3 7002f0ca: 460c mov r4, r1 7002f0cc: bfa8 it ge 7002f0ce: 461c movge r4, r3 7002f0d0: 1b1b subs r3, r3, r4 7002f0d2: eba1 0a04 sub.w sl, r1, r4 7002f0d6: 9302 str r3, [sp, #8] 7002f0d8: e5ae b.n 7002ec38 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x470> 7002f0da: 4614 mov r4, r2 7002f0dc: e410 b.n 7002e900 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x138> 7002f0de: 2300 movs r3, #0 7002f0e0: 4614 mov r4, r2 7002f0e2: 9309 str r3, [sp, #36] @ 0x24 7002f0e4: e40c b.n 7002e900 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x138> 7002f0e6: 4607 mov r7, r0 7002f0e8: e428 b.n 7002e93c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x174> 7002f0ea: 2301 movs r3, #1 7002f0ec: f8dd a014 ldr.w sl, [sp, #20] 7002f0f0: 9309 str r3, [sp, #36] @ 0x24 7002f0f2: e405 b.n 7002e900 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x138> 7002f0f4: 4614 mov r4, r2 7002f0f6: f8dd a014 ldr.w sl, [sp, #20] 7002f0fa: e401 b.n 7002e900 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0+0x138> 7002f0fc: 240098c0 .word 0x240098c0 7002f100: 240097c0 .word 0x240097c0 7002f104 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0>: 7002f104: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002f108: b091 sub sp, #68 @ 0x44 7002f10a: 4614 mov r4, r2 7002f10c: 460d mov r5, r1 7002f10e: f89d 2068 ldrb.w r2, [sp, #104] @ 0x68 7002f112: 6861 ldr r1, [r4, #4] 7002f114: 9000 str r0, [sp, #0] 7002f116: 9202 str r2, [sp, #8] 7002f118: aa0c add r2, sp, #48 @ 0x30 7002f11a: 6820 ldr r0, [r4, #0] 7002f11c: c203 stmia r2!, {r0, r1} 7002f11e: 6818 ldr r0, [r3, #0] 7002f120: 6859 ldr r1, [r3, #4] 7002f122: c203 stmia r2!, {r0, r1} 7002f124: a80c add r0, sp, #48 @ 0x30 7002f126: f7e1 fe4f bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 7002f12a: 4621 mov r1, r4 7002f12c: a80e add r0, sp, #56 @ 0x38 7002f12e: f7e1 fe8f bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 7002f132: f9bd 2034 ldrsh.w r2, [sp, #52] @ 0x34 7002f136: f5b2 6f80 cmp.w r2, #1024 @ 0x400 7002f13a: b292 uxth r2, r2 7002f13c: f340 8312 ble.w 7002f764 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x660> 7002f140: 2301 movs r3, #1 7002f142: 461c mov r4, r3 7002f144: 9306 str r3, [sp, #24] 7002f146: f9bd 3036 ldrsh.w r3, [sp, #54] @ 0x36 7002f14a: 3508 adds r5, #8 7002f14c: f8bd 1038 ldrh.w r1, [sp, #56] @ 0x38 7002f150: 4423 add r3, r4 7002f152: 950a str r5, [sp, #40] @ 0x28 7002f154: 3b01 subs r3, #1 7002f156: fb93 f3f4 sdiv r3, r3, r4 7002f15a: 3b01 subs r3, #1 7002f15c: b29b uxth r3, r3 7002f15e: eb05 0783 add.w r7, r5, r3, lsl #2 7002f162: f9bd 303a ldrsh.w r3, [sp, #58] @ 0x3a 7002f166: fb93 f0f4 sdiv r0, r3, r4 7002f16a: b286 uxth r6, r0 7002f16c: 9709 str r7, [sp, #36] @ 0x24 7002f16e: fb04 3416 mls r4, r4, r6, r3 7002f172: 9608 str r6, [sp, #32] 7002f174: fb14 1402 smlabb r4, r4, r2, r1 7002f178: b2a4 uxth r4, r4 7002f17a: 2e00 cmp r6, #0 7002f17c: f000 82f0 beq.w 7002f760 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x65c> 7002f180: 1e72 subs r2, r6, #1 7002f182: f855 6022 ldr.w r6, [r5, r2, lsl #2] 7002f186: ba36 rev r6, r6 7002f188: 443e add r6, r7 7002f18a: f8bd 2030 ldrh.w r2, [sp, #48] @ 0x30 7002f18e: 2500 movs r5, #0 7002f190: f9bd 703e ldrsh.w r7, [sp, #62] @ 0x3e 7002f194: 4411 add r1, r2 7002f196: f8bd 2032 ldrh.w r2, [sp, #50] @ 0x32 7002f19a: 4413 add r3, r2 7002f19c: f8ad 1038 strh.w r1, [sp, #56] @ 0x38 7002f1a0: f8ad 303a strh.w r3, [sp, #58] @ 0x3a 7002f1a4: f9bd 303c ldrsh.w r3, [sp, #60] @ 0x3c 7002f1a8: 9301 str r3, [sp, #4] 7002f1aa: 4bca ldr r3, [pc, #808] @ (7002f4d4 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x3d0>) 7002f1ac: 6818 ldr r0, [r3, #0] 7002f1ae: 6803 ldr r3, [r0, #0] 7002f1b0: 6adb ldr r3, [r3, #44] @ 0x2c 7002f1b2: 4798 blx r3 7002f1b4: 4ac8 ldr r2, [pc, #800] @ (7002f4d8 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x3d4>) 7002f1b6: f9bd 103a ldrsh.w r1, [sp, #58] @ 0x3a 7002f1ba: 8812 ldrh r2, [r2, #0] 7002f1bc: f9bd 3038 ldrsh.w r3, [sp, #56] @ 0x38 7002f1c0: fb02 f707 mul.w r7, r2, r7 7002f1c4: fb02 3301 mla r3, r2, r1, r3 7002f1c8: f44f 7280 mov.w r2, #256 @ 0x100 7002f1cc: 4629 mov r1, r5 7002f1ce: eb00 0b43 add.w fp, r0, r3, lsl #1 7002f1d2: 9b00 ldr r3, [sp, #0] 7002f1d4: f503 6005 add.w r0, r3, #2128 @ 0x850 7002f1d8: f9bd 3034 ldrsh.w r3, [sp, #52] @ 0x34 7002f1dc: eb0b 0747 add.w r7, fp, r7, lsl #1 7002f1e0: 900b str r0, [sp, #44] @ 0x2c 7002f1e2: 9707 str r7, [sp, #28] 7002f1e4: fb94 f3f3 sdiv r3, r4, r3 7002f1e8: 9303 str r3, [sp, #12] 7002f1ea: f00c f89b bl 7003b324 7002f1ee: 45bb cmp fp, r7 7002f1f0: f080 80c7 bcs.w 7002f382 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x27e> 7002f1f4: f8df a2e4 ldr.w sl, [pc, #740] @ 7002f4dc <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x3d8> 7002f1f8: 2c00 cmp r4, #0 7002f1fa: f000 8295 beq.w 7002f728 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x624> 7002f1fe: 2003 movs r0, #3 7002f200: 2107 movs r1, #7 7002f202: 220b movs r2, #11 7002f204: 9f00 ldr r7, [sp, #0] 7002f206: e9cd ab04 strd sl, fp, [sp, #16] 7002f20a: f896 c000 ldrb.w ip, [r6] 7002f20e: f1bc 0ffe cmp.w ip, #254 @ 0xfe 7002f212: fa5f f38c uxtb.w r3, ip 7002f216: f000 80bc beq.w 7002f392 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x28e> 7002f21a: 2bff cmp r3, #255 @ 0xff 7002f21c: f000 80df beq.w 7002f3de <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x2da> 7002f220: ea5f 1e93 movs.w lr, r3, lsr #6 7002f224: f106 0c01 add.w ip, r6, #1 7002f228: f040 8104 bne.w 7002f434 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x330> 7002f22c: 3c01 subs r4, #1 7002f22e: f503 7305 add.w r3, r3, #532 @ 0x214 7002f232: 4666 mov r6, ip 7002f234: b2a4 uxth r4, r4 7002f236: f857 5023 ldr.w r5, [r7, r3, lsl #2] 7002f23a: 2c00 cmp r4, #0 7002f23c: d1e5 bne.n 7002f20a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x106> 7002f23e: e9dd ab04 ldrd sl, fp, [sp, #16] 7002f242: f8dd 8004 ldr.w r8, [sp, #4] 7002f246: f1b8 0f00 cmp.w r8, #0 7002f24a: f340 8082 ble.w 7002f352 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x24e> 7002f24e: 2700 movs r7, #0 7002f250: e01f b.n 7002f292 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x18e> 7002f252: 2bff cmp r3, #255 @ 0xff 7002f254: f000 8115 beq.w 7002f482 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x37e> 7002f258: 099c lsrs r4, r3, #6 7002f25a: f040 812e bne.w 7002f4ba <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x3b6> 7002f25e: 9a00 ldr r2, [sp, #0] 7002f260: f503 7305 add.w r3, r3, #532 @ 0x214 7002f264: 460e mov r6, r1 7002f266: 2401 movs r4, #1 7002f268: f852 5023 ldr.w r5, [r2, r3, lsl #2] 7002f26c: 0e2a lsrs r2, r5, #24 7002f26e: 4544 cmp r4, r8 7002f270: 46a1 mov r9, r4 7002f272: bfa8 it ge 7002f274: 46c1 movge r9, r8 7002f276: eba8 0809 sub.w r8, r8, r9 7002f27a: 2a00 cmp r2, #0 7002f27c: d139 bne.n 7002f2f2 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x1ee> 7002f27e: 2f00 cmp r7, #0 7002f280: f040 80ec bne.w 7002f45c <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x358> 7002f284: f1b8 0f00 cmp.w r8, #0 7002f288: eb0b 0b49 add.w fp, fp, r9, lsl #1 7002f28c: f04f 0700 mov.w r7, #0 7002f290: dd4f ble.n 7002f332 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x22e> 7002f292: 4631 mov r1, r6 7002f294: f811 2b01 ldrb.w r2, [r1], #1 7002f298: 2afe cmp r2, #254 @ 0xfe 7002f29a: b2d3 uxtb r3, r2 7002f29c: d1d9 bne.n 7002f252 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x14e> 7002f29e: 7871 ldrb r1, [r6, #1] 7002f2a0: 2003 movs r0, #3 7002f2a2: 78b3 ldrb r3, [r6, #2] 7002f2a4: 3604 adds r6, #4 7002f2a6: b2c9 uxtb r1, r1 7002f2a8: f816 2c01 ldrb.w r2, [r6, #-1] 7002f2ac: b2db uxtb r3, r3 7002f2ae: f361 0507 bfi r5, r1, #0, #8 7002f2b2: b2d2 uxtb r2, r2 7002f2b4: f363 250f bfi r5, r3, #8, #8 7002f2b8: eb03 0383 add.w r3, r3, r3, lsl #2 7002f2bc: f362 4517 bfi r5, r2, #16, #8 7002f2c0: fb10 3202 smlabb r2, r0, r2, r3 7002f2c4: 2307 movs r3, #7 7002f2c6: fb13 2101 smlabb r1, r3, r1, r2 7002f2ca: 0e2a lsrs r2, r5, #24 7002f2cc: 230b movs r3, #11 7002f2ce: 2401 movs r4, #1 7002f2d0: fb13 1302 smlabb r3, r3, r2, r1 7002f2d4: 4544 cmp r4, r8 7002f2d6: 46a1 mov r9, r4 7002f2d8: 9900 ldr r1, [sp, #0] 7002f2da: f003 033f and.w r3, r3, #63 @ 0x3f 7002f2de: bfa8 it ge 7002f2e0: 46c1 movge r9, r8 7002f2e2: f503 7305 add.w r3, r3, #532 @ 0x214 7002f2e6: eba8 0809 sub.w r8, r8, r9 7002f2ea: f841 5023 str.w r5, [r1, r3, lsl #2] 7002f2ee: 2a00 cmp r2, #0 7002f2f0: d0c5 beq.n 7002f27e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x17a> 7002f2f2: eb09 0307 add.w r3, r9, r7 7002f2f6: 2b40 cmp r3, #64 @ 0x40 7002f2f8: f300 8166 bgt.w 7002f5c8 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x4c4> 7002f2fc: f1b9 0f01 cmp.w r9, #1 7002f300: f000 8179 beq.w 7002f5f6 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x4f2> 7002f304: eb0a 0387 add.w r3, sl, r7, lsl #2 7002f308: ea4f 0259 mov.w r2, r9, lsr #1 7002f30c: eb03 02c2 add.w r2, r3, r2, lsl #3 7002f310: e9c3 5500 strd r5, r5, [r3] 7002f314: 3308 adds r3, #8 7002f316: 4293 cmp r3, r2 7002f318: d1fa bne.n 7002f310 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x20c> 7002f31a: f019 0f01 tst.w r9, #1 7002f31e: f029 0301 bic.w r3, r9, #1 7002f322: d002 beq.n 7002f32a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x226> 7002f324: 443b add r3, r7 7002f326: f84a 5023 str.w r5, [sl, r3, lsl #2] 7002f32a: f1b8 0f00 cmp.w r8, #0 7002f32e: 444f add r7, r9 7002f330: dcaf bgt.n 7002f292 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x18e> 7002f332: 2f00 cmp r7, #0 7002f334: eba4 0409 sub.w r4, r4, r9 7002f338: dd0b ble.n 7002f352 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x24e> 7002f33a: 00b9 lsls r1, r7, #2 7002f33c: 4650 mov r0, sl 7002f33e: f7d3 fc11 bl 70002b64 <_ZN8touchgfx5paint9flushLineEPmi> 7002f342: 4658 mov r0, fp 7002f344: eb0b 0b47 add.w fp, fp, r7, lsl #1 7002f348: 9b02 ldr r3, [sp, #8] 7002f34a: 463a mov r2, r7 7002f34c: 4651 mov r1, sl 7002f34e: f7d3 fc49 bl 70002be4 <_ZN8touchgfx5paint6rgb56516lineFromARGB8888EPtPKmjh> 7002f352: 4b61 ldr r3, [pc, #388] @ (7002f4d8 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x3d4>) 7002f354: 9901 ldr r1, [sp, #4] 7002f356: 881b ldrh r3, [r3, #0] 7002f358: 9a03 ldr r2, [sp, #12] 7002f35a: 1a5b subs r3, r3, r1 7002f35c: 3201 adds r2, #1 7002f35e: eb0b 0b43 add.w fp, fp, r3, lsl #1 7002f362: 9b06 ldr r3, [sp, #24] 7002f364: 9203 str r2, [sp, #12] 7002f366: 429a cmp r2, r3 7002f368: f000 81be beq.w 7002f6e8 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x5e4> 7002f36c: f8bd 3034 ldrh.w r3, [sp, #52] @ 0x34 7002f370: 1a5b subs r3, r3, r1 7002f372: 1b1c subs r4, r3, r4 7002f374: f7d3 fbec bl 70002b50 <_ZN8touchgfx5paint8tearDownEv> 7002f378: 9b07 ldr r3, [sp, #28] 7002f37a: b2a4 uxth r4, r4 7002f37c: 455b cmp r3, fp 7002f37e: f63f af3b bhi.w 7002f1f8 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0xf4> 7002f382: 4b54 ldr r3, [pc, #336] @ (7002f4d4 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x3d0>) 7002f384: 6818 ldr r0, [r3, #0] 7002f386: 6803 ldr r3, [r0, #0] 7002f388: 6b1b ldr r3, [r3, #48] @ 0x30 7002f38a: 4798 blx r3 7002f38c: b011 add sp, #68 @ 0x44 7002f38e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002f392: f896 c001 ldrb.w ip, [r6, #1] 7002f396: 3c01 subs r4, #1 7002f398: 78b3 ldrb r3, [r6, #2] 7002f39a: 3604 adds r6, #4 7002f39c: fa5f fc8c uxtb.w ip, ip 7002f3a0: f816 ec01 ldrb.w lr, [r6, #-1] 7002f3a4: b2db uxtb r3, r3 7002f3a6: f36c 0507 bfi r5, ip, #0, #8 7002f3aa: fa5f fe8e uxtb.w lr, lr 7002f3ae: b2a4 uxth r4, r4 7002f3b0: f363 250f bfi r5, r3, #8, #8 7002f3b4: eb03 0383 add.w r3, r3, r3, lsl #2 7002f3b8: f36e 4517 bfi r5, lr, #16, #8 7002f3bc: fb10 3e0e smlabb lr, r0, lr, r3 7002f3c0: 0e2b lsrs r3, r5, #24 7002f3c2: fb11 ec0c smlabb ip, r1, ip, lr 7002f3c6: fb12 c303 smlabb r3, r2, r3, ip 7002f3ca: f003 033f and.w r3, r3, #63 @ 0x3f 7002f3ce: f503 7305 add.w r3, r3, #532 @ 0x214 7002f3d2: f847 5023 str.w r5, [r7, r3, lsl #2] 7002f3d6: 2c00 cmp r4, #0 7002f3d8: f47f af17 bne.w 7002f20a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x106> 7002f3dc: e72f b.n 7002f23e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x13a> 7002f3de: 7873 ldrb r3, [r6, #1] 7002f3e0: 3c01 subs r4, #1 7002f3e2: f896 c002 ldrb.w ip, [r6, #2] 7002f3e6: 3605 adds r6, #5 7002f3e8: b2db uxtb r3, r3 7002f3ea: f816 ec02 ldrb.w lr, [r6, #-2] 7002f3ee: fa5f fc8c uxtb.w ip, ip 7002f3f2: f363 0507 bfi r5, r3, #0, #8 7002f3f6: fa5f fe8e uxtb.w lr, lr 7002f3fa: b2a4 uxth r4, r4 7002f3fc: f36c 250f bfi r5, ip, #8, #8 7002f400: eb0c 0c8c add.w ip, ip, ip, lsl #2 7002f404: fb10 cc0e smlabb ip, r0, lr, ip 7002f408: f36e 4517 bfi r5, lr, #16, #8 7002f40c: fb11 c303 smlabb r3, r1, r3, ip 7002f410: f816 cc01 ldrb.w ip, [r6, #-1] 7002f414: fa5f fc8c uxtb.w ip, ip 7002f418: fb12 330c smlabb r3, r2, ip, r3 7002f41c: f36c 651f bfi r5, ip, #24, #8 7002f420: f003 033f and.w r3, r3, #63 @ 0x3f 7002f424: f503 7305 add.w r3, r3, #532 @ 0x214 7002f428: f847 5023 str.w r5, [r7, r3, lsl #2] 7002f42c: 2c00 cmp r4, #0 7002f42e: f47f aeec bne.w 7002f20a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x106> 7002f432: e704 b.n 7002f23e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x13a> 7002f434: f1be 0f01 cmp.w lr, #1 7002f438: d054 beq.n 7002f4e4 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x3e0> 7002f43a: f1be 0f02 cmp.w lr, #2 7002f43e: f003 033f and.w r3, r3, #63 @ 0x3f 7002f442: f000 8083 beq.w 7002f54c <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x448> 7002f446: 3301 adds r3, #1 7002f448: 42a3 cmp r3, r4 7002f44a: f300 8108 bgt.w 7002f65e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x55a> 7002f44e: 1ae3 subs r3, r4, r3 7002f450: 4666 mov r6, ip 7002f452: b29c uxth r4, r3 7002f454: 2c00 cmp r4, #0 7002f456: f47f aed8 bne.w 7002f20a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x106> 7002f45a: e6f0 b.n 7002f23e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x13a> 7002f45c: 4650 mov r0, sl 7002f45e: 00b9 lsls r1, r7, #2 7002f460: f7d3 fb80 bl 70002b64 <_ZN8touchgfx5paint9flushLineEPmi> 7002f464: 4651 mov r1, sl 7002f466: 9b02 ldr r3, [sp, #8] 7002f468: 463a mov r2, r7 7002f46a: 4658 mov r0, fp 7002f46c: eb0b 0b47 add.w fp, fp, r7, lsl #1 7002f470: f7d3 fbb8 bl 70002be4 <_ZN8touchgfx5paint6rgb56516lineFromARGB8888EPtPKmjh> 7002f474: 4b19 ldr r3, [pc, #100] @ (7002f4dc <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x3d8>) 7002f476: 4a1a ldr r2, [pc, #104] @ (7002f4e0 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x3dc>) 7002f478: 459a cmp sl, r3 7002f47a: bf14 ite ne 7002f47c: 469a movne sl, r3 7002f47e: 4692 moveq sl, r2 7002f480: e700 b.n 7002f284 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x180> 7002f482: 7871 ldrb r1, [r6, #1] 7002f484: 2003 movs r0, #3 7002f486: 78b3 ldrb r3, [r6, #2] 7002f488: 3605 adds r6, #5 7002f48a: b2c9 uxtb r1, r1 7002f48c: f816 2c02 ldrb.w r2, [r6, #-2] 7002f490: b2db uxtb r3, r3 7002f492: f361 0507 bfi r5, r1, #0, #8 7002f496: b2d2 uxtb r2, r2 7002f498: f363 250f bfi r5, r3, #8, #8 7002f49c: eb03 0383 add.w r3, r3, r3, lsl #2 7002f4a0: fb10 3302 smlabb r3, r0, r2, r3 7002f4a4: f362 4517 bfi r5, r2, #16, #8 7002f4a8: f816 2c01 ldrb.w r2, [r6, #-1] 7002f4ac: 2007 movs r0, #7 7002f4ae: fb10 3101 smlabb r1, r0, r1, r3 7002f4b2: b2d2 uxtb r2, r2 7002f4b4: f362 651f bfi r5, r2, #24, #8 7002f4b8: e708 b.n 7002f2cc <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x1c8> 7002f4ba: 2c01 cmp r4, #1 7002f4bc: ea4f 6215 mov.w r2, r5, lsr #24 7002f4c0: f000 809b beq.w 7002f5fa <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x4f6> 7002f4c4: 2c02 cmp r4, #2 7002f4c6: f003 033f and.w r3, r3, #63 @ 0x3f 7002f4ca: f000 80d9 beq.w 7002f680 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x57c> 7002f4ce: 1c5c adds r4, r3, #1 7002f4d0: 460e mov r6, r1 7002f4d2: e6cc b.n 7002f26e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x16a> 7002f4d4: 2400da80 .word 0x2400da80 7002f4d8: 2400da78 .word 0x2400da78 7002f4dc: 240098c0 .word 0x240098c0 7002f4e0: 240097c0 .word 0x240097c0 7002f4e4: f003 0e03 and.w lr, r3, #3 7002f4e8: 4666 mov r6, ip 7002f4ea: f003 0c0c and.w ip, r3, #12 7002f4ee: f3c3 1301 ubfx r3, r3, #4, #2 7002f4f2: f1ae 0e02 sub.w lr, lr, #2 7002f4f6: 3c01 subs r4, #1 7002f4f8: f1ac 0c08 sub.w ip, ip, #8 7002f4fc: 3b02 subs r3, #2 7002f4fe: eb05 0ece add.w lr, r5, lr, lsl #3 7002f502: b2a4 uxth r4, r4 7002f504: fa5f fe8e uxtb.w lr, lr 7002f508: f36e 0507 bfi r5, lr, #0, #8 7002f50c: eb0c 2c15 add.w ip, ip, r5, lsr #8 7002f510: f00c 0cff and.w ip, ip, #255 @ 0xff 7002f514: f36c 250f bfi r5, ip, #8, #8 7002f518: eb0c 0c8c add.w ip, ip, ip, lsl #2 7002f51c: f3c5 4807 ubfx r8, r5, #16, #8 7002f520: eb08 03c3 add.w r3, r8, r3, lsl #3 7002f524: b2db uxtb r3, r3 7002f526: f363 4517 bfi r5, r3, #16, #8 7002f52a: fb10 c303 smlabb r3, r0, r3, ip 7002f52e: fb11 3e0e smlabb lr, r1, lr, r3 7002f532: 0e2b lsrs r3, r5, #24 7002f534: fb12 e303 smlabb r3, r2, r3, lr 7002f538: f003 033f and.w r3, r3, #63 @ 0x3f 7002f53c: f503 7305 add.w r3, r3, #532 @ 0x214 7002f540: f847 5023 str.w r5, [r7, r3, lsl #2] 7002f544: 2c00 cmp r4, #0 7002f546: f47f ae60 bne.w 7002f20a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x106> 7002f54a: e678 b.n 7002f23e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x13a> 7002f54c: f896 e001 ldrb.w lr, [r6, #1] 7002f550: 3b20 subs r3, #32 7002f552: f04f 0a03 mov.w sl, #3 7002f556: f04f 0907 mov.w r9, #7 7002f55a: f00e 0c0f and.w ip, lr, #15 7002f55e: ea4f 1e1e mov.w lr, lr, lsr #4 7002f562: f04f 080b mov.w r8, #11 7002f566: 3c01 subs r4, #1 7002f568: f1ac 0c08 sub.w ip, ip, #8 7002f56c: f1ae 0e08 sub.w lr, lr, #8 7002f570: b2a4 uxth r4, r4 7002f572: 3602 adds r6, #2 7002f574: 449c add ip, r3 7002f576: 449e add lr, r3 7002f578: eb05 0ccc add.w ip, r5, ip, lsl #3 7002f57c: fa5f fc8c uxtb.w ip, ip 7002f580: f36c 0507 bfi r5, ip, #0, #8 7002f584: f3c5 2b07 ubfx fp, r5, #8, #8 7002f588: eb0b 0383 add.w r3, fp, r3, lsl #2 7002f58c: b2db uxtb r3, r3 7002f58e: f363 250f bfi r5, r3, #8, #8 7002f592: eb03 0383 add.w r3, r3, r3, lsl #2 7002f596: f3c5 4b07 ubfx fp, r5, #16, #8 7002f59a: eb0b 0bce add.w fp, fp, lr, lsl #3 7002f59e: fa5f fb8b uxtb.w fp, fp 7002f5a2: fb1a 3a0b smlabb sl, sl, fp, r3 7002f5a6: f36b 4517 bfi r5, fp, #16, #8 7002f5aa: fb19 a90c smlabb r9, r9, ip, sl 7002f5ae: 0e2b lsrs r3, r5, #24 7002f5b0: fb18 9303 smlabb r3, r8, r3, r9 7002f5b4: f003 033f and.w r3, r3, #63 @ 0x3f 7002f5b8: f503 7305 add.w r3, r3, #532 @ 0x214 7002f5bc: f847 5023 str.w r5, [r7, r3, lsl #2] 7002f5c0: 2c00 cmp r4, #0 7002f5c2: f47f ae22 bne.w 7002f20a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x106> 7002f5c6: e63a b.n 7002f23e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x13a> 7002f5c8: 4650 mov r0, sl 7002f5ca: 00b9 lsls r1, r7, #2 7002f5cc: f7d3 faca bl 70002b64 <_ZN8touchgfx5paint9flushLineEPmi> 7002f5d0: 4651 mov r1, sl 7002f5d2: 9b02 ldr r3, [sp, #8] 7002f5d4: 463a mov r2, r7 7002f5d6: 4658 mov r0, fp 7002f5d8: eb0b 0b47 add.w fp, fp, r7, lsl #1 7002f5dc: f7d3 fb02 bl 70002be4 <_ZN8touchgfx5paint6rgb56516lineFromARGB8888EPtPKmjh> 7002f5e0: 4b66 ldr r3, [pc, #408] @ (7002f77c <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x678>) 7002f5e2: 2700 movs r7, #0 7002f5e4: 459a cmp sl, r3 7002f5e6: bf14 ite ne 7002f5e8: 469a movne sl, r3 7002f5ea: f8df a194 ldreq.w sl, [pc, #404] @ 7002f780 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x67c> 7002f5ee: f1b9 0f01 cmp.w r9, #1 7002f5f2: f47f ae87 bne.w 7002f304 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x200> 7002f5f6: 463b mov r3, r7 7002f5f8: e695 b.n 7002f326 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x222> 7002f5fa: f003 0003 and.w r0, r3, #3 7002f5fe: 460e mov r6, r1 7002f600: f003 010c and.w r1, r3, #12 7002f604: f3c3 1301 ubfx r3, r3, #4, #2 7002f608: 3802 subs r0, #2 7002f60a: f04f 0903 mov.w r9, #3 7002f60e: 3908 subs r1, #8 7002f610: 3b02 subs r3, #2 7002f612: eb05 00c0 add.w r0, r5, r0, lsl #3 7002f616: f04f 0e07 mov.w lr, #7 7002f61a: b2c0 uxtb r0, r0 7002f61c: f360 0507 bfi r5, r0, #0, #8 7002f620: eb01 2115 add.w r1, r1, r5, lsr #8 7002f624: f001 01ff and.w r1, r1, #255 @ 0xff 7002f628: f361 250f bfi r5, r1, #8, #8 7002f62c: eb01 0181 add.w r1, r1, r1, lsl #2 7002f630: f3c5 4c07 ubfx ip, r5, #16, #8 7002f634: eb0c 0cc3 add.w ip, ip, r3, lsl #3 7002f638: 230b movs r3, #11 7002f63a: fa5f fc8c uxtb.w ip, ip 7002f63e: fb19 190c smlabb r9, r9, ip, r1 7002f642: f36c 4517 bfi r5, ip, #16, #8 7002f646: 9900 ldr r1, [sp, #0] 7002f648: fb1e 9e00 smlabb lr, lr, r0, r9 7002f64c: fb13 e302 smlabb r3, r3, r2, lr 7002f650: f003 033f and.w r3, r3, #63 @ 0x3f 7002f654: f503 7305 add.w r3, r3, #532 @ 0x214 7002f658: f841 5023 str.w r5, [r1, r3, lsl #2] 7002f65c: e607 b.n 7002f26e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x16a> 7002f65e: 1b1b subs r3, r3, r4 7002f660: 9a01 ldr r2, [sp, #4] 7002f662: 429a cmp r2, r3 7002f664: 4617 mov r7, r2 7002f666: bfa8 it ge 7002f668: 461f movge r7, r3 7002f66a: 1bdc subs r4, r3, r7 7002f66c: 0e2b lsrs r3, r5, #24 7002f66e: eba2 0807 sub.w r8, r2, r7 7002f672: e9dd ab04 ldrd sl, fp, [sp, #16] 7002f676: d15a bne.n 7002f72e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x62a> 7002f678: eb0b 0b47 add.w fp, fp, r7, lsl #1 7002f67c: 4666 mov r6, ip 7002f67e: e5e2 b.n 7002f246 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x142> 7002f680: 7870 ldrb r0, [r6, #1] 7002f682: 3b20 subs r3, #32 7002f684: f04f 0e07 mov.w lr, #7 7002f688: f04f 0c0b mov.w ip, #11 7002f68c: f000 010f and.w r1, r0, #15 7002f690: 0900 lsrs r0, r0, #4 7002f692: 3602 adds r6, #2 7002f694: 2401 movs r4, #1 7002f696: 3908 subs r1, #8 7002f698: 3808 subs r0, #8 7002f69a: 4419 add r1, r3 7002f69c: 4418 add r0, r3 7002f69e: eb05 01c1 add.w r1, r5, r1, lsl #3 7002f6a2: b2c9 uxtb r1, r1 7002f6a4: f361 0507 bfi r5, r1, #0, #8 7002f6a8: f3c5 2907 ubfx r9, r5, #8, #8 7002f6ac: eb09 0383 add.w r3, r9, r3, lsl #2 7002f6b0: b2db uxtb r3, r3 7002f6b2: f363 250f bfi r5, r3, #8, #8 7002f6b6: eb03 0383 add.w r3, r3, r3, lsl #2 7002f6ba: f3c5 4907 ubfx r9, r5, #16, #8 7002f6be: eb09 09c0 add.w r9, r9, r0, lsl #3 7002f6c2: 2003 movs r0, #3 7002f6c4: fa5f f989 uxtb.w r9, r9 7002f6c8: fb10 3309 smlabb r3, r0, r9, r3 7002f6cc: f369 4517 bfi r5, r9, #16, #8 7002f6d0: fb1e 3e01 smlabb lr, lr, r1, r3 7002f6d4: 9900 ldr r1, [sp, #0] 7002f6d6: fb1c e302 smlabb r3, ip, r2, lr 7002f6da: f003 033f and.w r3, r3, #63 @ 0x3f 7002f6de: f503 7305 add.w r3, r3, #532 @ 0x214 7002f6e2: f841 5023 str.w r5, [r1, r3, lsl #2] 7002f6e6: e5c2 b.n 7002f26e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x16a> 7002f6e8: 9b08 ldr r3, [sp, #32] 7002f6ea: 2500 movs r5, #0 7002f6ec: 9a0a ldr r2, [sp, #40] @ 0x28 7002f6ee: 1c5f adds r7, r3, #1 7002f6f0: f8bd 4038 ldrh.w r4, [sp, #56] @ 0x38 7002f6f4: f852 6023 ldr.w r6, [r2, r3, lsl #2] 7002f6f8: 4629 mov r1, r5 7002f6fa: 9b09 ldr r3, [sp, #36] @ 0x24 7002f6fc: f44f 7280 mov.w r2, #256 @ 0x100 7002f700: ba36 rev r6, r6 7002f702: 980b ldr r0, [sp, #44] @ 0x2c 7002f704: 441e add r6, r3 7002f706: f8bd 3030 ldrh.w r3, [sp, #48] @ 0x30 7002f70a: 1ae4 subs r4, r4, r3 7002f70c: f00b fe0a bl 7003b324 7002f710: f7d3 fa1e bl 70002b50 <_ZN8touchgfx5paint8tearDownEv> 7002f714: 9b07 ldr r3, [sp, #28] 7002f716: b2a4 uxth r4, r4 7002f718: 455b cmp r3, fp 7002f71a: f67f ae32 bls.w 7002f382 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x27e> 7002f71e: 9708 str r7, [sp, #32] 7002f720: 9503 str r5, [sp, #12] 7002f722: 2c00 cmp r4, #0 7002f724: f47f ad6b bne.w 7002f1fe <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0xfa> 7002f728: f8dd 8004 ldr.w r8, [sp, #4] 7002f72c: e58b b.n 7002f246 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x142> 7002f72e: 2f00 cmp r7, #0 7002f730: dd1f ble.n 7002f772 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x66e> 7002f732: 2f01 cmp r7, #1 7002f734: d01f beq.n 7002f776 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x672> 7002f736: 087a lsrs r2, r7, #1 7002f738: 4653 mov r3, sl 7002f73a: eb0a 02c2 add.w r2, sl, r2, lsl #3 7002f73e: e9c3 5500 strd r5, r5, [r3] 7002f742: 3308 adds r3, #8 7002f744: 429a cmp r2, r3 7002f746: d1fa bne.n 7002f73e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x63a> 7002f748: 07fb lsls r3, r7, #31 7002f74a: d503 bpl.n 7002f754 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x650> 7002f74c: f027 0301 bic.w r3, r7, #1 7002f750: f84a 5023 str.w r5, [sl, r3, lsl #2] 7002f754: f1b8 0f00 cmp.w r8, #0 7002f758: 4666 mov r6, ip 7002f75a: f73f ad9a bgt.w 7002f292 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x18e> 7002f75e: e5ec b.n 7002f33a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x236> 7002f760: 463e mov r6, r7 7002f762: e512 b.n 7002f18a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x86> 7002f764: f44f 6380 mov.w r3, #1024 @ 0x400 7002f768: fbb3 f3f2 udiv r3, r3, r2 7002f76c: 461c mov r4, r3 7002f76e: 9306 str r3, [sp, #24] 7002f770: e4e9 b.n 7002f146 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x42> 7002f772: 4666 mov r6, ip 7002f774: e567 b.n 7002f246 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x142> 7002f776: 2300 movs r3, #0 7002f778: e7ea b.n 7002f750 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0+0x64c> 7002f77a: bf00 nop 7002f77c: 240098c0 .word 0x240098c0 7002f780: 240097c0 .word 0x240097c0 7002f784 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0>: 7002f784: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002f788: b095 sub sp, #84 @ 0x54 7002f78a: 4614 mov r4, r2 7002f78c: 4681 mov r9, r0 7002f78e: 460d mov r5, r1 7002f790: f89d 2078 ldrb.w r2, [sp, #120] @ 0x78 7002f794: 6820 ldr r0, [r4, #0] 7002f796: 6861 ldr r1, [r4, #4] 7002f798: 9205 str r2, [sp, #20] 7002f79a: aa10 add r2, sp, #64 @ 0x40 7002f79c: c203 stmia r2!, {r0, r1} 7002f79e: 6818 ldr r0, [r3, #0] 7002f7a0: 6859 ldr r1, [r3, #4] 7002f7a2: c203 stmia r2!, {r0, r1} 7002f7a4: a810 add r0, sp, #64 @ 0x40 7002f7a6: f7e1 fb0f bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 7002f7aa: 4621 mov r1, r4 7002f7ac: a812 add r0, sp, #72 @ 0x48 7002f7ae: f7e1 fb4f bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 7002f7b2: f9bd 2044 ldrsh.w r2, [sp, #68] @ 0x44 7002f7b6: f5b2 6f80 cmp.w r2, #1024 @ 0x400 7002f7ba: b292 uxth r2, r2 7002f7bc: f340 82ee ble.w 7002fd9c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x618> 7002f7c0: 2301 movs r3, #1 7002f7c2: 461c mov r4, r3 7002f7c4: 9307 str r3, [sp, #28] 7002f7c6: f9bd 3046 ldrsh.w r3, [sp, #70] @ 0x46 7002f7ca: f105 0608 add.w r6, r5, #8 7002f7ce: f8bd 1048 ldrh.w r1, [sp, #72] @ 0x48 7002f7d2: 4423 add r3, r4 7002f7d4: 960f str r6, [sp, #60] @ 0x3c 7002f7d6: 3b01 subs r3, #1 7002f7d8: fb93 f3f4 sdiv r3, r3, r4 7002f7dc: 3b01 subs r3, #1 7002f7de: b29b uxth r3, r3 7002f7e0: eb06 0383 add.w r3, r6, r3, lsl #2 7002f7e4: 930e str r3, [sp, #56] @ 0x38 7002f7e6: f9bd 304a ldrsh.w r3, [sp, #74] @ 0x4a 7002f7ea: fb93 f0f4 sdiv r0, r3, r4 7002f7ee: b287 uxth r7, r0 7002f7f0: fb04 3517 mls r5, r4, r7, r3 7002f7f4: 970c str r7, [sp, #48] @ 0x30 7002f7f6: fb15 1502 smlabb r5, r5, r2, r1 7002f7fa: b2ad uxth r5, r5 7002f7fc: 2f00 cmp r7, #0 7002f7fe: f000 82cb beq.w 7002fd98 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x614> 7002f802: 1e7a subs r2, r7, #1 7002f804: f856 4022 ldr.w r4, [r6, r2, lsl #2] 7002f808: 9a0e ldr r2, [sp, #56] @ 0x38 7002f80a: ba24 rev r4, r4 7002f80c: 4414 add r4, r2 7002f80e: f8bd 2040 ldrh.w r2, [sp, #64] @ 0x40 7002f812: f04f 0a00 mov.w sl, #0 7002f816: f9bd 604e ldrsh.w r6, [sp, #78] @ 0x4e 7002f81a: 4411 add r1, r2 7002f81c: f8bd 2042 ldrh.w r2, [sp, #66] @ 0x42 7002f820: 4fc7 ldr r7, [pc, #796] @ (7002fb40 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x3bc>) 7002f822: 4413 add r3, r2 7002f824: f8ad 1048 strh.w r1, [sp, #72] @ 0x48 7002f828: f8ad 304a strh.w r3, [sp, #74] @ 0x4a 7002f82c: f9bd 304c ldrsh.w r3, [sp, #76] @ 0x4c 7002f830: 9303 str r3, [sp, #12] 7002f832: 4bc4 ldr r3, [pc, #784] @ (7002fb44 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x3c0>) 7002f834: 6818 ldr r0, [r3, #0] 7002f836: 6803 ldr r3, [r0, #0] 7002f838: 6adb ldr r3, [r3, #44] @ 0x2c 7002f83a: 4798 blx r3 7002f83c: f509 6205 add.w r2, r9, #2128 @ 0x850 7002f840: f9bd 104a ldrsh.w r1, [sp, #74] @ 0x4a 7002f844: 920d str r2, [sp, #52] @ 0x34 7002f846: f9bd 3048 ldrsh.w r3, [sp, #72] @ 0x48 7002f84a: 883a ldrh r2, [r7, #0] 7002f84c: fb02 3301 mla r3, r2, r1, r3 7002f850: 2100 movs r1, #0 7002f852: fb02 f606 mul.w r6, r2, r6 7002f856: 2280 movs r2, #128 @ 0x80 7002f858: eb00 0783 add.w r7, r0, r3, lsl #2 7002f85c: f9bd 3044 ldrsh.w r3, [sp, #68] @ 0x44 7002f860: 980d ldr r0, [sp, #52] @ 0x34 7002f862: eb07 0686 add.w r6, r7, r6, lsl #2 7002f866: 9701 str r7, [sp, #4] 7002f868: fb95 f3f3 sdiv r3, r5, r3 7002f86c: 9608 str r6, [sp, #32] 7002f86e: 9304 str r3, [sp, #16] 7002f870: f00b fd58 bl 7003b324 7002f874: 42b7 cmp r7, r6 7002f876: d261 bcs.n 7002f93c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x1b8> 7002f878: f8df b2cc ldr.w fp, [pc, #716] @ 7002fb48 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x3c4> 7002f87c: 2300 movs r3, #0 7002f87e: 465e mov r6, fp 7002f880: 46cb mov fp, r9 7002f882: 9306 str r3, [sp, #24] 7002f884: b195 cbz r5, 7002f8ac <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x128> 7002f886: f04f 0e03 mov.w lr, #3 7002f88a: f04f 0c07 mov.w ip, #7 7002f88e: 4622 mov r2, r4 7002f890: f812 3b01 ldrb.w r3, [r2], #1 7002f894: b2d9 uxtb r1, r3 7002f896: 099b lsrs r3, r3, #6 7002f898: d158 bne.n 7002f94c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x1c8> 7002f89a: 3d01 subs r5, #1 7002f89c: f501 6185 add.w r1, r1, #1064 @ 0x428 7002f8a0: 4614 mov r4, r2 7002f8a2: b2ad uxth r5, r5 7002f8a4: f83b a011 ldrh.w sl, [fp, r1, lsl #1] 7002f8a8: 2d00 cmp r5, #0 7002f8aa: d1f0 bne.n 7002f88e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x10a> 7002f8ac: 462f mov r7, r5 7002f8ae: f8dd 900c ldr.w r9, [sp, #12] 7002f8b2: 9502 str r5, [sp, #8] 7002f8b4: f1b9 0f00 cmp.w r9, #0 7002f8b8: dd14 ble.n 7002f8e4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x160> 7002f8ba: f814 3b01 ldrb.w r3, [r4], #1 7002f8be: b2dd uxtb r5, r3 7002f8c0: 099b lsrs r3, r3, #6 7002f8c2: d153 bne.n 7002f96c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x1e8> 7002f8c4: f505 6585 add.w r5, r5, #1064 @ 0x428 7002f8c8: 2f3f cmp r7, #63 @ 0x3f 7002f8ca: f109 39ff add.w r9, r9, #4294967295 @ 0xffffffff 7002f8ce: f83b a015 ldrh.w sl, [fp, r5, lsl #1] 7002f8d2: f300 8081 bgt.w 7002f9d8 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x254> 7002f8d6: f1b9 0f00 cmp.w r9, #0 7002f8da: f826 a017 strh.w sl, [r6, r7, lsl #1] 7002f8de: f107 0701 add.w r7, r7, #1 7002f8e2: dcea bgt.n 7002f8ba <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x136> 7002f8e4: 2f00 cmp r7, #0 7002f8e6: dd0d ble.n 7002f904 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x180> 7002f8e8: 0079 lsls r1, r7, #1 7002f8ea: 4630 mov r0, r6 7002f8ec: f7d3 f93a bl 70002b64 <_ZN8touchgfx5paint9flushLineEPmi> 7002f8f0: 9d01 ldr r5, [sp, #4] 7002f8f2: 9b05 ldr r3, [sp, #20] 7002f8f4: b23a sxth r2, r7 7002f8f6: 4631 mov r1, r6 7002f8f8: 4628 mov r0, r5 7002f8fa: f7d3 f9b9 bl 70002c70 <_ZN8touchgfx5paint8argb888814lineFromRGB565EPhPKtsh> 7002f8fe: eb05 0387 add.w r3, r5, r7, lsl #2 7002f902: 9301 str r3, [sp, #4] 7002f904: 4b8e ldr r3, [pc, #568] @ (7002fb40 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x3bc>) 7002f906: 9903 ldr r1, [sp, #12] 7002f908: 881b ldrh r3, [r3, #0] 7002f90a: 9a04 ldr r2, [sp, #16] 7002f90c: 1a5b subs r3, r3, r1 7002f90e: 9901 ldr r1, [sp, #4] 7002f910: 3201 adds r2, #1 7002f912: eb01 0383 add.w r3, r1, r3, lsl #2 7002f916: 9204 str r2, [sp, #16] 7002f918: 9301 str r3, [sp, #4] 7002f91a: 9b07 ldr r3, [sp, #28] 7002f91c: 429a cmp r2, r3 7002f91e: f000 8216 beq.w 7002fd4e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x5ca> 7002f922: 9b03 ldr r3, [sp, #12] 7002f924: f8bd 5044 ldrh.w r5, [sp, #68] @ 0x44 7002f928: 1aed subs r5, r5, r3 7002f92a: 9b02 ldr r3, [sp, #8] 7002f92c: 1aed subs r5, r5, r3 7002f92e: f7d3 f90f bl 70002b50 <_ZN8touchgfx5paint8tearDownEv> 7002f932: 9b08 ldr r3, [sp, #32] 7002f934: 9a01 ldr r2, [sp, #4] 7002f936: b2ad uxth r5, r5 7002f938: 4293 cmp r3, r2 7002f93a: d8a3 bhi.n 7002f884 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x100> 7002f93c: 4b81 ldr r3, [pc, #516] @ (7002fb44 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x3c0>) 7002f93e: 6818 ldr r0, [r3, #0] 7002f940: 6803 ldr r3, [r0, #0] 7002f942: 6b1b ldr r3, [r3, #48] @ 0x30 7002f944: 4798 blx r3 7002f946: b015 add sp, #84 @ 0x54 7002f948: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7002f94c: 2b01 cmp r3, #1 7002f94e: d05b beq.n 7002fa08 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x284> 7002f950: 2b02 cmp r3, #2 7002f952: f001 013f and.w r1, r1, #63 @ 0x3f 7002f956: f000 80c2 beq.w 7002fade <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x35a> 7002f95a: 42a9 cmp r1, r5 7002f95c: f200 80f6 bhi.w 7002fb4c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x3c8> 7002f960: 1a69 subs r1, r5, r1 7002f962: 4614 mov r4, r2 7002f964: b28d uxth r5, r1 7002f966: 2d00 cmp r5, #0 7002f968: d191 bne.n 7002f88e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x10a> 7002f96a: e79f b.n 7002f8ac <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x128> 7002f96c: 2b01 cmp r3, #1 7002f96e: d07c beq.n 7002fa6a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x2e6> 7002f970: f005 053f and.w r5, r5, #63 @ 0x3f 7002f974: 46c8 mov r8, r9 7002f976: 45a9 cmp r9, r5 7002f978: bfa8 it ge 7002f97a: 46a8 movge r8, r5 7002f97c: 2b02 cmp r3, #2 7002f97e: eba5 0208 sub.w r2, r5, r8 7002f982: eba9 0908 sub.w r9, r9, r8 7002f986: 9202 str r2, [sp, #8] 7002f988: eb07 0208 add.w r2, r7, r8 7002f98c: f000 8146 beq.w 7002fc1c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x498> 7002f990: 2a40 cmp r2, #64 @ 0x40 7002f992: dc24 bgt.n 7002f9de <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x25a> 7002f994: f1b8 0f00 cmp.w r8, #0 7002f998: d08c beq.n 7002f8b4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x130> 7002f99a: f1b8 0f01 cmp.w r8, #1 7002f99e: fa1f f28a uxth.w r2, sl 7002f9a2: f000 81b7 beq.w 7002fd14 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x590> 7002f9a6: 2000 movs r0, #0 7002f9a8: eb06 0347 add.w r3, r6, r7, lsl #1 7002f9ac: ea4f 0158 mov.w r1, r8, lsr #1 7002f9b0: f362 000f bfi r0, r2, #0, #16 7002f9b4: eb03 0181 add.w r1, r3, r1, lsl #2 7002f9b8: f362 401f bfi r0, r2, #16, #16 7002f9bc: f843 0b04 str.w r0, [r3], #4 7002f9c0: 428b cmp r3, r1 7002f9c2: d1fb bne.n 7002f9bc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x238> 7002f9c4: f018 0f01 tst.w r8, #1 7002f9c8: f028 0301 bic.w r3, r8, #1 7002f9cc: d002 beq.n 7002f9d4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x250> 7002f9ce: 443b add r3, r7 7002f9d0: f826 2013 strh.w r2, [r6, r3, lsl #1] 7002f9d4: 4447 add r7, r8 7002f9d6: e76d b.n 7002f8b4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x130> 7002f9d8: f04f 0801 mov.w r8, #1 7002f9dc: 9302 str r3, [sp, #8] 7002f9de: 0079 lsls r1, r7, #1 7002f9e0: 4630 mov r0, r6 7002f9e2: f7d3 f8bf bl 70002b64 <_ZN8touchgfx5paint9flushLineEPmi> 7002f9e6: 9d01 ldr r5, [sp, #4] 7002f9e8: 9b05 ldr r3, [sp, #20] 7002f9ea: b23a sxth r2, r7 7002f9ec: 4631 mov r1, r6 7002f9ee: 4628 mov r0, r5 7002f9f0: f7d3 f93e bl 70002c70 <_ZN8touchgfx5paint8argb888814lineFromRGB565EPhPKtsh> 7002f9f4: eb05 0387 add.w r3, r5, r7, lsl #2 7002f9f8: 2700 movs r7, #0 7002f9fa: 9301 str r3, [sp, #4] 7002f9fc: 4b52 ldr r3, [pc, #328] @ (7002fb48 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x3c4>) 7002f9fe: 429e cmp r6, r3 7002fa00: f000 8186 beq.w 7002fd10 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x58c> 7002fa04: 4e50 ldr r6, [pc, #320] @ (7002fb48 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x3c4>) 7002fa06: e7c5 b.n 7002f994 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x210> 7002fa08: f3ca 0304 ubfx r3, sl, #0, #5 7002fa0c: 4614 mov r4, r2 7002fa0e: f001 0203 and.w r2, r1, #3 7002fa12: 3d01 subs r5, #1 7002fa14: 3b02 subs r3, #2 7002fa16: b2ad uxth r5, r5 7002fa18: 4413 add r3, r2 7002fa1a: f3c1 0281 ubfx r2, r1, #2, #2 7002fa1e: f3c1 1101 ubfx r1, r1, #4, #2 7002fa22: f003 031f and.w r3, r3, #31 7002fa26: f363 0a04 bfi sl, r3, #0, #5 7002fa2a: f3ca 1045 ubfx r0, sl, #5, #6 7002fa2e: 3802 subs r0, #2 7002fa30: 4402 add r2, r0 7002fa32: f002 023f and.w r2, r2, #63 @ 0x3f 7002fa36: f362 1a4a bfi sl, r2, #5, #6 7002fa3a: eb02 0282 add.w r2, r2, r2, lsl #2 7002fa3e: f3ca 20c4 ubfx r0, sl, #11, #5 7002fa42: 3802 subs r0, #2 7002fa44: 4401 add r1, r0 7002fa46: f001 011f and.w r1, r1, #31 7002fa4a: fb1e 2201 smlabb r2, lr, r1, r2 7002fa4e: f361 2acf bfi sl, r1, #11, #5 7002fa52: fb1c 2303 smlabb r3, ip, r3, r2 7002fa56: f003 033f and.w r3, r3, #63 @ 0x3f 7002fa5a: f503 6385 add.w r3, r3, #1064 @ 0x428 7002fa5e: f82b a013 strh.w sl, [fp, r3, lsl #1] 7002fa62: 2d00 cmp r5, #0 7002fa64: f47f af13 bne.w 7002f88e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x10a> 7002fa68: e720 b.n 7002f8ac <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x128> 7002fa6a: f3ca 0204 ubfx r2, sl, #0, #5 7002fa6e: f005 0103 and.w r1, r5, #3 7002fa72: 2f3f cmp r7, #63 @ 0x3f 7002fa74: f109 39ff add.w r9, r9, #4294967295 @ 0xffffffff 7002fa78: f1a2 0202 sub.w r2, r2, #2 7002fa7c: 440a add r2, r1 7002fa7e: f3c5 0181 ubfx r1, r5, #2, #2 7002fa82: f3c5 1501 ubfx r5, r5, #4, #2 7002fa86: f002 021f and.w r2, r2, #31 7002fa8a: f362 0a04 bfi sl, r2, #0, #5 7002fa8e: f3ca 1045 ubfx r0, sl, #5, #6 7002fa92: f1a0 0002 sub.w r0, r0, #2 7002fa96: 4401 add r1, r0 7002fa98: f001 013f and.w r1, r1, #63 @ 0x3f 7002fa9c: f361 1a4a bfi sl, r1, #5, #6 7002faa0: eb01 0181 add.w r1, r1, r1, lsl #2 7002faa4: f3ca 20c4 ubfx r0, sl, #11, #5 7002faa8: f1a0 0002 sub.w r0, r0, #2 7002faac: 4428 add r0, r5 7002faae: f04f 0503 mov.w r5, #3 7002fab2: f000 001f and.w r0, r0, #31 7002fab6: fb15 1100 smlabb r1, r5, r0, r1 7002faba: f360 2acf bfi sl, r0, #11, #5 7002fabe: f04f 0007 mov.w r0, #7 7002fac2: fb10 1202 smlabb r2, r0, r2, r1 7002fac6: f002 023f and.w r2, r2, #63 @ 0x3f 7002faca: f502 6285 add.w r2, r2, #1064 @ 0x428 7002face: f82b a012 strh.w sl, [fp, r2, lsl #1] 7002fad2: f77f af00 ble.w 7002f8d6 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x152> 7002fad6: 4698 mov r8, r3 7002fad8: 2300 movs r3, #0 7002fada: 9302 str r3, [sp, #8] 7002fadc: e77f b.n 7002f9de <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x25a> 7002fade: 2900 cmp r1, #0 7002fae0: f000 8158 beq.w 7002fd94 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x610> 7002fae4: fb03 4301 mla r3, r3, r1, r4 7002fae8: f04f 0805 mov.w r8, #5 7002faec: 4614 mov r4, r2 7002faee: 2707 movs r7, #7 7002faf0: 3301 adds r3, #1 7002faf2: 4620 mov r0, r4 7002faf4: f894 a000 ldrb.w sl, [r4] 7002faf8: 3402 adds r4, #2 7002fafa: 7840 ldrb r0, [r0, #1] 7002fafc: 42a3 cmp r3, r4 7002fafe: ea4a 2a00 orr.w sl, sl, r0, lsl #8 7002fb02: ea4f 20da mov.w r0, sl, lsr #11 7002fb06: f3ca 1945 ubfx r9, sl, #5, #6 7002fb0a: eb00 0040 add.w r0, r0, r0, lsl #1 7002fb0e: fb18 0909 smlabb r9, r8, r9, r0 7002fb12: f00a 001f and.w r0, sl, #31 7002fb16: fb17 9000 smlabb r0, r7, r0, r9 7002fb1a: f000 003f and.w r0, r0, #63 @ 0x3f 7002fb1e: f500 6085 add.w r0, r0, #1064 @ 0x428 7002fb22: f82b a010 strh.w sl, [fp, r0, lsl #1] 7002fb26: d1e4 bne.n 7002faf2 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x36e> 7002fb28: 42a9 cmp r1, r5 7002fb2a: f200 813e bhi.w 7002fdaa <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x626> 7002fb2e: 1a6d subs r5, r5, r1 7002fb30: eb02 0441 add.w r4, r2, r1, lsl #1 7002fb34: b2ad uxth r5, r5 7002fb36: 2d00 cmp r5, #0 7002fb38: f47f aea9 bne.w 7002f88e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x10a> 7002fb3c: e6b6 b.n 7002f8ac <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x128> 7002fb3e: bf00 nop 7002fb40: 2400da78 .word 0x2400da78 7002fb44: 2400da80 .word 0x2400da80 7002fb48: 240098c0 .word 0x240098c0 7002fb4c: 1b4b subs r3, r1, r5 7002fb4e: 2b00 cmp r3, #0 7002fb50: f340 8147 ble.w 7002fde2 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x65e> 7002fb54: 9903 ldr r1, [sp, #12] 7002fb56: 4299 cmp r1, r3 7002fb58: 460f mov r7, r1 7002fb5a: bfa8 it ge 7002fb5c: 461f movge r7, r3 7002fb5e: eba1 0907 sub.w r9, r1, r7 7002fb62: 1bd9 subs r1, r3, r7 7002fb64: 9102 str r1, [sp, #8] 7002fb66: 9906 ldr r1, [sp, #24] 7002fb68: 2900 cmp r1, #0 7002fb6a: f000 80d5 beq.w 7002fd18 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x594> 7002fb6e: 2f00 cmp r7, #0 7002fb70: f340 810d ble.w 7002fd8e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x60a> 7002fb74: 429f cmp r7, r3 7002fb76: 4639 mov r1, r7 7002fb78: 9306 str r3, [sp, #24] 7002fb7a: f1a6 0e02 sub.w lr, r6, #2 7002fb7e: bfa8 it ge 7002fb80: 4619 movge r1, r3 7002fb82: 4614 mov r4, r2 7002fb84: 2700 movs r7, #0 7002fb86: f04f 0805 mov.w r8, #5 7002fb8a: 460b mov r3, r1 7002fb8c: 4621 mov r1, r4 7002fb8e: 3701 adds r7, #1 7002fb90: f811 0b02 ldrb.w r0, [r1], #2 7002fb94: 429f cmp r7, r3 7002fb96: 7864 ldrb r4, [r4, #1] 7002fb98: ea40 2004 orr.w r0, r0, r4, lsl #8 7002fb9c: ea4f 25d0 mov.w r5, r0, lsr #11 7002fba0: f3c0 1c45 ubfx ip, r0, #5, #6 7002fba4: f000 041f and.w r4, r0, #31 7002fba8: 4682 mov sl, r0 7002fbaa: eb05 0545 add.w r5, r5, r5, lsl #1 7002fbae: fb18 5c0c smlabb ip, r8, ip, r5 7002fbb2: f04f 0507 mov.w r5, #7 7002fbb6: fb15 c404 smlabb r4, r5, r4, ip 7002fbba: f004 043f and.w r4, r4, #63 @ 0x3f 7002fbbe: f504 6485 add.w r4, r4, #1064 @ 0x428 7002fbc2: f82b 0014 strh.w r0, [fp, r4, lsl #1] 7002fbc6: f82e 0f02 strh.w r0, [lr, #2]! 7002fbca: f2c0 809f blt.w 7002fd0c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x588> 7002fbce: 9b06 ldr r3, [sp, #24] 7002fbd0: 42bb cmp r3, r7 7002fbd2: dd1e ble.n 7002fc12 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x48e> 7002fbd4: 463c mov r4, r7 7002fbd6: f04f 0c05 mov.w ip, #5 7002fbda: 2507 movs r5, #7 7002fbdc: f891 a000 ldrb.w sl, [r1] 7002fbe0: 3401 adds r4, #1 7002fbe2: 7848 ldrb r0, [r1, #1] 7002fbe4: 3102 adds r1, #2 7002fbe6: 42a3 cmp r3, r4 7002fbe8: ea4a 2a00 orr.w sl, sl, r0, lsl #8 7002fbec: ea4f 20da mov.w r0, sl, lsr #11 7002fbf0: f3ca 1e45 ubfx lr, sl, #5, #6 7002fbf4: eb00 0040 add.w r0, r0, r0, lsl #1 7002fbf8: fb1c 0e0e smlabb lr, ip, lr, r0 7002fbfc: f00a 001f and.w r0, sl, #31 7002fc00: fb15 e000 smlabb r0, r5, r0, lr 7002fc04: f000 003f and.w r0, r0, #63 @ 0x3f 7002fc08: f500 6085 add.w r0, r0, #1064 @ 0x428 7002fc0c: f82b a010 strh.w sl, [fp, r0, lsl #1] 7002fc10: dce4 bgt.n 7002fbdc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x458> 7002fc12: eb02 0443 add.w r4, r2, r3, lsl #1 7002fc16: 2300 movs r3, #0 7002fc18: 9306 str r3, [sp, #24] 7002fc1a: e64b b.n 7002f8b4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x130> 7002fc1c: 2a40 cmp r2, #64 @ 0x40 7002fc1e: dc5d bgt.n 7002fcdc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x558> 7002fc20: 2d00 cmp r5, #0 7002fc22: f43f ae47 beq.w 7002f8b4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x130> 7002fc26: 4643 mov r3, r8 7002fc28: 45a8 cmp r8, r5 7002fc2a: f06f 4800 mvn.w r8, #2147483648 @ 0x80000000 7002fc2e: f04f 0200 mov.w r2, #0 7002fc32: bfa8 it ge 7002fc34: 462b movge r3, r5 7002fc36: 4620 mov r0, r4 7002fc38: 44b8 add r8, r7 7002fc3a: 9409 str r4, [sp, #36] @ 0x24 7002fc3c: 4614 mov r4, r2 7002fc3e: eb06 0848 add.w r8, r6, r8, lsl #1 7002fc42: e9cd 650a strd r6, r5, [sp, #40] @ 0x28 7002fc46: 461d mov r5, r3 7002fc48: 4603 mov r3, r0 7002fc4a: 2605 movs r6, #5 7002fc4c: 1c61 adds r1, r4, #1 7002fc4e: f813 2b02 ldrb.w r2, [r3], #2 7002fc52: 7840 ldrb r0, [r0, #1] 7002fc54: 42a9 cmp r1, r5 7002fc56: ea42 2200 orr.w r2, r2, r0, lsl #8 7002fc5a: ea4f 2cd2 mov.w ip, r2, lsr #11 7002fc5e: f3c2 1e45 ubfx lr, r2, #5, #6 7002fc62: f002 001f and.w r0, r2, #31 7002fc66: 4692 mov sl, r2 7002fc68: eb0c 0c4c add.w ip, ip, ip, lsl #1 7002fc6c: fb16 ce0e smlabb lr, r6, lr, ip 7002fc70: f04f 0607 mov.w r6, #7 7002fc74: fb16 e000 smlabb r0, r6, r0, lr 7002fc78: f000 003f and.w r0, r0, #63 @ 0x3f 7002fc7c: f500 6085 add.w r0, r0, #1064 @ 0x428 7002fc80: f82b 2010 strh.w r2, [fp, r0, lsl #1] 7002fc84: f828 2f02 strh.w r2, [r8, #2]! 7002fc88: db3d blt.n 7002fd06 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x582> 7002fc8a: 9d0b ldr r5, [sp, #44] @ 0x2c 7002fc8c: 46a0 mov r8, r4 7002fc8e: 42a9 cmp r1, r5 7002fc90: e9dd 4609 ldrd r4, r6, [sp, #36] @ 0x24 7002fc94: da1d bge.n 7002fcd2 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x54e> 7002fc96: f04f 0c03 mov.w ip, #3 7002fc9a: 2007 movs r0, #7 7002fc9c: f893 a000 ldrb.w sl, [r3] 7002fca0: 3101 adds r1, #1 7002fca2: 785a ldrb r2, [r3, #1] 7002fca4: 3302 adds r3, #2 7002fca6: 42a9 cmp r1, r5 7002fca8: ea4a 2a02 orr.w sl, sl, r2, lsl #8 7002fcac: f3ca 1245 ubfx r2, sl, #5, #6 7002fcb0: ea4f 2eda mov.w lr, sl, lsr #11 7002fcb4: eb02 0282 add.w r2, r2, r2, lsl #2 7002fcb8: fb1c 2e0e smlabb lr, ip, lr, r2 7002fcbc: f00a 021f and.w r2, sl, #31 7002fcc0: fb10 e202 smlabb r2, r0, r2, lr 7002fcc4: f002 023f and.w r2, r2, #63 @ 0x3f 7002fcc8: f502 6285 add.w r2, r2, #1064 @ 0x428 7002fccc: f82b a012 strh.w sl, [fp, r2, lsl #1] 7002fcd0: dbe4 blt.n 7002fc9c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x518> 7002fcd2: 3701 adds r7, #1 7002fcd4: eb04 0445 add.w r4, r4, r5, lsl #1 7002fcd8: 4447 add r7, r8 7002fcda: e5eb b.n 7002f8b4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x130> 7002fcdc: 4630 mov r0, r6 7002fcde: 0079 lsls r1, r7, #1 7002fce0: f7d2 ff40 bl 70002b64 <_ZN8touchgfx5paint9flushLineEPmi> 7002fce4: 4631 mov r1, r6 7002fce6: 9b05 ldr r3, [sp, #20] 7002fce8: b23a sxth r2, r7 7002fcea: 9801 ldr r0, [sp, #4] 7002fcec: f7d2 ffc0 bl 70002c70 <_ZN8touchgfx5paint8argb888814lineFromRGB565EPhPKtsh> 7002fcf0: 9b01 ldr r3, [sp, #4] 7002fcf2: eb03 0387 add.w r3, r3, r7, lsl #2 7002fcf6: 2700 movs r7, #0 7002fcf8: 9301 str r3, [sp, #4] 7002fcfa: 4b3d ldr r3, [pc, #244] @ (7002fdf0 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x66c>) 7002fcfc: 429e cmp r6, r3 7002fcfe: bf0c ite eq 7002fd00: 4e3c ldreq r6, [pc, #240] @ (7002fdf4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x670>) 7002fd02: 4e3b ldrne r6, [pc, #236] @ (7002fdf0 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x66c>) 7002fd04: e78c b.n 7002fc20 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x49c> 7002fd06: 460c mov r4, r1 7002fd08: 4618 mov r0, r3 7002fd0a: e79d b.n 7002fc48 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x4c4> 7002fd0c: 460c mov r4, r1 7002fd0e: e73d b.n 7002fb8c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x408> 7002fd10: 4e38 ldr r6, [pc, #224] @ (7002fdf4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x670>) 7002fd12: e63f b.n 7002f994 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x210> 7002fd14: 463b mov r3, r7 7002fd16: e65b b.n 7002f9d0 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x24c> 7002fd18: 2f00 cmp r7, #0 7002fd1a: dd57 ble.n 7002fdcc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x648> 7002fd1c: 2f01 cmp r7, #1 7002fd1e: fa1f f18a uxth.w r1, sl 7002fd22: d056 beq.n 7002fdd2 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x64e> 7002fd24: 9c06 ldr r4, [sp, #24] 7002fd26: 0878 lsrs r0, r7, #1 7002fd28: 4633 mov r3, r6 7002fd2a: f361 040f bfi r4, r1, #0, #16 7002fd2e: eb06 0080 add.w r0, r6, r0, lsl #2 7002fd32: f361 441f bfi r4, r1, #16, #16 7002fd36: f843 4b04 str.w r4, [r3], #4 7002fd3a: 4298 cmp r0, r3 7002fd3c: d1fb bne.n 7002fd36 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x5b2> 7002fd3e: 07fb lsls r3, r7, #31 7002fd40: d503 bpl.n 7002fd4a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x5c6> 7002fd42: f027 0301 bic.w r3, r7, #1 7002fd46: f826 1013 strh.w r1, [r6, r3, lsl #1] 7002fd4a: 4614 mov r4, r2 7002fd4c: e5b2 b.n 7002f8b4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x130> 7002fd4e: 9b0c ldr r3, [sp, #48] @ 0x30 7002fd50: 2100 movs r1, #0 7002fd52: 9a0f ldr r2, [sp, #60] @ 0x3c 7002fd54: f04f 0a00 mov.w sl, #0 7002fd58: 1c5f adds r7, r3, #1 7002fd5a: f8bd 5048 ldrh.w r5, [sp, #72] @ 0x48 7002fd5e: f852 4023 ldr.w r4, [r2, r3, lsl #2] 7002fd62: 2280 movs r2, #128 @ 0x80 7002fd64: 9b0e ldr r3, [sp, #56] @ 0x38 7002fd66: ba24 rev r4, r4 7002fd68: 980d ldr r0, [sp, #52] @ 0x34 7002fd6a: 441c add r4, r3 7002fd6c: f8bd 3040 ldrh.w r3, [sp, #64] @ 0x40 7002fd70: 1aed subs r5, r5, r3 7002fd72: f00b fad7 bl 7003b324 7002fd76: f7d2 feeb bl 70002b50 <_ZN8touchgfx5paint8tearDownEv> 7002fd7a: 9b08 ldr r3, [sp, #32] 7002fd7c: 9a01 ldr r2, [sp, #4] 7002fd7e: b2ad uxth r5, r5 7002fd80: 4293 cmp r3, r2 7002fd82: f67f addb bls.w 7002f93c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x1b8> 7002fd86: 2300 movs r3, #0 7002fd88: 970c str r7, [sp, #48] @ 0x30 7002fd8a: 9304 str r3, [sp, #16] 7002fd8c: e57a b.n 7002f884 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x100> 7002fd8e: 4611 mov r1, r2 7002fd90: 2700 movs r7, #0 7002fd92: e71f b.n 7002fbd4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x450> 7002fd94: 4614 mov r4, r2 7002fd96: e57a b.n 7002f88e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x10a> 7002fd98: 9c0e ldr r4, [sp, #56] @ 0x38 7002fd9a: e538 b.n 7002f80e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x8a> 7002fd9c: f44f 6380 mov.w r3, #1024 @ 0x400 7002fda0: fbb3 f3f2 udiv r3, r3, r2 7002fda4: 461c mov r4, r3 7002fda6: 9307 str r3, [sp, #28] 7002fda8: e50d b.n 7002f7c6 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x42> 7002fdaa: 1b4b subs r3, r1, r5 7002fdac: eb02 0445 add.w r4, r2, r5, lsl #1 7002fdb0: 2b00 cmp r3, #0 7002fdb2: 9302 str r3, [sp, #8] 7002fdb4: dd0f ble.n 7002fdd6 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x652> 7002fdb6: 9903 ldr r1, [sp, #12] 7002fdb8: 4622 mov r2, r4 7002fdba: 4299 cmp r1, r3 7002fdbc: 460f mov r7, r1 7002fdbe: bfa8 it ge 7002fdc0: 461f movge r7, r3 7002fdc2: 1bd8 subs r0, r3, r7 7002fdc4: eba1 0907 sub.w r9, r1, r7 7002fdc8: 9002 str r0, [sp, #8] 7002fdca: e6d0 b.n 7002fb6e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x3ea> 7002fdcc: 4614 mov r4, r2 7002fdce: 460f mov r7, r1 7002fdd0: e570 b.n 7002f8b4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x130> 7002fdd2: 9b06 ldr r3, [sp, #24] 7002fdd4: e7b7 b.n 7002fd46 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x5c2> 7002fdd6: 2301 movs r3, #1 7002fdd8: f8dd 900c ldr.w r9, [sp, #12] 7002fddc: 2700 movs r7, #0 7002fdde: 9306 str r3, [sp, #24] 7002fde0: e568 b.n 7002f8b4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x130> 7002fde2: 4614 mov r4, r2 7002fde4: f8dd 900c ldr.w r9, [sp, #12] 7002fde8: 2700 movs r7, #0 7002fdea: 9302 str r3, [sp, #8] 7002fdec: e562 b.n 7002f8b4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0+0x130> 7002fdee: bf00 nop 7002fdf0: 240098c0 .word 0x240098c0 7002fdf4: 240097c0 .word 0x240097c0 7002fdf8 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0>: 7002fdf8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7002fdfc: b093 sub sp, #76 @ 0x4c 7002fdfe: 4615 mov r5, r2 7002fe00: 4683 mov fp, r0 7002fe02: 460c mov r4, r1 7002fe04: f89d 2070 ldrb.w r2, [sp, #112] @ 0x70 7002fe08: 6828 ldr r0, [r5, #0] 7002fe0a: 6869 ldr r1, [r5, #4] 7002fe0c: 9206 str r2, [sp, #24] 7002fe0e: aa0e add r2, sp, #56 @ 0x38 7002fe10: c203 stmia r2!, {r0, r1} 7002fe12: 6818 ldr r0, [r3, #0] 7002fe14: 6859 ldr r1, [r3, #4] 7002fe16: c203 stmia r2!, {r0, r1} 7002fe18: a80e add r0, sp, #56 @ 0x38 7002fe1a: f7e0 ffd5 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 7002fe1e: 4629 mov r1, r5 7002fe20: a810 add r0, sp, #64 @ 0x40 7002fe22: f7e1 f815 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 7002fe26: f9bd 203c ldrsh.w r2, [sp, #60] @ 0x3c 7002fe2a: f5b2 6f80 cmp.w r2, #1024 @ 0x400 7002fe2e: b292 uxth r2, r2 7002fe30: f340 8338 ble.w 700304a4 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x6ac> 7002fe34: 2301 movs r3, #1 7002fe36: 4619 mov r1, r3 7002fe38: 9308 str r3, [sp, #32] 7002fe3a: f9bd 303e ldrsh.w r3, [sp, #62] @ 0x3e 7002fe3e: 7820 ldrb r0, [r4, #0] 7002fe40: 440b add r3, r1 7002fe42: 3b01 subs r3, #1 7002fe44: fb93 f3f1 sdiv r3, r3, r1 7002fe48: 7861 ldrb r1, [r4, #1] 7002fe4a: 3b01 subs r3, #1 7002fe4c: 2805 cmp r0, #5 7002fe4e: bf08 it eq 7002fe50: 2906 cmpeq r1, #6 7002fe52: b29b uxth r3, r3 7002fe54: d103 bne.n 7002fe5e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x66> 7002fe56: 78a1 ldrb r1, [r4, #2] 7002fe58: 2905 cmp r1, #5 7002fe5a: f000 832a beq.w 700304b2 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x6ba> 7002fe5e: 2100 movs r1, #0 7002fe60: e9cd 1103 strd r1, r1, [sp, #12] 7002fe64: 3408 adds r4, #8 7002fe66: 9d08 ldr r5, [sp, #32] 7002fe68: f8bd 1040 ldrh.w r1, [sp, #64] @ 0x40 7002fe6c: eb04 0783 add.w r7, r4, r3, lsl #2 7002fe70: f9bd 3042 ldrsh.w r3, [sp, #66] @ 0x42 7002fe74: 940c str r4, [sp, #48] @ 0x30 7002fe76: 970b str r7, [sp, #44] @ 0x2c 7002fe78: fb93 f0f5 sdiv r0, r3, r5 7002fe7c: b286 uxth r6, r0 7002fe7e: fb05 3516 mls r5, r5, r6, r3 7002fe82: 960a str r6, [sp, #40] @ 0x28 7002fe84: fb15 1502 smlabb r5, r5, r2, r1 7002fe88: b2ad uxth r5, r5 7002fe8a: 2e00 cmp r6, #0 7002fe8c: f000 8308 beq.w 700304a0 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x6a8> 7002fe90: 1e72 subs r2, r6, #1 7002fe92: f854 2022 ldr.w r2, [r4, r2, lsl #2] 7002fe96: ba12 rev r2, r2 7002fe98: eb07 0802 add.w r8, r7, r2 7002fe9c: f8bd 2038 ldrh.w r2, [sp, #56] @ 0x38 7002fea0: 2400 movs r4, #0 7002fea2: f9bd 6046 ldrsh.w r6, [sp, #70] @ 0x46 7002fea6: 4411 add r1, r2 7002fea8: f8bd 203a ldrh.w r2, [sp, #58] @ 0x3a 7002feac: f9bd 9044 ldrsh.w r9, [sp, #68] @ 0x44 7002feb0: 4413 add r3, r2 7002feb2: f8ad 1040 strh.w r1, [sp, #64] @ 0x40 7002feb6: f8ad 3042 strh.w r3, [sp, #66] @ 0x42 7002feba: 4bc5 ldr r3, [pc, #788] @ (700301d0 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x3d8>) 7002febc: 6818 ldr r0, [r3, #0] 7002febe: 6803 ldr r3, [r0, #0] 7002fec0: 6adb ldr r3, [r3, #44] @ 0x2c 7002fec2: 4798 blx r3 7002fec4: 4ac3 ldr r2, [pc, #780] @ (700301d4 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x3dc>) 7002fec6: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 7002feca: 8812 ldrh r2, [r2, #0] 7002fecc: f9bd 3040 ldrsh.w r3, [sp, #64] @ 0x40 7002fed0: fb02 f606 mul.w r6, r2, r6 7002fed4: fb02 3301 mla r3, r2, r1, r3 7002fed8: f44f 7280 mov.w r2, #256 @ 0x100 7002fedc: 4621 mov r1, r4 7002fede: eb00 0783 add.w r7, r0, r3, lsl #2 7002fee2: f9bd 303c ldrsh.w r3, [sp, #60] @ 0x3c 7002fee6: f50b 6005 add.w r0, fp, #2128 @ 0x850 7002feea: eb07 0686 add.w r6, r7, r6, lsl #2 7002feee: 9701 str r7, [sp, #4] 7002fef0: 900d str r0, [sp, #52] @ 0x34 7002fef2: 9609 str r6, [sp, #36] @ 0x24 7002fef4: fb95 f3f3 sdiv r3, r5, r3 7002fef8: 9305 str r3, [sp, #20] 7002fefa: f00b fa13 bl 7003b324 7002fefe: 42b7 cmp r7, r6 7002ff00: f080 80d3 bcs.w 700300aa <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x2b2> 7002ff04: f8df a2d0 ldr.w sl, [pc, #720] @ 700301d8 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x3e0> 7002ff08: b1dd cbz r5, 7002ff42 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x14a> 7002ff0a: 2007 movs r0, #7 7002ff0c: 210b movs r1, #11 7002ff0e: e9dd 2603 ldrd r2, r6, [sp, #12] 7002ff12: f898 7000 ldrb.w r7, [r8] 7002ff16: 2ffe cmp r7, #254 @ 0xfe 7002ff18: b2fb uxtb r3, r7 7002ff1a: f000 80ce beq.w 700300ba <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x2c2> 7002ff1e: 2bff cmp r3, #255 @ 0xff 7002ff20: f000 80f4 beq.w 7003010c <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x314> 7002ff24: ea5f 1c93 movs.w ip, r3, lsr #6 7002ff28: f108 0701 add.w r7, r8, #1 7002ff2c: f040 811b bne.w 70030166 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x36e> 7002ff30: 3d01 subs r5, #1 7002ff32: f503 7305 add.w r3, r3, #532 @ 0x214 7002ff36: 46b8 mov r8, r7 7002ff38: b2ad uxth r5, r5 7002ff3a: f85b 4023 ldr.w r4, [fp, r3, lsl #2] 7002ff3e: 2d00 cmp r5, #0 7002ff40: d1e7 bne.n 7002ff12 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x11a> 7002ff42: 464e mov r6, r9 7002ff44: 9502 str r5, [sp, #8] 7002ff46: 2e00 cmp r6, #0 7002ff48: f340 8092 ble.w 70030070 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x278> 7002ff4c: 2200 movs r2, #0 7002ff4e: f8cd 901c str.w r9, [sp, #28] 7002ff52: 4641 mov r1, r8 7002ff54: 4691 mov r9, r2 7002ff56: e018 b.n 7002ff8a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x192> 7002ff58: 2bff cmp r3, #255 @ 0xff 7002ff5a: f000 8119 beq.w 70030190 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x398> 7002ff5e: 099d lsrs r5, r3, #6 7002ff60: f101 0801 add.w r8, r1, #1 7002ff64: f040 813a bne.w 700301dc <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x3e4> 7002ff68: f503 7305 add.w r3, r3, #532 @ 0x214 7002ff6c: f1b9 0f3f cmp.w r9, #63 @ 0x3f 7002ff70: f106 36ff add.w r6, r6, #4294967295 @ 0xffffffff 7002ff74: f85b 4023 ldr.w r4, [fp, r3, lsl #2] 7002ff78: f300 81f0 bgt.w 7003035c <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x564> 7002ff7c: f109 0901 add.w r9, r9, #1 7002ff80: 4641 mov r1, r8 7002ff82: f84a 4007 str.w r4, [sl, r7] 7002ff86: 2e00 cmp r6, #0 7002ff88: dd5b ble.n 70030042 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x24a> 7002ff8a: 7808 ldrb r0, [r1, #0] 7002ff8c: ea4f 0789 mov.w r7, r9, lsl #2 7002ff90: 28fe cmp r0, #254 @ 0xfe 7002ff92: b2c3 uxtb r3, r0 7002ff94: d1e0 bne.n 7002ff58 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x160> 7002ff96: 7848 ldrb r0, [r1, #1] 7002ff98: 2203 movs r2, #3 7002ff9a: 788b ldrb r3, [r1, #2] 7002ff9c: f101 0804 add.w r8, r1, #4 7002ffa0: b2c0 uxtb r0, r0 7002ffa2: 78cd ldrb r5, [r1, #3] 7002ffa4: b2db uxtb r3, r3 7002ffa6: 3e01 subs r6, #1 7002ffa8: f360 0407 bfi r4, r0, #0, #8 7002ffac: b2e9 uxtb r1, r5 7002ffae: f363 240f bfi r4, r3, #8, #8 7002ffb2: eb03 0383 add.w r3, r3, r3, lsl #2 7002ffb6: f361 4417 bfi r4, r1, #16, #8 7002ffba: fb12 3101 smlabb r1, r2, r1, r3 7002ffbe: 2307 movs r3, #7 7002ffc0: 220b movs r2, #11 7002ffc2: fb13 1000 smlabb r0, r3, r0, r1 7002ffc6: 0e23 lsrs r3, r4, #24 7002ffc8: fb12 0303 smlabb r3, r2, r3, r0 7002ffcc: f003 033f and.w r3, r3, #63 @ 0x3f 7002ffd0: f1b9 0f3f cmp.w r9, #63 @ 0x3f 7002ffd4: f503 7305 add.w r3, r3, #532 @ 0x214 7002ffd8: f84b 4023 str.w r4, [fp, r3, lsl #2] 7002ffdc: ddce ble.n 7002ff7c <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x184> 7002ffde: 2300 movs r3, #0 7002ffe0: 2501 movs r5, #1 7002ffe2: 9302 str r3, [sp, #8] 7002ffe4: 4639 mov r1, r7 7002ffe6: 4650 mov r0, sl 7002ffe8: f7d2 fdbc bl 70002b64 <_ZN8touchgfx5paint9flushLineEPmi> 7002ffec: 9b06 ldr r3, [sp, #24] 7002ffee: fa0f f289 sxth.w r2, r9 7002fff2: f8dd 9004 ldr.w r9, [sp, #4] 7002fff6: 4651 mov r1, sl 7002fff8: 4648 mov r0, r9 7002fffa: f7d2 fe5b bl 70002cb4 <_ZN8touchgfx5paint8argb888816lineFromARGB8888EPhPKmsh> 7002fffe: 464b mov r3, r9 70030000: 4641 mov r1, r8 70030002: f04f 0900 mov.w r9, #0 70030006: 443b add r3, r7 70030008: 9301 str r3, [sp, #4] 7003000a: 4b73 ldr r3, [pc, #460] @ (700301d8 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x3e0>) 7003000c: 459a cmp sl, r3 7003000e: f000 820e beq.w 7003042e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x636> 70030012: 469a mov sl, r3 70030014: 2d01 cmp r5, #1 70030016: f000 8208 beq.w 7003042a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x632> 7003001a: eb0a 0389 add.w r3, sl, r9, lsl #2 7003001e: 0868 lsrs r0, r5, #1 70030020: eb03 00c0 add.w r0, r3, r0, lsl #3 70030024: e9c3 4400 strd r4, r4, [r3] 70030028: 3308 adds r3, #8 7003002a: 4298 cmp r0, r3 7003002c: d1fa bne.n 70030024 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x22c> 7003002e: 07ea lsls r2, r5, #31 70030030: f025 0301 bic.w r3, r5, #1 70030034: d502 bpl.n 7003003c <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x244> 70030036: 444b add r3, r9 70030038: f84a 4023 str.w r4, [sl, r3, lsl #2] 7003003c: 2e00 cmp r6, #0 7003003e: 44a9 add r9, r5 70030040: dca3 bgt.n 7002ff8a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x192> 70030042: 464a mov r2, r9 70030044: 4688 mov r8, r1 70030046: f8dd 901c ldr.w r9, [sp, #28] 7003004a: 2a00 cmp r2, #0 7003004c: dd10 ble.n 70030070 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x278> 7003004e: 0095 lsls r5, r2, #2 70030050: 4650 mov r0, sl 70030052: 9207 str r2, [sp, #28] 70030054: 4629 mov r1, r5 70030056: f7d2 fd85 bl 70002b64 <_ZN8touchgfx5paint9flushLineEPmi> 7003005a: 9e01 ldr r6, [sp, #4] 7003005c: 4651 mov r1, sl 7003005e: 4630 mov r0, r6 70030060: e9dd 3206 ldrd r3, r2, [sp, #24] 70030064: b212 sxth r2, r2 70030066: f7d2 fe25 bl 70002cb4 <_ZN8touchgfx5paint8argb888816lineFromARGB8888EPhPKmsh> 7003006a: 4633 mov r3, r6 7003006c: 442b add r3, r5 7003006e: 9301 str r3, [sp, #4] 70030070: 4b58 ldr r3, [pc, #352] @ (700301d4 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x3dc>) 70030072: 9901 ldr r1, [sp, #4] 70030074: 881b ldrh r3, [r3, #0] 70030076: 9a05 ldr r2, [sp, #20] 70030078: eba3 0309 sub.w r3, r3, r9 7003007c: 3201 adds r2, #1 7003007e: eb01 0383 add.w r3, r1, r3, lsl #2 70030082: 9205 str r2, [sp, #20] 70030084: 9301 str r3, [sp, #4] 70030086: 9b08 ldr r3, [sp, #32] 70030088: 429a cmp r2, r3 7003008a: f000 81d8 beq.w 7003043e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x646> 7003008e: f8bd 503c ldrh.w r5, [sp, #60] @ 0x3c 70030092: 9b02 ldr r3, [sp, #8] 70030094: eba5 0509 sub.w r5, r5, r9 70030098: 1aed subs r5, r5, r3 7003009a: f7d2 fd59 bl 70002b50 <_ZN8touchgfx5paint8tearDownEv> 7003009e: 9b09 ldr r3, [sp, #36] @ 0x24 700300a0: 9a01 ldr r2, [sp, #4] 700300a2: b2ad uxth r5, r5 700300a4: 4293 cmp r3, r2 700300a6: f63f af2f bhi.w 7002ff08 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x110> 700300aa: 4b49 ldr r3, [pc, #292] @ (700301d0 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x3d8>) 700300ac: 6818 ldr r0, [r3, #0] 700300ae: 6803 ldr r3, [r0, #0] 700300b0: 6b1b ldr r3, [r3, #48] @ 0x30 700300b2: 4798 blx r3 700300b4: b013 add sp, #76 @ 0x4c 700300b6: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700300ba: f898 7001 ldrb.w r7, [r8, #1] 700300be: f04f 0e03 mov.w lr, #3 700300c2: f898 3002 ldrb.w r3, [r8, #2] 700300c6: 3d01 subs r5, #1 700300c8: b2ff uxtb r7, r7 700300ca: f898 c003 ldrb.w ip, [r8, #3] 700300ce: b2db uxtb r3, r3 700300d0: f108 0804 add.w r8, r8, #4 700300d4: f367 0407 bfi r4, r7, #0, #8 700300d8: fa5f fc8c uxtb.w ip, ip 700300dc: b2ad uxth r5, r5 700300de: f363 240f bfi r4, r3, #8, #8 700300e2: eb03 0383 add.w r3, r3, r3, lsl #2 700300e6: f36c 4417 bfi r4, ip, #16, #8 700300ea: fb1e 3c0c smlabb ip, lr, ip, r3 700300ee: 0e23 lsrs r3, r4, #24 700300f0: fb10 c707 smlabb r7, r0, r7, ip 700300f4: fb11 7303 smlabb r3, r1, r3, r7 700300f8: f003 033f and.w r3, r3, #63 @ 0x3f 700300fc: f503 7305 add.w r3, r3, #532 @ 0x214 70030100: f84b 4023 str.w r4, [fp, r3, lsl #2] 70030104: 2d00 cmp r5, #0 70030106: f47f af04 bne.w 7002ff12 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x11a> 7003010a: e71a b.n 7002ff42 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x14a> 7003010c: f898 3001 ldrb.w r3, [r8, #1] 70030110: f04f 0e03 mov.w lr, #3 70030114: f898 7002 ldrb.w r7, [r8, #2] 70030118: 3d01 subs r5, #1 7003011a: b2db uxtb r3, r3 7003011c: f898 c003 ldrb.w ip, [r8, #3] 70030120: b2ff uxtb r7, r7 70030122: f108 0805 add.w r8, r8, #5 70030126: f363 0407 bfi r4, r3, #0, #8 7003012a: fa5f fc8c uxtb.w ip, ip 7003012e: b2ad uxth r5, r5 70030130: f367 240f bfi r4, r7, #8, #8 70030134: eb07 0787 add.w r7, r7, r7, lsl #2 70030138: fb1e 770c smlabb r7, lr, ip, r7 7003013c: f36c 4417 bfi r4, ip, #16, #8 70030140: fb10 7303 smlabb r3, r0, r3, r7 70030144: f818 7c01 ldrb.w r7, [r8, #-1] 70030148: b2ff uxtb r7, r7 7003014a: fb11 3307 smlabb r3, r1, r7, r3 7003014e: f367 641f bfi r4, r7, #24, #8 70030152: f003 033f and.w r3, r3, #63 @ 0x3f 70030156: f503 7305 add.w r3, r3, #532 @ 0x214 7003015a: f84b 4023 str.w r4, [fp, r3, lsl #2] 7003015e: 2d00 cmp r5, #0 70030160: f47f aed7 bne.w 7002ff12 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x11a> 70030164: e6ed b.n 7002ff42 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x14a> 70030166: f1bc 0f01 cmp.w ip, #1 7003016a: f000 8083 beq.w 70030274 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x47c> 7003016e: f1bc 0f02 cmp.w ip, #2 70030172: f003 033f and.w r3, r3, #63 @ 0x3f 70030176: f000 80b4 beq.w 700302e2 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x4ea> 7003017a: 3301 adds r3, #1 7003017c: 42ab cmp r3, r5 7003017e: f300 8132 bgt.w 700303e6 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x5ee> 70030182: 1aeb subs r3, r5, r3 70030184: 46b8 mov r8, r7 70030186: b29d uxth r5, r3 70030188: 2d00 cmp r5, #0 7003018a: f47f aec2 bne.w 7002ff12 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x11a> 7003018e: e6d8 b.n 7002ff42 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x14a> 70030190: 784b ldrb r3, [r1, #1] 70030192: 2203 movs r2, #3 70030194: 7888 ldrb r0, [r1, #2] 70030196: f101 0805 add.w r8, r1, #5 7003019a: b2db uxtb r3, r3 7003019c: 78cd ldrb r5, [r1, #3] 7003019e: b2c0 uxtb r0, r0 700301a0: 3e01 subs r6, #1 700301a2: f363 0407 bfi r4, r3, #0, #8 700301a6: b2ed uxtb r5, r5 700301a8: f360 240f bfi r4, r0, #8, #8 700301ac: eb00 0080 add.w r0, r0, r0, lsl #2 700301b0: fb12 0005 smlabb r0, r2, r5, r0 700301b4: 2207 movs r2, #7 700301b6: f365 4417 bfi r4, r5, #16, #8 700301ba: fb12 0303 smlabb r3, r2, r3, r0 700301be: 7908 ldrb r0, [r1, #4] 700301c0: 220b movs r2, #11 700301c2: b2c1 uxtb r1, r0 700301c4: fb12 3301 smlabb r3, r2, r1, r3 700301c8: f361 641f bfi r4, r1, #24, #8 700301cc: e6fe b.n 7002ffcc <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x1d4> 700301ce: bf00 nop 700301d0: 2400da80 .word 0x2400da80 700301d4: 2400da78 .word 0x2400da78 700301d8: 240098c0 .word 0x240098c0 700301dc: 2d01 cmp r5, #1 700301de: f000 80c0 beq.w 70030362 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x56a> 700301e2: 2d02 cmp r5, #2 700301e4: f003 033f and.w r3, r3, #63 @ 0x3f 700301e8: f040 810e bne.w 70030408 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x610> 700301ec: 784d ldrb r5, [r1, #1] 700301ee: f101 0802 add.w r8, r1, #2 700301f2: 3b20 subs r3, #32 700301f4: 9a04 ldr r2, [sp, #16] 700301f6: f005 010f and.w r1, r5, #15 700301fa: ea4f 1c15 mov.w ip, r5, lsr #4 700301fe: fa03 f502 lsl.w r5, r3, r2 70030202: 2203 movs r2, #3 70030204: 3908 subs r1, #8 70030206: f1ac 0c08 sub.w ip, ip, #8 7003020a: 2007 movs r0, #7 7003020c: f1b9 0f3f cmp.w r9, #63 @ 0x3f 70030210: 4419 add r1, r3 70030212: 449c add ip, r3 70030214: 9b03 ldr r3, [sp, #12] 70030216: fa01 f103 lsl.w r1, r1, r3 7003021a: fa0c fc03 lsl.w ip, ip, r3 7003021e: 4421 add r1, r4 70030220: b2c9 uxtb r1, r1 70030222: f361 0407 bfi r4, r1, #0, #8 70030226: eb05 2514 add.w r5, r5, r4, lsr #8 7003022a: f005 05ff and.w r5, r5, #255 @ 0xff 7003022e: f365 240f bfi r4, r5, #8, #8 70030232: eb05 0585 add.w r5, r5, r5, lsl #2 70030236: eb0c 4314 add.w r3, ip, r4, lsr #16 7003023a: f003 03ff and.w r3, r3, #255 @ 0xff 7003023e: f363 4417 bfi r4, r3, #16, #8 70030242: fb12 5303 smlabb r3, r2, r3, r5 70030246: fb10 3001 smlabb r0, r0, r1, r3 7003024a: ea4f 6114 mov.w r1, r4, lsr #24 7003024e: f04f 030b mov.w r3, #11 70030252: fb13 0301 smlabb r3, r3, r1, r0 70030256: f003 033f and.w r3, r3, #63 @ 0x3f 7003025a: f503 7305 add.w r3, r3, #532 @ 0x214 7003025e: f84b 4023 str.w r4, [fp, r3, lsl #2] 70030262: f300 80e7 bgt.w 70030434 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x63c> 70030266: f109 0901 add.w r9, r9, #1 7003026a: 3e01 subs r6, #1 7003026c: 4641 mov r1, r8 7003026e: f84a 4007 str.w r4, [sl, r7] 70030272: e688 b.n 7002ff86 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x18e> 70030274: f003 0c03 and.w ip, r3, #3 70030278: 46b8 mov r8, r7 7003027a: f3c3 0781 ubfx r7, r3, #2, #2 7003027e: f3c3 1301 ubfx r3, r3, #4, #2 70030282: f1ac 0c02 sub.w ip, ip, #2 70030286: f04f 0e03 mov.w lr, #3 7003028a: 3f02 subs r7, #2 7003028c: 3b02 subs r3, #2 7003028e: fa0c fc02 lsl.w ip, ip, r2 70030292: 3d01 subs r5, #1 70030294: 40b7 lsls r7, r6 70030296: 4093 lsls r3, r2 70030298: 44a4 add ip, r4 7003029a: b2ad uxth r5, r5 7003029c: fa5f fc8c uxtb.w ip, ip 700302a0: f36c 0407 bfi r4, ip, #0, #8 700302a4: eb07 2714 add.w r7, r7, r4, lsr #8 700302a8: f007 07ff and.w r7, r7, #255 @ 0xff 700302ac: f367 240f bfi r4, r7, #8, #8 700302b0: eb07 0787 add.w r7, r7, r7, lsl #2 700302b4: eb03 4314 add.w r3, r3, r4, lsr #16 700302b8: f003 03ff and.w r3, r3, #255 @ 0xff 700302bc: f363 4417 bfi r4, r3, #16, #8 700302c0: fb1e 7303 smlabb r3, lr, r3, r7 700302c4: fb10 3c0c smlabb ip, r0, ip, r3 700302c8: 0e23 lsrs r3, r4, #24 700302ca: fb11 c303 smlabb r3, r1, r3, ip 700302ce: f003 033f and.w r3, r3, #63 @ 0x3f 700302d2: f503 7305 add.w r3, r3, #532 @ 0x214 700302d6: f84b 4023 str.w r4, [fp, r3, lsl #2] 700302da: 2d00 cmp r5, #0 700302dc: f47f ae19 bne.w 7002ff12 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x11a> 700302e0: e62f b.n 7002ff42 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x14a> 700302e2: f898 e001 ldrb.w lr, [r8, #1] 700302e6: 3b20 subs r3, #32 700302e8: 3d01 subs r5, #1 700302ea: f108 0802 add.w r8, r8, #2 700302ee: f00e 070f and.w r7, lr, #15 700302f2: fa03 fc06 lsl.w ip, r3, r6 700302f6: ea4f 1e1e mov.w lr, lr, lsr #4 700302fa: 3f08 subs r7, #8 700302fc: b2ad uxth r5, r5 700302fe: f1ae 0e08 sub.w lr, lr, #8 70030302: 441f add r7, r3 70030304: 4473 add r3, lr 70030306: f04f 0e03 mov.w lr, #3 7003030a: 4097 lsls r7, r2 7003030c: 4093 lsls r3, r2 7003030e: 4427 add r7, r4 70030310: b2ff uxtb r7, r7 70030312: f367 0407 bfi r4, r7, #0, #8 70030316: eb0c 2c14 add.w ip, ip, r4, lsr #8 7003031a: f00c 0cff and.w ip, ip, #255 @ 0xff 7003031e: f36c 240f bfi r4, ip, #8, #8 70030322: eb0c 0c8c add.w ip, ip, ip, lsl #2 70030326: eb03 4314 add.w r3, r3, r4, lsr #16 7003032a: f003 03ff and.w r3, r3, #255 @ 0xff 7003032e: f363 4417 bfi r4, r3, #16, #8 70030332: fb1e c303 smlabb r3, lr, r3, ip 70030336: f04f 0c07 mov.w ip, #7 7003033a: fb1c 3707 smlabb r7, ip, r7, r3 7003033e: ea4f 6c14 mov.w ip, r4, lsr #24 70030342: 230b movs r3, #11 70030344: fb13 730c smlabb r3, r3, ip, r7 70030348: f003 033f and.w r3, r3, #63 @ 0x3f 7003034c: f503 7305 add.w r3, r3, #532 @ 0x214 70030350: f84b 4023 str.w r4, [fp, r3, lsl #2] 70030354: 2d00 cmp r5, #0 70030356: f47f addc bne.w 7002ff12 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x11a> 7003035a: e5f2 b.n 7002ff42 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x14a> 7003035c: 9502 str r5, [sp, #8] 7003035e: 2501 movs r5, #1 70030360: e640 b.n 7002ffe4 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x1ec> 70030362: f003 0003 and.w r0, r3, #3 70030366: 9a03 ldr r2, [sp, #12] 70030368: f3c3 0181 ubfx r1, r3, #2, #2 7003036c: f3c3 1301 ubfx r3, r3, #4, #2 70030370: 3802 subs r0, #2 70030372: f1b9 0f3f cmp.w r9, #63 @ 0x3f 70030376: f1a3 0c02 sub.w ip, r3, #2 7003037a: f1a1 0102 sub.w r1, r1, #2 7003037e: fa00 f002 lsl.w r0, r0, r2 70030382: 9b04 ldr r3, [sp, #16] 70030384: f106 36ff add.w r6, r6, #4294967295 @ 0xffffffff 70030388: 4420 add r0, r4 7003038a: fa01 f103 lsl.w r1, r1, r3 7003038e: fa0c f302 lsl.w r3, ip, r2 70030392: f04f 0203 mov.w r2, #3 70030396: b2c0 uxtb r0, r0 70030398: f360 0407 bfi r4, r0, #0, #8 7003039c: eb01 2114 add.w r1, r1, r4, lsr #8 700303a0: f001 01ff and.w r1, r1, #255 @ 0xff 700303a4: f361 240f bfi r4, r1, #8, #8 700303a8: eb01 0181 add.w r1, r1, r1, lsl #2 700303ac: eb03 4314 add.w r3, r3, r4, lsr #16 700303b0: f003 03ff and.w r3, r3, #255 @ 0xff 700303b4: f363 4417 bfi r4, r3, #16, #8 700303b8: fb12 1303 smlabb r3, r2, r3, r1 700303bc: f04f 0107 mov.w r1, #7 700303c0: fb11 3100 smlabb r1, r1, r0, r3 700303c4: ea4f 6014 mov.w r0, r4, lsr #24 700303c8: f04f 030b mov.w r3, #11 700303cc: fb13 1300 smlabb r3, r3, r0, r1 700303d0: f003 033f and.w r3, r3, #63 @ 0x3f 700303d4: f503 7305 add.w r3, r3, #532 @ 0x214 700303d8: f84b 4023 str.w r4, [fp, r3, lsl #2] 700303dc: f77f adce ble.w 7002ff7c <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x184> 700303e0: 2300 movs r3, #0 700303e2: 9302 str r3, [sp, #8] 700303e4: e5fe b.n 7002ffe4 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x1ec> 700303e6: 1b5b subs r3, r3, r5 700303e8: 464d mov r5, r9 700303ea: 4599 cmp r9, r3 700303ec: bfa8 it ge 700303ee: 461d movge r5, r3 700303f0: 1b5b subs r3, r3, r5 700303f2: eba9 0605 sub.w r6, r9, r5 700303f6: 9302 str r3, [sp, #8] 700303f8: 0e23 lsrs r3, r4, #24 700303fa: d140 bne.n 7003047e <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x686> 700303fc: 9b01 ldr r3, [sp, #4] 700303fe: 46b8 mov r8, r7 70030400: eb03 0385 add.w r3, r3, r5, lsl #2 70030404: 9301 str r3, [sp, #4] 70030406: e59e b.n 7002ff46 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x14e> 70030408: 3301 adds r3, #1 7003040a: 42b3 cmp r3, r6 7003040c: 461d mov r5, r3 7003040e: bfa8 it ge 70030410: 4635 movge r5, r6 70030412: 1b5b subs r3, r3, r5 70030414: 1b76 subs r6, r6, r5 70030416: 9302 str r3, [sp, #8] 70030418: eb05 0309 add.w r3, r5, r9 7003041c: 2b40 cmp r3, #64 @ 0x40 7003041e: f73f ade1 bgt.w 7002ffe4 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x1ec> 70030422: 2d01 cmp r5, #1 70030424: 4641 mov r1, r8 70030426: f47f adf8 bne.w 7003001a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x222> 7003042a: 464b mov r3, r9 7003042c: e604 b.n 70030038 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x240> 7003042e: f8df a08c ldr.w sl, [pc, #140] @ 700304bc <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x6c4> 70030432: e5ef b.n 70030014 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x21c> 70030434: 2300 movs r3, #0 70030436: 3e01 subs r6, #1 70030438: 2501 movs r5, #1 7003043a: 9302 str r3, [sp, #8] 7003043c: e5d2 b.n 7002ffe4 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x1ec> 7003043e: 9b0a ldr r3, [sp, #40] @ 0x28 70030440: 2400 movs r4, #0 70030442: 9a0c ldr r2, [sp, #48] @ 0x30 70030444: 1c5e adds r6, r3, #1 70030446: f8bd 5040 ldrh.w r5, [sp, #64] @ 0x40 7003044a: f852 8023 ldr.w r8, [r2, r3, lsl #2] 7003044e: 4621 mov r1, r4 70030450: 9b0b ldr r3, [sp, #44] @ 0x2c 70030452: f44f 7280 mov.w r2, #256 @ 0x100 70030456: fa98 f888 rev.w r8, r8 7003045a: 980d ldr r0, [sp, #52] @ 0x34 7003045c: 4498 add r8, r3 7003045e: f8bd 3038 ldrh.w r3, [sp, #56] @ 0x38 70030462: 1aed subs r5, r5, r3 70030464: f00a ff5e bl 7003b324 70030468: f7d2 fb72 bl 70002b50 <_ZN8touchgfx5paint8tearDownEv> 7003046c: 9b09 ldr r3, [sp, #36] @ 0x24 7003046e: 9a01 ldr r2, [sp, #4] 70030470: b2ad uxth r5, r5 70030472: 4293 cmp r3, r2 70030474: f67f ae19 bls.w 700300aa <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x2b2> 70030478: 960a str r6, [sp, #40] @ 0x28 7003047a: 9405 str r4, [sp, #20] 7003047c: e544 b.n 7002ff08 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x110> 7003047e: 9a06 ldr r2, [sp, #24] 70030480: b229 sxth r1, r5 70030482: 9801 ldr r0, [sp, #4] 70030484: fb02 f303 mul.w r3, r2, r3 70030488: 4622 mov r2, r4 7003048a: f103 0c01 add.w ip, r3, #1 7003048e: f3c3 230f ubfx r3, r3, #8, #16 70030492: fa13 f38c uxtah r3, r3, ip 70030496: f3c3 2307 ubfx r3, r3, #8, #8 7003049a: f7d2 fbbf bl 70002c1c <_ZN8touchgfx5paint8argb888813lineFromColorEPmsmh> 7003049e: e7ad b.n 700303fc <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x604> 700304a0: 46b8 mov r8, r7 700304a2: e4fb b.n 7002fe9c <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0xa4> 700304a4: f44f 6380 mov.w r3, #1024 @ 0x400 700304a8: fbb3 f3f2 udiv r3, r3, r2 700304ac: 4619 mov r1, r3 700304ae: 9308 str r3, [sp, #32] 700304b0: e4c3 b.n 7002fe3a <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x42> 700304b2: 2103 movs r1, #3 700304b4: 2002 movs r0, #2 700304b6: e9cd 1003 strd r1, r0, [sp, #12] 700304ba: e4d3 b.n 7002fe64 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0+0x6c> 700304bc: 240097c0 .word 0x240097c0 700304c0 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0>: 700304c0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700304c4: b093 sub sp, #76 @ 0x4c 700304c6: 4680 mov r8, r0 700304c8: 6818 ldr r0, [r3, #0] 700304ca: 461c mov r4, r3 700304cc: 9d1c ldr r5, [sp, #112] @ 0x70 700304ce: 9101 str r1, [sp, #4] 700304d0: 9204 str r2, [sp, #16] 700304d2: aa0e add r2, sp, #56 @ 0x38 700304d4: 6859 ldr r1, [r3, #4] 700304d6: f89d 3074 ldrb.w r3, [sp, #116] @ 0x74 700304da: c203 stmia r2!, {r0, r1} 700304dc: 6828 ldr r0, [r5, #0] 700304de: 6869 ldr r1, [r5, #4] 700304e0: 9308 str r3, [sp, #32] 700304e2: c203 stmia r2!, {r0, r1} 700304e4: a80e add r0, sp, #56 @ 0x38 700304e6: f7e0 fc6f bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 700304ea: a810 add r0, sp, #64 @ 0x40 700304ec: 4621 mov r1, r4 700304ee: f7e0 fcaf bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 700304f2: f9bd 003c ldrsh.w r0, [sp, #60] @ 0x3c 700304f6: 9b01 ldr r3, [sp, #4] 700304f8: f5b0 6f80 cmp.w r0, #1024 @ 0x400 700304fc: b280 uxth r0, r0 700304fe: f340 815f ble.w 700307c0 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x300> 70030502: 2201 movs r2, #1 70030504: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 70030508: f9bd 403e ldrsh.w r4, [sp, #62] @ 0x3e 7003050c: f8bd 5040 ldrh.w r5, [sp, #64] @ 0x40 70030510: 4414 add r4, r2 70030512: fb91 f6f2 sdiv r6, r1, r2 70030516: 3c01 subs r4, #1 70030518: b2b7 uxth r7, r6 7003051a: fb94 f4f2 sdiv r4, r4, r2 7003051e: fb02 1217 mls r2, r2, r7, r1 70030522: fb12 5200 smlabb r2, r2, r0, r5 70030526: fa1f fb82 uxth.w fp, r2 7003052a: b127 cbz r7, 70030536 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x76> 7003052c: 9a04 ldr r2, [sp, #16] 7003052e: f852 2027 ldr.w r2, [r2, r7, lsl #2] 70030532: ba12 rev r2, r2 70030534: 4413 add r3, r2 70030536: f8bd 2038 ldrh.w r2, [sp, #56] @ 0x38 7003053a: b2a4 uxth r4, r4 7003053c: 9301 str r3, [sp, #4] 7003053e: 4415 add r5, r2 70030540: 4ba3 ldr r3, [pc, #652] @ (700307d0 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x310>) 70030542: f8bd 203a ldrh.w r2, [sp, #58] @ 0x3a 70030546: 00a4 lsls r4, r4, #2 70030548: 6818 ldr r0, [r3, #0] 7003054a: 4411 add r1, r2 7003054c: f9bd 6044 ldrsh.w r6, [sp, #68] @ 0x44 70030550: f8ad 5040 strh.w r5, [sp, #64] @ 0x40 70030554: f8ad 1042 strh.w r1, [sp, #66] @ 0x42 70030558: 6802 ldr r2, [r0, #0] 7003055a: 9607 str r6, [sp, #28] 7003055c: 6ad2 ldr r2, [r2, #44] @ 0x2c 7003055e: f9bd 5046 ldrsh.w r5, [sp, #70] @ 0x46 70030562: 4790 blx r2 70030564: 1d23 adds r3, r4, #4 70030566: f9bd 2040 ldrsh.w r2, [sp, #64] @ 0x40 7003056a: f9bd 4042 ldrsh.w r4, [sp, #66] @ 0x42 7003056e: f1bb 0f00 cmp.w fp, #0 70030572: 9306 str r3, [sp, #24] 70030574: 4b97 ldr r3, [pc, #604] @ (700307d4 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x314>) 70030576: 8819 ldrh r1, [r3, #0] 70030578: fb01 2204 mla r2, r1, r4, r2 7003057c: fb01 f505 mul.w r5, r1, r5 70030580: eb00 0942 add.w r9, r0, r2, lsl #1 70030584: bf0c ite eq 70030586: 4632 moveq r2, r6 70030588: 2200 movne r2, #0 7003058a: eb09 0345 add.w r3, r9, r5, lsl #1 7003058e: fa1f fa82 uxth.w sl, r2 70030592: 4599 cmp r9, r3 70030594: 9302 str r3, [sp, #8] 70030596: 9b01 ldr r3, [sp, #4] 70030598: d21c bcs.n 700305d4 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x114> 7003059a: 2200 movs r2, #0 7003059c: 4658 mov r0, fp 7003059e: 469b mov fp, r3 700305a0: f8cd 8004 str.w r8, [sp, #4] 700305a4: 9203 str r2, [sp, #12] 700305a6: b95a cbnz r2, 700305c0 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x100> 700305a8: f89b 3000 ldrb.w r3, [fp] 700305ac: 099a lsrs r2, r3, #6 700305ae: f003 033f and.w r3, r3, #63 @ 0x3f 700305b2: 9303 str r3, [sp, #12] 700305b4: 1e53 subs r3, r2, #1 700305b6: 2b02 cmp r3, #2 700305b8: f200 80d4 bhi.w 70030764 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x2a4> 700305bc: f10b 0b01 add.w fp, fp, #1 700305c0: b180 cbz r0, 700305e4 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x124> 700305c2: 4282 cmp r2, r0 700305c4: f080 80c8 bcs.w 70030758 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x298> 700305c8: 1a80 subs r0, r0, r2 700305ca: 2200 movs r2, #0 700305cc: b280 uxth r0, r0 700305ce: 9b02 ldr r3, [sp, #8] 700305d0: 454b cmp r3, r9 700305d2: d8e8 bhi.n 700305a6 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0xe6> 700305d4: 4b7e ldr r3, [pc, #504] @ (700307d0 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x310>) 700305d6: 6818 ldr r0, [r3, #0] 700305d8: 6803 ldr r3, [r0, #0] 700305da: 6b1b ldr r3, [r3, #48] @ 0x30 700305dc: 4798 blx r3 700305de: b013 add sp, #76 @ 0x4c 700305e0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700305e4: 2304 movs r3, #4 700305e6: 9906 ldr r1, [sp, #24] 700305e8: 4552 cmp r2, sl 700305ea: 461c mov r4, r3 700305ec: 9b03 ldr r3, [sp, #12] 700305ee: fb14 1503 smlabb r5, r4, r3, r1 700305f2: 9b04 ldr r3, [sp, #16] 700305f4: 595c ldr r4, [r3, r5] 700305f6: ea4f 6314 mov.w r3, r4, lsr #24 700305fa: f0c0 80a6 bcc.w 7003074a <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x28a> 700305fe: eba2 010a sub.w r1, r2, sl 70030602: 9005 str r0, [sp, #20] 70030604: fa1f f881 uxth.w r8, r1 70030608: 4651 mov r1, sl 7003060a: 2b00 cmp r3, #0 7003060c: d07f beq.n 7003070e <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x24e> 7003060e: 9e04 ldr r6, [sp, #16] 70030610: f3c4 4c07 ubfx ip, r4, #16, #8 70030614: f3c4 2707 ubfx r7, r4, #8, #8 70030618: b2e4 uxtb r4, r4 7003061a: 5b75 ldrh r5, [r6, r5] 7003061c: 9e08 ldr r6, [sp, #32] 7003061e: 401e ands r6, r3 70030620: 2eff cmp r6, #255 @ 0xff 70030622: f000 80a4 beq.w 7003076e <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x2ae> 70030626: 9d08 ldr r5, [sp, #32] 70030628: fb05 f303 mul.w r3, r5, r3 7003062c: 1c5e adds r6, r3, #1 7003062e: f3c3 250f ubfx r5, r3, #8, #16 70030632: fa15 f586 uxtah r5, r5, r6 70030636: ea6f 2625 mvn.w r6, r5, asr #8 7003063a: 122d asrs r5, r5, #8 7003063c: b2f6 uxtb r6, r6 7003063e: 2900 cmp r1, #0 70030640: d067 beq.n 70030712 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x252> 70030642: f101 3eff add.w lr, r1, #4294967295 @ 0xffffffff 70030646: fb0c fc05 mul.w ip, ip, r5 7003064a: fb05 f707 mul.w r7, r5, r7 7003064e: fa1f fe8e uxth.w lr, lr 70030652: fb04 f505 mul.w r5, r4, r5 70030656: fa1f fc8c uxth.w ip, ip 7003065a: f1a9 0402 sub.w r4, r9, #2 7003065e: b2bf uxth r7, r7 70030660: 920d str r2, [sp, #52] @ 0x34 70030662: b2ad uxth r5, r5 70030664: eb09 0e4e add.w lr, r9, lr, lsl #1 70030668: e9cd 8109 strd r8, r1, [sp, #36] @ 0x24 7003066c: e9cd 090b strd r0, r9, [sp, #44] @ 0x2c 70030670: f834 1f02 ldrh.w r1, [r4, #2]! 70030674: 9a01 ldr r2, [sp, #4] 70030676: ea4f 2811 mov.w r8, r1, lsr #8 7003067a: 08cb lsrs r3, r1, #3 7003067c: f008 00f8 and.w r0, r8, #248 @ 0xf8 70030680: 00c9 lsls r1, r1, #3 70030682: f003 09fc and.w r9, r3, #252 @ 0xfc 70030686: f3c3 1381 ubfx r3, r3, #6, #2 7003068a: ea40 1058 orr.w r0, r0, r8, lsr #5 7003068e: ea49 0303 orr.w r3, r9, r3 70030692: fb00 c006 mla r0, r0, r6, ip 70030696: fb03 7306 mla r3, r3, r6, r7 7003069a: b280 uxth r0, r0 7003069c: f100 0801 add.w r8, r0, #1 700306a0: eb08 2010 add.w r0, r8, r0, lsr #8 700306a4: fa5f f881 uxtb.w r8, r1 700306a8: f3c1 1142 ubfx r1, r1, #5, #3 700306ac: f400 407f and.w r0, r0, #65280 @ 0xff00 700306b0: ea48 0101 orr.w r1, r8, r1 700306b4: f36f 000a bfc r0, #0, #11 700306b8: fb01 5106 mla r1, r1, r6, r5 700306bc: fa1f f881 uxth.w r8, r1 700306c0: f3c1 2107 ubfx r1, r1, #8, #8 700306c4: f108 0801 add.w r8, r8, #1 700306c8: 4441 add r1, r8 700306ca: f3c3 2807 ubfx r8, r3, #8, #8 700306ce: b29b uxth r3, r3 700306d0: f3c1 2107 ubfx r1, r1, #8, #8 700306d4: 3301 adds r3, #1 700306d6: 4443 add r3, r8 700306d8: f892 800c ldrb.w r8, [r2, #12] 700306dc: f3c3 2307 ubfx r3, r3, #8, #8 700306e0: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff 700306e4: ea4f 09c3 mov.w r9, r3, lsl #3 700306e8: f1b8 0f01 cmp.w r8, #1 700306ec: ea41 2303 orr.w r3, r1, r3, lsl #8 700306f0: f409 69fc and.w r9, r9, #2016 @ 0x7e0 700306f4: d922 bls.n 7003073c <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x27c> 700306f6: ea40 0009 orr.w r0, r0, r9 700306fa: 45a6 cmp lr, r4 700306fc: ea40 00d1 orr.w r0, r0, r1, lsr #3 70030700: 8020 strh r0, [r4, #0] 70030702: d1b5 bne.n 70030670 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1b0> 70030704: 9a0d ldr r2, [sp, #52] @ 0x34 70030706: e9dd 8109 ldrd r8, r1, [sp, #36] @ 0x24 7003070a: e9dd 090b ldrd r0, r9, [sp, #44] @ 0x2c 7003070e: eb09 0941 add.w r9, r9, r1, lsl #1 70030712: 4552 cmp r2, sl 70030714: 4642 mov r2, r8 70030716: d315 bcc.n 70030744 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x284> 70030718: 9907 ldr r1, [sp, #28] 7003071a: f8bd 003c ldrh.w r0, [sp, #60] @ 0x3c 7003071e: fa1f fa81 uxth.w sl, r1 70030722: 4b2c ldr r3, [pc, #176] @ (700307d4 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x314>) 70030724: eba0 000a sub.w r0, r0, sl 70030728: 881b ldrh r3, [r3, #0] 7003072a: b280 uxth r0, r0 7003072c: 1a5b subs r3, r3, r1 7003072e: 2800 cmp r0, #0 70030730: eb09 0943 add.w r9, r9, r3, lsl #1 70030734: bf18 it ne 70030736: f04f 0a00 movne.w sl, #0 7003073a: e748 b.n 700305ce <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x10e> 7003073c: 45a6 cmp lr, r4 7003073e: 8023 strh r3, [r4, #0] 70030740: d196 bne.n 70030670 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1b0> 70030742: e7df b.n 70030704 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x244> 70030744: f8dd a014 ldr.w sl, [sp, #20] 70030748: e741 b.n 700305ce <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x10e> 7003074a: ebaa 0102 sub.w r1, sl, r2 7003074e: 4680 mov r8, r0 70030750: b289 uxth r1, r1 70030752: 9105 str r1, [sp, #20] 70030754: 4611 mov r1, r2 70030756: e758 b.n 7003060a <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x14a> 70030758: 1a10 subs r0, r2, r0 7003075a: f8bd a01c ldrh.w sl, [sp, #28] 7003075e: b282 uxth r2, r0 70030760: 2000 movs r0, #0 70030762: e734 b.n 700305ce <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x10e> 70030764: f89b 2001 ldrb.w r2, [fp, #1] 70030768: f10b 0b02 add.w fp, fp, #2 7003076c: e728 b.n 700305c0 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x100> 7003076e: 9b01 ldr r3, [sp, #4] 70030770: 7b1b ldrb r3, [r3, #12] 70030772: 3b01 subs r3, #1 70030774: 2b01 cmp r3, #1 70030776: d908 bls.n 7003078a <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x2ca> 70030778: 00ff lsls r7, r7, #3 7003077a: 4b17 ldr r3, [pc, #92] @ (700307d8 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x318>) 7003077c: f407 67fc and.w r7, r7, #2016 @ 0x7e0 70030780: ea03 230c and.w r3, r3, ip, lsl #8 70030784: 433b orrs r3, r7 70030786: ea43 05d4 orr.w r5, r3, r4, lsr #3 7003078a: 2900 cmp r1, #0 7003078c: d0c1 beq.n 70030712 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x252> 7003078e: 2901 cmp r1, #1 70030790: d01b beq.n 700307ca <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x30a> 70030792: 2600 movs r6, #0 70030794: f3c1 044f ubfx r4, r1, #1, #16 70030798: 464b mov r3, r9 7003079a: f365 060f bfi r6, r5, #0, #16 7003079e: eb09 0484 add.w r4, r9, r4, lsl #2 700307a2: f365 461f bfi r6, r5, #16, #16 700307a6: f843 6b04 str.w r6, [r3], #4 700307aa: 429c cmp r4, r3 700307ac: d1fb bne.n 700307a6 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x2e6> 700307ae: 07cb lsls r3, r1, #31 700307b0: d5ad bpl.n 7003070e <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x24e> 700307b2: f021 0301 bic.w r3, r1, #1 700307b6: b29b uxth r3, r3 700307b8: eb09 0343 add.w r3, r9, r3, lsl #1 700307bc: 801d strh r5, [r3, #0] 700307be: e7a6 b.n 7003070e <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x24e> 700307c0: f44f 6280 mov.w r2, #1024 @ 0x400 700307c4: fbb2 f2f0 udiv r2, r2, r0 700307c8: e69c b.n 70030504 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x44> 700307ca: 464b mov r3, r9 700307cc: e7f6 b.n 700307bc <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x2fc> 700307ce: bf00 nop 700307d0: 2400da80 .word 0x2400da80 700307d4: 2400da78 .word 0x2400da78 700307d8: fffff800 .word 0xfffff800 700307dc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0>: 700307dc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700307e0: b09d sub sp, #116 @ 0x74 700307e2: 461c mov r4, r3 700307e4: 4606 mov r6, r0 700307e6: 4689 mov r9, r1 700307e8: 6818 ldr r0, [r3, #0] 700307ea: 4693 mov fp, r2 700307ec: 6859 ldr r1, [r3, #4] 700307ee: ab18 add r3, sp, #96 @ 0x60 700307f0: 9d26 ldr r5, [sp, #152] @ 0x98 700307f2: c303 stmia r3!, {r0, r1} 700307f4: 6828 ldr r0, [r5, #0] 700307f6: 6869 ldr r1, [r5, #4] 700307f8: c303 stmia r3!, {r0, r1} 700307fa: f89d 309c ldrb.w r3, [sp, #156] @ 0x9c 700307fe: a818 add r0, sp, #96 @ 0x60 70030800: 9306 str r3, [sp, #24] 70030802: f7e0 fae1 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70030806: 4621 mov r1, r4 70030808: a81a add r0, sp, #104 @ 0x68 7003080a: f7e0 fb21 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 7003080e: f9bd 1064 ldrsh.w r1, [sp, #100] @ 0x64 70030812: f5b1 6f80 cmp.w r1, #1024 @ 0x400 70030816: b289 uxth r1, r1 70030818: f340 8217 ble.w 70030c4a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x46e> 7003081c: 2301 movs r3, #1 7003081e: 4698 mov r8, r3 70030820: f9bd 206a ldrsh.w r2, [sp, #106] @ 0x6a 70030824: 46b2 mov sl, r6 70030826: f9bd 5066 ldrsh.w r5, [sp, #102] @ 0x66 7003082a: f9bd 406e ldrsh.w r4, [sp, #110] @ 0x6e 7003082e: 441d add r5, r3 70030830: fb92 f0f3 sdiv r0, r2, r3 70030834: 3d01 subs r5, #1 70030836: b287 uxth r7, r0 70030838: f8bd 0068 ldrh.w r0, [sp, #104] @ 0x68 7003083c: fb95 f5f3 sdiv r5, r5, r3 70030840: fb03 2317 mls r3, r3, r7, r2 70030844: 3501 adds r5, #1 70030846: fb13 0301 smlabb r3, r3, r1, r0 7003084a: 49bb ldr r1, [pc, #748] @ (70030b38 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x35c>) 7003084c: b2ad uxth r5, r5 7003084e: b29b uxth r3, r3 70030850: 00ad lsls r5, r5, #2 70030852: 930c str r3, [sp, #48] @ 0x30 70030854: f8bd 3060 ldrh.w r3, [sp, #96] @ 0x60 70030858: 4418 add r0, r3 7003085a: f8bd 3062 ldrh.w r3, [sp, #98] @ 0x62 7003085e: f8ad 0068 strh.w r0, [sp, #104] @ 0x68 70030862: 441a add r2, r3 70030864: 6808 ldr r0, [r1, #0] 70030866: f8ad 206a strh.w r2, [sp, #106] @ 0x6a 7003086a: f9bd 206c ldrsh.w r2, [sp, #108] @ 0x6c 7003086e: 6803 ldr r3, [r0, #0] 70030870: 920a str r2, [sp, #40] @ 0x28 70030872: 6adb ldr r3, [r3, #44] @ 0x2c 70030874: 4798 blx r3 70030876: 9b0c ldr r3, [sp, #48] @ 0x30 70030878: f9bd 106a ldrsh.w r1, [sp, #106] @ 0x6a 7003087c: 46dc mov ip, fp 7003087e: 2b00 cmp r3, #0 70030880: f105 0304 add.w r3, r5, #4 70030884: 4dad ldr r5, [pc, #692] @ (70030b3c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x360>) 70030886: 46cb mov fp, r9 70030888: 9301 str r3, [sp, #4] 7003088a: 46b9 mov r9, r7 7003088c: 882a ldrh r2, [r5, #0] 7003088e: 4645 mov r5, r8 70030890: f9bd 3068 ldrsh.w r3, [sp, #104] @ 0x68 70030894: fb02 f404 mul.w r4, r2, r4 70030898: fb02 3301 mla r3, r2, r1, r3 7003089c: 9a0a ldr r2, [sp, #40] @ 0x28 7003089e: f04f 0100 mov.w r1, #0 700308a2: eb00 0343 add.w r3, r0, r3, lsl #1 700308a6: 460e mov r6, r1 700308a8: 9302 str r3, [sp, #8] 700308aa: eb03 0344 add.w r3, r3, r4, lsl #1 700308ae: 9307 str r3, [sp, #28] 700308b0: bf0c ite eq 700308b2: 4613 moveq r3, r2 700308b4: 2300 movne r3, #0 700308b6: b29b uxth r3, r3 700308b8: 9303 str r3, [sp, #12] 700308ba: 9b07 ldr r3, [sp, #28] 700308bc: 9a02 ldr r2, [sp, #8] 700308be: 4293 cmp r3, r2 700308c0: f240 811d bls.w 70030afe <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x322> 700308c4: 990c ldr r1, [sp, #48] @ 0x30 700308c6: fa19 f386 uxtah r3, r9, r6 700308ca: f8bd 2064 ldrh.w r2, [sp, #100] @ 0x64 700308ce: 009b lsls r3, r3, #2 700308d0: 9517 str r5, [sp, #92] @ 0x5c 700308d2: fbb1 f2f2 udiv r2, r1, r2 700308d6: 1aaa subs r2, r5, r2 700308d8: 3304 adds r3, #4 700308da: 2101 movs r1, #1 700308dc: 464d mov r5, r9 700308de: b292 uxth r2, r2 700308e0: f81c 4003 ldrb.w r4, [ip, r3] 700308e4: 460f mov r7, r1 700308e6: 46b1 mov r9, r6 700308e8: 9216 str r2, [sp, #88] @ 0x58 700308ea: eb0c 0203 add.w r2, ip, r3 700308ee: 940b str r4, [sp, #44] @ 0x2c 700308f0: 7893 ldrb r3, [r2, #2] 700308f2: 7850 ldrb r0, [r2, #1] 700308f4: 021b lsls r3, r3, #8 700308f6: 78d2 ldrb r2, [r2, #3] 700308f8: 9109 str r1, [sp, #36] @ 0x24 700308fa: ea43 4300 orr.w r3, r3, r0, lsl #16 700308fe: 2000 movs r0, #0 70030900: 4313 orrs r3, r2 70030902: 1862 adds r2, r4, r1 70030904: 4680 mov r8, r0 70030906: 9015 str r0, [sp, #84] @ 0x54 70030908: eb0b 0403 add.w r4, fp, r3 7003090c: e9cd 1204 strd r1, r2, [sp, #16] 70030910: f81b 2003 ldrb.w r2, [fp, r3] 70030914: eb04 0e01 add.w lr, r4, r1 70030918: 7863 ldrb r3, [r4, #1] 7003091a: f88a 200d strb.w r2, [sl, #13] 7003091e: 021b lsls r3, r3, #8 70030920: f403 7380 and.w r3, r3, #256 @ 0x100 70030924: 431a orrs r2, r3 70030926: 9b0c ldr r3, [sp, #48] @ 0x30 70030928: 9208 str r2, [sp, #32] 7003092a: b393 cbz r3, 70030992 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1b6> 7003092c: 429f cmp r7, r3 7003092e: f080 80ee bcs.w 70030b0e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x332> 70030932: 9a07 ldr r2, [sp, #28] 70030934: 1bdf subs r7, r3, r7 70030936: 9802 ldr r0, [sp, #8] 70030938: b2bb uxth r3, r7 7003093a: 4282 cmp r2, r0 7003093c: f240 80df bls.w 70030afe <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x322> 70030940: 9804 ldr r0, [sp, #16] 70030942: f89e 2001 ldrb.w r2, [lr, #1] 70030946: f1c0 0407 rsb r4, r0, #7 7003094a: 40a2 lsls r2, r4 7003094c: f89e 4000 ldrb.w r4, [lr] 70030950: b2d2 uxtb r2, r2 70030952: 4104 asrs r4, r0 70030954: ea44 0442 orr.w r4, r4, r2, lsl #1 70030958: 1c42 adds r2, r0, #1 7003095a: b2d2 uxtb r2, r2 7003095c: 4610 mov r0, r2 7003095e: 9204 str r2, [sp, #16] 70030960: b2a2 uxth r2, r4 70030962: 2808 cmp r0, #8 70030964: f000 8109 beq.w 70030b7a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x39e> 70030968: f10e 0e01 add.w lr, lr, #1 7003096c: 980b ldr r0, [sp, #44] @ 0x2c 7003096e: 4290 cmp r0, r2 70030970: f0c0 80e6 bcc.w 70030b40 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x364> 70030974: 9805 ldr r0, [sp, #20] 70030976: b2e4 uxtb r4, r4 70030978: 2701 movs r7, #1 7003097a: f5b0 7f00 cmp.w r0, #512 @ 0x200 7003097e: f88a 400d strb.w r4, [sl, #13] 70030982: f0c0 8143 bcc.w 70030c0c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x430> 70030986: f04f 0800 mov.w r8, #0 7003098a: e9cd 2708 strd r2, r7, [sp, #32] 7003098e: 2b00 cmp r3, #0 70030990: d1cc bne.n 7003092c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x150> 70030992: 9803 ldr r0, [sp, #12] 70030994: 4287 cmp r7, r0 70030996: f0c0 8112 bcc.w 70030bbe <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x3e2> 7003099a: 1a3a subs r2, r7, r0 7003099c: b292 uxth r2, r2 7003099e: 2800 cmp r0, #0 700309a0: f000 80f0 beq.w 70030b84 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x3a8> 700309a4: 4604 mov r4, r0 700309a6: 9314 str r3, [sp, #80] @ 0x50 700309a8: eb08 0604 add.w r6, r8, r4 700309ac: e9cd 570c strd r5, r7, [sp, #48] @ 0x30 700309b0: b2b0 uxth r0, r6 700309b2: 9e02 ldr r6, [sp, #8] 700309b4: e9cd 2e0e strd r2, lr, [sp, #56] @ 0x38 700309b8: e9cd 9410 strd r9, r4, [sp, #64] @ 0x40 700309bc: e9cd 3b12 strd r3, fp, [sp, #72] @ 0x48 700309c0: e052 b.n 70030a68 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x28c> 700309c2: 8837 ldrh r7, [r6, #0] 700309c4: f10e 0401 add.w r4, lr, #1 700309c8: f3ce 2e0f ubfx lr, lr, #8, #16 700309cc: 2d01 cmp r5, #1 700309ce: ea4f 2b17 mov.w fp, r7, lsr #8 700309d2: fa1e f484 uxtah r4, lr, r4 700309d6: ea4f 0ed7 mov.w lr, r7, lsr #3 700309da: f00b 09f8 and.w r9, fp, #248 @ 0xf8 700309de: ea4f 07c7 mov.w r7, r7, lsl #3 700309e2: ea49 195b orr.w r9, r9, fp, lsr #5 700309e6: f3c4 2b0f ubfx fp, r4, #8, #16 700309ea: ea6f 2424 mvn.w r4, r4, asr #8 700309ee: fb11 f10b smulbb r1, r1, fp 700309f2: fb13 f30b smulbb r3, r3, fp 700309f6: b2e4 uxtb r4, r4 700309f8: fb12 f20b smulbb r2, r2, fp 700309fc: fb09 1104 mla r1, r9, r4, r1 70030a00: f00e 09fc and.w r9, lr, #252 @ 0xfc 70030a04: f3ce 1e81 ubfx lr, lr, #6, #2 70030a08: b289 uxth r1, r1 70030a0a: ea49 090e orr.w r9, r9, lr 70030a0e: fa5f fe87 uxtb.w lr, r7 70030a12: f3c7 1742 ubfx r7, r7, #5, #3 70030a16: fb09 2204 mla r2, r9, r4, r2 70030a1a: ea4e 0e07 orr.w lr, lr, r7 70030a1e: b292 uxth r2, r2 70030a20: fb0e 3304 mla r3, lr, r4, r3 70030a24: f101 0401 add.w r4, r1, #1 70030a28: b29b uxth r3, r3 70030a2a: eb04 2111 add.w r1, r4, r1, lsr #8 70030a2e: f103 0401 add.w r4, r3, #1 70030a32: f401 417f and.w r1, r1, #65280 @ 0xff00 70030a36: eb04 2313 add.w r3, r4, r3, lsr #8 70030a3a: f102 0401 add.w r4, r2, #1 70030a3e: f36f 010a bfc r1, #0, #11 70030a42: eb04 2412 add.w r4, r4, r2, lsr #8 70030a46: f3c3 2307 ubfx r3, r3, #8, #8 70030a4a: f3c4 2407 ubfx r4, r4, #8, #8 70030a4e: ea4f 02c4 mov.w r2, r4, lsl #3 70030a52: d96d bls.n 70030b30 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x354> 70030a54: f402 62fc and.w r2, r2, #2016 @ 0x7e0 70030a58: 4311 orrs r1, r2 70030a5a: ea41 03d3 orr.w r3, r1, r3, lsr #3 70030a5e: 8033 strh r3, [r6, #0] 70030a60: 4580 cmp r8, r0 70030a62: f106 0602 add.w r6, r6, #2 70030a66: d034 beq.n 70030ad2 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x2f6> 70030a68: 4643 mov r3, r8 70030a6a: f108 0801 add.w r8, r8, #1 70030a6e: 4453 add r3, sl 70030a70: fa1f f888 uxth.w r8, r8 70030a74: 7b5d ldrb r5, [r3, #13] 70030a76: 2304 movs r3, #4 70030a78: 461a mov r2, r3 70030a7a: 9b01 ldr r3, [sp, #4] 70030a7c: fb12 3505 smlabb r5, r2, r5, r3 70030a80: f85c 3005 ldr.w r3, [ip, r5] 70030a84: 0e1c lsrs r4, r3, #24 70030a86: f3c3 4107 ubfx r1, r3, #16, #8 70030a8a: f3c3 2207 ubfx r2, r3, #8, #8 70030a8e: b2db uxtb r3, r3 70030a90: d0e6 beq.n 70030a60 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x284> 70030a92: f83c 7005 ldrh.w r7, [ip, r5] 70030a96: 9d06 ldr r5, [sp, #24] 70030a98: fb05 fe04 mul.w lr, r5, r4 70030a9c: 402c ands r4, r5 70030a9e: f89a 500c ldrb.w r5, [sl, #12] 70030aa2: 2cff cmp r4, #255 @ 0xff 70030aa4: f105 35ff add.w r5, r5, #4294967295 @ 0xffffffff 70030aa8: b2ed uxtb r5, r5 70030aaa: d18a bne.n 700309c2 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1e6> 70030aac: 00d2 lsls r2, r2, #3 70030aae: f6a4 04ff subw r4, r4, #2303 @ 0x8ff 70030ab2: 2d01 cmp r5, #1 70030ab4: f106 0602 add.w r6, r6, #2 70030ab8: ea04 2101 and.w r1, r4, r1, lsl #8 70030abc: f402 62fc and.w r2, r2, #2016 @ 0x7e0 70030ac0: ea41 0102 orr.w r1, r1, r2 70030ac4: bf88 it hi 70030ac6: ea41 07d3 orrhi.w r7, r1, r3, lsr #3 70030aca: 4580 cmp r8, r0 70030acc: f826 7c02 strh.w r7, [r6, #-2] 70030ad0: d1ca bne.n 70030a68 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x28c> 70030ad2: 9902 ldr r1, [sp, #8] 70030ad4: e9dd 9410 ldrd r9, r4, [sp, #64] @ 0x40 70030ad8: e9dd 570c ldrd r5, r7, [sp, #48] @ 0x30 70030adc: eb01 0144 add.w r1, r1, r4, lsl #1 70030ae0: 9102 str r1, [sp, #8] 70030ae2: 9903 ldr r1, [sp, #12] 70030ae4: 428f cmp r7, r1 70030ae6: e9dd 2e0e ldrd r2, lr, [sp, #56] @ 0x38 70030aea: e9dd 3b12 ldrd r3, fp, [sp, #72] @ 0x48 70030aee: d24a bcs.n 70030b86 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x3aa> 70030af0: 4617 mov r7, r2 70030af2: 9a14 ldr r2, [sp, #80] @ 0x50 70030af4: 9802 ldr r0, [sp, #8] 70030af6: 9203 str r2, [sp, #12] 70030af8: 9a07 ldr r2, [sp, #28] 70030afa: 4282 cmp r2, r0 70030afc: d814 bhi.n 70030b28 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x34c> 70030afe: 4b0e ldr r3, [pc, #56] @ (70030b38 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x35c>) 70030b00: 6818 ldr r0, [r3, #0] 70030b02: 6803 ldr r3, [r0, #0] 70030b04: 6b1b ldr r3, [r3, #48] @ 0x30 70030b06: 4798 blx r3 70030b08: b01d add sp, #116 @ 0x74 70030b0a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70030b0e: 1aff subs r7, r7, r3 70030b10: 4498 add r8, r3 70030b12: f8bd 3028 ldrh.w r3, [sp, #40] @ 0x28 70030b16: b2bf uxth r7, r7 70030b18: 9303 str r3, [sp, #12] 70030b1a: fa1f f888 uxth.w r8, r8 70030b1e: 2300 movs r3, #0 70030b20: 9a07 ldr r2, [sp, #28] 70030b22: 9802 ldr r0, [sp, #8] 70030b24: 4282 cmp r2, r0 70030b26: d9ea bls.n 70030afe <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x322> 70030b28: 2f00 cmp r7, #0 70030b2a: f47f aefe bne.w 7003092a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x14e> 70030b2e: e707 b.n 70030940 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x164> 70030b30: ea43 2304 orr.w r3, r3, r4, lsl #8 70030b34: e793 b.n 70030a5e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x282> 70030b36: bf00 nop 70030b38: 2400da80 .word 0x2400da80 70030b3c: 2400da78 .word 0x2400da78 70030b40: 9805 ldr r0, [sp, #20] 70030b42: 4282 cmp r2, r0 70030b44: d342 bcc.n 70030bcc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x3f0> 70030b46: 9809 ldr r0, [sp, #36] @ 0x24 70030b48: f89a 400d ldrb.w r4, [sl, #13] 70030b4c: eb0a 0600 add.w r6, sl, r0 70030b50: 7374 strb r4, [r6, #13] 70030b52: 1c46 adds r6, r0, #1 70030b54: b2b7 uxth r7, r6 70030b56: 9805 ldr r0, [sp, #20] 70030b58: 9908 ldr r1, [sp, #32] 70030b5a: eb0a 0880 add.w r8, sl, r0, lsl #2 70030b5e: 9208 str r2, [sp, #32] 70030b60: 9709 str r7, [sp, #36] @ 0x24 70030b62: f888 404e strb.w r4, [r8, #78] @ 0x4e 70030b66: 1c44 adds r4, r0, #1 70030b68: f8a8 1050 strh.w r1, [r8, #80] @ 0x50 70030b6c: b2a2 uxth r2, r4 70030b6e: f888 604f strb.w r6, [r8, #79] @ 0x4f 70030b72: f04f 0800 mov.w r8, #0 70030b76: 9205 str r2, [sp, #20] 70030b78: e6d7 b.n 7003092a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x14e> 70030b7a: 2100 movs r1, #0 70030b7c: f10e 0e02 add.w lr, lr, #2 70030b80: 9104 str r1, [sp, #16] 70030b82: e6f3 b.n 7003096c <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x190> 70030b84: 4640 mov r0, r8 70030b86: 4b34 ldr r3, [pc, #208] @ (70030c58 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x47c>) 70030b88: 990a ldr r1, [sp, #40] @ 0x28 70030b8a: 881b ldrh r3, [r3, #0] 70030b8c: 9c15 ldr r4, [sp, #84] @ 0x54 70030b8e: 1a5b subs r3, r3, r1 70030b90: 9902 ldr r1, [sp, #8] 70030b92: 3401 adds r4, #1 70030b94: eb01 0343 add.w r3, r1, r3, lsl #1 70030b98: 9415 str r4, [sp, #84] @ 0x54 70030b9a: 9302 str r3, [sp, #8] 70030b9c: 9b16 ldr r3, [sp, #88] @ 0x58 70030b9e: 429c cmp r4, r3 70030ba0: d041 beq.n 70030c26 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x44a> 70030ba2: 4617 mov r7, r2 70030ba4: f8bd 3064 ldrh.w r3, [sp, #100] @ 0x64 70030ba8: f8bd 2028 ldrh.w r2, [sp, #40] @ 0x28 70030bac: 4680 mov r8, r0 70030bae: 1a9b subs r3, r3, r2 70030bb0: b29b uxth r3, r3 70030bb2: 2b00 cmp r3, #0 70030bb4: bf14 ite ne 70030bb6: 2200 movne r2, #0 70030bb8: 2300 moveq r3, #0 70030bba: 9203 str r2, [sp, #12] 70030bbc: e7b0 b.n 70030b20 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x344> 70030bbe: 1bc2 subs r2, r0, r7 70030bc0: b292 uxth r2, r2 70030bc2: 9214 str r2, [sp, #80] @ 0x50 70030bc4: b32f cbz r7, 70030c12 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x436> 70030bc6: 463c mov r4, r7 70030bc8: 461a mov r2, r3 70030bca: e6ed b.n 700309a8 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1cc> 70030bcc: eb0a 0484 add.w r4, sl, r4, lsl #2 70030bd0: f894 704f ldrb.w r7, [r4, #79] @ 0x4f 70030bd4: 2f01 cmp r7, #1 70030bd6: d924 bls.n 70030c22 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x446> 70030bd8: f107 040d add.w r4, r7, #13 70030bdc: f10a 080e add.w r8, sl, #14 70030be0: 4616 mov r6, r2 70030be2: 9917 ldr r1, [sp, #92] @ 0x5c 70030be4: 4454 add r4, sl 70030be6: eb0a 0686 add.w r6, sl, r6, lsl #2 70030bea: f896 004e ldrb.w r0, [r6, #78] @ 0x4e 70030bee: f804 0d01 strb.w r0, [r4, #-1]! 70030bf2: 4544 cmp r4, r8 70030bf4: f8b6 6050 ldrh.w r6, [r6, #80] @ 0x50 70030bf8: d1f5 bne.n 70030be6 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x40a> 70030bfa: 9117 str r1, [sp, #92] @ 0x5c 70030bfc: 9805 ldr r0, [sp, #20] 70030bfe: b2f4 uxtb r4, r6 70030c00: f5b0 7f00 cmp.w r0, #512 @ 0x200 70030c04: f88a 400d strb.w r4, [sl, #13] 70030c08: f4bf aebd bcs.w 70030986 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1aa> 70030c0c: 9e09 ldr r6, [sp, #36] @ 0x24 70030c0e: 3601 adds r6, #1 70030c10: e7a1 b.n 70030b56 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x37a> 70030c12: 9a07 ldr r2, [sp, #28] 70030c14: 9902 ldr r1, [sp, #8] 70030c16: 428a cmp r2, r1 70030c18: f67f af71 bls.w 70030afe <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x322> 70030c1c: 9a14 ldr r2, [sp, #80] @ 0x50 70030c1e: 9203 str r2, [sp, #12] 70030c20: e68e b.n 70030940 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x164> 70030c22: 4616 mov r6, r2 70030c24: e7ea b.n 70030bfc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x420> 70030c26: f8bd 3068 ldrh.w r3, [sp, #104] @ 0x68 70030c2a: 464e mov r6, r9 70030c2c: f8bd 2060 ldrh.w r2, [sp, #96] @ 0x60 70030c30: 46a9 mov r9, r5 70030c32: 3601 adds r6, #1 70030c34: 9d17 ldr r5, [sp, #92] @ 0x5c 70030c36: 1a9b subs r3, r3, r2 70030c38: b29b uxth r3, r3 70030c3a: 2b00 cmp r3, #0 70030c3c: 930c str r3, [sp, #48] @ 0x30 70030c3e: 9b0a ldr r3, [sp, #40] @ 0x28 70030c40: bf18 it ne 70030c42: 2300 movne r3, #0 70030c44: b29b uxth r3, r3 70030c46: 9303 str r3, [sp, #12] 70030c48: e637 b.n 700308ba <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0xde> 70030c4a: f44f 6380 mov.w r3, #1024 @ 0x400 70030c4e: fbb3 f3f1 udiv r3, r3, r1 70030c52: 4698 mov r8, r3 70030c54: e5e4 b.n 70030820 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x44> 70030c56: bf00 nop 70030c58: 2400da78 .word 0x2400da78 70030c5c <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0>: 70030c5c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70030c60: b08d sub sp, #52 @ 0x34 70030c62: 4615 mov r5, r2 70030c64: 4683 mov fp, r0 70030c66: 6810 ldr r0, [r2, #0] 70030c68: 9102 str r1, [sp, #8] 70030c6a: 6851 ldr r1, [r2, #4] 70030c6c: aa08 add r2, sp, #32 70030c6e: f89d 4058 ldrb.w r4, [sp, #88] @ 0x58 70030c72: c203 stmia r2!, {r0, r1} 70030c74: 6818 ldr r0, [r3, #0] 70030c76: 6859 ldr r1, [r3, #4] 70030c78: c203 stmia r2!, {r0, r1} 70030c7a: a808 add r0, sp, #32 70030c7c: f7e0 f8a4 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70030c80: 4629 mov r1, r5 70030c82: a80a add r0, sp, #40 @ 0x28 70030c84: f7e0 f8e4 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 70030c88: f9bd 1024 ldrsh.w r1, [sp, #36] @ 0x24 70030c8c: f5b1 6f80 cmp.w r1, #1024 @ 0x400 70030c90: b289 uxth r1, r1 70030c92: f340 8109 ble.w 70030ea8 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x24c> 70030c96: 2301 movs r3, #1 70030c98: f9bd 202a ldrsh.w r2, [sp, #42] @ 0x2a 70030c9c: f9bd 5026 ldrsh.w r5, [sp, #38] @ 0x26 70030ca0: f8bd 0028 ldrh.w r0, [sp, #40] @ 0x28 70030ca4: 441d add r5, r3 70030ca6: fb92 f6f3 sdiv r6, r2, r3 70030caa: fa1f fc86 uxth.w ip, r6 70030cae: 3d01 subs r5, #1 70030cb0: fb03 271c mls r7, r3, ip, r2 70030cb4: 4666 mov r6, ip 70030cb6: fb17 0701 smlabb r7, r7, r1, r0 70030cba: fb95 f5f3 sdiv r5, r5, r3 70030cbe: b2bf uxth r7, r7 70030cc0: b126 cbz r6, 70030ccc <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x70> 70030cc2: 9b02 ldr r3, [sp, #8] 70030cc4: f853 302c ldr.w r3, [r3, ip, lsl #2] 70030cc8: ba1b rev r3, r3 70030cca: 449b add fp, r3 70030ccc: f8bd 3020 ldrh.w r3, [sp, #32] 70030cd0: b2ad uxth r5, r5 70030cd2: f9bd 602e ldrsh.w r6, [sp, #46] @ 0x2e 70030cd6: 4418 add r0, r3 70030cd8: f8bd 3022 ldrh.w r3, [sp, #34] @ 0x22 70030cdc: 00ad lsls r5, r5, #2 70030cde: 441a add r2, r3 70030ce0: f8ad 0028 strh.w r0, [sp, #40] @ 0x28 70030ce4: f9bd 302c ldrsh.w r3, [sp, #44] @ 0x2c 70030ce8: f8ad 202a strh.w r2, [sp, #42] @ 0x2a 70030cec: 4a72 ldr r2, [pc, #456] @ (70030eb8 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x25c>) 70030cee: 9301 str r3, [sp, #4] 70030cf0: 6810 ldr r0, [r2, #0] 70030cf2: 6803 ldr r3, [r0, #0] 70030cf4: 6adb ldr r3, [r3, #44] @ 0x2c 70030cf6: 4798 blx r3 70030cf8: 1d2a adds r2, r5, #4 70030cfa: f9bd 102a ldrsh.w r1, [sp, #42] @ 0x2a 70030cfe: 2f00 cmp r7, #0 70030d00: 9203 str r2, [sp, #12] 70030d02: ea6f 0e04 mvn.w lr, r4 70030d06: 4a6d ldr r2, [pc, #436] @ (70030ebc <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x260>) 70030d08: f9bd 3028 ldrsh.w r3, [sp, #40] @ 0x28 70030d0c: fa5f fe8e uxtb.w lr, lr 70030d10: 8812 ldrh r2, [r2, #0] 70030d12: fb02 3301 mla r3, r2, r1, r3 70030d16: fb02 f606 mul.w r6, r2, r6 70030d1a: eb00 0043 add.w r0, r0, r3, lsl #1 70030d1e: 9b01 ldr r3, [sp, #4] 70030d20: bf18 it ne 70030d22: 2300 movne r3, #0 70030d24: eb00 0246 add.w r2, r0, r6, lsl #1 70030d28: b299 uxth r1, r3 70030d2a: 4290 cmp r0, r2 70030d2c: d219 bcs.n 70030d62 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x106> 70030d2e: 2300 movs r3, #0 70030d30: f8df 818c ldr.w r8, [pc, #396] @ 70030ec0 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x264> 70030d34: 461d mov r5, r3 70030d36: 469a mov sl, r3 70030d38: b955 cbnz r5, 70030d50 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0xf4> 70030d3a: f89b 3000 ldrb.w r3, [fp] 70030d3e: 099d lsrs r5, r3, #6 70030d40: f003 0a3f and.w sl, r3, #63 @ 0x3f 70030d44: 1e6b subs r3, r5, #1 70030d46: 2b02 cmp r3, #2 70030d48: f200 80a3 bhi.w 70030e92 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x236> 70030d4c: f10b 0b01 add.w fp, fp, #1 70030d50: b17f cbz r7, 70030d72 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x116> 70030d52: 42bd cmp r5, r7 70030d54: f080 80a2 bcs.w 70030e9c <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x240> 70030d58: 1b7f subs r7, r7, r5 70030d5a: 2500 movs r5, #0 70030d5c: b2bf uxth r7, r7 70030d5e: 4282 cmp r2, r0 70030d60: d8ea bhi.n 70030d38 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0xdc> 70030d62: 4b55 ldr r3, [pc, #340] @ (70030eb8 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x25c>) 70030d64: 6818 ldr r0, [r3, #0] 70030d66: 6803 ldr r3, [r0, #0] 70030d68: 6b1b ldr r3, [r3, #48] @ 0x30 70030d6a: 4798 blx r3 70030d6c: b00d add sp, #52 @ 0x34 70030d6e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70030d72: 2303 movs r3, #3 70030d74: 428d cmp r5, r1 70030d76: 461e mov r6, r3 70030d78: 9b03 ldr r3, [sp, #12] 70030d7a: fb16 3c0a smlabb ip, r6, sl, r3 70030d7e: 9b02 ldr r3, [sp, #8] 70030d80: 449c add ip, r3 70030d82: d35d bcc.n 70030e40 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1e4> 70030d84: 1a6b subs r3, r5, r1 70030d86: 2cff cmp r4, #255 @ 0xff 70030d88: 4689 mov r9, r1 70030d8a: b29e uxth r6, r3 70030d8c: 463b mov r3, r7 70030d8e: d05d beq.n 70030e4c <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1f0> 70030d90: f1b9 0f00 cmp.w r9, #0 70030d94: f000 808d beq.w 70030eb2 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x256> 70030d98: eb00 0949 add.w r9, r0, r9, lsl #1 70030d9c: e9cd 2a04 strd r2, sl, [sp, #16] 70030da0: e9cd 6306 strd r6, r3, [sp, #24] 70030da4: 8803 ldrh r3, [r0, #0] 70030da6: f89c 2002 ldrb.w r2, [ip, #2] 70030daa: 0a1e lsrs r6, r3, #8 70030dac: f89c a001 ldrb.w sl, [ip, #1] 70030db0: fb12 f204 smulbb r2, r2, r4 70030db4: fb1a fa04 smulbb sl, sl, r4 70030db8: f006 06f8 and.w r6, r6, #248 @ 0xf8 70030dbc: fb06 220e mla r2, r6, lr, r2 70030dc0: 08de lsrs r6, r3, #3 70030dc2: 00db lsls r3, r3, #3 70030dc4: f006 06fc and.w r6, r6, #252 @ 0xfc 70030dc8: b292 uxth r2, r2 70030dca: b2db uxtb r3, r3 70030dcc: fb06 a60e mla r6, r6, lr, sl 70030dd0: f89c a000 ldrb.w sl, [ip] 70030dd4: fb13 f30e smulbb r3, r3, lr 70030dd8: b2b6 uxth r6, r6 70030dda: fb0a 3304 mla r3, sl, r4, r3 70030dde: f102 0a01 add.w sl, r2, #1 70030de2: eb0a 2a12 add.w sl, sl, r2, lsr #8 70030de6: 1c72 adds r2, r6, #1 70030de8: b29b uxth r3, r3 70030dea: eb02 2216 add.w r2, r2, r6, lsr #8 70030dee: f40a 4a7f and.w sl, sl, #65280 @ 0xff00 70030df2: 1c5e adds r6, r3, #1 70030df4: 0952 lsrs r2, r2, #5 70030df6: ea0a 0a08 and.w sl, sl, r8 70030dfa: eb06 2613 add.w r6, r6, r3, lsr #8 70030dfe: f402 62fc and.w r2, r2, #2016 @ 0x7e0 70030e02: f3c6 26c4 ubfx r6, r6, #11, #5 70030e06: ea4a 0202 orr.w r2, sl, r2 70030e0a: 4316 orrs r6, r2 70030e0c: f820 6b02 strh.w r6, [r0], #2 70030e10: 4548 cmp r0, r9 70030e12: d1c7 bne.n 70030da4 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x148> 70030e14: e9dd 2a04 ldrd r2, sl, [sp, #16] 70030e18: e9dd 6306 ldrd r6, r3, [sp, #24] 70030e1c: 428d cmp r5, r1 70030e1e: 4635 mov r5, r6 70030e20: d334 bcc.n 70030e8c <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x230> 70030e22: 9e01 ldr r6, [sp, #4] 70030e24: f8bd 7024 ldrh.w r7, [sp, #36] @ 0x24 70030e28: b2b1 uxth r1, r6 70030e2a: 4b24 ldr r3, [pc, #144] @ (70030ebc <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x260>) 70030e2c: 1a7f subs r7, r7, r1 70030e2e: 8818 ldrh r0, [r3, #0] 70030e30: b2bf uxth r7, r7 70030e32: 1b80 subs r0, r0, r6 70030e34: 2f00 cmp r7, #0 70030e36: eb09 0040 add.w r0, r9, r0, lsl #1 70030e3a: bf18 it ne 70030e3c: 2100 movne r1, #0 70030e3e: e78e b.n 70030d5e <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x102> 70030e40: 1b4b subs r3, r1, r5 70030e42: 2cff cmp r4, #255 @ 0xff 70030e44: 46a9 mov r9, r5 70030e46: 463e mov r6, r7 70030e48: b29b uxth r3, r3 70030e4a: d1a1 bne.n 70030d90 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x134> 70030e4c: f1b9 0f00 cmp.w r9, #0 70030e50: d02f beq.n 70030eb2 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x256> 70030e52: eb00 0949 add.w r9, r0, r9, lsl #1 70030e56: e9cd 2e04 strd r2, lr, [sp, #16] 70030e5a: f89c e001 ldrb.w lr, [ip, #1] 70030e5e: f89c 2002 ldrb.w r2, [ip, #2] 70030e62: ea4f 0ece mov.w lr, lr, lsl #3 70030e66: ea08 2202 and.w r2, r8, r2, lsl #8 70030e6a: f40e 6efc and.w lr, lr, #2016 @ 0x7e0 70030e6e: ea42 020e orr.w r2, r2, lr 70030e72: f89c e000 ldrb.w lr, [ip] 70030e76: ea42 02de orr.w r2, r2, lr, lsr #3 70030e7a: f820 2b02 strh.w r2, [r0], #2 70030e7e: 4548 cmp r0, r9 70030e80: d1eb bne.n 70030e5a <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1fe> 70030e82: 428d cmp r5, r1 70030e84: 4635 mov r5, r6 70030e86: e9dd 2e04 ldrd r2, lr, [sp, #16] 70030e8a: d2ca bcs.n 70030e22 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1c6> 70030e8c: 4619 mov r1, r3 70030e8e: 4648 mov r0, r9 70030e90: e765 b.n 70030d5e <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x102> 70030e92: f89b 5001 ldrb.w r5, [fp, #1] 70030e96: f10b 0b02 add.w fp, fp, #2 70030e9a: e759 b.n 70030d50 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0xf4> 70030e9c: 1bef subs r7, r5, r7 70030e9e: f8bd 1004 ldrh.w r1, [sp, #4] 70030ea2: b2bd uxth r5, r7 70030ea4: 2700 movs r7, #0 70030ea6: e75a b.n 70030d5e <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x102> 70030ea8: f44f 6380 mov.w r3, #1024 @ 0x400 70030eac: fbb3 f3f1 udiv r3, r3, r1 70030eb0: e6f2 b.n 70030c98 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x3c> 70030eb2: 4681 mov r9, r0 70030eb4: e7b2 b.n 70030e1c <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1c0> 70030eb6: bf00 nop 70030eb8: 2400da80 .word 0x2400da80 70030ebc: 2400da78 .word 0x2400da78 70030ec0: fffff800 .word 0xfffff800 70030ec4 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0>: 70030ec4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70030ec8: b09b sub sp, #108 @ 0x6c 70030eca: 461c mov r4, r3 70030ecc: 4682 mov sl, r0 70030ece: 6818 ldr r0, [r3, #0] 70030ed0: 9d24 ldr r5, [sp, #144] @ 0x90 70030ed2: 9101 str r1, [sp, #4] 70030ed4: 6859 ldr r1, [r3, #4] 70030ed6: ab16 add r3, sp, #88 @ 0x58 70030ed8: 9213 str r2, [sp, #76] @ 0x4c 70030eda: f89d 7094 ldrb.w r7, [sp, #148] @ 0x94 70030ede: c303 stmia r3!, {r0, r1} 70030ee0: 6828 ldr r0, [r5, #0] 70030ee2: 6869 ldr r1, [r5, #4] 70030ee4: c303 stmia r3!, {r0, r1} 70030ee6: a816 add r0, sp, #88 @ 0x58 70030ee8: f7df ff6e bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70030eec: 4621 mov r1, r4 70030eee: a818 add r0, sp, #96 @ 0x60 70030ef0: f7df ffae bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 70030ef4: f9bd 105c ldrsh.w r1, [sp, #92] @ 0x5c 70030ef8: f5b1 6f80 cmp.w r1, #1024 @ 0x400 70030efc: b289 uxth r1, r1 70030efe: f340 820a ble.w 70031316 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x452> 70030f02: 2301 movs r3, #1 70030f04: 9312 str r3, [sp, #72] @ 0x48 70030f06: f9bd 2062 ldrsh.w r2, [sp, #98] @ 0x62 70030f0a: f9bd 505e ldrsh.w r5, [sp, #94] @ 0x5e 70030f0e: f9bd 6064 ldrsh.w r6, [sp, #100] @ 0x64 70030f12: 441d add r5, r3 70030f14: f9bd 4066 ldrsh.w r4, [sp, #102] @ 0x66 70030f18: 9607 str r6, [sp, #28] 70030f1a: 3d01 subs r5, #1 70030f1c: f8df 8320 ldr.w r8, [pc, #800] @ 70031240 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x37c> 70030f20: fb92 f0f3 sdiv r0, r2, r3 70030f24: b280 uxth r0, r0 70030f26: fb95 f5f3 sdiv r5, r5, r3 70030f2a: 9014 str r0, [sp, #80] @ 0x50 70030f2c: 3501 adds r5, #1 70030f2e: fb03 2310 mls r3, r3, r0, r2 70030f32: f8bd 0060 ldrh.w r0, [sp, #96] @ 0x60 70030f36: b2ad uxth r5, r5 70030f38: fb13 0301 smlabb r3, r3, r1, r0 70030f3c: fa1f fb83 uxth.w fp, r3 70030f40: f8bd 3058 ldrh.w r3, [sp, #88] @ 0x58 70030f44: 4418 add r0, r3 70030f46: f8bd 305a ldrh.w r3, [sp, #90] @ 0x5a 70030f4a: 441a add r2, r3 70030f4c: 4bba ldr r3, [pc, #744] @ (70031238 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x374>) 70030f4e: f8ad 0060 strh.w r0, [sp, #96] @ 0x60 70030f52: 6818 ldr r0, [r3, #0] 70030f54: f8ad 2062 strh.w r2, [sp, #98] @ 0x62 70030f58: 6803 ldr r3, [r0, #0] 70030f5a: 6adb ldr r3, [r3, #44] @ 0x2c 70030f5c: 4798 blx r3 70030f5e: 9b13 ldr r3, [sp, #76] @ 0x4c 70030f60: 4ab6 ldr r2, [pc, #728] @ (7003123c <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x378>) 70030f62: f1bb 0f00 cmp.w fp, #0 70030f66: eb03 0585 add.w r5, r3, r5, lsl #2 70030f6a: f9bd 1062 ldrsh.w r1, [sp, #98] @ 0x62 70030f6e: 8812 ldrh r2, [r2, #0] 70030f70: f9bd 3060 ldrsh.w r3, [sp, #96] @ 0x60 70030f74: f105 0c04 add.w ip, r5, #4 70030f78: fb02 f404 mul.w r4, r2, r4 70030f7c: f8dd e004 ldr.w lr, [sp, #4] 70030f80: fb02 3301 mla r3, r2, r1, r3 70030f84: f10a 020e add.w r2, sl, #14 70030f88: f04f 0100 mov.w r1, #0 70030f8c: eb00 0343 add.w r3, r0, r3, lsl #1 70030f90: 9215 str r2, [sp, #84] @ 0x54 70030f92: 4652 mov r2, sl 70030f94: 46da mov sl, fp 70030f96: 9300 str r3, [sp, #0] 70030f98: eb03 0344 add.w r3, r3, r4, lsl #1 70030f9c: 46e3 mov fp, ip 70030f9e: 4694 mov ip, r2 70030fa0: 9303 str r3, [sp, #12] 70030fa2: ea6f 0307 mvn.w r3, r7 70030fa6: 9111 str r1, [sp, #68] @ 0x44 70030fa8: fa5f f983 uxtb.w r9, r3 70030fac: bf0c ite eq 70030fae: 4633 moveq r3, r6 70030fb0: 2300 movne r3, #0 70030fb2: b29b uxth r3, r3 70030fb4: 9a03 ldr r2, [sp, #12] 70030fb6: 9900 ldr r1, [sp, #0] 70030fb8: 428a cmp r2, r1 70030fba: f240 8134 bls.w 70031226 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x362> 70030fbe: 9914 ldr r1, [sp, #80] @ 0x50 70030fc0: 2501 movs r5, #1 70030fc2: 9a11 ldr r2, [sp, #68] @ 0x44 70030fc4: 9812 ldr r0, [sp, #72] @ 0x48 70030fc6: 462e mov r6, r5 70030fc8: fa11 f282 uxtah r2, r1, r2 70030fcc: f8bd 105c ldrh.w r1, [sp, #92] @ 0x5c 70030fd0: 9506 str r5, [sp, #24] 70030fd2: 0092 lsls r2, r2, #2 70030fd4: fbba f1f1 udiv r1, sl, r1 70030fd8: 1a41 subs r1, r0, r1 70030fda: 3204 adds r2, #4 70030fdc: 9813 ldr r0, [sp, #76] @ 0x4c 70030fde: b289 uxth r1, r1 70030fe0: 5c84 ldrb r4, [r0, r2] 70030fe2: 9110 str r1, [sp, #64] @ 0x40 70030fe4: 1881 adds r1, r0, r2 70030fe6: 940e str r4, [sp, #56] @ 0x38 70030fe8: 788a ldrb r2, [r1, #2] 70030fea: 7848 ldrb r0, [r1, #1] 70030fec: 0212 lsls r2, r2, #8 70030fee: 78c9 ldrb r1, [r1, #3] 70030ff0: ea42 4200 orr.w r2, r2, r0, lsl #16 70030ff4: 2000 movs r0, #0 70030ff6: 430a orrs r2, r1 70030ff8: 1961 adds r1, r4, r5 70030ffa: 900f str r0, [sp, #60] @ 0x3c 70030ffc: 9101 str r1, [sp, #4] 70030ffe: 4629 mov r1, r5 70031000: eb0e 0502 add.w r5, lr, r2 70031004: f81e 4002 ldrb.w r4, [lr, r2] 70031008: 4602 mov r2, r0 7003100a: 7868 ldrb r0, [r5, #1] 7003100c: 4435 add r5, r6 7003100e: f88c 400d strb.w r4, [ip, #13] 70031012: 0200 lsls r0, r0, #8 70031014: 9502 str r5, [sp, #8] 70031016: f400 7080 and.w r0, r0, #256 @ 0x100 7003101a: 4320 orrs r0, r4 7003101c: 9005 str r0, [sp, #20] 7003101e: 4630 mov r0, r6 70031020: 4676 mov r6, lr 70031022: f1ba 0f00 cmp.w sl, #0 70031026: d030 beq.n 7003108a <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1c6> 70031028: 4550 cmp r0, sl 7003102a: f080 812a bcs.w 70031282 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x3be> 7003102e: ebaa 0a00 sub.w sl, sl, r0 70031032: 9a03 ldr r2, [sp, #12] 70031034: 9800 ldr r0, [sp, #0] 70031036: fa1f fa8a uxth.w sl, sl 7003103a: 4282 cmp r2, r0 7003103c: f240 80f3 bls.w 70031226 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x362> 70031040: 9d02 ldr r5, [sp, #8] 70031042: f1c1 0207 rsb r2, r1, #7 70031046: 7868 ldrb r0, [r5, #1] 70031048: 4090 lsls r0, r2 7003104a: 782a ldrb r2, [r5, #0] 7003104c: 410a asrs r2, r1 7003104e: 3101 adds r1, #1 70031050: b2c0 uxtb r0, r0 70031052: b2c9 uxtb r1, r1 70031054: ea42 0240 orr.w r2, r2, r0, lsl #1 70031058: 2908 cmp r1, #8 7003105a: b294 uxth r4, r2 7003105c: f000 811b beq.w 70031296 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x3d2> 70031060: 3501 adds r5, #1 70031062: 9502 str r5, [sp, #8] 70031064: 980e ldr r0, [sp, #56] @ 0x38 70031066: 42a0 cmp r0, r4 70031068: f0c0 80ec bcc.w 70031244 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x380> 7003106c: 9d01 ldr r5, [sp, #4] 7003106e: b2d2 uxtb r2, r2 70031070: 2001 movs r0, #1 70031072: f5b5 7f00 cmp.w r5, #512 @ 0x200 70031076: f88c 200d strb.w r2, [ip, #13] 7003107a: f0c0 8134 bcc.w 700312e6 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x422> 7003107e: 2200 movs r2, #0 70031080: e9cd 4005 strd r4, r0, [sp, #20] 70031084: f1ba 0f00 cmp.w sl, #0 70031088: d1ce bne.n 70031028 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x164> 7003108a: 4298 cmp r0, r3 7003108c: f0c0 808c bcc.w 700311a8 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x2e4> 70031090: 1ac4 subs r4, r0, r3 70031092: 2fff cmp r7, #255 @ 0xff 70031094: f8cd a020 str.w sl, [sp, #32] 70031098: b2a4 uxth r4, r4 7003109a: 9404 str r4, [sp, #16] 7003109c: 461c mov r4, r3 7003109e: f000 808c beq.w 700311ba <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x2f6> 700310a2: 2c00 cmp r4, #0 700310a4: d058 beq.n 70031158 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x294> 700310a6: eb02 0e04 add.w lr, r2, r4 700310aa: 9d00 ldr r5, [sp, #0] 700310ac: 900d str r0, [sp, #52] @ 0x34 700310ae: fa1f fe8e uxth.w lr, lr 700310b2: e9cd a109 strd sl, r1, [sp, #36] @ 0x24 700310b6: e9cd 430b strd r4, r3, [sp, #44] @ 0x2c 700310ba: 4613 mov r3, r2 700310bc: 3201 adds r2, #1 700310be: 4463 add r3, ip 700310c0: b292 uxth r2, r2 700310c2: 7b59 ldrb r1, [r3, #13] 700310c4: 4572 cmp r2, lr 700310c6: 882b ldrh r3, [r5, #0] 700310c8: eb01 0141 add.w r1, r1, r1, lsl #1 700310cc: eb0b 0401 add.w r4, fp, r1 700310d0: f81b a001 ldrb.w sl, [fp, r1] 700310d4: ea4f 2113 mov.w r1, r3, lsr #8 700310d8: 78a0 ldrb r0, [r4, #2] 700310da: f001 01f8 and.w r1, r1, #248 @ 0xf8 700310de: 7864 ldrb r4, [r4, #1] 700310e0: fb10 f007 smulbb r0, r0, r7 700310e4: fb14 f407 smulbb r4, r4, r7 700310e8: fb01 0009 mla r0, r1, r9, r0 700310ec: ea4f 01d3 mov.w r1, r3, lsr #3 700310f0: ea4f 03c3 mov.w r3, r3, lsl #3 700310f4: f001 01fc and.w r1, r1, #252 @ 0xfc 700310f8: b280 uxth r0, r0 700310fa: b2db uxtb r3, r3 700310fc: fb01 4109 mla r1, r1, r9, r4 70031100: f100 0401 add.w r4, r0, #1 70031104: fb13 f309 smulbb r3, r3, r9 70031108: b289 uxth r1, r1 7003110a: eb04 2410 add.w r4, r4, r0, lsr #8 7003110e: fb0a 3307 mla r3, sl, r7, r3 70031112: f101 0001 add.w r0, r1, #1 70031116: b29b uxth r3, r3 70031118: f404 447f and.w r4, r4, #65280 @ 0xff00 7003111c: eb00 2011 add.w r0, r0, r1, lsr #8 70031120: f103 0101 add.w r1, r3, #1 70031124: ea04 0408 and.w r4, r4, r8 70031128: ea4f 1050 mov.w r0, r0, lsr #5 7003112c: eb01 2113 add.w r1, r1, r3, lsr #8 70031130: f400 60fc and.w r0, r0, #2016 @ 0x7e0 70031134: f3c1 21c4 ubfx r1, r1, #11, #5 70031138: ea40 0004 orr.w r0, r0, r4 7003113c: ea41 0100 orr.w r1, r1, r0 70031140: f825 1b02 strh.w r1, [r5], #2 70031144: d1b9 bne.n 700310ba <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1f6> 70031146: 9d00 ldr r5, [sp, #0] 70031148: 980d ldr r0, [sp, #52] @ 0x34 7003114a: e9dd 430b ldrd r4, r3, [sp, #44] @ 0x2c 7003114e: e9dd a109 ldrd sl, r1, [sp, #36] @ 0x24 70031152: eb05 0444 add.w r4, r5, r4, lsl #1 70031156: 9400 str r4, [sp, #0] 70031158: 4298 cmp r0, r3 7003115a: d35e bcc.n 7003121a <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x356> 7003115c: 4b37 ldr r3, [pc, #220] @ (7003123c <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x378>) 7003115e: 9c07 ldr r4, [sp, #28] 70031160: 881b ldrh r3, [r3, #0] 70031162: 980f ldr r0, [sp, #60] @ 0x3c 70031164: 1b1b subs r3, r3, r4 70031166: 9c00 ldr r4, [sp, #0] 70031168: 3001 adds r0, #1 7003116a: eb04 0343 add.w r3, r4, r3, lsl #1 7003116e: 900f str r0, [sp, #60] @ 0x3c 70031170: 9300 str r3, [sp, #0] 70031172: 9b10 ldr r3, [sp, #64] @ 0x40 70031174: 4298 cmp r0, r3 70031176: f000 80ba beq.w 700312ee <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x42a> 7003117a: f8bd 301c ldrh.w r3, [sp, #28] 7003117e: f8bd a05c ldrh.w sl, [sp, #92] @ 0x5c 70031182: 9804 ldr r0, [sp, #16] 70031184: ebaa 0a03 sub.w sl, sl, r3 70031188: fa1f fa8a uxth.w sl, sl 7003118c: f1ba 0f00 cmp.w sl, #0 70031190: bf14 ite ne 70031192: 2300 movne r3, #0 70031194: f04f 0a00 moveq.w sl, #0 70031198: 9c03 ldr r4, [sp, #12] 7003119a: 9d00 ldr r5, [sp, #0] 7003119c: 42ac cmp r4, r5 7003119e: d942 bls.n 70031226 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x362> 700311a0: 2800 cmp r0, #0 700311a2: f47f af3e bne.w 70031022 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x15e> 700311a6: e74b b.n 70031040 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x17c> 700311a8: 1a1c subs r4, r3, r0 700311aa: 2fff cmp r7, #255 @ 0xff 700311ac: f8cd a010 str.w sl, [sp, #16] 700311b0: b2a4 uxth r4, r4 700311b2: 9408 str r4, [sp, #32] 700311b4: 4604 mov r4, r0 700311b6: f47f af74 bne.w 700310a2 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1de> 700311ba: 2c00 cmp r4, #0 700311bc: d0cc beq.n 70031158 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x294> 700311be: eb02 0e04 add.w lr, r2, r4 700311c2: 9d00 ldr r5, [sp, #0] 700311c4: 910b str r1, [sp, #44] @ 0x2c 700311c6: fa1f fe8e uxth.w lr, lr 700311ca: e9cd 9a09 strd r9, sl, [sp, #36] @ 0x24 700311ce: 4611 mov r1, r2 700311d0: 3201 adds r2, #1 700311d2: 4461 add r1, ip 700311d4: b292 uxth r2, r2 700311d6: f891 900d ldrb.w r9, [r1, #13] 700311da: 4572 cmp r2, lr 700311dc: eb09 0949 add.w r9, r9, r9, lsl #1 700311e0: eb0b 0109 add.w r1, fp, r9 700311e4: f81b a009 ldrb.w sl, [fp, r9] 700311e8: f891 9001 ldrb.w r9, [r1, #1] 700311ec: 7889 ldrb r1, [r1, #2] 700311ee: ea4f 09c9 mov.w r9, r9, lsl #3 700311f2: ea08 2101 and.w r1, r8, r1, lsl #8 700311f6: f409 69fc and.w r9, r9, #2016 @ 0x7e0 700311fa: ea41 0109 orr.w r1, r1, r9 700311fe: ea41 01da orr.w r1, r1, sl, lsr #3 70031202: f825 1b02 strh.w r1, [r5], #2 70031206: d1e2 bne.n 700311ce <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x30a> 70031208: 9d00 ldr r5, [sp, #0] 7003120a: 4298 cmp r0, r3 7003120c: 990b ldr r1, [sp, #44] @ 0x2c 7003120e: eb05 0444 add.w r4, r5, r4, lsl #1 70031212: e9dd 9a09 ldrd r9, sl, [sp, #36] @ 0x24 70031216: 9400 str r4, [sp, #0] 70031218: d2a0 bcs.n 7003115c <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x298> 7003121a: 9c03 ldr r4, [sp, #12] 7003121c: 9d00 ldr r5, [sp, #0] 7003121e: 9804 ldr r0, [sp, #16] 70031220: 42ac cmp r4, r5 70031222: 9b08 ldr r3, [sp, #32] 70031224: d8bc bhi.n 700311a0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x2dc> 70031226: 4b04 ldr r3, [pc, #16] @ (70031238 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x374>) 70031228: 6818 ldr r0, [r3, #0] 7003122a: 6803 ldr r3, [r0, #0] 7003122c: 6b1b ldr r3, [r3, #48] @ 0x30 7003122e: 4798 blx r3 70031230: b01b add sp, #108 @ 0x6c 70031232: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70031236: bf00 nop 70031238: 2400da80 .word 0x2400da80 7003123c: 2400da78 .word 0x2400da78 70031240: fffff800 .word 0xfffff800 70031244: 9801 ldr r0, [sp, #4] 70031246: 4284 cmp r4, r0 70031248: d32a bcc.n 700312a0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x3dc> 7003124a: 9d06 ldr r5, [sp, #24] 7003124c: f89c 200d ldrb.w r2, [ip, #13] 70031250: eb0c 0005 add.w r0, ip, r5 70031254: 7342 strb r2, [r0, #13] 70031256: 1c68 adds r0, r5, #1 70031258: 9004 str r0, [sp, #16] 7003125a: b280 uxth r0, r0 7003125c: 9d01 ldr r5, [sp, #4] 7003125e: 9006 str r0, [sp, #24] 70031260: eb0c 0e85 add.w lr, ip, r5, lsl #2 70031264: 9d05 ldr r5, [sp, #20] 70031266: 9405 str r4, [sp, #20] 70031268: f8ae 5050 strh.w r5, [lr, #80] @ 0x50 7003126c: f88e 204e strb.w r2, [lr, #78] @ 0x4e 70031270: 9d01 ldr r5, [sp, #4] 70031272: 9a04 ldr r2, [sp, #16] 70031274: f88e 204f strb.w r2, [lr, #79] @ 0x4f 70031278: 1c6a adds r2, r5, #1 7003127a: b292 uxth r2, r2 7003127c: 9201 str r2, [sp, #4] 7003127e: 2200 movs r2, #0 70031280: e6cf b.n 70031022 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x15e> 70031282: eba0 030a sub.w r3, r0, sl 70031286: 4452 add r2, sl 70031288: f04f 0a00 mov.w sl, #0 7003128c: b298 uxth r0, r3 7003128e: f8bd 301c ldrh.w r3, [sp, #28] 70031292: b292 uxth r2, r2 70031294: e780 b.n 70031198 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x2d4> 70031296: 4629 mov r1, r5 70031298: 3102 adds r1, #2 7003129a: 9102 str r1, [sp, #8] 7003129c: 2100 movs r1, #0 7003129e: e6e1 b.n 70031064 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1a0> 700312a0: eb0c 0282 add.w r2, ip, r2, lsl #2 700312a4: f892 504f ldrb.w r5, [r2, #79] @ 0x4f 700312a8: 2d01 cmp r5, #1 700312aa: d932 bls.n 70031312 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x44e> 700312ac: f105 000d add.w r0, r5, #13 700312b0: f8cd b010 str.w fp, [sp, #16] 700312b4: 4622 mov r2, r4 700312b6: f8dd b054 ldr.w fp, [sp, #84] @ 0x54 700312ba: 4460 add r0, ip 700312bc: eb0c 0282 add.w r2, ip, r2, lsl #2 700312c0: f892 e04e ldrb.w lr, [r2, #78] @ 0x4e 700312c4: f800 ed01 strb.w lr, [r0, #-1]! 700312c8: 4558 cmp r0, fp 700312ca: f8b2 2050 ldrh.w r2, [r2, #80] @ 0x50 700312ce: d1f5 bne.n 700312bc <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x3f8> 700312d0: f8dd b010 ldr.w fp, [sp, #16] 700312d4: 4628 mov r0, r5 700312d6: 9d01 ldr r5, [sp, #4] 700312d8: b2d2 uxtb r2, r2 700312da: f5b5 7f00 cmp.w r5, #512 @ 0x200 700312de: f88c 200d strb.w r2, [ip, #13] 700312e2: f4bf aecc bcs.w 7003107e <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x1ba> 700312e6: 9d06 ldr r5, [sp, #24] 700312e8: 3501 adds r5, #1 700312ea: 9504 str r5, [sp, #16] 700312ec: e7b6 b.n 7003125c <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x398> 700312ee: 9b11 ldr r3, [sp, #68] @ 0x44 700312f0: 46b6 mov lr, r6 700312f2: f8bd 2058 ldrh.w r2, [sp, #88] @ 0x58 700312f6: 3301 adds r3, #1 700312f8: 9311 str r3, [sp, #68] @ 0x44 700312fa: f8bd 3060 ldrh.w r3, [sp, #96] @ 0x60 700312fe: 1a9b subs r3, r3, r2 70031300: fa1f fa83 uxth.w sl, r3 70031304: 9b07 ldr r3, [sp, #28] 70031306: f1ba 0f00 cmp.w sl, #0 7003130a: bf18 it ne 7003130c: 2300 movne r3, #0 7003130e: b29b uxth r3, r3 70031310: e650 b.n 70030fb4 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0xf0> 70031312: 4622 mov r2, r4 70031314: e7de b.n 700312d4 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x410> 70031316: f44f 6380 mov.w r3, #1024 @ 0x400 7003131a: fbb3 f3f1 udiv r3, r3, r1 7003131e: 9312 str r3, [sp, #72] @ 0x48 70031320: e5f1 b.n 70030f06 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0+0x42> 70031322: bf00 nop 70031324 <_ZNK8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_32BPPEPKhPmhh.constprop.0>: 70031324: fb03 f202 mul.w r2, r3, r2 70031328: 1c53 adds r3, r2, #1 7003132a: 0a12 lsrs r2, r2, #8 7003132c: fa12 f383 uxtah r3, r2, r3 70031330: 680a ldr r2, [r1, #0] 70031332: f3c3 2c07 ubfx ip, r3, #8, #8 70031336: 121b asrs r3, r3, #8 70031338: f1bc 0fff cmp.w ip, #255 @ 0xff 7003133c: b570 push {r4, r5, r6, lr} 7003133e: d038 beq.n 700313b2 <_ZNK8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_32BPPEPKhPmhh.constprop.0+0x8e> 70031340: 0e14 lsrs r4, r2, #24 70031342: b3b4 cbz r4, 700313b2 <_ZNK8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_32BPPEPKhPmhh.constprop.0+0x8e> 70031344: b3a3 cbz r3, 700313b0 <_ZNK8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_32BPPEPKhPmhh.constprop.0+0x8c> 70031346: fb13 f504 smulbb r5, r3, r4 7003134a: 7886 ldrb r6, [r0, #2] 7003134c: 44a4 add ip, r4 7003134e: b2ad uxth r5, r5 70031350: fb03 f606 mul.w r6, r3, r6 70031354: f105 0e01 add.w lr, r5, #1 70031358: 0a2d lsrs r5, r5, #8 7003135a: fa15 f58e uxtah r5, r5, lr 7003135e: f890 e001 ldrb.w lr, [r0, #1] 70031362: eba4 2415 sub.w r4, r4, r5, lsr #8 70031366: fb03 fe0e mul.w lr, r3, lr 7003136a: ebac 2c15 sub.w ip, ip, r5, lsr #8 7003136e: 7805 ldrb r5, [r0, #0] 70031370: f3c2 4007 ubfx r0, r2, #16, #8 70031374: fa5f fc8c uxtb.w ip, ip 70031378: fb04 6000 mla r0, r4, r0, r6 7003137c: f3c2 2607 ubfx r6, r2, #8, #8 70031380: b2d2 uxtb r2, r2 70031382: fb04 ee06 mla lr, r4, r6, lr 70031386: fb04 f202 mul.w r2, r4, r2 7003138a: fbb0 f0fc udiv r0, r0, ip 7003138e: fb03 2305 mla r3, r3, r5, r2 70031392: 0400 lsls r0, r0, #16 70031394: fbbe f2fc udiv r2, lr, ip 70031398: 0212 lsls r2, r2, #8 7003139a: f400 007f and.w r0, r0, #16711680 @ 0xff0000 7003139e: fbb3 f3fc udiv r3, r3, ip 700313a2: b292 uxth r2, r2 700313a4: b2db uxtb r3, r3 700313a6: 4310 orrs r0, r2 700313a8: ea40 600c orr.w r0, r0, ip, lsl #24 700313ac: 4318 orrs r0, r3 700313ae: 6008 str r0, [r1, #0] 700313b0: bd70 pop {r4, r5, r6, pc} 700313b2: 7842 ldrb r2, [r0, #1] 700313b4: 7884 ldrb r4, [r0, #2] 700313b6: 0212 lsls r2, r2, #8 700313b8: 7800 ldrb r0, [r0, #0] 700313ba: ea42 4204 orr.w r2, r2, r4, lsl #16 700313be: 4302 orrs r2, r0 700313c0: ea42 6303 orr.w r3, r2, r3, lsl #24 700313c4: 600b str r3, [r1, #0] 700313c6: bd70 pop {r4, r5, r6, pc} 700313c8 <_ZNK8touchgfx12LCDGPU2D_AXI22blendPixelRGB888_16BPPEPKhPthh.constprop.0>: 700313c8: f8b1 c000 ldrh.w ip, [r1] 700313cc: b570 push {r4, r5, r6, lr} 700313ce: 461d mov r5, r3 700313d0: f890 e001 ldrb.w lr, [r0, #1] 700313d4: ea4f 03dc mov.w r3, ip, lsr #3 700313d8: 7884 ldrb r4, [r0, #2] 700313da: fb1e fe02 smulbb lr, lr, r2 700313de: 7806 ldrb r6, [r0, #0] 700313e0: fb14 f002 smulbb r0, r4, r2 700313e4: f003 03fc and.w r3, r3, #252 @ 0xfc 700313e8: fb03 ee05 mla lr, r3, r5, lr 700313ec: ea4f 231c mov.w r3, ip, lsr #8 700313f0: ea4f 0ccc mov.w ip, ip, lsl #3 700313f4: f003 03f8 and.w r3, r3, #248 @ 0xf8 700313f8: fa1f fe8e uxth.w lr, lr 700313fc: fb03 0005 mla r0, r3, r5, r0 70031400: fa5f f38c uxtb.w r3, ip 70031404: f10e 0401 add.w r4, lr, #1 70031408: fb13 f305 smulbb r3, r3, r5 7003140c: eb04 241e add.w r4, r4, lr, lsr #8 70031410: fb06 3302 mla r3, r6, r2, r3 70031414: b282 uxth r2, r0 70031416: 0964 lsrs r4, r4, #5 70031418: b29b uxth r3, r3 7003141a: 1c50 adds r0, r2, #1 7003141c: eb00 2012 add.w r0, r0, r2, lsr #8 70031420: 1c5a adds r2, r3, #1 70031422: f400 4078 and.w r0, r0, #63488 @ 0xf800 70031426: eb02 2313 add.w r3, r2, r3, lsr #8 7003142a: f404 62fc and.w r2, r4, #2016 @ 0x7e0 7003142e: f3c3 23c4 ubfx r3, r3, #11, #5 70031432: 4302 orrs r2, r0 70031434: 4313 orrs r3, r2 70031436: 800b strh r3, [r1, #0] 70031438: bd70 pop {r4, r5, r6, pc} 7003143a: bf00 nop 7003143c <_ZNK8touchgfx12LCDGPU2D_AXI22blendPixelRGB888_32BPPEPKhPmh.constprop.0>: 7003143c: b5f0 push {r4, r5, r6, r7, lr} 7003143e: 680c ldr r4, [r1, #0] 70031440: f890 e000 ldrb.w lr, [r0] 70031444: 0e25 lsrs r5, r4, #24 70031446: f890 c001 ldrb.w ip, [r0, #1] 7003144a: 7883 ldrb r3, [r0, #2] 7003144c: d108 bne.n 70031460 <_ZNK8touchgfx12LCDGPU2D_AXI22blendPixelRGB888_32BPPEPKhPmh.constprop.0+0x24> 7003144e: 041b lsls r3, r3, #16 70031450: ea43 6302 orr.w r3, r3, r2, lsl #24 70031454: ea43 030e orr.w r3, r3, lr 70031458: ea43 230c orr.w r3, r3, ip, lsl #8 7003145c: 600b str r3, [r1, #0] 7003145e: bdf0 pop {r4, r5, r6, r7, pc} 70031460: fb02 f605 mul.w r6, r2, r5 70031464: f3c4 4707 ubfx r7, r4, #16, #8 70031468: fb12 f00c smulbb r0, r2, ip 7003146c: fb12 f303 smulbb r3, r2, r3 70031470: f106 0c01 add.w ip, r6, #1 70031474: fb1e fe02 smulbb lr, lr, r2 70031478: f3c6 260f ubfx r6, r6, #8, #16 7003147c: 442a add r2, r5 7003147e: fa16 fc8c uxtah ip, r6, ip 70031482: f3c4 2607 ubfx r6, r4, #8, #8 70031486: eba5 252c sub.w r5, r5, ip, asr #8 7003148a: eba2 222c sub.w r2, r2, ip, asr #8 7003148e: fb05 3307 mla r3, r5, r7, r3 70031492: b2d2 uxtb r2, r2 70031494: fb05 0c06 mla ip, r5, r6, r0 70031498: b2e0 uxtb r0, r4 7003149a: fbb3 f3f2 udiv r3, r3, r2 7003149e: fb05 ee00 mla lr, r5, r0, lr 700314a2: 041b lsls r3, r3, #16 700314a4: fbbc f0f2 udiv r0, ip, r2 700314a8: 0200 lsls r0, r0, #8 700314aa: f403 037f and.w r3, r3, #16711680 @ 0xff0000 700314ae: b280 uxth r0, r0 700314b0: fbbe fcf2 udiv ip, lr, r2 700314b4: 4303 orrs r3, r0 700314b6: fa5f f08c uxtb.w r0, ip 700314ba: ea43 6302 orr.w r3, r3, r2, lsl #24 700314be: 4303 orrs r3, r0 700314c0: 600b str r3, [r1, #0] 700314c2: bdf0 pop {r4, r5, r6, r7, pc} 700314c4 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb>: 700314c4: e92d 46f0 stmdb sp!, {r4, r5, r6, r7, r9, sl, lr} 700314c8: 461f mov r7, r3 700314ca: 4b1e ldr r3, [pc, #120] @ (70031544 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb+0x80>) 700314cc: 4616 mov r6, r2 700314ce: 6802 ldr r2, [r0, #0] 700314d0: 681b ldr r3, [r3, #0] 700314d2: b087 sub sp, #28 700314d4: f8d2 9014 ldr.w r9, [r2, #20] 700314d8: 4604 mov r4, r0 700314da: f893 205c ldrb.w r2, [r3, #92] @ 0x5c 700314de: f89d 5038 ldrb.w r5, [sp, #56] @ 0x38 700314e2: f89d a03c ldrb.w sl, [sp, #60] @ 0x3c 700314e6: b172 cbz r2, 70031506 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb+0x42> 700314e8: 6d18 ldr r0, [r3, #80] @ 0x50 700314ea: b160 cbz r0, 70031506 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb+0x42> 700314ec: 6803 ldr r3, [r0, #0] 700314ee: 4a16 ldr r2, [pc, #88] @ (70031548 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb+0x84>) 700314f0: 6b1b ldr r3, [r3, #48] @ 0x30 700314f2: 4293 cmp r3, r2 700314f4: d10d bne.n 70031512 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb+0x4e> 700314f6: 4b15 ldr r3, [pc, #84] @ (7003154c <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb+0x88>) 700314f8: 7b02 ldrb r2, [r0, #12] 700314fa: 4599 cmp r9, r3 700314fc: d110 bne.n 70031520 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb+0x5c> 700314fe: b9c5 cbnz r5, 70031532 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb+0x6e> 70031500: b007 add sp, #28 70031502: e8bd 86f0 ldmia.w sp!, {r4, r5, r6, r7, r9, sl, pc} 70031506: 6898 ldr r0, [r3, #8] 70031508: 4a0f ldr r2, [pc, #60] @ (70031548 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb+0x84>) 7003150a: 6803 ldr r3, [r0, #0] 7003150c: 6b1b ldr r3, [r3, #48] @ 0x30 7003150e: 4293 cmp r3, r2 70031510: d0f1 beq.n 700314f6 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb+0x32> 70031512: 9105 str r1, [sp, #20] 70031514: 4798 blx r3 70031516: 4b0d ldr r3, [pc, #52] @ (7003154c <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb+0x88>) 70031518: 4602 mov r2, r0 7003151a: 9905 ldr r1, [sp, #20] 7003151c: 4599 cmp r9, r3 7003151e: d0ee beq.n 700314fe <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKtRKNS_4RectES5_hb+0x3a> 70031520: 4633 mov r3, r6 70031522: 4620 mov r0, r4 70031524: 9700 str r7, [sp, #0] 70031526: e9cd 5a01 strd r5, sl, [sp, #4] 7003152a: 47c8 blx r9 7003152c: b007 add sp, #28 7003152e: e8bd 86f0 ldmia.w sp!, {r4, r5, r6, r7, r9, sl, pc} 70031532: 4633 mov r3, r6 70031534: 4620 mov r0, r4 70031536: 950f str r5, [sp, #60] @ 0x3c 70031538: 970e str r7, [sp, #56] @ 0x38 7003153a: b007 add sp, #28 7003153c: e8bd 46f0 ldmia.w sp!, {r4, r5, r6, r7, r9, sl, lr} 70031540: f7fd b8aa b.w 7002e698 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_hb.part.0> 70031544: 2400da80 .word 0x2400da80 70031548: 7002c2b9 .word 0x7002c2b9 7003154c: 7002e7b1 .word 0x7002e7b1 70031550 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss>: 70031550: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70031554: f9b3 9000 ldrsh.w r9, [r3] 70031558: 4690 mov r8, r2 7003155a: 889a ldrh r2, [r3, #4] 7003155c: b08f sub sp, #60 @ 0x3c 7003155e: fa1f f789 uxth.w r7, r9 70031562: 4682 mov sl, r0 70031564: f9bd 0068 ldrsh.w r0, [sp, #104] @ 0x68 70031568: 443a add r2, r7 7003156a: f9bd b064 ldrsh.w fp, [sp, #100] @ 0x64 7003156e: f9b3 e002 ldrsh.w lr, [r3, #2] 70031572: b212 sxth r2, r2 70031574: 9104 str r1, [sp, #16] 70031576: 9005 str r0, [sp, #20] 70031578: 4591 cmp r9, r2 7003157a: da05 bge.n 70031588 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x38> 7003157c: eb07 010b add.w r1, r7, fp 70031580: b209 sxth r1, r1 70031582: 4589 cmp r9, r1 70031584: f2c0 8131 blt.w 700317ea <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x29a> 70031588: 2300 movs r3, #0 7003158a: 461d mov r5, r3 7003158c: 4699 mov r9, r3 7003158e: 9306 str r3, [sp, #24] 70031590: f9b8 1000 ldrsh.w r1, [r8] 70031594: f8b8 4004 ldrh.w r4, [r8, #4] 70031598: 48b2 ldr r0, [pc, #712] @ (70031864 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x314>) 7003159a: 440c add r4, r1 7003159c: 4ab2 ldr r2, [pc, #712] @ (70031868 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x318>) 7003159e: 8806 ldrh r6, [r0, #0] 700315a0: b224 sxth r4, r4 700315a2: f9b0 c000 ldrsh.w ip, [r0] 700315a6: 8810 ldrh r0, [r2, #0] 700315a8: 454c cmp r4, r9 700315aa: 9607 str r6, [sp, #28] 700315ac: 9003 str r0, [sp, #12] 700315ae: f9b2 0000 ldrsh.w r0, [r2] 700315b2: dd46 ble.n 70031642 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0xf2> 700315b4: 4299 cmp r1, r3 700315b6: da44 bge.n 70031642 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0xf2> 700315b8: f9b8 2002 ldrsh.w r2, [r8, #2] 700315bc: f8b8 8006 ldrh.w r8, [r8, #6] 700315c0: 4490 add r8, r2 700315c2: fa0f f888 sxth.w r8, r8 700315c6: 45a8 cmp r8, r5 700315c8: dd3b ble.n 70031642 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0xf2> 700315ca: 9e06 ldr r6, [sp, #24] 700315cc: 42b2 cmp r2, r6 700315ce: da38 bge.n 70031642 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0xf2> 700315d0: 4549 cmp r1, r9 700315d2: bfb8 it lt 700315d4: 4649 movlt r1, r9 700315d6: 42aa cmp r2, r5 700315d8: bfb8 it lt 700315da: 462a movlt r2, r5 700315dc: 429c cmp r4, r3 700315de: f8ad 1020 strh.w r1, [sp, #32] 700315e2: bfa8 it ge 700315e4: 461c movge r4, r3 700315e6: 45b0 cmp r8, r6 700315e8: bfd4 ite le 700315ea: ebc2 0308 rsble r3, r2, r8 700315ee: ebc2 0306 rsbgt r3, r2, r6 700315f2: fa1f f881 uxth.w r8, r1 700315f6: 2900 cmp r1, #0 700315f8: b21d sxth r5, r3 700315fa: f8ad 2022 strh.w r2, [sp, #34] @ 0x22 700315fe: eba4 0908 sub.w r9, r4, r8 70031602: b29b uxth r3, r3 70031604: f8ad 5026 strh.w r5, [sp, #38] @ 0x26 70031608: fa0f f989 sxth.w r9, r9 7003160c: f8ad 9024 strh.w r9, [sp, #36] @ 0x24 70031610: f280 8126 bge.w 70031860 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x310> 70031614: f04f 0800 mov.w r8, #0 70031618: 46a1 mov r9, r4 7003161a: f8ad 4024 strh.w r4, [sp, #36] @ 0x24 7003161e: 4641 mov r1, r8 70031620: f8ad 8020 strh.w r8, [sp, #32] 70031624: ebac 0c01 sub.w ip, ip, r1 70031628: 45cc cmp ip, r9 7003162a: f2c0 8112 blt.w 70031852 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x302> 7003162e: 2a00 cmp r2, #0 70031630: da10 bge.n 70031654 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x104> 70031632: 4413 add r3, r2 70031634: 2200 movs r2, #0 70031636: b21d sxth r5, r3 70031638: f8ad 2022 strh.w r2, [sp, #34] @ 0x22 7003163c: f8ad 5026 strh.w r5, [sp, #38] @ 0x26 70031640: e008 b.n 70031654 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x104> 70031642: 2400 movs r4, #0 70031644: 45a4 cmp ip, r4 70031646: 46a0 mov r8, r4 70031648: e9cd 4408 strd r4, r4, [sp, #32] 7003164c: f2c0 80c7 blt.w 700317de <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x28e> 70031650: 4625 mov r5, r4 70031652: 4622 mov r2, r4 70031654: 1a80 subs r0, r0, r2 70031656: 4285 cmp r5, r0 70031658: dd04 ble.n 70031664 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x114> 7003165a: 9b03 ldr r3, [sp, #12] 7003165c: 1a9b subs r3, r3, r2 7003165e: b21d sxth r5, r3 70031660: f8ad 5026 strh.w r5, [sp, #38] @ 0x26 70031664: 2c00 cmp r4, #0 70031666: f340 80d8 ble.w 7003181a <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x2ca> 7003166a: 2d00 cmp r5, #0 7003166c: f340 80d5 ble.w 7003181a <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x2ca> 70031670: eba8 0307 sub.w r3, r8, r7 70031674: f04f 0800 mov.w r8, #0 70031678: eba2 020e sub.w r2, r2, lr 7003167c: 9905 ldr r1, [sp, #20] 7003167e: f363 080f bfi r8, r3, #0, #16 70031682: 2300 movs r3, #0 70031684: a80a add r0, sp, #40 @ 0x28 70031686: f8ad 1036 strh.w r1, [sp, #54] @ 0x36 7003168a: f362 481f bfi r8, r2, #16, #16 7003168e: a90c add r1, sp, #48 @ 0x30 70031690: 930c str r3, [sp, #48] @ 0x30 70031692: 4f76 ldr r7, [pc, #472] @ (7003186c <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x31c>) 70031694: f8ad b034 strh.w fp, [sp, #52] @ 0x34 70031698: f8ad 402c strh.w r4, [sp, #44] @ 0x2c 7003169c: f8ad 502e strh.w r5, [sp, #46] @ 0x2e 700316a0: f8cd 8028 str.w r8, [sp, #40] @ 0x28 700316a4: f7df fbd4 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 700316a8: a808 add r0, sp, #32 700316aa: f7df fb8d bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 700316ae: a80c add r0, sp, #48 @ 0x30 700316b0: f7df fb8a bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 700316b4: 683b ldr r3, [r7, #0] 700316b6: f893 205c ldrb.w r2, [r3, #92] @ 0x5c 700316ba: 2a00 cmp r2, #0 700316bc: f040 80b6 bne.w 7003182c <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x2dc> 700316c0: 6898 ldr r0, [r3, #8] 700316c2: 6803 ldr r3, [r0, #0] 700316c4: 4a6a ldr r2, [pc, #424] @ (70031870 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x320>) 700316c6: 6b1b ldr r3, [r3, #48] @ 0x30 700316c8: 4293 cmp r3, r2 700316ca: f040 80c0 bne.w 7003184e <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x2fe> 700316ce: 7b00 ldrb r0, [r0, #12] 700316d0: 2800 cmp r0, #0 700316d2: f000 80b2 beq.w 7003183a <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x2ea> 700316d6: 2802 cmp r0, #2 700316d8: bf0b itete eq 700316da: f04f 0b10 moveq.w fp, #16 700316de: f04f 0b00 movne.w fp, #0 700316e2: f04f 0904 moveq.w r9, #4 700316e6: f04f 0901 movne.w r9, #1 700316ea: 9804 ldr r0, [sp, #16] 700316ec: 4961 ldr r1, [pc, #388] @ (70031874 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x324>) 700316ee: 6803 ldr r3, [r0, #0] 700316f0: f9bd 2034 ldrsh.w r2, [sp, #52] @ 0x34 700316f4: 6b5b ldr r3, [r3, #52] @ 0x34 700316f6: fb09 f202 mul.w r2, r9, r2 700316fa: 428b cmp r3, r1 700316fc: f040 80a2 bne.w 70031844 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x2f4> 70031700: 7b03 ldrb r3, [r0, #12] 70031702: 2b02 cmp r3, #2 70031704: f000 8097 beq.w 70031836 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x2e6> 70031708: 2b01 cmp r3, #1 7003170a: bf14 ite ne 7003170c: 2102 movne r1, #2 7003170e: 2103 moveq r1, #3 70031710: 4b59 ldr r3, [pc, #356] @ (70031878 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x328>) 70031712: 881e ldrh r6, [r3, #0] 70031714: fb16 f601 smulbb r6, r6, r1 70031718: b2b6 uxth r6, r6 7003171a: f9bd 102a ldrsh.w r1, [sp, #42] @ 0x2a 7003171e: f9bd 3028 ldrsh.w r3, [sp, #40] @ 0x28 70031722: 6838 ldr r0, [r7, #0] 70031724: fb02 3301 mla r3, r2, r1, r3 70031728: 9204 str r2, [sp, #16] 7003172a: 9a18 ldr r2, [sp, #96] @ 0x60 7003172c: 18d7 adds r7, r2, r3 7003172e: 6803 ldr r3, [r0, #0] 70031730: 6b5b ldr r3, [r3, #52] @ 0x34 70031732: 4798 blx r3 70031734: f9bd 3022 ldrsh.w r3, [sp, #34] @ 0x22 70031738: f9bd 1020 ldrsh.w r1, [sp, #32] 7003173c: fb06 f303 mul.w r3, r6, r3 70031740: fb09 3301 mla r3, r9, r1, r3 70031744: f8df 9134 ldr.w r9, [pc, #308] @ 7003187c <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x32c> 70031748: 18c3 adds r3, r0, r3 7003174a: f8d9 0000 ldr.w r0, [r9] 7003174e: 9303 str r3, [sp, #12] 70031750: f7fa fd36 bl 7002c1c0 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv> 70031754: 9a04 ldr r2, [sp, #16] 70031756: 4638 mov r0, r7 70031758: 465b mov r3, fp 7003175a: f9bd 102c ldrsh.w r1, [sp, #44] @ 0x2c 7003175e: 9200 str r2, [sp, #0] 70031760: f9bd 202e ldrsh.w r2, [sp, #46] @ 0x2e 70031764: f7e6 fc9a bl 7001809c 70031768: f9bd 302e ldrsh.w r3, [sp, #46] @ 0x2e 7003176c: f9bd 202c ldrsh.w r2, [sp, #44] @ 0x2c 70031770: f9bd 102a ldrsh.w r1, [sp, #42] @ 0x2a 70031774: f9bd 0028 ldrsh.w r0, [sp, #40] @ 0x28 70031778: f7e6 fae4 bl 70017d44 7003177c: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70031780: 2201 movs r2, #1 70031782: 2100 movs r1, #0 70031784: f240 5004 movw r0, #1284 @ 0x504 70031788: f7f8 fa1a bl 70029bc0 7003178c: 2200 movs r2, #0 7003178e: 465b mov r3, fp 70031790: 9803 ldr r0, [sp, #12] 70031792: f9bd 1024 ldrsh.w r1, [sp, #36] @ 0x24 70031796: 9201 str r2, [sp, #4] 70031798: 9600 str r6, [sp, #0] 7003179a: f9bd 2026 ldrsh.w r2, [sp, #38] @ 0x26 7003179e: f7e6 fc43 bl 70018028 700317a2: f9bd 102a ldrsh.w r1, [sp, #42] @ 0x2a 700317a6: f9bd 0028 ldrsh.w r0, [sp, #40] @ 0x28 700317aa: f7e6 fdb3 bl 70018314 700317ae: f8d9 0000 ldr.w r0, [r9] 700317b2: f7fa fd29 bl 7002c208 <_ZN8touchgfx8HALGPU2D16submitExecBufferEv> 700317b6: f8d9 0000 ldr.w r0, [r9] 700317ba: 6803 ldr r3, [r0, #0] 700317bc: 6adb ldr r3, [r3, #44] @ 0x2c 700317be: 4798 blx r3 700317c0: f8d9 0000 ldr.w r0, [r9] 700317c4: 6803 ldr r3, [r0, #0] 700317c6: 6b1b ldr r3, [r3, #48] @ 0x30 700317c8: 4798 blx r3 700317ca: 4650 mov r0, sl 700317cc: f8ca 8000 str.w r8, [sl] 700317d0: f8aa 4004 strh.w r4, [sl, #4] 700317d4: f8aa 5006 strh.w r5, [sl, #6] 700317d8: b00f add sp, #60 @ 0x3c 700317da: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700317de: 4664 mov r4, ip 700317e0: 4645 mov r5, r8 700317e2: 4642 mov r2, r8 700317e4: f8ad c024 strh.w ip, [sp, #36] @ 0x24 700317e8: e734 b.n 70031654 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x104> 700317ea: 88dd ldrh r5, [r3, #6] 700317ec: fa1f f38e uxth.w r3, lr 700317f0: 441d add r5, r3 700317f2: b22d sxth r5, r5 700317f4: 45ae cmp lr, r5 700317f6: f6bf aec7 bge.w 70031588 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x38> 700317fa: 4403 add r3, r0 700317fc: b218 sxth r0, r3 700317fe: 4586 cmp lr, r0 70031800: f6bf aec2 bge.w 70031588 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x38> 70031804: 428a cmp r2, r1 70031806: 4613 mov r3, r2 70031808: 462a mov r2, r5 7003180a: bfa8 it ge 7003180c: 460b movge r3, r1 7003180e: 4285 cmp r5, r0 70031810: 4675 mov r5, lr 70031812: bfa8 it ge 70031814: 4602 movge r2, r0 70031816: 9206 str r2, [sp, #24] 70031818: e6ba b.n 70031590 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x40> 7003181a: 2300 movs r3, #0 7003181c: 4650 mov r0, sl 7003181e: f8ca 3000 str.w r3, [sl] 70031822: f8ca 3004 str.w r3, [sl, #4] 70031826: b00f add sp, #60 @ 0x3c 70031828: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7003182c: 6d18 ldr r0, [r3, #80] @ 0x50 7003182e: 2800 cmp r0, #0 70031830: f47f af47 bne.w 700316c2 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x172> 70031834: e744 b.n 700316c0 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x170> 70031836: 2104 movs r1, #4 70031838: e76a b.n 70031710 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x1c0> 7003183a: f04f 0b04 mov.w fp, #4 7003183e: f04f 0902 mov.w r9, #2 70031842: e752 b.n 700316ea <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x19a> 70031844: 9203 str r2, [sp, #12] 70031846: 4798 blx r3 70031848: 9a03 ldr r2, [sp, #12] 7003184a: 4606 mov r6, r0 7003184c: e765 b.n 7003171a <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x1ca> 7003184e: 4798 blx r3 70031850: e73e b.n 700316d0 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0x180> 70031852: 9907 ldr r1, [sp, #28] 70031854: eba1 0108 sub.w r1, r1, r8 70031858: b20c sxth r4, r1 7003185a: f8ad 4024 strh.w r4, [sp, #36] @ 0x24 7003185e: e6e6 b.n 7003162e <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0xde> 70031860: 464c mov r4, r9 70031862: e6df b.n 70031624 <_ZN8touchgfx12LCDGPU2D_AXI29copyFrameBufferRegionToMemoryERKNS_4RectES3_Phss+0xd4> 70031864: 2400da7c .word 0x2400da7c 70031868: 2400da7a .word 0x2400da7a 7003186c: 2400da80 .word 0x2400da80 70031870: 7002c2b9 .word 0x7002c2b9 70031874: 7002c2bd .word 0x7002c2bd 70031878: 2400da78 .word 0x2400da78 7003187c: 2400e0dc .word 0x2400e0dc 70031880 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0>: 70031880: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70031884: b08d sub sp, #52 @ 0x34 70031886: 4615 mov r5, r2 70031888: 4607 mov r7, r0 7003188a: 460c mov r4, r1 7003188c: 6810 ldr r0, [r2, #0] 7003188e: 6851 ldr r1, [r2, #4] 70031890: aa08 add r2, sp, #32 70031892: f89d 6058 ldrb.w r6, [sp, #88] @ 0x58 70031896: 3404 adds r4, #4 70031898: c203 stmia r2!, {r0, r1} 7003189a: 6818 ldr r0, [r3, #0] 7003189c: 6859 ldr r1, [r3, #4] 7003189e: c203 stmia r2!, {r0, r1} 700318a0: a808 add r0, sp, #32 700318a2: f7df fa91 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 700318a6: 4629 mov r1, r5 700318a8: a80a add r0, sp, #40 @ 0x28 700318aa: f7df fad1 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 700318ae: f9bd 2028 ldrsh.w r2, [sp, #40] @ 0x28 700318b2: f9bd 102a ldrsh.w r1, [sp, #42] @ 0x2a 700318b6: f002 0301 and.w r3, r2, #1 700318ba: f9bd 502e ldrsh.w r5, [sp, #46] @ 0x2e 700318be: 9304 str r3, [sp, #16] 700318c0: f9bd 3024 ldrsh.w r3, [sp, #36] @ 0x24 700318c4: f003 0001 and.w r0, r3, #1 700318c8: 4403 add r3, r0 700318ca: 9005 str r0, [sp, #20] 700318cc: fb01 2303 mla r3, r1, r3, r2 700318d0: 2b00 cmp r3, #0 700318d2: bfb8 it lt 700318d4: 3301 addlt r3, #1 700318d6: eb07 0363 add.w r3, r7, r3, asr #1 700318da: f9bd 702c ldrsh.w r7, [sp, #44] @ 0x2c 700318de: 9300 str r3, [sp, #0] 700318e0: f8bd 3020 ldrh.w r3, [sp, #32] 700318e4: 9701 str r7, [sp, #4] 700318e6: 441a add r2, r3 700318e8: f8bd 3022 ldrh.w r3, [sp, #34] @ 0x22 700318ec: 4419 add r1, r3 700318ee: 4bbf ldr r3, [pc, #764] @ (70031bec <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x36c>) 700318f0: f8ad 2028 strh.w r2, [sp, #40] @ 0x28 700318f4: 6818 ldr r0, [r3, #0] 700318f6: f8ad 102a strh.w r1, [sp, #42] @ 0x2a 700318fa: 6803 ldr r3, [r0, #0] 700318fc: 6adb ldr r3, [r3, #44] @ 0x2c 700318fe: 4798 blx r3 70031900: 4bbb ldr r3, [pc, #748] @ (70031bf0 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x370>) 70031902: f9bd 102a ldrsh.w r1, [sp, #42] @ 0x2a 70031906: 2eff cmp r6, #255 @ 0xff 70031908: f9bd 2028 ldrsh.w r2, [sp, #40] @ 0x28 7003190c: 881b ldrh r3, [r3, #0] 7003190e: fb03 2201 mla r2, r3, r1, r2 70031912: eb00 0b42 add.w fp, r0, r2, lsl #1 70031916: f000 80c5 beq.w 70031aa4 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x224> 7003191a: fb05 f303 mul.w r3, r5, r3 7003191e: ea6f 0806 mvn.w r8, r6 70031922: eb0b 0343 add.w r3, fp, r3, lsl #1 70031926: fa5f f888 uxtb.w r8, r8 7003192a: 459b cmp fp, r3 7003192c: 9306 str r3, [sp, #24] 7003192e: f080 808c bcs.w 70031a4a <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x1ca> 70031932: 1e7b subs r3, r7, #1 70031934: f8df a2bc ldr.w sl, [pc, #700] @ 70031bf4 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x374> 70031938: 9307 str r3, [sp, #28] 7003193a: 9b04 ldr r3, [sp, #16] 7003193c: 9d00 ldr r5, [sp, #0] 7003193e: 2b00 cmp r3, #0 70031940: f040 808b bne.w 70031a5a <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x1da> 70031944: 9b01 ldr r3, [sp, #4] 70031946: 2b01 cmp r3, #1 70031948: f340 8099 ble.w 70031a7e <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x1fe> 7003194c: 3b02 subs r3, #2 7003194e: 4659 mov r1, fp 70031950: ea4f 0953 mov.w r9, r3, lsr #1 70031954: f109 0c01 add.w ip, r9, #1 70031958: e9cd b902 strd fp, r9, [sp, #8] 7003195c: eb05 070c add.w r7, r5, ip 70031960: 46e1 mov r9, ip 70031962: 469b mov fp, r3 70031964: 7828 ldrb r0, [r5, #0] 70031966: 4643 mov r3, r8 70031968: 4632 mov r2, r6 7003196a: 0900 lsrs r0, r0, #4 7003196c: eb00 0040 add.w r0, r0, r0, lsl #1 70031970: 4420 add r0, r4 70031972: f7ff fd29 bl 700313c8 <_ZNK8touchgfx12LCDGPU2D_AXI22blendPixelRGB888_16BPPEPKhPthh.constprop.0> 70031976: f815 2b01 ldrb.w r2, [r5], #1 7003197a: 884b ldrh r3, [r1, #2] 7003197c: 3104 adds r1, #4 7003197e: f002 020f and.w r2, r2, #15 70031982: 42bd cmp r5, r7 70031984: eb02 0242 add.w r2, r2, r2, lsl #1 70031988: eb04 0c02 add.w ip, r4, r2 7003198c: f814 e002 ldrb.w lr, [r4, r2] 70031990: ea4f 2213 mov.w r2, r3, lsr #8 70031994: f89c 0002 ldrb.w r0, [ip, #2] 70031998: f002 02f8 and.w r2, r2, #248 @ 0xf8 7003199c: f89c c001 ldrb.w ip, [ip, #1] 700319a0: fb10 f006 smulbb r0, r0, r6 700319a4: fb1c fc06 smulbb ip, ip, r6 700319a8: fb02 0008 mla r0, r2, r8, r0 700319ac: ea4f 02d3 mov.w r2, r3, lsr #3 700319b0: ea4f 03c3 mov.w r3, r3, lsl #3 700319b4: f002 02fc and.w r2, r2, #252 @ 0xfc 700319b8: b280 uxth r0, r0 700319ba: b2db uxtb r3, r3 700319bc: fb02 c208 mla r2, r2, r8, ip 700319c0: f100 0c01 add.w ip, r0, #1 700319c4: fb13 f308 smulbb r3, r3, r8 700319c8: b292 uxth r2, r2 700319ca: eb0c 2c10 add.w ip, ip, r0, lsr #8 700319ce: fb0e 3306 mla r3, lr, r6, r3 700319d2: f102 0001 add.w r0, r2, #1 700319d6: b29b uxth r3, r3 700319d8: f40c 4c7f and.w ip, ip, #65280 @ 0xff00 700319dc: eb00 2012 add.w r0, r0, r2, lsr #8 700319e0: f103 0201 add.w r2, r3, #1 700319e4: ea0c 0c0a and.w ip, ip, sl 700319e8: ea4f 1050 mov.w r0, r0, lsr #5 700319ec: eb02 2313 add.w r3, r2, r3, lsr #8 700319f0: f400 60fc and.w r0, r0, #2016 @ 0x7e0 700319f4: f3c3 23c4 ubfx r3, r3, #11, #5 700319f8: ea4c 0000 orr.w r0, ip, r0 700319fc: ea43 0300 orr.w r3, r3, r0 70031a00: f821 3c02 strh.w r3, [r1, #-2] 70031a04: d1ae bne.n 70031964 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0xe4> 70031a06: 46cc mov ip, r9 70031a08: f8dd 900c ldr.w r9, [sp, #12] 70031a0c: 465b mov r3, fp 70031a0e: f8dd b008 ldr.w fp, [sp, #8] 70031a12: ebc9 79c9 rsb r9, r9, r9, lsl #31 70031a16: eb0b 0b8c add.w fp, fp, ip, lsl #2 70031a1a: eb03 0349 add.w r3, r3, r9, lsl #1 70031a1e: 2b01 cmp r3, #1 70031a20: d030 beq.n 70031a84 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x204> 70031a22: 4b73 ldr r3, [pc, #460] @ (70031bf0 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x370>) 70031a24: 9a01 ldr r2, [sp, #4] 70031a26: 881b ldrh r3, [r3, #0] 70031a28: 1a9b subs r3, r3, r2 70031a2a: eb0b 0b43 add.w fp, fp, r3, lsl #1 70031a2e: 9a05 ldr r2, [sp, #20] 70031a30: f9bd 3024 ldrsh.w r3, [sp, #36] @ 0x24 70031a34: 189b adds r3, r3, r2 70031a36: 9a00 ldr r2, [sp, #0] 70031a38: bf48 it mi 70031a3a: 3301 addmi r3, #1 70031a3c: eb02 0363 add.w r3, r2, r3, asr #1 70031a40: 9300 str r3, [sp, #0] 70031a42: 9b06 ldr r3, [sp, #24] 70031a44: 455b cmp r3, fp 70031a46: f63f af78 bhi.w 7003193a <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0xba> 70031a4a: 4b68 ldr r3, [pc, #416] @ (70031bec <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x36c>) 70031a4c: 6818 ldr r0, [r3, #0] 70031a4e: 6803 ldr r3, [r0, #0] 70031a50: 6b1b ldr r3, [r3, #48] @ 0x30 70031a52: 4798 blx r3 70031a54: b00d add sp, #52 @ 0x34 70031a56: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70031a5a: f815 0b01 ldrb.w r0, [r5], #1 70031a5e: 4643 mov r3, r8 70031a60: 4659 mov r1, fp 70031a62: 4632 mov r2, r6 70031a64: f000 000f and.w r0, r0, #15 70031a68: f10b 0b02 add.w fp, fp, #2 70031a6c: eb00 0040 add.w r0, r0, r0, lsl #1 70031a70: 4420 add r0, r4 70031a72: f7ff fca9 bl 700313c8 <_ZNK8touchgfx12LCDGPU2D_AXI22blendPixelRGB888_16BPPEPKhPthh.constprop.0> 70031a76: 9b07 ldr r3, [sp, #28] 70031a78: 2b01 cmp r3, #1 70031a7a: f73f af67 bgt.w 7003194c <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0xcc> 70031a7e: 2b01 cmp r3, #1 70031a80: 462f mov r7, r5 70031a82: d1ce bne.n 70031a22 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x1a2> 70031a84: 7838 ldrb r0, [r7, #0] 70031a86: 4643 mov r3, r8 70031a88: 4632 mov r2, r6 70031a8a: 4659 mov r1, fp 70031a8c: 0900 lsrs r0, r0, #4 70031a8e: eb00 0040 add.w r0, r0, r0, lsl #1 70031a92: 4420 add r0, r4 70031a94: f7ff fc98 bl 700313c8 <_ZNK8touchgfx12LCDGPU2D_AXI22blendPixelRGB888_16BPPEPKhPthh.constprop.0> 70031a98: 4b55 ldr r3, [pc, #340] @ (70031bf0 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x370>) 70031a9a: 9a01 ldr r2, [sp, #4] 70031a9c: 881b ldrh r3, [r3, #0] 70031a9e: 1a9b subs r3, r3, r2 70031aa0: 3301 adds r3, #1 70031aa2: e7c2 b.n 70031a2a <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x1aa> 70031aa4: fb03 f505 mul.w r5, r3, r5 70031aa8: eb0b 0245 add.w r2, fp, r5, lsl #1 70031aac: 4593 cmp fp, r2 70031aae: d2cc bcs.n 70031a4a <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x1ca> 70031ab0: 9b01 ldr r3, [sp, #4] 70031ab2: 9900 ldr r1, [sp, #0] 70031ab4: f103 39ff add.w r9, r3, #4294967295 @ 0xffffffff 70031ab8: 9b04 ldr r3, [sp, #16] 70031aba: 4d4e ldr r5, [pc, #312] @ (70031bf4 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x374>) 70031abc: 468e mov lr, r1 70031abe: 2b00 cmp r3, #0 70031ac0: d077 beq.n 70031bb2 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x332> 70031ac2: f81e 3b01 ldrb.w r3, [lr], #1 70031ac6: 46cc mov ip, r9 70031ac8: f003 030f and.w r3, r3, #15 70031acc: eb03 0343 add.w r3, r3, r3, lsl #1 70031ad0: 18e7 adds r7, r4, r3 70031ad2: 5ce6 ldrb r6, [r4, r3] 70031ad4: 7878 ldrb r0, [r7, #1] 70031ad6: 78bb ldrb r3, [r7, #2] 70031ad8: 00c0 lsls r0, r0, #3 70031ada: ea05 2303 and.w r3, r5, r3, lsl #8 70031ade: f400 60fc and.w r0, r0, #2016 @ 0x7e0 70031ae2: 4303 orrs r3, r0 70031ae4: ea43 03d6 orr.w r3, r3, r6, lsr #3 70031ae8: f82b 3b02 strh.w r3, [fp], #2 70031aec: f1bc 0f01 cmp.w ip, #1 70031af0: dd47 ble.n 70031b82 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x302> 70031af2: f1ac 0802 sub.w r8, ip, #2 70031af6: f10b 0708 add.w r7, fp, #8 70031afa: f10b 0004 add.w r0, fp, #4 70031afe: f10e 36ff add.w r6, lr, #4294967295 @ 0xffffffff 70031b02: ea4f 0c58 mov.w ip, r8, lsr #1 70031b06: 9100 str r1, [sp, #0] 70031b08: eb07 078c add.w r7, r7, ip, lsl #2 70031b0c: f816 1f01 ldrb.w r1, [r6, #1]! 70031b10: 3004 adds r0, #4 70031b12: 0909 lsrs r1, r1, #4 70031b14: 42b8 cmp r0, r7 70031b16: eb01 0141 add.w r1, r1, r1, lsl #1 70031b1a: eb04 0301 add.w r3, r4, r1 70031b1e: f814 a001 ldrb.w sl, [r4, r1] 70031b22: 7859 ldrb r1, [r3, #1] 70031b24: 789b ldrb r3, [r3, #2] 70031b26: ea4f 01c1 mov.w r1, r1, lsl #3 70031b2a: ea05 2303 and.w r3, r5, r3, lsl #8 70031b2e: f401 61fc and.w r1, r1, #2016 @ 0x7e0 70031b32: ea43 0301 orr.w r3, r3, r1 70031b36: ea43 03da orr.w r3, r3, sl, lsr #3 70031b3a: f820 3c08 strh.w r3, [r0, #-8] 70031b3e: 7831 ldrb r1, [r6, #0] 70031b40: f001 010f and.w r1, r1, #15 70031b44: eb01 0141 add.w r1, r1, r1, lsl #1 70031b48: eb04 0301 add.w r3, r4, r1 70031b4c: f814 a001 ldrb.w sl, [r4, r1] 70031b50: 7859 ldrb r1, [r3, #1] 70031b52: 789b ldrb r3, [r3, #2] 70031b54: ea4f 01c1 mov.w r1, r1, lsl #3 70031b58: ea05 2303 and.w r3, r5, r3, lsl #8 70031b5c: f401 61fc and.w r1, r1, #2016 @ 0x7e0 70031b60: ea43 0301 orr.w r3, r3, r1 70031b64: ea43 03da orr.w r3, r3, sl, lsr #3 70031b68: f820 3c06 strh.w r3, [r0, #-6] 70031b6c: d1ce bne.n 70031b0c <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x28c> 70031b6e: f10c 0301 add.w r3, ip, #1 70031b72: ebcc 7ccc rsb ip, ip, ip, lsl #31 70031b76: 9900 ldr r1, [sp, #0] 70031b78: eb08 0c4c add.w ip, r8, ip, lsl #1 70031b7c: 449e add lr, r3 70031b7e: eb0b 0b83 add.w fp, fp, r3, lsl #2 70031b82: f1bc 0f01 cmp.w ip, #1 70031b86: d017 beq.n 70031bb8 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x338> 70031b88: 4b19 ldr r3, [pc, #100] @ (70031bf0 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x370>) 70031b8a: 9801 ldr r0, [sp, #4] 70031b8c: 881b ldrh r3, [r3, #0] 70031b8e: 1a1b subs r3, r3, r0 70031b90: eb0b 0b43 add.w fp, fp, r3, lsl #1 70031b94: 9805 ldr r0, [sp, #20] 70031b96: f9bd 3024 ldrsh.w r3, [sp, #36] @ 0x24 70031b9a: 181b adds r3, r3, r0 70031b9c: bf48 it mi 70031b9e: 3301 addmi r3, #1 70031ba0: 455a cmp r2, fp 70031ba2: eb01 0163 add.w r1, r1, r3, asr #1 70031ba6: f67f af50 bls.w 70031a4a <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x1ca> 70031baa: 9b04 ldr r3, [sp, #16] 70031bac: 468e mov lr, r1 70031bae: 2b00 cmp r3, #0 70031bb0: d187 bne.n 70031ac2 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x242> 70031bb2: f8dd c004 ldr.w ip, [sp, #4] 70031bb6: e799 b.n 70031aec <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x26c> 70031bb8: f89e 3000 ldrb.w r3, [lr] 70031bbc: 091b lsrs r3, r3, #4 70031bbe: eb03 0343 add.w r3, r3, r3, lsl #1 70031bc2: 18e7 adds r7, r4, r3 70031bc4: 5ce6 ldrb r6, [r4, r3] 70031bc6: 7878 ldrb r0, [r7, #1] 70031bc8: 78bb ldrb r3, [r7, #2] 70031bca: 00c0 lsls r0, r0, #3 70031bcc: ea05 2303 and.w r3, r5, r3, lsl #8 70031bd0: f400 60fc and.w r0, r0, #2016 @ 0x7e0 70031bd4: 4303 orrs r3, r0 70031bd6: 9801 ldr r0, [sp, #4] 70031bd8: ea43 03d6 orr.w r3, r3, r6, lsr #3 70031bdc: f8ab 3000 strh.w r3, [fp] 70031be0: 4b03 ldr r3, [pc, #12] @ (70031bf0 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x370>) 70031be2: 881b ldrh r3, [r3, #0] 70031be4: 1a1b subs r3, r3, r0 70031be6: 3301 adds r3, #1 70031be8: e7d2 b.n 70031b90 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0+0x310> 70031bea: bf00 nop 70031bec: 2400da80 .word 0x2400da80 70031bf0: 2400da78 .word 0x2400da78 70031bf4: fffff800 .word 0xfffff800 70031bf8 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE>: 70031bf8: b5f0 push {r4, r5, r6, r7, lr} 70031bfa: 2200 movs r2, #0 70031bfc: 4c2c ldr r4, [pc, #176] @ (70031cb0 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0xb8>) 70031bfe: b089 sub sp, #36 @ 0x24 70031c00: 4b2c ldr r3, [pc, #176] @ (70031cb4 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0xbc>) 70031c02: 7826 ldrb r6, [r4, #0] 70031c04: 460d mov r5, r1 70031c06: 9206 str r2, [sp, #24] 70031c08: 4604 mov r4, r0 70031c0a: 4a2b ldr r2, [pc, #172] @ (70031cb8 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0xc0>) 70031c0c: f9b3 3000 ldrsh.w r3, [r3] 70031c10: f9b2 2000 ldrsh.w r2, [r2] 70031c14: b116 cbz r6, 70031c1c <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0x24> 70031c16: 4619 mov r1, r3 70031c18: 4613 mov r3, r2 70031c1a: 460a mov r2, r1 70031c1c: 4f27 ldr r7, [pc, #156] @ (70031cbc <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0xc4>) 70031c1e: f8ad 201c strh.w r2, [sp, #28] 70031c22: 6838 ldr r0, [r7, #0] 70031c24: f8ad 301e strh.w r3, [sp, #30] 70031c28: 6803 ldr r3, [r0, #0] 70031c2a: 6b5b ldr r3, [r3, #52] @ 0x34 70031c2c: 4798 blx r3 70031c2e: 6823 ldr r3, [r4, #0] 70031c30: 4a23 ldr r2, [pc, #140] @ (70031cc0 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0xc8>) 70031c32: 4601 mov r1, r0 70031c34: 691e ldr r6, [r3, #16] 70031c36: 4296 cmp r6, r2 70031c38: d130 bne.n 70031c9c <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0xa4> 70031c3a: 683a ldr r2, [r7, #0] 70031c3c: 695e ldr r6, [r3, #20] 70031c3e: f892 305c ldrb.w r3, [r2, #92] @ 0x5c 70031c42: b993 cbnz r3, 70031c6a <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0x72> 70031c44: 6890 ldr r0, [r2, #8] 70031c46: 4a1f ldr r2, [pc, #124] @ (70031cc4 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0xcc>) 70031c48: 6803 ldr r3, [r0, #0] 70031c4a: 6b1b ldr r3, [r3, #48] @ 0x30 70031c4c: 4293 cmp r3, r2 70031c4e: d114 bne.n 70031c7a <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0x82> 70031c50: 4b1d ldr r3, [pc, #116] @ (70031cc8 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0xd0>) 70031c52: 7b02 ldrb r2, [r0, #12] 70031c54: 429e cmp r6, r3 70031c56: d117 bne.n 70031c88 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0x90> 70031c58: 23ff movs r3, #255 @ 0xff 70031c5a: 4620 mov r0, r4 70031c5c: 9500 str r5, [sp, #0] 70031c5e: 9301 str r3, [sp, #4] 70031c60: ab06 add r3, sp, #24 70031c62: f7fc fd19 bl 7002e698 <_ZN8touchgfx12LCDGPU2D_AXI8blitCopyEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_hb.part.0> 70031c66: b009 add sp, #36 @ 0x24 70031c68: bdf0 pop {r4, r5, r6, r7, pc} 70031c6a: 6d10 ldr r0, [r2, #80] @ 0x50 70031c6c: 2800 cmp r0, #0 70031c6e: d0e9 beq.n 70031c44 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0x4c> 70031c70: 6803 ldr r3, [r0, #0] 70031c72: 4a14 ldr r2, [pc, #80] @ (70031cc4 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0xcc>) 70031c74: 6b1b ldr r3, [r3, #48] @ 0x30 70031c76: 4293 cmp r3, r2 70031c78: d0ea beq.n 70031c50 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0x58> 70031c7a: 9105 str r1, [sp, #20] 70031c7c: 4798 blx r3 70031c7e: 4b12 ldr r3, [pc, #72] @ (70031cc8 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0xd0>) 70031c80: 4602 mov r2, r0 70031c82: 9905 ldr r1, [sp, #20] 70031c84: 429e cmp r6, r3 70031c86: d0e7 beq.n 70031c58 <_ZN8touchgfx12LCDGPU2D_AXI29copyAreaFromTFTToClientBufferERKNS_4RectE+0x60> 70031c88: 4620 mov r0, r4 70031c8a: 9500 str r5, [sp, #0] 70031c8c: 24ff movs r4, #255 @ 0xff 70031c8e: 2500 movs r5, #0 70031c90: ab06 add r3, sp, #24 70031c92: e9cd 4501 strd r4, r5, [sp, #4] 70031c96: 47b0 blx r6 70031c98: b009 add sp, #36 @ 0x24 70031c9a: bdf0 pop {r4, r5, r6, r7, pc} 70031c9c: 2200 movs r2, #0 70031c9e: 462b mov r3, r5 70031ca0: 4620 mov r0, r4 70031ca2: 9201 str r2, [sp, #4] 70031ca4: 22ff movs r2, #255 @ 0xff 70031ca6: 9200 str r2, [sp, #0] 70031ca8: aa06 add r2, sp, #24 70031caa: 47b0 blx r6 70031cac: b009 add sp, #36 @ 0x24 70031cae: bdf0 pop {r4, r5, r6, r7, pc} 70031cb0: 2400da72 .word 0x2400da72 70031cb4: 2400da76 .word 0x2400da76 70031cb8: 2400da78 .word 0x2400da78 70031cbc: 2400da80 .word 0x2400da80 70031cc0: 700314c5 .word 0x700314c5 70031cc4: 7002c2b9 .word 0x7002c2b9 70031cc8: 7002e7b1 .word 0x7002e7b1 70031ccc <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht>: 70031ccc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70031cd0: b083 sub sp, #12 70031cd2: 4614 mov r4, r2 70031cd4: f89d 803c ldrb.w r8, [sp, #60] @ 0x3c 70031cd8: f8dd a030 ldr.w sl, [sp, #48] @ 0x30 70031cdc: 9f0d ldr r7, [sp, #52] @ 0x34 70031cde: f8bd 9038 ldrh.w r9, [sp, #56] @ 0x38 70031ce2: f8bd 2040 ldrh.w r2, [sp, #64] @ 0x40 70031ce6: f1b8 0f00 cmp.w r8, #0 70031cea: d01d beq.n 70031d28 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x5c> 70031cec: 461d mov r5, r3 70031cee: f9b7 3004 ldrsh.w r3, [r7, #4] 70031cf2: 2b00 cmp r3, #0 70031cf4: dd18 ble.n 70031d28 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x5c> 70031cf6: f9b7 3006 ldrsh.w r3, [r7, #6] 70031cfa: 2b00 cmp r3, #0 70031cfc: dd14 ble.n 70031d28 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x5c> 70031cfe: f3c9 0b87 ubfx fp, r9, #2, #8 70031d02: 4606 mov r6, r0 70031d04: f1bb 0f0b cmp.w fp, #11 70031d08: d054 beq.n 70031db4 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0xe8> 70031d0a: f1bb 0f01 cmp.w fp, #1 70031d0e: d051 beq.n 70031db4 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0xe8> 70031d10: f1bb 0f0d cmp.w fp, #13 70031d14: d10b bne.n 70031d2e <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x62> 70031d16: 686b ldr r3, [r5, #4] 70031d18: b133 cbz r3, 70031d28 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x5c> 70031d1a: 781b ldrb r3, [r3, #0] 70031d1c: f1a3 0216 sub.w r2, r3, #22 70031d20: 2a01 cmp r2, #1 70031d22: d904 bls.n 70031d2e <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x62> 70031d24: 2b12 cmp r3, #18 70031d26: d002 beq.n 70031d2e <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x62> 70031d28: b003 add sp, #12 70031d2a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70031d2e: 4bc4 ldr r3, [pc, #784] @ (70032040 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x374>) 70031d30: 6818 ldr r0, [r3, #0] 70031d32: f7fa fa45 bl 7002c1c0 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv> 70031d36: 6833 ldr r3, [r6, #0] 70031d38: 4630 mov r0, r6 70031d3a: 6d9b ldr r3, [r3, #88] @ 0x58 70031d3c: 4798 blx r3 70031d3e: f9b7 3006 ldrsh.w r3, [r7, #6] 70031d42: f9b7 2004 ldrsh.w r2, [r7, #4] 70031d46: f9b7 1002 ldrsh.w r1, [r7, #2] 70031d4a: f9b7 0000 ldrsh.w r0, [r7] 70031d4e: f7e5 fff9 bl 70017d44 70031d52: 2200 movs r2, #0 70031d54: 4643 mov r3, r8 70031d56: 4611 mov r1, r2 70031d58: 4610 mov r0, r2 70031d5a: f7e6 f95d bl 70018018 70031d5e: f7f8 faa5 bl 7002a2ac 70031d62: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70031d66: 2201 movs r2, #1 70031d68: 2100 movs r1, #0 70031d6a: 48b6 ldr r0, [pc, #728] @ (70032044 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x378>) 70031d6c: f7f7 ff28 bl 70029bc0 70031d70: f1bb 0f0d cmp.w fp, #13 70031d74: d8d8 bhi.n 70031d28 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x5c> 70031d76: a301 add r3, pc, #4 @ (adr r3, 70031d7c <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0xb0>) 70031d78: f853 f02b ldr.w pc, [r3, fp, lsl #2] 70031d7c: 70031f37 .word 0x70031f37 70031d80: 70031d29 .word 0x70031d29 70031d84: 70031f21 .word 0x70031f21 70031d88: 70031d29 .word 0x70031d29 70031d8c: 70031d29 .word 0x70031d29 70031d90: 70031d29 .word 0x70031d29 70031d94: 70031d29 .word 0x70031d29 70031d98: 70031d29 .word 0x70031d29 70031d9c: 70031d29 .word 0x70031d29 70031da0: 70031d29 .word 0x70031d29 70031da4: 70031d29 .word 0x70031d29 70031da8: 70031d29 .word 0x70031d29 70031dac: 70031ef7 .word 0x70031ef7 70031db0: 70031dd1 .word 0x70031dd1 70031db4: e9cd 820f strd r8, r2, [sp, #60] @ 0x3c 70031db8: 462b mov r3, r5 70031dba: 4622 mov r2, r4 70031dbc: 4630 mov r0, r6 70031dbe: f8cd a030 str.w sl, [sp, #48] @ 0x30 70031dc2: e9cd 790d strd r7, r9, [sp, #52] @ 0x34 70031dc6: b003 add sp, #12 70031dc8: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70031dcc: f7de bac0 b.w 70010350 <_ZN8touchgfx3LCD22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht> 70031dd0: 686b ldr r3, [r5, #4] 70031dd2: f009 0601 and.w r6, r9, #1 70031dd6: 6828 ldr r0, [r5, #0] 70031dd8: 781b ldrb r3, [r3, #0] 70031dda: e9d5 1202 ldrd r1, r2, [r5, #8] 70031dde: f04f 35ff mov.w r5, #4294967295 @ 0xffffffff 70031de2: e9cd 5600 strd r5, r6, [sp] 70031de6: f7e6 f91f bl 70018028 70031dea: 2001 movs r0, #1 70031dec: f7e7 f9fe bl 700191ec 70031df0: f9ba 3000 ldrsh.w r3, [sl] 70031df4: edd4 7a00 vldr s15, [r4] 70031df8: ee02 3a10 vmov s4, r3 70031dfc: f9ba 3002 ldrsh.w r3, [sl, #2] 70031e00: eeb8 7ae7 vcvt.f32.s32 s14, s15 70031e04: edd4 7a01 vldr s15, [r4, #4] 70031e08: ee02 3a90 vmov s5, r3 70031e0c: eeb8 2ac2 vcvt.f32.s32 s4, s4 70031e10: 4b8d ldr r3, [pc, #564] @ (70032048 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x37c>) 70031e12: eef8 7ae7 vcvt.f32.s32 s15, s15 70031e16: eef8 2ae2 vcvt.f32.s32 s5, s5 70031e1a: eddf 6a8c vldr s13, [pc, #560] @ 7003204c <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x380> 70031e1e: 781b ldrb r3, [r3, #0] 70031e20: eeb0 0a42 vmov.f32 s0, s4 70031e24: ed94 6a03 vldr s12, [r4, #12] 70031e28: eef0 0a62 vmov.f32 s1, s5 70031e2c: 2b01 cmp r3, #1 70031e2e: eea7 0a26 vfma.f32 s0, s14, s13 70031e32: ed94 7a04 vldr s14, [r4, #16] 70031e36: eeb5 6ac0 vcmpe.f32 s12, #0.0 70031e3a: eee7 0aa6 vfma.f32 s1, s15, s13 70031e3e: f000 8082 beq.w 70031f46 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x27a> 70031e42: eef1 fa10 vmrs APSR_nzcv, fpscr 70031e46: eeb5 7ac0 vcmpe.f32 s14, #0.0 70031e4a: f240 80dd bls.w 70032008 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x33c> 70031e4e: eef1 fa10 vmrs APSR_nzcv, fpscr 70031e52: bf94 ite ls 70031e54: 2001 movls r0, #1 70031e56: 2002 movhi r0, #2 70031e58: ed94 6a08 vldr s12, [r4, #32] 70031e5c: eeb0 1a42 vmov.f32 s2, s4 70031e60: edd4 7a05 vldr s15, [r4, #20] 70031e64: eef0 1a62 vmov.f32 s3, s5 70031e68: eeb5 6ac0 vcmpe.f32 s12, #0.0 70031e6c: eddf 6a77 vldr s13, [pc, #476] @ 7003204c <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x380> 70031e70: eeb8 7ae7 vcvt.f32.s32 s14, s15 70031e74: edd4 7a06 vldr s15, [r4, #24] 70031e78: edd4 5a09 vldr s11, [r4, #36] @ 0x24 70031e7c: eef8 7ae7 vcvt.f32.s32 s15, s15 70031e80: eef1 fa10 vmrs APSR_nzcv, fpscr 70031e84: eea7 1a26 vfma.f32 s2, s14, s13 70031e88: eee7 1aa6 vfma.f32 s3, s15, s13 70031e8c: f240 80b4 bls.w 70031ff8 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x32c> 70031e90: eef5 5ac0 vcmpe.f32 s11, #0.0 70031e94: eef1 fa10 vmrs APSR_nzcv, fpscr 70031e98: bf94 ite ls 70031e9a: 2101 movls r1, #1 70031e9c: 2102 movhi r1, #2 70031e9e: ed94 6a0d vldr s12, [r4, #52] @ 0x34 70031ea2: edd4 7a0a vldr s15, [r4, #40] @ 0x28 70031ea6: eeb5 6ac0 vcmpe.f32 s12, #0.0 70031eaa: ed94 7a0b vldr s14, [r4, #44] @ 0x2c 70031eae: eef8 7ae7 vcvt.f32.s32 s15, s15 70031eb2: eddf 6a66 vldr s13, [pc, #408] @ 7003204c <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x380> 70031eb6: eeb8 7ac7 vcvt.f32.s32 s14, s14 70031eba: edd4 5a0e vldr s11, [r4, #56] @ 0x38 70031ebe: eef1 fa10 vmrs APSR_nzcv, fpscr 70031ec2: eea7 2aa6 vfma.f32 s4, s15, s13 70031ec6: eee7 2a26 vfma.f32 s5, s14, s13 70031eca: f240 808d bls.w 70031fe8 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x31c> 70031ece: eef5 5ac0 vcmpe.f32 s11, #0.0 70031ed2: eef1 fa10 vmrs APSR_nzcv, fpscr 70031ed6: bf94 ite ls 70031ed8: 2201 movls r2, #1 70031eda: 2202 movhi r2, #2 70031edc: f7e6 fb38 bl 70018550 70031ee0: 20fc movs r0, #252 @ 0xfc 70031ee2: f7d1 fba5 bl 70003630 70031ee6: 4b56 ldr r3, [pc, #344] @ (70032040 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x374>) 70031ee8: 2800 cmp r0, #0 70031eea: d077 beq.n 70031fdc <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x310> 70031eec: 681b ldr r3, [r3, #0] 70031eee: 2201 movs r2, #1 70031ef0: f883 20c5 strb.w r2, [r3, #197] @ 0xc5 70031ef4: e718 b.n 70031d28 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x5c> 70031ef6: 4b56 ldr r3, [pc, #344] @ (70032050 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x384>) 70031ef8: f009 0601 and.w r6, r9, #1 70031efc: 6818 ldr r0, [r3, #0] 70031efe: 23ff movs r3, #255 @ 0xff 70031f00: b2c2 uxtb r2, r0 70031f02: f3c0 2107 ubfx r1, r0, #8, #8 70031f06: f3c0 4007 ubfx r0, r0, #16, #8 70031f0a: f7e6 f885 bl 70018018 70031f0e: f7e5 ff0d bl 70017d2c 70031f12: 6828 ldr r0, [r5, #0] 70031f14: 2329 movs r3, #41 @ 0x29 70031f16: e9d5 1202 ldrd r1, r2, [r5, #8] 70031f1a: f04f 35ff mov.w r5, #4294967295 @ 0xffffffff 70031f1e: e760 b.n 70031de2 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x116> 70031f20: f009 0601 and.w r6, r9, #1 70031f24: 6828 ldr r0, [r5, #0] 70031f26: 2310 movs r3, #16 70031f28: 2704 movs r7, #4 70031f2a: e9d5 1202 ldrd r1, r2, [r5, #8] 70031f2e: 692d ldr r5, [r5, #16] 70031f30: fb07 f505 mul.w r5, r7, r5 70031f34: e755 b.n 70031de2 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x116> 70031f36: f009 0601 and.w r6, r9, #1 70031f3a: 6828 ldr r0, [r5, #0] 70031f3c: 2304 movs r3, #4 70031f3e: 2702 movs r7, #2 70031f40: e9d5 1202 ldrd r1, r2, [r5, #8] 70031f44: e7f3 b.n 70031f2e <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x262> 70031f46: eef1 fa10 vmrs APSR_nzcv, fpscr 70031f4a: eeb5 7ac0 vcmpe.f32 s14, #0.0 70031f4e: d971 bls.n 70032034 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x368> 70031f50: eef1 fa10 vmrs APSR_nzcv, fpscr 70031f54: bf94 ite ls 70031f56: 2002 movls r0, #2 70031f58: 2003 movhi r0, #3 70031f5a: ed94 6a08 vldr s12, [r4, #32] 70031f5e: eeb0 1a42 vmov.f32 s2, s4 70031f62: edd4 7a05 vldr s15, [r4, #20] 70031f66: eef0 1a62 vmov.f32 s3, s5 70031f6a: eeb5 6ac0 vcmpe.f32 s12, #0.0 70031f6e: eddf 6a37 vldr s13, [pc, #220] @ 7003204c <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x380> 70031f72: eeb8 7ae7 vcvt.f32.s32 s14, s15 70031f76: edd4 7a06 vldr s15, [r4, #24] 70031f7a: edd4 5a09 vldr s11, [r4, #36] @ 0x24 70031f7e: eef8 7ae7 vcvt.f32.s32 s15, s15 70031f82: eef1 fa10 vmrs APSR_nzcv, fpscr 70031f86: eea7 1a26 vfma.f32 s2, s14, s13 70031f8a: eee7 1aa6 vfma.f32 s3, s15, s13 70031f8e: d949 bls.n 70032024 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x358> 70031f90: eef5 5ac0 vcmpe.f32 s11, #0.0 70031f94: eef1 fa10 vmrs APSR_nzcv, fpscr 70031f98: bf94 ite ls 70031f9a: 2102 movls r1, #2 70031f9c: 2103 movhi r1, #3 70031f9e: ed94 6a0d vldr s12, [r4, #52] @ 0x34 70031fa2: edd4 7a0a vldr s15, [r4, #40] @ 0x28 70031fa6: eeb5 6ac0 vcmpe.f32 s12, #0.0 70031faa: ed94 7a0b vldr s14, [r4, #44] @ 0x2c 70031fae: eef8 7ae7 vcvt.f32.s32 s15, s15 70031fb2: eddf 6a26 vldr s13, [pc, #152] @ 7003204c <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x380> 70031fb6: eeb8 7ac7 vcvt.f32.s32 s14, s14 70031fba: edd4 5a0e vldr s11, [r4, #56] @ 0x38 70031fbe: eef1 fa10 vmrs APSR_nzcv, fpscr 70031fc2: eea7 2aa6 vfma.f32 s4, s15, s13 70031fc6: eee7 2a26 vfma.f32 s5, s14, s13 70031fca: d923 bls.n 70032014 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x348> 70031fcc: eef5 5ac0 vcmpe.f32 s11, #0.0 70031fd0: eef1 fa10 vmrs APSR_nzcv, fpscr 70031fd4: bf94 ite ls 70031fd6: 2202 movls r2, #2 70031fd8: 2203 movhi r2, #3 70031fda: e77f b.n 70031edc <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x210> 70031fdc: 6818 ldr r0, [r3, #0] 70031fde: b003 add sp, #12 70031fe0: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70031fe4: f7fa b910 b.w 7002c208 <_ZN8touchgfx8HALGPU2D16submitExecBufferEv> 70031fe8: eef5 5ac0 vcmpe.f32 s11, #0.0 70031fec: eef1 fa10 vmrs APSR_nzcv, fpscr 70031ff0: bf94 ite ls 70031ff2: 2200 movls r2, #0 70031ff4: 2203 movhi r2, #3 70031ff6: e771 b.n 70031edc <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x210> 70031ff8: eef5 5ac0 vcmpe.f32 s11, #0.0 70031ffc: eef1 fa10 vmrs APSR_nzcv, fpscr 70032000: bf94 ite ls 70032002: 2100 movls r1, #0 70032004: 2103 movhi r1, #3 70032006: e74a b.n 70031e9e <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x1d2> 70032008: eef1 fa10 vmrs APSR_nzcv, fpscr 7003200c: bf94 ite ls 7003200e: 2000 movls r0, #0 70032010: 2003 movhi r0, #3 70032012: e721 b.n 70031e58 <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x18c> 70032014: eef5 5ac0 vcmpe.f32 s11, #0.0 70032018: eef1 fa10 vmrs APSR_nzcv, fpscr 7003201c: bf94 ite ls 7003201e: 2201 movls r2, #1 70032020: 2200 movhi r2, #0 70032022: e75b b.n 70031edc <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x210> 70032024: eef5 5ac0 vcmpe.f32 s11, #0.0 70032028: eef1 fa10 vmrs APSR_nzcv, fpscr 7003202c: bf94 ite ls 7003202e: 2101 movls r1, #1 70032030: 2100 movhi r1, #0 70032032: e7b4 b.n 70031f9e <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x2d2> 70032034: eef1 fa10 vmrs APSR_nzcv, fpscr 70032038: bf94 ite ls 7003203a: 2001 movls r0, #1 7003203c: 2000 movhi r0, #0 7003203e: e78c b.n 70031f5a <_ZN8touchgfx12LCDGPU2D_AXI22drawTextureMapTriangleERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x28e> 70032040: 2400e0dc .word 0x2400e0dc 70032044: 08000504 .word 0x08000504 70032048: 2400da72 .word 0x2400da72 7003204c: 3d800000 .word 0x3d800000 70032050: 2400da84 .word 0x2400da84 70032054 <_ZN8touchgfx12LCDGPU2D_AXIC1Ev>: 70032054: b410 push {r4} 70032056: 4c05 ldr r4, [pc, #20] @ (7003206c <_ZN8touchgfx12LCDGPU2D_AXIC1Ev+0x18>) 70032058: 2200 movs r2, #0 7003205a: 210d movs r1, #13 7003205c: 6004 str r4, [r0, #0] 7003205e: 7301 strb r1, [r0, #12] 70032060: f85d 4b04 ldr.w r4, [sp], #4 70032064: e9c0 2201 strd r2, r2, [r0, #4] 70032068: 4770 bx lr 7003206a: bf00 nop 7003206c: 70040414 .word 0x70040414 70032070 <_ZN8touchgfx12LCDGPU2D_AXI20setFrameBufferFormatENS_6Bitmap12BitmapFormatE>: 70032070: 7301 strb r1, [r0, #12] 70032072: 4770 bx lr 70032074 <_ZN8touchgfx12LCDGPU2D_AXI21blitCopyCompressedRGBEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_h>: 70032074: b430 push {r4, r5} 70032076: 7b04 ldrb r4, [r0, #12] 70032078: 4694 mov ip, r2 7003207a: f89d 500c ldrb.w r5, [sp, #12] 7003207e: 461a mov r2, r3 70032080: 9b02 ldr r3, [sp, #8] 70032082: b154 cbz r4, 7003209a <_ZN8touchgfx12LCDGPU2D_AXI21blitCopyCompressedRGBEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_h+0x26> 70032084: 2c02 cmp r4, #2 70032086: d106 bne.n 70032096 <_ZN8touchgfx12LCDGPU2D_AXI21blitCopyCompressedRGBEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_h+0x22> 70032088: f1bc 0f0e cmp.w ip, #14 7003208c: d017 beq.n 700320be <_ZN8touchgfx12LCDGPU2D_AXI21blitCopyCompressedRGBEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_h+0x4a> 7003208e: b115 cbz r5, 70032096 <_ZN8touchgfx12LCDGPU2D_AXI21blitCopyCompressedRGBEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_h+0x22> 70032090: f1bc 0f10 cmp.w ip, #16 70032094: d019 beq.n 700320ca <_ZN8touchgfx12LCDGPU2D_AXI21blitCopyCompressedRGBEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_h+0x56> 70032096: bc30 pop {r4, r5} 70032098: 4770 bx lr 7003209a: f1bc 0f0e cmp.w ip, #14 7003209e: d008 beq.n 700320b2 <_ZN8touchgfx12LCDGPU2D_AXI21blitCopyCompressedRGBEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_h+0x3e> 700320a0: f1bc 0f10 cmp.w ip, #16 700320a4: d1f7 bne.n 70032096 <_ZN8touchgfx12LCDGPU2D_AXI21blitCopyCompressedRGBEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_h+0x22> 700320a6: 2d00 cmp r5, #0 700320a8: d0f5 beq.n 70032096 <_ZN8touchgfx12LCDGPU2D_AXI21blitCopyCompressedRGBEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_h+0x22> 700320aa: 9502 str r5, [sp, #8] 700320ac: bc30 pop {r4, r5} 700320ae: f7fd b829 b.w 7002f104 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.0> 700320b2: 2d00 cmp r5, #0 700320b4: d0ef beq.n 70032096 <_ZN8touchgfx12LCDGPU2D_AXI21blitCopyCompressedRGBEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_h+0x22> 700320b6: 9502 str r5, [sp, #8] 700320b8: bc30 pop {r4, r5} 700320ba: f7fc bb85 b.w 7002e7c8 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.0> 700320be: 2d00 cmp r5, #0 700320c0: d0e9 beq.n 70032096 <_ZN8touchgfx12LCDGPU2D_AXI21blitCopyCompressedRGBEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_h+0x22> 700320c2: 9502 str r5, [sp, #8] 700320c4: bc30 pop {r4, r5} 700320c6: f7fd bb5d b.w 7002f784 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.0> 700320ca: 9502 str r5, [sp, #8] 700320cc: bc30 pop {r4, r5} 700320ce: f7fd be93 b.w 7002fdf8 <_ZN8touchgfx12LCDGPU2D_AXI32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.0> 700320d2: bf00 nop 700320d4 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h>: 700320d4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700320d8: b093 sub sp, #76 @ 0x4c 700320da: f89d 4070 ldrb.w r4, [sp, #112] @ 0x70 700320de: b914 cbnz r4, 700320e6 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x12> 700320e0: b013 add sp, #76 @ 0x4c 700320e2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700320e6: 4616 mov r6, r2 700320e8: 460d mov r5, r1 700320ea: 4680 mov r8, r0 700320ec: 6851 ldr r1, [r2, #4] 700320ee: 6810 ldr r0, [r2, #0] 700320f0: aa0e add r2, sp, #56 @ 0x38 700320f2: c203 stmia r2!, {r0, r1} 700320f4: 6818 ldr r0, [r3, #0] 700320f6: 6859 ldr r1, [r3, #4] 700320f8: c203 stmia r2!, {r0, r1} 700320fa: a80e add r0, sp, #56 @ 0x38 700320fc: f7de fe64 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70032100: 4631 mov r1, r6 70032102: a810 add r0, sp, #64 @ 0x40 70032104: f7de fea4 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 70032108: f9bd 2040 ldrsh.w r2, [sp, #64] @ 0x40 7003210c: f8bd 3038 ldrh.w r3, [sp, #56] @ 0x38 70032110: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 70032114: 4413 add r3, r2 70032116: f9bd 6044 ldrsh.w r6, [sp, #68] @ 0x44 7003211a: f9bd 7046 ldrsh.w r7, [sp, #70] @ 0x46 7003211e: f8ad 3040 strh.w r3, [sp, #64] @ 0x40 70032122: f8bd 303a ldrh.w r3, [sp, #58] @ 0x3a 70032126: 440b add r3, r1 70032128: f8ad 3042 strh.w r3, [sp, #66] @ 0x42 7003212c: f8bd 303c ldrh.w r3, [sp, #60] @ 0x3c 70032130: fb13 2301 smlabb r3, r3, r1, r2 70032134: 497b ldr r1, [pc, #492] @ (70032324 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x250>) 70032136: eb03 0343 add.w r3, r3, r3, lsl #1 7003213a: 441d add r5, r3 7003213c: 4b7a ldr r3, [pc, #488] @ (70032328 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x254>) 7003213e: 6818 ldr r0, [r3, #0] 70032140: 6802 ldr r2, [r0, #0] 70032142: f8d2 30ac ldr.w r3, [r2, #172] @ 0xac 70032146: 428b cmp r3, r1 70032148: f040 80c5 bne.w 700322d6 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x202> 7003214c: 6841 ldr r1, [r0, #4] 7003214e: f8df c1e4 ldr.w ip, [pc, #484] @ 70032334 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x260> 70032152: 680b ldr r3, [r1, #0] 70032154: 699b ldr r3, [r3, #24] 70032156: 4563 cmp r3, ip 70032158: f040 80c4 bne.w 700322e4 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x210> 7003215c: f8df b1cc ldr.w fp, [pc, #460] @ 7003232c <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x258> 70032160: 6ad3 ldr r3, [r2, #44] @ 0x2c 70032162: 4798 blx r3 70032164: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 70032168: f9bd 3040 ldrsh.w r3, [sp, #64] @ 0x40 7003216c: 2cff cmp r4, #255 @ 0xff 7003216e: f8bb 2000 ldrh.w r2, [fp] 70032172: fb01 3302 mla r3, r1, r2, r3 70032176: eb00 0983 add.w r9, r0, r3, lsl #2 7003217a: d076 beq.n 7003226a <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x196> 7003217c: 2f00 cmp r7, #0 7003217e: f1c4 01ff rsb r1, r4, #255 @ 0xff 70032182: dd6a ble.n 7003225a <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x186> 70032184: 2e00 cmp r6, #0 70032186: dd68 ble.n 7003225a <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x186> 70032188: eb06 0c46 add.w ip, r6, r6, lsl #1 7003218c: f04f 0a00 mov.w sl, #0 70032190: 00b2 lsls r2, r6, #2 70032192: f10c 0303 add.w r3, ip, #3 70032196: 46e6 mov lr, ip 70032198: b289 uxth r1, r1 7003219a: 4694 mov ip, r2 7003219c: e9cd 370c strd r3, r7, [sp, #48] @ 0x30 700321a0: 9a0c ldr r2, [sp, #48] @ 0x30 700321a2: 1cef adds r7, r5, #3 700321a4: f109 0304 add.w r3, r9, #4 700321a8: eb05 0802 add.w r8, r5, r2 700321ac: e9cd 690a strd r6, r9, [sp, #40] @ 0x28 700321b0: f813 2c04 ldrb.w r2, [r3, #-4] 700321b4: 3304 adds r3, #4 700321b6: f817 0c03 ldrb.w r0, [r7, #-3] 700321ba: 3703 adds r7, #3 700321bc: fb12 f201 smulbb r2, r2, r1 700321c0: fb00 2204 mla r2, r0, r4, r2 700321c4: f813 0c07 ldrb.w r0, [r3, #-7] 700321c8: fb10 f001 smulbb r0, r0, r1 700321cc: b292 uxth r2, r2 700321ce: 1c56 adds r6, r2, #1 700321d0: eb06 2612 add.w r6, r6, r2, lsr #8 700321d4: 1236 asrs r6, r6, #8 700321d6: f803 6c08 strb.w r6, [r3, #-8] 700321da: f817 2c05 ldrb.w r2, [r7, #-5] 700321de: fb02 0004 mla r0, r2, r4, r0 700321e2: f813 2c06 ldrb.w r2, [r3, #-6] 700321e6: fb12 f201 smulbb r2, r2, r1 700321ea: b280 uxth r0, r0 700321ec: 1c46 adds r6, r0, #1 700321ee: eb06 2610 add.w r6, r6, r0, lsr #8 700321f2: f813 0c05 ldrb.w r0, [r3, #-5] 700321f6: 1236 asrs r6, r6, #8 700321f8: fb00 f904 mul.w r9, r0, r4 700321fc: 4420 add r0, r4 700321fe: f803 6c07 strb.w r6, [r3, #-7] 70032202: f817 6c04 ldrb.w r6, [r7, #-4] 70032206: 4547 cmp r7, r8 70032208: fb06 2204 mla r2, r6, r4, r2 7003220c: f109 0601 add.w r6, r9, #1 70032210: b2b6 uxth r6, r6 70032212: b292 uxth r2, r2 70032214: eb06 2619 add.w r6, r6, r9, lsr #8 70032218: eba0 2016 sub.w r0, r0, r6, lsr #8 7003221c: f803 0c05 strb.w r0, [r3, #-5] 70032220: f102 0001 add.w r0, r2, #1 70032224: eb00 2012 add.w r0, r0, r2, lsr #8 70032228: ea4f 2020 mov.w r0, r0, asr #8 7003222c: f803 0c06 strb.w r0, [r3, #-6] 70032230: d1be bne.n 700321b0 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0xdc> 70032232: f9bd 303c ldrsh.w r3, [sp, #60] @ 0x3c 70032236: f10a 0a01 add.w sl, sl, #1 7003223a: e9dd 690a ldrd r6, r9, [sp, #40] @ 0x28 7003223e: 1b9b subs r3, r3, r6 70032240: eb03 0343 add.w r3, r3, r3, lsl #1 70032244: 4473 add r3, lr 70032246: 441d add r5, r3 70032248: f8bb 3000 ldrh.w r3, [fp] 7003224c: 1b9b subs r3, r3, r6 7003224e: eb0c 0383 add.w r3, ip, r3, lsl #2 70032252: 4499 add r9, r3 70032254: 9b0d ldr r3, [sp, #52] @ 0x34 70032256: 4553 cmp r3, sl 70032258: d1a2 bne.n 700321a0 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0xcc> 7003225a: 4b33 ldr r3, [pc, #204] @ (70032328 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x254>) 7003225c: 6818 ldr r0, [r3, #0] 7003225e: 6803 ldr r3, [r0, #0] 70032260: 6b1b ldr r3, [r3, #48] @ 0x30 70032262: 4798 blx r3 70032264: b013 add sp, #76 @ 0x4c 70032266: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7003226a: 2f00 cmp r7, #0 7003226c: ddf5 ble.n 7003225a <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x186> 7003226e: 2e00 cmp r6, #0 70032270: ddf3 ble.n 7003225a <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x186> 70032272: eb06 0e46 add.w lr, r6, r6, lsl #1 70032276: f04f 0c00 mov.w ip, #0 7003227a: ea4f 0a86 mov.w sl, r6, lsl #2 7003227e: f10e 0803 add.w r8, lr, #3 70032282: 1cea adds r2, r5, #3 70032284: f109 0304 add.w r3, r9, #4 70032288: eb05 0008 add.w r0, r5, r8 7003228c: f812 1c03 ldrb.w r1, [r2, #-3] 70032290: 3203 adds r2, #3 70032292: 3304 adds r3, #4 70032294: f803 1c08 strb.w r1, [r3, #-8] 70032298: f812 1c05 ldrb.w r1, [r2, #-5] 7003229c: 4282 cmp r2, r0 7003229e: f803 1c07 strb.w r1, [r3, #-7] 700322a2: f812 1c04 ldrb.w r1, [r2, #-4] 700322a6: f803 4c05 strb.w r4, [r3, #-5] 700322aa: f803 1c06 strb.w r1, [r3, #-6] 700322ae: d1ed bne.n 7003228c <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x1b8> 700322b0: f9bd 303c ldrsh.w r3, [sp, #60] @ 0x3c 700322b4: f10c 0c01 add.w ip, ip, #1 700322b8: 1b9b subs r3, r3, r6 700322ba: 4567 cmp r7, ip 700322bc: eb03 0343 add.w r3, r3, r3, lsl #1 700322c0: 4473 add r3, lr 700322c2: 441d add r5, r3 700322c4: f8bb 3000 ldrh.w r3, [fp] 700322c8: eba3 0306 sub.w r3, r3, r6 700322cc: eb0a 0383 add.w r3, sl, r3, lsl #2 700322d0: 4499 add r9, r3 700322d2: d1d6 bne.n 70032282 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x1ae> 700322d4: e7c1 b.n 7003225a <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x186> 700322d6: 4798 blx r3 700322d8: 2801 cmp r0, #1 700322da: d006 beq.n 700322ea <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x216> 700322dc: 4b12 ldr r3, [pc, #72] @ (70032328 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x254>) 700322de: 6818 ldr r0, [r3, #0] 700322e0: 6802 ldr r2, [r0, #0] 700322e2: e73b b.n 7003215c <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x88> 700322e4: 4608 mov r0, r1 700322e6: 4798 blx r3 700322e8: e7f6 b.n 700322d8 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x204> 700322ea: 9404 str r4, [sp, #16] 700322ec: b2bf uxth r7, r7 700322ee: f898 300c ldrb.w r3, [r8, #12] 700322f2: b2b6 uxth r6, r6 700322f4: 9702 str r7, [sp, #8] 700322f6: 4629 mov r1, r5 700322f8: 9308 str r3, [sp, #32] 700322fa: 2200 movs r2, #0 700322fc: 4b0b ldr r3, [pc, #44] @ (7003232c <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x258>) 700322fe: f8bd 4042 ldrh.w r4, [sp, #66] @ 0x42 70032302: 881b ldrh r3, [r3, #0] 70032304: f8bd 503c ldrh.w r5, [sp, #60] @ 0x3c 70032308: 9005 str r0, [sp, #20] 7003230a: 9601 str r6, [sp, #4] 7003230c: 9503 str r5, [sp, #12] 7003230e: 9400 str r4, [sp, #0] 70032310: e9cd 3006 strd r3, r0, [sp, #24] 70032314: 4806 ldr r0, [pc, #24] @ (70032330 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0x25c>) 70032316: f8bd 3040 ldrh.w r3, [sp, #64] @ 0x40 7003231a: 6800 ldr r0, [r0, #0] 7003231c: f7f9 ff7c bl 7002c218 <_ZN8touchgfx8HALGPU2D13dma2dBlitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_> 70032320: e6de b.n 700320e0 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h+0xc> 70032322: bf00 nop 70032324: 700018fb .word 0x700018fb 70032328: 2400da80 .word 0x2400da80 7003232c: 2400da78 .word 0x2400da78 70032330: 2400e0dc .word 0x2400e0dc 70032334: 7000f5b5 .word 0x7000f5b5 70032338 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h>: 70032338: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7003233c: b095 sub sp, #84 @ 0x54 7003233e: 6818 ldr r0, [r3, #0] 70032340: 461c mov r4, r3 70032342: 460e mov r6, r1 70032344: f8dd c078 ldr.w ip, [sp, #120] @ 0x78 70032348: 4617 mov r7, r2 7003234a: 6859 ldr r1, [r3, #4] 7003234c: ab10 add r3, sp, #64 @ 0x40 7003234e: f89d 507c ldrb.w r5, [sp, #124] @ 0x7c 70032352: c303 stmia r3!, {r0, r1} 70032354: f8dc 0000 ldr.w r0, [ip] 70032358: f8dc 1004 ldr.w r1, [ip, #4] 7003235c: c303 stmia r3!, {r0, r1} 7003235e: a810 add r0, sp, #64 @ 0x40 70032360: f7de fd32 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70032364: 4621 mov r1, r4 70032366: a812 add r0, sp, #72 @ 0x48 70032368: f7de fd72 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 7003236c: f9bd 2048 ldrsh.w r2, [sp, #72] @ 0x48 70032370: f8bd 3040 ldrh.w r3, [sp, #64] @ 0x40 70032374: f9bd 104a ldrsh.w r1, [sp, #74] @ 0x4a 70032378: 4413 add r3, r2 7003237a: f9bd b04c ldrsh.w fp, [sp, #76] @ 0x4c 7003237e: f9bd 404e ldrsh.w r4, [sp, #78] @ 0x4e 70032382: f8ad 3048 strh.w r3, [sp, #72] @ 0x48 70032386: f8bd 3042 ldrh.w r3, [sp, #66] @ 0x42 7003238a: 440b add r3, r1 7003238c: f8ad 304a strh.w r3, [sp, #74] @ 0x4a 70032390: f8bd 3044 ldrh.w r3, [sp, #68] @ 0x44 70032394: fb13 2301 smlabb r3, r3, r1, r2 70032398: 4978 ldr r1, [pc, #480] @ (7003257c <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x244>) 7003239a: 441e add r6, r3 7003239c: 4b78 ldr r3, [pc, #480] @ (70032580 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x248>) 7003239e: 6818 ldr r0, [r3, #0] 700323a0: 6802 ldr r2, [r0, #0] 700323a2: f8d2 30ac ldr.w r3, [r2, #172] @ 0xac 700323a6: 428b cmp r3, r1 700323a8: f040 80be bne.w 70032528 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x1f0> 700323ac: 6841 ldr r1, [r0, #4] 700323ae: f8df c1dc ldr.w ip, [pc, #476] @ 7003258c <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x254> 700323b2: 680b ldr r3, [r1, #0] 700323b4: 699b ldr r3, [r3, #24] 700323b6: 4563 cmp r3, ip 700323b8: f040 80bd bne.w 70032536 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x1fe> 700323bc: 6ad3 ldr r3, [r2, #44] @ 0x2c 700323be: 4798 blx r3 700323c0: 4a70 ldr r2, [pc, #448] @ (70032584 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x24c>) 700323c2: f9bd 104a ldrsh.w r1, [sp, #74] @ 0x4a 700323c6: 8812 ldrh r2, [r2, #0] 700323c8: f9bd 3048 ldrsh.w r3, [sp, #72] @ 0x48 700323cc: fb02 f404 mul.w r4, r2, r4 700323d0: fb02 3301 mla r3, r2, r1, r3 700323d4: eb00 0a43 add.w sl, r0, r3, lsl #1 700323d8: eb0a 0c44 add.w ip, sl, r4, lsl #1 700323dc: 45e2 cmp sl, ip 700323de: f080 809b bcs.w 70032518 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x1e0> 700323e2: ea4f 004b mov.w r0, fp, lsl #1 700323e6: 1e43 subs r3, r0, #1 700323e8: 085b lsrs r3, r3, #1 700323ea: f103 0e01 add.w lr, r3, #1 700323ee: ea4f 034e mov.w r3, lr, lsl #1 700323f2: f8cd e03c str.w lr, [sp, #60] @ 0x3c 700323f6: 46b6 mov lr, r6 700323f8: e9cd 0c0d strd r0, ip, [sp, #52] @ 0x34 700323fc: 990d ldr r1, [sp, #52] @ 0x34 700323fe: eb0a 0901 add.w r9, sl, r1 70032402: 45d1 cmp r9, sl 70032404: d97b bls.n 700324fe <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x1c6> 70032406: f10e 3cff add.w ip, lr, #4294967295 @ 0xffffffff 7003240a: 4652 mov r2, sl 7003240c: f8cd e030 str.w lr, [sp, #48] @ 0x30 70032410: e9cd ba0a strd fp, sl, [sp, #40] @ 0x28 70032414: e03f b.n 70032496 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x15e> 70032416: f8b2 e000 ldrh.w lr, [r2] 7003241a: f3c1 200f ubfx r0, r1, #8, #16 7003241e: ea6f 2121 mvn.w r1, r1, asr #8 70032422: ea4f 2a1e mov.w sl, lr, lsr #8 70032426: ea4f 08de mov.w r8, lr, lsr #3 7003242a: b2c9 uxtb r1, r1 7003242c: f00a 0af8 and.w sl, sl, #248 @ 0xf8 70032430: fb16 f600 smulbb r6, r6, r0 70032434: f008 08fc and.w r8, r8, #252 @ 0xfc 70032438: fb14 f400 smulbb r4, r4, r0 7003243c: ea4f 0ece mov.w lr, lr, lsl #3 70032440: fb0a 6601 mla r6, sl, r1, r6 70032444: fb1b f000 smulbb r0, fp, r0 70032448: fb08 4401 mla r4, r8, r1, r4 7003244c: fa5f fe8e uxtb.w lr, lr 70032450: b2b6 uxth r6, r6 70032452: b2a4 uxth r4, r4 70032454: fb0e 0001 mla r0, lr, r1, r0 70032458: f106 0e01 add.w lr, r6, #1 7003245c: f104 0801 add.w r8, r4, #1 70032460: b281 uxth r1, r0 70032462: eb0e 2e16 add.w lr, lr, r6, lsr #8 70032466: f3c0 2007 ubfx r0, r0, #8, #8 7003246a: eb08 2814 add.w r8, r8, r4, lsr #8 7003246e: 3101 adds r1, #1 70032470: f40e 4e7f and.w lr, lr, #65280 @ 0xff00 70032474: ea4f 1858 mov.w r8, r8, lsr #5 70032478: 4401 add r1, r0 7003247a: f36f 0e0a bfc lr, #0, #11 7003247e: f408 68fc and.w r8, r8, #2016 @ 0x7e0 70032482: f3c1 21c4 ubfx r1, r1, #11, #5 70032486: ea4e 0e08 orr.w lr, lr, r8 7003248a: ea41 010e orr.w r1, r1, lr 7003248e: 8011 strh r1, [r2, #0] 70032490: 3202 adds r2, #2 70032492: 4591 cmp r9, r2 70032494: d92a bls.n 700324ec <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x1b4> 70032496: f81c 1f01 ldrb.w r1, [ip, #1]! 7003249a: 3101 adds r1, #1 7003249c: f857 0021 ldr.w r0, [r7, r1, lsl #2] 700324a0: ea5f 6e10 movs.w lr, r0, lsr #24 700324a4: ea4f 2810 mov.w r8, r0, lsr #8 700324a8: ea05 010e and.w r1, r5, lr 700324ac: d0f0 beq.n 70032490 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x158> 700324ae: fb05 fe0e mul.w lr, r5, lr 700324b2: 29ff cmp r1, #255 @ 0xff 700324b4: fa5f f488 uxtb.w r4, r8 700324b8: f3c0 4607 ubfx r6, r0, #16, #8 700324bc: f10e 0101 add.w r1, lr, #1 700324c0: f3ce 2e0f ubfx lr, lr, #8, #16 700324c4: fa5f fb80 uxtb.w fp, r0 700324c8: fa1e f181 uxtah r1, lr, r1 700324cc: d1a3 bne.n 70032416 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0xde> 700324ce: 0941 lsrs r1, r0, #5 700324d0: f36f 080a bfc r8, #0, #11 700324d4: f3c0 00c4 ubfx r0, r0, #3, #5 700324d8: 3202 adds r2, #2 700324da: f401 61fc and.w r1, r1, #2016 @ 0x7e0 700324de: ea41 0108 orr.w r1, r1, r8 700324e2: 4301 orrs r1, r0 700324e4: f822 1c02 strh.w r1, [r2, #-2] 700324e8: 4591 cmp r9, r2 700324ea: d8d4 bhi.n 70032496 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x15e> 700324ec: 9a0f ldr r2, [sp, #60] @ 0x3c 700324ee: f8dd e030 ldr.w lr, [sp, #48] @ 0x30 700324f2: e9dd ba0a ldrd fp, sl, [sp, #40] @ 0x28 700324f6: 4496 add lr, r2 700324f8: 4a22 ldr r2, [pc, #136] @ (70032584 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x24c>) 700324fa: 449a add sl, r3 700324fc: 8812 ldrh r2, [r2, #0] 700324fe: eba2 010b sub.w r1, r2, fp 70032502: eb0a 0a41 add.w sl, sl, r1, lsl #1 70032506: f9bd 1044 ldrsh.w r1, [sp, #68] @ 0x44 7003250a: eba1 010b sub.w r1, r1, fp 7003250e: 448e add lr, r1 70032510: 990e ldr r1, [sp, #56] @ 0x38 70032512: 4551 cmp r1, sl 70032514: f63f af72 bhi.w 700323fc <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0xc4> 70032518: 4b19 ldr r3, [pc, #100] @ (70032580 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x248>) 7003251a: 6818 ldr r0, [r3, #0] 7003251c: 6803 ldr r3, [r0, #0] 7003251e: 6b1b ldr r3, [r3, #48] @ 0x30 70032520: 4798 blx r3 70032522: b015 add sp, #84 @ 0x54 70032524: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70032528: 4798 blx r3 7003252a: 2801 cmp r0, #1 7003252c: d007 beq.n 7003253e <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x206> 7003252e: 4b14 ldr r3, [pc, #80] @ (70032580 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x248>) 70032530: 6818 ldr r0, [r3, #0] 70032532: 6802 ldr r2, [r0, #0] 70032534: e742 b.n 700323bc <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x84> 70032536: 4608 mov r0, r1 70032538: 4798 blx r3 7003253a: 2801 cmp r0, #1 7003253c: d1f7 bne.n 7003252e <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x1f6> 7003253e: 9005 str r0, [sp, #20] 70032540: b2a3 uxth r3, r4 70032542: f8bd 0044 ldrh.w r0, [sp, #68] @ 0x44 70032546: fa1f f48b uxth.w r4, fp 7003254a: 9302 str r3, [sp, #8] 7003254c: 463a mov r2, r7 7003254e: 9003 str r0, [sp, #12] 70032550: 4631 mov r1, r6 70032552: f8bd 304a ldrh.w r3, [sp, #74] @ 0x4a 70032556: 480b ldr r0, [pc, #44] @ (70032584 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x24c>) 70032558: 9401 str r4, [sp, #4] 7003255a: 2400 movs r4, #0 7003255c: 9300 str r3, [sp, #0] 7003255e: 9504 str r5, [sp, #16] 70032560: 8800 ldrh r0, [r0, #0] 70032562: f8bd 3048 ldrh.w r3, [sp, #72] @ 0x48 70032566: 9006 str r0, [sp, #24] 70032568: 4807 ldr r0, [pc, #28] @ (70032588 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x250>) 7003256a: 6800 ldr r0, [r0, #0] 7003256c: 9408 str r4, [sp, #32] 7003256e: 240b movs r4, #11 70032570: 9407 str r4, [sp, #28] 70032572: f7f9 fe51 bl 7002c218 <_ZN8touchgfx8HALGPU2D13dma2dBlitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_> 70032576: b015 add sp, #84 @ 0x54 70032578: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7003257c: 700018fb .word 0x700018fb 70032580: 2400da80 .word 0x2400da80 70032584: 2400da78 .word 0x2400da78 70032588: 2400e0dc .word 0x2400e0dc 7003258c: 7000f5b5 .word 0x7000f5b5 70032590 <_ZN8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_16BPPEmtih>: 70032590: b5f0 push {r4, r5, r6, r7, lr} 70032592: f89d 4014 ldrb.w r4, [sp, #20] 70032596: f3c1 4507 ubfx r5, r1, #16, #8 7003259a: f3c1 2c07 ubfx ip, r1, #8, #8 7003259e: fa5f fe81 uxtb.w lr, r1 700325a2: 2cff cmp r4, #255 @ 0xff 700325a4: d111 bne.n 700325ca <_ZN8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_16BPPEmtih+0x3a> 700325a6: 2bff cmp r3, #255 @ 0xff 700325a8: d10f bne.n 700325ca <_ZN8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_16BPPEmtih+0x3a> 700325aa: 7b03 ldrb r3, [r0, #12] 700325ac: 3b01 subs r3, #1 700325ae: 2b01 cmp r3, #1 700325b0: d958 bls.n 70032664 <_ZN8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_16BPPEmtih+0xd4> 700325b2: 492d ldr r1, [pc, #180] @ (70032668 <_ZN8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_16BPPEmtih+0xd8>) 700325b4: ea4f 0ccc mov.w ip, ip, lsl #3 700325b8: ea01 2105 and.w r1, r1, r5, lsl #8 700325bc: f40c 6cfc and.w ip, ip, #2016 @ 0x7e0 700325c0: ea41 010c orr.w r1, r1, ip 700325c4: ea41 00de orr.w r0, r1, lr, lsr #3 700325c8: bdf0 pop {r4, r5, r6, r7, pc} 700325ca: fb14 f403 smulbb r4, r4, r3 700325ce: 7b07 ldrb r7, [r0, #12] 700325d0: 08d0 lsrs r0, r2, #3 700325d2: b2a4 uxth r4, r4 700325d4: 3f01 subs r7, #1 700325d6: 00d1 lsls r1, r2, #3 700325d8: 1c63 adds r3, r4, #1 700325da: 2f01 cmp r7, #1 700325dc: eb03 2314 add.w r3, r3, r4, lsr #8 700325e0: f000 04fc and.w r4, r0, #252 @ 0xfc 700325e4: f3c0 1081 ubfx r0, r0, #6, #2 700325e8: f3c3 2307 ubfx r3, r3, #8, #8 700325ec: ea44 0400 orr.w r4, r4, r0 700325f0: b2c8 uxtb r0, r1 700325f2: ea6f 0603 mvn.w r6, r3 700325f6: f3c1 1142 ubfx r1, r1, #5, #3 700325fa: fb1c fc03 smulbb ip, ip, r3 700325fe: ea41 0100 orr.w r1, r1, r0 70032602: b2f6 uxtb r6, r6 70032604: fb1e fe03 smulbb lr, lr, r3 70032608: fb04 cc06 mla ip, r4, r6, ip 7003260c: fb01 ee06 mla lr, r1, r6, lr 70032610: fa1f fc8c uxth.w ip, ip 70032614: fa1f fe8e uxth.w lr, lr 70032618: f10c 0401 add.w r4, ip, #1 7003261c: f10e 0101 add.w r1, lr, #1 70032620: eb04 241c add.w r4, r4, ip, lsr #8 70032624: eb01 211e add.w r1, r1, lr, lsr #8 70032628: f3c4 2407 ubfx r4, r4, #8, #8 7003262c: f3c1 2107 ubfx r1, r1, #8, #8 70032630: d915 bls.n 7003265e <_ZN8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_16BPPEmtih+0xce> 70032632: fb15 f503 smulbb r5, r5, r3 70032636: 0a12 lsrs r2, r2, #8 70032638: 00e4 lsls r4, r4, #3 7003263a: f002 03f8 and.w r3, r2, #248 @ 0xf8 7003263e: f404 64fc and.w r4, r4, #2016 @ 0x7e0 70032642: ea43 1352 orr.w r3, r3, r2, lsr #5 70032646: fb03 5506 mla r5, r3, r6, r5 7003264a: b2ad uxth r5, r5 7003264c: 1c6b adds r3, r5, #1 7003264e: eb03 2315 add.w r3, r3, r5, lsr #8 70032652: f403 4378 and.w r3, r3, #63488 @ 0xf800 70032656: 4323 orrs r3, r4 70032658: ea43 00d1 orr.w r0, r3, r1, lsr #3 7003265c: bdf0 pop {r4, r5, r6, r7, pc} 7003265e: ea41 2004 orr.w r0, r1, r4, lsl #8 70032662: bdf0 pop {r4, r5, r6, r7, pc} 70032664: b288 uxth r0, r1 70032666: bdf0 pop {r4, r5, r6, r7, pc} 70032668: fffff800 .word 0xfffff800 7003266c <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h>: 7003266c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70032670: b093 sub sp, #76 @ 0x4c 70032672: 461e mov r6, r3 70032674: 468b mov fp, r1 70032676: 6859 ldr r1, [r3, #4] 70032678: 9f1c ldr r7, [sp, #112] @ 0x70 7003267a: 4690 mov r8, r2 7003267c: 9002 str r0, [sp, #8] 7003267e: 6818 ldr r0, [r3, #0] 70032680: ab0e add r3, sp, #56 @ 0x38 70032682: f89d 4074 ldrb.w r4, [sp, #116] @ 0x74 70032686: f108 0804 add.w r8, r8, #4 7003268a: c303 stmia r3!, {r0, r1} 7003268c: 6838 ldr r0, [r7, #0] 7003268e: 6879 ldr r1, [r7, #4] 70032690: c303 stmia r3!, {r0, r1} 70032692: a80e add r0, sp, #56 @ 0x38 70032694: f7de fb98 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70032698: 4631 mov r1, r6 7003269a: a810 add r0, sp, #64 @ 0x40 7003269c: f7de fbd8 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 700326a0: f9bd 2040 ldrsh.w r2, [sp, #64] @ 0x40 700326a4: f9bd 303c ldrsh.w r3, [sp, #60] @ 0x3c 700326a8: f002 0001 and.w r0, r2, #1 700326ac: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 700326b0: f9bd 5046 ldrsh.w r5, [sp, #70] @ 0x46 700326b4: 900b str r0, [sp, #44] @ 0x2c 700326b6: f003 0001 and.w r0, r3, #1 700326ba: f9bd 6044 ldrsh.w r6, [sp, #68] @ 0x44 700326be: 4403 add r3, r0 700326c0: 900a str r0, [sp, #40] @ 0x28 700326c2: fb01 2303 mla r3, r1, r3, r2 700326c6: 2b00 cmp r3, #0 700326c8: bfb8 it lt 700326ca: 3301 addlt r3, #1 700326cc: eb0b 0b63 add.w fp, fp, r3, asr #1 700326d0: f8bd 3038 ldrh.w r3, [sp, #56] @ 0x38 700326d4: 441a add r2, r3 700326d6: f8bd 303a ldrh.w r3, [sp, #58] @ 0x3a 700326da: 4419 add r1, r3 700326dc: 4bc0 ldr r3, [pc, #768] @ (700329e0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x374>) 700326de: f8ad 2040 strh.w r2, [sp, #64] @ 0x40 700326e2: 6818 ldr r0, [r3, #0] 700326e4: f8ad 1042 strh.w r1, [sp, #66] @ 0x42 700326e8: 6803 ldr r3, [r0, #0] 700326ea: 6adb ldr r3, [r3, #44] @ 0x2c 700326ec: 4798 blx r3 700326ee: 4bbd ldr r3, [pc, #756] @ (700329e4 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x378>) 700326f0: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 700326f4: 881b ldrh r3, [r3, #0] 700326f6: f9bd 2040 ldrsh.w r2, [sp, #64] @ 0x40 700326fa: fb03 2201 mla r2, r3, r1, r2 700326fe: fb05 f303 mul.w r3, r5, r3 70032702: eb00 0942 add.w r9, r0, r2, lsl #1 70032706: eb09 0343 add.w r3, r9, r3, lsl #1 7003270a: 4599 cmp r9, r3 7003270c: 930c str r3, [sp, #48] @ 0x30 7003270e: f080 8147 bcs.w 700329a0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x334> 70032712: 1e73 subs r3, r6, #1 70032714: 9609 str r6, [sp, #36] @ 0x24 70032716: 464e mov r6, r9 70032718: 930d str r3, [sp, #52] @ 0x34 7003271a: 9b0b ldr r3, [sp, #44] @ 0x2c 7003271c: 46d9 mov r9, fp 7003271e: 2b00 cmp r3, #0 70032720: f000 814c beq.w 700329bc <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x350> 70032724: f819 3b01 ldrb.w r3, [r9], #1 70032728: f003 030f and.w r3, r3, #15 7003272c: f858 1023 ldr.w r1, [r8, r3, lsl #2] 70032730: 0e0b lsrs r3, r1, #24 70032732: d006 beq.n 70032742 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0xd6> 70032734: 8832 ldrh r2, [r6, #0] 70032736: 9802 ldr r0, [sp, #8] 70032738: 9300 str r3, [sp, #0] 7003273a: 4623 mov r3, r4 7003273c: f7ff ff28 bl 70032590 <_ZN8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_16BPPEmtih> 70032740: 8030 strh r0, [r6, #0] 70032742: 3602 adds r6, #2 70032744: 9a0d ldr r2, [sp, #52] @ 0x34 70032746: 2a01 cmp r2, #1 70032748: f340 8116 ble.w 70032978 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x30c> 7003274c: 3a02 subs r2, #2 7003274e: 1d30 adds r0, r6, #4 70032750: f109 35ff add.w r5, r9, #4294967295 @ 0xffffffff 70032754: ea4f 0c52 mov.w ip, r2, lsr #1 70032758: 9208 str r2, [sp, #32] 7003275a: eb09 0e52 add.w lr, r9, r2, lsr #1 7003275e: e9cd 9604 strd r9, r6, [sp, #16] 70032762: e9cd bc06 strd fp, ip, [sp, #24] 70032766: e038 b.n 700327da <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x16e> 70032768: 9a02 ldr r2, [sp, #8] 7003276a: 7b12 ldrb r2, [r2, #12] 7003276c: 3a01 subs r2, #1 7003276e: 2a01 cmp r2, #1 70032770: d908 bls.n 70032784 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x118> 70032772: 00c9 lsls r1, r1, #3 70032774: 4a9c ldr r2, [pc, #624] @ (700329e8 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x37c>) 70032776: f401 61fc and.w r1, r1, #2016 @ 0x7e0 7003277a: ea02 260a and.w r6, r2, sl, lsl #8 7003277e: 430e orrs r6, r1 70032780: ea46 06d3 orr.w r6, r6, r3, lsr #3 70032784: f820 6c04 strh.w r6, [r0, #-4] 70032788: 7829 ldrb r1, [r5, #0] 7003278a: f001 010f and.w r1, r1, #15 7003278e: f858 3021 ldr.w r3, [r8, r1, lsl #2] 70032792: 0e1a lsrs r2, r3, #24 70032794: d01c beq.n 700327d0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x164> 70032796: ea04 0702 and.w r7, r4, r2 7003279a: f838 6021 ldrh.w r6, [r8, r1, lsl #2] 7003279e: f3c3 4a07 ubfx sl, r3, #16, #8 700327a2: f3c3 2107 ubfx r1, r3, #8, #8 700327a6: 2fff cmp r7, #255 @ 0xff 700327a8: f830 cc02 ldrh.w ip, [r0, #-2] 700327ac: b2db uxtb r3, r3 700327ae: d17f bne.n 700328b0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x244> 700327b0: 9a02 ldr r2, [sp, #8] 700327b2: 7b12 ldrb r2, [r2, #12] 700327b4: 3a01 subs r2, #1 700327b6: 2a01 cmp r2, #1 700327b8: d908 bls.n 700327cc <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x160> 700327ba: 00c9 lsls r1, r1, #3 700327bc: 4a8a ldr r2, [pc, #552] @ (700329e8 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x37c>) 700327be: f401 61fc and.w r1, r1, #2016 @ 0x7e0 700327c2: ea02 260a and.w r6, r2, sl, lsl #8 700327c6: 430e orrs r6, r1 700327c8: ea46 06d3 orr.w r6, r6, r3, lsr #3 700327cc: f820 6c02 strh.w r6, [r0, #-2] 700327d0: 4575 cmp r5, lr 700327d2: f100 0004 add.w r0, r0, #4 700327d6: f000 80c1 beq.w 7003295c <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x2f0> 700327da: f815 1f01 ldrb.w r1, [r5, #1]! 700327de: 090e lsrs r6, r1, #4 700327e0: f858 3026 ldr.w r3, [r8, r6, lsl #2] 700327e4: 0e1a lsrs r2, r3, #24 700327e6: d0d0 beq.n 7003278a <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x11e> 700327e8: ea04 0702 and.w r7, r4, r2 700327ec: f3c3 4a07 ubfx sl, r3, #16, #8 700327f0: f3c3 2107 ubfx r1, r3, #8, #8 700327f4: f838 6026 ldrh.w r6, [r8, r6, lsl #2] 700327f8: 2fff cmp r7, #255 @ 0xff 700327fa: f830 cc04 ldrh.w ip, [r0, #-4] 700327fe: b2db uxtb r3, r3 70032800: d0b2 beq.n 70032768 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0xfc> 70032802: fb04 f202 mul.w r2, r4, r2 70032806: ea4f 07dc mov.w r7, ip, lsr #3 7003280a: ea4f 06cc mov.w r6, ip, lsl #3 7003280e: f102 0b01 add.w fp, r2, #1 70032812: f3c2 220f ubfx r2, r2, #8, #16 70032816: 9603 str r6, [sp, #12] 70032818: fa12 f28b uxtah r2, r2, fp 7003281c: f007 0bfc and.w fp, r7, #252 @ 0xfc 70032820: f3c7 1781 ubfx r7, r7, #6, #2 70032824: 9e02 ldr r6, [sp, #8] 70032826: ea4b 0b07 orr.w fp, fp, r7 7003282a: f3c2 270f ubfx r7, r2, #8, #16 7003282e: ea6f 2222 mvn.w r2, r2, asr #8 70032832: f896 900c ldrb.w r9, [r6, #12] 70032836: fb11 f107 smulbb r1, r1, r7 7003283a: 9e03 ldr r6, [sp, #12] 7003283c: b2d2 uxtb r2, r2 7003283e: f109 39ff add.w r9, r9, #4294967295 @ 0xffffffff 70032842: fb13 f307 smulbb r3, r3, r7 70032846: fb0b 1102 mla r1, fp, r2, r1 7003284a: fa5f fb86 uxtb.w fp, r6 7003284e: f3c6 1642 ubfx r6, r6, #5, #3 70032852: f1b9 0f01 cmp.w r9, #1 70032856: b289 uxth r1, r1 70032858: ea4b 0b06 orr.w fp, fp, r6 7003285c: f101 0601 add.w r6, r1, #1 70032860: fb0b 3302 mla r3, fp, r2, r3 70032864: eb06 2611 add.w r6, r6, r1, lsr #8 70032868: b29b uxth r3, r3 7003286a: f3c6 2607 ubfx r6, r6, #8, #8 7003286e: f103 0101 add.w r1, r3, #1 70032872: eb01 2113 add.w r1, r1, r3, lsr #8 70032876: f3c1 2107 ubfx r1, r1, #8, #8 7003287a: f240 8099 bls.w 700329b0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x344> 7003287e: fb1a f707 smulbb r7, sl, r7 70032882: ea4f 2c1c mov.w ip, ip, lsr #8 70032886: 00f6 lsls r6, r6, #3 70032888: f00c 03f8 and.w r3, ip, #248 @ 0xf8 7003288c: f406 66fc and.w r6, r6, #2016 @ 0x7e0 70032890: ea43 135c orr.w r3, r3, ip, lsr #5 70032894: fb03 7702 mla r7, r3, r2, r7 70032898: b2bf uxth r7, r7 7003289a: 1c7b adds r3, r7, #1 7003289c: eb03 2317 add.w r3, r3, r7, lsr #8 700328a0: f403 437f and.w r3, r3, #65280 @ 0xff00 700328a4: f36f 030a bfc r3, #0, #11 700328a8: 4333 orrs r3, r6 700328aa: ea43 06d1 orr.w r6, r3, r1, lsr #3 700328ae: e769 b.n 70032784 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x118> 700328b0: fb04 f202 mul.w r2, r4, r2 700328b4: ea4f 07dc mov.w r7, ip, lsr #3 700328b8: ea4f 06cc mov.w r6, ip, lsl #3 700328bc: f102 0b01 add.w fp, r2, #1 700328c0: f3c2 220f ubfx r2, r2, #8, #16 700328c4: 9603 str r6, [sp, #12] 700328c6: fa12 f28b uxtah r2, r2, fp 700328ca: f007 0bfc and.w fp, r7, #252 @ 0xfc 700328ce: f3c7 1781 ubfx r7, r7, #6, #2 700328d2: 9e02 ldr r6, [sp, #8] 700328d4: ea4b 0b07 orr.w fp, fp, r7 700328d8: f3c2 270f ubfx r7, r2, #8, #16 700328dc: ea6f 2222 mvn.w r2, r2, asr #8 700328e0: f896 900c ldrb.w r9, [r6, #12] 700328e4: fb11 f107 smulbb r1, r1, r7 700328e8: 9e03 ldr r6, [sp, #12] 700328ea: b2d2 uxtb r2, r2 700328ec: f109 39ff add.w r9, r9, #4294967295 @ 0xffffffff 700328f0: fb13 f307 smulbb r3, r3, r7 700328f4: fb0b 1102 mla r1, fp, r2, r1 700328f8: fa5f fb86 uxtb.w fp, r6 700328fc: f3c6 1642 ubfx r6, r6, #5, #3 70032900: f1b9 0f01 cmp.w r9, #1 70032904: b289 uxth r1, r1 70032906: ea4b 0b06 orr.w fp, fp, r6 7003290a: f101 0601 add.w r6, r1, #1 7003290e: fb0b 3302 mla r3, fp, r2, r3 70032912: eb06 2611 add.w r6, r6, r1, lsr #8 70032916: b29b uxth r3, r3 70032918: f3c6 2607 ubfx r6, r6, #8, #8 7003291c: f103 0101 add.w r1, r3, #1 70032920: eb01 2113 add.w r1, r1, r3, lsr #8 70032924: f3c1 2107 ubfx r1, r1, #8, #8 70032928: d945 bls.n 700329b6 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x34a> 7003292a: fb1a f707 smulbb r7, sl, r7 7003292e: ea4f 2c1c mov.w ip, ip, lsr #8 70032932: 00f6 lsls r6, r6, #3 70032934: f00c 03f8 and.w r3, ip, #248 @ 0xf8 70032938: f406 66fc and.w r6, r6, #2016 @ 0x7e0 7003293c: ea43 135c orr.w r3, r3, ip, lsr #5 70032940: fb03 7702 mla r7, r3, r2, r7 70032944: b2bf uxth r7, r7 70032946: 1c7b adds r3, r7, #1 70032948: eb03 2317 add.w r3, r3, r7, lsr #8 7003294c: f403 437f and.w r3, r3, #65280 @ 0xff00 70032950: f36f 030a bfc r3, #0, #11 70032954: 4333 orrs r3, r6 70032956: ea43 06d1 orr.w r6, r3, r1, lsr #3 7003295a: e737 b.n 700327cc <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x160> 7003295c: e9dd bc06 ldrd fp, ip, [sp, #24] 70032960: e9dd 9604 ldrd r9, r6, [sp, #16] 70032964: f10c 0301 add.w r3, ip, #1 70032968: 9a08 ldr r2, [sp, #32] 7003296a: ebcc 7ccc rsb ip, ip, ip, lsl #31 7003296e: 4499 add r9, r3 70032970: eb06 0683 add.w r6, r6, r3, lsl #2 70032974: eb02 024c add.w r2, r2, ip, lsl #1 70032978: 2a01 cmp r2, #1 7003297a: d021 beq.n 700329c0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x354> 7003297c: 4b19 ldr r3, [pc, #100] @ (700329e4 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x378>) 7003297e: 9a09 ldr r2, [sp, #36] @ 0x24 70032980: 881b ldrh r3, [r3, #0] 70032982: 1a9b subs r3, r3, r2 70032984: 9a0a ldr r2, [sp, #40] @ 0x28 70032986: eb06 0643 add.w r6, r6, r3, lsl #1 7003298a: f9bd 303c ldrsh.w r3, [sp, #60] @ 0x3c 7003298e: 189b adds r3, r3, r2 70032990: bf48 it mi 70032992: 3301 addmi r3, #1 70032994: eb0b 0b63 add.w fp, fp, r3, asr #1 70032998: 9b0c ldr r3, [sp, #48] @ 0x30 7003299a: 42b3 cmp r3, r6 7003299c: f63f aebd bhi.w 7003271a <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0xae> 700329a0: 4b0f ldr r3, [pc, #60] @ (700329e0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x374>) 700329a2: 6818 ldr r0, [r3, #0] 700329a4: 6803 ldr r3, [r0, #0] 700329a6: 6b1b ldr r3, [r3, #48] @ 0x30 700329a8: 4798 blx r3 700329aa: b013 add sp, #76 @ 0x4c 700329ac: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700329b0: ea41 2606 orr.w r6, r1, r6, lsl #8 700329b4: e6e6 b.n 70032784 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x118> 700329b6: ea41 2606 orr.w r6, r1, r6, lsl #8 700329ba: e707 b.n 700327cc <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x160> 700329bc: 9a09 ldr r2, [sp, #36] @ 0x24 700329be: e6c2 b.n 70032746 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0xda> 700329c0: f899 3000 ldrb.w r3, [r9] 700329c4: 091b lsrs r3, r3, #4 700329c6: f858 1023 ldr.w r1, [r8, r3, lsl #2] 700329ca: 0e0b lsrs r3, r1, #24 700329cc: d006 beq.n 700329dc <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x370> 700329ce: 8832 ldrh r2, [r6, #0] 700329d0: 9802 ldr r0, [sp, #8] 700329d2: 9300 str r3, [sp, #0] 700329d4: 4623 mov r3, r4 700329d6: f7ff fddb bl 70032590 <_ZN8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_16BPPEmtih> 700329da: 8030 strh r0, [r6, #0] 700329dc: 3602 adds r6, #2 700329de: e7cd b.n 7003297c <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h+0x310> 700329e0: 2400da80 .word 0x2400da80 700329e4: 2400da78 .word 0x2400da78 700329e8: fffff800 .word 0xfffff800 700329ec <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h>: 700329ec: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700329f0: b097 sub sp, #92 @ 0x5c 700329f2: f89d 5084 ldrb.w r5, [sp, #132] @ 0x84 700329f6: b915 cbnz r5, 700329fe <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x12> 700329f8: b017 add sp, #92 @ 0x5c 700329fa: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700329fe: 461e mov r6, r3 70032a00: 460f mov r7, r1 70032a02: 4614 mov r4, r2 70032a04: ab12 add r3, sp, #72 @ 0x48 70032a06: 9a20 ldr r2, [sp, #128] @ 0x80 70032a08: 6830 ldr r0, [r6, #0] 70032a0a: 6871 ldr r1, [r6, #4] 70032a0c: c303 stmia r3!, {r0, r1} 70032a0e: 6810 ldr r0, [r2, #0] 70032a10: 6851 ldr r1, [r2, #4] 70032a12: c303 stmia r3!, {r0, r1} 70032a14: a812 add r0, sp, #72 @ 0x48 70032a16: f7de f9d7 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70032a1a: 4631 mov r1, r6 70032a1c: a814 add r0, sp, #80 @ 0x50 70032a1e: f7de fa17 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 70032a22: f9bd 2050 ldrsh.w r2, [sp, #80] @ 0x50 70032a26: f8bd 3048 ldrh.w r3, [sp, #72] @ 0x48 70032a2a: f9bd 1052 ldrsh.w r1, [sp, #82] @ 0x52 70032a2e: 4413 add r3, r2 70032a30: f9bd 8056 ldrsh.w r8, [sp, #86] @ 0x56 70032a34: f8ad 3050 strh.w r3, [sp, #80] @ 0x50 70032a38: f8bd 304a ldrh.w r3, [sp, #74] @ 0x4a 70032a3c: 440b add r3, r1 70032a3e: f8ad 3052 strh.w r3, [sp, #82] @ 0x52 70032a42: f8bd 304c ldrh.w r3, [sp, #76] @ 0x4c 70032a46: fb13 2301 smlabb r3, r3, r1, r2 70032a4a: 18f9 adds r1, r7, r3 70032a4c: 4b89 ldr r3, [pc, #548] @ (70032c74 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x288>) 70032a4e: 4f8a ldr r7, [pc, #552] @ (70032c78 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x28c>) 70032a50: 6818 ldr r0, [r3, #0] 70032a52: f9bd 3054 ldrsh.w r3, [sp, #84] @ 0x54 70032a56: 6806 ldr r6, [r0, #0] 70032a58: f8d6 20ac ldr.w r2, [r6, #172] @ 0xac 70032a5c: 42ba cmp r2, r7 70032a5e: f040 80da bne.w 70032c16 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x22a> 70032a62: 6847 ldr r7, [r0, #4] 70032a64: f8df c21c ldr.w ip, [pc, #540] @ 70032c84 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x298> 70032a68: 683a ldr r2, [r7, #0] 70032a6a: 6992 ldr r2, [r2, #24] 70032a6c: 4562 cmp r2, ip 70032a6e: f040 80dd bne.w 70032c2c <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x240> 70032a72: 6af2 ldr r2, [r6, #44] @ 0x2c 70032a74: e9cd 310b strd r3, r1, [sp, #44] @ 0x2c 70032a78: 4790 blx r2 70032a7a: 4b80 ldr r3, [pc, #512] @ (70032c7c <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x290>) 70032a7c: f9bd 7052 ldrsh.w r7, [sp, #82] @ 0x52 70032a80: 2dff cmp r5, #255 @ 0xff 70032a82: 881e ldrh r6, [r3, #0] 70032a84: f9bd 2050 ldrsh.w r2, [sp, #80] @ 0x50 70032a88: fb08 f806 mul.w r8, r8, r6 70032a8c: fb06 2207 mla r2, r6, r7, r2 70032a90: e9dd 310b ldrd r3, r1, [sp, #44] @ 0x2c 70032a94: eb00 0742 add.w r7, r0, r2, lsl #1 70032a98: d07c beq.n 70032b94 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x1a8> 70032a9a: eb07 0048 add.w r0, r7, r8, lsl #1 70032a9e: 43ea mvns r2, r5 70032aa0: 4287 cmp r7, r0 70032aa2: fa5f f882 uxtb.w r8, r2 70032aa6: d26d bcs.n 70032b84 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x198> 70032aa8: 005a lsls r2, r3, #1 70032aaa: f04f 0a03 mov.w sl, #3 70032aae: f04f 0904 mov.w r9, #4 70032ab2: f8df b1d4 ldr.w fp, [pc, #468] @ 70032c88 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x29c> 70032ab6: f102 3cff add.w ip, r2, #4294967295 @ 0xffffffff 70032aba: 920e str r2, [sp, #56] @ 0x38 70032abc: 469e mov lr, r3 70032abe: 900f str r0, [sp, #60] @ 0x3c 70032ac0: ea4f 0c5c mov.w ip, ip, lsr #1 70032ac4: f10c 0201 add.w r2, ip, #1 70032ac8: 9210 str r2, [sp, #64] @ 0x40 70032aca: 0052 lsls r2, r2, #1 70032acc: 9211 str r2, [sp, #68] @ 0x44 70032ace: 4642 mov r2, r8 70032ad0: 9b0e ldr r3, [sp, #56] @ 0x38 70032ad2: eb07 0803 add.w r8, r7, r3 70032ad6: 45b8 cmp r8, r7 70032ad8: d948 bls.n 70032b6c <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x180> 70032ada: f101 3cff add.w ip, r1, #4294967295 @ 0xffffffff 70032ade: 463e mov r6, r7 70032ae0: 910d str r1, [sp, #52] @ 0x34 70032ae2: e9cd e70b strd lr, r7, [sp, #44] @ 0x2c 70032ae6: f81c 1f01 ldrb.w r1, [ip, #1]! 70032aea: 8833 ldrh r3, [r6, #0] 70032aec: fb1a 9101 smlabb r1, sl, r1, r9 70032af0: 1867 adds r7, r4, r1 70032af2: f814 e001 ldrb.w lr, [r4, r1] 70032af6: 0a19 lsrs r1, r3, #8 70032af8: 78b8 ldrb r0, [r7, #2] 70032afa: f001 01f8 and.w r1, r1, #248 @ 0xf8 70032afe: 787f ldrb r7, [r7, #1] 70032b00: fb10 f005 smulbb r0, r0, r5 70032b04: fb17 f705 smulbb r7, r7, r5 70032b08: fb01 0002 mla r0, r1, r2, r0 70032b0c: 08d9 lsrs r1, r3, #3 70032b0e: 00db lsls r3, r3, #3 70032b10: f001 01fc and.w r1, r1, #252 @ 0xfc 70032b14: b280 uxth r0, r0 70032b16: b2db uxtb r3, r3 70032b18: fb01 7102 mla r1, r1, r2, r7 70032b1c: 1c47 adds r7, r0, #1 70032b1e: fb13 f302 smulbb r3, r3, r2 70032b22: b289 uxth r1, r1 70032b24: fb0e 3305 mla r3, lr, r5, r3 70032b28: eb07 2710 add.w r7, r7, r0, lsr #8 70032b2c: 1c48 adds r0, r1, #1 70032b2e: f407 477f and.w r7, r7, #65280 @ 0xff00 70032b32: eb00 2011 add.w r0, r0, r1, lsr #8 70032b36: b299 uxth r1, r3 70032b38: f3c3 2307 ubfx r3, r3, #8, #8 70032b3c: 0940 lsrs r0, r0, #5 70032b3e: ea07 070b and.w r7, r7, fp 70032b42: 3101 adds r1, #1 70032b44: f400 60fc and.w r0, r0, #2016 @ 0x7e0 70032b48: 440b add r3, r1 70032b4a: 4338 orrs r0, r7 70032b4c: f3c3 23c4 ubfx r3, r3, #11, #5 70032b50: 4303 orrs r3, r0 70032b52: f826 3b02 strh.w r3, [r6], #2 70032b56: 45b0 cmp r8, r6 70032b58: d8c5 bhi.n 70032ae6 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0xfa> 70032b5a: 9b11 ldr r3, [sp, #68] @ 0x44 70032b5c: 990d ldr r1, [sp, #52] @ 0x34 70032b5e: e9dd e70b ldrd lr, r7, [sp, #44] @ 0x2c 70032b62: 441f add r7, r3 70032b64: 9b10 ldr r3, [sp, #64] @ 0x40 70032b66: 4419 add r1, r3 70032b68: 4b44 ldr r3, [pc, #272] @ (70032c7c <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x290>) 70032b6a: 881e ldrh r6, [r3, #0] 70032b6c: eba6 030e sub.w r3, r6, lr 70032b70: eb07 0743 add.w r7, r7, r3, lsl #1 70032b74: f9bd 304c ldrsh.w r3, [sp, #76] @ 0x4c 70032b78: eba3 030e sub.w r3, r3, lr 70032b7c: 4419 add r1, r3 70032b7e: 9b0f ldr r3, [sp, #60] @ 0x3c 70032b80: 42bb cmp r3, r7 70032b82: d8a5 bhi.n 70032ad0 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0xe4> 70032b84: 4b3b ldr r3, [pc, #236] @ (70032c74 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x288>) 70032b86: 6818 ldr r0, [r3, #0] 70032b88: 6803 ldr r3, [r0, #0] 70032b8a: 6b1b ldr r3, [r3, #48] @ 0x30 70032b8c: 4798 blx r3 70032b8e: b017 add sp, #92 @ 0x5c 70032b90: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70032b94: eb07 0a48 add.w sl, r7, r8, lsl #1 70032b98: 4557 cmp r7, sl 70032b9a: d2f3 bcs.n 70032b84 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x198> 70032b9c: 0058 lsls r0, r3, #1 70032b9e: f04f 0903 mov.w r9, #3 70032ba2: f04f 0804 mov.w r8, #4 70032ba6: f8df e0e0 ldr.w lr, [pc, #224] @ 70032c88 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x29c> 70032baa: 1e42 subs r2, r0, #1 70032bac: 0852 lsrs r2, r2, #1 70032bae: f102 0b01 add.w fp, r2, #1 70032bb2: ea4f 024b mov.w r2, fp, lsl #1 70032bb6: 46dc mov ip, fp 70032bb8: e9cd 020c strd r0, r2, [sp, #48] @ 0x30 70032bbc: 9a0c ldr r2, [sp, #48] @ 0x30 70032bbe: eb07 0b02 add.w fp, r7, r2 70032bc2: 45bb cmp fp, r7 70032bc4: d91c bls.n 70032c00 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x214> 70032bc6: 1e4e subs r6, r1, #1 70032bc8: 463d mov r5, r7 70032bca: 930b str r3, [sp, #44] @ 0x2c 70032bcc: f816 2f01 ldrb.w r2, [r6, #1]! 70032bd0: fb19 8202 smlabb r2, r9, r2, r8 70032bd4: 18a3 adds r3, r4, r2 70032bd6: 5ca0 ldrb r0, [r4, r2] 70032bd8: 785a ldrb r2, [r3, #1] 70032bda: 789b ldrb r3, [r3, #2] 70032bdc: 00d2 lsls r2, r2, #3 70032bde: ea0e 2303 and.w r3, lr, r3, lsl #8 70032be2: f402 62fc and.w r2, r2, #2016 @ 0x7e0 70032be6: 4313 orrs r3, r2 70032be8: ea43 03d0 orr.w r3, r3, r0, lsr #3 70032bec: f825 3b02 strh.w r3, [r5], #2 70032bf0: 45ab cmp fp, r5 70032bf2: d8eb bhi.n 70032bcc <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x1e0> 70032bf4: 9a0d ldr r2, [sp, #52] @ 0x34 70032bf6: 4461 add r1, ip 70032bf8: 9b0b ldr r3, [sp, #44] @ 0x2c 70032bfa: 4417 add r7, r2 70032bfc: 4a1f ldr r2, [pc, #124] @ (70032c7c <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x290>) 70032bfe: 8816 ldrh r6, [r2, #0] 70032c00: 1af2 subs r2, r6, r3 70032c02: eb07 0742 add.w r7, r7, r2, lsl #1 70032c06: f9bd 204c ldrsh.w r2, [sp, #76] @ 0x4c 70032c0a: 45ba cmp sl, r7 70032c0c: eba2 0203 sub.w r2, r2, r3 70032c10: 4411 add r1, r2 70032c12: d8d3 bhi.n 70032bbc <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x1d0> 70032c14: e7b6 b.n 70032b84 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x198> 70032c16: e9cd 310b strd r3, r1, [sp, #44] @ 0x2c 70032c1a: 4790 blx r2 70032c1c: e9dd 310b ldrd r3, r1, [sp, #44] @ 0x2c 70032c20: 2801 cmp r0, #1 70032c22: d00a beq.n 70032c3a <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x24e> 70032c24: 4a13 ldr r2, [pc, #76] @ (70032c74 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x288>) 70032c26: 6810 ldr r0, [r2, #0] 70032c28: 6806 ldr r6, [r0, #0] 70032c2a: e722 b.n 70032a72 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x86> 70032c2c: e9cd 310b strd r3, r1, [sp, #44] @ 0x2c 70032c30: 4638 mov r0, r7 70032c32: 4790 blx r2 70032c34: e9dd 310b ldrd r3, r1, [sp, #44] @ 0x2c 70032c38: e7f2 b.n 70032c20 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x234> 70032c3a: f8bd 004c ldrh.w r0, [sp, #76] @ 0x4c 70032c3e: b29b uxth r3, r3 70032c40: 9504 str r5, [sp, #16] 70032c42: fa1f f588 uxth.w r5, r8 70032c46: 9003 str r0, [sp, #12] 70032c48: 4622 mov r2, r4 70032c4a: f8bd 0052 ldrh.w r0, [sp, #82] @ 0x52 70032c4e: 240b movs r4, #11 70032c50: 9000 str r0, [sp, #0] 70032c52: 480a ldr r0, [pc, #40] @ (70032c7c <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x290>) 70032c54: e9cd 3501 strd r3, r5, [sp, #4] 70032c58: 8800 ldrh r0, [r0, #0] 70032c5a: f8bd 3050 ldrh.w r3, [sp, #80] @ 0x50 70032c5e: 9006 str r0, [sp, #24] 70032c60: 2000 movs r0, #0 70032c62: 9407 str r4, [sp, #28] 70032c64: 9008 str r0, [sp, #32] 70032c66: 9005 str r0, [sp, #20] 70032c68: 4805 ldr r0, [pc, #20] @ (70032c80 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0x294>) 70032c6a: 6800 ldr r0, [r0, #0] 70032c6c: f7f9 fad4 bl 7002c218 <_ZN8touchgfx8HALGPU2D13dma2dBlitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_> 70032c70: e6c2 b.n 700329f8 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h+0xc> 70032c72: bf00 nop 70032c74: 2400da80 .word 0x2400da80 70032c78: 700018fb .word 0x700018fb 70032c7c: 2400da78 .word 0x2400da78 70032c80: 2400e0dc .word 0x2400e0dc 70032c84: 7000f5b5 .word 0x7000f5b5 70032c88: fffff800 .word 0xfffff800 70032c8c <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h>: 70032c8c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70032c90: b093 sub sp, #76 @ 0x4c 70032c92: 6818 ldr r0, [r3, #0] 70032c94: 461f mov r7, r3 70032c96: 460e mov r6, r1 70032c98: f8dd c070 ldr.w ip, [sp, #112] @ 0x70 70032c9c: 4615 mov r5, r2 70032c9e: 6859 ldr r1, [r3, #4] 70032ca0: ab0e add r3, sp, #56 @ 0x38 70032ca2: f89d 4074 ldrb.w r4, [sp, #116] @ 0x74 70032ca6: c303 stmia r3!, {r0, r1} 70032ca8: f8dc 0000 ldr.w r0, [ip] 70032cac: f8dc 1004 ldr.w r1, [ip, #4] 70032cb0: c303 stmia r3!, {r0, r1} 70032cb2: a80e add r0, sp, #56 @ 0x38 70032cb4: f7de f888 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70032cb8: 4639 mov r1, r7 70032cba: a810 add r0, sp, #64 @ 0x40 70032cbc: f7de f8c8 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 70032cc0: f9bd 2040 ldrsh.w r2, [sp, #64] @ 0x40 70032cc4: f8bd 3038 ldrh.w r3, [sp, #56] @ 0x38 70032cc8: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 70032ccc: 4413 add r3, r2 70032cce: f9bd b044 ldrsh.w fp, [sp, #68] @ 0x44 70032cd2: f8ad 3040 strh.w r3, [sp, #64] @ 0x40 70032cd6: f8bd 303a ldrh.w r3, [sp, #58] @ 0x3a 70032cda: 440b add r3, r1 70032cdc: f8ad 3042 strh.w r3, [sp, #66] @ 0x42 70032ce0: f8bd 303c ldrh.w r3, [sp, #60] @ 0x3c 70032ce4: fb13 2301 smlabb r3, r3, r1, r2 70032ce8: 4980 ldr r1, [pc, #512] @ (70032eec <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x260>) 70032cea: 441e add r6, r3 70032cec: 4b80 ldr r3, [pc, #512] @ (70032ef0 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x264>) 70032cee: 6818 ldr r0, [r3, #0] 70032cf0: f9bd 3046 ldrsh.w r3, [sp, #70] @ 0x46 70032cf4: 6802 ldr r2, [r0, #0] 70032cf6: 930c str r3, [sp, #48] @ 0x30 70032cf8: f8d2 30ac ldr.w r3, [r2, #172] @ 0xac 70032cfc: 428b cmp r3, r1 70032cfe: f040 80c9 bne.w 70032e94 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x208> 70032d02: 6841 ldr r1, [r0, #4] 70032d04: 4f7b ldr r7, [pc, #492] @ (70032ef4 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x268>) 70032d06: 680b ldr r3, [r1, #0] 70032d08: 699b ldr r3, [r3, #24] 70032d0a: 42bb cmp r3, r7 70032d0c: f040 80c9 bne.w 70032ea2 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x216> 70032d10: 6ad3 ldr r3, [r2, #44] @ 0x2c 70032d12: 4798 blx r3 70032d14: 4a78 ldr r2, [pc, #480] @ (70032ef8 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x26c>) 70032d16: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 70032d1a: f9bd 3040 ldrsh.w r3, [sp, #64] @ 0x40 70032d1e: 8812 ldrh r2, [r2, #0] 70032d20: fb01 3302 mla r3, r1, r2, r3 70032d24: eb00 0a83 add.w sl, r0, r3, lsl #2 70032d28: 9b0c ldr r3, [sp, #48] @ 0x30 70032d2a: 2b00 cmp r3, #0 70032d2c: dd75 ble.n 70032e1a <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x18e> 70032d2e: f1bb 0f00 cmp.w fp, #0 70032d32: dd72 ble.n 70032e1a <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x18e> 70032d34: 2cff cmp r4, #255 @ 0xff 70032d36: d078 beq.n 70032e2a <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x19e> 70032d38: f1c4 01ff rsb r1, r4, #255 @ 0xff 70032d3c: ea4f 0e8b mov.w lr, fp, lsl #2 70032d40: 2000 movs r0, #0 70032d42: f04f 0903 mov.w r9, #3 70032d46: b289 uxth r1, r1 70032d48: f04f 0804 mov.w r8, #4 70032d4c: 46dc mov ip, fp 70032d4e: 4652 mov r2, sl 70032d50: f8cd e034 str.w lr, [sp, #52] @ 0x34 70032d54: 1d13 adds r3, r2, #4 70032d56: 46b6 mov lr, r6 70032d58: eb06 0a0c add.w sl, r6, ip 70032d5c: e9cd c20a strd ip, r2, [sp, #40] @ 0x28 70032d60: f81e 2b01 ldrb.w r2, [lr], #1 70032d64: 3304 adds r3, #4 70032d66: f813 7c08 ldrb.w r7, [r3, #-8] 70032d6a: fb19 8202 smlabb r2, r9, r2, r8 70032d6e: 45f2 cmp sl, lr 70032d70: fb17 f701 smulbb r7, r7, r1 70032d74: f815 c002 ldrb.w ip, [r5, r2] 70032d78: 442a add r2, r5 70032d7a: fb0c 7704 mla r7, ip, r4, r7 70032d7e: f813 cc07 ldrb.w ip, [r3, #-7] 70032d82: fb1c fc01 smulbb ip, ip, r1 70032d86: b2bf uxth r7, r7 70032d88: f107 0b01 add.w fp, r7, #1 70032d8c: eb0b 2b17 add.w fp, fp, r7, lsr #8 70032d90: ea4f 2b2b mov.w fp, fp, asr #8 70032d94: f803 bc08 strb.w fp, [r3, #-8] 70032d98: 7857 ldrb r7, [r2, #1] 70032d9a: fb07 cc04 mla ip, r7, r4, ip 70032d9e: f813 7c06 ldrb.w r7, [r3, #-6] 70032da2: fb17 f701 smulbb r7, r7, r1 70032da6: fa1f fc8c uxth.w ip, ip 70032daa: f10c 0b01 add.w fp, ip, #1 70032dae: eb0b 2b1c add.w fp, fp, ip, lsr #8 70032db2: ea4f 2b2b mov.w fp, fp, asr #8 70032db6: f803 bc07 strb.w fp, [r3, #-7] 70032dba: f892 c002 ldrb.w ip, [r2, #2] 70032dbe: f813 bc05 ldrb.w fp, [r3, #-5] 70032dc2: fb0c 7704 mla r7, ip, r4, r7 70032dc6: fb1b fb01 smulbb fp, fp, r1 70032dca: b2bf uxth r7, r7 70032dcc: f107 0c01 add.w ip, r7, #1 70032dd0: eb0c 2c17 add.w ip, ip, r7, lsr #8 70032dd4: ea4f 2c2c mov.w ip, ip, asr #8 70032dd8: f803 cc06 strb.w ip, [r3, #-6] 70032ddc: 78d2 ldrb r2, [r2, #3] 70032dde: fb02 b204 mla r2, r2, r4, fp 70032de2: b297 uxth r7, r2 70032de4: f3c2 2207 ubfx r2, r2, #8, #8 70032de8: f107 0701 add.w r7, r7, #1 70032dec: 443a add r2, r7 70032dee: ea4f 2222 mov.w r2, r2, asr #8 70032df2: f803 2c05 strb.w r2, [r3, #-5] 70032df6: d1b3 bne.n 70032d60 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0xd4> 70032df8: 4b3f ldr r3, [pc, #252] @ (70032ef8 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x26c>) 70032dfa: 3001 adds r0, #1 70032dfc: 9f0d ldr r7, [sp, #52] @ 0x34 70032dfe: 881b ldrh r3, [r3, #0] 70032e00: e9dd c20a ldrd ip, r2, [sp, #40] @ 0x28 70032e04: eba3 030c sub.w r3, r3, ip 70032e08: eb07 0383 add.w r3, r7, r3, lsl #2 70032e0c: 441a add r2, r3 70032e0e: f9bd 303c ldrsh.w r3, [sp, #60] @ 0x3c 70032e12: 441e add r6, r3 70032e14: 9b0c ldr r3, [sp, #48] @ 0x30 70032e16: 4283 cmp r3, r0 70032e18: d19c bne.n 70032d54 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0xc8> 70032e1a: 4b35 ldr r3, [pc, #212] @ (70032ef0 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x264>) 70032e1c: 6818 ldr r0, [r3, #0] 70032e1e: 6803 ldr r3, [r0, #0] 70032e20: 6b1b ldr r3, [r3, #48] @ 0x30 70032e22: 4798 blx r3 70032e24: b013 add sp, #76 @ 0x4c 70032e26: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70032e2a: 4699 mov r9, r3 70032e2c: ea4f 088b mov.w r8, fp, lsl #2 70032e30: f04f 0e00 mov.w lr, #0 70032e34: f04f 0c03 mov.w ip, #3 70032e38: 2704 movs r7, #4 70032e3a: f10a 0204 add.w r2, sl, #4 70032e3e: 4631 mov r1, r6 70032e40: eb06 000b add.w r0, r6, fp 70032e44: f8cd b028 str.w fp, [sp, #40] @ 0x28 70032e48: f811 3b01 ldrb.w r3, [r1], #1 70032e4c: 3204 adds r2, #4 70032e4e: fb1c 7303 smlabb r3, ip, r3, r7 70032e52: 4288 cmp r0, r1 70032e54: f815 b003 ldrb.w fp, [r5, r3] 70032e58: 442b add r3, r5 70032e5a: f802 bc08 strb.w fp, [r2, #-8] 70032e5e: f893 b001 ldrb.w fp, [r3, #1] 70032e62: f802 bc07 strb.w fp, [r2, #-7] 70032e66: 789b ldrb r3, [r3, #2] 70032e68: f802 4c05 strb.w r4, [r2, #-5] 70032e6c: f802 3c06 strb.w r3, [r2, #-6] 70032e70: d1ea bne.n 70032e48 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1bc> 70032e72: 4b21 ldr r3, [pc, #132] @ (70032ef8 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x26c>) 70032e74: f10e 0e01 add.w lr, lr, #1 70032e78: f8dd b028 ldr.w fp, [sp, #40] @ 0x28 70032e7c: 881b ldrh r3, [r3, #0] 70032e7e: 45f1 cmp r9, lr 70032e80: eba3 030b sub.w r3, r3, fp 70032e84: eb08 0383 add.w r3, r8, r3, lsl #2 70032e88: 449a add sl, r3 70032e8a: f9bd 303c ldrsh.w r3, [sp, #60] @ 0x3c 70032e8e: 441e add r6, r3 70032e90: d1d3 bne.n 70032e3a <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1ae> 70032e92: e7c2 b.n 70032e1a <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x18e> 70032e94: 4798 blx r3 70032e96: 2801 cmp r0, #1 70032e98: d007 beq.n 70032eaa <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x21e> 70032e9a: 4b15 ldr r3, [pc, #84] @ (70032ef0 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x264>) 70032e9c: 6818 ldr r0, [r3, #0] 70032e9e: 6802 ldr r2, [r0, #0] 70032ea0: e736 b.n 70032d10 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x84> 70032ea2: 4608 mov r0, r1 70032ea4: 4798 blx r3 70032ea6: 2801 cmp r0, #1 70032ea8: d1f7 bne.n 70032e9a <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x20e> 70032eaa: f8bd 003c ldrh.w r0, [sp, #60] @ 0x3c 70032eae: fa1f f38b uxth.w r3, fp 70032eb2: 9404 str r4, [sp, #16] 70032eb4: 462a mov r2, r5 70032eb6: 9003 str r0, [sp, #12] 70032eb8: 4631 mov r1, r6 70032eba: f8bd 0042 ldrh.w r0, [sp, #66] @ 0x42 70032ebe: f8bd 4030 ldrh.w r4, [sp, #48] @ 0x30 70032ec2: 9000 str r0, [sp, #0] 70032ec4: 480c ldr r0, [pc, #48] @ (70032ef8 <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x26c>) 70032ec6: e9cd 3401 strd r3, r4, [sp, #4] 70032eca: 2400 movs r4, #0 70032ecc: 8800 ldrh r0, [r0, #0] 70032ece: f8bd 3040 ldrh.w r3, [sp, #64] @ 0x40 70032ed2: e9cd 4005 strd r4, r0, [sp, #20] 70032ed6: 2402 movs r4, #2 70032ed8: 4808 ldr r0, [pc, #32] @ (70032efc <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x270>) 70032eda: 6800 ldr r0, [r0, #0] 70032edc: 9408 str r4, [sp, #32] 70032ede: 240b movs r4, #11 70032ee0: 9407 str r4, [sp, #28] 70032ee2: f7f9 f999 bl 7002c218 <_ZN8touchgfx8HALGPU2D13dma2dBlitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_> 70032ee6: b013 add sp, #76 @ 0x4c 70032ee8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70032eec: 700018fb .word 0x700018fb 70032ef0: 2400da80 .word 0x2400da80 70032ef4: 7000f5b5 .word 0x7000f5b5 70032ef8: 2400da78 .word 0x2400da78 70032efc: 2400e0dc .word 0x2400e0dc 70032f00 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h>: 70032f00: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70032f04: b095 sub sp, #84 @ 0x54 70032f06: 6818 ldr r0, [r3, #0] 70032f08: 461c mov r4, r3 70032f0a: 460e mov r6, r1 70032f0c: 9f1e ldr r7, [sp, #120] @ 0x78 70032f0e: 4693 mov fp, r2 70032f10: 6859 ldr r1, [r3, #4] 70032f12: ab10 add r3, sp, #64 @ 0x40 70032f14: f89d 807c ldrb.w r8, [sp, #124] @ 0x7c 70032f18: f10b 0b04 add.w fp, fp, #4 70032f1c: c303 stmia r3!, {r0, r1} 70032f1e: 6838 ldr r0, [r7, #0] 70032f20: 6879 ldr r1, [r7, #4] 70032f22: c303 stmia r3!, {r0, r1} 70032f24: a810 add r0, sp, #64 @ 0x40 70032f26: f7dd ff4f bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70032f2a: 4621 mov r1, r4 70032f2c: a812 add r0, sp, #72 @ 0x48 70032f2e: f7dd ff8f bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 70032f32: f9bd 0048 ldrsh.w r0, [sp, #72] @ 0x48 70032f36: f9bd 204a ldrsh.w r2, [sp, #74] @ 0x4a 70032f3a: f000 0301 and.w r3, r0, #1 70032f3e: f9bd 404e ldrsh.w r4, [sp, #78] @ 0x4e 70032f42: 930a str r3, [sp, #40] @ 0x28 70032f44: f9bd 3044 ldrsh.w r3, [sp, #68] @ 0x44 70032f48: f003 0101 and.w r1, r3, #1 70032f4c: 440b add r3, r1 70032f4e: 910b str r1, [sp, #44] @ 0x2c 70032f50: fb02 0303 mla r3, r2, r3, r0 70032f54: 2b00 cmp r3, #0 70032f56: bfb8 it lt 70032f58: 3301 addlt r3, #1 70032f5a: eb06 0363 add.w r3, r6, r3, asr #1 70032f5e: 9305 str r3, [sp, #20] 70032f60: f8bd 3040 ldrh.w r3, [sp, #64] @ 0x40 70032f64: 4418 add r0, r3 70032f66: f8bd 3042 ldrh.w r3, [sp, #66] @ 0x42 70032f6a: 441a add r2, r3 70032f6c: f9bd 304c ldrsh.w r3, [sp, #76] @ 0x4c 70032f70: f8ad 0048 strh.w r0, [sp, #72] @ 0x48 70032f74: 930c str r3, [sp, #48] @ 0x30 70032f76: 4bc6 ldr r3, [pc, #792] @ (70033290 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x390>) 70032f78: f8ad 204a strh.w r2, [sp, #74] @ 0x4a 70032f7c: 6818 ldr r0, [r3, #0] 70032f7e: 6803 ldr r3, [r0, #0] 70032f80: 6adb ldr r3, [r3, #44] @ 0x2c 70032f82: 4798 blx r3 70032f84: 4bc3 ldr r3, [pc, #780] @ (70033294 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x394>) 70032f86: f9bd 104a ldrsh.w r1, [sp, #74] @ 0x4a 70032f8a: f1b8 0fff cmp.w r8, #255 @ 0xff 70032f8e: 881b ldrh r3, [r3, #0] 70032f90: f9bd 2048 ldrsh.w r2, [sp, #72] @ 0x48 70032f94: fb03 f404 mul.w r4, r3, r4 70032f98: fb03 2201 mla r2, r3, r1, r2 70032f9c: eb00 0182 add.w r1, r0, r2, lsl #2 70032fa0: eb01 0284 add.w r2, r1, r4, lsl #2 70032fa4: 9209 str r2, [sp, #36] @ 0x24 70032fa6: f000 80d6 beq.w 70033156 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x256> 70032faa: 4291 cmp r1, r2 70032fac: d27a bcs.n 700330a4 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1a4> 70032fae: 9a0c ldr r2, [sp, #48] @ 0x30 70032fb0: ea4f 6008 mov.w r0, r8, lsl #24 70032fb4: 9104 str r1, [sp, #16] 70032fb6: 1a9b subs r3, r3, r2 70032fb8: 3a01 subs r2, #1 70032fba: 9003 str r0, [sp, #12] 70032fbc: 009b lsls r3, r3, #2 70032fbe: 920e str r2, [sp, #56] @ 0x38 70032fc0: 930d str r3, [sp, #52] @ 0x34 70032fc2: 3304 adds r3, #4 70032fc4: 930f str r3, [sp, #60] @ 0x3c 70032fc6: 9b0a ldr r3, [sp, #40] @ 0x28 70032fc8: 9c05 ldr r4, [sp, #20] 70032fca: 2b00 cmp r3, #0 70032fcc: f040 80a7 bne.w 7003311e <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x21e> 70032fd0: 9d0c ldr r5, [sp, #48] @ 0x30 70032fd2: 2d01 cmp r5, #1 70032fd4: dd52 ble.n 7003307c <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x17c> 70032fd6: 3d02 subs r5, #2 70032fd8: 9a04 ldr r2, [sp, #16] 70032fda: f104 3aff add.w sl, r4, #4294967295 @ 0xffffffff 70032fde: ea4f 0955 mov.w r9, r5, lsr #1 70032fe2: f102 030c add.w r3, r2, #12 70032fe6: 1d17 adds r7, r2, #4 70032fe8: 9508 str r5, [sp, #32] 70032fea: eb03 03c9 add.w r3, r3, r9, lsl #3 70032fee: e9cd 4906 strd r4, r9, [sp, #24] 70032ff2: 46d1 mov r9, sl 70032ff4: 9302 str r3, [sp, #8] 70032ff6: f819 4f01 ldrb.w r4, [r9, #1]! 70032ffa: 4642 mov r2, r8 70032ffc: f857 3c04 ldr.w r3, [r7, #-4] 70033000: 4639 mov r1, r7 70033002: 0924 lsrs r4, r4, #4 70033004: f3c3 4a07 ubfx sl, r3, #16, #8 70033008: fa5f fe83 uxtb.w lr, r3 7003300c: eb04 0444 add.w r4, r4, r4, lsl #1 70033010: eb0b 0004 add.w r0, fp, r4 70033014: f81b 5004 ldrb.w r5, [fp, r4] 70033018: 9c03 ldr r4, [sp, #12] 7003301a: fb18 fc05 smulbb ip, r8, r5 7003301e: 4325 orrs r5, r4 70033020: f3c3 2407 ubfx r4, r3, #8, #8 70033024: 0e1b lsrs r3, r3, #24 70033026: 9401 str r4, [sp, #4] 70033028: 7844 ldrb r4, [r0, #1] 7003302a: fb08 f603 mul.w r6, r8, r3 7003302e: 7880 ldrb r0, [r0, #2] 70033030: ea45 4500 orr.w r5, r5, r0, lsl #16 70033034: fb18 f000 smulbb r0, r8, r0 70033038: ea45 2504 orr.w r5, r5, r4, lsl #8 7003303c: fb18 f404 smulbb r4, r8, r4 70033040: d138 bne.n 700330b4 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1b4> 70033042: f847 5c04 str.w r5, [r7, #-4] 70033046: 3708 adds r7, #8 70033048: f899 0000 ldrb.w r0, [r9] 7003304c: f000 000f and.w r0, r0, #15 70033050: eb00 0040 add.w r0, r0, r0, lsl #1 70033054: 4458 add r0, fp 70033056: f7fe f9f1 bl 7003143c <_ZNK8touchgfx12LCDGPU2D_AXI22blendPixelRGB888_32BPPEPKhPmh.constprop.0> 7003305a: 9b02 ldr r3, [sp, #8] 7003305c: 42bb cmp r3, r7 7003305e: d1ca bne.n 70032ff6 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0xf6> 70033060: 9a04 ldr r2, [sp, #16] 70033062: 9d08 ldr r5, [sp, #32] 70033064: e9dd 4906 ldrd r4, r9, [sp, #24] 70033068: f109 0301 add.w r3, r9, #1 7003306c: ebc9 79c9 rsb r9, r9, r9, lsl #31 70033070: eb02 02c3 add.w r2, r2, r3, lsl #3 70033074: 441c add r4, r3 70033076: eb05 0549 add.w r5, r5, r9, lsl #1 7003307a: 9204 str r2, [sp, #16] 7003307c: 2d01 cmp r5, #1 7003307e: d05e beq.n 7003313e <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x23e> 70033080: 9b04 ldr r3, [sp, #16] 70033082: 9a0d ldr r2, [sp, #52] @ 0x34 70033084: 4413 add r3, r2 70033086: 9a0b ldr r2, [sp, #44] @ 0x2c 70033088: 9304 str r3, [sp, #16] 7003308a: f9bd 3044 ldrsh.w r3, [sp, #68] @ 0x44 7003308e: 189b adds r3, r3, r2 70033090: 9a05 ldr r2, [sp, #20] 70033092: bf48 it mi 70033094: 3301 addmi r3, #1 70033096: eb02 0363 add.w r3, r2, r3, asr #1 7003309a: 9a04 ldr r2, [sp, #16] 7003309c: 9305 str r3, [sp, #20] 7003309e: 9b09 ldr r3, [sp, #36] @ 0x24 700330a0: 4293 cmp r3, r2 700330a2: d890 bhi.n 70032fc6 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0xc6> 700330a4: 4b7a ldr r3, [pc, #488] @ (70033290 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x390>) 700330a6: 6818 ldr r0, [r3, #0] 700330a8: 6803 ldr r3, [r0, #0] 700330aa: 6b1b ldr r3, [r3, #48] @ 0x30 700330ac: 4798 blx r3 700330ae: b015 add sp, #84 @ 0x54 700330b0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700330b4: 1c75 adds r5, r6, #1 700330b6: f3c6 260f ubfx r6, r6, #8, #16 700330ba: eb08 0103 add.w r1, r8, r3 700330be: fa16 f685 uxtah r6, r6, r5 700330c2: eba3 2326 sub.w r3, r3, r6, asr #8 700330c6: eba1 2626 sub.w r6, r1, r6, asr #8 700330ca: 9901 ldr r1, [sp, #4] 700330cc: fb03 000a mla r0, r3, sl, r0 700330d0: b2f6 uxtb r6, r6 700330d2: fb03 4401 mla r4, r3, r1, r4 700330d6: fb03 c30e mla r3, r3, lr, ip 700330da: 4639 mov r1, r7 700330dc: 3708 adds r7, #8 700330de: fbb0 f0f6 udiv r0, r0, r6 700330e2: fbb4 f4f6 udiv r4, r4, r6 700330e6: 0400 lsls r0, r0, #16 700330e8: 0224 lsls r4, r4, #8 700330ea: f400 007f and.w r0, r0, #16711680 @ 0xff0000 700330ee: b2a4 uxth r4, r4 700330f0: fbb3 f3f6 udiv r3, r3, r6 700330f4: 4320 orrs r0, r4 700330f6: b2db uxtb r3, r3 700330f8: ea40 6006 orr.w r0, r0, r6, lsl #24 700330fc: 4318 orrs r0, r3 700330fe: f847 0c0c str.w r0, [r7, #-12] 70033102: f899 0000 ldrb.w r0, [r9] 70033106: f000 000f and.w r0, r0, #15 7003310a: eb00 0040 add.w r0, r0, r0, lsl #1 7003310e: 4458 add r0, fp 70033110: f7fe f994 bl 7003143c <_ZNK8touchgfx12LCDGPU2D_AXI22blendPixelRGB888_32BPPEPKhPmh.constprop.0> 70033114: 9b02 ldr r3, [sp, #8] 70033116: 429f cmp r7, r3 70033118: f47f af6d bne.w 70032ff6 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0xf6> 7003311c: e7a0 b.n 70033060 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x160> 7003311e: f814 0b01 ldrb.w r0, [r4], #1 70033122: 4642 mov r2, r8 70033124: 9904 ldr r1, [sp, #16] 70033126: f000 000f and.w r0, r0, #15 7003312a: eb00 0040 add.w r0, r0, r0, lsl #1 7003312e: 4458 add r0, fp 70033130: f7fe f984 bl 7003143c <_ZNK8touchgfx12LCDGPU2D_AXI22blendPixelRGB888_32BPPEPKhPmh.constprop.0> 70033134: 460b mov r3, r1 70033136: 9d0e ldr r5, [sp, #56] @ 0x38 70033138: 3304 adds r3, #4 7003313a: 9304 str r3, [sp, #16] 7003313c: e749 b.n 70032fd2 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0xd2> 7003313e: 7820 ldrb r0, [r4, #0] 70033140: 4642 mov r2, r8 70033142: 9904 ldr r1, [sp, #16] 70033144: 0900 lsrs r0, r0, #4 70033146: eb00 0040 add.w r0, r0, r0, lsl #1 7003314a: 4458 add r0, fp 7003314c: f7fe f976 bl 7003143c <_ZNK8touchgfx12LCDGPU2D_AXI22blendPixelRGB888_32BPPEPKhPmh.constprop.0> 70033150: 460b mov r3, r1 70033152: 9a0f ldr r2, [sp, #60] @ 0x3c 70033154: e796 b.n 70033084 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x184> 70033156: 4291 cmp r1, r2 70033158: d2a4 bcs.n 700330a4 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1a4> 7003315a: 9a0c ldr r2, [sp, #48] @ 0x30 7003315c: f8dd a014 ldr.w sl, [sp, #20] 70033160: 1a9b subs r3, r3, r2 70033162: f102 3eff add.w lr, r2, #4294967295 @ 0xffffffff 70033166: 46d4 mov ip, sl 70033168: 009c lsls r4, r3, #2 7003316a: 9b0a ldr r3, [sp, #40] @ 0x28 7003316c: f104 0804 add.w r8, r4, #4 70033170: 2b00 cmp r3, #0 70033172: d071 beq.n 70033258 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x358> 70033174: f81c 3b01 ldrb.w r3, [ip], #1 70033178: 4676 mov r6, lr 7003317a: f003 030f and.w r3, r3, #15 7003317e: eb03 0343 add.w r3, r3, r3, lsl #1 70033182: eb0b 0203 add.w r2, fp, r3 70033186: f81b 0003 ldrb.w r0, [fp, r3] 7003318a: 7853 ldrb r3, [r2, #1] 7003318c: 7892 ldrb r2, [r2, #2] 7003318e: 021b lsls r3, r3, #8 70033190: ea43 4302 orr.w r3, r3, r2, lsl #16 70033194: 4303 orrs r3, r0 70033196: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 7003319a: f841 3b04 str.w r3, [r1], #4 7003319e: 2e01 cmp r6, #1 700331a0: dd48 ble.n 70033234 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x334> 700331a2: f1a6 0902 sub.w r9, r6, #2 700331a6: f101 0710 add.w r7, r1, #16 700331aa: f101 0208 add.w r2, r1, #8 700331ae: f10c 30ff add.w r0, ip, #4294967295 @ 0xffffffff 700331b2: ea4f 0659 mov.w r6, r9, lsr #1 700331b6: f8cd c004 str.w ip, [sp, #4] 700331ba: eb07 07c6 add.w r7, r7, r6, lsl #3 700331be: f810 3f01 ldrb.w r3, [r0, #1]! 700331c2: 3208 adds r2, #8 700331c4: 091b lsrs r3, r3, #4 700331c6: 42ba cmp r2, r7 700331c8: eb03 0343 add.w r3, r3, r3, lsl #1 700331cc: eb0b 0c03 add.w ip, fp, r3 700331d0: f81b 5003 ldrb.w r5, [fp, r3] 700331d4: f89c 3001 ldrb.w r3, [ip, #1] 700331d8: f89c c002 ldrb.w ip, [ip, #2] 700331dc: ea4f 2303 mov.w r3, r3, lsl #8 700331e0: ea43 430c orr.w r3, r3, ip, lsl #16 700331e4: ea43 0305 orr.w r3, r3, r5 700331e8: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 700331ec: f842 3c10 str.w r3, [r2, #-16] 700331f0: 7803 ldrb r3, [r0, #0] 700331f2: f003 030f and.w r3, r3, #15 700331f6: eb03 0343 add.w r3, r3, r3, lsl #1 700331fa: eb0b 0c03 add.w ip, fp, r3 700331fe: f81b 5003 ldrb.w r5, [fp, r3] 70033202: f89c 3001 ldrb.w r3, [ip, #1] 70033206: f89c c002 ldrb.w ip, [ip, #2] 7003320a: ea4f 2303 mov.w r3, r3, lsl #8 7003320e: ea43 430c orr.w r3, r3, ip, lsl #16 70033212: ea43 0305 orr.w r3, r3, r5 70033216: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 7003321a: f842 3c0c str.w r3, [r2, #-12] 7003321e: d1ce bne.n 700331be <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x2be> 70033220: 1c73 adds r3, r6, #1 70033222: f8dd c004 ldr.w ip, [sp, #4] 70033226: ebc6 76c6 rsb r6, r6, r6, lsl #31 7003322a: 449c add ip, r3 7003322c: eb01 01c3 add.w r1, r1, r3, lsl #3 70033230: eb09 0646 add.w r6, r9, r6, lsl #1 70033234: 2e01 cmp r6, #1 70033236: d011 beq.n 7003325c <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x35c> 70033238: f9bd 3044 ldrsh.w r3, [sp, #68] @ 0x44 7003323c: 4421 add r1, r4 7003323e: 9a0b ldr r2, [sp, #44] @ 0x2c 70033240: 189b adds r3, r3, r2 70033242: d423 bmi.n 7003328c <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x38c> 70033244: eb0a 0a63 add.w sl, sl, r3, asr #1 70033248: 9b09 ldr r3, [sp, #36] @ 0x24 7003324a: 428b cmp r3, r1 7003324c: f67f af2a bls.w 700330a4 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1a4> 70033250: 9b0a ldr r3, [sp, #40] @ 0x28 70033252: 46d4 mov ip, sl 70033254: 2b00 cmp r3, #0 70033256: d18d bne.n 70033174 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x274> 70033258: 9e0c ldr r6, [sp, #48] @ 0x30 7003325a: e7a0 b.n 7003319e <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x29e> 7003325c: f89c 3000 ldrb.w r3, [ip] 70033260: 091b lsrs r3, r3, #4 70033262: eb03 0343 add.w r3, r3, r3, lsl #1 70033266: eb0b 0203 add.w r2, fp, r3 7003326a: f81b 0003 ldrb.w r0, [fp, r3] 7003326e: 7853 ldrb r3, [r2, #1] 70033270: 7892 ldrb r2, [r2, #2] 70033272: 021b lsls r3, r3, #8 70033274: ea43 4302 orr.w r3, r3, r2, lsl #16 70033278: 9a0b ldr r2, [sp, #44] @ 0x2c 7003327a: 4303 orrs r3, r0 7003327c: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 70033280: 600b str r3, [r1, #0] 70033282: 4441 add r1, r8 70033284: f9bd 3044 ldrsh.w r3, [sp, #68] @ 0x44 70033288: 189b adds r3, r3, r2 7003328a: d5db bpl.n 70033244 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x344> 7003328c: 3301 adds r3, #1 7003328e: e7d9 b.n 70033244 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x344> 70033290: 2400da80 .word 0x2400da80 70033294: 2400da78 .word 0x2400da78 70033298 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h>: 70033298: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7003329c: b093 sub sp, #76 @ 0x4c 7003329e: 6818 ldr r0, [r3, #0] 700332a0: 461c mov r4, r3 700332a2: 468a mov sl, r1 700332a4: 9d1c ldr r5, [sp, #112] @ 0x70 700332a6: 6859 ldr r1, [r3, #4] 700332a8: ab0e add r3, sp, #56 @ 0x38 700332aa: 9205 str r2, [sp, #20] 700332ac: f89d 9074 ldrb.w r9, [sp, #116] @ 0x74 700332b0: c303 stmia r3!, {r0, r1} 700332b2: 6828 ldr r0, [r5, #0] 700332b4: 6869 ldr r1, [r5, #4] 700332b6: c303 stmia r3!, {r0, r1} 700332b8: a80e add r0, sp, #56 @ 0x38 700332ba: f7dd fd85 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 700332be: 4621 mov r1, r4 700332c0: a810 add r0, sp, #64 @ 0x40 700332c2: f7dd fdc5 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 700332c6: f9bd 103c ldrsh.w r1, [sp, #60] @ 0x3c 700332ca: f5b1 6f80 cmp.w r1, #1024 @ 0x400 700332ce: b289 uxth r1, r1 700332d0: f340 8128 ble.w 70033524 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x28c> 700332d4: 2301 movs r3, #1 700332d6: f9bd 2042 ldrsh.w r2, [sp, #66] @ 0x42 700332da: f9bd 403e ldrsh.w r4, [sp, #62] @ 0x3e 700332de: f8bd 0040 ldrh.w r0, [sp, #64] @ 0x40 700332e2: 441c add r4, r3 700332e4: fb92 f5f3 sdiv r5, r2, r3 700332e8: 3c01 subs r4, #1 700332ea: b2af uxth r7, r5 700332ec: fb94 f4f3 sdiv r4, r4, r3 700332f0: fb03 2317 mls r3, r3, r7, r2 700332f4: fb13 0301 smlabb r3, r3, r1, r0 700332f8: b29d uxth r5, r3 700332fa: b127 cbz r7, 70033306 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x6e> 700332fc: 9b05 ldr r3, [sp, #20] 700332fe: f853 3027 ldr.w r3, [r3, r7, lsl #2] 70033302: ba1b rev r3, r3 70033304: 449a add sl, r3 70033306: f8bd 3038 ldrh.w r3, [sp, #56] @ 0x38 7003330a: b2a4 uxth r4, r4 7003330c: f9bd 7044 ldrsh.w r7, [sp, #68] @ 0x44 70033310: 4418 add r0, r3 70033312: f8bd 303a ldrh.w r3, [sp, #58] @ 0x3a 70033316: 00a4 lsls r4, r4, #2 70033318: 9704 str r7, [sp, #16] 7003331a: 441a add r2, r3 7003331c: 4b84 ldr r3, [pc, #528] @ (70033530 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x298>) 7003331e: f8ad 0040 strh.w r0, [sp, #64] @ 0x40 70033322: 6818 ldr r0, [r3, #0] 70033324: f8ad 2042 strh.w r2, [sp, #66] @ 0x42 70033328: 6803 ldr r3, [r0, #0] 7003332a: f9bd 6046 ldrsh.w r6, [sp, #70] @ 0x46 7003332e: 6adb ldr r3, [r3, #44] @ 0x2c 70033330: 4798 blx r3 70033332: 1d23 adds r3, r4, #4 70033334: f9bd 1042 ldrsh.w r1, [sp, #66] @ 0x42 70033338: 2d00 cmp r5, #0 7003333a: 9306 str r3, [sp, #24] 7003333c: 4b7d ldr r3, [pc, #500] @ (70033534 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x29c>) 7003333e: 881a ldrh r2, [r3, #0] 70033340: f9bd 3040 ldrsh.w r3, [sp, #64] @ 0x40 70033344: fb02 f606 mul.w r6, r2, r6 70033348: fb02 3301 mla r3, r2, r1, r3 7003334c: bf0c ite eq 7003334e: 4639 moveq r1, r7 70033350: 2100 movne r1, #0 70033352: eb00 0e83 add.w lr, r0, r3, lsl #2 70033356: b289 uxth r1, r1 70033358: eb0e 0386 add.w r3, lr, r6, lsl #2 7003335c: 459e cmp lr, r3 7003335e: d225 bcs.n 700333ac <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x114> 70033360: 9804 ldr r0, [sp, #16] 70033362: f04f 0b00 mov.w fp, #0 70033366: 462f mov r7, r5 70033368: 1a12 subs r2, r2, r0 7003336a: 4658 mov r0, fp 7003336c: 0092 lsls r2, r2, #2 7003336e: e9cd 3b01 strd r3, fp, [sp, #4] 70033372: 4653 mov r3, sl 70033374: 920d str r2, [sp, #52] @ 0x34 70033376: 468a mov sl, r1 70033378: ea4f 6209 mov.w r2, r9, lsl #24 7003337c: 4619 mov r1, r3 7003337e: 9200 str r2, [sp, #0] 70033380: b950 cbnz r0, 70033398 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x100> 70033382: 780b ldrb r3, [r1, #0] 70033384: 099a lsrs r2, r3, #6 70033386: f003 033f and.w r3, r3, #63 @ 0x3f 7003338a: 1e50 subs r0, r2, #1 7003338c: 9302 str r3, [sp, #8] 7003338e: 2802 cmp r0, #2 70033390: f200 80c5 bhi.w 7003351e <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x286> 70033394: 3101 adds r1, #1 70033396: 4610 mov r0, r2 70033398: b187 cbz r7, 700333bc <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x124> 7003339a: 42b8 cmp r0, r7 7003339c: f080 80b9 bcs.w 70033512 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x27a> 700333a0: 1a3a subs r2, r7, r0 700333a2: 2000 movs r0, #0 700333a4: b297 uxth r7, r2 700333a6: 9b01 ldr r3, [sp, #4] 700333a8: 4573 cmp r3, lr 700333aa: d8e9 bhi.n 70033380 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0xe8> 700333ac: 4b60 ldr r3, [pc, #384] @ (70033530 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x298>) 700333ae: 6818 ldr r0, [r3, #0] 700333b0: 6803 ldr r3, [r0, #0] 700333b2: 6b1b ldr r3, [r3, #48] @ 0x30 700333b4: 4798 blx r3 700333b6: b013 add sp, #76 @ 0x4c 700333b8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700333bc: 2303 movs r3, #3 700333be: 9a06 ldr r2, [sp, #24] 700333c0: 4550 cmp r0, sl 700333c2: 461c mov r4, r3 700333c4: 9b02 ldr r3, [sp, #8] 700333c6: fb14 2403 smlabb r4, r4, r3, r2 700333ca: 9b05 ldr r3, [sp, #20] 700333cc: 441c add r4, r3 700333ce: f0c0 8081 bcc.w 700334d4 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x23c> 700333d2: eba0 020a sub.w r2, r0, sl 700333d6: f1b9 0fff cmp.w r9, #255 @ 0xff 700333da: 9703 str r7, [sp, #12] 700333dc: b295 uxth r5, r2 700333de: 4652 mov r2, sl 700333e0: f000 8082 beq.w 700334e8 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x250> 700333e4: b382 cbz r2, 70033448 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1b0> 700333e6: f102 3cff add.w ip, r2, #4294967295 @ 0xffffffff 700333ea: f1ae 0604 sub.w r6, lr, #4 700333ee: 46ab mov fp, r5 700333f0: fa1f fc8c uxth.w ip, ip 700333f4: eb0e 0c8c add.w ip, lr, ip, lsl #2 700333f8: e9cd 2707 strd r2, r7, [sp, #28] 700333fc: e9cd ae09 strd sl, lr, [sp, #36] @ 0x24 70033400: e9cd 010b strd r0, r1, [sp, #44] @ 0x2c 70033404: 7827 ldrb r7, [r4, #0] 70033406: 9b00 ldr r3, [sp, #0] 70033408: 78a2 ldrb r2, [r4, #2] 7003340a: fb19 f807 smulbb r8, r9, r7 7003340e: f856 5f04 ldr.w r5, [r6, #4]! 70033412: 431f orrs r7, r3 70033414: f894 e001 ldrb.w lr, [r4, #1] 70033418: fb19 f302 smulbb r3, r9, r2 7003341c: ea47 4702 orr.w r7, r7, r2, lsl #16 70033420: fb19 f00e smulbb r0, r9, lr 70033424: 0e2a lsrs r2, r5, #24 70033426: ea47 270e orr.w r7, r7, lr, lsl #8 7003342a: fb09 fa02 mul.w sl, r9, r2 7003342e: d11d bne.n 7003346c <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1d4> 70033430: 4566 cmp r6, ip 70033432: 6037 str r7, [r6, #0] 70033434: d1e6 bne.n 70033404 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x16c> 70033436: 465d mov r5, fp 70033438: e9dd 2707 ldrd r2, r7, [sp, #28] 7003343c: e9dd ae09 ldrd sl, lr, [sp, #36] @ 0x24 70033440: e9dd 010b ldrd r0, r1, [sp, #44] @ 0x2c 70033444: eb0e 0e82 add.w lr, lr, r2, lsl #2 70033448: 4550 cmp r0, sl 7003344a: d33f bcc.n 700334cc <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x234> 7003344c: f8bd a010 ldrh.w sl, [sp, #16] 70033450: 4628 mov r0, r5 70033452: f8bd 203c ldrh.w r2, [sp, #60] @ 0x3c 70033456: 9b0d ldr r3, [sp, #52] @ 0x34 70033458: eba2 020a sub.w r2, r2, sl 7003345c: 449e add lr, r3 7003345e: b292 uxth r2, r2 70033460: 2a00 cmp r2, #0 70033462: 4617 mov r7, r2 70033464: bf18 it ne 70033466: f04f 0a00 movne.w sl, #0 7003346a: e79c b.n 700333a6 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x10e> 7003346c: f10a 0e01 add.w lr, sl, #1 70033470: f3ca 2a0f ubfx sl, sl, #8, #16 70033474: eb09 0702 add.w r7, r9, r2 70033478: f3c5 4107 ubfx r1, r5, #16, #8 7003347c: fa1a fe8e uxtah lr, sl, lr 70033480: f3c5 2a07 ubfx sl, r5, #8, #8 70033484: b2ed uxtb r5, r5 70033486: 4566 cmp r6, ip 70033488: eba2 222e sub.w r2, r2, lr, asr #8 7003348c: eba7 272e sub.w r7, r7, lr, asr #8 70033490: fb02 3301 mla r3, r2, r1, r3 70033494: b2ff uxtb r7, r7 70033496: fb02 000a mla r0, r2, sl, r0 7003349a: fb02 8205 mla r2, r2, r5, r8 7003349e: fbb3 f3f7 udiv r3, r3, r7 700334a2: fbb0 f0f7 udiv r0, r0, r7 700334a6: ea4f 4303 mov.w r3, r3, lsl #16 700334aa: ea4f 2000 mov.w r0, r0, lsl #8 700334ae: f403 037f and.w r3, r3, #16711680 @ 0xff0000 700334b2: b280 uxth r0, r0 700334b4: fbb2 f2f7 udiv r2, r2, r7 700334b8: ea43 0300 orr.w r3, r3, r0 700334bc: b2d2 uxtb r2, r2 700334be: ea43 6307 orr.w r3, r3, r7, lsl #24 700334c2: ea43 0302 orr.w r3, r3, r2 700334c6: 6033 str r3, [r6, #0] 700334c8: d19c bne.n 70033404 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x16c> 700334ca: e7b4 b.n 70033436 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x19e> 700334cc: 4628 mov r0, r5 700334ce: f8dd a00c ldr.w sl, [sp, #12] 700334d2: e768 b.n 700333a6 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x10e> 700334d4: ebaa 0200 sub.w r2, sl, r0 700334d8: f1b9 0fff cmp.w r9, #255 @ 0xff 700334dc: 463d mov r5, r7 700334de: b293 uxth r3, r2 700334e0: 4602 mov r2, r0 700334e2: 9303 str r3, [sp, #12] 700334e4: f47f af7e bne.w 700333e4 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x14c> 700334e8: 2a00 cmp r2, #0 700334ea: d0ad beq.n 70033448 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1b0> 700334ec: eb0e 0682 add.w r6, lr, r2, lsl #2 700334f0: 7862 ldrb r2, [r4, #1] 700334f2: f894 c002 ldrb.w ip, [r4, #2] 700334f6: 0212 lsls r2, r2, #8 700334f8: ea42 420c orr.w r2, r2, ip, lsl #16 700334fc: f894 c000 ldrb.w ip, [r4] 70033500: ea42 020c orr.w r2, r2, ip 70033504: f042 427f orr.w r2, r2, #4278190080 @ 0xff000000 70033508: f84e 2b04 str.w r2, [lr], #4 7003350c: 45b6 cmp lr, r6 7003350e: d1ef bne.n 700334f0 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x258> 70033510: e79a b.n 70033448 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1b0> 70033512: 1bc2 subs r2, r0, r7 70033514: f8bd a010 ldrh.w sl, [sp, #16] 70033518: 2700 movs r7, #0 7003351a: b290 uxth r0, r2 7003351c: e743 b.n 700333a6 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x10e> 7003351e: 7848 ldrb r0, [r1, #1] 70033520: 3102 adds r1, #2 70033522: e739 b.n 70033398 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x100> 70033524: f44f 6380 mov.w r3, #1024 @ 0x400 70033528: fbb3 f3f1 udiv r3, r3, r1 7003352c: e6d3 b.n 700332d6 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x3e> 7003352e: bf00 nop 70033530: 2400da80 .word 0x2400da80 70033534: 2400da78 .word 0x2400da78 70033538 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h>: 70033538: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7003353c: b0a1 sub sp, #132 @ 0x84 7003353e: 461e mov r6, r3 70033540: 460d mov r5, r1 70033542: 6859 ldr r1, [r3, #4] 70033544: 9f2a ldr r7, [sp, #168] @ 0xa8 70033546: 4614 mov r4, r2 70033548: 9000 str r0, [sp, #0] 7003354a: 6818 ldr r0, [r3, #0] 7003354c: ab1c add r3, sp, #112 @ 0x70 7003354e: f89d b0ac ldrb.w fp, [sp, #172] @ 0xac 70033552: c303 stmia r3!, {r0, r1} 70033554: 6838 ldr r0, [r7, #0] 70033556: 6879 ldr r1, [r7, #4] 70033558: c303 stmia r3!, {r0, r1} 7003355a: a81c add r0, sp, #112 @ 0x70 7003355c: f7dd fc34 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70033560: 4631 mov r1, r6 70033562: a81e add r0, sp, #120 @ 0x78 70033564: f7dd fc74 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 70033568: f9bd 1074 ldrsh.w r1, [sp, #116] @ 0x74 7003356c: f5b1 6f80 cmp.w r1, #1024 @ 0x400 70033570: b289 uxth r1, r1 70033572: f340 821a ble.w 700339aa <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x472> 70033576: 2301 movs r3, #1 70033578: 9318 str r3, [sp, #96] @ 0x60 7003357a: f9bd 207a ldrsh.w r2, [sp, #122] @ 0x7a 7003357e: f9bd 6076 ldrsh.w r6, [sp, #118] @ 0x76 70033582: f9bd 807e ldrsh.w r8, [sp, #126] @ 0x7e 70033586: 441e add r6, r3 70033588: fb92 f0f3 sdiv r0, r2, r3 7003358c: 3e01 subs r6, #1 7003358e: b280 uxth r0, r0 70033590: fb96 f6f3 sdiv r6, r6, r3 70033594: 9019 str r0, [sp, #100] @ 0x64 70033596: 3601 adds r6, #1 70033598: fb03 2310 mls r3, r3, r0, r2 7003359c: f8bd 0078 ldrh.w r0, [sp, #120] @ 0x78 700335a0: b2b6 uxth r6, r6 700335a2: fb13 0301 smlabb r3, r3, r1, r0 700335a6: 49af ldr r1, [pc, #700] @ (70033864 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x32c>) 700335a8: eb04 0686 add.w r6, r4, r6, lsl #2 700335ac: b29b uxth r3, r3 700335ae: 9301 str r3, [sp, #4] 700335b0: f8bd 3070 ldrh.w r3, [sp, #112] @ 0x70 700335b4: 4418 add r0, r3 700335b6: f8bd 3072 ldrh.w r3, [sp, #114] @ 0x72 700335ba: f8ad 0078 strh.w r0, [sp, #120] @ 0x78 700335be: 441a add r2, r3 700335c0: 6808 ldr r0, [r1, #0] 700335c2: f8ad 207a strh.w r2, [sp, #122] @ 0x7a 700335c6: f9bd 207c ldrsh.w r2, [sp, #124] @ 0x7c 700335ca: 6803 ldr r3, [r0, #0] 700335cc: 9214 str r2, [sp, #80] @ 0x50 700335ce: 6adb ldr r3, [r3, #44] @ 0x2c 700335d0: 4798 blx r3 700335d2: 9b01 ldr r3, [sp, #4] 700335d4: f9bd 107a ldrsh.w r1, [sp, #122] @ 0x7a 700335d8: 4607 mov r7, r0 700335da: 2b00 cmp r3, #0 700335dc: 4ba2 ldr r3, [pc, #648] @ (70033868 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x330>) 700335de: f9bd 2078 ldrsh.w r2, [sp, #120] @ 0x78 700335e2: f106 0004 add.w r0, r6, #4 700335e6: 881b ldrh r3, [r3, #0] 700335e8: 46dc mov ip, fp 700335ea: 4686 mov lr, r0 700335ec: 941a str r4, [sp, #104] @ 0x68 700335ee: fb03 2201 mla r2, r3, r1, r2 700335f2: fb08 f803 mul.w r8, r8, r3 700335f6: eb07 0182 add.w r1, r7, r2, lsl #2 700335fa: 9a14 ldr r2, [sp, #80] @ 0x50 700335fc: 462f mov r7, r5 700335fe: eba3 0302 sub.w r3, r3, r2 70033602: 9102 str r1, [sp, #8] 70033604: eb01 0188 add.w r1, r1, r8, lsl #2 70033608: 9107 str r1, [sp, #28] 7003360a: ea4f 0183 mov.w r1, r3, lsl #2 7003360e: bf0c ite eq 70033610: 4613 moveq r3, r2 70033612: 2300 movne r3, #0 70033614: 9116 str r1, [sp, #88] @ 0x58 70033616: ea4f 610b mov.w r1, fp, lsl #24 7003361a: b29a uxth r2, r3 7003361c: 9b01 ldr r3, [sp, #4] 7003361e: 9103 str r1, [sp, #12] 70033620: 2100 movs r1, #0 70033622: 4690 mov r8, r2 70033624: 9117 str r1, [sp, #92] @ 0x5c 70033626: 9900 ldr r1, [sp, #0] 70033628: 310e adds r1, #14 7003362a: 911b str r1, [sp, #108] @ 0x6c 7003362c: 9a02 ldr r2, [sp, #8] 7003362e: 9907 ldr r1, [sp, #28] 70033630: 428a cmp r2, r1 70033632: f080 810e bcs.w 70033852 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x31a> 70033636: 9919 ldr r1, [sp, #100] @ 0x64 70033638: 2501 movs r5, #1 7003363a: 9a17 ldr r2, [sp, #92] @ 0x5c 7003363c: 2600 movs r6, #0 7003363e: 9818 ldr r0, [sp, #96] @ 0x60 70033640: 46f2 mov sl, lr 70033642: fa11 f282 uxtah r2, r1, r2 70033646: f8bd 1074 ldrh.w r1, [sp, #116] @ 0x74 7003364a: 9509 str r5, [sp, #36] @ 0x24 7003364c: 46b1 mov r9, r6 7003364e: 0092 lsls r2, r2, #2 70033650: 9613 str r6, [sp, #76] @ 0x4c 70033652: fbb3 f1f1 udiv r1, r3, r1 70033656: 1a41 subs r1, r0, r1 70033658: 3204 adds r2, #4 7003365a: 981a ldr r0, [sp, #104] @ 0x68 7003365c: b289 uxth r1, r1 7003365e: 5c84 ldrb r4, [r0, r2] 70033660: 9115 str r1, [sp, #84] @ 0x54 70033662: 1881 adds r1, r0, r2 70033664: 9412 str r4, [sp, #72] @ 0x48 70033666: 788a ldrb r2, [r1, #2] 70033668: 7848 ldrb r0, [r1, #1] 7003366a: 0212 lsls r2, r2, #8 7003366c: 78c9 ldrb r1, [r1, #3] 7003366e: ea42 4200 orr.w r2, r2, r0, lsl #16 70033672: 4628 mov r0, r5 70033674: 430a orrs r2, r1 70033676: 1961 adds r1, r4, r5 70033678: 462c mov r4, r5 7003367a: 18bd adds r5, r7, r2 7003367c: 9106 str r1, [sp, #24] 7003367e: 5cb9 ldrb r1, [r7, r2] 70033680: 786a ldrb r2, [r5, #1] 70033682: eb05 0b00 add.w fp, r5, r0 70033686: 9d00 ldr r5, [sp, #0] 70033688: 0212 lsls r2, r2, #8 7003368a: f8cd b014 str.w fp, [sp, #20] 7003368e: 46bb mov fp, r7 70033690: 7369 strb r1, [r5, #13] 70033692: f402 7280 and.w r2, r2, #256 @ 0x100 70033696: 430a orrs r2, r1 70033698: 9208 str r2, [sp, #32] 7003369a: b373 cbz r3, 700336fa <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1c2> 7003369c: 4298 cmp r0, r3 7003369e: f080 813e bcs.w 7003391e <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x3e6> 700336a2: 9a07 ldr r2, [sp, #28] 700336a4: 1a1b subs r3, r3, r0 700336a6: 9902 ldr r1, [sp, #8] 700336a8: b29b uxth r3, r3 700336aa: 428a cmp r2, r1 700336ac: f240 80d1 bls.w 70033852 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x31a> 700336b0: 9a05 ldr r2, [sp, #20] 700336b2: f1c4 0107 rsb r1, r4, #7 700336b6: 7850 ldrb r0, [r2, #1] 700336b8: 4088 lsls r0, r1 700336ba: 7811 ldrb r1, [r2, #0] 700336bc: b2c0 uxtb r0, r0 700336be: 4121 asrs r1, r4 700336c0: ea41 0140 orr.w r1, r1, r0, lsl #1 700336c4: 1c60 adds r0, r4, #1 700336c6: b2c4 uxtb r4, r0 700336c8: b28d uxth r5, r1 700336ca: 2c08 cmp r4, #8 700336cc: f000 8130 beq.w 70033930 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x3f8> 700336d0: 3201 adds r2, #1 700336d2: 9205 str r2, [sp, #20] 700336d4: 9a12 ldr r2, [sp, #72] @ 0x48 700336d6: 42aa cmp r2, r5 700336d8: f0c0 8102 bcc.w 700338e0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x3a8> 700336dc: 9a00 ldr r2, [sp, #0] 700336de: b2c9 uxtb r1, r1 700336e0: 2001 movs r0, #1 700336e2: 7351 strb r1, [r2, #13] 700336e4: 9a06 ldr r2, [sp, #24] 700336e6: f5b2 7f00 cmp.w r2, #512 @ 0x200 700336ea: f0c0 8144 bcc.w 70033976 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x43e> 700336ee: f04f 0900 mov.w r9, #0 700336f2: e9cd 5008 strd r5, r0, [sp, #32] 700336f6: 2b00 cmp r3, #0 700336f8: d1d0 bne.n 7003369c <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x164> 700336fa: 4540 cmp r0, r8 700336fc: f0c0 80b6 bcc.w 7003386c <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x334> 70033700: eba0 0108 sub.w r1, r0, r8 70033704: f1bc 0fff cmp.w ip, #255 @ 0xff 70033708: 4645 mov r5, r8 7003370a: 930a str r3, [sp, #40] @ 0x28 7003370c: b28f uxth r7, r1 7003370e: f000 80b7 beq.w 70033880 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x348> 70033712: 2d00 cmp r5, #0 70033714: d049 beq.n 700337aa <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x272> 70033716: eb09 0105 add.w r1, r9, r5 7003371a: f8cd b044 str.w fp, [sp, #68] @ 0x44 7003371e: b28a uxth r2, r1 70033720: 9201 str r2, [sp, #4] 70033722: 9a02 ldr r2, [sp, #8] 70033724: 1f16 subs r6, r2, #4 70033726: 46b3 mov fp, r6 70033728: e9cd 800b strd r8, r0, [sp, #44] @ 0x2c 7003372c: e9cd 740d strd r7, r4, [sp, #52] @ 0x34 70033730: e9cd 530f strd r5, r3, [sp, #60] @ 0x3c 70033734: 9b00 ldr r3, [sp, #0] 70033736: eb03 0209 add.w r2, r3, r9 7003373a: f85b 3f04 ldr.w r3, [fp, #4]! 7003373e: f109 0901 add.w r9, r9, #1 70033742: 7b51 ldrb r1, [r2, #13] 70033744: f3c3 4807 ubfx r8, r3, #16, #8 70033748: fa1f f589 uxth.w r5, r9 7003374c: f3c3 2e07 ubfx lr, r3, #8, #8 70033750: eb01 0141 add.w r1, r1, r1, lsl #1 70033754: 46a9 mov r9, r5 70033756: eb0a 0201 add.w r2, sl, r1 7003375a: f81a 0001 ldrb.w r0, [sl, r1] 7003375e: 9903 ldr r1, [sp, #12] 70033760: 7897 ldrb r7, [r2, #2] 70033762: fb1c f600 smulbb r6, ip, r0 70033766: 4308 orrs r0, r1 70033768: 7854 ldrb r4, [r2, #1] 7003376a: fb1c f207 smulbb r2, ip, r7 7003376e: fb1c f104 smulbb r1, ip, r4 70033772: ea40 4007 orr.w r0, r0, r7, lsl #16 70033776: b2df uxtb r7, r3 70033778: 0e1b lsrs r3, r3, #24 7003377a: ea40 2004 orr.w r0, r0, r4, lsl #8 7003377e: fb0c f403 mul.w r4, ip, r3 70033782: d134 bne.n 700337ee <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x2b6> 70033784: 9b01 ldr r3, [sp, #4] 70033786: f8cb 0000 str.w r0, [fp] 7003378a: 429d cmp r5, r3 7003378c: d1d2 bne.n 70033734 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1fc> 7003378e: 9a02 ldr r2, [sp, #8] 70033790: f8dd b044 ldr.w fp, [sp, #68] @ 0x44 70033794: f8dd 9004 ldr.w r9, [sp, #4] 70033798: e9dd 530f ldrd r5, r3, [sp, #60] @ 0x3c 7003379c: e9dd 800b ldrd r8, r0, [sp, #44] @ 0x2c 700337a0: eb02 0285 add.w r2, r2, r5, lsl #2 700337a4: e9dd 740d ldrd r7, r4, [sp, #52] @ 0x34 700337a8: 9202 str r2, [sp, #8] 700337aa: 4540 cmp r0, r8 700337ac: d34a bcc.n 70033844 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x30c> 700337ae: 9a02 ldr r2, [sp, #8] 700337b0: 9916 ldr r1, [sp, #88] @ 0x58 700337b2: 9b13 ldr r3, [sp, #76] @ 0x4c 700337b4: 440a add r2, r1 700337b6: 3301 adds r3, #1 700337b8: 9202 str r2, [sp, #8] 700337ba: 9a15 ldr r2, [sp, #84] @ 0x54 700337bc: 9313 str r3, [sp, #76] @ 0x4c 700337be: 429a cmp r2, r3 700337c0: f000 80dd beq.w 7003397e <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x446> 700337c4: f8bd 8050 ldrh.w r8, [sp, #80] @ 0x50 700337c8: 4638 mov r0, r7 700337ca: f8bd 3074 ldrh.w r3, [sp, #116] @ 0x74 700337ce: eba3 0308 sub.w r3, r3, r8 700337d2: b29b uxth r3, r3 700337d4: 2b00 cmp r3, #0 700337d6: bf14 ite ne 700337d8: f04f 0800 movne.w r8, #0 700337dc: 2300 moveq r3, #0 700337de: 9a07 ldr r2, [sp, #28] 700337e0: 9902 ldr r1, [sp, #8] 700337e2: 428a cmp r2, r1 700337e4: d935 bls.n 70033852 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x31a> 700337e6: 2800 cmp r0, #0 700337e8: f47f af57 bne.w 7003369a <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x162> 700337ec: e760 b.n 700336b0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x178> 700337ee: eb0c 0003 add.w r0, ip, r3 700337f2: 9004 str r0, [sp, #16] 700337f4: 1c60 adds r0, r4, #1 700337f6: f3c4 240f ubfx r4, r4, #8, #16 700337fa: fa14 f480 uxtah r4, r4, r0 700337fe: 9804 ldr r0, [sp, #16] 70033800: eba3 2324 sub.w r3, r3, r4, asr #8 70033804: eba0 2024 sub.w r0, r0, r4, asr #8 70033808: fb03 2208 mla r2, r3, r8, r2 7003380c: b2c0 uxtb r0, r0 7003380e: fb03 110e mla r1, r3, lr, r1 70033812: fb03 6307 mla r3, r3, r7, r6 70033816: fbb2 f2f0 udiv r2, r2, r0 7003381a: fbb1 f1f0 udiv r1, r1, r0 7003381e: 0412 lsls r2, r2, #16 70033820: 0209 lsls r1, r1, #8 70033822: f402 027f and.w r2, r2, #16711680 @ 0xff0000 70033826: b289 uxth r1, r1 70033828: fbb3 f3f0 udiv r3, r3, r0 7003382c: 430a orrs r2, r1 7003382e: b2db uxtb r3, r3 70033830: ea42 6200 orr.w r2, r2, r0, lsl #24 70033834: 431a orrs r2, r3 70033836: 9b01 ldr r3, [sp, #4] 70033838: 429d cmp r5, r3 7003383a: f8cb 2000 str.w r2, [fp] 7003383e: f47f af79 bne.w 70033734 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1fc> 70033842: e7a4 b.n 7003378e <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x256> 70033844: 9a07 ldr r2, [sp, #28] 70033846: 4638 mov r0, r7 70033848: 9902 ldr r1, [sp, #8] 7003384a: f8dd 8028 ldr.w r8, [sp, #40] @ 0x28 7003384e: 428a cmp r2, r1 70033850: d8c9 bhi.n 700337e6 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x2ae> 70033852: 4b04 ldr r3, [pc, #16] @ (70033864 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x32c>) 70033854: 6818 ldr r0, [r3, #0] 70033856: 6803 ldr r3, [r0, #0] 70033858: 6b1b ldr r3, [r3, #48] @ 0x30 7003385a: 4798 blx r3 7003385c: b021 add sp, #132 @ 0x84 7003385e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70033862: bf00 nop 70033864: 2400da80 .word 0x2400da80 70033868: 2400da78 .word 0x2400da78 7003386c: eba8 0100 sub.w r1, r8, r0 70033870: f1bc 0fff cmp.w ip, #255 @ 0xff 70033874: 4605 mov r5, r0 70033876: 461f mov r7, r3 70033878: b28a uxth r2, r1 7003387a: 920a str r2, [sp, #40] @ 0x28 7003387c: f47f af49 bne.w 70033712 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1da> 70033880: 2d00 cmp r5, #0 70033882: d092 beq.n 700337aa <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x272> 70033884: eb09 0e05 add.w lr, r9, r5 70033888: 9902 ldr r1, [sp, #8] 7003388a: 9a00 ldr r2, [sp, #0] 7003388c: fa1f fe8e uxth.w lr, lr 70033890: f8cd 8004 str.w r8, [sp, #4] 70033894: 9004 str r0, [sp, #16] 70033896: 4648 mov r0, r9 70033898: f109 0901 add.w r9, r9, #1 7003389c: 4410 add r0, r2 7003389e: fa1f f989 uxth.w r9, r9 700338a2: 7b40 ldrb r0, [r0, #13] 700338a4: 45f1 cmp r9, lr 700338a6: eb00 0040 add.w r0, r0, r0, lsl #1 700338aa: eb0a 0800 add.w r8, sl, r0 700338ae: f81a 6000 ldrb.w r6, [sl, r0] 700338b2: f898 0001 ldrb.w r0, [r8, #1] 700338b6: f898 8002 ldrb.w r8, [r8, #2] 700338ba: ea4f 2000 mov.w r0, r0, lsl #8 700338be: ea40 4008 orr.w r0, r0, r8, lsl #16 700338c2: ea40 0006 orr.w r0, r0, r6 700338c6: f040 407f orr.w r0, r0, #4278190080 @ 0xff000000 700338ca: f841 0b04 str.w r0, [r1], #4 700338ce: d1e2 bne.n 70033896 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x35e> 700338d0: 9a02 ldr r2, [sp, #8] 700338d2: f8dd 8004 ldr.w r8, [sp, #4] 700338d6: eb02 0285 add.w r2, r2, r5, lsl #2 700338da: 9804 ldr r0, [sp, #16] 700338dc: 9202 str r2, [sp, #8] 700338de: e764 b.n 700337aa <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x272> 700338e0: 9a06 ldr r2, [sp, #24] 700338e2: 42aa cmp r2, r5 700338e4: 9a00 ldr r2, [sp, #0] 700338e6: d827 bhi.n 70033938 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x400> 700338e8: 9e09 ldr r6, [sp, #36] @ 0x24 700338ea: 7b51 ldrb r1, [r2, #13] 700338ec: 1990 adds r0, r2, r6 700338ee: f106 0e01 add.w lr, r6, #1 700338f2: 7341 strb r1, [r0, #13] 700338f4: fa1f f08e uxth.w r0, lr 700338f8: 9a06 ldr r2, [sp, #24] 700338fa: f04f 0900 mov.w r9, #0 700338fe: 9f00 ldr r7, [sp, #0] 70033900: 9e08 ldr r6, [sp, #32] 70033902: eb07 0782 add.w r7, r7, r2, lsl #2 70033906: 9508 str r5, [sp, #32] 70033908: 9009 str r0, [sp, #36] @ 0x24 7003390a: f887 104e strb.w r1, [r7, #78] @ 0x4e 7003390e: 1c51 adds r1, r2, #1 70033910: f8a7 6050 strh.w r6, [r7, #80] @ 0x50 70033914: b28a uxth r2, r1 70033916: f887 e04f strb.w lr, [r7, #79] @ 0x4f 7003391a: 9206 str r2, [sp, #24] 7003391c: e6bd b.n 7003369a <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x162> 7003391e: 1ac1 subs r1, r0, r3 70033920: 4499 add r9, r3 70033922: f8bd 8050 ldrh.w r8, [sp, #80] @ 0x50 70033926: 2300 movs r3, #0 70033928: b288 uxth r0, r1 7003392a: fa1f f989 uxth.w r9, r9 7003392e: e756 b.n 700337de <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x2a6> 70033930: 3202 adds r2, #2 70033932: 2400 movs r4, #0 70033934: 9205 str r2, [sp, #20] 70033936: e6cd b.n 700336d4 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x19c> 70033938: eb02 0181 add.w r1, r2, r1, lsl #2 7003393c: f891 604f ldrb.w r6, [r1, #79] @ 0x4f 70033940: 2e01 cmp r6, #1 70033942: d92e bls.n 700339a2 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x46a> 70033944: f106 000d add.w r0, r6, #13 70033948: 4629 mov r1, r5 7003394a: f8dd e06c ldr.w lr, [sp, #108] @ 0x6c 7003394e: 4410 add r0, r2 70033950: eb02 0181 add.w r1, r2, r1, lsl #2 70033954: f891 704e ldrb.w r7, [r1, #78] @ 0x4e 70033958: f800 7d01 strb.w r7, [r0, #-1]! 7003395c: 4570 cmp r0, lr 7003395e: f8b1 1050 ldrh.w r1, [r1, #80] @ 0x50 70033962: d1f5 bne.n 70033950 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x418> 70033964: b2c9 uxtb r1, r1 70033966: 4630 mov r0, r6 70033968: 9a00 ldr r2, [sp, #0] 7003396a: 7351 strb r1, [r2, #13] 7003396c: 9a06 ldr r2, [sp, #24] 7003396e: f5b2 7f00 cmp.w r2, #512 @ 0x200 70033972: f4bf aebc bcs.w 700336ee <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x1b6> 70033976: 9e09 ldr r6, [sp, #36] @ 0x24 70033978: 3601 adds r6, #1 7003397a: 46b6 mov lr, r6 7003397c: e7bc b.n 700338f8 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x3c0> 7003397e: 9b17 ldr r3, [sp, #92] @ 0x5c 70033980: 46d6 mov lr, sl 70033982: f8bd 2070 ldrh.w r2, [sp, #112] @ 0x70 70033986: 465f mov r7, fp 70033988: 3301 adds r3, #1 7003398a: 9317 str r3, [sp, #92] @ 0x5c 7003398c: f8bd 3078 ldrh.w r3, [sp, #120] @ 0x78 70033990: 1a9b subs r3, r3, r2 70033992: 9a14 ldr r2, [sp, #80] @ 0x50 70033994: b29b uxth r3, r3 70033996: 2b00 cmp r3, #0 70033998: bf18 it ne 7003399a: 2200 movne r2, #0 7003399c: fa1f f882 uxth.w r8, r2 700339a0: e644 b.n 7003362c <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0xf4> 700339a2: 4629 mov r1, r5 700339a4: 4630 mov r0, r6 700339a6: b2c9 uxtb r1, r1 700339a8: e7de b.n 70033968 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x430> 700339aa: f44f 6380 mov.w r3, #1024 @ 0x400 700339ae: fbb3 f3f1 udiv r3, r3, r1 700339b2: 9318 str r3, [sp, #96] @ 0x60 700339b4: e5e1 b.n 7003357a <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h+0x42> 700339b6: bf00 nop 700339b8 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h>: 700339b8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700339bc: b097 sub sp, #92 @ 0x5c 700339be: 6818 ldr r0, [r3, #0] 700339c0: 461c mov r4, r3 700339c2: 460d mov r5, r1 700339c4: 9f20 ldr r7, [sp, #128] @ 0x80 700339c6: 4691 mov r9, r2 700339c8: 6859 ldr r1, [r3, #4] 700339ca: ab12 add r3, sp, #72 @ 0x48 700339cc: f89d 6084 ldrb.w r6, [sp, #132] @ 0x84 700339d0: c303 stmia r3!, {r0, r1} 700339d2: 6838 ldr r0, [r7, #0] 700339d4: 6879 ldr r1, [r7, #4] 700339d6: c303 stmia r3!, {r0, r1} 700339d8: a812 add r0, sp, #72 @ 0x48 700339da: f7dd f9f5 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 700339de: 4621 mov r1, r4 700339e0: a814 add r0, sp, #80 @ 0x50 700339e2: f7dd fa35 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 700339e6: f9bd 2050 ldrsh.w r2, [sp, #80] @ 0x50 700339ea: f8bd 3048 ldrh.w r3, [sp, #72] @ 0x48 700339ee: f9bd 1052 ldrsh.w r1, [sp, #82] @ 0x52 700339f2: 4413 add r3, r2 700339f4: f9bd 4056 ldrsh.w r4, [sp, #86] @ 0x56 700339f8: f8ad 3050 strh.w r3, [sp, #80] @ 0x50 700339fc: f8bd 304a ldrh.w r3, [sp, #74] @ 0x4a 70033a00: 440b add r3, r1 70033a02: f8ad 3052 strh.w r3, [sp, #82] @ 0x52 70033a06: f8bd 304c ldrh.w r3, [sp, #76] @ 0x4c 70033a0a: fb13 2301 smlabb r3, r3, r1, r2 70033a0e: 4975 ldr r1, [pc, #468] @ (70033be4 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x22c>) 70033a10: 18ef adds r7, r5, r3 70033a12: 4b75 ldr r3, [pc, #468] @ (70033be8 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x230>) 70033a14: f9bd 5054 ldrsh.w r5, [sp, #84] @ 0x54 70033a18: 6818 ldr r0, [r3, #0] 70033a1a: 6802 ldr r2, [r0, #0] 70033a1c: f8d2 30ac ldr.w r3, [r2, #172] @ 0xac 70033a20: 428b cmp r3, r1 70033a22: f040 80b5 bne.w 70033b90 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1d8> 70033a26: 6841 ldr r1, [r0, #4] 70033a28: f8df c1c8 ldr.w ip, [pc, #456] @ 70033bf4 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x23c> 70033a2c: 680b ldr r3, [r1, #0] 70033a2e: 699b ldr r3, [r3, #24] 70033a30: 4563 cmp r3, ip 70033a32: f040 80b4 bne.w 70033b9e <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1e6> 70033a36: 6ad3 ldr r3, [r2, #44] @ 0x2c 70033a38: 4798 blx r3 70033a3a: 4a6c ldr r2, [pc, #432] @ (70033bec <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x234>) 70033a3c: f9bd 1052 ldrsh.w r1, [sp, #82] @ 0x52 70033a40: 2c00 cmp r4, #0 70033a42: f9bd 3050 ldrsh.w r3, [sp, #80] @ 0x50 70033a46: 8812 ldrh r2, [r2, #0] 70033a48: fb01 3302 mla r3, r1, r2, r3 70033a4c: eb00 0183 add.w r1, r0, r3, lsl #2 70033a50: f340 8096 ble.w 70033b80 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1c8> 70033a54: 2d00 cmp r5, #0 70033a56: f340 8093 ble.w 70033b80 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1c8> 70033a5a: 2000 movs r0, #0 70033a5c: ea4f 0a85 mov.w sl, r5, lsl #2 70033a60: 46ac mov ip, r5 70033a62: 46be mov lr, r7 70033a64: 4603 mov r3, r0 70033a66: 4608 mov r0, r1 70033a68: 9410 str r4, [sp, #64] @ 0x40 70033a6a: 4619 mov r1, r3 70033a6c: f8cd a044 str.w sl, [sp, #68] @ 0x44 70033a70: 1d03 adds r3, r0, #4 70033a72: 4674 mov r4, lr 70033a74: eb0e 080c add.w r8, lr, ip 70033a78: e9cd c00c strd ip, r0, [sp, #48] @ 0x30 70033a7c: e9cd e10e strd lr, r1, [sp, #56] @ 0x38 70033a80: e048 b.n 70033b14 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x15c> 70033a82: fa12 f181 uxtah r1, r2, r1 70033a86: f813 2c02 ldrb.w r2, [r3, #-2] 70033a8a: f813 cc01 ldrb.w ip, [r3, #-1] 70033a8e: f3c1 2b07 ubfx fp, r1, #8, #8 70033a92: 920b str r2, [sp, #44] @ 0x2c 70033a94: 0a09 lsrs r1, r1, #8 70033a96: f813 ac04 ldrb.w sl, [r3, #-4] 70033a9a: ea6f 020b mvn.w r2, fp 70033a9e: f813 7c03 ldrb.w r7, [r3, #-3] 70033aa2: fb1c fe01 smulbb lr, ip, r1 70033aa6: 44dc add ip, fp 70033aa8: fb10 f001 smulbb r0, r0, r1 70033aac: b2d2 uxtb r2, r2 70033aae: f3ce 2b07 ubfx fp, lr, #8, #8 70033ab2: f10e 0e01 add.w lr, lr, #1 70033ab6: fb0a 0a02 mla sl, sl, r2, r0 70033aba: 980b ldr r0, [sp, #44] @ 0x2c 70033abc: fb17 f702 smulbb r7, r7, r2 70033ac0: fa1b fe8e uxtah lr, fp, lr 70033ac4: fb10 f202 smulbb r2, r0, r2 70033ac8: fa1f f08a uxth.w r0, sl 70033acc: ebac 2c2e sub.w ip, ip, lr, asr #8 70033ad0: f100 0e01 add.w lr, r0, #1 70033ad4: eb0e 2e10 add.w lr, lr, r0, lsr #8 70033ad8: ea4f 2e2e mov.w lr, lr, asr #8 70033adc: f803 ec04 strb.w lr, [r3, #-4] 70033ae0: 7868 ldrb r0, [r5, #1] 70033ae2: fb00 7701 mla r7, r0, r1, r7 70033ae6: b2bf uxth r7, r7 70033ae8: 1c78 adds r0, r7, #1 70033aea: eb00 2017 add.w r0, r0, r7, lsr #8 70033aee: 1200 asrs r0, r0, #8 70033af0: f803 0c03 strb.w r0, [r3, #-3] 70033af4: 78a8 ldrb r0, [r5, #2] 70033af6: f803 cc01 strb.w ip, [r3, #-1] 70033afa: fb00 2201 mla r2, r0, r1, r2 70033afe: b292 uxth r2, r2 70033b00: 1c51 adds r1, r2, #1 70033b02: eb01 2212 add.w r2, r1, r2, lsr #8 70033b06: 1212 asrs r2, r2, #8 70033b08: f803 2c02 strb.w r2, [r3, #-2] 70033b0c: 45a0 cmp r8, r4 70033b0e: f103 0304 add.w r3, r3, #4 70033b12: d021 beq.n 70033b58 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1a0> 70033b14: f814 1b01 ldrb.w r1, [r4], #1 70033b18: 3101 adds r1, #1 70033b1a: eb09 0581 add.w r5, r9, r1, lsl #2 70033b1e: 78ea ldrb r2, [r5, #3] 70033b20: ea02 0706 and.w r7, r2, r6 70033b24: 2a00 cmp r2, #0 70033b26: d0f1 beq.n 70033b0c <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x154> 70033b28: fb06 f202 mul.w r2, r6, r2 70033b2c: 2fff cmp r7, #255 @ 0xff 70033b2e: f819 0021 ldrb.w r0, [r9, r1, lsl #2] 70033b32: f102 0101 add.w r1, r2, #1 70033b36: ea4f 2212 mov.w r2, r2, lsr #8 70033b3a: d1a2 bne.n 70033a82 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xca> 70033b3c: f803 0c04 strb.w r0, [r3, #-4] 70033b40: 45a0 cmp r8, r4 70033b42: 786a ldrb r2, [r5, #1] 70033b44: f103 0304 add.w r3, r3, #4 70033b48: f803 2c07 strb.w r2, [r3, #-7] 70033b4c: 78aa ldrb r2, [r5, #2] 70033b4e: f803 7c05 strb.w r7, [r3, #-5] 70033b52: f803 2c06 strb.w r2, [r3, #-6] 70033b56: d1dd bne.n 70033b14 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x15c> 70033b58: 4b24 ldr r3, [pc, #144] @ (70033bec <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x234>) 70033b5a: f9bd 204c ldrsh.w r2, [sp, #76] @ 0x4c 70033b5e: 881b ldrh r3, [r3, #0] 70033b60: e9dd c00c ldrd ip, r0, [sp, #48] @ 0x30 70033b64: e9dd e10e ldrd lr, r1, [sp, #56] @ 0x38 70033b68: eba3 030c sub.w r3, r3, ip 70033b6c: 4496 add lr, r2 70033b6e: 9a11 ldr r2, [sp, #68] @ 0x44 70033b70: 3101 adds r1, #1 70033b72: eb02 0383 add.w r3, r2, r3, lsl #2 70033b76: 4418 add r0, r3 70033b78: 9b10 ldr r3, [sp, #64] @ 0x40 70033b7a: 428b cmp r3, r1 70033b7c: f47f af78 bne.w 70033a70 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xb8> 70033b80: 4b19 ldr r3, [pc, #100] @ (70033be8 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x230>) 70033b82: 6818 ldr r0, [r3, #0] 70033b84: 6803 ldr r3, [r0, #0] 70033b86: 6b1b ldr r3, [r3, #48] @ 0x30 70033b88: 4798 blx r3 70033b8a: b017 add sp, #92 @ 0x5c 70033b8c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70033b90: 4798 blx r3 70033b92: 2801 cmp r0, #1 70033b94: d007 beq.n 70033ba6 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1ee> 70033b96: 4b14 ldr r3, [pc, #80] @ (70033be8 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x230>) 70033b98: 6818 ldr r0, [r3, #0] 70033b9a: 6802 ldr r2, [r0, #0] 70033b9c: e74b b.n 70033a36 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x7e> 70033b9e: 4608 mov r0, r1 70033ba0: 4798 blx r3 70033ba2: 2801 cmp r0, #1 70033ba4: d1f7 bne.n 70033b96 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1de> 70033ba6: 9005 str r0, [sp, #20] 70033ba8: b2a4 uxth r4, r4 70033baa: f8bd 004c ldrh.w r0, [sp, #76] @ 0x4c 70033bae: b2ad uxth r5, r5 70033bb0: f8bd 3052 ldrh.w r3, [sp, #82] @ 0x52 70033bb4: 464a mov r2, r9 70033bb6: 9003 str r0, [sp, #12] 70033bb8: 4639 mov r1, r7 70033bba: 480c ldr r0, [pc, #48] @ (70033bec <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x234>) 70033bbc: 9402 str r4, [sp, #8] 70033bbe: 2402 movs r4, #2 70033bc0: 9300 str r3, [sp, #0] 70033bc2: 9604 str r6, [sp, #16] 70033bc4: 9501 str r5, [sp, #4] 70033bc6: 8800 ldrh r0, [r0, #0] 70033bc8: f8bd 3050 ldrh.w r3, [sp, #80] @ 0x50 70033bcc: 9006 str r0, [sp, #24] 70033bce: 4808 ldr r0, [pc, #32] @ (70033bf0 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x238>) 70033bd0: 6800 ldr r0, [r0, #0] 70033bd2: 9408 str r4, [sp, #32] 70033bd4: 240b movs r4, #11 70033bd6: 9407 str r4, [sp, #28] 70033bd8: f7f8 fb1e bl 7002c218 <_ZN8touchgfx8HALGPU2D13dma2dBlitCopyEPKtPKhttttthbtNS_6Bitmap12BitmapFormatES6_> 70033bdc: b017 add sp, #92 @ 0x5c 70033bde: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70033be2: bf00 nop 70033be4: 700018fb .word 0x700018fb 70033be8: 2400da80 .word 0x2400da80 70033bec: 2400da78 .word 0x2400da78 70033bf0: 2400e0dc .word 0x2400e0dc 70033bf4: 7000f5b5 .word 0x7000f5b5 70033bf8 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h>: 70033bf8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70033bfc: b08f sub sp, #60 @ 0x3c 70033bfe: 461c mov r4, r3 70033c00: 460d mov r5, r1 70033c02: 4616 mov r6, r2 70033c04: f89d 3064 ldrb.w r3, [sp, #100] @ 0x64 70033c08: 6820 ldr r0, [r4, #0] 70033c0a: 3604 adds r6, #4 70033c0c: 6861 ldr r1, [r4, #4] 70033c0e: 4698 mov r8, r3 70033c10: 9f18 ldr r7, [sp, #96] @ 0x60 70033c12: ab0a add r3, sp, #40 @ 0x28 70033c14: c303 stmia r3!, {r0, r1} 70033c16: 6838 ldr r0, [r7, #0] 70033c18: 6879 ldr r1, [r7, #4] 70033c1a: c303 stmia r3!, {r0, r1} 70033c1c: a80a add r0, sp, #40 @ 0x28 70033c1e: f7dd f8d3 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70033c22: 4621 mov r1, r4 70033c24: a80c add r0, sp, #48 @ 0x30 70033c26: f7dd f913 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 70033c2a: f9bd 2030 ldrsh.w r2, [sp, #48] @ 0x30 70033c2e: f9bd 1032 ldrsh.w r1, [sp, #50] @ 0x32 70033c32: f002 0301 and.w r3, r2, #1 70033c36: f9bd 4036 ldrsh.w r4, [sp, #54] @ 0x36 70033c3a: 9305 str r3, [sp, #20] 70033c3c: f9bd 302c ldrsh.w r3, [sp, #44] @ 0x2c 70033c40: f003 0001 and.w r0, r3, #1 70033c44: 4403 add r3, r0 70033c46: 9004 str r0, [sp, #16] 70033c48: fb01 2303 mla r3, r1, r3, r2 70033c4c: 2b00 cmp r3, #0 70033c4e: bfb8 it lt 70033c50: 3301 addlt r3, #1 70033c52: eb05 0363 add.w r3, r5, r3, asr #1 70033c56: 9301 str r3, [sp, #4] 70033c58: f8bd 3028 ldrh.w r3, [sp, #40] @ 0x28 70033c5c: 441a add r2, r3 70033c5e: f8bd 302a ldrh.w r3, [sp, #42] @ 0x2a 70033c62: 4419 add r1, r3 70033c64: f9bd 3034 ldrsh.w r3, [sp, #52] @ 0x34 70033c68: f8ad 2030 strh.w r2, [sp, #48] @ 0x30 70033c6c: 9303 str r3, [sp, #12] 70033c6e: 4b4c ldr r3, [pc, #304] @ (70033da0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1a8>) 70033c70: f8ad 1032 strh.w r1, [sp, #50] @ 0x32 70033c74: 6818 ldr r0, [r3, #0] 70033c76: 6803 ldr r3, [r0, #0] 70033c78: 6adb ldr r3, [r3, #44] @ 0x2c 70033c7a: 4798 blx r3 70033c7c: 4b49 ldr r3, [pc, #292] @ (70033da4 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1ac>) 70033c7e: f9bd 1032 ldrsh.w r1, [sp, #50] @ 0x32 70033c82: 881b ldrh r3, [r3, #0] 70033c84: f9bd 2030 ldrsh.w r2, [sp, #48] @ 0x30 70033c88: fb03 f404 mul.w r4, r3, r4 70033c8c: fb03 2201 mla r2, r3, r1, r2 70033c90: eb00 0a82 add.w sl, r0, r2, lsl #2 70033c94: eb0a 0284 add.w r2, sl, r4, lsl #2 70033c98: 4592 cmp sl, r2 70033c9a: 9206 str r2, [sp, #24] 70033c9c: d24f bcs.n 70033d3e <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x146> 70033c9e: 9a03 ldr r2, [sp, #12] 70033ca0: 46c1 mov r9, r8 70033ca2: 1a9b subs r3, r3, r2 70033ca4: 009b lsls r3, r3, #2 70033ca6: 9307 str r3, [sp, #28] 70033ca8: 9b05 ldr r3, [sp, #20] 70033caa: f8dd 8004 ldr.w r8, [sp, #4] 70033cae: 2b00 cmp r3, #0 70033cb0: d05d beq.n 70033d6e <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x176> 70033cb2: f818 3b01 ldrb.w r3, [r8], #1 70033cb6: f003 030f and.w r3, r3, #15 70033cba: f856 3023 ldr.w r3, [r6, r3, lsl #2] 70033cbe: 9309 str r3, [sp, #36] @ 0x24 70033cc0: 0e1b lsrs r3, r3, #24 70033cc2: d161 bne.n 70033d88 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x190> 70033cc4: 9b03 ldr r3, [sp, #12] 70033cc6: f10a 0a04 add.w sl, sl, #4 70033cca: 3b01 subs r3, #1 70033ccc: 2b01 cmp r3, #1 70033cce: dd25 ble.n 70033d1c <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x124> 70033cd0: 3b02 subs r3, #2 70033cd2: f108 34ff add.w r4, r8, #4294967295 @ 0xffffffff 70033cd6: 4655 mov r5, sl 70033cd8: ea4f 0b53 mov.w fp, r3, lsr #1 70033cdc: 9302 str r3, [sp, #8] 70033cde: eb08 0753 add.w r7, r8, r3, lsr #1 70033ce2: f814 2f01 ldrb.w r2, [r4, #1]! 70033ce6: 0913 lsrs r3, r2, #4 70033ce8: f856 3023 ldr.w r3, [r6, r3, lsl #2] 70033cec: 9308 str r3, [sp, #32] 70033cee: 0e1b lsrs r3, r3, #24 70033cf0: d136 bne.n 70033d60 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x168> 70033cf2: f002 020f and.w r2, r2, #15 70033cf6: f856 3022 ldr.w r3, [r6, r2, lsl #2] 70033cfa: 9309 str r3, [sp, #36] @ 0x24 70033cfc: 0e1b lsrs r3, r3, #24 70033cfe: d126 bne.n 70033d4e <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x156> 70033d00: 42bc cmp r4, r7 70033d02: f105 0508 add.w r5, r5, #8 70033d06: d1ec bne.n 70033ce2 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xea> 70033d08: f10b 0201 add.w r2, fp, #1 70033d0c: 9b02 ldr r3, [sp, #8] 70033d0e: ebcb 7bcb rsb fp, fp, fp, lsl #31 70033d12: 4490 add r8, r2 70033d14: eb0a 0ac2 add.w sl, sl, r2, lsl #3 70033d18: eb03 034b add.w r3, r3, fp, lsl #1 70033d1c: 2b01 cmp r3, #1 70033d1e: d028 beq.n 70033d72 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x17a> 70033d20: 9a07 ldr r2, [sp, #28] 70033d22: f9bd 302c ldrsh.w r3, [sp, #44] @ 0x2c 70033d26: 4492 add sl, r2 70033d28: 9a04 ldr r2, [sp, #16] 70033d2a: 189b adds r3, r3, r2 70033d2c: 9a01 ldr r2, [sp, #4] 70033d2e: bf48 it mi 70033d30: 3301 addmi r3, #1 70033d32: eb02 0363 add.w r3, r2, r3, asr #1 70033d36: 9301 str r3, [sp, #4] 70033d38: 9b06 ldr r3, [sp, #24] 70033d3a: 4553 cmp r3, sl 70033d3c: d8b4 bhi.n 70033ca8 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xb0> 70033d3e: 4b18 ldr r3, [pc, #96] @ (70033da0 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1a8>) 70033d40: 6818 ldr r0, [r3, #0] 70033d42: 6803 ldr r3, [r0, #0] 70033d44: 6b1b ldr r3, [r3, #48] @ 0x30 70033d46: 4798 blx r3 70033d48: b00f add sp, #60 @ 0x3c 70033d4a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70033d4e: 1d29 adds r1, r5, #4 70033d50: 464a mov r2, r9 70033d52: a809 add r0, sp, #36 @ 0x24 70033d54: 3508 adds r5, #8 70033d56: f7fd fae5 bl 70031324 <_ZNK8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_32BPPEPKhPmhh.constprop.0> 70033d5a: 42bc cmp r4, r7 70033d5c: d1c1 bne.n 70033ce2 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xea> 70033d5e: e7d3 b.n 70033d08 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x110> 70033d60: 464a mov r2, r9 70033d62: 4629 mov r1, r5 70033d64: a808 add r0, sp, #32 70033d66: f7fd fadd bl 70031324 <_ZNK8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_32BPPEPKhPmhh.constprop.0> 70033d6a: 7822 ldrb r2, [r4, #0] 70033d6c: e7c1 b.n 70033cf2 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xfa> 70033d6e: 9b03 ldr r3, [sp, #12] 70033d70: e7ac b.n 70033ccc <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xd4> 70033d72: f898 3000 ldrb.w r3, [r8] 70033d76: 091b lsrs r3, r3, #4 70033d78: f856 3023 ldr.w r3, [r6, r3, lsl #2] 70033d7c: 9309 str r3, [sp, #36] @ 0x24 70033d7e: 0e1b lsrs r3, r3, #24 70033d80: d108 bne.n 70033d94 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x19c> 70033d82: f10a 0a04 add.w sl, sl, #4 70033d86: e7cb b.n 70033d20 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x128> 70033d88: 464a mov r2, r9 70033d8a: 4651 mov r1, sl 70033d8c: a809 add r0, sp, #36 @ 0x24 70033d8e: f7fd fac9 bl 70031324 <_ZNK8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_32BPPEPKhPmhh.constprop.0> 70033d92: e797 b.n 70033cc4 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xcc> 70033d94: 464a mov r2, r9 70033d96: 4651 mov r1, sl 70033d98: a809 add r0, sp, #36 @ 0x24 70033d9a: f7fd fac3 bl 70031324 <_ZNK8touchgfx12LCDGPU2D_AXI24blendPixelARGB8888_32BPPEPKhPmhh.constprop.0> 70033d9e: e7f0 b.n 70033d82 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x18a> 70033da0: 2400da80 .word 0x2400da80 70033da4: 2400da78 .word 0x2400da78 70033da8 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h>: 70033da8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70033dac: b097 sub sp, #92 @ 0x5c 70033dae: 461c mov r4, r3 70033db0: 4689 mov r9, r1 70033db2: f89d 3084 ldrb.w r3, [sp, #132] @ 0x84 70033db6: 9d20 ldr r5, [sp, #128] @ 0x80 70033db8: 6820 ldr r0, [r4, #0] 70033dba: 6861 ldr r1, [r4, #4] 70033dbc: 930a str r3, [sp, #40] @ 0x28 70033dbe: ab12 add r3, sp, #72 @ 0x48 70033dc0: 9206 str r2, [sp, #24] 70033dc2: c303 stmia r3!, {r0, r1} 70033dc4: 6828 ldr r0, [r5, #0] 70033dc6: 6869 ldr r1, [r5, #4] 70033dc8: c303 stmia r3!, {r0, r1} 70033dca: a812 add r0, sp, #72 @ 0x48 70033dcc: f7dc fffc bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 70033dd0: 4621 mov r1, r4 70033dd2: a814 add r0, sp, #80 @ 0x50 70033dd4: f7dd f83c bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 70033dd8: f9bd 104c ldrsh.w r1, [sp, #76] @ 0x4c 70033ddc: f5b1 6f80 cmp.w r1, #1024 @ 0x400 70033de0: b289 uxth r1, r1 70033de2: f340 814d ble.w 70034080 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2d8> 70033de6: 2301 movs r3, #1 70033de8: f9bd 2052 ldrsh.w r2, [sp, #82] @ 0x52 70033dec: f9bd 404e ldrsh.w r4, [sp, #78] @ 0x4e 70033df0: f8bd 0050 ldrh.w r0, [sp, #80] @ 0x50 70033df4: 441c add r4, r3 70033df6: fb92 f5f3 sdiv r5, r2, r3 70033dfa: 3c01 subs r4, #1 70033dfc: b2ae uxth r6, r5 70033dfe: fb94 f4f3 sdiv r4, r4, r3 70033e02: fb03 2316 mls r3, r3, r6, r2 70033e06: fb13 0301 smlabb r3, r3, r1, r0 70033e0a: fa1f fa83 uxth.w sl, r3 70033e0e: b126 cbz r6, 70033e1a <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x72> 70033e10: 9b06 ldr r3, [sp, #24] 70033e12: f853 3026 ldr.w r3, [r3, r6, lsl #2] 70033e16: ba1b rev r3, r3 70033e18: 4499 add r9, r3 70033e1a: f8bd 3048 ldrh.w r3, [sp, #72] @ 0x48 70033e1e: b2a4 uxth r4, r4 70033e20: f9bd 6054 ldrsh.w r6, [sp, #84] @ 0x54 70033e24: 4418 add r0, r3 70033e26: f8bd 304a ldrh.w r3, [sp, #74] @ 0x4a 70033e2a: 00a4 lsls r4, r4, #2 70033e2c: 9604 str r6, [sp, #16] 70033e2e: 441a add r2, r3 70033e30: 4b97 ldr r3, [pc, #604] @ (70034090 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2e8>) 70033e32: f8ad 0050 strh.w r0, [sp, #80] @ 0x50 70033e36: 6818 ldr r0, [r3, #0] 70033e38: f8ad 2052 strh.w r2, [sp, #82] @ 0x52 70033e3c: 6803 ldr r3, [r0, #0] 70033e3e: f9bd 5056 ldrsh.w r5, [sp, #86] @ 0x56 70033e42: 6adb ldr r3, [r3, #44] @ 0x2c 70033e44: 4798 blx r3 70033e46: 1d23 adds r3, r4, #4 70033e48: f9bd 1052 ldrsh.w r1, [sp, #82] @ 0x52 70033e4c: f1ba 0f00 cmp.w sl, #0 70033e50: 9307 str r3, [sp, #28] 70033e52: 4b90 ldr r3, [pc, #576] @ (70034094 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2ec>) 70033e54: f9bd 2050 ldrsh.w r2, [sp, #80] @ 0x50 70033e58: 881b ldrh r3, [r3, #0] 70033e5a: fb03 2201 mla r2, r3, r1, r2 70033e5e: fb03 f505 mul.w r5, r3, r5 70033e62: eb00 0482 add.w r4, r0, r2, lsl #2 70033e66: bf0c ite eq 70033e68: 4632 moveq r2, r6 70033e6a: 2200 movne r2, #0 70033e6c: eb04 0185 add.w r1, r4, r5, lsl #2 70033e70: fa1f fb82 uxth.w fp, r2 70033e74: 428c cmp r4, r1 70033e76: 4608 mov r0, r1 70033e78: d234 bcs.n 70033ee4 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x13c> 70033e7a: 9a04 ldr r2, [sp, #16] 70033e7c: f04f 0800 mov.w r8, #0 70033e80: 465f mov r7, fp 70033e82: 9402 str r4, [sp, #8] 70033e84: 1a9b subs r3, r3, r2 70033e86: f8cd a00c str.w sl, [sp, #12] 70033e8a: 4642 mov r2, r8 70033e8c: f8cd 8004 str.w r8, [sp, #4] 70033e90: 009b lsls r3, r3, #2 70033e92: 9309 str r3, [sp, #36] @ 0x24 70033e94: e007 b.n 70033ea6 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xfe> 70033e96: 1a5b subs r3, r3, r1 70033e98: b29b uxth r3, r3 70033e9a: 9303 str r3, [sp, #12] 70033e9c: 2300 movs r3, #0 70033e9e: 9301 str r3, [sp, #4] 70033ea0: 9b02 ldr r3, [sp, #8] 70033ea2: 4298 cmp r0, r3 70033ea4: d91e bls.n 70033ee4 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x13c> 70033ea6: 9b01 ldr r3, [sp, #4] 70033ea8: b95b cbnz r3, 70033ec2 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x11a> 70033eaa: f899 2000 ldrb.w r2, [r9] 70033eae: 0991 lsrs r1, r2, #6 70033eb0: f002 023f and.w r2, r2, #63 @ 0x3f 70033eb4: 1e4d subs r5, r1, #1 70033eb6: 2d02 cmp r5, #2 70033eb8: f200 80b0 bhi.w 7003401c <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x274> 70033ebc: f109 0901 add.w r9, r9, #1 70033ec0: 9101 str r1, [sp, #4] 70033ec2: 9b03 ldr r3, [sp, #12] 70033ec4: b1b3 cbz r3, 70033ef4 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x14c> 70033ec6: 9901 ldr r1, [sp, #4] 70033ec8: 4299 cmp r1, r3 70033eca: d3e4 bcc.n 70033e96 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xee> 70033ecc: 460b mov r3, r1 70033ece: 9903 ldr r1, [sp, #12] 70033ed0: f8bd 7010 ldrh.w r7, [sp, #16] 70033ed4: 1a5b subs r3, r3, r1 70033ed6: b29b uxth r3, r3 70033ed8: 9301 str r3, [sp, #4] 70033eda: 2300 movs r3, #0 70033edc: 9303 str r3, [sp, #12] 70033ede: 9b02 ldr r3, [sp, #8] 70033ee0: 4298 cmp r0, r3 70033ee2: d8e0 bhi.n 70033ea6 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xfe> 70033ee4: 4b6a ldr r3, [pc, #424] @ (70034090 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2e8>) 70033ee6: 6818 ldr r0, [r3, #0] 70033ee8: 6803 ldr r3, [r0, #0] 70033eea: 6b1b ldr r3, [r3, #48] @ 0x30 70033eec: 4798 blx r3 70033eee: b017 add sp, #92 @ 0x5c 70033ef0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70033ef4: 2304 movs r3, #4 70033ef6: 4619 mov r1, r3 70033ef8: 9b07 ldr r3, [sp, #28] 70033efa: fb11 3502 smlabb r5, r1, r2, r3 70033efe: 9b06 ldr r3, [sp, #24] 70033f00: 595e ldr r6, [r3, r5] 70033f02: 9b01 ldr r3, [sp, #4] 70033f04: 0e35 lsrs r5, r6, #24 70033f06: 42bb cmp r3, r7 70033f08: f0c0 809f bcc.w 7003404a <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2a2> 70033f0c: eba3 0c07 sub.w ip, r3, r7 70033f10: fa1f f38c uxth.w r3, ip 70033f14: 9305 str r3, [sp, #20] 70033f16: 2f00 cmp r7, #0 70033f18: f000 8086 beq.w 70034028 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x280> 70033f1c: 9b03 ldr r3, [sp, #12] 70033f1e: 46b8 mov r8, r7 70033f20: 9308 str r3, [sp, #32] 70033f22: 2d00 cmp r5, #0 70033f24: d06f beq.n 70034006 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x25e> 70033f26: 9b0a ldr r3, [sp, #40] @ 0x28 70033f28: f026 417f bic.w r1, r6, #4278190080 @ 0xff000000 70033f2c: f3c6 4c07 ubfx ip, r6, #16, #8 70033f30: fb03 f505 mul.w r5, r3, r5 70033f34: f3c6 2307 ubfx r3, r6, #8, #8 70033f38: b2f6 uxtb r6, r6 70033f3a: f3c5 240f ubfx r4, r5, #8, #16 70033f3e: 3501 adds r5, #1 70033f40: fa14 f585 uxtah r5, r4, r5 70033f44: 122d asrs r5, r5, #8 70033f46: ea41 6a05 orr.w sl, r1, r5, lsl #24 70033f4a: 2d00 cmp r5, #0 70033f4c: f000 8087 beq.w 7003405e <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2b6> 70033f50: fb05 f303 mul.w r3, r5, r3 70033f54: fa5f fe85 uxtb.w lr, r5 70033f58: fb05 f106 mul.w r1, r5, r6 70033f5c: f108 36ff add.w r6, r8, #4294967295 @ 0xffffffff 70033f60: 930c str r3, [sp, #48] @ 0x30 70033f62: fb05 f30c mul.w r3, r5, ip 70033f66: b2b6 uxth r6, r6 70033f68: 910e str r1, [sp, #56] @ 0x38 70033f6a: b2a9 uxth r1, r5 70033f6c: 930d str r3, [sp, #52] @ 0x34 70033f6e: 9b02 ldr r3, [sp, #8] 70033f70: 9711 str r7, [sp, #68] @ 0x44 70033f72: 460f mov r7, r1 70033f74: eb03 0b86 add.w fp, r3, r6, lsl #2 70033f78: 1f1d subs r5, r3, #4 70033f7a: f1ae 03ff sub.w r3, lr, #255 @ 0xff 70033f7e: fab3 f383 clz r3, r3 70033f82: 095b lsrs r3, r3, #5 70033f84: e9cd 080f strd r0, r8, [sp, #60] @ 0x3c 70033f88: 469c mov ip, r3 70033f8a: 4690 mov r8, r2 70033f8c: f855 3f04 ldr.w r3, [r5, #4]! 70033f90: 4651 mov r1, sl 70033f92: 0e18 lsrs r0, r3, #24 70033f94: 0e1c lsrs r4, r3, #24 70033f96: fb10 f207 smulbb r2, r0, r7 70033f9a: 4474 add r4, lr 70033f9c: d02c beq.n 70033ff8 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x250> 70033f9e: b292 uxth r2, r2 70033fa0: f1bc 0f00 cmp.w ip, #0 70033fa4: d128 bne.n 70033ff8 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x250> 70033fa6: f3c3 4107 ubfx r1, r3, #16, #8 70033faa: f3c3 2607 ubfx r6, r3, #8, #8 70033fae: b2db uxtb r3, r3 70033fb0: 930b str r3, [sp, #44] @ 0x2c 70033fb2: 1c53 adds r3, r2, #1 70033fb4: 0a12 lsrs r2, r2, #8 70033fb6: fa12 f283 uxtah r2, r2, r3 70033fba: 9b0d ldr r3, [sp, #52] @ 0x34 70033fbc: eba0 2012 sub.w r0, r0, r2, lsr #8 70033fc0: eba4 2212 sub.w r2, r4, r2, lsr #8 70033fc4: 9c0b ldr r4, [sp, #44] @ 0x2c 70033fc6: fb00 3101 mla r1, r0, r1, r3 70033fca: 9b0c ldr r3, [sp, #48] @ 0x30 70033fcc: b2d2 uxtb r2, r2 70033fce: fb00 3606 mla r6, r0, r6, r3 70033fd2: 9b0e ldr r3, [sp, #56] @ 0x38 70033fd4: fbb1 f1f2 udiv r1, r1, r2 70033fd8: fbb6 f6f2 udiv r6, r6, r2 70033fdc: fb00 3004 mla r0, r0, r4, r3 70033fe0: 0409 lsls r1, r1, #16 70033fe2: 0236 lsls r6, r6, #8 70033fe4: f401 017f and.w r1, r1, #16711680 @ 0xff0000 70033fe8: b2b6 uxth r6, r6 70033fea: fbb0 f0f2 udiv r0, r0, r2 70033fee: 4331 orrs r1, r6 70033ff0: b2c0 uxtb r0, r0 70033ff2: ea41 6102 orr.w r1, r1, r2, lsl #24 70033ff6: 4301 orrs r1, r0 70033ff8: 45ab cmp fp, r5 70033ffa: 6029 str r1, [r5, #0] 70033ffc: d1c6 bne.n 70033f8c <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1e4> 70033ffe: 4642 mov r2, r8 70034000: 9f11 ldr r7, [sp, #68] @ 0x44 70034002: e9dd 080f ldrd r0, r8, [sp, #60] @ 0x3c 70034006: 9b02 ldr r3, [sp, #8] 70034008: eb03 0388 add.w r3, r3, r8, lsl #2 7003400c: 9302 str r3, [sp, #8] 7003400e: 9b01 ldr r3, [sp, #4] 70034010: 42bb cmp r3, r7 70034012: d209 bcs.n 70034028 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x280> 70034014: 9b05 ldr r3, [sp, #20] 70034016: 9f08 ldr r7, [sp, #32] 70034018: 9301 str r3, [sp, #4] 7003401a: e741 b.n 70033ea0 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xf8> 7003401c: f899 3001 ldrb.w r3, [r9, #1] 70034020: f109 0902 add.w r9, r9, #2 70034024: 9301 str r3, [sp, #4] 70034026: e74c b.n 70033ec2 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x11a> 70034028: 9b02 ldr r3, [sp, #8] 7003402a: 9909 ldr r1, [sp, #36] @ 0x24 7003402c: f8bd 7010 ldrh.w r7, [sp, #16] 70034030: 440b add r3, r1 70034032: 9302 str r3, [sp, #8] 70034034: 9b05 ldr r3, [sp, #20] 70034036: 9301 str r3, [sp, #4] 70034038: f8bd 304c ldrh.w r3, [sp, #76] @ 0x4c 7003403c: 1bdb subs r3, r3, r7 7003403e: b29b uxth r3, r3 70034040: 2b00 cmp r3, #0 70034042: 9303 str r3, [sp, #12] 70034044: bf18 it ne 70034046: 2700 movne r7, #0 70034048: e72a b.n 70033ea0 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xf8> 7003404a: eba7 0c03 sub.w ip, r7, r3 7003404e: fa1f f18c uxth.w r1, ip 70034052: 9108 str r1, [sp, #32] 70034054: b1cb cbz r3, 7003408a <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2e2> 70034056: 4698 mov r8, r3 70034058: 9b03 ldr r3, [sp, #12] 7003405a: 9305 str r3, [sp, #20] 7003405c: e761 b.n 70033f22 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x17a> 7003405e: f108 3cff add.w ip, r8, #4294967295 @ 0xffffffff 70034062: 9b02 ldr r3, [sp, #8] 70034064: 4651 mov r1, sl 70034066: fa1f fc8c uxth.w ip, ip 7003406a: 1f1d subs r5, r3, #4 7003406c: eb03 0c8c add.w ip, r3, ip, lsl #2 70034070: f855 3f04 ldr.w r3, [r5, #4]! 70034074: 0e1b lsrs r3, r3, #24 70034076: bf08 it eq 70034078: 6029 streq r1, [r5, #0] 7003407a: 4565 cmp r5, ip 7003407c: d1f8 bne.n 70034070 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2c8> 7003407e: e7c2 b.n 70034006 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x25e> 70034080: f44f 6380 mov.w r3, #1024 @ 0x400 70034084: fbb3 f3f1 udiv r3, r3, r1 70034088: e6ae b.n 70033de8 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x40> 7003408a: 460f mov r7, r1 7003408c: e708 b.n 70033ea0 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xf8> 7003408e: bf00 nop 70034090: 2400da80 .word 0x2400da80 70034094: 2400da78 .word 0x2400da78 70034098 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h>: 70034098: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7003409c: b0a1 sub sp, #132 @ 0x84 7003409e: 461c mov r4, r3 700340a0: 4683 mov fp, r0 700340a2: 460d mov r5, r1 700340a4: 6818 ldr r0, [r3, #0] 700340a6: 4690 mov r8, r2 700340a8: 6859 ldr r1, [r3, #4] 700340aa: ab1c add r3, sp, #112 @ 0x70 700340ac: 9e2a ldr r6, [sp, #168] @ 0xa8 700340ae: c303 stmia r3!, {r0, r1} 700340b0: 6830 ldr r0, [r6, #0] 700340b2: 6871 ldr r1, [r6, #4] 700340b4: c303 stmia r3!, {r0, r1} 700340b6: f89d 30ac ldrb.w r3, [sp, #172] @ 0xac 700340ba: a81c add r0, sp, #112 @ 0x70 700340bc: 9302 str r3, [sp, #8] 700340be: f7dc fe83 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 700340c2: 4621 mov r1, r4 700340c4: a81e add r0, sp, #120 @ 0x78 700340c6: f7dc fec3 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 700340ca: f9bd 1074 ldrsh.w r1, [sp, #116] @ 0x74 700340ce: f5b1 6f80 cmp.w r1, #1024 @ 0x400 700340d2: b289 uxth r1, r1 700340d4: f340 81f6 ble.w 700344c4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x42c> 700340d8: 2301 movs r3, #1 700340da: 931a str r3, [sp, #104] @ 0x68 700340dc: f9bd 207a ldrsh.w r2, [sp, #122] @ 0x7a 700340e0: f04f 0a04 mov.w sl, #4 700340e4: f9bd 4076 ldrsh.w r4, [sp, #118] @ 0x76 700340e8: f9bd 707e ldrsh.w r7, [sp, #126] @ 0x7e 700340ec: 441c add r4, r3 700340ee: fb92 f0f3 sdiv r0, r2, r3 700340f2: 3c01 subs r4, #1 700340f4: b280 uxth r0, r0 700340f6: fb94 f4f3 sdiv r4, r4, r3 700340fa: 9005 str r0, [sp, #20] 700340fc: 3401 adds r4, #1 700340fe: fb03 2310 mls r3, r3, r0, r2 70034102: f8bd 0078 ldrh.w r0, [sp, #120] @ 0x78 70034106: b2a4 uxth r4, r4 70034108: fb13 0301 smlabb r3, r3, r1, r0 7003410c: 00a4 lsls r4, r4, #2 7003410e: b29b uxth r3, r3 70034110: 461e mov r6, r3 70034112: 9301 str r3, [sp, #4] 70034114: f8bd 3070 ldrh.w r3, [sp, #112] @ 0x70 70034118: 4418 add r0, r3 7003411a: f8bd 3072 ldrh.w r3, [sp, #114] @ 0x72 7003411e: 441a add r2, r3 70034120: 4bb4 ldr r3, [pc, #720] @ (700343f4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x35c>) 70034122: f8ad 0078 strh.w r0, [sp, #120] @ 0x78 70034126: 6818 ldr r0, [r3, #0] 70034128: f8ad 207a strh.w r2, [sp, #122] @ 0x7a 7003412c: f9bd 207c ldrsh.w r2, [sp, #124] @ 0x7c 70034130: 6803 ldr r3, [r0, #0] 70034132: 920f str r2, [sp, #60] @ 0x3c 70034134: 6adb ldr r3, [r3, #44] @ 0x2c 70034136: 4798 blx r3 70034138: 4baf ldr r3, [pc, #700] @ (700343f8 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x360>) 7003413a: 2e00 cmp r6, #0 7003413c: f9bd 2078 ldrsh.w r2, [sp, #120] @ 0x78 70034140: f104 0604 add.w r6, r4, #4 70034144: 881b ldrh r3, [r3, #0] 70034146: f9bd 407a ldrsh.w r4, [sp, #122] @ 0x7a 7003414a: 46de mov lr, fp 7003414c: fb07 f103 mul.w r1, r7, r3 70034150: f04f 0700 mov.w r7, #0 70034154: fb03 2204 mla r2, r3, r4, r2 70034158: 46b1 mov r9, r6 7003415a: 46bc mov ip, r7 7003415c: 9e05 ldr r6, [sp, #20] 7003415e: eb00 0482 add.w r4, r0, r2, lsl #2 70034162: 9a0f ldr r2, [sp, #60] @ 0x3c 70034164: 462f mov r7, r5 70034166: eba3 0302 sub.w r3, r3, r2 7003416a: eb04 0181 add.w r1, r4, r1, lsl #2 7003416e: 9403 str r4, [sp, #12] 70034170: ea4f 0383 mov.w r3, r3, lsl #2 70034174: 9109 str r1, [sp, #36] @ 0x24 70034176: f10b 010e add.w r1, fp, #14 7003417a: 9319 str r3, [sp, #100] @ 0x64 7003417c: bf0c ite eq 7003417e: 4613 moveq r3, r2 70034180: 2300 movne r3, #0 70034182: 911b str r1, [sp, #108] @ 0x6c 70034184: b29b uxth r3, r3 70034186: 9304 str r3, [sp, #16] 70034188: 9b03 ldr r3, [sp, #12] 7003418a: 9a09 ldr r2, [sp, #36] @ 0x24 7003418c: 4293 cmp r3, r2 7003418e: f080 810d bcs.w 700343ac <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x314> 70034192: 9b01 ldr r3, [sp, #4] 70034194: fa16 f28c uxtah r2, r6, ip 70034198: f8bd 1074 ldrh.w r1, [sp, #116] @ 0x74 7003419c: 2500 movs r5, #0 7003419e: 0092 lsls r2, r2, #2 700341a0: 46c3 mov fp, r8 700341a2: 9516 str r5, [sp, #88] @ 0x58 700341a4: 3204 adds r2, #4 700341a6: 9618 str r6, [sp, #96] @ 0x60 700341a8: fbb3 f1f1 udiv r1, r3, r1 700341ac: 9b1a ldr r3, [sp, #104] @ 0x68 700341ae: f818 0002 ldrb.w r0, [r8, r2] 700341b2: 1a59 subs r1, r3, r1 700341b4: 900c str r0, [sp, #48] @ 0x30 700341b6: b28b uxth r3, r1 700341b8: eb08 0102 add.w r1, r8, r2 700341bc: 46f0 mov r8, lr 700341be: 788a ldrb r2, [r1, #2] 700341c0: 784c ldrb r4, [r1, #1] 700341c2: 0212 lsls r2, r2, #8 700341c4: 78c9 ldrb r1, [r1, #3] 700341c6: 9317 str r3, [sp, #92] @ 0x5c 700341c8: 2301 movs r3, #1 700341ca: ea42 4204 orr.w r2, r2, r4, lsl #16 700341ce: 930b str r3, [sp, #44] @ 0x2c 700341d0: 461c mov r4, r3 700341d2: 430a orrs r2, r1 700341d4: 9305 str r3, [sp, #20] 700341d6: 18c1 adds r1, r0, r3 700341d8: 18bb adds r3, r7, r2 700341da: 9107 str r1, [sp, #28] 700341dc: 5cb9 ldrb r1, [r7, r2] 700341de: 785a ldrb r2, [r3, #1] 700341e0: 4423 add r3, r4 700341e2: f88e 100d strb.w r1, [lr, #13] 700341e6: 0212 lsls r2, r2, #8 700341e8: 9306 str r3, [sp, #24] 700341ea: f402 7280 and.w r2, r2, #256 @ 0x100 700341ee: ea41 0302 orr.w r3, r1, r2 700341f2: 930a str r3, [sp, #40] @ 0x28 700341f4: 9b01 ldr r3, [sp, #4] 700341f6: 2b00 cmp r3, #0 700341f8: d032 beq.n 70034260 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1c8> 700341fa: 429c cmp r4, r3 700341fc: f080 80c8 bcs.w 70034390 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2f8> 70034200: 1b18 subs r0, r3, r4 70034202: 9a03 ldr r2, [sp, #12] 70034204: b283 uxth r3, r0 70034206: 9301 str r3, [sp, #4] 70034208: 9b09 ldr r3, [sp, #36] @ 0x24 7003420a: 4293 cmp r3, r2 7003420c: f240 80ce bls.w 700343ac <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x314> 70034210: 9805 ldr r0, [sp, #20] 70034212: 9906 ldr r1, [sp, #24] 70034214: f1c0 0307 rsb r3, r0, #7 70034218: 784a ldrb r2, [r1, #1] 7003421a: 409a lsls r2, r3 7003421c: 780b ldrb r3, [r1, #0] 7003421e: b2d2 uxtb r2, r2 70034220: 4103 asrs r3, r0 70034222: ea43 0342 orr.w r3, r3, r2, lsl #1 70034226: 1c42 adds r2, r0, #1 70034228: b2d2 uxtb r2, r2 7003422a: 4610 mov r0, r2 7003422c: 9205 str r2, [sp, #20] 7003422e: b29a uxth r2, r3 70034230: 2808 cmp r0, #8 70034232: f000 80e3 beq.w 700343fc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x364> 70034236: 3101 adds r1, #1 70034238: 9106 str r1, [sp, #24] 7003423a: 990c ldr r1, [sp, #48] @ 0x30 7003423c: 4291 cmp r1, r2 7003423e: f0c0 80bd bcc.w 700343bc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x324> 70034242: 9907 ldr r1, [sp, #28] 70034244: b2db uxtb r3, r3 70034246: 2401 movs r4, #1 70034248: f5b1 7f00 cmp.w r1, #512 @ 0x200 7003424c: f888 300d strb.w r3, [r8, #13] 70034250: f0c0 811a bcc.w 70034488 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x3f0> 70034254: 9b01 ldr r3, [sp, #4] 70034256: 2500 movs r5, #0 70034258: e9cd 240a strd r2, r4, [sp, #40] @ 0x28 7003425c: 2b00 cmp r3, #0 7003425e: d1cc bne.n 700341fa <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x162> 70034260: 9904 ldr r1, [sp, #16] 70034262: 428c cmp r4, r1 70034264: f0c0 80eb bcc.w 7003443e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x3a6> 70034268: 1a63 subs r3, r4, r1 7003426a: b29a uxth r2, r3 7003426c: 2900 cmp r1, #0 7003426e: f000 80ca beq.w 70034406 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x36e> 70034272: 460b mov r3, r1 70034274: 9801 ldr r0, [sp, #4] 70034276: eb05 0e03 add.w lr, r5, r3 7003427a: 9212 str r2, [sp, #72] @ 0x48 7003427c: 9903 ldr r1, [sp, #12] 7003427e: fa1f fe8e uxth.w lr, lr 70034282: 9715 str r7, [sp, #84] @ 0x54 70034284: 4672 mov r2, lr 70034286: 46ce mov lr, r9 70034288: 4691 mov r9, r2 7003428a: e9cd 4010 strd r4, r0, [sp, #64] @ 0x40 7003428e: e9cd c313 strd ip, r3, [sp, #76] @ 0x4c 70034292: 462b mov r3, r5 70034294: 9802 ldr r0, [sp, #8] 70034296: 3501 adds r5, #1 70034298: 4443 add r3, r8 7003429a: b2ad uxth r5, r5 7003429c: 7b5b ldrb r3, [r3, #13] 7003429e: fb1a e303 smlabb r3, sl, r3, lr 700342a2: f85b 2003 ldr.w r2, [fp, r3] 700342a6: 0e13 lsrs r3, r2, #24 700342a8: fb00 f303 mul.w r3, r0, r3 700342ac: d052 beq.n 70034354 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2bc> 700342ae: f3c3 240f ubfx r4, r3, #8, #16 700342b2: 3301 adds r3, #1 700342b4: 6808 ldr r0, [r1, #0] 700342b6: f022 467f bic.w r6, r2, #4278190080 @ 0xff000000 700342ba: fa14 f383 uxtah r3, r4, r3 700342be: ea4f 6c10 mov.w ip, r0, lsr #24 700342c2: f3c3 2707 ubfx r7, r3, #8, #8 700342c6: 121b asrs r3, r3, #8 700342c8: 4664 mov r4, ip 700342ca: 2fff cmp r7, #255 @ 0xff 700342cc: ea46 6603 orr.w r6, r6, r3, lsl #24 700342d0: d03f beq.n 70034352 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2ba> 700342d2: 2c00 cmp r4, #0 700342d4: d03d beq.n 70034352 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2ba> 700342d6: 443c add r4, r7 700342d8: fb13 f70c smulbb r7, r3, ip 700342dc: 2b00 cmp r3, #0 700342de: d039 beq.n 70034354 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2bc> 700342e0: b2bf uxth r7, r7 700342e2: 1c7e adds r6, r7, #1 700342e4: 0a3f lsrs r7, r7, #8 700342e6: fa17 f686 uxtah r6, r7, r6 700342ea: f3c2 4707 ubfx r7, r2, #16, #8 700342ee: ebac 2c16 sub.w ip, ip, r6, lsr #8 700342f2: 9708 str r7, [sp, #32] 700342f4: eba4 2616 sub.w r6, r4, r6, lsr #8 700342f8: f3c2 2407 ubfx r4, r2, #8, #8 700342fc: f3c0 4707 ubfx r7, r0, #16, #8 70034300: b2d2 uxtb r2, r2 70034302: b2f6 uxtb r6, r6 70034304: 940e str r4, [sp, #56] @ 0x38 70034306: 970d str r7, [sp, #52] @ 0x34 70034308: f3c0 2407 ubfx r4, r0, #8, #8 7003430c: 9f08 ldr r7, [sp, #32] 7003430e: b2c0 uxtb r0, r0 70034310: 9608 str r6, [sp, #32] 70034312: 9e0e ldr r6, [sp, #56] @ 0x38 70034314: fb03 f707 mul.w r7, r3, r7 70034318: fb0c f000 mul.w r0, ip, r0 7003431c: fb03 f606 mul.w r6, r3, r6 70034320: fb03 0202 mla r2, r3, r2, r0 70034324: 9b08 ldr r3, [sp, #32] 70034326: fb0c 6404 mla r4, ip, r4, r6 7003432a: 9e0d ldr r6, [sp, #52] @ 0x34 7003432c: fb0c 7706 mla r7, ip, r6, r7 70034330: 9e08 ldr r6, [sp, #32] 70034332: fbb7 f7f6 udiv r7, r7, r6 70034336: fbb4 f6f6 udiv r6, r4, r6 7003433a: 043f lsls r7, r7, #16 7003433c: 0236 lsls r6, r6, #8 7003433e: f407 077f and.w r7, r7, #16711680 @ 0xff0000 70034342: b2b6 uxth r6, r6 70034344: fbb2 f2f3 udiv r2, r2, r3 70034348: 433e orrs r6, r7 7003434a: b2d2 uxtb r2, r2 7003434c: ea46 6603 orr.w r6, r6, r3, lsl #24 70034350: 4316 orrs r6, r2 70034352: 600e str r6, [r1, #0] 70034354: 454d cmp r5, r9 70034356: f101 0104 add.w r1, r1, #4 7003435a: d19a bne.n 70034292 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1fa> 7003435c: 4649 mov r1, r9 7003435e: 46f1 mov r9, lr 70034360: 9a12 ldr r2, [sp, #72] @ 0x48 70034362: 468e mov lr, r1 70034364: 9903 ldr r1, [sp, #12] 70034366: 9f15 ldr r7, [sp, #84] @ 0x54 70034368: e9dd c313 ldrd ip, r3, [sp, #76] @ 0x4c 7003436c: e9dd 4010 ldrd r4, r0, [sp, #64] @ 0x40 70034370: eb01 0383 add.w r3, r1, r3, lsl #2 70034374: 9303 str r3, [sp, #12] 70034376: 9b04 ldr r3, [sp, #16] 70034378: 429c cmp r4, r3 7003437a: d245 bcs.n 70034408 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x370> 7003437c: 4614 mov r4, r2 7003437e: 9004 str r0, [sp, #16] 70034380: 9b03 ldr r3, [sp, #12] 70034382: 9a09 ldr r2, [sp, #36] @ 0x24 70034384: 4293 cmp r3, r2 70034386: d211 bcs.n 700343ac <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x314> 70034388: 2c00 cmp r4, #0 7003438a: f47f af33 bne.w 700341f4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x15c> 7003438e: e73f b.n 70034210 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x178> 70034390: 461a mov r2, r3 70034392: 1ae3 subs r3, r4, r3 70034394: b29c uxth r4, r3 70034396: f8bd 303c ldrh.w r3, [sp, #60] @ 0x3c 7003439a: 4415 add r5, r2 7003439c: 9a09 ldr r2, [sp, #36] @ 0x24 7003439e: 9304 str r3, [sp, #16] 700343a0: 2300 movs r3, #0 700343a2: b2ad uxth r5, r5 700343a4: 9301 str r3, [sp, #4] 700343a6: 9b03 ldr r3, [sp, #12] 700343a8: 4293 cmp r3, r2 700343aa: d3ed bcc.n 70034388 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2f0> 700343ac: 4b11 ldr r3, [pc, #68] @ (700343f4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x35c>) 700343ae: 6818 ldr r0, [r3, #0] 700343b0: 6803 ldr r3, [r0, #0] 700343b2: 6b1b ldr r3, [r3, #48] @ 0x30 700343b4: 4798 blx r3 700343b6: b021 add sp, #132 @ 0x84 700343b8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700343bc: 9907 ldr r1, [sp, #28] 700343be: 4291 cmp r1, r2 700343c0: d843 bhi.n 7003444a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x3b2> 700343c2: 980b ldr r0, [sp, #44] @ 0x2c 700343c4: f898 300d ldrb.w r3, [r8, #13] 700343c8: eb08 0100 add.w r1, r8, r0 700343cc: 734b strb r3, [r1, #13] 700343ce: 1c41 adds r1, r0, #1 700343d0: b28c uxth r4, r1 700343d2: 9807 ldr r0, [sp, #28] 700343d4: 9e0a ldr r6, [sp, #40] @ 0x28 700343d6: eb08 0580 add.w r5, r8, r0, lsl #2 700343da: 920a str r2, [sp, #40] @ 0x28 700343dc: 940b str r4, [sp, #44] @ 0x2c 700343de: f885 304e strb.w r3, [r5, #78] @ 0x4e 700343e2: 1c43 adds r3, r0, #1 700343e4: f8a5 6050 strh.w r6, [r5, #80] @ 0x50 700343e8: b29b uxth r3, r3 700343ea: f885 104f strb.w r1, [r5, #79] @ 0x4f 700343ee: 2500 movs r5, #0 700343f0: 9307 str r3, [sp, #28] 700343f2: e6ff b.n 700341f4 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x15c> 700343f4: 2400da80 .word 0x2400da80 700343f8: 2400da78 .word 0x2400da78 700343fc: 3102 adds r1, #2 700343fe: 9106 str r1, [sp, #24] 70034400: 2100 movs r1, #0 70034402: 9105 str r1, [sp, #20] 70034404: e719 b.n 7003423a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1a2> 70034406: 46ae mov lr, r5 70034408: 9903 ldr r1, [sp, #12] 7003440a: 9819 ldr r0, [sp, #100] @ 0x64 7003440c: 9b16 ldr r3, [sp, #88] @ 0x58 7003440e: 4401 add r1, r0 70034410: 3301 adds r3, #1 70034412: 9103 str r1, [sp, #12] 70034414: 9917 ldr r1, [sp, #92] @ 0x5c 70034416: 9316 str r3, [sp, #88] @ 0x58 70034418: 4299 cmp r1, r3 7003441a: d040 beq.n 7003449e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x406> 7003441c: f8bd 303c ldrh.w r3, [sp, #60] @ 0x3c 70034420: 4675 mov r5, lr 70034422: f8bd 0074 ldrh.w r0, [sp, #116] @ 0x74 70034426: 4614 mov r4, r2 70034428: 1ac0 subs r0, r0, r3 7003442a: b280 uxth r0, r0 7003442c: 2800 cmp r0, #0 7003442e: bf18 it ne 70034430: 2300 movne r3, #0 70034432: 9304 str r3, [sp, #16] 70034434: bf14 ite ne 70034436: 4603 movne r3, r0 70034438: 2300 moveq r3, #0 7003443a: 9301 str r3, [sp, #4] 7003443c: e7a0 b.n 70034380 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x2e8> 7003443e: 1b0b subs r3, r1, r4 70034440: b298 uxth r0, r3 70034442: b324 cbz r4, 7003448e <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x3f6> 70034444: 4623 mov r3, r4 70034446: 9a01 ldr r2, [sp, #4] 70034448: e715 b.n 70034276 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1de> 7003444a: eb08 0383 add.w r3, r8, r3, lsl #2 7003444e: f893 404f ldrb.w r4, [r3, #79] @ 0x4f 70034452: 2c01 cmp r4, #1 70034454: d921 bls.n 7003449a <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x402> 70034456: f104 010d add.w r1, r4, #13 7003445a: 4613 mov r3, r2 7003445c: 9e18 ldr r6, [sp, #96] @ 0x60 7003445e: 4441 add r1, r8 70034460: 9d1b ldr r5, [sp, #108] @ 0x6c 70034462: eb08 0383 add.w r3, r8, r3, lsl #2 70034466: f893 004e ldrb.w r0, [r3, #78] @ 0x4e 7003446a: f801 0d01 strb.w r0, [r1, #-1]! 7003446e: 42a9 cmp r1, r5 70034470: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 70034474: d1f5 bne.n 70034462 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x3ca> 70034476: 9618 str r6, [sp, #96] @ 0x60 70034478: 9907 ldr r1, [sp, #28] 7003447a: b2db uxtb r3, r3 7003447c: f5b1 7f00 cmp.w r1, #512 @ 0x200 70034480: f888 300d strb.w r3, [r8, #13] 70034484: f4bf aee6 bcs.w 70034254 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x1bc> 70034488: 990b ldr r1, [sp, #44] @ 0x2c 7003448a: 3101 adds r1, #1 7003448c: e7a1 b.n 700343d2 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x33a> 7003448e: 9b09 ldr r3, [sp, #36] @ 0x24 70034490: 9a03 ldr r2, [sp, #12] 70034492: 4293 cmp r3, r2 70034494: d98a bls.n 700343ac <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x314> 70034496: 9004 str r0, [sp, #16] 70034498: e6ba b.n 70034210 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x178> 7003449a: 4613 mov r3, r2 7003449c: e7ec b.n 70034478 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x3e0> 7003449e: f8bd 3078 ldrh.w r3, [sp, #120] @ 0x78 700344a2: 46c6 mov lr, r8 700344a4: f8bd 2070 ldrh.w r2, [sp, #112] @ 0x70 700344a8: 46d8 mov r8, fp 700344aa: 9e18 ldr r6, [sp, #96] @ 0x60 700344ac: f10c 0c01 add.w ip, ip, #1 700344b0: 1a9b subs r3, r3, r2 700344b2: b29b uxth r3, r3 700344b4: 2b00 cmp r3, #0 700344b6: 9301 str r3, [sp, #4] 700344b8: 9b0f ldr r3, [sp, #60] @ 0x3c 700344ba: bf18 it ne 700344bc: 2300 movne r3, #0 700344be: b29b uxth r3, r3 700344c0: 9304 str r3, [sp, #16] 700344c2: e661 b.n 70034188 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0xf0> 700344c4: f44f 6380 mov.w r3, #1024 @ 0x400 700344c8: fbb3 f3f1 udiv r3, r3, r1 700344cc: 931a str r3, [sp, #104] @ 0x68 700344ce: e605 b.n 700340dc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h+0x44> 700344d0 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h>: 700344d0: 4694 mov ip, r2 700344d2: 461a mov r2, r3 700344d4: b570 push {r4, r5, r6, lr} 700344d6: f89c 4000 ldrb.w r4, [ip] 700344da: 468e mov lr, r1 700344dc: 9e04 ldr r6, [sp, #16] 700344de: f89d 5014 ldrb.w r5, [sp, #20] 700344e2: f89c 3001 ldrb.w r3, [ip, #1] 700344e6: b134 cbz r4, 700344f6 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x26> 700344e8: 2c01 cmp r4, #1 700344ea: d103 bne.n 700344f4 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x24> 700344ec: 7b01 ldrb r1, [r0, #12] 700344ee: b1c1 cbz r1, 70034522 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x52> 700344f0: 2902 cmp r1, #2 700344f2: d00a beq.n 7003450a <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x3a> 700344f4: bd70 pop {r4, r5, r6, pc} 700344f6: 7b01 ldrb r1, [r0, #12] 700344f8: b169 cbz r1, 70034516 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x46> 700344fa: 2902 cmp r1, #2 700344fc: d1fa bne.n 700344f4 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x24> 700344fe: 2b03 cmp r3, #3 70034500: d8f8 bhi.n 700344f4 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x24> 70034502: e8df f003 tbb [pc, r3] 70034506: 9aa3 .short 0x9aa3 70034508: 8891 .short 0x8891 7003450a: 2b03 cmp r3, #3 7003450c: d8f2 bhi.n 700344f4 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x24> 7003450e: e8df f003 tbb [pc, r3] 70034512: 7079 .short 0x7079 70034514: 5e67 .short 0x5e67 70034516: 2b03 cmp r3, #3 70034518: d8ec bhi.n 700344f4 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x24> 7003451a: e8df f003 tbb [pc, r3] 7003451e: 464f .short 0x464f 70034520: 303b .short 0x303b 70034522: 2b03 cmp r3, #3 70034524: d8e6 bhi.n 700344f4 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x24> 70034526: e8df f003 tbb [pc, r3] 7003452a: 1721 .short 0x1721 7003452c: 020d .short 0x020d 7003452e: 2d00 cmp r5, #0 70034530: d0e0 beq.n 700344f4 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x24> 70034532: 4613 mov r3, r2 70034534: 4671 mov r1, lr 70034536: 9505 str r5, [sp, #20] 70034538: 4662 mov r2, ip 7003453a: 9604 str r6, [sp, #16] 7003453c: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70034540: f7fc bcc0 b.w 70030ec4 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0> 70034544: 2d00 cmp r5, #0 70034546: d0d5 beq.n 700344f4 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x24> 70034548: 4633 mov r3, r6 7003454a: 4670 mov r0, lr 7003454c: 9504 str r5, [sp, #16] 7003454e: 4661 mov r1, ip 70034550: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70034554: f7fc bb82 b.w 70030c5c <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0> 70034558: 2d00 cmp r5, #0 7003455a: d0cb beq.n 700344f4 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x24> 7003455c: 4633 mov r3, r6 7003455e: 4670 mov r0, lr 70034560: 9504 str r5, [sp, #16] 70034562: 4661 mov r1, ip 70034564: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70034568: f7fd b98a b.w 70031880 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_16BPPEPKhS2_RKNS_4RectES5_h.part.0.isra.0> 7003456c: 4613 mov r3, r2 7003456e: 4671 mov r1, lr 70034570: 9505 str r5, [sp, #20] 70034572: 4662 mov r2, ip 70034574: 9604 str r6, [sp, #16] 70034576: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7003457a: f7fe ba37 b.w 700329ec <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_16BPPEPKhS2_RKNS_4RectES5_h> 7003457e: 2d00 cmp r5, #0 70034580: d0b8 beq.n 700344f4 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x24> 70034582: 4613 mov r3, r2 70034584: 4671 mov r1, lr 70034586: 9505 str r5, [sp, #20] 70034588: 4662 mov r2, ip 7003458a: 9604 str r6, [sp, #16] 7003458c: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70034590: f7fc b924 b.w 700307dc <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0> 70034594: 2d00 cmp r5, #0 70034596: d0ad beq.n 700344f4 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h+0x24> 70034598: 4613 mov r3, r2 7003459a: 4671 mov r1, lr 7003459c: 9505 str r5, [sp, #20] 7003459e: 4662 mov r2, ip 700345a0: 9604 str r6, [sp, #16] 700345a2: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 700345a6: f7fb bf8b b.w 700304c0 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h.part.0> 700345aa: 4613 mov r3, r2 700345ac: 4671 mov r1, lr 700345ae: 9505 str r5, [sp, #20] 700345b0: 4662 mov r2, ip 700345b2: 9604 str r6, [sp, #16] 700345b4: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 700345b8: f7fe b858 b.w 7003266c <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h> 700345bc: 4613 mov r3, r2 700345be: 4671 mov r1, lr 700345c0: 9505 str r5, [sp, #20] 700345c2: 4662 mov r2, ip 700345c4: 9604 str r6, [sp, #16] 700345c6: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 700345ca: f7fd beb5 b.w 70032338 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_16BPPEPKhS2_RKNS_4RectES5_h> 700345ce: 4613 mov r3, r2 700345d0: 4671 mov r1, lr 700345d2: 9505 str r5, [sp, #20] 700345d4: 4662 mov r2, ip 700345d6: 9604 str r6, [sp, #16] 700345d8: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 700345dc: f7fe bfac b.w 70033538 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_LZW9_RGB888_32BPPEPKhS2_RKNS_4RectES5_h> 700345e0: 4613 mov r3, r2 700345e2: 4671 mov r1, lr 700345e4: 9505 str r5, [sp, #20] 700345e6: 4662 mov r2, ip 700345e8: 9604 str r6, [sp, #16] 700345ea: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 700345ee: f7fe be53 b.w 70033298 <_ZN8touchgfx12LCDGPU2D_AXI27blitCopyL8_RLE_RGB888_32BPPEPKhS2_RKNS_4RectES5_h> 700345f2: 4613 mov r3, r2 700345f4: 4671 mov r1, lr 700345f6: 9505 str r5, [sp, #20] 700345f8: 4662 mov r2, ip 700345fa: 9604 str r6, [sp, #16] 700345fc: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70034600: f7fe bc7e b.w 70032f00 <_ZN8touchgfx12LCDGPU2D_AXI26blitCopyL8_L4_RGB888_32BPPEPKhS2_RKNS_4RectES5_h> 70034604: 4613 mov r3, r2 70034606: 4671 mov r1, lr 70034608: 9505 str r5, [sp, #20] 7003460a: 4662 mov r2, ip 7003460c: 9604 str r6, [sp, #16] 7003460e: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70034612: f7fe bb3b b.w 70032c8c <_ZN8touchgfx12LCDGPU2D_AXI23blitCopyL8_RGB888_32BPPEPKhS2_RKNS_4RectES5_h> 70034616: 4613 mov r3, r2 70034618: 4671 mov r1, lr 7003461a: 9505 str r5, [sp, #20] 7003461c: 4662 mov r2, ip 7003461e: 9604 str r6, [sp, #16] 70034620: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70034624: f7ff bd38 b.w 70034098 <_ZN8touchgfx12LCDGPU2D_AXI30blitCopyL8_LZW9_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h> 70034628: 4613 mov r3, r2 7003462a: 4671 mov r1, lr 7003462c: 9505 str r5, [sp, #20] 7003462e: 4662 mov r2, ip 70034630: 9604 str r6, [sp, #16] 70034632: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70034636: f7ff bbb7 b.w 70033da8 <_ZN8touchgfx12LCDGPU2D_AXI29blitCopyL8_RLE_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h> 7003463a: 4613 mov r3, r2 7003463c: 4671 mov r1, lr 7003463e: 9505 str r5, [sp, #20] 70034640: 4662 mov r2, ip 70034642: 9604 str r6, [sp, #16] 70034644: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 70034648: f7ff bad6 b.w 70033bf8 <_ZN8touchgfx12LCDGPU2D_AXI28blitCopyL8_L4_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h> 7003464c: 4613 mov r3, r2 7003464e: 4671 mov r1, lr 70034650: 9505 str r5, [sp, #20] 70034652: 4662 mov r2, ip 70034654: 9604 str r6, [sp, #16] 70034656: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7003465a: f7ff b9ad b.w 700339b8 <_ZN8touchgfx12LCDGPU2D_AXI25blitCopyL8_ARGB8888_32BPPEPKhS2_RKNS_4RectES5_h> 7003465e: bf00 nop 70034660 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh>: 70034660: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70034664: b085 sub sp, #20 70034666: 880c ldrh r4, [r1, #0] 70034668: 4616 mov r6, r2 7003466a: 469b mov fp, r3 7003466c: 9101 str r1, [sp, #4] 7003466e: 08e1 lsrs r1, r4, #3 70034670: 0a20 lsrs r0, r4, #8 70034672: f9bd c038 ldrsh.w ip, [sp, #56] @ 0x38 70034676: f001 02fc and.w r2, r1, #252 @ 0xfc 7003467a: 00e4 lsls r4, r4, #3 7003467c: f000 00f8 and.w r0, r0, #248 @ 0xf8 70034680: f9bd 903c ldrsh.w r9, [sp, #60] @ 0x3c 70034684: 9200 str r2, [sp, #0] 70034686: 0212 lsls r2, r2, #8 70034688: b2e4 uxtb r4, r4 7003468a: f89d 3048 ldrb.w r3, [sp, #72] @ 0x48 7003468e: ea42 4200 orr.w r2, r2, r0, lsl #16 70034692: f89d 8050 ldrb.w r8, [sp, #80] @ 0x50 70034696: e9dd 7510 ldrd r7, r5, [sp, #64] @ 0x40 7003469a: 4322 orrs r2, r4 7003469c: fb05 7e0c mla lr, r5, ip, r7 700346a0: 45a9 cmp r9, r5 700346a2: 9203 str r2, [sp, #12] 700346a4: eb06 0a0e add.w sl, r6, lr 700346a8: f89d 204c ldrb.w r2, [sp, #76] @ 0x4c 700346ac: f340 8090 ble.w 700347d0 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x170> 700346b0: 2d00 cmp r5, #0 700346b2: f2c0 808d blt.w 700347d0 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x170> 700346b6: 45bc cmp ip, r7 700346b8: f340 80aa ble.w 70034810 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x1b0> 700346bc: 2f00 cmp r7, #0 700346be: f2c0 80a7 blt.w 70034810 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x1b0> 700346c2: f816 600e ldrb.w r6, [r6, lr] 700346c6: eb06 0646 add.w r6, r6, r6, lsl #1 700346ca: 445e add r6, fp 700346cc: f107 0e01 add.w lr, r7, #1 700346d0: 2b00 cmp r3, #0 700346d2: ea6f 010e mvn.w r1, lr 700346d6: ea4f 71d1 mov.w r1, r1, lsr #31 700346da: bf08 it eq 700346dc: 2100 moveq r1, #0 700346de: b111 cbz r1, 700346e6 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x86> 700346e0: 45f4 cmp ip, lr 700346e2: f300 8097 bgt.w 70034814 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x1b4> 700346e6: 3501 adds r5, #1 700346e8: f10d 0e0c add.w lr, sp, #12 700346ec: 2d00 cmp r5, #0 700346ee: bfa8 it ge 700346f0: 45a9 cmpge r9, r5 700346f2: dc75 bgt.n 700347e0 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x180> 700346f4: af03 add r7, sp, #12 700346f6: 46b9 mov r9, r7 700346f8: fb03 f502 mul.w r5, r3, r2 700346fc: f89e b000 ldrb.w fp, [lr] 70034700: f89e c001 ldrb.w ip, [lr, #1] 70034704: f89e a002 ldrb.w sl, [lr, #2] 70034708: eba5 1e02 sub.w lr, r5, r2, lsl #4 7003470c: ebc5 1202 rsb r2, r5, r2, lsl #4 70034710: 78b9 ldrb r1, [r7, #2] 70034712: f50e 7e80 add.w lr, lr, #256 @ 0x100 70034716: b292 uxth r2, r2 70034718: ebae 1e03 sub.w lr, lr, r3, lsl #4 7003471c: ebc5 1303 rsb r3, r5, r3, lsl #4 70034720: fa1f fe8e uxth.w lr, lr 70034724: b29b uxth r3, r3 70034726: fb03 fc0c mul.w ip, r3, ip 7003472a: fb03 fa0a mul.w sl, r3, sl 7003472e: fb03 f30b mul.w r3, r3, fp 70034732: f896 b001 ldrb.w fp, [r6, #1] 70034736: fb0e cb0b mla fp, lr, fp, ip 7003473a: f896 c002 ldrb.w ip, [r6, #2] 7003473e: 7836 ldrb r6, [r6, #0] 70034740: fb0e ac0c mla ip, lr, ip, sl 70034744: fb0e 3306 mla r3, lr, r6, r3 70034748: f899 6002 ldrb.w r6, [r9, #2] 7003474c: f899 e001 ldrb.w lr, [r9, #1] 70034750: fb02 cc06 mla ip, r2, r6, ip 70034754: f899 6000 ldrb.w r6, [r9] 70034758: fb02 be0e mla lr, r2, lr, fp 7003475c: fb02 3206 mla r2, r2, r6, r3 70034760: 787b ldrb r3, [r7, #1] 70034762: ea6f 0608 mvn.w r6, r8 70034766: fb05 cc01 mla ip, r5, r1, ip 7003476a: fb05 ee03 mla lr, r5, r3, lr 7003476e: 9b00 ldr r3, [sp, #0] 70034770: b2f6 uxtb r6, r6 70034772: 7839 ldrb r1, [r7, #0] 70034774: f3ce 2e07 ubfx lr, lr, #8, #8 70034778: f3cc 2c07 ubfx ip, ip, #8, #8 7003477c: fb13 f306 smulbb r3, r3, r6 70034780: fb05 2201 mla r2, r5, r1, r2 70034784: fb10 f006 smulbb r0, r0, r6 70034788: fb0e 3308 mla r3, lr, r8, r3 7003478c: fb14 f406 smulbb r4, r4, r6 70034790: fb0c 0008 mla r0, ip, r8, r0 70034794: f3c2 2207 ubfx r2, r2, #8, #8 70034798: b29b uxth r3, r3 7003479a: fb02 4408 mla r4, r2, r8, r4 7003479e: b280 uxth r0, r0 700347a0: 1c59 adds r1, r3, #1 700347a2: b2a4 uxth r4, r4 700347a4: 1c42 adds r2, r0, #1 700347a6: eb01 2113 add.w r1, r1, r3, lsr #8 700347aa: eb02 2210 add.w r2, r2, r0, lsr #8 700347ae: 1c63 adds r3, r4, #1 700347b0: 0949 lsrs r1, r1, #5 700347b2: eb03 2314 add.w r3, r3, r4, lsr #8 700347b6: f402 4278 and.w r2, r2, #63488 @ 0xf800 700347ba: f401 61fc and.w r1, r1, #2016 @ 0x7e0 700347be: f3c3 23c4 ubfx r3, r3, #11, #5 700347c2: 430a orrs r2, r1 700347c4: 4313 orrs r3, r2 700347c6: 9a01 ldr r2, [sp, #4] 700347c8: 8013 strh r3, [r2, #0] 700347ca: b005 add sp, #20 700347cc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700347d0: f10d 0e0c add.w lr, sp, #12 700347d4: 4676 mov r6, lr 700347d6: 3501 adds r5, #1 700347d8: 2d00 cmp r5, #0 700347da: bfa8 it ge 700347dc: 45a9 cmpge r9, r5 700347de: dd89 ble.n 700346f4 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x94> 700347e0: 2a00 cmp r2, #0 700347e2: d087 beq.n 700346f4 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x94> 700347e4: 2f00 cmp r7, #0 700347e6: db1b blt.n 70034820 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x1c0> 700347e8: 45bc cmp ip, r7 700347ea: dd19 ble.n 70034820 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x1c0> 700347ec: f81a 900c ldrb.w r9, [sl, ip] 700347f0: eb09 0949 add.w r9, r9, r9, lsl #1 700347f4: 44d9 add r9, fp 700347f6: 3701 adds r7, #1 700347f8: 2b00 cmp r3, #0 700347fa: ea6f 0507 mvn.w r5, r7 700347fe: ea4f 75d5 mov.w r5, r5, lsr #31 70034802: bf08 it eq 70034804: 2500 moveq r5, #0 70034806: b10d cbz r5, 7003480c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x1ac> 70034808: 45bc cmp ip, r7 7003480a: dc0c bgt.n 70034826 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x1c6> 7003480c: af03 add r7, sp, #12 7003480e: e773 b.n 700346f8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x98> 70034810: ae03 add r6, sp, #12 70034812: e75b b.n 700346cc <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x6c> 70034814: f89a e001 ldrb.w lr, [sl, #1] 70034818: eb0e 0e4e add.w lr, lr, lr, lsl #1 7003481c: 44de add lr, fp 7003481e: e7da b.n 700347d6 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x176> 70034820: f10d 090c add.w r9, sp, #12 70034824: e7e7 b.n 700347f6 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x196> 70034826: eb0a 050c add.w r5, sl, ip 7003482a: 786f ldrb r7, [r5, #1] 7003482c: eb07 0747 add.w r7, r7, r7, lsl #1 70034830: 445f add r7, fp 70034832: e761 b.n 700346f8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh+0x98> 70034834 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 70034834: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70034838: b095 sub sp, #84 @ 0x54 7003483a: 4616 mov r6, r2 7003483c: 2900 cmp r1, #0 7003483e: 4688 mov r8, r1 70034840: 9213 str r2, [sp, #76] @ 0x4c 70034842: 9012 str r0, [sp, #72] @ 0x48 70034844: 9825 ldr r0, [sp, #148] @ 0x94 70034846: f8dd 9084 ldr.w r9, [sp, #132] @ 0x84 7003484a: e9dd 5223 ldrd r5, r2, [sp, #140] @ 0x8c 7003484e: 686c ldr r4, [r5, #4] 70034850: fb04 2200 mla r2, r4, r0, r2 70034854: 6828 ldr r0, [r5, #0] 70034856: eb00 0b42 add.w fp, r0, r2, lsl #1 7003485a: 9826 ldr r0, [sp, #152] @ 0x98 7003485c: 6842 ldr r2, [r0, #4] 7003485e: f102 0004 add.w r0, r2, #4 70034862: 900e str r0, [sp, #56] @ 0x38 70034864: f89d 009c ldrb.w r0, [sp, #156] @ 0x9c 70034868: 900b str r0, [sp, #44] @ 0x2c 7003486a: 9826 ldr r0, [sp, #152] @ 0x98 7003486c: 6800 ldr r0, [r0, #0] 7003486e: e9dd 4a1f ldrd r4, sl, [sp, #124] @ 0x7c 70034872: 900c str r0, [sp, #48] @ 0x30 70034874: dc01 bgt.n 7003487a <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x46> 70034876: 2e00 cmp r6, #0 70034878: dd78 ble.n 7003496c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x138> 7003487a: 9a0b ldr r2, [sp, #44] @ 0x2c 7003487c: f8cd 9084 str.w r9, [sp, #132] @ 0x84 70034880: 46c1 mov r9, r8 70034882: 43d2 mvns r2, r2 70034884: f8dd e078 ldr.w lr, [sp, #120] @ 0x78 70034888: b2d2 uxtb r2, r2 7003488a: 920d str r2, [sp, #52] @ 0x34 7003488c: 9a26 ldr r2, [sp, #152] @ 0x98 7003488e: 2b00 cmp r3, #0 70034890: e9d2 5602 ldrd r5, r6, [r2, #8] 70034894: fa0f f885 sxth.w r8, r5 70034898: fa0f fc86 sxth.w ip, r6 7003489c: dd6b ble.n 70034976 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x142> 7003489e: f108 32ff add.w r2, r8, #4294967295 @ 0xffffffff 700348a2: f10c 37ff add.w r7, ip, #4294967295 @ 0xffffffff 700348a6: e9cd 5609 strd r5, r6, [sp, #36] @ 0x24 700348aa: e9dd 5621 ldrd r5, r6, [sp, #132] @ 0x84 700348ae: e010 b.n 700348d2 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x9e> 700348b0: 42b8 cmp r0, r7 700348b2: da02 bge.n 700348ba <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x86> 700348b4: 2800 cmp r0, #0 700348b6: f280 8237 bge.w 70034d28 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4f4> 700348ba: f1b0 3fff cmp.w r0, #4294967295 @ 0xffffffff 700348be: db02 blt.n 700348c6 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 700348c0: 4560 cmp r0, ip 700348c2: f2c0 8234 blt.w 70034d2e <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4fa> 700348c6: 3b01 subs r3, #1 700348c8: 442c add r4, r5 700348ca: 44b2 add sl, r6 700348cc: f10b 0b02 add.w fp, fp, #2 700348d0: d012 beq.n 700348f8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 700348d2: 2c00 cmp r4, #0 700348d4: ea4f 402a mov.w r0, sl, asr #16 700348d8: ea4f 4124 mov.w r1, r4, asr #16 700348dc: db01 blt.n 700348e2 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xae> 700348de: 4291 cmp r1, r2 700348e0: dbe6 blt.n 700348b0 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7c> 700348e2: f1b1 3fff cmp.w r1, #4294967295 @ 0xffffffff 700348e6: dbee blt.n 700348c6 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 700348e8: 4541 cmp r1, r8 700348ea: dbe6 blt.n 700348ba <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x86> 700348ec: 3b01 subs r3, #1 700348ee: 442c add r4, r5 700348f0: 44b2 add sl, r6 700348f2: f10b 0b02 add.w fp, fp, #2 700348f6: d1ec bne.n 700348d2 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x9e> 700348f8: f1b9 0f00 cmp.w r9, #0 700348fc: dd36 ble.n 7003496c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x138> 700348fe: eef0 7a62 vmov.f32 s15, s5 70034902: f1b9 0901 subs.w r9, r9, #1 70034906: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7003490a: ee30 0a04 vadd.f32 s0, s0, s8 7003490e: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 70034912: ee70 0aa4 vadd.f32 s1, s1, s9 70034916: ee31 1a05 vadd.f32 s2, s2, s10 7003491a: ee17 4a90 vmov r4, s15 7003491e: eef0 7a43 vmov.f32 s15, s6 70034922: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 70034926: ee17 aa90 vmov sl, s15 7003492a: eec7 7a00 vdiv.f32 s15, s14, s0 7003492e: ee20 7aa7 vmul.f32 s14, s1, s15 70034932: ee61 7a27 vmul.f32 s15, s2, s15 70034936: ee77 2a62 vsub.f32 s5, s14, s5 7003493a: ee37 3ac3 vsub.f32 s6, s15, s6 7003493e: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 70034942: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 70034946: ee12 3a90 vmov r3, s5 7003494a: fb93 f3fe sdiv r3, r3, lr 7003494e: 9321 str r3, [sp, #132] @ 0x84 70034950: ee13 3a10 vmov r3, s6 70034954: fb93 f3fe sdiv r3, r3, lr 70034958: 9322 str r3, [sp, #136] @ 0x88 7003495a: d10a bne.n 70034972 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x13e> 7003495c: 9b13 ldr r3, [sp, #76] @ 0x4c 7003495e: 2b00 cmp r3, #0 70034960: dd04 ble.n 7003496c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x138> 70034962: eeb0 3a67 vmov.f32 s6, s15 70034966: eef0 2a47 vmov.f32 s5, s14 7003496a: e78f b.n 7003488c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x58> 7003496c: b015 add sp, #84 @ 0x54 7003496e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70034972: 4673 mov r3, lr 70034974: e7f5 b.n 70034962 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x12e> 70034976: d0bf beq.n 700348f8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 70034978: f108 32ff add.w r2, r8, #4294967295 @ 0xffffffff 7003497c: 1e5f subs r7, r3, #1 7003497e: 9921 ldr r1, [sp, #132] @ 0x84 70034980: fb01 4107 mla r1, r1, r7, r4 70034984: ebb2 4f21 cmp.w r2, r1, asr #16 70034988: ea4f 4021 mov.w r0, r1, asr #16 7003498c: f340 80d9 ble.w 70034b42 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x30e> 70034990: 2800 cmp r0, #0 70034992: f2c0 80d6 blt.w 70034b42 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x30e> 70034996: 9a22 ldr r2, [sp, #136] @ 0x88 70034998: f10c 3cff add.w ip, ip, #4294967295 @ 0xffffffff 7003499c: fb02 a207 mla r2, r2, r7, sl 700349a0: ebbc 4f22 cmp.w ip, r2, asr #16 700349a4: ea4f 4122 mov.w r1, r2, asr #16 700349a8: f340 80cb ble.w 70034b42 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x30e> 700349ac: 2900 cmp r1, #0 700349ae: f2c0 80c8 blt.w 70034b42 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x30e> 700349b2: 2b00 cmp r3, #0 700349b4: dda0 ble.n 700348f8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 700349b6: 465a mov r2, fp 700349b8: 9709 str r7, [sp, #36] @ 0x24 700349ba: 9311 str r3, [sp, #68] @ 0x44 700349bc: f8cd e078 str.w lr, [sp, #120] @ 0x78 700349c0: e9cd b90f strd fp, r9, [sp, #60] @ 0x3c 700349c4: 46d3 mov fp, sl 700349c6: f8dd 9038 ldr.w r9, [sp, #56] @ 0x38 700349ca: 4692 mov sl, r2 700349cc: e090 b.n 70034af0 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2bc> 700349ce: 7842 ldrb r2, [r0, #1] 700349d0: eb00 0e08 add.w lr, r0, r8 700349d4: 4667 mov r7, ip 700349d6: 4665 mov r5, ip 700349d8: eb02 0242 add.w r2, r2, r2, lsl #1 700349dc: 444a add r2, r9 700349de: b14b cbz r3, 700349f4 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1c0> 700349e0: f810 5008 ldrb.w r5, [r0, r8] 700349e4: f89e 7001 ldrb.w r7, [lr, #1] 700349e8: eb05 0545 add.w r5, r5, r5, lsl #1 700349ec: eb07 0747 add.w r7, r7, r7, lsl #1 700349f0: 444d add r5, r9 700349f2: 444f add r7, r9 700349f4: f819 0006 ldrb.w r0, [r9, r6] 700349f8: 9e21 ldr r6, [sp, #132] @ 0x84 700349fa: 900a str r0, [sp, #40] @ 0x28 700349fc: 4434 add r4, r6 700349fe: fb01 f003 mul.w r0, r1, r3 70034a02: 9e22 ldr r6, [sp, #136] @ 0x88 70034a04: f892 8002 ldrb.w r8, [r2, #2] 70034a08: f892 e001 ldrb.w lr, [r2, #1] 70034a0c: 44b3 add fp, r6 70034a0e: 7816 ldrb r6, [r2, #0] 70034a10: f500 7280 add.w r2, r0, #256 @ 0x100 70034a14: eba2 1201 sub.w r2, r2, r1, lsl #4 70034a18: ebc0 1101 rsb r1, r0, r1, lsl #4 70034a1c: eba2 1203 sub.w r2, r2, r3, lsl #4 70034a20: b289 uxth r1, r1 70034a22: b292 uxth r2, r2 70034a24: fb01 fe0e mul.w lr, r1, lr 70034a28: ebc0 1303 rsb r3, r0, r3, lsl #4 70034a2c: fb01 f808 mul.w r8, r1, r8 70034a30: fb01 f606 mul.w r6, r1, r6 70034a34: 990a ldr r1, [sp, #40] @ 0x28 70034a36: b29b uxth r3, r3 70034a38: fb02 6601 mla r6, r2, r1, r6 70034a3c: f89c 1002 ldrb.w r1, [ip, #2] 70034a40: f89c c001 ldrb.w ip, [ip, #1] 70034a44: fb02 8101 mla r1, r2, r1, r8 70034a48: fb02 ec0c mla ip, r2, ip, lr 70034a4c: f895 e002 ldrb.w lr, [r5, #2] 70034a50: f8ba 2000 ldrh.w r2, [sl] 70034a54: fb03 110e mla r1, r3, lr, r1 70034a58: f895 e001 ldrb.w lr, [r5, #1] 70034a5c: 782d ldrb r5, [r5, #0] 70034a5e: fb03 ce0e mla lr, r3, lr, ip 70034a62: fb03 6505 mla r5, r3, r5, r6 70034a66: 78bb ldrb r3, [r7, #2] 70034a68: 783e ldrb r6, [r7, #0] 70034a6a: fb00 1103 mla r1, r0, r3, r1 70034a6e: 787b ldrb r3, [r7, #1] 70034a70: fb00 5506 mla r5, r0, r6, r5 70034a74: 9e0d ldr r6, [sp, #52] @ 0x34 70034a76: fb00 e303 mla r3, r0, r3, lr 70034a7a: 0a10 lsrs r0, r2, #8 70034a7c: 9f0b ldr r7, [sp, #44] @ 0x2c 70034a7e: f3c1 2107 ubfx r1, r1, #8, #8 70034a82: f000 00f8 and.w r0, r0, #248 @ 0xf8 70034a86: f3c3 2307 ubfx r3, r3, #8, #8 70034a8a: f3c5 2507 ubfx r5, r5, #8, #8 70034a8e: fb10 f006 smulbb r0, r0, r6 70034a92: fb01 0007 mla r0, r1, r7, r0 70034a96: 08d1 lsrs r1, r2, #3 70034a98: 00d2 lsls r2, r2, #3 70034a9a: f001 01fc and.w r1, r1, #252 @ 0xfc 70034a9e: b280 uxth r0, r0 70034aa0: b2d2 uxtb r2, r2 70034aa2: fb11 f106 smulbb r1, r1, r6 70034aa6: fb12 f206 smulbb r2, r2, r6 70034aaa: fb03 1107 mla r1, r3, r7, r1 70034aae: 1c43 adds r3, r0, #1 70034ab0: fb05 2207 mla r2, r5, r7, r2 70034ab4: b289 uxth r1, r1 70034ab6: eb03 2010 add.w r0, r3, r0, lsr #8 70034aba: 1c4b adds r3, r1, #1 70034abc: b292 uxth r2, r2 70034abe: f400 407f and.w r0, r0, #65280 @ 0xff00 70034ac2: eb03 2311 add.w r3, r3, r1, lsr #8 70034ac6: 1c51 adds r1, r2, #1 70034ac8: f36f 000a bfc r0, #0, #11 70034acc: 095b lsrs r3, r3, #5 70034ace: eb01 2112 add.w r1, r1, r2, lsr #8 70034ad2: f403 63fc and.w r3, r3, #2016 @ 0x7e0 70034ad6: f3c1 21c4 ubfx r1, r1, #11, #5 70034ada: 4303 orrs r3, r0 70034adc: 4319 orrs r1, r3 70034ade: 9b09 ldr r3, [sp, #36] @ 0x24 70034ae0: f82a 1b02 strh.w r1, [sl], #2 70034ae4: b32b cbz r3, 70034b32 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2fe> 70034ae6: 3b01 subs r3, #1 70034ae8: 9309 str r3, [sp, #36] @ 0x24 70034aea: 9b26 ldr r3, [sp, #152] @ 0x98 70034aec: f9b3 8008 ldrsh.w r8, [r3, #8] 70034af0: ea4f 422b mov.w r2, fp, asr #16 70034af4: f414 4f70 tst.w r4, #61440 @ 0xf000 70034af8: ea4f 4024 mov.w r0, r4, asr #16 70034afc: f3cb 3303 ubfx r3, fp, #12, #4 70034b00: f3c4 3103 ubfx r1, r4, #12, #4 70034b04: fb08 0002 mla r0, r8, r2, r0 70034b08: 9a0c ldr r2, [sp, #48] @ 0x30 70034b0a: 5c16 ldrb r6, [r2, r0] 70034b0c: 4410 add r0, r2 70034b0e: eb06 0646 add.w r6, r6, r6, lsl #1 70034b12: eb09 0c06 add.w ip, r9, r6 70034b16: f47f af5a bne.w 700349ce <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x19a> 70034b1a: 4667 mov r7, ip 70034b1c: b133 cbz r3, 70034b2c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2f8> 70034b1e: f810 5008 ldrb.w r5, [r0, r8] 70034b22: 4662 mov r2, ip 70034b24: eb05 0545 add.w r5, r5, r5, lsl #1 70034b28: 444d add r5, r9 70034b2a: e763 b.n 700349f4 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1c0> 70034b2c: 4665 mov r5, ip 70034b2e: 4662 mov r2, ip 70034b30: e760 b.n 700349f4 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1c0> 70034b32: e9dd b90f ldrd fp, r9, [sp, #60] @ 0x3c 70034b36: 9b11 ldr r3, [sp, #68] @ 0x44 70034b38: f8dd e078 ldr.w lr, [sp, #120] @ 0x78 70034b3c: eb0b 0b43 add.w fp, fp, r3, lsl #1 70034b40: e6da b.n 700348f8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 70034b42: 2b00 cmp r3, #0 70034b44: f77f aed8 ble.w 700348f8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 70034b48: 46d8 mov r8, fp 70034b4a: 1421 asrs r1, r4, #16 70034b4c: ea4f 402a mov.w r0, sl, asr #16 70034b50: 3701 adds r7, #1 70034b52: f8cd 903c str.w r9, [sp, #60] @ 0x3c 70034b56: f8cd e078 str.w lr, [sp, #120] @ 0x78 70034b5a: eb0b 0b47 add.w fp, fp, r7, lsl #1 70034b5e: f8dd 9098 ldr.w r9, [sp, #152] @ 0x98 70034b62: e0a7 b.n 70034cb4 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x480> 70034b64: 1e77 subs r7, r6, #1 70034b66: 42b8 cmp r0, r7 70034b68: f280 80b2 bge.w 70034cd0 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x49c> 70034b6c: 2800 cmp r0, #0 70034b6e: f2c0 80af blt.w 70034cd0 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x49c> 70034b72: b22d sxth r5, r5 70034b74: 9f0e ldr r7, [sp, #56] @ 0x38 70034b76: fb00 1005 mla r0, r0, r5, r1 70034b7a: 990c ldr r1, [sp, #48] @ 0x30 70034b7c: 5c0e ldrb r6, [r1, r0] 70034b7e: 4408 add r0, r1 70034b80: eb06 0646 add.w r6, r6, r6, lsl #1 70034b84: eb07 0c06 add.w ip, r7, r6 70034b88: 2a00 cmp r2, #0 70034b8a: f000 80b6 beq.w 70034cfa <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4c6> 70034b8e: 7841 ldrb r1, [r0, #1] 70034b90: eb01 0141 add.w r1, r1, r1, lsl #1 70034b94: 4439 add r1, r7 70034b96: 2b00 cmp r3, #0 70034b98: f000 80bd beq.w 70034d16 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4e2> 70034b9c: 1947 adds r7, r0, r5 70034b9e: 5d45 ldrb r5, [r0, r5] 70034ba0: 980e ldr r0, [sp, #56] @ 0x38 70034ba2: 787f ldrb r7, [r7, #1] 70034ba4: eb05 0545 add.w r5, r5, r5, lsl #1 70034ba8: eb07 0747 add.w r7, r7, r7, lsl #1 70034bac: 4405 add r5, r0 70034bae: 4407 add r7, r0 70034bb0: 9509 str r5, [sp, #36] @ 0x24 70034bb2: 980e ldr r0, [sp, #56] @ 0x38 70034bb4: f891 e001 ldrb.w lr, [r1, #1] 70034bb8: 5d80 ldrb r0, [r0, r6] 70034bba: 788e ldrb r6, [r1, #2] 70034bbc: 900a str r0, [sp, #40] @ 0x28 70034bbe: fb02 f003 mul.w r0, r2, r3 70034bc2: 4635 mov r5, r6 70034bc4: 780e ldrb r6, [r1, #0] 70034bc6: f500 7180 add.w r1, r0, #256 @ 0x100 70034bca: eba1 1102 sub.w r1, r1, r2, lsl #4 70034bce: ebc0 1202 rsb r2, r0, r2, lsl #4 70034bd2: eba1 1103 sub.w r1, r1, r3, lsl #4 70034bd6: b292 uxth r2, r2 70034bd8: b289 uxth r1, r1 70034bda: fb02 f505 mul.w r5, r2, r5 70034bde: ebc0 1303 rsb r3, r0, r3, lsl #4 70034be2: fb02 fe0e mul.w lr, r2, lr 70034be6: fb02 f606 mul.w r6, r2, r6 70034bea: 9a0a ldr r2, [sp, #40] @ 0x28 70034bec: b29b uxth r3, r3 70034bee: fb01 6602 mla r6, r1, r2, r6 70034bf2: f89c 2002 ldrb.w r2, [ip, #2] 70034bf6: f89c c001 ldrb.w ip, [ip, #1] 70034bfa: fb01 5202 mla r2, r1, r2, r5 70034bfe: 9d09 ldr r5, [sp, #36] @ 0x24 70034c00: fb01 ec0c mla ip, r1, ip, lr 70034c04: f8b8 1000 ldrh.w r1, [r8] 70034c08: f895 e002 ldrb.w lr, [r5, #2] 70034c0c: fb03 220e mla r2, r3, lr, r2 70034c10: f895 e001 ldrb.w lr, [r5, #1] 70034c14: 782d ldrb r5, [r5, #0] 70034c16: fb03 ce0e mla lr, r3, lr, ip 70034c1a: fb03 6505 mla r5, r3, r5, r6 70034c1e: 78bb ldrb r3, [r7, #2] 70034c20: 783e ldrb r6, [r7, #0] 70034c22: fb00 2203 mla r2, r0, r3, r2 70034c26: 787b ldrb r3, [r7, #1] 70034c28: fb00 5506 mla r5, r0, r6, r5 70034c2c: 9e0d ldr r6, [sp, #52] @ 0x34 70034c2e: fb00 e303 mla r3, r0, r3, lr 70034c32: 0a08 lsrs r0, r1, #8 70034c34: 9f0b ldr r7, [sp, #44] @ 0x2c 70034c36: f3c2 2207 ubfx r2, r2, #8, #8 70034c3a: f000 00f8 and.w r0, r0, #248 @ 0xf8 70034c3e: f3c3 2307 ubfx r3, r3, #8, #8 70034c42: f3c5 2507 ubfx r5, r5, #8, #8 70034c46: fb10 f006 smulbb r0, r0, r6 70034c4a: fb02 0007 mla r0, r2, r7, r0 70034c4e: 08ca lsrs r2, r1, #3 70034c50: 00c9 lsls r1, r1, #3 70034c52: f002 02fc and.w r2, r2, #252 @ 0xfc 70034c56: b280 uxth r0, r0 70034c58: b2c9 uxtb r1, r1 70034c5a: fb12 f206 smulbb r2, r2, r6 70034c5e: fb11 f106 smulbb r1, r1, r6 70034c62: fb03 2207 mla r2, r3, r7, r2 70034c66: 1c43 adds r3, r0, #1 70034c68: fb05 1107 mla r1, r5, r7, r1 70034c6c: b292 uxth r2, r2 70034c6e: eb03 2010 add.w r0, r3, r0, lsr #8 70034c72: 1c53 adds r3, r2, #1 70034c74: b289 uxth r1, r1 70034c76: f400 407f and.w r0, r0, #65280 @ 0xff00 70034c7a: eb03 2312 add.w r3, r3, r2, lsr #8 70034c7e: 1c4a adds r2, r1, #1 70034c80: f36f 000a bfc r0, #0, #11 70034c84: 095b lsrs r3, r3, #5 70034c86: eb02 2211 add.w r2, r2, r1, lsr #8 70034c8a: f403 63fc and.w r3, r3, #2016 @ 0x7e0 70034c8e: f3c2 22c4 ubfx r2, r2, #11, #5 70034c92: 4303 orrs r3, r0 70034c94: 4313 orrs r3, r2 70034c96: f8a8 3000 strh.w r3, [r8] 70034c9a: 9b21 ldr r3, [sp, #132] @ 0x84 70034c9c: f108 0802 add.w r8, r8, #2 70034ca0: 441c add r4, r3 70034ca2: 45d8 cmp r8, fp 70034ca4: 9b22 ldr r3, [sp, #136] @ 0x88 70034ca6: 449a add sl, r3 70034ca8: d030 beq.n 70034d0c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4d8> 70034caa: 1421 asrs r1, r4, #16 70034cac: ea4f 402a mov.w r0, sl, asr #16 70034cb0: e9d9 5602 ldrd r5, r6, [r9, #8] 70034cb4: 1e6f subs r7, r5, #1 70034cb6: f3c4 3203 ubfx r2, r4, #12, #4 70034cba: f3ca 3303 ubfx r3, sl, #12, #4 70034cbe: 42b9 cmp r1, r7 70034cc0: da02 bge.n 70034cc8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x494> 70034cc2: 2900 cmp r1, #0 70034cc4: f6bf af4e bge.w 70034b64 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x330> 70034cc8: 1c4f adds r7, r1, #1 70034cca: dbe6 blt.n 70034c9a <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x466> 70034ccc: 42a9 cmp r1, r5 70034cce: dae4 bge.n 70034c9a <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x466> 70034cd0: 1c47 adds r7, r0, #1 70034cd2: dbe2 blt.n 70034c9a <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x466> 70034cd4: 42b0 cmp r0, r6 70034cd6: dae0 bge.n 70034c9a <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x466> 70034cd8: b236 sxth r6, r6 70034cda: b22d sxth r5, r5 70034cdc: 9601 str r6, [sp, #4] 70034cde: 9500 str r5, [sp, #0] 70034ce0: e9cd 2304 strd r2, r3, [sp, #16] 70034ce4: 9b0b ldr r3, [sp, #44] @ 0x2c 70034ce6: 9a0c ldr r2, [sp, #48] @ 0x30 70034ce8: 9306 str r3, [sp, #24] 70034cea: 9b0e ldr r3, [sp, #56] @ 0x38 70034cec: e9cd 1002 strd r1, r0, [sp, #8] 70034cf0: 4641 mov r1, r8 70034cf2: 9812 ldr r0, [sp, #72] @ 0x48 70034cf4: f7ff fcb4 bl 70034660 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhS4_ssiihhh> 70034cf8: e7cf b.n 70034c9a <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x466> 70034cfa: b183 cbz r3, 70034d1e <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4ea> 70034cfc: 5d45 ldrb r5, [r0, r5] 70034cfe: eb05 0545 add.w r5, r5, r5, lsl #1 70034d02: 19e9 adds r1, r5, r7 70034d04: 4667 mov r7, ip 70034d06: 9109 str r1, [sp, #36] @ 0x24 70034d08: 4661 mov r1, ip 70034d0a: e752 b.n 70034bb2 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x37e> 70034d0c: f8dd 903c ldr.w r9, [sp, #60] @ 0x3c 70034d10: f8dd e078 ldr.w lr, [sp, #120] @ 0x78 70034d14: e5f0 b.n 700348f8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 70034d16: 4667 mov r7, ip 70034d18: f8cd c024 str.w ip, [sp, #36] @ 0x24 70034d1c: e749 b.n 70034bb2 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x37e> 70034d1e: 4667 mov r7, ip 70034d20: 4661 mov r1, ip 70034d22: f8cd c024 str.w ip, [sp, #36] @ 0x24 70034d26: e744 b.n 70034bb2 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x37e> 70034d28: e9dd 5609 ldrd r5, r6, [sp, #36] @ 0x24 70034d2c: e626 b.n 7003497c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x148> 70034d2e: e9dd 5609 ldrd r5, r6, [sp, #36] @ 0x24 70034d32: 1e5f subs r7, r3, #1 70034d34: 46d8 mov r8, fp 70034d36: e70b b.n 70034b50 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x31c> 70034d38 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh>: 70034d38: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 70034d3c: 880e ldrh r6, [r1, #0] 70034d3e: b083 sub sp, #12 70034d40: 469c mov ip, r3 70034d42: 0234 lsls r4, r6, #8 70034d44: f9bd e028 ldrsh.w lr, [sp, #40] @ 0x28 70034d48: 0177 lsls r7, r6, #5 70034d4a: f9bd 802c ldrsh.w r8, [sp, #44] @ 0x2c 70034d4e: f404 0478 and.w r4, r4, #16252928 @ 0xf80000 70034d52: 00f6 lsls r6, r6, #3 70034d54: f407 477c and.w r7, r7, #64512 @ 0xfc00 70034d58: f89d 0038 ldrb.w r0, [sp, #56] @ 0x38 70034d5c: b2f6 uxtb r6, r6 70034d5e: 433c orrs r4, r7 70034d60: e9dd 350c ldrd r3, r5, [sp, #48] @ 0x30 70034d64: 4334 orrs r4, r6 70034d66: 45a8 cmp r8, r5 70034d68: fb05 360e mla r6, r5, lr, r3 70034d6c: 9401 str r4, [sp, #4] 70034d6e: eb02 0906 add.w r9, r2, r6 70034d72: f89d 403c ldrb.w r4, [sp, #60] @ 0x3c 70034d76: dd61 ble.n 70034e3c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x104> 70034d78: 2d00 cmp r5, #0 70034d7a: db5f blt.n 70034e3c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x104> 70034d7c: 459e cmp lr, r3 70034d7e: dd7d ble.n 70034e7c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x144> 70034d80: 2b00 cmp r3, #0 70034d82: db7b blt.n 70034e7c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x144> 70034d84: 5d96 ldrb r6, [r2, r6] 70034d86: eb06 0646 add.w r6, r6, r6, lsl #1 70034d8a: 4466 add r6, ip 70034d8c: 1c5a adds r2, r3, #1 70034d8e: 2800 cmp r0, #0 70034d90: ea6f 0702 mvn.w r7, r2 70034d94: ea4f 77d7 mov.w r7, r7, lsr #31 70034d98: bf08 it eq 70034d9a: 2700 moveq r7, #0 70034d9c: b10f cbz r7, 70034da2 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x6a> 70034d9e: 4596 cmp lr, r2 70034da0: dc6e bgt.n 70034e80 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x148> 70034da2: 3501 adds r5, #1 70034da4: af01 add r7, sp, #4 70034da6: 2d00 cmp r5, #0 70034da8: bfa8 it ge 70034daa: 45a8 cmpge r8, r5 70034dac: dc4d bgt.n 70034e4a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x112> 70034dae: f10d 0c04 add.w ip, sp, #4 70034db2: 4665 mov r5, ip 70034db4: fb00 fe04 mul.w lr, r0, r4 70034db8: 78bb ldrb r3, [r7, #2] 70034dba: 787a ldrb r2, [r7, #1] 70034dbc: ebae 1804 sub.w r8, lr, r4, lsl #4 70034dc0: 783f ldrb r7, [r7, #0] 70034dc2: ebce 1404 rsb r4, lr, r4, lsl #4 70034dc6: f508 7880 add.w r8, r8, #256 @ 0x100 70034dca: b2a4 uxth r4, r4 70034dcc: eba8 1800 sub.w r8, r8, r0, lsl #4 70034dd0: ebce 1000 rsb r0, lr, r0, lsl #4 70034dd4: fa1f f888 uxth.w r8, r8 70034dd8: b280 uxth r0, r0 70034dda: fb00 f903 mul.w r9, r0, r3 70034dde: fb00 f202 mul.w r2, r0, r2 70034de2: fb00 f307 mul.w r3, r0, r7 70034de6: 7870 ldrb r0, [r6, #1] 70034de8: fb08 2200 mla r2, r8, r0, r2 70034dec: 78b0 ldrb r0, [r6, #2] 70034dee: 7836 ldrb r6, [r6, #0] 70034df0: fb08 9000 mla r0, r8, r0, r9 70034df4: fb08 3306 mla r3, r8, r6, r3 70034df8: 786e ldrb r6, [r5, #1] 70034dfa: fb04 2206 mla r2, r4, r6, r2 70034dfe: 78ae ldrb r6, [r5, #2] 70034e00: 782d ldrb r5, [r5, #0] 70034e02: fb04 0006 mla r0, r4, r6, r0 70034e06: fb04 3305 mla r3, r4, r5, r3 70034e0a: f89c 4001 ldrb.w r4, [ip, #1] 70034e0e: fb0e 2204 mla r2, lr, r4, r2 70034e12: f89c 4002 ldrb.w r4, [ip, #2] 70034e16: 0952 lsrs r2, r2, #5 70034e18: fb0e 0004 mla r0, lr, r4, r0 70034e1c: f89c 4000 ldrb.w r4, [ip] 70034e20: f400 4078 and.w r0, r0, #63488 @ 0xf800 70034e24: f402 62fc and.w r2, r2, #2016 @ 0x7e0 70034e28: fb0e 3304 mla r3, lr, r4, r3 70034e2c: 4302 orrs r2, r0 70034e2e: f3c3 23c4 ubfx r3, r3, #11, #5 70034e32: 4313 orrs r3, r2 70034e34: 800b strh r3, [r1, #0] 70034e36: b003 add sp, #12 70034e38: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 70034e3c: af01 add r7, sp, #4 70034e3e: 463e mov r6, r7 70034e40: 3501 adds r5, #1 70034e42: 2d00 cmp r5, #0 70034e44: bfa8 it ge 70034e46: 45a8 cmpge r8, r5 70034e48: ddb1 ble.n 70034dae <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x76> 70034e4a: 2c00 cmp r4, #0 70034e4c: d0af beq.n 70034dae <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x76> 70034e4e: 2b00 cmp r3, #0 70034e50: db1c blt.n 70034e8c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x154> 70034e52: 459e cmp lr, r3 70034e54: dd1a ble.n 70034e8c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x154> 70034e56: f819 500e ldrb.w r5, [r9, lr] 70034e5a: eb05 0545 add.w r5, r5, r5, lsl #1 70034e5e: 4465 add r5, ip 70034e60: 3301 adds r3, #1 70034e62: 2800 cmp r0, #0 70034e64: ea6f 0203 mvn.w r2, r3 70034e68: ea4f 72d2 mov.w r2, r2, lsr #31 70034e6c: bf08 it eq 70034e6e: 2200 moveq r2, #0 70034e70: b10a cbz r2, 70034e76 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x13e> 70034e72: 459e cmp lr, r3 70034e74: dc0c bgt.n 70034e90 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x158> 70034e76: f10d 0c04 add.w ip, sp, #4 70034e7a: e79b b.n 70034db4 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x7c> 70034e7c: ae01 add r6, sp, #4 70034e7e: e785 b.n 70034d8c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x54> 70034e80: f899 7001 ldrb.w r7, [r9, #1] 70034e84: eb07 0747 add.w r7, r7, r7, lsl #1 70034e88: 4467 add r7, ip 70034e8a: e7d9 b.n 70034e40 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x108> 70034e8c: ad01 add r5, sp, #4 70034e8e: e7e7 b.n 70034e60 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x128> 70034e90: 44f1 add r9, lr 70034e92: f899 3001 ldrb.w r3, [r9, #1] 70034e96: eb03 0343 add.w r3, r3, r3, lsl #1 70034e9a: 449c add ip, r3 70034e9c: e78a b.n 70034db4 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh+0x7c> 70034e9e: bf00 nop 70034ea0 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 70034ea0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70034ea4: b091 sub sp, #68 @ 0x44 70034ea6: 4616 mov r6, r2 70034ea8: 2900 cmp r1, #0 70034eaa: 4688 mov r8, r1 70034eac: 920f str r2, [sp, #60] @ 0x3c 70034eae: 900e str r0, [sp, #56] @ 0x38 70034eb0: 9821 ldr r0, [sp, #132] @ 0x84 70034eb2: f8dd 9074 ldr.w r9, [sp, #116] @ 0x74 70034eb6: e9dd 521f ldrd r5, r2, [sp, #124] @ 0x7c 70034eba: 686c ldr r4, [r5, #4] 70034ebc: fb04 2200 mla r2, r4, r0, r2 70034ec0: 6828 ldr r0, [r5, #0] 70034ec2: eb00 0b42 add.w fp, r0, r2, lsl #1 70034ec6: 9822 ldr r0, [sp, #136] @ 0x88 70034ec8: 6842 ldr r2, [r0, #4] 70034eca: f102 0004 add.w r0, r2, #4 70034ece: 900a str r0, [sp, #40] @ 0x28 70034ed0: 9822 ldr r0, [sp, #136] @ 0x88 70034ed2: 6800 ldr r0, [r0, #0] 70034ed4: e9dd 4a1b ldrd r4, sl, [sp, #108] @ 0x6c 70034ed8: 9009 str r0, [sp, #36] @ 0x24 70034eda: dc01 bgt.n 70034ee0 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x40> 70034edc: 2e00 cmp r6, #0 70034ede: dd70 ble.n 70034fc2 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x122> 70034ee0: f8cd 9074 str.w r9, [sp, #116] @ 0x74 70034ee4: 9a22 ldr r2, [sp, #136] @ 0x88 70034ee6: 2b00 cmp r3, #0 70034ee8: e9d2 5602 ldrd r5, r6, [r2, #8] 70034eec: b22f sxth r7, r5 70034eee: fa0f fe86 sxth.w lr, r6 70034ef2: dd6b ble.n 70034fcc <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x12c> 70034ef4: 9507 str r5, [sp, #28] 70034ef6: 1e7a subs r2, r7, #1 70034ef8: f10e 3cff add.w ip, lr, #4294967295 @ 0xffffffff 70034efc: e9dd 591d ldrd r5, r9, [sp, #116] @ 0x74 70034f00: e010 b.n 70034f24 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 70034f02: 4560 cmp r0, ip 70034f04: da02 bge.n 70034f0c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6c> 70034f06: 2800 cmp r0, #0 70034f08: f280 81db bge.w 700352c2 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x422> 70034f0c: f1b0 3fff cmp.w r0, #4294967295 @ 0xffffffff 70034f10: db02 blt.n 70034f18 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x78> 70034f12: 4570 cmp r0, lr 70034f14: f2c0 81d7 blt.w 700352c6 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x426> 70034f18: 3b01 subs r3, #1 70034f1a: 442c add r4, r5 70034f1c: 44ca add sl, r9 70034f1e: f10b 0b02 add.w fp, fp, #2 70034f22: d012 beq.n 70034f4a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xaa> 70034f24: 2c00 cmp r4, #0 70034f26: ea4f 402a mov.w r0, sl, asr #16 70034f2a: ea4f 4124 mov.w r1, r4, asr #16 70034f2e: db01 blt.n 70034f34 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x94> 70034f30: 4291 cmp r1, r2 70034f32: dbe6 blt.n 70034f02 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x62> 70034f34: f1b1 3fff cmp.w r1, #4294967295 @ 0xffffffff 70034f38: dbee blt.n 70034f18 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x78> 70034f3a: 42b9 cmp r1, r7 70034f3c: dbe6 blt.n 70034f0c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6c> 70034f3e: 3b01 subs r3, #1 70034f40: 442c add r4, r5 70034f42: 44ca add sl, r9 70034f44: f10b 0b02 add.w fp, fp, #2 70034f48: d1ec bne.n 70034f24 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 70034f4a: f1b8 0f00 cmp.w r8, #0 70034f4e: dd38 ble.n 70034fc2 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x122> 70034f50: eef0 7a62 vmov.f32 s15, s5 70034f54: 9b1a ldr r3, [sp, #104] @ 0x68 70034f56: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70034f5a: f1b8 0801 subs.w r8, r8, #1 70034f5e: ee30 0a04 vadd.f32 s0, s0, s8 70034f62: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 70034f66: ee70 0aa4 vadd.f32 s1, s1, s9 70034f6a: ee31 1a05 vadd.f32 s2, s2, s10 70034f6e: ee17 4a90 vmov r4, s15 70034f72: eef0 7a43 vmov.f32 s15, s6 70034f76: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 70034f7a: ee17 aa90 vmov sl, s15 70034f7e: eec7 7a00 vdiv.f32 s15, s14, s0 70034f82: ee20 7aa7 vmul.f32 s14, s1, s15 70034f86: ee61 7a27 vmul.f32 s15, s2, s15 70034f8a: ee77 2a62 vsub.f32 s5, s14, s5 70034f8e: ee37 3ac3 vsub.f32 s6, s15, s6 70034f92: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 70034f96: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 70034f9a: ee12 2a90 vmov r2, s5 70034f9e: fb92 f3f3 sdiv r3, r2, r3 70034fa2: ee13 2a10 vmov r2, s6 70034fa6: 931d str r3, [sp, #116] @ 0x74 70034fa8: 9b1a ldr r3, [sp, #104] @ 0x68 70034faa: fb92 f3f3 sdiv r3, r2, r3 70034fae: 931e str r3, [sp, #120] @ 0x78 70034fb0: d10a bne.n 70034fc8 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x128> 70034fb2: 9b0f ldr r3, [sp, #60] @ 0x3c 70034fb4: 2b00 cmp r3, #0 70034fb6: dd04 ble.n 70034fc2 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x122> 70034fb8: eeb0 3a67 vmov.f32 s6, s15 70034fbc: eef0 2a47 vmov.f32 s5, s14 70034fc0: e790 b.n 70034ee4 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x44> 70034fc2: b011 add sp, #68 @ 0x44 70034fc4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70034fc8: 9b1a ldr r3, [sp, #104] @ 0x68 70034fca: e7f5 b.n 70034fb8 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x118> 70034fcc: d0bd beq.n 70034f4a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xaa> 70034fce: 1e7a subs r2, r7, #1 70034fd0: f103 3cff add.w ip, r3, #4294967295 @ 0xffffffff 70034fd4: 991d ldr r1, [sp, #116] @ 0x74 70034fd6: fb01 410c mla r1, r1, ip, r4 70034fda: ebb2 4f21 cmp.w r2, r1, asr #16 70034fde: ea4f 4021 mov.w r0, r1, asr #16 70034fe2: f340 80ac ble.w 7003513e <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x29e> 70034fe6: 2800 cmp r0, #0 70034fe8: f2c0 80a9 blt.w 7003513e <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x29e> 70034fec: 9a1e ldr r2, [sp, #120] @ 0x78 70034fee: f10e 3eff add.w lr, lr, #4294967295 @ 0xffffffff 70034ff2: fb02 a20c mla r2, r2, ip, sl 70034ff6: ebbe 4f22 cmp.w lr, r2, asr #16 70034ffa: ea4f 4122 mov.w r1, r2, asr #16 70034ffe: f340 809e ble.w 7003513e <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x29e> 70035002: 2900 cmp r1, #0 70035004: f2c0 809b blt.w 7003513e <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x29e> 70035008: 2b00 cmp r3, #0 7003500a: dd9e ble.n 70034f4a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xaa> 7003500c: f8cd b01c str.w fp, [sp, #28] 70035010: f8cd b02c str.w fp, [sp, #44] @ 0x2c 70035014: 46e3 mov fp, ip 70035016: f8dd 9028 ldr.w r9, [sp, #40] @ 0x28 7003501a: e9cd 830c strd r8, r3, [sp, #48] @ 0x30 7003501e: e068 b.n 700350f2 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x252> 70035020: 7872 ldrb r2, [r6, #1] 70035022: eb06 0807 add.w r8, r6, r7 70035026: 46f4 mov ip, lr 70035028: 4675 mov r5, lr 7003502a: eb02 0242 add.w r2, r2, r2, lsl #1 7003502e: 444a add r2, r9 70035030: b143 cbz r3, 70035044 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1a4> 70035032: 5df5 ldrb r5, [r6, r7] 70035034: f898 c001 ldrb.w ip, [r8, #1] 70035038: eb05 0545 add.w r5, r5, r5, lsl #1 7003503c: eb0c 0c4c add.w ip, ip, ip, lsl #1 70035040: 444d add r5, r9 70035042: 44cc add ip, r9 70035044: f819 0000 ldrb.w r0, [r9, r0] 70035048: 9e1d ldr r6, [sp, #116] @ 0x74 7003504a: 9008 str r0, [sp, #32] 7003504c: 4434 add r4, r6 7003504e: fb01 f003 mul.w r0, r1, r3 70035052: 9e1e ldr r6, [sp, #120] @ 0x78 70035054: f892 8002 ldrb.w r8, [r2, #2] 70035058: 7857 ldrb r7, [r2, #1] 7003505a: 44b2 add sl, r6 7003505c: 7816 ldrb r6, [r2, #0] 7003505e: f500 7280 add.w r2, r0, #256 @ 0x100 70035062: eba2 1201 sub.w r2, r2, r1, lsl #4 70035066: ebc0 1101 rsb r1, r0, r1, lsl #4 7003506a: eba2 1203 sub.w r2, r2, r3, lsl #4 7003506e: b289 uxth r1, r1 70035070: b292 uxth r2, r2 70035072: fb01 f808 mul.w r8, r1, r8 70035076: ebc0 1303 rsb r3, r0, r3, lsl #4 7003507a: fb01 f707 mul.w r7, r1, r7 7003507e: fb01 f606 mul.w r6, r1, r6 70035082: 9908 ldr r1, [sp, #32] 70035084: b29b uxth r3, r3 70035086: fb02 6601 mla r6, r2, r1, r6 7003508a: f89e 1002 ldrb.w r1, [lr, #2] 7003508e: f89e e001 ldrb.w lr, [lr, #1] 70035092: fb02 8101 mla r1, r2, r1, r8 70035096: fb02 7e0e mla lr, r2, lr, r7 7003509a: 78aa ldrb r2, [r5, #2] 7003509c: fb03 1202 mla r2, r3, r2, r1 700350a0: 7869 ldrb r1, [r5, #1] 700350a2: 782d ldrb r5, [r5, #0] 700350a4: fb03 e101 mla r1, r3, r1, lr 700350a8: fb03 6505 mla r5, r3, r5, r6 700350ac: f89c 3002 ldrb.w r3, [ip, #2] 700350b0: fb00 2203 mla r2, r0, r3, r2 700350b4: f89c 3001 ldrb.w r3, [ip, #1] 700350b8: fb00 1303 mla r3, r0, r3, r1 700350bc: f402 427f and.w r2, r2, #65280 @ 0xff00 700350c0: f89c 1000 ldrb.w r1, [ip] 700350c4: 095b lsrs r3, r3, #5 700350c6: f36f 020a bfc r2, #0, #11 700350ca: fb00 5101 mla r1, r0, r1, r5 700350ce: f403 63fc and.w r3, r3, #2016 @ 0x7e0 700350d2: f3c1 21c4 ubfx r1, r1, #11, #5 700350d6: 4313 orrs r3, r2 700350d8: 4319 orrs r1, r3 700350da: 9b07 ldr r3, [sp, #28] 700350dc: f823 1b02 strh.w r1, [r3], #2 700350e0: 9307 str r3, [sp, #28] 700350e2: f1bb 0f00 cmp.w fp, #0 700350e6: d024 beq.n 70035132 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x292> 700350e8: 9b22 ldr r3, [sp, #136] @ 0x88 700350ea: f10b 3bff add.w fp, fp, #4294967295 @ 0xffffffff 700350ee: f9b3 7008 ldrsh.w r7, [r3, #8] 700350f2: ea4f 402a mov.w r0, sl, asr #16 700350f6: f414 4f70 tst.w r4, #61440 @ 0xf000 700350fa: ea4f 4224 mov.w r2, r4, asr #16 700350fe: f3ca 3303 ubfx r3, sl, #12, #4 70035102: f3c4 3103 ubfx r1, r4, #12, #4 70035106: fb07 2200 mla r2, r7, r0, r2 7003510a: 9809 ldr r0, [sp, #36] @ 0x24 7003510c: eb00 0602 add.w r6, r0, r2 70035110: 5c80 ldrb r0, [r0, r2] 70035112: eb00 0040 add.w r0, r0, r0, lsl #1 70035116: eb09 0e00 add.w lr, r9, r0 7003511a: d181 bne.n 70035020 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x180> 7003511c: 46f4 mov ip, lr 7003511e: b12b cbz r3, 7003512c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x28c> 70035120: 5df5 ldrb r5, [r6, r7] 70035122: 4672 mov r2, lr 70035124: eb05 0545 add.w r5, r5, r5, lsl #1 70035128: 444d add r5, r9 7003512a: e78b b.n 70035044 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1a4> 7003512c: 4675 mov r5, lr 7003512e: 4672 mov r2, lr 70035130: e788 b.n 70035044 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1a4> 70035132: e9dd b80b ldrd fp, r8, [sp, #44] @ 0x2c 70035136: 9b0d ldr r3, [sp, #52] @ 0x34 70035138: eb0b 0b43 add.w fp, fp, r3, lsl #1 7003513c: e705 b.n 70034f4a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xaa> 7003513e: 2b00 cmp r3, #0 70035140: f77f af03 ble.w 70034f4a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xaa> 70035144: 46d9 mov r9, fp 70035146: 1421 asrs r1, r4, #16 70035148: ea4f 402a mov.w r0, sl, asr #16 7003514c: f10c 0c01 add.w ip, ip, #1 70035150: f8cd 802c str.w r8, [sp, #44] @ 0x2c 70035154: f8dd 8088 ldr.w r8, [sp, #136] @ 0x88 70035158: eb0b 0b4c add.w fp, fp, ip, lsl #1 7003515c: e07b b.n 70035256 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3b6> 7003515e: 1e77 subs r7, r6, #1 70035160: 42b8 cmp r0, r7 70035162: f280 8086 bge.w 70035272 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3d2> 70035166: 2800 cmp r0, #0 70035168: f2c0 8083 blt.w 70035272 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3d2> 7003516c: b22d sxth r5, r5 7003516e: 9f0a ldr r7, [sp, #40] @ 0x28 70035170: fb00 1005 mla r0, r0, r5, r1 70035174: 9909 ldr r1, [sp, #36] @ 0x24 70035176: 5c0e ldrb r6, [r1, r0] 70035178: 4408 add r0, r1 7003517a: eb06 0646 add.w r6, r6, r6, lsl #1 7003517e: eb07 0c06 add.w ip, r7, r6 70035182: 2a00 cmp r2, #0 70035184: f000 8088 beq.w 70035298 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3f8> 70035188: 7841 ldrb r1, [r0, #1] 7003518a: eb01 0141 add.w r1, r1, r1, lsl #1 7003518e: 4439 add r1, r7 70035190: 2b00 cmp r3, #0 70035192: f000 808d beq.w 700352b0 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x410> 70035196: 1947 adds r7, r0, r5 70035198: 5d45 ldrb r5, [r0, r5] 7003519a: 980a ldr r0, [sp, #40] @ 0x28 7003519c: 787f ldrb r7, [r7, #1] 7003519e: eb05 0545 add.w r5, r5, r5, lsl #1 700351a2: eb07 0747 add.w r7, r7, r7, lsl #1 700351a6: 4405 add r5, r0 700351a8: 4407 add r7, r0 700351aa: 9507 str r5, [sp, #28] 700351ac: 980a ldr r0, [sp, #40] @ 0x28 700351ae: f891 e001 ldrb.w lr, [r1, #1] 700351b2: 5d80 ldrb r0, [r0, r6] 700351b4: 788e ldrb r6, [r1, #2] 700351b6: 9008 str r0, [sp, #32] 700351b8: fb02 f003 mul.w r0, r2, r3 700351bc: 4635 mov r5, r6 700351be: 780e ldrb r6, [r1, #0] 700351c0: f500 7180 add.w r1, r0, #256 @ 0x100 700351c4: eba1 1102 sub.w r1, r1, r2, lsl #4 700351c8: ebc0 1202 rsb r2, r0, r2, lsl #4 700351cc: eba1 1103 sub.w r1, r1, r3, lsl #4 700351d0: b292 uxth r2, r2 700351d2: b289 uxth r1, r1 700351d4: fb02 f505 mul.w r5, r2, r5 700351d8: ebc0 1303 rsb r3, r0, r3, lsl #4 700351dc: fb02 fe0e mul.w lr, r2, lr 700351e0: fb02 f606 mul.w r6, r2, r6 700351e4: 9a08 ldr r2, [sp, #32] 700351e6: b29b uxth r3, r3 700351e8: fb01 6602 mla r6, r1, r2, r6 700351ec: f89c 2002 ldrb.w r2, [ip, #2] 700351f0: f89c c001 ldrb.w ip, [ip, #1] 700351f4: fb01 5202 mla r2, r1, r2, r5 700351f8: 9d07 ldr r5, [sp, #28] 700351fa: fb01 ec0c mla ip, r1, ip, lr 700351fe: 78a9 ldrb r1, [r5, #2] 70035200: fb03 2201 mla r2, r3, r1, r2 70035204: 7869 ldrb r1, [r5, #1] 70035206: 782d ldrb r5, [r5, #0] 70035208: fb03 c101 mla r1, r3, r1, ip 7003520c: fb03 6505 mla r5, r3, r5, r6 70035210: 78bb ldrb r3, [r7, #2] 70035212: fb00 2203 mla r2, r0, r3, r2 70035216: 787b ldrb r3, [r7, #1] 70035218: fb00 1303 mla r3, r0, r3, r1 7003521c: f402 427f and.w r2, r2, #65280 @ 0xff00 70035220: 7839 ldrb r1, [r7, #0] 70035222: 095b lsrs r3, r3, #5 70035224: f36f 020a bfc r2, #0, #11 70035228: fb00 5101 mla r1, r0, r1, r5 7003522c: f403 63fc and.w r3, r3, #2016 @ 0x7e0 70035230: f3c1 21c4 ubfx r1, r1, #11, #5 70035234: 431a orrs r2, r3 70035236: 4311 orrs r1, r2 70035238: f8a9 1000 strh.w r1, [r9] 7003523c: 9b1d ldr r3, [sp, #116] @ 0x74 7003523e: f109 0902 add.w r9, r9, #2 70035242: 441c add r4, r3 70035244: 45d9 cmp r9, fp 70035246: 9b1e ldr r3, [sp, #120] @ 0x78 70035248: 449a add sl, r3 7003524a: d02e beq.n 700352aa <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x40a> 7003524c: 1421 asrs r1, r4, #16 7003524e: ea4f 402a mov.w r0, sl, asr #16 70035252: e9d8 5602 ldrd r5, r6, [r8, #8] 70035256: 1e6f subs r7, r5, #1 70035258: f3c4 3203 ubfx r2, r4, #12, #4 7003525c: f3ca 3303 ubfx r3, sl, #12, #4 70035260: 42b9 cmp r1, r7 70035262: da02 bge.n 7003526a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3ca> 70035264: 2900 cmp r1, #0 70035266: f6bf af7a bge.w 7003515e <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2be> 7003526a: 1c4f adds r7, r1, #1 7003526c: dbe6 blt.n 7003523c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x39c> 7003526e: 42a9 cmp r1, r5 70035270: dae4 bge.n 7003523c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x39c> 70035272: 1c47 adds r7, r0, #1 70035274: dbe2 blt.n 7003523c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x39c> 70035276: 42b0 cmp r0, r6 70035278: dae0 bge.n 7003523c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x39c> 7003527a: b236 sxth r6, r6 7003527c: b22d sxth r5, r5 7003527e: 9601 str r6, [sp, #4] 70035280: 9500 str r5, [sp, #0] 70035282: e9cd 1002 strd r1, r0, [sp, #8] 70035286: e9cd 2304 strd r2, r3, [sp, #16] 7003528a: 4649 mov r1, r9 7003528c: 980e ldr r0, [sp, #56] @ 0x38 7003528e: e9dd 2309 ldrd r2, r3, [sp, #36] @ 0x24 70035292: f7ff fd51 bl 70034d38 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhS4_ssiihh> 70035296: e7d1 b.n 7003523c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x39c> 70035298: b173 cbz r3, 700352b8 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x418> 7003529a: 5d45 ldrb r5, [r0, r5] 7003529c: eb05 0545 add.w r5, r5, r5, lsl #1 700352a0: 19e9 adds r1, r5, r7 700352a2: 4667 mov r7, ip 700352a4: 9107 str r1, [sp, #28] 700352a6: 4661 mov r1, ip 700352a8: e780 b.n 700351ac <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x30c> 700352aa: f8dd 802c ldr.w r8, [sp, #44] @ 0x2c 700352ae: e64c b.n 70034f4a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xaa> 700352b0: 4667 mov r7, ip 700352b2: f8cd c01c str.w ip, [sp, #28] 700352b6: e779 b.n 700351ac <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x30c> 700352b8: 4667 mov r7, ip 700352ba: 4661 mov r1, ip 700352bc: f8cd c01c str.w ip, [sp, #28] 700352c0: e774 b.n 700351ac <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x30c> 700352c2: 9d07 ldr r5, [sp, #28] 700352c4: e684 b.n 70034fd0 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x130> 700352c6: 9d07 ldr r5, [sp, #28] 700352c8: f103 3cff add.w ip, r3, #4294967295 @ 0xffffffff 700352cc: 46d9 mov r9, fp 700352ce: e73d b.n 7003514c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_16BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2ac> 700352d0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh>: 700352d0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700352d4: 460c mov r4, r1 700352d6: b08d sub sp, #52 @ 0x34 700352d8: 469e mov lr, r3 700352da: f89d 5068 ldrb.w r5, [sp, #104] @ 0x68 700352de: f89d 006c ldrb.w r0, [sp, #108] @ 0x6c 700352e2: 930b str r3, [sp, #44] @ 0x2c 700352e4: 8823 ldrh r3, [r4, #0] 700352e6: fb05 f700 mul.w r7, r5, r0 700352ea: f9bd a058 ldrsh.w sl, [sp, #88] @ 0x58 700352ee: ea4f 1800 mov.w r8, r0, lsl #4 700352f2: 0a1e lsrs r6, r3, #8 700352f4: 9109 str r1, [sp, #36] @ 0x24 700352f6: 4611 mov r1, r2 700352f8: 9a19 ldr r2, [sp, #100] @ 0x64 700352fa: f006 04f8 and.w r4, r6, #248 @ 0xf8 700352fe: eba7 1600 sub.w r6, r7, r0, lsl #4 70035302: f9bd c05c ldrsh.w ip, [sp, #92] @ 0x5c 70035306: f506 7680 add.w r6, r6, #256 @ 0x100 7003530a: 9404 str r4, [sp, #16] 7003530c: 9702 str r7, [sp, #8] 7003530e: 4594 cmp ip, r2 70035310: eba6 1605 sub.w r6, r6, r5, lsl #4 70035314: b2b4 uxth r4, r6 70035316: ea4f 06d3 mov.w r6, r3, lsr #3 7003531a: ea4f 03c3 mov.w r3, r3, lsl #3 7003531e: 9408 str r4, [sp, #32] 70035320: f006 06fc and.w r6, r6, #252 @ 0xfc 70035324: 9605 str r6, [sp, #20] 70035326: b2de uxtb r6, r3 70035328: 9606 str r6, [sp, #24] 7003532a: 9e18 ldr r6, [sp, #96] @ 0x60 7003532c: fb02 630a mla r3, r2, sl, r6 70035330: ebc7 1605 rsb r6, r7, r5, lsl #4 70035334: eb01 0703 add.w r7, r1, r3 70035338: b2b6 uxth r6, r6 7003533a: 970a str r7, [sp, #40] @ 0x28 7003533c: 9603 str r6, [sp, #12] 7003533e: f89d 6070 ldrb.w r6, [sp, #112] @ 0x70 70035342: dd29 ble.n 70035398 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0xc8> 70035344: 2a00 cmp r2, #0 70035346: db27 blt.n 70035398 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0xc8> 70035348: 9f18 ldr r7, [sp, #96] @ 0x60 7003534a: 45ba cmp sl, r7 7003534c: f340 8113 ble.w 70035576 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x2a6> 70035350: 2f00 cmp r7, #0 70035352: f2c0 8110 blt.w 70035576 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x2a6> 70035356: 5ccb ldrb r3, [r1, r3] 70035358: f85e 1023 ldr.w r1, [lr, r3, lsl #2] 7003535c: 0e0f lsrs r7, r1, #24 7003535e: f001 1bff and.w fp, r1, #16711935 @ 0xff00ff 70035362: f401 417f and.w r1, r1, #65280 @ 0xff00 70035366: fb04 f307 mul.w r3, r4, r7 7003536a: 9c18 ldr r4, [sp, #96] @ 0x60 7003536c: 2d00 cmp r5, #0 7003536e: f104 0e01 add.w lr, r4, #1 70035372: ea6f 090e mvn.w r9, lr 70035376: ea4f 79d9 mov.w r9, r9, lsr #31 7003537a: bf08 it eq 7003537c: f04f 0900 moveq.w r9, #0 70035380: f1b9 0f00 cmp.w r9, #0 70035384: d002 beq.n 7003538c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0xbc> 70035386: 45f2 cmp sl, lr 70035388: f300 80fa bgt.w 70035580 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x2b0> 7003538c: f04f 0e00 mov.w lr, #0 70035390: 46f1 mov r9, lr 70035392: f8cd e004 str.w lr, [sp, #4] 70035396: e006 b.n 700353a6 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0xd6> 70035398: 2300 movs r3, #0 7003539a: 4619 mov r1, r3 7003539c: 469b mov fp, r3 7003539e: 469e mov lr, r3 700353a0: 4699 mov r9, r3 700353a2: 461f mov r7, r3 700353a4: 9301 str r3, [sp, #4] 700353a6: 9c02 ldr r4, [sp, #8] 700353a8: 3201 adds r2, #1 700353aa: eba8 0804 sub.w r8, r8, r4 700353ae: 2a00 cmp r2, #0 700353b0: bfa8 it ge 700353b2: 4594 cmpge ip, r2 700353b4: fa1f f488 uxth.w r4, r8 700353b8: 9407 str r4, [sp, #28] 700353ba: dd02 ble.n 700353c2 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0xf2> 700353bc: 2800 cmp r0, #0 700353be: f040 80b6 bne.w 7003552e <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x25e> 700353c2: 2200 movs r2, #0 700353c4: 4610 mov r0, r2 700353c6: 4615 mov r5, r2 700353c8: 4694 mov ip, r2 700353ca: 4692 mov sl, r2 700353cc: 4690 mov r8, r2 700353ce: 2fff cmp r7, #255 @ 0xff 700353d0: f3c3 2307 ubfx r3, r3, #8, #8 700353d4: d014 beq.n 70035400 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x130> 700353d6: fb0b fb07 mul.w fp, fp, r7 700353da: fb07 f101 mul.w r1, r7, r1 700353de: ea4f 271b mov.w r7, fp, lsr #8 700353e2: f10b 1b01 add.w fp, fp, #65537 @ 0x10001 700353e6: f007 17ff and.w r7, r7, #16711935 @ 0xff00ff 700353ea: 445f add r7, fp 700353ec: 0a3f lsrs r7, r7, #8 700353ee: f007 1bff and.w fp, r7, #16711935 @ 0xff00ff 700353f2: f501 7780 add.w r7, r1, #256 @ 0x100 700353f6: eb07 2711 add.w r7, r7, r1, lsr #8 700353fa: 0a3f lsrs r7, r7, #8 700353fc: f407 417f and.w r1, r7, #65280 @ 0xff00 70035400: f1b9 0fff cmp.w r9, #255 @ 0xff 70035404: d017 beq.n 70035436 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x166> 70035406: 9c01 ldr r4, [sp, #4] 70035408: fb0e fe09 mul.w lr, lr, r9 7003540c: fb04 f709 mul.w r7, r4, r9 70035410: ea4f 2917 mov.w r9, r7, lsr #8 70035414: f107 1701 add.w r7, r7, #65537 @ 0x10001 70035418: f009 19ff and.w r9, r9, #16711935 @ 0xff00ff 7003541c: 44b9 add r9, r7 7003541e: f50e 7780 add.w r7, lr, #256 @ 0x100 70035422: eb07 271e add.w r7, r7, lr, lsr #8 70035426: ea4f 2919 mov.w r9, r9, lsr #8 7003542a: 0a3f lsrs r7, r7, #8 7003542c: f009 14ff and.w r4, r9, #16711935 @ 0xff00ff 70035430: f407 4e7f and.w lr, r7, #65280 @ 0xff00 70035434: 9401 str r4, [sp, #4] 70035436: f1b8 0fff cmp.w r8, #255 @ 0xff 7003543a: d013 beq.n 70035464 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x194> 7003543c: fb00 f008 mul.w r0, r0, r8 70035440: fb02 f208 mul.w r2, r2, r8 70035444: 0a07 lsrs r7, r0, #8 70035446: f100 1001 add.w r0, r0, #65537 @ 0x10001 7003544a: f007 17ff and.w r7, r7, #16711935 @ 0xff00ff 7003544e: 4407 add r7, r0 70035450: 0a3f lsrs r7, r7, #8 70035452: f007 10ff and.w r0, r7, #16711935 @ 0xff00ff 70035456: f502 7780 add.w r7, r2, #256 @ 0x100 7003545a: eb07 2712 add.w r7, r7, r2, lsr #8 7003545e: 0a3f lsrs r7, r7, #8 70035460: f407 427f and.w r2, r7, #65280 @ 0xff00 70035464: f1ba 0fff cmp.w sl, #255 @ 0xff 70035468: d014 beq.n 70035494 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x1c4> 7003546a: fb0c fc0a mul.w ip, ip, sl 7003546e: fb05 f50a mul.w r5, r5, sl 70035472: ea4f 271c mov.w r7, ip, lsr #8 70035476: f10c 1c01 add.w ip, ip, #65537 @ 0x10001 7003547a: f007 17ff and.w r7, r7, #16711935 @ 0xff00ff 7003547e: 4467 add r7, ip 70035480: 0a3f lsrs r7, r7, #8 70035482: f007 1cff and.w ip, r7, #16711935 @ 0xff00ff 70035486: f505 7780 add.w r7, r5, #256 @ 0x100 7003548a: eb07 2715 add.w r7, r7, r5, lsr #8 7003548e: 0a3f lsrs r7, r7, #8 70035490: f407 457f and.w r5, r7, #65280 @ 0xff00 70035494: 9c03 ldr r4, [sp, #12] 70035496: fb06 f303 mul.w r3, r6, r3 7003549a: 9f01 ldr r7, [sp, #4] 7003549c: fb0e fe04 mul.w lr, lr, r4 700354a0: fb04 f707 mul.w r7, r4, r7 700354a4: 9c08 ldr r4, [sp, #32] 700354a6: fb01 ee04 mla lr, r1, r4, lr 700354aa: 9907 ldr r1, [sp, #28] 700354ac: fb0b 7704 mla r7, fp, r4, r7 700354b0: fb02 ee01 mla lr, r2, r1, lr 700354b4: 9a02 ldr r2, [sp, #8] 700354b6: fb00 7701 mla r7, r0, r1, r7 700354ba: 9906 ldr r1, [sp, #24] 700354bc: fb05 ee02 mla lr, r5, r2, lr 700354c0: fb0c 7702 mla r7, ip, r2, r7 700354c4: 1c5a adds r2, r3, #1 700354c6: f3c3 230f ubfx r3, r3, #8, #16 700354ca: f3ce 4e07 ubfx lr, lr, #16, #8 700354ce: fa13 f382 uxtah r3, r3, r2 700354d2: 9a04 ldr r2, [sp, #16] 700354d4: ea6f 2323 mvn.w r3, r3, asr #8 700354d8: b2db uxtb r3, r3 700354da: fb12 f003 smulbb r0, r2, r3 700354de: 9a05 ldr r2, [sp, #20] 700354e0: fb11 f103 smulbb r1, r1, r3 700354e4: fb12 f203 smulbb r2, r2, r3 700354e8: 0e3b lsrs r3, r7, #24 700354ea: f3c7 2707 ubfx r7, r7, #8, #8 700354ee: fb03 0306 mla r3, r3, r6, r0 700354f2: fb07 1106 mla r1, r7, r6, r1 700354f6: b29b uxth r3, r3 700354f8: fb0e 2206 mla r2, lr, r6, r2 700354fc: b289 uxth r1, r1 700354fe: 1c58 adds r0, r3, #1 70035500: b292 uxth r2, r2 70035502: eb00 2013 add.w r0, r0, r3, lsr #8 70035506: 1c4b adds r3, r1, #1 70035508: eb03 2311 add.w r3, r3, r1, lsr #8 7003550c: 1c51 adds r1, r2, #1 7003550e: f400 4078 and.w r0, r0, #63488 @ 0xf800 70035512: eb01 2212 add.w r2, r1, r2, lsr #8 70035516: f3c3 23c4 ubfx r3, r3, #11, #5 7003551a: 0952 lsrs r2, r2, #5 7003551c: 4303 orrs r3, r0 7003551e: f402 62fc and.w r2, r2, #2016 @ 0x7e0 70035522: 4313 orrs r3, r2 70035524: 9a09 ldr r2, [sp, #36] @ 0x24 70035526: 8013 strh r3, [r2, #0] 70035528: b00d add sp, #52 @ 0x34 7003552a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7003552e: 9a18 ldr r2, [sp, #96] @ 0x60 70035530: 4592 cmp sl, r2 70035532: dd36 ble.n 700355a2 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x2d2> 70035534: 2a00 cmp r2, #0 70035536: db34 blt.n 700355a2 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x2d2> 70035538: 9a0a ldr r2, [sp, #40] @ 0x28 7003553a: 980b ldr r0, [sp, #44] @ 0x2c 7003553c: f812 200a ldrb.w r2, [r2, sl] 70035540: f850 2022 ldr.w r2, [r0, r2, lsl #2] 70035544: ea4f 6812 mov.w r8, r2, lsr #24 70035548: f002 10ff and.w r0, r2, #16711935 @ 0xff00ff 7003554c: f402 427f and.w r2, r2, #65280 @ 0xff00 70035550: fb04 3308 mla r3, r4, r8, r3 70035554: 9c18 ldr r4, [sp, #96] @ 0x60 70035556: 2d00 cmp r5, #0 70035558: f104 0c01 add.w ip, r4, #1 7003555c: ea6f 040c mvn.w r4, ip 70035560: ea4f 74d4 mov.w r4, r4, lsr #31 70035564: bf08 it eq 70035566: 2400 moveq r4, #0 70035568: b10c cbz r4, 7003556e <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x29e> 7003556a: 45e2 cmp sl, ip 7003556c: dc1d bgt.n 700355aa <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x2da> 7003556e: 2500 movs r5, #0 70035570: 46ac mov ip, r5 70035572: 46aa mov sl, r5 70035574: e72b b.n 700353ce <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0xfe> 70035576: 2100 movs r1, #0 70035578: 468b mov fp, r1 7003557a: 460b mov r3, r1 7003557c: 460f mov r7, r1 7003557e: e6f4 b.n 7003536a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x9a> 70035580: 9c0a ldr r4, [sp, #40] @ 0x28 70035582: f894 e001 ldrb.w lr, [r4, #1] 70035586: 9c0b ldr r4, [sp, #44] @ 0x2c 70035588: f854 e02e ldr.w lr, [r4, lr, lsl #2] 7003558c: 9c03 ldr r4, [sp, #12] 7003558e: ea4f 691e mov.w r9, lr, lsr #24 70035592: fb04 3309 mla r3, r4, r9, r3 70035596: f00e 14ff and.w r4, lr, #16711935 @ 0xff00ff 7003559a: f40e 4e7f and.w lr, lr, #65280 @ 0xff00 7003559e: 9401 str r4, [sp, #4] 700355a0: e701 b.n 700353a6 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0xd6> 700355a2: 2200 movs r2, #0 700355a4: 4610 mov r0, r2 700355a6: 4690 mov r8, r2 700355a8: e7d4 b.n 70035554 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0x284> 700355aa: 9d0a ldr r5, [sp, #40] @ 0x28 700355ac: 9c0b ldr r4, [sp, #44] @ 0x2c 700355ae: 4455 add r5, sl 700355b0: 786d ldrb r5, [r5, #1] 700355b2: f854 5025 ldr.w r5, [r4, r5, lsl #2] 700355b6: 9c02 ldr r4, [sp, #8] 700355b8: ea4f 6a15 mov.w sl, r5, lsr #24 700355bc: f005 1cff and.w ip, r5, #16711935 @ 0xff00ff 700355c0: f405 457f and.w r5, r5, #65280 @ 0xff00 700355c4: fb04 330a mla r3, r4, sl, r3 700355c8: e701 b.n 700353ce <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh+0xfe> 700355ca: bf00 nop 700355cc <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 700355cc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700355d0: b09f sub sp, #124 @ 0x7c 700355d2: 4617 mov r7, r2 700355d4: 460e mov r6, r1 700355d6: f04f 0b00 mov.w fp, #0 700355da: 921d str r2, [sp, #116] @ 0x74 700355dc: 992f ldr r1, [sp, #188] @ 0xbc 700355de: 455e cmp r6, fp 700355e0: 901c str r0, [sp, #112] @ 0x70 700355e2: f8dd 90ac ldr.w r9, [sp, #172] @ 0xac 700355e6: f8cd b050 str.w fp, [sp, #80] @ 0x50 700355ea: f8cd b034 str.w fp, [sp, #52] @ 0x34 700355ee: e9dd 422d ldrd r4, r2, [sp, #180] @ 0xb4 700355f2: e9cd bb0b strd fp, fp, [sp, #44] @ 0x2c 700355f6: 6860 ldr r0, [r4, #4] 700355f8: fb00 2201 mla r2, r0, r1, r2 700355fc: 6821 ldr r1, [r4, #0] 700355fe: eb01 0a42 add.w sl, r1, r2, lsl #1 70035602: 9930 ldr r1, [sp, #192] @ 0xc0 70035604: 684a ldr r2, [r1, #4] 70035606: f102 0104 add.w r1, r2, #4 7003560a: 910a str r1, [sp, #40] @ 0x28 7003560c: f89d 10c4 ldrb.w r1, [sp, #196] @ 0xc4 70035610: e9cd 1b10 strd r1, fp, [sp, #64] @ 0x40 70035614: 9930 ldr r1, [sp, #192] @ 0xc0 70035616: 6809 ldr r1, [r1, #0] 70035618: e9dd 4529 ldrd r4, r5, [sp, #164] @ 0xa4 7003561c: 910f str r1, [sp, #60] @ 0x3c 7003561e: 4631 mov r1, r6 70035620: dc01 bgt.n 70035626 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x5a> 70035622: 455f cmp r7, fp 70035624: dd78 ble.n 70035718 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14c> 70035626: f8cd b048 str.w fp, [sp, #72] @ 0x48 7003562a: 46e3 mov fp, ip 7003562c: f8cd 90ac str.w r9, [sp, #172] @ 0xac 70035630: 4689 mov r9, r1 70035632: 9a30 ldr r2, [sp, #192] @ 0xc0 70035634: 2b00 cmp r3, #0 70035636: 9930 ldr r1, [sp, #192] @ 0xc0 70035638: 6892 ldr r2, [r2, #8] 7003563a: f8d1 e00c ldr.w lr, [r1, #12] 7003563e: b217 sxth r7, r2 70035640: fa0f f88e sxth.w r8, lr 70035644: dd6d ble.n 70035722 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x156> 70035646: 9209 str r2, [sp, #36] @ 0x24 70035648: 1e7e subs r6, r7, #1 7003564a: f8cd e058 str.w lr, [sp, #88] @ 0x58 7003564e: f108 3cff add.w ip, r8, #4294967295 @ 0xffffffff 70035652: e9dd 2e2b ldrd r2, lr, [sp, #172] @ 0xac 70035656: e010 b.n 7003567a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xae> 70035658: 4560 cmp r0, ip 7003565a: da02 bge.n 70035662 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x96> 7003565c: 2800 cmp r0, #0 7003565e: f280 836b bge.w 70035d38 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x76c> 70035662: f1b0 3fff cmp.w r0, #4294967295 @ 0xffffffff 70035666: db02 blt.n 7003566e <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xa2> 70035668: 4540 cmp r0, r8 7003566a: f2c0 8369 blt.w 70035d40 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x774> 7003566e: 3b01 subs r3, #1 70035670: 4414 add r4, r2 70035672: 4475 add r5, lr 70035674: f10a 0a02 add.w sl, sl, #2 70035678: d012 beq.n 700356a0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xd4> 7003567a: 2c00 cmp r4, #0 7003567c: ea4f 4025 mov.w r0, r5, asr #16 70035680: ea4f 4124 mov.w r1, r4, asr #16 70035684: db01 blt.n 7003568a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xbe> 70035686: 42b1 cmp r1, r6 70035688: dbe6 blt.n 70035658 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8c> 7003568a: f1b1 3fff cmp.w r1, #4294967295 @ 0xffffffff 7003568e: dbee blt.n 7003566e <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xa2> 70035690: 42b9 cmp r1, r7 70035692: dbe6 blt.n 70035662 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x96> 70035694: 3b01 subs r3, #1 70035696: 4414 add r4, r2 70035698: 4475 add r5, lr 7003569a: f10a 0a02 add.w sl, sl, #2 7003569e: d1ec bne.n 7003567a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xae> 700356a0: f1b9 0f00 cmp.w r9, #0 700356a4: dd38 ble.n 70035718 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14c> 700356a6: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 700356aa: 9b28 ldr r3, [sp, #160] @ 0xa0 700356ac: ee30 0a04 vadd.f32 s0, s0, s8 700356b0: f1b9 0901 subs.w r9, r9, #1 700356b4: ee70 0aa4 vadd.f32 s1, s1, s9 700356b8: ee31 1a05 vadd.f32 s2, s2, s10 700356bc: eec7 7a00 vdiv.f32 s15, s14, s0 700356c0: eef0 5a62 vmov.f32 s11, s5 700356c4: eefe 5ac8 vcvt.s32.f32 s11, s11, #16 700356c8: ee15 4a90 vmov r4, s11 700356cc: eef0 5a43 vmov.f32 s11, s6 700356d0: eefe 5ac8 vcvt.s32.f32 s11, s11, #16 700356d4: ee20 6aa7 vmul.f32 s12, s1, s15 700356d8: ee61 7a27 vmul.f32 s15, s2, s15 700356dc: ee15 5a90 vmov r5, s11 700356e0: ee76 6a62 vsub.f32 s13, s12, s5 700356e4: ee37 7ac3 vsub.f32 s14, s15, s6 700356e8: eefe 6ac8 vcvt.s32.f32 s13, s13, #16 700356ec: eebe 7ac8 vcvt.s32.f32 s14, s14, #16 700356f0: ee16 2a90 vmov r2, s13 700356f4: fb92 f3f3 sdiv r3, r2, r3 700356f8: ee17 2a10 vmov r2, s14 700356fc: 932b str r3, [sp, #172] @ 0xac 700356fe: 9b28 ldr r3, [sp, #160] @ 0xa0 70035700: fb92 f3f3 sdiv r3, r2, r3 70035704: 932c str r3, [sp, #176] @ 0xb0 70035706: d10a bne.n 7003571e <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x152> 70035708: 9b1d ldr r3, [sp, #116] @ 0x74 7003570a: 2b00 cmp r3, #0 7003570c: dd04 ble.n 70035718 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14c> 7003570e: eeb0 3a67 vmov.f32 s6, s15 70035712: eef0 2a46 vmov.f32 s5, s12 70035716: e78c b.n 70035632 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x66> 70035718: b01f add sp, #124 @ 0x7c 7003571a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7003571e: 9b28 ldr r3, [sp, #160] @ 0xa0 70035720: e7f5 b.n 7003570e <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x142> 70035722: d0bd beq.n 700356a0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xd4> 70035724: 1e7e subs r6, r7, #1 70035726: f103 3cff add.w ip, r3, #4294967295 @ 0xffffffff 7003572a: 992b ldr r1, [sp, #172] @ 0xac 7003572c: fb01 410c mla r1, r1, ip, r4 70035730: ebb6 4f21 cmp.w r6, r1, asr #16 70035734: ea4f 4021 mov.w r0, r1, asr #16 70035738: f340 816d ble.w 70035a16 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x44a> 7003573c: 2800 cmp r0, #0 7003573e: f2c0 816a blt.w 70035a16 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x44a> 70035742: 992c ldr r1, [sp, #176] @ 0xb0 70035744: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff 70035748: fb01 510c mla r1, r1, ip, r5 7003574c: ebb8 4f21 cmp.w r8, r1, asr #16 70035750: ea4f 4021 mov.w r0, r1, asr #16 70035754: f340 815f ble.w 70035a16 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x44a> 70035758: 2800 cmp r0, #0 7003575a: f2c0 815c blt.w 70035a16 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x44a> 7003575e: 2b00 cmp r3, #0 70035760: dd9e ble.n 700356a0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xd4> 70035762: f8cd c024 str.w ip, [sp, #36] @ 0x24 70035766: 46d0 mov r8, sl 70035768: f8dd c064 ldr.w ip, [sp, #100] @ 0x64 7003576c: 46a6 mov lr, r4 7003576e: e9cd 931a strd r9, r3, [sp, #104] @ 0x68 70035772: e9cd ab16 strd sl, fp, [sp, #88] @ 0x58 70035776: 46a9 mov r9, r5 70035778: 9d18 ldr r5, [sp, #96] @ 0x60 7003577a: e123 b.n 700359c4 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3f8> 7003577c: 7850 ldrb r0, [r2, #1] 7003577e: f856 5020 ldr.w r5, [r6, r0, lsl #2] 70035782: 0e2e lsrs r6, r5, #24 70035784: 960b str r6, [sp, #44] @ 0x2c 70035786: b16b cbz r3, 700357a4 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d8> 70035788: 19d0 adds r0, r2, r7 7003578a: 5dd6 ldrb r6, [r2, r7] 7003578c: 7842 ldrb r2, [r0, #1] 7003578e: 980a ldr r0, [sp, #40] @ 0x28 70035790: f850 c026 ldr.w ip, [r0, r6, lsl #2] 70035794: f850 0022 ldr.w r0, [r0, r2, lsl #2] 70035798: ea4f 621c mov.w r2, ip, lsr #24 7003579c: 900e str r0, [sp, #56] @ 0x38 7003579e: 920c str r2, [sp, #48] @ 0x30 700357a0: 0e02 lsrs r2, r0, #24 700357a2: 920d str r2, [sp, #52] @ 0x34 700357a4: fb01 f703 mul.w r7, r1, r3 700357a8: 980b ldr r0, [sp, #44] @ 0x2c 700357aa: 9e0c ldr r6, [sp, #48] @ 0x30 700357ac: f507 7280 add.w r2, r7, #256 @ 0x100 700357b0: eba2 1201 sub.w r2, r2, r1, lsl #4 700357b4: ebc7 1101 rsb r1, r7, r1, lsl #4 700357b8: eba2 1203 sub.w r2, r2, r3, lsl #4 700357bc: b289 uxth r1, r1 700357be: ebc7 1303 rsb r3, r7, r3, lsl #4 700357c2: b292 uxth r2, r2 700357c4: fb01 f000 mul.w r0, r1, r0 700357c8: b29b uxth r3, r3 700357ca: fb02 000b mla r0, r2, fp, r0 700357ce: fb03 0006 mla r0, r3, r6, r0 700357d2: 9e0d ldr r6, [sp, #52] @ 0x34 700357d4: fb07 0006 mla r0, r7, r6, r0 700357d8: f410 4f7f tst.w r0, #65280 @ 0xff00 700357dc: f3c0 2a07 ubfx sl, r0, #8, #8 700357e0: f000 80e3 beq.w 700359aa <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3de> 700357e4: f1bb 0fff cmp.w fp, #255 @ 0xff 700357e8: d01b beq.n 70035822 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x256> 700357ea: f004 10ff and.w r0, r4, #16711935 @ 0xff00ff 700357ee: f404 447f and.w r4, r4, #65280 @ 0xff00 700357f2: fb0b f000 mul.w r0, fp, r0 700357f6: fb0b f404 mul.w r4, fp, r4 700357fa: ea4f 2b10 mov.w fp, r0, lsr #8 700357fe: f100 1001 add.w r0, r0, #65537 @ 0x10001 70035802: f00b 1bff and.w fp, fp, #16711935 @ 0xff00ff 70035806: 4483 add fp, r0 70035808: f504 7080 add.w r0, r4, #256 @ 0x100 7003580c: eb00 2014 add.w r0, r0, r4, lsr #8 70035810: ea4f 2b1b mov.w fp, fp, lsr #8 70035814: 0a00 lsrs r0, r0, #8 70035816: f00b 1bff and.w fp, fp, #16711935 @ 0xff00ff 7003581a: f400 407f and.w r0, r0, #65280 @ 0xff00 7003581e: ea4b 0400 orr.w r4, fp, r0 70035822: 980b ldr r0, [sp, #44] @ 0x2c 70035824: 28ff cmp r0, #255 @ 0xff 70035826: d01b beq.n 70035860 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x294> 70035828: f005 1bff and.w fp, r5, #16711935 @ 0xff00ff 7003582c: f405 457f and.w r5, r5, #65280 @ 0xff00 70035830: fb00 fb0b mul.w fp, r0, fp 70035834: fb00 f505 mul.w r5, r0, r5 70035838: ea4f 201b mov.w r0, fp, lsr #8 7003583c: f10b 1b01 add.w fp, fp, #65537 @ 0x10001 70035840: f000 10ff and.w r0, r0, #16711935 @ 0xff00ff 70035844: 4458 add r0, fp 70035846: f505 7b80 add.w fp, r5, #256 @ 0x100 7003584a: eb0b 2b15 add.w fp, fp, r5, lsr #8 7003584e: 0a00 lsrs r0, r0, #8 70035850: ea4f 2b1b mov.w fp, fp, lsr #8 70035854: f000 10ff and.w r0, r0, #16711935 @ 0xff00ff 70035858: f40b 4b7f and.w fp, fp, #65280 @ 0xff00 7003585c: ea40 050b orr.w r5, r0, fp 70035860: 980c ldr r0, [sp, #48] @ 0x30 70035862: 28ff cmp r0, #255 @ 0xff 70035864: d01b beq.n 7003589e <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2d2> 70035866: f00c 1bff and.w fp, ip, #16711935 @ 0xff00ff 7003586a: f40c 4c7f and.w ip, ip, #65280 @ 0xff00 7003586e: fb00 fb0b mul.w fp, r0, fp 70035872: fb00 fc0c mul.w ip, r0, ip 70035876: ea4f 201b mov.w r0, fp, lsr #8 7003587a: f10b 1b01 add.w fp, fp, #65537 @ 0x10001 7003587e: f000 10ff and.w r0, r0, #16711935 @ 0xff00ff 70035882: 4458 add r0, fp 70035884: f50c 7b80 add.w fp, ip, #256 @ 0x100 70035888: eb0b 2b1c add.w fp, fp, ip, lsr #8 7003588c: 0a00 lsrs r0, r0, #8 7003588e: ea4f 2b1b mov.w fp, fp, lsr #8 70035892: f000 10ff and.w r0, r0, #16711935 @ 0xff00ff 70035896: f40b 4b7f and.w fp, fp, #65280 @ 0xff00 7003589a: ea40 0c0b orr.w ip, r0, fp 7003589e: 980d ldr r0, [sp, #52] @ 0x34 700358a0: 28ff cmp r0, #255 @ 0xff 700358a2: d01d beq.n 700358e0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x314> 700358a4: 9e0e ldr r6, [sp, #56] @ 0x38 700358a6: f006 1bff and.w fp, r6, #16711935 @ 0xff00ff 700358aa: f406 467f and.w r6, r6, #65280 @ 0xff00 700358ae: fb00 fb0b mul.w fp, r0, fp 700358b2: fb00 f006 mul.w r0, r0, r6 700358b6: ea4f 261b mov.w r6, fp, lsr #8 700358ba: f10b 1b01 add.w fp, fp, #65537 @ 0x10001 700358be: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 700358c2: 445e add r6, fp 700358c4: f500 7b80 add.w fp, r0, #256 @ 0x100 700358c8: eb0b 2b10 add.w fp, fp, r0, lsr #8 700358cc: 0a36 lsrs r6, r6, #8 700358ce: ea4f 2b1b mov.w fp, fp, lsr #8 700358d2: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 700358d6: f40b 4b7f and.w fp, fp, #65280 @ 0xff00 700358da: ea46 000b orr.w r0, r6, fp 700358de: 900e str r0, [sp, #56] @ 0x38 700358e0: f005 1bff and.w fp, r5, #16711935 @ 0xff00ff 700358e4: f004 10ff and.w r0, r4, #16711935 @ 0xff00ff 700358e8: 9e10 ldr r6, [sp, #64] @ 0x40 700358ea: fb01 fb0b mul.w fp, r1, fp 700358ee: fb0a fa06 mul.w sl, sl, r6 700358f2: fb02 bb00 mla fp, r2, r0, fp 700358f6: f404 407f and.w r0, r4, #65280 @ 0xff00 700358fa: f405 447f and.w r4, r5, #65280 @ 0xff00 700358fe: fb01 f404 mul.w r4, r1, r4 70035902: fb02 4400 mla r4, r2, r0, r4 70035906: 980e ldr r0, [sp, #56] @ 0x38 70035908: f00c 12ff and.w r2, ip, #16711935 @ 0xff00ff 7003590c: f000 11ff and.w r1, r0, #16711935 @ 0xff00ff 70035910: f400 407f and.w r0, r0, #65280 @ 0xff00 70035914: fb03 b202 mla r2, r3, r2, fp 70035918: fb07 2201 mla r2, r7, r1, r2 7003591c: f40c 417f and.w r1, ip, #65280 @ 0xff00 70035920: fb03 4101 mla r1, r3, r1, r4 70035924: f10a 0301 add.w r3, sl, #1 70035928: f3ca 2a0f ubfx sl, sl, #8, #16 7003592c: 0e14 lsrs r4, r2, #24 7003592e: fb07 1100 mla r1, r7, r0, r1 70035932: f3c2 2207 ubfx r2, r2, #8, #8 70035936: fb14 f406 smulbb r4, r4, r6 7003593a: fa1a f383 uxtah r3, sl, r3 7003593e: f8b8 a000 ldrh.w sl, [r8] 70035942: f3c1 4107 ubfx r1, r1, #16, #8 70035946: fb12 f206 smulbb r2, r2, r6 7003594a: ea6f 2323 mvn.w r3, r3, asr #8 7003594e: fb11 f106 smulbb r1, r1, r6 70035952: ea4f 201a mov.w r0, sl, lsr #8 70035956: b2db uxtb r3, r3 70035958: f000 00f8 and.w r0, r0, #248 @ 0xf8 7003595c: fb00 4403 mla r4, r0, r3, r4 70035960: ea4f 00da mov.w r0, sl, lsr #3 70035964: ea4f 0aca mov.w sl, sl, lsl #3 70035968: f000 00fc and.w r0, r0, #252 @ 0xfc 7003596c: b2a4 uxth r4, r4 7003596e: fa5f fa8a uxtb.w sl, sl 70035972: fb00 1003 mla r0, r0, r3, r1 70035976: 1c61 adds r1, r4, #1 70035978: fb0a 2203 mla r2, sl, r3, r2 7003597c: b280 uxth r0, r0 7003597e: b292 uxth r2, r2 70035980: eb01 2114 add.w r1, r1, r4, lsr #8 70035984: 1c53 adds r3, r2, #1 70035986: f401 417f and.w r1, r1, #65280 @ 0xff00 7003598a: eb03 2312 add.w r3, r3, r2, lsr #8 7003598e: 1c42 adds r2, r0, #1 70035990: f36f 010a bfc r1, #0, #11 70035994: eb02 2210 add.w r2, r2, r0, lsr #8 70035998: f3c3 23c4 ubfx r3, r3, #11, #5 7003599c: 0952 lsrs r2, r2, #5 7003599e: 430b orrs r3, r1 700359a0: f402 62fc and.w r2, r2, #2016 @ 0x7e0 700359a4: 4313 orrs r3, r2 700359a6: f8a8 3000 strh.w r3, [r8] 700359aa: 9b2b ldr r3, [sp, #172] @ 0xac 700359ac: f108 0802 add.w r8, r8, #2 700359b0: 449e add lr, r3 700359b2: 9b2c ldr r3, [sp, #176] @ 0xb0 700359b4: 4499 add r9, r3 700359b6: 9b09 ldr r3, [sp, #36] @ 0x24 700359b8: b323 cbz r3, 70035a04 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x438> 700359ba: 3b01 subs r3, #1 700359bc: 9309 str r3, [sp, #36] @ 0x24 700359be: 9b30 ldr r3, [sp, #192] @ 0xc0 700359c0: f9b3 7008 ldrsh.w r7, [r3, #8] 700359c4: ea4f 4329 mov.w r3, r9, asr #16 700359c8: 9c0f ldr r4, [sp, #60] @ 0x3c 700359ca: ea4f 422e mov.w r2, lr, asr #16 700359ce: 9e0a ldr r6, [sp, #40] @ 0x28 700359d0: f41e 4f70 tst.w lr, #61440 @ 0xf000 700359d4: f3ce 3103 ubfx r1, lr, #12, #4 700359d8: fb07 2203 mla r2, r7, r3, r2 700359dc: f3c9 3303 ubfx r3, r9, #12, #4 700359e0: 5ca0 ldrb r0, [r4, r2] 700359e2: 4422 add r2, r4 700359e4: f856 4020 ldr.w r4, [r6, r0, lsl #2] 700359e8: ea4f 6b14 mov.w fp, r4, lsr #24 700359ec: f47f aec6 bne.w 7003577c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1b0> 700359f0: 2b00 cmp r3, #0 700359f2: f43f aed7 beq.w 700357a4 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d8> 700359f6: 5dd2 ldrb r2, [r2, r7] 700359f8: f856 c022 ldr.w ip, [r6, r2, lsl #2] 700359fc: ea4f 621c mov.w r2, ip, lsr #24 70035a00: 920c str r2, [sp, #48] @ 0x30 70035a02: e6cf b.n 700357a4 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d8> 70035a04: e9dd ab16 ldrd sl, fp, [sp, #88] @ 0x58 70035a08: e9dd 931a ldrd r9, r3, [sp, #104] @ 0x68 70035a0c: e9cd 5c18 strd r5, ip, [sp, #96] @ 0x60 70035a10: eb0a 0a43 add.w sl, sl, r3, lsl #1 70035a14: e644 b.n 700356a0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xd4> 70035a16: 2b00 cmp r3, #0 70035a18: f77f ae42 ble.w 700356a0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xd4> 70035a1c: 4656 mov r6, sl 70035a1e: 1421 asrs r1, r4, #16 70035a20: 1428 asrs r0, r5, #16 70035a22: f10c 0c01 add.w ip, ip, #1 70035a26: 4680 mov r8, r0 70035a28: f8cd 905c str.w r9, [sp, #92] @ 0x5c 70035a2c: 4610 mov r0, r2 70035a2e: eb0a 0a4c add.w sl, sl, ip, lsl #1 70035a32: e14d b.n 70035cd0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x704> 70035a34: f10e 3cff add.w ip, lr, #4294967295 @ 0xffffffff 70035a38: 45e0 cmp r8, ip 70035a3a: f280 8158 bge.w 70035cee <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x722> 70035a3e: f1b8 0f00 cmp.w r8, #0 70035a42: f2c0 8154 blt.w 70035cee <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x722> 70035a46: fa0f fc80 sxth.w ip, r0 70035a4a: 9f0f ldr r7, [sp, #60] @ 0x3c 70035a4c: fb08 110c mla r1, r8, ip, r1 70035a50: 5c78 ldrb r0, [r7, r1] 70035a52: 4439 add r1, r7 70035a54: 9f0a ldr r7, [sp, #40] @ 0x28 70035a56: f857 0020 ldr.w r0, [r7, r0, lsl #2] 70035a5a: ea4f 6810 mov.w r8, r0, lsr #24 70035a5e: 9009 str r0, [sp, #36] @ 0x24 70035a60: 2a00 cmp r2, #0 70035a62: f000 815b beq.w 70035d1c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x750> 70035a66: f891 e001 ldrb.w lr, [r1, #1] 70035a6a: f857 002e ldr.w r0, [r7, lr, lsl #2] 70035a6e: 9013 str r0, [sp, #76] @ 0x4c 70035a70: 0e00 lsrs r0, r0, #24 70035a72: 9012 str r0, [sp, #72] @ 0x48 70035a74: b17b cbz r3, 70035a96 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4ca> 70035a76: eb01 0e0c add.w lr, r1, ip 70035a7a: f811 c00c ldrb.w ip, [r1, ip] 70035a7e: f89e 1001 ldrb.w r1, [lr, #1] 70035a82: f857 b02c ldr.w fp, [r7, ip, lsl #2] 70035a86: f857 1021 ldr.w r1, [r7, r1, lsl #2] 70035a8a: ea4f 601b mov.w r0, fp, lsr #24 70035a8e: 9115 str r1, [sp, #84] @ 0x54 70035a90: 0e09 lsrs r1, r1, #24 70035a92: 9011 str r0, [sp, #68] @ 0x44 70035a94: 9114 str r1, [sp, #80] @ 0x50 70035a96: fb02 fc03 mul.w ip, r2, r3 70035a9a: 9f12 ldr r7, [sp, #72] @ 0x48 70035a9c: f50c 7180 add.w r1, ip, #256 @ 0x100 70035aa0: eba1 1102 sub.w r1, r1, r2, lsl #4 70035aa4: ebcc 1202 rsb r2, ip, r2, lsl #4 70035aa8: eba1 1103 sub.w r1, r1, r3, lsl #4 70035aac: b292 uxth r2, r2 70035aae: ebcc 1303 rsb r3, ip, r3, lsl #4 70035ab2: fb02 fe07 mul.w lr, r2, r7 70035ab6: b289 uxth r1, r1 70035ab8: 9f11 ldr r7, [sp, #68] @ 0x44 70035aba: b29b uxth r3, r3 70035abc: fb01 ee08 mla lr, r1, r8, lr 70035ac0: fb03 ee07 mla lr, r3, r7, lr 70035ac4: 9f14 ldr r7, [sp, #80] @ 0x50 70035ac6: fb0c ee07 mla lr, ip, r7, lr 70035aca: f3ce 2707 ubfx r7, lr, #8, #8 70035ace: f41e 4f7f tst.w lr, #65280 @ 0xff00 70035ad2: 9716 str r7, [sp, #88] @ 0x58 70035ad4: f000 80ef beq.w 70035cb6 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6ea> 70035ad8: f1b8 0fff cmp.w r8, #255 @ 0xff 70035adc: d01d beq.n 70035b1a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x54e> 70035ade: 9809 ldr r0, [sp, #36] @ 0x24 70035ae0: f000 1eff and.w lr, r0, #16711935 @ 0xff00ff 70035ae4: f400 407f and.w r0, r0, #65280 @ 0xff00 70035ae8: fb08 fe0e mul.w lr, r8, lr 70035aec: fb08 f000 mul.w r0, r8, r0 70035af0: ea4f 281e mov.w r8, lr, lsr #8 70035af4: f10e 1e01 add.w lr, lr, #65537 @ 0x10001 70035af8: f008 18ff and.w r8, r8, #16711935 @ 0xff00ff 70035afc: 44f0 add r8, lr 70035afe: ea4f 2e18 mov.w lr, r8, lsr #8 70035b02: f500 7880 add.w r8, r0, #256 @ 0x100 70035b06: eb08 2010 add.w r0, r8, r0, lsr #8 70035b0a: f00e 1eff and.w lr, lr, #16711935 @ 0xff00ff 70035b0e: 0a00 lsrs r0, r0, #8 70035b10: f400 407f and.w r0, r0, #65280 @ 0xff00 70035b14: ea4e 0000 orr.w r0, lr, r0 70035b18: 9009 str r0, [sp, #36] @ 0x24 70035b1a: 9f12 ldr r7, [sp, #72] @ 0x48 70035b1c: 2fff cmp r7, #255 @ 0xff 70035b1e: d01e beq.n 70035b5e <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x592> 70035b20: 9813 ldr r0, [sp, #76] @ 0x4c 70035b22: f000 19ff and.w r9, r0, #16711935 @ 0xff00ff 70035b26: f400 487f and.w r8, r0, #65280 @ 0xff00 70035b2a: fb07 f909 mul.w r9, r7, r9 70035b2e: fb07 f808 mul.w r8, r7, r8 70035b32: ea4f 2e19 mov.w lr, r9, lsr #8 70035b36: f109 1901 add.w r9, r9, #65537 @ 0x10001 70035b3a: f00e 1eff and.w lr, lr, #16711935 @ 0xff00ff 70035b3e: 44ce add lr, r9 70035b40: f508 7980 add.w r9, r8, #256 @ 0x100 70035b44: eb09 2818 add.w r8, r9, r8, lsr #8 70035b48: ea4f 2e1e mov.w lr, lr, lsr #8 70035b4c: ea4f 2818 mov.w r8, r8, lsr #8 70035b50: f00e 1eff and.w lr, lr, #16711935 @ 0xff00ff 70035b54: f408 487f and.w r8, r8, #65280 @ 0xff00 70035b58: ea4e 0008 orr.w r0, lr, r8 70035b5c: 9013 str r0, [sp, #76] @ 0x4c 70035b5e: 9f11 ldr r7, [sp, #68] @ 0x44 70035b60: 2fff cmp r7, #255 @ 0xff 70035b62: d01c beq.n 70035b9e <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x5d2> 70035b64: f00b 18ff and.w r8, fp, #16711935 @ 0xff00ff 70035b68: f40b 4b7f and.w fp, fp, #65280 @ 0xff00 70035b6c: fb07 f808 mul.w r8, r7, r8 70035b70: fb07 fb0b mul.w fp, r7, fp 70035b74: ea4f 2e18 mov.w lr, r8, lsr #8 70035b78: f108 1801 add.w r8, r8, #65537 @ 0x10001 70035b7c: f00e 1eff and.w lr, lr, #16711935 @ 0xff00ff 70035b80: 44c6 add lr, r8 70035b82: f50b 7880 add.w r8, fp, #256 @ 0x100 70035b86: eb08 281b add.w r8, r8, fp, lsr #8 70035b8a: ea4f 2e1e mov.w lr, lr, lsr #8 70035b8e: ea4f 2818 mov.w r8, r8, lsr #8 70035b92: f00e 1eff and.w lr, lr, #16711935 @ 0xff00ff 70035b96: f408 487f and.w r8, r8, #65280 @ 0xff00 70035b9a: ea4e 0b08 orr.w fp, lr, r8 70035b9e: 9f14 ldr r7, [sp, #80] @ 0x50 70035ba0: 2fff cmp r7, #255 @ 0xff 70035ba2: d01e beq.n 70035be2 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x616> 70035ba4: 9815 ldr r0, [sp, #84] @ 0x54 70035ba6: f000 19ff and.w r9, r0, #16711935 @ 0xff00ff 70035baa: f400 487f and.w r8, r0, #65280 @ 0xff00 70035bae: fb07 f909 mul.w r9, r7, r9 70035bb2: fb07 f808 mul.w r8, r7, r8 70035bb6: ea4f 2e19 mov.w lr, r9, lsr #8 70035bba: f109 1901 add.w r9, r9, #65537 @ 0x10001 70035bbe: f00e 1eff and.w lr, lr, #16711935 @ 0xff00ff 70035bc2: 44ce add lr, r9 70035bc4: f508 7980 add.w r9, r8, #256 @ 0x100 70035bc8: eb09 2818 add.w r8, r9, r8, lsr #8 70035bcc: ea4f 2e1e mov.w lr, lr, lsr #8 70035bd0: ea4f 2818 mov.w r8, r8, lsr #8 70035bd4: f00e 1eff and.w lr, lr, #16711935 @ 0xff00ff 70035bd8: f408 487f and.w r8, r8, #65280 @ 0xff00 70035bdc: ea4e 0008 orr.w r0, lr, r8 70035be0: 9015 str r0, [sp, #84] @ 0x54 70035be2: 9f10 ldr r7, [sp, #64] @ 0x40 70035be4: 9816 ldr r0, [sp, #88] @ 0x58 70035be6: fb00 f807 mul.w r8, r0, r7 70035bea: 9f13 ldr r7, [sp, #76] @ 0x4c 70035bec: 9809 ldr r0, [sp, #36] @ 0x24 70035bee: f007 1eff and.w lr, r7, #16711935 @ 0xff00ff 70035bf2: f000 19ff and.w r9, r0, #16711935 @ 0xff00ff 70035bf6: f400 407f and.w r0, r0, #65280 @ 0xff00 70035bfa: fb02 fe0e mul.w lr, r2, lr 70035bfe: fb01 ee09 mla lr, r1, r9, lr 70035c02: f407 497f and.w r9, r7, #65280 @ 0xff00 70035c06: 9f10 ldr r7, [sp, #64] @ 0x40 70035c08: fb02 f909 mul.w r9, r2, r9 70035c0c: f00b 12ff and.w r2, fp, #16711935 @ 0xff00ff 70035c10: fb01 9900 mla r9, r1, r0, r9 70035c14: 9815 ldr r0, [sp, #84] @ 0x54 70035c16: fb03 e202 mla r2, r3, r2, lr 70035c1a: f8b6 e000 ldrh.w lr, [r6] 70035c1e: f000 11ff and.w r1, r0, #16711935 @ 0xff00ff 70035c22: f400 407f and.w r0, r0, #65280 @ 0xff00 70035c26: fb0c 2201 mla r2, ip, r1, r2 70035c2a: f40b 417f and.w r1, fp, #65280 @ 0xff00 70035c2e: fb03 9101 mla r1, r3, r1, r9 70035c32: f108 0301 add.w r3, r8, #1 70035c36: f3c8 280f ubfx r8, r8, #8, #16 70035c3a: fb0c 1100 mla r1, ip, r0, r1 70035c3e: 0e10 lsrs r0, r2, #24 70035c40: fa18 f383 uxtah r3, r8, r3 70035c44: ea4f 281e mov.w r8, lr, lsr #8 70035c48: fb10 fc07 smulbb ip, r0, r7 70035c4c: f3c2 2207 ubfx r2, r2, #8, #8 70035c50: ea6f 2323 mvn.w r3, r3, asr #8 70035c54: ea4f 00de mov.w r0, lr, lsr #3 70035c58: f008 08f8 and.w r8, r8, #248 @ 0xf8 70035c5c: ea4f 0ece mov.w lr, lr, lsl #3 70035c60: b2db uxtb r3, r3 70035c62: f3c1 4107 ubfx r1, r1, #16, #8 70035c66: fb12 f207 smulbb r2, r2, r7 70035c6a: fa5f fe8e uxtb.w lr, lr 70035c6e: fb08 cc03 mla ip, r8, r3, ip 70035c72: fb11 f107 smulbb r1, r1, r7 70035c76: fb0e 2203 mla r2, lr, r3, r2 70035c7a: f000 00fc and.w r0, r0, #252 @ 0xfc 70035c7e: fa1f fc8c uxth.w ip, ip 70035c82: fb00 1003 mla r0, r0, r3, r1 70035c86: b292 uxth r2, r2 70035c88: f10c 0301 add.w r3, ip, #1 70035c8c: b280 uxth r0, r0 70035c8e: eb03 211c add.w r1, r3, ip, lsr #8 70035c92: 1c53 adds r3, r2, #1 70035c94: eb03 2312 add.w r3, r3, r2, lsr #8 70035c98: 1c42 adds r2, r0, #1 70035c9a: f401 417f and.w r1, r1, #65280 @ 0xff00 70035c9e: eb02 2210 add.w r2, r2, r0, lsr #8 70035ca2: f3c3 23c4 ubfx r3, r3, #11, #5 70035ca6: f36f 010a bfc r1, #0, #11 70035caa: 0952 lsrs r2, r2, #5 70035cac: 430b orrs r3, r1 70035cae: f402 62fc and.w r2, r2, #2016 @ 0x7e0 70035cb2: 4313 orrs r3, r2 70035cb4: 8033 strh r3, [r6, #0] 70035cb6: 9b2b ldr r3, [sp, #172] @ 0xac 70035cb8: 3602 adds r6, #2 70035cba: 441c add r4, r3 70035cbc: 4556 cmp r6, sl 70035cbe: 9b2c ldr r3, [sp, #176] @ 0xb0 70035cc0: 441d add r5, r3 70035cc2: d036 beq.n 70035d32 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x766> 70035cc4: 9b30 ldr r3, [sp, #192] @ 0xc0 70035cc6: 1421 asrs r1, r4, #16 70035cc8: ea4f 4825 mov.w r8, r5, asr #16 70035ccc: e9d3 0e02 ldrd r0, lr, [r3, #8] 70035cd0: f100 3cff add.w ip, r0, #4294967295 @ 0xffffffff 70035cd4: f3c4 3203 ubfx r2, r4, #12, #4 70035cd8: f3c5 3303 ubfx r3, r5, #12, #4 70035cdc: 4561 cmp r1, ip 70035cde: da02 bge.n 70035ce6 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x71a> 70035ce0: 2900 cmp r1, #0 70035ce2: f6bf aea7 bge.w 70035a34 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x468> 70035ce6: 1c4f adds r7, r1, #1 70035ce8: dbe5 blt.n 70035cb6 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6ea> 70035cea: 4281 cmp r1, r0 70035cec: dae3 bge.n 70035cb6 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6ea> 70035cee: f1b8 3fff cmp.w r8, #4294967295 @ 0xffffffff 70035cf2: dbe0 blt.n 70035cb6 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6ea> 70035cf4: 45f0 cmp r8, lr 70035cf6: dade bge.n 70035cb6 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6ea> 70035cf8: b200 sxth r0, r0 70035cfa: e9cd 2304 strd r2, r3, [sp, #16] 70035cfe: fa0f f38e sxth.w r3, lr 70035d02: 9000 str r0, [sp, #0] 70035d04: 9a0f ldr r2, [sp, #60] @ 0x3c 70035d06: 9301 str r3, [sp, #4] 70035d08: 9b10 ldr r3, [sp, #64] @ 0x40 70035d0a: 981c ldr r0, [sp, #112] @ 0x70 70035d0c: 9306 str r3, [sp, #24] 70035d0e: 9b0a ldr r3, [sp, #40] @ 0x28 70035d10: e9cd 1802 strd r1, r8, [sp, #8] 70035d14: 4631 mov r1, r6 70035d16: f7ff fadb bl 700352d0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPtPKhPKmssiihhh> 70035d1a: e7cc b.n 70035cb6 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6ea> 70035d1c: 2b00 cmp r3, #0 70035d1e: f43f aeba beq.w 70035a96 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4ca> 70035d22: f811 100c ldrb.w r1, [r1, ip] 70035d26: f857 b021 ldr.w fp, [r7, r1, lsl #2] 70035d2a: ea4f 611b mov.w r1, fp, lsr #24 70035d2e: 9111 str r1, [sp, #68] @ 0x44 70035d30: e6b1 b.n 70035a96 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4ca> 70035d32: f8dd 905c ldr.w r9, [sp, #92] @ 0x5c 70035d36: e4b3 b.n 700356a0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xd4> 70035d38: 9a09 ldr r2, [sp, #36] @ 0x24 70035d3a: f8dd e058 ldr.w lr, [sp, #88] @ 0x58 70035d3e: e4f2 b.n 70035726 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x15a> 70035d40: 9a09 ldr r2, [sp, #36] @ 0x24 70035d42: f103 3cff add.w ip, r3, #4294967295 @ 0xffffffff 70035d46: f8dd e058 ldr.w lr, [sp, #88] @ 0x58 70035d4a: 4656 mov r6, sl 70035d4c: e669 b.n 70035a22 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x456> 70035d4e: bf00 nop 70035d50 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh>: 70035d50: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70035d54: b08d sub sp, #52 @ 0x34 70035d56: 461f mov r7, r3 70035d58: 930b str r3, [sp, #44] @ 0x2c 70035d5a: 880b ldrh r3, [r1, #0] 70035d5c: f89d 6068 ldrb.w r6, [sp, #104] @ 0x68 70035d60: f89d c06c ldrb.w ip, [sp, #108] @ 0x6c 70035d64: 0a18 lsrs r0, r3, #8 70035d66: f9bd a058 ldrsh.w sl, [sp, #88] @ 0x58 70035d6a: fb06 f50c mul.w r5, r6, ip 70035d6e: f000 00f8 and.w r0, r0, #248 @ 0xf8 70035d72: f8dd e060 ldr.w lr, [sp, #96] @ 0x60 70035d76: ea4f 1b0c mov.w fp, ip, lsl #4 70035d7a: 9005 str r0, [sp, #20] 70035d7c: eba5 100c sub.w r0, r5, ip, lsl #4 70035d80: 9109 str r1, [sp, #36] @ 0x24 70035d82: f500 7080 add.w r0, r0, #256 @ 0x100 70035d86: 9919 ldr r1, [sp, #100] @ 0x64 70035d88: f9bd 805c ldrsh.w r8, [sp, #92] @ 0x5c 70035d8c: eba0 1006 sub.w r0, r0, r6, lsl #4 70035d90: 4588 cmp r8, r1 70035d92: b284 uxth r4, r0 70035d94: ea4f 00d3 mov.w r0, r3, lsr #3 70035d98: ea4f 03c3 mov.w r3, r3, lsl #3 70035d9c: 9408 str r4, [sp, #32] 70035d9e: f000 00fc and.w r0, r0, #252 @ 0xfc 70035da2: 9006 str r0, [sp, #24] 70035da4: b2d8 uxtb r0, r3 70035da6: fb01 e30a mla r3, r1, sl, lr 70035daa: 9007 str r0, [sp, #28] 70035dac: ebc5 1006 rsb r0, r5, r6, lsl #4 70035db0: b280 uxth r0, r0 70035db2: 9004 str r0, [sp, #16] 70035db4: eb02 0003 add.w r0, r2, r3 70035db8: 900a str r0, [sp, #40] @ 0x28 70035dba: dd24 ble.n 70035e06 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0xb6> 70035dbc: 2900 cmp r1, #0 70035dbe: db22 blt.n 70035e06 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0xb6> 70035dc0: 45f2 cmp sl, lr 70035dc2: f340 810d ble.w 70035fe0 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x290> 70035dc6: f1be 0f00 cmp.w lr, #0 70035dca: f2c0 8109 blt.w 70035fe0 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x290> 70035dce: 5cd3 ldrb r3, [r2, r3] 70035dd0: f857 0023 ldr.w r0, [r7, r3, lsl #2] 70035dd4: f000 13ff and.w r3, r0, #16711935 @ 0xff00ff 70035dd8: 0e07 lsrs r7, r0, #24 70035dda: 9301 str r3, [sp, #4] 70035ddc: f400 437f and.w r3, r0, #65280 @ 0xff00 70035de0: fb04 f207 mul.w r2, r4, r7 70035de4: 9302 str r3, [sp, #8] 70035de6: 1e34 subs r4, r6, #0 70035de8: f10e 0301 add.w r3, lr, #1 70035dec: bf18 it ne 70035dee: 2401 movne r4, #1 70035df0: 2b00 cmp r3, #0 70035df2: bfb8 it lt 70035df4: 2400 movlt r4, #0 70035df6: b114 cbz r4, 70035dfe <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0xae> 70035df8: 459a cmp sl, r3 70035dfa: f300 80f7 bgt.w 70035fec <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x29c> 70035dfe: 2400 movs r4, #0 70035e00: 4623 mov r3, r4 70035e02: 46a1 mov r9, r4 70035e04: e006 b.n 70035e14 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0xc4> 70035e06: 2200 movs r2, #0 70035e08: 4614 mov r4, r2 70035e0a: 4613 mov r3, r2 70035e0c: 4691 mov r9, r2 70035e0e: 4617 mov r7, r2 70035e10: e9cd 2201 strd r2, r2, [sp, #4] 70035e14: ebab 0b05 sub.w fp, fp, r5 70035e18: 3101 adds r1, #1 70035e1a: fa1f f08b uxth.w r0, fp 70035e1e: 2900 cmp r1, #0 70035e20: bfa8 it ge 70035e22: 4588 cmpge r8, r1 70035e24: 9003 str r0, [sp, #12] 70035e26: dd03 ble.n 70035e30 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0xe0> 70035e28: f1bc 0f00 cmp.w ip, #0 70035e2c: f040 80b1 bne.w 70035f92 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x242> 70035e30: 2100 movs r1, #0 70035e32: 468c mov ip, r1 70035e34: 460e mov r6, r1 70035e36: 468e mov lr, r1 70035e38: 468a mov sl, r1 70035e3a: 4688 mov r8, r1 70035e3c: 2fff cmp r7, #255 @ 0xff 70035e3e: f3c2 2207 ubfx r2, r2, #8, #8 70035e42: d018 beq.n 70035e76 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x126> 70035e44: 9801 ldr r0, [sp, #4] 70035e46: fb00 fb07 mul.w fp, r0, r7 70035e4a: 9802 ldr r0, [sp, #8] 70035e4c: fb07 f000 mul.w r0, r7, r0 70035e50: ea4f 271b mov.w r7, fp, lsr #8 70035e54: f10b 1b01 add.w fp, fp, #65537 @ 0x10001 70035e58: f007 17ff and.w r7, r7, #16711935 @ 0xff00ff 70035e5c: 445f add r7, fp 70035e5e: 0a3f lsrs r7, r7, #8 70035e60: f007 17ff and.w r7, r7, #16711935 @ 0xff00ff 70035e64: 9701 str r7, [sp, #4] 70035e66: f500 7780 add.w r7, r0, #256 @ 0x100 70035e6a: eb07 2710 add.w r7, r7, r0, lsr #8 70035e6e: 0a3f lsrs r7, r7, #8 70035e70: f407 407f and.w r0, r7, #65280 @ 0xff00 70035e74: 9002 str r0, [sp, #8] 70035e76: f1b9 0fff cmp.w r9, #255 @ 0xff 70035e7a: d013 beq.n 70035ea4 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x154> 70035e7c: fb03 f309 mul.w r3, r3, r9 70035e80: fb04 f409 mul.w r4, r4, r9 70035e84: 0a1f lsrs r7, r3, #8 70035e86: f103 1301 add.w r3, r3, #65537 @ 0x10001 70035e8a: f007 17ff and.w r7, r7, #16711935 @ 0xff00ff 70035e8e: 441f add r7, r3 70035e90: 0a3f lsrs r7, r7, #8 70035e92: f007 13ff and.w r3, r7, #16711935 @ 0xff00ff 70035e96: f504 7780 add.w r7, r4, #256 @ 0x100 70035e9a: eb07 2714 add.w r7, r7, r4, lsr #8 70035e9e: 0a3f lsrs r7, r7, #8 70035ea0: f407 447f and.w r4, r7, #65280 @ 0xff00 70035ea4: f1b8 0fff cmp.w r8, #255 @ 0xff 70035ea8: d014 beq.n 70035ed4 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x184> 70035eaa: fb0c fc08 mul.w ip, ip, r8 70035eae: fb01 f108 mul.w r1, r1, r8 70035eb2: ea4f 271c mov.w r7, ip, lsr #8 70035eb6: f10c 1c01 add.w ip, ip, #65537 @ 0x10001 70035eba: f007 17ff and.w r7, r7, #16711935 @ 0xff00ff 70035ebe: 4467 add r7, ip 70035ec0: 0a3f lsrs r7, r7, #8 70035ec2: f007 1cff and.w ip, r7, #16711935 @ 0xff00ff 70035ec6: f501 7780 add.w r7, r1, #256 @ 0x100 70035eca: eb07 2711 add.w r7, r7, r1, lsr #8 70035ece: 0a3f lsrs r7, r7, #8 70035ed0: f407 417f and.w r1, r7, #65280 @ 0xff00 70035ed4: f1ba 0fff cmp.w sl, #255 @ 0xff 70035ed8: d014 beq.n 70035f04 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x1b4> 70035eda: fb0e fe0a mul.w lr, lr, sl 70035ede: fb06 f60a mul.w r6, r6, sl 70035ee2: ea4f 271e mov.w r7, lr, lsr #8 70035ee6: f10e 1e01 add.w lr, lr, #65537 @ 0x10001 70035eea: f007 17ff and.w r7, r7, #16711935 @ 0xff00ff 70035eee: 4477 add r7, lr 70035ef0: 0a3f lsrs r7, r7, #8 70035ef2: f007 1eff and.w lr, r7, #16711935 @ 0xff00ff 70035ef6: f506 7780 add.w r7, r6, #256 @ 0x100 70035efa: eb07 2716 add.w r7, r7, r6, lsr #8 70035efe: 0a3f lsrs r7, r7, #8 70035f00: f407 467f and.w r6, r7, #65280 @ 0xff00 70035f04: 9f04 ldr r7, [sp, #16] 70035f06: 43d2 mvns r2, r2 70035f08: 9801 ldr r0, [sp, #4] 70035f0a: fb07 f303 mul.w r3, r7, r3 70035f0e: b2d2 uxtb r2, r2 70035f10: fb07 f404 mul.w r4, r7, r4 70035f14: 9f08 ldr r7, [sp, #32] 70035f16: fb00 3307 mla r3, r0, r7, r3 70035f1a: 9802 ldr r0, [sp, #8] 70035f1c: fb00 4407 mla r4, r0, r7, r4 70035f20: 9803 ldr r0, [sp, #12] 70035f22: fb0c 3300 mla r3, ip, r0, r3 70035f26: fb01 4100 mla r1, r1, r0, r4 70035f2a: 9805 ldr r0, [sp, #20] 70035f2c: fb0e 3305 mla r3, lr, r5, r3 70035f30: 9c06 ldr r4, [sp, #24] 70035f32: fb06 1105 mla r1, r6, r5, r1 70035f36: 9d07 ldr r5, [sp, #28] 70035f38: fb02 f000 mul.w r0, r2, r0 70035f3c: 0e1e lsrs r6, r3, #24 70035f3e: fb02 f404 mul.w r4, r2, r4 70035f42: f3c1 4107 ubfx r1, r1, #16, #8 70035f46: fb05 f202 mul.w r2, r5, r2 70035f4a: 1c45 adds r5, r0, #1 70035f4c: 0a00 lsrs r0, r0, #8 70035f4e: f3c3 2307 ubfx r3, r3, #8, #8 70035f52: fa10 f585 uxtah r5, r0, r5 70035f56: eb06 2025 add.w r0, r6, r5, asr #8 70035f5a: 1c65 adds r5, r4, #1 70035f5c: f3c4 240f ubfx r4, r4, #8, #16 70035f60: fa14 f485 uxtah r4, r4, r5 70035f64: eb01 2124 add.w r1, r1, r4, asr #8 70035f68: 1c54 adds r4, r2, #1 70035f6a: f3c2 220f ubfx r2, r2, #8, #16 70035f6e: 00c9 lsls r1, r1, #3 70035f70: fa12 f284 uxtah r2, r2, r4 70035f74: f401 61fc and.w r1, r1, #2016 @ 0x7e0 70035f78: eb03 2222 add.w r2, r3, r2, asr #8 70035f7c: 4b2c ldr r3, [pc, #176] @ (70036030 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x2e0>) 70035f7e: ea03 2300 and.w r3, r3, r0, lsl #8 70035f82: ea43 03e2 orr.w r3, r3, r2, asr #3 70035f86: 9a09 ldr r2, [sp, #36] @ 0x24 70035f88: 430b orrs r3, r1 70035f8a: 8013 strh r3, [r2, #0] 70035f8c: b00d add sp, #52 @ 0x34 70035f8e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70035f92: 45f2 cmp sl, lr 70035f94: dd39 ble.n 7003600a <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x2ba> 70035f96: f1be 0f00 cmp.w lr, #0 70035f9a: db36 blt.n 7003600a <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x2ba> 70035f9c: 990a ldr r1, [sp, #40] @ 0x28 70035f9e: 980b ldr r0, [sp, #44] @ 0x2c 70035fa0: f811 100a ldrb.w r1, [r1, sl] 70035fa4: f850 1021 ldr.w r1, [r0, r1, lsl #2] 70035fa8: 9803 ldr r0, [sp, #12] 70035faa: ea4f 6811 mov.w r8, r1, lsr #24 70035fae: f001 1cff and.w ip, r1, #16711935 @ 0xff00ff 70035fb2: f401 417f and.w r1, r1, #65280 @ 0xff00 70035fb6: fb00 2208 mla r2, r0, r8, r2 70035fba: f10e 0e01 add.w lr, lr, #1 70035fbe: 2e00 cmp r6, #0 70035fc0: ea6f 0b0e mvn.w fp, lr 70035fc4: ea4f 7bdb mov.w fp, fp, lsr #31 70035fc8: bf08 it eq 70035fca: f04f 0b00 moveq.w fp, #0 70035fce: f1bb 0f00 cmp.w fp, #0 70035fd2: d001 beq.n 70035fd8 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x288> 70035fd4: 45f2 cmp sl, lr 70035fd6: dc1c bgt.n 70036012 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x2c2> 70035fd8: 2600 movs r6, #0 70035fda: 46b6 mov lr, r6 70035fdc: 46b2 mov sl, r6 70035fde: e72d b.n 70035e3c <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0xec> 70035fe0: 2300 movs r3, #0 70035fe2: 461f mov r7, r3 70035fe4: 461a mov r2, r3 70035fe6: e9cd 3301 strd r3, r3, [sp, #4] 70035fea: e6fc b.n 70035de6 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x96> 70035fec: 9b0a ldr r3, [sp, #40] @ 0x28 70035fee: 980b ldr r0, [sp, #44] @ 0x2c 70035ff0: 785b ldrb r3, [r3, #1] 70035ff2: f850 4023 ldr.w r4, [r0, r3, lsl #2] 70035ff6: 9b04 ldr r3, [sp, #16] 70035ff8: ea4f 6914 mov.w r9, r4, lsr #24 70035ffc: fb03 2209 mla r2, r3, r9, r2 70036000: f004 13ff and.w r3, r4, #16711935 @ 0xff00ff 70036004: f404 447f and.w r4, r4, #65280 @ 0xff00 70036008: e704 b.n 70035e14 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0xc4> 7003600a: 2100 movs r1, #0 7003600c: 468c mov ip, r1 7003600e: 4688 mov r8, r1 70036010: e7d3 b.n 70035fba <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0x26a> 70036012: 9e0a ldr r6, [sp, #40] @ 0x28 70036014: 980b ldr r0, [sp, #44] @ 0x2c 70036016: 4456 add r6, sl 70036018: 7876 ldrb r6, [r6, #1] 7003601a: f850 6026 ldr.w r6, [r0, r6, lsl #2] 7003601e: ea4f 6a16 mov.w sl, r6, lsr #24 70036022: f006 1eff and.w lr, r6, #16711935 @ 0xff00ff 70036026: f406 467f and.w r6, r6, #65280 @ 0xff00 7003602a: fb05 220a mla r2, r5, sl, r2 7003602e: e705 b.n 70035e3c <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh+0xec> 70036030: fffff800 .word 0xfffff800 70036034 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 70036034: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70036038: b09d sub sp, #116 @ 0x74 7003603a: 4617 mov r7, r2 7003603c: 468a mov sl, r1 7003603e: f04f 0b00 mov.w fp, #0 70036042: 921b str r2, [sp, #108] @ 0x6c 70036044: 992d ldr r1, [sp, #180] @ 0xb4 70036046: 45da cmp sl, fp 70036048: 901a str r0, [sp, #104] @ 0x68 7003604a: f8cd b040 str.w fp, [sp, #64] @ 0x40 7003604e: f8cd b04c str.w fp, [sp, #76] @ 0x4c 70036052: f8cd b028 str.w fp, [sp, #40] @ 0x28 70036056: e9dd 422b ldrd r4, r2, [sp, #172] @ 0xac 7003605a: e9cd bb08 strd fp, fp, [sp, #32] 7003605e: 6860 ldr r0, [r4, #4] 70036060: 6826 ldr r6, [r4, #0] 70036062: fb00 2201 mla r2, r0, r1, r2 70036066: 992e ldr r1, [sp, #184] @ 0xb8 70036068: eb06 0642 add.w r6, r6, r2, lsl #1 7003606c: 684a ldr r2, [r1, #4] 7003606e: f102 0104 add.w r1, r2, #4 70036072: 910c str r1, [sp, #48] @ 0x30 70036074: 992e ldr r1, [sp, #184] @ 0xb8 70036076: 6809 ldr r1, [r1, #0] 70036078: e9dd 4527 ldrd r4, r5, [sp, #156] @ 0x9c 7003607c: 910e str r1, [sp, #56] @ 0x38 7003607e: dc01 bgt.n 70036084 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x50> 70036080: 455f cmp r7, fp 70036082: dd77 ble.n 70036174 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x140> 70036084: f8cd b044 str.w fp, [sp, #68] @ 0x44 70036088: 46e3 mov fp, ip 7003608a: 9a2e ldr r2, [sp, #184] @ 0xb8 7003608c: 2b00 cmp r3, #0 7003608e: 992e ldr r1, [sp, #184] @ 0xb8 70036090: 6892 ldr r2, [r2, #8] 70036092: f8d1 e00c ldr.w lr, [r1, #12] 70036096: fa0f fc82 sxth.w ip, r2 7003609a: fa0f f98e sxth.w r9, lr 7003609e: dd6e ble.n 7003617e <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14a> 700360a0: 9207 str r2, [sp, #28] 700360a2: f10c 37ff add.w r7, ip, #4294967295 @ 0xffffffff 700360a6: f8cd e034 str.w lr, [sp, #52] @ 0x34 700360aa: f109 38ff add.w r8, r9, #4294967295 @ 0xffffffff 700360ae: e9dd 2e29 ldrd r2, lr, [sp, #164] @ 0xa4 700360b2: e010 b.n 700360d6 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xa2> 700360b4: 4540 cmp r0, r8 700360b6: da02 bge.n 700360be <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8a> 700360b8: 2800 cmp r0, #0 700360ba: f280 8366 bge.w 7003678a <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x756> 700360be: f1b0 3fff cmp.w r0, #4294967295 @ 0xffffffff 700360c2: db02 blt.n 700360ca <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x96> 700360c4: 4548 cmp r0, r9 700360c6: f2c0 8364 blt.w 70036792 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x75e> 700360ca: 3b01 subs r3, #1 700360cc: 4414 add r4, r2 700360ce: 4475 add r5, lr 700360d0: f106 0602 add.w r6, r6, #2 700360d4: d012 beq.n 700360fc <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc8> 700360d6: 2c00 cmp r4, #0 700360d8: ea4f 4025 mov.w r0, r5, asr #16 700360dc: ea4f 4124 mov.w r1, r4, asr #16 700360e0: db01 blt.n 700360e6 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xb2> 700360e2: 42b9 cmp r1, r7 700360e4: dbe6 blt.n 700360b4 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x80> 700360e6: f1b1 3fff cmp.w r1, #4294967295 @ 0xffffffff 700360ea: dbee blt.n 700360ca <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x96> 700360ec: 4561 cmp r1, ip 700360ee: dbe6 blt.n 700360be <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8a> 700360f0: 3b01 subs r3, #1 700360f2: 4414 add r4, r2 700360f4: 4475 add r5, lr 700360f6: f106 0602 add.w r6, r6, #2 700360fa: d1ec bne.n 700360d6 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xa2> 700360fc: f1ba 0f00 cmp.w sl, #0 70036100: dd38 ble.n 70036174 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x140> 70036102: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70036106: 9b26 ldr r3, [sp, #152] @ 0x98 70036108: ee30 0a04 vadd.f32 s0, s0, s8 7003610c: f1ba 0a01 subs.w sl, sl, #1 70036110: ee70 0aa4 vadd.f32 s1, s1, s9 70036114: ee31 1a05 vadd.f32 s2, s2, s10 70036118: eec7 7a00 vdiv.f32 s15, s14, s0 7003611c: eef0 5a62 vmov.f32 s11, s5 70036120: eefe 5ac8 vcvt.s32.f32 s11, s11, #16 70036124: ee15 4a90 vmov r4, s11 70036128: eef0 5a43 vmov.f32 s11, s6 7003612c: eefe 5ac8 vcvt.s32.f32 s11, s11, #16 70036130: ee20 6aa7 vmul.f32 s12, s1, s15 70036134: ee61 7a27 vmul.f32 s15, s2, s15 70036138: ee15 5a90 vmov r5, s11 7003613c: ee76 6a62 vsub.f32 s13, s12, s5 70036140: ee37 7ac3 vsub.f32 s14, s15, s6 70036144: eefe 6ac8 vcvt.s32.f32 s13, s13, #16 70036148: eebe 7ac8 vcvt.s32.f32 s14, s14, #16 7003614c: ee16 2a90 vmov r2, s13 70036150: fb92 f3f3 sdiv r3, r2, r3 70036154: ee17 2a10 vmov r2, s14 70036158: 9329 str r3, [sp, #164] @ 0xa4 7003615a: 9b26 ldr r3, [sp, #152] @ 0x98 7003615c: fb92 f3f3 sdiv r3, r2, r3 70036160: 932a str r3, [sp, #168] @ 0xa8 70036162: d10a bne.n 7003617a <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x146> 70036164: 9b1b ldr r3, [sp, #108] @ 0x6c 70036166: 2b00 cmp r3, #0 70036168: dd04 ble.n 70036174 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x140> 7003616a: eeb0 3a67 vmov.f32 s6, s15 7003616e: eef0 2a46 vmov.f32 s5, s12 70036172: e78a b.n 7003608a <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x56> 70036174: b01d add sp, #116 @ 0x74 70036176: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7003617a: 9b26 ldr r3, [sp, #152] @ 0x98 7003617c: e7f5 b.n 7003616a <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x136> 7003617e: d0bd beq.n 700360fc <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc8> 70036180: f10c 37ff add.w r7, ip, #4294967295 @ 0xffffffff 70036184: f103 38ff add.w r8, r3, #4294967295 @ 0xffffffff 70036188: 9929 ldr r1, [sp, #164] @ 0xa4 7003618a: fb01 4108 mla r1, r1, r8, r4 7003618e: ebb7 4f21 cmp.w r7, r1, asr #16 70036192: ea4f 4021 mov.w r0, r1, asr #16 70036196: f340 8167 ble.w 70036468 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x434> 7003619a: 2800 cmp r0, #0 7003619c: f2c0 8164 blt.w 70036468 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x434> 700361a0: 992a ldr r1, [sp, #168] @ 0xa8 700361a2: f109 39ff add.w r9, r9, #4294967295 @ 0xffffffff 700361a6: fb01 5108 mla r1, r1, r8, r5 700361aa: ebb9 4f21 cmp.w r9, r1, asr #16 700361ae: ea4f 4021 mov.w r0, r1, asr #16 700361b2: f340 8159 ble.w 70036468 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x434> 700361b6: 2800 cmp r0, #0 700361b8: f2c0 8156 blt.w 70036468 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x434> 700361bc: 2b00 cmp r3, #0 700361be: dd9d ble.n 700360fc <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc8> 700361c0: 46a6 mov lr, r4 700361c2: f8cd 801c str.w r8, [sp, #28] 700361c6: 46b1 mov r9, r6 700361c8: 46a8 mov r8, r5 700361ca: 9c16 ldr r4, [sp, #88] @ 0x58 700361cc: 9d17 ldr r5, [sp, #92] @ 0x5c 700361ce: 960f str r6, [sp, #60] @ 0x3c 700361d0: f8cd b054 str.w fp, [sp, #84] @ 0x54 700361d4: e9cd a318 strd sl, r3, [sp, #96] @ 0x60 700361d8: e11c b.n 70036414 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3e0> 700361da: 7844 ldrb r4, [r0, #1] 700361dc: f857 4024 ldr.w r4, [r7, r4, lsl #2] 700361e0: 0e26 lsrs r6, r4, #24 700361e2: 9608 str r6, [sp, #32] 700361e4: b16a cbz r2, 70036202 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1ce> 700361e6: eb00 050c add.w r5, r0, ip 700361ea: f810 600c ldrb.w r6, [r0, ip] 700361ee: 7868 ldrb r0, [r5, #1] 700361f0: f857 5026 ldr.w r5, [r7, r6, lsl #2] 700361f4: f857 0020 ldr.w r0, [r7, r0, lsl #2] 700361f8: 0e2e lsrs r6, r5, #24 700361fa: 900b str r0, [sp, #44] @ 0x2c 700361fc: 0e00 lsrs r0, r0, #24 700361fe: 9609 str r6, [sp, #36] @ 0x24 70036200: 900a str r0, [sp, #40] @ 0x28 70036202: fb03 f702 mul.w r7, r3, r2 70036206: 9e08 ldr r6, [sp, #32] 70036208: f507 7080 add.w r0, r7, #256 @ 0x100 7003620c: eba0 1003 sub.w r0, r0, r3, lsl #4 70036210: ebc7 1303 rsb r3, r7, r3, lsl #4 70036214: eba0 1002 sub.w r0, r0, r2, lsl #4 70036218: b29b uxth r3, r3 7003621a: ebc7 1202 rsb r2, r7, r2, lsl #4 7003621e: fb03 f606 mul.w r6, r3, r6 70036222: b280 uxth r0, r0 70036224: b292 uxth r2, r2 70036226: 930d str r3, [sp, #52] @ 0x34 70036228: fb00 660a mla r6, r0, sl, r6 7003622c: 9b09 ldr r3, [sp, #36] @ 0x24 7003622e: fb02 6603 mla r6, r2, r3, r6 70036232: 9b0a ldr r3, [sp, #40] @ 0x28 70036234: fb07 6603 mla r6, r7, r3, r6 70036238: f416 4f7f tst.w r6, #65280 @ 0xff00 7003623c: f3c6 2c07 ubfx ip, r6, #8, #8 70036240: f000 80db beq.w 700363fa <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3c6> 70036244: f1ba 0fff cmp.w sl, #255 @ 0xff 70036248: d01c beq.n 70036284 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x250> 7003624a: f001 16ff and.w r6, r1, #16711935 @ 0xff00ff 7003624e: f401 417f and.w r1, r1, #65280 @ 0xff00 70036252: fb0a f606 mul.w r6, sl, r6 70036256: fb0a f101 mul.w r1, sl, r1 7003625a: ea4f 2a16 mov.w sl, r6, lsr #8 7003625e: f106 1601 add.w r6, r6, #65537 @ 0x10001 70036262: f00a 1aff and.w sl, sl, #16711935 @ 0xff00ff 70036266: 44b2 add sl, r6 70036268: ea4f 261a mov.w r6, sl, lsr #8 7003626c: f501 7a80 add.w sl, r1, #256 @ 0x100 70036270: eb0a 2a11 add.w sl, sl, r1, lsr #8 70036274: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 70036278: ea4f 2a1a mov.w sl, sl, lsr #8 7003627c: f40a 4a7f and.w sl, sl, #65280 @ 0xff00 70036280: ea46 010a orr.w r1, r6, sl 70036284: 9e08 ldr r6, [sp, #32] 70036286: 2eff cmp r6, #255 @ 0xff 70036288: d01b beq.n 700362c2 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x28e> 7003628a: f004 1aff and.w sl, r4, #16711935 @ 0xff00ff 7003628e: f404 447f and.w r4, r4, #65280 @ 0xff00 70036292: fb06 fa0a mul.w sl, r6, sl 70036296: fb06 f404 mul.w r4, r6, r4 7003629a: ea4f 261a mov.w r6, sl, lsr #8 7003629e: f10a 1a01 add.w sl, sl, #65537 @ 0x10001 700362a2: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 700362a6: 4456 add r6, sl 700362a8: f504 7a80 add.w sl, r4, #256 @ 0x100 700362ac: eb0a 2a14 add.w sl, sl, r4, lsr #8 700362b0: 0a36 lsrs r6, r6, #8 700362b2: ea4f 2a1a mov.w sl, sl, lsr #8 700362b6: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 700362ba: f40a 4a7f and.w sl, sl, #65280 @ 0xff00 700362be: ea46 040a orr.w r4, r6, sl 700362c2: 9e09 ldr r6, [sp, #36] @ 0x24 700362c4: 2eff cmp r6, #255 @ 0xff 700362c6: d01b beq.n 70036300 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2cc> 700362c8: f005 1aff and.w sl, r5, #16711935 @ 0xff00ff 700362cc: f405 457f and.w r5, r5, #65280 @ 0xff00 700362d0: fb06 fa0a mul.w sl, r6, sl 700362d4: fb06 f505 mul.w r5, r6, r5 700362d8: ea4f 261a mov.w r6, sl, lsr #8 700362dc: f10a 1a01 add.w sl, sl, #65537 @ 0x10001 700362e0: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 700362e4: 4456 add r6, sl 700362e6: f505 7a80 add.w sl, r5, #256 @ 0x100 700362ea: eb0a 2a15 add.w sl, sl, r5, lsr #8 700362ee: 0a36 lsrs r6, r6, #8 700362f0: ea4f 2a1a mov.w sl, sl, lsr #8 700362f4: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 700362f8: f40a 4a7f and.w sl, sl, #65280 @ 0xff00 700362fc: ea46 050a orr.w r5, r6, sl 70036300: 9e0a ldr r6, [sp, #40] @ 0x28 70036302: 2eff cmp r6, #255 @ 0xff 70036304: d01d beq.n 70036342 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x30e> 70036306: 9b0b ldr r3, [sp, #44] @ 0x2c 70036308: f003 1bff and.w fp, r3, #16711935 @ 0xff00ff 7003630c: f403 4a7f and.w sl, r3, #65280 @ 0xff00 70036310: fb06 fb0b mul.w fp, r6, fp 70036314: fb06 fa0a mul.w sl, r6, sl 70036318: ea4f 261b mov.w r6, fp, lsr #8 7003631c: f10b 1b01 add.w fp, fp, #65537 @ 0x10001 70036320: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 70036324: 445e add r6, fp 70036326: f50a 7b80 add.w fp, sl, #256 @ 0x100 7003632a: eb0b 2b1a add.w fp, fp, sl, lsr #8 7003632e: 0a36 lsrs r6, r6, #8 70036330: ea4f 2b1b mov.w fp, fp, lsr #8 70036334: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 70036338: f40b 4b7f and.w fp, fp, #65280 @ 0xff00 7003633c: ea46 030b orr.w r3, r6, fp 70036340: 930b str r3, [sp, #44] @ 0x2c 70036342: 9b0d ldr r3, [sp, #52] @ 0x34 70036344: f404 4b7f and.w fp, r4, #65280 @ 0xff00 70036348: f004 1aff and.w sl, r4, #16711935 @ 0xff00ff 7003634c: f8b9 6000 ldrh.w r6, [r9] 70036350: ea6f 0c0c mvn.w ip, ip 70036354: fb03 fa0a mul.w sl, r3, sl 70036358: fb03 f30b mul.w r3, r3, fp 7003635c: f001 1bff and.w fp, r1, #16711935 @ 0xff00ff 70036360: f401 417f and.w r1, r1, #65280 @ 0xff00 70036364: fa5f fc8c uxtb.w ip, ip 70036368: fb00 ab0b mla fp, r0, fp, sl 7003636c: f005 1aff and.w sl, r5, #16711935 @ 0xff00ff 70036370: fb00 3101 mla r1, r0, r1, r3 70036374: 0a30 lsrs r0, r6, #8 70036376: 08f3 lsrs r3, r6, #3 70036378: fb02 ba0a mla sl, r2, sl, fp 7003637c: 00f6 lsls r6, r6, #3 7003637e: f000 00f8 and.w r0, r0, #248 @ 0xf8 70036382: f003 03fc and.w r3, r3, #252 @ 0xfc 70036386: b2f6 uxtb r6, r6 70036388: fb00 f00c mul.w r0, r0, ip 7003638c: fb03 f30c mul.w r3, r3, ip 70036390: fb06 f60c mul.w r6, r6, ip 70036394: f405 4c7f and.w ip, r5, #65280 @ 0xff00 70036398: fb02 1c0c mla ip, r2, ip, r1 7003639c: 990b ldr r1, [sp, #44] @ 0x2c 7003639e: f001 12ff and.w r2, r1, #16711935 @ 0xff00ff 700363a2: f401 417f and.w r1, r1, #65280 @ 0xff00 700363a6: fb07 cc01 mla ip, r7, r1, ip 700363aa: 1c41 adds r1, r0, #1 700363ac: 0a00 lsrs r0, r0, #8 700363ae: fb07 a202 mla r2, r7, r2, sl 700363b2: f3cc 4c07 ubfx ip, ip, #16, #8 700363b6: fa10 f181 uxtah r1, r0, r1 700363ba: 1c58 adds r0, r3, #1 700363bc: f3c3 230f ubfx r3, r3, #8, #16 700363c0: fa13 f080 uxtah r0, r3, r0 700363c4: 0e13 lsrs r3, r2, #24 700363c6: f3c2 2207 ubfx r2, r2, #8, #8 700363ca: eb03 2321 add.w r3, r3, r1, asr #8 700363ce: 4930 ldr r1, [pc, #192] @ (70036490 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x45c>) 700363d0: eb0c 2c20 add.w ip, ip, r0, asr #8 700363d4: ea01 2303 and.w r3, r1, r3, lsl #8 700363d8: 1c71 adds r1, r6, #1 700363da: f3c6 260f ubfx r6, r6, #8, #16 700363de: ea4f 0ccc mov.w ip, ip, lsl #3 700363e2: fa16 f181 uxtah r1, r6, r1 700363e6: f40c 6cfc and.w ip, ip, #2016 @ 0x7e0 700363ea: eb02 2221 add.w r2, r2, r1, asr #8 700363ee: ea43 03e2 orr.w r3, r3, r2, asr #3 700363f2: ea43 030c orr.w r3, r3, ip 700363f6: f8a9 3000 strh.w r3, [r9] 700363fa: 9b29 ldr r3, [sp, #164] @ 0xa4 700363fc: f109 0902 add.w r9, r9, #2 70036400: 449e add lr, r3 70036402: 9b2a ldr r3, [sp, #168] @ 0xa8 70036404: 4498 add r8, r3 70036406: 9b07 ldr r3, [sp, #28] 70036408: b323 cbz r3, 70036454 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x420> 7003640a: 3b01 subs r3, #1 7003640c: 9307 str r3, [sp, #28] 7003640e: 9b2e ldr r3, [sp, #184] @ 0xb8 70036410: f9b3 c008 ldrsh.w ip, [r3, #8] 70036414: ea4f 4328 mov.w r3, r8, asr #16 70036418: 9e0e ldr r6, [sp, #56] @ 0x38 7003641a: ea4f 402e mov.w r0, lr, asr #16 7003641e: 9f0c ldr r7, [sp, #48] @ 0x30 70036420: f41e 4f70 tst.w lr, #61440 @ 0xf000 70036424: f3c8 3203 ubfx r2, r8, #12, #4 70036428: fb0c 0003 mla r0, ip, r3, r0 7003642c: f3ce 3303 ubfx r3, lr, #12, #4 70036430: 5c31 ldrb r1, [r6, r0] 70036432: 4430 add r0, r6 70036434: f857 1021 ldr.w r1, [r7, r1, lsl #2] 70036438: ea4f 6a11 mov.w sl, r1, lsr #24 7003643c: f47f aecd bne.w 700361da <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1a6> 70036440: 2a00 cmp r2, #0 70036442: f43f aede beq.w 70036202 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1ce> 70036446: f810 000c ldrb.w r0, [r0, ip] 7003644a: f857 5020 ldr.w r5, [r7, r0, lsl #2] 7003644e: 0e28 lsrs r0, r5, #24 70036450: 9009 str r0, [sp, #36] @ 0x24 70036452: e6d6 b.n 70036202 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1ce> 70036454: 9e0f ldr r6, [sp, #60] @ 0x3c 70036456: f8dd b054 ldr.w fp, [sp, #84] @ 0x54 7003645a: e9dd a318 ldrd sl, r3, [sp, #96] @ 0x60 7003645e: e9cd 4516 strd r4, r5, [sp, #88] @ 0x58 70036462: eb06 0643 add.w r6, r6, r3, lsl #1 70036466: e649 b.n 700360fc <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc8> 70036468: 2b00 cmp r3, #0 7003646a: f77f ae47 ble.w 700360fc <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc8> 7003646e: 4637 mov r7, r6 70036470: 1421 asrs r1, r4, #16 70036472: 1428 asrs r0, r5, #16 70036474: f108 0801 add.w r8, r8, #1 70036478: 4681 mov r9, r0 7003647a: f8cd b034 str.w fp, [sp, #52] @ 0x34 7003647e: 4610 mov r0, r2 70036480: eb06 0648 add.w r6, r6, r8, lsl #1 70036484: f8cd a054 str.w sl, [sp, #84] @ 0x54 70036488: f8dd 80b8 ldr.w r8, [sp, #184] @ 0xb8 7003648c: 9607 str r6, [sp, #28] 7003648e: e147 b.n 70036720 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6ec> 70036490: fffff800 .word 0xfffff800 70036494: f10e 3cff add.w ip, lr, #4294967295 @ 0xffffffff 70036498: 45e1 cmp r9, ip 7003649a: f280 8150 bge.w 7003673e <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x70a> 7003649e: f1b9 0f00 cmp.w r9, #0 700364a2: f2c0 814c blt.w 7003673e <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x70a> 700364a6: b200 sxth r0, r0 700364a8: 9e0e ldr r6, [sp, #56] @ 0x38 700364aa: fb09 1100 mla r1, r9, r0, r1 700364ae: f816 e001 ldrb.w lr, [r6, r1] 700364b2: eb06 0c01 add.w ip, r6, r1 700364b6: 9e0c ldr r6, [sp, #48] @ 0x30 700364b8: f856 102e ldr.w r1, [r6, lr, lsl #2] 700364bc: ea4f 6911 mov.w r9, r1, lsr #24 700364c0: 910f str r1, [sp, #60] @ 0x3c 700364c2: 2b00 cmp r3, #0 700364c4: f000 8150 beq.w 70036768 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x734> 700364c8: f89c e001 ldrb.w lr, [ip, #1] 700364cc: f856 102e ldr.w r1, [r6, lr, lsl #2] 700364d0: 9112 str r1, [sp, #72] @ 0x48 700364d2: 0e09 lsrs r1, r1, #24 700364d4: 9111 str r1, [sp, #68] @ 0x44 700364d6: b17a cbz r2, 700364f8 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4c4> 700364d8: eb0c 0e00 add.w lr, ip, r0 700364dc: f81c c000 ldrb.w ip, [ip, r0] 700364e0: f89e 0001 ldrb.w r0, [lr, #1] 700364e4: f856 102c ldr.w r1, [r6, ip, lsl #2] 700364e8: f856 0020 ldr.w r0, [r6, r0, lsl #2] 700364ec: 910d str r1, [sp, #52] @ 0x34 700364ee: 0e09 lsrs r1, r1, #24 700364f0: 9014 str r0, [sp, #80] @ 0x50 700364f2: 9110 str r1, [sp, #64] @ 0x40 700364f4: 0e01 lsrs r1, r0, #24 700364f6: 9113 str r1, [sp, #76] @ 0x4c 700364f8: fb03 fe02 mul.w lr, r3, r2 700364fc: 9e11 ldr r6, [sp, #68] @ 0x44 700364fe: f50e 7080 add.w r0, lr, #256 @ 0x100 70036502: eba0 1003 sub.w r0, r0, r3, lsl #4 70036506: ebce 1303 rsb r3, lr, r3, lsl #4 7003650a: eba0 1002 sub.w r0, r0, r2, lsl #4 7003650e: b29b uxth r3, r3 70036510: ebce 1202 rsb r2, lr, r2, lsl #4 70036514: fb03 fc06 mul.w ip, r3, r6 70036518: b280 uxth r0, r0 7003651a: 9e10 ldr r6, [sp, #64] @ 0x40 7003651c: b292 uxth r2, r2 7003651e: fb00 cc09 mla ip, r0, r9, ip 70036522: fb02 cc06 mla ip, r2, r6, ip 70036526: 9e13 ldr r6, [sp, #76] @ 0x4c 70036528: fb0e cc06 mla ip, lr, r6, ip 7003652c: f41c 4f7f tst.w ip, #65280 @ 0xff00 70036530: f3cc 2b07 ubfx fp, ip, #8, #8 70036534: f000 80e7 beq.w 70036706 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6d2> 70036538: f1b9 0fff cmp.w r9, #255 @ 0xff 7003653c: d01d beq.n 7003657a <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x546> 7003653e: 990f ldr r1, [sp, #60] @ 0x3c 70036540: f001 1cff and.w ip, r1, #16711935 @ 0xff00ff 70036544: f401 417f and.w r1, r1, #65280 @ 0xff00 70036548: fb09 fc0c mul.w ip, r9, ip 7003654c: fb09 f101 mul.w r1, r9, r1 70036550: ea4f 291c mov.w r9, ip, lsr #8 70036554: f10c 1c01 add.w ip, ip, #65537 @ 0x10001 70036558: f009 19ff and.w r9, r9, #16711935 @ 0xff00ff 7003655c: 44e1 add r9, ip 7003655e: ea4f 2c19 mov.w ip, r9, lsr #8 70036562: f501 7980 add.w r9, r1, #256 @ 0x100 70036566: eb09 2111 add.w r1, r9, r1, lsr #8 7003656a: f00c 1cff and.w ip, ip, #16711935 @ 0xff00ff 7003656e: 0a09 lsrs r1, r1, #8 70036570: f401 417f and.w r1, r1, #65280 @ 0xff00 70036574: ea4c 0101 orr.w r1, ip, r1 70036578: 910f str r1, [sp, #60] @ 0x3c 7003657a: 9e11 ldr r6, [sp, #68] @ 0x44 7003657c: 2eff cmp r6, #255 @ 0xff 7003657e: d01e beq.n 700365be <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x58a> 70036580: 9912 ldr r1, [sp, #72] @ 0x48 70036582: f001 1aff and.w sl, r1, #16711935 @ 0xff00ff 70036586: f401 497f and.w r9, r1, #65280 @ 0xff00 7003658a: fb06 fa0a mul.w sl, r6, sl 7003658e: fb06 f909 mul.w r9, r6, r9 70036592: ea4f 2c1a mov.w ip, sl, lsr #8 70036596: f10a 1a01 add.w sl, sl, #65537 @ 0x10001 7003659a: f00c 1cff and.w ip, ip, #16711935 @ 0xff00ff 7003659e: 44d4 add ip, sl 700365a0: f509 7a80 add.w sl, r9, #256 @ 0x100 700365a4: eb0a 2919 add.w r9, sl, r9, lsr #8 700365a8: ea4f 2c1c mov.w ip, ip, lsr #8 700365ac: ea4f 2919 mov.w r9, r9, lsr #8 700365b0: f00c 1cff and.w ip, ip, #16711935 @ 0xff00ff 700365b4: f409 497f and.w r9, r9, #65280 @ 0xff00 700365b8: ea4c 0109 orr.w r1, ip, r9 700365bc: 9112 str r1, [sp, #72] @ 0x48 700365be: 9e10 ldr r6, [sp, #64] @ 0x40 700365c0: 2eff cmp r6, #255 @ 0xff 700365c2: d01e beq.n 70036602 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x5ce> 700365c4: 990d ldr r1, [sp, #52] @ 0x34 700365c6: f001 1aff and.w sl, r1, #16711935 @ 0xff00ff 700365ca: f401 497f and.w r9, r1, #65280 @ 0xff00 700365ce: fb06 fa0a mul.w sl, r6, sl 700365d2: fb06 f909 mul.w r9, r6, r9 700365d6: ea4f 2c1a mov.w ip, sl, lsr #8 700365da: f10a 1a01 add.w sl, sl, #65537 @ 0x10001 700365de: f00c 1cff and.w ip, ip, #16711935 @ 0xff00ff 700365e2: 44d4 add ip, sl 700365e4: f509 7a80 add.w sl, r9, #256 @ 0x100 700365e8: eb0a 2919 add.w r9, sl, r9, lsr #8 700365ec: ea4f 2c1c mov.w ip, ip, lsr #8 700365f0: ea4f 2919 mov.w r9, r9, lsr #8 700365f4: f00c 1cff and.w ip, ip, #16711935 @ 0xff00ff 700365f8: f409 497f and.w r9, r9, #65280 @ 0xff00 700365fc: ea4c 0109 orr.w r1, ip, r9 70036600: 910d str r1, [sp, #52] @ 0x34 70036602: 9e13 ldr r6, [sp, #76] @ 0x4c 70036604: 2eff cmp r6, #255 @ 0xff 70036606: d01e beq.n 70036646 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x612> 70036608: 9914 ldr r1, [sp, #80] @ 0x50 7003660a: f001 1aff and.w sl, r1, #16711935 @ 0xff00ff 7003660e: f401 497f and.w r9, r1, #65280 @ 0xff00 70036612: fb06 fa0a mul.w sl, r6, sl 70036616: fb06 f909 mul.w r9, r6, r9 7003661a: ea4f 2c1a mov.w ip, sl, lsr #8 7003661e: f10a 1a01 add.w sl, sl, #65537 @ 0x10001 70036622: f00c 1cff and.w ip, ip, #16711935 @ 0xff00ff 70036626: 44d4 add ip, sl 70036628: f509 7a80 add.w sl, r9, #256 @ 0x100 7003662c: eb0a 2919 add.w r9, sl, r9, lsr #8 70036630: ea4f 2c1c mov.w ip, ip, lsr #8 70036634: ea4f 2919 mov.w r9, r9, lsr #8 70036638: f00c 1cff and.w ip, ip, #16711935 @ 0xff00ff 7003663c: f409 497f and.w r9, r9, #65280 @ 0xff00 70036640: ea4c 0109 orr.w r1, ip, r9 70036644: 9114 str r1, [sp, #80] @ 0x50 70036646: 9e12 ldr r6, [sp, #72] @ 0x48 70036648: ea6f 090b mvn.w r9, fp 7003664c: 990f ldr r1, [sp, #60] @ 0x3c 7003664e: f406 4b7f and.w fp, r6, #65280 @ 0xff00 70036652: f006 1aff and.w sl, r6, #16711935 @ 0xff00ff 70036656: f8b7 c000 ldrh.w ip, [r7] 7003665a: fa5f f989 uxtb.w r9, r9 7003665e: fb03 fa0a mul.w sl, r3, sl 70036662: 9e0d ldr r6, [sp, #52] @ 0x34 70036664: fb03 f30b mul.w r3, r3, fp 70036668: f001 1bff and.w fp, r1, #16711935 @ 0xff00ff 7003666c: f401 417f and.w r1, r1, #65280 @ 0xff00 70036670: fb00 ab0b mla fp, r0, fp, sl 70036674: f006 1aff and.w sl, r6, #16711935 @ 0xff00ff 70036678: fb00 3101 mla r1, r0, r1, r3 7003667c: ea4f 201c mov.w r0, ip, lsr #8 70036680: ea4f 03dc mov.w r3, ip, lsr #3 70036684: fb02 ba0a mla sl, r2, sl, fp 70036688: ea4f 0ccc mov.w ip, ip, lsl #3 7003668c: f000 00f8 and.w r0, r0, #248 @ 0xf8 70036690: f003 03fc and.w r3, r3, #252 @ 0xfc 70036694: fa5f fc8c uxtb.w ip, ip 70036698: fb00 f009 mul.w r0, r0, r9 7003669c: fb03 f309 mul.w r3, r3, r9 700366a0: fb0c fc09 mul.w ip, ip, r9 700366a4: f406 497f and.w r9, r6, #65280 @ 0xff00 700366a8: fb02 1909 mla r9, r2, r9, r1 700366ac: 9914 ldr r1, [sp, #80] @ 0x50 700366ae: f001 12ff and.w r2, r1, #16711935 @ 0xff00ff 700366b2: f401 417f and.w r1, r1, #65280 @ 0xff00 700366b6: fb0e 9901 mla r9, lr, r1, r9 700366ba: 1c41 adds r1, r0, #1 700366bc: 0a00 lsrs r0, r0, #8 700366be: fb0e a202 mla r2, lr, r2, sl 700366c2: f3c9 4907 ubfx r9, r9, #16, #8 700366c6: fa10 f181 uxtah r1, r0, r1 700366ca: 1c58 adds r0, r3, #1 700366cc: f3c3 230f ubfx r3, r3, #8, #16 700366d0: fa13 f080 uxtah r0, r3, r0 700366d4: 0e13 lsrs r3, r2, #24 700366d6: f3c2 2207 ubfx r2, r2, #8, #8 700366da: eb03 2321 add.w r3, r3, r1, asr #8 700366de: 4930 ldr r1, [pc, #192] @ (700367a0 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x76c>) 700366e0: eb09 2020 add.w r0, r9, r0, asr #8 700366e4: ea01 2303 and.w r3, r1, r3, lsl #8 700366e8: f10c 0101 add.w r1, ip, #1 700366ec: f3cc 2c0f ubfx ip, ip, #8, #16 700366f0: 00c0 lsls r0, r0, #3 700366f2: fa1c f181 uxtah r1, ip, r1 700366f6: f400 60fc and.w r0, r0, #2016 @ 0x7e0 700366fa: eb02 2221 add.w r2, r2, r1, asr #8 700366fe: ea43 03e2 orr.w r3, r3, r2, asr #3 70036702: 4303 orrs r3, r0 70036704: 803b strh r3, [r7, #0] 70036706: 9b29 ldr r3, [sp, #164] @ 0xa4 70036708: 3702 adds r7, #2 7003670a: 441c add r4, r3 7003670c: 9b2a ldr r3, [sp, #168] @ 0xa8 7003670e: 441d add r5, r3 70036710: 9b07 ldr r3, [sp, #28] 70036712: 429f cmp r7, r3 70036714: d033 beq.n 7003677e <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x74a> 70036716: 1421 asrs r1, r4, #16 70036718: ea4f 4925 mov.w r9, r5, asr #16 7003671c: e9d8 0e02 ldrd r0, lr, [r8, #8] 70036720: f100 3cff add.w ip, r0, #4294967295 @ 0xffffffff 70036724: f3c4 3303 ubfx r3, r4, #12, #4 70036728: f3c5 3203 ubfx r2, r5, #12, #4 7003672c: 4561 cmp r1, ip 7003672e: da02 bge.n 70036736 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x702> 70036730: 2900 cmp r1, #0 70036732: f6bf aeaf bge.w 70036494 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x460> 70036736: 1c4e adds r6, r1, #1 70036738: dbe5 blt.n 70036706 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6d2> 7003673a: 4281 cmp r1, r0 7003673c: dae3 bge.n 70036706 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6d2> 7003673e: f1b9 3fff cmp.w r9, #4294967295 @ 0xffffffff 70036742: dbe0 blt.n 70036706 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6d2> 70036744: 45f1 cmp r9, lr 70036746: dade bge.n 70036706 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6d2> 70036748: b200 sxth r0, r0 7003674a: e9cd 3204 strd r3, r2, [sp, #16] 7003674e: fa0f f38e sxth.w r3, lr 70036752: 9000 str r0, [sp, #0] 70036754: 9a0e ldr r2, [sp, #56] @ 0x38 70036756: 9301 str r3, [sp, #4] 70036758: 981a ldr r0, [sp, #104] @ 0x68 7003675a: 9b0c ldr r3, [sp, #48] @ 0x30 7003675c: e9cd 1902 strd r1, r9, [sp, #8] 70036760: 4639 mov r1, r7 70036762: f7ff faf5 bl 70035d50 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPtPKhPKmssiihh> 70036766: e7ce b.n 70036706 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6d2> 70036768: 2a00 cmp r2, #0 7003676a: f43f aec5 beq.w 700364f8 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4c4> 7003676e: f81c 0000 ldrb.w r0, [ip, r0] 70036772: f856 1020 ldr.w r1, [r6, r0, lsl #2] 70036776: 910d str r1, [sp, #52] @ 0x34 70036778: 0e09 lsrs r1, r1, #24 7003677a: 9110 str r1, [sp, #64] @ 0x40 7003677c: e6bc b.n 700364f8 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4c4> 7003677e: 461e mov r6, r3 70036780: f8dd b034 ldr.w fp, [sp, #52] @ 0x34 70036784: f8dd a054 ldr.w sl, [sp, #84] @ 0x54 70036788: e4b8 b.n 700360fc <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc8> 7003678a: 9a07 ldr r2, [sp, #28] 7003678c: f8dd e034 ldr.w lr, [sp, #52] @ 0x34 70036790: e4f8 b.n 70036184 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x150> 70036792: 9a07 ldr r2, [sp, #28] 70036794: f103 38ff add.w r8, r3, #4294967295 @ 0xffffffff 70036798: f8dd e034 ldr.w lr, [sp, #52] @ 0x34 7003679c: 4637 mov r7, r6 7003679e: e669 b.n 70036474 <_ZN8touchgfx12LCDGPU2D_AXI68TextureMapper_16BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x440> 700367a0: fffff800 .word 0xfffff800 700367a4 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh>: 700367a4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700367a8: e9dd ab0b ldrd sl, fp, [sp, #44] @ 0x2c 700367ac: f9bd 7024 ldrsh.w r7, [sp, #36] @ 0x24 700367b0: f9bd 9028 ldrsh.w r9, [sp, #40] @ 0x28 700367b4: f89d 603c ldrb.w r6, [sp, #60] @ 0x3c 700367b8: fb0b ae07 mla lr, fp, r7, sl 700367bc: 45d9 cmp r9, fp 700367be: f89d 0034 ldrb.w r0, [sp, #52] @ 0x34 700367c2: ea6f 0406 mvn.w r4, r6 700367c6: f89d c038 ldrb.w ip, [sp, #56] @ 0x38 700367ca: eb02 050e add.w r5, r2, lr 700367ce: b2e4 uxtb r4, r4 700367d0: f340 8092 ble.w 700368f8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x154> 700367d4: f1bb 0f00 cmp.w fp, #0 700367d8: f2c0 808e blt.w 700368f8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x154> 700367dc: 4557 cmp r7, sl 700367de: f340 80b1 ble.w 70036944 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x1a0> 700367e2: f1ba 0f00 cmp.w sl, #0 700367e6: f2c0 80ad blt.w 70036944 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x1a0> 700367ea: f812 800e ldrb.w r8, [r2, lr] 700367ee: eb08 0848 add.w r8, r8, r8, lsl #1 700367f2: 4498 add r8, r3 700367f4: f10a 0201 add.w r2, sl, #1 700367f8: 2800 cmp r0, #0 700367fa: ea6f 0e02 mvn.w lr, r2 700367fe: ea4f 7ede mov.w lr, lr, lsr #31 70036802: bf08 it eq 70036804: f04f 0e00 moveq.w lr, #0 70036808: f1be 0f00 cmp.w lr, #0 7003680c: d002 beq.n 70036814 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x70> 7003680e: 4297 cmp r7, r2 70036810: f300 809a bgt.w 70036948 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x1a4> 70036814: f10b 0201 add.w r2, fp, #1 70036818: 468e mov lr, r1 7003681a: 2a00 cmp r2, #0 7003681c: bfa8 it ge 7003681e: 4591 cmpge r9, r2 70036820: dc72 bgt.n 70036908 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x164> 70036822: 460d mov r5, r1 70036824: 4689 mov r9, r1 70036826: fb00 f70c mul.w r7, r0, ip 7003682a: f89e 3001 ldrb.w r3, [lr, #1] 7003682e: f89e 2002 ldrb.w r2, [lr, #2] 70036832: f89e a000 ldrb.w sl, [lr] 70036836: eba7 1e0c sub.w lr, r7, ip, lsl #4 7003683a: ebc7 1c0c rsb ip, r7, ip, lsl #4 7003683e: f50e 7e80 add.w lr, lr, #256 @ 0x100 70036842: fa1f fc8c uxth.w ip, ip 70036846: ebae 1e00 sub.w lr, lr, r0, lsl #4 7003684a: ebc7 1000 rsb r0, r7, r0, lsl #4 7003684e: fa1f fe8e uxth.w lr, lr 70036852: b280 uxth r0, r0 70036854: fb00 fb03 mul.w fp, r0, r3 70036858: fb00 f302 mul.w r3, r0, r2 7003685c: f898 2001 ldrb.w r2, [r8, #1] 70036860: fb00 f00a mul.w r0, r0, sl 70036864: f898 a002 ldrb.w sl, [r8, #2] 70036868: f898 8000 ldrb.w r8, [r8] 7003686c: fb0e b202 mla r2, lr, r2, fp 70036870: fb0e 330a mla r3, lr, sl, r3 70036874: fb0e 0008 mla r0, lr, r8, r0 70036878: f899 e001 ldrb.w lr, [r9, #1] 7003687c: fb0c 220e mla r2, ip, lr, r2 70036880: f899 e002 ldrb.w lr, [r9, #2] 70036884: fb0c 330e mla r3, ip, lr, r3 70036888: f899 e000 ldrb.w lr, [r9] 7003688c: fb0c 000e mla r0, ip, lr, r0 70036890: f895 c001 ldrb.w ip, [r5, #1] 70036894: fb07 220c mla r2, r7, ip, r2 70036898: f895 c002 ldrb.w ip, [r5, #2] 7003689c: 782d ldrb r5, [r5, #0] 7003689e: f3c2 2207 ubfx r2, r2, #8, #8 700368a2: fb07 330c mla r3, r7, ip, r3 700368a6: fb07 0505 mla r5, r7, r5, r0 700368aa: 7808 ldrb r0, [r1, #0] 700368ac: fb12 f206 smulbb r2, r2, r6 700368b0: f3c3 2307 ubfx r3, r3, #8, #8 700368b4: fb10 f004 smulbb r0, r0, r4 700368b8: f3c5 2507 ubfx r5, r5, #8, #8 700368bc: fb13 f306 smulbb r3, r3, r6 700368c0: fb05 0006 mla r0, r5, r6, r0 700368c4: b285 uxth r5, r0 700368c6: 7848 ldrb r0, [r1, #1] 700368c8: fb00 2204 mla r2, r0, r4, r2 700368cc: 7888 ldrb r0, [r1, #2] 700368ce: fb00 3304 mla r3, r0, r4, r3 700368d2: b292 uxth r2, r2 700368d4: b29b uxth r3, r3 700368d6: 1c58 adds r0, r3, #1 700368d8: eb00 2313 add.w r3, r0, r3, lsr #8 700368dc: 1c68 adds r0, r5, #1 700368de: 121b asrs r3, r3, #8 700368e0: eb00 2015 add.w r0, r0, r5, lsr #8 700368e4: 708b strb r3, [r1, #2] 700368e6: 1c53 adds r3, r2, #1 700368e8: eb03 2312 add.w r3, r3, r2, lsr #8 700368ec: 1202 asrs r2, r0, #8 700368ee: 121b asrs r3, r3, #8 700368f0: 700a strb r2, [r1, #0] 700368f2: 704b strb r3, [r1, #1] 700368f4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700368f8: 468e mov lr, r1 700368fa: 4688 mov r8, r1 700368fc: f10b 0201 add.w r2, fp, #1 70036900: 2a00 cmp r2, #0 70036902: bfa8 it ge 70036904: 4591 cmpge r9, r2 70036906: dd8c ble.n 70036822 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x7e> 70036908: f1bc 0f00 cmp.w ip, #0 7003690c: d089 beq.n 70036822 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x7e> 7003690e: f1ba 0f00 cmp.w sl, #0 70036912: db1f blt.n 70036954 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x1b0> 70036914: 4557 cmp r7, sl 70036916: dd1d ble.n 70036954 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x1b0> 70036918: f815 9007 ldrb.w r9, [r5, r7] 7003691c: eb09 0949 add.w r9, r9, r9, lsl #1 70036920: 4499 add r9, r3 70036922: f10a 0201 add.w r2, sl, #1 70036926: 2800 cmp r0, #0 70036928: ea6f 0a02 mvn.w sl, r2 7003692c: ea4f 7ada mov.w sl, sl, lsr #31 70036930: bf08 it eq 70036932: f04f 0a00 moveq.w sl, #0 70036936: f1ba 0f00 cmp.w sl, #0 7003693a: d001 beq.n 70036940 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x19c> 7003693c: 4297 cmp r7, r2 7003693e: dc0b bgt.n 70036958 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x1b4> 70036940: 460d mov r5, r1 70036942: e770 b.n 70036826 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x82> 70036944: 4688 mov r8, r1 70036946: e755 b.n 700367f4 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x50> 70036948: f895 e001 ldrb.w lr, [r5, #1] 7003694c: eb0e 0e4e add.w lr, lr, lr, lsl #1 70036950: 449e add lr, r3 70036952: e7d3 b.n 700368fc <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x158> 70036954: 4689 mov r9, r1 70036956: e7e4 b.n 70036922 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x17e> 70036958: 443d add r5, r7 7003695a: 786a ldrb r2, [r5, #1] 7003695c: eb02 0242 add.w r2, r2, r2, lsl #1 70036960: 189d adds r5, r3, r2 70036962: e760 b.n 70036826 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh+0x82> 70036964 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 70036964: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70036968: b095 sub sp, #84 @ 0x54 7003696a: 4616 mov r6, r2 7003696c: 2900 cmp r1, #0 7003696e: 468e mov lr, r1 70036970: 9213 str r2, [sp, #76] @ 0x4c 70036972: 9012 str r0, [sp, #72] @ 0x48 70036974: 9825 ldr r0, [sp, #148] @ 0x94 70036976: e9dd 5223 ldrd r5, r2, [sp, #140] @ 0x8c 7003697a: e9dd ba1f ldrd fp, sl, [sp, #124] @ 0x7c 7003697e: 686c ldr r4, [r5, #4] 70036980: fb04 2200 mla r2, r4, r0, r2 70036984: 6828 ldr r0, [r5, #0] 70036986: 9d22 ldr r5, [sp, #136] @ 0x88 70036988: eb00 0082 add.w r0, r0, r2, lsl #2 7003698c: 4604 mov r4, r0 7003698e: 9826 ldr r0, [sp, #152] @ 0x98 70036990: 6842 ldr r2, [r0, #4] 70036992: f102 0004 add.w r0, r2, #4 70036996: 900d str r0, [sp, #52] @ 0x34 70036998: f89d 009c ldrb.w r0, [sp, #156] @ 0x9c 7003699c: 900a str r0, [sp, #40] @ 0x28 7003699e: 9826 ldr r0, [sp, #152] @ 0x98 700369a0: 6800 ldr r0, [r0, #0] 700369a2: 900b str r0, [sp, #44] @ 0x2c 700369a4: dc01 bgt.n 700369aa <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x46> 700369a6: 2e00 cmp r6, #0 700369a8: dd78 ble.n 70036a9c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x138> 700369aa: 9a0a ldr r2, [sp, #40] @ 0x28 700369ac: 46a1 mov r9, r4 700369ae: 9522 str r5, [sp, #136] @ 0x88 700369b0: 43d2 mvns r2, r2 700369b2: b2d1 uxtb r1, r2 700369b4: 461a mov r2, r3 700369b6: 910e str r1, [sp, #56] @ 0x38 700369b8: 910c str r1, [sp, #48] @ 0x30 700369ba: 9b26 ldr r3, [sp, #152] @ 0x98 700369bc: 2a00 cmp r2, #0 700369be: e9d3 5602 ldrd r5, r6, [r3, #8] 700369c2: fa0f f885 sxth.w r8, r5 700369c6: b237 sxth r7, r6 700369c8: dd6d ble.n 70036aa6 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x142> 700369ca: 9508 str r5, [sp, #32] 700369cc: f108 33ff add.w r3, r8, #4294967295 @ 0xffffffff 700369d0: 1e7c subs r4, r7, #1 700369d2: e9dd 5c21 ldrd r5, ip, [sp, #132] @ 0x84 700369d6: e010 b.n 700369fa <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x96> 700369d8: 42a0 cmp r0, r4 700369da: da02 bge.n 700369e2 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7e> 700369dc: 2800 cmp r0, #0 700369de: f280 822c bge.w 70036e3a <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4d6> 700369e2: f1b0 3fff cmp.w r0, #4294967295 @ 0xffffffff 700369e6: db02 blt.n 700369ee <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8a> 700369e8: 42b8 cmp r0, r7 700369ea: f2c0 8228 blt.w 70036e3e <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4da> 700369ee: 3a01 subs r2, #1 700369f0: 44ab add fp, r5 700369f2: 44e2 add sl, ip 700369f4: f109 0904 add.w r9, r9, #4 700369f8: d013 beq.n 70036a22 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xbe> 700369fa: f1bb 0f00 cmp.w fp, #0 700369fe: ea4f 402a mov.w r0, sl, asr #16 70036a02: ea4f 412b mov.w r1, fp, asr #16 70036a06: db01 blt.n 70036a0c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xa8> 70036a08: 4299 cmp r1, r3 70036a0a: dbe5 blt.n 700369d8 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x74> 70036a0c: f1b1 3fff cmp.w r1, #4294967295 @ 0xffffffff 70036a10: dbed blt.n 700369ee <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8a> 70036a12: 4541 cmp r1, r8 70036a14: dbe5 blt.n 700369e2 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7e> 70036a16: 3a01 subs r2, #1 70036a18: 44ab add fp, r5 70036a1a: 44e2 add sl, ip 70036a1c: f109 0904 add.w r9, r9, #4 70036a20: d1eb bne.n 700369fa <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x96> 70036a22: f1be 0f00 cmp.w lr, #0 70036a26: dd39 ble.n 70036a9c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x138> 70036a28: eef0 7a62 vmov.f32 s15, s5 70036a2c: 9b1e ldr r3, [sp, #120] @ 0x78 70036a2e: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70036a32: f1be 0e01 subs.w lr, lr, #1 70036a36: ee30 0a04 vadd.f32 s0, s0, s8 70036a3a: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 70036a3e: ee70 0aa4 vadd.f32 s1, s1, s9 70036a42: ee31 1a05 vadd.f32 s2, s2, s10 70036a46: ee17 ba90 vmov fp, s15 70036a4a: eef0 7a43 vmov.f32 s15, s6 70036a4e: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 70036a52: ee17 aa90 vmov sl, s15 70036a56: eec7 7a00 vdiv.f32 s15, s14, s0 70036a5a: ee20 7aa7 vmul.f32 s14, s1, s15 70036a5e: ee61 7a27 vmul.f32 s15, s2, s15 70036a62: ee77 2a62 vsub.f32 s5, s14, s5 70036a66: ee37 3ac3 vsub.f32 s6, s15, s6 70036a6a: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 70036a6e: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 70036a72: ee12 2a90 vmov r2, s5 70036a76: fb92 f3f3 sdiv r3, r2, r3 70036a7a: ee13 2a10 vmov r2, s6 70036a7e: 9321 str r3, [sp, #132] @ 0x84 70036a80: 9b1e ldr r3, [sp, #120] @ 0x78 70036a82: fb92 f3f3 sdiv r3, r2, r3 70036a86: 9322 str r3, [sp, #136] @ 0x88 70036a88: d10b bne.n 70036aa2 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x13e> 70036a8a: 9b13 ldr r3, [sp, #76] @ 0x4c 70036a8c: 2b00 cmp r3, #0 70036a8e: dd05 ble.n 70036a9c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x138> 70036a90: 461a mov r2, r3 70036a92: eeb0 3a67 vmov.f32 s6, s15 70036a96: eef0 2a47 vmov.f32 s5, s14 70036a9a: e78e b.n 700369ba <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x56> 70036a9c: b015 add sp, #84 @ 0x54 70036a9e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70036aa2: 9a1e ldr r2, [sp, #120] @ 0x78 70036aa4: e7f5 b.n 70036a92 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x12e> 70036aa6: d0bc beq.n 70036a22 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xbe> 70036aa8: f108 33ff add.w r3, r8, #4294967295 @ 0xffffffff 70036aac: f102 3cff add.w ip, r2, #4294967295 @ 0xffffffff 70036ab0: 9921 ldr r1, [sp, #132] @ 0x84 70036ab2: fb01 b10c mla r1, r1, ip, fp 70036ab6: ebb3 4f21 cmp.w r3, r1, asr #16 70036aba: ea4f 4021 mov.w r0, r1, asr #16 70036abe: f340 80cc ble.w 70036c5a <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2f6> 70036ac2: 2800 cmp r0, #0 70036ac4: f2c0 80c9 blt.w 70036c5a <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2f6> 70036ac8: 9b22 ldr r3, [sp, #136] @ 0x88 70036aca: 3f01 subs r7, #1 70036acc: fb03 a30c mla r3, r3, ip, sl 70036ad0: ebb7 4f23 cmp.w r7, r3, asr #16 70036ad4: ea4f 4123 mov.w r1, r3, asr #16 70036ad8: f340 80bf ble.w 70036c5a <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2f6> 70036adc: 2900 cmp r1, #0 70036ade: f2c0 80bc blt.w 70036c5a <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2f6> 70036ae2: 2a00 cmp r2, #0 70036ae4: dd9d ble.n 70036a22 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xbe> 70036ae6: f109 0004 add.w r0, r9, #4 70036aea: f8cd 903c str.w r9, [sp, #60] @ 0x3c 70036aee: f8cd c020 str.w ip, [sp, #32] 70036af2: f8dd 9034 ldr.w r9, [sp, #52] @ 0x34 70036af6: e9cd e210 strd lr, r2, [sp, #64] @ 0x40 70036afa: e087 b.n 70036c0c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2a8> 70036afc: 7862 ldrb r2, [r4, #1] 70036afe: eb04 0e08 add.w lr, r4, r8 70036b02: 4667 mov r7, ip 70036b04: 4665 mov r5, ip 70036b06: eb02 0242 add.w r2, r2, r2, lsl #1 70036b0a: 444a add r2, r9 70036b0c: b14b cbz r3, 70036b22 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1be> 70036b0e: f814 5008 ldrb.w r5, [r4, r8] 70036b12: f89e 7001 ldrb.w r7, [lr, #1] 70036b16: eb05 0545 add.w r5, r5, r5, lsl #1 70036b1a: eb07 0747 add.w r7, r7, r7, lsl #1 70036b1e: 444d add r5, r9 70036b20: 444f add r7, r9 70036b22: f819 4006 ldrb.w r4, [r9, r6] 70036b26: 3004 adds r0, #4 70036b28: 9e21 ldr r6, [sp, #132] @ 0x84 70036b2a: 9409 str r4, [sp, #36] @ 0x24 70036b2c: 44b3 add fp, r6 70036b2e: fb01 f403 mul.w r4, r1, r3 70036b32: 9e22 ldr r6, [sp, #136] @ 0x88 70036b34: f892 8001 ldrb.w r8, [r2, #1] 70036b38: f892 e002 ldrb.w lr, [r2, #2] 70036b3c: 44b2 add sl, r6 70036b3e: 7816 ldrb r6, [r2, #0] 70036b40: f504 7280 add.w r2, r4, #256 @ 0x100 70036b44: eba2 1201 sub.w r2, r2, r1, lsl #4 70036b48: ebc4 1101 rsb r1, r4, r1, lsl #4 70036b4c: eba2 1203 sub.w r2, r2, r3, lsl #4 70036b50: b289 uxth r1, r1 70036b52: b292 uxth r2, r2 70036b54: fb01 f808 mul.w r8, r1, r8 70036b58: ebc4 1303 rsb r3, r4, r3, lsl #4 70036b5c: fb01 fe0e mul.w lr, r1, lr 70036b60: fb01 f606 mul.w r6, r1, r6 70036b64: 9909 ldr r1, [sp, #36] @ 0x24 70036b66: b29b uxth r3, r3 70036b68: fb02 6601 mla r6, r2, r1, r6 70036b6c: f89c 1001 ldrb.w r1, [ip, #1] 70036b70: f89c c002 ldrb.w ip, [ip, #2] 70036b74: fb02 8101 mla r1, r2, r1, r8 70036b78: fb02 ec0c mla ip, r2, ip, lr 70036b7c: 786a ldrb r2, [r5, #1] 70036b7e: fb03 1202 mla r2, r3, r2, r1 70036b82: 78a9 ldrb r1, [r5, #2] 70036b84: 782d ldrb r5, [r5, #0] 70036b86: fb03 c101 mla r1, r3, r1, ip 70036b8a: fb03 6505 mla r5, r3, r5, r6 70036b8e: 787b ldrb r3, [r7, #1] 70036b90: 9e0a ldr r6, [sp, #40] @ 0x28 70036b92: fb04 2203 mla r2, r4, r3, r2 70036b96: 78bb ldrb r3, [r7, #2] 70036b98: fb04 1303 mla r3, r4, r3, r1 70036b9c: 7839 ldrb r1, [r7, #0] 70036b9e: 9f0c ldr r7, [sp, #48] @ 0x30 70036ba0: f3c2 2207 ubfx r2, r2, #8, #8 70036ba4: fb04 5501 mla r5, r4, r1, r5 70036ba8: f810 1c08 ldrb.w r1, [r0, #-8] 70036bac: f810 4c07 ldrb.w r4, [r0, #-7] 70036bb0: fb12 f206 smulbb r2, r2, r6 70036bb4: f3c5 2507 ubfx r5, r5, #8, #8 70036bb8: f3c3 2307 ubfx r3, r3, #8, #8 70036bbc: fb11 f107 smulbb r1, r1, r7 70036bc0: fb04 2207 mla r2, r4, r7, r2 70036bc4: fb13 f306 smulbb r3, r3, r6 70036bc8: f810 4c06 ldrb.w r4, [r0, #-6] 70036bcc: fb05 1106 mla r1, r5, r6, r1 70036bd0: b292 uxth r2, r2 70036bd2: fb04 3307 mla r3, r4, r7, r3 70036bd6: b289 uxth r1, r1 70036bd8: b29b uxth r3, r3 70036bda: 1c4c adds r4, r1, #1 70036bdc: eb04 2411 add.w r4, r4, r1, lsr #8 70036be0: 1c51 adds r1, r2, #1 70036be2: eb01 2112 add.w r1, r1, r2, lsr #8 70036be6: 1c5a adds r2, r3, #1 70036be8: 1224 asrs r4, r4, #8 70036bea: eb02 2213 add.w r2, r2, r3, lsr #8 70036bee: 9b08 ldr r3, [sp, #32] 70036bf0: 1209 asrs r1, r1, #8 70036bf2: f800 4c08 strb.w r4, [r0, #-8] 70036bf6: 1212 asrs r2, r2, #8 70036bf8: f800 1c07 strb.w r1, [r0, #-7] 70036bfc: f800 2c06 strb.w r2, [r0, #-6] 70036c00: b32b cbz r3, 70036c4e <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2ea> 70036c02: 3b01 subs r3, #1 70036c04: 9308 str r3, [sp, #32] 70036c06: 9b26 ldr r3, [sp, #152] @ 0x98 70036c08: f9b3 8008 ldrsh.w r8, [r3, #8] 70036c0c: ea4f 422a mov.w r2, sl, asr #16 70036c10: f41b 4f70 tst.w fp, #61440 @ 0xf000 70036c14: ea4f 442b mov.w r4, fp, asr #16 70036c18: f3ca 3303 ubfx r3, sl, #12, #4 70036c1c: f3cb 3103 ubfx r1, fp, #12, #4 70036c20: fb08 4402 mla r4, r8, r2, r4 70036c24: 9a0b ldr r2, [sp, #44] @ 0x2c 70036c26: 5d16 ldrb r6, [r2, r4] 70036c28: 4414 add r4, r2 70036c2a: eb06 0646 add.w r6, r6, r6, lsl #1 70036c2e: eb09 0c06 add.w ip, r9, r6 70036c32: f47f af63 bne.w 70036afc <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x198> 70036c36: 4667 mov r7, ip 70036c38: b133 cbz r3, 70036c48 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2e4> 70036c3a: f814 5008 ldrb.w r5, [r4, r8] 70036c3e: 4662 mov r2, ip 70036c40: eb05 0545 add.w r5, r5, r5, lsl #1 70036c44: 444d add r5, r9 70036c46: e76c b.n 70036b22 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1be> 70036c48: 4665 mov r5, ip 70036c4a: 4662 mov r2, ip 70036c4c: e769 b.n 70036b22 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1be> 70036c4e: e9dd 9e0f ldrd r9, lr, [sp, #60] @ 0x3c 70036c52: 9a11 ldr r2, [sp, #68] @ 0x44 70036c54: eb09 0982 add.w r9, r9, r2, lsl #2 70036c58: e6e3 b.n 70036a22 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xbe> 70036c5a: 2a00 cmp r2, #0 70036c5c: f77f aee1 ble.w 70036a22 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xbe> 70036c60: ea4f 412b mov.w r1, fp, asr #16 70036c64: ea4f 402a mov.w r0, sl, asr #16 70036c68: f109 0404 add.w r4, r9, #4 70036c6c: f8cd 903c str.w r9, [sp, #60] @ 0x3c 70036c70: f8dd 8098 ldr.w r8, [sp, #152] @ 0x98 70036c74: 46e1 mov r9, ip 70036c76: e9cd ce10 strd ip, lr, [sp, #64] @ 0x40 70036c7a: e0a0 b.n 70036dbe <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x45a> 70036c7c: 1e77 subs r7, r6, #1 70036c7e: 42b8 cmp r0, r7 70036c80: f280 80ab bge.w 70036dda <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x476> 70036c84: 2800 cmp r0, #0 70036c86: f2c0 80a8 blt.w 70036dda <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x476> 70036c8a: b22d sxth r5, r5 70036c8c: 9f0d ldr r7, [sp, #52] @ 0x34 70036c8e: fb00 1005 mla r0, r0, r5, r1 70036c92: 990b ldr r1, [sp, #44] @ 0x2c 70036c94: 5c0e ldrb r6, [r1, r0] 70036c96: 4408 add r0, r1 70036c98: eb06 0646 add.w r6, r6, r6, lsl #1 70036c9c: eb07 0c06 add.w ip, r7, r6 70036ca0: 2a00 cmp r2, #0 70036ca2: f000 80af beq.w 70036e04 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4a0> 70036ca6: 7841 ldrb r1, [r0, #1] 70036ca8: eb01 0141 add.w r1, r1, r1, lsl #1 70036cac: 4439 add r1, r7 70036cae: 2b00 cmp r3, #0 70036cb0: f000 80ba beq.w 70036e28 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4c4> 70036cb4: 1947 adds r7, r0, r5 70036cb6: 5d45 ldrb r5, [r0, r5] 70036cb8: 980d ldr r0, [sp, #52] @ 0x34 70036cba: 787f ldrb r7, [r7, #1] 70036cbc: eb05 0545 add.w r5, r5, r5, lsl #1 70036cc0: eb07 0747 add.w r7, r7, r7, lsl #1 70036cc4: 4405 add r5, r0 70036cc6: 4407 add r7, r0 70036cc8: 9508 str r5, [sp, #32] 70036cca: 980d ldr r0, [sp, #52] @ 0x34 70036ccc: f891 e002 ldrb.w lr, [r1, #2] 70036cd0: 5d80 ldrb r0, [r0, r6] 70036cd2: 784e ldrb r6, [r1, #1] 70036cd4: 9009 str r0, [sp, #36] @ 0x24 70036cd6: fb02 f003 mul.w r0, r2, r3 70036cda: 4635 mov r5, r6 70036cdc: 780e ldrb r6, [r1, #0] 70036cde: f500 7180 add.w r1, r0, #256 @ 0x100 70036ce2: eba1 1102 sub.w r1, r1, r2, lsl #4 70036ce6: ebc0 1202 rsb r2, r0, r2, lsl #4 70036cea: eba1 1103 sub.w r1, r1, r3, lsl #4 70036cee: b292 uxth r2, r2 70036cf0: b289 uxth r1, r1 70036cf2: fb02 f505 mul.w r5, r2, r5 70036cf6: ebc0 1303 rsb r3, r0, r3, lsl #4 70036cfa: fb02 fe0e mul.w lr, r2, lr 70036cfe: fb02 f606 mul.w r6, r2, r6 70036d02: 9a09 ldr r2, [sp, #36] @ 0x24 70036d04: b29b uxth r3, r3 70036d06: fb01 6602 mla r6, r1, r2, r6 70036d0a: f89c 2001 ldrb.w r2, [ip, #1] 70036d0e: f89c c002 ldrb.w ip, [ip, #2] 70036d12: fb01 5202 mla r2, r1, r2, r5 70036d16: 9d08 ldr r5, [sp, #32] 70036d18: fb01 ec0c mla ip, r1, ip, lr 70036d1c: 7869 ldrb r1, [r5, #1] 70036d1e: fb03 2201 mla r2, r3, r1, r2 70036d22: 78a9 ldrb r1, [r5, #2] 70036d24: 782d ldrb r5, [r5, #0] 70036d26: fb03 c101 mla r1, r3, r1, ip 70036d2a: fb03 6505 mla r5, r3, r5, r6 70036d2e: 787b ldrb r3, [r7, #1] 70036d30: 9e0a ldr r6, [sp, #40] @ 0x28 70036d32: fb00 2203 mla r2, r0, r3, r2 70036d36: 78bb ldrb r3, [r7, #2] 70036d38: fb00 1303 mla r3, r0, r3, r1 70036d3c: 7839 ldrb r1, [r7, #0] 70036d3e: 9f0e ldr r7, [sp, #56] @ 0x38 70036d40: f3c2 2207 ubfx r2, r2, #8, #8 70036d44: fb00 5501 mla r5, r0, r1, r5 70036d48: f814 1c04 ldrb.w r1, [r4, #-4] 70036d4c: f814 0c03 ldrb.w r0, [r4, #-3] 70036d50: fb12 f206 smulbb r2, r2, r6 70036d54: f3c5 2507 ubfx r5, r5, #8, #8 70036d58: f3c3 2307 ubfx r3, r3, #8, #8 70036d5c: fb11 f107 smulbb r1, r1, r7 70036d60: fb00 2207 mla r2, r0, r7, r2 70036d64: fb13 f306 smulbb r3, r3, r6 70036d68: f814 0c02 ldrb.w r0, [r4, #-2] 70036d6c: fb05 1106 mla r1, r5, r6, r1 70036d70: b292 uxth r2, r2 70036d72: fb00 3307 mla r3, r0, r7, r3 70036d76: b289 uxth r1, r1 70036d78: b29b uxth r3, r3 70036d7a: 1c48 adds r0, r1, #1 70036d7c: eb00 2111 add.w r1, r0, r1, lsr #8 70036d80: 1209 asrs r1, r1, #8 70036d82: f804 1c04 strb.w r1, [r4, #-4] 70036d86: 1c51 adds r1, r2, #1 70036d88: eb01 2212 add.w r2, r1, r2, lsr #8 70036d8c: 1212 asrs r2, r2, #8 70036d8e: f804 2c03 strb.w r2, [r4, #-3] 70036d92: 1c5a adds r2, r3, #1 70036d94: eb02 2313 add.w r3, r2, r3, lsr #8 70036d98: 121b asrs r3, r3, #8 70036d9a: f804 3c02 strb.w r3, [r4, #-2] 70036d9e: 9b21 ldr r3, [sp, #132] @ 0x84 70036da0: f109 39ff add.w r9, r9, #4294967295 @ 0xffffffff 70036da4: 3404 adds r4, #4 70036da6: 449b add fp, r3 70036da8: f1b9 3fff cmp.w r9, #4294967295 @ 0xffffffff 70036dac: 9b22 ldr r3, [sp, #136] @ 0x88 70036dae: 449a add sl, r3 70036db0: d031 beq.n 70036e16 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4b2> 70036db2: ea4f 412b mov.w r1, fp, asr #16 70036db6: ea4f 402a mov.w r0, sl, asr #16 70036dba: e9d8 5602 ldrd r5, r6, [r8, #8] 70036dbe: 1e6f subs r7, r5, #1 70036dc0: f3cb 3203 ubfx r2, fp, #12, #4 70036dc4: f3ca 3303 ubfx r3, sl, #12, #4 70036dc8: 42b9 cmp r1, r7 70036dca: da02 bge.n 70036dd2 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x46e> 70036dcc: 2900 cmp r1, #0 70036dce: f6bf af55 bge.w 70036c7c <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x318> 70036dd2: 1c4f adds r7, r1, #1 70036dd4: dbe3 blt.n 70036d9e <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x43a> 70036dd6: 42a9 cmp r1, r5 70036dd8: dae1 bge.n 70036d9e <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x43a> 70036dda: 1c47 adds r7, r0, #1 70036ddc: dbdf blt.n 70036d9e <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x43a> 70036dde: 42b0 cmp r0, r6 70036de0: dadd bge.n 70036d9e <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x43a> 70036de2: b236 sxth r6, r6 70036de4: b22d sxth r5, r5 70036de6: 9601 str r6, [sp, #4] 70036de8: 9500 str r5, [sp, #0] 70036dea: e9cd 2304 strd r2, r3, [sp, #16] 70036dee: 9b0a ldr r3, [sp, #40] @ 0x28 70036df0: 9a0b ldr r2, [sp, #44] @ 0x2c 70036df2: 9306 str r3, [sp, #24] 70036df4: 9b0d ldr r3, [sp, #52] @ 0x34 70036df6: e9cd 1002 strd r1, r0, [sp, #8] 70036dfa: 1f21 subs r1, r4, #4 70036dfc: 9812 ldr r0, [sp, #72] @ 0x48 70036dfe: f7ff fcd1 bl 700367a4 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhS4_ssiihhh> 70036e02: e7cc b.n 70036d9e <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x43a> 70036e04: b1a3 cbz r3, 70036e30 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4cc> 70036e06: 5d45 ldrb r5, [r0, r5] 70036e08: eb05 0545 add.w r5, r5, r5, lsl #1 70036e0c: 19e9 adds r1, r5, r7 70036e0e: 4667 mov r7, ip 70036e10: 9108 str r1, [sp, #32] 70036e12: 4661 mov r1, ip 70036e14: e759 b.n 70036cca <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x366> 70036e16: e9dd 9c0f ldrd r9, ip, [sp, #60] @ 0x3c 70036e1a: f8dd e044 ldr.w lr, [sp, #68] @ 0x44 70036e1e: f10c 0301 add.w r3, ip, #1 70036e22: eb09 0983 add.w r9, r9, r3, lsl #2 70036e26: e5fc b.n 70036a22 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xbe> 70036e28: 4667 mov r7, ip 70036e2a: f8cd c020 str.w ip, [sp, #32] 70036e2e: e74c b.n 70036cca <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x366> 70036e30: 4667 mov r7, ip 70036e32: 4661 mov r1, ip 70036e34: f8cd c020 str.w ip, [sp, #32] 70036e38: e747 b.n 70036cca <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x366> 70036e3a: 9d08 ldr r5, [sp, #32] 70036e3c: e636 b.n 70036aac <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x148> 70036e3e: 9d08 ldr r5, [sp, #32] 70036e40: f102 3cff add.w ip, r2, #4294967295 @ 0xffffffff 70036e44: e710 b.n 70036c68 <_ZN8touchgfx12LCDGPU2D_AXI61TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x304> 70036e46: bf00 nop 70036e48 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh>: 70036e48: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 70036e4c: 469c mov ip, r3 70036e4e: f9bd 601c ldrsh.w r6, [sp, #28] 70036e52: f9bd 9020 ldrsh.w r9, [sp, #32] 70036e56: f89d 002c ldrb.w r0, [sp, #44] @ 0x2c 70036e5a: f89d 4030 ldrb.w r4, [sp, #48] @ 0x30 70036e5e: e9dd 3509 ldrd r3, r5, [sp, #36] @ 0x24 70036e62: fb05 3706 mla r7, r5, r6, r3 70036e66: 45a9 cmp r9, r5 70036e68: eb02 0e07 add.w lr, r2, r7 70036e6c: dd66 ble.n 70036f3c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0xf4> 70036e6e: 2d00 cmp r5, #0 70036e70: db64 blt.n 70036f3c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0xf4> 70036e72: 429e cmp r6, r3 70036e74: f340 8081 ble.w 70036f7a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x132> 70036e78: 2b00 cmp r3, #0 70036e7a: db7e blt.n 70036f7a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x132> 70036e7c: 5dd7 ldrb r7, [r2, r7] 70036e7e: eb07 0747 add.w r7, r7, r7, lsl #1 70036e82: 4467 add r7, ip 70036e84: 1c5a adds r2, r3, #1 70036e86: 2800 cmp r0, #0 70036e88: ea6f 0802 mvn.w r8, r2 70036e8c: ea4f 78d8 mov.w r8, r8, lsr #31 70036e90: bf08 it eq 70036e92: f04f 0800 moveq.w r8, #0 70036e96: f1b8 0f00 cmp.w r8, #0 70036e9a: d001 beq.n 70036ea0 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x58> 70036e9c: 4296 cmp r6, r2 70036e9e: dc6e bgt.n 70036f7e <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x136> 70036ea0: 3501 adds r5, #1 70036ea2: 4688 mov r8, r1 70036ea4: 2d00 cmp r5, #0 70036ea6: bfa8 it ge 70036ea8: 45a9 cmpge r9, r5 70036eaa: dc4e bgt.n 70036f4a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x102> 70036eac: 468c mov ip, r1 70036eae: 460d mov r5, r1 70036eb0: fb00 fe04 mul.w lr, r0, r4 70036eb4: f898 6001 ldrb.w r6, [r8, #1] 70036eb8: f898 3000 ldrb.w r3, [r8] 70036ebc: f898 9002 ldrb.w r9, [r8, #2] 70036ec0: ebae 1804 sub.w r8, lr, r4, lsl #4 70036ec4: ebce 1200 rsb r2, lr, r0, lsl #4 70036ec8: f508 7880 add.w r8, r8, #256 @ 0x100 70036ecc: ebce 1404 rsb r4, lr, r4, lsl #4 70036ed0: b292 uxth r2, r2 70036ed2: eba8 1800 sub.w r8, r8, r0, lsl #4 70036ed6: fb02 f303 mul.w r3, r2, r3 70036eda: b2a4 uxth r4, r4 70036edc: fa1f f888 uxth.w r8, r8 70036ee0: fb02 f006 mul.w r0, r2, r6 70036ee4: 783e ldrb r6, [r7, #0] 70036ee6: fb02 f209 mul.w r2, r2, r9 70036eea: fb08 3306 mla r3, r8, r6, r3 70036eee: 787e ldrb r6, [r7, #1] 70036ef0: fb08 0006 mla r0, r8, r6, r0 70036ef4: 78be ldrb r6, [r7, #2] 70036ef6: fb08 2206 mla r2, r8, r6, r2 70036efa: 782e ldrb r6, [r5, #0] 70036efc: fb04 3306 mla r3, r4, r6, r3 70036f00: 786e ldrb r6, [r5, #1] 70036f02: 78ad ldrb r5, [r5, #2] 70036f04: fb04 0006 mla r0, r4, r6, r0 70036f08: fb04 2205 mla r2, r4, r5, r2 70036f0c: f89c 4000 ldrb.w r4, [ip] 70036f10: fb0e 3304 mla r3, lr, r4, r3 70036f14: f89c 4001 ldrb.w r4, [ip, #1] 70036f18: fb0e 0004 mla r0, lr, r4, r0 70036f1c: f89c 4002 ldrb.w r4, [ip, #2] 70036f20: f3c3 2307 ubfx r3, r3, #8, #8 70036f24: fb0e 2204 mla r2, lr, r4, r2 70036f28: f400 407f and.w r0, r0, #65280 @ 0xff00 70036f2c: 0212 lsls r2, r2, #8 70036f2e: 4303 orrs r3, r0 70036f30: f402 027f and.w r2, r2, #16711680 @ 0xff0000 70036f34: 4313 orrs r3, r2 70036f36: 600b str r3, [r1, #0] 70036f38: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 70036f3c: 4688 mov r8, r1 70036f3e: 460f mov r7, r1 70036f40: 3501 adds r5, #1 70036f42: 2d00 cmp r5, #0 70036f44: bfa8 it ge 70036f46: 45a9 cmpge r9, r5 70036f48: ddb0 ble.n 70036eac <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x64> 70036f4a: 2c00 cmp r4, #0 70036f4c: d0ae beq.n 70036eac <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x64> 70036f4e: 2b00 cmp r3, #0 70036f50: db1b blt.n 70036f8a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x142> 70036f52: 429e cmp r6, r3 70036f54: dd19 ble.n 70036f8a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x142> 70036f56: f81e 5006 ldrb.w r5, [lr, r6] 70036f5a: eb05 0545 add.w r5, r5, r5, lsl #1 70036f5e: 4465 add r5, ip 70036f60: 1c5a adds r2, r3, #1 70036f62: 2800 cmp r0, #0 70036f64: ea6f 0302 mvn.w r3, r2 70036f68: ea4f 73d3 mov.w r3, r3, lsr #31 70036f6c: bf08 it eq 70036f6e: 2300 moveq r3, #0 70036f70: b10b cbz r3, 70036f76 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x12e> 70036f72: 4296 cmp r6, r2 70036f74: dc0b bgt.n 70036f8e <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x146> 70036f76: 468c mov ip, r1 70036f78: e79a b.n 70036eb0 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x68> 70036f7a: 460f mov r7, r1 70036f7c: e782 b.n 70036e84 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x3c> 70036f7e: f89e 8001 ldrb.w r8, [lr, #1] 70036f82: eb08 0848 add.w r8, r8, r8, lsl #1 70036f86: 44e0 add r8, ip 70036f88: e7da b.n 70036f40 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0xf8> 70036f8a: 460d mov r5, r1 70036f8c: e7e8 b.n 70036f60 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x118> 70036f8e: 44b6 add lr, r6 70036f90: f89e 3001 ldrb.w r3, [lr, #1] 70036f94: eb03 0343 add.w r3, r3, r3, lsl #1 70036f98: 449c add ip, r3 70036f9a: e789 b.n 70036eb0 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh+0x68> 70036f9c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 70036f9c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70036fa0: b091 sub sp, #68 @ 0x44 70036fa2: 4616 mov r6, r2 70036fa4: 2900 cmp r1, #0 70036fa6: 4689 mov r9, r1 70036fa8: 920f str r2, [sp, #60] @ 0x3c 70036faa: 900e str r0, [sp, #56] @ 0x38 70036fac: 9821 ldr r0, [sp, #132] @ 0x84 70036fae: e9dd 521f ldrd r5, r2, [sp, #124] @ 0x7c 70036fb2: e9dd a81b ldrd sl, r8, [sp, #108] @ 0x6c 70036fb6: 686c ldr r4, [r5, #4] 70036fb8: fb04 2200 mla r2, r4, r0, r2 70036fbc: 6828 ldr r0, [r5, #0] 70036fbe: eb00 0b82 add.w fp, r0, r2, lsl #2 70036fc2: 9822 ldr r0, [sp, #136] @ 0x88 70036fc4: 6842 ldr r2, [r0, #4] 70036fc6: f102 0004 add.w r0, r2, #4 70036fca: 900a str r0, [sp, #40] @ 0x28 70036fcc: 9822 ldr r0, [sp, #136] @ 0x88 70036fce: 6800 ldr r0, [r0, #0] 70036fd0: 9009 str r0, [sp, #36] @ 0x24 70036fd2: dc01 bgt.n 70036fd8 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3c> 70036fd4: 2e00 cmp r6, #0 70036fd6: dd71 ble.n 700370bc <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x120> 70036fd8: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 70036fdc: f8dd c068 ldr.w ip, [sp, #104] @ 0x68 70036fe0: f8cd 902c str.w r9, [sp, #44] @ 0x2c 70036fe4: 9a22 ldr r2, [sp, #136] @ 0x88 70036fe6: 2b00 cmp r3, #0 70036fe8: e9d2 4502 ldrd r4, r5, [r2, #8] 70036fec: fa0f fe84 sxth.w lr, r4 70036ff0: b22e sxth r6, r5 70036ff2: dd68 ble.n 700370c6 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x12a> 70036ff4: 9406 str r4, [sp, #24] 70036ff6: f10e 32ff add.w r2, lr, #4294967295 @ 0xffffffff 70036ffa: 1e77 subs r7, r6, #1 70036ffc: e9dd 491d ldrd r4, r9, [sp, #116] @ 0x74 70037000: e010 b.n 70037024 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x88> 70037002: 42b9 cmp r1, r7 70037004: da02 bge.n 7003700c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x70> 70037006: 2900 cmp r1, #0 70037008: f280 81d8 bge.w 700373bc <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x420> 7003700c: f1b1 3fff cmp.w r1, #4294967295 @ 0xffffffff 70037010: db02 blt.n 70037018 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7c> 70037012: 42b1 cmp r1, r6 70037014: f2c0 81d4 blt.w 700373c0 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x424> 70037018: 3b01 subs r3, #1 7003701a: 44a2 add sl, r4 7003701c: 44c8 add r8, r9 7003701e: f10b 0b04 add.w fp, fp, #4 70037022: d013 beq.n 7003704c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xb0> 70037024: f1ba 0f00 cmp.w sl, #0 70037028: ea4f 4128 mov.w r1, r8, asr #16 7003702c: ea4f 402a mov.w r0, sl, asr #16 70037030: db01 blt.n 70037036 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x9a> 70037032: 4290 cmp r0, r2 70037034: dbe5 blt.n 70037002 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x66> 70037036: f1b0 3fff cmp.w r0, #4294967295 @ 0xffffffff 7003703a: dbed blt.n 70037018 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x7c> 7003703c: 4570 cmp r0, lr 7003703e: dbe5 blt.n 7003700c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x70> 70037040: 3b01 subs r3, #1 70037042: 44a2 add sl, r4 70037044: 44c8 add r8, r9 70037046: f10b 0b04 add.w fp, fp, #4 7003704a: d1eb bne.n 70037024 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x88> 7003704c: 9b0b ldr r3, [sp, #44] @ 0x2c 7003704e: 2b00 cmp r3, #0 70037050: dd34 ble.n 700370bc <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x120> 70037052: eef0 7a62 vmov.f32 s15, s5 70037056: 3b01 subs r3, #1 70037058: ee30 0a04 vadd.f32 s0, s0, s8 7003705c: ee70 0aa4 vadd.f32 s1, s1, s9 70037060: 930b str r3, [sp, #44] @ 0x2c 70037062: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 70037066: ee31 1a05 vadd.f32 s2, s2, s10 7003706a: ee17 aa90 vmov sl, s15 7003706e: eef0 7a43 vmov.f32 s15, s6 70037072: eefe 7ac8 vcvt.s32.f32 s15, s15, #16 70037076: ee17 8a90 vmov r8, s15 7003707a: eec6 7a80 vdiv.f32 s15, s13, s0 7003707e: ee20 7aa7 vmul.f32 s14, s1, s15 70037082: ee61 7a27 vmul.f32 s15, s2, s15 70037086: ee77 2a62 vsub.f32 s5, s14, s5 7003708a: ee37 3ac3 vsub.f32 s6, s15, s6 7003708e: eefe 2ac8 vcvt.s32.f32 s5, s5, #16 70037092: eebe 3ac8 vcvt.s32.f32 s6, s6, #16 70037096: ee12 2a90 vmov r2, s5 7003709a: fb92 f2fc sdiv r2, r2, ip 7003709e: 921d str r2, [sp, #116] @ 0x74 700370a0: ee13 2a10 vmov r2, s6 700370a4: fb92 f2fc sdiv r2, r2, ip 700370a8: 921e str r2, [sp, #120] @ 0x78 700370aa: d10a bne.n 700370c2 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x126> 700370ac: 9b0f ldr r3, [sp, #60] @ 0x3c 700370ae: 2b00 cmp r3, #0 700370b0: dd04 ble.n 700370bc <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x120> 700370b2: eeb0 3a67 vmov.f32 s6, s15 700370b6: eef0 2a47 vmov.f32 s5, s14 700370ba: e793 b.n 70036fe4 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x48> 700370bc: b011 add sp, #68 @ 0x44 700370be: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 700370c2: 4663 mov r3, ip 700370c4: e7f5 b.n 700370b2 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x116> 700370c6: d0c1 beq.n 7003704c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xb0> 700370c8: f10e 32ff add.w r2, lr, #4294967295 @ 0xffffffff 700370cc: f103 39ff add.w r9, r3, #4294967295 @ 0xffffffff 700370d0: 991d ldr r1, [sp, #116] @ 0x74 700370d2: fb01 a109 mla r1, r1, r9, sl 700370d6: ebb2 4f21 cmp.w r2, r1, asr #16 700370da: ea4f 4021 mov.w r0, r1, asr #16 700370de: f340 80ac ble.w 7003723a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x29e> 700370e2: 2800 cmp r0, #0 700370e4: f2c0 80a9 blt.w 7003723a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x29e> 700370e8: 9a1e ldr r2, [sp, #120] @ 0x78 700370ea: 3e01 subs r6, #1 700370ec: fb02 8209 mla r2, r2, r9, r8 700370f0: ebb6 4f22 cmp.w r6, r2, asr #16 700370f4: ea4f 4122 mov.w r1, r2, asr #16 700370f8: f340 809f ble.w 7003723a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x29e> 700370fc: 2900 cmp r1, #0 700370fe: f2c0 809c blt.w 7003723a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x29e> 70037102: 2b00 cmp r3, #0 70037104: dda2 ble.n 7003704c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xb0> 70037106: 464a mov r2, r9 70037108: f8cd b018 str.w fp, [sp, #24] 7003710c: f8cd b030 str.w fp, [sp, #48] @ 0x30 70037110: f8dd 9028 ldr.w r9, [sp, #40] @ 0x28 70037114: 4693 mov fp, r2 70037116: 930d str r3, [sp, #52] @ 0x34 70037118: f8cd c068 str.w ip, [sp, #104] @ 0x68 7003711c: e066 b.n 700371ec <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x250> 7003711e: 7841 ldrb r1, [r0, #1] 70037120: eb00 0c0e add.w ip, r0, lr 70037124: 463e mov r6, r7 70037126: 463c mov r4, r7 70037128: eb01 0141 add.w r1, r1, r1, lsl #1 7003712c: 4449 add r1, r9 7003712e: b14a cbz r2, 70037144 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1a8> 70037130: f810 400e ldrb.w r4, [r0, lr] 70037134: f89c 6001 ldrb.w r6, [ip, #1] 70037138: eb04 0444 add.w r4, r4, r4, lsl #1 7003713c: eb06 0646 add.w r6, r6, r6, lsl #1 70037140: 444c add r4, r9 70037142: 444e add r6, r9 70037144: f819 0005 ldrb.w r0, [r9, r5] 70037148: 9d1d ldr r5, [sp, #116] @ 0x74 7003714a: 9008 str r0, [sp, #32] 7003714c: 44aa add sl, r5 7003714e: fb03 f002 mul.w r0, r3, r2 70037152: 9d1e ldr r5, [sp, #120] @ 0x78 70037154: f891 e002 ldrb.w lr, [r1, #2] 70037158: f891 c001 ldrb.w ip, [r1, #1] 7003715c: 44a8 add r8, r5 7003715e: 780d ldrb r5, [r1, #0] 70037160: f500 7180 add.w r1, r0, #256 @ 0x100 70037164: eba1 1103 sub.w r1, r1, r3, lsl #4 70037168: ebc0 1303 rsb r3, r0, r3, lsl #4 7003716c: eba1 1102 sub.w r1, r1, r2, lsl #4 70037170: b29b uxth r3, r3 70037172: ebc0 1202 rsb r2, r0, r2, lsl #4 70037176: b289 uxth r1, r1 70037178: fb03 f505 mul.w r5, r3, r5 7003717c: fb03 fc0c mul.w ip, r3, ip 70037180: 9207 str r2, [sp, #28] 70037182: fb03 f30e mul.w r3, r3, lr 70037186: 9a08 ldr r2, [sp, #32] 70037188: f897 e001 ldrb.w lr, [r7, #1] 7003718c: 78bf ldrb r7, [r7, #2] 7003718e: fb01 5502 mla r5, r1, r2, r5 70037192: fb01 ce0e mla lr, r1, lr, ip 70037196: f8bd 201c ldrh.w r2, [sp, #28] 7003719a: fb01 3707 mla r7, r1, r7, r3 7003719e: 7823 ldrb r3, [r4, #0] 700371a0: 7861 ldrb r1, [r4, #1] 700371a2: 78a4 ldrb r4, [r4, #2] 700371a4: fb02 5303 mla r3, r2, r3, r5 700371a8: fb02 e101 mla r1, r2, r1, lr 700371ac: fb02 7404 mla r4, r2, r4, r7 700371b0: 7832 ldrb r2, [r6, #0] 700371b2: fb00 3302 mla r3, r0, r2, r3 700371b6: 7872 ldrb r2, [r6, #1] 700371b8: fb00 1202 mla r2, r0, r2, r1 700371bc: 78b1 ldrb r1, [r6, #2] 700371be: f3c3 2307 ubfx r3, r3, #8, #8 700371c2: fb00 4101 mla r1, r0, r1, r4 700371c6: f402 427f and.w r2, r2, #65280 @ 0xff00 700371ca: 0209 lsls r1, r1, #8 700371cc: 431a orrs r2, r3 700371ce: 9b06 ldr r3, [sp, #24] 700371d0: f401 017f and.w r1, r1, #16711680 @ 0xff0000 700371d4: 430a orrs r2, r1 700371d6: f843 2b04 str.w r2, [r3], #4 700371da: 9306 str r3, [sp, #24] 700371dc: f1bb 0f00 cmp.w fp, #0 700371e0: d024 beq.n 7003722c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x290> 700371e2: 9b22 ldr r3, [sp, #136] @ 0x88 700371e4: f10b 3bff add.w fp, fp, #4294967295 @ 0xffffffff 700371e8: f9b3 e008 ldrsh.w lr, [r3, #8] 700371ec: ea4f 4128 mov.w r1, r8, asr #16 700371f0: f41a 4f70 tst.w sl, #61440 @ 0xf000 700371f4: ea4f 402a mov.w r0, sl, asr #16 700371f8: f3c8 3203 ubfx r2, r8, #12, #4 700371fc: f3ca 3303 ubfx r3, sl, #12, #4 70037200: fb0e 0001 mla r0, lr, r1, r0 70037204: 9909 ldr r1, [sp, #36] @ 0x24 70037206: 5c0d ldrb r5, [r1, r0] 70037208: 4408 add r0, r1 7003720a: eb05 0545 add.w r5, r5, r5, lsl #1 7003720e: eb09 0705 add.w r7, r9, r5 70037212: d184 bne.n 7003711e <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x182> 70037214: 463e mov r6, r7 70037216: b132 cbz r2, 70037226 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x28a> 70037218: f810 400e ldrb.w r4, [r0, lr] 7003721c: 4639 mov r1, r7 7003721e: eb04 0444 add.w r4, r4, r4, lsl #1 70037222: 444c add r4, r9 70037224: e78e b.n 70037144 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1a8> 70037226: 463c mov r4, r7 70037228: 4639 mov r1, r7 7003722a: e78b b.n 70037144 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1a8> 7003722c: e9dd b30c ldrd fp, r3, [sp, #48] @ 0x30 70037230: f8dd c068 ldr.w ip, [sp, #104] @ 0x68 70037234: eb0b 0b83 add.w fp, fp, r3, lsl #2 70037238: e708 b.n 7003704c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xb0> 7003723a: 2b00 cmp r3, #0 7003723c: f77f af06 ble.w 7003704c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xb0> 70037240: ea4f 402a mov.w r0, sl, asr #16 70037244: f8cd c068 str.w ip, [sp, #104] @ 0x68 70037248: ea4f 4128 mov.w r1, r8, asr #16 7003724c: e9cd b907 strd fp, r9, [sp, #28] 70037250: e07a b.n 70037348 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3ac> 70037252: 1e6e subs r6, r5, #1 70037254: 42b1 cmp r1, r6 70037256: f280 8085 bge.w 70037364 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3c8> 7003725a: 2900 cmp r1, #0 7003725c: f2c0 8082 blt.w 70037364 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3c8> 70037260: b224 sxth r4, r4 70037262: 9f0a ldr r7, [sp, #40] @ 0x28 70037264: fb01 0004 mla r0, r1, r4, r0 70037268: 9909 ldr r1, [sp, #36] @ 0x24 7003726a: 5c0d ldrb r5, [r1, r0] 7003726c: 4408 add r0, r1 7003726e: eb05 0545 add.w r5, r5, r5, lsl #1 70037272: 1979 adds r1, r7, r5 70037274: 9106 str r1, [sp, #24] 70037276: 2b00 cmp r3, #0 70037278: f000 8087 beq.w 7003738a <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3ee> 7003727c: 7841 ldrb r1, [r0, #1] 7003727e: eb01 0141 add.w r1, r1, r1, lsl #1 70037282: 4439 add r1, r7 70037284: 2a00 cmp r2, #0 70037286: f000 8091 beq.w 700373ac <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x410> 7003728a: 1906 adds r6, r0, r4 7003728c: 5d04 ldrb r4, [r0, r4] 7003728e: 4638 mov r0, r7 70037290: 7876 ldrb r6, [r6, #1] 70037292: eb04 0444 add.w r4, r4, r4, lsl #1 70037296: eb06 0646 add.w r6, r6, r6, lsl #1 7003729a: 443c add r4, r7 7003729c: 443e add r6, r7 7003729e: 5d40 ldrb r0, [r0, r5] 700372a0: f891 e002 ldrb.w lr, [r1, #2] 700372a4: 4607 mov r7, r0 700372a6: fb03 f002 mul.w r0, r3, r2 700372aa: 780d ldrb r5, [r1, #0] 700372ac: f891 c001 ldrb.w ip, [r1, #1] 700372b0: f500 7180 add.w r1, r0, #256 @ 0x100 700372b4: eba1 1103 sub.w r1, r1, r3, lsl #4 700372b8: ebc0 1303 rsb r3, r0, r3, lsl #4 700372bc: eba1 1102 sub.w r1, r1, r2, lsl #4 700372c0: b29b uxth r3, r3 700372c2: b289 uxth r1, r1 700372c4: fb03 f505 mul.w r5, r3, r5 700372c8: ebc0 1202 rsb r2, r0, r2, lsl #4 700372cc: fb03 fc0c mul.w ip, r3, ip 700372d0: fb01 5507 mla r5, r1, r7, r5 700372d4: 9f06 ldr r7, [sp, #24] 700372d6: fb03 f30e mul.w r3, r3, lr 700372da: b292 uxth r2, r2 700372dc: f897 e001 ldrb.w lr, [r7, #1] 700372e0: 78bf ldrb r7, [r7, #2] 700372e2: fb01 ce0e mla lr, r1, lr, ip 700372e6: fb01 3707 mla r7, r1, r7, r3 700372ea: 7823 ldrb r3, [r4, #0] 700372ec: 7861 ldrb r1, [r4, #1] 700372ee: 78a4 ldrb r4, [r4, #2] 700372f0: fb02 5303 mla r3, r2, r3, r5 700372f4: fb02 e101 mla r1, r2, r1, lr 700372f8: fb02 7404 mla r4, r2, r4, r7 700372fc: 7832 ldrb r2, [r6, #0] 700372fe: fb00 3302 mla r3, r0, r2, r3 70037302: 7872 ldrb r2, [r6, #1] 70037304: fb00 1202 mla r2, r0, r2, r1 70037308: 78b1 ldrb r1, [r6, #2] 7003730a: f3c3 2307 ubfx r3, r3, #8, #8 7003730e: fb00 4101 mla r1, r0, r1, r4 70037312: f402 427f and.w r2, r2, #65280 @ 0xff00 70037316: 0209 lsls r1, r1, #8 70037318: 431a orrs r2, r3 7003731a: f401 017f and.w r1, r1, #16711680 @ 0xff0000 7003731e: 430a orrs r2, r1 70037320: f8cb 2000 str.w r2, [fp] 70037324: 9b1d ldr r3, [sp, #116] @ 0x74 70037326: f109 39ff add.w r9, r9, #4294967295 @ 0xffffffff 7003732a: f10b 0b04 add.w fp, fp, #4 7003732e: 449a add sl, r3 70037330: f1b9 3fff cmp.w r9, #4294967295 @ 0xffffffff 70037334: 9b1e ldr r3, [sp, #120] @ 0x78 70037336: 4498 add r8, r3 70037338: d030 beq.n 7003739c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x400> 7003733a: 9b22 ldr r3, [sp, #136] @ 0x88 7003733c: ea4f 402a mov.w r0, sl, asr #16 70037340: ea4f 4128 mov.w r1, r8, asr #16 70037344: e9d3 4502 ldrd r4, r5, [r3, #8] 70037348: 1e66 subs r6, r4, #1 7003734a: f3ca 3303 ubfx r3, sl, #12, #4 7003734e: f3c8 3203 ubfx r2, r8, #12, #4 70037352: 42b0 cmp r0, r6 70037354: da02 bge.n 7003735c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3c0> 70037356: 2800 cmp r0, #0 70037358: f6bf af7b bge.w 70037252 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2b6> 7003735c: 1c47 adds r7, r0, #1 7003735e: dbe1 blt.n 70037324 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x388> 70037360: 42a0 cmp r0, r4 70037362: dadf bge.n 70037324 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x388> 70037364: 1c4e adds r6, r1, #1 70037366: dbdd blt.n 70037324 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x388> 70037368: 42a9 cmp r1, r5 7003736a: dadb bge.n 70037324 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x388> 7003736c: b22d sxth r5, r5 7003736e: b224 sxth r4, r4 70037370: 9501 str r5, [sp, #4] 70037372: 9400 str r4, [sp, #0] 70037374: e9cd 0102 strd r0, r1, [sp, #8] 70037378: e9cd 3204 strd r3, r2, [sp, #16] 7003737c: 4659 mov r1, fp 7003737e: 980e ldr r0, [sp, #56] @ 0x38 70037380: e9dd 2309 ldrd r2, r3, [sp, #36] @ 0x24 70037384: f7ff fd60 bl 70036e48 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhS4_ssiihh> 70037388: e7cc b.n 70037324 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x388> 7003738a: b19a cbz r2, 700373b4 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x418> 7003738c: 5d04 ldrb r4, [r0, r4] 7003738e: 4638 mov r0, r7 70037390: 9906 ldr r1, [sp, #24] 70037392: eb04 0444 add.w r4, r4, r4, lsl #1 70037396: 460e mov r6, r1 70037398: 443c add r4, r7 7003739a: e780 b.n 7003729e <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x302> 7003739c: e9dd 3707 ldrd r3, r7, [sp, #28] 700373a0: f8dd c068 ldr.w ip, [sp, #104] @ 0x68 700373a4: 3701 adds r7, #1 700373a6: eb03 0b87 add.w fp, r3, r7, lsl #2 700373aa: e64f b.n 7003704c <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xb0> 700373ac: 9c06 ldr r4, [sp, #24] 700373ae: 4638 mov r0, r7 700373b0: 4626 mov r6, r4 700373b2: e774 b.n 7003729e <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x302> 700373b4: 460e mov r6, r1 700373b6: 460c mov r4, r1 700373b8: 4638 mov r0, r7 700373ba: e770 b.n 7003729e <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x302> 700373bc: 9c06 ldr r4, [sp, #24] 700373be: e685 b.n 700370cc <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x130> 700373c0: f103 39ff add.w r9, r3, #4294967295 @ 0xffffffff 700373c4: 9c06 ldr r4, [sp, #24] 700373c6: f8cd c068 str.w ip, [sp, #104] @ 0x68 700373ca: e9cd b907 strd fp, r9, [sp, #28] 700373ce: e7bb b.n 70037348 <_ZN8touchgfx12LCDGPU2D_AXI63TextureMapper_32BPP_L8_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3ac> 700373d0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh>: 700373d0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700373d4: b087 sub sp, #28 700373d6: 4698 mov r8, r3 700373d8: f89d 5050 ldrb.w r5, [sp, #80] @ 0x50 700373dc: f89d 6054 ldrb.w r6, [sp, #84] @ 0x54 700373e0: 9813 ldr r0, [sp, #76] @ 0x4c 700373e2: fb05 f406 mul.w r4, r5, r6 700373e6: f9bd 7040 ldrsh.w r7, [sp, #64] @ 0x40 700373ea: 9103 str r1, [sp, #12] 700373ec: ea4f 1c06 mov.w ip, r6, lsl #4 700373f0: eba4 1e06 sub.w lr, r4, r6, lsl #4 700373f4: 9912 ldr r1, [sp, #72] @ 0x48 700373f6: f9bd 9044 ldrsh.w r9, [sp, #68] @ 0x44 700373fa: f50e 7e80 add.w lr, lr, #256 @ 0x100 700373fe: 9305 str r3, [sp, #20] 70037400: fb00 1307 mla r3, r0, r7, r1 70037404: 4581 cmp r9, r0 70037406: ebae 1e05 sub.w lr, lr, r5, lsl #4 7003740a: f89d b058 ldrb.w fp, [sp, #88] @ 0x58 7003740e: fa1f f18e uxth.w r1, lr 70037412: ebc4 1e05 rsb lr, r4, r5, lsl #4 70037416: 9101 str r1, [sp, #4] 70037418: eb02 0103 add.w r1, r2, r3 7003741c: fa1f fe8e uxth.w lr, lr 70037420: 9104 str r1, [sp, #16] 70037422: f8cd e008 str.w lr, [sp, #8] 70037426: dd25 ble.n 70037474 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0xa4> 70037428: 2800 cmp r0, #0 7003742a: db23 blt.n 70037474 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0xa4> 7003742c: 9912 ldr r1, [sp, #72] @ 0x48 7003742e: 428f cmp r7, r1 70037430: f340 812b ble.w 7003768a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x2ba> 70037434: 2900 cmp r1, #0 70037436: f2c0 8128 blt.w 7003768a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x2ba> 7003743a: 5cd3 ldrb r3, [r2, r3] 7003743c: 9901 ldr r1, [sp, #4] 7003743e: f858 2023 ldr.w r2, [r8, r3, lsl #2] 70037442: ea4f 6a12 mov.w sl, r2, lsr #24 70037446: fb01 fe0a mul.w lr, r1, sl 7003744a: 9b12 ldr r3, [sp, #72] @ 0x48 7003744c: 2d00 cmp r5, #0 7003744e: f103 0301 add.w r3, r3, #1 70037452: ea6f 0803 mvn.w r8, r3 70037456: ea4f 78d8 mov.w r8, r8, lsr #31 7003745a: bf08 it eq 7003745c: f04f 0800 moveq.w r8, #0 70037460: f1b8 0f00 cmp.w r8, #0 70037464: d002 beq.n 7003746c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x9c> 70037466: 429f cmp r7, r3 70037468: f300 8114 bgt.w 70037694 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x2c4> 7003746c: f04f 0800 mov.w r8, #0 70037470: 4643 mov r3, r8 70037472: e005 b.n 70037480 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0xb0> 70037474: f04f 0e00 mov.w lr, #0 70037478: 46f0 mov r8, lr 7003747a: 46f2 mov sl, lr 7003747c: 4672 mov r2, lr 7003747e: 4673 mov r3, lr 70037480: 3001 adds r0, #1 70037482: ebac 0c04 sub.w ip, ip, r4 70037486: 2800 cmp r0, #0 70037488: bfa8 it ge 7003748a: 4581 cmpge r9, r0 7003748c: fa1f fc8c uxth.w ip, ip 70037490: dd02 ble.n 70037498 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0xc8> 70037492: 2e00 cmp r6, #0 70037494: f040 80db bne.w 7003764e <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x27e> 70037498: 2600 movs r6, #0 7003749a: 46b1 mov r9, r6 7003749c: 4635 mov r5, r6 7003749e: 4630 mov r0, r6 700374a0: f41e 4f7f tst.w lr, #65280 @ 0xff00 700374a4: f3ce 2707 ubfx r7, lr, #8, #8 700374a8: f000 80ce beq.w 70037648 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x278> 700374ac: f1ba 0fff cmp.w sl, #255 @ 0xff 700374b0: d01c beq.n 700374ec <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x11c> 700374b2: f002 1eff and.w lr, r2, #16711935 @ 0xff00ff 700374b6: f402 427f and.w r2, r2, #65280 @ 0xff00 700374ba: fb0a fe0e mul.w lr, sl, lr 700374be: fb0a f202 mul.w r2, sl, r2 700374c2: ea4f 2a1e mov.w sl, lr, lsr #8 700374c6: f10e 1e01 add.w lr, lr, #65537 @ 0x10001 700374ca: f00a 1aff and.w sl, sl, #16711935 @ 0xff00ff 700374ce: 44f2 add sl, lr 700374d0: ea4f 2e1a mov.w lr, sl, lsr #8 700374d4: f502 7a80 add.w sl, r2, #256 @ 0x100 700374d8: eb0a 2a12 add.w sl, sl, r2, lsr #8 700374dc: f00e 1eff and.w lr, lr, #16711935 @ 0xff00ff 700374e0: ea4f 2a1a mov.w sl, sl, lsr #8 700374e4: f40a 4a7f and.w sl, sl, #65280 @ 0xff00 700374e8: ea4e 020a orr.w r2, lr, sl 700374ec: f1b8 0fff cmp.w r8, #255 @ 0xff 700374f0: d01c beq.n 7003752c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x15c> 700374f2: f003 1eff and.w lr, r3, #16711935 @ 0xff00ff 700374f6: f403 437f and.w r3, r3, #65280 @ 0xff00 700374fa: fb08 fe0e mul.w lr, r8, lr 700374fe: fb08 f303 mul.w r3, r8, r3 70037502: ea4f 281e mov.w r8, lr, lsr #8 70037506: f10e 1e01 add.w lr, lr, #65537 @ 0x10001 7003750a: f008 18ff and.w r8, r8, #16711935 @ 0xff00ff 7003750e: 44f0 add r8, lr 70037510: ea4f 2e18 mov.w lr, r8, lsr #8 70037514: f503 7880 add.w r8, r3, #256 @ 0x100 70037518: eb08 2813 add.w r8, r8, r3, lsr #8 7003751c: f00e 1eff and.w lr, lr, #16711935 @ 0xff00ff 70037520: ea4f 2818 mov.w r8, r8, lsr #8 70037524: f408 487f and.w r8, r8, #65280 @ 0xff00 70037528: ea4e 0308 orr.w r3, lr, r8 7003752c: f1b9 0fff cmp.w r9, #255 @ 0xff 70037530: d01b beq.n 7003756a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x19a> 70037532: f000 1eff and.w lr, r0, #16711935 @ 0xff00ff 70037536: f400 407f and.w r0, r0, #65280 @ 0xff00 7003753a: fb09 fe0e mul.w lr, r9, lr 7003753e: fb09 f800 mul.w r8, r9, r0 70037542: ea4f 201e mov.w r0, lr, lsr #8 70037546: f10e 1901 add.w r9, lr, #65537 @ 0x10001 7003754a: f000 1eff and.w lr, r0, #16711935 @ 0xff00ff 7003754e: f508 7080 add.w r0, r8, #256 @ 0x100 70037552: 44ce add lr, r9 70037554: eb00 2018 add.w r0, r0, r8, lsr #8 70037558: ea4f 2e1e mov.w lr, lr, lsr #8 7003755c: 0a00 lsrs r0, r0, #8 7003755e: f00e 1eff and.w lr, lr, #16711935 @ 0xff00ff 70037562: f400 407f and.w r0, r0, #65280 @ 0xff00 70037566: ea4e 0000 orr.w r0, lr, r0 7003756a: 2eff cmp r6, #255 @ 0xff 7003756c: d019 beq.n 700375a2 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x1d2> 7003756e: f005 18ff and.w r8, r5, #16711935 @ 0xff00ff 70037572: f405 457f and.w r5, r5, #65280 @ 0xff00 70037576: fb06 f808 mul.w r8, r6, r8 7003757a: fb06 fe05 mul.w lr, r6, r5 7003757e: ea4f 2618 mov.w r6, r8, lsr #8 70037582: f108 1801 add.w r8, r8, #65537 @ 0x10001 70037586: f50e 7580 add.w r5, lr, #256 @ 0x100 7003758a: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 7003758e: eb05 251e add.w r5, r5, lr, lsr #8 70037592: 4446 add r6, r8 70037594: 0a2d lsrs r5, r5, #8 70037596: 0a36 lsrs r6, r6, #8 70037598: f405 457f and.w r5, r5, #65280 @ 0xff00 7003759c: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 700375a0: 4335 orrs r5, r6 700375a2: 9902 ldr r1, [sp, #8] 700375a4: f003 16ff and.w r6, r3, #16711935 @ 0xff00ff 700375a8: f403 437f and.w r3, r3, #65280 @ 0xff00 700375ac: f002 1eff and.w lr, r2, #16711935 @ 0xff00ff 700375b0: fb01 f606 mul.w r6, r1, r6 700375b4: f402 427f and.w r2, r2, #65280 @ 0xff00 700375b8: fb01 f303 mul.w r3, r1, r3 700375bc: 9901 ldr r1, [sp, #4] 700375be: fb07 f70b mul.w r7, r7, fp 700375c2: fb01 3302 mla r3, r1, r2, r3 700375c6: f000 12ff and.w r2, r0, #16711935 @ 0xff00ff 700375ca: fb01 660e mla r6, r1, lr, r6 700375ce: f400 407f and.w r0, r0, #65280 @ 0xff00 700375d2: 9903 ldr r1, [sp, #12] 700375d4: fb0c 3300 mla r3, ip, r0, r3 700375d8: f005 10ff and.w r0, r5, #16711935 @ 0xff00ff 700375dc: fb0c 6202 mla r2, ip, r2, r6 700375e0: f405 457f and.w r5, r5, #65280 @ 0xff00 700375e4: fb04 2200 mla r2, r4, r0, r2 700375e8: 1c78 adds r0, r7, #1 700375ea: f3c7 270f ubfx r7, r7, #8, #16 700375ee: fb04 3305 mla r3, r4, r5, r3 700375f2: f3c2 2407 ubfx r4, r2, #8, #8 700375f6: 780d ldrb r5, [r1, #0] 700375f8: fa17 f080 uxtah r0, r7, r0 700375fc: f3c3 4307 ubfx r3, r3, #16, #8 70037600: fb14 f40b smulbb r4, r4, fp 70037604: 0e12 lsrs r2, r2, #24 70037606: fb13 f30b smulbb r3, r3, fp 7003760a: ea6f 2020 mvn.w r0, r0, asr #8 7003760e: fb12 f20b smulbb r2, r2, fp 70037612: b2c0 uxtb r0, r0 70037614: fb05 4400 mla r4, r5, r0, r4 70037618: 784d ldrb r5, [r1, #1] 7003761a: fb05 3300 mla r3, r5, r0, r3 7003761e: 788d ldrb r5, [r1, #2] 70037620: b2a4 uxth r4, r4 70037622: fb05 2200 mla r2, r5, r0, r2 70037626: b29b uxth r3, r3 70037628: b292 uxth r2, r2 7003762a: 1c50 adds r0, r2, #1 7003762c: eb00 2212 add.w r2, r0, r2, lsr #8 70037630: 1212 asrs r2, r2, #8 70037632: 708a strb r2, [r1, #2] 70037634: 1c62 adds r2, r4, #1 70037636: eb02 2014 add.w r0, r2, r4, lsr #8 7003763a: 1c5a adds r2, r3, #1 7003763c: eb02 2313 add.w r3, r2, r3, lsr #8 70037640: 1202 asrs r2, r0, #8 70037642: 121b asrs r3, r3, #8 70037644: 700a strb r2, [r1, #0] 70037646: 704b strb r3, [r1, #1] 70037648: b007 add sp, #28 7003764a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7003764e: 9912 ldr r1, [sp, #72] @ 0x48 70037650: 2900 cmp r1, #0 70037652: db2a blt.n 700376aa <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x2da> 70037654: 428f cmp r7, r1 70037656: dd28 ble.n 700376aa <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x2da> 70037658: 9904 ldr r1, [sp, #16] 7003765a: 5dc8 ldrb r0, [r1, r7] 7003765c: 9905 ldr r1, [sp, #20] 7003765e: f851 0020 ldr.w r0, [r1, r0, lsl #2] 70037662: ea4f 6910 mov.w r9, r0, lsr #24 70037666: fb0c ee09 mla lr, ip, r9, lr 7003766a: 9912 ldr r1, [sp, #72] @ 0x48 7003766c: 2d00 cmp r5, #0 7003766e: f101 0601 add.w r6, r1, #1 70037672: ea6f 0106 mvn.w r1, r6 70037676: ea4f 71d1 mov.w r1, r1, lsr #31 7003767a: bf08 it eq 7003767c: 2100 moveq r1, #0 7003767e: b109 cbz r1, 70037684 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x2b4> 70037680: 42b7 cmp r7, r6 70037682: dc16 bgt.n 700376b2 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x2e2> 70037684: 2600 movs r6, #0 70037686: 4635 mov r5, r6 70037688: e70a b.n 700374a0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0xd0> 7003768a: f04f 0e00 mov.w lr, #0 7003768e: 46f2 mov sl, lr 70037690: 4672 mov r2, lr 70037692: e6da b.n 7003744a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x7a> 70037694: 9b04 ldr r3, [sp, #16] 70037696: 9905 ldr r1, [sp, #20] 70037698: 785b ldrb r3, [r3, #1] 7003769a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 7003769e: 9902 ldr r1, [sp, #8] 700376a0: ea4f 6813 mov.w r8, r3, lsr #24 700376a4: fb01 ee08 mla lr, r1, r8, lr 700376a8: e6ea b.n 70037480 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0xb0> 700376aa: f04f 0900 mov.w r9, #0 700376ae: 4648 mov r0, r9 700376b0: e7db b.n 7003766a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0x29a> 700376b2: 9d04 ldr r5, [sp, #16] 700376b4: 9905 ldr r1, [sp, #20] 700376b6: 443d add r5, r7 700376b8: 786d ldrb r5, [r5, #1] 700376ba: f851 5025 ldr.w r5, [r1, r5, lsl #2] 700376be: 0e2e lsrs r6, r5, #24 700376c0: fb04 ee06 mla lr, r4, r6, lr 700376c4: e6ec b.n 700374a0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh+0xd0> 700376c6: bf00 nop 700376c8 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 700376c8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 700376cc: b09f sub sp, #124 @ 0x7c 700376ce: 4616 mov r6, r2 700376d0: 468b mov fp, r1 700376d2: 921d str r2, [sp, #116] @ 0x74 700376d4: 992f ldr r1, [sp, #188] @ 0xbc 700376d6: f1bb 0f00 cmp.w fp, #0 700376da: 901c str r0, [sp, #112] @ 0x70 700376dc: f8dd 90ac ldr.w r9, [sp, #172] @ 0xac 700376e0: e9dd 422d ldrd r4, r2, [sp, #180] @ 0xb4 700376e4: 6860 ldr r0, [r4, #4] 700376e6: fb00 2201 mla r2, r0, r1, r2 700376ea: 6821 ldr r1, [r4, #0] 700376ec: 9830 ldr r0, [sp, #192] @ 0xc0 700376ee: eb01 0a82 add.w sl, r1, r2, lsl #2 700376f2: f04f 0100 mov.w r1, #0 700376f6: 6842 ldr r2, [r0, #4] 700376f8: 9111 str r1, [sp, #68] @ 0x44 700376fa: f102 0004 add.w r0, r2, #4 700376fe: 9112 str r1, [sp, #72] @ 0x48 70037700: 9114 str r1, [sp, #80] @ 0x50 70037702: 910d str r1, [sp, #52] @ 0x34 70037704: 900a str r0, [sp, #40] @ 0x28 70037706: f89d 00c4 ldrb.w r0, [sp, #196] @ 0xc4 7003770a: e9cd 110b strd r1, r1, [sp, #44] @ 0x2c 7003770e: 9930 ldr r1, [sp, #192] @ 0xc0 70037710: 9010 str r0, [sp, #64] @ 0x40 70037712: 6809 ldr r1, [r1, #0] 70037714: e9dd 4529 ldrd r4, r5, [sp, #164] @ 0xa4 70037718: 910f str r1, [sp, #60] @ 0x3c 7003771a: dc01 bgt.n 70037720 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x58> 7003771c: 2e00 cmp r6, #0 7003771e: dd75 ble.n 7003780c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x144> 70037720: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 70037724: 4657 mov r7, sl 70037726: f8cd 90ac str.w r9, [sp, #172] @ 0xac 7003772a: 9a30 ldr r2, [sp, #192] @ 0xc0 7003772c: 2b00 cmp r3, #0 7003772e: 9930 ldr r1, [sp, #192] @ 0xc0 70037730: 6892 ldr r2, [r2, #8] 70037732: f8d1 c00c ldr.w ip, [r1, #12] 70037736: fa0f fe82 sxth.w lr, r2 7003773a: fa0f f98c sxth.w r9, ip 7003773e: dd6a ble.n 70037816 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14e> 70037740: 9209 str r2, [sp, #36] @ 0x24 70037742: f10e 36ff add.w r6, lr, #4294967295 @ 0xffffffff 70037746: f109 38ff add.w r8, r9, #4294967295 @ 0xffffffff 7003774a: e9dd 2a2b ldrd r2, sl, [sp, #172] @ 0xac 7003774e: e010 b.n 70037772 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xaa> 70037750: 4540 cmp r0, r8 70037752: da02 bge.n 7003775a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 70037754: 2800 cmp r0, #0 70037756: f280 835b bge.w 70037e10 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x748> 7003775a: f1b0 3fff cmp.w r0, #4294967295 @ 0xffffffff 7003775e: db02 blt.n 70037766 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x9e> 70037760: 4548 cmp r0, r9 70037762: f2c0 8357 blt.w 70037e14 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x74c> 70037766: 3b01 subs r3, #1 70037768: 4414 add r4, r2 7003776a: 4455 add r5, sl 7003776c: f107 0704 add.w r7, r7, #4 70037770: d012 beq.n 70037798 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xd0> 70037772: 2c00 cmp r4, #0 70037774: ea4f 4025 mov.w r0, r5, asr #16 70037778: ea4f 4124 mov.w r1, r4, asr #16 7003777c: db01 blt.n 70037782 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xba> 7003777e: 42b1 cmp r1, r6 70037780: dbe6 blt.n 70037750 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x88> 70037782: f1b1 3fff cmp.w r1, #4294967295 @ 0xffffffff 70037786: dbee blt.n 70037766 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x9e> 70037788: 4571 cmp r1, lr 7003778a: dbe6 blt.n 7003775a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x92> 7003778c: 3b01 subs r3, #1 7003778e: 4414 add r4, r2 70037790: 4455 add r5, sl 70037792: f107 0704 add.w r7, r7, #4 70037796: d1ec bne.n 70037772 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xaa> 70037798: f1bb 0f00 cmp.w fp, #0 7003779c: dd36 ble.n 7003780c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x144> 7003779e: ee30 0a04 vadd.f32 s0, s0, s8 700377a2: 9b28 ldr r3, [sp, #160] @ 0xa0 700377a4: ee70 0aa4 vadd.f32 s1, s1, s9 700377a8: f1bb 0b01 subs.w fp, fp, #1 700377ac: ee31 1a05 vadd.f32 s2, s2, s10 700377b0: eec5 7a80 vdiv.f32 s15, s11, s0 700377b4: eef0 3a62 vmov.f32 s7, s5 700377b8: eefe 3ac8 vcvt.s32.f32 s7, s7, #16 700377bc: ee13 4a90 vmov r4, s7 700377c0: eef0 3a43 vmov.f32 s7, s6 700377c4: eefe 3ac8 vcvt.s32.f32 s7, s7, #16 700377c8: ee20 6aa7 vmul.f32 s12, s1, s15 700377cc: ee61 7a27 vmul.f32 s15, s2, s15 700377d0: ee13 5a90 vmov r5, s7 700377d4: ee76 6a62 vsub.f32 s13, s12, s5 700377d8: ee37 7ac3 vsub.f32 s14, s15, s6 700377dc: eefe 6ac8 vcvt.s32.f32 s13, s13, #16 700377e0: eebe 7ac8 vcvt.s32.f32 s14, s14, #16 700377e4: ee16 2a90 vmov r2, s13 700377e8: fb92 f3f3 sdiv r3, r2, r3 700377ec: ee17 2a10 vmov r2, s14 700377f0: 932b str r3, [sp, #172] @ 0xac 700377f2: 9b28 ldr r3, [sp, #160] @ 0xa0 700377f4: fb92 f3f3 sdiv r3, r2, r3 700377f8: 932c str r3, [sp, #176] @ 0xb0 700377fa: d10a bne.n 70037812 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14a> 700377fc: 9b1d ldr r3, [sp, #116] @ 0x74 700377fe: 2b00 cmp r3, #0 70037800: dd04 ble.n 7003780c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x144> 70037802: eeb0 3a67 vmov.f32 s6, s15 70037806: eef0 2a46 vmov.f32 s5, s12 7003780a: e78e b.n 7003772a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x62> 7003780c: b01f add sp, #124 @ 0x7c 7003780e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70037812: 9b28 ldr r3, [sp, #160] @ 0xa0 70037814: e7f5 b.n 70037802 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x13a> 70037816: d0bf beq.n 70037798 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xd0> 70037818: f10e 36ff add.w r6, lr, #4294967295 @ 0xffffffff 7003781c: f103 3aff add.w sl, r3, #4294967295 @ 0xffffffff 70037820: 992b ldr r1, [sp, #172] @ 0xac 70037822: fb01 410a mla r1, r1, sl, r4 70037826: ebb6 4f21 cmp.w r6, r1, asr #16 7003782a: ea4f 4021 mov.w r0, r1, asr #16 7003782e: f340 8161 ble.w 70037af4 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x42c> 70037832: 2800 cmp r0, #0 70037834: f2c0 815e blt.w 70037af4 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x42c> 70037838: 992c ldr r1, [sp, #176] @ 0xb0 7003783a: f109 39ff add.w r9, r9, #4294967295 @ 0xffffffff 7003783e: fb01 510a mla r1, r1, sl, r5 70037842: ebb9 4f21 cmp.w r9, r1, asr #16 70037846: ea4f 4021 mov.w r0, r1, asr #16 7003784a: f340 8153 ble.w 70037af4 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x42c> 7003784e: 2800 cmp r0, #0 70037850: f2c0 8150 blt.w 70037af4 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x42c> 70037854: 2b00 cmp r3, #0 70037856: dd9f ble.n 70037798 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xd0> 70037858: 46a0 mov r8, r4 7003785a: f8cd a024 str.w sl, [sp, #36] @ 0x24 7003785e: f107 0c04 add.w ip, r7, #4 70037862: 46aa mov sl, r5 70037864: 9c1a ldr r4, [sp, #104] @ 0x68 70037866: 9d1b ldr r5, [sp, #108] @ 0x6c 70037868: 9717 str r7, [sp, #92] @ 0x5c 7003786a: e9cd b318 strd fp, r3, [sp, #96] @ 0x60 7003786e: e119 b.n 70037aa4 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3dc> 70037870: 784c ldrb r4, [r1, #1] 70037872: f856 4024 ldr.w r4, [r6, r4, lsl #2] 70037876: 0e27 lsrs r7, r4, #24 70037878: 970b str r7, [sp, #44] @ 0x2c 7003787a: b173 cbz r3, 7003789a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d2> 7003787c: 4637 mov r7, r6 7003787e: eb01 050e add.w r5, r1, lr 70037882: f811 600e ldrb.w r6, [r1, lr] 70037886: 7869 ldrb r1, [r5, #1] 70037888: f857 5026 ldr.w r5, [r7, r6, lsl #2] 7003788c: f857 6021 ldr.w r6, [r7, r1, lsl #2] 70037890: 0e29 lsrs r1, r5, #24 70037892: 960e str r6, [sp, #56] @ 0x38 70037894: 910c str r1, [sp, #48] @ 0x30 70037896: 0e31 lsrs r1, r6, #24 70037898: 910d str r1, [sp, #52] @ 0x34 7003789a: fb00 fe03 mul.w lr, r0, r3 7003789e: 9e0b ldr r6, [sp, #44] @ 0x2c 700378a0: 9f0c ldr r7, [sp, #48] @ 0x30 700378a2: f50e 7180 add.w r1, lr, #256 @ 0x100 700378a6: eba1 1100 sub.w r1, r1, r0, lsl #4 700378aa: ebce 1000 rsb r0, lr, r0, lsl #4 700378ae: eba1 1103 sub.w r1, r1, r3, lsl #4 700378b2: b280 uxth r0, r0 700378b4: ebce 1303 rsb r3, lr, r3, lsl #4 700378b8: b289 uxth r1, r1 700378ba: fb00 f606 mul.w r6, r0, r6 700378be: b29b uxth r3, r3 700378c0: fb01 660b mla r6, r1, fp, r6 700378c4: fb03 6607 mla r6, r3, r7, r6 700378c8: 9f0d ldr r7, [sp, #52] @ 0x34 700378ca: fb0e 6607 mla r6, lr, r7, r6 700378ce: f416 4f7f tst.w r6, #65280 @ 0xff00 700378d2: f3c6 2907 ubfx r9, r6, #8, #8 700378d6: f000 80d8 beq.w 70037a8a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3c2> 700378da: f1bb 0fff cmp.w fp, #255 @ 0xff 700378de: d01c beq.n 7003791a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x252> 700378e0: f002 16ff and.w r6, r2, #16711935 @ 0xff00ff 700378e4: f402 427f and.w r2, r2, #65280 @ 0xff00 700378e8: fb0b f606 mul.w r6, fp, r6 700378ec: fb0b f202 mul.w r2, fp, r2 700378f0: ea4f 2b16 mov.w fp, r6, lsr #8 700378f4: f106 1601 add.w r6, r6, #65537 @ 0x10001 700378f8: f00b 1bff and.w fp, fp, #16711935 @ 0xff00ff 700378fc: 44b3 add fp, r6 700378fe: ea4f 261b mov.w r6, fp, lsr #8 70037902: f502 7b80 add.w fp, r2, #256 @ 0x100 70037906: eb0b 2b12 add.w fp, fp, r2, lsr #8 7003790a: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 7003790e: ea4f 2b1b mov.w fp, fp, lsr #8 70037912: f40b 4b7f and.w fp, fp, #65280 @ 0xff00 70037916: ea46 020b orr.w r2, r6, fp 7003791a: 9e0b ldr r6, [sp, #44] @ 0x2c 7003791c: 2eff cmp r6, #255 @ 0xff 7003791e: d01b beq.n 70037958 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x290> 70037920: f004 1bff and.w fp, r4, #16711935 @ 0xff00ff 70037924: f404 447f and.w r4, r4, #65280 @ 0xff00 70037928: fb06 fb0b mul.w fp, r6, fp 7003792c: fb06 f404 mul.w r4, r6, r4 70037930: ea4f 261b mov.w r6, fp, lsr #8 70037934: f10b 1b01 add.w fp, fp, #65537 @ 0x10001 70037938: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 7003793c: 445e add r6, fp 7003793e: f504 7b80 add.w fp, r4, #256 @ 0x100 70037942: eb0b 2b14 add.w fp, fp, r4, lsr #8 70037946: 0a36 lsrs r6, r6, #8 70037948: ea4f 2b1b mov.w fp, fp, lsr #8 7003794c: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 70037950: f40b 4b7f and.w fp, fp, #65280 @ 0xff00 70037954: ea46 040b orr.w r4, r6, fp 70037958: 9e0c ldr r6, [sp, #48] @ 0x30 7003795a: 2eff cmp r6, #255 @ 0xff 7003795c: d01b beq.n 70037996 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2ce> 7003795e: f005 1bff and.w fp, r5, #16711935 @ 0xff00ff 70037962: f405 457f and.w r5, r5, #65280 @ 0xff00 70037966: fb06 fb0b mul.w fp, r6, fp 7003796a: fb06 f505 mul.w r5, r6, r5 7003796e: ea4f 261b mov.w r6, fp, lsr #8 70037972: f10b 1b01 add.w fp, fp, #65537 @ 0x10001 70037976: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 7003797a: 445e add r6, fp 7003797c: f505 7b80 add.w fp, r5, #256 @ 0x100 70037980: eb0b 2b15 add.w fp, fp, r5, lsr #8 70037984: 0a36 lsrs r6, r6, #8 70037986: ea4f 2b1b mov.w fp, fp, lsr #8 7003798a: f006 16ff and.w r6, r6, #16711935 @ 0xff00ff 7003798e: f40b 4b7f and.w fp, fp, #65280 @ 0xff00 70037992: ea46 050b orr.w r5, r6, fp 70037996: 9e0d ldr r6, [sp, #52] @ 0x34 70037998: 2eff cmp r6, #255 @ 0xff 7003799a: d01d beq.n 700379d8 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x310> 7003799c: 9f0e ldr r7, [sp, #56] @ 0x38 7003799e: f007 1bff and.w fp, r7, #16711935 @ 0xff00ff 700379a2: f407 477f and.w r7, r7, #65280 @ 0xff00 700379a6: fb06 fb0b mul.w fp, r6, fp 700379aa: fb06 f607 mul.w r6, r6, r7 700379ae: ea4f 271b mov.w r7, fp, lsr #8 700379b2: f10b 1b01 add.w fp, fp, #65537 @ 0x10001 700379b6: f007 17ff and.w r7, r7, #16711935 @ 0xff00ff 700379ba: 445f add r7, fp 700379bc: f506 7b80 add.w fp, r6, #256 @ 0x100 700379c0: eb0b 2b16 add.w fp, fp, r6, lsr #8 700379c4: 0a3f lsrs r7, r7, #8 700379c6: ea4f 2b1b mov.w fp, fp, lsr #8 700379ca: f007 17ff and.w r7, r7, #16711935 @ 0xff00ff 700379ce: f40b 4b7f and.w fp, fp, #65280 @ 0xff00 700379d2: ea47 060b orr.w r6, r7, fp 700379d6: 960e str r6, [sp, #56] @ 0x38 700379d8: f004 16ff and.w r6, r4, #16711935 @ 0xff00ff 700379dc: f404 4b7f and.w fp, r4, #65280 @ 0xff00 700379e0: 9f10 ldr r7, [sp, #64] @ 0x40 700379e2: fb00 f606 mul.w r6, r0, r6 700379e6: fb00 fb0b mul.w fp, r0, fp 700379ea: f002 10ff and.w r0, r2, #16711935 @ 0xff00ff 700379ee: f402 427f and.w r2, r2, #65280 @ 0xff00 700379f2: fb09 f907 mul.w r9, r9, r7 700379f6: fb01 6000 mla r0, r1, r0, r6 700379fa: f81c 6c04 ldrb.w r6, [ip, #-4] 700379fe: fb01 b202 mla r2, r1, r2, fp 70037a02: f005 11ff and.w r1, r5, #16711935 @ 0xff00ff 70037a06: fb03 0001 mla r0, r3, r1, r0 70037a0a: f405 417f and.w r1, r5, #65280 @ 0xff00 70037a0e: fb03 2101 mla r1, r3, r1, r2 70037a12: 9a0e ldr r2, [sp, #56] @ 0x38 70037a14: f002 13ff and.w r3, r2, #16711935 @ 0xff00ff 70037a18: f402 427f and.w r2, r2, #65280 @ 0xff00 70037a1c: fb0e 1102 mla r1, lr, r2, r1 70037a20: f109 0201 add.w r2, r9, #1 70037a24: f3c9 290f ubfx r9, r9, #8, #16 70037a28: fb0e 0303 mla r3, lr, r3, r0 70037a2c: f3c1 4007 ubfx r0, r1, #16, #8 70037a30: fa19 f282 uxtah r2, r9, r2 70037a34: f3c3 2107 ubfx r1, r3, #8, #8 70037a38: fb10 f007 smulbb r0, r0, r7 70037a3c: 0e1b lsrs r3, r3, #24 70037a3e: fb11 f107 smulbb r1, r1, r7 70037a42: ea6f 2222 mvn.w r2, r2, asr #8 70037a46: fb13 f307 smulbb r3, r3, r7 70037a4a: b2d2 uxtb r2, r2 70037a4c: fb06 1102 mla r1, r6, r2, r1 70037a50: f81c 6c03 ldrb.w r6, [ip, #-3] 70037a54: b289 uxth r1, r1 70037a56: fb06 0002 mla r0, r6, r2, r0 70037a5a: f81c 6c02 ldrb.w r6, [ip, #-2] 70037a5e: b280 uxth r0, r0 70037a60: fb06 3302 mla r3, r6, r2, r3 70037a64: 1c4a adds r2, r1, #1 70037a66: eb02 2211 add.w r2, r2, r1, lsr #8 70037a6a: b29b uxth r3, r3 70037a6c: 1212 asrs r2, r2, #8 70037a6e: f80c 2c04 strb.w r2, [ip, #-4] 70037a72: 1c42 adds r2, r0, #1 70037a74: eb02 2210 add.w r2, r2, r0, lsr #8 70037a78: 1212 asrs r2, r2, #8 70037a7a: f80c 2c03 strb.w r2, [ip, #-3] 70037a7e: 1c5a adds r2, r3, #1 70037a80: eb02 2213 add.w r2, r2, r3, lsr #8 70037a84: 1212 asrs r2, r2, #8 70037a86: f80c 2c02 strb.w r2, [ip, #-2] 70037a8a: 9b2b ldr r3, [sp, #172] @ 0xac 70037a8c: f10c 0c04 add.w ip, ip, #4 70037a90: 4498 add r8, r3 70037a92: 9b2c ldr r3, [sp, #176] @ 0xb0 70037a94: 449a add sl, r3 70037a96: 9b09 ldr r3, [sp, #36] @ 0x24 70037a98: b323 cbz r3, 70037ae4 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x41c> 70037a9a: 3b01 subs r3, #1 70037a9c: 9309 str r3, [sp, #36] @ 0x24 70037a9e: 9b30 ldr r3, [sp, #192] @ 0xc0 70037aa0: f9b3 e008 ldrsh.w lr, [r3, #8] 70037aa4: ea4f 432a mov.w r3, sl, asr #16 70037aa8: 9e0f ldr r6, [sp, #60] @ 0x3c 70037aaa: ea4f 4128 mov.w r1, r8, asr #16 70037aae: f418 4f70 tst.w r8, #61440 @ 0xf000 70037ab2: f3c8 3003 ubfx r0, r8, #12, #4 70037ab6: fb0e 1103 mla r1, lr, r3, r1 70037aba: f3ca 3303 ubfx r3, sl, #12, #4 70037abe: 5c72 ldrb r2, [r6, r1] 70037ac0: 4431 add r1, r6 70037ac2: 9e0a ldr r6, [sp, #40] @ 0x28 70037ac4: f856 2022 ldr.w r2, [r6, r2, lsl #2] 70037ac8: ea4f 6b12 mov.w fp, r2, lsr #24 70037acc: f47f aed0 bne.w 70037870 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1a8> 70037ad0: 2b00 cmp r3, #0 70037ad2: f43f aee2 beq.w 7003789a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d2> 70037ad6: f811 100e ldrb.w r1, [r1, lr] 70037ada: f856 5021 ldr.w r5, [r6, r1, lsl #2] 70037ade: 0e29 lsrs r1, r5, #24 70037ae0: 910c str r1, [sp, #48] @ 0x30 70037ae2: e6da b.n 7003789a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1d2> 70037ae4: e9dd 7b17 ldrd r7, fp, [sp, #92] @ 0x5c 70037ae8: 9b19 ldr r3, [sp, #100] @ 0x64 70037aea: e9cd 451a strd r4, r5, [sp, #104] @ 0x68 70037aee: eb07 0783 add.w r7, r7, r3, lsl #2 70037af2: e651 b.n 70037798 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xd0> 70037af4: 2b00 cmp r3, #0 70037af6: f77f ae4f ble.w 70037798 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xd0> 70037afa: 1421 asrs r1, r4, #16 70037afc: 1428 asrs r0, r5, #16 70037afe: 4681 mov r9, r0 70037b00: 1d3e adds r6, r7, #4 70037b02: 46d0 mov r8, sl 70037b04: 4610 mov r0, r2 70037b06: f8cd b064 str.w fp, [sp, #100] @ 0x64 70037b0a: e9cd 7a17 strd r7, sl, [sp, #92] @ 0x5c 70037b0e: e145 b.n 70037d9c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6d4> 70037b10: f10c 3eff add.w lr, ip, #4294967295 @ 0xffffffff 70037b14: 45f1 cmp r9, lr 70037b16: f280 8150 bge.w 70037dba <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6f2> 70037b1a: f1b9 0f00 cmp.w r9, #0 70037b1e: f2c0 814c blt.w 70037dba <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6f2> 70037b22: b200 sxth r0, r0 70037b24: 9f0f ldr r7, [sp, #60] @ 0x3c 70037b26: fb09 1100 mla r1, r9, r0, r1 70037b2a: f817 e001 ldrb.w lr, [r7, r1] 70037b2e: eb07 0c01 add.w ip, r7, r1 70037b32: 9f0a ldr r7, [sp, #40] @ 0x28 70037b34: f857 102e ldr.w r1, [r7, lr, lsl #2] 70037b38: ea4f 6a11 mov.w sl, r1, lsr #24 70037b3c: 9109 str r1, [sp, #36] @ 0x24 70037b3e: 2a00 cmp r2, #0 70037b40: f000 8152 beq.w 70037de8 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x720> 70037b44: f89c e001 ldrb.w lr, [ip, #1] 70037b48: f857 102e ldr.w r1, [r7, lr, lsl #2] 70037b4c: 9113 str r1, [sp, #76] @ 0x4c 70037b4e: 0e09 lsrs r1, r1, #24 70037b50: 9111 str r1, [sp, #68] @ 0x44 70037b52: b17b cbz r3, 70037b74 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4ac> 70037b54: eb0c 0e00 add.w lr, ip, r0 70037b58: f81c 0000 ldrb.w r0, [ip, r0] 70037b5c: f89e c001 ldrb.w ip, [lr, #1] 70037b60: f857 1020 ldr.w r1, [r7, r0, lsl #2] 70037b64: f857 002c ldr.w r0, [r7, ip, lsl #2] 70037b68: 9115 str r1, [sp, #84] @ 0x54 70037b6a: 0e09 lsrs r1, r1, #24 70037b6c: 9016 str r0, [sp, #88] @ 0x58 70037b6e: 9112 str r1, [sp, #72] @ 0x48 70037b70: 0e01 lsrs r1, r0, #24 70037b72: 9114 str r1, [sp, #80] @ 0x50 70037b74: fb02 fc03 mul.w ip, r2, r3 70037b78: 9f11 ldr r7, [sp, #68] @ 0x44 70037b7a: f50c 7080 add.w r0, ip, #256 @ 0x100 70037b7e: eba0 1002 sub.w r0, r0, r2, lsl #4 70037b82: ebcc 1202 rsb r2, ip, r2, lsl #4 70037b86: eba0 1003 sub.w r0, r0, r3, lsl #4 70037b8a: b292 uxth r2, r2 70037b8c: ebcc 1303 rsb r3, ip, r3, lsl #4 70037b90: fb02 f907 mul.w r9, r2, r7 70037b94: b280 uxth r0, r0 70037b96: 9f12 ldr r7, [sp, #72] @ 0x48 70037b98: b29b uxth r3, r3 70037b9a: fb00 990a mla r9, r0, sl, r9 70037b9e: fb03 9907 mla r9, r3, r7, r9 70037ba2: 9f14 ldr r7, [sp, #80] @ 0x50 70037ba4: fb0c 9907 mla r9, ip, r7, r9 70037ba8: f419 4f7f tst.w r9, #65280 @ 0xff00 70037bac: f3c9 2e07 ubfx lr, r9, #8, #8 70037bb0: f000 80e4 beq.w 70037d7c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6b4> 70037bb4: f1ba 0fff cmp.w sl, #255 @ 0xff 70037bb8: d01d beq.n 70037bf6 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x52e> 70037bba: 9909 ldr r1, [sp, #36] @ 0x24 70037bbc: f001 19ff and.w r9, r1, #16711935 @ 0xff00ff 70037bc0: f401 417f and.w r1, r1, #65280 @ 0xff00 70037bc4: fb0a f909 mul.w r9, sl, r9 70037bc8: fb0a f101 mul.w r1, sl, r1 70037bcc: ea4f 2a19 mov.w sl, r9, lsr #8 70037bd0: f109 1901 add.w r9, r9, #65537 @ 0x10001 70037bd4: f00a 1aff and.w sl, sl, #16711935 @ 0xff00ff 70037bd8: 44ca add sl, r9 70037bda: ea4f 291a mov.w r9, sl, lsr #8 70037bde: f501 7a80 add.w sl, r1, #256 @ 0x100 70037be2: eb0a 2111 add.w r1, sl, r1, lsr #8 70037be6: f009 19ff and.w r9, r9, #16711935 @ 0xff00ff 70037bea: 0a09 lsrs r1, r1, #8 70037bec: f401 417f and.w r1, r1, #65280 @ 0xff00 70037bf0: ea49 0101 orr.w r1, r9, r1 70037bf4: 9109 str r1, [sp, #36] @ 0x24 70037bf6: 9f11 ldr r7, [sp, #68] @ 0x44 70037bf8: 2fff cmp r7, #255 @ 0xff 70037bfa: d01e beq.n 70037c3a <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x572> 70037bfc: 9913 ldr r1, [sp, #76] @ 0x4c 70037bfe: f001 1bff and.w fp, r1, #16711935 @ 0xff00ff 70037c02: f401 4a7f and.w sl, r1, #65280 @ 0xff00 70037c06: fb07 fb0b mul.w fp, r7, fp 70037c0a: fb07 fa0a mul.w sl, r7, sl 70037c0e: ea4f 291b mov.w r9, fp, lsr #8 70037c12: f10b 1b01 add.w fp, fp, #65537 @ 0x10001 70037c16: f009 19ff and.w r9, r9, #16711935 @ 0xff00ff 70037c1a: 44d9 add r9, fp 70037c1c: f50a 7b80 add.w fp, sl, #256 @ 0x100 70037c20: eb0b 2a1a add.w sl, fp, sl, lsr #8 70037c24: ea4f 2919 mov.w r9, r9, lsr #8 70037c28: ea4f 2a1a mov.w sl, sl, lsr #8 70037c2c: f009 19ff and.w r9, r9, #16711935 @ 0xff00ff 70037c30: f40a 4a7f and.w sl, sl, #65280 @ 0xff00 70037c34: ea49 010a orr.w r1, r9, sl 70037c38: 9113 str r1, [sp, #76] @ 0x4c 70037c3a: 9f12 ldr r7, [sp, #72] @ 0x48 70037c3c: 2fff cmp r7, #255 @ 0xff 70037c3e: d01e beq.n 70037c7e <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x5b6> 70037c40: 9915 ldr r1, [sp, #84] @ 0x54 70037c42: f001 1bff and.w fp, r1, #16711935 @ 0xff00ff 70037c46: f401 4a7f and.w sl, r1, #65280 @ 0xff00 70037c4a: fb07 fb0b mul.w fp, r7, fp 70037c4e: fb07 fa0a mul.w sl, r7, sl 70037c52: ea4f 291b mov.w r9, fp, lsr #8 70037c56: f10b 1b01 add.w fp, fp, #65537 @ 0x10001 70037c5a: f009 19ff and.w r9, r9, #16711935 @ 0xff00ff 70037c5e: 44d9 add r9, fp 70037c60: f50a 7b80 add.w fp, sl, #256 @ 0x100 70037c64: eb0b 2a1a add.w sl, fp, sl, lsr #8 70037c68: ea4f 2919 mov.w r9, r9, lsr #8 70037c6c: ea4f 2a1a mov.w sl, sl, lsr #8 70037c70: f009 19ff and.w r9, r9, #16711935 @ 0xff00ff 70037c74: f40a 4a7f and.w sl, sl, #65280 @ 0xff00 70037c78: ea49 010a orr.w r1, r9, sl 70037c7c: 9115 str r1, [sp, #84] @ 0x54 70037c7e: 9f14 ldr r7, [sp, #80] @ 0x50 70037c80: 2fff cmp r7, #255 @ 0xff 70037c82: d01e beq.n 70037cc2 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x5fa> 70037c84: 9916 ldr r1, [sp, #88] @ 0x58 70037c86: f001 1bff and.w fp, r1, #16711935 @ 0xff00ff 70037c8a: f401 4a7f and.w sl, r1, #65280 @ 0xff00 70037c8e: fb07 fb0b mul.w fp, r7, fp 70037c92: fb07 fa0a mul.w sl, r7, sl 70037c96: ea4f 291b mov.w r9, fp, lsr #8 70037c9a: f10b 1b01 add.w fp, fp, #65537 @ 0x10001 70037c9e: f009 19ff and.w r9, r9, #16711935 @ 0xff00ff 70037ca2: 44d9 add r9, fp 70037ca4: f50a 7b80 add.w fp, sl, #256 @ 0x100 70037ca8: eb0b 2a1a add.w sl, fp, sl, lsr #8 70037cac: ea4f 2919 mov.w r9, r9, lsr #8 70037cb0: ea4f 2a1a mov.w sl, sl, lsr #8 70037cb4: f009 19ff and.w r9, r9, #16711935 @ 0xff00ff 70037cb8: f40a 4a7f and.w sl, sl, #65280 @ 0xff00 70037cbc: ea49 010a orr.w r1, r9, sl 70037cc0: 9116 str r1, [sp, #88] @ 0x58 70037cc2: 9f10 ldr r7, [sp, #64] @ 0x40 70037cc4: 9909 ldr r1, [sp, #36] @ 0x24 70037cc6: fb0e fe07 mul.w lr, lr, r7 70037cca: 9f13 ldr r7, [sp, #76] @ 0x4c 70037ccc: f007 19ff and.w r9, r7, #16711935 @ 0xff00ff 70037cd0: f407 4a7f and.w sl, r7, #65280 @ 0xff00 70037cd4: 9f15 ldr r7, [sp, #84] @ 0x54 70037cd6: fb02 f909 mul.w r9, r2, r9 70037cda: fb02 fa0a mul.w sl, r2, sl 70037cde: f001 12ff and.w r2, r1, #16711935 @ 0xff00ff 70037ce2: f401 417f and.w r1, r1, #65280 @ 0xff00 70037ce6: fb00 9202 mla r2, r0, r2, r9 70037cea: fb00 a101 mla r1, r0, r1, sl 70037cee: f007 10ff and.w r0, r7, #16711935 @ 0xff00ff 70037cf2: fb03 2000 mla r0, r3, r0, r2 70037cf6: f407 427f and.w r2, r7, #65280 @ 0xff00 70037cfa: 9f10 ldr r7, [sp, #64] @ 0x40 70037cfc: fb03 1202 mla r2, r3, r2, r1 70037d00: 9916 ldr r1, [sp, #88] @ 0x58 70037d02: f001 13ff and.w r3, r1, #16711935 @ 0xff00ff 70037d06: f401 417f and.w r1, r1, #65280 @ 0xff00 70037d0a: fb0c 2201 mla r2, ip, r1, r2 70037d0e: fb0c 0303 mla r3, ip, r3, r0 70037d12: f816 cc04 ldrb.w ip, [r6, #-4] 70037d16: f3c2 4007 ubfx r0, r2, #16, #8 70037d1a: f10e 0201 add.w r2, lr, #1 70037d1e: f3ce 2e0f ubfx lr, lr, #8, #16 70037d22: f3c3 2107 ubfx r1, r3, #8, #8 70037d26: fb10 f007 smulbb r0, r0, r7 70037d2a: 0e1b lsrs r3, r3, #24 70037d2c: fb11 f107 smulbb r1, r1, r7 70037d30: fa1e f282 uxtah r2, lr, r2 70037d34: fb13 f307 smulbb r3, r3, r7 70037d38: ea6f 2222 mvn.w r2, r2, asr #8 70037d3c: b2d2 uxtb r2, r2 70037d3e: fb0c 1102 mla r1, ip, r2, r1 70037d42: f816 cc03 ldrb.w ip, [r6, #-3] 70037d46: b289 uxth r1, r1 70037d48: fb0c 0002 mla r0, ip, r2, r0 70037d4c: f816 cc02 ldrb.w ip, [r6, #-2] 70037d50: b280 uxth r0, r0 70037d52: fb0c 3302 mla r3, ip, r2, r3 70037d56: 1c4a adds r2, r1, #1 70037d58: eb02 2211 add.w r2, r2, r1, lsr #8 70037d5c: b29b uxth r3, r3 70037d5e: 1212 asrs r2, r2, #8 70037d60: f806 2c04 strb.w r2, [r6, #-4] 70037d64: 1c42 adds r2, r0, #1 70037d66: eb02 2210 add.w r2, r2, r0, lsr #8 70037d6a: 1212 asrs r2, r2, #8 70037d6c: f806 2c03 strb.w r2, [r6, #-3] 70037d70: 1c5a adds r2, r3, #1 70037d72: eb02 2313 add.w r3, r2, r3, lsr #8 70037d76: 121b asrs r3, r3, #8 70037d78: f806 3c02 strb.w r3, [r6, #-2] 70037d7c: 9b2b ldr r3, [sp, #172] @ 0xac 70037d7e: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff 70037d82: 3604 adds r6, #4 70037d84: 441c add r4, r3 70037d86: f1b8 3fff cmp.w r8, #4294967295 @ 0xffffffff 70037d8a: 9b2c ldr r3, [sp, #176] @ 0xb0 70037d8c: 441d add r5, r3 70037d8e: d036 beq.n 70037dfe <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x736> 70037d90: 9b30 ldr r3, [sp, #192] @ 0xc0 70037d92: 1421 asrs r1, r4, #16 70037d94: ea4f 4925 mov.w r9, r5, asr #16 70037d98: e9d3 0c02 ldrd r0, ip, [r3, #8] 70037d9c: f100 3eff add.w lr, r0, #4294967295 @ 0xffffffff 70037da0: f3c4 3203 ubfx r2, r4, #12, #4 70037da4: f3c5 3303 ubfx r3, r5, #12, #4 70037da8: 4571 cmp r1, lr 70037daa: da02 bge.n 70037db2 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6ea> 70037dac: 2900 cmp r1, #0 70037dae: f6bf aeaf bge.w 70037b10 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x448> 70037db2: 1c4f adds r7, r1, #1 70037db4: dbe2 blt.n 70037d7c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6b4> 70037db6: 4281 cmp r1, r0 70037db8: dae0 bge.n 70037d7c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6b4> 70037dba: f1b9 3fff cmp.w r9, #4294967295 @ 0xffffffff 70037dbe: dbdd blt.n 70037d7c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6b4> 70037dc0: 45e1 cmp r9, ip 70037dc2: dadb bge.n 70037d7c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6b4> 70037dc4: b200 sxth r0, r0 70037dc6: e9cd 2304 strd r2, r3, [sp, #16] 70037dca: fa0f f38c sxth.w r3, ip 70037dce: 9000 str r0, [sp, #0] 70037dd0: 9a0f ldr r2, [sp, #60] @ 0x3c 70037dd2: 9301 str r3, [sp, #4] 70037dd4: 9b10 ldr r3, [sp, #64] @ 0x40 70037dd6: 981c ldr r0, [sp, #112] @ 0x70 70037dd8: 9306 str r3, [sp, #24] 70037dda: 9b0a ldr r3, [sp, #40] @ 0x28 70037ddc: e9cd 1902 strd r1, r9, [sp, #8] 70037de0: 1f31 subs r1, r6, #4 70037de2: f7ff faf5 bl 700373d0 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhPKmssiihhh> 70037de6: e7c9 b.n 70037d7c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x6b4> 70037de8: 2b00 cmp r3, #0 70037dea: f43f aec3 beq.w 70037b74 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4ac> 70037dee: f81c 0000 ldrb.w r0, [ip, r0] 70037df2: f857 1020 ldr.w r1, [r7, r0, lsl #2] 70037df6: 9115 str r1, [sp, #84] @ 0x54 70037df8: 0e09 lsrs r1, r1, #24 70037dfa: 9112 str r1, [sp, #72] @ 0x48 70037dfc: e6ba b.n 70037b74 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4ac> 70037dfe: e9dd 7a17 ldrd r7, sl, [sp, #92] @ 0x5c 70037e02: f8dd b064 ldr.w fp, [sp, #100] @ 0x64 70037e06: f10a 0a01 add.w sl, sl, #1 70037e0a: eb07 078a add.w r7, r7, sl, lsl #2 70037e0e: e4c3 b.n 70037798 <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xd0> 70037e10: 9a09 ldr r2, [sp, #36] @ 0x24 70037e12: e503 b.n 7003781c <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x154> 70037e14: 9a09 ldr r2, [sp, #36] @ 0x24 70037e16: f103 3aff add.w sl, r3, #4294967295 @ 0xffffffff 70037e1a: e670 b.n 70037afe <_ZN8touchgfx12LCDGPU2D_AXI66TextureMapper_32BPP_L8_ARGB8888_NonOpaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x436> 70037e1c <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh>: 70037e1c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70037e20: e9dd 640a ldrd r6, r4, [sp, #40] @ 0x28 70037e24: f9bd 9024 ldrsh.w r9, [sp, #36] @ 0x24 70037e28: fb04 6003 mla r0, r4, r3, r6 70037e2c: f89d c030 ldrb.w ip, [sp, #48] @ 0x30 70037e30: 45a1 cmp r9, r4 70037e32: f89d 7034 ldrb.w r7, [sp, #52] @ 0x34 70037e36: eb00 0e40 add.w lr, r0, r0, lsl #1 70037e3a: 680d ldr r5, [r1, #0] 70037e3c: f89d 0038 ldrb.w r0, [sp, #56] @ 0x38 70037e40: eb02 0a0e add.w sl, r2, lr 70037e44: f340 80a3 ble.w 70037f8e <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x172> 70037e48: 2c00 cmp r4, #0 70037e4a: f2c0 80a0 blt.w 70037f8e <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x172> 70037e4e: 42b3 cmp r3, r6 70037e50: f340 80d6 ble.w 70038000 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x1e4> 70037e54: 2e00 cmp r6, #0 70037e56: f2c0 80d3 blt.w 70038000 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x1e4> 70037e5a: f89a 8002 ldrb.w r8, [sl, #2] 70037e5e: f812 200e ldrb.w r2, [r2, lr] 70037e62: ea4f 4808 mov.w r8, r8, lsl #16 70037e66: f89a e001 ldrb.w lr, [sl, #1] 70037e6a: ea48 280e orr.w r8, r8, lr, lsl #8 70037e6e: ea48 0802 orr.w r8, r8, r2 70037e72: 1c72 adds r2, r6, #1 70037e74: f1bc 0f00 cmp.w ip, #0 70037e78: ea6f 0e02 mvn.w lr, r2 70037e7c: ea4f 7ede mov.w lr, lr, lsr #31 70037e80: bf08 it eq 70037e82: f04f 0e00 moveq.w lr, #0 70037e86: f1be 0f00 cmp.w lr, #0 70037e8a: d002 beq.n 70037e92 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x76> 70037e8c: 4293 cmp r3, r2 70037e8e: f300 80bf bgt.w 70038010 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x1f4> 70037e92: 3401 adds r4, #1 70037e94: 462a mov r2, r5 70037e96: 2c00 cmp r4, #0 70037e98: bfa8 it ge 70037e9a: 45a1 cmpge r9, r4 70037e9c: dc7e bgt.n 70037f9c <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x180> 70037e9e: 462c mov r4, r5 70037ea0: fb0c f607 mul.w r6, ip, r7 70037ea4: f002 13ff and.w r3, r2, #16711935 @ 0xff00ff 70037ea8: f402 427f and.w r2, r2, #65280 @ 0xff00 70037eac: f008 19ff and.w r9, r8, #16711935 @ 0xff00ff 70037eb0: eba6 1a07 sub.w sl, r6, r7, lsl #4 70037eb4: f408 487f and.w r8, r8, #65280 @ 0xff00 70037eb8: ebc6 1e07 rsb lr, r6, r7, lsl #4 70037ebc: 28ff cmp r0, #255 @ 0xff 70037ebe: f50a 7780 add.w r7, sl, #256 @ 0x100 70037ec2: fa1f fe8e uxth.w lr, lr 70037ec6: eba7 170c sub.w r7, r7, ip, lsl #4 70037eca: ebc6 1c0c rsb ip, r6, ip, lsl #4 70037ece: b2bf uxth r7, r7 70037ed0: fa1f fc8c uxth.w ip, ip 70037ed4: fb0c f303 mul.w r3, ip, r3 70037ed8: fb0c f202 mul.w r2, ip, r2 70037edc: fb07 3309 mla r3, r7, r9, r3 70037ee0: fb07 2208 mla r2, r7, r8, r2 70037ee4: f005 17ff and.w r7, r5, #16711935 @ 0xff00ff 70037ee8: f405 457f and.w r5, r5, #65280 @ 0xff00 70037eec: fb06 3307 mla r3, r6, r7, r3 70037ef0: fb06 2205 mla r2, r6, r5, r2 70037ef4: f004 15ff and.w r5, r4, #16711935 @ 0xff00ff 70037ef8: f404 447f and.w r4, r4, #65280 @ 0xff00 70037efc: fb0e 3305 mla r3, lr, r5, r3 70037f00: fb0e 2204 mla r2, lr, r4, r2 70037f04: ea4f 2313 mov.w r3, r3, lsr #8 70037f08: ea4f 2212 mov.w r2, r2, lsr #8 70037f0c: f003 13ff and.w r3, r3, #16711935 @ 0xff00ff 70037f10: f402 427f and.w r2, r2, #65280 @ 0xff00 70037f14: ea4f 4513 mov.w r5, r3, lsr #16 70037f18: ea43 0402 orr.w r4, r3, r2 70037f1c: ea4f 2612 mov.w r6, r2, lsr #8 70037f20: d070 beq.n 70038004 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x1e8> 70037f22: b390 cbz r0, 70037f8a <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x16e> 70037f24: fb10 f305 smulbb r3, r0, r5 70037f28: 78cd ldrb r5, [r1, #3] 70037f2a: fa5f fe84 uxtb.w lr, r4 70037f2e: f891 c000 ldrb.w ip, [r1] 70037f32: fb00 f905 mul.w r9, r0, r5 70037f36: 1944 adds r4, r0, r5 70037f38: fb10 f206 smulbb r2, r0, r6 70037f3c: f891 b001 ldrb.w fp, [r1, #1] 70037f40: f109 0801 add.w r8, r9, #1 70037f44: ea4f 2919 mov.w r9, r9, lsr #8 70037f48: f891 a002 ldrb.w sl, [r1, #2] 70037f4c: 2700 movs r7, #0 70037f4e: fa19 f888 uxtah r8, r9, r8 70037f52: eba5 2518 sub.w r5, r5, r8, lsr #8 70037f56: eba4 2618 sub.w r6, r4, r8, lsr #8 70037f5a: fb05 f40c mul.w r4, r5, ip 70037f5e: fb05 220b mla r2, r5, fp, r2 70037f62: fb00 400e mla r0, r0, lr, r4 70037f66: b2f4 uxtb r4, r6 70037f68: fb05 330a mla r3, r5, sl, r3 70037f6c: fb90 f0f4 sdiv r0, r0, r4 70037f70: fb92 f2f4 sdiv r2, r2, r4 70037f74: fb93 f3f4 sdiv r3, r3, r4 70037f78: f360 0707 bfi r7, r0, #0, #8 70037f7c: f362 270f bfi r7, r2, #8, #8 70037f80: f363 4717 bfi r7, r3, #16, #8 70037f84: f364 671f bfi r7, r4, #24, #8 70037f88: 600f str r7, [r1, #0] 70037f8a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70037f8e: 46a8 mov r8, r5 70037f90: 462a mov r2, r5 70037f92: 3401 adds r4, #1 70037f94: 2c00 cmp r4, #0 70037f96: bfa8 it ge 70037f98: 45a1 cmpge r9, r4 70037f9a: dd80 ble.n 70037e9e <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x82> 70037f9c: 2f00 cmp r7, #0 70037f9e: f43f af7e beq.w 70037e9e <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x82> 70037fa2: eb03 0443 add.w r4, r3, r3, lsl #1 70037fa6: 2e00 cmp r6, #0 70037fa8: eb0a 0e04 add.w lr, sl, r4 70037fac: db3c blt.n 70038028 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x20c> 70037fae: 42b3 cmp r3, r6 70037fb0: dd3a ble.n 70038028 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x20c> 70037fb2: f81a 9004 ldrb.w r9, [sl, r4] 70037fb6: f89e 4002 ldrb.w r4, [lr, #2] 70037fba: f89e a001 ldrb.w sl, [lr, #1] 70037fbe: 0424 lsls r4, r4, #16 70037fc0: ea44 240a orr.w r4, r4, sl, lsl #8 70037fc4: ea44 0409 orr.w r4, r4, r9 70037fc8: 3601 adds r6, #1 70037fca: f1bc 0f00 cmp.w ip, #0 70037fce: ea6f 0906 mvn.w r9, r6 70037fd2: ea4f 79d9 mov.w r9, r9, lsr #31 70037fd6: bf08 it eq 70037fd8: f04f 0900 moveq.w r9, #0 70037fdc: f1b9 0f00 cmp.w r9, #0 70037fe0: f43f af5e beq.w 70037ea0 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x84> 70037fe4: 42b3 cmp r3, r6 70037fe6: f77f af5b ble.w 70037ea0 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x84> 70037fea: f89e 5005 ldrb.w r5, [lr, #5] 70037fee: f89e 3004 ldrb.w r3, [lr, #4] 70037ff2: 042d lsls r5, r5, #16 70037ff4: ea45 2503 orr.w r5, r5, r3, lsl #8 70037ff8: f89e 3003 ldrb.w r3, [lr, #3] 70037ffc: 431d orrs r5, r3 70037ffe: e74f b.n 70037ea0 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x84> 70038000: 46a8 mov r8, r5 70038002: e736 b.n 70037e72 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x56> 70038004: 700c strb r4, [r1, #0] 70038006: 704e strb r6, [r1, #1] 70038008: 708d strb r5, [r1, #2] 7003800a: 70c8 strb r0, [r1, #3] 7003800c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70038010: f89a 2005 ldrb.w r2, [sl, #5] 70038014: f89a e004 ldrb.w lr, [sl, #4] 70038018: 0412 lsls r2, r2, #16 7003801a: ea42 220e orr.w r2, r2, lr, lsl #8 7003801e: f89a e003 ldrb.w lr, [sl, #3] 70038022: ea42 020e orr.w r2, r2, lr 70038026: e7b4 b.n 70037f92 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x176> 70038028: 462c mov r4, r5 7003802a: e7cd b.n 70037fc8 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh+0x1ac> 7003802c <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 7003802c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70038030: b09f sub sp, #124 @ 0x7c 70038032: 4698 mov r8, r3 70038034: 4616 mov r6, r2 70038036: 2500 movs r5, #0 70038038: 9019 str r0, [sp, #100] @ 0x64 7003803a: 4689 mov r9, r1 7003803c: 921b str r2, [sp, #108] @ 0x6c 7003803e: 42a9 cmp r1, r5 70038040: 9a2f ldr r2, [sp, #188] @ 0xbc 70038042: 9510 str r5, [sp, #64] @ 0x40 70038044: 9515 str r5, [sp, #84] @ 0x54 70038046: e9dd 432d ldrd r4, r3, [sp, #180] @ 0xb4 7003804a: e9cd 5511 strd r5, r5, [sp, #68] @ 0x44 7003804e: 6860 ldr r0, [r4, #4] 70038050: fb00 3302 mla r3, r0, r2, r3 70038054: 6822 ldr r2, [r4, #0] 70038056: eb02 0a83 add.w sl, r2, r3, lsl #2 7003805a: f89d 30c4 ldrb.w r3, [sp, #196] @ 0xc4 7003805e: 9307 str r3, [sp, #28] 70038060: 9b30 ldr r3, [sp, #192] @ 0xc0 70038062: 681b ldr r3, [r3, #0] 70038064: e9dd b429 ldrd fp, r4, [sp, #164] @ 0xa4 70038068: e9cd 5513 strd r5, r5, [sp, #76] @ 0x4c 7003806c: e9cd 5509 strd r5, r5, [sp, #36] @ 0x24 70038070: e9cd 550b strd r5, r5, [sp, #44] @ 0x2c 70038074: e9cd 550d strd r5, r5, [sp, #52] @ 0x34 70038078: 9308 str r3, [sp, #32] 7003807a: dc01 bgt.n 70038080 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x54> 7003807c: 42ae cmp r6, r5 7003807e: dd74 ble.n 7003816a <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x13e> 70038080: 46ce mov lr, r9 70038082: 9b30 ldr r3, [sp, #192] @ 0xc0 70038084: f1b8 0f00 cmp.w r8, #0 70038088: e9d3 7c02 ldrd r7, ip, [r3, #8] 7003808c: b239 sxth r1, r7 7003808e: fa0f f68c sxth.w r6, ip 70038092: dd70 ble.n 70038176 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14a> 70038094: f8cd c03c str.w ip, [sp, #60] @ 0x3c 70038098: 1e4b subs r3, r1, #1 7003809a: 1e75 subs r5, r6, #1 7003809c: e9dd c92b ldrd ip, r9, [sp, #172] @ 0xac 700380a0: e011 b.n 700380c6 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x9a> 700380a2: 42a8 cmp r0, r5 700380a4: da02 bge.n 700380ac <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x80> 700380a6: 2800 cmp r0, #0 700380a8: f280 8243 bge.w 70038532 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x506> 700380ac: f1b0 3fff cmp.w r0, #4294967295 @ 0xffffffff 700380b0: db02 blt.n 700380b8 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8c> 700380b2: 42b0 cmp r0, r6 700380b4: f2c0 8240 blt.w 70038538 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x50c> 700380b8: f1b8 0801 subs.w r8, r8, #1 700380bc: 44e3 add fp, ip 700380be: 444c add r4, r9 700380c0: f10a 0a04 add.w sl, sl, #4 700380c4: d014 beq.n 700380f0 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 700380c6: f1bb 0f00 cmp.w fp, #0 700380ca: ea4f 4024 mov.w r0, r4, asr #16 700380ce: ea4f 422b mov.w r2, fp, asr #16 700380d2: db01 blt.n 700380d8 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xac> 700380d4: 429a cmp r2, r3 700380d6: dbe4 blt.n 700380a2 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x76> 700380d8: f1b2 3fff cmp.w r2, #4294967295 @ 0xffffffff 700380dc: dbec blt.n 700380b8 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8c> 700380de: 428a cmp r2, r1 700380e0: dbe4 blt.n 700380ac <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x80> 700380e2: f1b8 0801 subs.w r8, r8, #1 700380e6: 44e3 add fp, ip 700380e8: 444c add r4, r9 700380ea: f10a 0a04 add.w sl, sl, #4 700380ee: d1ea bne.n 700380c6 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x9a> 700380f0: f1be 0f00 cmp.w lr, #0 700380f4: dd39 ble.n 7003816a <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x13e> 700380f6: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 700380fa: 9b28 ldr r3, [sp, #160] @ 0xa0 700380fc: ee30 0a04 vadd.f32 s0, s0, s8 70038100: f1be 0e01 subs.w lr, lr, #1 70038104: ee70 0aa4 vadd.f32 s1, s1, s9 70038108: ee31 1a05 vadd.f32 s2, s2, s10 7003810c: eec7 7a00 vdiv.f32 s15, s14, s0 70038110: eef0 5a62 vmov.f32 s11, s5 70038114: eefe 5ac8 vcvt.s32.f32 s11, s11, #16 70038118: ee15 ba90 vmov fp, s11 7003811c: eef0 5a43 vmov.f32 s11, s6 70038120: eefe 5ac8 vcvt.s32.f32 s11, s11, #16 70038124: ee20 6aa7 vmul.f32 s12, s1, s15 70038128: ee61 7a27 vmul.f32 s15, s2, s15 7003812c: ee15 4a90 vmov r4, s11 70038130: ee76 6a62 vsub.f32 s13, s12, s5 70038134: ee37 7ac3 vsub.f32 s14, s15, s6 70038138: eefe 6ac8 vcvt.s32.f32 s13, s13, #16 7003813c: eebe 7ac8 vcvt.s32.f32 s14, s14, #16 70038140: ee16 2a90 vmov r2, s13 70038144: fb92 f3f3 sdiv r3, r2, r3 70038148: ee17 2a10 vmov r2, s14 7003814c: 932b str r3, [sp, #172] @ 0xac 7003814e: 9b28 ldr r3, [sp, #160] @ 0xa0 70038150: fb92 f3f3 sdiv r3, r2, r3 70038154: 932c str r3, [sp, #176] @ 0xb0 70038156: d10b bne.n 70038170 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x144> 70038158: 9b1b ldr r3, [sp, #108] @ 0x6c 7003815a: 2b00 cmp r3, #0 7003815c: dd05 ble.n 7003816a <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x13e> 7003815e: 4698 mov r8, r3 70038160: eeb0 3a67 vmov.f32 s6, s15 70038164: eef0 2a46 vmov.f32 s5, s12 70038168: e78b b.n 70038082 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x56> 7003816a: b01f add sp, #124 @ 0x7c 7003816c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70038170: f8dd 80a0 ldr.w r8, [sp, #160] @ 0xa0 70038174: e7f4 b.n 70038160 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x134> 70038176: d0bb beq.n 700380f0 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 70038178: 1e4b subs r3, r1, #1 7003817a: f108 39ff add.w r9, r8, #4294967295 @ 0xffffffff 7003817e: 9a2b ldr r2, [sp, #172] @ 0xac 70038180: fb02 b209 mla r2, r2, r9, fp 70038184: ebb3 4f22 cmp.w r3, r2, asr #16 70038188: ea4f 4022 mov.w r0, r2, asr #16 7003818c: f340 80d0 ble.w 70038330 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x304> 70038190: 2800 cmp r0, #0 70038192: f2c0 80cd blt.w 70038330 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x304> 70038196: 9b2c ldr r3, [sp, #176] @ 0xb0 70038198: 3e01 subs r6, #1 7003819a: fb03 4309 mla r3, r3, r9, r4 7003819e: ebb6 4f23 cmp.w r6, r3, asr #16 700381a2: ea4f 4223 mov.w r2, r3, asr #16 700381a6: f340 80c3 ble.w 70038330 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x304> 700381aa: 2a00 cmp r2, #0 700381ac: f2c0 80c0 blt.w 70038330 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x304> 700381b0: f1b8 0f00 cmp.w r8, #0 700381b4: dd9c ble.n 700380f0 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 700381b6: 9b07 ldr r3, [sp, #28] 700381b8: 2bff cmp r3, #255 @ 0xff 700381ba: f000 8276 beq.w 700386aa <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x67e> 700381be: f8cd 8060 str.w r8, [sp, #96] @ 0x60 700381c2: 46d4 mov ip, sl 700381c4: 46c8 mov r8, r9 700381c6: e9cd ae16 strd sl, lr, [sp, #88] @ 0x58 700381ca: e004 b.n 700381d6 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1aa> 700381cc: 9b30 ldr r3, [sp, #192] @ 0xc0 700381ce: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff 700381d2: f9b3 1008 ldrsh.w r1, [r3, #8] 700381d6: f3c4 3303 ubfx r3, r4, #12, #4 700381da: f3cb 3203 ubfx r2, fp, #12, #4 700381de: 1420 asrs r0, r4, #16 700381e0: 9e08 ldr r6, [sp, #32] 700381e2: ea4f 452b mov.w r5, fp, asr #16 700381e6: f414 4f70 tst.w r4, #61440 @ 0xf000 700381ea: eb01 0741 add.w r7, r1, r1, lsl #1 700381ee: f04f 0900 mov.w r9, #0 700381f2: fb01 5500 mla r5, r1, r0, r5 700381f6: 992b ldr r1, [sp, #172] @ 0xac 700381f8: fb03 f002 mul.w r0, r3, r2 700381fc: 448b add fp, r1 700381fe: eb05 0545 add.w r5, r5, r5, lsl #1 70038202: f500 7180 add.w r1, r0, #256 @ 0x100 70038206: eb06 0e05 add.w lr, r6, r5 7003820a: 9e2c ldr r6, [sp, #176] @ 0xb0 7003820c: eba1 1102 sub.w r1, r1, r2, lsl #4 70038210: ebc0 1202 rsb r2, r0, r2, lsl #4 70038214: 4434 add r4, r6 70038216: eba1 1103 sub.w r1, r1, r3, lsl #4 7003821a: ebc0 1303 rsb r3, r0, r3, lsl #4 7003821e: b292 uxth r2, r2 70038220: b289 uxth r1, r1 70038222: b29b uxth r3, r3 70038224: d00e beq.n 70038244 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x218> 70038226: eb0e 0607 add.w r6, lr, r7 7003822a: f81e 7007 ldrb.w r7, [lr, r7] 7003822e: 9709 str r7, [sp, #36] @ 0x24 70038230: 7877 ldrb r7, [r6, #1] 70038232: 970a str r7, [sp, #40] @ 0x28 70038234: 78b7 ldrb r7, [r6, #2] 70038236: 970b str r7, [sp, #44] @ 0x2c 70038238: 78f7 ldrb r7, [r6, #3] 7003823a: 970c str r7, [sp, #48] @ 0x30 7003823c: 7937 ldrb r7, [r6, #4] 7003823e: 7976 ldrb r6, [r6, #5] 70038240: 970d str r7, [sp, #52] @ 0x34 70038242: 960e str r6, [sp, #56] @ 0x38 70038244: 9e07 ldr r6, [sp, #28] 70038246: 2e00 cmp r6, #0 70038248: d065 beq.n 70038316 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2ea> 7003824a: 9f08 ldr r7, [sp, #32] 7003824c: 5d7e ldrb r6, [r7, r5] 7003824e: f89e 7003 ldrb.w r7, [lr, #3] 70038252: fb01 f606 mul.w r6, r1, r6 70038256: f89c 5003 ldrb.w r5, [ip, #3] 7003825a: fb02 6607 mla r6, r2, r7, r6 7003825e: 9f09 ldr r7, [sp, #36] @ 0x24 70038260: fb03 6607 mla r6, r3, r7, r6 70038264: 9f0c ldr r7, [sp, #48] @ 0x30 70038266: fb00 6607 mla r6, r0, r7, r6 7003826a: f3c6 2707 ubfx r7, r6, #8, #8 7003826e: 9e07 ldr r6, [sp, #28] 70038270: 970f str r7, [sp, #60] @ 0x3c 70038272: fb05 f706 mul.w r7, r5, r6 70038276: f89e 6001 ldrb.w r6, [lr, #1] 7003827a: f107 0a01 add.w sl, r7, #1 7003827e: fb01 f606 mul.w r6, r1, r6 70038282: fa1f fa8a uxth.w sl, sl 70038286: eb0a 2a17 add.w sl, sl, r7, lsr #8 7003828a: f89e 7004 ldrb.w r7, [lr, #4] 7003828e: fb02 6707 mla r7, r2, r7, r6 70038292: 9e0a ldr r6, [sp, #40] @ 0x28 70038294: fb03 7706 mla r7, r3, r6, r7 70038298: 9e0d ldr r6, [sp, #52] @ 0x34 7003829a: fb00 7706 mla r7, r0, r6, r7 7003829e: f89e 6002 ldrb.w r6, [lr, #2] 700382a2: fb01 f606 mul.w r6, r1, r6 700382a6: f89e 1005 ldrb.w r1, [lr, #5] 700382aa: f3c7 2707 ubfx r7, r7, #8, #8 700382ae: fb02 6601 mla r6, r2, r1, r6 700382b2: 9a0b ldr r2, [sp, #44] @ 0x2c 700382b4: eba5 211a sub.w r1, r5, sl, lsr #8 700382b8: fb03 6602 mla r6, r3, r2, r6 700382bc: 9b0e ldr r3, [sp, #56] @ 0x38 700382be: f89c 2000 ldrb.w r2, [ip] 700382c2: fb00 6603 mla r6, r0, r3, r6 700382c6: 9807 ldr r0, [sp, #28] 700382c8: fb01 f202 mul.w r2, r1, r2 700382cc: 4405 add r5, r0 700382ce: f3c6 2307 ubfx r3, r6, #8, #8 700382d2: 9e0f ldr r6, [sp, #60] @ 0x3c 700382d4: eba5 251a sub.w r5, r5, sl, lsr #8 700382d8: fb00 2206 mla r2, r0, r6, r2 700382dc: b2ed uxtb r5, r5 700382de: fb92 f2f5 sdiv r2, r2, r5 700382e2: f362 0907 bfi r9, r2, #0, #8 700382e6: f89c 2001 ldrb.w r2, [ip, #1] 700382ea: fb01 f202 mul.w r2, r1, r2 700382ee: fb00 2207 mla r2, r0, r7, r2 700382f2: fb92 f2f5 sdiv r2, r2, r5 700382f6: f362 290f bfi r9, r2, #8, #8 700382fa: f89c 2002 ldrb.w r2, [ip, #2] 700382fe: fb01 f202 mul.w r2, r1, r2 70038302: fb00 2203 mla r2, r0, r3, r2 70038306: fb92 f2f5 sdiv r2, r2, r5 7003830a: f362 4917 bfi r9, r2, #16, #8 7003830e: f365 691f bfi r9, r5, #24, #8 70038312: f8cc 9000 str.w r9, [ip] 70038316: f10c 0c04 add.w ip, ip, #4 7003831a: f1b8 0f00 cmp.w r8, #0 7003831e: f47f af55 bne.w 700381cc <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1a0> 70038322: f8dd 8060 ldr.w r8, [sp, #96] @ 0x60 70038326: e9dd ae16 ldrd sl, lr, [sp, #88] @ 0x58 7003832a: eb0a 0a88 add.w sl, sl, r8, lsl #2 7003832e: e6df b.n 700380f0 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 70038330: f1b8 0f00 cmp.w r8, #0 70038334: f77f aedc ble.w 700380f0 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 70038338: 9b07 ldr r3, [sp, #28] 7003833a: ea4f 422b mov.w r2, fp, asr #16 7003833e: 1420 asrs r0, r4, #16 70038340: 2bff cmp r3, #255 @ 0xff 70038342: f000 8101 beq.w 70038548 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x51c> 70038346: 464d mov r5, r9 70038348: 4651 mov r1, sl 7003834a: 4680 mov r8, r0 7003834c: 9e30 ldr r6, [sp, #192] @ 0xc0 7003834e: 4610 mov r0, r2 70038350: f8cd e068 str.w lr, [sp, #104] @ 0x68 70038354: e9cd a917 strd sl, r9, [sp, #92] @ 0x5c 70038358: e9dd a92b ldrd sl, r9, [sp, #172] @ 0xac 7003835c: e0be b.n 700384dc <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4b0> 7003835e: 2800 cmp r0, #0 70038360: f2c0 80c5 blt.w 700384ee <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4c2> 70038364: f10c 3eff add.w lr, ip, #4294967295 @ 0xffffffff 70038368: 45c6 cmp lr, r8 7003836a: f340 80c5 ble.w 700384f8 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4cc> 7003836e: f1b8 0f00 cmp.w r8, #0 70038372: f2c0 80c1 blt.w 700384f8 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4cc> 70038376: fa0f fc87 sxth.w ip, r7 7003837a: 9f08 ldr r7, [sp, #32] 7003837c: fb08 000c mla r0, r8, ip, r0 70038380: eb00 0040 add.w r0, r0, r0, lsl #1 70038384: eb07 0e00 add.w lr, r7, r0 70038388: b1ab cbz r3, 700383b6 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x38a> 7003838a: eb0c 074c add.w r7, ip, ip, lsl #1 7003838e: eb0e 0c07 add.w ip, lr, r7 70038392: f81e 7007 ldrb.w r7, [lr, r7] 70038396: 9710 str r7, [sp, #64] @ 0x40 70038398: f89c 7001 ldrb.w r7, [ip, #1] 7003839c: 9711 str r7, [sp, #68] @ 0x44 7003839e: f89c 7002 ldrb.w r7, [ip, #2] 700383a2: 9712 str r7, [sp, #72] @ 0x48 700383a4: f89c 7003 ldrb.w r7, [ip, #3] 700383a8: 9713 str r7, [sp, #76] @ 0x4c 700383aa: f89c 7004 ldrb.w r7, [ip, #4] 700383ae: 9714 str r7, [sp, #80] @ 0x50 700383b0: f89c 7005 ldrb.w r7, [ip, #5] 700383b4: 9715 str r7, [sp, #84] @ 0x54 700383b6: 9f07 ldr r7, [sp, #28] 700383b8: 2f00 cmp r7, #0 700383ba: f000 8083 beq.w 700384c4 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x498> 700383be: 9f08 ldr r7, [sp, #32] 700383c0: f89e c003 ldrb.w ip, [lr, #3] 700383c4: 5c3f ldrb r7, [r7, r0] 700383c6: fb03 f002 mul.w r0, r3, r2 700383ca: 4680 mov r8, r0 700383cc: 78c8 ldrb r0, [r1, #3] 700383ce: 9016 str r0, [sp, #88] @ 0x58 700383d0: 4640 mov r0, r8 700383d2: f508 7880 add.w r8, r8, #256 @ 0x100 700383d6: eba8 1802 sub.w r8, r8, r2, lsl #4 700383da: ebc0 1202 rsb r2, r0, r2, lsl #4 700383de: eba8 1803 sub.w r8, r8, r3, lsl #4 700383e2: b292 uxth r2, r2 700383e4: fa1f f888 uxth.w r8, r8 700383e8: 920f str r2, [sp, #60] @ 0x3c 700383ea: ebc0 1303 rsb r3, r0, r3, lsl #4 700383ee: 4602 mov r2, r0 700383f0: fb08 f707 mul.w r7, r8, r7 700383f4: 980f ldr r0, [sp, #60] @ 0x3c 700383f6: b29b uxth r3, r3 700383f8: fb00 770c mla r7, r0, ip, r7 700383fc: 9810 ldr r0, [sp, #64] @ 0x40 700383fe: fb03 7700 mla r7, r3, r0, r7 70038402: 9813 ldr r0, [sp, #76] @ 0x4c 70038404: fb02 7700 mla r7, r2, r0, r7 70038408: 9816 ldr r0, [sp, #88] @ 0x58 7003840a: f3c7 2c07 ubfx ip, r7, #8, #8 7003840e: 9f07 ldr r7, [sp, #28] 70038410: f8cd c074 str.w ip, [sp, #116] @ 0x74 70038414: fb00 fc07 mul.w ip, r0, r7 70038418: f89e 7001 ldrb.w r7, [lr, #1] 7003841c: f10c 0001 add.w r0, ip, #1 70038420: fb08 f707 mul.w r7, r8, r7 70038424: b280 uxth r0, r0 70038426: eb00 2c1c add.w ip, r0, ip, lsr #8 7003842a: 980f ldr r0, [sp, #60] @ 0x3c 7003842c: f8cd c070 str.w ip, [sp, #112] @ 0x70 70038430: f89e c004 ldrb.w ip, [lr, #4] 70038434: fb00 7c0c mla ip, r0, ip, r7 70038438: 9f11 ldr r7, [sp, #68] @ 0x44 7003843a: 4610 mov r0, r2 7003843c: fb03 cc07 mla ip, r3, r7, ip 70038440: 9f14 ldr r7, [sp, #80] @ 0x50 70038442: fb02 cc07 mla ip, r2, r7, ip 70038446: f89e 7002 ldrb.w r7, [lr, #2] 7003844a: 9a0f ldr r2, [sp, #60] @ 0x3c 7003844c: f89e e005 ldrb.w lr, [lr, #5] 70038450: fb08 f707 mul.w r7, r8, r7 70038454: f3cc 2c07 ubfx ip, ip, #8, #8 70038458: fb02 770e mla r7, r2, lr, r7 7003845c: 9a12 ldr r2, [sp, #72] @ 0x48 7003845e: fb03 7702 mla r7, r3, r2, r7 70038462: 9a15 ldr r2, [sp, #84] @ 0x54 70038464: 9b1c ldr r3, [sp, #112] @ 0x70 70038466: fb00 7702 mla r7, r0, r2, r7 7003846a: 9816 ldr r0, [sp, #88] @ 0x58 7003846c: f3c7 2207 ubfx r2, r7, #8, #8 70038470: 9f07 ldr r7, [sp, #28] 70038472: eba0 2813 sub.w r8, r0, r3, lsr #8 70038476: 1838 adds r0, r7, r0 70038478: 780f ldrb r7, [r1, #0] 7003847a: 920f str r2, [sp, #60] @ 0x3c 7003847c: eba0 2013 sub.w r0, r0, r3, lsr #8 70038480: 9a1d ldr r2, [sp, #116] @ 0x74 70038482: 9b07 ldr r3, [sp, #28] 70038484: fb08 f707 mul.w r7, r8, r7 70038488: b2c0 uxtb r0, r0 7003848a: fb03 7702 mla r7, r3, r2, r7 7003848e: fb97 fef0 sdiv lr, r7, r0 70038492: 784f ldrb r7, [r1, #1] 70038494: fb08 f707 mul.w r7, r8, r7 70038498: fb03 770c mla r7, r3, ip, r7 7003849c: fb97 fcf0 sdiv ip, r7, r0 700384a0: 788f ldrb r7, [r1, #2] 700384a2: 9a0f ldr r2, [sp, #60] @ 0x3c 700384a4: fb08 f707 mul.w r7, r8, r7 700384a8: fb03 7302 mla r3, r3, r2, r7 700384ac: 2200 movs r2, #0 700384ae: fb93 f3f0 sdiv r3, r3, r0 700384b2: f36e 0207 bfi r2, lr, #0, #8 700384b6: f36c 220f bfi r2, ip, #8, #8 700384ba: f363 4217 bfi r2, r3, #16, #8 700384be: f360 621f bfi r2, r0, #24, #8 700384c2: 600a str r2, [r1, #0] 700384c4: 3d01 subs r5, #1 700384c6: 3104 adds r1, #4 700384c8: 44d3 add fp, sl 700384ca: 444c add r4, r9 700384cc: 1c6b adds r3, r5, #1 700384ce: d027 beq.n 70038520 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x4f4> 700384d0: ea4f 402b mov.w r0, fp, asr #16 700384d4: ea4f 4824 mov.w r8, r4, asr #16 700384d8: e9d6 7c02 ldrd r7, ip, [r6, #8] 700384dc: f107 3eff add.w lr, r7, #4294967295 @ 0xffffffff 700384e0: f3cb 3203 ubfx r2, fp, #12, #4 700384e4: f3c4 3303 ubfx r3, r4, #12, #4 700384e8: 4586 cmp lr, r0 700384ea: f73f af38 bgt.w 7003835e <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x332> 700384ee: 42b8 cmp r0, r7 700384f0: dae8 bge.n 700384c4 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x498> 700384f2: f1b0 3fff cmp.w r0, #4294967295 @ 0xffffffff 700384f6: dbe5 blt.n 700384c4 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x498> 700384f8: 45e0 cmp r8, ip 700384fa: dae3 bge.n 700384c4 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x498> 700384fc: f1b8 3fff cmp.w r8, #4294967295 @ 0xffffffff 70038500: dbe0 blt.n 700384c4 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x498> 70038502: e9cd 2303 strd r2, r3, [sp, #12] 70038506: fa0f f38c sxth.w r3, ip 7003850a: 9a07 ldr r2, [sp, #28] 7003850c: e9cd 0801 strd r0, r8, [sp, #4] 70038510: 9300 str r3, [sp, #0] 70038512: b23b sxth r3, r7 70038514: 9205 str r2, [sp, #20] 70038516: 9819 ldr r0, [sp, #100] @ 0x64 70038518: 9a08 ldr r2, [sp, #32] 7003851a: f7ff fc7f bl 70037e1c <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh> 7003851e: e7d1 b.n 700384c4 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x498> 70038520: e9dd a917 ldrd sl, r9, [sp, #92] @ 0x5c 70038524: f8dd e068 ldr.w lr, [sp, #104] @ 0x68 70038528: f109 0301 add.w r3, r9, #1 7003852c: eb0a 0a83 add.w sl, sl, r3, lsl #2 70038530: e5de b.n 700380f0 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 70038532: f8dd c03c ldr.w ip, [sp, #60] @ 0x3c 70038536: e620 b.n 7003817a <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14e> 70038538: 9b07 ldr r3, [sp, #28] 7003853a: f108 39ff add.w r9, r8, #4294967295 @ 0xffffffff 7003853e: f8dd c03c ldr.w ip, [sp, #60] @ 0x3c 70038542: 2bff cmp r3, #255 @ 0xff 70038544: f47f aeff bne.w 70038346 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x31a> 70038548: 46c8 mov r8, r9 7003854a: 4651 mov r1, sl 7003854c: f8cd a068 str.w sl, [sp, #104] @ 0x68 70038550: 4663 mov r3, ip 70038552: f8cd 9070 str.w r9, [sp, #112] @ 0x70 70038556: 4616 mov r6, r2 70038558: f8dd a0b0 ldr.w sl, [sp, #176] @ 0xb0 7003855c: f8dd 90c0 ldr.w r9, [sp, #192] @ 0xc0 70038560: f8cd e074 str.w lr, [sp, #116] @ 0x74 70038564: e077 b.n 70038656 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x62a> 70038566: 2e00 cmp r6, #0 70038568: db7e blt.n 70038668 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x63c> 7003856a: f103 3cff add.w ip, r3, #4294967295 @ 0xffffffff 7003856e: 4560 cmp r0, ip 70038570: da7f bge.n 70038672 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x646> 70038572: 2800 cmp r0, #0 70038574: db7d blt.n 70038672 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x646> 70038576: b23b sxth r3, r7 70038578: fb00 6603 mla r6, r0, r3, r6 7003857c: 9808 ldr r0, [sp, #32] 7003857e: eb06 0646 add.w r6, r6, r6, lsl #1 70038582: 1987 adds r7, r0, r6 70038584: 5d80 ldrb r0, [r0, r6] 70038586: 900f str r0, [sp, #60] @ 0x3c 70038588: 7878 ldrb r0, [r7, #1] 7003858a: 78fe ldrb r6, [r7, #3] 7003858c: 9016 str r0, [sp, #88] @ 0x58 7003858e: 78b8 ldrb r0, [r7, #2] 70038590: f897 c005 ldrb.w ip, [r7, #5] 70038594: 9017 str r0, [sp, #92] @ 0x5c 70038596: 7938 ldrb r0, [r7, #4] 70038598: 9018 str r0, [sp, #96] @ 0x60 7003859a: b1a5 cbz r5, 700385c6 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x59a> 7003859c: eb03 0343 add.w r3, r3, r3, lsl #1 700385a0: eb07 0e03 add.w lr, r7, r3 700385a4: 5cfb ldrb r3, [r7, r3] 700385a6: 9310 str r3, [sp, #64] @ 0x40 700385a8: f89e 3001 ldrb.w r3, [lr, #1] 700385ac: 9311 str r3, [sp, #68] @ 0x44 700385ae: f89e 3002 ldrb.w r3, [lr, #2] 700385b2: 9312 str r3, [sp, #72] @ 0x48 700385b4: f89e 3003 ldrb.w r3, [lr, #3] 700385b8: 9313 str r3, [sp, #76] @ 0x4c 700385ba: f89e 3004 ldrb.w r3, [lr, #4] 700385be: 9314 str r3, [sp, #80] @ 0x50 700385c0: f89e 3005 ldrb.w r3, [lr, #5] 700385c4: 9315 str r3, [sp, #84] @ 0x54 700385c6: fb02 f705 mul.w r7, r2, r5 700385ca: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 700385ce: 980f ldr r0, [sp, #60] @ 0x3c 700385d0: 70cb strb r3, [r1, #3] 700385d2: f507 7380 add.w r3, r7, #256 @ 0x100 700385d6: eba3 1302 sub.w r3, r3, r2, lsl #4 700385da: ebc7 1202 rsb r2, r7, r2, lsl #4 700385de: eba3 1305 sub.w r3, r3, r5, lsl #4 700385e2: b292 uxth r2, r2 700385e4: b29b uxth r3, r3 700385e6: fb02 f606 mul.w r6, r2, r6 700385ea: ebc7 1505 rsb r5, r7, r5, lsl #4 700385ee: fb02 fc0c mul.w ip, r2, ip 700385f2: fb03 6600 mla r6, r3, r0, r6 700385f6: 9818 ldr r0, [sp, #96] @ 0x60 700385f8: b2ad uxth r5, r5 700385fa: fb02 f000 mul.w r0, r2, r0 700385fe: 9a16 ldr r2, [sp, #88] @ 0x58 70038600: fb03 0002 mla r0, r3, r2, r0 70038604: 9a17 ldr r2, [sp, #92] @ 0x5c 70038606: fb03 cc02 mla ip, r3, r2, ip 7003860a: 9b10 ldr r3, [sp, #64] @ 0x40 7003860c: fb05 6603 mla r6, r5, r3, r6 70038610: 9b11 ldr r3, [sp, #68] @ 0x44 70038612: fb05 0003 mla r0, r5, r3, r0 70038616: 9b12 ldr r3, [sp, #72] @ 0x48 70038618: fb05 c503 mla r5, r5, r3, ip 7003861c: 9b13 ldr r3, [sp, #76] @ 0x4c 7003861e: fb07 6603 mla r6, r7, r3, r6 70038622: 9b14 ldr r3, [sp, #80] @ 0x50 70038624: fb07 0003 mla r0, r7, r3, r0 70038628: 9b15 ldr r3, [sp, #84] @ 0x54 7003862a: 1236 asrs r6, r6, #8 7003862c: fb07 5503 mla r5, r7, r3, r5 70038630: 1200 asrs r0, r0, #8 70038632: 700e strb r6, [r1, #0] 70038634: 122b asrs r3, r5, #8 70038636: 7048 strb r0, [r1, #1] 70038638: 708b strb r3, [r1, #2] 7003863a: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff 7003863e: 9b2b ldr r3, [sp, #172] @ 0xac 70038640: 3104 adds r1, #4 70038642: 4454 add r4, sl 70038644: f1b8 3fff cmp.w r8, #4294967295 @ 0xffffffff 70038648: 449b add fp, r3 7003864a: d025 beq.n 70038698 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x66c> 7003864c: ea4f 462b mov.w r6, fp, asr #16 70038650: 1420 asrs r0, r4, #16 70038652: e9d9 7302 ldrd r7, r3, [r9, #8] 70038656: f107 3eff add.w lr, r7, #4294967295 @ 0xffffffff 7003865a: f3cb 3203 ubfx r2, fp, #12, #4 7003865e: f3c4 3503 ubfx r5, r4, #12, #4 70038662: 4576 cmp r6, lr 70038664: f6ff af7f blt.w 70038566 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x53a> 70038668: f1b6 3fff cmp.w r6, #4294967295 @ 0xffffffff 7003866c: dbe5 blt.n 7003863a <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x60e> 7003866e: 42be cmp r6, r7 70038670: dae3 bge.n 7003863a <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x60e> 70038672: f1b0 3fff cmp.w r0, #4294967295 @ 0xffffffff 70038676: dbe0 blt.n 7003863a <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x60e> 70038678: 4298 cmp r0, r3 7003867a: dade bge.n 7003863a <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x60e> 7003867c: b21b sxth r3, r3 7003867e: e9cd 2503 strd r2, r5, [sp, #12] 70038682: 22ff movs r2, #255 @ 0xff 70038684: 9300 str r3, [sp, #0] 70038686: b23b sxth r3, r7 70038688: 9205 str r2, [sp, #20] 7003868a: 9a08 ldr r2, [sp, #32] 7003868c: e9cd 6001 strd r6, r0, [sp, #4] 70038690: 9819 ldr r0, [sp, #100] @ 0x64 70038692: f7ff fbc3 bl 70037e1c <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA16writePixelOnEdgeEPmPKhssiihhh> 70038696: e7d0 b.n 7003863a <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x60e> 70038698: e9dd 9e1c ldrd r9, lr, [sp, #112] @ 0x70 7003869c: f8dd a068 ldr.w sl, [sp, #104] @ 0x68 700386a0: f109 0301 add.w r3, r9, #1 700386a4: eb0a 0a83 add.w sl, sl, r3, lsl #2 700386a8: e522 b.n 700380f0 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 700386aa: 464b mov r3, r9 700386ac: f8cd a058 str.w sl, [sp, #88] @ 0x58 700386b0: f10a 0904 add.w r9, sl, #4 700386b4: 469a mov sl, r3 700386b6: e9cd e817 strd lr, r8, [sp, #92] @ 0x5c 700386ba: e004 b.n 700386c6 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x69a> 700386bc: 9b30 ldr r3, [sp, #192] @ 0xc0 700386be: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff 700386c2: f9b3 1008 ldrsh.w r1, [r3, #8] 700386c6: 1422 asrs r2, r4, #16 700386c8: f3cb 3603 ubfx r6, fp, #12, #4 700386cc: ea4f 432b mov.w r3, fp, asr #16 700386d0: f3c4 3003 ubfx r0, r4, #12, #4 700386d4: eb01 0841 add.w r8, r1, r1, lsl #1 700386d8: f414 4f70 tst.w r4, #61440 @ 0xf000 700386dc: fb01 3302 mla r3, r1, r2, r3 700386e0: 9a2b ldr r2, [sp, #172] @ 0xac 700386e2: fb06 fc00 mul.w ip, r6, r0 700386e6: eb03 0343 add.w r3, r3, r3, lsl #1 700386ea: 4493 add fp, r2 700386ec: 9a08 ldr r2, [sp, #32] 700386ee: f50c 7580 add.w r5, ip, #256 @ 0x100 700386f2: eb02 0703 add.w r7, r2, r3 700386f6: eba5 1506 sub.w r5, r5, r6, lsl #4 700386fa: ebcc 1606 rsb r6, ip, r6, lsl #4 700386fe: 5cd2 ldrb r2, [r2, r3] 70038700: 78b9 ldrb r1, [r7, #2] 70038702: eba5 1500 sub.w r5, r5, r0, lsl #4 70038706: b2b6 uxth r6, r6 70038708: 787b ldrb r3, [r7, #1] 7003870a: 910f str r1, [sp, #60] @ 0x3c 7003870c: b2ad uxth r5, r5 7003870e: 78f9 ldrb r1, [r7, #3] 70038710: ebcc 1000 rsb r0, ip, r0, lsl #4 70038714: eb07 0e08 add.w lr, r7, r8 70038718: fb06 f101 mul.w r1, r6, r1 7003871c: b280 uxth r0, r0 7003871e: fb05 1102 mla r1, r5, r2, r1 70038722: 793a ldrb r2, [r7, #4] 70038724: fb06 f202 mul.w r2, r6, r2 70038728: fb05 2203 mla r2, r5, r3, r2 7003872c: 797b ldrb r3, [r7, #5] 7003872e: fb06 f303 mul.w r3, r6, r3 70038732: 9e0f ldr r6, [sp, #60] @ 0x3c 70038734: fb05 3306 mla r3, r5, r6, r3 70038738: 9d2c ldr r5, [sp, #176] @ 0xb0 7003873a: 442c add r4, r5 7003873c: d011 beq.n 70038762 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x736> 7003873e: f817 5008 ldrb.w r5, [r7, r8] 70038742: 9509 str r5, [sp, #36] @ 0x24 70038744: f89e 5001 ldrb.w r5, [lr, #1] 70038748: 950a str r5, [sp, #40] @ 0x28 7003874a: f89e 5002 ldrb.w r5, [lr, #2] 7003874e: 950b str r5, [sp, #44] @ 0x2c 70038750: f89e 5003 ldrb.w r5, [lr, #3] 70038754: 950c str r5, [sp, #48] @ 0x30 70038756: f89e 5004 ldrb.w r5, [lr, #4] 7003875a: 950d str r5, [sp, #52] @ 0x34 7003875c: f89e 5005 ldrb.w r5, [lr, #5] 70038760: 950e str r5, [sp, #56] @ 0x38 70038762: 9d09 ldr r5, [sp, #36] @ 0x24 70038764: f109 0904 add.w r9, r9, #4 70038768: fb00 1105 mla r1, r0, r5, r1 7003876c: 9d0a ldr r5, [sp, #40] @ 0x28 7003876e: fb00 2205 mla r2, r0, r5, r2 70038772: 9d0b ldr r5, [sp, #44] @ 0x2c 70038774: fb00 3305 mla r3, r0, r5, r3 70038778: 9807 ldr r0, [sp, #28] 7003877a: f809 0c05 strb.w r0, [r9, #-5] 7003877e: 980c ldr r0, [sp, #48] @ 0x30 70038780: fb0c 1100 mla r1, ip, r0, r1 70038784: 980d ldr r0, [sp, #52] @ 0x34 70038786: fb0c 2200 mla r2, ip, r0, r2 7003878a: 980e ldr r0, [sp, #56] @ 0x38 7003878c: 1209 asrs r1, r1, #8 7003878e: fb0c 3300 mla r3, ip, r0, r3 70038792: 1212 asrs r2, r2, #8 70038794: f809 1c08 strb.w r1, [r9, #-8] 70038798: 121b asrs r3, r3, #8 7003879a: f809 2c07 strb.w r2, [r9, #-7] 7003879e: f809 3c06 strb.w r3, [r9, #-6] 700387a2: f1ba 0f00 cmp.w sl, #0 700387a6: d189 bne.n 700386bc <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x690> 700387a8: f8dd 8060 ldr.w r8, [sp, #96] @ 0x60 700387ac: e9dd ae16 ldrd sl, lr, [sp, #88] @ 0x58 700387b0: eb0a 0a88 add.w sl, sl, r8, lsl #2 700387b4: e49c b.n 700380f0 <_ZN8touchgfx12LCDGPU2D_AXI58TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_GA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xc4> 700387b6: bf00 nop 700387b8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh>: 700387b8: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 700387bc: e9dd 7508 ldrd r7, r5, [sp, #32] 700387c0: f9bd e01c ldrsh.w lr, [sp, #28] 700387c4: fb05 7003 mla r0, r5, r3, r7 700387c8: f89d c02c ldrb.w ip, [sp, #44] @ 0x2c 700387cc: 45ae cmp lr, r5 700387ce: 680c ldr r4, [r1, #0] 700387d0: eb00 0640 add.w r6, r0, r0, lsl #1 700387d4: f89d 0028 ldrb.w r0, [sp, #40] @ 0x28 700387d8: eb02 0806 add.w r8, r2, r6 700387dc: dd62 ble.n 700388a4 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0xec> 700387de: 2d00 cmp r5, #0 700387e0: db60 blt.n 700388a4 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0xec> 700387e2: 42bb cmp r3, r7 700387e4: f340 8092 ble.w 7003890c <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x154> 700387e8: 2f00 cmp r7, #0 700387ea: f2c0 808f blt.w 7003890c <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x154> 700387ee: 5d92 ldrb r2, [r2, r6] 700387f0: f898 6002 ldrb.w r6, [r8, #2] 700387f4: f898 9001 ldrb.w r9, [r8, #1] 700387f8: 0436 lsls r6, r6, #16 700387fa: ea46 2609 orr.w r6, r6, r9, lsl #8 700387fe: 4316 orrs r6, r2 70038800: 1c7a adds r2, r7, #1 70038802: 2800 cmp r0, #0 70038804: ea6f 0902 mvn.w r9, r2 70038808: ea4f 79d9 mov.w r9, r9, lsr #31 7003880c: bf08 it eq 7003880e: f04f 0900 moveq.w r9, #0 70038812: f1b9 0f00 cmp.w r9, #0 70038816: d001 beq.n 7003881c <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x64> 70038818: 4293 cmp r3, r2 7003881a: dc79 bgt.n 70038910 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x158> 7003881c: 3501 adds r5, #1 7003881e: 4622 mov r2, r4 70038820: 2d00 cmp r5, #0 70038822: bfa8 it ge 70038824: 45ae cmpge lr, r5 70038826: dc44 bgt.n 700388b2 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0xfa> 70038828: 46a6 mov lr, r4 7003882a: fb00 f50c mul.w r5, r0, ip 7003882e: f002 13ff and.w r3, r2, #16711935 @ 0xff00ff 70038832: f402 427f and.w r2, r2, #65280 @ 0xff00 70038836: f006 17ff and.w r7, r6, #16711935 @ 0xff00ff 7003883a: eba5 180c sub.w r8, r5, ip, lsl #4 7003883e: f406 467f and.w r6, r6, #65280 @ 0xff00 70038842: ebc5 1c0c rsb ip, r5, ip, lsl #4 70038846: f508 7880 add.w r8, r8, #256 @ 0x100 7003884a: fa1f fc8c uxth.w ip, ip 7003884e: eba8 1800 sub.w r8, r8, r0, lsl #4 70038852: ebc5 1000 rsb r0, r5, r0, lsl #4 70038856: fa1f f888 uxth.w r8, r8 7003885a: b280 uxth r0, r0 7003885c: fb00 f303 mul.w r3, r0, r3 70038860: fb00 f202 mul.w r2, r0, r2 70038864: f004 10ff and.w r0, r4, #16711935 @ 0xff00ff 70038868: fb08 3307 mla r3, r8, r7, r3 7003886c: f404 447f and.w r4, r4, #65280 @ 0xff00 70038870: fb08 2206 mla r2, r8, r6, r2 70038874: fb05 3300 mla r3, r5, r0, r3 70038878: f00e 10ff and.w r0, lr, #16711935 @ 0xff00ff 7003887c: fb05 2204 mla r2, r5, r4, r2 70038880: f40e 4e7f and.w lr, lr, #65280 @ 0xff00 70038884: fb0c 3300 mla r3, ip, r0, r3 70038888: fb0c 220e mla r2, ip, lr, r2 7003888c: 0a1b lsrs r3, r3, #8 7003888e: 0a12 lsrs r2, r2, #8 70038890: f003 13ff and.w r3, r3, #16711935 @ 0xff00ff 70038894: f402 427f and.w r2, r2, #65280 @ 0xff00 70038898: 4313 orrs r3, r2 7003889a: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 7003889e: 600b str r3, [r1, #0] 700388a0: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 700388a4: 4622 mov r2, r4 700388a6: 4626 mov r6, r4 700388a8: 3501 adds r5, #1 700388aa: 2d00 cmp r5, #0 700388ac: bfa8 it ge 700388ae: 45ae cmpge lr, r5 700388b0: ddba ble.n 70038828 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x70> 700388b2: f1bc 0f00 cmp.w ip, #0 700388b6: d0b7 beq.n 70038828 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x70> 700388b8: eb03 0e43 add.w lr, r3, r3, lsl #1 700388bc: 2f00 cmp r7, #0 700388be: eb08 050e add.w r5, r8, lr 700388c2: db31 blt.n 70038928 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x170> 700388c4: 42bb cmp r3, r7 700388c6: dd2f ble.n 70038928 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x170> 700388c8: f818 800e ldrb.w r8, [r8, lr] 700388cc: f895 e002 ldrb.w lr, [r5, #2] 700388d0: f895 9001 ldrb.w r9, [r5, #1] 700388d4: ea4f 4e0e mov.w lr, lr, lsl #16 700388d8: ea4e 2e09 orr.w lr, lr, r9, lsl #8 700388dc: ea4e 0e08 orr.w lr, lr, r8 700388e0: 3701 adds r7, #1 700388e2: 2800 cmp r0, #0 700388e4: ea6f 0807 mvn.w r8, r7 700388e8: ea4f 78d8 mov.w r8, r8, lsr #31 700388ec: bf08 it eq 700388ee: f04f 0800 moveq.w r8, #0 700388f2: f1b8 0f00 cmp.w r8, #0 700388f6: d098 beq.n 7003882a <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x72> 700388f8: 42bb cmp r3, r7 700388fa: dd96 ble.n 7003882a <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x72> 700388fc: 796c ldrb r4, [r5, #5] 700388fe: 792b ldrb r3, [r5, #4] 70038900: 0424 lsls r4, r4, #16 70038902: ea44 2403 orr.w r4, r4, r3, lsl #8 70038906: 78eb ldrb r3, [r5, #3] 70038908: 431c orrs r4, r3 7003890a: e78e b.n 7003882a <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x72> 7003890c: 4626 mov r6, r4 7003890e: e777 b.n 70038800 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x48> 70038910: f898 2005 ldrb.w r2, [r8, #5] 70038914: f898 9004 ldrb.w r9, [r8, #4] 70038918: 0412 lsls r2, r2, #16 7003891a: ea42 2209 orr.w r2, r2, r9, lsl #8 7003891e: f898 9003 ldrb.w r9, [r8, #3] 70038922: ea42 0209 orr.w r2, r2, r9 70038926: e7bf b.n 700388a8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0xf0> 70038928: 46a6 mov lr, r4 7003892a: e7d9 b.n 700388e0 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh+0x128> 7003892c <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff>: 7003892c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70038930: b09b sub sp, #108 @ 0x6c 70038932: 461e mov r6, r3 70038934: 4617 mov r7, r2 70038936: 2500 movs r5, #0 70038938: 9018 str r0, [sp, #96] @ 0x60 7003893a: 9219 str r2, [sp, #100] @ 0x64 7003893c: 42a9 cmp r1, r5 7003893e: 9a2b ldr r2, [sp, #172] @ 0xac 70038940: f8dd e090 ldr.w lr, [sp, #144] @ 0x90 70038944: f8dd 909c ldr.w r9, [sp, #156] @ 0x9c 70038948: 9510 str r5, [sp, #64] @ 0x40 7003894a: 9515 str r5, [sp, #84] @ 0x54 7003894c: 910f str r1, [sp, #60] @ 0x3c 7003894e: e9dd 4329 ldrd r4, r3, [sp, #164] @ 0xa4 70038952: e9dd a825 ldrd sl, r8, [sp, #148] @ 0x94 70038956: 6860 ldr r0, [r4, #4] 70038958: fb00 3302 mla r3, r0, r2, r3 7003895c: 6822 ldr r2, [r4, #0] 7003895e: eb02 0b83 add.w fp, r2, r3, lsl #2 70038962: 9b2c ldr r3, [sp, #176] @ 0xb0 70038964: 681b ldr r3, [r3, #0] 70038966: e9cd 5511 strd r5, r5, [sp, #68] @ 0x44 7003896a: e9cd 5513 strd r5, r5, [sp, #76] @ 0x4c 7003896e: e9cd 5507 strd r5, r5, [sp, #28] 70038972: e9cd 5509 strd r5, r5, [sp, #36] @ 0x24 70038976: e9cd 550b strd r5, r5, [sp, #44] @ 0x2c 7003897a: 930d str r3, [sp, #52] @ 0x34 7003897c: dc01 bgt.n 70038982 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x56> 7003897e: 42af cmp r7, r5 70038980: dd73 ble.n 70038a6a <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x13e> 70038982: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 70038986: 960e str r6, [sp, #56] @ 0x38 70038988: 465d mov r5, fp 7003898a: 4676 mov r6, lr 7003898c: 9a2c ldr r2, [sp, #176] @ 0xb0 7003898e: 9b2c ldr r3, [sp, #176] @ 0xb0 70038990: 990e ldr r1, [sp, #56] @ 0x38 70038992: 68d7 ldr r7, [r2, #12] 70038994: 689b ldr r3, [r3, #8] 70038996: 2900 cmp r1, #0 70038998: fa0f fc87 sxth.w ip, r7 7003899c: b21a sxth r2, r3 7003899e: dd69 ble.n 70038a74 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x148> 700389a0: 9306 str r3, [sp, #24] 700389a2: 1e50 subs r0, r2, #1 700389a4: f10c 3eff add.w lr, ip, #4294967295 @ 0xffffffff 700389a8: 460b mov r3, r1 700389aa: f8dd b0a0 ldr.w fp, [sp, #160] @ 0xa0 700389ae: e010 b.n 700389d2 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xa6> 700389b0: 4571 cmp r1, lr 700389b2: da02 bge.n 700389ba <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8e> 700389b4: 2900 cmp r1, #0 700389b6: f280 81ac bge.w 70038d12 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3e6> 700389ba: f1b1 3fff cmp.w r1, #4294967295 @ 0xffffffff 700389be: db02 blt.n 700389c6 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x9a> 700389c0: 4561 cmp r1, ip 700389c2: f2c0 81a9 blt.w 70038d18 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3ec> 700389c6: 3b01 subs r3, #1 700389c8: 44ca add sl, r9 700389ca: 44d8 add r8, fp 700389cc: f105 0504 add.w r5, r5, #4 700389d0: d013 beq.n 700389fa <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xce> 700389d2: f1ba 0f00 cmp.w sl, #0 700389d6: ea4f 4128 mov.w r1, r8, asr #16 700389da: ea4f 442a mov.w r4, sl, asr #16 700389de: db01 blt.n 700389e4 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xb8> 700389e0: 4284 cmp r4, r0 700389e2: dbe5 blt.n 700389b0 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x84> 700389e4: f1b4 3fff cmp.w r4, #4294967295 @ 0xffffffff 700389e8: dbed blt.n 700389c6 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x9a> 700389ea: 4294 cmp r4, r2 700389ec: dbe5 blt.n 700389ba <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x8e> 700389ee: 3b01 subs r3, #1 700389f0: 44ca add sl, r9 700389f2: 44d8 add r8, fp 700389f4: f105 0504 add.w r5, r5, #4 700389f8: d1eb bne.n 700389d2 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xa6> 700389fa: 9b0f ldr r3, [sp, #60] @ 0x3c 700389fc: 2b00 cmp r3, #0 700389fe: dd34 ble.n 70038a6a <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x13e> 70038a00: ee30 0a04 vadd.f32 s0, s0, s8 70038a04: 3b01 subs r3, #1 70038a06: ee70 0aa4 vadd.f32 s1, s1, s9 70038a0a: ee31 1a05 vadd.f32 s2, s2, s10 70038a0e: 930f str r3, [sp, #60] @ 0x3c 70038a10: eec5 7a80 vdiv.f32 s15, s11, s0 70038a14: eef0 3a62 vmov.f32 s7, s5 70038a18: eefe 3ac8 vcvt.s32.f32 s7, s7, #16 70038a1c: ee13 aa90 vmov sl, s7 70038a20: eef0 3a43 vmov.f32 s7, s6 70038a24: eefe 3ac8 vcvt.s32.f32 s7, s7, #16 70038a28: ee20 6aa7 vmul.f32 s12, s1, s15 70038a2c: ee61 7a27 vmul.f32 s15, s2, s15 70038a30: ee13 8a90 vmov r8, s7 70038a34: ee76 6a62 vsub.f32 s13, s12, s5 70038a38: ee37 7ac3 vsub.f32 s14, s15, s6 70038a3c: eefe 6ac8 vcvt.s32.f32 s13, s13, #16 70038a40: eebe 7ac8 vcvt.s32.f32 s14, s14, #16 70038a44: ee16 2a90 vmov r2, s13 70038a48: fb92 f9f6 sdiv r9, r2, r6 70038a4c: ee17 2a10 vmov r2, s14 70038a50: fb92 f2f6 sdiv r2, r2, r6 70038a54: 9228 str r2, [sp, #160] @ 0xa0 70038a56: d10b bne.n 70038a70 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x144> 70038a58: 9b19 ldr r3, [sp, #100] @ 0x64 70038a5a: 2b00 cmp r3, #0 70038a5c: dd05 ble.n 70038a6a <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x13e> 70038a5e: 930e str r3, [sp, #56] @ 0x38 70038a60: eeb0 3a67 vmov.f32 s6, s15 70038a64: eef0 2a46 vmov.f32 s5, s12 70038a68: e790 b.n 7003898c <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x60> 70038a6a: b01b add sp, #108 @ 0x6c 70038a6c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70038a70: 960e str r6, [sp, #56] @ 0x38 70038a72: e7f5 b.n 70038a60 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x134> 70038a74: d0c1 beq.n 700389fa <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xce> 70038a76: 1e50 subs r0, r2, #1 70038a78: 990e ldr r1, [sp, #56] @ 0x38 70038a7a: f101 3bff add.w fp, r1, #4294967295 @ 0xffffffff 70038a7e: fb09 a10b mla r1, r9, fp, sl 70038a82: ebb0 4f21 cmp.w r0, r1, asr #16 70038a86: ea4f 4421 mov.w r4, r1, asr #16 70038a8a: f340 8095 ble.w 70038bb8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x28c> 70038a8e: 2c00 cmp r4, #0 70038a90: f2c0 8092 blt.w 70038bb8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x28c> 70038a94: 9928 ldr r1, [sp, #160] @ 0xa0 70038a96: f10c 3cff add.w ip, ip, #4294967295 @ 0xffffffff 70038a9a: fb01 810b mla r1, r1, fp, r8 70038a9e: ebbc 4f21 cmp.w ip, r1, asr #16 70038aa2: ea4f 4021 mov.w r0, r1, asr #16 70038aa6: f340 8087 ble.w 70038bb8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x28c> 70038aaa: 2800 cmp r0, #0 70038aac: f2c0 8084 blt.w 70038bb8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x28c> 70038ab0: 9b0e ldr r3, [sp, #56] @ 0x38 70038ab2: 2b00 cmp r3, #0 70038ab4: dda1 ble.n 700389fa <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xce> 70038ab6: 46de mov lr, fp 70038ab8: 9506 str r5, [sp, #24] 70038aba: 9516 str r5, [sp, #88] @ 0x58 70038abc: 9624 str r6, [sp, #144] @ 0x90 70038abe: f8cd 909c str.w r9, [sp, #156] @ 0x9c 70038ac2: e004 b.n 70038ace <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x1a2> 70038ac4: 9b2c ldr r3, [sp, #176] @ 0xb0 70038ac6: f10e 3eff add.w lr, lr, #4294967295 @ 0xffffffff 70038aca: f9b3 2008 ldrsh.w r2, [r3, #8] 70038ace: ea4f 4128 mov.w r1, r8, asr #16 70038ad2: f3ca 3403 ubfx r4, sl, #12, #4 70038ad6: ea4f 432a mov.w r3, sl, asr #16 70038ada: f418 4f70 tst.w r8, #61440 @ 0xf000 70038ade: eb02 0c42 add.w ip, r2, r2, lsl #1 70038ae2: fb02 3301 mla r3, r2, r1, r3 70038ae6: f3c8 3103 ubfx r1, r8, #12, #4 70038aea: 9a27 ldr r2, [sp, #156] @ 0x9c 70038aec: fb04 f601 mul.w r6, r4, r1 70038af0: eb03 0343 add.w r3, r3, r3, lsl #1 70038af4: 4492 add sl, r2 70038af6: 9a0d ldr r2, [sp, #52] @ 0x34 70038af8: f506 7080 add.w r0, r6, #256 @ 0x100 70038afc: eb02 0503 add.w r5, r2, r3 70038b00: 5cd3 ldrb r3, [r2, r3] 70038b02: eba0 1004 sub.w r0, r0, r4, lsl #4 70038b06: ebc6 1404 rsb r4, r6, r4, lsl #4 70038b0a: 78ea ldrb r2, [r5, #3] 70038b0c: eba0 1001 sub.w r0, r0, r1, lsl #4 70038b10: f895 b001 ldrb.w fp, [r5, #1] 70038b14: b2a4 uxth r4, r4 70038b16: f895 9002 ldrb.w r9, [r5, #2] 70038b1a: b280 uxth r0, r0 70038b1c: eb05 070c add.w r7, r5, ip 70038b20: fb04 f202 mul.w r2, r4, r2 70038b24: ebc6 1101 rsb r1, r6, r1, lsl #4 70038b28: fb00 2203 mla r2, r0, r3, r2 70038b2c: 792b ldrb r3, [r5, #4] 70038b2e: b289 uxth r1, r1 70038b30: fb04 f303 mul.w r3, r4, r3 70038b34: fb00 330b mla r3, r0, fp, r3 70038b38: f895 b005 ldrb.w fp, [r5, #5] 70038b3c: fb04 fb0b mul.w fp, r4, fp 70038b40: fb00 bb09 mla fp, r0, r9, fp 70038b44: 9828 ldr r0, [sp, #160] @ 0xa0 70038b46: 4480 add r8, r0 70038b48: d00c beq.n 70038b64 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x238> 70038b4a: f815 000c ldrb.w r0, [r5, ip] 70038b4e: 9007 str r0, [sp, #28] 70038b50: 7878 ldrb r0, [r7, #1] 70038b52: 9009 str r0, [sp, #36] @ 0x24 70038b54: 78b8 ldrb r0, [r7, #2] 70038b56: 900b str r0, [sp, #44] @ 0x2c 70038b58: 78f8 ldrb r0, [r7, #3] 70038b5a: 9008 str r0, [sp, #32] 70038b5c: 7938 ldrb r0, [r7, #4] 70038b5e: 900a str r0, [sp, #40] @ 0x28 70038b60: 7978 ldrb r0, [r7, #5] 70038b62: 900c str r0, [sp, #48] @ 0x30 70038b64: 9807 ldr r0, [sp, #28] 70038b66: fb01 2200 mla r2, r1, r0, r2 70038b6a: 9809 ldr r0, [sp, #36] @ 0x24 70038b6c: fb01 3300 mla r3, r1, r0, r3 70038b70: 980b ldr r0, [sp, #44] @ 0x2c 70038b72: fb01 bb00 mla fp, r1, r0, fp 70038b76: 9908 ldr r1, [sp, #32] 70038b78: fb06 2201 mla r2, r6, r1, r2 70038b7c: 990a ldr r1, [sp, #40] @ 0x28 70038b7e: fb06 3301 mla r3, r6, r1, r3 70038b82: 990c ldr r1, [sp, #48] @ 0x30 70038b84: f3c2 2207 ubfx r2, r2, #8, #8 70038b88: fb06 bb01 mla fp, r6, r1, fp 70038b8c: f403 437f and.w r3, r3, #65280 @ 0xff00 70038b90: ea4f 2b0b mov.w fp, fp, lsl #8 70038b94: 4313 orrs r3, r2 70038b96: 9a06 ldr r2, [sp, #24] 70038b98: f40b 0b7f and.w fp, fp, #16711680 @ 0xff0000 70038b9c: ea43 030b orr.w r3, r3, fp 70038ba0: f842 3b04 str.w r3, [r2], #4 70038ba4: 9206 str r2, [sp, #24] 70038ba6: f1be 0f00 cmp.w lr, #0 70038baa: d18b bne.n 70038ac4 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x198> 70038bac: 9d16 ldr r5, [sp, #88] @ 0x58 70038bae: 9b0e ldr r3, [sp, #56] @ 0x38 70038bb0: 9e24 ldr r6, [sp, #144] @ 0x90 70038bb2: eb05 0583 add.w r5, r5, r3, lsl #2 70038bb6: e720 b.n 700389fa <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xce> 70038bb8: 9a0e ldr r2, [sp, #56] @ 0x38 70038bba: 2a00 cmp r2, #0 70038bbc: f77f af1d ble.w 700389fa <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xce> 70038bc0: 465a mov r2, fp 70038bc2: 4628 mov r0, r5 70038bc4: ea4f 442a mov.w r4, sl, asr #16 70038bc8: ea4f 4128 mov.w r1, r8, asr #16 70038bcc: f8cd 909c str.w r9, [sp, #156] @ 0x9c 70038bd0: 9624 str r6, [sp, #144] @ 0x90 70038bd2: f8dd 90b0 ldr.w r9, [sp, #176] @ 0xb0 70038bd6: e9cd 0216 strd r0, r2, [sp, #88] @ 0x58 70038bda: e074 b.n 70038cc6 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x39a> 70038bdc: 1e78 subs r0, r7, #1 70038bde: 4281 cmp r1, r0 70038be0: da7f bge.n 70038ce2 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3b6> 70038be2: 2900 cmp r1, #0 70038be4: db7d blt.n 70038ce2 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3b6> 70038be6: b218 sxth r0, r3 70038be8: 9b0d ldr r3, [sp, #52] @ 0x34 70038bea: fb01 4400 mla r4, r1, r0, r4 70038bee: eb04 0444 add.w r4, r4, r4, lsl #1 70038bf2: 1919 adds r1, r3, r4 70038bf4: 5d1b ldrb r3, [r3, r4] 70038bf6: 9306 str r3, [sp, #24] 70038bf8: 788b ldrb r3, [r1, #2] 70038bfa: f891 e001 ldrb.w lr, [r1, #1] 70038bfe: 930e str r3, [sp, #56] @ 0x38 70038c00: 790c ldrb r4, [r1, #4] 70038c02: 78cb ldrb r3, [r1, #3] 70038c04: 794f ldrb r7, [r1, #5] 70038c06: b1a2 cbz r2, 70038c32 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x306> 70038c08: eb00 0040 add.w r0, r0, r0, lsl #1 70038c0c: eb01 0c00 add.w ip, r1, r0 70038c10: 5c09 ldrb r1, [r1, r0] 70038c12: 9110 str r1, [sp, #64] @ 0x40 70038c14: f89c 1001 ldrb.w r1, [ip, #1] 70038c18: 9112 str r1, [sp, #72] @ 0x48 70038c1a: f89c 1002 ldrb.w r1, [ip, #2] 70038c1e: 9114 str r1, [sp, #80] @ 0x50 70038c20: f89c 1003 ldrb.w r1, [ip, #3] 70038c24: 9111 str r1, [sp, #68] @ 0x44 70038c26: f89c 1004 ldrb.w r1, [ip, #4] 70038c2a: 9113 str r1, [sp, #76] @ 0x4c 70038c2c: f89c 1005 ldrb.w r1, [ip, #5] 70038c30: 9115 str r1, [sp, #84] @ 0x54 70038c32: fb06 f002 mul.w r0, r6, r2 70038c36: f500 7180 add.w r1, r0, #256 @ 0x100 70038c3a: ebc0 1c02 rsb ip, r0, r2, lsl #4 70038c3e: eba1 1106 sub.w r1, r1, r6, lsl #4 70038c42: ebc0 1606 rsb r6, r0, r6, lsl #4 70038c46: eba1 1102 sub.w r1, r1, r2, lsl #4 70038c4a: 9a06 ldr r2, [sp, #24] 70038c4c: b2b6 uxth r6, r6 70038c4e: b289 uxth r1, r1 70038c50: fb06 f303 mul.w r3, r6, r3 70038c54: fb06 f404 mul.w r4, r6, r4 70038c58: fb01 3302 mla r3, r1, r2, r3 70038c5c: 9a0e ldr r2, [sp, #56] @ 0x38 70038c5e: fb06 f707 mul.w r7, r6, r7 70038c62: fb01 440e mla r4, r1, lr, r4 70038c66: fb01 7702 mla r7, r1, r2, r7 70038c6a: fa1f f28c uxth.w r2, ip 70038c6e: 9910 ldr r1, [sp, #64] @ 0x40 70038c70: fb02 3301 mla r3, r2, r1, r3 70038c74: 9912 ldr r1, [sp, #72] @ 0x48 70038c76: fb02 4401 mla r4, r2, r1, r4 70038c7a: 9914 ldr r1, [sp, #80] @ 0x50 70038c7c: fb02 7201 mla r2, r2, r1, r7 70038c80: 9911 ldr r1, [sp, #68] @ 0x44 70038c82: fb00 3301 mla r3, r0, r1, r3 70038c86: 9913 ldr r1, [sp, #76] @ 0x4c 70038c88: fb00 4401 mla r4, r0, r1, r4 70038c8c: 9915 ldr r1, [sp, #84] @ 0x54 70038c8e: f3c3 2307 ubfx r3, r3, #8, #8 70038c92: fb00 2201 mla r2, r0, r1, r2 70038c96: f404 447f and.w r4, r4, #65280 @ 0xff00 70038c9a: 0212 lsls r2, r2, #8 70038c9c: 4323 orrs r3, r4 70038c9e: f402 027f and.w r2, r2, #16711680 @ 0xff0000 70038ca2: 4313 orrs r3, r2 70038ca4: 602b str r3, [r5, #0] 70038ca6: 9b27 ldr r3, [sp, #156] @ 0x9c 70038ca8: f10b 3bff add.w fp, fp, #4294967295 @ 0xffffffff 70038cac: 3504 adds r5, #4 70038cae: 449a add sl, r3 70038cb0: f1bb 3fff cmp.w fp, #4294967295 @ 0xffffffff 70038cb4: 9b28 ldr r3, [sp, #160] @ 0xa0 70038cb6: 4498 add r8, r3 70038cb8: d024 beq.n 70038d04 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3d8> 70038cba: ea4f 442a mov.w r4, sl, asr #16 70038cbe: ea4f 4128 mov.w r1, r8, asr #16 70038cc2: e9d9 3702 ldrd r3, r7, [r9, #8] 70038cc6: f103 3cff add.w ip, r3, #4294967295 @ 0xffffffff 70038cca: f3ca 3603 ubfx r6, sl, #12, #4 70038cce: f3c8 3203 ubfx r2, r8, #12, #4 70038cd2: 4564 cmp r4, ip 70038cd4: da01 bge.n 70038cda <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x3ae> 70038cd6: 2c00 cmp r4, #0 70038cd8: da80 bge.n 70038bdc <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2b0> 70038cda: 1c60 adds r0, r4, #1 70038cdc: dbe3 blt.n 70038ca6 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x37a> 70038cde: 429c cmp r4, r3 70038ce0: dae1 bge.n 70038ca6 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x37a> 70038ce2: 1c48 adds r0, r1, #1 70038ce4: dbdf blt.n 70038ca6 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x37a> 70038ce6: 42b9 cmp r1, r7 70038ce8: dadd bge.n 70038ca6 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x37a> 70038cea: b23f sxth r7, r7 70038cec: 9818 ldr r0, [sp, #96] @ 0x60 70038cee: b21b sxth r3, r3 70038cf0: 9700 str r7, [sp, #0] 70038cf2: e9cd 6203 strd r6, r2, [sp, #12] 70038cf6: e9cd 4101 strd r4, r1, [sp, #4] 70038cfa: 9a0d ldr r2, [sp, #52] @ 0x34 70038cfc: 4629 mov r1, r5 70038cfe: f7ff fd5b bl 700387b8 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA16writePixelOnEdgeEPmPKhssiihh> 70038d02: e7d0 b.n 70038ca6 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x37a> 70038d04: e9dd 0216 ldrd r0, r2, [sp, #88] @ 0x58 70038d08: 9e24 ldr r6, [sp, #144] @ 0x90 70038d0a: 3201 adds r2, #1 70038d0c: eb00 0582 add.w r5, r0, r2, lsl #2 70038d10: e673 b.n 700389fa <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0xce> 70038d12: 930e str r3, [sp, #56] @ 0x38 70038d14: 9b06 ldr r3, [sp, #24] 70038d16: e6af b.n 70038a78 <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x14c> 70038d18: 461a mov r2, r3 70038d1a: 4628 mov r0, r5 70038d1c: 9b06 ldr r3, [sp, #24] 70038d1e: f102 3bff add.w fp, r2, #4294967295 @ 0xffffffff 70038d22: 465a mov r2, fp 70038d24: e752 b.n 70038bcc <_ZN8touchgfx12LCDGPU2D_AXI60TextureMapper_32BPP_RGB888_Opaque_BilinearInterpolation_NoGA34drawTextureMapScanLineSubdivisionsEiiiifffllllfffffRKNS_14DrawingSurfaceEiiRKNS_14TextureSurfaceEhfff+0x2a0> 70038d26: bf00 nop 70038d28 <_ZN8touchgfx19GPU2DVectorRenderer23setTransformationMatrixERKNS_9Matrix3x3E>: 70038d28: 4b0b ldr r3, [pc, #44] @ (70038d58 <_ZN8touchgfx19GPU2DVectorRenderer23setTransformationMatrixERKNS_9Matrix3x3E+0x30>) 70038d2a: 684a ldr r2, [r1, #4] 70038d2c: 6808 ldr r0, [r1, #0] 70038d2e: 605a str r2, [r3, #4] 70038d30: 68ca ldr r2, [r1, #12] 70038d32: f8d1 c008 ldr.w ip, [r1, #8] 70038d36: 6018 str r0, [r3, #0] 70038d38: 60da str r2, [r3, #12] 70038d3a: 6908 ldr r0, [r1, #16] 70038d3c: 694a ldr r2, [r1, #20] 70038d3e: f8c3 c008 str.w ip, [r3, #8] 70038d42: 6118 str r0, [r3, #16] 70038d44: f8d1 c018 ldr.w ip, [r1, #24] 70038d48: 69c8 ldr r0, [r1, #28] 70038d4a: 615a str r2, [r3, #20] 70038d4c: 6a0a ldr r2, [r1, #32] 70038d4e: f8c3 c018 str.w ip, [r3, #24] 70038d52: 61d8 str r0, [r3, #28] 70038d54: 621a str r2, [r3, #32] 70038d56: 4770 bx lr 70038d58: 2400e130 .word 0x2400e130 70038d5c <_ZN8touchgfx19GPU2DVectorRendererD1Ev>: 70038d5c: 4770 bx lr 70038d5e: bf00 nop 70038d60 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_>: 70038d60: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 70038d64: 4e73 ldr r6, [pc, #460] @ (70038f34 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1d4>) 70038d66: b08d sub sp, #52 @ 0x34 70038d68: 460c mov r4, r1 70038d6a: 4615 mov r5, r2 70038d6c: 6830 ldr r0, [r6, #0] 70038d6e: f7f3 fa27 bl 7002c1c0 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv> 70038d72: 4b71 ldr r3, [pc, #452] @ (70038f38 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1d8>) 70038d74: 6836 ldr r6, [r6, #0] 70038d76: 781b ldrb r3, [r3, #0] 70038d78: 2b00 cmp r3, #0 70038d7a: f000 8093 beq.w 70038ea4 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x144> 70038d7e: 6833 ldr r3, [r6, #0] 70038d80: 4630 mov r0, r6 70038d82: 6b5b ldr r3, [r3, #52] @ 0x34 70038d84: 4798 blx r3 70038d86: f8d6 9040 ldr.w r9, [r6, #64] @ 0x40 70038d8a: 4581 cmp r9, r0 70038d8c: f000 80bf beq.w 70038f0e <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1ae> 70038d90: 4e6a ldr r6, [pc, #424] @ (70038f3c <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1dc>) 70038d92: 4f6b ldr r7, [pc, #428] @ (70038f40 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1e0>) 70038d94: f896 8000 ldrb.w r8, [r6] 70038d98: 4b6a ldr r3, [pc, #424] @ (70038f44 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1e4>) 70038d9a: f1b8 0f01 cmp.w r8, #1 70038d9e: f8b7 b000 ldrh.w fp, [r7] 70038da2: f8b3 a000 ldrh.w sl, [r3] 70038da6: d002 beq.n 70038dae <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x4e> 70038da8: 465b mov r3, fp 70038daa: 46d3 mov fp, sl 70038dac: 469a mov sl, r3 70038dae: 4b66 ldr r3, [pc, #408] @ (70038f48 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1e8>) 70038db0: 681b ldr r3, [r3, #0] 70038db2: f893 205c ldrb.w r2, [r3, #92] @ 0x5c 70038db6: 2a00 cmp r2, #0 70038db8: d062 beq.n 70038e80 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x120> 70038dba: 6d18 ldr r0, [r3, #80] @ 0x50 70038dbc: 2800 cmp r0, #0 70038dbe: d05f beq.n 70038e80 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x120> 70038dc0: 6803 ldr r3, [r0, #0] 70038dc2: 6b1b ldr r3, [r3, #48] @ 0x30 70038dc4: 4798 blx r3 70038dc6: 2801 cmp r0, #1 70038dc8: d060 beq.n 70038e8c <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x12c> 70038dca: 2802 cmp r0, #2 70038dcc: d06d beq.n 70038eaa <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x14a> 70038dce: b948 cbnz r0, 70038de4 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x84> 70038dd0: 4b5e ldr r3, [pc, #376] @ (70038f4c <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1ec>) 70038dd2: 465a mov r2, fp 70038dd4: 4651 mov r1, sl 70038dd6: 4648 mov r0, r9 70038dd8: 881b ldrh r3, [r3, #0] 70038dda: 005b lsls r3, r3, #1 70038ddc: 9300 str r3, [sp, #0] 70038dde: 2304 movs r3, #4 70038de0: f7df f95c bl 7001809c 70038de4: f8df 9178 ldr.w r9, [pc, #376] @ 70038f60 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x200> 70038de8: 4859 ldr r0, [pc, #356] @ (70038f50 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1f0>) 70038dea: f7df fec7 bl 70018b7c 70038dee: f8d9 3000 ldr.w r3, [r9] 70038df2: 2b00 cmp r3, #0 70038df4: f000 808e beq.w 70038f14 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1b4> 70038df8: 886b ldrh r3, [r5, #2] 70038dfa: f1b8 0f01 cmp.w r8, #1 70038dfe: 8861 ldrh r1, [r4, #2] 70038e00: f8b4 c000 ldrh.w ip, [r4] 70038e04: 4419 add r1, r3 70038e06: 8828 ldrh r0, [r5, #0] 70038e08: f9b5 2004 ldrsh.w r2, [r5, #4] 70038e0c: b209 sxth r1, r1 70038e0e: f9b5 3006 ldrsh.w r3, [r5, #6] 70038e12: d071 beq.n 70038ef8 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x198> 70038e14: 4484 add ip, r0 70038e16: fa0f f08c sxth.w r0, ip 70038e1a: 2500 movs r5, #0 70038e1c: f8df e144 ldr.w lr, [pc, #324] @ 70038f64 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x204> 70038e20: 46ac mov ip, r5 70038e22: f360 050f bfi r5, r0, #0, #16 70038e26: f362 0c0f bfi ip, r2, #0, #16 70038e2a: f361 451f bfi r5, r1, #16, #16 70038e2e: f363 4c1f bfi ip, r3, #16, #16 70038e32: f8ce 5000 str.w r5, [lr] 70038e36: f8ce c004 str.w ip, [lr, #4] 70038e3a: f7de ff83 bl 70017d44 70038e3e: 4845 ldr r0, [pc, #276] @ (70038f54 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1f4>) 70038e40: f7ee fd90 bl 70027964 70038e44: 2002 movs r0, #2 70038e46: f7ee fd95 bl 70027974 70038e4a: a803 add r0, sp, #12 70038e4c: f7df fe96 bl 70018b7c 70038e50: 7833 ldrb r3, [r6, #0] 70038e52: 2b01 cmp r3, #1 70038e54: d034 beq.n 70038ec0 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x160> 70038e56: f9b4 3002 ldrsh.w r3, [r4, #2] 70038e5a: a803 add r0, sp, #12 70038e5c: ee00 3a90 vmov s1, r3 70038e60: f9b4 3000 ldrsh.w r3, [r4] 70038e64: ee00 3a10 vmov s0, r3 70038e68: eef8 0ae0 vcvt.f32.s32 s1, s1 70038e6c: eeb8 0ac0 vcvt.f32.s32 s0, s0 70038e70: f7df fea6 bl 70018bc0 70038e74: a803 add r0, sp, #12 70038e76: f7ee fd91 bl 7002799c 70038e7a: b00d add sp, #52 @ 0x34 70038e7c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70038e80: 6898 ldr r0, [r3, #8] 70038e82: 6803 ldr r3, [r0, #0] 70038e84: 6b1b ldr r3, [r3, #48] @ 0x30 70038e86: 4798 blx r3 70038e88: 2801 cmp r0, #1 70038e8a: d19e bne.n 70038dca <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x6a> 70038e8c: 4b2f ldr r3, [pc, #188] @ (70038f4c <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1ec>) 70038e8e: 465a mov r2, fp 70038e90: 4651 mov r1, sl 70038e92: 4648 mov r0, r9 70038e94: 881b ldrh r3, [r3, #0] 70038e96: eb03 0343 add.w r3, r3, r3, lsl #1 70038e9a: 9300 str r3, [sp, #0] 70038e9c: 2339 movs r3, #57 @ 0x39 70038e9e: f7df f8fd bl 7001809c 70038ea2: e79f b.n 70038de4 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x84> 70038ea4: f8d6 9040 ldr.w r9, [r6, #64] @ 0x40 70038ea8: e772 b.n 70038d90 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x30> 70038eaa: 4b28 ldr r3, [pc, #160] @ (70038f4c <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1ec>) 70038eac: 465a mov r2, fp 70038eae: 4651 mov r1, sl 70038eb0: 4648 mov r0, r9 70038eb2: 881b ldrh r3, [r3, #0] 70038eb4: 009b lsls r3, r3, #2 70038eb6: 9300 str r3, [sp, #0] 70038eb8: 2310 movs r3, #16 70038eba: f7df f8ef bl 7001809c 70038ebe: e791 b.n 70038de4 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x84> 70038ec0: 883a ldrh r2, [r7, #0] 70038ec2: a803 add r0, sp, #12 70038ec4: f9b4 3000 ldrsh.w r3, [r4] 70038ec8: f9b4 1002 ldrsh.w r1, [r4, #2] 70038ecc: 1a9b subs r3, r3, r2 70038ece: ee00 1a90 vmov s1, r1 70038ed2: ee00 3a10 vmov s0, r3 70038ed6: eef8 0ae0 vcvt.f32.s32 s1, s1 70038eda: eeb8 0ac0 vcvt.f32.s32 s0, s0 70038ede: f7df fe6f bl 70018bc0 70038ee2: ed9f 0a1d vldr s0, [pc, #116] @ 70038f58 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1f8> 70038ee6: a803 add r0, sp, #12 70038ee8: f7df fea2 bl 70018c30 70038eec: a803 add r0, sp, #12 70038eee: f7ee fd55 bl 7002799c 70038ef2: b00d add sp, #52 @ 0x34 70038ef4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 70038ef8: 1885 adds r5, r0, r2 70038efa: 4608 mov r0, r1 70038efc: 8839 ldrh r1, [r7, #0] 70038efe: 4696 mov lr, r2 70038f00: 461a mov r2, r3 70038f02: 1b49 subs r1, r1, r5 70038f04: 4673 mov r3, lr 70038f06: eba1 010c sub.w r1, r1, ip 70038f0a: b209 sxth r1, r1 70038f0c: e785 b.n 70038e1a <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0xba> 70038f0e: f8d6 9044 ldr.w r9, [r6, #68] @ 0x44 70038f12: e73d b.n 70038d90 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x30> 70038f14: f7ef fa46 bl 700283a4 70038f18: f8c9 0000 str.w r0, [r9] 70038f1c: f7ef fee4 bl 70028ce8 70038f20: 4b0e ldr r3, [pc, #56] @ (70038f5c <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x1fc>) 70038f22: 4602 mov r2, r0 70038f24: 2101 movs r1, #1 70038f26: f8d9 0000 ldr.w r0, [r9] 70038f2a: 601a str r2, [r3, #0] 70038f2c: f7ef fa6e bl 7002840c 70038f30: e762 b.n 70038df8 <_ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0x98> 70038f32: bf00 nop 70038f34: 2400e0dc .word 0x2400e0dc 70038f38: 2400da74 .word 0x2400da74 70038f3c: 2400da72 .word 0x2400da72 70038f40: 2400da7c .word 0x2400da7c 70038f44: 2400da7a .word 0x2400da7a 70038f48: 2400da80 .word 0x2400da80 70038f4c: 2400da78 .word 0x2400da78 70038f50: 2400e130 .word 0x2400e130 70038f54: 04000501 .word 0x04000501 70038f58: 43870000 .word 0x43870000 70038f5c: 2400e158 .word 0x2400e158 70038f60: 2400e15c .word 0x2400e15c 70038f64: 2400e128 .word 0x2400e128 70038f68 <_ZN8touchgfx19GPU2DVectorRenderer8tearDownEv>: 70038f68: 4b06 ldr r3, [pc, #24] @ (70038f84 <_ZN8touchgfx19GPU2DVectorRenderer8tearDownEv+0x1c>) 70038f6a: b510 push {r4, lr} 70038f6c: 4c06 ldr r4, [pc, #24] @ (70038f88 <_ZN8touchgfx19GPU2DVectorRenderer8tearDownEv+0x20>) 70038f6e: 6818 ldr r0, [r3, #0] 70038f70: f7f3 f94a bl 7002c208 <_ZN8touchgfx8HALGPU2D16submitExecBufferEv> 70038f74: 6820 ldr r0, [r4, #0] 70038f76: b118 cbz r0, 70038f80 <_ZN8touchgfx19GPU2DVectorRenderer8tearDownEv+0x18> 70038f78: f7ef fa6e bl 70028458 70038f7c: 2300 movs r3, #0 70038f7e: 6023 str r3, [r4, #0] 70038f80: bd10 pop {r4, pc} 70038f82: bf00 nop 70038f84: 2400e0dc .word 0x2400e0dc 70038f88: 2400e154 .word 0x2400e154 70038f8c <_ZN8touchgfx19GPU2DVectorRenderer8drawPathEPKhmPKfmS4_>: 70038f8c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 70038f90: 4c15 ldr r4, [pc, #84] @ (70038fe8 <_ZN8touchgfx19GPU2DVectorRenderer8drawPathEPKhmPKfmS4_+0x5c>) 70038f92: b083 sub sp, #12 70038f94: 460f mov r7, r1 70038f96: 4616 mov r6, r2 70038f98: f8dd 802c ldr.w r8, [sp, #44] @ 0x2c 70038f9c: 461d mov r5, r3 70038f9e: 6820 ldr r0, [r4, #0] 70038fa0: f8dd 9028 ldr.w r9, [sp, #40] @ 0x28 70038fa4: f7ef fe74 bl 70028c90 70038fa8: 4910 ldr r1, [pc, #64] @ (70038fec <_ZN8touchgfx19GPU2DVectorRenderer8drawPathEPKhmPKfmS4_+0x60>) 70038faa: 6820 ldr r0, [r4, #0] 70038fac: f7ef ff5c bl 70028e68 70038fb0: f1b8 0f00 cmp.w r8, #0 70038fb4: d010 beq.n 70038fd8 <_ZN8touchgfx19GPU2DVectorRenderer8drawPathEPKhmPKfmS4_+0x4c> 70038fb6: f8cd 8004 str.w r8, [sp, #4] 70038fba: 464b mov r3, r9 70038fbc: 9500 str r5, [sp, #0] 70038fbe: 463a mov r2, r7 70038fc0: 4631 mov r1, r6 70038fc2: 6820 ldr r0, [r4, #0] 70038fc4: f7ef febe bl 70028d44 70038fc8: 4b09 ldr r3, [pc, #36] @ (70038ff0 <_ZN8touchgfx19GPU2DVectorRenderer8drawPathEPKhmPKfmS4_+0x64>) 70038fca: 6820 ldr r0, [r4, #0] 70038fcc: 6819 ldr r1, [r3, #0] 70038fce: b003 add sp, #12 70038fd0: e8bd 43f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, lr} 70038fd4: f7e9 b844 b.w 70022060 70038fd8: 9500 str r5, [sp, #0] 70038fda: 464b mov r3, r9 70038fdc: 463a mov r2, r7 70038fde: 4631 mov r1, r6 70038fe0: 6820 ldr r0, [r4, #0] 70038fe2: f7ef ff31 bl 70028e48 70038fe6: e7ef b.n 70038fc8 <_ZN8touchgfx19GPU2DVectorRenderer8drawPathEPKhmPKfmS4_+0x3c> 70038fe8: 2400e158 .word 0x2400e158 70038fec: 2400e130 .word 0x2400e130 70038ff0: 2400e15c .word 0x2400e15c 70038ff4 <_ZN8touchgfx19GPU2DVectorRenderer14setStrokeWidthEf>: 70038ff4: b508 push {r3, lr} 70038ff6: 4b08 ldr r3, [pc, #32] @ (70039018 <_ZN8touchgfx19GPU2DVectorRenderer14setStrokeWidthEf+0x24>) 70038ff8: 2100 movs r1, #0 70038ffa: ed2d 8b02 vpush {d8} 70038ffe: eeb0 8a40 vmov.f32 s16, s0 70039002: 6818 ldr r0, [r3, #0] 70039004: f7ef f9f6 bl 700283f4 70039008: eeb0 0a48 vmov.f32 s0, s16 7003900c: ecbd 8b02 vpop {d8} 70039010: e8bd 4008 ldmia.w sp!, {r3, lr} 70039014: f7ee bc68 b.w 700278e8 70039018: 2400e15c .word 0x2400e15c 7003901c <_ZN8touchgfx19GPU2DVectorRenderer8setColorENS_9colortypeE>: 7003901c: b538 push {r3, r4, r5, lr} 7003901e: 4d0a ldr r5, [pc, #40] @ (70039048 <_ZN8touchgfx19GPU2DVectorRenderer8setColorENS_9colortypeE+0x2c>) 70039020: 460c mov r4, r1 70039022: 2100 movs r1, #0 70039024: 6828 ldr r0, [r5, #0] 70039026: f7ef f9e5 bl 700283f4 7003902a: f3c4 2107 ubfx r1, r4, #8, #8 7003902e: 0e23 lsrs r3, r4, #24 70039030: f3c4 4007 ubfx r0, r4, #16, #8 70039034: b2e2 uxtb r2, r4 70039036: 682c ldr r4, [r5, #0] 70039038: f7de ffee bl 70018018 7003903c: 4601 mov r1, r0 7003903e: 4620 mov r0, r4 70039040: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 70039044: f7ef bd6e b.w 70028b24 70039048: 2400e15c .word 0x2400e15c 7003904c <_ZN8touchgfx19GPU2DVectorRenderer8setAlphaEh>: 7003904c: 29ff cmp r1, #255 @ 0xff 7003904e: d00b beq.n 70039068 <_ZN8touchgfx19GPU2DVectorRenderer8setAlphaEh+0x1c> 70039050: ee07 1a90 vmov s15, r1 70039054: ed9f 7a07 vldr s14, [pc, #28] @ 70039074 <_ZN8touchgfx19GPU2DVectorRenderer8setAlphaEh+0x28> 70039058: 4b07 ldr r3, [pc, #28] @ (70039078 <_ZN8touchgfx19GPU2DVectorRenderer8setAlphaEh+0x2c>) 7003905a: eef8 7ae7 vcvt.f32.s32 s15, s15 7003905e: 6818 ldr r0, [r3, #0] 70039060: ee87 0a87 vdiv.f32 s0, s15, s14 70039064: f7ef bd66 b.w 70028b34 70039068: 4b03 ldr r3, [pc, #12] @ (70039078 <_ZN8touchgfx19GPU2DVectorRenderer8setAlphaEh+0x2c>) 7003906a: eeb7 0a00 vmov.f32 s0, #112 @ 0x3f800000 1.0 7003906e: 6818 ldr r0, [r3, #0] 70039070: f7ef bd60 b.w 70028b34 70039074: 437f0000 .word 0x437f0000 70039078: 2400e15c .word 0x2400e15c 7003907c <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_>: 7003907c: b5f0 push {r4, r5, r6, r7, lr} 7003907e: 4ed9 ldr r6, [pc, #868] @ (700393e4 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x368>) 70039080: 460c mov r4, r1 70039082: 4617 mov r7, r2 70039084: 461d mov r5, r3 70039086: ed2d 8b0a vpush {d8-d12} 7003908a: 6830 ldr r0, [r6, #0] 7003908c: eeb0 9a40 vmov.f32 s18, s0 70039090: eef0 8a60 vmov.f32 s17, s1 70039094: b0c3 sub sp, #268 @ 0x10c 70039096: eef0 9a41 vmov.f32 s19, s2 7003909a: eeb0 8a61 vmov.f32 s16, s3 7003909e: eeb0 aa42 vmov.f32 s20, s4 700390a2: eef0 aa62 vmov.f32 s21, s5 700390a6: 2800 cmp r0, #0 700390a8: f000 8252 beq.w 70039550 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x4d4> 700390ac: 2c00 cmp r4, #0 700390ae: f000 8157 beq.w 70039360 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x2e4> 700390b2: 682b ldr r3, [r5, #0] 700390b4: 2c01 cmp r4, #1 700390b6: f3c3 4207 ubfx r2, r3, #16, #8 700390ba: ee07 2a90 vmov s15, r2 700390be: f3c3 2207 ubfx r2, r3, #8, #8 700390c2: eef8 7a67 vcvt.f32.u32 s15, s15 700390c6: edcd 7a1a vstr s15, [sp, #104] @ 0x68 700390ca: ee07 2a90 vmov s15, r2 700390ce: b2da uxtb r2, r3 700390d0: eef8 7a67 vcvt.f32.u32 s15, s15 700390d4: ea4f 6313 mov.w r3, r3, lsr #24 700390d8: ee07 2a10 vmov s14, r2 700390dc: edcd 7a1b vstr s15, [sp, #108] @ 0x6c 700390e0: ee07 3a90 vmov s15, r3 700390e4: eeb8 7a47 vcvt.f32.u32 s14, s14 700390e8: eef8 7ae7 vcvt.f32.s32 s15, s15 700390ec: ed8d 7a1c vstr s14, [sp, #112] @ 0x70 700390f0: edcd 7a1d vstr s15, [sp, #116] @ 0x74 700390f4: f000 8134 beq.w 70039360 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x2e4> 700390f8: 686b ldr r3, [r5, #4] 700390fa: 2c02 cmp r4, #2 700390fc: f3c3 4207 ubfx r2, r3, #16, #8 70039100: ee07 2a90 vmov s15, r2 70039104: f3c3 2207 ubfx r2, r3, #8, #8 70039108: eef8 7a67 vcvt.f32.u32 s15, s15 7003910c: edcd 7a1e vstr s15, [sp, #120] @ 0x78 70039110: ee07 2a90 vmov s15, r2 70039114: b2da uxtb r2, r3 70039116: eef8 7a67 vcvt.f32.u32 s15, s15 7003911a: ea4f 6313 mov.w r3, r3, lsr #24 7003911e: ee07 2a10 vmov s14, r2 70039122: edcd 7a1f vstr s15, [sp, #124] @ 0x7c 70039126: ee07 3a90 vmov s15, r3 7003912a: eeb8 7a47 vcvt.f32.u32 s14, s14 7003912e: eef8 7ae7 vcvt.f32.s32 s15, s15 70039132: ed8d 7a20 vstr s14, [sp, #128] @ 0x80 70039136: edcd 7a21 vstr s15, [sp, #132] @ 0x84 7003913a: f000 8111 beq.w 70039360 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x2e4> 7003913e: 68ab ldr r3, [r5, #8] 70039140: 2c03 cmp r4, #3 70039142: f3c3 4207 ubfx r2, r3, #16, #8 70039146: ee07 2a90 vmov s15, r2 7003914a: f3c3 2207 ubfx r2, r3, #8, #8 7003914e: eef8 7a67 vcvt.f32.u32 s15, s15 70039152: edcd 7a22 vstr s15, [sp, #136] @ 0x88 70039156: ee07 2a90 vmov s15, r2 7003915a: b2da uxtb r2, r3 7003915c: eef8 7a67 vcvt.f32.u32 s15, s15 70039160: ea4f 6313 mov.w r3, r3, lsr #24 70039164: ee07 2a10 vmov s14, r2 70039168: edcd 7a23 vstr s15, [sp, #140] @ 0x8c 7003916c: ee07 3a90 vmov s15, r3 70039170: eeb8 7a47 vcvt.f32.u32 s14, s14 70039174: eef8 7ae7 vcvt.f32.s32 s15, s15 70039178: ed8d 7a24 vstr s14, [sp, #144] @ 0x90 7003917c: edcd 7a25 vstr s15, [sp, #148] @ 0x94 70039180: f000 80ee beq.w 70039360 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x2e4> 70039184: 68eb ldr r3, [r5, #12] 70039186: 2c04 cmp r4, #4 70039188: f3c3 4207 ubfx r2, r3, #16, #8 7003918c: ee07 2a90 vmov s15, r2 70039190: f3c3 2207 ubfx r2, r3, #8, #8 70039194: eef8 7a67 vcvt.f32.u32 s15, s15 70039198: edcd 7a26 vstr s15, [sp, #152] @ 0x98 7003919c: ee07 2a90 vmov s15, r2 700391a0: b2da uxtb r2, r3 700391a2: eef8 7a67 vcvt.f32.u32 s15, s15 700391a6: ea4f 6313 mov.w r3, r3, lsr #24 700391aa: ee07 2a10 vmov s14, r2 700391ae: edcd 7a27 vstr s15, [sp, #156] @ 0x9c 700391b2: ee07 3a90 vmov s15, r3 700391b6: eeb8 7a47 vcvt.f32.u32 s14, s14 700391ba: eef8 7ae7 vcvt.f32.s32 s15, s15 700391be: ed8d 7a28 vstr s14, [sp, #160] @ 0xa0 700391c2: edcd 7a29 vstr s15, [sp, #164] @ 0xa4 700391c6: f000 80cb beq.w 70039360 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x2e4> 700391ca: 692b ldr r3, [r5, #16] 700391cc: 2c05 cmp r4, #5 700391ce: f3c3 4207 ubfx r2, r3, #16, #8 700391d2: ee07 2a90 vmov s15, r2 700391d6: f3c3 2207 ubfx r2, r3, #8, #8 700391da: eef8 7a67 vcvt.f32.u32 s15, s15 700391de: edcd 7a2a vstr s15, [sp, #168] @ 0xa8 700391e2: ee07 2a90 vmov s15, r2 700391e6: b2da uxtb r2, r3 700391e8: eef8 7a67 vcvt.f32.u32 s15, s15 700391ec: ea4f 6313 mov.w r3, r3, lsr #24 700391f0: ee07 2a10 vmov s14, r2 700391f4: edcd 7a2b vstr s15, [sp, #172] @ 0xac 700391f8: ee07 3a90 vmov s15, r3 700391fc: eeb8 7a47 vcvt.f32.u32 s14, s14 70039200: eef8 7ae7 vcvt.f32.s32 s15, s15 70039204: ed8d 7a2c vstr s14, [sp, #176] @ 0xb0 70039208: edcd 7a2d vstr s15, [sp, #180] @ 0xb4 7003920c: f000 80a8 beq.w 70039360 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x2e4> 70039210: 696b ldr r3, [r5, #20] 70039212: 2c06 cmp r4, #6 70039214: f3c3 4207 ubfx r2, r3, #16, #8 70039218: ee07 2a90 vmov s15, r2 7003921c: f3c3 2207 ubfx r2, r3, #8, #8 70039220: eef8 7a67 vcvt.f32.u32 s15, s15 70039224: edcd 7a2e vstr s15, [sp, #184] @ 0xb8 70039228: ee07 2a90 vmov s15, r2 7003922c: b2da uxtb r2, r3 7003922e: eef8 7a67 vcvt.f32.u32 s15, s15 70039232: ea4f 6313 mov.w r3, r3, lsr #24 70039236: ee07 2a10 vmov s14, r2 7003923a: edcd 7a2f vstr s15, [sp, #188] @ 0xbc 7003923e: ee07 3a90 vmov s15, r3 70039242: eeb8 7a47 vcvt.f32.u32 s14, s14 70039246: eef8 7ae7 vcvt.f32.s32 s15, s15 7003924a: ed8d 7a30 vstr s14, [sp, #192] @ 0xc0 7003924e: edcd 7a31 vstr s15, [sp, #196] @ 0xc4 70039252: f000 8085 beq.w 70039360 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x2e4> 70039256: 69ab ldr r3, [r5, #24] 70039258: 2c07 cmp r4, #7 7003925a: f3c3 4207 ubfx r2, r3, #16, #8 7003925e: ee07 2a90 vmov s15, r2 70039262: f3c3 2207 ubfx r2, r3, #8, #8 70039266: eef8 7a67 vcvt.f32.u32 s15, s15 7003926a: edcd 7a32 vstr s15, [sp, #200] @ 0xc8 7003926e: ee07 2a90 vmov s15, r2 70039272: b2da uxtb r2, r3 70039274: eef8 7a67 vcvt.f32.u32 s15, s15 70039278: ea4f 6313 mov.w r3, r3, lsr #24 7003927c: ee07 2a10 vmov s14, r2 70039280: edcd 7a33 vstr s15, [sp, #204] @ 0xcc 70039284: ee07 3a90 vmov s15, r3 70039288: eeb8 7a47 vcvt.f32.u32 s14, s14 7003928c: eef8 7ae7 vcvt.f32.s32 s15, s15 70039290: ed8d 7a34 vstr s14, [sp, #208] @ 0xd0 70039294: edcd 7a35 vstr s15, [sp, #212] @ 0xd4 70039298: d062 beq.n 70039360 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x2e4> 7003929a: 69eb ldr r3, [r5, #28] 7003929c: 2c08 cmp r4, #8 7003929e: f3c3 4207 ubfx r2, r3, #16, #8 700392a2: ee07 2a90 vmov s15, r2 700392a6: f3c3 2207 ubfx r2, r3, #8, #8 700392aa: eef8 7a67 vcvt.f32.u32 s15, s15 700392ae: edcd 7a36 vstr s15, [sp, #216] @ 0xd8 700392b2: ee07 2a90 vmov s15, r2 700392b6: b2da uxtb r2, r3 700392b8: eef8 7a67 vcvt.f32.u32 s15, s15 700392bc: ea4f 6313 mov.w r3, r3, lsr #24 700392c0: ee07 2a10 vmov s14, r2 700392c4: edcd 7a37 vstr s15, [sp, #220] @ 0xdc 700392c8: ee07 3a90 vmov s15, r3 700392cc: eeb8 7a47 vcvt.f32.u32 s14, s14 700392d0: eef8 7ae7 vcvt.f32.s32 s15, s15 700392d4: ed8d 7a38 vstr s14, [sp, #224] @ 0xe0 700392d8: edcd 7a39 vstr s15, [sp, #228] @ 0xe4 700392dc: d040 beq.n 70039360 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x2e4> 700392de: 6a2b ldr r3, [r5, #32] 700392e0: 2c09 cmp r4, #9 700392e2: f3c3 4207 ubfx r2, r3, #16, #8 700392e6: ee07 2a90 vmov s15, r2 700392ea: f3c3 2207 ubfx r2, r3, #8, #8 700392ee: eef8 7a67 vcvt.f32.u32 s15, s15 700392f2: edcd 7a3a vstr s15, [sp, #232] @ 0xe8 700392f6: ee07 2a90 vmov s15, r2 700392fa: b2da uxtb r2, r3 700392fc: eef8 7a67 vcvt.f32.u32 s15, s15 70039300: ea4f 6313 mov.w r3, r3, lsr #24 70039304: ee07 2a10 vmov s14, r2 70039308: edcd 7a3b vstr s15, [sp, #236] @ 0xec 7003930c: ee07 3a90 vmov s15, r3 70039310: eeb8 7a47 vcvt.f32.u32 s14, s14 70039314: eef8 7ae7 vcvt.f32.s32 s15, s15 70039318: ed8d 7a3c vstr s14, [sp, #240] @ 0xf0 7003931c: edcd 7a3d vstr s15, [sp, #244] @ 0xf4 70039320: d01e beq.n 70039360 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x2e4> 70039322: 6a6b ldr r3, [r5, #36] @ 0x24 70039324: f3c3 4207 ubfx r2, r3, #16, #8 70039328: ee07 2a90 vmov s15, r2 7003932c: f3c3 2207 ubfx r2, r3, #8, #8 70039330: eef8 7a67 vcvt.f32.u32 s15, s15 70039334: ee06 2a90 vmov s13, r2 70039338: b2da uxtb r2, r3 7003933a: 0e1b lsrs r3, r3, #24 7003933c: eef8 6a66 vcvt.f32.u32 s13, s13 70039340: ee07 2a10 vmov s14, r2 70039344: edcd 7a3e vstr s15, [sp, #248] @ 0xf8 70039348: ee07 3a90 vmov s15, r3 7003934c: eeb8 7a47 vcvt.f32.u32 s14, s14 70039350: edcd 6a3f vstr s13, [sp, #252] @ 0xfc 70039354: eef8 7ae7 vcvt.f32.s32 s15, s15 70039358: ed8d 7a40 vstr s14, [sp, #256] @ 0x100 7003935c: edcd 7a41 vstr s15, [sp, #260] @ 0x104 70039360: f44f 6380 mov.w r3, #1024 @ 0x400 70039364: 2100 movs r1, #0 70039366: 461a mov r2, r3 70039368: 4608 mov r0, r1 7003936a: f7de fceb bl 70017d44 7003936e: 4621 mov r1, r4 70039370: ab1a add r3, sp, #104 @ 0x68 70039372: 463a mov r2, r7 70039374: 6830 ldr r0, [r6, #0] 70039376: f7ef f87b bl 70028470 7003937a: 481b ldr r0, [pc, #108] @ (700393e8 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x36c>) 7003937c: 4c1b ldr r4, [pc, #108] @ (700393ec <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x370>) 7003937e: f9b0 3006 ldrsh.w r3, [r0, #6] 70039382: f9b0 2004 ldrsh.w r2, [r0, #4] 70039386: f9b0 1002 ldrsh.w r1, [r0, #2] 7003938a: f9b0 0000 ldrsh.w r0, [r0] 7003938e: f7de fcd9 bl 70017d44 70039392: 2101 movs r1, #1 70039394: 6820 ldr r0, [r4, #0] 70039396: f7ef f82d bl 700283f4 7003939a: eef4 8a48 vcmp.f32 s17, s16 7003939e: eef1 fa10 vmrs APSR_nzcv, fpscr 700393a2: eeb4 9a69 vcmp.f32 s18, s19 700393a6: bf0c ite eq 700393a8: 2301 moveq r3, #1 700393aa: 2300 movne r3, #0 700393ac: eef1 fa10 vmrs APSR_nzcv, fpscr 700393b0: bf08 it eq 700393b2: f043 0301 orreq.w r3, r3, #1 700393b6: b923 cbnz r3, 700393c2 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x346> 700393b8: eeb4 aa6a vcmp.f32 s20, s21 700393bc: eef1 fa10 vmrs APSR_nzcv, fpscr 700393c0: d118 bne.n 700393f4 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x378> 700393c2: eef0 1a48 vmov.f32 s3, s16 700393c6: 2201 movs r2, #1 700393c8: eeb0 1a69 vmov.f32 s2, s19 700393cc: 6831 ldr r1, [r6, #0] 700393ce: eef0 0a68 vmov.f32 s1, s17 700393d2: 6820 ldr r0, [r4, #0] 700393d4: eeb0 0a49 vmov.f32 s0, s18 700393d8: f7ef fae8 bl 700289ac 700393dc: b043 add sp, #268 @ 0x10c 700393de: ecbd 8b0a vpop {d8-d12} 700393e2: bdf0 pop {r4, r5, r6, r7, pc} 700393e4: 2400e154 .word 0x2400e154 700393e8: 2400e128 .word 0x2400e128 700393ec: 2400e15c .word 0x2400e15c 700393f0: 42c80000 .word 0x42c80000 700393f4: ed5f ba02 vldr s23, [pc, #-8] @ 700393f0 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x374> 700393f8: a811 add r0, sp, #68 @ 0x44 700393fa: f7d9 fc1c bl 70012c36 <_ZN8touchgfx9Matrix3x3C1Ev> 700393fe: a811 add r0, sp, #68 @ 0x44 70039400: f7d9 fc0c bl 70012c1c <_ZN8touchgfx9Matrix3x35resetEv> 70039404: eecb 0aaa vdiv.f32 s1, s23, s21 70039408: a811 add r0, sp, #68 @ 0x44 7003940a: ee8b 0a8a vdiv.f32 s0, s23, s20 7003940e: f7d9 fc16 bl 70012c3e <_ZN8touchgfx9Matrix3x35scaleEff> 70039412: a901 add r1, sp, #4 70039414: a811 add r0, sp, #68 @ 0x44 70039416: edcd 9a03 vstr s19, [sp, #12] 7003941a: ed8d 9a01 vstr s18, [sp, #4] 7003941e: ed8d 8a04 vstr s16, [sp, #16] 70039422: edcd 8a02 vstr s17, [sp, #8] 70039426: f7d9 fca8 bl 70012d7a <_ZNK8touchgfx9Matrix3x315affineTransformERKNS0_5PointE> 7003942a: a903 add r1, sp, #12 7003942c: a811 add r0, sp, #68 @ 0x44 7003942e: eeb7 ca00 vmov.f32 s24, #112 @ 0x3f800000 1.0 70039432: eeb6 ba00 vmov.f32 s22, #96 @ 0x3f000000 0.5 70039436: eeb0 9a60 vmov.f32 s18, s1 7003943a: eef0 9a40 vmov.f32 s19, s0 7003943e: f7d9 fc9c bl 70012d7a <_ZNK8touchgfx9Matrix3x315affineTransformERKNS0_5PointE> 70039442: ee70 7ac9 vsub.f32 s15, s1, s18 70039446: a811 add r0, sp, #68 @ 0x44 70039448: ee30 7a69 vsub.f32 s14, s0, s19 7003944c: eea7 9a8b vfma.f32 s18, s15, s22 70039450: ee30 0a0c vadd.f32 s0, s0, s24 70039454: eec7 6a87 vdiv.f32 s13, s15, s14 70039458: ed8d 0a0b vstr s0, [sp, #44] @ 0x2c 7003945c: ed8d 9a0a vstr s18, [sp, #40] @ 0x28 70039460: eee7 9a0b vfma.f32 s19, s14, s22 70039464: edcd 9a09 vstr s19, [sp, #36] @ 0x24 70039468: eecc 7a26 vdiv.f32 s15, s24, s13 7003946c: ee77 7aa0 vadd.f32 s15, s15, s1 70039470: edcd 7a0c vstr s15, [sp, #48] @ 0x30 70039474: f7d9 fbd2 bl 70012c1c <_ZN8touchgfx9Matrix3x35resetEv> 70039478: eeca 0aab vdiv.f32 s1, s21, s23 7003947c: a811 add r0, sp, #68 @ 0x44 7003947e: ee8a 0a2b vdiv.f32 s0, s20, s23 70039482: f7d9 fbdc bl 70012c3e <_ZN8touchgfx9Matrix3x35scaleEff> 70039486: a90b add r1, sp, #44 @ 0x2c 70039488: a811 add r0, sp, #68 @ 0x44 7003948a: f7d9 fc76 bl 70012d7a <_ZNK8touchgfx9Matrix3x315affineTransformERKNS0_5PointE> 7003948e: a909 add r1, sp, #36 @ 0x24 70039490: a811 add r0, sp, #68 @ 0x44 70039492: edcd 0a0e vstr s1, [sp, #56] @ 0x38 70039496: ed8d 0a0d vstr s0, [sp, #52] @ 0x34 7003949a: f7d9 fc6e bl 70012d7a <_ZNK8touchgfx9Matrix3x315affineTransformERKNS0_5PointE> 7003949e: ed9d 7a03 vldr s14, [sp, #12] 700394a2: eeb0 9a40 vmov.f32 s18, s0 700394a6: eddd 7a04 vldr s15, [sp, #16] 700394aa: eef0 9a60 vmov.f32 s19, s1 700394ae: ed9d 6a0e vldr s12, [sp, #56] @ 0x38 700394b2: eddd 6a0d vldr s13, [sp, #52] @ 0x34 700394b6: ee36 6a67 vsub.f32 s12, s12, s15 700394ba: eddd 5a01 vldr s11, [sp, #4] 700394be: ee76 6ac7 vsub.f32 s13, s13, s14 700394c2: ed9d 5a02 vldr s10, [sp, #8] 700394c6: ee37 7a65 vsub.f32 s14, s14, s11 700394ca: ee77 7ac5 vsub.f32 s15, s15, s10 700394ce: eec6 5a26 vdiv.f32 s11, s12, s13 700394d2: ee67 7aa7 vmul.f32 s15, s15, s15 700394d6: eee7 7a07 vfma.f32 s15, s14, s14 700394da: eef1 aae7 vsqrt.f32 s21, s15 700394de: eecc ba25 vdiv.f32 s23, s24, s11 700394e2: eeb0 0a6b vmov.f32 s0, s23 700394e6: f000 fbbb bl 70039c60 700394ea: eef5 bac0 vcmpe.f32 s23, #0.0 700394ee: eeb0 aa40 vmov.f32 s20, s0 700394f2: eef1 fa10 vmrs APSR_nzcv, fpscr 700394f6: dd2f ble.n 70039558 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x4dc> 700394f8: f000 faba bl 70039a70 700394fc: eef0 7a40 vmov.f32 s15, s0 70039500: eeb0 0a4a vmov.f32 s0, s20 70039504: eef0 ba49 vmov.f32 s23, s18 70039508: ee27 aaaa vmul.f32 s20, s15, s21 7003950c: f000 f9b8 bl 70039880 70039510: eef0 0a69 vmov.f32 s1, s19 70039514: ee60 7a2a vmul.f32 s15, s0, s21 70039518: eeea ba4b vfms.f32 s23, s20, s22 7003951c: eeaa 9a0b vfma.f32 s18, s20, s22 70039520: eee7 0acb vfms.f32 s1, s15, s22 70039524: eee7 9a8b vfma.f32 s19, s15, s22 70039528: eef4 8ac8 vcmpe.f32 s17, s16 7003952c: 6820 ldr r0, [r4, #0] 7003952e: 6831 ldr r1, [r6, #0] 70039530: 2201 movs r2, #1 70039532: eef1 fa10 vmrs APSR_nzcv, fpscr 70039536: d528 bpl.n 7003958a <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x50e> 70039538: eef0 1a69 vmov.f32 s3, s19 7003953c: eeb0 1a49 vmov.f32 s2, s18 70039540: eeb0 0a6b vmov.f32 s0, s23 70039544: f7ef fa32 bl 700289ac 70039548: b043 add sp, #268 @ 0x10c 7003954a: ecbd 8b0a vpop {d8-d12} 7003954e: bdf0 pop {r4, r5, r6, r7, pc} 70039550: f7ee ff6e bl 70028430 70039554: 6030 str r0, [r6, #0] 70039556: e5a9 b.n 700390ac <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x30> 70039558: f000 fa8a bl 70039a70 7003955c: eef0 7a40 vmov.f32 s15, s0 70039560: eeb0 0a4a vmov.f32 s0, s20 70039564: eef0 ba49 vmov.f32 s23, s18 70039568: ee27 aaaa vmul.f32 s20, s15, s21 7003956c: f000 f988 bl 70039880 70039570: eef0 0a69 vmov.f32 s1, s19 70039574: ee60 7a2a vmul.f32 s15, s0, s21 70039578: eeea ba0b vfma.f32 s23, s20, s22 7003957c: eeaa 9a4b vfms.f32 s18, s20, s22 70039580: eee7 0a8b vfma.f32 s1, s15, s22 70039584: eee7 9acb vfms.f32 s19, s15, s22 70039588: e7ce b.n 70039528 <_ZN8touchgfx19GPU2DVectorRenderer17setLinearGradientEffffmPKfPKmffbS4_+0x4ac> 7003958a: eef0 1a60 vmov.f32 s3, s1 7003958e: eeb0 1a6b vmov.f32 s2, s23 70039592: eef0 0a69 vmov.f32 s1, s19 70039596: eeb0 0a49 vmov.f32 s0, s18 7003959a: f7ef fa07 bl 700289ac 7003959e: b043 add sp, #268 @ 0x10c 700395a0: ecbd 8b0a vpop {d8-d12} 700395a4: bdf0 pop {r4, r5, r6, r7, pc} 700395a6: bf00 nop 700395a8 <_ZN8touchgfx19GPU2DVectorRenderer17setRadialGradientEfffmPKfPKNS_9colortypeE>: 700395a8: b570 push {r4, r5, r6, lr} 700395aa: 4e6c ldr r6, [pc, #432] @ (7003975c <_ZN8touchgfx19GPU2DVectorRenderer17setRadialGradientEfffmPKfPKNS_9colortypeE+0x1b4>) 700395ac: 461d mov r5, r3 700395ae: ed2d 8b04 vpush {d8-d9} 700395b2: 6830 ldr r0, [r6, #0] 700395b4: eeb0 8a40 vmov.f32 s16, s0 700395b8: eef0 8a60 vmov.f32 s17, s1 700395bc: b096 sub sp, #88 @ 0x58 700395be: eeb0 9a41 vmov.f32 s18, s2 700395c2: 2800 cmp r0, #0 700395c4: f000 80c2 beq.w 7003974c <_ZN8touchgfx19GPU2DVectorRenderer17setRadialGradientEfffmPKfPKNS_9colortypeE+0x1a4> 700395c8: 2900 cmp r1, #0 700395ca: f000 80a8 beq.w 7003971e <_ZN8touchgfx19GPU2DVectorRenderer17setRadialGradientEfffmPKfPKNS_9colortypeE+0x176> 700395ce: 682c ldr r4, [r5, #0] 700395d0: 2901 cmp r1, #1 700395d2: f3c4 4307 ubfx r3, r4, #16, #8 700395d6: ee07 3a90 vmov s15, r3 700395da: f3c4 2307 ubfx r3, r4, #8, #8 700395de: eef8 7a67 vcvt.f32.u32 s15, s15 700395e2: edcd 7a02 vstr s15, [sp, #8] 700395e6: ee07 3a90 vmov s15, r3 700395ea: b2e3 uxtb r3, r4 700395ec: eef8 7a67 vcvt.f32.u32 s15, s15 700395f0: ea4f 6414 mov.w r4, r4, lsr #24 700395f4: ee07 3a10 vmov s14, r3 700395f8: edcd 7a03 vstr s15, [sp, #12] 700395fc: ee07 4a90 vmov s15, r4 70039600: eeb8 7a47 vcvt.f32.u32 s14, s14 70039604: eef8 7ae7 vcvt.f32.s32 s15, s15 70039608: ed8d 7a04 vstr s14, [sp, #16] 7003960c: edcd 7a05 vstr s15, [sp, #20] 70039610: f000 8085 beq.w 7003971e <_ZN8touchgfx19GPU2DVectorRenderer17setRadialGradientEfffmPKfPKNS_9colortypeE+0x176> 70039614: 686c ldr r4, [r5, #4] 70039616: 2902 cmp r1, #2 70039618: f3c4 4307 ubfx r3, r4, #16, #8 7003961c: ee07 3a90 vmov s15, r3 70039620: f3c4 2307 ubfx r3, r4, #8, #8 70039624: eef8 7a67 vcvt.f32.u32 s15, s15 70039628: edcd 7a06 vstr s15, [sp, #24] 7003962c: ee07 3a90 vmov s15, r3 70039630: b2e3 uxtb r3, r4 70039632: eef8 7a67 vcvt.f32.u32 s15, s15 70039636: ea4f 6414 mov.w r4, r4, lsr #24 7003963a: ee07 3a10 vmov s14, r3 7003963e: edcd 7a07 vstr s15, [sp, #28] 70039642: ee07 4a90 vmov s15, r4 70039646: eeb8 7a47 vcvt.f32.u32 s14, s14 7003964a: eef8 7ae7 vcvt.f32.s32 s15, s15 7003964e: ed8d 7a08 vstr s14, [sp, #32] 70039652: edcd 7a09 vstr s15, [sp, #36] @ 0x24 70039656: d062 beq.n 7003971e <_ZN8touchgfx19GPU2DVectorRenderer17setRadialGradientEfffmPKfPKNS_9colortypeE+0x176> 70039658: 68ab ldr r3, [r5, #8] 7003965a: 2903 cmp r1, #3 7003965c: f3c3 4407 ubfx r4, r3, #16, #8 70039660: ee07 4a90 vmov s15, r4 70039664: f3c3 2407 ubfx r4, r3, #8, #8 70039668: eef8 7a67 vcvt.f32.u32 s15, s15 7003966c: edcd 7a0a vstr s15, [sp, #40] @ 0x28 70039670: ee07 4a90 vmov s15, r4 70039674: b2dc uxtb r4, r3 70039676: eef8 7a67 vcvt.f32.u32 s15, s15 7003967a: ea4f 6313 mov.w r3, r3, lsr #24 7003967e: ee07 4a10 vmov s14, r4 70039682: edcd 7a0b vstr s15, [sp, #44] @ 0x2c 70039686: ee07 3a90 vmov s15, r3 7003968a: eeb8 7a47 vcvt.f32.u32 s14, s14 7003968e: eef8 7ae7 vcvt.f32.s32 s15, s15 70039692: ed8d 7a0c vstr s14, [sp, #48] @ 0x30 70039696: edcd 7a0d vstr s15, [sp, #52] @ 0x34 7003969a: d040 beq.n 7003971e <_ZN8touchgfx19GPU2DVectorRenderer17setRadialGradientEfffmPKfPKNS_9colortypeE+0x176> 7003969c: 68eb ldr r3, [r5, #12] 7003969e: 2904 cmp r1, #4 700396a0: f3c3 4407 ubfx r4, r3, #16, #8 700396a4: ee07 4a90 vmov s15, r4 700396a8: f3c3 2407 ubfx r4, r3, #8, #8 700396ac: eef8 7a67 vcvt.f32.u32 s15, s15 700396b0: edcd 7a0e vstr s15, [sp, #56] @ 0x38 700396b4: ee07 4a90 vmov s15, r4 700396b8: b2dc uxtb r4, r3 700396ba: eef8 7a67 vcvt.f32.u32 s15, s15 700396be: ea4f 6313 mov.w r3, r3, lsr #24 700396c2: ee07 4a10 vmov s14, r4 700396c6: edcd 7a0f vstr s15, [sp, #60] @ 0x3c 700396ca: ee07 3a90 vmov s15, r3 700396ce: eeb8 7a47 vcvt.f32.u32 s14, s14 700396d2: eef8 7ae7 vcvt.f32.s32 s15, s15 700396d6: ed8d 7a10 vstr s14, [sp, #64] @ 0x40 700396da: edcd 7a11 vstr s15, [sp, #68] @ 0x44 700396de: d01e beq.n 7003971e <_ZN8touchgfx19GPU2DVectorRenderer17setRadialGradientEfffmPKfPKNS_9colortypeE+0x176> 700396e0: 692b ldr r3, [r5, #16] 700396e2: f3c3 4407 ubfx r4, r3, #16, #8 700396e6: ee07 4a90 vmov s15, r4 700396ea: f3c3 2407 ubfx r4, r3, #8, #8 700396ee: eef8 7a67 vcvt.f32.u32 s15, s15 700396f2: edcd 7a12 vstr s15, [sp, #72] @ 0x48 700396f6: ee07 4a90 vmov s15, r4 700396fa: b2dc uxtb r4, r3 700396fc: eef8 7a67 vcvt.f32.u32 s15, s15 70039700: 0e1b lsrs r3, r3, #24 70039702: ee07 4a10 vmov s14, r4 70039706: edcd 7a13 vstr s15, [sp, #76] @ 0x4c 7003970a: ee07 3a90 vmov s15, r3 7003970e: eeb8 7a47 vcvt.f32.u32 s14, s14 70039712: eef8 7ae7 vcvt.f32.s32 s15, s15 70039716: ed8d 7a14 vstr s14, [sp, #80] @ 0x50 7003971a: edcd 7a15 vstr s15, [sp, #84] @ 0x54 7003971e: 4c10 ldr r4, [pc, #64] @ (70039760 <_ZN8touchgfx19GPU2DVectorRenderer17setRadialGradientEfffmPKfPKNS_9colortypeE+0x1b8>) 70039720: ab02 add r3, sp, #8 70039722: f7ee fea5 bl 70028470 70039726: 2103 movs r1, #3 70039728: 6820 ldr r0, [r4, #0] 7003972a: f7ee fe63 bl 700283f4 7003972e: eeb0 1a49 vmov.f32 s2, s18 70039732: eef0 0a68 vmov.f32 s1, s17 70039736: 2201 movs r2, #1 70039738: eeb0 0a48 vmov.f32 s0, s16 7003973c: 6831 ldr r1, [r6, #0] 7003973e: 6820 ldr r0, [r4, #0] 70039740: f7ef f9a4 bl 70028a8c 70039744: b016 add sp, #88 @ 0x58 70039746: ecbd 8b04 vpop {d8-d9} 7003974a: bd70 pop {r4, r5, r6, pc} 7003974c: e9cd 1200 strd r1, r2, [sp] 70039750: f7ee fe6e bl 70028430 70039754: 6030 str r0, [r6, #0] 70039756: e9dd 1200 ldrd r1, r2, [sp] 7003975a: e735 b.n 700395c8 <_ZN8touchgfx19GPU2DVectorRenderer17setRadialGradientEfffmPKfPKNS_9colortypeE+0x20> 7003975c: 2400e154 .word 0x2400e154 70039760: 2400e15c .word 0x2400e15c 70039764 <_ZN8touchgfx19GPU2DVectorRenderer19setStrokeMiterLimitEf>: 70039764: f7ee b8ec b.w 70027940 70039768 <_ZN8touchgfx19GPU2DVectorRenderer17setStrokeLineJoinENS_16VGStrokeLineJoinE>: 70039768: 4608 mov r0, r1 7003976a: f7ee b8d9 b.w 70027920 7003976e: bf00 nop 70039770 <_ZN8touchgfx19GPU2DVectorRenderer16setStrokeLineCapENS_15VGStrokeLineCapE>: 70039770: 4608 mov r0, r1 70039772: f7ee b8c1 b.w 700278f8 70039776: bf00 nop 70039778 <_ZN8touchgfx19GPU2DVectorRendererD0Ev>: 70039778: b510 push {r4, lr} 7003977a: 4604 mov r4, r0 7003977c: 2104 movs r1, #4 7003977e: f000 f81a bl 700397b6 <_ZdlPvj> 70039782: 4620 mov r0, r4 70039784: bd10 pop {r4, pc} 70039786: bf00 nop 70039788 <_ZN8touchgfx19GPU2DVectorRenderer7setModeENS_14VectorRenderer8DrawModeE>: 70039788: 2901 cmp r1, #1 7003978a: 4608 mov r0, r1 7003978c: d003 beq.n 70039796 <_ZN8touchgfx19GPU2DVectorRenderer7setModeENS_14VectorRenderer8DrawModeE+0xe> 7003978e: 2902 cmp r1, #2 70039790: d001 beq.n 70039796 <_ZN8touchgfx19GPU2DVectorRenderer7setModeENS_14VectorRenderer8DrawModeE+0xe> 70039792: b101 cbz r1, 70039796 <_ZN8touchgfx19GPU2DVectorRenderer7setModeENS_14VectorRenderer8DrawModeE+0xe> 70039794: 4770 bx lr 70039796: f7ee b89f b.w 700278d8 7003979a: bf00 nop 7003979c <_GLOBAL__sub_I__ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_>: 7003979c: 4b02 ldr r3, [pc, #8] @ (700397a8 <_GLOBAL__sub_I__ZN8touchgfx19GPU2DVectorRenderer5setupERKNS_4RectES3_+0xc>) 7003979e: 2200 movs r2, #0 700397a0: e9c3 2200 strd r2, r2, [r3] 700397a4: 4770 bx lr 700397a6: bf00 nop 700397a8: 2400e128 .word 0x2400e128 700397ac <__aeabi_atexit>: 700397ac: 460b mov r3, r1 700397ae: 4601 mov r1, r0 700397b0: 4618 mov r0, r3 700397b2: f001 be6d b.w 7003b490 <__cxa_atexit> 700397b6 <_ZdlPvj>: 700397b6: f000 b80f b.w 700397d8 <_ZdlPv> 700397ba <__cxa_guard_acquire>: 700397ba: 6802 ldr r2, [r0, #0] 700397bc: 07d2 lsls r2, r2, #31 700397be: 4603 mov r3, r0 700397c0: d405 bmi.n 700397ce <__cxa_guard_acquire+0x14> 700397c2: 7842 ldrb r2, [r0, #1] 700397c4: b102 cbz r2, 700397c8 <__cxa_guard_acquire+0xe> 700397c6: deff udf #255 @ 0xff 700397c8: 2001 movs r0, #1 700397ca: 7058 strb r0, [r3, #1] 700397cc: 4770 bx lr 700397ce: 2000 movs r0, #0 700397d0: 4770 bx lr 700397d2 <__cxa_guard_release>: 700397d2: 2301 movs r3, #1 700397d4: 6003 str r3, [r0, #0] 700397d6: 4770 bx lr 700397d8 <_ZdlPv>: 700397d8: f001 bc18 b.w 7003b00c 700397dc : 700397dc: b508 push {r3, lr} 700397de: ed2d 8b02 vpush {d8} 700397e2: eeb0 8a40 vmov.f32 s16, s0 700397e6: f000 fc21 bl 7003a02c <__ieee754_acosf> 700397ea: eeb4 8a48 vcmp.f32 s16, s16 700397ee: eef1 fa10 vmrs APSR_nzcv, fpscr 700397f2: eef0 8a40 vmov.f32 s17, s0 700397f6: d60a bvs.n 7003980e 700397f8: eeb0 0a48 vmov.f32 s0, s16 700397fc: f000 fb02 bl 70039e04 70039800: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 70039804: eeb4 0ae7 vcmpe.f32 s0, s15 70039808: eef1 fa10 vmrs APSR_nzcv, fpscr 7003980c: dc04 bgt.n 70039818 7003980e: eeb0 0a68 vmov.f32 s0, s17 70039812: ecbd 8b02 vpop {d8} 70039816: bd08 pop {r3, pc} 70039818: f001 fdae bl 7003b378 <__errno> 7003981c: ecbd 8b02 vpop {d8} 70039820: 4603 mov r3, r0 70039822: 2221 movs r2, #33 @ 0x21 70039824: 601a str r2, [r3, #0] 70039826: 4802 ldr r0, [pc, #8] @ (70039830 ) 70039828: e8bd 4008 ldmia.w sp!, {r3, lr} 7003982c: f000 baf2 b.w 70039e14 70039830: 700404b4 .word 0x700404b4 70039834 : 70039834: f000 bd1e b.w 7003a274 <__ieee754_atan2f> 70039838 : 70039838: b508 push {r3, lr} 7003983a: ed2d 8b02 vpush {d8} 7003983e: eef0 8a40 vmov.f32 s17, s0 70039842: eeb0 8a60 vmov.f32 s16, s1 70039846: f000 fdbf bl 7003a3c8 <__ieee754_fmodf> 7003984a: eef4 8a48 vcmp.f32 s17, s16 7003984e: eef1 fa10 vmrs APSR_nzcv, fpscr 70039852: d606 bvs.n 70039862 70039854: eddf 8a09 vldr s17, [pc, #36] @ 7003987c 70039858: eeb4 8a68 vcmp.f32 s16, s17 7003985c: eef1 fa10 vmrs APSR_nzcv, fpscr 70039860: d002 beq.n 70039868 70039862: ecbd 8b02 vpop {d8} 70039866: bd08 pop {r3, pc} 70039868: f001 fd86 bl 7003b378 <__errno> 7003986c: ee88 0aa8 vdiv.f32 s0, s17, s17 70039870: ecbd 8b02 vpop {d8} 70039874: 2321 movs r3, #33 @ 0x21 70039876: 6003 str r3, [r0, #0] 70039878: bd08 pop {r3, pc} 7003987a: bf00 nop 7003987c: 00000000 .word 0x00000000 70039880 : 70039880: b530 push {r4, r5, lr} 70039882: ee10 4a10 vmov r4, s0 70039886: f3c4 530a ubfx r3, r4, #20, #11 7003988a: f5b3 7f7d cmp.w r3, #1012 @ 0x3f4 7003988e: eeb7 6ac0 vcvt.f64.f32 d6, s0 70039892: b083 sub sp, #12 70039894: d21b bcs.n 700398ce 70039896: ee26 5b06 vmul.f64 d5, d6, d6 7003989a: f5b3 7f66 cmp.w r3, #920 @ 0x398 7003989e: d36c bcc.n 7003997a 700398a0: ee26 2b05 vmul.f64 d2, d6, d5 700398a4: ee25 1b02 vmul.f64 d1, d5, d2 700398a8: 4b6d ldr r3, [pc, #436] @ (70039a60 ) 700398aa: ed93 3b1a vldr d3, [r3, #104] @ 0x68 700398ae: ed93 7b18 vldr d7, [r3, #96] @ 0x60 700398b2: ed93 4b16 vldr d4, [r3, #88] @ 0x58 700398b6: eea5 7b03 vfma.f64 d7, d5, d3 700398ba: eea2 6b04 vfma.f64 d6, d2, d4 700398be: eeb0 0b46 vmov.f64 d0, d6 700398c2: eea7 0b01 vfma.f64 d0, d7, d1 700398c6: eeb7 0bc0 vcvt.f32.f64 s0, d0 700398ca: b003 add sp, #12 700398cc: bd30 pop {r4, r5, pc} 700398ce: f240 422e movw r2, #1070 @ 0x42e 700398d2: 4293 cmp r3, r2 700398d4: d859 bhi.n 7003998a 700398d6: 4a62 ldr r2, [pc, #392] @ (70039a60 ) 700398d8: ed92 7b08 vldr d7, [r2, #32] 700398dc: ee26 7b07 vmul.f64 d7, d6, d7 700398e0: eefd 7bc7 vcvt.s32.f64 s15, d7 700398e4: ed92 5b0a vldr d5, [r2, #40] @ 0x28 700398e8: ee17 3a90 vmov r3, s15 700398ec: f503 0300 add.w r3, r3, #8388608 @ 0x800000 700398f0: 161b asrs r3, r3, #24 700398f2: 079c lsls r4, r3, #30 700398f4: ee07 3a90 vmov s15, r3 700398f8: bf54 ite pl 700398fa: 4611 movpl r1, r2 700398fc: f102 0170 addmi.w r1, r2, #112 @ 0x70 70039900: 07d8 lsls r0, r3, #31 70039902: eeb8 7be7 vcvt.f64.s32 d7, s15 70039906: eea7 6b45 vfms.f64 d6, d7, d5 7003990a: ee26 7b06 vmul.f64 d7, d6, d6 7003990e: d41d bmi.n 7003994c 70039910: f003 0303 and.w r3, r3, #3 70039914: eb02 02c3 add.w r2, r2, r3, lsl #3 70039918: ed91 5b18 vldr d5, [r1, #96] @ 0x60 7003991c: ed92 0b00 vldr d0, [r2] 70039920: ed91 3b1a vldr d3, [r1, #104] @ 0x68 70039924: ee26 0b00 vmul.f64 d0, d6, d0 70039928: eeb0 6b45 vmov.f64 d6, d5 7003992c: ed91 4b16 vldr d4, [r1, #88] @ 0x58 70039930: eea7 6b03 vfma.f64 d6, d7, d3 70039934: ee20 5b07 vmul.f64 d5, d0, d7 70039938: ee27 7b05 vmul.f64 d7, d7, d5 7003993c: eea5 0b04 vfma.f64 d0, d5, d4 70039940: eea6 0b07 vfma.f64 d0, d6, d7 70039944: eeb7 0bc0 vcvt.f32.f64 s0, d0 70039948: b003 add sp, #12 7003994a: bd30 pop {r4, r5, pc} 7003994c: ed91 2b14 vldr d2, [r1, #80] @ 0x50 70039950: ee27 5b07 vmul.f64 d5, d7, d7 70039954: ed91 6b12 vldr d6, [r1, #72] @ 0x48 70039958: ed91 3b0e vldr d3, [r1, #56] @ 0x38 7003995c: eea7 6b02 vfma.f64 d6, d7, d2 70039960: ed91 0b0c vldr d0, [r1, #48] @ 0x30 70039964: ed91 4b10 vldr d4, [r1, #64] @ 0x40 70039968: eea7 0b03 vfma.f64 d0, d7, d3 7003996c: ee27 7b05 vmul.f64 d7, d7, d5 70039970: eea5 0b04 vfma.f64 d0, d5, d4 70039974: eea6 0b07 vfma.f64 d0, d6, d7 70039978: e7e4 b.n 70039944 7003997a: f014 4fff tst.w r4, #2139095040 @ 0x7f800000 7003997e: bf04 itt eq 70039980: eeb7 5bc5 vcvteq.f32.f64 s10, d5 70039984: ed8d 5a01 vstreq s10, [sp, #4] 70039988: e7de b.n 70039948 7003998a: f5b3 6fff cmp.w r3, #2040 @ 0x7f8 7003998e: d247 bcs.n 70039a20 70039990: 4b34 ldr r3, [pc, #208] @ (70039a64 ) 70039992: f3c4 6283 ubfx r2, r4, #26, #4 70039996: eb03 0182 add.w r1, r3, r2, lsl #2 7003999a: f853 2022 ldr.w r2, [r3, r2, lsl #2] 7003999e: f3c4 0316 ubfx r3, r4, #0, #23 700399a2: f3c4 50c2 ubfx r0, r4, #23, #3 700399a6: f443 0300 orr.w r3, r3, #8388608 @ 0x800000 700399aa: 4083 lsls r3, r0 700399ac: 6a08 ldr r0, [r1, #32] 700399ae: 6909 ldr r1, [r1, #16] 700399b0: fba3 5000 umull r5, r0, r3, r0 700399b4: fb03 f202 mul.w r2, r3, r2 700399b8: fbe3 0201 umlal r0, r2, r3, r1 700399bc: f102 5100 add.w r1, r2, #536870912 @ 0x20000000 700399c0: 0f8d lsrs r5, r1, #30 700399c2: f001 4140 and.w r1, r1, #3221225472 @ 0xc0000000 700399c6: 1a51 subs r1, r2, r1 700399c8: f7c6 fe70 bl 700006ac <__aeabi_l2d> 700399cc: eb05 74d4 add.w r4, r5, r4, lsr #31 700399d0: ed9f 6b21 vldr d6, [pc, #132] @ 70039a58 700399d4: ec41 0b17 vmov d7, r0, r1 700399d8: 07a1 lsls r1, r4, #30 700399da: bf54 ite pl 700399dc: 4b20 ldrpl r3, [pc, #128] @ (70039a60 ) 700399de: 4b22 ldrmi r3, [pc, #136] @ (70039a68 ) 700399e0: ee27 7b06 vmul.f64 d7, d7, d6 700399e4: 07ea lsls r2, r5, #31 700399e6: ee27 6b07 vmul.f64 d6, d7, d7 700399ea: d41e bmi.n 70039a2a 700399ec: 4a1c ldr r2, [pc, #112] @ (70039a60 ) 700399ee: eb02 02c4 add.w r2, r2, r4, lsl #3 700399f2: ed93 5b18 vldr d5, [r3, #96] @ 0x60 700399f6: ed93 3b1a vldr d3, [r3, #104] @ 0x68 700399fa: ed92 0b00 vldr d0, [r2] 700399fe: ed93 4b16 vldr d4, [r3, #88] @ 0x58 70039a02: ee27 0b00 vmul.f64 d0, d7, d0 70039a06: eeb0 7b45 vmov.f64 d7, d5 70039a0a: ee20 5b06 vmul.f64 d5, d0, d6 70039a0e: eea6 7b03 vfma.f64 d7, d6, d3 70039a12: eea5 0b04 vfma.f64 d0, d5, d4 70039a16: ee26 6b05 vmul.f64 d6, d6, d5 70039a1a: eea7 0b06 vfma.f64 d0, d7, d6 70039a1e: e791 b.n 70039944 70039a20: b003 add sp, #12 70039a22: e8bd 4030 ldmia.w sp!, {r4, r5, lr} 70039a26: f000 b90b b.w 70039c40 <__math_invalidf> 70039a2a: ed93 2b14 vldr d2, [r3, #80] @ 0x50 70039a2e: ee26 5b06 vmul.f64 d5, d6, d6 70039a32: ed93 7b12 vldr d7, [r3, #72] @ 0x48 70039a36: ed93 3b0e vldr d3, [r3, #56] @ 0x38 70039a3a: eea6 7b02 vfma.f64 d7, d6, d2 70039a3e: ed93 0b0c vldr d0, [r3, #48] @ 0x30 70039a42: ed93 4b10 vldr d4, [r3, #64] @ 0x40 70039a46: eea6 0b03 vfma.f64 d0, d6, d3 70039a4a: ee26 6b05 vmul.f64 d6, d6, d5 70039a4e: eea5 0b04 vfma.f64 d0, d5, d4 70039a52: eea7 0b06 vfma.f64 d0, d7, d6 70039a56: e775 b.n 70039944 70039a58: 54442d18 .word 0x54442d18 70039a5c: 3c1921fb .word 0x3c1921fb 70039a60: 70040518 .word 0x70040518 70039a64: 700404b8 .word 0x700404b8 70039a68: 70040588 .word 0x70040588 70039a6c: 00000000 .word 0x00000000 70039a70 : 70039a70: b538 push {r3, r4, r5, lr} 70039a72: ee10 4a10 vmov r4, s0 70039a76: f3c4 530a ubfx r3, r4, #20, #11 70039a7a: f5b3 7f7d cmp.w r3, #1012 @ 0x3f4 70039a7e: eeb7 7ac0 vcvt.f64.f32 d7, s0 70039a82: d21e bcs.n 70039ac2 70039a84: ee27 7b07 vmul.f64 d7, d7, d7 70039a88: f5b3 7f66 cmp.w r3, #920 @ 0x398 70039a8c: d36e bcc.n 70039b6c 70039a8e: ee27 1b07 vmul.f64 d1, d7, d7 70039a92: 4b61 ldr r3, [pc, #388] @ (70039c18 ) 70039a94: ed93 2b14 vldr d2, [r3, #80] @ 0x50 70039a98: ed93 5b12 vldr d5, [r3, #72] @ 0x48 70039a9c: ed93 3b0e vldr d3, [r3, #56] @ 0x38 70039aa0: eea7 5b02 vfma.f64 d5, d7, d2 70039aa4: ed93 6b0c vldr d6, [r3, #48] @ 0x30 70039aa8: ed93 4b10 vldr d4, [r3, #64] @ 0x40 70039aac: eea7 6b03 vfma.f64 d6, d7, d3 70039ab0: ee27 7b01 vmul.f64 d7, d7, d1 70039ab4: eea1 6b04 vfma.f64 d6, d1, d4 70039ab8: eea5 6b07 vfma.f64 d6, d5, d7 70039abc: eeb7 0bc6 vcvt.f32.f64 s0, d6 70039ac0: bd38 pop {r3, r4, r5, pc} 70039ac2: f240 422e movw r2, #1070 @ 0x42e 70039ac6: 4293 cmp r3, r2 70039ac8: d853 bhi.n 70039b72 70039aca: 4a53 ldr r2, [pc, #332] @ (70039c18 ) 70039acc: ed92 6b08 vldr d6, [r2, #32] 70039ad0: ee27 6b06 vmul.f64 d6, d7, d6 70039ad4: eefd 6bc6 vcvt.s32.f64 s13, d6 70039ad8: ed92 5b0a vldr d5, [r2, #40] @ 0x28 70039adc: ee16 3a90 vmov r3, s13 70039ae0: f503 0300 add.w r3, r3, #8388608 @ 0x800000 70039ae4: 161b asrs r3, r3, #24 70039ae6: 079c lsls r4, r3, #30 70039ae8: ee06 3a90 vmov s13, r3 70039aec: bf54 ite pl 70039aee: 4611 movpl r1, r2 70039af0: f102 0170 addmi.w r1, r2, #112 @ 0x70 70039af4: 07d8 lsls r0, r3, #31 70039af6: eeb8 6be6 vcvt.f64.s32 d6, s13 70039afa: eea6 7b45 vfms.f64 d7, d6, d5 70039afe: ee27 6b07 vmul.f64 d6, d7, d7 70039b02: d51c bpl.n 70039b3e 70039b04: f003 0303 and.w r3, r3, #3 70039b08: eb02 02c3 add.w r2, r2, r3, lsl #3 70039b0c: ed92 0b00 vldr d0, [r2] 70039b10: ed91 3b1a vldr d3, [r1, #104] @ 0x68 70039b14: ed91 5b18 vldr d5, [r1, #96] @ 0x60 70039b18: ed91 4b16 vldr d4, [r1, #88] @ 0x58 70039b1c: ee27 0b00 vmul.f64 d0, d7, d0 70039b20: eeb0 7b45 vmov.f64 d7, d5 70039b24: ee20 5b06 vmul.f64 d5, d0, d6 70039b28: eea6 7b03 vfma.f64 d7, d6, d3 70039b2c: eea5 0b04 vfma.f64 d0, d5, d4 70039b30: ee26 6b05 vmul.f64 d6, d6, d5 70039b34: eea7 0b06 vfma.f64 d0, d7, d6 70039b38: eeb7 0bc0 vcvt.f32.f64 s0, d0 70039b3c: bd38 pop {r3, r4, r5, pc} 70039b3e: ed91 2b14 vldr d2, [r1, #80] @ 0x50 70039b42: ed91 7b12 vldr d7, [r1, #72] @ 0x48 70039b46: ed91 3b0e vldr d3, [r1, #56] @ 0x38 70039b4a: ed91 0b0c vldr d0, [r1, #48] @ 0x30 70039b4e: ed91 4b10 vldr d4, [r1, #64] @ 0x40 70039b52: ee26 5b06 vmul.f64 d5, d6, d6 70039b56: eea6 7b02 vfma.f64 d7, d6, d2 70039b5a: eea6 0b03 vfma.f64 d0, d6, d3 70039b5e: ee26 6b05 vmul.f64 d6, d6, d5 70039b62: eea5 0b04 vfma.f64 d0, d5, d4 70039b66: eea7 0b06 vfma.f64 d0, d7, d6 70039b6a: e7e5 b.n 70039b38 70039b6c: eeb7 0a00 vmov.f32 s0, #112 @ 0x3f800000 1.0 70039b70: bd38 pop {r3, r4, r5, pc} 70039b72: f5b3 6fff cmp.w r3, #2040 @ 0x7f8 70039b76: d23b bcs.n 70039bf0 70039b78: 4b28 ldr r3, [pc, #160] @ (70039c1c ) 70039b7a: f3c4 6283 ubfx r2, r4, #26, #4 70039b7e: eb03 0182 add.w r1, r3, r2, lsl #2 70039b82: f853 2022 ldr.w r2, [r3, r2, lsl #2] 70039b86: f3c4 0316 ubfx r3, r4, #0, #23 70039b8a: f3c4 50c2 ubfx r0, r4, #23, #3 70039b8e: f443 0300 orr.w r3, r3, #8388608 @ 0x800000 70039b92: 4083 lsls r3, r0 70039b94: 6a08 ldr r0, [r1, #32] 70039b96: 6909 ldr r1, [r1, #16] 70039b98: fba3 5000 umull r5, r0, r3, r0 70039b9c: fb03 f202 mul.w r2, r3, r2 70039ba0: fbe3 0201 umlal r0, r2, r3, r1 70039ba4: f102 5100 add.w r1, r2, #536870912 @ 0x20000000 70039ba8: 0f8d lsrs r5, r1, #30 70039baa: f001 4140 and.w r1, r1, #3221225472 @ 0xc0000000 70039bae: 1a51 subs r1, r2, r1 70039bb0: f7c6 fd7c bl 700006ac <__aeabi_l2d> 70039bb4: eb05 74d4 add.w r4, r5, r4, lsr #31 70039bb8: ed9f 6b15 vldr d6, [pc, #84] @ 70039c10 70039bbc: ec41 0b17 vmov d7, r0, r1 70039bc0: 07a1 lsls r1, r4, #30 70039bc2: bf54 ite pl 70039bc4: 4b14 ldrpl r3, [pc, #80] @ (70039c18 ) 70039bc6: 4b16 ldrmi r3, [pc, #88] @ (70039c20 ) 70039bc8: ee27 7b06 vmul.f64 d7, d7, d6 70039bcc: 07ea lsls r2, r5, #31 70039bce: ee27 6b07 vmul.f64 d6, d7, d7 70039bd2: d511 bpl.n 70039bf8 70039bd4: 4a10 ldr r2, [pc, #64] @ (70039c18 ) 70039bd6: f004 0403 and.w r4, r4, #3 70039bda: eb02 02c4 add.w r2, r2, r4, lsl #3 70039bde: ed92 0b00 vldr d0, [r2] 70039be2: ed93 3b1a vldr d3, [r3, #104] @ 0x68 70039be6: ed93 5b18 vldr d5, [r3, #96] @ 0x60 70039bea: ed93 4b16 vldr d4, [r3, #88] @ 0x58 70039bee: e795 b.n 70039b1c 70039bf0: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 70039bf4: f000 b824 b.w 70039c40 <__math_invalidf> 70039bf8: ed93 2b14 vldr d2, [r3, #80] @ 0x50 70039bfc: ed93 7b12 vldr d7, [r3, #72] @ 0x48 70039c00: ed93 3b0e vldr d3, [r3, #56] @ 0x38 70039c04: ed93 0b0c vldr d0, [r3, #48] @ 0x30 70039c08: ed93 4b10 vldr d4, [r3, #64] @ 0x40 70039c0c: e7a1 b.n 70039b52 70039c0e: bf00 nop 70039c10: 54442d18 .word 0x54442d18 70039c14: 3c1921fb .word 0x3c1921fb 70039c18: 70040518 .word 0x70040518 70039c1c: 700404b8 .word 0x700404b8 70039c20: 70040588 .word 0x70040588 70039c24 : 70039c24: b510 push {r4, lr} 70039c26: ed2d 8b02 vpush {d8} 70039c2a: eeb0 8a40 vmov.f32 s16, s0 70039c2e: 4604 mov r4, r0 70039c30: f001 fba2 bl 7003b378 <__errno> 70039c34: eeb0 0a48 vmov.f32 s0, s16 70039c38: ecbd 8b02 vpop {d8} 70039c3c: 6004 str r4, [r0, #0] 70039c3e: bd10 pop {r4, pc} 70039c40 <__math_invalidf>: 70039c40: eef0 7a40 vmov.f32 s15, s0 70039c44: ee30 7a40 vsub.f32 s14, s0, s0 70039c48: eef4 7a67 vcmp.f32 s15, s15 70039c4c: eef1 fa10 vmrs APSR_nzcv, fpscr 70039c50: ee87 0a07 vdiv.f32 s0, s14, s14 70039c54: d602 bvs.n 70039c5c <__math_invalidf+0x1c> 70039c56: 2021 movs r0, #33 @ 0x21 70039c58: f7ff bfe4 b.w 70039c24 70039c5c: 4770 bx lr 70039c5e: bf00 nop 70039c60 : 70039c60: b538 push {r3, r4, r5, lr} 70039c62: ee10 5a10 vmov r5, s0 70039c66: f025 4400 bic.w r4, r5, #2147483648 @ 0x80000000 70039c6a: f1b4 4fa1 cmp.w r4, #1350565888 @ 0x50800000 70039c6e: eef0 7a40 vmov.f32 s15, s0 70039c72: d307 bcc.n 70039c84 70039c74: f1b4 4fff cmp.w r4, #2139095040 @ 0x7f800000 70039c78: d855 bhi.n 70039d26 70039c7a: 2d00 cmp r5, #0 70039c7c: dd77 ble.n 70039d6e 70039c7e: ed9f 0a4e vldr s0, [pc, #312] @ 70039db8 70039c82: bd38 pop {r3, r4, r5, pc} 70039c84: 4b4d ldr r3, [pc, #308] @ (70039dbc ) 70039c86: 429c cmp r4, r3 70039c88: d85c bhi.n 70039d44 70039c8a: f1b4 5f44 cmp.w r4, #822083584 @ 0x31000000 70039c8e: d34d bcc.n 70039d2c 70039c90: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 70039c94: ee27 6aa7 vmul.f32 s12, s15, s15 70039c98: ed9f 5a49 vldr s10, [pc, #292] @ 70039dc0 70039c9c: ed9f 7a49 vldr s14, [pc, #292] @ 70039dc4 70039ca0: eddf 5a49 vldr s11, [pc, #292] @ 70039dc8 70039ca4: eddf 4a49 vldr s9, [pc, #292] @ 70039dcc 70039ca8: ee66 6a06 vmul.f32 s13, s12, s12 70039cac: 1c5a adds r2, r3, #1 70039cae: eea6 7a85 vfma.f32 s14, s13, s10 70039cb2: eee6 4aa5 vfma.f32 s9, s13, s11 70039cb6: ed9f 5a46 vldr s10, [pc, #280] @ 70039dd0 70039cba: eddf 5a46 vldr s11, [pc, #280] @ 70039dd4 70039cbe: eea7 5a26 vfma.f32 s10, s14, s13 70039cc2: eee4 5aa6 vfma.f32 s11, s9, s13 70039cc6: ed9f 7a44 vldr s14, [pc, #272] @ 70039dd8 70039cca: eddf 4a44 vldr s9, [pc, #272] @ 70039ddc 70039cce: eea5 7a26 vfma.f32 s14, s10, s13 70039cd2: eee5 4aa6 vfma.f32 s9, s11, s13 70039cd6: ed9f 5a42 vldr s10, [pc, #264] @ 70039de0 70039cda: eddf 5a42 vldr s11, [pc, #264] @ 70039de4 70039cde: eea7 5a26 vfma.f32 s10, s14, s13 70039ce2: ed9f 7a41 vldr s14, [pc, #260] @ 70039de8 70039ce6: eea4 7aa6 vfma.f32 s14, s9, s13 70039cea: eee5 5a26 vfma.f32 s11, s10, s13 70039cee: ee27 7a26 vmul.f32 s14, s14, s13 70039cf2: eea5 7a86 vfma.f32 s14, s11, s12 70039cf6: ee27 7a87 vmul.f32 s14, s15, s14 70039cfa: d03b beq.n 70039d74 70039cfc: 493b ldr r1, [pc, #236] @ (70039dec ) 70039cfe: 4a3c ldr r2, [pc, #240] @ (70039df0 ) 70039d00: eb01 0183 add.w r1, r1, r3, lsl #2 70039d04: edd1 6a00 vldr s13, [r1] 70039d08: ee37 7a66 vsub.f32 s14, s14, s13 70039d0c: eb02 0383 add.w r3, r2, r3, lsl #2 70039d10: edd3 6a00 vldr s13, [r3] 70039d14: ee37 7a67 vsub.f32 s14, s14, s15 70039d18: 2d00 cmp r5, #0 70039d1a: ee36 0ac7 vsub.f32 s0, s13, s14 70039d1e: dab0 bge.n 70039c82 70039d20: eeb1 0a40 vneg.f32 s0, s0 70039d24: bd38 pop {r3, r4, r5, pc} 70039d26: ee30 0a00 vadd.f32 s0, s0, s0 70039d2a: bd38 pop {r3, r4, r5, pc} 70039d2c: ed9f 7a31 vldr s14, [pc, #196] @ 70039df4 70039d30: ee30 7a07 vadd.f32 s14, s0, s14 70039d34: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 70039d38: eeb4 7ae6 vcmpe.f32 s14, s13 70039d3c: eef1 fa10 vmrs APSR_nzcv, fpscr 70039d40: dda6 ble.n 70039c90 70039d42: bd38 pop {r3, r4, r5, pc} 70039d44: f000 f85e bl 70039e04 70039d48: 4b2b ldr r3, [pc, #172] @ (70039df8 ) 70039d4a: 429c cmp r4, r3 70039d4c: d815 bhi.n 70039d7a 70039d4e: f5a3 03d0 sub.w r3, r3, #6815744 @ 0x680000 70039d52: 429c cmp r4, r3 70039d54: d826 bhi.n 70039da4 70039d56: eef0 7a00 vmov.f32 s15, #0 @ 0x40000000 2.0 70039d5a: eebf 7a00 vmov.f32 s14, #240 @ 0xbf800000 -1.0 70039d5e: eea0 7a27 vfma.f32 s14, s0, s15 70039d62: 2300 movs r3, #0 70039d64: ee30 0a27 vadd.f32 s0, s0, s15 70039d68: eec7 7a00 vdiv.f32 s15, s14, s0 70039d6c: e792 b.n 70039c94 70039d6e: ed9f 0a23 vldr s0, [pc, #140] @ 70039dfc 70039d72: bd38 pop {r3, r4, r5, pc} 70039d74: ee37 0ac7 vsub.f32 s0, s15, s14 70039d78: bd38 pop {r3, r4, r5, pc} 70039d7a: 4b21 ldr r3, [pc, #132] @ (70039e00 ) 70039d7c: 429c cmp r4, r3 70039d7e: d80b bhi.n 70039d98 70039d80: eef7 7a08 vmov.f32 s15, #120 @ 0x3fc00000 1.5 70039d84: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70039d88: eea0 7a27 vfma.f32 s14, s0, s15 70039d8c: 2302 movs r3, #2 70039d8e: ee30 0a67 vsub.f32 s0, s0, s15 70039d92: eec0 7a07 vdiv.f32 s15, s0, s14 70039d96: e77d b.n 70039c94 70039d98: eebf 7a00 vmov.f32 s14, #240 @ 0xbf800000 -1.0 70039d9c: eec7 7a00 vdiv.f32 s15, s14, s0 70039da0: 2303 movs r3, #3 70039da2: e777 b.n 70039c94 70039da4: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 70039da8: ee30 7a67 vsub.f32 s14, s0, s15 70039dac: ee30 0a27 vadd.f32 s0, s0, s15 70039db0: 2301 movs r3, #1 70039db2: eec7 7a00 vdiv.f32 s15, s14, s0 70039db6: e76d b.n 70039c94 70039db8: 3fc90fdb .word 0x3fc90fdb 70039dbc: 3edfffff .word 0x3edfffff 70039dc0: 3c8569d7 .word 0x3c8569d7 70039dc4: 3d4bda59 .word 0x3d4bda59 70039dc8: bd15a221 .word 0xbd15a221 70039dcc: bd6ef16b .word 0xbd6ef16b 70039dd0: 3d886b35 .word 0x3d886b35 70039dd4: bd9d8795 .word 0xbd9d8795 70039dd8: 3dba2e6e .word 0x3dba2e6e 70039ddc: bde38e38 .word 0xbde38e38 70039de0: 3e124925 .word 0x3e124925 70039de4: 3eaaaaab .word 0x3eaaaaab 70039de8: be4ccccd .word 0xbe4ccccd 70039dec: 700405f8 .word 0x700405f8 70039df0: 70040608 .word 0x70040608 70039df4: 7149f2ca .word 0x7149f2ca 70039df8: 3f97ffff .word 0x3f97ffff 70039dfc: bfc90fdb .word 0xbfc90fdb 70039e00: 401bffff .word 0x401bffff 70039e04 : 70039e04: ee10 3a10 vmov r3, s0 70039e08: f023 4300 bic.w r3, r3, #2147483648 @ 0x80000000 70039e0c: ee00 3a10 vmov s0, r3 70039e10: 4770 bx lr 70039e12: bf00 nop 70039e14 : 70039e14: ed9f 0a01 vldr s0, [pc, #4] @ 70039e1c 70039e18: 4770 bx lr 70039e1a: bf00 nop 70039e1c: 7fc00000 .word 0x7fc00000 70039e20 : 70039e20: ee10 3a10 vmov r3, s0 70039e24: 4a10 ldr r2, [pc, #64] @ (70039e68 ) 70039e26: f023 4300 bic.w r3, r3, #2147483648 @ 0x80000000 70039e2a: 4293 cmp r3, r2 70039e2c: d917 bls.n 70039e5e 70039e2e: f1b3 4fff cmp.w r3, #2139095040 @ 0x7f800000 70039e32: d302 bcc.n 70039e3a 70039e34: ee30 0a40 vsub.f32 s0, s0, s0 70039e38: 4770 bx lr 70039e3a: b500 push {lr} 70039e3c: b083 sub sp, #12 70039e3e: 4668 mov r0, sp 70039e40: f000 fb84 bl 7003a54c <__ieee754_rem_pio2f> 70039e44: 0040 lsls r0, r0, #1 70039e46: f000 0002 and.w r0, r0, #2 70039e4a: eddd 0a01 vldr s1, [sp, #4] 70039e4e: ed9d 0a00 vldr s0, [sp] 70039e52: f1c0 0001 rsb r0, r0, #1 70039e56: f000 f80b bl 70039e70 <__kernel_tanf> 70039e5a: b003 add sp, #12 70039e5c: bd00 pop {pc} 70039e5e: eddf 0a03 vldr s1, [pc, #12] @ 70039e6c 70039e62: 2001 movs r0, #1 70039e64: f000 b804 b.w 70039e70 <__kernel_tanf> 70039e68: 3f490fda .word 0x3f490fda 70039e6c: 00000000 .word 0x00000000 70039e70 <__kernel_tanf>: 70039e70: b508 push {r3, lr} 70039e72: ee10 3a10 vmov r3, s0 70039e76: f023 4200 bic.w r2, r3, #2147483648 @ 0x80000000 70039e7a: f1b2 5f46 cmp.w r2, #830472192 @ 0x31800000 70039e7e: eef0 7a40 vmov.f32 s15, s0 70039e82: d20f bcs.n 70039ea4 <__kernel_tanf+0x34> 70039e84: eebd 7ac0 vcvt.s32.f32 s14, s0 70039e88: ee17 1a10 vmov r1, s14 70039e8c: b9f9 cbnz r1, 70039ece <__kernel_tanf+0x5e> 70039e8e: 1c43 adds r3, r0, #1 70039e90: 4313 orrs r3, r2 70039e92: f000 80a0 beq.w 70039fd6 <__kernel_tanf+0x166> 70039e96: 2801 cmp r0, #1 70039e98: d003 beq.n 70039ea2 <__kernel_tanf+0x32> 70039e9a: eebf 7a00 vmov.f32 s14, #240 @ 0xbf800000 -1.0 70039e9e: ee87 0a27 vdiv.f32 s0, s14, s15 70039ea2: bd08 pop {r3, pc} 70039ea4: 4950 ldr r1, [pc, #320] @ (70039fe8 <__kernel_tanf+0x178>) 70039ea6: 428a cmp r2, r1 70039ea8: d311 bcc.n 70039ece <__kernel_tanf+0x5e> 70039eaa: ed9f 7a50 vldr s14, [pc, #320] @ 70039fec <__kernel_tanf+0x17c> 70039eae: eddf 6a50 vldr s13, [pc, #320] @ 70039ff0 <__kernel_tanf+0x180> 70039eb2: 2b00 cmp r3, #0 70039eb4: bfbc itt lt 70039eb6: eef1 0a60 vneglt.f32 s1, s1 70039eba: eef1 7a40 vneglt.f32 s15, s0 70039ebe: ee77 7a67 vsub.f32 s15, s14, s15 70039ec2: ee36 7ae0 vsub.f32 s14, s13, s1 70039ec6: eddf 0a4b vldr s1, [pc, #300] @ 70039ff4 <__kernel_tanf+0x184> 70039eca: ee77 7a27 vadd.f32 s15, s14, s15 70039ece: ee67 6aa7 vmul.f32 s13, s15, s15 70039ed2: eddf 4a49 vldr s9, [pc, #292] @ 70039ff8 <__kernel_tanf+0x188> 70039ed6: eddf 5a49 vldr s11, [pc, #292] @ 70039ffc <__kernel_tanf+0x18c> 70039eda: ed9f 5a49 vldr s10, [pc, #292] @ 7003a000 <__kernel_tanf+0x190> 70039ede: ed9f 6a49 vldr s12, [pc, #292] @ 7003a004 <__kernel_tanf+0x194> 70039ee2: 4941 ldr r1, [pc, #260] @ (70039fe8 <__kernel_tanf+0x178>) 70039ee4: ee26 7aa6 vmul.f32 s14, s13, s13 70039ee8: 428a cmp r2, r1 70039eea: eee7 5a24 vfma.f32 s11, s14, s9 70039eee: eea7 6a05 vfma.f32 s12, s14, s10 70039ef2: eddf 4a45 vldr s9, [pc, #276] @ 7003a008 <__kernel_tanf+0x198> 70039ef6: ed9f 5a45 vldr s10, [pc, #276] @ 7003a00c <__kernel_tanf+0x19c> 70039efa: eee5 4a87 vfma.f32 s9, s11, s14 70039efe: eea6 5a07 vfma.f32 s10, s12, s14 70039f02: eddf 5a43 vldr s11, [pc, #268] @ 7003a010 <__kernel_tanf+0x1a0> 70039f06: ed9f 6a43 vldr s12, [pc, #268] @ 7003a014 <__kernel_tanf+0x1a4> 70039f0a: eee4 5a87 vfma.f32 s11, s9, s14 70039f0e: eea5 6a07 vfma.f32 s12, s10, s14 70039f12: eddf 4a41 vldr s9, [pc, #260] @ 7003a018 <__kernel_tanf+0x1a8> 70039f16: ed9f 5a41 vldr s10, [pc, #260] @ 7003a01c <__kernel_tanf+0x1ac> 70039f1a: eee5 4a87 vfma.f32 s9, s11, s14 70039f1e: eea6 5a07 vfma.f32 s10, s12, s14 70039f22: ed9f 6a3f vldr s12, [pc, #252] @ 7003a020 <__kernel_tanf+0x1b0> 70039f26: eddf 5a3f vldr s11, [pc, #252] @ 7003a024 <__kernel_tanf+0x1b4> 70039f2a: eea4 6a87 vfma.f32 s12, s9, s14 70039f2e: eee5 5a07 vfma.f32 s11, s10, s14 70039f32: eeb0 7a46 vmov.f32 s14, s12 70039f36: eea5 7aa6 vfma.f32 s14, s11, s13 70039f3a: ee27 5aa6 vmul.f32 s10, s15, s13 70039f3e: eeb0 6a60 vmov.f32 s12, s1 70039f42: eea7 6a05 vfma.f32 s12, s14, s10 70039f46: eddf 4a38 vldr s9, [pc, #224] @ 7003a028 <__kernel_tanf+0x1b8> 70039f4a: eee6 0a26 vfma.f32 s1, s12, s13 70039f4e: eee5 0a24 vfma.f32 s1, s10, s9 70039f52: ee37 0aa0 vadd.f32 s0, s15, s1 70039f56: d220 bcs.n 70039f9a <__kernel_tanf+0x12a> 70039f58: 2801 cmp r0, #1 70039f5a: d0a2 beq.n 70039ea2 <__kernel_tanf+0x32> 70039f5c: eebf 7a00 vmov.f32 s14, #240 @ 0xbf800000 -1.0 70039f60: eec7 6a00 vdiv.f32 s13, s14, s0 70039f64: ee10 3a10 vmov r3, s0 70039f68: f36f 030b bfc r3, #0, #12 70039f6c: ee06 3a10 vmov s12, r3 70039f70: ee16 3a90 vmov r3, s13 70039f74: ee76 7a67 vsub.f32 s15, s12, s15 70039f78: f36f 030b bfc r3, #0, #12 70039f7c: ee00 3a10 vmov s0, r3 70039f80: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70039f84: ee70 0ae7 vsub.f32 s1, s1, s15 70039f88: eef0 7a47 vmov.f32 s15, s14 70039f8c: eee6 7a00 vfma.f32 s15, s12, s0 70039f90: eee0 7a80 vfma.f32 s15, s1, s0 70039f94: eea7 0aa6 vfma.f32 s0, s15, s13 70039f98: bd08 pop {r3, pc} 70039f9a: ee07 0a10 vmov s14, r0 70039f9e: eeb8 7ac7 vcvt.f32.s32 s14, s14 70039fa2: ee60 6a00 vmul.f32 s13, s0, s0 70039fa6: ee30 0a07 vadd.f32 s0, s0, s14 70039faa: 179b asrs r3, r3, #30 70039fac: ee86 6a80 vdiv.f32 s12, s13, s0 70039fb0: f003 0302 and.w r3, r3, #2 70039fb4: f1c3 0301 rsb r3, r3, #1 70039fb8: eef0 5a00 vmov.f32 s11, #0 @ 0x40000000 2.0 70039fbc: ee36 6a60 vsub.f32 s12, s12, s1 70039fc0: ee06 3a90 vmov s13, r3 70039fc4: ee77 7ac6 vsub.f32 s15, s15, s12 70039fc8: eef8 6ae6 vcvt.f32.s32 s13, s13 70039fcc: eea7 7ae5 vfms.f32 s14, s15, s11 70039fd0: ee26 0a87 vmul.f32 s0, s13, s14 70039fd4: bd08 pop {r3, pc} 70039fd6: f7ff ff15 bl 70039e04 70039fda: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 70039fde: eef0 7a40 vmov.f32 s15, s0 70039fe2: ee87 0a27 vdiv.f32 s0, s14, s15 70039fe6: bd08 pop {r3, pc} 70039fe8: 3f2ca140 .word 0x3f2ca140 70039fec: 3f490fda .word 0x3f490fda 70039ff0: 33222168 .word 0x33222168 70039ff4: 00000000 .word 0x00000000 70039ff8: b79bae5f .word 0xb79bae5f 70039ffc: 38a3f445 .word 0x38a3f445 7003a000: 37d95384 .word 0x37d95384 7003a004: 3895c07a .word 0x3895c07a 7003a008: 3a1a26c8 .word 0x3a1a26c8 7003a00c: 398137b9 .word 0x398137b9 7003a010: 3b6b6916 .word 0x3b6b6916 7003a014: 3abede48 .word 0x3abede48 7003a018: 3cb327a4 .word 0x3cb327a4 7003a01c: 3c11371f .word 0x3c11371f 7003a020: 3e088889 .word 0x3e088889 7003a024: 3d5d0dd1 .word 0x3d5d0dd1 7003a028: 3eaaaaab .word 0x3eaaaaab 7003a02c <__ieee754_acosf>: 7003a02c: b508 push {r3, lr} 7003a02e: ee10 2a10 vmov r2, s0 7003a032: f022 4300 bic.w r3, r2, #2147483648 @ 0x80000000 7003a036: f1b3 5f7e cmp.w r3, #1065353216 @ 0x3f800000 7003a03a: ed2d 8b02 vpush {d8} 7003a03e: d012 beq.n 7003a066 <__ieee754_acosf+0x3a> 7003a040: d80a bhi.n 7003a058 <__ieee754_acosf+0x2c> 7003a042: f1b3 5f7c cmp.w r3, #1056964608 @ 0x3f000000 7003a046: d216 bcs.n 7003a076 <__ieee754_acosf+0x4a> 7003a048: f1b3 5f0c cmp.w r3, #587202560 @ 0x23000000 7003a04c: d867 bhi.n 7003a11e <__ieee754_acosf+0xf2> 7003a04e: ecbd 8b02 vpop {d8} 7003a052: ed9f 0a77 vldr s0, [pc, #476] @ 7003a230 <__ieee754_acosf+0x204> 7003a056: bd08 pop {r3, pc} 7003a058: ee70 7a40 vsub.f32 s15, s0, s0 7003a05c: ee87 0aa7 vdiv.f32 s0, s15, s15 7003a060: ecbd 8b02 vpop {d8} 7003a064: bd08 pop {r3, pc} 7003a066: 2a00 cmp r2, #0 7003a068: f340 80dd ble.w 7003a226 <__ieee754_acosf+0x1fa> 7003a06c: ecbd 8b02 vpop {d8} 7003a070: ed9f 0a70 vldr s0, [pc, #448] @ 7003a234 <__ieee754_acosf+0x208> 7003a074: bd08 pop {r3, pc} 7003a076: 2a00 cmp r2, #0 7003a078: f2c0 808e blt.w 7003a198 <__ieee754_acosf+0x16c> 7003a07c: eef7 8a00 vmov.f32 s17, #112 @ 0x3f800000 1.0 7003a080: ee38 0ac0 vsub.f32 s0, s17, s0 7003a084: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 7003a088: ee20 8a27 vmul.f32 s16, s0, s15 7003a08c: eeb0 0a48 vmov.f32 s0, s16 7003a090: f000 f996 bl 7003a3c0 <__ieee754_sqrtf> 7003a094: eddf 7a68 vldr s15, [pc, #416] @ 7003a238 <__ieee754_acosf+0x20c> 7003a098: ed9f 7a68 vldr s14, [pc, #416] @ 7003a23c <__ieee754_acosf+0x210> 7003a09c: eddf 6a68 vldr s13, [pc, #416] @ 7003a240 <__ieee754_acosf+0x214> 7003a0a0: eddf 5a68 vldr s11, [pc, #416] @ 7003a244 <__ieee754_acosf+0x218> 7003a0a4: ed9f 6a68 vldr s12, [pc, #416] @ 7003a248 <__ieee754_acosf+0x21c> 7003a0a8: eea8 7a27 vfma.f32 s14, s16, s15 7003a0ac: eddf 7a67 vldr s15, [pc, #412] @ 7003a24c <__ieee754_acosf+0x220> 7003a0b0: eee7 6a08 vfma.f32 s13, s14, s16 7003a0b4: eee8 7a06 vfma.f32 s15, s16, s12 7003a0b8: eee6 5a88 vfma.f32 s11, s13, s16 7003a0bc: ed9f 6a64 vldr s12, [pc, #400] @ 7003a250 <__ieee754_acosf+0x224> 7003a0c0: ed9f 7a64 vldr s14, [pc, #400] @ 7003a254 <__ieee754_acosf+0x228> 7003a0c4: eddf 6a64 vldr s13, [pc, #400] @ 7003a258 <__ieee754_acosf+0x22c> 7003a0c8: eea5 6a88 vfma.f32 s12, s11, s16 7003a0cc: eea7 7a88 vfma.f32 s14, s15, s16 7003a0d0: eddf 7a62 vldr s15, [pc, #392] @ 7003a25c <__ieee754_acosf+0x230> 7003a0d4: eee6 7a08 vfma.f32 s15, s12, s16 7003a0d8: ee10 3a10 vmov r3, s0 7003a0dc: eee7 6a08 vfma.f32 s13, s14, s16 7003a0e0: f36f 030b bfc r3, #0, #12 7003a0e4: eeb0 7a67 vmov.f32 s14, s15 7003a0e8: ee07 3a90 vmov s15, r3 7003a0ec: eef0 5a48 vmov.f32 s11, s16 7003a0f0: eee7 5ae7 vfms.f32 s11, s15, s15 7003a0f4: eee6 8a88 vfma.f32 s17, s13, s16 7003a0f8: ee30 6a27 vadd.f32 s12, s0, s15 7003a0fc: ee27 7a08 vmul.f32 s14, s14, s16 7003a100: eec5 6a86 vdiv.f32 s13, s11, s12 7003a104: ee87 6a28 vdiv.f32 s12, s14, s17 7003a108: ecbd 8b02 vpop {d8} 7003a10c: eeb0 7a66 vmov.f32 s14, s13 7003a110: eea0 7a06 vfma.f32 s14, s0, s12 7003a114: ee37 0a87 vadd.f32 s0, s15, s14 7003a118: ee30 0a00 vadd.f32 s0, s0, s0 7003a11c: bd08 pop {r3, pc} 7003a11e: ee20 7a00 vmul.f32 s14, s0, s0 7003a122: eddf 7a45 vldr s15, [pc, #276] @ 7003a238 <__ieee754_acosf+0x20c> 7003a126: ed9f 6a45 vldr s12, [pc, #276] @ 7003a23c <__ieee754_acosf+0x210> 7003a12a: eddf 6a45 vldr s13, [pc, #276] @ 7003a240 <__ieee754_acosf+0x214> 7003a12e: ed9f 5a46 vldr s10, [pc, #280] @ 7003a248 <__ieee754_acosf+0x21c> 7003a132: eddf 5a44 vldr s11, [pc, #272] @ 7003a244 <__ieee754_acosf+0x218> 7003a136: eea7 6a27 vfma.f32 s12, s14, s15 7003a13a: ecbd 8b02 vpop {d8} 7003a13e: eee6 6a07 vfma.f32 s13, s12, s14 7003a142: eddf 7a42 vldr s15, [pc, #264] @ 7003a24c <__ieee754_acosf+0x220> 7003a146: ed9f 6a43 vldr s12, [pc, #268] @ 7003a254 <__ieee754_acosf+0x228> 7003a14a: eee7 7a05 vfma.f32 s15, s14, s10 7003a14e: eee6 5a87 vfma.f32 s11, s13, s14 7003a152: eea7 6a87 vfma.f32 s12, s15, s14 7003a156: ed9f 5a3e vldr s10, [pc, #248] @ 7003a250 <__ieee754_acosf+0x224> 7003a15a: eddf 7a3f vldr s15, [pc, #252] @ 7003a258 <__ieee754_acosf+0x22c> 7003a15e: eddf 6a3f vldr s13, [pc, #252] @ 7003a25c <__ieee754_acosf+0x230> 7003a162: eea5 5a87 vfma.f32 s10, s11, s14 7003a166: eee6 7a07 vfma.f32 s15, s12, s14 7003a16a: eee5 6a07 vfma.f32 s13, s10, s14 7003a16e: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 7003a172: eee7 5a87 vfma.f32 s11, s15, s14 7003a176: ee26 7a87 vmul.f32 s14, s13, s14 7003a17a: ed9f 6a39 vldr s12, [pc, #228] @ 7003a260 <__ieee754_acosf+0x234> 7003a17e: eddf 7a39 vldr s15, [pc, #228] @ 7003a264 <__ieee754_acosf+0x238> 7003a182: eec7 6a25 vdiv.f32 s13, s14, s11 7003a186: eeb0 7a46 vmov.f32 s14, s12 7003a18a: eea0 7a66 vfms.f32 s14, s0, s13 7003a18e: ee30 0a47 vsub.f32 s0, s0, s14 7003a192: ee37 0ac0 vsub.f32 s0, s15, s0 7003a196: bd08 pop {r3, pc} 7003a198: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 7003a19c: ee30 0a07 vadd.f32 s0, s0, s14 7003a1a0: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 7003a1a4: ee60 7a27 vmul.f32 s15, s0, s15 7003a1a8: eddf 6a23 vldr s13, [pc, #140] @ 7003a238 <__ieee754_acosf+0x20c> 7003a1ac: ed9f 6a23 vldr s12, [pc, #140] @ 7003a23c <__ieee754_acosf+0x210> 7003a1b0: eddf 4a23 vldr s9, [pc, #140] @ 7003a240 <__ieee754_acosf+0x214> 7003a1b4: eddf 5a24 vldr s11, [pc, #144] @ 7003a248 <__ieee754_acosf+0x21c> 7003a1b8: ed9f 5a22 vldr s10, [pc, #136] @ 7003a244 <__ieee754_acosf+0x218> 7003a1bc: ed9f 8a27 vldr s16, [pc, #156] @ 7003a25c <__ieee754_acosf+0x230> 7003a1c0: eea7 6aa6 vfma.f32 s12, s15, s13 7003a1c4: eddf 6a21 vldr s13, [pc, #132] @ 7003a24c <__ieee754_acosf+0x220> 7003a1c8: eee6 4a27 vfma.f32 s9, s12, s15 7003a1cc: eee7 6aa5 vfma.f32 s13, s15, s11 7003a1d0: eddf 5a20 vldr s11, [pc, #128] @ 7003a254 <__ieee754_acosf+0x228> 7003a1d4: ed9f 6a1e vldr s12, [pc, #120] @ 7003a250 <__ieee754_acosf+0x224> 7003a1d8: eea4 5aa7 vfma.f32 s10, s9, s15 7003a1dc: eee6 5aa7 vfma.f32 s11, s13, s15 7003a1e0: eddf 6a1d vldr s13, [pc, #116] @ 7003a258 <__ieee754_acosf+0x22c> 7003a1e4: eea5 6a27 vfma.f32 s12, s10, s15 7003a1e8: eee5 6aa7 vfma.f32 s13, s11, s15 7003a1ec: eea6 8a27 vfma.f32 s16, s12, s15 7003a1f0: eea6 7aa7 vfma.f32 s14, s13, s15 7003a1f4: ee28 8a27 vmul.f32 s16, s16, s15 7003a1f8: eef0 8a47 vmov.f32 s17, s14 7003a1fc: eeb0 0a67 vmov.f32 s0, s15 7003a200: f000 f8de bl 7003a3c0 <__ieee754_sqrtf> 7003a204: ee88 6a28 vdiv.f32 s12, s16, s17 7003a208: ed9f 7a17 vldr s14, [pc, #92] @ 7003a268 <__ieee754_acosf+0x23c> 7003a20c: eddf 7a17 vldr s15, [pc, #92] @ 7003a26c <__ieee754_acosf+0x240> 7003a210: eea0 7a06 vfma.f32 s14, s0, s12 7003a214: eef0 6a00 vmov.f32 s13, #0 @ 0x40000000 2.0 7003a218: ee37 7a00 vadd.f32 s14, s14, s0 7003a21c: eee7 7a66 vfms.f32 s15, s14, s13 7003a220: eeb0 0a67 vmov.f32 s0, s15 7003a224: e71c b.n 7003a060 <__ieee754_acosf+0x34> 7003a226: ecbd 8b02 vpop {d8} 7003a22a: ed9f 0a11 vldr s0, [pc, #68] @ 7003a270 <__ieee754_acosf+0x244> 7003a22e: bd08 pop {r3, pc} 7003a230: 3fc90fdb .word 0x3fc90fdb 7003a234: 00000000 .word 0x00000000 7003a238: 3811ef08 .word 0x3811ef08 7003a23c: 3a4f7f04 .word 0x3a4f7f04 7003a240: bd241146 .word 0xbd241146 7003a244: 3e4e0aa8 .word 0x3e4e0aa8 7003a248: 3d9dc62e .word 0x3d9dc62e 7003a24c: bf303361 .word 0xbf303361 7003a250: bea6b090 .word 0xbea6b090 7003a254: 4001572d .word 0x4001572d 7003a258: c019d139 .word 0xc019d139 7003a25c: 3e2aaaab .word 0x3e2aaaab 7003a260: 33a22168 .word 0x33a22168 7003a264: 3fc90fda .word 0x3fc90fda 7003a268: b3a22168 .word 0xb3a22168 7003a26c: 40490fda .word 0x40490fda 7003a270: 40490fdb .word 0x40490fdb 7003a274 <__ieee754_atan2f>: 7003a274: b510 push {r4, lr} 7003a276: b082 sub sp, #8 7003a278: edcd 0a01 vstr s1, [sp, #4] 7003a27c: 9b01 ldr r3, [sp, #4] 7003a27e: f023 4200 bic.w r2, r3, #2147483648 @ 0x80000000 7003a282: f1b2 4fff cmp.w r2, #2139095040 @ 0x7f800000 7003a286: eef0 7a40 vmov.f32 s15, s0 7003a28a: d830 bhi.n 7003a2ee <__ieee754_atan2f+0x7a> 7003a28c: ee10 0a10 vmov r0, s0 7003a290: f020 4100 bic.w r1, r0, #2147483648 @ 0x80000000 7003a294: f1b1 4fff cmp.w r1, #2139095040 @ 0x7f800000 7003a298: d829 bhi.n 7003a2ee <__ieee754_atan2f+0x7a> 7003a29a: f1b3 5f7e cmp.w r3, #1065353216 @ 0x3f800000 7003a29e: d03d beq.n 7003a31c <__ieee754_atan2f+0xa8> 7003a2a0: 179c asrs r4, r3, #30 7003a2a2: f004 0402 and.w r4, r4, #2 7003a2a6: ea44 74d0 orr.w r4, r4, r0, lsr #31 7003a2aa: b331 cbz r1, 7003a2fa <__ieee754_atan2f+0x86> 7003a2ac: b372 cbz r2, 7003a30c <__ieee754_atan2f+0x98> 7003a2ae: f1b2 4fff cmp.w r2, #2139095040 @ 0x7f800000 7003a2b2: d03e beq.n 7003a332 <__ieee754_atan2f+0xbe> 7003a2b4: f1b1 4fff cmp.w r1, #2139095040 @ 0x7f800000 7003a2b8: d028 beq.n 7003a30c <__ieee754_atan2f+0x98> 7003a2ba: 1a89 subs r1, r1, r2 7003a2bc: f1b1 5ff4 cmp.w r1, #511705088 @ 0x1e800000 7003a2c0: ea4f 52e1 mov.w r2, r1, asr #23 7003a2c4: da32 bge.n 7003a32c <__ieee754_atan2f+0xb8> 7003a2c6: 2b00 cmp r3, #0 7003a2c8: da40 bge.n 7003a34c <__ieee754_atan2f+0xd8> 7003a2ca: 323c adds r2, #60 @ 0x3c 7003a2cc: da3e bge.n 7003a34c <__ieee754_atan2f+0xd8> 7003a2ce: ed9f 0a33 vldr s0, [pc, #204] @ 7003a39c <__ieee754_atan2f+0x128> 7003a2d2: 2c01 cmp r4, #1 7003a2d4: d04c beq.n 7003a370 <__ieee754_atan2f+0xfc> 7003a2d6: 2c02 cmp r4, #2 7003a2d8: d041 beq.n 7003a35e <__ieee754_atan2f+0xea> 7003a2da: b164 cbz r4, 7003a2f6 <__ieee754_atan2f+0x82> 7003a2dc: ed9f 7a30 vldr s14, [pc, #192] @ 7003a3a0 <__ieee754_atan2f+0x12c> 7003a2e0: eddf 7a30 vldr s15, [pc, #192] @ 7003a3a4 <__ieee754_atan2f+0x130> 7003a2e4: ee30 0a07 vadd.f32 s0, s0, s14 7003a2e8: ee30 0a67 vsub.f32 s0, s0, s15 7003a2ec: e003 b.n 7003a2f6 <__ieee754_atan2f+0x82> 7003a2ee: ed9d 7a01 vldr s14, [sp, #4] 7003a2f2: ee37 0a27 vadd.f32 s0, s14, s15 7003a2f6: b002 add sp, #8 7003a2f8: bd10 pop {r4, pc} 7003a2fa: 2c02 cmp r4, #2 7003a2fc: d00b beq.n 7003a316 <__ieee754_atan2f+0xa2> 7003a2fe: ed9f 7a2a vldr s14, [pc, #168] @ 7003a3a8 <__ieee754_atan2f+0x134> 7003a302: 2c03 cmp r4, #3 7003a304: fe07 0a00 vseleq.f32 s0, s14, s0 7003a308: b002 add sp, #8 7003a30a: bd10 pop {r4, pc} 7003a30c: 2800 cmp r0, #0 7003a30e: db0a blt.n 7003a326 <__ieee754_atan2f+0xb2> 7003a310: ed9f 0a26 vldr s0, [pc, #152] @ 7003a3ac <__ieee754_atan2f+0x138> 7003a314: e7ef b.n 7003a2f6 <__ieee754_atan2f+0x82> 7003a316: ed9f 0a23 vldr s0, [pc, #140] @ 7003a3a4 <__ieee754_atan2f+0x130> 7003a31a: e7ec b.n 7003a2f6 <__ieee754_atan2f+0x82> 7003a31c: b002 add sp, #8 7003a31e: e8bd 4010 ldmia.w sp!, {r4, lr} 7003a322: f7ff bc9d b.w 70039c60 7003a326: ed9f 0a22 vldr s0, [pc, #136] @ 7003a3b0 <__ieee754_atan2f+0x13c> 7003a32a: e7e4 b.n 7003a2f6 <__ieee754_atan2f+0x82> 7003a32c: ed9f 0a1f vldr s0, [pc, #124] @ 7003a3ac <__ieee754_atan2f+0x138> 7003a330: e7cf b.n 7003a2d2 <__ieee754_atan2f+0x5e> 7003a332: f1b1 4fff cmp.w r1, #2139095040 @ 0x7f800000 7003a336: f104 34ff add.w r4, r4, #4294967295 @ 0xffffffff 7003a33a: d020 beq.n 7003a37e <__ieee754_atan2f+0x10a> 7003a33c: 2c02 cmp r4, #2 7003a33e: d826 bhi.n 7003a38e <__ieee754_atan2f+0x11a> 7003a340: 4b1c ldr r3, [pc, #112] @ (7003a3b4 <__ieee754_atan2f+0x140>) 7003a342: eb03 0384 add.w r3, r3, r4, lsl #2 7003a346: ed93 0a00 vldr s0, [r3] 7003a34a: e7d4 b.n 7003a2f6 <__ieee754_atan2f+0x82> 7003a34c: ed9d 7a01 vldr s14, [sp, #4] 7003a350: ee87 0a87 vdiv.f32 s0, s15, s14 7003a354: f7ff fd56 bl 70039e04 7003a358: f7ff fc82 bl 70039c60 7003a35c: e7b9 b.n 7003a2d2 <__ieee754_atan2f+0x5e> 7003a35e: ed9f 7a10 vldr s14, [pc, #64] @ 7003a3a0 <__ieee754_atan2f+0x12c> 7003a362: eddf 7a10 vldr s15, [pc, #64] @ 7003a3a4 <__ieee754_atan2f+0x130> 7003a366: ee30 0a07 vadd.f32 s0, s0, s14 7003a36a: ee37 0ac0 vsub.f32 s0, s15, s0 7003a36e: e7c2 b.n 7003a2f6 <__ieee754_atan2f+0x82> 7003a370: ee10 3a10 vmov r3, s0 7003a374: f103 4300 add.w r3, r3, #2147483648 @ 0x80000000 7003a378: ee00 3a10 vmov s0, r3 7003a37c: e7bb b.n 7003a2f6 <__ieee754_atan2f+0x82> 7003a37e: 2c02 cmp r4, #2 7003a380: d808 bhi.n 7003a394 <__ieee754_atan2f+0x120> 7003a382: 4b0d ldr r3, [pc, #52] @ (7003a3b8 <__ieee754_atan2f+0x144>) 7003a384: eb03 0384 add.w r3, r3, r4, lsl #2 7003a388: ed93 0a00 vldr s0, [r3] 7003a38c: e7b3 b.n 7003a2f6 <__ieee754_atan2f+0x82> 7003a38e: ed9f 0a03 vldr s0, [pc, #12] @ 7003a39c <__ieee754_atan2f+0x128> 7003a392: e7b0 b.n 7003a2f6 <__ieee754_atan2f+0x82> 7003a394: ed9f 0a09 vldr s0, [pc, #36] @ 7003a3bc <__ieee754_atan2f+0x148> 7003a398: e7ad b.n 7003a2f6 <__ieee754_atan2f+0x82> 7003a39a: bf00 nop 7003a39c: 00000000 .word 0x00000000 7003a3a0: 33bbbd2e .word 0x33bbbd2e 7003a3a4: 40490fdb .word 0x40490fdb 7003a3a8: c0490fdb .word 0xc0490fdb 7003a3ac: 3fc90fdb .word 0x3fc90fdb 7003a3b0: bfc90fdb .word 0xbfc90fdb 7003a3b4: 70040618 .word 0x70040618 7003a3b8: 70040624 .word 0x70040624 7003a3bc: 3f490fdb .word 0x3f490fdb 7003a3c0 <__ieee754_sqrtf>: 7003a3c0: eeb1 0ac0 vsqrt.f32 s0, s0 7003a3c4: 4770 bx lr 7003a3c6: bf00 nop 7003a3c8 <__ieee754_fmodf>: 7003a3c8: b570 push {r4, r5, r6, lr} 7003a3ca: b082 sub sp, #8 7003a3cc: edcd 0a01 vstr s1, [sp, #4] 7003a3d0: 9801 ldr r0, [sp, #4] 7003a3d2: f020 4300 bic.w r3, r0, #2147483648 @ 0x80000000 7003a3d6: 1e5a subs r2, r3, #1 7003a3d8: f1b2 4fff cmp.w r2, #2139095040 @ 0x7f800000 7003a3dc: d23b bcs.n 7003a456 <__ieee754_fmodf+0x8e> 7003a3de: ee10 1a10 vmov r1, s0 7003a3e2: f021 4400 bic.w r4, r1, #2147483648 @ 0x80000000 7003a3e6: f1b4 4fff cmp.w r4, #2139095040 @ 0x7f800000 7003a3ea: d234 bcs.n 7003a456 <__ieee754_fmodf+0x8e> 7003a3ec: 429c cmp r4, r3 7003a3ee: db38 blt.n 7003a462 <__ieee754_fmodf+0x9a> 7003a3f0: f001 4200 and.w r2, r1, #2147483648 @ 0x80000000 7003a3f4: d058 beq.n 7003a4a8 <__ieee754_fmodf+0xe0> 7003a3f6: f011 4fff tst.w r1, #2139095040 @ 0x7f800000 7003a3fa: f000 46ff and.w r6, r0, #2139095040 @ 0x7f800000 7003a3fe: d13e bne.n 7003a47e <__ieee754_fmodf+0xb6> 7003a400: ea4f 2c04 mov.w ip, r4, lsl #8 7003a404: f06f 057d mvn.w r5, #125 @ 0x7d 7003a408: ea4f 0c4c mov.w ip, ip, lsl #1 7003a40c: f1bc 0f00 cmp.w ip, #0 7003a410: f105 35ff add.w r5, r5, #4294967295 @ 0xffffffff 7003a414: dcf8 bgt.n 7003a408 <__ieee754_fmodf+0x40> 7003a416: 2e00 cmp r6, #0 7003a418: d166 bne.n 7003a4e8 <__ieee754_fmodf+0x120> 7003a41a: 0218 lsls r0, r3, #8 7003a41c: f06f 0e7d mvn.w lr, #125 @ 0x7d 7003a420: 0040 lsls r0, r0, #1 7003a422: f10e 3eff add.w lr, lr, #4294967295 @ 0xffffffff 7003a426: d5fb bpl.n 7003a420 <__ieee754_fmodf+0x58> 7003a428: f115 0f7e cmn.w r5, #126 @ 0x7e 7003a42c: da77 bge.n 7003a51e <__ieee754_fmodf+0x156> 7003a42e: f06f 007d mvn.w r0, #125 @ 0x7d 7003a432: 1b41 subs r1, r0, r5 7003a434: fa04 f101 lsl.w r1, r4, r1 7003a438: eba5 050e sub.w r5, r5, lr 7003a43c: eba0 040e sub.w r4, r0, lr 7003a440: 40a3 lsls r3, r4 7003a442: 1e68 subs r0, r5, #1 7003a444: b9a5 cbnz r5, 7003a470 <__ieee754_fmodf+0xa8> 7003a446: 1acb subs r3, r1, r3 7003a448: 2b00 cmp r3, #0 7003a44a: db75 blt.n 7003a538 <__ieee754_fmodf+0x170> 7003a44c: d02c beq.n 7003a4a8 <__ieee754_fmodf+0xe0> 7003a44e: f5b3 0f00 cmp.w r3, #8388608 @ 0x800000 7003a452: db35 blt.n 7003a4c0 <__ieee754_fmodf+0xf8> 7003a454: e041 b.n 7003a4da <__ieee754_fmodf+0x112> 7003a456: eddd 7a01 vldr s15, [sp, #4] 7003a45a: ee60 7a27 vmul.f32 s15, s0, s15 7003a45e: ee87 0aa7 vdiv.f32 s0, s15, s15 7003a462: b002 add sp, #8 7003a464: bd70 pop {r4, r5, r6, pc} 7003a466: d01f beq.n 7003a4a8 <__ieee754_fmodf+0xe0> 7003a468: ea4f 014c mov.w r1, ip, lsl #1 7003a46c: 3801 subs r0, #1 7003a46e: d322 bcc.n 7003a4b6 <__ieee754_fmodf+0xee> 7003a470: eba1 0c03 sub.w ip, r1, r3 7003a474: f1bc 0f00 cmp.w ip, #0 7003a478: daf5 bge.n 7003a466 <__ieee754_fmodf+0x9e> 7003a47a: 0049 lsls r1, r1, #1 7003a47c: e7f6 b.n 7003a46c <__ieee754_fmodf+0xa4> 7003a47e: 15e5 asrs r5, r4, #23 7003a480: b386 cbz r6, 7003a4e4 <__ieee754_fmodf+0x11c> 7003a482: 15db asrs r3, r3, #23 7003a484: f3c0 0016 ubfx r0, r0, #0, #23 7003a488: 1aed subs r5, r5, r3 7003a48a: f3c1 0116 ubfx r1, r1, #0, #23 7003a48e: f1a3 0e7f sub.w lr, r3, #127 @ 0x7f 7003a492: f441 0100 orr.w r1, r1, #8388608 @ 0x800000 7003a496: f440 0300 orr.w r3, r0, #8388608 @ 0x800000 7003a49a: 1e68 subs r0, r5, #1 7003a49c: 2d00 cmp r5, #0 7003a49e: d1e7 bne.n 7003a470 <__ieee754_fmodf+0xa8> 7003a4a0: 1acb subs r3, r1, r3 7003a4a2: 2b00 cmp r3, #0 7003a4a4: db30 blt.n 7003a508 <__ieee754_fmodf+0x140> 7003a4a6: d10b bne.n 7003a4c0 <__ieee754_fmodf+0xf8> 7003a4a8: 4b27 ldr r3, [pc, #156] @ (7003a548 <__ieee754_fmodf+0x180>) 7003a4aa: eb03 7352 add.w r3, r3, r2, lsr #29 7003a4ae: ed93 0a00 vldr s0, [r3] 7003a4b2: b002 add sp, #8 7003a4b4: bd70 pop {r4, r5, r6, pc} 7003a4b6: 1acb subs r3, r1, r3 7003a4b8: bf48 it mi 7003a4ba: 460b movmi r3, r1 7003a4bc: b91b cbnz r3, 7003a4c6 <__ieee754_fmodf+0xfe> 7003a4be: e7f3 b.n 7003a4a8 <__ieee754_fmodf+0xe0> 7003a4c0: 005b lsls r3, r3, #1 7003a4c2: f10e 3eff add.w lr, lr, #4294967295 @ 0xffffffff 7003a4c6: f5b3 0f00 cmp.w r3, #8388608 @ 0x800000 7003a4ca: dbf9 blt.n 7003a4c0 <__ieee754_fmodf+0xf8> 7003a4cc: f11e 0f7e cmn.w lr, #126 @ 0x7e 7003a4d0: da1b bge.n 7003a50a <__ieee754_fmodf+0x142> 7003a4d2: f06f 047d mvn.w r4, #125 @ 0x7d 7003a4d6: eba4 040e sub.w r4, r4, lr 7003a4da: 4123 asrs r3, r4 7003a4dc: 4313 orrs r3, r2 7003a4de: ee00 3a10 vmov s0, r3 7003a4e2: e7be b.n 7003a462 <__ieee754_fmodf+0x9a> 7003a4e4: 3d7f subs r5, #127 @ 0x7f 7003a4e6: e798 b.n 7003a41a <__ieee754_fmodf+0x52> 7003a4e8: 15db asrs r3, r3, #23 7003a4ea: f1a3 0e7f sub.w lr, r3, #127 @ 0x7f 7003a4ee: f3c0 0016 ubfx r0, r0, #0, #23 7003a4f2: f06f 017d mvn.w r1, #125 @ 0x7d 7003a4f6: f440 0300 orr.w r3, r0, #8388608 @ 0x800000 7003a4fa: 1b49 subs r1, r1, r5 7003a4fc: eba5 000e sub.w r0, r5, lr 7003a500: fa04 f101 lsl.w r1, r4, r1 7003a504: 3801 subs r0, #1 7003a506: e7b3 b.n 7003a470 <__ieee754_fmodf+0xa8> 7003a508: 460b mov r3, r1 7003a50a: f5a3 0300 sub.w r3, r3, #8388608 @ 0x800000 7003a50e: f10e 0e7f add.w lr, lr, #127 @ 0x7f 7003a512: 4313 orrs r3, r2 7003a514: ea43 53ce orr.w r3, r3, lr, lsl #23 7003a518: ee00 3a10 vmov s0, r3 7003a51c: e7a1 b.n 7003a462 <__ieee754_fmodf+0x9a> 7003a51e: f06f 047d mvn.w r4, #125 @ 0x7d 7003a522: f3c1 0116 ubfx r1, r1, #0, #23 7003a526: eba5 000e sub.w r0, r5, lr 7003a52a: eba4 040e sub.w r4, r4, lr 7003a52e: f441 0100 orr.w r1, r1, #8388608 @ 0x800000 7003a532: 3801 subs r0, #1 7003a534: 40a3 lsls r3, r4 7003a536: e79b b.n 7003a470 <__ieee754_fmodf+0xa8> 7003a538: 2900 cmp r1, #0 7003a53a: d0b5 beq.n 7003a4a8 <__ieee754_fmodf+0xe0> 7003a53c: f5b1 0f00 cmp.w r1, #8388608 @ 0x800000 7003a540: 460b mov r3, r1 7003a542: dbbd blt.n 7003a4c0 <__ieee754_fmodf+0xf8> 7003a544: e7c9 b.n 7003a4da <__ieee754_fmodf+0x112> 7003a546: bf00 nop 7003a548: 70040630 .word 0x70040630 7003a54c <__ieee754_rem_pio2f>: 7003a54c: b570 push {r4, r5, r6, lr} 7003a54e: ee10 3a10 vmov r3, s0 7003a552: 4a8b ldr r2, [pc, #556] @ (7003a780 <__ieee754_rem_pio2f+0x234>) 7003a554: f023 4400 bic.w r4, r3, #2147483648 @ 0x80000000 7003a558: 4294 cmp r4, r2 7003a55a: b086 sub sp, #24 7003a55c: 4605 mov r5, r0 7003a55e: d971 bls.n 7003a644 <__ieee754_rem_pio2f+0xf8> 7003a560: 4a88 ldr r2, [pc, #544] @ (7003a784 <__ieee754_rem_pio2f+0x238>) 7003a562: 4294 cmp r4, r2 7003a564: 461e mov r6, r3 7003a566: d824 bhi.n 7003a5b2 <__ieee754_rem_pio2f+0x66> 7003a568: f023 4200 bic.w r2, r3, #2147483648 @ 0x80000000 7003a56c: 2b00 cmp r3, #0 7003a56e: eddf 7a86 vldr s15, [pc, #536] @ 7003a788 <__ieee754_rem_pio2f+0x23c> 7003a572: 4986 ldr r1, [pc, #536] @ (7003a78c <__ieee754_rem_pio2f+0x240>) 7003a574: f022 020f bic.w r2, r2, #15 7003a578: eeb0 7a40 vmov.f32 s14, s0 7003a57c: f340 80e6 ble.w 7003a74c <__ieee754_rem_pio2f+0x200> 7003a580: 428a cmp r2, r1 7003a582: ee70 7a67 vsub.f32 s15, s0, s15 7003a586: bf09 itett eq 7003a588: ed9f 7a81 vldreq s14, [pc, #516] @ 7003a790 <__ieee754_rem_pio2f+0x244> 7003a58c: eddf 6a81 vldrne s13, [pc, #516] @ 7003a794 <__ieee754_rem_pio2f+0x248> 7003a590: eddf 6a81 vldreq s13, [pc, #516] @ 7003a798 <__ieee754_rem_pio2f+0x24c> 7003a594: ee77 7ac7 vsubeq.f32 s15, s15, s14 7003a598: ee37 7ae6 vsub.f32 s14, s15, s13 7003a59c: ee77 7ac7 vsub.f32 s15, s15, s14 7003a5a0: ed80 7a00 vstr s14, [r0] 7003a5a4: ee77 7ae6 vsub.f32 s15, s15, s13 7003a5a8: edc0 7a01 vstr s15, [r0, #4] 7003a5ac: 2001 movs r0, #1 7003a5ae: b006 add sp, #24 7003a5b0: bd70 pop {r4, r5, r6, pc} 7003a5b2: 4a7a ldr r2, [pc, #488] @ (7003a79c <__ieee754_rem_pio2f+0x250>) 7003a5b4: 4294 cmp r4, r2 7003a5b6: d953 bls.n 7003a660 <__ieee754_rem_pio2f+0x114> 7003a5b8: f1b4 4fff cmp.w r4, #2139095040 @ 0x7f800000 7003a5bc: d249 bcs.n 7003a652 <__ieee754_rem_pio2f+0x106> 7003a5be: 15e2 asrs r2, r4, #23 7003a5c0: 3a86 subs r2, #134 @ 0x86 7003a5c2: eba4 53c2 sub.w r3, r4, r2, lsl #23 7003a5c6: ee07 3a90 vmov s15, r3 7003a5ca: eebd 7ae7 vcvt.s32.f32 s14, s15 7003a5ce: eddf 6a74 vldr s13, [pc, #464] @ 7003a7a0 <__ieee754_rem_pio2f+0x254> 7003a5d2: eeb8 7ac7 vcvt.f32.s32 s14, s14 7003a5d6: ee77 7ac7 vsub.f32 s15, s15, s14 7003a5da: ed8d 7a03 vstr s14, [sp, #12] 7003a5de: ee67 7aa6 vmul.f32 s15, s15, s13 7003a5e2: eebd 7ae7 vcvt.s32.f32 s14, s15 7003a5e6: eeb8 7ac7 vcvt.f32.s32 s14, s14 7003a5ea: ee77 7ac7 vsub.f32 s15, s15, s14 7003a5ee: ed8d 7a04 vstr s14, [sp, #16] 7003a5f2: ee67 7aa6 vmul.f32 s15, s15, s13 7003a5f6: eef5 7a40 vcmp.f32 s15, #0.0 7003a5fa: eef1 fa10 vmrs APSR_nzcv, fpscr 7003a5fe: edcd 7a05 vstr s15, [sp, #20] 7003a602: f040 808e bne.w 7003a722 <__ieee754_rem_pio2f+0x1d6> 7003a606: eeb5 7a40 vcmp.f32 s14, #0.0 7003a60a: eef1 fa10 vmrs APSR_nzcv, fpscr 7003a60e: f040 808a bne.w 7003a726 <__ieee754_rem_pio2f+0x1da> 7003a612: 2301 movs r3, #1 7003a614: 4963 ldr r1, [pc, #396] @ (7003a7a4 <__ieee754_rem_pio2f+0x258>) 7003a616: 9101 str r1, [sp, #4] 7003a618: 2102 movs r1, #2 7003a61a: 9100 str r1, [sp, #0] 7003a61c: a803 add r0, sp, #12 7003a61e: 4629 mov r1, r5 7003a620: f000 f8ca bl 7003a7b8 <__kernel_rem_pio2f> 7003a624: 2e00 cmp r6, #0 7003a626: dac2 bge.n 7003a5ae <__ieee754_rem_pio2f+0x62> 7003a628: ed95 7a00 vldr s14, [r5] 7003a62c: edd5 7a01 vldr s15, [r5, #4] 7003a630: eeb1 7a47 vneg.f32 s14, s14 7003a634: eef1 7a67 vneg.f32 s15, s15 7003a638: ed85 7a00 vstr s14, [r5] 7003a63c: edc5 7a01 vstr s15, [r5, #4] 7003a640: 4240 negs r0, r0 7003a642: e7b4 b.n 7003a5ae <__ieee754_rem_pio2f+0x62> 7003a644: 2200 movs r2, #0 7003a646: ed85 0a00 vstr s0, [r5] 7003a64a: 6042 str r2, [r0, #4] 7003a64c: 2000 movs r0, #0 7003a64e: b006 add sp, #24 7003a650: bd70 pop {r4, r5, r6, pc} 7003a652: ee70 7a40 vsub.f32 s15, s0, s0 7003a656: edc0 7a01 vstr s15, [r0, #4] 7003a65a: edc0 7a00 vstr s15, [r0] 7003a65e: e7f5 b.n 7003a64c <__ieee754_rem_pio2f+0x100> 7003a660: f7ff fbd0 bl 70039e04 7003a664: ed9f 7a50 vldr s14, [pc, #320] @ 7003a7a8 <__ieee754_rem_pio2f+0x25c> 7003a668: ed9f 6a47 vldr s12, [pc, #284] @ 7003a788 <__ieee754_rem_pio2f+0x23c> 7003a66c: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 7003a670: eee0 7a07 vfma.f32 s15, s0, s14 7003a674: ed9f 7a47 vldr s14, [pc, #284] @ 7003a794 <__ieee754_rem_pio2f+0x248> 7003a678: eefd 7ae7 vcvt.s32.f32 s15, s15 7003a67c: eef8 6ae7 vcvt.f32.s32 s13, s15 7003a680: ee17 0a90 vmov r0, s15 7003a684: eea6 0ac6 vfms.f32 s0, s13, s12 7003a688: 281f cmp r0, #31 7003a68a: ee66 7a87 vmul.f32 s15, s13, s14 7003a68e: eeb1 6a66 vneg.f32 s12, s13 7003a692: ee30 7a67 vsub.f32 s14, s0, s15 7003a696: dc1e bgt.n 7003a6d6 <__ieee754_rem_pio2f+0x18a> 7003a698: 4a44 ldr r2, [pc, #272] @ (7003a7ac <__ieee754_rem_pio2f+0x260>) 7003a69a: 1e41 subs r1, r0, #1 7003a69c: f026 4300 bic.w r3, r6, #2147483648 @ 0x80000000 7003a6a0: f852 2021 ldr.w r2, [r2, r1, lsl #2] 7003a6a4: f023 03ff bic.w r3, r3, #255 @ 0xff 7003a6a8: 4293 cmp r3, r2 7003a6aa: d014 beq.n 7003a6d6 <__ieee754_rem_pio2f+0x18a> 7003a6ac: ed85 7a00 vstr s14, [r5] 7003a6b0: ee30 0a47 vsub.f32 s0, s0, s14 7003a6b4: 2e00 cmp r6, #0 7003a6b6: ee30 0a67 vsub.f32 s0, s0, s15 7003a6ba: ed85 0a01 vstr s0, [r5, #4] 7003a6be: f6bf af76 bge.w 7003a5ae <__ieee754_rem_pio2f+0x62> 7003a6c2: eeb1 7a47 vneg.f32 s14, s14 7003a6c6: eeb1 0a40 vneg.f32 s0, s0 7003a6ca: ed85 7a00 vstr s14, [r5] 7003a6ce: ed85 0a01 vstr s0, [r5, #4] 7003a6d2: 4240 negs r0, r0 7003a6d4: e76b b.n 7003a5ae <__ieee754_rem_pio2f+0x62> 7003a6d6: ee17 3a10 vmov r3, s14 7003a6da: f3c3 53c7 ubfx r3, r3, #23, #8 7003a6de: ebc3 53d4 rsb r3, r3, r4, lsr #23 7003a6e2: 2b08 cmp r3, #8 7003a6e4: ea4f 52e4 mov.w r2, r4, asr #23 7003a6e8: dde0 ble.n 7003a6ac <__ieee754_rem_pio2f+0x160> 7003a6ea: ed9f 7a29 vldr s14, [pc, #164] @ 7003a790 <__ieee754_rem_pio2f+0x244> 7003a6ee: ed9f 5a2a vldr s10, [pc, #168] @ 7003a798 <__ieee754_rem_pio2f+0x24c> 7003a6f2: eef0 5a40 vmov.f32 s11, s0 7003a6f6: eee6 5a07 vfma.f32 s11, s12, s14 7003a6fa: ee70 7a65 vsub.f32 s15, s0, s11 7003a6fe: eee6 7a07 vfma.f32 s15, s12, s14 7003a702: eed6 7a85 vfnms.f32 s15, s13, s10 7003a706: ee35 7ae7 vsub.f32 s14, s11, s15 7003a70a: ee17 3a10 vmov r3, s14 7003a70e: f3c3 53c7 ubfx r3, r3, #23, #8 7003a712: 1ad2 subs r2, r2, r3 7003a714: 2a19 cmp r2, #25 7003a716: dc08 bgt.n 7003a72a <__ieee754_rem_pio2f+0x1de> 7003a718: eeb0 0a65 vmov.f32 s0, s11 7003a71c: ed85 7a00 vstr s14, [r5] 7003a720: e7c6 b.n 7003a6b0 <__ieee754_rem_pio2f+0x164> 7003a722: 2303 movs r3, #3 7003a724: e776 b.n 7003a614 <__ieee754_rem_pio2f+0xc8> 7003a726: 2302 movs r3, #2 7003a728: e774 b.n 7003a614 <__ieee754_rem_pio2f+0xc8> 7003a72a: ed9f 7a21 vldr s14, [pc, #132] @ 7003a7b0 <__ieee754_rem_pio2f+0x264> 7003a72e: ed9f 5a21 vldr s10, [pc, #132] @ 7003a7b4 <__ieee754_rem_pio2f+0x268> 7003a732: eeb0 0a65 vmov.f32 s0, s11 7003a736: eea6 0a07 vfma.f32 s0, s12, s14 7003a73a: ee75 7ac0 vsub.f32 s15, s11, s0 7003a73e: eee6 7a07 vfma.f32 s15, s12, s14 7003a742: eed6 7a85 vfnms.f32 s15, s13, s10 7003a746: ee30 7a67 vsub.f32 s14, s0, s15 7003a74a: e7af b.n 7003a6ac <__ieee754_rem_pio2f+0x160> 7003a74c: 428a cmp r2, r1 7003a74e: ee70 7a27 vadd.f32 s15, s0, s15 7003a752: bf09 itett eq 7003a754: ed9f 7a0e vldreq s14, [pc, #56] @ 7003a790 <__ieee754_rem_pio2f+0x244> 7003a758: eddf 6a0e vldrne s13, [pc, #56] @ 7003a794 <__ieee754_rem_pio2f+0x248> 7003a75c: eddf 6a0e vldreq s13, [pc, #56] @ 7003a798 <__ieee754_rem_pio2f+0x24c> 7003a760: ee77 7a87 vaddeq.f32 s15, s15, s14 7003a764: ee37 7aa6 vadd.f32 s14, s15, s13 7003a768: ee77 7ac7 vsub.f32 s15, s15, s14 7003a76c: ed80 7a00 vstr s14, [r0] 7003a770: ee77 7aa6 vadd.f32 s15, s15, s13 7003a774: edc0 7a01 vstr s15, [r0, #4] 7003a778: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7003a77c: e717 b.n 7003a5ae <__ieee754_rem_pio2f+0x62> 7003a77e: bf00 nop 7003a780: 3f490fd8 .word 0x3f490fd8 7003a784: 4016cbe3 .word 0x4016cbe3 7003a788: 3fc90f80 .word 0x3fc90f80 7003a78c: 3fc90fd0 .word 0x3fc90fd0 7003a790: 37354400 .word 0x37354400 7003a794: 37354443 .word 0x37354443 7003a798: 2e85a308 .word 0x2e85a308 7003a79c: 43490f80 .word 0x43490f80 7003a7a0: 43800000 .word 0x43800000 7003a7a4: 700406b8 .word 0x700406b8 7003a7a8: 3f22f984 .word 0x3f22f984 7003a7ac: 70040638 .word 0x70040638 7003a7b0: 2e85a300 .word 0x2e85a300 7003a7b4: 248d3132 .word 0x248d3132 7003a7b8 <__kernel_rem_pio2f>: 7003a7b8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7003a7bc: ed2d 8b04 vpush {d8-d9} 7003a7c0: b0db sub sp, #364 @ 0x16c 7003a7c2: 461c mov r4, r3 7003a7c4: 4694 mov ip, r2 7003a7c6: 9303 str r3, [sp, #12] 7003a7c8: 460a mov r2, r1 7003a7ca: 4bba ldr r3, [pc, #744] @ (7003aab4 <__kernel_rem_pio2f+0x2fc>) 7003a7cc: 9968 ldr r1, [sp, #416] @ 0x1a0 7003a7ce: f11c 0f04 cmn.w ip, #4 7003a7d2: f853 7021 ldr.w r7, [r3, r1, lsl #2] 7003a7d6: 4682 mov sl, r0 7003a7d8: f104 39ff add.w r9, r4, #4294967295 @ 0xffffffff 7003a7dc: f2c0 8256 blt.w 7003ac8c <__kernel_rem_pio2f+0x4d4> 7003a7e0: f1bc 0303 subs.w r3, ip, #3 7003a7e4: bf48 it mi 7003a7e6: f10c 0304 addmi.w r3, ip, #4 7003a7ea: 10db asrs r3, r3, #3 7003a7ec: 9302 str r3, [sp, #8] 7003a7ee: 3301 adds r3, #1 7003a7f0: ea4f 0ec3 mov.w lr, r3, lsl #3 7003a7f4: ebac 030e sub.w r3, ip, lr 7003a7f8: 9305 str r3, [sp, #20] 7003a7fa: 9b02 ldr r3, [sp, #8] 7003a7fc: eb17 0009 adds.w r0, r7, r9 7003a800: eba3 0309 sub.w r3, r3, r9 7003a804: d416 bmi.n 7003a834 <__kernel_rem_pio2f+0x7c> 7003a806: 3001 adds r0, #1 7003a808: ed9f 7aab vldr s14, [pc, #684] @ 7003aab8 <__kernel_rem_pio2f+0x300> 7003a80c: 9c69 ldr r4, [sp, #420] @ 0x1a4 7003a80e: 4418 add r0, r3 7003a810: a91e add r1, sp, #120 @ 0x78 7003a812: 2b00 cmp r3, #0 7003a814: bfa4 itt ge 7003a816: f854 5023 ldrge.w r5, [r4, r3, lsl #2] 7003a81a: ee07 5a90 vmovge s15, r5 7003a81e: f103 0301 add.w r3, r3, #1 7003a822: bfac ite ge 7003a824: eef8 7ae7 vcvtge.f32.s32 s15, s15 7003a828: eef0 7a47 vmovlt.f32 s15, s14 7003a82c: 4283 cmp r3, r0 7003a82e: ece1 7a01 vstmia r1!, {s15} 7003a832: d1ee bne.n 7003a812 <__kernel_rem_pio2f+0x5a> 7003a834: 2f00 cmp r7, #0 7003a836: f2c0 82e2 blt.w 7003adfe <__kernel_rem_pio2f+0x646> 7003a83a: 9903 ldr r1, [sp, #12] 7003a83c: a81e add r0, sp, #120 @ 0x78 7003a83e: eb00 0081 add.w r0, r0, r1, lsl #2 7003a842: ea4f 0881 mov.w r8, r1, lsl #2 7003a846: 187e adds r6, r7, r1 7003a848: 2300 movs r3, #0 7003a84a: ad46 add r5, sp, #280 @ 0x118 7003a84c: 464c mov r4, r9 7003a84e: eb0a 0181 add.w r1, sl, r1, lsl #2 7003a852: f1b9 0f00 cmp.w r9, #0 7003a856: f280 80c8 bge.w 7003a9ea <__kernel_rem_pio2f+0x232> 7003a85a: 3401 adds r4, #1 7003a85c: 42b4 cmp r4, r6 7003a85e: f845 3b04 str.w r3, [r5], #4 7003a862: f100 0004 add.w r0, r0, #4 7003a866: d1f4 bne.n 7003a852 <__kernel_rem_pio2f+0x9a> 7003a868: f10d 0b28 add.w fp, sp, #40 @ 0x28 7003a86c: eb0b 0387 add.w r3, fp, r7, lsl #2 7003a870: e9cd 2e06 strd r2, lr, [sp, #24] 7003a874: 3b04 subs r3, #4 7003a876: ed9f 9a92 vldr s18, [pc, #584] @ 7003aac0 <__kernel_rem_pio2f+0x308> 7003a87a: eddf 8a90 vldr s17, [pc, #576] @ 7003aabc <__kernel_rem_pio2f+0x304> 7003a87e: 9805 ldr r0, [sp, #20] 7003a880: 9304 str r3, [sp, #16] 7003a882: eb0a 0408 add.w r4, sl, r8 7003a886: ae46 add r6, sp, #280 @ 0x118 7003a888: eb0b 0887 add.w r8, fp, r7, lsl #2 7003a88c: 9700 str r7, [sp, #0] 7003a88e: f8cd c020 str.w ip, [sp, #32] 7003a892: eb0d 0387 add.w r3, sp, r7, lsl #2 7003a896: 2f00 cmp r7, #0 7003a898: ed93 0a46 vldr s0, [r3, #280] @ 0x118 7003a89c: ea4f 0587 mov.w r5, r7, lsl #2 7003a8a0: dd15 ble.n 7003a8ce <__kernel_rem_pio2f+0x116> 7003a8a2: 1973 adds r3, r6, r5 7003a8a4: 465a mov r2, fp 7003a8a6: ee60 7a09 vmul.f32 s15, s0, s18 7003a8aa: eeb0 7a40 vmov.f32 s14, s0 7003a8ae: eefd 7ae7 vcvt.s32.f32 s15, s15 7003a8b2: ed73 6a01 vldmdb r3!, {s13} 7003a8b6: eef8 7ae7 vcvt.f32.s32 s15, s15 7003a8ba: 42b3 cmp r3, r6 7003a8bc: eea7 7ae8 vfms.f32 s14, s15, s17 7003a8c0: ee37 0aa6 vadd.f32 s0, s15, s13 7003a8c4: eebd 7ac7 vcvt.s32.f32 s14, s14 7003a8c8: eca2 7a01 vstmia r2!, {s14} 7003a8cc: d1eb bne.n 7003a8a6 <__kernel_rem_pio2f+0xee> 7003a8ce: 9001 str r0, [sp, #4] 7003a8d0: f000 fb02 bl 7003aed8 7003a8d4: eef4 7a00 vmov.f32 s15, #64 @ 0x3e000000 0.125 7003a8d8: eeb0 8a40 vmov.f32 s16, s0 7003a8dc: ee20 0a27 vmul.f32 s0, s0, s15 7003a8e0: f000 fab0 bl 7003ae44 7003a8e4: eef2 7a00 vmov.f32 s15, #32 @ 0x41000000 8.0 7003a8e8: eea0 8a67 vfms.f32 s16, s0, s15 7003a8ec: 9801 ldr r0, [sp, #4] 7003a8ee: 2800 cmp r0, #0 7003a8f0: eefd 9ac8 vcvt.s32.f32 s19, s16 7003a8f4: eef8 7ae9 vcvt.f32.s32 s15, s19 7003a8f8: ee38 8a67 vsub.f32 s16, s16, s15 7003a8fc: f340 8082 ble.w 7003aa04 <__kernel_rem_pio2f+0x24c> 7003a900: 1e79 subs r1, r7, #1 7003a902: f1c0 0308 rsb r3, r0, #8 7003a906: f85b e021 ldr.w lr, [fp, r1, lsl #2] 7003a90a: fa4e fc03 asr.w ip, lr, r3 7003a90e: fa0c f303 lsl.w r3, ip, r3 7003a912: ebae 0e03 sub.w lr, lr, r3 7003a916: f1c0 0207 rsb r2, r0, #7 7003a91a: ee19 3a90 vmov r3, s19 7003a91e: fa4e f202 asr.w r2, lr, r2 7003a922: 4463 add r3, ip 7003a924: 2a00 cmp r2, #0 7003a926: ee09 3a90 vmov s19, r3 7003a92a: f84b e021 str.w lr, [fp, r1, lsl #2] 7003a92e: f300 80af bgt.w 7003aa90 <__kernel_rem_pio2f+0x2d8> 7003a932: eeb5 8a40 vcmp.f32 s16, #0.0 7003a936: eef1 fa10 vmrs APSR_nzcv, fpscr 7003a93a: d174 bne.n 7003aa26 <__kernel_rem_pio2f+0x26e> 7003a93c: 9b00 ldr r3, [sp, #0] 7003a93e: 429f cmp r7, r3 7003a940: dd0a ble.n 7003a958 <__kernel_rem_pio2f+0x1a0> 7003a942: 445d add r5, fp 7003a944: 2300 movs r3, #0 7003a946: f855 1d04 ldr.w r1, [r5, #-4]! 7003a94a: 4545 cmp r5, r8 7003a94c: ea43 0301 orr.w r3, r3, r1 7003a950: d1f9 bne.n 7003a946 <__kernel_rem_pio2f+0x18e> 7003a952: 2b00 cmp r3, #0 7003a954: f040 8102 bne.w 7003ab5c <__kernel_rem_pio2f+0x3a4> 7003a958: 9b00 ldr r3, [sp, #0] 7003a95a: 3b01 subs r3, #1 7003a95c: f85b 2023 ldr.w r2, [fp, r3, lsl #2] 7003a960: 1c7b adds r3, r7, #1 7003a962: 469c mov ip, r3 7003a964: 2a00 cmp r2, #0 7003a966: f040 80f7 bne.w 7003ab58 <__kernel_rem_pio2f+0x3a0> 7003a96a: 9a04 ldr r2, [sp, #16] 7003a96c: 2101 movs r1, #1 7003a96e: f852 5d04 ldr.w r5, [r2, #-4]! 7003a972: 3101 adds r1, #1 7003a974: 2d00 cmp r5, #0 7003a976: d0fa beq.n 7003a96e <__kernel_rem_pio2f+0x1b6> 7003a978: 4439 add r1, r7 7003a97a: 9d02 ldr r5, [sp, #8] 7003a97c: 9a03 ldr r2, [sp, #12] 7003a97e: eb05 0e03 add.w lr, r5, r3 7003a982: f10e 4e80 add.w lr, lr, #1073741824 @ 0x40000000 7003a986: 9d69 ldr r5, [sp, #420] @ 0x1a4 7003a988: f10e 3eff add.w lr, lr, #4294967295 @ 0xffffffff 7003a98c: 443a add r2, r7 7003a98e: eb05 0e8e add.w lr, r5, lr, lsl #2 7003a992: ad1e add r5, sp, #120 @ 0x78 7003a994: eb06 0783 add.w r7, r6, r3, lsl #2 7003a998: eb05 0582 add.w r5, r5, r2, lsl #2 7003a99c: edde 7a01 vldr s15, [lr, #4] 7003a9a0: eef8 7ae7 vcvt.f32.s32 s15, s15 7003a9a4: f1b9 0f00 cmp.w r9, #0 7003a9a8: f10e 0e04 add.w lr, lr, #4 7003a9ac: ece5 7a01 vstmia r5!, {s15} 7003a9b0: eddf 7a41 vldr s15, [pc, #260] @ 7003aab8 <__kernel_rem_pio2f+0x300> 7003a9b4: db09 blt.n 7003a9ca <__kernel_rem_pio2f+0x212> 7003a9b6: 462a mov r2, r5 7003a9b8: 4653 mov r3, sl 7003a9ba: ecf3 6a01 vldmia r3!, {s13} 7003a9be: ed32 7a01 vldmdb r2!, {s14} 7003a9c2: 42a3 cmp r3, r4 7003a9c4: eee6 7a87 vfma.f32 s15, s13, s14 7003a9c8: d1f7 bne.n 7003a9ba <__kernel_rem_pio2f+0x202> 7003a9ca: f10c 0c01 add.w ip, ip, #1 7003a9ce: 458c cmp ip, r1 7003a9d0: ece7 7a01 vstmia r7!, {s15} 7003a9d4: dde2 ble.n 7003a99c <__kernel_rem_pio2f+0x1e4> 7003a9d6: 460f mov r7, r1 7003a9d8: e75b b.n 7003a892 <__kernel_rem_pio2f+0xda> 7003a9da: 3401 adds r4, #1 7003a9dc: 42b4 cmp r4, r6 7003a9de: ece5 7a01 vstmia r5!, {s15} 7003a9e2: f100 0004 add.w r0, r0, #4 7003a9e6: f43f af3f beq.w 7003a868 <__kernel_rem_pio2f+0xb0> 7003a9ea: eddf 7a33 vldr s15, [pc, #204] @ 7003aab8 <__kernel_rem_pio2f+0x300> 7003a9ee: 4683 mov fp, r0 7003a9f0: 4653 mov r3, sl 7003a9f2: ecf3 6a01 vldmia r3!, {s13} 7003a9f6: ed3b 7a01 vldmdb fp!, {s14} 7003a9fa: 428b cmp r3, r1 7003a9fc: eee6 7a87 vfma.f32 s15, s13, s14 7003aa00: d1f7 bne.n 7003a9f2 <__kernel_rem_pio2f+0x23a> 7003aa02: e7ea b.n 7003a9da <__kernel_rem_pio2f+0x222> 7003aa04: f000 8091 beq.w 7003ab2a <__kernel_rem_pio2f+0x372> 7003aa08: eef6 7a00 vmov.f32 s15, #96 @ 0x3f000000 0.5 7003aa0c: eeb4 8ae7 vcmpe.f32 s16, s15 7003aa10: eef1 fa10 vmrs APSR_nzcv, fpscr 7003aa14: f280 8129 bge.w 7003ac6a <__kernel_rem_pio2f+0x4b2> 7003aa18: eeb5 8a40 vcmp.f32 s16, #0.0 7003aa1c: eef1 fa10 vmrs APSR_nzcv, fpscr 7003aa20: f04f 0200 mov.w r2, #0 7003aa24: d08a beq.n 7003a93c <__kernel_rem_pio2f+0x184> 7003aa26: 4692 mov sl, r2 7003aa28: e9dd 2e06 ldrd r2, lr, [sp, #24] 7003aa2c: f8dd c020 ldr.w ip, [sp, #32] 7003aa30: 9701 str r7, [sp, #4] 7003aa32: ebae 000c sub.w r0, lr, ip 7003aa36: eeb0 0a48 vmov.f32 s0, s16 7003aa3a: 9f00 ldr r7, [sp, #0] 7003aa3c: 9200 str r2, [sp, #0] 7003aa3e: f000 fa4b bl 7003aed8 7003aa42: eddf 6a1e vldr s13, [pc, #120] @ 7003aabc <__kernel_rem_pio2f+0x304> 7003aa46: eeb4 0ae6 vcmpe.f32 s0, s13 7003aa4a: eef1 fa10 vmrs APSR_nzcv, fpscr 7003aa4e: e9dd 2300 ldrd r2, r3, [sp] 7003aa52: eef0 7a40 vmov.f32 s15, s0 7003aa56: f2c0 819c blt.w 7003ad92 <__kernel_rem_pio2f+0x5da> 7003aa5a: ed9f 7a19 vldr s14, [pc, #100] @ 7003aac0 <__kernel_rem_pio2f+0x308> 7003aa5e: 9905 ldr r1, [sp, #20] 7003aa60: ee20 7a07 vmul.f32 s14, s0, s14 7003aa64: 3108 adds r1, #8 7003aa66: eebd 7ac7 vcvt.s32.f32 s14, s14 7003aa6a: 9105 str r1, [sp, #20] 7003aa6c: eeb8 7ac7 vcvt.f32.s32 s14, s14 7003aa70: 1c5c adds r4, r3, #1 7003aa72: eee7 7a66 vfms.f32 s15, s14, s13 7003aa76: eebd 7ac7 vcvt.s32.f32 s14, s14 7003aa7a: eefd 7ae7 vcvt.s32.f32 s15, s15 7003aa7e: ee17 1a90 vmov r1, s15 7003aa82: f84b 1023 str.w r1, [fp, r3, lsl #2] 7003aa86: ee17 3a10 vmov r3, s14 7003aa8a: f84b 3024 str.w r3, [fp, r4, lsl #2] 7003aa8e: e07e b.n 7003ab8e <__kernel_rem_pio2f+0x3d6> 7003aa90: 3301 adds r3, #1 7003aa92: 2f00 cmp r7, #0 7003aa94: ee09 3a90 vmov s19, r3 7003aa98: f340 819d ble.w 7003add6 <__kernel_rem_pio2f+0x61e> 7003aa9c: 4659 mov r1, fp 7003aa9e: f04f 0e00 mov.w lr, #0 7003aaa2: f851 3b04 ldr.w r3, [r1], #4 7003aaa6: 2b00 cmp r3, #0 7003aaa8: d039 beq.n 7003ab1e <__kernel_rem_pio2f+0x366> 7003aaaa: f5c3 7380 rsb r3, r3, #256 @ 0x100 7003aaae: f841 3c04 str.w r3, [r1, #-4] 7003aab2: e00c b.n 7003aace <__kernel_rem_pio2f+0x316> 7003aab4: 700409fc .word 0x700409fc 7003aab8: 00000000 .word 0x00000000 7003aabc: 43800000 .word 0x43800000 7003aac0: 3b800000 .word 0x3b800000 7003aac4: 680b ldr r3, [r1, #0] 7003aac6: f1c3 03ff rsb r3, r3, #255 @ 0xff 7003aaca: f841 3b04 str.w r3, [r1], #4 7003aace: f10e 0e01 add.w lr, lr, #1 7003aad2: 4577 cmp r7, lr 7003aad4: dcf6 bgt.n 7003aac4 <__kernel_rem_pio2f+0x30c> 7003aad6: 2301 movs r3, #1 7003aad8: 469e mov lr, r3 7003aada: 2800 cmp r0, #0 7003aadc: dd0b ble.n 7003aaf6 <__kernel_rem_pio2f+0x33e> 7003aade: 2801 cmp r0, #1 7003aae0: f000 80bb beq.w 7003ac5a <__kernel_rem_pio2f+0x4a2> 7003aae4: 2802 cmp r0, #2 7003aae6: d106 bne.n 7003aaf6 <__kernel_rem_pio2f+0x33e> 7003aae8: 1e79 subs r1, r7, #1 7003aaea: f85b 3021 ldr.w r3, [fp, r1, lsl #2] 7003aaee: f003 0c3f and.w ip, r3, #63 @ 0x3f 7003aaf2: f84b c021 str.w ip, [fp, r1, lsl #2] 7003aaf6: 2a02 cmp r2, #2 7003aaf8: f47f af1b bne.w 7003a932 <__kernel_rem_pio2f+0x17a> 7003aafc: eeb7 0a00 vmov.f32 s0, #112 @ 0x3f800000 1.0 7003ab00: 4673 mov r3, lr 7003ab02: ee30 8a48 vsub.f32 s16, s0, s16 7003ab06: 2b00 cmp r3, #0 7003ab08: f43f af13 beq.w 7003a932 <__kernel_rem_pio2f+0x17a> 7003ab0c: 9209 str r2, [sp, #36] @ 0x24 7003ab0e: 9001 str r0, [sp, #4] 7003ab10: f000 f9e2 bl 7003aed8 7003ab14: 9801 ldr r0, [sp, #4] 7003ab16: 9a09 ldr r2, [sp, #36] @ 0x24 7003ab18: ee38 8a40 vsub.f32 s16, s16, s0 7003ab1c: e709 b.n 7003a932 <__kernel_rem_pio2f+0x17a> 7003ab1e: f10e 0e01 add.w lr, lr, #1 7003ab22: 4577 cmp r7, lr 7003ab24: dcbd bgt.n 7003aaa2 <__kernel_rem_pio2f+0x2ea> 7003ab26: 469e mov lr, r3 7003ab28: e7d7 b.n 7003aada <__kernel_rem_pio2f+0x322> 7003ab2a: 1e7b subs r3, r7, #1 7003ab2c: f85b 2023 ldr.w r2, [fp, r3, lsl #2] 7003ab30: 11d2 asrs r2, r2, #7 7003ab32: 2a00 cmp r2, #0 7003ab34: f77f aefd ble.w 7003a932 <__kernel_rem_pio2f+0x17a> 7003ab38: ee19 3a90 vmov r3, s19 7003ab3c: 2f00 cmp r7, #0 7003ab3e: f103 0301 add.w r3, r3, #1 7003ab42: ee09 3a90 vmov s19, r3 7003ab46: dca9 bgt.n 7003aa9c <__kernel_rem_pio2f+0x2e4> 7003ab48: 2a02 cmp r2, #2 7003ab4a: f47f aef2 bne.w 7003a932 <__kernel_rem_pio2f+0x17a> 7003ab4e: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 7003ab52: ee37 8ac8 vsub.f32 s16, s15, s16 7003ab56: e6ec b.n 7003a932 <__kernel_rem_pio2f+0x17a> 7003ab58: 4619 mov r1, r3 7003ab5a: e70e b.n 7003a97a <__kernel_rem_pio2f+0x1c2> 7003ab5c: 463b mov r3, r7 7003ab5e: 4692 mov sl, r2 7003ab60: e9dd 1205 ldrd r1, r2, [sp, #20] 7003ab64: 1e5c subs r4, r3, #1 7003ab66: f1a1 0008 sub.w r0, r1, #8 7003ab6a: f85b 1024 ldr.w r1, [fp, r4, lsl #2] 7003ab6e: 9f00 ldr r7, [sp, #0] 7003ab70: 9005 str r0, [sp, #20] 7003ab72: b961 cbnz r1, 7003ab8e <__kernel_rem_pio2f+0x3d6> 7003ab74: f103 4380 add.w r3, r3, #1073741824 @ 0x40000000 7003ab78: 3b01 subs r3, #1 7003ab7a: eb0b 0383 add.w r3, fp, r3, lsl #2 7003ab7e: 4601 mov r1, r0 7003ab80: f853 0d04 ldr.w r0, [r3, #-4]! 7003ab84: 3c01 subs r4, #1 7003ab86: 3908 subs r1, #8 7003ab88: 2800 cmp r0, #0 7003ab8a: d0f9 beq.n 7003ab80 <__kernel_rem_pio2f+0x3c8> 7003ab8c: 9105 str r1, [sp, #20] 7003ab8e: 9805 ldr r0, [sp, #20] 7003ab90: 9200 str r2, [sp, #0] 7003ab92: eeb7 0a00 vmov.f32 s0, #112 @ 0x3f800000 1.0 7003ab96: f000 f99f bl 7003aed8 7003ab9a: 2c00 cmp r4, #0 7003ab9c: 9a00 ldr r2, [sp, #0] 7003ab9e: eeb0 7a40 vmov.f32 s14, s0 7003aba2: f2c0 8122 blt.w 7003adea <__kernel_rem_pio2f+0x632> 7003aba6: 1c60 adds r0, r4, #1 7003aba8: ad46 add r5, sp, #280 @ 0x118 7003abaa: ed5f 6a3b vldr s13, [pc, #-236] @ 7003aac0 <__kernel_rem_pio2f+0x308> 7003abae: 0081 lsls r1, r0, #2 7003abb0: eb0b 0380 add.w r3, fp, r0, lsl #2 7003abb4: eb05 0080 add.w r0, r5, r0, lsl #2 7003abb8: ed73 7a01 vldmdb r3!, {s15} 7003abbc: eef8 7ae7 vcvt.f32.s32 s15, s15 7003abc0: 455b cmp r3, fp 7003abc2: ee67 7a87 vmul.f32 s15, s15, s14 7003abc6: ee27 7a26 vmul.f32 s14, s14, s13 7003abca: ed60 7a01 vstmdb r0!, {s15} 7003abce: d1f3 bne.n 7003abb8 <__kernel_rem_pio2f+0x400> 7003abd0: f10d 08c8 add.w r8, sp, #200 @ 0xc8 7003abd4: 1f0e subs r6, r1, #4 7003abd6: 442e add r6, r5 7003abd8: 46c6 mov lr, r8 7003abda: 46a4 mov ip, r4 7003abdc: 2500 movs r5, #0 7003abde: 2f00 cmp r7, #0 7003abe0: db7d blt.n 7003acde <__kernel_rem_pio2f+0x526> 7003abe2: f8df 925c ldr.w r9, [pc, #604] @ 7003ae40 <__kernel_rem_pio2f+0x688> 7003abe6: eddf 7a95 vldr s15, [pc, #596] @ 7003ae3c <__kernel_rem_pio2f+0x684> 7003abea: 4630 mov r0, r6 7003abec: 2300 movs r3, #0 7003abee: e007 b.n 7003ac00 <__kernel_rem_pio2f+0x448> 7003abf0: ecf9 6a01 vldmia r9!, {s13} 7003abf4: ecb0 7a01 vldmia r0!, {s14} 7003abf8: 429f cmp r7, r3 7003abfa: eee6 7a87 vfma.f32 s15, s13, s14 7003abfe: db03 blt.n 7003ac08 <__kernel_rem_pio2f+0x450> 7003ac00: 429d cmp r5, r3 7003ac02: f103 0301 add.w r3, r3, #1 7003ac06: daf3 bge.n 7003abf0 <__kernel_rem_pio2f+0x438> 7003ac08: f10c 3cff add.w ip, ip, #4294967295 @ 0xffffffff 7003ac0c: f1bc 3fff cmp.w ip, #4294967295 @ 0xffffffff 7003ac10: ecee 7a01 vstmia lr!, {s15} 7003ac14: f105 0501 add.w r5, r5, #1 7003ac18: f1a6 0604 sub.w r6, r6, #4 7003ac1c: d1e1 bne.n 7003abe2 <__kernel_rem_pio2f+0x42a> 7003ac1e: 9b68 ldr r3, [sp, #416] @ 0x1a0 7003ac20: 2b02 cmp r3, #2 7003ac22: dc6a bgt.n 7003acfa <__kernel_rem_pio2f+0x542> 7003ac24: 2b00 cmp r3, #0 7003ac26: dc36 bgt.n 7003ac96 <__kernel_rem_pio2f+0x4de> 7003ac28: d10e bne.n 7003ac48 <__kernel_rem_pio2f+0x490> 7003ac2a: eddf 7a84 vldr s15, [pc, #528] @ 7003ae3c <__kernel_rem_pio2f+0x684> 7003ac2e: 4441 add r1, r8 7003ac30: ed31 7a01 vldmdb r1!, {s14} 7003ac34: 4588 cmp r8, r1 7003ac36: ee77 7a87 vadd.f32 s15, s15, s14 7003ac3a: d1f9 bne.n 7003ac30 <__kernel_rem_pio2f+0x478> 7003ac3c: 4653 mov r3, sl 7003ac3e: 2b00 cmp r3, #0 7003ac40: f040 80c6 bne.w 7003add0 <__kernel_rem_pio2f+0x618> 7003ac44: edc2 7a00 vstr s15, [r2] 7003ac48: ee19 3a90 vmov r3, s19 7003ac4c: f003 0007 and.w r0, r3, #7 7003ac50: b05b add sp, #364 @ 0x16c 7003ac52: ecbd 8b04 vpop {d8-d9} 7003ac56: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7003ac5a: 1e79 subs r1, r7, #1 7003ac5c: f85b 3021 ldr.w r3, [fp, r1, lsl #2] 7003ac60: f003 0c7f and.w ip, r3, #127 @ 0x7f 7003ac64: f84b c021 str.w ip, [fp, r1, lsl #2] 7003ac68: e745 b.n 7003aaf6 <__kernel_rem_pio2f+0x33e> 7003ac6a: ee19 3a90 vmov r3, s19 7003ac6e: 2f00 cmp r7, #0 7003ac70: f103 0301 add.w r3, r3, #1 7003ac74: ee09 3a90 vmov s19, r3 7003ac78: bfc8 it gt 7003ac7a: 2202 movgt r2, #2 7003ac7c: f73f af0e bgt.w 7003aa9c <__kernel_rem_pio2f+0x2e4> 7003ac80: eef7 7a00 vmov.f32 s15, #112 @ 0x3f800000 1.0 7003ac84: ee37 8ac8 vsub.f32 s16, s15, s16 7003ac88: 2202 movs r2, #2 7003ac8a: e652 b.n 7003a932 <__kernel_rem_pio2f+0x17a> 7003ac8c: 2300 movs r3, #0 7003ac8e: f04f 0e08 mov.w lr, #8 7003ac92: 9302 str r3, [sp, #8] 7003ac94: e5ae b.n 7003a7f4 <__kernel_rem_pio2f+0x3c> 7003ac96: eddd 7a32 vldr s15, [sp, #200] @ 0xc8 7003ac9a: ed9f 7a68 vldr s14, [pc, #416] @ 7003ae3c <__kernel_rem_pio2f+0x684> 7003ac9e: 4441 add r1, r8 7003aca0: ed71 6a01 vldmdb r1!, {s13} 7003aca4: 4588 cmp r8, r1 7003aca6: ee37 7a26 vadd.f32 s14, s14, s13 7003acaa: d1f9 bne.n 7003aca0 <__kernel_rem_pio2f+0x4e8> 7003acac: 4653 mov r3, sl 7003acae: 2b00 cmp r3, #0 7003acb0: f040 8084 bne.w 7003adbc <__kernel_rem_pio2f+0x604> 7003acb4: ee77 7ac7 vsub.f32 s15, s15, s14 7003acb8: ed82 7a00 vstr s14, [r2] 7003acbc: b164 cbz r4, 7003acd8 <__kernel_rem_pio2f+0x520> 7003acbe: a933 add r1, sp, #204 @ 0xcc 7003acc0: 2301 movs r3, #1 7003acc2: ecb1 7a01 vldmia r1!, {s14} 7003acc6: 3301 adds r3, #1 7003acc8: 429c cmp r4, r3 7003acca: ee77 7a87 vadd.f32 s15, s15, s14 7003acce: daf8 bge.n 7003acc2 <__kernel_rem_pio2f+0x50a> 7003acd0: 4653 mov r3, sl 7003acd2: b10b cbz r3, 7003acd8 <__kernel_rem_pio2f+0x520> 7003acd4: eef1 7a67 vneg.f32 s15, s15 7003acd8: edc2 7a01 vstr s15, [r2, #4] 7003acdc: e7b4 b.n 7003ac48 <__kernel_rem_pio2f+0x490> 7003acde: f10c 3cff add.w ip, ip, #4294967295 @ 0xffffffff 7003ace2: 2300 movs r3, #0 7003ace4: f1bc 3fff cmp.w ip, #4294967295 @ 0xffffffff 7003ace8: f84e 3b04 str.w r3, [lr], #4 7003acec: f105 0501 add.w r5, r5, #1 7003acf0: f1a6 0604 sub.w r6, r6, #4 7003acf4: f47f af73 bne.w 7003abde <__kernel_rem_pio2f+0x426> 7003acf8: e791 b.n 7003ac1e <__kernel_rem_pio2f+0x466> 7003acfa: 9b68 ldr r3, [sp, #416] @ 0x1a0 7003acfc: 2b03 cmp r3, #3 7003acfe: d1a3 bne.n 7003ac48 <__kernel_rem_pio2f+0x490> 7003ad00: 2c00 cmp r4, #0 7003ad02: f000 808c beq.w 7003ae1e <__kernel_rem_pio2f+0x666> 7003ad06: eb08 0584 add.w r5, r8, r4, lsl #2 7003ad0a: ed95 7a00 vldr s14, [r5] 7003ad0e: 00a0 lsls r0, r4, #2 7003ad10: 462b mov r3, r5 7003ad12: 4629 mov r1, r5 7003ad14: ed71 7a01 vldmdb r1!, {s15} 7003ad18: eef0 6a47 vmov.f32 s13, s14 7003ad1c: ee37 7a27 vadd.f32 s14, s14, s15 7003ad20: 4588 cmp r8, r1 7003ad22: ee77 7ac7 vsub.f32 s15, s15, s14 7003ad26: ed81 7a00 vstr s14, [r1] 7003ad2a: ee77 7aa6 vadd.f32 s15, s15, s13 7003ad2e: edc1 7a01 vstr s15, [r1, #4] 7003ad32: d1ef bne.n 7003ad14 <__kernel_rem_pio2f+0x55c> 7003ad34: 2c01 cmp r4, #1 7003ad36: d072 beq.n 7003ae1e <__kernel_rem_pio2f+0x666> 7003ad38: ed95 7a00 vldr s14, [r5] 7003ad3c: f108 0104 add.w r1, r8, #4 7003ad40: ed73 7a01 vldmdb r3!, {s15} 7003ad44: eef0 6a47 vmov.f32 s13, s14 7003ad48: ee37 7a27 vadd.f32 s14, s14, s15 7003ad4c: 4299 cmp r1, r3 7003ad4e: ee77 7ac7 vsub.f32 s15, s15, s14 7003ad52: ed83 7a00 vstr s14, [r3] 7003ad56: ee77 7aa6 vadd.f32 s15, s15, s13 7003ad5a: edc3 7a01 vstr s15, [r3, #4] 7003ad5e: d1ef bne.n 7003ad40 <__kernel_rem_pio2f+0x588> 7003ad60: 1d03 adds r3, r0, #4 7003ad62: eddf 7a36 vldr s15, [pc, #216] @ 7003ae3c <__kernel_rem_pio2f+0x684> 7003ad66: 4443 add r3, r8 7003ad68: f108 0808 add.w r8, r8, #8 7003ad6c: ed33 7a01 vldmdb r3!, {s14} 7003ad70: 4598 cmp r8, r3 7003ad72: ee77 7a87 vadd.f32 s15, s15, s14 7003ad76: d1f9 bne.n 7003ad6c <__kernel_rem_pio2f+0x5b4> 7003ad78: 4653 mov r3, sl 7003ad7a: eddd 6a32 vldr s13, [sp, #200] @ 0xc8 7003ad7e: ed9d 7a33 vldr s14, [sp, #204] @ 0xcc 7003ad82: b973 cbnz r3, 7003ada2 <__kernel_rem_pio2f+0x5ea> 7003ad84: edc2 6a00 vstr s13, [r2] 7003ad88: ed82 7a01 vstr s14, [r2, #4] 7003ad8c: edc2 7a02 vstr s15, [r2, #8] 7003ad90: e75a b.n 7003ac48 <__kernel_rem_pio2f+0x490> 7003ad92: eefd 7ac0 vcvt.s32.f32 s15, s0 7003ad96: 461c mov r4, r3 7003ad98: ee17 1a90 vmov r1, s15 7003ad9c: f84b 1023 str.w r1, [fp, r3, lsl #2] 7003ada0: e6f5 b.n 7003ab8e <__kernel_rem_pio2f+0x3d6> 7003ada2: eef1 6a66 vneg.f32 s13, s13 7003ada6: eeb1 7a47 vneg.f32 s14, s14 7003adaa: eef1 7a67 vneg.f32 s15, s15 7003adae: edc2 6a00 vstr s13, [r2] 7003adb2: ed82 7a01 vstr s14, [r2, #4] 7003adb6: edc2 7a02 vstr s15, [r2, #8] 7003adba: e745 b.n 7003ac48 <__kernel_rem_pio2f+0x490> 7003adbc: eef1 6a47 vneg.f32 s13, s14 7003adc0: ee77 7ac7 vsub.f32 s15, s15, s14 7003adc4: edc2 6a00 vstr s13, [r2] 7003adc8: 2c00 cmp r4, #0 7003adca: f47f af78 bne.w 7003acbe <__kernel_rem_pio2f+0x506> 7003adce: e781 b.n 7003acd4 <__kernel_rem_pio2f+0x51c> 7003add0: eef1 7a67 vneg.f32 s15, s15 7003add4: e736 b.n 7003ac44 <__kernel_rem_pio2f+0x48c> 7003add6: 2801 cmp r0, #1 7003add8: d015 beq.n 7003ae06 <__kernel_rem_pio2f+0x64e> 7003adda: 2802 cmp r0, #2 7003addc: f47f aeb4 bne.w 7003ab48 <__kernel_rem_pio2f+0x390> 7003ade0: f00e 033f and.w r3, lr, #63 @ 0x3f 7003ade4: f84b 3021 str.w r3, [fp, r1, lsl #2] 7003ade8: e6ae b.n 7003ab48 <__kernel_rem_pio2f+0x390> 7003adea: 9b68 ldr r3, [sp, #416] @ 0x1a0 7003adec: 2b02 cmp r3, #2 7003adee: dc12 bgt.n 7003ae16 <__kernel_rem_pio2f+0x65e> 7003adf0: 2b00 cmp r3, #0 7003adf2: dc17 bgt.n 7003ae24 <__kernel_rem_pio2f+0x66c> 7003adf4: f47f af28 bne.w 7003ac48 <__kernel_rem_pio2f+0x490> 7003adf8: eddf 7a10 vldr s15, [pc, #64] @ 7003ae3c <__kernel_rem_pio2f+0x684> 7003adfc: e71e b.n 7003ac3c <__kernel_rem_pio2f+0x484> 7003adfe: 9b03 ldr r3, [sp, #12] 7003ae00: ea4f 0883 mov.w r8, r3, lsl #2 7003ae04: e530 b.n 7003a868 <__kernel_rem_pio2f+0xb0> 7003ae06: f00e 037f and.w r3, lr, #127 @ 0x7f 7003ae0a: 2a02 cmp r2, #2 7003ae0c: f84b 3021 str.w r3, [fp, r1, lsl #2] 7003ae10: f47f ad8f bne.w 7003a932 <__kernel_rem_pio2f+0x17a> 7003ae14: e69b b.n 7003ab4e <__kernel_rem_pio2f+0x396> 7003ae16: 9b68 ldr r3, [sp, #416] @ 0x1a0 7003ae18: 2b03 cmp r3, #3 7003ae1a: f47f af15 bne.w 7003ac48 <__kernel_rem_pio2f+0x490> 7003ae1e: eddf 7a07 vldr s15, [pc, #28] @ 7003ae3c <__kernel_rem_pio2f+0x684> 7003ae22: e7a9 b.n 7003ad78 <__kernel_rem_pio2f+0x5c0> 7003ae24: 4653 mov r3, sl 7003ae26: eddd 7a32 vldr s15, [sp, #200] @ 0xc8 7003ae2a: b11b cbz r3, 7003ae34 <__kernel_rem_pio2f+0x67c> 7003ae2c: f04f 4300 mov.w r3, #2147483648 @ 0x80000000 7003ae30: 6013 str r3, [r2, #0] 7003ae32: e74f b.n 7003acd4 <__kernel_rem_pio2f+0x51c> 7003ae34: 2300 movs r3, #0 7003ae36: 6013 str r3, [r2, #0] 7003ae38: e74e b.n 7003acd8 <__kernel_rem_pio2f+0x520> 7003ae3a: bf00 nop 7003ae3c: 00000000 .word 0x00000000 7003ae40: 700409d0 .word 0x700409d0 7003ae44 : 7003ae44: ee10 2a10 vmov r2, s0 7003ae48: f3c2 53c7 ubfx r3, r2, #23, #8 7003ae4c: 3b7f subs r3, #127 @ 0x7f 7003ae4e: 2b16 cmp r3, #22 7003ae50: f022 4100 bic.w r1, r2, #2147483648 @ 0x80000000 7003ae54: dc1b bgt.n 7003ae8e 7003ae56: 2b00 cmp r3, #0 7003ae58: 4610 mov r0, r2 7003ae5a: db1e blt.n 7003ae9a 7003ae5c: 491a ldr r1, [pc, #104] @ (7003aec8 ) 7003ae5e: 4119 asrs r1, r3 7003ae60: 420a tst r2, r1 7003ae62: d023 beq.n 7003aeac 7003ae64: eddf 7a19 vldr s15, [pc, #100] @ 7003aecc 7003ae68: ee70 7a27 vadd.f32 s15, s0, s15 7003ae6c: eef5 7ac0 vcmpe.f32 s15, #0.0 7003ae70: eef1 fa10 vmrs APSR_nzcv, fpscr 7003ae74: dd1a ble.n 7003aeac 7003ae76: 2a00 cmp r2, #0 7003ae78: da04 bge.n 7003ae84 7003ae7a: f44f 0200 mov.w r2, #8388608 @ 0x800000 7003ae7e: fa42 f303 asr.w r3, r2, r3 7003ae82: 4418 add r0, r3 7003ae84: ea20 0301 bic.w r3, r0, r1 7003ae88: ee00 3a10 vmov s0, r3 7003ae8c: 4770 bx lr 7003ae8e: f1b1 4fff cmp.w r1, #2139095040 @ 0x7f800000 7003ae92: d30b bcc.n 7003aeac 7003ae94: ee30 0a00 vadd.f32 s0, s0, s0 7003ae98: 4770 bx lr 7003ae9a: eddf 7a0c vldr s15, [pc, #48] @ 7003aecc 7003ae9e: ee70 7a27 vadd.f32 s15, s0, s15 7003aea2: eef5 7ac0 vcmpe.f32 s15, #0.0 7003aea6: eef1 fa10 vmrs APSR_nzcv, fpscr 7003aeaa: dc00 bgt.n 7003aeae 7003aeac: 4770 bx lr 7003aeae: 2a00 cmp r2, #0 7003aeb0: db02 blt.n 7003aeb8 7003aeb2: ed9f 0a07 vldr s0, [pc, #28] @ 7003aed0 7003aeb6: 4770 bx lr 7003aeb8: b911 cbnz r1, 7003aec0 7003aeba: ed9f 0a06 vldr s0, [pc, #24] @ 7003aed4 7003aebe: 4770 bx lr 7003aec0: eebf 0a00 vmov.f32 s0, #240 @ 0xbf800000 -1.0 7003aec4: e7f2 b.n 7003aeac 7003aec6: bf00 nop 7003aec8: 007fffff .word 0x007fffff 7003aecc: 7149f2ca .word 0x7149f2ca 7003aed0: 00000000 .word 0x00000000 7003aed4: 80000000 .word 0x80000000 7003aed8 : 7003aed8: ee10 3a10 vmov r3, s0 7003aedc: f033 4100 bics.w r1, r3, #2147483648 @ 0x80000000 7003aee0: 461a mov r2, r3 7003aee2: d025 beq.n 7003af30 7003aee4: f1b1 4fff cmp.w r1, #2139095040 @ 0x7f800000 7003aee8: d21f bcs.n 7003af2a 7003aeea: f013 4fff tst.w r3, #2139095040 @ 0x7f800000 7003aeee: d120 bne.n 7003af32 7003aef0: eddf 7a29 vldr s15, [pc, #164] @ 7003af98 7003aef4: 4a29 ldr r2, [pc, #164] @ (7003af9c ) 7003aef6: ee60 7a27 vmul.f32 s15, s0, s15 7003aefa: 4290 cmp r0, r2 7003aefc: ee17 3a90 vmov r3, s15 7003af00: db31 blt.n 7003af66 7003af02: f24c 3c50 movw ip, #50000 @ 0xc350 7003af06: f3c3 51c7 ubfx r1, r3, #23, #8 7003af0a: 4560 cmp r0, ip 7003af0c: 461a mov r2, r3 7003af0e: f1a1 0119 sub.w r1, r1, #25 7003af12: dd14 ble.n 7003af3e 7003af14: 2b00 cmp r3, #0 7003af16: eddf 7a22 vldr s15, [pc, #136] @ 7003afa0 7003af1a: ed9f 0a21 vldr s0, [pc, #132] @ 7003afa0 7003af1e: bfb8 it lt 7003af20: eddf 7a20 vldrlt s15, [pc, #128] @ 7003afa4 7003af24: ee27 0a80 vmul.f32 s0, s15, s0 7003af28: 4770 bx lr 7003af2a: ee30 0a00 vadd.f32 s0, s0, s0 7003af2e: 4770 bx lr 7003af30: 4770 bx lr 7003af32: f24c 3c50 movw ip, #50000 @ 0xc350 7003af36: 4560 cmp r0, ip 7003af38: ea4f 51d1 mov.w r1, r1, lsr #23 7003af3c: dcea bgt.n 7003af14 7003af3e: 4401 add r1, r0 7003af40: 29fe cmp r1, #254 @ 0xfe 7003af42: dce7 bgt.n 7003af14 7003af44: 2900 cmp r1, #0 7003af46: dc15 bgt.n 7003af74 7003af48: f111 0f16 cmn.w r1, #22 7003af4c: db19 blt.n 7003af82 7003af4e: 3119 adds r1, #25 7003af50: f022 42ff bic.w r2, r2, #2139095040 @ 0x7f800000 7003af54: ea42 52c1 orr.w r2, r2, r1, lsl #23 7003af58: ee07 2a90 vmov s15, r2 7003af5c: ed9f 0a12 vldr s0, [pc, #72] @ 7003afa8 7003af60: ee27 0a80 vmul.f32 s0, s15, s0 7003af64: 4770 bx lr 7003af66: eddf 7a11 vldr s15, [pc, #68] @ 7003afac 7003af6a: ee07 3a10 vmov s14, r3 7003af6e: ee27 0a27 vmul.f32 s0, s14, s15 7003af72: 4770 bx lr 7003af74: f022 42ff bic.w r2, r2, #2139095040 @ 0x7f800000 7003af78: ea42 53c1 orr.w r3, r2, r1, lsl #23 7003af7c: ee00 3a10 vmov s0, r3 7003af80: 4770 bx lr 7003af82: 2b00 cmp r3, #0 7003af84: eddf 7a09 vldr s15, [pc, #36] @ 7003afac 7003af88: ed9f 0a08 vldr s0, [pc, #32] @ 7003afac 7003af8c: bfb8 it lt 7003af8e: eddf 7a08 vldrlt s15, [pc, #32] @ 7003afb0 7003af92: ee27 0a80 vmul.f32 s0, s15, s0 7003af96: 4770 bx lr 7003af98: 4c000000 .word 0x4c000000 7003af9c: ffff3cb0 .word 0xffff3cb0 7003afa0: 7149f2ca .word 0x7149f2ca 7003afa4: f149f2ca .word 0xf149f2ca 7003afa8: 33000000 .word 0x33000000 7003afac: 0da24260 .word 0x0da24260 7003afb0: 8da24260 .word 0x8da24260 7003afb4 <__assert_func>: 7003afb4: b51f push {r0, r1, r2, r3, r4, lr} 7003afb6: 4614 mov r4, r2 7003afb8: 461a mov r2, r3 7003afba: 4b09 ldr r3, [pc, #36] @ (7003afe0 <__assert_func+0x2c>) 7003afbc: 681b ldr r3, [r3, #0] 7003afbe: 4605 mov r5, r0 7003afc0: 68d8 ldr r0, [r3, #12] 7003afc2: b14c cbz r4, 7003afd8 <__assert_func+0x24> 7003afc4: 4b07 ldr r3, [pc, #28] @ (7003afe4 <__assert_func+0x30>) 7003afc6: 9100 str r1, [sp, #0] 7003afc8: e9cd 3401 strd r3, r4, [sp, #4] 7003afcc: 4906 ldr r1, [pc, #24] @ (7003afe8 <__assert_func+0x34>) 7003afce: 462b mov r3, r5 7003afd0: f000 f978 bl 7003b2c4 7003afd4: f000 fad2 bl 7003b57c 7003afd8: 4b04 ldr r3, [pc, #16] @ (7003afec <__assert_func+0x38>) 7003afda: 461c mov r4, r3 7003afdc: e7f3 b.n 7003afc6 <__assert_func+0x12> 7003afde: bf00 nop 7003afe0: 24000164 .word 0x24000164 7003afe4: 7003eab1 .word 0x7003eab1 7003afe8: 7003eabe .word 0x7003eabe 7003afec: 7003ea9e .word 0x7003ea9e 7003aff0 : 7003aff0: 2300 movs r3, #0 7003aff2: 4601 mov r1, r0 7003aff4: 461a mov r2, r3 7003aff6: 4618 mov r0, r3 7003aff8: f000 ba66 b.w 7003b4c8 <__register_exitproc> 7003affc : 7003affc: 4b02 ldr r3, [pc, #8] @ (7003b008 ) 7003affe: 4601 mov r1, r0 7003b000: 6818 ldr r0, [r3, #0] 7003b002: f000 b82d b.w 7003b060 <_malloc_r> 7003b006: bf00 nop 7003b008: 24000164 .word 0x24000164 7003b00c : 7003b00c: 4b02 ldr r3, [pc, #8] @ (7003b018 ) 7003b00e: 4601 mov r1, r0 7003b010: 6818 ldr r0, [r3, #0] 7003b012: f000 babb b.w 7003b58c <_free_r> 7003b016: bf00 nop 7003b018: 24000164 .word 0x24000164 7003b01c : 7003b01c: b570 push {r4, r5, r6, lr} 7003b01e: 4e0f ldr r6, [pc, #60] @ (7003b05c ) 7003b020: 460c mov r4, r1 7003b022: 6831 ldr r1, [r6, #0] 7003b024: 4605 mov r5, r0 7003b026: b911 cbnz r1, 7003b02e 7003b028: f000 f996 bl 7003b358 <_sbrk_r> 7003b02c: 6030 str r0, [r6, #0] 7003b02e: 4621 mov r1, r4 7003b030: 4628 mov r0, r5 7003b032: f000 f991 bl 7003b358 <_sbrk_r> 7003b036: 1c43 adds r3, r0, #1 7003b038: d103 bne.n 7003b042 7003b03a: f04f 34ff mov.w r4, #4294967295 @ 0xffffffff 7003b03e: 4620 mov r0, r4 7003b040: bd70 pop {r4, r5, r6, pc} 7003b042: 1cc4 adds r4, r0, #3 7003b044: f024 0403 bic.w r4, r4, #3 7003b048: 42a0 cmp r0, r4 7003b04a: d0f8 beq.n 7003b03e 7003b04c: 1a21 subs r1, r4, r0 7003b04e: 4628 mov r0, r5 7003b050: f000 f982 bl 7003b358 <_sbrk_r> 7003b054: 3001 adds r0, #1 7003b056: d1f2 bne.n 7003b03e 7003b058: e7ef b.n 7003b03a 7003b05a: bf00 nop 7003b05c: 2400e160 .word 0x2400e160 7003b060 <_malloc_r>: 7003b060: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 7003b064: 1ccd adds r5, r1, #3 7003b066: f025 0503 bic.w r5, r5, #3 7003b06a: 3508 adds r5, #8 7003b06c: 2d0c cmp r5, #12 7003b06e: bf38 it cc 7003b070: 250c movcc r5, #12 7003b072: 2d00 cmp r5, #0 7003b074: 4606 mov r6, r0 7003b076: db01 blt.n 7003b07c <_malloc_r+0x1c> 7003b078: 42a9 cmp r1, r5 7003b07a: d904 bls.n 7003b086 <_malloc_r+0x26> 7003b07c: 230c movs r3, #12 7003b07e: 6033 str r3, [r6, #0] 7003b080: 2000 movs r0, #0 7003b082: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 7003b086: f8df 80d4 ldr.w r8, [pc, #212] @ 7003b15c <_malloc_r+0xfc> 7003b08a: f000 f869 bl 7003b160 <__malloc_lock> 7003b08e: f8d8 3000 ldr.w r3, [r8] 7003b092: 461c mov r4, r3 7003b094: bb44 cbnz r4, 7003b0e8 <_malloc_r+0x88> 7003b096: 4629 mov r1, r5 7003b098: 4630 mov r0, r6 7003b09a: f7ff ffbf bl 7003b01c 7003b09e: 1c43 adds r3, r0, #1 7003b0a0: 4604 mov r4, r0 7003b0a2: d158 bne.n 7003b156 <_malloc_r+0xf6> 7003b0a4: f8d8 4000 ldr.w r4, [r8] 7003b0a8: 4627 mov r7, r4 7003b0aa: 2f00 cmp r7, #0 7003b0ac: d143 bne.n 7003b136 <_malloc_r+0xd6> 7003b0ae: 2c00 cmp r4, #0 7003b0b0: d04b beq.n 7003b14a <_malloc_r+0xea> 7003b0b2: 6823 ldr r3, [r4, #0] 7003b0b4: 4639 mov r1, r7 7003b0b6: 4630 mov r0, r6 7003b0b8: eb04 0903 add.w r9, r4, r3 7003b0bc: f000 f94c bl 7003b358 <_sbrk_r> 7003b0c0: 4581 cmp r9, r0 7003b0c2: d142 bne.n 7003b14a <_malloc_r+0xea> 7003b0c4: 6821 ldr r1, [r4, #0] 7003b0c6: 1a6d subs r5, r5, r1 7003b0c8: 4629 mov r1, r5 7003b0ca: 4630 mov r0, r6 7003b0cc: f7ff ffa6 bl 7003b01c 7003b0d0: 3001 adds r0, #1 7003b0d2: d03a beq.n 7003b14a <_malloc_r+0xea> 7003b0d4: 6823 ldr r3, [r4, #0] 7003b0d6: 442b add r3, r5 7003b0d8: 6023 str r3, [r4, #0] 7003b0da: f8d8 3000 ldr.w r3, [r8] 7003b0de: 685a ldr r2, [r3, #4] 7003b0e0: bb62 cbnz r2, 7003b13c <_malloc_r+0xdc> 7003b0e2: f8c8 7000 str.w r7, [r8] 7003b0e6: e00f b.n 7003b108 <_malloc_r+0xa8> 7003b0e8: 6822 ldr r2, [r4, #0] 7003b0ea: 1b52 subs r2, r2, r5 7003b0ec: d420 bmi.n 7003b130 <_malloc_r+0xd0> 7003b0ee: 2a0b cmp r2, #11 7003b0f0: d917 bls.n 7003b122 <_malloc_r+0xc2> 7003b0f2: 1961 adds r1, r4, r5 7003b0f4: 42a3 cmp r3, r4 7003b0f6: 6025 str r5, [r4, #0] 7003b0f8: bf18 it ne 7003b0fa: 6059 strne r1, [r3, #4] 7003b0fc: 6863 ldr r3, [r4, #4] 7003b0fe: bf08 it eq 7003b100: f8c8 1000 streq.w r1, [r8] 7003b104: 5162 str r2, [r4, r5] 7003b106: 604b str r3, [r1, #4] 7003b108: 4630 mov r0, r6 7003b10a: f000 f82f bl 7003b16c <__malloc_unlock> 7003b10e: f104 000b add.w r0, r4, #11 7003b112: 1d23 adds r3, r4, #4 7003b114: f020 0007 bic.w r0, r0, #7 7003b118: 1ac2 subs r2, r0, r3 7003b11a: bf1c itt ne 7003b11c: 1a1b subne r3, r3, r0 7003b11e: 50a3 strne r3, [r4, r2] 7003b120: e7af b.n 7003b082 <_malloc_r+0x22> 7003b122: 6862 ldr r2, [r4, #4] 7003b124: 42a3 cmp r3, r4 7003b126: bf0c ite eq 7003b128: f8c8 2000 streq.w r2, [r8] 7003b12c: 605a strne r2, [r3, #4] 7003b12e: e7eb b.n 7003b108 <_malloc_r+0xa8> 7003b130: 4623 mov r3, r4 7003b132: 6864 ldr r4, [r4, #4] 7003b134: e7ae b.n 7003b094 <_malloc_r+0x34> 7003b136: 463c mov r4, r7 7003b138: 687f ldr r7, [r7, #4] 7003b13a: e7b6 b.n 7003b0aa <_malloc_r+0x4a> 7003b13c: 461a mov r2, r3 7003b13e: 685b ldr r3, [r3, #4] 7003b140: 42a3 cmp r3, r4 7003b142: d1fb bne.n 7003b13c <_malloc_r+0xdc> 7003b144: 2300 movs r3, #0 7003b146: 6053 str r3, [r2, #4] 7003b148: e7de b.n 7003b108 <_malloc_r+0xa8> 7003b14a: 230c movs r3, #12 7003b14c: 6033 str r3, [r6, #0] 7003b14e: 4630 mov r0, r6 7003b150: f000 f80c bl 7003b16c <__malloc_unlock> 7003b154: e794 b.n 7003b080 <_malloc_r+0x20> 7003b156: 6005 str r5, [r0, #0] 7003b158: e7d6 b.n 7003b108 <_malloc_r+0xa8> 7003b15a: bf00 nop 7003b15c: 2400e164 .word 0x2400e164 7003b160 <__malloc_lock>: 7003b160: 4801 ldr r0, [pc, #4] @ (7003b168 <__malloc_lock+0x8>) 7003b162: f000 b934 b.w 7003b3ce <__retarget_lock_acquire_recursive> 7003b166: bf00 nop 7003b168: 2400e2a4 .word 0x2400e2a4 7003b16c <__malloc_unlock>: 7003b16c: 4801 ldr r0, [pc, #4] @ (7003b174 <__malloc_unlock+0x8>) 7003b16e: f000 b92f b.w 7003b3d0 <__retarget_lock_release_recursive> 7003b172: bf00 nop 7003b174: 2400e2a4 .word 0x2400e2a4 7003b178 : 7003b178: 2300 movs r3, #0 7003b17a: b510 push {r4, lr} 7003b17c: 4604 mov r4, r0 7003b17e: e9c0 3300 strd r3, r3, [r0] 7003b182: e9c0 3304 strd r3, r3, [r0, #16] 7003b186: 6083 str r3, [r0, #8] 7003b188: 8181 strh r1, [r0, #12] 7003b18a: 6643 str r3, [r0, #100] @ 0x64 7003b18c: 81c2 strh r2, [r0, #14] 7003b18e: 6183 str r3, [r0, #24] 7003b190: 4619 mov r1, r3 7003b192: 2208 movs r2, #8 7003b194: 305c adds r0, #92 @ 0x5c 7003b196: f000 f8c5 bl 7003b324 7003b19a: 4b0d ldr r3, [pc, #52] @ (7003b1d0 ) 7003b19c: 6263 str r3, [r4, #36] @ 0x24 7003b19e: 4b0d ldr r3, [pc, #52] @ (7003b1d4 ) 7003b1a0: 62a3 str r3, [r4, #40] @ 0x28 7003b1a2: 4b0d ldr r3, [pc, #52] @ (7003b1d8 ) 7003b1a4: 62e3 str r3, [r4, #44] @ 0x2c 7003b1a6: 4b0d ldr r3, [pc, #52] @ (7003b1dc ) 7003b1a8: 6323 str r3, [r4, #48] @ 0x30 7003b1aa: 4b0d ldr r3, [pc, #52] @ (7003b1e0 ) 7003b1ac: 6224 str r4, [r4, #32] 7003b1ae: 429c cmp r4, r3 7003b1b0: d006 beq.n 7003b1c0 7003b1b2: f103 0268 add.w r2, r3, #104 @ 0x68 7003b1b6: 4294 cmp r4, r2 7003b1b8: d002 beq.n 7003b1c0 7003b1ba: 33d0 adds r3, #208 @ 0xd0 7003b1bc: 429c cmp r4, r3 7003b1be: d105 bne.n 7003b1cc 7003b1c0: f104 0058 add.w r0, r4, #88 @ 0x58 7003b1c4: e8bd 4010 ldmia.w sp!, {r4, lr} 7003b1c8: f000 b900 b.w 7003b3cc <__retarget_lock_init_recursive> 7003b1cc: bd10 pop {r4, pc} 7003b1ce: bf00 nop 7003b1d0: 7003bd19 .word 0x7003bd19 7003b1d4: 7003bd3b .word 0x7003bd3b 7003b1d8: 7003bd73 .word 0x7003bd73 7003b1dc: 7003bd99 .word 0x7003bd99 7003b1e0: 2400e168 .word 0x2400e168 7003b1e4 : 7003b1e4: 4a02 ldr r2, [pc, #8] @ (7003b1f0 ) 7003b1e6: 4903 ldr r1, [pc, #12] @ (7003b1f4 ) 7003b1e8: 4803 ldr r0, [pc, #12] @ (7003b1f8 ) 7003b1ea: f000 b87d b.w 7003b2e8 <_fwalk_sglue> 7003b1ee: bf00 nop 7003b1f0: 24000158 .word 0x24000158 7003b1f4: 7003bcc9 .word 0x7003bcc9 7003b1f8: 24000168 .word 0x24000168 7003b1fc : 7003b1fc: 6841 ldr r1, [r0, #4] 7003b1fe: 4b0c ldr r3, [pc, #48] @ (7003b230 ) 7003b200: 4299 cmp r1, r3 7003b202: b510 push {r4, lr} 7003b204: 4604 mov r4, r0 7003b206: d001 beq.n 7003b20c 7003b208: f000 fd5e bl 7003bcc8 <_fflush_r> 7003b20c: 68a1 ldr r1, [r4, #8] 7003b20e: 4b09 ldr r3, [pc, #36] @ (7003b234 ) 7003b210: 4299 cmp r1, r3 7003b212: d002 beq.n 7003b21a 7003b214: 4620 mov r0, r4 7003b216: f000 fd57 bl 7003bcc8 <_fflush_r> 7003b21a: 68e1 ldr r1, [r4, #12] 7003b21c: 4b06 ldr r3, [pc, #24] @ (7003b238 ) 7003b21e: 4299 cmp r1, r3 7003b220: d004 beq.n 7003b22c 7003b222: 4620 mov r0, r4 7003b224: e8bd 4010 ldmia.w sp!, {r4, lr} 7003b228: f000 bd4e b.w 7003bcc8 <_fflush_r> 7003b22c: bd10 pop {r4, pc} 7003b22e: bf00 nop 7003b230: 2400e168 .word 0x2400e168 7003b234: 2400e1d0 .word 0x2400e1d0 7003b238: 2400e238 .word 0x2400e238 7003b23c : 7003b23c: 4b0c ldr r3, [pc, #48] @ (7003b270 ) 7003b23e: 4a0d ldr r2, [pc, #52] @ (7003b274 ) 7003b240: 480d ldr r0, [pc, #52] @ (7003b278 ) 7003b242: b510 push {r4, lr} 7003b244: 2104 movs r1, #4 7003b246: 601a str r2, [r3, #0] 7003b248: 2200 movs r2, #0 7003b24a: f7ff ff95 bl 7003b178 7003b24e: 4b0a ldr r3, [pc, #40] @ (7003b278 ) 7003b250: 2201 movs r2, #1 7003b252: 461c mov r4, r3 7003b254: 2109 movs r1, #9 7003b256: f103 0068 add.w r0, r3, #104 @ 0x68 7003b25a: f7ff ff8d bl 7003b178 7003b25e: f104 00d0 add.w r0, r4, #208 @ 0xd0 7003b262: 2202 movs r2, #2 7003b264: e8bd 4010 ldmia.w sp!, {r4, lr} 7003b268: 2112 movs r1, #18 7003b26a: f7ff bf85 b.w 7003b178 7003b26e: bf00 nop 7003b270: 2400e2a0 .word 0x2400e2a0 7003b274: 7003b1e5 .word 0x7003b1e5 7003b278: 2400e168 .word 0x2400e168 7003b27c <__sfp_lock_acquire>: 7003b27c: 4801 ldr r0, [pc, #4] @ (7003b284 <__sfp_lock_acquire+0x8>) 7003b27e: f000 b8a6 b.w 7003b3ce <__retarget_lock_acquire_recursive> 7003b282: bf00 nop 7003b284: 2400e2a6 .word 0x2400e2a6 7003b288 <__sfp_lock_release>: 7003b288: 4801 ldr r0, [pc, #4] @ (7003b290 <__sfp_lock_release+0x8>) 7003b28a: f000 b8a1 b.w 7003b3d0 <__retarget_lock_release_recursive> 7003b28e: bf00 nop 7003b290: 2400e2a6 .word 0x2400e2a6 7003b294 <__sinit>: 7003b294: b510 push {r4, lr} 7003b296: 4604 mov r4, r0 7003b298: f7ff fff0 bl 7003b27c <__sfp_lock_acquire> 7003b29c: 6a23 ldr r3, [r4, #32] 7003b29e: b11b cbz r3, 7003b2a8 <__sinit+0x14> 7003b2a0: e8bd 4010 ldmia.w sp!, {r4, lr} 7003b2a4: f7ff bff0 b.w 7003b288 <__sfp_lock_release> 7003b2a8: 4b04 ldr r3, [pc, #16] @ (7003b2bc <__sinit+0x28>) 7003b2aa: 6223 str r3, [r4, #32] 7003b2ac: 4b04 ldr r3, [pc, #16] @ (7003b2c0 <__sinit+0x2c>) 7003b2ae: 681b ldr r3, [r3, #0] 7003b2b0: 2b00 cmp r3, #0 7003b2b2: d1f5 bne.n 7003b2a0 <__sinit+0xc> 7003b2b4: f7ff ffc2 bl 7003b23c 7003b2b8: e7f2 b.n 7003b2a0 <__sinit+0xc> 7003b2ba: bf00 nop 7003b2bc: 7003b1fd .word 0x7003b1fd 7003b2c0: 2400e2a0 .word 0x2400e2a0 7003b2c4 : 7003b2c4: b40e push {r1, r2, r3} 7003b2c6: b503 push {r0, r1, lr} 7003b2c8: 4601 mov r1, r0 7003b2ca: ab03 add r3, sp, #12 7003b2cc: 4805 ldr r0, [pc, #20] @ (7003b2e4 ) 7003b2ce: f853 2b04 ldr.w r2, [r3], #4 7003b2d2: 6800 ldr r0, [r0, #0] 7003b2d4: 9301 str r3, [sp, #4] 7003b2d6: f000 f9cd bl 7003b674 <_vfiprintf_r> 7003b2da: b002 add sp, #8 7003b2dc: f85d eb04 ldr.w lr, [sp], #4 7003b2e0: b003 add sp, #12 7003b2e2: 4770 bx lr 7003b2e4: 24000164 .word 0x24000164 7003b2e8 <_fwalk_sglue>: 7003b2e8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 7003b2ec: 4607 mov r7, r0 7003b2ee: 4688 mov r8, r1 7003b2f0: 4614 mov r4, r2 7003b2f2: 2600 movs r6, #0 7003b2f4: e9d4 9501 ldrd r9, r5, [r4, #4] 7003b2f8: f1b9 0901 subs.w r9, r9, #1 7003b2fc: d505 bpl.n 7003b30a <_fwalk_sglue+0x22> 7003b2fe: 6824 ldr r4, [r4, #0] 7003b300: 2c00 cmp r4, #0 7003b302: d1f7 bne.n 7003b2f4 <_fwalk_sglue+0xc> 7003b304: 4630 mov r0, r6 7003b306: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 7003b30a: 89ab ldrh r3, [r5, #12] 7003b30c: 2b01 cmp r3, #1 7003b30e: d907 bls.n 7003b320 <_fwalk_sglue+0x38> 7003b310: f9b5 300e ldrsh.w r3, [r5, #14] 7003b314: 3301 adds r3, #1 7003b316: d003 beq.n 7003b320 <_fwalk_sglue+0x38> 7003b318: 4629 mov r1, r5 7003b31a: 4638 mov r0, r7 7003b31c: 47c0 blx r8 7003b31e: 4306 orrs r6, r0 7003b320: 3568 adds r5, #104 @ 0x68 7003b322: e7e9 b.n 7003b2f8 <_fwalk_sglue+0x10> 7003b324 : 7003b324: 4402 add r2, r0 7003b326: 4603 mov r3, r0 7003b328: 4293 cmp r3, r2 7003b32a: d100 bne.n 7003b32e 7003b32c: 4770 bx lr 7003b32e: f803 1b01 strb.w r1, [r3], #1 7003b332: e7f9 b.n 7003b328 7003b334 : 7003b334: b510 push {r4, lr} 7003b336: b16a cbz r2, 7003b354 7003b338: 3901 subs r1, #1 7003b33a: 1884 adds r4, r0, r2 7003b33c: f810 2b01 ldrb.w r2, [r0], #1 7003b340: f811 3f01 ldrb.w r3, [r1, #1]! 7003b344: 429a cmp r2, r3 7003b346: d103 bne.n 7003b350 7003b348: 42a0 cmp r0, r4 7003b34a: d001 beq.n 7003b350 7003b34c: 2a00 cmp r2, #0 7003b34e: d1f5 bne.n 7003b33c 7003b350: 1ad0 subs r0, r2, r3 7003b352: bd10 pop {r4, pc} 7003b354: 4610 mov r0, r2 7003b356: e7fc b.n 7003b352 7003b358 <_sbrk_r>: 7003b358: b538 push {r3, r4, r5, lr} 7003b35a: 4d06 ldr r5, [pc, #24] @ (7003b374 <_sbrk_r+0x1c>) 7003b35c: 2300 movs r3, #0 7003b35e: 4604 mov r4, r0 7003b360: 4608 mov r0, r1 7003b362: 602b str r3, [r5, #0] 7003b364: f7c6 f966 bl 70001634 <_sbrk> 7003b368: 1c43 adds r3, r0, #1 7003b36a: d102 bne.n 7003b372 <_sbrk_r+0x1a> 7003b36c: 682b ldr r3, [r5, #0] 7003b36e: b103 cbz r3, 7003b372 <_sbrk_r+0x1a> 7003b370: 6023 str r3, [r4, #0] 7003b372: bd38 pop {r3, r4, r5, pc} 7003b374: 2400e2a8 .word 0x2400e2a8 7003b378 <__errno>: 7003b378: 4b01 ldr r3, [pc, #4] @ (7003b380 <__errno+0x8>) 7003b37a: 6818 ldr r0, [r3, #0] 7003b37c: 4770 bx lr 7003b37e: bf00 nop 7003b380: 24000164 .word 0x24000164 7003b384 <__libc_init_array>: 7003b384: b570 push {r4, r5, r6, lr} 7003b386: 4b0d ldr r3, [pc, #52] @ (7003b3bc <__libc_init_array+0x38>) 7003b388: 4d0d ldr r5, [pc, #52] @ (7003b3c0 <__libc_init_array+0x3c>) 7003b38a: 1b5b subs r3, r3, r5 7003b38c: 109c asrs r4, r3, #2 7003b38e: 2600 movs r6, #0 7003b390: 42a6 cmp r6, r4 7003b392: d109 bne.n 7003b3a8 <__libc_init_array+0x24> 7003b394: f000 fea0 bl 7003c0d8 <_init> 7003b398: 4d0a ldr r5, [pc, #40] @ (7003b3c4 <__libc_init_array+0x40>) 7003b39a: 4b0b ldr r3, [pc, #44] @ (7003b3c8 <__libc_init_array+0x44>) 7003b39c: 1b5b subs r3, r3, r5 7003b39e: 109c asrs r4, r3, #2 7003b3a0: 2600 movs r6, #0 7003b3a2: 42a6 cmp r6, r4 7003b3a4: d105 bne.n 7003b3b2 <__libc_init_array+0x2e> 7003b3a6: bd70 pop {r4, r5, r6, pc} 7003b3a8: f855 3b04 ldr.w r3, [r5], #4 7003b3ac: 4798 blx r3 7003b3ae: 3601 adds r6, #1 7003b3b0: e7ee b.n 7003b390 <__libc_init_array+0xc> 7003b3b2: f855 3b04 ldr.w r3, [r5], #4 7003b3b6: 4798 blx r3 7003b3b8: 3601 adds r6, #1 7003b3ba: e7f2 b.n 7003b3a2 <__libc_init_array+0x1e> 7003b3bc: 70040a2c .word 0x70040a2c 7003b3c0: 70040a2c .word 0x70040a2c 7003b3c4: 70040a2c .word 0x70040a2c 7003b3c8: 70040a48 .word 0x70040a48 7003b3cc <__retarget_lock_init_recursive>: 7003b3cc: 4770 bx lr 7003b3ce <__retarget_lock_acquire_recursive>: 7003b3ce: 4770 bx lr 7003b3d0 <__retarget_lock_release_recursive>: 7003b3d0: 4770 bx lr ... 7003b3d4 <_reclaim_reent>: 7003b3d4: 4b2d ldr r3, [pc, #180] @ (7003b48c <_reclaim_reent+0xb8>) 7003b3d6: 681b ldr r3, [r3, #0] 7003b3d8: 4283 cmp r3, r0 7003b3da: b570 push {r4, r5, r6, lr} 7003b3dc: 4604 mov r4, r0 7003b3de: d053 beq.n 7003b488 <_reclaim_reent+0xb4> 7003b3e0: 69c3 ldr r3, [r0, #28] 7003b3e2: b31b cbz r3, 7003b42c <_reclaim_reent+0x58> 7003b3e4: 68db ldr r3, [r3, #12] 7003b3e6: b163 cbz r3, 7003b402 <_reclaim_reent+0x2e> 7003b3e8: 2500 movs r5, #0 7003b3ea: 69e3 ldr r3, [r4, #28] 7003b3ec: 68db ldr r3, [r3, #12] 7003b3ee: 5959 ldr r1, [r3, r5] 7003b3f0: b9b1 cbnz r1, 7003b420 <_reclaim_reent+0x4c> 7003b3f2: 3504 adds r5, #4 7003b3f4: 2d80 cmp r5, #128 @ 0x80 7003b3f6: d1f8 bne.n 7003b3ea <_reclaim_reent+0x16> 7003b3f8: 69e3 ldr r3, [r4, #28] 7003b3fa: 4620 mov r0, r4 7003b3fc: 68d9 ldr r1, [r3, #12] 7003b3fe: f000 f8c5 bl 7003b58c <_free_r> 7003b402: 69e3 ldr r3, [r4, #28] 7003b404: 6819 ldr r1, [r3, #0] 7003b406: b111 cbz r1, 7003b40e <_reclaim_reent+0x3a> 7003b408: 4620 mov r0, r4 7003b40a: f000 f8bf bl 7003b58c <_free_r> 7003b40e: 69e3 ldr r3, [r4, #28] 7003b410: 689d ldr r5, [r3, #8] 7003b412: b15d cbz r5, 7003b42c <_reclaim_reent+0x58> 7003b414: 4629 mov r1, r5 7003b416: 4620 mov r0, r4 7003b418: 682d ldr r5, [r5, #0] 7003b41a: f000 f8b7 bl 7003b58c <_free_r> 7003b41e: e7f8 b.n 7003b412 <_reclaim_reent+0x3e> 7003b420: 680e ldr r6, [r1, #0] 7003b422: 4620 mov r0, r4 7003b424: f000 f8b2 bl 7003b58c <_free_r> 7003b428: 4631 mov r1, r6 7003b42a: e7e1 b.n 7003b3f0 <_reclaim_reent+0x1c> 7003b42c: 6961 ldr r1, [r4, #20] 7003b42e: b111 cbz r1, 7003b436 <_reclaim_reent+0x62> 7003b430: 4620 mov r0, r4 7003b432: f000 f8ab bl 7003b58c <_free_r> 7003b436: 69e1 ldr r1, [r4, #28] 7003b438: b111 cbz r1, 7003b440 <_reclaim_reent+0x6c> 7003b43a: 4620 mov r0, r4 7003b43c: f000 f8a6 bl 7003b58c <_free_r> 7003b440: 6b21 ldr r1, [r4, #48] @ 0x30 7003b442: b111 cbz r1, 7003b44a <_reclaim_reent+0x76> 7003b444: 4620 mov r0, r4 7003b446: f000 f8a1 bl 7003b58c <_free_r> 7003b44a: 6b61 ldr r1, [r4, #52] @ 0x34 7003b44c: b111 cbz r1, 7003b454 <_reclaim_reent+0x80> 7003b44e: 4620 mov r0, r4 7003b450: f000 f89c bl 7003b58c <_free_r> 7003b454: 6ba1 ldr r1, [r4, #56] @ 0x38 7003b456: b111 cbz r1, 7003b45e <_reclaim_reent+0x8a> 7003b458: 4620 mov r0, r4 7003b45a: f000 f897 bl 7003b58c <_free_r> 7003b45e: 6ca1 ldr r1, [r4, #72] @ 0x48 7003b460: b111 cbz r1, 7003b468 <_reclaim_reent+0x94> 7003b462: 4620 mov r0, r4 7003b464: f000 f892 bl 7003b58c <_free_r> 7003b468: 6c61 ldr r1, [r4, #68] @ 0x44 7003b46a: b111 cbz r1, 7003b472 <_reclaim_reent+0x9e> 7003b46c: 4620 mov r0, r4 7003b46e: f000 f88d bl 7003b58c <_free_r> 7003b472: 6ae1 ldr r1, [r4, #44] @ 0x2c 7003b474: b111 cbz r1, 7003b47c <_reclaim_reent+0xa8> 7003b476: 4620 mov r0, r4 7003b478: f000 f888 bl 7003b58c <_free_r> 7003b47c: 6a23 ldr r3, [r4, #32] 7003b47e: b11b cbz r3, 7003b488 <_reclaim_reent+0xb4> 7003b480: 4620 mov r0, r4 7003b482: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} 7003b486: 4718 bx r3 7003b488: bd70 pop {r4, r5, r6, pc} 7003b48a: bf00 nop 7003b48c: 24000164 .word 0x24000164 7003b490 <__cxa_atexit>: 7003b490: b510 push {r4, lr} 7003b492: 4604 mov r4, r0 7003b494: 4804 ldr r0, [pc, #16] @ (7003b4a8 <__cxa_atexit+0x18>) 7003b496: 4613 mov r3, r2 7003b498: b120 cbz r0, 7003b4a4 <__cxa_atexit+0x14> 7003b49a: 460a mov r2, r1 7003b49c: 2002 movs r0, #2 7003b49e: 4621 mov r1, r4 7003b4a0: f000 f812 bl 7003b4c8 <__register_exitproc> 7003b4a4: bd10 pop {r4, pc} 7003b4a6: bf00 nop 7003b4a8: 7003b4c9 .word 0x7003b4c9 7003b4ac : 7003b4ac: 440a add r2, r1 7003b4ae: 4291 cmp r1, r2 7003b4b0: f100 33ff add.w r3, r0, #4294967295 @ 0xffffffff 7003b4b4: d100 bne.n 7003b4b8 7003b4b6: 4770 bx lr 7003b4b8: b510 push {r4, lr} 7003b4ba: f811 4b01 ldrb.w r4, [r1], #1 7003b4be: f803 4f01 strb.w r4, [r3, #1]! 7003b4c2: 4291 cmp r1, r2 7003b4c4: d1f9 bne.n 7003b4ba 7003b4c6: bd10 pop {r4, pc} 7003b4c8 <__register_exitproc>: 7003b4c8: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 7003b4cc: 4e26 ldr r6, [pc, #152] @ (7003b568 <__register_exitproc+0xa0>) 7003b4ce: 4607 mov r7, r0 7003b4d0: 6830 ldr r0, [r6, #0] 7003b4d2: 4692 mov sl, r2 7003b4d4: 4688 mov r8, r1 7003b4d6: 4699 mov r9, r3 7003b4d8: f7ff ff79 bl 7003b3ce <__retarget_lock_acquire_recursive> 7003b4dc: 4a23 ldr r2, [pc, #140] @ (7003b56c <__register_exitproc+0xa4>) 7003b4de: 6815 ldr r5, [r2, #0] 7003b4e0: b93d cbnz r5, 7003b4f2 <__register_exitproc+0x2a> 7003b4e2: 4b23 ldr r3, [pc, #140] @ (7003b570 <__register_exitproc+0xa8>) 7003b4e4: 6013 str r3, [r2, #0] 7003b4e6: 4a23 ldr r2, [pc, #140] @ (7003b574 <__register_exitproc+0xac>) 7003b4e8: b112 cbz r2, 7003b4f0 <__register_exitproc+0x28> 7003b4ea: 6812 ldr r2, [r2, #0] 7003b4ec: f8c3 2088 str.w r2, [r3, #136] @ 0x88 7003b4f0: 4d1f ldr r5, [pc, #124] @ (7003b570 <__register_exitproc+0xa8>) 7003b4f2: 686c ldr r4, [r5, #4] 7003b4f4: 2c1f cmp r4, #31 7003b4f6: dd06 ble.n 7003b506 <__register_exitproc+0x3e> 7003b4f8: 6830 ldr r0, [r6, #0] 7003b4fa: f7ff ff69 bl 7003b3d0 <__retarget_lock_release_recursive> 7003b4fe: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7003b502: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 7003b506: b32f cbz r7, 7003b554 <__register_exitproc+0x8c> 7003b508: f8d5 0088 ldr.w r0, [r5, #136] @ 0x88 7003b50c: b968 cbnz r0, 7003b52a <__register_exitproc+0x62> 7003b50e: 4b1a ldr r3, [pc, #104] @ (7003b578 <__register_exitproc+0xb0>) 7003b510: 2b00 cmp r3, #0 7003b512: d0f1 beq.n 7003b4f8 <__register_exitproc+0x30> 7003b514: f44f 7084 mov.w r0, #264 @ 0x108 7003b518: f7ff fd70 bl 7003affc 7003b51c: 2800 cmp r0, #0 7003b51e: d0eb beq.n 7003b4f8 <__register_exitproc+0x30> 7003b520: 2300 movs r3, #0 7003b522: e9c0 3340 strd r3, r3, [r0, #256] @ 0x100 7003b526: f8c5 0088 str.w r0, [r5, #136] @ 0x88 7003b52a: 686c ldr r4, [r5, #4] 7003b52c: f840 a024 str.w sl, [r0, r4, lsl #2] 7003b530: 2201 movs r2, #1 7003b532: f8d0 3100 ldr.w r3, [r0, #256] @ 0x100 7003b536: 40a2 lsls r2, r4 7003b538: eb00 0184 add.w r1, r0, r4, lsl #2 7003b53c: 4313 orrs r3, r2 7003b53e: f8c0 3100 str.w r3, [r0, #256] @ 0x100 7003b542: 2f02 cmp r7, #2 7003b544: f8c1 9080 str.w r9, [r1, #128] @ 0x80 7003b548: bf02 ittt eq 7003b54a: f8d0 3104 ldreq.w r3, [r0, #260] @ 0x104 7003b54e: 4313 orreq r3, r2 7003b550: f8c0 3104 streq.w r3, [r0, #260] @ 0x104 7003b554: 1c63 adds r3, r4, #1 7003b556: 3402 adds r4, #2 7003b558: 6830 ldr r0, [r6, #0] 7003b55a: 606b str r3, [r5, #4] 7003b55c: f845 8024 str.w r8, [r5, r4, lsl #2] 7003b560: f7ff ff36 bl 7003b3d0 <__retarget_lock_release_recursive> 7003b564: 2000 movs r0, #0 7003b566: e7cc b.n 7003b502 <__register_exitproc+0x3a> 7003b568: 240001b4 .word 0x240001b4 7003b56c: 2400e338 .word 0x2400e338 7003b570: 2400e2ac .word 0x2400e2ac 7003b574: 70040a08 .word 0x70040a08 7003b578: 7003affd .word 0x7003affd 7003b57c : 7003b57c: b508 push {r3, lr} 7003b57e: 2006 movs r0, #6 7003b580: f000 fd26 bl 7003bfd0 7003b584: 2001 movs r0, #1 7003b586: f7c6 f827 bl 700015d8 <_exit> ... 7003b58c <_free_r>: 7003b58c: b538 push {r3, r4, r5, lr} 7003b58e: 4605 mov r5, r0 7003b590: 2900 cmp r1, #0 7003b592: d041 beq.n 7003b618 <_free_r+0x8c> 7003b594: f851 3c04 ldr.w r3, [r1, #-4] 7003b598: 1f0c subs r4, r1, #4 7003b59a: 2b00 cmp r3, #0 7003b59c: bfb8 it lt 7003b59e: 18e4 addlt r4, r4, r3 7003b5a0: f7ff fdde bl 7003b160 <__malloc_lock> 7003b5a4: 4a1d ldr r2, [pc, #116] @ (7003b61c <_free_r+0x90>) 7003b5a6: 6813 ldr r3, [r2, #0] 7003b5a8: b933 cbnz r3, 7003b5b8 <_free_r+0x2c> 7003b5aa: 6063 str r3, [r4, #4] 7003b5ac: 6014 str r4, [r2, #0] 7003b5ae: 4628 mov r0, r5 7003b5b0: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 7003b5b4: f7ff bdda b.w 7003b16c <__malloc_unlock> 7003b5b8: 42a3 cmp r3, r4 7003b5ba: d908 bls.n 7003b5ce <_free_r+0x42> 7003b5bc: 6820 ldr r0, [r4, #0] 7003b5be: 1821 adds r1, r4, r0 7003b5c0: 428b cmp r3, r1 7003b5c2: bf01 itttt eq 7003b5c4: 6819 ldreq r1, [r3, #0] 7003b5c6: 685b ldreq r3, [r3, #4] 7003b5c8: 1809 addeq r1, r1, r0 7003b5ca: 6021 streq r1, [r4, #0] 7003b5cc: e7ed b.n 7003b5aa <_free_r+0x1e> 7003b5ce: 461a mov r2, r3 7003b5d0: 685b ldr r3, [r3, #4] 7003b5d2: b10b cbz r3, 7003b5d8 <_free_r+0x4c> 7003b5d4: 42a3 cmp r3, r4 7003b5d6: d9fa bls.n 7003b5ce <_free_r+0x42> 7003b5d8: 6811 ldr r1, [r2, #0] 7003b5da: 1850 adds r0, r2, r1 7003b5dc: 42a0 cmp r0, r4 7003b5de: d10b bne.n 7003b5f8 <_free_r+0x6c> 7003b5e0: 6820 ldr r0, [r4, #0] 7003b5e2: 4401 add r1, r0 7003b5e4: 1850 adds r0, r2, r1 7003b5e6: 4283 cmp r3, r0 7003b5e8: 6011 str r1, [r2, #0] 7003b5ea: d1e0 bne.n 7003b5ae <_free_r+0x22> 7003b5ec: 6818 ldr r0, [r3, #0] 7003b5ee: 685b ldr r3, [r3, #4] 7003b5f0: 6053 str r3, [r2, #4] 7003b5f2: 4408 add r0, r1 7003b5f4: 6010 str r0, [r2, #0] 7003b5f6: e7da b.n 7003b5ae <_free_r+0x22> 7003b5f8: d902 bls.n 7003b600 <_free_r+0x74> 7003b5fa: 230c movs r3, #12 7003b5fc: 602b str r3, [r5, #0] 7003b5fe: e7d6 b.n 7003b5ae <_free_r+0x22> 7003b600: 6820 ldr r0, [r4, #0] 7003b602: 1821 adds r1, r4, r0 7003b604: 428b cmp r3, r1 7003b606: bf04 itt eq 7003b608: 6819 ldreq r1, [r3, #0] 7003b60a: 685b ldreq r3, [r3, #4] 7003b60c: 6063 str r3, [r4, #4] 7003b60e: bf04 itt eq 7003b610: 1809 addeq r1, r1, r0 7003b612: 6021 streq r1, [r4, #0] 7003b614: 6054 str r4, [r2, #4] 7003b616: e7ca b.n 7003b5ae <_free_r+0x22> 7003b618: bd38 pop {r3, r4, r5, pc} 7003b61a: bf00 nop 7003b61c: 2400e164 .word 0x2400e164 7003b620 <__sfputc_r>: 7003b620: 6893 ldr r3, [r2, #8] 7003b622: 3b01 subs r3, #1 7003b624: 2b00 cmp r3, #0 7003b626: b410 push {r4} 7003b628: 6093 str r3, [r2, #8] 7003b62a: da08 bge.n 7003b63e <__sfputc_r+0x1e> 7003b62c: 6994 ldr r4, [r2, #24] 7003b62e: 42a3 cmp r3, r4 7003b630: db01 blt.n 7003b636 <__sfputc_r+0x16> 7003b632: 290a cmp r1, #10 7003b634: d103 bne.n 7003b63e <__sfputc_r+0x1e> 7003b636: f85d 4b04 ldr.w r4, [sp], #4 7003b63a: f000 bbb1 b.w 7003bda0 <__swbuf_r> 7003b63e: 6813 ldr r3, [r2, #0] 7003b640: 1c58 adds r0, r3, #1 7003b642: 6010 str r0, [r2, #0] 7003b644: 7019 strb r1, [r3, #0] 7003b646: 4608 mov r0, r1 7003b648: f85d 4b04 ldr.w r4, [sp], #4 7003b64c: 4770 bx lr 7003b64e <__sfputs_r>: 7003b64e: b5f8 push {r3, r4, r5, r6, r7, lr} 7003b650: 4606 mov r6, r0 7003b652: 460f mov r7, r1 7003b654: 4614 mov r4, r2 7003b656: 18d5 adds r5, r2, r3 7003b658: 42ac cmp r4, r5 7003b65a: d101 bne.n 7003b660 <__sfputs_r+0x12> 7003b65c: 2000 movs r0, #0 7003b65e: e007 b.n 7003b670 <__sfputs_r+0x22> 7003b660: f814 1b01 ldrb.w r1, [r4], #1 7003b664: 463a mov r2, r7 7003b666: 4630 mov r0, r6 7003b668: f7ff ffda bl 7003b620 <__sfputc_r> 7003b66c: 1c43 adds r3, r0, #1 7003b66e: d1f3 bne.n 7003b658 <__sfputs_r+0xa> 7003b670: bdf8 pop {r3, r4, r5, r6, r7, pc} ... 7003b674 <_vfiprintf_r>: 7003b674: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 7003b678: 460d mov r5, r1 7003b67a: b09c sub sp, #112 @ 0x70 7003b67c: 4614 mov r4, r2 7003b67e: 461f mov r7, r3 7003b680: 4606 mov r6, r0 7003b682: b118 cbz r0, 7003b68c <_vfiprintf_r+0x18> 7003b684: 6a03 ldr r3, [r0, #32] 7003b686: b90b cbnz r3, 7003b68c <_vfiprintf_r+0x18> 7003b688: f7ff fe04 bl 7003b294 <__sinit> 7003b68c: 6e6b ldr r3, [r5, #100] @ 0x64 7003b68e: 07d9 lsls r1, r3, #31 7003b690: d405 bmi.n 7003b69e <_vfiprintf_r+0x2a> 7003b692: 89ab ldrh r3, [r5, #12] 7003b694: 059a lsls r2, r3, #22 7003b696: d402 bmi.n 7003b69e <_vfiprintf_r+0x2a> 7003b698: 6da8 ldr r0, [r5, #88] @ 0x58 7003b69a: f7ff fe98 bl 7003b3ce <__retarget_lock_acquire_recursive> 7003b69e: 89ab ldrh r3, [r5, #12] 7003b6a0: 071b lsls r3, r3, #28 7003b6a2: d501 bpl.n 7003b6a8 <_vfiprintf_r+0x34> 7003b6a4: 692b ldr r3, [r5, #16] 7003b6a6: b99b cbnz r3, 7003b6d0 <_vfiprintf_r+0x5c> 7003b6a8: 4629 mov r1, r5 7003b6aa: 4630 mov r0, r6 7003b6ac: f000 fbb6 bl 7003be1c <__swsetup_r> 7003b6b0: b170 cbz r0, 7003b6d0 <_vfiprintf_r+0x5c> 7003b6b2: 6e6b ldr r3, [r5, #100] @ 0x64 7003b6b4: 07dc lsls r4, r3, #31 7003b6b6: d504 bpl.n 7003b6c2 <_vfiprintf_r+0x4e> 7003b6b8: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7003b6bc: b01c add sp, #112 @ 0x70 7003b6be: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 7003b6c2: 89ab ldrh r3, [r5, #12] 7003b6c4: 0598 lsls r0, r3, #22 7003b6c6: d4f7 bmi.n 7003b6b8 <_vfiprintf_r+0x44> 7003b6c8: 6da8 ldr r0, [r5, #88] @ 0x58 7003b6ca: f7ff fe81 bl 7003b3d0 <__retarget_lock_release_recursive> 7003b6ce: e7f3 b.n 7003b6b8 <_vfiprintf_r+0x44> 7003b6d0: 2300 movs r3, #0 7003b6d2: 9309 str r3, [sp, #36] @ 0x24 7003b6d4: 2320 movs r3, #32 7003b6d6: f88d 3029 strb.w r3, [sp, #41] @ 0x29 7003b6da: 9703 str r7, [sp, #12] 7003b6dc: 2330 movs r3, #48 @ 0x30 7003b6de: 4f6a ldr r7, [pc, #424] @ (7003b888 <_vfiprintf_r+0x214>) 7003b6e0: f88d 302a strb.w r3, [sp, #42] @ 0x2a 7003b6e4: f04f 0801 mov.w r8, #1 7003b6e8: 4623 mov r3, r4 7003b6ea: 4699 mov r9, r3 7003b6ec: f813 2b01 ldrb.w r2, [r3], #1 7003b6f0: b10a cbz r2, 7003b6f6 <_vfiprintf_r+0x82> 7003b6f2: 2a25 cmp r2, #37 @ 0x25 7003b6f4: d1f9 bne.n 7003b6ea <_vfiprintf_r+0x76> 7003b6f6: ebb9 0a04 subs.w sl, r9, r4 7003b6fa: d00b beq.n 7003b714 <_vfiprintf_r+0xa0> 7003b6fc: 4653 mov r3, sl 7003b6fe: 4622 mov r2, r4 7003b700: 4629 mov r1, r5 7003b702: 4630 mov r0, r6 7003b704: f7ff ffa3 bl 7003b64e <__sfputs_r> 7003b708: 3001 adds r0, #1 7003b70a: f000 80a4 beq.w 7003b856 <_vfiprintf_r+0x1e2> 7003b70e: 9a09 ldr r2, [sp, #36] @ 0x24 7003b710: 4452 add r2, sl 7003b712: 9209 str r2, [sp, #36] @ 0x24 7003b714: f899 3000 ldrb.w r3, [r9] 7003b718: 2b00 cmp r3, #0 7003b71a: f000 809c beq.w 7003b856 <_vfiprintf_r+0x1e2> 7003b71e: 2300 movs r3, #0 7003b720: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff 7003b724: e9cd 2305 strd r2, r3, [sp, #20] 7003b728: f109 0901 add.w r9, r9, #1 7003b72c: 9304 str r3, [sp, #16] 7003b72e: 9307 str r3, [sp, #28] 7003b730: f88d 3053 strb.w r3, [sp, #83] @ 0x53 7003b734: 931a str r3, [sp, #104] @ 0x68 7003b736: 464c mov r4, r9 7003b738: 4853 ldr r0, [pc, #332] @ (7003b888 <_vfiprintf_r+0x214>) 7003b73a: f814 1b01 ldrb.w r1, [r4], #1 7003b73e: 2205 movs r2, #5 7003b740: f7c4 fdd6 bl 700002f0 7003b744: 9b04 ldr r3, [sp, #16] 7003b746: b9d0 cbnz r0, 7003b77e <_vfiprintf_r+0x10a> 7003b748: 06d9 lsls r1, r3, #27 7003b74a: bf44 itt mi 7003b74c: 2220 movmi r2, #32 7003b74e: f88d 2053 strbmi.w r2, [sp, #83] @ 0x53 7003b752: 071a lsls r2, r3, #28 7003b754: bf44 itt mi 7003b756: 222b movmi r2, #43 @ 0x2b 7003b758: f88d 2053 strbmi.w r2, [sp, #83] @ 0x53 7003b75c: f899 2000 ldrb.w r2, [r9] 7003b760: 2a2a cmp r2, #42 @ 0x2a 7003b762: d013 beq.n 7003b78c <_vfiprintf_r+0x118> 7003b764: 9a07 ldr r2, [sp, #28] 7003b766: 464c mov r4, r9 7003b768: 2000 movs r0, #0 7003b76a: f04f 0c0a mov.w ip, #10 7003b76e: 4621 mov r1, r4 7003b770: f811 3b01 ldrb.w r3, [r1], #1 7003b774: 3b30 subs r3, #48 @ 0x30 7003b776: 2b09 cmp r3, #9 7003b778: d949 bls.n 7003b80e <_vfiprintf_r+0x19a> 7003b77a: b968 cbnz r0, 7003b798 <_vfiprintf_r+0x124> 7003b77c: e013 b.n 7003b7a6 <_vfiprintf_r+0x132> 7003b77e: 1bc0 subs r0, r0, r7 7003b780: fa08 f000 lsl.w r0, r8, r0 7003b784: 4318 orrs r0, r3 7003b786: 9004 str r0, [sp, #16] 7003b788: 46a1 mov r9, r4 7003b78a: e7d4 b.n 7003b736 <_vfiprintf_r+0xc2> 7003b78c: 9a03 ldr r2, [sp, #12] 7003b78e: 1d11 adds r1, r2, #4 7003b790: 6812 ldr r2, [r2, #0] 7003b792: 9103 str r1, [sp, #12] 7003b794: 2a00 cmp r2, #0 7003b796: db01 blt.n 7003b79c <_vfiprintf_r+0x128> 7003b798: 9207 str r2, [sp, #28] 7003b79a: e004 b.n 7003b7a6 <_vfiprintf_r+0x132> 7003b79c: 4252 negs r2, r2 7003b79e: f043 0302 orr.w r3, r3, #2 7003b7a2: 9207 str r2, [sp, #28] 7003b7a4: 9304 str r3, [sp, #16] 7003b7a6: 7823 ldrb r3, [r4, #0] 7003b7a8: 2b2e cmp r3, #46 @ 0x2e 7003b7aa: d10a bne.n 7003b7c2 <_vfiprintf_r+0x14e> 7003b7ac: 7863 ldrb r3, [r4, #1] 7003b7ae: 2b2a cmp r3, #42 @ 0x2a 7003b7b0: d132 bne.n 7003b818 <_vfiprintf_r+0x1a4> 7003b7b2: 9b03 ldr r3, [sp, #12] 7003b7b4: 1d1a adds r2, r3, #4 7003b7b6: 681b ldr r3, [r3, #0] 7003b7b8: 9203 str r2, [sp, #12] 7003b7ba: ea43 73e3 orr.w r3, r3, r3, asr #31 7003b7be: 3402 adds r4, #2 7003b7c0: 9305 str r3, [sp, #20] 7003b7c2: f8df 90d4 ldr.w r9, [pc, #212] @ 7003b898 <_vfiprintf_r+0x224> 7003b7c6: 7821 ldrb r1, [r4, #0] 7003b7c8: 2203 movs r2, #3 7003b7ca: 4648 mov r0, r9 7003b7cc: f7c4 fd90 bl 700002f0 7003b7d0: b138 cbz r0, 7003b7e2 <_vfiprintf_r+0x16e> 7003b7d2: 9b04 ldr r3, [sp, #16] 7003b7d4: eba0 0009 sub.w r0, r0, r9 7003b7d8: 2240 movs r2, #64 @ 0x40 7003b7da: 4082 lsls r2, r0 7003b7dc: 4313 orrs r3, r2 7003b7de: 3401 adds r4, #1 7003b7e0: 9304 str r3, [sp, #16] 7003b7e2: f814 1b01 ldrb.w r1, [r4], #1 7003b7e6: 4829 ldr r0, [pc, #164] @ (7003b88c <_vfiprintf_r+0x218>) 7003b7e8: f88d 1028 strb.w r1, [sp, #40] @ 0x28 7003b7ec: 2206 movs r2, #6 7003b7ee: f7c4 fd7f bl 700002f0 7003b7f2: 2800 cmp r0, #0 7003b7f4: d03e beq.n 7003b874 <_vfiprintf_r+0x200> 7003b7f6: 4826 ldr r0, [pc, #152] @ (7003b890 <_vfiprintf_r+0x21c>) 7003b7f8: bb18 cbnz r0, 7003b842 <_vfiprintf_r+0x1ce> 7003b7fa: 9b03 ldr r3, [sp, #12] 7003b7fc: 3307 adds r3, #7 7003b7fe: f023 0307 bic.w r3, r3, #7 7003b802: 3308 adds r3, #8 7003b804: 9303 str r3, [sp, #12] 7003b806: 9b09 ldr r3, [sp, #36] @ 0x24 7003b808: 4403 add r3, r0 7003b80a: 9309 str r3, [sp, #36] @ 0x24 7003b80c: e76c b.n 7003b6e8 <_vfiprintf_r+0x74> 7003b80e: fb0c 3202 mla r2, ip, r2, r3 7003b812: 460c mov r4, r1 7003b814: 2001 movs r0, #1 7003b816: e7aa b.n 7003b76e <_vfiprintf_r+0xfa> 7003b818: 2300 movs r3, #0 7003b81a: 3401 adds r4, #1 7003b81c: 9305 str r3, [sp, #20] 7003b81e: 4619 mov r1, r3 7003b820: f04f 0c0a mov.w ip, #10 7003b824: 4620 mov r0, r4 7003b826: f810 2b01 ldrb.w r2, [r0], #1 7003b82a: 3a30 subs r2, #48 @ 0x30 7003b82c: 2a09 cmp r2, #9 7003b82e: d903 bls.n 7003b838 <_vfiprintf_r+0x1c4> 7003b830: 2b00 cmp r3, #0 7003b832: d0c6 beq.n 7003b7c2 <_vfiprintf_r+0x14e> 7003b834: 9105 str r1, [sp, #20] 7003b836: e7c4 b.n 7003b7c2 <_vfiprintf_r+0x14e> 7003b838: fb0c 2101 mla r1, ip, r1, r2 7003b83c: 4604 mov r4, r0 7003b83e: 2301 movs r3, #1 7003b840: e7f0 b.n 7003b824 <_vfiprintf_r+0x1b0> 7003b842: ab03 add r3, sp, #12 7003b844: 9300 str r3, [sp, #0] 7003b846: 462a mov r2, r5 7003b848: 4b12 ldr r3, [pc, #72] @ (7003b894 <_vfiprintf_r+0x220>) 7003b84a: a904 add r1, sp, #16 7003b84c: 4630 mov r0, r6 7003b84e: f3af 8000 nop.w 7003b852: 1c43 adds r3, r0, #1 7003b854: d1d7 bne.n 7003b806 <_vfiprintf_r+0x192> 7003b856: 6e6b ldr r3, [r5, #100] @ 0x64 7003b858: 07d9 lsls r1, r3, #31 7003b85a: d405 bmi.n 7003b868 <_vfiprintf_r+0x1f4> 7003b85c: 89ab ldrh r3, [r5, #12] 7003b85e: 059a lsls r2, r3, #22 7003b860: d402 bmi.n 7003b868 <_vfiprintf_r+0x1f4> 7003b862: 6da8 ldr r0, [r5, #88] @ 0x58 7003b864: f7ff fdb4 bl 7003b3d0 <__retarget_lock_release_recursive> 7003b868: 89ab ldrh r3, [r5, #12] 7003b86a: 065b lsls r3, r3, #25 7003b86c: f53f af24 bmi.w 7003b6b8 <_vfiprintf_r+0x44> 7003b870: 9809 ldr r0, [sp, #36] @ 0x24 7003b872: e723 b.n 7003b6bc <_vfiprintf_r+0x48> 7003b874: ab03 add r3, sp, #12 7003b876: 9300 str r3, [sp, #0] 7003b878: 462a mov r2, r5 7003b87a: 4b06 ldr r3, [pc, #24] @ (7003b894 <_vfiprintf_r+0x220>) 7003b87c: a904 add r1, sp, #16 7003b87e: 4630 mov r0, r6 7003b880: f000 f87a bl 7003b978 <_printf_i> 7003b884: e7e5 b.n 7003b852 <_vfiprintf_r+0x1de> 7003b886: bf00 nop 7003b888: 7003eaed .word 0x7003eaed 7003b88c: 7003eaf7 .word 0x7003eaf7 7003b890: 00000000 .word 0x00000000 7003b894: 7003b64f .word 0x7003b64f 7003b898: 7003eaf3 .word 0x7003eaf3 7003b89c <_printf_common>: 7003b89c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 7003b8a0: 4616 mov r6, r2 7003b8a2: 4698 mov r8, r3 7003b8a4: 688a ldr r2, [r1, #8] 7003b8a6: 690b ldr r3, [r1, #16] 7003b8a8: f8dd 9020 ldr.w r9, [sp, #32] 7003b8ac: 4293 cmp r3, r2 7003b8ae: bfb8 it lt 7003b8b0: 4613 movlt r3, r2 7003b8b2: 6033 str r3, [r6, #0] 7003b8b4: f891 2043 ldrb.w r2, [r1, #67] @ 0x43 7003b8b8: 4607 mov r7, r0 7003b8ba: 460c mov r4, r1 7003b8bc: b10a cbz r2, 7003b8c2 <_printf_common+0x26> 7003b8be: 3301 adds r3, #1 7003b8c0: 6033 str r3, [r6, #0] 7003b8c2: 6823 ldr r3, [r4, #0] 7003b8c4: 0699 lsls r1, r3, #26 7003b8c6: bf42 ittt mi 7003b8c8: 6833 ldrmi r3, [r6, #0] 7003b8ca: 3302 addmi r3, #2 7003b8cc: 6033 strmi r3, [r6, #0] 7003b8ce: 6825 ldr r5, [r4, #0] 7003b8d0: f015 0506 ands.w r5, r5, #6 7003b8d4: d106 bne.n 7003b8e4 <_printf_common+0x48> 7003b8d6: f104 0a19 add.w sl, r4, #25 7003b8da: 68e3 ldr r3, [r4, #12] 7003b8dc: 6832 ldr r2, [r6, #0] 7003b8de: 1a9b subs r3, r3, r2 7003b8e0: 42ab cmp r3, r5 7003b8e2: dc26 bgt.n 7003b932 <_printf_common+0x96> 7003b8e4: f894 3043 ldrb.w r3, [r4, #67] @ 0x43 7003b8e8: 6822 ldr r2, [r4, #0] 7003b8ea: 3b00 subs r3, #0 7003b8ec: bf18 it ne 7003b8ee: 2301 movne r3, #1 7003b8f0: 0692 lsls r2, r2, #26 7003b8f2: d42b bmi.n 7003b94c <_printf_common+0xb0> 7003b8f4: f104 0243 add.w r2, r4, #67 @ 0x43 7003b8f8: 4641 mov r1, r8 7003b8fa: 4638 mov r0, r7 7003b8fc: 47c8 blx r9 7003b8fe: 3001 adds r0, #1 7003b900: d01e beq.n 7003b940 <_printf_common+0xa4> 7003b902: 6823 ldr r3, [r4, #0] 7003b904: 6922 ldr r2, [r4, #16] 7003b906: f003 0306 and.w r3, r3, #6 7003b90a: 2b04 cmp r3, #4 7003b90c: bf02 ittt eq 7003b90e: 68e5 ldreq r5, [r4, #12] 7003b910: 6833 ldreq r3, [r6, #0] 7003b912: 1aed subeq r5, r5, r3 7003b914: 68a3 ldr r3, [r4, #8] 7003b916: bf0c ite eq 7003b918: ea25 75e5 biceq.w r5, r5, r5, asr #31 7003b91c: 2500 movne r5, #0 7003b91e: 4293 cmp r3, r2 7003b920: bfc4 itt gt 7003b922: 1a9b subgt r3, r3, r2 7003b924: 18ed addgt r5, r5, r3 7003b926: 2600 movs r6, #0 7003b928: 341a adds r4, #26 7003b92a: 42b5 cmp r5, r6 7003b92c: d11a bne.n 7003b964 <_printf_common+0xc8> 7003b92e: 2000 movs r0, #0 7003b930: e008 b.n 7003b944 <_printf_common+0xa8> 7003b932: 2301 movs r3, #1 7003b934: 4652 mov r2, sl 7003b936: 4641 mov r1, r8 7003b938: 4638 mov r0, r7 7003b93a: 47c8 blx r9 7003b93c: 3001 adds r0, #1 7003b93e: d103 bne.n 7003b948 <_printf_common+0xac> 7003b940: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7003b944: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 7003b948: 3501 adds r5, #1 7003b94a: e7c6 b.n 7003b8da <_printf_common+0x3e> 7003b94c: 18e1 adds r1, r4, r3 7003b94e: 1c5a adds r2, r3, #1 7003b950: 2030 movs r0, #48 @ 0x30 7003b952: f881 0043 strb.w r0, [r1, #67] @ 0x43 7003b956: 4422 add r2, r4 7003b958: f894 1045 ldrb.w r1, [r4, #69] @ 0x45 7003b95c: f882 1043 strb.w r1, [r2, #67] @ 0x43 7003b960: 3302 adds r3, #2 7003b962: e7c7 b.n 7003b8f4 <_printf_common+0x58> 7003b964: 2301 movs r3, #1 7003b966: 4622 mov r2, r4 7003b968: 4641 mov r1, r8 7003b96a: 4638 mov r0, r7 7003b96c: 47c8 blx r9 7003b96e: 3001 adds r0, #1 7003b970: d0e6 beq.n 7003b940 <_printf_common+0xa4> 7003b972: 3601 adds r6, #1 7003b974: e7d9 b.n 7003b92a <_printf_common+0x8e> ... 7003b978 <_printf_i>: 7003b978: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 7003b97c: 7e0d ldrb r5, [r1, #24] 7003b97e: b085 sub sp, #20 7003b980: 2d78 cmp r5, #120 @ 0x78 7003b982: 4690 mov r8, r2 7003b984: 9e0c ldr r6, [sp, #48] @ 0x30 7003b986: 4607 mov r7, r0 7003b988: 460c mov r4, r1 7003b98a: 4699 mov r9, r3 7003b98c: f101 0243 add.w r2, r1, #67 @ 0x43 7003b990: d807 bhi.n 7003b9a2 <_printf_i+0x2a> 7003b992: 2d62 cmp r5, #98 @ 0x62 7003b994: d80a bhi.n 7003b9ac <_printf_i+0x34> 7003b996: 2d00 cmp r5, #0 7003b998: f000 80d7 beq.w 7003bb4a <_printf_i+0x1d2> 7003b99c: 2d58 cmp r5, #88 @ 0x58 7003b99e: f000 80bc beq.w 7003bb1a <_printf_i+0x1a2> 7003b9a2: f104 0642 add.w r6, r4, #66 @ 0x42 7003b9a6: f884 5042 strb.w r5, [r4, #66] @ 0x42 7003b9aa: e03b b.n 7003ba24 <_printf_i+0xac> 7003b9ac: f1a5 0363 sub.w r3, r5, #99 @ 0x63 7003b9b0: 2b15 cmp r3, #21 7003b9b2: d8f6 bhi.n 7003b9a2 <_printf_i+0x2a> 7003b9b4: a101 add r1, pc, #4 @ (adr r1, 7003b9bc <_printf_i+0x44>) 7003b9b6: f851 f023 ldr.w pc, [r1, r3, lsl #2] 7003b9ba: bf00 nop 7003b9bc: 7003ba15 .word 0x7003ba15 7003b9c0: 7003ba29 .word 0x7003ba29 7003b9c4: 7003b9a3 .word 0x7003b9a3 7003b9c8: 7003b9a3 .word 0x7003b9a3 7003b9cc: 7003b9a3 .word 0x7003b9a3 7003b9d0: 7003b9a3 .word 0x7003b9a3 7003b9d4: 7003ba29 .word 0x7003ba29 7003b9d8: 7003b9a3 .word 0x7003b9a3 7003b9dc: 7003b9a3 .word 0x7003b9a3 7003b9e0: 7003b9a3 .word 0x7003b9a3 7003b9e4: 7003b9a3 .word 0x7003b9a3 7003b9e8: 7003bb31 .word 0x7003bb31 7003b9ec: 7003ba53 .word 0x7003ba53 7003b9f0: 7003bae3 .word 0x7003bae3 7003b9f4: 7003b9a3 .word 0x7003b9a3 7003b9f8: 7003b9a3 .word 0x7003b9a3 7003b9fc: 7003bb53 .word 0x7003bb53 7003ba00: 7003b9a3 .word 0x7003b9a3 7003ba04: 7003ba53 .word 0x7003ba53 7003ba08: 7003b9a3 .word 0x7003b9a3 7003ba0c: 7003b9a3 .word 0x7003b9a3 7003ba10: 7003baeb .word 0x7003baeb 7003ba14: 6833 ldr r3, [r6, #0] 7003ba16: 1d1a adds r2, r3, #4 7003ba18: 681b ldr r3, [r3, #0] 7003ba1a: 6032 str r2, [r6, #0] 7003ba1c: f104 0642 add.w r6, r4, #66 @ 0x42 7003ba20: f884 3042 strb.w r3, [r4, #66] @ 0x42 7003ba24: 2301 movs r3, #1 7003ba26: e0a1 b.n 7003bb6c <_printf_i+0x1f4> 7003ba28: 6833 ldr r3, [r6, #0] 7003ba2a: 6820 ldr r0, [r4, #0] 7003ba2c: 1d19 adds r1, r3, #4 7003ba2e: 6031 str r1, [r6, #0] 7003ba30: 0606 lsls r6, r0, #24 7003ba32: d501 bpl.n 7003ba38 <_printf_i+0xc0> 7003ba34: 681d ldr r5, [r3, #0] 7003ba36: e003 b.n 7003ba40 <_printf_i+0xc8> 7003ba38: 0645 lsls r5, r0, #25 7003ba3a: d5fb bpl.n 7003ba34 <_printf_i+0xbc> 7003ba3c: f9b3 5000 ldrsh.w r5, [r3] 7003ba40: 2d00 cmp r5, #0 7003ba42: da03 bge.n 7003ba4c <_printf_i+0xd4> 7003ba44: 232d movs r3, #45 @ 0x2d 7003ba46: 426d negs r5, r5 7003ba48: f884 3043 strb.w r3, [r4, #67] @ 0x43 7003ba4c: 485b ldr r0, [pc, #364] @ (7003bbbc <_printf_i+0x244>) 7003ba4e: 230a movs r3, #10 7003ba50: e011 b.n 7003ba76 <_printf_i+0xfe> 7003ba52: 6821 ldr r1, [r4, #0] 7003ba54: 6833 ldr r3, [r6, #0] 7003ba56: 0608 lsls r0, r1, #24 7003ba58: f853 5b04 ldr.w r5, [r3], #4 7003ba5c: d402 bmi.n 7003ba64 <_printf_i+0xec> 7003ba5e: 0649 lsls r1, r1, #25 7003ba60: bf48 it mi 7003ba62: b2ad uxthmi r5, r5 7003ba64: 6033 str r3, [r6, #0] 7003ba66: 7e23 ldrb r3, [r4, #24] 7003ba68: 4854 ldr r0, [pc, #336] @ (7003bbbc <_printf_i+0x244>) 7003ba6a: 2b6f cmp r3, #111 @ 0x6f 7003ba6c: d15c bne.n 7003bb28 <_printf_i+0x1b0> 7003ba6e: 2308 movs r3, #8 7003ba70: 2100 movs r1, #0 7003ba72: f884 1043 strb.w r1, [r4, #67] @ 0x43 7003ba76: 6866 ldr r6, [r4, #4] 7003ba78: 60a6 str r6, [r4, #8] 7003ba7a: 2e00 cmp r6, #0 7003ba7c: db05 blt.n 7003ba8a <_printf_i+0x112> 7003ba7e: 6821 ldr r1, [r4, #0] 7003ba80: 432e orrs r6, r5 7003ba82: f021 0104 bic.w r1, r1, #4 7003ba86: 6021 str r1, [r4, #0] 7003ba88: d050 beq.n 7003bb2c <_printf_i+0x1b4> 7003ba8a: 4616 mov r6, r2 7003ba8c: fbb5 f1f3 udiv r1, r5, r3 7003ba90: fb03 5c11 mls ip, r3, r1, r5 7003ba94: f810 c00c ldrb.w ip, [r0, ip] 7003ba98: f806 cd01 strb.w ip, [r6, #-1]! 7003ba9c: 46ac mov ip, r5 7003ba9e: 4563 cmp r3, ip 7003baa0: 460d mov r5, r1 7003baa2: d9f3 bls.n 7003ba8c <_printf_i+0x114> 7003baa4: 2b08 cmp r3, #8 7003baa6: d10b bne.n 7003bac0 <_printf_i+0x148> 7003baa8: 6823 ldr r3, [r4, #0] 7003baaa: 07db lsls r3, r3, #31 7003baac: d508 bpl.n 7003bac0 <_printf_i+0x148> 7003baae: 6923 ldr r3, [r4, #16] 7003bab0: 6861 ldr r1, [r4, #4] 7003bab2: 4299 cmp r1, r3 7003bab4: bfde ittt le 7003bab6: 2330 movle r3, #48 @ 0x30 7003bab8: f806 3c01 strble.w r3, [r6, #-1] 7003babc: f106 36ff addle.w r6, r6, #4294967295 @ 0xffffffff 7003bac0: 1b92 subs r2, r2, r6 7003bac2: 6122 str r2, [r4, #16] 7003bac4: f8cd 9000 str.w r9, [sp] 7003bac8: 4643 mov r3, r8 7003baca: aa03 add r2, sp, #12 7003bacc: 4621 mov r1, r4 7003bace: 4638 mov r0, r7 7003bad0: f7ff fee4 bl 7003b89c <_printf_common> 7003bad4: 3001 adds r0, #1 7003bad6: d14e bne.n 7003bb76 <_printf_i+0x1fe> 7003bad8: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7003badc: b005 add sp, #20 7003bade: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 7003bae2: 6823 ldr r3, [r4, #0] 7003bae4: f043 0320 orr.w r3, r3, #32 7003bae8: 6023 str r3, [r4, #0] 7003baea: 4835 ldr r0, [pc, #212] @ (7003bbc0 <_printf_i+0x248>) 7003baec: 2578 movs r5, #120 @ 0x78 7003baee: f884 5045 strb.w r5, [r4, #69] @ 0x45 7003baf2: 6823 ldr r3, [r4, #0] 7003baf4: 6831 ldr r1, [r6, #0] 7003baf6: f013 0f80 tst.w r3, #128 @ 0x80 7003bafa: f851 5b04 ldr.w r5, [r1], #4 7003bafe: d103 bne.n 7003bb08 <_printf_i+0x190> 7003bb00: f013 0f40 tst.w r3, #64 @ 0x40 7003bb04: bf18 it ne 7003bb06: b2ad uxthne r5, r5 7003bb08: 6031 str r1, [r6, #0] 7003bb0a: 07d9 lsls r1, r3, #31 7003bb0c: bf44 itt mi 7003bb0e: f043 0320 orrmi.w r3, r3, #32 7003bb12: 6023 strmi r3, [r4, #0] 7003bb14: b11d cbz r5, 7003bb1e <_printf_i+0x1a6> 7003bb16: 2310 movs r3, #16 7003bb18: e7aa b.n 7003ba70 <_printf_i+0xf8> 7003bb1a: 4828 ldr r0, [pc, #160] @ (7003bbbc <_printf_i+0x244>) 7003bb1c: e7e7 b.n 7003baee <_printf_i+0x176> 7003bb1e: 6823 ldr r3, [r4, #0] 7003bb20: f023 0320 bic.w r3, r3, #32 7003bb24: 6023 str r3, [r4, #0] 7003bb26: e7f6 b.n 7003bb16 <_printf_i+0x19e> 7003bb28: 230a movs r3, #10 7003bb2a: e7a1 b.n 7003ba70 <_printf_i+0xf8> 7003bb2c: 4616 mov r6, r2 7003bb2e: e7b9 b.n 7003baa4 <_printf_i+0x12c> 7003bb30: 6833 ldr r3, [r6, #0] 7003bb32: 6825 ldr r5, [r4, #0] 7003bb34: 6961 ldr r1, [r4, #20] 7003bb36: 1d18 adds r0, r3, #4 7003bb38: 6030 str r0, [r6, #0] 7003bb3a: 062e lsls r6, r5, #24 7003bb3c: 681b ldr r3, [r3, #0] 7003bb3e: d501 bpl.n 7003bb44 <_printf_i+0x1cc> 7003bb40: 6019 str r1, [r3, #0] 7003bb42: e002 b.n 7003bb4a <_printf_i+0x1d2> 7003bb44: 0668 lsls r0, r5, #25 7003bb46: d5fb bpl.n 7003bb40 <_printf_i+0x1c8> 7003bb48: 8019 strh r1, [r3, #0] 7003bb4a: 2300 movs r3, #0 7003bb4c: 6123 str r3, [r4, #16] 7003bb4e: 4616 mov r6, r2 7003bb50: e7b8 b.n 7003bac4 <_printf_i+0x14c> 7003bb52: 6833 ldr r3, [r6, #0] 7003bb54: 1d1a adds r2, r3, #4 7003bb56: 6032 str r2, [r6, #0] 7003bb58: 681e ldr r6, [r3, #0] 7003bb5a: 6862 ldr r2, [r4, #4] 7003bb5c: 2100 movs r1, #0 7003bb5e: 4630 mov r0, r6 7003bb60: f7c4 fbc6 bl 700002f0 7003bb64: b108 cbz r0, 7003bb6a <_printf_i+0x1f2> 7003bb66: 1b80 subs r0, r0, r6 7003bb68: 6060 str r0, [r4, #4] 7003bb6a: 6863 ldr r3, [r4, #4] 7003bb6c: 6123 str r3, [r4, #16] 7003bb6e: 2300 movs r3, #0 7003bb70: f884 3043 strb.w r3, [r4, #67] @ 0x43 7003bb74: e7a6 b.n 7003bac4 <_printf_i+0x14c> 7003bb76: 6923 ldr r3, [r4, #16] 7003bb78: 4632 mov r2, r6 7003bb7a: 4641 mov r1, r8 7003bb7c: 4638 mov r0, r7 7003bb7e: 47c8 blx r9 7003bb80: 3001 adds r0, #1 7003bb82: d0a9 beq.n 7003bad8 <_printf_i+0x160> 7003bb84: 6823 ldr r3, [r4, #0] 7003bb86: 079b lsls r3, r3, #30 7003bb88: d413 bmi.n 7003bbb2 <_printf_i+0x23a> 7003bb8a: 68e0 ldr r0, [r4, #12] 7003bb8c: 9b03 ldr r3, [sp, #12] 7003bb8e: 4298 cmp r0, r3 7003bb90: bfb8 it lt 7003bb92: 4618 movlt r0, r3 7003bb94: e7a2 b.n 7003badc <_printf_i+0x164> 7003bb96: 2301 movs r3, #1 7003bb98: 4632 mov r2, r6 7003bb9a: 4641 mov r1, r8 7003bb9c: 4638 mov r0, r7 7003bb9e: 47c8 blx r9 7003bba0: 3001 adds r0, #1 7003bba2: d099 beq.n 7003bad8 <_printf_i+0x160> 7003bba4: 3501 adds r5, #1 7003bba6: 68e3 ldr r3, [r4, #12] 7003bba8: 9903 ldr r1, [sp, #12] 7003bbaa: 1a5b subs r3, r3, r1 7003bbac: 42ab cmp r3, r5 7003bbae: dcf2 bgt.n 7003bb96 <_printf_i+0x21e> 7003bbb0: e7eb b.n 7003bb8a <_printf_i+0x212> 7003bbb2: 2500 movs r5, #0 7003bbb4: f104 0619 add.w r6, r4, #25 7003bbb8: e7f5 b.n 7003bba6 <_printf_i+0x22e> 7003bbba: bf00 nop 7003bbbc: 7003eafe .word 0x7003eafe 7003bbc0: 7003eb0f .word 0x7003eb0f 7003bbc4 <__sflush_r>: 7003bbc4: f9b1 200c ldrsh.w r2, [r1, #12] 7003bbc8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 7003bbcc: 0716 lsls r6, r2, #28 7003bbce: 4605 mov r5, r0 7003bbd0: 460c mov r4, r1 7003bbd2: d451 bmi.n 7003bc78 <__sflush_r+0xb4> 7003bbd4: 684b ldr r3, [r1, #4] 7003bbd6: 2b00 cmp r3, #0 7003bbd8: dc02 bgt.n 7003bbe0 <__sflush_r+0x1c> 7003bbda: 6c0b ldr r3, [r1, #64] @ 0x40 7003bbdc: 2b00 cmp r3, #0 7003bbde: dd49 ble.n 7003bc74 <__sflush_r+0xb0> 7003bbe0: 6ae6 ldr r6, [r4, #44] @ 0x2c 7003bbe2: 2e00 cmp r6, #0 7003bbe4: d046 beq.n 7003bc74 <__sflush_r+0xb0> 7003bbe6: 2300 movs r3, #0 7003bbe8: f412 5280 ands.w r2, r2, #4096 @ 0x1000 7003bbec: 682f ldr r7, [r5, #0] 7003bbee: 602b str r3, [r5, #0] 7003bbf0: d031 beq.n 7003bc56 <__sflush_r+0x92> 7003bbf2: 6d62 ldr r2, [r4, #84] @ 0x54 7003bbf4: 89a3 ldrh r3, [r4, #12] 7003bbf6: 0759 lsls r1, r3, #29 7003bbf8: d505 bpl.n 7003bc06 <__sflush_r+0x42> 7003bbfa: 6863 ldr r3, [r4, #4] 7003bbfc: 1ad2 subs r2, r2, r3 7003bbfe: 6b63 ldr r3, [r4, #52] @ 0x34 7003bc00: b10b cbz r3, 7003bc06 <__sflush_r+0x42> 7003bc02: 6c23 ldr r3, [r4, #64] @ 0x40 7003bc04: 1ad2 subs r2, r2, r3 7003bc06: 2300 movs r3, #0 7003bc08: 6ae6 ldr r6, [r4, #44] @ 0x2c 7003bc0a: 6a21 ldr r1, [r4, #32] 7003bc0c: 4628 mov r0, r5 7003bc0e: 47b0 blx r6 7003bc10: 1c42 adds r2, r0, #1 7003bc12: f9b4 300c ldrsh.w r3, [r4, #12] 7003bc16: d106 bne.n 7003bc26 <__sflush_r+0x62> 7003bc18: 6829 ldr r1, [r5, #0] 7003bc1a: 291d cmp r1, #29 7003bc1c: d846 bhi.n 7003bcac <__sflush_r+0xe8> 7003bc1e: 4a29 ldr r2, [pc, #164] @ (7003bcc4 <__sflush_r+0x100>) 7003bc20: 40ca lsrs r2, r1 7003bc22: 07d6 lsls r6, r2, #31 7003bc24: d542 bpl.n 7003bcac <__sflush_r+0xe8> 7003bc26: 2200 movs r2, #0 7003bc28: 6062 str r2, [r4, #4] 7003bc2a: 04d9 lsls r1, r3, #19 7003bc2c: 6922 ldr r2, [r4, #16] 7003bc2e: 6022 str r2, [r4, #0] 7003bc30: d504 bpl.n 7003bc3c <__sflush_r+0x78> 7003bc32: 1c42 adds r2, r0, #1 7003bc34: d101 bne.n 7003bc3a <__sflush_r+0x76> 7003bc36: 682b ldr r3, [r5, #0] 7003bc38: b903 cbnz r3, 7003bc3c <__sflush_r+0x78> 7003bc3a: 6560 str r0, [r4, #84] @ 0x54 7003bc3c: 6b61 ldr r1, [r4, #52] @ 0x34 7003bc3e: 602f str r7, [r5, #0] 7003bc40: b1c1 cbz r1, 7003bc74 <__sflush_r+0xb0> 7003bc42: f104 0344 add.w r3, r4, #68 @ 0x44 7003bc46: 4299 cmp r1, r3 7003bc48: d002 beq.n 7003bc50 <__sflush_r+0x8c> 7003bc4a: 4628 mov r0, r5 7003bc4c: f7ff fc9e bl 7003b58c <_free_r> 7003bc50: 2300 movs r3, #0 7003bc52: 6363 str r3, [r4, #52] @ 0x34 7003bc54: e00e b.n 7003bc74 <__sflush_r+0xb0> 7003bc56: 6a21 ldr r1, [r4, #32] 7003bc58: 2301 movs r3, #1 7003bc5a: 4628 mov r0, r5 7003bc5c: 47b0 blx r6 7003bc5e: 4602 mov r2, r0 7003bc60: 1c50 adds r0, r2, #1 7003bc62: d1c7 bne.n 7003bbf4 <__sflush_r+0x30> 7003bc64: 682b ldr r3, [r5, #0] 7003bc66: 2b00 cmp r3, #0 7003bc68: d0c4 beq.n 7003bbf4 <__sflush_r+0x30> 7003bc6a: 2b1d cmp r3, #29 7003bc6c: d001 beq.n 7003bc72 <__sflush_r+0xae> 7003bc6e: 2b16 cmp r3, #22 7003bc70: d11a bne.n 7003bca8 <__sflush_r+0xe4> 7003bc72: 602f str r7, [r5, #0] 7003bc74: 2000 movs r0, #0 7003bc76: e01e b.n 7003bcb6 <__sflush_r+0xf2> 7003bc78: 690f ldr r7, [r1, #16] 7003bc7a: 2f00 cmp r7, #0 7003bc7c: d0fa beq.n 7003bc74 <__sflush_r+0xb0> 7003bc7e: 0793 lsls r3, r2, #30 7003bc80: 680e ldr r6, [r1, #0] 7003bc82: bf08 it eq 7003bc84: 694b ldreq r3, [r1, #20] 7003bc86: 600f str r7, [r1, #0] 7003bc88: bf18 it ne 7003bc8a: 2300 movne r3, #0 7003bc8c: eba6 0807 sub.w r8, r6, r7 7003bc90: 608b str r3, [r1, #8] 7003bc92: f1b8 0f00 cmp.w r8, #0 7003bc96: dded ble.n 7003bc74 <__sflush_r+0xb0> 7003bc98: 6a21 ldr r1, [r4, #32] 7003bc9a: 6aa6 ldr r6, [r4, #40] @ 0x28 7003bc9c: 4643 mov r3, r8 7003bc9e: 463a mov r2, r7 7003bca0: 4628 mov r0, r5 7003bca2: 47b0 blx r6 7003bca4: 2800 cmp r0, #0 7003bca6: dc08 bgt.n 7003bcba <__sflush_r+0xf6> 7003bca8: f9b4 300c ldrsh.w r3, [r4, #12] 7003bcac: f043 0340 orr.w r3, r3, #64 @ 0x40 7003bcb0: 81a3 strh r3, [r4, #12] 7003bcb2: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7003bcb6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 7003bcba: 4407 add r7, r0 7003bcbc: eba8 0800 sub.w r8, r8, r0 7003bcc0: e7e7 b.n 7003bc92 <__sflush_r+0xce> 7003bcc2: bf00 nop 7003bcc4: 20400001 .word 0x20400001 7003bcc8 <_fflush_r>: 7003bcc8: b538 push {r3, r4, r5, lr} 7003bcca: 690b ldr r3, [r1, #16] 7003bccc: 4605 mov r5, r0 7003bcce: 460c mov r4, r1 7003bcd0: b913 cbnz r3, 7003bcd8 <_fflush_r+0x10> 7003bcd2: 2500 movs r5, #0 7003bcd4: 4628 mov r0, r5 7003bcd6: bd38 pop {r3, r4, r5, pc} 7003bcd8: b118 cbz r0, 7003bce2 <_fflush_r+0x1a> 7003bcda: 6a03 ldr r3, [r0, #32] 7003bcdc: b90b cbnz r3, 7003bce2 <_fflush_r+0x1a> 7003bcde: f7ff fad9 bl 7003b294 <__sinit> 7003bce2: f9b4 300c ldrsh.w r3, [r4, #12] 7003bce6: 2b00 cmp r3, #0 7003bce8: d0f3 beq.n 7003bcd2 <_fflush_r+0xa> 7003bcea: 6e62 ldr r2, [r4, #100] @ 0x64 7003bcec: 07d0 lsls r0, r2, #31 7003bcee: d404 bmi.n 7003bcfa <_fflush_r+0x32> 7003bcf0: 0599 lsls r1, r3, #22 7003bcf2: d402 bmi.n 7003bcfa <_fflush_r+0x32> 7003bcf4: 6da0 ldr r0, [r4, #88] @ 0x58 7003bcf6: f7ff fb6a bl 7003b3ce <__retarget_lock_acquire_recursive> 7003bcfa: 4628 mov r0, r5 7003bcfc: 4621 mov r1, r4 7003bcfe: f7ff ff61 bl 7003bbc4 <__sflush_r> 7003bd02: 6e63 ldr r3, [r4, #100] @ 0x64 7003bd04: 07da lsls r2, r3, #31 7003bd06: 4605 mov r5, r0 7003bd08: d4e4 bmi.n 7003bcd4 <_fflush_r+0xc> 7003bd0a: 89a3 ldrh r3, [r4, #12] 7003bd0c: 059b lsls r3, r3, #22 7003bd0e: d4e1 bmi.n 7003bcd4 <_fflush_r+0xc> 7003bd10: 6da0 ldr r0, [r4, #88] @ 0x58 7003bd12: f7ff fb5d bl 7003b3d0 <__retarget_lock_release_recursive> 7003bd16: e7dd b.n 7003bcd4 <_fflush_r+0xc> 7003bd18 <__sread>: 7003bd18: b510 push {r4, lr} 7003bd1a: 460c mov r4, r1 7003bd1c: f9b1 100e ldrsh.w r1, [r1, #14] 7003bd20: f000 f980 bl 7003c024 <_read_r> 7003bd24: 2800 cmp r0, #0 7003bd26: bfab itete ge 7003bd28: 6d63 ldrge r3, [r4, #84] @ 0x54 7003bd2a: 89a3 ldrhlt r3, [r4, #12] 7003bd2c: 181b addge r3, r3, r0 7003bd2e: f423 5380 biclt.w r3, r3, #4096 @ 0x1000 7003bd32: bfac ite ge 7003bd34: 6563 strge r3, [r4, #84] @ 0x54 7003bd36: 81a3 strhlt r3, [r4, #12] 7003bd38: bd10 pop {r4, pc} 7003bd3a <__swrite>: 7003bd3a: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 7003bd3e: 461f mov r7, r3 7003bd40: 898b ldrh r3, [r1, #12] 7003bd42: 05db lsls r3, r3, #23 7003bd44: 4605 mov r5, r0 7003bd46: 460c mov r4, r1 7003bd48: 4616 mov r6, r2 7003bd4a: d505 bpl.n 7003bd58 <__swrite+0x1e> 7003bd4c: f9b1 100e ldrsh.w r1, [r1, #14] 7003bd50: 2302 movs r3, #2 7003bd52: 2200 movs r2, #0 7003bd54: f000 f954 bl 7003c000 <_lseek_r> 7003bd58: 89a3 ldrh r3, [r4, #12] 7003bd5a: f9b4 100e ldrsh.w r1, [r4, #14] 7003bd5e: f423 5380 bic.w r3, r3, #4096 @ 0x1000 7003bd62: 81a3 strh r3, [r4, #12] 7003bd64: 4632 mov r2, r6 7003bd66: 463b mov r3, r7 7003bd68: 4628 mov r0, r5 7003bd6a: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} 7003bd6e: f000 b97f b.w 7003c070 <_write_r> 7003bd72 <__sseek>: 7003bd72: b510 push {r4, lr} 7003bd74: 460c mov r4, r1 7003bd76: f9b1 100e ldrsh.w r1, [r1, #14] 7003bd7a: f000 f941 bl 7003c000 <_lseek_r> 7003bd7e: f9b4 300c ldrsh.w r3, [r4, #12] 7003bd82: 1c42 adds r2, r0, #1 7003bd84: bf0b itete eq 7003bd86: f423 5380 biceq.w r3, r3, #4096 @ 0x1000 7003bd8a: f443 5380 orrne.w r3, r3, #4096 @ 0x1000 7003bd8e: 81a3 strheq r3, [r4, #12] 7003bd90: 81a3 strhne r3, [r4, #12] 7003bd92: bf18 it ne 7003bd94: 6560 strne r0, [r4, #84] @ 0x54 7003bd96: bd10 pop {r4, pc} 7003bd98 <__sclose>: 7003bd98: f9b1 100e ldrsh.w r1, [r1, #14] 7003bd9c: f000 b97a b.w 7003c094 <_close_r> 7003bda0 <__swbuf_r>: 7003bda0: b5f8 push {r3, r4, r5, r6, r7, lr} 7003bda2: 460e mov r6, r1 7003bda4: 4614 mov r4, r2 7003bda6: 4605 mov r5, r0 7003bda8: b118 cbz r0, 7003bdb2 <__swbuf_r+0x12> 7003bdaa: 6a03 ldr r3, [r0, #32] 7003bdac: b90b cbnz r3, 7003bdb2 <__swbuf_r+0x12> 7003bdae: f7ff fa71 bl 7003b294 <__sinit> 7003bdb2: 69a3 ldr r3, [r4, #24] 7003bdb4: 60a3 str r3, [r4, #8] 7003bdb6: 89a3 ldrh r3, [r4, #12] 7003bdb8: 071a lsls r2, r3, #28 7003bdba: d501 bpl.n 7003bdc0 <__swbuf_r+0x20> 7003bdbc: 6923 ldr r3, [r4, #16] 7003bdbe: b943 cbnz r3, 7003bdd2 <__swbuf_r+0x32> 7003bdc0: 4621 mov r1, r4 7003bdc2: 4628 mov r0, r5 7003bdc4: f000 f82a bl 7003be1c <__swsetup_r> 7003bdc8: b118 cbz r0, 7003bdd2 <__swbuf_r+0x32> 7003bdca: f04f 37ff mov.w r7, #4294967295 @ 0xffffffff 7003bdce: 4638 mov r0, r7 7003bdd0: bdf8 pop {r3, r4, r5, r6, r7, pc} 7003bdd2: 6823 ldr r3, [r4, #0] 7003bdd4: 6922 ldr r2, [r4, #16] 7003bdd6: 1a98 subs r0, r3, r2 7003bdd8: 6963 ldr r3, [r4, #20] 7003bdda: b2f6 uxtb r6, r6 7003bddc: 4283 cmp r3, r0 7003bdde: 4637 mov r7, r6 7003bde0: dc05 bgt.n 7003bdee <__swbuf_r+0x4e> 7003bde2: 4621 mov r1, r4 7003bde4: 4628 mov r0, r5 7003bde6: f7ff ff6f bl 7003bcc8 <_fflush_r> 7003bdea: 2800 cmp r0, #0 7003bdec: d1ed bne.n 7003bdca <__swbuf_r+0x2a> 7003bdee: 68a3 ldr r3, [r4, #8] 7003bdf0: 3b01 subs r3, #1 7003bdf2: 60a3 str r3, [r4, #8] 7003bdf4: 6823 ldr r3, [r4, #0] 7003bdf6: 1c5a adds r2, r3, #1 7003bdf8: 6022 str r2, [r4, #0] 7003bdfa: 701e strb r6, [r3, #0] 7003bdfc: 6962 ldr r2, [r4, #20] 7003bdfe: 1c43 adds r3, r0, #1 7003be00: 429a cmp r2, r3 7003be02: d004 beq.n 7003be0e <__swbuf_r+0x6e> 7003be04: 89a3 ldrh r3, [r4, #12] 7003be06: 07db lsls r3, r3, #31 7003be08: d5e1 bpl.n 7003bdce <__swbuf_r+0x2e> 7003be0a: 2e0a cmp r6, #10 7003be0c: d1df bne.n 7003bdce <__swbuf_r+0x2e> 7003be0e: 4621 mov r1, r4 7003be10: 4628 mov r0, r5 7003be12: f7ff ff59 bl 7003bcc8 <_fflush_r> 7003be16: 2800 cmp r0, #0 7003be18: d0d9 beq.n 7003bdce <__swbuf_r+0x2e> 7003be1a: e7d6 b.n 7003bdca <__swbuf_r+0x2a> 7003be1c <__swsetup_r>: 7003be1c: b538 push {r3, r4, r5, lr} 7003be1e: 4b28 ldr r3, [pc, #160] @ (7003bec0 <__swsetup_r+0xa4>) 7003be20: 4605 mov r5, r0 7003be22: 6818 ldr r0, [r3, #0] 7003be24: 460c mov r4, r1 7003be26: b118 cbz r0, 7003be30 <__swsetup_r+0x14> 7003be28: 6a03 ldr r3, [r0, #32] 7003be2a: b90b cbnz r3, 7003be30 <__swsetup_r+0x14> 7003be2c: f7ff fa32 bl 7003b294 <__sinit> 7003be30: f9b4 300c ldrsh.w r3, [r4, #12] 7003be34: 071a lsls r2, r3, #28 7003be36: d421 bmi.n 7003be7c <__swsetup_r+0x60> 7003be38: 06d8 lsls r0, r3, #27 7003be3a: d407 bmi.n 7003be4c <__swsetup_r+0x30> 7003be3c: 2209 movs r2, #9 7003be3e: 602a str r2, [r5, #0] 7003be40: f043 0340 orr.w r3, r3, #64 @ 0x40 7003be44: 81a3 strh r3, [r4, #12] 7003be46: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7003be4a: e030 b.n 7003beae <__swsetup_r+0x92> 7003be4c: 0759 lsls r1, r3, #29 7003be4e: d512 bpl.n 7003be76 <__swsetup_r+0x5a> 7003be50: 6b61 ldr r1, [r4, #52] @ 0x34 7003be52: b141 cbz r1, 7003be66 <__swsetup_r+0x4a> 7003be54: f104 0344 add.w r3, r4, #68 @ 0x44 7003be58: 4299 cmp r1, r3 7003be5a: d002 beq.n 7003be62 <__swsetup_r+0x46> 7003be5c: 4628 mov r0, r5 7003be5e: f7ff fb95 bl 7003b58c <_free_r> 7003be62: 2300 movs r3, #0 7003be64: 6363 str r3, [r4, #52] @ 0x34 7003be66: 2200 movs r2, #0 7003be68: f9b4 300c ldrsh.w r3, [r4, #12] 7003be6c: 6062 str r2, [r4, #4] 7003be6e: 6922 ldr r2, [r4, #16] 7003be70: 6022 str r2, [r4, #0] 7003be72: f023 0324 bic.w r3, r3, #36 @ 0x24 7003be76: f043 0308 orr.w r3, r3, #8 7003be7a: 81a3 strh r3, [r4, #12] 7003be7c: 6922 ldr r2, [r4, #16] 7003be7e: b93a cbnz r2, 7003be90 <__swsetup_r+0x74> 7003be80: 059a lsls r2, r3, #22 7003be82: d501 bpl.n 7003be88 <__swsetup_r+0x6c> 7003be84: 0618 lsls r0, r3, #24 7003be86: d503 bpl.n 7003be90 <__swsetup_r+0x74> 7003be88: 4621 mov r1, r4 7003be8a: 4628 mov r0, r5 7003be8c: f000 f83e bl 7003bf0c <__smakebuf_r> 7003be90: f9b4 300c ldrsh.w r3, [r4, #12] 7003be94: f013 0201 ands.w r2, r3, #1 7003be98: d00a beq.n 7003beb0 <__swsetup_r+0x94> 7003be9a: 2200 movs r2, #0 7003be9c: 60a2 str r2, [r4, #8] 7003be9e: 6962 ldr r2, [r4, #20] 7003bea0: 4252 negs r2, r2 7003bea2: 61a2 str r2, [r4, #24] 7003bea4: 6922 ldr r2, [r4, #16] 7003bea6: b942 cbnz r2, 7003beba <__swsetup_r+0x9e> 7003bea8: f013 0080 ands.w r0, r3, #128 @ 0x80 7003beac: d1c8 bne.n 7003be40 <__swsetup_r+0x24> 7003beae: bd38 pop {r3, r4, r5, pc} 7003beb0: 0799 lsls r1, r3, #30 7003beb2: bf58 it pl 7003beb4: 6962 ldrpl r2, [r4, #20] 7003beb6: 60a2 str r2, [r4, #8] 7003beb8: e7f4 b.n 7003bea4 <__swsetup_r+0x88> 7003beba: 2000 movs r0, #0 7003bebc: e7f7 b.n 7003beae <__swsetup_r+0x92> 7003bebe: bf00 nop 7003bec0: 24000164 .word 0x24000164 7003bec4 <__swhatbuf_r>: 7003bec4: b570 push {r4, r5, r6, lr} 7003bec6: 460c mov r4, r1 7003bec8: f9b1 100e ldrsh.w r1, [r1, #14] 7003becc: 2900 cmp r1, #0 7003bece: b096 sub sp, #88 @ 0x58 7003bed0: 4615 mov r5, r2 7003bed2: 461e mov r6, r3 7003bed4: da0a bge.n 7003beec <__swhatbuf_r+0x28> 7003bed6: 89a1 ldrh r1, [r4, #12] 7003bed8: f011 0180 ands.w r1, r1, #128 @ 0x80 7003bedc: d113 bne.n 7003bf06 <__swhatbuf_r+0x42> 7003bede: f44f 6280 mov.w r2, #1024 @ 0x400 7003bee2: 2000 movs r0, #0 7003bee4: 6031 str r1, [r6, #0] 7003bee6: 602a str r2, [r5, #0] 7003bee8: b016 add sp, #88 @ 0x58 7003beea: bd70 pop {r4, r5, r6, pc} 7003beec: 466a mov r2, sp 7003beee: f000 f8e1 bl 7003c0b4 <_fstat_r> 7003bef2: 2800 cmp r0, #0 7003bef4: dbef blt.n 7003bed6 <__swhatbuf_r+0x12> 7003bef6: 9901 ldr r1, [sp, #4] 7003bef8: f401 4170 and.w r1, r1, #61440 @ 0xf000 7003befc: f5a1 5300 sub.w r3, r1, #8192 @ 0x2000 7003bf00: 4259 negs r1, r3 7003bf02: 4159 adcs r1, r3 7003bf04: e7eb b.n 7003bede <__swhatbuf_r+0x1a> 7003bf06: 2100 movs r1, #0 7003bf08: 2240 movs r2, #64 @ 0x40 7003bf0a: e7ea b.n 7003bee2 <__swhatbuf_r+0x1e> 7003bf0c <__smakebuf_r>: 7003bf0c: 898b ldrh r3, [r1, #12] 7003bf0e: b573 push {r0, r1, r4, r5, r6, lr} 7003bf10: 079e lsls r6, r3, #30 7003bf12: 4605 mov r5, r0 7003bf14: 460c mov r4, r1 7003bf16: d507 bpl.n 7003bf28 <__smakebuf_r+0x1c> 7003bf18: f104 0347 add.w r3, r4, #71 @ 0x47 7003bf1c: 6023 str r3, [r4, #0] 7003bf1e: 6123 str r3, [r4, #16] 7003bf20: 2301 movs r3, #1 7003bf22: 6163 str r3, [r4, #20] 7003bf24: b002 add sp, #8 7003bf26: bd70 pop {r4, r5, r6, pc} 7003bf28: ab01 add r3, sp, #4 7003bf2a: 466a mov r2, sp 7003bf2c: f7ff ffca bl 7003bec4 <__swhatbuf_r> 7003bf30: 9e00 ldr r6, [sp, #0] 7003bf32: 4628 mov r0, r5 7003bf34: 4631 mov r1, r6 7003bf36: f7ff f893 bl 7003b060 <_malloc_r> 7003bf3a: f9b4 300c ldrsh.w r3, [r4, #12] 7003bf3e: b938 cbnz r0, 7003bf50 <__smakebuf_r+0x44> 7003bf40: 059a lsls r2, r3, #22 7003bf42: d4ef bmi.n 7003bf24 <__smakebuf_r+0x18> 7003bf44: f023 0303 bic.w r3, r3, #3 7003bf48: f043 0302 orr.w r3, r3, #2 7003bf4c: 81a3 strh r3, [r4, #12] 7003bf4e: e7e3 b.n 7003bf18 <__smakebuf_r+0xc> 7003bf50: f043 0380 orr.w r3, r3, #128 @ 0x80 7003bf54: 81a3 strh r3, [r4, #12] 7003bf56: 9b01 ldr r3, [sp, #4] 7003bf58: 6020 str r0, [r4, #0] 7003bf5a: e9c4 0604 strd r0, r6, [r4, #16] 7003bf5e: 2b00 cmp r3, #0 7003bf60: d0e0 beq.n 7003bf24 <__smakebuf_r+0x18> 7003bf62: f9b4 100e ldrsh.w r1, [r4, #14] 7003bf66: 4628 mov r0, r5 7003bf68: f000 f83a bl 7003bfe0 <_isatty_r> 7003bf6c: 2800 cmp r0, #0 7003bf6e: d0d9 beq.n 7003bf24 <__smakebuf_r+0x18> 7003bf70: 89a3 ldrh r3, [r4, #12] 7003bf72: f023 0303 bic.w r3, r3, #3 7003bf76: f043 0301 orr.w r3, r3, #1 7003bf7a: 81a3 strh r3, [r4, #12] 7003bf7c: e7d2 b.n 7003bf24 <__smakebuf_r+0x18> 7003bf7e <_raise_r>: 7003bf7e: 291f cmp r1, #31 7003bf80: b538 push {r3, r4, r5, lr} 7003bf82: 4605 mov r5, r0 7003bf84: 460c mov r4, r1 7003bf86: d904 bls.n 7003bf92 <_raise_r+0x14> 7003bf88: 2316 movs r3, #22 7003bf8a: 6003 str r3, [r0, #0] 7003bf8c: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff 7003bf90: bd38 pop {r3, r4, r5, pc} 7003bf92: 6bc2 ldr r2, [r0, #60] @ 0x3c 7003bf94: b112 cbz r2, 7003bf9c <_raise_r+0x1e> 7003bf96: f852 3021 ldr.w r3, [r2, r1, lsl #2] 7003bf9a: b94b cbnz r3, 7003bfb0 <_raise_r+0x32> 7003bf9c: 4628 mov r0, r5 7003bf9e: f000 f865 bl 7003c06c <_getpid_r> 7003bfa2: 4622 mov r2, r4 7003bfa4: 4601 mov r1, r0 7003bfa6: 4628 mov r0, r5 7003bfa8: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 7003bfac: f000 b84c b.w 7003c048 <_kill_r> 7003bfb0: 2b01 cmp r3, #1 7003bfb2: d00a beq.n 7003bfca <_raise_r+0x4c> 7003bfb4: 1c59 adds r1, r3, #1 7003bfb6: d103 bne.n 7003bfc0 <_raise_r+0x42> 7003bfb8: 2316 movs r3, #22 7003bfba: 6003 str r3, [r0, #0] 7003bfbc: 2001 movs r0, #1 7003bfbe: e7e7 b.n 7003bf90 <_raise_r+0x12> 7003bfc0: 2100 movs r1, #0 7003bfc2: f842 1024 str.w r1, [r2, r4, lsl #2] 7003bfc6: 4620 mov r0, r4 7003bfc8: 4798 blx r3 7003bfca: 2000 movs r0, #0 7003bfcc: e7e0 b.n 7003bf90 <_raise_r+0x12> ... 7003bfd0 : 7003bfd0: 4b02 ldr r3, [pc, #8] @ (7003bfdc ) 7003bfd2: 4601 mov r1, r0 7003bfd4: 6818 ldr r0, [r3, #0] 7003bfd6: f7ff bfd2 b.w 7003bf7e <_raise_r> 7003bfda: bf00 nop 7003bfdc: 24000164 .word 0x24000164 7003bfe0 <_isatty_r>: 7003bfe0: b538 push {r3, r4, r5, lr} 7003bfe2: 4d06 ldr r5, [pc, #24] @ (7003bffc <_isatty_r+0x1c>) 7003bfe4: 2300 movs r3, #0 7003bfe6: 4604 mov r4, r0 7003bfe8: 4608 mov r0, r1 7003bfea: 602b str r3, [r5, #0] 7003bfec: f7c5 fb1e bl 7000162c <_isatty> 7003bff0: 1c43 adds r3, r0, #1 7003bff2: d102 bne.n 7003bffa <_isatty_r+0x1a> 7003bff4: 682b ldr r3, [r5, #0] 7003bff6: b103 cbz r3, 7003bffa <_isatty_r+0x1a> 7003bff8: 6023 str r3, [r4, #0] 7003bffa: bd38 pop {r3, r4, r5, pc} 7003bffc: 2400e2a8 .word 0x2400e2a8 7003c000 <_lseek_r>: 7003c000: b538 push {r3, r4, r5, lr} 7003c002: 4d07 ldr r5, [pc, #28] @ (7003c020 <_lseek_r+0x20>) 7003c004: 4604 mov r4, r0 7003c006: 4608 mov r0, r1 7003c008: 4611 mov r1, r2 7003c00a: 2200 movs r2, #0 7003c00c: 602a str r2, [r5, #0] 7003c00e: 461a mov r2, r3 7003c010: f7c5 fb0e bl 70001630 <_lseek> 7003c014: 1c43 adds r3, r0, #1 7003c016: d102 bne.n 7003c01e <_lseek_r+0x1e> 7003c018: 682b ldr r3, [r5, #0] 7003c01a: b103 cbz r3, 7003c01e <_lseek_r+0x1e> 7003c01c: 6023 str r3, [r4, #0] 7003c01e: bd38 pop {r3, r4, r5, pc} 7003c020: 2400e2a8 .word 0x2400e2a8 7003c024 <_read_r>: 7003c024: b538 push {r3, r4, r5, lr} 7003c026: 4d07 ldr r5, [pc, #28] @ (7003c044 <_read_r+0x20>) 7003c028: 4604 mov r4, r0 7003c02a: 4608 mov r0, r1 7003c02c: 4611 mov r1, r2 7003c02e: 2200 movs r2, #0 7003c030: 602a str r2, [r5, #0] 7003c032: 461a mov r2, r3 7003c034: f7c5 fad6 bl 700015e4 <_read> 7003c038: 1c43 adds r3, r0, #1 7003c03a: d102 bne.n 7003c042 <_read_r+0x1e> 7003c03c: 682b ldr r3, [r5, #0] 7003c03e: b103 cbz r3, 7003c042 <_read_r+0x1e> 7003c040: 6023 str r3, [r4, #0] 7003c042: bd38 pop {r3, r4, r5, pc} 7003c044: 2400e2a8 .word 0x2400e2a8 7003c048 <_kill_r>: 7003c048: b538 push {r3, r4, r5, lr} 7003c04a: 4d07 ldr r5, [pc, #28] @ (7003c068 <_kill_r+0x20>) 7003c04c: 2300 movs r3, #0 7003c04e: 4604 mov r4, r0 7003c050: 4608 mov r0, r1 7003c052: 4611 mov r1, r2 7003c054: 602b str r3, [r5, #0] 7003c056: f7c5 fab7 bl 700015c8 <_kill> 7003c05a: 1c43 adds r3, r0, #1 7003c05c: d102 bne.n 7003c064 <_kill_r+0x1c> 7003c05e: 682b ldr r3, [r5, #0] 7003c060: b103 cbz r3, 7003c064 <_kill_r+0x1c> 7003c062: 6023 str r3, [r4, #0] 7003c064: bd38 pop {r3, r4, r5, pc} 7003c066: bf00 nop 7003c068: 2400e2a8 .word 0x2400e2a8 7003c06c <_getpid_r>: 7003c06c: f7c5 baaa b.w 700015c4 <_getpid> 7003c070 <_write_r>: 7003c070: b538 push {r3, r4, r5, lr} 7003c072: 4d07 ldr r5, [pc, #28] @ (7003c090 <_write_r+0x20>) 7003c074: 4604 mov r4, r0 7003c076: 4608 mov r0, r1 7003c078: 4611 mov r1, r2 7003c07a: 2200 movs r2, #0 7003c07c: 602a str r2, [r5, #0] 7003c07e: 461a mov r2, r3 7003c080: f7c5 fabe bl 70001600 <_write> 7003c084: 1c43 adds r3, r0, #1 7003c086: d102 bne.n 7003c08e <_write_r+0x1e> 7003c088: 682b ldr r3, [r5, #0] 7003c08a: b103 cbz r3, 7003c08e <_write_r+0x1e> 7003c08c: 6023 str r3, [r4, #0] 7003c08e: bd38 pop {r3, r4, r5, pc} 7003c090: 2400e2a8 .word 0x2400e2a8 7003c094 <_close_r>: 7003c094: b538 push {r3, r4, r5, lr} 7003c096: 4d06 ldr r5, [pc, #24] @ (7003c0b0 <_close_r+0x1c>) 7003c098: 2300 movs r3, #0 7003c09a: 4604 mov r4, r0 7003c09c: 4608 mov r0, r1 7003c09e: 602b str r3, [r5, #0] 7003c0a0: f7c5 fabc bl 7000161c <_close> 7003c0a4: 1c43 adds r3, r0, #1 7003c0a6: d102 bne.n 7003c0ae <_close_r+0x1a> 7003c0a8: 682b ldr r3, [r5, #0] 7003c0aa: b103 cbz r3, 7003c0ae <_close_r+0x1a> 7003c0ac: 6023 str r3, [r4, #0] 7003c0ae: bd38 pop {r3, r4, r5, pc} 7003c0b0: 2400e2a8 .word 0x2400e2a8 7003c0b4 <_fstat_r>: 7003c0b4: b538 push {r3, r4, r5, lr} 7003c0b6: 4d07 ldr r5, [pc, #28] @ (7003c0d4 <_fstat_r+0x20>) 7003c0b8: 2300 movs r3, #0 7003c0ba: 4604 mov r4, r0 7003c0bc: 4608 mov r0, r1 7003c0be: 4611 mov r1, r2 7003c0c0: 602b str r3, [r5, #0] 7003c0c2: f7c5 faae bl 70001622 <_fstat> 7003c0c6: 1c43 adds r3, r0, #1 7003c0c8: d102 bne.n 7003c0d0 <_fstat_r+0x1c> 7003c0ca: 682b ldr r3, [r5, #0] 7003c0cc: b103 cbz r3, 7003c0d0 <_fstat_r+0x1c> 7003c0ce: 6023 str r3, [r4, #0] 7003c0d0: bd38 pop {r3, r4, r5, pc} 7003c0d2: bf00 nop 7003c0d4: 2400e2a8 .word 0x2400e2a8 7003c0d8 <_init>: 7003c0d8: b5f8 push {r3, r4, r5, r6, r7, lr} 7003c0da: bf00 nop 7003c0dc: bcf8 pop {r3, r4, r5, r6, r7} 7003c0de: bc08 pop {r3} 7003c0e0: 469e mov lr, r3 7003c0e2: 4770 bx lr 7003c0e4 <_fini>: 7003c0e4: b5f8 push {r3, r4, r5, r6, r7, lr} 7003c0e6: bf00 nop 7003c0e8: bcf8 pop {r3, r4, r5, r6, r7} 7003c0ea: bc08 pop {r3} 7003c0ec: 469e mov lr, r3 7003c0ee: 4770 bx lr Disassembly of section LCDGPU2D_AXI_HotFunctions: 7003c0f0 <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh>: 7003c0f0: 2b00 cmp r3, #0 7003c0f2: d05d beq.n 7003c1b0 <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0xc0> 7003c0f4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 7003c0f8: 461c mov r4, r3 7003c0fa: f9b1 3004 ldrsh.w r3, [r1, #4] 7003c0fe: b084 sub sp, #16 7003c100: 2b00 cmp r3, #0 7003c102: dd52 ble.n 7003c1aa <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0xba> 7003c104: f9b1 3006 ldrsh.w r3, [r1, #6] 7003c108: 2b00 cmp r3, #0 7003c10a: dd4e ble.n 7003c1aa <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0xba> 7003c10c: 4606 mov r6, r0 7003c10e: ab02 add r3, sp, #8 7003c110: 6808 ldr r0, [r1, #0] 7003c112: 4615 mov r5, r2 7003c114: 6849 ldr r1, [r1, #4] 7003c116: 4f67 ldr r7, [pc, #412] @ (7003c2b4 <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0x1c4>) 7003c118: c303 stmia r3!, {r0, r1} 7003c11a: a802 add r0, sp, #8 7003c11c: f7d4 fe54 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 7003c120: 6838 ldr r0, [r7, #0] 7003c122: f7f0 f84d bl 7002c1c0 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv> 7003c126: 7b33 ldrb r3, [r6, #12] 7003c128: b90b cbnz r3, 7003c12e <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0x3e> 7003c12a: 2cff cmp r4, #255 @ 0xff 7003c12c: d05b beq.n 7003c1e6 <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0xf6> 7003c12e: 6833 ldr r3, [r6, #0] 7003c130: 4630 mov r0, r6 7003c132: 6d9b ldr r3, [r3, #88] @ 0x58 7003c134: 4798 blx r3 7003c136: f9bd 300e ldrsh.w r3, [sp, #14] 7003c13a: f9bd 200c ldrsh.w r2, [sp, #12] 7003c13e: f9bd 100a ldrsh.w r1, [sp, #10] 7003c142: f9bd 0008 ldrsh.w r0, [sp, #8] 7003c146: f7db fdfd bl 70017d44 7003c14a: 2cff cmp r4, #255 @ 0xff 7003c14c: d03f beq.n 7003c1ce <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0xde> 7003c14e: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7003c152: 2100 movs r1, #0 7003c154: 4858 ldr r0, [pc, #352] @ (7003c2b8 <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0x1c8>) 7003c156: 461a mov r2, r3 7003c158: f7ed fd32 bl 70029bc0 7003c15c: 2200 movs r2, #0 7003c15e: 4623 mov r3, r4 7003c160: 4611 mov r1, r2 7003c162: 4610 mov r0, r2 7003c164: f7db ff58 bl 70018018 7003c168: f7ee f8a0 bl 7002a2ac 7003c16c: f3c5 2107 ubfx r1, r5, #8, #8 7003c170: b2ea uxtb r2, r5 7003c172: f9bd 4008 ldrsh.w r4, [sp, #8] 7003c176: f9bd 600a ldrsh.w r6, [sp, #10] 7003c17a: f3c5 4007 ubfx r0, r5, #16, #8 7003c17e: f9bd 800c ldrsh.w r8, [sp, #12] 7003c182: 23ff movs r3, #255 @ 0xff 7003c184: f9bd 500e ldrsh.w r5, [sp, #14] 7003c188: f7db ff46 bl 70018018 7003c18c: 4642 mov r2, r8 7003c18e: 9000 str r0, [sp, #0] 7003c190: 462b mov r3, r5 7003c192: 4631 mov r1, r6 7003c194: 4620 mov r0, r4 7003c196: f7dc f8ab bl 700182f0 7003c19a: 20fc movs r0, #252 @ 0xfc 7003c19c: f7c7 fa48 bl 70003630 7003c1a0: b1e8 cbz r0, 7003c1de <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0xee> 7003c1a2: 683b ldr r3, [r7, #0] 7003c1a4: 2201 movs r2, #1 7003c1a6: f883 20c5 strb.w r2, [r3, #197] @ 0xc5 7003c1aa: b004 add sp, #16 7003c1ac: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 7003c1b0: 4770 bx lr 7003c1b2: 6833 ldr r3, [r6, #0] 7003c1b4: 4630 mov r0, r6 7003c1b6: 6d9b ldr r3, [r3, #88] @ 0x58 7003c1b8: 4798 blx r3 7003c1ba: f9bd 300e ldrsh.w r3, [sp, #14] 7003c1be: f9bd 200c ldrsh.w r2, [sp, #12] 7003c1c2: f9bd 100a ldrsh.w r1, [sp, #10] 7003c1c6: f9bd 0008 ldrsh.w r0, [sp, #8] 7003c1ca: f7db fdbb bl 70017d44 7003c1ce: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7003c1d2: 2100 movs r1, #0 7003c1d4: 2001 movs r0, #1 7003c1d6: 461a mov r2, r3 7003c1d8: f7ed fcf2 bl 70029bc0 7003c1dc: e7be b.n 7003c15c <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0x6c> 7003c1de: 6838 ldr r0, [r7, #0] 7003c1e0: f7f0 f812 bl 7002c208 <_ZN8touchgfx8HALGPU2D16submitExecBufferEv> 7003c1e4: e7e1 b.n 7003c1aa <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0xba> 7003c1e6: 4b35 ldr r3, [pc, #212] @ (7003c2bc <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0x1cc>) 7003c1e8: 881b ldrh r3, [r3, #0] 7003c1ea: 07d8 lsls r0, r3, #31 7003c1ec: d4e1 bmi.n 7003c1b2 <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0xc2> 7003c1ee: f9bd 200c ldrsh.w r2, [sp, #12] 7003c1f2: 07d1 lsls r1, r2, #31 7003c1f4: d4dd bmi.n 7003c1b2 <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0xc2> 7003c1f6: f9bd 1008 ldrsh.w r1, [sp, #8] 7003c1fa: 07c8 lsls r0, r1, #31 7003c1fc: d4d9 bmi.n 7003c1b2 <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0xc2> 7003c1fe: 2900 cmp r1, #0 7003c200: ea4f 0453 mov.w r4, r3, lsr #1 7003c204: 4b2e ldr r3, [pc, #184] @ (7003c2c0 <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0x1d0>) 7003c206: bfb8 it lt 7003c208: 3101 addlt r1, #1 7003c20a: 2a00 cmp r2, #0 7003c20c: ea4f 0984 mov.w r9, r4, lsl #2 7003c210: 781b ldrb r3, [r3, #0] 7003c212: bfb8 it lt 7003c214: 3201 addlt r2, #1 7003c216: ea4f 0861 mov.w r8, r1, asr #1 7003c21a: fa1f f989 uxth.w r9, r9 7003c21e: f8d7 a000 ldr.w sl, [r7] 7003c222: 1056 asrs r6, r2, #1 7003c224: 2b00 cmp r3, #0 7003c226: d03f beq.n 7003c2a8 <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0x1b8> 7003c228: f8da 3000 ldr.w r3, [sl] 7003c22c: 4650 mov r0, sl 7003c22e: 6b5b ldr r3, [r3, #52] @ 0x34 7003c230: 4798 blx r3 7003c232: 4603 mov r3, r0 7003c234: f8da 0040 ldr.w r0, [sl, #64] @ 0x40 7003c238: 4298 cmp r0, r3 7003c23a: d038 beq.n 7003c2ae <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0x1be> 7003c23c: 4b21 ldr r3, [pc, #132] @ (7003c2c4 <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0x1d4>) 7003c23e: 4621 mov r1, r4 7003c240: f8cd 9000 str.w r9, [sp] 7003c244: 881a ldrh r2, [r3, #0] 7003c246: 2310 movs r3, #16 7003c248: f7db ff28 bl 7001809c 7003c24c: f9bd 300e ldrsh.w r3, [sp, #14] 7003c250: 4632 mov r2, r6 7003c252: f9bd 100a ldrsh.w r1, [sp, #10] 7003c256: 4640 mov r0, r8 7003c258: f7db fd74 bl 70017d44 7003c25c: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7003c260: 2100 movs r1, #0 7003c262: 2001 movs r0, #1 7003c264: 461a mov r2, r3 7003c266: f7ed fcab bl 70029bc0 7003c26a: 2200 movs r2, #0 7003c26c: 23ff movs r3, #255 @ 0xff 7003c26e: 4611 mov r1, r2 7003c270: 4610 mov r0, r2 7003c272: f7db fed1 bl 70018018 7003c276: f7ee f819 bl 7002a2ac 7003c27a: 4b13 ldr r3, [pc, #76] @ (7003c2c8 <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0x1d8>) 7003c27c: 0969 lsrs r1, r5, #5 7003c27e: 4632 mov r2, r6 7003c280: ea03 2315 and.w r3, r3, r5, lsr #8 7003c284: f3c5 05c4 ubfx r5, r5, #3, #5 7003c288: f401 61fc and.w r1, r1, #2016 @ 0x7e0 7003c28c: 4640 mov r0, r8 7003c28e: 430b orrs r3, r1 7003c290: 432b orrs r3, r5 7003c292: 0419 lsls r1, r3, #16 7003c294: fa11 f183 uxtah r1, r1, r3 7003c298: f9bd 300e ldrsh.w r3, [sp, #14] 7003c29c: 9100 str r1, [sp, #0] 7003c29e: f9bd 100a ldrsh.w r1, [sp, #10] 7003c2a2: f7dc f825 bl 700182f0 7003c2a6: e778 b.n 7003c19a <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0xaa> 7003c2a8: f8da 0040 ldr.w r0, [sl, #64] @ 0x40 7003c2ac: e7c6 b.n 7003c23c <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0x14c> 7003c2ae: f8da 0044 ldr.w r0, [sl, #68] @ 0x44 7003c2b2: e7c3 b.n 7003c23c <_ZN8touchgfx12LCDGPU2D_AXI8fillRectERKNS_4RectENS_9colortypeEh+0x14c> 7003c2b4: 2400e0dc .word 0x2400e0dc 7003c2b8: 08000504 .word 0x08000504 7003c2bc: 2400da78 .word 0x2400da78 7003c2c0: 2400da74 .word 0x2400da74 7003c2c4: 2400da76 .word 0x2400da76 7003c2c8: fffff800 .word 0xfffff800 7003c2cc <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE>: 7003c2cc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7003c2d0: b091 sub sp, #68 @ 0x44 7003c2d2: 4606 mov r6, r0 7003c2d4: af0a add r7, sp, #40 @ 0x28 7003c2d6: 981f ldr r0, [sp, #124] @ 0x7c 7003c2d8: f9bd 1068 ldrsh.w r1, [sp, #104] @ 0x68 7003c2dc: 7b45 ldrb r5, [r0, #13] 7003c2de: 79c4 ldrb r4, [r0, #7] 7003c2e0: f890 c006 ldrb.w ip, [r0, #6] 7003c2e4: f8bd e070 ldrh.w lr, [sp, #112] @ 0x70 7003c2e8: f8dd 8078 ldr.w r8, [sp, #120] @ 0x78 7003c2ec: f89d 908c ldrb.w r9, [sp, #140] @ 0x8c 7003c2f0: e887 000c stmia.w r7, {r2, r3} 7003c2f4: f8bd 3074 ldrh.w r3, [sp, #116] @ 0x74 7003c2f8: f9bd 206c ldrsh.w r2, [sp, #108] @ 0x6c 7003c2fc: 9304 str r3, [sp, #16] 7003c2fe: 016b lsls r3, r5, #5 7003c300: 012d lsls r5, r5, #4 7003c302: f403 7380 and.w r3, r3, #256 @ 0x100 7003c306: f405 7580 and.w r5, r5, #256 @ 0x100 7003c30a: ea5c 0b03 orrs.w fp, ip, r3 7003c30e: ea44 0405 orr.w r4, r4, r5 7003c312: f89d 5090 ldrb.w r5, [sp, #144] @ 0x90 7003c316: 9503 str r5, [sp, #12] 7003c318: f89d 5094 ldrb.w r5, [sp, #148] @ 0x94 7003c31c: f000 80bd beq.w 7003c49a <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x1ce> 7003c320: fab4 fc84 clz ip, r4 7003c324: ea4f 1c5c mov.w ip, ip, lsr #5 7003c328: 2c00 cmp r4, #0 7003c32a: f000 80b6 beq.w 7003c49a <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x1ce> 7003c32e: f990 3009 ldrsb.w r3, [r0, #9] 7003c332: b29b uxth r3, r3 7003c334: f1be 0f00 cmp.w lr, #0 7003c338: f040 80b2 bne.w 7003c4a0 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x1d4> 7003c33c: 440b add r3, r1 7003c33e: 46f2 mov sl, lr 7003c340: b219 sxth r1, r3 7003c342: f9b8 3000 ldrsh.w r3, [r8] 7003c346: 428b cmp r3, r1 7003c348: dd05 ble.n 7003c356 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x8a> 7003c34a: 449a add sl, r3 7003c34c: ebaa 0a01 sub.w sl, sl, r1 7003c350: 4619 mov r1, r3 7003c352: fa1f fa8a uxth.w sl, sl 7003c356: 4ba6 ldr r3, [pc, #664] @ (7003c5f0 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x324>) 7003c358: 4638 mov r0, r7 7003c35a: f109 39ff add.w r9, r9, #4294967295 @ 0xffffffff 7003c35e: 781b ldrb r3, [r3, #0] 7003c360: 9305 str r3, [sp, #20] 7003c362: 462b mov r3, r5 7003c364: e9cd 1206 strd r1, r2, [sp, #24] 7003c368: f7d4 fb9c bl 70010aa4 <_ZN8touchgfx3LCD5realXERKNS_4RectEssNS_12TextRotationE> 7003c36c: 462b mov r3, r5 7003c36e: f8ad 0034 strh.w r0, [sp, #52] @ 0x34 7003c372: 4638 mov r0, r7 7003c374: e9dd 1206 ldrd r1, r2, [sp, #24] 7003c378: f7d4 fbb2 bl 70010ae0 <_ZN8touchgfx3LCD5realYERKNS_4RectEssNS_12TextRotationE> 7003c37c: f10d 0136 add.w r1, sp, #54 @ 0x36 7003c380: f8ad 0036 strh.w r0, [sp, #54] @ 0x36 7003c384: a80d add r0, sp, #52 @ 0x34 7003c386: f7d4 fcdd bl 70010d44 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERsS1_> 7003c38a: 9b22 ldr r3, [sp, #136] @ 0x88 7003c38c: f3c3 4307 ubfx r3, r3, #16, #8 7003c390: 9308 str r3, [sp, #32] 7003c392: 9b22 ldr r3, [sp, #136] @ 0x88 7003c394: f3c3 2307 ubfx r3, r3, #8, #8 7003c398: 9307 str r3, [sp, #28] 7003c39a: 9b22 ldr r3, [sp, #136] @ 0x88 7003c39c: b2db uxtb r3, r3 7003c39e: 9306 str r3, [sp, #24] 7003c3a0: f1b9 0f07 cmp.w r9, #7 7003c3a4: d805 bhi.n 7003c3b2 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0xe6> 7003c3a6: e8df f009 tbb [pc, r9] 7003c3aa: a8af .short 0xa8af 7003c3ac: 0404a104 .word 0x0404a104 7003c3b0: 9c04 .short 0x9c04 7003c3b2: f64f 79ff movw r9, #65535 @ 0xffff 7003c3b6: 4f8f ldr r7, [pc, #572] @ (7003c5f4 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x328>) 7003c3b8: 6838 ldr r0, [r7, #0] 7003c3ba: f7ef ff01 bl 7002c1c0 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv> 7003c3be: 6833 ldr r3, [r6, #0] 7003c3c0: 4630 mov r0, r6 7003c3c2: 6d9b ldr r3, [r3, #88] @ 0x58 7003c3c4: 4798 blx r3 7003c3c6: 2d02 cmp r5, #2 7003c3c8: f000 80da beq.w 7003c580 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x2b4> 7003c3cc: 2d03 cmp r5, #3 7003c3ce: f000 80be beq.w 7003c54e <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x282> 7003c3d2: 2d01 cmp r5, #1 7003c3d4: f8bd 3028 ldrh.w r3, [sp, #40] @ 0x28 7003c3d8: d170 bne.n 7003c4bc <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x1f0> 7003c3da: f8bd 202c ldrh.w r2, [sp, #44] @ 0x2c 7003c3de: 4413 add r3, r2 7003c3e0: f8b8 2002 ldrh.w r2, [r8, #2] 7003c3e4: 1a9b subs r3, r3, r2 7003c3e6: f9b8 2006 ldrsh.w r2, [r8, #6] 7003c3ea: 1a9b subs r3, r3, r2 7003c3ec: f8ad 203c strh.w r2, [sp, #60] @ 0x3c 7003c3f0: f8b8 2000 ldrh.w r2, [r8] 7003c3f4: f8ad 3038 strh.w r3, [sp, #56] @ 0x38 7003c3f8: f8bd 302a ldrh.w r3, [sp, #42] @ 0x2a 7003c3fc: 4413 add r3, r2 7003c3fe: f8ad 303a strh.w r3, [sp, #58] @ 0x3a 7003c402: f9b8 3004 ldrsh.w r3, [r8, #4] 7003c406: a80e add r0, sp, #56 @ 0x38 7003c408: f8ad 303e strh.w r3, [sp, #62] @ 0x3e 7003c40c: f7d4 fcdc bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 7003c410: f9bd 303e ldrsh.w r3, [sp, #62] @ 0x3e 7003c414: f9bd 203c ldrsh.w r2, [sp, #60] @ 0x3c 7003c418: f9bd 103a ldrsh.w r1, [sp, #58] @ 0x3a 7003c41c: f9bd 0038 ldrsh.w r0, [sp, #56] @ 0x38 7003c420: f7db fc90 bl 70017d44 7003c424: 2200 movs r2, #0 7003c426: 9e03 ldr r6, [sp, #12] 7003c428: 4611 mov r1, r2 7003c42a: 4610 mov r0, r2 7003c42c: 4633 mov r3, r6 7003c42e: f7db fdf3 bl 70018018 7003c432: f7ed ff3b bl 7002a2ac 7003c436: 4633 mov r3, r6 7003c438: 9808 ldr r0, [sp, #32] 7003c43a: e9dd 2106 ldrd r2, r1, [sp, #24] 7003c43e: f7db fdeb bl 70018018 7003c442: f7db fc73 bl 70017d2c 7003c446: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7003c44a: 2201 movs r2, #1 7003c44c: 2100 movs r1, #0 7003c44e: 486a ldr r0, [pc, #424] @ (7003c5f8 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x32c>) 7003c450: f7ed fbb6 bl 70029bc0 7003c454: 9b09 ldr r3, [sp, #36] @ 0x24 7003c456: 2200 movs r2, #0 7003c458: 4659 mov r1, fp 7003c45a: 9820 ldr r0, [sp, #128] @ 0x80 7003c45c: 9300 str r3, [sp, #0] 7003c45e: 464b mov r3, r9 7003c460: 9201 str r2, [sp, #4] 7003c462: 4622 mov r2, r4 7003c464: f7db fde0 bl 70018028 7003c468: 9b05 ldr r3, [sp, #20] 7003c46a: f9bd 0034 ldrsh.w r0, [sp, #52] @ 0x34 7003c46e: 2b01 cmp r3, #1 7003c470: f9bd 1036 ldrsh.w r1, [sp, #54] @ 0x36 7003c474: d04f beq.n 7003c516 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x24a> 7003c476: 2d02 cmp r5, #2 7003c478: d05d beq.n 7003c536 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x26a> 7003c47a: 2d03 cmp r5, #3 7003c47c: f000 80a7 beq.w 7003c5ce <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x302> 7003c480: 2d01 cmp r5, #1 7003c482: 9b04 ldr r3, [sp, #16] 7003c484: f000 809a beq.w 7003c5bc <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x2f0> 7003c488: 1ac9 subs r1, r1, r3 7003c48a: eba0 000a sub.w r0, r0, sl 7003c48e: f7db ff41 bl 70018314 7003c492: 683b ldr r3, [r7, #0] 7003c494: 2201 movs r2, #1 7003c496: f883 20c5 strb.w r2, [r3, #197] @ 0xc5 7003c49a: b011 add sp, #68 @ 0x44 7003c49c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7003c4a0: ebae 0003 sub.w r0, lr, r3 7003c4a4: fa1f fa80 uxth.w sl, r0 7003c4a8: 0400 lsls r0, r0, #16 7003c4aa: f57f af4a bpl.w 7003c342 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x76> 7003c4ae: eba1 0e0e sub.w lr, r1, lr 7003c4b2: 46e2 mov sl, ip 7003c4b4: 449e add lr, r3 7003c4b6: fa0f f18e sxth.w r1, lr 7003c4ba: e742 b.n 7003c342 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x76> 7003c4bc: f8b8 2000 ldrh.w r2, [r8] 7003c4c0: 4413 add r3, r2 7003c4c2: f8b8 2002 ldrh.w r2, [r8, #2] 7003c4c6: f8ad 3038 strh.w r3, [sp, #56] @ 0x38 7003c4ca: f8bd 302a ldrh.w r3, [sp, #42] @ 0x2a 7003c4ce: 4413 add r3, r2 7003c4d0: f8ad 303a strh.w r3, [sp, #58] @ 0x3a 7003c4d4: f8b8 3004 ldrh.w r3, [r8, #4] 7003c4d8: f8ad 303c strh.w r3, [sp, #60] @ 0x3c 7003c4dc: f9b8 3006 ldrsh.w r3, [r8, #6] 7003c4e0: e791 b.n 7003c406 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x13a> 7003c4e2: f04f 0908 mov.w r9, #8 7003c4e6: f8cd b024 str.w fp, [sp, #36] @ 0x24 7003c4ea: e764 b.n 7003c3b6 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0xea> 7003c4ec: f10b 0301 add.w r3, fp, #1 7003c4f0: f04f 0929 mov.w r9, #41 @ 0x29 7003c4f4: 105b asrs r3, r3, #1 7003c4f6: 9309 str r3, [sp, #36] @ 0x24 7003c4f8: e75d b.n 7003c3b6 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0xea> 7003c4fa: f10b 0303 add.w r3, fp, #3 7003c4fe: f04f 0928 mov.w r9, #40 @ 0x28 7003c502: 109b asrs r3, r3, #2 7003c504: 9309 str r3, [sp, #36] @ 0x24 7003c506: e756 b.n 7003c3b6 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0xea> 7003c508: f10b 0307 add.w r3, fp, #7 7003c50c: f04f 0927 mov.w r9, #39 @ 0x27 7003c510: 10db asrs r3, r3, #3 7003c512: 9309 str r3, [sp, #36] @ 0x24 7003c514: e74f b.n 7003c3b6 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0xea> 7003c516: 2d02 cmp r5, #2 7003c518: d04f beq.n 7003c5ba <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x2ee> 7003c51a: 2d03 cmp r5, #3 7003c51c: d00b beq.n 7003c536 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x26a> 7003c51e: 2d01 cmp r5, #1 7003c520: d05f beq.n 7003c5e2 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x316> 7003c522: 4451 add r1, sl 7003c524: 461a mov r2, r3 7003c526: 9b04 ldr r3, [sp, #16] 7003c528: eba1 010b sub.w r1, r1, fp 7003c52c: 1ac0 subs r0, r0, r3 7003c52e: 3101 adds r1, #1 7003c530: f7db ff40 bl 700183b4 7003c534: e7ad b.n 7003c492 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x1c6> 7003c536: 9b04 ldr r3, [sp, #16] 7003c538: 4450 add r0, sl 7003c53a: 2202 movs r2, #2 7003c53c: 440b add r3, r1 7003c53e: eba0 000b sub.w r0, r0, fp 7003c542: 1b19 subs r1, r3, r4 7003c544: 3001 adds r0, #1 7003c546: 3101 adds r1, #1 7003c548: f7db ff34 bl 700183b4 7003c54c: e7a1 b.n 7003c492 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x1c6> 7003c54e: f8bd 302e ldrh.w r3, [sp, #46] @ 0x2e 7003c552: f8bd 202a ldrh.w r2, [sp, #42] @ 0x2a 7003c556: f8b8 1002 ldrh.w r1, [r8, #2] 7003c55a: 441a add r2, r3 7003c55c: f8b8 3000 ldrh.w r3, [r8] 7003c560: 1ad2 subs r2, r2, r3 7003c562: f8bd 3028 ldrh.w r3, [sp, #40] @ 0x28 7003c566: 440b add r3, r1 7003c568: f8b8 1006 ldrh.w r1, [r8, #6] 7003c56c: f8ad 3038 strh.w r3, [sp, #56] @ 0x38 7003c570: f9b8 3004 ldrsh.w r3, [r8, #4] 7003c574: f8ad 103c strh.w r1, [sp, #60] @ 0x3c 7003c578: 1ad2 subs r2, r2, r3 7003c57a: f8ad 203a strh.w r2, [sp, #58] @ 0x3a 7003c57e: e742 b.n 7003c406 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x13a> 7003c580: f8bd 302c ldrh.w r3, [sp, #44] @ 0x2c 7003c584: f8bd 1028 ldrh.w r1, [sp, #40] @ 0x28 7003c588: f8bd 202a ldrh.w r2, [sp, #42] @ 0x2a 7003c58c: 4419 add r1, r3 7003c58e: f8bd 302e ldrh.w r3, [sp, #46] @ 0x2e 7003c592: f9b8 0004 ldrsh.w r0, [r8, #4] 7003c596: 441a add r2, r3 7003c598: f8b8 3000 ldrh.w r3, [r8] 7003c59c: f8ad 003c strh.w r0, [sp, #60] @ 0x3c 7003c5a0: 1ac9 subs r1, r1, r3 7003c5a2: f8b8 3002 ldrh.w r3, [r8, #2] 7003c5a6: 1ad2 subs r2, r2, r3 7003c5a8: f9b8 3006 ldrsh.w r3, [r8, #6] 7003c5ac: 1a09 subs r1, r1, r0 7003c5ae: 1ad2 subs r2, r2, r3 7003c5b0: f8ad 1038 strh.w r1, [sp, #56] @ 0x38 7003c5b4: f8ad 203a strh.w r2, [sp, #58] @ 0x3a 7003c5b8: e725 b.n 7003c406 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x13a> 7003c5ba: 9b04 ldr r3, [sp, #16] 7003c5bc: 4403 add r3, r0 7003c5be: eba1 010a sub.w r1, r1, sl 7003c5c2: 2203 movs r2, #3 7003c5c4: 1b18 subs r0, r3, r4 7003c5c6: 3001 adds r0, #1 7003c5c8: f7db fef4 bl 700183b4 7003c5cc: e761 b.n 7003c492 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x1c6> 7003c5ce: 4451 add r1, sl 7003c5d0: 9b04 ldr r3, [sp, #16] 7003c5d2: 2201 movs r2, #1 7003c5d4: eba1 010b sub.w r1, r1, fp 7003c5d8: 1ac0 subs r0, r0, r3 7003c5da: 4411 add r1, r2 7003c5dc: f7db feea bl 700183b4 7003c5e0: e757 b.n 7003c492 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x1c6> 7003c5e2: 9b04 ldr r3, [sp, #16] 7003c5e4: eba0 000a sub.w r0, r0, sl 7003c5e8: 1ac9 subs r1, r1, r3 7003c5ea: f7db fe93 bl 70018314 7003c5ee: e750 b.n 7003c492 <_ZN8touchgfx12LCDGPU2D_AXI9drawGlyphEPtNS_4RectEssttRKS2_PKNS_9GlyphNodeEPKhhNS_9colortypeEhhNS_12TextRotationE+0x1c6> 7003c5f0: 2400da72 .word 0x2400da72 7003c5f4: 2400e0dc .word 0x2400e0dc 7003c5f8: 08000504 .word 0x08000504 7003c5fc <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht>: 7003c5fc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7003c600: ed2d 8b08 vpush {d8-d11} 7003c604: b08b sub sp, #44 @ 0x2c 7003c606: 4606 mov r6, r0 7003c608: f89d 707c ldrb.w r7, [sp, #124] @ 0x7c 7003c60c: f8dd 9070 ldr.w r9, [sp, #112] @ 0x70 7003c610: 9d1d ldr r5, [sp, #116] @ 0x74 7003c612: f8bd 8078 ldrh.w r8, [sp, #120] @ 0x78 7003c616: f8bd 0080 ldrh.w r0, [sp, #128] @ 0x80 7003c61a: b35f cbz r7, 7003c674 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x78> 7003c61c: 4614 mov r4, r2 7003c61e: f9b5 2004 ldrsh.w r2, [r5, #4] 7003c622: 2a00 cmp r2, #0 7003c624: dd26 ble.n 7003c674 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x78> 7003c626: f9b5 2006 ldrsh.w r2, [r5, #6] 7003c62a: 2a00 cmp r2, #0 7003c62c: dd22 ble.n 7003c674 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x78> 7003c62e: f3c8 0a87 ubfx sl, r8, #2, #8 7003c632: f1ba 0f0b cmp.w sl, #11 7003c636: d067 beq.n 7003c708 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x10c> 7003c638: f1ba 0f01 cmp.w sl, #1 7003c63c: d064 beq.n 7003c708 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x10c> 7003c63e: 6819 ldr r1, [r3, #0] 7003c640: 4a39 ldr r2, [pc, #228] @ (7003c728 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x12c>) 7003c642: 9105 str r1, [sp, #20] 7003c644: 7812 ldrb r2, [r2, #0] 7003c646: 6859 ldr r1, [r3, #4] 7003c648: 2a01 cmp r2, #1 7003c64a: f8d3 b00c ldr.w fp, [r3, #12] 7003c64e: 9104 str r1, [sp, #16] 7003c650: 6899 ldr r1, [r3, #8] 7003c652: 9103 str r1, [sp, #12] 7003c654: d102 bne.n 7003c65c <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x60> 7003c656: 465b mov r3, fp 7003c658: 468b mov fp, r1 7003c65a: 9303 str r3, [sp, #12] 7003c65c: f1ba 0f0d cmp.w sl, #13 7003c660: d10d bne.n 7003c67e <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x82> 7003c662: 9b04 ldr r3, [sp, #16] 7003c664: b133 cbz r3, 7003c674 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x78> 7003c666: 781b ldrb r3, [r3, #0] 7003c668: f1a3 0216 sub.w r2, r3, #22 7003c66c: 2a01 cmp r2, #1 7003c66e: d906 bls.n 7003c67e <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x82> 7003c670: 2b12 cmp r3, #18 7003c672: d004 beq.n 7003c67e <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x82> 7003c674: b00b add sp, #44 @ 0x2c 7003c676: ecbd 8b08 vpop {d8-d11} 7003c67a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 7003c67e: 4b2b ldr r3, [pc, #172] @ (7003c72c <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x130>) 7003c680: 6818 ldr r0, [r3, #0] 7003c682: f7ef fd9d bl 7002c1c0 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv> 7003c686: 6833 ldr r3, [r6, #0] 7003c688: 4630 mov r0, r6 7003c68a: 6d9b ldr r3, [r3, #88] @ 0x58 7003c68c: 4798 blx r3 7003c68e: f9b5 3006 ldrsh.w r3, [r5, #6] 7003c692: f9b5 2004 ldrsh.w r2, [r5, #4] 7003c696: f9b5 1002 ldrsh.w r1, [r5, #2] 7003c69a: f9b5 0000 ldrsh.w r0, [r5] 7003c69e: f7db fb51 bl 70017d44 7003c6a2: 2200 movs r2, #0 7003c6a4: 463b mov r3, r7 7003c6a6: 4611 mov r1, r2 7003c6a8: 4610 mov r0, r2 7003c6aa: f7db fcb5 bl 70018018 7003c6ae: f7ed fdfd bl 7002a2ac 7003c6b2: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7003c6b6: 481e ldr r0, [pc, #120] @ (7003c730 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x134>) 7003c6b8: 2201 movs r2, #1 7003c6ba: 2100 movs r1, #0 7003c6bc: f7ed fa80 bl 70029bc0 7003c6c0: 4b1c ldr r3, [pc, #112] @ (7003c734 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x138>) 7003c6c2: 6818 ldr r0, [r3, #0] 7003c6c4: f1ba 0f0d cmp.w sl, #13 7003c6c8: d8d4 bhi.n 7003c674 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x78> 7003c6ca: a301 add r3, pc, #4 @ (adr r3, 7003c6d0 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0xd4>) 7003c6cc: f853 f02a ldr.w pc, [r3, sl, lsl #2] 7003c6d0: 7003c9cf .word 0x7003c9cf 7003c6d4: 7003c675 .word 0x7003c675 7003c6d8: 7003c9cb .word 0x7003c9cb 7003c6dc: 7003c675 .word 0x7003c675 7003c6e0: 7003c675 .word 0x7003c675 7003c6e4: 7003c675 .word 0x7003c675 7003c6e8: 7003c675 .word 0x7003c675 7003c6ec: 7003c675 .word 0x7003c675 7003c6f0: 7003c675 .word 0x7003c675 7003c6f4: 7003c675 .word 0x7003c675 7003c6f8: 7003c675 .word 0x7003c675 7003c6fc: 7003c675 .word 0x7003c675 7003c700: 7003c9b3 .word 0x7003c9b3 7003c704: 7003c73d .word 0x7003c73d 7003c708: e9cd 701f strd r7, r0, [sp, #124] @ 0x7c 7003c70c: 4622 mov r2, r4 7003c70e: 4630 mov r0, r6 7003c710: f8cd 9070 str.w r9, [sp, #112] @ 0x70 7003c714: e9cd 581d strd r5, r8, [sp, #116] @ 0x74 7003c718: b00b add sp, #44 @ 0x2c 7003c71a: ecbd 8b08 vpop {d8-d11} 7003c71e: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7003c722: f7d3 bbaf b.w 7000fe84 <_ZN8touchgfx3LCD18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht> 7003c726: bf00 nop 7003c728: 2400da72 .word 0x2400da72 7003c72c: 2400e0dc .word 0x2400e0dc 7003c730: 08000504 .word 0x08000504 7003c734: 2400da84 .word 0x2400da84 7003c738: 3d800000 .word 0x3d800000 7003c73c: 9b04 ldr r3, [sp, #16] 7003c73e: 781b ldrb r3, [r3, #0] 7003c740: f008 0201 and.w r2, r8, #1 7003c744: 9903 ldr r1, [sp, #12] 7003c746: 9805 ldr r0, [sp, #20] 7003c748: 9201 str r2, [sp, #4] 7003c74a: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff 7003c74e: 9200 str r2, [sp, #0] 7003c750: 465a mov r2, fp 7003c752: f7db fc69 bl 70018028 7003c756: 2001 movs r0, #1 7003c758: f7dc fd48 bl 700191ec 7003c75c: 2301 movs r3, #1 7003c75e: 461a mov r2, r3 7003c760: 4619 mov r1, r3 7003c762: 4618 mov r0, r3 7003c764: f7dc fd6a bl 7001923c 7003c768: ed94 7a03 vldr s14, [r4, #12] 7003c76c: edd4 7a04 vldr s15, [r4, #16] 7003c770: 4606 mov r6, r0 7003c772: eeb5 7ac0 vcmpe.f32 s14, #0.0 7003c776: eef1 fa10 vmrs APSR_nzcv, fpscr 7003c77a: eef5 7ac0 vcmpe.f32 s15, #0.0 7003c77e: f240 8128 bls.w 7003c9d2 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x3d6> 7003c782: eef1 fa10 vmrs APSR_nzcv, fpscr 7003c786: bf94 ite ls 7003c788: 2301 movls r3, #1 7003c78a: 2302 movhi r3, #2 7003c78c: ed94 7a08 vldr s14, [r4, #32] 7003c790: aa0a add r2, sp, #40 @ 0x28 7003c792: edd4 7a09 vldr s15, [r4, #36] @ 0x24 7003c796: eeb5 7ac0 vcmpe.f32 s14, #0.0 7003c79a: eb02 0383 add.w r3, r2, r3, lsl #2 7003c79e: 2200 movs r2, #0 7003c7a0: eef1 fa10 vmrs APSR_nzcv, fpscr 7003c7a4: f843 2c10 str.w r2, [r3, #-16] 7003c7a8: eef5 7ac0 vcmpe.f32 s15, #0.0 7003c7ac: f240 8123 bls.w 7003c9f6 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x3fa> 7003c7b0: eef1 fa10 vmrs APSR_nzcv, fpscr 7003c7b4: bf94 ite ls 7003c7b6: 2301 movls r3, #1 7003c7b8: 2302 movhi r3, #2 7003c7ba: ed94 7a0d vldr s14, [r4, #52] @ 0x34 7003c7be: aa0a add r2, sp, #40 @ 0x28 7003c7c0: edd4 7a0e vldr s15, [r4, #56] @ 0x38 7003c7c4: eeb5 7ac0 vcmpe.f32 s14, #0.0 7003c7c8: eb02 0383 add.w r3, r2, r3, lsl #2 7003c7cc: 2201 movs r2, #1 7003c7ce: eef1 fa10 vmrs APSR_nzcv, fpscr 7003c7d2: f843 2c10 str.w r2, [r3, #-16] 7003c7d6: eef5 7ac0 vcmpe.f32 s15, #0.0 7003c7da: f240 8106 bls.w 7003c9ea <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x3ee> 7003c7de: eef1 fa10 vmrs APSR_nzcv, fpscr 7003c7e2: bf94 ite ls 7003c7e4: 2301 movls r3, #1 7003c7e6: 2302 movhi r3, #2 7003c7e8: ed94 7a12 vldr s14, [r4, #72] @ 0x48 7003c7ec: aa0a add r2, sp, #40 @ 0x28 7003c7ee: edd4 7a13 vldr s15, [r4, #76] @ 0x4c 7003c7f2: eeb5 7ac0 vcmpe.f32 s14, #0.0 7003c7f6: eb02 0383 add.w r3, r2, r3, lsl #2 7003c7fa: 2202 movs r2, #2 7003c7fc: eef1 fa10 vmrs APSR_nzcv, fpscr 7003c800: f843 2c10 str.w r2, [r3, #-16] 7003c804: eef5 7ac0 vcmpe.f32 s15, #0.0 7003c808: f240 80e9 bls.w 7003c9de <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x3e2> 7003c80c: eef1 fa10 vmrs APSR_nzcv, fpscr 7003c810: bf94 ite ls 7003c812: 2301 movls r3, #1 7003c814: 2302 movhi r3, #2 7003c816: 9a03 ldr r2, [sp, #12] 7003c818: f1bb 0fff cmp.w fp, #255 @ 0xff 7003c81c: bfc8 it gt 7003c81e: 2aff cmpgt r2, #255 @ 0xff 7003c820: aa0a add r2, sp, #40 @ 0x28 7003c822: eb02 0383 add.w r3, r2, r3, lsl #2 7003c826: f04f 0203 mov.w r2, #3 7003c82a: bfcc ite gt 7003c82c: 2701 movgt r7, #1 7003c82e: 2700 movle r7, #0 7003c830: f843 2c10 str.w r2, [r3, #-16] 7003c834: 9b06 ldr r3, [sp, #24] 7003c836: 9a07 ldr r2, [sp, #28] 7003c838: eb03 0383 add.w r3, r3, r3, lsl #2 7003c83c: eb02 0282 add.w r2, r2, r2, lsl #2 7003c840: eb04 0183 add.w r1, r4, r3, lsl #2 7003c844: 009b lsls r3, r3, #2 7003c846: 6848 ldr r0, [r1, #4] 7003c848: eb04 0182 add.w r1, r4, r2, lsl #2 7003c84c: 18e3 adds r3, r4, r3 7003c84e: 0092 lsls r2, r2, #2 7003c850: 6849 ldr r1, [r1, #4] 7003c852: edd3 5a00 vldr s11, [r3] 7003c856: 4288 cmp r0, r1 7003c858: 9b08 ldr r3, [sp, #32] 7003c85a: 58a2 ldr r2, [r4, r2] 7003c85c: eb03 0383 add.w r3, r3, r3, lsl #2 7003c860: f000 80cf beq.w 7003ca02 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x406> 7003c864: f8dd c024 ldr.w ip, [sp, #36] @ 0x24 7003c868: eb04 0e83 add.w lr, r4, r3, lsl #2 7003c86c: f854 3023 ldr.w r3, [r4, r3, lsl #2] 7003c870: eb0c 0c8c add.w ip, ip, ip, lsl #2 7003c874: f8de e004 ldr.w lr, [lr, #4] 7003c878: eb04 088c add.w r8, r4, ip, lsl #2 7003c87c: ed98 5a00 vldr s10, [r8] 7003c880: f8d8 4004 ldr.w r4, [r8, #4] 7003c884: 2f00 cmp r7, #0 7003c886: f000 80d9 beq.w 7003ca3c <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x440> 7003c88a: f9b5 b006 ldrsh.w fp, [r5, #6] 7003c88e: f9b5 a002 ldrsh.w sl, [r5, #2] 7003c892: f1bb 0f00 cmp.w fp, #0 7003c896: dd79 ble.n 7003c98c <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x390> 7003c898: ee07 0a90 vmov s15, r0 7003c89c: eef8 3ae5 vcvt.f32.s32 s7, s11 7003c8a0: eeb8 4ac5 vcvt.f32.s32 s8, s10 7003c8a4: 44da add sl, fp 7003c8a6: eef8 6ae7 vcvt.f32.s32 s13, s15 7003c8aa: ee07 2a90 vmov s15, r2 7003c8ae: eef8 5ae7 vcvt.f32.s32 s11, s15 7003c8b2: ee07 1a90 vmov s15, r1 7003c8b6: eeb8 7ae7 vcvt.f32.s32 s14, s15 7003c8ba: ee07 3a90 vmov s15, r3 7003c8be: f9b9 3000 ldrsh.w r3, [r9] 7003c8c2: eeb8 6ae7 vcvt.f32.s32 s12, s15 7003c8c6: ee07 ea90 vmov s15, lr 7003c8ca: ee08 3a90 vmov s17, r3 7003c8ce: f9b9 3002 ldrsh.w r3, [r9, #2] 7003c8d2: eef8 4ae7 vcvt.f32.s32 s9, s15 7003c8d6: ee07 4a90 vmov s15, r4 7003c8da: ee08 3a10 vmov s16, r3 7003c8de: eef8 8ae8 vcvt.f32.s32 s17, s17 7003c8e2: eeb8 5ae7 vcvt.f32.s32 s10, s15 7003c8e6: ed5f 7a6c vldr s15, [pc, #-432] @ 7003c738 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x13c> 7003c8ea: eeb8 8ac8 vcvt.f32.s32 s16, s16 7003c8ee: eef0 ba68 vmov.f32 s23, s17 7003c8f2: eeb0 ba68 vmov.f32 s22, s17 7003c8f6: eef0 aa68 vmov.f32 s21, s17 7003c8fa: eeb0 aa48 vmov.f32 s20, s16 7003c8fe: eef0 9a48 vmov.f32 s19, s16 7003c902: eeb0 9a48 vmov.f32 s18, s16 7003c906: eee3 baa7 vfma.f32 s23, s7, s15 7003c90a: eea5 baa7 vfma.f32 s22, s11, s15 7003c90e: eee6 aa27 vfma.f32 s21, s12, s15 7003c912: eee4 8a27 vfma.f32 s17, s8, s15 7003c916: eea6 aaa7 vfma.f32 s20, s13, s15 7003c91a: eee7 9a27 vfma.f32 s19, s14, s15 7003c91e: eea4 9aa7 vfma.f32 s18, s9, s15 7003c922: eea5 8a27 vfma.f32 s16, s10, s15 7003c926: f1bb 0f80 cmp.w fp, #128 @ 0x80 7003c92a: f9b5 4004 ldrsh.w r4, [r5, #4] 7003c92e: 46d8 mov r8, fp 7003c930: ebaa 090b sub.w r9, sl, fp 7003c934: bfa8 it ge 7003c936: f04f 0880 movge.w r8, #128 @ 0x80 7003c93a: 2c00 cmp r4, #0 7003c93c: f9b5 7000 ldrsh.w r7, [r5] 7003c940: dd24 ble.n 7003c98c <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x390> 7003c942: 4427 add r7, r4 7003c944: 2c80 cmp r4, #128 @ 0x80 7003c946: 4622 mov r2, r4 7003c948: eba7 0004 sub.w r0, r7, r4 7003c94c: 4643 mov r3, r8 7003c94e: bfa8 it ge 7003c950: 2280 movge r2, #128 @ 0x80 7003c952: 4649 mov r1, r9 7003c954: 3c80 subs r4, #128 @ 0x80 7003c956: f7db f9f5 bl 70017d44 7003c95a: eef0 3a48 vmov.f32 s7, s16 7003c95e: eeb0 3a68 vmov.f32 s6, s17 7003c962: eef0 2a49 vmov.f32 s5, s18 7003c966: eeb0 2a6a vmov.f32 s4, s21 7003c96a: eef0 1a69 vmov.f32 s3, s19 7003c96e: eeb0 1a4b vmov.f32 s2, s22 7003c972: eef0 0a4a vmov.f32 s1, s20 7003c976: eeb0 0a6b vmov.f32 s0, s23 7003c97a: f7db fe6f bl 7001865c 7003c97e: 2c00 cmp r4, #0 7003c980: dce0 bgt.n 7003c944 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x348> 7003c982: f1ab 0b80 sub.w fp, fp, #128 @ 0x80 7003c986: f1bb 0f00 cmp.w fp, #0 7003c98a: dccc bgt.n 7003c926 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x32a> 7003c98c: 20fc movs r0, #252 @ 0xfc 7003c98e: f7c6 fe4f bl 70003630 7003c992: 2800 cmp r0, #0 7003c994: f000 80a6 beq.w 7003cae4 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x4e8> 7003c998: 4b59 ldr r3, [pc, #356] @ (7003cb00 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x504>) 7003c99a: 2201 movs r2, #1 7003c99c: 681b ldr r3, [r3, #0] 7003c99e: f883 20c5 strb.w r2, [r3, #197] @ 0xc5 7003c9a2: 4630 mov r0, r6 7003c9a4: b00b add sp, #44 @ 0x2c 7003c9a6: ecbd 8b08 vpop {d8-d11} 7003c9aa: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7003c9ae: f7dc bc63 b.w 70019278 7003c9b2: 23ff movs r3, #255 @ 0xff 7003c9b4: b2c2 uxtb r2, r0 7003c9b6: f3c0 2107 ubfx r1, r0, #8, #8 7003c9ba: f3c0 4007 ubfx r0, r0, #16, #8 7003c9be: f7db fb2b bl 70018018 7003c9c2: f7db f9b3 bl 70017d2c 7003c9c6: 2329 movs r3, #41 @ 0x29 7003c9c8: e6ba b.n 7003c740 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x144> 7003c9ca: 2310 movs r3, #16 7003c9cc: e6b8 b.n 7003c740 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x144> 7003c9ce: 2304 movs r3, #4 7003c9d0: e6b6 b.n 7003c740 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x144> 7003c9d2: eef1 fa10 vmrs APSR_nzcv, fpscr 7003c9d6: bf94 ite ls 7003c9d8: 2300 movls r3, #0 7003c9da: 2303 movhi r3, #3 7003c9dc: e6d6 b.n 7003c78c <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x190> 7003c9de: eef1 fa10 vmrs APSR_nzcv, fpscr 7003c9e2: bf94 ite ls 7003c9e4: 2300 movls r3, #0 7003c9e6: 2303 movhi r3, #3 7003c9e8: e715 b.n 7003c816 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x21a> 7003c9ea: eef1 fa10 vmrs APSR_nzcv, fpscr 7003c9ee: bf94 ite ls 7003c9f0: 2300 movls r3, #0 7003c9f2: 2303 movhi r3, #3 7003c9f4: e6f8 b.n 7003c7e8 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x1ec> 7003c9f6: eef1 fa10 vmrs APSR_nzcv, fpscr 7003c9fa: bf94 ite ls 7003c9fc: 4613 movls r3, r2 7003c9fe: 2303 movhi r3, #3 7003ca00: e6db b.n 7003c7ba <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x1be> 7003ca02: f8dd 8024 ldr.w r8, [sp, #36] @ 0x24 7003ca06: eb04 0c83 add.w ip, r4, r3, lsl #2 7003ca0a: f854 3023 ldr.w r3, [r4, r3, lsl #2] 7003ca0e: eb08 0888 add.w r8, r8, r8, lsl #2 7003ca12: f8dc e004 ldr.w lr, [ip, #4] 7003ca16: 429a cmp r2, r3 7003ca18: eb04 0c88 add.w ip, r4, r8, lsl #2 7003ca1c: ed9c 5a00 vldr s10, [ip] 7003ca20: f8dc 4004 ldr.w r4, [ip, #4] 7003ca24: f47f af2e bne.w 7003c884 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x288> 7003ca28: 45a6 cmp lr, r4 7003ca2a: f47f af2b bne.w 7003c884 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x288> 7003ca2e: ee15 ca10 vmov ip, s10 7003ca32: ee15 8a90 vmov r8, s11 7003ca36: 45c4 cmp ip, r8 7003ca38: f47f af24 bne.w 7003c884 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x288> 7003ca3c: ee07 0a90 vmov s15, r0 7003ca40: eddf 4a30 vldr s9, [pc, #192] @ 7003cb04 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x508> 7003ca44: ee06 ea90 vmov s13, lr 7003ca48: eef8 5ae5 vcvt.f32.s32 s11, s11 7003ca4c: eeb8 4ae7 vcvt.f32.s32 s8, s15 7003ca50: ee07 2a90 vmov s15, r2 7003ca54: eeb8 6ae6 vcvt.f32.s32 s12, s13 7003ca58: ee06 4a90 vmov s13, r4 7003ca5c: eeb8 7ae7 vcvt.f32.s32 s14, s15 7003ca60: ee07 1a90 vmov s15, r1 7003ca64: eeb8 5ac5 vcvt.f32.s32 s10, s10 7003ca68: eef8 1ae7 vcvt.f32.s32 s3, s15 7003ca6c: ee07 3a90 vmov s15, r3 7003ca70: f9b9 3002 ldrsh.w r3, [r9, #2] 7003ca74: eef8 6ae6 vcvt.f32.s32 s13, s13 7003ca78: eef8 7ae7 vcvt.f32.s32 s15, s15 7003ca7c: ee00 3a90 vmov s1, r3 7003ca80: f9b9 3000 ldrsh.w r3, [r9] 7003ca84: ee00 3a10 vmov s0, r3 7003ca88: eef8 0ae0 vcvt.f32.s32 s1, s1 7003ca8c: eeb8 0ac0 vcvt.f32.s32 s0, s0 7003ca90: eef0 3a60 vmov.f32 s7, s1 7003ca94: eef0 2a60 vmov.f32 s5, s1 7003ca98: eeb0 2a40 vmov.f32 s4, s0 7003ca9c: eeb0 3a40 vmov.f32 s6, s0 7003caa0: eeb0 1a40 vmov.f32 s2, s0 7003caa4: eea7 2aa4 vfma.f32 s4, s15, s9 7003caa8: eef0 7a60 vmov.f32 s15, s1 7003caac: eea5 3a24 vfma.f32 s6, s10, s9 7003cab0: eee6 3aa4 vfma.f32 s7, s13, s9 7003cab4: eee1 7aa4 vfma.f32 s15, s3, s9 7003cab8: eee6 2a24 vfma.f32 s5, s12, s9 7003cabc: eea7 1a24 vfma.f32 s2, s14, s9 7003cac0: eee4 0a24 vfma.f32 s1, s8, s9 7003cac4: eea5 0aa4 vfma.f32 s0, s11, s9 7003cac8: eef0 1a67 vmov.f32 s3, s15 7003cacc: f7db fdc6 bl 7001865c 7003cad0: 20fc movs r0, #252 @ 0xfc 7003cad2: f7c6 fdad bl 70003630 7003cad6: 4b0a ldr r3, [pc, #40] @ (7003cb00 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x504>) 7003cad8: b148 cbz r0, 7003caee <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x4f2> 7003cada: 681b ldr r3, [r3, #0] 7003cadc: 2201 movs r2, #1 7003cade: f883 20c5 strb.w r2, [r3, #197] @ 0xc5 7003cae2: e5c7 b.n 7003c674 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x78> 7003cae4: 4b06 ldr r3, [pc, #24] @ (7003cb00 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x504>) 7003cae6: 6818 ldr r0, [r3, #0] 7003cae8: f7ef fb8e bl 7002c208 <_ZN8touchgfx8HALGPU2D16submitExecBufferEv> 7003caec: e759 b.n 7003c9a2 <_ZN8touchgfx12LCDGPU2D_AXI18drawTextureMapQuadERKNS_14DrawingSurfaceEPKNS_7Point3DERKNS_14TextureSurfaceERKNS_4RectESC_tht+0x3a6> 7003caee: 6818 ldr r0, [r3, #0] 7003caf0: b00b add sp, #44 @ 0x2c 7003caf2: ecbd 8b08 vpop {d8-d11} 7003caf6: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 7003cafa: f7ef bb85 b.w 7002c208 <_ZN8touchgfx8HALGPU2D16submitExecBufferEv> 7003cafe: bf00 nop 7003cb00: 2400e0dc .word 0x2400e0dc 7003cb04: 3d800000 .word 0x3d800000 7003cb08 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb>: 7003cb08: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 7003cb0c: b088 sub sp, #32 7003cb0e: f89d 9044 ldrb.w r9, [sp, #68] @ 0x44 7003cb12: f8dd 8040 ldr.w r8, [sp, #64] @ 0x40 7003cb16: f1b9 0f00 cmp.w r9, #0 7003cb1a: d03a beq.n 7003cb92 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x8a> 7003cb1c: 461e mov r6, r3 7003cb1e: f9b8 3004 ldrsh.w r3, [r8, #4] 7003cb22: 2b00 cmp r3, #0 7003cb24: dd35 ble.n 7003cb92 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x8a> 7003cb26: f9b8 3006 ldrsh.w r3, [r8, #6] 7003cb2a: 2b00 cmp r3, #0 7003cb2c: dd31 ble.n 7003cb92 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x8a> 7003cb2e: 460c mov r4, r1 7003cb30: 4605 mov r5, r0 7003cb32: 4608 mov r0, r1 7003cb34: 4617 mov r7, r2 7003cb36: f7d7 fd15 bl 70014564 <_ZNK8touchgfx6Bitmap8getWidthEv> 7003cb3a: 4682 mov sl, r0 7003cb3c: 4620 mov r0, r4 7003cb3e: f7d7 fd45 bl 700145cc <_ZNK8touchgfx6Bitmap9getHeightEv> 7003cb42: 2300 movs r3, #0 7003cb44: 4601 mov r1, r0 7003cb46: 4620 mov r0, r4 7003cb48: 461a mov r2, r3 7003cb4a: f367 030f bfi r3, r7, #0, #16 7003cb4e: f36a 020f bfi r2, sl, #0, #16 7003cb52: f366 431f bfi r3, r6, #16, #16 7003cb56: f361 421f bfi r2, r1, #16, #16 7003cb5a: e9cd 3202 strd r3, r2, [sp, #8] 7003cb5e: f7d7 fe79 bl 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv> 7003cb62: 280b cmp r0, #11 7003cb64: 4606 mov r6, r0 7003cb66: f000 812a beq.w 7003cdbe <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x2b6> 7003cb6a: 2801 cmp r0, #1 7003cb6c: d014 beq.n 7003cb98 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x90> 7003cb6e: f1a0 030e sub.w r3, r0, #14 7003cb72: b2db uxtb r3, r3 7003cb74: 2b02 cmp r3, #2 7003cb76: d813 bhi.n 7003cba0 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x98> 7003cb78: 4620 mov r0, r4 7003cb7a: f7d7 fde5 bl 70014748 <_ZNK8touchgfx6Bitmap7getDataEv> 7003cb7e: 4632 mov r2, r6 7003cb80: 4601 mov r1, r0 7003cb82: ab02 add r3, sp, #8 7003cb84: 4628 mov r0, r5 7003cb86: f8cd 9004 str.w r9, [sp, #4] 7003cb8a: f8cd 8000 str.w r8, [sp] 7003cb8e: f7f5 fa71 bl 70032074 <_ZN8touchgfx12LCDGPU2D_AXI21blitCopyCompressedRGBEPKhNS_6Bitmap12BitmapFormatERKNS_4RectES7_h> 7003cb92: b008 add sp, #32 7003cb94: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 7003cb98: 7b2b ldrb r3, [r5, #12] 7003cb9a: 2b02 cmp r3, #2 7003cb9c: f000 8122 beq.w 7003cde4 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x2dc> 7003cba0: ae02 add r6, sp, #8 7003cba2: aa04 add r2, sp, #16 7003cba4: ab06 add r3, sp, #24 7003cba6: e896 0003 ldmia.w r6, {r0, r1} 7003cbaa: e882 0003 stmia.w r2, {r0, r1} 7003cbae: f8d8 0000 ldr.w r0, [r8] 7003cbb2: f8d8 1004 ldr.w r1, [r8, #4] 7003cbb6: c303 stmia r3!, {r0, r1} 7003cbb8: 4610 mov r0, r2 7003cbba: f7d4 f905 bl 70010dc8 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectE> 7003cbbe: 4631 mov r1, r6 7003cbc0: a806 add r0, sp, #24 7003cbc2: f7d4 f945 bl 70010e50 <_ZN8touchgfx21DisplayTransformation29transformDisplayToFrameBufferERNS_4RectERKS1_> 7003cbc6: 4620 mov r0, r4 7003cbc8: f7d7 fdbe bl 70014748 <_ZNK8touchgfx6Bitmap7getDataEv> 7003cbcc: 4606 mov r6, r0 7003cbce: 4620 mov r0, r4 7003cbd0: f7d7 fe40 bl 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv> 7003cbd4: 2802 cmp r0, #2 7003cbd6: f000 80eb beq.w 7003cdb0 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x2a8> 7003cbda: 280d cmp r0, #13 7003cbdc: f000 80e3 beq.w 7003cda6 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x29e> 7003cbe0: 2800 cmp r0, #0 7003cbe2: d1d6 bne.n 7003cb92 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x8a> 7003cbe4: 2704 movs r7, #4 7003cbe6: f8bd 2018 ldrh.w r2, [sp, #24] 7003cbea: f8bd 1010 ldrh.w r1, [sp, #16] 7003cbee: f8bd 301a ldrh.w r3, [sp, #26] 7003cbf2: 440a add r2, r1 7003cbf4: f8df 8228 ldr.w r8, [pc, #552] @ 7003ce20 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x318> 7003cbf8: f8ad 2018 strh.w r2, [sp, #24] 7003cbfc: f8bd 2012 ldrh.w r2, [sp, #18] 7003cc00: f8d8 0000 ldr.w r0, [r8] 7003cc04: 4413 add r3, r2 7003cc06: f8ad 301a strh.w r3, [sp, #26] 7003cc0a: f7ef fad9 bl 7002c1c0 <_ZN8touchgfx8HALGPU2D14bindExecBufferEv> 7003cc0e: f895 a00c ldrb.w sl, [r5, #12] 7003cc12: f1ba 0f00 cmp.w sl, #0 7003cc16: d16b bne.n 7003ccf0 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x1e8> 7003cc18: 2f04 cmp r7, #4 7003cc1a: d169 bne.n 7003ccf0 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x1e8> 7003cc1c: f1b9 0fff cmp.w r9, #255 @ 0xff 7003cc20: d166 bne.n 7003ccf0 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x1e8> 7003cc22: f8bd 2018 ldrh.w r2, [sp, #24] 7003cc26: f8bd 301c ldrh.w r3, [sp, #28] 7003cc2a: f8bd 1010 ldrh.w r1, [sp, #16] 7003cc2e: 4313 orrs r3, r2 7003cc30: f8bd 2014 ldrh.w r2, [sp, #20] 7003cc34: 4313 orrs r3, r2 7003cc36: 4a76 ldr r2, [pc, #472] @ (7003ce10 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x308>) 7003cc38: 430b orrs r3, r1 7003cc3a: 8812 ldrh r2, [r2, #0] 7003cc3c: 4313 orrs r3, r2 7003cc3e: 07db lsls r3, r3, #31 7003cc40: f100 808a bmi.w 7003cd58 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x250> 7003cc44: 0854 lsrs r4, r2, #1 7003cc46: 4b73 ldr r3, [pc, #460] @ (7003ce14 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x30c>) 7003cc48: f8d8 5000 ldr.w r5, [r8] 7003cc4c: 00a7 lsls r7, r4, #2 7003cc4e: 781b ldrb r3, [r3, #0] 7003cc50: b2bf uxth r7, r7 7003cc52: 2b00 cmp r3, #0 7003cc54: f040 80d2 bne.w 7003cdfc <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x2f4> 7003cc58: 6c2b ldr r3, [r5, #64] @ 0x40 7003cc5a: 4618 mov r0, r3 7003cc5c: 4a6e ldr r2, [pc, #440] @ (7003ce18 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x310>) 7003cc5e: 2310 movs r3, #16 7003cc60: 4621 mov r1, r4 7003cc62: 9700 str r7, [sp, #0] 7003cc64: 8812 ldrh r2, [r2, #0] 7003cc66: f7db fa19 bl 7001809c 7003cc6a: f9bd 201c ldrsh.w r2, [sp, #28] 7003cc6e: f9bd 0018 ldrsh.w r0, [sp, #24] 7003cc72: eb02 72d2 add.w r2, r2, r2, lsr #31 7003cc76: f9bd 301e ldrsh.w r3, [sp, #30] 7003cc7a: eb00 70d0 add.w r0, r0, r0, lsr #31 7003cc7e: f9bd 101a ldrsh.w r1, [sp, #26] 7003cc82: 1052 asrs r2, r2, #1 7003cc84: 1040 asrs r0, r0, #1 7003cc86: f7db f85d bl 70017d44 7003cc8a: 2201 movs r2, #1 7003cc8c: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7003cc90: 2100 movs r1, #0 7003cc92: 4610 mov r0, r2 7003cc94: f7ec ff94 bl 70029bc0 7003cc98: 2200 movs r2, #0 7003cc9a: 23ff movs r3, #255 @ 0xff 7003cc9c: 4611 mov r1, r2 7003cc9e: 4610 mov r0, r2 7003cca0: f7db f9ba bl 70018018 7003cca4: f7ed fb02 bl 7002a2ac 7003cca8: f9bd 1014 ldrsh.w r1, [sp, #20] 7003ccac: 2200 movs r2, #0 7003ccae: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7003ccb2: eb01 71d1 add.w r1, r1, r1, lsr #31 7003ccb6: 4630 mov r0, r6 7003ccb8: e9cd 3200 strd r3, r2, [sp] 7003ccbc: 1049 asrs r1, r1, #1 7003ccbe: 2310 movs r3, #16 7003ccc0: f9bd 2016 ldrsh.w r2, [sp, #22] 7003ccc4: f7db f9b0 bl 70018028 7003ccc8: f9bd 0010 ldrsh.w r0, [sp, #16] 7003cccc: f9bd 1012 ldrsh.w r1, [sp, #18] 7003ccd0: eb00 70d0 add.w r0, r0, r0, lsr #31 7003ccd4: 1040 asrs r0, r0, #1 7003ccd6: f7db fb1d bl 70018314 7003ccda: 20fc movs r0, #252 @ 0xfc 7003ccdc: f7c6 fca8 bl 70003630 7003cce0: 2800 cmp r0, #0 7003cce2: d067 beq.n 7003cdb4 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x2ac> 7003cce4: f8d8 3000 ldr.w r3, [r8] 7003cce8: 2201 movs r2, #1 7003ccea: f883 20c5 strb.w r2, [r3, #197] @ 0xc5 7003ccee: e750 b.n 7003cb92 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x8a> 7003ccf0: 682b ldr r3, [r5, #0] 7003ccf2: 4628 mov r0, r5 7003ccf4: 6d9b ldr r3, [r3, #88] @ 0x58 7003ccf6: 4798 blx r3 7003ccf8: f9bd 301e ldrsh.w r3, [sp, #30] 7003ccfc: f9bd 201c ldrsh.w r2, [sp, #28] 7003cd00: f9bd 101a ldrsh.w r1, [sp, #26] 7003cd04: f9bd 0018 ldrsh.w r0, [sp, #24] 7003cd08: f7db f81c bl 70017d44 7003cd0c: 2200 movs r2, #0 7003cd0e: 464b mov r3, r9 7003cd10: 4611 mov r1, r2 7003cd12: 4610 mov r0, r2 7003cd14: f7db f980 bl 70018018 7003cd18: f7ed fac8 bl 7002a2ac 7003cd1c: f1b9 0fff cmp.w r9, #255 @ 0xff 7003cd20: d030 beq.n 7003cd84 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x27c> 7003cd22: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7003cd26: 2201 movs r2, #1 7003cd28: 2100 movs r1, #0 7003cd2a: 483c ldr r0, [pc, #240] @ (7003ce1c <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x314>) 7003cd2c: f7ec ff48 bl 70029bc0 7003cd30: 2100 movs r1, #0 7003cd32: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff 7003cd36: 4630 mov r0, r6 7003cd38: 463b mov r3, r7 7003cd3a: e9cd 2100 strd r2, r1, [sp] 7003cd3e: f9bd 1014 ldrsh.w r1, [sp, #20] 7003cd42: f9bd 2016 ldrsh.w r2, [sp, #22] 7003cd46: f7db f96f bl 70018028 7003cd4a: f9bd 1012 ldrsh.w r1, [sp, #18] 7003cd4e: f9bd 0010 ldrsh.w r0, [sp, #16] 7003cd52: f7db fadf bl 70018314 7003cd56: e7c0 b.n 7003ccda <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x1d2> 7003cd58: 682b ldr r3, [r5, #0] 7003cd5a: 4628 mov r0, r5 7003cd5c: 6d9b ldr r3, [r3, #88] @ 0x58 7003cd5e: 4798 blx r3 7003cd60: f9bd 301e ldrsh.w r3, [sp, #30] 7003cd64: f9bd 201c ldrsh.w r2, [sp, #28] 7003cd68: f9bd 101a ldrsh.w r1, [sp, #26] 7003cd6c: f9bd 0018 ldrsh.w r0, [sp, #24] 7003cd70: f7da ffe8 bl 70017d44 7003cd74: 23ff movs r3, #255 @ 0xff 7003cd76: 4652 mov r2, sl 7003cd78: 4651 mov r1, sl 7003cd7a: 4650 mov r0, sl 7003cd7c: f7db f94c bl 70018018 7003cd80: f7ed fa94 bl 7002a2ac 7003cd84: 4620 mov r0, r4 7003cd86: f7d7 fd65 bl 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv> 7003cd8a: b120 cbz r0, 7003cd96 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x28e> 7003cd8c: 4620 mov r0, r4 7003cd8e: f7d7 fd61 bl 70014854 <_ZNK8touchgfx6Bitmap9getFormatEv> 7003cd92: 2801 cmp r0, #1 7003cd94: d1c5 bne.n 7003cd22 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x21a> 7003cd96: 2201 movs r2, #1 7003cd98: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff 7003cd9c: 2100 movs r1, #0 7003cd9e: 4610 mov r0, r2 7003cda0: f7ec ff0e bl 70029bc0 7003cda4: e7c4 b.n 7003cd30 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x228> 7003cda6: 4620 mov r0, r4 7003cda8: f7d7 fcfe bl 700147a8 <_ZNK8touchgfx6Bitmap12getExtraDataEv> 7003cdac: 7807 ldrb r7, [r0, #0] 7003cdae: e71a b.n 7003cbe6 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0xde> 7003cdb0: 2710 movs r7, #16 7003cdb2: e718 b.n 7003cbe6 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0xde> 7003cdb4: f8d8 0000 ldr.w r0, [r8] 7003cdb8: f7ef fa26 bl 7002c208 <_ZN8touchgfx8HALGPU2D16submitExecBufferEv> 7003cdbc: e6e9 b.n 7003cb92 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x8a> 7003cdbe: 4620 mov r0, r4 7003cdc0: f7d7 fcc2 bl 70014748 <_ZNK8touchgfx6Bitmap7getDataEv> 7003cdc4: 4601 mov r1, r0 7003cdc6: 4620 mov r0, r4 7003cdc8: 460c mov r4, r1 7003cdca: f7d7 fced bl 700147a8 <_ZNK8touchgfx6Bitmap12getExtraDataEv> 7003cdce: ab02 add r3, sp, #8 7003cdd0: 4602 mov r2, r0 7003cdd2: 4621 mov r1, r4 7003cdd4: 4628 mov r0, r5 7003cdd6: f8cd 9004 str.w r9, [sp, #4] 7003cdda: f8cd 8000 str.w r8, [sp] 7003cdde: f7f7 fb77 bl 700344d0 <_ZN8touchgfx12LCDGPU2D_AXI10blitCopyL8EPKhS2_RKNS_4RectES5_h> 7003cde2: e6d6 b.n 7003cb92 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x8a> 7003cde4: 4620 mov r0, r4 7003cde6: f7d7 fcaf bl 70014748 <_ZNK8touchgfx6Bitmap7getDataEv> 7003cdea: 4643 mov r3, r8 7003cdec: 4601 mov r1, r0 7003cdee: aa02 add r2, sp, #8 7003cdf0: 4628 mov r0, r5 7003cdf2: f8cd 9000 str.w r9, [sp] 7003cdf6: f7f5 f96d bl 700320d4 <_ZN8touchgfx12LCDGPU2D_AXI20blitCopyRGB888_32BPPEPKhRKNS_4RectES5_h> 7003cdfa: e6ca b.n 7003cb92 <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x8a> 7003cdfc: 682b ldr r3, [r5, #0] 7003cdfe: 4628 mov r0, r5 7003ce00: 6b5b ldr r3, [r3, #52] @ 0x34 7003ce02: 4798 blx r3 7003ce04: 6c2b ldr r3, [r5, #64] @ 0x40 7003ce06: 4283 cmp r3, r0 7003ce08: f47f af27 bne.w 7003cc5a <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x152> 7003ce0c: 6c68 ldr r0, [r5, #68] @ 0x44 7003ce0e: e725 b.n 7003cc5c <_ZN8touchgfx12LCDGPU2D_AXI17drawPartialBitmapERKNS_6BitmapEssRKNS_4RectEhb+0x154> 7003ce10: 2400da78 .word 0x2400da78 7003ce14: 2400da74 .word 0x2400da74 7003ce18: 2400da76 .word 0x2400da76 7003ce1c: 08000504 .word 0x08000504 7003ce20: 2400e0dc .word 0x2400e0dc