summaryrefslogtreecommitdiff
path: root/asm/libgcc.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/libgcc.s')
-rw-r--r--asm/libgcc.s5221
1 files changed, 5221 insertions, 0 deletions
diff --git a/asm/libgcc.s b/asm/libgcc.s
new file mode 100644
index 000000000..44ebe86b9
--- /dev/null
+++ b/asm/libgcc.s
@@ -0,0 +1,5221 @@
+ thumb_func_start _call_via_r0
+_call_via_r0: @ 82E70D0
+ bx r0
+ mov r8, r8
+ thumb_func_end _call_via_r0
+
+ thumb_func_start _call_via_r1
+_call_via_r1: @ 82E70D4
+ bx r1
+ mov r8, r8
+ thumb_func_end _call_via_r1
+
+ thumb_func_start _call_via_r2
+_call_via_r2: @ 82E70D8
+ bx r2
+ mov r8, r8
+ thumb_func_end _call_via_r2
+
+ thumb_func_start _call_via_r3
+_call_via_r3: @ 82E70DC
+ bx r3
+ mov r8, r8
+ thumb_func_end _call_via_r3
+
+ thumb_func_start _call_via_r4
+_call_via_r4: @ 82E70E0
+ bx r4
+ mov r8, r8
+ thumb_func_end _call_via_r4
+
+ thumb_func_start _call_via_r5
+_call_via_r5: @ 82E70E4
+ bx r5
+ mov r8, r8
+ thumb_func_end _call_via_r5
+
+ thumb_func_start _call_via_r6
+_call_via_r6: @ 82E70E8
+ bx r6
+ mov r8, r8
+ thumb_func_end _call_via_r6
+
+ thumb_func_start _call_via_r7
+_call_via_r7: @ 82E70EC
+ bx r7
+ mov r8, r8
+ thumb_func_end _call_via_r7
+
+ thumb_func_start _call_via_r8
+_call_via_r8: @ 82E70F0
+ bx r8
+ mov r8, r8
+ thumb_func_end _call_via_r8
+
+ thumb_func_start _call_via_r9
+_call_via_r9: @ 82E70F4
+ bx r9
+ mov r8, r8
+ thumb_func_end _call_via_r9
+
+ thumb_func_start _call_via_sl
+_call_via_sl: @ 82E70F8
+ bx r10
+ mov r8, r8
+ thumb_func_end _call_via_sl
+
+ thumb_func_start _call_via_fp
+_call_via_fp: @ 82E70FC
+ bx r11
+ mov r8, r8
+ thumb_func_end _call_via_fp
+
+ thumb_func_start _call_via_ip
+_call_via_ip: @ 82E7100
+ bx r12
+ mov r8, r8
+ thumb_func_end _call_via_ip
+
+ thumb_func_start _call_via_sp
+_call_via_sp: @ 82E7104
+ bx sp
+ mov r8, r8
+ thumb_func_end _call_via_sp
+
+ thumb_func_start _call_via_lr
+_call_via_lr: @ 82E7108
+ bx lr
+ mov r8, r8
+ thumb_func_end _call_via_lr
+
+ thumb_func_start __divdi3
+__divdi3: @ 82E710C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x34
+ movs r4, 0
+ str r4, [sp]
+ adds r5, r1, 0
+ adds r4, r0, 0
+ cmp r5, 0
+ bge _082E713C
+ ldr r0, [sp]
+ mvns r0, r0
+ str r0, [sp]
+ negs r0, r4
+ adds r6, r0, 0
+ negs r1, r5
+ cmp r0, 0
+ beq _082E7136
+ subs r1, 0x1
+_082E7136:
+ adds r7, r1, 0
+ adds r5, r7, 0
+ adds r4, r6, 0
+_082E713C:
+ cmp r3, 0
+ bge _082E7158
+ ldr r1, [sp]
+ mvns r1, r1
+ str r1, [sp]
+ negs r0, r2
+ str r0, [sp, 0x4]
+ negs r2, r3
+ cmp r0, 0
+ beq _082E7152
+ subs r2, 0x1
+_082E7152:
+ str r2, [sp, 0x8]
+ ldr r2, [sp, 0x4]
+ ldr r3, [sp, 0x8]
+_082E7158:
+ adds r7, r2, 0
+ adds r6, r3, 0
+ mov r10, r4
+ mov r8, r5
+ cmp r6, 0
+ beq _082E7166
+ b _082E73B4
+_082E7166:
+ cmp r7, r8
+ bls _082E7240
+ ldr r0, _082E717C
+ cmp r7, r0
+ bhi _082E7180
+ movs r1, 0
+ cmp r7, 0xFF
+ bls _082E718A
+ movs r1, 0x8
+ b _082E718A
+ .align 2, 0
+_082E717C: .4byte 0x0000ffff
+_082E7180:
+ ldr r0, _082E7234
+ movs r1, 0x18
+ cmp r7, r0
+ bhi _082E718A
+ movs r1, 0x10
+_082E718A:
+ ldr r0, _082E7238
+ lsrs r2, r1
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ adds r0, r1
+ movs r1, 0x20
+ subs r2, r1, r0
+ cmp r2, 0
+ beq _082E71B2
+ lsls r7, r2
+ mov r3, r8
+ lsls r3, r2
+ subs r1, r2
+ mov r0, r10
+ lsrs r0, r1
+ orrs r3, r0
+ mov r8, r3
+ mov r4, r10
+ lsls r4, r2
+ mov r10, r4
+_082E71B2:
+ lsrs r0, r7, 16
+ mov r9, r0
+ ldr r1, _082E723C
+ ands r1, r7
+ str r1, [sp, 0xC]
+ mov r0, r8
+ mov r1, r9
+ bl __umodsi3
+ adds r4, r0, 0
+ mov r0, r8
+ mov r1, r9
+ bl __udivsi3
+ adds r6, r0, 0
+ ldr r3, [sp, 0xC]
+ adds r2, r6, 0
+ muls r2, r3
+ lsls r4, 16
+ mov r1, r10
+ lsrs r0, r1, 16
+ orrs r4, r0
+ cmp r4, r2
+ bcs _082E71F2
+ subs r6, 0x1
+ adds r4, r7
+ cmp r4, r7
+ bcc _082E71F2
+ cmp r4, r2
+ bcs _082E71F2
+ subs r6, 0x1
+ adds r4, r7
+_082E71F2:
+ subs r4, r2
+ adds r0, r4, 0
+ mov r1, r9
+ bl __umodsi3
+ adds r5, r0, 0
+ adds r0, r4, 0
+ mov r1, r9
+ bl __udivsi3
+ adds r1, r0, 0
+ ldr r3, [sp, 0xC]
+ adds r2, r1, 0
+ muls r2, r3
+ lsls r5, 16
+ ldr r0, _082E723C
+ mov r4, r10
+ ands r4, r0
+ orrs r5, r4
+ cmp r5, r2
+ bcs _082E722A
+ subs r1, 0x1
+ adds r5, r7
+ cmp r5, r7
+ bcc _082E722A
+ cmp r5, r2
+ bcs _082E722A
+ subs r1, 0x1
+_082E722A:
+ lsls r6, 16
+ orrs r6, r1
+ movs r0, 0
+ str r0, [sp, 0x10]
+ b _082E750A
+ .align 2, 0
+_082E7234: .4byte 0x00ffffff
+_082E7238: .4byte 0x089a3270
+_082E723C: .4byte 0x0000ffff
+_082E7240:
+ cmp r2, 0
+ bne _082E724E
+ movs r0, 0x1
+ movs r1, 0
+ bl __udivsi3
+ adds r7, r0, 0
+_082E724E:
+ adds r1, r7, 0
+ ldr r0, _082E7260
+ cmp r7, r0
+ bhi _082E7264
+ movs r2, 0
+ cmp r7, 0xFF
+ bls _082E726E
+ movs r2, 0x8
+ b _082E726E
+ .align 2, 0
+_082E7260: .4byte 0x0000ffff
+_082E7264:
+ ldr r0, _082E728C
+ movs r2, 0x18
+ cmp r7, r0
+ bhi _082E726E
+ movs r2, 0x10
+_082E726E:
+ ldr r0, _082E7290
+ lsrs r1, r2
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ adds r0, r2
+ movs r1, 0x20
+ subs r2, r1, r0
+ cmp r2, 0
+ bne _082E7294
+ mov r1, r8
+ subs r1, r7
+ mov r8, r1
+ movs r2, 0x1
+ str r2, [sp, 0x10]
+ b _082E7332
+ .align 2, 0
+_082E728C: .4byte 0x00ffffff
+_082E7290: .4byte 0x089a3270
+_082E7294:
+ subs r1, r2
+ lsls r7, r2
+ mov r5, r8
+ lsrs r5, r1
+ mov r3, r8
+ lsls r3, r2
+ mov r0, r10
+ lsrs r0, r1
+ orrs r3, r0
+ mov r8, r3
+ mov r4, r10
+ lsls r4, r2
+ mov r10, r4
+ lsrs r0, r7, 16
+ mov r9, r0
+ ldr r1, _082E73B0
+ ands r1, r7
+ str r1, [sp, 0x14]
+ adds r0, r5, 0
+ mov r1, r9
+ bl __umodsi3
+ adds r4, r0, 0
+ adds r0, r5, 0
+ mov r1, r9
+ bl __udivsi3
+ adds r6, r0, 0
+ ldr r2, [sp, 0x14]
+ adds r1, r6, 0
+ muls r1, r2
+ lsls r4, 16
+ mov r3, r8
+ lsrs r0, r3, 16
+ orrs r4, r0
+ cmp r4, r1
+ bcs _082E72EE
+ subs r6, 0x1
+ adds r4, r7
+ cmp r4, r7
+ bcc _082E72EE
+ cmp r4, r1
+ bcs _082E72EE
+ subs r6, 0x1
+ adds r4, r7
+_082E72EE:
+ subs r4, r1
+ adds r0, r4, 0
+ mov r1, r9
+ bl __umodsi3
+ adds r5, r0, 0
+ adds r0, r4, 0
+ mov r1, r9
+ bl __udivsi3
+ adds r2, r0, 0
+ ldr r4, [sp, 0x14]
+ adds r1, r2, 0
+ muls r1, r4
+ lsls r5, 16
+ ldr r0, _082E73B0
+ mov r3, r8
+ ands r3, r0
+ orrs r5, r3
+ cmp r5, r1
+ bcs _082E7328
+ subs r2, 0x1
+ adds r5, r7
+ cmp r5, r7
+ bcc _082E7328
+ cmp r5, r1
+ bcs _082E7328
+ subs r2, 0x1
+ adds r5, r7
+_082E7328:
+ lsls r6, 16
+ orrs r6, r2
+ str r6, [sp, 0x10]
+ subs r1, r5, r1
+ mov r8, r1
+_082E7332:
+ lsrs r4, r7, 16
+ mov r9, r4
+ ldr r0, _082E73B0
+ ands r0, r7
+ str r0, [sp, 0x18]
+ mov r0, r8
+ mov r1, r9
+ bl __umodsi3
+ adds r4, r0, 0
+ mov r0, r8
+ mov r1, r9
+ bl __udivsi3
+ adds r6, r0, 0
+ ldr r1, [sp, 0x18]
+ adds r2, r6, 0
+ muls r2, r1
+ lsls r4, 16
+ mov r3, r10
+ lsrs r0, r3, 16
+ orrs r4, r0
+ cmp r4, r2
+ bcs _082E7372
+ subs r6, 0x1
+ adds r4, r7
+ cmp r4, r7
+ bcc _082E7372
+ cmp r4, r2
+ bcs _082E7372
+ subs r6, 0x1
+ adds r4, r7
+_082E7372:
+ subs r4, r2
+ adds r0, r4, 0
+ mov r1, r9
+ bl __umodsi3
+ adds r5, r0, 0
+ adds r0, r4, 0
+ mov r1, r9
+ bl __udivsi3
+ adds r1, r0, 0
+ ldr r4, [sp, 0x18]
+ adds r2, r1, 0
+ muls r2, r4
+ lsls r5, 16
+ ldr r0, _082E73B0
+ mov r3, r10
+ ands r3, r0
+ orrs r5, r3
+ cmp r5, r2
+ bcs _082E73AA
+ subs r1, 0x1
+ adds r5, r7
+ cmp r5, r7
+ bcc _082E73AA
+ cmp r5, r2
+ bcs _082E73AA
+ subs r1, 0x1
+_082E73AA:
+ lsls r6, 16
+ orrs r6, r1
+ b _082E750A
+ .align 2, 0
+_082E73B0: .4byte 0x0000ffff
+_082E73B4:
+ cmp r6, r8
+ bls _082E73C0
+ movs r6, 0
+ movs r4, 0
+ str r4, [sp, 0x10]
+ b _082E750A
+_082E73C0:
+ adds r1, r6, 0
+ ldr r0, _082E73D4
+ cmp r6, r0
+ bhi _082E73D8
+ movs r2, 0
+ cmp r6, 0xFF
+ bls _082E73E2
+ movs r2, 0x8
+ b _082E73E2
+ .align 2, 0
+_082E73D4: .4byte 0x0000ffff
+_082E73D8:
+ ldr r0, _082E7404
+ movs r2, 0x18
+ cmp r6, r0
+ bhi _082E73E2
+ movs r2, 0x10
+_082E73E2:
+ ldr r0, _082E7408
+ lsrs r1, r2
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ adds r0, r2
+ movs r1, 0x20
+ subs r2, r1, r0
+ cmp r2, 0
+ bne _082E7410
+ cmp r8, r6
+ bhi _082E73FC
+ cmp r10, r7
+ bcc _082E740C
+_082E73FC:
+ movs r6, 0x1
+ mov r1, r10
+ b _082E7504
+ .align 2, 0
+_082E7404: .4byte 0x00ffffff
+_082E7408: .4byte 0x089a3270
+_082E740C:
+ movs r6, 0
+ b _082E7506
+_082E7410:
+ subs r1, r2
+ lsls r6, r2
+ adds r0, r7, 0
+ lsrs r0, r1
+ orrs r6, r0
+ lsls r7, r2
+ mov r5, r8
+ lsrs r5, r1
+ mov r3, r8
+ lsls r3, r2
+ mov r0, r10
+ lsrs r0, r1
+ orrs r3, r0
+ mov r8, r3
+ mov r4, r10
+ lsls r4, r2
+ mov r10, r4
+ lsrs r0, r6, 16
+ mov r9, r0
+ ldr r1, _082E753C
+ ands r1, r6
+ str r1, [sp, 0x1C]
+ adds r0, r5, 0
+ mov r1, r9
+ bl __umodsi3
+ adds r4, r0, 0
+ adds r0, r5, 0
+ mov r1, r9
+ bl __udivsi3
+ adds r3, r0, 0
+ ldr r2, [sp, 0x1C]
+ adds r1, r3, 0
+ muls r1, r2
+ lsls r4, 16
+ mov r2, r8
+ lsrs r0, r2, 16
+ orrs r4, r0
+ cmp r4, r1
+ bcs _082E7472
+ subs r3, 0x1
+ adds r4, r6
+ cmp r4, r6
+ bcc _082E7472
+ cmp r4, r1
+ bcs _082E7472
+ subs r3, 0x1
+ adds r4, r6
+_082E7472:
+ subs r4, r1
+ adds r0, r4, 0
+ mov r1, r9
+ str r3, [sp, 0x30]
+ bl __umodsi3
+ adds r5, r0, 0
+ adds r0, r4, 0
+ mov r1, r9
+ bl __udivsi3
+ adds r2, r0, 0
+ ldr r4, [sp, 0x1C]
+ adds r1, r2, 0
+ muls r1, r4
+ lsls r5, 16
+ ldr r0, _082E753C
+ mov r4, r8
+ ands r4, r0
+ orrs r5, r4
+ ldr r3, [sp, 0x30]
+ cmp r5, r1
+ bcs _082E74B0
+ subs r2, 0x1
+ adds r5, r6
+ cmp r5, r6
+ bcc _082E74B0
+ cmp r5, r1
+ bcs _082E74B0
+ subs r2, 0x1
+ adds r5, r6
+_082E74B0:
+ lsls r6, r3, 16
+ orrs r6, r2
+ subs r1, r5, r1
+ mov r8, r1
+ ldr r0, _082E753C
+ mov r9, r0
+ adds r1, r6, 0
+ ands r1, r0
+ lsrs r3, r6, 16
+ adds r0, r7, 0
+ mov r2, r9
+ ands r0, r2
+ lsrs r2, r7, 16
+ adds r5, r1, 0
+ muls r5, r0
+ adds r4, r1, 0
+ muls r4, r2
+ adds r1, r3, 0
+ muls r1, r0
+ muls r3, r2
+ lsrs r0, r5, 16
+ adds r4, r0
+ adds r4, r1
+ cmp r4, r1
+ bcs _082E74E8
+ movs r0, 0x80
+ lsls r0, 9
+ adds r3, r0
+_082E74E8:
+ lsrs r0, r4, 16
+ adds r3, r0
+ mov r1, r9
+ ands r4, r1
+ lsls r0, r4, 16
+ ands r5, r1
+ adds r1, r0, r5
+ cmp r3, r8
+ bhi _082E7502
+ cmp r3, r8
+ bne _082E7506
+ cmp r1, r10
+ bls _082E7506
+_082E7502:
+ subs r6, 0x1
+_082E7504:
+ subs r0, r1, r7
+_082E7506:
+ movs r2, 0
+ str r2, [sp, 0x10]
+_082E750A:
+ str r6, [sp, 0x20]
+ ldr r3, [sp, 0x10]
+ str r3, [sp, 0x24]
+ ldr r1, [sp, 0x20]
+ ldr r2, [sp, 0x24]
+ ldr r4, [sp]
+ cmp r4, 0
+ beq _082E752C
+ negs r0, r1
+ str r0, [sp, 0x28]
+ negs r1, r2
+ cmp r0, 0
+ beq _082E7526
+ subs r1, 0x1
+_082E7526:
+ str r1, [sp, 0x2C]
+ ldr r1, [sp, 0x28]
+ ldr r2, [sp, 0x2C]
+_082E752C:
+ adds r0, r1, 0
+ adds r1, r2, 0
+ add sp, 0x34
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7,pc}
+ .align 2, 0
+_082E753C: .4byte 0x0000ffff
+ thumb_func_end __divdi3
+
+ thumb_func_start __divsi3
+__divsi3: @ 82E7540
+ cmp r1, 0
+ beq _082E75C8
+ push {r4}
+ adds r4, r0, 0
+ eors r4, r1
+ mov r12, r4
+ movs r3, 0x1
+ movs r2, 0
+ cmp r1, 0
+ bpl _082E7556
+ negs r1, r1
+_082E7556:
+ cmp r0, 0
+ bpl _082E755C
+ negs r0, r0
+_082E755C:
+ cmp r0, r1
+ bcc _082E75BA
+ movs r4, 0x1
+ lsls r4, 28
+_082E7564:
+ cmp r1, r4
+ bcs _082E7572
+ cmp r1, r0
+ bcs _082E7572
+ lsls r1, 4
+ lsls r3, 4
+ b _082E7564
+_082E7572:
+ lsls r4, 3
+_082E7574:
+ cmp r1, r4
+ bcs _082E7582
+ cmp r1, r0
+ bcs _082E7582
+ lsls r1, 1
+ lsls r3, 1
+ b _082E7574
+_082E7582:
+ cmp r0, r1
+ bcc _082E758A
+ subs r0, r1
+ orrs r2, r3
+_082E758A:
+ lsrs r4, r1, 1
+ cmp r0, r4
+ bcc _082E7596
+ subs r0, r4
+ lsrs r4, r3, 1
+ orrs r2, r4
+_082E7596:
+ lsrs r4, r1, 2
+ cmp r0, r4
+ bcc _082E75A2
+ subs r0, r4
+ lsrs r4, r3, 2
+ orrs r2, r4
+_082E75A2:
+ lsrs r4, r1, 3
+ cmp r0, r4
+ bcc _082E75AE
+ subs r0, r4
+ lsrs r4, r3, 3
+ orrs r2, r4
+_082E75AE:
+ cmp r0, 0
+ beq _082E75BA
+ lsrs r3, 4
+ beq _082E75BA
+ lsrs r1, 4
+ b _082E7582
+_082E75BA:
+ adds r0, r2, 0
+ mov r4, r12
+ cmp r4, 0
+ bpl _082E75C4
+ negs r0, r0
+_082E75C4:
+ pop {r4}
+ mov pc, lr
+_082E75C8:
+ push {lr}
+ bl nullsub_1
+ movs r0, 0
+ pop {pc}
+ thumb_func_end __divsi3
+
+ thumb_func_start nullsub_1
+nullsub_1: @ 82E75D4
+ mov pc, lr
+ thumb_func_end nullsub_1
+
+ thumb_func_start __fixunsdfsi
+__fixunsdfsi: @ 82E75D8
+ push {r4,r5,lr}
+ adds r5, r1, 0
+ adds r4, r0, 0
+ ldr r3, _082E75F8
+ ldr r2, _082E75F4
+ bl __gedf2
+ cmp r0, 0
+ bge _082E75FC
+ adds r1, r5, 0
+ adds r0, r4, 0
+ bl __fixdfsi
+ b _082E7612
+ .align 2, 0
+_082E75F4: .4byte 0x41e00000
+_082E75F8: .4byte 0x00000000
+_082E75FC:
+ ldr r3, _082E7618
+ ldr r2, _082E7614
+ adds r1, r5, 0
+ adds r0, r4, 0
+ bl __adddf3
+ bl __fixdfsi
+ movs r1, 0x80
+ lsls r1, 24
+ adds r0, r1
+_082E7612:
+ pop {r4,r5,pc}
+ .align 2, 0
+_082E7614: .4byte 0xc1e00000
+_082E7618: .4byte 0x00000000
+ thumb_func_end __fixunsdfsi
+
+ thumb_func_start __fixunssfsi
+__fixunssfsi: @ 82E761C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r1, _082E7634
+ bl __gesf2
+ cmp r0, 0
+ bge _082E7638
+ adds r0, r4, 0
+ bl __fixsfsi
+ b _082E764A
+ .align 2, 0
+_082E7634: .4byte 0x4f000000
+_082E7638:
+ ldr r1, _082E764C
+ adds r0, r4, 0
+ bl __addsf3
+ bl __fixsfsi
+ movs r1, 0x80
+ lsls r1, 24
+ adds r0, r1
+_082E764A:
+ pop {r4,pc}
+ .align 2, 0
+_082E764C: .4byte 0xcf000000
+ thumb_func_end __fixunssfsi
+
+ thumb_func_start __modsi3
+__modsi3: @ 82E7650
+ movs r3, 0x1
+ cmp r1, 0
+ beq _082E7714
+ bpl _082E765A
+ negs r1, r1
+_082E765A:
+ push {r4}
+ push {r0}
+ cmp r0, 0
+ bpl _082E7664
+ negs r0, r0
+_082E7664:
+ cmp r0, r1
+ bcc _082E7708
+ movs r4, 0x1
+ lsls r4, 28
+_082E766C:
+ cmp r1, r4
+ bcs _082E767A
+ cmp r1, r0
+ bcs _082E767A
+ lsls r1, 4
+ lsls r3, 4
+ b _082E766C
+_082E767A:
+ lsls r4, 3
+_082E767C:
+ cmp r1, r4
+ bcs _082E768A
+ cmp r1, r0
+ bcs _082E768A
+ lsls r1, 1
+ lsls r3, 1
+ b _082E767C
+_082E768A:
+ movs r2, 0
+ cmp r0, r1
+ bcc _082E7692
+ subs r0, r1
+_082E7692:
+ lsrs r4, r1, 1
+ cmp r0, r4
+ bcc _082E76A4
+ subs r0, r4
+ mov r12, r3
+ movs r4, 0x1
+ rors r3, r4
+ orrs r2, r3
+ mov r3, r12
+_082E76A4:
+ lsrs r4, r1, 2
+ cmp r0, r4
+ bcc _082E76B6
+ subs r0, r4
+ mov r12, r3
+ movs r4, 0x2
+ rors r3, r4
+ orrs r2, r3
+ mov r3, r12
+_082E76B6:
+ lsrs r4, r1, 3
+ cmp r0, r4
+ bcc _082E76C8
+ subs r0, r4
+ mov r12, r3
+ movs r4, 0x3
+ rors r3, r4
+ orrs r2, r3
+ mov r3, r12
+_082E76C8:
+ mov r12, r3
+ cmp r0, 0
+ beq _082E76D6
+ lsrs r3, 4
+ beq _082E76D6
+ lsrs r1, 4
+ b _082E768A
+_082E76D6:
+ movs r4, 0xE
+ lsls r4, 28
+ ands r2, r4
+ beq _082E7708
+ mov r3, r12
+ movs r4, 0x3
+ rors r3, r4
+ tst r2, r3
+ beq _082E76EC
+ lsrs r4, r1, 3
+ adds r0, r4
+_082E76EC:
+ mov r3, r12
+ movs r4, 0x2
+ rors r3, r4
+ tst r2, r3
+ beq _082E76FA
+ lsrs r4, r1, 2
+ adds r0, r4
+_082E76FA:
+ mov r3, r12
+ movs r4, 0x1
+ rors r3, r4
+ tst r2, r3
+ beq _082E7708
+ lsrs r4, r1, 1
+ adds r0, r4
+_082E7708:
+ pop {r4}
+ cmp r4, 0
+ bpl _082E7710
+ negs r0, r0
+_082E7710:
+ pop {r4}
+ mov pc, lr
+_082E7714:
+ push {lr}
+ bl nullsub_1
+ movs r0, 0
+ pop {pc}
+ thumb_func_end __modsi3
+
+ thumb_func_start __muldi3
+__muldi3: @ 82E7720
+ push {r4-r7,lr}
+ sub sp, 0x10
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r3, [sp, 0xC]
+ ldr r3, [sp]
+ ldr r0, _082E778C
+ mov r12, r0
+ adds r2, r3, 0
+ ands r2, r0
+ lsrs r3, 16
+ ldr r1, [sp, 0x8]
+ adds r0, r1, 0
+ mov r4, r12
+ ands r0, r4
+ lsrs r1, 16
+ adds r5, r2, 0
+ muls r5, r0
+ adds r4, r2, 0
+ muls r4, r1
+ adds r2, r3, 0
+ muls r2, r0
+ muls r3, r1
+ lsrs r0, r5, 16
+ adds r4, r0
+ adds r4, r2
+ cmp r4, r2
+ bcs _082E7760
+ movs r0, 0x80
+ lsls r0, 9
+ adds r3, r0
+_082E7760:
+ lsrs r0, r4, 16
+ adds r7, r3, r0
+ mov r1, r12
+ ands r4, r1
+ lsls r0, r4, 16
+ ands r5, r1
+ adds r6, r0, 0
+ orrs r6, r5
+ adds r1, r7, 0
+ adds r0, r6, 0
+ ldr r3, [sp]
+ ldr r4, [sp, 0xC]
+ adds r2, r3, 0
+ muls r2, r4
+ ldr r5, [sp, 0x4]
+ ldr r4, [sp, 0x8]
+ adds r3, r5, 0
+ muls r3, r4
+ adds r2, r3
+ adds r1, r7, r2
+ add sp, 0x10
+ pop {r4-r7,pc}
+ .align 2, 0
+_082E778C: .4byte 0x0000ffff
+ thumb_func_end __muldi3
+
+ thumb_func_start __udivdi3
+__udivdi3: @ 82E7790
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x20
+ adds r7, r2, 0
+ adds r6, r3, 0
+ mov r10, r0
+ mov r8, r1
+ cmp r6, 0
+ beq _082E77AA
+ b _082E79F8
+_082E77AA:
+ cmp r7, r8
+ bls _082E7884
+ ldr r0, _082E77C0
+ cmp r7, r0
+ bhi _082E77C4
+ movs r1, 0
+ cmp r7, 0xFF
+ bls _082E77CE
+ movs r1, 0x8
+ b _082E77CE
+ .align 2, 0
+_082E77C0: .4byte 0x0000ffff
+_082E77C4:
+ ldr r0, _082E7878
+ movs r1, 0x18
+ cmp r7, r0
+ bhi _082E77CE
+ movs r1, 0x10
+_082E77CE:
+ ldr r0, _082E787C
+ lsrs r2, r1
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ adds r0, r1
+ movs r1, 0x20
+ subs r2, r1, r0
+ cmp r2, 0
+ beq _082E77FA
+ lsls r7, r2
+ mov r0, r8
+ lsls r0, r2
+ mov r8, r0
+ subs r1, r2
+ mov r0, r10
+ lsrs r0, r1
+ mov r1, r8
+ orrs r1, r0
+ mov r8, r1
+ mov r3, r10
+ lsls r3, r2
+ mov r10, r3
+_082E77FA:
+ lsrs r4, r7, 16
+ mov r9, r4
+ ldr r0, _082E7880
+ ands r0, r7
+ str r0, [sp]
+ mov r0, r8
+ mov r1, r9
+ bl __umodsi3
+ adds r4, r0, 0
+ mov r0, r8
+ mov r1, r9
+ bl __udivsi3
+ adds r6, r0, 0
+ ldr r1, [sp]
+ adds r2, r6, 0
+ muls r2, r1
+ lsls r4, 16
+ mov r3, r10
+ lsrs r0, r3, 16
+ orrs r4, r0
+ cmp r4, r2
+ bcs _082E783A
+ subs r6, 0x1
+ adds r4, r7
+ cmp r4, r7
+ bcc _082E783A
+ cmp r4, r2
+ bcs _082E783A
+ subs r6, 0x1
+ adds r4, r7
+_082E783A:
+ subs r4, r2
+ adds r0, r4, 0
+ mov r1, r9
+ bl __umodsi3
+ adds r5, r0, 0
+ adds r0, r4, 0
+ mov r1, r9
+ bl __udivsi3
+ adds r1, r0, 0
+ ldr r4, [sp]
+ adds r2, r1, 0
+ muls r2, r4
+ lsls r5, 16
+ ldr r0, _082E7880
+ mov r3, r10
+ ands r3, r0
+ orrs r5, r3
+ cmp r5, r2
+ bcs _082E7872
+ subs r1, 0x1
+ adds r5, r7
+ cmp r5, r7
+ bcc _082E7872
+ cmp r5, r2
+ bcs _082E7872
+ subs r1, 0x1
+_082E7872:
+ lsls r6, 16
+ orrs r6, r1
+ b _082E79FE
+ .align 2, 0
+_082E7878: .4byte 0x00ffffff
+_082E787C: .4byte 0x089a3370
+_082E7880: .4byte 0x0000ffff
+_082E7884:
+ cmp r2, 0
+ bne _082E7892
+ movs r0, 0x1
+ movs r1, 0
+ bl __udivsi3
+ adds r7, r0, 0
+_082E7892:
+ adds r1, r7, 0
+ ldr r0, _082E78A4
+ cmp r7, r0
+ bhi _082E78A8
+ movs r2, 0
+ cmp r7, 0xFF
+ bls _082E78B2
+ movs r2, 0x8
+ b _082E78B2
+ .align 2, 0
+_082E78A4: .4byte 0x0000ffff
+_082E78A8:
+ ldr r0, _082E78D0
+ movs r2, 0x18
+ cmp r7, r0
+ bhi _082E78B2
+ movs r2, 0x10
+_082E78B2:
+ ldr r0, _082E78D4
+ lsrs r1, r2
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ adds r0, r2
+ movs r1, 0x20
+ subs r2, r1, r0
+ cmp r2, 0
+ bne _082E78D8
+ mov r0, r8
+ subs r0, r7
+ mov r8, r0
+ movs r1, 0x1
+ str r1, [sp, 0x4]
+ b _082E7976
+ .align 2, 0
+_082E78D0: .4byte 0x00ffffff
+_082E78D4: .4byte 0x089a3370
+_082E78D8:
+ subs r1, r2
+ lsls r7, r2
+ mov r5, r8
+ lsrs r5, r1
+ mov r3, r8
+ lsls r3, r2
+ mov r0, r10
+ lsrs r0, r1
+ orrs r3, r0
+ mov r8, r3
+ mov r4, r10
+ lsls r4, r2
+ mov r10, r4
+ lsrs r0, r7, 16
+ mov r9, r0
+ ldr r1, _082E79F4
+ ands r1, r7
+ str r1, [sp, 0x8]
+ adds r0, r5, 0
+ mov r1, r9
+ bl __umodsi3
+ adds r4, r0, 0
+ adds r0, r5, 0
+ mov r1, r9
+ bl __udivsi3
+ adds r6, r0, 0
+ ldr r2, [sp, 0x8]
+ adds r1, r6, 0
+ muls r1, r2
+ lsls r4, 16
+ mov r3, r8
+ lsrs r0, r3, 16
+ orrs r4, r0
+ cmp r4, r1
+ bcs _082E7932
+ subs r6, 0x1
+ adds r4, r7
+ cmp r4, r7
+ bcc _082E7932
+ cmp r4, r1
+ bcs _082E7932
+ subs r6, 0x1
+ adds r4, r7
+_082E7932:
+ subs r4, r1
+ adds r0, r4, 0
+ mov r1, r9
+ bl __umodsi3
+ adds r5, r0, 0
+ adds r0, r4, 0
+ mov r1, r9
+ bl __udivsi3
+ adds r2, r0, 0
+ ldr r4, [sp, 0x8]
+ adds r1, r2, 0
+ muls r1, r4
+ lsls r5, 16
+ ldr r0, _082E79F4
+ mov r3, r8
+ ands r3, r0
+ orrs r5, r3
+ cmp r5, r1
+ bcs _082E796C
+ subs r2, 0x1
+ adds r5, r7
+ cmp r5, r7
+ bcc _082E796C
+ cmp r5, r1
+ bcs _082E796C
+ subs r2, 0x1
+ adds r5, r7
+_082E796C:
+ lsls r6, 16
+ orrs r6, r2
+ str r6, [sp, 0x4]
+ subs r1, r5, r1
+ mov r8, r1
+_082E7976:
+ lsrs r4, r7, 16
+ mov r9, r4
+ ldr r0, _082E79F4
+ ands r0, r7
+ str r0, [sp, 0xC]
+ mov r0, r8
+ mov r1, r9
+ bl __umodsi3
+ adds r4, r0, 0
+ mov r0, r8
+ mov r1, r9
+ bl __udivsi3
+ adds r6, r0, 0
+ ldr r1, [sp, 0xC]
+ adds r2, r6, 0
+ muls r2, r1
+ lsls r4, 16
+ mov r3, r10
+ lsrs r0, r3, 16
+ orrs r4, r0
+ cmp r4, r2
+ bcs _082E79B6
+ subs r6, 0x1
+ adds r4, r7
+ cmp r4, r7
+ bcc _082E79B6
+ cmp r4, r2
+ bcs _082E79B6
+ subs r6, 0x1
+ adds r4, r7
+_082E79B6:
+ subs r4, r2
+ adds r0, r4, 0
+ mov r1, r9
+ bl __umodsi3
+ adds r5, r0, 0
+ adds r0, r4, 0
+ mov r1, r9
+ bl __udivsi3
+ adds r1, r0, 0
+ ldr r4, [sp, 0xC]
+ adds r2, r1, 0
+ muls r2, r4
+ lsls r5, 16
+ ldr r0, _082E79F4
+ mov r3, r10
+ ands r3, r0
+ orrs r5, r3
+ cmp r5, r2
+ bcs _082E79EE
+ subs r1, 0x1
+ adds r5, r7
+ cmp r5, r7
+ bcc _082E79EE
+ cmp r5, r2
+ bcs _082E79EE
+ subs r1, 0x1
+_082E79EE:
+ lsls r6, 16
+ orrs r6, r1
+ b _082E7B4E
+ .align 2, 0
+_082E79F4: .4byte 0x0000ffff
+_082E79F8:
+ cmp r6, r8
+ bls _082E7A04
+ movs r6, 0
+_082E79FE:
+ movs r4, 0
+ str r4, [sp, 0x4]
+ b _082E7B4E
+_082E7A04:
+ adds r1, r6, 0
+ ldr r0, _082E7A18
+ cmp r6, r0
+ bhi _082E7A1C
+ movs r2, 0
+ cmp r6, 0xFF
+ bls _082E7A26
+ movs r2, 0x8
+ b _082E7A26
+ .align 2, 0
+_082E7A18: .4byte 0x0000ffff
+_082E7A1C:
+ ldr r0, _082E7A48
+ movs r2, 0x18
+ cmp r6, r0
+ bhi _082E7A26
+ movs r2, 0x10
+_082E7A26:
+ ldr r0, _082E7A4C
+ lsrs r1, r2
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ adds r0, r2
+ movs r1, 0x20
+ subs r2, r1, r0
+ cmp r2, 0
+ bne _082E7A54
+ cmp r8, r6
+ bhi _082E7A40
+ cmp r10, r7
+ bcc _082E7A50
+_082E7A40:
+ movs r6, 0x1
+ mov r1, r10
+ b _082E7B48
+ .align 2, 0
+_082E7A48: .4byte 0x00ffffff
+_082E7A4C: .4byte 0x089a3370
+_082E7A50:
+ movs r6, 0
+ b _082E7B4A
+_082E7A54:
+ subs r1, r2
+ lsls r6, r2
+ adds r0, r7, 0
+ lsrs r0, r1
+ orrs r6, r0
+ lsls r7, r2
+ mov r5, r8
+ lsrs r5, r1
+ mov r3, r8
+ lsls r3, r2
+ mov r0, r10
+ lsrs r0, r1
+ orrs r3, r0
+ mov r8, r3
+ mov r4, r10
+ lsls r4, r2
+ mov r10, r4
+ lsrs r0, r6, 16
+ mov r9, r0
+ ldr r1, _082E7B64
+ ands r1, r6
+ str r1, [sp, 0x10]
+ adds r0, r5, 0
+ mov r1, r9
+ bl __umodsi3
+ adds r4, r0, 0
+ adds r0, r5, 0
+ mov r1, r9
+ bl __udivsi3
+ adds r3, r0, 0
+ ldr r2, [sp, 0x10]
+ adds r1, r3, 0
+ muls r1, r2
+ lsls r4, 16
+ mov r2, r8
+ lsrs r0, r2, 16
+ orrs r4, r0
+ cmp r4, r1
+ bcs _082E7AB6
+ subs r3, 0x1
+ adds r4, r6
+ cmp r4, r6
+ bcc _082E7AB6
+ cmp r4, r1
+ bcs _082E7AB6
+ subs r3, 0x1
+ adds r4, r6
+_082E7AB6:
+ subs r4, r1
+ adds r0, r4, 0
+ mov r1, r9
+ str r3, [sp, 0x1C]
+ bl __umodsi3
+ adds r5, r0, 0
+ adds r0, r4, 0
+ mov r1, r9
+ bl __udivsi3
+ adds r2, r0, 0
+ ldr r4, [sp, 0x10]
+ adds r1, r2, 0
+ muls r1, r4
+ lsls r5, 16
+ ldr r0, _082E7B64
+ mov r4, r8
+ ands r4, r0
+ orrs r5, r4
+ ldr r3, [sp, 0x1C]
+ cmp r5, r1
+ bcs _082E7AF4
+ subs r2, 0x1
+ adds r5, r6
+ cmp r5, r6
+ bcc _082E7AF4
+ cmp r5, r1
+ bcs _082E7AF4
+ subs r2, 0x1
+ adds r5, r6
+_082E7AF4:
+ lsls r6, r3, 16
+ orrs r6, r2
+ subs r1, r5, r1
+ mov r8, r1
+ ldr r0, _082E7B64
+ mov r9, r0
+ adds r1, r6, 0
+ ands r1, r0
+ lsrs r3, r6, 16
+ adds r0, r7, 0
+ mov r2, r9
+ ands r0, r2
+ lsrs r2, r7, 16
+ adds r5, r1, 0
+ muls r5, r0
+ adds r4, r1, 0
+ muls r4, r2
+ adds r1, r3, 0
+ muls r1, r0
+ muls r3, r2
+ lsrs r0, r5, 16
+ adds r4, r0
+ adds r4, r1
+ cmp r4, r1
+ bcs _082E7B2C
+ movs r0, 0x80
+ lsls r0, 9
+ adds r3, r0
+_082E7B2C:
+ lsrs r0, r4, 16
+ adds r3, r0
+ mov r1, r9
+ ands r4, r1
+ lsls r0, r4, 16
+ ands r5, r1
+ adds r1, r0, r5
+ cmp r3, r8
+ bhi _082E7B46
+ cmp r3, r8
+ bne _082E7B4A
+ cmp r1, r10
+ bls _082E7B4A
+_082E7B46:
+ subs r6, 0x1
+_082E7B48:
+ subs r0, r1, r7
+_082E7B4A:
+ movs r2, 0
+ str r2, [sp, 0x4]
+_082E7B4E:
+ str r6, [sp, 0x14]
+ ldr r3, [sp, 0x4]
+ str r3, [sp, 0x18]
+ ldr r0, [sp, 0x14]
+ ldr r1, [sp, 0x18]
+ add sp, 0x20
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7,pc}
+ .align 2, 0
+_082E7B64: .4byte 0x0000ffff
+ thumb_func_end __udivdi3
+
+ thumb_func_start __udivsi3
+__udivsi3: @ 82E7B68
+ cmp r1, 0
+ beq _082E7BD6
+ movs r3, 0x1
+ movs r2, 0
+ push {r4}
+ cmp r0, r1
+ bcc _082E7BD0
+ movs r4, 0x1
+ lsls r4, 28
+_082E7B7A:
+ cmp r1, r4
+ bcs _082E7B88
+ cmp r1, r0
+ bcs _082E7B88
+ lsls r1, 4
+ lsls r3, 4
+ b _082E7B7A
+_082E7B88:
+ lsls r4, 3
+_082E7B8A:
+ cmp r1, r4
+ bcs _082E7B98
+ cmp r1, r0
+ bcs _082E7B98
+ lsls r1, 1
+ lsls r3, 1
+ b _082E7B8A
+_082E7B98:
+ cmp r0, r1
+ bcc _082E7BA0
+ subs r0, r1
+ orrs r2, r3
+_082E7BA0:
+ lsrs r4, r1, 1
+ cmp r0, r4
+ bcc _082E7BAC
+ subs r0, r4
+ lsrs r4, r3, 1
+ orrs r2, r4
+_082E7BAC:
+ lsrs r4, r1, 2
+ cmp r0, r4
+ bcc _082E7BB8
+ subs r0, r4
+ lsrs r4, r3, 2
+ orrs r2, r4
+_082E7BB8:
+ lsrs r4, r1, 3
+ cmp r0, r4
+ bcc _082E7BC4
+ subs r0, r4
+ lsrs r4, r3, 3
+ orrs r2, r4
+_082E7BC4:
+ cmp r0, 0
+ beq _082E7BD0
+ lsrs r3, 4
+ beq _082E7BD0
+ lsrs r1, 4
+ b _082E7B98
+_082E7BD0:
+ adds r0, r2, 0
+ pop {r4}
+ mov pc, lr
+_082E7BD6:
+ push {lr}
+ bl nullsub_1
+ movs r0, 0
+ pop {pc}
+ thumb_func_end __udivsi3
+
+ thumb_func_start __umodsi3
+__umodsi3: @ 82E7BE0
+ cmp r1, 0
+ beq _082E7C96
+ movs r3, 0x1
+ cmp r0, r1
+ bcs _082E7BEC
+ mov pc, lr
+_082E7BEC:
+ push {r4}
+ movs r4, 0x1
+ lsls r4, 28
+_082E7BF2:
+ cmp r1, r4
+ bcs _082E7C00
+ cmp r1, r0
+ bcs _082E7C00
+ lsls r1, 4
+ lsls r3, 4
+ b _082E7BF2
+_082E7C00:
+ lsls r4, 3
+_082E7C02:
+ cmp r1, r4
+ bcs _082E7C10
+ cmp r1, r0
+ bcs _082E7C10
+ lsls r1, 1
+ lsls r3, 1
+ b _082E7C02
+_082E7C10:
+ movs r2, 0
+ cmp r0, r1
+ bcc _082E7C18
+ subs r0, r1
+_082E7C18:
+ lsrs r4, r1, 1
+ cmp r0, r4
+ bcc _082E7C2A
+ subs r0, r4
+ mov r12, r3
+ movs r4, 0x1
+ rors r3, r4
+ orrs r2, r3
+ mov r3, r12
+_082E7C2A:
+ lsrs r4, r1, 2
+ cmp r0, r4
+ bcc _082E7C3C
+ subs r0, r4
+ mov r12, r3
+ movs r4, 0x2
+ rors r3, r4
+ orrs r2, r3
+ mov r3, r12
+_082E7C3C:
+ lsrs r4, r1, 3
+ cmp r0, r4
+ bcc _082E7C4E
+ subs r0, r4
+ mov r12, r3
+ movs r4, 0x3
+ rors r3, r4
+ orrs r2, r3
+ mov r3, r12
+_082E7C4E:
+ mov r12, r3
+ cmp r0, 0
+ beq _082E7C5C
+ lsrs r3, 4
+ beq _082E7C5C
+ lsrs r1, 4
+ b _082E7C10
+_082E7C5C:
+ movs r4, 0xE
+ lsls r4, 28
+ ands r2, r4
+ bne _082E7C68
+ pop {r4}
+ mov pc, lr
+_082E7C68:
+ mov r3, r12
+ movs r4, 0x3
+ rors r3, r4
+ tst r2, r3
+ beq _082E7C76
+ lsrs r4, r1, 3
+ adds r0, r4
+_082E7C76:
+ mov r3, r12
+ movs r4, 0x2
+ rors r3, r4
+ tst r2, r3
+ beq _082E7C84
+ lsrs r4, r1, 2
+ adds r0, r4
+_082E7C84:
+ mov r3, r12
+ movs r4, 0x1
+ rors r3, r4
+ tst r2, r3
+ beq _082E7C92
+ lsrs r4, r1, 1
+ adds r0, r4
+_082E7C92:
+ pop {r4}
+ mov pc, lr
+_082E7C96:
+ push {lr}
+ bl nullsub_1
+ movs r0, 0
+ pop {pc}
+ thumb_func_end __umodsi3
+
+ thumb_func_start __pack_d
+__pack_d: @ 82E7CA0
+ push {r4-r7,lr}
+ sub sp, 0x8
+ adds r1, r0, 0
+ ldr r4, [r1, 0xC]
+ ldr r5, [r1, 0x10]
+ ldr r7, [r1, 0x4]
+ movs r6, 0
+ movs r2, 0
+ ldr r0, [r1]
+ cmp r0, 0x1
+ bhi _082E7CB8
+ movs r2, 0x1
+_082E7CB8:
+ cmp r2, 0
+ beq _082E7CD8
+ ldr r6, _082E7CCC
+ ldr r2, _082E7CD0
+ ldr r3, _082E7CD4
+ adds r0, r4, 0
+ adds r1, r5, 0
+ orrs r1, r3
+ b _082E7D90
+ .align 2, 0
+_082E7CCC: .4byte 0x000007ff
+_082E7CD0: .4byte 0x00000000
+_082E7CD4: .4byte 0x00080000
+_082E7CD8:
+ movs r2, 0
+ cmp r0, 0x4
+ bne _082E7CE0
+ movs r2, 0x1
+_082E7CE0:
+ cmp r2, 0
+ bne _082E7D2C
+ movs r2, 0
+ cmp r0, 0x2
+ bne _082E7CEC
+ movs r2, 0x1
+_082E7CEC:
+ cmp r2, 0
+ beq _082E7CF6
+ movs r4, 0
+ movs r5, 0
+ b _082E7D94
+_082E7CF6:
+ adds r0, r5, 0
+ orrs r0, r4
+ cmp r0, 0
+ beq _082E7D94
+ ldr r2, [r1, 0x8]
+ ldr r0, _082E7D14
+ cmp r2, r0
+ bge _082E7D26
+ subs r2, r0, r2
+ cmp r2, 0x38
+ ble _082E7D18
+ movs r4, 0
+ movs r5, 0
+ b _082E7D86
+ .align 2, 0
+_082E7D14: .4byte 0xfffffc02
+_082E7D18:
+ adds r1, r5, 0
+ adds r0, r4, 0
+ bl __lshrdi3
+ adds r5, r1, 0
+ adds r4, r0, 0
+ b _082E7D86
+_082E7D26:
+ ldr r0, _082E7D34
+ cmp r2, r0
+ ble _082E7D3C
+_082E7D2C:
+ ldr r6, _082E7D38
+ movs r4, 0
+ movs r5, 0
+ b _082E7D94
+ .align 2, 0
+_082E7D34: .4byte 0x000003ff
+_082E7D38: .4byte 0x000007ff
+_082E7D3C:
+ ldr r0, _082E7D64
+ adds r6, r2, r0
+ movs r0, 0xFF
+ adds r1, r4, 0
+ ands r1, r0
+ movs r2, 0
+ cmp r1, 0x80
+ bne _082E7D68
+ cmp r2, 0
+ bne _082E7D68
+ adds r0, 0x1
+ adds r1, r4, 0
+ ands r1, r0
+ adds r0, r2, 0
+ orrs r0, r1
+ cmp r0, 0
+ beq _082E7D70
+ movs r0, 0x80
+ movs r1, 0
+ b _082E7D6C
+ .align 2, 0
+_082E7D64: .4byte 0x000003ff
+_082E7D68:
+ movs r0, 0x7F
+ movs r1, 0
+_082E7D6C:
+ adds r4, r0
+ adcs r5, r1
+_082E7D70:
+ ldr r0, _082E7DD4
+ cmp r5, r0
+ bls _082E7D86
+ lsls r3, r5, 31
+ lsrs r2, r4, 1
+ adds r0, r3, 0
+ orrs r0, r2
+ lsrs r1, r5, 1
+ adds r5, r1, 0
+ adds r4, r0, 0
+ adds r6, 0x1
+_082E7D86:
+ lsls r3, r5, 24
+ lsrs r2, r4, 8
+ adds r0, r3, 0
+ orrs r0, r2
+ lsrs r1, r5, 8
+_082E7D90:
+ adds r5, r1, 0
+ adds r4, r0, 0
+_082E7D94:
+ str r4, [sp]
+ ldr r2, _082E7DD8
+ ands r2, r5
+ ldr r0, [sp, 0x4]
+ ldr r1, _082E7DDC
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp, 0x4]
+ mov r2, sp
+ ldr r1, _082E7DE0
+ adds r0, r1, 0
+ ands r6, r0
+ lsls r1, r6, 4
+ ldr r0, _082E7DE4
+ ldrh r3, [r2, 0x6]
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, 0x6]
+ lsls r1, r7, 7
+ movs r0, 0x7F
+ ldrb r3, [r2, 0x7]
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2, 0x7]
+ ldr r1, [sp]
+ ldr r0, [sp, 0x4]
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ ldr r0, [sp]
+ ldr r1, [sp, 0x4]
+ add sp, 0x8
+ pop {r4-r7,pc}
+ .align 2, 0
+_082E7DD4: .4byte 0x1fffffff
+_082E7DD8: .4byte 0x000fffff
+_082E7DDC: .4byte 0xfff00000
+_082E7DE0: .4byte 0x000007ff
+_082E7DE4: .4byte 0xffff800f
+ thumb_func_end __pack_d
+
+ thumb_func_start __unpack_d
+__unpack_d: @ 82E7DE8
+ push {r4-r7,lr}
+ sub sp, 0x8
+ adds r2, r0, 0
+ adds r6, r1, 0
+ ldr r1, [r2, 0x4]
+ str r1, [sp]
+ ldr r0, [r2]
+ str r0, [sp, 0x4]
+ mov r2, sp
+ adds r4, r1, 0
+ lsls r0, 12
+ lsrs r5, r0, 12
+ ldrh r3, [r2, 0x6]
+ lsls r0, r3, 17
+ lsrs r3, r0, 21
+ ldrb r2, [r2, 0x7]
+ lsrs r0, r2, 7
+ str r0, [r6, 0x4]
+ cmp r3, 0
+ bne _082E7E5C
+ orrs r1, r5
+ cmp r1, 0
+ bne _082E7E1C
+ movs r0, 0x2
+ str r0, [r6]
+ b _082E7EB0
+_082E7E1C:
+ ldr r0, _082E7E54
+ str r0, [r6, 0x8]
+ lsrs r3, r4, 24
+ lsls r2, r5, 8
+ adds r1, r3, 0
+ orrs r1, r2
+ lsls r0, r4, 8
+ adds r5, r1, 0
+ adds r4, r0, 0
+ movs r0, 0x3
+ str r0, [r6]
+ ldr r0, _082E7E58
+ cmp r5, r0
+ bhi _082E7E8C
+ adds r7, r0, 0
+_082E7E3A:
+ lsrs r3, r4, 31
+ lsls r2, r5, 1
+ adds r1, r3, 0
+ orrs r1, r2
+ lsls r0, r4, 1
+ adds r5, r1, 0
+ adds r4, r0, 0
+ ldr r0, [r6, 0x8]
+ subs r0, 0x1
+ str r0, [r6, 0x8]
+ cmp r5, r7
+ bls _082E7E3A
+ b _082E7E8C
+ .align 2, 0
+_082E7E54: .4byte 0xfffffc02
+_082E7E58: .4byte 0x0fffffff
+_082E7E5C:
+ ldr r0, _082E7E70
+ cmp r3, r0
+ bne _082E7E92
+ orrs r1, r5
+ cmp r1, 0
+ bne _082E7E74
+ movs r0, 0x4
+ str r0, [r6]
+ b _082E7EB0
+ .align 2, 0
+_082E7E70: .4byte 0x000007ff
+_082E7E74:
+ movs r2, 0x80
+ lsls r2, 12
+ movs r0, 0
+ adds r1, r5, 0
+ ands r1, r2
+ orrs r1, r0
+ cmp r1, 0
+ beq _082E7E8A
+ movs r0, 0x1
+ str r0, [r6]
+ b _082E7E8C
+_082E7E8A:
+ str r1, [r6]
+_082E7E8C:
+ str r4, [r6, 0xC]
+ str r5, [r6, 0x10]
+ b _082E7EB0
+_082E7E92:
+ ldr r1, _082E7EB4
+ adds r0, r3, r1
+ str r0, [r6, 0x8]
+ movs r0, 0x3
+ str r0, [r6]
+ lsrs r3, r4, 24
+ lsls r2, r5, 8
+ adds r1, r3, 0
+ orrs r1, r2
+ lsls r0, r4, 8
+ ldr r2, _082E7EB8
+ ldr r3, _082E7EBC
+ orrs r1, r3
+ str r0, [r6, 0xC]
+ str r1, [r6, 0x10]
+_082E7EB0:
+ add sp, 0x8
+ pop {r4-r7,pc}
+ .align 2, 0
+_082E7EB4: .4byte 0xfffffc01
+_082E7EB8: .4byte 0x00000000
+_082E7EBC: .4byte 0x10000000
+ thumb_func_end __unpack_d
+
+ thumb_func_start __fpadd_parts_d
+__fpadd_parts_d: @ 82E7EC0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ adds r3, r0, 0
+ adds r4, r1, 0
+ mov r10, r2
+ movs r0, 0
+ ldr r2, [r3]
+ cmp r2, 0x1
+ bhi _082E7EDC
+ movs r0, 0x1
+_082E7EDC:
+ cmp r0, 0
+ beq _082E7EE4
+_082E7EE0:
+ adds r0, r3, 0
+ b _082E811C
+_082E7EE4:
+ movs r1, 0
+ ldr r0, [r4]
+ cmp r0, 0x1
+ bhi _082E7EEE
+ movs r1, 0x1
+_082E7EEE:
+ cmp r1, 0
+ bne _082E7F66
+ movs r1, 0
+ cmp r2, 0x4
+ bne _082E7EFA
+ movs r1, 0x1
+_082E7EFA:
+ cmp r1, 0
+ beq _082E7F1C
+ movs r1, 0
+ cmp r0, 0x4
+ bne _082E7F06
+ movs r1, 0x1
+_082E7F06:
+ cmp r1, 0
+ beq _082E7EE0
+ ldr r1, [r3, 0x4]
+ ldr r0, [r4, 0x4]
+ cmp r1, r0
+ beq _082E7EE0
+ ldr r0, _082E7F18
+ b _082E811C
+ .align 2, 0
+_082E7F18: .4byte 0x03001a80
+_082E7F1C:
+ movs r1, 0
+ cmp r0, 0x4
+ bne _082E7F24
+ movs r1, 0x1
+_082E7F24:
+ cmp r1, 0
+ bne _082E7F66
+ movs r1, 0
+ cmp r0, 0x2
+ bne _082E7F30
+ movs r1, 0x1
+_082E7F30:
+ cmp r1, 0
+ beq _082E7F58
+ movs r0, 0
+ cmp r2, 0x2
+ bne _082E7F3C
+ movs r0, 0x1
+_082E7F3C:
+ cmp r0, 0
+ beq _082E7EE0
+ mov r1, r10
+ adds r0, r3, 0
+ ldm r0!, {r2,r5,r6}
+ stm r1!, {r2,r5,r6}
+ ldm r0!, {r2,r5}
+ stm r1!, {r2,r5}
+ ldr r0, [r3, 0x4]
+ ldr r1, [r4, 0x4]
+ ands r0, r1
+ mov r6, r10
+ str r0, [r6, 0x4]
+ b _082E811A
+_082E7F58:
+ movs r1, 0
+ ldr r0, [r3]
+ cmp r0, 0x2
+ bne _082E7F62
+ movs r1, 0x1
+_082E7F62:
+ cmp r1, 0
+ beq _082E7F6A
+_082E7F66:
+ adds r0, r4, 0
+ b _082E811C
+_082E7F6A:
+ ldr r0, [r3, 0x8]
+ mov r9, r0
+ ldr r1, [r4, 0x8]
+ mov r8, r1
+ ldr r6, [r3, 0xC]
+ ldr r7, [r3, 0x10]
+ ldr r0, [r4, 0xC]
+ ldr r1, [r4, 0x10]
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ mov r1, r9
+ mov r2, r8
+ subs r0, r1, r2
+ cmp r0, 0
+ bge _082E7F8A
+ negs r0, r0
+_082E7F8A:
+ cmp r0, 0x3F
+ bgt _082E8008
+ ldr r3, [r3, 0x4]
+ mov r12, r3
+ ldr r4, [r4, 0x4]
+ str r4, [sp, 0x8]
+ cmp r9, r8
+ ble _082E7FD4
+ mov r3, r9
+ mov r4, r8
+ subs r3, r4
+ mov r8, r3
+_082E7FA2:
+ movs r5, 0x1
+ negs r5, r5
+ add r8, r5
+ ldr r2, [sp]
+ movs r0, 0x1
+ ands r2, r0
+ movs r3, 0
+ ldr r1, [sp, 0x4]
+ lsls r5, r1, 31
+ ldr r0, [sp]
+ lsrs r4, r0, 1
+ adds r0, r5, 0
+ orrs r0, r4
+ adds r4, r1, 0
+ lsrs r1, r4, 1
+ adds r5, r2, 0
+ orrs r5, r0
+ str r5, [sp]
+ adds r4, r3, 0
+ orrs r4, r1
+ str r4, [sp, 0x4]
+ mov r5, r8
+ cmp r5, 0
+ bne _082E7FA2
+ mov r8, r9
+_082E7FD4:
+ cmp r8, r9
+ ble _082E8024
+ mov r0, r8
+ mov r1, r9
+ subs r0, r1
+ mov r9, r0
+_082E7FE0:
+ movs r2, 0x1
+ negs r2, r2
+ add r9, r2
+ movs r2, 0x1
+ ands r2, r6
+ movs r3, 0
+ lsls r5, r7, 31
+ lsrs r4, r6, 1
+ adds r0, r5, 0
+ orrs r0, r4
+ lsrs r1, r7, 1
+ adds r6, r2, 0
+ orrs r6, r0
+ adds r7, r3, 0
+ orrs r7, r1
+ mov r3, r9
+ cmp r3, 0
+ bne _082E7FE0
+ mov r9, r8
+ b _082E8024
+_082E8008:
+ cmp r9, r8
+ ble _082E8016
+ movs r0, 0
+ movs r1, 0
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ b _082E801C
+_082E8016:
+ mov r9, r8
+ movs r6, 0
+ movs r7, 0
+_082E801C:
+ ldr r3, [r3, 0x4]
+ mov r12, r3
+ ldr r4, [r4, 0x4]
+ str r4, [sp, 0x8]
+_082E8024:
+ ldr r1, [sp, 0x8]
+ cmp r12, r1
+ beq _082E80CC
+ mov r2, r12
+ cmp r2, 0
+ beq _082E8046
+ adds r1, r7, 0
+ adds r0, r6, 0
+ bl __negdi2
+ adds r3, r1, 0
+ adds r2, r0, 0
+ ldr r4, [sp]
+ ldr r5, [sp, 0x4]
+ adds r2, r4
+ adcs r3, r5
+ b _082E8052
+_082E8046:
+ adds r3, r7, 0
+ adds r2, r6, 0
+ ldr r0, [sp]
+ ldr r1, [sp, 0x4]
+ subs r2, r0
+ sbcs r3, r1
+_082E8052:
+ cmp r3, 0
+ blt _082E8068
+ movs r0, 0
+ mov r1, r10
+ str r0, [r1, 0x4]
+ mov r4, r9
+ str r4, [r1, 0x8]
+ mov r5, r10
+ str r2, [r5, 0xC]
+ str r3, [r5, 0x10]
+ b _082E8080
+_082E8068:
+ movs r0, 0x1
+ mov r6, r10
+ str r0, [r6, 0x4]
+ mov r0, r9
+ str r0, [r6, 0x8]
+ adds r1, r3, 0
+ adds r0, r2, 0
+ bl __negdi2
+ mov r2, r10
+ str r0, [r2, 0xC]
+ str r1, [r2, 0x10]
+_082E8080:
+ mov r4, r10
+ ldr r2, [r4, 0xC]
+ ldr r3, [r4, 0x10]
+ movs r0, 0x1
+ negs r0, r0
+ asrs r1, r0, 31
+_082E808C:
+ adds r2, r0
+ adcs r3, r1
+ ldr r0, _082E80C8
+ cmp r3, r0
+ bhi _082E80E4
+ cmp r3, r0
+ bne _082E80A2
+ movs r0, 0x2
+ negs r0, r0
+ cmp r2, r0
+ bhi _082E80E4
+_082E80A2:
+ mov r5, r10
+ ldr r0, [r5, 0xC]
+ ldr r1, [r5, 0x10]
+ lsrs r3, r0, 31
+ lsls r2, r1, 1
+ adds r1, r3, 0
+ orrs r1, r2
+ lsls r0, 1
+ mov r6, r10
+ str r0, [r6, 0xC]
+ str r1, [r6, 0x10]
+ ldr r2, [r6, 0x8]
+ subs r2, 0x1
+ str r2, [r6, 0x8]
+ movs r2, 0x1
+ negs r2, r2
+ asrs r3, r2, 31
+ b _082E808C
+ .align 2, 0
+_082E80C8: .4byte 0x0fffffff
+_082E80CC:
+ mov r0, r12
+ mov r1, r10
+ str r0, [r1, 0x4]
+ mov r2, r9
+ str r2, [r1, 0x8]
+ ldr r3, [sp]
+ ldr r4, [sp, 0x4]
+ adds r6, r3
+ adcs r7, r4
+ mov r4, r10
+ str r6, [r4, 0xC]
+ str r7, [r4, 0x10]
+_082E80E4:
+ movs r0, 0x3
+ mov r5, r10
+ str r0, [r5]
+ ldr r1, [r5, 0x10]
+ ldr r0, _082E8128
+ cmp r1, r0
+ bls _082E811A
+ ldr r4, [r5, 0xC]
+ ldr r5, [r5, 0x10]
+ movs r2, 0x1
+ adds r0, r4, 0
+ ands r0, r2
+ movs r1, 0
+ lsls r6, r5, 31
+ mov r8, r6
+ lsrs r6, r4, 1
+ mov r2, r8
+ orrs r2, r6
+ lsrs r3, r5, 1
+ orrs r0, r2
+ orrs r1, r3
+ mov r2, r10
+ str r0, [r2, 0xC]
+ str r1, [r2, 0x10]
+ ldr r0, [r2, 0x8]
+ adds r0, 0x1
+ str r0, [r2, 0x8]
+_082E811A:
+ mov r0, r10
+_082E811C:
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7,pc}
+ .align 2, 0
+_082E8128: .4byte 0x1fffffff
+ thumb_func_end __fpadd_parts_d
+
+ thumb_func_start __adddf3
+__adddf3: @ 82E812C
+ push {r4,lr}
+ sub sp, 0x4C
+ str r0, [sp, 0x3C]
+ str r1, [sp, 0x40]
+ str r2, [sp, 0x44]
+ str r3, [sp, 0x48]
+ add r0, sp, 0x3C
+ mov r1, sp
+ bl __unpack_d
+ add r0, sp, 0x44
+ add r4, sp, 0x14
+ adds r1, r4, 0
+ bl __unpack_d
+ add r2, sp, 0x28
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpadd_parts_d
+ bl __pack_d
+ add sp, 0x4C
+ pop {r4,pc}
+ thumb_func_end __adddf3
+
+ thumb_func_start __subdf3
+__subdf3: @ 82E815C
+ push {r4,lr}
+ sub sp, 0x4C
+ str r0, [sp, 0x3C]
+ str r1, [sp, 0x40]
+ str r2, [sp, 0x44]
+ str r3, [sp, 0x48]
+ add r0, sp, 0x3C
+ mov r1, sp
+ bl __unpack_d
+ add r0, sp, 0x44
+ add r4, sp, 0x14
+ adds r1, r4, 0
+ bl __unpack_d
+ ldr r0, [r4, 0x4]
+ movs r1, 0x1
+ eors r0, r1
+ str r0, [r4, 0x4]
+ add r2, sp, 0x28
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpadd_parts_d
+ bl __pack_d
+ add sp, 0x4C
+ pop {r4,pc}
+ thumb_func_end __subdf3
+
+ thumb_func_start __muldf3
+__muldf3: @ 82E8194
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x74
+ str r0, [sp, 0x3C]
+ str r1, [sp, 0x40]
+ str r2, [sp, 0x44]
+ str r3, [sp, 0x48]
+ add r0, sp, 0x3C
+ mov r1, sp
+ bl __unpack_d
+ add r0, sp, 0x44
+ add r4, sp, 0x14
+ adds r1, r4, 0
+ bl __unpack_d
+ mov r8, sp
+ add r0, sp, 0x28
+ mov r10, r0
+ movs r0, 0
+ ldr r1, [sp]
+ cmp r1, 0x1
+ bhi _082E81CA
+ movs r0, 0x1
+_082E81CA:
+ cmp r0, 0
+ bne _082E822E
+ movs r2, 0
+ ldr r0, [sp, 0x14]
+ cmp r0, 0x1
+ bhi _082E81D8
+ movs r2, 0x1
+_082E81D8:
+ cmp r2, 0
+ beq _082E81E0
+ ldr r0, [sp, 0x4]
+ b _082E8250
+_082E81E0:
+ movs r2, 0
+ cmp r1, 0x4
+ bne _082E81E8
+ movs r2, 0x1
+_082E81E8:
+ cmp r2, 0
+ beq _082E81FA
+ movs r1, 0
+ cmp r0, 0x2
+ bne _082E81F4
+ movs r1, 0x1
+_082E81F4:
+ cmp r1, 0
+ bne _082E8212
+ b _082E822E
+_082E81FA:
+ movs r2, 0
+ cmp r0, 0x4
+ bne _082E8202
+ movs r2, 0x1
+_082E8202:
+ cmp r2, 0
+ beq _082E8222
+ movs r0, 0
+ cmp r1, 0x2
+ bne _082E820E
+ movs r0, 0x1
+_082E820E:
+ cmp r0, 0
+ beq _082E821C
+_082E8212:
+ ldr r0, _082E8218
+ b _082E841A
+ .align 2, 0
+_082E8218: .4byte 0x03001a80
+_082E821C:
+ mov r1, r8
+ ldr r0, [r1, 0x4]
+ b _082E8250
+_082E8222:
+ movs r2, 0
+ cmp r1, 0x2
+ bne _082E822A
+ movs r2, 0x1
+_082E822A:
+ cmp r2, 0
+ beq _082E8240
+_082E822E:
+ ldr r0, [sp, 0x4]
+ ldr r1, [sp, 0x18]
+ eors r0, r1
+ negs r1, r0
+ orrs r1, r0
+ lsrs r1, 31
+ str r1, [sp, 0x4]
+ mov r0, sp
+ b _082E841A
+_082E8240:
+ movs r1, 0
+ cmp r0, 0x2
+ bne _082E8248
+ movs r1, 0x1
+_082E8248:
+ cmp r1, 0
+ beq _082E8260
+ mov r2, r8
+ ldr r0, [r2, 0x4]
+_082E8250:
+ ldr r1, [sp, 0x18]
+ eors r0, r1
+ negs r1, r0
+ orrs r1, r0
+ lsrs r1, 31
+ str r1, [sp, 0x18]
+ adds r0, r4, 0
+ b _082E841A
+_082E8260:
+ mov r4, r8
+ ldr r0, [r4, 0xC]
+ ldr r1, [r4, 0x10]
+ adds r6, r0, 0
+ movs r7, 0
+ str r1, [sp, 0x4C]
+ movs r5, 0
+ str r5, [sp, 0x50]
+ ldr r0, [sp, 0x20]
+ ldr r1, [sp, 0x24]
+ adds r4, r0, 0
+ str r1, [sp, 0x54]
+ movs r0, 0
+ str r0, [sp, 0x58]
+ adds r1, r5, 0
+ adds r0, r4, 0
+ adds r3, r7, 0
+ adds r2, r6, 0
+ bl __muldi3
+ str r0, [sp, 0x5C]
+ str r1, [sp, 0x60]
+ ldr r0, [sp, 0x54]
+ ldr r1, [sp, 0x58]
+ adds r3, r7, 0
+ adds r2, r6, 0
+ bl __muldi3
+ adds r7, r1, 0
+ adds r6, r0, 0
+ adds r1, r5, 0
+ adds r0, r4, 0
+ ldr r2, [sp, 0x4C]
+ ldr r3, [sp, 0x50]
+ bl __muldi3
+ adds r5, r1, 0
+ adds r4, r0, 0
+ ldr r0, [sp, 0x54]
+ ldr r1, [sp, 0x58]
+ ldr r2, [sp, 0x4C]
+ ldr r3, [sp, 0x50]
+ bl __muldi3
+ str r0, [sp, 0x64]
+ str r1, [sp, 0x68]
+ movs r1, 0
+ movs r2, 0
+ str r1, [sp, 0x6C]
+ str r2, [sp, 0x70]
+ adds r3, r7, 0
+ adds r2, r6, 0
+ adds r2, r4
+ adcs r3, r5
+ cmp r7, r3
+ bhi _082E82D8
+ cmp r7, r3
+ bne _082E82E0
+ cmp r6, r2
+ bls _082E82E0
+_082E82D8:
+ ldr r5, _082E8430
+ ldr r4, _082E842C
+ str r4, [sp, 0x6C]
+ str r5, [sp, 0x70]
+_082E82E0:
+ adds r1, r2, 0
+ movs r6, 0
+ adds r7, r1, 0
+ ldr r0, [sp, 0x5C]
+ ldr r1, [sp, 0x60]
+ adds r6, r0
+ adcs r7, r1
+ cmp r1, r7
+ bhi _082E82FC
+ ldr r1, [sp, 0x60]
+ cmp r1, r7
+ bne _082E830C
+ cmp r0, r6
+ bls _082E830C
+_082E82FC:
+ movs r0, 0x1
+ movs r1, 0
+ ldr r4, [sp, 0x6C]
+ ldr r5, [sp, 0x70]
+ adds r4, r0
+ adcs r5, r1
+ str r4, [sp, 0x6C]
+ str r5, [sp, 0x70]
+_082E830C:
+ adds r0, r3, 0
+ adds r2, r0, 0
+ movs r3, 0
+ adds r5, r3, 0
+ adds r4, r2, 0
+ ldr r0, [sp, 0x64]
+ ldr r1, [sp, 0x68]
+ adds r4, r0
+ adcs r5, r1
+ ldr r1, [sp, 0x6C]
+ ldr r2, [sp, 0x70]
+ adds r4, r1
+ adcs r5, r2
+ mov r0, r8
+ ldr r2, [r0, 0x8]
+ ldr r0, [sp, 0x1C]
+ adds r2, r0
+ str r2, [sp, 0x30]
+ mov r0, r8
+ ldr r1, [r0, 0x4]
+ ldr r0, [sp, 0x18]
+ eors r1, r0
+ negs r0, r1
+ orrs r0, r1
+ lsrs r0, 31
+ str r0, [sp, 0x2C]
+ adds r2, 0x4
+ str r2, [sp, 0x30]
+ ldr r0, _082E8434
+ cmp r5, r0
+ bls _082E838E
+ movs r1, 0x1
+ mov r9, r1
+ mov r8, r0
+ mov r12, r2
+_082E8352:
+ movs r2, 0x1
+ add r12, r2
+ mov r0, r9
+ ands r0, r4
+ cmp r0, 0
+ beq _082E8378
+ lsls r3, r7, 31
+ lsrs r2, r6, 1
+ adds r0, r3, 0
+ orrs r0, r2
+ lsrs r1, r7, 1
+ adds r7, r1, 0
+ adds r6, r0, 0
+ adds r0, r6, 0
+ movs r1, 0x80
+ lsls r1, 24
+ orrs r1, r7
+ adds r7, r1, 0
+ adds r6, r0, 0
+_082E8378:
+ lsls r3, r5, 31
+ lsrs r2, r4, 1
+ adds r0, r3, 0
+ orrs r0, r2
+ lsrs r1, r5, 1
+ adds r5, r1, 0
+ adds r4, r0, 0
+ cmp r5, r8
+ bhi _082E8352
+ mov r0, r12
+ str r0, [sp, 0x30]
+_082E838E:
+ ldr r0, _082E8438
+ cmp r5, r0
+ bhi _082E83E0
+ movs r1, 0x80
+ lsls r1, 24
+ mov r9, r1
+ mov r8, r0
+ ldr r2, [sp, 0x30]
+ mov r12, r2
+_082E83A0:
+ movs r0, 0x1
+ negs r0, r0
+ add r12, r0
+ lsrs r3, r4, 31
+ lsls r2, r5, 1
+ adds r1, r3, 0
+ orrs r1, r2
+ lsls r0, r4, 1
+ adds r5, r1, 0
+ adds r4, r0, 0
+ movs r0, 0
+ mov r1, r9
+ ands r1, r7
+ orrs r0, r1
+ cmp r0, 0
+ beq _082E83CA
+ movs r0, 0x1
+ orrs r0, r4
+ adds r1, r5, 0
+ adds r5, r1, 0
+ adds r4, r0, 0
+_082E83CA:
+ lsrs r3, r6, 31
+ lsls r2, r7, 1
+ adds r1, r3, 0
+ orrs r1, r2
+ lsls r0, r6, 1
+ adds r7, r1, 0
+ adds r6, r0, 0
+ cmp r5, r8
+ bls _082E83A0
+ mov r1, r12
+ str r1, [sp, 0x30]
+_082E83E0:
+ movs r0, 0xFF
+ adds r1, r4, 0
+ ands r1, r0
+ movs r2, 0
+ cmp r1, 0x80
+ bne _082E840E
+ cmp r2, 0
+ bne _082E840E
+ adds r0, 0x1
+ adds r1, r4, 0
+ ands r1, r0
+ adds r0, r2, 0
+ orrs r0, r1
+ cmp r0, 0
+ bne _082E8406
+ adds r0, r7, 0
+ orrs r0, r6
+ cmp r0, 0
+ beq _082E840E
+_082E8406:
+ movs r0, 0x80
+ movs r1, 0
+ adds r4, r0
+ adcs r5, r1
+_082E840E:
+ str r4, [sp, 0x34]
+ str r5, [sp, 0x38]
+ movs r0, 0x3
+ mov r2, r10
+ str r0, [r2]
+ add r0, sp, 0x28
+_082E841A:
+ bl __pack_d
+ add sp, 0x74
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7,pc}
+ .align 2, 0
+_082E842C: .4byte 0x00000000
+_082E8430: .4byte 0x00000001
+_082E8434: .4byte 0x1fffffff
+_082E8438: .4byte 0x0fffffff
+ thumb_func_end __muldf3
+
+ thumb_func_start __divdf3
+__divdf3: @ 82E843C
+ push {r4-r7,lr}
+ sub sp, 0x48
+ str r0, [sp, 0x28]
+ str r1, [sp, 0x2C]
+ str r2, [sp, 0x30]
+ str r3, [sp, 0x34]
+ add r0, sp, 0x28
+ mov r1, sp
+ bl __unpack_d
+ add r0, sp, 0x30
+ add r4, sp, 0x14
+ adds r1, r4, 0
+ bl __unpack_d
+ mov r12, sp
+ movs r0, 0
+ ldr r3, [sp]
+ cmp r3, 0x1
+ bhi _082E8466
+ movs r0, 0x1
+_082E8466:
+ cmp r0, 0
+ beq _082E846E
+ mov r1, sp
+ b _082E85B0
+_082E846E:
+ movs r0, 0
+ ldr r2, [sp, 0x14]
+ adds r5, r2, 0
+ cmp r2, 0x1
+ bhi _082E847A
+ movs r0, 0x1
+_082E847A:
+ cmp r0, 0
+ beq _082E8482
+ adds r1, r4, 0
+ b _082E85B0
+_082E8482:
+ ldr r0, [sp, 0x4]
+ ldr r1, [sp, 0x18]
+ eors r0, r1
+ str r0, [sp, 0x4]
+ movs r0, 0
+ cmp r3, 0x4
+ bne _082E8492
+ movs r0, 0x1
+_082E8492:
+ cmp r0, 0
+ bne _082E84A2
+ movs r4, 0
+ cmp r3, 0x2
+ bne _082E849E
+ movs r4, 0x1
+_082E849E:
+ cmp r4, 0
+ beq _082E84B4
+_082E84A2:
+ mov r1, r12
+ ldr r0, [r1]
+ cmp r0, r5
+ beq _082E84AC
+ b _082E85B0
+_082E84AC:
+ ldr r1, _082E84B0
+ b _082E85B0
+ .align 2, 0
+_082E84B0: .4byte 0x03001a80
+_082E84B4:
+ movs r0, 0
+ cmp r2, 0x4
+ bne _082E84BC
+ movs r0, 0x1
+_082E84BC:
+ cmp r0, 0
+ beq _082E84CE
+ movs r0, 0
+ movs r1, 0
+ str r0, [sp, 0xC]
+ str r1, [sp, 0x10]
+ str r4, [sp, 0x8]
+ mov r1, sp
+ b _082E85B0
+_082E84CE:
+ movs r0, 0
+ cmp r2, 0x2
+ bne _082E84D6
+ movs r0, 0x1
+_082E84D6:
+ cmp r0, 0
+ beq _082E84E2
+ movs r0, 0x4
+ mov r2, r12
+ str r0, [r2]
+ b _082E85AE
+_082E84E2:
+ mov r3, r12
+ ldr r1, [r3, 0x8]
+ ldr r0, [sp, 0x1C]
+ subs r6, r1, r0
+ str r6, [r3, 0x8]
+ ldr r4, [r3, 0xC]
+ ldr r5, [r3, 0x10]
+ ldr r0, [sp, 0x20]
+ ldr r1, [sp, 0x24]
+ str r0, [sp, 0x38]
+ str r1, [sp, 0x3C]
+ cmp r1, r5
+ bhi _082E8506
+ ldr r1, [sp, 0x3C]
+ cmp r1, r5
+ bne _082E851A
+ cmp r0, r4
+ bls _082E851A
+_082E8506:
+ lsrs r3, r4, 31
+ lsls r2, r5, 1
+ adds r1, r3, 0
+ orrs r1, r2
+ lsls r0, r4, 1
+ adds r5, r1, 0
+ adds r4, r0, 0
+ subs r0, r6, 0x1
+ mov r2, r12
+ str r0, [r2, 0x8]
+_082E851A:
+ ldr r7, _082E85C0
+ ldr r6, _082E85BC
+ movs r0, 0
+ movs r1, 0
+ str r0, [sp, 0x40]
+ str r1, [sp, 0x44]
+_082E8526:
+ ldr r1, [sp, 0x3C]
+ cmp r1, r5
+ bhi _082E854A
+ cmp r1, r5
+ bne _082E8536
+ ldr r2, [sp, 0x38]
+ cmp r2, r4
+ bhi _082E854A
+_082E8536:
+ ldr r0, [sp, 0x40]
+ orrs r0, r6
+ ldr r1, [sp, 0x44]
+ orrs r1, r7
+ str r0, [sp, 0x40]
+ str r1, [sp, 0x44]
+ ldr r0, [sp, 0x38]
+ ldr r1, [sp, 0x3C]
+ subs r4, r0
+ sbcs r5, r1
+_082E854A:
+ lsls r3, r7, 31
+ lsrs r2, r6, 1
+ adds r0, r3, 0
+ orrs r0, r2
+ lsrs r1, r7, 1
+ adds r7, r1, 0
+ adds r6, r0, 0
+ lsrs r3, r4, 31
+ lsls r2, r5, 1
+ adds r1, r3, 0
+ orrs r1, r2
+ lsls r0, r4, 1
+ adds r5, r1, 0
+ adds r4, r0, 0
+ adds r0, r7, 0
+ orrs r0, r6
+ cmp r0, 0
+ bne _082E8526
+ movs r0, 0xFF
+ ldr r1, [sp, 0x40]
+ ands r1, r0
+ movs r2, 0
+ cmp r1, 0x80
+ bne _082E85A4
+ cmp r2, 0
+ bne _082E85A4
+ adds r0, 0x1
+ ldr r1, [sp, 0x40]
+ ands r1, r0
+ adds r0, r2, 0
+ orrs r0, r1
+ cmp r0, 0
+ bne _082E8594
+ adds r0, r5, 0
+ orrs r0, r4
+ cmp r0, 0
+ beq _082E85A4
+_082E8594:
+ movs r0, 0x80
+ movs r1, 0
+ ldr r2, [sp, 0x40]
+ ldr r3, [sp, 0x44]
+ adds r2, r0
+ adcs r3, r1
+ str r2, [sp, 0x40]
+ str r3, [sp, 0x44]
+_082E85A4:
+ ldr r0, [sp, 0x40]
+ ldr r1, [sp, 0x44]
+ mov r2, r12
+ str r0, [r2, 0xC]
+ str r1, [r2, 0x10]
+_082E85AE:
+ mov r1, r12
+_082E85B0:
+ adds r0, r1, 0
+ bl __pack_d
+ add sp, 0x48
+ pop {r4-r7,pc}
+ .align 2, 0
+_082E85BC: .4byte 0x00000000
+_082E85C0: .4byte 0x10000000
+ thumb_func_end __divdf3
+
+ thumb_func_start __fpcmp_parts_d
+__fpcmp_parts_d: @ 82E85C4
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r6, r1, 0
+ movs r0, 0
+ ldr r1, [r5]
+ cmp r1, 0x1
+ bhi _082E85D4
+ movs r0, 0x1
+_082E85D4:
+ cmp r0, 0
+ bne _082E85E6
+ movs r0, 0
+ ldr r2, [r6]
+ cmp r2, 0x1
+ bhi _082E85E2
+ movs r0, 0x1
+_082E85E2:
+ cmp r0, 0
+ beq _082E85EA
+_082E85E6:
+ movs r0, 0x1
+ b _082E86C0
+_082E85EA:
+ movs r0, 0
+ cmp r1, 0x4
+ bne _082E85F2
+ movs r0, 0x1
+_082E85F2:
+ cmp r0, 0
+ beq _082E860A
+ movs r0, 0
+ cmp r2, 0x4
+ bne _082E85FE
+ movs r0, 0x1
+_082E85FE:
+ cmp r0, 0
+ beq _082E860A
+ ldr r0, [r6, 0x4]
+ ldr r1, [r5, 0x4]
+ subs r0, r1
+ b _082E86C0
+_082E860A:
+ movs r1, 0
+ ldr r0, [r5]
+ cmp r0, 0x4
+ bne _082E8614
+ movs r1, 0x1
+_082E8614:
+ cmp r1, 0
+ bne _082E8662
+ movs r1, 0
+ cmp r2, 0x4
+ bne _082E8620
+ movs r1, 0x1
+_082E8620:
+ cmp r1, 0
+ beq _082E8632
+_082E8624:
+ ldr r0, [r6, 0x4]
+ movs r1, 0x1
+ negs r1, r1
+ cmp r0, 0
+ beq _082E866C
+ movs r1, 0x1
+ b _082E866C
+_082E8632:
+ movs r1, 0
+ cmp r0, 0x2
+ bne _082E863A
+ movs r1, 0x1
+_082E863A:
+ cmp r1, 0
+ beq _082E864A
+ movs r1, 0
+ cmp r2, 0x2
+ bne _082E8646
+ movs r1, 0x1
+_082E8646:
+ cmp r1, 0
+ bne _082E86BE
+_082E864A:
+ movs r1, 0
+ cmp r0, 0x2
+ bne _082E8652
+ movs r1, 0x1
+_082E8652:
+ cmp r1, 0
+ bne _082E8624
+ movs r0, 0
+ cmp r2, 0x2
+ bne _082E865E
+ movs r0, 0x1
+_082E865E:
+ cmp r0, 0
+ beq _082E8670
+_082E8662:
+ ldr r0, [r5, 0x4]
+ movs r1, 0x1
+ cmp r0, 0
+ beq _082E866C
+ subs r1, 0x2
+_082E866C:
+ adds r0, r1, 0
+ b _082E86C0
+_082E8670:
+ ldr r0, [r6, 0x4]
+ ldr r4, [r5, 0x4]
+ cmp r4, r0
+ beq _082E8682
+_082E8678:
+ movs r0, 0x1
+ cmp r4, 0
+ beq _082E86C0
+ subs r0, 0x2
+ b _082E86C0
+_082E8682:
+ ldr r1, [r5, 0x8]
+ ldr r0, [r6, 0x8]
+ cmp r1, r0
+ bgt _082E8678
+ cmp r1, r0
+ bge _082E869A
+_082E868E:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r4, 0
+ beq _082E86C0
+ movs r0, 0x1
+ b _082E86C0
+_082E869A:
+ ldr r3, [r5, 0x10]
+ ldr r2, [r6, 0x10]
+ cmp r3, r2
+ bhi _082E8678
+ cmp r3, r2
+ bne _082E86AE
+ ldr r1, [r5, 0xC]
+ ldr r0, [r6, 0xC]
+ cmp r1, r0
+ bhi _082E8678
+_082E86AE:
+ cmp r2, r3
+ bhi _082E868E
+ cmp r2, r3
+ bne _082E86BE
+ ldr r1, [r6, 0xC]
+ ldr r0, [r5, 0xC]
+ cmp r1, r0
+ bhi _082E868E
+_082E86BE:
+ movs r0, 0
+_082E86C0:
+ pop {r4-r6,pc}
+ thumb_func_end __fpcmp_parts_d
+
+ thumb_func_start __cmpdf2
+__cmpdf2: @ 82E86C4
+ push {r4,lr}
+ sub sp, 0x38
+ str r0, [sp, 0x28]
+ str r1, [sp, 0x2C]
+ str r2, [sp, 0x30]
+ str r3, [sp, 0x34]
+ add r0, sp, 0x28
+ mov r1, sp
+ bl __unpack_d
+ add r0, sp, 0x30
+ add r4, sp, 0x14
+ adds r1, r4, 0
+ bl __unpack_d
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_d
+ add sp, 0x38
+ pop {r4,pc}
+ thumb_func_end __cmpdf2
+
+ thumb_func_start __eqdf2
+__eqdf2: @ 82E86F0
+ push {r4,lr}
+ sub sp, 0x38
+ str r0, [sp, 0x28]
+ str r1, [sp, 0x2C]
+ str r2, [sp, 0x30]
+ str r3, [sp, 0x34]
+ add r0, sp, 0x28
+ mov r1, sp
+ bl __unpack_d
+ add r0, sp, 0x30
+ add r4, sp, 0x14
+ adds r1, r4, 0
+ bl __unpack_d
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bhi _082E8718
+ movs r1, 0x1
+_082E8718:
+ cmp r1, 0
+ bne _082E872A
+ movs r1, 0
+ ldr r0, [sp, 0x14]
+ cmp r0, 0x1
+ bhi _082E8726
+ movs r1, 0x1
+_082E8726:
+ cmp r1, 0
+ beq _082E872E
+_082E872A:
+ movs r0, 0x1
+ b _082E8736
+_082E872E:
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_d
+_082E8736:
+ add sp, 0x38
+ pop {r4,pc}
+ thumb_func_end __eqdf2
+
+ thumb_func_start __nedf2
+__nedf2: @ 82E873C
+ push {r4,lr}
+ sub sp, 0x38
+ str r0, [sp, 0x28]
+ str r1, [sp, 0x2C]
+ str r2, [sp, 0x30]
+ str r3, [sp, 0x34]
+ add r0, sp, 0x28
+ mov r1, sp
+ bl __unpack_d
+ add r0, sp, 0x30
+ add r4, sp, 0x14
+ adds r1, r4, 0
+ bl __unpack_d
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bhi _082E8764
+ movs r1, 0x1
+_082E8764:
+ cmp r1, 0
+ bne _082E8776
+ movs r1, 0
+ ldr r0, [sp, 0x14]
+ cmp r0, 0x1
+ bhi _082E8772
+ movs r1, 0x1
+_082E8772:
+ cmp r1, 0
+ beq _082E877A
+_082E8776:
+ movs r0, 0x1
+ b _082E8782
+_082E877A:
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_d
+_082E8782:
+ add sp, 0x38
+ pop {r4,pc}
+ thumb_func_end __nedf2
+
+ thumb_func_start __gtdf2
+__gtdf2: @ 82E8788
+ push {r4,lr}
+ sub sp, 0x38
+ str r0, [sp, 0x28]
+ str r1, [sp, 0x2C]
+ str r2, [sp, 0x30]
+ str r3, [sp, 0x34]
+ add r0, sp, 0x28
+ mov r1, sp
+ bl __unpack_d
+ add r0, sp, 0x30
+ add r4, sp, 0x14
+ adds r1, r4, 0
+ bl __unpack_d
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bhi _082E87B0
+ movs r1, 0x1
+_082E87B0:
+ cmp r1, 0
+ bne _082E87C2
+ movs r1, 0
+ ldr r0, [sp, 0x14]
+ cmp r0, 0x1
+ bhi _082E87BE
+ movs r1, 0x1
+_082E87BE:
+ cmp r1, 0
+ beq _082E87C8
+_082E87C2:
+ movs r0, 0x1
+ negs r0, r0
+ b _082E87D0
+_082E87C8:
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_d
+_082E87D0:
+ add sp, 0x38
+ pop {r4,pc}
+ thumb_func_end __gtdf2
+
+ thumb_func_start __gedf2
+__gedf2: @ 82E87D4
+ push {r4,lr}
+ sub sp, 0x38
+ str r0, [sp, 0x28]
+ str r1, [sp, 0x2C]
+ str r2, [sp, 0x30]
+ str r3, [sp, 0x34]
+ add r0, sp, 0x28
+ mov r1, sp
+ bl __unpack_d
+ add r0, sp, 0x30
+ add r4, sp, 0x14
+ adds r1, r4, 0
+ bl __unpack_d
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bhi _082E87FC
+ movs r1, 0x1
+_082E87FC:
+ cmp r1, 0
+ bne _082E880E
+ movs r1, 0
+ ldr r0, [sp, 0x14]
+ cmp r0, 0x1
+ bhi _082E880A
+ movs r1, 0x1
+_082E880A:
+ cmp r1, 0
+ beq _082E8814
+_082E880E:
+ movs r0, 0x1
+ negs r0, r0
+ b _082E881C
+_082E8814:
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_d
+_082E881C:
+ add sp, 0x38
+ pop {r4,pc}
+ thumb_func_end __gedf2
+
+ thumb_func_start __ltdf2
+__ltdf2: @ 82E8820
+ push {r4,lr}
+ sub sp, 0x38
+ str r0, [sp, 0x28]
+ str r1, [sp, 0x2C]
+ str r2, [sp, 0x30]
+ str r3, [sp, 0x34]
+ add r0, sp, 0x28
+ mov r1, sp
+ bl __unpack_d
+ add r0, sp, 0x30
+ add r4, sp, 0x14
+ adds r1, r4, 0
+ bl __unpack_d
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bhi _082E8848
+ movs r1, 0x1
+_082E8848:
+ cmp r1, 0
+ bne _082E885A
+ movs r1, 0
+ ldr r0, [sp, 0x14]
+ cmp r0, 0x1
+ bhi _082E8856
+ movs r1, 0x1
+_082E8856:
+ cmp r1, 0
+ beq _082E885E
+_082E885A:
+ movs r0, 0x1
+ b _082E8866
+_082E885E:
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_d
+_082E8866:
+ add sp, 0x38
+ pop {r4,pc}
+ thumb_func_end __ltdf2
+
+ thumb_func_start __ledf2
+__ledf2: @ 82E886C
+ push {r4,lr}
+ sub sp, 0x38
+ str r0, [sp, 0x28]
+ str r1, [sp, 0x2C]
+ str r2, [sp, 0x30]
+ str r3, [sp, 0x34]
+ add r0, sp, 0x28
+ mov r1, sp
+ bl __unpack_d
+ add r0, sp, 0x30
+ add r4, sp, 0x14
+ adds r1, r4, 0
+ bl __unpack_d
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bhi _082E8894
+ movs r1, 0x1
+_082E8894:
+ cmp r1, 0
+ bne _082E88A6
+ movs r1, 0
+ ldr r0, [sp, 0x14]
+ cmp r0, 0x1
+ bhi _082E88A2
+ movs r1, 0x1
+_082E88A2:
+ cmp r1, 0
+ beq _082E88AA
+_082E88A6:
+ movs r0, 0x1
+ b _082E88B2
+_082E88AA:
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_d
+_082E88B2:
+ add sp, 0x38
+ pop {r4,pc}
+ thumb_func_end __ledf2
+
+ thumb_func_start __floatsidf
+__floatsidf: @ 82E88B8
+ push {r4,r5,lr}
+ sub sp, 0x14
+ adds r2, r0, 0
+ movs r0, 0x3
+ str r0, [sp]
+ lsrs r1, r2, 31
+ str r1, [sp, 0x4]
+ cmp r2, 0
+ bne _082E88D0
+ movs r0, 0x2
+ str r0, [sp]
+ b _082E8926
+_082E88D0:
+ movs r0, 0x3C
+ str r0, [sp, 0x8]
+ cmp r1, 0
+ beq _082E88F6
+ movs r0, 0x80
+ lsls r0, 24
+ cmp r2, r0
+ bne _082E88F0
+ ldr r1, _082E88EC
+ ldr r0, _082E88E8
+ b _082E892C
+ .align 2, 0
+_082E88E8: .4byte 0xc1e00000
+_082E88EC: .4byte 0x00000000
+_082E88F0:
+ negs r0, r2
+ asrs r1, r0, 31
+ b _082E88FA
+_082E88F6:
+ adds r0, r2, 0
+ asrs r1, r2, 31
+_082E88FA:
+ str r0, [sp, 0xC]
+ str r1, [sp, 0x10]
+ ldr r0, [sp, 0x10]
+ ldr r1, _082E8930
+ cmp r0, r1
+ bhi _082E8926
+ adds r5, r1, 0
+ ldr r4, [sp, 0x8]
+_082E890A:
+ ldr r0, [sp, 0xC]
+ ldr r1, [sp, 0x10]
+ lsrs r3, r0, 31
+ lsls r2, r1, 1
+ adds r1, r3, 0
+ orrs r1, r2
+ lsls r0, 1
+ str r0, [sp, 0xC]
+ str r1, [sp, 0x10]
+ subs r4, 0x1
+ ldr r0, [sp, 0x10]
+ cmp r0, r5
+ bls _082E890A
+ str r4, [sp, 0x8]
+_082E8926:
+ mov r0, sp
+ bl __pack_d
+_082E892C:
+ add sp, 0x14
+ pop {r4,r5,pc}
+ .align 2, 0
+_082E8930: .4byte 0x0fffffff
+ thumb_func_end __floatsidf
+
+ thumb_func_start __fixdfsi
+__fixdfsi: @ 82E8934
+ push {lr}
+ sub sp, 0x1C
+ str r0, [sp, 0x14]
+ str r1, [sp, 0x18]
+ add r0, sp, 0x14
+ mov r1, sp
+ bl __unpack_d
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x2
+ bne _082E894E
+ movs r1, 0x1
+_082E894E:
+ cmp r1, 0
+ bne _082E8982
+ movs r1, 0
+ cmp r0, 0x1
+ bhi _082E895A
+ movs r1, 0x1
+_082E895A:
+ cmp r1, 0
+ bne _082E8982
+ movs r1, 0
+ cmp r0, 0x4
+ bne _082E8966
+ movs r1, 0x1
+_082E8966:
+ cmp r1, 0
+ beq _082E897C
+_082E896A:
+ ldr r0, [sp, 0x4]
+ ldr r1, _082E8978
+ cmp r0, 0
+ beq _082E89A0
+ adds r1, 0x1
+ b _082E89A0
+ .align 2, 0
+_082E8978: .4byte 0x7fffffff
+_082E897C:
+ ldr r0, [sp, 0x8]
+ cmp r0, 0
+ bge _082E8986
+_082E8982:
+ movs r0, 0
+ b _082E89A2
+_082E8986:
+ cmp r0, 0x1E
+ bgt _082E896A
+ movs r2, 0x3C
+ subs r2, r0
+ ldr r0, [sp, 0xC]
+ ldr r1, [sp, 0x10]
+ bl __lshrdi3
+ adds r1, r0, 0
+ ldr r0, [sp, 0x4]
+ cmp r0, 0
+ beq _082E89A0
+ negs r1, r1
+_082E89A0:
+ adds r0, r1, 0
+_082E89A2:
+ add sp, 0x1C
+ pop {pc}
+ thumb_func_end __fixdfsi
+
+ thumb_func_start __negdf2
+__negdf2: @ 82E89A8
+ push {lr}
+ sub sp, 0x1C
+ str r0, [sp, 0x14]
+ str r1, [sp, 0x18]
+ add r0, sp, 0x14
+ mov r1, sp
+ bl __unpack_d
+ movs r1, 0
+ ldr r0, [sp, 0x4]
+ cmp r0, 0
+ bne _082E89C2
+ movs r1, 0x1
+_082E89C2:
+ str r1, [sp, 0x4]
+ mov r0, sp
+ bl __pack_d
+ add sp, 0x1C
+ pop {pc}
+ thumb_func_end __negdf2
+
+ thumb_func_start __make_dp
+__make_dp: @ 82E89D0
+ sub sp, 0x4
+ push {r4,lr}
+ sub sp, 0x14
+ str r3, [sp, 0x1C]
+ ldr r3, [sp, 0x1C]
+ ldr r4, [sp, 0x20]
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r3, [sp, 0xC]
+ str r4, [sp, 0x10]
+ mov r0, sp
+ bl __pack_d
+ add sp, 0x14
+ pop {r4}
+ pop {r3}
+ add sp, 0x4
+ bx r3
+ thumb_func_end __make_dp
+
+ thumb_func_start __truncdfsf2
+__truncdfsf2: @ 82E89F8
+ push {r4,r5,lr}
+ sub sp, 0x1C
+ str r0, [sp, 0x14]
+ str r1, [sp, 0x18]
+ add r0, sp, 0x14
+ mov r1, sp
+ bl __unpack_d
+ ldr r2, [sp, 0xC]
+ ldr r3, [sp, 0x10]
+ lsls r5, r3, 2
+ lsrs r4, r2, 30
+ adds r0, r5, 0
+ orrs r0, r4
+ adds r5, r0, 0
+ ldr r4, _082E8A38
+ adds r0, r2, 0
+ ands r0, r4
+ movs r1, 0
+ orrs r0, r1
+ cmp r0, 0
+ beq _082E8A28
+ movs r0, 0x1
+ orrs r5, r0
+_082E8A28:
+ ldr r0, [sp]
+ ldr r1, [sp, 0x4]
+ ldr r2, [sp, 0x8]
+ adds r3, r5, 0
+ bl __make_fp
+ add sp, 0x1C
+ pop {r4,r5,pc}
+ .align 2, 0
+_082E8A38: .4byte 0x3fffffff
+ thumb_func_end __truncdfsf2
+
+ thumb_func_start __pack_f
+__pack_f: @ 82E8A3C
+ push {r4-r6,lr}
+ ldr r2, [r0, 0xC]
+ ldr r6, [r0, 0x4]
+ movs r5, 0
+ movs r1, 0
+ ldr r3, [r0]
+ cmp r3, 0x1
+ bhi _082E8A4E
+ movs r1, 0x1
+_082E8A4E:
+ cmp r1, 0
+ beq _082E8A5C
+ movs r5, 0xFF
+ movs r0, 0x80
+ lsls r0, 13
+ orrs r2, r0
+ b _082E8AC2
+_082E8A5C:
+ movs r1, 0
+ cmp r3, 0x4
+ bne _082E8A64
+ movs r1, 0x1
+_082E8A64:
+ cmp r1, 0
+ bne _082E8A98
+ movs r1, 0
+ cmp r3, 0x2
+ bne _082E8A70
+ movs r1, 0x1
+_082E8A70:
+ cmp r1, 0
+ beq _082E8A78
+ movs r2, 0
+ b _082E8AC2
+_082E8A78:
+ cmp r2, 0
+ beq _082E8AC2
+ ldr r0, [r0, 0x8]
+ movs r3, 0x7E
+ negs r3, r3
+ cmp r0, r3
+ bge _082E8A94
+ subs r0, r3, r0
+ cmp r0, 0x19
+ ble _082E8A90
+ movs r2, 0
+ b _082E8AC0
+_082E8A90:
+ lsrs r2, r0
+ b _082E8AC0
+_082E8A94:
+ cmp r0, 0x7F
+ ble _082E8A9E
+_082E8A98:
+ movs r5, 0xFF
+ movs r2, 0
+ b _082E8AC2
+_082E8A9E:
+ adds r5, r0, 0
+ adds r5, 0x7F
+ movs r0, 0x7F
+ ands r0, r2
+ cmp r0, 0x40
+ bne _082E8AB6
+ movs r0, 0x80
+ ands r0, r2
+ cmp r0, 0
+ beq _082E8AB8
+ adds r2, 0x40
+ b _082E8AB8
+_082E8AB6:
+ adds r2, 0x3F
+_082E8AB8:
+ cmp r2, 0
+ bge _082E8AC0
+ lsrs r2, 1
+ adds r5, 0x1
+_082E8AC0:
+ lsrs r2, 7
+_082E8AC2:
+ ldr r0, _082E8AE4
+ ands r2, r0
+ ldr r0, _082E8AE8
+ ands r4, r0
+ orrs r4, r2
+ movs r0, 0xFF
+ ands r5, r0
+ lsls r1, r5, 23
+ ldr r0, _082E8AEC
+ ands r4, r0
+ orrs r4, r1
+ lsls r1, r6, 31
+ ldr r0, _082E8AF0
+ ands r4, r0
+ orrs r4, r1
+ adds r0, r4, 0
+ pop {r4-r6,pc}
+ .align 2, 0
+_082E8AE4: .4byte 0x007fffff
+_082E8AE8: .4byte 0xff800000
+_082E8AEC: .4byte 0x807fffff
+_082E8AF0: .4byte 0x7fffffff
+ thumb_func_end __pack_f
+
+ thumb_func_start __unpack_f
+__unpack_f: @ 82E8AF4
+ push {r4,lr}
+ adds r3, r1, 0
+ ldr r0, [r0]
+ lsls r1, r0, 9
+ lsrs r2, r1, 9
+ lsls r1, r0, 1
+ lsrs r1, 24
+ lsrs r0, 31
+ str r0, [r3, 0x4]
+ cmp r1, 0
+ bne _082E8B38
+ cmp r2, 0
+ bne _082E8B14
+ movs r0, 0x2
+ str r0, [r3]
+ b _082E8B6C
+_082E8B14:
+ adds r4, r1, 0
+ subs r4, 0x7E
+ str r4, [r3, 0x8]
+ lsls r2, 7
+ movs r0, 0x3
+ str r0, [r3]
+ ldr r1, _082E8B34
+ cmp r2, r1
+ bhi _082E8B54
+ adds r0, r4, 0
+_082E8B28:
+ lsls r2, 1
+ subs r0, 0x1
+ cmp r2, r1
+ bls _082E8B28
+ str r0, [r3, 0x8]
+ b _082E8B54
+ .align 2, 0
+_082E8B34: .4byte 0x3fffffff
+_082E8B38:
+ cmp r1, 0xFF
+ bne _082E8B58
+ cmp r2, 0
+ bne _082E8B46
+ movs r0, 0x4
+ str r0, [r3]
+ b _082E8B6C
+_082E8B46:
+ movs r0, 0x80
+ lsls r0, 13
+ ands r0, r2
+ cmp r0, 0
+ beq _082E8B52
+ movs r0, 0x1
+_082E8B52:
+ str r0, [r3]
+_082E8B54:
+ str r2, [r3, 0xC]
+ b _082E8B6C
+_082E8B58:
+ adds r0, r1, 0
+ subs r0, 0x7F
+ str r0, [r3, 0x8]
+ movs r0, 0x3
+ str r0, [r3]
+ lsls r0, r2, 7
+ movs r1, 0x80
+ lsls r1, 23
+ orrs r0, r1
+ str r0, [r3, 0xC]
+_082E8B6C:
+ pop {r4,pc}
+ thumb_func_end __unpack_f
+
+ thumb_func_start __fpadd_parts_f
+__fpadd_parts_f: @ 82E8B70
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ adds r7, r1, 0
+ adds r5, r2, 0
+ movs r0, 0
+ ldr r2, [r6]
+ cmp r2, 0x1
+ bhi _082E8B86
+ movs r0, 0x1
+_082E8B86:
+ cmp r0, 0
+ beq _082E8B8E
+_082E8B8A:
+ adds r0, r6, 0
+ b _082E8CE4
+_082E8B8E:
+ movs r1, 0
+ ldr r0, [r7]
+ cmp r0, 0x1
+ bhi _082E8B98
+ movs r1, 0x1
+_082E8B98:
+ cmp r1, 0
+ bne _082E8C0C
+ movs r1, 0
+ cmp r2, 0x4
+ bne _082E8BA4
+ movs r1, 0x1
+_082E8BA4:
+ cmp r1, 0
+ beq _082E8BC4
+ movs r1, 0
+ cmp r0, 0x4
+ bne _082E8BB0
+ movs r1, 0x1
+_082E8BB0:
+ cmp r1, 0
+ beq _082E8B8A
+ ldr r1, [r6, 0x4]
+ ldr r0, [r7, 0x4]
+ cmp r1, r0
+ beq _082E8B8A
+ ldr r0, _082E8BC0
+ b _082E8CE4
+ .align 2, 0
+_082E8BC0: .4byte 0x03001a98
+_082E8BC4:
+ movs r1, 0
+ cmp r0, 0x4
+ bne _082E8BCC
+ movs r1, 0x1
+_082E8BCC:
+ cmp r1, 0
+ bne _082E8C0C
+ movs r1, 0
+ cmp r0, 0x2
+ bne _082E8BD8
+ movs r1, 0x1
+_082E8BD8:
+ cmp r1, 0
+ beq _082E8BFE
+ movs r0, 0
+ cmp r2, 0x2
+ bne _082E8BE4
+ movs r0, 0x1
+_082E8BE4:
+ cmp r0, 0
+ beq _082E8B8A
+ adds r1, r5, 0
+ adds r0, r6, 0
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r0, [r0]
+ str r0, [r1]
+ ldr r0, [r6, 0x4]
+ ldr r1, [r7, 0x4]
+ ands r0, r1
+ str r0, [r5, 0x4]
+ b _082E8CE2
+_082E8BFE:
+ movs r1, 0
+ ldr r0, [r6]
+ cmp r0, 0x2
+ bne _082E8C08
+ movs r1, 0x1
+_082E8C08:
+ cmp r1, 0
+ beq _082E8C10
+_082E8C0C:
+ adds r0, r7, 0
+ b _082E8CE4
+_082E8C10:
+ ldr r1, [r6, 0x8]
+ ldr r3, [r7, 0x8]
+ ldr r2, [r6, 0xC]
+ ldr r4, [r7, 0xC]
+ subs r0, r1, r3
+ cmp r0, 0
+ bge _082E8C20
+ negs r0, r0
+_082E8C20:
+ cmp r0, 0x1F
+ bgt _082E8C64
+ ldr r6, [r6, 0x4]
+ ldr r7, [r7, 0x4]
+ mov r8, r7
+ cmp r1, r3
+ ble _082E8C46
+ movs r7, 0x1
+ mov r12, r7
+ subs r3, r1, r3
+_082E8C34:
+ subs r3, 0x1
+ adds r0, r4, 0
+ mov r7, r12
+ ands r0, r7
+ lsrs r4, 1
+ orrs r4, r0
+ cmp r3, 0
+ bne _082E8C34
+ adds r3, r1, 0
+_082E8C46:
+ cmp r3, r1
+ ble _082E8C76
+ movs r0, 0x1
+ mov r12, r0
+ subs r1, r3, r1
+_082E8C50:
+ subs r1, 0x1
+ adds r0, r2, 0
+ mov r7, r12
+ ands r0, r7
+ lsrs r2, 1
+ orrs r2, r0
+ cmp r1, 0
+ bne _082E8C50
+ adds r1, r3, 0
+ b _082E8C76
+_082E8C64:
+ cmp r1, r3
+ ble _082E8C6C
+ movs r4, 0
+ b _082E8C70
+_082E8C6C:
+ adds r1, r3, 0
+ movs r2, 0
+_082E8C70:
+ ldr r6, [r6, 0x4]
+ ldr r7, [r7, 0x4]
+ mov r8, r7
+_082E8C76:
+ cmp r6, r8
+ beq _082E8CC0
+ cmp r6, 0
+ beq _082E8C82
+ subs r3, r4, r2
+ b _082E8C84
+_082E8C82:
+ subs r3, r2, r4
+_082E8C84:
+ cmp r3, 0
+ blt _082E8C92
+ movs r0, 0
+ str r0, [r5, 0x4]
+ str r1, [r5, 0x8]
+ str r3, [r5, 0xC]
+ b _082E8C9C
+_082E8C92:
+ movs r0, 0x1
+ str r0, [r5, 0x4]
+ str r1, [r5, 0x8]
+ negs r0, r3
+ str r0, [r5, 0xC]
+_082E8C9C:
+ ldr r1, [r5, 0xC]
+ subs r0, r1, 0x1
+ ldr r2, _082E8CBC
+ cmp r0, r2
+ bhi _082E8CC8
+_082E8CA6:
+ lsls r0, r1, 1
+ str r0, [r5, 0xC]
+ ldr r1, [r5, 0x8]
+ subs r1, 0x1
+ str r1, [r5, 0x8]
+ adds r1, r0, 0
+ subs r0, r1, 0x1
+ cmp r0, r2
+ bls _082E8CA6
+ b _082E8CC8
+ .align 2, 0
+_082E8CBC: .4byte 0x3ffffffe
+_082E8CC0:
+ str r6, [r5, 0x4]
+ str r1, [r5, 0x8]
+ adds r0, r2, r4
+ str r0, [r5, 0xC]
+_082E8CC8:
+ movs r0, 0x3
+ str r0, [r5]
+ ldr r1, [r5, 0xC]
+ cmp r1, 0
+ bge _082E8CE2
+ movs r0, 0x1
+ ands r0, r1
+ lsrs r1, 1
+ orrs r0, r1
+ str r0, [r5, 0xC]
+ ldr r0, [r5, 0x8]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+_082E8CE2:
+ adds r0, r5, 0
+_082E8CE4:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7,pc}
+ thumb_func_end __fpadd_parts_f
+
+ thumb_func_start __addsf3
+__addsf3: @ 82E8CEC
+ push {r4,lr}
+ sub sp, 0x38
+ str r0, [sp, 0x30]
+ str r1, [sp, 0x34]
+ add r0, sp, 0x30
+ mov r1, sp
+ bl __unpack_f
+ add r0, sp, 0x34
+ add r4, sp, 0x10
+ adds r1, r4, 0
+ bl __unpack_f
+ add r2, sp, 0x20
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpadd_parts_f
+ bl __pack_f
+ add sp, 0x38
+ pop {r4,pc}
+ thumb_func_end __addsf3
+
+ thumb_func_start __subsf3
+__subsf3: @ 82E8D18
+ push {r4,lr}
+ sub sp, 0x38
+ str r0, [sp, 0x30]
+ str r1, [sp, 0x34]
+ add r0, sp, 0x30
+ mov r1, sp
+ bl __unpack_f
+ add r0, sp, 0x34
+ add r4, sp, 0x10
+ adds r1, r4, 0
+ bl __unpack_f
+ ldr r0, [r4, 0x4]
+ movs r1, 0x1
+ eors r0, r1
+ str r0, [r4, 0x4]
+ add r2, sp, 0x20
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpadd_parts_f
+ bl __pack_f
+ add sp, 0x38
+ pop {r4,pc}
+ thumb_func_end __subsf3
+
+ thumb_func_start __mulsf3
+__mulsf3: @ 82E8D4C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x38
+ str r0, [sp, 0x30]
+ str r1, [sp, 0x34]
+ add r0, sp, 0x30
+ mov r1, sp
+ bl __unpack_f
+ add r0, sp, 0x34
+ add r4, sp, 0x10
+ adds r1, r4, 0
+ bl __unpack_f
+ mov r7, sp
+ add r0, sp, 0x20
+ mov r8, r0
+ movs r0, 0
+ ldr r1, [sp]
+ mov r9, r8
+ cmp r1, 0x1
+ bhi _082E8D7E
+ movs r0, 0x1
+_082E8D7E:
+ cmp r0, 0
+ bne _082E8DDC
+ movs r2, 0
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x1
+ bhi _082E8D8C
+ movs r2, 0x1
+_082E8D8C:
+ cmp r2, 0
+ beq _082E8D94
+ ldr r0, [sp, 0x4]
+ b _082E8DFC
+_082E8D94:
+ movs r2, 0
+ cmp r1, 0x4
+ bne _082E8D9C
+ movs r2, 0x1
+_082E8D9C:
+ cmp r2, 0
+ beq _082E8DAE
+ movs r1, 0
+ cmp r0, 0x2
+ bne _082E8DA8
+ movs r1, 0x1
+_082E8DA8:
+ cmp r1, 0
+ bne _082E8DC6
+ b _082E8DDC
+_082E8DAE:
+ movs r2, 0
+ cmp r0, 0x4
+ bne _082E8DB6
+ movs r2, 0x1
+_082E8DB6:
+ cmp r2, 0
+ beq _082E8DD0
+ movs r0, 0
+ cmp r1, 0x2
+ bne _082E8DC2
+ movs r0, 0x1
+_082E8DC2:
+ cmp r0, 0
+ beq _082E8DFA
+_082E8DC6:
+ ldr r0, _082E8DCC
+ b _082E8E9E
+ .align 2, 0
+_082E8DCC: .4byte 0x03001a98
+_082E8DD0:
+ movs r2, 0
+ cmp r1, 0x2
+ bne _082E8DD8
+ movs r2, 0x1
+_082E8DD8:
+ cmp r2, 0
+ beq _082E8DEE
+_082E8DDC:
+ ldr r0, [sp, 0x4]
+ ldr r1, [sp, 0x14]
+ eors r0, r1
+ negs r1, r0
+ orrs r1, r0
+ lsrs r1, 31
+ str r1, [sp, 0x4]
+ mov r0, sp
+ b _082E8E9E
+_082E8DEE:
+ movs r1, 0
+ cmp r0, 0x2
+ bne _082E8DF6
+ movs r1, 0x1
+_082E8DF6:
+ cmp r1, 0
+ beq _082E8E0C
+_082E8DFA:
+ ldr r0, [r7, 0x4]
+_082E8DFC:
+ ldr r1, [sp, 0x14]
+ eors r0, r1
+ negs r1, r0
+ orrs r1, r0
+ lsrs r1, 31
+ str r1, [sp, 0x14]
+ adds r0, r4, 0
+ b _082E8E9E
+_082E8E0C:
+ ldr r0, [r7, 0xC]
+ movs r1, 0
+ ldr r2, [sp, 0x1C]
+ movs r3, 0
+ bl __muldi3
+ adds r2, r1, 0
+ adds r5, r2, 0
+ adds r6, r0, 0
+ ldr r4, [r7, 0x8]
+ ldr r0, [sp, 0x18]
+ adds r4, r0
+ str r4, [sp, 0x28]
+ ldr r1, [r7, 0x4]
+ ldr r0, [sp, 0x14]
+ eors r1, r0
+ negs r0, r1
+ orrs r0, r1
+ lsrs r0, 31
+ str r0, [sp, 0x24]
+ adds r4, 0x2
+ str r4, [sp, 0x28]
+ cmp r2, 0
+ bge _082E8E58
+ movs r2, 0x1
+ movs r1, 0x80
+ lsls r1, 24
+_082E8E42:
+ adds r4, 0x1
+ adds r0, r5, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _082E8E50
+ lsrs r6, 1
+ orrs r6, r1
+_082E8E50:
+ lsrs r5, 1
+ cmp r5, 0
+ blt _082E8E42
+ str r4, [sp, 0x28]
+_082E8E58:
+ ldr r0, _082E8EAC
+ cmp r5, r0
+ bhi _082E8E7E
+ movs r4, 0x80
+ lsls r4, 24
+ movs r3, 0x1
+ adds r2, r0, 0
+ ldr r1, [sp, 0x28]
+_082E8E68:
+ subs r1, 0x1
+ lsls r5, 1
+ adds r0, r6, 0
+ ands r0, r4
+ cmp r0, 0
+ beq _082E8E76
+ orrs r5, r3
+_082E8E76:
+ lsls r6, 1
+ cmp r5, r2
+ bls _082E8E68
+ str r1, [sp, 0x28]
+_082E8E7E:
+ movs r0, 0x7F
+ ands r0, r5
+ cmp r0, 0x40
+ bne _082E8E94
+ movs r0, 0x80
+ ands r0, r5
+ cmp r0, 0
+ bne _082E8E92
+ cmp r6, 0
+ beq _082E8E94
+_082E8E92:
+ adds r5, 0x40
+_082E8E94:
+ str r5, [sp, 0x2C]
+ movs r0, 0x3
+ mov r1, r8
+ str r0, [r1]
+ mov r0, r9
+_082E8E9E:
+ bl __pack_f
+ add sp, 0x38
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7,pc}
+ .align 2, 0
+_082E8EAC: .4byte 0x3fffffff
+ thumb_func_end __mulsf3
+
+ thumb_func_start __divsf3
+__divsf3: @ 82E8EB0
+ push {r4-r6,lr}
+ sub sp, 0x28
+ str r0, [sp, 0x20]
+ str r1, [sp, 0x24]
+ add r0, sp, 0x20
+ mov r1, sp
+ bl __unpack_f
+ add r0, sp, 0x24
+ add r5, sp, 0x10
+ adds r1, r5, 0
+ bl __unpack_f
+ mov r4, sp
+ movs r0, 0
+ ldr r3, [sp]
+ cmp r3, 0x1
+ bhi _082E8ED6
+ movs r0, 0x1
+_082E8ED6:
+ cmp r0, 0
+ beq _082E8EDE
+ mov r1, sp
+ b _082E8F90
+_082E8EDE:
+ movs r0, 0
+ ldr r2, [sp, 0x10]
+ adds r6, r2, 0
+ cmp r2, 0x1
+ bhi _082E8EEA
+ movs r0, 0x1
+_082E8EEA:
+ cmp r0, 0
+ beq _082E8EF2
+ adds r1, r5, 0
+ b _082E8F90
+_082E8EF2:
+ ldr r0, [sp, 0x4]
+ ldr r1, [sp, 0x14]
+ eors r0, r1
+ str r0, [sp, 0x4]
+ movs r0, 0
+ cmp r3, 0x4
+ bne _082E8F02
+ movs r0, 0x1
+_082E8F02:
+ cmp r0, 0
+ bne _082E8F12
+ movs r0, 0
+ cmp r3, 0x2
+ bne _082E8F0E
+ movs r0, 0x1
+_082E8F0E:
+ cmp r0, 0
+ beq _082E8F24
+_082E8F12:
+ ldr r0, [r4]
+ adds r1, r4, 0
+ cmp r0, r6
+ bne _082E8F90
+ ldr r1, _082E8F20
+ b _082E8F90
+ .align 2, 0
+_082E8F20: .4byte 0x03001a98
+_082E8F24:
+ movs r1, 0
+ cmp r2, 0x4
+ bne _082E8F2C
+ movs r1, 0x1
+_082E8F2C:
+ cmp r1, 0
+ beq _082E8F38
+ str r0, [sp, 0xC]
+ str r0, [sp, 0x8]
+ mov r1, sp
+ b _082E8F90
+_082E8F38:
+ movs r0, 0
+ cmp r2, 0x2
+ bne _082E8F40
+ movs r0, 0x1
+_082E8F40:
+ cmp r0, 0
+ beq _082E8F4A
+ movs r0, 0x4
+ str r0, [r4]
+ b _082E8F8E
+_082E8F4A:
+ ldr r1, [r4, 0x8]
+ ldr r0, [sp, 0x18]
+ subs r0, r1, r0
+ str r0, [r4, 0x8]
+ ldr r2, [r4, 0xC]
+ ldr r3, [sp, 0x1C]
+ cmp r2, r3
+ bcs _082E8F60
+ lsls r2, 1
+ subs r0, 0x1
+ str r0, [r4, 0x8]
+_082E8F60:
+ movs r0, 0x80
+ lsls r0, 23
+ movs r1, 0
+_082E8F66:
+ cmp r2, r3
+ bcc _082E8F6E
+ orrs r1, r0
+ subs r2, r3
+_082E8F6E:
+ lsrs r0, 1
+ lsls r2, 1
+ cmp r0, 0
+ bne _082E8F66
+ movs r0, 0x7F
+ ands r0, r1
+ cmp r0, 0x40
+ bne _082E8F8C
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _082E8F8A
+ cmp r2, 0
+ beq _082E8F8C
+_082E8F8A:
+ adds r1, 0x40
+_082E8F8C:
+ str r1, [r4, 0xC]
+_082E8F8E:
+ adds r1, r4, 0
+_082E8F90:
+ adds r0, r1, 0
+ bl __pack_f
+ add sp, 0x28
+ pop {r4-r6,pc}
+ thumb_func_end __divsf3
+
+ thumb_func_start __fpcmp_parts_f
+__fpcmp_parts_f: @ 82E8F9C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0
+ ldr r2, [r4]
+ cmp r2, 0x1
+ bhi _082E8FAA
+ movs r0, 0x1
+_082E8FAA:
+ cmp r0, 0
+ bne _082E8FBC
+ movs r0, 0
+ ldr r3, [r1]
+ cmp r3, 0x1
+ bhi _082E8FB8
+ movs r0, 0x1
+_082E8FB8:
+ cmp r0, 0
+ beq _082E8FC0
+_082E8FBC:
+ movs r0, 0x1
+ b _082E907E
+_082E8FC0:
+ movs r0, 0
+ cmp r2, 0x4
+ bne _082E8FC8
+ movs r0, 0x1
+_082E8FC8:
+ cmp r0, 0
+ beq _082E8FE0
+ movs r0, 0
+ cmp r3, 0x4
+ bne _082E8FD4
+ movs r0, 0x1
+_082E8FD4:
+ cmp r0, 0
+ beq _082E8FE0
+ ldr r0, [r1, 0x4]
+ ldr r1, [r4, 0x4]
+ subs r0, r1
+ b _082E907E
+_082E8FE0:
+ movs r2, 0
+ ldr r0, [r4]
+ cmp r0, 0x4
+ bne _082E8FEA
+ movs r2, 0x1
+_082E8FEA:
+ cmp r2, 0
+ bne _082E9038
+ movs r2, 0
+ cmp r3, 0x4
+ bne _082E8FF6
+ movs r2, 0x1
+_082E8FF6:
+ cmp r2, 0
+ beq _082E9008
+_082E8FFA:
+ ldr r0, [r1, 0x4]
+ movs r1, 0x1
+ negs r1, r1
+ cmp r0, 0
+ beq _082E9042
+ movs r1, 0x1
+ b _082E9042
+_082E9008:
+ movs r2, 0
+ cmp r0, 0x2
+ bne _082E9010
+ movs r2, 0x1
+_082E9010:
+ cmp r2, 0
+ beq _082E9020
+ movs r2, 0
+ cmp r3, 0x2
+ bne _082E901C
+ movs r2, 0x1
+_082E901C:
+ cmp r2, 0
+ bne _082E907C
+_082E9020:
+ movs r2, 0
+ cmp r0, 0x2
+ bne _082E9028
+ movs r2, 0x1
+_082E9028:
+ cmp r2, 0
+ bne _082E8FFA
+ movs r0, 0
+ cmp r3, 0x2
+ bne _082E9034
+ movs r0, 0x1
+_082E9034:
+ cmp r0, 0
+ beq _082E9046
+_082E9038:
+ ldr r0, [r4, 0x4]
+ movs r1, 0x1
+ cmp r0, 0
+ beq _082E9042
+ subs r1, 0x2
+_082E9042:
+ adds r0, r1, 0
+ b _082E907E
+_082E9046:
+ ldr r3, [r4, 0x4]
+ ldr r0, [r1, 0x4]
+ cmp r3, r0
+ beq _082E9058
+_082E904E:
+ movs r0, 0x1
+ cmp r3, 0
+ beq _082E907E
+ subs r0, 0x2
+ b _082E907E
+_082E9058:
+ ldr r2, [r4, 0x8]
+ ldr r0, [r1, 0x8]
+ cmp r2, r0
+ bgt _082E904E
+ cmp r2, r0
+ bge _082E9070
+_082E9064:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r3, 0
+ beq _082E907E
+ movs r0, 0x1
+ b _082E907E
+_082E9070:
+ ldr r0, [r4, 0xC]
+ ldr r1, [r1, 0xC]
+ cmp r0, r1
+ bhi _082E904E
+ cmp r0, r1
+ bcc _082E9064
+_082E907C:
+ movs r0, 0
+_082E907E:
+ pop {r4,pc}
+ thumb_func_end __fpcmp_parts_f
+
+ thumb_func_start __cmpsf2
+__cmpsf2: @ 82E9080
+ push {r4,lr}
+ sub sp, 0x28
+ str r0, [sp, 0x20]
+ str r1, [sp, 0x24]
+ add r0, sp, 0x20
+ mov r1, sp
+ bl __unpack_f
+ add r0, sp, 0x24
+ add r4, sp, 0x10
+ adds r1, r4, 0
+ bl __unpack_f
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_f
+ add sp, 0x28
+ pop {r4,pc}
+ thumb_func_end __cmpsf2
+
+ thumb_func_start __eqsf2
+__eqsf2: @ 82E90A8
+ push {r4,lr}
+ sub sp, 0x28
+ str r0, [sp, 0x20]
+ str r1, [sp, 0x24]
+ add r0, sp, 0x20
+ mov r1, sp
+ bl __unpack_f
+ add r0, sp, 0x24
+ add r4, sp, 0x10
+ adds r1, r4, 0
+ bl __unpack_f
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bhi _082E90CC
+ movs r1, 0x1
+_082E90CC:
+ cmp r1, 0
+ bne _082E90DE
+ movs r1, 0
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x1
+ bhi _082E90DA
+ movs r1, 0x1
+_082E90DA:
+ cmp r1, 0
+ beq _082E90E2
+_082E90DE:
+ movs r0, 0x1
+ b _082E90EA
+_082E90E2:
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_f
+_082E90EA:
+ add sp, 0x28
+ pop {r4,pc}
+ thumb_func_end __eqsf2
+
+ thumb_func_start __nesf2
+__nesf2: @ 82E90F0
+ push {r4,lr}
+ sub sp, 0x28
+ str r0, [sp, 0x20]
+ str r1, [sp, 0x24]
+ add r0, sp, 0x20
+ mov r1, sp
+ bl __unpack_f
+ add r0, sp, 0x24
+ add r4, sp, 0x10
+ adds r1, r4, 0
+ bl __unpack_f
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bhi _082E9114
+ movs r1, 0x1
+_082E9114:
+ cmp r1, 0
+ bne _082E9126
+ movs r1, 0
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x1
+ bhi _082E9122
+ movs r1, 0x1
+_082E9122:
+ cmp r1, 0
+ beq _082E912A
+_082E9126:
+ movs r0, 0x1
+ b _082E9132
+_082E912A:
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_f
+_082E9132:
+ add sp, 0x28
+ pop {r4,pc}
+ thumb_func_end __nesf2
+
+ thumb_func_start __gtsf2
+__gtsf2: @ 82E9138
+ push {r4,lr}
+ sub sp, 0x28
+ str r0, [sp, 0x20]
+ str r1, [sp, 0x24]
+ add r0, sp, 0x20
+ mov r1, sp
+ bl __unpack_f
+ add r0, sp, 0x24
+ add r4, sp, 0x10
+ adds r1, r4, 0
+ bl __unpack_f
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bhi _082E915C
+ movs r1, 0x1
+_082E915C:
+ cmp r1, 0
+ bne _082E916E
+ movs r1, 0
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x1
+ bhi _082E916A
+ movs r1, 0x1
+_082E916A:
+ cmp r1, 0
+ beq _082E9174
+_082E916E:
+ movs r0, 0x1
+ negs r0, r0
+ b _082E917C
+_082E9174:
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_f
+_082E917C:
+ add sp, 0x28
+ pop {r4,pc}
+ thumb_func_end __gtsf2
+
+ thumb_func_start __gesf2
+__gesf2: @ 82E9180
+ push {r4,lr}
+ sub sp, 0x28
+ str r0, [sp, 0x20]
+ str r1, [sp, 0x24]
+ add r0, sp, 0x20
+ mov r1, sp
+ bl __unpack_f
+ add r0, sp, 0x24
+ add r4, sp, 0x10
+ adds r1, r4, 0
+ bl __unpack_f
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bhi _082E91A4
+ movs r1, 0x1
+_082E91A4:
+ cmp r1, 0
+ bne _082E91B6
+ movs r1, 0
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x1
+ bhi _082E91B2
+ movs r1, 0x1
+_082E91B2:
+ cmp r1, 0
+ beq _082E91BC
+_082E91B6:
+ movs r0, 0x1
+ negs r0, r0
+ b _082E91C4
+_082E91BC:
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_f
+_082E91C4:
+ add sp, 0x28
+ pop {r4,pc}
+ thumb_func_end __gesf2
+
+ thumb_func_start __ltsf2
+__ltsf2: @ 82E91C8
+ push {r4,lr}
+ sub sp, 0x28
+ str r0, [sp, 0x20]
+ str r1, [sp, 0x24]
+ add r0, sp, 0x20
+ mov r1, sp
+ bl __unpack_f
+ add r0, sp, 0x24
+ add r4, sp, 0x10
+ adds r1, r4, 0
+ bl __unpack_f
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bhi _082E91EC
+ movs r1, 0x1
+_082E91EC:
+ cmp r1, 0
+ bne _082E91FE
+ movs r1, 0
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x1
+ bhi _082E91FA
+ movs r1, 0x1
+_082E91FA:
+ cmp r1, 0
+ beq _082E9202
+_082E91FE:
+ movs r0, 0x1
+ b _082E920A
+_082E9202:
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_f
+_082E920A:
+ add sp, 0x28
+ pop {r4,pc}
+ thumb_func_end __ltsf2
+
+ thumb_func_start __lesf2
+__lesf2: @ 82E9210
+ push {r4,lr}
+ sub sp, 0x28
+ str r0, [sp, 0x20]
+ str r1, [sp, 0x24]
+ add r0, sp, 0x20
+ mov r1, sp
+ bl __unpack_f
+ add r0, sp, 0x24
+ add r4, sp, 0x10
+ adds r1, r4, 0
+ bl __unpack_f
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bhi _082E9234
+ movs r1, 0x1
+_082E9234:
+ cmp r1, 0
+ bne _082E9246
+ movs r1, 0
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x1
+ bhi _082E9242
+ movs r1, 0x1
+_082E9242:
+ cmp r1, 0
+ beq _082E924A
+_082E9246:
+ movs r0, 0x1
+ b _082E9252
+_082E924A:
+ mov r0, sp
+ adds r1, r4, 0
+ bl __fpcmp_parts_f
+_082E9252:
+ add sp, 0x28
+ pop {r4,pc}
+ thumb_func_end __lesf2
+
+ thumb_func_start __floatsisf
+__floatsisf: @ 82E9258
+ push {lr}
+ sub sp, 0x10
+ adds r1, r0, 0
+ movs r0, 0x3
+ str r0, [sp]
+ lsrs r2, r1, 31
+ str r2, [sp, 0x4]
+ cmp r1, 0
+ bne _082E9270
+ movs r0, 0x2
+ str r0, [sp]
+ b _082E92A8
+_082E9270:
+ movs r0, 0x1E
+ str r0, [sp, 0x8]
+ cmp r2, 0
+ beq _082E928E
+ movs r0, 0x80
+ lsls r0, 24
+ cmp r1, r0
+ bne _082E9288
+ ldr r0, _082E9284
+ b _082E92AE
+ .align 2, 0
+_082E9284: .4byte 0xcf000000
+_082E9288:
+ negs r0, r1
+ str r0, [sp, 0xC]
+ b _082E9290
+_082E928E:
+ str r1, [sp, 0xC]
+_082E9290:
+ ldr r2, [sp, 0xC]
+ ldr r3, _082E92B4
+ cmp r2, r3
+ bhi _082E92A8
+ ldr r1, [sp, 0x8]
+_082E929A:
+ lsls r0, r2, 1
+ subs r1, 0x1
+ adds r2, r0, 0
+ cmp r0, r3
+ bls _082E929A
+ str r1, [sp, 0x8]
+ str r0, [sp, 0xC]
+_082E92A8:
+ mov r0, sp
+ bl __pack_f
+_082E92AE:
+ add sp, 0x10
+ pop {pc}
+ .align 2, 0
+_082E92B4: .4byte 0x3fffffff
+ thumb_func_end __floatsisf
+
+ thumb_func_start __fixsfsi
+__fixsfsi: @ 82E92B8
+ push {lr}
+ sub sp, 0x14
+ str r0, [sp, 0x10]
+ add r0, sp, 0x10
+ mov r1, sp
+ bl __unpack_f
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x2
+ bne _082E92D0
+ movs r1, 0x1
+_082E92D0:
+ cmp r1, 0
+ bne _082E9302
+ movs r1, 0
+ cmp r0, 0x1
+ bhi _082E92DC
+ movs r1, 0x1
+_082E92DC:
+ cmp r1, 0
+ bne _082E9302
+ movs r1, 0
+ cmp r0, 0x4
+ bne _082E92E8
+ movs r1, 0x1
+_082E92E8:
+ cmp r1, 0
+ beq _082E92FC
+_082E92EC:
+ ldr r0, [sp, 0x4]
+ ldr r1, _082E92F8
+ cmp r0, 0
+ beq _082E931A
+ adds r1, 0x1
+ b _082E931A
+ .align 2, 0
+_082E92F8: .4byte 0x7fffffff
+_082E92FC:
+ ldr r1, [sp, 0x8]
+ cmp r1, 0
+ bge _082E9306
+_082E9302:
+ movs r0, 0
+ b _082E931C
+_082E9306:
+ cmp r1, 0x1E
+ bgt _082E92EC
+ movs r0, 0x1E
+ subs r0, r1
+ ldr r1, [sp, 0xC]
+ lsrs r1, r0
+ ldr r0, [sp, 0x4]
+ cmp r0, 0
+ beq _082E931A
+ negs r1, r1
+_082E931A:
+ adds r0, r1, 0
+_082E931C:
+ add sp, 0x14
+ pop {pc}
+ thumb_func_end __fixsfsi
+
+ thumb_func_start __negsf2
+__negsf2: @ 82E9320
+ push {lr}
+ sub sp, 0x14
+ str r0, [sp, 0x10]
+ add r0, sp, 0x10
+ mov r1, sp
+ bl __unpack_f
+ movs r1, 0
+ ldr r0, [sp, 0x4]
+ cmp r0, 0
+ bne _082E9338
+ movs r1, 0x1
+_082E9338:
+ str r1, [sp, 0x4]
+ mov r0, sp
+ bl __pack_f
+ add sp, 0x14
+ pop {pc}
+ thumb_func_end __negsf2
+
+ thumb_func_start __make_fp
+__make_fp: @ 82E9344
+ push {lr}
+ sub sp, 0x10
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r3, [sp, 0xC]
+ mov r0, sp
+ bl __pack_f
+ add sp, 0x10
+ pop {pc}
+ thumb_func_end __make_fp
+
+ thumb_func_start __extendsfdf2
+__extendsfdf2: @ 82E935C
+ push {r4-r6,lr}
+ sub sp, 0x18
+ str r0, [sp, 0x14]
+ add r0, sp, 0x14
+ add r1, sp, 0x4
+ bl __unpack_f
+ ldr r0, [sp, 0x4]
+ ldr r1, [sp, 0x8]
+ ldr r2, [sp, 0xC]
+ ldr r3, [sp, 0x10]
+ movs r4, 0
+ lsrs r6, r3, 2
+ lsls r5, r4, 30
+ adds r4, r6, 0
+ orrs r4, r5
+ lsls r3, 30
+ str r4, [sp]
+ bl __make_dp
+ add sp, 0x18
+ pop {r4-r6,pc}
+ thumb_func_end __extendsfdf2
+
+ thumb_func_start __lshrdi3
+__lshrdi3: @ 82E9388
+ push {r4-r6,lr}
+ adds r6, r1, 0
+ adds r5, r0, 0
+ cmp r2, 0
+ beq _082E93B8
+ movs r0, 0x20
+ subs r0, r2
+ cmp r0, 0
+ bgt _082E93A4
+ movs r4, 0
+ negs r0, r0
+ adds r3, r6, 0
+ lsrs r3, r0
+ b _082E93B4
+_082E93A4:
+ adds r1, r6, 0
+ lsls r1, r0
+ adds r4, r6, 0
+ lsrs r4, r2
+ adds r0, r5, 0
+ lsrs r0, r2
+ adds r3, r0, 0
+ orrs r3, r1
+_082E93B4:
+ adds r1, r4, 0
+ adds r0, r3, 0
+_082E93B8:
+ pop {r4-r6,pc}
+ thumb_func_end __lshrdi3
+
+ thumb_func_start __negdi2
+__negdi2: @ 82E93BC
+ push {r4,lr}
+ negs r2, r0
+ adds r3, r2, 0
+ negs r1, r1
+ cmp r2, 0
+ beq _082E93CA
+ subs r1, 0x1
+_082E93CA:
+ adds r4, r1, 0
+ adds r1, r4, 0
+ adds r0, r3, 0
+ pop {r4,pc}
+ thumb_func_end __negdi2
+
+ thumb_func_start memcpy
+memcpy: @ 82E93D4
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r5, 0
+ adds r3, r1, 0
+ cmp r2, 0xF
+ bls _082E9414
+ adds r0, r3, 0
+ orrs r0, r5
+ movs r1, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _082E9414
+ adds r1, r5, 0
+_082E93EE:
+ ldm r3!, {r0}
+ stm r1!, {r0}
+ ldm r3!, {r0}
+ stm r1!, {r0}
+ ldm r3!, {r0}
+ stm r1!, {r0}
+ ldm r3!, {r0}
+ stm r1!, {r0}
+ subs r2, 0x10
+ cmp r2, 0xF
+ bhi _082E93EE
+ cmp r2, 0x3
+ bls _082E9412
+_082E9408:
+ ldm r3!, {r0}
+ stm r1!, {r0}
+ subs r2, 0x4
+ cmp r2, 0x3
+ bhi _082E9408
+_082E9412:
+ adds r4, r1, 0
+_082E9414:
+ subs r2, 0x1
+ movs r0, 0x1
+ negs r0, r0
+ cmp r2, r0
+ beq _082E942E
+ adds r1, r0, 0
+_082E9420:
+ ldrb r0, [r3]
+ strb r0, [r4]
+ adds r3, 0x1
+ adds r4, 0x1
+ subs r2, 0x1
+ cmp r2, r1
+ bne _082E9420
+_082E942E:
+ adds r0, r5, 0
+ pop {r4,r5,pc}
+ thumb_func_end memcpy
+
+ thumb_func_start memset
+memset: @ 82E9434
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ adds r3, r5, 0
+ cmp r2, 0x3
+ bls _082E947A
+ movs r0, 0x3
+ ands r0, r5
+ cmp r0, 0
+ bne _082E947A
+ adds r1, r5, 0
+ movs r0, 0xFF
+ ands r4, r0
+ lsls r3, r4, 8
+ orrs r3, r4
+ lsls r0, r3, 16
+ orrs r3, r0
+ cmp r2, 0xF
+ bls _082E946E
+_082E945A:
+ stm r1!, {r3}
+ stm r1!, {r3}
+ stm r1!, {r3}
+ stm r1!, {r3}
+ subs r2, 0x10
+ cmp r2, 0xF
+ bhi _082E945A
+ b _082E946E
+_082E946A:
+ stm r1!, {r3}
+ subs r2, 0x4
+_082E946E:
+ cmp r2, 0x3
+ bhi _082E946A
+ adds r3, r1, 0
+ b _082E947A
+_082E9476:
+ strb r4, [r3]
+ adds r3, 0x1
+_082E947A:
+ adds r0, r2, 0
+ subs r2, 0x1
+ cmp r0, 0
+ bne _082E9476
+ adds r0, r5, 0
+ pop {r4,r5,pc}
+ thumb_func_end memset
+
+ thumb_func_start strcmp
+strcmp: @ 82E9488
+ push {r4,r5,lr}
+ adds r2, r0, 0
+ adds r3, r1, 0
+ orrs r0, r3
+ movs r1, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _082E94CE
+ ldr r1, [r2]
+ ldr r0, [r3]
+ cmp r1, r0
+ bne _082E94CE
+ ldr r5, _082E94B4
+ ldr r4, _082E94B8
+_082E94A4:
+ ldr r1, [r2]
+ adds r0, r1, r5
+ bics r0, r1
+ ands r0, r4
+ cmp r0, 0
+ beq _082E94BC
+ movs r0, 0
+ b _082E94E0
+ .align 2, 0
+_082E94B4: .4byte 0xfefefeff
+_082E94B8: .4byte 0x80808080
+_082E94BC:
+ adds r2, 0x4
+ adds r3, 0x4
+ ldr r1, [r2]
+ ldr r0, [r3]
+ cmp r1, r0
+ beq _082E94A4
+ b _082E94CE
+_082E94CA:
+ adds r2, 0x1
+ adds r3, 0x1
+_082E94CE:
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _082E94DA
+ ldrb r1, [r3]
+ cmp r0, r1
+ beq _082E94CA
+_082E94DA:
+ ldrb r2, [r2]
+ ldrb r3, [r3]
+ subs r0, r2, r3
+_082E94E0:
+ pop {r4,r5,pc}
+ thumb_func_end strcmp
+
+ thumb_func_start strcat
+strcat: @ 82E94E4
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ adds r3, r6, 0
+ adds r2, r1, 0
+ adds r0, r2, 0
+ orrs r0, r6
+ movs r1, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _082E951C
+ ldr r1, [r2]
+ ldr r5, _082E9504
+ adds r0, r1, r5
+ bics r0, r1
+ ldr r4, _082E9508
+ b _082E9516
+ .align 2, 0
+_082E9504: .4byte 0xfefefeff
+_082E9508: .4byte 0x80808080
+_082E950C:
+ ldm r2!, {r0}
+ stm r3!, {r0}
+ ldr r1, [r2]
+ adds r0, r1, r5
+ bics r0, r1
+_082E9516:
+ ands r0, r4
+ cmp r0, 0
+ beq _082E950C
+_082E951C:
+ ldrb r0, [r2]
+ strb r0, [r3]
+ lsls r0, 24
+ adds r2, 0x1
+ adds r3, 0x1
+ cmp r0, 0
+ bne _082E951C
+ adds r0, r6, 0
+ pop {r4-r6,pc}