diff options
Diffstat (limited to 'asm/code_80A26CC.s')
-rw-r--r-- | asm/code_80A26CC.s | 14182 |
1 files changed, 0 insertions, 14182 deletions
diff --git a/asm/code_80A26CC.s b/asm/code_80A26CC.s index 83be054..4492890 100644 --- a/asm/code_80A26CC.s +++ b/asm/code_80A26CC.s @@ -10773,14186 +10773,4 @@ _080A770A: bx r0 thumb_func_end sub_80A7688 - thumb_func_start sub_80A7714 -sub_80A7714: - push {lr} - bl sub_80A68A0 - pop {r0} - bx r0 - thumb_func_end sub_80A7714 - - thumb_func_start sub_80A7720 -sub_80A7720: - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - movs r1, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_80A7094 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - adds r3, r6, 0 - bl sub_80A7310 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A7720 - - thumb_func_start sub_80A7744 -sub_80A7744: - ldr r1, _080A7750 - movs r2, 0x1 - negs r2, r2 - adds r0, r2, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_080A7750: .4byte gUnknown_2039DE0 - thumb_func_end sub_80A7744 - - thumb_func_start sub_80A7754 -sub_80A7754: - ldr r1, _080A7760 - movs r2, 0x1 - negs r2, r2 - adds r0, r2, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_080A7760: .4byte gUnknown_2039DE0 - thumb_func_end sub_80A7754 - - thumb_func_start sub_80A7764 -sub_80A7764: - push {r4,lr} - lsls r0, 16 - asrs r4, r0, 16 - bl sub_80A7784 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _080A777A - ldr r0, _080A7780 - strh r4, [r0] -_080A777A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7780: .4byte gUnknown_2039DE0 - thumb_func_end sub_80A7764 - - thumb_func_start sub_80A7784 -sub_80A7784: - push {lr} - ldr r2, _080A779C - movs r1, 0 - ldrsh r0, [r2, r1] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _080A7796 - strh r1, [r2] -_080A7796: - pop {r0} - bx r0 - .align 2, 0 -_080A779C: .4byte gUnknown_2039DE0 - thumb_func_end sub_80A7784 - - thumb_func_start sub_80A77A0 -sub_80A77A0: - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - adds r2, r1, 0 - ldr r0, _080A77BC - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, r1 - beq _080A77CA - cmp r1, 0 - bge _080A77C0 - bl sub_80A7784 - b _080A77C6 - .align 2, 0 -_080A77BC: .4byte gUnknown_2039DE0 -_080A77C0: - adds r0, r2, 0 - bl sub_80A7764 -_080A77C6: - movs r0, 0x1 - b _080A77CC -_080A77CA: - movs r0, 0 -_080A77CC: - pop {r1} - bx r1 - thumb_func_end sub_80A77A0 - - thumb_func_start sub_80A77D0 -sub_80A77D0: - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A77E8 - ldr r0, _080A77E4 - b _080A77F0 - .align 2, 0 -_080A77E4: .4byte gUnknown_8117EFC -_080A77E8: - ldr r0, _080A77F4 - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] -_080A77F0: - pop {r1} - bx r1 - .align 2, 0 -_080A77F4: .4byte gUnknown_811E258 - thumb_func_end sub_80A77D0 - - thumb_func_start sub_80A77F8 -sub_80A77F8: - push {r4,r5,lr} - ldr r4, _080A7860 - movs r0, 0xCE - lsls r0, 2 - movs r1, 0x6 - bl MemoryAlloc - str r0, [r4] - ldr r4, _080A7864 - movs r0, 0xBA - lsls r0, 6 - movs r1, 0x6 - bl MemoryAlloc - str r0, [r4] - adds r1, r0, 0 - ldr r0, _080A7868 - adds r5, r0, 0 - movs r4, 0xF8 - lsls r4, 1 - movs r2, 0x80 - lsls r2, 9 - adds r3, r2, 0 -_080A7826: - ldrh r0, [r1, 0x2] - orrs r0, r5 - strh r0, [r1, 0x2] - adds r0, r2, 0 - adds r2, r3 - asrs r0, 16 - adds r1, r4 - cmp r0, 0x17 - ble _080A7826 - ldr r4, _080A7860 - ldr r1, [r4] - movs r0, 0xCB - lsls r0, 2 - adds r1, r0 - movs r0, 0 - movs r2, 0x19 - bl sub_809D710 - ldr r0, [r4] - movs r1, 0xCC - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0] - bl sub_80A786C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7860: .4byte gUnknown_3001B80 -_080A7864: .4byte gUnknown_3001B84 -_080A7868: .4byte 0x0000ffff - thumb_func_end sub_80A77F8 - - thumb_func_start sub_80A786C -sub_80A786C: - push {r4-r6,lr} - ldr r0, _080A78E8 - ldr r4, [r0] - movs r1, 0 - movs r6, 0x1 - negs r6, r6 - movs r5, 0x80 - lsls r5, 9 -_080A787C: - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, r6 - beq _080A788A - adds r0, r1, 0 - bl GroundLives_Delete -_080A788A: - adds r0, r5, 0 - movs r1, 0x80 - lsls r1, 9 - adds r5, r1 - asrs r1, r0, 16 - movs r2, 0xF8 - lsls r2, 1 - adds r4, r2 - cmp r1, 0x17 - ble _080A787C - ldr r3, _080A78EC - ldr r0, [r3] - movs r2, 0x1 - negs r2, r2 - str r2, [r0, 0x24] - adds r0, 0x28 - movs r1, 0xFF - strb r1, [r0] - movs r5, 0 - movs r4, 0 - movs r1, 0x2 -_080A78B4: - ldr r0, [r3] - adds r0, r4 - str r2, [r0, 0x8] - str r5, [r0] - str r5, [r0, 0x4] - adds r4, 0xC - subs r1, 0x1 - cmp r1, 0 - bge _080A78B4 - ldr r4, _080A78EC - movs r2, 0 - movs r3, 0x2C - movs r1, 0x3F -_080A78CE: - ldr r0, [r4] - adds r0, r3 - str r2, [r0] - str r2, [r0, 0x4] - str r2, [r0, 0x8] - adds r3, 0xC - subs r1, 0x1 - cmp r1, 0 - bge _080A78CE - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A78E8: .4byte gUnknown_3001B84 -_080A78EC: .4byte gUnknown_3001B80 - thumb_func_end sub_80A786C - - thumb_func_start sub_80A78F0 -sub_80A78F0: - push {r4,r5,lr} - bl sub_80A786C - ldr r4, _080A7914 - ldr r0, [r4] - bl MemoryFree - movs r5, 0 - str r5, [r4] - ldr r4, _080A7918 - ldr r0, [r4] - bl MemoryFree - str r5, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7914: .4byte gUnknown_3001B84 -_080A7918: .4byte gUnknown_3001B80 - thumb_func_end sub_80A78F0 - - thumb_func_start GroundLives_Select -GroundLives_Select: - push {r4-r7,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r7, r1, 16 - lsls r2, 24 - asrs r6, r2, 24 - ldr r1, _080A7980 - adds r0, r4, 0 - bl sub_80A77D0 - adds r5, r0, 0 - ldr r1, _080A7984 - str r6, [sp] - movs r0, 0 - adds r2, r4, 0 - adds r3, r7, 0 - bl Log - lsls r1, r7, 3 - ldr r0, [r5, 0x4] - adds r0, r1 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - ldr r0, [r0, 0x4] - adds r0, r1 - ldr r5, [r0, 0x4] - ldr r0, [r0] - cmp r0, 0 - ble _080A7976 - adds r4, r0, 0 -_080A7960: - movs r0, 0x1 - negs r0, r0 - adds r1, r5, 0 - adds r2, r7, 0 - adds r3, r6, 0 - bl GroundLives_Add - subs r4, 0x1 - adds r5, 0x18 - cmp r4, 0 - bne _080A7960 -_080A7976: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A7980: .4byte gUnknown_811808C -_080A7984: .4byte gUnknown_8118098 - thumb_func_end GroundLives_Select - - thumb_func_start GroundLives_Cancel -GroundLives_Cancel: - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 24 - asrs r5, r1, 24 - ldr r1, _080A79F4 - movs r0, 0 - adds r2, r7, 0 - adds r3, r5, 0 - bl Log - movs r1, 0 - ldr r0, _080A79F8 - ldr r4, [r0] - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r6, 0x80 - lsls r6, 9 -_080A79B2: - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, r8 - beq _080A79D4 - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r0, r7 - bne _080A79D4 - cmp r5, 0 - blt _080A79CE - movs r0, 0x6 - ldrsb r0, [r4, r0] - cmp r0, r5 - bne _080A79D4 -_080A79CE: - adds r0, r1, 0 - bl GroundLives_Delete -_080A79D4: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r1, r0, 16 - movs r2, 0xF8 - lsls r2, 1 - adds r4, r2 - cmp r1, 0x17 - ble _080A79B2 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A79F4: .4byte gUnknown_81180BC -_080A79F8: .4byte gUnknown_3001B84 - thumb_func_end GroundLives_Cancel - - thumb_func_start sub_80A79FC -sub_80A79FC: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r1, _080A7A70 - movs r0, 0 - bl Log - movs r6, 0 - ldr r0, _080A7A74 - ldr r4, [r0] - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r1, 0xA2 - lsls r1, 1 - adds r5, r4, r1 - mov r7, sp -_080A7A20: - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, r8 - beq _080A7A50 - ldr r0, [r5] - ldr r1, [r4, 0x14] - adds r0, r1 - str r0, [sp] - ldr r0, [r5, 0x4] - ldr r1, [r4, 0x18] - adds r0, r1 - str r0, [r7, 0x4] - movs r1, 0xB8 - lsls r1, 1 - adds r0, r4, r1 - mov r1, sp - bl sub_80A675C - lsls r0, 24 - cmp r0, 0 - bne _080A7A50 - adds r0, r6, 0 - bl GroundLives_Delete -_080A7A50: - adds r0, r6, 0x1 - lsls r0, 16 - asrs r6, r0, 16 - movs r0, 0xF8 - lsls r0, 1 - adds r5, r0 - adds r4, r0 - cmp r6, 0x17 - ble _080A7A20 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A7A70: .4byte gUnknown_81180D8 -_080A7A74: .4byte gUnknown_3001B84 - thumb_func_end sub_80A79FC - - thumb_func_start sub_80A7A78 -sub_80A7A78: - push {r4-r7,lr} - ldr r1, _080A7AC0 - movs r0, 0 - bl Log - movs r6, 0 - ldr r0, _080A7AC4 - ldr r4, [r0] - movs r7, 0x1 - negs r7, r7 - movs r0, 0x9F - lsls r0, 1 - adds r5, r4, r0 -_080A7A92: - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, r7 - beq _080A7ACC - movs r1, 0x8E - lsls r1, 1 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 4 - ands r0, r1 - cmp r0, 0 - beq _080A7AC8 - movs r0, 0xA2 - lsls r0, 1 - adds r1, r4, r0 - adds r0, 0x8 - adds r2, r4, r0 - movs r0, 0x20 - bl sub_80ADCA0 - b _080A7ACA - .align 2, 0 -_080A7AC0: .4byte gUnknown_81180D8 -_080A7AC4: .4byte gUnknown_3001B84 -_080A7AC8: - ldr r0, _080A7AE4 -_080A7ACA: - strh r0, [r5] -_080A7ACC: - adds r0, r6, 0x1 - lsls r0, 16 - asrs r6, r0, 16 - movs r1, 0xF8 - lsls r1, 1 - adds r5, r1 - adds r4, r1 - cmp r6, 0x17 - ble _080A7A92 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A7AE4: .4byte 0x0000ffff - thumb_func_end sub_80A7A78 - - thumb_func_start sub_80A7AE8 -sub_80A7AE8: - push {r4-r7,lr} - sub sp, 0x4 - mov r1, sp - strh r0, [r1] - mov r0, sp - bl sub_80A7B94 - mov r0, sp - movs r1, 0 - ldrsh r2, [r0, r1] - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _080A7B34 - movs r3, 0 - ldr r0, _080A7B24 - ldr r1, [r0] - adds r4, r2, 0 - movs r2, 0x80 - lsls r2, 9 - adds r6, r2, 0 - movs r5, 0xF8 - lsls r5, 1 -_080A7B16: - movs r7, 0x2 - ldrsh r0, [r1, r7] - cmp r0, r4 - bne _080A7B28 - adds r0, r3, 0 - b _080A7B38 - .align 2, 0 -_080A7B24: .4byte gUnknown_3001B84 -_080A7B28: - adds r0, r2, 0 - adds r2, r6 - asrs r3, r0, 16 - adds r1, r5 - cmp r3, 0x17 - ble _080A7B16 -_080A7B34: - movs r0, 0x1 - negs r0, r0 -_080A7B38: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A7AE8 - - thumb_func_start sub_80A7B40 -sub_80A7B40: - push {r4-r7,lr} - lsls r0, 16 - asrs r4, r0, 16 - movs r3, 0 - ldr r0, _080A7B70 - ldr r1, [r0] - movs r6, 0x1 - negs r6, r6 - movs r2, 0x80 - lsls r2, 9 - movs r5, 0x9E - lsls r5, 1 -_080A7B58: - movs r7, 0x2 - ldrsh r0, [r1, r7] - cmp r0, r6 - beq _080A7B74 - adds r0, r1, r5 - movs r7, 0 - ldrsh r0, [r0, r7] - cmp r0, r4 - bne _080A7B74 - adds r0, r3, 0 - b _080A7B8C - .align 2, 0 -_080A7B70: .4byte gUnknown_3001B84 -_080A7B74: - adds r0, r2, 0 - movs r3, 0x80 - lsls r3, 9 - adds r2, r3 - asrs r3, r0, 16 - movs r7, 0xF8 - lsls r7, 1 - adds r1, r7 - cmp r3, 0x17 - ble _080A7B58 - movs r0, 0x1 - negs r0, r0 -_080A7B8C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A7B40 - - thumb_func_start sub_80A7B94 -sub_80A7B94: - push {r4-r7,lr} - sub sp, 0x10 - adds r7, r0, 0 - movs r0, 0 - ldrsh r2, [r7, r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _080A7BD4 - adds r0, r1 - movs r6, 0x1 - negs r6, r6 - movs r1, 0 - ldrsh r5, [r0, r1] - cmp r5, 0x1 - bne _080A7C14 - adds r0, r2, 0 - cmp r0, 0 - bne _080A7C10 - movs r0, 0 - movs r1, 0x1C - bl sub_8001658 - adds r4, r0, 0 - cmp r4, 0x1 - beq _080A7BDE - cmp r4, 0x1 - bgt _080A7BD8 - cmp r4, 0 - beq _080A7BF2 - b _080A7C08 - .align 2, 0 -_080A7BD4: .4byte gUnknown_811E63C -_080A7BD8: - cmp r4, 0x2 - beq _080A7BE4 - b _080A7C08 -_080A7BDE: - movs r0, 0x2 - strh r0, [r7] - b _080A7C10 -_080A7BE4: - bl sub_808D33C - adds r6, r0, 0 - bl sub_808D3BC - cmp r0, r6 - bne _080A7BF6 -_080A7BF2: - strh r5, [r7] - b _080A7C10 -_080A7BF6: - bl sub_808D3F8 - cmp r0, r6 - bne _080A7C02 - strh r4, [r7] - b _080A7C10 -_080A7C02: - movs r0, 0x3 - strh r0, [r7] - b _080A7C10 -_080A7C08: - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - b _080A7DAC -_080A7C10: - movs r6, 0 - b _080A7DD2 -_080A7C14: - cmp r5, 0x2 - bne _080A7CD2 - movs r0, 0 - movs r1, 0x1D - bl sub_8001658 - adds r4, r0, 0 - movs r0, 0 - movs r1, 0x1E - bl sub_8001658 - adds r2, r0, 0 - ldrh r1, [r7] - subs r0, r1, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _080A7C82 - cmp r1, 0x4 - bne _080A7C44 - adds r0, r4, 0 - cmp r0, 0 - bne _080A7C4C - b _080A7C4A -_080A7C44: - movs r0, 0 - cmp r4, 0 - beq _080A7C4C -_080A7C4A: - adds r0, r2, 0 -_080A7C4C: - cmp r0, 0x2 - beq _080A7C7A - cmp r0, 0x2 - bhi _080A7C5A - cmp r0, 0x1 - beq _080A7C6E - b _080A7DA6 -_080A7C5A: - cmp r0, 0x3 - beq _080A7C60 - b _080A7DA6 -_080A7C60: - bl sub_808D33C - adds r4, r0, 0 - bl sub_808D3BC - cmp r0, r4 - bne _080A7C72 -_080A7C6E: - movs r0, 0x6 - b _080A7C80 -_080A7C72: - bl sub_808D3F8 - cmp r0, r4 - bne _080A7C7E -_080A7C7A: - movs r0, 0x7 - b _080A7C80 -_080A7C7E: - movs r0, 0x8 -_080A7C80: - strh r0, [r7] -_080A7C82: - movs r0, 0 - ldrsh r5, [r7, r0] - cmp r5, 0x7 - beq _080A7CB0 - cmp r5, 0x7 - bgt _080A7C94 - cmp r5, 0x6 - beq _080A7C9A - b _080A7CCA -_080A7C94: - cmp r5, 0x8 - beq _080A7CC6 - b _080A7CCA -_080A7C9A: - movs r6, 0x2 - bl sub_808D33C - adds r4, r0, 0 - bl sub_808D3BC - cmp r4, r0 - beq _080A7CAC - b _080A7DD2 -_080A7CAC: - strh r5, [r7] - b _080A7DD2 -_080A7CB0: - movs r6, 0x1 - bl sub_808D33C - adds r4, r0, 0 - bl sub_808D3F8 - cmp r4, r0 - beq _080A7CC2 - b _080A7DD2 -_080A7CC2: - movs r0, 0x6 - b _080A7DD0 -_080A7CC6: - movs r6, 0x2 - b _080A7DD2 -_080A7CCA: - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - b _080A7DAC -_080A7CD2: - cmp r5, 0x3 - bne _080A7DB0 - ldrh r1, [r7] - adds r0, r1, 0 - subs r0, 0xA - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bhi _080A7D12 - adds r4, r2, 0 - subs r4, 0xA - bl sub_8098F88 - lsls r0, 24 - cmp r0, 0 - bne _080A7DD2 - movs r0, 0x9 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _080A7D06 - mov r0, sp - bl sub_808D6A4 - b _080A7D0C -_080A7D06: - mov r0, sp - bl sub_808D654 -_080A7D0C: - cmp r4, r0 - bge _080A7DA6 - b _080A7D7E -_080A7D12: - adds r0, r1, 0 - subs r0, 0xE - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF - bhi _080A7DA6 - movs r0, 0 - movs r1, 0x10 - bl sub_8001658 - lsls r0, 16 - asrs r0, 16 - bl sub_8002658 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080A7DA6 - movs r2, 0 - ldrsh r0, [r7, r2] - adds r4, r0, 0 - subs r4, 0xE - adds r0, r1, 0 - mov r1, sp - movs r2, 0 - movs r3, 0 - bl sub_8092638 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r4, r0 - bge _080A7DA6 - ldr r2, _080A7D84 - ldr r0, [sp, 0x8] - adds r0, r4 - movs r1, 0x58 - muls r1, r0 - ldr r0, [r2] - adds r4, r0, r1 - movs r0, 0x9 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _080A7D88 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A7DA6 - ldrb r0, [r4, 0x2] - cmp r0, 0 - bne _080A7DA6 -_080A7D7E: - movs r0, 0x1 - negs r0, r0 - b _080A7DD4 - .align 2, 0 -_080A7D84: .4byte gUnknown_203B45C -_080A7D88: - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A7DA6 - ldrb r0, [r4, 0x2] - cmp r0, 0 - bne _080A7DA6 - movs r1, 0 - ldrb r0, [r4, 0x4] - cmp r0, 0x41 - bne _080A7DA2 - movs r1, 0x1 -_080A7DA2: - cmp r1, 0 - beq _080A7D7E -_080A7DA6: - movs r2, 0x1 - negs r2, r2 - adds r0, r2, 0 -_080A7DAC: - strh r0, [r7] - b _080A7D7E -_080A7DB0: - cmp r2, 0x23 - bne _080A7DD2 - bl sub_808D33C - adds r4, r0, 0 - bl sub_808D3BC - cmp r0, r4 - bne _080A7DC6 - movs r0, 0x21 - b _080A7DD0 -_080A7DC6: - bl sub_808D3F8 - cmp r0, r4 - bne _080A7DD2 - movs r0, 0x22 -_080A7DD0: - strh r0, [r7] -_080A7DD2: - adds r0, r6, 0 -_080A7DD4: - add sp, 0x10 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A7B94 - - thumb_func_start sub_80A7DDC -sub_80A7DDC: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x24 - adds r7, r0, 0 - adds r5, r1, 0 - bl sub_80A7B94 - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - movs r0, 0 - strh r0, [r5] - ldrh r3, [r7] - movs r1, 0 - ldrsh r0, [r7, r1] - movs r6, 0x1 - negs r6, r6 - cmp r0, r6 - bne _080A7E0A -_080A7E04: - movs r0, 0x1 - negs r0, r0 - b _080A8098 -_080A7E0A: - movs r0, 0 - ldrsh r2, [r7, r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _080A7E50 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - beq _080A7E22 - b _080A7F38 -_080A7E22: - adds r0, r3, 0 - subs r0, 0xA - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bhi _080A7E90 - adds r4, r2, 0 - subs r4, 0xA - bl sub_8098F88 - lsls r0, 24 - cmp r0, 0 - beq _080A7E58 - ldr r0, _080A7E54 - lsls r1, r4, 1 - adds r1, r0 - ldrh r0, [r1] - strh r0, [r5] - cmp r0, 0 - bne _080A7E04 - strh r6, [r7] - b _080A7E04 - .align 2, 0 -_080A7E50: .4byte gUnknown_811E63C -_080A7E54: .4byte gUnknown_81180F0 -_080A7E58: - movs r0, 0x9 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _080A7E6C - mov r0, sp - bl sub_808D6A4 - b _080A7E72 -_080A7E6C: - mov r0, sp - bl sub_808D654 -_080A7E72: - cmp r4, r0 - blt _080A7E78 - b _080A8080 -_080A7E78: - ldr r2, _080A7E8C - lsls r0, r4, 2 - add r0, sp - ldr r1, [r0] - movs r0, 0x58 - muls r1, r0 - ldr r0, [r2] - adds r0, r1 - ldrh r0, [r0, 0x8] - b _080A800A - .align 2, 0 -_080A7E8C: .4byte gUnknown_203B45C -_080A7E90: - adds r0, r3, 0 - subs r0, 0xE - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF - bls _080A7E9E - b _080A8080 -_080A7E9E: - movs r0, 0 - movs r1, 0x10 - bl sub_8001658 - lsls r0, 16 - asrs r0, 16 - bl sub_8002658 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080A7EB8 - b _080A8080 -_080A7EB8: - movs r2, 0 - ldrsh r0, [r7, r2] - adds r4, r0, 0 - subs r4, 0xE - adds r0, r1, 0 - mov r1, sp - movs r2, 0 - movs r3, 0 - bl sub_8092638 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r4, r0 - blt _080A7ED8 - b _080A8080 -_080A7ED8: - ldr r2, _080A7F0C - ldr r0, [sp, 0x8] - adds r0, r4 - movs r1, 0x58 - muls r1, r0 - ldr r0, [r2] - adds r4, r0, r1 - movs r0, 0x9 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _080A7F10 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A7EFE - b _080A8080 -_080A7EFE: - ldrb r0, [r4, 0x2] - cmp r0, 0 - beq _080A7F06 - b _080A8080 -_080A7F06: - ldrh r0, [r4, 0x8] - b _080A800A - .align 2, 0 -_080A7F0C: .4byte gUnknown_203B45C -_080A7F10: - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A7F1C - b _080A8080 -_080A7F1C: - ldrb r0, [r4, 0x2] - cmp r0, 0 - beq _080A7F24 - b _080A8080 -_080A7F24: - movs r1, 0 - ldrb r0, [r4, 0x4] - cmp r0, 0x41 - bne _080A7F2E - movs r1, 0x1 -_080A7F2E: - cmp r1, 0 - beq _080A7F34 - b _080A8080 -_080A7F34: - ldrh r0, [r4, 0x8] - b _080A800A -_080A7F38: - subs r0, r3, 0x1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x23 - bls _080A7F44 - b _080A808A -_080A7F44: - lsls r0, 2 - ldr r1, _080A7F50 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A7F50: .4byte _080A7F54 - .align 2, 0 -_080A7F54: - .4byte _080A7FE4 - .4byte _080A7FEC - .4byte _080A7FF4 - .4byte _080A808A - .4byte _080A808A - .4byte _080A7FE4 - .4byte _080A7FEC - .4byte _080A7FF4 - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A808A - .4byte _080A8032 - .4byte _080A8032 - .4byte _080A8014 - .4byte _080A7FE4 - .4byte _080A7FEC - .4byte _080A7FF4 - .4byte _080A7FFC -_080A7FE4: - bl sub_808D3BC - ldrh r0, [r0, 0x8] - b _080A8094 -_080A7FEC: - bl sub_808D3F8 - ldrh r0, [r0, 0x8] - b _080A8094 -_080A7FF4: - bl sub_808D33C - ldrh r0, [r0, 0x8] - b _080A8094 -_080A7FFC: - movs r0, 0xF - bl RandomCapped - ldr r1, _080A8010 - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] -_080A800A: - strh r0, [r5] - b _080A7E04 - .align 2, 0 -_080A8010: .4byte gUnknown_81180FC -_080A8014: - movs r0, 0 - movs r1, 0x1F - bl sub_8001658 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - beq _080A8028 - strh r0, [r5] - b _080A7E04 -_080A8028: - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - strh r0, [r7] - b _080A7E04 -_080A8032: - movs r0, 0x89 - strh r0, [r5] - add r6, sp, 0x10 - adds r0, r6, 0 - bl sub_8099328 - lsls r0, 24 - cmp r0, 0 - bne _080A8046 - b _080A7E04 -_080A8046: - add r1, sp, 0x14 - add r2, sp, 0x18 - movs r0, 0x2 - bl sub_8001B88 - add r4, sp, 0x1C - ldr r1, [sp, 0x18] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r6] - adds r0, r4, 0 - bl sub_8096AF8 - ldrb r0, [r4] - cmp r0, 0 - beq _080A8076 - movs r2, 0 - ldrsh r0, [r7, r2] - cmp r0, 0x1E - bne _080A8072 - ldrh r0, [r4, 0x2] - b _080A8074 -_080A8072: - ldrh r0, [r4, 0x4] -_080A8074: - strh r0, [r5] -_080A8076: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080A8080 - b _080A7E04 -_080A8080: - movs r2, 0x1 - negs r2, r2 - adds r0, r2, 0 - strh r0, [r7] - b _080A7E04 -_080A808A: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080A8096 - ldrh r0, [r4, 0x2] -_080A8094: - strh r0, [r5] -_080A8096: - mov r0, r8 -_080A8098: - add sp, 0x24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A7DDC - - thumb_func_start GroundLives_Add -GroundLives_Add: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - str r1, [sp, 0x10] - lsls r0, 16 - asrs r6, r0, 16 - lsls r2, 16 - asrs r2, 16 - str r2, [sp, 0x14] - lsls r3, 24 - asrs r3, 24 - str r3, [sp, 0x18] - ldrb r1, [r1] - add r0, sp, 0xC - strh r1, [r0] - movs r0, 0 - mov r8, r0 - mov r4, sp - adds r4, 0xE - add r0, sp, 0xC - adds r1, r4, 0 - bl sub_80A7DDC - lsls r0, 16 - asrs r7, r0, 16 - add r0, sp, 0xC - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0x1 - negs r0, r0 - mov r9, r4 - cmp r1, r0 - beq _080A81AE - cmp r7, 0x1 - beq _080A8104 - cmp r7, 0x1 - bgt _080A80FA - cmp r7, 0 - beq _080A8100 - b _080A8118 -_080A80FA: - cmp r7, 0x2 - beq _080A8108 - b _080A8118 -_080A8100: - movs r6, 0 - b _080A8118 -_080A8104: - movs r6, 0x1 - b _080A8118 -_080A8108: - movs r0, 0 - movs r1, 0x1D - bl sub_8001658 - cmp r0, 0 - bne _080A8116 - movs r7, 0x1 -_080A8116: - movs r6, 0x2 -_080A8118: - add r0, sp, 0xC - movs r3, 0 - ldrsh r2, [r0, r3] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _080A813C - adds r0, r1 - str r0, [sp, 0x1C] - cmp r6, 0 - bge _080A81B4 - cmp r2, 0x21 - beq _080A8140 - cmp r2, 0x23 - beq _080A8154 - adds r0, r2, 0 - b _080A8162 - .align 2, 0 -_080A813C: .4byte gUnknown_811E63C -_080A8140: - ldr r0, _080A8150 - ldr r0, [r0] - movs r4, 0x2 - ldrsh r0, [r0, r4] - cmp r0, 0x1 - beq _080A81AE - movs r0, 0x21 - b _080A8162 - .align 2, 0 -_080A8150: .4byte gUnknown_3001B84 -_080A8154: - ldr r0, _080A8188 - ldr r0, [r0] - movs r1, 0x2 - ldrsh r0, [r0, r1] - cmp r0, 0x3 - beq _080A81AE - movs r0, 0x23 -_080A8162: - bl sub_80A7AE8 - adds r6, r0, 0 - cmp r6, 0 - bge _080A81B4 - movs r2, 0x3 - ldr r0, _080A8188 - ldr r0, [r0] - movs r3, 0xBA - lsls r3, 3 - adds r5, r0, r3 - movs r4, 0x2 - ldrsh r1, [r5, r4] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A818C - movs r6, 0x3 - b _080A81B4 - .align 2, 0 -_080A8188: .4byte gUnknown_3001B84 -_080A818C: - adds r0, r2, 0x1 - lsls r0, 16 - asrs r2, r0, 16 - movs r0, 0xF8 - lsls r0, 1 - adds r5, r0 - cmp r2, 0x17 - bgt _080A81AA - movs r3, 0x2 - ldrsh r1, [r5, r3] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A818C - adds r6, r2, 0 -_080A81AA: - cmp r6, 0 - bge _080A81B4 -_080A81AE: - movs r0, 0x1 - negs r0, r0 - b _080A8674 -_080A81B4: - ldr r1, _080A8234 - lsls r0, r6, 5 - subs r0, r6 - lsls r0, 4 - ldr r1, [r1] - adds r5, r1, r0 - ldr r1, _080A8238 - add r0, sp, 0xC - movs r4, 0 - ldrsh r3, [r0, r4] - ldr r2, [sp, 0x1C] - movs r4, 0 - ldrsh r0, [r2, r4] - str r0, [sp] - ldr r0, [sp, 0x14] - str r0, [sp, 0x4] - ldr r2, [sp, 0x18] - str r2, [sp, 0x8] - movs r0, 0 - adds r2, r6, 0 - bl Log - movs r2, 0 - movs r3, 0x2 - ldrsh r1, [r5, r3] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A81F0 - movs r2, 0x1 -_080A81F0: - str r2, [sp, 0x20] - strh r6, [r5] - add r0, sp, 0xC - ldrh r0, [r0] - strh r0, [r5, 0x2] - mov r4, sp - ldrh r4, [r4, 0x14] - strh r4, [r5, 0x4] - mov r0, sp - ldrb r0, [r0, 0x18] - strb r0, [r5, 0x6] - mov r1, r9 - ldrh r0, [r1] - strh r0, [r5, 0x8] - movs r2, 0x90 - lsls r2, 1 - adds r4, r5, r2 - adds r0, r4, 0 - bl sub_809CD68 - movs r0, 0x9 - str r0, [r4] - ldr r3, [sp, 0x1C] - ldrh r0, [r3] - subs r0, 0x1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bhi _080A82D8 - lsls r0, 2 - ldr r1, _080A823C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A8234: .4byte gUnknown_3001B84 -_080A8238: .4byte gUnknown_811811C -_080A823C: .4byte _080A8240 - .align 2, 0 -_080A8240: - .4byte _080A8268 - .4byte _080A8280 - .4byte _080A8290 - .4byte _080A82D8 - .4byte _080A82D8 - .4byte _080A8298 - .4byte _080A82A8 - .4byte _080A82B4 - .4byte _080A82BE - .4byte _080A82CA -_080A8268: - movs r4, 0x8E - lsls r4, 1 - adds r1, r5, r4 - ldr r0, _080A827C - str r0, [r1] - movs r0, 0x90 - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x1 - b _080A82E0 - .align 2, 0 -_080A827C: .4byte 0x2300181d -_080A8280: - movs r2, 0x8E - lsls r2, 1 - adds r1, r5, r2 - ldr r0, _080A828C - b _080A82E0 - .align 2, 0 -_080A828C: .4byte 0x23001000 -_080A8290: - movs r3, 0x8E - lsls r3, 1 - adds r1, r5, r3 - b _080A82DE -_080A8298: - movs r4, 0x8E - lsls r4, 1 - adds r1, r5, r4 - ldr r0, _080A82A4 - b _080A82E0 - .align 2, 0 -_080A82A4: .4byte 0x2000000d -_080A82A8: - movs r0, 0x8E - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x80 - lsls r0, 10 - b _080A82E0 -_080A82B4: - movs r2, 0x8E - lsls r2, 1 - adds r1, r5, r2 - movs r0, 0 - b _080A82E0 -_080A82BE: - movs r3, 0x8E - lsls r3, 1 - adds r1, r5, r3 - movs r0, 0xC0 - lsls r0, 12 - b _080A82E0 -_080A82CA: - movs r4, 0x8E - lsls r4, 1 - adds r1, r5, r4 - ldr r0, _080A82D4 - b _080A82E0 - .align 2, 0 -_080A82D4: .4byte 0x20010000 -_080A82D8: - movs r0, 0x8E - lsls r0, 1 - adds r1, r5, r0 -_080A82DE: - ldr r0, _080A83DC -_080A82E0: - str r0, [r1] - ldr r2, [sp, 0x1C] - ldrb r1, [r2, 0x8] - lsls r1, 11 - str r1, [r5, 0xC] - ldrb r0, [r2, 0x9] - lsls r0, 11 - str r0, [r5, 0x10] - lsrs r1, 1 - str r1, [r5, 0x14] - lsrs r0, 1 - str r0, [r5, 0x18] - ldr r3, [sp, 0x10] - ldrb r0, [r3, 0x1] - strb r0, [r5, 0x1C] - adds r2, r3, 0 - adds r2, 0x4 - adds r4, r5, 0 - adds r4, 0x20 - ldrb r1, [r2, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080A8328 - ldrb r0, [r3, 0x4] - lsls r3, r0, 11 - str r3, [r5, 0x20] - ldrb r1, [r2, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A8328 - movs r1, 0x80 - lsls r1, 3 - adds r0, r3, r1 - str r0, [r5, 0x20] -_080A8328: - ldrb r1, [r2, 0x3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080A834A - ldrb r0, [r2, 0x1] - lsls r3, r0, 11 - str r3, [r4, 0x4] - ldrb r1, [r2, 0x3] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A834A - movs r2, 0x80 - lsls r2, 3 - adds r0, r3, r2 - str r0, [r4, 0x4] -_080A834A: - ldr r3, [sp, 0x20] - cmp r3, 0 - beq _080A83EC - ldrb r0, [r5, 0x1C] - movs r4, 0xA1 - lsls r4, 1 - adds r1, r5, r4 - movs r3, 0 - strb r0, [r1] - movs r0, 0xA2 - lsls r0, 1 - adds r2, r5, r0 - ldr r0, [r5, 0x20] - ldr r1, [r5, 0x14] - subs r0, r1 - str r0, [r2] - movs r1, 0xA6 - lsls r1, 1 - adds r2, r5, r1 - ldr r0, [r5, 0x20] - ldr r1, [r5, 0x14] - adds r0, r1 - str r0, [r2] - adds r4, 0x6 - adds r2, r5, r4 - ldr r0, [r5, 0x24] - ldr r1, [r5, 0x18] - subs r0, r1 - str r0, [r2] - movs r0, 0xA8 - lsls r0, 1 - adds r2, r5, r0 - ldr r0, [r5, 0x24] - ldr r1, [r5, 0x18] - adds r0, r1 - str r0, [r2] - movs r2, 0xAA - lsls r2, 1 - adds r1, r5, r2 - adds r4, 0x10 - adds r0, r5, r4 - str r3, [r0] - str r3, [r1] - movs r1, 0x9E - lsls r1, 1 - adds r0, r5, r1 - strh r7, [r0] - ldr r1, _080A83E0 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - ldr r1, [r1] - adds r1, r0 - movs r0, 0x1 - negs r0, r0 - str r0, [r1, 0x8] - str r3, [r1] - str r3, [r1, 0x4] - ldrh r0, [r5, 0x2] - subs r0, 0xE - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF - bhi _080A83E4 - movs r0, 0x12 - bl OtherRandomCapped - movs r2, 0xA0 - lsls r2, 1 - adds r1, r5, r2 - strh r0, [r1] - b _080A83EC - .align 2, 0 -_080A83DC: .4byte 0x2300068d -_080A83E0: .4byte gUnknown_3001B80 -_080A83E4: - movs r4, 0xA0 - lsls r4, 1 - adds r0, r5, r4 - strh r3, [r0] -_080A83EC: - movs r1, 0x8E - lsls r1, 1 - adds r0, r5, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 4 - ands r0, r1 - cmp r0, 0 - beq _080A8418 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r5, r2 - movs r3, 0xA6 - lsls r3, 1 - adds r2, r5, r3 - movs r0, 0x20 - bl sub_80ADCA0 - movs r4, 0x9F - lsls r4, 1 - adds r1, r5, r4 - b _080A8420 -_080A8418: - movs r0, 0x9F - lsls r0, 1 - adds r1, r5, r0 - ldr r0, _080A849C -_080A8420: - strh r0, [r1] - adds r0, r5, 0 - adds r0, 0x28 - adds r1, r5, 0 - adds r1, 0x30 - bl sub_80A5778 - ldr r1, [sp, 0x20] - cmp r1, 0 - beq _080A84AC - ldr r2, _080A84A0 - adds r1, r5, r2 - movs r0, 0xFF - strb r0, [r1] - movs r3, 0xAF - lsls r3, 1 - adds r1, r5, r3 - movs r3, 0 - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r1] - movs r4, 0xB0 - lsls r4, 1 - adds r1, r5, r4 - movs r2, 0x1 - movs r0, 0x1 - strh r0, [r1] - movs r1, 0xB2 - lsls r1, 1 - adds r0, r5, r1 - str r3, [r0] - adds r4, 0x8 - adds r1, r5, r4 - ldr r0, _080A84A4 - strh r0, [r1] - movs r1, 0xAE - lsls r1, 1 - adds r0, r5, r1 - strb r2, [r0] - movs r2, 0xB5 - lsls r2, 1 - adds r0, r5, r2 - strh r3, [r0] - movs r3, 0xB8 - lsls r3, 1 - adds r0, r5, r3 - movs r4, 0x2 - ldrsh r1, [r5, r4] - movs r3, 0x8 - ldrsh r2, [r5, r3] - movs r4, 0x8E - lsls r4, 1 - adds r3, r5, r4 - ldr r3, [r3] - bl sub_80A7428 - adds r4, r5, 0 - adds r4, 0x38 - ldr r1, _080A84A8 - ldr r0, [sp, 0x18] - str r0, [sp] - b _080A855C - .align 2, 0 -_080A849C: .4byte 0x0000ffff -_080A84A0: .4byte 0x0000015d -_080A84A4: .4byte 0x00000807 -_080A84A8: .4byte gUnknown_8117F10 -_080A84AC: - adds r4, r5, 0 - adds r4, 0x38 - ldr r0, _080A84F0 - ldr r1, [r0] - movs r2, 0xCB - lsls r2, 2 - adds r1, r2 - adds r0, r4, 0 - bl sub_809D684 - lsls r0, 24 - cmp r0, 0 - beq _080A8550 - adds r0, r5, 0 - adds r0, 0xBE - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, 0 - beq _080A84F4 - adds r0, r5, 0 - adds r0, 0xE0 - ldrh r0, [r0] - mov r10, r0 - adds r0, r5, 0 - adds r0, 0xE2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - mov r9, r0 - adds r7, r5, 0 - adds r7, 0x80 - movs r0, 0x82 - adds r0, r5 - b _080A8508 - .align 2, 0 -_080A84F0: .4byte gUnknown_3001B80 -_080A84F4: - adds r1, r5, 0 - adds r1, 0x80 - ldrh r2, [r1] - mov r10, r2 - adds r0, r5, 0 - adds r0, 0x82 - movs r3, 0 - ldrsb r3, [r0, r3] - mov r9, r3 - adds r7, r1, 0 -_080A8508: - mov r8, r0 - adds r0, r4, 0 - bl sub_809D648 - ldr r1, _080A8544 - ldr r0, [sp, 0x18] - str r0, [sp] - adds r0, r4, 0 - adds r2, r5, 0 - ldr r3, [sp, 0x14] - bl sub_809D600 - ldr r0, _080A8548 - ldr r2, [r0] - movs r1, 0xCB - lsls r1, 2 - adds r2, r1 - ldr r3, _080A854C - adds r0, r4, 0 - movs r1, 0 - bl GroundScript_ExecutePP - mov r2, r10 - strh r2, [r7] - mov r0, r9 - mov r3, r8 - strb r0, [r3] - movs r1, 0x1 - mov r8, r1 - b _080A8566 - .align 2, 0 -_080A8544: .4byte gUnknown_8117F10 -_080A8548: .4byte gUnknown_3001B80 -_080A854C: .4byte gUnknown_8118170 -_080A8550: - adds r0, r4, 0 - bl sub_809D648 - ldr r1, _080A861C - ldr r2, [sp, 0x18] - str r2, [sp] -_080A855C: - adds r0, r4, 0 - adds r2, r5, 0 - ldr r3, [sp, 0x14] - bl sub_809D600 -_080A8566: - ldr r3, [sp, 0x10] - ldr r2, [r3, 0xC] - cmp r2, 0 - bne _080A8574 - ldr r0, _080A8620 - adds r0, 0xEC - ldr r2, [r0] -_080A8574: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_809D6D8 - ldr r0, [sp, 0x10] - ldr r2, [r0, 0x10] - cmp r2, 0 - bne _080A8588 - ldr r0, _080A8620 - ldr r2, [r0, 0x38] -_080A8588: - adds r0, r4, 0 - movs r1, 0x2 - bl sub_809D6D8 - ldr r1, [sp, 0x10] - ldr r2, [r1, 0x14] - cmp r2, 0 - bne _080A859C - ldr r0, _080A8620 - ldr r2, [r0, 0x50] -_080A859C: - adds r0, r4, 0 - movs r1, 0x3 - bl sub_809D6D8 - ldr r3, [sp, 0x10] - ldr r2, [r3, 0x8] - cmp r2, 0 - beq _080A8630 - adds r0, r4, 0 - movs r1, 0 - bl sub_809D6D8 - ldr r0, [sp, 0x20] - cmp r0, 0 - bne _080A860C - mov r1, r8 - cmp r1, 0 - bne _080A860C - movs r2, 0x8E - lsls r2, 1 - adds r0, r5, r2 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - bne _080A860C - ldr r0, _080A8624 - ldr r2, [r0] - movs r3, 0xCB - lsls r3, 2 - adds r2, r3 - ldr r3, _080A8628 - adds r0, r4, 0 - movs r1, 0 - bl GroundScript_ExecutePP - movs r1, 0xB0 - lsls r1, 1 - adds r0, r5, r1 - movs r2, 0xAF - lsls r2, 1 - adds r1, r5, r2 - ldrh r0, [r0] - ldrh r1, [r1] - orrs r0, r1 - adds r1, r5, 0 - adds r1, 0x80 - strh r0, [r1] - movs r3, 0xA1 - lsls r3, 1 - adds r0, r5, r3 - ldrb r1, [r0] - adds r0, r5, 0 - adds r0, 0x82 - strb r1, [r0] -_080A860C: - ldr r3, _080A862C - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl sub_809D8C0 - b _080A865A - .align 2, 0 -_080A861C: .4byte gUnknown_8117F10 -_080A8620: .4byte gUnknown_812F1F8 -_080A8624: .4byte gUnknown_3001B80 -_080A8628: .4byte gUnknown_811817C -_080A862C: .4byte gUnknown_8118188 -_080A8630: - mov r4, r8 - cmp r4, 0 - beq _080A865A - movs r0, 0xAE - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] - adds r0, r5, 0 - adds r0, 0x82 - ldrb r0, [r0] - movs r2, 0xA1 - lsls r2, 1 - adds r1, r5, r2 - strb r0, [r1] - adds r0, r5, 0 - adds r0, 0x80 - ldrh r1, [r0] - adds r0, r5, 0 - bl sub_80A9750 -_080A865A: - ldr r3, [sp, 0x1C] - movs r4, 0 - ldrsh r0, [r3, r4] - cmp r0, 0x1 - bne _080A8672 - ldr r0, [sp, 0x20] - cmp r0, 0 - beq _080A8672 - movs r0, 0x1 - adds r1, r6, 0 - bl sub_809D170 -_080A8672: - adds r0, r6, 0 -_080A8674: - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GroundLives_Add - - thumb_func_start GroundLives_Delete -GroundLives_Delete: - push {r4,lr} - adds r2, r0, 0 - lsls r2, 16 - asrs r2, 16 - ldr r1, _080A86BC - lsls r0, r2, 5 - subs r0, r2 - lsls r0, 4 - ldr r1, [r1] - adds r4, r1, r0 - ldr r1, _080A86C0 - movs r0, 0 - bl Log - movs r1, 0xB8 - lsls r1, 1 - adds r0, r4, r1 - bl sub_80A74E4 - adds r0, r4, 0 - adds r0, 0x38 - bl sub_809D648 - ldr r0, _080A86C4 - strh r0, [r4, 0x2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A86BC: .4byte gUnknown_3001B84 -_080A86C0: .4byte gUnknown_8118194 -_080A86C4: .4byte 0x0000ffff - thumb_func_end GroundLives_Delete - - thumb_func_start sub_80A86C8 -sub_80A86C8: - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A8708 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r4, r0, r1 - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r3, 0x1 - negs r3, r3 - cmp r0, r3 - beq _080A8744 - movs r2, 0x9E - lsls r2, 1 - adds r1, r4, r2 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080A870C - movs r0, 0xC0 - lsls r0, 6 - ands r0, r5 - cmp r0, 0 - beq _080A872E - bl sub_80AB5A4 - b _080A872E - .align 2, 0 -_080A8708: .4byte gUnknown_3001B84 -_080A870C: - movs r0, 0x80 - lsls r0, 5 - ands r0, r5 - cmp r0, 0 - beq _080A872E - ldr r2, _080A874C - movs r0, 0 - ldrsh r1, [r1, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, [r2] - adds r1, r0 - str r3, [r1, 0x8] - movs r0, 0 - str r0, [r1] - str r0, [r1, 0x4] -_080A872E: - movs r1, 0x8E - lsls r1, 1 - adds r0, r4, r1 - ldr r1, [r0] - orrs r1, r5 - str r1, [r0] - movs r2, 0xB8 - lsls r2, 1 - adds r0, r4, r2 - bl sub_80A6688 -_080A8744: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A874C: .4byte gUnknown_3001B80 - thumb_func_end sub_80A86C8 - - thumb_func_start sub_80A8750 -sub_80A8750: - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A87A8 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r4, r0, r1 - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A87A2 - movs r1, 0x9E - lsls r1, 1 - adds r0, r4, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _080A878C - movs r0, 0xC0 - lsls r0, 6 - ands r0, r5 - cmp r0, 0 - beq _080A878C - bl sub_80AB5A4 -_080A878C: - movs r1, 0x8E - lsls r1, 1 - adds r0, r4, r1 - ldr r1, [r0] - bics r1, r5 - str r1, [r0] - movs r2, 0xB8 - lsls r2, 1 - adds r0, r4, r2 - bl sub_80A6688 -_080A87A2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A87A8: .4byte gUnknown_3001B84 - thumb_func_end sub_80A8750 - - thumb_func_start sub_80A87AC -sub_80A87AC: - push {lr} - adds r3, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A87DC - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A87D8 - movs r1, 0x90 - lsls r1, 1 - adds r0, r2, r1 - adds r1, r3, 0 - bl sub_809CD8C -_080A87D8: - pop {r0} - bx r0 - .align 2, 0 -_080A87DC: .4byte gUnknown_3001B84 - thumb_func_end sub_80A87AC - - thumb_func_start sub_80A87E0 -sub_80A87E0: - push {r4,lr} - adds r3, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A8820 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r4, r0, r1 - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A8824 - movs r0, 0x7 - movs r1, 0 - adds r2, r3, 0 - bl sub_809B1C0 - lsls r0, 24 - cmp r0, 0 - beq _080A8824 - movs r1, 0x90 - lsls r1, 1 - adds r0, r4, r1 - movs r1, 0x5 - bl sub_809CD8C - movs r0, 0x1 - b _080A8826 - .align 2, 0 -_080A8820: .4byte gUnknown_3001B84 -_080A8824: - movs r0, 0 -_080A8826: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A87E0 - - thumb_func_start sub_80A882C -sub_80A882C: - push {lr} - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A8850 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A8854 - movs r0, 0 - b _080A8858 - .align 2, 0 -_080A8850: .4byte gUnknown_3001B84 -_080A8854: - adds r0, r2, 0 - adds r0, 0x38 -_080A8858: - pop {r1} - bx r1 - thumb_func_end sub_80A882C - - thumb_func_start sub_80A885C -sub_80A885C: - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - asrs r0, 16 - lsls r2, 16 - asrs r3, r2, 16 - ldr r2, _080A8884 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A8888 - movs r0, 0 - b _080A8898 - .align 2, 0 -_080A8884: .4byte gUnknown_3001B84 -_080A8888: - adds r0, r2, 0 - adds r0, 0x38 - adds r1, r4, 0 - adds r2, r3, 0 - bl sub_809D6E4 - lsls r0, 24 - lsrs r0, 24 -_080A8898: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A885C - - thumb_func_start sub_80A88A0 -sub_80A88A0: - push {lr} - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A88C4 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A88C8 - movs r0, 0 - b _080A88D4 - .align 2, 0 -_080A88C4: .4byte gUnknown_3001B84 -_080A88C8: - adds r0, r2, 0 - adds r0, 0x38 - bl sub_809D678 - lsls r0, 24 - lsrs r0, 24 -_080A88D4: - pop {r1} - bx r1 - thumb_func_end sub_80A88A0 - - thumb_func_start GroundLives_ExecuteScript -GroundLives_ExecuteScript: - push {r4-r7,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r7, r1, 0 - adds r6, r2, 0 - lsls r4, 16 - asrs r4, 16 - ldr r1, _080A8914 - lsls r0, r4, 5 - subs r0, r4 - lsls r0, 4 - ldr r1, [r1] - adds r5, r1, r0 - ldr r1, _080A8918 - movs r0, 0x2 - ldrsh r3, [r5, r0] - str r6, [sp] - movs r0, 0 - adds r2, r4, 0 - bl Log - movs r0, 0x2 - ldrsh r1, [r5, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A891C - movs r0, 0 - b _080A8934 - .align 2, 0 -_080A8914: .4byte gUnknown_3001B84 -_080A8918: .4byte gUnknown_81181B0 -_080A891C: - adds r0, r5, 0 - adds r0, 0x38 - ldr r3, _080A893C - adds r1, r7, 0 - adds r2, r6, 0 - bl GroundScript_ExecutePP - movs r0, 0xAE - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] -_080A8934: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080A893C: .4byte gUnknown_81181F4 - thumb_func_end GroundLives_ExecuteScript - - thumb_func_start _ExecutePlayerScript -_ExecutePlayerScript: - push {r4,r5,lr} - adds r3, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - movs r0, 0xAF - lsls r0, 1 - adds r1, r3, r0 - movs r2, 0 - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r1] - movs r0, 0xB0 - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0x1 - strh r0, [r1] - movs r1, 0xB2 - lsls r1, 1 - adds r0, r3, r1 - str r2, [r0] - movs r0, 0xB4 - lsls r0, 1 - adds r2, r3, r0 - movs r1, 0 - ldrsh r0, [r2, r1] - ldr r1, _080A898C - cmp r0, r1 - beq _080A8984 - strh r1, [r2] - movs r0, 0xAE - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0x1 - strb r0, [r1] -_080A8984: - cmp r4, 0 - bne _080A8990 - movs r0, 0 - b _080A89A2 - .align 2, 0 -_080A898C: .4byte 0x00000807 -_080A8990: - adds r0, r3, 0 - adds r0, 0x38 - ldr r3, _080A89A8 - adds r1, r5, 0 - adds r2, r4, 0 - bl GroundScript_ExecutePP - lsls r0, 24 - lsrs r0, 24 -_080A89A2: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080A89A8: .4byte gUnknown_8118218 - thumb_func_end _ExecutePlayerScript - - thumb_func_start sub_80A89AC -sub_80A89AC: - push {r4,lr} - lsls r0, 16 - asrs r0, 16 - ldr r4, _080A89CC - lsls r3, r0, 5 - subs r3, r0 - lsls r3, 4 - ldr r0, [r4] - adds r0, r3 - bl _ExecutePlayerScript - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A89CC: .4byte gUnknown_3001B84 - thumb_func_end sub_80A89AC - - thumb_func_start GroundLives_ExecutePlayerScriptActionLives -GroundLives_ExecutePlayerScriptActionLives: - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - cmp r2, 0 - blt _080A8A50 - cmp r4, 0 - blt _080A8A50 - ldr r1, _080A8A48 - lsls r0, r2, 5 - subs r0, r2 - lsls r0, 4 - ldr r1, [r1] - adds r5, r1, r0 - lsls r0, r4, 5 - subs r0, r4 - lsls r0, 4 - adds r1, r0 - movs r2, 0x2 - ldrsh r0, [r5, r2] - movs r2, 0x1 - negs r2, r2 - cmp r0, r2 - beq _080A8A50 - movs r3, 0x2 - ldrsh r0, [r1, r3] - cmp r0, r2 - beq _080A8A50 - adds r6, r1, 0 - adds r6, 0x38 - adds r0, r6, 0 - mov r1, sp - movs r2, 0x2 - bl sub_809D6E4 - lsls r0, 24 - cmp r0, 0 - beq _080A8A50 - movs r1, 0x1 - lsls r0, r4, 16 - orrs r0, r1 - str r0, [sp, 0xC] - adds r1, r5, 0 - adds r1, 0x40 - ldr r3, _080A8A4C - adds r0, r6, 0 - movs r2, 0x3 - bl sub_809D8C0 - add r1, sp, 0xC - adds r0, r5, 0 - mov r2, sp - bl _ExecutePlayerScript - lsls r0, 24 - lsrs r0, 24 - b _080A8A52 - .align 2, 0 -_080A8A48: .4byte gUnknown_3001B84 -_080A8A4C: .4byte gUnknown_8118250 -_080A8A50: - movs r0, 0 -_080A8A52: - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GroundLives_ExecutePlayerScriptActionLives - - thumb_func_start sub_80A8A5C -sub_80A8A5C: - push {r4-r6,lr} - sub sp, 0x1C - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - cmp r2, 0 - blt _080A8AC0 - cmp r5, 0 - blt _080A8AC0 - ldr r1, _080A8ABC - lsls r0, r2, 5 - subs r0, r2 - lsls r0, 4 - ldr r1, [r1] - adds r6, r1, r0 - adds r0, r5, 0 - mov r1, sp - movs r2, 0x2 - bl sub_80AC274 - lsls r0, 24 - cmp r0, 0 - beq _080A8AC0 - movs r1, 0x2 - lsls r0, r5, 16 - orrs r0, r1 - str r0, [sp, 0x18] - add r4, sp, 0xC - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x3 - bl sub_80AC274 - adds r1, r6, 0 - adds r1, 0x40 - adds r0, r5, 0 - adds r2, r4, 0 - bl GroundObject_ExecuteScript - add r1, sp, 0x18 - adds r0, r6, 0 - mov r2, sp - bl _ExecutePlayerScript - lsls r0, 24 - lsrs r0, 24 - b _080A8AC2 - .align 2, 0 -_080A8ABC: .4byte gUnknown_3001B84 -_080A8AC0: - movs r0, 0 -_080A8AC2: - add sp, 0x1C - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80A8A5C - - thumb_func_start sub_80A8ACC -sub_80A8ACC: - push {r4,lr} - sub sp, 0xC - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r3, r1, 16 - cmp r2, 0 - blt _080A8B10 - cmp r3, 0 - blt _080A8B10 - ldr r1, _080A8B0C - lsls r0, r2, 5 - subs r0, r2 - lsls r0, 4 - ldr r1, [r1] - adds r4, r1, r0 - adds r0, r3, 0 - mov r1, sp - bl sub_80ADC64 - lsls r0, 24 - cmp r0, 0 - beq _080A8B10 - adds r0, r4, 0 - movs r1, 0 - mov r2, sp - bl _ExecutePlayerScript - lsls r0, 24 - lsrs r0, 24 - b _080A8B12 - .align 2, 0 -_080A8B0C: .4byte gUnknown_3001B84 -_080A8B10: - movs r0, 0 -_080A8B12: - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A8ACC - - thumb_func_start sub_80A8B1C -sub_80A8B1C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - asrs r7, r0, 16 - ldr r0, _080A8B70 - ldr r4, [r0] - movs r5, 0 - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r6, 0x80 - lsls r6, 9 -_080A8B36: - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, r8 - beq _080A8B4E - adds r0, r4, 0 - adds r0, 0x38 - adds r1, r7, 0 - bl sub_809D968 - orrs r5, r0 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_080A8B4E: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r0, 16 - movs r1, 0xF8 - lsls r1, 1 - adds r4, r1 - cmp r0, 0x17 - ble _080A8B36 - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080A8B70: .4byte gUnknown_3001B84 - thumb_func_end sub_80A8B1C - - thumb_func_start sub_80A8B74 -sub_80A8B74: - push {r4-r7,lr} - ldr r0, _080A8BB8 - ldr r4, [r0] - movs r5, 0 - movs r7, 0x1 - negs r7, r7 - movs r6, 0x80 - lsls r6, 9 -_080A8B84: - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, r7 - beq _080A8B9A - adds r0, r4, 0 - adds r0, 0x38 - bl sub_809D92C - orrs r5, r0 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_080A8B9A: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r0, 16 - movs r1, 0xF8 - lsls r1, 1 - adds r4, r1 - cmp r0, 0x17 - ble _080A8B84 - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080A8BB8: .4byte gUnknown_3001B84 - thumb_func_end sub_80A8B74 - - thumb_func_start sub_80A8BBC -sub_80A8BBC: - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A8BD4 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r0, r1 - movs r1, 0x2 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_080A8BD4: .4byte gUnknown_3001B84 - thumb_func_end sub_80A8BBC - - thumb_func_start sub_80A8BD8 -sub_80A8BD8: - lsls r0, 16 - asrs r0, 16 - ldr r3, _080A8BF8 - lsls r2, r0, 5 - subs r2, r0 - lsls r2, 4 - ldr r0, [r3] - adds r0, r2 - movs r3, 0x8E - lsls r3, 1 - adds r2, r0, r3 - ldr r2, [r2] - str r2, [r1] - movs r1, 0x2 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_080A8BF8: .4byte gUnknown_3001B84 - thumb_func_end sub_80A8BD8 - - thumb_func_start sub_80A8BFC -sub_80A8BFC: - push {lr} - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A8C20 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A8C24 - movs r0, 0 - b _080A8C28 - .align 2, 0 -_080A8C20: .4byte gUnknown_3001B84 -_080A8C24: - movs r1, 0x8 - ldrsh r0, [r2, r1] -_080A8C28: - pop {r1} - bx r1 - thumb_func_end sub_80A8BFC - - thumb_func_start sub_80A8C2C -sub_80A8C2C: - push {r4,lr} - sub sp, 0x4 - mov r1, sp - strh r0, [r1] - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sub_80A7DDC - movs r1, 0 - ldrsh r0, [r4, r1] - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A8C2C - - thumb_func_start sub_80A8C4C -sub_80A8C4C: - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A8C80 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r4, r0, r1 - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A8C90 - adds r0, r1, 0 - bl sub_80A8D54 - adds r1, r0, 0 - cmp r1, 0 - beq _080A8C84 - ldr r0, [r1, 0x4] - str r0, [r5] - b _080A8C8A - .align 2, 0 -_080A8C80: .4byte gUnknown_3001B84 -_080A8C84: - movs r0, 0x63 - strb r0, [r5] - strb r1, [r5, 0x1] -_080A8C8A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - b _080A8C92 -_080A8C90: - movs r0, 0 -_080A8C92: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80A8C4C - - thumb_func_start sub_80A8C98 -sub_80A8C98: - push {r4,lr} - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A8CD4 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r3, r0, r1 - movs r0, 0x2 - ldrsh r1, [r3, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A8CE8 - ldr r1, _080A8CD8 - ldrh r2, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0 - beq _080A8CE8 - movs r0, 0x8 - ldrsh r3, [r3, r0] -_080A8CC6: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, r3 - bne _080A8CDC - movs r0, 0x1 - b _080A8CEA - .align 2, 0 -_080A8CD4: .4byte gUnknown_3001B84 -_080A8CD8: .4byte gUnknown_8117FCE -_080A8CDC: - adds r1, 0x2 - ldrh r2, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0 - bne _080A8CC6 -_080A8CE8: - movs r0, 0 -_080A8CEA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A8C98 - - thumb_func_start sub_80A8CF0 -sub_80A8CF0: - push {r4,lr} - lsls r0, 16 - asrs r3, r0, 16 - ldr r1, _080A8CFC - b _080A8D0E - .align 2, 0 -_080A8CFC: .4byte gUnknown_8117FCE -_080A8D00: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, r3 - bne _080A8D0C - movs r0, 0x1 - b _080A8D1A -_080A8D0C: - adds r1, 0x2 -_080A8D0E: - ldrh r2, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0 - bne _080A8D00 - movs r0, 0 -_080A8D1A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A8CF0 - - thumb_func_start sub_80A8D20 -sub_80A8D20: - push {lr} - movs r0, 0 - bl sub_80A7AE8 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A8D50 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r0, r1 - movs r1, 0x90 - lsls r1, 1 - adds r0, r1 - bl sub_809CDB8 - movs r1, 0 - cmp r0, 0x1 - bne _080A8D4A - movs r1, 0x1 -_080A8D4A: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A8D50: .4byte gUnknown_3001B84 - thumb_func_end sub_80A8D20 - - thumb_func_start sub_80A8D54 -sub_80A8D54: - push {r4,r5,lr} - sub sp, 0x14 - mov r1, sp - strh r0, [r1] - mov r0, sp - bl sub_80A7B94 - mov r0, sp - ldrh r1, [r0] - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0x1 - beq _080A8D76 - cmp r0, 0x6 - beq _080A8D76 - cmp r0, 0x21 - bne _080A8D7C -_080A8D76: - bl sub_808D3BC - b _080A8E94 -_080A8D7C: - cmp r0, 0x2 - beq _080A8D88 - cmp r0, 0x7 - beq _080A8D88 - cmp r0, 0x22 - bne _080A8D8E -_080A8D88: - bl sub_808D3F8 - b _080A8E94 -_080A8D8E: - cmp r0, 0x3 - beq _080A8D9A - cmp r0, 0x8 - beq _080A8D9A - cmp r0, 0x23 - bne _080A8DA0 -_080A8D9A: - bl sub_808D33C - b _080A8E94 -_080A8DA0: - adds r0, r1, 0 - subs r0, 0xA - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bhi _080A8DF8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r5, r0, 0 - subs r5, 0xA - bl sub_8098F88 - lsls r0, 24 - cmp r0, 0 - bne _080A8E92 - movs r0, 0x9 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _080A8DD6 - add r4, sp, 0x4 - adds r0, r4, 0 - bl sub_808D6A4 - b _080A8DDE -_080A8DD6: - add r4, sp, 0x4 - adds r0, r4, 0 - bl sub_808D654 -_080A8DDE: - cmp r5, r0 - bge _080A8E92 - ldr r2, _080A8DF4 - lsls r0, r5, 2 - adds r0, r4, r0 - ldr r1, [r0] - movs r0, 0x58 - muls r1, r0 - ldr r0, [r2] - adds r0, r1 - b _080A8E94 - .align 2, 0 -_080A8DF4: .4byte gUnknown_203B45C -_080A8DF8: - adds r0, r1, 0 - subs r0, 0xE - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF - bhi _080A8E92 - movs r0, 0 - movs r1, 0x10 - bl sub_8001658 - lsls r0, 16 - asrs r0, 16 - bl sub_8002658 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080A8E92 - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - adds r5, r0, 0 - subs r5, 0xE - add r4, sp, 0x4 - adds r0, r1, 0 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl sub_8092638 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r5, r0 - bge _080A8E92 - ldr r2, _080A8E6C - ldr r0, [r4, 0x8] - adds r0, r5 - movs r1, 0x58 - muls r1, r0 - ldr r0, [r2] - adds r4, r0, r1 - movs r0, 0x9 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _080A8E70 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A8E92 - ldrb r0, [r4, 0x2] - cmp r0, 0 - bne _080A8E92 - adds r0, r4, 0 - b _080A8E94 - .align 2, 0 -_080A8E6C: .4byte gUnknown_203B45C -_080A8E70: - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A8E92 - ldrb r0, [r4, 0x2] - cmp r0, 0 - bne _080A8E92 - movs r1, 0 - ldrb r0, [r4, 0x4] - cmp r0, 0x41 - bne _080A8E8A - movs r1, 0x1 -_080A8E8A: - cmp r1, 0 - bne _080A8E92 - adds r0, r4, 0 - b _080A8E94 -_080A8E92: - movs r0, 0 -_080A8E94: - add sp, 0x14 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80A8D54 - - thumb_func_start sub_80A8E9C -sub_80A8E9C: - push {lr} - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A8EBC - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r0, r1 - movs r1, 0x2 - ldrsh r0, [r0, r1] - bl sub_80A8D54 - pop {r1} - bx r1 - .align 2, 0 -_080A8EBC: .4byte gUnknown_3001B84 - thumb_func_end sub_80A8E9C - - thumb_func_start sub_80A8EC0 -sub_80A8EC0: - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - mov r0, sp - strh r1, [r0] - mov r5, sp - adds r5, 0x2 - adds r1, r5, 0 - bl sub_80A7DDC - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - bl sub_80A8D54 - cmp r0, 0 - beq _080A8EF0 - adds r1, r0, 0 - adds r1, 0x4C - adds r0, r4, 0 - movs r2, 0xA - bl sub_80922B4 - b _080A8F44 -_080A8EF0: - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - cmp r1, 0x20 - bne _080A8F00 - movs r0, 0 - ldrsh r1, [r5, r0] - b _080A8F34 -_080A8F00: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A8F3C - mov r0, sp - movs r1, 0 - ldrsh r2, [r0, r1] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _080A8F2C - adds r0, r1 - cmp r2, 0x34 - beq _080A8F20 - cmp r2, 0x64 - bne _080A8F30 -_080A8F20: - ldr r1, [r0, 0x4] - adds r0, r4, 0 - bl strcpy - b _080A8F44 - .align 2, 0 -_080A8F2C: .4byte gUnknown_811E63C -_080A8F30: - movs r2, 0x2 - ldrsh r1, [r0, r2] -_080A8F34: - adds r0, r4, 0 - bl sub_808D8BC - b _080A8F44 -_080A8F3C: - ldr r1, _080A8F4C - adds r0, r4, 0 - bl strcpy -_080A8F44: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A8F4C: .4byte gUnknown_811825C - thumb_func_end sub_80A8EC0 - - thumb_func_start sub_80A8F50 -sub_80A8F50: - push {r4,r5,lr} - sub sp, 0x80 - adds r4, r0, 0 - adds r5, r2, 0 - lsls r1, 16 - asrs r1, 16 - mov r0, sp - bl sub_80A8EC0 - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - bl sub_8092310 - add sp, 0x80 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A8F50 - - thumb_func_start sub_80A8F74 -sub_80A8F74: - push {lr} - adds r3, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A8F98 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r0, r1 - movs r2, 0x2 - ldrsh r1, [r0, r2] - adds r0, r3, 0 - bl sub_80A8EC0 - pop {r0} - bx r0 - .align 2, 0 -_080A8F98: .4byte gUnknown_3001B84 - thumb_func_end sub_80A8F74 - - thumb_func_start sub_80A8F9C -sub_80A8F9C: - push {lr} - adds r3, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A8FC4 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A8FC8 - movs r0, 0 - str r0, [r3] - str r0, [r3, 0x4] - b _080A8FD0 - .align 2, 0 -_080A8FC4: .4byte gUnknown_3001B84 -_080A8FC8: - ldr r0, [r2, 0xC] - ldr r1, [r2, 0x10] - str r0, [r3] - str r1, [r3, 0x4] -_080A8FD0: - movs r1, 0x2 - ldrsh r0, [r2, r1] - pop {r1} - bx r1 - thumb_func_end sub_80A8F9C - - thumb_func_start sub_80A8FD8 -sub_80A8FD8: - push {lr} - adds r3, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A9000 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A9004 - movs r0, 0 - str r0, [r3] - b _080A901E - .align 2, 0 -_080A9000: .4byte gUnknown_3001B84 -_080A9004: - movs r1, 0xA2 - lsls r1, 1 - adds r0, r2, r1 - ldr r0, [r0] - ldr r1, [r2, 0x14] - adds r0, r1 - str r0, [r3] - movs r1, 0xA4 - lsls r1, 1 - adds r0, r2, r1 - ldr r0, [r0] - ldr r1, [r2, 0x18] - adds r0, r1 -_080A901E: - str r0, [r3, 0x4] - movs r1, 0x2 - ldrsh r0, [r2, r1] - pop {r1} - bx r1 - thumb_func_end sub_80A8FD8 - - thumb_func_start sub_80A9028 -sub_80A9028: - push {r4,lr} - lsls r0, 16 - asrs r0, 16 - ldr r3, _080A904C - lsls r2, r0, 5 - subs r2, r0 - lsls r2, 4 - ldr r4, [r3] - adds r4, r2 - adds r0, r4, 0 - bl sub_80A9F20 - movs r1, 0x2 - ldrsh r0, [r4, r1] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A904C: .4byte gUnknown_3001B84 - thumb_func_end sub_80A9028 - - thumb_func_start sub_80A9050 -sub_80A9050: - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A9078 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - adds r3, r0, 0 - cmp r1, r0 - bne _080A907C - strb r3, [r4] - b _080A9086 - .align 2, 0 -_080A9078: .4byte gUnknown_3001B84 -_080A907C: - movs r1, 0xA1 - lsls r1, 1 - adds r0, r2, r1 - ldrb r0, [r0] - strb r0, [r4] -_080A9086: - movs r1, 0x2 - ldrsh r0, [r2, r1] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A9050 - - thumb_func_start sub_80A9090 -sub_80A9090: - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 24 - asrs r3, r1, 24 - ldr r2, _080A90C4 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A90BA - movs r1, 0xA1 - lsls r1, 1 - adds r0, r2, r1 - strb r3, [r0] -_080A90BA: - movs r1, 0x2 - ldrsh r0, [r2, r1] - pop {r1} - bx r1 - .align 2, 0 -_080A90C4: .4byte gUnknown_3001B84 - thumb_func_end sub_80A9090 - - thumb_func_start sub_80A90C8 -sub_80A90C8: - lsls r0, 16 - asrs r0, 16 - ldr r2, _080A90E4 - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r0, r1 - movs r1, 0xA0 - lsls r1, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_080A90E4: .4byte gUnknown_3001B84 - thumb_func_end sub_80A90C8 - - thumb_func_start sub_80A90E8 -sub_80A90E8: - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r3, r1, 16 - cmp r2, r3 - beq _080A9196 - ldr r1, _080A916C - lsls r0, r2, 5 - subs r0, r2 - lsls r0, 4 - ldr r1, [r1] - adds r5, r1, r0 - lsls r0, r3, 5 - subs r0, r3 - lsls r0, 4 - adds r4, r1, r0 - movs r1, 0x2 - ldrsh r0, [r5, r1] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _080A9196 - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, r1 - beq _080A9196 - movs r3, 0xA2 - lsls r3, 1 - adds r0, r5, r3 - ldr r0, [r0] - ldr r1, [r5, 0x14] - adds r0, r1 - str r0, [sp] - movs r2, 0xA4 - lsls r2, 1 - adds r0, r5, r2 - ldr r0, [r0] - ldr r1, [r5, 0x18] - adds r0, r1 - str r0, [sp, 0x4] - adds r3, r4, r3 - ldr r0, [r3] - ldr r1, [r4, 0x14] - adds r0, r1 - str r0, [sp, 0x8] - adds r2, r4, r2 - ldr r0, [r2] - ldr r1, [r4, 0x18] - adds r0, r1 - add r2, sp, 0x8 - str r0, [r2, 0x4] - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0x24 - bgt _080A9170 - adds r1, r5, 0 - adds r1, 0xC - adds r3, r4, 0 - adds r3, 0xC - mov r0, sp - bl sub_8002DF0 - b _080A917E - .align 2, 0 -_080A916C: .4byte gUnknown_3001B84 -_080A9170: - adds r1, r5, 0 - adds r1, 0xC - adds r3, r4, 0 - adds r3, 0xC - mov r0, sp - bl sub_8002D54 -_080A917E: - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A9196 - movs r2, 0xA1 - lsls r2, 1 - adds r0, r5, r2 - strb r1, [r0] - movs r0, 0x1 - b _080A9198 -_080A9196: - movs r0, 0 -_080A9198: - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80A90E8 - - thumb_func_start sub_80A91A0 -sub_80A91A0: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - cmp r2, r4 - beq _080A928E - ldr r1, _080A9260 - lsls r0, r2, 5 - subs r0, r2 - lsls r0, 4 - ldr r1, [r1] - adds r7, r1, r0 - lsls r0, r4, 5 - subs r0, r4 - lsls r0, 4 - adds r1, r0 - mov r8, r1 - movs r1, 0x2 - ldrsh r0, [r7, r1] - movs r2, 0x1 - negs r2, r2 - mov r10, r2 - cmp r0, r10 - beq _080A928E - mov r3, r8 - movs r1, 0x2 - ldrsh r0, [r3, r1] - cmp r0, r10 - beq _080A928E - movs r3, 0xA2 - lsls r3, 1 - adds r0, r7, r3 - ldr r0, [r0] - ldr r1, [r7, 0x14] - adds r0, r1 - str r0, [sp] - movs r2, 0xA4 - lsls r2, 1 - adds r0, r7, r2 - ldr r0, [r0] - ldr r1, [r7, 0x18] - adds r0, r1 - str r0, [sp, 0x4] - add r3, r8 - ldr r0, [r3] - mov r3, r8 - ldr r1, [r3, 0x14] - adds r0, r1 - str r0, [sp, 0x8] - add r2, r8 - ldr r0, [r2] - ldr r1, [r3, 0x18] - adds r0, r1 - add r4, sp, 0x8 - str r0, [r4, 0x4] - adds r5, r7, 0 - adds r5, 0xC - mov r6, r8 - adds r6, 0xC - mov r0, sp - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl sub_8002DF0 - lsls r0, 24 - asrs r0, 24 - mov r9, r0 - mov r0, sp - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl sub_8002D54 - lsls r0, 24 - asrs r1, r0, 24 - cmp r9, r10 - beq _080A928E - cmp r1, r10 - beq _080A928E - movs r2, 0x2 - ldrsh r0, [r7, r2] - cmp r0, 0x24 - bgt _080A9264 - movs r3, 0xA1 - lsls r3, 1 - adds r0, r7, r3 - mov r2, r9 - strb r2, [r0] - b _080A926C - .align 2, 0 -_080A9260: .4byte gUnknown_3001B84 -_080A9264: - movs r3, 0xA1 - lsls r3, 1 - adds r0, r7, r3 - strb r1, [r0] -_080A926C: - mov r2, r8 - movs r3, 0x2 - ldrsh r0, [r2, r3] - cmp r0, 0x25 - bgt _080A927A - mov r0, r9 - b _080A927C -_080A927A: - adds r0, r1, 0 -_080A927C: - movs r1, 0x5 - bl sub_8002984 - movs r1, 0xA1 - lsls r1, 1 - add r1, r8 - strb r0, [r1] - movs r0, 0x1 - b _080A9290 -_080A928E: - movs r0, 0 -_080A9290: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A91A0 - - thumb_func_start sub_80A92A0 -sub_80A92A0: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r1 - adds r4, r2, 0 - lsls r0, 16 - asrs r6, r0, 16 - ldr r0, _080A931C - ldr r0, [r0] - mov r12, r0 - movs r2, 0 - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r5, 0x80 - lsls r5, 9 -_080A92C2: - cmp r2, r6 - beq _080A9320 - mov r1, r12 - movs r7, 0x2 - ldrsh r0, [r1, r7] - cmp r0, r8 - beq _080A9320 - movs r0, 0x8E - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - mov r1, r9 - ands r0, r1 - cmp r0, 0 - beq _080A9320 - movs r0, 0xA2 - lsls r0, 1 - add r0, r12 - ldr r1, [r0] - ldr r0, [r3] - cmp r1, r0 - bge _080A9320 - movs r0, 0xA6 - lsls r0, 1 - add r0, r12 - ldr r1, [r0] - ldr r0, [r4] - cmp r1, r0 - ble _080A9320 - movs r0, 0xA4 - lsls r0, 1 - add r0, r12 - ldr r1, [r0] - ldr r0, [r3, 0x4] - cmp r1, r0 - bge _080A9320 - movs r0, 0xA8 - lsls r0, 1 - add r0, r12 - ldr r1, [r0] - ldr r0, [r4, 0x4] - cmp r1, r0 - ble _080A9320 - adds r0, r2, 0 - b _080A9338 - .align 2, 0 -_080A931C: .4byte gUnknown_3001B84 -_080A9320: - adds r0, r5, 0 - movs r7, 0x80 - lsls r7, 9 - adds r5, r7 - asrs r2, r0, 16 - movs r0, 0xF8 - lsls r0, 1 - add r12, r0 - cmp r2, 0x17 - ble _080A92C2 - movs r0, 0x1 - negs r0, r0 -_080A9338: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A92A0 - - thumb_func_start sub_80A9344 -sub_80A9344: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r1 - str r2, [sp] - adds r5, r3, 0 - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - ldr r0, _080A93C4 - ldr r0, [r0] - mov r12, r0 - movs r4, 0 - movs r0, 0x1 - negs r0, r0 - mov r10, r0 - movs r7, 0x80 - lsls r7, 9 -_080A936E: - cmp r4, r8 - beq _080A93C8 - mov r1, r12 - movs r2, 0x2 - ldrsh r0, [r1, r2] - cmp r0, r10 - beq _080A93C8 - movs r0, 0x8E - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - mov r6, r9 - ands r0, r6 - cmp r0, 0 - beq _080A93C8 - movs r0, 0xA2 - lsls r0, 1 - add r0, r12 - ldr r1, [r0] - mov r6, r12 - ldr r0, [r6, 0x14] - adds r2, r1, r0 - movs r0, 0xA4 - lsls r0, 1 - add r0, r12 - ldr r1, [r0] - ldr r0, [r6, 0x18] - adds r3, r1, r0 - ldr r0, [r5] - cmp r2, r0 - bge _080A93C8 - ldr r1, [sp] - ldr r0, [r1] - cmp r2, r0 - ble _080A93C8 - ldr r0, [r5, 0x4] - cmp r3, r0 - bge _080A93C8 - ldr r0, [r1, 0x4] - cmp r3, r0 - ble _080A93C8 - adds r0, r4, 0 - b _080A93E0 - .align 2, 0 -_080A93C4: .4byte gUnknown_3001B84 -_080A93C8: - adds r0, r7, 0 - movs r2, 0x80 - lsls r2, 9 - adds r7, r2 - asrs r4, r0, 16 - movs r6, 0xF8 - lsls r6, 1 - add r12, r6 - cmp r4, 0x17 - ble _080A936E - movs r0, 0x1 - negs r0, r0 -_080A93E0: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A9344 - - thumb_func_start sub_80A93F0 -sub_80A93F0: - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 16 - asrs r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r2, _080A947C - lsls r1, r0, 5 - subs r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r0, r1 - mov r12, r0 - movs r0, 0xA2 - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - cmp r0, 0 - bge _080A941A - ldr r1, _080A9480 - adds r0, r1 -_080A941A: - asrs r5, r0, 11 - str r5, [sp] - movs r0, 0xA4 - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - cmp r0, 0 - bge _080A942E - ldr r7, _080A9480 - adds r0, r7 -_080A942E: - asrs r4, r0, 11 - str r4, [sp, 0x4] - movs r0, 0xA6 - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - subs r1, r0, 0x1 - cmp r1, 0 - bge _080A9444 - ldr r7, _080A9484 - adds r1, r0, r7 -_080A9444: - asrs r2, r1, 11 - movs r0, 0xA8 - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - subs r1, r0, 0x1 - cmp r1, 0 - bge _080A9458 - ldr r7, _080A9484 - adds r1, r0, r7 -_080A9458: - asrs r3, r1, 11 - subs r0, r2, r5 - adds r0, 0x1 - str r0, [sp, 0x8] - subs r0, r3, r4 - adds r0, 0x1 - add r2, sp, 0x8 - str r0, [r2, 0x4] - adds r0, r6, 0 - mov r1, sp - bl sub_80A5934 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x10 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080A947C: .4byte gUnknown_3001B84 -_080A9480: .4byte 0x000007ff -_080A9484: .4byte 0x000007fe - thumb_func_end sub_80A93F0 - - thumb_func_start sub_80A9488 -sub_80A9488: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r5, r0, 0 - adds r7, r1, 0 - mov r8, r2 - ldr r0, [r7] - cmp r0, 0 - bge _080A94A0 - ldr r1, _080A9528 - adds r0, r1 -_080A94A0: - asrs r0, 11 - mov r12, r0 - str r0, [sp] - ldr r0, [r7, 0x4] - cmp r0, 0 - bge _080A94B0 - ldr r3, _080A9528 - adds r0, r3 -_080A94B0: - asrs r4, r0, 11 - str r4, [sp, 0x4] - mov r6, r8 - ldr r3, [r6] - subs r0, r3, 0x1 - cmp r0, 0 - bge _080A94C2 - ldr r6, _080A952C - adds r0, r3, r6 -_080A94C2: - asrs r1, r0, 11 - mov r0, r8 - ldr r3, [r0, 0x4] - subs r0, r3, 0x1 - cmp r0, 0 - bge _080A94D2 - ldr r6, _080A952C - adds r0, r3, r6 -_080A94D2: - asrs r2, r0, 11 - mov r3, r12 - subs r0, r1, r3 - adds r0, 0x1 - str r0, [sp, 0x8] - subs r0, r2, r4 - adds r0, 0x1 - add r2, sp, 0x8 - str r0, [r2, 0x4] - movs r6, 0x8E - lsls r6, 1 - adds r0, r5, r6 - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - beq _080A9504 - mov r0, sp - adds r1, r4, 0 - bl sub_80A585C - lsls r0, 24 - cmp r0, 0 - bne _080A9522 -_080A9504: - movs r1, 0x8E - lsls r1, 1 - adds r0, r5, r1 - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A9530 - mov r0, sp - adds r1, r4, 0 - bl sub_80A58C8 - lsls r0, 24 - cmp r0, 0 - beq _080A9530 -_080A9522: - movs r0, 0x1 - b _080A95A0 - .align 2, 0 -_080A9528: .4byte 0x000007ff -_080A952C: .4byte 0x000007fe -_080A9530: - movs r3, 0x8E - lsls r3, 1 - adds r0, r5, r3 - ldr r0, [r0] - movs r1, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080A9556 - movs r6, 0 - ldrsh r0, [r5, r6] - adds r2, r7, 0 - mov r3, r8 - bl sub_80A92A0 - lsls r0, 16 - cmp r0, 0 - blt _080A9556 - movs r0, 0x4 - b _080A95A0 -_080A9556: - movs r1, 0x8E - lsls r1, 1 - adds r0, r5, r1 - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080A957A - movs r0, 0x4 - adds r1, r7, 0 - mov r2, r8 - bl sub_80AC4C8 - lsls r0, 16 - cmp r0, 0 - blt _080A957A - movs r0, 0x8 - b _080A95A0 -_080A957A: - movs r3, 0x8E - lsls r3, 1 - adds r0, r5, r3 - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080A959E - movs r0, 0x40 - adds r1, r7, 0 - mov r2, r8 - bl sub_80ADCA0 - lsls r0, 16 - cmp r0, 0 - blt _080A959E - movs r0, 0x10 - b _080A95A0 -_080A959E: - movs r0, 0 -_080A95A0: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A9488 - - thumb_func_start sub_80A95AC -sub_80A95AC: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - adds r5, r0, 0 - adds r7, r1, 0 - mov r8, r2 - ldr r0, [r7] - cmp r0, 0 - bge _080A95C6 - ldr r1, _080A96BC - adds r0, r1 -_080A95C6: - asrs r0, 11 - mov r9, r0 - str r0, [sp] - ldr r0, [r7, 0x4] - cmp r0, 0 - bge _080A95D6 - ldr r2, _080A96BC - adds r0, r2 -_080A95D6: - asrs r4, r0, 11 - str r4, [sp, 0x4] - mov r6, r8 - ldr r3, [r6] - subs r0, r3, 0x1 - cmp r0, 0 - bge _080A95E8 - ldr r6, _080A96C0 - adds r0, r3, r6 -_080A95E8: - asrs r1, r0, 11 - mov r0, r8 - ldr r3, [r0, 0x4] - subs r0, r3, 0x1 - cmp r0, 0 - bge _080A95F8 - ldr r6, _080A96C0 - adds r0, r3, r6 -_080A95F8: - asrs r2, r0, 11 - mov r3, r9 - subs r0, r1, r3 - adds r0, 0x1 - str r0, [sp, 0x8] - subs r0, r2, r4 - adds r0, 0x1 - add r2, sp, 0x8 - str r0, [r2, 0x4] - movs r6, 0x8E - lsls r6, 1 - adds r0, r5, r6 - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - beq _080A962C - mov r0, sp - adds r1, r4, 0 - bl sub_80A585C - lsls r0, 24 - cmp r0, 0 - beq _080A962C - b _080A973C -_080A962C: - movs r1, 0x8E - lsls r1, 1 - adds r0, r5, r1 - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A964A - mov r0, sp - adds r1, r4, 0 - bl sub_80A58C8 - lsls r0, 24 - cmp r0, 0 - bne _080A973C -_080A964A: - movs r4, 0x8E - lsls r4, 1 - adds r0, r5, r4 - ldr r0, [r0] - movs r1, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080A96C8 - movs r2, 0 - ldrsh r0, [r5, r2] - movs r1, 0x44 - adds r2, r7, 0 - mov r3, r8 - bl sub_80A92A0 - lsls r0, 16 - asrs r2, r0, 16 - mov r9, r2 - cmp r2, 0 - blt _080A96C8 - ldr r1, _080A96C4 - lsls r0, r2, 5 - subs r0, r2 - lsls r0, 4 - ldr r1, [r1] - adds r6, r1, r0 - adds r0, r6, r4 - ldr r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080A973C - movs r0, 0x80 - lsls r0, 2 - ands r1, r0 - cmp r1, 0 - beq _080A96A8 - adds r4, 0x26 - adds r0, r5, r4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r1, 0x5 - bl sub_8002984 - adds r4, r6, r4 - strb r0, [r4] -_080A96A8: - movs r3, 0 - ldrsh r0, [r5, r3] - mov r1, r9 - bl GroundLives_ExecutePlayerScriptActionLives -_080A96B2: - lsls r0, 24 - cmp r0, 0 - bne _080A9738 - b _080A973C - .align 2, 0 -_080A96BC: .4byte 0x000007ff -_080A96C0: .4byte 0x000007fe -_080A96C4: .4byte gUnknown_3001B84 -_080A96C8: - movs r6, 0x8E - lsls r6, 1 - adds r0, r5, r6 - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080A9708 - movs r0, 0x44 - adds r1, r7, 0 - mov r2, r8 - bl sub_80AC4C8 - lsls r0, 16 - asrs r4, r0, 16 - cmp r4, 0 - blt _080A9708 - add r1, sp, 0x10 - adds r0, r4, 0 - bl sub_80AC3E0 - ldr r0, [sp, 0x10] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080A973C - movs r1, 0 - ldrsh r0, [r5, r1] - adds r1, r4, 0 - bl sub_80A8A5C - b _080A96B2 -_080A9708: - movs r2, 0x8E - lsls r2, 1 - adds r0, r5, r2 - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080A9740 - movs r0, 0x40 - adds r1, r7, 0 - mov r2, r8 - bl sub_80ADCA0 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - blt _080A9740 - movs r3, 0 - ldrsh r0, [r5, r3] - bl sub_80A8ACC - lsls r0, 24 - cmp r0, 0 - beq _080A973C -_080A9738: - movs r0, 0x2 - b _080A9742 -_080A973C: - movs r0, 0x1 - b _080A9742 -_080A9740: - movs r0, 0 -_080A9742: - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A95AC - - thumb_func_start sub_80A9750 -sub_80A9750: - push {r4,lr} - mov r12, r0 - lsls r1, 16 - lsrs r1, 16 - adds r4, r1, 0 - movs r3, 0xFF - ands r3, r1 - movs r2, 0xF0 - lsls r2, 4 - ands r2, r1 - cmp r3, 0 - beq _080A9770 - movs r0, 0xB0 - lsls r0, 1 - add r0, r12 - strh r3, [r0] -_080A9770: - cmp r2, 0 - beq _080A977C - movs r0, 0xAF - lsls r0, 1 - add r0, r12 - strh r2, [r0] -_080A977C: - movs r2, 0xB0 - lsls r2, 1 - add r2, r12 - ldrh r0, [r2] - cmp r0, 0x1 - bne _080A97A8 - movs r0, 0x80 - lsls r0, 5 - cmp r1, r0 - beq _080A97B6 - movs r0, 0xB2 - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - ldr r2, _080A97A4 - cmp r0, 0 - bgt _080A97A0 - b _080A9E98 -_080A97A0: - b _080A97C0 - .align 2, 0 -_080A97A4: .4byte 0x00000807 -_080A97A8: - cmp r0, 0x2 - beq _080A97AE - b _080A9E8C -_080A97AE: - movs r0, 0x80 - lsls r0, 5 - cmp r4, r0 - bne _080A97C6 -_080A97B6: - movs r1, 0xB2 - lsls r1, 1 - add r1, r12 - movs r0, 0x4 - str r0, [r1] -_080A97C0: - movs r2, 0x80 - lsls r2, 4 - b _080A9E98 -_080A97C6: - movs r0, 0xB2 - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - cmp r0, 0 - bgt _080A97C0 - mov r1, r12 - ldrh r0, [r1, 0x8] - subs r0, 0xC - lsls r0, 16 - asrs r1, r0, 16 - ldr r0, _080A97F0 - cmp r1, r0 - bls _080A97E4 - b _080A9E7E -_080A97E4: - lsls r0, r1, 2 - ldr r1, _080A97F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A97F0: .4byte 0x00000197 -_080A97F4: .4byte _080A97F8 - .align 2, 0 -_080A97F8: - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E60 - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E60 - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E68 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E60 - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E60 - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E60 - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E60 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E60 - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E60 - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E60 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E60 - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E60 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E60 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E7E - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 - .4byte _080A9E58 -_080A9E58: - ldr r2, _080A9E5C - b _080A9E98 - .align 2, 0 -_080A9E5C: .4byte 0x00000807 -_080A9E60: - ldr r2, _080A9E64 - b _080A9E98 - .align 2, 0 -_080A9E64: .4byte 0x00000307 -_080A9E68: - movs r0, 0xB4 - lsls r0, 1 - add r0, r12 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r2, _080A9E84 - cmp r1, r2 - beq _080A9E98 - ldr r0, _080A9E88 - cmp r1, r0 - beq _080A9E98 -_080A9E7E: - movs r2, 0xC0 - lsls r2, 2 - b _080A9E98 - .align 2, 0 -_080A9E84: .4byte 0x00000807 -_080A9E88: .4byte 0x00000307 -_080A9E8C: - ldr r1, _080A9EC4 - ldrh r0, [r2] - lsls r0, 1 - adds r0, r1 - movs r4, 0 - ldrsh r2, [r0, r4] -_080A9E98: - movs r0, 0xE0 - lsls r0, 3 - ands r0, r2 - cmp r0, 0 - bne _080A9EEE - movs r0, 0xAF - lsls r0, 1 - add r0, r12 - ldrh r1, [r0] - movs r0, 0xC0 - lsls r0, 2 - cmp r1, r0 - beq _080A9EEE - cmp r1, r0 - bgt _080A9EC8 - movs r3, 0x80 - lsls r3, 1 - cmp r1, r3 - beq _080A9EDA - movs r0, 0x80 - lsls r0, 2 - b _080A9ED4 - .align 2, 0 -_080A9EC4: .4byte gUnknown_8117F64 -_080A9EC8: - movs r3, 0x80 - lsls r3, 3 - cmp r1, r3 - beq _080A9EDE - movs r0, 0x80 - lsls r0, 4 -_080A9ED4: - cmp r1, r0 - beq _080A9EEC - b _080A9EEE -_080A9EDA: - orrs r2, r0 - b _080A9EEE -_080A9EDE: - movs r1, 0x80 - lsls r1, 2 - adds r0, r1, 0 - orrs r2, r0 - lsls r0, r2, 16 - asrs r2, r0, 16 - b _080A9EEE -_080A9EEC: - orrs r2, r3 -_080A9EEE: - movs r1, 0xB4 - lsls r1, 1 - add r1, r12 - ldrh r3, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, r2 - beq _080A9F02 - strh r2, [r1] - b _080A9F0C -_080A9F02: - movs r0, 0x80 - lsls r0, 5 - ands r0, r3 - cmp r0, 0 - beq _080A9F16 -_080A9F0C: - movs r1, 0xAE - lsls r1, 1 - add r1, r12 - movs r0, 0x1 - strb r0, [r1] -_080A9F16: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A9750 - - thumb_func_start sub_80A9F20 -sub_80A9F20: - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - ldr r2, [r1] - ldr r4, [r5, 0x14] - subs r0, r2, r4 - str r0, [sp] - ldr r3, [r1, 0x4] - ldr r1, [r5, 0x18] - subs r0, r3, r1 - str r0, [sp, 0x4] - adds r2, r4 - str r2, [sp, 0x8] - adds r3, r1 - add r2, sp, 0x8 - str r3, [r2, 0x4] - ldr r1, [r5, 0x28] - ldr r0, [sp] - cmp r0, r1 - blt _080A9F5E - ldr r1, [r5, 0x30] - ldr r0, [sp, 0x8] - cmp r0, r1 - bge _080A9F5E - ldr r1, [r5, 0x2C] - ldr r0, [sp, 0x4] - cmp r0, r1 - blt _080A9F5E - ldr r0, [r5, 0x34] - cmp r3, r0 - blt _080A9F62 -_080A9F5E: - movs r0, 0x1 - b _080A9F8C -_080A9F62: - adds r0, r5, 0 - mov r1, sp - bl sub_80A9488 - cmp r0, 0 - bne _080A9F8C - movs r0, 0xA2 - lsls r0, 1 - adds r2, r5, r0 - ldr r0, [sp] - ldr r1, [sp, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0xA6 - lsls r0, 1 - adds r2, r5, r0 - ldr r0, [sp, 0x8] - ldr r1, [sp, 0xC] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0 -_080A9F8C: - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80A9F20 - - thumb_func_start sub_80A9F94 -sub_80A9F94: - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - movs r2, 0xA2 - lsls r2, 1 - adds r0, r4, r2 - ldr r0, [r0] - ldr r2, [r1] - adds r0, r2 - str r0, [sp] - movs r3, 0xA4 - lsls r3, 1 - adds r0, r4, r3 - ldr r0, [r0] - ldr r1, [r1, 0x4] - adds r0, r1 - str r0, [sp, 0x4] - adds r3, 0x4 - adds r0, r4, r3 - ldr r0, [r0] - adds r0, r2 - str r0, [sp, 0x8] - movs r2, 0xA8 - lsls r2, 1 - adds r0, r4, r2 - ldr r0, [r0] - adds r0, r1 - add r1, sp, 0x8 - str r0, [r1, 0x4] - movs r6, 0 - ldr r3, [r4, 0x28] - ldr r0, [sp] - adds r2, r1, 0 - cmp r0, r3 - bge _080A9FE4 - str r3, [sp] - ldr r0, [r4, 0xC] - adds r0, r3, r0 - str r0, [sp, 0x8] - b _080A9FF4 -_080A9FE4: - ldr r1, [r4, 0x30] - ldr r0, [sp, 0x8] - cmp r0, r1 - blt _080A9FF6 - ldr r0, [r4, 0xC] - subs r0, r1, r0 - str r0, [sp] - str r1, [sp, 0x8] -_080A9FF4: - movs r6, 0x1 -_080A9FF6: - ldr r1, [r4, 0x2C] - ldr r0, [sp, 0x4] - cmp r0, r1 - bge _080AA008 - str r1, [sp, 0x4] - ldr r0, [r4, 0x10] - adds r0, r1, r0 - str r0, [r2, 0x4] - b _080AA018 -_080AA008: - ldr r1, [r4, 0x34] - ldr r0, [r2, 0x4] - cmp r0, r1 - blt _080AA01A - ldr r0, [r4, 0x10] - subs r0, r1, r0 - str r0, [sp, 0x4] - str r1, [r2, 0x4] -_080AA018: - movs r6, 0x1 -_080AA01A: - adds r0, r4, 0 - mov r1, sp - bl sub_80A9488 - adds r5, r0, 0 - cmp r5, 0 - beq _080AA034 - adds r0, r4, 0 - movs r1, 0 - bl sub_80AAF68 - adds r0, r5, 0 - b _080AA06A -_080AA034: - movs r3, 0xA2 - lsls r3, 1 - adds r2, r4, r3 - ldr r0, [sp] - ldr r1, [sp, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0xA6 - lsls r0, 1 - adds r2, r4, r0 - ldr r0, [sp, 0x8] - ldr r1, [sp, 0xC] - str r0, [r2] - str r1, [r2, 0x4] - cmp r6, 0 - bne _080AA060 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80AAF68 - movs r0, 0 - b _080AA06A -_080AA060: - adds r0, r4, 0 - movs r1, 0 - bl sub_80AAF68 - movs r0, 0x1 -_080AA06A: - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80A9F94 - - thumb_func_start sub_80AA074 -sub_80AA074: - push {r4-r7,lr} - sub sp, 0x10 - adds r4, r0, 0 - movs r2, 0xA2 - lsls r2, 1 - adds r0, r4, r2 - ldr r0, [r0] - ldr r2, [r1] - adds r0, r2 - str r0, [sp] - movs r3, 0xA4 - lsls r3, 1 - adds r0, r4, r3 - ldr r0, [r0] - ldr r1, [r1, 0x4] - adds r0, r1 - str r0, [sp, 0x4] - adds r3, 0x4 - adds r0, r4, r3 - ldr r0, [r0] - adds r0, r2 - str r0, [sp, 0x8] - movs r2, 0xA8 - lsls r2, 1 - adds r0, r4, r2 - ldr r0, [r0] - adds r0, r1 - add r1, sp, 0x8 - str r0, [r1, 0x4] - ldr r3, [r4, 0x28] - ldr r0, [sp] - adds r5, r1, 0 - cmp r0, r3 - bge _080AA0C2 - str r3, [sp] - ldr r0, [r4, 0xC] - adds r0, r3, r0 - str r0, [sp, 0x8] - b _080AA0D2 -_080AA0C2: - ldr r1, [r4, 0x30] - ldr r0, [sp, 0x8] - cmp r0, r1 - blt _080AA0D2 - ldr r0, [r4, 0xC] - subs r0, r1, r0 - str r0, [sp] - str r1, [sp, 0x8] -_080AA0D2: - ldr r1, [r4, 0x2C] - ldr r0, [sp, 0x4] - cmp r0, r1 - bge _080AA0E4 - str r1, [sp, 0x4] - ldr r0, [r4, 0x10] - adds r0, r1, r0 - str r0, [r5, 0x4] - b _080AA0F4 -_080AA0E4: - ldr r1, [r4, 0x34] - ldr r0, [r5, 0x4] - cmp r0, r1 - blt _080AA0F4 - ldr r0, [r4, 0x10] - subs r0, r1, r0 - str r0, [sp, 0x4] - str r1, [r5, 0x4] -_080AA0F4: - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - bl sub_80A95AC - adds r6, r0, 0 - cmp r6, 0 - bne _080AA170 - movs r3, 0xA2 - lsls r3, 1 - adds r2, r4, r3 - ldr r0, [sp] - ldr r1, [sp, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0xA6 - lsls r0, 1 - adds r2, r4, r0 - ldr r0, [sp, 0x8] - ldr r1, [sp, 0xC] - str r0, [r2] - str r1, [r2, 0x4] - movs r1, 0x8E - lsls r1, 1 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080AA170 - movs r0, 0x20 - mov r1, sp - adds r2, r5, 0 - bl sub_80ADCA0 - lsls r0, 16 - asrs r5, r0, 16 - cmp r5, 0 - blt _080AA166 - movs r2, 0x9F - lsls r2, 1 - adds r7, r4, r2 - movs r3, 0 - ldrsh r0, [r7, r3] - cmp r0, r5 - beq _080AA170 - movs r1, 0 - ldrsh r0, [r4, r1] - adds r1, r5, 0 - bl sub_80A8ACC - lsls r0, 24 - cmp r0, 0 - beq _080AA170 - strh r5, [r7] - movs r6, 0x2 - b _080AA170 -_080AA166: - movs r2, 0x9F - lsls r2, 1 - adds r1, r4, r2 - ldr r0, _080AA17C - strh r0, [r1] -_080AA170: - adds r0, r6, 0 - add sp, 0x10 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080AA17C: .4byte 0x0000ffff - thumb_func_end sub_80AA074 - - thumb_func_start sub_80AA180 -sub_80AA180: - push {r4-r7,lr} - sub sp, 0x10 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - movs r0, 0x4 - ands r0, r5 - cmp r0, 0 - beq _080AA220 - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x80 - bl sub_80A9344 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - blt _080AA220 - mov r1, sp - bl sub_80A8FD8 - movs r2, 0xA2 - lsls r2, 1 - adds r0, r4, r2 - ldr r1, [r0] - ldr r0, [r4, 0x14] - adds r1, r0 - ldr r0, [sp] - subs r0, r1 - str r0, [sp, 0x8] - movs r3, 0xA4 - lsls r3, 1 - adds r0, r4, r3 - ldr r0, [r0] - ldr r1, [r4, 0x18] - adds r0, r1 - ldr r1, [sp, 0x4] - subs r1, r0 - add r0, sp, 0x8 - str r1, [r0, 0x4] - bl sub_8002C60 - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080AA2B2 - movs r0, 0xA1 - lsls r0, 1 - adds r2, r4, r0 - lsls r0, r1, 24 - lsrs r0, 24 - strb r0, [r2] - ldr r3, _080AA21C - adds r1, r4, r3 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - beq _080AA20A - movs r0, 0xAE - lsls r0, 1 - adds r1, r4, r0 - movs r0, 0x1 - strb r0, [r1] -_080AA20A: - movs r1, 0 - ldrsb r1, [r2, r1] - adds r0, r4, 0 - bl sub_80AA3F8 - lsls r0, 24 - cmp r0, 0 - bne _080AA2AE - b _080AA2B2 - .align 2, 0 -_080AA21C: .4byte 0x0000015d -_080AA220: - movs r0, 0x8 - ands r0, r5 - cmp r0, 0 - beq _080AA2B2 - movs r0, 0x80 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_80AC554 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - blt _080AA2B2 - mov r1, sp - bl sub_80AC448 - movs r1, 0xA2 - lsls r1, 1 - adds r0, r4, r1 - ldr r1, [r0] - ldr r0, [r4, 0x14] - adds r1, r0 - ldr r0, [sp] - subs r0, r1 - str r0, [sp, 0x8] - add r0, sp, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r4, r2 - ldr r2, [r1] - ldr r1, [r4, 0x18] - adds r2, r1 - ldr r1, [sp, 0x4] - subs r1, r2 - str r1, [r0, 0x4] - bl sub_8002C60 - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080AA2B2 - movs r3, 0xA1 - lsls r3, 1 - adds r2, r4, r3 - lsls r0, r1, 24 - lsrs r0, 24 - strb r0, [r2] - adds r3, 0x1B - adds r1, r4, r3 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - beq _080AA29E - movs r0, 0xAE - lsls r0, 1 - adds r1, r4, r0 - movs r0, 0x1 - strb r0, [r1] -_080AA29E: - movs r1, 0 - ldrsb r1, [r2, r1] - adds r0, r4, 0 - bl sub_80AA3F8 - lsls r0, 24 - cmp r0, 0 - beq _080AA2B2 -_080AA2AE: - movs r0, 0x3 - b _080AA2B4 -_080AA2B2: - movs r0, 0 -_080AA2B4: - add sp, 0x10 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AA180 - - thumb_func_start sub_80AA2BC -sub_80AA2BC: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - adds r7, r0, 0 - mov r8, r1 - ldr r0, [r2] - ldr r1, [r2, 0x4] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, [r3] - ldr r1, [r3, 0x4] - str r0, [sp, 0x10] - str r1, [sp, 0x14] - ldr r0, [sp] - cmp r0, 0 - bge _080AA2E6 - ldr r1, _080AA3C4 - adds r0, r1 -_080AA2E6: - asrs r0, 11 - str r0, [sp, 0x8] - ldr r0, [sp, 0x4] - cmp r0, 0 - bge _080AA2F4 - ldr r2, _080AA3C4 - adds r0, r2 -_080AA2F4: - asrs r0, 11 - add r1, sp, 0x8 - str r0, [r1, 0x4] - ldr r4, [sp, 0x10] - subs r0, r4, 0x1 - mov r10, r1 - cmp r0, 0 - bge _080AA308 - ldr r1, _080AA3C8 - adds r0, r4, r1 -_080AA308: - asrs r2, r0, 11 - add r0, sp, 0x10 - ldr r4, [r0, 0x4] - subs r1, r4, 0x1 - mov r9, r0 - cmp r1, 0 - bge _080AA31A - ldr r0, _080AA3C8 - adds r1, r4, r0 -_080AA31A: - asrs r3, r1, 11 - ldr r0, [sp, 0x8] - subs r0, r2, r0 - adds r0, 0x1 - str r0, [sp, 0x18] - mov r1, r10 - ldr r0, [r1, 0x4] - subs r0, r3, r0 - adds r0, 0x1 - add r1, sp, 0x18 - str r0, [r1, 0x4] - movs r0, 0x4 - mov r2, r8 - ands r0, r2 - cmp r0, 0 - beq _080AA394 - movs r1, 0 - ldrsh r0, [r7, r1] - movs r1, 0x80 - mov r2, sp - mov r3, r9 - bl sub_80A92A0 - lsls r0, 16 - asrs r5, r0, 16 - cmp r5, 0 - blt _080AA394 - ldr r1, _080AA3CC - lsls r0, r5, 5 - subs r0, r5 - lsls r0, 4 - ldr r1, [r1] - adds r6, r1, r0 - movs r2, 0x8E - lsls r2, 1 - adds r0, r6, r2 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _080AA384 - movs r4, 0xA1 - lsls r4, 1 - adds r0, r7, r4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r1, 0x5 - bl sub_8002984 - adds r4, r6, r4 - strb r0, [r4] -_080AA384: - movs r1, 0 - ldrsh r0, [r7, r1] - adds r1, r5, 0 - bl GroundLives_ExecutePlayerScriptActionLives - lsls r0, 24 - cmp r0, 0 - bne _080AA3BE -_080AA394: - movs r0, 0x8 - mov r2, r8 - ands r0, r2 - cmp r0, 0 - beq _080AA3D0 - movs r0, 0x80 - mov r1, sp - mov r2, r9 - bl sub_80AC4C8 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - blt _080AA3D0 - movs r2, 0 - ldrsh r0, [r7, r2] - bl sub_80A8A5C - lsls r0, 24 - cmp r0, 0 - beq _080AA3D0 -_080AA3BE: - movs r0, 0x3 - b _080AA3E6 - .align 2, 0 -_080AA3C4: .4byte 0x000007ff -_080AA3C8: .4byte 0x000007fe -_080AA3CC: .4byte gUnknown_3001B84 -_080AA3D0: - movs r0, 0x10 - mov r1, r10 - add r2, sp, 0x18 - bl sub_80A595C - lsls r0, 24 - cmp r0, 0 - bne _080AA3E4 - movs r0, 0 - b _080AA3E6 -_080AA3E4: - movs r0, 0x6 -_080AA3E6: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AA2BC - - thumb_func_start sub_80AA3F8 -sub_80AA3F8: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - adds r6, r0, 0 - lsls r1, 24 - asrs r1, 24 - str r1, [sp, 0x28] - movs r2, 0x80 - lsls r2, 1 - mov r0, sp - bl sub_8002BB8 - ldr r4, [sp] - ldr r5, [sp, 0x4] - movs r0, 0xA2 - lsls r0, 1 - adds r0, r6 - mov r9, r0 - ldr r0, [r0] - adds r0, r4 - str r0, [sp, 0x8] - movs r1, 0xA4 - lsls r1, 1 - adds r1, r6 - mov r10, r1 - ldr r0, [r1] - adds r0, r5 - add r2, sp, 0x8 - str r0, [r2, 0x4] - movs r1, 0xA6 - lsls r1, 1 - adds r0, r6, r1 - ldr r0, [r0] - adds r0, r4 - str r0, [sp, 0x10] - adds r1, 0x4 - adds r0, r6, r1 - ldr r0, [r0] - adds r0, r5 - add r3, sp, 0x10 - str r0, [r3, 0x4] - adds r0, r6, 0 - movs r1, 0xC - bl sub_80AA2BC - adds r7, r0, 0 - cmp r7, 0x3 - bne _080AA462 -_080AA45E: - movs r0, 0x1 - b _080AA650 -_080AA462: - ldr r0, [r6, 0xC] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r2, 0x80 - lsls r2, 2 - mov r8, r2 - add r0, r8 - muls r0, r4 - cmp r0, 0 - bge _080AA47A - adds r0, 0xFF -_080AA47A: - asrs r0, 8 - str r0, [sp, 0x2C] - ldr r0, [r6, 0x10] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - add r0, r8 - muls r0, r5 - cmp r0, 0 - bge _080AA490 - adds r0, 0xFF -_080AA490: - asrs r0, 8 - str r0, [sp, 0x30] - mov r1, r9 - ldr r0, [r1] - ldr r1, [r6, 0x14] - adds r0, r1 - ldr r2, [sp, 0x2C] - adds r0, r2 - ldr r2, _080AA4F4 - adds r0, r2 - str r0, [sp, 0x18] - mov r1, r10 - ldr r0, [r1] - ldr r1, [r6, 0x18] - adds r0, r1 - ldr r1, [sp, 0x30] - adds r0, r1 - adds r0, r2 - add r2, sp, 0x18 - str r0, [r2, 0x4] - movs r1, 0xC0 - lsls r1, 3 - ldr r0, [sp, 0x18] - adds r0, r1 - str r0, [sp, 0x20] - ldr r0, [r2, 0x4] - adds r0, r1 - add r3, sp, 0x20 - str r0, [r3, 0x4] - ldr r0, _080AA4F8 - mov r9, r0 - ldr r0, [sp, 0x28] - lsls r1, r0, 2 - add r9, r1 - mov r0, r9 - ldr r0, [r0] - str r0, [sp, 0x34] - ldr r0, _080AA4FC - adds r0, r1, r0 - ldr r0, [r0] - str r0, [sp, 0x38] - ldr r0, _080AA500 - adds r1, r0 - ldr r1, [r1] - str r1, [sp, 0x3C] - mov r10, r8 - mov r9, r2 - mov r8, r3 - b _080AA568 - .align 2, 0 -_080AA4F4: .4byte 0xfffffd00 -_080AA4F8: .4byte gUnknown_8117FF0 -_080AA4FC: .4byte gUnknown_8118010 -_080AA500: .4byte gUnknown_8118030 -_080AA504: - ldr r1, [r6, 0x28] - ldr r0, [sp, 0x18] - cmp r0, r1 - bge _080AA50E - b _080AA64E -_080AA50E: - ldr r1, [r6, 0x30] - ldr r0, [sp, 0x20] - cmp r0, r1 - blt _080AA518 - b _080AA64E -_080AA518: - ldr r1, [r6, 0x2C] - mov r2, r9 - ldr r0, [r2, 0x4] - cmp r0, r1 - bge _080AA524 - b _080AA64E -_080AA524: - ldr r1, [r6, 0x34] - mov r2, r8 - ldr r0, [r2, 0x4] - cmp r0, r1 - blt _080AA530 - b _080AA64E -_080AA530: - adds r0, r6, 0 - movs r1, 0xC - mov r2, r9 - mov r3, r8 - bl sub_80AA2BC - adds r7, r0, 0 - cmp r7, 0x3 - beq _080AA45E - ldr r0, [sp, 0x18] - adds r0, r4 - str r0, [sp, 0x18] - mov r1, r9 - ldr r0, [r1, 0x4] - adds r0, r5 - str r0, [r1, 0x4] - ldr r0, [sp, 0x20] - adds r0, r4 - str r0, [sp, 0x20] - mov r2, r8 - ldr r0, [r2, 0x4] - adds r0, r5 - str r0, [r2, 0x4] - cmp r7, 0x6 - beq _080AA572 - movs r0, 0x80 - lsls r0, 1 - add r10, r0 -_080AA568: - ldr r1, [sp, 0x34] - cmp r10, r1 - blt _080AA504 - cmp r7, 0x6 - bne _080AA64E -_080AA572: - ldr r2, [sp, 0x38] - cmp r10, r2 - bge _080AA5DC -_080AA578: - ldr r1, [sp, 0x18] - ldr r0, [r6, 0x28] - cmp r1, r0 - blt _080AA64E - ldr r1, [sp, 0x20] - ldr r0, [r6, 0x30] - cmp r1, r0 - bge _080AA64E - mov r0, r9 - ldr r1, [r0, 0x4] - ldr r0, [r6, 0x2C] - cmp r1, r0 - blt _080AA64E - mov r2, r8 - ldr r1, [r2, 0x4] - ldr r0, [r6, 0x34] - cmp r1, r0 - bge _080AA64E - adds r0, r6, 0 - movs r1, 0x4 - mov r2, r9 - mov r3, r8 - bl sub_80AA2BC - adds r7, r0, 0 - cmp r7, 0x3 - bne _080AA5B0 - b _080AA45E -_080AA5B0: - ldr r0, [sp, 0x18] - adds r0, r4 - str r0, [sp, 0x18] - mov r1, r9 - ldr r0, [r1, 0x4] - adds r0, r5 - str r0, [r1, 0x4] - ldr r0, [sp, 0x20] - adds r0, r4 - str r0, [sp, 0x20] - mov r2, r8 - ldr r0, [r2, 0x4] - adds r0, r5 - str r0, [r2, 0x4] - cmp r7, 0x6 - bne _080AA5E0 - movs r0, 0x80 - lsls r0, 1 - add r10, r0 - ldr r1, [sp, 0x38] - cmp r10, r1 - blt _080AA578 -_080AA5DC: - cmp r7, 0x6 - beq _080AA64E -_080AA5E0: - movs r2, 0 - mov r10, r2 - ldr r0, [sp, 0x3C] - cmp r10, r0 - bge _080AA64E -_080AA5EA: - ldr r1, [sp, 0x18] - ldr r0, [r6, 0x28] - cmp r1, r0 - blt _080AA64E - ldr r1, [sp, 0x20] - ldr r0, [r6, 0x30] - cmp r1, r0 - bge _080AA64E - mov r2, r9 - ldr r1, [r2, 0x4] - ldr r0, [r6, 0x2C] - cmp r1, r0 - blt _080AA64E - mov r0, r8 - ldr r1, [r0, 0x4] - ldr r0, [r6, 0x34] - cmp r1, r0 - bge _080AA64E - adds r0, r6, 0 - movs r1, 0x4 - mov r2, r9 - mov r3, r8 - bl sub_80AA2BC - adds r7, r0, 0 - cmp r7, 0x3 - bne _080AA622 - b _080AA45E -_080AA622: - cmp r7, 0x6 - beq _080AA64E - ldr r0, [sp, 0x18] - adds r0, r4 - str r0, [sp, 0x18] - mov r1, r9 - ldr r0, [r1, 0x4] - adds r0, r5 - str r0, [r1, 0x4] - ldr r0, [sp, 0x20] - adds r0, r4 - str r0, [sp, 0x20] - mov r2, r8 - ldr r0, [r2, 0x4] - adds r0, r5 - str r0, [r2, 0x4] - movs r0, 0x80 - lsls r0, 1 - add r10, r0 - ldr r1, [sp, 0x3C] - cmp r10, r1 - blt _080AA5EA -_080AA64E: - movs r0, 0 -_080AA650: - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AA3F8 - - thumb_func_start sub_80AA660 -sub_80AA660: - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x80 - lsls r0, 1 - bl sub_80AC4C8 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - blt _080AA686 - movs r2, 0 - ldrsh r0, [r4, r2] - bl sub_80A8A5C - lsls r0, 24 - cmp r0, 0 - beq _080AA686 - movs r0, 0x4 - b _080AA688 -_080AA686: - movs r0, 0 -_080AA688: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80AA660 - - thumb_func_start sub_80AA690 -sub_80AA690: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r7, r0, 0 - lsls r1, 24 - asrs r1, 24 - mov r9, r1 - movs r2, 0x80 - lsls r2, 1 - mov r0, sp - bl sub_8002BB8 - ldr r5, [sp] - ldr r6, [sp, 0x4] - ldr r0, [r7, 0xC] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0x80 - lsls r1, 2 - mov r8, r1 - add r0, r8 - muls r0, r5 - cmp r0, 0 - bge _080AA6CA - adds r0, 0xFF -_080AA6CA: - asrs r3, r0, 8 - ldr r0, [r7, 0x10] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - add r0, r8 - muls r0, r6 - cmp r0, 0 - bge _080AA6DE - adds r0, 0xFF -_080AA6DE: - asrs r4, r0, 8 - movs r2, 0xA2 - lsls r2, 1 - adds r0, r7, r2 - ldr r0, [r0] - ldr r1, [r7, 0x14] - adds r0, r1 - adds r0, r3 - ldr r2, _080AA76C - adds r0, r2 - str r0, [sp, 0x8] - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - ldr r0, [r0] - ldr r1, [r7, 0x18] - adds r0, r1 - adds r0, r4 - adds r0, r2 - add r2, sp, 0x8 - str r0, [r2, 0x4] - movs r1, 0xC0 - lsls r1, 3 - ldr r0, [sp, 0x8] - adds r0, r1 - str r0, [sp, 0x10] - ldr r0, [r2, 0x4] - adds r0, r1 - add r3, sp, 0x10 - str r0, [r3, 0x4] - ldr r1, _080AA770 - mov r4, r9 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - mov r10, r0 - mov r9, r8 - mov r8, r2 - adds r4, r3, 0 - cmp r9, r10 - bge _080AA79C -_080AA730: - ldr r1, [r7, 0x28] - ldr r0, [sp, 0x8] - cmp r0, r1 - blt _080AA79C - ldr r1, [r7, 0x30] - ldr r0, [sp, 0x10] - cmp r0, r1 - bge _080AA79C - ldr r1, [r7, 0x2C] - mov r2, r8 - ldr r0, [r2, 0x4] - cmp r0, r1 - blt _080AA79C - ldr r1, [r7, 0x34] - ldr r0, [r4, 0x4] - cmp r0, r1 - bge _080AA79C - adds r0, r7, 0 - mov r1, r8 - adds r2, r4, 0 - bl sub_80AA660 - cmp r0, 0x4 - beq _080AA774 - cmp r0, 0x4 - bhi _080AA778 - cmp r0, 0 - bne _080AA778 - b _080AA79C - .align 2, 0 -_080AA76C: .4byte 0xfffffd00 -_080AA770: .4byte gUnknown_8117FF0 -_080AA774: - movs r0, 0x1 - b _080AA79E -_080AA778: - ldr r0, [sp, 0x8] - adds r0, r5 - str r0, [sp, 0x8] - mov r1, r8 - ldr r0, [r1, 0x4] - adds r0, r6 - str r0, [r1, 0x4] - ldr r0, [sp, 0x10] - adds r0, r5 - str r0, [sp, 0x10] - ldr r0, [r4, 0x4] - adds r0, r6 - str r0, [r4, 0x4] - movs r2, 0x80 - lsls r2, 1 - add r9, r2 - cmp r9, r10 - blt _080AA730 -_080AA79C: - movs r0, 0 -_080AA79E: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AA690 - - thumb_func_start sub_80AA7B0 -sub_80AA7B0: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - adds r7, r0, 0 - adds r6, r1, 0 - mov r12, r2 - ldr r2, [sp, 0x38] - ldr r0, [r3] - ldr r1, [r3, 0x4] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, [r2] - ldr r1, [r2, 0x4] - str r0, [sp, 0x10] - str r1, [sp, 0x14] - ldr r0, [sp] - cmp r0, 0 - bge _080AA7DA - ldr r1, _080AA884 - adds r0, r1 -_080AA7DA: - asrs r0, 11 - str r0, [sp, 0x8] - ldr r0, [sp, 0x4] - cmp r0, 0 - bge _080AA7E8 - ldr r2, _080AA884 - adds r0, r2 -_080AA7E8: - asrs r0, 11 - add r1, sp, 0x8 - str r0, [r1, 0x4] - ldr r4, [sp, 0x10] - subs r0, r4, 0x1 - mov r8, r1 - cmp r0, 0 - bge _080AA7FC - ldr r5, _080AA888 - adds r0, r4, r5 -_080AA7FC: - asrs r2, r0, 11 - add r4, sp, 0x10 - ldr r1, [r4, 0x4] - subs r0, r1, 0x1 - cmp r0, 0 - bge _080AA80C - ldr r5, _080AA888 - adds r0, r1, r5 -_080AA80C: - asrs r3, r0, 11 - ldr r0, [sp, 0x8] - subs r0, r2, r0 - adds r0, 0x1 - str r0, [sp, 0x18] - mov r1, r8 - ldr r0, [r1, 0x4] - subs r0, r3, r0 - adds r0, 0x1 - add r1, sp, 0x18 - str r0, [r1, 0x4] - movs r0, 0x4 - mov r2, r12 - ands r0, r2 - adds r5, r1, 0 - cmp r0, 0 - beq _080AA890 - movs r1, 0 - ldrsh r0, [r7, r1] - movs r1, 0x80 - mov r2, sp - adds r3, r4, 0 - bl sub_80A92A0 - lsls r0, 16 - asrs r4, r0, 16 - cmp r4, 0 - blt _080AA890 - adds r0, r4, 0 - bl sub_80A8BBC - lsls r0, 16 - ldr r2, _080AA88C - adds r0, r2 - lsrs r0, 16 - cmp r0, 0xF - bhi _080AA890 - adds r0, r4, 0 - bl sub_80A8E9C - cmp r0, 0 - beq _080AA890 - strh r4, [r6] - movs r5, 0xA1 - lsls r5, 1 - adds r0, r7, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r1, 0x5 - bl sub_8002984 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - adds r0, r4, 0 - bl sub_80A9090 - movs r0, 0x5 - b _080AA8AE - .align 2, 0 -_080AA884: .4byte 0x000007ff -_080AA888: .4byte 0x000007fe -_080AA88C: .4byte 0xfff20000 -_080AA890: - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - strh r0, [r6] - movs r0, 0x10 - mov r1, r8 - adds r2, r5, 0 - bl sub_80A595C - lsls r0, 24 - cmp r0, 0 - bne _080AA8AC - movs r0, 0 - b _080AA8AE -_080AA8AC: - movs r0, 0x6 -_080AA8AE: - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AA7B0 - - thumb_func_start sub_80AA8BC -sub_80AA8BC: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - adds r6, r0, 0 - str r1, [sp, 0x1C] - lsls r2, 24 - asrs r2, 24 - mov r8, r2 - movs r2, 0x80 - lsls r2, 1 - add r0, sp, 0x4 - mov r1, r8 - bl sub_8002BB8 - ldr r4, [sp, 0x4] - ldr r5, [sp, 0x8] - ldr r0, [r6, 0xC] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0x80 - lsls r1, 2 - mov r9, r1 - add r0, r9 - muls r0, r4 - cmp r0, 0 - bge _080AA8FA - adds r0, 0xFF -_080AA8FA: - asrs r0, 8 - str r0, [sp, 0x20] - ldr r0, [r6, 0x10] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - add r0, r9 - muls r0, r5 - cmp r0, 0 - bge _080AA910 - adds r0, 0xFF -_080AA910: - asrs r0, 8 - str r0, [sp, 0x24] - movs r2, 0xA2 - lsls r2, 1 - adds r0, r6, r2 - ldr r0, [r0] - ldr r1, [r6, 0x14] - adds r0, r1 - ldr r7, [sp, 0x20] - adds r0, r7 - ldr r2, _080AA9F0 - adds r0, r2 - str r0, [sp, 0xC] - movs r1, 0xA4 - lsls r1, 1 - adds r0, r6, r1 - ldr r0, [r0] - ldr r1, [r6, 0x18] - adds r0, r1 - ldr r7, [sp, 0x24] - adds r0, r7 - adds r0, r2 - add r2, sp, 0xC - str r0, [r2, 0x4] - movs r1, 0xC0 - lsls r1, 3 - ldr r0, [sp, 0xC] - adds r0, r1 - str r0, [sp, 0x14] - ldr r0, [r2, 0x4] - adds r0, r1 - add r3, sp, 0x14 - str r0, [r3, 0x4] - ldr r0, _080AA9F4 - mov r7, r8 - lsls r1, r7, 2 - adds r0, r1, r0 - ldr r0, [r0] - mov r10, r0 - ldr r0, _080AA9F8 - adds r0, r1, r0 - ldr r0, [r0] - str r0, [sp, 0x28] - ldr r0, _080AA9FC - adds r1, r0 - ldr r1, [r1] - str r1, [sp, 0x2C] - movs r1, 0 - movs r7, 0x1 - negs r7, r7 - adds r0, r7, 0 - ldr r7, [sp, 0x1C] - strh r0, [r7] - mov r8, r2 - adds r7, r3, 0 - cmp r9, r10 - bge _080AA9E8 -_080AA982: - ldr r1, [r6, 0x28] - ldr r0, [sp, 0xC] - cmp r0, r1 - bge _080AA98C - b _080AAAD4 -_080AA98C: - ldr r1, [r6, 0x30] - ldr r0, [sp, 0x14] - cmp r0, r1 - blt _080AA996 - b _080AAAD4 -_080AA996: - ldr r1, [r6, 0x2C] - mov r2, r8 - ldr r0, [r2, 0x4] - cmp r0, r1 - bge _080AA9A2 - b _080AAAD4 -_080AA9A2: - ldr r1, [r6, 0x34] - ldr r0, [r7, 0x4] - cmp r0, r1 - blt _080AA9AC - b _080AAAD4 -_080AA9AC: - str r7, [sp] - adds r0, r6, 0 - ldr r1, [sp, 0x1C] - movs r2, 0xC - mov r3, r8 - bl sub_80AA7B0 - adds r1, r0, 0 - cmp r1, 0x5 - beq _080AAA66 - ldr r0, [sp, 0xC] - adds r0, r4 - str r0, [sp, 0xC] - mov r2, r8 - ldr r0, [r2, 0x4] - adds r0, r5 - str r0, [r2, 0x4] - ldr r0, [sp, 0x14] - adds r0, r4 - str r0, [sp, 0x14] - ldr r0, [r7, 0x4] - adds r0, r5 - str r0, [r7, 0x4] - cmp r1, 0x6 - beq _080AAA5A - movs r0, 0x80 - lsls r0, 1 - add r9, r0 - cmp r9, r10 - blt _080AA982 -_080AA9E8: - cmp r1, 0x6 - bne _080AAAD4 - b _080AAA5A - .align 2, 0 -_080AA9F0: .4byte 0xfffffd00 -_080AA9F4: .4byte gUnknown_8117FF0 -_080AA9F8: .4byte gUnknown_8118010 -_080AA9FC: .4byte gUnknown_8118030 -_080AAA00: - ldr r1, [sp, 0xC] - ldr r0, [r6, 0x28] - cmp r1, r0 - blt _080AAAD4 - ldr r1, [sp, 0x14] - ldr r0, [r6, 0x30] - cmp r1, r0 - bge _080AAAD4 - mov r0, r8 - ldr r1, [r0, 0x4] - ldr r0, [r6, 0x2C] - cmp r1, r0 - blt _080AAAD4 - ldr r1, [r7, 0x4] - ldr r0, [r6, 0x34] - cmp r1, r0 - bge _080AAAD4 - str r7, [sp] - adds r0, r6, 0 - ldr r1, [sp, 0x1C] - movs r2, 0x4 - mov r3, r8 - bl sub_80AA7B0 - adds r1, r0, 0 - cmp r1, 0x5 - beq _080AAA66 - ldr r0, [sp, 0xC] - adds r0, r4 - str r0, [sp, 0xC] - mov r2, r8 - ldr r0, [r2, 0x4] - adds r0, r5 - str r0, [r2, 0x4] - ldr r0, [sp, 0x14] - adds r0, r4 - str r0, [sp, 0x14] - ldr r0, [r7, 0x4] - adds r0, r5 - str r0, [r7, 0x4] - cmp r1, 0x6 - bne _080AAA6A - movs r0, 0x80 - lsls r0, 1 - add r9, r0 -_080AAA5A: - ldr r2, [sp, 0x28] - cmp r9, r2 - blt _080AAA00 - cmp r1, 0x6 - bne _080AAA6A - b _080AAAD4 -_080AAA66: - movs r0, 0x1 - b _080AAAD6 -_080AAA6A: - movs r0, 0 - mov r9, r0 - ldr r1, [sp, 0x2C] - cmp r9, r1 - bge _080AAAD4 -_080AAA74: - ldr r1, [sp, 0xC] - ldr r0, [r6, 0x28] - cmp r1, r0 - blt _080AAAD4 - ldr r1, [sp, 0x14] - ldr r0, [r6, 0x30] - cmp r1, r0 - bge _080AAAD4 - mov r2, r8 - ldr r1, [r2, 0x4] - ldr r0, [r6, 0x2C] - cmp r1, r0 - blt _080AAAD4 - ldr r1, [r7, 0x4] - ldr r0, [r6, 0x34] - cmp r1, r0 - bge _080AAAD4 - str r7, [sp] - adds r0, r6, 0 - ldr r1, [sp, 0x1C] - movs r2, 0x4 - mov r3, r8 - bl sub_80AA7B0 - adds r1, r0, 0 - cmp r1, 0x5 - beq _080AAA66 - cmp r1, 0x6 - beq _080AAAD4 - ldr r0, [sp, 0xC] - adds r0, r4 - str r0, [sp, 0xC] - mov r1, r8 - ldr r0, [r1, 0x4] - adds r0, r5 - str r0, [r1, 0x4] - ldr r0, [sp, 0x14] - adds r0, r4 - str r0, [sp, 0x14] - ldr r0, [r7, 0x4] - adds r0, r5 - str r0, [r7, 0x4] - movs r2, 0x80 - lsls r2, 1 - add r9, r2 - ldr r0, [sp, 0x2C] - cmp r9, r0 - blt _080AAA74 -_080AAAD4: - movs r0, 0 -_080AAAD6: - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AA8BC - - thumb_func_start sub_80AAAE8 -sub_80AAAE8: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x80 - adds r5, r0, 0 - adds r3, r1, 0 - lsls r2, 24 - asrs r4, r2, 24 - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x78] - movs r2, 0xAF - lsls r2, 1 - adds r1, r5, r2 - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r1] - movs r6, 0xB0 - lsls r6, 1 - adds r1, r5, r6 - movs r0, 0x1 - strh r0, [r1] - ldr r0, [sp, 0x78] - cmp r4, r0 - beq _080AAB26 - movs r1, 0xA1 - lsls r1, 1 - adds r0, r5, r1 - strb r4, [r0] -_080AAB26: - subs r0, r3, 0x1 - cmp r0, 0x13 - bls _080AAB2E - b _080AAEB8 -_080AAB2E: - lsls r0, 2 - ldr r1, _080AAB38 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AAB38: .4byte _080AAB3C - .align 2, 0 -_080AAB3C: - .4byte _080AAB8C - .4byte _080AAD60 - .4byte _080AAC9C - .4byte _080AAC9C - .4byte _080AAC9C - .4byte _080AAB9E - .4byte _080AAB9E - .4byte _080AAB9E - .4byte _080AAD7C - .4byte _080AADF4 - .4byte _080AAE06 - .4byte _080AAEB8 - .4byte _080AAEB8 - .4byte _080AAEB8 - .4byte _080AAEB8 - .4byte _080AAEB8 - .4byte _080AAEB8 - .4byte _080AAEB8 - .4byte _080AAE32 - .4byte _080AAE9C -_080AAB8C: - movs r4, 0xB2 - lsls r4, 1 - adds r1, r5, r4 - movs r0, 0 - str r0, [r1] - movs r6, 0xC0 - lsls r6, 2 - str r6, [sp, 0x78] - b _080AAD6E -_080AAB9E: - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _080AAC88 - movs r6, 0 - movs r0, 0xB2 - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x4 - str r0, [r1] - cmp r3, 0x7 - beq _080AABD2 - cmp r3, 0x7 - bhi _080AABC0 - cmp r3, 0x6 - beq _080AABC6 - b _080AABEA -_080AABC0: - cmp r3, 0x8 - beq _080AABDE - b _080AABEA -_080AABC6: - movs r1, 0x90 - lsls r1, 4 - str r1, [sp, 0x78] - movs r2, 0x1 - str r2, [sp, 0x7C] - b _080AABFC -_080AABD2: - movs r3, 0x80 - lsls r3, 4 - str r3, [sp, 0x78] - movs r0, 0x2 - str r0, [sp, 0x7C] - b _080AABFC -_080AABDE: - movs r1, 0xA0 - lsls r1, 4 - str r1, [sp, 0x78] - movs r2, 0x4 - str r2, [sp, 0x7C] - b _080AABFC -_080AABEA: - movs r3, 0xB2 - lsls r3, 1 - adds r1, r5, r3 - movs r0, 0 - str r0, [r1] - ldr r0, _080AAC20 - str r0, [sp, 0x78] - movs r1, 0 - str r1, [sp, 0x7C] -_080AABFC: - movs r2, 0x80 - lsls r2, 1 - add r0, sp, 0x28 - adds r1, r4, 0 - bl sub_8002BB8 - ldr r0, [sp, 0x28] - ldr r1, [sp, 0x2C] - str r0, [sp, 0x38] - str r1, [sp, 0x3C] - movs r2, 0 - mov r10, r2 - add r3, sp, 0x40 - mov r9, r3 - add r4, sp, 0x30 - mov r8, r4 - b _080AAC42 - .align 2, 0 -_080AAC20: .4byte 0x00000807 -_080AAC24: - cmp r6, 0x1 - bne _080AAC3E - ldr r0, [sp, 0x38] - str r0, [sp, 0x30] - mov r6, r8 - str r7, [r6, 0x4] - adds r0, r5, 0 - mov r1, r8 - bl sub_80AA074 - adds r6, r0, 0 - cmp r6, 0x2 - beq _080AAC78 -_080AAC3E: - movs r0, 0x1 - add r10, r0 -_080AAC42: - ldr r1, [sp, 0x7C] - cmp r10, r1 - bge _080AAC74 - add r4, sp, 0x38 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80AA074 - adds r6, r0, 0 - cmp r6, 0x2 - beq _080AAC78 - cmp r6, 0x1 - bne _080AAC3E - movs r7, 0 - str r7, [sp, 0x40] - ldr r0, [r4, 0x4] - mov r2, r9 - str r0, [r2, 0x4] - adds r0, r5, 0 - mov r1, r9 - bl sub_80AA074 - adds r6, r0, 0 - cmp r6, 0x2 - bne _080AAC24 -_080AAC74: - cmp r6, 0x2 - bne _080AAC7E -_080AAC78: - movs r3, 0x1 - negs r3, r3 - b _080AAD6C -_080AAC7E: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80AAF68 - b _080AAEC0 -_080AAC88: - movs r4, 0xB2 - lsls r4, 1 - adds r1, r5, r4 - movs r0, 0 - str r0, [r1] - ldr r6, _080AAC98 - str r6, [sp, 0x78] - b _080AAD6E - .align 2, 0 -_080AAC98: .4byte 0x00000807 -_080AAC9C: - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _080AAD60 - movs r0, 0xB2 - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x4 - str r0, [r1] - cmp r3, 0x4 - beq _080AACCE - cmp r3, 0x4 - bhi _080AACBC - cmp r3, 0x3 - beq _080AACC2 - b _080AACE6 -_080AACBC: - cmp r3, 0x5 - beq _080AACDA - b _080AACE6 -_080AACC2: - movs r1, 0x90 - lsls r1, 4 - str r1, [sp, 0x78] - movs r2, 0x1 - mov r9, r2 - b _080AACF6 -_080AACCE: - movs r3, 0x80 - lsls r3, 4 - str r3, [sp, 0x78] - movs r6, 0x2 - mov r9, r6 - b _080AACF6 -_080AACDA: - movs r0, 0xA0 - lsls r0, 4 - str r0, [sp, 0x78] - movs r1, 0x4 - mov r9, r1 - b _080AACF6 -_080AACE6: - movs r2, 0xB2 - lsls r2, 1 - adds r1, r5, r2 - movs r0, 0 - str r0, [r1] - ldr r3, _080AAD5C - str r3, [sp, 0x78] - mov r9, r0 -_080AACF6: - movs r2, 0x80 - lsls r2, 1 - add r0, sp, 0x48 - adds r1, r4, 0 - bl sub_8002BB8 - ldr r0, [sp, 0x48] - ldr r1, [sp, 0x4C] - str r0, [sp, 0x50] - str r1, [sp, 0x54] - movs r6, 0 - cmp r6, r9 - bge _080AAD52 - add r4, sp, 0x50 - mov r8, r4 - add r7, sp, 0x58 -_080AAD16: - adds r0, r5, 0 - mov r1, r8 - bl sub_80A9F94 - cmp r0, 0 - beq _080AAD4C - movs r4, 0 - str r4, [sp, 0x58] - mov r1, r8 - ldr r0, [r1, 0x4] - str r0, [r7, 0x4] - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_80A9F94 - cmp r0, 0 - beq _080AAD4C - ldr r0, [sp, 0x50] - str r0, [sp, 0x60] - add r1, sp, 0x60 - str r4, [r1, 0x4] - adds r0, r5, 0 - bl sub_80A9F94 - cmp r0, 0 - beq _080AAD4C - mov r9, r4 -_080AAD4C: - adds r6, 0x1 - cmp r6, r9 - blt _080AAD16 -_080AAD52: - adds r0, r5, 0 - mov r1, r9 - bl sub_80AAF68 - b _080AAEC0 - .align 2, 0 -_080AAD5C: .4byte 0x00000807 -_080AAD60: - movs r2, 0xB2 - lsls r2, 1 - adds r1, r5, r2 - movs r0, 0 - str r0, [r1] - ldr r3, _080AAD78 -_080AAD6C: - str r3, [sp, 0x78] -_080AAD6E: - adds r0, r5, 0 - movs r1, 0 - bl sub_80AAF68 - b _080AAEC0 - .align 2, 0 -_080AAD78: .4byte 0x00000807 -_080AAD7C: - movs r6, 0x8E - lsls r6, 1 - adds r0, r5, r6 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - beq _080AAD9C - ldr r0, _080AAD98 - ldr r0, [r0] - adds r0, 0x28 - strb r4, [r0] - b _080AADA6 - .align 2, 0 -_080AAD98: .4byte gUnknown_3001B80 -_080AAD9C: - ldr r0, _080AADF0 - ldr r0, [r0] - adds r0, 0x28 - movs r1, 0xFF - strb r1, [r0] -_080AADA6: - movs r1, 0xB2 - lsls r1, 1 - adds r0, r5, r1 - movs r1, 0 - str r1, [r0] - movs r2, 0x80 - lsls r2, 4 - str r2, [sp, 0x78] - movs r3, 0xA1 - lsls r3, 1 - adds r1, r5, r3 - movs r0, 0x4 - strb r0, [r1] - movs r6, 0x1 - negs r6, r6 - cmp r4, r6 - bne _080AADCA - b _080AAEC0 -_080AADCA: - movs r2, 0x80 - lsls r2, 1 - add r0, sp, 0x68 - adds r1, r4, 0 - bl sub_8002BB8 - ldr r0, [sp, 0x68] - ldr r1, [sp, 0x6C] - str r0, [sp, 0x70] - str r1, [sp, 0x74] - add r1, sp, 0x70 - adds r0, r5, 0 - bl sub_80AA074 - cmp r0, 0x2 - bne _080AAEC0 - str r6, [sp, 0x78] - b _080AAEC0 - .align 2, 0 -_080AADF0: .4byte gUnknown_3001B80 -_080AADF4: - movs r4, 0xA1 - lsls r4, 1 - adds r0, r5, r4 - movs r1, 0 - ldrsb r1, [r0, r1] - adds r0, r5, 0 - bl sub_80AA3F8 - b _080AAEC0 -_080AAE06: - movs r6, 0xA1 - lsls r6, 1 - adds r0, r5, r6 - movs r1, 0 - ldrsb r1, [r0, r1] - adds r0, r5, 0 - bl sub_80AA690 - lsls r0, 24 - cmp r0, 0 - bne _080AAEC0 - movs r0, 0 - mov r1, sp - movs r2, 0x9 - bl sub_809D710 - adds r0, r5, 0 - movs r1, 0 - mov r2, sp - bl _ExecutePlayerScript - b _080AAEC0 -_080AAE32: - add r6, sp, 0xC - movs r1, 0xA1 - lsls r1, 1 - adds r0, r5, r1 - movs r2, 0 - ldrsb r2, [r0, r2] - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_80AA8BC - lsls r0, 24 - cmp r0, 0 - beq _080AAE84 - add r4, sp, 0x10 - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x6 - bl sub_809D710 - movs r2, 0 - ldrsh r0, [r6, r2] - adds r1, r5, 0 - adds r1, 0x40 - adds r2, r4, 0 - bl GroundLives_ExecuteScript - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl _ExecutePlayerScript - movs r3, 0 - ldrsh r0, [r6, r3] - bl sub_80A8E9C - adds r2, r0, 0 - movs r0, 0x7 - movs r1, 0 - bl sub_809B1C0 - b _080AAE8E -_080AAE84: - movs r0, 0x7 - movs r1, 0 - movs r2, 0 - bl sub_809B1C0 -_080AAE8E: - movs r4, 0x90 - lsls r4, 1 - adds r0, r5, r4 - movs r1, 0x5 - bl sub_809CD8C - b _080AAEC0 -_080AAE9C: - add r4, sp, 0x1C - ldr r2, _080AAEB4 - movs r0, 0 - adds r1, r4, 0 - bl sub_809D710 - adds r0, r5, 0 - movs r1, 0 - adds r2, r4, 0 - bl _ExecutePlayerScript - b _080AAEC0 - .align 2, 0 -_080AAEB4: .4byte 0x00000195 -_080AAEB8: - adds r0, r5, 0 - movs r1, 0 - bl sub_80AAF68 -_080AAEC0: - movs r0, 0x1 - negs r0, r0 - ldr r6, [sp, 0x78] - cmp r6, r0 - beq _080AAF04 - movs r0, 0xB4 - lsls r0, 1 - adds r2, r5, r0 - movs r1, 0 - ldrsh r0, [r2, r1] - cmp r6, r0 - beq _080AAF04 - movs r3, 0xAE - lsls r3, 1 - adds r1, r5, r3 - movs r0, 0 - strb r0, [r1] - movs r4, 0xB8 - lsls r4, 1 - adds r0, r5, r4 - strh r6, [r2] - movs r1, 0xA1 - lsls r1, 1 - adds r3, r5, r1 - ldrb r1, [r3] - subs r4, 0x13 - adds r2, r5, r4 - strb r1, [r2] - movs r2, 0 - ldrsb r2, [r3, r2] - ldr r1, [sp, 0x78] - bl sub_80A6EFC - b _080AAF54 -_080AAF04: - movs r6, 0xAE - lsls r6, 1 - adds r2, r5, r6 - ldrb r0, [r2] - cmp r0, 0 - bne _080AAF2A - ldr r0, _080AAF64 - adds r1, r5, r0 - movs r3, 0xA1 - lsls r3, 1 - adds r0, r5, r3 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - beq _080AAF54 -_080AAF2A: - movs r0, 0 - strb r0, [r2] - movs r4, 0xB8 - lsls r4, 1 - adds r0, r5, r4 - movs r6, 0xB4 - lsls r6, 1 - adds r1, r5, r6 - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0xA1 - lsls r3, 1 - adds r4, r5, r3 - ldrb r2, [r4] - subs r6, 0xB - adds r3, r5, r6 - strb r2, [r3] - movs r2, 0 - ldrsb r2, [r4, r2] - bl sub_80A6EFC -_080AAF54: - add sp, 0x80 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AAF64: .4byte 0x0000015d - thumb_func_end sub_80AAAE8 - - thumb_func_start sub_80AAF68 -sub_80AAF68: - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x8E - lsls r1, 1 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 7 - ands r0, r1 - cmp r0, 0 - beq _080AB002 - movs r2, 0 - ldrsh r0, [r4, r2] - movs r1, 0x1 - bl sub_80A93F0 - lsls r0, 24 - cmp r0, 0 - beq _080AAFD0 - movs r1, 0xE4 - lsls r1, 1 - adds r0, r4, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - cmp r1, 0 - bne _080AAFA6 - movs r0, 0xB5 - lsls r0, 1 - adds r1, r4, r0 - adds r0, 0x4C - b _080AAFB4 -_080AAFA6: - movs r0, 0xDB - lsls r0, 1 - cmp r1, r0 - beq _080AAFC2 - subs r0, 0x4C - adds r1, r4, r0 - adds r0, 0x56 -_080AAFB4: - strh r0, [r1] - movs r2, 0xB6 - lsls r2, 1 - adds r1, r4, r2 - movs r0, 0x1 - negs r0, r0 - str r0, [r1] -_080AAFC2: - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 17 - bl sub_80A8750 - b _080AB002 -_080AAFD0: - movs r2, 0xE4 - lsls r2, 1 - adds r0, r4, r2 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0xDB - lsls r0, 1 - cmp r1, r0 - bne _080AAFF6 - subs r0, 0x4C - adds r1, r4, r0 - adds r0, 0x56 - strh r0, [r1] - movs r2, 0xB6 - lsls r2, 1 - adds r1, r4, r2 - movs r0, 0x1 - negs r0, r0 - str r0, [r1] -_080AAFF6: - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 17 - bl sub_80A86C8 -_080AB002: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AAF68 - - thumb_func_start sub_80AB008 -sub_80AB008: - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - thumb_func_end sub_80AB008 - - thumb_func_start sub_80AB010 -sub_80AB010: - ldr r2, [r0, 0xC] - ldr r3, [r0, 0x10] - str r2, [r1] - str r3, [r1, 0x4] - bx lr - thumb_func_end sub_80AB010 - - thumb_func_start sub_80AB01C -sub_80AB01C: - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - cmp r4, 0 - beq _080AB05C - movs r0, 0xA2 - lsls r0, 1 - adds r2, r3, r0 - ldr r1, [r4] - ldr r0, [r3, 0x14] - subs r0, r1, r0 - str r0, [r2] - movs r0, 0xA6 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x14] - adds r1, r0 - str r1, [r2] - movs r0, 0xA4 - lsls r0, 1 - adds r2, r3, r0 - ldr r1, [r4, 0x4] - ldr r0, [r3, 0x18] - subs r0, r1, r0 - str r0, [r2] - movs r0, 0xA8 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x18] - adds r1, r0 - str r1, [r2] - b _080AB0C2 -_080AB05C: - movs r0, 0xA2 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x20] - ldr r1, [r3, 0x14] - subs r0, r1 - str r0, [r2] - movs r0, 0xA6 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x20] - ldr r1, [r3, 0x14] - adds r0, r1 - str r0, [r2] - movs r0, 0xA4 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x24] - ldr r1, [r3, 0x18] - subs r0, r1 - str r0, [r2] - movs r0, 0xA8 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x24] - ldr r1, [r3, 0x18] - adds r0, r1 - str r0, [r2] - movs r2, 0xAA - lsls r2, 1 - adds r1, r3, r2 - adds r2, 0x4 - adds r0, r3, r2 - str r4, [r0] - str r4, [r1] - movs r0, 0xA1 - lsls r0, 1 - adds r2, r3, r0 - movs r1, 0 - ldrsb r1, [r2, r1] - movs r0, 0x1C - ldrsb r0, [r3, r0] - cmp r1, r0 - beq _080AB0BE - movs r0, 0xAE - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0x1 - strb r0, [r1] -_080AB0BE: - ldrb r0, [r3, 0x1C] - strb r0, [r2] -_080AB0C2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AB01C - - thumb_func_start sub_80AB0C8 -sub_80AB0C8: - push {r4,lr} - ldr r3, [r1] - ldr r4, [r1, 0x4] - str r3, [r0, 0x28] - str r4, [r0, 0x2C] - ldr r1, [r2] - ldr r2, [r2, 0x4] - str r1, [r0, 0x30] - str r2, [r0, 0x34] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AB0C8 - - thumb_func_start sub_80AB0E0 -sub_80AB0E0: - adds r3, r0, 0 - movs r2, 0xA2 - lsls r2, 1 - adds r0, r3, r2 - ldr r0, [r0] - ldr r2, [r3, 0x14] - adds r0, r2 - str r0, [r1] - movs r2, 0xA4 - lsls r2, 1 - adds r0, r3, r2 - ldr r0, [r0] - ldr r2, [r3, 0x18] - adds r0, r2 - str r0, [r1, 0x4] - bx lr - thumb_func_end sub_80AB0E0 - - thumb_func_start sub_80AB100 -sub_80AB100: - push {lr} - bl sub_80A9F20 - pop {r1} - bx r1 - thumb_func_end sub_80AB100 - - thumb_func_start sub_80AB10C -sub_80AB10C: - push {r4,lr} - adds r3, r0, 0 - movs r4, 0xAA - lsls r4, 1 - adds r0, r3, r4 - ldr r0, [r0] - str r0, [r1] - movs r1, 0xAC - lsls r1, 1 - adds r0, r3, r1 - ldr r0, [r0] - str r0, [r2] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AB10C - - thumb_func_start sub_80AB12C -sub_80AB12C: - movs r2, 0xAA - lsls r2, 1 - adds r0, r2 - str r1, [r0] - bx lr - thumb_func_end sub_80AB12C - - thumb_func_start sub_80AB138 -sub_80AB138: - movs r2, 0xA1 - lsls r2, 1 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - bx lr - thumb_func_end sub_80AB138 - - thumb_func_start sub_80AB144 -sub_80AB144: - push {lr} - adds r3, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080AB17C - movs r0, 0xA1 - lsls r0, 1 - adds r2, r3, r0 - lsls r0, r1, 24 - lsrs r0, 24 - strb r0, [r2] - ldr r2, _080AB180 - adds r1, r3, r2 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - beq _080AB17C - movs r0, 0xAE - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0x1 - strb r0, [r1] -_080AB17C: - pop {r0} - bx r0 - .align 2, 0 -_080AB180: .4byte 0x0000015d - thumb_func_end sub_80AB144 - - thumb_func_start sub_80AB184 -sub_80AB184: - push {lr} - lsls r1, 16 - lsrs r1, 16 - bl sub_80A9750 - pop {r0} - bx r0 - thumb_func_end sub_80AB184 - - thumb_func_start sub_80AB194 -sub_80AB194: - push {lr} - mov r12, r0 - lsls r1, 16 - asrs r1, 16 - adds r3, r1, 0 - cmp r1, 0 - bne _080AB1A8 - movs r0, 0xE0 - lsls r0, 1 - adds r3, r0, 0 -_080AB1A8: - movs r0, 0xB5 - lsls r0, 1 - add r0, r12 - strh r3, [r0] - movs r0, 0xB6 - lsls r0, 1 - add r0, r12 - str r2, [r0] - pop {r0} - bx r0 - thumb_func_end sub_80AB194 - - thumb_func_start nullsub_211 -nullsub_211: - bx lr - thumb_func_end nullsub_211 - - thumb_func_start sub_80AB1C0 -sub_80AB1C0: - push {lr} - adds r1, r0, 0 - movs r2, 0xAE - lsls r2, 1 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080AB1DE - adds r2, 0x14 - adds r0, r1, r2 - bl sub_80A66F8 - lsls r0, 24 - lsrs r0, 24 - b _080AB1E0 -_080AB1DE: - movs r0, 0x1 -_080AB1E0: - pop {r1} - bx r1 - thumb_func_end sub_80AB1C0 - - thumb_func_start sub_80AB1E4 -sub_80AB1E4: - push {lr} - adds r1, r0, 0 - movs r2, 0xB5 - lsls r2, 1 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _080AB206 - movs r2, 0xB8 - lsls r2, 1 - adds r0, r1, r2 - bl sub_80A671C - lsls r0, 24 - lsrs r0, 24 - b _080AB208 -_080AB206: - movs r0, 0x1 -_080AB208: - pop {r1} - bx r1 - thumb_func_end sub_80AB1E4 - - thumb_func_start sub_80AB20C -sub_80AB20C: - movs r2, 0x8E - lsls r2, 1 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - bx lr - thumb_func_end sub_80AB20C - - thumb_func_start sub_80AB218 -sub_80AB218: - push {lr} - movs r2, 0 - ldrsh r0, [r0, r2] - bl sub_80A86C8 - pop {r0} - bx r0 - thumb_func_end sub_80AB218 - - thumb_func_start sub_80AB228 -sub_80AB228: - push {lr} - movs r2, 0 - ldrsh r0, [r0, r2] - bl sub_80A8750 - pop {r0} - bx r0 - thumb_func_end sub_80AB228 - - thumb_func_start sub_80AB238 -sub_80AB238: - push {lr} - movs r2, 0xB8 - lsls r2, 1 - adds r0, r2 - bl sub_80A6EC8 - pop {r0} - bx r0 - thumb_func_end sub_80AB238 - - thumb_func_start sub_80AB248 -sub_80AB248: - push {lr} - bl sub_80A9F94 - pop {r1} - bx r1 - thumb_func_end sub_80AB248 - - thumb_func_start GroundLives_Action -GroundLives_Action: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x3C - ldr r0, _080AB29C - ldr r5, [r0] - movs r0, 0 - mov r9, r0 -_080AB266: - movs r2, 0x2 - ldrsh r1, [r5, r2] - movs r3, 0x1 - negs r3, r3 - mov r8, r3 - adds r0, r3, 0 - cmp r1, r0 - bne _080AB278 - b _080AB47C -_080AB278: - adds r4, r5, 0 - adds r4, 0x38 - ldr r1, _080AB2A0 - adds r0, r4, 0 - bl HandleAction - lsls r0, 16 - asrs r3, r0, 16 - cmp r3, 0 - beq _080AB2A4 - cmp r3, 0x4 - beq _080AB292 - b _080AB44C -_080AB292: - mov r0, r9 - bl GroundLives_Delete - b _080AB47C - .align 2, 0 -_080AB29C: .4byte gUnknown_3001B84 -_080AB2A0: .4byte gUnknown_8118280 -_080AB2A4: - movs r0, 0x8E - lsls r0, 1 - adds r2, r5, r0 - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 4 - ands r0, r1 - cmp r0, 0 - bne _080AB2B8 - b _080AB42E -_080AB2B8: - str r3, [sp, 0xC] - add r0, sp, 0x8 - mov r1, r8 - strb r1, [r0] - str r3, [sp, 0x10] - movs r3, 0x90 - lsls r3, 1 - adds r0, r5, r3 - add r1, sp, 0xC - add r3, sp, 0x10 - add r4, sp, 0x14 - str r4, [sp] - ldr r2, [r2] - str r2, [sp, 0x4] - add r2, sp, 0x8 - bl sub_809CDC8 - subs r0, 0x1 - mov r8, r4 - cmp r0, 0x7 - bls _080AB2E4 - b _080AB44C -_080AB2E4: - lsls r0, 2 - ldr r1, _080AB2F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080AB2F0: .4byte _080AB2F4 - .align 2, 0 -_080AB2F4: - .4byte _080AB314 - .4byte _080AB314 - .4byte _080AB326 - .4byte _080AB44C - .4byte _080AB314 - .4byte _080AB44C - .4byte _080AB44C - .4byte _080AB314 -_080AB314: - ldr r1, [sp, 0xC] - add r0, sp, 0x8 - movs r2, 0 - ldrsb r2, [r0, r2] - ldr r3, [sp, 0x10] - adds r0, r5, 0 - bl sub_80AAAE8 - b _080AB44C -_080AB326: - add r4, sp, 0x1C - adds r0, r4, 0 - bl sub_809D248 - ldr r1, [sp, 0x1C] - ldr r0, [sp, 0x14] - adds r6, r1, r0 - ldr r1, [r4, 0x4] - mov r2, r8 - ldr r0, [r2, 0x4] - adds r7, r1, r0 - movs r3, 0xA2 - lsls r3, 1 - adds r0, r5, r3 - ldr r1, [r0] - ldr r0, [r5, 0x14] - adds r0, r1, r0 - cmp r0, 0 - bge _080AB34E - adds r0, 0xFF -_080AB34E: - asrs r0, 8 - subs r0, r6, r0 - str r0, [sp, 0x24] - movs r1, 0xA4 - lsls r1, 1 - adds r0, r5, r1 - ldr r1, [r0] - ldr r0, [r5, 0x18] - adds r0, r1, r0 - cmp r0, 0 - bge _080AB366 - adds r0, 0xFF -_080AB366: - asrs r0, 8 - subs r0, r7, r0 - add r1, sp, 0x24 - str r0, [r1, 0x4] - adds r0, r6, 0 - subs r0, 0x10 - lsls r0, 8 - str r0, [sp, 0x2C] - adds r0, r6, 0 - adds r0, 0x10 - lsls r0, 8 - str r0, [sp, 0x34] - subs r0, r7, 0x4 - lsls r0, 8 - add r2, sp, 0x2C - str r0, [r2, 0x4] - adds r0, r7, 0 - adds r0, 0x1C - lsls r0, 8 - add r3, sp, 0x34 - str r0, [r3, 0x4] - ldr r0, [sp, 0xC] - adds r4, r1, 0 - cmp r0, 0xC - bne _080AB3C4 - adds r0, r5, 0 - movs r1, 0xC - bl sub_80AA180 - cmp r0, 0 - bne _080AB44C - ldr r0, [sp, 0x24] - adds r0, 0x10 - cmp r0, 0x20 - bhi _080AB44C - movs r0, 0x1C - negs r0, r0 - ldr r1, [r4, 0x4] - cmp r1, r0 - blt _080AB44C - cmp r1, 0x4 - bgt _080AB44C - movs r2, 0x1 - negs r2, r2 - adds r0, r5, 0 - movs r1, 0x13 - b _080AB426 -_080AB3C4: - ldr r0, [sp, 0x24] - adds r0, 0x10 - cmp r0, 0x20 - bhi _080AB3DA - movs r0, 0x1C - negs r0, r0 - ldr r1, [r4, 0x4] - cmp r1, r0 - blt _080AB3DA - cmp r1, 0x4 - ble _080AB44C -_080AB3DA: - adds r0, r4, 0 - bl sub_8002C60 - add r1, sp, 0x8 - strb r0, [r1] - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - cmp r0, r1 - beq _080AB44C - ldr r0, [sp, 0xC] - cmp r0, 0x11 - beq _080AB410 - cmp r0, 0x11 - bhi _080AB3FE - cmp r0, 0x10 - beq _080AB404 - b _080AB44C -_080AB3FE: - cmp r0, 0x12 - beq _080AB41C - b _080AB44C -_080AB404: - add r0, sp, 0x8 - movs r2, 0 - ldrsb r2, [r0, r2] - adds r0, r5, 0 - movs r1, 0x6 - b _080AB426 -_080AB410: - add r0, sp, 0x8 - movs r2, 0 - ldrsb r2, [r0, r2] - adds r0, r5, 0 - movs r1, 0x7 - b _080AB426 -_080AB41C: - add r0, sp, 0x8 - movs r2, 0 - ldrsb r2, [r0, r2] - adds r0, r5, 0 - movs r1, 0x8 -_080AB426: - movs r3, 0 - bl sub_80AAAE8 - b _080AB44C -_080AB42E: - movs r0, 0x80 - lsls r0, 5 - ands r1, r0 - cmp r1, 0 - beq _080AB440 - adds r0, r5, 0 - bl sub_80AB5D4 - b _080AB44C -_080AB440: - ldr r3, _080AB4C4 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x1 - bl sub_809D8C0 -_080AB44C: - movs r2, 0xAE - lsls r2, 1 - adds r1, r5, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _080AB47C - movs r0, 0 - strb r0, [r1] - movs r3, 0xB8 - lsls r3, 1 - adds r0, r5, r3 - adds r2, 0xC - adds r1, r5, r2 - movs r3, 0 - ldrsh r1, [r1, r3] - subs r2, 0x26 - adds r4, r5, r2 - ldrb r2, [r4] - ldr r3, _080AB4C8 - strb r2, [r3, r5] - movs r2, 0 - ldrsb r2, [r4, r2] - bl sub_80A6EFC -_080AB47C: - mov r0, r9 - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - mov r9, r0 - movs r0, 0xF8 - lsls r0, 1 - adds r5, r0 - mov r1, r9 - cmp r1, 0x17 - bgt _080AB494 - b _080AB266 -_080AB494: - ldr r0, _080AB4CC - ldr r6, [r0] - ldr r0, _080AB4D0 - ldr r5, [r0] - movs r0, 0 - str r0, [r6] - str r0, [r6, 0x4] - movs r2, 0x2 - ldrsh r1, [r5, r2] - subs r0, 0x1 - cmp r1, r0 - beq _080AB4BE - movs r3, 0x8E - lsls r3, 1 - adds r0, r5, r3 - ldr r1, [r0] - movs r3, 0x80 - lsls r3, 6 - ands r3, r1 - cmp r3, 0 - beq _080AB4D4 -_080AB4BE: - bl sub_80AB5A4 - b _080AB594 - .align 2, 0 -_080AB4C4: .4byte gUnknown_811828C -_080AB4C8: .4byte 0x0000015d -_080AB4CC: .4byte gUnknown_3001B80 -_080AB4D0: .4byte gUnknown_3001B84 -_080AB4D4: - movs r0, 0x80 - lsls r0, 5 - ands r1, r0 - cmp r1, 0 - beq _080AB590 - ldr r7, [r6, 0x24] - cmp r7, 0 - bge _080AB51E - adds r2, r6, 0 - adds r2, 0x2C - str r3, [r6, 0x24] - str r3, [r6, 0x2C] - movs r1, 0xA2 - lsls r1, 1 - adds r0, r5, r1 - ldr r0, [r0] - ldr r1, [r5, 0x14] - adds r0, r1 - str r0, [r2, 0x4] - movs r3, 0xA4 - lsls r3, 1 - adds r0, r5, r3 - ldr r0, [r0] - ldr r1, [r5, 0x18] - adds r0, r1 - str r0, [r2, 0x8] - adds r0, r6, 0 - movs r2, 0 - movs r1, 0x2 -_080AB50E: - str r2, [r0, 0x8] - str r2, [r0] - str r2, [r0, 0x4] - subs r1, 0x1 - adds r0, 0xC - cmp r1, 0 - bge _080AB50E - b _080AB594 -_080AB51E: - adds r2, r7, 0x1 - adds r0, r2, 0 - cmp r2, 0 - bge _080AB52A - adds r0, r7, 0 - adds r0, 0x40 -_080AB52A: - asrs r1, r0, 6 - lsls r0, r1, 6 - subs r1, r2, r0 - str r1, [r6, 0x24] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, 0x2C - adds r0, r6 - mov r8, r0 - movs r1, 0xA2 - lsls r1, 1 - adds r0, r5, r1 - ldr r2, [r0] - ldr r0, [r5, 0x14] - adds r2, r0 - mov r3, r8 - str r2, [r3, 0x4] - adds r1, 0x4 - adds r0, r5, r1 - ldr r1, [r0] - ldr r0, [r5, 0x18] - adds r1, r0 - str r1, [r3, 0x8] - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r0, 0x2C - adds r0, r6, r0 - ldr r3, [r0, 0x4] - ldr r0, [r0, 0x8] - subs r0, r1, r0 - subs r2, r3 - cmp r2, 0 - bge _080AB572 - negs r2, r2 -_080AB572: - adds r4, r2, 0 - cmp r0, 0 - bge _080AB57A - negs r0, r0 -_080AB57A: - cmp r0, r4 - bge _080AB580 - adds r0, r2, 0 -_080AB580: - mov r2, r8 - str r0, [r2] - cmp r0, 0 - bgt _080AB58C - str r7, [r6, 0x24] - b _080AB594 -_080AB58C: - str r0, [r6] - b _080AB594 -_080AB590: - bl sub_80AB5A4 -_080AB594: - add sp, 0x3C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end GroundLives_Action - - thumb_func_start sub_80AB5A4 -sub_80AB5A4: - push {lr} - ldr r3, _080AB5D0 - ldr r0, [r3] - movs r2, 0x1 - negs r2, r2 - str r2, [r0, 0x24] - adds r0, 0x28 - movs r1, 0xFF - strb r1, [r0] - ldr r3, [r3] - movs r1, 0 - movs r0, 0x2 -_080AB5BC: - str r2, [r3, 0x8] - str r1, [r3] - str r1, [r3, 0x4] - subs r0, 0x1 - adds r3, 0xC - cmp r0, 0 - bge _080AB5BC - pop {r0} - bx r0 - .align 2, 0 -_080AB5D0: .4byte gUnknown_3001B80 - thumb_func_end sub_80AB5A4 - - thumb_func_start sub_80AB5D4 -sub_80AB5D4: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - mov r9, r0 - ldr r4, _080AB6BC - movs r2, 0x9E - lsls r2, 1 - add r2, r9 - movs r0, 0 - ldrsh r1, [r2, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r3, [r4] - adds r0, r3 - mov r8, r0 - adds r0, r1, 0 - adds r5, r4, 0 - cmp r0, 0 - bne _080AB604 - b _080AB9E6 -_080AB604: - movs r1, 0xAF - lsls r1, 1 - add r1, r9 - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r1] - movs r1, 0xB0 - lsls r1, 1 - add r1, r9 - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x8E - lsls r0, 1 - add r0, r9 - ldr r2, [r0] - movs r0, 0x80 - lsls r0, 6 - ands r2, r0 - cmp r2, 0 - beq _080AB6D4 - movs r2, 0xA1 - lsls r2, 1 - add r2, r9 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0x4 - bne _080AB64C - movs r0, 0xB4 - lsls r0, 1 - add r0, r9 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r0, 0x80 - lsls r0, 4 - cmp r1, r0 - beq _080AB670 -_080AB64C: - movs r1, 0xB2 - lsls r1, 1 - add r1, r9 - movs r0, 0 - str r0, [r1] - movs r1, 0xB4 - lsls r1, 1 - add r1, r9 - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1] - movs r0, 0x4 - strb r0, [r2] - movs r1, 0xAE - lsls r1, 1 - add r1, r9 - movs r0, 0x1 - strb r0, [r1] -_080AB670: - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x28 - movs r1, 0 - ldrsb r1, [r2, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080AB69C - movs r2, 0x80 - lsls r2, 1 - mov r0, sp - bl sub_8002BB8 - ldr r0, [sp] - ldr r1, [sp, 0x4] - str r0, [sp, 0x8] - str r1, [sp, 0xC] - add r1, sp, 0x8 - mov r0, r9 - bl sub_80A9F94 -_080AB69C: - mov r4, r8 - ldr r0, [r4, 0x8] - cmp r0, 0 - blt _080AB6A6 - b _080AB9E6 -_080AB6A6: - ldr r0, [r5] - ldr r0, [r0, 0x24] - cmp r0, 0 - bge _080AB6B0 - b _080AB9E6 -_080AB6B0: - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4] - str r0, [r4, 0x4] - b _080AB9E6 - .align 2, 0 -_080AB6BC: .4byte gUnknown_3001B80 -_080AB6C0: - ldr r5, [sp, 0x28] - ldr r0, [r5, 0x4] - adds r0, r7, r0 - str r0, [r5, 0x4] - b _080AB7E2 -_080AB6CA: - ldr r1, [sp, 0x28] - ldr r0, [r1, 0x4] - subs r0, r7 - str r0, [r1, 0x4] - b _080AB7E2 -_080AB6D4: - movs r0, 0xA2 - lsls r0, 1 - add r0, r9 - ldr r1, [r0] - mov r5, r9 - ldr r0, [r5, 0x14] - adds r0, r1, r0 - str r0, [sp, 0x20] - movs r0, 0xA4 - lsls r0, 1 - add r0, r9 - ldr r1, [r0] - ldr r0, [r5, 0x18] - adds r0, r1, r0 - str r0, [sp, 0x24] - ldr r0, [sp, 0x20] - ldr r1, [sp, 0x24] - str r0, [sp, 0x10] - str r1, [sp, 0x14] - mov r1, r8 - ldr r0, [r1, 0x8] - cmp r0, 0 - bge _080AB710 - ldr r0, [r3, 0x24] - cmp r0, 0 - bge _080AB70A - b _080AB9E6 -_080AB70A: - str r0, [r1, 0x8] - str r2, [r1] - str r2, [r1, 0x4] -_080AB710: - mov r2, r8 - ldr r7, [r2] - movs r3, 0x1 - mov r10, r3 - mov r5, sp - adds r5, 0x10 - str r5, [sp, 0x28] -_080AB71E: - mov r0, r8 - ldr r1, [r0, 0x8] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, 0x2C - ldr r2, _080AB754 - ldr r1, [r2] - adds r1, r0 - mov r12, r1 - ldr r6, [r1, 0x4] - ldr r5, [sp, 0x10] - subs r4, r6, r5 - adds r2, r4, 0 - ldr r1, [r1, 0x8] - ldr r0, [sp, 0x14] - subs r3, r1, r0 - cmp r4, 0 - ble _080AB75E - cmp r2, r7 - ble _080AB758 - adds r0, r7, r5 - str r0, [sp, 0x10] - movs r4, 0 - mov r10, r4 - b _080AB75A - .align 2, 0 -_080AB754: .4byte gUnknown_3001B80 -_080AB758: - str r6, [sp, 0x10] -_080AB75A: - adds r1, r2, 0 - b _080AB778 -_080AB75E: - cmp r4, 0 - bge _080AB776 - cmn r2, r7 - bge _080AB770 - subs r0, r5, r7 - str r0, [sp, 0x10] - movs r5, 0 - mov r10, r5 - b _080AB772 -_080AB770: - str r6, [sp, 0x10] -_080AB772: - negs r1, r2 - b _080AB778 -_080AB776: - movs r1, 0 -_080AB778: - cmp r3, 0 - ble _080AB78E - cmp r3, r7 - bgt _080AB6C0 - mov r4, r12 - ldr r0, [r4, 0x8] - str r0, [sp, 0x14] - cmp r3, r1 - ble _080AB7A2 - adds r1, r3, 0 - b _080AB7A2 -_080AB78E: - cmp r3, 0 - bge _080AB7A2 - cmn r3, r7 - blt _080AB6CA - mov r5, r12 - ldr r0, [r5, 0x8] - str r0, [sp, 0x14] - cmn r3, r1 - bge _080AB7A2 - negs r1, r3 -_080AB7A2: - mov r0, r10 - cmp r0, 0 - beq _080AB7E2 - subs r7, r1 - cmp r7, 0 - ble _080AB7E2 - ldr r1, _080AB7D4 - ldr r0, [r1] - mov r3, r8 - ldr r2, [r3, 0x8] - ldr r0, [r0, 0x24] - cmp r2, r0 - beq _080AB7D8 - adds r1, r2, 0x1 - adds r0, r1, 0 - cmp r1, 0 - bge _080AB7C8 - adds r0, r2, 0 - adds r0, 0x40 -_080AB7C8: - asrs r0, 6 - lsls r0, 6 - subs r0, r1, r0 - mov r4, r8 - str r0, [r4, 0x8] - b _080AB7DC - .align 2, 0 -_080AB7D4: .4byte gUnknown_3001B80 -_080AB7D8: - movs r5, 0 - mov r10, r5 -_080AB7DC: - mov r0, r10 - cmp r0, 0 - bne _080AB71E -_080AB7E2: - mov r1, r8 - ldr r0, [r1, 0x8] - bl sub_80ABA00 - adds r6, r0, 0 - ldr r0, _080AB860 - ldr r7, [r0] - movs r2, 0x9E - lsls r2, 1 - add r2, r9 - mov r10, r2 - movs r3, 0 - ldrsh r2, [r2, r3] - subs r1, r2, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r7, 0x4 - adds r1, r0 - ldr r0, _080AB864 - lsls r2, 2 - adds r2, r0 - ldr r1, [r1] - ldr r0, [r2] - adds r1, r0 - mov r12, r1 - mov r4, r8 - ldr r1, [r4, 0x8] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, 0x2C - adds r0, r7, r0 - ldr r3, [r0, 0x4] - ldr r2, [sp, 0x10] - ldr r1, [r0, 0x8] - ldr r5, [sp, 0x28] - ldr r0, [r5, 0x4] - subs r1, r0 - subs r3, r2 - cmp r3, 0 - bge _080AB838 - negs r3, r3 -_080AB838: - adds r4, r3, 0 - cmp r1, 0 - bge _080AB840 - negs r1, r1 -_080AB840: - cmp r1, r4 - bge _080AB846 - adds r1, r3, 0 -_080AB846: - adds r6, r1 - mov r0, r8 - str r6, [r0, 0x4] - cmp r6, r12 - bgt _080AB86C - ldr r0, [r0] - cmp r0, 0 - ble _080AB8B2 - ldr r1, _080AB868 - adds r0, r1 - mov r2, r8 - b _080AB8B0 - .align 2, 0 -_080AB860: .4byte gUnknown_3001B80 -_080AB864: .4byte gUnknown_8118050 -_080AB868: .4byte 0xffffff00 -_080AB86C: - mov r3, r10 - movs r4, 0 - ldrsh r1, [r3, r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 11 - cmp r6, r0 - bgt _080AB88E - mov r5, r8 - ldr r0, [r5] - cmp r0, 0xFF - bgt _080AB8B2 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - str r0, [r5] - b _080AB8B2 -_080AB88E: - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r7, r0 - ldr r0, [r0] - cmp r0, 0xFF - bgt _080AB8A2 - movs r0, 0x80 - lsls r0, 1 -_080AB8A2: - mov r2, r8 - ldr r1, [r2] - cmp r1, r0 - bge _080AB8B2 - movs r3, 0x80 - lsls r3, 1 - adds r0, r1, r3 -_080AB8B0: - str r0, [r2] -_080AB8B2: - ldr r0, _080AB96C - ldr r3, [r0] - mov r4, r8 - ldr r0, [r4, 0x8] - subs r0, 0x40 - ldr r2, [r3, 0x24] - subs r1, r2, r0 - adds r0, r1, 0 - cmp r1, 0 - bge _080AB8C8 - adds r0, 0x3F -_080AB8C8: - asrs r0, 6 - lsls r0, 6 - subs r0, r1, r0 - cmp r0, 0x3B - ble _080AB8FC - adds r1, r2, 0x5 - adds r0, r1, 0 - cmp r1, 0 - bge _080AB8DE - adds r0, r2, 0 - adds r0, 0x44 -_080AB8DE: - asrs r0, 6 - lsls r0, 6 - subs r0, r1, r0 - mov r5, r8 - str r0, [r5, 0x8] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x30 - adds r0, r1 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x10] - str r1, [sp, 0x14] -_080AB8FC: - mov r0, r9 - ldr r1, [sp, 0x28] - bl sub_80A9F20 - adds r6, r0, 0 - cmp r6, 0 - bne _080AB9E6 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x20] - subs r0, r1 - str r0, [sp, 0x18] - ldr r2, [sp, 0x28] - ldr r1, [r2, 0x4] - ldr r3, [sp, 0x24] - subs r1, r3 - add r0, sp, 0x18 - str r1, [r0, 0x4] - movs r5, 0xA1 - lsls r5, 1 - add r5, r9 - movs r4, 0 - ldrsb r4, [r5, r4] - bl sub_8002C60 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - adds r0, r4, 0 - bl sub_8002B04 - strb r0, [r5] - mov r4, r8 - ldr r0, [r4] - cmp r0, 0 - ble _080AB970 - movs r1, 0xB2 - lsls r1, 1 - add r1, r9 - movs r0, 0x4 - str r0, [r1] - ldr r1, [r4] - movs r0, 0x80 - lsls r0, 2 - movs r2, 0x80 - lsls r2, 4 - cmp r1, r0 - ble _080AB95E - movs r2, 0xA0 - lsls r2, 4 -_080AB95E: - adds r4, r2, 0 - mov r0, r9 - movs r1, 0x1 - bl sub_80AAF68 - b _080AB982 - .align 2, 0 -_080AB96C: .4byte gUnknown_3001B80 -_080AB970: - ldr r4, _080AB9F8 - movs r0, 0xB2 - lsls r0, 1 - add r0, r9 - str r6, [r0] - mov r0, r9 - movs r1, 0 - bl sub_80AAF68 -_080AB982: - movs r0, 0xAE - lsls r0, 1 - add r0, r9 - ldrb r0, [r0] - cmp r0, 0 - bne _080AB9B6 - movs r0, 0xB4 - lsls r0, 1 - add r0, r9 - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r4, r0 - bne _080AB9B6 - ldr r1, _080AB9FC - add r1, r9 - movs r0, 0xA1 - lsls r0, 1 - add r0, r9 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - beq _080AB9E6 -_080AB9B6: - movs r1, 0xAE - lsls r1, 1 - add r1, r9 - movs r0, 0 - strb r0, [r1] - movs r0, 0xB8 - lsls r0, 1 - add r0, r9 - movs r1, 0xB4 - lsls r1, 1 - add r1, r9 - strh r4, [r1] - movs r3, 0xA1 - lsls r3, 1 - add r3, r9 - ldrb r1, [r3] - ldr r2, _080AB9FC - add r2, r9 - strb r1, [r2] - movs r2, 0 - ldrsb r2, [r3, r2] - adds r1, r4, 0 - bl sub_80A6EFC -_080AB9E6: - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AB9F8: .4byte 0x00000807 -_080AB9FC: .4byte 0x0000015d - thumb_func_end sub_80AB5D4 - - thumb_func_start sub_80ABA00 -sub_80ABA00: - push {r4,r5,lr} - adds r1, r0, 0 - movs r4, 0 - ldr r0, _080ABA34 - ldr r2, [r0] - ldr r3, [r2, 0x24] - adds r5, r0, 0 - cmp r3, r1 - ble _080ABA38 - adds r1, 0x1 - cmp r1, r3 - bge _080ABA72 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, 0x2C - adds r2, r0, r2 - subs r1, r3, r1 -_080ABA24: - ldr r0, [r2] - adds r4, r0 - adds r2, 0xC - subs r1, 0x1 - cmp r1, 0 - bne _080ABA24 - b _080ABA72 - .align 2, 0 -_080ABA34: .4byte gUnknown_3001B80 -_080ABA38: - cmp r3, r1 - bge _080ABA72 - adds r1, 0x1 - cmp r1, 0x3F - bgt _080ABA58 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, 0x2C - adds r2, r0, r2 -_080ABA4C: - ldr r0, [r2] - adds r4, r0 - adds r2, 0xC - adds r1, 0x1 - cmp r1, 0x3F - ble _080ABA4C -_080ABA58: - ldr r1, [r5] - ldr r0, [r1, 0x24] - cmp r0, 0 - ble _080ABA72 - adds r2, r1, 0 - adds r2, 0x2C - adds r1, r0, 0 -_080ABA66: - ldr r0, [r2] - adds r4, r0 - adds r2, 0xC - subs r1, 0x1 - cmp r1, 0 - bne _080ABA66 -_080ABA72: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80ABA00 - - thumb_func_start sub_80ABA7C -sub_80ABA7C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - ldr r0, _080ABB50 - ldr r5, [r0] - movs r0, 0 - mov r8, r0 - movs r1, 0xA2 - lsls r1, 1 - adds r4, r5, r1 - movs r2, 0x1 - negs r2, r2 - mov r9, r2 -_080ABA9A: - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, r9 - beq _080ABB2C - ldr r0, [r4] - ldr r1, [r5, 0x14] - adds r0, r1 - str r0, [sp] - ldr r0, [r4, 0x4] - ldr r1, [r5, 0x18] - adds r0, r1 - str r0, [sp, 0x4] - ldr r1, [r4, 0x10] - ldr r0, [r4, 0x14] - adds r7, r1, r0 - ldr r0, [r4, 0x20] - cmp r0, 0 - ble _080ABADA - subs r0, 0x1 - str r0, [r4, 0x20] - cmp r0, 0 - bgt _080ABADA - ldrh r0, [r4, 0x1C] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _080ABADA - ldrh r1, [r4, 0x1C] - adds r0, r5, 0 - bl sub_80A9750 -_080ABADA: - movs r2, 0xB8 - lsls r2, 1 - adds r6, r5, r2 - adds r0, r6, 0 - bl sub_80A66D4 - lsls r0, 24 - cmp r0, 0 - beq _080ABAFE - movs r0, 0 - strb r0, [r4, 0x18] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r2, 0x19 - ldrsb r2, [r4, r2] - adds r0, r6, 0 - bl sub_80A6EFC -_080ABAFE: - movs r1, 0x26 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080ABB1E - adds r1, r0, 0 - movs r2, 0xA1 - lsls r2, 1 - adds r0, r5, r2 - movs r2, 0 - ldrsb r2, [r0, r2] - ldr r3, [r4, 0x28] - adds r0, r6, 0 - bl sub_80A74F0 - movs r0, 0 - strh r0, [r4, 0x26] -_080ABB1E: - movs r0, 0x8 - ldrsh r1, [r5, r0] - adds r0, r6, 0 - mov r2, sp - adds r3, r7, 0 - bl sub_80A7524 -_080ABB2C: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - movs r1, 0xF8 - lsls r1, 1 - adds r4, r1 - adds r5, r1 - cmp r0, 0x17 - ble _080ABA9A - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ABB50: .4byte gUnknown_3001B84 - thumb_func_end sub_80ABA7C - - thumb_func_start sub_80ABB54 -sub_80ABB54: - push {r4,r5,lr} - ldr r4, _080ABB90 - movs r0, 0xE2 - lsls r0, 5 - movs r1, 0x6 - bl MemoryAlloc - str r0, [r4] - adds r1, r0, 0 - ldr r0, _080ABB94 - adds r5, r0, 0 - movs r4, 0xE2 - lsls r4, 1 - movs r2, 0x80 - lsls r2, 9 - adds r3, r2, 0 -_080ABB74: - ldrh r0, [r1, 0x6] - orrs r0, r5 - strh r0, [r1, 0x6] - adds r0, r2, 0 - adds r2, r3 - asrs r0, 16 - adds r1, r4 - cmp r0, 0xF - ble _080ABB74 - bl sub_80ABB98 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080ABB90: .4byte gUnknown_3001B88 -_080ABB94: .4byte 0x0000ffff - thumb_func_end sub_80ABB54 - - thumb_func_start sub_80ABB98 -sub_80ABB98: - push {r4-r6,lr} - ldr r0, _080ABBD0 - ldr r4, [r0] - movs r1, 0 - movs r6, 0x1 - negs r6, r6 - movs r5, 0x80 - lsls r5, 9 -_080ABBA8: - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, r6 - beq _080ABBB6 - adds r0, r1, 0 - bl GroundObject_Delete -_080ABBB6: - adds r0, r5, 0 - movs r1, 0x80 - lsls r1, 9 - adds r5, r1 - asrs r1, r0, 16 - movs r2, 0xE2 - lsls r2, 1 - adds r4, r2 - cmp r1, 0xF - ble _080ABBA8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080ABBD0: .4byte gUnknown_3001B88 - thumb_func_end sub_80ABB98 - - thumb_func_start sub_80ABBD4 -sub_80ABBD4: - push {r4,lr} - bl sub_80ABB98 - ldr r4, _080ABBEC - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ABBEC: .4byte gUnknown_3001B88 - thumb_func_end sub_80ABBD4 - - thumb_func_start GroundObject_Select -GroundObject_Select: - push {r4-r7,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r7, r1, 16 - lsls r2, 24 - asrs r6, r2, 24 - ldr r1, _080ABC54 - adds r0, r4, 0 - bl sub_80A77D0 - adds r5, r0, 0 - ldr r1, _080ABC58 - str r6, [sp] - movs r0, 0 - adds r2, r4, 0 - adds r3, r7, 0 - bl Log - lsls r1, r7, 3 - ldr r0, [r5, 0x4] - adds r0, r1 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - ldr r0, [r0, 0x4] - adds r0, r1 - ldr r5, [r0, 0xC] - ldr r0, [r0, 0x8] - cmp r0, 0 - ble _080ABC4A - adds r4, r0, 0 -_080ABC34: - movs r0, 0x1 - negs r0, r0 - adds r1, r5, 0 - adds r2, r7, 0 - adds r3, r6, 0 - bl GroundObject_Add - subs r4, 0x1 - adds r5, 0x18 - cmp r4, 0 - bne _080ABC34 -_080ABC4A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ABC54: .4byte gUnknown_81183E4 -_080ABC58: .4byte gUnknown_81183F0 - thumb_func_end GroundObject_Select - - thumb_func_start GroundObject_Cancel -GroundObject_Cancel: - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 24 - asrs r5, r1, 24 - ldr r1, _080ABCC4 - movs r0, 0 - adds r2, r7, 0 - bl Log - movs r1, 0 - ldr r0, _080ABCC8 - ldr r4, [r0] - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r6, 0x80 - lsls r6, 9 -_080ABC84: - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, r8 - beq _080ABCA6 - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, r7 - bne _080ABCA6 - cmp r5, 0 - blt _080ABCA0 - movs r0, 0xA - ldrsb r0, [r4, r0] - cmp r0, r5 - bne _080ABCA6 -_080ABCA0: - adds r0, r1, 0 - bl GroundObject_Delete -_080ABCA6: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r1, r0, 16 - movs r2, 0xE2 - lsls r2, 1 - adds r4, r2 - cmp r1, 0xF - ble _080ABC84 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ABCC4: .4byte gUnknown_8118414 -_080ABCC8: .4byte gUnknown_3001B88 - thumb_func_end GroundObject_Cancel - - thumb_func_start GroundObject_CancelBlank -GroundObject_CancelBlank: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r1, _080ABD40 - movs r0, 0 - bl Log - movs r6, 0 - ldr r0, _080ABD44 - ldr r4, [r0] - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r1, 0x92 - lsls r1, 1 - adds r5, r4, r1 - mov r7, sp -_080ABCF0: - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, r8 - beq _080ABD20 - ldr r0, [r5] - ldr r1, [r4, 0x14] - adds r0, r1 - str r0, [sp] - ldr r0, [r5, 0x4] - ldr r1, [r4, 0x18] - adds r0, r1 - str r0, [r7, 0x4] - movs r1, 0xA2 - lsls r1, 1 - adds r0, r4, r1 - mov r1, sp - bl sub_80A675C - lsls r0, 24 - cmp r0, 0 - bne _080ABD20 - adds r0, r6, 0 - bl GroundObject_Delete -_080ABD20: - adds r0, r6, 0x1 - lsls r0, 16 - asrs r6, r0, 16 - movs r0, 0xE2 - lsls r0, 1 - adds r5, r0 - adds r4, r0 - cmp r6, 0xF - ble _080ABCF0 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ABD40: .4byte gUnknown_811842C -_080ABD44: .4byte gUnknown_3001B88 - thumb_func_end GroundObject_CancelBlank - - thumb_func_start sub_80ABD48 -sub_80ABD48: - push {r4-r7,lr} - lsls r0, 16 - asrs r4, r0, 16 - movs r3, 0 - ldr r0, _080ABD6C - ldr r1, [r0] - movs r6, 0xE2 - lsls r6, 1 - movs r2, 0x80 - lsls r2, 9 - adds r5, r2, 0 -_080ABD5E: - movs r7, 0x6 - ldrsh r0, [r1, r7] - cmp r0, r4 - bne _080ABD70 - adds r0, r3, 0 - b _080ABD80 - .align 2, 0 -_080ABD6C: .4byte gUnknown_3001B88 -_080ABD70: - adds r0, r2, 0 - adds r2, r5 - asrs r3, r0, 16 - adds r1, r6 - cmp r3, 0xF - ble _080ABD5E - movs r0, 0x1 - negs r0, r0 -_080ABD80: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80ABD48 - - thumb_func_start GroundObject_Add -GroundObject_Add: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r8, r1 - lsls r0, 16 - asrs r7, r0, 16 - lsls r2, 16 - asrs r2, 16 - mov r10, r2 - lsls r3, 24 - asrs r3, 24 - mov r9, r3 - ldrb r4, [r1] - cmp r4, 0x1A - bne _080ABDDA - movs r0, 0 - movs r1, 0x28 - bl sub_8001658 - cmp r0, 0x1 - bgt _080ABDBC - movs r4, 0x1B - b _080ABDDA -_080ABDBC: - movs r0, 0 - movs r1, 0x29 - bl sub_8001658 - cmp r0, 0 - bne _080ABDD4 - movs r0, 0 - movs r1, 0x27 - bl sub_8001658 - adds r0, 0x1C - b _080ABDD6 -_080ABDD4: - adds r0, 0x2B -_080ABDD6: - lsls r0, 16 - asrs r4, r0, 16 -_080ABDDA: - lsls r1, r4, 2 - ldr r0, _080ABE10 - adds r6, r1, r0 - cmp r7, 0 - bge _080ABE40 - cmp r4, 0xE - bgt _080ABDF4 - cmp r4, 0xD - blt _080ABDF4 - adds r0, r4, 0 - bl sub_80ABD48 - adds r7, r0, 0 -_080ABDF4: - cmp r7, 0 - bge _080ABE40 - movs r3, 0 - ldr r0, _080ABE14 - ldr r5, [r0] - movs r0, 0x6 - ldrsh r1, [r5, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080ABE18 - movs r7, 0 - b _080ABE40 - .align 2, 0 -_080ABE10: .4byte gUnknown_811ED20 -_080ABE14: .4byte gUnknown_3001B88 -_080ABE18: - adds r0, r3, 0x1 - lsls r0, 16 - asrs r3, r0, 16 - movs r1, 0xE2 - lsls r1, 1 - adds r5, r1 - cmp r3, 0xF - bgt _080ABE36 - movs r2, 0x6 - ldrsh r1, [r5, r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080ABE18 - adds r7, r3, 0 -_080ABE36: - cmp r7, 0 - bge _080ABE40 - movs r0, 0x1 - negs r0, r0 - b _080AC142 -_080ABE40: - ldr r1, _080ABEA8 - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, [r1] - adds r5, r1, r0 - ldr r1, _080ABEAC - mov r3, r8 - ldrb r0, [r3] - str r0, [sp] - movs r2, 0 - ldrsh r0, [r6, r2] - str r0, [sp, 0x4] - mov r3, r10 - str r3, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - movs r0, 0 - adds r2, r7, 0 - adds r3, r4, 0 - bl Log - movs r2, 0 - movs r3, 0x6 - ldrsh r1, [r5, r3] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080ABE80 - movs r2, 0x1 -_080ABE80: - str r2, [sp, 0x10] - strh r7, [r5, 0x4] - strh r4, [r5, 0x6] - mov r0, r10 - strh r0, [r5, 0x8] - mov r1, r9 - strb r1, [r5, 0xA] - ldrh r0, [r6] - subs r0, 0x1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xE - bls _080ABE9C - b _080ABF8C -_080ABE9C: - lsls r0, 2 - ldr r1, _080ABEB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ABEA8: .4byte gUnknown_3001B88 -_080ABEAC: .4byte gUnknown_8118448 -_080ABEB0: .4byte _080ABEB4 - .align 2, 0 -_080ABEB4: - .4byte _080ABEF0 - .4byte _080ABF7C - .4byte _080ABF46 - .4byte _080ABF54 - .4byte _080ABF54 - .4byte _080ABF5E - .4byte _080ABF68 - .4byte _080ABF72 - .4byte _080ABF3C - .4byte _080ABEFA - .4byte _080ABEF0 - .4byte _080ABF06 - .4byte _080ABF2C - .4byte _080ABF1E - .4byte _080ABF12 -_080ABEF0: - movs r2, 0x8E - lsls r2, 1 - adds r1, r5, r2 - movs r0, 0 - b _080ABF94 -_080ABEFA: - movs r3, 0x8E - lsls r3, 1 - adds r1, r5, r3 - movs r0, 0x80 - lsls r0, 10 - b _080ABF94 -_080ABF06: - movs r0, 0x8E - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x80 - lsls r0, 11 - b _080ABF94 -_080ABF12: - movs r2, 0x8E - lsls r2, 1 - adds r1, r5, r2 - movs r0, 0x83 - lsls r0, 18 - b _080ABF94 -_080ABF1E: - movs r3, 0x8E - lsls r3, 1 - adds r1, r5, r3 - ldr r0, _080ABF28 - b _080ABF94 - .align 2, 0 -_080ABF28: .4byte 0x220c0000 -_080ABF2C: - movs r0, 0x8E - lsls r0, 1 - adds r1, r5, r0 - ldr r0, _080ABF38 - b _080ABF94 - .align 2, 0 -_080ABF38: .4byte 0x20010000 -_080ABF3C: - movs r2, 0x8E - lsls r2, 1 - adds r1, r5, r2 - movs r0, 0x5 - b _080ABF94 -_080ABF46: - movs r3, 0x8E - lsls r3, 1 - adds r1, r5, r3 - ldr r0, _080ABF50 - b _080ABF94 - .align 2, 0 -_080ABF50: .4byte 0x22000184 -_080ABF54: - movs r0, 0x8E - lsls r0, 1 - adds r1, r5, r0 - adds r0, 0x68 - b _080ABF94 -_080ABF5E: - movs r2, 0x8E - lsls r2, 1 - adds r1, r5, r2 - movs r0, 0x44 - b _080ABF94 -_080ABF68: - movs r3, 0x8E - lsls r3, 1 - adds r1, r5, r3 - movs r0, 0x84 - b _080ABF94 -_080ABF72: - movs r0, 0x8E - lsls r0, 1 - adds r1, r5, r0 - adds r0, 0x64 - b _080ABF94 -_080ABF7C: - movs r2, 0x8E - lsls r2, 1 - adds r1, r5, r2 - ldr r0, _080ABF88 - b _080ABF94 - .align 2, 0 -_080ABF88: .4byte 0x020000c4 -_080ABF8C: - movs r3, 0x8E - lsls r3, 1 - adds r1, r5, r3 - ldr r0, _080ABFA8 -_080ABF94: - str r0, [r1] - ldrb r0, [r6, 0x2] - cmp r0, 0 - bne _080ABFAC - mov r1, r8 - ldrb r0, [r1, 0x2] - lsls r0, 11 - str r0, [r5, 0xC] - ldrb r0, [r1, 0x3] - b _080ABFB4 - .align 2, 0 -_080ABFA8: .4byte 0x02000185 -_080ABFAC: - ldrb r0, [r6, 0x2] - lsls r0, 11 - str r0, [r5, 0xC] - ldrb r0, [r6, 0x3] -_080ABFB4: - lsls r0, 11 - str r0, [r5, 0x10] - ldr r0, [r5, 0xC] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - str r0, [r5, 0x14] - ldr r0, [r5, 0x10] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - str r0, [r5, 0x18] - mov r2, r8 - ldrb r0, [r2, 0x1] - strb r0, [r5, 0x1C] - adds r2, 0x4 - adds r4, r5, 0 - adds r4, 0x20 - ldrb r1, [r2, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080ABFFC - mov r3, r8 - ldrb r0, [r3, 0x4] - lsls r3, r0, 11 - str r3, [r5, 0x20] - ldrb r1, [r2, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080ABFFC - movs r1, 0x80 - lsls r1, 3 - adds r0, r3, r1 - str r0, [r5, 0x20] -_080ABFFC: - ldrb r1, [r2, 0x3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080AC01E - ldrb r0, [r2, 0x1] - lsls r3, r0, 11 - str r3, [r4, 0x4] - ldrb r1, [r2, 0x3] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080AC01E - movs r2, 0x80 - lsls r2, 3 - adds r0, r3, r2 - str r0, [r4, 0x4] -_080AC01E: - ldr r3, [sp, 0x10] - cmp r3, 0 - beq _080AC076 - ldrb r1, [r5, 0x1C] - movs r2, 0x90 - lsls r2, 1 - adds r0, r5, r2 - movs r3, 0 - strb r1, [r0] - movs r0, 0x92 - lsls r0, 1 - adds r2, r5, r0 - ldr r0, [r5, 0x20] - ldr r1, [r5, 0x14] - subs r0, r1 - str r0, [r2] - movs r1, 0x96 - lsls r1, 1 - adds r2, r5, r1 - ldr r0, [r5, 0x20] - ldr r1, [r5, 0x14] - adds r0, r1 - str r0, [r2] - movs r0, 0x94 - lsls r0, 1 - adds r2, r5, r0 - ldr r0, [r5, 0x24] - ldr r1, [r5, 0x18] - subs r0, r1 - str r0, [r2] - movs r1, 0x98 - lsls r1, 1 - adds r2, r5, r1 - ldr r0, [r5, 0x24] - ldr r1, [r5, 0x18] - adds r0, r1 - str r0, [r2] - movs r2, 0x9A - lsls r2, 1 - adds r1, r5, r2 - adds r2, 0x4 - adds r0, r5, r2 - str r3, [r0] - str r3, [r1] -_080AC076: - adds r0, r5, 0 - adds r0, 0x28 - adds r1, r5, 0 - adds r1, 0x30 - bl sub_80A5778 - ldr r3, [sp, 0x10] - cmp r3, 0 - beq _080AC0C0 - movs r0, 0x9F - lsls r0, 1 - adds r1, r5, r0 - movs r2, 0 - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1] - movs r3, 0x9E - lsls r3, 1 - adds r1, r5, r3 - movs r0, 0x1 - strb r0, [r1] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r5, r1 - strh r2, [r0] - movs r2, 0xA2 - lsls r2, 1 - adds r0, r5, r2 - movs r3, 0x6 - ldrsh r2, [r5, r3] - movs r3, 0x8E - lsls r3, 1 - adds r1, r5, r3 - ldr r3, [r1] - adds r1, r7, 0 - bl sub_80A75CC -_080AC0C0: - adds r4, r5, 0 - adds r4, 0x38 - ldr r1, _080AC154 - mov r0, r9 - str r0, [sp] - adds r0, r4, 0 - adds r2, r5, 0 - mov r3, r10 - bl sub_809D600 - adds r6, r4, 0 - mov r1, r8 - ldr r2, [r1, 0xC] - cmp r2, 0 - bne _080AC0F2 - movs r2, 0xA2 - lsls r2, 1 - adds r0, r5, r2 - bl sub_80A66A4 - lsls r0, 24 - ldr r2, _080AC158 - cmp r0, 0 - beq _080AC0F2 - ldr r2, _080AC15C -_080AC0F2: - adds r0, r6, 0 - movs r1, 0x1 - bl sub_809D6D8 - adds r1, r4, 0 - mov r3, r8 - ldr r2, [r3, 0x10] - cmp r2, 0 - bne _080AC108 - ldr r0, _080AC160 - ldr r2, [r0, 0x38] -_080AC108: - adds r0, r1, 0 - movs r1, 0x2 - bl sub_809D6D8 - mov r0, r8 - ldr r2, [r0, 0x14] - cmp r2, 0 - bne _080AC11C - ldr r0, _080AC160 - ldr r2, [r0, 0x68] -_080AC11C: - adds r0, r4, 0 - movs r1, 0x3 - bl sub_809D6D8 - mov r1, r8 - ldr r2, [r1, 0x8] - cmp r2, 0 - beq _080AC140 - adds r0, r4, 0 - movs r1, 0 - bl sub_809D6D8 - ldr r3, _080AC164 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl sub_809D8C0 -_080AC140: - adds r0, r7, 0 -_080AC142: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080AC154: .4byte gUnknown_81182A0 -_080AC158: .4byte gUnknown_81182F4 -_080AC15C: .4byte gUnknown_8118350 -_080AC160: .4byte gUnknown_812F1F8 -_080AC164: .4byte gUnknown_81184A4 - thumb_func_end GroundObject_Add - - thumb_func_start GroundObject_Delete -GroundObject_Delete: - push {r4,lr} - adds r2, r0, 0 - lsls r2, 16 - asrs r2, 16 - ldr r1, _080AC1A4 - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, [r1] - adds r4, r1, r0 - ldr r1, _080AC1A8 - movs r0, 0 - bl Log - movs r1, 0xA2 - lsls r1, 1 - adds r0, r4, r1 - bl sub_80A7658 - adds r0, r4, 0 - adds r0, 0x38 - bl sub_809D648 - ldr r0, _080AC1AC - strh r0, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AC1A4: .4byte gUnknown_3001B88 -_080AC1A8: .4byte gUnknown_81184B0 -_080AC1AC: .4byte 0x0000ffff - thumb_func_end GroundObject_Delete - - thumb_func_start sub_80AC1B0 -sub_80AC1B0: - push {lr} - adds r3, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080AC1F0 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080AC1EA - movs r1, 0x8E - lsls r1, 1 - adds r0, r2, r1 - ldr r1, [r0] - orrs r1, r3 - str r1, [r0] - movs r3, 0xA2 - lsls r3, 1 - adds r0, r2, r3 - bl sub_80A6688 -_080AC1EA: - pop {r0} - bx r0 - .align 2, 0 -_080AC1F0: .4byte gUnknown_3001B88 - thumb_func_end sub_80AC1B0 - - thumb_func_start sub_80AC1F4 -sub_80AC1F4: - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080AC238 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r3, r0, r1 - movs r0, 0x6 - ldrsh r1, [r3, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080AC232 - movs r0, 0x8E - lsls r0, 1 - adds r2, r3, r0 - ldr r0, _080AC23C - eors r0, r4 - ldr r1, [r2] - ands r1, r0 - str r1, [r2] - movs r2, 0xA2 - lsls r2, 1 - adds r0, r3, r2 - bl sub_80A6688 -_080AC232: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AC238: .4byte gUnknown_3001B88 -_080AC23C: .4byte 0x337fffff - thumb_func_end sub_80AC1F4 - - thumb_func_start sub_80AC240 -sub_80AC240: - push {lr} - lsls r0, 16 - asrs r0, 16 - ldr r2, _080AC268 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080AC26C - movs r0, 0 - b _080AC270 - .align 2, 0 -_080AC268: .4byte gUnknown_3001B88 -_080AC26C: - adds r0, r2, 0 - adds r0, 0x38 -_080AC270: - pop {r1} - bx r1 - thumb_func_end sub_80AC240 - - thumb_func_start sub_80AC274 -sub_80AC274: - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - asrs r0, 16 - lsls r2, 16 - asrs r3, r2, 16 - ldr r2, _080AC2A0 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080AC2A4 - movs r0, 0 - b _080AC2B4 - .align 2, 0 -_080AC2A0: .4byte gUnknown_3001B88 -_080AC2A4: - adds r0, r2, 0 - adds r0, 0x38 - adds r1, r4, 0 - adds r2, r3, 0 - bl sub_809D6E4 - lsls r0, 24 - lsrs r0, 24 -_080AC2B4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80AC274 - - thumb_func_start GroundObject_ExecuteScript -GroundObject_ExecuteScript: - push {r4-r6,lr} - adds r3, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r3, 16 - asrs r3, 16 - ldr r1, _080AC2F4 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 4 - adds r0, r3 - lsls r0, 2 - ldr r1, [r1] - adds r4, r1, r0 - ldr r1, _080AC2F8 - movs r0, 0 - adds r2, r3, 0 - bl Log - movs r0, 0x6 - ldrsh r1, [r4, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080AC2FC - movs r0, 0 - b _080AC314 - .align 2, 0 -_080AC2F4: .4byte gUnknown_3001B88 -_080AC2F8: .4byte gUnknown_81184CC -_080AC2FC: - adds r0, r4, 0 - adds r0, 0x38 - ldr r3, _080AC31C - adds r1, r5, 0 - adds r2, r6, 0 - bl GroundScript_ExecutePP - movs r0, 0x9E - lsls r0, 1 - adds r1, r4, r0 - movs r0, 0x1 - strb r0, [r1] -_080AC314: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080AC31C: .4byte gUnknown_8118504 - thumb_func_end GroundObject_ExecuteScript - - thumb_func_start sub_80AC320 -sub_80AC320: - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - asrs r7, r0, 16 - ldr r0, _080AC374 - ldr r4, [r0] - movs r5, 0 - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r6, 0x80 - lsls r6, 9 -_080AC33A: - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, r8 - beq _080AC352 - adds r0, r4, 0 - adds r0, 0x38 - adds r1, r7, 0 - bl sub_809D968 - orrs r5, r0 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_080AC352: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r0, 16 - movs r1, 0xE2 - lsls r1, 1 - adds r4, r1 - cmp r0, 0xF - ble _080AC33A - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080AC374: .4byte gUnknown_3001B88 - thumb_func_end sub_80AC320 - - thumb_func_start sub_80AC378 -sub_80AC378: - push {r4-r7,lr} - ldr r0, _080AC3BC - ldr r4, [r0] - movs r5, 0 - movs r7, 0x1 - negs r7, r7 - movs r6, 0x80 - lsls r6, 9 -_080AC388: - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, r7 - beq _080AC39E - adds r0, r4, 0 - adds r0, 0x38 - bl sub_809D92C - orrs r5, r0 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_080AC39E: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r0, 16 - movs r1, 0xE2 - lsls r1, 1 - adds r4, r1 - cmp r0, 0xF - ble _080AC388 - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080AC3BC: .4byte gUnknown_3001B88 - thumb_func_end sub_80AC378 - - thumb_func_start sub_80AC3C0 -sub_80AC3C0: - lsls r0, 16 - asrs r0, 16 - ldr r2, _080AC3DC - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r0, r1 - movs r1, 0x6 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_080AC3DC: .4byte gUnknown_3001B88 - thumb_func_end sub_80AC3C0 - - thumb_func_start sub_80AC3E0 -sub_80AC3E0: - lsls r0, 16 - asrs r0, 16 - ldr r3, _080AC404 - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, [r3] - adds r0, r2 - movs r3, 0x8E - lsls r3, 1 - adds r2, r0, r3 - ldr r2, [r2] - str r2, [r1] - movs r1, 0x6 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_080AC404: .4byte gUnknown_3001B88 - thumb_func_end sub_80AC3E0 - - thumb_func_start sub_80AC408 -sub_80AC408: - push {lr} - adds r3, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080AC434 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080AC438 - movs r0, 0 - str r0, [r3] - str r0, [r3, 0x4] - b _080AC440 - .align 2, 0 -_080AC434: .4byte gUnknown_3001B88 -_080AC438: - ldr r0, [r2, 0xC] - ldr r1, [r2, 0x10] - str r0, [r3] - str r1, [r3, 0x4] -_080AC440: - movs r1, 0x6 - ldrsh r0, [r2, r1] - pop {r1} - bx r1 - thumb_func_end sub_80AC408 - - thumb_func_start sub_80AC448 -sub_80AC448: - push {lr} - adds r3, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080AC474 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080AC478 - movs r0, 0 - str r0, [r3] - b _080AC492 - .align 2, 0 -_080AC474: .4byte gUnknown_3001B88 -_080AC478: - movs r1, 0x92 - lsls r1, 1 - adds r0, r2, r1 - ldr r0, [r0] - ldr r1, [r2, 0x14] - adds r0, r1 - str r0, [r3] - movs r1, 0x94 - lsls r1, 1 - adds r0, r2, r1 - ldr r0, [r0] - ldr r1, [r2, 0x18] - adds r0, r1 -_080AC492: - str r0, [r3, 0x4] - movs r1, 0x6 - ldrsh r0, [r2, r1] - pop {r1} - bx r1 - thumb_func_end sub_80AC448 - - thumb_func_start sub_80AC49C -sub_80AC49C: - push {r4,lr} - lsls r0, 16 - asrs r0, 16 - ldr r3, _080AC4C4 - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 4 - adds r2, r0 - lsls r2, 2 - ldr r4, [r3] - adds r4, r2 - adds r0, r4, 0 - bl sub_80AC6AC - movs r1, 0x6 - ldrsh r0, [r4, r1] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080AC4C4: .4byte gUnknown_3001B88 - thumb_func_end sub_80AC49C - - thumb_func_start sub_80AC4C8 -sub_80AC4C8: - push {r4-r7,lr} - adds r7, r0, 0 - adds r4, r1, 0 - ldr r0, _080AC530 - ldr r3, [r0] - movs r5, 0 - movs r0, 0x1 - negs r0, r0 - mov r12, r0 - movs r6, 0x80 - lsls r6, 9 -_080AC4DE: - movs r1, 0x6 - ldrsh r0, [r3, r1] - cmp r0, r12 - beq _080AC534 - movs r1, 0x8E - lsls r1, 1 - adds r0, r3, r1 - ldr r0, [r0] - ands r0, r7 - cmp r0, 0 - beq _080AC534 - adds r1, 0x8 - adds r0, r3, r1 - ldr r1, [r0] - ldr r0, [r2] - cmp r1, r0 - bge _080AC534 - movs r1, 0x96 - lsls r1, 1 - adds r0, r3, r1 - ldr r1, [r0] - ldr r0, [r4] - cmp r1, r0 - ble _080AC534 - movs r1, 0x94 - lsls r1, 1 - adds r0, r3, r1 - ldr r1, [r0] - ldr r0, [r2, 0x4] - cmp r1, r0 - bge _080AC534 - movs r1, 0x98 - lsls r1, 1 - adds r0, r3, r1 - ldr r1, [r0] - ldr r0, [r4, 0x4] - cmp r1, r0 - ble _080AC534 - adds r0, r5, 0 - b _080AC54C - .align 2, 0 -_080AC530: .4byte gUnknown_3001B88 -_080AC534: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r5, r0, 16 - movs r0, 0xE2 - lsls r0, 1 - adds r3, r0 - cmp r5, 0xF - ble _080AC4DE - movs r0, 0x1 - negs r0, r0 -_080AC54C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AC4C8 - - thumb_func_start sub_80AC554 -sub_80AC554: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r0 - mov r10, r1 - adds r4, r2, 0 - ldr r0, _080AC5C8 - ldr r0, [r0] - mov r12, r0 - movs r6, 0 - movs r0, 0x1 - negs r0, r0 - mov r9, r0 - movs r7, 0x80 - lsls r7, 9 -_080AC576: - mov r1, r12 - movs r2, 0x6 - ldrsh r0, [r1, r2] - cmp r0, r9 - beq _080AC5CC - movs r0, 0x8E - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - mov r5, r8 - ands r0, r5 - cmp r0, 0 - beq _080AC5CC - movs r0, 0x92 - lsls r0, 1 - add r0, r12 - ldr r1, [r0] - mov r5, r12 - ldr r0, [r5, 0x14] - adds r2, r1, r0 - movs r0, 0x94 - lsls r0, 1 - add r0, r12 - ldr r1, [r0] - ldr r0, [r5, 0x18] - adds r3, r1, r0 - ldr r0, [r4] - cmp r2, r0 - bge _080AC5CC - mov r1, r10 - ldr r0, [r1] - cmp r2, r0 - ble _080AC5CC - ldr r0, [r4, 0x4] - cmp r3, r0 - bge _080AC5CC - ldr r0, [r1, 0x4] - cmp r3, r0 - ble _080AC5CC - adds r0, r6, 0 - b _080AC5E4 - .align 2, 0 -_080AC5C8: .4byte gUnknown_3001B88 -_080AC5CC: - adds r0, r7, 0 - movs r2, 0x80 - lsls r2, 9 - adds r7, r2 - asrs r6, r0, 16 - movs r5, 0xE2 - lsls r5, 1 - add r12, r5 - cmp r6, 0xF - ble _080AC576 - movs r0, 0x1 - negs r0, r0 -_080AC5E4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AC554 - - thumb_func_start sub_80AC5F4 -sub_80AC5F4: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r0, [r5] - cmp r0, 0 - bge _080AC60C - ldr r1, _080AC670 - adds r0, r1 -_080AC60C: - asrs r0, 11 - mov r12, r0 - str r0, [sp] - ldr r0, [r5, 0x4] - cmp r0, 0 - bge _080AC61C - ldr r3, _080AC670 - adds r0, r3 -_080AC61C: - asrs r4, r0, 11 - str r4, [sp, 0x4] - ldr r3, [r6] - subs r0, r3, 0x1 - cmp r0, 0 - bge _080AC62C - ldr r7, _080AC674 - adds r0, r3, r7 -_080AC62C: - asrs r1, r0, 11 - ldr r3, [r6, 0x4] - subs r0, r3, 0x1 - cmp r0, 0 - bge _080AC63A - ldr r7, _080AC674 - adds r0, r3, r7 -_080AC63A: - asrs r2, r0, 11 - mov r3, r12 - subs r0, r1, r3 - adds r0, 0x1 - str r0, [sp, 0x8] - subs r0, r2, r4 - adds r0, 0x1 - add r2, sp, 0x8 - str r0, [r2, 0x4] - movs r0, 0x8E - lsls r0, 1 - add r0, r8 - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AC678 - mov r0, sp - adds r1, r2, 0 - bl sub_80A585C - lsls r0, 24 - cmp r0, 0 - beq _080AC678 - movs r0, 0x1 - b _080AC6A0 - .align 2, 0 -_080AC670: .4byte 0x000007ff -_080AC674: .4byte 0x000007fe -_080AC678: - movs r0, 0x8E - lsls r0, 1 - add r0, r8 - ldr r0, [r0] - movs r1, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080AC69E - movs r0, 0x1 - negs r0, r0 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_80A92A0 - lsls r0, 16 - cmp r0, 0 - blt _080AC69E - movs r0, 0x4 - b _080AC6A0 -_080AC69E: - movs r0, 0 -_080AC6A0: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AC5F4 - - thumb_func_start sub_80AC6AC -sub_80AC6AC: - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - ldr r2, [r1] - ldr r4, [r5, 0x14] - subs r0, r2, r4 - str r0, [sp] - ldr r3, [r1, 0x4] - ldr r1, [r5, 0x18] - subs r0, r3, r1 - str r0, [sp, 0x4] - adds r2, r4 - str r2, [sp, 0x8] - adds r3, r1 - add r2, sp, 0x8 - str r3, [r2, 0x4] - ldr r1, [r5, 0x28] - ldr r0, [sp] - cmp r0, r1 - blt _080AC6EA - ldr r1, [r5, 0x30] - ldr r0, [sp, 0x8] - cmp r0, r1 - bge _080AC6EA - ldr r1, [r5, 0x2C] - ldr r0, [sp, 0x4] - cmp r0, r1 - blt _080AC6EA - ldr r0, [r5, 0x34] - cmp r3, r0 - blt _080AC6EE -_080AC6EA: - movs r0, 0x1 - b _080AC718 -_080AC6EE: - adds r0, r5, 0 - mov r1, sp - bl sub_80AC5F4 - cmp r0, 0 - bne _080AC718 - movs r0, 0x92 - lsls r0, 1 - adds r2, r5, r0 - ldr r0, [sp] - ldr r1, [sp, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0x96 - lsls r0, 1 - adds r2, r5, r0 - ldr r0, [sp, 0x8] - ldr r1, [sp, 0xC] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0 -_080AC718: - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80AC6AC - - thumb_func_start sub_80AC720 -sub_80AC720: - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - movs r2, 0x92 - lsls r2, 1 - adds r0, r4, r2 - ldr r0, [r0] - ldr r2, [r1] - adds r0, r2 - str r0, [sp] - movs r3, 0x94 - lsls r3, 1 - adds r0, r4, r3 - ldr r0, [r0] - ldr r1, [r1, 0x4] - adds r0, r1 - str r0, [sp, 0x4] - adds r3, 0x4 - adds r0, r4, r3 - ldr r0, [r0] - adds r0, r2 - str r0, [sp, 0x8] - movs r2, 0x98 - lsls r2, 1 - adds r0, r4, r2 - ldr r0, [r0] - adds r0, r1 - add r1, sp, 0x8 - str r0, [r1, 0x4] - movs r5, 0 - ldr r3, [r4, 0x28] - ldr r0, [sp] - adds r2, r1, 0 - cmp r0, r3 - bge _080AC770 - str r3, [sp] - ldr r0, [r4, 0xC] - adds r0, r3, r0 - str r0, [sp, 0x8] - b _080AC780 -_080AC770: - ldr r1, [r4, 0x30] - ldr r0, [sp, 0x8] - cmp r0, r1 - blt _080AC782 - ldr r0, [r4, 0xC] - subs r0, r1, r0 - str r0, [sp] - str r1, [sp, 0x8] -_080AC780: - movs r5, 0x1 -_080AC782: - ldr r1, [r4, 0x2C] - ldr r0, [sp, 0x4] - cmp r0, r1 - bge _080AC794 - str r1, [sp, 0x4] - ldr r0, [r4, 0x10] - adds r0, r1, r0 - str r0, [r2, 0x4] - b _080AC7A4 -_080AC794: - ldr r1, [r4, 0x34] - ldr r0, [r2, 0x4] - cmp r0, r1 - blt _080AC7A6 - ldr r0, [r4, 0x10] - subs r0, r1, r0 - str r0, [sp, 0x4] - str r1, [r2, 0x4] -_080AC7A4: - movs r5, 0x1 -_080AC7A6: - adds r0, r4, 0 - mov r1, sp - bl sub_80AC5F4 - cmp r0, 0 - bne _080AC7D8 - movs r3, 0x92 - lsls r3, 1 - adds r2, r4, r3 - ldr r0, [sp] - ldr r1, [sp, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0x96 - lsls r0, 1 - adds r2, r4, r0 - ldr r0, [sp, 0x8] - ldr r1, [sp, 0xC] - str r0, [r2] - str r1, [r2, 0x4] - cmp r5, 0 - bne _080AC7D6 - movs r0, 0 - b _080AC7D8 -_080AC7D6: - movs r0, 0x1 -_080AC7D8: - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80AC720 - - thumb_func_start sub_80AC7E0 -sub_80AC7E0: - movs r1, 0x4 - ldrsh r0, [r0, r1] - bx lr - thumb_func_end sub_80AC7E0 - - thumb_func_start sub_80AC7E8 -sub_80AC7E8: - ldr r2, [r0, 0xC] - ldr r3, [r0, 0x10] - str r2, [r1] - str r3, [r1, 0x4] - bx lr - thumb_func_end sub_80AC7E8 - - thumb_func_start sub_80AC7F4 -sub_80AC7F4: - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - cmp r4, 0 - beq _080AC834 - movs r0, 0x92 - lsls r0, 1 - adds r2, r3, r0 - ldr r1, [r4] - ldr r0, [r3, 0x14] - subs r0, r1, r0 - str r0, [r2] - movs r0, 0x96 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x14] - adds r1, r0 - str r1, [r2] - movs r0, 0x94 - lsls r0, 1 - adds r2, r3, r0 - ldr r1, [r4, 0x4] - ldr r0, [r3, 0x18] - subs r0, r1, r0 - str r0, [r2] - movs r0, 0x98 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x18] - adds r1, r0 - str r1, [r2] - b _080AC89A -_080AC834: - movs r0, 0x92 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x20] - ldr r1, [r3, 0x14] - subs r0, r1 - str r0, [r2] - movs r0, 0x96 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x20] - ldr r1, [r3, 0x14] - adds r0, r1 - str r0, [r2] - movs r0, 0x94 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x24] - ldr r1, [r3, 0x18] - subs r0, r1 - str r0, [r2] - movs r0, 0x98 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x24] - ldr r1, [r3, 0x18] - adds r0, r1 - str r0, [r2] - movs r2, 0x9A - lsls r2, 1 - adds r1, r3, r2 - adds r2, 0x4 - adds r0, r3, r2 - str r4, [r0] - str r4, [r1] - movs r0, 0x90 - lsls r0, 1 - adds r2, r3, r0 - movs r1, 0 - ldrsb r1, [r2, r1] - movs r0, 0x1C - ldrsb r0, [r3, r0] - cmp r1, r0 - beq _080AC896 - movs r0, 0x9E - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0x1 - strb r0, [r1] -_080AC896: - ldrb r0, [r3, 0x1C] - strb r0, [r2] -_080AC89A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AC7F4 - - thumb_func_start sub_80AC8A0 -sub_80AC8A0: - push {r4,lr} - ldr r3, [r1] - ldr r4, [r1, 0x4] - str r3, [r0, 0x28] - str r4, [r0, 0x2C] - ldr r1, [r2] - ldr r2, [r2, 0x4] - str r1, [r0, 0x30] - str r2, [r0, 0x34] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AC8A0 - - thumb_func_start sub_80AC8B8 -sub_80AC8B8: - adds r3, r0, 0 - movs r2, 0x92 - lsls r2, 1 - adds r0, r3, r2 - ldr r0, [r0] - ldr r2, [r3, 0x14] - adds r0, r2 - str r0, [r1] - movs r2, 0x94 - lsls r2, 1 - adds r0, r3, r2 - ldr r0, [r0] - ldr r2, [r3, 0x18] - adds r0, r2 - str r0, [r1, 0x4] - bx lr - thumb_func_end sub_80AC8B8 - - thumb_func_start sub_80AC8D8 -sub_80AC8D8: - push {lr} - bl sub_80AC6AC - pop {r1} - bx r1 - thumb_func_end sub_80AC8D8 - - thumb_func_start sub_80AC8E4 -sub_80AC8E4: - push {r4,lr} - adds r3, r0, 0 - movs r4, 0x9A - lsls r4, 1 - adds r0, r3, r4 - ldr r0, [r0] - str r0, [r1] - movs r1, 0x9C - lsls r1, 1 - adds r0, r3, r1 - ldr r0, [r0] - str r0, [r2] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AC8E4 - - thumb_func_start sub_80AC904 -sub_80AC904: - movs r2, 0x9A - lsls r2, 1 - adds r0, r2 - str r1, [r0] - bx lr - thumb_func_end sub_80AC904 - - thumb_func_start sub_80AC910 -sub_80AC910: - movs r2, 0x90 - lsls r2, 1 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - bx lr - thumb_func_end sub_80AC910 - - thumb_func_start sub_80AC91C -sub_80AC91C: - push {lr} - adds r2, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080AC934 - movs r3, 0x90 - lsls r3, 1 - adds r0, r2, r3 - strb r1, [r0] -_080AC934: - pop {r0} - bx r0 - thumb_func_end sub_80AC91C - - thumb_func_start sub_80AC938 -sub_80AC938: - push {r4,r5,lr} - lsls r1, 16 - adds r3, r0, 0 - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - cmp r0, 0 - beq _080AC958 - ldr r1, _080AC954 - lsls r0, 1 - adds r0, r1 - b _080AC95E - .align 2, 0 -_080AC954: .4byte gUnknown_81183A0 -_080AC958: - movs r5, 0x9F - lsls r5, 1 - adds r0, r3, r5 -_080AC95E: - movs r1, 0 - ldrsh r2, [r0, r1] - movs r5, 0x9F - lsls r5, 1 - adds r1, r3, r5 - ldrh r4, [r1] - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, r2 - beq _080AC97C - strh r2, [r1] - movs r0, 0x9E - lsls r0, 1 - adds r1, r3, r0 - b _080AC98C -_080AC97C: - movs r0, 0x80 - lsls r0, 5 - ands r0, r4 - cmp r0, 0 - beq _080AC990 - movs r5, 0x9E - lsls r5, 1 - adds r1, r3, r5 -_080AC98C: - movs r0, 0x1 - strb r0, [r1] -_080AC990: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80AC938 - - thumb_func_start sub_80AC998 -sub_80AC998: - push {lr} - lsls r1, 16 - asrs r1, 16 - adds r2, r1, 0 - cmp r1, 0 - bne _080AC9AA - movs r1, 0xE0 - lsls r1, 1 - adds r2, r1, 0 -_080AC9AA: - movs r1, 0xA0 - lsls r1, 1 - adds r0, r1 - strh r2, [r0] - pop {r0} - bx r0 - thumb_func_end sub_80AC998 - - thumb_func_start sub_80AC9B8 -sub_80AC9B8: - push {lr} - adds r1, r0, 0 - movs r2, 0x9E - lsls r2, 1 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080AC9D6 - adds r2, 0x8 - adds r0, r1, r2 - bl sub_80A66F8 - lsls r0, 24 - lsrs r0, 24 - b _080AC9D8 -_080AC9D6: - movs r0, 0x1 -_080AC9D8: - pop {r1} - bx r1 - thumb_func_end sub_80AC9B8 - - thumb_func_start sub_80AC9DC -sub_80AC9DC: - push {lr} - adds r1, r0, 0 - movs r2, 0xA0 - lsls r2, 1 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _080AC9FE - movs r2, 0xA2 - lsls r2, 1 - adds r0, r1, r2 - bl sub_80A671C - lsls r0, 24 - lsrs r0, 24 - b _080ACA00 -_080AC9FE: - movs r0, 0x1 -_080ACA00: - pop {r1} - bx r1 - thumb_func_end sub_80AC9DC - - thumb_func_start sub_80ACA04 -sub_80ACA04: - movs r2, 0x8E - lsls r2, 1 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - bx lr - thumb_func_end sub_80ACA04 - - thumb_func_start sub_80ACA10 -sub_80ACA10: - push {lr} - movs r2, 0x4 - ldrsh r0, [r0, r2] - bl sub_80AC1B0 - pop {r0} - bx r0 - thumb_func_end sub_80ACA10 - - thumb_func_start sub_80ACA20 -sub_80ACA20: - push {lr} - movs r2, 0x4 - ldrsh r0, [r0, r2] - bl sub_80AC1F4 - pop {r0} - bx r0 - thumb_func_end sub_80ACA20 - - thumb_func_start sub_80ACA30 -sub_80ACA30: - push {lr} - bl sub_80AC720 - pop {r1} - bx r1 - thumb_func_end sub_80ACA30 - - thumb_func_start GroundObject_Action -GroundObject_Action: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _080ACA7C - ldr r5, [r0] - movs r7, 0 - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r1, 0x9E - lsls r1, 1 - adds r6, r5, r1 -_080ACA54: - movs r3, 0x6 - ldrsh r0, [r5, r3] - cmp r0, r8 - beq _080ACAB2 - adds r4, r5, 0 - adds r4, 0x38 - adds r0, r4, 0 - ldr r1, _080ACA80 - bl HandleAction - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - beq _080ACA84 - cmp r0, 0x4 - bne _080ACA90 - adds r0, r7, 0 - bl GroundObject_Delete - b _080ACAB2 - .align 2, 0 -_080ACA7C: .4byte gUnknown_3001B88 -_080ACA80: .4byte gUnknown_8118524 -_080ACA84: - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x1 - ldr r3, _080ACAD0 - bl sub_809D8C0 -_080ACA90: - ldrb r0, [r6] - cmp r0, 0 - beq _080ACAB2 - movs r0, 0 - strb r0, [r6] - movs r1, 0xA2 - lsls r1, 1 - adds r0, r5, r1 - ldrh r2, [r6, 0x2] - movs r3, 0xF8 - lsls r3, 5 - adds r1, r3, 0 - ands r1, r2 - lsls r2, 24 - asrs r2, 24 - bl sub_80A6EFC -_080ACAB2: - adds r0, r7, 0x1 - lsls r0, 16 - asrs r7, r0, 16 - movs r0, 0xE2 - lsls r0, 1 - adds r6, r0 - adds r5, r0 - cmp r7, 0xF - ble _080ACA54 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ACAD0: .4byte gUnknown_8118530 - thumb_func_end GroundObject_Action - - thumb_func_start sub_80ACAD4 -sub_80ACAD4: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - ldr r0, _080ACB8C - ldr r6, [r0] - movs r0, 0 - mov r8, r0 - movs r1, 0x1 - negs r1, r1 - mov r9, r1 - movs r2, 0x90 - lsls r2, 1 - adds r4, r6, r2 -_080ACAF2: - movs r0, 0x6 - ldrsh r1, [r6, r0] - mov r2, r9 - lsls r0, r2, 16 - asrs r0, 16 - cmp r1, r0 - beq _080ACB64 - ldr r0, [r4, 0x4] - ldr r1, [r6, 0x14] - adds r0, r1 - str r0, [sp] - ldr r0, [r4, 0x8] - ldr r1, [r6, 0x18] - adds r0, r1 - str r0, [sp, 0x4] - ldr r1, [r4, 0x14] - ldr r0, [r4, 0x18] - adds r7, r1, r0 - movs r0, 0xA2 - lsls r0, 1 - adds r5, r6, r0 - adds r0, r5, 0 - bl sub_80A66D4 - lsls r0, 24 - cmp r0, 0 - beq _080ACB40 - movs r0, 0 - strb r0, [r4, 0x1C] - ldrh r2, [r4, 0x1E] - movs r0, 0xF8 - lsls r0, 5 - adds r1, r0, 0 - ands r1, r2 - lsls r2, 24 - asrs r2, 24 - adds r0, r5, 0 - bl sub_80A6EFC -_080ACB40: - movs r1, 0x20 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080ACB5A - adds r1, r0, 0 - movs r2, 0 - ldrsb r2, [r4, r2] - adds r0, r5, 0 - movs r3, 0 - bl sub_80A7040 - movs r0, 0 - strh r0, [r4, 0x20] -_080ACB5A: - adds r0, r5, 0 - mov r1, sp - adds r2, r7, 0 - bl sub_80A7664 -_080ACB64: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - movs r0, 0xE2 - lsls r0, 1 - adds r4, r0 - adds r6, r0 - mov r1, r8 - cmp r1, 0xF - ble _080ACAF2 - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ACB8C: .4byte gUnknown_3001B88 - thumb_func_end sub_80ACAD4 - - thumb_func_start sub_80ACB90 -sub_80ACB90: - push {r4,r5,lr} - ldr r4, _080ACBCC - movs r0, 0xE2 - lsls r0, 5 - movs r1, 0x6 - bl MemoryAlloc - str r0, [r4] - adds r1, r0, 0 - ldr r0, _080ACBD0 - adds r5, r0, 0 - movs r4, 0xE2 - lsls r4, 1 - movs r2, 0x80 - lsls r2, 9 - adds r3, r2, 0 -_080ACBB0: - ldrh r0, [r1, 0x6] - orrs r0, r5 - strh r0, [r1, 0x6] - adds r0, r2, 0 - adds r2, r3 - asrs r0, 16 - adds r1, r4 - cmp r0, 0xF - ble _080ACBB0 - bl sub_80ACBD4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080ACBCC: .4byte gUnknown_3001B8C -_080ACBD0: .4byte 0x0000ffff - thumb_func_end sub_80ACB90 - - thumb_func_start sub_80ACBD4 -sub_80ACBD4: - push {r4-r6,lr} - ldr r0, _080ACC0C - ldr r4, [r0] - movs r1, 0 - movs r6, 0x1 - negs r6, r6 - movs r5, 0x80 - lsls r5, 9 -_080ACBE4: - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, r6 - beq _080ACBF2 - adds r0, r1, 0 - bl GroundEffect_Delete -_080ACBF2: - adds r0, r5, 0 - movs r1, 0x80 - lsls r1, 9 - adds r5, r1 - asrs r1, r0, 16 - movs r2, 0xE2 - lsls r2, 1 - adds r4, r2 - cmp r1, 0xF - ble _080ACBE4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080ACC0C: .4byte gUnknown_3001B8C - thumb_func_end sub_80ACBD4 - - thumb_func_start sub_80ACC10 -sub_80ACC10: - push {r4,lr} - bl sub_80ACBD4 - ldr r4, _080ACC28 - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ACC28: .4byte gUnknown_3001B8C - thumb_func_end sub_80ACC10 - - thumb_func_start GroundEffect_Select -GroundEffect_Select: - push {r4-r7,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r7, r1, 16 - lsls r2, 24 - asrs r6, r2, 24 - ldr r1, _080ACC90 - adds r0, r4, 0 - bl sub_80A77D0 - adds r5, r0, 0 - ldr r1, _080ACC94 - str r6, [sp] - movs r0, 0 - adds r2, r4, 0 - adds r3, r7, 0 - bl Log - lsls r1, r7, 3 - ldr r0, [r5, 0x4] - adds r0, r1 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - ldr r0, [r0, 0x4] - adds r0, r1 - ldr r5, [r0, 0x14] - ldr r0, [r0, 0x10] - cmp r0, 0 - ble _080ACC86 - adds r4, r0, 0 -_080ACC70: - movs r0, 0x1 - negs r0, r0 - adds r1, r5, 0 - adds r2, r7, 0 - adds r3, r6, 0 - bl GroundEffect_Add - subs r4, 0x1 - adds r5, 0xC - cmp r4, 0 - bne _080ACC70 -_080ACC86: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ACC90: .4byte gUnknown_8118610 -_080ACC94: .4byte gUnknown_811861C - thumb_func_end GroundEffect_Select - - thumb_func_start GroundEffect_Cancel -GroundEffect_Cancel: - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 24 - asrs r5, r1, 24 - ldr r1, _080ACD00 - movs r0, 0 - adds r2, r7, 0 - bl Log - movs r1, 0 - ldr r0, _080ACD04 - ldr r4, [r0] - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r6, 0x80 - lsls r6, 9 -_080ACCC0: - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, r8 - beq _080ACCE2 - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, r7 - bne _080ACCE2 - cmp r5, 0 - blt _080ACCDC - movs r0, 0xA - ldrsb r0, [r4, r0] - cmp r0, r5 - bne _080ACCE2 -_080ACCDC: - adds r0, r1, 0 - bl GroundEffect_Delete -_080ACCE2: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r1, r0, 16 - movs r2, 0xE2 - lsls r2, 1 - adds r4, r2 - cmp r1, 0xF - ble _080ACCC0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ACD00: .4byte gUnknown_8118640 -_080ACD04: .4byte gUnknown_3001B8C - thumb_func_end GroundEffect_Cancel - - thumb_func_start GroundEffect_CancelBlank -GroundEffect_CancelBlank: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r1, _080ACD7C - movs r0, 0 - bl Log - movs r6, 0 - ldr r0, _080ACD80 - ldr r4, [r0] - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r1, 0x92 - lsls r1, 1 - adds r5, r4, r1 - mov r7, sp -_080ACD2C: - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, r8 - beq _080ACD5C - ldr r0, [r5] - ldr r1, [r4, 0x14] - adds r0, r1 - str r0, [sp] - ldr r0, [r5, 0x4] - ldr r1, [r4, 0x18] - adds r0, r1 - str r0, [r7, 0x4] - movs r1, 0xA2 - lsls r1, 1 - adds r0, r4, r1 - mov r1, sp - bl sub_80A675C - lsls r0, 24 - cmp r0, 0 - bne _080ACD5C - adds r0, r6, 0 - bl GroundEffect_Delete -_080ACD5C: - adds r0, r6, 0x1 - lsls r0, 16 - asrs r6, r0, 16 - movs r0, 0xE2 - lsls r0, 1 - adds r5, r0 - adds r4, r0 - cmp r6, 0xF - ble _080ACD2C - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ACD7C: .4byte gUnknown_8118658 -_080ACD80: .4byte gUnknown_3001B8C - thumb_func_end GroundEffect_CancelBlank - - thumb_func_start sub_80ACD84 -sub_80ACD84: - push {r4-r7,lr} - lsls r0, 16 - asrs r4, r0, 16 - movs r3, 0 - ldr r0, _080ACDA8 - ldr r1, [r0] - movs r6, 0xE2 - lsls r6, 1 - movs r2, 0x80 - lsls r2, 9 - adds r5, r2, 0 -_080ACD9A: - movs r7, 0x6 - ldrsh r0, [r1, r7] - cmp r0, r4 - bne _080ACDAC - adds r0, r3, 0 - b _080ACDBC - .align 2, 0 -_080ACDA8: .4byte gUnknown_3001B8C -_080ACDAC: - adds r0, r2, 0 - adds r2, r5 - asrs r3, r0, 16 - adds r1, r6 - cmp r3, 0xF - ble _080ACD9A - movs r0, 0x1 - negs r0, r0 -_080ACDBC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80ACD84 - - thumb_func_start GroundEffect_Add -GroundEffect_Add: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r7, r1, 0 - lsls r0, 16 - asrs r6, r0, 16 - lsls r2, 16 - asrs r2, 16 - mov r10, r2 - lsls r3, 24 - asrs r3, 24 - mov r9, r3 - ldrb r0, [r7] - lsls r0, 2 - ldr r1, _080ACE08 - adds r0, r1 - mov r8, r0 - ldr r3, _080ACE0C - cmp r6, 0 - bge _080ACE38 - movs r2, 0 - ldr r5, [r3] - movs r0, 0x6 - ldrsh r1, [r5, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080ACE10 - movs r6, 0 - b _080ACE38 - .align 2, 0 -_080ACE08: .4byte gUnknown_811EE38 -_080ACE0C: .4byte gUnknown_3001B8C -_080ACE10: - adds r0, r2, 0x1 - lsls r0, 16 - asrs r2, r0, 16 - movs r1, 0xE2 - lsls r1, 1 - adds r5, r1 - cmp r2, 0xF - bgt _080ACE2E - movs r4, 0x6 - ldrsh r1, [r5, r4] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080ACE10 - adds r6, r2, 0 -_080ACE2E: - cmp r6, 0 - bge _080ACE38 - movs r0, 0x1 - negs r0, r0 - b _080AD062 -_080ACE38: - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 4 - adds r0, r6 - lsls r0, 2 - ldr r1, [r3] - adds r5, r1, r0 - ldr r1, _080ACE9C - ldrb r3, [r7] - mov r2, r8 - movs r4, 0 - ldrsh r0, [r2, r4] - str r0, [sp] - mov r0, r10 - str r0, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - movs r0, 0 - adds r2, r6, 0 - bl Log - movs r2, 0 - movs r3, 0x6 - ldrsh r1, [r5, r3] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080ACE72 - movs r2, 0x1 -_080ACE72: - str r2, [sp, 0xC] - strh r6, [r5, 0x4] - ldrb r0, [r7] - strh r0, [r5, 0x6] - mov r4, r10 - strh r4, [r5, 0x8] - mov r0, r9 - strb r0, [r5, 0xA] - mov r1, r8 - ldrh r0, [r1] - subs r0, 0x1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bhi _080ACEEC - lsls r0, 2 - ldr r1, _080ACEA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ACE9C: .4byte gUnknown_8118674 -_080ACEA0: .4byte _080ACEA4 - .align 2, 0 -_080ACEA4: - .4byte _080ACEB8 - .4byte _080ACEEC - .4byte _080ACEC4 - .4byte _080ACED0 - .4byte _080ACEDC -_080ACEB8: - movs r2, 0x8E - lsls r2, 1 - adds r1, r5, r2 - movs r0, 0x81 - lsls r0, 22 - b _080ACEF4 -_080ACEC4: - movs r4, 0x8E - lsls r4, 1 - adds r1, r5, r4 - movs r0, 0x83 - lsls r0, 18 - b _080ACEF4 -_080ACED0: - movs r0, 0x8E - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x88 - lsls r0, 22 - b _080ACEF4 -_080ACEDC: - movs r2, 0x8E - lsls r2, 1 - adds r1, r5, r2 - ldr r0, _080ACEE8 - b _080ACEF4 - .align 2, 0 -_080ACEE8: .4byte 0x22020000 -_080ACEEC: - movs r3, 0x8E - lsls r3, 1 - adds r1, r5, r3 - ldr r0, _080ACF08 -_080ACEF4: - str r0, [r1] - mov r4, r8 - ldrb r0, [r4, 0x2] - cmp r0, 0 - bne _080ACF0C - ldrb r0, [r7, 0x2] - lsls r0, 11 - str r0, [r5, 0xC] - ldrb r0, [r7, 0x3] - b _080ACF16 - .align 2, 0 -_080ACF08: .4byte 0x220c0000 -_080ACF0C: - mov r1, r8 - ldrb r0, [r1, 0x2] - lsls r0, 11 - str r0, [r5, 0xC] - ldrb r0, [r1, 0x3] -_080ACF16: - lsls r0, 11 - str r0, [r5, 0x10] - ldr r0, [r5, 0xC] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - str r0, [r5, 0x14] - ldr r0, [r5, 0x10] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - str r0, [r5, 0x18] - ldrb r0, [r7, 0x1] - strb r0, [r5, 0x1C] - adds r2, r7, 0x4 - adds r4, r5, 0 - adds r4, 0x20 - ldrb r1, [r2, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080ACF5A - ldrb r0, [r7, 0x4] - lsls r3, r0, 11 - str r3, [r5, 0x20] - ldrb r1, [r2, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080ACF5A - movs r1, 0x80 - lsls r1, 3 - adds r0, r3, r1 - str r0, [r5, 0x20] -_080ACF5A: - ldrb r1, [r2, 0x3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080ACF7C - ldrb r0, [r2, 0x1] - lsls r3, r0, 11 - str r3, [r4, 0x4] - ldrb r1, [r2, 0x3] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080ACF7C - movs r2, 0x80 - lsls r2, 3 - adds r0, r3, r2 - str r0, [r4, 0x4] -_080ACF7C: - ldr r3, [sp, 0xC] - cmp r3, 0 - beq _080ACFD2 - ldrb r1, [r5, 0x1C] - movs r4, 0x90 - lsls r4, 1 - adds r0, r5, r4 - movs r3, 0 - strb r1, [r0] - movs r0, 0x92 - lsls r0, 1 - adds r2, r5, r0 - ldr r0, [r5, 0x20] - ldr r1, [r5, 0x14] - subs r0, r1 - str r0, [r2] - movs r1, 0x96 - lsls r1, 1 - adds r2, r5, r1 - ldr r0, [r5, 0x20] - ldr r1, [r5, 0x14] - adds r0, r1 - str r0, [r2] - adds r4, 0x8 - adds r2, r5, r4 - ldr r0, [r5, 0x24] - ldr r1, [r5, 0x18] - subs r0, r1 - str r0, [r2] - movs r0, 0x98 - lsls r0, 1 - adds r2, r5, r0 - ldr r0, [r5, 0x24] - ldr r1, [r5, 0x18] - adds r0, r1 - str r0, [r2] - movs r2, 0x9A - lsls r2, 1 - adds r1, r5, r2 - adds r4, 0x10 - adds r0, r5, r4 - str r3, [r0] - str r3, [r1] -_080ACFD2: - adds r0, r5, 0 - adds r0, 0x28 - adds r1, r5, 0 - adds r1, 0x30 - bl sub_80A5778 - ldr r0, [sp, 0xC] - cmp r0, 0 - beq _080AD01A - movs r2, 0x9F - lsls r2, 1 - adds r1, r5, r2 - movs r2, 0 - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1] - movs r3, 0x9E - lsls r3, 1 - adds r1, r5, r3 - movs r0, 0x1 - strb r0, [r1] - movs r4, 0xA0 - lsls r4, 1 - adds r0, r5, r4 - strh r2, [r0] - movs r1, 0xA2 - lsls r1, 1 - adds r0, r5, r1 - movs r3, 0x6 - ldrsh r2, [r5, r3] - subs r4, 0x24 - adds r1, r5, r4 - ldr r3, [r1] - adds r1, r6, 0 - bl sub_80A7688 -_080AD01A: - adds r4, r5, 0 - adds r4, 0x38 - ldr r1, _080AD074 - mov r0, r9 - str r0, [sp] - adds r0, r4, 0 - adds r2, r5, 0 - mov r3, r10 - bl sub_809D600 - ldr r2, [r7, 0x8] - cmp r2, 0 - bne _080AD04C - mov r1, r8 - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0x1 - bne _080AD048 - ldr r0, _080AD078 - movs r1, 0xB0 - lsls r1, 2 - adds r0, r1 - ldr r2, [r0] -_080AD048: - cmp r2, 0 - beq _080AD060 -_080AD04C: - adds r0, r4, 0 - movs r1, 0 - bl sub_809D6D8 - ldr r3, _080AD07C - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl sub_809D8C0 -_080AD060: - adds r0, r6, 0 -_080AD062: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080AD074: .4byte gUnknown_8118544 -_080AD078: .4byte gUnknown_812F1F8 -_080AD07C: .4byte gUnknown_81186CC - thumb_func_end GroundEffect_Add - - thumb_func_start GroundEffect_Delete -GroundEffect_Delete: - push {r4,lr} - adds r2, r0, 0 - lsls r2, 16 - asrs r2, 16 - ldr r1, _080AD0BC - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, [r1] - adds r4, r1, r0 - ldr r1, _080AD0C0 - movs r0, 0 - bl Log - movs r1, 0xA2 - lsls r1, 1 - adds r0, r4, r1 - bl sub_80A7714 - adds r0, r4, 0 - adds r0, 0x38 - bl sub_809D648 - ldr r0, _080AD0C4 - strh r0, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AD0BC: .4byte gUnknown_3001B8C -_080AD0C0: .4byte gUnknown_81186D8 -_080AD0C4: .4byte 0x0000ffff - thumb_func_end GroundEffect_Delete - - thumb_func_start sub_80AD0C8 -sub_80AD0C8: - push {lr} - adds r3, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080AD108 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080AD102 - movs r1, 0x8E - lsls r1, 1 - adds r0, r2, r1 - ldr r1, [r0] - orrs r1, r3 - str r1, [r0] - movs r3, 0xA2 - lsls r3, 1 - adds r0, r2, r3 - bl sub_80A6688 -_080AD102: - pop {r0} - bx r0 - .align 2, 0 -_080AD108: .4byte gUnknown_3001B8C - thumb_func_end sub_80AD0C8 - - thumb_func_start sub_80AD10C -sub_80AD10C: - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080AD150 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r3, r0, r1 - movs r0, 0x6 - ldrsh r1, [r3, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080AD14A - movs r0, 0x8E - lsls r0, 1 - adds r2, r3, r0 - ldr r0, _080AD154 - eors r0, r4 - ldr r1, [r2] - ands r1, r0 - str r1, [r2] - movs r2, 0xA2 - lsls r2, 1 - adds r0, r3, r2 - bl sub_80A6688 -_080AD14A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AD150: .4byte gUnknown_3001B8C -_080AD154: .4byte 0x337fffff - thumb_func_end sub_80AD10C - - thumb_func_start sub_80AD158 -sub_80AD158: - push {lr} - lsls r0, 16 - asrs r0, 16 - ldr r2, _080AD180 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080AD184 - movs r0, 0 - b _080AD188 - .align 2, 0 -_080AD180: .4byte gUnknown_3001B8C -_080AD184: - adds r0, r2, 0 - adds r0, 0x38 -_080AD188: - pop {r1} - bx r1 - thumb_func_end sub_80AD158 - - thumb_func_start sub_80AD18C -sub_80AD18C: - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - asrs r0, 16 - lsls r2, 16 - asrs r3, r2, 16 - ldr r2, _080AD1B8 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080AD1BC - movs r0, 0 - b _080AD1CC - .align 2, 0 -_080AD1B8: .4byte gUnknown_3001B8C -_080AD1BC: - adds r0, r2, 0 - adds r0, 0x38 - adds r1, r4, 0 - adds r2, r3, 0 - bl sub_809D6E4 - lsls r0, 24 - lsrs r0, 24 -_080AD1CC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80AD18C - - thumb_func_start GroundEffect_ExecuteScript -GroundEffect_ExecuteScript: - push {r4-r6,lr} - adds r3, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r3, 16 - asrs r3, 16 - ldr r1, _080AD20C - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 4 - adds r0, r3 - lsls r0, 2 - ldr r1, [r1] - adds r4, r1, r0 - ldr r1, _080AD210 - movs r0, 0 - adds r2, r3, 0 - bl Log - movs r0, 0x6 - ldrsh r1, [r4, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080AD214 - movs r0, 0 - b _080AD22C - .align 2, 0 -_080AD20C: .4byte gUnknown_3001B8C -_080AD210: .4byte gUnknown_81186F4 -_080AD214: - adds r0, r4, 0 - adds r0, 0x38 - ldr r3, _080AD234 - adds r1, r5, 0 - adds r2, r6, 0 - bl GroundScript_ExecutePP - movs r0, 0x9E - lsls r0, 1 - adds r1, r4, r0 - movs r0, 0x1 - strb r0, [r1] -_080AD22C: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080AD234: .4byte gUnknown_811872C - thumb_func_end GroundEffect_ExecuteScript - - thumb_func_start sub_80AD238 -sub_80AD238: - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - asrs r7, r0, 16 - ldr r0, _080AD28C - ldr r4, [r0] - movs r5, 0 - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r6, 0x80 - lsls r6, 9 -_080AD252: - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, r8 - beq _080AD26A - adds r0, r4, 0 - adds r0, 0x38 - adds r1, r7, 0 - bl sub_809D968 - orrs r5, r0 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_080AD26A: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r0, 16 - movs r1, 0xE2 - lsls r1, 1 - adds r4, r1 - cmp r0, 0xF - ble _080AD252 - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080AD28C: .4byte gUnknown_3001B8C - thumb_func_end sub_80AD238 - - thumb_func_start sub_80AD290 -sub_80AD290: - push {r4-r7,lr} - ldr r0, _080AD2D4 - ldr r4, [r0] - movs r5, 0 - movs r7, 0x1 - negs r7, r7 - movs r6, 0x80 - lsls r6, 9 -_080AD2A0: - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, r7 - beq _080AD2B6 - adds r0, r4, 0 - adds r0, 0x38 - bl sub_809D92C - orrs r5, r0 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_080AD2B6: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r0, 16 - movs r1, 0xE2 - lsls r1, 1 - adds r4, r1 - cmp r0, 0xF - ble _080AD2A0 - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080AD2D4: .4byte gUnknown_3001B8C - thumb_func_end sub_80AD290 - - thumb_func_start sub_80AD2D8 -sub_80AD2D8: - lsls r0, 16 - asrs r0, 16 - ldr r2, _080AD2F4 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r0, r1 - movs r1, 0x6 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_080AD2F4: .4byte gUnknown_3001B8C - thumb_func_end sub_80AD2D8 - - thumb_func_start sub_80AD2F8 -sub_80AD2F8: - lsls r0, 16 - asrs r0, 16 - ldr r3, _080AD31C - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, [r3] - adds r0, r2 - movs r3, 0x8E - lsls r3, 1 - adds r2, r0, r3 - ldr r2, [r2] - str r2, [r1] - movs r1, 0x6 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_080AD31C: .4byte gUnknown_3001B8C - thumb_func_end sub_80AD2F8 - - thumb_func_start sub_80AD320 -sub_80AD320: - push {lr} - adds r3, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080AD34C - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080AD350 - movs r0, 0 - str r0, [r3] - str r0, [r3, 0x4] - b _080AD358 - .align 2, 0 -_080AD34C: .4byte gUnknown_3001B8C -_080AD350: - ldr r0, [r2, 0xC] - ldr r1, [r2, 0x10] - str r0, [r3] - str r1, [r3, 0x4] -_080AD358: - movs r1, 0x6 - ldrsh r0, [r2, r1] - pop {r1} - bx r1 - thumb_func_end sub_80AD320 - - thumb_func_start sub_80AD360 -sub_80AD360: - push {lr} - adds r3, r1, 0 - lsls r0, 16 - asrs r0, 16 - ldr r2, _080AD38C - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r2, r0, r1 - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080AD390 - movs r0, 0 - str r0, [r3] - b _080AD3AA - .align 2, 0 -_080AD38C: .4byte gUnknown_3001B8C -_080AD390: - movs r1, 0x92 - lsls r1, 1 - adds r0, r2, r1 - ldr r0, [r0] - ldr r1, [r2, 0x14] - adds r0, r1 - str r0, [r3] - movs r1, 0x94 - lsls r1, 1 - adds r0, r2, r1 - ldr r0, [r0] - ldr r1, [r2, 0x18] - adds r0, r1 -_080AD3AA: - str r0, [r3, 0x4] - movs r1, 0x6 - ldrsh r0, [r2, r1] - pop {r1} - bx r1 - thumb_func_end sub_80AD360 - - thumb_func_start sub_80AD3B4 -sub_80AD3B4: - push {r4,lr} - lsls r0, 16 - asrs r0, 16 - ldr r3, _080AD3DC - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 4 - adds r2, r0 - lsls r2, 2 - ldr r4, [r3] - adds r4, r2 - adds r0, r4, 0 - bl sub_80AD3E0 - movs r1, 0x6 - ldrsh r0, [r4, r1] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080AD3DC: .4byte gUnknown_3001B8C - thumb_func_end sub_80AD3B4 - - thumb_func_start sub_80AD3E0 -sub_80AD3E0: - push {r4-r7,lr} - mov r12, r0 - ldr r3, [r1] - ldr r2, [r0, 0x14] - subs r6, r3, r2 - ldr r1, [r1, 0x4] - ldr r0, [r0, 0x18] - subs r7, r1, r0 - adds r4, r3, r2 - adds r5, r1, r0 - mov r1, r12 - ldr r0, [r1, 0x28] - cmp r6, r0 - blt _080AD40E - ldr r0, [r1, 0x30] - cmp r4, r0 - bge _080AD40E - ldr r0, [r1, 0x2C] - cmp r7, r0 - blt _080AD40E - ldr r0, [r1, 0x34] - cmp r5, r0 - blt _080AD412 -_080AD40E: - movs r0, 0x1 - b _080AD428 -_080AD412: - movs r0, 0x92 - lsls r0, 1 - add r0, r12 - str r6, [r0] - str r7, [r0, 0x4] - movs r0, 0x96 - lsls r0, 1 - add r0, r12 - str r4, [r0] - str r5, [r0, 0x4] - movs r0, 0 -_080AD428: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80AD3E0 - - thumb_func_start sub_80AD430 -sub_80AD430: - push {r4-r6,lr} - mov r12, r0 - movs r0, 0x92 - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - ldr r2, [r1] - adds r5, r0, r2 - movs r0, 0x94 - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - ldr r1, [r1, 0x4] - adds r6, r0, r1 - movs r0, 0x96 - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - adds r3, r0, r2 - movs r0, 0x98 - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - adds r4, r0, r1 - mov r0, r12 - ldr r1, [r0, 0x28] - cmp r5, r1 - bge _080AD470 - adds r5, r1, 0 - ldr r0, [r0, 0xC] - adds r3, r1, r0 - b _080AD47E -_080AD470: - mov r2, r12 - ldr r1, [r2, 0x30] - cmp r3, r1 - blt _080AD47E - ldr r0, [r2, 0xC] - subs r5, r1, r0 - adds r3, r1, 0 -_080AD47E: - mov r0, r12 - ldr r1, [r0, 0x2C] - cmp r6, r1 - bge _080AD48E - adds r6, r1, 0 - ldr r0, [r0, 0x10] - adds r4, r1, r0 - b _080AD49C -_080AD48E: - mov r2, r12 - ldr r1, [r2, 0x34] - cmp r4, r1 - blt _080AD49C - ldr r0, [r2, 0x10] - subs r6, r1, r0 - adds r4, r1, 0 -_080AD49C: - movs r0, 0x92 - lsls r0, 1 - add r0, r12 - str r5, [r0] - str r6, [r0, 0x4] - movs r0, 0x96 - lsls r0, 1 - add r0, r12 - str r3, [r0] - str r4, [r0, 0x4] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80AD430 - - thumb_func_start sub_80AD4B8 -sub_80AD4B8: - movs r1, 0x4 - ldrsh r0, [r0, r1] - bx lr - thumb_func_end sub_80AD4B8 - - thumb_func_start sub_80AD4C0 -sub_80AD4C0: - ldr r2, [r0, 0xC] - ldr r3, [r0, 0x10] - str r2, [r1] - str r3, [r1, 0x4] - bx lr - thumb_func_end sub_80AD4C0 - - thumb_func_start sub_80AD4CC -sub_80AD4CC: - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - cmp r4, 0 - beq _080AD50C - movs r0, 0x92 - lsls r0, 1 - adds r2, r3, r0 - ldr r1, [r4] - ldr r0, [r3, 0x14] - subs r0, r1, r0 - str r0, [r2] - movs r0, 0x96 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x14] - adds r1, r0 - str r1, [r2] - movs r0, 0x94 - lsls r0, 1 - adds r2, r3, r0 - ldr r1, [r4, 0x4] - ldr r0, [r3, 0x18] - subs r0, r1, r0 - str r0, [r2] - movs r0, 0x98 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x18] - adds r1, r0 - str r1, [r2] - b _080AD572 -_080AD50C: - movs r0, 0x92 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x20] - ldr r1, [r3, 0x14] - subs r0, r1 - str r0, [r2] - movs r0, 0x96 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x20] - ldr r1, [r3, 0x14] - adds r0, r1 - str r0, [r2] - movs r0, 0x94 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x24] - ldr r1, [r3, 0x18] - subs r0, r1 - str r0, [r2] - movs r0, 0x98 - lsls r0, 1 - adds r2, r3, r0 - ldr r0, [r3, 0x24] - ldr r1, [r3, 0x18] - adds r0, r1 - str r0, [r2] - movs r2, 0x9A - lsls r2, 1 - adds r1, r3, r2 - adds r2, 0x4 - adds r0, r3, r2 - str r4, [r0] - str r4, [r1] - movs r0, 0x90 - lsls r0, 1 - adds r2, r3, r0 - movs r1, 0 - ldrsb r1, [r2, r1] - movs r0, 0x1C - ldrsb r0, [r3, r0] - cmp r1, r0 - beq _080AD56E - movs r0, 0x9E - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0x1 - strb r0, [r1] -_080AD56E: - ldrb r0, [r3, 0x1C] - strb r0, [r2] -_080AD572: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AD4CC - - thumb_func_start sub_80AD578 -sub_80AD578: - push {r4,lr} - ldr r3, [r1] - ldr r4, [r1, 0x4] - str r3, [r0, 0x28] - str r4, [r0, 0x2C] - ldr r1, [r2] - ldr r2, [r2, 0x4] - str r1, [r0, 0x30] - str r2, [r0, 0x34] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AD578 - - thumb_func_start sub_80AD590 -sub_80AD590: - adds r3, r0, 0 - movs r2, 0x92 - lsls r2, 1 - adds r0, r3, r2 - ldr r0, [r0] - ldr r2, [r3, 0x14] - adds r0, r2 - str r0, [r1] - movs r2, 0x94 - lsls r2, 1 - adds r0, r3, r2 - ldr r0, [r0] - ldr r2, [r3, 0x18] - adds r0, r2 - str r0, [r1, 0x4] - bx lr - thumb_func_end sub_80AD590 - - thumb_func_start sub_80AD5B0 -sub_80AD5B0: - push {lr} - bl sub_80AD3E0 - pop {r1} - bx r1 - thumb_func_end sub_80AD5B0 - - thumb_func_start sub_80AD5BC -sub_80AD5BC: - push {r4,lr} - adds r3, r0, 0 - movs r4, 0x9A - lsls r4, 1 - adds r0, r3, r4 - ldr r0, [r0] - str r0, [r1] - movs r1, 0x9C - lsls r1, 1 - adds r0, r3, r1 - ldr r0, [r0] - str r0, [r2] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AD5BC - - thumb_func_start sub_80AD5DC -sub_80AD5DC: - movs r2, 0x9A - lsls r2, 1 - adds r0, r2 - str r1, [r0] - bx lr - thumb_func_end sub_80AD5DC - - thumb_func_start sub_80AD5E8 -sub_80AD5E8: - movs r2, 0x90 - lsls r2, 1 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - bx lr - thumb_func_end sub_80AD5E8 - - thumb_func_start sub_80AD5F4 -sub_80AD5F4: - push {lr} - adds r2, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080AD60C - movs r3, 0x90 - lsls r3, 1 - adds r0, r2, r3 - strb r1, [r0] -_080AD60C: - pop {r0} - bx r0 - thumb_func_end sub_80AD5F4 - - thumb_func_start sub_80AD610 -sub_80AD610: - push {r4,r5,lr} - lsls r1, 16 - adds r3, r0, 0 - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - cmp r0, 0 - beq _080AD630 - ldr r1, _080AD62C - lsls r0, 1 - adds r0, r1 - b _080AD636 - .align 2, 0 -_080AD62C: .4byte gUnknown_81185F2 -_080AD630: - movs r5, 0x9F - lsls r5, 1 - adds r0, r3, r5 -_080AD636: - movs r1, 0 - ldrsh r2, [r0, r1] - movs r5, 0x9F - lsls r5, 1 - adds r1, r3, r5 - ldrh r4, [r1] - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, r2 - beq _080AD654 - strh r2, [r1] - movs r0, 0x9E - lsls r0, 1 - adds r1, r3, r0 - b _080AD664 -_080AD654: - movs r0, 0x80 - lsls r0, 5 - ands r0, r4 - cmp r0, 0 - beq _080AD668 - movs r5, 0x9E - lsls r5, 1 - adds r1, r3, r5 -_080AD664: - movs r0, 0x1 - strb r0, [r1] -_080AD668: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80AD610 - - thumb_func_start sub_80AD670 -sub_80AD670: - push {lr} - lsls r1, 16 - asrs r1, 16 - adds r2, r1, 0 - cmp r1, 0 - bne _080AD682 - movs r1, 0xE0 - lsls r1, 1 - adds r2, r1, 0 -_080AD682: - movs r1, 0xA0 - lsls r1, 1 - adds r0, r1 - strh r2, [r0] - pop {r0} - bx r0 - thumb_func_end sub_80AD670 - - thumb_func_start sub_80AD690 -sub_80AD690: - push {lr} - adds r1, r0, 0 - movs r2, 0x9E - lsls r2, 1 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080AD6AE - adds r2, 0x8 - adds r0, r1, r2 - bl sub_80A66F8 - lsls r0, 24 - lsrs r0, 24 - b _080AD6B0 -_080AD6AE: - movs r0, 0x1 -_080AD6B0: - pop {r1} - bx r1 - thumb_func_end sub_80AD690 - - thumb_func_start sub_80AD6B4 -sub_80AD6B4: - push {lr} - adds r1, r0, 0 - movs r2, 0xA0 - lsls r2, 1 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _080AD6D6 - movs r2, 0xA2 - lsls r2, 1 - adds r0, r1, r2 - bl sub_80A671C - lsls r0, 24 - lsrs r0, 24 - b _080AD6D8 -_080AD6D6: - movs r0, 0x1 -_080AD6D8: - pop {r1} - bx r1 - thumb_func_end sub_80AD6B4 - - thumb_func_start sub_80AD6DC -sub_80AD6DC: - movs r2, 0x8E - lsls r2, 1 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - bx lr - thumb_func_end sub_80AD6DC - - thumb_func_start sub_80AD6E8 -sub_80AD6E8: - push {lr} - movs r2, 0x4 - ldrsh r0, [r0, r2] - bl sub_80AD0C8 - pop {r0} - bx r0 - thumb_func_end sub_80AD6E8 - - thumb_func_start sub_80AD6F8 -sub_80AD6F8: - push {lr} - movs r2, 0x4 - ldrsh r0, [r0, r2] - bl sub_80AD10C - pop {r0} - bx r0 - thumb_func_end sub_80AD6F8 - - thumb_func_start sub_80AD708 -sub_80AD708: - push {lr} - bl sub_80AD430 - pop {r1} - bx r1 - thumb_func_end sub_80AD708 - - thumb_func_start GroundEffect_Action -GroundEffect_Action: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _080AD754 - ldr r5, [r0] - movs r7, 0 - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r1, 0x9E - lsls r1, 1 - adds r6, r5, r1 -_080AD72C: - movs r3, 0x6 - ldrsh r0, [r5, r3] - cmp r0, r8 - beq _080AD78A - adds r4, r5, 0 - adds r4, 0x38 - adds r0, r4, 0 - ldr r1, _080AD758 - bl HandleAction - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - beq _080AD75C - cmp r0, 0x4 - bne _080AD768 - adds r0, r7, 0 - bl GroundEffect_Delete - b _080AD78A - .align 2, 0 -_080AD754: .4byte gUnknown_3001B8C -_080AD758: .4byte gUnknown_811874C -_080AD75C: - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x1 - ldr r3, _080AD7A8 - bl sub_809D8C0 -_080AD768: - ldrb r0, [r6] - cmp r0, 0 - beq _080AD78A - movs r0, 0 - strb r0, [r6] - movs r1, 0xA2 - lsls r1, 1 - adds r0, r5, r1 - ldrh r2, [r6, 0x2] - movs r3, 0xF8 - lsls r3, 5 - adds r1, r3, 0 - ands r1, r2 - lsls r2, 24 - asrs r2, 24 - bl sub_80A6EFC -_080AD78A: - adds r0, r7, 0x1 - lsls r0, 16 - asrs r7, r0, 16 - movs r0, 0xE2 - lsls r0, 1 - adds r6, r0 - adds r5, r0 - cmp r7, 0xF - ble _080AD72C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AD7A8: .4byte gUnknown_8118758 - thumb_func_end GroundEffect_Action - - thumb_func_start sub_80AD7AC -sub_80AD7AC: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - ldr r0, _080AD864 - ldr r6, [r0] - movs r0, 0 - mov r8, r0 - movs r1, 0x1 - negs r1, r1 - mov r9, r1 - movs r2, 0x90 - lsls r2, 1 - adds r4, r6, r2 -_080AD7CA: - movs r0, 0x6 - ldrsh r1, [r6, r0] - mov r2, r9 - lsls r0, r2, 16 - asrs r0, 16 - cmp r1, r0 - beq _080AD83C - ldr r0, [r4, 0x4] - ldr r1, [r6, 0x14] - adds r0, r1 - str r0, [sp] - ldr r0, [r4, 0x8] - ldr r1, [r6, 0x18] - adds r0, r1 - str r0, [sp, 0x4] - ldr r1, [r4, 0x14] - ldr r0, [r4, 0x18] - adds r7, r1, r0 - movs r0, 0xA2 - lsls r0, 1 - adds r5, r6, r0 - adds r0, r5, 0 - bl sub_80A66D4 - lsls r0, 24 - cmp r0, 0 - beq _080AD818 - movs r0, 0 - strb r0, [r4, 0x1C] - ldrh r2, [r4, 0x1E] - movs r0, 0xF8 - lsls r0, 5 - adds r1, r0, 0 - ands r1, r2 - lsls r2, 24 - asrs r2, 24 - adds r0, r5, 0 - bl sub_80A6EFC -_080AD818: - movs r1, 0x20 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AD832 - adds r1, r0, 0 - movs r2, 0 - ldrsb r2, [r4, r2] - adds r0, r5, 0 - movs r3, 0 - bl sub_80A7040 - movs r0, 0 - strh r0, [r4, 0x20] -_080AD832: - adds r0, r5, 0 - mov r1, sp - adds r2, r7, 0 - bl sub_80A7720 -_080AD83C: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - movs r0, 0xE2 - lsls r0, 1 - adds r4, r0 - adds r6, r0 - mov r1, r8 - cmp r1, 0xF - ble _080AD7CA - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AD864: .4byte gUnknown_3001B8C - thumb_func_end sub_80AD7AC - - thumb_func_start sub_80AD868 -sub_80AD868: - ldr r1, _080AD870 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_080AD870: .4byte gUnknown_203B4B8 - thumb_func_end sub_80AD868 - - thumb_func_start sub_80AD874 -sub_80AD874: - ldr r1, _080AD87C - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_080AD87C: .4byte gUnknown_203B4B8 - thumb_func_end sub_80AD874 - - thumb_func_start GroundLink_Select -GroundLink_Select: - push {lr} - lsls r0, 16 - asrs r0, 16 - ldr r1, _080AD898 - bl sub_80A77D0 - ldr r1, _080AD89C - ldr r0, [r0, 0x8] - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080AD898: .4byte gUnknown_8118798 -_080AD89C: .4byte gUnknown_203B4B8 - thumb_func_end GroundLink_Select - - thumb_func_start sub_80AD8A0 -sub_80AD8A0: - lsls r0, 16 - ldr r1, _080AD8B0 - asrs r0, 13 - ldr r1, [r1] - adds r1, r0 - adds r0, r1, 0 - bx lr - .align 2, 0 -_080AD8B0: .4byte gUnknown_203B4B8 - thumb_func_end sub_80AD8A0 - - thumb_func_start sub_80AD8B4 -sub_80AD8B4: - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - ldr r1, _080AD910 - asrs r0, 13 - ldr r1, [r1] - adds r2, r1, r0 - ldrb r1, [r2, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080AD8E4 - ldrb r0, [r2] - lsls r3, r0, 11 - str r3, [r4] - ldrb r1, [r2, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080AD8E4 - movs r1, 0x80 - lsls r1, 3 - adds r0, r3, r1 - str r0, [r4] -_080AD8E4: - ldrb r1, [r2, 0x3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080AD906 - ldrb r0, [r2, 0x1] - lsls r3, r0, 11 - str r3, [r4, 0x4] - ldrb r1, [r2, 0x3] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080AD906 - movs r1, 0x80 - lsls r1, 3 - adds r0, r3, r1 - str r0, [r4, 0x4] -_080AD906: - ldrb r0, [r2, 0x6] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080AD910: .4byte gUnknown_203B4B8 - thumb_func_end sub_80AD8B4 - - thumb_func_start sub_80AD914 -sub_80AD914: - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 16 - ldr r1, _080AD98C - asrs r0, 13 - ldr r1, [r1] - adds r2, r1, r0 - ldr r0, [r3] - ldr r1, [r3, 0x4] - str r0, [r4] - str r1, [r4, 0x4] - ldrb r1, [r2, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080AD94E - ldrb r0, [r2] - lsls r3, r0, 11 - str r3, [r4] - ldrb r1, [r2, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080AD94E - movs r1, 0x80 - lsls r1, 3 - adds r0, r3, r1 - str r0, [r4] -_080AD94E: - ldrb r1, [r2, 0x3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080AD970 - ldrb r0, [r2, 0x1] - lsls r3, r0, 11 - str r3, [r4, 0x4] - ldrb r1, [r2, 0x3] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080AD970 - movs r1, 0x80 - lsls r1, 3 - adds r0, r3, r1 - str r0, [r4, 0x4] -_080AD970: - ldrb r1, [r2, 0x4] - lsls r1, 11 - ldr r0, [r4] - adds r0, r1 - str r0, [r5] - ldrb r1, [r2, 0x5] - lsls r1, 11 - ldr r0, [r4, 0x4] - adds r0, r1 - str r0, [r5, 0x4] - ldrb r0, [r2, 0x6] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080AD98C: .4byte gUnknown_203B4B8 - thumb_func_end sub_80AD914 - - thumb_func_start sub_80AD990 -sub_80AD990: - push {r4,lr} - ldr r4, _080AD9C8 - movs r0, 0x80 - lsls r0, 3 - movs r1, 0x6 - bl MemoryAlloc - str r0, [r4] - adds r1, r0, 0 - ldr r0, _080AD9CC - adds r4, r0, 0 - movs r2, 0x80 - lsls r2, 9 - adds r3, r2, 0 -_080AD9AC: - ldrh r0, [r1, 0x2] - orrs r0, r4 - strh r0, [r1, 0x2] - adds r0, r2, 0 - adds r2, r3 - asrs r0, 16 - adds r1, 0x20 - cmp r0, 0x1F - ble _080AD9AC - bl sub_80AD9D0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AD9C8: .4byte gUnknown_3001B90 -_080AD9CC: .4byte 0x0000ffff - thumb_func_end sub_80AD990 - - thumb_func_start sub_80AD9D0 -sub_80AD9D0: - push {r4-r6,lr} - ldr r0, _080ADA04 - ldr r4, [r0] - movs r1, 0 - movs r6, 0x1 - negs r6, r6 - movs r5, 0x80 - lsls r5, 9 -_080AD9E0: - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, r6 - beq _080AD9EE - adds r0, r1, 0 - bl GroundEvent_Delete -_080AD9EE: - adds r0, r5, 0 - movs r1, 0x80 - lsls r1, 9 - adds r5, r1 - asrs r1, r0, 16 - adds r4, 0x20 - cmp r1, 0x1F - ble _080AD9E0 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080ADA04: .4byte gUnknown_3001B90 - thumb_func_end sub_80AD9D0 - - thumb_func_start sub_80ADA08 -sub_80ADA08: - push {r4,lr} - bl sub_80AD9D0 - ldr r4, _080ADA20 - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADA20: .4byte gUnknown_3001B90 - thumb_func_end sub_80ADA08 - - thumb_func_start GroundEvent_Select -GroundEvent_Select: - push {r4-r7,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r7, r1, 16 - lsls r2, 24 - asrs r6, r2, 24 - ldr r1, _080ADA88 - adds r0, r4, 0 - bl sub_80A77D0 - adds r5, r0, 0 - ldr r1, _080ADA8C - str r6, [sp] - movs r0, 0 - adds r2, r4, 0 - adds r3, r7, 0 - bl Log - lsls r1, r7, 3 - ldr r0, [r5, 0x4] - adds r0, r1 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - ldr r0, [r0, 0x4] - adds r0, r1 - ldr r5, [r0, 0x1C] - ldr r0, [r0, 0x18] - cmp r0, 0 - ble _080ADA7E - adds r4, r0, 0 -_080ADA68: - movs r0, 0x1 - negs r0, r0 - adds r1, r5, 0 - adds r2, r7, 0 - adds r3, r6, 0 - bl GroundEvent_Add - subs r4, 0x1 - adds r5, 0xC - cmp r4, 0 - bne _080ADA68 -_080ADA7E: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ADA88: .4byte gUnknown_81187DC -_080ADA8C: .4byte gUnknown_81187E8 - thumb_func_end GroundEvent_Select - - thumb_func_start GroundEvent_Cancel -GroundEvent_Cancel: - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 24 - asrs r5, r1, 24 - ldr r1, _080ADAF8 - movs r0, 0 - adds r2, r7, 0 - adds r3, r5, 0 - bl Log - movs r1, 0 - ldr r0, _080ADAFC - ldr r4, [r0] - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r6, 0x80 - lsls r6, 9 -_080ADABA: - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, r8 - beq _080ADADC - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r0, r7 - bne _080ADADC - cmp r5, 0 - blt _080ADAD6 - movs r0, 0x6 - ldrsb r0, [r4, r0] - cmp r0, r5 - bne _080ADADC -_080ADAD6: - adds r0, r1, 0 - bl GroundEvent_Delete -_080ADADC: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r1, r0, 16 - adds r4, 0x20 - cmp r1, 0x1F - ble _080ADABA - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ADAF8: .4byte gUnknown_811880C -_080ADAFC: .4byte gUnknown_3001B90 - thumb_func_end GroundEvent_Cancel - - thumb_func_start GroundEvent_Add -GroundEvent_Add: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r8, r1 - lsls r0, 16 - asrs r7, r0, 16 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 24 - asrs r3, 24 - mov r9, r3 - ldr r5, [r1, 0x8] - cmp r7, 0 - bge _080ADB60 - ldr r0, _080ADB38 - ldr r4, [r0] - movs r2, 0 - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080ADB3C - movs r7, 0 - b _080ADB68 - .align 2, 0 -_080ADB38: .4byte gUnknown_3001B90 -_080ADB3C: - adds r0, r2, 0x1 - lsls r0, 16 - asrs r2, r0, 16 - adds r4, 0x20 - cmp r2, 0x1F - bgt _080ADB56 - movs r3, 0x2 - ldrsh r1, [r4, r3] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080ADB3C - adds r7, r2, 0 -_080ADB56: - cmp r7, 0 - bge _080ADB68 - movs r0, 0x1 - negs r0, r0 - b _080ADC24 -_080ADB60: - ldr r0, _080ADBA0 - lsls r1, r7, 5 - ldr r0, [r0] - adds r4, r0, r1 -_080ADB68: - ldr r1, _080ADBA4 - movs r0, 0 - ldrsh r3, [r5, r0] - str r6, [sp] - mov r2, r9 - str r2, [sp, 0x4] - mov r2, r8 - ldr r0, [r2, 0x8] - ldr r0, [r0, 0x8] - str r0, [sp, 0x8] - movs r0, 0 - adds r2, r7, 0 - bl Log - strh r7, [r4] - ldrh r0, [r5] - strh r0, [r4, 0x2] - strh r6, [r4, 0x4] - mov r3, r9 - strb r3, [r4, 0x6] - movs r6, 0x2 - ldrsh r0, [r5, r6] - cmp r0, 0x1 - blt _080ADBA8 - cmp r0, 0x2 - bgt _080ADBA8 - movs r0, 0x60 - b _080ADBAA - .align 2, 0 -_080ADBA0: .4byte gUnknown_3001B90 -_080ADBA4: .4byte gUnknown_8118828 -_080ADBA8: - movs r0, 0x20 -_080ADBAA: - str r0, [r4, 0x8] - mov r3, r8 - ldrb r0, [r3] - lsls r1, r0, 11 - ldrb r0, [r3, 0x1] - lsls r2, r0, 11 - mov r5, r8 - adds r5, 0x4 - add r6, sp, 0xC - mov r12, r6 - ldrb r6, [r5, 0x2] - movs r0, 0x4 - ands r0, r6 - cmp r0, 0 - bne _080ADBDE - ldrb r0, [r3, 0x4] - lsls r3, r0, 11 - str r3, [sp, 0xC] - movs r0, 0x2 - ands r0, r6 - cmp r0, 0 - beq _080ADBDE - movs r6, 0x80 - lsls r6, 3 - adds r0, r3, r6 - str r0, [sp, 0xC] -_080ADBDE: - ldrb r6, [r5, 0x3] - movs r0, 0x4 - ands r0, r6 - cmp r0, 0 - bne _080ADC02 - ldrb r0, [r5, 0x1] - lsls r3, r0, 11 - mov r0, r12 - str r3, [r0, 0x4] - movs r0, 0x2 - ands r0, r6 - cmp r0, 0 - beq _080ADC02 - movs r5, 0x80 - lsls r5, 3 - adds r0, r3, r5 - mov r6, r12 - str r0, [r6, 0x4] -_080ADC02: - ldr r0, [sp, 0xC] - str r0, [r4, 0xC] - ldr r0, [sp, 0xC] - adds r0, r1 - str r0, [r4, 0x14] - ldr r0, [sp, 0x10] - str r0, [r4, 0x10] - ldr r0, [sp, 0x10] - adds r0, r2 - str r0, [r4, 0x18] - mov r1, r8 - ldr r0, [r1, 0x8] - ldr r0, [r0, 0x8] - str r0, [r4, 0x1C] - bl sub_80A7A78 - adds r0, r7, 0 -_080ADC24: - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GroundEvent_Add - - thumb_func_start GroundEvent_Delete -GroundEvent_Delete: - push {r4,lr} - adds r2, r0, 0 - lsls r2, 16 - asrs r2, 16 - ldr r0, _080ADC58 - lsls r1, r2, 5 - ldr r4, [r0] - adds r4, r1 - ldr r1, _080ADC5C - movs r0, 0 - bl Log - ldr r0, _080ADC60 - strh r0, [r4, 0x2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADC58: .4byte gUnknown_3001B90 -_080ADC5C: .4byte gUnknown_811886C -_080ADC60: .4byte 0x0000ffff - thumb_func_end GroundEvent_Delete - - thumb_func_start sub_80ADC64 -sub_80ADC64: - push {lr} - adds r3, r1, 0 - lsls r0, 16 - ldr r1, _080ADC84 - asrs r0, 11 - ldr r1, [r1] - adds r2, r1, r0 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080ADC88 - movs r0, 0 - b _080ADC9A - .align 2, 0 -_080ADC84: .4byte gUnknown_3001B90 -_080ADC88: - ldr r0, [r2, 0x1C] - str r0, [r3] - movs r0, 0x2 - strh r0, [r3, 0x4] - ldrh r0, [r2, 0x4] - strh r0, [r3, 0x6] - ldrb r0, [r2, 0x6] - strb r0, [r3, 0x8] - movs r0, 0x1 -_080ADC9A: - pop {r1} - bx r1 - thumb_func_end sub_80ADC64 - - thumb_func_start sub_80ADCA0 -sub_80ADCA0: - push {r4-r7,lr} - adds r7, r0, 0 - adds r4, r1, 0 - ldr r0, _080ADCEC - ldr r3, [r0] - movs r5, 0 - movs r0, 0x1 - negs r0, r0 - mov r12, r0 - movs r6, 0x80 - lsls r6, 9 -_080ADCB6: - movs r1, 0x2 - ldrsh r0, [r3, r1] - cmp r0, r12 - beq _080ADCF0 - ldr r0, [r3, 0x8] - ands r0, r7 - cmp r0, 0 - beq _080ADCF0 - ldr r1, [r3, 0xC] - ldr r0, [r2] - cmp r1, r0 - bge _080ADCF0 - ldr r1, [r3, 0x14] - ldr r0, [r4] - cmp r1, r0 - ble _080ADCF0 - ldr r1, [r3, 0x10] - ldr r0, [r2, 0x4] - cmp r1, r0 - bge _080ADCF0 - ldr r1, [r3, 0x18] - ldr r0, [r4, 0x4] - cmp r1, r0 - ble _080ADCF0 - adds r0, r5, 0 - b _080ADD04 - .align 2, 0 -_080ADCEC: .4byte gUnknown_3001B90 -_080ADCF0: - adds r0, r6, 0 - movs r1, 0x80 - lsls r1, 9 - adds r6, r1 - asrs r5, r0, 16 - adds r3, 0x20 - cmp r5, 0x1F - ble _080ADCB6 - movs r0, 0x1 - negs r0, r0 -_080ADD04: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80ADCA0 - - thumb_func_start sub_80ADD0C -sub_80ADD0C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r0 - adds r6, r1, 0 - adds r5, r2, 0 - ldr r0, _080ADD74 - ldr r4, [r0] - movs r7, 0 - movs r0, 0x1 - negs r0, r0 - mov r9, r0 - movs r1, 0x80 - lsls r1, 9 - mov r12, r1 -_080ADD2C: - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, r9 - beq _080ADD78 - ldr r0, [r4, 0x8] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _080ADD78 - ldr r0, [r4, 0xC] - ldr r1, [r4, 0x14] - adds r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r2, r0, 1 - ldr r0, [r4, 0x10] - ldr r1, [r4, 0x18] - adds r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r3, r0, 1 - ldr r0, [r5] - cmp r2, r0 - bge _080ADD78 - ldr r0, [r6] - cmp r2, r0 - ble _080ADD78 - ldr r0, [r5, 0x4] - cmp r3, r0 - bge _080ADD78 - ldr r0, [r6, 0x4] - cmp r3, r0 - ble _080ADD78 - adds r0, r7, 0 - b _080ADD8C - .align 2, 0 -_080ADD74: .4byte gUnknown_3001B90 -_080ADD78: - mov r0, r12 - movs r1, 0x80 - lsls r1, 9 - add r12, r1 - asrs r7, r0, 16 - adds r4, 0x20 - cmp r7, 0x1F - ble _080ADD2C - movs r0, 0x1 - negs r0, r0 -_080ADD8C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80ADD0C - - thumb_func_start nullsub_124 -nullsub_124: - bx lr - thumb_func_end nullsub_124 - - thumb_func_start sub_80ADD9C -sub_80ADD9C: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - str r0, [sp, 0x20] - str r1, [sp, 0x24] - str r2, [sp, 0x28] - str r3, [sp, 0x2C] - ldr r5, [sp, 0x54] - ldr r0, [sp, 0x5C] - mov r9, r0 - movs r0, 0x93 - lsls r0, 4 - movs r1, 0x7 - bl MemoryAlloc - mov r10, r0 - ldr r0, _080ADEB4 - ldr r7, _080ADEB8 - adds r1, r7, 0 - bl OpenFileAndGetFileDataPtr - adds r6, r0, 0 - add r4, sp, 0x1C - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80901D8 - ldrb r5, [r4] - ldrb r4, [r4, 0x1] - cmp r5, 0x3E - bls _080ADDE2 - movs r5, 0x3E -_080ADDE2: - cmp r4, 0 - bgt _080ADDE8 - movs r4, 0x1 -_080ADDE8: - adds r0, r5, 0 - bl sub_8090298 - cmp r4, r0 - blt _080ADDFA - adds r0, r5, 0 - bl sub_8090298 - subs r4, r0, 0x1 -_080ADDFA: - ldr r2, [r6, 0x4] - ldr r1, [r2] - lsls r0, r5, 2 - adds r0, r1 - lsls r1, r4, 4 - ldr r0, [r0] - adds r0, r1 - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r2, [r2, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - mov r8, r0 - adds r0, r6, 0 - bl CloseFile - ldr r1, _080ADEBC - ldr r0, _080ADEC0 - add r0, r8 - ldrb r5, [r0] - add r0, sp, 0x10 - adds r2, r5, 0 - bl sprintf - add r0, sp, 0x10 - adds r1, r7, 0 - bl OpenFileAndGetFileDataPtr - adds r4, r0, 0 - ldr r0, [sp, 0x28] - movs r1, 0 - adds r2, r4, 0 - bl sub_800AE28 - adds r0, r4, 0 - bl CloseFile - ldr r1, _080ADEC4 - add r0, sp, 0x10 - mov r2, r8 - bl sprintf - add r0, sp, 0x10 - adds r1, r7, 0 - bl OpenFile - ldr r1, [sp, 0x20] - str r0, [r1] - ldr r1, _080ADEC8 - add r0, sp, 0x10 - adds r2, r5, 0 - bl sprintf - add r0, sp, 0x10 - adds r1, r7, 0 - bl OpenFileAndGetFileDataPtr - adds r4, r0, 0 - ldr r1, _080ADECC - ldr r0, [sp, 0x2C] - adds r2, r4, 0 - bl sub_800AAA8 - adds r0, r4, 0 - bl CloseFile - mov r2, r8 - cmp r2, 0x3F - bgt _080ADED4 - ldr r1, _080ADED0 - add r0, sp, 0x10 - adds r2, r5, 0 - bl sprintf - add r0, sp, 0x10 - adds r1, r7, 0 - bl OpenFileAndGetFileDataPtr - adds r4, r0, 0 - mov r0, r10 - movs r1, 0x93 - lsls r1, 4 - adds r2, r4, 0 - bl sub_800AAA8 - adds r0, r4, 0 - bl CloseFile - b _080ADEFC - .align 2, 0 -_080ADEB4: .4byte gUnknown_8118890 -_080ADEB8: .4byte gUnknown_83B0000 -_080ADEBC: .4byte gUnknown_811889C -_080ADEC0: .4byte gUnknown_8108EC0 -_080ADEC4: .4byte gUnknown_81188A8 -_080ADEC8: .4byte gUnknown_81188B4 -_080ADECC: .4byte 0x00001194 -_080ADED0: .4byte gUnknown_81188C0 -_080ADED4: - ldr r1, _080ADF80 - add r0, sp, 0x10 - mov r2, r8 - ldr r3, [sp, 0x58] - bl sprintf - add r0, sp, 0x10 - adds r1, r7, 0 - bl OpenFileAndGetFileDataPtr - adds r4, r0, 0 - movs r1, 0x90 - lsls r1, 2 - mov r0, r10 - adds r2, r4, 0 - bl sub_800AAA8 - adds r0, r4, 0 - bl CloseFile -_080ADEFC: - movs r5, 0 - ldr r3, [sp, 0x60] - cmp r5, r3 - bge _080ADF52 -_080ADF04: - mov r0, r8 - bl sub_8097F40 - lsls r0, 24 - movs r7, 0 - cmp r0, 0 - beq _080ADF14 - movs r7, 0x3 -_080ADF14: - movs r4, 0 - adds r6, r5, 0x1 - cmp r4, r9 - bge _080ADF4A -_080ADF1C: - ldr r0, [sp, 0x64] - str r0, [sp] - str r7, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - mov r2, r8 - str r2, [sp, 0xC] - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, r9 - ldr r3, [sp, 0x60] - bl sub_80ADFB8 - mov r1, r9 - muls r1, r5 - adds r1, r4 - lsls r1, 1 - ldr r3, [sp, 0x50] - adds r1, r3 - strh r0, [r1] - adds r4, 0x1 - cmp r4, r9 - blt _080ADF1C -_080ADF4A: - adds r5, r6, 0 - ldr r0, [sp, 0x60] - cmp r5, r0 - blt _080ADF04 -_080ADF52: - ldr r1, _080ADF84 - add r0, sp, 0x10 - mov r2, r8 - bl sprintf - ldr r1, _080ADF88 - add r0, sp, 0x10 - bl OpenFile - ldr r1, [sp, 0x24] - str r0, [r1] - mov r0, r10 - bl MemoryFree - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ADF80: .4byte gUnknown_81188CC -_080ADF84: .4byte gUnknown_81188DC -_080ADF88: .4byte gUnknown_83B0000 - thumb_func_end sub_80ADD9C - - thumb_func_start sub_80ADF8C -sub_80ADF8C: - push {r4,lr} - adds r4, r0, 0 - ldr r0, [sp, 0xC] - cmp r4, 0 - blt _080ADFB0 - cmp r1, 0 - blt _080ADFB0 - cmp r4, r2 - bge _080ADFB0 - cmp r1, r3 - bge _080ADFB0 - adds r0, r1, 0 - muls r0, r2 - adds r0, r4, r0 - lsls r0, 1 - ldr r1, [sp, 0x8] - adds r0, r1 - ldrh r0, [r0] -_080ADFB0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80ADF8C - - thumb_func_start sub_80ADFB8 -sub_80ADFB8: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - mov r9, r0 - mov r10, r1 - adds r6, r2, 0 - mov r8, r3 - ldr r4, [sp, 0x5C] - movs r7, 0 - ldr r0, [sp, 0x50] - str r0, [sp] - ldr r1, [sp, 0x54] - str r1, [sp, 0x4] - mov r0, r9 - mov r1, r10 - bl sub_80ADF8C - str r0, [sp, 0x28] - cmp r4, 0x3F - ble _080AE000 - mov r0, r9 - cmp r0, 0x17 - bgt _080ADFFC - mov r1, r10 - cmp r1, 0x17 - bgt _080ADFFC - lsls r0, r1, 1 - add r0, r10 - lsls r0, 3 - add r0, r9 - b _080AE24E -_080ADFFC: - ldr r0, [sp, 0x54] - b _080AE254 -_080AE000: - mov r0, r10 - adds r0, 0x1 - str r0, [sp, 0x2C] - ldr r1, [sp, 0x50] - str r1, [sp] - ldr r0, [sp, 0x54] - str r0, [sp, 0x4] - mov r0, r9 - ldr r1, [sp, 0x2C] - adds r2, r6, 0 - mov r3, r8 - bl sub_80ADF8C - str r0, [sp, 0x8] - mov r4, r9 - adds r4, 0x1 - ldr r1, [sp, 0x50] - str r1, [sp] - ldr r0, [sp, 0x54] - str r0, [sp, 0x4] - adds r0, r4, 0 - ldr r1, [sp, 0x2C] - adds r2, r6, 0 - mov r3, r8 - bl sub_80ADF8C - str r0, [sp, 0xC] - ldr r1, [sp, 0x50] - str r1, [sp] - ldr r0, [sp, 0x54] - str r0, [sp, 0x4] - adds r0, r4, 0 - mov r1, r10 - adds r2, r6, 0 - mov r3, r8 - bl sub_80ADF8C - str r0, [sp, 0x10] - mov r5, r10 - subs r5, 0x1 - ldr r1, [sp, 0x50] - str r1, [sp] - ldr r0, [sp, 0x54] - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - mov r3, r8 - bl sub_80ADF8C - str r0, [sp, 0x14] - ldr r1, [sp, 0x50] - str r1, [sp] - ldr r0, [sp, 0x54] - str r0, [sp, 0x4] - mov r0, r9 - adds r1, r5, 0 - adds r2, r6, 0 - mov r3, r8 - bl sub_80ADF8C - str r0, [sp, 0x18] - subs r4, 0x2 - ldr r1, [sp, 0x50] - str r1, [sp] - ldr r0, [sp, 0x54] - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - mov r3, r8 - bl sub_80ADF8C - str r0, [sp, 0x1C] - ldr r1, [sp, 0x50] - str r1, [sp] - ldr r0, [sp, 0x54] - str r0, [sp, 0x4] - adds r0, r4, 0 - mov r1, r10 - adds r2, r6, 0 - mov r3, r8 - bl sub_80ADF8C - str r0, [sp, 0x20] - ldr r1, [sp, 0x50] - str r1, [sp] - ldr r0, [sp, 0x54] - str r0, [sp, 0x4] - adds r0, r4, 0 - ldr r1, [sp, 0x2C] - adds r2, r6, 0 - mov r3, r8 - bl sub_80ADF8C - adds r1, r0, 0 - str r1, [sp, 0x24] - ldr r0, [sp, 0x28] - cmp r0, 0x1 - bne _080AE12A - movs r7, 0xFF - ldr r0, [sp, 0x8] - cmp r0, 0 - bne _080AE0D2 - movs r7, 0xFE -_080AE0D2: - ldr r0, [sp, 0xC] - cmp r0, 0 - bne _080AE0DE - movs r0, 0x3 - negs r0, r0 - ands r7, r0 -_080AE0DE: - ldr r0, [sp, 0x10] - cmp r0, 0 - bne _080AE0EA - movs r0, 0x5 - negs r0, r0 - ands r7, r0 -_080AE0EA: - ldr r0, [sp, 0x14] - cmp r0, 0 - bne _080AE0F6 - movs r0, 0x9 - negs r0, r0 - ands r7, r0 -_080AE0F6: - ldr r0, [sp, 0x18] - cmp r0, 0 - bne _080AE102 - movs r0, 0x11 - negs r0, r0 - ands r7, r0 -_080AE102: - ldr r0, [sp, 0x1C] - cmp r0, 0 - bne _080AE10E - movs r0, 0x21 - negs r0, r0 - ands r7, r0 -_080AE10E: - ldr r0, [sp, 0x20] - cmp r0, 0 - bne _080AE11A - movs r0, 0x41 - negs r0, r0 - ands r7, r0 -_080AE11A: - cmp r1, 0 - bne _080AE124 - movs r0, 0x81 - negs r0, r0 - ands r7, r0 -_080AE124: - movs r0, 0x80 - lsls r0, 2 - b _080AE248 -_080AE12A: - ldr r0, [sp, 0x28] - cmp r0, 0x2 - bne _080AE192 - movs r7, 0xFF - ldr r0, [sp, 0x8] - cmp r0, 0x2 - beq _080AE13A - movs r7, 0xFE -_080AE13A: - ldr r0, [sp, 0xC] - cmp r0, 0x2 - beq _080AE146 - movs r0, 0x3 - negs r0, r0 - ands r7, r0 -_080AE146: - ldr r0, [sp, 0x10] - cmp r0, 0x2 - beq _080AE152 - movs r0, 0x5 - negs r0, r0 - ands r7, r0 -_080AE152: - ldr r0, [sp, 0x14] - cmp r0, 0x2 - beq _080AE15E - movs r0, 0x9 - negs r0, r0 - ands r7, r0 -_080AE15E: - ldr r0, [sp, 0x18] - cmp r0, 0x2 - beq _080AE16A - movs r0, 0x11 - negs r0, r0 - ands r7, r0 -_080AE16A: - ldr r0, [sp, 0x1C] - cmp r0, 0x2 - beq _080AE176 - movs r0, 0x21 - negs r0, r0 - ands r7, r0 -_080AE176: - ldr r0, [sp, 0x20] - cmp r0, 0x2 - beq _080AE182 - movs r0, 0x41 - negs r0, r0 - ands r7, r0 -_080AE182: - cmp r1, 0x2 - beq _080AE18C - movs r0, 0x81 - negs r0, r0 - ands r7, r0 -_080AE18C: - movs r0, 0x80 - lsls r0, 1 - b _080AE248 -_080AE192: - ldr r1, [sp, 0x28] - cmp r1, 0x3 - bne _080AE1FC - movs r7, 0xFF - ldr r0, [sp, 0x8] - cmp r0, 0x3 - beq _080AE1A2 - movs r7, 0xFE -_080AE1A2: - ldr r0, [sp, 0xC] - cmp r0, 0x3 - beq _080AE1AE - movs r0, 0x3 - negs r0, r0 - ands r7, r0 -_080AE1AE: - ldr r0, [sp, 0x10] - cmp r0, 0x3 - beq _080AE1BA - movs r0, 0x5 - negs r0, r0 - ands r7, r0 -_080AE1BA: - ldr r0, [sp, 0x14] - cmp r0, 0x3 - beq _080AE1C6 - movs r0, 0x9 - negs r0, r0 - ands r7, r0 -_080AE1C6: - ldr r0, [sp, 0x18] - cmp r0, 0x3 - beq _080AE1D2 - movs r0, 0x11 - negs r0, r0 - ands r7, r0 -_080AE1D2: - ldr r0, [sp, 0x1C] - cmp r0, 0x3 - beq _080AE1DE - movs r0, 0x21 - negs r0, r0 - ands r7, r0 -_080AE1DE: - ldr r0, [sp, 0x20] - cmp r0, 0x3 - beq _080AE1EA - movs r0, 0x41 - negs r0, r0 - ands r7, r0 -_080AE1EA: - ldr r0, [sp, 0x24] - cmp r0, 0x3 - beq _080AE1F6 - movs r0, 0x81 - negs r0, r0 - ands r7, r0 -_080AE1F6: - movs r0, 0x80 - lsls r0, 1 - b _080AE248 -_080AE1FC: - ldr r0, [sp, 0x8] - cmp r0, 0 - bne _080AE204 - movs r7, 0x1 -_080AE204: - ldr r0, [sp, 0xC] - cmp r0, 0 - bne _080AE20E - movs r0, 0x2 - orrs r7, r0 -_080AE20E: - ldr r0, [sp, 0x10] - cmp r0, 0 - bne _080AE218 - movs r0, 0x4 - orrs r7, r0 -_080AE218: - ldr r0, [sp, 0x14] - cmp r0, 0 - bne _080AE222 - movs r0, 0x8 - orrs r7, r0 -_080AE222: - ldr r0, [sp, 0x18] - cmp r0, 0 - bne _080AE22C - movs r0, 0x10 - orrs r7, r0 -_080AE22C: - ldr r0, [sp, 0x1C] - cmp r0, 0 - bne _080AE236 - movs r0, 0x20 - orrs r7, r0 -_080AE236: - ldr r0, [sp, 0x20] - cmp r0, 0 - bne _080AE240 - movs r0, 0x40 - orrs r7, r0 -_080AE240: - ldr r0, [sp, 0x24] - cmp r0, 0 - bne _080AE24A - movs r0, 0x80 -_080AE248: - orrs r7, r0 -_080AE24A: - lsls r0, r7, 1 - adds r0, r7 -_080AE24E: - ldr r1, [sp, 0x58] - adds r0, r1, r0 - ldrb r0, [r0] -_080AE254: - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80ADFB8 - .align 2,0 |