summaryrefslogtreecommitdiff
path: root/asm/code.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code.s')
-rw-r--r--asm/code.s3609
1 files changed, 0 insertions, 3609 deletions
diff --git a/asm/code.s b/asm/code.s
index 2f555a4..07e9c3e 100644
--- a/asm/code.s
+++ b/asm/code.s
@@ -2080,3613 +2080,4 @@ nullsub_3:
bx lr
thumb_func_end nullsub_3
- thumb_func_start sub_800135C
-sub_800135C:
- push {r4-r7,lr}
- movs r1, 0
- ldr r4, _0800138C
- ldr r3, _08001390
- movs r2, 0
-_08001366:
- adds r0, r1, r3
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, r4
- ble _08001366
- movs r6, 0
-_08001372:
- lsls r1, r6, 4
- ldr r0, _08001394
- adds r5, r1, r0
- movs r1, 0
- ldrsh r0, [r5, r1]
- adds r7, r6, 0x1
- cmp r0, 0
- beq _080013B4
- cmp r0, 0x8
- beq _080013B4
- movs r4, 0
- b _080013AC
- .align 2, 0
-_0800138C: .4byte 0x000003ff
-_08001390: .4byte gUnknown_2000A88
-_08001394: .4byte gUnknown_80B7394
-_08001398:
- movs r0, 0xA
- ldrsh r3, [r5, r0]
- movs r0, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_800199C
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080013AC:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r4, r0
- blt _08001398
-_080013B4:
- lsls r0, r7, 16
- asrs r6, r0, 16
- cmp r6, 0x50
- ble _08001372
- movs r0, 0
- movs r1, 0x1
- bl sub_80015C0
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- movs r0, 0x4
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- movs r0, 0x5
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- movs r0, 0x6
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- movs r0, 0x7
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- movs r0, 0x8
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- movs r0, 0x9
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- movs r0, 0xA
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- movs r0, 0xB
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- movs r0, 0xC
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xA2
- bl sub_80018D8
- movs r0, 0
- movs r1, 0xE
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0xF
- movs r2, 0xA2
- bl sub_80018D8
- movs r4, 0x1
- negs r4, r4
- movs r0, 0
- movs r1, 0x10
- adds r2, r4, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x11
- movs r2, 0x24
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x12
- adds r2, r4, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x13
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x14
- adds r2, r4, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x18
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x19
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x1B
- adds r2, r4, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x1C
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x1D
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x1E
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x1F
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x24
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x25
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x26
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x27
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x29
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x2A
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x2B
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x2C
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x2D
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x2E
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x2F
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x30
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x31
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x41
- bl sub_80015C0
- bl sub_80972F4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800135C
-
- thumb_func_start sub_8001564
-sub_8001564:
- push {lr}
- bl nullsub_128
- pop {r0}
- bx r0
- thumb_func_end sub_8001564
-
- thumb_func_start sub_8001570
-sub_8001570:
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 16
- asrs r6, r1, 16
- ldr r0, _08001584
- cmp r6, r0
- bgt _0800158C
- lsls r1, r6, 4
- ldr r0, _08001588
- b _08001590
- .align 2, 0
-_08001584: .4byte 0x000003ff
-_08001588: .4byte gUnknown_80B7394
-_0800158C:
- lsls r1, r6, 4
- ldr r0, _08001598
-_08001590:
- adds r5, r1, r0
- movs r4, 0
- b _080015B0
- .align 2, 0
-_08001598: .4byte 0x080b2d30
-_0800159C:
- movs r0, 0xA
- ldrsh r3, [r5, r0]
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_800199C
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080015B0:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r4, r0
- blt _0800159C
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8001570
-
- thumb_func_start sub_80015C0
-sub_80015C0:
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 16
- asrs r6, r1, 16
- ldr r0, _080015D4
- cmp r6, r0
- bgt _080015DC
- lsls r1, r6, 4
- ldr r0, _080015D8
- b _080015E0
- .align 2, 0
-_080015D4: .4byte 0x000003ff
-_080015D8: .4byte gUnknown_80B7394
-_080015DC:
- lsls r1, r6, 4
- ldr r0, _080015E8
-_080015E0:
- adds r5, r1, r0
- movs r4, 0
- b _080015FE
- .align 2, 0
-_080015E8: .4byte 0x080b2d30
-_080015EC:
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_800199C
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080015FE:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r4, r0
- blt _080015EC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80015C0
-
- thumb_func_start sub_800160C
-sub_800160C:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- lsls r2, 16
- asrs r1, r2, 16
- ldr r0, _08001630
- cmp r1, r0
- bgt _0800163C
- lsls r1, 4
- ldr r0, _08001634
- adds r1, r0
- str r1, [r3]
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- ldr r1, _08001638
- adds r0, r1
- b _0800164C
- .align 2, 0
-_08001630: .4byte 0x000003ff
-_08001634: .4byte gUnknown_80B7394
-_08001638: .4byte gUnknown_2000A88
-_0800163C:
- lsls r1, 4
- ldr r0, _08001654
- adds r1, r0
- str r1, [r3]
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- lsls r0, 2
- adds r0, r4, r0
-_0800164C:
- str r0, [r3, 0x4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08001654: .4byte 0x080b2d30
- thumb_func_end sub_800160C
-
- thumb_func_start sub_8001658
-sub_8001658:
- push {r4,lr}
- sub sp, 0x8
- adds r2, r0, 0
- lsls r1, 16
- asrs r4, r1, 16
- mov r0, sp
- adds r1, r2, 0
- adds r2, r4, 0
- bl sub_800160C
- ldr r0, [sp]
- ldrh r0, [r0]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- bls _0800167C
- b _08001778
-_0800167C:
- lsls r0, 2
- ldr r1, _08001688
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08001688: .4byte _0800168C
- .align 2, 0
-_0800168C:
- .4byte _080016AC
- .4byte _080016C2
- .4byte _080016C8
- .4byte _080016D2
- .4byte _080016D8
- .4byte _080016E0
- .4byte _080016C2
- .4byte _080016E6
-_080016AC:
- ldr r0, [sp]
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r0
- lsrs r1, 24
- ldr r0, [sp, 0x4]
- ldrb r0, [r0]
- ands r1, r0
- b _0800173E
-_080016C2:
- ldr r0, [sp, 0x4]
- ldrb r0, [r0]
- b _0800177A
-_080016C8:
- ldr r0, [sp, 0x4]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- b _0800177A
-_080016D2:
- ldr r0, [sp, 0x4]
- ldrh r0, [r0]
- b _0800177A
-_080016D8:
- ldr r0, [sp, 0x4]
- movs r1, 0
- ldrsh r0, [r0, r1]
- b _0800177A
-_080016E0:
- ldr r0, [sp, 0x4]
- ldr r0, [r0]
- b _0800177A
-_080016E6:
- adds r0, r4, 0
- subs r0, 0x17
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bhi _08001778
- lsls r0, 2
- ldr r1, _080016FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080016FC: .4byte _08001700
- .align 2, 0
-_08001700:
- .4byte _08001734
- .4byte _08001778
- .4byte _08001778
- .4byte _08001778
- .4byte _08001778
- .4byte _08001778
- .4byte _08001778
- .4byte _08001778
- .4byte _08001778
- .4byte _08001746
- .4byte _0800174C
- .4byte _08001754
- .4byte _08001764
-_08001734:
- bl sub_8098F94
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
-_0800173E:
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- b _0800177A
-_08001746:
- bl sub_808D480
- b _0800177A
-_0800174C:
- movs r0, 0
- bl sub_808D544
- b _0800177A
-_08001754:
- ldr r0, _08001760
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- b _0800176C
- .align 2, 0
-_08001760: .4byte gUnknown_203B460
-_08001764:
- ldr r0, _08001774
- ldr r0, [r0]
- movs r1, 0x99
- lsls r1, 2
-_0800176C:
- adds r0, r1
- ldr r0, [r0]
- b _0800177A
- .align 2, 0
-_08001774: .4byte gUnknown_203B460
-_08001778:
- movs r0, 0
-_0800177A:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8001658
-
- thumb_func_start sub_8001784
-sub_8001784:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r3, r0, 0
- lsls r1, 16
- asrs r5, r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- mov r0, sp
- adds r1, r3, 0
- adds r2, r5, 0
- bl sub_800160C
- ldr r0, [sp]
- ldrh r0, [r0]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- bls _080017AC
- b _080018CC
-_080017AC:
- lsls r0, 2
- ldr r1, _080017B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080017B8: .4byte _080017BC
- .align 2, 0
-_080017BC:
- .4byte _080017DC
- .4byte _08001800
- .4byte _08001808
- .4byte _08001814
- .4byte _0800181E
- .4byte _0800182A
- .4byte _08001800
- .4byte _08001834
-_080017DC:
- ldr r0, [sp]
- ldrh r1, [r0, 0x6]
- adds r1, r4, r1
- lsls r1, 16
- lsrs r0, r1, 19
- ldr r2, [sp, 0x4]
- adds r2, r0
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r1
- lsrs r0, 16
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r0
- lsrs r1, 24
- ldrb r0, [r2]
- ands r1, r0
- b _0800188E
-_08001800:
- ldr r0, [sp, 0x4]
- adds r0, r4
- ldrb r0, [r0]
- b _080018CE
-_08001808:
- ldr r0, [sp, 0x4]
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- b _080018CE
-_08001814:
- ldr r0, [sp, 0x4]
- lsls r1, r4, 1
- adds r1, r0
- ldrh r0, [r1]
- b _080018CE
-_0800181E:
- ldr r0, [sp, 0x4]
- lsls r1, r4, 1
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- b _080018CE
-_0800182A:
- ldr r0, [sp, 0x4]
- lsls r1, r4, 2
- adds r1, r0
- ldr r0, [r1]
- b _080018CE
-_08001834:
- adds r0, r5, 0
- subs r0, 0x17
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bhi _080018CC
- lsls r0, 2
- ldr r1, _0800184C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0800184C: .4byte _08001850
- .align 2, 0
-_08001850:
- .4byte _08001884
- .4byte _080018CC
- .4byte _080018CC
- .4byte _080018CC
- .4byte _080018CC
- .4byte _080018CC
- .4byte _080018CC
- .4byte _080018CC
- .4byte _080018CC
- .4byte _08001896
- .4byte _0800189C
- .4byte _080018A4
- .4byte _080018B8
-_08001884:
- bl sub_8098F94
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
-_0800188E:
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- b _080018CE
-_08001896:
- bl sub_808D480
- b _080018CE
-_0800189C:
- movs r0, 0
- bl sub_808D544
- b _080018CE
-_080018A4:
- ldr r0, _080018B4
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- b _080018CE
- .align 2, 0
-_080018B4: .4byte gUnknown_203B460
-_080018B8:
- ldr r0, _080018C8
- ldr r0, [r0]
- movs r2, 0x99
- lsls r2, 2
- adds r0, r2
- ldr r0, [r0]
- b _080018CE
- .align 2, 0
-_080018C8: .4byte gUnknown_203B460
-_080018CC:
- movs r0, 0
-_080018CE:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8001784
-
- thumb_func_start sub_80018D8
-sub_80018D8:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r3, r0, 0
- adds r4, r2, 0
- lsls r1, 16
- asrs r5, r1, 16
- mov r0, sp
- adds r1, r3, 0
- adds r2, r5, 0
- bl sub_800160C
- ldr r0, [sp]
- ldrh r0, [r0]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- bhi _08001990
- lsls r0, 2
- ldr r1, _08001908
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08001908: .4byte _0800190C
- .align 2, 0
-_0800190C:
- .4byte _0800192C
- .4byte _08001958
- .4byte _08001958
- .4byte _0800195E
- .4byte _0800195E
- .4byte _08001964
- .4byte _08001958
- .4byte _08001968
-_0800192C:
- ldr r0, [sp]
- movs r2, 0x6
- ldrsh r1, [r0, r2]
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r3, r0, 24
- cmp r4, 0
- beq _0800194A
- ldr r2, [sp, 0x4]
- ldrb r1, [r2]
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2]
- b _08001990
-_0800194A:
- ldr r2, [sp, 0x4]
- ldrb r1, [r2]
- adds r0, r3, 0
- orrs r0, r1
- eors r0, r3
- strb r0, [r2]
- b _08001990
-_08001958:
- ldr r0, [sp, 0x4]
- strb r4, [r0]
- b _08001990
-_0800195E:
- ldr r0, [sp, 0x4]
- strh r4, [r0]
- b _08001990
-_08001964:
- ldr r0, [sp, 0x4]
- b _0800198E
-_08001968:
- cmp r5, 0x22
- beq _08001972
- cmp r5, 0x23
- beq _08001984
- b _08001990
-_08001972:
- ldr r0, _08001980
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- b _0800198E
- .align 2, 0
-_08001980: .4byte gUnknown_203B460
-_08001984:
- ldr r0, _08001998
- ldr r0, [r0]
- movs r2, 0x99
- lsls r2, 2
- adds r0, r2
-_0800198E:
- str r4, [r0]
-_08001990:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08001998: .4byte gUnknown_203B460
- thumb_func_end sub_80018D8
-
- thumb_func_start sub_800199C
-sub_800199C:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r3, 0
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_800160C
- ldr r0, [sp]
- ldrh r0, [r0]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- bhi _08001A68
- lsls r0, 2
- ldr r1, _080019D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080019D0: .4byte _080019D4
- .align 2, 0
-_080019D4:
- .4byte _080019F4
- .4byte _08001A2C
- .4byte _08001A2C
- .4byte _08001A34
- .4byte _08001A34
- .4byte _08001A3E
- .4byte _08001A2C
- .4byte _08001A44
-_080019F4:
- ldr r0, [sp]
- ldrh r0, [r0, 0x6]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r2, r0, 19
- ldr r1, [sp, 0x4]
- adds r3, r1, r2
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- lsrs r1, 16
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r2, r0, 24
- cmp r6, 0
- beq _08001A20
- ldrb r1, [r3]
- adds r0, r2, 0
- orrs r0, r1
- strb r0, [r3]
- b _08001A68
-_08001A20:
- ldrb r1, [r3]
- adds r0, r2, 0
- orrs r0, r1
- eors r0, r2
- strb r0, [r3]
- b _08001A68
-_08001A2C:
- ldr r0, [sp, 0x4]
- adds r0, r5
- strb r6, [r0]
- b _08001A68
-_08001A34:
- ldr r1, [sp, 0x4]
- lsls r0, r5, 1
- adds r0, r1
- strh r6, [r0]
- b _08001A68
-_08001A3E:
- ldr r1, [sp, 0x4]
- lsls r0, r5, 2
- b _08001A64
-_08001A44:
- cmp r7, 0x22
- beq _08001A4E
- cmp r7, 0x23
- beq _08001A5C
- b _08001A68
-_08001A4E:
- ldr r0, _08001A58
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- b _08001A64
- .align 2, 0
-_08001A58: .4byte gUnknown_203B460
-_08001A5C:
- ldr r0, _08001A70
- ldr r0, [r0]
- movs r1, 0x99
- lsls r1, 2
-_08001A64:
- adds r0, r1
- str r6, [r0]
-_08001A68:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08001A70: .4byte gUnknown_203B460
- thumb_func_end sub_800199C
-
- thumb_func_start sub_8001A74
-sub_8001A74:
- push {lr}
- sub sp, 0x8
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- mov r0, sp
- movs r1, 0
- bl sub_800160C
- ldr r0, [sp, 0x4]
- add sp, 0x8
- pop {r1}
- bx r1
- thumb_func_end sub_8001A74
-
- thumb_func_start sub_8001A90
-sub_8001A90:
- push {lr}
- sub sp, 0x8
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- mov r0, sp
- movs r1, 0
- bl sub_800160C
- ldr r0, [sp]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- add sp, 0x8
- pop {r1}
- bx r1
- thumb_func_end sub_8001A90
-
- thumb_func_start sub_8001AB0
-sub_8001AB0:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r7, r0, 0
- lsls r1, 16
- asrs r5, r1, 16
- movs r6, 0
- mov r0, sp
- movs r1, 0
- adds r2, r5, 0
- bl sub_800160C
- movs r4, 0
- ldr r0, [sp]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r6, r0
- bge _08001AEC
-_08001AD2:
- lsls r2, r4, 16
- lsrs r2, 16
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_8001784
- adds r6, r0
- adds r4, 0x1
- ldr r0, [sp]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r4, r0
- blt _08001AD2
-_08001AEC:
- adds r0, r6, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8001AB0
-
- thumb_func_start sub_8001AF8
-sub_8001AF8:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r3, 16
- asrs r3, 16
- mov r0, sp
- movs r1, 0
- adds r2, r3, 0
- bl sub_800160C
- ldr r1, [sp, 0x4]
- movs r2, 0
- b _08001B1C
-_08001B16:
- strb r0, [r4]
- adds r4, 0x1
- adds r2, 0x1
-_08001B1C:
- cmp r2, r5
- bge _08001B28
- ldrb r0, [r1]
- adds r1, 0x1
- cmp r0, 0
- bne _08001B16
-_08001B28:
- movs r0, 0
- strb r0, [r4]
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8001AF8
-
- thumb_func_start sub_8001B34
-sub_8001B34:
- push {r4,lr}
- sub sp, 0x8
- adds r3, r0, 0
- adds r4, r2, 0
- lsls r3, 16
- asrs r3, 16
- mov r0, sp
- movs r1, 0
- adds r2, r3, 0
- bl sub_800160C
- ldr r1, [sp, 0x4]
- movs r2, 0
- b _08001B56
-_08001B50:
- strb r0, [r1]
- adds r1, 0x1
- adds r2, 0x1
-_08001B56:
- cmp r2, r4
- bge _08001B62
- ldrb r0, [r1]
- adds r1, 0x1
- cmp r0, 0
- bne _08001B50
-_08001B62:
- ldr r0, [sp]
- movs r3, 0x8
- ldrsh r0, [r0, r3]
- cmp r2, r0
- bge _08001B7E
- movs r3, 0
-_08001B6E:
- strb r3, [r1]
- adds r1, 0x1
- adds r2, 0x1
- ldr r0, [sp]
- movs r4, 0x8
- ldrsh r0, [r0, r4]
- cmp r2, r0
- blt _08001B6E
-_08001B7E:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8001B34
-
- thumb_func_start sub_8001B88
-sub_8001B88:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- asrs r4, 16
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8001784
- str r0, [r5]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8001784
- str r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8001B88
-
- thumb_func_start sub_8001BB4
-sub_8001BB4:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r0, 16
- asrs r4, r0, 16
- add r2, sp, 0x10
- adds r0, r4, 0
- add r1, sp, 0xC
- bl sub_8001B88
- ldr r1, _08001C20
- ldr r3, [sp, 0xC]
- ldr r0, [sp, 0x10]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x6
- adds r2, r4, 0
- bl Log
- cmp r4, 0x3
- bne _08001BF8
- ldr r0, [sp, 0xC]
- cmp r5, r0
- bne _08001BEE
- ldr r0, [sp, 0x10]
- cmp r6, r0
- beq _08001BF8
-_08001BEE:
- movs r0, 0
- movs r1, 0x19
- movs r2, 0
- bl sub_80018D8
-_08001BF8:
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- adds r3, r5, 0
- bl sub_800199C
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- adds r3, r6, 0
- bl sub_800199C
- cmp r4, 0x4
- beq _08001C76
- cmp r4, 0x4
- bgt _08001C24
- cmp r4, 0x3
- beq _08001C2A
- b _08001CBA
- .align 2, 0
-_08001C20: .4byte gUnknown_80B72CC
-_08001C24:
- cmp r4, 0xC
- beq _08001CA4
- b _08001CBA
-_08001C2A:
- subs r0, r5, 0x1
- cmp r0, 0x1A
- bhi _08001CBA
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0x8
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _08001C48
- movs r0, 0
- bl sub_80976F8
-_08001C48:
- movs r0, 0x3
- movs r1, 0xB
- movs r2, 0x3
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _08001C5E
- movs r0, 0x1
- bl sub_80976F8
-_08001C5E:
- movs r0, 0x3
- movs r1, 0x11
- movs r2, 0
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _08001CBA
- movs r0, 0x2
- bl sub_80976F8
- b _08001CBA
-_08001C76:
- movs r0, 0x4
- movs r1, 0x1F
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- bne _08001C8C
- movs r0, 0x4
- bl sub_80976F8
-_08001C8C:
- movs r0, 0x4
- movs r1, 0x20
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- bne _08001CBA
- movs r0, 0x5
- bl sub_80976F8
- b _08001CBA
-_08001CA4:
- movs r0, 0xC
- movs r1, 0x37
- movs r2, 0x2
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- bne _08001CBA
- movs r0, 0x3
- bl sub_80976F8
-_08001CBA:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8001BB4
-
- thumb_func_start sub_8001CC4
-sub_8001CC4:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- lsls r4, 16
- asrs r4, 16
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8001784
- adds r5, r0, 0
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8001784
- cmp r5, 0x3A
- beq _08001CFE
- cmp r5, r6
- bcc _08001CFA
- cmp r7, 0
- blt _08001CFE
- cmp r5, r6
- bne _08001CFE
- cmp r0, r7
- bge _08001CFE
-_08001CFA:
- movs r0, 0x1
- b _08001D00
-_08001CFE:
- movs r0, 0
-_08001D00:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8001CC4
-
- thumb_func_start sub_8001D08
-sub_8001D08:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- lsls r4, 16
- asrs r4, 16
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8001784
- adds r5, r0, 0
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8001784
- cmp r5, r6
- bne _08001D3A
- cmp r7, 0
- blt _08001D36
- cmp r0, r7
- bne _08001D3A
-_08001D36:
- movs r0, 0x1
- b _08001D3C
-_08001D3A:
- movs r0, 0
-_08001D3C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8001D08
-
- thumb_func_start sub_8001D44
-sub_8001D44:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- lsls r4, 16
- asrs r4, 16
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8001784
- adds r5, r0, 0
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8001784
- cmp r5, 0x3A
- beq _08001D7E
- cmp r5, r6
- bhi _08001D7A
- cmp r7, 0
- blt _08001D7E
- cmp r5, r6
- bne _08001D7E
- cmp r0, r7
- ble _08001D7E
-_08001D7A:
- movs r0, 0x1
- b _08001D80
-_08001D7E:
- movs r0, 0
-_08001D80:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8001D44
-
- thumb_func_start sub_8001D88
-sub_8001D88:
- push {lr}
- sub sp, 0x8
- add r2, sp, 0x4
- movs r0, 0x3
- mov r1, sp
- bl sub_8001B88
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x1A
- bls _08001DA0
- b _080020D4
-_08001DA0:
- movs r0, 0x4
- movs r1, 0x1F
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _08001E08
- movs r0, 0x3
- movs r1, 0xF
- movs r2, 0x7
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _08001DDE
- movs r0, 0x4
- movs r1, 0x1F
- movs r2, 0
- bl sub_8001BB4
- movs r0, 0xE
- movs r1, 0x1
- bl sub_8097418
- movs r0, 0
- movs r1, 0x28
- movs r2, 0x2
- bl sub_80018D8
- b _08001E08
-_08001DDE:
- movs r0, 0x4
- movs r1, 0
- movs r2, 0
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _08001E08
- movs r0, 0x3
- movs r1, 0xF
- movs r2, 0x3
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _08001E08
- movs r0, 0x4
- movs r1, 0x1D
- movs r2, 0x1
- bl sub_8001BB4
-_08001E08:
- movs r0, 0x4
- movs r1, 0x1F
- movs r2, 0
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _08001E36
- movs r0, 0xE
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _08001E36
- movs r0, 0x4
- movs r1, 0x1F
- movs r2, 0x1
- bl sub_8001BB4
- movs r0, 0xF
- movs r1, 0x1
- bl sub_809733C
-_08001E36:
- ldr r0, [sp]
- cmp r0, 0x11
- bhi _08001E3E
- b _080020D4
-_08001E3E:
- movs r0, 0x25
- movs r1, 0x1
- bl sub_80973A8
- movs r0, 0xE7
- bl sub_8091130
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08001E72
- ldr r0, _080020DC
- ldr r0, [r0]
- ldr r1, _080020E0
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _08001E72
- movs r0, 0x5
- movs r1, 0x21
- movs r2, 0x3
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _08001E7A
-_08001E72:
- movs r0, 0x22
- movs r1, 0x1
- bl sub_80973A8
-_08001E7A:
- movs r0, 0x2B
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _08001E8E
- movs r0, 0x1F
- movs r1, 0x1
- bl sub_80973A8
-_08001E8E:
- movs r0, 0x24
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _08001EA2
- movs r0, 0x20
- movs r1, 0x1
- bl sub_80973A8
-_08001EA2:
- movs r0, 0x23
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _08001EB6
- movs r0, 0x21
- movs r1, 0x1
- bl sub_80973A8
-_08001EB6:
- movs r0, 0x19
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _08001ECA
- movs r0, 0x23
- movs r1, 0x1
- bl sub_80973A8
-_08001ECA:
- movs r0, 0x3
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _08001EE6
- movs r0, 0x24
- movs r1, 0x1
- bl sub_80973A8
- movs r0, 0x28
- movs r1, 0x1
- bl sub_80973A8
-_08001EE6:
- movs r0, 0x2C
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _08001F06
- movs r0, 0x2D
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _08001F06
- movs r0, 0x26
- movs r1, 0x1
- bl sub_80973A8
-_08001F06:
- movs r0, 0x5
- movs r1, 0
- movs r2, 0
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _08001F20
- movs r0, 0x5
- movs r1, 0x21
- movs r2, 0x1
- bl sub_8001BB4
-_08001F20:
- movs r0, 0xE2
- bl sub_8091130
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08001F3E
- ldr r0, _080020DC
- ldr r0, [r0]
- movs r1, 0x85
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _08001F7E
-_08001F3E:
- movs r0, 0x7
- movs r1, 0
- movs r2, 0
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _08001F58
- movs r0, 0x7
- movs r1, 0x26
- movs r2, 0x1
- bl sub_8001BB4
-_08001F58:
- movs r0, 0x9
- movs r1, 0
- movs r2, 0
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _08001F7E
- movs r0, 0x37
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _08001F7E
- movs r0, 0x9
- movs r1, 0x2E
- movs r2, 0x1
- bl sub_8001BB4
-_08001F7E:
- movs r0, 0x9
- movs r1, 0x30
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- bne _0800202A
- movs r0, 0x5
- movs r1, 0x22
- movs r2, 0
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _08001FCC
- movs r0, 0x90
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _08001FCC
- movs r0, 0x91
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _08001FCC
- movs r0, 0x92
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _08001FCC
- movs r0, 0x5
- movs r1, 0x22
- movs r2, 0x1
- bl sub_8001BB4
-_08001FCC:
- movs r0, 0xB
- movs r1, 0
- movs r2, 0
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _08002002
- movs r0, 0x5
- movs r1, 0x21
- movs r2, 0x3
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _08002002
- movs r0, 0xE
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _08002002
- movs r0, 0xB
- movs r1, 0x33
- movs r2, 0x1
- bl sub_8001BB4
-_08002002:
- movs r0, 0xE
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _08002016
- movs r0, 0x27
- movs r1, 0x1
- bl sub_80973A8
-_08002016:
- movs r0, 0xE
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _0800202A
- movs r0, 0x29
- movs r1, 0x1
- bl sub_80973A8
-_0800202A:
- movs r0, 0x5
- movs r1, 0x22
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- bne _08002086
- movs r0, 0xA
- movs r1, 0
- movs r2, 0
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _0800205C
- movs r0, 0xA
- movs r1, 0x31
- movs r2, 0x1
- bl sub_8001BB4
- movs r0, 0x1B
- movs r1, 0x1
- bl sub_809733C
-_0800205C:
- movs r0, 0xC
- movs r1, 0
- movs r2, 0
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _08002086
- movs r0, 0xB
- movs r1, 0x34
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- bne _08002086
- movs r0, 0xC
- movs r1, 0x35
- movs r2, 0x1
- bl sub_8001BB4
-_08002086:
- movs r0, 0x6
- movs r1, 0
- movs r2, 0
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _080020AE
- movs r0, 0x89
- lsls r0, 1
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _080020AE
- movs r0, 0x6
- movs r1, 0x24
- movs r2, 0x1
- bl sub_8001BB4
-_080020AE:
- movs r0, 0x8
- movs r1, 0
- movs r2, 0
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _080020D4
- ldr r0, _080020E4
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _080020D4
- movs r0, 0x8
- movs r1, 0x2C
- movs r2, 0x1
- bl sub_8001BB4
-_080020D4:
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080020DC: .4byte gUnknown_203B460
-_080020E0: .4byte 0x0000021e
-_080020E4: .4byte 0x00000113
- thumb_func_end sub_8001D88
-
- thumb_func_start sub_80020E8
-sub_80020E8:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- cmp r2, 0xB
- bhi _08002182
- lsls r0, r2, 2
- ldr r1, _080020FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080020FC: .4byte _08002100
- .align 2, 0
-_08002100:
- .4byte _08002130
- .4byte _08002134
- .4byte _08002138
- .4byte _0800213C
- .4byte _08002142
- .4byte _0800214C
- .4byte _08002156
- .4byte _0800215C
- .4byte _08002162
- .4byte _08002168
- .4byte _08002170
- .4byte _0800217A
-_08002130:
- adds r0, r4, 0
- b _08002194
-_08002134:
- subs r0, r3, r4
- b _08002194
-_08002138:
- adds r0, r3, r4
- b _08002194
-_0800213C:
- adds r0, r3, 0
- muls r0, r4
- b _08002194
-_08002142:
- adds r0, r3, 0
- adds r1, r4, 0
- bl __divsi3
- b _08002194
-_0800214C:
- adds r0, r3, 0
- adds r1, r4, 0
- bl __modsi3
- b _08002194
-_08002156:
- ands r3, r4
- adds r0, r3, 0
- b _08002194
-_0800215C:
- orrs r3, r4
- adds r0, r3, 0
- b _08002194
-_08002162:
- eors r3, r4
- adds r0, r3, 0
- b _08002194
-_08002168:
- movs r0, 0x1
- lsls r0, r4
- orrs r0, r3
- b _08002194
-_08002170:
- movs r0, 0x1
- lsls r0, r4
- bics r3, r0
- adds r0, r3, 0
- b _08002194
-_0800217A:
- adds r0, r4, 0
- bl OtherRandomCapped
- b _08002194
-_08002182:
- ldr r0, _0800218C
- ldr r1, _08002190
- bl FatalError
- .align 2, 0
-_0800218C: .4byte gUnknown_80B7318
-_08002190: .4byte gUnknown_80B7324
-_08002194:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80020E8
-
- thumb_func_start sub_800219C
-sub_800219C:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- cmp r2, 0xA
- bhi _08002248
- lsls r0, r2, 2
- ldr r1, _080021B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080021B0: .4byte _080021B4
- .align 2, 0
-_080021B4:
- .4byte _080021E0
- .4byte _080021E4
- .4byte _080021E8
- .4byte _080021FE
- .4byte _08002212
- .4byte _08002208
- .4byte _0800221C
- .4byte _080021F2
- .4byte _08002226
- .4byte _08002232
- .4byte _0800223E
-_080021E0:
- movs r0, 0x1
- b _08002258
-_080021E4:
- movs r0, 0
- b _08002258
-_080021E8:
- movs r0, 0
- cmp r3, r4
- bne _08002258
- movs r0, 0x1
- b _08002258
-_080021F2:
- adds r1, r3, 0
- eors r1, r4
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- b _08002258
-_080021FE:
- movs r0, 0
- cmp r3, r4
- ble _08002258
- movs r0, 0x1
- b _08002258
-_08002208:
- movs r0, 0
- cmp r3, r4
- blt _08002258
- movs r0, 0x1
- b _08002258
-_08002212:
- movs r0, 0
- cmp r3, r4
- bge _08002258
- movs r0, 0x1
- b _08002258
-_0800221C:
- movs r0, 0
- cmp r3, r4
- bgt _08002258
- movs r0, 0x1
- b _08002258
-_08002226:
- adds r0, r3, 0
- ands r0, r4
- cmp r0, 0
- beq _08002258
- movs r0, 0x1
- b _08002258
-_08002232:
- adds r0, r3, 0
- eors r0, r4
- cmp r0, 0
- beq _08002258
- movs r0, 0x1
- b _08002258
-_0800223E:
- asrs r3, r4
- movs r0, 0x1
- ands r3, r0
- adds r0, r3, 0
- b _08002258
-_08002248:
- ldr r0, _08002250
- ldr r1, _08002254
- bl FatalError
- .align 2, 0
-_08002250: .4byte gUnknown_80B7350
-_08002254: .4byte gUnknown_80B735C
-_08002258:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800219C
-
- thumb_func_start sub_8002260
-sub_8002260:
- push {lr}
- bl sub_80020E8
- pop {r1}
- bx r1
- thumb_func_end sub_8002260
-
- thumb_func_start sub_800226C
-sub_800226C:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r4, 16
- asrs r4, 16
- adds r1, r4, 0
- bl sub_8001658
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_80020E8
- adds r2, r0, 0
- mov r0, r8
- adds r1, r4, 0
- bl sub_80018D8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_800226C
-
- thumb_func_start sub_80022A0
-sub_80022A0:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- mov r9, r3
- lsls r5, 16
- asrs r5, 16
- lsls r4, 16
- asrs r4, 16
- adds r1, r5, 0
- bl sub_8001658
- adds r6, r0, 0
- mov r0, r8
- adds r1, r4, 0
- bl sub_8001658
- adds r1, r0, 0
- adds r0, r6, 0
- mov r2, r9
- bl sub_80020E8
- adds r2, r0, 0
- mov r0, r8
- adds r1, r5, 0
- bl sub_80018D8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80022A0
-
- thumb_func_start sub_80022E8
-sub_80022E8:
- push {lr}
- bl sub_800219C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80022E8
-
- thumb_func_start sub_80022F8
-sub_80022F8:
- push {r4,r5,lr}
- adds r4, r2, 0
- adds r5, r3, 0
- lsls r1, 16
- asrs r1, 16
- bl sub_8001658
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_800219C
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80022F8
-
- thumb_func_start sub_8002318
-sub_8002318:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r6, r0, 0
- adds r4, r2, 0
- mov r8, r3
- lsls r1, 16
- asrs r1, 16
- lsls r4, 16
- asrs r4, 16
- bl sub_8001658
- adds r5, r0, 0
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8001658
- adds r1, r0, 0
- adds r0, r5, 0
- mov r2, r8
- bl sub_800219C
- lsls r0, 24
- lsrs r0, 24
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8002318
-
- thumb_func_start sub_8002354
-sub_8002354:
- push {lr}
- adds r1, r0, 0
- cmp r1, 0x3A
- bls _08002362
- movs r0, 0x1
- negs r0, r0
- b _0800236C
-_08002362:
- ldr r0, _08002370
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
-_0800236C:
- pop {r1}
- bx r1
- .align 2, 0
-_08002370: .4byte gUnknown_80B6D90
- thumb_func_end sub_8002354
-
- thumb_func_start sub_8002374
-sub_8002374:
- push {lr}
- adds r1, r0, 0
- cmp r1, 0x3A
- bls _08002384
- ldr r0, _08002380
- b _0800238C
- .align 2, 0
-_08002380: .4byte gUnknown_80B7378
-_08002384:
- ldr r0, _08002390
- lsls r1, 3
- adds r1, r0
- ldr r0, [r1]
-_0800238C:
- pop {r1}
- bx r1
- .align 2, 0
-_08002390: .4byte gUnknown_80B6D90
- thumb_func_end sub_8002374
-
- thumb_func_start sub_8002394
-sub_8002394:
- push {lr}
- adds r1, r0, 0
- subs r1, 0x12
- cmp r1, 0x8
- bhi _080023AC
- ldr r0, _080023A8
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- b _080023BA
- .align 2, 0
-_080023A8: .4byte gUnknown_80B714C
-_080023AC:
- cmp r0, 0xF
- beq _080023B8
- ldr r0, _080023B4
- b _080023BA
- .align 2, 0
-_080023B4: .4byte gUnknown_80B7144
-_080023B8:
- ldr r0, _080023C0
-_080023BA:
- pop {r1}
- bx r1
- .align 2, 0
-_080023C0: .4byte gUnknown_80B7388
- thumb_func_end sub_8002394
-
- thumb_func_start sub_80023C4
-sub_80023C4:
- push {lr}
- adds r1, r0, 0
- cmp r1, 0x3
- bls _080023D4
- ldr r0, _080023D0
- b _080023DC
- .align 2, 0
-_080023D0: .4byte gUnknown_80B7144
-_080023D4:
- ldr r0, _080023E0
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
-_080023DC:
- pop {r1}
- bx r1
- .align 2, 0
-_080023E0: .4byte gUnknown_80B71A0
- thumb_func_end sub_80023C4
-
- thumb_func_start sub_80023E4
-sub_80023E4:
- push {r4,lr}
- cmp r0, 0x1D
- bls _080023EC
- b _0800264E
-_080023EC:
- lsls r0, 2
- ldr r1, _080023F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080023F8: .4byte _080023FC
- .align 2, 0
-_080023FC:
- .4byte _08002474
- .4byte _08002482
- .4byte _0800248E
- .4byte _0800249A
- .4byte _080024A6
- .4byte _080024BE
- .4byte _080024E6
- .4byte _080024F4
- .4byte _08002500
- .4byte _0800250C
- .4byte _0800251A
- .4byte _08002526
- .4byte _08002532
- .4byte _0800255A
- .4byte _08002566
- .4byte _0800257A
- .4byte _0800258E
- .4byte _0800259C
- .4byte _080025AA
- .4byte _080025B8
- .4byte _080025C6
- .4byte _080025D4
- .4byte _080025E2
- .4byte _080025F0
- .4byte _080025FE
- .4byte _0800260C
- .4byte _0800261A
- .4byte _08002628
- .4byte _08002630
- .4byte _08002644
-_08002474:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0x2
- bl sub_8001D44
- b _08002648
-_08002482:
- movs r0, 0x3
- movs r1, 0x3
- movs r2, 0x3
- bl sub_8001D44
- b _08002648
-_0800248E:
- movs r0, 0x3
- movs r1, 0x4
- movs r2, 0x3
- bl sub_8001D44
- b _08002648
-_0800249A:
- movs r0, 0x3
- movs r1, 0x5
- movs r2, 0
- bl sub_8001D44
- b _08002648
-_080024A6:
- movs r4, 0
- movs r0, 0x3
- movs r1, 0xB
- movs r2, 0
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _08002556
- movs r0, 0x3
- movs r1, 0xD
- b _080024D4
-_080024BE:
- movs r4, 0
- movs r0, 0x3
- movs r1, 0xB
- movs r2, 0x3
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _08002556
- movs r0, 0x3
- movs r1, 0xF
-_080024D4:
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- b _08002556
-_080024E6:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0x11
- bl sub_8001D44
- b _08002648
-_080024F4:
- movs r0, 0x3
- movs r1, 0x12
- movs r2, 0x2
- bl sub_8001D44
- b _08002648
-_08002500:
- movs r0, 0x3
- movs r1, 0x12
- movs r2, 0x3
- bl sub_8001D44
- b _08002648
-_0800250C:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0x12
- bl sub_8001D44
- b _08002648
-_0800251A:
- movs r0, 0x3
- movs r1, 0x5
- movs r2, 0x4
- bl sub_8001D44
- b _08002648
-_08002526:
- movs r0, 0x3
- movs r1, 0x5
- movs r2, 0x4
- bl sub_8001D44
- b _08002648
-_08002532:
- movs r4, 0
- movs r0, 0x3
- movs r1, 0xB
- movs r2, 0x2
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- bne _08002556
- movs r0, 0x3
- movs r1, 0xB
- movs r2, 0x3
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- bne _08002556
- movs r4, 0x1
-_08002556:
- adds r0, r4, 0
- b _08002650
-_0800255A:
- movs r0, 0x3
- movs r1, 0x10
- movs r2, 0x2
- bl sub_8001D08
- b _08002648
-_08002566:
- movs r0, 0x3
- movs r1, 0x5
- movs r2, 0x7
- bl sub_8001CC4
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _08002640
- b _0800263E
-_0800257A:
- movs r0, 0x3
- movs r1, 0xF
- movs r2, 0
- bl sub_8001CC4
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _08002640
- b _0800263E
-_0800258E:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0x7
- bl sub_8001D44
- b _08002648
-_0800259C:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0xC
- bl sub_8001D44
- b _08002648
-_080025AA:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0xD
- bl sub_8001D44
- b _08002648
-_080025B8:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0xF
- bl sub_8001D44
- b _08002648
-_080025C6:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0x10
- bl sub_8001D44
- b _08002648
-_080025D4:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x5
- movs r1, 0x21
- bl sub_8001D44
- b _08002648
-_080025E2:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x5
- movs r1, 0x22
- bl sub_8001D44
- b _08002648
-_080025F0:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x6
- movs r1, 0x24
- bl sub_8001D44
- b _08002648
-_080025FE:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x7
- movs r1, 0x2A
- bl sub_8001D44
- b _08002648
-_0800260C:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x8
- movs r1, 0x2C
- bl sub_8001D44
- b _08002648
-_0800261A:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0xA
- movs r1, 0x31
- bl sub_8001D44
- b _08002648
-_08002628:
- movs r0, 0x29
- bl sub_80973F4
- b _08002648
-_08002630:
- bl sub_8092178
- movs r1, 0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08002640
-_0800263E:
- movs r1, 0x1
-_08002640:
- adds r0, r1, 0
- b _08002650
-_08002644:
- bl sub_809761C
-_08002648:
- lsls r0, 24
- lsrs r0, 24
- b _08002650
-_0800264E:
- movs r0, 0
-_08002650:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80023E4
-
- thumb_func_start sub_8002658
-sub_8002658:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r4, r0, 16
- ldr r1, _0800267C
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- movs r3, 0x1
- negs r3, r3
- cmp r0, r3
- beq _0800268C
-_0800266E:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, r4
- bne _08002680
- ldrb r0, [r1, 0x2]
- b _0800268E
- .align 2, 0
-_0800267C: .4byte gUnknown_80B71E4
-_08002680:
- adds r1, 0x4
- ldrh r2, [r1]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, r3
- bne _0800266E
-_0800268C:
- movs r0, 0
-_0800268E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8002658
-
- thumb_func_start sub_8002694
-sub_8002694:
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _080026B4
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x1
- negs r2, r2
- cmp r0, r2
- beq _080026C2
-_080026A8:
- ldrb r0, [r1, 0x2]
- cmp r0, r3
- bne _080026B8
- movs r4, 0
- ldrsh r0, [r1, r4]
- b _080026C6
- .align 2, 0
-_080026B4: .4byte gUnknown_80B71E4
-_080026B8:
- adds r1, 0x4
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, r2
- bne _080026A8
-_080026C2:
- movs r0, 0x1
- negs r0, r0
-_080026C6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8002694
-
- thumb_func_start sub_80026CC
-sub_80026CC:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092600
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80026CC
-
- thumb_func_start sub_80026E8
-sub_80026E8:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- lsls r0, 24
- lsrs r0, 24
- bl sub_80925EC
- pop {r0}
- bx r0
- thumb_func_end sub_80026E8
-
- thumb_func_start sub_8002700
-sub_8002700:
- push {lr}
- ldr r1, _08002714
- movs r2, 0x80
- lsls r2, 3
- bl MemoryCopy8
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_08002714: .4byte gUnknown_2000A88
- thumb_func_end sub_8002700
-
- thumb_func_start sub_8002718
-sub_8002718:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- mov r0, sp
- movs r1, 0
- movs r2, 0
- bl sub_800160C
- ldr r0, _08002748
- movs r2, 0x80
- lsls r2, 3
- adds r1, r4, 0
- bl MemoryCopy8
- ldr r0, [sp]
- movs r2, 0xA
- ldrsh r1, [r0, r2]
- ldr r0, [sp, 0x4]
- ldr r0, [r0]
- cmp r1, r0
- bne _0800274C
- movs r0, 0x1
- b _0800274E
- .align 2, 0
-_08002748: .4byte gUnknown_2000A88
-_0800274C:
- movs r0, 0
-_0800274E:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8002718
-
- thumb_func_start sub_8002758
-sub_8002758:
- push {lr}
- adds r2, r0, 0
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x9
- bl sub_800226C
- pop {r0}
- bx r0
- thumb_func_end sub_8002758
-
- thumb_func_start sub_800276C
-sub_800276C:
- movs r0, 0
- bx lr
- thumb_func_end sub_800276C
-
- thumb_func_start nullsub_140
-nullsub_140:
- bx lr
- thumb_func_end nullsub_140
-
- thumb_func_start sub_8002774
-sub_8002774:
- sub sp, 0x4
- str r0, [sp]
- mov r0, sp
- ldrb r1, [r0, 0x2]
- movs r0, 0xF8
- adds r2, r0, 0
- ands r2, r1
- lsls r2, 7
- mov r1, sp
- ldrb r3, [r1, 0x1]
- adds r1, r0, 0
- ands r1, r3
- lsls r1, 2
- orrs r2, r1
- mov r1, sp
- ldrb r1, [r1]
- ands r0, r1
- lsrs r0, 3
- orrs r0, r2
- add sp, 0x4
- bx lr
- thumb_func_end sub_8002774
-
- thumb_func_start sub_80027A0
-sub_80027A0:
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r2, r0, 16
- adds r3, r2, 0
- mov r4, sp
- movs r0, 0x1F
- ands r0, r2
- lsls r1, r0, 3
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080027BE
- movs r0, 0x7
- orrs r1, r0
-_080027BE:
- strb r1, [r4]
- mov r4, sp
- movs r0, 0xF8
- lsls r0, 2
- ands r0, r2
- lsrs r1, r0, 2
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _080027D6
- movs r0, 0x7
- orrs r1, r0
-_080027D6:
- strb r1, [r4, 0x1]
- mov r2, sp
- movs r0, 0xF8
- lsls r0, 7
- ands r0, r3
- lsrs r1, r0, 7
- movs r0, 0x80
- lsls r0, 3
- ands r3, r0
- cmp r3, 0
- beq _080027F0
- movs r0, 0x7
- orrs r1, r0
-_080027F0:
- strb r1, [r2, 0x2]
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0x3]
- ldr r0, [sp]
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80027A0
-
- thumb_func_start sub_8002804
-sub_8002804:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r3, 0
-_0800280C:
- adds r1, r5, r3
- adds r0, r2, r3
- ldrb r0, [r0]
- muls r0, r4
- cmp r0, 0
- bge _0800281A
- adds r0, 0xFF
-_0800281A:
- asrs r0, 8
- strb r0, [r1]
- adds r3, 0x1
- cmp r3, 0x3
- ble _0800280C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8002804
-
- thumb_func_start sub_800282C
-sub_800282C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- mov r9, r0
- str r1, [sp, 0x20]
- adds r7, r2, 0
- mov r8, r3
- adds r0, r1, 0
- bl __floatsisf
- adds r1, r0, 0
- ldr r0, _08002904
- bl __divsf3
- str r0, [sp, 0x24]
- movs r5, 0
- mov r0, sp
- adds r0, 0x10
- str r0, [sp, 0x2C]
- str r0, [sp, 0x34]
- mov r10, sp
-_0800285C:
- adds r6, r7, r5
- movs r4, 0
- ldrsb r4, [r6, r4]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08002872
- ldr r1, _08002908
- bl __addsf3
-_08002872:
- mov r1, r10
- adds r1, 0x4
- mov r10, r1
- subs r1, 0x4
- stm r1!, {r0}
- mov r1, r8
- adds r0, r1, r5
- ldrb r0, [r0]
- ldrb r1, [r6]
- subs r0, r1
- bl __floatsisf
- ldr r1, [sp, 0x24]
- bl __mulsf3
- ldr r1, [sp, 0x34]
- stm r1!, {r0}
- str r1, [sp, 0x34]
- adds r5, 0x1
- cmp r5, 0x3
- ble _0800285C
- ldr r0, [r7]
- mov r1, r9
- adds r1, 0x4
- mov r9, r1
- subs r1, 0x4
- stm r1!, {r0}
- movs r5, 0x1
- ldr r0, [sp, 0x20]
- subs r0, 0x1
- str r0, [sp, 0x28]
- mov r1, r8
- ldr r1, [r1]
- str r1, [sp, 0x30]
- cmp r5, r0
- bge _080028EE
-_080028BA:
- movs r6, 0
- adds r5, 0x1
- mov r10, r5
- movs r0, 0x4
- add r0, r9
- mov r8, r0
- mov r5, sp
- ldr r7, [sp, 0x2C]
-_080028CA:
- mov r1, r9
- adds r4, r1, r6
- ldr r0, [r5]
- ldm r7!, {r1}
- bl __addsf3
- stm r5!, {r0}
- bl __fixunssfsi
- strb r0, [r4]
- adds r6, 0x1
- cmp r6, 0x3
- ble _080028CA
- mov r9, r8
- mov r5, r10
- ldr r0, [sp, 0x28]
- cmp r5, r0
- blt _080028BA
-_080028EE:
- ldr r1, [sp, 0x30]
- mov r0, r9
- str r1, [r0]
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08002904: .4byte 0x3f800000
-_08002908: .4byte 0x43800000
- thumb_func_end sub_800282C
-
- thumb_func_start sub_800290C
-sub_800290C:
- push {lr}
- ldr r3, [r0]
- cmp r3, r1
- ble _08002918
- str r1, [r0]
- b _08002920
-_08002918:
- negs r2, r1
- cmp r3, r2
- bge _08002920
- str r2, [r0]
-_08002920:
- ldr r2, [r0, 0x4]
- cmp r2, r1
- bgt _0800292C
- negs r1, r1
- cmp r2, r1
- bge _0800292E
-_0800292C:
- str r1, [r0, 0x4]
-_0800292E:
- pop {r0}
- bx r0
- thumb_func_end sub_800290C
-
- thumb_func_start sub_8002934
-sub_8002934:
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- mov r10, r0
- adds r6, r1, 0
- mov r8, r2
- adds r4, r3, 0
- ldr r5, [sp, 0x1C]
- adds r0, r4, r5
- mov r9, r0
- ldr r0, [r6]
- muls r0, r4
- ldr r1, [r2]
- muls r1, r5
- adds r0, r1
- mov r1, r9
- bl __divsi3
- mov r1, r10
- str r0, [r1]
- ldr r0, [r6, 0x4]
- muls r0, r4
- mov r2, r8
- ldr r1, [r2, 0x4]
- muls r1, r5
- adds r0, r1
- mov r1, r9
- bl __divsi3
- mov r1, r10
- str r0, [r1, 0x4]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8002934
-
- thumb_func_start sub_8002984
-sub_8002984:
- push {r4,lr}
- lsls r0, 24
- asrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x8
- bhi _08002A68
- lsls r0, 2
- ldr r1, _080029A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080029A0: .4byte _080029A4
- .align 2, 0
-_080029A4:
- .4byte _080029C8
- .4byte _080029D0
- .4byte _080029D8
- .4byte _080029E0
- .4byte _080029E8
- .4byte _080029F4
- .4byte _08002A34
- .4byte _08002A4E
- .4byte _08002A5E
-_080029C8:
- cmp r4, 0
- blt _08002A68
- adds r4, 0x7
- b _080029EE
-_080029D0:
- cmp r4, 0
- blt _08002A68
- adds r4, 0x1
- b _080029EE
-_080029D8:
- cmp r4, 0
- blt _08002A68
- adds r4, 0x6
- b _080029EE
-_080029E0:
- cmp r4, 0
- blt _08002A68
- adds r4, 0x2
- b _080029EE
-_080029E8:
- cmp r4, 0
- blt _08002A68
- adds r4, 0x4
-_080029EE:
- movs r0, 0x7
- ands r4, r0
- b _08002A68
-_080029F4:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08002A18
- movs r0, 0x2
- bl OtherRandomCapped
- adds r1, r4, 0x7
- lsls r0, 1
- adds r1, r0
- adds r0, r1, 0
- cmp r1, 0
- bge _08002A10
- adds r0, r1, 0x7
-_08002A10:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- b _08002A64
-_08002A18:
- movs r0, 0x3
- bl OtherRandomCapped
- adds r1, r4, 0x6
- lsls r0, 1
- adds r1, r0
- adds r0, r1, 0
- cmp r1, 0
- bge _08002A2C
- adds r0, r1, 0x7
-_08002A2C:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- b _08002A64
-_08002A34:
- movs r0, 0x3
- bl OtherRandomCapped
- adds r1, r4, 0x7
- adds r1, r0
- adds r0, r1, 0
- cmp r1, 0
- bge _08002A46
- adds r0, r1, 0x7
-_08002A46:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- b _08002A64
-_08002A4E:
- movs r0, 0x8
- bl OtherRandomCapped
- movs r2, 0x2
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- b _08002A64
-_08002A5E:
- movs r0, 0x8
- bl OtherRandomCapped
-_08002A64:
- lsls r0, 24
- asrs r4, r0, 24
-_08002A68:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8002984
-
- thumb_func_start sub_8002A70
-sub_8002A70:
- push {r4,lr}
- lsls r0, 24
- asrs r3, r0, 24
- lsls r1, 24
- asrs r4, r1, 24
- lsls r2, 24
- lsrs r0, r2, 24
- cmp r3, r4
- beq _08002AFC
- subs r0, 0x1
- cmp r0, 0xA
- bhi _08002AFC
- lsls r0, 2
- ldr r1, _08002A94
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08002A94: .4byte _08002A98
- .align 2, 0
-_08002A98:
- .4byte _08002AC4
- .4byte _08002ACC
- .4byte _08002AD4
- .4byte _08002ADC
- .4byte _08002AFC
- .4byte _08002AFC
- .4byte _08002AFC
- .4byte _08002AFC
- .4byte _08002AFC
- .4byte _08002AF2
- .4byte _08002AE8
-_08002AC4:
- cmp r3, 0
- blt _08002AFC
- adds r3, 0x7
- b _08002AE2
-_08002ACC:
- cmp r3, 0
- blt _08002AFC
- adds r3, 0x1
- b _08002AE2
-_08002AD4:
- cmp r3, 0
- blt _08002AFC
- adds r3, 0x6
- b _08002AE2
-_08002ADC:
- cmp r3, 0
- blt _08002AFC
- adds r3, 0x2
-_08002AE2:
- movs r0, 0x7
- ands r3, r0
- b _08002AFC
-_08002AE8:
- adds r0, r3, 0
- adds r1, r4, 0
- bl sub_8002B04
- adds r3, r0, 0
-_08002AF2:
- adds r0, r3, 0
- adds r1, r4, 0
- bl sub_8002B04
- adds r3, r0, 0
-_08002AFC:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8002A70
-
- thumb_func_start sub_8002B04
-sub_8002B04:
- push {lr}
- lsls r0, 24
- asrs r2, r0, 24
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08002B56
- adds r0, r2, 0
- subs r0, 0x8
- subs r1, r0
- adds r0, r1, 0
- cmp r1, 0
- bge _08002B24
- adds r0, r1, 0x7
-_08002B24:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- cmp r0, 0
- beq _08002B56
- cmp r0, 0x3
- bgt _08002B40
- adds r1, r2, 0x1
- adds r0, r1, 0
- cmp r1, 0
- bge _08002B4C
- adds r0, r2, 0
- adds r0, 0x8
- b _08002B4C
-_08002B40:
- adds r1, r2, 0x7
- adds r0, r1, 0
- cmp r1, 0
- bge _08002B4C
- adds r0, r2, 0
- adds r0, 0xE
-_08002B4C:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- lsls r0, 24
- asrs r2, r0, 24
-_08002B56:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8002B04
-
- thumb_func_start sub_8002B5C
-sub_8002B5C:
- push {lr}
- lsls r0, 24
- asrs r2, r0, 24
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08002BAE
- adds r0, r2, 0
- subs r0, 0x8
- subs r1, r0
- adds r0, r1, 0
- cmp r1, 0
- bge _08002B7C
- adds r0, r1, 0x7
-_08002B7C:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- cmp r0, 0
- beq _08002BAE
- cmp r0, 0x3
- bgt _08002B98
- adds r1, r2, 0x2
- adds r0, r1, 0
- cmp r1, 0
- bge _08002BA4
- adds r0, r2, 0
- adds r0, 0x9
- b _08002BA4
-_08002B98:
- adds r1, r2, 0x6
- adds r0, r1, 0
- cmp r1, 0
- bge _08002BA4
- adds r0, r2, 0
- adds r0, 0xD
-_08002BA4:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- lsls r0, 24
- asrs r2, r0, 24
-_08002BAE:
- movs r0, 0x6
- ands r2, r0
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8002B5C
-
- thumb_func_start sub_8002BB8
-sub_8002BB8:
- push {r4,r5,lr}
- lsls r1, 24
- asrs r1, 21
- ldr r3, _08002BD8
- adds r1, r3
- ldr r5, [r1]
- adds r3, r5, 0
- muls r3, r2
- ldr r1, [r1, 0x4]
- adds r4, r1, 0
- muls r4, r2
- str r3, [r0]
- str r4, [r0, 0x4]
- pop {r4,r5}
- pop {r2}
- bx r2
- .align 2, 0
-_08002BD8: .4byte gUnknown_80B7E3C
- thumb_func_end sub_8002BB8
-
- thumb_func_start sub_8002BDC
-sub_8002BDC:
- push {lr}
- ldr r1, [r0]
- cmp r1, 0
- bge _08002BFA
- ldr r0, [r0, 0x4]
- cmp r0, 0
- bge _08002BEE
- movs r0, 0x5
- b _08002C2A
-_08002BEE:
- cmp r0, 0
- ble _08002BF6
- movs r0, 0x7
- b _08002C2A
-_08002BF6:
- movs r0, 0x6
- b _08002C2A
-_08002BFA:
- cmp r1, 0
- ble _08002C14
- ldr r0, [r0, 0x4]
- cmp r0, 0
- bge _08002C08
- movs r0, 0x3
- b _08002C2A
-_08002C08:
- cmp r0, 0
- ble _08002C10
- movs r0, 0x1
- b _08002C2A
-_08002C10:
- movs r0, 0x2
- b _08002C2A
-_08002C14:
- ldr r0, [r0, 0x4]
- cmp r0, 0
- bge _08002C1E
- movs r0, 0x4
- b _08002C2A
-_08002C1E:
- cmp r0, 0
- bgt _08002C28
- movs r0, 0x1
- negs r0, r0
- b _08002C2A
-_08002C28:
- movs r0, 0
-_08002C2A:
- pop {r1}
- bx r1
- thumb_func_end sub_8002BDC
-
- thumb_func_start sub_8002C30
-sub_8002C30:
- push {lr}
- ldr r1, [r0, 0x4]
- cmp r1, 0
- bge _08002C3C
- movs r0, 0x4
- b _08002C5A
-_08002C3C:
- cmp r1, 0
- ble _08002C44
- movs r0, 0
- b _08002C5A
-_08002C44:
- ldr r0, [r0]
- cmp r0, 0
- bge _08002C4E
- movs r0, 0x6
- b _08002C5A
-_08002C4E:
- cmp r0, 0
- bgt _08002C58
- movs r0, 0x1
- negs r0, r0
- b _08002C5A
-_08002C58:
- movs r0, 0x2
-_08002C5A:
- pop {r1}
- bx r1
- thumb_func_end sub_8002C30
-
- thumb_func_start sub_8002C60
-sub_8002C60:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, [r4]
- cmp r0, 0
- bge _08002C6C
- negs r0, r0
-_08002C6C:
- adds r1, r0, 0
- ldr r3, [r4, 0x4]
- adds r5, r3, 0
- cmp r3, 0
- bge _08002C78
- negs r5, r3
-_08002C78:
- adds r2, r5, 0
- ldr r4, [r4]
- cmp r4, 0
- bge _08002CA8
- cmp r3, 0
- bge _08002C94
- lsls r0, 1
- cmp r2, r0
- bgt _08002CD8
- lsls r0, r5, 1
- cmp r1, r0
- bgt _08002CA0
- movs r0, 0x5
- b _08002CE8
-_08002C94:
- lsls r0, 1
- cmp r2, r0
- bgt _08002CE6
- lsls r0, r5, 1
- cmp r1, r0
- ble _08002CA4
-_08002CA0:
- movs r0, 0x6
- b _08002CE8
-_08002CA4:
- movs r0, 0x7
- b _08002CE8
-_08002CA8:
- cmp r4, 0
- ble _08002CD4
- cmp r3, 0
- bge _08002CC0
- lsls r0, 1
- cmp r2, r0
- bgt _08002CD8
- lsls r0, r5, 1
- cmp r1, r0
- bgt _08002CCC
- movs r0, 0x3
- b _08002CE8
-_08002CC0:
- lsls r0, 1
- cmp r2, r0
- bgt _08002CE6
- lsls r0, r5, 1
- cmp r1, r0
- ble _08002CD0
-_08002CCC:
- movs r0, 0x2
- b _08002CE8
-_08002CD0:
- movs r0, 0x1
- b _08002CE8
-_08002CD4:
- cmp r3, 0
- bge _08002CDC
-_08002CD8:
- movs r0, 0x4
- b _08002CE8
-_08002CDC:
- cmp r3, 0
- bgt _08002CE6
- movs r0, 0x1
- negs r0, r0
- b _08002CE8
-_08002CE6:
- movs r0, 0
-_08002CE8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8002C60
-
- thumb_func_start sub_8002CF0
-sub_8002CF0:
- push {r4,lr}
- adds r4, r0, 0
- ldr r3, [r4]
- cmp r3, 0
- bge _08002CFC
- negs r3, r3
-_08002CFC:
- adds r1, r3, 0
- ldr r3, [r4, 0x4]
- adds r0, r3, 0
- cmp r3, 0
- bge _08002D08
- negs r0, r3
-_08002D08:
- adds r2, r0, 0
- ldr r0, [r4]
- cmp r0, 0
- bge _08002D22
- cmp r3, 0
- bge _08002D1A
- cmp r2, r1
- bgt _08002D3C
- b _08002D1E
-_08002D1A:
- cmp r2, r1
- bgt _08002D4A
-_08002D1E:
- movs r0, 0x6
- b _08002D4C
-_08002D22:
- cmp r0, 0
- ble _08002D38
- cmp r3, 0
- bge _08002D30
- cmp r2, r1
- bgt _08002D3C
- b _08002D34
-_08002D30:
- cmp r2, r1
- bgt _08002D4A
-_08002D34:
- movs r0, 0x2
- b _08002D4C
-_08002D38:
- cmp r3, 0
- bge _08002D40
-_08002D3C:
- movs r0, 0x4
- b _08002D4C
-_08002D40:
- cmp r3, 0
- bgt _08002D4A
- movs r0, 0x1
- negs r0, r0
- b _08002D4C
-_08002D4A:
- movs r0, 0
-_08002D4C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8002CF0
-
- thumb_func_start sub_8002D54
-sub_8002D54:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r1, 0
- adds r5, r3, 0
- ldr r3, [r2]
- ldr r1, [r0]
- subs r3, r1
- str r3, [sp]
- ldr r1, [r2, 0x4]
- ldr r0, [r0, 0x4]
- subs r1, r0
- str r1, [sp, 0x4]
- adds r2, r3, 0
- cmp r2, 0
- blt _08002D8A
- adds r2, 0x1
- ldr r0, [r4]
- ldr r1, [r5]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- subs r2, r0
- str r2, [sp]
- cmp r2, 0
- bge _08002DA4
- b _08002DA0
-_08002D8A:
- subs r2, r3, 0x1
- ldr r0, [r4]
- ldr r1, [r5]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r2, r0
- str r2, [sp]
- cmp r2, 0
- ble _08002DA4
-_08002DA0:
- movs r0, 0
- str r0, [sp]
-_08002DA4:
- ldr r2, [sp, 0x4]
- cmp r2, 0
- blt _08002DC2
- adds r2, 0x1
- ldr r0, [r4, 0x4]
- ldr r1, [r5, 0x4]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- subs r2, r0
- str r2, [sp, 0x4]
- cmp r2, 0
- bge _08002DDC
- b _08002DD8
-_08002DC2:
- subs r2, 0x1
- ldr r0, [r4, 0x4]
- ldr r1, [r5, 0x4]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r2, r0
- str r2, [sp, 0x4]
- cmp r2, 0
- ble _08002DDC
-_08002DD8:
- movs r0, 0
- str r0, [sp, 0x4]
-_08002DDC:
- mov r0, sp
- bl sub_8002CF0
- lsls r0, 24
- asrs r0, 24
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8002D54
-
- thumb_func_start sub_8002DF0
-sub_8002DF0:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r1, 0
- adds r5, r3, 0
- ldr r3, [r2]
- ldr r1, [r0]
- subs r3, r1
- str r3, [sp]
- ldr r1, [r2, 0x4]
- ldr r0, [r0, 0x4]
- subs r1, r0
- str r1, [sp, 0x4]
- adds r2, r3, 0
- cmp r2, 0
- blt _08002E26
- adds r2, 0x1
- ldr r0, [r4]
- ldr r1, [r5]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- subs r2, r0
- str r2, [sp]
- cmp r2, 0
- bge _08002E40
- b _08002E3C
-_08002E26:
- subs r2, r3, 0x1
- ldr r0, [r4]
- ldr r1, [r5]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r2, r0
- str r2, [sp]
- cmp r2, 0
- ble _08002E40
-_08002E3C:
- movs r0, 0
- str r0, [sp]
-_08002E40:
- ldr r2, [sp, 0x4]
- cmp r2, 0
- blt _08002E5E
- adds r2, 0x1
- ldr r0, [r4, 0x4]
- ldr r1, [r5, 0x4]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- subs r2, r0
- str r2, [sp, 0x4]
- cmp r2, 0
- bge _08002E78
- b _08002E74
-_08002E5E:
- subs r2, 0x1
- ldr r0, [r4, 0x4]
- ldr r1, [r5, 0x4]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r2, r0
- str r2, [sp, 0x4]
- cmp r2, 0
- ble _08002E78
-_08002E74:
- movs r0, 0
- str r0, [sp, 0x4]
-_08002E78:
- mov r0, sp
- bl sub_8002C60
- lsls r0, 24
- asrs r0, 24
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8002DF0
-
.align 2, 0 @ Don't pad with nop.