diff --git a/Firmware/.vs/RTLGDB/v14/.suo b/Firmware/.vs/RTLGDB/v14/.suo
new file mode 100644
index 0000000..e7f1043
Binary files /dev/null and b/Firmware/.vs/RTLGDB/v14/.suo differ
diff --git a/Firmware/.vs/config/applicationhost.config b/Firmware/.vs/config/applicationhost.config
new file mode 100644
index 0000000..b42cd34
--- /dev/null
+++ b/Firmware/.vs/config/applicationhost.config
@@ -0,0 +1,1030 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Firmware/RTLGDB.VC.db b/Firmware/RTLGDB.VC.db
new file mode 100644
index 0000000..9f8d37f
Binary files /dev/null and b/Firmware/RTLGDB.VC.db differ
diff --git a/Firmware/RTLGDB.sln b/Firmware/RTLGDB.sln
new file mode 100644
index 0000000..c654750
--- /dev/null
+++ b/Firmware/RTLGDB.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RTLGDB", "RTLGDB\RTLGDB.vcxproj", "{3D8B16B6-9763-48AD-A514-F45680E8613B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {3D8B16B6-9763-48AD-A514-F45680E8613B}.Debug|x64.ActiveCfg = Debug|Win32
+ {3D8B16B6-9763-48AD-A514-F45680E8613B}.Debug|x64.Build.0 = Debug|Win32
+ {3D8B16B6-9763-48AD-A514-F45680E8613B}.Debug|x86.ActiveCfg = Debug|Win32
+ {3D8B16B6-9763-48AD-A514-F45680E8613B}.Debug|x86.Build.0 = Debug|Win32
+ {3D8B16B6-9763-48AD-A514-F45680E8613B}.Release|x64.ActiveCfg = Release|x64
+ {3D8B16B6-9763-48AD-A514-F45680E8613B}.Release|x64.Build.0 = Release|x64
+ {3D8B16B6-9763-48AD-A514-F45680E8613B}.Release|x86.ActiveCfg = Release|Win32
+ {3D8B16B6-9763-48AD-A514-F45680E8613B}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Firmware/RTLGDB/Assets/LinuxDebugger.xaml b/Firmware/RTLGDB/Assets/LinuxDebugger.xaml
new file mode 100644
index 0000000..62f89b1
--- /dev/null
+++ b/Firmware/RTLGDB/Assets/LinuxDebugger.xaml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Firmware/RTLGDB/Assets/LocalDebugger.xaml b/Firmware/RTLGDB/Assets/LocalDebugger.xaml
new file mode 100644
index 0000000..8b12d3c
--- /dev/null
+++ b/Firmware/RTLGDB/Assets/LocalDebugger.xaml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Firmware/RTLGDB/Assets/OCDDebugger.xaml b/Firmware/RTLGDB/Assets/OCDDebugger.xaml
new file mode 100644
index 0000000..d36f931
--- /dev/null
+++ b/Firmware/RTLGDB/Assets/OCDDebugger.xaml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Firmware/RTLGDB/Assets/linux_nmake.xaml b/Firmware/RTLGDB/Assets/linux_nmake.xaml
new file mode 100644
index 0000000..b429ebd
--- /dev/null
+++ b/Firmware/RTLGDB/Assets/linux_nmake.xaml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Firmware/RTLGDB/Debug/RTLGDB.log b/Firmware/RTLGDB/Debug/RTLGDB.log
new file mode 100644
index 0000000..b31ad07
--- /dev/null
+++ b/Firmware/RTLGDB/Debug/RTLGDB.log
@@ -0,0 +1,49 @@
+ ===========================================================
+ Compile (Debug)
+ project/user_start.c
+ project/WS2812/ledfilters.c
+ project/WS2812/ledeffectsserver.c
+ project/web/web_int_callbacks.c
+ project/web/web_int_vars.c
+ ===========================================================
+ Link (Debug)
+ ===========================================================
+ Build names map file
+ Debug/obj/Debug.nmap
+ ===========================================================
+ Create image1r (Debug/bin/ram_1.r.bin)
+ b:268438472 s:268438472 e:268446992
+ size 8520
+ append fw head b000
+ copy size 8520
+ ===========================================================
+ Create image2ns (Debug/bin/ram_2.ns.bin)
+ b:268460032 s:268460032 e:268727448
+ size 267416
+ copy size 267416
+ ===========================================================
+ Create image3 (SDRAM, Debug/bin/sdram.p.bin)
+ 30000000 30000000
+ b:805306368 s:805306368 e:805306368
+ size 0
+ copy size 0
+ ===========================================================
+ Make OTA image (Debug/bin/ota.bin)
+ size = 267448
+
+ checksum 1a71a99
+
+ ===========================================================
+ Create image2p (Debug/bin/ram_2.p.bin)
+ b:268460032 s:268460032 e:268727448
+ size 267416
+ copy size 267416
+ ===========================================================
+ Make Flash image (Debug/bin/ram_all.bin)
+ total 44 k, padding data 0, name Debug/bin/ram_all.bin
+ Original size zd
+ Padding size zd
+ -----------------------------------------------------------
+ Image (Debug/bin/ota.bin) size 267452 bytes
+ Image (Debug/bin/ram_all.bin) size 312504 bytes
+ ===========================================================
diff --git a/Firmware/RTLGDB/Debug/bin/WEBFiles.bin b/Firmware/RTLGDB/Debug/bin/WEBFiles.bin
new file mode 100644
index 0000000..7a85938
Binary files /dev/null and b/Firmware/RTLGDB/Debug/bin/WEBFiles.bin differ
diff --git a/Firmware/RTLGDB/Debug/bin/ota.bin b/Firmware/RTLGDB/Debug/bin/ota.bin
new file mode 100644
index 0000000..f431827
Binary files /dev/null and b/Firmware/RTLGDB/Debug/bin/ota.bin differ
diff --git a/Firmware/RTLGDB/Debug/bin/ram_1.p.bin b/Firmware/RTLGDB/Debug/bin/ram_1.p.bin
new file mode 100644
index 0000000..49416ed
Binary files /dev/null and b/Firmware/RTLGDB/Debug/bin/ram_1.p.bin differ
diff --git a/Firmware/RTLGDB/Debug/bin/ram_1.r.bin b/Firmware/RTLGDB/Debug/bin/ram_1.r.bin
new file mode 100644
index 0000000..17d86c8
Binary files /dev/null and b/Firmware/RTLGDB/Debug/bin/ram_1.r.bin differ
diff --git a/Firmware/RTLGDB/Debug/bin/ram_2.bin b/Firmware/RTLGDB/Debug/bin/ram_2.bin
new file mode 100644
index 0000000..e6fbd9d
Binary files /dev/null and b/Firmware/RTLGDB/Debug/bin/ram_2.bin differ
diff --git a/Firmware/RTLGDB/Debug/bin/ram_2.ns.bin b/Firmware/RTLGDB/Debug/bin/ram_2.ns.bin
new file mode 100644
index 0000000..34ff055
Binary files /dev/null and b/Firmware/RTLGDB/Debug/bin/ram_2.ns.bin differ
diff --git a/Firmware/RTLGDB/Debug/bin/ram_2.p.bin b/Firmware/RTLGDB/Debug/bin/ram_2.p.bin
new file mode 100644
index 0000000..b644ca1
Binary files /dev/null and b/Firmware/RTLGDB/Debug/bin/ram_2.p.bin differ
diff --git a/Firmware/RTLGDB/Debug/bin/ram_all.bin b/Firmware/RTLGDB/Debug/bin/ram_all.bin
new file mode 100644
index 0000000..14b576c
Binary files /dev/null and b/Firmware/RTLGDB/Debug/bin/ram_all.bin differ
diff --git a/Firmware/RTLGDB/Debug/bin/sdram.bin b/Firmware/RTLGDB/Debug/bin/sdram.bin
new file mode 100644
index 0000000..e69de29
diff --git a/Firmware/RTLGDB/Debug/bin/sdram.p.bin b/Firmware/RTLGDB/Debug/bin/sdram.p.bin
new file mode 100644
index 0000000..d8debf7
Binary files /dev/null and b/Firmware/RTLGDB/Debug/bin/sdram.p.bin differ
diff --git a/Firmware/RTLGDB/Debug/bin/web_vars.txt b/Firmware/RTLGDB/Debug/bin/web_vars.txt
new file mode 100644
index 0000000..a090677
--- /dev/null
+++ b/Firmware/RTLGDB/Debug/bin/web_vars.txt
@@ -0,0 +1,9 @@
+ws_filt_rbw_enbl
+ws_filt_flick_enbl
+ws_filt_fd_enbl
+ws_filt_rbw_huesteps
+ws_filt_rbw_cyclesteps
+ws_filt_fd_cyclesteps
+ws_filt_fd_min
+ws_filt_fd_max
+ws_filt_fd_chance
diff --git a/Firmware/RTLGDB/Debug/obj/Debug.asm b/Firmware/RTLGDB/Debug/obj/Debug.asm
new file mode 100644
index 0000000..1463dca
--- /dev/null
+++ b/Firmware/RTLGDB/Debug/obj/Debug.asm
@@ -0,0 +1,93015 @@
+
+Debug/obj/Debug.axf: file format elf32-littlearm
+
+
+Disassembly of section .ram_image1.text:
+
+10000bc8 <__ram_image1_text_start__>:
+10000bc8: 10002ca5 .word 0x10002ca5
+10000bcc: 10002c9f .word 0x10002c9f
+10000bd0: 10002c99 .word 0x10002c99
+10000bd4: 10002c93 .word 0x10002c93
+10000bd8: 10002c8d .word 0x10002c8d
+
+10000bdc :
+10000bdc: 88167923 ffffffff #y......
+
+10000be4 :
+10000be4: 075bcd15 ..[.
+
+10000be8 :
+ ...
+
+10001be8 :
+10001be8: 10001c4c 10001c30 10001bfc 00002710 L...0........'..
+10001bf8: 00000000 ....
+
+10001bfc :
+10001bfc: 0000ea60 007733a0 00000002 00003a98 `....3w......:..
+10001c0c: 00003a98 0000a410 00000002 00004e20 .:.......... N..
+10001c1c: 00000000 00000002 00000000 00000001 ................
+10001c2c: 0000ea60 `...
+
+10001c30 :
+ ...
+10001c38: 00000003 00000000 00000000 00000000 ................
+10001c48: 00000000 ....
+
+10001c4c :
+10001c4c: 00000008 00000000 00000000 00000000 ................
+10001c5c: 00000000 ....
+
+10001c60 <_rtl_impure_ptr>:
+10001c60: 10001c68 00000000 h.......
+
+10001c68 :
+10001c68: 00000000 10001f54 10001fbc 10002024 ....T.......$ ..
+ ...
+10001c9c: 000437dc 00000000 00000000 00000000 .7..............
+ ...
+10001d10: 00000001 00000000 abcd330e e66d1234 .........3..4.m.
+10001d20: 0005deec 0000000b 00000000 00000000 ................
+ ...
+
+10002090 <_rom_unc_data>:
+ ...
+
+100020b4 <_sdr_rnd2_y>:
+100020b4: 000587c4 ....
+
+100020b8 <_sdr_rnd2_z>:
+100020b8: 1f123bb5 .;..
+
+100020bc <_sdr_rnd2_c>:
+100020bc: 0074cbb1 ..t.
+
+100020c0 :
+ ...
+
+100021ec :
+ ...
+1000227c: 3d3d3d0d 45203d3d 7265746e 414c4620 .===== Enter FLA
+1000228c: 422d4853 20746f6f 3d3d3d3d 3d0d000a SH-Boot ====...=
+1000229c: 3d3d3d3d 746e4520 53207265 2d4d4152 ==== Enter SRAM-
+100022ac: 746f6f42 20642520 3d3d3d3d 5043000a Boot %d ====..CP
+100022bc: 4c432055 25203a4b 7a482064 4f53202c U CLK: %d Hz, SO
+100022cc: 55462043 4520434e 25203a4e 47000a70 C FUNC EN: %p..G
+100022dc: 43207465 20706968 46204449 656c6961 et Chip ID Faile
+100022ec: 53000d64 20636970 6e696572 25207469 d..Spic reinit %
+100022fc: 64253a64 7053000a 49206369 2074696e d:%d..Spic Init
+1000230c: 6c696166 53000a21 63205244 62696c61 fail!..SDR calib
+1000231c: 69746172 203a6e6f 78323025 3230252d ration: %02x-%02
+1000232c: 57000a78 69746961 6620676e 5320726f x..Waiting for S
+1000233c: 4d415244 206f7420 64616f6c 0a2e2e2e DRAM to load....
+1000234c: 52445300 6c204d41 2064616f 000a6b6f .SDRAM load ok..
+1000235c: 656c6553 64657463 616d4920 25206567 Selected Image %
+1000236c: 000a2e64 64616f4c 616c4620 73206873 d...Load Flash s
+1000237c: 64256765 7830203a 78383025 203e2d20 eg%d: 0x%08x ->
+1000238c: 203a7325 30257830 202c7838 657a6973 %s: 0x%08x, size
+1000239c: 6425203a 6f4e000a 616d4920 64256567 : %d..No Image%d
+100023ac: 72542021 676e6979 616d4920 2e306567 ! Trying Image0.
+100023bc: 000a2e2e 49206f4e 6567616d 000a2130 ....No Image0!..
+100023cc: 574b5452 49006e69 6c61766e 49206469 RTKWin.Invalid I
+100023dc: 6567616d 67695320 7574616e 0a216572 mage Signature!.
+100023ec: 676d4900 67695320 25203a6e 47202c73 .Img Sign: %s, G
+100023fc: 2040206f 30257830 0a0d7838 4b4e5500 o @ 0x%08x...UNK
+1000240c: 41525300 4354004d 4453004d 004d4152 .SRAM.TCM.SDRAM.
+1000241c: 00434f53 53414c46 50430048 4f520055 SOC.FLASH.CPU.RO
+1000242c: 0000004d M...
+
+10002430 :
+10002430: 10000000 10070000 1fff0000 20000000 ...............
+10002440: 30000000 30200000 40000000 40800000 ...0.. 0...@...@
+10002450: 98000000 a0000000 e0000000 e0010000 ................
+10002460: 00000000 00050000 ........
+
+10002468 :
+10002468: 10002409 1000240d 10002412 10002416 .$...$...$...$..
+10002478: 1000241c 10002420 10002426 1000242a .$.. $..&$..*$..
+
+10002488 :
+10002488: 4603 mov r3, r0
+1000248a: f1b0 4f18 cmp.w r0, #2550136832 ; 0x98000000
+1000248e: bf38 it cc
+10002490: f100 4318 addcc.w r3, r0, #2550136832 ; 0x98000000
+10002494: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr}
+10002496: f023 0003 bic.w r0, r3, #3
+1000249a: f013 0303 ands.w r3, r3, #3
+1000249e: d02f beq.n 10002500
+100024a0: 1d05 adds r5, r0, #4
+100024a2: 6800 ldr r0, [r0, #0]
+100024a4: ac02 add r4, sp, #8
+100024a6: f844 0d04 str.w r0, [r4, #-4]!
+100024aa: 1e5e subs r6, r3, #1
+100024ac: 4426 add r6, r4
+100024ae: 4614 mov r4, r2
+100024b0: 1a5b subs r3, r3, r1
+100024b2: b13c cbz r4, 100024c4
+100024b4: f816 0f01 ldrb.w r0, [r6, #1]!
+100024b8: 3c01 subs r4, #1
+100024ba: f801 0b01 strb.w r0, [r1], #1
+100024be: 18c8 adds r0, r1, r3
+100024c0: 0747 lsls r7, r0, #29
+100024c2: d5f6 bpl.n 100024b2
+100024c4: 460b mov r3, r1
+100024c6: 08a0 lsrs r0, r4, #2
+100024c8: 0087 lsls r7, r0, #2
+100024ca: eb05 0e07 add.w lr, r5, r7
+100024ce: 4575 cmp r5, lr
+100024d0: f103 0304 add.w r3, r3, #4
+100024d4: d117 bne.n 10002506
+100024d6: 07a6 lsls r6, r4, #30
+100024d8: eb01 0307 add.w r3, r1, r7
+100024dc: d00d beq.n 100024fa
+100024de: 682d ldr r5, [r5, #0]
+100024e0: f801 5020 strb.w r5, [r1, r0, lsl #2]
+100024e4: 07a0 lsls r0, r4, #30
+100024e6: 9501 str r5, [sp, #4]
+100024e8: d507 bpl.n 100024fa
+100024ea: f89d 1005 ldrb.w r1, [sp, #5]
+100024ee: 7059 strb r1, [r3, #1]
+100024f0: 07e1 lsls r1, r4, #31
+100024f2: bf44 itt mi
+100024f4: f89d 1006 ldrbmi.w r1, [sp, #6]
+100024f8: 7099 strbmi r1, [r3, #2]
+100024fa: 4610 mov r0, r2
+100024fc: b003 add sp, #12
+100024fe: bdf0 pop {r4, r5, r6, r7, pc}
+10002500: 4614 mov r4, r2
+10002502: 4605 mov r5, r0
+10002504: e7de b.n 100024c4
+10002506: f855 6b04 ldr.w r6, [r5], #4
+1000250a: f3c6 2c07 ubfx ip, r6, #8, #8
+1000250e: f803 6c04 strb.w r6, [r3, #-4]
+10002512: f803 cc03 strb.w ip, [r3, #-3]
+10002516: f3c6 4c07 ubfx ip, r6, #16, #8
+1000251a: 0e36 lsrs r6, r6, #24
+1000251c: f803 cc02 strb.w ip, [r3, #-2]
+10002520: f803 6c01 strb.w r6, [r3, #-1]
+10002524: e7d3 b.n 100024ce
+ ...
+
+10002528 :
+10002528: 2900 cmp r1, #0
+1000252a: b510 push {r4, lr}
+1000252c: dd0f ble.n 1000254e
+1000252e: 2300 movs r3, #0
+10002530: 4a08 ldr r2, [pc, #32] ; (10002554 )
+10002532: 4401 add r1, r0
+10002534: f852 4c08 ldr.w r4, [r2, #-8]
+10002538: 3301 adds r3, #1
+1000253a: 4284 cmp r4, r0
+1000253c: d803 bhi.n 10002546
+1000253e: f852 4c04 ldr.w r4, [r2, #-4]
+10002542: 42a1 cmp r1, r4
+10002544: d904 bls.n 10002550
+10002546: 2b08 cmp r3, #8
+10002548: f102 0208 add.w r2, r2, #8
+1000254c: d1f2 bne.n 10002534
+1000254e: 2300 movs r3, #0
+10002550: 4618 mov r0, r3
+10002552: bd10 pop {r4, pc}
+10002554: 10002438 .word 0x10002438
+
+10002558 :
+10002558: 4b06 ldr r3, [pc, #24] ; (10002574 )
+1000255a: 213f movs r1, #63 ; 0x3f
+1000255c: 6818 ldr r0, [r3, #0]
+1000255e: 2305 movs r3, #5
+10002560: 7083 strb r3, [r0, #2]
+10002562: 2301 movs r3, #1
+10002564: 7183 strb r3, [r0, #6]
+10002566: 6882 ldr r2, [r0, #8]
+10002568: 7051 strb r1, [r2, #1]
+1000256a: 6882 ldr r2, [r0, #8]
+1000256c: 7013 strb r3, [r2, #0]
+1000256e: 7103 strb r3, [r0, #4]
+10002570: 4b01 ldr r3, [pc, #4] ; (10002578 )
+10002572: 4718 bx r3
+10002574: 10000384 .word 0x10000384
+10002578: 0000ed49 .word 0x0000ed49
+
+1000257c :
+1000257c: 2100 movs r1, #0
+1000257e: 4602 mov r2, r0
+10002580: 4b0c ldr r3, [pc, #48] ; (100025b4 )
+10002582: b530 push {r4, r5, lr}
+10002584: 33d8 adds r3, #216 ; 0xd8
+10002586: f843 1cd8 str.w r1, [r3, #-216]
+1000258a: f100 010f add.w r1, r0, #15
+1000258e: f812 4b01 ldrb.w r4, [r2], #1
+10002592: 1d1d adds r5, r3, #4
+10002594: 428a cmp r2, r1
+10002596: 601c str r4, [r3, #0]
+10002598: d309 bcc.n 100025ae
+1000259a: 6902 ldr r2, [r0, #16]
+1000259c: 605a str r2, [r3, #4]
+1000259e: 8a82 ldrh r2, [r0, #20]
+100025a0: 609a str r2, [r3, #8]
+100025a2: 7bc2 ldrb r2, [r0, #15]
+100025a4: 60da str r2, [r3, #12]
+100025a6: 2201 movs r2, #1
+100025a8: 4b03 ldr r3, [pc, #12] ; (100025b8 )
+100025aa: 601a str r2, [r3, #0]
+100025ac: bd30 pop {r4, r5, pc}
+100025ae: 462b mov r3, r5
+100025b0: e7ed b.n 1000258e
+100025b2: bf00 nop
+100025b4: 40006008 .word 0x40006008
+100025b8: 40006010 .word 0x40006010
+
+100025bc :
+100025bc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+100025c0: 4604 mov r4, r0
+100025c2: b09b sub sp, #108 ; 0x6c
+100025c4: 4fa8 ldr r7, [pc, #672] ; (10002868 )
+100025c6: b120 cbz r0, 100025d2
+100025c8: 48a8 ldr r0, [pc, #672] ; (1000286c )
+100025ca: 4aa9 ldr r2, [pc, #676] ; (10002870 )
+100025cc: 2100 movs r1, #0
+100025ce: 1a12 subs r2, r2, r0
+100025d0: 47b8 blx r7
+100025d2: b671 cpsid f
+100025d4: 4ba7 ldr r3, [pc, #668] ; (10002874 )
+100025d6: 2100 movs r1, #0
+100025d8: 681a ldr r2, [r3, #0]
+100025da: 20d8 movs r0, #216 ; 0xd8
+100025dc: f042 0240 orr.w r2, r2, #64 ; 0x40
+100025e0: 601a str r2, [r3, #0]
+100025e2: 681a ldr r2, [r3, #0]
+100025e4: 4ea4 ldr r6, [pc, #656] ; (10002878 )
+100025e6: f042 0280 orr.w r2, r2, #128 ; 0x80
+100025ea: 601a str r2, [r3, #0]
+100025ec: 2201 movs r2, #1
+100025ee: 47b0 blx r6
+100025f0: f04f 33ff mov.w r3, #4294967295
+100025f4: 4aa1 ldr r2, [pc, #644] ; (1000287c )
+100025f6: 4da2 ldr r5, [pc, #648] ; (10002880 )
+100025f8: 6013 str r3, [r2, #0]
+100025fa: 4aa2 ldr r2, [pc, #648] ; (10002884 )
+100025fc: 602b str r3, [r5, #0]
+100025fe: 6013 str r3, [r2, #0]
+10002600: 4aa1 ldr r2, [pc, #644] ; (10002888 )
+10002602: f8df 8308 ldr.w r8, [pc, #776] ; 1000290c
+10002606: 6013 str r3, [r2, #0]
+10002608: 4aa0 ldr r2, [pc, #640] ; (1000288c )
+1000260a: 2100 movs r1, #0
+1000260c: 6813 ldr r3, [r2, #0]
+1000260e: 4640 mov r0, r8
+10002610: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000
+10002614: f443 03c0 orr.w r3, r3, #6291456 ; 0x600000
+10002618: 6013 str r3, [r2, #0]
+1000261a: 6c53 ldr r3, [r2, #68] ; 0x44
+1000261c: 46aa mov sl, r5
+1000261e: f023 0318 bic.w r3, r3, #24
+10002622: f043 0308 orr.w r3, r3, #8
+10002626: 6453 str r3, [r2, #68] ; 0x44
+10002628: f8d2 3220 ldr.w r3, [r2, #544] ; 0x220
+1000262c: f023 0301 bic.w r3, r3, #1
+10002630: f8c2 3220 str.w r3, [r2, #544] ; 0x220
+10002634: f8d2 31f4 ldr.w r3, [r2, #500] ; 0x1f4
+10002638: f023 0303 bic.w r3, r3, #3
+1000263c: f8c2 31f4 str.w r3, [r2, #500] ; 0x1f4
+10002640: f8d2 3280 ldr.w r3, [r2, #640] ; 0x280
+10002644: f023 0301 bic.w r3, r3, #1
+10002648: f8c2 3280 str.w r3, [r2, #640] ; 0x280
+1000264c: f44f 7296 mov.w r2, #300 ; 0x12c
+10002650: 47b8 blx r7
+10002652: 4b8f ldr r3, [pc, #572] ; (10002890 )
+10002654: f8c3 8000 str.w r8, [r3]
+10002658: 4b8e ldr r3, [pc, #568] ; (10002894 )
+1000265a: 681b ldr r3, [r3, #0]
+1000265c: f413 5f80 tst.w r3, #4096 ; 0x1000
+10002660: d007 beq.n 10002672
+10002662: f244 0301 movw r3, #16385 ; 0x4001
+10002666: 4a8c ldr r2, [pc, #560] ; (10002898 )
+10002668: 7811 ldrb r1, [r2, #0]
+1000266a: 0649 lsls r1, r1, #25
+1000266c: d401 bmi.n 10002672
+1000266e: 3b01 subs r3, #1
+10002670: d1fa bne.n 10002668
+10002672: 4a8a ldr r2, [pc, #552] ; (1000289c )
+10002674: 2001 movs r0, #1
+10002676: 6813 ldr r3, [r2, #0]
+10002678: f423 3300 bic.w r3, r3, #131072 ; 0x20000
+1000267c: 6013 str r3, [r2, #0]
+1000267e: 4b88 ldr r3, [pc, #544] ; (100028a0 )
+10002680: 4798 blx r3
+10002682: 4888 ldr r0, [pc, #544] ; (100028a4 )
+10002684: 4b88 ldr r3, [pc, #544] ; (100028a8 )
+10002686: 4798 blx r3
+10002688: 4b88 ldr r3, [pc, #544] ; (100028ac )
+1000268a: 4798 blx r3
+1000268c: 4b88 ldr r3, [pc, #544] ; (100028b0 )
+1000268e: 4798 blx r3
+10002690: b661 cpsie f
+10002692: f8da 3000 ldr.w r3, [sl]
+10002696: 2c00 cmp r4, #0
+10002698: f040 8198 bne.w 100029cc
+1000269c: 005d lsls r5, r3, #1
+1000269e: d502 bpl.n 100026a6
+100026a0: 4884 ldr r0, [pc, #528] ; (100028b4 )
+100026a2: 4b85 ldr r3, [pc, #532] ; (100028b8 )
+100026a4: 4798 blx r3
+100026a6: f8da 3000 ldr.w r3, [sl]
+100026aa: 0059 lsls r1, r3, #1
+100026ac: d507 bpl.n 100026be
+100026ae: 4b83 ldr r3, [pc, #524] ; (100028bc )
+100026b0: 4798 blx r3
+100026b2: 4b78 ldr r3, [pc, #480] ; (10002894 )
+100026b4: 4601 mov r1, r0
+100026b6: 681a ldr r2, [r3, #0]
+100026b8: 4881 ldr r0, [pc, #516] ; (100028c0 )
+100026ba: 4b7f ldr r3, [pc, #508] ; (100028b8 )
+100026bc: 4798 blx r3
+100026be: 23fc movs r3, #252 ; 0xfc
+100026c0: f10d 0b68 add.w fp, sp, #104 ; 0x68
+100026c4: f80b 3d48 strb.w r3, [fp, #-72]!
+100026c8: 4b7e ldr r3, [pc, #504] ; (100028c4 )
+100026ca: 465a mov r2, fp
+100026cc: 6818 ldr r0, [r3, #0]
+100026ce: 21f8 movs r1, #248 ; 0xf8
+100026d0: 2307 movs r3, #7
+100026d2: 4d7d ldr r5, [pc, #500] ; (100028c8 )
+100026d4: 47a8 blx r5
+100026d6: 2801 cmp r0, #1
+100026d8: d006 beq.n 100026e8
+100026da: f8da 3000 ldr.w r3, [sl]
+100026de: 005a lsls r2, r3, #1
+100026e0: d502 bpl.n 100026e8
+100026e2: 487a ldr r0, [pc, #488] ; (100028cc )
+100026e4: 4b74 ldr r3, [pc, #464] ; (100028b8 )
+100026e6: 4798 blx r3
+100026e8: f89d 3020 ldrb.w r3, [sp, #32]
+100026ec: 2bfd cmp r3, #253 ; 0xfd
+100026ee: 4b78 ldr r3, [pc, #480] ; (100028d0 )
+100026f0: f200 8174 bhi.w 100029dc
+100026f4: 4977 ldr r1, [pc, #476] ; (100028d4 )
+100026f6: 680a ldr r2, [r1, #0]
+100026f8: f022 0210 bic.w r2, r2, #16
+100026fc: 600a str r2, [r1, #0]
+100026fe: 681a ldr r2, [r3, #0]
+10002700: f022 0202 bic.w r2, r2, #2
+10002704: 601a str r2, [r3, #0]
+10002706: 4a63 ldr r2, [pc, #396] ; (10002894 )
+10002708: 6813 ldr r3, [r2, #0]
+1000270a: f443 1300 orr.w r3, r3, #2097152 ; 0x200000
+1000270e: 4d72 ldr r5, [pc, #456] ; (100028d8 )
+10002710: 6013 str r3, [r2, #0]
+10002712: 2100 movs r1, #0
+10002714: 2290 movs r2, #144 ; 0x90
+10002716: 4628 mov r0, r5
+10002718: 47b8 blx r7
+1000271a: 4b70 ldr r3, [pc, #448] ; (100028dc )
+1000271c: 4f70 ldr r7, [pc, #448] ; (100028e0 )
+1000271e: 681a ldr r2, [r3, #0]
+10002720: 2100 movs r1, #0
+10002722: 602a str r2, [r5, #0]
+10002724: 699a ldr r2, [r3, #24]
+10002726: 20c4 movs r0, #196 ; 0xc4
+10002728: 632a str r2, [r5, #48] ; 0x30
+1000272a: 662a str r2, [r5, #96] ; 0x60
+1000272c: 685a ldr r2, [r3, #4]
+1000272e: 60aa str r2, [r5, #8]
+10002730: 69da ldr r2, [r3, #28]
+10002732: 63aa str r2, [r5, #56] ; 0x38
+10002734: 66aa str r2, [r5, #104] ; 0x68
+10002736: 689a ldr r2, [r3, #8]
+10002738: 6a1b ldr r3, [r3, #32]
+1000273a: 612a str r2, [r5, #16]
+1000273c: 642b str r3, [r5, #64] ; 0x40
+1000273e: 672b str r3, [r5, #112] ; 0x70
+10002740: 4b4c ldr r3, [pc, #304] ; (10002874 )
+10002742: 681a ldr r2, [r3, #0]
+10002744: f442 7280 orr.w r2, r2, #256 ; 0x100
+10002748: 601a str r2, [r3, #0]
+1000274a: 681a ldr r2, [r3, #0]
+1000274c: f442 7200 orr.w r2, r2, #512 ; 0x200
+10002750: 601a str r2, [r3, #0]
+10002752: 2201 movs r2, #1
+10002754: 47b0 blx r6
+10002756: 4638 mov r0, r7
+10002758: f7ff ff10 bl 1000257c
+1000275c: 4b61 ldr r3, [pc, #388] ; (100028e4 )
+1000275e: 681e ldr r6, [r3, #0]
+10002760: f3c6 1602 ubfx r6, r6, #4, #3
+10002764: 3606 adds r6, #6
+10002766: eb05 02c6 add.w r2, r5, r6, lsl #3
+1000276a: 78d3 ldrb r3, [r2, #3]
+1000276c: 07db lsls r3, r3, #31
+1000276e: d51e bpl.n 100027ae
+10002770: 2300 movs r3, #0
+10002772: 495d ldr r1, [pc, #372] ; (100028e8 )
+10002774: 600b str r3, [r1, #0]
+10002776: 78d3 ldrb r3, [r2, #3]
+10002778: f3c3 1301 ubfx r3, r3, #4, #2
+1000277c: eb07 0743 add.w r7, r7, r3, lsl #1
+10002780: 8ab8 ldrh r0, [r7, #20]
+10002782: 4b5a ldr r3, [pc, #360] ; (100028ec )
+10002784: 7857 ldrb r7, [r2, #1]
+10002786: 6018 str r0, [r3, #0]
+10002788: 4859 ldr r0, [pc, #356] ; (100028f0 )
+1000278a: 7892 ldrb r2, [r2, #2]
+1000278c: 6803 ldr r3, [r0, #0]
+1000278e: 0c1b lsrs r3, r3, #16
+10002790: 041b lsls r3, r3, #16
+10002792: 433b orrs r3, r7
+10002794: 6003 str r3, [r0, #0]
+10002796: f815 0036 ldrb.w r0, [r5, r6, lsl #3]
+1000279a: 4b56 ldr r3, [pc, #344] ; (100028f4 )
+1000279c: 6018 str r0, [r3, #0]
+1000279e: 4856 ldr r0, [pc, #344] ; (100028f8 )
+100027a0: 6803 ldr r3, [r0, #0]
+100027a2: f023 03ff bic.w r3, r3, #255 ; 0xff
+100027a6: 4313 orrs r3, r2
+100027a8: 6003 str r3, [r0, #0]
+100027aa: 2301 movs r3, #1
+100027ac: 600b str r3, [r1, #0]
+100027ae: 4a49 ldr r2, [pc, #292] ; (100028d4 )
+100027b0: 6813 ldr r3, [r2, #0]
+100027b2: f043 0301 orr.w r3, r3, #1
+100027b6: 6013 str r3, [r2, #0]
+100027b8: 4b50 ldr r3, [pc, #320] ; (100028fc )
+100027ba: 4798 blx r3
+100027bc: 2800 cmp r0, #0
+100027be: d13a bne.n 10002836
+100027c0: f04f 0801 mov.w r8, #1
+100027c4: 4a4c ldr r2, [pc, #304] ; (100028f8 )
+100027c6: 494b ldr r1, [pc, #300] ; (100028f4 )
+100027c8: 6813 ldr r3, [r2, #0]
+100027ca: f023 03ff bic.w r3, r3, #255 ; 0xff
+100027ce: f043 0331 orr.w r3, r3, #49 ; 0x31
+100027d2: 6013 str r3, [r2, #0]
+100027d4: f502 42ba add.w r2, r2, #23808 ; 0x5d00
+100027d8: 4b45 ldr r3, [pc, #276] ; (100028f0 )
+100027da: 3208 adds r2, #8
+100027dc: 2700 movs r7, #0
+100027de: fa5f f988 uxtb.w r9, r8
+100027e2: b2f8 uxtb r0, r7
+100027e4: 9002 str r0, [sp, #8]
+100027e6: 2000 movs r0, #0
+100027e8: 6010 str r0, [r2, #0]
+100027ea: 6818 ldr r0, [r3, #0]
+100027ec: 0c00 lsrs r0, r0, #16
+100027ee: 0400 lsls r0, r0, #16
+100027f0: 4338 orrs r0, r7
+100027f2: 6018 str r0, [r3, #0]
+100027f4: 2001 movs r0, #1
+100027f6: 9305 str r3, [sp, #20]
+100027f8: f8c1 8000 str.w r8, [r1]
+100027fc: 9104 str r1, [sp, #16]
+100027fe: 6010 str r0, [r2, #0]
+10002800: 483e ldr r0, [pc, #248] ; (100028fc )
+10002802: 9203 str r2, [sp, #12]
+10002804: 4780 blx r0
+10002806: 9a03 ldr r2, [sp, #12]
+10002808: 9904 ldr r1, [sp, #16]
+1000280a: 9b05 ldr r3, [sp, #20]
+1000280c: 2800 cmp r0, #0
+1000280e: f000 8111 beq.w 10002a34
+10002812: 4b29 ldr r3, [pc, #164] ; (100028b8 )
+10002814: 9a02 ldr r2, [sp, #8]
+10002816: 4649 mov r1, r9
+10002818: 4839 ldr r0, [pc, #228] ; (10002900 )
+1000281a: 4798 blx r3
+1000281c: f89d 3008 ldrb.w r3, [sp, #8]
+10002820: f805 9036 strb.w r9, [r5, r6, lsl #3]
+10002824: eb05 05c6 add.w r5, r5, r6, lsl #3
+10002828: 706b strb r3, [r5, #1]
+1000282a: 2331 movs r3, #49 ; 0x31
+1000282c: 70ab strb r3, [r5, #2]
+1000282e: 78eb ldrb r3, [r5, #3]
+10002830: f043 0301 orr.w r3, r3, #1
+10002834: 70eb strb r3, [r5, #3]
+10002836: 4b17 ldr r3, [pc, #92] ; (10002894 )
+10002838: 6819 ldr r1, [r3, #0]
+1000283a: f411 1100 ands.w r1, r1, #2097152 ; 0x200000
+1000283e: f040 80ae bne.w 1000299e
+10002842: f44f 63e0 mov.w r3, #1792 ; 0x700
+10002846: 2001 movs r0, #1
+10002848: 2508 movs r5, #8
+1000284a: 4e2e ldr r6, [pc, #184] ; (10002904 )
+1000284c: 6033 str r3, [r6, #0]
+1000284e: 4b2e ldr r3, [pc, #184] ; (10002908 )
+10002850: 6018 str r0, [r3, #0]
+10002852: f5a3 7308 sub.w r3, r3, #544 ; 0x220
+10002856: 601d str r5, [r3, #0]
+10002858: 2506 movs r5, #6
+1000285a: 6059 str r1, [r3, #4]
+1000285c: 6259 str r1, [r3, #36] ; 0x24
+1000285e: 621d str r5, [r3, #32]
+10002860: 2522 movs r5, #34 ; 0x22
+10002862: 61dd str r5, [r3, #28]
+10002864: e054 b.n 10002910
+10002866: bf00 nop
+10002868: 0000f511 .word 0x0000f511
+1000286c: 10000300 .word 0x10000300
+10002870: 10000bc8 .word 0x10000bc8
+10002874: 40000230 .word 0x40000230
+10002878: 00002b39 .word 0x00002b39
+1000287c: 10000300 .word 0x10000300
+10002880: 10000314 .word 0x10000314
+10002884: 10000308 .word 0x10000308
+10002888: 1000030c .word 0x1000030c
+1000288c: 40000020 .word 0x40000020
+10002890: 10000354 .word 0x10000354
+10002894: 40000210 .word 0x40000210
+10002898: 40003014 .word 0x40003014
+1000289c: 40000074 .word 0x40000074
+100028a0: 00000341 .word 0x00000341
+100028a4: 1ffffffc .word 0x1ffffffc
+100028a8: 00003de5 .word 0x00003de5
+100028ac: 0004467d .word 0x0004467d
+100028b0: 00044755 .word 0x00044755
+100028b4: 1000227c .word 0x1000227c
+100028b8: 0000f39d .word 0x0000f39d
+100028bc: 00000355 .word 0x00000355
+100028c0: 100022ba .word 0x100022ba
+100028c4: 400000e8 .word 0x400000e8
+100028c8: 000065f9 .word 0x000065f9
+100028cc: 100022db .word 0x100022db
+100028d0: 40000040 .word 0x40000040
+100028d4: 400002c0 .word 0x400002c0
+100028d8: 100021ec .word 0x100021ec
+100028dc: 10002cac .word 0x10002cac
+100028e0: 10002cf4 .word 0x10002cf4
+100028e4: 40000014 .word 0x40000014
+100028e8: 40006008 .word 0x40006008
+100028ec: 40006120 .word 0x40006120
+100028f0: 4000611c .word 0x4000611c
+100028f4: 40006014 .word 0x40006014
+100028f8: 40000300 .word 0x40000300
+100028fc: 00003049 .word 0x00003049
+10002900: 100022ef .word 0x100022ef
+10002904: 4000500c .word 0x4000500c
+10002908: 40005224 .word 0x40005224
+1000290c: 100020c0 .word 0x100020c0
+10002910: 4d98 ldr r5, [pc, #608] ; (10002b74 )
+10002912: 60dd str r5, [r3, #12]
+10002914: f242 6552 movw r5, #9810 ; 0x2652
+10002918: 611d str r5, [r3, #16]
+1000291a: 4d97 ldr r5, [pc, #604] ; (10002b78 )
+1000291c: 615d str r5, [r3, #20]
+1000291e: 2542 movs r5, #66 ; 0x42
+10002920: 619d str r5, [r3, #24]
+10002922: 4d96 ldr r5, [pc, #600] ; (10002b7c )
+10002924: 6028 str r0, [r5, #0]
+10002926: f8da 0000 ldr.w r0, [sl]
+1000292a: 0040 lsls r0, r0, #1
+1000292c: d503 bpl.n 10002936
+1000292e: 2211 movs r2, #17
+10002930: 4893 ldr r0, [pc, #588] ; (10002b80 )
+10002932: 4b94 ldr r3, [pc, #592] ; (10002b84 )
+10002934: 4798 blx r3
+10002936: 682b ldr r3, [r5, #0]
+10002938: 07d9 lsls r1, r3, #31
+1000293a: d5fc bpl.n 10002936
+1000293c: f44f 63c0 mov.w r3, #1536 ; 0x600
+10002940: 4a91 ldr r2, [pc, #580] ; (10002b88 )
+10002942: 6033 str r3, [r6, #0]
+10002944: 6813 ldr r3, [r2, #0]
+10002946: f423 037f bic.w r3, r3, #16711680 ; 0xff0000
+1000294a: f443 1388 orr.w r3, r3, #1114112 ; 0x110000
+1000294e: 6013 str r3, [r2, #0]
+10002950: b304 cbz r4, 10002994
+10002952: 4a8e ldr r2, [pc, #568] ; (10002b8c )
+10002954: 4b8e ldr r3, [pc, #568] ; (10002b90 )
+10002956: 6811 ldr r1, [r2, #0]
+10002958: 4299 cmp r1, r3
+1000295a: d11b bne.n 10002994
+1000295c: 4d8d ldr r5, [pc, #564] ; (10002b94 )
+1000295e: 6015 str r5, [r2, #0]
+10002960: f8da 2000 ldr.w r2, [sl]
+10002964: 0052 lsls r2, r2, #1
+10002966: d502 bpl.n 1000296e
+10002968: 488b ldr r0, [pc, #556] ; (10002b98 )
+1000296a: 4b86 ldr r3, [pc, #536] ; (10002b84 )
+1000296c: 4798 blx r3
+1000296e: 4a87 ldr r2, [pc, #540] ; (10002b8c )
+10002970: f04f 6380 mov.w r3, #67108864 ; 0x4000000
+10002974: 4611 mov r1, r2
+10002976: 6810 ldr r0, [r2, #0]
+10002978: 42a8 cmp r0, r5
+1000297a: d101 bne.n 10002980
+1000297c: 3b01 subs r3, #1
+1000297e: d1fa bne.n 10002976
+10002980: 680b ldr r3, [r1, #0]
+10002982: 2b01 cmp r3, #1
+10002984: d106 bne.n 10002994
+10002986: f8da 3000 ldr.w r3, [sl]
+1000298a: 005b lsls r3, r3, #1
+1000298c: d502 bpl.n 10002994
+1000298e: 4883 ldr r0, [pc, #524] ; (10002b9c )
+10002990: 4b7c ldr r3, [pc, #496] ; (10002b84 )
+10002992: 4798 blx r3
+10002994: 4a82 ldr r2, [pc, #520] ; (10002ba0 )
+10002996: 6813 ldr r3, [r2, #0]
+10002998: f443 1300 orr.w r3, r3, #2097152 ; 0x200000
+1000299c: 6013 str r3, [r2, #0]
+1000299e: 2c00 cmp r4, #0
+100029a0: f040 8140 bne.w 10002c24
+100029a4: 2204 movs r2, #4
+100029a6: a907 add r1, sp, #28
+100029a8: f249 0008 movw r0, #36872 ; 0x9008
+100029ac: f7ff fd6c bl 10002488
+100029b0: f89d 501d ldrb.w r5, [sp, #29]
+100029b4: 2dff cmp r5, #255 ; 0xff
+100029b6: d05f beq.n 10002a78
+100029b8: f005 007f and.w r0, r5, #127 ; 0x7f
+100029bc: 4b79 ldr r3, [pc, #484] ; (10002ba4 )
+100029be: 4798 blx r3
+100029c0: 062f lsls r7, r5, #24
+100029c2: 9009 str r0, [sp, #36] ; 0x24
+100029c4: d54a bpl.n 10002a5c
+100029c6: 2401 movs r4, #1
+100029c8: 9408 str r4, [sp, #32]
+100029ca: e049 b.n 10002a60
+100029cc: 0058 lsls r0, r3, #1
+100029ce: f57f ae6a bpl.w 100026a6
+100029d2: 4621 mov r1, r4
+100029d4: 4b6b ldr r3, [pc, #428] ; (10002b84 )
+100029d6: 4874 ldr r0, [pc, #464] ; (10002ba8 )
+100029d8: 4798 blx r3
+100029da: e664 b.n 100026a6
+100029dc: 681a ldr r2, [r3, #0]
+100029de: 2100 movs r1, #0
+100029e0: f3c2 0213 ubfx r2, r2, #0, #20
+100029e4: f442 1240 orr.w r2, r2, #3145728 ; 0x300000
+100029e8: 601a str r2, [r3, #0]
+100029ea: 681a ldr r2, [r3, #0]
+100029ec: 20c8 movs r0, #200 ; 0xc8
+100029ee: f042 0202 orr.w r2, r2, #2
+100029f2: 601a str r2, [r3, #0]
+100029f4: 4a6d ldr r2, [pc, #436] ; (10002bac )
+100029f6: 6813 ldr r3, [r2, #0]
+100029f8: f023 0307 bic.w r3, r3, #7
+100029fc: f043 0302 orr.w r3, r3, #2
+10002a00: 6013 str r3, [r2, #0]
+10002a02: f852 3cb4 ldr.w r3, [r2, #-180]
+10002a06: f423 6340 bic.w r3, r3, #3072 ; 0xc00
+10002a0a: f842 3cb4 str.w r3, [r2, #-180]
+10002a0e: 2201 movs r2, #1
+10002a10: 47b0 blx r6
+10002a12: 4b67 ldr r3, [pc, #412] ; (10002bb0 )
+10002a14: 681a ldr r2, [r3, #0]
+10002a16: f442 6280 orr.w r2, r2, #1024 ; 0x400
+10002a1a: 601a str r2, [r3, #0]
+10002a1c: 681a ldr r2, [r3, #0]
+10002a1e: f442 6200 orr.w r2, r2, #2048 ; 0x800
+10002a22: 601a str r2, [r3, #0]
+10002a24: 2200 movs r2, #0
+10002a26: f8c3 2110 str.w r2, [r3, #272] ; 0x110
+10002a2a: 4a5d ldr r2, [pc, #372] ; (10002ba0 )
+10002a2c: 6813 ldr r3, [r2, #0]
+10002a2e: f043 0340 orr.w r3, r3, #64 ; 0x40
+10002a32: e66c b.n 1000270e
+10002a34: 3701 adds r7, #1
+10002a36: 2f3f cmp r7, #63 ; 0x3f
+10002a38: f47f aed3 bne.w 100027e2
+10002a3c: f108 0801 add.w r8, r8, #1
+10002a40: f1b8 0f04 cmp.w r8, #4
+10002a44: f47f aeca bne.w 100027dc
+10002a48: f8da 3000 ldr.w r3, [sl]
+10002a4c: 005b lsls r3, r3, #1
+10002a4e: d502 bpl.n 10002a56
+10002a50: 4858 ldr r0, [pc, #352] ; (10002bb4 )
+10002a52: 4b4c ldr r3, [pc, #304] ; (10002b84 )
+10002a54: 4798 blx r3
+10002a56: f7ff fd7f bl 10002558
+10002a5a: e6ec b.n 10002836
+10002a5c: 2302 movs r3, #2
+10002a5e: 9308 str r3, [sp, #32]
+10002a60: 4b55 ldr r3, [pc, #340] ; (10002bb8 )
+10002a62: 4658 mov r0, fp
+10002a64: 4798 blx r3
+10002a66: 4b55 ldr r3, [pc, #340] ; (10002bbc )
+10002a68: 4658 mov r0, fp
+10002a6a: 4798 blx r3
+10002a6c: 1a26 subs r6, r4, r0
+10002a6e: 4274 negs r4, r6
+10002a70: 4658 mov r0, fp
+10002a72: 4b53 ldr r3, [pc, #332] ; (10002bc0 )
+10002a74: 4174 adcs r4, r6
+10002a76: 4798 blx r3
+10002a78: f44f 4330 mov.w r3, #45056 ; 0xb000
+10002a7c: 9307 str r3, [sp, #28]
+10002a7e: f8da 3000 ldr.w r3, [sl]
+10002a82: 3401 adds r4, #1
+10002a84: 005d lsls r5, r3, #1
+10002a86: d503 bpl.n 10002a90
+10002a88: 4621 mov r1, r4
+10002a8a: 484e ldr r0, [pc, #312] ; (10002bc4 )
+10002a8c: 4b3d ldr r3, [pc, #244] ; (10002b84 )
+10002a8e: 4798 blx r3
+10002a90: 2501 movs r5, #1
+10002a92: f8df 9144 ldr.w r9, [pc, #324] ; 10002bd8
+10002a96: 9807 ldr r0, [sp, #28]
+10002a98: 2248 movs r2, #72 ; 0x48
+10002a9a: f600 70ff addw r0, r0, #4095 ; 0xfff
+10002a9e: f420 607f bic.w r0, r0, #4080 ; 0xff0
+10002aa2: f020 000f bic.w r0, r0, #15
+10002aa6: 4659 mov r1, fp
+10002aa8: 9007 str r0, [sp, #28]
+10002aaa: f7ff fced bl 10002488
+10002aae: 9908 ldr r1, [sp, #32]
+10002ab0: 9809 ldr r0, [sp, #36] ; 0x24
+10002ab2: f7ff fd39 bl 10002528
+10002ab6: 9b0b ldr r3, [sp, #44] ; 0x2c
+10002ab8: 4a43 ldr r2, [pc, #268] ; (10002bc8 )
+10002aba: 4293 cmp r3, r2
+10002abc: d10a bne.n 10002ad4
+10002abe: f102 6280 add.w r2, r2, #67108864 ; 0x4000000
+10002ac2: 9b0a ldr r3, [sp, #40] ; 0x28
+10002ac4: f502 22ff add.w r2, r2, #522240 ; 0x7f800
+10002ac8: f502 7200 add.w r2, r2, #512 ; 0x200
+10002acc: 4293 cmp r3, r2
+10002ace: d146 bne.n 10002b5e
+10002ad0: f440 7000 orr.w r0, r0, #512 ; 0x200
+10002ad4: 9a0d ldr r2, [sp, #52] ; 0x34
+10002ad6: 4b3d ldr r3, [pc, #244] ; (10002bcc )
+10002ad8: 429a cmp r2, r3
+10002ada: bf08 it eq
+10002adc: f440 6080 orreq.w r0, r0, #1024 ; 0x400
+10002ae0: f5b0 6fa0 cmp.w r0, #1280 ; 0x500
+10002ae4: d37a bcc.n 10002bdc
+10002ae6: f010 0fff tst.w r0, #255 ; 0xff
+10002aea: d077 beq.n 10002bdc
+10002aec: 9f07 ldr r7, [sp, #28]
+10002aee: f04f 0800 mov.w r8, #0
+10002af2: f107 0310 add.w r3, r7, #16
+10002af6: 461e mov r6, r3
+10002af8: 9302 str r3, [sp, #8]
+10002afa: 9b08 ldr r3, [sp, #32]
+10002afc: 9a09 ldr r2, [sp, #36] ; 0x24
+10002afe: 4619 mov r1, r3
+10002b00: 4610 mov r0, r2
+10002b02: 9304 str r3, [sp, #16]
+10002b04: 9203 str r2, [sp, #12]
+10002b06: f7ff fd0f bl 10002528
+10002b0a: 42ac cmp r4, r5
+10002b0c: 9b04 ldr r3, [sp, #16]
+10002b0e: d12b bne.n 10002b68
+10002b10: 1e41 subs r1, r0, #1
+10002b12: 2902 cmp r1, #2
+10002b14: f200 80a4 bhi.w 10002c60
+10002b18: f8da 1000 ldr.w r1, [sl]
+10002b1c: 9a03 ldr r2, [sp, #12]
+10002b1e: f011 4f80 tst.w r1, #1073741824 ; 0x40000000
+10002b22: d00a beq.n 10002b3a
+10002b24: e88d 000c stmia.w sp, {r2, r3}
+10002b28: 4b29 ldr r3, [pc, #164] ; (10002bd0 )
+10002b2a: 9a02 ldr r2, [sp, #8]
+10002b2c: f853 3020 ldr.w r3, [r3, r0, lsl #2]
+10002b30: fa5f f188 uxtb.w r1, r8
+10002b34: 4827 ldr r0, [pc, #156] ; (10002bd4 )
+10002b36: 4f13 ldr r7, [pc, #76] ; (10002b84 )
+10002b38: 47b8 blx r7
+10002b3a: 4630 mov r0, r6
+10002b3c: 9a08 ldr r2, [sp, #32]
+10002b3e: 9909 ldr r1, [sp, #36] ; 0x24
+10002b40: f7ff fca2 bl 10002488
+10002b44: 4406 add r6, r0
+10002b46: 4630 mov r0, r6
+10002b48: 2210 movs r2, #16
+10002b4a: 4659 mov r1, fp
+10002b4c: f7ff fc9c bl 10002488
+10002b50: f108 0801 add.w r8, r8, #1
+10002b54: 4406 add r6, r0
+10002b56: e7d0 b.n 10002afa
+10002b58: 2500 movs r5, #0
+10002b5a: 462c mov r4, r5
+10002b5c: e79b b.n 10002a96
+10002b5e: 454b cmp r3, r9
+10002b60: bf08 it eq
+10002b62: f440 7080 orreq.w r0, r0, #256 ; 0x100
+10002b66: e7b5 b.n 10002ad4
+10002b68: b108 cbz r0, 10002b6e
+10002b6a: 441e add r6, r3
+10002b6c: e7eb b.n 10002b46
+10002b6e: 9607 str r6, [sp, #28]
+10002b70: 3501 adds r5, #1
+10002b72: e790 b.n 10002a96
+10002b74: 09030e07 .word 0x09030e07
+10002b78: 00068873 .word 0x00068873
+10002b7c: 40005000 .word 0x40005000
+10002b80: 10002313 .word 0x10002313
+10002b84: 0000f39d .word 0x0000f39d
+10002b88: 40000300 .word 0x40000300
+10002b8c: 1fff0000 .word 0x1fff0000
+10002b90: 12345678 .word 0x12345678
+10002b94: 87654321 .word 0x87654321
+10002b98: 1000232f .word 0x1000232f
+10002b9c: 1000234d .word 0x1000234d
+10002ba0: 40000210 .word 0x40000210
+10002ba4: 0000e1c1 .word 0x0000e1c1
+10002ba8: 1000229a .word 0x1000229a
+10002bac: 40000304 .word 0x40000304
+10002bb0: 40000230 .word 0x40000230
+10002bb4: 10002302 .word 0x10002302
+10002bb8: 0000d805 .word 0x0000d805
+10002bbc: 0000dbd1 .word 0x0000dbd1
+10002bc0: 0000dac1 .word 0x0000dac1
+10002bc4: 1000235c .word 0x1000235c
+10002bc8: 31313738 .word 0x31313738
+10002bcc: 574b5452 .word 0x574b5452
+10002bd0: 10002468 .word 0x10002468
+10002bd4: 10002370 .word 0x10002370
+10002bd8: 35393130 .word 0x35393130
+10002bdc: b315 cbz r5, 10002c24
+10002bde: f8da 3000 ldr.w r3, [sl]
+10002be2: 0058 lsls r0, r3, #1
+10002be4: d503 bpl.n 10002bee
+10002be6: 4621 mov r1, r4
+10002be8: 481f ldr r0, [pc, #124] ; (10002c68 )
+10002bea: 4b20 ldr r3, [pc, #128] ; (10002c6c )
+10002bec: 4798 blx r3
+10002bee: 2204 movs r2, #4
+10002bf0: a907 add r1, sp, #28
+10002bf2: f44f 4010 mov.w r0, #36864 ; 0x9000
+10002bf6: f7ff fc47 bl 10002488
+10002bfa: 9b07 ldr r3, [sp, #28]
+10002bfc: f44f 7180 mov.w r1, #256 ; 0x100
+10002c00: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000
+10002c04: bf3c itt cc
+10002c06: f103 4318 addcc.w r3, r3, #2550136832 ; 0x98000000
+10002c0a: 9307 strcc r3, [sp, #28]
+10002c0c: 9807 ldr r0, [sp, #28]
+10002c0e: f7ff fc8b bl 10002528
+10002c12: 2805 cmp r0, #5
+10002c14: d0a0 beq.n 10002b58
+10002c16: f8da 3000 ldr.w r3, [sl]
+10002c1a: 0059 lsls r1, r3, #1
+10002c1c: d502 bpl.n 10002c24
+10002c1e: 4814 ldr r0, [pc, #80] ; (10002c70 )
+10002c20: 4b12 ldr r3, [pc, #72] ; (10002c6c )
+10002c22: 4798 blx r3
+10002c24: 4913 ldr r1, [pc, #76] ; (10002c74 )
+10002c26: 4814 ldr r0, [pc, #80] ; (10002c78 )
+10002c28: 4b14 ldr r3, [pc, #80] ; (10002c7c )
+10002c2a: 4798 blx r3
+10002c2c: b140 cbz r0, 10002c40
+10002c2e: f8da 3000 ldr.w r3, [sl]
+10002c32: 005a lsls r2, r3, #1
+10002c34: d502 bpl.n 10002c3c
+10002c36: 4812 ldr r0, [pc, #72] ; (10002c80 )
+10002c38: 4b0c ldr r3, [pc, #48] ; (10002c6c )
+10002c3a: 4798 blx r3
+10002c3c: f7ff fc8c bl 10002558
+10002c40: f8da 3000 ldr.w r3, [sl]
+10002c44: 4c0f ldr r4, [pc, #60] ; (10002c84 )
+10002c46: f013 4f80 tst.w r3, #1073741824 ; 0x40000000
+10002c4a: d004 beq.n 10002c56
+10002c4c: 6822 ldr r2, [r4, #0]
+10002c4e: 490a ldr r1, [pc, #40] ; (10002c78 )
+10002c50: 480d ldr r0, [pc, #52] ; (10002c88 )
+10002c52: 4b06 ldr r3, [pc, #24] ; (10002c6c )
+10002c54: 4798 blx r3
+10002c56: 6823 ldr r3, [r4, #0]
+10002c58: 4798 blx r3
+10002c5a: b01b add sp, #108 ; 0x6c
+10002c5c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+10002c60: 2800 cmp r0, #0
+10002c62: d182 bne.n 10002b6a
+10002c64: e7de b.n 10002c24
+10002c66: bf00 nop
+10002c68: 100023a2 .word 0x100023a2
+10002c6c: 0000f39d .word 0x0000f39d
+10002c70: 100023c0 .word 0x100023c0
+10002c74: 100023cc .word 0x100023cc
+10002c78: 10006004 .word 0x10006004
+10002c7c: 0000f6b1 .word 0x0000f6b1
+10002c80: 100023d3 .word 0x100023d3
+10002c84: 10006000 .word 0x10006000
+10002c88: 100023ed .word 0x100023ed
+
+10002c8c :
+10002c8c: 2004 movs r0, #4
+10002c8e: f7ff bc95 b.w 100025bc
+
+10002c92 :
+10002c92: 2003 movs r0, #3
+10002c94: f7ff bc92 b.w 100025bc
+
+10002c98 :
+10002c98: 2002 movs r0, #2
+10002c9a: f7ff bc8f b.w 100025bc
+
+10002c9e :
+10002c9e: 2001 movs r0, #1
+10002ca0: f7ff bc8c b.w 100025bc
+
+10002ca4 :
+10002ca4: 2000 movs r0, #0
+10002ca6: f7ff bc89 b.w 100025bc
+ ...
+
+10002cac :
+10002cac: 0102 0131 0101 0331 0001 0531 0001 0731 ..1...1...1...1.
+10002cbc: 0001 0931 0001 0b31 1301 1131 1201 1331 ..1...1...1...1.
+10002ccc: 1101 1531 1101 1731 1101 1931 1101 1b31 ..1...1...1...1.
+ ...
+
+10002cf4 :
+10002cf4: 3b0b 6b3b 02eb a2a2 3832 0506 0151 0f03 .;;k....28..Q...
+10002d04: 0000 2003 0200 0202 0202 20c2 ... .......
+
+Disassembly of section .ram_image2.text:
+
+10006040 :
+10006040: 4a07 ldr r2, [pc, #28] ; (10006060 )
+10006042: 6813 ldr r3, [r2, #0]
+10006044: f023 0301 bic.w r3, r3, #1
+10006048: 6013 str r3, [r2, #0]
+1000604a: f852 3c2c ldr.w r3, [r2, #-44]
+1000604e: f023 0303 bic.w r3, r3, #3
+10006052: f842 3c2c str.w r3, [r2, #-44]
+10006056: 6e13 ldr r3, [r2, #96] ; 0x60
+10006058: f023 0301 bic.w r3, r3, #1
+1000605c: 6613 str r3, [r2, #96] ; 0x60
+1000605e: 4770 bx lr
+10006060: 40000240 .word 0x40000240
+
+10006064 :
+10006064: 4a06 ldr r2, [pc, #24] ; (10006080 )
+10006066: 6813 ldr r3, [r2, #0]
+10006068: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000
+1000606c: f443 03c0 orr.w r3, r3, #6291456 ; 0x600000
+10006070: 6013 str r3, [r2, #0]
+10006072: 6c53 ldr r3, [r2, #68] ; 0x44
+10006074: f023 0318 bic.w r3, r3, #24
+10006078: f043 0308 orr.w r3, r3, #8
+1000607c: 6453 str r3, [r2, #68] ; 0x44
+1000607e: 4770 bx lr
+10006080: 40000020 .word 0x40000020
+
+10006084 :
+10006084: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
+10006088: 4d8f ldr r5, [pc, #572] ; (100062c8 )
+1000608a: 682b ldr r3, [r5, #0]
+1000608c: 005e lsls r6, r3, #1
+1000608e: d503 bpl.n 10006098
+10006090: 498e ldr r1, [pc, #568] ; (100062cc )
+10006092: 488f ldr r0, [pc, #572] ; (100062d0 )
+10006094: 4b8f ldr r3, [pc, #572] ; (100062d4 )
+10006096: 4798 blx r3
+10006098: 488f ldr r0, [pc, #572] ; (100062d8 )
+1000609a: 4a90 ldr r2, [pc, #576] ; (100062dc )
+1000609c: 4c90 ldr r4, [pc, #576] ; (100062e0 )
+1000609e: 1a12 subs r2, r2, r0
+100060a0: 2100 movs r1, #0
+100060a2: f015 fb69 bl 1001b778
+100060a6: f015 fad7 bl 1001b658
+100060aa: f44f 7296 mov.w r2, #300 ; 0x12c
+100060ae: 2100 movs r1, #0
+100060b0: 4620 mov r0, r4
+100060b2: f015 fb61 bl 1001b778
+100060b6: 4b8b ldr r3, [pc, #556] ; (100062e4 )
+100060b8: 488b ldr r0, [pc, #556] ; (100062e8 )
+100060ba: 601c str r4, [r3, #0]
+100060bc: 4b8b ldr r3, [pc, #556] ; (100062ec )
+100060be: 4798 blx r3
+100060c0: f244 0301 movw r3, #16385 ; 0x4001
+100060c4: 4a8a ldr r2, [pc, #552] ; (100062f0 )
+100060c6: 7811 ldrb r1, [r2, #0]
+100060c8: 064c lsls r4, r1, #25
+100060ca: d401 bmi.n 100060d0
+100060cc: 3b01 subs r3, #1
+100060ce: d1fa bne.n 100060c6
+100060d0: 4b88 ldr r3, [pc, #544] ; (100062f4 )
+100060d2: 4798 blx r3
+100060d4: 4b88 ldr r3, [pc, #544] ; (100062f8 )
+100060d6: 4298 cmp r0, r3
+100060d8: d007 beq.n 100060ea
+100060da: 4a88 ldr r2, [pc, #544] ; (100062fc )
+100060dc: 2000 movs r0, #0
+100060de: 6813 ldr r3, [r2, #0]
+100060e0: f423 3300 bic.w r3, r3, #131072 ; 0x20000
+100060e4: 6013 str r3, [r2, #0]
+100060e6: 4b86 ldr r3, [pc, #536] ; (10006300 )
+100060e8: 4798 blx r3
+100060ea: f014 fe65 bl 1001adb8
+100060ee: f015 fa65 bl 1001b5bc
+100060f2: f007 f819 bl 1000d128
+100060f6: f013 f96d bl 100193d4
+100060fa: 4b82 ldr r3, [pc, #520] ; (10006304 )
+100060fc: 4a82 ldr r2, [pc, #520] ; (10006308 )
+100060fe: 4c83 ldr r4, [pc, #524] ; (1000630c )
+10006100: 601a str r2, [r3, #0]
+10006102: f102 2210 add.w r2, r2, #268439552 ; 0x10001000
+10006106: 32ff adds r2, #255 ; 0xff
+10006108: 631a str r2, [r3, #48] ; 0x30
+1000610a: 6823 ldr r3, [r4, #0]
+1000610c: f043 0301 orr.w r3, r3, #1
+10006110: 6023 str r3, [r4, #0]
+10006112: f015 fa8b bl 1001b62c
+10006116: 28fd cmp r0, #253 ; 0xfd
+10006118: f240 80cb bls.w 100062b2
+1000611c: f854 1cb0 ldr.w r1, [r4, #-176]
+10006120: 3cb0 subs r4, #176 ; 0xb0
+10006122: f411 1100 ands.w r1, r1, #2097152 ; 0x200000
+10006126: f040 808e bne.w 10006246