summaryrefslogtreecommitdiff
path: root/asm/code_80035F0.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code_80035F0.s')
-rw-r--r--asm/code_80035F0.s3975
1 files changed, 0 insertions, 3975 deletions
diff --git a/asm/code_80035F0.s b/asm/code_80035F0.s
index 390c54d..93d3646 100644
--- a/asm/code_80035F0.s
+++ b/asm/code_80035F0.s
@@ -2026,3979 +2026,4 @@ _080044F8: .4byte gUnknown_3000C00
_080044FC: .4byte gUnknown_3000400
thumb_func_end sub_8004434
- thumb_func_start OtherRandom
-OtherRandom:
- ldr r1, _08004514
- ldrh r2, [r1]
- movs r0, 0x6D
- muls r0, r2
- ldr r2, _08004518
- adds r0, r2
- strh r0, [r1]
- ldrh r0, [r1]
- bx lr
- .align 2, 0
-_08004514: .4byte gUnknown_203B070
-_08004518: .4byte 0x000003fd
- thumb_func_end OtherRandom
-
- thumb_func_start OtherRandomCapped
-OtherRandomCapped:
- push {r4,lr}
- adds r4, r0, 0
- bl OtherRandom
- muls r0, r4
- asrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end OtherRandomCapped
-
- thumb_func_start OtherRandomRange
-OtherRandomRange:
- push {r4,lr}
- adds r4, r0, 0
- subs r0, r1, r4
- bl OtherRandomCapped
- adds r0, r4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end OtherRandomRange
-
- thumb_func_start ReverseString
-ReverseString:
- push {r4,r5,lr}
- adds r3, r0, 0
- subs r4, r1, 0x1
- adds r2, r3, r4
- movs r5, 0
- cmp r5, r4
- bge _08004566
-_08004552:
- ldrb r1, [r3]
- ldrb r0, [r2]
- strb r0, [r3]
- adds r3, 0x1
- strb r1, [r2]
- subs r2, 0x1
- adds r5, 0x1
- subs r4, 0x1
- cmp r5, r4
- blt _08004552
-_08004566:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end ReverseString
-
- thumb_func_start ConvertToDecimal
-ConvertToDecimal:
- push {r4-r7,lr}
- adds r4, r1, 0
- cmp r4, 0
- ble _08004578
- movs r7, 0x1
- b _0800457E
-_08004578:
- negs r4, r4
- movs r7, 0x1
- negs r7, r7
-_0800457E:
- cmp r2, 0
- ble _080045A0
- adds r6, r0, 0
- adds r5, r2, 0
-_08004586:
- adds r0, r4, 0
- movs r1, 0xA
- bl __modsi3
- stm r6!, {r0}
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- adds r4, r0, 0
- subs r5, 0x1
- cmp r5, 0
- bne _08004586
-_080045A0:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ConvertToDecimal
-
- thumb_func_start ConvertFromDecimal
-ConvertFromDecimal:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldm r4!, {r1}
- movs r3, 0xA
- cmp r2, 0x1
- ble _080045CA
- subs r2, 0x1
-_080045B8:
- ldm r4!, {r0}
- muls r0, r3
- adds r1, r0
- subs r2, 0x1
- lsls r0, r3, 2
- adds r0, r3
- lsls r3, r0, 1
- cmp r2, 0
- bne _080045B8
-_080045CA:
- adds r0, r1, 0
- cmp r5, 0
- bge _080045D2
- negs r0, r0
-_080045D2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ConvertFromDecimal
-
- thumb_func_start ConvertFromBCD
-ConvertFromBCD:
- push {r4,lr}
- adds r1, r0, 0
- movs r2, 0x1
- movs r3, 0
- cmp r1, 0
- ble _080045FA
- movs r4, 0xF
-_080045E6:
- adds r0, r1, 0
- ands r0, r4
- muls r0, r2
- adds r3, r0
- lsls r0, r2, 2
- adds r0, r2
- lsls r2, r0, 1
- asrs r1, 4
- cmp r1, 0
- bgt _080045E6
-_080045FA:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ConvertFromBCD
-
- thumb_func_start ConvertToBCD
-ConvertToBCD:
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r5, 0
- movs r6, 0
- cmp r4, 0
- ble _0800462C
-_08004610:
- adds r0, r4, 0
- movs r1, 0xA
- bl __modsi3
- lsls r0, r5
- adds r6, r0
- adds r5, 0x4
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- adds r4, r0, 0
- cmp r4, 0
- bgt _08004610
-_0800462C:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ConvertToBCD
-
- thumb_func_start InitBGPaletteBuffer
-InitBGPaletteBuffer:
- push {lr}
- movs r2, 0
- ldr r1, _0800465C
- movs r0, 0x80
- lsls r0, 2
-_0800463E:
- strh r2, [r1]
- adds r1, 0x2
- subs r0, 0x1
- cmp r0, 0
- bne _0800463E
- ldr r1, _08004660
- movs r2, 0x1
- adds r0, r1, 0
- adds r0, 0x1F
-_08004650:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08004650
- pop {r0}
- bx r0
- .align 2, 0
-_0800465C: .4byte gUnknown_20251F0
-_08004660: .4byte gUnknown_20251D0
- thumb_func_end InitBGPaletteBuffer
-
- thumb_func_start SetBGPaletteBufferColorRGB
-SetBGPaletteBufferColorRGB:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- cmp r2, 0
- bge _08004670
- movs r2, 0
-_08004670:
- cmp r2, 0x1F
- ble _08004676
- movs r2, 0x1F
-_08004676:
- ldr r1, _080046CC
- adds r0, r4, 0
- cmp r4, 0
- bge _08004680
- adds r0, 0xF
-_08004680:
- asrs r0, 4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- cmp r3, 0
- bne _080046D4
- ldr r0, _080046D0
- lsls r1, r4, 1
- adds r6, r1, r0
- ldrb r0, [r5, 0x2]
- muls r0, r2
- cmp r0, 0
- bge _0800469C
- adds r0, 0xFF
-_0800469C:
- asrs r0, 8
- movs r3, 0x1F
- ands r0, r3
- lsls r4, r0, 10
- ldrb r0, [r5, 0x1]
- muls r0, r2
- cmp r0, 0
- bge _080046AE
- adds r0, 0xFF
-_080046AE:
- asrs r0, 8
- ands r0, r3
- lsls r1, r0, 5
- orrs r1, r4
- ldrb r0, [r5]
- muls r0, r2
- cmp r0, 0
- bge _080046C0
- adds r0, 0xFF
-_080046C0:
- asrs r0, 8
- ands r0, r3
- orrs r1, r0
- strh r1, [r6]
- b _08004722
- .align 2, 0
-_080046CC: .4byte gUnknown_20251D0
-_080046D0: .4byte gUnknown_20251F0
-_080046D4:
- ldr r1, _08004728
- lsls r0, r4, 1
- adds r7, r0, r1
- ldrb r0, [r5, 0x2]
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x2]
- muls r0, r2
- cmp r0, 0
- bge _080046EA
- adds r0, 0xFF
-_080046EA:
- asrs r0, 8
- movs r4, 0x1F
- ands r0, r4
- lsls r6, r0, 10
- ldrb r0, [r5, 0x1]
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- muls r0, r2
- cmp r0, 0
- bge _08004702
- adds r0, 0xFF
-_08004702:
- asrs r0, 8
- ands r0, r4
- lsls r1, r0, 5
- orrs r1, r6
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0]
- muls r0, r2
- cmp r0, 0
- bge _0800471A
- adds r0, 0xFF
-_0800471A:
- asrs r0, 8
- ands r0, r4
- orrs r1, r0
- strh r1, [r7]
-_08004722:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08004728: .4byte gUnknown_20251F0
- thumb_func_end SetBGPaletteBufferColorRGB
-
- thumb_func_start SetBGPaletteBufferColorArray
-SetBGPaletteBufferColorArray:
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- ldr r1, _08004764
- cmp r2, 0
- bge _0800473A
- adds r0, 0xF
-_0800473A:
- asrs r0, 4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _08004768
- lsls r2, 1
- adds r2, r0
- ldrb r1, [r3, 0x2]
- lsrs r1, 3
- lsls r1, 10
- ldrb r0, [r3, 0x1]
- lsrs r0, 3
- lsls r0, 5
- orrs r1, r0
- ldrb r0, [r3]
- lsrs r0, 3
- orrs r0, r1
- strh r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_08004764: .4byte gUnknown_20251D0
-_08004768: .4byte gUnknown_20251F0
- thumb_func_end SetBGPaletteBufferColorArray
-
- thumb_func_start SetBGPaletteBufferColor
-SetBGPaletteBufferColor:
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- ldr r1, _08004790
- cmp r2, 0
- bge _0800477A
- adds r0, 0xF
-_0800477A:
- asrs r0, 4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, _08004794
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r3]
- strh r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_08004790: .4byte gUnknown_20251D0
-_08004794: .4byte gUnknown_20251F0
- thumb_func_end SetBGPaletteBufferColor
-
- thumb_func_start nullsub_4
-nullsub_4:
- bx lr
- thumb_func_end nullsub_4
-
- thumb_func_start nullsub_5
-nullsub_5:
- bx lr
- thumb_func_end nullsub_5
-
- thumb_func_start nullsub_143
-nullsub_143:
- bx lr
- thumb_func_end nullsub_143
-
- thumb_func_start TransferBGPaletteBuffer
-TransferBGPaletteBuffer:
- push {r4-r6,lr}
- movs r6, 0
- movs r4, 0
- movs r5, 0xA0
- lsls r5, 19
-_080047AE:
- ldr r0, _080047DC
- adds r1, r6, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080047CA
- movs r0, 0
- strb r0, [r1]
- lsls r1, r4, 1
- ldr r0, _080047E0
- adds r1, r0
- adds r0, r5, 0
- movs r2, 0x20
- bl CpuCopy
-_080047CA:
- adds r6, 0x1
- adds r5, 0x20
- adds r4, 0x10
- ldr r0, _080047E4
- cmp r4, r0
- ble _080047AE
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080047DC: .4byte gUnknown_20251D0
-_080047E0: .4byte gUnknown_20251F0
-_080047E4: .4byte 0x000001ff
- thumb_func_end TransferBGPaletteBuffer
-
- thumb_func_start sub_80047E8
-sub_80047E8:
- ldr r0, _08004840
- movs r3, 0
- movs r2, 0
- strh r2, [r0]
- strh r2, [r0, 0x2]
- strh r2, [r0, 0x4]
- strh r2, [r0, 0x6]
- ldr r0, _08004844
- strh r2, [r0]
- strh r2, [r0, 0x2]
- strh r2, [r0, 0x4]
- strh r2, [r0, 0x6]
- ldr r1, _08004848
- ldr r0, _0800484C
- str r0, [r1]
- ldr r0, _08004850
- str r2, [r0, 0x20]
- ldr r1, _08004854
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- strh r1, [r0, 0x1C]
- strh r1, [r0, 0x1E]
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x12]
- strh r1, [r0, 0x14]
- strh r1, [r0, 0x16]
- adds r1, r0, 0
- adds r1, 0x28
- strb r3, [r1]
- adds r0, 0x29
- strb r3, [r0]
- ldr r0, _08004858
- strh r2, [r0]
- strh r2, [r0, 0x2]
- bx lr
- .align 2, 0
-_08004840: .4byte gUnknown_20255F0
-_08004844: .4byte gUnknown_2025638
-_08004848: .4byte gUnknown_202562C
-_0800484C: .4byte 0x004a14c1
-_08004850: .4byte gUnknown_2025600
-_08004854: .4byte 0x0000ffff
-_08004858: .4byte gUnknown_2025668
- thumb_func_end sub_80047E8
-
- thumb_func_start sub_800485C
-sub_800485C:
- push {r4,r5,lr}
- ldr r2, _080048A8
- ldr r1, _080048AC
- adds r0, r2, 0
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r3, 0
- movs r0, 0
- strh r0, [r2]
- strh r0, [r2, 0x2]
- strh r0, [r2, 0x4]
- strh r0, [r2, 0x6]
- ldr r0, _080048B0
- ldr r1, _080048B4
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x12]
- strh r1, [r0, 0x14]
- strh r1, [r0, 0x16]
- adds r1, r0, 0
- adds r1, 0x28
- strb r3, [r1]
- adds r0, 0x29
- strb r3, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080048A8: .4byte gUnknown_2025638
-_080048AC: .4byte gUnknown_20255F0
-_080048B0: .4byte gUnknown_2025600
-_080048B4: .4byte 0x0000ffff
- thumb_func_end sub_800485C
-
- thumb_func_start sub_80048B8
-sub_80048B8:
- movs r0, 0
- bx lr
- thumb_func_end sub_80048B8
-
- thumb_func_start sub_80048BC
-sub_80048BC:
- movs r0, 0
- bx lr
- thumb_func_end sub_80048BC
-
- thumb_func_start sub_80048C0
-sub_80048C0:
- movs r0, 0
- bx lr
- thumb_func_end sub_80048C0
-
- thumb_func_start sub_80048C4
-sub_80048C4:
- movs r0, 0
- bx lr
- thumb_func_end sub_80048C4
-
- thumb_func_start sub_80048C8
-sub_80048C8:
- movs r0, 0
- bx lr
- thumb_func_end sub_80048C8
-
- thumb_func_start sub_80048CC
-sub_80048CC:
- movs r0, 0
- bx lr
- thumb_func_end sub_80048CC
-
- thumb_func_start sub_80048D0
-sub_80048D0:
- ldr r1, _080048E8
- movs r0, 0
- strh r0, [r1, 0x4]
- ldr r1, _080048EC
- str r0, [r1, 0xC]
- strh r0, [r1, 0x8]
- ldr r1, _080048F0
- ldr r0, _080048F4
- strh r0, [r1]
- strh r0, [r1, 0x2]
- bx lr
- .align 2, 0
-_080048E8: .4byte gUnknown_20255F0
-_080048EC: .4byte gUnknown_2025648
-_080048F0: .4byte gUnknown_2025668
-_080048F4: .4byte 0x000003e7
- thumb_func_end sub_80048D0
-
- thumb_func_start sub_80048F8
-sub_80048F8:
- ldr r0, _08004908
- movs r1, 0
- strh r1, [r0, 0x2]
- ldr r0, _0800490C
- strh r1, [r0, 0x2]
- ldr r0, _08004910
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08004908: .4byte gUnknown_20255F0
-_0800490C: .4byte gUnknown_2025638
-_08004910: .4byte gUnknown_2025648
- thumb_func_end sub_80048F8
-
- thumb_func_start sub_8004914
-sub_8004914:
- ldr r0, _0800494C
- movs r1, 0x5
- str r1, [r0, 0x20]
- movs r2, 0
- movs r1, 0
- strh r1, [r0, 0x24]
- ldr r1, _08004950
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x12]
- strh r1, [r0, 0x14]
- strh r1, [r0, 0x16]
- adds r1, r0, 0
- adds r1, 0x28
- strb r2, [r1]
- adds r0, 0x29
- strb r2, [r0]
- bx lr
- .align 2, 0
-_0800494C: .4byte gUnknown_2025600
-_08004950: .4byte 0x0000ffff
- thumb_func_end sub_8004914
-
- thumb_func_start UpdateInput
-UpdateInput:
- push {r4-r6,lr}
- ldr r4, _08004998
- ldr r5, _0800499C
- adds r1, r4, 0
- adds r0, r5, 0
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r5, 0
- bl ReadKeyInput
- ldrh r0, [r4]
- ldrh r3, [r5]
- eors r0, r3
- ands r0, r3
- strh r0, [r5, 0x2]
- lsls r0, r3, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080049A8
- ldrh r1, [r5, 0x8]
- movs r0, 0xF0
- adds r2, r0, 0
- ands r2, r3
- ands r0, r1
- cmp r0, r2
- bne _080049A0
- ldr r0, [r5, 0xC]
- cmp r0, 0x31
- bgt _080049AC
- adds r0, 0x1
- str r0, [r5, 0xC]
- b _080049AC
- .align 2, 0
-_08004998: .4byte gUnknown_2025658
-_0800499C: .4byte gUnknown_2025648
-_080049A0:
- strh r2, [r5, 0x8]
- movs r0, 0x1
- str r0, [r5, 0xC]
- b _080049AC
-_080049A8:
- str r0, [r5, 0xC]
- strh r0, [r5, 0x8]
-_080049AC:
- ldr r0, _080049C4
- ldr r2, [r0, 0xC]
- adds r3, r0, 0
- cmp r2, 0x1
- bne _080049C8
- ldrh r0, [r3, 0x8]
- movs r1, 0xF0
- ands r1, r0
- ldrh r0, [r3, 0x2]
- orrs r1, r0
- strh r1, [r3, 0x4]
- b _080049E0
- .align 2, 0
-_080049C4: .4byte gUnknown_2025648
-_080049C8:
- cmp r2, 0x30
- bne _080049DC
- movs r0, 0x2B
- str r0, [r3, 0xC]
- ldrh r1, [r3, 0x8]
- movs r0, 0xF0
- ands r0, r1
- ldrh r1, [r3, 0x2]
- orrs r0, r1
- b _080049DE
-_080049DC:
- movs r0, 0
-_080049DE:
- strh r0, [r3, 0x4]
-_080049E0:
- movs r0, 0
- strh r0, [r3, 0x6]
- ldrh r1, [r3]
- movs r5, 0x2
- adds r0, r5, 0
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08004A0C
- ldr r0, _08004A08
- ldrh r2, [r0]
- movs r4, 0
- ldrsh r1, [r0, r4]
- adds r4, r0, 0
- cmp r1, 0x63
- bgt _08004A20
- adds r0, r2, 0x1
- strh r0, [r4]
- b _08004A20
- .align 2, 0
-_08004A08: .4byte gUnknown_2025668
-_08004A0C:
- ldr r1, _08004A44
- ldrh r0, [r1]
- subs r0, 0x2
- lsls r0, 16
- lsrs r0, 16
- adds r4, r1, 0
- cmp r0, 0x9
- bhi _08004A1E
- strh r5, [r3, 0x6]
-_08004A1E:
- strh r2, [r4]
-_08004A20:
- ldrh r1, [r3]
- movs r5, 0x80
- lsls r5, 1
- adds r0, r5, 0
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08004A48
- ldrh r1, [r4, 0x2]
- movs r6, 0x2
- ldrsh r0, [r4, r6]
- cmp r0, 0x63
- bgt _08004A5E
- adds r0, r1, 0x1
- strh r0, [r4, 0x2]
- b _08004A5E
- .align 2, 0
-_08004A44: .4byte gUnknown_2025668
-_08004A48:
- ldrh r0, [r4, 0x2]
- subs r0, 0x2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x9
- bhi _08004A5C
- ldrh r1, [r3, 0x6]
- adds r0, r5, 0
- orrs r0, r1
- strh r0, [r3, 0x6]
-_08004A5C:
- strh r2, [r4, 0x2]
-_08004A5E:
- ldr r2, _08004A94
- ldrh r0, [r2]
- ldrh r1, [r3]
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r2, 0x2]
- ldrh r1, [r3, 0x2]
- orrs r0, r1
- strh r0, [r2, 0x2]
- ldrh r0, [r2, 0x4]
- ldrh r1, [r3, 0x4]
- orrs r0, r1
- strh r0, [r2, 0x4]
- ldrh r0, [r2, 0x6]
- ldrh r1, [r3, 0x6]
- orrs r0, r1
- strh r0, [r2, 0x6]
- ldr r2, _08004A98
- ldrh r0, [r3]
- ldr r1, _08004A9C
- orrs r0, r1
- ldr r1, [r2]
- muls r0, r1
- str r0, [r2]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08004A94: .4byte gUnknown_2025638
-_08004A98: .4byte gUnknown_202562C
-_08004A9C: .4byte 0x054a1c41
- thumb_func_end UpdateInput
-
- thumb_func_start nullsub_6
-nullsub_6:
- bx lr
- thumb_func_end nullsub_6
-
- thumb_func_start sub_8004AA4
-sub_8004AA4:
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r4, [r1, 0x4]
- cmp r2, 0
- ble _08004AE8
-_08004AAE:
- ldm r4!, {r1}
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, 0
- beq _08004ADE
- movs r0, 0x80
- lsls r0, 24
- str r0, [r3]
- ldrh r0, [r1, 0x2]
- strh r0, [r3, 0x6]
- ldrh r0, [r1, 0x2]
- strh r0, [r3, 0x4]
- adds r0, r1, 0x4
- str r0, [r3, 0x8]
- str r0, [r3, 0xC]
- movs r5, 0
- ldrsh r0, [r1, r5]
- lsls r0, 2
- adds r0, 0x4
- adds r0, r1, r0
- str r0, [r3, 0x10]
- ldr r0, [r1, 0x4]
- str r0, [r3, 0x14]
- b _08004AE0
-_08004ADE:
- str r0, [r3]
-_08004AE0:
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bne _08004AAE
-_08004AE8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8004AA4
-
- thumb_func_start sub_8004AF0
-sub_8004AF0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r1, 0
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r7, 0
- cmp r7, r3
- bge _08004B6A
- adds r5, r3, 0
-_08004B08:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8004D14
- lsls r0, 24
- cmp r0, 0
- beq _08004B60
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8004D40
- lsls r0, 24
- cmp r0, 0
- bne _08004B60
- mov r1, r8
- ldrh r0, [r4, 0x6]
- subs r0, 0x1
- strh r0, [r4, 0x6]
- lsls r0, 16
- cmp r0, 0
- bgt _08004B4E
- ldrh r0, [r4, 0x4]
- strh r0, [r4, 0x6]
- ldr r1, [r4, 0xC]
- ldr r0, [r4, 0x10]
- cmp r1, r0
- bcc _08004B42
- ldr r0, [r4, 0x8]
- str r0, [r4, 0xC]
-_08004B42:
- ldr r1, [r4, 0xC]
- ldm r1!, {r0}
- str r0, [r4, 0x14]
- str r1, [r4, 0xC]
- movs r1, 0x1
- movs r7, 0x1
-_08004B4E:
- cmp r1, 0
- beq _08004B60
- adds r1, r4, 0
- adds r1, 0x14
- adds r0, r6, 0
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl SetBGPaletteBufferColorRGB
-_08004B60:
- subs r5, 0x1
- adds r4, 0x18
- adds r6, 0x1
- cmp r5, 0
- bne _08004B08
-_08004B6A:
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8004AF0
-
- thumb_func_start sub_8004B78
-sub_8004B78:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r1, 0
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r7, 0
- cmp r7, r3
- bge _08004BF2
- adds r5, r3, 0
-_08004B90:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8004D14
- lsls r0, 24
- cmp r0, 0
- beq _08004BE8
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8004D40
- lsls r0, 24
- cmp r0, 0
- bne _08004BE8
- mov r1, r8
- ldrh r0, [r4, 0x6]
- subs r0, 0x1
- strh r0, [r4, 0x6]
- lsls r0, 16
- cmp r0, 0
- bgt _08004BD6
- ldrh r0, [r4, 0x4]
- strh r0, [r4, 0x6]
- ldr r1, [r4, 0xC]
- ldr r0, [r4, 0x10]
- cmp r1, r0
- bcc _08004BCA
- ldr r0, [r4, 0x8]
- str r0, [r4, 0xC]
-_08004BCA:
- ldr r1, [r4, 0xC]
- ldm r1!, {r0}
- str r0, [r4, 0x14]
- str r1, [r4, 0xC]
- movs r1, 0x1
- movs r7, 0x1
-_08004BD6:
- cmp r1, 0
- beq _08004BE8
- adds r1, r4, 0
- adds r1, 0x14
- adds r0, r6, 0
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl nullsub_4
-_08004BE8:
- subs r5, 0x1
- adds r4, 0x18
- adds r6, 0x1
- cmp r5, 0
- bne _08004B90
-_08004BF2:
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8004B78
-
- thumb_func_start sub_8004C00
-sub_8004C00:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- mov r10, r3
- ldr r0, [sp, 0x28]
- mov r8, r0
- movs r1, 0
- mov r9, r1
- cmp r9, r2
- bge _08004CDC
- adds r6, r2, 0
-_08004C20:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8004D14
- lsls r0, 24
- cmp r0, 0
- beq _08004CD2
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8004D40
- lsls r0, 24
- cmp r0, 0
- bne _08004CD2
- ldrh r0, [r4, 0x6]
- subs r0, 0x1
- strh r0, [r4, 0x6]
- lsls r0, 16
- cmp r0, 0
- bgt _08004C64
- ldrh r0, [r4, 0x4]
- strh r0, [r4, 0x6]
- ldr r1, [r4, 0xC]
- ldr r0, [r4, 0x10]
- cmp r1, r0
- bcc _08004C58
- ldr r0, [r4, 0x8]
- str r0, [r4, 0xC]
-_08004C58:
- ldr r1, [r4, 0xC]
- ldm r1!, {r0}
- str r0, [r4, 0x14]
- str r1, [r4, 0xC]
- movs r2, 0x1
- mov r9, r2
-_08004C64:
- mov r3, r8
- movs r5, 0
- ldrsh r0, [r3, r5]
- ldrb r2, [r4, 0x14]
- adds r1, r0, r2
- movs r5, 0x2
- ldrsh r0, [r3, r5]
- ldrb r2, [r4, 0x15]
- adds r3, r0, r2
- mov r5, r8
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- ldrb r2, [r4, 0x16]
- adds r5, r0, r2
- cmp r1, 0xFF
- ble _08004C86
- movs r1, 0xFF
-_08004C86:
- cmp r3, 0xFF
- ble _08004C8C
- movs r3, 0xFF
-_08004C8C:
- cmp r5, 0xFF
- ble _08004C92
- movs r5, 0xFF
-_08004C92:
- cmp r1, 0
- bge _08004C98
- movs r1, 0
-_08004C98:
- cmp r3, 0
- bge _08004C9E
- movs r3, 0
-_08004C9E:
- cmp r5, 0
- bge _08004CA4
- movs r5, 0
-_08004CA4:
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _08004CF0
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- lsls r2, r3, 24
- lsrs r2, 16
- ldr r1, _08004CF4
- ands r0, r1
- orrs r0, r2
- lsls r2, r5, 24
- lsrs r2, 8
- ldr r1, _08004CF8
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- adds r0, r7, 0
- mov r1, sp
- mov r2, r10
- ldr r3, [sp, 0x24]
- bl SetBGPaletteBufferColorRGB
-_08004CD2:
- subs r6, 0x1
- adds r4, 0x18
- adds r7, 0x1
- cmp r6, 0
- bne _08004C20
-_08004CDC:
- mov r0, r9
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08004CF0: .4byte 0xffffff00
-_08004CF4: .4byte 0xffff00ff
-_08004CF8: .4byte 0xff00ffff
- thumb_func_end sub_8004C00
-
- thumb_func_start sub_8004CFC
-sub_8004CFC:
- push {lr}
- cmp r1, 0
- ble _08004D0E
- movs r2, 0
-_08004D04:
- str r2, [r0]
- adds r0, 0x18
- subs r1, 0x1
- cmp r1, 0
- bne _08004D04
-_08004D0E:
- pop {r0}
- bx r0
- thumb_func_end sub_8004CFC
-
- thumb_func_start sub_8004D14
-sub_8004D14:
- push {r4,lr}
- adds r2, r0, 0
- movs r3, 0
- cmp r3, r1
- bge _08004D36
- movs r4, 0x80
- lsls r4, 24
-_08004D22:
- ldr r0, [r2]
- ands r0, r4
- cmp r0, 0
- beq _08004D2E
- movs r0, 0x1
- b _08004D38
-_08004D2E:
- adds r2, 0x18
- adds r3, 0x1
- cmp r3, r1
- blt _08004D22
-_08004D36:
- movs r0, 0
-_08004D38:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8004D14
-
- thumb_func_start sub_8004D40
-sub_8004D40:
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- movs r1, 0
- cmp r1, r4
- bge _08004D70
- movs r6, 0x80
- lsls r6, 24
- movs r5, 0x80
- lsls r5, 22
-_08004D54:
- ldr r2, [r3]
- adds r0, r2, 0
- ands r0, r6
- cmp r0, 0
- beq _08004D6A
- ands r2, r5
- cmp r2, 0
- bne _08004D68
- movs r0, 0
- b _08004D72
-_08004D68:
- adds r3, 0x18
-_08004D6A:
- adds r1, 0x1
- cmp r1, r4
- blt _08004D54
-_08004D70:
- movs r0, 0x1
-_08004D72:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8004D40
-
- thumb_func_start sub_8004D78
-sub_8004D78:
- push {lr}
- movs r0, 0x1
- bl sub_8004D8C
- movs r0, 0
- bl SetSavingIconCoords
- pop {r0}
- bx r0
- thumb_func_end sub_8004D78
-
- thumb_func_start sub_8004D8C
-sub_8004D8C:
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08004E68
- movs r0, 0
- str r0, [r1]
- ldr r1, _08004E6C
- ldr r0, _08004E70
- str r0, [r1]
- ldr r1, _08004E74
- ldr r0, _08004E78
- str r0, [r1]
- ldr r0, _08004E7C
- adds r1, r0, 0
- adds r1, 0x8
- adds r5, r0, 0
- movs r2, 0
- movs r3, 0xF0
-_08004DB0:
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r0, 0x8
- adds r1, 0x8
- subs r3, 0x10
- cmp r3, 0
- bge _08004DB0
- cmp r4, 0
- beq _08004E50
- movs r2, 0
- ldr r1, _08004E80
- ldr r0, _08004E84
- movs r3, 0x7F
-_08004E42:
- str r2, [r0]
- str r1, [r0, 0x4]
- adds r1, 0x8
- adds r0, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08004E42
-_08004E50:
- movs r1, 0x80
- lsls r1, 4
- adds r0, r5, r1
- movs r1, 0
- str r1, [r0]
- ldr r2, _08004E88
- adds r0, r5, r2
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08004E68: .4byte gUnknown_20266A8
-_08004E6C: .4byte gUnknown_2026E30
-_08004E70: .4byte 0x06010000
-_08004E74: .4byte gUnknown_203B074
-_08004E78: .4byte gUnknown_20266B0
-_08004E7C: .4byte gUnknown_20256A0
-_08004E80: .4byte gUnknown_20262A8
-_08004E84: .4byte gUnknown_2025EA8
-_08004E88: .4byte 0x00000804
- thumb_func_end sub_8004D8C
-
- thumb_func_start sub_8004E8C
-sub_8004E8C:
- ldr r1, _08004EA4
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- strh r1, [r0, 0x4]
- movs r1, 0
- strh r1, [r0, 0x6]
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- bx lr
- .align 2, 0
-_08004EA4: .4byte 0x0000ffff
- thumb_func_end sub_8004E8C
-
- thumb_func_start sub_8004EA8
-sub_8004EA8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- adds r5, r0, 0
- mov r8, r1
- adds r0, r2, 0
- adds r6, r3, 0
- cmp r0, 0
- beq _08004EC2
- bl sub_80052BC
-_08004EC2:
- ldr r0, _08004F40
- ldr r7, [r0]
- mov r12, r0
- cmp r7, 0x7F
- ble _08004ECE
- b _08005082
-_08004ECE:
- mov r2, sp
- ldrh r0, [r5]
- strh r0, [r2]
- ldrh r0, [r5, 0x2]
- strh r0, [r2, 0x2]
- ldrh r4, [r5, 0x4]
- ldr r0, _08004F44
- ands r0, r4
- strh r0, [r2, 0x4]
- ldrh r3, [r5, 0x6]
- ldr r0, _08004F48
- ands r0, r3
- strh r0, [r2, 0x6]
- ldrh r0, [r5, 0x8]
- strh r0, [r2, 0x8]
- movs r1, 0xE0
- lsls r1, 4
- ands r1, r3
- lsrs r1, 9
- ldr r0, _08004F4C
- ands r0, r4
- lsls r0, 4
- orrs r1, r0
- strh r1, [r2, 0xA]
- lsls r1, r7, 3
- ldr r0, _08004F50
- adds r3, r1, r0
- mov r0, r8
- movs r2, 0x16
- ldrsh r1, [r0, r2]
- mov r0, sp
- ldrb r0, [r0, 0x3]
- lsls r0, 24
- asrs r0, 24
- adds r7, r1, r0
- cmp r7, 0
- bge _08004F1A
- movs r7, 0
-_08004F1A:
- cmp r7, 0xFF
- ble _08004F20
- movs r7, 0xFF
-_08004F20:
- cmp r6, 0
- bne _08004F54
- add r2, sp, 0x4
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- ldrh r0, [r2]
- strh r0, [r3, 0x2]
- adds r2, 0x2
- adds r1, r3, 0x4
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- ldrh r0, [r2]
- strh r0, [r1, 0x2]
- b _08004F86
- .align 2, 0
-_08004F40: .4byte gUnknown_20266A8
-_08004F44: .4byte 0x0000fcff
-_08004F48: .4byte 0x0000f1ff
-_08004F4C: .4byte 0x000003ff
-_08004F50: .4byte gUnknown_20262A8
-_08004F54:
- add r4, sp, 0x4
- ldrh r1, [r4]
- ldrh r0, [r6]
- ands r0, r1
- ldrh r1, [r6, 0x6]
- orrs r0, r1
- strh r0, [r3]
- adds r4, 0x2
- ldrh r1, [r4]
- ldrh r0, [r6, 0x2]
- ands r0, r1
- ldrh r1, [r6, 0x8]
- orrs r0, r1
- strh r0, [r3, 0x2]
- adds r4, 0x2
- adds r2, r3, 0x4
- ldrh r1, [r4]
- ldrh r0, [r6, 0x4]
- ands r0, r1
- ldrh r1, [r6, 0xA]
- orrs r0, r1
- strh r0, [r2]
- adds r4, 0x2
- ldrh r0, [r4]
- strh r0, [r2, 0x2]
-_08004F86:
- mov r0, sp
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _08004FB0
- ldr r1, _08004FA8
- mov r0, sp
- ldrb r0, [r0, 0x2]
- lsls r0, 1
- adds r1, r0, r1
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _08004FB0
- adds r1, r0, 0
- ldr r0, _08004FAC
- ands r1, r0
- b _08004FC0
- .align 2, 0
-_08004FA8: .4byte gUnknown_2025672
-_08004FAC: .4byte 0x000003ff
-_08004FB0:
- ldrh r1, [r3, 0x4]
- ldr r2, _08005090
- ands r1, r2
- mov r6, r8
- movs r4, 0x14
- ldrsh r0, [r6, r4]
- adds r1, r0
- ands r1, r2
-_08004FC0:
- ldrh r2, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r4, [r3, 0x2]
- ldr r5, _08005094
- adds r2, r5, 0
- ands r2, r4
- ldr r6, _08005098
- adds r1, r2, r6
- mov r2, r8
- movs r6, 0
- ldrsh r0, [r2, r6]
- adds r2, r1, r0
- movs r0, 0x40
- negs r0, r0
- mov r9, r0
- cmp r2, r9
- blt _08005082
- cmp r2, 0xEF
- bgt _08005082
- ands r2, r5
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r4
- orrs r0, r2
- strh r0, [r3, 0x2]
- ldrh r0, [r3, 0x6]
- lsls r4, r0, 16
- ldr r1, _0800509C
- adds r5, r1, 0
- lsrs r2, r4, 20
- ldr r6, _080050A0
- adds r1, r2, r6
- mov r2, r8
- movs r6, 0x2
- ldrsh r0, [r2, r6]
- adds r2, r1, r0
- cmp r2, r9
- blt _08005082
- cmp r2, 0x9F
- bgt _08005082
- movs r0, 0xFF
- ands r2, r0
- ldrh r1, [r3]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- strh r0, [r3]
- lsrs r0, r4, 17
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08005044
- mov r0, r8
- ldrb r1, [r0, 0x1E]
- movs r0, 0xF
- ands r1, r0
- lsls r1, 12
- ldrh r0, [r3, 0x4]
- ands r0, r5
- orrs r0, r1
- strh r0, [r3, 0x4]
-_08005044:
- mov r0, sp
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _08005068
- ldr r1, _080050A4
- mov r0, sp
- ldrb r0, [r0, 0x2]
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0xF
- ands r1, r0
- lsls r1, 12
- ldrh r0, [r3, 0x4]
- ands r0, r5
- orrs r0, r1
- strh r0, [r3, 0x4]
-_08005068:
- ldr r0, _080050A8
- mov r4, r12
- ldr r3, [r4]
- lsls r2, r3, 3
- adds r2, r0
- ldr r1, _080050AC
- lsls r0, r7, 3
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- str r2, [r0]
- adds r3, 0x1
- str r3, [r4]
-_08005082:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08005090: .4byte 0x000003ff
-_08005094: .4byte 0x000001ff
-_08005098: .4byte 0xffffff00
-_0800509C: .4byte 0x00000fff
-_080050A0: .4byte 0xfffffe00
-_080050A4: .4byte gUnknown_2025682
-_080050A8: .4byte gUnknown_2025EA8
-_080050AC: .4byte gUnknown_20256A0
- thumb_func_end sub_8004EA8
-
- thumb_func_start AddSprite
-AddSprite:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r1, 0
- mov r8, r2
- adds r4, r3, 0
- ldr r0, _080050F4
- ldr r0, [r0]
- cmp r0, 0x7F
- bgt _08005168
- lsls r1, r0, 3
- ldr r0, _080050F8
- adds r5, r1, r0
- cmp r7, 0
- bge _080050D2
- movs r7, 0
-_080050D2:
- cmp r7, 0xFF
- ble _080050D8
- movs r7, 0xFF
-_080050D8:
- cmp r4, 0
- bne _080050FC
- ldrh r0, [r6]
- strh r0, [r5]
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x2]
- adds r1, r6, 0x4
- adds r2, r5, 0x4
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x2]
- b _08005128
- .align 2, 0
-_080050F4: .4byte gUnknown_20266A8
-_080050F8: .4byte gUnknown_20262A8
-_080050FC:
- ldrh r1, [r6]
- ldrh r0, [r4]
- ands r0, r1
- ldrh r1, [r4, 0x6]
- orrs r0, r1
- strh r0, [r5]
- ldrh r1, [r6, 0x2]
- ldrh r0, [r4, 0x2]
- ands r0, r1
- ldrh r1, [r4, 0x8]
- orrs r0, r1
- strh r0, [r5, 0x2]
- adds r2, r6, 0x4
- adds r3, r5, 0x4
- ldrh r1, [r2]
- ldrh r0, [r4, 0x4]
- ands r0, r1
- ldrh r1, [r4, 0xA]
- orrs r0, r1
- strh r0, [r3]
- ldrh r0, [r2, 0x2]
- strh r0, [r3, 0x2]
-_08005128:
- ldrh r4, [r5, 0x6]
- lsrs r4, 4
- adds r0, r4, 0
- movs r1, 0
- bl nullsub_3
- movs r0, 0xFF
- ands r4, r0
- ldrh r1, [r5]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- orrs r0, r4
- strh r0, [r5]
- mov r0, r8
- cmp r0, 0
- beq _0800514E
- bl sub_80052BC
-_0800514E:
- ldr r0, _08005174
- ldr r4, _08005178
- ldr r3, [r4]
- lsls r2, r3, 3
- adds r2, r0
- ldr r1, _0800517C
- lsls r0, r7, 3
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- str r2, [r0]
- adds r3, 0x1
- str r3, [r4]
-_08005168:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08005174: .4byte gUnknown_2025EA8
-_08005178: .4byte gUnknown_20266A8
-_0800517C: .4byte gUnknown_20256A0
- thumb_func_end AddSprite
-
- thumb_func_start sub_8005180
-sub_8005180:
- push {lr}
- ldr r2, _080051A8
- adds r1, r2, 0
- cmp r2, 0
- beq _0800519E
-_0800518A:
- ldr r0, [r1, 0x4]
- cmp r0, 0
- beq _08005198
- cmp r2, 0
- beq _08005196
- str r1, [r2]
-_08005196:
- adds r2, r1, 0
-_08005198:
- ldr r1, [r1]
- cmp r1, 0
- bne _0800518A
-_0800519E:
- movs r0, 0
- str r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_080051A8: .4byte gUnknown_20256A0
- thumb_func_end sub_8005180
-
- thumb_func_start CopySpritesToOam
-CopySpritesToOam:
- push {r4-r6,lr}
- ldr r3, _08005204
- ldr r2, _08005208
- movs r4, 0
- ldr r6, _0800520C
- cmp r3, 0
- beq _080051E0
- ldr r5, _08005210
-_080051BC:
- ldr r1, [r3, 0x4]
- cmp r1, 0
- beq _080051D6
- subs r2, 0x4
- ldrh r0, [r1, 0x4]
- strh r0, [r2]
- subs r2, 0x2
- ldrh r0, [r1, 0x2]
- strh r0, [r2]
- subs r2, 0x2
- ldrh r0, [r1]
- strh r0, [r2]
- adds r4, 0x1
-_080051D6:
- ldr r3, [r3]
- cmp r3, 0
- beq _080051E0
- cmp r2, r5
- bhi _080051BC
-_080051E0:
- ldr r1, _08005210
- cmp r2, r1
- bls _080051FA
- movs r0, 0
- movs r3, 0xA0
-_080051EA:
- subs r2, 0x4
- strh r0, [r2]
- subs r2, 0x2
- strh r0, [r2]
- subs r2, 0x2
- strh r3, [r2]
- cmp r2, r1
- bhi _080051EA
-_080051FA:
- strh r4, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08005204: .4byte gUnknown_20256A0
-_08005208: .4byte 0x07000400
-_0800520C: .4byte gUnknown_2025670
-_08005210: .4byte 0x07000008
- thumb_func_end CopySpritesToOam
-
- thumb_func_start SetSavingIconCoords
-SetSavingIconCoords:
- push {lr}
- adds r3, r0, 0
- cmp r3, 0
- bne _0800522C
- ldr r1, _08005228
- strh r3, [r1]
- movs r0, 0xA0
- strh r0, [r1, 0x2]
- b _0800523C
- .align 2, 0
-_08005228: .4byte gUnknown_2025694
-_0800522C:
- ldr r1, _08005240
- ldrh r0, [r3]
- movs r2, 0
- strh r0, [r1]
- ldrh r0, [r3, 0x2]
- strh r0, [r1, 0x2]
- ldr r0, _08005244
- str r2, [r0]
-_0800523C:
- pop {r0}
- bx r0
- .align 2, 0
-_08005240: .4byte gUnknown_2025694
-_08005244: .4byte gUnknown_2025698
- thumb_func_end SetSavingIconCoords
-
- thumb_func_start BlinkSavingIcon
-BlinkSavingIcon:
- push {r4,lr}
- movs r2, 0xE0
- lsls r2, 19
- ldr r0, _08005280
- ldr r1, [r0]
- adds r3, r1, 0
- adds r1, 0x1
- str r1, [r0]
- movs r0, 0x10
- ands r3, r0
- cmp r3, 0
- beq _08005288
- movs r0, 0xA0
- strh r0, [r2]
- adds r2, 0x2
- movs r1, 0x80
- lsls r1, 7
- adds r0, r1, 0
- strh r0, [r2]
- adds r2, 0x2
- ldr r4, _08005284
- adds r0, r4, 0
- strh r0, [r2]
- adds r2, 0x2
- movs r0, 0
- strh r0, [r2]
- b _080052A8
- .align 2, 0
-_08005280: .4byte gUnknown_2025698
-_08005284: .4byte 0x0000f3fc
-_08005288:
- ldr r1, _080052B0
- ldrh r0, [r1, 0x2]
- strh r0, [r2]
- ldr r2, _080052B4
- movs r4, 0x80
- lsls r4, 7
- adds r0, r4, 0
- ldrh r1, [r1]
- adds r0, r1
- strh r0, [r2]
- adds r2, 0x2
- ldr r1, _080052B8
- adds r0, r1, 0
- strh r0, [r2]
- adds r2, 0x2
- strh r3, [r2]
-_080052A8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080052B0: .4byte gUnknown_2025694
-_080052B4: .4byte 0x07000002
-_080052B8: .4byte 0x0000f3fc
- thumb_func_end BlinkSavingIcon
-
- thumb_func_start sub_80052BC
-sub_80052BC:
- push {r4-r6,lr}
- adds r3, r0, 0
- ldr r0, [r3, 0x4]
- cmp r0, 0
- beq _080052F2
- ldr r5, _080052F8
- ldr r6, _080052FC
- ldr r4, _08005300
-_080052CC:
- ldr r2, [r5]
- cmp r2, r6
- bcs _080052F2
- ldr r0, [r3, 0x4]
- str r0, [r2]
- ldr r0, [r3]
- str r0, [r2, 0x4]
- ldr r1, [r4]
- str r1, [r2, 0x8]
- ldr r0, [r3, 0x4]
- adds r1, r0
- str r1, [r4]
- adds r0, r2, 0
- adds r0, 0xC
- str r0, [r5]
- adds r3, 0x8
- ldr r0, [r3, 0x4]
- cmp r0, 0
- bne _080052CC
-_080052F2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080052F8: .4byte gUnknown_203B074
-_080052FC: .4byte gUnknown_2026E30
-_08005300: .4byte gUnknown_2026E30
- thumb_func_end sub_80052BC
-
- thumb_func_start sub_8005304
-sub_8005304:
- push {r4,lr}
- ldr r4, _0800530C
- b _0800532A
- .align 2, 0
-_0800530C: .4byte gUnknown_20266B0
-_08005310:
- ldr r1, [r4, 0x4]
- cmp r1, 0
- beq _08005320
- ldr r0, [r4, 0x8]
- ldr r2, [r4]
- bl CpuCopy
- b _08005328
-_08005320:
- ldr r0, [r4, 0x8]
- ldr r1, [r4]
- bl CpuClear
-_08005328:
- adds r4, 0xC
-_0800532A:
- ldr r0, _08005338
- ldr r0, [r0]
- cmp r4, r0
- bcc _08005310
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08005338: .4byte gUnknown_203B074
- thumb_func_end sub_8005304
-
- thumb_func_start sub_800533C
-sub_800533C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r1
- adds r5, r2, 0
- adds r7, r3, 0
- ldr r1, [sp, 0x18]
- lsls r1, 24
- lsrs r6, r1, 24
- movs r2, 0x18
- ldrsh r1, [r5, r2]
- lsls r1, 2
- adds r1, r0
- ldr r4, [r1]
- ldr r1, _08005368
- movs r2, 0x14
- ldrsh r0, [r5, r2]
- lsls r0, 5
- ldr r2, _0800536C
- adds r0, r2
- str r0, [r1]
- b _0800538E
- .align 2, 0
-_08005368: .4byte gUnknown_2026E30
-_0800536C: .4byte 0x06010000
-_08005370:
- cmp r6, 0
- beq _08005382
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- blt _08005382
- lsls r0, 2
- add r0, r8
- ldr r2, [r0]
-_08005382:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8004EA8
- adds r4, 0xA
-_0800538E:
- movs r2, 0
- ldrh r1, [r4]
- ldr r0, _080053A8
- cmp r1, r0
- bne _08005370
- ldrh r0, [r4, 0x2]
- cmp r0, r1
- bne _08005370
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080053A8: .4byte 0x0000ffff
- thumb_func_end sub_800533C
-
- thumb_func_start sub_80053AC
-sub_80053AC:
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r5, [sp, 0x1C]
- ldr r6, [sp, 0x20]
- ldr r4, [sp, 0x24]
- lsls r4, 24
- lsrs r4, 24
- ldr r1, [r1, 0x4]
- str r5, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- bl sub_80053D0
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80053AC
-
- thumb_func_start sub_80053D0
-sub_80053D0:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- ldr r0, [sp, 0x1C]
- lsls r0, 24
- movs r2, 0
- movs r3, 0x80
- lsls r3, 8
- strh r3, [r4]
- cmp r0, 0
- beq _080053F6
- movs r0, 0x80
- lsls r0, 5
- adds r1, r0, 0
- adds r0, r3, 0
- orrs r0, r1
- strh r0, [r4]
-_080053F6:
- strh r2, [r4, 0x2]
- ldr r0, [sp, 0x18]
- strh r0, [r4, 0x4]
- strh r2, [r4, 0xC]
- strh r2, [r4, 0xE]
- ldr r0, [sp, 0x14]
- strh r0, [r4, 0x1C]
- ldr r0, _08005438
- strh r0, [r4, 0x20]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r4, 0x22]
- str r2, [r4, 0x14]
- str r2, [r4, 0x18]
- strh r2, [r4, 0x6]
- ldr r1, [r5, 0x4]
- lsls r0, r6, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r4, 0x28]
- str r0, [r4, 0x2C]
- ldr r0, [r5]
- str r0, [r4, 0x34]
- ldr r0, [r5, 0xC]
- str r0, [r4, 0x38]
- ldr r0, [r5, 0x10]
- str r0, [r4, 0x30]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08005438: .4byte 0x0000ffff
- thumb_func_end sub_80053D0
-
- thumb_func_start sub_800543C
-sub_800543C:
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r5, [sp, 0x14]
- ldr r4, [sp, 0x18]
- lsls r4, 24
- lsrs r4, 24
- ldr r1, [r1, 0x4]
- str r5, [sp]
- str r4, [sp, 0x4]
- bl sub_800545C
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_800543C
-
- thumb_func_start sub_800545C
-sub_800545C:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- adds r5, r3, 0
- ldr r0, [sp, 0x18]
- lsls r0, 24
- movs r2, 0
- movs r3, 0x80
- lsls r3, 8
- strh r3, [r4]
- cmp r0, 0
- beq _08005482
- movs r0, 0x80
- lsls r0, 5
- adds r1, r0, 0
- adds r0, r3, 0
- orrs r0, r1
- strh r0, [r4]
-_08005482:
- strh r2, [r4, 0x2]
- ldr r0, [sp, 0x14]
- strh r0, [r4, 0x4]
- strh r2, [r4, 0xC]
- strh r2, [r4, 0xE]
- strh r5, [r4, 0x1C]
- ldr r0, _080054B8
- strh r0, [r4, 0x20]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r4, 0x22]
- str r2, [r4, 0x14]
- str r2, [r4, 0x18]
- strh r2, [r4, 0x6]
- ldr r1, [r6, 0x4]
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- str r0, [r4, 0x28]
- str r0, [r4, 0x2C]
- ldr r0, [r6]
- str r0, [r4, 0x34]
- str r2, [r4, 0x30]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080054B8: .4byte 0x0000ffff
- thumb_func_end sub_800545C
-
- thumb_func_start sub_80054BC
-sub_80054BC:
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- beq _080054D0
- movs r0, 0
- b _080054D2
-_080054D0:
- lsrs r0, r1, 15
-_080054D2:
- cmp r0, 0
- beq _08005586
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- ldrh r3, [r4]
- cmp r0, 0
- blt _08005524
- movs r0, 0x80
- lsls r0, 7
- ands r0, r3
- cmp r0, 0
- bne _08005586
- ldrh r2, [r4, 0x6]
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- ldr r0, _0800550C
- cmp r1, r0
- bgt _080054FA
- adds r0, r2, 0x1
- strh r0, [r4, 0x6]
-_080054FA:
- ldrh r1, [r4, 0x4]
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08005510
- subs r0, r1, 0x1
- strh r0, [r4, 0x4]
- b _08005586
- .align 2, 0
-_0800550C: .4byte 0x0000752f
-_08005510:
- ldrh r1, [r4, 0x2]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08005524
- subs r0, r1, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- cmp r0, 0
- bgt _08005586
-_08005524:
- ldr r0, [r4, 0x2C]
- ldrb r0, [r0]
- cmp r0, 0
- bne _08005550
- movs r0, 0x80
- lsls r0, 5
- ands r0, r3
- cmp r0, 0
- bne _08005542
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1, 0
- orrs r0, r3
- strh r0, [r4]
- b _08005586
-_08005542:
- ldr r0, [r4, 0x28]
- str r0, [r4, 0x2C]
- bl Random
- movs r1, 0x1
- ands r0, r1
- strh r0, [r4, 0x4]
-_08005550:
- ldrh r1, [r4]
- movs r2, 0x80
- lsls r2, 4
- adds r0, r2, 0
- orrs r0, r1
- strh r0, [r4]
- ldr r1, [r4, 0x2C]
- ldrb r0, [r1]
- strh r0, [r4, 0x2]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0xC]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0xE]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x10]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x12]
- ldrb r0, [r1, 0x1]
- str r0, [r4, 0x14]
- ldrb r2, [r1, 0x1]
- ldr r0, [r4, 0x18]
- orrs r0, r2
- str r0, [r4, 0x18]
- adds r1, 0xC
- str r1, [r4, 0x2C]
-_08005586:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80054BC
-
- thumb_func_start sub_800558C
-sub_800558C:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- ldrh r0, [r5]
- lsrs r0, 15
- cmp r0, 0
- beq _08005602
- movs r1, 0x20
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bge _080055AE
- adds r0, r5, 0
- bl sub_80054BC
-_080055AE:
- ldrh r0, [r5]
- lsrs r0, 15
- cmp r0, 0
- beq _08005602
- ldrh r0, [r5, 0xC]
- adds r0, r4
- strh r0, [r5, 0x8]
- ldrh r0, [r5, 0xE]
- adds r0, r6
- strh r0, [r5, 0xA]
- adds r1, r5, 0
- adds r1, 0x26
- ldr r0, [sp, 0x18]
- strb r0, [r1]
- strh r7, [r5, 0x1E]
- ldr r0, [r5, 0x34]
- ldr r1, [r5, 0x38]
- adds r2, r5, 0
- adds r2, 0x8
- movs r3, 0x22
- ldrsh r4, [r5, r3]
- movs r6, 0x20
- ldrsh r3, [r5, r6]
- eors r4, r3
- negs r3, r4
- orrs r3, r4
- lsrs r3, 31
- str r3, [sp]
- ldr r3, [sp, 0x1C]
- bl sub_800533C
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x22]
- ldrh r1, [r5]
- movs r0, 0x80
- lsls r0, 4
- ands r0, r1
- cmp r0, 0
- beq _08005602
- ldr r0, _0800560C
- ands r0, r1
- strh r0, [r5]
-_08005602:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800560C: .4byte 0x0000f7ff
- thumb_func_end sub_800558C
-
- thumb_func_start sub_8005610
-sub_8005610:
- push {lr}
- ldr r0, [r0, 0x4]
- bl sub_800561C
- pop {r0}
- bx r0
- thumb_func_end sub_8005610
-
- thumb_func_start sub_800561C
-sub_800561C:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r0, r1, 0
- adds r7, r2, 0
- adds r6, r3, 0
- ldr r1, [r5, 0x14]
- cmp r1, 0
- beq _0800563A
- lsls r0, 5
- ldr r2, _08005664
- adds r0, r2
- ldr r2, [r5, 0x1C]
- lsls r2, 5
- bl CpuCopy
-_0800563A:
- ldr r0, [r5, 0x18]
- cmp r0, 0
- beq _0800565C
- movs r4, 0
-_08005642:
- movs r1, 0xF0
- lsls r1, 1
- adds r0, r4, r1
- lsls r2, r4, 2
- ldr r1, [r5, 0x18]
- adds r1, r2
- adds r2, r7, 0
- adds r3, r6, 0
- bl SetBGPaletteBufferColorRGB
- adds r4, 0x1
- cmp r4, 0xF
- ble _08005642
-_0800565C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08005664: .4byte 0x06010000
- thumb_func_end sub_800561C
-
- thumb_func_start sub_8005668
-sub_8005668:
- push {lr}
- ldr r0, [r0, 0x4]
- bl sub_8005674
- pop {r1}
- bx r1
- thumb_func_end sub_8005668
-
- thumb_func_start sub_8005674
-sub_8005674:
- push {r4,lr}
- adds r4, r0, 0
- ldr r3, [r4, 0x14]
- cmp r3, 0
- beq _0800568E
- lsls r0, r1, 5
- ldr r1, _08005698
- adds r0, r1
- ldr r2, [r4, 0x1C]
- lsls r2, 5
- adds r1, r3, 0
- bl CpuCopy
-_0800568E:
- ldr r0, [r4, 0x18]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08005698: .4byte 0x06010000
- thumb_func_end sub_8005674
-
- thumb_func_start sub_800569C
-sub_800569C:
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0
- strh r0, [r3]
- strh r0, [r3, 0x2]
- ldrh r0, [r4]
- lsrs r0, 15
- cmp r0, 0
- beq _080056F8
- cmp r2, 0x3
- bhi _080056F8
- ldr r1, [r4, 0x30]
- cmp r1, 0
- beq _080056F2
- movs r5, 0x20
- ldrsh r0, [r4, r5]
- lsls r0, 4
- adds r5, r1, r0
- lsls r0, r2, 2
- adds r2, r5, r0
- movs r6, 0
- ldrsh r1, [r2, r6]
- cmp r1, 0x63
- bne _080056E0
- movs r6, 0x2
- ldrsh r1, [r2, r6]
- cmp r1, 0x63
- bne _080056E0
- strh r1, [r3]
- strh r1, [r3, 0x2]
- b _080056F8
-_080056E0:
- adds r0, r5, r0
- ldrh r1, [r0]
- ldrh r2, [r4, 0xC]
- adds r1, r2
- strh r1, [r3]
- ldrh r0, [r0, 0x2]
- ldrh r4, [r4, 0xE]
- adds r0, r4
- b _080056F6
-_080056F2:
- movs r0, 0x63
- strh r0, [r3]
-_080056F6:
- strh r0, [r3, 0x2]
-_080056F8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_800569C
-
- thumb_func_start sub_8005700
-sub_8005700:
- push {r4,r5,lr}
- adds r3, r0, 0
- ldrh r0, [r1]
- lsrs r0, 15
- cmp r0, 0
- beq _0800575C
- ldr r2, [r1, 0x30]
- cmp r2, 0
- beq _0800574C
- movs r4, 0x20
- ldrsh r0, [r1, r4]
- lsls r0, 4
- adds r2, r0
- adds r4, r2, 0
- adds r4, 0xC
-_0800571E:
- movs r5, 0
- ldrsh r0, [r2, r5]
- cmp r0, 0x63
- bne _08005732
- movs r5, 0x2
- ldrsh r0, [r2, r5]
- cmp r0, 0x63
- bne _08005732
- strh r0, [r3]
- b _08005740
-_08005732:
- ldrh r0, [r2]
- ldrh r5, [r1, 0xC]
- adds r0, r5
- strh r0, [r3]
- ldrh r0, [r2, 0x2]
- ldrh r5, [r1, 0xE]
- adds r0, r5
-_08005740:
- strh r0, [r3, 0x2]
- adds r3, 0x4
- adds r2, 0x4
- cmp r2, r4
- ble _0800571E
- b _0800575C
-_0800574C:
- movs r1, 0x63
- movs r0, 0x3
-_08005750:
- strh r1, [r3]
- strh r1, [r3, 0x2]
- adds r3, 0x4
- subs r0, 0x1
- cmp r0, 0
- bge _08005750
-_0800575C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8005700
-
- thumb_func_start sub_8005764
-sub_8005764:
- push {lr}
- ldr r1, [r1, 0x4]
- bl sub_8005770
- pop {r0}
- bx r0
- thumb_func_end sub_8005764
-
- thumb_func_start sub_8005770
-sub_8005770:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r2
- adds r7, r3, 0
- movs r5, 0
- adds r0, 0x10
- lsls r6, r0, 4
- adds r4, r1, 0
-_08005782:
- adds r0, r6, r5
- adds r1, r4, 0
- mov r2, r8
- adds r3, r7, 0
- bl SetBGPaletteBufferColorRGB
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, 0xF
- ble _08005782
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8005770
-
- thumb_func_start nullsub_7
-nullsub_7:
- bx lr
- thumb_func_end nullsub_7
-
- thumb_func_start nullsub_8
-nullsub_8:
- bx lr
- thumb_func_end nullsub_8
-
- thumb_func_start nullsub_9
-nullsub_9:
- bx lr
- thumb_func_end nullsub_9
-
- thumb_func_start nullsub_10
-nullsub_10:
- bx lr
- thumb_func_end nullsub_10
-
- thumb_func_start nullsub_144
-nullsub_144:
- bx lr
- thumb_func_end nullsub_144
-
- thumb_func_start nullsub_11
-nullsub_11:
- bx lr
- thumb_func_end nullsub_11
-
- thumb_func_start nullsub_12
-nullsub_12:
- bx lr
- thumb_func_end nullsub_12
-
- thumb_func_start nullsub_13
-nullsub_13:
- bx lr
- thumb_func_end nullsub_13
-
- thumb_func_start nullsub_145
-nullsub_145:
- bx lr
- thumb_func_end nullsub_145
-
- thumb_func_start nullsub_14
-nullsub_14:
- bx lr
- thumb_func_end nullsub_14
-
- thumb_func_start nullsub_146
-nullsub_146:
- bx lr
- thumb_func_end nullsub_146
-
- thumb_func_start nullsub_147
-nullsub_147:
- bx lr
- thumb_func_end nullsub_147
-
- thumb_func_start nullsub_148
-nullsub_148:
- bx lr
- thumb_func_end nullsub_148
-
- thumb_func_start nullsub_149
-nullsub_149:
- bx lr
- thumb_func_end nullsub_149
-
- thumb_func_start sub_80057D8
-sub_80057D8:
- movs r0, 0
- bx lr
- thumb_func_end sub_80057D8
-
- thumb_func_start sub_80057DC
-sub_80057DC:
- movs r0, 0
- bx lr
- thumb_func_end sub_80057DC
-
- thumb_func_start nullsub_150
-nullsub_150:
- bx lr
- thumb_func_end nullsub_150
-
- thumb_func_start nullsub_151
-nullsub_151:
- bx lr
- thumb_func_end nullsub_151
-
- thumb_func_start sub_80057E8
-sub_80057E8:
- ldr r1, _08005814
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _08005818
- movs r2, 0
- str r2, [r0]
- ldr r1, _0800581C
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08005820
- str r2, [r0]
- ldr r0, _08005824
- str r2, [r0]
- ldr r0, _08005828
- strb r2, [r0]
- ldr r1, _0800582C
- ldr r3, _08005830
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _08005834
- str r2, [r0]
- bx lr
- .align 2, 0
-_08005814: .4byte gUnknown_2026E4C
-_08005818: .4byte gUnknown_2026E54
-_0800581C: .4byte gUnknown_2026E50
-_08005820: .4byte gUnknown_2026E58
-_08005824: .4byte gUnknown_2026E3C
-_08005828: .4byte gUnknown_2026E38
-_0800582C: .4byte gUnknown_2026E4E
-_08005830: .4byte 0x0000060c
-_08005834: .4byte gUnknown_203B078
- thumb_func_end sub_80057E8
-
- thumb_func_start sub_8005838
-sub_8005838:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _08005880
- ldrb r0, [r0]
- cmp r0, 0
- bne _08005854
- movs r1, 0
-_08005854:
- ldr r0, _08005884
- ldr r0, [r0]
- ldr r3, _08005888
- cmp r0, 0
- bne _08005860
- ldr r3, _0800588C
-_08005860:
- ldr r0, _08005890
- ldr r2, [r0]
- cmp r2, 0
- bne _0800586A
- ldr r2, _08005894
-_0800586A:
- ldr r0, _08005898
- str r3, [r0]
- cmp r1, 0x5
- bls _08005876
- bl _08006094
-_08005876:
- lsls r0, r1, 2
- ldr r1, _0800589C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08005880: .4byte gUnknown_2026E4C
-_08005884: .4byte gUnknown_2026E54
-_08005888: .4byte gUnknown_20270E8
-_0800588C: .4byte gUnknown_2026E60
-_08005890: .4byte gUnknown_203B078
-_08005894: .4byte gUnknown_80B83EA
-_08005898: .4byte gUnknown_2026E58
-_0800589C: .4byte _080058A0
- .align 2, 0
-_080058A0:
- .4byte _080058B8
- .4byte _08005984
- .4byte _08005A98
- .4byte _08005BAC
- .4byte _08005D46
- .4byte _08005E58
-_080058B8:
- movs r1, 0
- movs r7, 0x9
-_080058BC:
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- subs r7, 0x1
- cmp r7, 0
- bge _080058BC
- b _08006094
-_08005984:
- ldr r1, _08005A94
- movs r7, 0x9
-_08005988:
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- subs r7, 0x1
- cmp r7, 0
- blt _08005A90
- b _08005988
-_08005A90:
- b _08006094
- .align 2, 0
-_08005A94: .4byte gUnknown_80B816A
-_08005A98:
- ldr r1, _08005BA8
- movs r7, 0x9
-_08005A9C:
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- subs r7, 0x1
- cmp r7, 0
- blt _08005BA4
- b _08005A9C
-_08005BA4:
- b _08006094
- .align 2, 0
-_08005BA8: .4byte gUnknown_80B802A
-_08005BAC:
- ldr r0, [r5]
- mov r10, r0
- cmp r0, 0
- bge _08005BBA
- ldr r0, [r5, 0x8]
- cmp r0, 0
- blt _08005BDC
-_08005BBA:
- ldr r1, [r5, 0x4]
- cmp r1, 0
- bge _08005BC6
- ldr r0, [r5, 0xC]
- cmp r0, 0
- blt _08005BDC
-_08005BC6:
- mov r4, r10
- cmp r4, 0xEF
- ble _08005BD2
- ldr r0, [r5, 0x8]
- cmp r0, 0xEF
- bgt _08005BDC
-_08005BD2:
- cmp r1, 0x9F
- ble _08005CA8
- ldr r0, [r5, 0xC]
- cmp r0, 0x9F
- ble _08005CA8
-_08005BDC:
- movs r1, 0xF0
- movs r7, 0x9
-_08005BE0:
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- subs r7, 0x1
- cmp r7, 0
- bge _08005BE0
- b _08006094
-_08005CA8:
- movs r7, 0
- mov r8, r1
- movs r6, 0x80
- lsls r6, 1
- mov r12, r6
- lsls r0, r1, 1
- ldr r1, _08005CCC
- subs r6, r1, r0
- mov r9, r10
-_08005CBA:
- cmp r8, r7
- ble _08005CD0
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- mov r4, r12
- strh r4, [r3]
- b _08005D3A
- .align 2, 0
-_08005CCC: .4byte gUnknown_80B8008
-_08005CD0:
- ldr r1, [r5, 0xC]
- cmp r1, r7
- bgt _08005CE2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- mov r0, r12
- b _08005D38
-_08005CE2:
- mov r4, r8
- subs r0, r7, r4
- cmp r0, 0xF
- bgt _08005CF0
- movs r0, 0
- ldrsh r1, [r6, r0]
- b _08005D00
-_08005CF0:
- subs r0, r1, r7
- cmp r0, 0xF
- bgt _08005D10
- lsls r0, 1
- ldr r1, _08005D0C
- adds r0, r1
- movs r4, 0
- ldrsh r1, [r0, r4]
-_08005D00:
- mov r0, r9
- adds r4, r0, r1
- ldr r0, [r5, 0x8]
- subs r1, r0, r1
- b _08005D14
- .align 2, 0
-_08005D0C: .4byte gUnknown_80B8008
-_08005D10:
- mov r4, r10
- ldr r1, [r5, 0x8]
-_08005D14:
- cmp r4, 0
- bge _08005D1A
- movs r4, 0
-_08005D1A:
- cmp r4, 0xEF
- ble _08005D20
- movs r4, 0xEF
-_08005D20:
- cmp r1, 0
- bgt _08005D26
- movs r1, 0x1
-_08005D26:
- cmp r1, 0xF0
- ble _08005D2C
- movs r1, 0xF0
-_08005D2C:
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- lsls r0, r1, 8
- orrs r0, r4
-_08005D38:
- strh r0, [r3]
-_08005D3A:
- adds r3, 0x2
- adds r6, 0x2
- adds r7, 0x1
- cmp r7, 0x9F
- ble _08005CBA
- b _08006094
-_08005D46:
- ldr r1, _08005E54
- movs r7, 0xE
-_08005D4A:
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, 0x2
- adds r3, 0x2
- subs r7, 0x1
- cmp r7, 0
- blt _08005E52
- b _08005D4A
-_08005E52:
- b _08006094
- .align 2, 0
-_08005E54: .4byte gUnknown_80B82AA
-_08005E58:
- ldr r4, _08005FF4
- ldr r5, _08005FF8
- ldr r6, _08005FFC
- movs r0, 0x80
- lsls r0, 1
- adds r1, r0, 0
- movs r7, 0xE
-_08005E66:
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- strh r1, [r3]
- adds r3, 0x2
- subs r7, 0x1
- cmp r7, 0
- bge _08005E66
- ldr r4, [r4]
- str r4, [sp]
- ldr r5, [r5]
- str r5, [sp, 0x4]
- ldr r6, [r6]
- str r6, [sp, 0x8]
- adds r1, r6, 0
- cmp r6, 0
- bge _08005F40
- adds r1, 0xFF
-_08005F40:
- asrs r1, 8
- adds r1, 0x1
- movs r0, 0x80
- lsls r0, 3
- bl __divsi3
- str r0, [sp, 0xC]
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bge _08005F56
- adds r0, 0xFF
-_08005F56:
- asrs r4, r0, 8
- adds r5, r4, 0
- movs r3, 0
- lsls r0, r4, 2
- adds r7, r0, 0x2
- mov r9, r7
-_08005F62:
- adds r0, r3, 0
- str r3, [sp, 0x10]
- bl sub_8009C7C
- ldr r1, [sp, 0x8]
- muls r0, r1
- ldr r3, [sp, 0x10]
- cmp r0, 0
- bge _08005F76
- adds r0, 0xFF
-_08005F76:
- asrs r0, 8
- ldr r2, [sp, 0x4]
- adds r1, r2, r0
- cmp r1, 0
- bge _08005F82
- adds r1, 0xFF
-_08005F82:
- asrs r1, 8
- str r1, [sp, 0x14]
- ldr r6, [sp, 0x4]
- subs r0, r6, r0
- cmp r0, 0
- bge _08005F90
- adds r0, 0xFF
-_08005F90:
- asrs r0, 8
- mov r8, r0
- ldr r0, [sp, 0x14]
- cmp r5, r0
- blt _08005FA4
- ldr r1, [sp, 0xC]
- adds r1, r3
- mov r10, r1
- cmp r4, r8
- ble _0800608A
-_08005FA4:
- adds r0, r3, 0
- str r3, [sp, 0x10]
- bl sub_8009D04
- ldr r2, [sp, 0x8]
- muls r0, r2
- ldr r3, [sp, 0x10]
- cmp r0, 0
- bge _08005FB8
- adds r0, 0xFF
-_08005FB8:
- asrs r0, 8
- ldr r6, [sp]
- subs r1, r6, r0
- cmp r1, 0
- bge _08005FC4
- adds r1, 0xFF
-_08005FC4:
- asrs r1, 8
- ldr r2, [sp]
- adds r0, r2, r0
- cmp r0, 0
- bge _08005FD0
- adds r0, 0xFF
-_08005FD0:
- asrs r0, 8
- cmp r1, 0
- bge _08005FD8
- movs r1, 0
-_08005FD8:
- cmp r0, 0
- bge _08005FDE
- movs r0, 0
-_08005FDE:
- cmp r1, 0xEF
- ble _08005FE4
- movs r1, 0x9F
-_08005FE4:
- cmp r0, 0xEF
- ble _08005FEA
- movs r0, 0x9F
-_08005FEA:
- cmp r1, r0
- ble _08006000
- lsls r2, r1, 8
- orrs r2, r0
- b _08006004
- .align 2, 0
-_08005FF4: .4byte gUnknown_2026E40
-_08005FF8: .4byte gUnknown_2026E44
-_08005FFC: .4byte gUnknown_2026E48
-_08006000:
- lsls r2, r0, 8
- orrs r2, r1
-_08006004:
- ldr r6, [sp, 0xC]
- adds r3, r6
- mov r10, r3
- ldr r0, [sp, 0x14]
- cmp r5, r0
- bge _0800604E
- ldr r1, _08006030
- mov r12, r1
- ldr r3, _08006034
- add r3, r9
- ldr r1, _08006038
- add r1, r9
-_0800601C:
- cmp r5, 0
- blt _0800603E
- cmp r5, 0x9F
- bgt _0800603E
- mov r6, r12
- ldr r0, [r6]
- cmp r0, 0
- bne _0800603C
- strh r2, [r1]
- b _0800603E
- .align 2, 0
-_08006030: .4byte gUnknown_2026E54
-_08006034: .4byte gUnknown_20270E8
-_08006038: .4byte gUnknown_2026E60
-_0800603C:
- strh r2, [r3]
-_0800603E:
- adds r3, 0x4
- adds r1, 0x4
- movs r0, 0x4
- add r9, r0
- adds r5, 0x1
- ldr r6, [sp, 0x14]
- cmp r5, r6
- blt _0800601C
-_0800604E:
- cmp r4, r8
- ble _0800608A
- ldr r6, _08006070
- ldr r0, _08006074
- adds r3, r7, r0
- ldr r0, _08006078
- adds r1, r7, r0
-_0800605C:
- cmp r4, 0
- blt _0800607E
- cmp r4, 0x9F
- bgt _0800607E
- ldr r0, [r6]
- cmp r0, 0
- bne _0800607C
- strh r2, [r1]
- b _0800607E
- .align 2, 0
-_08006070: .4byte gUnknown_2026E54
-_08006074: .4byte gUnknown_20270E8
-_08006078: .4byte gUnknown_2026E60
-_0800607C:
- strh r2, [r3]
-_0800607E:
- subs r3, 0x4
- subs r1, 0x4
- subs r7, 0x4
- subs r4, 0x1
- cmp r4, r8
- bgt _0800605C
-_0800608A:
- mov r3, r10
- ldr r0, _080060A4
- cmp r3, r0
- bgt _08006094
- b _08005F62
-_08006094:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080060A4: .4byte 0x000003ff
- thumb_func_end sub_8005838
-
- thumb_func_start sub_80060A8
-sub_80060A8:
- push {lr}
- ldr r1, _080060D8
- ldr r0, _080060DC
- ldr r0, [r0]
- str r0, [r1]
- ldr r2, _080060E0
- movs r1, 0
- ldr r0, [r2]
- cmp r0, 0
- bne _080060BE
- movs r1, 0x1
-_080060BE:
- str r1, [r2]
- ldr r2, _080060E4
- movs r1, 0
- ldr r0, [r2]
- cmp r0, 0
- bne _080060CC
- movs r1, 0x1
-_080060CC:
- str r1, [r2]
- ldr r1, _080060E8
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080060D8: .4byte gUnknown_2026E3C
-_080060DC: .4byte gUnknown_2026E58
-_080060E0: .4byte gUnknown_2026E54
-_080060E4: .4byte gUnknown_2026E50
-_080060E8: .4byte gUnknown_2026E38
- thumb_func_end sub_80060A8
-
- thumb_func_start sub_80060EC
-sub_80060EC:
- push {lr}
- ldr r1, _08006130
- ldr r0, _08006134
- ldr r0, [r0]
- str r0, [r1]
- ldr r2, _08006138
- movs r1, 0
- ldr r0, [r2]
- cmp r0, 0
- bne _08006102
- movs r1, 0x1
-_08006102:
- str r1, [r2]
- ldr r2, _0800613C
- movs r1, 0
- ldr r0, [r2]
- cmp r0, 0
- bne _08006110
- movs r1, 0x1
-_08006110:
- str r1, [r2]
- ldr r0, _08006140
- ldrh r2, [r0]
- movs r0, 0xF8
- lsls r0, 5
- ands r0, r2
- lsrs r0, 8
- movs r1, 0x1F
- ands r1, r2
- bl sub_800CC44
- ldr r1, _08006144
- movs r0, 0x1
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08006130: .4byte gUnknown_2026E3C
-_08006134: .4byte gUnknown_2026E58
-_08006138: .4byte gUnknown_2026E54
-_0800613C: .4byte gUnknown_2026E50
-_08006140: .4byte gUnknown_2026E4E
-_08006144: .4byte gUnknown_2026E38
- thumb_func_end sub_80060EC
-
.align 2, 0 @ Don't pad with nop.