Pastey Euphoria on ARM: Objdump with -d of be_runtime.o
- Posted by Jerome May 16, 2011
build/intobj/back/be_runtime.o: file format elf32-littlearm Disassembly of section .text: 00000000: 0: e24dd018 sub sp, sp, #24 ; 0x18 4: e58d000c str r0, [sp, #12] 8: e58d1008 str r1, [sp, #8] c: e58d2004 str r2, [sp, #4] 10: e58d3000 str r3, [sp] 14: e59d3000 ldr r3, [sp] 18: e58d3010 str r3, [sp, #16] 1c: e59d3008 ldr r3, [sp, #8] 20: e58d3014 str r3, [sp, #20] 24: ea00000f b 68 28: e59d3004 ldr r3, [sp, #4] 2c: e5d33000 ldrb r3, [r3] 30: e59d200c ldr r2, [sp, #12] 34: e5c23000 strb r3, [r2] 38: e59d300c ldr r3, [sp, #12] 3c: e2833001 add r3, r3, #1 ; 0x1 40: e58d300c str r3, [sp, #12] 44: e59d3004 ldr r3, [sp, #4] 48: e2833001 add r3, r3, #1 ; 0x1 4c: e58d3004 str r3, [sp, #4] 50: e59d3010 ldr r3, [sp, #16] 54: e2433001 sub r3, r3, #1 ; 0x1 58: e58d3010 str r3, [sp, #16] 5c: e59d3014 ldr r3, [sp, #20] 60: e2433001 sub r3, r3, #1 ; 0x1 64: e58d3014 str r3, [sp, #20] 68: e59d3010 ldr r3, [sp, #16] 6c: e3530000 cmp r3, #0 ; 0x0 70: da000006 ble 90 74: e59d3014 ldr r3, [sp, #20] 78: e3530000 cmp r3, #0 ; 0x0 7c: da000003 ble 90 80: e59d3004 ldr r3, [sp, #4] 84: e5d33000 ldrb r3, [r3] 88: e3530000 cmp r3, #0 ; 0x0 8c: 1affffe5 bne 28 90: e59d3014 ldr r3, [sp, #20] 94: e3530000 cmp r3, #0 ; 0x0 98: da000002 ble a8 9c: e59d300c ldr r3, [sp, #12] a0: e3a02000 mov r2, #0 ; 0x0 a4: e5c32000 strb r2, [r3] a8: e59d3014 ldr r3, [sp, #20] ac: e1a00003 mov r0, r3 b0: e28dd018 add sp, sp, #24 ; 0x18 b4: e12fff1e bx lr 000000b8 : b8: e52de004 push {lr} ; (str lr, [sp, #-4]!) bc: e24dd00c sub sp, sp, #12 ; 0xc c0: e58d0004 str r0, [sp, #4] c4: e59f3080 ldr r3, [pc, #128] ; 14c c8: e5933000 ldr r3, [r3] cc: e3530000 cmp r3, #0 ; 0x0 d0: 1a000011 bne 11c d4: e59f0074 ldr r0, [pc, #116] ; 150 d8: e59f1074 ldr r1, [pc, #116] ; 154 dc: ebfffffe bl 0 e0: e1a02000 mov r2, r0 e4: e59f3060 ldr r3, [pc, #96] ; 14c e8: e5832000 str r2, [r3] ec: e59f3058 ldr r3, [pc, #88] ; 14c f0: e5933000 ldr r3, [r3] f4: e3530000 cmp r3, #0 ; 0x0 f8: 1a000007 bne 11c fc: e59f3054 ldr r3, [pc, #84] ; 158 100: e5933000 ldr r3, [r3] 104: e59f0050 ldr r0, [pc, #80] ; 15c 108: e3a01001 mov r1, #1 ; 0x1 10c: e3a02018 mov r2, #24 ; 0x18 110: ebfffffe bl 0 114: e3a00001 mov r0, #1 ; 0x1 118: ebfffffe bl 0 11c: e59f3028 ldr r3, [pc, #40] ; 14c 120: e5933000 ldr r3, [r3] 124: e1a00003 mov r0, r3 128: e59f1030 ldr r1, [pc, #48] ; 160 12c: e59d2004 ldr r2, [sp, #4] 130: ebfffffe bl 0 134: e59f3010 ldr r3, [pc, #16] ; 14c 138: e5933000 ldr r3, [r3] 13c: e1a00003 mov r0, r3 140: ebfffffe bl 0 144: e28dd00c add sp, sp, #12 ; 0xc 148: e8bd8000 pop {pc} 14c: 00000000 .word 0x00000000 150: 00000004 .word 0x00000004 154: 00000010 .word 0x00000010 158: 00000000 .word 0x00000000 15c: 00000014 .word 0x00000014 160: 00000030 .word 0x00000030 00000164 : 164: e52de004 push {lr} ; (str lr, [sp, #-4]!) 168: e24dd034 sub sp, sp, #52 ; 0x34 16c: e58d0004 str r0, [sp, #4] 170: e28d3008 add r3, sp, #8 ; 0x8 174: e1a00003 mov r0, r3 178: e3a01028 mov r1, #40 ; 0x28 17c: e59f2020 ldr r2, [pc, #32] ; 1a4 180: e59d3004 ldr r3, [sp, #4] 184: ebfffffe bl 0 188: e3a03000 mov r3, #0 ; 0x0 18c: e5cd302f strb r3, [sp, #47] 190: e28d3008 add r3, sp, #8 ; 0x8 194: e1a00003 mov r0, r3 198: ebfffffe bl b8 19c: e28dd034 add sp, sp, #52 ; 0x34 1a0: e8bd8000 pop {pc} 1a4: 00000034 .word 0x00000034 000001a8 : 1a8: e52de004 push {lr} ; (str lr, [sp, #-4]!) 1ac: e24dd03c sub sp, sp, #60 ; 0x3c 1b0: e1cd00f8 strd r0, [sp, #8] 1b4: e28d1010 add r1, sp, #16 ; 0x10 1b8: e1cd20d8 ldrd r2, [sp, #8] 1bc: e1cd20f0 strd r2, [sp] 1c0: e1a00001 mov r0, r1 1c4: e3a01028 mov r1, #40 ; 0x28 1c8: e59f201c ldr r2, [pc, #28] ; 1ec 1cc: ebfffffe bl 0 1d0: e3a03000 mov r3, #0 ; 0x0 1d4: e5cd3037 strb r3, [sp, #55] 1d8: e28d3010 add r3, sp, #16 ; 0x10 1dc: e1a00003 mov r0, r3 1e0: ebfffffe bl b8 1e4: e28dd03c add sp, sp, #60 ; 0x3c 1e8: e8bd8000 pop {pc} 1ec: 00000038 .word 0x00000038 000001f0 : 1f0: e52de004 push {lr} ; (str lr, [sp, #-4]!) 1f4: e24dd014 sub sp, sp, #20 ; 0x14 1f8: e58d0004 str r0, [sp, #4] 1fc: e59d3004 ldr r3, [sp, #4] 200: e5933000 ldr r3, [r3] 204: e2433001 sub r3, r3, #1 ; 0x1 208: e3530005 cmp r3, #5 ; 0x5 20c: 979ff103 ldrls pc, [pc, r3, lsl #2] 210: ea000014 b 268 214: 0000022c .word 0x0000022c 218: 00000238 .word 0x00000238 21c: 00000244 .word 0x00000244 220: 00000250 .word 0x00000250 224: 0000025c .word 0x0000025c 228: 0000025c .word 0x0000025c 22c: e59f3048 ldr r3, [pc, #72] ; 27c 230: e58d300c str r3, [sp, #12] 234: ea00000d b 270 238: e59f3040 ldr r3, [pc, #64] ; 280 23c: e58d300c str r3, [sp, #12] 240: ea00000a b 270 244: e59f3038 ldr r3, [pc, #56] ; 284 248: e58d300c str r3, [sp, #12] 24c: ea000007 b 270 250: e59f3030 ldr r3, [pc, #48] ; 288 254: e58d300c str r3, [sp, #12] 258: ea000004 b 270 25c: e59f3028 ldr r3, [pc, #40] ; 28c 260: e58d300c str r3, [sp, #12] 264: ea000001 b 270 268: e59f3020 ldr r3, [pc, #32] ; 290 26c: e58d300c str r3, [sp, #12] 270: e59f001c ldr r0, [pc, #28] ; 294 274: e59d100c ldr r1, [sp, #12] 278: ebfffffe bl 6b8 27c: 0000003c .word 0x0000003c 280: 00000044 .word 0x00000044 284: 00000050 .word 0x00000050 288: 0000005c .word 0x0000005c 28c: 00000068 .word 0x00000068 290: 00000080 .word 0x00000080 294: 0000008c .word 0x0000008c 00000298 : 298: e52de004 push {lr} ; (str lr, [sp, #-4]!) 29c: e24dd02c sub sp, sp, #44 ; 0x2c 2a0: e59f31b8 ldr r3, [pc, #440] ; 460 2a4: e5933000 ldr r3, [r3] 2a8: e3530000 cmp r3, #0 ; 0x0 2ac: ca000069 bgt 458 2b0: e59f31a8 ldr r3, [pc, #424] ; 460 2b4: e5933000 ldr r3, [r3] 2b8: e2832001 add r2, r3, #1 ; 0x1 2bc: e59f319c ldr r3, [pc, #412] ; 460 2c0: e5832000 str r2, [r3] 2c4: e59f3198 ldr r3, [pc, #408] ; 464 2c8: e5933000 ldr r3, [r3] 2cc: e3530000 cmp r3, #0 ; 0x0 2d0: 0a000003 beq 2e4 2d4: e59f3188 ldr r3, [pc, #392] ; 464 2d8: e5933000 ldr r3, [r3] 2dc: e1a00003 mov r0, r3 2e0: ebfffffe bl 0 2e4: e3a00010 mov r0, #16 ; 0x10 2e8: ebfffffe bl 0 2ec: e1a03000 mov r3, r0 2f0: e1a02003 mov r2, r3 2f4: e59f3168 ldr r3, [pc, #360] ; 464 2f8: e5832000 str r2, [r3] 2fc: e59f3160 ldr r3, [pc, #352] ; 464 300: e5933000 ldr r3, [r3] 304: e1a00003 mov r0, r3 308: e59f1158 ldr r1, [pc, #344] ; 468 30c: e3a02010 mov r2, #16 ; 0x10 310: ebfffffe bl 0 314: e59f3150 ldr r3, [pc, #336] ; 46c 318: e5933000 ldr r3, [r3] 31c: e3530000 cmp r3, #0 ; 0x0 320: 0a000009 beq 34c 324: e59f3140 ldr r3, [pc, #320] ; 46c 328: e5933000 ldr r3, [r3] 32c: e2832004 add r2, r3, #4 ; 0x4 330: e3a03000 mov r3, #0 ; 0x0 334: e5823000 str r3, [r2] 338: e59f312c ldr r3, [pc, #300] ; 46c 33c: e5933000 ldr r3, [r3] 340: e2832008 add r2, r3, #8 ; 0x8 344: e59f3124 ldr r3, [pc, #292] ; 470 348: e5832000 str r2, [r3] 34c: e59f2120 ldr r2, [pc, #288] ; 474 350: e3a03000 mov r3, #0 ; 0x0 354: e5823000 str r3, [r2] 358: e59f3118 ldr r3, [pc, #280] ; 478 35c: e5933000 ldr r3, [r3] 360: e2433001 sub r3, r3, #1 ; 0x1 364: e58d301c str r3, [sp, #28] 368: ea000037 b 44c 36c: e59d301c ldr r3, [sp, #28] 370: e1a03103 lsl r3, r3, #2 374: e1a02003 mov r2, r3 378: e59f30fc ldr r3, [pc, #252] ; 47c 37c: e5933000 ldr r3, [r3] 380: e0823003 add r3, r2, r3 384: e5933000 ldr r3, [r3] 388: e58d3020 str r3, [sp, #32] 38c: e59f20ec ldr r2, [pc, #236] ; 480 390: e3a03001 mov r3, #1 ; 0x1 394: e5823000 str r3, [r2] 398: e59d3020 ldr r3, [sp, #32] 39c: e1a03103 lsl r3, r3, #2 3a0: e1a02003 mov r2, r3 3a4: e59f30d8 ldr r3, [pc, #216] ; 484 3a8: e5933000 ldr r3, [r3] 3ac: e0823003 add r3, r2, r3 3b0: e5932000 ldr r2, [r3] 3b4: e3a03000 mov r3, #0 ; 0x0 3b8: e58d3000 str r3, [sp] 3bc: e3a03000 mov r3, #0 ; 0x0 3c0: e58d3004 str r3, [sp, #4] 3c4: e3a03000 mov r3, #0 ; 0x0 3c8: e58d3008 str r3, [sp, #8] 3cc: e3a03000 mov r3, #0 ; 0x0 3d0: e58d300c str r3, [sp, #12] 3d4: e3a03000 mov r3, #0 ; 0x0 3d8: e58d3010 str r3, [sp, #16] 3dc: e3a03000 mov r3, #0 ; 0x0 3e0: e58d3014 str r3, [sp, #20] 3e4: e1a00002 mov r0, r2 3e8: e3a01000 mov r1, #0 ; 0x0 3ec: e3a02000 mov r2, #0 ; 0x0 3f0: e3a03000 mov r3, #0 ; 0x0 3f4: ebfffffe bl c6c4 3f8: e1a03000 mov r3, r0 3fc: e58d3024 str r3, [sp, #36] 400: e59d3024 ldr r3, [sp, #36] 404: e3730105 cmn r3, #1073741825 ; 0x40000001 408: da000003 ble 41c 40c: e59d3024 ldr r3, [sp, #36] 410: e3530000 cmp r3, #0 ; 0x0 414: 1a00000f bne 458 418: ea000008 b 440 41c: e59d3024 ldr r3, [sp, #36] 420: e353020a cmp r3, #-1610612736 ; 0xa0000000 424: ba00000b blt 458 428: e59d3024 ldr r3, [sp, #36] 42c: e1a03183 lsl r3, r3, #3 430: ed937b00 vldr d7, [r3] 434: eeb57b40 fcmpzd d7 438: eef1fa10 fmstat 43c: 1a000005 bne 458 440: e59d301c ldr r3, [sp, #28] 444: e2433001 sub r3, r3, #1 ; 0x1 448: e58d301c str r3, [sp, #28] 44c: e59d301c ldr r3, [sp, #28] 450: e3530000 cmp r3, #0 ; 0x0 454: aaffffc4 bge 36c 458: e28dd02c add sp, sp, #44 ; 0x2c 45c: e8bd8000 pop {pc} ... 468: 000000a4 .word 0x000000a4 ... 00000488 : 488: e52de004 push {lr} ; (str lr, [sp, #-4]!) 48c: e24dd014 sub sp, sp, #20 ; 0x14 490: e58d0004 str r0, [sp, #4] 494: e58d1000 str r1, [sp] 498: e59d3000 ldr r3, [sp] 49c: e58d300c str r3, [sp, #12] 4a0: e59f31a0 ldr r3, [pc, #416] ; 648 4a4: e5933000 ldr r3, [r3] 4a8: e3530000 cmp r3, #0 ; 0x0 4ac: 0a000003 beq 4c0 4b0: e59f3194 ldr r3, [pc, #404] ; 64c 4b4: e5933000 ldr r3, [r3] 4b8: e3530000 cmp r3, #0 ; 0x0 4bc: da000010 ble 504 4c0: e59f3188 ldr r3, [pc, #392] ; 650 4c4: e5933000 ldr r3, [r3] 4c8: e1a00003 mov r0, r3 4cc: e59f1180 ldr r1, [pc, #384] ; 654 4d0: ebfffffe bl 0 4d4: e59f3174 ldr r3, [pc, #372] ; 650 4d8: e5933000 ldr r3, [r3] 4dc: e59d200c ldr r2, [sp, #12] 4e0: e1a00003 mov r0, r3 4e4: e59d1004 ldr r1, [sp, #4] 4e8: ebfffffe bl 0 4ec: e59f315c ldr r3, [pc, #348] ; 650 4f0: e5933000 ldr r3, [r3] 4f4: e1a00003 mov r0, r3 4f8: e59f1158 ldr r1, [pc, #344] ; 658 4fc: ebfffffe bl 0 500: ea000006 b 520 504: e59f3144 ldr r3, [pc, #324] ; 650 508: e5932000 ldr r2, [r3] 50c: e59f3134 ldr r3, [pc, #308] ; 648 510: e5933000 ldr r3, [r3] 514: e1a00002 mov r0, r2 518: e1a01003 mov r1, r3 51c: ebfffffe bl 0 520: e59f3134 ldr r3, [pc, #308] ; 65c 524: e5933000 ldr r3, [r3] 528: e3530000 cmp r3, #0 ; 0x0 52c: 1a000007 bne 550 530: e59f3128 ldr r3, [pc, #296] ; 660 534: e5933000 ldr r3, [r3] 538: e1a00003 mov r0, r3 53c: e59f1120 ldr r1, [pc, #288] ; 664 540: ebfffffe bl 0 544: e1a02000 mov r2, r0 548: e59f310c ldr r3, [pc, #268] ; 65c 54c: e5832000 str r2, [r3] 550: e59f3104 ldr r3, [pc, #260] ; 65c 554: e5933000 ldr r3, [r3] 558: e3530000 cmp r3, #0 ; 0x0 55c: 0a000033 beq 630 560: e59f30f4 ldr r3, [pc, #244] ; 65c 564: e5933000 ldr r3, [r3] 568: e59f00f8 ldr r0, [pc, #248] ; 668 56c: e3a01001 mov r1, #1 ; 0x1 570: e3a02016 mov r2, #22 ; 0x16 574: ebfffffe bl 0 578: e59f30dc ldr r3, [pc, #220] ; 65c 57c: e5933000 ldr r3, [r3] 580: e1a00003 mov r0, r3 584: e59d1004 ldr r1, [sp, #4] 588: e59d2000 ldr r2, [sp] 58c: ebfffffe bl 0 590: e59f30c4 ldr r3, [pc, #196] ; 65c 594: e5933000 ldr r3, [r3] 598: e3a0000a mov r0, #10 ; 0xa 59c: e1a01003 mov r1, r3 5a0: ebfffffe bl 0 5a4: e59f30c0 ldr r3, [pc, #192] ; 66c 5a8: e5933000 ldr r3, [r3] 5ac: e3530000 cmp r3, #0 ; 0x0 5b0: 0a000017 beq 614 5b4: e59f308c ldr r3, [pc, #140] ; 648 5b8: e5933000 ldr r3, [r3] 5bc: e3530000 cmp r3, #0 ; 0x0 5c0: 0a000003 beq 5d4 5c4: e59f3080 ldr r3, [pc, #128] ; 64c 5c8: e5933000 ldr r3, [r3] 5cc: e3530000 cmp r3, #0 ; 0x0 5d0: da000007 ble 5f4 5d4: e59f3074 ldr r3, [pc, #116] ; 650 5d8: e5932000 ldr r2, [r3] 5dc: e59f3088 ldr r3, [pc, #136] ; 66c 5e0: e5933000 ldr r3, [r3] 5e4: e1a00002 mov r0, r2 5e8: e59f1080 ldr r1, [pc, #128] ; 670 5ec: e1a02003 mov r2, r3 5f0: ebfffffe bl 0 5f4: e59f3060 ldr r3, [pc, #96] ; 65c 5f8: e5932000 ldr r2, [r3] 5fc: e59f3068 ldr r3, [pc, #104] ; 66c 600: e5933000 ldr r3, [r3] 604: e1a00002 mov r0, r2 608: e59f1060 ldr r1, [pc, #96] ; 670 60c: e1a02003 mov r2, r3 610: ebfffffe bl 0 614: e59f3040 ldr r3, [pc, #64] ; 65c 618: e5933000 ldr r3, [r3] 61c: e1a00003 mov r0, r3 620: ebfffffe bl 0 624: e59f2030 ldr r2, [pc, #48] ; 65c 628: e3a03000 mov r3, #0 ; 0x0 62c: e5823000 str r3, [r2] 630: ebfffffe bl 298 634: e59f2038 ldr r2, [pc, #56] ; 674 638: e3a03001 mov r3, #1 ; 0x1 63c: e5823000 str r3, [r2] 640: e3a00001 mov r0, #1 ; 0x1 644: ebfffffe bl d490 ... 654: 000000b4 .word 0x000000b4 658: 000000cc .word 0x000000cc ... 664: 00000010 .word 0x00000010 668: 000000d0 .word 0x000000d0 66c: 00000000 .word 0x00000000 670: 00000030 .word 0x00000030 674: 00000000 .word 0x00000000 00000678 : 678: e52de004 push {lr} ; (str lr, [sp, #-4]!) 67c: e24dd00c sub sp, sp, #12 ; 0xc 680: e58d0004 str r0, [sp, #4] 684: e58d1000 str r1, [sp] 688: e59f3024 ldr r3, [pc, #36] ; 6b4 68c: e5933000 ldr r3, [r3] 690: e3530000 cmp r3, #0 ; 0x0 694: 0a000003 beq 6a8 698: e59d0004 ldr r0, [sp, #4] 69c: e3a01000 mov r1, #0 ; 0x0 6a0: e59d2000 ldr r2, [sp] 6a4: ebfffffe bl 0 6a8: e59d0004 ldr r0, [sp, #4] 6ac: e59d1000 ldr r1, [sp] 6b0: ebffff74 bl 488 6b4: 00000000 .word 0x00000000 000006b8 : 6b8: e92d000f push {r0, r1, r2, r3} 6bc: e52de004 push {lr} ; (str lr, [sp, #-4]!) 6c0: e24dd00c sub sp, sp, #12 ; 0xc 6c4: e28d3014 add r3, sp, #20 ; 0x14 6c8: e58d3004 str r3, [sp, #4] 6cc: e59d3004 ldr r3, [sp, #4] 6d0: e59d0010 ldr r0, [sp, #16] 6d4: e1a01003 mov r1, r3 6d8: ebfffffe bl 678 000006dc : 6dc: e24dd008 sub sp, sp, #8 ; 0x8 6e0: e59f3098 ldr r3, [pc, #152] ; 780 6e4: e5932000 ldr r2, [r3] 6e8: e59f3094 ldr r3, [pc, #148] ; 784 6ec: e5832000 str r2, [r3] 6f0: e59f208c ldr r2, [pc, #140] ; 784 6f4: e3a03001 mov r3, #1 ; 0x1 6f8: e5823004 str r3, [r2, #4] 6fc: e59f3084 ldr r3, [pc, #132] ; 788 700: e5932000 ldr r2, [r3] 704: e59f3078 ldr r3, [pc, #120] ; 784 708: e5832008 str r2, [r3, #8] 70c: e59f2070 ldr r2, [pc, #112] ; 784 710: e3a03002 mov r3, #2 ; 0x2 714: e582300c str r3, [r2, #12] 718: e59f306c ldr r3, [pc, #108] ; 78c 71c: e5932000 ldr r2, [r3] 720: e59f305c ldr r3, [pc, #92] ; 784 724: e5832010 str r2, [r3, #16] 728: e59f2054 ldr r2, [pc, #84] ; 784 72c: e3a03002 mov r3, #2 ; 0x2 730: e5823014 str r3, [r2, #20] 734: e3a03003 mov r3, #3 ; 0x3 738: e58d3004 str r3, [sp, #4] 73c: ea00000a b 76c 740: e59d3004 ldr r3, [sp, #4] 744: e59f2038 ldr r2, [pc, #56] ; 784 748: e3a01004 mov r1, #4 ; 0x4 74c: e1a03183 lsl r3, r3, #3 750: e0833002 add r3, r3, r2 754: e0832001 add r2, r3, r1 758: e3a03000 mov r3, #0 ; 0x0 75c: e5823000 str r3, [r2] 760: e59d3004 ldr r3, [sp, #4] 764: e2833001 add r3, r3, #1 ; 0x1 768: e58d3004 str r3, [sp, #4] 76c: e59d3004 ldr r3, [sp, #4] 770: e3530027 cmp r3, #39 ; 0x27 774: dafffff1 ble 740 778: e28dd008 add sp, sp, #8 ; 0x8 77c: e12fff1e bx lr ... 00000790 : 790: e24dd008 sub sp, sp, #8 ; 0x8 794: e3a03000 mov r3, #0 ; 0x0 798: e58d3004 str r3, [sp, #4] 79c: e3a03003 mov r3, #3 ; 0x3 7a0: e58d3000 str r3, [sp] 7a4: ea00000e b 7e4 7a8: e59d3000 ldr r3, [sp] 7ac: e59f204c ldr r2, [pc, #76] ; 800 7b0: e3a01004 mov r1, #4 ; 0x4 7b4: e1a03183 lsl r3, r3, #3 7b8: e0833002 add r3, r3, r2 7bc: e0833001 add r3, r3, r1 7c0: e5933000 ldr r3, [r3] 7c4: e3530000 cmp r3, #0 ; 0x0 7c8: 0a000002 beq 7d8 7cc: e59d3004 ldr r3, [sp, #4] 7d0: e2833001 add r3, r3, #1 ; 0x1 7d4: e58d3004 str r3, [sp, #4] 7d8: e59d3000 ldr r3, [sp] 7dc: e2833001 add r3, r3, #1 ; 0x1 7e0: e58d3000 str r3, [sp] 7e4: e59d3000 ldr r3, [sp] 7e8: e3530027 cmp r3, #39 ; 0x27 7ec: daffffed ble 7a8 7f0: e59d3004 ldr r3, [sp, #4] 7f4: e1a00003 mov r0, r3 7f8: e28dd008 add sp, sp, #8 ; 0x8 7fc: e12fff1e bx lr 800: 00000000 .word 0x00000000 00000804 : 804: e52de004 push {lr} ; (str lr, [sp, #-4]!) 808: e24dd00c sub sp, sp, #12 ; 0xc 80c: e58d0004 str r0, [sp, #4] 810: e59d3004 ldr r3, [sp, #4] 814: e3730105 cmn r3, #1073741825 ; 0x40000001 818: da000004 ble 830 81c: e59d3004 ldr r3, [sp, #4] 820: e6ef3073 uxtb r3, r3 824: e6af3073 sxtb r3, r3 828: e58d3000 str r3, [sp] 82c: ea00000d b 868 830: e59d3004 ldr r3, [sp, #4] 834: e353020a cmp r3, #-1610612736 ; 0xa0000000 838: ba000008 blt 860 83c: e59d3004 ldr r3, [sp, #4] 840: e1a03183 lsl r3, r3, #3 844: ed937b00 vldr d7, [r3] 848: eebd7bc7 ftosizd s14, d7 84c: ee173a10 fmrs r3, s14 850: e6ef3073 uxtb r3, r3 854: e6af3073 sxtb r3, r3 858: e58d3000 str r3, [sp] 85c: ea000001 b 868 860: e59f0010 ldr r0, [pc, #16] ; 878 864: ebfffffe bl 6b8 868: e59d3000 ldr r3, [sp] 86c: e1a00003 mov r0, r3 870: e28dd00c add sp, sp, #12 ; 0xc 874: e8bd8000 pop {pc} 878: 000000e8 .word 0x000000e8 0000087c : 87c: e52de004 push {lr} ; (str lr, [sp, #-4]!) 880: e24dd034 sub sp, sp, #52 ; 0x34 884: e58d000c str r0, [sp, #12] 888: e58d1008 str r1, [sp, #8] 88c: e58d2004 str r2, [sp, #4] 890: e59d300c ldr r3, [sp, #12] 894: e5933000 ldr r3, [r3] 898: e58d3018 str r3, [sp, #24] 89c: e59d3008 ldr r3, [sp, #8] 8a0: e1a03183 lsl r3, r3, #3 8a4: e58d301c str r3, [sp, #28] 8a8: e59d301c ldr r3, [sp, #28] 8ac: e5933004 ldr r3, [r3, #4] 8b0: e58d3024 str r3, [sp, #36] 8b4: e59d2008 ldr r2, [sp, #8] 8b8: e59d3018 ldr r3, [sp, #24] 8bc: e1520003 cmp r2, r3 8c0: 1a000018 bne 928 8c4: e59d301c ldr r3, [sp, #28] 8c8: e5933008 ldr r3, [r3, #8] 8cc: e3530001 cmp r3, #1 ; 0x1 8d0: 1a000014 bne 928 8d4: e59d301c ldr r3, [sp, #28] 8d8: e5932000 ldr r2, [r3] 8dc: e59d301c ldr r3, [sp, #28] 8e0: e2833014 add r3, r3, #20 ; 0x14 8e4: e1520003 cmp r2, r3 8e8: 3a00000e bcc 928 8ec: e59d301c ldr r3, [sp, #28] 8f0: e5933004 ldr r3, [r3, #4] 8f4: e2832001 add r2, r3, #1 ; 0x1 8f8: e59d301c ldr r3, [sp, #28] 8fc: e5832004 str r2, [r3, #4] 900: e59d301c ldr r3, [sp, #28] 904: e5932000 ldr r2, [r3] 908: e59d3004 ldr r3, [sp, #4] 90c: e5823000 str r3, [r2] 910: e59d301c ldr r3, [sp, #28] 914: e5933000 ldr r3, [r3] 918: e2432004 sub r2, r3, #4 ; 0x4 91c: e59d301c ldr r3, [sp, #28] 920: e5832000 str r2, [r3] 924: ea000051 b a70 928: e59d3024 ldr r3, [sp, #36] 92c: e2832004 add r2, r3, #4 ; 0x4 930: e59d3024 ldr r3, [sp, #36] 934: e1a03143 asr r3, r3, #2 938: e0823003 add r3, r2, r3 93c: e58d3028 str r3, [sp, #40] 940: e59d0028 ldr r0, [sp, #40] 944: ebfffffe bl 0 948: e1a03000 mov r3, r0 94c: e58d3020 str r3, [sp, #32] 950: e59d3024 ldr r3, [sp, #36] 954: e2832001 add r2, r3, #1 ; 0x1 958: e59d3020 ldr r3, [sp, #32] 95c: e5832004 str r2, [r3, #4] 960: e59d3020 ldr r3, [sp, #32] 964: e5931000 ldr r1, [r3] 968: e59d3020 ldr r3, [sp, #32] 96c: e5932004 ldr r2, [r3, #4] 970: e59d3028 ldr r3, [sp, #40] 974: e0623003 rsb r3, r2, r3 978: e1a03103 lsl r3, r3, #2 97c: e0812003 add r2, r1, r3 980: e59d3020 ldr r3, [sp, #32] 984: e5832000 str r2, [r3] 988: e59d3020 ldr r3, [sp, #32] 98c: e5933000 ldr r3, [r3] 990: e2833004 add r3, r3, #4 ; 0x4 994: e58d3010 str r3, [sp, #16] 998: e59d2010 ldr r2, [sp, #16] 99c: e59d3004 ldr r3, [sp, #4] 9a0: e5823000 str r3, [r2] 9a4: e59d301c ldr r3, [sp, #28] 9a8: e5933000 ldr r3, [r3] 9ac: e58d3014 str r3, [sp, #20] 9b0: e59d3014 ldr r3, [sp, #20] 9b4: e2833004 add r3, r3, #4 ; 0x4 9b8: e58d3014 str r3, [sp, #20] 9bc: e59d3014 ldr r3, [sp, #20] 9c0: e5933000 ldr r3, [r3] 9c4: e58d302c str r3, [sp, #44] 9c8: e59d3010 ldr r3, [sp, #16] 9cc: e2833004 add r3, r3, #4 ; 0x4 9d0: e58d3010 str r3, [sp, #16] 9d4: e59d2010 ldr r2, [sp, #16] 9d8: e59d302c ldr r3, [sp, #44] 9dc: e5823000 str r3, [r2] 9e0: e59d302c ldr r3, [sp, #44] 9e4: e3730105 cmn r3, #1073741825 ; 0x40000001 9e8: cafffff0 bgt 9b0 9ec: e59d302c ldr r3, [sp, #44] 9f0: e3730105 cmn r3, #1073741825 ; 0x40000001 9f4: 0a000006 beq a14 9f8: e59d302c ldr r3, [sp, #44] 9fc: e1a03183 lsl r3, r3, #3 a00: e1a02003 mov r2, r3 a04: e5923008 ldr r3, [r2, #8] a08: e2833001 add r3, r3, #1 ; 0x1 a0c: e5823008 str r3, [r2, #8] a10: eaffffe6 b 9b0 a14: e59d300c ldr r3, [sp, #12] a18: e5933000 ldr r3, [r3] a1c: e3730105 cmn r3, #1073741825 ; 0x40000001 a20: aa00000c bge a58 a24: e59d300c ldr r3, [sp, #12] a28: e5933000 ldr r3, [r3] a2c: e1a03183 lsl r3, r3, #3 a30: e5932008 ldr r2, [r3, #8] a34: e2422001 sub r2, r2, #1 ; 0x1 a38: e5832008 str r2, [r3, #8] a3c: e5933008 ldr r3, [r3, #8] a40: e3530000 cmp r3, #0 ; 0x0 a44: 1a000003 bne a58 a48: e59d300c ldr r3, [sp, #12] a4c: e5933000 ldr r3, [r3] a50: e1a00003 mov r0, r3 a54: ebfffffe bl 2edc a58: e59d3020 ldr r3, [sp, #32] a5c: e1a031a3 lsr r3, r3, #3 a60: e2833102 add r3, r3, #-2147483648 ; 0x80000000 a64: e1a02003 mov r2, r3 a68: e59d300c ldr r3, [sp, #12] a6c: e5832000 str r2, [r3] a70: e28dd034 add sp, sp, #52 ; 0x34 a74: e8bd8000 pop {pc} 00000a78 : a78: e52de004 push {lr} ; (str lr, [sp, #-4]!) a7c: e24dd044 sub sp, sp, #68 ; 0x44 a80: e58d000c str r0, [sp, #12] a84: e58d1008 str r1, [sp, #8] a88: e58d2004 str r2, [sp, #4] a8c: e59d300c ldr r3, [sp, #12] a90: e5933000 ldr r3, [r3] a94: e58d301c str r3, [sp, #28] a98: e59d3008 ldr r3, [sp, #8] a9c: e1a03183 lsl r3, r3, #3 aa0: e58d3020 str r3, [sp, #32] aa4: e59d3020 ldr r3, [sp, #32] aa8: e5933004 ldr r3, [r3, #4] aac: e58d302c str r3, [sp, #44] ab0: e59d2008 ldr r2, [sp, #8] ab4: e59d301c ldr r3, [sp, #28] ab8: e1520003 cmp r2, r3 abc: 1a00004e bne bfc ac0: e59d3020 ldr r3, [sp, #32] ac4: e5933008 ldr r3, [r3, #8] ac8: e3530001 cmp r3, #1 ; 0x1 acc: 1a00004a bne bfc ad0: e59d3020 ldr r3, [sp, #32] ad4: e593300c ldr r3, [r3, #12] ad8: e3530000 cmp r3, #0 ; 0x0 adc: 1a00002d bne b98 ae0: e59d302c ldr r3, [sp, #44] ae4: e2832004 add r2, r3, #4 ; 0x4 ae8: e59d302c ldr r3, [sp, #44] aec: e1a03143 asr r3, r3, #2 af0: e0823003 add r3, r2, r3 af4: e58d3030 str r3, [sp, #48] af8: e59d3020 ldr r3, [sp, #32] afc: e5933000 ldr r3, [r3] b00: e58d3034 str r3, [sp, #52] b04: e59d3030 ldr r3, [sp, #48] b08: e1a03103 lsl r3, r3, #2 b0c: e1a02003 mov r2, r3 b10: e59d3034 ldr r3, [sp, #52] b14: e0823003 add r3, r2, r3 b18: e2833008 add r3, r3, #8 ; 0x8 b1c: e1a02003 mov r2, r3 b20: e59d3020 ldr r3, [sp, #32] b24: e0633002 rsb r3, r3, r2 b28: e59d0020 ldr r0, [sp, #32] b2c: e1a01003 mov r1, r3 b30: ebfffffe bl 0 b34: e1a03000 mov r3, r0 b38: e58d3024 str r3, [sp, #36] b3c: e59d2034 ldr r2, [sp, #52] b40: e59d3020 ldr r3, [sp, #32] b44: e0633002 rsb r3, r3, r2 b48: e1a03143 asr r3, r3, #2 b4c: e1a03103 lsl r3, r3, #2 b50: e1a02003 mov r2, r3 b54: e59d3024 ldr r3, [sp, #36] b58: e0822003 add r2, r2, r3 b5c: e59d3024 ldr r3, [sp, #36] b60: e5832000 str r2, [r3] b64: e59d3024 ldr r3, [sp, #36] b68: e58d3020 str r3, [sp, #32] b6c: e59d2030 ldr r2, [sp, #48] b70: e59d302c ldr r3, [sp, #44] b74: e0632002 rsb r2, r3, r2 b78: e59d3020 ldr r3, [sp, #32] b7c: e583200c str r2, [r3, #12] b80: e59d3020 ldr r3, [sp, #32] b84: e1a031a3 lsr r3, r3, #3 b88: e2833102 add r3, r3, #-2147483648 ; 0x80000000 b8c: e1a02003 mov r2, r3 b90: e59d300c ldr r3, [sp, #12] b94: e5832000 str r2, [r3] b98: e59d3020 ldr r3, [sp, #32] b9c: e593300c ldr r3, [r3, #12] ba0: e2432001 sub r2, r3, #1 ; 0x1 ba4: e59d3020 ldr r3, [sp, #32] ba8: e583200c str r2, [r3, #12] bac: e59d3020 ldr r3, [sp, #32] bb0: e5933004 ldr r3, [r3, #4] bb4: e2832001 add r2, r3, #1 ; 0x1 bb8: e59d3020 ldr r3, [sp, #32] bbc: e5832004 str r2, [r3, #4] bc0: e59d3020 ldr r3, [sp, #32] bc4: e5932000 ldr r2, [r3] bc8: e59d302c ldr r3, [sp, #44] bcc: e1a03103 lsl r3, r3, #2 bd0: e0823003 add r3, r2, r3 bd4: e2833004 add r3, r3, #4 ; 0x4 bd8: e58d3038 str r3, [sp, #56] bdc: e59d2038 ldr r2, [sp, #56] be0: e59d3004 ldr r3, [sp, #4] be4: e5823000 str r3, [r2] be8: e59d3038 ldr r3, [sp, #56] bec: e2832004 add r2, r3, #4 ; 0x4 bf0: e3e03101 mvn r3, #1073741824 ; 0x40000000 bf4: e5823000 str r3, [r2] bf8: ea000052 b d48 bfc: e59d302c ldr r3, [sp, #44] c00: e2832004 add r2, r3, #4 ; 0x4 c04: e59d302c ldr r3, [sp, #44] c08: e1a03143 asr r3, r3, #2 c0c: e0823003 add r3, r2, r3 c10: e58d3030 str r3, [sp, #48] c14: e59d0030 ldr r0, [sp, #48] c18: ebfffffe bl 0 c1c: e1a03000 mov r3, r0 c20: e58d3028 str r3, [sp, #40] c24: e59d302c ldr r3, [sp, #44] c28: e2832001 add r2, r3, #1 ; 0x1 c2c: e59d3028 ldr r3, [sp, #40] c30: e5832004 str r2, [r3, #4] c34: e59d3028 ldr r3, [sp, #40] c38: e5932004 ldr r2, [r3, #4] c3c: e59d3030 ldr r3, [sp, #48] c40: e0622003 rsb r2, r2, r3 c44: e59d3028 ldr r3, [sp, #40] c48: e583200c str r2, [r3, #12] c4c: e59d3028 ldr r3, [sp, #40] c50: e5933000 ldr r3, [r3] c54: e58d3014 str r3, [sp, #20] c58: e59d3020 ldr r3, [sp, #32] c5c: e5933000 ldr r3, [r3] c60: e58d3018 str r3, [sp, #24] c64: e59d3018 ldr r3, [sp, #24] c68: e2833004 add r3, r3, #4 ; 0x4 c6c: e58d3018 str r3, [sp, #24] c70: e59d3018 ldr r3, [sp, #24] c74: e5933000 ldr r3, [r3] c78: e58d303c str r3, [sp, #60] c7c: e59d3014 ldr r3, [sp, #20] c80: e2833004 add r3, r3, #4 ; 0x4 c84: e58d3014 str r3, [sp, #20] c88: e59d2014 ldr r2, [sp, #20] c8c: e59d303c ldr r3, [sp, #60] c90: e5823000 str r3, [r2] c94: e59d303c ldr r3, [sp, #60] c98: e3730105 cmn r3, #1073741825 ; 0x40000001 c9c: cafffff0 bgt c64 ca0: e59d303c ldr r3, [sp, #60] ca4: e3730105 cmn r3, #1073741825 ; 0x40000001 ca8: 0a000006 beq cc8 cac: e59d303c ldr r3, [sp, #60] cb0: e1a03183 lsl r3, r3, #3 cb4: e1a02003 mov r2, r3 cb8: e5923008 ldr r3, [r2, #8] cbc: e2833001 add r3, r3, #1 ; 0x1 cc0: e5823008 str r3, [r2, #8] cc4: eaffffe6 b c64 cc8: e59d2014 ldr r2, [sp, #20] ccc: e59d3004 ldr r3, [sp, #4] cd0: e5823000 str r3, [r2] cd4: e59d3014 ldr r3, [sp, #20] cd8: e2833004 add r3, r3, #4 ; 0x4 cdc: e58d3014 str r3, [sp, #20] ce0: e59d2014 ldr r2, [sp, #20] ce4: e3e03101 mvn r3, #1073741824 ; 0x40000000 ce8: e5823000 str r3, [r2] cec: e59d300c ldr r3, [sp, #12] cf0: e5933000 ldr r3, [r3] cf4: e3730105 cmn r3, #1073741825 ; 0x40000001 cf8: aa00000c bge d30 cfc: e59d300c ldr r3, [sp, #12] d00: e5933000 ldr r3, [r3] d04: e1a03183 lsl r3, r3, #3 d08: e5932008 ldr r2, [r3, #8] d0c: e2422001 sub r2, r2, #1 ; 0x1 d10: e5832008 str r2, [r3, #8] d14: e5933008 ldr r3, [r3, #8] d18: e3530000 cmp r3, #0 ; 0x0 d1c: 1a000003 bne d30 d20: e59d300c ldr r3, [sp, #12] d24: e5933000 ldr r3, [r3] d28: e1a00003 mov r0, r3 d2c: ebfffffe bl 2edc d30: e59d3028 ldr r3, [sp, #40] d34: e1a031a3 lsr r3, r3, #3 d38: e2833102 add r3, r3, #-2147483648 ; 0x80000000 d3c: e1a02003 mov r2, r3 d40: e59d300c ldr r3, [sp, #12] d44: e5832000 str r2, [r3] d48: e28dd044 add sp, sp, #68 ; 0x44 d4c: e8bd8000 pop {pc} 00000d50 : d50: e52de004 push {lr} ; (str lr, [sp, #-4]!) d54: e24dd03c sub sp, sp, #60 ; 0x3c d58: e58d000c str r0, [sp, #12] d5c: e58d1008 str r1, [sp, #8] d60: e58d2004 str r2, [sp, #4] d64: e59d300c ldr r3, [sp, #12] d68: e1a03183 lsl r3, r3, #3 d6c: e58d302c str r3, [sp, #44] d70: e59d302c ldr r3, [sp, #44] d74: e5933004 ldr r3, [r3, #4] d78: e58d3030 str r3, [sp, #48] d7c: e59d302c ldr r3, [sp, #44] d80: e5933008 ldr r3, [r3, #8] d84: e3530001 cmp r3, #1 ; 0x1 d88: 1a000077 bne f6c d8c: e59d302c ldr r3, [sp, #44] d90: e593200c ldr r2, [r3, #12] d94: e59d3004 ldr r3, [sp, #4] d98: e1520003 cmp r2, r3 d9c: ca00002b bgt e50 da0: e59d2030 ldr r2, [sp, #48] da4: e59d3004 ldr r3, [sp, #4] da8: e0823003 add r3, r2, r3 dac: e2831004 add r1, r3, #4 ; 0x4 db0: e59d2030 ldr r2, [sp, #48] db4: e59d3004 ldr r3, [sp, #4] db8: e0823003 add r3, r2, r3 dbc: e1a03143 asr r3, r3, #2 dc0: e0813003 add r3, r1, r3 dc4: e58d3020 str r3, [sp, #32] dc8: e59d302c ldr r3, [sp, #44] dcc: e5933000 ldr r3, [r3] dd0: e1a02003 mov r2, r3 dd4: e59d302c ldr r3, [sp, #44] dd8: e0633002 rsb r3, r3, r2 ddc: e1a03143 asr r3, r3, #2 de0: e58d3034 str r3, [sp, #52] de4: e59d3020 ldr r3, [sp, #32] de8: e2833001 add r3, r3, #1 ; 0x1 dec: e1a03103 lsl r3, r3, #2 df0: e2833014 add r3, r3, #20 ; 0x14 df4: e59d002c ldr r0, [sp, #44] df8: e1a01003 mov r1, r3 dfc: ebfffffe bl 0 e00: e1a03000 mov r3, r0 e04: e58d3014 str r3, [sp, #20] e08: e59d3034 ldr r3, [sp, #52] e0c: e1a03103 lsl r3, r3, #2 e10: e1a02003 mov r2, r3 e14: e59d3014 ldr r3, [sp, #20] e18: e0822003 add r2, r2, r3 e1c: e59d3014 ldr r3, [sp, #20] e20: e5832000 str r2, [r3] e24: e59d3014 ldr r3, [sp, #20] e28: e58d302c str r3, [sp, #44] e2c: e59d2004 ldr r2, [sp, #4] e30: e59d3030 ldr r3, [sp, #48] e34: e0822003 add r2, r2, r3 e38: e59d3020 ldr r3, [sp, #32] e3c: e0623003 rsb r3, r2, r3 e40: e2432001 sub r2, r3, #1 ; 0x1 e44: e59d302c ldr r3, [sp, #44] e48: e583200c str r2, [r3, #12] e4c: ea000005 b e68 e50: e59d302c ldr r3, [sp, #44] e54: e593200c ldr r2, [r3, #12] e58: e59d3004 ldr r3, [sp, #4] e5c: e0632002 rsb r2, r3, r2 e60: e59d302c ldr r3, [sp, #44] e64: e583200c str r2, [r3, #12] e68: e59d302c ldr r3, [sp, #44] e6c: e5932004 ldr r2, [r3, #4] e70: e59d3004 ldr r3, [sp, #4] e74: e0822003 add r2, r2, r3 e78: e59d302c ldr r3, [sp, #44] e7c: e5832004 str r2, [r3, #4] e80: e59d302c ldr r3, [sp, #44] e84: e5933000 ldr r3, [r3] e88: e2832004 add r2, r3, #4 ; 0x4 e8c: e59d302c ldr r3, [sp, #44] e90: e5933004 ldr r3, [r3, #4] e94: e1a03103 lsl r3, r3, #2 e98: e0822003 add r2, r2, r3 e9c: e3e03101 mvn r3, #1073741824 ; 0x40000000 ea0: e5823000 str r3, [r2] ea4: e59d302c ldr r3, [sp, #44] ea8: e5932000 ldr r2, [r3] eac: e59d3030 ldr r3, [sp, #48] eb0: e1a03103 lsl r3, r3, #2 eb4: e0823003 add r3, r2, r3 eb8: e58d3028 str r3, [sp, #40] ebc: e59d302c ldr r3, [sp, #44] ec0: e5932000 ldr r2, [r3] ec4: e59d302c ldr r3, [sp, #44] ec8: e5933004 ldr r3, [r3, #4] ecc: e1a03103 lsl r3, r3, #2 ed0: e0823003 add r3, r2, r3 ed4: e58d3024 str r3, [sp, #36] ed8: e59d302c ldr r3, [sp, #44] edc: e5933004 ldr r3, [r3, #4] ee0: e2833001 add r3, r3, #1 ; 0x1 ee4: e58d3020 str r3, [sp, #32] ee8: e59d3030 ldr r3, [sp, #48] eec: e2833001 add r3, r3, #1 ; 0x1 ef0: e58d3004 str r3, [sp, #4] ef4: e59d2030 ldr r2, [sp, #48] ef8: e59d3008 ldr r3, [sp, #8] efc: e0633002 rsb r3, r3, r2 f00: e58d301c str r3, [sp, #28] f04: ea000012 b f54 f08: e59d3028 ldr r3, [sp, #40] f0c: e5932000 ldr r2, [r3] f10: e59d3024 ldr r3, [sp, #36] f14: e5832000 str r2, [r3] f18: e59d3024 ldr r3, [sp, #36] f1c: e2433004 sub r3, r3, #4 ; 0x4 f20: e58d3024 str r3, [sp, #36] f24: e59d3028 ldr r3, [sp, #40] f28: e2433004 sub r3, r3, #4 ; 0x4 f2c: e58d3028 str r3, [sp, #40] f30: e59d3004 ldr r3, [sp, #4] f34: e2433001 sub r3, r3, #1 ; 0x1 f38: e58d3004 str r3, [sp, #4] f3c: e59d3020 ldr r3, [sp, #32] f40: e2433001 sub r3, r3, #1 ; 0x1 f44: e58d3020 str r3, [sp, #32] f48: e59d301c ldr r3, [sp, #28] f4c: e2433001 sub r3, r3, #1 ; 0x1 f50: e58d301c str r3, [sp, #28] f54: e59d301c ldr r3, [sp, #28] f58: e3730001 cmn r3, #1 ; 0x1 f5c: caffffe9 bgt f08 f60: e59d302c ldr r3, [sp, #44] f64: e58d3000 str r3, [sp] f68: ea00005e b 10e8 f6c: e59d2030 ldr r2, [sp, #48] f70: e59d3004 ldr r3, [sp, #4] f74: e0823003 add r3, r2, r3 f78: e1a00003 mov r0, r3 f7c: ebfffffe bl 0 f80: e1a03000 mov r3, r0 f84: e58d3014 str r3, [sp, #20] f88: e59d3014 ldr r3, [sp, #20] f8c: e5933000 ldr r3, [r3] f90: e58d3024 str r3, [sp, #36] f94: e59d302c ldr r3, [sp, #44] f98: e5933000 ldr r3, [r3] f9c: e58d3028 str r3, [sp, #40] fa0: e3a03001 mov r3, #1 ; 0x1 fa4: e58d301c str r3, [sp, #28] fa8: ea000017 b 100c fac: e59d3028 ldr r3, [sp, #40] fb0: e2833004 add r3, r3, #4 ; 0x4 fb4: e58d3028 str r3, [sp, #40] fb8: e59d3028 ldr r3, [sp, #40] fbc: e5933000 ldr r3, [r3] fc0: e58d3018 str r3, [sp, #24] fc4: e59d3024 ldr r3, [sp, #36] fc8: e2833004 add r3, r3, #4 ; 0x4 fcc: e58d3024 str r3, [sp, #36] fd0: e59d2024 ldr r2, [sp, #36] fd4: e59d3018 ldr r3, [sp, #24] fd8: e5823000 str r3, [r2] fdc: e59d3018 ldr r3, [sp, #24] fe0: e3730105 cmn r3, #1073741825 ; 0x40000001 fe4: ca000005 bgt 1000 fe8: e59d3018 ldr r3, [sp, #24] fec: e1a03183 lsl r3, r3, #3 ff0: e1a02003 mov r2, r3 ff4: e5923008 ldr r3, [r2, #8] ff8: e2833001 add r3, r3, #1 ; 0x1 ffc: e5823008 str r3, [r2, #8] 1000: e59d301c ldr r3, [sp, #28] 1004: e2833001 add r3, r3, #1 ; 0x1 1008: e58d301c str r3, [sp, #28] 100c: e59d201c ldr r2, [sp, #28] 1010: e59d3008 ldr r3, [sp, #8] 1014: e1520003 cmp r2, r3 1018: baffffe3 blt fac 101c: e59d3004 ldr r3, [sp, #4] 1020: e1a03103 lsl r3, r3, #2 1024: e1a02003 mov r2, r3 1028: e59d3024 ldr r3, [sp, #36] 102c: e0833002 add r3, r3, r2 1030: e58d3024 str r3, [sp, #36] 1034: e59d3028 ldr r3, [sp, #40] 1038: e2833004 add r3, r3, #4 ; 0x4 103c: e58d3028 str r3, [sp, #40] 1040: e59d3028 ldr r3, [sp, #40] 1044: e5933000 ldr r3, [r3] 1048: e58d3018 str r3, [sp, #24] 104c: e59d3024 ldr r3, [sp, #36] 1050: e2833004 add r3, r3, #4 ; 0x4 1054: e58d3024 str r3, [sp, #36] 1058: e59d2024 ldr r2, [sp, #36] 105c: e59d3018 ldr r3, [sp, #24] 1060: e5823000 str r3, [r2] 1064: e59d3018 ldr r3, [sp, #24] 1068: e3730105 cmn r3, #1073741825 ; 0x40000001 106c: ca000008 bgt 1094 1070: e59d3018 ldr r3, [sp, #24] 1074: e3730105 cmn r3, #1073741825 ; 0x40000001 1078: 0a000009 beq 10a4 107c: e59d3018 ldr r3, [sp, #24] 1080: e1a03183 lsl r3, r3, #3 1084: e1a02003 mov r2, r3 1088: e5923008 ldr r3, [r2, #8] 108c: e2833001 add r3, r3, #1 ; 0x1 1090: e5823008 str r3, [r2, #8] 1094: e59d301c ldr r3, [sp, #28] 1098: e2833001 add r3, r3, #1 ; 0x1 109c: e58d301c str r3, [sp, #28] 10a0: eaffffe3 b 1034 10a4: e59d302c ldr r3, [sp, #44] 10a8: e1a031a3 lsr r3, r3, #3 10ac: e2833102 add r3, r3, #-2147483648 ; 0x80000000 10b0: e1a03183 lsl r3, r3, #3 10b4: e5932008 ldr r2, [r3, #8] 10b8: e2422001 sub r2, r2, #1 ; 0x1 10bc: e5832008 str r2, [r3, #8] 10c0: e5933008 ldr r3, [r3, #8] 10c4: e3530000 cmp r3, #0 ; 0x0 10c8: 1a000004 bne 10e0 10cc: e59d302c ldr r3, [sp, #44] 10d0: e1a031a3 lsr r3, r3, #3 10d4: e2833102 add r3, r3, #-2147483648 ; 0x80000000 10d8: e1a00003 mov r0, r3 10dc: ebfffffe bl 2edc 10e0: e59d3014 ldr r3, [sp, #20] 10e4: e58d3000 str r3, [sp] 10e8: e59d3000 ldr r3, [sp] 10ec: e1a00003 mov r0, r3 10f0: e28dd03c add sp, sp, #60 ; 0x3c 10f4: e8bd8000 pop {pc} 000010f8 : 10f8: e52de004 push {lr} ; (str lr, [sp, #-4]!) 10fc: e24dd034 sub sp, sp, #52 ; 0x34 1100: e58d000c str r0, [sp, #12] 1104: e58d1008 str r1, [sp, #8] 1108: e58d2004 str r2, [sp, #4] 110c: e59f32b8 ldr r3, [pc, #696] ; 13cc 1110: e5933000 ldr r3, [r3] 1114: e5933000 ldr r3, [r3] 1118: e58d301c str r3, [sp, #28] 111c: e59d301c ldr r3, [sp, #28] 1120: e5933008 ldr r3, [r3, #8] 1124: e3530001 cmp r3, #1 ; 0x1 1128: 1a000002 bne 1138 112c: e59d3004 ldr r3, [sp, #4] 1130: e3530000 cmp r3, #0 ; 0x0 1134: 1a000072 bne 1304 1138: e59d301c ldr r3, [sp, #28] 113c: e5933004 ldr r3, [r3, #4] 1140: e1a00003 mov r0, r3 1144: ebfffffe bl 0 1148: e1a03000 mov r3, r0 114c: e58d3028 str r3, [sp, #40] 1150: e59d3028 ldr r3, [sp, #40] 1154: e5933000 ldr r3, [r3] 1158: e58d3014 str r3, [sp, #20] 115c: e59d301c ldr r3, [sp, #28] 1160: e5933000 ldr r3, [r3] 1164: e58d3018 str r3, [sp, #24] 1168: e3a03001 mov r3, #1 ; 0x1 116c: e58d3024 str r3, [sp, #36] 1170: ea000017 b 11d4 1174: e59d3018 ldr r3, [sp, #24] 1178: e2833004 add r3, r3, #4 ; 0x4 117c: e58d3018 str r3, [sp, #24] 1180: e59d3018 ldr r3, [sp, #24] 1184: e5933000 ldr r3, [r3] 1188: e58d3020 str r3, [sp, #32] 118c: e59d3014 ldr r3, [sp, #20] 1190: e2833004 add r3, r3, #4 ; 0x4 1194: e58d3014 str r3, [sp, #20] 1198: e59d2014 ldr r2, [sp, #20] 119c: e59d3020 ldr r3, [sp, #32] 11a0: e5823000 str r3, [r2] 11a4: e59d3020 ldr r3, [sp, #32] 11a8: e3730105 cmn r3, #1073741825 ; 0x40000001 11ac: ca000005 bgt 11c8 11b0: e59d3020 ldr r3, [sp, #32] 11b4: e1a03183 lsl r3, r3, #3 11b8: e1a02003 mov r2, r3 11bc: e5923008 ldr r3, [r2, #8] 11c0: e2833001 add r3, r3, #1 ; 0x1 11c4: e5823008 str r3, [r2, #8] 11c8: e59d3024 ldr r3, [sp, #36] 11cc: e2833001 add r3, r3, #1 ; 0x1 11d0: e58d3024 str r3, [sp, #36] 11d4: e59d2024 ldr r2, [sp, #36] 11d8: e59d300c ldr r3, [sp, #12] 11dc: e1520003 cmp r2, r3 11e0: baffffe3 blt 1174 11e4: e59d3008 ldr r3, [sp, #8] 11e8: e5933004 ldr r3, [r3, #4] 11ec: e1a03103 lsl r3, r3, #2 11f0: e1a02003 mov r2, r3 11f4: e59d3018 ldr r3, [sp, #24] 11f8: e0823003 add r3, r2, r3 11fc: e58d302c str r3, [sp, #44] 1200: e59d3008 ldr r3, [sp, #8] 1204: e5933000 ldr r3, [r3] 1208: e58d3018 str r3, [sp, #24] 120c: e3a03001 mov r3, #1 ; 0x1 1210: e58d3024 str r3, [sp, #36] 1214: ea000017 b 1278 1218: e59d3018 ldr r3, [sp, #24] 121c: e2833004 add r3, r3, #4 ; 0x4 1220: e58d3018 str r3, [sp, #24] 1224: e59d3018 ldr r3, [sp, #24] 1228: e5933000 ldr r3, [r3] 122c: e58d3020 str r3, [sp, #32] 1230: e59d3014 ldr r3, [sp, #20] 1234: e2833004 add r3, r3, #4 ; 0x4 1238: e58d3014 str r3, [sp, #20] 123c: e59d2014 ldr r2, [sp, #20] 1240: e59d3020 ldr r3, [sp, #32] 1244: e5823000 str r3, [r2] 1248: e59d3020 ldr r3, [sp, #32] 124c: e3730105 cmn r3, #1073741825 ; 0x40000001 1250: ca000005 bgt 126c 1254: e59d3020 ldr r3, [sp, #32] 1258: e1a03183 lsl r3, r3, #3 125c: e1a02003 mov r2, r3 1260: e5923008 ldr r3, [r2, #8] 1264: e2833001 add r3, r3, #1 ; 0x1 1268: e5823008 str r3, [r2, #8] 126c: e59d3024 ldr r3, [sp, #36] 1270: e2833001 add r3, r3, #1 ; 0x1 1274: e58d3024 str r3, [sp, #36] 1278: e59d3008 ldr r3, [sp, #8] 127c: e5932004 ldr r2, [r3, #4] 1280: e59d3024 ldr r3, [sp, #36] 1284: e1520003 cmp r2, r3 1288: aaffffe2 bge 1218 128c: e59d302c ldr r3, [sp, #44] 1290: e58d3018 str r3, [sp, #24] 1294: e59d3018 ldr r3, [sp, #24] 1298: e2833004 add r3, r3, #4 ; 0x4 129c: e58d3018 str r3, [sp, #24] 12a0: e59d3018 ldr r3, [sp, #24] 12a4: e5933000 ldr r3, [r3] 12a8: e58d3020 str r3, [sp, #32] 12ac: e59d3014 ldr r3, [sp, #20] 12b0: e2833004 add r3, r3, #4 ; 0x4 12b4: e58d3014 str r3, [sp, #20] 12b8: e59d2014 ldr r2, [sp, #20] 12bc: e59d3020 ldr r3, [sp, #32] 12c0: e5823000 str r3, [r2] 12c4: e59d3020 ldr r3, [sp, #32] 12c8: e3730105 cmn r3, #1073741825 ; 0x40000001 12cc: cafffff0 bgt 1294 12d0: e59d3020 ldr r3, [sp, #32] 12d4: e3730105 cmn r3, #1073741825 ; 0x40000001 12d8: 0a000006 beq 12f8 12dc: e59d3020 ldr r3, [sp, #32] 12e0: e1a03183 lsl r3, r3, #3 12e4: e1a02003 mov r2, r3 12e8: e5923008 ldr r3, [r2, #8] 12ec: e2833001 add r3, r3, #1 ; 0x1 12f0: e5823008 str r3, [r2, #8] 12f4: eaffffe6 b 1294 12f8: e59d3028 ldr r3, [sp, #40] 12fc: e58d3000 str r3, [sp] 1300: ea00002d b 13bc 1304: e59f30c0 ldr r3, [pc, #192] ; 13cc 1308: e5933000 ldr r3, [r3] 130c: e5933000 ldr r3, [r3] 1310: e5932000 ldr r2, [r3] 1314: e59d300c ldr r3, [sp, #12] 1318: e1a03103 lsl r3, r3, #2 131c: e0823003 add r3, r2, r3 1320: e58d3014 str r3, [sp, #20] 1324: e59d3008 ldr r3, [sp, #8] 1328: e5933000 ldr r3, [r3] 132c: e2833004 add r3, r3, #4 ; 0x4 1330: e58d3018 str r3, [sp, #24] 1334: e3a03001 mov r3, #1 ; 0x1 1338: e58d3024 str r3, [sp, #36] 133c: ea000017 b 13a0 1340: e59d3018 ldr r3, [sp, #24] 1344: e5933000 ldr r3, [r3] 1348: e58d3020 str r3, [sp, #32] 134c: e59d3018 ldr r3, [sp, #24] 1350: e2833004 add r3, r3, #4 ; 0x4 1354: e58d3018 str r3, [sp, #24] 1358: e59d2014 ldr r2, [sp, #20] 135c: e59d3020 ldr r3, [sp, #32] 1360: e5823000 str r3, [r2] 1364: e59d3014 ldr r3, [sp, #20] 1368: e2833004 add r3, r3, #4 ; 0x4 136c: e58d3014 str r3, [sp, #20] 1370: e59d3020 ldr r3, [sp, #32] 1374: e3730105 cmn r3, #1073741825 ; 0x40000001 1378: ca000005 bgt 1394 137c: e59d3020 ldr r3, [sp, #32] 1380: e1a03183 lsl r3, r3, #3 1384: e1a02003 mov r2, r3 1388: e5923008 ldr r3, [r2, #8] 138c: e2833001 add r3, r3, #1 ; 0x1 1390: e5823008 str r3, [r2, #8] 1394: e59d3024 ldr r3, [sp, #36] 1398: e2833001 add r3, r3, #1 ; 0x1 139c: e58d3024 str r3, [sp, #36] 13a0: e59d3008 ldr r3, [sp, #8] 13a4: e5932004 ldr r2, [r3, #4] 13a8: e59d3024 ldr r3, [sp, #36] 13ac: e1520003 cmp r2, r3 13b0: aaffffe2 bge 1340 13b4: e59d301c ldr r3, [sp, #28] 13b8: e58d3000 str r3, [sp] 13bc: e59d3000 ldr r3, [sp] 13c0: e1a00003 mov r0, r3 13c4: e28dd034 add sp, sp, #52 ; 0x34 13c8: e8bd8000 pop {pc} 13cc: 00000000 .word 0x00000000 000013d0 : 13d0: e52de004 push {lr} ; (str lr, [sp, #-4]!) 13d4: e24dd01c sub sp, sp, #28 ; 0x1c 13d8: e58d000c str r0, [sp, #12] 13dc: e58d1008 str r1, [sp, #8] 13e0: e58d2004 str r2, [sp, #4] 13e4: e59d000c ldr r0, [sp, #12] 13e8: e59d1004 ldr r1, [sp, #4] 13ec: e3a02001 mov r2, #1 ; 0x1 13f0: ebfffffe bl d50 13f4: e1a03000 mov r3, r0 13f8: e58d3014 str r3, [sp, #20] 13fc: e59d3014 ldr r3, [sp, #20] 1400: e5932000 ldr r2, [r3] 1404: e59d3004 ldr r3, [sp, #4] 1408: e1a03103 lsl r3, r3, #2 140c: e0822003 add r2, r2, r3 1410: e59d3008 ldr r3, [sp, #8] 1414: e5823000 str r3, [r2] 1418: e59d3014 ldr r3, [sp, #20] 141c: e1a031a3 lsr r3, r3, #3 1420: e2833102 add r3, r3, #-2147483648 ; 0x80000000 1424: e1a00003 mov r0, r3 1428: e28dd01c add sp, sp, #28 ; 0x1c 142c: e8bd8000 pop {pc} 00001430 : 1430: e52de004 push {lr} ; (str lr, [sp, #-4]!) 1434: e24dd02c sub sp, sp, #44 ; 0x2c 1438: e58d000c str r0, [sp, #12] 143c: e58d1008 str r1, [sp, #8] 1440: e58d2004 str r2, [sp, #4] 1444: e59d300c ldr r3, [sp, #12] 1448: e5933008 ldr r3, [r3, #8] 144c: e3530001 cmp r3, #1 ; 0x1 1450: 1a000043 bne 1564 1454: e59d3004 ldr r3, [sp, #4] 1458: e5932000 ldr r2, [r3] 145c: e59d300c ldr r3, [sp, #12] 1460: e1a031a3 lsr r3, r3, #3 1464: e2833102 add r3, r3, #-2147483648 ; 0x80000000 1468: e1520003 cmp r2, r3 146c: 1a00003c bne 1564 1470: e59d300c ldr r3, [sp, #12] 1474: e5932000 ldr r2, [r3] 1478: e59d3008 ldr r3, [sp, #8] 147c: e1a03103 lsl r3, r3, #2 1480: e0823003 add r3, r2, r3 1484: e58d3018 str r3, [sp, #24] 1488: e59d300c ldr r3, [sp, #12] 148c: e5932000 ldr r2, [r3] 1490: e59d300c ldr r3, [sp, #12] 1494: e5933004 ldr r3, [r3, #4] 1498: e1a03103 lsl r3, r3, #2 149c: e0823003 add r3, r2, r3 14a0: e2833004 add r3, r3, #4 ; 0x4 14a4: e58d301c str r3, [sp, #28] 14a8: ea000013 b 14fc 14ac: e59d3018 ldr r3, [sp, #24] 14b0: e5933000 ldr r3, [r3] 14b4: e3730105 cmn r3, #1073741825 ; 0x40000001 14b8: aa00000c bge 14f0 14bc: e59d3018 ldr r3, [sp, #24] 14c0: e5933000 ldr r3, [r3] 14c4: e1a03183 lsl r3, r3, #3 14c8: e5932008 ldr r2, [r3, #8] 14cc: e2422001 sub r2, r2, #1 ; 0x1 14d0: e5832008 str r2, [r3, #8] 14d4: e5933008 ldr r3, [r3, #8] 14d8: e3530000 cmp r3, #0 ; 0x0 14dc: 1a000003 bne 14f0 14e0: e59d3018 ldr r3, [sp, #24] 14e4: e5933000 ldr r3, [r3] 14e8: e1a00003 mov r0, r3 14ec: ebfffffe bl 2edc 14f0: e59d3018 ldr r3, [sp, #24] 14f4: e2833004 add r3, r3, #4 ; 0x4 14f8: e58d3018 str r3, [sp, #24] 14fc: e59d2018 ldr r2, [sp, #24] 1500: e59d301c ldr r3, [sp, #28] 1504: e1520003 cmp r2, r3 1508: 3affffe7 bcc 14ac 150c: e59d300c ldr r3, [sp, #12] 1510: e5932000 ldr r2, [r3] 1514: e59d3008 ldr r3, [sp, #8] 1518: e1a03103 lsl r3, r3, #2 151c: e0822003 add r2, r2, r3 1520: e3e03101 mvn r3, #1073741824 ; 0x40000000 1524: e5823000 str r3, [r2] 1528: e59d300c ldr r3, [sp, #12] 152c: e593100c ldr r1, [r3, #12] 1530: e59d300c ldr r3, [sp, #12] 1534: e5932004 ldr r2, [r3, #4] 1538: e59d3008 ldr r3, [sp, #8] 153c: e0633002 rsb r3, r3, r2 1540: e2833001 add r3, r3, #1 ; 0x1 1544: e0812003 add r2, r1, r3 1548: e59d300c ldr r3, [sp, #12] 154c: e583200c str r2, [r3, #12] 1550: e59d3008 ldr r3, [sp, #8] 1554: e2432001 sub r2, r3, #1 ; 0x1 1558: e59d300c ldr r3, [sp, #12] 155c: e5832004 str r2, [r3, #4] 1560: ea000044 b 1678 1564: e59d3008 ldr r3, [sp, #8] 1568: e2433001 sub r3, r3, #1 ; 0x1 156c: e1a00003 mov r0, r3 1570: ebfffffe bl 0 1574: e1a03000 mov r3, r0 1578: e58d3020 str r3, [sp, #32] 157c: e3a03001 mov r3, #1 ; 0x1 1580: e58d3014 str r3, [sp, #20] 1584: ea000019 b 15f0 1588: e59d300c ldr r3, [sp, #12] 158c: e5932000 ldr r2, [r3] 1590: e59d3014 ldr r3, [sp, #20] 1594: e1a03103 lsl r3, r3, #2 1598: e0823003 add r3, r2, r3 159c: e5933000 ldr r3, [r3] 15a0: e58d3024 str r3, [sp, #36] 15a4: e59d3020 ldr r3, [sp, #32] 15a8: e5932000 ldr r2, [r3] 15ac: e59d3014 ldr r3, [sp, #20] 15b0: e1a03103 lsl r3, r3, #2 15b4: e0822003 add r2, r2, r3 15b8: e59d3024 ldr r3, [sp, #36] 15bc: e5823000 str r3, [r2] 15c0: e59d3024 ldr r3, [sp, #36] 15c4: e3730105 cmn r3, #1073741825 ; 0x40000001 15c8: aa000005 bge 15e4 15cc: e59d3024 ldr r3, [sp, #36] 15d0: e1a03183 lsl r3, r3, #3 15d4: e1a02003 mov r2, r3 15d8: e5923008 ldr r3, [r2, #8] 15dc: e2833001 add r3, r3, #1 ; 0x1 15e0: e5823008 str r3, [r2, #8] 15e4: e59d3014 ldr r3, [sp, #20] 15e8: e2833001 add r3, r3, #1 ; 0x1 15ec: e58d3014 str r3, [sp, #20] 15f0: e59d2014 ldr r2, [sp, #20] 15f4: e59d3008 ldr r3, [sp, #8] 15f8: e1520003 cmp r2, r3 15fc: baffffe1 blt 1588 1600: e59d3020 ldr r3, [sp, #32] 1604: e5932000 ldr r2, [r3] 1608: e59d3008 ldr r3, [sp, #8] 160c: e1a03103 lsl r3, r3, #2 1610: e0822003 add r2, r2, r3 1614: e3e03101 mvn r3, #1073741824 ; 0x40000000 1618: e5823000 str r3, [r2] 161c: e59d3004 ldr r3, [sp, #4] 1620: e5933000 ldr r3, [r3] 1624: e3730105 cmn r3, #1073741825 ; 0x40000001 1628: aa00000c bge 1660 162c: e59d3004 ldr r3, [sp, #4] 1630: e5933000 ldr r3, [r3] 1634: e1a03183 lsl r3, r3, #3 1638: e5932008 ldr r2, [r3, #8] 163c: e2422001 sub r2, r2, #1 ; 0x1 1640: e5832008 str r2, [r3, #8] 1644: e5933008 ldr r3, [r3, #8] 1648: e3530000 cmp r3, #0 ; 0x0 164c: 1a000003 bne 1660 1650: e59d3004 ldr r3, [sp, #4] 1654: e5933000 ldr r3, [r3] 1658: e1a00003 mov r0, r3 165c: ebfffffe bl 2edc 1660: e59d3020 ldr r3, [sp, #32] 1664: e1a031a3 lsr r3, r3, #3 1668: e2833102 add r3, r3, #-2147483648 ; 0x80000000 166c: e1a02003 mov r2, r3 1670: e59d3004 ldr r3, [sp, #4] 1674: e5832000 str r2, [r3] 1678: e28dd02c add sp, sp, #44 ; 0x2c 167c: e8bd8000 pop {pc} 00001680 : 1680: e52de004 push {lr} ; (str lr, [sp, #-4]!) 1684: e24dd034 sub sp, sp, #52 ; 0x34 1688: e58d000c str r0, [sp, #12] 168c: e58d1008 str r1, [sp, #8] 1690: e58d2004 str r2, [sp, #4] 1694: e59d300c ldr r3, [sp, #12] 1698: e5932004 ldr r2, [r3, #4] 169c: e59d3008 ldr r3, [sp, #8] 16a0: e0633002 rsb r3, r3, r2 16a4: e2833001 add r3, r3, #1 ; 0x1 16a8: e58d3010 str r3, [sp, #16] 16ac: e59d300c ldr r3, [sp, #12] 16b0: e5933008 ldr r3, [r3, #8] 16b4: e3530001 cmp r3, #1 ; 0x1 16b8: 1a00003e bne 17b8 16bc: e59d300c ldr r3, [sp, #12] 16c0: e1a031a3 lsr r3, r3, #3 16c4: e2833102 add r3, r3, #-2147483648 ; 0x80000000 16c8: e1a02003 mov r2, r3 16cc: e59d3004 ldr r3, [sp, #4] 16d0: e5933000 ldr r3, [r3] 16d4: e1520003 cmp r2, r3 16d8: 1a000036 bne 17b8 16dc: e59d300c ldr r3, [sp, #12] 16e0: e5933000 ldr r3, [r3] 16e4: e2833004 add r3, r3, #4 ; 0x4 16e8: e58d3018 str r3, [sp, #24] 16ec: e59d3018 ldr r3, [sp, #24] 16f0: e58d3014 str r3, [sp, #20] 16f4: e59d300c ldr r3, [sp, #12] 16f8: e5932000 ldr r2, [r3] 16fc: e59d3008 ldr r3, [sp, #8] 1700: e1a03103 lsl r3, r3, #2 1704: e0823003 add r3, r2, r3 1708: e58d301c str r3, [sp, #28] 170c: ea000013 b 1760 1710: e59d3018 ldr r3, [sp, #24] 1714: e5933000 ldr r3, [r3] 1718: e3730105 cmn r3, #1073741825 ; 0x40000001 171c: aa00000c bge 1754 1720: e59d3018 ldr r3, [sp, #24] 1724: e5933000 ldr r3, [r3] 1728: e1a03183 lsl r3, r3, #3 172c: e5932008 ldr r2, [r3, #8] 1730: e2422001 sub r2, r2, #1 ; 0x1 1734: e5832008 str r2, [r3, #8] 1738: e5933008 ldr r3, [r3, #8] 173c: e3530000 cmp r3, #0 ; 0x0 1740: 1a000003 bne 1754 1744: e59d3018 ldr r3, [sp, #24] 1748: e5933000 ldr r3, [r3] 174c: e1a00003 mov r0, r3 1750: ebfffffe bl 2edc 1754: e59d3018 ldr r3, [sp, #24] 1758: e2833004 add r3, r3, #4 ; 0x4 175c: e58d3018 str r3, [sp, #24] 1760: e59d2018 ldr r2, [sp, #24] 1764: e59d301c ldr r3, [sp, #28] 1768: e1520003 cmp r2, r3 176c: 3affffe7 bcc 1710 1770: e59d3010 ldr r3, [sp, #16] 1774: e2833001 add r3, r3, #1 ; 0x1 1778: e1a03103 lsl r3, r3, #2 177c: e59d0014 ldr r0, [sp, #20] 1780: e59d101c ldr r1, [sp, #28] 1784: e1a02003 mov r2, r3 1788: ebfffffe bl 0 178c: e59d300c ldr r3, [sp, #12] 1790: e593200c ldr r2, [r3, #12] 1794: e59d3008 ldr r3, [sp, #8] 1798: e2433001 sub r3, r3, #1 ; 0x1 179c: e0822003 add r2, r2, r3 17a0: e59d300c ldr r3, [sp, #12] 17a4: e583200c str r2, [r3, #12] 17a8: e59d200c ldr r2, [sp, #12] 17ac: e59d3010 ldr r3, [sp, #16] 17b0: e5823004 str r3, [r2, #4] 17b4: ea00003d b 18b0 17b8: e59d0010 ldr r0, [sp, #16] 17bc: ebfffffe bl 0 17c0: e1a03000 mov r3, r0 17c4: e58d3020 str r3, [sp, #32] 17c8: e59d300c ldr r3, [sp, #12] 17cc: e5932000 ldr r2, [r3] 17d0: e59d3008 ldr r3, [sp, #8] 17d4: e1a03103 lsl r3, r3, #2 17d8: e0823003 add r3, r2, r3 17dc: e2433004 sub r3, r3, #4 ; 0x4 17e0: e58d3028 str r3, [sp, #40] 17e4: e59d3020 ldr r3, [sp, #32] 17e8: e5933000 ldr r3, [r3] 17ec: e58d302c str r3, [sp, #44] 17f0: e59d3028 ldr r3, [sp, #40] 17f4: e2833004 add r3, r3, #4 ; 0x4 17f8: e58d3028 str r3, [sp, #40] 17fc: e59d3028 ldr r3, [sp, #40] 1800: e5933000 ldr r3, [r3] 1804: e58d3024 str r3, [sp, #36] 1808: e59d302c ldr r3, [sp, #44] 180c: e2833004 add r3, r3, #4 ; 0x4 1810: e58d302c str r3, [sp, #44] 1814: e59d202c ldr r2, [sp, #44] 1818: e59d3024 ldr r3, [sp, #36] 181c: e5823000 str r3, [r2] 1820: e59d3024 ldr r3, [sp, #36] 1824: e3730105 cmn r3, #1073741825 ; 0x40000001 1828: 0a000009 beq 1854 182c: e59d3024 ldr r3, [sp, #36] 1830: e3730105 cmn r3, #1073741825 ; 0x40000001 1834: aaffffed bge 17f0 1838: e59d3024 ldr r3, [sp, #36] 183c: e1a03183 lsl r3, r3, #3 1840: e1a02003 mov r2, r3 1844: e5923008 ldr r3, [r2, #8] 1848: e2833001 add r3, r3, #1 ; 0x1 184c: e5823008 str r3, [r2, #8] 1850: eaffffe6 b 17f0 1854: e59d3004 ldr r3, [sp, #4] 1858: e5933000 ldr r3, [r3] 185c: e3730105 cmn r3, #1073741825 ; 0x40000001 1860: aa00000c bge 1898 1864: e59d3004 ldr r3, [sp, #4] 1868: e5933000 ldr r3, [r3] 186c: e1a03183 lsl r3, r3, #3 1870: e5932008 ldr r2, [r3, #8] 1874: e2422001 sub r2, r2, #1 ; 0x1 1878: e5832008 str r2, [r3, #8] 187c: e5933008 ldr r3, [r3, #8] 1880: e3530000 cmp r3, #0 ; 0x0 1884: 1a000003 bne 1898 1888: e59d3004 ldr r3, [sp, #4] 188c: e5933000 ldr r3, [r3] 1890: e1a00003 mov r0, r3 1894: ebfffffe bl 2edc 1898: e59d3020 ldr r3, [sp, #32] 189c: e1a031a3 lsr r3, r3, #3 18a0: e2833102 add r3, r3, #-2147483648 ; 0x80000000 18a4: e1a02003 mov r2, r3 18a8: e59d3004 ldr r3, [sp, #4] 18ac: e5832000 str r2, [r3] 18b0: e28dd034 add sp, sp, #52 ; 0x34 18b4: e8bd8000 pop {pc} 000018b8 : 18b8: e52de004 push {lr} ; (str lr, [sp, #-4]!) 18bc: e24dd03c sub sp, sp, #60 ; 0x3c 18c0: e58d000c str r0, [sp, #12] 18c4: e58d1008 str r1, [sp, #8] 18c8: e58d2004 str r2, [sp, #4] 18cc: e59d2008 ldr r2, [sp, #8] 18d0: e59d300c ldr r3, [sp, #12] 18d4: e0633002 rsb r3, r3, r2 18d8: e2833001 add r3, r3, #1 ; 0x1 18dc: e58d3010 str r3, [sp, #16] 18e0: e59f32c8 ldr r3, [pc, #712] ; 1bb0 18e4: e5933000 ldr r3, [r3] 18e8: e5933000 ldr r3, [r3] 18ec: e58d3014 str r3, [sp, #20] 18f0: e59d3004 ldr r3, [sp, #4] 18f4: e3530000 cmp r3, #0 ; 0x0 18f8: 0a000058 beq 1a60 18fc: e59d3014 ldr r3, [sp, #20] 1900: e5932000 ldr r2, [r3] 1904: e59d300c ldr r3, [sp, #12] 1908: e1a03103 lsl r3, r3, #2 190c: e0823003 add r3, r2, r3 1910: e58d301c str r3, [sp, #28] 1914: e59d3014 ldr r3, [sp, #20] 1918: e5932000 ldr r2, [r3] 191c: e59d3008 ldr r3, [sp, #8] 1920: e1a03103 lsl r3, r3, #2 1924: e0823003 add r3, r2, r3 1928: e2833004 add r3, r3, #4 ; 0x4 192c: e58d3020 str r3, [sp, #32] 1930: e59d300c ldr r3, [sp, #12] 1934: e58d3018 str r3, [sp, #24] 1938: ea00001f b 19bc