diff options
Diffstat (limited to 'asm/libgcc.s')
-rw-r--r-- | asm/libgcc.s | 4642 |
1 files changed, 0 insertions, 4642 deletions
diff --git a/asm/libgcc.s b/asm/libgcc.s deleted file mode 100644 index 82d15f684..000000000 --- a/asm/libgcc.s +++ /dev/null @@ -1,4642 +0,0 @@ - .include "asm/macros.s" - - .syntax unified - - .text - - thumb_func_start _call_via_r0 -_call_via_r0: @ 81E082C - bx r0 - mov r8, r8 - thumb_func_end _call_via_r0 - - thumb_func_start _call_via_r1 -_call_via_r1: @ 81E0830 - bx r1 - mov r8, r8 - thumb_func_end _call_via_r1 - - thumb_func_start _call_via_r2 -_call_via_r2: @ 81E0834 - bx r2 - mov r8, r8 - thumb_func_end _call_via_r2 - - thumb_func_start _call_via_r3 -_call_via_r3: @ 81E0838 - bx r3 - mov r8, r8 - thumb_func_end _call_via_r3 - - thumb_func_start _call_via_r4 -_call_via_r4: @ 81E083C - bx r4 - mov r8, r8 - thumb_func_end _call_via_r4 - - thumb_func_start _call_via_r5 -_call_via_r5: @ 81E0840 - bx r5 - mov r8, r8 - thumb_func_end _call_via_r5 - - thumb_func_start _call_via_r6 -_call_via_r6: @ 81E0844 - bx r6 - mov r8, r8 - thumb_func_end _call_via_r6 - - thumb_func_start _call_via_r7 -_call_via_r7: @ 81E0848 - bx r7 - mov r8, r8 - thumb_func_end _call_via_r7 - - thumb_func_start _call_via_r8 -_call_via_r8: @ 81E084C - bx r8 - mov r8, r8 - thumb_func_end _call_via_r8 - - thumb_func_start _call_via_r9 -_call_via_r9: @ 81E0850 - bx r9 - mov r8, r8 - thumb_func_end _call_via_r9 - - thumb_func_start _call_via_sl -_call_via_sl: @ 81E0854 - bx r10 - mov r8, r8 - thumb_func_end _call_via_sl - - thumb_func_start _call_via_fp -_call_via_fp: @ 81E0858 - bx r11 - mov r8, r8 - thumb_func_end _call_via_fp - - thumb_func_start _call_via_ip -_call_via_ip: @ 81E085C - bx r12 - mov r8, r8 - thumb_func_end _call_via_ip - - thumb_func_start _call_via_sp -_call_via_sp: @ 81E0860 - bx sp - mov r8, r8 - thumb_func_end _call_via_sp - - thumb_func_start _call_via_lr -_call_via_lr: @ 81E0864 - bx lr - mov r8, r8 - thumb_func_end _call_via_lr - - thumb_func_start __divsi3 -@ int __divsi3(int dividend, int divisor) -__divsi3: @ 81E0868 - cmp r1, 0 - beq _081E08F0 - push {r4} - adds r4, r0, 0 - eors r4, r1 - mov r12, r4 - movs r3, 0x1 - movs r2, 0 - cmp r1, 0 - bpl _081E087E - negs r1, r1 -_081E087E: - cmp r0, 0 - bpl _081E0884 - negs r0, r0 -_081E0884: - cmp r0, r1 - bcc _081E08E2 - movs r4, 0x1 - lsls r4, 28 -_081E088C: - cmp r1, r4 - bcs _081E089A - cmp r1, r0 - bcs _081E089A - lsls r1, 4 - lsls r3, 4 - b _081E088C -_081E089A: - lsls r4, 3 -_081E089C: - cmp r1, r4 - bcs _081E08AA - cmp r1, r0 - bcs _081E08AA - lsls r1, 1 - lsls r3, 1 - b _081E089C -_081E08AA: - cmp r0, r1 - bcc _081E08B2 - subs r0, r1 - orrs r2, r3 -_081E08B2: - lsrs r4, r1, 1 - cmp r0, r4 - bcc _081E08BE - subs r0, r4 - lsrs r4, r3, 1 - orrs r2, r4 -_081E08BE: - lsrs r4, r1, 2 - cmp r0, r4 - bcc _081E08CA - subs r0, r4 - lsrs r4, r3, 2 - orrs r2, r4 -_081E08CA: - lsrs r4, r1, 3 - cmp r0, r4 - bcc _081E08D6 - subs r0, r4 - lsrs r4, r3, 3 - orrs r2, r4 -_081E08D6: - cmp r0, 0 - beq _081E08E2 - lsrs r3, 4 - beq _081E08E2 - lsrs r1, 4 - b _081E08AA -_081E08E2: - adds r0, r2, 0 - mov r4, r12 - cmp r4, 0 - bpl _081E08EC - negs r0, r0 -_081E08EC: - pop {r4} - mov pc, lr -_081E08F0: - push {lr} - bl nullsub_1 - movs r0, 0 - pop {pc} - thumb_func_end __divsi3 - - thumb_func_start nullsub_1 -nullsub_1: @ 81E08FC - mov pc, lr - thumb_func_end nullsub_1 - - thumb_func_start __fixunsdfsi -__fixunsdfsi: @ 81E0900 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r0, 0 - ldr r3, _081E0920 - ldr r2, _081E091C - bl __gedf2 - cmp r0, 0 - bge _081E0924 - adds r1, r5, 0 - adds r0, r4, 0 - bl __fixdfsi - b _081E093A - .align 2, 0 -_081E091C: .4byte 0x41e00000 -_081E0920: .4byte 0x00000000 -_081E0924: - ldr r3, _081E0940 - ldr r2, _081E093C - adds r1, r5, 0 - adds r0, r4, 0 - bl __adddf3 - bl __fixdfsi - movs r1, 0x80 - lsls r1, 24 - adds r0, r1 -_081E093A: - pop {r4,r5,pc} - .align 2, 0 -_081E093C: .4byte 0xc1e00000 -_081E0940: .4byte 0x00000000 - thumb_func_end __fixunsdfsi - - thumb_func_start __fixunssfsi -__fixunssfsi: @ 81E0944 - push {r4,lr} - adds r4, r0, 0 - ldr r1, _081E095C - bl __gesf2 - cmp r0, 0 - bge _081E0960 - adds r0, r4, 0 - bl __fixsfsi - b _081E0972 - .align 2, 0 -_081E095C: .4byte 0x4f000000 -_081E0960: - ldr r1, _081E0974 - adds r0, r4, 0 - bl __addsf3 - bl __fixsfsi - movs r1, 0x80 - lsls r1, 24 - adds r0, r1 -_081E0972: - pop {r4,pc} - .align 2, 0 -_081E0974: .4byte 0xcf000000 - thumb_func_end __fixunssfsi - - thumb_func_start __modsi3 -__modsi3: @ 81E0978 - movs r3, 0x1 - cmp r1, 0 - beq _081E0A3C - bpl _081E0982 - negs r1, r1 -_081E0982: - push {r4} - push {r0} - cmp r0, 0 - bpl _081E098C - negs r0, r0 -_081E098C: - cmp r0, r1 - bcc _081E0A30 - movs r4, 0x1 - lsls r4, 28 -_081E0994: - cmp r1, r4 - bcs _081E09A2 - cmp r1, r0 - bcs _081E09A2 - lsls r1, 4 - lsls r3, 4 - b _081E0994 -_081E09A2: - lsls r4, 3 -_081E09A4: - cmp r1, r4 - bcs _081E09B2 - cmp r1, r0 - bcs _081E09B2 - lsls r1, 1 - lsls r3, 1 - b _081E09A4 -_081E09B2: - movs r2, 0 - cmp r0, r1 - bcc _081E09BA - subs r0, r1 -_081E09BA: - lsrs r4, r1, 1 - cmp r0, r4 - bcc _081E09CC - subs r0, r4 - mov r12, r3 - movs r4, 0x1 - rors r3, r4 - orrs r2, r3 - mov r3, r12 -_081E09CC: - lsrs r4, r1, 2 - cmp r0, r4 - bcc _081E09DE - subs r0, r4 - mov r12, r3 - movs r4, 0x2 - rors r3, r4 - orrs r2, r3 - mov r3, r12 -_081E09DE: - lsrs r4, r1, 3 - cmp r0, r4 - bcc _081E09F0 - subs r0, r4 - mov r12, r3 - movs r4, 0x3 - rors r3, r4 - orrs r2, r3 - mov r3, r12 -_081E09F0: - mov r12, r3 - cmp r0, 0 - beq _081E09FE - lsrs r3, 4 - beq _081E09FE - lsrs r1, 4 - b _081E09B2 -_081E09FE: - movs r4, 0xE - lsls r4, 28 - ands r2, r4 - beq _081E0A30 - mov r3, r12 - movs r4, 0x3 - rors r3, r4 - tst r2, r3 - beq _081E0A14 - lsrs r4, r1, 3 - adds r0, r4 -_081E0A14: - mov r3, r12 - movs r4, 0x2 - rors r3, r4 - tst r2, r3 - beq _081E0A22 - lsrs r4, r1, 2 - adds r0, r4 -_081E0A22: - mov r3, r12 - movs r4, 0x1 - rors r3, r4 - tst r2, r3 - beq _081E0A30 - lsrs r4, r1, 1 - adds r0, r4 -_081E0A30: - pop {r4} - cmp r4, 0 - bpl _081E0A38 - negs r0, r0 -_081E0A38: - pop {r4} - mov pc, lr -_081E0A3C: - push {lr} - bl nullsub_1 - movs r0, 0 - pop {pc} - thumb_func_end __modsi3 - - thumb_func_start __muldi3 -__muldi3: @ 81E0A48 - 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, _081E0AB4 - 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 _081E0A88 - movs r0, 0x80 - lsls r0, 9 - adds r3, r0 -_081E0A88: - 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 -_081E0AB4: .4byte 0x0000ffff - thumb_func_end __muldi3 - - thumb_func_start __udivdi3 -__udivdi3: @ 81E0AB8 - 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 _081E0AD2 - b _081E0D20 -_081E0AD2: - cmp r7, r8 - bls _081E0BAC - ldr r0, _081E0AE8 - cmp r7, r0 - bhi _081E0AEC - movs r1, 0 - cmp r7, 0xFF - bls _081E0AF6 - movs r1, 0x8 - b _081E0AF6 - .align 2, 0 -_081E0AE8: .4byte 0x0000ffff -_081E0AEC: - ldr r0, _081E0BA0 - movs r1, 0x18 - cmp r7, r0 - bhi _081E0AF6 - movs r1, 0x10 -_081E0AF6: - ldr r0, _081E0BA4 - lsrs r2, r1 - adds r0, r2, r0 - ldrb r0, [r0] - adds r0, r1 - movs r1, 0x20 - subs r2, r1, r0 - cmp r2, 0 - beq _081E0B22 - 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 -_081E0B22: - lsrs r4, r7, 16 - mov r9, r4 - ldr r0, _081E0BA8 - 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 _081E0B62 - subs r6, 0x1 - adds r4, r7 - cmp r4, r7 - bcc _081E0B62 - cmp r4, r2 - bcs _081E0B62 - subs r6, 0x1 - adds r4, r7 -_081E0B62: - 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, _081E0BA8 - mov r3, r10 - ands r3, r0 - orrs r5, r3 - cmp r5, r2 - bcs _081E0B9A - subs r1, 0x1 - adds r5, r7 - cmp r5, r7 - bcc _081E0B9A - cmp r5, r2 - bcs _081E0B9A - subs r1, 0x1 -_081E0B9A: - lsls r6, 16 - orrs r6, r1 - b _081E0D26 - .align 2, 0 -_081E0BA0: .4byte 0x00ffffff -_081E0BA4: .4byte gUnknown_086B08F8 -_081E0BA8: .4byte 0x0000ffff -_081E0BAC: - cmp r2, 0 - bne _081E0BBA - movs r0, 0x1 - movs r1, 0 - bl __udivsi3 - adds r7, r0, 0 -_081E0BBA: - adds r1, r7, 0 - ldr r0, _081E0BCC - cmp r7, r0 - bhi _081E0BD0 - movs r2, 0 - cmp r7, 0xFF - bls _081E0BDA - movs r2, 0x8 - b _081E0BDA - .align 2, 0 -_081E0BCC: .4byte 0x0000ffff -_081E0BD0: - ldr r0, _081E0BF8 - movs r2, 0x18 - cmp r7, r0 - bhi _081E0BDA - movs r2, 0x10 -_081E0BDA: - ldr r0, _081E0BFC - lsrs r1, r2 - adds r0, r1, r0 - ldrb r0, [r0] - adds r0, r2 - movs r1, 0x20 - subs r2, r1, r0 - cmp r2, 0 - bne _081E0C00 - mov r0, r8 - subs r0, r7 - mov r8, r0 - movs r1, 0x1 - str r1, [sp, 0x4] - b _081E0C9E - .align 2, 0 -_081E0BF8: .4byte 0x00ffffff -_081E0BFC: .4byte gUnknown_086B08F8 -_081E0C00: - 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, _081E0D1C - 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 _081E0C5A - subs r6, 0x1 - adds r4, r7 - cmp r4, r7 - bcc _081E0C5A - cmp r4, r1 - bcs _081E0C5A - subs r6, 0x1 - adds r4, r7 -_081E0C5A: - 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, _081E0D1C - mov r3, r8 - ands r3, r0 - orrs r5, r3 - cmp r5, r1 - bcs _081E0C94 - subs r2, 0x1 - adds r5, r7 - cmp r5, r7 - bcc _081E0C94 - cmp r5, r1 - bcs _081E0C94 - subs r2, 0x1 - adds r5, r7 -_081E0C94: - lsls r6, 16 - orrs r6, r2 - str r6, [sp, 0x4] - subs r1, r5, r1 - mov r8, r1 -_081E0C9E: - lsrs r4, r7, 16 - mov r9, r4 - ldr r0, _081E0D1C - 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 _081E0CDE - subs r6, 0x1 - adds r4, r7 - cmp r4, r7 - bcc _081E0CDE - cmp r4, r2 - bcs _081E0CDE - subs r6, 0x1 - adds r4, r7 -_081E0CDE: - 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, _081E0D1C - mov r3, r10 - ands r3, r0 - orrs r5, r3 - cmp r5, r2 - bcs _081E0D16 - subs r1, 0x1 - adds r5, r7 - cmp r5, r7 - bcc _081E0D16 - cmp r5, r2 - bcs _081E0D16 - subs r1, 0x1 -_081E0D16: - lsls r6, 16 - orrs r6, r1 - b _081E0E76 - .align 2, 0 -_081E0D1C: .4byte 0x0000ffff -_081E0D20: - cmp r6, r8 - bls _081E0D2C - movs r6, 0 -_081E0D26: - movs r4, 0 - str r4, [sp, 0x4] - b _081E0E76 -_081E0D2C: - adds r1, r6, 0 - ldr r0, _081E0D40 - cmp r6, r0 - bhi _081E0D44 - movs r2, 0 - cmp r6, 0xFF - bls _081E0D4E - movs r2, 0x8 - b _081E0D4E - .align 2, 0 -_081E0D40: .4byte 0x0000ffff -_081E0D44: - ldr r0, _081E0D70 - movs r2, 0x18 - cmp r6, r0 - bhi _081E0D4E - movs r2, 0x10 -_081E0D4E: - ldr r0, _081E0D74 - lsrs r1, r2 - adds r0, r1, r0 - ldrb r0, [r0] - adds r0, r2 - movs r1, 0x20 - subs r2, r1, r0 - cmp r2, 0 - bne _081E0D7C - cmp r8, r6 - bhi _081E0D68 - cmp r10, r7 - bcc _081E0D78 -_081E0D68: - movs r6, 0x1 - mov r1, r10 - b _081E0E70 - .align 2, 0 -_081E0D70: .4byte 0x00ffffff -_081E0D74: .4byte gUnknown_086B08F8 -_081E0D78: - movs r6, 0 - b _081E0E72 -_081E0D7C: - 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, _081E0E8C - 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 _081E0DDE - subs r3, 0x1 - adds r4, r6 - cmp r4, r6 - bcc _081E0DDE - cmp r4, r1 - bcs _081E0DDE - subs r3, 0x1 - adds r4, r6 -_081E0DDE: - 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, _081E0E8C - mov r4, r8 - ands r4, r0 - orrs r5, r4 - ldr r3, [sp, 0x1C] - cmp r5, r1 - bcs _081E0E1C - subs r2, 0x1 - adds r5, r6 - cmp r5, r6 - bcc _081E0E1C - cmp r5, r1 - bcs _081E0E1C - subs r2, 0x1 - adds r5, r6 -_081E0E1C: - lsls r6, r3, 16 - orrs r6, r2 - subs r1, r5, r1 - mov r8, r1 - ldr r0, _081E0E8C - 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 _081E0E54 - movs r0, 0x80 - lsls r0, 9 - adds r3, r0 -_081E0E54: - 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 _081E0E6E - cmp r3, r8 - bne _081E0E72 - cmp r1, r10 - bls _081E0E72 -_081E0E6E: - subs r6, 0x1 -_081E0E70: - subs r0, r1, r7 -_081E0E72: - movs r2, 0 - str r2, [sp, 0x4] -_081E0E76: - 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 -_081E0E8C: .4byte 0x0000ffff - thumb_func_end __udivdi3 - - thumb_func_start __udivsi3 -@ unsigned int __udivsi3(unsigned int dividend, unsigned int divisor) -__udivsi3: @ 81E0E90 - cmp r1, 0 - beq _081E0EFE - movs r3, 0x1 - movs r2, 0 - push {r4} - cmp r0, r1 - bcc _081E0EF8 - movs r4, 0x1 - lsls r4, 28 -_081E0EA2: - cmp r1, r4 - bcs _081E0EB0 - cmp r1, r0 - bcs _081E0EB0 - lsls r1, 4 - lsls r3, 4 - b _081E0EA2 -_081E0EB0: - lsls r4, 3 -_081E0EB2: - cmp r1, r4 - bcs _081E0EC0 - cmp r1, r0 - bcs _081E0EC0 - lsls r1, 1 - lsls r3, 1 - b _081E0EB2 -_081E0EC0: - cmp r0, r1 - bcc _081E0EC8 - subs r0, r1 - orrs r2, r3 -_081E0EC8: - lsrs r4, r1, 1 - cmp r0, r4 - bcc _081E0ED4 - subs r0, r4 - lsrs r4, r3, 1 - orrs r2, r4 -_081E0ED4: - lsrs r4, r1, 2 - cmp r0, r4 - bcc _081E0EE0 - subs r0, r4 - lsrs r4, r3, 2 - orrs r2, r4 -_081E0EE0: - lsrs r4, r1, 3 - cmp r0, r4 - bcc _081E0EEC - subs r0, r4 - lsrs r4, r3, 3 - orrs r2, r4 -_081E0EEC: - cmp r0, 0 - beq _081E0EF8 - lsrs r3, 4 - beq _081E0EF8 - lsrs r1, 4 - b _081E0EC0 -_081E0EF8: - adds r0, r2, 0 - pop {r4} - mov pc, lr -_081E0EFE: - push {lr} - bl nullsub_1 - movs r0, 0 - pop {pc} - thumb_func_end __udivsi3 - - thumb_func_start __umodsi3 -@ unsigned int __umodsi3(unsigned int dividend, unsigned int divisor) -__umodsi3: @ 81E0F08 - cmp r1, 0 - beq _081E0FBE - movs r3, 0x1 - cmp r0, r1 - bcs _081E0F14 - mov pc, lr -_081E0F14: - push {r4} - movs r4, 0x1 - lsls r4, 28 -_081E0F1A: - cmp r1, r4 - bcs _081E0F28 - cmp r1, r0 - bcs _081E0F28 - lsls r1, 4 - lsls r3, 4 - b _081E0F1A -_081E0F28: - lsls r4, 3 -_081E0F2A: - cmp r1, r4 - bcs _081E0F38 - cmp r1, r0 - bcs _081E0F38 - lsls r1, 1 - lsls r3, 1 - b _081E0F2A -_081E0F38: - movs r2, 0 - cmp r0, r1 - bcc _081E0F40 - subs r0, r1 -_081E0F40: - lsrs r4, r1, 1 - cmp r0, r4 - bcc _081E0F52 - subs r0, r4 - mov r12, r3 - movs r4, 0x1 - rors r3, r4 - orrs r2, r3 - mov r3, r12 -_081E0F52: - lsrs r4, r1, 2 - cmp r0, r4 - bcc _081E0F64 - subs r0, r4 - mov r12, r3 - movs r4, 0x2 - rors r3, r4 - orrs r2, r3 - mov r3, r12 -_081E0F64: - lsrs r4, r1, 3 - cmp r0, r4 - bcc _081E0F76 - subs r0, r4 - mov r12, r3 - movs r4, 0x3 - rors r3, r4 - orrs r2, r3 - mov r3, r12 -_081E0F76: - mov r12, r3 - cmp r0, 0 - beq _081E0F84 - lsrs r3, 4 - beq _081E0F84 - lsrs r1, 4 - b _081E0F38 -_081E0F84: - movs r4, 0xE - lsls r4, 28 - ands r2, r4 - bne _081E0F90 - pop {r4} - mov pc, lr -_081E0F90: - mov r3, r12 - movs r4, 0x3 - rors r3, r4 - tst r2, r3 - beq _081E0F9E - lsrs r4, r1, 3 - adds r0, r4 -_081E0F9E: - mov r3, r12 - movs r4, 0x2 - rors r3, r4 - tst r2, r3 - beq _081E0FAC - lsrs r4, r1, 2 - adds r0, r4 -_081E0FAC: - mov r3, r12 - movs r4, 0x1 - rors r3, r4 - tst r2, r3 - beq _081E0FBA - lsrs r4, r1, 1 - adds r0, r4 -_081E0FBA: - pop {r4} - mov pc, lr -_081E0FBE: - push {lr} - bl nullsub_1 - movs r0, 0 - pop {pc} - thumb_func_end __umodsi3 - - thumb_func_start __pack_d -__pack_d: @ 81E0FC8 - 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 _081E0FE0 - movs r2, 0x1 -_081E0FE0: - cmp r2, 0 - beq _081E1000 - ldr r6, _081E0FF4 - ldr r2, _081E0FF8 - ldr r3, _081E0FFC - adds r0, r4, 0 - adds r1, r5, 0 - orrs r1, r3 - b _081E10B8 - .align 2, 0 -_081E0FF4: .4byte 0x000007ff -_081E0FF8: .4byte 0x00000000 -_081E0FFC: .4byte 0x00080000 -_081E1000: - movs r2, 0 - cmp r0, 0x4 - bne _081E1008 - movs r2, 0x1 -_081E1008: - cmp r2, 0 - bne _081E1054 - movs r2, 0 - cmp r0, 0x2 - bne _081E1014 - movs r2, 0x1 -_081E1014: - cmp r2, 0 - beq _081E101E - movs r4, 0 - movs r5, 0 - b _081E10BC -_081E101E: - adds r0, r5, 0 - orrs r0, r4 - cmp r0, 0 - beq _081E10BC - ldr r2, [r1, 0x8] - ldr r0, _081E103C - cmp r2, r0 - bge _081E104E - subs r2, r0, r2 - cmp r2, 0x38 - ble _081E1040 - movs r4, 0 - movs r5, 0 - b _081E10AE - .align 2, 0 -_081E103C: .4byte 0xfffffc02 -_081E1040: - adds r1, r5, 0 - adds r0, r4, 0 - bl __lshrdi3 - adds r5, r1, 0 - adds r4, r0, 0 - b _081E10AE -_081E104E: - ldr r0, _081E105C - cmp r2, r0 - ble _081E1064 -_081E1054: - ldr r6, _081E1060 - movs r4, 0 - movs r5, 0 - b _081E10BC - .align 2, 0 -_081E105C: .4byte 0x000003ff -_081E1060: .4byte 0x000007ff -_081E1064: - ldr r0, _081E108C - adds r6, r2, r0 - movs r0, 0xFF - adds r1, r4, 0 - ands r1, r0 - movs r2, 0 - cmp r1, 0x80 - bne _081E1090 - cmp r2, 0 - bne _081E1090 - adds r0, 0x1 - adds r1, r4, 0 - ands r1, r0 - adds r0, r2, 0 - orrs r0, r1 - cmp r0, 0 - beq _081E1098 - movs r0, 0x80 - movs r1, 0 - b _081E1094 - .align 2, 0 -_081E108C: .4byte 0x000003ff -_081E1090: - movs r0, 0x7F - movs r1, 0 -_081E1094: - adds r4, r0 - adcs r5, r1 -_081E1098: - ldr r0, _081E10FC - cmp r5, r0 - bls _081E10AE - 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 -_081E10AE: - lsls r3, r5, 24 - lsrs r2, r4, 8 - adds r0, r3, 0 - orrs r0, r2 - lsrs r1, r5, 8 -_081E10B8: - adds r5, r1, 0 - adds r4, r0, 0 -_081E10BC: - str r4, [sp] - ldr r2, _081E1100 - ands r2, r5 - ldr r0, [sp, 0x4] - ldr r1, _081E1104 - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x4] - mov r2, sp - ldr r1, _081E1108 - adds r0, r1, 0 - ands r6, r0 - lsls r1, r6, 4 - ldr r0, _081E110C - 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 -_081E10FC: .4byte 0x1fffffff -_081E1100: .4byte 0x000fffff -_081E1104: .4byte 0xfff00000 -_081E1108: .4byte 0x000007ff -_081E110C: .4byte 0xffff800f - thumb_func_end __pack_d - - thumb_func_start __unpack_d -__unpack_d: @ 81E1110 - 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 _081E1184 - orrs r1, r5 - cmp r1, 0 - bne _081E1144 - movs r0, 0x2 - str r0, [r6] - b _081E11D8 -_081E1144: - ldr r0, _081E117C - 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, _081E1180 - cmp r5, r0 - bhi _081E11B4 - adds r7, r0, 0 -_081E1162: - 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 _081E1162 - b _081E11B4 - .align 2, 0 -_081E117C: .4byte 0xfffffc02 -_081E1180: .4byte 0x0fffffff -_081E1184: - ldr r0, _081E1198 - cmp r3, r0 - bne _081E11BA - orrs r1, r5 - cmp r1, 0 - bne _081E119C - movs r0, 0x4 - str r0, [r6] - b _081E11D8 - .align 2, 0 -_081E1198: .4byte 0x000007ff -_081E119C: - movs r2, 0x80 - lsls r2, 12 - movs r0, 0 - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - cmp r1, 0 - beq _081E11B2 - movs r0, 0x1 - str r0, [r6] - b _081E11B4 -_081E11B2: - str r1, [r6] -_081E11B4: - str r4, [r6, 0xC] - str r5, [r6, 0x10] - b _081E11D8 -_081E11BA: - ldr r1, _081E11DC - 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, _081E11E0 - ldr r3, _081E11E4 - orrs r1, r3 - str r0, [r6, 0xC] - str r1, [r6, 0x10] -_081E11D8: - add sp, 0x8 - pop {r4-r7,pc} - .align 2, 0 -_081E11DC: .4byte 0xfffffc01 -_081E11E0: .4byte 0x00000000 -_081E11E4: .4byte 0x10000000 - thumb_func_end __unpack_d - - thumb_func_start __fpadd_parts_d -__fpadd_parts_d: @ 81E11E8 - 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 _081E1204 - movs r0, 0x1 -_081E1204: - cmp r0, 0 - beq _081E120C -_081E1208: - adds r0, r3, 0 - b _081E1444 -_081E120C: - movs r1, 0 - ldr r0, [r4] - cmp r0, 0x1 - bhi _081E1216 - movs r1, 0x1 -_081E1216: - cmp r1, 0 - bne _081E128E - movs r1, 0 - cmp r2, 0x4 - bne _081E1222 - movs r1, 0x1 -_081E1222: - cmp r1, 0 - beq _081E1244 - movs r1, 0 - cmp r0, 0x4 - bne _081E122E - movs r1, 0x1 -_081E122E: - cmp r1, 0 - beq _081E1208 - ldr r1, [r3, 0x4] - ldr r0, [r4, 0x4] - cmp r1, r0 - beq _081E1208 - ldr r0, _081E1240 - b _081E1444 - .align 2, 0 -_081E1240: .4byte 0x03000f38 -_081E1244: - movs r1, 0 - cmp r0, 0x4 - bne _081E124C - movs r1, 0x1 -_081E124C: - cmp r1, 0 - bne _081E128E - movs r1, 0 - cmp r0, 0x2 - bne _081E1258 - movs r1, 0x1 -_081E1258: - cmp r1, 0 - beq _081E1280 - movs r0, 0 - cmp r2, 0x2 - bne _081E1264 - movs r0, 0x1 -_081E1264: - cmp r0, 0 - beq _081E1208 - 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 _081E1442 -_081E1280: - movs r1, 0 - ldr r0, [r3] - cmp r0, 0x2 - bne _081E128A - movs r1, 0x1 -_081E128A: - cmp r1, 0 - beq _081E1292 -_081E128E: - adds r0, r4, 0 - b _081E1444 -_081E1292: - 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 _081E12B2 - negs r0, r0 -_081E12B2: - cmp r0, 0x3F - bgt _081E1330 - ldr r3, [r3, 0x4] - mov r12, r3 - ldr r4, [r4, 0x4] - str r4, [sp, 0x8] - cmp r9, r8 - ble _081E12FC - mov r3, r9 - mov r4, r8 - subs r3, r4 - mov r8, r3 -_081E12CA: - 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 _081E12CA - mov r8, r9 -_081E12FC: - cmp r8, r9 - ble _081E134C - mov r0, r8 - mov r1, r9 - subs r0, r1 - mov r9, r0 -_081E1308: - 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 _081E1308 - mov r9, r8 - b _081E134C -_081E1330: - cmp r9, r8 - ble _081E133E - movs r0, 0 - movs r1, 0 - str r0, [sp] - str r1, [sp, 0x4] - b _081E1344 -_081E133E: - mov r9, r8 - movs r6, 0 - movs r7, 0 -_081E1344: - ldr r3, [r3, 0x4] - mov r12, r3 - ldr r4, [r4, 0x4] - str r4, [sp, 0x8] -_081E134C: - ldr r1, [sp, 0x8] - cmp r12, r1 - beq _081E13F4 - mov r2, r12 - cmp r2, 0 - beq _081E136E - 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 _081E137A -_081E136E: - adds r3, r7, 0 - adds r2, r6, 0 - ldr r0, [sp] - ldr r1, [sp, 0x4] - subs r2, r0 - sbcs r3, r1 -_081E137A: - cmp r3, 0 - blt _081E1390 - 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 _081E13A8 -_081E1390: - 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] -_081E13A8: - mov r4, r10 - ldr r2, [r4, 0xC] - ldr r3, [r4, 0x10] - movs r0, 0x1 - negs r0, r0 - asrs r1, r0, 31 -_081E13B4: - adds r2, r0 - adcs r3, r1 - ldr r0, _081E13F0 - cmp r3, r0 - bhi _081E140C - cmp r3, r0 - bne _081E13CA - movs r0, 0x2 - negs r0, r0 - cmp r2, r0 - bhi _081E140C -_081E13CA: - 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 _081E13B4 - .align 2, 0 -_081E13F0: .4byte 0x0fffffff -_081E13F4: - 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] -_081E140C: - movs r0, 0x3 - mov r5, r10 - str r0, [r5] - ldr r1, [r5, 0x10] - ldr r0, _081E1450 - cmp r1, r0 - bls _081E1442 - 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] -_081E1442: - mov r0, r10 -_081E1444: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7,pc} - .align 2, 0 -_081E1450: .4byte 0x1fffffff - thumb_func_end __fpadd_parts_d - - thumb_func_start __adddf3 -@ double __adddf3(double arg_a, double arg_b) -__adddf3: @ 81E1454 - 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: @ 81E1484 - 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: @ 81E14BC - 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 _081E14F2 - movs r0, 0x1 -_081E14F2: - cmp r0, 0 - bne _081E1556 - movs r2, 0 - ldr r0, [sp, 0x14] - cmp r0, 0x1 - bhi _081E1500 - movs r2, 0x1 -_081E1500: - cmp r2, 0 - beq _081E1508 - ldr r0, [sp, 0x4] - b _081E1578 -_081E1508: - movs r2, 0 - cmp r1, 0x4 - bne _081E1510 - movs r2, 0x1 -_081E1510: - cmp r2, 0 - beq _081E1522 - movs r1, 0 - cmp r0, 0x2 - bne _081E151C - movs r1, 0x1 -_081E151C: - cmp r1, 0 - bne _081E153A - b _081E1556 -_081E1522: - movs r2, 0 - cmp r0, 0x4 - bne _081E152A - movs r2, 0x1 -_081E152A: - cmp r2, 0 - beq _081E154A - movs r0, 0 - cmp r1, 0x2 - bne _081E1536 - movs r0, 0x1 -_081E1536: - cmp r0, 0 - beq _081E1544 -_081E153A: - ldr r0, _081E1540 - b _081E1742 - .align 2, 0 -_081E1540: .4byte 0x03000f38 -_081E1544: - mov r1, r8 - ldr r0, [r1, 0x4] - b _081E1578 -_081E154A: - movs r2, 0 - cmp r1, 0x2 - bne _081E1552 - movs r2, 0x1 -_081E1552: - cmp r2, 0 - beq _081E1568 -_081E1556: - 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 _081E1742 -_081E1568: - movs r1, 0 - cmp r0, 0x2 - bne _081E1570 - movs r1, 0x1 -_081E1570: - cmp r1, 0 - beq _081E1588 - mov r2, r8 - ldr r0, [r2, 0x4] -_081E1578: - 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 _081E1742 -_081E1588: - 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 _081E1600 - cmp r7, r3 - bne _081E1608 - cmp r6, r2 - bls _081E1608 -_081E1600: - ldr r5, _081E1758 - ldr r4, _081E1754 - str r4, [sp, 0x6C] - str r5, [sp, 0x70] -_081E1608: - 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 _081E1624 - ldr r1, [sp, 0x60] - cmp r1, r7 - bne _081E1634 - cmp r0, r6 - bls _081E1634 -_081E1624: - 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] -_081E1634: - 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, _081E175C - cmp r5, r0 - bls _081E16B6 - movs r1, 0x1 - mov r9, r1 - mov r8, r0 - mov r12, r2 -_081E167A: - movs r2, 0x1 - add r12, r2 - mov r0, r9 - ands r0, r4 - cmp r0, 0 - beq _081E16A0 - 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 -_081E16A0: - 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 _081E167A - mov r0, r12 - str r0, [sp, 0x30] -_081E16B6: - ldr r0, _081E1760 - cmp r5, r0 - bhi _081E1708 - movs r1, 0x80 - lsls r1, 24 - mov r9, r1 - mov r8, r0 - ldr r2, [sp, 0x30] - mov r12, r2 -_081E16C8: - 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 _081E16F2 - movs r0, 0x1 - orrs r0, r4 - adds r1, r5, 0 - adds r5, r1, 0 - adds r4, r0, 0 -_081E16F2: - 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 _081E16C8 - mov r1, r12 - str r1, [sp, 0x30] -_081E1708: - movs r0, 0xFF - adds r1, r4, 0 - ands r1, r0 - movs r2, 0 - cmp r1, 0x80 - bne _081E1736 - cmp r2, 0 - bne _081E1736 - adds r0, 0x1 - adds r1, r4, 0 - ands r1, r0 - adds r0, r2, 0 - orrs r0, r1 - cmp r0, 0 - bne _081E172E - adds r0, r7, 0 - orrs r0, r6 - cmp r0, 0 - beq _081E1736 -_081E172E: - movs r0, 0x80 - movs r1, 0 - adds r4, r0 - adcs r5, r1 -_081E1736: - str r4, [sp, 0x34] - str r5, [sp, 0x38] - movs r0, 0x3 - mov r2, r10 - str r0, [r2] - add r0, sp, 0x28 -_081E1742: - 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 -_081E1754: .4byte 0x00000000 -_081E1758: .4byte 0x00000001 -_081E175C: .4byte 0x1fffffff -_081E1760: .4byte 0x0fffffff - thumb_func_end __muldf3 - - thumb_func_start __divdf3 -__divdf3: @ 81E1764 - 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 _081E178E - movs r0, 0x1 -_081E178E: - cmp r0, 0 - beq _081E1796 - mov r1, sp - b _081E18D8 -_081E1796: - movs r0, 0 - ldr r2, [sp, 0x14] - adds r5, r2, 0 - cmp r2, 0x1 - bhi _081E17A2 - movs r0, 0x1 -_081E17A2: - cmp r0, 0 - beq _081E17AA - adds r1, r4, 0 - b _081E18D8 -_081E17AA: - ldr r0, [sp, 0x4] - ldr r1, [sp, 0x18] - eors r0, r1 - str r0, [sp, 0x4] - movs r0, 0 - cmp r3, 0x4 - bne _081E17BA - movs r0, 0x1 -_081E17BA: - cmp r0, 0 - bne _081E17CA - movs r4, 0 - cmp r3, 0x2 - bne _081E17C6 - movs r4, 0x1 -_081E17C6: - cmp r4, 0 - beq _081E17DC -_081E17CA: - mov r1, r12 - ldr r0, [r1] - cmp r0, r5 - beq _081E17D4 - b _081E18D8 -_081E17D4: - ldr r1, _081E17D8 - b _081E18D8 - .align 2, 0 -_081E17D8: .4byte 0x03000f38 -_081E17DC: - movs r0, 0 - cmp r2, 0x4 - bne _081E17E4 - movs r0, 0x1 -_081E17E4: - cmp r0, 0 - beq _081E17F6 - movs r0, 0 - movs r1, 0 - str r0, [sp, 0xC] - str r1, [sp, 0x10] - str r4, [sp, 0x8] - mov r1, sp - b _081E18D8 -_081E17F6: - movs r0, 0 - cmp r2, 0x2 - bne _081E17FE - movs r0, 0x1 -_081E17FE: - cmp r0, 0 - beq _081E180A - movs r0, 0x4 - mov r2, r12 - str r0, [r2] - b _081E18D6 -_081E180A: - 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 _081E182E - ldr r1, [sp, 0x3C] - cmp r1, r5 - bne _081E1842 - cmp r0, r4 - bls _081E1842 -_081E182E: - 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] -_081E1842: - ldr r7, _081E18E8 - ldr r6, _081E18E4 - movs r0, 0 - movs r1, 0 - str r0, [sp, 0x40] - str r1, [sp, 0x44] -_081E184E: - ldr r1, [sp, 0x3C] - cmp r1, r5 - bhi _081E1872 - cmp r1, r5 - bne _081E185E - ldr r2, [sp, 0x38] - cmp r2, r4 - bhi _081E1872 -_081E185E: - 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 -_081E1872: - 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 _081E184E - movs r0, 0xFF - ldr r1, [sp, 0x40] - ands r1, r0 - movs r2, 0 - cmp r1, 0x80 - bne _081E18CC - cmp r2, 0 - bne _081E18CC - adds r0, 0x1 - ldr r1, [sp, 0x40] - ands r1, r0 - adds r0, r2, 0 - orrs r0, r1 - cmp r0, 0 - bne _081E18BC - adds r0, r5, 0 - orrs r0, r4 - cmp r0, 0 - beq _081E18CC -_081E18BC: - 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] -_081E18CC: - ldr r0, [sp, 0x40] - ldr r1, [sp, 0x44] - mov r2, r12 - str r0, [r2, 0xC] - str r1, [r2, 0x10] -_081E18D6: - mov r1, r12 -_081E18D8: - adds r0, r1, 0 - bl __pack_d - add sp, 0x48 - pop {r4-r7,pc} - .align 2, 0 -_081E18E4: .4byte 0x00000000 -_081E18E8: .4byte 0x10000000 - thumb_func_end __divdf3 - - thumb_func_start __fpcmp_parts_d -__fpcmp_parts_d: @ 81E18EC - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - movs r0, 0 - ldr r1, [r5] - cmp r1, 0x1 - bhi _081E18FC - movs r0, 0x1 -_081E18FC: - cmp r0, 0 - bne _081E190E - movs r0, 0 - ldr r2, [r6] - cmp r2, 0x1 - bhi _081E190A - movs r0, 0x1 -_081E190A: - cmp r0, 0 - beq _081E1912 -_081E190E: - movs r0, 0x1 - b _081E19E8 -_081E1912: - movs r0, 0 - cmp r1, 0x4 - bne _081E191A - movs r0, 0x1 -_081E191A: - cmp r0, 0 - beq _081E1932 - movs r0, 0 - cmp r2, 0x4 - bne _081E1926 - movs r0, 0x1 -_081E1926: - cmp r0, 0 - beq _081E1932 - ldr r0, [r6, 0x4] - ldr r1, [r5, 0x4] - subs r0, r1 - b _081E19E8 -_081E1932: - movs r1, 0 - ldr r0, [r5] - cmp r0, 0x4 - bne _081E193C - movs r1, 0x1 -_081E193C: - cmp r1, 0 - bne _081E198A - movs r1, 0 - cmp r2, 0x4 - bne _081E1948 - movs r1, 0x1 -_081E1948: - cmp r1, 0 - beq _081E195A -_081E194C: - ldr r0, [r6, 0x4] - movs r1, 0x1 - negs r1, r1 - cmp r0, 0 - beq _081E1994 - movs r1, 0x1 - b _081E1994 -_081E195A: - movs r1, 0 - cmp r0, 0x2 - bne _081E1962 - movs r1, 0x1 -_081E1962: - cmp r1, 0 - beq _081E1972 - movs r1, 0 - cmp r2, 0x2 - bne _081E196E - movs r1, 0x1 -_081E196E: - cmp r1, 0 - bne _081E19E6 -_081E1972: - movs r1, 0 - cmp r0, 0x2 - bne _081E197A - movs r1, 0x1 -_081E197A: - cmp r1, 0 - bne _081E194C - movs r0, 0 - cmp r2, 0x2 - bne _081E1986 - movs r0, 0x1 -_081E1986: - cmp r0, 0 - beq _081E1998 -_081E198A: - ldr r0, [r5, 0x4] - movs r1, 0x1 - cmp r0, 0 - beq _081E1994 - subs r1, 0x2 -_081E1994: - adds r0, r1, 0 - b _081E19E8 -_081E1998: - ldr r0, [r6, 0x4] - ldr r4, [r5, 0x4] - cmp r4, r0 - beq _081E19AA -_081E19A0: - movs r0, 0x1 - cmp r4, 0 - beq _081E19E8 - subs r0, 0x2 - b _081E19E8 -_081E19AA: - ldr r1, [r5, 0x8] - ldr r0, [r6, 0x8] - cmp r1, r0 - bgt _081E19A0 - cmp r1, r0 - bge _081E19C2 -_081E19B6: - movs r0, 0x1 - negs r0, r0 - cmp r4, 0 - beq _081E19E8 - movs r0, 0x1 - b _081E19E8 -_081E19C2: - ldr r3, [r5, 0x10] - ldr r2, [r6, 0x10] - cmp r3, r2 - bhi _081E19A0 - cmp r3, r2 - bne _081E19D6 - ldr r1, [r5, 0xC] - ldr r0, [r6, 0xC] - cmp r1, r0 - bhi _081E19A0 -_081E19D6: - cmp r2, r3 - bhi _081E19B6 - cmp r2, r3 - bne _081E19E6 - ldr r1, [r6, 0xC] - ldr r0, [r5, 0xC] - cmp r1, r0 - bhi _081E19B6 -_081E19E6: - movs r0, 0 -_081E19E8: - pop {r4-r6,pc} - thumb_func_end __fpcmp_parts_d - - thumb_func_start __cmpdf2 -__cmpdf2: @ 81E19EC - 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: @ 81E1A18 - 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 _081E1A40 - movs r1, 0x1 -_081E1A40: - cmp r1, 0 - bne _081E1A52 - movs r1, 0 - ldr r0, [sp, 0x14] - cmp r0, 0x1 - bhi _081E1A4E - movs r1, 0x1 -_081E1A4E: - cmp r1, 0 - beq _081E1A56 -_081E1A52: - movs r0, 0x1 - b _081E1A5E -_081E1A56: - mov r0, sp - adds r1, r4, 0 - bl __fpcmp_parts_d -_081E1A5E: - add sp, 0x38 - pop {r4,pc} - thumb_func_end __eqdf2 - - thumb_func_start __nedf2 -__nedf2: @ 81E1A64 - 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 _081E1A8C - movs r1, 0x1 -_081E1A8C: - cmp r1, 0 - bne _081E1A9E - movs r1, 0 - ldr r0, [sp, 0x14] - cmp r0, 0x1 - bhi _081E1A9A - movs r1, 0x1 -_081E1A9A: - cmp r1, 0 - beq _081E1AA2 -_081E1A9E: - movs r0, 0x1 - b _081E1AAA -_081E1AA2: - mov r0, sp - adds r1, r4, 0 - bl __fpcmp_parts_d -_081E1AAA: - add sp, 0x38 - pop {r4,pc} - thumb_func_end __nedf2 - - thumb_func_start __gtdf2 -__gtdf2: @ 81E1AB0 - 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 _081E1AD8 - movs r1, 0x1 -_081E1AD8: - cmp r1, 0 - bne _081E1AEA - movs r1, 0 - ldr r0, [sp, 0x14] - cmp r0, 0x1 - bhi _081E1AE6 - movs r1, 0x1 -_081E1AE6: - cmp r1, 0 - beq _081E1AF0 -_081E1AEA: - movs r0, 0x1 - negs r0, r0 - b _081E1AF8 -_081E1AF0: - mov r0, sp - adds r1, r4, 0 - bl __fpcmp_parts_d -_081E1AF8: - add sp, 0x38 - pop {r4,pc} - thumb_func_end __gtdf2 - - thumb_func_start __gedf2 -@ int __gedf2(double arg_a, double arg_b) -__gedf2: @ 81E1AFC - 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 _081E1B24 - movs r1, 0x1 -_081E1B24: - cmp r1, 0 - bne _081E1B36 - movs r1, 0 - ldr r0, [sp, 0x14] - cmp r0, 0x1 - bhi _081E1B32 - movs r1, 0x1 -_081E1B32: - cmp r1, 0 - beq _081E1B3C -_081E1B36: - movs r0, 0x1 - negs r0, r0 - b _081E1B44 -_081E1B3C: - mov r0, sp - adds r1, r4, 0 - bl __fpcmp_parts_d -_081E1B44: - add sp, 0x38 - pop {r4,pc} - thumb_func_end __gedf2 - - thumb_func_start __ltdf2 -__ltdf2: @ 81E1B48 - 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 _081E1B70 - movs r1, 0x1 -_081E1B70: - cmp r1, 0 - bne _081E1B82 - movs r1, 0 - ldr r0, [sp, 0x14] - cmp r0, 0x1 - bhi _081E1B7E - movs r1, 0x1 -_081E1B7E: - cmp r1, 0 - beq _081E1B86 -_081E1B82: - movs r0, 0x1 - b _081E1B8E -_081E1B86: - mov r0, sp - adds r1, r4, 0 - bl __fpcmp_parts_d -_081E1B8E: - add sp, 0x38 - pop {r4,pc} - thumb_func_end __ltdf2 - - thumb_func_start __ledf2 -__ledf2: @ 81E1B94 - 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 _081E1BBC - movs r1, 0x1 -_081E1BBC: - cmp r1, 0 - bne _081E1BCE - movs r1, 0 - ldr r0, [sp, 0x14] - cmp r0, 0x1 - bhi _081E1BCA - movs r1, 0x1 -_081E1BCA: - cmp r1, 0 - beq _081E1BD2 -_081E1BCE: - movs r0, 0x1 - b _081E1BDA -_081E1BD2: - mov r0, sp - adds r1, r4, 0 - bl __fpcmp_parts_d -_081E1BDA: - add sp, 0x38 - pop {r4,pc} - thumb_func_end __ledf2 - - thumb_func_start __floatsidf -__floatsidf: @ 81E1BE0 - 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 _081E1BF8 - movs r0, 0x2 - str r0, [sp] - b _081E1C4E -_081E1BF8: - movs r0, 0x3C - str r0, [sp, 0x8] - cmp r1, 0 - beq _081E1C1E - movs r0, 0x80 - lsls r0, 24 - cmp r2, r0 - bne _081E1C18 - ldr r1, _081E1C14 - ldr r0, _081E1C10 - b _081E1C54 - .align 2, 0 -_081E1C10: .4byte 0xc1e00000 -_081E1C14: .4byte 0x00000000 -_081E1C18: - negs r0, r2 - asrs r1, r0, 31 - b _081E1C22 -_081E1C1E: - adds r0, r2, 0 - asrs r1, r2, 31 -_081E1C22: - str r0, [sp, 0xC] - str r1, [sp, 0x10] - ldr r0, [sp, 0x10] - ldr r1, _081E1C58 - cmp r0, r1 - bhi _081E1C4E - adds r5, r1, 0 - ldr r4, [sp, 0x8] -_081E1C32: - 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 _081E1C32 - str r4, [sp, 0x8] -_081E1C4E: - mov r0, sp - bl __pack_d -_081E1C54: - add sp, 0x14 - pop {r4,r5,pc} - .align 2, 0 -_081E1C58: .4byte 0x0fffffff - thumb_func_end __floatsidf - - thumb_func_start __fixdfsi -@ int __fixdfsi(double arg_a) -__fixdfsi: @ 81E1C5C - 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 _081E1C76 - movs r1, 0x1 -_081E1C76: - cmp r1, 0 - bne _081E1CAA - movs r1, 0 - cmp r0, 0x1 - bhi _081E1C82 - movs r1, 0x1 -_081E1C82: - cmp r1, 0 - bne _081E1CAA - movs r1, 0 - cmp r0, 0x4 - bne _081E1C8E - movs r1, 0x1 -_081E1C8E: - cmp r1, 0 - beq _081E1CA4 -_081E1C92: - ldr r0, [sp, 0x4] - ldr r1, _081E1CA0 - cmp r0, 0 - beq _081E1CC8 - adds r1, 0x1 - b _081E1CC8 - .align 2, 0 -_081E1CA0: .4byte 0x7fffffff -_081E1CA4: - ldr r0, [sp, 0x8] - cmp r0, 0 - bge _081E1CAE -_081E1CAA: - movs r0, 0 - b _081E1CCA -_081E1CAE: - cmp r0, 0x1E - bgt _081E1C92 - 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 _081E1CC8 - negs r1, r1 -_081E1CC8: - adds r0, r1, 0 -_081E1CCA: - add sp, 0x1C - pop {pc} - thumb_func_end __fixdfsi - - thumb_func_start __negdf2 -__negdf2: @ 81E1CD0 - 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 _081E1CEA - movs r1, 0x1 -_081E1CEA: - 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: @ 81E1CF8 - 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: @ 81E1D20 - 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, _081E1D60 - adds r0, r2, 0 - ands r0, r4 - movs r1, 0 - orrs r0, r1 - cmp r0, 0 - beq _081E1D50 - movs r0, 0x1 - orrs r5, r0 -_081E1D50: - 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 -_081E1D60: .4byte 0x3fffffff - thumb_func_end __truncdfsf2 - - thumb_func_start __pack_f -__pack_f: @ 81E1D64 - 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 _081E1D76 - movs r1, 0x1 -_081E1D76: - cmp r1, 0 - beq _081E1D84 - movs r5, 0xFF - movs r0, 0x80 - lsls r0, 13 - orrs r2, r0 - b _081E1DEA -_081E1D84: - movs r1, 0 - cmp r3, 0x4 - bne _081E1D8C - movs r1, 0x1 -_081E1D8C: - cmp r1, 0 - bne _081E1DC0 - movs r1, 0 - cmp r3, 0x2 - bne _081E1D98 - movs r1, 0x1 -_081E1D98: - cmp r1, 0 - beq _081E1DA0 - movs r2, 0 - b _081E1DEA -_081E1DA0: - cmp r2, 0 - beq _081E1DEA - ldr r0, [r0, 0x8] - movs r3, 0x7E - negs r3, r3 - cmp r0, r3 - bge _081E1DBC - subs r0, r3, r0 - cmp r0, 0x19 - ble _081E1DB8 - movs r2, 0 - b _081E1DE8 -_081E1DB8: - lsrs r2, r0 - b _081E1DE8 -_081E1DBC: - cmp r0, 0x7F - ble _081E1DC6 -_081E1DC0: - movs r5, 0xFF - movs r2, 0 - b _081E1DEA -_081E1DC6: - adds r5, r0, 0 - adds r5, 0x7F - movs r0, 0x7F - ands r0, r2 - cmp r0, 0x40 - bne _081E1DDE - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _081E1DE0 - adds r2, 0x40 - b _081E1DE0 -_081E1DDE: - adds r2, 0x3F -_081E1DE0: - cmp r2, 0 - bge _081E1DE8 - lsrs r2, 1 - adds r5, 0x1 -_081E1DE8: - lsrs r2, 7 -_081E1DEA: - ldr r0, _081E1E0C - ands r2, r0 - ldr r0, _081E1E10 - ands r4, r0 - orrs r4, r2 - movs r0, 0xFF - ands r5, r0 - lsls r1, r5, 23 - ldr r0, _081E1E14 - ands r4, r0 - orrs r4, r1 - lsls r1, r6, 31 - ldr r0, _081E1E18 - ands r4, r0 - orrs r4, r1 - adds r0, r4, 0 - pop {r4-r6,pc} - .align 2, 0 -_081E1E0C: .4byte 0x007fffff -_081E1E10: .4byte 0xff800000 -_081E1E14: .4byte 0x807fffff -_081E1E18: .4byte 0x7fffffff - thumb_func_end __pack_f - - thumb_func_start __unpack_f -__unpack_f: @ 81E1E1C - 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 _081E1E60 - cmp r2, 0 - bne _081E1E3C - movs r0, 0x2 - str r0, [r3] - b _081E1E94 -_081E1E3C: - adds r4, r1, 0 - subs r4, 0x7E - str r4, [r3, 0x8] - lsls r2, 7 - movs r0, 0x3 - str r0, [r3] - ldr r1, _081E1E5C - cmp r2, r1 - bhi _081E1E7C - adds r0, r4, 0 -_081E1E50: - lsls r2, 1 - subs r0, 0x1 - cmp r2, r1 - bls _081E1E50 - str r0, [r3, 0x8] - b _081E1E7C - .align 2, 0 -_081E1E5C: .4byte 0x3fffffff -_081E1E60: - cmp r1, 0xFF - bne _081E1E80 - cmp r2, 0 - bne _081E1E6E - movs r0, 0x4 - str r0, [r3] - b _081E1E94 -_081E1E6E: - movs r0, 0x80 - lsls r0, 13 - ands r0, r2 - cmp r0, 0 - beq _081E1E7A - movs r0, 0x1 -_081E1E7A: - str r0, [r3] -_081E1E7C: - str r2, [r3, 0xC] - b _081E1E94 -_081E1E80: - 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] -_081E1E94: - pop {r4,pc} - thumb_func_end __unpack_f - - thumb_func_start __fpadd_parts_f -__fpadd_parts_f: @ 81E1E98 - 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 _081E1EAE - movs r0, 0x1 -_081E1EAE: - cmp r0, 0 - beq _081E1EB6 -_081E1EB2: - adds r0, r6, 0 - b _081E200C -_081E1EB6: - movs r1, 0 - ldr r0, [r7] - cmp r0, 0x1 - bhi _081E1EC0 - movs r1, 0x1 -_081E1EC0: - cmp r1, 0 - bne _081E1F34 - movs r1, 0 - cmp r2, 0x4 - bne _081E1ECC - movs r1, 0x1 -_081E1ECC: - cmp r1, 0 - beq _081E1EEC - movs r1, 0 - cmp r0, 0x4 - bne _081E1ED8 - movs r1, 0x1 -_081E1ED8: - cmp r1, 0 - beq _081E1EB2 - ldr r1, [r6, 0x4] - ldr r0, [r7, 0x4] - cmp r1, r0 - beq _081E1EB2 - ldr r0, _081E1EE8 - b _081E200C - .align 2, 0 -_081E1EE8: .4byte 0x03000f50 -_081E1EEC: - movs r1, 0 - cmp r0, 0x4 - bne _081E1EF4 - movs r1, 0x1 -_081E1EF4: - cmp r1, 0 - bne _081E1F34 - movs r1, 0 - cmp r0, 0x2 - bne _081E1F00 - movs r1, 0x1 -_081E1F00: - cmp r1, 0 - beq _081E1F26 - movs r0, 0 - cmp r2, 0x2 - bne _081E1F0C - movs r0, 0x1 -_081E1F0C: - cmp r0, 0 - beq _081E1EB2 - 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 _081E200A -_081E1F26: - movs r1, 0 - ldr r0, [r6] - cmp r0, 0x2 - bne _081E1F30 - movs r1, 0x1 -_081E1F30: - cmp r1, 0 - beq _081E1F38 -_081E1F34: - adds r0, r7, 0 - b _081E200C -_081E1F38: - ldr r1, [r6, 0x8] - ldr r3, [r7, 0x8] - ldr r2, [r6, 0xC] - ldr r4, [r7, 0xC] - subs r0, r1, r3 - cmp r0, 0 - bge _081E1F48 - negs r0, r0 -_081E1F48: - cmp r0, 0x1F - bgt _081E1F8C - ldr r6, [r6, 0x4] - ldr r7, [r7, 0x4] - mov r8, r7 - cmp r1, r3 - ble _081E1F6E - movs r7, 0x1 - mov r12, r7 - subs r3, r1, r3 -_081E1F5C: - subs r3, 0x1 - adds r0, r4, 0 - mov r7, r12 - ands r0, r7 - lsrs r4, 1 - orrs r4, r0 - cmp r3, 0 - bne _081E1F5C - adds r3, r1, 0 -_081E1F6E: - cmp r3, r1 - ble _081E1F9E - movs r0, 0x1 - mov r12, r0 - subs r1, r3, r1 -_081E1F78: - subs r1, 0x1 - adds r0, r2, 0 - mov r7, r12 - ands r0, r7 - lsrs r2, 1 - orrs r2, r0 - cmp r1, 0 - bne _081E1F78 - adds r1, r3, 0 - b _081E1F9E -_081E1F8C: - cmp r1, r3 - ble _081E1F94 - movs r4, 0 - b _081E1F98 -_081E1F94: - adds r1, r3, 0 - movs r2, 0 -_081E1F98: - ldr r6, [r6, 0x4] - ldr r7, [r7, 0x4] - mov r8, r7 -_081E1F9E: - cmp r6, r8 - beq _081E1FE8 - cmp r6, 0 - beq _081E1FAA - subs r3, r4, r2 - b _081E1FAC -_081E1FAA: - subs r3, r2, r4 -_081E1FAC: - cmp r3, 0 - blt _081E1FBA - movs r0, 0 - str r0, [r5, 0x4] - str r1, [r5, 0x8] - str r3, [r5, 0xC] - b _081E1FC4 -_081E1FBA: - movs r0, 0x1 - str r0, [r5, 0x4] - str r1, [r5, 0x8] - negs r0, r3 - str r0, [r5, 0xC] -_081E1FC4: - ldr r1, [r5, 0xC] - subs r0, r1, 0x1 - ldr r2, _081E1FE4 - cmp r0, r2 - bhi _081E1FF0 -_081E1FCE: - 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 _081E1FCE - b _081E1FF0 - .align 2, 0 -_081E1FE4: .4byte 0x3ffffffe -_081E1FE8: - str r6, [r5, 0x4] - str r1, [r5, 0x8] - adds r0, r2, r4 - str r0, [r5, 0xC] -_081E1FF0: - movs r0, 0x3 - str r0, [r5] - ldr r1, [r5, 0xC] - cmp r1, 0 - bge _081E200A - 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] -_081E200A: - adds r0, r5, 0 -_081E200C: - pop {r3} - mov r8, r3 - pop {r4-r7,pc} - thumb_func_end __fpadd_parts_f - - thumb_func_start __addsf3 -__addsf3: @ 81E2014 - 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: @ 81E2040 - 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: @ 81E2074 - 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 _081E20A6 - movs r0, 0x1 -_081E20A6: - cmp r0, 0 - bne _081E2104 - movs r2, 0 - ldr r0, [sp, 0x10] - cmp r0, 0x1 - bhi _081E20B4 - movs r2, 0x1 -_081E20B4: - cmp r2, 0 - beq _081E20BC - ldr r0, [sp, 0x4] - b _081E2124 -_081E20BC: - movs r2, 0 - cmp r1, 0x4 - bne _081E20C4 - movs r2, 0x1 -_081E20C4: - cmp r2, 0 - beq _081E20D6 - movs r1, 0 - cmp r0, 0x2 - bne _081E20D0 - movs r1, 0x1 -_081E20D0: - cmp r1, 0 - bne _081E20EE - b _081E2104 -_081E20D6: - movs r2, 0 - cmp r0, 0x4 - bne _081E20DE - movs r2, 0x1 -_081E20DE: - cmp r2, 0 - beq _081E20F8 - movs r0, 0 - cmp r1, 0x2 - bne _081E20EA - movs r0, 0x1 -_081E20EA: - cmp r0, 0 - beq _081E2122 -_081E20EE: - ldr r0, _081E20F4 - b _081E21C6 - .align 2, 0 -_081E20F4: .4byte 0x03000f50 -_081E20F8: - movs r2, 0 - cmp r1, 0x2 - bne _081E2100 - movs r2, 0x1 -_081E2100: - cmp r2, 0 - beq _081E2116 -_081E2104: - 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 _081E21C6 -_081E2116: - movs r1, 0 - cmp r0, 0x2 - bne _081E211E - movs r1, 0x1 -_081E211E: - cmp r1, 0 - beq _081E2134 -_081E2122: - ldr r0, [r7, 0x4] -_081E2124: - 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 _081E21C6 -_081E2134: - 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 _081E2180 - movs r2, 0x1 - movs r1, 0x80 - lsls r1, 24 -_081E216A: - adds r4, 0x1 - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - beq _081E2178 - lsrs r6, 1 - orrs r6, r1 -_081E2178: - lsrs r5, 1 - cmp r5, 0 - blt _081E216A - str r4, [sp, 0x28] -_081E2180: - ldr r0, _081E21D4 - cmp r5, r0 - bhi _081E21A6 - movs r4, 0x80 - lsls r4, 24 - movs r3, 0x1 - adds r2, r0, 0 - ldr r1, [sp, 0x28] -_081E2190: - subs r1, 0x1 - lsls r5, 1 - adds r0, r6, 0 - ands r0, r4 - cmp r0, 0 - beq _081E219E - orrs r5, r3 -_081E219E: - lsls r6, 1 - cmp r5, r2 - bls _081E2190 - str r1, [sp, 0x28] -_081E21A6: - movs r0, 0x7F - ands r0, r5 - cmp r0, 0x40 - bne _081E21BC - movs r0, 0x80 - ands r0, r5 - cmp r0, 0 - bne _081E21BA - cmp r6, 0 - beq _081E21BC -_081E21BA: - adds r5, 0x40 -_081E21BC: - str r5, [sp, 0x2C] - movs r0, 0x3 - mov r1, r8 - str r0, [r1] - mov r0, r9 -_081E21C6: - bl __pack_f - add sp, 0x38 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7,pc} - .align 2, 0 -_081E21D4: .4byte 0x3fffffff - thumb_func_end __mulsf3 - - thumb_func_start __divsf3 -__divsf3: @ 81E21D8 - 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 _081E21FE - movs r0, 0x1 -_081E21FE: - cmp r0, 0 - beq _081E2206 - mov r1, sp - b _081E22B8 -_081E2206: - movs r0, 0 - ldr r2, [sp, 0x10] - adds r6, r2, 0 - cmp r2, 0x1 - bhi _081E2212 - movs r0, 0x1 -_081E2212: - cmp r0, 0 - beq _081E221A - adds r1, r5, 0 - b _081E22B8 -_081E221A: - ldr r0, [sp, 0x4] - ldr r1, [sp, 0x14] - eors r0, r1 - str r0, [sp, 0x4] - movs r0, 0 - cmp r3, 0x4 - bne _081E222A - movs r0, 0x1 -_081E222A: - cmp r0, 0 - bne _081E223A - movs r0, 0 - cmp r3, 0x2 - bne _081E2236 - movs r0, 0x1 -_081E2236: - cmp r0, 0 - beq _081E224C -_081E223A: - ldr r0, [r4] - adds r1, r4, 0 - cmp r0, r6 - bne _081E22B8 - ldr r1, _081E2248 - b _081E22B8 - .align 2, 0 -_081E2248: .4byte 0x03000f50 -_081E224C: - movs r1, 0 - cmp r2, 0x4 - bne _081E2254 - movs r1, 0x1 -_081E2254: - cmp r1, 0 - beq _081E2260 - str r0, [sp, 0xC] - str r0, [sp, 0x8] - mov r1, sp - b _081E22B8 -_081E2260: - movs r0, 0 - cmp r2, 0x2 - bne _081E2268 - movs r0, 0x1 -_081E2268: - cmp r0, 0 - beq _081E2272 - movs r0, 0x4 - str r0, [r4] - b _081E22B6 -_081E2272: - 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 _081E2288 - lsls r2, 1 - subs r0, 0x1 - str r0, [r4, 0x8] -_081E2288: - movs r0, 0x80 - lsls r0, 23 - movs r1, 0 -_081E228E: - cmp r2, r3 - bcc _081E2296 - orrs r1, r0 - subs r2, r3 -_081E2296: - lsrs r0, 1 - lsls r2, 1 - cmp r0, 0 - bne _081E228E - movs r0, 0x7F - ands r0, r1 - cmp r0, 0x40 - bne _081E22B4 - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081E22B2 - cmp r2, 0 - beq _081E22B4 -_081E22B2: - adds r1, 0x40 -_081E22B4: - str r1, [r4, 0xC] -_081E22B6: - adds r1, r4, 0 -_081E22B8: - 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: @ 81E22C4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - ldr r2, [r4] - cmp r2, 0x1 - bhi _081E22D2 - movs r0, 0x1 -_081E22D2: - cmp r0, 0 - bne _081E22E4 - movs r0, 0 - ldr r3, [r1] - cmp r3, 0x1 - bhi _081E22E0 - movs r0, 0x1 -_081E22E0: - cmp r0, 0 - beq _081E22E8 -_081E22E4: - movs r0, 0x1 - b _081E23A6 -_081E22E8: - movs r0, 0 - cmp r2, 0x4 - bne _081E22F0 - movs r0, 0x1 -_081E22F0: - cmp r0, 0 - beq _081E2308 - movs r0, 0 - cmp r3, 0x4 - bne _081E22FC - movs r0, 0x1 -_081E22FC: - cmp r0, 0 - beq _081E2308 - ldr r0, [r1, 0x4] - ldr r1, [r4, 0x4] - subs r0, r1 - b _081E23A6 -_081E2308: - movs r2, 0 - ldr r0, [r4] - cmp r0, 0x4 - bne _081E2312 - movs r2, 0x1 -_081E2312: - cmp r2, 0 - bne _081E2360 - movs r2, 0 - cmp r3, 0x4 - bne _081E231E - movs r2, 0x1 -_081E231E: - cmp r2, 0 - beq _081E2330 -_081E2322: - ldr r0, [r1, 0x4] - movs r1, 0x1 - negs r1, r1 - cmp r0, 0 - beq _081E236A - movs r1, 0x1 - b _081E236A -_081E2330: - movs r2, 0 - cmp r0, 0x2 - bne _081E2338 - movs r2, 0x1 -_081E2338: - cmp r2, 0 - beq _081E2348 - movs r2, 0 - cmp r3, 0x2 - bne _081E2344 - movs r2, 0x1 -_081E2344: - cmp r2, 0 - bne _081E23A4 -_081E2348: - movs r2, 0 - cmp r0, 0x2 - bne _081E2350 - movs r2, 0x1 -_081E2350: - cmp r2, 0 - bne _081E2322 - movs r0, 0 - cmp r3, 0x2 - bne _081E235C - movs r0, 0x1 -_081E235C: - cmp r0, 0 - beq _081E236E -_081E2360: - ldr r0, [r4, 0x4] - movs r1, 0x1 - cmp r0, 0 - beq _081E236A - subs r1, 0x2 -_081E236A: - adds r0, r1, 0 - b _081E23A6 -_081E236E: - ldr r3, [r4, 0x4] - ldr r0, [r1, 0x4] - cmp r3, r0 - beq _081E2380 -_081E2376: - movs r0, 0x1 - cmp r3, 0 - beq _081E23A6 - subs r0, 0x2 - b _081E23A6 -_081E2380: - ldr r2, [r4, 0x8] - ldr r0, [r1, 0x8] - cmp r2, r0 - bgt _081E2376 - cmp r2, r0 - bge _081E2398 -_081E238C: - movs r0, 0x1 - negs r0, r0 - cmp r3, 0 - beq _081E23A6 - movs r0, 0x1 - b _081E23A6 -_081E2398: - ldr r0, [r4, 0xC] - ldr r1, [r1, 0xC] - cmp r0, r1 - bhi _081E2376 - cmp r0, r1 - bcc _081E238C -_081E23A4: - movs r0, 0 -_081E23A6: - pop {r4,pc} - thumb_func_end __fpcmp_parts_f - - thumb_func_start __cmpsf2 -__cmpsf2: @ 81E23A8 - 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: @ 81E23D0 - 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 _081E23F4 - movs r1, 0x1 -_081E23F4: - cmp r1, 0 - bne _081E2406 - movs r1, 0 - ldr r0, [sp, 0x10] - cmp r0, 0x1 - bhi _081E2402 - movs r1, 0x1 -_081E2402: - cmp r1, 0 - beq _081E240A -_081E2406: - movs r0, 0x1 - b _081E2412 -_081E240A: - mov r0, sp - adds r1, r4, 0 - bl __fpcmp_parts_f -_081E2412: - add sp, 0x28 - pop {r4,pc} - thumb_func_end __eqsf2 - - thumb_func_start __nesf2 -__nesf2: @ 81E2418 - 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 _081E243C - movs r1, 0x1 -_081E243C: - cmp r1, 0 - bne _081E244E - movs r1, 0 - ldr r0, [sp, 0x10] - cmp r0, 0x1 - bhi _081E244A - movs r1, 0x1 -_081E244A: - cmp r1, 0 - beq _081E2452 -_081E244E: - movs r0, 0x1 - b _081E245A -_081E2452: - mov r0, sp - adds r1, r4, 0 - bl __fpcmp_parts_f -_081E245A: - add sp, 0x28 - pop {r4,pc} - thumb_func_end __nesf2 - - thumb_func_start __gtsf2 -__gtsf2: @ 81E2460 - 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 _081E2484 - movs r1, 0x1 -_081E2484: - cmp r1, 0 - bne _081E2496 - movs r1, 0 - ldr r0, [sp, 0x10] - cmp r0, 0x1 - bhi _081E2492 - movs r1, 0x1 -_081E2492: - cmp r1, 0 - beq _081E249C -_081E2496: - movs r0, 0x1 - negs r0, r0 - b _081E24A4 -_081E249C: - mov r0, sp - adds r1, r4, 0 - bl __fpcmp_parts_f -_081E24A4: - add sp, 0x28 - pop {r4,pc} - thumb_func_end __gtsf2 - - thumb_func_start __gesf2 -__gesf2: @ 81E24A8 - 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 _081E24CC - movs r1, 0x1 -_081E24CC: - cmp r1, 0 - bne _081E24DE - movs r1, 0 - ldr r0, [sp, 0x10] - cmp r0, 0x1 - bhi _081E24DA - movs r1, 0x1 -_081E24DA: - cmp r1, 0 - beq _081E24E4 -_081E24DE: - movs r0, 0x1 - negs r0, r0 - b _081E24EC -_081E24E4: - mov r0, sp - adds r1, r4, 0 - bl __fpcmp_parts_f -_081E24EC: - add sp, 0x28 - pop {r4,pc} - thumb_func_end __gesf2 - - thumb_func_start __ltsf2 -__ltsf2: @ 81E24F0 - 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 _081E2514 - movs r1, 0x1 -_081E2514: - cmp r1, 0 - bne _081E2526 - movs r1, 0 - ldr r0, [sp, 0x10] - cmp r0, 0x1 - bhi _081E2522 - movs r1, 0x1 -_081E2522: - cmp r1, 0 - beq _081E252A -_081E2526: - movs r0, 0x1 - b _081E2532 -_081E252A: - mov r0, sp - adds r1, r4, 0 - bl __fpcmp_parts_f -_081E2532: - add sp, 0x28 - pop {r4,pc} - thumb_func_end __ltsf2 - - thumb_func_start __lesf2 -__lesf2: @ 81E2538 - 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 _081E255C - movs r1, 0x1 -_081E255C: - cmp r1, 0 - bne _081E256E - movs r1, 0 - ldr r0, [sp, 0x10] - cmp r0, 0x1 - bhi _081E256A - movs r1, 0x1 -_081E256A: - cmp r1, 0 - beq _081E2572 -_081E256E: - movs r0, 0x1 - b _081E257A -_081E2572: - mov r0, sp - adds r1, r4, 0 - bl __fpcmp_parts_f -_081E257A: - add sp, 0x28 - pop {r4,pc} - thumb_func_end __lesf2 - - thumb_func_start __floatsisf -__floatsisf: @ 81E2580 - 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 _081E2598 - movs r0, 0x2 - str r0, [sp] - b _081E25D0 -_081E2598: - movs r0, 0x1E - str r0, [sp, 0x8] - cmp r2, 0 - beq _081E25B6 - movs r0, 0x80 - lsls r0, 24 - cmp r1, r0 - bne _081E25B0 - ldr r0, _081E25AC - b _081E25D6 - .align 2, 0 -_081E25AC: .4byte 0xcf000000 -_081E25B0: - negs r0, r1 - str r0, [sp, 0xC] - b _081E25B8 -_081E25B6: - str r1, [sp, 0xC] -_081E25B8: - ldr r2, [sp, 0xC] - ldr r3, _081E25DC - cmp r2, r3 - bhi _081E25D0 - ldr r1, [sp, 0x8] -_081E25C2: - lsls r0, r2, 1 - subs r1, 0x1 - adds r2, r0, 0 - cmp r0, r3 - bls _081E25C2 - str r1, [sp, 0x8] - str r0, [sp, 0xC] -_081E25D0: - mov r0, sp - bl __pack_f -_081E25D6: - add sp, 0x10 - pop {pc} - .align 2, 0 -_081E25DC: .4byte 0x3fffffff - thumb_func_end __floatsisf - - thumb_func_start __fixsfsi -__fixsfsi: @ 81E25E0 - 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 _081E25F8 - movs r1, 0x1 -_081E25F8: - cmp r1, 0 - bne _081E262A - movs r1, 0 - cmp r0, 0x1 - bhi _081E2604 - movs r1, 0x1 -_081E2604: - cmp r1, 0 - bne _081E262A - movs r1, 0 - cmp r0, 0x4 - bne _081E2610 - movs r1, 0x1 -_081E2610: - cmp r1, 0 - beq _081E2624 -_081E2614: - ldr r0, [sp, 0x4] - ldr r1, _081E2620 - cmp r0, 0 - beq _081E2642 - adds r1, 0x1 - b _081E2642 - .align 2, 0 -_081E2620: .4byte 0x7fffffff -_081E2624: - ldr r1, [sp, 0x8] - cmp r1, 0 - bge _081E262E -_081E262A: - movs r0, 0 - b _081E2644 -_081E262E: - cmp r1, 0x1E - bgt _081E2614 - movs r0, 0x1E - subs r0, r1 - ldr r1, [sp, 0xC] - lsrs r1, r0 - ldr r0, [sp, 0x4] - cmp r0, 0 - beq _081E2642 - negs r1, r1 -_081E2642: - adds r0, r1, 0 -_081E2644: - add sp, 0x14 - pop {pc} - thumb_func_end __fixsfsi - - thumb_func_start __negsf2 -__negsf2: @ 81E2648 - 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 _081E2660 - movs r1, 0x1 -_081E2660: - 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: @ 81E266C - 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: @ 81E2684 - 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: @ 81E26B0 - push {r4-r6,lr} - adds r6, r1, 0 - adds r5, r0, 0 - cmp r2, 0 - beq _081E26E0 - movs r0, 0x20 - subs r0, r2 - cmp r0, 0 - bgt _081E26CC - movs r4, 0 - negs r0, r0 - adds r3, r6, 0 - lsrs r3, r0 - b _081E26DC -_081E26CC: - 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 -_081E26DC: - adds r1, r4, 0 - adds r0, r3, 0 -_081E26E0: - pop {r4-r6,pc} - thumb_func_end __lshrdi3 - - thumb_func_start __negdi2 -__negdi2: @ 81E26E4 - push {r4,lr} - negs r2, r0 - adds r3, r2, 0 - negs r1, r1 - cmp r2, 0 - beq _081E26F2 - subs r1, 0x1 -_081E26F2: - adds r4, r1, 0 - adds r1, r4, 0 - adds r0, r3, 0 - pop {r4,pc} - thumb_func_end __negdi2 - - thumb_func_start memcpy -@ void *memcpy(void *dest, void *src, int size) -memcpy: @ 81E26FC - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r3, r1, 0 - cmp r2, 0xF - bls _081E273C - adds r0, r3, 0 - orrs r0, r5 - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081E273C - adds r1, r5, 0 -_081E2716: - 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 _081E2716 - cmp r2, 0x3 - bls _081E273A -_081E2730: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x4 - cmp r2, 0x3 - bhi _081E2730 -_081E273A: - adds r4, r1, 0 -_081E273C: - subs r2, 0x1 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _081E2756 - adds r1, r0, 0 -_081E2748: - ldrb r0, [r3] - strb r0, [r4] - adds r3, 0x1 - adds r4, 0x1 - subs r2, 0x1 - cmp r2, r1 - bne _081E2748 -_081E2756: - adds r0, r5, 0 - pop {r4,r5,pc} - thumb_func_end memcpy - - thumb_func_start memset -@ void *memset(void *dest, char c, int size) -memset: @ 81E275C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r3, r5, 0 - cmp r2, 0x3 - bls _081E27A2 - movs r0, 0x3 - ands r0, r5 - cmp r0, 0 - bne _081E27A2 - 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 _081E2796 -_081E2782: - stm r1!, {r3} - stm r1!, {r3} - stm r1!, {r3} - stm r1!, {r3} - subs r2, 0x10 - cmp r2, 0xF - bhi _081E2782 - b _081E2796 -_081E2792: - stm r1!, {r3} - subs r2, 0x4 -_081E2796: - cmp r2, 0x3 - bhi _081E2792 - adds r3, r1, 0 - b _081E27A2 -_081E279E: - strb r4, [r3] - adds r3, 0x1 -_081E27A2: - adds r0, r2, 0 - subs r2, 0x1 - cmp r0, 0 - bne _081E279E - adds r0, r5, 0 - pop {r4,r5,pc} - thumb_func_end memset - - thumb_func_start strcmp -@ int strcmp(char *s1, char *s2) -strcmp: @ 81E27B0 - 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 _081E27F6 - ldr r1, [r2] - ldr r0, [r3] - cmp r1, r0 - bne _081E27F6 - ldr r5, _081E27DC - ldr r4, _081E27E0 -_081E27CC: - ldr r1, [r2] - adds r0, r1, r5 - bics r0, r1 - ands r0, r4 - cmp r0, 0 - beq _081E27E4 - movs r0, 0 - b _081E2808 - .align 2, 0 -_081E27DC: .4byte 0xfefefeff -_081E27E0: .4byte 0x80808080 -_081E27E4: - adds r2, 0x4 - adds r3, 0x4 - ldr r1, [r2] - ldr r0, [r3] - cmp r1, r0 - beq _081E27CC - b _081E27F6 -_081E27F2: - adds r2, 0x1 - adds r3, 0x1 -_081E27F6: - ldrb r0, [r2] - cmp r0, 0 - beq _081E2802 - ldrb r1, [r3] - cmp r0, r1 - beq _081E27F2 -_081E2802: - ldrb r2, [r2] - ldrb r3, [r3] - subs r0, r2, r3 -_081E2808: - pop {r4,r5,pc} - thumb_func_end strcmp - - .align 2, 0 @ Don't pad with nop. |