summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/code_803D110.s6
-rw-r--r--asm/code_8040094.s14
-rw-r--r--asm/code_8041AD0.s2
-rw-r--r--asm/code_80428A0.s6355
-rw-r--r--asm/code_80450F8.s6298
-rw-r--r--asm/code_8048480.s16
-rw-r--r--asm/code_80521D0.s64
-rw-r--r--asm/code_8057824.s150
-rw-r--r--asm/code_807001C.s452
-rw-r--r--asm/code_80848F0.s24
-rw-r--r--asm/code_8086A3C.s2
-rw-r--r--include/dungeon_engine.h9
-rw-r--r--include/dungeon_entity.h4
-rwxr-xr-xld_script.txt2
-rw-r--r--src/code_80521D0_1.c4
-rw-r--r--src/code_8057824_1.c4
-rw-r--r--src/dungeon_engine.c11
17 files changed, 6714 insertions, 6703 deletions
diff --git a/asm/code_803D110.s b/asm/code_803D110.s
index d1936e6..aeb1470 100644
--- a/asm/code_803D110.s
+++ b/asm/code_803D110.s
@@ -3688,7 +3688,7 @@ sub_803EDF0:
b _0803EF42
_0803EE06:
ldr r0, [r6, 0x4]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -4668,7 +4668,7 @@ sub_803F580:
b _0803F7A0
_0803F59E:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0803F5AC
@@ -4914,7 +4914,7 @@ _0803F774:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0803F79A
diff --git a/asm/code_8040094.s b/asm/code_8040094.s
index 21aca6a..ebe530a 100644
--- a/asm/code_8040094.s
+++ b/asm/code_8040094.s
@@ -1663,7 +1663,7 @@ _08040E24:
adds r6, r7, 0
_08040E26:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08040E34
@@ -2104,7 +2104,7 @@ _0804118A:
movs r2, 0
str r2, [sp, 0x14]
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080411CA
@@ -2137,7 +2137,7 @@ _080411D0:
cmp r5, r0
beq _08041216
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08041216
@@ -2452,7 +2452,7 @@ sub_804143C:
cmp r0, 0xED
bne _08041476
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080414A4
@@ -2613,7 +2613,7 @@ sub_8041550:
lsls r0, 24
lsrs r6, r0, 24
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0804159C
@@ -3034,7 +3034,7 @@ _08041890:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080418C0
@@ -3065,7 +3065,7 @@ _080418D0: .4byte 0x000135cc
sub_80418D4:
push {r4,lr}
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080418E4
diff --git a/asm/code_8041AD0.s b/asm/code_8041AD0.s
index ee181a7..9a431e2 100644
--- a/asm/code_8041AD0.s
+++ b/asm/code_8041AD0.s
@@ -700,7 +700,7 @@ _080427B0:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080427FA
diff --git a/asm/code_80428A0.s b/asm/code_80428A0.s
index b296f06..582dc83 100644
--- a/asm/code_80428A0.s
+++ b/asm/code_80428A0.s
@@ -1605,7 +1605,7 @@ _080437C8:
_080437DA:
bl sub_8083600
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080437F0
@@ -1646,7 +1646,7 @@ _08043822:
bl sub_806AA70
_08043830:
bl sub_8083600
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0804384A
@@ -2280,7 +2280,7 @@ _08043D6A:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08043DCE
@@ -2341,7 +2341,7 @@ _08043DDC:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
adds r7, r5, 0x1
cmp r0, 0
@@ -2413,7 +2413,7 @@ _08043E6E:
bl sub_8049590
ldr r4, [r0, 0x14]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08043EA0
@@ -2473,7 +2473,7 @@ _08043EEA:
bne _08043F40
bl sub_8083600
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08043FB6
@@ -2505,7 +2505,7 @@ _08043F40:
bne _08043F74
bl sub_8083600
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08043FB6
@@ -2527,7 +2527,7 @@ _08043F74:
bne _08043FB6
bl sub_8083600
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08043FB6
@@ -3171,7 +3171,7 @@ _08044466:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080444DC
@@ -3190,7 +3190,7 @@ _08044466:
adds r0, r4, 0
bl sub_8074B54
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080444DC
@@ -3251,7 +3251,7 @@ _08044510:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08044560
@@ -3315,7 +3315,7 @@ _08044592:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080446A4
@@ -3395,7 +3395,7 @@ _08044644:
adds r0, r5, 0
bl sub_8074B54
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080446A4
@@ -3466,7 +3466,7 @@ _080446D4:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08044760
@@ -3558,7 +3558,7 @@ _0804476A:
movs r0, 0
bl sub_8043ED0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
_080447A0:
ldr r5, [r5, 0x4]
cmp r5, 0
@@ -3580,7 +3580,7 @@ _080447B8:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080447FC
@@ -3594,7 +3594,7 @@ _080447B8:
adds r0, r4, 0
bl sub_8074094
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080447FC
@@ -3700,7 +3700,7 @@ _0804486C:
adds r0, r5, 0
bl sub_8074B54
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080448FA
@@ -3735,7 +3735,7 @@ _080448FC:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080448FA
@@ -3758,7 +3758,7 @@ _08044930:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08044974
@@ -3772,7 +3772,7 @@ _08044930:
adds r0, r4, 0
bl sub_8074094
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08044974
@@ -3854,7 +3854,7 @@ _080449F2:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08044A7A
@@ -3974,7 +3974,7 @@ _08044AE6:
adds r0, r2
adds r0, r1
ldr r0, [r0]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08044AE4
@@ -4808,6312 +4808,3 @@ _080450D4: .4byte gUnknown_202EE6C
_080450D8: .4byte gUnknown_80F7C54
_080450DC: .4byte gUnknown_202EE44
thumb_func_end sub_8045064
-
- thumb_func_start sub_80450E0
-sub_80450E0:
- push {lr}
- cmp r0, 0
- bne _080450EA
- movs r0, 0
- b _080450F2
-_080450EA:
- ldr r0, [r0]
- cmp r0, 0
- beq _080450F2
- movs r0, 0x1
-_080450F2:
- pop {r1}
- bx r1
- thumb_func_end sub_80450E0
-
- thumb_func_start sub_80450F8
-sub_80450F8:
- ldr r0, [r0]
- bx lr
- thumb_func_end sub_80450F8
-
- thumb_func_start sub_80450FC
-sub_80450FC:
- adds r0, 0x25
- ldrb r0, [r0]
- bx lr
- thumb_func_end sub_80450FC
-
- thumb_func_start sub_8045104
-sub_8045104:
- ldr r0, [r0, 0x70]
- bx lr
- thumb_func_end sub_8045104
-
- thumb_func_start sub_8045108
-sub_8045108:
- ldr r0, [r0, 0x70]
- bx lr
- thumb_func_end sub_8045108
-
- thumb_func_start sub_804510C
-sub_804510C:
- ldr r0, [r0, 0x70]
- bx lr
- thumb_func_end sub_804510C
-
- thumb_func_start sub_8045110
-sub_8045110:
- ldr r0, [r0, 0x70]
- bx lr
- thumb_func_end sub_8045110
-
- thumb_func_start sub_8045114
-sub_8045114:
- push {lr}
- movs r1, 0x4
- ldrsh r2, [r0, r1]
- movs r3, 0x6
- ldrsh r1, [r0, r3]
- adds r0, r2, 0
- bl sub_804954C
- pop {r1}
- bx r1
- thumb_func_end sub_8045114
-
- thumb_func_start sub_8045128
-sub_8045128:
- push {lr}
- movs r1, 0x4
- ldrsh r2, [r0, r1]
- movs r3, 0x6
- ldrsh r1, [r0, r3]
- adds r0, r2, 0
- bl sub_8049590
- pop {r1}
- bx r1
- thumb_func_end sub_8045128
-
- thumb_func_start sub_804513C
-sub_804513C:
- push {r4-r7,lr}
- movs r3, 0
- ldr r7, _080451FC
- ldr r6, _08045200
- ldr r4, _08045204
- movs r5, 0
-_08045148:
- ldr r0, [r7]
- lsls r2, r3, 2
- adds r1, r0, r6
- adds r1, r2
- adds r0, r4
- str r0, [r1]
- str r5, [r0]
- adds r4, 0x74
- adds r3, 0x1
- cmp r3, 0x3
- ble _08045148
- ldr r1, _08045208
- movs r2, 0
- adds r0, r1, 0x5
-_08045164:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08045164
- movs r3, 0
- ldr r7, _080451FC
- ldr r6, _0804520C
- ldr r4, _08045210
- movs r5, 0
-_08045176:
- ldr r0, [r7]
- lsls r2, r3, 2
- adds r1, r0, r6
- adds r1, r2
- adds r0, r4
- str r0, [r1]
- str r5, [r0]
- adds r4, 0x74
- adds r3, 0x1
- cmp r3, 0xF
- ble _08045176
- ldr r1, _08045214
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0xF
-_08045194:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08045194
- movs r3, 0
- ldr r5, _080451FC
- ldr r4, _08045218
- movs r2, 0
-_080451A4:
- ldr r0, [r5]
- lsls r1, r3, 2
- adds r0, r4
- adds r0, r1
- str r2, [r0]
- adds r3, 0x1
- cmp r3, 0x13
- ble _080451A4
- movs r3, 0
- ldr r7, _080451FC
- ldr r6, _0804521C
- ldr r4, _08045220
- movs r5, 0
-_080451BE:
- ldr r0, [r7]
- lsls r2, r3, 2
- adds r1, r0, r6
- adds r1, r2
- adds r0, r4
- str r0, [r1]
- str r5, [r0]
- adds r4, 0x74
- adds r3, 0x1
- cmp r3, 0x3F
- ble _080451BE
- movs r3, 0
- ldr r7, _080451FC
- ldr r6, _08045224
- ldr r4, _08045228
- movs r5, 0
-_080451DE:
- ldr r0, [r7]
- lsls r2, r3, 2
- adds r1, r0, r6
- adds r1, r2
- adds r0, r4
- str r0, [r1]
- str r5, [r0]
- adds r4, 0x74
- adds r3, 0x1
- cmp r3, 0x3F
- ble _080451DE
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080451FC: .4byte gDungeonGlobalData
-_08045200: .4byte 0x0001357c
-_08045204: .4byte 0x0001381c
-_08045208: .4byte gUnknown_202EE70
-_0804520C: .4byte 0x0001358c
-_08045210: .4byte 0x000139ec
-_08045214: .4byte gUnknown_202EE76
-_08045218: .4byte 0x000135cc
-_0804521C: .4byte 0x0001361c
-_08045220: .4byte 0x0001412c
-_08045224: .4byte 0x0001371c
-_08045228: .4byte 0x00015e2c
- thumb_func_end sub_804513C
-
- thumb_func_start sub_804522C
-sub_804522C:
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r2, _08045274
- ldr r0, [r2]
- ldr r3, _08045278
- adds r1, r0, r3
- ldrb r7, [r1]
- ldr r1, _0804527C
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080452AA
- movs r6, 0
- adds r7, r2, 0
-_08045248:
- ldr r0, [r7]
- lsls r1, r6, 2
- ldr r2, _08045280
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080452A2
- ldr r0, [r7]
- ldr r3, _08045284
- adds r0, r3
- ldr r0, [r0]
- cmp r5, r0
- bne _08045288
- adds r0, r5, 0
- bl sub_806C51C
- b _080452A2
- .align 2, 0
-_08045274: .4byte gDungeonGlobalData
-_08045278: .4byte 0x00018210
-_0804527C: .4byte 0x0001820a
-_08045280: .4byte 0x000135cc
-_08045284: .4byte 0x000181f8
-_08045288:
- ldr r4, [r5, 0x70]
- adds r0, r5, 0
- bl sub_804187C
- adds r2, r0, 0
- adds r0, r4, 0
- adds r0, 0x98
- ldr r0, [r0]
- movs r3, 0x4
- ldrsh r1, [r4, r3]
- movs r3, 0
- bl sub_800F75C
-_080452A2:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08045248
- b _0804533E
-_080452AA:
- movs r6, 0
-_080452AC:
- ldr r0, _08045348
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0804534C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080452CC
- adds r0, r4, 0
- bl sub_806C51C
-_080452CC:
- adds r6, 0x1
- cmp r6, 0x3
- ble _080452AC
- movs r6, 0
-_080452D4:
- ldr r5, _08045348
- ldr r0, [r5]
- lsls r1, r6, 2
- ldr r3, _08045350
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080452F4
- adds r0, r4, 0
- bl sub_806C51C
-_080452F4:
- adds r6, 0x1
- cmp r6, 0xF
- ble _080452D4
- movs r6, 0
- ldr r0, [r5]
- ldr r1, _08045354
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r6, r0
- bge _08045336
- adds r4, r5, 0
-_0804530C:
- ldr r0, [r4]
- lsls r1, r6, 2
- ldr r3, _08045358
- adds r0, r3
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- str r1, [sp]
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0xFF
- bl sub_80462AC
- adds r6, 0x1
- ldr r0, [r4]
- ldr r1, _08045354
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r6, r0
- blt _0804530C
-_08045336:
- cmp r7, 0
- beq _0804533E
- bl sub_807FA9C
-_0804533E:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08045348: .4byte gDungeonGlobalData
-_0804534C: .4byte 0x0001357c
-_08045350: .4byte 0x0001358c
-_08045354: .4byte 0x00003904
-_08045358: .4byte 0x0001361c
- thumb_func_end sub_804522C
-
- thumb_func_start sub_804535C
-sub_804535C:
- push {lr}
- adds r2, r0, 0
- cmp r1, 0
- beq _0804536C
- ldr r0, [r1]
- str r0, [r2, 0xC]
- ldr r0, [r1, 0x4]
- b _0804538E
-_0804536C:
- movs r0, 0x4
- ldrsh r1, [r2, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- str r0, [r2, 0xC]
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1
-_0804538E:
- str r0, [r2, 0x10]
- pop {r0}
- bx r0
- thumb_func_end sub_804535C
-
- thumb_func_start sub_8045394
-sub_8045394:
- str r1, [r0, 0xC]
- str r2, [r0, 0x10]
- bx lr
- thumb_func_end sub_8045394
-
- thumb_func_start sub_804539C
-sub_804539C:
- ldr r3, [r0, 0xC]
- adds r3, r1
- str r3, [r0, 0xC]
- ldr r1, [r0, 0x10]
- adds r1, r2
- str r1, [r0, 0x10]
- bx lr
- thumb_func_end sub_804539C
-
- thumb_func_start sub_80453AC
-sub_80453AC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- mov r0, r8
- bl GetPokemonSize
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0x6
- subs r3, r0, r6
- ldr r4, _080453D8
- b _080453DE
- .align 2, 0
-_080453D8: .4byte gUnknown_202EE70
-_080453DC:
- adds r5, 0x1
-_080453DE:
- cmp r5, r3
- bgt _08045400
- movs r2, 0
- cmp r2, r6
- bge _080453FA
- adds r1, r5, r4
- b _080453F4
-_080453EC:
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, r6
- bge _080453FA
-_080453F4:
- ldrb r0, [r1]
- cmp r0, 0
- beq _080453EC
-_080453FA:
- cmp r2, r6
- bne _080453DC
- mov r9, r5
-_08045400:
- movs r0, 0x1
- negs r0, r0
- cmp r9, r0
- beq _080454FC
- movs r5, 0
- ldr r7, _080454DC
-_0804540C:
- ldr r1, _080454E0
- ldr r0, [r1]
- lsls r1, r5, 2
- ldr r2, _080454E4
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0
- bne _080454F0
- movs r0, 0x1
- str r0, [r4]
- adds r0, r4, 0
- adds r0, 0x24
- strb r5, [r0]
- ldr r1, _080454E0
- ldr r0, [r1]
- adds r0, r7
- str r0, [r4, 0x70]
- mov r2, r8
- strh r2, [r0, 0x2]
- movs r0, 0
- mov r1, r8
- bl sub_8069F54
- ldr r1, [r4, 0x70]
- strh r0, [r1, 0x4]
- ldr r0, [r4, 0x70]
- movs r5, 0
- strb r5, [r0, 0x6]
- movs r0, 0
- mov r1, r8
- bl sub_8069F54
- lsls r0, 16
- asrs r0, 16
- bl sub_80687D0
- str r0, [r4, 0x64]
- mov r1, r9
- lsls r0, r1, 4
- adds r0, 0x40
- adds r1, r4, 0
- adds r1, 0x68
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x7
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x6C
- movs r2, 0
- strb r2, [r0]
- adds r1, 0x1
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x6D
- movs r5, 0x1
- strb r5, [r0]
- adds r0, 0x2
- strb r5, [r0]
- mov r0, r10
- str r0, [r4, 0x1C]
- bl sub_8045ACC
- ldr r0, [r4, 0x70]
- ldr r1, _080454E8
- adds r0, r1
- mov r2, r9
- strb r2, [r0]
- ldr r0, [r4, 0x70]
- movs r5, 0xB4
- lsls r5, 1
- adds r0, r5
- strb r6, [r0]
- cmp r6, 0
- beq _080454C6
- ldr r3, _080454EC
- movs r2, 0x1
- adds r1, r6, 0
-_080454B6:
- mov r5, r9
- adds r0, r5, r3
- strb r2, [r0]
- movs r0, 0x1
- add r9, r0
- subs r1, 0x1
- cmp r1, 0
- bne _080454B6
-_080454C6:
- ldr r1, _080454E0
- ldr r0, [r1]
- movs r2, 0xCD
- lsls r2, 3
- adds r0, r2
- ldrh r2, [r0]
- adds r1, r2, 0x1
- strh r1, [r0]
- strh r2, [r4, 0x26]
- adds r0, r4, 0
- b _080454FE
- .align 2, 0
-_080454DC: .4byte 0x0000069c
-_080454E0: .4byte gDungeonGlobalData
-_080454E4: .4byte 0x0001357c
-_080454E8: .4byte 0x00000167
-_080454EC: .4byte gUnknown_202EE70
-_080454F0:
- movs r0, 0x82
- lsls r0, 2
- adds r7, r0
- adds r5, 0x1
- cmp r5, 0x3
- ble _0804540C
-_080454FC:
- movs r0, 0
-_080454FE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80453AC
-
- thumb_func_start sub_804550C
-sub_804550C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- mov r0, r8
- bl GetPokemonSize
- lsls r0, 24
- lsrs r7, r0, 24
- movs r5, 0
- movs r0, 0x10
- subs r3, r0, r7
- ldr r4, _08045538
- b _0804553E
- .align 2, 0
-_08045538: .4byte gUnknown_202EE76
-_0804553C:
- adds r5, 0x1
-_0804553E:
- cmp r5, r3
- bgt _08045560
- movs r2, 0
- cmp r2, r7
- bge _0804555A
- adds r1, r5, r4
- b _08045554
-_0804554C:
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, r7
- bge _0804555A
-_08045554:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0804554C
-_0804555A:
- cmp r2, r7
- bne _0804553C
- mov r9, r5
-_08045560:
- movs r0, 0x1
- negs r0, r0
- cmp r9, r0
- bne _0804556A
- b _08045670
-_0804556A:
- movs r5, 0
- movs r1, 0x1
- mov r10, r1
- ldr r2, _08045650
- mov r3, r9
- lsls r0, r3, 4
- adds r0, 0xA0
- str r0, [sp]
-_0804557A:
- ldr r1, _08045654
- ldr r0, [r1]
- lsls r1, r5, 2
- ldr r3, _08045658
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- str r2, [sp, 0x4]
- bl sub_80450E0
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, [sp, 0x4]
- cmp r6, 0
- bne _08045664
- mov r0, r10
- str r0, [r4]
- adds r0, r4, 0
- adds r0, 0x24
- strb r5, [r0]
- subs r0, 0x2
- strb r6, [r0]
- ldr r1, _08045654
- ldr r0, [r1]
- adds r0, r2
- str r0, [r4, 0x70]
- mov r2, r8
- strh r2, [r0, 0x2]
- movs r0, 0
- mov r1, r8
- bl sub_8069F54
- ldr r1, [r4, 0x70]
- strh r0, [r1, 0x4]
- ldr r0, [r4, 0x70]
- mov r3, r10
- strb r3, [r0, 0x6]
- movs r0, 0
- mov r1, r8
- bl sub_8069F54
- lsls r0, 16
- asrs r0, 16
- bl sub_80687D0
- str r0, [r4, 0x64]
- adds r0, r4, 0
- adds r0, 0x68
- mov r5, sp
- ldrh r5, [r5]
- strh r5, [r0]
- adds r1, r4, 0
- adds r1, 0x6A
- movs r0, 0x7
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x6C
- movs r1, 0
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x6B
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x6D
- mov r2, r10
- strb r2, [r0]
- adds r0, 0x2
- strb r2, [r0]
- str r6, [r4, 0x1C]
- ldr r0, [r4, 0x70]
- ldr r3, _0804565C
- adds r0, r3
- mov r5, r9
- strb r5, [r0]
- ldr r0, [r4, 0x70]
- movs r1, 0xB4
- lsls r1, 1
- adds r0, r1
- strb r7, [r0]
- cmp r7, 0
- beq _08045636
- ldr r3, _08045660
- movs r2, 0x1
- adds r1, r7, 0
-_08045626:
- mov r5, r9
- adds r0, r5, r3
- strb r2, [r0]
- movs r0, 0x1
- add r9, r0
- subs r1, 0x1
- cmp r1, 0
- bne _08045626
-_08045636:
- bl sub_8045ACC
- ldr r1, _08045654
- ldr r0, [r1]
- movs r2, 0xCD
- lsls r2, 3
- adds r0, r2
- ldrh r2, [r0]
- adds r1, r2, 0x1
- strh r1, [r0]
- strh r2, [r4, 0x26]
- adds r0, r4, 0
- b _08045672
- .align 2, 0
-_08045650: .4byte 0x00000ebc
-_08045654: .4byte gDungeonGlobalData
-_08045658: .4byte 0x0001358c
-_0804565C: .4byte 0x00000167
-_08045660: .4byte gUnknown_202EE76
-_08045664:
- movs r3, 0x82
- lsls r3, 2
- adds r2, r3
- adds r5, 0x1
- cmp r5, 0xF
- ble _0804557A
-_08045670:
- movs r0, 0
-_08045672:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_804550C
-
- thumb_func_start sub_8045684
-sub_8045684:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- movs r5, 0
- ldr r7, _080456E4
- ldr r6, _080456E8
-_080456A2:
- ldr r0, [r7]
- lsls r1, r5, 2
- ldr r2, _080456EC
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080456F0
- movs r0, 0x2
- str r0, [r4]
- ldr r0, [r7]
- adds r0, r6
- str r0, [r4, 0x70]
- mov r2, r8
- strb r2, [r0]
- ldr r0, [r4, 0x70]
- mov r2, r9
- strb r2, [r0, 0x1]
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- adds r0, 0x22
- strb r1, [r0]
- mov r2, r10
- ldr r0, [r2]
- str r0, [r4, 0x4]
- strh r1, [r4, 0x26]
- adds r0, r4, 0
- b _080456FA
- .align 2, 0
-_080456E4: .4byte gDungeonGlobalData
-_080456E8: .4byte 0x00003908
-_080456EC: .4byte 0x0001371c
-_080456F0:
- adds r6, 0x4
- adds r5, 0x1
- cmp r5, 0x3F
- ble _080456A2
- movs r0, 0
-_080456FA:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8045684
-
- thumb_func_start sub_8045708
-sub_8045708:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- ldr r1, _08045744
- ldr r0, _08045748
- ldr r0, [r0]
- ldr r2, _0804574C
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0804579C
- mov r1, r8
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- bl sub_8049590
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0804579C
- b _080457C4
- .align 2, 0
-_08045744: .4byte gUnknown_810ACC0
-_08045748: .4byte gDungeonGlobalData
-_0804574C: .4byte 0x00003a0e
-_08045750:
- movs r0, 0x3
- str r0, [r4]
- ldr r0, _08045798
- adds r1, r6, r0
- mov r2, r9
- ldr r0, [r2]
- adds r0, r1
- str r0, [r4, 0x70]
- mov r3, r8
- ldr r0, [r3]
- str r0, [r4, 0x4]
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 8
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r2, 0x4
- lsls r2, 8
- adds r0, r4, 0
- bl sub_8045394
- movs r0, 0
- strh r7, [r4, 0x26]
- adds r1, r4, 0
- adds r1, 0x22
- strb r0, [r1]
- str r7, [r4, 0x1C]
- adds r0, r4, 0
- b _080457C6
- .align 2, 0
-_08045798: .4byte 0x00003804
-_0804579C:
- movs r5, 0
- ldr r3, _080457D4
- mov r9, r3
-_080457A2:
- mov r1, r9
- ldr r0, [r1]
- lsls r6, r5, 2
- ldr r2, _080457D8
- adds r0, r2
- adds r0, r6
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- beq _08045750
- adds r5, 0x1
- cmp r5, 0x3F
- ble _080457A2
-_080457C4:
- movs r0, 0
-_080457C6:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080457D4: .4byte gDungeonGlobalData
-_080457D8: .4byte 0x0001361c
- thumb_func_end sub_8045708
-
- thumb_func_start sub_80457DC
-sub_80457DC:
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r0, 0x5
- str r0, [r4]
- movs r6, 0
- movs r5, 0
- strh r5, [r4, 0x4]
- strh r5, [r4, 0x6]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl sub_8045394
- strh r5, [r4, 0x26]
- adds r4, 0x22
- strb r6, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80457DC
-
- thumb_func_start sub_8045804
-sub_8045804:
- push {r4-r6,lr}
- adds r4, r0, 0
- bl sub_80450F8
- cmp r0, 0x1
- beq _0804581C
- cmp r0, 0x1
- bcc _08045880
- cmp r0, 0x5
- beq _08045880
-_08045818:
- movs r0, 0x1
- b _08045882
-_0804581C:
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08045880
- ldr r0, _08045874
- ldr r1, [r0]
- ldr r0, _08045878
- adds r2, r1, r0
- ldr r5, [r2, 0x10]
- ldr r3, [r4, 0x70]
- ldrb r0, [r3, 0x6]
- cmp r0, 0
- beq _08045818
- ldr r6, _0804587C
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804584C
- adds r0, r3, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08045880
-_0804584C:
- adds r0, r2, 0
- adds r0, 0x23
- ldrb r0, [r0]
- cmp r0, 0
- bne _08045818
- adds r0, r2, 0
- adds r0, 0x25
- ldrb r0, [r0]
- cmp r0, 0
- bne _08045818
- cmp r5, 0
- beq _08045880
- adds r1, r4, 0x4
- adds r0, r2, 0
- bl sub_8083294
- lsls r0, 24
- lsrs r0, 24
- b _08045882
- .align 2, 0
-_08045874: .4byte gDungeonGlobalData
-_08045878: .4byte 0x000181e8
-_0804587C: .4byte 0x0001820f
-_08045880:
- movs r0, 0
-_08045882:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8045804
-
- thumb_func_start sub_8045888
-sub_8045888:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08045988
- ldr r1, [r4, 0xC]
- cmp r1, 0
- bge _0804589C
- adds r1, 0xFF
-_0804589C:
- asrs r1, 8
- ldr r0, _080458F0
- ldr r2, [r0]
- ldr r3, _080458F4
- adds r0, r2, r3
- movs r5, 0
- ldrsh r0, [r0, r5]
- subs r3, r1, r0
- ldr r0, [r4, 0x10]
- cmp r0, 0
- bge _080458B4
- adds r0, 0xFF
-_080458B4:
- asrs r0, 8
- ldr r5, _080458F8
- adds r1, r2, r5
- movs r5, 0
- ldrsh r1, [r1, r5]
- subs r1, r0, r1
- movs r0, 0x20
- negs r0, r0
- cmp r3, r0
- blt _08045988
- cmp r1, r0
- blt _08045988
- movs r0, 0x88
- lsls r0, 1
- cmp r3, r0
- bgt _08045988
- cmp r1, 0xC0
- bgt _08045988
- ldr r0, _080458FC
- adds r5, r2, r0
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x5
- bhi _08045984
- lsls r0, 2
- ldr r1, _08045900
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080458F0: .4byte gDungeonGlobalData
-_080458F4: .4byte 0x000181f0
-_080458F8: .4byte 0x000181f2
-_080458FC: .4byte 0x000181e8
-_08045900: .4byte _08045904
- .align 2, 0
-_08045904:
- .4byte _08045988
- .4byte _08045934
- .4byte _08045964
- .4byte _0804591C
- .4byte _08045984
- .4byte _08045988
-_0804591C:
- adds r0, r5, 0
- adds r0, 0x26
-_08045920:
- ldrb r0, [r0]
- cmp r0, 0
- bne _08045984
- adds r0, r4, 0x4
- bl sub_803F428
- lsls r0, 24
-_0804592E:
- cmp r0, 0
- bne _08045984
- b _08045988
-_08045934:
- ldr r1, [r4, 0x70]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _08045984
- ldr r0, _0804595C
- ldr r0, [r0]
- ldr r2, _08045960
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08045954
- adds r0, r1, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08045988
-_08045954:
- adds r0, r5, 0
- adds r0, 0x25
- b _08045920
- .align 2, 0
-_0804595C: .4byte gDungeonGlobalData
-_08045960: .4byte 0x0001820f
-_08045964:
- ldr r0, _0804597C
- ldr r0, [r0]
- ldr r3, _08045980
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08045984
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- b _0804592E
- .align 2, 0
-_0804597C: .4byte gDungeonGlobalData
-_08045980: .4byte 0x0001820f
-_08045984:
- movs r0, 0x1
- b _0804598A
-_08045988:
- movs r0, 0
-_0804598A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8045888
-
- thumb_func_start sub_8045990
-sub_8045990:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080459E8
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080459E8
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _080459E8
- ldr r0, [r4]
- cmp r0, 0x1
- bne _080459EC
- ldr r0, [r5]
- cmp r0, 0x1
- bne _080459DE
- adds r0, r5, 0
- bl sub_8071884
- lsls r0, 24
- cmp r0, 0
- bne _080459D8
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080459E8
-_080459D8:
- ldr r0, [r5, 0x70]
- adds r0, 0xE8
- b _080459E2
-_080459DE:
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
-_080459E2:
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080459EC
-_080459E8:
- movs r0, 0
- b _080459F8
-_080459EC:
- adds r0, r5, 0x4
- adds r1, r4, 0x4
- bl sub_8083294
- lsls r0, 24
- lsrs r0, 24
-_080459F8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8045990
-
- thumb_func_start sub_8045A00
-sub_8045A00:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08045A58
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08045A58
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08045A58
- ldr r0, [r4]
- cmp r0, 0x1
- bne _08045A5C
- ldr r0, [r5]
- cmp r0, 0x1
- bne _08045A4E
- adds r0, r5, 0
- bl sub_8071884
- lsls r0, 24
- cmp r0, 0
- bne _08045A48
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08045A58
-_08045A48:
- ldr r0, [r5, 0x70]
- adds r0, 0xE8
- b _08045A52
-_08045A4E:
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
-_08045A52:
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08045A5C
-_08045A58:
- movs r0, 0
- b _08045A68
-_08045A5C:
- adds r0, r5, 0x4
- adds r1, r4, 0x4
- bl sub_808333C
- lsls r0, 24
- lsrs r0, 24
-_08045A68:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8045A00
-
- thumb_func_start sub_8045A70
-sub_8045A70:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08045AA4
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08045AA4
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08045AA4
- adds r0, r5, 0x4
- adds r1, r4, 0x4
- bl sub_8083294
- lsls r0, 24
- lsrs r0, 24
- b _08045AA6
-_08045AA4:
- movs r0, 0
-_08045AA6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8045A70
-
- thumb_func_start sub_8045AAC
-sub_8045AAC:
- push {lr}
- adds r0, 0x4
- bl sub_8083294
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8045AAC
-
- thumb_func_start sub_8045ABC
-sub_8045ABC:
- push {lr}
- adds r0, 0x4
- bl sub_808333C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8045ABC
-
- thumb_func_start sub_8045ACC
-sub_8045ACC:
- push {r4-r7,lr}
- movs r6, 0
- movs r5, 0
- ldr r7, _08045B50
-_08045AD4:
- ldr r0, [r7]
- lsls r1, r5, 2
- ldr r2, _08045B54
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08045AFA
- ldr r0, [r7]
- lsls r1, r6, 2
- ldr r2, _08045B58
- adds r0, r2
- adds r0, r1
- str r4, [r0]
- adds r6, 0x1
-_08045AFA:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08045AD4
- movs r5, 0
- ldr r7, _08045B50
-_08045B04:
- ldr r0, [r7]
- lsls r1, r5, 2
- ldr r2, _08045B5C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08045B2A
- ldr r0, [r7]
- lsls r1, r6, 2
- ldr r2, _08045B58
- adds r0, r2
- adds r0, r1
- str r4, [r0]
- adds r6, 0x1
-_08045B2A:
- adds r5, 0x1
- cmp r5, 0xF
- ble _08045B04
- cmp r6, 0x13
- bgt _08045B4A
- ldr r4, _08045B50
- ldr r3, _08045B58
- movs r2, 0
-_08045B3A:
- ldr r0, [r4]
- lsls r1, r6, 2
- adds r0, r3
- adds r0, r1
- str r2, [r0]
- adds r6, 0x1
- cmp r6, 0x13
- ble _08045B3A
-_08045B4A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08045B50: .4byte gDungeonGlobalData
-_08045B54: .4byte 0x0001357c
-_08045B58: .4byte 0x000135cc
-_08045B5C: .4byte 0x0001358c
- thumb_func_end sub_8045ACC
-
- thumb_func_start sub_8045B60
-sub_8045B60:
- push {r4,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, _08045B78
- ldr r0, [r0]
- ldr r4, _08045B7C
- adds r1, r0, r4
-_08045B6E:
- ldr r0, [r1]
- cmp r3, r0
- bne _08045B80
- adds r0, r2, 0
- b _08045B8C
- .align 2, 0
-_08045B78: .4byte gDungeonGlobalData
-_08045B7C: .4byte 0x0001357c
-_08045B80:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, 0x3
- ble _08045B6E
- movs r0, 0x1
- negs r0, r0
-_08045B8C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8045B60
-
- thumb_func_start sub_8045B94
-sub_8045B94:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x2
- beq _08045BD2
- cmp r0, 0x2
- bhi _08045BB0
- cmp r0, 0x1
- beq _08045BB6
- b _08045BE2
-_08045BB0:
- cmp r0, 0x3
- beq _08045BC2
- b _08045BE2
-_08045BB6:
- ldr r1, [r4, 0x70]
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_80708B4
- b _08045BEC
-_08045BC2:
- adds r0, r4, 0
- bl sub_8045110
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_8045BF8
- b _08045BEC
-_08045BD2:
- adds r0, r4, 0
- bl sub_804510C
- ldrb r1, [r0]
- adds r0, r5, 0
- bl GetTrapName
- b _08045BEC
-_08045BE2:
- ldr r0, _08045BF4
- ldr r1, [r0]
- adds r0, r5, 0
- bl strcpy
-_08045BEC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08045BF4: .4byte gUnknown_80FE6F4
- thumb_func_end sub_8045B94
-
- thumb_func_start sub_8045BF8
-sub_8045BF8:
- push {lr}
- ldr r2, _08045C04
- bl sub_8090E14
- pop {r0}
- bx r0
- .align 2, 0
-_08045C04: .4byte gUnknown_80F699C
- thumb_func_end sub_8045BF8
-
- thumb_func_start sub_8045C08
-sub_8045C08:
- push {lr}
- ldr r2, _08045C14
- bl sub_8090E14
- pop {r0}
- bx r0
- .align 2, 0
-_08045C14: .4byte gUnknown_80F69A8
- thumb_func_end sub_8045C08
-
- thumb_func_start sub_8045C18
-sub_8045C18:
- push {lr}
- ldr r2, _08045C24
- bl sub_8090E14
- pop {r0}
- bx r0
- .align 2, 0
-_08045C24: .4byte gUnknown_80F6990
- thumb_func_end sub_8045C18
-
- thumb_func_start sub_8045C28
-sub_8045C28:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r2, 0
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- movs r2, 0
- bl xxx_init_itemslot_8090A8C
- movs r7, 0
- adds r0, r4, 0
- bl IsNotSpecialItem
- lsls r0, 24
- cmp r0, 0
- beq _08045C72
- cmp r6, 0
- bne _08045C6C
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _08045C64
- ldr r1, [r1]
- ldr r2, _08045C68
- adds r1, r2
- ldrb r1, [r1]
- cmp r0, r1
- bge _08045C72
- b _08045C76
- .align 2, 0
-_08045C64: .4byte gDungeonGlobalData
-_08045C68: .4byte 0x0001c57e
-_08045C6C:
- cmp r6, 0x1
- bne _08045C72
- movs r7, 0x1
-_08045C72:
- cmp r7, 0
- beq _08045C7E
-_08045C76:
- ldrb r1, [r5]
- movs r0, 0x8
- orrs r0, r1
- strb r0, [r5]
-_08045C7E:
- adds r0, r4, 0
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08045CA2
- ldr r0, _08045CA8
- ldr r0, [r0]
- ldr r1, _08045CAC
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r5, 0
- bl sub_8046CE4
-_08045CA2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08045CA8: .4byte gDungeonGlobalData
-_08045CAC: .4byte 0x0001c58b
- thumb_func_end sub_8045C28
-
- thumb_func_start sub_8045CB0
-sub_8045CB0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r0, 0x38
- bl sub_8084100
- adds r5, r0, 0
- movs r0, 0x20
- bl sub_8084100
- adds r6, r0, 0
- ldr r0, _08045D34
- ldr r0, [r0]
- ldr r1, _08045D38
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- movs r0, 0
-_08045CDA:
- adds r6, 0x1
- cmp r6, 0x20
- bne _08045CE2
- movs r6, 0
-_08045CE2:
- adds r0, 0x1
- mov r10, r0
- movs r3, 0x2
- mov r9, r3
- movs r0, 0x37
- mov r8, r0
-_08045CEE:
- adds r5, 0x1
- cmp r5, 0x38
- bne _08045CF6
- movs r5, 0
-_08045CF6:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_804954C
- adds r2, r0, 0
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 2
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _08045D92
- ldrh r1, [r2, 0x4]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _08045D92
- movs r7, 0
- lsls r0, r5, 16
- lsls r1, r6, 16
- lsrs r0, 16
- orrs r0, r1
- str r0, [sp, 0x4]
- ldrh r1, [r2]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08045D3C
- movs r7, 0x1
- movs r0, 0x1
- b _08045D58
- .align 2, 0
-_08045D34: .4byte gDungeonGlobalData
-_08045D38: .4byte 0x00003904
-_08045D3C:
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08045D48
- movs r0, 0x3
- b _08045D58
-_08045D48:
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- asrs r0, 31
- mov r1, r9
- ands r0, r1
-_08045D58:
- bl sub_803D73C
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl CanSellItem
- lsls r0, 24
- cmp r0, 0
- bne _08045D6E
- movs r7, 0
-_08045D6E:
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045C28
- cmp r7, 0
- beq _08045D88
- mov r0, sp
- ldrb r1, [r0]
- mov r0, r9
- orrs r0, r1
- mov r1, sp
- strb r0, [r1]
-_08045D88:
- add r0, sp, 0x4
- mov r1, sp
- movs r2, 0x1
- bl sub_80460F8
-_08045D92:
- movs r3, 0x1
- negs r3, r3
- add r8, r3
- mov r0, r8
- cmp r0, 0
- bge _08045CEE
- mov r0, r10
- cmp r0, 0x1F
- ble _08045CDA
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8045CB0
-
- thumb_func_start sub_8045DB4
-sub_8045DB4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xB8
- mov r10, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0xA8]
- bl sub_8083600
- adds r7, r0, 0
- ldr r0, [r7, 0x70]
- str r0, [sp, 0xAC]
- mov r1, r10
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- bl sub_804954C
- ldr r4, [r0, 0x14]
- cmp r4, 0
- bne _08045DE8
- b _080460E0
-_08045DE8:
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x3
- beq _08045DF4
- b _080460E0
-_08045DF4:
- adds r0, r4, 0
- bl sub_8045108
- adds r5, r0, 0
- ldr r0, [sp, 0xAC]
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0
- bne _08045E08
- b _0804602E
-_08045E08:
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_8071518
- lsls r0, 24
- cmp r0, 0
- beq _08045E40
- ldr r0, [sp, 0xA8]
- cmp r0, 0
- bne _08045E1E
- b _080460E0
-_08045E1E:
- ldr r0, _08045E34
- adds r1, r5, 0
- bl sub_8045BF8
- ldr r0, _08045E38
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08045E3C
- b _08046048
- .align 2, 0
-_08045E34: .4byte gUnknown_202DE58
-_08045E38: .4byte gAvailablePokemonNames
-_08045E3C: .4byte gUnknown_80F8F88
-_08045E40:
- ldrb r0, [r5, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08045E7C
- movs r0, 0xA6
- lsls r0, 1
- bl PlaySoundEffect
- adds r0, r5, 0
- bl GetMoneyValue
- bl AddToTeamMoney
- ldr r0, _08045E74
- adds r1, r5, 0
- bl sub_8045BF8
- mov r0, r10
- movs r1, 0x1
- bl sub_80461C8
- ldr r0, _08045E78
- b _08045FD0
- .align 2, 0
-_08045E74: .4byte gUnknown_202DE58
-_08045E78: .4byte gUnknown_80F8FFC
-_08045E7C:
- ldr r0, _08045EA8
- ldr r0, [r0]
- ldr r1, _08045EAC
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08045EB4
- movs r4, 0
- ldr r0, _08045EB0
- mov r2, sp
- ldr r0, [r0]
- add r1, sp, 0x54
-_08045E94:
- stm r1!, {r0}
- stm r2!, {r4}
- adds r0, 0x4
- adds r4, 0x1
- cmp r4, 0x13
- ble _08045E94
- movs r2, 0x14
- mov r8, r2
- b _08045EC4
- .align 2, 0
-_08045EA8: .4byte gDungeonGlobalData
-_08045EAC: .4byte 0x0000065b
-_08045EB0: .4byte gTeamInventory_203B460
-_08045EB4:
- ldr r0, [sp, 0xAC]
- adds r0, 0x60
- str r0, [sp, 0x54]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r3, 0x1
- mov r8, r3
-_08045EC4:
- ldrb r0, [r5, 0x2]
- add r6, sp, 0xB0
- strb r0, [r6]
- cmp r0, 0x8
- bls _08045ED0
- b _08046000
-_08045ED0:
- ldrb r1, [r5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08045EDC
- b _08046000
-_08045EDC:
- movs r1, 0x1
- negs r1, r1
- mov r12, r1
- mov r2, r12
- str r2, [sp, 0xB4]
- movs r4, 0
- cmp r4, r8
- bge _08045F2C
- ldr r3, _08045FDC
- mov r9, r3
- add r3, sp, 0x54
-_08045EF2:
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08045F24
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08045F24
- ldr r1, [r5]
- mov r6, r9
- ands r1, r6
- ldr r0, [r2]
- ands r0, r6
- cmp r1, r0
- bne _08045F24
- ldrb r0, [r2, 0x1]
- cmp r0, 0x63
- beq _08045F24
- ldr r1, [sp, 0xB4]
- cmp r1, r0
- bge _08045F24
- str r0, [sp, 0xB4]
- mov r12, r4
-_08045F24:
- adds r3, 0x4
- adds r4, 0x1
- cmp r4, r8
- blt _08045EF2
-_08045F2C:
- movs r0, 0x1
- negs r0, r0
- cmp r12, r0
- bne _08045F80
- mov r2, r12
- str r2, [sp, 0xB4]
- movs r4, 0
- cmp r4, r8
- bge _08045F78
- add r3, sp, 0xB0
- ldrb r3, [r3]
- mov r9, r3
- add r3, sp, 0x54
-_08045F46:
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08045F70
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08045F70
- ldrb r6, [r2, 0x2]
- cmp r9, r6
- bne _08045F70
- ldrb r0, [r2, 0x1]
- cmp r0, 0x63
- beq _08045F70
- ldr r1, [sp, 0xB4]
- cmp r1, r0
- bge _08045F70
- str r0, [sp, 0xB4]
- mov r12, r4
-_08045F70:
- adds r3, 0x4
- adds r4, 0x1
- cmp r4, r8
- blt _08045F46
-_08045F78:
- movs r0, 0x1
- negs r0, r0
- cmp r12, r0
- beq _08046000
-_08045F80:
- add r0, sp, 0x54
- mov r2, r12
- lsls r4, r2, 2
- adds r3, r0, r4
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r5, 0x1]
- adds r1, r0
- cmp r1, 0x62
- ble _08045F96
- movs r1, 0x63
-_08045F96:
- strb r1, [r2, 0x1]
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08045FAC
- ldr r0, [r3]
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
-_08045FAC:
- ldr r0, _08045FE0
- adds r1, r5, 0
- bl sub_8045BF8
- mov r0, r10
- movs r1, 0x1
- bl sub_80461C8
- movs r0, 0xA5
- lsls r0, 1
- bl PlaySoundEffect
- mov r3, sp
- adds r0, r3, r4
- ldr r0, [r0]
- cmp r0, 0
- bge _08045FE8
- ldr r0, _08045FE4
-_08045FD0:
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _08045FF2
- .align 2, 0
-_08045FDC: .4byte 0x00ff0008
-_08045FE0: .4byte gUnknown_202DE58
-_08045FE4: .4byte gUnknown_80F8FC4
-_08045FE8:
- ldr r0, _08045FFC
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
-_08045FF2:
- ldrb r0, [r5, 0x2]
- bl sub_8052EC0
- b _080460E0
- .align 2, 0
-_08045FFC: .4byte gUnknown_80F8FF8
-_08046000:
- movs r4, 0
- cmp r4, r8
- bge _0804602A
- ldr r0, [sp, 0x54]
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804602A
- movs r3, 0x1
- add r2, sp, 0x54
-_08046016:
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, r8
- bge _0804602A
- ldr r0, [r2]
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _08046016
-_0804602A:
- cmp r4, r8
- bne _08046060
-_0804602E:
- ldr r6, [sp, 0xA8]
- cmp r6, 0
- beq _080460E0
- ldr r0, _08046054
- adds r1, r5, 0
- bl sub_8045BF8
- ldr r0, _08046058
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0804605C
-_08046048:
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _080460E0
- .align 2, 0
-_08046054: .4byte gUnknown_202DE58
-_08046058: .4byte gAvailablePokemonNames
-_0804605C: .4byte gUnknown_80F8F54
-_08046060:
- movs r0, 0xA5
- lsls r0, 1
- bl PlaySoundEffect
- lsls r0, r4, 2
- add r0, sp
- ldr r0, [r0]
- cmp r0, 0
- bge _08046094
- ldr r0, [r5]
- ldr r1, [sp, 0xAC]
- str r0, [r1, 0x60]
- ldr r0, _0804608C
- adds r1, r5, 0
- bl sub_8045BF8
- mov r0, r10
- movs r1, 0x1
- bl sub_80461C8
- ldr r0, _08046090
- b _080460AC
- .align 2, 0
-_0804608C: .4byte gUnknown_202DE58
-_08046090: .4byte gUnknown_80F8FC4
-_08046094:
- adds r0, r5, 0
- bl AddItemToInventory
- lsls r0, 24
- cmp r0, 0
- beq _080460C0
- ldr r0, _080460B8
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _080460BC
-_080460AC:
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _080460DA
- .align 2, 0
-_080460B8: .4byte gAvailablePokemonNames
-_080460BC: .4byte gUnknown_80F8FAC
-_080460C0:
- ldr r0, _080460F0
- adds r1, r5, 0
- bl sub_8045BF8
- mov r0, r10
- movs r1, 0x1
- bl sub_80461C8
- ldr r0, _080460F4
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
-_080460DA:
- ldrb r0, [r5, 0x2]
- bl sub_8052EC0
-_080460E0:
- add sp, 0xB8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080460F0: .4byte gUnknown_202DE58
-_080460F4: .4byte gUnknown_80F8FF8
- thumb_func_end sub_8045DB4
-
- thumb_func_start sub_80460F8
-sub_80460F8:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r7, r2, 24
- bl sub_8045708
- adds r4, r0, 0
- cmp r4, 0
- bne _08046110
- movs r0, 0
- b _080461B6
-_08046110:
- ldr r1, [r4, 0x70]
- ldr r0, [r6]
- str r0, [r1]
- ldr r2, [r4, 0x70]
- ldrb r1, [r2]
- movs r0, 0xEF
- ands r0, r1
- strb r0, [r2]
- adds r1, r4, 0
- adds r1, 0x20
- movs r0, 0x1
- strb r0, [r1]
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl sub_8049590
- str r4, [r0, 0x14]
- ldrh r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08046186
- ldrb r0, [r6, 0x2]
- bl CanSellItem
- lsls r0, 24
- cmp r0, 0
- beq _08046186
- ldrb r1, [r6]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08046170
- cmp r7, 0
- beq _08046186
- adds r0, r6, 0
- bl GetStackBuyPrice
- ldr r1, _08046168
- ldr r2, [r1]
- ldr r1, _0804616C
- b _0804617E
- .align 2, 0
-_08046168: .4byte gDungeonGlobalData
-_0804616C: .4byte 0x0000068c
-_08046170:
- adds r0, r6, 0
- bl GetStackSellPrice
- ldr r1, _080461BC
- ldr r2, [r1]
- movs r1, 0xD2
- lsls r1, 3
-_0804617E:
- adds r2, r1
- ldr r1, [r2]
- adds r1, r0
- str r1, [r2]
-_08046186:
- movs r6, 0
- movs r4, 0
-_0804618A:
- ldr r5, _080461BC
- ldr r0, [r5]
- lsls r1, r4, 2
- ldr r2, _080461C0
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- bl sub_80450E0
- lsls r0, 24
- adds r1, r4, 0x1
- cmp r0, 0
- beq _080461A6
- adds r6, r1, 0
-_080461A6:
- adds r4, r1, 0
- cmp r4, 0x3F
- ble _0804618A
- ldr r0, [r5]
- ldr r1, _080461C4
- adds r0, r1
- strh r6, [r0]
- movs r0, 0x1
-_080461B6:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080461BC: .4byte gDungeonGlobalData
-_080461C0: .4byte 0x0001361c
-_080461C4: .4byte 0x00003904
- thumb_func_end sub_80460F8
-
- thumb_func_start sub_80461C8
-sub_80461C8:
- push {r4-r7,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- bl sub_8049590
- adds r6, r0, 0
- ldr r5, [r6, 0x14]
- cmp r5, 0
- beq _080461EE
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x3
- beq _080461F2
-_080461EE:
- movs r0, 0
- b _08046284
-_080461F2:
- adds r0, r5, 0
- bl sub_8045108
- adds r4, r0, 0
- ldrh r1, [r6]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0804624E
- ldrb r0, [r4, 0x2]
- bl CanSellItem
- lsls r0, 24
- cmp r0, 0
- beq _0804624E
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08046238
- cmp r7, 0
- beq _0804624E
- adds r0, r4, 0
- bl GetStackBuyPrice
- ldr r1, _08046230
- ldr r2, [r1]
- ldr r1, _08046234
- adds r2, r1
- b _08046248
- .align 2, 0
-_08046230: .4byte gDungeonGlobalData
-_08046234: .4byte 0x0000068c
-_08046238:
- adds r0, r4, 0
- bl GetStackSellPrice
- ldr r1, _0804628C
- ldr r2, [r1]
- movs r3, 0xD2
- lsls r3, 3
- adds r2, r3
-_08046248:
- ldr r1, [r2]
- subs r1, r0
- str r1, [r2]
-_0804624E:
- movs r0, 0
- str r0, [r6, 0x14]
- str r0, [r5]
- movs r6, 0
- movs r4, 0
-_08046258:
- ldr r5, _0804628C
- ldr r0, [r5]
- lsls r1, r4, 2
- ldr r2, _08046290
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- bl sub_80450E0
- lsls r0, 24
- adds r1, r4, 0x1
- cmp r0, 0
- beq _08046274
- adds r6, r1, 0
-_08046274:
- adds r4, r1, 0
- cmp r4, 0x3F
- ble _08046258
- ldr r0, [r5]
- ldr r3, _08046294
- adds r0, r3
- strh r6, [r0]
- movs r0, 0x1
-_08046284:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0804628C: .4byte gDungeonGlobalData
-_08046290: .4byte 0x0001361c
-_08046294: .4byte 0x00003904
- thumb_func_end sub_80461C8
-
- thumb_func_start sub_8046298
-sub_8046298:
- ldrb r0, [r0, 0x2]
- ldr r1, _080462A8
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r0, [r0, 0xD]
- bx lr
- .align 2, 0
-_080462A8: .4byte gItemParametersData
- thumb_func_end sub_8046298
-
- thumb_func_start sub_80462AC
-sub_80462AC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, [sp, 0x28]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080462E4
- b _08046498
-_080462E4:
- cmp r5, 0
- beq _08046316
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_804954C
- ldrh r0, [r0]
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0
- bne _08046300
- b _08046498
-_08046300:
- cmp r1, 0x2
- bne _08046308
- movs r3, 0x1
- str r3, [sp, 0x4]
-_08046308:
- adds r0, r4, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- bne _08046316
- b _08046498
-_08046316:
- ldr r1, [r4, 0xC]
- cmp r1, 0
- bge _0804631E
- adds r1, 0xFF
-_0804631E:
- asrs r1, 8
- ldr r0, _080463A4
- ldr r2, [r0]
- ldr r5, _080463A8
- adds r0, r2, r5
- movs r3, 0
- ldrsh r0, [r0, r3]
- subs r6, r1, r0
- ldr r3, [r4, 0x10]
- ldr r0, [r4, 0x1C]
- subs r1, r3, r0
- cmp r1, 0
- bge _0804633A
- adds r1, 0xFF
-_0804633A:
- asrs r1, 8
- ldr r5, _080463AC
- adds r0, r2, r5
- movs r5, 0
- ldrsh r2, [r0, r5]
- subs r1, r2
- mov r8, r1
- adds r0, r3, 0
- cmp r0, 0
- bge _08046350
- adds r0, 0xFF
-_08046350:
- asrs r0, 8
- subs r0, r2
- adds r7, r0, 0
- adds r7, 0x8
- lsrs r0, r7, 31
- adds r0, r7, r0
- asrs r7, r0, 1
- movs r0, 0x20
- negs r0, r0
- cmp r6, r0
- bge _08046368
- b _08046498
-_08046368:
- cmp r8, r0
- bge _0804636E
- b _08046498
-_0804636E:
- movs r0, 0x88
- lsls r0, 1
- cmp r6, r0
- ble _08046378
- b _08046498
-_08046378:
- mov r0, r8
- cmp r0, 0xC0
- ble _08046380
- b _08046498
-_08046380:
- ldr r5, _080463B0
- ldrh r1, [r5, 0x2]
- ldr r0, _080463B4
- ands r0, r1
- strh r0, [r5, 0x2]
- mov r1, r10
- cmp r1, 0
- beq _080463BC
- movs r2, 0x17
- mov r10, r2
- movs r2, 0xA0
- lsls r2, 8
- ldrh r1, [r5, 0x4]
- ldr r0, _080463B8
- ands r0, r1
- orrs r0, r2
- strh r0, [r5, 0x4]
- b _08046408
- .align 2, 0
-_080463A4: .4byte gDungeonGlobalData
-_080463A8: .4byte 0x000181f0
-_080463AC: .4byte 0x000181f2
-_080463B0: .4byte gUnknown_202EDC0
-_080463B4: .4byte 0x0000c1ff
-_080463B8: .4byte 0x00000fff
-_080463BC:
- ldr r0, [r4, 0x70]
- bl sub_8046298
- mov r10, r0
- mov r3, r9
- cmp r3, 0xFF
- beq _080463EE
- cmp r0, 0
- bne _080463EE
- ldr r0, _08046478
- add r0, r9
- ldrb r0, [r0]
- mov r10, r0
- ldr r0, _0804647C
- add r0, r9
- ldrb r1, [r0]
- lsls r1, 3
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 9
- ldrh r2, [r5, 0x2]
- ldr r0, _08046480
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x2]
-_080463EE:
- ldr r0, [r4, 0x70]
- ldrb r0, [r0, 0x2]
- bl GetItemPalette
- movs r1, 0xF
- ands r0, r1
- lsls r0, 12
- ldr r3, _08046484
- ldrh r2, [r3, 0x4]
- ldr r1, _08046488
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x4]
-_08046408:
- ldr r1, _08046488
- mov r5, r8
- ands r1, r5
- lsls r1, 4
- ldr r4, _08046484
- ldrh r2, [r4, 0x6]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x6]
- ldr r0, _0804648C
- ands r6, r0
- ldrh r1, [r4, 0x2]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r1
- orrs r0, r6
- strh r0, [r4, 0x2]
- ldr r0, [sp, 0x4]
- lsls r3, r0, 10
- ldrh r2, [r4]
- ldr r1, _08046490
- adds r0, r1, 0
- ands r0, r2
- orrs r0, r3
- strh r0, [r4]
- movs r2, 0xC0
- lsls r2, 4
- ldrh r0, [r4, 0x4]
- ands r1, r0
- orrs r1, r2
- mov r2, r10
- lsls r0, r2, 2
- movs r3, 0xD0
- lsls r3, 1
- adds r0, r3
- ldr r2, _08046494
- ands r0, r2
- movs r2, 0xFC
- lsls r2, 8
- ands r1, r2
- orrs r1, r0
- strh r1, [r4, 0x4]
- ldr r5, [sp]
- cmp r5, 0
- bne _08046466
- movs r7, 0x1
-_08046466:
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0
- bl AddSprite
- movs r0, 0x1
- b _0804649A
- .align 2, 0
-_08046478: .4byte gUnknown_203B420
-_0804647C: .4byte gUnknown_203B428
-_08046480: .4byte 0x0000c1ff
-_08046484: .4byte gUnknown_202EDC0
-_08046488: .4byte 0x00000fff
-_0804648C: .4byte 0x000001ff
-_08046490: .4byte 0x0000f3ff
-_08046494: .4byte 0x000003ff
-_08046498:
- movs r0, 0
-_0804649A:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80462AC
-
- thumb_func_start sub_80464AC
-sub_80464AC:
- push {r4,lr}
- ldr r4, _080464C4
- ldrb r0, [r0, 0x2]
- bl GetItemCategory
- lsls r0, 3
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080464C4: .4byte gActions
- thumb_func_end sub_80464AC
-
- thumb_func_start sub_80464C8
-sub_80464C8:
- push {r4-r6,lr}
- sub sp, 0x78
- adds r6, r0, 0
- adds r3, r1, 0
- adds r5, r2, 0
- movs r0, 0x3
- str r0, [sp, 0x4]
- add r0, sp, 0x28
- movs r4, 0
- strb r4, [r0]
- add r1, sp, 0x24
- movs r0, 0x1
- strb r0, [r1]
- mov r0, sp
- adds r0, 0x26
- strb r4, [r0]
- str r5, [sp, 0x74]
- ldr r0, [r3]
- str r0, [sp, 0x8]
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 8
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r2, 0x4
- lsls r2, 8
- add r0, sp, 0x4
- bl sub_8045394
- add r0, sp, 0x4
- strh r4, [r0, 0x26]
- str r4, [sp]
- adds r0, r6, 0
- add r1, sp, 0x4
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_804652C
- add sp, 0x78
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80464C8
-
- thumb_func_start sub_804652C
-sub_804652C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r10, r0
- adds r5, r1, 0
- mov r9, r2
- lsls r3, 24
- lsrs r6, r3, 24
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_804954C
- adds r4, r0, 0
- ldr r0, [r4, 0x14]
- movs r3, 0
- str r3, [sp, 0xC]
- cmp r0, 0
- beq _0804658C
- bl sub_80450F8
- cmp r0, 0x2
- bne _0804658C
- adds r4, r5, 0x4
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8046734
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_807FE44
- ldr r0, _080465A4
- ldr r1, [r0]
- mov r0, r10
- bl sub_80522A8
- mov r0, r9
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0804658C
- b _0804671E
-_0804658C:
- ldrh r1, [r5, 0x6]
- lsls r1, 16
- ldrh r0, [r5, 0x4]
- orrs r0, r1
- str r0, [sp]
- mov r8, r0
- movs r7, 0x1
- cmp r6, 0
- beq _08046632
- movs r7, 0
- b _08046632
- .align 2, 0
-_080465A4: .4byte gUnknown_80FED30
-_080465A8:
- lsls r3, r7, 2
- adds r3, r0
- ldrh r0, [r3]
- ldrh r1, [r5, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08046628
- ldr r2, [sp]
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- ldrh r0, [r3, 0x2]
- ldrh r3, [r5, 0x6]
- adds r0, r3
- lsls r0, 16
- ldr r1, _0804662C
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r1, 16
- bl sub_804954C
- adds r4, r0, 0
- ldrh r1, [r4]
- movs r6, 0x3
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08046630
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- bne _08046630
- ldr r0, [r4, 0x14]
- cmp r0, 0
- bne _08046630
- adds r0, r5, 0
- mov r1, sp
- bl sub_8046734
- ldr r3, [sp]
- mov r8, r3
- ldrh r1, [r4]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0x3
- beq _08046620
- mov r0, sp
- mov r1, r9
- movs r2, 0x1
- bl sub_80460F8
- lsls r0, 24
- cmp r0, 0
- beq _08046644
-_08046620:
- movs r0, 0x1
- str r0, [sp, 0xC]
- b _08046644
- .align 2, 0
-_08046628: .4byte 0xffff0000
-_0804662C: .4byte 0x0000ffff
-_08046630:
- adds r7, 0x1
-_08046632:
- ldr r0, _08046688
- lsls r1, r7, 2
- adds r1, r0
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r1, 0x63
- bne _080465A8
- movs r3, 0
- str r3, [sp, 0xC]
-_08046644:
- ldr r0, _0804668C
- mov r1, r9
- bl sub_8045BF8
- ldr r0, [sp, 0xC]
- cmp r0, 0
- beq _080466C8
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r4, sp
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_80402AC
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- ldrh r0, [r0]
- movs r1, 0x3
- ands r1, r0
- adds r0, r1, 0
- cmp r1, 0x1
- beq _0804669A
- cmp r1, 0x1
- bgt _08046690
- cmp r1, 0
- beq _080466AC
- b _0804671E
- .align 2, 0
-_08046688: .4byte gUnknown_80F4468
-_0804668C: .4byte gUnknown_202DE58
-_08046690:
- cmp r0, 0x2
- beq _080466A4
- cmp r0, 0x3
- beq _080466B4
- b _0804671E
-_0804669A:
- ldr r0, _080466A0
- b _080466B6
- .align 2, 0
-_080466A0: .4byte gUnknown_80F93E8
-_080466A4:
- ldr r0, _080466A8
- b _080466B6
- .align 2, 0
-_080466A8: .4byte gUnknown_80F9408
-_080466AC:
- ldr r0, _080466B0
- b _080466B6
- .align 2, 0
-_080466B0: .4byte gUnknown_80F9424
-_080466B4:
- ldr r0, _080466C4
-_080466B6:
- ldr r2, [r0]
- mov r0, r10
- mov r1, sp
- bl sub_8052364
- b _0804671E
- .align 2, 0
-_080466C4: .4byte gUnknown_80F949C
-_080466C8:
- mov r3, r8
- lsls r1, r3, 16
- asrs r1, 16
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- str r0, [sp, 0x4]
- asrs r1, r3, 16
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2
- add r2, sp, 0x4
- str r0, [r2, 0x4]
- ldr r3, [sp, 0x30]
- cmp r3, 0
- beq _0804670C
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r0, 8
- ldr r1, [sp, 0x4]
- adds r0, r1
- str r0, [sp, 0x4]
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- lsls r0, 8
- ldr r1, [r2, 0x4]
- adds r0, r1
- str r0, [r2, 0x4]
-_0804670C:
- adds r0, r2, 0
- bl sub_804219C
- ldr r0, _08046730
- ldr r2, [r0]
- mov r0, r10
- mov r1, sp
- bl sub_8052364
-_0804671E:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08046730: .4byte gUnknown_80F943C
- thumb_func_end sub_804652C
-
- thumb_func_start sub_8046734
-sub_8046734:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r8, r0
- ldr r0, _08046858
- ldr r0, [r0]
- ldr r2, _0804685C
- adds r0, r2
- ldrb r0, [r0]
- str r0, [sp, 0xC]
- movs r0, 0
- ldrsh r2, [r1, r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r0, 0x4
- lsls r4, r0, 8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- lsls r5, r0, 8
- mov r1, r8
- ldr r0, [r1, 0xC]
- subs r0, r4
- cmp r0, 0
- bge _08046776
- negs r0, r0
-_08046776:
- mov r2, r8
- ldr r2, [r2, 0x10]
- mov r9, r2
- cmp r0, 0xB
- bgt _0804678C
- subs r0, r2, r5
- cmp r0, 0
- bge _08046788
- negs r0, r0
-_08046788:
- cmp r0, 0xB
- ble _08046822
-_0804678C:
- movs r0, 0
- mov r10, r0
- movs r1, 0
- str r1, [sp, 0x10]
- mov r2, r8
- ldr r0, [r2, 0xC]
- str r0, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- subs r0, r4, r0
- movs r1, 0x18
- bl __divsi3
- adds r6, r0, 0
- mov r2, r9
- subs r0, r5, r2
- movs r1, 0x18
- bl __divsi3
- adds r7, r0, 0
- movs r0, 0
- mov r9, r0
- mov r1, sp
- adds r1, 0x4
- str r1, [sp, 0x14]
-_080467BE:
- ldr r0, [sp, 0x4]
- adds r0, r6
- str r0, [sp, 0x4]
- ldr r2, [sp, 0x14]
- ldr r0, [r2, 0x4]
- adds r0, r7
- str r0, [r2, 0x4]
- ldr r0, [sp, 0x10]
- bl sub_8009C7C
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- mov r0, r8
- str r1, [r0, 0x1C]
- add r1, sp, 0x4
- bl sub_804535C
- mov r1, r10
- lsls r3, r1, 24
- lsrs r3, 24
- movs r0, 0
- str r0, [sp]
- mov r0, r8
- ldr r1, [sp, 0xC]
- movs r2, 0
- bl sub_80462AC
- movs r0, 0x13
- bl sub_803E46C
- ldr r2, [sp, 0x10]
- adds r2, 0x55
- str r2, [sp, 0x10]
- movs r0, 0x3
- mov r1, r9
- ands r0, r1
- cmp r0, 0
- bne _08046810
- movs r2, 0x1
- add r10, r2
-_08046810:
- movs r0, 0x7
- mov r1, r10
- ands r1, r0
- mov r10, r1
- movs r2, 0x1
- add r9, r2
- mov r0, r9
- cmp r0, 0x17
- ble _080467BE
-_08046822:
- mov r0, r8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8045394
- movs r0, 0
- mov r1, r8
- str r0, [r1, 0x1C]
- str r0, [sp]
- mov r0, r8
- ldr r1, [sp, 0xC]
- movs r2, 0x1
- movs r3, 0xFF
- bl sub_80462AC
- movs r0, 0x13
- bl sub_803E46C
- 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
-_08046858: .4byte gDungeonGlobalData
-_0804685C: .4byte 0x00018210
- thumb_func_end sub_8046734
-
- thumb_func_start sub_8046860
-sub_8046860:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r1, 0
- adds r5, r2, 0
- str r3, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_804687C
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8046860
-
- thumb_func_start sub_804687C
-sub_804687C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08046970
- add sp, r4
- ldr r5, _08046974
- add r5, sp
- str r0, [r5]
- movs r0, 0xA5
- lsls r0, 3
- add r0, sp
- str r1, [r0]
- mov r8, r2
- ldr r1, _08046978
- add r1, sp
- str r3, [r1]
- movs r1, 0
- movs r7, 0x1D
- ldr r0, _0804697C
- add r0, sp
-_080468A8:
- strb r1, [r0]
- subs r0, 0x1
- subs r7, 0x1
- cmp r7, 0
- bge _080468A8
- movs r7, 0
- movs r2, 0xAD
- lsls r2, 3
- add r2, sp
- ldr r2, [r2]
- cmp r7, r2
- blt _080468C2
- b _080469DE
-_080468C2:
- ldr r3, _08046980
- mov r9, r3
- ldr r5, _08046984
- movs r0, 0
- ldrsh r5, [r5, r0]
- ldr r0, _08046988
- add r0, sp
- str r5, [r0]
-_080468D2:
- mov r1, r8
- ldrh r0, [r1]
- ldr r1, _0804698C
- ands r4, r1
- orrs r4, r0
- mov r2, r8
- ldrh r0, [r2, 0x2]
- lsls r0, 16
- mov r3, r9
- ands r4, r3
- orrs r4, r0
- movs r5, 0
- adds r0, r7, 0x1
- mov r10, r0
- ldr r1, _08046984
- ldr r2, _08046988
- add r2, sp
- ldr r2, [r2]
- cmp r2, 0x63
- beq _080469B0
- ldr r3, _08046990
- add r3, sp
- ldr r0, _08046994
- add r0, sp
- str r3, [r0]
-_08046904:
- ldr r0, _08046998
- add r0, sp
- adds r6, r0, r5
- ldrb r0, [r6]
- cmp r0, 0
- bne _0804699C
- lsls r2, r5, 2
- adds r2, r1
- ldrh r0, [r2]
- mov r1, r8
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0804698C
- ands r4, r1
- orrs r4, r0
- ldrh r0, [r2, 0x2]
- mov r2, r8
- ldrh r2, [r2, 0x2]
- adds r0, r2
- lsls r0, 16
- mov r3, r9
- ands r4, r3
- orrs r4, r0
- lsls r0, r4, 16
- asrs r0, 16
- asrs r1, r4, 16
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0804699C
- movs r3, 0x80
- lsls r3, 2
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0804699C
- ldr r0, [r2, 0x14]
- cmp r0, 0
- bne _0804699C
- lsls r0, r7, 2
- ldr r5, _08046994
- add r5, sp
- ldr r5, [r5]
- adds r0, r5, r0
- str r4, [r0]
- movs r0, 0x1
- strb r0, [r6]
- b _080469CE
- .align 2, 0
-_08046970: .4byte 0xfffffab8
-_08046974: .4byte 0x00000524
-_08046978: .4byte 0x0000052c
-_0804697C: .4byte 0x00000521
-_08046980: .4byte 0x0000ffff
-_08046984: .4byte gUnknown_80F4468
-_08046988: .4byte 0x00000534
-_0804698C: .4byte 0xffff0000
-_08046990: .4byte 0x0000048c
-_08046994: .4byte 0x00000544
-_08046998: .4byte 0x00000504
-_0804699C:
- adds r5, 0x1
- cmp r5, 0x1D
- bgt _080469B0
- lsls r0, r5, 2
- ldr r1, _08046A18
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x63
- bne _08046904
-_080469B0:
- movs r3, 0
- cmp r3, 0
- bne _080469CE
- ldr r1, _08046A1C
- add r1, sp
- lsls r0, r7, 2
- adds r1, r0
- ldrh r2, [r1]
- mov r0, r9
- orrs r0, r2
- strh r0, [r1]
- ldrh r2, [r1, 0x2]
- mov r0, r9
- orrs r0, r2
- strh r0, [r1, 0x2]
-_080469CE:
- mov r7, r10
- movs r5, 0xAD
- lsls r5, 3
- add r5, sp
- ldr r5, [r5]
- cmp r7, r5
- bge _080469DE
- b _080468D2
-_080469DE:
- movs r1, 0
- mov r9, r1
- movs r7, 0
- movs r0, 0xAD
- lsls r0, 3
- add r0, sp
- ldr r0, [r0]
- cmp r7, r0
- blt _080469F2
- b _08046B0A
-_080469F2:
- movs r2, 0
- mov r8, r2
-_080469F6:
- ldr r0, _08046A1C
- add r0, sp
- lsls r2, r7, 2
- adds r3, r0, r2
- movs r4, 0
- ldrsh r0, [r3, r4]
- cmp r0, 0
- bge _08046A20
- movs r0, 0x74
- muls r0, r7
- add r0, sp
- adds r0, 0x4
- mov r5, r8
- str r5, [r0]
- movs r0, 0x1
- mov r9, r0
- b _08046AFA
- .align 2, 0
-_08046A18: .4byte gUnknown_80F4468
-_08046A1C: .4byte 0x0000048c
-_08046A20:
- movs r0, 0x74
- adds r6, r7, 0
- muls r6, r0
- mov r4, sp
- adds r4, r6
- adds r4, 0x4
- movs r0, 0x3
- str r0, [r4]
- adds r0, r4, 0
- adds r0, 0x24
- mov r1, r8
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x20
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x22
- mov r5, r8
- strb r5, [r0]
- add r0, sp, 0x74
- adds r0, r6
- ldr r1, _08046B2C
- add r1, sp
- ldr r1, [r1]
- adds r2, r1, r2
- str r2, [r0]
- add r0, sp, 0x8
- adds r0, r6
- ldr r1, [r3]
- str r1, [r0]
- movs r2, 0xA5
- lsls r2, 3
- add r2, sp
- ldr r2, [r2]
- movs r5, 0
- ldrsh r0, [r2, r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 8
- movs r5, 0x2
- ldrsh r0, [r2, r5]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r2, 0x4
- lsls r2, 8
- adds r0, r4, 0
- movs r5, 0xA8
- lsls r5, 3
- add r5, sp
- str r3, [r5]
- bl sub_8045394
- mov r0, r8
- strh r0, [r4, 0x26]
- ldr r4, _08046B30
- add r4, sp
- lsls r5, r7, 3
- adds r4, r5
- movs r1, 0xA8
- lsls r1, 3
- add r1, sp
- ldr r3, [r1]
- movs r2, 0
- ldrsh r1, [r3, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- lsls r0, 8
- add r1, sp, 0x10
- adds r1, r6
- ldr r1, [r1]
- subs r0, r1
- movs r1, 0x18
- movs r2, 0xA8
- lsls r2, 3
- add r2, sp
- str r3, [r2]
- bl __divsi3
- str r0, [r4]
- movs r4, 0x97
- lsls r4, 3
- add r4, sp
- adds r4, r5
- movs r5, 0xA8
- lsls r5, 3
- add r5, sp
- ldr r3, [r5]
- movs r0, 0x2
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- lsls r0, 8
- add r1, sp, 0x14
- adds r1, r6
- ldr r1, [r1]
- subs r0, r1
- movs r1, 0x18
- bl __divsi3
- str r0, [r4]
- movs r1, 0x1
-_08046AFA:
- adds r7, 0x1
- movs r2, 0xAD
- lsls r2, 3
- add r2, sp
- ldr r2, [r2]
- cmp r7, r2
- bge _08046B0A
- b _080469F6
-_08046B0A:
- cmp r1, 0
- bne _08046B54
- movs r3, 0xAD
- lsls r3, 3
- add r3, sp
- ldr r3, [r3]
- cmp r3, 0x1
- ble _08046B3C
- ldr r0, _08046B34
- ldr r1, [r0]
- ldr r4, _08046B38
- add r4, sp
- ldr r0, [r4]
- bl sub_80522A8
- b _08046C7C
- .align 2, 0
-_08046B2C: .4byte 0x0000052c
-_08046B30: .4byte 0x000004b4
-_08046B34: .4byte gUnknown_80F945C
-_08046B38: .4byte 0x00000524
-_08046B3C:
- ldr r0, _08046B4C
- ldr r1, [r0]
- ldr r5, _08046B50
- add r5, sp
- ldr r0, [r5]
- bl sub_80522A8
- b _08046C7C
- .align 2, 0
-_08046B4C: .4byte gUnknown_80F943C
-_08046B50: .4byte 0x00000524
-_08046B54:
- mov r0, r9
- cmp r0, 0
- beq _08046B68
- ldr r0, _08046C90
- ldr r1, [r0]
- ldr r2, _08046C94
- add r2, sp
- ldr r0, [r2]
- bl sub_80522A8
-_08046B68:
- movs r3, 0
- mov r9, r3
- ldr r0, _08046C98
- ldr r0, [r0]
- ldr r4, _08046C9C
- adds r0, r4
- ldrb r0, [r0]
- movs r5, 0xA6
- lsls r5, 3
- add r5, sp
- str r0, [r5]
- mov r10, r3
- movs r6, 0
-_08046B82:
- movs r7, 0
- mov r0, r10
- adds r0, 0x55
- movs r1, 0xA7
- lsls r1, 3
- add r1, sp
- str r0, [r1]
- adds r2, r6, 0x1
- ldr r3, _08046CA0
- add r3, sp
- str r2, [r3]
- movs r4, 0xAD
- lsls r4, 3
- add r4, sp
- ldr r4, [r4]
- cmp r7, r4
- bge _08046C14
- mov r5, r9
- lsls r5, 24
- mov r8, r5
-_08046BAA:
- movs r0, 0x74
- adds r5, r7, 0
- muls r5, r0
- mov r4, sp
- adds r4, r5
- adds r4, 0x4
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08046C06
- ldr r0, _08046CA4
- add r0, sp
- lsls r2, r7, 3
- adds r0, r2
- ldr r1, [r0]
- movs r0, 0x97
- lsls r0, 3
- add r0, sp
- adds r0, r2
- ldr r2, [r0]
- adds r0, r4, 0
- bl sub_804539C
- mov r0, r10
- bl sub_8009C7C
- add r2, sp, 0x20
- adds r2, r5
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- str r1, [r2]
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0xA6
- lsls r2, 3
- add r2, sp
- ldr r1, [r2]
- movs r2, 0x1
- mov r4, r8
- lsrs r3, r4, 24
- bl sub_80462AC
-_08046C06:
- adds r7, 0x1
- movs r5, 0xAD
- lsls r5, 3
- add r5, sp
- ldr r5, [r5]
- cmp r7, r5
- blt _08046BAA
-_08046C14:
- movs r0, 0x13
- bl sub_803E46C
- movs r0, 0xA7
- lsls r0, 3
- add r0, sp
- ldr r0, [r0]
- mov r10, r0
- movs r0, 0x3
- ands r0, r6
- cmp r0, 0
- bne _08046C30
- movs r1, 0x1
- add r9, r1
-_08046C30:
- movs r0, 0x7
- mov r2, r9
- ands r2, r0
- mov r9, r2
- ldr r3, _08046CA0
- add r3, sp
- ldr r6, [r3]
- cmp r6, 0x17
- ble _08046B82
- movs r4, 0xAD
- lsls r4, 3
- add r4, sp
- ldr r4, [r4]
- cmp r4, 0
- ble _08046C7C
- ldr r0, _08046CA8
- add r0, sp
- ldr r5, [r0]
- ldr r4, _08046CAC
- add r4, sp
- movs r1, 0xAD
- lsls r1, 3
- add r1, sp
- ldr r7, [r1]
-_08046C60:
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- blt _08046C72
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80460F8
-_08046C72:
- adds r5, 0x4
- adds r4, 0x4
- subs r7, 0x1
- cmp r7, 0
- bne _08046C60
-_08046C7C:
- movs r3, 0xA9
- lsls r3, 3
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08046C90: .4byte gUnknown_80F947C
-_08046C94: .4byte 0x00000524
-_08046C98: .4byte gDungeonGlobalData
-_08046C9C: .4byte 0x00018210
-_08046CA0: .4byte 0x0000053c
-_08046CA4: .4byte 0x000004b4
-_08046CA8: .4byte 0x0000052c
-_08046CAC: .4byte 0x0000048c
- thumb_func_end sub_804687C
-
- thumb_func_start sub_8046CB0
-sub_8046CB0:
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r0, [r0, 0x70]
- adds r3, r0, 0
- adds r0, 0x60
- ldrb r2, [r0]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08046CDC
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- bne _08046CDC
- adds r0, r3, 0
- adds r0, 0x62
- ldrb r0, [r0]
- cmp r0, r1
- bne _08046CDC
- movs r0, 0x1
- b _08046CDE
-_08046CDC:
- movs r0, 0
-_08046CDE:
- pop {r1}
- bx r1
- thumb_func_end sub_8046CB0
-
- thumb_func_start sub_8046CE4
-sub_8046CE4:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x64
- bl sub_8084100
- adds r1, r0, 0
- movs r2, 0
- ldr r3, _08046D04
-_08046CF6:
- lsls r0, r1, 2
- adds r0, r3
- ldr r0, [r0]
- cmp r0, r5
- bgt _08046D08
- strb r1, [r4, 0x1]
- b _08046D18
- .align 2, 0
-_08046D04: .4byte gUnknown_810A3F0
-_08046D08:
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r1, r0, 1
- adds r2, 0x1
- cmp r2, 0xC7
- ble _08046CF6
- movs r0, 0x1
- strb r0, [r4, 0x1]
-_08046D18:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8046CE4
-
- thumb_func_start sub_8046D20
-sub_8046D20:
- push {r4,r5,lr}
- ldr r4, _08046D5C
- ldr r0, [r4]
- ldrb r5, [r0, 0x8]
- bl sub_8046D70
- ldr r1, [r4]
- strb r0, [r1, 0x8]
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- bne _08046D64
- cmp r5, 0
- bne _08046D64
- ldr r0, _08046D60
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- adds r1, r0, 0
- cmp r1, 0x1
- bne _08046D64
- ldr r0, [r4]
- strb r1, [r0, 0x4]
- ldr r1, [r4]
- movs r0, 0x2
- strb r0, [r1, 0x11]
- b _08046D68
- .align 2, 0
-_08046D5C: .4byte gDungeonGlobalData
-_08046D60: .4byte gUnknown_80FA408
-_08046D64:
- bl sub_8046D8C
-_08046D68:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8046D20
-
- thumb_func_start sub_8046D70
-sub_8046D70:
- push {lr}
- ldr r0, _08046D84
- ldr r0, [r0]
- ldr r1, _08046D88
- adds r0, r1
- ldrb r0, [r0]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08046D84: .4byte gDungeonGlobalData
-_08046D88: .4byte 0x0000068a
- thumb_func_end sub_8046D70
-
- thumb_func_start sub_8046D8C
-sub_8046D8C:
- push {r4-r7,lr}
- sub sp, 0xC
- movs r6, 0
- ldr r5, _08046EDC
- movs r4, 0
-_08046D96:
- movs r7, 0
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r3, 0
- ldr r2, [r5]
-_08046DA6:
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08046DC8
- ldrb r0, [r2, 0x2]
- cmp r0, 0x79
- bne _08046DB8
- str r3, [sp]
-_08046DB8:
- ldrb r0, [r2, 0x2]
- cmp r0, 0x77
- bne _08046DC0
- str r3, [sp, 0x4]
-_08046DC0:
- ldrb r0, [r2, 0x2]
- cmp r0, 0x78
- bne _08046DC8
- str r3, [sp, 0x8]
-_08046DC8:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x13
- ble _08046DA6
- ldr r1, [sp]
- cmp r1, 0
- blt _08046E1E
- ldr r0, [sp, 0x4]
- cmp r0, 0
- blt _08046E1E
- ldr r0, [sp, 0x8]
- cmp r0, 0
- blt _08046E1E
- movs r7, 0x1
- movs r6, 0x1
- lsls r1, 2
- ldr r0, [r5]
- adds r1, r0
- strb r4, [r1, 0x2]
- strb r4, [r1, 0x1]
- strb r4, [r1]
- ldr r0, [sp, 0x4]
- lsls r0, 2
- ldr r1, [r5]
- adds r0, r1
- strb r4, [r0, 0x2]
- strb r4, [r0, 0x1]
- strb r4, [r0]
- ldr r0, [sp, 0x8]
- lsls r0, 2
- ldr r1, [r5]
- adds r0, r1
- strb r4, [r0, 0x2]
- strb r4, [r0, 0x1]
- strb r4, [r0]
- ldr r1, [sp]
- lsls r1, 2
- ldr r0, [r5]
- adds r0, r1
- movs r1, 0x7A
- movs r2, 0
- bl xxx_init_itemslot_8090A8C
-_08046E1E:
- cmp r7, 0
- bne _08046D96
- bl FillInventoryGaps
- cmp r6, 0
- beq _08046ED4
- bl sub_8083600
- adds r4, r0, 0
- ldr r0, _08046EE0
- bl sub_80855E4
- ldr r6, _08046EE4
- ldr r0, [r6]
- ldr r5, _08046EE8
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _08046EEC
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- movs r0, 0x3C
- movs r1, 0x41
- bl sub_803E708
- ldr r0, _08046EF0
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0xA
- movs r3, 0
- bl sub_80869E4
- adds r0, r4, 0
- adds r0, 0xC
- movs r1, 0x86
- lsls r1, 1
- movs r2, 0
- bl sub_80416E0
- adds r0, r4, 0
- movs r1, 0xD7
- bl sub_80421C0
- movs r0, 0x3C
- movs r1, 0x41
- bl sub_803E708
- ldr r0, _08046EF4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08046EF8
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- movs r0, 0xA
- movs r1, 0x41
- bl sub_803E708
- movs r0, 0xD4
- bl PlaySoundEffect
- ldr r0, _08046EFC
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- movs r0, 0xA
- movs r1, 0x41
- bl sub_803E708
- movs r0, 0x1
- bl sub_804178C
- ldr r0, [r6]
- adds r0, r5
- strb r7, [r0]
- bl sub_8040A84
-_08046ED4:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08046EDC: .4byte gTeamInventory_203B460
-_08046EE0: .4byte sub_80861A8
-_08046EE4: .4byte gDungeonGlobalData
-_08046EE8: .4byte 0x0001356c
-_08046EEC: .4byte gUnknown_810531C
-_08046EF0: .4byte gUnknown_8105360
-_08046EF4: .4byte gAvailablePokemonNames
-_08046EF8: .4byte gUnknown_81053A8
-_08046EFC: .4byte gUnknown_8105434
- thumb_func_end sub_8046D8C
-
- thumb_func_start sub_8046F00
-sub_8046F00:
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08046F7C
- ldrb r0, [r4, 0x2]
- bl GetItemMove
- lsls r0, 16
- lsrs r7, r0, 16
- ldrb r0, [r4, 0x2]
- bl IsHMItem
- lsls r0, 24
- cmp r0, 0
- bne _08046F6E
- movs r6, 0
-_08046F2A:
- ldr r0, _08046F74
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _08046F78
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08046F68
- ldr r0, [r4, 0x70]
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- adds r0, r7, 0
- bl sub_808E190
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- beq _08046F64
- movs r5, 0
-_08046F64:
- cmp r5, 0
- bne _08046F7C
-_08046F68:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08046F2A
-_08046F6E:
- movs r0, 0
- b _08046F7E
- .align 2, 0
-_08046F74: .4byte gDungeonGlobalData
-_08046F78: .4byte 0x0001357c
-_08046F7C:
- movs r0, 0x1
-_08046F7E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8046F00
-
- thumb_func_start sub_8046F84
-sub_8046F84:
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r5, 0
- ldr r4, _08047000
- movs r6, 0x1
- movs r3, 0
-_08046F90:
- lsls r1, r5, 2
- ldr r0, [r4]
- adds r2, r0, r1
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08046FAE
- ldrb r0, [r2]
- ands r0, r7
- cmp r0, 0
- beq _08046FAE
- strb r3, [r2, 0x2]
- strb r3, [r2, 0x1]
- strb r3, [r2]
-_08046FAE:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08046F90
- bl FillInventoryGaps
- movs r5, 0
- movs r6, 0
-_08046FBC:
- ldr r0, _08047004
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08047008
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08046FF4
- ldr r0, [r4, 0x70]
- adds r2, r0, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08046FF4
- ldrb r0, [r2]
- ands r0, r7
- cmp r0, 0
- beq _08046FF4
- strb r6, [r2, 0x2]
- strb r6, [r2, 0x1]
- strb r6, [r2]
-_08046FF4:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08046FBC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08047000: .4byte gTeamInventory_203B460
-_08047004: .4byte gDungeonGlobalData
-_08047008: .4byte 0x0001357c
- thumb_func_end sub_8046F84
-
- thumb_func_start sub_804700C
-sub_804700C:
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _08047078
-_08047012:
- lsls r1, r5, 2
- ldr r0, [r4]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804702C
- adds r0, r2, 0
- movs r1, 0x46
- movs r2, 0
- bl xxx_init_itemslot_8090A8C
-_0804702C:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08047012
- bl FillInventoryGaps
- movs r5, 0
-_08047038:
- ldr r0, _0804707C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08047080
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0804706C
- ldr r0, [r4, 0x70]
- adds r2, r0, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804706C
- adds r0, r2, 0
- movs r1, 0x46
- movs r2, 0
- bl xxx_init_itemslot_8090A8C
-_0804706C:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08047038
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08047078: .4byte gTeamInventory_203B460
-_0804707C: .4byte gDungeonGlobalData
-_08047080: .4byte 0x0001357c
- thumb_func_end sub_804700C
-
- thumb_func_start sub_8047084
-sub_8047084:
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- ldr r0, _080470E8
- ldr r2, [r0]
- movs r3, 0x1
-_08047090:
- ldrb r1, [r2]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080470A2
- ldrb r0, [r2]
- ands r0, r6
- cmp r0, 0
- bne _080470E2
-_080470A2:
- adds r2, 0x4
- adds r5, 0x1
- cmp r5, 0x13
- ble _08047090
- bl FillInventoryGaps
- movs r5, 0
-_080470B0:
- ldr r0, _080470EC
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080470F0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080470F4
- ldr r0, [r4, 0x70]
- adds r2, r0, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080470F4
- ldrb r0, [r2]
- ands r0, r6
- cmp r0, 0
- beq _080470F4
-_080470E2:
- movs r0, 0x1
- b _080470FC
- .align 2, 0
-_080470E8: .4byte gTeamInventory_203B460
-_080470EC: .4byte gDungeonGlobalData
-_080470F0: .4byte 0x0001357c
-_080470F4:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080470B0
- movs r0, 0
-_080470FC:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8047084
-
- thumb_func_start sub_8047104
-sub_8047104:
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
-_0804710A:
- ldr r0, _08047154
- lsls r1, r6, 2
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08047142
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08047132
- adds r0, r4, 0
- bl GetMoneyValue
- bl AddToTeamMoney
- strb r5, [r4, 0x2]
- strb r5, [r4, 0x1]
- strb r5, [r4]
-_08047132:
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08047142
- strb r5, [r4, 0x2]
- strb r5, [r4, 0x1]
- strb r5, [r4]
-_08047142:
- adds r6, 0x1
- cmp r6, 0x13
- ble _0804710A
- bl FillInventoryGaps
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08047154: .4byte gTeamInventory_203B460
- thumb_func_end sub_8047104
-
- thumb_func_start sub_8047158
-sub_8047158:
- push {r4-r6,lr}
- movs r3, 0
- ldr r5, _0804718C
- movs r6, 0x1
- movs r4, 0x4
-_08047162:
- lsls r1, r3, 2
- ldr r0, [r5]
- adds r2, r0, r1
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08047180
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08047180
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r2]
-_08047180:
- adds r3, 0x1
- cmp r3, 0x13
- ble _08047162
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804718C: .4byte gTeamInventory_203B460
- thumb_func_end sub_8047158
-
- thumb_func_start sub_8047190
-sub_8047190:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _080472E8
- add sp, r4
- mov r9, r0
- str r1, [sp, 0x214]
- ldr r6, _080472EC
- ldr r1, [r6]
- ldr r4, _080472F0
- adds r0, r1, r4
- ldrb r0, [r0]
- str r0, [sp, 0x220]
- mov r8, r3
- adds r7, r1, 0
- adds r7, 0xC0
- movs r0, 0x3
- str r0, [r7]
- adds r0, r1, 0
- adds r0, 0xE4
- movs r4, 0
- strb r4, [r0]
- subs r0, 0x4
- movs r5, 0x1
- strb r5, [r0]
- adds r0, 0x2
- strb r4, [r0]
- ldr r0, [sp, 0x214]
- str r0, [r7, 0x70]
- str r4, [r7, 0x1C]
- ldr r0, [r2]
- str r0, [r7, 0x4]
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 8
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 11
- adds r0, r7, 0
- bl sub_8045394
- strh r4, [r7, 0x26]
- str r4, [sp, 0x224]
- mov r0, r9
- bl sub_80450F8
- cmp r0, 0x1
- bne _08047214
- mov r0, r9
- movs r1, 0x2A
- bl sub_8046CB0
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x224]
-_08047214:
- ldr r0, [sp, 0x260]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- str r0, [sp, 0x218]
- movs r2, 0
- str r2, [sp, 0x21C]
- ldr r0, [r6]
- ldr r3, _080472F4
- adds r0, r3
- strb r5, [r0]
-_08047228:
- ldr r4, [r7, 0x4]
- mov r10, r4
- ldr r1, [sp, 0x260]
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _080472AE
- ldrb r0, [r1]
- cmp r0, 0
- bne _080472AE
- movs r2, 0x4
- ldrsh r0, [r7, r2]
- ldr r2, _080472F8
- mov r3, r8
- lsls r4, r3, 2
- adds r2, r4, r2
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r7, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- adds r5, r0, 0
- ldrh r1, [r5]
- movs r0, 0x3
- ands r0, r1
- str r4, [sp, 0x230]
- cmp r0, 0
- bne _080472AE
- movs r6, 0
- ldr r1, _080472FC
- mov r4, r10
- lsls r0, r4, 16
- asrs r0, 16
- str r0, [sp, 0x23C]
- ldr r0, [sp, 0x230]
- adds r5, r0, r1
- asrs r2, r4, 16
-_0804727A:
- ldrb r4, [r5]
- cmp r4, 0x7
- bgt _080472A6
- ldr r0, _080472F8
- lsls r1, r4, 2
- adds r1, r0
- movs r3, 0
- ldrsh r0, [r1, r3]
- ldr r3, [sp, 0x23C]
- adds r0, r3
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- adds r1, r2
- str r2, [sp, 0x234]
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- ldr r2, [sp, 0x234]
- cmp r0, 0
- bne _08047300
-_080472A6:
- adds r5, 0x1
- adds r6, 0x1
- cmp r6, 0x3
- ble _0804727A
-_080472AE:
- ldr r0, _080472F8
- mov r4, r8
- lsls r2, r4, 2
- adds r3, r2, r0
- ldrh r1, [r3]
- ldrh r0, [r7, 0x4]
- adds r1, r0
- strh r1, [r7, 0x4]
- ldrh r0, [r3, 0x2]
- ldrh r4, [r7, 0x6]
- adds r0, r4
- strh r0, [r7, 0x6]
- lsls r1, 16
- asrs r1, 16
- str r2, [sp, 0x230]
- cmp r1, 0
- blt _080472E0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _080472E0
- cmp r1, 0x37
- bgt _080472E0
- cmp r0, 0x1F
- ble _08047304
-_080472E0:
- movs r0, 0x2
- mov r10, r0
- b _0804744C
- .align 2, 0
-_080472E8: .4byte 0xfffffdc0
-_080472EC: .4byte gDungeonGlobalData
-_080472F0: .4byte 0x00018210
-_080472F4: .4byte 0x0001c05e
-_080472F8: .4byte gUnknown_80F4448
-_080472FC: .4byte gUnknown_80F4D64
-_08047300:
- mov r8, r4
- b _080472AE
-_08047304:
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r0, 10
- str r0, [sp, 0x228]
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- lsls r0, 10
- str r0, [sp, 0x22C]
- mov r3, r8
- lsls r6, r3, 24
- movs r5, 0x5
-_0804731A:
- movs r4, 0
- adds r0, r7, 0
- ldr r1, [sp, 0x228]
- ldr r2, [sp, 0x22C]
- bl sub_804539C
- bl sub_804AF74
- lsls r0, 24
- movs r2, 0
- cmp r0, 0
- beq _08047334
- movs r2, 0x3
-_08047334:
- ldr r0, [r7, 0xC]
- cmp r0, 0
- bge _0804733C
- adds r0, 0xFF
-_0804733C:
- asrs r0, 8
- adds r0, 0x8
- ldr r1, [r7, 0x10]
- cmp r1, 0
- bge _08047348
- adds r1, 0xFF
-_08047348:
- asrs r1, 8
- adds r1, 0x10
- bl sub_8083568
- lsls r0, 24
- cmp r0, 0
- beq _08047358
- movs r4, 0x1
-_08047358:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r7, 0
- ldr r1, [sp, 0x220]
- movs r2, 0
- lsrs r3, r6, 24
- bl sub_80462AC
- lsls r0, 24
- cmp r0, 0
- beq _08047370
- movs r4, 0x1
-_08047370:
- cmp r4, 0
- beq _0804737A
- movs r0, 0x12
- bl sub_803E46C
-_0804737A:
- subs r5, 0x1
- cmp r5, 0
- bge _0804731A
- movs r4, 0x4
- ldrsh r0, [r7, r4]
- movs r2, 0x6
- ldrsh r1, [r7, r2]
- bl sub_804954C
- adds r5, r0, 0
- ldrh r1, [r5]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080473A2
- ldr r3, [sp, 0x260]
- ldrb r0, [r3]
- cmp r0, 0
- bne _080473A2
- b _0804757A
-_080473A2:
- ldr r1, [r5, 0x10]
- cmp r1, 0
- beq _08047436
- movs r4, 0
- ldr r2, [sp, 0x260]
- ldrb r0, [r2]
- cmp r0, 0
- bne _080473CE
- adds r0, r1, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _080473CE
- ldr r0, [r5, 0x10]
- movs r1, 0x26
- bl sub_8046CB0
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
-_080473CE:
- cmp r4, 0
- beq _080473E0
- movs r3, 0x4
- add r8, r3
- movs r0, 0x7
- mov r4, r8
- ands r4, r0
- mov r8, r4
- b _08047436
-_080473E0:
- movs r6, 0x1
- ldr r0, [r5, 0x10]
- bl sub_80450F8
- cmp r0, 0x1
- bne _08047406
- add r4, sp, 0x208
- adds r0, r4, 0
- ldr r1, _080474B8
- bl sub_8092A88
- ldr r0, [r5, 0x10]
- adds r1, r4, 0
- bl sub_80571F0
- lsls r0, 24
- cmp r0, 0
- beq _08047406
- movs r6, 0
-_08047406:
- cmp r6, 0
- beq _08047436
- ldr r0, [sp, 0x21C]
- cmp r0, 0x3F
- bgt _0804742C
- lsls r0, 3
- mov r4, sp
- adds r4, r0
- adds r4, 0x8
- ldr r0, [r5, 0x10]
- str r0, [r4]
- ldr r1, [r5, 0x10]
- mov r0, r9
- bl sub_8047930
- strb r0, [r4, 0x4]
- ldr r1, [sp, 0x21C]
- adds r1, 0x1
- str r1, [sp, 0x21C]
-_0804742C:
- ldr r2, [sp, 0x260]
- ldrb r0, [r2]
- cmp r0, 0
- bne _08047436
- b _08047574
-_08047436:
- ldr r3, [sp, 0x218]
- subs r3, 0x1
- str r3, [sp, 0x218]
- cmp r3, 0
- ble _08047442
- b _08047228
-_08047442:
- movs r4, 0x1
- mov r10, r4
- mov r0, r8
- lsls r0, 2
- str r0, [sp, 0x230]
-_0804744C:
- ldr r0, _080474BC
- ldr r0, [r0]
- ldr r1, _080474C0
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, [sp, 0x21C]
- cmp r2, 0
- ble _0804752C
- add r5, sp, 0x8
- adds r6, r2, 0
-_08047462:
- ldr r4, [r5]
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- beq _080474D0
- ldr r0, _080474C4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _080474C8
- ldr r1, [sp, 0x214]
- bl sub_8045C08
- ldr r0, _080474CC
- ldr r2, [r0]
- mov r0, r9
- adds r1, r4, 0
- bl sub_80522F4
- mov r0, r9
- adds r1, r4, 0
- bl sub_807A96C
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, [sp, 0x224]
- cmp r3, 0
- bne _080474A4
- ldr r3, [sp, 0x260]
- ldrb r0, [r3]
- cmp r0, 0
- beq _080474A6
-_080474A4:
- movs r1, 0x1
-_080474A6:
- str r4, [sp]
- ldr r4, [sp, 0x214]
- str r4, [sp, 0x4]
- movs r0, 0x1
- mov r3, r9
- bl sub_80479B8
- b _08047524
- .align 2, 0
-_080474B8: .4byte 0x00000195
-_080474BC: .4byte gDungeonGlobalData
-_080474C0: .4byte 0x0001c05e
-_080474C4: .4byte gAvailablePokemonNames
-_080474C8: .4byte gUnknown_202DE58
-_080474CC: .4byte gUnknown_80F94C4
-_080474D0:
- ldr r1, [sp, 0x260]
- ldrb r0, [r1]
- cmp r0, 0
- bne _080474E2
- ldr r2, [sp, 0x21C]
- cmp r2, 0x1
- bne _080474E2
- movs r3, 0x1
- mov r10, r3
-_080474E2:
- ldr r0, _0804750C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08047510
- ldr r1, [sp, 0x214]
- bl sub_8045BF8
- ldr r1, [sp, 0x260]
- ldrb r0, [r1]
- cmp r0, 0
- beq _08047518
- ldr r0, _08047514
- ldr r2, [r0]
- mov r0, r9
- adds r1, r4, 0
- bl sub_80522F4
- b _08047524
- .align 2, 0
-_0804750C: .4byte gAvailablePokemonNames
-_08047510: .4byte gUnknown_202DE58
-_08047514: .4byte gUnknown_80F94D8
-_08047518:
- ldr r0, _08047564
- ldr r2, [r0]
- mov r0, r9
- adds r1, r4, 0
- bl sub_80522F4
-_08047524:
- adds r5, 0x8
- subs r6, 0x1
- cmp r6, 0
- bne _08047462
-_0804752C:
- ldr r2, _08047568
- ldr r3, [sp, 0x230]
- adds r2, r3, r2
- movs r4, 0
- ldrsh r1, [r2, r4]
- lsls r1, 19
- lsrs r1, 16
- ldr r4, _0804756C
- add r3, sp, 0x210
- ldr r0, [r3]
- ands r0, r4
- orrs r0, r1
- str r0, [r3]
- movs r4, 0x2
- ldrsh r1, [r2, r4]
- lsls r1, 19
- ldr r2, _08047570
- ands r0, r2
- orrs r0, r1
- str r0, [r3]
- mov r0, r10
- cmp r0, 0x1
- beq _08047584
- cmp r0, 0x1
- bcc _080475A8
- cmp r0, 0x2
- beq _08047596
- b _080475A8
- .align 2, 0
-_08047564: .4byte gUnknown_80F94F0
-_08047568: .4byte gUnknown_80F4448
-_0804756C: .4byte 0xffff0000
-_08047570: .4byte 0x0000ffff
-_08047574:
- movs r1, 0
- mov r10, r1
- b _0804744C
-_0804757A:
- mov r2, r10
- str r2, [r7, 0x4]
- movs r3, 0x1
- mov r10, r3
- b _0804744C
-_08047584:
- add r0, sp, 0x210
- str r0, [sp]
- mov r0, r9
- adds r1, r7, 0
- ldr r2, [sp, 0x214]
- movs r3, 0x1
- bl sub_804652C
- b _080475A8
-_08047596:
- ldr r0, _080475BC
- ldr r1, [sp, 0x214]
- bl sub_8045C08
- ldr r0, _080475C0
- ldr r1, [r0]
- mov r0, r9
- bl sub_80522A8
-_080475A8:
- movs r3, 0x90
- lsls r3, 2
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080475BC: .4byte gUnknown_202DE58
-_080475C0: .4byte gUnknown_80F9530
- thumb_func_end sub_8047190
-
- thumb_func_start sub_80475C4
-sub_80475C4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- adds r7, r2, 0
- str r3, [sp, 0x18]
- ldr r0, _08047848
- mov r8, r0
- ldr r2, [r0]
- ldr r1, _0804784C
- adds r0, r2, r1
- ldrb r0, [r0]
- str r0, [sp, 0x24]
- movs r4, 0
- movs r5, 0
- adds r3, r2, 0
- adds r3, 0xC0
- str r3, [sp, 0x1C]
- movs r0, 0x3
- str r0, [r3]
- adds r0, r2, 0
- adds r0, 0xE4
- strb r4, [r0]
- adds r1, r2, 0
- adds r1, 0xE0
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r2, 0
- adds r0, 0xE2
- strb r4, [r0]
- ldr r0, [sp, 0x14]
- str r0, [r3, 0x70]
- str r5, [r3, 0x1C]
- ldr r0, [r7]
- str r0, [r3, 0x4]
- movs r1, 0
- ldrsh r0, [r7, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 8
- movs r2, 0x2
- ldrsh r0, [r7, r2]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r2, 0x4
- lsls r2, 8
- ldr r0, [sp, 0x1C]
- bl sub_8045394
- ldr r3, [sp, 0x1C]
- strh r4, [r3, 0x26]
- movs r0, 0x1
- str r0, [sp, 0x20]
- movs r1, 0
- str r1, [sp, 0x28]
- ldr r0, [sp, 0x10]
- bl sub_80450F8
- cmp r0, 0x1
- bne _0804765E
- ldr r0, [sp, 0x10]
- movs r1, 0x2A
- bl sub_8046CB0
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x28]
-_0804765E:
- adds r0, r7, 0
- bl sub_803F428
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- ldr r0, [sp, 0x18]
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- beq _0804767C
- movs r4, 0x1
-_0804767C:
- mov r2, r8
- ldr r0, [r2]
- ldr r3, _08047850
- adds r0, r3
- add r1, sp, 0x20
- ldrb r1, [r1]
- strb r1, [r0]
- cmp r4, 0
- bne _08047690
- b _080477D0
-_08047690:
- ldr r2, [sp, 0x1C]
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- ldr r1, [sp, 0x18]
- movs r2, 0
- ldrsh r1, [r1, r2]
- mov r9, r1
- subs r1, r0, r1
- cmp r1, 0
- bge _080476A6
- negs r1, r1
-_080476A6:
- ldr r3, [sp, 0x1C]
- movs r2, 0x6
- ldrsh r0, [r3, r2]
- ldr r3, [sp, 0x18]
- movs r2, 0x2
- ldrsh r3, [r3, r2]
- mov r10, r3
- subs r0, r3
- cmp r0, 0
- bge _080476BC
- negs r0, r0
-_080476BC:
- adds r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r4, r0, 2
- adds r3, r4, 0
- adds r3, 0xC
- str r3, [sp, 0x30]
- cmp r3, 0x3F
- ble _080476D2
- movs r0, 0x40
- str r0, [sp, 0x30]
-_080476D2:
- movs r1, 0
- str r1, [sp, 0x3C]
- movs r0, 0x80
- lsls r0, 12
- adds r1, r4, 0
- bl __divsi3
- str r0, [sp, 0x40]
- movs r2, 0
- ldrsh r1, [r7, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- mov r8, r0
- movs r3, 0x2
- ldrsh r1, [r7, r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r7, r0, 11
- mov r1, r9
- lsls r0, r1, 1
- add r0, r9
- lsls r0, 11
- mov r2, r8
- subs r0, r2
- adds r1, r4, 0
- bl __divsi3
- str r0, [sp, 0x34]
- mov r3, r10
- lsls r0, r3, 1
- add r0, r10
- lsls r0, 11
- subs r0, r7
- adds r1, r4, 0
- bl __divsi3
- str r0, [sp, 0x38]
- subs r0, r4, 0x3
- cmp r0, 0
- ble _080477D0
- str r0, [sp, 0x2C]
-_08047726:
- movs r0, 0
- mov r10, r0
- ldr r0, [sp, 0x3C]
- cmp r0, 0
- bge _08047732
- adds r0, 0xFF
-_08047732:
- asrs r0, 8
- bl sub_8009C7C
- ldr r2, [sp, 0x30]
- adds r1, r0, 0
- muls r1, r2
- movs r0, 0x80
- lsls r0, 3
- mov r2, r8
- adds r3, r2, r0
- adds r2, r7, r0
- ldr r0, [sp, 0x1C]
- str r1, [r0, 0x1C]
- mov r0, r8
- cmp r0, 0
- bge _08047754
- adds r0, 0xFF
-_08047754:
- asrs r0, 8
- adds r0, 0x8
- mov r9, r0
- adds r0, r7, 0
- cmp r7, 0
- bge _08047762
- adds r0, 0xFF
-_08047762:
- asrs r0, 8
- adds r4, r0, 0
- adds r4, 0x10
- ldr r1, [sp, 0x3C]
- ldr r0, [sp, 0x40]
- adds r1, r0
- str r1, [sp, 0x3C]
- ldr r0, [sp, 0x1C]
- adds r1, r3, 0
- bl sub_8045394
- bl sub_804AF74
- lsls r0, 24
- movs r2, 0
- cmp r0, 0
- beq _08047786
- movs r2, 0x3
-_08047786:
- mov r0, r9
- adds r1, r4, 0
- bl sub_8083568
- lsls r0, 24
- cmp r0, 0
- beq _08047798
- movs r1, 0x1
- mov r10, r1
-_08047798:
- movs r0, 0x1
- str r0, [sp]
- ldr r0, [sp, 0x1C]
- ldr r1, [sp, 0x24]
- movs r2, 0
- movs r3, 0xFF
- bl sub_80462AC
- lsls r0, 24
- cmp r0, 0
- beq _080477B2
- movs r2, 0x1
- mov r10, r2
-_080477B2:
- mov r3, r10
- cmp r3, 0
- beq _080477BE
- movs r0, 0x17
- bl sub_803E46C
-_080477BE:
- ldr r0, [sp, 0x34]
- add r8, r0
- ldr r1, [sp, 0x38]
- adds r7, r1
- ldr r2, [sp, 0x2C]
- subs r2, 0x1
- str r2, [sp, 0x2C]
- cmp r2, 0
- bne _08047726
-_080477D0:
- ldr r3, [sp, 0x18]
- ldr r0, [r3]
- ldr r1, [sp, 0x1C]
- str r0, [r1, 0x4]
- ldr r0, _08047848
- ldr r0, [r0]
- ldr r2, _08047850
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- movs r1, 0
- ldrsh r0, [r3, r1]
- movs r2, 0x2
- ldrsh r1, [r3, r2]
- bl sub_804954C
- adds r4, r0, 0
- ldr r0, [r4, 0x10]
- cmp r0, 0
- bne _080477FA
- b _08047904
-_080477FA:
- movs r3, 0x1
- mov r8, r3
- movs r7, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _08047834
- ldr r0, [r4, 0x10]
- movs r1, 0x26
- bl sub_8046CB0
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r7, r1, 31
- ldr r1, _08047854
- add r0, sp, 0x8
- bl sub_8092A88
- ldr r0, [r4, 0x10]
- add r1, sp, 0x8
- bl sub_80571F0
- lsls r0, 24
- cmp r0, 0
- beq _08047834
- movs r0, 0
- mov r8, r0
-_08047834:
- mov r1, r8
- cmp r1, 0
- beq _08047904
- ldr r1, [r4, 0x10]
- adds r5, r1, 0
- cmp r7, 0
- beq _0804785C
- ldr r0, _08047858
- ands r6, r0
- b _0804786E
- .align 2, 0
-_08047848: .4byte gDungeonGlobalData
-_0804784C: .4byte 0x00018210
-_08047850: .4byte 0x0001c05e
-_08047854: .4byte 0x00000195
-_08047858: .4byte 0xffffff00
-_0804785C:
- ldr r0, [sp, 0x10]
- bl sub_8047930
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080478CC
- ands r1, r6
- adds r6, r1, 0
- orrs r6, r0
-_0804786E:
- ldr r0, _080478D0
- ldr r1, [sp, 0x14]
- bl sub_8045C08
- ldr r0, _080478D4
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- lsls r0, r6, 24
- cmp r0, 0
- beq _080478DC
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_806CE94
- ldr r0, _080478D8
- ldr r2, [r0]
- ldr r0, [sp, 0x10]
- adds r1, r5, 0
- bl sub_80522F4
- ldr r0, [sp, 0x10]
- adds r1, r5, 0
- bl sub_807A96C
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, [sp, 0x28]
- cmp r3, 0
- bne _080478B6
- ldr r0, [sp, 0x64]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080478B8
-_080478B6:
- movs r1, 0x1
-_080478B8:
- str r5, [sp]
- ldr r0, [sp, 0x14]
- str r0, [sp, 0x4]
- movs r0, 0x1
- ldr r3, [sp, 0x10]
- bl sub_80479B8
- movs r1, 0
- str r1, [sp, 0x20]
- b _08047904
- .align 2, 0
-_080478CC: .4byte 0xffffff00
-_080478D0: .4byte gUnknown_202DE58
-_080478D4: .4byte gAvailablePokemonNames
-_080478D8: .4byte gUnknown_80F94C4
-_080478DC:
- cmp r7, 0
- beq _080478F4
- ldr r0, _080478F0
- ldr r2, [r0]
- ldr r0, [sp, 0x10]
- adds r1, r5, 0
- bl sub_80522F4
- b _08047900
- .align 2, 0
-_080478F0: .4byte gUnknown_80F9510
-_080478F4:
- ldr r0, _0804792C
- ldr r2, [r0]
- ldr r0, [sp, 0x10]
- adds r1, r5, 0
- bl sub_80522F4
-_08047900:
- movs r2, 0x1
- str r2, [sp, 0x20]
-_08047904:
- ldr r3, [sp, 0x20]
- cmp r3, 0x1
- bne _0804791A
- movs r0, 0
- str r0, [sp]
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x1C]
- ldr r2, [sp, 0x14]
- movs r3, 0
- bl sub_804652C
-_0804791A:
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804792C: .4byte gUnknown_80F94F0
- thumb_func_end sub_80475C4
-
- thumb_func_start sub_8047930
-sub_8047930:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, [r5, 0x70]
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- beq _0804794C
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x4
- beq _0804794C
- cmp r0, 0x1
- bne _08047950
-_0804794C:
- movs r0, 0
- b _080479B0
-_08047950:
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _08047980
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r6, 0
- cmp r0, r1
- bge _08047964
- movs r6, 0x1
-_08047964:
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _08047994
- adds r0, r4, 0
- movs r1, 0x28
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08047984
- movs r6, 0
- b _08047994
- .align 2, 0
-_08047980: .4byte gUnknown_80F4FA2
-_08047984:
- adds r0, r4, 0
- movs r1, 0x2A
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08047994
- movs r6, 0x1
-_08047994:
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _080479AE
- adds r0, r5, 0
- movs r1, 0x25
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _080479AE
- movs r6, 0
-_080479AE:
- adds r0, r6, 0
-_080479B0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8047930
-
- thumb_func_start sub_80479B8
-sub_80479B8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r4, r3, 0
- ldr r5, [sp, 0x3C]
- ldr r7, [sp, 0x40]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- cmp r6, 0
- beq _08047AD0
- cmp r1, 0
- bne _08047ABC
- movs r0, 0
- mov r8, r0
- ldr r1, [r5, 0x70]
- mov r9, r1
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _08047A20
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- cmp r0, 0
- beq _08047A3C
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08047A3C
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- mov r8, r1
- b _08047A3C
-_08047A20:
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08047A3C
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80718D8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_08047A3C:
- adds r0, r5, 0
- bl sub_8070C60
- lsls r0, 24
- cmp r0, 0
- beq _08047A4C
- movs r0, 0
- mov r8, r0
-_08047A4C:
- mov r1, r8
- cmp r1, 0
- beq _08047ABC
- mov r0, r9
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08047ABC
- mov r1, r9
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- bne _08047A76
- adds r1, r5, 0x4
- adds r0, r4, 0
- adds r2, r7, 0
- bl sub_80464C8
- bl _080482BA
-_08047A76:
- ldr r0, _08047AAC
- bl PlaySoundEffect
- ldr r0, _08047AB0
- adds r1, r7, 0
- bl sub_8045BF8
- ldr r0, _08047AB4
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08047AB8
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
- ldr r0, [r7]
- mov r1, r9
- str r0, [r1, 0x60]
- adds r0, r5, 0
- bl sub_806A6E8
- bl _080482BA
- .align 2, 0
-_08047AAC: .4byte 0x0000014d
-_08047AB0: .4byte gUnknown_202DE58
-_08047AB4: .4byte gAvailablePokemonNames
-_08047AB8: .4byte gUnknown_80FDBB8
-_08047ABC:
- cmp r6, 0
- beq _08047AD0
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_8042390
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806F450
-_08047AD0:
- ldrb r1, [r7]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08047B2C
- ldr r0, _08047B1C
- adds r1, r7, 0
- bl sub_8045BF8
- ldr r0, _08047B20
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
- cmp r6, 0
- beq _08047B30
- ldr r0, _08047B24
- movs r1, 0
- ldrsh r2, [r0, r1]
- add r0, sp, 0x18
- str r0, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r0, _08047B28
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- str r1, [sp, 0x14]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_806F370
- adds r0, r4, 0
- bl sub_8071DA4
- b _080482BA
- .align 2, 0
-_08047B1C: .4byte gUnknown_202DE58
-_08047B20: .4byte gUnknown_80FE3E8
-_08047B24: .4byte gUnknown_80F4FAE
-_08047B28: .4byte 0x00000217
-_08047B2C:
- cmp r6, 0
- bne _08047B38
-_08047B30:
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_804245C
-_08047B38:
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08047B56
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x5
- movs r3, 0
- bl sub_8078B5C
-_08047B56:
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- beq _08047B72
- ldrb r0, [r7, 0x2]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- bne _08047B9C
-_08047B72:
- cmp r6, 0
- beq _08047B88
- ldr r0, _08047B84
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r0, sp
- adds r0, 0x19
- b _08048284
- .align 2, 0
-_08047B84: .4byte gUnknown_80F4FAC
-_08047B88:
- ldr r0, _08047B98
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _080482B4
- .align 2, 0
-_08047B98: .4byte gUnknown_80FE458
-_08047B9C:
- ldrb r0, [r7, 0x2]
- subs r0, 0x1
- cmp r0, 0xE8
- bls _08047BA6
- b _08048276
-_08047BA6:
- lsls r0, 2
- ldr r1, _08047BB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08047BB0: .4byte _08047BB4
- .align 2, 0
-_08047BB4:
- .4byte _08047F58
- .4byte _08047F70
- .4byte _08047F88
- .4byte _08047FA0
- .4byte _08047FB8
- .4byte _08047FD0
- .4byte _08047FF0
- .4byte _08047FE8
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048004
- .4byte _0804825E
- .4byte _08048010
- .4byte _0804801A
- .4byte _0804804C
- .4byte _08048276
- .4byte _0804802E
- .4byte _0804809C
- .4byte _08048038
- .4byte _08048024
- .4byte _080480BA
- .4byte _080480C4
- .4byte _08048042
- .4byte _0804806A
- .4byte _08048060
- .4byte _08048056
- .4byte _0804807E
- .4byte _080480B0
- .4byte _08048074
- .4byte _080480D8
- .4byte _080480CE
- .4byte _08048092
- .4byte _08048088
- .4byte _080480A6
- .4byte _080480E4
- .4byte _080480EE
- .4byte _080480F8
- .4byte _08048102
- .4byte _0804810C
- .4byte _08048212
- .4byte _08048122
- .4byte _0804813C
- .4byte _0804812A
- .4byte _08048146
- .4byte _08048152
- .4byte _0804815E
- .4byte _0804816A
- .4byte _08048176
- .4byte _08048182
- .4byte _0804818E
- .4byte _0804819A
- .4byte _080481A6
- .4byte _080481B2
- .4byte _080481BE
- .4byte _080481CA
- .4byte _080481D6
- .4byte _080481E2
- .4byte _080481EE
- .4byte _080481FA
- .4byte _08048206
- .4byte _08048212
- .4byte _08048220
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _0804823A
- .4byte _08048252
- .4byte _08048246
- .4byte _0804826A
- .4byte _0804822E
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048116
-_08047F58:
- ldr r0, _08047F6C
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_80482FC
- b _080482B4
- .align 2, 0
-_08047F6C: .4byte gUnknown_80F503A
-_08047F70:
- ldr r0, _08047F84
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x2
- bl sub_80482FC
- b _080482B4
- .align 2, 0
-_08047F84: .4byte gUnknown_80F503C
-_08047F88:
- ldr r0, _08047F9C
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x3
- bl sub_80482FC
- b _080482B4
- .align 2, 0
-_08047F9C: .4byte gUnknown_80F503E
-_08047FA0:
- ldr r0, _08047FB4
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x4
- bl sub_80482FC
- b _080482B4
- .align 2, 0
-_08047FB4: .4byte gUnknown_80F5040
-_08047FB8:
- ldr r0, _08047FCC
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x5
- bl sub_80482FC
- b _080482B4
- .align 2, 0
-_08047FCC: .4byte gUnknown_80F5042
-_08047FD0:
- ldr r0, _08047FE4
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x6
- bl sub_80482FC
- b _080482B4
- .align 2, 0
-_08047FE4: .4byte gUnknown_80F5044
-_08047FE8:
- ldr r0, _08047FEC
- b _08047FF2
- .align 2, 0
-_08047FEC: .4byte gUnknown_80F5048
-_08047FF0:
- ldr r0, _08048000
-_08047FF2:
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048340
- b _080482B4
- .align 2, 0
-_08048000: .4byte gUnknown_80F5046
-_08048004:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, r10
- bl sub_8048364
- b _080482B4
-_08048010:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048374
- b _080482B4
-_0804801A:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804839C
- b _080482B4
-_08048024:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80483D4
- b _080482B4
-_0804802E:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80483F4
- b _080482B4
-_08048038:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048400
- b _080482B4
-_08048042:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804840C
- b _080482B4
-_0804804C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804841C
- b _080482B4
-_08048056:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804849C
- b _080482B4
-_08048060:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048428
- b _080482B4
-_0804806A:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048450
- b _080482B4
-_08048074:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048480
- b _080482B4
-_0804807E:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80482D4
- b _080482B4
-_08048088:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048490
- b _080482B4
-_08048092:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80484A8
- b _080482B4
-_0804809C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80484DC
- b _080482B4
-_080480A6:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80484BC
- b _080482B4
-_080480B0:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80484C8
- b _080482B4
-_080480BA:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80484E8
- b _080482B4
-_080480C4:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048524
- b _080482B4
-_080480CE:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80485B0
- b _080482B4
-_080480D8:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_804869C
- b _080482B4
-_080480E4:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80483C4
- b _080482B4
-_080480EE:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804891C
- b _080482B4
-_080480F8:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048928
- b _080482B4
-_08048102:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048934
- b _080482B4
-_0804810C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048940
- b _080482B4
-_08048116:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl nullsub_94
- b _080482B4
-_08048122:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x64
- b _08048130
-_0804812A:
- ldr r2, _08048138
- adds r0, r4, 0
- adds r1, r5, 0
-_08048130:
- movs r3, 0xA
- bl sub_80487CC
- b _080482B4
- .align 2, 0
-_08048138: .4byte 0x000003e7
-_0804813C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048E04
- b _080482B4
-_08048146:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80487E0
- b _080482B4
-_08048152:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_80487E0
- b _080482B4
-_0804815E:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_80487E0
- b _080482B4
-_0804816A:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_80487E0
- b _080482B4
-_08048176:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x5
- bl sub_80487E0
- b _080482B4
-_08048182:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_80487E0
- b _080482B4
-_0804818E:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl sub_80487E0
- b _080482B4
-_0804819A:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x8
- bl sub_80487E0
- b _080482B4
-_080481A6:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x9
- bl sub_80487E0
- b _080482B4
-_080481B2:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xA
- bl sub_80487E0
- b _080482B4
-_080481BE:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xB
- bl sub_80487E0
- b _080482B4
-_080481CA:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xC
- bl sub_80487E0
- b _080482B4
-_080481D6:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xD
- bl sub_80487E0
- b _080482B4
-_080481E2:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xE
- bl sub_80487E0
- b _080482B4
-_080481EE:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xF
- bl sub_80487E0
- b _080482B4
-_080481FA:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x10
- bl sub_80487E0
- b _080482B4
-_08048206:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x11
- bl sub_80487E0
- b _080482B4
-_08048212:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x32
- movs r3, 0x5
- bl sub_80487CC
- b _080482B4
-_08048220:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80487CC
- b _080482B4
-_0804822E:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8048DB8
- b _080482B4
-_0804823A:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8048EB0
- b _080482B4
-_08048246:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8048EC4
- b _080482B4
-_08048252:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8048ED8
- b _080482B4
-_0804825E:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8048EEC
- b _080482B4
-_0804826A:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8048F00
- b _080482B4
-_08048276:
- cmp r6, 0
- beq _080482A8
- ldr r0, _080482A0
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r0, sp
- adds r0, 0x1A
-_08048284:
- str r0, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r0, _080482A4
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- str r1, [sp, 0x14]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_806F370
- b _080482B4
- .align 2, 0
-_080482A0: .4byte gUnknown_80F4FAC
-_080482A4: .4byte 0x00000217
-_080482A8:
- ldr r0, _080482CC
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
-_080482B4:
- adds r0, r4, 0
- bl sub_8071DA4
-_080482BA:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080482CC: .4byte gUnknown_80FE458
- thumb_func_end sub_80479B8
-
- thumb_func_start nullsub_205
-nullsub_205:
- bx lr
- thumb_func_end nullsub_205
-
- thumb_func_start sub_80482D4
-sub_80482D4:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _080482F8
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r2, r0, 0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8075C58
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080482F8: .4byte gUnknown_80F4E74
- thumb_func_end sub_80482D4
-
- thumb_func_start sub_80482FC
-sub_80482FC:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0xC
- mov r8, r0
- mov r9, r1
- adds r6, r2, 0
- lsls r4, r3, 24
- lsrs r4, 24
- add r5, sp, 0x4
- ldr r1, _0804833C
- adds r0, r5, 0
- bl sub_8092A88
- strb r6, [r5, 0x4]
- movs r3, 0x80
- lsls r3, 1
- str r4, [sp]
- mov r0, r8
- mov r1, r9
- add r2, sp, 0x4
- bl sub_8055640
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804833C: .4byte 0x00000195
- thumb_func_end sub_80482FC
-
- .align 2,0
diff --git a/asm/code_80450F8.s b/asm/code_80450F8.s
new file mode 100644
index 0000000..fdc2483
--- /dev/null
+++ b/asm/code_80450F8.s
@@ -0,0 +1,6298 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_80450F8
+sub_80450F8:
+ ldr r0, [r0]
+ bx lr
+ thumb_func_end sub_80450F8
+
+ thumb_func_start sub_80450FC
+sub_80450FC:
+ adds r0, 0x25
+ ldrb r0, [r0]
+ bx lr
+ thumb_func_end sub_80450FC
+
+ thumb_func_start sub_8045104
+sub_8045104:
+ ldr r0, [r0, 0x70]
+ bx lr
+ thumb_func_end sub_8045104
+
+ thumb_func_start sub_8045108
+sub_8045108:
+ ldr r0, [r0, 0x70]
+ bx lr
+ thumb_func_end sub_8045108
+
+ thumb_func_start sub_804510C
+sub_804510C:
+ ldr r0, [r0, 0x70]
+ bx lr
+ thumb_func_end sub_804510C
+
+ thumb_func_start sub_8045110
+sub_8045110:
+ ldr r0, [r0, 0x70]
+ bx lr
+ thumb_func_end sub_8045110
+
+ thumb_func_start sub_8045114
+sub_8045114:
+ push {lr}
+ movs r1, 0x4
+ ldrsh r2, [r0, r1]
+ movs r3, 0x6
+ ldrsh r1, [r0, r3]
+ adds r0, r2, 0
+ bl sub_804954C
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8045114
+
+ thumb_func_start sub_8045128
+sub_8045128:
+ push {lr}
+ movs r1, 0x4
+ ldrsh r2, [r0, r1]
+ movs r3, 0x6
+ ldrsh r1, [r0, r3]
+ adds r0, r2, 0
+ bl sub_8049590
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8045128
+
+ thumb_func_start sub_804513C
+sub_804513C:
+ push {r4-r7,lr}
+ movs r3, 0
+ ldr r7, _080451FC
+ ldr r6, _08045200
+ ldr r4, _08045204
+ movs r5, 0
+_08045148:
+ ldr r0, [r7]
+ lsls r2, r3, 2
+ adds r1, r0, r6
+ adds r1, r2
+ adds r0, r4
+ str r0, [r1]
+ str r5, [r0]
+ adds r4, 0x74
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _08045148
+ ldr r1, _08045208
+ movs r2, 0
+ adds r0, r1, 0x5
+_08045164:
+ strb r2, [r0]
+ subs r0, 0x1
+ cmp r0, r1
+ bge _08045164
+ movs r3, 0
+ ldr r7, _080451FC
+ ldr r6, _0804520C
+ ldr r4, _08045210
+ movs r5, 0
+_08045176:
+ ldr r0, [r7]
+ lsls r2, r3, 2
+ adds r1, r0, r6
+ adds r1, r2
+ adds r0, r4
+ str r0, [r1]
+ str r5, [r0]
+ adds r4, 0x74
+ adds r3, 0x1
+ cmp r3, 0xF
+ ble _08045176
+ ldr r1, _08045214
+ movs r2, 0
+ adds r0, r1, 0
+ adds r0, 0xF
+_08045194:
+ strb r2, [r0]
+ subs r0, 0x1
+ cmp r0, r1
+ bge _08045194
+ movs r3, 0
+ ldr r5, _080451FC
+ ldr r4, _08045218
+ movs r2, 0
+_080451A4:
+ ldr r0, [r5]
+ lsls r1, r3, 2
+ adds r0, r4
+ adds r0, r1
+ str r2, [r0]
+ adds r3, 0x1
+ cmp r3, 0x13
+ ble _080451A4
+ movs r3, 0
+ ldr r7, _080451FC
+ ldr r6, _0804521C
+ ldr r4, _08045220
+ movs r5, 0
+_080451BE:
+ ldr r0, [r7]
+ lsls r2, r3, 2
+ adds r1, r0, r6
+ adds r1, r2
+ adds r0, r4
+ str r0, [r1]
+ str r5, [r0]
+ adds r4, 0x74
+ adds r3, 0x1
+ cmp r3, 0x3F
+ ble _080451BE
+ movs r3, 0
+ ldr r7, _080451FC
+ ldr r6, _08045224
+ ldr r4, _08045228
+ movs r5, 0
+_080451DE:
+ ldr r0, [r7]
+ lsls r2, r3, 2
+ adds r1, r0, r6
+ adds r1, r2
+ adds r0, r4
+ str r0, [r1]
+ str r5, [r0]
+ adds r4, 0x74
+ adds r3, 0x1
+ cmp r3, 0x3F
+ ble _080451DE
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080451FC: .4byte gDungeonGlobalData
+_08045200: .4byte 0x0001357c
+_08045204: .4byte 0x0001381c
+_08045208: .4byte gUnknown_202EE70
+_0804520C: .4byte 0x0001358c
+_08045210: .4byte 0x000139ec
+_08045214: .4byte gUnknown_202EE76
+_08045218: .4byte 0x000135cc
+_0804521C: .4byte 0x0001361c
+_08045220: .4byte 0x0001412c
+_08045224: .4byte 0x0001371c
+_08045228: .4byte 0x00015e2c
+ thumb_func_end sub_804513C
+
+ thumb_func_start sub_804522C
+sub_804522C:
+ push {r4-r7,lr}
+ sub sp, 0x4
+ ldr r2, _08045274
+ ldr r0, [r2]
+ ldr r3, _08045278
+ adds r1, r0, r3
+ ldrb r7, [r1]
+ ldr r1, _0804527C
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080452AA
+ movs r6, 0
+ adds r7, r2, 0
+_08045248:
+ ldr r0, [r7]
+ lsls r1, r6, 2
+ ldr r2, _08045280
+ adds r0, r2
+ adds r0, r1
+ ldr r5, [r0]
+ adds r0, r5, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _080452A2
+ ldr r0, [r7]
+ ldr r3, _08045284
+ adds r0, r3
+ ldr r0, [r0]
+ cmp r5, r0
+ bne _08045288
+ adds r0, r5, 0
+ bl sub_806C51C
+ b _080452A2
+ .align 2, 0
+_08045274: .4byte gDungeonGlobalData
+_08045278: .4byte 0x00018210
+_0804527C: .4byte 0x0001820a
+_08045280: .4byte 0x000135cc
+_08045284: .4byte 0x000181f8
+_08045288:
+ ldr r4, [r5, 0x70]
+ adds r0, r5, 0
+ bl sub_804187C
+ adds r2, r0, 0
+ adds r0, r4, 0
+ adds r0, 0x98
+ ldr r0, [r0]
+ movs r3, 0x4
+ ldrsh r1, [r4, r3]
+ movs r3, 0
+ bl sub_800F75C
+_080452A2:
+ adds r6, 0x1
+ cmp r6, 0x13
+ ble _08045248
+ b _0804533E
+_080452AA:
+ movs r6, 0
+_080452AC:
+ ldr r0, _08045348
+ ldr r0, [r0]
+ lsls r1, r6, 2
+ ldr r2, _0804534C
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _080452CC
+ adds r0, r4, 0
+ bl sub_806C51C
+_080452CC:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _080452AC
+ movs r6, 0
+_080452D4:
+ ldr r5, _08045348
+ ldr r0, [r5]
+ lsls r1, r6, 2
+ ldr r3, _08045350
+ adds r0, r3
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _080452F4
+ adds r0, r4, 0
+ bl sub_806C51C
+_080452F4:
+ adds r6, 0x1
+ cmp r6, 0xF
+ ble _080452D4
+ movs r6, 0
+ ldr r0, [r5]
+ ldr r1, _08045354
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r6, r0
+ bge _08045336
+ adds r4, r5, 0
+_0804530C:
+ ldr r0, [r4]
+ lsls r1, r6, 2
+ ldr r3, _08045358
+ adds r0, r3
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0
+ str r1, [sp]
+ adds r1, r7, 0
+ movs r2, 0x1
+ movs r3, 0xFF
+ bl sub_80462AC
+ adds r6, 0x1
+ ldr r0, [r4]
+ ldr r1, _08045354
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r6, r0
+ blt _0804530C
+_08045336:
+ cmp r7, 0
+ beq _0804533E
+ bl sub_807FA9C
+_0804533E:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08045348: .4byte gDungeonGlobalData
+_0804534C: .4byte 0x0001357c
+_08045350: .4byte 0x0001358c
+_08045354: .4byte 0x00003904
+_08045358: .4byte 0x0001361c
+ thumb_func_end sub_804522C
+
+ thumb_func_start sub_804535C
+sub_804535C:
+ push {lr}
+ adds r2, r0, 0
+ cmp r1, 0
+ beq _0804536C
+ ldr r0, [r1]
+ str r0, [r2, 0xC]
+ ldr r0, [r1, 0x4]
+ b _0804538E
+_0804536C:
+ movs r0, 0x4
+ ldrsh r1, [r2, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 11
+ movs r1, 0xC0
+ lsls r1, 4
+ adds r0, r1
+ str r0, [r2, 0xC]
+ movs r0, 0x6
+ ldrsh r1, [r2, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 11
+ movs r1, 0x80
+ lsls r1, 5
+ adds r0, r1
+_0804538E:
+ str r0, [r2, 0x10]
+ pop {r0}
+ bx r0
+ thumb_func_end sub_804535C
+
+ thumb_func_start sub_8045394
+sub_8045394:
+ str r1, [r0, 0xC]
+ str r2, [r0, 0x10]
+ bx lr
+ thumb_func_end sub_8045394
+
+ thumb_func_start sub_804539C
+sub_804539C:
+ ldr r3, [r0, 0xC]
+ adds r3, r1
+ str r3, [r0, 0xC]
+ ldr r1, [r0, 0x10]
+ adds r1, r2
+ str r1, [r0, 0x10]
+ bx lr
+ thumb_func_end sub_804539C
+
+ thumb_func_start sub_80453AC
+sub_80453AC:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 16
+ asrs r0, 16
+ mov r8, r0
+ movs r0, 0x1
+ negs r0, r0
+ mov r9, r0
+ mov r0, r8
+ bl GetPokemonSize
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r5, 0
+ movs r0, 0x6
+ subs r3, r0, r6
+ ldr r4, _080453D8
+ b _080453DE
+ .align 2, 0
+_080453D8: .4byte gUnknown_202EE70
+_080453DC:
+ adds r5, 0x1
+_080453DE:
+ cmp r5, r3
+ bgt _08045400
+ movs r2, 0
+ cmp r2, r6
+ bge _080453FA
+ adds r1, r5, r4
+ b _080453F4
+_080453EC:
+ adds r1, 0x1
+ adds r2, 0x1
+ cmp r2, r6
+ bge _080453FA
+_080453F4:
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _080453EC
+_080453FA:
+ cmp r2, r6
+ bne _080453DC
+ mov r9, r5
+_08045400:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r9, r0
+ beq _080454FC
+ movs r5, 0
+ ldr r7, _080454DC
+_0804540C:
+ ldr r1, _080454E0
+ ldr r0, [r1]
+ lsls r1, r5, 2
+ ldr r2, _080454E4
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ cmp r0, 0
+ bne _080454F0
+ movs r0, 0x1
+ str r0, [r4]
+ adds r0, r4, 0
+ adds r0, 0x24
+ strb r5, [r0]
+ ldr r1, _080454E0
+ ldr r0, [r1]
+ adds r0, r7
+ str r0, [r4, 0x70]
+ mov r2, r8
+ strh r2, [r0, 0x2]
+ movs r0, 0
+ mov r1, r8
+ bl sub_8069F54
+ ldr r1, [r4, 0x70]
+ strh r0, [r1, 0x4]
+ ldr r0, [r4, 0x70]
+ movs r5, 0
+ strb r5, [r0, 0x6]
+ movs r0, 0
+ mov r1, r8
+ bl sub_8069F54
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_80687D0
+ str r0, [r4, 0x64]
+ mov r1, r9
+ lsls r0, r1, 4
+ adds r0, 0x40
+ adds r1, r4, 0
+ adds r1, 0x68
+ strh r0, [r1]
+ adds r1, 0x2
+ movs r0, 0x7
+ strb r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x6C
+ movs r2, 0
+ strb r2, [r0]
+ adds r1, 0x1
+ movs r0, 0xFF
+ strb r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x6D
+ movs r5, 0x1
+ strb r5, [r0]
+ adds r0, 0x2
+ strb r5, [r0]
+ mov r0, r10
+ str r0, [r4, 0x1C]
+ bl sub_8045ACC
+ ldr r0, [r4, 0x70]
+ ldr r1, _080454E8
+ adds r0, r1
+ mov r2, r9
+ strb r2, [r0]
+ ldr r0, [r4, 0x70]
+ movs r5, 0xB4
+ lsls r5, 1
+ adds r0, r5
+ strb r6, [r0]
+ cmp r6, 0
+ beq _080454C6
+ ldr r3, _080454EC
+ movs r2, 0x1
+ adds r1, r6, 0
+_080454B6:
+ mov r5, r9
+ adds r0, r5, r3
+ strb r2, [r0]
+ movs r0, 0x1
+ add r9, r0
+ subs r1, 0x1
+ cmp r1, 0
+ bne _080454B6
+_080454C6:
+ ldr r1, _080454E0
+ ldr r0, [r1]
+ movs r2, 0xCD
+ lsls r2, 3
+ adds r0, r2
+ ldrh r2, [r0]
+ adds r1, r2, 0x1
+ strh r1, [r0]
+ strh r2, [r4, 0x26]
+ adds r0, r4, 0
+ b _080454FE
+ .align 2, 0
+_080454DC: .4byte 0x0000069c
+_080454E0: .4byte gDungeonGlobalData
+_080454E4: .4byte 0x0001357c
+_080454E8: .4byte 0x00000167
+_080454EC: .4byte gUnknown_202EE70
+_080454F0:
+ movs r0, 0x82
+ lsls r0, 2
+ adds r7, r0
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _0804540C
+_080454FC:
+ movs r0, 0
+_080454FE:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80453AC
+
+ thumb_func_start sub_804550C
+sub_804550C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ lsls r0, 16
+ asrs r0, 16
+ mov r8, r0
+ movs r0, 0x1
+ negs r0, r0
+ mov r9, r0
+ mov r0, r8
+ bl GetPokemonSize
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r5, 0
+ movs r0, 0x10
+ subs r3, r0, r7
+ ldr r4, _08045538
+ b _0804553E
+ .align 2, 0
+_08045538: .4byte gUnknown_202EE76
+_0804553C:
+ adds r5, 0x1
+_0804553E:
+ cmp r5, r3
+ bgt _08045560
+ movs r2, 0
+ cmp r2, r7
+ bge _0804555A
+ adds r1, r5, r4
+ b _08045554
+_0804554C:
+ adds r1, 0x1
+ adds r2, 0x1
+ cmp r2, r7
+ bge _0804555A
+_08045554:
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _0804554C
+_0804555A:
+ cmp r2, r7
+ bne _0804553C
+ mov r9, r5
+_08045560:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r9, r0
+ bne _0804556A
+ b _08045670
+_0804556A:
+ movs r5, 0
+ movs r1, 0x1
+ mov r10, r1
+ ldr r2, _08045650
+ mov r3, r9
+ lsls r0, r3, 4
+ adds r0, 0xA0
+ str r0, [sp]
+_0804557A:
+ ldr r1, _08045654
+ ldr r0, [r1]
+ lsls r1, r5, 2
+ ldr r3, _08045658
+ adds r0, r3
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ str r2, [sp, 0x4]
+ bl entityExists
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r2, [sp, 0x4]
+ cmp r6, 0
+ bne _08045664
+ mov r0, r10
+ str r0, [r4]
+ adds r0, r4, 0
+ adds r0, 0x24
+ strb r5, [r0]
+ subs r0, 0x2
+ strb r6, [r0]
+ ldr r1, _08045654
+ ldr r0, [r1]
+ adds r0, r2
+ str r0, [r4, 0x70]
+ mov r2, r8
+ strh r2, [r0, 0x2]
+ movs r0, 0
+ mov r1, r8
+ bl sub_8069F54
+ ldr r1, [r4, 0x70]
+ strh r0, [r1, 0x4]
+ ldr r0, [r4, 0x70]
+ mov r3, r10
+ strb r3, [r0, 0x6]
+ movs r0, 0
+ mov r1, r8
+ bl sub_8069F54
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_80687D0
+ str r0, [r4, 0x64]
+ adds r0, r4, 0
+ adds r0, 0x68
+ mov r5, sp
+ ldrh r5, [r5]
+ strh r5, [r0]
+ adds r1, r4, 0
+ adds r1, 0x6A
+ movs r0, 0x7
+ strb r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x6C
+ movs r1, 0
+ strb r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x6B
+ movs r0, 0xFF
+ strb r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x6D
+ mov r2, r10
+ strb r2, [r0]
+ adds r0, 0x2
+ strb r2, [r0]
+ str r6, [r4, 0x1C]
+ ldr r0, [r4, 0x70]
+ ldr r3, _0804565C
+ adds r0, r3
+ mov r5, r9
+ strb r5, [r0]
+ ldr r0, [r4, 0x70]
+ movs r1, 0xB4
+ lsls r1, 1
+ adds r0, r1
+ strb r7, [r0]
+ cmp r7, 0
+ beq _08045636
+ ldr r3, _08045660
+ movs r2, 0x1
+ adds r1, r7, 0
+_08045626:
+ mov r5, r9
+ adds r0, r5, r3
+ strb r2, [r0]
+ movs r0, 0x1
+ add r9, r0
+ subs r1, 0x1
+ cmp r1, 0
+ bne _08045626
+_08045636:
+ bl sub_8045ACC
+ ldr r1, _08045654
+ ldr r0, [r1]
+ movs r2, 0xCD
+ lsls r2, 3
+ adds r0, r2
+ ldrh r2, [r0]
+ adds r1, r2, 0x1
+ strh r1, [r0]
+ strh r2, [r4, 0x26]
+ adds r0, r4, 0
+ b _08045672
+ .align 2, 0
+_08045650: .4byte 0x00000ebc
+_08045654: .4byte gDungeonGlobalData
+_08045658: .4byte 0x0001358c
+_0804565C: .4byte 0x00000167
+_08045660: .4byte gUnknown_202EE76
+_08045664:
+ movs r3, 0x82
+ lsls r3, 2
+ adds r2, r3
+ adds r5, 0x1
+ cmp r5, 0xF
+ ble _0804557A
+_08045670:
+ movs r0, 0
+_08045672:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_804550C
+
+ thumb_func_start sub_8045684
+sub_8045684:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ mov r10, r1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r2, 24
+ lsrs r2, 24
+ mov r9, r2
+ movs r5, 0
+ ldr r7, _080456E4
+ ldr r6, _080456E8
+_080456A2:
+ ldr r0, [r7]
+ lsls r1, r5, 2
+ ldr r2, _080456EC
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _080456F0
+ movs r0, 0x2
+ str r0, [r4]
+ ldr r0, [r7]
+ adds r0, r6
+ str r0, [r4, 0x70]
+ mov r2, r8
+ strb r2, [r0]
+ ldr r0, [r4, 0x70]
+ mov r2, r9
+ strb r2, [r0, 0x1]
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ adds r0, 0x22
+ strb r1, [r0]
+ mov r2, r10
+ ldr r0, [r2]
+ str r0, [r4, 0x4]
+ strh r1, [r4, 0x26]
+ adds r0, r4, 0
+ b _080456FA
+ .align 2, 0
+_080456E4: .4byte gDungeonGlobalData
+_080456E8: .4byte 0x00003908
+_080456EC: .4byte 0x0001371c
+_080456F0:
+ adds r6, 0x4
+ adds r5, 0x1
+ cmp r5, 0x3F
+ ble _080456A2
+ movs r0, 0
+_080456FA:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8045684
+
+ thumb_func_start sub_8045708
+sub_8045708:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ mov r8, r0
+ ldr r1, _08045744
+ ldr r0, _08045748
+ ldr r0, [r0]
+ ldr r2, _0804574C
+ adds r0, r2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0804579C
+ mov r1, r8
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ movs r3, 0x2
+ ldrsh r1, [r1, r3]
+ bl sub_8049590
+ ldrh r1, [r0]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0x2
+ bne _0804579C
+ b _080457C4
+ .align 2, 0
+_08045744: .4byte gUnknown_810ACC0
+_08045748: .4byte gDungeonGlobalData
+_0804574C: .4byte 0x00003a0e
+_08045750:
+ movs r0, 0x3
+ str r0, [r4]
+ ldr r0, _08045798
+ adds r1, r6, r0
+ mov r2, r9
+ ldr r0, [r2]
+ adds r0, r1
+ str r0, [r4, 0x70]
+ mov r3, r8
+ ldr r0, [r3]
+ str r0, [r4, 0x4]
+ movs r1, 0
+ ldrsh r0, [r3, r1]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, 0x4
+ lsls r1, 8
+ movs r2, 0x2
+ ldrsh r0, [r3, r2]
+ lsls r2, r0, 1
+ adds r2, r0
+ lsls r2, 3
+ adds r2, 0x4
+ lsls r2, 8
+ adds r0, r4, 0
+ bl sub_8045394
+ movs r0, 0
+ strh r7, [r4, 0x26]
+ adds r1, r4, 0
+ adds r1, 0x22
+ strb r0, [r1]
+ str r7, [r4, 0x1C]
+ adds r0, r4, 0
+ b _080457C6
+ .align 2, 0
+_08045798: .4byte 0x00003804
+_0804579C:
+ movs r5, 0
+ ldr r3, _080457D4
+ mov r9, r3
+_080457A2:
+ mov r1, r9
+ ldr r0, [r1]
+ lsls r6, r5, 2
+ ldr r2, _080457D8
+ adds r0, r2
+ adds r0, r6
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0
+ beq _08045750
+ adds r5, 0x1
+ cmp r5, 0x3F
+ ble _080457A2
+_080457C4:
+ movs r0, 0
+_080457C6:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080457D4: .4byte gDungeonGlobalData
+_080457D8: .4byte 0x0001361c
+ thumb_func_end sub_8045708
+
+ thumb_func_start sub_80457DC
+sub_80457DC:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r0, 0x5
+ str r0, [r4]
+ movs r6, 0
+ movs r5, 0
+ strh r5, [r4, 0x4]
+ strh r5, [r4, 0x6]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0
+ bl sub_8045394
+ strh r5, [r4, 0x26]
+ adds r4, 0x22
+ strb r6, [r4]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80457DC
+
+ thumb_func_start sub_8045804
+sub_8045804:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ bl sub_80450F8
+ cmp r0, 0x1
+ beq _0804581C
+ cmp r0, 0x1
+ bcc _08045880
+ cmp r0, 0x5
+ beq _08045880
+_08045818:
+ movs r0, 0x1
+ b _08045882
+_0804581C:
+ adds r0, r4, 0
+ adds r0, 0x20
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08045880
+ ldr r0, _08045874
+ ldr r1, [r0]
+ ldr r0, _08045878
+ adds r2, r1, r0
+ ldr r5, [r2, 0x10]
+ ldr r3, [r4, 0x70]
+ ldrb r0, [r3, 0x6]
+ cmp r0, 0
+ beq _08045818
+ ldr r6, _0804587C
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0804584C
+ adds r0, r3, 0
+ adds r0, 0xE4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08045880
+_0804584C:
+ adds r0, r2, 0
+ adds r0, 0x23
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08045818
+ adds r0, r2, 0
+ adds r0, 0x25
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08045818
+ cmp r5, 0
+ beq _08045880
+ adds r1, r4, 0x4
+ adds r0, r2, 0
+ bl sub_8083294
+ lsls r0, 24
+ lsrs r0, 24
+ b _08045882
+ .align 2, 0
+_08045874: .4byte gDungeonGlobalData
+_08045878: .4byte 0x000181e8
+_0804587C: .4byte 0x0001820f
+_08045880:
+ movs r0, 0
+_08045882:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8045804
+
+ thumb_func_start sub_8045888
+sub_8045888:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r0, 0x20
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08045988
+ ldr r1, [r4, 0xC]
+ cmp r1, 0
+ bge _0804589C
+ adds r1, 0xFF
+_0804589C:
+ asrs r1, 8
+ ldr r0, _080458F0
+ ldr r2, [r0]
+ ldr r3, _080458F4
+ adds r0, r2, r3
+ movs r5, 0
+ ldrsh r0, [r0, r5]
+ subs r3, r1, r0
+ ldr r0, [r4, 0x10]
+ cmp r0, 0
+ bge _080458B4
+ adds r0, 0xFF
+_080458B4:
+ asrs r0, 8
+ ldr r5, _080458F8
+ adds r1, r2, r5
+ movs r5, 0
+ ldrsh r1, [r1, r5]
+ subs r1, r0, r1
+ movs r0, 0x20
+ negs r0, r0
+ cmp r3, r0
+ blt _08045988
+ cmp r1, r0
+ blt _08045988
+ movs r0, 0x88
+ lsls r0, 1
+ cmp r3, r0
+ bgt _08045988
+ cmp r1, 0xC0
+ bgt _08045988
+ ldr r0, _080458FC
+ adds r5, r2, r0
+ adds r0, r4, 0
+ bl sub_80450F8
+ cmp r0, 0x5
+ bhi _08045984
+ lsls r0, 2
+ ldr r1, _08045900
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080458F0: .4byte gDungeonGlobalData
+_080458F4: .4byte 0x000181f0
+_080458F8: .4byte 0x000181f2
+_080458FC: .4byte 0x000181e8
+_08045900: .4byte _08045904
+ .align 2, 0
+_08045904:
+ .4byte _08045988
+ .4byte _08045934
+ .4byte _08045964
+ .4byte _0804591C
+ .4byte _08045984
+ .4byte _08045988
+_0804591C:
+ adds r0, r5, 0
+ adds r0, 0x26
+_08045920:
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08045984
+ adds r0, r4, 0x4
+ bl sub_803F428
+ lsls r0, 24
+_0804592E:
+ cmp r0, 0
+ bne _08045984
+ b _08045988
+_08045934:
+ ldr r1, [r4, 0x70]
+ ldrb r0, [r1, 0x6]
+ cmp r0, 0
+ beq _08045984
+ ldr r0, _0804595C
+ ldr r0, [r0]
+ ldr r2, _08045960
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08045954
+ adds r0, r1, 0
+ adds r0, 0xE4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08045988
+_08045954:
+ adds r0, r5, 0
+ adds r0, 0x25
+ b _08045920
+ .align 2, 0
+_0804595C: .4byte gDungeonGlobalData
+_08045960: .4byte 0x0001820f
+_08045964:
+ ldr r0, _0804597C
+ ldr r0, [r0]
+ ldr r3, _08045980
+ adds r0, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08045984
+ adds r0, r4, 0
+ adds r0, 0x20
+ ldrb r0, [r0]
+ b _0804592E
+ .align 2, 0
+_0804597C: .4byte gDungeonGlobalData
+_08045980: .4byte 0x0001820f
+_08045984:
+ movs r0, 0x1
+ b _0804598A
+_08045988:
+ movs r0, 0
+_0804598A:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8045888
+
+ thumb_func_start sub_8045990
+sub_8045990:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _080459E8
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _080459E8
+ adds r0, r4, 0
+ adds r0, 0x20
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080459E8
+ ldr r0, [r4]
+ cmp r0, 0x1
+ bne _080459EC
+ ldr r0, [r5]
+ cmp r0, 0x1
+ bne _080459DE
+ adds r0, r5, 0
+ bl sub_8071884
+ lsls r0, 24
+ cmp r0, 0
+ bne _080459D8
+ ldr r0, [r4, 0x70]
+ adds r0, 0xE4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _080459E8
+_080459D8:
+ ldr r0, [r5, 0x70]
+ adds r0, 0xE8
+ b _080459E2
+_080459DE:
+ ldr r0, [r4, 0x70]
+ adds r0, 0xE4
+_080459E2:
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080459EC
+_080459E8:
+ movs r0, 0
+ b _080459F8
+_080459EC:
+ adds r0, r5, 0x4
+ adds r1, r4, 0x4
+ bl sub_8083294
+ lsls r0, 24
+ lsrs r0, 24
+_080459F8:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8045990
+
+ thumb_func_start sub_8045A00
+sub_8045A00:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08045A58
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08045A58
+ adds r0, r4, 0
+ adds r0, 0x20
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08045A58
+ ldr r0, [r4]
+ cmp r0, 0x1
+ bne _08045A5C
+ ldr r0, [r5]
+ cmp r0, 0x1
+ bne _08045A4E
+ adds r0, r5, 0
+ bl sub_8071884
+ lsls r0, 24
+ cmp r0, 0
+ bne _08045A48
+ ldr r0, [r4, 0x70]
+ adds r0, 0xE4
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08045A58
+_08045A48:
+ ldr r0, [r5, 0x70]
+ adds r0, 0xE8
+ b _08045A52
+_08045A4E:
+ ldr r0, [r4, 0x70]
+ adds r0, 0xE4
+_08045A52:
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _08045A5C
+_08045A58:
+ movs r0, 0
+ b _08045A68
+_08045A5C:
+ adds r0, r5, 0x4
+ adds r1, r4, 0x4
+ bl sub_808333C
+ lsls r0, 24
+ lsrs r0, 24
+_08045A68:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8045A00
+
+ thumb_func_start sub_8045A70
+sub_8045A70:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08045AA4
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08045AA4
+ adds r0, r4, 0
+ adds r0, 0x20
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08045AA4
+ adds r0, r5, 0x4
+ adds r1, r4, 0x4
+ bl sub_8083294
+ lsls r0, 24
+ lsrs r0, 24
+ b _08045AA6
+_08045AA4:
+ movs r0, 0
+_08045AA6:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8045A70
+
+ thumb_func_start sub_8045AAC
+sub_8045AAC:
+ push {lr}
+ adds r0, 0x4
+ bl sub_8083294
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8045AAC
+
+ thumb_func_start sub_8045ABC
+sub_8045ABC:
+ push {lr}
+ adds r0, 0x4
+ bl sub_808333C
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8045ABC
+
+ thumb_func_start sub_8045ACC
+sub_8045ACC:
+ push {r4-r7,lr}
+ movs r6, 0
+ movs r5, 0
+ ldr r7, _08045B50
+_08045AD4:
+ ldr r0, [r7]
+ lsls r1, r5, 2
+ ldr r2, _08045B54
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08045AFA
+ ldr r0, [r7]
+ lsls r1, r6, 2
+ ldr r2, _08045B58
+ adds r0, r2
+ adds r0, r1
+ str r4, [r0]
+ adds r6, 0x1
+_08045AFA:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08045AD4
+ movs r5, 0
+ ldr r7, _08045B50
+_08045B04:
+ ldr r0, [r7]
+ lsls r1, r5, 2
+ ldr r2, _08045B5C
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08045B2A
+ ldr r0, [r7]
+ lsls r1, r6, 2
+ ldr r2, _08045B58
+ adds r0, r2
+ adds r0, r1
+ str r4, [r0]
+ adds r6, 0x1
+_08045B2A:
+ adds r5, 0x1
+ cmp r5, 0xF
+ ble _08045B04
+ cmp r6, 0x13
+ bgt _08045B4A
+ ldr r4, _08045B50
+ ldr r3, _08045B58
+ movs r2, 0
+_08045B3A:
+ ldr r0, [r4]
+ lsls r1, r6, 2
+ adds r0, r3
+ adds r0, r1
+ str r2, [r0]
+ adds r6, 0x1
+ cmp r6, 0x13
+ ble _08045B3A
+_08045B4A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08045B50: .4byte gDungeonGlobalData
+_08045B54: .4byte 0x0001357c
+_08045B58: .4byte 0x000135cc
+_08045B5C: .4byte 0x0001358c
+ thumb_func_end sub_8045ACC
+
+ thumb_func_start sub_8045B60
+sub_8045B60:
+ push {r4,lr}
+ adds r3, r0, 0
+ movs r2, 0
+ ldr r0, _08045B78
+ ldr r0, [r0]
+ ldr r4, _08045B7C
+ adds r1, r0, r4
+_08045B6E:
+ ldr r0, [r1]
+ cmp r3, r0
+ bne _08045B80
+ adds r0, r2, 0
+ b _08045B8C
+ .align 2, 0
+_08045B78: .4byte gDungeonGlobalData
+_08045B7C: .4byte 0x0001357c
+_08045B80:
+ adds r1, 0x4
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _08045B6E
+ movs r0, 0x1
+ negs r0, r0
+_08045B8C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8045B60
+
+ thumb_func_start sub_8045B94
+sub_8045B94:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ adds r6, r2, 0
+ adds r0, r4, 0
+ bl sub_80450F8
+ cmp r0, 0x2
+ beq _08045BD2
+ cmp r0, 0x2
+ bhi _08045BB0
+ cmp r0, 0x1
+ beq _08045BB6
+ b _08045BE2
+_08045BB0:
+ cmp r0, 0x3
+ beq _08045BC2
+ b _08045BE2
+_08045BB6:
+ ldr r1, [r4, 0x70]
+ adds r0, r5, 0
+ adds r2, r6, 0
+ bl sub_80708B4
+ b _08045BEC
+_08045BC2:
+ adds r0, r4, 0
+ bl sub_8045110
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl sub_8045BF8
+ b _08045BEC
+_08045BD2:
+ adds r0, r4, 0
+ bl sub_804510C
+ ldrb r1, [r0]
+ adds r0, r5, 0
+ bl GetTrapName
+ b _08045BEC
+_08045BE2:
+ ldr r0, _08045BF4
+ ldr r1, [r0]
+ adds r0, r5, 0
+ bl strcpy
+_08045BEC:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08045BF4: .4byte gUnknown_80FE6F4
+ thumb_func_end sub_8045B94
+
+ thumb_func_start sub_8045BF8
+sub_8045BF8:
+ push {lr}
+ ldr r2, _08045C04
+ bl sub_8090E14
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08045C04: .4byte gUnknown_80F699C
+ thumb_func_end sub_8045BF8
+
+ thumb_func_start sub_8045C08
+sub_8045C08:
+ push {lr}
+ ldr r2, _08045C14
+ bl sub_8090E14
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08045C14: .4byte gUnknown_80F69A8
+ thumb_func_end sub_8045C08
+
+ thumb_func_start sub_8045C18
+sub_8045C18:
+ push {lr}
+ ldr r2, _08045C24
+ bl sub_8090E14
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08045C24: .4byte gUnknown_80F6990
+ thumb_func_end sub_8045C18
+
+ thumb_func_start sub_8045C28
+sub_8045C28:
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ adds r6, r2, 0
+ lsls r1, 24
+ lsrs r4, r1, 24
+ adds r1, r4, 0
+ movs r2, 0
+ bl xxx_init_itemslot_8090A8C
+ movs r7, 0
+ adds r0, r4, 0
+ bl IsNotSpecialItem
+ lsls r0, 24
+ cmp r0, 0
+ beq _08045C72
+ cmp r6, 0
+ bne _08045C6C
+ movs r0, 0x64
+ bl sub_8084100
+ ldr r1, _08045C64
+ ldr r1, [r1]
+ ldr r2, _08045C68
+ adds r1, r2
+ ldrb r1, [r1]
+ cmp r0, r1
+ bge _08045C72
+ b _08045C76
+ .align 2, 0
+_08045C64: .4byte gDungeonGlobalData
+_08045C68: .4byte 0x0001c57e
+_08045C6C:
+ cmp r6, 0x1
+ bne _08045C72
+ movs r7, 0x1
+_08045C72:
+ cmp r7, 0
+ beq _08045C7E
+_08045C76:
+ ldrb r1, [r5]
+ movs r0, 0x8
+ orrs r0, r1
+ strb r0, [r5]
+_08045C7E:
+ adds r0, r4, 0
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x6
+ bne _08045CA2
+ ldr r0, _08045CA8
+ ldr r0, [r0]
+ ldr r1, _08045CAC
+ adds r0, r1
+ ldrb r0, [r0]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r0, r5, 0
+ bl sub_8046CE4
+_08045CA2:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08045CA8: .4byte gDungeonGlobalData
+_08045CAC: .4byte 0x0001c58b
+ thumb_func_end sub_8045C28
+
+ thumb_func_start sub_8045CB0
+sub_8045CB0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ movs r0, 0x38
+ bl sub_8084100
+ adds r5, r0, 0
+ movs r0, 0x20
+ bl sub_8084100
+ adds r6, r0, 0
+ ldr r0, _08045D34
+ ldr r0, [r0]
+ ldr r1, _08045D38
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0]
+ movs r0, 0
+_08045CDA:
+ adds r6, 0x1
+ cmp r6, 0x20
+ bne _08045CE2
+ movs r6, 0
+_08045CE2:
+ adds r0, 0x1
+ mov r10, r0
+ movs r3, 0x2
+ mov r9, r3
+ movs r0, 0x37
+ mov r8, r0
+_08045CEE:
+ adds r5, 0x1
+ cmp r5, 0x38
+ bne _08045CF6
+ movs r5, 0
+_08045CF6:
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl sub_804954C
+ adds r2, r0, 0
+ ldrh r0, [r2]
+ movs r3, 0x80
+ lsls r3, 2
+ adds r1, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08045D92
+ ldrh r1, [r2, 0x4]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ beq _08045D92
+ movs r7, 0
+ lsls r0, r5, 16
+ lsls r1, r6, 16
+ lsrs r0, 16
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ ldrh r1, [r2]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _08045D3C
+ movs r7, 0x1
+ movs r0, 0x1
+ b _08045D58
+ .align 2, 0
+_08045D34: .4byte gDungeonGlobalData
+_08045D38: .4byte 0x00003904
+_08045D3C:
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _08045D48
+ movs r0, 0x3
+ b _08045D58
+_08045D48:
+ movs r0, 0x40
+ ands r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ negs r0, r0
+ asrs r0, 31
+ mov r1, r9
+ ands r0, r1
+_08045D58:
+ bl sub_803D73C
+ lsls r0, 24
+ lsrs r0, 24
+ adds r4, r0, 0
+ bl CanSellItem
+ lsls r0, 24
+ cmp r0, 0
+ bne _08045D6E
+ movs r7, 0
+_08045D6E:
+ mov r0, sp
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8045C28
+ cmp r7, 0
+ beq _08045D88
+ mov r0, sp
+ ldrb r1, [r0]
+ mov r0, r9
+ orrs r0, r1
+ mov r1, sp
+ strb r0, [r1]
+_08045D88:
+ add r0, sp, 0x4
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_80460F8
+_08045D92:
+ movs r3, 0x1
+ negs r3, r3
+ add r8, r3
+ mov r0, r8
+ cmp r0, 0
+ bge _08045CEE
+ mov r0, r10
+ cmp r0, 0x1F
+ ble _08045CDA
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8045CB0
+
+ thumb_func_start sub_8045DB4
+sub_8045DB4:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xB8
+ mov r10, r0
+ lsls r1, 24
+ lsrs r1, 24
+ str r1, [sp, 0xA8]
+ bl sub_8083600
+ adds r7, r0, 0
+ ldr r0, [r7, 0x70]
+ str r0, [sp, 0xAC]
+ mov r1, r10
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ movs r3, 0x2
+ ldrsh r1, [r1, r3]
+ bl sub_804954C
+ ldr r4, [r0, 0x14]
+ cmp r4, 0
+ bne _08045DE8
+ b _080460E0
+_08045DE8:
+ adds r0, r4, 0
+ bl sub_80450F8
+ cmp r0, 0x3
+ beq _08045DF4
+ b _080460E0
+_08045DF4:
+ adds r0, r4, 0
+ bl sub_8045108
+ adds r5, r0, 0
+ ldr r0, [sp, 0xAC]
+ adds r0, 0x48
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08045E08
+ b _0804602E
+_08045E08:
+ adds r0, r7, 0
+ movs r1, 0x1
+ bl sub_8071518
+ lsls r0, 24
+ cmp r0, 0
+ beq _08045E40
+ ldr r0, [sp, 0xA8]
+ cmp r0, 0
+ bne _08045E1E
+ b _080460E0
+_08045E1E:
+ ldr r0, _08045E34
+ adds r1, r5, 0
+ bl sub_8045BF8
+ ldr r0, _08045E38
+ adds r1, r7, 0
+ movs r2, 0
+ bl sub_8045B94
+ ldr r0, _08045E3C
+ b _08046048
+ .align 2, 0
+_08045E34: .4byte gUnknown_202DE58
+_08045E38: .4byte gAvailablePokemonNames
+_08045E3C: .4byte gUnknown_80F8F88
+_08045E40:
+ ldrb r0, [r5, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x6
+ bne _08045E7C
+ movs r0, 0xA6
+ lsls r0, 1
+ bl PlaySoundEffect
+ adds r0, r5, 0
+ bl GetMoneyValue
+ bl AddToTeamMoney
+ ldr r0, _08045E74
+ adds r1, r5, 0
+ bl sub_8045BF8
+ mov r0, r10
+ movs r1, 0x1
+ bl sub_80461C8
+ ldr r0, _08045E78
+ b _08045FD0
+ .align 2, 0
+_08045E74: .4byte gUnknown_202DE58
+_08045E78: .4byte gUnknown_80F8FFC
+_08045E7C:
+ ldr r0, _08045EA8
+ ldr r0, [r0]
+ ldr r1, _08045EAC
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08045EB4
+ movs r4, 0
+ ldr r0, _08045EB0
+ mov r2, sp
+ ldr r0, [r0]
+ add r1, sp, 0x54
+_08045E94:
+ stm r1!, {r0}
+ stm r2!, {r4}
+ adds r0, 0x4
+ adds r4, 0x1
+ cmp r4, 0x13
+ ble _08045E94
+ movs r2, 0x14
+ mov r8, r2
+ b _08045EC4
+ .align 2, 0
+_08045EA8: .4byte gDungeonGlobalData
+_08045EAC: .4byte 0x0000065b
+_08045EB0: .4byte gTeamInventory_203B460
+_08045EB4:
+ ldr r0, [sp, 0xAC]
+ adds r0, 0x60
+ str r0, [sp, 0x54]
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [sp]
+ movs r3, 0x1
+ mov r8, r3
+_08045EC4:
+ ldrb r0, [r5, 0x2]
+ add r6, sp, 0xB0
+ strb r0, [r6]
+ cmp r0, 0x8
+ bls _08045ED0
+ b _08046000
+_08045ED0:
+ ldrb r1, [r5]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08045EDC
+ b _08046000
+_08045EDC:
+ movs r1, 0x1
+ negs r1, r1
+ mov r12, r1
+ mov r2, r12
+ str r2, [sp, 0xB4]
+ movs r4, 0
+ cmp r4, r8
+ bge _08045F2C
+ ldr r3, _08045FDC
+ mov r9, r3
+ add r3, sp, 0x54
+_08045EF2:
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08045F24
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08045F24
+ ldr r1, [r5]
+ mov r6, r9
+ ands r1, r6
+ ldr r0, [r2]
+ ands r0, r6
+ cmp r1, r0
+ bne _08045F24
+ ldrb r0, [r2, 0x1]
+ cmp r0, 0x63
+ beq _08045F24
+ ldr r1, [sp, 0xB4]
+ cmp r1, r0
+ bge _08045F24
+ str r0, [sp, 0xB4]
+ mov r12, r4
+_08045F24:
+ adds r3, 0x4
+ adds r4, 0x1
+ cmp r4, r8
+ blt _08045EF2
+_08045F2C:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r12, r0
+ bne _08045F80
+ mov r2, r12
+ str r2, [sp, 0xB4]
+ movs r4, 0
+ cmp r4, r8
+ bge _08045F78
+ add r3, sp, 0xB0
+ ldrb r3, [r3]
+ mov r9, r3
+ add r3, sp, 0x54
+_08045F46:
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08045F70
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _08045F70
+ ldrb r6, [r2, 0x2]
+ cmp r9, r6
+ bne _08045F70
+ ldrb r0, [r2, 0x1]
+ cmp r0, 0x63
+ beq _08045F70
+ ldr r1, [sp, 0xB4]
+ cmp r1, r0
+ bge _08045F70
+ str r0, [sp, 0xB4]
+ mov r12, r4
+_08045F70:
+ adds r3, 0x4
+ adds r4, 0x1
+ cmp r4, r8
+ blt _08045F46
+_08045F78:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r12, r0
+ beq _08046000
+_08045F80:
+ add r0, sp, 0x54
+ mov r2, r12
+ lsls r4, r2, 2
+ adds r3, r0, r4
+ ldr r2, [r3]
+ ldrb r1, [r2, 0x1]
+ ldrb r0, [r5, 0x1]
+ adds r1, r0
+ cmp r1, 0x62
+ ble _08045F96
+ movs r1, 0x63
+_08045F96:
+ strb r1, [r2, 0x1]
+ ldrb r1, [r5]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08045FAC
+ ldr r0, [r3]
+ ldrb r1, [r0]
+ movs r2, 0x8
+ orrs r1, r2
+ strb r1, [r0]
+_08045FAC:
+ ldr r0, _08045FE0
+ adds r1, r5, 0
+ bl sub_8045BF8
+ mov r0, r10
+ movs r1, 0x1
+ bl sub_80461C8
+ movs r0, 0xA5
+ lsls r0, 1
+ bl PlaySoundEffect
+ mov r3, sp
+ adds r0, r3, r4
+ ldr r0, [r0]
+ cmp r0, 0
+ bge _08045FE8
+ ldr r0, _08045FE4
+_08045FD0:
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl sub_80522A8
+ b _08045FF2
+ .align 2, 0
+_08045FDC: .4byte 0x00ff0008
+_08045FE0: .4byte gUnknown_202DE58
+_08045FE4: .4byte gUnknown_80F8FC4
+_08045FE8:
+ ldr r0, _08045FFC
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl sub_80522A8
+_08045FF2:
+ ldrb r0, [r5, 0x2]
+ bl sub_8052EC0
+ b _080460E0
+ .align 2, 0
+_08045FFC: .4byte gUnknown_80F8FF8
+_08046000:
+ movs r4, 0
+ cmp r4, r8
+ bge _0804602A
+ ldr r0, [sp, 0x54]
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0804602A
+ movs r3, 0x1
+ add r2, sp, 0x54
+_08046016:
+ adds r2, 0x4
+ adds r4, 0x1
+ cmp r4, r8
+ bge _0804602A
+ ldr r0, [r2]
+ ldrb r1, [r0]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08046016
+_0804602A:
+ cmp r4, r8
+ bne _08046060
+_0804602E:
+ ldr r6, [sp, 0xA8]
+ cmp r6, 0
+ beq _080460E0
+ ldr r0, _08046054
+ adds r1, r5, 0
+ bl sub_8045BF8
+ ldr r0, _08046058
+ adds r1, r7, 0
+ movs r2, 0
+ bl sub_8045B94
+ ldr r0, _0804605C
+_08046048:
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl sub_80522A8
+ b _080460E0
+ .align 2, 0
+_08046054: .4byte gUnknown_202DE58
+_08046058: .4byte gAvailablePokemonNames
+_0804605C: .4byte gUnknown_80F8F54
+_08046060:
+ movs r0, 0xA5
+ lsls r0, 1
+ bl PlaySoundEffect
+ lsls r0, r4, 2
+ add r0, sp
+ ldr r0, [r0]
+ cmp r0, 0
+ bge _08046094
+ ldr r0, [r5]
+ ldr r1, [sp, 0xAC]
+ str r0, [r1, 0x60]
+ ldr r0, _0804608C
+ adds r1, r5, 0
+ bl sub_8045BF8
+ mov r0, r10
+ movs r1, 0x1
+ bl sub_80461C8
+ ldr r0, _08046090
+ b _080460AC
+ .align 2, 0
+_0804608C: .4byte gUnknown_202DE58
+_08046090: .4byte gUnknown_80F8FC4
+_08046094:
+ adds r0, r5, 0
+ bl AddItemToInventory
+ lsls r0, 24
+ cmp r0, 0
+ beq _080460C0
+ ldr r0, _080460B8
+ adds r1, r7, 0
+ movs r2, 0
+ bl sub_8045B94
+ ldr r0, _080460BC
+_080460AC:
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl sub_80522A8
+ b _080460DA
+ .align 2, 0
+_080460B8: .4byte gAvailablePokemonNames
+_080460BC: .4byte gUnknown_80F8FAC
+_080460C0:
+ ldr r0, _080460F0
+ adds r1, r5, 0
+ bl sub_8045BF8
+ mov r0, r10
+ movs r1, 0x1
+ bl sub_80461C8
+ ldr r0, _080460F4
+ ldr r1, [r0]
+ adds r0, r7, 0
+ bl sub_80522A8
+_080460DA:
+ ldrb r0, [r5, 0x2]
+ bl sub_8052EC0
+_080460E0:
+ add sp, 0xB8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080460F0: .4byte gUnknown_202DE58
+_080460F4: .4byte gUnknown_80F8FF8
+ thumb_func_end sub_8045DB4
+
+ thumb_func_start sub_80460F8
+sub_80460F8:
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ adds r6, r1, 0
+ lsls r2, 24
+ lsrs r7, r2, 24
+ bl sub_8045708
+ adds r4, r0, 0
+ cmp r4, 0
+ bne _08046110
+ movs r0, 0
+ b _080461B6
+_08046110:
+ ldr r1, [r4, 0x70]
+ ldr r0, [r6]
+ str r0, [r1]
+ ldr r2, [r4, 0x70]
+ ldrb r1, [r2]
+ movs r0, 0xEF
+ ands r0, r1
+ strb r0, [r2]
+ adds r1, r4, 0
+ adds r1, 0x20
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ movs r2, 0x2
+ ldrsh r1, [r5, r2]
+ bl sub_8049590
+ str r4, [r0, 0x14]
+ ldrh r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _08046186
+ ldrb r0, [r6, 0x2]
+ bl CanSellItem
+ lsls r0, 24
+ cmp r0, 0
+ beq _08046186
+ ldrb r1, [r6]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08046170
+ cmp r7, 0
+ beq _08046186
+ adds r0, r6, 0
+ bl GetStackBuyPrice
+ ldr r1, _08046168
+ ldr r2, [r1]
+ ldr r1, _0804616C
+ b _0804617E
+ .align 2, 0
+_08046168: .4byte gDungeonGlobalData
+_0804616C: .4byte 0x0000068c
+_08046170:
+ adds r0, r6, 0
+ bl GetStackSellPrice
+ ldr r1, _080461BC
+ ldr r2, [r1]
+ movs r1, 0xD2
+ lsls r1, 3
+_0804617E:
+ adds r2, r1
+ ldr r1, [r2]
+ adds r1, r0
+ str r1, [r2]
+_08046186:
+ movs r6, 0
+ movs r4, 0
+_0804618A:
+ ldr r5, _080461BC
+ ldr r0, [r5]
+ lsls r1, r4, 2
+ ldr r2, _080461C0
+ adds r0, r2
+ adds r0, r1
+ ldr r0, [r0]
+ bl entityExists
+ lsls r0, 24
+ adds r1, r4, 0x1
+ cmp r0, 0
+ beq _080461A6
+ adds r6, r1, 0
+_080461A6:
+ adds r4, r1, 0
+ cmp r4, 0x3F
+ ble _0804618A
+ ldr r0, [r5]
+ ldr r1, _080461C4
+ adds r0, r1
+ strh r6, [r0]
+ movs r0, 0x1
+_080461B6:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080461BC: .4byte gDungeonGlobalData
+_080461C0: .4byte 0x0001361c
+_080461C4: .4byte 0x00003904
+ thumb_func_end sub_80460F8
+
+ thumb_func_start sub_80461C8
+sub_80461C8:
+ push {r4-r7,lr}
+ adds r2, r0, 0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ movs r3, 0x2
+ ldrsh r1, [r2, r3]
+ bl sub_8049590
+ adds r6, r0, 0
+ ldr r5, [r6, 0x14]
+ cmp r5, 0
+ beq _080461EE
+ adds r0, r5, 0
+ bl sub_80450F8
+ cmp r0, 0x3
+ beq _080461F2
+_080461EE:
+ movs r0, 0
+ b _08046284
+_080461F2:
+ adds r0, r5, 0
+ bl sub_8045108
+ adds r4, r0, 0
+ ldrh r1, [r6]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _0804624E
+ ldrb r0, [r4, 0x2]
+ bl CanSellItem
+ lsls r0, 24
+ cmp r0, 0
+ beq _0804624E
+ ldrb r1, [r4]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08046238
+ cmp r7, 0
+ beq _0804624E
+ adds r0, r4, 0
+ bl GetStackBuyPrice
+ ldr r1, _08046230
+ ldr r2, [r1]
+ ldr r1, _08046234
+ adds r2, r1
+ b _08046248
+ .align 2, 0
+_08046230: .4byte gDungeonGlobalData
+_08046234: .4byte 0x0000068c
+_08046238:
+ adds r0, r4, 0
+ bl GetStackSellPrice
+ ldr r1, _0804628C
+ ldr r2, [r1]
+ movs r3, 0xD2
+ lsls r3, 3
+ adds r2, r3
+_08046248:
+ ldr r1, [r2]
+ subs r1, r0
+ str r1, [r2]
+_0804624E:
+ movs r0, 0
+ str r0, [r6, 0x14]
+ str r0, [r5]
+ movs r6, 0
+ movs r4, 0
+_08046258:
+ ldr r5, _0804628C
+ ldr r0, [r5]
+ lsls r1, r4, 2
+ ldr r2, _08046290
+ adds r0, r2
+ adds r0, r1
+ ldr r0, [r0]
+ bl entityExists
+ lsls r0, 24
+ adds r1, r4, 0x1
+ cmp r0, 0
+ beq _08046274
+ adds r6, r1, 0
+_08046274:
+ adds r4, r1, 0
+ cmp r4, 0x3F
+ ble _08046258
+ ldr r0, [r5]
+ ldr r3, _08046294
+ adds r0, r3
+ strh r6, [r0]
+ movs r0, 0x1
+_08046284:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0804628C: .4byte gDungeonGlobalData
+_08046290: .4byte 0x0001361c
+_08046294: .4byte 0x00003904
+ thumb_func_end sub_80461C8
+
+ thumb_func_start sub_8046298
+sub_8046298:
+ ldrb r0, [r0, 0x2]
+ ldr r1, _080462A8
+ ldr r1, [r1]
+ lsls r0, 5
+ adds r0, r1
+ ldrb r0, [r0, 0xD]
+ bx lr
+ .align 2, 0
+_080462A8: .4byte gItemParametersData
+ thumb_func_end sub_8046298
+
+ thumb_func_start sub_80462AC
+sub_80462AC:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ adds r4, r0, 0
+ ldr r0, [sp, 0x28]
+ lsls r1, 24
+ lsrs r1, 24
+ mov r10, r1
+ lsls r2, 24
+ lsrs r5, r2, 24
+ lsls r3, 24
+ lsrs r3, 24
+ mov r9, r3
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ bne _080462E4
+ b _08046498
+_080462E4:
+ cmp r5, 0
+ beq _08046316
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ movs r2, 0x6
+ ldrsh r1, [r4, r2]
+ bl sub_804954C
+ ldrh r0, [r0]
+ movs r1, 0x3
+ ands r1, r0
+ cmp r1, 0
+ bne _08046300
+ b _08046498
+_08046300:
+ cmp r1, 0x2
+ bne _08046308
+ movs r3, 0x1
+ str r3, [sp, 0x4]
+_08046308:
+ adds r0, r4, 0
+ bl sub_8045888
+ lsls r0, 24
+ cmp r0, 0
+ bne _08046316
+ b _08046498
+_08046316:
+ ldr r1, [r4, 0xC]
+ cmp r1, 0
+ bge _0804631E
+ adds r1, 0xFF
+_0804631E:
+ asrs r1, 8
+ ldr r0, _080463A4
+ ldr r2, [r0]
+ ldr r5, _080463A8
+ adds r0, r2, r5
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ subs r6, r1, r0
+ ldr r3, [r4, 0x10]
+ ldr r0, [r4, 0x1C]
+ subs r1, r3, r0
+ cmp r1, 0
+ bge _0804633A
+ adds r1, 0xFF
+_0804633A:
+ asrs r1, 8
+ ldr r5, _080463AC
+ adds r0, r2, r5
+ movs r5, 0
+ ldrsh r2, [r0, r5]
+ subs r1, r2
+ mov r8, r1
+ adds r0, r3, 0
+ cmp r0, 0
+ bge _08046350
+ adds r0, 0xFF
+_08046350:
+ asrs r0, 8
+ subs r0, r2
+ adds r7, r0, 0
+ adds r7, 0x8
+ lsrs r0, r7, 31
+ adds r0, r7, r0
+ asrs r7, r0, 1
+ movs r0, 0x20
+ negs r0, r0
+ cmp r6, r0
+ bge _08046368
+ b _08046498
+_08046368:
+ cmp r8, r0
+ bge _0804636E
+ b _08046498
+_0804636E:
+ movs r0, 0x88
+ lsls r0, 1
+ cmp r6, r0
+ ble _08046378
+ b _08046498
+_08046378:
+ mov r0, r8
+ cmp r0, 0xC0
+ ble _08046380
+ b _08046498
+_08046380:
+ ldr r5, _080463B0
+ ldrh r1, [r5, 0x2]
+ ldr r0, _080463B4
+ ands r0, r1
+ strh r0, [r5, 0x2]
+ mov r1, r10
+ cmp r1, 0
+ beq _080463BC
+ movs r2, 0x17
+ mov r10, r2
+ movs r2, 0xA0
+ lsls r2, 8
+ ldrh r1, [r5, 0x4]
+ ldr r0, _080463B8
+ ands r0, r1
+ orrs r0, r2
+ strh r0, [r5, 0x4]
+ b _08046408
+ .align 2, 0
+_080463A4: .4byte gDungeonGlobalData
+_080463A8: .4byte 0x000181f0
+_080463AC: .4byte 0x000181f2
+_080463B0: .4byte gUnknown_202EDC0
+_080463B4: .4byte 0x0000c1ff
+_080463B8: .4byte 0x00000fff
+_080463BC:
+ ldr r0, [r4, 0x70]
+ bl sub_8046298
+ mov r10, r0
+ mov r3, r9
+ cmp r3, 0xFF
+ beq _080463EE
+ cmp r0, 0
+ bne _080463EE
+ ldr r0, _08046478
+ add r0, r9
+ ldrb r0, [r0]
+ mov r10, r0
+ ldr r0, _0804647C
+ add r0, r9
+ ldrb r1, [r0]
+ lsls r1, 3
+ movs r0, 0x1F
+ ands r1, r0
+ lsls r1, 9
+ ldrh r2, [r5, 0x2]
+ ldr r0, _08046480
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r5, 0x2]
+_080463EE:
+ ldr r0, [r4, 0x70]
+ ldrb r0, [r0, 0x2]
+ bl GetItemPalette
+ movs r1, 0xF
+ ands r0, r1
+ lsls r0, 12
+ ldr r3, _08046484
+ ldrh r2, [r3, 0x4]
+ ldr r1, _08046488
+ ands r1, r2
+ orrs r1, r0
+ strh r1, [r3, 0x4]
+_08046408:
+ ldr r1, _08046488
+ mov r5, r8
+ ands r1, r5
+ lsls r1, 4
+ ldr r4, _08046484
+ ldrh r2, [r4, 0x6]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r4, 0x6]
+ ldr r0, _0804648C
+ ands r6, r0
+ ldrh r1, [r4, 0x2]
+ movs r0, 0xFE
+ lsls r0, 8
+ ands r0, r1
+ orrs r0, r6
+ strh r0, [r4, 0x2]
+ ldr r0, [sp, 0x4]
+ lsls r3, r0, 10
+ ldrh r2, [r4]
+ ldr r1, _08046490
+ adds r0, r1, 0
+ ands r0, r2
+ orrs r0, r3
+ strh r0, [r4]
+ movs r2, 0xC0
+ lsls r2, 4
+ ldrh r0, [r4, 0x4]
+ ands r1, r0
+ orrs r1, r2
+ mov r2, r10
+ lsls r0, r2, 2
+ movs r3, 0xD0
+ lsls r3, 1
+ adds r0, r3
+ ldr r2, _08046494
+ ands r0, r2
+ movs r2, 0xFC
+ lsls r2, 8
+ ands r1, r2
+ orrs r1, r0
+ strh r1, [r4, 0x4]
+ ldr r5, [sp]
+ cmp r5, 0
+ bne _08046466
+ movs r7, 0x1
+_08046466:
+ adds r0, r4, 0
+ adds r1, r7, 0
+ movs r2, 0
+ movs r3, 0
+ bl AddSprite
+ movs r0, 0x1
+ b _0804649A
+ .align 2, 0
+_08046478: .4byte gUnknown_203B420
+_0804647C: .4byte gUnknown_203B428
+_08046480: .4byte 0x0000c1ff
+_08046484: .4byte gUnknown_202EDC0
+_08046488: .4byte 0x00000fff
+_0804648C: .4byte 0x000001ff
+_08046490: .4byte 0x0000f3ff
+_08046494: .4byte 0x000003ff
+_08046498:
+ movs r0, 0
+_0804649A:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80462AC
+
+ thumb_func_start sub_80464AC
+sub_80464AC:
+ push {r4,lr}
+ ldr r4, _080464C4
+ ldrb r0, [r0, 0x2]
+ bl GetItemCategory
+ lsls r0, 3
+ adds r0, r4
+ ldr r0, [r0]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080464C4: .4byte gActions
+ thumb_func_end sub_80464AC
+
+ thumb_func_start sub_80464C8
+sub_80464C8:
+ push {r4-r6,lr}
+ sub sp, 0x78
+ adds r6, r0, 0
+ adds r3, r1, 0
+ adds r5, r2, 0
+ movs r0, 0x3
+ str r0, [sp, 0x4]
+ add r0, sp, 0x28
+ movs r4, 0
+ strb r4, [r0]
+ add r1, sp, 0x24
+ movs r0, 0x1
+ strb r0, [r1]
+ mov r0, sp
+ adds r0, 0x26
+ strb r4, [r0]
+ str r5, [sp, 0x74]
+ ldr r0, [r3]
+ str r0, [sp, 0x8]
+ movs r1, 0
+ ldrsh r0, [r3, r1]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, 0x4
+ lsls r1, 8
+ movs r2, 0x2
+ ldrsh r0, [r3, r2]
+ lsls r2, r0, 1
+ adds r2, r0
+ lsls r2, 3
+ adds r2, 0x4
+ lsls r2, 8
+ add r0, sp, 0x4
+ bl sub_8045394
+ add r0, sp, 0x4
+ strh r4, [r0, 0x26]
+ str r4, [sp]
+ adds r0, r6, 0
+ add r1, sp, 0x4
+ adds r2, r5, 0
+ movs r3, 0x1
+ bl sub_804652C
+ add sp, 0x78
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80464C8
+
+ thumb_func_start sub_804652C
+sub_804652C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ mov r10, r0
+ adds r5, r1, 0
+ mov r9, r2
+ lsls r3, 24
+ lsrs r6, r3, 24
+ movs r1, 0x4
+ ldrsh r0, [r5, r1]
+ movs r2, 0x6
+ ldrsh r1, [r5, r2]
+ bl sub_804954C
+ adds r4, r0, 0
+ ldr r0, [r4, 0x14]
+ movs r3, 0
+ str r3, [sp, 0xC]
+ cmp r0, 0
+ beq _0804658C
+ bl sub_80450F8
+ cmp r0, 0x2
+ bne _0804658C
+ adds r4, r5, 0x4
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_8046734
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_807FE44
+ ldr r0, _080465A4
+ ldr r1, [r0]
+ mov r0, r10
+ bl sub_80522A8
+ mov r0, r9
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0804658C
+ b _0804671E
+_0804658C:
+ ldrh r1, [r5, 0x6]
+ lsls r1, 16
+ ldrh r0, [r5, 0x4]
+ orrs r0, r1
+ str r0, [sp]
+ mov r8, r0
+ movs r7, 0x1
+ cmp r6, 0
+ beq _08046632
+ movs r7, 0
+ b _08046632
+ .align 2, 0
+_080465A4: .4byte gUnknown_80FED30
+_080465A8:
+ lsls r3, r7, 2
+ adds r3, r0
+ ldrh r0, [r3]
+ ldrh r1, [r5, 0x4]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _08046628
+ ldr r2, [sp]
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ ldrh r0, [r3, 0x2]
+ ldrh r3, [r5, 0x6]
+ adds r0, r3
+ lsls r0, 16
+ ldr r1, _0804662C
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ asrs r1, 16
+ bl sub_804954C
+ adds r4, r0, 0
+ ldrh r1, [r4]
+ movs r6, 0x3
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08046630
+ movs r0, 0x80
+ lsls r0, 2
+ ands r0, r1
+ cmp r0, 0
+ bne _08046630
+ ldr r0, [r4, 0x14]
+ cmp r0, 0
+ bne _08046630
+ adds r0, r5, 0
+ mov r1, sp
+ bl sub_8046734
+ ldr r3, [sp]
+ mov r8, r3
+ ldrh r1, [r4]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0x3
+ beq _08046620
+ mov r0, sp
+ mov r1, r9
+ movs r2, 0x1
+ bl sub_80460F8
+ lsls r0, 24
+ cmp r0, 0
+ beq _08046644
+_08046620:
+ movs r0, 0x1
+ str r0, [sp, 0xC]
+ b _08046644
+ .align 2, 0
+_08046628: .4byte 0xffff0000
+_0804662C: .4byte 0x0000ffff
+_08046630:
+ adds r7, 0x1
+_08046632:
+ ldr r0, _08046688
+ lsls r1, r7, 2
+ adds r1, r0
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ cmp r1, 0x63
+ bne _080465A8
+ movs r3, 0
+ str r3, [sp, 0xC]
+_08046644:
+ ldr r0, _0804668C
+ mov r1, r9
+ bl sub_8045BF8
+ ldr r0, [sp, 0xC]
+ cmp r0, 0
+ beq _080466C8
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ mov r4, sp
+ movs r2, 0x2
+ ldrsh r1, [r4, r2]
+ bl sub_80402AC
+ mov r0, sp
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ movs r2, 0x2
+ ldrsh r1, [r4, r2]
+ bl sub_804954C
+ ldrh r0, [r0]
+ movs r1, 0x3
+ ands r1, r0
+ adds r0, r1, 0
+ cmp r1, 0x1
+ beq _0804669A
+ cmp r1, 0x1
+ bgt _08046690
+ cmp r1, 0
+ beq _080466AC
+ b _0804671E
+ .align 2, 0
+_08046688: .4byte gUnknown_80F4468
+_0804668C: .4byte gUnknown_202DE58
+_08046690:
+ cmp r0, 0x2
+ beq _080466A4
+ cmp r0, 0x3
+ beq _080466B4
+ b _0804671E
+_0804669A:
+ ldr r0, _080466A0
+ b _080466B6
+ .align 2, 0
+_080466A0: .4byte gUnknown_80F93E8
+_080466A4:
+ ldr r0, _080466A8
+ b _080466B6
+ .align 2, 0
+_080466A8: .4byte gUnknown_80F9408
+_080466AC:
+ ldr r0, _080466B0
+ b _080466B6
+ .align 2, 0
+_080466B0: .4byte gUnknown_80F9424
+_080466B4:
+ ldr r0, _080466C4
+_080466B6:
+ ldr r2, [r0]
+ mov r0, r10
+ mov r1, sp
+ bl sub_8052364
+ b _0804671E
+ .align 2, 0
+_080466C4: .4byte gUnknown_80F949C
+_080466C8:
+ mov r3, r8
+ lsls r1, r3, 16
+ asrs r1, 16
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 11
+ movs r1, 0xC0
+ lsls r1, 4
+ adds r0, r1
+ str r0, [sp, 0x4]
+ asrs r1, r3, 16
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 11
+ movs r2, 0xC0
+ lsls r2, 4
+ adds r0, r2
+ add r2, sp, 0x4
+ str r0, [r2, 0x4]
+ ldr r3, [sp, 0x30]
+ cmp r3, 0
+ beq _0804670C
+ movs r1, 0
+ ldrsh r0, [r3, r1]
+ lsls r0, 8
+ ldr r1, [sp, 0x4]
+ adds r0, r1
+ str r0, [sp, 0x4]
+ movs r1, 0x2
+ ldrsh r0, [r3, r1]
+ lsls r0, 8
+ ldr r1, [r2, 0x4]
+ adds r0, r1
+ str r0, [r2, 0x4]
+_0804670C:
+ adds r0, r2, 0
+ bl sub_804219C
+ ldr r0, _08046730
+ ldr r2, [r0]
+ mov r0, r10
+ mov r1, sp
+ bl sub_8052364
+_0804671E:
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08046730: .4byte gUnknown_80F943C
+ thumb_func_end sub_804652C
+
+ thumb_func_start sub_8046734
+sub_8046734:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x18
+ mov r8, r0
+ ldr r0, _08046858
+ ldr r0, [r0]
+ ldr r2, _0804685C
+ adds r0, r2
+ ldrb r0, [r0]
+ str r0, [sp, 0xC]
+ movs r0, 0
+ ldrsh r2, [r1, r0]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r0, 0x4
+ lsls r4, r0, 8
+ movs r2, 0x2
+ ldrsh r1, [r1, r2]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r0, 0x4
+ lsls r5, r0, 8
+ mov r1, r8
+ ldr r0, [r1, 0xC]
+ subs r0, r4
+ cmp r0, 0
+ bge _08046776
+ negs r0, r0
+_08046776:
+ mov r2, r8
+ ldr r2, [r2, 0x10]
+ mov r9, r2
+ cmp r0, 0xB
+ bgt _0804678C
+ subs r0, r2, r5
+ cmp r0, 0
+ bge _08046788
+ negs r0, r0
+_08046788:
+ cmp r0, 0xB
+ ble _08046822
+_0804678C:
+ movs r0, 0
+ mov r10, r0
+ movs r1, 0
+ str r1, [sp, 0x10]
+ mov r2, r8
+ ldr r0, [r2, 0xC]
+ str r0, [sp, 0x4]
+ mov r1, r9
+ str r1, [sp, 0x8]
+ subs r0, r4, r0
+ movs r1, 0x18
+ bl __divsi3
+ adds r6, r0, 0
+ mov r2, r9
+ subs r0, r5, r2
+ movs r1, 0x18
+ bl __divsi3
+ adds r7, r0, 0
+ movs r0, 0
+ mov r9, r0
+ mov r1, sp
+ adds r1, 0x4
+ str r1, [sp, 0x14]
+_080467BE:
+ ldr r0, [sp, 0x4]
+ adds r0, r6
+ str r0, [sp, 0x4]
+ ldr r2, [sp, 0x14]
+ ldr r0, [r2, 0x4]
+ adds r0, r7
+ str r0, [r2, 0x4]
+ ldr r0, [sp, 0x10]
+ bl sub_8009C7C
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ mov r0, r8
+ str r1, [r0, 0x1C]
+ add r1, sp, 0x4
+ bl sub_804535C
+ mov r1, r10
+ lsls r3, r1, 24
+ lsrs r3, 24
+ movs r0, 0
+ str r0, [sp]
+ mov r0, r8
+ ldr r1, [sp, 0xC]
+ movs r2, 0
+ bl sub_80462AC
+ movs r0, 0x13
+ bl sub_803E46C
+ ldr r2, [sp, 0x10]
+ adds r2, 0x55
+ str r2, [sp, 0x10]
+ movs r0, 0x3
+ mov r1, r9
+ ands r0, r1
+ cmp r0, 0
+ bne _08046810
+ movs r2, 0x1
+ add r10, r2
+_08046810:
+ movs r0, 0x7
+ mov r1, r10
+ ands r1, r0
+ mov r10, r1
+ movs r2, 0x1
+ add r9, r2
+ mov r0, r9
+ cmp r0, 0x17
+ ble _080467BE
+_08046822:
+ mov r0, r8
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_8045394
+ movs r0, 0
+ mov r1, r8
+ str r0, [r1, 0x1C]
+ str r0, [sp]
+ mov r0, r8
+ ldr r1, [sp, 0xC]
+ movs r2, 0x1
+ movs r3, 0xFF
+ bl sub_80462AC
+ movs r0, 0x13
+ bl sub_803E46C
+ 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
+_08046858: .4byte gDungeonGlobalData
+_0804685C: .4byte 0x00018210
+ thumb_func_end sub_8046734
+
+ thumb_func_start sub_8046860
+sub_8046860:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r1, 0
+ adds r5, r2, 0
+ str r3, [sp]
+ adds r2, r4, 0
+ adds r3, r5, 0
+ bl sub_804687C
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8046860
+
+ thumb_func_start sub_804687C
+sub_804687C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r4, _08046970
+ add sp, r4
+ ldr r5, _08046974
+ add r5, sp
+ str r0, [r5]
+ movs r0, 0xA5
+ lsls r0, 3
+ add r0, sp
+ str r1, [r0]
+ mov r8, r2
+ ldr r1, _08046978
+ add r1, sp
+ str r3, [r1]
+ movs r1, 0
+ movs r7, 0x1D
+ ldr r0, _0804697C
+ add r0, sp
+_080468A8:
+ strb r1, [r0]
+ subs r0, 0x1
+ subs r7, 0x1
+ cmp r7, 0
+ bge _080468A8
+ movs r7, 0
+ movs r2, 0xAD
+ lsls r2, 3
+ add r2, sp
+ ldr r2, [r2]
+ cmp r7, r2
+ blt _080468C2
+ b _080469DE
+_080468C2:
+ ldr r3, _08046980
+ mov r9, r3
+ ldr r5, _08046984
+ movs r0, 0
+ ldrsh r5, [r5, r0]
+ ldr r0, _08046988
+ add r0, sp
+ str r5, [r0]
+_080468D2:
+ mov r1, r8
+ ldrh r0, [r1]
+ ldr r1, _0804698C
+ ands r4, r1
+ orrs r4, r0
+ mov r2, r8
+ ldrh r0, [r2, 0x2]
+ lsls r0, 16
+ mov r3, r9
+ ands r4, r3
+ orrs r4, r0
+ movs r5, 0
+ adds r0, r7, 0x1
+ mov r10, r0
+ ldr r1, _08046984
+ ldr r2, _08046988
+ add r2, sp
+ ldr r2, [r2]
+ cmp r2, 0x63
+ beq _080469B0
+ ldr r3, _08046990
+ add r3, sp
+ ldr r0, _08046994
+ add r0, sp
+ str r3, [r0]
+_08046904:
+ ldr r0, _08046998
+ add r0, sp
+ adds r6, r0, r5
+ ldrb r0, [r6]
+ cmp r0, 0
+ bne _0804699C
+ lsls r2, r5, 2
+ adds r2, r1
+ ldrh r0, [r2]
+ mov r1, r8
+ ldrh r1, [r1]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _0804698C
+ ands r4, r1
+ orrs r4, r0
+ ldrh r0, [r2, 0x2]
+ mov r2, r8
+ ldrh r2, [r2, 0x2]
+ adds r0, r2
+ lsls r0, 16
+ mov r3, r9
+ ands r4, r3
+ orrs r4, r0
+ lsls r0, r4, 16
+ asrs r0, 16
+ asrs r1, r4, 16
+ bl sub_804954C
+ adds r2, r0, 0
+ ldrh r1, [r2]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _0804699C
+ movs r3, 0x80
+ lsls r3, 2
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _0804699C
+ ldr r0, [r2, 0x14]
+ cmp r0, 0
+ bne _0804699C
+ lsls r0, r7, 2
+ ldr r5, _08046994
+ add r5, sp
+ ldr r5, [r5]
+ adds r0, r5, r0
+ str r4, [r0]
+ movs r0, 0x1
+ strb r0, [r6]
+ b _080469CE
+ .align 2, 0
+_08046970: .4byte 0xfffffab8
+_08046974: .4byte 0x00000524
+_08046978: .4byte 0x0000052c
+_0804697C: .4byte 0x00000521
+_08046980: .4byte 0x0000ffff
+_08046984: .4byte gUnknown_80F4468
+_08046988: .4byte 0x00000534
+_0804698C: .4byte 0xffff0000
+_08046990: .4byte 0x0000048c
+_08046994: .4byte 0x00000544
+_08046998: .4byte 0x00000504
+_0804699C:
+ adds r5, 0x1
+ cmp r5, 0x1D
+ bgt _080469B0
+ lsls r0, r5, 2
+ ldr r1, _08046A18
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r0, 0x63
+ bne _08046904
+_080469B0:
+ movs r3, 0
+ cmp r3, 0
+ bne _080469CE
+ ldr r1, _08046A1C
+ add r1, sp
+ lsls r0, r7, 2
+ adds r1, r0
+ ldrh r2, [r1]
+ mov r0, r9
+ orrs r0, r2
+ strh r0, [r1]
+ ldrh r2, [r1, 0x2]
+ mov r0, r9
+ orrs r0, r2
+ strh r0, [r1, 0x2]
+_080469CE:
+ mov r7, r10
+ movs r5, 0xAD
+ lsls r5, 3
+ add r5, sp
+ ldr r5, [r5]
+ cmp r7, r5
+ bge _080469DE
+ b _080468D2
+_080469DE:
+ movs r1, 0
+ mov r9, r1
+ movs r7, 0
+ movs r0, 0xAD
+ lsls r0, 3
+ add r0, sp
+ ldr r0, [r0]
+ cmp r7, r0
+ blt _080469F2
+ b _08046B0A
+_080469F2:
+ movs r2, 0
+ mov r8, r2
+_080469F6:
+ ldr r0, _08046A1C
+ add r0, sp
+ lsls r2, r7, 2
+ adds r3, r0, r2
+ movs r4, 0
+ ldrsh r0, [r3, r4]
+ cmp r0, 0
+ bge _08046A20
+ movs r0, 0x74
+ muls r0, r7
+ add r0, sp
+ adds r0, 0x4
+ mov r5, r8
+ str r5, [r0]
+ movs r0, 0x1
+ mov r9, r0
+ b _08046AFA
+ .align 2, 0
+_08046A18: .4byte gUnknown_80F4468
+_08046A1C: .4byte 0x0000048c
+_08046A20:
+ movs r0, 0x74
+ adds r6, r7, 0
+ muls r6, r0
+ mov r4, sp
+ adds r4, r6
+ adds r4, 0x4
+ movs r0, 0x3
+ str r0, [r4]
+ adds r0, r4, 0
+ adds r0, 0x24
+ mov r1, r8
+ strb r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x20
+ movs r0, 0x1
+ strb r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x22
+ mov r5, r8
+ strb r5, [r0]
+ add r0, sp, 0x74
+ adds r0, r6
+ ldr r1, _08046B2C
+ add r1, sp
+ ldr r1, [r1]
+ adds r2, r1, r2
+ str r2, [r0]
+ add r0, sp, 0x8
+ adds r0, r6
+ ldr r1, [r3]
+ str r1, [r0]
+ movs r2, 0xA5
+ lsls r2, 3
+ add r2, sp
+ ldr r2, [r2]
+ movs r5, 0
+ ldrsh r0, [r2, r5]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, 0x4
+ lsls r1, 8
+ movs r5, 0x2
+ ldrsh r0, [r2, r5]
+ lsls r2, r0, 1
+ adds r2, r0
+ lsls r2, 3
+ adds r2, 0x4
+ lsls r2, 8
+ adds r0, r4, 0
+ movs r5, 0xA8
+ lsls r5, 3
+ add r5, sp
+ str r3, [r5]
+ bl sub_8045394
+ mov r0, r8
+ strh r0, [r4, 0x26]
+ ldr r4, _08046B30
+ add r4, sp
+ lsls r5, r7, 3
+ adds r4, r5
+ movs r1, 0xA8
+ lsls r1, 3
+ add r1, sp
+ ldr r3, [r1]
+ movs r2, 0
+ ldrsh r1, [r3, r2]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r0, 0x4
+ lsls r0, 8
+ add r1, sp, 0x10
+ adds r1, r6
+ ldr r1, [r1]
+ subs r0, r1
+ movs r1, 0x18
+ movs r2, 0xA8
+ lsls r2, 3
+ add r2, sp
+ str r3, [r2]
+ bl __divsi3
+ str r0, [r4]
+ movs r4, 0x97
+ lsls r4, 3
+ add r4, sp
+ adds r4, r5
+ movs r5, 0xA8
+ lsls r5, 3
+ add r5, sp
+ ldr r3, [r5]
+ movs r0, 0x2
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r0, 0x4
+ lsls r0, 8
+ add r1, sp, 0x14
+ adds r1, r6
+ ldr r1, [r1]
+ subs r0, r1
+ movs r1, 0x18
+ bl __divsi3
+ str r0, [r4]
+ movs r1, 0x1
+_08046AFA:
+ adds r7, 0x1
+ movs r2, 0xAD
+ lsls r2, 3
+ add r2, sp
+ ldr r2, [r2]
+ cmp r7, r2
+ bge _08046B0A
+ b _080469F6
+_08046B0A:
+ cmp r1, 0
+ bne _08046B54
+ movs r3, 0xAD
+ lsls r3, 3
+ add r3, sp
+ ldr r3, [r3]
+ cmp r3, 0x1
+ ble _08046B3C
+ ldr r0, _08046B34
+ ldr r1, [r0]
+ ldr r4, _08046B38
+ add r4, sp
+ ldr r0, [r4]
+ bl sub_80522A8
+ b _08046C7C
+ .align 2, 0
+_08046B2C: .4byte 0x0000052c
+_08046B30: .4byte 0x000004b4
+_08046B34: .4byte gUnknown_80F945C
+_08046B38: .4byte 0x00000524
+_08046B3C:
+ ldr r0, _08046B4C
+ ldr r1, [r0]
+ ldr r5, _08046B50
+ add r5, sp
+ ldr r0, [r5]
+ bl sub_80522A8
+ b _08046C7C
+ .align 2, 0
+_08046B4C: .4byte gUnknown_80F943C
+_08046B50: .4byte 0x00000524
+_08046B54:
+ mov r0, r9
+ cmp r0, 0
+ beq _08046B68
+ ldr r0, _08046C90
+ ldr r1, [r0]
+ ldr r2, _08046C94
+ add r2, sp
+ ldr r0, [r2]
+ bl sub_80522A8
+_08046B68:
+ movs r3, 0
+ mov r9, r3
+ ldr r0, _08046C98
+ ldr r0, [r0]
+ ldr r4, _08046C9C
+ adds r0, r4
+ ldrb r0, [r0]
+ movs r5, 0xA6
+ lsls r5, 3
+ add r5, sp
+ str r0, [r5]
+ mov r10, r3
+ movs r6, 0
+_08046B82:
+ movs r7, 0
+ mov r0, r10
+ adds r0, 0x55
+ movs r1, 0xA7
+ lsls r1, 3
+ add r1, sp
+ str r0, [r1]
+ adds r2, r6, 0x1
+ ldr r3, _08046CA0
+ add r3, sp
+ str r2, [r3]
+ movs r4, 0xAD
+ lsls r4, 3
+ add r4, sp
+ ldr r4, [r4]
+ cmp r7, r4
+ bge _08046C14
+ mov r5, r9
+ lsls r5, 24
+ mov r8, r5
+_08046BAA:
+ movs r0, 0x74
+ adds r5, r7, 0
+ muls r5, r0
+ mov r4, sp
+ adds r4, r5
+ adds r4, 0x4
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08046C06
+ ldr r0, _08046CA4
+ add r0, sp
+ lsls r2, r7, 3
+ adds r0, r2
+ ldr r1, [r0]
+ movs r0, 0x97
+ lsls r0, 3
+ add r0, sp
+ adds r0, r2
+ ldr r2, [r0]
+ adds r0, r4, 0
+ bl sub_804539C
+ mov r0, r10
+ bl sub_8009C7C
+ add r2, sp, 0x20
+ adds r2, r5
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ str r1, [r2]
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r2, 0xA6
+ lsls r2, 3
+ add r2, sp
+ ldr r1, [r2]
+ movs r2, 0x1
+ mov r4, r8
+ lsrs r3, r4, 24
+ bl sub_80462AC
+_08046C06:
+ adds r7, 0x1
+ movs r5, 0xAD
+ lsls r5, 3
+ add r5, sp
+ ldr r5, [r5]
+ cmp r7, r5
+ blt _08046BAA
+_08046C14:
+ movs r0, 0x13
+ bl sub_803E46C
+ movs r0, 0xA7
+ lsls r0, 3
+ add r0, sp
+ ldr r0, [r0]
+ mov r10, r0
+ movs r0, 0x3
+ ands r0, r6
+ cmp r0, 0
+ bne _08046C30
+ movs r1, 0x1
+ add r9, r1
+_08046C30:
+ movs r0, 0x7
+ mov r2, r9
+ ands r2, r0
+ mov r9, r2
+ ldr r3, _08046CA0
+ add r3, sp
+ ldr r6, [r3]
+ cmp r6, 0x17
+ ble _08046B82
+ movs r4, 0xAD
+ lsls r4, 3
+ add r4, sp
+ ldr r4, [r4]
+ cmp r4, 0
+ ble _08046C7C
+ ldr r0, _08046CA8
+ add r0, sp
+ ldr r5, [r0]
+ ldr r4, _08046CAC
+ add r4, sp
+ movs r1, 0xAD
+ lsls r1, 3
+ add r1, sp
+ ldr r7, [r1]
+_08046C60:
+ movs r2, 0
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ blt _08046C72
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x1
+ bl sub_80460F8
+_08046C72:
+ adds r5, 0x4
+ adds r4, 0x4
+ subs r7, 0x1
+ cmp r7, 0
+ bne _08046C60
+_08046C7C:
+ movs r3, 0xA9
+ lsls r3, 3
+ add sp, r3
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08046C90: .4byte gUnknown_80F947C
+_08046C94: .4byte 0x00000524
+_08046C98: .4byte gDungeonGlobalData
+_08046C9C: .4byte 0x00018210
+_08046CA0: .4byte 0x0000053c
+_08046CA4: .4byte 0x000004b4
+_08046CA8: .4byte 0x0000052c
+_08046CAC: .4byte 0x0000048c
+ thumb_func_end sub_804687C
+
+ thumb_func_start sub_8046CB0
+sub_8046CB0:
+ push {lr}
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r0, [r0, 0x70]
+ adds r3, r0, 0
+ adds r0, 0x60
+ ldrb r2, [r0]
+ movs r0, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _08046CDC
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ bne _08046CDC
+ adds r0, r3, 0
+ adds r0, 0x62
+ ldrb r0, [r0]
+ cmp r0, r1
+ bne _08046CDC
+ movs r0, 0x1
+ b _08046CDE
+_08046CDC:
+ movs r0, 0
+_08046CDE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8046CB0
+
+ thumb_func_start sub_8046CE4
+sub_8046CE4:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r0, 0x64
+ bl sub_8084100
+ adds r1, r0, 0
+ movs r2, 0
+ ldr r3, _08046D04
+_08046CF6:
+ lsls r0, r1, 2
+ adds r0, r3
+ ldr r0, [r0]
+ cmp r0, r5
+ bgt _08046D08
+ strb r1, [r4, 0x1]
+ b _08046D18
+ .align 2, 0
+_08046D04: .4byte gUnknown_810A3F0
+_08046D08:
+ lsrs r0, r1, 31
+ adds r0, r1, r0
+ asrs r1, r0, 1
+ adds r2, 0x1
+ cmp r2, 0xC7
+ ble _08046CF6
+ movs r0, 0x1
+ strb r0, [r4, 0x1]
+_08046D18:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8046CE4
+
+ thumb_func_start sub_8046D20
+sub_8046D20:
+ push {r4,r5,lr}
+ ldr r4, _08046D5C
+ ldr r0, [r4]
+ ldrb r5, [r0, 0x8]
+ bl sub_8046D70
+ ldr r1, [r4]
+ strb r0, [r1, 0x8]
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0x1
+ bne _08046D64
+ cmp r5, 0
+ bne _08046D64
+ ldr r0, _08046D60
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl sub_8052B8C
+ adds r1, r0, 0
+ cmp r1, 0x1
+ bne _08046D64
+ ldr r0, [r4]
+ strb r1, [r0, 0x4]
+ ldr r1, [r4]
+ movs r0, 0x2
+ strb r0, [r1, 0x11]
+ b _08046D68
+ .align 2, 0
+_08046D5C: .4byte gDungeonGlobalData
+_08046D60: .4byte gUnknown_80FA408
+_08046D64:
+ bl sub_8046D8C
+_08046D68:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8046D20
+
+ thumb_func_start sub_8046D70
+sub_8046D70:
+ push {lr}
+ ldr r0, _08046D84
+ ldr r0, [r0]
+ ldr r1, _08046D88
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08046D84: .4byte gDungeonGlobalData
+_08046D88: .4byte 0x0000068a
+ thumb_func_end sub_8046D70
+
+ thumb_func_start sub_8046D8C
+sub_8046D8C:
+ push {r4-r7,lr}
+ sub sp, 0xC
+ movs r6, 0
+ ldr r5, _08046EDC
+ movs r4, 0
+_08046D96:
+ movs r7, 0
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ str r0, [sp, 0x8]
+ movs r3, 0
+ ldr r2, [r5]
+_08046DA6:
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08046DC8
+ ldrb r0, [r2, 0x2]
+ cmp r0, 0x79
+ bne _08046DB8
+ str r3, [sp]
+_08046DB8:
+ ldrb r0, [r2, 0x2]
+ cmp r0, 0x77
+ bne _08046DC0
+ str r3, [sp, 0x4]
+_08046DC0:
+ ldrb r0, [r2, 0x2]
+ cmp r0, 0x78
+ bne _08046DC8
+ str r3, [sp, 0x8]
+_08046DC8:
+ adds r2, 0x4
+ adds r3, 0x1
+ cmp r3, 0x13
+ ble _08046DA6
+ ldr r1, [sp]
+ cmp r1, 0
+ blt _08046E1E
+ ldr r0, [sp, 0x4]
+ cmp r0, 0
+ blt _08046E1E
+ ldr r0, [sp, 0x8]
+ cmp r0, 0
+ blt _08046E1E
+ movs r7, 0x1
+ movs r6, 0x1
+ lsls r1, 2
+ ldr r0, [r5]
+ adds r1, r0
+ strb r4, [r1, 0x2]
+ strb r4, [r1, 0x1]
+ strb r4, [r1]
+ ldr r0, [sp, 0x4]
+ lsls r0, 2
+ ldr r1, [r5]
+ adds r0, r1
+ strb r4, [r0, 0x2]
+ strb r4, [r0, 0x1]
+ strb r4, [r0]
+ ldr r0, [sp, 0x8]
+ lsls r0, 2
+ ldr r1, [r5]
+ adds r0, r1
+ strb r4, [r0, 0x2]
+ strb r4, [r0, 0x1]
+ strb r4, [r0]
+ ldr r1, [sp]
+ lsls r1, 2
+ ldr r0, [r5]
+ adds r0, r1
+ movs r1, 0x7A
+ movs r2, 0
+ bl xxx_init_itemslot_8090A8C
+_08046E1E:
+ cmp r7, 0
+ bne _08046D96
+ bl FillInventoryGaps
+ cmp r6, 0
+ beq _08046ED4
+ bl sub_8083600
+ adds r4, r0, 0
+ ldr r0, _08046EE0
+ bl sub_80855E4
+ ldr r6, _08046EE4
+ ldr r0, [r6]
+ ldr r5, _08046EE8
+ adds r0, r5
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, _08046EEC
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+ movs r0, 0x3C
+ movs r1, 0x41
+ bl sub_803E708
+ ldr r0, _08046EF0
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+ adds r0, r4, 0
+ movs r1, 0x4
+ movs r2, 0xA
+ movs r3, 0
+ bl sub_80869E4
+ adds r0, r4, 0
+ adds r0, 0xC
+ movs r1, 0x86
+ lsls r1, 1
+ movs r2, 0
+ bl sub_80416E0
+ adds r0, r4, 0
+ movs r1, 0xD7
+ bl sub_80421C0
+ movs r0, 0x3C
+ movs r1, 0x41
+ bl sub_803E708
+ ldr r0, _08046EF4
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8045B94
+ ldr r0, _08046EF8
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+ movs r0, 0xA
+ movs r1, 0x41
+ bl sub_803E708
+ movs r0, 0xD4
+ bl PlaySoundEffect
+ ldr r0, _08046EFC
+ ldr r1, [r0]
+ movs r0, 0
+ movs r2, 0x1
+ bl PrintFieldMessage
+ movs r0, 0xA
+ movs r1, 0x41
+ bl sub_803E708
+ movs r0, 0x1
+ bl sub_804178C
+ ldr r0, [r6]
+ adds r0, r5
+ strb r7, [r0]
+ bl sub_8040A84
+_08046ED4:
+ add sp, 0xC
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08046EDC: .4byte gTeamInventory_203B460
+_08046EE0: .4byte sub_80861A8
+_08046EE4: .4byte gDungeonGlobalData
+_08046EE8: .4byte 0x0001356c
+_08046EEC: .4byte gUnknown_810531C
+_08046EF0: .4byte gUnknown_8105360
+_08046EF4: .4byte gAvailablePokemonNames
+_08046EF8: .4byte gUnknown_81053A8
+_08046EFC: .4byte gUnknown_8105434
+ thumb_func_end sub_8046D8C
+
+ thumb_func_start sub_8046F00
+sub_8046F00:
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ ldrb r0, [r4, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _08046F7C
+ ldrb r0, [r4, 0x2]
+ bl GetItemMove
+ lsls r0, 16
+ lsrs r7, r0, 16
+ ldrb r0, [r4, 0x2]
+ bl IsHMItem
+ lsls r0, 24
+ cmp r0, 0
+ bne _08046F6E
+ movs r6, 0
+_08046F2A:
+ ldr r0, _08046F74
+ ldr r0, [r0]
+ lsls r1, r6, 2
+ ldr r2, _08046F78
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08046F68
+ ldr r0, [r4, 0x70]
+ movs r2, 0x2
+ ldrsh r1, [r0, r2]
+ adds r0, r7, 0
+ bl sub_808E190
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_8070B6C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08046F64
+ movs r5, 0
+_08046F64:
+ cmp r5, 0
+ bne _08046F7C
+_08046F68:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08046F2A
+_08046F6E:
+ movs r0, 0
+ b _08046F7E
+ .align 2, 0
+_08046F74: .4byte gDungeonGlobalData
+_08046F78: .4byte 0x0001357c
+_08046F7C:
+ movs r0, 0x1
+_08046F7E:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8046F00
+
+ thumb_func_start sub_8046F84
+sub_8046F84:
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ movs r5, 0
+ ldr r4, _08047000
+ movs r6, 0x1
+ movs r3, 0
+_08046F90:
+ lsls r1, r5, 2
+ ldr r0, [r4]
+ adds r2, r0, r1
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08046FAE
+ ldrb r0, [r2]
+ ands r0, r7
+ cmp r0, 0
+ beq _08046FAE
+ strb r3, [r2, 0x2]
+ strb r3, [r2, 0x1]
+ strb r3, [r2]
+_08046FAE:
+ adds r5, 0x1
+ cmp r5, 0x13
+ ble _08046F90
+ bl FillInventoryGaps
+ movs r5, 0
+ movs r6, 0
+_08046FBC:
+ ldr r0, _08047004
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _08047008
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _08046FF4
+ ldr r0, [r4, 0x70]
+ adds r2, r0, 0
+ adds r2, 0x60
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08046FF4
+ ldrb r0, [r2]
+ ands r0, r7
+ cmp r0, 0
+ beq _08046FF4
+ strb r6, [r2, 0x2]
+ strb r6, [r2, 0x1]
+ strb r6, [r2]
+_08046FF4:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08046FBC
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047000: .4byte gTeamInventory_203B460
+_08047004: .4byte gDungeonGlobalData
+_08047008: .4byte 0x0001357c
+ thumb_func_end sub_8046F84
+
+ thumb_func_start sub_804700C
+sub_804700C:
+ push {r4,r5,lr}
+ movs r5, 0
+ ldr r4, _08047078
+_08047012:
+ lsls r1, r5, 2
+ ldr r0, [r4]
+ adds r2, r0, r1
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0804702C
+ adds r0, r2, 0
+ movs r1, 0x46
+ movs r2, 0
+ bl xxx_init_itemslot_8090A8C
+_0804702C:
+ adds r5, 0x1
+ cmp r5, 0x13
+ ble _08047012
+ bl FillInventoryGaps
+ movs r5, 0
+_08047038:
+ ldr r0, _0804707C
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _08047080
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _0804706C
+ ldr r0, [r4, 0x70]
+ adds r2, r0, 0
+ adds r2, 0x60
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0804706C
+ adds r0, r2, 0
+ movs r1, 0x46
+ movs r2, 0
+ bl xxx_init_itemslot_8090A8C
+_0804706C:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08047038
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047078: .4byte gTeamInventory_203B460
+_0804707C: .4byte gDungeonGlobalData
+_08047080: .4byte 0x0001357c
+ thumb_func_end sub_804700C
+
+ thumb_func_start sub_8047084
+sub_8047084:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r5, 0
+ ldr r0, _080470E8
+ ldr r2, [r0]
+ movs r3, 0x1
+_08047090:
+ ldrb r1, [r2]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080470A2
+ ldrb r0, [r2]
+ ands r0, r6
+ cmp r0, 0
+ bne _080470E2
+_080470A2:
+ adds r2, 0x4
+ adds r5, 0x1
+ cmp r5, 0x13
+ ble _08047090
+ bl FillInventoryGaps
+ movs r5, 0
+_080470B0:
+ ldr r0, _080470EC
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ ldr r2, _080470F0
+ adds r0, r2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r4, 0
+ bl entityExists
+ lsls r0, 24
+ cmp r0, 0
+ beq _080470F4
+ ldr r0, [r4, 0x70]
+ adds r2, r0, 0
+ adds r2, 0x60
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080470F4
+ ldrb r0, [r2]
+ ands r0, r6
+ cmp r0, 0
+ beq _080470F4
+_080470E2:
+ movs r0, 0x1
+ b _080470FC
+ .align 2, 0
+_080470E8: .4byte gTeamInventory_203B460
+_080470EC: .4byte gDungeonGlobalData
+_080470F0: .4byte 0x0001357c
+_080470F4:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080470B0
+ movs r0, 0
+_080470FC:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8047084
+
+ thumb_func_start sub_8047104
+sub_8047104:
+ push {r4-r6,lr}
+ movs r6, 0
+ movs r5, 0
+_0804710A:
+ ldr r0, _08047154
+ lsls r1, r6, 2
+ ldr r0, [r0]
+ adds r4, r0, r1
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08047142
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0x69
+ bne _08047132
+ adds r0, r4, 0
+ bl GetMoneyValue
+ bl AddToTeamMoney
+ strb r5, [r4, 0x2]
+ strb r5, [r4, 0x1]
+ strb r5, [r4]
+_08047132:
+ ldrb r1, [r4]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08047142
+ strb r5, [r4, 0x2]
+ strb r5, [r4, 0x1]
+ strb r5, [r4]
+_08047142:
+ adds r6, 0x1
+ cmp r6, 0x13
+ ble _0804710A
+ bl FillInventoryGaps
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047154: .4byte gTeamInventory_203B460
+ thumb_func_end sub_8047104
+
+ thumb_func_start sub_8047158
+sub_8047158:
+ push {r4-r6,lr}
+ movs r3, 0
+ ldr r5, _0804718C
+ movs r6, 0x1
+ movs r4, 0x4
+_08047162:
+ lsls r1, r3, 2
+ ldr r0, [r5]
+ adds r2, r0, r1
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08047180
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08047180
+ movs r0, 0xFB
+ ands r0, r1
+ strb r0, [r2]
+_08047180:
+ adds r3, 0x1
+ cmp r3, 0x13
+ ble _08047162
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804718C: .4byte gTeamInventory_203B460
+ thumb_func_end sub_8047158
+
+ thumb_func_start sub_8047190
+sub_8047190:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r4, _080472E8
+ add sp, r4
+ mov r9, r0
+ str r1, [sp, 0x214]
+ ldr r6, _080472EC
+ ldr r1, [r6]
+ ldr r4, _080472F0
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ str r0, [sp, 0x220]
+ mov r8, r3
+ adds r7, r1, 0
+ adds r7, 0xC0
+ movs r0, 0x3
+ str r0, [r7]
+ adds r0, r1, 0
+ adds r0, 0xE4
+ movs r4, 0
+ strb r4, [r0]
+ subs r0, 0x4
+ movs r5, 0x1
+ strb r5, [r0]
+ adds r0, 0x2
+ strb r4, [r0]
+ ldr r0, [sp, 0x214]
+ str r0, [r7, 0x70]
+ str r4, [r7, 0x1C]
+ ldr r0, [r2]
+ str r0, [r7, 0x4]
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, 0x4
+ lsls r1, 8
+ movs r3, 0x2
+ ldrsh r0, [r2, r3]
+ lsls r2, r0, 1
+ adds r2, r0
+ lsls r2, 11
+ adds r0, r7, 0
+ bl sub_8045394
+ strh r4, [r7, 0x26]
+ str r4, [sp, 0x224]
+ mov r0, r9
+ bl sub_80450F8
+ cmp r0, 0x1
+ bne _08047214
+ mov r0, r9
+ movs r1, 0x2A
+ bl sub_8046CB0
+ lsls r0, 24
+ lsrs r0, 24
+ negs r1, r0
+ orrs r1, r0
+ lsrs r1, 31
+ str r1, [sp, 0x224]
+_08047214:
+ ldr r0, [sp, 0x260]
+ movs r1, 0x2
+ ldrsh r0, [r0, r1]
+ str r0, [sp, 0x218]
+ movs r2, 0
+ str r2, [sp, 0x21C]
+ ldr r0, [r6]
+ ldr r3, _080472F4
+ adds r0, r3
+ strb r5, [r0]
+_08047228:
+ ldr r4, [r7, 0x4]
+ mov r10, r4
+ ldr r1, [sp, 0x260]
+ ldrb r0, [r1, 0x1]
+ cmp r0, 0
+ beq _080472AE
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _080472AE
+ movs r2, 0x4
+ ldrsh r0, [r7, r2]
+ ldr r2, _080472F8
+ mov r3, r8
+ lsls r4, r3, 2
+ adds r2, r4, r2
+ movs r3, 0
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ movs r3, 0x6
+ ldrsh r1, [r7, r3]
+ movs r3, 0x2
+ ldrsh r2, [r2, r3]
+ adds r1, r2
+ bl sub_804954C
+ adds r5, r0, 0
+ ldrh r1, [r5]
+ movs r0, 0x3
+ ands r0, r1
+ str r4, [sp, 0x230]
+ cmp r0, 0
+ bne _080472AE
+ movs r6, 0
+ ldr r1, _080472FC
+ mov r4, r10
+ lsls r0, r4, 16
+ asrs r0, 16
+ str r0, [sp, 0x23C]
+ ldr r0, [sp, 0x230]
+ adds r5, r0, r1
+ asrs r2, r4, 16
+_0804727A:
+ ldrb r4, [r5]
+ cmp r4, 0x7
+ bgt _080472A6
+ ldr r0, _080472F8
+ lsls r1, r4, 2
+ adds r1, r0
+ movs r3, 0
+ ldrsh r0, [r1, r3]
+ ldr r3, [sp, 0x23C]
+ adds r0, r3
+ movs r3, 0x2
+ ldrsh r1, [r1, r3]
+ adds r1, r2
+ str r2, [sp, 0x234]
+ bl sub_804954C
+ ldrh r1, [r0]
+ movs r0, 0x3
+ ands r0, r1
+ ldr r2, [sp, 0x234]
+ cmp r0, 0
+ bne _08047300
+_080472A6:
+ adds r5, 0x1
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _0804727A
+_080472AE:
+ ldr r0, _080472F8
+ mov r4, r8
+ lsls r2, r4, 2
+ adds r3, r2, r0
+ ldrh r1, [r3]
+ ldrh r0, [r7, 0x4]
+ adds r1, r0
+ strh r1, [r7, 0x4]
+ ldrh r0, [r3, 0x2]
+ ldrh r4, [r7, 0x6]
+ adds r0, r4
+ strh r0, [r7, 0x6]
+ lsls r1, 16
+ asrs r1, 16
+ str r2, [sp, 0x230]
+ cmp r1, 0
+ blt _080472E0
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ blt _080472E0
+ cmp r1, 0x37
+ bgt _080472E0
+ cmp r0, 0x1F
+ ble _08047304
+_080472E0:
+ movs r0, 0x2
+ mov r10, r0
+ b _0804744C
+ .align 2, 0
+_080472E8: .4byte 0xfffffdc0
+_080472EC: .4byte gDungeonGlobalData
+_080472F0: .4byte 0x00018210
+_080472F4: .4byte 0x0001c05e
+_080472F8: .4byte gUnknown_80F4448
+_080472FC: .4byte gUnknown_80F4D64
+_08047300:
+ mov r8, r4
+ b _080472AE
+_08047304:
+ movs r1, 0
+ ldrsh r0, [r3, r1]
+ lsls r0, 10
+ str r0, [sp, 0x228]
+ movs r2, 0x2
+ ldrsh r0, [r3, r2]
+ lsls r0, 10
+ str r0, [sp, 0x22C]
+ mov r3, r8
+ lsls r6, r3, 24
+ movs r5, 0x5
+_0804731A:
+ movs r4, 0
+ adds r0, r7, 0
+ ldr r1, [sp, 0x228]
+ ldr r2, [sp, 0x22C]
+ bl sub_804539C
+ bl sub_804AF74
+ lsls r0, 24
+ movs r2, 0
+ cmp r0, 0
+ beq _08047334
+ movs r2, 0x3
+_08047334:
+ ldr r0, [r7, 0xC]
+ cmp r0, 0
+ bge _0804733C
+ adds r0, 0xFF
+_0804733C:
+ asrs r0, 8
+ adds r0, 0x8
+ ldr r1, [r7, 0x10]
+ cmp r1, 0
+ bge _08047348
+ adds r1, 0xFF
+_08047348:
+ asrs r1, 8
+ adds r1, 0x10
+ bl sub_8083568
+ lsls r0, 24
+ cmp r0, 0
+ beq _08047358
+ movs r4, 0x1
+_08047358:
+ movs r0, 0x1
+ str r0, [sp]
+ adds r0, r7, 0
+ ldr r1, [sp, 0x220]
+ movs r2, 0
+ lsrs r3, r6, 24
+ bl sub_80462AC
+ lsls r0, 24
+ cmp r0, 0
+ beq _08047370
+ movs r4, 0x1
+_08047370:
+ cmp r4, 0
+ beq _0804737A
+ movs r0, 0x12
+ bl sub_803E46C
+_0804737A:
+ subs r5, 0x1
+ cmp r5, 0
+ bge _0804731A
+ movs r4, 0x4
+ ldrsh r0, [r7, r4]
+ movs r2, 0x6
+ ldrsh r1, [r7, r2]
+ bl sub_804954C
+ adds r5, r0, 0
+ ldrh r1, [r5]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _080473A2
+ ldr r3, [sp, 0x260]
+ ldrb r0, [r3]
+ cmp r0, 0
+ bne _080473A2
+ b _0804757A
+_080473A2:
+ ldr r1, [r5, 0x10]
+ cmp r1, 0
+ beq _08047436
+ movs r4, 0
+ ldr r2, [sp, 0x260]
+ ldrb r0, [r2]
+ cmp r0, 0
+ bne _080473CE
+ adds r0, r1, 0
+ bl sub_80450F8
+ cmp r0, 0x1
+ bne _080473CE
+ ldr r0, [r5, 0x10]
+ movs r1, 0x26
+ bl sub_8046CB0
+ lsls r0, 24
+ lsrs r0, 24
+ negs r1, r0
+ orrs r1, r0
+ lsrs r4, r1, 31
+_080473CE:
+ cmp r4, 0
+ beq _080473E0
+ movs r3, 0x4
+ add r8, r3
+ movs r0, 0x7
+ mov r4, r8
+ ands r4, r0
+ mov r8, r4
+ b _08047436
+_080473E0:
+ movs r6, 0x1
+ ldr r0, [r5, 0x10]
+ bl sub_80450F8
+ cmp r0, 0x1
+ bne _08047406
+ add r4, sp, 0x208
+ adds r0, r4, 0
+ ldr r1, _080474B8
+ bl sub_8092A88
+ ldr r0, [r5, 0x10]
+ adds r1, r4, 0
+ bl sub_80571F0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08047406
+ movs r6, 0
+_08047406:
+ cmp r6, 0
+ beq _08047436
+ ldr r0, [sp, 0x21C]
+ cmp r0, 0x3F
+ bgt _0804742C
+ lsls r0, 3
+ mov r4, sp
+ adds r4, r0
+ adds r4, 0x8
+ ldr r0, [r5, 0x10]
+ str r0, [r4]
+ ldr r1, [r5, 0x10]
+ mov r0, r9
+ bl sub_8047930
+ strb r0, [r4, 0x4]
+ ldr r1, [sp, 0x21C]
+ adds r1, 0x1
+ str r1, [sp, 0x21C]
+_0804742C:
+ ldr r2, [sp, 0x260]
+ ldrb r0, [r2]
+ cmp r0, 0
+ bne _08047436
+ b _08047574
+_08047436:
+ ldr r3, [sp, 0x218]
+ subs r3, 0x1
+ str r3, [sp, 0x218]
+ cmp r3, 0
+ ble _08047442
+ b _08047228
+_08047442:
+ movs r4, 0x1
+ mov r10, r4
+ mov r0, r8
+ lsls r0, 2
+ str r0, [sp, 0x230]
+_0804744C:
+ ldr r0, _080474BC
+ ldr r0, [r0]
+ ldr r1, _080474C0
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, [sp, 0x21C]
+ cmp r2, 0
+ ble _0804752C
+ add r5, sp, 0x8
+ adds r6, r2, 0
+_08047462:
+ ldr r4, [r5]
+ ldrb r0, [r5, 0x4]
+ cmp r0, 0
+ beq _080474D0
+ ldr r0, _080474C4
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8045B94
+ ldr r0, _080474C8
+ ldr r1, [sp, 0x214]
+ bl sub_8045C08
+ ldr r0, _080474CC
+ ldr r2, [r0]
+ mov r0, r9
+ adds r1, r4, 0
+ bl sub_80522F4
+ mov r0, r9
+ adds r1, r4, 0
+ bl sub_807A96C
+ lsls r0, 24
+ lsrs r2, r0, 24
+ movs r1, 0
+ ldr r3, [sp, 0x224]
+ cmp r3, 0
+ bne _080474A4
+ ldr r3, [sp, 0x260]
+ ldrb r0, [r3]
+ cmp r0, 0
+ beq _080474A6
+_080474A4:
+ movs r1, 0x1
+_080474A6:
+ str r4, [sp]
+ ldr r4, [sp, 0x214]
+ str r4, [sp, 0x4]
+ movs r0, 0x1
+ mov r3, r9
+ bl sub_80479B8
+ b _08047524
+ .align 2, 0
+_080474B8: .4byte 0x00000195
+_080474BC: .4byte gDungeonGlobalData
+_080474C0: .4byte 0x0001c05e
+_080474C4: .4byte gAvailablePokemonNames
+_080474C8: .4byte gUnknown_202DE58
+_080474CC: .4byte gUnknown_80F94C4
+_080474D0:
+ ldr r1, [sp, 0x260]
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _080474E2
+ ldr r2, [sp, 0x21C]
+ cmp r2, 0x1
+ bne _080474E2
+ movs r3, 0x1
+ mov r10, r3
+_080474E2:
+ ldr r0, _0804750C
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8045B94
+ ldr r0, _08047510
+ ldr r1, [sp, 0x214]
+ bl sub_8045BF8
+ ldr r1, [sp, 0x260]
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08047518
+ ldr r0, _08047514
+ ldr r2, [r0]
+ mov r0, r9
+ adds r1, r4, 0
+ bl sub_80522F4
+ b _08047524
+ .align 2, 0
+_0804750C: .4byte gAvailablePokemonNames
+_08047510: .4byte gUnknown_202DE58
+_08047514: .4byte gUnknown_80F94D8
+_08047518:
+ ldr r0, _08047564
+ ldr r2, [r0]
+ mov r0, r9
+ adds r1, r4, 0
+ bl sub_80522F4
+_08047524:
+ adds r5, 0x8
+ subs r6, 0x1
+ cmp r6, 0
+ bne _08047462
+_0804752C:
+ ldr r2, _08047568
+ ldr r3, [sp, 0x230]
+ adds r2, r3, r2
+ movs r4, 0
+ ldrsh r1, [r2, r4]
+ lsls r1, 19
+ lsrs r1, 16
+ ldr r4, _0804756C
+ add r3, sp, 0x210
+ ldr r0, [r3]
+ ands r0, r4
+ orrs r0, r1
+ str r0, [r3]
+ movs r4, 0x2
+ ldrsh r1, [r2, r4]
+ lsls r1, 19
+ ldr r2, _08047570
+ ands r0, r2
+ orrs r0, r1
+ str r0, [r3]
+ mov r0, r10
+ cmp r0, 0x1
+ beq _08047584
+ cmp r0, 0x1
+ bcc _080475A8
+ cmp r0, 0x2
+ beq _08047596
+ b _080475A8
+ .align 2, 0
+_08047564: .4byte gUnknown_80F94F0
+_08047568: .4byte gUnknown_80F4448
+_0804756C: .4byte 0xffff0000
+_08047570: .4byte 0x0000ffff
+_08047574:
+ movs r1, 0
+ mov r10, r1
+ b _0804744C
+_0804757A:
+ mov r2, r10
+ str r2, [r7, 0x4]
+ movs r3, 0x1
+ mov r10, r3
+ b _0804744C
+_08047584:
+ add r0, sp, 0x210
+ str r0, [sp]
+ mov r0, r9
+ adds r1, r7, 0
+ ldr r2, [sp, 0x214]
+ movs r3, 0x1
+ bl sub_804652C
+ b _080475A8
+_08047596:
+ ldr r0, _080475BC
+ ldr r1, [sp, 0x214]
+ bl sub_8045C08
+ ldr r0, _080475C0
+ ldr r1, [r0]
+ mov r0, r9
+ bl sub_80522A8
+_080475A8:
+ movs r3, 0x90
+ lsls r3, 2
+ add sp, r3
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080475BC: .4byte gUnknown_202DE58
+_080475C0: .4byte gUnknown_80F9530
+ thumb_func_end sub_8047190
+
+ thumb_func_start sub_80475C4
+sub_80475C4:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x44
+ str r0, [sp, 0x10]
+ str r1, [sp, 0x14]
+ adds r7, r2, 0
+ str r3, [sp, 0x18]
+ ldr r0, _08047848
+ mov r8, r0
+ ldr r2, [r0]
+ ldr r1, _0804784C
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ str r0, [sp, 0x24]
+ movs r4, 0
+ movs r5, 0
+ adds r3, r2, 0
+ adds r3, 0xC0
+ str r3, [sp, 0x1C]
+ movs r0, 0x3
+ str r0, [r3]
+ adds r0, r2, 0
+ adds r0, 0xE4
+ strb r4, [r0]
+ adds r1, r2, 0
+ adds r1, 0xE0
+ movs r0, 0x1
+ strb r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0xE2
+ strb r4, [r0]
+ ldr r0, [sp, 0x14]
+ str r0, [r3, 0x70]
+ str r5, [r3, 0x1C]
+ ldr r0, [r7]
+ str r0, [r3, 0x4]
+ movs r1, 0
+ ldrsh r0, [r7, r1]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, 0x4
+ lsls r1, 8
+ movs r2, 0x2
+ ldrsh r0, [r7, r2]
+ lsls r2, r0, 1
+ adds r2, r0
+ lsls r2, 3
+ adds r2, 0x4
+ lsls r2, 8
+ ldr r0, [sp, 0x1C]
+ bl sub_8045394
+ ldr r3, [sp, 0x1C]
+ strh r4, [r3, 0x26]
+ movs r0, 0x1
+ str r0, [sp, 0x20]
+ movs r1, 0
+ str r1, [sp, 0x28]
+ ldr r0, [sp, 0x10]
+ bl sub_80450F8
+ cmp r0, 0x1
+ bne _0804765E
+ ldr r0, [sp, 0x10]
+ movs r1, 0x2A
+ bl sub_8046CB0
+ lsls r0, 24
+ lsrs r0, 24
+ negs r1, r0
+ orrs r1, r0
+ lsrs r1, 31
+ str r1, [sp, 0x28]
+_0804765E:
+ adds r0, r7, 0
+ bl sub_803F428
+ lsls r0, 24
+ lsrs r0, 24
+ negs r1, r0
+ orrs r1, r0
+ lsrs r4, r1, 31
+ ldr r0, [sp, 0x18]
+ bl sub_803F428
+ lsls r0, 24
+ cmp r0, 0
+ beq _0804767C
+ movs r4, 0x1
+_0804767C:
+ mov r2, r8
+ ldr r0, [r2]
+ ldr r3, _08047850
+ adds r0, r3
+ add r1, sp, 0x20
+ ldrb r1, [r1]
+ strb r1, [r0]
+ cmp r4, 0
+ bne _08047690
+ b _080477D0
+_08047690:
+ ldr r2, [sp, 0x1C]
+ movs r3, 0x4
+ ldrsh r0, [r2, r3]
+ ldr r1, [sp, 0x18]
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ mov r9, r1
+ subs r1, r0, r1
+ cmp r1, 0
+ bge _080476A6
+ negs r1, r1
+_080476A6:
+ ldr r3, [sp, 0x1C]
+ movs r2, 0x6
+ ldrsh r0, [r3, r2]
+ ldr r3, [sp, 0x18]
+ movs r2, 0x2
+ ldrsh r3, [r3, r2]
+ mov r10, r3
+ subs r0, r3
+ cmp r0, 0
+ bge _080476BC
+ negs r0, r0
+_080476BC:
+ adds r1, r0
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r4, r0, 2
+ adds r3, r4, 0
+ adds r3, 0xC
+ str r3, [sp, 0x30]
+ cmp r3, 0x3F
+ ble _080476D2
+ movs r0, 0x40
+ str r0, [sp, 0x30]
+_080476D2:
+ movs r1, 0
+ str r1, [sp, 0x3C]
+ movs r0, 0x80
+ lsls r0, 12
+ adds r1, r4, 0
+ bl __divsi3
+ str r0, [sp, 0x40]
+ movs r2, 0
+ ldrsh r1, [r7, r2]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 11
+ mov r8, r0
+ movs r3, 0x2
+ ldrsh r1, [r7, r3]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r7, r0, 11
+ mov r1, r9
+ lsls r0, r1, 1
+ add r0, r9
+ lsls r0, 11
+ mov r2, r8
+ subs r0, r2
+ adds r1, r4, 0
+ bl __divsi3
+ str r0, [sp, 0x34]
+ mov r3, r10
+ lsls r0, r3, 1
+ add r0, r10
+ lsls r0, 11
+ subs r0, r7
+ adds r1, r4, 0
+ bl __divsi3
+ str r0, [sp, 0x38]
+ subs r0, r4, 0x3
+ cmp r0, 0
+ ble _080477D0
+ str r0, [sp, 0x2C]
+_08047726:
+ movs r0, 0
+ mov r10, r0
+ ldr r0, [sp, 0x3C]
+ cmp r0, 0
+ bge _08047732
+ adds r0, 0xFF
+_08047732:
+ asrs r0, 8
+ bl sub_8009C7C
+ ldr r2, [sp, 0x30]
+ adds r1, r0, 0
+ muls r1, r2
+ movs r0, 0x80
+ lsls r0, 3
+ mov r2, r8
+ adds r3, r2, r0
+ adds r2, r7, r0
+ ldr r0, [sp, 0x1C]
+ str r1, [r0, 0x1C]
+ mov r0, r8
+ cmp r0, 0
+ bge _08047754
+ adds r0, 0xFF
+_08047754:
+ asrs r0, 8
+ adds r0, 0x8
+ mov r9, r0
+ adds r0, r7, 0
+ cmp r7, 0
+ bge _08047762
+ adds r0, 0xFF
+_08047762:
+ asrs r0, 8
+ adds r4, r0, 0
+ adds r4, 0x10
+ ldr r1, [sp, 0x3C]
+ ldr r0, [sp, 0x40]
+ adds r1, r0
+ str r1, [sp, 0x3C]
+ ldr r0, [sp, 0x1C]
+ adds r1, r3, 0
+ bl sub_8045394
+ bl sub_804AF74
+ lsls r0, 24
+ movs r2, 0
+ cmp r0, 0
+ beq _08047786
+ movs r2, 0x3
+_08047786:
+ mov r0, r9
+ adds r1, r4, 0
+ bl sub_8083568
+ lsls r0, 24
+ cmp r0, 0
+ beq _08047798
+ movs r1, 0x1
+ mov r10, r1
+_08047798:
+ movs r0, 0x1
+ str r0, [sp]
+ ldr r0, [sp, 0x1C]
+ ldr r1, [sp, 0x24]
+ movs r2, 0
+ movs r3, 0xFF
+ bl sub_80462AC
+ lsls r0, 24
+ cmp r0, 0
+ beq _080477B2
+ movs r2, 0x1
+ mov r10, r2
+_080477B2:
+ mov r3, r10
+ cmp r3, 0
+ beq _080477BE
+ movs r0, 0x17
+ bl sub_803E46C
+_080477BE:
+ ldr r0, [sp, 0x34]
+ add r8, r0
+ ldr r1, [sp, 0x38]
+ adds r7, r1
+ ldr r2, [sp, 0x2C]
+ subs r2, 0x1
+ str r2, [sp, 0x2C]
+ cmp r2, 0
+ bne _08047726
+_080477D0:
+ ldr r3, [sp, 0x18]
+ ldr r0, [r3]
+ ldr r1, [sp, 0x1C]
+ str r0, [r1, 0x4]
+ ldr r0, _08047848
+ ldr r0, [r0]
+ ldr r2, _08047850
+ adds r0, r2
+ movs r1, 0
+ strb r1, [r0]
+ movs r1, 0
+ ldrsh r0, [r3, r1]
+ movs r2, 0x2
+ ldrsh r1, [r3, r2]
+ bl sub_804954C
+ adds r4, r0, 0
+ ldr r0, [r4, 0x10]
+ cmp r0, 0
+ bne _080477FA
+ b _08047904
+_080477FA:
+ movs r3, 0x1
+ mov r8, r3
+ movs r7, 0
+ bl sub_80450F8
+ cmp r0, 0x1
+ bne _08047834
+ ldr r0, [r4, 0x10]
+ movs r1, 0x26
+ bl sub_8046CB0
+ lsls r0, 24
+ lsrs r0, 24
+ negs r1, r0
+ orrs r1, r0
+ lsrs r7, r1, 31
+ ldr r1, _08047854
+ add r0, sp, 0x8
+ bl sub_8092A88
+ ldr r0, [r4, 0x10]
+ add r1, sp, 0x8
+ bl sub_80571F0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08047834
+ movs r0, 0
+ mov r8, r0
+_08047834:
+ mov r1, r8
+ cmp r1, 0
+ beq _08047904
+ ldr r1, [r4, 0x10]
+ adds r5, r1, 0
+ cmp r7, 0
+ beq _0804785C
+ ldr r0, _08047858
+ ands r6, r0
+ b _0804786E
+ .align 2, 0
+_08047848: .4byte gDungeonGlobalData
+_0804784C: .4byte 0x00018210
+_08047850: .4byte 0x0001c05e
+_08047854: .4byte 0x00000195
+_08047858: .4byte 0xffffff00
+_0804785C:
+ ldr r0, [sp, 0x10]
+ bl sub_8047930
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080478CC
+ ands r1, r6
+ adds r6, r1, 0
+ orrs r6, r0
+_0804786E:
+ ldr r0, _080478D0
+ ldr r1, [sp, 0x14]
+ bl sub_8045C08
+ ldr r0, _080478D4
+ adds r1, r5, 0
+ movs r2, 0
+ bl sub_8045B94
+ lsls r0, r6, 24
+ cmp r0, 0
+ beq _080478DC
+ adds r0, r5, 0
+ movs r1, 0x8
+ bl sub_806CE94
+ ldr r0, _080478D8
+ ldr r2, [r0]
+ ldr r0, [sp, 0x10]
+ adds r1, r5, 0
+ bl sub_80522F4
+ ldr r0, [sp, 0x10]
+ adds r1, r5, 0
+ bl sub_807A96C
+ lsls r0, 24
+ lsrs r2, r0, 24
+ movs r1, 0
+ ldr r3, [sp, 0x28]
+ cmp r3, 0
+ bne _080478B6
+ ldr r0, [sp, 0x64]
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080478B8
+_080478B6:
+ movs r1, 0x1
+_080478B8:
+ str r5, [sp]
+ ldr r0, [sp, 0x14]
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ ldr r3, [sp, 0x10]
+ bl sub_80479B8
+ movs r1, 0
+ str r1, [sp, 0x20]
+ b _08047904
+ .align 2, 0
+_080478CC: .4byte 0xffffff00
+_080478D0: .4byte gUnknown_202DE58
+_080478D4: .4byte gAvailablePokemonNames
+_080478D8: .4byte gUnknown_80F94C4
+_080478DC:
+ cmp r7, 0
+ beq _080478F4
+ ldr r0, _080478F0
+ ldr r2, [r0]
+ ldr r0, [sp, 0x10]
+ adds r1, r5, 0
+ bl sub_80522F4
+ b _08047900
+ .align 2, 0
+_080478F0: .4byte gUnknown_80F9510
+_080478F4:
+ ldr r0, _0804792C
+ ldr r2, [r0]
+ ldr r0, [sp, 0x10]
+ adds r1, r5, 0
+ bl sub_80522F4
+_08047900:
+ movs r2, 0x1
+ str r2, [sp, 0x20]
+_08047904:
+ ldr r3, [sp, 0x20]
+ cmp r3, 0x1
+ bne _0804791A
+ movs r0, 0
+ str r0, [sp]
+ ldr r0, [sp, 0x10]
+ ldr r1, [sp, 0x1C]
+ ldr r2, [sp, 0x14]
+ movs r3, 0
+ bl sub_804652C
+_0804791A:
+ add sp, 0x44
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804792C: .4byte gUnknown_80F94F0
+ thumb_func_end sub_80475C4
+
+ thumb_func_start sub_8047930
+sub_8047930:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldr r1, [r5, 0x70]
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0x1
+ beq _0804794C
+ adds r0, r1, 0
+ adds r0, 0xA4
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ beq _0804794C
+ cmp r0, 0x1
+ bne _08047950
+_0804794C:
+ movs r0, 0
+ b _080479B0
+_08047950:
+ movs r0, 0x64
+ bl sub_8084100
+ ldr r1, _08047980
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ movs r6, 0
+ cmp r0, r1
+ bge _08047964
+ movs r6, 0x1
+_08047964:
+ adds r0, r4, 0
+ bl sub_80450F8
+ cmp r0, 0x1
+ bne _08047994
+ adds r0, r4, 0
+ movs r1, 0x28
+ bl sub_8046CB0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08047984
+ movs r6, 0
+ b _08047994
+ .align 2, 0
+_08047980: .4byte gUnknown_80F4FA2
+_08047984:
+ adds r0, r4, 0
+ movs r1, 0x2A
+ bl sub_8046CB0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08047994
+ movs r6, 0x1
+_08047994:
+ adds r0, r5, 0
+ bl sub_80450F8
+ cmp r0, 0x1
+ bne _080479AE
+ adds r0, r5, 0
+ movs r1, 0x25
+ bl sub_8046CB0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080479AE
+ movs r6, 0
+_080479AE:
+ adds r0, r6, 0
+_080479B0:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8047930
+
+ thumb_func_start sub_80479B8
+sub_80479B8:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x1C
+ adds r4, r3, 0
+ ldr r5, [sp, 0x3C]
+ ldr r7, [sp, 0x40]
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ mov r10, r2
+ cmp r6, 0
+ beq _08047AD0
+ cmp r1, 0
+ bne _08047ABC
+ movs r0, 0
+ mov r8, r0
+ ldr r1, [r5, 0x70]
+ mov r9, r1
+ ldrb r0, [r1, 0x6]
+ cmp r0, 0
+ beq _08047A20
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ cmp r0, 0
+ beq _08047A3C
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ beq _08047A3C
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x1
+ eors r0, r1
+ negs r1, r0
+ orrs r1, r0
+ lsrs r1, 31
+ mov r8, r1
+ b _08047A3C
+_08047A20:
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ beq _08047A3C
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl sub_80718D8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+_08047A3C:
+ adds r0, r5, 0
+ bl sub_8070C60
+ lsls r0, 24
+ cmp r0, 0
+ beq _08047A4C
+ movs r0, 0
+ mov r8, r0
+_08047A4C:
+ mov r1, r8
+ cmp r1, 0
+ beq _08047ABC
+ mov r0, r9
+ adds r0, 0x60
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08047ABC
+ mov r1, r9
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0x1
+ bne _08047A76
+ adds r1, r5, 0x4
+ adds r0, r4, 0
+ adds r2, r7, 0
+ bl sub_80464C8
+ bl _080482BA
+_08047A76:
+ ldr r0, _08047AAC
+ bl PlaySoundEffect
+ ldr r0, _08047AB0
+ adds r1, r7, 0
+ bl sub_8045BF8
+ ldr r0, _08047AB4
+ adds r1, r5, 0
+ movs r2, 0
+ bl sub_8045B94
+ ldr r0, _08047AB8
+ ldr r2, [r0]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80522F4
+ ldr r0, [r7]
+ mov r1, r9
+ str r0, [r1, 0x60]
+ adds r0, r5, 0
+ bl sub_806A6E8
+ bl _080482BA
+ .align 2, 0
+_08047AAC: .4byte 0x0000014d
+_08047AB0: .4byte gUnknown_202DE58
+_08047AB4: .4byte gAvailablePokemonNames
+_08047AB8: .4byte gUnknown_80FDBB8
+_08047ABC:
+ cmp r6, 0
+ beq _08047AD0
+ adds r0, r5, 0
+ adds r1, r7, 0
+ bl sub_8042390
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_806F450
+_08047AD0:
+ ldrb r1, [r7]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08047B2C
+ ldr r0, _08047B1C
+ adds r1, r7, 0
+ bl sub_8045BF8
+ ldr r0, _08047B20
+ ldr r2, [r0]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80522F4
+ cmp r6, 0
+ beq _08047B30
+ ldr r0, _08047B24
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ add r0, sp, 0x18
+ str r0, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ ldr r0, _08047B28
+ str r0, [sp, 0x8]
+ str r1, [sp, 0xC]
+ str r1, [sp, 0x10]
+ str r1, [sp, 0x14]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r3, 0x1
+ bl sub_806F370
+ adds r0, r4, 0
+ bl sub_8071DA4
+ b _080482BA
+ .align 2, 0
+_08047B1C: .4byte gUnknown_202DE58
+_08047B20: .4byte gUnknown_80FE3E8
+_08047B24: .4byte gUnknown_80F4FAE
+_08047B28: .4byte 0x00000217
+_08047B2C:
+ cmp r6, 0
+ bne _08047B38
+_08047B30:
+ adds r0, r5, 0
+ adds r1, r7, 0
+ bl sub_804245C
+_08047B38:
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bne _08047B56
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x5
+ movs r3, 0
+ bl sub_8078B5C
+_08047B56:
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ beq _08047B72
+ ldrb r0, [r7, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xA
+ bne _08047B9C
+_08047B72:
+ cmp r6, 0
+ beq _08047B88
+ ldr r0, _08047B84
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ mov r0, sp
+ adds r0, 0x19
+ b _08048284
+ .align 2, 0
+_08047B84: .4byte gUnknown_80F4FAC
+_08047B88:
+ ldr r0, _08047B98
+ ldr r2, [r0]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80522F4
+ b _080482B4
+ .align 2, 0
+_08047B98: .4byte gUnknown_80FE458
+_08047B9C:
+ ldrb r0, [r7, 0x2]
+ subs r0, 0x1
+ cmp r0, 0xE8
+ bls _08047BA6
+ b _08048276
+_08047BA6:
+ lsls r0, 2
+ ldr r1, _08047BB0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08047BB0: .4byte _08047BB4
+ .align 2, 0
+_08047BB4:
+ .4byte _08047F58
+ .4byte _08047F70
+ .4byte _08047F88
+ .4byte _08047FA0
+ .4byte _08047FB8
+ .4byte _08047FD0
+ .4byte _08047FF0
+ .4byte _08047FE8
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048004
+ .4byte _0804825E
+ .4byte _08048010
+ .4byte _0804801A
+ .4byte _0804804C
+ .4byte _08048276
+ .4byte _0804802E
+ .4byte _0804809C
+ .4byte _08048038
+ .4byte _08048024
+ .4byte _080480BA
+ .4byte _080480C4
+ .4byte _08048042
+ .4byte _0804806A
+ .4byte _08048060
+ .4byte _08048056
+ .4byte _0804807E
+ .4byte _080480B0
+ .4byte _08048074
+ .4byte _080480D8
+ .4byte _080480CE
+ .4byte _08048092
+ .4byte _08048088
+ .4byte _080480A6
+ .4byte _080480E4
+ .4byte _080480EE
+ .4byte _080480F8
+ .4byte _08048102
+ .4byte _0804810C
+ .4byte _08048212
+ .4byte _08048122
+ .4byte _0804813C
+ .4byte _0804812A
+ .4byte _08048146
+ .4byte _08048152
+ .4byte _0804815E
+ .4byte _0804816A
+ .4byte _08048176
+ .4byte _08048182
+ .4byte _0804818E
+ .4byte _0804819A
+ .4byte _080481A6
+ .4byte _080481B2
+ .4byte _080481BE
+ .4byte _080481CA
+ .4byte _080481D6
+ .4byte _080481E2
+ .4byte _080481EE
+ .4byte _080481FA
+ .4byte _08048206
+ .4byte _08048212
+ .4byte _08048220
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _0804823A
+ .4byte _08048252
+ .4byte _08048246
+ .4byte _0804826A
+ .4byte _0804822E
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048276
+ .4byte _08048116
+_08047F58:
+ ldr r0, _08047F6C
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r3, 0x1
+ bl sub_80482FC
+ b _080482B4
+ .align 2, 0
+_08047F6C: .4byte gUnknown_80F503A
+_08047F70:
+ ldr r0, _08047F84
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r3, 0x2
+ bl sub_80482FC
+ b _080482B4
+ .align 2, 0
+_08047F84: .4byte gUnknown_80F503C
+_08047F88:
+ ldr r0, _08047F9C
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r3, 0x3
+ bl sub_80482FC
+ b _080482B4
+ .align 2, 0
+_08047F9C: .4byte gUnknown_80F503E
+_08047FA0:
+ ldr r0, _08047FB4
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r3, 0x4
+ bl sub_80482FC
+ b _080482B4
+ .align 2, 0
+_08047FB4: .4byte gUnknown_80F5040
+_08047FB8:
+ ldr r0, _08047FCC
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r3, 0x5
+ bl sub_80482FC
+ b _080482B4
+ .align 2, 0
+_08047FCC: .4byte gUnknown_80F5042
+_08047FD0:
+ ldr r0, _08047FE4
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r3, 0x6
+ bl sub_80482FC
+ b _080482B4
+ .align 2, 0
+_08047FE4: .4byte gUnknown_80F5044
+_08047FE8:
+ ldr r0, _08047FEC
+ b _08047FF2
+ .align 2, 0
+_08047FEC: .4byte gUnknown_80F5048
+_08047FF0:
+ ldr r0, _08048000
+_08047FF2:
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8048340
+ b _080482B4
+ .align 2, 0
+_08048000: .4byte gUnknown_80F5046
+_08048004:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ mov r2, r10
+ bl sub_8048364
+ b _080482B4
+_08048010:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8048374
+ b _080482B4
+_0804801A:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_804839C
+ b _080482B4
+_08048024:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80483D4
+ b _080482B4
+_0804802E:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80483F4
+ b _080482B4
+_08048038:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8048400
+ b _080482B4
+_08048042:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_804840C
+ b _080482B4
+_0804804C:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_804841C
+ b _080482B4
+_08048056:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_804849C
+ b _080482B4
+_08048060:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8048428
+ b _080482B4
+_0804806A:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8048450
+ b _080482B4
+_08048074:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8048480
+ b _080482B4
+_0804807E:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80482D4
+ b _080482B4
+_08048088:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8048490
+ b _080482B4
+_08048092:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80484A8
+ b _080482B4
+_0804809C:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80484DC
+ b _080482B4
+_080480A6:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80484BC
+ b _080482B4
+_080480B0:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80484C8
+ b _080482B4
+_080480BA:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80484E8
+ b _080482B4
+_080480C4:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8048524
+ b _080482B4
+_080480CE:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80485B0
+ b _080482B4
+_080480D8:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl sub_804869C
+ b _080482B4
+_080480E4:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80483C4
+ b _080482B4
+_080480EE:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_804891C
+ b _080482B4
+_080480F8:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8048928
+ b _080482B4
+_08048102:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8048934
+ b _080482B4
+_0804810C:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8048940
+ b _080482B4
+_08048116:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl nullsub_94
+ b _080482B4
+_08048122:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x64
+ b _08048130
+_0804812A:
+ ldr r2, _08048138
+ adds r0, r4, 0
+ adds r1, r5, 0
+_08048130:
+ movs r3, 0xA
+ bl sub_80487CC
+ b _080482B4
+ .align 2, 0
+_08048138: .4byte 0x000003e7
+_0804813C:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8048E04
+ b _080482B4
+_08048146:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x1
+ bl sub_80487E0
+ b _080482B4
+_08048152:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x2
+ bl sub_80487E0
+ b _080482B4
+_0804815E:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x3
+ bl sub_80487E0
+ b _080482B4
+_0804816A:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x4
+ bl sub_80487E0
+ b _080482B4
+_08048176:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x5
+ bl sub_80487E0
+ b _080482B4
+_08048182:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x6
+ bl sub_80487E0
+ b _080482B4
+_0804818E:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x7
+ bl sub_80487E0
+ b _080482B4
+_0804819A:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x8
+ bl sub_80487E0
+ b _080482B4
+_080481A6:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x9
+ bl sub_80487E0
+ b _080482B4
+_080481B2:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xA
+ bl sub_80487E0
+ b _080482B4
+_080481BE:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xB
+ bl sub_80487E0
+ b _080482B4
+_080481CA:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xC
+ bl sub_80487E0
+ b _080482B4
+_080481D6:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xD
+ bl sub_80487E0
+ b _080482B4
+_080481E2:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xE
+ bl sub_80487E0
+ b _080482B4
+_080481EE:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xF
+ bl sub_80487E0
+ b _080482B4
+_080481FA:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x10
+ bl sub_80487E0
+ b _080482B4
+_08048206:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x11
+ bl sub_80487E0
+ b _080482B4
+_08048212:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x32
+ movs r3, 0x5
+ bl sub_80487CC
+ b _080482B4
+_08048220:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xA
+ movs r3, 0
+ bl sub_80487CC
+ b _080482B4
+_0804822E:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl sub_8048DB8
+ b _080482B4
+_0804823A:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl sub_8048EB0
+ b _080482B4
+_08048246:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl sub_8048EC4
+ b _080482B4
+_08048252:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl sub_8048ED8
+ b _080482B4
+_0804825E:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl sub_8048EEC
+ b _080482B4
+_0804826A:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl sub_8048F00
+ b _080482B4
+_08048276:
+ cmp r6, 0
+ beq _080482A8
+ ldr r0, _080482A0
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ mov r0, sp
+ adds r0, 0x1A
+_08048284:
+ str r0, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ ldr r0, _080482A4
+ str r0, [sp, 0x8]
+ str r1, [sp, 0xC]
+ str r1, [sp, 0x10]
+ str r1, [sp, 0x14]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r3, 0x1
+ bl sub_806F370
+ b _080482B4
+ .align 2, 0
+_080482A0: .4byte gUnknown_80F4FAC
+_080482A4: .4byte 0x00000217
+_080482A8:
+ ldr r0, _080482CC
+ ldr r2, [r0]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_80522F4
+_080482B4:
+ adds r0, r4, 0
+ bl sub_8071DA4
+_080482BA:
+ add sp, 0x1C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080482CC: .4byte gUnknown_80FE458
+ thumb_func_end sub_80479B8
+
+ thumb_func_start nullsub_205
+nullsub_205:
+ bx lr
+ thumb_func_end nullsub_205
+
+ thumb_func_start sub_80482D4
+sub_80482D4:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ ldr r1, _080482F8
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_808417C
+ adds r2, r0, 0
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r3, 0x1
+ bl sub_8075C58
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080482F8: .4byte gUnknown_80F4E74
+ thumb_func_end sub_80482D4
+
+ thumb_func_start sub_80482FC
+sub_80482FC:
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0xC
+ mov r8, r0
+ mov r9, r1
+ adds r6, r2, 0
+ lsls r4, r3, 24
+ lsrs r4, 24
+ add r5, sp, 0x4
+ ldr r1, _0804833C
+ adds r0, r5, 0
+ bl sub_8092A88
+ strb r6, [r5, 0x4]
+ movs r3, 0x80
+ lsls r3, 1
+ str r4, [sp]
+ mov r0, r8
+ mov r1, r9
+ add r2, sp, 0x4
+ bl sub_8055640
+ add sp, 0xC
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804833C: .4byte 0x00000195
+ thumb_func_end sub_80482FC
+
+ .align 2,0
diff --git a/asm/code_8048480.s b/asm/code_8048480.s
index 13289fc..ca73573 100644
--- a/asm/code_8048480.s
+++ b/asm/code_8048480.s
@@ -603,7 +603,7 @@ _080489A2:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08048A12
@@ -660,7 +660,7 @@ _08048A12:
movs r1, 0x1
bl DrawFieldGiveItemMenu
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08048A58
@@ -741,7 +741,7 @@ _08048AB2:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08048B4A
@@ -820,7 +820,7 @@ _08048B4A:
movs r1, 0x1
bl DrawFieldGiveItemMenu
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08048B8C
@@ -892,7 +892,7 @@ _08048BD6:
ldr r4, [r0]
adds r0, r4, 0
str r2, [sp, 0x1C]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
ldr r2, [sp, 0x1C]
cmp r0, 0
@@ -946,7 +946,7 @@ _08048C3E:
movs r1, 0x1
bl DrawFieldGiveItemMenu
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08048C60
@@ -5181,7 +5181,7 @@ _0804ADBE:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0804ADDE
@@ -5328,7 +5328,7 @@ _0804AEDE:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0804AEFE
diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s
index 0f709f0..076728c 100644
--- a/asm/code_80521D0.s
+++ b/asm/code_80521D0.s
@@ -1206,7 +1206,7 @@ sub_8052D44:
adds r4, r1, 0
adds r6, r2, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0
@@ -1228,7 +1228,7 @@ _08052D70:
strh r5, [r7]
_08052D7A:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
@@ -2435,7 +2435,7 @@ sub_8053704:
bl _08055570
_08053724:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08053734
@@ -2671,7 +2671,7 @@ _080538DA:
bl sub_804954C
ldr r0, [r0, 0x10]
str r0, [sp, 0x38]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080539DC
@@ -5662,7 +5662,7 @@ _080554C2:
cmp r0, 0
bne _080555A2
ldr r0, [sp, 0x20]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080554E6
@@ -5676,12 +5676,12 @@ _080554E6:
cmp r4, 0
bne _08055510
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08055530
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08055530
@@ -5709,7 +5709,7 @@ _08055510:
strb r0, [r1]
_08055530:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08055548
@@ -5758,7 +5758,7 @@ _08055570:
cmp r5, 0
beq _080555A2
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080555A2
@@ -5770,7 +5770,7 @@ _080555A2:
cmp r4, 0
bne _08055604
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080555D6
@@ -5789,7 +5789,7 @@ _080555A2:
bl sub_807D148
_080555D6:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08055604
@@ -6081,7 +6081,7 @@ _08055826:
_08055834: .4byte gUnknown_80F9688
_08055838:
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08055850
@@ -6148,7 +6148,7 @@ sub_8055864:
b _080558D2
_080558BA:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080558D0
@@ -6646,7 +6646,7 @@ _08055C82:
movs r0, 0x1
bl sub_804178C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08055CCE
@@ -6668,7 +6668,7 @@ _08055C82:
_08055CB4:
mov r6, r8
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08055CCE
@@ -6679,7 +6679,7 @@ _08055CB4:
b _08055B30
_08055CCE:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08055D54
@@ -6744,14 +6744,14 @@ _08055D4E:
ble _08055CDC
_08055D54:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08055DB2
adds r0, r5, 0
bl sub_8071DA4
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08055DB2
@@ -6762,7 +6762,7 @@ _08055D54:
movs r0, 0
strb r0, [r1]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08055DB2
@@ -6808,7 +6808,7 @@ _08055DD8: .4byte gUnknown_80F4E70
sub_8055DDC:
push {r4-r7,lr}
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08055DEC
@@ -7343,7 +7343,7 @@ _08056278: .4byte gUnknown_202F220
_0805627C: .4byte 0x00000153
_08056280:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0805628E
@@ -7498,7 +7498,7 @@ _080563A8:
bl sub_8053704
_080563B8:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08056400
@@ -7549,7 +7549,7 @@ _08056418:
cmp r0, 0
beq _08056444
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08056444
@@ -8861,7 +8861,7 @@ _08056E3A:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08056E94
@@ -8962,7 +8962,7 @@ _08056F06:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08056F38
@@ -9191,7 +9191,7 @@ sub_80570AC:
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080570C2
@@ -9237,7 +9237,7 @@ sub_80570F4:
adds r4, r0, 0
lsls r1, 24
lsrs r7, r1, 24
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805713C
@@ -9296,7 +9296,7 @@ _08057154:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
adds r5, 0x1
mov r8, r5
@@ -9457,12 +9457,12 @@ sub_805727C:
cmp r0, 0
bne _080572FC
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080572FC
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080572FC
@@ -9525,7 +9525,7 @@ sub_8057308:
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0805731C
@@ -9890,7 +9890,7 @@ sub_8057588:
adds r4, r0, 0
lsls r1, 24
lsrs r6, r1, 24
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080575F8
diff --git a/asm/code_8057824.s b/asm/code_8057824.s
index 6248afd..e1f7137 100644
--- a/asm/code_8057824.s
+++ b/asm/code_8057824.s
@@ -2755,7 +2755,7 @@ sub_8058E5C:
cmp r0, 0
beq _08058ED0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08058ED0
@@ -3255,7 +3255,7 @@ sub_80591E4:
movs r4, 0x1
_0805922A:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805927E
@@ -5701,7 +5701,7 @@ sub_805A464:
cmp r0, 0
beq _0805A4B4
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -6373,7 +6373,7 @@ _0805A9B0:
cmp r4, 0
bne _0805AAB6
mov r0, r8
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805AAB6
@@ -6397,13 +6397,13 @@ _0805A9B0:
cmp r0, 0
bne _0805AAB6
mov r0, r8
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805AAB6
_0805A9FE:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805AAB6
@@ -6448,7 +6448,7 @@ _0805AA4C:
bl sub_80694C0
_0805AA5E:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805AAB6
@@ -6872,7 +6872,7 @@ _0805ADA0:
adds r0, r7
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805AE0C
@@ -8806,7 +8806,7 @@ _0805BBF0:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805BC2A
@@ -9448,7 +9448,7 @@ _0805C0BA:
_0805C0BE:
ldr r4, [r6]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805C0F2
@@ -10866,7 +10866,7 @@ _0805CE08:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805CE46
@@ -10909,7 +10909,7 @@ _0805CE5E:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805CE9C
@@ -15469,7 +15469,7 @@ _0805F4D8:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805F526
@@ -15524,7 +15524,7 @@ _0805F544:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805F542
@@ -16207,7 +16207,7 @@ _0805FB3A:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0805FB86
@@ -16662,7 +16662,7 @@ _0805FEF4:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
adds r5, r6, 0x1
mov r12, r5
@@ -17658,7 +17658,7 @@ _08060718:
adds r1, r0
ldr r4, [r1]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08060794
@@ -18093,7 +18093,7 @@ _08060A86:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08060ABE
@@ -18244,7 +18244,7 @@ _08060BD0:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08060CCC
@@ -18497,7 +18497,7 @@ _08060DE4:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08060E14
@@ -18573,7 +18573,7 @@ _08060E7A:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08060E9E
@@ -18928,7 +18928,7 @@ _08061164:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080611AC
@@ -19089,7 +19089,7 @@ _0806129E:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080612BA
@@ -21996,7 +21996,7 @@ _080629FC:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08062A5A
@@ -25468,7 +25468,7 @@ sub_806455C:
movs r3, 0
bl xxx_call_draw_string
ldr r0, [r4, 0x14]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080645C0
@@ -31266,7 +31266,7 @@ _080674BC:
bl sub_8047190
_080674D0:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080674F8
@@ -31777,7 +31777,7 @@ _080678C6:
cmp r0, 0
bne _080678F6
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080678F0
@@ -31888,7 +31888,7 @@ _0806798E:
movs r3, 0
bl sub_8055FA0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080679DE
@@ -31907,7 +31907,7 @@ _080679D2:
blt _0806798E
_080679DE:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08067A56
@@ -33603,7 +33603,7 @@ _0806876C:
cmp r4, 0
beq _08068796
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08068796
@@ -34751,7 +34751,7 @@ _08069044:
cmp r4, 0
beq _08069072
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08069072
@@ -34956,7 +34956,7 @@ _080691FE:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080691FC
@@ -36627,7 +36627,7 @@ _08069EAA:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08069F3E
@@ -36750,14 +36750,14 @@ sub_8069F9C:
mov r8, r0
adds r6, r1, 0
mov r9, r2
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08069FB8
b _0806A0FA
_08069FB8:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08069FC6
@@ -36935,12 +36935,12 @@ sub_806A120:
adds r7, r0, 0
adds r6, r1, 0
adds r4, r2, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806A19C
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806A19C
@@ -36999,7 +36999,7 @@ sub_806A1B0:
push {r4,lr}
sub sp, 0x4
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806A1DE
@@ -37028,7 +37028,7 @@ sub_806A1E8:
push {r4,r5,lr}
adds r4, r0, 0
movs r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806A234
@@ -37076,7 +37076,7 @@ sub_806A240:
adds r4, r0, 0
adds r5, r1, 0
movs r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806A2B4
@@ -37140,7 +37140,7 @@ sub_806A2BC:
adds r4, r0, 0
lsls r1, 24
lsrs r6, r1, 24
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806A328
@@ -37211,7 +37211,7 @@ _0806A33E:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806A384
@@ -37552,7 +37552,7 @@ sub_806A5B8:
push {r7}
sub sp, 0x4
adds r6, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0806A5CE
@@ -37799,7 +37799,7 @@ _0806A7A4:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806A7D2
@@ -38003,7 +38003,7 @@ _0806A92A:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806A95C
@@ -38046,7 +38046,7 @@ _0806A978:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806A99E
@@ -38072,7 +38072,7 @@ sub_806A9B4:
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806AA02
@@ -38184,7 +38184,7 @@ _0806AA7C:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806AB12
@@ -38280,7 +38280,7 @@ _0806AB3A:
adds r0, r1
ldr r7, [r0]
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
adds r4, 0x1
mov r8, r4
@@ -38297,7 +38297,7 @@ _0806AB5C:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806AB8C
@@ -39481,7 +39481,7 @@ _0806B460:
str r0, [r2]
bl sub_8083600
adds r5, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806B49C
@@ -39755,7 +39755,7 @@ _0806B67C:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806B6B8
@@ -41212,7 +41212,7 @@ _0806C1E2:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
adds r5, 0x1
mov r9, r5
@@ -42553,7 +42553,7 @@ _0806CC14:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806CC5C
@@ -42604,7 +42604,7 @@ _0806CC74:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806CCA0
@@ -42749,7 +42749,7 @@ _0806CD94:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806CDC0
@@ -42966,7 +42966,7 @@ sub_806CEFC:
sub_806CF18:
push {r4-r6,lr}
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806CF4C
@@ -43018,7 +43018,7 @@ _0806CF64:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806CF84
@@ -43136,14 +43136,14 @@ _0806D04A:
b _0806D514
_0806D054:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0806D062
b _0806D514
_0806D062:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0806D070
@@ -43235,14 +43235,14 @@ _0806D100:
bl sub_8077084
_0806D118:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0806D126
b _0806D514
_0806D126:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0806D134
@@ -43363,14 +43363,14 @@ _0806D1E0:
bl sub_806D528
_0806D216:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0806D224
b _0806D514
_0806D224:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0806D232
@@ -43665,12 +43665,12 @@ _0806D45A:
strh r0, [r2]
_0806D48A:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806D514
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806D514
@@ -44364,7 +44364,7 @@ _0806DA2E:
movs r0, 0x1
mov r8, r0
mov r0, r9
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806DA50
@@ -44672,7 +44672,7 @@ _0806DC86:
adds r0, r1
ldr r0, [r0]
mov r8, r0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806DCDE
@@ -45094,7 +45094,7 @@ _0806DFF8:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806E020
@@ -45138,7 +45138,7 @@ _0806E040:
strb r1, [r0, 0xD]
_0806E066:
mov r0, r9
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806E08A
@@ -45246,7 +45246,7 @@ sub_806E100:
movs r1, 0
str r1, [sp, 0x1C]
ldr r0, [sp, 0x18]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0806E14E
@@ -45883,7 +45883,7 @@ sub_806E654:
movs r0, 0
str r0, [sp, 0x10]
adds r0, r1, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0806E6DC
@@ -48222,7 +48222,7 @@ _0806F8C6:
adds r0, r3
adds r0, r1
ldr r0, [r0]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0806F8C4
@@ -48272,7 +48272,7 @@ _0806F91C:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
adds r1, r6, 0x1
mov r8, r1
@@ -48848,7 +48848,7 @@ _0806FDBE:
adds r0, r2
adds r0, r1
ldr r0, [r0]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0806FDBC
diff --git a/asm/code_807001C.s b/asm/code_807001C.s
index c5f3413..140153b 100644
--- a/asm/code_807001C.s
+++ b/asm/code_807001C.s
@@ -1115,7 +1115,7 @@ sub_8070828:
lsls r1, 24
lsrs r6, r1, 24
movs r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08070840
@@ -2776,7 +2776,7 @@ _0807148C:
sub_8071494:
push {r4,r5,lr}
adds r5, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807150E
@@ -3285,7 +3285,7 @@ sub_8071824:
adds r4, r0, 0
lsls r1, 24
lsrs r5, r1, 24
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08071850
@@ -3540,7 +3540,7 @@ _080719D8:
adds r0, r1
ldr r4, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08071A04
@@ -3640,7 +3640,7 @@ _08071A86:
sub_8071A8C:
push {r4,lr}
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08071AC2
@@ -3819,7 +3819,7 @@ _08071BBC:
adds r0, r6, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08071BF6
@@ -3851,7 +3851,7 @@ _08071C08:
adds r1, r0
ldr r4, [r1]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08071C3A
@@ -4071,7 +4071,7 @@ _08071DBE:
b _08071FE2
_08071DCC:
ldr r0, [sp, 0xB4]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08071DE2
@@ -4109,7 +4109,7 @@ _08071DE4:
b _08071FDA
_08071E16:
mov r0, r8
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08071E24
@@ -4370,7 +4370,7 @@ sub_8072008:
lsrs r0, 24
str r0, [sp, 0x24]
mov r0, r8
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08072036
@@ -4751,7 +4751,7 @@ LevelDownTarget:
adds r5, r1, 0
adds r7, r2, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080723B6
@@ -4844,7 +4844,7 @@ sub_80723D0:
movs r0, 0
str r0, [sp, 0x18]
mov r0, r10
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08072422
@@ -5071,7 +5071,7 @@ sub_80725A4:
str r0, [sp, 0xC]
str r1, [sp, 0x10]
adds r0, r1, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080725C2
@@ -6136,7 +6136,7 @@ _08072DA4:
b _080732D4
_08072DD2:
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08072DE0
@@ -6571,7 +6571,7 @@ _080731B8:
adds r0, r4, 0
bl sub_807FD84
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080731CC
@@ -6591,7 +6591,7 @@ _080731E2:
movs r0, 0
bl sub_8041888
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080732D4
@@ -6643,7 +6643,7 @@ _08073242:
bl sub_807348C
bl sub_80732F0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080732D4
@@ -6655,7 +6655,7 @@ _08073264:
bl sub_8075818
_08073270:
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080732D4
@@ -6668,7 +6668,7 @@ _0807328A:
movs r0, 0
bl sub_8041888
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080732D4
@@ -6732,7 +6732,7 @@ _080732FE:
adds r0, r1
ldr r0, [r0]
mov r8, r0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
adds r4, 0x1
str r4, [sp, 0x10]
@@ -6944,7 +6944,7 @@ _0807349E:
adds r0, r1
ldr r7, [r0]
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
adds r4, 0x1
str r4, [sp, 0x10]
@@ -7134,7 +7134,7 @@ _08073610:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08073644
@@ -7653,7 +7653,7 @@ _08073A0A:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08073A88
@@ -7743,7 +7743,7 @@ _08073AC0:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08073B56
@@ -8509,7 +8509,7 @@ sub_8074094:
bne _080740AA
bl _08074B2E
_080740AA:
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080740B8
@@ -8565,7 +8565,7 @@ _08074102:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074136
@@ -8766,7 +8766,7 @@ _080742AE:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080742D8
@@ -8868,7 +8868,7 @@ _080743A0:
bl sub_803E708
_080743B0:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080743BE
@@ -8949,7 +8949,7 @@ _0807441C:
bl sub_806F324
_08074466:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074474
@@ -8983,7 +8983,7 @@ _08074480:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080744C0
@@ -9034,7 +9034,7 @@ _0807450C:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807452A
@@ -9069,7 +9069,7 @@ _0807455C:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074570
@@ -9097,7 +9097,7 @@ _0807457C:
bl sub_806F324
_0807459C:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080745AA
@@ -9126,7 +9126,7 @@ _080745D0:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080745E4
@@ -9189,7 +9189,7 @@ _0807465A:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807466E
@@ -9216,7 +9216,7 @@ _0807468C:
bl sub_806F324
_08074696:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080746A4
@@ -9248,7 +9248,7 @@ _080746D0:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080746E4
@@ -9302,7 +9302,7 @@ _08074748:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807475C
@@ -9330,7 +9330,7 @@ _08074782:
bl sub_806F324
_08074786:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074794
@@ -9364,7 +9364,7 @@ _080747C8:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080747DC
@@ -9423,7 +9423,7 @@ _08074834:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807484E
@@ -9446,7 +9446,7 @@ _0807485A:
bl sub_806F324
_08074870:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807487E
@@ -9528,14 +9528,14 @@ _08074906:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807492C
b _08074B2E
_0807492C:
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807493A
@@ -9583,7 +9583,7 @@ _08074984:
bl HealTargetHP
_08074994:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080749A2
@@ -9608,7 +9608,7 @@ _080749AE:
movs r0, 0
bl sub_807520C
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080749D8
@@ -9653,7 +9653,7 @@ _08074A24:
bl sub_806F324
_08074A30:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08074B2E
@@ -9712,7 +9712,7 @@ _08074A46:
movs r3, 0
bl sub_8055FA0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08074B2E
@@ -9726,7 +9726,7 @@ _08074A46:
str r1, [r0]
_08074AD4:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08074B2E
@@ -9759,7 +9759,7 @@ _08074AD4:
bl sub_80522A8
_08074B1E:
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08074B2E
@@ -9791,7 +9791,7 @@ sub_8074B54:
bne _08074B62
b _08074F96
_08074B62:
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074B6E
@@ -9929,7 +9929,7 @@ _08074C48:
bl sub_807A124
_08074C6E:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074C7C
@@ -9958,7 +9958,7 @@ _08074C88:
bl sub_807A290
_08074CAA:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074CB8
@@ -9987,7 +9987,7 @@ _08074CC4:
bl sub_807A324
_08074CE6:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074CF4
@@ -10016,7 +10016,7 @@ _08074D00:
bl sub_807A400
_08074D22:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074D30
@@ -10045,7 +10045,7 @@ _08074D3C:
bl sub_807A4C8
_08074D5E:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074D6C
@@ -10075,7 +10075,7 @@ _08074D78:
bl sub_807A5D0
_08074D9C:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074DAA
@@ -10104,7 +10104,7 @@ _08074DB6:
bl sub_807A6C8
_08074DD8:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074DE6
@@ -10133,7 +10133,7 @@ _08074DF2:
bl sub_807A734
_08074E14:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074E22
@@ -10162,7 +10162,7 @@ _08074E2E:
bl sub_807A7C8
_08074E50:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074E5E
@@ -10191,7 +10191,7 @@ _08074E6A:
bl sub_807A888
_08074E8C:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08074E9A
@@ -10218,7 +10218,7 @@ _08074E9A:
bl sub_807A924
_08074EC6:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08074F96
@@ -10676,7 +10676,7 @@ _0807524E:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807534C
@@ -10842,7 +10842,7 @@ _080753A6:
ldr r3, [r0]
adds r0, r3, 0
str r3, [sp, 0x14]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
ldr r3, [sp, 0x14]
cmp r0, 0
@@ -10974,7 +10974,7 @@ _080754B2:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080754F6
@@ -11054,7 +11054,7 @@ _08075564:
bl sub_8075708
_0807556A:
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080755FE
@@ -11067,7 +11067,7 @@ _0807556A:
adds r0, r4, 0
bl sub_8074094
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080755FE
@@ -11087,7 +11087,7 @@ _0807556A:
bl sub_8075900
_080755BC:
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080755FE
@@ -11128,7 +11128,7 @@ _08075600:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080755FE
@@ -11194,7 +11194,7 @@ _08075684:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080756EE
@@ -11259,7 +11259,7 @@ sub_8075708:
push {r6,r7}
adds r4, r0, 0
ldr r6, [r4, 0x70]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807580C
@@ -11390,7 +11390,7 @@ sub_8075818:
push {r4-r6,lr}
adds r4, r0, 0
ldr r6, [r4, 0x70]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080758F6
@@ -11509,7 +11509,7 @@ sub_8075900:
adds r4, r0, 0
lsls r1, 24
lsrs r6, r1, 24
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807597A
@@ -11677,7 +11677,7 @@ _08075A5A:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08075AB0
@@ -11876,7 +11876,7 @@ sub_8075BF4:
adds r5, r0, 0
adds r4, r1, 0
movs r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08075C0A
@@ -12019,7 +12019,7 @@ sub_8075CFC:
lsls r3, 24
lsrs r5, r3, 24
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08075DAA
@@ -12383,7 +12383,7 @@ sub_8075FCC:
adds r4, r1, 0
movs r7, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08076086
@@ -12487,7 +12487,7 @@ sub_8076090:
lsrs r0, 24
mov r9, r0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807613A
@@ -12572,7 +12572,7 @@ sub_807614C:
lsls r2, 24
lsrs r7, r2, 24
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08076206
@@ -12670,7 +12670,7 @@ sub_8076210:
lsrs r3, 24
mov r10, r3
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08076238
@@ -12834,7 +12834,7 @@ _08076362:
bl sub_804954C
ldr r4, [r0, 0x10]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080763D4
@@ -12901,7 +12901,7 @@ sub_80763F8:
lsrs r2, 24
mov r10, r2
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807641A
@@ -13066,7 +13066,7 @@ _08076544:
bl sub_804954C
ldr r4, [r0, 0x10]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080765B4
@@ -13135,7 +13135,7 @@ sub_80765E0:
lsrs r2, 24
mov r10, r2
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08076602
@@ -13289,7 +13289,7 @@ _08076714:
bl sub_804954C
ldr r4, [r0, 0x10]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08076784
@@ -13356,7 +13356,7 @@ sub_80767B0:
lsrs r4, r2, 24
adds r6, r4, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080767CE
@@ -13499,7 +13499,7 @@ sub_80768DC:
lsls r3, 24
lsrs r4, r3, 24
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080769BE
@@ -13606,7 +13606,7 @@ sub_80769CC:
adds r7, r0, 0
adds r5, r1, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08076A9A
@@ -13710,7 +13710,7 @@ sub_8076AA4:
mov r8, r0
adds r5, r1, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08076B3A
@@ -13789,7 +13789,7 @@ sub_8076B48:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08076B60
@@ -13967,7 +13967,7 @@ _08076CBC:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08076CFA
@@ -14008,7 +14008,7 @@ sub_8076D10:
adds r7, r0, 0
adds r6, r1, 0
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08076E0E
@@ -14096,7 +14096,7 @@ _08076DC2:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08076E02
@@ -14154,7 +14154,7 @@ sub_8076E20:
lsrs r1, 24
mov r8, r1
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08076E4C
@@ -14317,7 +14317,7 @@ sub_8076F80:
lsrs r1, 24
mov r8, r1
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08077072
@@ -14432,7 +14432,7 @@ sub_8077084:
adds r5, r2, 0
adds r6, r3, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08077152
@@ -14534,7 +14534,7 @@ sub_8077160:
adds r5, r2, 0
adds r6, r3, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807722E
@@ -14630,7 +14630,7 @@ _08077238: .4byte gUnknown_80FC21C
sub_807723C:
push {r4,lr}
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08077258
@@ -14664,7 +14664,7 @@ sub_8077274:
push {r4,r5,lr}
adds r5, r1, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080772B4
@@ -14714,7 +14714,7 @@ sub_80772C0:
lsls r0, 24
lsrs r6, r0, 24
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080772E6
@@ -14894,7 +14894,7 @@ sub_8077434:
lsls r0, 24
lsrs r6, r0, 24
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807752E
@@ -15019,7 +15019,7 @@ sub_8077540:
adds r4, r1, 0
adds r5, r2, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080775D2
@@ -15095,7 +15095,7 @@ sub_80775DC:
lsls r3, 24
lsrs r4, r3, 24
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080776B6
@@ -15200,7 +15200,7 @@ sub_80776C0:
lsls r2, 24
lsrs r6, r2, 24
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08077776
@@ -15295,7 +15295,7 @@ sub_8077780:
lsrs r2, 24
mov r10, r2
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080777A2
@@ -15413,7 +15413,7 @@ _08077874:
bl sub_804954C
ldr r4, [r0, 0x10]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080778E4
@@ -15482,7 +15482,7 @@ sub_8077910:
lsrs r3, 24
mov r9, r3
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080779DE
@@ -15595,7 +15595,7 @@ sub_80779F0:
lsrs r3, 24
mov r9, r3
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08077AD0
@@ -15710,7 +15710,7 @@ sub_8077AE4:
lsrs r5, r2, 24
adds r7, r5, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08077BAA
@@ -15809,7 +15809,7 @@ sub_8077BB4:
lsls r2, 24
lsrs r5, r2, 24
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08077C3A
@@ -15886,7 +15886,7 @@ HealTargetHP:
lsrs r0, 24
str r0, [sp]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08077C6E
@@ -16085,7 +16085,7 @@ sub_8077DDC:
adds r5, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08077E3C
@@ -16137,7 +16137,7 @@ sub_8077E4C:
adds r5, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08077EC0
@@ -16199,7 +16199,7 @@ sub_8077ED0:
adds r5, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08077F30
@@ -16258,7 +16258,7 @@ sub_8077F40:
lsrs r6, r2, 24
mov r9, r6
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08077F62
@@ -16417,7 +16417,7 @@ _0807808A:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080780D0
@@ -16462,7 +16462,7 @@ sub_80780E4:
adds r4, r0, 0
adds r5, r1, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080781C4
@@ -16577,7 +16577,7 @@ sub_80781DC:
adds r4, r1, 0
adds r6, r2, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08078242
@@ -16632,7 +16632,7 @@ sub_807824C:
adds r4, r1, 0
adds r7, r2, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080782C2
@@ -16693,7 +16693,7 @@ sub_80782CC:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807833E
@@ -16752,7 +16752,7 @@ sub_8078348:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080783BA
@@ -16819,7 +16819,7 @@ sub_80783C4:
lsrs r2, 24
str r2, [sp, 0x18]
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _080783E8
@@ -16876,7 +16876,7 @@ _08078442:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08078480
@@ -16965,7 +16965,7 @@ _08078502:
adds r0, r1
ldr r0, [r0]
mov r9, r0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807855E
@@ -17030,12 +17030,12 @@ sub_8078594:
push {r4-r7,lr}
adds r5, r0, 0
adds r6, r1, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807866E
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807866E
@@ -17141,7 +17141,7 @@ sub_8078678:
adds r7, r0, 0
adds r6, r1, 0
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08078732
@@ -17159,7 +17159,7 @@ _0807869A:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080786C8
@@ -17244,7 +17244,7 @@ sub_8078758:
adds r5, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080787DA
@@ -17310,7 +17310,7 @@ sub_80787E4:
adds r6, r0, 0
adds r5, r1, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08078852
@@ -17367,7 +17367,7 @@ sub_807885C:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080788DE
@@ -17434,7 +17434,7 @@ sub_80788E8:
adds r6, r0, 0
adds r5, r1, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807895E
@@ -17498,7 +17498,7 @@ sub_8078968:
adds r4, r1, 0
ldr r5, [r4, 0x70]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08078A4A
@@ -17618,7 +17618,7 @@ sub_8078A58:
adds r7, r2, 0
adds r5, r3, 0
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08078B4A
@@ -17743,7 +17743,7 @@ sub_8078B5C:
lsrs r0, 24
mov r8, r0
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08078B86
@@ -17991,7 +17991,7 @@ sub_8078D8C:
adds r5, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08078E0E
@@ -18063,7 +18063,7 @@ sub_8078E18:
mov r10, r0
adds r5, r1, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08078F2E
@@ -18202,7 +18202,7 @@ sub_8078F50:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08078FD2
@@ -18279,7 +18279,7 @@ sub_8078FDC:
mov r8, r0
mov r9, r0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080790B6
@@ -18383,7 +18383,7 @@ sub_80790C8:
adds r5, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079134
@@ -18440,7 +18440,7 @@ BlindTarget:
adds r5, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080791CE
@@ -18510,7 +18510,7 @@ sub_80791D8:
adds r5, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079266
@@ -18580,7 +18580,7 @@ RestoreVisionTarget:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080792EE
@@ -18651,7 +18651,7 @@ sub_80792F8:
movs r0, 0
mov r8, r0
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807939A
@@ -18738,7 +18738,7 @@ sub_80793B0:
adds r4, r1, 0
adds r5, r2, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079416
@@ -18795,7 +18795,7 @@ sub_8079420:
adds r4, r1, 0
adds r5, r2, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079486
@@ -18852,7 +18852,7 @@ sub_8079490:
adds r4, r1, 0
adds r5, r2, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080794F6
@@ -18909,7 +18909,7 @@ sub_8079500:
adds r4, r1, 0
adds r5, r2, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079566
@@ -19055,7 +19055,7 @@ sub_8079618:
lsls r2, 24
lsrs r6, r2, 24
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08079638
@@ -19217,7 +19217,7 @@ _08079760: .4byte 0x0000018f
sub_8079764:
push {r4,lr}
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807979A
@@ -19257,7 +19257,7 @@ sub_80797A0:
lsls r2, 24
lsrs r7, r2, 24
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079822
@@ -19324,7 +19324,7 @@ sub_8079834:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080798A6
@@ -19383,7 +19383,7 @@ sub_80798B0:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079922
@@ -19442,7 +19442,7 @@ sub_807992C:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807999E
@@ -19501,7 +19501,7 @@ sub_80799A8:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079A1A
@@ -19560,7 +19560,7 @@ sub_8079A24:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079A96
@@ -19619,7 +19619,7 @@ sub_8079AA0:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079B12
@@ -19678,7 +19678,7 @@ sub_8079B1C:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079B98
@@ -19742,7 +19742,7 @@ sub_8079BA8:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079C1A
@@ -19801,7 +19801,7 @@ sub_8079C24:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079C96
@@ -19860,7 +19860,7 @@ sub_8079CA0:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079D12
@@ -19919,7 +19919,7 @@ sub_8079D1C:
adds r5, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079DAE
@@ -19993,7 +19993,7 @@ sub_8079DB8:
adds r6, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079E2A
@@ -20059,7 +20059,7 @@ sub_8079E34:
mov r9, r2
movs r6, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08079F0E
@@ -20190,7 +20190,7 @@ sub_8079F20:
mov r8, r0
mov r9, r0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08079F50
@@ -20210,7 +20210,7 @@ _08079F50:
movs r3, 0
bl sub_807A124
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _08079F7C
@@ -20380,7 +20380,7 @@ sub_807A0CC:
push {r4-r7,lr}
adds r5, r1, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807A11E
@@ -20440,7 +20440,7 @@ sub_807A124:
movs r0, 0
mov r9, r0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807A14E
@@ -20601,7 +20601,7 @@ sub_807A290:
adds r5, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807A31A
@@ -20674,7 +20674,7 @@ sub_807A324:
adds r4, r1, 0
movs r7, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807A3F4
@@ -20776,7 +20776,7 @@ sub_807A400:
adds r4, r0, 0
adds r5, r1, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807A4BC
@@ -20872,7 +20872,7 @@ sub_807A4C8:
push {r4,r5,lr}
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807A4DA
@@ -21005,7 +21005,7 @@ sub_807A5D0:
lsls r2, 24
lsrs r6, r2, 24
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807A6B2
@@ -21117,7 +21117,7 @@ sub_807A6C8:
push {r4,r5,lr}
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807A72A
@@ -21174,7 +21174,7 @@ sub_807A734:
push {r4,r5,lr}
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807A7BC
@@ -21249,7 +21249,7 @@ sub_807A7C8:
adds r4, r1, 0
movs r6, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807A87E
@@ -21338,7 +21338,7 @@ sub_807A888:
push {r4,r5,lr}
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807A918
@@ -21413,7 +21413,7 @@ sub_807A924:
push {r4,r5,lr}
adds r5, r1, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807A95C
@@ -21509,7 +21509,7 @@ sub_807A9D8:
adds r5, r0, 0
adds r4, r1, 0
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807AA20
@@ -21563,7 +21563,7 @@ _0807AA3C:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
adds r4, 0x1
mov r10, r4
@@ -21597,7 +21597,7 @@ _0807AA82:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807AB00
@@ -21972,7 +21972,7 @@ _0807AD1C:
movs r1, 0
bl sub_806B7F8
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807AD9A
@@ -22155,7 +22155,7 @@ sub_807AEBC:
push {r4-r6,lr}
adds r4, r0, 0
ldr r5, [r4, 0x70]
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807AF50
@@ -22296,7 +22296,7 @@ _0807AFD6:
adds r0, r6
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807B098
@@ -22484,7 +22484,7 @@ _0807B12C:
mov r0, r8
bl sub_8072CA8
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807B222
@@ -23153,7 +23153,7 @@ _0807B64C:
_0807B65C:
ldr r4, [r6]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807B6CE
@@ -24656,7 +24656,7 @@ _0807C1A2:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807C1E0
@@ -24797,7 +24797,7 @@ _0807C2C0:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807C370
@@ -24895,7 +24895,7 @@ _0807C39A:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807C3CA
@@ -25908,7 +25908,7 @@ _0807CADC:
movs r3, 0
bl sub_8055A00
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807CAC6
@@ -25917,7 +25917,7 @@ _0807CB0A:
movs r1, 0x1
bl sub_8057588
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807CB2A
@@ -26134,7 +26134,7 @@ _0807CCDC:
movs r4, 0
_0807CCDE:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807CD38
@@ -26480,7 +26480,7 @@ _0807CF9E:
cmp r5, 0
bne _0807D02A
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807D02A
@@ -26500,7 +26500,7 @@ _0807CF9E:
bl sub_807D148
_0807CFD8:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807D02A
@@ -27287,7 +27287,7 @@ _0807D606:
add r0, r9
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807D5FE
@@ -27505,7 +27505,7 @@ _0807D7D8:
add r4, r8
adds r4, 0x4
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807D85A
@@ -27610,7 +27610,7 @@ _0807D8B0:
adds r4, r5
adds r4, 0x4
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807D90A
@@ -27896,7 +27896,7 @@ _0807DB00:
bl sub_807D148
_0807DB20:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807DB5E
@@ -28308,7 +28308,7 @@ _0807DE46:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807DE74
@@ -28351,14 +28351,14 @@ _0807DEAE:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807DEF4
adds r0, r4, 0
bl sub_806A5B8
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807DEF4
@@ -28439,7 +28439,7 @@ _0807DF62:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807DF60
@@ -28718,7 +28718,7 @@ sub_807E1A0:
lsls r3, 16
asrs r7, r3, 16
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807E244
@@ -28869,7 +28869,7 @@ _0807E2A4:
movs r1, 0
bl sub_804535C
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807E330
@@ -28893,7 +28893,7 @@ _0807E31A:
bl sub_8075900
_0807E330:
adds r0, r7, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807E366
@@ -28930,7 +28930,7 @@ sub_807E378:
push {r4-r7,lr}
bl sub_8083600
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807E38C
@@ -29531,7 +29531,7 @@ _0807E846:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807E866
@@ -29615,7 +29615,7 @@ sub_807E8F0:
movs r0, 0
mov r8, r0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807E90E
@@ -30095,7 +30095,7 @@ _0807ECC6:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807ED0E
@@ -30195,7 +30195,7 @@ _0807ED92:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807EDAE
@@ -30842,7 +30842,7 @@ _0807F2BA:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807F2F8
@@ -30971,7 +30971,7 @@ _0807F3BC:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807F3F4
@@ -31083,7 +31083,7 @@ _0807F4A8:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
adds r3, r7, 0x1
str r3, [sp, 0x104]
@@ -31524,7 +31524,7 @@ _0807F7FC:
bl sub_804954C
ldr r6, [r0, 0x10]
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
bne _0807F876
@@ -31644,7 +31644,7 @@ _0807F8FA:
bl sub_806F370
_0807F93C:
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807F954
@@ -31670,7 +31670,7 @@ _0807F954:
movs r3, 0
bl sub_806F370
mov r0, r8
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807F98E
@@ -31706,7 +31706,7 @@ _0807F9B8: .4byte 0x00000219
sub_807F9BC:
push {r4,lr}
adds r4, r0, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0807FA0A
@@ -32702,7 +32702,7 @@ _08080180:
bl sub_806F324
_08080194:
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080801A6
@@ -33943,7 +33943,7 @@ sub_8080B00:
lsrs r5, r1, 24
ldr r4, [r0, 0x14]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08080B2A
@@ -34322,7 +34322,7 @@ sub_8080E0C:
movs r1, 0x55
bl sub_8083060
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08080E8C
@@ -37678,7 +37678,7 @@ _08082B46:
adds r0, r1
ldr r5, [r0]
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08082BA8
@@ -39204,7 +39204,7 @@ _0808360C:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0808362E
@@ -39729,7 +39729,7 @@ _080839DA:
_08083A00:
ldr r4, [r5]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08083A32
@@ -39837,7 +39837,7 @@ sub_8083AB0:
adds r4, r0, r1
movs r6, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08083AE4
@@ -40778,7 +40778,7 @@ sub_808417C:
bl sub_808411C
adds r4, r0, 0
adds r0, r5, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080841DC
@@ -41365,7 +41365,7 @@ _08084632:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0808466E
diff --git a/asm/code_80848F0.s b/asm/code_80848F0.s
index 2d9252a..deec2b3 100644
--- a/asm/code_80848F0.s
+++ b/asm/code_80848F0.s
@@ -159,7 +159,7 @@ _0808538E:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080853BE
@@ -290,7 +290,7 @@ _08085490:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080854C0
@@ -336,7 +336,7 @@ _080854E6:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08085504
@@ -481,7 +481,7 @@ _080855EC:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08085618
@@ -527,7 +527,7 @@ _08085642:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0808566C
@@ -565,7 +565,7 @@ _08085688:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080856B8
@@ -687,7 +687,7 @@ _08085770:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _0808579E
@@ -734,7 +734,7 @@ _080857CA:
adds r0, r1
ldr r6, [r0]
adds r0, r6, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08085840
@@ -921,7 +921,7 @@ _0808593C:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08085982
@@ -960,7 +960,7 @@ _08085990:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _080859E2
@@ -1014,7 +1014,7 @@ _080859FC:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08085A42
@@ -1834,7 +1834,7 @@ _080860D0:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08086114
diff --git a/asm/code_8086A3C.s b/asm/code_8086A3C.s
index 8d2e8b2..b66357b 100644
--- a/asm/code_8086A3C.s
+++ b/asm/code_8086A3C.s
@@ -371,7 +371,7 @@ _08086F6A:
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
- bl sub_80450E0
+ bl entityExists
lsls r0, 24
cmp r0, 0
beq _08086F8E
diff --git a/include/dungeon_engine.h b/include/dungeon_engine.h
new file mode 100644
index 0000000..152bda6
--- /dev/null
+++ b/include/dungeon_engine.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_DUNGEON_ENGINE_H
+#define GUARD_DUNGEON_ENGINE_H
+
+#include "dungeon_entity.h"
+
+// 0x8075990
+void decideAction(struct DungeonEntity *pokemon);
+
+#endif \ No newline at end of file
diff --git a/include/dungeon_entity.h b/include/dungeon_entity.h
index 6b11b8a..12bb3da 100644
--- a/include/dungeon_entity.h
+++ b/include/dungeon_entity.h
@@ -229,8 +229,7 @@ struct DungeonEntityData
// Used for Pokémon, items, and traps.
struct DungeonEntity
{
- /* 0x0 */ u8 entityType;
- u8 fill1[0x4 - 0x1];
+ /* 0x0 */ u32 entityType;
/* 0x4 */ s16 posWorldX;
/* 0x6 */ s16 posWorldY;
/* 0x8 */ s16 prevPosWorldX;
@@ -282,6 +281,7 @@ struct DungeonEntity
enum EntityType
{
+ ENTITY_NONE = 0,
ENTITY_POKEMON = 1,
ENTITY_ITEM = 2,
ENTITY_TRAP = 3
diff --git a/ld_script.txt b/ld_script.txt
index 7bdcb4b..4ccd069 100755
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -182,6 +182,8 @@ SECTIONS {
asm/code_8041AD0.o(.text);
src/code_80428A0.o(.text);
asm/code_80428A0.o(.text);
+ src/dungeon_engine.o(.text);
+ asm/code_80450F8.o(.text);
src/code_8048480.o(.text);
asm/code_8048480.o(.text);
src/code_80521D0.o(.text);
diff --git a/src/code_80521D0_1.c b/src/code_80521D0_1.c
index fa1c79e..b29dc9a 100644
--- a/src/code_80521D0_1.c
+++ b/src/code_80521D0_1.c
@@ -94,7 +94,7 @@ extern void sub_8085918(struct DungeonEntity *, u32);
extern void sub_806CE68(struct DungeonEntity *r0, u32);
extern void sub_8052910(u32 *);
extern void sub_803E708(u32, u32);
-extern u8 sub_80450E0(struct DungeonEntity *);
+extern u8 entityExists(struct DungeonEntity *);
extern u8 HasRecruitedMon(u32);
extern u8 sub_806FD18(struct DungeonEntity *);
extern u8 sub_8083E74(u32);
@@ -1102,7 +1102,7 @@ void sub_808C948(struct DungeonEntity *param_1, u8 param_2)
flag = FALSE;
for(iVar3 = 0; iVar3 < 0x10; iVar3++){
iVar2 = gDungeonGlobalData->wildPokemon[iVar3];
- if ((iVar2 != param_1) && (sub_80450E0(iVar2) != 0)) {
+ if ((iVar2 != param_1) && (entityExists(iVar2) != 0)) {
flag = TRUE;
break;
}
diff --git a/src/code_8057824_1.c b/src/code_8057824_1.c
index ec518d7..3426921 100644
--- a/src/code_8057824_1.c
+++ b/src/code_8057824_1.c
@@ -313,7 +313,7 @@ void sub_808919C();
void sub_8088D30(void);
extern void sub_8083F14();
-extern u8 sub_80450E0(struct DungeonEntity *);
+extern u8 entityExists(struct DungeonEntity *);
extern u8 sub_8086AE4(u32);
@@ -1985,7 +1985,7 @@ void sub_8089788(struct DungeonEntity *param_1, u8 param_2, s32 param_3)
for(iVar3 = 0; iVar3 < 0x10; iVar3++)
{
iVar2 = gDungeonGlobalData->wildPokemon[iVar3];
- if ((sub_80450E0(iVar2) != '\0') && (iVar2 != param_1) && (iVar2->entityData->clientFlags == param_2)) {
+ if ((entityExists(iVar2) != '\0') && (iVar2 != param_1) && (iVar2->entityData->clientFlags == param_2)) {
return;
}
}
diff --git a/src/dungeon_engine.c b/src/dungeon_engine.c
new file mode 100644
index 0000000..8689b91
--- /dev/null
+++ b/src/dungeon_engine.c
@@ -0,0 +1,11 @@
+#include "global.h"
+#include "dungeon_engine.h"
+
+bool8 entityExists(struct DungeonEntity *entity)
+{
+ if (!entity)
+ {
+ return FALSE;
+ }
+ return entity->entityType != ENTITY_NONE;
+}