diff options
-rw-r--r-- | asm/code_807CD9C.s | 9555 | ||||
-rw-r--r-- | asm/code_807E5AC.s | 9537 | ||||
-rw-r--r-- | include/weather.h | 9 | ||||
-rwxr-xr-x | ld_script.txt | 2 | ||||
-rw-r--r-- | src/status_checker.c | 2 | ||||
-rw-r--r-- | src/weather.c | 16 |
6 files changed, 9565 insertions, 9556 deletions
diff --git a/asm/code_807CD9C.s b/asm/code_807CD9C.s index 978bf1d..dfc4efa 100644 --- a/asm/code_807CD9C.s +++ b/asm/code_807CD9C.s @@ -2935,9559 +2935,4 @@ _0807E578: .4byte 0x00003a0e _0807E57C: .4byte 0x0000021e thumb_func_end sub_807E378 - thumb_func_start GetWeather -GetWeather: - push {lr} - cmp r0, 0 - beq _0807E596 - movs r1, 0x2D - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _0807E596 - movs r0, 0 - b _0807E5A0 -_0807E596: - ldr r0, _0807E5A4 - ldr r0, [r0] - ldr r1, _0807E5A8 - adds r0, r1 - ldrb r0, [r0] -_0807E5A0: - pop {r1} - bx r1 - .align 2, 0 -_0807E5A4: .4byte gDungeonGlobalData -_0807E5A8: .4byte 0x0000e264 - thumb_func_end GetWeather - - thumb_func_start sub_807E5AC -sub_807E5AC: - push {lr} - ldr r0, _0807E5DC - ldr r0, [r0] - ldr r1, _0807E5E0 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bne _0807E5C6 - movs r0, 0x8 - bl DungeonRandomCapped - lsls r0, 24 - lsrs r0, 24 -_0807E5C6: - bl sub_807E5E4 - bl TriggerWeatherAbilities - movs r0, 0 - movs r1, 0x1 - bl sub_807EAA0 - pop {r0} - bx r0 - .align 2, 0 -_0807E5DC: .4byte gDungeonGlobalData -_0807E5E0: .4byte 0x0001c578 - thumb_func_end sub_807E5AC - - thumb_func_start sub_807E5E4 -sub_807E5E4: - push {r4-r6,lr} - ldr r3, _0807E674 - ldr r1, [r3] - ldr r2, _0807E678 - adds r1, r2 - movs r4, 0 - strb r0, [r1] - ldr r0, [r3] - adds r2, r0, r2 - ldrb r1, [r2] - ldr r2, _0807E67C - adds r0, r2 - strb r1, [r0] - ldr r0, [r3] - ldr r1, _0807E680 - adds r0, r1 - strb r4, [r0] - movs r2, 0 - adds r4, r3, 0 - ldr r6, _0807E684 - movs r1, 0 - ldr r5, _0807E688 -_0807E610: - ldr r0, [r4] - adds r0, r6 - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, r5 - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x7 - ble _0807E610 - ldr r0, [r3] - ldr r2, _0807E68C - adds r0, r2 - movs r2, 0 - movs r1, 0x9 - strb r1, [r0] - ldr r0, [r3] - ldr r1, _0807E690 - adds r0, r1 - strb r2, [r0] - ldr r0, [r3] - adds r1, 0x1 - adds r0, r1 - strb r2, [r0] - movs r6, 0xBE - lsls r6, 1 - ldr r5, _0807E694 - movs r4, 0xBF - lsls r4, 1 -_0807E64C: - ldr r0, [r3] - lsls r1, r2, 2 - adds r0, r1 - adds r0, r6 - strb r2, [r0] - ldr r0, [r3] - adds r0, r1 - adds r0, r5 - strb r2, [r0] - ldr r0, [r3] - adds r0, r1 - adds r0, r4 - strb r2, [r0] - adds r2, 0x1 - cmp r2, 0xFF - ble _0807E64C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807E674: .4byte gDungeonGlobalData -_0807E678: .4byte 0x0000e265 -_0807E67C: .4byte 0x0000e264 -_0807E680: .4byte 0x0000e279 -_0807E684: .4byte 0x0000e267 -_0807E688: .4byte 0x0000e26f -_0807E68C: .4byte 0x0000e266 -_0807E690: .4byte 0x0000e277 -_0807E694: .4byte 0x0000017d - thumb_func_end sub_807E5E4 - - thumb_func_start sub_807E698 -sub_807E698: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0 - bl GetWeather - lsls r0, 24 - lsrs r0, 16 - str r0, [sp, 0x4] - ldr r0, _0807E724 - ldr r0, [r0] - ldr r0, [r0, 0x4] - mov r10, r0 - movs r0, 0 - bl GetWeather - lsls r0, 24 - lsrs r0, 24 - ldr r1, [sp] - bl sub_8042818 - movs r0, 0x25 - bl sub_803E46C - movs r0, 0x1 - bl sub_804178C - ldr r1, _0807E728 - ldrb r0, [r1] - str r0, [sp, 0x8] - movs r0, 0x1 - strb r0, [r1] - movs r1, 0 - mov r9, r1 - ldr r2, _0807E72C - mov r8, r2 -_0807E6EC: - movs r7, 0 - movs r0, 0x25 - bl sub_803E46C - movs r6, 0 - ldr r1, [sp, 0x4] - lsls r0, r1, 2 - mov r2, r10 - adds r5, r0, r2 - movs r0, 0xFF - mov r12, r0 -_0807E702: - mov r1, r8 - ldr r0, [r1] - adds r0, r6 - movs r2, 0xBE - lsls r2, 1 - adds r4, r0, r2 - ldrb r0, [r4] - ldrb r3, [r5] - subs r1, r0, r3 - cmp r1, 0 - bge _0807E71A - negs r1, r1 -_0807E71A: - cmp r1, 0x9 - bgt _0807E730 - strb r3, [r4] - b _0807E746 - .align 2, 0 -_0807E724: .4byte gUnknown_202ECA0 -_0807E728: .4byte gUnknown_203B40D -_0807E72C: .4byte gDungeonGlobalData -_0807E730: - movs r7, 0x1 - adds r2, r0, 0 - adds r1, r3, 0 - cmp r2, r1 - bcs _0807E73E - adds r0, 0xA - b _0807E744 -_0807E73E: - cmp r2, r1 - bls _0807E746 - subs r0, 0xA -_0807E744: - strb r0, [r4] -_0807E746: - mov r1, r8 - ldr r0, [r1] - adds r0, r6 - ldr r2, _0807E764 - adds r4, r0, r2 - ldrb r0, [r4] - ldrb r3, [r5, 0x1] - subs r1, r0, r3 - cmp r1, 0 - bge _0807E75C - negs r1, r1 -_0807E75C: - cmp r1, 0x9 - bgt _0807E768 - strb r3, [r4] - b _0807E77E - .align 2, 0 -_0807E764: .4byte 0x0000017d -_0807E768: - movs r7, 0x1 - adds r2, r0, 0 - adds r1, r3, 0 - cmp r2, r1 - bcs _0807E776 - adds r0, 0xA - b _0807E77C -_0807E776: - cmp r2, r1 - bls _0807E77E - subs r0, 0xA -_0807E77C: - strb r0, [r4] -_0807E77E: - mov r1, r8 - ldr r0, [r1] - adds r0, r6 - movs r2, 0xBF - lsls r2, 1 - adds r4, r0, r2 - ldrb r0, [r4] - ldrb r3, [r5, 0x2] - subs r1, r0, r3 - cmp r1, 0 - bge _0807E796 - negs r1, r1 -_0807E796: - cmp r1, 0x9 - bgt _0807E79E - strb r3, [r4] - b _0807E7B4 -_0807E79E: - movs r7, 0x1 - adds r2, r0, 0 - adds r1, r3, 0 - cmp r2, r1 - bcs _0807E7AC - adds r0, 0xA - b _0807E7B2 -_0807E7AC: - cmp r2, r1 - bls _0807E7B4 - subs r0, 0xA -_0807E7B2: - strb r0, [r4] -_0807E7B4: - adds r6, 0x4 - adds r5, 0x4 - movs r0, 0x1 - negs r0, r0 - add r12, r0 - mov r1, r12 - cmp r1, 0 - bge _0807E702 - movs r0, 0 - movs r1, 0 - bl sub_803E874 - cmp r7, 0 - beq _0807E7DA - movs r2, 0x1 - add r9, r2 - mov r0, r9 - cmp r0, 0x3F - ble _0807E6EC -_0807E7DA: - ldr r0, _0807E7F8 - mov r1, sp - ldrb r1, [r1, 0x8] - strb r1, [r0] - ldr r0, [sp] - bl sub_807E7FC - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807E7F8: .4byte gUnknown_203B40D - thumb_func_end sub_807E698 - - thumb_func_start sub_807E7FC -sub_807E7FC: - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, _0807E874 - ldr r0, [r6] - ldr r1, _0807E878 - adds r0, r1 - ldr r5, [r0] - cmp r5, 0 - bne _0807E816 - bl GetLeaderEntity - adds r5, r0, 0 -_0807E816: - cmp r4, 0 - beq _0807E844 - ldr r0, [r6] - ldr r2, _0807E87C - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0807E844 - ldr r4, _0807E880 - movs r0, 0 - bl GetWeather - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl GetWeatherName - ldr r0, _0807E884 - ldr r1, [r0] - adds r0, r5, 0 - bl SendMessage -_0807E844: - movs r5, 0 -_0807E846: - ldr r0, _0807E874 - ldr r0, [r0] - lsls r1, r5, 2 - ldr r2, _0807E888 - adds r0, r2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0807E866 - adds r0, r4, 0 - bl sub_807E8F0 -_0807E866: - adds r5, 0x1 - cmp r5, 0x13 - ble _0807E846 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807E874: .4byte gDungeonGlobalData -_0807E878: .4byte 0x000181f8 -_0807E87C: .4byte 0x0001356c -_0807E880: .4byte gAvailablePokemonNames -_0807E884: .4byte gUnknown_80FC5E0 -_0807E888: .4byte 0x000135cc - thumb_func_end sub_807E7FC - - thumb_func_start sub_807E88C -sub_807E88C: - push {r4-r7,lr} - movs r0, 0 - bl GetWeather - lsls r0, 24 - ldr r1, _0807E8E4 - ldr r1, [r1] - ldr r1, [r1, 0x4] - movs r4, 0 - ldr r5, _0807E8E8 - lsrs r0, 14 - adds r3, r0, r1 - movs r6, 0xBE - lsls r6, 1 -_0807E8A8: - ldr r0, [r5] - lsls r2, r4, 2 - adds r0, r2 - ldrb r1, [r3] - adds r0, r6 - strb r1, [r0] - ldr r0, [r5] - adds r0, r2 - ldrb r1, [r3, 0x1] - ldr r7, _0807E8EC - adds r0, r7 - strb r1, [r0] - ldr r0, [r5] - adds r0, r2 - ldrb r1, [r3, 0x2] - movs r2, 0xBF - lsls r2, 1 - adds r0, r2 - strb r1, [r0] - adds r3, 0x4 - adds r4, 0x1 - cmp r4, 0xFF - ble _0807E8A8 - movs r0, 0 - movs r1, 0 - bl sub_803E874 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807E8E4: .4byte gUnknown_202ECA0 -_0807E8E8: .4byte gDungeonGlobalData -_0807E8EC: .4byte 0x0000017d - thumb_func_end sub_807E88C - - thumb_func_start sub_807E8F0 -sub_807E8F0: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r5, r0, 0 - movs r0, 0 - mov r8, r0 - adds r0, r5, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _0807E90E - b _0807EA0A -_0807E90E: - ldr r4, [r5, 0x70] - movs r0, 0x4 - ldrsh r1, [r4, r0] - mov r9, r1 - mov r1, sp - adds r6, r4, 0 - adds r6, 0x5C - ldrb r0, [r6] - strb r0, [r1] - adds r7, r4, 0 - adds r7, 0x5D - ldrb r0, [r7] - strb r0, [r1, 0x1] - adds r0, r5, 0 - bl GetMovementSpeed - adds r0, r5, 0 - movs r1, 0x25 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0807E958 - adds r0, r5, 0 - bl GetWeather - ldr r1, _0807E954 - lsls r0, 24 - lsrs r0, 22 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r6] - mov r1, r8 - strb r1, [r7] - b _0807E984 - .align 2, 0 -_0807E954: .4byte gUnknown_80F520C -_0807E958: - adds r0, r4, 0 - adds r0, 0xC4 - ldrb r0, [r0] - cmp r0, 0xC - beq _0807E984 - adds r0, r4, 0 - adds r0, 0xF6 - ldrb r0, [r0] - cmp r0, 0 - bne _0807E984 - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r1, 0 - bl GetPokemonType - strb r0, [r6] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r1, 0x1 - bl GetPokemonType - strb r0, [r7] -_0807E984: - mov r0, sp - adds r1, r4, 0 - adds r1, 0x5C - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _0807E9A0 - mov r0, sp - adds r1, r4, 0 - adds r1, 0x5D - ldrb r0, [r0, 0x1] - ldrb r1, [r1] - cmp r0, r1 - beq _0807E9A4 -_0807E9A0: - movs r0, 0x1 - mov r8, r0 -_0807E9A4: - ldr r1, _0807E9D0 - adds r0, r1, 0 - ldrh r1, [r4, 0x2] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bhi _0807E9FE - adds r0, r5, 0 - movs r1, 0x25 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0807E9D4 - movs r0, 0x2 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_8069F54 - b _0807E9D8 - .align 2, 0 -_0807E9D0: .4byte 0xfffffe88 -_0807E9D4: - movs r0, 0xBC - lsls r0, 1 -_0807E9D8: - strh r0, [r4, 0x4] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, r9 - beq _0807E9FE - bl sub_80687D0 - str r0, [r5, 0x64] - adds r0, r5, 0 - bl sub_806CEBC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_806CCB4 - movs r0, 0x1 - mov r8, r0 -_0807E9FE: - mov r1, r8 - cmp r1, 0 - beq _0807EA0A - adds r0, r5, 0 - bl sub_80429D8 -_0807EA0A: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807E8F0 - - thumb_func_start GetWeatherName -GetWeatherName: - push {lr} - lsls r1, 24 - ldr r2, _0807EA2C - lsrs r1, 22 - adds r1, r2 - ldr r1, [r1] - bl strcpy - pop {r0} - bx r0 - .align 2, 0 -_0807EA2C: .4byte gWeatherNames - thumb_func_end GetWeatherName - - thumb_func_start sub_807EA30 -sub_807EA30: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0807EA6C - ldr r1, _0807EA5C - movs r0, 0 - movs r2, 0 - bl sub_808417C - ldr r1, _0807EA60 - ldr r1, [r1] - ldr r2, _0807EA64 - adds r1, r2 - strb r0, [r1] - bl GetLeaderEntity - ldr r1, _0807EA68 - ldr r1, [r1] - bl SendMessage - b _0807EA8C - .align 2, 0 -_0807EA5C: .4byte gUnknown_80F4EAC -_0807EA60: .4byte gDungeonGlobalData -_0807EA64: .4byte 0x0000e277 -_0807EA68: .4byte gUnknown_80FAD8C -_0807EA6C: - ldr r1, _0807EA90 - movs r0, 0 - movs r2, 0 - bl sub_808417C - ldr r1, _0807EA94 - ldr r1, [r1] - ldr r2, _0807EA98 - adds r1, r2 - strb r0, [r1] - bl GetLeaderEntity - ldr r1, _0807EA9C - ldr r1, [r1] - bl SendMessage -_0807EA8C: - pop {r0} - bx r0 - .align 2, 0 -_0807EA90: .4byte gUnknown_80F4EAC -_0807EA94: .4byte gDungeonGlobalData -_0807EA98: .4byte 0x0000e278 -_0807EA9C: .4byte gUnknown_80FADB0 - thumb_func_end sub_807EA30 - - thumb_func_start sub_807EAA0 -sub_807EAA0: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x4] - movs r0, 0 - mov r8, r0 - movs r1, 0x1 - negs r1, r1 - mov r9, r1 - movs r2, 0 - str r2, [sp, 0x8] - bl GetWeather - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r5, 0 - ldr r7, _0807EAF0 - ldr r6, _0807EAF4 -_0807EAD6: - ldr r3, [r7] - adds r0, r3, r6 - adds r4, r0, r5 - ldr r1, _0807EAF8 - adds r0, r3, r1 - adds r0, r5 - ldrb r0, [r0] - ldrb r2, [r4] - adds r1, r0, 0 - cmp r2, r1 - bcs _0807EAFC - strb r0, [r4] - b _0807EB08 - .align 2, 0 -_0807EAF0: .4byte gDungeonGlobalData -_0807EAF4: .4byte 0x0000e267 -_0807EAF8: .4byte 0x0000e26f -_0807EAFC: - cmp r2, r1 - bls _0807EB08 - adds r0, r5, r6 - adds r0, r3, r0 - bl sub_80838EC -_0807EB08: - ldr r0, [r7] - ldr r2, _0807EB38 - adds r0, r2 - adds r0, r5 - ldrb r1, [r0] - ldr r0, _0807EB3C - cmp r8, r1 - bge _0807EB1C - mov r8, r1 - mov r9, r5 -_0807EB1C: - adds r5, 0x1 - cmp r5, 0x7 - ble _0807EAD6 - mov r1, r9 - cmp r1, 0 - bge _0807EB44 - ldr r0, [r0] - ldr r2, _0807EB40 - adds r1, r0, r2 - ldrb r1, [r1] - subs r2, 0x1 - adds r0, r2 - strb r1, [r0] - b _0807EB4E - .align 2, 0 -_0807EB38: .4byte 0x0000e267 -_0807EB3C: .4byte gDungeonGlobalData -_0807EB40: .4byte 0x0000e265 -_0807EB44: - ldr r0, [r0] - ldr r1, _0807EB94 - adds r0, r1 - mov r2, r9 - strb r2, [r0] -_0807EB4E: - ldr r0, _0807EB98 - ldr r1, [r0] - ldr r2, _0807EB9C - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0807EB64 - ldr r0, _0807EB94 - adds r1, r0 - movs r0, 0 - strb r0, [r1] -_0807EB64: - movs r0, 0 - bl GetWeather - lsls r0, 24 - lsrs r0, 24 - cmp r10, r0 - bne _0807EB78 - ldr r1, [sp, 0x4] - cmp r1, 0 - beq _0807EB82 -_0807EB78: - movs r2, 0x1 - str r2, [sp, 0x8] - ldr r0, [sp] - bl sub_807E698 -_0807EB82: - ldr r0, _0807EB98 - ldr r0, [r0] - ldr r2, _0807EBA0 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _0807EBA4 - subs r0, 0x1 - b _0807EBA6 - .align 2, 0 -_0807EB94: .4byte 0x0000e264 -_0807EB98: .4byte gDungeonGlobalData -_0807EB9C: .4byte 0x0000e279 -_0807EBA0: .4byte 0x0000e266 -_0807EBA4: - movs r0, 0x9 -_0807EBA6: - strb r0, [r1] - ldr r4, _0807EC14 - ldr r0, [r4] - ldr r2, _0807EC18 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _0807EBD4 - adds r0, r1, 0 - bl sub_80838EC - ldr r0, [r4] - ldr r1, _0807EC18 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0807EBD4 - bl GetLeaderEntity - ldr r1, _0807EC1C - ldr r1, [r1] - bl SendMessage -_0807EBD4: - ldr r4, _0807EC14 - ldr r0, [r4] - ldr r2, _0807EC20 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _0807EC00 - adds r0, r1, 0 - bl sub_80838EC - ldr r0, [r4] - ldr r1, _0807EC20 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0807EC00 - bl GetLeaderEntity - ldr r1, _0807EC24 - ldr r1, [r1] - bl SendMessage -_0807EC00: - ldr r0, [sp, 0x8] - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0807EC14: .4byte gDungeonGlobalData -_0807EC18: .4byte 0x0000e277 -_0807EC1C: .4byte gUnknown_80FA778 -_0807EC20: .4byte 0x0000e278 -_0807EC24: .4byte gUnknown_80FA758 - thumb_func_end sub_807EAA0 - - thumb_func_start sub_807EC28 -sub_807EC28: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - bl sub_8044B28 - lsls r0, 24 - cmp r0, 0 - beq _0807EC46 - b _0807EF32 -_0807EC46: - bl GetLeaderEntity - adds r7, r0, 0 - ldr r0, [r7, 0x70] - mov r9, r0 - ldr r4, _0807ECB4 - ldr r0, [r4] - movs r5, 0xD3 - lsls r5, 3 - adds r0, r5 - ldrb r0, [r0] - str r0, [sp, 0x8] - adds r0, r7, 0 - bl GetMapTileForDungeonEntity_2 - ldrh r0, [r0] - lsrs r0, 5 - mov r10, r0 - movs r0, 0x1 - mov r1, r10 - ands r1, r0 - mov r10, r1 - ldr r0, [r4] - adds r0, r5 - strb r1, [r0] - ldr r0, [r4] - ldr r3, _0807ECB8 - adds r0, r3 - mov r2, r10 - strb r2, [r0] - ldr r2, [r4] - ldr r6, _0807ECBC - adds r0, r2, r6 - ldrb r1, [r0] - cmp r1, 0 - beq _0807EC90 - b _0807EF32 -_0807EC90: - adds r6, 0x26 - adds r0, r2, r6 - ldr r0, [r0] - cmp r0, 0 - bne _0807EC9C - b _0807EF32 -_0807EC9C: - mov r0, r9 - adds r0, 0xE4 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0807ECC0 - adds r0, r2, r5 - strb r1, [r0] - ldr r0, [r4] - adds r0, r3 - strb r1, [r0] - b _0807EF32 - .align 2, 0 -_0807ECB4: .4byte gDungeonGlobalData -_0807ECB8: .4byte 0x00000699 -_0807ECBC: .4byte 0x0000066e -_0807ECC0: - movs r0, 0 - str r0, [sp, 0xC] - movs r6, 0 -_0807ECC6: - ldr r0, _0807ED48 - ldr r0, [r0] - lsls r1, r6, 2 - ldr r2, _0807ED4C - adds r0, r2 - adds r0, r1 - ldr r5, [r0] - adds r0, r5, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0807ED0E - ldr r0, [r5, 0x70] - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _0807ED0E - adds r0, r5, 0 - bl sub_8070BC0 - lsls r0, 24 - cmp r0, 0 - beq _0807ED0E - adds r0, r7, 0 - bl GetEntityRoomIndex - adds r4, r0, 0 - adds r0, r5, 0 - bl GetEntityRoomIndex - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _0807ED0E - movs r0, 0x1 - str r0, [sp, 0xC] -_0807ED0E: - adds r6, 0x1 - cmp r6, 0xF - ble _0807ECC6 - ldr r1, _0807ED50 - ldr r0, [sp] - ands r0, r1 - movs r1, 0xBE - lsls r1, 1 - orrs r0, r1 - ldr r1, _0807ED54 - ands r0, r1 - str r0, [sp] - ldr r1, [sp, 0x8] - cmp r1, 0 - bne _0807ED5C - mov r2, r10 - cmp r2, 0x1 - bne _0807ED64 - ldr r6, [sp, 0xC] - cmp r6, 0 - bne _0807ED3A - b _0807EF32 -_0807ED3A: - ldr r0, _0807ED58 - ldr r1, [r0] - mov r0, sp - movs r2, 0x1 - bl PrintFieldMessage - b _0807EF32 - .align 2, 0 -_0807ED48: .4byte gDungeonGlobalData -_0807ED4C: .4byte 0x0001358c -_0807ED50: .4byte 0xffff0000 -_0807ED54: .4byte 0xff00ffff -_0807ED58: .4byte gUnknown_80FE674 -_0807ED5C: - mov r0, r10 - cmp r0, 0x1 - bne _0807ED64 - b _0807EF32 -_0807ED64: - ldr r1, [sp, 0x8] - cmp r1, 0x1 - bne _0807ED70 - mov r2, r10 - cmp r2, 0 - beq _0807ED78 -_0807ED70: - mov r6, r8 - cmp r6, 0 - bne _0807ED78 - b _0807EF32 -_0807ED78: - movs r0, 0 - str r0, [sp, 0x10] - movs r1, 0 - str r1, [sp, 0x14] - bl sub_807EF48 - lsls r0, 24 - cmp r0, 0 - bne _0807ED8C - b _0807EECC -_0807ED8C: - movs r2, 0x1 - str r2, [sp, 0x14] - movs r6, 0 -_0807ED92: - ldr r0, _0807EE90 - ldr r0, [r0] - lsls r1, r6, 2 - ldr r2, _0807EE94 - adds r0, r2 - adds r0, r1 - ldr r5, [r0] - adds r0, r5, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _0807EDAE - b _0807EEC4 -_0807EDAE: - ldr r0, [r5, 0x70] - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - beq _0807EDB8 - b _0807EEC4 -_0807EDB8: - adds r0, r5, 0 - bl sub_8070BC0 - lsls r0, 24 - cmp r0, 0 - bne _0807EDC6 - b _0807EEC4 -_0807EDC6: - adds r0, r7, 0 - bl GetEntityRoomIndex - adds r4, r0, 0 - adds r0, r5, 0 - bl GetEntityRoomIndex - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _0807EEC4 - movs r6, 0x1 - str r6, [sp, 0x10] - movs r0, 0x4 - ldrsh r1, [r7, r0] - movs r2, 0x4 - ldrsh r0, [r5, r2] - subs r1, r0 - cmp r1, 0 - bge _0807EDF0 - negs r1, r1 -_0807EDF0: - cmp r1, 0x1 - bgt _0807EE10 - movs r6, 0x6 - ldrsh r1, [r7, r6] - movs r2, 0x6 - ldrsh r0, [r5, r2] - subs r1, r0 - cmp r1, 0 - bge _0807EE04 - negs r1, r1 -_0807EE04: - adds r6, r7, 0x4 - mov r9, r6 - adds r0, r5, 0x4 - mov r8, r0 - cmp r1, 0x1 - ble _0807EE72 -_0807EE10: - movs r3, 0x1 - negs r3, r3 - add r6, sp, 0x4 - adds r1, r7, 0x4 - mov r9, r1 - adds r2, r5, 0x4 - mov r8, r2 -_0807EE1E: - movs r4, 0x1 - negs r4, r4 -_0807EE22: - ldrh r0, [r7, 0x4] - adds r0, r3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0807EE98 - ldr r2, [sp, 0x4] - ands r2, r1 - orrs r2, r0 - str r2, [sp, 0x4] - ldrh r0, [r7, 0x6] - adds r0, r4 - lsls r0, 16 - ldr r1, _0807EE9C - ands r1, r2 - orrs r1, r0 - str r1, [sp, 0x4] - movs r2, 0 - ldrsh r0, [r6, r2] - asrs r1, 16 - str r3, [sp, 0x18] - bl GetMapTile_1 - ldrb r0, [r0, 0x9] - ldr r3, [sp, 0x18] - cmp r0, 0xFF - beq _0807EE66 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_80703A0 - lsls r0, 24 - ldr r3, [sp, 0x18] - cmp r0, 0 - beq _0807EEA0 -_0807EE66: - adds r4, 0x1 - cmp r4, 0x1 - ble _0807EE22 - adds r3, 0x1 - cmp r3, 0x1 - ble _0807EE1E -_0807EE72: - adds r0, r7, 0 - bl sub_8070BC0 - lsls r0, 24 - cmp r0, 0 - beq _0807EEAE - mov r0, r9 - mov r1, r8 - bl CalculateFacingDir - adds r1, r0, 0 - adds r0, r7, 0 - bl sub_806CE34 - b _0807EEB2 - .align 2, 0 -_0807EE90: .4byte gDungeonGlobalData -_0807EE94: .4byte 0x0001358c -_0807EE98: .4byte 0xffff0000 -_0807EE9C: .4byte 0x0000ffff -_0807EEA0: - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x3 - adds r3, r6, 0 - bl sub_807D148 - b _0807EE72 -_0807EEAE: - movs r6, 0 - str r6, [sp, 0x10] -_0807EEB2: - mov r0, r8 - mov r1, r9 - bl CalculateFacingDir - adds r1, r0, 0 - adds r0, r5, 0 - bl sub_806CE68 - b _0807EECC -_0807EEC4: - adds r6, 0x1 - cmp r6, 0xF - bgt _0807EECC - b _0807ED92 -_0807EECC: - ldr r0, [sp, 0x14] - cmp r0, 0 - beq _0807EF04 - ldr r1, [sp, 0x10] - cmp r1, 0 - beq _0807EEDE - ldr r0, [sp, 0xC] - cmp r0, 0 - bne _0807EF04 -_0807EEDE: - ldr r0, _0807EEF8 - ldr r0, [r0] - ldr r2, _0807EEFC - adds r1, r0, r2 - ldr r6, _0807EF00 - adds r0, r6 - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - ble _0807EF32 -_0807EEF2: - bl sub_807F33C - b _0807EF32 - .align 2, 0 -_0807EEF8: .4byte gDungeonGlobalData -_0807EEFC: .4byte 0x00000694 -_0807EF00: .4byte 0x0000068c -_0807EF04: - ldr r0, [sp, 0x10] - bl sub_807EFFC - ldr r0, [sp, 0x10] - bl sub_807F19C - cmp r0, 0 - bne _0807EEF2 - ldr r0, [sp, 0x8] - cmp r0, 0x1 - bne _0807EF32 - mov r1, r10 - cmp r1, 0 - bne _0807EF32 - ldr r2, [sp, 0xC] - cmp r2, 0 - beq _0807EF32 - ldr r0, _0807EF44 - ldr r1, [r0] - mov r0, sp - movs r2, 0x1 - bl PrintFieldMessage -_0807EF32: - 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 -_0807EF44: .4byte gUnknown_80FE65C - thumb_func_end sub_807EC28 - - thumb_func_start sub_807EF48 -sub_807EF48: - push {lr} - ldr r0, _0807EF70 - ldr r2, [r0] - ldr r1, _0807EF74 - adds r0, r2, r1 - ldr r3, _0807EF78 - adds r1, r2, r3 - ldr r0, [r0] - ldr r1, [r1] - subs r0, r1 - cmp r0, 0 - bgt _0807EF7C - movs r1, 0xD2 - lsls r1, 3 - adds r0, r2, r1 - ldr r0, [r0] - cmp r0, 0 - bne _0807EF7C - movs r0, 0 - b _0807EF7E - .align 2, 0 -_0807EF70: .4byte gDungeonGlobalData -_0807EF74: .4byte 0x00000694 -_0807EF78: .4byte 0x0000068c -_0807EF7C: - movs r0, 0x1 -_0807EF7E: - pop {r1} - bx r1 - thumb_func_end sub_807EF48 - - thumb_func_start sub_807EF84 -sub_807EF84: - push {r4,lr} - sub sp, 0x4 - ldr r1, _0807EFD0 - ldr r0, [sp] - ands r0, r1 - movs r1, 0xBE - lsls r1, 1 - orrs r0, r1 - ldr r1, _0807EFD4 - ands r0, r1 - str r0, [sp] - movs r0, 0x1 - bl sub_807EFFC - movs r0, 0x1 - bl sub_807F19C - adds r4, r0, 0 - cmp r4, 0 - beq _0807EFE2 - bl GetLeaderEntity - bl GetMapTileForDungeonEntity_2 - ldrh r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0807EFDC - cmp r4, 0x2 - beq _0807EFEE - ldr r0, _0807EFD8 - ldr r1, [r0] - mov r0, sp - movs r2, 0x1 - bl PrintFieldMessage - b _0807EFEE - .align 2, 0 -_0807EFD0: .4byte 0xffff0000 -_0807EFD4: .4byte 0xff00ffff -_0807EFD8: .4byte gUnknown_80FE63C -_0807EFDC: - bl sub_807F33C - b _0807EFEE -_0807EFE2: - ldr r0, _0807EFF8 - ldr r1, [r0] - mov r0, sp - movs r2, 0x1 - bl PrintFieldMessage -_0807EFEE: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807EFF8: .4byte gUnknown_80FE5F0 - thumb_func_end sub_807EF84 - - thumb_func_start sub_807EFFC -sub_807EFFC: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r4, _0807F168 - ldr r0, [r4] - movs r5, 0xD2 - lsls r5, 3 - adds r2, r0, r5 - ldr r0, [r2] - cmp r0, 0 - bne _0807F01E - b _0807F158 -_0807F01E: - ldr r1, _0807F16C - ldr r0, [sp] - ands r0, r1 - movs r1, 0xBE - lsls r1, 1 - orrs r0, r1 - ldr r1, _0807F170 - ands r0, r1 - str r0, [sp] - cmp r3, 0 - bne _0807F036 - b _0807F158 -_0807F036: - ldr r1, _0807F174 - ldr r0, [r2] - str r0, [r1] - ldr r0, _0807F178 - ldr r1, [r0] - mov r0, sp - movs r2, 0x1 - bl sub_8052B8C - cmp r0, 0x1 - beq _0807F04E - b _0807F158 -_0807F04E: - movs r0, 0xA6 - lsls r0, 1 - bl PlaySoundEffect - ldr r0, [r4] - adds r0, r5 - ldr r0, [r0] - bl AddToTeamMoney - ldr r0, [r4] - ldr r2, _0807F17C - adds r1, r0, r2 - ldr r1, [r1] - str r1, [sp, 0xC] - ldr r2, _0807F180 - adds r1, r0, r2 - ldr r6, [r1] - ldr r1, _0807F184 - adds r0, r1 - ldr r0, [r0] - cmp r6, r0 - bgt _0807F134 - mov r8, r4 -_0807F07C: - mov r2, r8 - ldr r0, [r2] - ldr r2, _0807F188 - adds r1, r0, r2 - ldr r5, [r1] - ldr r1, _0807F18C - adds r0, r1 - ldr r0, [r0] - adds r2, r6, 0x1 - mov r10, r2 - cmp r5, r0 - bgt _0807F124 - lsls r0, r6, 16 - lsrs r0, 16 - mov r9, r0 -_0807F09A: - lsls r0, r5, 16 - mov r1, r9 - orrs r0, r1 - str r0, [sp, 0x4] - adds r0, r6, 0 - adds r1, r5, 0 - bl GetMapTile_1 - adds r4, r0, 0 - ldrh r1, [r4] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0807F114 - ldr r0, [r4, 0x14] - cmp r0, 0 - beq _0807F114 - bl GetEntityType - cmp r0, 0x3 - bne _0807F114 - ldr r0, [r4, 0x14] - bl GetItemData - adds r2, r0, 0 - ldrb r1, [r2] - movs r7, 0x2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0807F114 - ldr r0, [r2] - str r0, [sp, 0x8] - add r4, sp, 0x4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80461C8 - ldr r0, [sp, 0x8] - lsrs r0, 16 - lsls r0, 24 - lsrs r0, 24 - bl CanSellItem - lsls r0, 24 - add r3, sp, 0x8 - cmp r0, 0 - beq _0807F10A - ldrb r0, [r3] - adds r2, r7, 0 - orrs r2, r0 - ldr r1, _0807F190 - ldr r0, [sp, 0x8] - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x8] -_0807F10A: - adds r0, r4, 0 - adds r1, r3, 0 - movs r2, 0x1 - bl sub_80460F8 -_0807F114: - adds r5, 0x1 - mov r2, r8 - ldr r0, [r2] - ldr r1, _0807F18C - adds r0, r1 - ldr r0, [r0] - cmp r5, r0 - ble _0807F09A -_0807F124: - mov r6, r10 - mov r2, r8 - ldr r0, [r2] - ldr r1, _0807F184 - adds r0, r1 - ldr r0, [r0] - cmp r6, r0 - ble _0807F07C -_0807F134: - ldr r0, _0807F168 - ldr r0, [r0] - ldr r1, _0807F194 - adds r2, r0, r1 - subs r1, 0x8 - adds r0, r1 - ldr r1, [r0] - ldr r0, [sp, 0xC] - subs r1, r0 - ldr r0, [r2] - adds r0, r1 - str r0, [r2] - ldr r0, _0807F198 - ldr r1, [r0] - mov r0, sp - movs r2, 0x1 - bl PrintFieldMessage -_0807F158: - 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 -_0807F168: .4byte gDungeonGlobalData -_0807F16C: .4byte 0xffff0000 -_0807F170: .4byte 0xff00ffff -_0807F174: .4byte gUnknown_202DE30 -_0807F178: .4byte gUnknown_80FE5C0 -_0807F17C: .4byte 0x0000068c -_0807F180: .4byte 0x0000e240 -_0807F184: .4byte 0x0000e248 -_0807F188: .4byte 0x0000e244 -_0807F18C: .4byte 0x0000e24c -_0807F190: .4byte 0xffffff00 -_0807F194: .4byte 0x00000694 -_0807F198: .4byte gUnknown_80FE4F4 - thumb_func_end sub_807EFFC - - thumb_func_start sub_807F19C -sub_807F19C: - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0807F1EC - ldr r0, [sp] - ands r0, r1 - movs r1, 0xBE - lsls r1, 1 - orrs r0, r1 - ldr r1, _0807F1F0 - ands r0, r1 - str r0, [sp] - ldr r0, _0807F1F4 - ldr r0, [r0] - ldr r3, _0807F1F8 - adds r1, r0, r3 - subs r3, 0x8 - adds r0, r3 - ldr r1, [r1] - ldr r0, [r0] - subs r4, r1, r0 - cmp r4, 0 - bgt _0807F1CE - b _0807F31A -_0807F1CE: - cmp r2, 0 - beq _0807F1E6 - ldr r0, _0807F1FC - str r4, [r0] - ldr r0, _0807F200 - ldr r1, [r0] - mov r0, sp - movs r2, 0x1 - bl sub_8052B8C - cmp r0, 0x1 - beq _0807F204 -_0807F1E6: - movs r0, 0x1 - b _0807F31C - .align 2, 0 -_0807F1EC: .4byte 0xffff0000 -_0807F1F0: .4byte 0xff00ffff -_0807F1F4: .4byte gDungeonGlobalData -_0807F1F8: .4byte 0x00000694 -_0807F1FC: .4byte gUnknown_202DE30 -_0807F200: .4byte gUnknown_80FE568 -_0807F204: - ldr r0, _0807F224 - ldr r0, [r0] - movs r1, 0x98 - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, r4 - bge _0807F22C - ldr r0, _0807F228 - ldr r1, [r0] - mov r0, sp - movs r2, 0x1 - bl PrintFieldMessage - movs r0, 0x2 - b _0807F31C - .align 2, 0 -_0807F224: .4byte gTeamInventory_203B460 -_0807F228: .4byte gUnknown_80FE520 -_0807F22C: - movs r0, 0xA6 - lsls r0, 1 - bl PlaySoundEffect - negs r0, r4 - bl AddToTeamMoney - movs r6, 0 -_0807F23C: - movs r5, 0 - adds r7, r6, 0x1 -_0807F240: - adds r0, r6, 0 - adds r1, r5, 0 - bl GetMapTile_1 - adds r4, r0, 0 - ldrh r1, [r4] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0807F27E - ldr r0, [r4, 0x14] - cmp r0, 0 - beq _0807F27E - bl GetEntityType - cmp r0, 0x3 - bne _0807F27E - ldr r0, [r4, 0x14] - bl GetItemData - adds r4, r0, 0 - ldrb r0, [r4, 0x2] - bl CanSellItem - lsls r0, 24 - cmp r0, 0 - beq _0807F27E - ldrb r1, [r4] - movs r0, 0xFD - ands r0, r1 - strb r0, [r4] -_0807F27E: - adds r5, 0x1 - cmp r5, 0x1F - ble _0807F240 - adds r6, r7, 0 - cmp r6, 0x37 - ble _0807F23C - movs r5, 0 -_0807F28C: - ldr r0, _0807F324 - lsls r1, r5, 2 - ldr r0, [r0] - adds r4, r0, r1 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807F2B2 - ldrb r0, [r4, 0x2] - bl CanSellItem - lsls r0, 24 - cmp r0, 0 - beq _0807F2B2 - ldrb r1, [r4] - movs r0, 0xFD - ands r0, r1 - strb r0, [r4] -_0807F2B2: - adds r5, 0x1 - cmp r5, 0x13 - ble _0807F28C - movs r5, 0 -_0807F2BA: - ldr r0, _0807F328 - ldr r0, [r0] - lsls r1, r5, 2 - ldr r2, _0807F32C - adds r0, r2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0807F2F8 - ldr r0, [r4, 0x70] - adds r4, r0, 0 - adds r4, 0x60 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807F2F8 - ldrb r0, [r4, 0x2] - bl CanSellItem - lsls r0, 24 - cmp r0, 0 - beq _0807F2F8 - ldrb r1, [r4] - movs r0, 0xFD - ands r0, r1 - strb r0, [r4] -_0807F2F8: - adds r5, 0x1 - cmp r5, 0x13 - ble _0807F2BA - ldr r0, _0807F328 - ldr r0, [r0] - ldr r3, _0807F330 - adds r1, r0, r3 - ldr r2, _0807F334 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - ldr r0, _0807F338 - ldr r1, [r0] - mov r0, sp - movs r2, 0x1 - bl PrintFieldMessage -_0807F31A: - movs r0, 0 -_0807F31C: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0807F324: .4byte gTeamInventory_203B460 -_0807F328: .4byte gDungeonGlobalData -_0807F32C: .4byte 0x000135cc -_0807F330: .4byte 0x00000694 -_0807F334: .4byte 0x0000068c -_0807F338: .4byte gUnknown_80FE4D4 - thumb_func_end sub_807F19C - - thumb_func_start sub_807F33C -sub_807F33C: - push {r4-r7,lr} - ldr r2, _0807F41C - ldr r0, [r2] - ldr r1, _0807F420 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldr r2, _0807F424 - adds r0, r2 - strb r1, [r0] - bl GetLeaderEntity - ldr r1, _0807F428 - ldr r1, [r1] - bl SendMessage - movs r6, 0 -_0807F360: - movs r5, 0 - adds r7, r6, 0x1 -_0807F364: - adds r0, r6, 0 - adds r1, r5, 0 - bl GetMapTile_1 - adds r4, r0, 0 - ldr r0, [r4, 0x14] - cmp r0, 0 - beq _0807F38A - bl GetEntityType - cmp r0, 0x3 - bne _0807F38A - ldr r0, [r4, 0x14] - bl GetItemData - ldrb r2, [r0] - movs r1, 0xFD - ands r1, r2 - strb r1, [r0] -_0807F38A: - adds r5, 0x1 - cmp r5, 0x1F - ble _0807F364 - adds r6, r7, 0 - cmp r6, 0x37 - ble _0807F360 - movs r6, 0 - ldr r4, _0807F42C - movs r5, 0x1 - movs r3, 0xFD -_0807F39E: - lsls r1, r6, 2 - ldr r0, [r4] - adds r2, r0, r1 - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0807F3B4 - adds r0, r3, 0 - ands r0, r1 - strb r0, [r2] -_0807F3B4: - adds r6, 0x1 - cmp r6, 0x13 - ble _0807F39E - movs r6, 0 -_0807F3BC: - ldr r0, _0807F41C - ldr r0, [r0] - lsls r1, r6, 2 - ldr r3, _0807F430 - adds r0, r3 - adds r0, r1 - ldr r5, [r0] - adds r0, r5, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0807F3F4 - ldr r4, [r5, 0x70] - movs r0, 0 - strb r0, [r4, 0x8] - adds r0, r5, 0 - bl GetMovementSpeed - adds r4, 0x60 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807F3F4 - movs r0, 0xFD - ands r0, r1 - strb r0, [r4] -_0807F3F4: - adds r6, 0x1 - cmp r6, 0x13 - ble _0807F3BC - ldr r0, _0807F41C - ldr r1, [r0] - ldr r2, _0807F434 - adds r0, r1, r2 - movs r2, 0 - str r2, [r0] - ldr r3, _0807F438 - adds r0, r1, r3 - str r2, [r0] - movs r0, 0xD2 - lsls r0, 3 - adds r1, r0 - str r2, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807F41C: .4byte gDungeonGlobalData -_0807F420: .4byte 0x0000066e -_0807F424: .4byte 0x0000066f -_0807F428: .4byte gUnknown_80FE4B8 -_0807F42C: .4byte gTeamInventory_203B460 -_0807F430: .4byte 0x000135cc -_0807F434: .4byte 0x00000694 -_0807F438: .4byte 0x0000068c - thumb_func_end sub_807F33C - - thumb_func_start sub_807F43C -sub_807F43C: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10C - str r0, [sp, 0xEC] - mov r8, r1 - mov r0, r8 - movs r1, 0xE - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0807F470 - ldr r0, _0807F468 - mov r1, r8 - movs r2, 0 - bl SetMessageArgument - ldr r0, _0807F46C - b _0807F694 - .align 2, 0 -_0807F468: .4byte gAvailablePokemonNames -_0807F46C: .4byte gUnknown_80FCB40 -_0807F470: - ldr r0, [sp, 0xEC] - cmp r0, r8 - bne _0807F490 - ldr r0, _0807F488 - mov r1, r8 - movs r2, 0 - bl SetMessageArgument - ldr r0, _0807F48C - ldr r2, [r0] - mov r0, r8 - b _0807F698 - .align 2, 0 -_0807F488: .4byte gAvailablePokemonNames -_0807F48C: .4byte gUnknown_80FCB70 -_0807F490: - mov r1, r8 - ldr r0, [r1, 0x4] - add r1, sp, 0xD4 - str r0, [r1] - movs r2, 0 - str r2, [sp, 0xF0] -_0807F49C: - movs r3, 0 - mov r9, r3 - movs r7, 0 - mov r4, sp - adds r4, 0x18 - str r4, [sp, 0x108] -_0807F4A8: - ldr r0, _0807F504 - ldr r0, [r0] - lsls r1, r7, 2 - ldr r2, _0807F508 - adds r0, r2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl EntityExists - lsls r0, 24 - adds r3, r7, 0x1 - str r3, [sp, 0x104] - cmp r0, 0 - bne _0807F4C8 - b _0807F602 -_0807F4C8: - ldr r0, [sp, 0xEC] - cmp r0, r4 - bne _0807F4D0 - b _0807F602 -_0807F4D0: - cmp r8, r4 - bne _0807F4D6 - b _0807F602 -_0807F4D6: - adds r1, r4, 0 - bl CanSee - lsls r0, 24 - cmp r0, 0 - bne _0807F4E4 - b _0807F602 -_0807F4E4: - ldr r1, [sp, 0xF0] - cmp r1, 0 - bne _0807F50C - ldr r0, [sp, 0xEC] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x1 - bl CanTarget - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0807F500 - b _0807F602 -_0807F500: - b _0807F51E - .align 2, 0 -_0807F504: .4byte gDungeonGlobalData -_0807F508: .4byte 0x000135cc -_0807F50C: - ldr r0, [sp, 0xEC] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x1 - bl CanTarget - lsls r0, 24 - cmp r0, 0 - bne _0807F602 -_0807F51E: - ldr r2, [sp, 0xF0] - cmp r2, 0 - bne _0807F594 - movs r5, 0 - add r6, sp, 0xC8 - adds r3, r7, 0x1 - str r3, [sp, 0x104] - adds r7, r6, 0 - ldr r0, _0807F588 - mov r10, r0 -_0807F532: - ldr r0, _0807F58C - lsls r3, r5, 2 - adds r3, r0 - ldrh r0, [r4, 0x4] - ldrh r1, [r3] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [r6] - mov r2, r10 - ands r1, r2 - orrs r1, r0 - str r1, [r7] - ldrh r2, [r4, 0x6] - ldrh r3, [r3, 0x2] - adds r2, r3 - lsls r2, 16 - ldr r0, _0807F590 - ands r1, r0 - orrs r1, r2 - str r1, [r7] - mov r0, r8 - add r1, sp, 0xC8 - bl sub_80703A0 - lsls r0, 24 - cmp r0, 0 - beq _0807F570 - adds r5, 0x1 - cmp r5, 0x7 - ble _0807F532 -_0807F570: - cmp r5, 0x8 - beq _0807F602 - mov r3, r9 - cmp r3, 0x27 - bgt _0807F602 - ldr r0, [r4, 0x4] - ldr r4, [sp, 0x108] - stm r4!, {r0} - str r4, [sp, 0x108] - movs r0, 0x1 - add r9, r0 - b _0807F602 - .align 2, 0 -_0807F588: .4byte 0xffff0000 -_0807F58C: .4byte gAdjacentTileOffsets -_0807F590: .4byte 0x0000ffff -_0807F594: - movs r5, 0 - add r6, sp, 0xCC - adds r1, r7, 0x1 - str r1, [sp, 0x104] - adds r7, r6, 0 - mov r2, r9 - lsls r0, r2, 2 - add r0, sp - adds r0, 0x18 - mov r10, r0 -_0807F5A8: - ldr r0, _0807F630 - lsls r3, r5, 2 - adds r3, r0 - ldrh r0, [r4, 0x4] - ldrh r1, [r3] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - ldr r2, _0807F634 - ldr r1, [r6] - ands r1, r2 - orrs r1, r0 - str r1, [r7] - ldrh r2, [r4, 0x6] - ldrh r3, [r3, 0x2] - adds r2, r3 - lsls r2, 16 - ldr r0, _0807F638 - ands r1, r0 - orrs r1, r2 - str r1, [r7] - mov r0, r8 - add r1, sp, 0xCC - bl sub_80703A0 - lsls r0, 24 - cmp r0, 0 - bne _0807F5FC - mov r2, r9 - cmp r2, 0x27 - bgt _0807F5FC - ldr r0, [r6] - mov r3, r10 - adds r3, 0x4 - mov r10, r3 - subs r3, 0x4 - stm r3!, {r0} - ldr r0, [sp, 0x108] - adds r0, 0x4 - str r0, [sp, 0x108] - movs r1, 0x1 - add r9, r1 -_0807F5FC: - adds r5, 0x1 - cmp r5, 0x7 - ble _0807F5A8 -_0807F602: - ldr r7, [sp, 0x104] - cmp r7, 0x13 - bgt _0807F60A - b _0807F4A8 -_0807F60A: - mov r2, r9 - cmp r2, 0 - bne _0807F63C - ldr r3, [sp, 0xF0] - adds r3, 0x1 - str r3, [sp, 0xF0] - cmp r3, 0x1 - bgt _0807F61C - b _0807F49C -_0807F61C: - ldr r0, [sp, 0xEC] - adds r0, 0x4 - add r4, sp, 0xB8 - adds r1, r4, 0 - bl sub_80833E8 - movs r7, 0 - add r5, sp, 0xD0 - adds r6, r5, 0 - b _0807F654 - .align 2, 0 -_0807F630: .4byte gAdjacentTileOffsets -_0807F634: .4byte 0xffff0000 -_0807F638: .4byte 0x0000ffff -_0807F63C: - mov r0, r9 - bl DungeonRandomCapped - lsls r0, 2 - add r0, sp - adds r0, 0x18 - ldr r0, [r0] - str r0, [sp, 0xD4] - b _0807F6A8 -_0807F64E: - ldr r0, [r5] - str r0, [sp, 0xD4] - b _0807F68E -_0807F654: - ldr r0, [r4] - ldr r1, [r4, 0x8] - bl sub_808411C - lsls r0, 16 - lsrs r0, 16 - ldr r2, _0807F6A0 - ldr r1, [r5] - ands r1, r2 - orrs r1, r0 - str r1, [r6] - ldr r0, [r4, 0x4] - ldr r1, [r4, 0xC] - bl sub_808411C - lsls r0, 16 - ldrh r1, [r6] - orrs r1, r0 - str r1, [r6] - mov r0, r8 - add r1, sp, 0xD0 - bl sub_80703A0 - lsls r0, 24 - cmp r0, 0 - beq _0807F64E - adds r7, 0x1 - cmp r7, 0x63 - ble _0807F654 -_0807F68E: - cmp r7, 0x64 - bne _0807F6A8 - ldr r0, _0807F6A4 -_0807F694: - ldr r2, [r0] - ldr r0, [sp, 0xEC] -_0807F698: - mov r1, r8 - bl sub_80522F4 - b _0807F99C - .align 2, 0 -_0807F6A0: .4byte 0xffff0000 -_0807F6A4: .4byte gUnknown_80FE6B4 -_0807F6A8: - ldr r0, _0807F860 - mov r1, r8 - movs r2, 0 - bl SetMessageArgument - ldr r0, _0807F864 - ldr r2, [r0] - ldr r0, [sp, 0xEC] - mov r1, r8 - bl sub_80522F4 - mov r0, r8 - bl sub_8045888 - lsls r0, 24 - cmp r0, 0 - beq _0807F6D0 - ldr r0, _0807F868 - bl PlaySoundEffect -_0807F6D0: - movs r4, 0 - str r4, [sp, 0x100] - mov r1, r8 - ldr r0, [r1, 0x70] - adds r0, 0x46 - ldrb r0, [r0] - mov r9, r0 - add r2, sp, 0xD4 - movs r3, 0 - ldrsh r1, [r2, r3] - mov r4, r8 - movs r3, 0x4 - ldrsh r0, [r4, r3] - subs r3, r1, r0 - movs r4, 0x2 - ldrsh r1, [r2, r4] - mov r2, r8 - movs r4, 0x6 - ldrsh r0, [r2, r4] - subs r1, r0 - cmp r1, r3 - bge _0807F6FE - adds r1, r3, 0 -_0807F6FE: - lsls r6, r1, 4 - cmp r6, 0x50 - ble _0807F706 - movs r6, 0x50 -_0807F706: - cmp r6, 0x9 - bgt _0807F70C - movs r6, 0xA -_0807F70C: - mov r1, r8 - adds r1, 0x4 - add r0, sp, 0xD4 - bl CalculateFacingDir - adds r5, r0, 0 - add r2, sp, 0xD4 - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 11 - movs r3, 0xC0 - lsls r3, 4 - adds r4, r3 - ldr r0, _0807F86C - lsls r5, 2 - adds r5, r0 - movs r1, 0 - ldrsh r0, [r5, r1] - lsls r0, 8 - movs r1, 0x3 - bl __divsi3 - adds r4, r0 - str r4, [sp, 0xF4] - movs r3, 0xD6 - add r3, sp - movs r2, 0 - ldrsh r0, [r3, r2] - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 11 - movs r0, 0x80 - lsls r0, 5 - adds r4, r0 - movs r1, 0x2 - ldrsh r0, [r5, r1] - lsls r0, 8 - movs r1, 0x3 - bl __divsi3 - adds r4, r0 - str r4, [sp, 0xF8] - mov r2, r8 - ldr r5, [r2, 0xC] - ldr r3, [sp, 0xF4] - subs r0, r3, r5 - adds r1, r6, 0 - bl __divsi3 - str r0, [sp, 0xFC] - mov r0, r8 - ldr r4, [r0, 0x10] - ldr r1, [sp, 0xF8] - subs r0, r1, r4 - adds r1, r6, 0 - bl __divsi3 - mov r10, r0 - add r0, sp, 0xD8 - str r5, [r0] - str r4, [r0, 0x4] - movs r7, 0 - adds r5, r0, 0 - cmp r7, r6 - bge _0807F7FC - adds r4, r5, 0 -_0807F794: - ldr r0, [r5] - ldr r2, [sp, 0xFC] - adds r0, r2, r0 - str r0, [r4] - ldr r0, [r4, 0x4] - add r0, r10 - str r0, [r4, 0x4] - mov r0, r8 - adds r1, r4, 0 - bl sub_804535C - mov r0, r8 - bl sub_8045888 - lsls r0, 24 - cmp r0, 0 - beq _0807F7E6 - ldr r0, [sp, 0x100] - bl sub_8009C7C - lsls r0, 5 - mov r3, r8 - str r0, [r3, 0x1C] - movs r0, 0x3B - bl sub_803E46C - movs r0, 0x3 - ands r0, r7 - cmp r0, 0 - bne _0807F7E6 - movs r0, 0x7 - mov r1, r9 - ands r1, r0 - mov r9, r1 - mov r0, r8 - movs r1, 0x6 - mov r2, r9 - bl sub_806CDD4 - movs r2, 0x1 - add r9, r2 -_0807F7E6: - movs r0, 0x80 - lsls r0, 4 - adds r1, r6, 0 - bl __divsi3 - ldr r3, [sp, 0x100] - adds r3, r0 - str r3, [sp, 0x100] - adds r7, 0x1 - cmp r7, r6 - blt _0807F794 -_0807F7FC: - ldr r4, [sp, 0xF4] - str r4, [r5] - add r1, sp, 0xD8 - ldr r0, [sp, 0xF8] - str r0, [r1, 0x4] - movs r0, 0 - mov r2, r8 - str r0, [r2, 0x1C] - mov r0, r8 - bl sub_804535C - movs r0, 0x3B - bl sub_803E46C - mov r3, r8 - ldr r0, [r3, 0x70] - movs r1, 0x7 - mov r4, r9 - ands r4, r1 - adds r0, 0x46 - strb r4, [r0] - add r2, sp, 0xD4 - movs r1, 0 - ldrsh r0, [r2, r1] - adds r4, r2, 0 - movs r3, 0x2 - ldrsh r1, [r4, r3] - bl GetMapTile_1 - ldr r6, [r0, 0x10] - adds r0, r6, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _0807F876 - add r2, sp, 0xD4 - movs r0, 0 - ldrsh r1, [r2, r0] - movs r3, 0x2 - ldrsh r2, [r4, r3] - mov r0, r8 - movs r3, 0x1 - bl sub_80694C0 - mov r0, r8 - bl sub_807F9BC - b _0807F99C - .align 2, 0 -_0807F860: .4byte gAvailablePokemonNames -_0807F864: .4byte gUnknown_80FE690 -_0807F868: .4byte 0x000001a3 -_0807F86C: .4byte gAdjacentTileOffsets -_0807F870: - ldr r0, [r7] - str r0, [sp, 0xD4] - b _0807F8BE -_0807F876: - movs r5, 0 - add r4, sp, 0xE0 - adds r7, r4, 0 -_0807F87C: - ldr r0, _0807F8D0 - lsls r3, r5, 2 - adds r3, r0 - add r1, sp, 0xD4 - ldrh r0, [r1] - ldrh r2, [r3] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - ldr r2, _0807F8D4 - ldr r1, [r7] - ands r1, r2 - orrs r1, r0 - str r1, [r4] - add r0, sp, 0xD4 - ldrh r2, [r0, 0x2] - ldrh r3, [r3, 0x2] - adds r2, r3 - lsls r2, 16 - ldr r0, _0807F8D8 - ands r1, r0 - orrs r1, r2 - str r1, [r4] - mov r0, r8 - add r1, sp, 0xE0 - bl sub_80703A0 - lsls r0, 24 - cmp r0, 0 - beq _0807F870 - adds r5, 0x1 - cmp r5, 0x7 - ble _0807F87C -_0807F8BE: - cmp r5, 0x8 - bne _0807F8DC - ldr r0, [sp, 0xEC] - mov r1, r8 - movs r2, 0 - movs r3, 0 - bl sub_807D148 - b _0807F8FA - .align 2, 0 -_0807F8D0: .4byte gAdjacentTileOffsets -_0807F8D4: .4byte 0xffff0000 -_0807F8D8: .4byte 0x0000ffff -_0807F8DC: - mov r0, r8 - add r1, sp, 0xD4 - bl sub_807D068 - add r0, sp, 0xD4 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r0, 0xD6 - add r0, sp - movs r4, 0 - ldrsh r2, [r0, r4] - mov r0, r8 - movs r3, 0x1 - bl sub_80694C0 -_0807F8FA: - adds r0, r6, 0 - bl GetEntityType - cmp r0, 0x1 - bne _0807F954 - add r4, sp, 0xE4 - ldr r1, _0807F9AC - adds r0, r4, 0 - bl InitPokemonMove - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80571F0 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0807F93C - ldr r0, _0807F9B0 - movs r3, 0 - ldrsh r2, [r0, r3] - str r1, [sp] - str r1, [sp, 0x4] - ldr r0, _0807F9B4 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - str r1, [sp, 0x10] - str r1, [sp, 0x14] - ldr r0, [sp, 0xEC] - adds r1, r6, 0 - movs r3, 0 - bl sub_806F370 -_0807F93C: - adds r0, r6, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0807F954 - ldr r0, [r6, 0x70] - adds r0, 0x46 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_806CE68 -_0807F954: - ldr r0, _0807F9B0 - movs r4, 0 - ldrsh r2, [r0, r4] - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - ldr r0, _0807F9B8 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - str r1, [sp, 0x10] - str r1, [sp, 0x14] - ldr r0, [sp, 0xEC] - mov r1, r8 - movs r3, 0 - bl sub_806F370 - mov r0, r8 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0807F98E - mov r1, r8 - ldr r0, [r1, 0x70] - adds r0, 0x46 - ldrb r1, [r0] - mov r0, r8 - bl sub_806CE68 -_0807F98E: - movs r0, 0x1E - movs r1, 0x3B - bl sub_803E708 - mov r0, r8 - bl sub_807F9BC -_0807F99C: - add sp, 0x10C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807F9AC: .4byte 0x00000163 -_0807F9B0: .4byte gUnknown_80F4F92 -_0807F9B4: .4byte 0x0000021a -_0807F9B8: .4byte 0x00000219 - thumb_func_end sub_807F43C - - thumb_func_start sub_807F9BC -sub_807F9BC: - push {r4,lr} - adds r4, r0, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0807FA0A - ldr r0, [r4, 0x70] - ldrb r0, [r0, 0x7] - cmp r0, 0 - beq _0807F9F4 - ldr r2, _0807FA10 - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0x1] - ldr r0, [r2] - movs r1, 0xB8 - lsls r1, 3 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - str r1, [r0] - adds r0, r4, 0x4 - bl sub_804AC20 - movs r0, 0 - bl sub_807EC28 -_0807F9F4: - adds r0, r4, 0 - bl sub_806A5B8 - ldr r0, _0807FA10 - ldr r0, [r0] - ldr r1, _0807FA14 - adds r0, r1 - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_8075900 -_0807FA0A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807FA10: .4byte gDungeonGlobalData -_0807FA14: .4byte 0x00003a08 - thumb_func_end sub_807F9BC - - thumb_func_start sub_807FA18 -sub_807FA18: - push {r4-r7,lr} - sub sp, 0x4 - movs r6, 0 -_0807FA1E: - movs r5, 0 - adds r7, r6, 0x1 -_0807FA22: - adds r0, r5, 0 - adds r1, r6, 0 - bl GetMapTile_2 - adds r4, r0, 0 - ldrh r1, [r4, 0x4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0807FA88 - lsls r0, r5, 16 - lsls r1, r6, 16 - lsrs r0, 16 - orrs r0, r1 - str r0, [sp] - ldrh r1, [r4, 0x4] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0807FA4E - movs r0, 0x6 - b _0807FA56 -_0807FA4E: - bl sub_803D6FC - lsls r0, 24 - lsrs r0, 24 -_0807FA56: - cmp r0, 0x11 - bne _0807FA72 - movs r0, 0x11 - mov r1, sp - movs r2, 0x2 - bl sub_8045684 - cmp r0, 0 - beq _0807FA88 - str r0, [r4, 0x14] - adds r1, r0, 0 - adds r1, 0x20 - movs r0, 0x1 - b _0807FA86 -_0807FA72: - mov r1, sp - movs r2, 0 - bl sub_8045684 - cmp r0, 0 - beq _0807FA88 - str r0, [r4, 0x14] - adds r1, r0, 0 - adds r1, 0x20 - movs r0, 0 -_0807FA86: - strb r0, [r1] -_0807FA88: - adds r5, 0x1 - cmp r5, 0x37 - ble _0807FA22 - adds r6, r7, 0 - cmp r6, 0x1F - ble _0807FA1E - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807FA18 - - thumb_func_start sub_807FA9C -sub_807FA9C: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r2, _0807FAC4 - ldr r0, [r2] - ldr r3, _0807FAC8 - adds r1, r0, r3 - ldrb r1, [r1] - str r1, [sp] - ldr r1, _0807FACC - adds r0, r1 - movs r3, 0 - ldrsh r0, [r0, r3] - subs r1, r0, 0x5 - mov r8, r1 - b _0807FBFE - .align 2, 0 -_0807FAC4: .4byte gDungeonGlobalData -_0807FAC8: .4byte 0x0001820f -_0807FACC: .4byte 0x000181ea -_0807FAD0: - ldr r0, [r2] - ldr r2, _0807FC18 - adds r0, r2 - movs r3, 0 - ldrsh r0, [r0, r3] - subs r5, r0, 0x6 - adds r0, 0x6 - mov r1, r8 - adds r1, 0x1 - str r1, [sp, 0x4] - cmp r5, r0 - blt _0807FAEA - b _0807FBEE -_0807FAEA: - ldr r7, _0807FC1C - ldr r2, _0807FC20 - mov r10, r2 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - mov r9, r0 -_0807FAF8: - movs r6, 0 - adds r0, r5, 0 - mov r1, r8 - bl GetMapTile_1 - adds r4, r0, 0 - ldr r0, [r4, 0x14] - cmp r0, 0 - beq _0807FB24 - bl GetEntityType - cmp r0, 0x2 - bne _0807FB24 - ldr r0, [r4, 0x14] - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0 - bne _0807FB22 - ldr r3, [sp] - cmp r3, 0 - beq _0807FB24 -_0807FB22: - movs r6, 0x1 -_0807FB24: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 2 - adds r1, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0807FB34 - movs r6, 0x1 -_0807FB34: - cmp r6, 0 - beq _0807FBD6 - ldr r0, _0807FC24 - ldr r1, [r0] - ldr r3, _0807FC28 - adds r0, r1, r3 - movs r2, 0 - ldrsh r0, [r0, r2] - mov r2, r9 - subs r3, r2, r0 - mov r2, r8 - lsls r0, r2, 1 - add r0, r8 - lsls r0, 3 - ldr r2, _0807FC2C - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - subs r2, r0, r1 - movs r0, 0x20 - negs r0, r0 - cmp r3, r0 - blt _0807FBD6 - cmp r2, r0 - blt _0807FBD6 - movs r0, 0x88 - lsls r0, 1 - cmp r3, r0 - bgt _0807FBD6 - cmp r2, 0xC0 - bgt _0807FBD6 - ldrh r1, [r7] - mov r0, r10 - ands r0, r1 - strh r0, [r7] - ldr r1, _0807FC30 - ands r1, r2 - lsls r1, 4 - ldrh r2, [r7, 0x6] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strh r0, [r7, 0x6] - ldr r0, _0807FC34 - ands r3, r0 - ldrh r0, [r7, 0x2] - movs r2, 0xFE - lsls r2, 8 - adds r1, r2, 0 - ands r0, r1 - orrs r0, r3 - strh r0, [r7, 0x2] - ldrh r1, [r7, 0x4] - mov r0, r10 - ands r0, r1 - movs r3, 0xC0 - lsls r3, 4 - orrs r0, r3 - movs r1, 0 - orrs r0, r1 - movs r1, 0xA0 - lsls r1, 8 - ldr r2, _0807FC30 - ands r0, r2 - orrs r0, r1 - movs r3, 0 - orrs r0, r3 - movs r2, 0xFE - lsls r2, 1 - movs r3, 0xFC - lsls r3, 8 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r7, 0x4] - adds r0, r7, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl AddSprite -_0807FBD6: - movs r0, 0x18 - add r9, r0 - adds r5, 0x1 - ldr r0, _0807FC24 - ldr r0, [r0] - ldr r1, _0807FC18 - adds r0, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r0, 0x6 - cmp r5, r0 - blt _0807FAF8 -_0807FBEE: - ldr r3, [sp, 0x4] - mov r8, r3 - ldr r2, _0807FC24 - ldr r0, [r2] - ldr r1, _0807FC38 - adds r0, r1 - movs r3, 0 - ldrsh r0, [r0, r3] -_0807FBFE: - adds r0, 0x5 - cmp r8, r0 - bge _0807FC06 - b _0807FAD0 -_0807FC06: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807FC18: .4byte 0x000181e8 -_0807FC1C: .4byte gUnknown_202EDC0 -_0807FC20: .4byte 0x0000f3ff -_0807FC24: .4byte gDungeonGlobalData -_0807FC28: .4byte 0x000181f0 -_0807FC2C: .4byte 0x000181f2 -_0807FC30: .4byte 0x00000fff -_0807FC34: .4byte 0x000001ff -_0807FC38: .4byte 0x000181ea - thumb_func_end sub_807FA9C - - thumb_func_start sub_807FC3C -sub_807FC3C: - push {r4-r7,lr} - ldr r6, _0807FC70 - ldr r4, [r6] - ldrh r5, [r0] - ldr r7, _0807FC74 - adds r3, r4, r7 - strh r5, [r3] - ldrh r3, [r0, 0x2] - ldr r5, _0807FC78 - adds r0, r4, r5 - strh r3, [r0] - adds r7, 0x4 - adds r4, r7 - strb r1, [r4] - ldr r0, [r6] - ldr r1, _0807FC7C - adds r0, r1 - strb r2, [r0] - ldr r0, [r6] - subs r5, 0x6 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807FC70: .4byte gDungeonGlobalData -_0807FC74: .4byte 0x00013574 -_0807FC78: .4byte 0x00013576 -_0807FC7C: .4byte 0x00013579 - thumb_func_end sub_807FC3C - - thumb_func_start CanLayTrap -CanLayTrap: - push {lr} - movs r1, 0 - ldrsh r2, [r0, r1] - movs r3, 0x2 - ldrsh r1, [r0, r3] - adds r0, r2, 0 - bl GetMapTile_2 - adds r2, r0, 0 - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _0807FCCA - ldrb r0, [r2, 0x9] - cmp r0, 0xFF - beq _0807FCCA - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0807FCCA - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0807FCCA - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _0807FCCA - ldr r0, [r2, 0x14] - cmp r0, 0 - beq _0807FCCE - bl GetEntityType - cmp r0, 0x2 - beq _0807FCCE -_0807FCCA: - movs r0, 0 - b _0807FCD0 -_0807FCCE: - movs r0, 0x1 -_0807FCD0: - pop {r1} - bx r1 - thumb_func_end CanLayTrap - - thumb_func_start sub_807FCD4 -sub_807FCD4: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - movs r1, 0 - ldrsh r0, [r7, r1] - movs r2, 0x2 - ldrsh r1, [r7, r2] - bl GetMapTile_2 - adds r6, r0, 0 - cmp r5, 0x13 - bls _0807FD12 - movs r4, 0 - b _0807FCFE -_0807FCFC: - adds r4, 0x1 -_0807FCFE: - cmp r4, 0x1D - bgt _0807FD0C - bl sub_803D6FC - adds r5, r0, 0 - cmp r5, 0x11 - beq _0807FCFC -_0807FD0C: - cmp r4, 0x1E - bne _0807FD12 - movs r5, 0x10 -_0807FD12: - ldrh r1, [r6] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _0807FD6E - ldrb r0, [r6, 0x9] - cmp r0, 0xFF - beq _0807FD6E - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0807FD6E - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0807FD6E - movs r4, 0x3 - ands r4, r1 - cmp r4, 0x1 - bne _0807FD6E - ldr r0, [r6, 0x14] - cmp r0, 0 - beq _0807FD60 - bl GetEntityType - cmp r0, 0x2 - bne _0807FD6E - ldr r0, [r6, 0x14] - bl GetTrapData - strb r5, [r0] - ldr r0, [r6, 0x14] - bl GetTrapData - mov r1, r8 - strb r1, [r0, 0x1] - ldr r0, [r6, 0x14] - b _0807FD74 -_0807FD60: - adds r0, r5, 0 - adds r1, r7, 0 - mov r2, r8 - bl sub_8045684 - cmp r0, 0 - bne _0807FD72 -_0807FD6E: - movs r0, 0 - b _0807FD7A -_0807FD72: - str r0, [r6, 0x14] -_0807FD74: - adds r0, 0x20 - strb r4, [r0] - movs r0, 0x1 -_0807FD7A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807FCD4 - - thumb_func_start sub_807FD84 -sub_807FD84: - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - ldr r4, _0807FD9C - ldr r0, [r4] - ldr r2, _0807FDA0 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - bne _0807FDA4 - movs r0, 0 - b _0807FDF6 - .align 2, 0 -_0807FD9C: .4byte gDungeonGlobalData -_0807FDA0: .4byte 0x00013570 -_0807FDA4: - strb r5, [r1] - ldr r2, [r4] - ldr r3, _0807FDD8 - adds r0, r2, r3 - adds r3, 0x4 - adds r1, r2, r3 - ldrb r1, [r1] - adds r3, 0x1 - adds r2, r3 - ldrb r2, [r2] - bl sub_807FCD4 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _0807FDE0 - ldr r1, [r4] - ldr r0, _0807FDD8 - adds r1, r0 - ldr r0, _0807FDDC - ldr r2, [r0] - adds r0, r6, 0 - bl sub_8052364 - b _0807FDF0 - .align 2, 0 -_0807FDD8: .4byte 0x00013574 -_0807FDDC: .4byte gUnknown_80FC5F8 -_0807FDE0: - ldr r1, [r4] - ldr r2, _0807FDFC - adds r1, r2 - ldr r0, _0807FE00 - ldr r2, [r0] - adds r0, r6, 0 - bl sub_8052364 -_0807FDF0: - bl sub_8049ED4 - adds r0, r5, 0 -_0807FDF6: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0807FDFC: .4byte 0x00013574 -_0807FE00: .4byte gUnknown_80FC5FC - thumb_func_end sub_807FD84 - - thumb_func_start sub_807FE04 -sub_807FE04: - push {r4,r5,lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - movs r1, 0 - ldrsh r0, [r2, r1] - movs r3, 0x2 - ldrsh r1, [r2, r3] - bl GetMapTile_2 - adds r4, r0, 0 - ldr r0, [r4, 0x14] - cmp r0, 0 - beq _0807FE3C - bl GetEntityType - cmp r0, 0x2 - bne _0807FE3C - ldr r1, [r4, 0x14] - movs r0, 0 - str r0, [r1] - str r0, [r4, 0x14] - cmp r5, 0 - beq _0807FE38 - bl sub_8049ED4 -_0807FE38: - movs r0, 0x1 - b _0807FE3E -_0807FE3C: - movs r0, 0 -_0807FE3E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_807FE04 - - thumb_func_start sub_807FE44 -sub_807FE44: - push {r4,r5,lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - movs r1, 0 - ldrsh r0, [r2, r1] - movs r3, 0x2 - ldrsh r1, [r2, r3] - bl GetMapTile_1 - adds r4, r0, 0 - ldr r0, [r4, 0x14] - cmp r0, 0 - beq _0807FE7C - bl GetEntityType - cmp r0, 0x2 - bne _0807FE7C - ldr r0, [r4, 0x14] - adds r0, 0x20 - movs r1, 0x1 - strb r1, [r0] - cmp r5, 0 - beq _0807FE78 - bl sub_8049ED4 -_0807FE78: - movs r0, 0x1 - b _0807FE7E -_0807FE7C: - movs r0, 0 -_0807FE7E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_807FE44 - - thumb_func_start GetTrapName -GetTrapName: - push {lr} - lsls r1, 24 - ldr r2, _0807FE98 - lsrs r1, 22 - adds r1, r2 - ldr r1, [r1] - bl strcpy - pop {r0} - bx r0 - .align 2, 0 -_0807FE98: .4byte gTrapNames - thumb_func_end GetTrapName - - thumb_func_start sub_807FE9C -sub_807FE9C: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r5, r0, 0 - mov r9, r1 - str r2, [sp] - lsls r3, 24 - lsrs r6, r3, 24 - movs r2, 0 - ldrsh r0, [r1, r2] - movs r3, 0x2 - ldrsh r1, [r1, r3] - bl GetMapTile_2 - str r0, [sp, 0x4] - ldr r0, [r0, 0x14] - mov r10, r0 - movs r1, 0 - str r1, [sp, 0x8] - cmp r0, 0 - bne _0807FECE - b _080801B4 -_0807FECE: - bl GetEntityType - cmp r0, 0x2 - beq _0807FED8 - b _080801B4 -_0807FED8: - mov r0, r10 - bl GetTrapData - mov r8, r0 - ldr r0, _0807FF58 - mov r2, r8 - ldrb r1, [r2] - bl GetTrapName - ldr r3, [sp, 0x4] - ldr r4, [r3, 0x10] - cmp r4, 0 - beq _0807FEFE - adds r0, r4, 0 - bl GetEntityType - cmp r0, 0x1 - beq _0807FEFE - movs r4, 0 -_0807FEFE: - mov r1, r10 - adds r1, 0x20 - ldrb r0, [r1] - str r0, [sp, 0xC] - movs r0, 0x1 - strb r0, [r1] - cmp r4, 0 - beq _0807FF96 - adds r0, r4, 0 - bl sub_806A1E8 - cmp r6, 0 - beq _0807FF96 - mov r1, r8 - ldrb r0, [r1] - cmp r0, 0x11 - beq _0807FF96 - movs r0, 0x64 - bl DungeonRandomCapped - adds r7, r0, 0 - movs r6, 0 - adds r0, r4, 0 - movs r1, 0x1C - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _0807FF3C - ldr r0, _0807FF5C - ldr r6, [r0] -_0807FF3C: - ldr r2, [sp, 0xC] - cmp r2, 0x1 - beq _0807FF50 - ldr r0, _0807FF60 - ldr r0, [r0] - ldr r3, _0807FF64 - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _0807FF68 -_0807FF50: - cmp r7, 0 - bge _0807FF70 - b _0807FF6C - .align 2, 0 -_0807FF58: .4byte gAvailablePokemonNames -_0807FF5C: .4byte gUnknown_80FDB5C -_0807FF60: .4byte gDungeonGlobalData -_0807FF64: .4byte 0x0001820f -_0807FF68: - cmp r7, 0xE - bgt _0807FF70 -_0807FF6C: - ldr r0, _0807FFD8 - ldr r6, [r0] -_0807FF70: - cmp r6, 0 - beq _0807FF96 - mov r0, r9 - bl sub_803F428 - lsls r0, 24 - cmp r0, 0 - beq _0807FF84 - bl sub_8049ED4 -_0807FF84: - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_80522F4 - ldr r0, [sp] - cmp r0, 0 - bne _0807FF96 - b _080801B4 -_0807FF96: - mov r0, r9 - bl sub_803F428 - lsls r0, 24 - cmp r0, 0 - beq _0807FFFA - movs r1, 0xAE - lsls r1, 1 - movs r0, 0 - bl sub_80421C0 - bl sub_8049ED4 - mov r1, r8 - ldrb r2, [r1] - adds r0, r5, 0 - mov r1, r9 - bl sub_804225C - ldr r0, _0807FFDC - ldr r0, [r0] - ldr r2, _0807FFE0 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0807FFE8 - ldr r0, _0807FFE4 - ldr r1, [r0] - adds r0, r5, 0 - bl SendMessage - b _0807FFFA - .align 2, 0 -_0807FFD8: .4byte gUnknown_80FDB7C -_0807FFDC: .4byte gDungeonGlobalData -_0807FFE0: .4byte 0x0001820a -_0807FFE4: .4byte gUnknown_80FD7F4 -_0807FFE8: - ldr r0, _08080010 - mov r3, r8 - ldrb r1, [r3] - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r5, 0 - bl SendMessage -_0807FFFA: - cmp r4, 0 - beq _08080020 - mov r1, r8 - ldrb r0, [r1, 0x1] - cmp r0, 0x2 - bne _08080014 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806F480 - b _08080020 - .align 2, 0 -_08080010: .4byte gUnknown_80FD7F8 -_08080014: - cmp r0, 0x1 - bne _08080020 - adds r0, r4, 0 - movs r1, 0 - bl sub_806F480 -_08080020: - mov r2, r8 - ldrb r0, [r2] - cmp r0, 0x1B - bls _0808002A - b _08080194 -_0808002A: - lsls r0, 2 - ldr r1, _08080034 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08080034: .4byte _08080038 - .align 2, 0 -_08080038: - .4byte _080800A8 - .4byte _080800B2 - .4byte _080800BC - .4byte _080800C6 - .4byte _080800D0 - .4byte _080800DA - .4byte _080800E6 - .4byte _080800F0 - .4byte _080800FA - .4byte _08080104 - .4byte _0808010E - .4byte _08080118 - .4byte _08080122 - .4byte _0808012C - .4byte _08080136 - .4byte _08080140 - .4byte _0808014A - .4byte _08080168 - .4byte _08080172 - .4byte _08080180 - .4byte _08080194 - .4byte _08080194 - .4byte _08080194 - .4byte _08080194 - .4byte _08080194 - .4byte _08080194 - .4byte _08080194 - .4byte _080800DA -_080800A8: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8080A5C - b _08080194 -_080800B2: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80801CC - b _08080194 -_080800BC: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_808024C - b _08080194 -_080800C6: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8080418 - b _08080194 -_080800D0: - adds r0, r5, 0 - mov r1, r9 - bl sub_8080620 - b _0808017A -_080800DA: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, [sp, 0x4] - bl sub_8080504 - b _08080194 -_080800E6: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8080374 - b _08080194 -_080800F0: - mov r0, r10 - adds r1, r4, 0 - bl sub_8080884 - b _08080194 -_080800FA: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8080364 - b _08080194 -_08080104: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8080388 - b _08080194 -_0808010E: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80803B4 - b _08080194 -_08080118: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80807C0 - b _08080194 -_08080122: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80803C8 - b _08080194 -_0808012C: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80803D8 - b _08080194 -_08080136: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80803F8 - b _08080194 -_08080140: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8080700 - b _08080194 -_0808014A: - cmp r4, 0 - beq _08080194 - ldr r0, _08080160 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r3, _08080164 - adds r0, r4, 0 - movs r2, 0xF - bl sub_806F324 - b _08080194 - .align 2, 0 -_08080160: .4byte gUnknown_80F4F86 -_08080164: .4byte 0x00000213 -_08080168: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80807B4 - b _08080194 -_08080172: - adds r0, r5, 0 - mov r1, r9 - bl sub_80808A4 -_0808017A: - movs r3, 0x1 - str r3, [sp, 0x8] - b _08080194 -_08080180: - cmp r4, 0 - beq _08080194 - ldr r0, _080801C4 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r3, _080801C8 - adds r0, r4, 0 - movs r2, 0xA - bl sub_806F324 -_08080194: - adds r0, r4, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _080801A6 - adds r0, r4, 0 - bl sub_8071DA4 -_080801A6: - ldr r3, [sp, 0x8] - cmp r3, 0 - beq _080801B4 - mov r0, r9 - movs r1, 0x1 - bl sub_807FE04 -_080801B4: - 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 -_080801C4: .4byte gUnknown_80F4F84 -_080801C8: .4byte 0x00000206 - thumb_func_end sub_807FE9C - - thumb_func_start sub_80801CC -sub_80801CC: - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r4, r1, 0 - cmp r4, 0 - beq _08080240 - movs r0, 0x64 - bl DungeonRandomCapped - adds r1, r0, 0 - cmp r0, 0x18 - bgt _080801EC - ldr r0, _080801E8 - b _080801F2 - .align 2, 0 -_080801E8: .4byte gUnknown_8106A4C -_080801EC: - cmp r0, 0x31 - bgt _0808020C - ldr r0, _08080208 -_080801F2: - ldr r2, [r0] - movs r0, 0x1 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8076E20 - b _08080240 - .align 2, 0 -_08080208: .4byte gUnknown_8106A50 -_0808020C: - cmp r1, 0x4A - bgt _0808022C - ldr r0, _08080228 - ldr r2, [r0] - movs r0, 0x1 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8076F80 - b _08080240 - .align 2, 0 -_08080228: .4byte gUnknown_8106A4C -_0808022C: - ldr r0, _08080248 - ldr r2, [r0] - movs r0, 0x1 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8076F80 -_08080240: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08080248: .4byte gUnknown_8106A50 - thumb_func_end sub_80801CC - - thumb_func_start sub_808024C -sub_808024C: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x5C - str r0, [sp, 0x54] - mov r10, r1 - ldr r0, [r1, 0x70] - mov r8, r0 - mov r0, r10 - movs r1, 0xE - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _08080278 - ldr r0, _08080274 - b _08080300 - .align 2, 0 -_08080274: .4byte gUnknown_80FDC7C -_08080278: - movs r6, 0 - mov r1, r8 - ldrb r0, [r1, 0x7] - movs r1, 0x60 - add r1, r8 - mov r9, r1 - cmp r0, 0 - beq _080802C8 - movs r5, 0 - ldr r7, _0808030C - mov r0, sp - str r0, [sp, 0x58] -_08080290: - lsls r4, r5, 2 - ldr r0, [r7] - adds r2, r4, r0 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080802C2 - ldrb r0, [r2, 0x2] - bl IsNotSpecialItem - lsls r0, 24 - cmp r0, 0 - beq _080802C2 - ldr r0, [r7] - adds r2, r0, r4 - ldrb r1, [r2] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _080802C2 - ldr r1, [sp, 0x58] - stm r1!, {r2} - str r1, [sp, 0x58] - adds r6, 0x1 -_080802C2: - adds r5, 0x1 - cmp r5, 0x13 - ble _08080290 -_080802C8: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080802FA - mov r0, r8 - adds r0, 0x62 - ldrb r0, [r0] - bl IsNotSpecialItem - lsls r0, 24 - cmp r0, 0 - beq _080802FA - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _080802FA - lsls r0, r6, 2 - add r0, sp - mov r1, r9 - str r1, [r0] - adds r6, 0x1 -_080802FA: - cmp r6, 0 - bne _08080314 - ldr r0, _08080310 -_08080300: - ldr r2, [r0] - ldr r0, [sp, 0x54] - mov r1, r10 - bl sub_80522F4 - b _0808034A - .align 2, 0 -_0808030C: .4byte gTeamInventory_203B460 -_08080310: .4byte gUnknown_80FDC40 -_08080314: - adds r0, r6, 0 - bl DungeonRandomCapped - ldr r2, _0808035C - lsls r0, 2 - mov r1, sp - adds r4, r1, r0 - ldr r1, [r4] - adds r0, r2, 0 - bl sub_8045BF8 - ldr r2, [r4] - ldrb r1, [r2] - movs r0, 0x8 - orrs r0, r1 - strb r0, [r2] - movs r1, 0xC9 - lsls r1, 1 - mov r0, r10 - bl sub_80421C0 - ldr r0, _08080360 - ldr r2, [r0] - ldr r0, [sp, 0x54] - mov r1, r10 - bl sub_80522F4 -_0808034A: - add sp, 0x5C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808035C: .4byte gUnknown_202DE58 -_08080360: .4byte gUnknown_80FDC18 - thumb_func_end sub_808024C - - thumb_func_start sub_8080364 -sub_8080364: - push {lr} - cmp r1, 0 - beq _08080370 - movs r2, 0x1 - bl sub_8077AE4 -_08080370: - pop {r0} - bx r0 - thumb_func_end sub_8080364 - - thumb_func_start sub_8080374 -sub_8080374: - push {lr} - cmp r1, 0 - beq _08080382 - movs r2, 0 - movs r3, 0 - bl sub_807D148 -_08080382: - pop {r0} - bx r0 - thumb_func_end sub_8080374 - - thumb_func_start sub_8080388 -sub_8080388: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - cmp r4, 0 - beq _080803A8 - ldr r1, _080803B0 - 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 -_080803A8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080803B0: .4byte gUnknown_80F4E74 - thumb_func_end sub_8080388 - - thumb_func_start sub_80803B4 -sub_80803B4: - push {lr} - cmp r1, 0 - beq _080803C2 - movs r2, 0x1 - movs r3, 0x1 - bl sub_80779F0 -_080803C2: - pop {r0} - bx r0 - thumb_func_end sub_80803B4 - - thumb_func_start sub_80803C8 -sub_80803C8: - push {lr} - cmp r1, 0 - beq _080803D4 - movs r2, 0x1 - bl sub_80763F8 -_080803D4: - pop {r0} - bx r0 - thumb_func_end sub_80803C8 - - thumb_func_start sub_80803D8 -sub_80803D8: - push {lr} - sub sp, 0x8 - adds r2, r1, 0x4 - movs r3, 0 - str r3, [sp] - ldr r3, _080803F4 - str r3, [sp, 0x4] - movs r3, 0x1 - bl sub_807DF38 - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080803F4: .4byte 0x00000212 - thumb_func_end sub_80803D8 - - thumb_func_start sub_80803F8 -sub_80803F8: - push {lr} - sub sp, 0x8 - adds r2, r1, 0x4 - movs r3, 0 - str r3, [sp] - ldr r3, _08080414 - str r3, [sp, 0x4] - movs r3, 0x2 - bl sub_807DF38 - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_08080414: .4byte 0x00000212 - thumb_func_end sub_80803F8 - - thumb_func_start sub_8080418 -sub_8080418: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x58 - mov r8, r0 - adds r6, r1, 0 - movs r0, 0 - mov r9, r0 - cmp r6, 0 - beq _080804F0 - ldr r7, [r6, 0x70] - movs r3, 0 - ldrb r0, [r7, 0x7] - cmp r0, 0 - beq _0808045A - ldr r0, _080804C0 - movs r1, 0x1 - mov r12, r1 - ldr r2, [r0] - mov r4, sp - movs r5, 0x13 -_08080444: - ldrb r1, [r2] - mov r0, r12 - ands r0, r1 - cmp r0, 0 - beq _08080452 - stm r4!, {r2} - adds r3, 0x1 -_08080452: - adds r2, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _08080444 -_0808045A: - adds r2, r7, 0 - adds r2, 0x60 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08080470 - lsls r0, r3, 2 - add r0, sp - str r2, [r0] - adds r3, 0x1 -_08080470: - cmp r3, 0 - ble _080804B6 - mov r4, sp - adds r5, r3, 0 -_08080478: - ldr r0, [r4] - ldrb r0, [r0, 0x2] - bl GetItemType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080804AE - ldr r0, [r4] - ldrb r0, [r0, 0x2] - cmp r0, 0x54 - beq _080804AE - movs r0, 0x64 - bl DungeonRandomCapped - ldr r1, _080804C4 - movs r2, 0 - ldrsh r1, [r1, r2] - cmp r0, r1 - bge _080804AE - movs r0, 0x1 - add r9, r0 - ldr r0, [r4] - movs r1, 0x54 - movs r2, 0x2 - bl sub_8045C28 -_080804AE: - adds r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bne _08080478 -_080804B6: - mov r1, r9 - cmp r1, 0x1 - bne _080804CC - ldr r0, _080804C8 - b _080804D4 - .align 2, 0 -_080804C0: .4byte gTeamInventory_203B460 -_080804C4: .4byte gUnknown_80F4E0E -_080804C8: .4byte gUnknown_80FD788 -_080804CC: - mov r2, r9 - cmp r2, 0 - bne _080804E4 - ldr r0, _080804E0 -_080804D4: - ldr r2, [r0] - mov r0, r8 - adds r1, r6, 0 - bl sub_80522F4 - b _080804F0 - .align 2, 0 -_080804E0: .4byte gUnknown_80FD7D4 -_080804E4: - ldr r0, _08080500 - ldr r2, [r0] - mov r0, r8 - adds r1, r6, 0 - bl sub_80522F4 -_080804F0: - add sp, 0x58 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080500: .4byte gUnknown_80FD7AC - thumb_func_end sub_8080418 - - thumb_func_start sub_8080504 -sub_8080504: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - adds r7, r2, 0 - movs r0, 0 - mov r8, r0 - cmp r4, 0 - bne _0808051A - b _0808060E -_0808051A: - bl IsBossBattle - lsls r0, 24 - cmp r0, 0 - beq _08080534 - ldr r0, _08080530 - ldr r1, [r0] - adds r0, r6, 0 - bl SendMessage - b _0808060E - .align 2, 0 -_08080530: .4byte gUnknown_80FED0C -_08080534: - ldr r5, [r4, 0x70] - adds r0, r4, 0 - bl sub_8045888 - lsls r0, 24 - cmp r0, 0 - beq _0808055E - adds r0, r7, 0 - movs r1, 0x1B - bl sub_8080B00 - movs r1, 0x1 - mov r8, r1 - ldr r1, _080805A4 - adds r0, r4, 0 - bl sub_80421C0 - movs r0, 0x1E - movs r1, 0x48 - bl sub_803E708 -_0808055E: - ldrb r0, [r5, 0x7] - cmp r0, 0 - beq _080805C4 - bl sub_8043D10 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080805B4 - movs r2, 0xAE - lsls r2, 1 - adds r0, r5, r2 - movs r1, 0x1 - strb r1, [r0] - adds r2, 0x2 - adds r0, r5, r2 - strb r1, [r0] - movs r0, 0x28 - movs r1, 0x4B - bl sub_803E708 - ldr r0, _080805A8 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r3, _080805AC - adds r0, r4, 0 - movs r2, 0x11 - bl sub_806F324 - ldr r0, _080805B0 - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1, 0x2] - b _0808060E - .align 2, 0 -_080805A4: .4byte 0x00000193 -_080805A8: .4byte gUnknown_80F4F8A -_080805AC: .4byte 0x00000215 -_080805B0: .4byte gDungeonGlobalData -_080805B4: - ldr r0, _080805C0 - ldr r1, [r0] - adds r0, r6, 0 - bl SendMessage - b _08080600 - .align 2, 0 -_080805C0: .4byte gUnknown_80F9728 -_080805C4: - ldr r0, _080805E4 - adds r1, r4, 0 - movs r2, 0 - bl SetMessageArgument - ldrb r0, [r5, 0x6] - cmp r0, 0 - beq _080805EC - ldr r0, _080805E8 - ldr r2, [r0] - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80522F4 - b _080805F6 - .align 2, 0 -_080805E4: .4byte gAvailablePokemonNames -_080805E8: .4byte gUnknown_80F970C -_080805EC: - ldr r0, _08080618 - ldr r1, [r0] - adds r0, r6, 0 - bl sub_805239C -_080805F6: - ldr r1, _0808061C - adds r0, r4, 0 - adds r2, r6, 0 - bl sub_8068FE0 -_08080600: - mov r0, r8 - cmp r0, 0 - beq _0808060E - adds r0, r7, 0 - movs r1, 0x5 - bl sub_8080B00 -_0808060E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080618: .4byte gUnknown_80F970C -_0808061C: .4byte 0x00000215 - thumb_func_end sub_8080504 - - thumb_func_start sub_8080620 -sub_8080620: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - str r0, [sp, 0x14] - adds r7, r1, 0 - movs r0, 0x3 - bl DungeonRandomCapped - adds r6, r0, 0 - adds r4, r6, 0x2 - movs r0, 0x8 - bl DungeonRandomCapped - adds r5, r0, 0 - bl IsBossBattle - lsls r0, 24 - cmp r0, 0 - bne _080806CA - movs r0, 0 - mov r8, r0 - cmp r8, r4 - bge _080806BA - mov r4, sp - movs r1, 0 - mov r10, r1 - movs r2, 0 - mov r9, r2 - adds r6, 0x2 -_08080660: - movs r0, 0 - bl sub_803D970 - movs r1, 0x7 - ands r5, r1 - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0 - bl sub_806AA0C - lsls r0, 24 - cmp r0, 0 - beq _080806B2 - mov r2, r9 - strh r2, [r4, 0x8] - mov r0, r10 - strb r0, [r4, 0x2] - ldr r0, _080806D8 - lsls r1, r5, 2 - adds r1, r0 - ldrh r0, [r1] - ldrh r2, [r7] - adds r0, r2 - strh r0, [r4, 0xC] - ldrh r0, [r1, 0x2] - ldrh r1, [r7, 0x2] - adds r0, r1 - strh r0, [r4, 0xE] - mov r2, r9 - str r2, [sp, 0x4] - mov r0, r10 - strb r0, [r4, 0x10] - mov r0, sp - movs r1, 0x1 - bl sub_806B7F8 - cmp r0, 0 - beq _080806B2 - movs r1, 0x1 - add r8, r1 -_080806B2: - adds r5, 0x1 - subs r6, 0x1 - cmp r6, 0 - bne _08080660 -_080806BA: - movs r1, 0xCA - lsls r1, 1 - adds r0, r7, 0 - bl sub_80421EC - mov r2, r8 - cmp r2, 0 - bne _080806E0 -_080806CA: - ldr r0, _080806DC - ldr r1, [r0] - ldr r0, [sp, 0x14] - bl SendMessage - b _080806EA - .align 2, 0 -_080806D8: .4byte gAdjacentTileOffsets -_080806DC: .4byte gUnknown_80FED04 -_080806E0: - ldr r0, _080806FC - ldr r1, [r0] - ldr r0, [sp, 0x14] - bl SendMessage -_080806EA: - 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 -_080806FC: .4byte gUnknown_80FED00 - thumb_func_end sub_8080620 - - thumb_func_start sub_8080700 -sub_8080700: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - mov r8, r0 - adds r5, r1, 0 - movs r0, 0 - mov r12, r0 - cmp r5, 0 - beq _080807A4 - ldr r7, [r5, 0x70] - movs r4, 0 - movs r3, 0 - mov r6, sp -_0808071C: - lsls r0, r3, 3 - movs r1, 0x8C - lsls r1, 1 - adds r0, r1 - adds r2, r7, r0 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08080742 - ldrb r0, [r2, 0x4] - cmp r0, 0 - beq _08080742 - lsls r1, r4, 2 - stm r6!, {r2} - add r0, sp, 0x10 - adds r0, r1 - str r3, [r0] - adds r4, 0x1 -_08080742: - adds r3, 0x1 - cmp r3, 0x3 - ble _0808071C - cmp r4, 0 - beq _0808077A - adds r0, r4, 0 - bl DungeonRandomCapped - adds r4, r0, 0 - lsls r4, 2 - mov r0, sp - adds r2, r0, r4 - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0x4] - ldr r0, _08080790 - ldr r1, [r2] - movs r2, 0 - bl sub_80928C0 - add r0, sp, 0x10 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_806A9B4 - movs r1, 0x1 - mov r12, r1 -_0808077A: - mov r0, r12 - cmp r0, 0 - beq _08080798 - ldr r0, _08080794 - ldr r2, [r0] - mov r0, r8 - adds r1, r5, 0 - bl sub_80522F4 - b _080807A4 - .align 2, 0 -_08080790: .4byte gUnknown_202DE58 -_08080794: .4byte gUnknown_80FDA80 -_08080798: - ldr r0, _080807B0 - ldr r2, [r0] - mov r0, r8 - adds r1, r5, 0 - bl sub_80522F4 -_080807A4: - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080807B0: .4byte gUnknown_80FDAA0 - thumb_func_end sub_8080700 - - thumb_func_start sub_80807B4 -sub_80807B4: - push {lr} - movs r2, 0 - bl sub_8079E34 - pop {r0} - bx r0 - thumb_func_end sub_80807B4 - - thumb_func_start sub_80807C0 -sub_80807C0: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r8, r0 - adds r7, r1, 0 - movs r0, 0 - mov r9, r0 - cmp r7, 0 - beq _08080870 - mov r0, r8 - movs r2, 0x1 - bl sub_80716E8 - lsls r0, 24 - cmp r0, 0 - bne _08080870 - ldr r0, [r7, 0x70] - movs r5, 0 - movs r6, 0x1 - movs r1, 0x8C - lsls r1, 1 - adds r2, r0, r1 - adds r3, r2, 0 - mov r12, sp - movs r4, 0x3 -_080807F6: - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _08080816 - ldrb r1, [r2, 0x1] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _08080816 - mov r0, r12 - adds r0, 0x4 - mov r12, r0 - subs r0, 0x4 - stm r0!, {r3} - adds r5, 0x1 -_08080816: - adds r2, 0x8 - adds r3, 0x8 - subs r4, 0x1 - cmp r4, 0 - bge _080807F6 - cmp r5, 0 - beq _08080848 - adds r0, r5, 0 - bl DungeonRandomCapped - lsls r0, 2 - mov r1, sp - adds r3, r1, r0 - ldr r2, [r3] - ldrb r1, [r2, 0x1] - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r0, _0808085C - ldr r1, [r3] - movs r2, 0 - bl sub_80928C0 - movs r0, 0x1 - mov r9, r0 -_08080848: - mov r1, r9 - cmp r1, 0 - beq _08080864 - ldr r0, _08080860 - ldr r2, [r0] - mov r0, r8 - adds r1, r7, 0 - bl sub_80522F4 - b _08080870 - .align 2, 0 -_0808085C: .4byte gUnknown_202DE58 -_08080860: .4byte gUnknown_80FDB04 -_08080864: - ldr r0, _08080880 - ldr r2, [r0] - mov r0, r8 - adds r1, r7, 0 - bl sub_80522F4 -_08080870: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080880: .4byte gUnknown_80FDB2C - thumb_func_end sub_80807C0 - - thumb_func_start sub_8080884 -sub_8080884: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - cmp r4, 0 - beq _0808089E - movs r0, 0x8 - bl DungeonRandomCapped - adds r2, r0, 0 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_807CD9C -_0808089E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8080884 - - thumb_func_start sub_80808A4 -sub_80808A4: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - str r0, [sp, 0x14] - adds r5, r1, 0 - movs r0, 0 - str r0, [sp, 0x20] - ldr r6, _080808D0 - ldr r0, [r6] - ldr r1, _080808D4 - adds r0, r1 - ldrb r4, [r0] - bl IsBossBattle - lsls r0, 24 - cmp r0, 0 - beq _080808DC - ldr r0, _080808D8 - b _08080A2E - .align 2, 0 -_080808D0: .4byte gDungeonGlobalData -_080808D4: .4byte 0x00018209 -_080808D8: .4byte gUnknown_80FED08 -_080808DC: - cmp r4, 0 - bne _080808E2 - movs r4, 0x2 -_080808E2: - movs r2, 0 - ldrsh r0, [r5, r2] - movs r3, 0x2 - ldrsh r1, [r5, r3] - bl GetMapTile_1 - ldrb r1, [r0, 0x9] - cmp r1, 0xFF - bne _0808090A - movs r0, 0 - ldrsh r1, [r5, r0] - subs r2, r1, r4 - str r2, [sp, 0x18] - movs r3, 0x2 - ldrsh r0, [r5, r3] - subs r2, r0, r4 - adds r1, r4 - mov r10, r1 - adds r0, r4 - b _08080934 -_0808090A: - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _08080994 - adds r0, r1 - ldr r1, [r6] - adds r1, r0 - movs r2, 0x2 - ldrsh r0, [r1, r2] - subs r0, 0x1 - str r0, [sp, 0x18] - movs r3, 0x4 - ldrsh r0, [r1, r3] - subs r2, r0, 0x1 - movs r3, 0x6 - ldrsh r0, [r1, r3] - adds r0, 0x1 - mov r10, r0 - movs r3, 0x8 - ldrsh r0, [r1, r3] - adds r0, 0x1 -_08080934: - str r0, [sp, 0x1C] - adds r7, r2, 0 - ldr r0, [sp, 0x1C] - cmp r7, r0 - bgt _08080A26 -_0808093E: - ldr r6, [sp, 0x18] - adds r1, r7, 0x1 - str r1, [sp, 0x24] - cmp r6, r10 - bgt _08080A1E - mov r5, sp -_0808094A: - adds r0, r6, 0 - adds r1, r7, 0 - bl GetMapTile_1 - adds r4, r0, 0 - ldr r0, [r4, 0x14] - adds r2, r6, 0x1 - mov r9, r2 - cmp r0, 0 - beq _08080A18 - bl GetEntityType - cmp r0, 0x3 - bne _08080A18 - ldr r0, [r4, 0x14] - bl GetItemData - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08080A18 - movs r0, 0xBE - lsls r0, 1 - strh r0, [r5] - movs r2, 0 - mov r4, sp -_08080980: - ldr r0, _08080998 - ldr r0, [r0] - ldr r3, _0808099C - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _080809A0 - movs r0, 0xBE - lsls r0, 1 - b _080809AE - .align 2, 0 -_08080994: .4byte 0x000104c4 -_08080998: .4byte gDungeonGlobalData -_0808099C: .4byte 0x0000066e -_080809A0: - movs r0, 0 - str r2, [sp, 0x28] - bl sub_803D970 - lsls r0, 16 - asrs r0, 16 - ldr r2, [sp, 0x28] -_080809AE: - movs r1, 0 - mov r8, r1 - movs r3, 0 - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0 - str r2, [sp, 0x28] - str r3, [sp, 0x2C] - bl sub_806AA0C - lsls r0, 24 - ldr r2, [sp, 0x28] - ldr r3, [sp, 0x2C] - cmp r0, 0 - bne _080809D4 - adds r2, 0x1 - cmp r2, 0x63 - ble _08080980 -_080809D4: - movs r2, 0 - ldrsh r0, [r5, r2] - movs r1, 0 - str r3, [sp, 0x2C] - bl sub_806AA0C - lsls r0, 24 - ldr r3, [sp, 0x2C] - cmp r0, 0 - beq _08080A10 - strh r3, [r5, 0x8] - mov r0, r8 - strb r0, [r5, 0x2] - strh r6, [r5, 0xC] - strh r7, [r5, 0xE] - str r3, [sp, 0x4] - strb r0, [r5, 0x10] - mov r0, sp - movs r1, 0x1 - bl sub_806B7F8 - cmp r0, 0 - beq _08080A10 - add r0, sp, 0xC - movs r1, 0 - bl sub_80461C8 - ldr r1, [sp, 0x20] - adds r1, 0x1 - str r1, [sp, 0x20] -_08080A10: - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_80402AC -_08080A18: - mov r6, r9 - cmp r6, r10 - ble _0808094A -_08080A1E: - ldr r7, [sp, 0x24] - ldr r2, [sp, 0x1C] - cmp r7, r2 - ble _0808093E -_08080A26: - ldr r3, [sp, 0x20] - cmp r3, 0 - beq _08080A3C - ldr r0, _08080A38 -_08080A2E: - ldr r1, [r0] - ldr r0, [sp, 0x14] - bl SendMessage - b _08080A46 - .align 2, 0 -_08080A38: .4byte gUnknown_80FDACC -_08080A3C: - ldr r0, _08080A58 - ldr r1, [r0] - ldr r0, [sp, 0x14] - bl SendMessage -_08080A46: - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080A58: .4byte gUnknown_80FDAE4 - thumb_func_end sub_80808A4 - - thumb_func_start sub_8080A5C -sub_8080A5C: - push {r4-r7,lr} - sub sp, 0xC - adds r7, r0, 0 - adds r4, r1, 0 - cmp r4, 0 - beq _08080AEC - adds r0, r4, 0 - movs r1, 0x6 - movs r2, 0x8 - bl sub_806CDD4 - movs r0, 0x10 - movs r1, 0x55 - bl sub_803E708 - adds r0, r4, 0 - movs r1, 0x8 - bl sub_806CE68 - ldr r5, [r4, 0x70] - adds r2, r5, 0 - adds r2, 0x60 - ldrb r1, [r2] - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _08080AEC - ldr r0, [r5, 0x60] - str r0, [sp, 0x8] - movs r0, 0 - strb r0, [r2] - bl FillInventoryGaps - movs r1, 0xC8 - lsls r1, 1 - adds r0, r4, 0 - bl sub_80421C0 - adds r0, r5, 0 - adds r0, 0x46 - ldrb r0, [r0] - movs r2, 0x7 - ands r2, r0 - ldr r0, _08080AF4 - lsls r2, 2 - adds r2, r0 - ldrh r0, [r2] - ldrh r1, [r4, 0x4] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - ldr r3, _08080AF8 - ldr r1, [sp, 0x4] - ands r1, r3 - orrs r1, r0 - str r1, [sp, 0x4] - ldrh r0, [r2, 0x2] - ldrh r2, [r4, 0x6] - adds r0, r2 - lsls r0, 16 - ldr r2, _08080AFC - ands r1, r2 - orrs r1, r0 - str r1, [sp, 0x4] - adds r1, r4, 0x4 - add r3, sp, 0x8 - str r6, [sp] - adds r0, r7, 0 - add r2, sp, 0x4 - bl sub_804687C -_08080AEC: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080AF4: .4byte gAdjacentTileOffsets -_08080AF8: .4byte 0xffff0000 -_08080AFC: .4byte 0x0000ffff - thumb_func_end sub_8080A5C - - thumb_func_start sub_8080B00 -sub_8080B00: - push {r4,r5,lr} - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, [r0, 0x14] - adds r0, r4, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _08080B2A - adds r0, r4, 0 - bl GetEntityType - cmp r0, 0x2 - bne _08080B26 - adds r0, r4, 0 - bl GetTrapData - strb r5, [r0] -_08080B26: - bl sub_8049ED4 -_08080B2A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8080B00 - - thumb_func_start sub_8080B30 -sub_8080B30: - push {lr} - sub sp, 0x10 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_8082F9C - movs r0, 0 - str r0, [sp, 0xC] - add r1, sp, 0xC - mov r0, sp - movs r2, 0x4 - bl sub_8082FA8 - mov r0, sp - bl sub_8080B90 - mov r0, sp - bl sub_8081454 - mov r0, sp - bl sub_808165C - mov r0, sp - bl sub_808173C - mov r0, sp - bl sub_8080BBC - mov r0, sp - bl sub_8080C44 - mov r0, sp - bl sub_8080CF0 - ldr r1, _08080B8C - mov r0, sp - bl sub_808300C - mov r0, sp - bl nullsub_98 - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_08080B8C: .4byte gUnknown_81071D4 - thumb_func_end sub_8080B30 - - thumb_func_start sub_8080B90 -sub_8080B90: - push {r4,lr} - adds r4, r0, 0 - ldr r1, _08080BB0 - bl sub_808300C - ldr r0, _08080BB4 - ldr r1, [r0] - ldr r0, _08080BB8 - adds r1, r0 - adds r0, r4, 0 - movs r2, 0x58 - bl sub_8082FA8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08080BB0: .4byte gUnknown_81071E0 -_08080BB4: .4byte gDungeonGlobalData -_08080BB8: .4byte 0x00000644 - thumb_func_end sub_8080B90 - - thumb_func_start sub_8080BBC -sub_8080BBC: - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r0, 0 - ldr r1, _08080C38 - movs r2, 0 - add r0, sp, 0x4 -_08080BC8: - strb r2, [r0] - subs r0, 0x1 - cmp r0, sp - bge _08080BC8 - adds r0, r6, 0 - bl sub_808300C - movs r7, 0 -_08080BD8: - ldr r0, _08080C3C - ldr r0, [r0] - lsls r1, r7, 2 - ldr r2, _08080C40 - adds r0, r2 - adds r0, r1 - ldr r4, [r0] - movs r5, 0 - cmp r4, 0 - beq _08080C1A - adds r0, r4, 0 - bl GetEntityType - cmp r0, 0x3 - bne _08080C1A - adds r0, r4, 0 - bl GetItemData - adds r1, r0, 0 - adds r0, r6, 0 - bl sub_8081788 - adds r1, r4, 0x4 - adds r0, r6, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r4, 0x6 - adds r0, r6, 0 - movs r2, 0x1 - bl sub_8082FA8 - movs r5, 0x1 -_08080C1A: - cmp r5, 0 - bne _08080C28 - adds r0, r6, 0 - mov r1, sp - movs r2, 0x5 - bl sub_8082FA8 -_08080C28: - adds r7, 0x1 - cmp r7, 0x3F - ble _08080BD8 - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080C38: .4byte gUnknown_81071E0 -_08080C3C: .4byte gDungeonGlobalData -_08080C40: .4byte 0x0001361c - thumb_func_end sub_8080BBC - - thumb_func_start sub_8080C44 -sub_8080C44: - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r0, 0 - movs r7, 0 - ldr r3, _08080CE4 - movs r2, 0xFF -_08080C50: - mov r0, sp - adds r1, r0, r7 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - adds r7, 0x1 - cmp r7, 0x4 - ble _08080C50 - adds r0, r6, 0 - adds r1, r3, 0 - bl sub_808300C - movs r7, 0 -_08080C6A: - ldr r0, _08080CE8 - ldr r0, [r0] - lsls r1, r7, 2 - ldr r2, _08080CEC - adds r0, r2 - adds r0, r1 - ldr r5, [r0] - movs r4, 0 - cmp r5, 0 - beq _08080CC8 - adds r0, r5, 0 - bl GetEntityType - cmp r0, 0x2 - bne _08080CC8 - adds r0, r5, 0 - bl GetTrapData - adds r4, r0, 0 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r4, 0x1 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r5, 0 - adds r1, 0x20 - adds r0, r6, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r5, 0x4 - adds r0, r6, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r5, 0x6 - adds r0, r6, 0 - movs r2, 0x1 - bl sub_8082FA8 - movs r4, 0x1 -_08080CC8: - cmp r4, 0 - bne _08080CD6 - adds r0, r6, 0 - mov r1, sp - movs r2, 0x5 - bl sub_8082FA8 -_08080CD6: - adds r7, 0x1 - cmp r7, 0x3F - ble _08080C6A - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080CE4: .4byte gUnknown_81071E0 -_08080CE8: .4byte gDungeonGlobalData -_08080CEC: .4byte 0x0001371c - thumb_func_end sub_8080C44 - - thumb_func_start sub_8080CF0 -sub_8080CF0: - push {r4-r6,lr} - adds r6, r0, 0 - ldr r1, _08080DD4 - bl sub_808300C - ldr r4, _08080DD8 - ldr r0, [r4] - ldr r1, _08080DDC - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl sub_8083078 - ldr r0, [r4] - ldr r2, _08080DE0 - adds r0, r2 - ldr r1, [r0] - adds r0, r6, 0 - bl sub_8083078 - ldr r0, [r4] - ldr r1, _08080DE4 - adds r0, r1 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r2, _08080DE8 - adds r0, r2 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _08080DEC - adds r0, r1 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r2, _08080DF0 - adds r0, r2 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _08080DF4 - adds r0, r1 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r2, _08080DF8 - adds r0, r2 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _08080DFC - adds r0, r1 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r2, _08080E00 - adds r0, r2 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_80830B4 - ldr r0, [r4] - movs r1, 0xE0 - lsls r1, 6 - adds r0, r1 - ldrh r1, [r0] - adds r0, r6, 0 - bl sub_8083030 - movs r5, 0 -_08080D9A: - ldr r0, [r4] - lsls r1, r5, 2 - ldr r2, _08080E04 - adds r0, r2 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl sub_8080E0C - adds r5, 0x1 - cmp r5, 0x3 - ble _08080D9A - movs r5, 0 - ldr r4, _08080DD8 -_08080DB6: - ldr r0, [r4] - lsls r1, r5, 2 - ldr r2, _08080E08 - adds r0, r2 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl sub_8080E0C - adds r5, 0x1 - cmp r5, 0xF - ble _08080DB6 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08080DD4: .4byte gUnknown_81071E0 -_08080DD8: .4byte gDungeonGlobalData -_08080DDC: .4byte 0x000037f0 -_08080DE0: .4byte 0x000037f4 -_08080DE4: .4byte 0x000037f8 -_08080DE8: .4byte 0x000037f9 -_08080DEC: .4byte 0x000037fa -_08080DF0: .4byte 0x000037fb -_08080DF4: .4byte 0x000037fc -_08080DF8: .4byte 0x000037fd -_08080DFC: .4byte 0x000037fe -_08080E00: .4byte 0x000037ff -_08080E04: .4byte 0x0001357c -_08080E08: .4byte 0x0001358c - thumb_func_end sub_8080CF0 - - thumb_func_start sub_8080E0C -sub_8080E0C: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, _08080E88 - add sp, r4 - adds r5, r0, 0 - adds r4, r1, 0 - movs r1, 0 - add r0, sp, 0x20C - str r1, [r0] - movs r1, 0x1 - movs r6, 0x82 - lsls r6, 2 - mov r2, sp - adds r0, r2, r6 - str r1, [r0] - adds r0, r5, 0 - movs r1, 0xAA - bl sub_8083060 - adds r0, r5, 0 - movs r1, 0x55 - bl sub_8083060 - adds r0, r4, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _08080E8C - ldr r6, [r4, 0x70] - add r1, sp, 0x208 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r4, 0x4 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r4, 0x6 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r4, 0 - adds r1, 0x20 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r4, 0 - adds r1, 0x26 - adds r0, r5, 0 - movs r2, 0x2 - bl sub_8082FA8 - b _08080ECC - .align 2, 0 -_08080E88: .4byte 0xfffffd6c -_08080E8C: - mov r0, sp - movs r1, 0 - adds r2, r6, 0 - bl memset - mov r6, sp - add r4, sp, 0x20C - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x2 - bl sub_8082FA8 -_08080ECC: - ldrh r1, [r6] - adds r0, r5, 0 - bl sub_8083030 - movs r0, 0x4 - ldrsh r1, [r6, r0] - adds r0, r5, 0 - bl sub_80817F4 - movs r2, 0x2 - ldrsh r1, [r6, r2] - adds r0, r5, 0 - bl sub_80817F4 - ldrb r1, [r6, 0x6] - adds r0, r5, 0 - bl sub_80830B4 - ldrb r1, [r6, 0x7] - adds r0, r5, 0 - bl sub_80830B4 - ldrb r1, [r6, 0x8] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r6, 0x9] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r6, 0xA] - adds r0, r5, 0 - bl sub_8083060 - adds r1, r6, 0 - adds r1, 0x40 - adds r0, r5, 0 - bl sub_80818C8 - movs r0, 0xC - ldrsh r1, [r6, r0] - adds r0, r5, 0 - bl sub_8083048 - movs r2, 0xE - ldrsh r1, [r6, r2] - adds r0, r5, 0 - bl sub_8083048 - movs r0, 0x10 - ldrsh r1, [r6, r0] - adds r0, r5, 0 - bl sub_8083048 - movs r2, 0x12 - ldrsh r1, [r6, r2] - adds r0, r5, 0 - bl sub_8083048 - ldrb r1, [r6, 0x14] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r6, 0x15] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r6, 0x16] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r6, 0x17] - adds r0, r5, 0 - bl sub_8083060 - ldr r1, [r6, 0x18] - adds r0, r5, 0 - bl sub_8083078 - movs r0, 0x1C - ldrsh r1, [r6, r0] - adds r0, r5, 0 - bl sub_8083048 - movs r2, 0x1E - ldrsh r1, [r6, r2] - adds r0, r5, 0 - bl sub_8083048 - movs r0, 0x20 - ldrsh r1, [r6, r0] - adds r0, r5, 0 - bl sub_8083048 - movs r2, 0x22 - ldrsh r1, [r6, r2] - adds r0, r5, 0 - bl sub_8083048 - movs r0, 0x24 - ldrsh r1, [r6, r0] - adds r0, r5, 0 - bl sub_8083048 - movs r2, 0x26 - ldrsh r1, [r6, r2] - adds r0, r5, 0 - bl sub_8083048 - movs r0, 0x28 - ldrsh r1, [r6, r0] - adds r0, r5, 0 - bl sub_8083048 - ldr r1, [r6, 0x2C] - adds r0, r5, 0 - bl sub_80830A0 - ldr r1, [r6, 0x30] - adds r0, r5, 0 - bl sub_80830A0 - ldr r1, [r6, 0x34] - adds r0, r5, 0 - bl sub_80830A0 - ldr r1, [r6, 0x38] - adds r0, r5, 0 - bl sub_80830A0 - adds r1, r6, 0 - adds r1, 0x44 - adds r0, r5, 0 - bl sub_80817C8 - adds r0, r6, 0 - adds r0, 0x5C - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_808180C - adds r0, r6, 0 - adds r0, 0x5D - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_808180C - adds r0, r6, 0 - adds r0, 0x5E - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8081824 - adds r0, r6, 0 - adds r0, 0x5F - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8081824 - adds r1, r6, 0 - adds r1, 0x60 - adds r0, r5, 0 - bl sub_8081788 - adds r0, r6, 0 - adds r0, 0x64 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80817B0 - movs r1, 0x78 - adds r1, r6 - mov r8, r1 - movs r2, 0x8C - adds r2, r6 - mov r9, r2 - movs r0, 0x90 - adds r0, r6 - mov r10, r0 - adds r1, r6, 0 - adds r1, 0x94 - str r1, [sp, 0x214] - adds r2, r6, 0 - adds r2, 0x3C - str r2, [sp, 0x210] - adds r0, r6, 0 - adds r0, 0x98 - str r0, [sp, 0x218] - adds r1, 0x8 - str r1, [sp, 0x21C] - adds r2, 0x64 - str r2, [sp, 0x220] - adds r0, 0x10 - str r0, [sp, 0x228] - adds r1, 0x10 - str r1, [sp, 0x22C] - adds r2, 0x10 - str r2, [sp, 0x230] - adds r0, 0x14 - str r0, [sp, 0x234] - adds r1, 0x14 - str r1, [sp, 0x238] - adds r2, 0x14 - str r2, [sp, 0x23C] - adds r0, 0xC - str r0, [sp, 0x240] - adds r1, 0x10 - str r1, [sp, 0x244] - adds r2, 0x18 - str r2, [sp, 0x248] - adds r0, 0x18 - str r0, [sp, 0x24C] - adds r1, 0x14 - str r1, [sp, 0x250] - adds r2, 0xC - str r2, [sp, 0x254] - adds r0, 0xC - str r0, [sp, 0x258] - adds r1, 0xC - str r1, [sp, 0x25C] - adds r2, 0x9 - str r2, [sp, 0x260] - adds r0, 0x6 - str r0, [sp, 0x264] - adds r1, 0x3 - str r1, [sp, 0x268] - adds r2, 0x3 - str r2, [sp, 0x26C] - adds r0, 0x9 - str r0, [sp, 0x280] - adds r1, 0x2 - str r1, [sp, 0x270] - adds r2, 0x2 - str r2, [sp, 0x274] - subs r0, 0x4 - str r0, [sp, 0x278] - adds r1, 0x5 - str r1, [sp, 0x27C] - adds r2, 0x6 - str r2, [sp, 0x284] - adds r0, 0x6 - str r0, [sp, 0x288] - adds r1, 0x4 - str r1, [sp, 0x28C] - adds r2, 0x3 - str r2, [sp, 0x290] - subs r0, 0x59 - str r0, [sp, 0x224] - adds r4, r6, 0 - adds r4, 0x68 - movs r7, 0x3 -_080810C2: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80830D8 - adds r4, 0x4 - subs r7, 0x1 - cmp r7, 0 - bge _080810C2 - adds r0, r5, 0 - mov r1, r8 - bl sub_80818E4 - adds r0, r5, 0 - mov r1, r9 - bl sub_8081B54 - adds r0, r5, 0 - mov r1, r10 - bl sub_8081B54 - ldr r2, [sp, 0x214] - ldrb r1, [r2] - adds r0, r5, 0 - bl sub_8081880 - adds r0, r5, 0 - ldr r1, [sp, 0x210] - bl sub_8081898 - ldr r0, [sp, 0x218] - ldr r1, [r0] - adds r0, r5, 0 - bl sub_8083078 - ldr r2, [sp, 0x21C] - ldr r1, [r2] - adds r0, r5, 0 - bl sub_8083078 - ldr r0, [sp, 0x220] - ldr r1, [r0] - adds r0, r5, 0 - bl sub_8083078 - adds r0, r5, 0 - ldr r1, [sp, 0x228] - bl sub_8081920 - adds r0, r5, 0 - ldr r1, [sp, 0x22C] - bl sub_808193C - adds r0, r5, 0 - ldr r1, [sp, 0x230] - bl sub_8081968 - adds r0, r5, 0 - ldr r1, [sp, 0x234] - bl sub_8081994 - adds r0, r5, 0 - ldr r1, [sp, 0x238] - bl sub_80819B0 - adds r0, r5, 0 - ldr r1, [sp, 0x23C] - bl sub_80819D4 - adds r0, r5, 0 - ldr r1, [sp, 0x240] - bl sub_80819F0 - adds r0, r5, 0 - ldr r1, [sp, 0x244] - bl sub_8081A24 - adds r0, r5, 0 - ldr r1, [sp, 0x248] - bl sub_8081A58 - adds r0, r5, 0 - ldr r1, [sp, 0x24C] - bl sub_8081A74 - adds r0, r5, 0 - ldr r1, [sp, 0x250] - bl sub_8081A80 - adds r0, r5, 0 - ldr r1, [sp, 0x254] - bl sub_8081A9C - adds r0, r5, 0 - ldr r1, [sp, 0x258] - bl sub_8081AB8 - ldr r2, [sp, 0x25C] - ldrb r1, [r2] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [sp, 0x260] - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r2, [sp, 0x264] - ldrb r1, [r2] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [sp, 0x268] - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r2, [sp, 0x26C] - ldrb r1, [r2] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [sp, 0x280] - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - ldr r2, [sp, 0x270] - ldrb r1, [r2] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [sp, 0x274] - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r2, [sp, 0x278] - ldrb r1, [r2] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [sp, 0x27C] - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - ldr r2, [sp, 0x284] - ldrb r1, [r2] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [sp, 0x288] - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - ldr r2, [sp, 0x28C] - ldrb r1, [r2] - adds r0, r5, 0 - bl sub_8083060 - ldr r0, [sp, 0x290] - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_808183C - movs r1, 0x80 - lsls r1, 1 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8081854 - movs r2, 0x82 - lsls r2, 1 - adds r0, r6, r2 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_808186C - movs r0, 0x84 - lsls r0, 1 - adds r1, r6, r0 - adds r0, r5, 0 - movs r2, 0x5 - bl sub_808314C - ldr r2, _08081428 - adds r1, r6, r2 - adds r0, r5, 0 - movs r2, 0x5 - bl sub_808314C - movs r1, 0x89 - lsls r1, 1 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - ldr r2, _0808142C - adds r0, r6, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - movs r1, 0x8A - lsls r1, 1 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - movs r2, 0x8C - lsls r2, 1 - adds r1, r6, r2 - adds r0, r5, 0 - bl sub_8081B08 - movs r0, 0x9E - lsls r0, 1 - adds r1, r6, r0 - adds r0, r5, 0 - bl sub_8081B34 - movs r2, 0xA0 - lsls r2, 1 - adds r1, r6, r2 - adds r0, r5, 0 - bl sub_8081B34 - movs r1, 0xA2 - lsls r1, 1 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r2, _08081430 - adds r0, r6, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r1, _08081434 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - movs r2, 0xA3 - lsls r2, 1 - adds r0, r6, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r2, _08081438 - adds r0, r6, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - movs r1, 0xA5 - lsls r1, 1 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r2, _0808143C - adds r0, r6, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - movs r1, 0xA6 - lsls r1, 1 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - movs r2, 0xA7 - lsls r2, 1 - adds r0, r6, r2 - ldrh r1, [r0] - adds r0, r5, 0 - bl sub_8083030 - movs r1, 0xA8 - lsls r1, 1 - adds r0, r6, r1 - ldrh r1, [r0] - adds r0, r5, 0 - bl sub_8083030 - movs r2, 0xA9 - lsls r2, 1 - adds r0, r6, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r1, _08081440 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - movs r2, 0xAA - lsls r2, 1 - adds r0, r6, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r1, _08081444 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - movs r2, 0xAB - lsls r2, 1 - adds r0, r6, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - movs r1, 0xB2 - lsls r1, 1 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - ldr r2, _08081448 - adds r0, r6, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - movs r1, 0xB3 - lsls r1, 1 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - ldr r2, _0808144C - adds r0, r6, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - movs r1, 0xB4 - lsls r1, 1 - adds r0, r6, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - ldr r2, _08081450 - adds r0, r6, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - movs r0, 0xB6 - lsls r0, 1 - adds r1, r6, r0 - adds r0, r5, 0 - bl sub_80830D8 - movs r1, 0xBA - lsls r1, 1 - adds r0, r6, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_80830A0 - movs r2, 0xBC - lsls r2, 1 - adds r0, r6, r2 - ldrh r1, [r0] - adds r0, r5, 0 - bl sub_8083030 - movs r1, 0xFC - lsls r1, 1 - adds r0, r6, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r5, 0 - bl sub_8083048 - movs r1, 0xFD - lsls r1, 1 - adds r0, r6, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r5, 0 - bl sub_8083048 - movs r1, 0xFE - lsls r1, 1 - adds r0, r6, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_8083078 - ldr r2, [sp, 0x224] - ldrb r1, [r2] - adds r0, r5, 0 - bl sub_80818B8 - movs r3, 0xA5 - 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 -_08081428: .4byte 0x0000010d -_0808142C: .4byte 0x00000113 -_08081430: .4byte 0x00000145 -_08081434: .4byte 0x00000147 -_08081438: .4byte 0x00000149 -_0808143C: .4byte 0x0000014b -_08081440: .4byte 0x00000153 -_08081444: .4byte 0x00000155 -_08081448: .4byte 0x00000165 -_0808144C: .4byte 0x00000167 -_08081450: .4byte 0x00000169 - thumb_func_end sub_8080E0C - - thumb_func_start sub_8081454 -sub_8081454: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - ldr r1, _08081600 - bl sub_808300C - ldr r4, _08081604 - ldr r0, [r4] - ldr r1, _08081608 - adds r0, r1 - ldrb r1, [r0] - adds r0, r7, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r2, _0808160C - adds r0, r2 - ldrb r1, [r0] - adds r0, r7, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _08081610 - adds r0, r1 - ldrb r1, [r0] - adds r0, r7, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r2, _08081614 - adds r0, r2 - ldrb r1, [r0] - adds r0, r7, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _08081618 - adds r0, r1 - ldrb r1, [r0] - adds r0, r7, 0 - bl sub_8083060 - ldr r0, [r4] - ldr r2, _0808161C - adds r0, r2 - ldrb r1, [r0] - adds r0, r7, 0 - bl sub_8083060 - ldr r0, [r4] - ldr r1, _08081620 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r7, 0 - bl sub_8083048 - ldr r0, [r4] - ldr r1, _08081624 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r7, 0 - bl sub_8083048 - ldr r0, [r4] - ldr r1, _08081628 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r7, 0 - bl sub_8083048 - ldr r0, [r4] - ldr r1, _0808162C - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r7, 0 - bl sub_8083048 - ldr r0, [r4] - ldr r1, _08081630 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r7, 0 - bl sub_8083048 - movs r1, 0 - mov r9, r4 -_08081510: - lsls r0, r1, 2 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 2 - adds r0, r1 - lsls r0, 6 - ldr r1, _08081634 - adds r6, r0, r1 - movs r5, 0 - movs r4, 0x37 -_08081526: - mov r2, r9 - ldr r1, [r2] - adds r1, r6 - adds r1, r5 - adds r0, r7, 0 - bl sub_8081B60 - adds r5, 0x18 - subs r4, 0x1 - cmp r4, 0 - bge _08081526 - mov r1, r8 - cmp r1, 0x1F - ble _08081510 - ldr r4, _08081604 - ldr r1, [r4] - ldr r0, _08081638 - adds r1, r0 - adds r0, r7, 0 - bl sub_80830D8 - ldr r1, [r4] - ldr r2, _0808163C - adds r1, r2 - adds r0, r7, 0 - bl sub_80830D8 - ldr r6, _08081640 - movs r5, 0x7 -_08081560: - ldr r1, [r4] - adds r1, r6 - adds r0, r7, 0 - bl sub_80830D8 - adds r6, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _08081560 - ldr r4, _08081604 - ldr r1, [r4] - ldr r0, _08081644 - adds r1, r0 - adds r0, r7, 0 - bl sub_80830F8 - ldr r1, [r4] - ldr r2, _08081648 - adds r1, r2 - adds r0, r7, 0 - bl sub_80830F8 - ldr r1, [r4] - ldr r0, _0808164C - adds r1, r0 - adds r0, r7, 0 - bl sub_808312C - movs r1, 0 - mov r10, r4 -_0808159C: - movs r4, 0 - adds r2, r1, 0x1 - mov r8, r2 - lsls r0, r1, 1 - lsls r2, r1, 3 - mov r9, r2 - adds r0, r1 - lsls r0, 6 - ldr r1, _08081650 - adds r6, r0, r1 - movs r5, 0 -_080815B2: - mov r2, r10 - ldr r1, [r2] - adds r1, r6 - adds r1, r5 - adds r0, r7, 0 - bl sub_8081B60 - mov r1, r10 - ldr r0, [r1] - mov r2, r9 - adds r1, r4, r2 - ldr r2, _08081654 - adds r0, r2 - adds r0, r1 - ldrb r1, [r0] - adds r0, r7, 0 - bl sub_8083060 - adds r5, 0x18 - adds r4, 0x1 - cmp r4, 0x7 - ble _080815B2 - mov r1, r8 - cmp r1, 0x7 - ble _0808159C - ldr r0, _08081604 - ldr r1, [r0] - ldr r0, _08081658 - adds r1, r0 - adds r0, r7, 0 - bl sub_8081B94 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08081600: .4byte gUnknown_81071E0 -_08081604: .4byte gDungeonGlobalData -_08081608: .4byte 0x00003a08 -_0808160C: .4byte 0x00003a09 -_08081610: .4byte 0x00003a0a -_08081614: .4byte 0x00003a0b -_08081618: .4byte 0x00003a0c -_0808161C: .4byte 0x00003a0d -_08081620: .4byte 0x00003a0e -_08081624: .4byte 0x00003a10 -_08081628: .4byte 0x00003a12 -_0808162C: .4byte 0x00003a14 -_08081630: .4byte 0x00003a16 -_08081634: .4byte 0x00003a18 -_08081638: .4byte 0x0000e218 -_0808163C: .4byte 0x0000e21c -_08081640: .4byte 0x0000e220 -_08081644: .4byte 0x0000e240 -_08081648: .4byte 0x0000e250 -_0808164C: .4byte 0x0000e260 -_08081650: .4byte 0x0000e27c -_08081654: .4byte 0x0000e87c -_08081658: .4byte 0x0000e264 - thumb_func_end sub_8081454 - - thumb_func_start sub_808165C -sub_808165C: - push {r4,r5,lr} - adds r5, r0, 0 - ldr r1, _08081708 - bl sub_808300C - ldr r4, _0808170C - ldr r0, [r4] - ldr r1, _08081710 - adds r0, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - ldr r0, [r4] - ldr r1, _08081714 - adds r0, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8083060 - ldr r0, [r4] - ldr r1, _08081718 - adds r0, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _0808171C - adds r0, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _08081720 - adds r0, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _08081724 - adds r0, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _08081728 - adds r0, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _0808172C - adds r0, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _08081730 - adds r0, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _08081734 - adds r0, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - ldr r0, [r4] - ldr r1, _08081738 - adds r0, r1 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80830B4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081708: .4byte gUnknown_81071E0 -_0808170C: .4byte gDungeonGlobalData -_08081710: .4byte 0x00018208 -_08081714: .4byte 0x00018209 -_08081718: .4byte 0x0001820a -_0808171C: .4byte 0x0001820b -_08081720: .4byte 0x0001820c -_08081724: .4byte 0x0001820d -_08081728: .4byte 0x0001820e -_0808172C: .4byte 0x0001820f -_08081730: .4byte 0x00018210 -_08081734: .4byte 0x00018211 -_08081738: .4byte 0x00018213 - thumb_func_end sub_808165C - - thumb_func_start sub_808173C -sub_808173C: - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _08081778 - ldr r0, [r4] - ldr r1, _0808177C - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r5, 0 - bl sub_8083048 - ldr r0, [r4] - ldr r1, _08081780 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r5, 0 - bl sub_8083048 - ldr r0, [r4] - ldr r1, _08081784 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r5, 0 - bl sub_8083048 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081778: .4byte gDungeonGlobalData -_0808177C: .4byte 0x0001ced6 -_08081780: .4byte 0x0001ced8 -_08081784: .4byte 0x0001ceda - thumb_func_end sub_808173C - - thumb_func_start sub_8081788 -sub_8081788: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r5, 0x1 - adds r0, r4, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_8082FA8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081788 - - thumb_func_start sub_80817B0 -sub_80817B0: - push {lr} - sub sp, 0x4 - mov r2, sp - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80817B0 - - thumb_func_start sub_80817C8 -sub_80817C8: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r1, r4, 0x2 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r4, 0 - adds r1, 0x14 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r4, 0x16 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FA8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80817C8 - - thumb_func_start sub_80817F4 -sub_80817F4: - push {lr} - sub sp, 0x4 - mov r2, sp - strh r1, [r2] - mov r1, sp - movs r2, 0x2 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80817F4 - - thumb_func_start sub_808180C -sub_808180C: - push {lr} - sub sp, 0x4 - mov r2, sp - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_808180C - - thumb_func_start sub_8081824 -sub_8081824: - push {lr} - sub sp, 0x4 - mov r2, sp - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8081824 - - thumb_func_start sub_808183C -sub_808183C: - push {lr} - sub sp, 0x4 - mov r2, sp - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_808183C - - thumb_func_start sub_8081854 -sub_8081854: - push {lr} - sub sp, 0x4 - mov r2, sp - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8081854 - - thumb_func_start sub_808186C -sub_808186C: - push {lr} - sub sp, 0x4 - str r1, [sp] - mov r1, sp - movs r2, 0x4 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_808186C - - thumb_func_start sub_8081880 -sub_8081880: - push {lr} - sub sp, 0x4 - mov r2, sp - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8081880 - - thumb_func_start sub_8081898 -sub_8081898: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_8083048 - ldrb r1, [r4, 0x2] - adds r0, r5, 0 - bl sub_808180C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081898 - - thumb_func_start sub_80818B8 -sub_80818B8: - push {lr} - lsls r1, 24 - lsrs r1, 24 - bl sub_8083060 - pop {r0} - bx r0 - thumb_func_end sub_80818B8 - - thumb_func_start sub_80818C8 -sub_80818C8: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r1, [r4] - bl sub_8083060 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80818C8 - - thumb_func_start sub_80818E4 -sub_80818E4: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_80830B4 - ldrb r1, [r4, 0x2] - adds r0, r5, 0 - bl sub_80830B4 - ldrb r1, [r4, 0x3] - adds r0, r5, 0 - bl sub_80830B4 - ldrh r1, [r4, 0x4] - adds r0, r5, 0 - bl sub_8083030 - adds r4, 0x10 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80830D8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80818E4 - - thumb_func_start sub_8081920 -sub_8081920: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081920 - - thumb_func_start sub_808193C -sub_808193C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r4, 0x2] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r4, 0x3] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808193C - - thumb_func_start sub_8081968 -sub_8081968: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldrb r1, [r4, 0x8] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r4, 0x9] - adds r0, r5, 0 - bl sub_8083060 - ldr r1, [r4, 0x4] - adds r0, r5, 0 - bl sub_8083078 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081968 - - thumb_func_start sub_8081994 -sub_8081994: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081994 - - thumb_func_start sub_80819B0 -sub_80819B0: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r4, 0x2] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80819B0 - - thumb_func_start sub_80819D4 -sub_80819D4: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80819D4 - - thumb_func_start sub_80819F0 -sub_80819F0: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_80830B4 - ldrb r1, [r4, 0x2] - adds r0, r5, 0 - bl sub_80830B4 - ldrb r1, [r4, 0x3] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r4, 0x4] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80819F0 - - thumb_func_start sub_8081A24 -sub_8081A24: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldr r1, [r4, 0x4] - adds r0, r5, 0 - bl sub_8083078 - ldrb r1, [r4, 0x8] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r4, 0x9] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r4, 0xA] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081A24 - - thumb_func_start sub_8081A58 -sub_8081A58: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081A58 - - thumb_func_start sub_8081A74 -sub_8081A74: - push {lr} - movs r2, 0x1 - bl sub_8082FA8 - pop {r0} - bx r0 - thumb_func_end sub_8081A74 - - thumb_func_start sub_8081A80 -sub_8081A80: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081A80 - - thumb_func_start sub_8081A9C -sub_8081A9C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081A9C - - thumb_func_start sub_8081AB8 -sub_8081AB8: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081AB8 - - thumb_func_start sub_8081AD4 -sub_8081AD4: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r1, [r4] - bl sub_8083060 - ldrb r1, [r4, 0x1] - adds r0, r5, 0 - bl sub_8083060 - adds r1, r4, 0x2 - adds r0, r5, 0 - movs r2, 0x2 - bl sub_8082FA8 - ldrb r1, [r4, 0x4] - adds r0, r5, 0 - bl sub_8083060 - ldrb r1, [r4, 0x5] - adds r0, r5, 0 - bl sub_8083060 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081AD4 - - thumb_func_start sub_8081B08 -sub_8081B08: - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - adds r4, r7, 0 - movs r5, 0x3 -_08081B12: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8081AD4 - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _08081B12 - adds r0, r7, 0 - adds r0, 0x20 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_8083060 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8081B08 - - thumb_func_start sub_8081B34 -sub_8081B34: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_8083048 - movs r0, 0x2 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_8083048 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081B34 - - thumb_func_start sub_8081B54 -sub_8081B54: - push {lr} - movs r2, 0x3 - bl sub_8082FA8 - pop {r0} - bx r0 - thumb_func_end sub_8081B54 - - thumb_func_start sub_8081B60 -sub_8081B60: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrh r1, [r4] - bl sub_8083030 - ldrh r1, [r4, 0x4] - adds r0, r5, 0 - bl sub_8083030 - adds r1, r4, 0 - adds r1, 0x9 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r4, 0xE - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FA8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8081B60 - - thumb_func_start sub_8081B94 -sub_8081B94: - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r5, 0x1 - adds r0, r6, 0 - movs r2, 0x1 - bl sub_8082FA8 - movs r4, 0 -_08081BAC: - adds r0, r5, 0x3 - adds r0, r4 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_8083060 - adds r0, r5, 0 - adds r0, 0xB - adds r0, r4 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_8083060 - adds r4, 0x1 - cmp r4, 0x7 - ble _08081BAC - ldrb r1, [r5, 0x2] - adds r0, r6, 0 - bl sub_8083060 - ldrb r1, [r5, 0x13] - adds r0, r6, 0 - bl sub_8083060 - ldrb r1, [r5, 0x14] - adds r0, r6, 0 - bl sub_8083060 - ldrb r1, [r5, 0x15] - adds r0, r6, 0 - bl sub_80830B4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8081B94 - - thumb_func_start sub_8081BF4 -sub_8081BF4: - push {lr} - sub sp, 0x10 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_8082FD4 - add r1, sp, 0xC - mov r0, sp - movs r2, 0x4 - bl sub_8082FE0 - mov r0, sp - bl sub_8081C50 - mov r0, sp - bl sub_8081C7C - mov r0, sp - bl sub_8081F2C - mov r0, sp - bl sub_808201C - mov r0, sp - bl sub_8082060 - mov r0, sp - bl sub_80820D8 - mov r0, sp - bl sub_808217C - ldr r1, _08081C4C - mov r0, sp - bl sub_8083018 - mov r0, sp - bl nullsub_98 - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_08081C4C: .4byte gUnknown_81071D4 - thumb_func_end sub_8081BF4 - - thumb_func_start sub_8081C50 -sub_8081C50: - push {r4,lr} - adds r4, r0, 0 - ldr r1, _08081C70 - bl sub_8083018 - ldr r0, _08081C74 - ldr r1, [r0] - ldr r0, _08081C78 - adds r1, r0 - adds r0, r4, 0 - movs r2, 0x58 - bl sub_8082FE0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081C70: .4byte gUnknown_81071E0 -_08081C74: .4byte gDungeonGlobalData -_08081C78: .4byte 0x00000644 - thumb_func_end sub_8081C50 - - thumb_func_start sub_8081C7C -sub_8081C7C: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - ldr r1, _08081E20 - bl sub_8083018 - adds r0, r7, 0 - bl sub_80831DC - ldr r4, _08081E24 - ldr r1, [r4] - ldr r2, _08081E28 - adds r1, r2 - strb r0, [r1] - adds r0, r7, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r3, _08081E2C - adds r1, r3 - strb r0, [r1] - adds r0, r7, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08081E30 - adds r1, r2 - strb r0, [r1] - adds r0, r7, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r3, _08081E34 - adds r1, r3 - strb r0, [r1] - adds r0, r7, 0 - bl sub_8083188 - ldr r1, [r4] - ldr r2, _08081E38 - adds r1, r2 - strb r0, [r1] - adds r0, r7, 0 - bl sub_8083188 - ldr r1, [r4] - ldr r3, _08081E3C - adds r1, r3 - strb r0, [r1] - adds r0, r7, 0 - bl sub_8083170 - ldr r1, [r4] - ldr r2, _08081E40 - adds r1, r2 - strh r0, [r1] - adds r0, r7, 0 - bl sub_8083170 - ldr r1, [r4] - ldr r3, _08081E44 - adds r1, r3 - strh r0, [r1] - adds r0, r7, 0 - bl sub_8083170 - ldr r1, [r4] - ldr r2, _08081E48 - adds r1, r2 - strh r0, [r1] - adds r0, r7, 0 - bl sub_8083170 - ldr r1, [r4] - ldr r3, _08081E4C - adds r1, r3 - strh r0, [r1] - adds r0, r7, 0 - bl sub_8083170 - ldr r1, [r4] - ldr r2, _08081E50 - adds r1, r2 - strh r0, [r1] - movs r1, 0 - mov r9, r4 -_08081D2E: - lsls r0, r1, 2 - adds r3, r1, 0x1 - mov r8, r3 - adds r0, r1 - lsls r0, 2 - adds r0, r1 - lsls r0, 6 - ldr r1, _08081E54 - adds r6, r0, r1 - movs r5, 0 - movs r4, 0x37 -_08081D44: - mov r2, r9 - ldr r1, [r2] - adds r1, r6 - adds r1, r5 - adds r0, r7, 0 - bl sub_8081E7C - adds r5, 0x18 - subs r4, 0x1 - cmp r4, 0 - bge _08081D44 - mov r1, r8 - cmp r1, 0x1F - ble _08081D2E - ldr r4, _08081E24 - ldr r1, [r4] - ldr r3, _08081E58 - adds r1, r3 - adds r0, r7, 0 - bl sub_80831F8 - ldr r1, [r4] - ldr r0, _08081E5C - adds r1, r0 - adds r0, r7, 0 - bl sub_80831F8 - ldr r6, _08081E60 - movs r5, 0x7 -_08081D7E: - ldr r1, [r4] - adds r1, r6 - adds r0, r7, 0 - bl sub_80831F8 - adds r6, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _08081D7E - ldr r4, _08081E24 - ldr r1, [r4] - ldr r2, _08081E64 - adds r1, r2 - adds r0, r7, 0 - bl sub_8083220 - ldr r1, [r4] - ldr r3, _08081E68 - adds r1, r3 - adds r0, r7, 0 - bl sub_8083220 - ldr r1, [r4] - ldr r0, _08081E6C - adds r1, r0 - adds r0, r7, 0 - bl sub_8083260 - movs r1, 0 - mov r10, r4 -_08081DBA: - movs r4, 0 - adds r2, r1, 0x1 - mov r8, r2 - lsls r0, r1, 1 - lsls r3, r1, 3 - mov r9, r3 - adds r0, r1 - lsls r0, 6 - ldr r1, _08081E70 - adds r6, r0, r1 - movs r5, 0 -_08081DD0: - mov r2, r10 - ldr r1, [r2] - adds r1, r6 - adds r1, r5 - adds r0, r7, 0 - bl sub_8081E7C - adds r0, r7, 0 - bl sub_8083188 - mov r3, r10 - ldr r1, [r3] - mov r3, r9 - adds r2, r4, r3 - ldr r3, _08081E74 - adds r1, r3 - adds r1, r2 - strb r0, [r1] - adds r5, 0x18 - adds r4, 0x1 - cmp r4, 0x7 - ble _08081DD0 - mov r1, r8 - cmp r1, 0x7 - ble _08081DBA - ldr r0, _08081E24 - ldr r1, [r0] - ldr r0, _08081E78 - adds r1, r0 - adds r0, r7, 0 - bl sub_8081EC0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08081E20: .4byte gUnknown_81071E0 -_08081E24: .4byte gDungeonGlobalData -_08081E28: .4byte 0x00003a08 -_08081E2C: .4byte 0x00003a09 -_08081E30: .4byte 0x00003a0a -_08081E34: .4byte 0x00003a0b -_08081E38: .4byte 0x00003a0c -_08081E3C: .4byte 0x00003a0d -_08081E40: .4byte 0x00003a0e -_08081E44: .4byte 0x00003a10 -_08081E48: .4byte 0x00003a12 -_08081E4C: .4byte 0x00003a14 -_08081E50: .4byte 0x00003a16 -_08081E54: .4byte 0x00003a18 -_08081E58: .4byte 0x0000e218 -_08081E5C: .4byte 0x0000e21c -_08081E60: .4byte 0x0000e220 -_08081E64: .4byte 0x0000e240 -_08081E68: .4byte 0x0000e250 -_08081E6C: .4byte 0x0000e260 -_08081E70: .4byte 0x0000e27c -_08081E74: .4byte 0x0000e87c -_08081E78: .4byte 0x0000e264 - thumb_func_end sub_8081C7C - - thumb_func_start sub_8081E7C -sub_8081E7C: - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x18 - bl memset - adds r0, r5, 0 - bl sub_8083158 - movs r6, 0 - strh r0, [r4] - adds r0, r5, 0 - bl sub_8083158 - strh r0, [r4, 0x4] - adds r1, r4, 0 - adds r1, 0x9 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r1, r4, 0 - adds r1, 0xE - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FE0 - str r6, [r4, 0x10] - str r6, [r4, 0x14] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8081E7C - - thumb_func_start sub_8081EC0 -sub_8081EC0: - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x18 - bl memset - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r1, r5, 0x1 - adds r0, r6, 0 - movs r2, 0x1 - bl sub_8082FE0 - movs r4, 0 -_08081EE6: - adds r0, r6, 0 - bl sub_8083188 - adds r1, r5, 0x3 - adds r1, r4 - strb r0, [r1] - adds r0, r6, 0 - bl sub_8083188 - adds r1, r5, 0 - adds r1, 0xB - adds r1, r4 - strb r0, [r1] - adds r4, 0x1 - cmp r4, 0x7 - ble _08081EE6 - adds r0, r6, 0 - bl sub_8083188 - strb r0, [r5, 0x2] - adds r0, r6, 0 - bl sub_8083188 - strb r0, [r5, 0x13] - adds r0, r6, 0 - bl sub_8083188 - strb r0, [r5, 0x14] - adds r0, r6, 0 - bl sub_80831DC - strb r0, [r5, 0x15] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8081EC0 - - thumb_func_start sub_8081F2C -sub_8081F2C: - push {r4,r5,lr} - adds r5, r0, 0 - ldr r1, _08081FE4 - bl sub_8083018 - ldr r4, _08081FE8 - ldr r0, [r4] - ldr r1, _08081FEC - adds r0, r1 - movs r1, 0 - str r1, [r0] - adds r0, r5, 0 - bl sub_8083188 - ldr r1, [r4] - ldr r2, _08081FF0 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_8083188 - ldr r1, [r4] - ldr r2, _08081FF4 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08081FF8 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08081FFC - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08082000 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08082004 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08082008 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _0808200C - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08082010 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08082014 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08082018 - adds r1, r2 - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081FE4: .4byte gUnknown_81071E0 -_08081FE8: .4byte gDungeonGlobalData -_08081FEC: .4byte 0x000181f8 -_08081FF0: .4byte 0x00018208 -_08081FF4: .4byte 0x00018209 -_08081FF8: .4byte 0x0001820a -_08081FFC: .4byte 0x0001820b -_08082000: .4byte 0x0001820c -_08082004: .4byte 0x0001820d -_08082008: .4byte 0x0001820e -_0808200C: .4byte 0x0001820f -_08082010: .4byte 0x00018210 -_08082014: .4byte 0x00018211 -_08082018: .4byte 0x00018213 - thumb_func_end sub_8081F2C - - thumb_func_start sub_808201C -sub_808201C: - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8083170 - ldr r4, _08082050 - ldr r1, [r4] - ldr r2, _08082054 - adds r1, r2 - strh r0, [r1] - adds r0, r5, 0 - bl sub_8083170 - ldr r1, [r4] - ldr r2, _08082058 - adds r1, r2 - strh r0, [r1] - adds r0, r5, 0 - bl sub_8083170 - ldr r1, [r4] - ldr r2, _0808205C - adds r1, r2 - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08082050: .4byte gDungeonGlobalData -_08082054: .4byte 0x0001ced6 -_08082058: .4byte 0x0001ced8 -_0808205C: .4byte 0x0001ceda - thumb_func_end sub_808201C - - thumb_func_start sub_8082060 -sub_8082060: - push {r4-r7,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r1, _080820A4 - bl sub_8083018 - add r4, sp, 0x4 - mov r7, sp - movs r6, 0x3F -_08082072: - adds r0, r5, 0 - mov r1, sp - bl sub_80820A8 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80831F8 - ldrb r1, [r7] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08082096 - adds r0, r4, 0 - mov r1, sp - movs r2, 0 - bl sub_80460F8 -_08082096: - subs r6, 0x1 - cmp r6, 0 - bge _08082072 - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080820A4: .4byte gUnknown_81071E0 - thumb_func_end sub_8082060 - - thumb_func_start sub_80820A8 -sub_80820A8: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0 - str r0, [r4] - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r1, r4, 0x1 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r4, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FE0 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80820A8 - - thumb_func_start sub_80820D8 -sub_80820D8: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r0, 0 - ldr r1, _08082178 - bl sub_8083018 - movs r0, 0x1 - add r0, sp - mov r9, r0 - add r1, sp, 0x4 - mov r8, r1 - mov r7, sp - movs r2, 0x3F - mov r10, r2 -_080820FC: - movs r0, 0x6 - strb r0, [r7] - movs r0, 0 - mov r3, sp - strb r0, [r3, 0x1] - adds r0, r5, 0 - mov r1, sp - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r5, 0 - mov r1, sp - adds r1, 0x1 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r5, 0 - bl sub_80831DC - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0 - add r1, sp, 0x4 - bl sub_80831F8 - ldrb r0, [r7] - cmp r0, 0xFF - beq _0808215C - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - mov r3, sp - movs r2, 0x6 - ldrsh r1, [r3, r2] - bl GetMapTile_2 - adds r4, r0, 0 - ldrb r0, [r7] - mov r3, r9 - ldrb r2, [r3] - mov r1, r8 - bl sub_8045684 - cmp r0, 0 - beq _0808215C - str r0, [r4, 0x14] - adds r0, 0x20 - strb r6, [r0] -_0808215C: - movs r0, 0x1 - negs r0, r0 - add r10, r0 - mov r1, r10 - cmp r1, 0 - bge _080820FC - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08082178: .4byte gUnknown_81071E0 - thumb_func_end sub_80820D8 - - thumb_func_start sub_808217C -sub_808217C: - push {r4,r5,lr} - adds r5, r0, 0 - ldr r1, _08082250 - bl sub_8083018 - adds r0, r5, 0 - bl sub_80831A0 - ldr r4, _08082254 - ldr r1, [r4] - ldr r2, _08082258 - adds r1, r2 - str r0, [r1] - adds r0, r5, 0 - bl sub_80831A0 - ldr r1, [r4] - ldr r2, _0808225C - adds r1, r2 - str r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08082260 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08082264 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08082268 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _0808226C - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08082270 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08082274 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _08082278 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [r4] - ldr r2, _0808227C - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - bl sub_8083158 - ldr r1, [r4] - movs r2, 0xE0 - lsls r2, 6 - adds r1, r2 - strh r0, [r1] - movs r4, 0 -_08082226: - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl sub_8082280 - adds r4, 0x1 - cmp r4, 0x3 - ble _08082226 - movs r4, 0 -_08082238: - adds r0, r5, 0 - movs r1, 0 - adds r2, r4, 0 - bl sub_8082280 - adds r4, 0x1 - cmp r4, 0xF - ble _08082238 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08082250: .4byte gUnknown_81071E0 -_08082254: .4byte gDungeonGlobalData -_08082258: .4byte 0x000037f0 -_0808225C: .4byte 0x000037f4 -_08082260: .4byte 0x000037f8 -_08082264: .4byte 0x000037f9 -_08082268: .4byte 0x000037fa -_0808226C: .4byte 0x000037fb -_08082270: .4byte 0x000037fc -_08082274: .4byte 0x000037fd -_08082278: .4byte 0x000037fe -_0808227C: .4byte 0x000037ff - thumb_func_end sub_808217C - - thumb_func_start sub_8082280 -sub_8082280: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, _0808266C - add sp, r4 - adds r5, r0, 0 - str r2, [sp, 0x210] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x20C] - movs r2, 0x82 - lsls r2, 2 - mov r0, sp - movs r1, 0 - bl memset - adds r0, r5, 0 - bl sub_8083188 - adds r0, r5, 0 - bl sub_8083188 - adds r0, r5, 0 - bl sub_8083188 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x214] - add r4, sp, 0x208 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80831F8 - adds r0, r5, 0 - bl sub_80831DC - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x218] - adds r0, r5, 0 - bl sub_8083158 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x21C] - ldr r1, _08082670 - movs r0, 0 - str r0, [r1] - adds r0, r5, 0 - bl sub_8083158 - mov r1, sp - strh r0, [r1] - adds r0, r5, 0 - bl sub_8082BC0 - mov r1, sp - strh r0, [r1, 0x4] - adds r0, r5, 0 - bl sub_8082BC0 - mov r1, sp - strh r0, [r1, 0x2] - adds r0, r5, 0 - bl sub_80831DC - mov r1, sp - strb r0, [r1, 0x6] - adds r0, r5, 0 - bl sub_80831DC - mov r1, sp - strb r0, [r1, 0x7] - adds r0, r5, 0 - bl sub_8083188 - mov r1, sp - strb r0, [r1, 0x8] - adds r0, r5, 0 - bl sub_8083188 - mov r1, sp - strb r0, [r1, 0x9] - adds r0, r5, 0 - bl sub_8083188 - mov r1, sp - strb r0, [r1, 0xA] - add r1, sp, 0x40 - adds r0, r5, 0 - bl sub_8082F64 - adds r0, r5, 0 - bl sub_8083170 - mov r1, sp - strh r0, [r1, 0xC] - adds r0, r5, 0 - bl sub_8083170 - mov r1, sp - strh r0, [r1, 0xE] - adds r0, r5, 0 - bl sub_8083170 - mov r1, sp - strh r0, [r1, 0x10] - adds r0, r5, 0 - bl sub_8083170 - mov r1, sp - strh r0, [r1, 0x12] - adds r0, r5, 0 - bl sub_8083188 - mov r1, sp - strb r0, [r1, 0x14] - adds r0, r5, 0 - bl sub_8083188 - mov r1, sp - strb r0, [r1, 0x15] - adds r0, r5, 0 - bl sub_8083188 - mov r1, sp - strb r0, [r1, 0x16] - adds r0, r5, 0 - bl sub_8083188 - mov r1, sp - strb r0, [r1, 0x17] - adds r0, r5, 0 - bl sub_80831A0 - str r0, [sp, 0x18] - adds r0, r5, 0 - bl sub_8083170 - mov r1, sp - strh r0, [r1, 0x1C] - adds r0, r5, 0 - bl sub_8083170 - mov r1, sp - strh r0, [r1, 0x1E] - adds r0, r5, 0 - bl sub_8083170 - mov r1, sp - strh r0, [r1, 0x20] - adds r0, r5, 0 - bl sub_8083170 - mov r1, sp - strh r0, [r1, 0x22] - adds r0, r5, 0 - bl sub_8083170 - mov r1, sp - strh r0, [r1, 0x24] - adds r0, r5, 0 - bl sub_8083170 - mov r1, sp - strh r0, [r1, 0x26] - adds r0, r5, 0 - bl sub_8083170 - mov r1, sp - strh r0, [r1, 0x28] - adds r0, r5, 0 - bl sub_80831C8 - str r0, [sp, 0x2C] - adds r0, r5, 0 - bl sub_80831C8 - str r0, [sp, 0x30] - adds r0, r5, 0 - bl sub_80831C8 - str r0, [sp, 0x34] - adds r0, r5, 0 - bl sub_80831C8 - str r0, [sp, 0x38] - add r1, sp, 0x44 - adds r0, r5, 0 - bl sub_8082CBC - adds r0, r5, 0 - bl sub_8082BFC - add r1, sp, 0x5C - strb r0, [r1] - adds r0, r5, 0 - bl sub_8082BFC - mov r1, sp - adds r1, 0x5D - strb r0, [r1] - adds r0, r5, 0 - bl sub_8082C18 - mov r1, sp - adds r1, 0x5E - strb r0, [r1] - adds r0, r5, 0 - bl sub_8082C18 - mov r1, sp - adds r1, 0x5F - strb r0, [r1] - add r1, sp, 0x60 - adds r0, r5, 0 - bl sub_80820A8 - adds r0, r5, 0 - bl sub_8082BE0 - add r1, sp, 0x64 - strb r0, [r1] - add r7, sp, 0x78 - add r0, sp, 0x8C - mov r8, r0 - add r1, sp, 0x90 - mov r9, r1 - add r2, sp, 0x94 - mov r10, r2 - mov r3, sp - adds r3, 0x3C - str r3, [sp, 0x270] - mov r0, sp - adds r0, 0x98 - str r0, [sp, 0x274] - mov r1, sp - adds r1, 0x9C - str r1, [sp, 0x278] - mov r2, sp - adds r2, 0xA0 - str r2, [sp, 0x27C] - adds r3, 0x6C - str r3, [sp, 0x284] - adds r0, 0x14 - str r0, [sp, 0x288] - adds r1, 0x14 - str r1, [sp, 0x28C] - adds r2, 0x1C - str r2, [sp, 0x290] - adds r3, 0x18 - str r3, [sp, 0x294] - adds r0, 0x18 - str r0, [sp, 0x298] - adds r1, 0x18 - str r1, [sp, 0x29C] - adds r2, 0x14 - str r2, [sp, 0x220] - adds r3, 0x1C - str r3, [sp, 0x224] - adds r0, 0x1C - str r0, [sp, 0x228] - adds r1, 0x1C - str r1, [sp, 0x22C] - adds r2, 0x18 - str r2, [sp, 0x230] - adds r3, 0x10 - str r3, [sp, 0x234] - adds r0, 0x10 - str r0, [sp, 0x238] - adds r1, 0xD - str r1, [sp, 0x23C] - adds r2, 0xA - str r2, [sp, 0x240] - adds r3, 0x7 - str r3, [sp, 0x244] - adds r0, 0x4 - str r0, [sp, 0x248] - adds r1, 0xA - str r1, [sp, 0x25C] - adds r2, 0x3 - str r2, [sp, 0x24C] - adds r3, 0x3 - str r3, [sp, 0x250] - adds r0, 0x3 - str r0, [sp, 0x254] - subs r1, 0x1 - str r1, [sp, 0x258] - adds r2, 0x7 - str r2, [sp, 0x260] - adds r3, 0x7 - str r3, [sp, 0x264] - adds r0, 0x7 - str r0, [sp, 0x268] - adds r1, 0x5 - str r1, [sp, 0x26C] - subs r2, 0x58 - str r2, [sp, 0x280] - add r4, sp, 0x68 - movs r6, 0x3 -_080824DC: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80831F8 - adds r4, 0x4 - subs r6, 0x1 - cmp r6, 0 - bge _080824DC - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_8082CE4 - adds r0, r5, 0 - mov r1, r8 - bl sub_8082D28 - adds r0, r5, 0 - mov r1, r9 - bl sub_8082D28 - adds r0, r5, 0 - bl sub_8082C84 - movs r4, 0 - mov r3, r10 - strb r0, [r3] - adds r0, r5, 0 - ldr r1, [sp, 0x270] - bl sub_8082F80 - adds r0, r5, 0 - bl sub_80831A0 - ldr r1, [sp, 0x274] - str r0, [r1] - adds r0, r5, 0 - bl sub_80831A0 - ldr r2, [sp, 0x278] - str r0, [r2] - adds r0, r5, 0 - bl sub_80831A0 - ldr r3, [sp, 0x27C] - str r0, [r3] - adds r0, r5, 0 - ldr r1, [sp, 0x284] - bl sub_8082D34 - adds r0, r5, 0 - ldr r1, [sp, 0x288] - bl sub_8082D50 - adds r0, r5, 0 - ldr r1, [sp, 0x28C] - bl sub_8082D7C - adds r0, r5, 0 - ldr r1, [sp, 0x290] - bl sub_8082DA8 - adds r0, r5, 0 - ldr r1, [sp, 0x294] - bl sub_8082DC4 - adds r0, r5, 0 - ldr r1, [sp, 0x298] - bl sub_8082DE8 - adds r0, r5, 0 - ldr r1, [sp, 0x29C] - bl sub_8082E04 - adds r0, r5, 0 - ldr r1, [sp, 0x220] - bl sub_8082E38 - adds r0, r5, 0 - ldr r1, [sp, 0x224] - bl sub_8082E6C - adds r0, r5, 0 - ldr r1, [sp, 0x228] - bl sub_8082E88 - adds r0, r5, 0 - ldr r1, [sp, 0x22C] - bl sub_8082E94 - adds r0, r5, 0 - ldr r1, [sp, 0x230] - bl sub_8082EB0 - adds r0, r5, 0 - ldr r1, [sp, 0x234] - bl sub_8082ECC - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [sp, 0x238] - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r2, [sp, 0x23C] - strb r0, [r2] - adds r0, r5, 0 - bl sub_80831DC - ldr r3, [sp, 0x240] - strb r0, [r3] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [sp, 0x244] - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r2, [sp, 0x248] - strb r0, [r2] - adds r0, r5, 0 - bl sub_8083188 - ldr r3, [sp, 0x25C] - strb r0, [r3] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, [sp, 0x24C] - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r2, [sp, 0x250] - strb r0, [r2] - adds r0, r5, 0 - bl sub_80831DC - ldr r3, [sp, 0x254] - strb r0, [r3] - adds r0, r5, 0 - bl sub_8083188 - ldr r1, [sp, 0x258] - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r2, [sp, 0x260] - strb r0, [r2] - adds r0, r5, 0 - bl sub_8083188 - ldr r3, [sp, 0x264] - strb r0, [r3] - adds r0, r5, 0 - bl sub_8083188 - ldr r1, [sp, 0x268] - strb r0, [r1] - adds r0, r5, 0 - bl sub_8082C34 - ldr r2, [sp, 0x26C] - strb r0, [r2] - adds r0, r5, 0 - bl sub_8082C50 - add r1, sp, 0x100 - strb r0, [r1] - adds r0, r5, 0 - bl sub_8082C6C - add r1, sp, 0x104 - str r0, [r1] - add r1, sp, 0x108 - adds r0, r5, 0 - movs r2, 0x5 - bl sub_8083288 - ldr r1, _08082674 - add r1, sp - adds r0, r5, 0 - movs r2, 0x5 - bl sub_8083288 - adds r0, r5, 0 - bl sub_8083188 - movs r1, 0x89 - lsls r1, 1 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_8083188 - b _08082678 - .align 2, 0 -_0808266C: .4byte 0xfffffd60 -_08082670: .4byte gLeaderPokemon -_08082674: .4byte 0x0000010d -_08082678: - ldr r1, _08082818 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_8083188 - add r1, sp, 0x114 - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - add r1, sp, 0x118 - adds r0, r5, 0 - bl sub_8082F1C - add r1, sp, 0x13C - adds r0, r5, 0 - bl sub_8082F48 - add r1, sp, 0x140 - adds r0, r5, 0 - bl sub_8082F48 - adds r0, r5, 0 - bl sub_80831DC - add r1, sp, 0x144 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, _0808281C - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, _08082820 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - movs r1, 0xA3 - lsls r1, 1 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - add r1, sp, 0x148 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, _08082824 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - movs r1, 0xA5 - lsls r1, 1 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, _08082828 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - add r1, sp, 0x14C - strb r0, [r1] - adds r0, r5, 0 - bl sub_8083158 - movs r1, 0xA7 - lsls r1, 1 - add r1, sp - strh r0, [r1] - adds r0, r5, 0 - bl sub_8083158 - add r1, sp, 0x150 - strh r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - movs r1, 0xA9 - lsls r1, 1 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_8083188 - ldr r1, _0808282C - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - add r1, sp, 0x154 - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - ldr r1, _08082830 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_80831DC - movs r1, 0xAB - lsls r1, 1 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_8083188 - add r1, sp, 0x164 - strb r0, [r1] - adds r0, r5, 0 - bl sub_8083188 - ldr r1, _08082834 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_8083188 - movs r1, 0xB3 - lsls r1, 1 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_8083188 - ldr r1, _08082838 - add r1, sp - strb r0, [r1] - adds r0, r5, 0 - bl sub_8083188 - add r1, sp, 0x168 - strb r0, [r1] - adds r0, r5, 0 - bl sub_8083188 - ldr r1, _0808283C - add r1, sp - strb r0, [r1] - add r1, sp, 0x16C - adds r0, r5, 0 - bl sub_80831F8 - adds r0, r5, 0 - bl sub_80831C8 - add r1, sp, 0x174 - str r0, [r1] - adds r0, r5, 0 - bl sub_8083158 - add r1, sp, 0x178 - strh r0, [r1] - adds r0, r5, 0 - bl sub_8083170 - add r1, sp, 0x1F8 - strh r0, [r1] - adds r0, r5, 0 - bl sub_8083170 - movs r1, 0xFD - lsls r1, 1 - add r1, sp - strh r0, [r1] - adds r0, r5, 0 - bl sub_80831A0 - add r1, sp, 0x1FC - str r0, [r1] - adds r0, r5, 0 - bl sub_8082CA0 - ldr r3, [sp, 0x280] - strb r0, [r3] - ldr r0, _08082840 - str r4, [r0] - ldr r0, [sp, 0x214] - cmp r0, 0 - beq _080828BE - ldr r1, [sp, 0x20C] - cmp r1, 0 - beq _08082844 - mov r0, sp - movs r2, 0x2 - ldrsh r0, [r0, r2] - mov r1, sp - movs r3, 0x4 - ldrsh r1, [r1, r3] - ldr r2, [sp, 0x210] - bl sub_80828E0 - b _08082856 - .align 2, 0 -_08082818: .4byte 0x00000113 -_0808281C: .4byte 0x00000145 -_08082820: .4byte 0x00000147 -_08082824: .4byte 0x00000149 -_08082828: .4byte 0x0000014b -_0808282C: .4byte 0x00000153 -_08082830: .4byte 0x00000155 -_08082834: .4byte 0x00000165 -_08082838: .4byte 0x00000167 -_0808283C: .4byte 0x00000169 -_08082840: .4byte gLeaderPokemon -_08082844: - mov r0, sp - movs r1, 0x2 - ldrsh r0, [r0, r1] - mov r1, sp - movs r2, 0x4 - ldrsh r1, [r1, r2] - ldr r2, [sp, 0x210] - bl sub_8082A08 -_08082856: - adds r7, r0, 0 - cmp r7, 0 - beq _080828BE - ldr r6, [r7, 0x70] - movs r5, 0x82 - lsls r5, 2 - mov r3, sp - adds r4, r3, r5 - movs r1, 0 - ldrsh r0, [r4, r1] - ldr r3, _080828D4 - add r3, sp - movs r2, 0 - ldrsh r1, [r3, r2] - bl GetMapTile_2 - ldr r1, [r4] - str r1, [r7, 0x8] - ldr r1, [r4] - str r1, [r7, 0x4] - str r7, [r0, 0x10] - adds r0, r7, 0 - adds r0, 0x20 - movs r4, 0 - add r1, sp, 0x218 - ldrb r1, [r1] - strb r1, [r0] - add r2, sp, 0x21C - ldrh r2, [r2] - strh r2, [r7, 0x26] - adds r0, r6, 0 - mov r1, sp - adds r2, r5, 0 - bl memcpy - ldr r0, _080828D8 - str r4, [r0] - ldrb r0, [r6, 0x7] - cmp r0, 0 - beq _080828B0 - ldr r0, _080828DC - ldrh r1, [r7, 0x4] - strh r1, [r0] - ldrh r1, [r7, 0x6] - strh r1, [r0, 0x2] -_080828B0: - adds r0, r7, 0 - bl LoadIQSkills - adds r0, r7, 0 - movs r1, 0 - bl sub_804535C -_080828BE: - movs r3, 0xA8 - 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 -_080828D4: .4byte 0x0000020a -_080828D8: .4byte gLeaderPokemon -_080828DC: .4byte gUnknown_203B410 - thumb_func_end sub_8082280 - - thumb_func_start sub_80828E0 -sub_80828E0: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r2, 0 - lsls r0, 16 - asrs r0, 16 - mov r10, r0 - lsls r1, 16 - asrs r1, 16 - mov r8, r1 - movs r4, 0x1 - negs r4, r4 - mov r0, r8 - bl GetPokemonSize - lsls r0, 24 - lsrs r6, r0, 24 - movs r3, 0 - movs r0, 0x6 - subs r7, r0, r6 - ldr r0, _08082914 - mov r9, r0 - b _0808291A - .align 2, 0 -_08082914: .4byte gUnknown_202EE70 -_08082918: - adds r3, 0x1 -_0808291A: - cmp r3, r7 - bgt _0808293E - movs r2, 0 - cmp r2, r6 - bge _08082938 - mov r0, r9 - adds r1, r3, r0 - b _08082932 -_0808292A: - adds r1, 0x1 - adds r2, 0x1 - cmp r2, r6 - bge _08082938 -_08082932: - ldrb r0, [r1] - cmp r0, 0 - beq _0808292A -_08082938: - cmp r2, r6 - bne _08082918 - adds r4, r3, 0 -_0808293E: - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - bne _0808294A - movs r0, 0 - b _080829E6 -_0808294A: - ldr r2, _080829F4 - ldr r0, [r2] - lsls r1, r5, 2 - ldr r3, _080829F8 - adds r0, r3 - adds r0, r1 - ldr r7, [r0] - movs r0, 0x1 - mov r9, r0 - str r0, [r7] - adds r0, r7, 0 - adds r0, 0x24 - strb r5, [r0] - lsls r0, r5, 6 - adds r0, r5 - lsls r0, 3 - ldr r1, _080829FC - adds r0, r1 - ldr r1, [r2] - adds r1, r0 - str r1, [r7, 0x70] - movs r5, 0 - mov r3, r10 - strh r3, [r1, 0x2] - ldr r0, [r7, 0x70] - mov r1, r8 - strh r1, [r0, 0x4] - ldr r0, [r7, 0x70] - strb r5, [r0, 0x6] - mov r0, r8 - bl sub_80687D0 - str r0, [r7, 0x64] - lsls r0, r4, 4 - adds r0, 0x40 - adds r1, r7, 0 - adds r1, 0x68 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x7 - strb r0, [r1] - adds r0, r7, 0 - adds r0, 0x6C - strb r5, [r0] - adds r1, 0x1 - movs r0, 0xFF - strb r0, [r1] - adds r0, r7, 0 - adds r0, 0x6D - mov r3, r9 - strb r3, [r0] - adds r0, 0x2 - strb r3, [r0] - movs r0, 0 - str r0, [r7, 0x1C] - bl sub_8045ACC - ldr r0, [r7, 0x70] - ldr r1, _08082A00 - adds r0, r1 - strb r4, [r0] - ldr r0, [r7, 0x70] - movs r3, 0xB4 - lsls r3, 1 - adds r0, r3 - strb r6, [r0] - cmp r6, 0 - beq _080829E4 - ldr r3, _08082A04 - movs r2, 0x1 - adds r1, r6, 0 -_080829D8: - adds r0, r4, r3 - strb r2, [r0] - adds r4, 0x1 - subs r1, 0x1 - cmp r1, 0 - bne _080829D8 -_080829E4: - adds r0, r7, 0 -_080829E6: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080829F4: .4byte gDungeonGlobalData -_080829F8: .4byte 0x0001357c -_080829FC: .4byte 0x0000069c -_08082A00: .4byte 0x00000167 -_08082A04: .4byte gUnknown_202EE70 - thumb_func_end sub_80828E0 - - thumb_func_start sub_8082A08 -sub_8082A08: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r5, r2, 0 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - lsls r1, 16 - asrs r1, 16 - mov r9, r1 - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - mov r0, r9 - bl GetPokemonSize - lsls r0, 24 - lsrs r6, r0, 24 - movs r3, 0 - movs r0, 0x10 - subs r4, r0, r6 - ldr r7, _08082A3C - b _08082A42 - .align 2, 0 -_08082A3C: .4byte gUnknown_202EE76 -_08082A40: - adds r3, 0x1 -_08082A42: - cmp r3, r4 - bgt _08082A64 - movs r2, 0 - cmp r2, r6 - bge _08082A5E - adds r1, r3, r7 - b _08082A58 -_08082A50: - adds r1, 0x1 - adds r2, 0x1 - cmp r2, r6 - bge _08082A5E -_08082A58: - ldrb r0, [r1] - cmp r0, 0 - beq _08082A50 -_08082A5E: - cmp r2, r6 - bne _08082A40 - mov r8, r3 -_08082A64: - movs r0, 0x1 - negs r0, r0 - cmp r8, r0 - bne _08082A70 - movs r0, 0 - b _08082B1C -_08082A70: - ldr r2, _08082B2C - ldr r0, [r2] - lsls r1, r5, 2 - ldr r3, _08082B30 - adds r0, r3 - adds r0, r1 - ldr r7, [r0] - movs r4, 0x1 - str r4, [r7] - adds r0, r7, 0 - adds r0, 0x24 - movs r1, 0 - mov r10, r1 - strb r5, [r0] - subs r0, 0x2 - mov r3, r10 - strb r3, [r0] - lsls r0, r5, 6 - adds r0, r5 - lsls r0, 3 - ldr r1, _08082B34 - adds r0, r1 - ldr r1, [r2] - adds r1, r0 - str r1, [r7, 0x70] - movs r5, 0 - mov r2, sp - ldrh r2, [r2] - strh r2, [r1, 0x2] - ldr r0, [r7, 0x70] - mov r3, r9 - strh r3, [r0, 0x4] - ldr r0, [r7, 0x70] - strb r4, [r0, 0x6] - mov r0, r9 - bl sub_80687D0 - str r0, [r7, 0x64] - mov r1, r8 - lsls r0, r1, 4 - adds r0, 0xA0 - adds r1, r7, 0 - adds r1, 0x68 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x7 - strb r0, [r1] - adds r0, r7, 0 - adds r0, 0x6C - strb r5, [r0] - adds r1, 0x1 - movs r0, 0xFF - strb r0, [r1] - adds r0, r7, 0 - adds r0, 0x6D - strb r4, [r0] - adds r0, 0x2 - strb r4, [r0] - mov r2, r10 - str r2, [r7, 0x1C] - ldr r0, [r7, 0x70] - ldr r3, _08082B38 - adds r0, r3 - mov r4, r8 - strb r4, [r0] - ldr r0, [r7, 0x70] - movs r1, 0xB4 - lsls r1, 1 - adds r0, r1 - strb r6, [r0] - cmp r6, 0 - beq _08082B16 - ldr r3, _08082B3C - movs r2, 0x1 - adds r1, r6, 0 -_08082B06: - mov r4, r8 - adds r0, r4, r3 - strb r2, [r0] - movs r0, 0x1 - add r8, r0 - subs r1, 0x1 - cmp r1, 0 - bne _08082B06 -_08082B16: - bl sub_8045ACC - adds r0, r7, 0 -_08082B1C: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08082B2C: .4byte gDungeonGlobalData -_08082B30: .4byte 0x0001358c -_08082B34: .4byte 0x00000ebc -_08082B38: .4byte 0x00000167 -_08082B3C: .4byte gUnknown_202EE76 - thumb_func_end sub_8082A08 - - thumb_func_start sub_8082B40 -sub_8082B40: - push {r4-r6,lr} - sub sp, 0x4 - movs r6, 0 -_08082B46: - ldr r0, _08082BB8 - ldr r0, [r0] - lsls r1, r6, 2 - ldr r2, _08082BBC - adds r0, r2 - adds r0, r1 - ldr r5, [r0] - adds r0, r5, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _08082BA8 - ldr r4, [r5, 0x70] - movs r1, 0x4 - ldrsh r0, [r4, r1] - bl sub_80687D0 - str r0, [r5, 0x64] - adds r0, r5, 0 - bl sub_806CEBC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_806CCB4 - ldr r0, [r5, 0x4] - str r0, [sp] - adds r0, r4, 0 - adds r0, 0x98 - ldr r0, [r0] - movs r2, 0x4 - ldrsh r1, [r4, r2] - mov r2, sp - movs r3, 0x3 - bl AddPokemonDungeonSprite - movs r1, 0x4 - ldrsh r0, [r5, r1] - movs r2, 0x6 - ldrsh r1, [r5, r2] - bl GetMapTile_2 - ldrb r1, [r0, 0x9] - adds r0, r5, 0 - adds r0, 0x25 - strb r1, [r0] -_08082BA8: - adds r6, 0x1 - cmp r6, 0x13 - ble _08082B46 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08082BB8: .4byte gDungeonGlobalData -_08082BBC: .4byte 0x000135cc - thumb_func_end sub_8082B40 - - thumb_func_start sub_8082BC0 -sub_8082BC0: - push {lr} - sub sp, 0x4 - mov r2, sp - movs r1, 0 - strh r1, [r2] - mov r1, sp - movs r2, 0x2 - bl sub_8082FE0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8082BC0 - - thumb_func_start sub_8082BE0 -sub_8082BE0: - push {lr} - sub sp, 0x4 - mov r2, sp - movs r1, 0 - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FE0 - mov r0, sp - ldrb r0, [r0] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8082BE0 - - thumb_func_start sub_8082BFC -sub_8082BFC: - push {lr} - sub sp, 0x4 - mov r2, sp - movs r1, 0 - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FE0 - mov r0, sp - ldrb r0, [r0] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8082BFC - - thumb_func_start sub_8082C18 -sub_8082C18: - push {lr} - sub sp, 0x4 - mov r2, sp - movs r1, 0 - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FE0 - mov r0, sp - ldrb r0, [r0] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8082C18 - - thumb_func_start sub_8082C34 -sub_8082C34: - push {lr} - sub sp, 0x4 - mov r2, sp - movs r1, 0 - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FE0 - mov r0, sp - ldrb r0, [r0] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8082C34 - - thumb_func_start sub_8082C50 -sub_8082C50: - push {lr} - sub sp, 0x4 - mov r2, sp - movs r1, 0 - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FE0 - mov r0, sp - ldrb r0, [r0] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8082C50 - - thumb_func_start sub_8082C6C -sub_8082C6C: - push {lr} - sub sp, 0x4 - movs r1, 0 - str r1, [sp] - mov r1, sp - movs r2, 0x4 - bl sub_8082FE0 - ldr r0, [sp] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8082C6C - - thumb_func_start sub_8082C84 -sub_8082C84: - push {lr} - sub sp, 0x4 - mov r2, sp - movs r1, 0 - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FE0 - mov r0, sp - ldrb r0, [r0] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8082C84 - - thumb_func_start sub_8082CA0 -sub_8082CA0: - push {lr} - sub sp, 0x4 - mov r2, sp - movs r1, 0 - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FE0 - mov r0, sp - ldrb r0, [r0] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8082CA0 - - thumb_func_start sub_8082CBC -sub_8082CBC: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0 - strh r0, [r4] - adds r1, r4, 0x2 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FE0 - movs r0, 0x7 - strb r0, [r4, 0x3] - adds r4, 0x14 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80831F8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082CBC - - thumb_func_start sub_8082CE4 -sub_8082CE4: - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r5, 0 - bl sub_80831DC - movs r6, 0 - strb r0, [r4, 0x1] - adds r0, r5, 0 - bl sub_80831DC - strb r0, [r4, 0x2] - adds r0, r5, 0 - bl sub_80831DC - strb r0, [r4, 0x3] - adds r0, r5, 0 - bl sub_8083158 - strh r0, [r4, 0x4] - str r6, [r4, 0x8] - str r6, [r4, 0xC] - adds r4, 0x10 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80831F8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8082CE4 - - thumb_func_start sub_8082D28 -sub_8082D28: - push {lr} - movs r2, 0x3 - bl sub_8082FE0 - pop {r0} - bx r0 - thumb_func_end sub_8082D28 - - thumb_func_start sub_8082D34 -sub_8082D34: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x1] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082D34 - - thumb_func_start sub_8082D50 -sub_8082D50: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x1] - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x2] - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x3] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082D50 - - thumb_func_start sub_8082D7C -sub_8082D7C: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x8] - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x9] - adds r0, r4, 0 - bl sub_80831A0 - str r0, [r5, 0x4] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082D7C - - thumb_func_start sub_8082DA8 -sub_8082DA8: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x1] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082DA8 - - thumb_func_start sub_8082DC4 -sub_8082DC4: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x1] - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x2] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082DC4 - - thumb_func_start sub_8082DE8 -sub_8082DE8: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x1] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082DE8 - - thumb_func_start sub_8082E04 -sub_8082E04: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_80831DC - strb r0, [r5, 0x1] - adds r0, r4, 0 - bl sub_80831DC - strb r0, [r5, 0x2] - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x3] - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x4] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082E04 - - thumb_func_start sub_8082E38 -sub_8082E38: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_80831A0 - str r0, [r5, 0x4] - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x8] - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x9] - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0xA] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082E38 - - thumb_func_start sub_8082E6C -sub_8082E6C: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x1] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082E6C - - thumb_func_start sub_8082E88 -sub_8082E88: - push {lr} - movs r2, 0x1 - bl sub_8082FE0 - pop {r0} - bx r0 - thumb_func_end sub_8082E88 - - thumb_func_start sub_8082E94 -sub_8082E94: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x1] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082E94 - - thumb_func_start sub_8082EB0 -sub_8082EB0: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x1] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082EB0 - - thumb_func_start sub_8082ECC -sub_8082ECC: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x1] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082ECC - - thumb_func_start sub_8082EE8 -sub_8082EE8: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8083188 - strb r0, [r5] - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x1] - adds r1, r5, 0x2 - adds r0, r4, 0 - movs r2, 0x2 - bl sub_8082FE0 - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x4] - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x5] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082EE8 - - thumb_func_start sub_8082F1C -sub_8082F1C: - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - adds r4, r7, 0 - movs r5, 0x3 -_08082F26: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8082EE8 - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _08082F26 - adds r0, r6, 0 - bl sub_8083188 - adds r1, r7, 0 - adds r1, 0x20 - strb r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8082F1C - - thumb_func_start sub_8082F48 -sub_8082F48: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8083170 - strh r0, [r5] - adds r0, r4, 0 - bl sub_8083170 - strh r0, [r5, 0x2] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082F48 - - thumb_func_start sub_8082F64 -sub_8082F64: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8083188 - strb r0, [r5] - adds r0, r4, 0 - bl sub_8083188 - strb r0, [r5, 0x1] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082F64 - - thumb_func_start sub_8082F80 -sub_8082F80: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8083170 - strh r0, [r5] - adds r0, r4, 0 - bl sub_8082BFC - strb r0, [r5, 0x2] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8082F80 - - thumb_func_start sub_8082F9C -sub_8082F9C: - str r1, [r0] - movs r3, 0 - str r3, [r0, 0x8] - adds r1, r2 - str r1, [r0, 0x4] - bx lr - thumb_func_end sub_8082F9C - - thumb_func_start sub_8082FA8 -sub_8082FA8: - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - cmp r2, 0 - beq _08082FCC -_08082FB2: - ldr r1, [r3] - ldrb r0, [r4] - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x1 - str r0, [r3] - adds r4, 0x1 - subs r2, 0x1 - ldr r0, [r3, 0x8] - adds r0, 0x1 - str r0, [r3, 0x8] - cmp r2, 0 - bne _08082FB2 -_08082FCC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8082FA8 - - thumb_func_start sub_8082FD4 -sub_8082FD4: - str r1, [r0] - movs r3, 0 - str r3, [r0, 0x8] - adds r1, r2 - str r1, [r0, 0x4] - bx lr - thumb_func_end sub_8082FD4 - - thumb_func_start sub_8082FE0 -sub_8082FE0: - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - cmp r2, 0 - beq _08083002 -_08082FEA: - ldr r1, [r3] - ldrb r0, [r1] - strb r0, [r4] - adds r1, 0x1 - str r1, [r3] - adds r4, 0x1 - subs r2, 0x1 - ldr r0, [r3, 0x8] - adds r0, 0x1 - str r0, [r3, 0x8] - cmp r2, 0 - bne _08082FEA -_08083002: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8082FE0 - - thumb_func_start nullsub_98 -nullsub_98: - bx lr - thumb_func_end nullsub_98 - - thumb_func_start sub_808300C -sub_808300C: - push {lr} - movs r2, 0x8 - bl sub_8082FA8 - pop {r0} - bx r0 - thumb_func_end sub_808300C - - thumb_func_start sub_8083018 -sub_8083018: - push {lr} - sub sp, 0xC - mov r1, sp - movs r2, 0x8 - bl sub_8082FE0 - mov r1, sp - movs r0, 0 - strb r0, [r1, 0x8] - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_8083018 - - thumb_func_start sub_8083030 -sub_8083030: - push {lr} - sub sp, 0x4 - mov r2, sp - strh r1, [r2] - mov r1, sp - movs r2, 0x2 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8083030 - - thumb_func_start sub_8083048 -sub_8083048: - push {lr} - sub sp, 0x4 - mov r2, sp - strh r1, [r2] - mov r1, sp - movs r2, 0x2 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8083048 - - thumb_func_start sub_8083060 -sub_8083060: - push {lr} - sub sp, 0x4 - mov r2, sp - strb r1, [r2] - mov r1, sp - movs r2, 0x1 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8083060 - - thumb_func_start sub_8083078 -sub_8083078: - push {lr} - sub sp, 0x4 - str r1, [sp] - mov r1, sp - movs r2, 0x4 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8083078 - - thumb_func_start sub_808308C -sub_808308C: - push {lr} - sub sp, 0x4 - str r1, [sp] - mov r1, sp - movs r2, 0x4 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_808308C - - thumb_func_start sub_80830A0 -sub_80830A0: - push {lr} - sub sp, 0x4 - str r1, [sp] - mov r1, sp - movs r2, 0x4 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80830A0 - - thumb_func_start sub_80830B4 -sub_80830B4: - push {lr} - sub sp, 0x4 - adds r3, r0, 0 - lsls r1, 24 - movs r2, 0 - cmp r1, 0 - beq _080830C4 - movs r2, 0xFF -_080830C4: - mov r0, sp - strb r2, [r0] - adds r0, r3, 0 - mov r1, sp - movs r2, 0x1 - bl sub_8082FA8 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80830B4 - - thumb_func_start sub_80830D8 -sub_80830D8: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r4, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FA8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80830D8 - - thumb_func_start sub_80830F8 -sub_80830F8: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r4, 0x4 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r1, r4, 0 - adds r1, 0x8 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r4, 0xC - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FA8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80830F8 - - thumb_func_start sub_808312C -sub_808312C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8082FA8 - adds r4, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FA8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808312C - - thumb_func_start sub_808314C -sub_808314C: - push {lr} - bl sub_8082FA8 - pop {r0} - bx r0 - thumb_func_end sub_808314C - - thumb_func_start sub_8083158 -sub_8083158: - push {lr} - sub sp, 0x4 - mov r1, sp - movs r2, 0x2 - bl sub_8082FE0 - mov r0, sp - ldrh r0, [r0] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8083158 - - thumb_func_start sub_8083170 -sub_8083170: - push {lr} - sub sp, 0x4 - mov r1, sp - movs r2, 0x2 - bl sub_8082FE0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8083170 - - thumb_func_start sub_8083188 -sub_8083188: - push {lr} - sub sp, 0x4 - mov r1, sp - movs r2, 0x1 - bl sub_8082FE0 - mov r0, sp - ldrb r0, [r0] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8083188 - - thumb_func_start sub_80831A0 -sub_80831A0: - push {lr} - sub sp, 0x4 - mov r1, sp - movs r2, 0x4 - bl sub_8082FE0 - ldr r0, [sp] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_80831A0 - - thumb_func_start sub_80831B4 -sub_80831B4: - push {lr} - sub sp, 0x4 - mov r1, sp - movs r2, 0x4 - bl sub_8082FE0 - ldr r0, [sp] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_80831B4 - - thumb_func_start sub_80831C8 -sub_80831C8: - push {lr} - sub sp, 0x4 - mov r1, sp - movs r2, 0x4 - bl sub_8082FE0 - ldr r0, [sp] - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_80831C8 - - thumb_func_start sub_80831DC -sub_80831DC: - push {lr} - sub sp, 0x4 - mov r1, sp - movs r2, 0x1 - bl sub_8082FE0 - mov r0, sp - ldrb r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_80831DC - - thumb_func_start sub_80831F8 -sub_80831F8: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0 - strh r0, [r4] - strh r0, [r4, 0x2] - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r4, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FE0 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80831F8 - - thumb_func_start sub_8083220 -sub_8083220: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0 - str r0, [r4] - str r0, [r4, 0x4] - str r0, [r4, 0x8] - str r0, [r4, 0xC] - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r1, r4, 0x4 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r1, r4, 0 - adds r1, 0x8 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r4, 0xC - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FE0 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8083220 - - thumb_func_start sub_8083260 -sub_8083260: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0 - strh r0, [r4] - strh r0, [r4, 0x2] - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8082FE0 - adds r4, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8082FE0 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8083260 - - thumb_func_start sub_8083288 -sub_8083288: - push {lr} - bl sub_8082FE0 - pop {r0} - bx r0 - thumb_func_end sub_8083288 - .align 2, 0
\ No newline at end of file diff --git a/asm/code_807E5AC.s b/asm/code_807E5AC.s new file mode 100644 index 0000000..8bea8f3 --- /dev/null +++ b/asm/code_807E5AC.s @@ -0,0 +1,9537 @@ + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_807E5AC +sub_807E5AC: + push {lr} + ldr r0, _0807E5DC + ldr r0, [r0] + ldr r1, _0807E5E0 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x8 + bne _0807E5C6 + movs r0, 0x8 + bl DungeonRandomCapped + lsls r0, 24 + lsrs r0, 24 +_0807E5C6: + bl sub_807E5E4 + bl TriggerWeatherAbilities + movs r0, 0 + movs r1, 0x1 + bl sub_807EAA0 + pop {r0} + bx r0 + .align 2, 0 +_0807E5DC: .4byte gDungeonGlobalData +_0807E5E0: .4byte 0x0001c578 + thumb_func_end sub_807E5AC + + thumb_func_start sub_807E5E4 +sub_807E5E4: + push {r4-r6,lr} + ldr r3, _0807E674 + ldr r1, [r3] + ldr r2, _0807E678 + adds r1, r2 + movs r4, 0 + strb r0, [r1] + ldr r0, [r3] + adds r2, r0, r2 + ldrb r1, [r2] + ldr r2, _0807E67C + adds r0, r2 + strb r1, [r0] + ldr r0, [r3] + ldr r1, _0807E680 + adds r0, r1 + strb r4, [r0] + movs r2, 0 + adds r4, r3, 0 + ldr r6, _0807E684 + movs r1, 0 + ldr r5, _0807E688 +_0807E610: + ldr r0, [r4] + adds r0, r6 + adds r0, r2 + strb r1, [r0] + ldr r0, [r4] + adds r0, r5 + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 + cmp r2, 0x7 + ble _0807E610 + ldr r0, [r3] + ldr r2, _0807E68C + adds r0, r2 + movs r2, 0 + movs r1, 0x9 + strb r1, [r0] + ldr r0, [r3] + ldr r1, _0807E690 + adds r0, r1 + strb r2, [r0] + ldr r0, [r3] + adds r1, 0x1 + adds r0, r1 + strb r2, [r0] + movs r6, 0xBE + lsls r6, 1 + ldr r5, _0807E694 + movs r4, 0xBF + lsls r4, 1 +_0807E64C: + ldr r0, [r3] + lsls r1, r2, 2 + adds r0, r1 + adds r0, r6 + strb r2, [r0] + ldr r0, [r3] + adds r0, r1 + adds r0, r5 + strb r2, [r0] + ldr r0, [r3] + adds r0, r1 + adds r0, r4 + strb r2, [r0] + adds r2, 0x1 + cmp r2, 0xFF + ble _0807E64C + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0807E674: .4byte gDungeonGlobalData +_0807E678: .4byte 0x0000e265 +_0807E67C: .4byte 0x0000e264 +_0807E680: .4byte 0x0000e279 +_0807E684: .4byte 0x0000e267 +_0807E688: .4byte 0x0000e26f +_0807E68C: .4byte 0x0000e266 +_0807E690: .4byte 0x0000e277 +_0807E694: .4byte 0x0000017d + thumb_func_end sub_807E5E4 + + thumb_func_start sub_807E698 +sub_807E698: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + str r0, [sp] + movs r0, 0 + bl GetWeather + lsls r0, 24 + lsrs r0, 16 + str r0, [sp, 0x4] + ldr r0, _0807E724 + ldr r0, [r0] + ldr r0, [r0, 0x4] + mov r10, r0 + movs r0, 0 + bl GetWeather + lsls r0, 24 + lsrs r0, 24 + ldr r1, [sp] + bl sub_8042818 + movs r0, 0x25 + bl sub_803E46C + movs r0, 0x1 + bl sub_804178C + ldr r1, _0807E728 + ldrb r0, [r1] + str r0, [sp, 0x8] + movs r0, 0x1 + strb r0, [r1] + movs r1, 0 + mov r9, r1 + ldr r2, _0807E72C + mov r8, r2 +_0807E6EC: + movs r7, 0 + movs r0, 0x25 + bl sub_803E46C + movs r6, 0 + ldr r1, [sp, 0x4] + lsls r0, r1, 2 + mov r2, r10 + adds r5, r0, r2 + movs r0, 0xFF + mov r12, r0 +_0807E702: + mov r1, r8 + ldr r0, [r1] + adds r0, r6 + movs r2, 0xBE + lsls r2, 1 + adds r4, r0, r2 + ldrb r0, [r4] + ldrb r3, [r5] + subs r1, r0, r3 + cmp r1, 0 + bge _0807E71A + negs r1, r1 +_0807E71A: + cmp r1, 0x9 + bgt _0807E730 + strb r3, [r4] + b _0807E746 + .align 2, 0 +_0807E724: .4byte gUnknown_202ECA0 +_0807E728: .4byte gUnknown_203B40D +_0807E72C: .4byte gDungeonGlobalData +_0807E730: + movs r7, 0x1 + adds r2, r0, 0 + adds r1, r3, 0 + cmp r2, r1 + bcs _0807E73E + adds r0, 0xA + b _0807E744 +_0807E73E: + cmp r2, r1 + bls _0807E746 + subs r0, 0xA +_0807E744: + strb r0, [r4] +_0807E746: + mov r1, r8 + ldr r0, [r1] + adds r0, r6 + ldr r2, _0807E764 + adds r4, r0, r2 + ldrb r0, [r4] + ldrb r3, [r5, 0x1] + subs r1, r0, r3 + cmp r1, 0 + bge _0807E75C + negs r1, r1 +_0807E75C: + cmp r1, 0x9 + bgt _0807E768 + strb r3, [r4] + b _0807E77E + .align 2, 0 +_0807E764: .4byte 0x0000017d +_0807E768: + movs r7, 0x1 + adds r2, r0, 0 + adds r1, r3, 0 + cmp r2, r1 + bcs _0807E776 + adds r0, 0xA + b _0807E77C +_0807E776: + cmp r2, r1 + bls _0807E77E + subs r0, 0xA +_0807E77C: + strb r0, [r4] +_0807E77E: + mov r1, r8 + ldr r0, [r1] + adds r0, r6 + movs r2, 0xBF + lsls r2, 1 + adds r4, r0, r2 + ldrb r0, [r4] + ldrb r3, [r5, 0x2] + subs r1, r0, r3 + cmp r1, 0 + bge _0807E796 + negs r1, r1 +_0807E796: + cmp r1, 0x9 + bgt _0807E79E + strb r3, [r4] + b _0807E7B4 +_0807E79E: + movs r7, 0x1 + adds r2, r0, 0 + adds r1, r3, 0 + cmp r2, r1 + bcs _0807E7AC + adds r0, 0xA + b _0807E7B2 +_0807E7AC: + cmp r2, r1 + bls _0807E7B4 + subs r0, 0xA +_0807E7B2: + strb r0, [r4] +_0807E7B4: + adds r6, 0x4 + adds r5, 0x4 + movs r0, 0x1 + negs r0, r0 + add r12, r0 + mov r1, r12 + cmp r1, 0 + bge _0807E702 + movs r0, 0 + movs r1, 0 + bl sub_803E874 + cmp r7, 0 + beq _0807E7DA + movs r2, 0x1 + add r9, r2 + mov r0, r9 + cmp r0, 0x3F + ble _0807E6EC +_0807E7DA: + ldr r0, _0807E7F8 + mov r1, sp + ldrb r1, [r1, 0x8] + strb r1, [r0] + ldr r0, [sp] + bl sub_807E7FC + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0807E7F8: .4byte gUnknown_203B40D + thumb_func_end sub_807E698 + + thumb_func_start sub_807E7FC +sub_807E7FC: + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r6, _0807E874 + ldr r0, [r6] + ldr r1, _0807E878 + adds r0, r1 + ldr r5, [r0] + cmp r5, 0 + bne _0807E816 + bl GetLeaderEntity + adds r5, r0, 0 +_0807E816: + cmp r4, 0 + beq _0807E844 + ldr r0, [r6] + ldr r2, _0807E87C + adds r0, r2 + ldrb r0, [r0] + cmp r0, 0 + bne _0807E844 + ldr r4, _0807E880 + movs r0, 0 + bl GetWeather + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl GetWeatherName + ldr r0, _0807E884 + ldr r1, [r0] + adds r0, r5, 0 + bl SendMessage +_0807E844: + movs r5, 0 +_0807E846: + ldr r0, _0807E874 + ldr r0, [r0] + lsls r1, r5, 2 + ldr r2, _0807E888 + adds r0, r2 + adds r0, r1 + ldr r4, [r0] + adds r0, r4, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _0807E866 + adds r0, r4, 0 + bl sub_807E8F0 +_0807E866: + adds r5, 0x1 + cmp r5, 0x13 + ble _0807E846 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0807E874: .4byte gDungeonGlobalData +_0807E878: .4byte 0x000181f8 +_0807E87C: .4byte 0x0001356c +_0807E880: .4byte gAvailablePokemonNames +_0807E884: .4byte gUnknown_80FC5E0 +_0807E888: .4byte 0x000135cc + thumb_func_end sub_807E7FC + + thumb_func_start sub_807E88C +sub_807E88C: + push {r4-r7,lr} + movs r0, 0 + bl GetWeather + lsls r0, 24 + ldr r1, _0807E8E4 + ldr r1, [r1] + ldr r1, [r1, 0x4] + movs r4, 0 + ldr r5, _0807E8E8 + lsrs r0, 14 + adds r3, r0, r1 + movs r6, 0xBE + lsls r6, 1 +_0807E8A8: + ldr r0, [r5] + lsls r2, r4, 2 + adds r0, r2 + ldrb r1, [r3] + adds r0, r6 + strb r1, [r0] + ldr r0, [r5] + adds r0, r2 + ldrb r1, [r3, 0x1] + ldr r7, _0807E8EC + adds r0, r7 + strb r1, [r0] + ldr r0, [r5] + adds r0, r2 + ldrb r1, [r3, 0x2] + movs r2, 0xBF + lsls r2, 1 + adds r0, r2 + strb r1, [r0] + adds r3, 0x4 + adds r4, 0x1 + cmp r4, 0xFF + ble _0807E8A8 + movs r0, 0 + movs r1, 0 + bl sub_803E874 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0807E8E4: .4byte gUnknown_202ECA0 +_0807E8E8: .4byte gDungeonGlobalData +_0807E8EC: .4byte 0x0000017d + thumb_func_end sub_807E88C + + thumb_func_start sub_807E8F0 +sub_807E8F0: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + adds r5, r0, 0 + movs r0, 0 + mov r8, r0 + adds r0, r5, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + bne _0807E90E + b _0807EA0A +_0807E90E: + ldr r4, [r5, 0x70] + movs r0, 0x4 + ldrsh r1, [r4, r0] + mov r9, r1 + mov r1, sp + adds r6, r4, 0 + adds r6, 0x5C + ldrb r0, [r6] + strb r0, [r1] + adds r7, r4, 0 + adds r7, 0x5D + ldrb r0, [r7] + strb r0, [r1, 0x1] + adds r0, r5, 0 + bl GetMovementSpeed + adds r0, r5, 0 + movs r1, 0x25 + bl HasAbility + lsls r0, 24 + cmp r0, 0 + beq _0807E958 + adds r0, r5, 0 + bl GetWeather + ldr r1, _0807E954 + lsls r0, 24 + lsrs r0, 22 + adds r0, r1 + ldrb r0, [r0] + strb r0, [r6] + mov r1, r8 + strb r1, [r7] + b _0807E984 + .align 2, 0 +_0807E954: .4byte gUnknown_80F520C +_0807E958: + adds r0, r4, 0 + adds r0, 0xC4 + ldrb r0, [r0] + cmp r0, 0xC + beq _0807E984 + adds r0, r4, 0 + adds r0, 0xF6 + ldrb r0, [r0] + cmp r0, 0 + bne _0807E984 + movs r1, 0x2 + ldrsh r0, [r4, r1] + movs r1, 0 + bl GetPokemonType + strb r0, [r6] + movs r1, 0x2 + ldrsh r0, [r4, r1] + movs r1, 0x1 + bl GetPokemonType + strb r0, [r7] +_0807E984: + mov r0, sp + adds r1, r4, 0 + adds r1, 0x5C + ldrb r0, [r0] + ldrb r1, [r1] + cmp r0, r1 + bne _0807E9A0 + mov r0, sp + adds r1, r4, 0 + adds r1, 0x5D + ldrb r0, [r0, 0x1] + ldrb r1, [r1] + cmp r0, r1 + beq _0807E9A4 +_0807E9A0: + movs r0, 0x1 + mov r8, r0 +_0807E9A4: + ldr r1, _0807E9D0 + adds r0, r1, 0 + ldrh r1, [r4, 0x2] + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x3 + bhi _0807E9FE + adds r0, r5, 0 + movs r1, 0x25 + bl HasAbility + lsls r0, 24 + cmp r0, 0 + beq _0807E9D4 + movs r0, 0x2 + ldrsh r1, [r4, r0] + adds r0, r5, 0 + bl sub_8069F54 + b _0807E9D8 + .align 2, 0 +_0807E9D0: .4byte 0xfffffe88 +_0807E9D4: + movs r0, 0xBC + lsls r0, 1 +_0807E9D8: + strh r0, [r4, 0x4] + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, r9 + beq _0807E9FE + bl sub_80687D0 + str r0, [r5, 0x64] + adds r0, r5, 0 + bl sub_806CEBC + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r5, 0 + bl sub_806CCB4 + movs r0, 0x1 + mov r8, r0 +_0807E9FE: + mov r1, r8 + cmp r1, 0 + beq _0807EA0A + adds r0, r5, 0 + bl sub_80429D8 +_0807EA0A: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_807E8F0 + + thumb_func_start GetWeatherName +GetWeatherName: + push {lr} + lsls r1, 24 + ldr r2, _0807EA2C + lsrs r1, 22 + adds r1, r2 + ldr r1, [r1] + bl strcpy + pop {r0} + bx r0 + .align 2, 0 +_0807EA2C: .4byte gWeatherNames + thumb_func_end GetWeatherName + + thumb_func_start sub_807EA30 +sub_807EA30: + push {lr} + lsls r0, 24 + cmp r0, 0 + bne _0807EA6C + ldr r1, _0807EA5C + movs r0, 0 + movs r2, 0 + bl sub_808417C + ldr r1, _0807EA60 + ldr r1, [r1] + ldr r2, _0807EA64 + adds r1, r2 + strb r0, [r1] + bl GetLeaderEntity + ldr r1, _0807EA68 + ldr r1, [r1] + bl SendMessage + b _0807EA8C + .align 2, 0 +_0807EA5C: .4byte gUnknown_80F4EAC +_0807EA60: .4byte gDungeonGlobalData +_0807EA64: .4byte 0x0000e277 +_0807EA68: .4byte gUnknown_80FAD8C +_0807EA6C: + ldr r1, _0807EA90 + movs r0, 0 + movs r2, 0 + bl sub_808417C + ldr r1, _0807EA94 + ldr r1, [r1] + ldr r2, _0807EA98 + adds r1, r2 + strb r0, [r1] + bl GetLeaderEntity + ldr r1, _0807EA9C + ldr r1, [r1] + bl SendMessage +_0807EA8C: + pop {r0} + bx r0 + .align 2, 0 +_0807EA90: .4byte gUnknown_80F4EAC +_0807EA94: .4byte gDungeonGlobalData +_0807EA98: .4byte 0x0000e278 +_0807EA9C: .4byte gUnknown_80FADB0 + thumb_func_end sub_807EA30 + + thumb_func_start sub_807EAA0 +sub_807EAA0: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + str r0, [sp] + lsls r1, 24 + lsrs r1, 24 + str r1, [sp, 0x4] + movs r0, 0 + mov r8, r0 + movs r1, 0x1 + negs r1, r1 + mov r9, r1 + movs r2, 0 + str r2, [sp, 0x8] + bl GetWeather + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + movs r5, 0 + ldr r7, _0807EAF0 + ldr r6, _0807EAF4 +_0807EAD6: + ldr r3, [r7] + adds r0, r3, r6 + adds r4, r0, r5 + ldr r1, _0807EAF8 + adds r0, r3, r1 + adds r0, r5 + ldrb r0, [r0] + ldrb r2, [r4] + adds r1, r0, 0 + cmp r2, r1 + bcs _0807EAFC + strb r0, [r4] + b _0807EB08 + .align 2, 0 +_0807EAF0: .4byte gDungeonGlobalData +_0807EAF4: .4byte 0x0000e267 +_0807EAF8: .4byte 0x0000e26f +_0807EAFC: + cmp r2, r1 + bls _0807EB08 + adds r0, r5, r6 + adds r0, r3, r0 + bl sub_80838EC +_0807EB08: + ldr r0, [r7] + ldr r2, _0807EB38 + adds r0, r2 + adds r0, r5 + ldrb r1, [r0] + ldr r0, _0807EB3C + cmp r8, r1 + bge _0807EB1C + mov r8, r1 + mov r9, r5 +_0807EB1C: + adds r5, 0x1 + cmp r5, 0x7 + ble _0807EAD6 + mov r1, r9 + cmp r1, 0 + bge _0807EB44 + ldr r0, [r0] + ldr r2, _0807EB40 + adds r1, r0, r2 + ldrb r1, [r1] + subs r2, 0x1 + adds r0, r2 + strb r1, [r0] + b _0807EB4E + .align 2, 0 +_0807EB38: .4byte 0x0000e267 +_0807EB3C: .4byte gDungeonGlobalData +_0807EB40: .4byte 0x0000e265 +_0807EB44: + ldr r0, [r0] + ldr r1, _0807EB94 + adds r0, r1 + mov r2, r9 + strb r2, [r0] +_0807EB4E: + ldr r0, _0807EB98 + ldr r1, [r0] + ldr r2, _0807EB9C + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, 0 + beq _0807EB64 + ldr r0, _0807EB94 + adds r1, r0 + movs r0, 0 + strb r0, [r1] +_0807EB64: + movs r0, 0 + bl GetWeather + lsls r0, 24 + lsrs r0, 24 + cmp r10, r0 + bne _0807EB78 + ldr r1, [sp, 0x4] + cmp r1, 0 + beq _0807EB82 +_0807EB78: + movs r2, 0x1 + str r2, [sp, 0x8] + ldr r0, [sp] + bl sub_807E698 +_0807EB82: + ldr r0, _0807EB98 + ldr r0, [r0] + ldr r2, _0807EBA0 + adds r1, r0, r2 + ldrb r0, [r1] + cmp r0, 0 + beq _0807EBA4 + subs r0, 0x1 + b _0807EBA6 + .align 2, 0 +_0807EB94: .4byte 0x0000e264 +_0807EB98: .4byte gDungeonGlobalData +_0807EB9C: .4byte 0x0000e279 +_0807EBA0: .4byte 0x0000e266 +_0807EBA4: + movs r0, 0x9 +_0807EBA6: + strb r0, [r1] + ldr r4, _0807EC14 + ldr r0, [r4] + ldr r2, _0807EC18 + adds r1, r0, r2 + ldrb r0, [r1] + cmp r0, 0 + beq _0807EBD4 + adds r0, r1, 0 + bl sub_80838EC + ldr r0, [r4] + ldr r1, _0807EC18 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _0807EBD4 + bl GetLeaderEntity + ldr r1, _0807EC1C + ldr r1, [r1] + bl SendMessage +_0807EBD4: + ldr r4, _0807EC14 + ldr r0, [r4] + ldr r2, _0807EC20 + adds r1, r0, r2 + ldrb r0, [r1] + cmp r0, 0 + beq _0807EC00 + adds r0, r1, 0 + bl sub_80838EC + ldr r0, [r4] + ldr r1, _0807EC20 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _0807EC00 + bl GetLeaderEntity + ldr r1, _0807EC24 + ldr r1, [r1] + bl SendMessage +_0807EC00: + ldr r0, [sp, 0x8] + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0807EC14: .4byte gDungeonGlobalData +_0807EC18: .4byte 0x0000e277 +_0807EC1C: .4byte gUnknown_80FA778 +_0807EC20: .4byte 0x0000e278 +_0807EC24: .4byte gUnknown_80FA758 + thumb_func_end sub_807EAA0 + + thumb_func_start sub_807EC28 +sub_807EC28: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x1C + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + bl sub_8044B28 + lsls r0, 24 + cmp r0, 0 + beq _0807EC46 + b _0807EF32 +_0807EC46: + bl GetLeaderEntity + adds r7, r0, 0 + ldr r0, [r7, 0x70] + mov r9, r0 + ldr r4, _0807ECB4 + ldr r0, [r4] + movs r5, 0xD3 + lsls r5, 3 + adds r0, r5 + ldrb r0, [r0] + str r0, [sp, 0x8] + adds r0, r7, 0 + bl GetMapTileForDungeonEntity_2 + ldrh r0, [r0] + lsrs r0, 5 + mov r10, r0 + movs r0, 0x1 + mov r1, r10 + ands r1, r0 + mov r10, r1 + ldr r0, [r4] + adds r0, r5 + strb r1, [r0] + ldr r0, [r4] + ldr r3, _0807ECB8 + adds r0, r3 + mov r2, r10 + strb r2, [r0] + ldr r2, [r4] + ldr r6, _0807ECBC + adds r0, r2, r6 + ldrb r1, [r0] + cmp r1, 0 + beq _0807EC90 + b _0807EF32 +_0807EC90: + adds r6, 0x26 + adds r0, r2, r6 + ldr r0, [r0] + cmp r0, 0 + bne _0807EC9C + b _0807EF32 +_0807EC9C: + mov r0, r9 + adds r0, 0xE4 + ldrb r0, [r0] + cmp r0, 0x1 + bne _0807ECC0 + adds r0, r2, r5 + strb r1, [r0] + ldr r0, [r4] + adds r0, r3 + strb r1, [r0] + b _0807EF32 + .align 2, 0 +_0807ECB4: .4byte gDungeonGlobalData +_0807ECB8: .4byte 0x00000699 +_0807ECBC: .4byte 0x0000066e +_0807ECC0: + movs r0, 0 + str r0, [sp, 0xC] + movs r6, 0 +_0807ECC6: + ldr r0, _0807ED48 + ldr r0, [r0] + lsls r1, r6, 2 + ldr r2, _0807ED4C + adds r0, r2 + adds r0, r1 + ldr r5, [r0] + adds r0, r5, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _0807ED0E + ldr r0, [r5, 0x70] + ldrb r0, [r0, 0x8] + cmp r0, 0x1 + bne _0807ED0E + adds r0, r5, 0 + bl sub_8070BC0 + lsls r0, 24 + cmp r0, 0 + beq _0807ED0E + adds r0, r7, 0 + bl GetEntityRoomIndex + adds r4, r0, 0 + adds r0, r5, 0 + bl GetEntityRoomIndex + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + bne _0807ED0E + movs r0, 0x1 + str r0, [sp, 0xC] +_0807ED0E: + adds r6, 0x1 + cmp r6, 0xF + ble _0807ECC6 + ldr r1, _0807ED50 + ldr r0, [sp] + ands r0, r1 + movs r1, 0xBE + lsls r1, 1 + orrs r0, r1 + ldr r1, _0807ED54 + ands r0, r1 + str r0, [sp] + ldr r1, [sp, 0x8] + cmp r1, 0 + bne _0807ED5C + mov r2, r10 + cmp r2, 0x1 + bne _0807ED64 + ldr r6, [sp, 0xC] + cmp r6, 0 + bne _0807ED3A + b _0807EF32 +_0807ED3A: + ldr r0, _0807ED58 + ldr r1, [r0] + mov r0, sp + movs r2, 0x1 + bl PrintFieldMessage + b _0807EF32 + .align 2, 0 +_0807ED48: .4byte gDungeonGlobalData +_0807ED4C: .4byte 0x0001358c +_0807ED50: .4byte 0xffff0000 +_0807ED54: .4byte 0xff00ffff +_0807ED58: .4byte gUnknown_80FE674 +_0807ED5C: + mov r0, r10 + cmp r0, 0x1 + bne _0807ED64 + b _0807EF32 +_0807ED64: + ldr r1, [sp, 0x8] + cmp r1, 0x1 + bne _0807ED70 + mov r2, r10 + cmp r2, 0 + beq _0807ED78 +_0807ED70: + mov r6, r8 + cmp r6, 0 + bne _0807ED78 + b _0807EF32 +_0807ED78: + movs r0, 0 + str r0, [sp, 0x10] + movs r1, 0 + str r1, [sp, 0x14] + bl sub_807EF48 + lsls r0, 24 + cmp r0, 0 + bne _0807ED8C + b _0807EECC +_0807ED8C: + movs r2, 0x1 + str r2, [sp, 0x14] + movs r6, 0 +_0807ED92: + ldr r0, _0807EE90 + ldr r0, [r0] + lsls r1, r6, 2 + ldr r2, _0807EE94 + adds r0, r2 + adds r0, r1 + ldr r5, [r0] + adds r0, r5, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + bne _0807EDAE + b _0807EEC4 +_0807EDAE: + ldr r0, [r5, 0x70] + ldrb r0, [r0, 0x8] + cmp r0, 0x1 + beq _0807EDB8 + b _0807EEC4 +_0807EDB8: + adds r0, r5, 0 + bl sub_8070BC0 + lsls r0, 24 + cmp r0, 0 + bne _0807EDC6 + b _0807EEC4 +_0807EDC6: + adds r0, r7, 0 + bl GetEntityRoomIndex + adds r4, r0, 0 + adds r0, r5, 0 + bl GetEntityRoomIndex + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + bne _0807EEC4 + movs r6, 0x1 + str r6, [sp, 0x10] + movs r0, 0x4 + ldrsh r1, [r7, r0] + movs r2, 0x4 + ldrsh r0, [r5, r2] + subs r1, r0 + cmp r1, 0 + bge _0807EDF0 + negs r1, r1 +_0807EDF0: + cmp r1, 0x1 + bgt _0807EE10 + movs r6, 0x6 + ldrsh r1, [r7, r6] + movs r2, 0x6 + ldrsh r0, [r5, r2] + subs r1, r0 + cmp r1, 0 + bge _0807EE04 + negs r1, r1 +_0807EE04: + adds r6, r7, 0x4 + mov r9, r6 + adds r0, r5, 0x4 + mov r8, r0 + cmp r1, 0x1 + ble _0807EE72 +_0807EE10: + movs r3, 0x1 + negs r3, r3 + add r6, sp, 0x4 + adds r1, r7, 0x4 + mov r9, r1 + adds r2, r5, 0x4 + mov r8, r2 +_0807EE1E: + movs r4, 0x1 + negs r4, r4 +_0807EE22: + ldrh r0, [r7, 0x4] + adds r0, r3 + lsls r0, 16 + lsrs r0, 16 + ldr r1, _0807EE98 + ldr r2, [sp, 0x4] + ands r2, r1 + orrs r2, r0 + str r2, [sp, 0x4] + ldrh r0, [r7, 0x6] + adds r0, r4 + lsls r0, 16 + ldr r1, _0807EE9C + ands r1, r2 + orrs r1, r0 + str r1, [sp, 0x4] + movs r2, 0 + ldrsh r0, [r6, r2] + asrs r1, 16 + str r3, [sp, 0x18] + bl GetMapTile_1 + ldrb r0, [r0, 0x9] + ldr r3, [sp, 0x18] + cmp r0, 0xFF + beq _0807EE66 + adds r0, r5, 0 + adds r1, r6, 0 + bl sub_80703A0 + lsls r0, 24 + ldr r3, [sp, 0x18] + cmp r0, 0 + beq _0807EEA0 +_0807EE66: + adds r4, 0x1 + cmp r4, 0x1 + ble _0807EE22 + adds r3, 0x1 + cmp r3, 0x1 + ble _0807EE1E +_0807EE72: + adds r0, r7, 0 + bl sub_8070BC0 + lsls r0, 24 + cmp r0, 0 + beq _0807EEAE + mov r0, r9 + mov r1, r8 + bl CalculateFacingDir + adds r1, r0, 0 + adds r0, r7, 0 + bl sub_806CE34 + b _0807EEB2 + .align 2, 0 +_0807EE90: .4byte gDungeonGlobalData +_0807EE94: .4byte 0x0001358c +_0807EE98: .4byte 0xffff0000 +_0807EE9C: .4byte 0x0000ffff +_0807EEA0: + adds r0, r7, 0 + adds r1, r5, 0 + movs r2, 0x3 + adds r3, r6, 0 + bl sub_807D148 + b _0807EE72 +_0807EEAE: + movs r6, 0 + str r6, [sp, 0x10] +_0807EEB2: + mov r0, r8 + mov r1, r9 + bl CalculateFacingDir + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_806CE68 + b _0807EECC +_0807EEC4: + adds r6, 0x1 + cmp r6, 0xF + bgt _0807EECC + b _0807ED92 +_0807EECC: + ldr r0, [sp, 0x14] + cmp r0, 0 + beq _0807EF04 + ldr r1, [sp, 0x10] + cmp r1, 0 + beq _0807EEDE + ldr r0, [sp, 0xC] + cmp r0, 0 + bne _0807EF04 +_0807EEDE: + ldr r0, _0807EEF8 + ldr r0, [r0] + ldr r2, _0807EEFC + adds r1, r0, r2 + ldr r6, _0807EF00 + adds r0, r6 + ldr r1, [r1] + ldr r0, [r0] + cmp r1, r0 + ble _0807EF32 +_0807EEF2: + bl sub_807F33C + b _0807EF32 + .align 2, 0 +_0807EEF8: .4byte gDungeonGlobalData +_0807EEFC: .4byte 0x00000694 +_0807EF00: .4byte 0x0000068c +_0807EF04: + ldr r0, [sp, 0x10] + bl sub_807EFFC + ldr r0, [sp, 0x10] + bl sub_807F19C + cmp r0, 0 + bne _0807EEF2 + ldr r0, [sp, 0x8] + cmp r0, 0x1 + bne _0807EF32 + mov r1, r10 + cmp r1, 0 + bne _0807EF32 + ldr r2, [sp, 0xC] + cmp r2, 0 + beq _0807EF32 + ldr r0, _0807EF44 + ldr r1, [r0] + mov r0, sp + movs r2, 0x1 + bl PrintFieldMessage +_0807EF32: + 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 +_0807EF44: .4byte gUnknown_80FE65C + thumb_func_end sub_807EC28 + + thumb_func_start sub_807EF48 +sub_807EF48: + push {lr} + ldr r0, _0807EF70 + ldr r2, [r0] + ldr r1, _0807EF74 + adds r0, r2, r1 + ldr r3, _0807EF78 + adds r1, r2, r3 + ldr r0, [r0] + ldr r1, [r1] + subs r0, r1 + cmp r0, 0 + bgt _0807EF7C + movs r1, 0xD2 + lsls r1, 3 + adds r0, r2, r1 + ldr r0, [r0] + cmp r0, 0 + bne _0807EF7C + movs r0, 0 + b _0807EF7E + .align 2, 0 +_0807EF70: .4byte gDungeonGlobalData +_0807EF74: .4byte 0x00000694 +_0807EF78: .4byte 0x0000068c +_0807EF7C: + movs r0, 0x1 +_0807EF7E: + pop {r1} + bx r1 + thumb_func_end sub_807EF48 + + thumb_func_start sub_807EF84 +sub_807EF84: + push {r4,lr} + sub sp, 0x4 + ldr r1, _0807EFD0 + ldr r0, [sp] + ands r0, r1 + movs r1, 0xBE + lsls r1, 1 + orrs r0, r1 + ldr r1, _0807EFD4 + ands r0, r1 + str r0, [sp] + movs r0, 0x1 + bl sub_807EFFC + movs r0, 0x1 + bl sub_807F19C + adds r4, r0, 0 + cmp r4, 0 + beq _0807EFE2 + bl GetLeaderEntity + bl GetMapTileForDungeonEntity_2 + ldrh r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _0807EFDC + cmp r4, 0x2 + beq _0807EFEE + ldr r0, _0807EFD8 + ldr r1, [r0] + mov r0, sp + movs r2, 0x1 + bl PrintFieldMessage + b _0807EFEE + .align 2, 0 +_0807EFD0: .4byte 0xffff0000 +_0807EFD4: .4byte 0xff00ffff +_0807EFD8: .4byte gUnknown_80FE63C +_0807EFDC: + bl sub_807F33C + b _0807EFEE +_0807EFE2: + ldr r0, _0807EFF8 + ldr r1, [r0] + mov r0, sp + movs r2, 0x1 + bl PrintFieldMessage +_0807EFEE: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0807EFF8: .4byte gUnknown_80FE5F0 + thumb_func_end sub_807EF84 + + thumb_func_start sub_807EFFC +sub_807EFFC: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r3, r0, 24 + ldr r4, _0807F168 + ldr r0, [r4] + movs r5, 0xD2 + lsls r5, 3 + adds r2, r0, r5 + ldr r0, [r2] + cmp r0, 0 + bne _0807F01E + b _0807F158 +_0807F01E: + ldr r1, _0807F16C + ldr r0, [sp] + ands r0, r1 + movs r1, 0xBE + lsls r1, 1 + orrs r0, r1 + ldr r1, _0807F170 + ands r0, r1 + str r0, [sp] + cmp r3, 0 + bne _0807F036 + b _0807F158 +_0807F036: + ldr r1, _0807F174 + ldr r0, [r2] + str r0, [r1] + ldr r0, _0807F178 + ldr r1, [r0] + mov r0, sp + movs r2, 0x1 + bl sub_8052B8C + cmp r0, 0x1 + beq _0807F04E + b _0807F158 +_0807F04E: + movs r0, 0xA6 + lsls r0, 1 + bl PlaySoundEffect + ldr r0, [r4] + adds r0, r5 + ldr r0, [r0] + bl AddToTeamMoney + ldr r0, [r4] + ldr r2, _0807F17C + adds r1, r0, r2 + ldr r1, [r1] + str r1, [sp, 0xC] + ldr r2, _0807F180 + adds r1, r0, r2 + ldr r6, [r1] + ldr r1, _0807F184 + adds r0, r1 + ldr r0, [r0] + cmp r6, r0 + bgt _0807F134 + mov r8, r4 +_0807F07C: + mov r2, r8 + ldr r0, [r2] + ldr r2, _0807F188 + adds r1, r0, r2 + ldr r5, [r1] + ldr r1, _0807F18C + adds r0, r1 + ldr r0, [r0] + adds r2, r6, 0x1 + mov r10, r2 + cmp r5, r0 + bgt _0807F124 + lsls r0, r6, 16 + lsrs r0, 16 + mov r9, r0 +_0807F09A: + lsls r0, r5, 16 + mov r1, r9 + orrs r0, r1 + str r0, [sp, 0x4] + adds r0, r6, 0 + adds r1, r5, 0 + bl GetMapTile_1 + adds r4, r0, 0 + ldrh r1, [r4] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _0807F114 + ldr r0, [r4, 0x14] + cmp r0, 0 + beq _0807F114 + bl GetEntityType + cmp r0, 0x3 + bne _0807F114 + ldr r0, [r4, 0x14] + bl GetItemData + adds r2, r0, 0 + ldrb r1, [r2] + movs r7, 0x2 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _0807F114 + ldr r0, [r2] + str r0, [sp, 0x8] + add r4, sp, 0x4 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_80461C8 + ldr r0, [sp, 0x8] + lsrs r0, 16 + lsls r0, 24 + lsrs r0, 24 + bl CanSellItem + lsls r0, 24 + add r3, sp, 0x8 + cmp r0, 0 + beq _0807F10A + ldrb r0, [r3] + adds r2, r7, 0 + orrs r2, r0 + ldr r1, _0807F190 + ldr r0, [sp, 0x8] + ands r0, r1 + orrs r0, r2 + str r0, [sp, 0x8] +_0807F10A: + adds r0, r4, 0 + adds r1, r3, 0 + movs r2, 0x1 + bl sub_80460F8 +_0807F114: + adds r5, 0x1 + mov r2, r8 + ldr r0, [r2] + ldr r1, _0807F18C + adds r0, r1 + ldr r0, [r0] + cmp r5, r0 + ble _0807F09A +_0807F124: + mov r6, r10 + mov r2, r8 + ldr r0, [r2] + ldr r1, _0807F184 + adds r0, r1 + ldr r0, [r0] + cmp r6, r0 + ble _0807F07C +_0807F134: + ldr r0, _0807F168 + ldr r0, [r0] + ldr r1, _0807F194 + adds r2, r0, r1 + subs r1, 0x8 + adds r0, r1 + ldr r1, [r0] + ldr r0, [sp, 0xC] + subs r1, r0 + ldr r0, [r2] + adds r0, r1 + str r0, [r2] + ldr r0, _0807F198 + ldr r1, [r0] + mov r0, sp + movs r2, 0x1 + bl PrintFieldMessage +_0807F158: + 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 +_0807F168: .4byte gDungeonGlobalData +_0807F16C: .4byte 0xffff0000 +_0807F170: .4byte 0xff00ffff +_0807F174: .4byte gUnknown_202DE30 +_0807F178: .4byte gUnknown_80FE5C0 +_0807F17C: .4byte 0x0000068c +_0807F180: .4byte 0x0000e240 +_0807F184: .4byte 0x0000e248 +_0807F188: .4byte 0x0000e244 +_0807F18C: .4byte 0x0000e24c +_0807F190: .4byte 0xffffff00 +_0807F194: .4byte 0x00000694 +_0807F198: .4byte gUnknown_80FE4F4 + thumb_func_end sub_807EFFC + + thumb_func_start sub_807F19C +sub_807F19C: + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _0807F1EC + ldr r0, [sp] + ands r0, r1 + movs r1, 0xBE + lsls r1, 1 + orrs r0, r1 + ldr r1, _0807F1F0 + ands r0, r1 + str r0, [sp] + ldr r0, _0807F1F4 + ldr r0, [r0] + ldr r3, _0807F1F8 + adds r1, r0, r3 + subs r3, 0x8 + adds r0, r3 + ldr r1, [r1] + ldr r0, [r0] + subs r4, r1, r0 + cmp r4, 0 + bgt _0807F1CE + b _0807F31A +_0807F1CE: + cmp r2, 0 + beq _0807F1E6 + ldr r0, _0807F1FC + str r4, [r0] + ldr r0, _0807F200 + ldr r1, [r0] + mov r0, sp + movs r2, 0x1 + bl sub_8052B8C + cmp r0, 0x1 + beq _0807F204 +_0807F1E6: + movs r0, 0x1 + b _0807F31C + .align 2, 0 +_0807F1EC: .4byte 0xffff0000 +_0807F1F0: .4byte 0xff00ffff +_0807F1F4: .4byte gDungeonGlobalData +_0807F1F8: .4byte 0x00000694 +_0807F1FC: .4byte gUnknown_202DE30 +_0807F200: .4byte gUnknown_80FE568 +_0807F204: + ldr r0, _0807F224 + ldr r0, [r0] + movs r1, 0x98 + lsls r1, 2 + adds r0, r1 + ldr r0, [r0] + cmp r0, r4 + bge _0807F22C + ldr r0, _0807F228 + ldr r1, [r0] + mov r0, sp + movs r2, 0x1 + bl PrintFieldMessage + movs r0, 0x2 + b _0807F31C + .align 2, 0 +_0807F224: .4byte gTeamInventory_203B460 +_0807F228: .4byte gUnknown_80FE520 +_0807F22C: + movs r0, 0xA6 + lsls r0, 1 + bl PlaySoundEffect + negs r0, r4 + bl AddToTeamMoney + movs r6, 0 +_0807F23C: + movs r5, 0 + adds r7, r6, 0x1 +_0807F240: + adds r0, r6, 0 + adds r1, r5, 0 + bl GetMapTile_1 + adds r4, r0, 0 + ldrh r1, [r4] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + bne _0807F27E + ldr r0, [r4, 0x14] + cmp r0, 0 + beq _0807F27E + bl GetEntityType + cmp r0, 0x3 + bne _0807F27E + ldr r0, [r4, 0x14] + bl GetItemData + adds r4, r0, 0 + ldrb r0, [r4, 0x2] + bl CanSellItem + lsls r0, 24 + cmp r0, 0 + beq _0807F27E + ldrb r1, [r4] + movs r0, 0xFD + ands r0, r1 + strb r0, [r4] +_0807F27E: + adds r5, 0x1 + cmp r5, 0x1F + ble _0807F240 + adds r6, r7, 0 + cmp r6, 0x37 + ble _0807F23C + movs r5, 0 +_0807F28C: + ldr r0, _0807F324 + lsls r1, r5, 2 + ldr r0, [r0] + adds r4, r0, r1 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0807F2B2 + ldrb r0, [r4, 0x2] + bl CanSellItem + lsls r0, 24 + cmp r0, 0 + beq _0807F2B2 + ldrb r1, [r4] + movs r0, 0xFD + ands r0, r1 + strb r0, [r4] +_0807F2B2: + adds r5, 0x1 + cmp r5, 0x13 + ble _0807F28C + movs r5, 0 +_0807F2BA: + ldr r0, _0807F328 + ldr r0, [r0] + lsls r1, r5, 2 + ldr r2, _0807F32C + adds r0, r2 + adds r0, r1 + ldr r4, [r0] + adds r0, r4, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _0807F2F8 + ldr r0, [r4, 0x70] + adds r4, r0, 0 + adds r4, 0x60 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0807F2F8 + ldrb r0, [r4, 0x2] + bl CanSellItem + lsls r0, 24 + cmp r0, 0 + beq _0807F2F8 + ldrb r1, [r4] + movs r0, 0xFD + ands r0, r1 + strb r0, [r4] +_0807F2F8: + adds r5, 0x1 + cmp r5, 0x13 + ble _0807F2BA + ldr r0, _0807F328 + ldr r0, [r0] + ldr r3, _0807F330 + adds r1, r0, r3 + ldr r2, _0807F334 + adds r0, r2 + ldr r0, [r0] + str r0, [r1] + ldr r0, _0807F338 + ldr r1, [r0] + mov r0, sp + movs r2, 0x1 + bl PrintFieldMessage +_0807F31A: + movs r0, 0 +_0807F31C: + add sp, 0x4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0807F324: .4byte gTeamInventory_203B460 +_0807F328: .4byte gDungeonGlobalData +_0807F32C: .4byte 0x000135cc +_0807F330: .4byte 0x00000694 +_0807F334: .4byte 0x0000068c +_0807F338: .4byte gUnknown_80FE4D4 + thumb_func_end sub_807F19C + + thumb_func_start sub_807F33C +sub_807F33C: + push {r4-r7,lr} + ldr r2, _0807F41C + ldr r0, [r2] + ldr r1, _0807F420 + adds r0, r1 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r2] + ldr r2, _0807F424 + adds r0, r2 + strb r1, [r0] + bl GetLeaderEntity + ldr r1, _0807F428 + ldr r1, [r1] + bl SendMessage + movs r6, 0 +_0807F360: + movs r5, 0 + adds r7, r6, 0x1 +_0807F364: + adds r0, r6, 0 + adds r1, r5, 0 + bl GetMapTile_1 + adds r4, r0, 0 + ldr r0, [r4, 0x14] + cmp r0, 0 + beq _0807F38A + bl GetEntityType + cmp r0, 0x3 + bne _0807F38A + ldr r0, [r4, 0x14] + bl GetItemData + ldrb r2, [r0] + movs r1, 0xFD + ands r1, r2 + strb r1, [r0] +_0807F38A: + adds r5, 0x1 + cmp r5, 0x1F + ble _0807F364 + adds r6, r7, 0 + cmp r6, 0x37 + ble _0807F360 + movs r6, 0 + ldr r4, _0807F42C + movs r5, 0x1 + movs r3, 0xFD +_0807F39E: + lsls r1, r6, 2 + ldr r0, [r4] + adds r2, r0, r1 + ldrb r1, [r2] + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _0807F3B4 + adds r0, r3, 0 + ands r0, r1 + strb r0, [r2] +_0807F3B4: + adds r6, 0x1 + cmp r6, 0x13 + ble _0807F39E + movs r6, 0 +_0807F3BC: + ldr r0, _0807F41C + ldr r0, [r0] + lsls r1, r6, 2 + ldr r3, _0807F430 + adds r0, r3 + adds r0, r1 + ldr r5, [r0] + adds r0, r5, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _0807F3F4 + ldr r4, [r5, 0x70] + movs r0, 0 + strb r0, [r4, 0x8] + adds r0, r5, 0 + bl GetMovementSpeed + adds r4, 0x60 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0807F3F4 + movs r0, 0xFD + ands r0, r1 + strb r0, [r4] +_0807F3F4: + adds r6, 0x1 + cmp r6, 0x13 + ble _0807F3BC + ldr r0, _0807F41C + ldr r1, [r0] + ldr r2, _0807F434 + adds r0, r1, r2 + movs r2, 0 + str r2, [r0] + ldr r3, _0807F438 + adds r0, r1, r3 + str r2, [r0] + movs r0, 0xD2 + lsls r0, 3 + adds r1, r0 + str r2, [r1] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0807F41C: .4byte gDungeonGlobalData +_0807F420: .4byte 0x0000066e +_0807F424: .4byte 0x0000066f +_0807F428: .4byte gUnknown_80FE4B8 +_0807F42C: .4byte gTeamInventory_203B460 +_0807F430: .4byte 0x000135cc +_0807F434: .4byte 0x00000694 +_0807F438: .4byte 0x0000068c + thumb_func_end sub_807F33C + + thumb_func_start sub_807F43C +sub_807F43C: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10C + str r0, [sp, 0xEC] + mov r8, r1 + mov r0, r8 + movs r1, 0xE + bl HasAbility + lsls r0, 24 + cmp r0, 0 + beq _0807F470 + ldr r0, _0807F468 + mov r1, r8 + movs r2, 0 + bl SetMessageArgument + ldr r0, _0807F46C + b _0807F694 + .align 2, 0 +_0807F468: .4byte gAvailablePokemonNames +_0807F46C: .4byte gUnknown_80FCB40 +_0807F470: + ldr r0, [sp, 0xEC] + cmp r0, r8 + bne _0807F490 + ldr r0, _0807F488 + mov r1, r8 + movs r2, 0 + bl SetMessageArgument + ldr r0, _0807F48C + ldr r2, [r0] + mov r0, r8 + b _0807F698 + .align 2, 0 +_0807F488: .4byte gAvailablePokemonNames +_0807F48C: .4byte gUnknown_80FCB70 +_0807F490: + mov r1, r8 + ldr r0, [r1, 0x4] + add r1, sp, 0xD4 + str r0, [r1] + movs r2, 0 + str r2, [sp, 0xF0] +_0807F49C: + movs r3, 0 + mov r9, r3 + movs r7, 0 + mov r4, sp + adds r4, 0x18 + str r4, [sp, 0x108] +_0807F4A8: + ldr r0, _0807F504 + ldr r0, [r0] + lsls r1, r7, 2 + ldr r2, _0807F508 + adds r0, r2 + adds r0, r1 + ldr r4, [r0] + adds r0, r4, 0 + bl EntityExists + lsls r0, 24 + adds r3, r7, 0x1 + str r3, [sp, 0x104] + cmp r0, 0 + bne _0807F4C8 + b _0807F602 +_0807F4C8: + ldr r0, [sp, 0xEC] + cmp r0, r4 + bne _0807F4D0 + b _0807F602 +_0807F4D0: + cmp r8, r4 + bne _0807F4D6 + b _0807F602 +_0807F4D6: + adds r1, r4, 0 + bl CanSee + lsls r0, 24 + cmp r0, 0 + bne _0807F4E4 + b _0807F602 +_0807F4E4: + ldr r1, [sp, 0xF0] + cmp r1, 0 + bne _0807F50C + ldr r0, [sp, 0xEC] + adds r1, r4, 0 + movs r2, 0 + movs r3, 0x1 + bl CanTarget + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0807F500 + b _0807F602 +_0807F500: + b _0807F51E + .align 2, 0 +_0807F504: .4byte gDungeonGlobalData +_0807F508: .4byte 0x000135cc +_0807F50C: + ldr r0, [sp, 0xEC] + adds r1, r4, 0 + movs r2, 0 + movs r3, 0x1 + bl CanTarget + lsls r0, 24 + cmp r0, 0 + bne _0807F602 +_0807F51E: + ldr r2, [sp, 0xF0] + cmp r2, 0 + bne _0807F594 + movs r5, 0 + add r6, sp, 0xC8 + adds r3, r7, 0x1 + str r3, [sp, 0x104] + adds r7, r6, 0 + ldr r0, _0807F588 + mov r10, r0 +_0807F532: + ldr r0, _0807F58C + lsls r3, r5, 2 + adds r3, r0 + ldrh r0, [r4, 0x4] + ldrh r1, [r3] + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + ldr r1, [r6] + mov r2, r10 + ands r1, r2 + orrs r1, r0 + str r1, [r7] + ldrh r2, [r4, 0x6] + ldrh r3, [r3, 0x2] + adds r2, r3 + lsls r2, 16 + ldr r0, _0807F590 + ands r1, r0 + orrs r1, r2 + str r1, [r7] + mov r0, r8 + add r1, sp, 0xC8 + bl sub_80703A0 + lsls r0, 24 + cmp r0, 0 + beq _0807F570 + adds r5, 0x1 + cmp r5, 0x7 + ble _0807F532 +_0807F570: + cmp r5, 0x8 + beq _0807F602 + mov r3, r9 + cmp r3, 0x27 + bgt _0807F602 + ldr r0, [r4, 0x4] + ldr r4, [sp, 0x108] + stm r4!, {r0} + str r4, [sp, 0x108] + movs r0, 0x1 + add r9, r0 + b _0807F602 + .align 2, 0 +_0807F588: .4byte 0xffff0000 +_0807F58C: .4byte gAdjacentTileOffsets +_0807F590: .4byte 0x0000ffff +_0807F594: + movs r5, 0 + add r6, sp, 0xCC + adds r1, r7, 0x1 + str r1, [sp, 0x104] + adds r7, r6, 0 + mov r2, r9 + lsls r0, r2, 2 + add r0, sp + adds r0, 0x18 + mov r10, r0 +_0807F5A8: + ldr r0, _0807F630 + lsls r3, r5, 2 + adds r3, r0 + ldrh r0, [r4, 0x4] + ldrh r1, [r3] + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + ldr r2, _0807F634 + ldr r1, [r6] + ands r1, r2 + orrs r1, r0 + str r1, [r7] + ldrh r2, [r4, 0x6] + ldrh r3, [r3, 0x2] + adds r2, r3 + lsls r2, 16 + ldr r0, _0807F638 + ands r1, r0 + orrs r1, r2 + str r1, [r7] + mov r0, r8 + add r1, sp, 0xCC + bl sub_80703A0 + lsls r0, 24 + cmp r0, 0 + bne _0807F5FC + mov r2, r9 + cmp r2, 0x27 + bgt _0807F5FC + ldr r0, [r6] + mov r3, r10 + adds r3, 0x4 + mov r10, r3 + subs r3, 0x4 + stm r3!, {r0} + ldr r0, [sp, 0x108] + adds r0, 0x4 + str r0, [sp, 0x108] + movs r1, 0x1 + add r9, r1 +_0807F5FC: + adds r5, 0x1 + cmp r5, 0x7 + ble _0807F5A8 +_0807F602: + ldr r7, [sp, 0x104] + cmp r7, 0x13 + bgt _0807F60A + b _0807F4A8 +_0807F60A: + mov r2, r9 + cmp r2, 0 + bne _0807F63C + ldr r3, [sp, 0xF0] + adds r3, 0x1 + str r3, [sp, 0xF0] + cmp r3, 0x1 + bgt _0807F61C + b _0807F49C +_0807F61C: + ldr r0, [sp, 0xEC] + adds r0, 0x4 + add r4, sp, 0xB8 + adds r1, r4, 0 + bl sub_80833E8 + movs r7, 0 + add r5, sp, 0xD0 + adds r6, r5, 0 + b _0807F654 + .align 2, 0 +_0807F630: .4byte gAdjacentTileOffsets +_0807F634: .4byte 0xffff0000 +_0807F638: .4byte 0x0000ffff +_0807F63C: + mov r0, r9 + bl DungeonRandomCapped + lsls r0, 2 + add r0, sp + adds r0, 0x18 + ldr r0, [r0] + str r0, [sp, 0xD4] + b _0807F6A8 +_0807F64E: + ldr r0, [r5] + str r0, [sp, 0xD4] + b _0807F68E +_0807F654: + ldr r0, [r4] + ldr r1, [r4, 0x8] + bl sub_808411C + lsls r0, 16 + lsrs r0, 16 + ldr r2, _0807F6A0 + ldr r1, [r5] + ands r1, r2 + orrs r1, r0 + str r1, [r6] + ldr r0, [r4, 0x4] + ldr r1, [r4, 0xC] + bl sub_808411C + lsls r0, 16 + ldrh r1, [r6] + orrs r1, r0 + str r1, [r6] + mov r0, r8 + add r1, sp, 0xD0 + bl sub_80703A0 + lsls r0, 24 + cmp r0, 0 + beq _0807F64E + adds r7, 0x1 + cmp r7, 0x63 + ble _0807F654 +_0807F68E: + cmp r7, 0x64 + bne _0807F6A8 + ldr r0, _0807F6A4 +_0807F694: + ldr r2, [r0] + ldr r0, [sp, 0xEC] +_0807F698: + mov r1, r8 + bl sub_80522F4 + b _0807F99C + .align 2, 0 +_0807F6A0: .4byte 0xffff0000 +_0807F6A4: .4byte gUnknown_80FE6B4 +_0807F6A8: + ldr r0, _0807F860 + mov r1, r8 + movs r2, 0 + bl SetMessageArgument + ldr r0, _0807F864 + ldr r2, [r0] + ldr r0, [sp, 0xEC] + mov r1, r8 + bl sub_80522F4 + mov r0, r8 + bl sub_8045888 + lsls r0, 24 + cmp r0, 0 + beq _0807F6D0 + ldr r0, _0807F868 + bl PlaySoundEffect +_0807F6D0: + movs r4, 0 + str r4, [sp, 0x100] + mov r1, r8 + ldr r0, [r1, 0x70] + adds r0, 0x46 + ldrb r0, [r0] + mov r9, r0 + add r2, sp, 0xD4 + movs r3, 0 + ldrsh r1, [r2, r3] + mov r4, r8 + movs r3, 0x4 + ldrsh r0, [r4, r3] + subs r3, r1, r0 + movs r4, 0x2 + ldrsh r1, [r2, r4] + mov r2, r8 + movs r4, 0x6 + ldrsh r0, [r2, r4] + subs r1, r0 + cmp r1, r3 + bge _0807F6FE + adds r1, r3, 0 +_0807F6FE: + lsls r6, r1, 4 + cmp r6, 0x50 + ble _0807F706 + movs r6, 0x50 +_0807F706: + cmp r6, 0x9 + bgt _0807F70C + movs r6, 0xA +_0807F70C: + mov r1, r8 + adds r1, 0x4 + add r0, sp, 0xD4 + bl CalculateFacingDir + adds r5, r0, 0 + add r2, sp, 0xD4 + movs r1, 0 + ldrsh r0, [r2, r1] + lsls r4, r0, 1 + adds r4, r0 + lsls r4, 11 + movs r3, 0xC0 + lsls r3, 4 + adds r4, r3 + ldr r0, _0807F86C + lsls r5, 2 + adds r5, r0 + movs r1, 0 + ldrsh r0, [r5, r1] + lsls r0, 8 + movs r1, 0x3 + bl __divsi3 + adds r4, r0 + str r4, [sp, 0xF4] + movs r3, 0xD6 + add r3, sp + movs r2, 0 + ldrsh r0, [r3, r2] + lsls r4, r0, 1 + adds r4, r0 + lsls r4, 11 + movs r0, 0x80 + lsls r0, 5 + adds r4, r0 + movs r1, 0x2 + ldrsh r0, [r5, r1] + lsls r0, 8 + movs r1, 0x3 + bl __divsi3 + adds r4, r0 + str r4, [sp, 0xF8] + mov r2, r8 + ldr r5, [r2, 0xC] + ldr r3, [sp, 0xF4] + subs r0, r3, r5 + adds r1, r6, 0 + bl __divsi3 + str r0, [sp, 0xFC] + mov r0, r8 + ldr r4, [r0, 0x10] + ldr r1, [sp, 0xF8] + subs r0, r1, r4 + adds r1, r6, 0 + bl __divsi3 + mov r10, r0 + add r0, sp, 0xD8 + str r5, [r0] + str r4, [r0, 0x4] + movs r7, 0 + adds r5, r0, 0 + cmp r7, r6 + bge _0807F7FC + adds r4, r5, 0 +_0807F794: + ldr r0, [r5] + ldr r2, [sp, 0xFC] + adds r0, r2, r0 + str r0, [r4] + ldr r0, [r4, 0x4] + add r0, r10 + str r0, [r4, 0x4] + mov r0, r8 + adds r1, r4, 0 + bl sub_804535C + mov r0, r8 + bl sub_8045888 + lsls r0, 24 + cmp r0, 0 + beq _0807F7E6 + ldr r0, [sp, 0x100] + bl sub_8009C7C + lsls r0, 5 + mov r3, r8 + str r0, [r3, 0x1C] + movs r0, 0x3B + bl sub_803E46C + movs r0, 0x3 + ands r0, r7 + cmp r0, 0 + bne _0807F7E6 + movs r0, 0x7 + mov r1, r9 + ands r1, r0 + mov r9, r1 + mov r0, r8 + movs r1, 0x6 + mov r2, r9 + bl sub_806CDD4 + movs r2, 0x1 + add r9, r2 +_0807F7E6: + movs r0, 0x80 + lsls r0, 4 + adds r1, r6, 0 + bl __divsi3 + ldr r3, [sp, 0x100] + adds r3, r0 + str r3, [sp, 0x100] + adds r7, 0x1 + cmp r7, r6 + blt _0807F794 +_0807F7FC: + ldr r4, [sp, 0xF4] + str r4, [r5] + add r1, sp, 0xD8 + ldr r0, [sp, 0xF8] + str r0, [r1, 0x4] + movs r0, 0 + mov r2, r8 + str r0, [r2, 0x1C] + mov r0, r8 + bl sub_804535C + movs r0, 0x3B + bl sub_803E46C + mov r3, r8 + ldr r0, [r3, 0x70] + movs r1, 0x7 + mov r4, r9 + ands r4, r1 + adds r0, 0x46 + strb r4, [r0] + add r2, sp, 0xD4 + movs r1, 0 + ldrsh r0, [r2, r1] + adds r4, r2, 0 + movs r3, 0x2 + ldrsh r1, [r4, r3] + bl GetMapTile_1 + ldr r6, [r0, 0x10] + adds r0, r6, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + bne _0807F876 + add r2, sp, 0xD4 + movs r0, 0 + ldrsh r1, [r2, r0] + movs r3, 0x2 + ldrsh r2, [r4, r3] + mov r0, r8 + movs r3, 0x1 + bl sub_80694C0 + mov r0, r8 + bl sub_807F9BC + b _0807F99C + .align 2, 0 +_0807F860: .4byte gAvailablePokemonNames +_0807F864: .4byte gUnknown_80FE690 +_0807F868: .4byte 0x000001a3 +_0807F86C: .4byte gAdjacentTileOffsets +_0807F870: + ldr r0, [r7] + str r0, [sp, 0xD4] + b _0807F8BE +_0807F876: + movs r5, 0 + add r4, sp, 0xE0 + adds r7, r4, 0 +_0807F87C: + ldr r0, _0807F8D0 + lsls r3, r5, 2 + adds r3, r0 + add r1, sp, 0xD4 + ldrh r0, [r1] + ldrh r2, [r3] + adds r0, r2 + lsls r0, 16 + lsrs r0, 16 + ldr r2, _0807F8D4 + ldr r1, [r7] + ands r1, r2 + orrs r1, r0 + str r1, [r4] + add r0, sp, 0xD4 + ldrh r2, [r0, 0x2] + ldrh r3, [r3, 0x2] + adds r2, r3 + lsls r2, 16 + ldr r0, _0807F8D8 + ands r1, r0 + orrs r1, r2 + str r1, [r4] + mov r0, r8 + add r1, sp, 0xE0 + bl sub_80703A0 + lsls r0, 24 + cmp r0, 0 + beq _0807F870 + adds r5, 0x1 + cmp r5, 0x7 + ble _0807F87C +_0807F8BE: + cmp r5, 0x8 + bne _0807F8DC + ldr r0, [sp, 0xEC] + mov r1, r8 + movs r2, 0 + movs r3, 0 + bl sub_807D148 + b _0807F8FA + .align 2, 0 +_0807F8D0: .4byte gAdjacentTileOffsets +_0807F8D4: .4byte 0xffff0000 +_0807F8D8: .4byte 0x0000ffff +_0807F8DC: + mov r0, r8 + add r1, sp, 0xD4 + bl sub_807D068 + add r0, sp, 0xD4 + movs r3, 0 + ldrsh r1, [r0, r3] + movs r0, 0xD6 + add r0, sp + movs r4, 0 + ldrsh r2, [r0, r4] + mov r0, r8 + movs r3, 0x1 + bl sub_80694C0 +_0807F8FA: + adds r0, r6, 0 + bl GetEntityType + cmp r0, 0x1 + bne _0807F954 + add r4, sp, 0xE4 + ldr r1, _0807F9AC + adds r0, r4, 0 + bl InitPokemonMove + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_80571F0 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + bne _0807F93C + ldr r0, _0807F9B0 + movs r3, 0 + ldrsh r2, [r0, r3] + str r1, [sp] + str r1, [sp, 0x4] + ldr r0, _0807F9B4 + str r0, [sp, 0x8] + str r1, [sp, 0xC] + str r1, [sp, 0x10] + str r1, [sp, 0x14] + ldr r0, [sp, 0xEC] + adds r1, r6, 0 + movs r3, 0 + bl sub_806F370 +_0807F93C: + adds r0, r6, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _0807F954 + ldr r0, [r6, 0x70] + adds r0, 0x46 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_806CE68 +_0807F954: + ldr r0, _0807F9B0 + movs r4, 0 + ldrsh r2, [r0, r4] + movs r1, 0 + str r1, [sp] + str r1, [sp, 0x4] + ldr r0, _0807F9B8 + str r0, [sp, 0x8] + str r1, [sp, 0xC] + str r1, [sp, 0x10] + str r1, [sp, 0x14] + ldr r0, [sp, 0xEC] + mov r1, r8 + movs r3, 0 + bl sub_806F370 + mov r0, r8 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _0807F98E + mov r1, r8 + ldr r0, [r1, 0x70] + adds r0, 0x46 + ldrb r1, [r0] + mov r0, r8 + bl sub_806CE68 +_0807F98E: + movs r0, 0x1E + movs r1, 0x3B + bl sub_803E708 + mov r0, r8 + bl sub_807F9BC +_0807F99C: + add sp, 0x10C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0807F9AC: .4byte 0x00000163 +_0807F9B0: .4byte gUnknown_80F4F92 +_0807F9B4: .4byte 0x0000021a +_0807F9B8: .4byte 0x00000219 + thumb_func_end sub_807F43C + + thumb_func_start sub_807F9BC +sub_807F9BC: + push {r4,lr} + adds r4, r0, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _0807FA0A + ldr r0, [r4, 0x70] + ldrb r0, [r0, 0x7] + cmp r0, 0 + beq _0807F9F4 + ldr r2, _0807FA10 + ldr r1, [r2] + movs r0, 0 + strb r0, [r1, 0x1] + ldr r0, [r2] + movs r1, 0xB8 + lsls r1, 3 + adds r0, r1 + movs r1, 0x1 + negs r1, r1 + str r1, [r0] + adds r0, r4, 0x4 + bl sub_804AC20 + movs r0, 0 + bl sub_807EC28 +_0807F9F4: + adds r0, r4, 0 + bl sub_806A5B8 + ldr r0, _0807FA10 + ldr r0, [r0] + ldr r1, _0807FA14 + adds r0, r1 + ldrb r1, [r0] + adds r0, r4, 0 + bl sub_8075900 +_0807FA0A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0807FA10: .4byte gDungeonGlobalData +_0807FA14: .4byte 0x00003a08 + thumb_func_end sub_807F9BC + + thumb_func_start sub_807FA18 +sub_807FA18: + push {r4-r7,lr} + sub sp, 0x4 + movs r6, 0 +_0807FA1E: + movs r5, 0 + adds r7, r6, 0x1 +_0807FA22: + adds r0, r5, 0 + adds r1, r6, 0 + bl GetMapTile_2 + adds r4, r0, 0 + ldrh r1, [r4, 0x4] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _0807FA88 + lsls r0, r5, 16 + lsls r1, r6, 16 + lsrs r0, 16 + orrs r0, r1 + str r0, [sp] + ldrh r1, [r4, 0x4] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0807FA4E + movs r0, 0x6 + b _0807FA56 +_0807FA4E: + bl sub_803D6FC + lsls r0, 24 + lsrs r0, 24 +_0807FA56: + cmp r0, 0x11 + bne _0807FA72 + movs r0, 0x11 + mov r1, sp + movs r2, 0x2 + bl sub_8045684 + cmp r0, 0 + beq _0807FA88 + str r0, [r4, 0x14] + adds r1, r0, 0 + adds r1, 0x20 + movs r0, 0x1 + b _0807FA86 +_0807FA72: + mov r1, sp + movs r2, 0 + bl sub_8045684 + cmp r0, 0 + beq _0807FA88 + str r0, [r4, 0x14] + adds r1, r0, 0 + adds r1, 0x20 + movs r0, 0 +_0807FA86: + strb r0, [r1] +_0807FA88: + adds r5, 0x1 + cmp r5, 0x37 + ble _0807FA22 + adds r6, r7, 0 + cmp r6, 0x1F + ble _0807FA1E + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_807FA18 + + thumb_func_start sub_807FA9C +sub_807FA9C: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + ldr r2, _0807FAC4 + ldr r0, [r2] + ldr r3, _0807FAC8 + adds r1, r0, r3 + ldrb r1, [r1] + str r1, [sp] + ldr r1, _0807FACC + adds r0, r1 + movs r3, 0 + ldrsh r0, [r0, r3] + subs r1, r0, 0x5 + mov r8, r1 + b _0807FBFE + .align 2, 0 +_0807FAC4: .4byte gDungeonGlobalData +_0807FAC8: .4byte 0x0001820f +_0807FACC: .4byte 0x000181ea +_0807FAD0: + ldr r0, [r2] + ldr r2, _0807FC18 + adds r0, r2 + movs r3, 0 + ldrsh r0, [r0, r3] + subs r5, r0, 0x6 + adds r0, 0x6 + mov r1, r8 + adds r1, 0x1 + str r1, [sp, 0x4] + cmp r5, r0 + blt _0807FAEA + b _0807FBEE +_0807FAEA: + ldr r7, _0807FC1C + ldr r2, _0807FC20 + mov r10, r2 + lsls r0, r5, 1 + adds r0, r5 + lsls r0, 3 + mov r9, r0 +_0807FAF8: + movs r6, 0 + adds r0, r5, 0 + mov r1, r8 + bl GetMapTile_1 + adds r4, r0, 0 + ldr r0, [r4, 0x14] + cmp r0, 0 + beq _0807FB24 + bl GetEntityType + cmp r0, 0x2 + bne _0807FB24 + ldr r0, [r4, 0x14] + adds r0, 0x20 + ldrb r0, [r0] + cmp r0, 0 + bne _0807FB22 + ldr r3, [sp] + cmp r3, 0 + beq _0807FB24 +_0807FB22: + movs r6, 0x1 +_0807FB24: + ldrh r0, [r4] + movs r2, 0x80 + lsls r2, 2 + adds r1, r2, 0 + ands r0, r1 + cmp r0, 0 + beq _0807FB34 + movs r6, 0x1 +_0807FB34: + cmp r6, 0 + beq _0807FBD6 + ldr r0, _0807FC24 + ldr r1, [r0] + ldr r3, _0807FC28 + adds r0, r1, r3 + movs r2, 0 + ldrsh r0, [r0, r2] + mov r2, r9 + subs r3, r2, r0 + mov r2, r8 + lsls r0, r2, 1 + add r0, r8 + lsls r0, 3 + ldr r2, _0807FC2C + adds r1, r2 + movs r2, 0 + ldrsh r1, [r1, r2] + subs r2, r0, r1 + movs r0, 0x20 + negs r0, r0 + cmp r3, r0 + blt _0807FBD6 + cmp r2, r0 + blt _0807FBD6 + movs r0, 0x88 + lsls r0, 1 + cmp r3, r0 + bgt _0807FBD6 + cmp r2, 0xC0 + bgt _0807FBD6 + ldrh r1, [r7] + mov r0, r10 + ands r0, r1 + strh r0, [r7] + ldr r1, _0807FC30 + ands r1, r2 + lsls r1, 4 + ldrh r2, [r7, 0x6] + movs r0, 0xF + ands r0, r2 + orrs r0, r1 + strh r0, [r7, 0x6] + ldr r0, _0807FC34 + ands r3, r0 + ldrh r0, [r7, 0x2] + movs r2, 0xFE + lsls r2, 8 + adds r1, r2, 0 + ands r0, r1 + orrs r0, r3 + strh r0, [r7, 0x2] + ldrh r1, [r7, 0x4] + mov r0, r10 + ands r0, r1 + movs r3, 0xC0 + lsls r3, 4 + orrs r0, r3 + movs r1, 0 + orrs r0, r1 + movs r1, 0xA0 + lsls r1, 8 + ldr r2, _0807FC30 + ands r0, r2 + orrs r0, r1 + movs r3, 0 + orrs r0, r3 + movs r2, 0xFE + lsls r2, 1 + movs r3, 0xFC + lsls r3, 8 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strh r0, [r7, 0x4] + adds r0, r7, 0 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl AddSprite +_0807FBD6: + movs r0, 0x18 + add r9, r0 + adds r5, 0x1 + ldr r0, _0807FC24 + ldr r0, [r0] + ldr r1, _0807FC18 + adds r0, r1 + movs r2, 0 + ldrsh r0, [r0, r2] + adds r0, 0x6 + cmp r5, r0 + blt _0807FAF8 +_0807FBEE: + ldr r3, [sp, 0x4] + mov r8, r3 + ldr r2, _0807FC24 + ldr r0, [r2] + ldr r1, _0807FC38 + adds r0, r1 + movs r3, 0 + ldrsh r0, [r0, r3] +_0807FBFE: + adds r0, 0x5 + cmp r8, r0 + bge _0807FC06 + b _0807FAD0 +_0807FC06: + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0807FC18: .4byte 0x000181e8 +_0807FC1C: .4byte gUnknown_202EDC0 +_0807FC20: .4byte 0x0000f3ff +_0807FC24: .4byte gDungeonGlobalData +_0807FC28: .4byte 0x000181f0 +_0807FC2C: .4byte 0x000181f2 +_0807FC30: .4byte 0x00000fff +_0807FC34: .4byte 0x000001ff +_0807FC38: .4byte 0x000181ea + thumb_func_end sub_807FA9C + + thumb_func_start sub_807FC3C +sub_807FC3C: + push {r4-r7,lr} + ldr r6, _0807FC70 + ldr r4, [r6] + ldrh r5, [r0] + ldr r7, _0807FC74 + adds r3, r4, r7 + strh r5, [r3] + ldrh r3, [r0, 0x2] + ldr r5, _0807FC78 + adds r0, r4, r5 + strh r3, [r0] + adds r7, 0x4 + adds r4, r7 + strb r1, [r4] + ldr r0, [r6] + ldr r1, _0807FC7C + adds r0, r1 + strb r2, [r0] + ldr r0, [r6] + subs r5, 0x6 + adds r0, r5 + movs r1, 0x1 + strb r1, [r0] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0807FC70: .4byte gDungeonGlobalData +_0807FC74: .4byte 0x00013574 +_0807FC78: .4byte 0x00013576 +_0807FC7C: .4byte 0x00013579 + thumb_func_end sub_807FC3C + + thumb_func_start CanLayTrap +CanLayTrap: + push {lr} + movs r1, 0 + ldrsh r2, [r0, r1] + movs r3, 0x2 + ldrsh r1, [r0, r3] + adds r0, r2, 0 + bl GetMapTile_2 + adds r2, r0, 0 + ldrh r1, [r2] + movs r0, 0x80 + lsls r0, 2 + ands r0, r1 + cmp r0, 0 + bne _0807FCCA + ldrb r0, [r2, 0x9] + cmp r0, 0xFF + beq _0807FCCA + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + bne _0807FCCA + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + bne _0807FCCA + movs r0, 0x3 + ands r0, r1 + cmp r0, 0x1 + bne _0807FCCA + ldr r0, [r2, 0x14] + cmp r0, 0 + beq _0807FCCE + bl GetEntityType + cmp r0, 0x2 + beq _0807FCCE +_0807FCCA: + movs r0, 0 + b _0807FCD0 +_0807FCCE: + movs r0, 0x1 +_0807FCD0: + pop {r1} + bx r1 + thumb_func_end CanLayTrap + + thumb_func_start sub_807FCD4 +sub_807FCD4: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + lsls r2, 24 + lsrs r2, 24 + mov r8, r2 + movs r1, 0 + ldrsh r0, [r7, r1] + movs r2, 0x2 + ldrsh r1, [r7, r2] + bl GetMapTile_2 + adds r6, r0, 0 + cmp r5, 0x13 + bls _0807FD12 + movs r4, 0 + b _0807FCFE +_0807FCFC: + adds r4, 0x1 +_0807FCFE: + cmp r4, 0x1D + bgt _0807FD0C + bl sub_803D6FC + adds r5, r0, 0 + cmp r5, 0x11 + beq _0807FCFC +_0807FD0C: + cmp r4, 0x1E + bne _0807FD12 + movs r5, 0x10 +_0807FD12: + ldrh r1, [r6] + movs r0, 0x80 + lsls r0, 2 + ands r0, r1 + cmp r0, 0 + bne _0807FD6E + ldrb r0, [r6, 0x9] + cmp r0, 0xFF + beq _0807FD6E + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + bne _0807FD6E + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + bne _0807FD6E + movs r4, 0x3 + ands r4, r1 + cmp r4, 0x1 + bne _0807FD6E + ldr r0, [r6, 0x14] + cmp r0, 0 + beq _0807FD60 + bl GetEntityType + cmp r0, 0x2 + bne _0807FD6E + ldr r0, [r6, 0x14] + bl GetTrapData + strb r5, [r0] + ldr r0, [r6, 0x14] + bl GetTrapData + mov r1, r8 + strb r1, [r0, 0x1] + ldr r0, [r6, 0x14] + b _0807FD74 +_0807FD60: + adds r0, r5, 0 + adds r1, r7, 0 + mov r2, r8 + bl sub_8045684 + cmp r0, 0 + bne _0807FD72 +_0807FD6E: + movs r0, 0 + b _0807FD7A +_0807FD72: + str r0, [r6, 0x14] +_0807FD74: + adds r0, 0x20 + strb r4, [r0] + movs r0, 0x1 +_0807FD7A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_807FCD4 + + thumb_func_start sub_807FD84 +sub_807FD84: + push {r4-r6,lr} + adds r6, r0, 0 + movs r5, 0 + ldr r4, _0807FD9C + ldr r0, [r4] + ldr r2, _0807FDA0 + adds r1, r0, r2 + ldrb r0, [r1] + cmp r0, 0 + bne _0807FDA4 + movs r0, 0 + b _0807FDF6 + .align 2, 0 +_0807FD9C: .4byte gDungeonGlobalData +_0807FDA0: .4byte 0x00013570 +_0807FDA4: + strb r5, [r1] + ldr r2, [r4] + ldr r3, _0807FDD8 + adds r0, r2, r3 + adds r3, 0x4 + adds r1, r2, r3 + ldrb r1, [r1] + adds r3, 0x1 + adds r2, r3 + ldrb r2, [r2] + bl sub_807FCD4 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + beq _0807FDE0 + ldr r1, [r4] + ldr r0, _0807FDD8 + adds r1, r0 + ldr r0, _0807FDDC + ldr r2, [r0] + adds r0, r6, 0 + bl sub_8052364 + b _0807FDF0 + .align 2, 0 +_0807FDD8: .4byte 0x00013574 +_0807FDDC: .4byte gUnknown_80FC5F8 +_0807FDE0: + ldr r1, [r4] + ldr r2, _0807FDFC + adds r1, r2 + ldr r0, _0807FE00 + ldr r2, [r0] + adds r0, r6, 0 + bl sub_8052364 +_0807FDF0: + bl sub_8049ED4 + adds r0, r5, 0 +_0807FDF6: + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0807FDFC: .4byte 0x00013574 +_0807FE00: .4byte gUnknown_80FC5FC + thumb_func_end sub_807FD84 + + thumb_func_start sub_807FE04 +sub_807FE04: + push {r4,r5,lr} + adds r2, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + movs r1, 0 + ldrsh r0, [r2, r1] + movs r3, 0x2 + ldrsh r1, [r2, r3] + bl GetMapTile_2 + adds r4, r0, 0 + ldr r0, [r4, 0x14] + cmp r0, 0 + beq _0807FE3C + bl GetEntityType + cmp r0, 0x2 + bne _0807FE3C + ldr r1, [r4, 0x14] + movs r0, 0 + str r0, [r1] + str r0, [r4, 0x14] + cmp r5, 0 + beq _0807FE38 + bl sub_8049ED4 +_0807FE38: + movs r0, 0x1 + b _0807FE3E +_0807FE3C: + movs r0, 0 +_0807FE3E: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_807FE04 + + thumb_func_start sub_807FE44 +sub_807FE44: + push {r4,r5,lr} + adds r2, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + movs r1, 0 + ldrsh r0, [r2, r1] + movs r3, 0x2 + ldrsh r1, [r2, r3] + bl GetMapTile_1 + adds r4, r0, 0 + ldr r0, [r4, 0x14] + cmp r0, 0 + beq _0807FE7C + bl GetEntityType + cmp r0, 0x2 + bne _0807FE7C + ldr r0, [r4, 0x14] + adds r0, 0x20 + movs r1, 0x1 + strb r1, [r0] + cmp r5, 0 + beq _0807FE78 + bl sub_8049ED4 +_0807FE78: + movs r0, 0x1 + b _0807FE7E +_0807FE7C: + movs r0, 0 +_0807FE7E: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_807FE44 + + thumb_func_start GetTrapName +GetTrapName: + push {lr} + lsls r1, 24 + ldr r2, _0807FE98 + lsrs r1, 22 + adds r1, r2 + ldr r1, [r1] + bl strcpy + pop {r0} + bx r0 + .align 2, 0 +_0807FE98: .4byte gTrapNames + thumb_func_end GetTrapName + + thumb_func_start sub_807FE9C +sub_807FE9C: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + adds r5, r0, 0 + mov r9, r1 + str r2, [sp] + lsls r3, 24 + lsrs r6, r3, 24 + movs r2, 0 + ldrsh r0, [r1, r2] + movs r3, 0x2 + ldrsh r1, [r1, r3] + bl GetMapTile_2 + str r0, [sp, 0x4] + ldr r0, [r0, 0x14] + mov r10, r0 + movs r1, 0 + str r1, [sp, 0x8] + cmp r0, 0 + bne _0807FECE + b _080801B4 +_0807FECE: + bl GetEntityType + cmp r0, 0x2 + beq _0807FED8 + b _080801B4 +_0807FED8: + mov r0, r10 + bl GetTrapData + mov r8, r0 + ldr r0, _0807FF58 + mov r2, r8 + ldrb r1, [r2] + bl GetTrapName + ldr r3, [sp, 0x4] + ldr r4, [r3, 0x10] + cmp r4, 0 + beq _0807FEFE + adds r0, r4, 0 + bl GetEntityType + cmp r0, 0x1 + beq _0807FEFE + movs r4, 0 +_0807FEFE: + mov r1, r10 + adds r1, 0x20 + ldrb r0, [r1] + str r0, [sp, 0xC] + movs r0, 0x1 + strb r0, [r1] + cmp r4, 0 + beq _0807FF96 + adds r0, r4, 0 + bl sub_806A1E8 + cmp r6, 0 + beq _0807FF96 + mov r1, r8 + ldrb r0, [r1] + cmp r0, 0x11 + beq _0807FF96 + movs r0, 0x64 + bl DungeonRandomCapped + adds r7, r0, 0 + movs r6, 0 + adds r0, r4, 0 + movs r1, 0x1C + bl HasItem + lsls r0, 24 + cmp r0, 0 + beq _0807FF3C + ldr r0, _0807FF5C + ldr r6, [r0] +_0807FF3C: + ldr r2, [sp, 0xC] + cmp r2, 0x1 + beq _0807FF50 + ldr r0, _0807FF60 + ldr r0, [r0] + ldr r3, _0807FF64 + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0 + beq _0807FF68 +_0807FF50: + cmp r7, 0 + bge _0807FF70 + b _0807FF6C + .align 2, 0 +_0807FF58: .4byte gAvailablePokemonNames +_0807FF5C: .4byte gUnknown_80FDB5C +_0807FF60: .4byte gDungeonGlobalData +_0807FF64: .4byte 0x0001820f +_0807FF68: + cmp r7, 0xE + bgt _0807FF70 +_0807FF6C: + ldr r0, _0807FFD8 + ldr r6, [r0] +_0807FF70: + cmp r6, 0 + beq _0807FF96 + mov r0, r9 + bl sub_803F428 + lsls r0, 24 + cmp r0, 0 + beq _0807FF84 + bl sub_8049ED4 +_0807FF84: + adds r0, r5, 0 + adds r1, r4, 0 + adds r2, r6, 0 + bl sub_80522F4 + ldr r0, [sp] + cmp r0, 0 + bne _0807FF96 + b _080801B4 +_0807FF96: + mov r0, r9 + bl sub_803F428 + lsls r0, 24 + cmp r0, 0 + beq _0807FFFA + movs r1, 0xAE + lsls r1, 1 + movs r0, 0 + bl sub_80421C0 + bl sub_8049ED4 + mov r1, r8 + ldrb r2, [r1] + adds r0, r5, 0 + mov r1, r9 + bl sub_804225C + ldr r0, _0807FFDC + ldr r0, [r0] + ldr r2, _0807FFE0 + adds r0, r2 + ldrb r0, [r0] + cmp r0, 0 + beq _0807FFE8 + ldr r0, _0807FFE4 + ldr r1, [r0] + adds r0, r5, 0 + bl SendMessage + b _0807FFFA + .align 2, 0 +_0807FFD8: .4byte gUnknown_80FDB7C +_0807FFDC: .4byte gDungeonGlobalData +_0807FFE0: .4byte 0x0001820a +_0807FFE4: .4byte gUnknown_80FD7F4 +_0807FFE8: + ldr r0, _08080010 + mov r3, r8 + ldrb r1, [r3] + lsls r1, 2 + adds r1, r0 + ldr r1, [r1] + adds r0, r5, 0 + bl SendMessage +_0807FFFA: + cmp r4, 0 + beq _08080020 + mov r1, r8 + ldrb r0, [r1, 0x1] + cmp r0, 0x2 + bne _08080014 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806F480 + b _08080020 + .align 2, 0 +_08080010: .4byte gUnknown_80FD7F8 +_08080014: + cmp r0, 0x1 + bne _08080020 + adds r0, r4, 0 + movs r1, 0 + bl sub_806F480 +_08080020: + mov r2, r8 + ldrb r0, [r2] + cmp r0, 0x1B + bls _0808002A + b _08080194 +_0808002A: + lsls r0, 2 + ldr r1, _08080034 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08080034: .4byte _08080038 + .align 2, 0 +_08080038: + .4byte _080800A8 + .4byte _080800B2 + .4byte _080800BC + .4byte _080800C6 + .4byte _080800D0 + .4byte _080800DA + .4byte _080800E6 + .4byte _080800F0 + .4byte _080800FA + .4byte _08080104 + .4byte _0808010E + .4byte _08080118 + .4byte _08080122 + .4byte _0808012C + .4byte _08080136 + .4byte _08080140 + .4byte _0808014A + .4byte _08080168 + .4byte _08080172 + .4byte _08080180 + .4byte _08080194 + .4byte _08080194 + .4byte _08080194 + .4byte _08080194 + .4byte _08080194 + .4byte _08080194 + .4byte _08080194 + .4byte _080800DA +_080800A8: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8080A5C + b _08080194 +_080800B2: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80801CC + b _08080194 +_080800BC: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_808024C + b _08080194 +_080800C6: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8080418 + b _08080194 +_080800D0: + adds r0, r5, 0 + mov r1, r9 + bl sub_8080620 + b _0808017A +_080800DA: + adds r0, r5, 0 + adds r1, r4, 0 + ldr r2, [sp, 0x4] + bl sub_8080504 + b _08080194 +_080800E6: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8080374 + b _08080194 +_080800F0: + mov r0, r10 + adds r1, r4, 0 + bl sub_8080884 + b _08080194 +_080800FA: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8080364 + b _08080194 +_08080104: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8080388 + b _08080194 +_0808010E: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80803B4 + b _08080194 +_08080118: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80807C0 + b _08080194 +_08080122: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80803C8 + b _08080194 +_0808012C: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80803D8 + b _08080194 +_08080136: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80803F8 + b _08080194 +_08080140: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8080700 + b _08080194 +_0808014A: + cmp r4, 0 + beq _08080194 + ldr r0, _08080160 + movs r2, 0 + ldrsh r1, [r0, r2] + ldr r3, _08080164 + adds r0, r4, 0 + movs r2, 0xF + bl sub_806F324 + b _08080194 + .align 2, 0 +_08080160: .4byte gUnknown_80F4F86 +_08080164: .4byte 0x00000213 +_08080168: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80807B4 + b _08080194 +_08080172: + adds r0, r5, 0 + mov r1, r9 + bl sub_80808A4 +_0808017A: + movs r3, 0x1 + str r3, [sp, 0x8] + b _08080194 +_08080180: + cmp r4, 0 + beq _08080194 + ldr r0, _080801C4 + movs r2, 0 + ldrsh r1, [r0, r2] + ldr r3, _080801C8 + adds r0, r4, 0 + movs r2, 0xA + bl sub_806F324 +_08080194: + adds r0, r4, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _080801A6 + adds r0, r4, 0 + bl sub_8071DA4 +_080801A6: + ldr r3, [sp, 0x8] + cmp r3, 0 + beq _080801B4 + mov r0, r9 + movs r1, 0x1 + bl sub_807FE04 +_080801B4: + 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 +_080801C4: .4byte gUnknown_80F4F84 +_080801C8: .4byte 0x00000206 + thumb_func_end sub_807FE9C + + thumb_func_start sub_80801CC +sub_80801CC: + push {r4,r5,lr} + sub sp, 0x8 + adds r5, r0, 0 + adds r4, r1, 0 + cmp r4, 0 + beq _08080240 + movs r0, 0x64 + bl DungeonRandomCapped + adds r1, r0, 0 + cmp r0, 0x18 + bgt _080801EC + ldr r0, _080801E8 + b _080801F2 + .align 2, 0 +_080801E8: .4byte gUnknown_8106A4C +_080801EC: + cmp r0, 0x31 + bgt _0808020C + ldr r0, _08080208 +_080801F2: + ldr r2, [r0] + movs r0, 0x1 + str r0, [sp] + str r0, [sp, 0x4] + adds r0, r5, 0 + adds r1, r4, 0 + movs r3, 0x1 + bl sub_8076E20 + b _08080240 + .align 2, 0 +_08080208: .4byte gUnknown_8106A50 +_0808020C: + cmp r1, 0x4A + bgt _0808022C + ldr r0, _08080228 + ldr r2, [r0] + movs r0, 0x1 + str r0, [sp] + str r0, [sp, 0x4] + adds r0, r5, 0 + adds r1, r4, 0 + movs r3, 0x1 + bl sub_8076F80 + b _08080240 + .align 2, 0 +_08080228: .4byte gUnknown_8106A4C +_0808022C: + ldr r0, _08080248 + ldr r2, [r0] + movs r0, 0x1 + str r0, [sp] + str r0, [sp, 0x4] + adds r0, r5, 0 + adds r1, r4, 0 + movs r3, 0x1 + bl sub_8076F80 +_08080240: + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08080248: .4byte gUnknown_8106A50 + thumb_func_end sub_80801CC + + thumb_func_start sub_808024C +sub_808024C: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x5C + str r0, [sp, 0x54] + mov r10, r1 + ldr r0, [r1, 0x70] + mov r8, r0 + mov r0, r10 + movs r1, 0xE + bl HasItem + lsls r0, 24 + cmp r0, 0 + beq _08080278 + ldr r0, _08080274 + b _08080300 + .align 2, 0 +_08080274: .4byte gUnknown_80FDC7C +_08080278: + movs r6, 0 + mov r1, r8 + ldrb r0, [r1, 0x7] + movs r1, 0x60 + add r1, r8 + mov r9, r1 + cmp r0, 0 + beq _080802C8 + movs r5, 0 + ldr r7, _0808030C + mov r0, sp + str r0, [sp, 0x58] +_08080290: + lsls r4, r5, 2 + ldr r0, [r7] + adds r2, r4, r0 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080802C2 + ldrb r0, [r2, 0x2] + bl IsNotSpecialItem + lsls r0, 24 + cmp r0, 0 + beq _080802C2 + ldr r0, [r7] + adds r2, r0, r4 + ldrb r1, [r2] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + bne _080802C2 + ldr r1, [sp, 0x58] + stm r1!, {r2} + str r1, [sp, 0x58] + adds r6, 0x1 +_080802C2: + adds r5, 0x1 + cmp r5, 0x13 + ble _08080290 +_080802C8: + mov r0, r9 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080802FA + mov r0, r8 + adds r0, 0x62 + ldrb r0, [r0] + bl IsNotSpecialItem + lsls r0, 24 + cmp r0, 0 + beq _080802FA + mov r0, r9 + ldrb r1, [r0] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + bne _080802FA + lsls r0, r6, 2 + add r0, sp + mov r1, r9 + str r1, [r0] + adds r6, 0x1 +_080802FA: + cmp r6, 0 + bne _08080314 + ldr r0, _08080310 +_08080300: + ldr r2, [r0] + ldr r0, [sp, 0x54] + mov r1, r10 + bl sub_80522F4 + b _0808034A + .align 2, 0 +_0808030C: .4byte gTeamInventory_203B460 +_08080310: .4byte gUnknown_80FDC40 +_08080314: + adds r0, r6, 0 + bl DungeonRandomCapped + ldr r2, _0808035C + lsls r0, 2 + mov r1, sp + adds r4, r1, r0 + ldr r1, [r4] + adds r0, r2, 0 + bl sub_8045BF8 + ldr r2, [r4] + ldrb r1, [r2] + movs r0, 0x8 + orrs r0, r1 + strb r0, [r2] + movs r1, 0xC9 + lsls r1, 1 + mov r0, r10 + bl sub_80421C0 + ldr r0, _08080360 + ldr r2, [r0] + ldr r0, [sp, 0x54] + mov r1, r10 + bl sub_80522F4 +_0808034A: + add sp, 0x5C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0808035C: .4byte gUnknown_202DE58 +_08080360: .4byte gUnknown_80FDC18 + thumb_func_end sub_808024C + + thumb_func_start sub_8080364 +sub_8080364: + push {lr} + cmp r1, 0 + beq _08080370 + movs r2, 0x1 + bl sub_8077AE4 +_08080370: + pop {r0} + bx r0 + thumb_func_end sub_8080364 + + thumb_func_start sub_8080374 +sub_8080374: + push {lr} + cmp r1, 0 + beq _08080382 + movs r2, 0 + movs r3, 0 + bl sub_807D148 +_08080382: + pop {r0} + bx r0 + thumb_func_end sub_8080374 + + thumb_func_start sub_8080388 +sub_8080388: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + cmp r4, 0 + beq _080803A8 + ldr r1, _080803B0 + 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 +_080803A8: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080803B0: .4byte gUnknown_80F4E74 + thumb_func_end sub_8080388 + + thumb_func_start sub_80803B4 +sub_80803B4: + push {lr} + cmp r1, 0 + beq _080803C2 + movs r2, 0x1 + movs r3, 0x1 + bl sub_80779F0 +_080803C2: + pop {r0} + bx r0 + thumb_func_end sub_80803B4 + + thumb_func_start sub_80803C8 +sub_80803C8: + push {lr} + cmp r1, 0 + beq _080803D4 + movs r2, 0x1 + bl sub_80763F8 +_080803D4: + pop {r0} + bx r0 + thumb_func_end sub_80803C8 + + thumb_func_start sub_80803D8 +sub_80803D8: + push {lr} + sub sp, 0x8 + adds r2, r1, 0x4 + movs r3, 0 + str r3, [sp] + ldr r3, _080803F4 + str r3, [sp, 0x4] + movs r3, 0x1 + bl sub_807DF38 + add sp, 0x8 + pop {r0} + bx r0 + .align 2, 0 +_080803F4: .4byte 0x00000212 + thumb_func_end sub_80803D8 + + thumb_func_start sub_80803F8 +sub_80803F8: + push {lr} + sub sp, 0x8 + adds r2, r1, 0x4 + movs r3, 0 + str r3, [sp] + ldr r3, _08080414 + str r3, [sp, 0x4] + movs r3, 0x2 + bl sub_807DF38 + add sp, 0x8 + pop {r0} + bx r0 + .align 2, 0 +_08080414: .4byte 0x00000212 + thumb_func_end sub_80803F8 + + thumb_func_start sub_8080418 +sub_8080418: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x58 + mov r8, r0 + adds r6, r1, 0 + movs r0, 0 + mov r9, r0 + cmp r6, 0 + beq _080804F0 + ldr r7, [r6, 0x70] + movs r3, 0 + ldrb r0, [r7, 0x7] + cmp r0, 0 + beq _0808045A + ldr r0, _080804C0 + movs r1, 0x1 + mov r12, r1 + ldr r2, [r0] + mov r4, sp + movs r5, 0x13 +_08080444: + ldrb r1, [r2] + mov r0, r12 + ands r0, r1 + cmp r0, 0 + beq _08080452 + stm r4!, {r2} + adds r3, 0x1 +_08080452: + adds r2, 0x4 + subs r5, 0x1 + cmp r5, 0 + bge _08080444 +_0808045A: + adds r2, r7, 0 + adds r2, 0x60 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08080470 + lsls r0, r3, 2 + add r0, sp + str r2, [r0] + adds r3, 0x1 +_08080470: + cmp r3, 0 + ble _080804B6 + mov r4, sp + adds r5, r3, 0 +_08080478: + ldr r0, [r4] + ldrb r0, [r0, 0x2] + bl GetItemType + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + bne _080804AE + ldr r0, [r4] + ldrb r0, [r0, 0x2] + cmp r0, 0x54 + beq _080804AE + movs r0, 0x64 + bl DungeonRandomCapped + ldr r1, _080804C4 + movs r2, 0 + ldrsh r1, [r1, r2] + cmp r0, r1 + bge _080804AE + movs r0, 0x1 + add r9, r0 + ldr r0, [r4] + movs r1, 0x54 + movs r2, 0x2 + bl sub_8045C28 +_080804AE: + adds r4, 0x4 + subs r5, 0x1 + cmp r5, 0 + bne _08080478 +_080804B6: + mov r1, r9 + cmp r1, 0x1 + bne _080804CC + ldr r0, _080804C8 + b _080804D4 + .align 2, 0 +_080804C0: .4byte gTeamInventory_203B460 +_080804C4: .4byte gUnknown_80F4E0E +_080804C8: .4byte gUnknown_80FD788 +_080804CC: + mov r2, r9 + cmp r2, 0 + bne _080804E4 + ldr r0, _080804E0 +_080804D4: + ldr r2, [r0] + mov r0, r8 + adds r1, r6, 0 + bl sub_80522F4 + b _080804F0 + .align 2, 0 +_080804E0: .4byte gUnknown_80FD7D4 +_080804E4: + ldr r0, _08080500 + ldr r2, [r0] + mov r0, r8 + adds r1, r6, 0 + bl sub_80522F4 +_080804F0: + add sp, 0x58 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08080500: .4byte gUnknown_80FD7AC + thumb_func_end sub_8080418 + + thumb_func_start sub_8080504 +sub_8080504: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r4, r1, 0 + adds r7, r2, 0 + movs r0, 0 + mov r8, r0 + cmp r4, 0 + bne _0808051A + b _0808060E +_0808051A: + bl IsBossBattle + lsls r0, 24 + cmp r0, 0 + beq _08080534 + ldr r0, _08080530 + ldr r1, [r0] + adds r0, r6, 0 + bl SendMessage + b _0808060E + .align 2, 0 +_08080530: .4byte gUnknown_80FED0C +_08080534: + ldr r5, [r4, 0x70] + adds r0, r4, 0 + bl sub_8045888 + lsls r0, 24 + cmp r0, 0 + beq _0808055E + adds r0, r7, 0 + movs r1, 0x1B + bl sub_8080B00 + movs r1, 0x1 + mov r8, r1 + ldr r1, _080805A4 + adds r0, r4, 0 + bl sub_80421C0 + movs r0, 0x1E + movs r1, 0x48 + bl sub_803E708 +_0808055E: + ldrb r0, [r5, 0x7] + cmp r0, 0 + beq _080805C4 + bl sub_8043D10 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + beq _080805B4 + movs r2, 0xAE + lsls r2, 1 + adds r0, r5, r2 + movs r1, 0x1 + strb r1, [r0] + adds r2, 0x2 + adds r0, r5, r2 + strb r1, [r0] + movs r0, 0x28 + movs r1, 0x4B + bl sub_803E708 + ldr r0, _080805A8 + movs r2, 0 + ldrsh r1, [r0, r2] + ldr r3, _080805AC + adds r0, r4, 0 + movs r2, 0x11 + bl sub_806F324 + ldr r0, _080805B0 + ldr r1, [r0] + movs r0, 0x2 + strb r0, [r1, 0x2] + b _0808060E + .align 2, 0 +_080805A4: .4byte 0x00000193 +_080805A8: .4byte gUnknown_80F4F8A +_080805AC: .4byte 0x00000215 +_080805B0: .4byte gDungeonGlobalData +_080805B4: + ldr r0, _080805C0 + ldr r1, [r0] + adds r0, r6, 0 + bl SendMessage + b _08080600 + .align 2, 0 +_080805C0: .4byte gUnknown_80F9728 +_080805C4: + ldr r0, _080805E4 + adds r1, r4, 0 + movs r2, 0 + bl SetMessageArgument + ldrb r0, [r5, 0x6] + cmp r0, 0 + beq _080805EC + ldr r0, _080805E8 + ldr r2, [r0] + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_80522F4 + b _080805F6 + .align 2, 0 +_080805E4: .4byte gAvailablePokemonNames +_080805E8: .4byte gUnknown_80F970C +_080805EC: + ldr r0, _08080618 + ldr r1, [r0] + adds r0, r6, 0 + bl sub_805239C +_080805F6: + ldr r1, _0808061C + adds r0, r4, 0 + adds r2, r6, 0 + bl sub_8068FE0 +_08080600: + mov r0, r8 + cmp r0, 0 + beq _0808060E + adds r0, r7, 0 + movs r1, 0x5 + bl sub_8080B00 +_0808060E: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08080618: .4byte gUnknown_80F970C +_0808061C: .4byte 0x00000215 + thumb_func_end sub_8080504 + + thumb_func_start sub_8080620 +sub_8080620: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + str r0, [sp, 0x14] + adds r7, r1, 0 + movs r0, 0x3 + bl DungeonRandomCapped + adds r6, r0, 0 + adds r4, r6, 0x2 + movs r0, 0x8 + bl DungeonRandomCapped + adds r5, r0, 0 + bl IsBossBattle + lsls r0, 24 + cmp r0, 0 + bne _080806CA + movs r0, 0 + mov r8, r0 + cmp r8, r4 + bge _080806BA + mov r4, sp + movs r1, 0 + mov r10, r1 + movs r2, 0 + mov r9, r2 + adds r6, 0x2 +_08080660: + movs r0, 0 + bl sub_803D970 + movs r1, 0x7 + ands r5, r1 + strh r0, [r4] + movs r1, 0 + ldrsh r0, [r4, r1] + movs r1, 0 + bl sub_806AA0C + lsls r0, 24 + cmp r0, 0 + beq _080806B2 + mov r2, r9 + strh r2, [r4, 0x8] + mov r0, r10 + strb r0, [r4, 0x2] + ldr r0, _080806D8 + lsls r1, r5, 2 + adds r1, r0 + ldrh r0, [r1] + ldrh r2, [r7] + adds r0, r2 + strh r0, [r4, 0xC] + ldrh r0, [r1, 0x2] + ldrh r1, [r7, 0x2] + adds r0, r1 + strh r0, [r4, 0xE] + mov r2, r9 + str r2, [sp, 0x4] + mov r0, r10 + strb r0, [r4, 0x10] + mov r0, sp + movs r1, 0x1 + bl sub_806B7F8 + cmp r0, 0 + beq _080806B2 + movs r1, 0x1 + add r8, r1 +_080806B2: + adds r5, 0x1 + subs r6, 0x1 + cmp r6, 0 + bne _08080660 +_080806BA: + movs r1, 0xCA + lsls r1, 1 + adds r0, r7, 0 + bl sub_80421EC + mov r2, r8 + cmp r2, 0 + bne _080806E0 +_080806CA: + ldr r0, _080806DC + ldr r1, [r0] + ldr r0, [sp, 0x14] + bl SendMessage + b _080806EA + .align 2, 0 +_080806D8: .4byte gAdjacentTileOffsets +_080806DC: .4byte gUnknown_80FED04 +_080806E0: + ldr r0, _080806FC + ldr r1, [r0] + ldr r0, [sp, 0x14] + bl SendMessage +_080806EA: + 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 +_080806FC: .4byte gUnknown_80FED00 + thumb_func_end sub_8080620 + + thumb_func_start sub_8080700 +sub_8080700: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x20 + mov r8, r0 + adds r5, r1, 0 + movs r0, 0 + mov r12, r0 + cmp r5, 0 + beq _080807A4 + ldr r7, [r5, 0x70] + movs r4, 0 + movs r3, 0 + mov r6, sp +_0808071C: + lsls r0, r3, 3 + movs r1, 0x8C + lsls r1, 1 + adds r0, r1 + adds r2, r7, r0 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08080742 + ldrb r0, [r2, 0x4] + cmp r0, 0 + beq _08080742 + lsls r1, r4, 2 + stm r6!, {r2} + add r0, sp, 0x10 + adds r0, r1 + str r3, [r0] + adds r4, 0x1 +_08080742: + adds r3, 0x1 + cmp r3, 0x3 + ble _0808071C + cmp r4, 0 + beq _0808077A + adds r0, r4, 0 + bl DungeonRandomCapped + adds r4, r0, 0 + lsls r4, 2 + mov r0, sp + adds r2, r0, r4 + ldr r1, [r2] + movs r0, 0 + strb r0, [r1, 0x4] + ldr r0, _08080790 + ldr r1, [r2] + movs r2, 0 + bl sub_80928C0 + add r0, sp, 0x10 + adds r0, r4 + ldr r1, [r0] + adds r0, r5, 0 + bl sub_806A9B4 + movs r1, 0x1 + mov r12, r1 +_0808077A: + mov r0, r12 + cmp r0, 0 + beq _08080798 + ldr r0, _08080794 + ldr r2, [r0] + mov r0, r8 + adds r1, r5, 0 + bl sub_80522F4 + b _080807A4 + .align 2, 0 +_08080790: .4byte gUnknown_202DE58 +_08080794: .4byte gUnknown_80FDA80 +_08080798: + ldr r0, _080807B0 + ldr r2, [r0] + mov r0, r8 + adds r1, r5, 0 + bl sub_80522F4 +_080807A4: + add sp, 0x20 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080807B0: .4byte gUnknown_80FDAA0 + thumb_func_end sub_8080700 + + thumb_func_start sub_80807B4 +sub_80807B4: + push {lr} + movs r2, 0 + bl sub_8079E34 + pop {r0} + bx r0 + thumb_func_end sub_80807B4 + + thumb_func_start sub_80807C0 +sub_80807C0: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x10 + mov r8, r0 + adds r7, r1, 0 + movs r0, 0 + mov r9, r0 + cmp r7, 0 + beq _08080870 + mov r0, r8 + movs r2, 0x1 + bl sub_80716E8 + lsls r0, 24 + cmp r0, 0 + bne _08080870 + ldr r0, [r7, 0x70] + movs r5, 0 + movs r6, 0x1 + movs r1, 0x8C + lsls r1, 1 + adds r2, r0, r1 + adds r3, r2, 0 + mov r12, sp + movs r4, 0x3 +_080807F6: + ldrb r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _08080816 + ldrb r1, [r2, 0x1] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + bne _08080816 + mov r0, r12 + adds r0, 0x4 + mov r12, r0 + subs r0, 0x4 + stm r0!, {r3} + adds r5, 0x1 +_08080816: + adds r2, 0x8 + adds r3, 0x8 + subs r4, 0x1 + cmp r4, 0 + bge _080807F6 + cmp r5, 0 + beq _08080848 + adds r0, r5, 0 + bl DungeonRandomCapped + lsls r0, 2 + mov r1, sp + adds r3, r1, r0 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + movs r0, 0x1 + orrs r0, r1 + strb r0, [r2, 0x1] + ldr r0, _0808085C + ldr r1, [r3] + movs r2, 0 + bl sub_80928C0 + movs r0, 0x1 + mov r9, r0 +_08080848: + mov r1, r9 + cmp r1, 0 + beq _08080864 + ldr r0, _08080860 + ldr r2, [r0] + mov r0, r8 + adds r1, r7, 0 + bl sub_80522F4 + b _08080870 + .align 2, 0 +_0808085C: .4byte gUnknown_202DE58 +_08080860: .4byte gUnknown_80FDB04 +_08080864: + ldr r0, _08080880 + ldr r2, [r0] + mov r0, r8 + adds r1, r7, 0 + bl sub_80522F4 +_08080870: + add sp, 0x10 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08080880: .4byte gUnknown_80FDB2C + thumb_func_end sub_80807C0 + + thumb_func_start sub_8080884 +sub_8080884: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + cmp r4, 0 + beq _0808089E + movs r0, 0x8 + bl DungeonRandomCapped + adds r2, r0, 0 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_807CD9C +_0808089E: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8080884 + + thumb_func_start sub_80808A4 +sub_80808A4: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x30 + str r0, [sp, 0x14] + adds r5, r1, 0 + movs r0, 0 + str r0, [sp, 0x20] + ldr r6, _080808D0 + ldr r0, [r6] + ldr r1, _080808D4 + adds r0, r1 + ldrb r4, [r0] + bl IsBossBattle + lsls r0, 24 + cmp r0, 0 + beq _080808DC + ldr r0, _080808D8 + b _08080A2E + .align 2, 0 +_080808D0: .4byte gDungeonGlobalData +_080808D4: .4byte 0x00018209 +_080808D8: .4byte gUnknown_80FED08 +_080808DC: + cmp r4, 0 + bne _080808E2 + movs r4, 0x2 +_080808E2: + movs r2, 0 + ldrsh r0, [r5, r2] + movs r3, 0x2 + ldrsh r1, [r5, r3] + bl GetMapTile_1 + ldrb r1, [r0, 0x9] + cmp r1, 0xFF + bne _0808090A + movs r0, 0 + ldrsh r1, [r5, r0] + subs r2, r1, r4 + str r2, [sp, 0x18] + movs r3, 0x2 + ldrsh r0, [r5, r3] + subs r2, r0, r4 + adds r1, r4 + mov r10, r1 + adds r0, r4 + b _08080934 +_0808090A: + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + ldr r1, _08080994 + adds r0, r1 + ldr r1, [r6] + adds r1, r0 + movs r2, 0x2 + ldrsh r0, [r1, r2] + subs r0, 0x1 + str r0, [sp, 0x18] + movs r3, 0x4 + ldrsh r0, [r1, r3] + subs r2, r0, 0x1 + movs r3, 0x6 + ldrsh r0, [r1, r3] + adds r0, 0x1 + mov r10, r0 + movs r3, 0x8 + ldrsh r0, [r1, r3] + adds r0, 0x1 +_08080934: + str r0, [sp, 0x1C] + adds r7, r2, 0 + ldr r0, [sp, 0x1C] + cmp r7, r0 + bgt _08080A26 +_0808093E: + ldr r6, [sp, 0x18] + adds r1, r7, 0x1 + str r1, [sp, 0x24] + cmp r6, r10 + bgt _08080A1E + mov r5, sp +_0808094A: + adds r0, r6, 0 + adds r1, r7, 0 + bl GetMapTile_1 + adds r4, r0, 0 + ldr r0, [r4, 0x14] + adds r2, r6, 0x1 + mov r9, r2 + cmp r0, 0 + beq _08080A18 + bl GetEntityType + cmp r0, 0x3 + bne _08080A18 + ldr r0, [r4, 0x14] + bl GetItemData + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _08080A18 + movs r0, 0xBE + lsls r0, 1 + strh r0, [r5] + movs r2, 0 + mov r4, sp +_08080980: + ldr r0, _08080998 + ldr r0, [r0] + ldr r3, _0808099C + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0 + beq _080809A0 + movs r0, 0xBE + lsls r0, 1 + b _080809AE + .align 2, 0 +_08080994: .4byte 0x000104c4 +_08080998: .4byte gDungeonGlobalData +_0808099C: .4byte 0x0000066e +_080809A0: + movs r0, 0 + str r2, [sp, 0x28] + bl sub_803D970 + lsls r0, 16 + asrs r0, 16 + ldr r2, [sp, 0x28] +_080809AE: + movs r1, 0 + mov r8, r1 + movs r3, 0 + strh r0, [r4] + movs r1, 0 + ldrsh r0, [r4, r1] + movs r1, 0 + str r2, [sp, 0x28] + str r3, [sp, 0x2C] + bl sub_806AA0C + lsls r0, 24 + ldr r2, [sp, 0x28] + ldr r3, [sp, 0x2C] + cmp r0, 0 + bne _080809D4 + adds r2, 0x1 + cmp r2, 0x63 + ble _08080980 +_080809D4: + movs r2, 0 + ldrsh r0, [r5, r2] + movs r1, 0 + str r3, [sp, 0x2C] + bl sub_806AA0C + lsls r0, 24 + ldr r3, [sp, 0x2C] + cmp r0, 0 + beq _08080A10 + strh r3, [r5, 0x8] + mov r0, r8 + strb r0, [r5, 0x2] + strh r6, [r5, 0xC] + strh r7, [r5, 0xE] + str r3, [sp, 0x4] + strb r0, [r5, 0x10] + mov r0, sp + movs r1, 0x1 + bl sub_806B7F8 + cmp r0, 0 + beq _08080A10 + add r0, sp, 0xC + movs r1, 0 + bl sub_80461C8 + ldr r1, [sp, 0x20] + adds r1, 0x1 + str r1, [sp, 0x20] +_08080A10: + adds r0, r6, 0 + adds r1, r7, 0 + bl sub_80402AC +_08080A18: + mov r6, r9 + cmp r6, r10 + ble _0808094A +_08080A1E: + ldr r7, [sp, 0x24] + ldr r2, [sp, 0x1C] + cmp r7, r2 + ble _0808093E +_08080A26: + ldr r3, [sp, 0x20] + cmp r3, 0 + beq _08080A3C + ldr r0, _08080A38 +_08080A2E: + ldr r1, [r0] + ldr r0, [sp, 0x14] + bl SendMessage + b _08080A46 + .align 2, 0 +_08080A38: .4byte gUnknown_80FDACC +_08080A3C: + ldr r0, _08080A58 + ldr r1, [r0] + ldr r0, [sp, 0x14] + bl SendMessage +_08080A46: + add sp, 0x30 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08080A58: .4byte gUnknown_80FDAE4 + thumb_func_end sub_80808A4 + + thumb_func_start sub_8080A5C +sub_8080A5C: + push {r4-r7,lr} + sub sp, 0xC + adds r7, r0, 0 + adds r4, r1, 0 + cmp r4, 0 + beq _08080AEC + adds r0, r4, 0 + movs r1, 0x6 + movs r2, 0x8 + bl sub_806CDD4 + movs r0, 0x10 + movs r1, 0x55 + bl sub_803E708 + adds r0, r4, 0 + movs r1, 0x8 + bl sub_806CE68 + ldr r5, [r4, 0x70] + adds r2, r5, 0 + adds r2, 0x60 + ldrb r1, [r2] + movs r6, 0x1 + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _08080AEC + ldr r0, [r5, 0x60] + str r0, [sp, 0x8] + movs r0, 0 + strb r0, [r2] + bl FillInventoryGaps + movs r1, 0xC8 + lsls r1, 1 + adds r0, r4, 0 + bl sub_80421C0 + adds r0, r5, 0 + adds r0, 0x46 + ldrb r0, [r0] + movs r2, 0x7 + ands r2, r0 + ldr r0, _08080AF4 + lsls r2, 2 + adds r2, r0 + ldrh r0, [r2] + ldrh r1, [r4, 0x4] + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + ldr r3, _08080AF8 + ldr r1, [sp, 0x4] + ands r1, r3 + orrs r1, r0 + str r1, [sp, 0x4] + ldrh r0, [r2, 0x2] + ldrh r2, [r4, 0x6] + adds r0, r2 + lsls r0, 16 + ldr r2, _08080AFC + ands r1, r2 + orrs r1, r0 + str r1, [sp, 0x4] + adds r1, r4, 0x4 + add r3, sp, 0x8 + str r6, [sp] + adds r0, r7, 0 + add r2, sp, 0x4 + bl sub_804687C +_08080AEC: + add sp, 0xC + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08080AF4: .4byte gAdjacentTileOffsets +_08080AF8: .4byte 0xffff0000 +_08080AFC: .4byte 0x0000ffff + thumb_func_end sub_8080A5C + + thumb_func_start sub_8080B00 +sub_8080B00: + push {r4,r5,lr} + lsls r1, 24 + lsrs r5, r1, 24 + ldr r4, [r0, 0x14] + adds r0, r4, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _08080B2A + adds r0, r4, 0 + bl GetEntityType + cmp r0, 0x2 + bne _08080B26 + adds r0, r4, 0 + bl GetTrapData + strb r5, [r0] +_08080B26: + bl sub_8049ED4 +_08080B2A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8080B00 + + thumb_func_start sub_8080B30 +sub_8080B30: + push {lr} + sub sp, 0x10 + adds r3, r0, 0 + adds r2, r1, 0 + mov r0, sp + adds r1, r3, 0 + bl sub_8082F9C + movs r0, 0 + str r0, [sp, 0xC] + add r1, sp, 0xC + mov r0, sp + movs r2, 0x4 + bl sub_8082FA8 + mov r0, sp + bl sub_8080B90 + mov r0, sp + bl sub_8081454 + mov r0, sp + bl sub_808165C + mov r0, sp + bl sub_808173C + mov r0, sp + bl sub_8080BBC + mov r0, sp + bl sub_8080C44 + mov r0, sp + bl sub_8080CF0 + ldr r1, _08080B8C + mov r0, sp + bl sub_808300C + mov r0, sp + bl nullsub_98 + add sp, 0x10 + pop {r0} + bx r0 + .align 2, 0 +_08080B8C: .4byte gUnknown_81071D4 + thumb_func_end sub_8080B30 + + thumb_func_start sub_8080B90 +sub_8080B90: + push {r4,lr} + adds r4, r0, 0 + ldr r1, _08080BB0 + bl sub_808300C + ldr r0, _08080BB4 + ldr r1, [r0] + ldr r0, _08080BB8 + adds r1, r0 + adds r0, r4, 0 + movs r2, 0x58 + bl sub_8082FA8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08080BB0: .4byte gUnknown_81071E0 +_08080BB4: .4byte gDungeonGlobalData +_08080BB8: .4byte 0x00000644 + thumb_func_end sub_8080B90 + + thumb_func_start sub_8080BBC +sub_8080BBC: + push {r4-r7,lr} + sub sp, 0x8 + adds r6, r0, 0 + ldr r1, _08080C38 + movs r2, 0 + add r0, sp, 0x4 +_08080BC8: + strb r2, [r0] + subs r0, 0x1 + cmp r0, sp + bge _08080BC8 + adds r0, r6, 0 + bl sub_808300C + movs r7, 0 +_08080BD8: + ldr r0, _08080C3C + ldr r0, [r0] + lsls r1, r7, 2 + ldr r2, _08080C40 + adds r0, r2 + adds r0, r1 + ldr r4, [r0] + movs r5, 0 + cmp r4, 0 + beq _08080C1A + adds r0, r4, 0 + bl GetEntityType + cmp r0, 0x3 + bne _08080C1A + adds r0, r4, 0 + bl GetItemData + adds r1, r0, 0 + adds r0, r6, 0 + bl sub_8081788 + adds r1, r4, 0x4 + adds r0, r6, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r4, 0x6 + adds r0, r6, 0 + movs r2, 0x1 + bl sub_8082FA8 + movs r5, 0x1 +_08080C1A: + cmp r5, 0 + bne _08080C28 + adds r0, r6, 0 + mov r1, sp + movs r2, 0x5 + bl sub_8082FA8 +_08080C28: + adds r7, 0x1 + cmp r7, 0x3F + ble _08080BD8 + add sp, 0x8 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08080C38: .4byte gUnknown_81071E0 +_08080C3C: .4byte gDungeonGlobalData +_08080C40: .4byte 0x0001361c + thumb_func_end sub_8080BBC + + thumb_func_start sub_8080C44 +sub_8080C44: + push {r4-r7,lr} + sub sp, 0x8 + adds r6, r0, 0 + movs r7, 0 + ldr r3, _08080CE4 + movs r2, 0xFF +_08080C50: + mov r0, sp + adds r1, r0, r7 + ldrb r0, [r1] + orrs r0, r2 + strb r0, [r1] + adds r7, 0x1 + cmp r7, 0x4 + ble _08080C50 + adds r0, r6, 0 + adds r1, r3, 0 + bl sub_808300C + movs r7, 0 +_08080C6A: + ldr r0, _08080CE8 + ldr r0, [r0] + lsls r1, r7, 2 + ldr r2, _08080CEC + adds r0, r2 + adds r0, r1 + ldr r5, [r0] + movs r4, 0 + cmp r5, 0 + beq _08080CC8 + adds r0, r5, 0 + bl GetEntityType + cmp r0, 0x2 + bne _08080CC8 + adds r0, r5, 0 + bl GetTrapData + adds r4, r0, 0 + adds r0, r6, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r4, 0x1 + adds r0, r6, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r5, 0 + adds r1, 0x20 + adds r0, r6, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r5, 0x4 + adds r0, r6, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r5, 0x6 + adds r0, r6, 0 + movs r2, 0x1 + bl sub_8082FA8 + movs r4, 0x1 +_08080CC8: + cmp r4, 0 + bne _08080CD6 + adds r0, r6, 0 + mov r1, sp + movs r2, 0x5 + bl sub_8082FA8 +_08080CD6: + adds r7, 0x1 + cmp r7, 0x3F + ble _08080C6A + add sp, 0x8 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08080CE4: .4byte gUnknown_81071E0 +_08080CE8: .4byte gDungeonGlobalData +_08080CEC: .4byte 0x0001371c + thumb_func_end sub_8080C44 + + thumb_func_start sub_8080CF0 +sub_8080CF0: + push {r4-r6,lr} + adds r6, r0, 0 + ldr r1, _08080DD4 + bl sub_808300C + ldr r4, _08080DD8 + ldr r0, [r4] + ldr r1, _08080DDC + adds r0, r1 + ldr r1, [r0] + adds r0, r6, 0 + bl sub_8083078 + ldr r0, [r4] + ldr r2, _08080DE0 + adds r0, r2 + ldr r1, [r0] + adds r0, r6, 0 + bl sub_8083078 + ldr r0, [r4] + ldr r1, _08080DE4 + adds r0, r1 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r2, _08080DE8 + adds r0, r2 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _08080DEC + adds r0, r1 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r2, _08080DF0 + adds r0, r2 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _08080DF4 + adds r0, r1 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r2, _08080DF8 + adds r0, r2 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _08080DFC + adds r0, r1 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r2, _08080E00 + adds r0, r2 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_80830B4 + ldr r0, [r4] + movs r1, 0xE0 + lsls r1, 6 + adds r0, r1 + ldrh r1, [r0] + adds r0, r6, 0 + bl sub_8083030 + movs r5, 0 +_08080D9A: + ldr r0, [r4] + lsls r1, r5, 2 + ldr r2, _08080E04 + adds r0, r2 + adds r0, r1 + ldr r1, [r0] + adds r0, r6, 0 + bl sub_8080E0C + adds r5, 0x1 + cmp r5, 0x3 + ble _08080D9A + movs r5, 0 + ldr r4, _08080DD8 +_08080DB6: + ldr r0, [r4] + lsls r1, r5, 2 + ldr r2, _08080E08 + adds r0, r2 + adds r0, r1 + ldr r1, [r0] + adds r0, r6, 0 + bl sub_8080E0C + adds r5, 0x1 + cmp r5, 0xF + ble _08080DB6 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08080DD4: .4byte gUnknown_81071E0 +_08080DD8: .4byte gDungeonGlobalData +_08080DDC: .4byte 0x000037f0 +_08080DE0: .4byte 0x000037f4 +_08080DE4: .4byte 0x000037f8 +_08080DE8: .4byte 0x000037f9 +_08080DEC: .4byte 0x000037fa +_08080DF0: .4byte 0x000037fb +_08080DF4: .4byte 0x000037fc +_08080DF8: .4byte 0x000037fd +_08080DFC: .4byte 0x000037fe +_08080E00: .4byte 0x000037ff +_08080E04: .4byte 0x0001357c +_08080E08: .4byte 0x0001358c + thumb_func_end sub_8080CF0 + + thumb_func_start sub_8080E0C +sub_8080E0C: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + ldr r4, _08080E88 + add sp, r4 + adds r5, r0, 0 + adds r4, r1, 0 + movs r1, 0 + add r0, sp, 0x20C + str r1, [r0] + movs r1, 0x1 + movs r6, 0x82 + lsls r6, 2 + mov r2, sp + adds r0, r2, r6 + str r1, [r0] + adds r0, r5, 0 + movs r1, 0xAA + bl sub_8083060 + adds r0, r5, 0 + movs r1, 0x55 + bl sub_8083060 + adds r0, r4, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _08080E8C + ldr r6, [r4, 0x70] + add r1, sp, 0x208 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r4, 0x4 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r4, 0x6 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r4, 0 + adds r1, 0x20 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r4, 0 + adds r1, 0x26 + adds r0, r5, 0 + movs r2, 0x2 + bl sub_8082FA8 + b _08080ECC + .align 2, 0 +_08080E88: .4byte 0xfffffd6c +_08080E8C: + mov r0, sp + movs r1, 0 + adds r2, r6, 0 + bl memset + mov r6, sp + add r4, sp, 0x20C + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x2 + bl sub_8082FA8 +_08080ECC: + ldrh r1, [r6] + adds r0, r5, 0 + bl sub_8083030 + movs r0, 0x4 + ldrsh r1, [r6, r0] + adds r0, r5, 0 + bl sub_80817F4 + movs r2, 0x2 + ldrsh r1, [r6, r2] + adds r0, r5, 0 + bl sub_80817F4 + ldrb r1, [r6, 0x6] + adds r0, r5, 0 + bl sub_80830B4 + ldrb r1, [r6, 0x7] + adds r0, r5, 0 + bl sub_80830B4 + ldrb r1, [r6, 0x8] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r6, 0x9] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r6, 0xA] + adds r0, r5, 0 + bl sub_8083060 + adds r1, r6, 0 + adds r1, 0x40 + adds r0, r5, 0 + bl sub_80818C8 + movs r0, 0xC + ldrsh r1, [r6, r0] + adds r0, r5, 0 + bl sub_8083048 + movs r2, 0xE + ldrsh r1, [r6, r2] + adds r0, r5, 0 + bl sub_8083048 + movs r0, 0x10 + ldrsh r1, [r6, r0] + adds r0, r5, 0 + bl sub_8083048 + movs r2, 0x12 + ldrsh r1, [r6, r2] + adds r0, r5, 0 + bl sub_8083048 + ldrb r1, [r6, 0x14] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r6, 0x15] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r6, 0x16] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r6, 0x17] + adds r0, r5, 0 + bl sub_8083060 + ldr r1, [r6, 0x18] + adds r0, r5, 0 + bl sub_8083078 + movs r0, 0x1C + ldrsh r1, [r6, r0] + adds r0, r5, 0 + bl sub_8083048 + movs r2, 0x1E + ldrsh r1, [r6, r2] + adds r0, r5, 0 + bl sub_8083048 + movs r0, 0x20 + ldrsh r1, [r6, r0] + adds r0, r5, 0 + bl sub_8083048 + movs r2, 0x22 + ldrsh r1, [r6, r2] + adds r0, r5, 0 + bl sub_8083048 + movs r0, 0x24 + ldrsh r1, [r6, r0] + adds r0, r5, 0 + bl sub_8083048 + movs r2, 0x26 + ldrsh r1, [r6, r2] + adds r0, r5, 0 + bl sub_8083048 + movs r0, 0x28 + ldrsh r1, [r6, r0] + adds r0, r5, 0 + bl sub_8083048 + ldr r1, [r6, 0x2C] + adds r0, r5, 0 + bl sub_80830A0 + ldr r1, [r6, 0x30] + adds r0, r5, 0 + bl sub_80830A0 + ldr r1, [r6, 0x34] + adds r0, r5, 0 + bl sub_80830A0 + ldr r1, [r6, 0x38] + adds r0, r5, 0 + bl sub_80830A0 + adds r1, r6, 0 + adds r1, 0x44 + adds r0, r5, 0 + bl sub_80817C8 + adds r0, r6, 0 + adds r0, 0x5C + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_808180C + adds r0, r6, 0 + adds r0, 0x5D + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_808180C + adds r0, r6, 0 + adds r0, 0x5E + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8081824 + adds r0, r6, 0 + adds r0, 0x5F + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8081824 + adds r1, r6, 0 + adds r1, 0x60 + adds r0, r5, 0 + bl sub_8081788 + adds r0, r6, 0 + adds r0, 0x64 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80817B0 + movs r1, 0x78 + adds r1, r6 + mov r8, r1 + movs r2, 0x8C + adds r2, r6 + mov r9, r2 + movs r0, 0x90 + adds r0, r6 + mov r10, r0 + adds r1, r6, 0 + adds r1, 0x94 + str r1, [sp, 0x214] + adds r2, r6, 0 + adds r2, 0x3C + str r2, [sp, 0x210] + adds r0, r6, 0 + adds r0, 0x98 + str r0, [sp, 0x218] + adds r1, 0x8 + str r1, [sp, 0x21C] + adds r2, 0x64 + str r2, [sp, 0x220] + adds r0, 0x10 + str r0, [sp, 0x228] + adds r1, 0x10 + str r1, [sp, 0x22C] + adds r2, 0x10 + str r2, [sp, 0x230] + adds r0, 0x14 + str r0, [sp, 0x234] + adds r1, 0x14 + str r1, [sp, 0x238] + adds r2, 0x14 + str r2, [sp, 0x23C] + adds r0, 0xC + str r0, [sp, 0x240] + adds r1, 0x10 + str r1, [sp, 0x244] + adds r2, 0x18 + str r2, [sp, 0x248] + adds r0, 0x18 + str r0, [sp, 0x24C] + adds r1, 0x14 + str r1, [sp, 0x250] + adds r2, 0xC + str r2, [sp, 0x254] + adds r0, 0xC + str r0, [sp, 0x258] + adds r1, 0xC + str r1, [sp, 0x25C] + adds r2, 0x9 + str r2, [sp, 0x260] + adds r0, 0x6 + str r0, [sp, 0x264] + adds r1, 0x3 + str r1, [sp, 0x268] + adds r2, 0x3 + str r2, [sp, 0x26C] + adds r0, 0x9 + str r0, [sp, 0x280] + adds r1, 0x2 + str r1, [sp, 0x270] + adds r2, 0x2 + str r2, [sp, 0x274] + subs r0, 0x4 + str r0, [sp, 0x278] + adds r1, 0x5 + str r1, [sp, 0x27C] + adds r2, 0x6 + str r2, [sp, 0x284] + adds r0, 0x6 + str r0, [sp, 0x288] + adds r1, 0x4 + str r1, [sp, 0x28C] + adds r2, 0x3 + str r2, [sp, 0x290] + subs r0, 0x59 + str r0, [sp, 0x224] + adds r4, r6, 0 + adds r4, 0x68 + movs r7, 0x3 +_080810C2: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80830D8 + adds r4, 0x4 + subs r7, 0x1 + cmp r7, 0 + bge _080810C2 + adds r0, r5, 0 + mov r1, r8 + bl sub_80818E4 + adds r0, r5, 0 + mov r1, r9 + bl sub_8081B54 + adds r0, r5, 0 + mov r1, r10 + bl sub_8081B54 + ldr r2, [sp, 0x214] + ldrb r1, [r2] + adds r0, r5, 0 + bl sub_8081880 + adds r0, r5, 0 + ldr r1, [sp, 0x210] + bl sub_8081898 + ldr r0, [sp, 0x218] + ldr r1, [r0] + adds r0, r5, 0 + bl sub_8083078 + ldr r2, [sp, 0x21C] + ldr r1, [r2] + adds r0, r5, 0 + bl sub_8083078 + ldr r0, [sp, 0x220] + ldr r1, [r0] + adds r0, r5, 0 + bl sub_8083078 + adds r0, r5, 0 + ldr r1, [sp, 0x228] + bl sub_8081920 + adds r0, r5, 0 + ldr r1, [sp, 0x22C] + bl sub_808193C + adds r0, r5, 0 + ldr r1, [sp, 0x230] + bl sub_8081968 + adds r0, r5, 0 + ldr r1, [sp, 0x234] + bl sub_8081994 + adds r0, r5, 0 + ldr r1, [sp, 0x238] + bl sub_80819B0 + adds r0, r5, 0 + ldr r1, [sp, 0x23C] + bl sub_80819D4 + adds r0, r5, 0 + ldr r1, [sp, 0x240] + bl sub_80819F0 + adds r0, r5, 0 + ldr r1, [sp, 0x244] + bl sub_8081A24 + adds r0, r5, 0 + ldr r1, [sp, 0x248] + bl sub_8081A58 + adds r0, r5, 0 + ldr r1, [sp, 0x24C] + bl sub_8081A74 + adds r0, r5, 0 + ldr r1, [sp, 0x250] + bl sub_8081A80 + adds r0, r5, 0 + ldr r1, [sp, 0x254] + bl sub_8081A9C + adds r0, r5, 0 + ldr r1, [sp, 0x258] + bl sub_8081AB8 + ldr r2, [sp, 0x25C] + ldrb r1, [r2] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [sp, 0x260] + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r2, [sp, 0x264] + ldrb r1, [r2] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [sp, 0x268] + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r2, [sp, 0x26C] + ldrb r1, [r2] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [sp, 0x280] + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + ldr r2, [sp, 0x270] + ldrb r1, [r2] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [sp, 0x274] + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r2, [sp, 0x278] + ldrb r1, [r2] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [sp, 0x27C] + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + ldr r2, [sp, 0x284] + ldrb r1, [r2] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [sp, 0x288] + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + ldr r2, [sp, 0x28C] + ldrb r1, [r2] + adds r0, r5, 0 + bl sub_8083060 + ldr r0, [sp, 0x290] + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_808183C + movs r1, 0x80 + lsls r1, 1 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8081854 + movs r2, 0x82 + lsls r2, 1 + adds r0, r6, r2 + ldr r1, [r0] + adds r0, r5, 0 + bl sub_808186C + movs r0, 0x84 + lsls r0, 1 + adds r1, r6, r0 + adds r0, r5, 0 + movs r2, 0x5 + bl sub_808314C + ldr r2, _08081428 + adds r1, r6, r2 + adds r0, r5, 0 + movs r2, 0x5 + bl sub_808314C + movs r1, 0x89 + lsls r1, 1 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + ldr r2, _0808142C + adds r0, r6, r2 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + movs r1, 0x8A + lsls r1, 1 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + movs r2, 0x8C + lsls r2, 1 + adds r1, r6, r2 + adds r0, r5, 0 + bl sub_8081B08 + movs r0, 0x9E + lsls r0, 1 + adds r1, r6, r0 + adds r0, r5, 0 + bl sub_8081B34 + movs r2, 0xA0 + lsls r2, 1 + adds r1, r6, r2 + adds r0, r5, 0 + bl sub_8081B34 + movs r1, 0xA2 + lsls r1, 1 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r2, _08081430 + adds r0, r6, r2 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r1, _08081434 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + movs r2, 0xA3 + lsls r2, 1 + adds r0, r6, r2 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + movs r1, 0xA4 + lsls r1, 1 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r2, _08081438 + adds r0, r6, r2 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + movs r1, 0xA5 + lsls r1, 1 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r2, _0808143C + adds r0, r6, r2 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + movs r1, 0xA6 + lsls r1, 1 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + movs r2, 0xA7 + lsls r2, 1 + adds r0, r6, r2 + ldrh r1, [r0] + adds r0, r5, 0 + bl sub_8083030 + movs r1, 0xA8 + lsls r1, 1 + adds r0, r6, r1 + ldrh r1, [r0] + adds r0, r5, 0 + bl sub_8083030 + movs r2, 0xA9 + lsls r2, 1 + adds r0, r6, r2 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r1, _08081440 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + movs r2, 0xAA + lsls r2, 1 + adds r0, r6, r2 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r1, _08081444 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + movs r2, 0xAB + lsls r2, 1 + adds r0, r6, r2 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + movs r1, 0xB2 + lsls r1, 1 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + ldr r2, _08081448 + adds r0, r6, r2 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + movs r1, 0xB3 + lsls r1, 1 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + ldr r2, _0808144C + adds r0, r6, r2 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + movs r1, 0xB4 + lsls r1, 1 + adds r0, r6, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + ldr r2, _08081450 + adds r0, r6, r2 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + movs r0, 0xB6 + lsls r0, 1 + adds r1, r6, r0 + adds r0, r5, 0 + bl sub_80830D8 + movs r1, 0xBA + lsls r1, 1 + adds r0, r6, r1 + ldr r1, [r0] + adds r0, r5, 0 + bl sub_80830A0 + movs r2, 0xBC + lsls r2, 1 + adds r0, r6, r2 + ldrh r1, [r0] + adds r0, r5, 0 + bl sub_8083030 + movs r1, 0xFC + lsls r1, 1 + adds r0, r6, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + adds r0, r5, 0 + bl sub_8083048 + movs r1, 0xFD + lsls r1, 1 + adds r0, r6, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + adds r0, r5, 0 + bl sub_8083048 + movs r1, 0xFE + lsls r1, 1 + adds r0, r6, r1 + ldr r1, [r0] + adds r0, r5, 0 + bl sub_8083078 + ldr r2, [sp, 0x224] + ldrb r1, [r2] + adds r0, r5, 0 + bl sub_80818B8 + movs r3, 0xA5 + 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 +_08081428: .4byte 0x0000010d +_0808142C: .4byte 0x00000113 +_08081430: .4byte 0x00000145 +_08081434: .4byte 0x00000147 +_08081438: .4byte 0x00000149 +_0808143C: .4byte 0x0000014b +_08081440: .4byte 0x00000153 +_08081444: .4byte 0x00000155 +_08081448: .4byte 0x00000165 +_0808144C: .4byte 0x00000167 +_08081450: .4byte 0x00000169 + thumb_func_end sub_8080E0C + + thumb_func_start sub_8081454 +sub_8081454: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r7, r0, 0 + ldr r1, _08081600 + bl sub_808300C + ldr r4, _08081604 + ldr r0, [r4] + ldr r1, _08081608 + adds r0, r1 + ldrb r1, [r0] + adds r0, r7, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r2, _0808160C + adds r0, r2 + ldrb r1, [r0] + adds r0, r7, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _08081610 + adds r0, r1 + ldrb r1, [r0] + adds r0, r7, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r2, _08081614 + adds r0, r2 + ldrb r1, [r0] + adds r0, r7, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _08081618 + adds r0, r1 + ldrb r1, [r0] + adds r0, r7, 0 + bl sub_8083060 + ldr r0, [r4] + ldr r2, _0808161C + adds r0, r2 + ldrb r1, [r0] + adds r0, r7, 0 + bl sub_8083060 + ldr r0, [r4] + ldr r1, _08081620 + adds r0, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + adds r0, r7, 0 + bl sub_8083048 + ldr r0, [r4] + ldr r1, _08081624 + adds r0, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + adds r0, r7, 0 + bl sub_8083048 + ldr r0, [r4] + ldr r1, _08081628 + adds r0, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + adds r0, r7, 0 + bl sub_8083048 + ldr r0, [r4] + ldr r1, _0808162C + adds r0, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + adds r0, r7, 0 + bl sub_8083048 + ldr r0, [r4] + ldr r1, _08081630 + adds r0, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + adds r0, r7, 0 + bl sub_8083048 + movs r1, 0 + mov r9, r4 +_08081510: + lsls r0, r1, 2 + adds r2, r1, 0x1 + mov r8, r2 + adds r0, r1 + lsls r0, 2 + adds r0, r1 + lsls r0, 6 + ldr r1, _08081634 + adds r6, r0, r1 + movs r5, 0 + movs r4, 0x37 +_08081526: + mov r2, r9 + ldr r1, [r2] + adds r1, r6 + adds r1, r5 + adds r0, r7, 0 + bl sub_8081B60 + adds r5, 0x18 + subs r4, 0x1 + cmp r4, 0 + bge _08081526 + mov r1, r8 + cmp r1, 0x1F + ble _08081510 + ldr r4, _08081604 + ldr r1, [r4] + ldr r0, _08081638 + adds r1, r0 + adds r0, r7, 0 + bl sub_80830D8 + ldr r1, [r4] + ldr r2, _0808163C + adds r1, r2 + adds r0, r7, 0 + bl sub_80830D8 + ldr r6, _08081640 + movs r5, 0x7 +_08081560: + ldr r1, [r4] + adds r1, r6 + adds r0, r7, 0 + bl sub_80830D8 + adds r6, 0x4 + subs r5, 0x1 + cmp r5, 0 + bge _08081560 + ldr r4, _08081604 + ldr r1, [r4] + ldr r0, _08081644 + adds r1, r0 + adds r0, r7, 0 + bl sub_80830F8 + ldr r1, [r4] + ldr r2, _08081648 + adds r1, r2 + adds r0, r7, 0 + bl sub_80830F8 + ldr r1, [r4] + ldr r0, _0808164C + adds r1, r0 + adds r0, r7, 0 + bl sub_808312C + movs r1, 0 + mov r10, r4 +_0808159C: + movs r4, 0 + adds r2, r1, 0x1 + mov r8, r2 + lsls r0, r1, 1 + lsls r2, r1, 3 + mov r9, r2 + adds r0, r1 + lsls r0, 6 + ldr r1, _08081650 + adds r6, r0, r1 + movs r5, 0 +_080815B2: + mov r2, r10 + ldr r1, [r2] + adds r1, r6 + adds r1, r5 + adds r0, r7, 0 + bl sub_8081B60 + mov r1, r10 + ldr r0, [r1] + mov r2, r9 + adds r1, r4, r2 + ldr r2, _08081654 + adds r0, r2 + adds r0, r1 + ldrb r1, [r0] + adds r0, r7, 0 + bl sub_8083060 + adds r5, 0x18 + adds r4, 0x1 + cmp r4, 0x7 + ble _080815B2 + mov r1, r8 + cmp r1, 0x7 + ble _0808159C + ldr r0, _08081604 + ldr r1, [r0] + ldr r0, _08081658 + adds r1, r0 + adds r0, r7, 0 + bl sub_8081B94 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08081600: .4byte gUnknown_81071E0 +_08081604: .4byte gDungeonGlobalData +_08081608: .4byte 0x00003a08 +_0808160C: .4byte 0x00003a09 +_08081610: .4byte 0x00003a0a +_08081614: .4byte 0x00003a0b +_08081618: .4byte 0x00003a0c +_0808161C: .4byte 0x00003a0d +_08081620: .4byte 0x00003a0e +_08081624: .4byte 0x00003a10 +_08081628: .4byte 0x00003a12 +_0808162C: .4byte 0x00003a14 +_08081630: .4byte 0x00003a16 +_08081634: .4byte 0x00003a18 +_08081638: .4byte 0x0000e218 +_0808163C: .4byte 0x0000e21c +_08081640: .4byte 0x0000e220 +_08081644: .4byte 0x0000e240 +_08081648: .4byte 0x0000e250 +_0808164C: .4byte 0x0000e260 +_08081650: .4byte 0x0000e27c +_08081654: .4byte 0x0000e87c +_08081658: .4byte 0x0000e264 + thumb_func_end sub_8081454 + + thumb_func_start sub_808165C +sub_808165C: + push {r4,r5,lr} + adds r5, r0, 0 + ldr r1, _08081708 + bl sub_808300C + ldr r4, _0808170C + ldr r0, [r4] + ldr r1, _08081710 + adds r0, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + ldr r0, [r4] + ldr r1, _08081714 + adds r0, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8083060 + ldr r0, [r4] + ldr r1, _08081718 + adds r0, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _0808171C + adds r0, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _08081720 + adds r0, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _08081724 + adds r0, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _08081728 + adds r0, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _0808172C + adds r0, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _08081730 + adds r0, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _08081734 + adds r0, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + ldr r0, [r4] + ldr r1, _08081738 + adds r0, r1 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_80830B4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08081708: .4byte gUnknown_81071E0 +_0808170C: .4byte gDungeonGlobalData +_08081710: .4byte 0x00018208 +_08081714: .4byte 0x00018209 +_08081718: .4byte 0x0001820a +_0808171C: .4byte 0x0001820b +_08081720: .4byte 0x0001820c +_08081724: .4byte 0x0001820d +_08081728: .4byte 0x0001820e +_0808172C: .4byte 0x0001820f +_08081730: .4byte 0x00018210 +_08081734: .4byte 0x00018211 +_08081738: .4byte 0x00018213 + thumb_func_end sub_808165C + + thumb_func_start sub_808173C +sub_808173C: + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _08081778 + ldr r0, [r4] + ldr r1, _0808177C + adds r0, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + adds r0, r5, 0 + bl sub_8083048 + ldr r0, [r4] + ldr r1, _08081780 + adds r0, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + adds r0, r5, 0 + bl sub_8083048 + ldr r0, [r4] + ldr r1, _08081784 + adds r0, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + adds r0, r5, 0 + bl sub_8083048 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08081778: .4byte gDungeonGlobalData +_0808177C: .4byte 0x0001ced6 +_08081780: .4byte 0x0001ced8 +_08081784: .4byte 0x0001ceda + thumb_func_end sub_808173C + + thumb_func_start sub_8081788 +sub_8081788: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r5, 0x1 + adds r0, r4, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r5, 0x2 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x1 + bl sub_8082FA8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081788 + + thumb_func_start sub_80817B0 +sub_80817B0: + push {lr} + sub sp, 0x4 + mov r2, sp + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80817B0 + + thumb_func_start sub_80817C8 +sub_80817C8: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + adds r1, r4, 0x2 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r4, 0 + adds r1, 0x14 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r4, 0x16 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FA8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80817C8 + + thumb_func_start sub_80817F4 +sub_80817F4: + push {lr} + sub sp, 0x4 + mov r2, sp + strh r1, [r2] + mov r1, sp + movs r2, 0x2 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80817F4 + + thumb_func_start sub_808180C +sub_808180C: + push {lr} + sub sp, 0x4 + mov r2, sp + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_808180C + + thumb_func_start sub_8081824 +sub_8081824: + push {lr} + sub sp, 0x4 + mov r2, sp + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8081824 + + thumb_func_start sub_808183C +sub_808183C: + push {lr} + sub sp, 0x4 + mov r2, sp + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_808183C + + thumb_func_start sub_8081854 +sub_8081854: + push {lr} + sub sp, 0x4 + mov r2, sp + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8081854 + + thumb_func_start sub_808186C +sub_808186C: + push {lr} + sub sp, 0x4 + str r1, [sp] + mov r1, sp + movs r2, 0x4 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_808186C + + thumb_func_start sub_8081880 +sub_8081880: + push {lr} + sub sp, 0x4 + mov r2, sp + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8081880 + + thumb_func_start sub_8081898 +sub_8081898: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r0, 0 + ldrsh r1, [r4, r0] + adds r0, r5, 0 + bl sub_8083048 + ldrb r1, [r4, 0x2] + adds r0, r5, 0 + bl sub_808180C + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081898 + + thumb_func_start sub_80818B8 +sub_80818B8: + push {lr} + lsls r1, 24 + lsrs r1, 24 + bl sub_8083060 + pop {r0} + bx r0 + thumb_func_end sub_80818B8 + + thumb_func_start sub_80818C8 +sub_80818C8: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + ldrb r1, [r4] + bl sub_8083060 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80818C8 + + thumb_func_start sub_80818E4 +sub_80818E4: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_80830B4 + ldrb r1, [r4, 0x2] + adds r0, r5, 0 + bl sub_80830B4 + ldrb r1, [r4, 0x3] + adds r0, r5, 0 + bl sub_80830B4 + ldrh r1, [r4, 0x4] + adds r0, r5, 0 + bl sub_8083030 + adds r4, 0x10 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80830D8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80818E4 + + thumb_func_start sub_8081920 +sub_8081920: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081920 + + thumb_func_start sub_808193C +sub_808193C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r4, 0x2] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r4, 0x3] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_808193C + + thumb_func_start sub_8081968 +sub_8081968: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldrb r1, [r4, 0x8] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r4, 0x9] + adds r0, r5, 0 + bl sub_8083060 + ldr r1, [r4, 0x4] + adds r0, r5, 0 + bl sub_8083078 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081968 + + thumb_func_start sub_8081994 +sub_8081994: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081994 + + thumb_func_start sub_80819B0 +sub_80819B0: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r4, 0x2] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80819B0 + + thumb_func_start sub_80819D4 +sub_80819D4: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80819D4 + + thumb_func_start sub_80819F0 +sub_80819F0: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_80830B4 + ldrb r1, [r4, 0x2] + adds r0, r5, 0 + bl sub_80830B4 + ldrb r1, [r4, 0x3] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r4, 0x4] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80819F0 + + thumb_func_start sub_8081A24 +sub_8081A24: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldr r1, [r4, 0x4] + adds r0, r5, 0 + bl sub_8083078 + ldrb r1, [r4, 0x8] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r4, 0x9] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r4, 0xA] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081A24 + + thumb_func_start sub_8081A58 +sub_8081A58: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081A58 + + thumb_func_start sub_8081A74 +sub_8081A74: + push {lr} + movs r2, 0x1 + bl sub_8082FA8 + pop {r0} + bx r0 + thumb_func_end sub_8081A74 + + thumb_func_start sub_8081A80 +sub_8081A80: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081A80 + + thumb_func_start sub_8081A9C +sub_8081A9C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081A9C + + thumb_func_start sub_8081AB8 +sub_8081AB8: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081AB8 + + thumb_func_start sub_8081AD4 +sub_8081AD4: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + ldrb r1, [r4] + bl sub_8083060 + ldrb r1, [r4, 0x1] + adds r0, r5, 0 + bl sub_8083060 + adds r1, r4, 0x2 + adds r0, r5, 0 + movs r2, 0x2 + bl sub_8082FA8 + ldrb r1, [r4, 0x4] + adds r0, r5, 0 + bl sub_8083060 + ldrb r1, [r4, 0x5] + adds r0, r5, 0 + bl sub_8083060 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081AD4 + + thumb_func_start sub_8081B08 +sub_8081B08: + push {r4-r7,lr} + adds r6, r0, 0 + adds r7, r1, 0 + adds r4, r7, 0 + movs r5, 0x3 +_08081B12: + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_8081AD4 + adds r4, 0x8 + subs r5, 0x1 + cmp r5, 0 + bge _08081B12 + adds r0, r7, 0 + adds r0, 0x20 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_8083060 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8081B08 + + thumb_func_start sub_8081B34 +sub_8081B34: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r0, 0 + ldrsh r1, [r4, r0] + adds r0, r5, 0 + bl sub_8083048 + movs r0, 0x2 + ldrsh r1, [r4, r0] + adds r0, r5, 0 + bl sub_8083048 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081B34 + + thumb_func_start sub_8081B54 +sub_8081B54: + push {lr} + movs r2, 0x3 + bl sub_8082FA8 + pop {r0} + bx r0 + thumb_func_end sub_8081B54 + + thumb_func_start sub_8081B60 +sub_8081B60: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + ldrh r1, [r4] + bl sub_8083030 + ldrh r1, [r4, 0x4] + adds r0, r5, 0 + bl sub_8083030 + adds r1, r4, 0 + adds r1, 0x9 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r4, 0xE + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FA8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8081B60 + + thumb_func_start sub_8081B94 +sub_8081B94: + push {r4-r6,lr} + adds r6, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r5, 0x1 + adds r0, r6, 0 + movs r2, 0x1 + bl sub_8082FA8 + movs r4, 0 +_08081BAC: + adds r0, r5, 0x3 + adds r0, r4 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_8083060 + adds r0, r5, 0 + adds r0, 0xB + adds r0, r4 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_8083060 + adds r4, 0x1 + cmp r4, 0x7 + ble _08081BAC + ldrb r1, [r5, 0x2] + adds r0, r6, 0 + bl sub_8083060 + ldrb r1, [r5, 0x13] + adds r0, r6, 0 + bl sub_8083060 + ldrb r1, [r5, 0x14] + adds r0, r6, 0 + bl sub_8083060 + ldrb r1, [r5, 0x15] + adds r0, r6, 0 + bl sub_80830B4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8081B94 + + thumb_func_start sub_8081BF4 +sub_8081BF4: + push {lr} + sub sp, 0x10 + adds r3, r0, 0 + adds r2, r1, 0 + mov r0, sp + adds r1, r3, 0 + bl sub_8082FD4 + add r1, sp, 0xC + mov r0, sp + movs r2, 0x4 + bl sub_8082FE0 + mov r0, sp + bl sub_8081C50 + mov r0, sp + bl sub_8081C7C + mov r0, sp + bl sub_8081F2C + mov r0, sp + bl sub_808201C + mov r0, sp + bl sub_8082060 + mov r0, sp + bl sub_80820D8 + mov r0, sp + bl sub_808217C + ldr r1, _08081C4C + mov r0, sp + bl sub_8083018 + mov r0, sp + bl nullsub_98 + add sp, 0x10 + pop {r0} + bx r0 + .align 2, 0 +_08081C4C: .4byte gUnknown_81071D4 + thumb_func_end sub_8081BF4 + + thumb_func_start sub_8081C50 +sub_8081C50: + push {r4,lr} + adds r4, r0, 0 + ldr r1, _08081C70 + bl sub_8083018 + ldr r0, _08081C74 + ldr r1, [r0] + ldr r0, _08081C78 + adds r1, r0 + adds r0, r4, 0 + movs r2, 0x58 + bl sub_8082FE0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08081C70: .4byte gUnknown_81071E0 +_08081C74: .4byte gDungeonGlobalData +_08081C78: .4byte 0x00000644 + thumb_func_end sub_8081C50 + + thumb_func_start sub_8081C7C +sub_8081C7C: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r7, r0, 0 + ldr r1, _08081E20 + bl sub_8083018 + adds r0, r7, 0 + bl sub_80831DC + ldr r4, _08081E24 + ldr r1, [r4] + ldr r2, _08081E28 + adds r1, r2 + strb r0, [r1] + adds r0, r7, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r3, _08081E2C + adds r1, r3 + strb r0, [r1] + adds r0, r7, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08081E30 + adds r1, r2 + strb r0, [r1] + adds r0, r7, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r3, _08081E34 + adds r1, r3 + strb r0, [r1] + adds r0, r7, 0 + bl sub_8083188 + ldr r1, [r4] + ldr r2, _08081E38 + adds r1, r2 + strb r0, [r1] + adds r0, r7, 0 + bl sub_8083188 + ldr r1, [r4] + ldr r3, _08081E3C + adds r1, r3 + strb r0, [r1] + adds r0, r7, 0 + bl sub_8083170 + ldr r1, [r4] + ldr r2, _08081E40 + adds r1, r2 + strh r0, [r1] + adds r0, r7, 0 + bl sub_8083170 + ldr r1, [r4] + ldr r3, _08081E44 + adds r1, r3 + strh r0, [r1] + adds r0, r7, 0 + bl sub_8083170 + ldr r1, [r4] + ldr r2, _08081E48 + adds r1, r2 + strh r0, [r1] + adds r0, r7, 0 + bl sub_8083170 + ldr r1, [r4] + ldr r3, _08081E4C + adds r1, r3 + strh r0, [r1] + adds r0, r7, 0 + bl sub_8083170 + ldr r1, [r4] + ldr r2, _08081E50 + adds r1, r2 + strh r0, [r1] + movs r1, 0 + mov r9, r4 +_08081D2E: + lsls r0, r1, 2 + adds r3, r1, 0x1 + mov r8, r3 + adds r0, r1 + lsls r0, 2 + adds r0, r1 + lsls r0, 6 + ldr r1, _08081E54 + adds r6, r0, r1 + movs r5, 0 + movs r4, 0x37 +_08081D44: + mov r2, r9 + ldr r1, [r2] + adds r1, r6 + adds r1, r5 + adds r0, r7, 0 + bl sub_8081E7C + adds r5, 0x18 + subs r4, 0x1 + cmp r4, 0 + bge _08081D44 + mov r1, r8 + cmp r1, 0x1F + ble _08081D2E + ldr r4, _08081E24 + ldr r1, [r4] + ldr r3, _08081E58 + adds r1, r3 + adds r0, r7, 0 + bl sub_80831F8 + ldr r1, [r4] + ldr r0, _08081E5C + adds r1, r0 + adds r0, r7, 0 + bl sub_80831F8 + ldr r6, _08081E60 + movs r5, 0x7 +_08081D7E: + ldr r1, [r4] + adds r1, r6 + adds r0, r7, 0 + bl sub_80831F8 + adds r6, 0x4 + subs r5, 0x1 + cmp r5, 0 + bge _08081D7E + ldr r4, _08081E24 + ldr r1, [r4] + ldr r2, _08081E64 + adds r1, r2 + adds r0, r7, 0 + bl sub_8083220 + ldr r1, [r4] + ldr r3, _08081E68 + adds r1, r3 + adds r0, r7, 0 + bl sub_8083220 + ldr r1, [r4] + ldr r0, _08081E6C + adds r1, r0 + adds r0, r7, 0 + bl sub_8083260 + movs r1, 0 + mov r10, r4 +_08081DBA: + movs r4, 0 + adds r2, r1, 0x1 + mov r8, r2 + lsls r0, r1, 1 + lsls r3, r1, 3 + mov r9, r3 + adds r0, r1 + lsls r0, 6 + ldr r1, _08081E70 + adds r6, r0, r1 + movs r5, 0 +_08081DD0: + mov r2, r10 + ldr r1, [r2] + adds r1, r6 + adds r1, r5 + adds r0, r7, 0 + bl sub_8081E7C + adds r0, r7, 0 + bl sub_8083188 + mov r3, r10 + ldr r1, [r3] + mov r3, r9 + adds r2, r4, r3 + ldr r3, _08081E74 + adds r1, r3 + adds r1, r2 + strb r0, [r1] + adds r5, 0x18 + adds r4, 0x1 + cmp r4, 0x7 + ble _08081DD0 + mov r1, r8 + cmp r1, 0x7 + ble _08081DBA + ldr r0, _08081E24 + ldr r1, [r0] + ldr r0, _08081E78 + adds r1, r0 + adds r0, r7, 0 + bl sub_8081EC0 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08081E20: .4byte gUnknown_81071E0 +_08081E24: .4byte gDungeonGlobalData +_08081E28: .4byte 0x00003a08 +_08081E2C: .4byte 0x00003a09 +_08081E30: .4byte 0x00003a0a +_08081E34: .4byte 0x00003a0b +_08081E38: .4byte 0x00003a0c +_08081E3C: .4byte 0x00003a0d +_08081E40: .4byte 0x00003a0e +_08081E44: .4byte 0x00003a10 +_08081E48: .4byte 0x00003a12 +_08081E4C: .4byte 0x00003a14 +_08081E50: .4byte 0x00003a16 +_08081E54: .4byte 0x00003a18 +_08081E58: .4byte 0x0000e218 +_08081E5C: .4byte 0x0000e21c +_08081E60: .4byte 0x0000e220 +_08081E64: .4byte 0x0000e240 +_08081E68: .4byte 0x0000e250 +_08081E6C: .4byte 0x0000e260 +_08081E70: .4byte 0x0000e27c +_08081E74: .4byte 0x0000e87c +_08081E78: .4byte 0x0000e264 + thumb_func_end sub_8081C7C + + thumb_func_start sub_8081E7C +sub_8081E7C: + push {r4-r6,lr} + adds r5, r0, 0 + adds r4, r1, 0 + adds r0, r4, 0 + movs r1, 0 + movs r2, 0x18 + bl memset + adds r0, r5, 0 + bl sub_8083158 + movs r6, 0 + strh r0, [r4] + adds r0, r5, 0 + bl sub_8083158 + strh r0, [r4, 0x4] + adds r1, r4, 0 + adds r1, 0x9 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r1, r4, 0 + adds r1, 0xE + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FE0 + str r6, [r4, 0x10] + str r6, [r4, 0x14] + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8081E7C + + thumb_func_start sub_8081EC0 +sub_8081EC0: + push {r4-r6,lr} + adds r6, r0, 0 + adds r5, r1, 0 + adds r0, r5, 0 + movs r1, 0 + movs r2, 0x18 + bl memset + adds r0, r6, 0 + adds r1, r5, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r1, r5, 0x1 + adds r0, r6, 0 + movs r2, 0x1 + bl sub_8082FE0 + movs r4, 0 +_08081EE6: + adds r0, r6, 0 + bl sub_8083188 + adds r1, r5, 0x3 + adds r1, r4 + strb r0, [r1] + adds r0, r6, 0 + bl sub_8083188 + adds r1, r5, 0 + adds r1, 0xB + adds r1, r4 + strb r0, [r1] + adds r4, 0x1 + cmp r4, 0x7 + ble _08081EE6 + adds r0, r6, 0 + bl sub_8083188 + strb r0, [r5, 0x2] + adds r0, r6, 0 + bl sub_8083188 + strb r0, [r5, 0x13] + adds r0, r6, 0 + bl sub_8083188 + strb r0, [r5, 0x14] + adds r0, r6, 0 + bl sub_80831DC + strb r0, [r5, 0x15] + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8081EC0 + + thumb_func_start sub_8081F2C +sub_8081F2C: + push {r4,r5,lr} + adds r5, r0, 0 + ldr r1, _08081FE4 + bl sub_8083018 + ldr r4, _08081FE8 + ldr r0, [r4] + ldr r1, _08081FEC + adds r0, r1 + movs r1, 0 + str r1, [r0] + adds r0, r5, 0 + bl sub_8083188 + ldr r1, [r4] + ldr r2, _08081FF0 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_8083188 + ldr r1, [r4] + ldr r2, _08081FF4 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08081FF8 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08081FFC + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08082000 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08082004 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08082008 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _0808200C + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08082010 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08082014 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08082018 + adds r1, r2 + strb r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08081FE4: .4byte gUnknown_81071E0 +_08081FE8: .4byte gDungeonGlobalData +_08081FEC: .4byte 0x000181f8 +_08081FF0: .4byte 0x00018208 +_08081FF4: .4byte 0x00018209 +_08081FF8: .4byte 0x0001820a +_08081FFC: .4byte 0x0001820b +_08082000: .4byte 0x0001820c +_08082004: .4byte 0x0001820d +_08082008: .4byte 0x0001820e +_0808200C: .4byte 0x0001820f +_08082010: .4byte 0x00018210 +_08082014: .4byte 0x00018211 +_08082018: .4byte 0x00018213 + thumb_func_end sub_8081F2C + + thumb_func_start sub_808201C +sub_808201C: + push {r4,r5,lr} + adds r5, r0, 0 + bl sub_8083170 + ldr r4, _08082050 + ldr r1, [r4] + ldr r2, _08082054 + adds r1, r2 + strh r0, [r1] + adds r0, r5, 0 + bl sub_8083170 + ldr r1, [r4] + ldr r2, _08082058 + adds r1, r2 + strh r0, [r1] + adds r0, r5, 0 + bl sub_8083170 + ldr r1, [r4] + ldr r2, _0808205C + adds r1, r2 + strh r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08082050: .4byte gDungeonGlobalData +_08082054: .4byte 0x0001ced6 +_08082058: .4byte 0x0001ced8 +_0808205C: .4byte 0x0001ceda + thumb_func_end sub_808201C + + thumb_func_start sub_8082060 +sub_8082060: + push {r4-r7,lr} + sub sp, 0x8 + adds r5, r0, 0 + ldr r1, _080820A4 + bl sub_8083018 + add r4, sp, 0x4 + mov r7, sp + movs r6, 0x3F +_08082072: + adds r0, r5, 0 + mov r1, sp + bl sub_80820A8 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80831F8 + ldrb r1, [r7] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08082096 + adds r0, r4, 0 + mov r1, sp + movs r2, 0 + bl sub_80460F8 +_08082096: + subs r6, 0x1 + cmp r6, 0 + bge _08082072 + add sp, 0x8 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080820A4: .4byte gUnknown_81071E0 + thumb_func_end sub_8082060 + + thumb_func_start sub_80820A8 +sub_80820A8: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r0, 0 + str r0, [r4] + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r1, r4, 0x1 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r4, 0x2 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FE0 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80820A8 + + thumb_func_start sub_80820D8 +sub_80820D8: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + adds r5, r0, 0 + ldr r1, _08082178 + bl sub_8083018 + movs r0, 0x1 + add r0, sp + mov r9, r0 + add r1, sp, 0x4 + mov r8, r1 + mov r7, sp + movs r2, 0x3F + mov r10, r2 +_080820FC: + movs r0, 0x6 + strb r0, [r7] + movs r0, 0 + mov r3, sp + strb r0, [r3, 0x1] + adds r0, r5, 0 + mov r1, sp + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r5, 0 + mov r1, sp + adds r1, 0x1 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r5, 0 + bl sub_80831DC + lsls r0, 24 + lsrs r6, r0, 24 + adds r0, r5, 0 + add r1, sp, 0x4 + bl sub_80831F8 + ldrb r0, [r7] + cmp r0, 0xFF + beq _0808215C + mov r1, r8 + movs r2, 0 + ldrsh r0, [r1, r2] + mov r3, sp + movs r2, 0x6 + ldrsh r1, [r3, r2] + bl GetMapTile_2 + adds r4, r0, 0 + ldrb r0, [r7] + mov r3, r9 + ldrb r2, [r3] + mov r1, r8 + bl sub_8045684 + cmp r0, 0 + beq _0808215C + str r0, [r4, 0x14] + adds r0, 0x20 + strb r6, [r0] +_0808215C: + movs r0, 0x1 + negs r0, r0 + add r10, r0 + mov r1, r10 + cmp r1, 0 + bge _080820FC + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08082178: .4byte gUnknown_81071E0 + thumb_func_end sub_80820D8 + + thumb_func_start sub_808217C +sub_808217C: + push {r4,r5,lr} + adds r5, r0, 0 + ldr r1, _08082250 + bl sub_8083018 + adds r0, r5, 0 + bl sub_80831A0 + ldr r4, _08082254 + ldr r1, [r4] + ldr r2, _08082258 + adds r1, r2 + str r0, [r1] + adds r0, r5, 0 + bl sub_80831A0 + ldr r1, [r4] + ldr r2, _0808225C + adds r1, r2 + str r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08082260 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08082264 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08082268 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _0808226C + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08082270 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08082274 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _08082278 + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [r4] + ldr r2, _0808227C + adds r1, r2 + strb r0, [r1] + adds r0, r5, 0 + bl sub_8083158 + ldr r1, [r4] + movs r2, 0xE0 + lsls r2, 6 + adds r1, r2 + strh r0, [r1] + movs r4, 0 +_08082226: + adds r0, r5, 0 + movs r1, 0x1 + adds r2, r4, 0 + bl sub_8082280 + adds r4, 0x1 + cmp r4, 0x3 + ble _08082226 + movs r4, 0 +_08082238: + adds r0, r5, 0 + movs r1, 0 + adds r2, r4, 0 + bl sub_8082280 + adds r4, 0x1 + cmp r4, 0xF + ble _08082238 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08082250: .4byte gUnknown_81071E0 +_08082254: .4byte gDungeonGlobalData +_08082258: .4byte 0x000037f0 +_0808225C: .4byte 0x000037f4 +_08082260: .4byte 0x000037f8 +_08082264: .4byte 0x000037f9 +_08082268: .4byte 0x000037fa +_0808226C: .4byte 0x000037fb +_08082270: .4byte 0x000037fc +_08082274: .4byte 0x000037fd +_08082278: .4byte 0x000037fe +_0808227C: .4byte 0x000037ff + thumb_func_end sub_808217C + + thumb_func_start sub_8082280 +sub_8082280: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + ldr r4, _0808266C + add sp, r4 + adds r5, r0, 0 + str r2, [sp, 0x210] + lsls r1, 24 + lsrs r1, 24 + str r1, [sp, 0x20C] + movs r2, 0x82 + lsls r2, 2 + mov r0, sp + movs r1, 0 + bl memset + adds r0, r5, 0 + bl sub_8083188 + adds r0, r5, 0 + bl sub_8083188 + adds r0, r5, 0 + bl sub_8083188 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x214] + add r4, sp, 0x208 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80831F8 + adds r0, r5, 0 + bl sub_80831DC + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x218] + adds r0, r5, 0 + bl sub_8083158 + lsls r0, 16 + lsrs r0, 16 + str r0, [sp, 0x21C] + ldr r1, _08082670 + movs r0, 0 + str r0, [r1] + adds r0, r5, 0 + bl sub_8083158 + mov r1, sp + strh r0, [r1] + adds r0, r5, 0 + bl sub_8082BC0 + mov r1, sp + strh r0, [r1, 0x4] + adds r0, r5, 0 + bl sub_8082BC0 + mov r1, sp + strh r0, [r1, 0x2] + adds r0, r5, 0 + bl sub_80831DC + mov r1, sp + strb r0, [r1, 0x6] + adds r0, r5, 0 + bl sub_80831DC + mov r1, sp + strb r0, [r1, 0x7] + adds r0, r5, 0 + bl sub_8083188 + mov r1, sp + strb r0, [r1, 0x8] + adds r0, r5, 0 + bl sub_8083188 + mov r1, sp + strb r0, [r1, 0x9] + adds r0, r5, 0 + bl sub_8083188 + mov r1, sp + strb r0, [r1, 0xA] + add r1, sp, 0x40 + adds r0, r5, 0 + bl sub_8082F64 + adds r0, r5, 0 + bl sub_8083170 + mov r1, sp + strh r0, [r1, 0xC] + adds r0, r5, 0 + bl sub_8083170 + mov r1, sp + strh r0, [r1, 0xE] + adds r0, r5, 0 + bl sub_8083170 + mov r1, sp + strh r0, [r1, 0x10] + adds r0, r5, 0 + bl sub_8083170 + mov r1, sp + strh r0, [r1, 0x12] + adds r0, r5, 0 + bl sub_8083188 + mov r1, sp + strb r0, [r1, 0x14] + adds r0, r5, 0 + bl sub_8083188 + mov r1, sp + strb r0, [r1, 0x15] + adds r0, r5, 0 + bl sub_8083188 + mov r1, sp + strb r0, [r1, 0x16] + adds r0, r5, 0 + bl sub_8083188 + mov r1, sp + strb r0, [r1, 0x17] + adds r0, r5, 0 + bl sub_80831A0 + str r0, [sp, 0x18] + adds r0, r5, 0 + bl sub_8083170 + mov r1, sp + strh r0, [r1, 0x1C] + adds r0, r5, 0 + bl sub_8083170 + mov r1, sp + strh r0, [r1, 0x1E] + adds r0, r5, 0 + bl sub_8083170 + mov r1, sp + strh r0, [r1, 0x20] + adds r0, r5, 0 + bl sub_8083170 + mov r1, sp + strh r0, [r1, 0x22] + adds r0, r5, 0 + bl sub_8083170 + mov r1, sp + strh r0, [r1, 0x24] + adds r0, r5, 0 + bl sub_8083170 + mov r1, sp + strh r0, [r1, 0x26] + adds r0, r5, 0 + bl sub_8083170 + mov r1, sp + strh r0, [r1, 0x28] + adds r0, r5, 0 + bl sub_80831C8 + str r0, [sp, 0x2C] + adds r0, r5, 0 + bl sub_80831C8 + str r0, [sp, 0x30] + adds r0, r5, 0 + bl sub_80831C8 + str r0, [sp, 0x34] + adds r0, r5, 0 + bl sub_80831C8 + str r0, [sp, 0x38] + add r1, sp, 0x44 + adds r0, r5, 0 + bl sub_8082CBC + adds r0, r5, 0 + bl sub_8082BFC + add r1, sp, 0x5C + strb r0, [r1] + adds r0, r5, 0 + bl sub_8082BFC + mov r1, sp + adds r1, 0x5D + strb r0, [r1] + adds r0, r5, 0 + bl sub_8082C18 + mov r1, sp + adds r1, 0x5E + strb r0, [r1] + adds r0, r5, 0 + bl sub_8082C18 + mov r1, sp + adds r1, 0x5F + strb r0, [r1] + add r1, sp, 0x60 + adds r0, r5, 0 + bl sub_80820A8 + adds r0, r5, 0 + bl sub_8082BE0 + add r1, sp, 0x64 + strb r0, [r1] + add r7, sp, 0x78 + add r0, sp, 0x8C + mov r8, r0 + add r1, sp, 0x90 + mov r9, r1 + add r2, sp, 0x94 + mov r10, r2 + mov r3, sp + adds r3, 0x3C + str r3, [sp, 0x270] + mov r0, sp + adds r0, 0x98 + str r0, [sp, 0x274] + mov r1, sp + adds r1, 0x9C + str r1, [sp, 0x278] + mov r2, sp + adds r2, 0xA0 + str r2, [sp, 0x27C] + adds r3, 0x6C + str r3, [sp, 0x284] + adds r0, 0x14 + str r0, [sp, 0x288] + adds r1, 0x14 + str r1, [sp, 0x28C] + adds r2, 0x1C + str r2, [sp, 0x290] + adds r3, 0x18 + str r3, [sp, 0x294] + adds r0, 0x18 + str r0, [sp, 0x298] + adds r1, 0x18 + str r1, [sp, 0x29C] + adds r2, 0x14 + str r2, [sp, 0x220] + adds r3, 0x1C + str r3, [sp, 0x224] + adds r0, 0x1C + str r0, [sp, 0x228] + adds r1, 0x1C + str r1, [sp, 0x22C] + adds r2, 0x18 + str r2, [sp, 0x230] + adds r3, 0x10 + str r3, [sp, 0x234] + adds r0, 0x10 + str r0, [sp, 0x238] + adds r1, 0xD + str r1, [sp, 0x23C] + adds r2, 0xA + str r2, [sp, 0x240] + adds r3, 0x7 + str r3, [sp, 0x244] + adds r0, 0x4 + str r0, [sp, 0x248] + adds r1, 0xA + str r1, [sp, 0x25C] + adds r2, 0x3 + str r2, [sp, 0x24C] + adds r3, 0x3 + str r3, [sp, 0x250] + adds r0, 0x3 + str r0, [sp, 0x254] + subs r1, 0x1 + str r1, [sp, 0x258] + adds r2, 0x7 + str r2, [sp, 0x260] + adds r3, 0x7 + str r3, [sp, 0x264] + adds r0, 0x7 + str r0, [sp, 0x268] + adds r1, 0x5 + str r1, [sp, 0x26C] + subs r2, 0x58 + str r2, [sp, 0x280] + add r4, sp, 0x68 + movs r6, 0x3 +_080824DC: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80831F8 + adds r4, 0x4 + subs r6, 0x1 + cmp r6, 0 + bge _080824DC + adds r0, r5, 0 + adds r1, r7, 0 + bl sub_8082CE4 + adds r0, r5, 0 + mov r1, r8 + bl sub_8082D28 + adds r0, r5, 0 + mov r1, r9 + bl sub_8082D28 + adds r0, r5, 0 + bl sub_8082C84 + movs r4, 0 + mov r3, r10 + strb r0, [r3] + adds r0, r5, 0 + ldr r1, [sp, 0x270] + bl sub_8082F80 + adds r0, r5, 0 + bl sub_80831A0 + ldr r1, [sp, 0x274] + str r0, [r1] + adds r0, r5, 0 + bl sub_80831A0 + ldr r2, [sp, 0x278] + str r0, [r2] + adds r0, r5, 0 + bl sub_80831A0 + ldr r3, [sp, 0x27C] + str r0, [r3] + adds r0, r5, 0 + ldr r1, [sp, 0x284] + bl sub_8082D34 + adds r0, r5, 0 + ldr r1, [sp, 0x288] + bl sub_8082D50 + adds r0, r5, 0 + ldr r1, [sp, 0x28C] + bl sub_8082D7C + adds r0, r5, 0 + ldr r1, [sp, 0x290] + bl sub_8082DA8 + adds r0, r5, 0 + ldr r1, [sp, 0x294] + bl sub_8082DC4 + adds r0, r5, 0 + ldr r1, [sp, 0x298] + bl sub_8082DE8 + adds r0, r5, 0 + ldr r1, [sp, 0x29C] + bl sub_8082E04 + adds r0, r5, 0 + ldr r1, [sp, 0x220] + bl sub_8082E38 + adds r0, r5, 0 + ldr r1, [sp, 0x224] + bl sub_8082E6C + adds r0, r5, 0 + ldr r1, [sp, 0x228] + bl sub_8082E88 + adds r0, r5, 0 + ldr r1, [sp, 0x22C] + bl sub_8082E94 + adds r0, r5, 0 + ldr r1, [sp, 0x230] + bl sub_8082EB0 + adds r0, r5, 0 + ldr r1, [sp, 0x234] + bl sub_8082ECC + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [sp, 0x238] + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r2, [sp, 0x23C] + strb r0, [r2] + adds r0, r5, 0 + bl sub_80831DC + ldr r3, [sp, 0x240] + strb r0, [r3] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [sp, 0x244] + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r2, [sp, 0x248] + strb r0, [r2] + adds r0, r5, 0 + bl sub_8083188 + ldr r3, [sp, 0x25C] + strb r0, [r3] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, [sp, 0x24C] + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r2, [sp, 0x250] + strb r0, [r2] + adds r0, r5, 0 + bl sub_80831DC + ldr r3, [sp, 0x254] + strb r0, [r3] + adds r0, r5, 0 + bl sub_8083188 + ldr r1, [sp, 0x258] + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r2, [sp, 0x260] + strb r0, [r2] + adds r0, r5, 0 + bl sub_8083188 + ldr r3, [sp, 0x264] + strb r0, [r3] + adds r0, r5, 0 + bl sub_8083188 + ldr r1, [sp, 0x268] + strb r0, [r1] + adds r0, r5, 0 + bl sub_8082C34 + ldr r2, [sp, 0x26C] + strb r0, [r2] + adds r0, r5, 0 + bl sub_8082C50 + add r1, sp, 0x100 + strb r0, [r1] + adds r0, r5, 0 + bl sub_8082C6C + add r1, sp, 0x104 + str r0, [r1] + add r1, sp, 0x108 + adds r0, r5, 0 + movs r2, 0x5 + bl sub_8083288 + ldr r1, _08082674 + add r1, sp + adds r0, r5, 0 + movs r2, 0x5 + bl sub_8083288 + adds r0, r5, 0 + bl sub_8083188 + movs r1, 0x89 + lsls r1, 1 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_8083188 + b _08082678 + .align 2, 0 +_0808266C: .4byte 0xfffffd60 +_08082670: .4byte gLeaderPokemon +_08082674: .4byte 0x0000010d +_08082678: + ldr r1, _08082818 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_8083188 + add r1, sp, 0x114 + lsls r0, 24 + lsrs r0, 24 + str r0, [r1] + add r1, sp, 0x118 + adds r0, r5, 0 + bl sub_8082F1C + add r1, sp, 0x13C + adds r0, r5, 0 + bl sub_8082F48 + add r1, sp, 0x140 + adds r0, r5, 0 + bl sub_8082F48 + adds r0, r5, 0 + bl sub_80831DC + add r1, sp, 0x144 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, _0808281C + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, _08082820 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + movs r1, 0xA3 + lsls r1, 1 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + add r1, sp, 0x148 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, _08082824 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + movs r1, 0xA5 + lsls r1, 1 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, _08082828 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + add r1, sp, 0x14C + strb r0, [r1] + adds r0, r5, 0 + bl sub_8083158 + movs r1, 0xA7 + lsls r1, 1 + add r1, sp + strh r0, [r1] + adds r0, r5, 0 + bl sub_8083158 + add r1, sp, 0x150 + strh r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + movs r1, 0xA9 + lsls r1, 1 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_8083188 + ldr r1, _0808282C + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + add r1, sp, 0x154 + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + ldr r1, _08082830 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_80831DC + movs r1, 0xAB + lsls r1, 1 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_8083188 + add r1, sp, 0x164 + strb r0, [r1] + adds r0, r5, 0 + bl sub_8083188 + ldr r1, _08082834 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_8083188 + movs r1, 0xB3 + lsls r1, 1 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_8083188 + ldr r1, _08082838 + add r1, sp + strb r0, [r1] + adds r0, r5, 0 + bl sub_8083188 + add r1, sp, 0x168 + strb r0, [r1] + adds r0, r5, 0 + bl sub_8083188 + ldr r1, _0808283C + add r1, sp + strb r0, [r1] + add r1, sp, 0x16C + adds r0, r5, 0 + bl sub_80831F8 + adds r0, r5, 0 + bl sub_80831C8 + add r1, sp, 0x174 + str r0, [r1] + adds r0, r5, 0 + bl sub_8083158 + add r1, sp, 0x178 + strh r0, [r1] + adds r0, r5, 0 + bl sub_8083170 + add r1, sp, 0x1F8 + strh r0, [r1] + adds r0, r5, 0 + bl sub_8083170 + movs r1, 0xFD + lsls r1, 1 + add r1, sp + strh r0, [r1] + adds r0, r5, 0 + bl sub_80831A0 + add r1, sp, 0x1FC + str r0, [r1] + adds r0, r5, 0 + bl sub_8082CA0 + ldr r3, [sp, 0x280] + strb r0, [r3] + ldr r0, _08082840 + str r4, [r0] + ldr r0, [sp, 0x214] + cmp r0, 0 + beq _080828BE + ldr r1, [sp, 0x20C] + cmp r1, 0 + beq _08082844 + mov r0, sp + movs r2, 0x2 + ldrsh r0, [r0, r2] + mov r1, sp + movs r3, 0x4 + ldrsh r1, [r1, r3] + ldr r2, [sp, 0x210] + bl sub_80828E0 + b _08082856 + .align 2, 0 +_08082818: .4byte 0x00000113 +_0808281C: .4byte 0x00000145 +_08082820: .4byte 0x00000147 +_08082824: .4byte 0x00000149 +_08082828: .4byte 0x0000014b +_0808282C: .4byte 0x00000153 +_08082830: .4byte 0x00000155 +_08082834: .4byte 0x00000165 +_08082838: .4byte 0x00000167 +_0808283C: .4byte 0x00000169 +_08082840: .4byte gLeaderPokemon +_08082844: + mov r0, sp + movs r1, 0x2 + ldrsh r0, [r0, r1] + mov r1, sp + movs r2, 0x4 + ldrsh r1, [r1, r2] + ldr r2, [sp, 0x210] + bl sub_8082A08 +_08082856: + adds r7, r0, 0 + cmp r7, 0 + beq _080828BE + ldr r6, [r7, 0x70] + movs r5, 0x82 + lsls r5, 2 + mov r3, sp + adds r4, r3, r5 + movs r1, 0 + ldrsh r0, [r4, r1] + ldr r3, _080828D4 + add r3, sp + movs r2, 0 + ldrsh r1, [r3, r2] + bl GetMapTile_2 + ldr r1, [r4] + str r1, [r7, 0x8] + ldr r1, [r4] + str r1, [r7, 0x4] + str r7, [r0, 0x10] + adds r0, r7, 0 + adds r0, 0x20 + movs r4, 0 + add r1, sp, 0x218 + ldrb r1, [r1] + strb r1, [r0] + add r2, sp, 0x21C + ldrh r2, [r2] + strh r2, [r7, 0x26] + adds r0, r6, 0 + mov r1, sp + adds r2, r5, 0 + bl memcpy + ldr r0, _080828D8 + str r4, [r0] + ldrb r0, [r6, 0x7] + cmp r0, 0 + beq _080828B0 + ldr r0, _080828DC + ldrh r1, [r7, 0x4] + strh r1, [r0] + ldrh r1, [r7, 0x6] + strh r1, [r0, 0x2] +_080828B0: + adds r0, r7, 0 + bl LoadIQSkills + adds r0, r7, 0 + movs r1, 0 + bl sub_804535C +_080828BE: + movs r3, 0xA8 + 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 +_080828D4: .4byte 0x0000020a +_080828D8: .4byte gLeaderPokemon +_080828DC: .4byte gUnknown_203B410 + thumb_func_end sub_8082280 + + thumb_func_start sub_80828E0 +sub_80828E0: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r5, r2, 0 + lsls r0, 16 + asrs r0, 16 + mov r10, r0 + lsls r1, 16 + asrs r1, 16 + mov r8, r1 + movs r4, 0x1 + negs r4, r4 + mov r0, r8 + bl GetPokemonSize + lsls r0, 24 + lsrs r6, r0, 24 + movs r3, 0 + movs r0, 0x6 + subs r7, r0, r6 + ldr r0, _08082914 + mov r9, r0 + b _0808291A + .align 2, 0 +_08082914: .4byte gUnknown_202EE70 +_08082918: + adds r3, 0x1 +_0808291A: + cmp r3, r7 + bgt _0808293E + movs r2, 0 + cmp r2, r6 + bge _08082938 + mov r0, r9 + adds r1, r3, r0 + b _08082932 +_0808292A: + adds r1, 0x1 + adds r2, 0x1 + cmp r2, r6 + bge _08082938 +_08082932: + ldrb r0, [r1] + cmp r0, 0 + beq _0808292A +_08082938: + cmp r2, r6 + bne _08082918 + adds r4, r3, 0 +_0808293E: + movs r0, 0x1 + negs r0, r0 + cmp r4, r0 + bne _0808294A + movs r0, 0 + b _080829E6 +_0808294A: + ldr r2, _080829F4 + ldr r0, [r2] + lsls r1, r5, 2 + ldr r3, _080829F8 + adds r0, r3 + adds r0, r1 + ldr r7, [r0] + movs r0, 0x1 + mov r9, r0 + str r0, [r7] + adds r0, r7, 0 + adds r0, 0x24 + strb r5, [r0] + lsls r0, r5, 6 + adds r0, r5 + lsls r0, 3 + ldr r1, _080829FC + adds r0, r1 + ldr r1, [r2] + adds r1, r0 + str r1, [r7, 0x70] + movs r5, 0 + mov r3, r10 + strh r3, [r1, 0x2] + ldr r0, [r7, 0x70] + mov r1, r8 + strh r1, [r0, 0x4] + ldr r0, [r7, 0x70] + strb r5, [r0, 0x6] + mov r0, r8 + bl sub_80687D0 + str r0, [r7, 0x64] + lsls r0, r4, 4 + adds r0, 0x40 + adds r1, r7, 0 + adds r1, 0x68 + strh r0, [r1] + adds r1, 0x2 + movs r0, 0x7 + strb r0, [r1] + adds r0, r7, 0 + adds r0, 0x6C + strb r5, [r0] + adds r1, 0x1 + movs r0, 0xFF + strb r0, [r1] + adds r0, r7, 0 + adds r0, 0x6D + mov r3, r9 + strb r3, [r0] + adds r0, 0x2 + strb r3, [r0] + movs r0, 0 + str r0, [r7, 0x1C] + bl sub_8045ACC + ldr r0, [r7, 0x70] + ldr r1, _08082A00 + adds r0, r1 + strb r4, [r0] + ldr r0, [r7, 0x70] + movs r3, 0xB4 + lsls r3, 1 + adds r0, r3 + strb r6, [r0] + cmp r6, 0 + beq _080829E4 + ldr r3, _08082A04 + movs r2, 0x1 + adds r1, r6, 0 +_080829D8: + adds r0, r4, r3 + strb r2, [r0] + adds r4, 0x1 + subs r1, 0x1 + cmp r1, 0 + bne _080829D8 +_080829E4: + adds r0, r7, 0 +_080829E6: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080829F4: .4byte gDungeonGlobalData +_080829F8: .4byte 0x0001357c +_080829FC: .4byte 0x0000069c +_08082A00: .4byte 0x00000167 +_08082A04: .4byte gUnknown_202EE70 + thumb_func_end sub_80828E0 + + thumb_func_start sub_8082A08 +sub_8082A08: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r5, r2, 0 + lsls r0, 16 + asrs r0, 16 + str r0, [sp] + lsls r1, 16 + asrs r1, 16 + mov r9, r1 + movs r0, 0x1 + negs r0, r0 + mov r8, r0 + mov r0, r9 + bl GetPokemonSize + lsls r0, 24 + lsrs r6, r0, 24 + movs r3, 0 + movs r0, 0x10 + subs r4, r0, r6 + ldr r7, _08082A3C + b _08082A42 + .align 2, 0 +_08082A3C: .4byte gUnknown_202EE76 +_08082A40: + adds r3, 0x1 +_08082A42: + cmp r3, r4 + bgt _08082A64 + movs r2, 0 + cmp r2, r6 + bge _08082A5E + adds r1, r3, r7 + b _08082A58 +_08082A50: + adds r1, 0x1 + adds r2, 0x1 + cmp r2, r6 + bge _08082A5E +_08082A58: + ldrb r0, [r1] + cmp r0, 0 + beq _08082A50 +_08082A5E: + cmp r2, r6 + bne _08082A40 + mov r8, r3 +_08082A64: + movs r0, 0x1 + negs r0, r0 + cmp r8, r0 + bne _08082A70 + movs r0, 0 + b _08082B1C +_08082A70: + ldr r2, _08082B2C + ldr r0, [r2] + lsls r1, r5, 2 + ldr r3, _08082B30 + adds r0, r3 + adds r0, r1 + ldr r7, [r0] + movs r4, 0x1 + str r4, [r7] + adds r0, r7, 0 + adds r0, 0x24 + movs r1, 0 + mov r10, r1 + strb r5, [r0] + subs r0, 0x2 + mov r3, r10 + strb r3, [r0] + lsls r0, r5, 6 + adds r0, r5 + lsls r0, 3 + ldr r1, _08082B34 + adds r0, r1 + ldr r1, [r2] + adds r1, r0 + str r1, [r7, 0x70] + movs r5, 0 + mov r2, sp + ldrh r2, [r2] + strh r2, [r1, 0x2] + ldr r0, [r7, 0x70] + mov r3, r9 + strh r3, [r0, 0x4] + ldr r0, [r7, 0x70] + strb r4, [r0, 0x6] + mov r0, r9 + bl sub_80687D0 + str r0, [r7, 0x64] + mov r1, r8 + lsls r0, r1, 4 + adds r0, 0xA0 + adds r1, r7, 0 + adds r1, 0x68 + strh r0, [r1] + adds r1, 0x2 + movs r0, 0x7 + strb r0, [r1] + adds r0, r7, 0 + adds r0, 0x6C + strb r5, [r0] + adds r1, 0x1 + movs r0, 0xFF + strb r0, [r1] + adds r0, r7, 0 + adds r0, 0x6D + strb r4, [r0] + adds r0, 0x2 + strb r4, [r0] + mov r2, r10 + str r2, [r7, 0x1C] + ldr r0, [r7, 0x70] + ldr r3, _08082B38 + adds r0, r3 + mov r4, r8 + strb r4, [r0] + ldr r0, [r7, 0x70] + movs r1, 0xB4 + lsls r1, 1 + adds r0, r1 + strb r6, [r0] + cmp r6, 0 + beq _08082B16 + ldr r3, _08082B3C + movs r2, 0x1 + adds r1, r6, 0 +_08082B06: + mov r4, r8 + adds r0, r4, r3 + strb r2, [r0] + movs r0, 0x1 + add r8, r0 + subs r1, 0x1 + cmp r1, 0 + bne _08082B06 +_08082B16: + bl sub_8045ACC + adds r0, r7, 0 +_08082B1C: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08082B2C: .4byte gDungeonGlobalData +_08082B30: .4byte 0x0001358c +_08082B34: .4byte 0x00000ebc +_08082B38: .4byte 0x00000167 +_08082B3C: .4byte gUnknown_202EE76 + thumb_func_end sub_8082A08 + + thumb_func_start sub_8082B40 +sub_8082B40: + push {r4-r6,lr} + sub sp, 0x4 + movs r6, 0 +_08082B46: + ldr r0, _08082BB8 + ldr r0, [r0] + lsls r1, r6, 2 + ldr r2, _08082BBC + adds r0, r2 + adds r0, r1 + ldr r5, [r0] + adds r0, r5, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _08082BA8 + ldr r4, [r5, 0x70] + movs r1, 0x4 + ldrsh r0, [r4, r1] + bl sub_80687D0 + str r0, [r5, 0x64] + adds r0, r5, 0 + bl sub_806CEBC + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r5, 0 + bl sub_806CCB4 + ldr r0, [r5, 0x4] + str r0, [sp] + adds r0, r4, 0 + adds r0, 0x98 + ldr r0, [r0] + movs r2, 0x4 + ldrsh r1, [r4, r2] + mov r2, sp + movs r3, 0x3 + bl AddPokemonDungeonSprite + movs r1, 0x4 + ldrsh r0, [r5, r1] + movs r2, 0x6 + ldrsh r1, [r5, r2] + bl GetMapTile_2 + ldrb r1, [r0, 0x9] + adds r0, r5, 0 + adds r0, 0x25 + strb r1, [r0] +_08082BA8: + adds r6, 0x1 + cmp r6, 0x13 + ble _08082B46 + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08082BB8: .4byte gDungeonGlobalData +_08082BBC: .4byte 0x000135cc + thumb_func_end sub_8082B40 + + thumb_func_start sub_8082BC0 +sub_8082BC0: + push {lr} + sub sp, 0x4 + mov r2, sp + movs r1, 0 + strh r1, [r2] + mov r1, sp + movs r2, 0x2 + bl sub_8082FE0 + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8082BC0 + + thumb_func_start sub_8082BE0 +sub_8082BE0: + push {lr} + sub sp, 0x4 + mov r2, sp + movs r1, 0 + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FE0 + mov r0, sp + ldrb r0, [r0] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8082BE0 + + thumb_func_start sub_8082BFC +sub_8082BFC: + push {lr} + sub sp, 0x4 + mov r2, sp + movs r1, 0 + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FE0 + mov r0, sp + ldrb r0, [r0] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8082BFC + + thumb_func_start sub_8082C18 +sub_8082C18: + push {lr} + sub sp, 0x4 + mov r2, sp + movs r1, 0 + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FE0 + mov r0, sp + ldrb r0, [r0] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8082C18 + + thumb_func_start sub_8082C34 +sub_8082C34: + push {lr} + sub sp, 0x4 + mov r2, sp + movs r1, 0 + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FE0 + mov r0, sp + ldrb r0, [r0] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8082C34 + + thumb_func_start sub_8082C50 +sub_8082C50: + push {lr} + sub sp, 0x4 + mov r2, sp + movs r1, 0 + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FE0 + mov r0, sp + ldrb r0, [r0] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8082C50 + + thumb_func_start sub_8082C6C +sub_8082C6C: + push {lr} + sub sp, 0x4 + movs r1, 0 + str r1, [sp] + mov r1, sp + movs r2, 0x4 + bl sub_8082FE0 + ldr r0, [sp] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8082C6C + + thumb_func_start sub_8082C84 +sub_8082C84: + push {lr} + sub sp, 0x4 + mov r2, sp + movs r1, 0 + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FE0 + mov r0, sp + ldrb r0, [r0] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8082C84 + + thumb_func_start sub_8082CA0 +sub_8082CA0: + push {lr} + sub sp, 0x4 + mov r2, sp + movs r1, 0 + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FE0 + mov r0, sp + ldrb r0, [r0] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8082CA0 + + thumb_func_start sub_8082CBC +sub_8082CBC: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r0, 0 + strh r0, [r4] + adds r1, r4, 0x2 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FE0 + movs r0, 0x7 + strb r0, [r4, 0x3] + adds r4, 0x14 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80831F8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082CBC + + thumb_func_start sub_8082CE4 +sub_8082CE4: + push {r4-r6,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r5, 0 + bl sub_80831DC + movs r6, 0 + strb r0, [r4, 0x1] + adds r0, r5, 0 + bl sub_80831DC + strb r0, [r4, 0x2] + adds r0, r5, 0 + bl sub_80831DC + strb r0, [r4, 0x3] + adds r0, r5, 0 + bl sub_8083158 + strh r0, [r4, 0x4] + str r6, [r4, 0x8] + str r6, [r4, 0xC] + adds r4, 0x10 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80831F8 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8082CE4 + + thumb_func_start sub_8082D28 +sub_8082D28: + push {lr} + movs r2, 0x3 + bl sub_8082FE0 + pop {r0} + bx r0 + thumb_func_end sub_8082D28 + + thumb_func_start sub_8082D34 +sub_8082D34: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x1] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082D34 + + thumb_func_start sub_8082D50 +sub_8082D50: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x1] + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x2] + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x3] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082D50 + + thumb_func_start sub_8082D7C +sub_8082D7C: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x8] + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x9] + adds r0, r4, 0 + bl sub_80831A0 + str r0, [r5, 0x4] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082D7C + + thumb_func_start sub_8082DA8 +sub_8082DA8: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x1] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082DA8 + + thumb_func_start sub_8082DC4 +sub_8082DC4: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x1] + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x2] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082DC4 + + thumb_func_start sub_8082DE8 +sub_8082DE8: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x1] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082DE8 + + thumb_func_start sub_8082E04 +sub_8082E04: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_80831DC + strb r0, [r5, 0x1] + adds r0, r4, 0 + bl sub_80831DC + strb r0, [r5, 0x2] + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x3] + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x4] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082E04 + + thumb_func_start sub_8082E38 +sub_8082E38: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_80831A0 + str r0, [r5, 0x4] + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x8] + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x9] + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0xA] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082E38 + + thumb_func_start sub_8082E6C +sub_8082E6C: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x1] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082E6C + + thumb_func_start sub_8082E88 +sub_8082E88: + push {lr} + movs r2, 0x1 + bl sub_8082FE0 + pop {r0} + bx r0 + thumb_func_end sub_8082E88 + + thumb_func_start sub_8082E94 +sub_8082E94: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x1] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082E94 + + thumb_func_start sub_8082EB0 +sub_8082EB0: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x1] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082EB0 + + thumb_func_start sub_8082ECC +sub_8082ECC: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x1] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082ECC + + thumb_func_start sub_8082EE8 +sub_8082EE8: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + bl sub_8083188 + strb r0, [r5] + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x1] + adds r1, r5, 0x2 + adds r0, r4, 0 + movs r2, 0x2 + bl sub_8082FE0 + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x4] + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x5] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082EE8 + + thumb_func_start sub_8082F1C +sub_8082F1C: + push {r4-r7,lr} + adds r6, r0, 0 + adds r7, r1, 0 + adds r4, r7, 0 + movs r5, 0x3 +_08082F26: + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_8082EE8 + adds r4, 0x8 + subs r5, 0x1 + cmp r5, 0 + bge _08082F26 + adds r0, r6, 0 + bl sub_8083188 + adds r1, r7, 0 + adds r1, 0x20 + strb r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8082F1C + + thumb_func_start sub_8082F48 +sub_8082F48: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + bl sub_8083170 + strh r0, [r5] + adds r0, r4, 0 + bl sub_8083170 + strh r0, [r5, 0x2] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082F48 + + thumb_func_start sub_8082F64 +sub_8082F64: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + bl sub_8083188 + strb r0, [r5] + adds r0, r4, 0 + bl sub_8083188 + strb r0, [r5, 0x1] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082F64 + + thumb_func_start sub_8082F80 +sub_8082F80: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + bl sub_8083170 + strh r0, [r5] + adds r0, r4, 0 + bl sub_8082BFC + strb r0, [r5, 0x2] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8082F80 + + thumb_func_start sub_8082F9C +sub_8082F9C: + str r1, [r0] + movs r3, 0 + str r3, [r0, 0x8] + adds r1, r2 + str r1, [r0, 0x4] + bx lr + thumb_func_end sub_8082F9C + + thumb_func_start sub_8082FA8 +sub_8082FA8: + push {r4,lr} + adds r3, r0, 0 + adds r4, r1, 0 + cmp r2, 0 + beq _08082FCC +_08082FB2: + ldr r1, [r3] + ldrb r0, [r4] + strb r0, [r1] + ldr r0, [r3] + adds r0, 0x1 + str r0, [r3] + adds r4, 0x1 + subs r2, 0x1 + ldr r0, [r3, 0x8] + adds r0, 0x1 + str r0, [r3, 0x8] + cmp r2, 0 + bne _08082FB2 +_08082FCC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8082FA8 + + thumb_func_start sub_8082FD4 +sub_8082FD4: + str r1, [r0] + movs r3, 0 + str r3, [r0, 0x8] + adds r1, r2 + str r1, [r0, 0x4] + bx lr + thumb_func_end sub_8082FD4 + + thumb_func_start sub_8082FE0 +sub_8082FE0: + push {r4,lr} + adds r3, r0, 0 + adds r4, r1, 0 + cmp r2, 0 + beq _08083002 +_08082FEA: + ldr r1, [r3] + ldrb r0, [r1] + strb r0, [r4] + adds r1, 0x1 + str r1, [r3] + adds r4, 0x1 + subs r2, 0x1 + ldr r0, [r3, 0x8] + adds r0, 0x1 + str r0, [r3, 0x8] + cmp r2, 0 + bne _08082FEA +_08083002: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8082FE0 + + thumb_func_start nullsub_98 +nullsub_98: + bx lr + thumb_func_end nullsub_98 + + thumb_func_start sub_808300C +sub_808300C: + push {lr} + movs r2, 0x8 + bl sub_8082FA8 + pop {r0} + bx r0 + thumb_func_end sub_808300C + + thumb_func_start sub_8083018 +sub_8083018: + push {lr} + sub sp, 0xC + mov r1, sp + movs r2, 0x8 + bl sub_8082FE0 + mov r1, sp + movs r0, 0 + strb r0, [r1, 0x8] + add sp, 0xC + pop {r0} + bx r0 + thumb_func_end sub_8083018 + + thumb_func_start sub_8083030 +sub_8083030: + push {lr} + sub sp, 0x4 + mov r2, sp + strh r1, [r2] + mov r1, sp + movs r2, 0x2 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8083030 + + thumb_func_start sub_8083048 +sub_8083048: + push {lr} + sub sp, 0x4 + mov r2, sp + strh r1, [r2] + mov r1, sp + movs r2, 0x2 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8083048 + + thumb_func_start sub_8083060 +sub_8083060: + push {lr} + sub sp, 0x4 + mov r2, sp + strb r1, [r2] + mov r1, sp + movs r2, 0x1 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8083060 + + thumb_func_start sub_8083078 +sub_8083078: + push {lr} + sub sp, 0x4 + str r1, [sp] + mov r1, sp + movs r2, 0x4 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8083078 + + thumb_func_start sub_808308C +sub_808308C: + push {lr} + sub sp, 0x4 + str r1, [sp] + mov r1, sp + movs r2, 0x4 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_808308C + + thumb_func_start sub_80830A0 +sub_80830A0: + push {lr} + sub sp, 0x4 + str r1, [sp] + mov r1, sp + movs r2, 0x4 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80830A0 + + thumb_func_start sub_80830B4 +sub_80830B4: + push {lr} + sub sp, 0x4 + adds r3, r0, 0 + lsls r1, 24 + movs r2, 0 + cmp r1, 0 + beq _080830C4 + movs r2, 0xFF +_080830C4: + mov r0, sp + strb r2, [r0] + adds r0, r3, 0 + mov r1, sp + movs r2, 0x1 + bl sub_8082FA8 + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80830B4 + + thumb_func_start sub_80830D8 +sub_80830D8: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r4, 0x2 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FA8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80830D8 + + thumb_func_start sub_80830F8 +sub_80830F8: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r4, 0x4 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r1, r4, 0 + adds r1, 0x8 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r4, 0xC + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FA8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80830F8 + + thumb_func_start sub_808312C +sub_808312C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x1 + bl sub_8082FA8 + adds r4, 0x2 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FA8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_808312C + + thumb_func_start sub_808314C +sub_808314C: + push {lr} + bl sub_8082FA8 + pop {r0} + bx r0 + thumb_func_end sub_808314C + + thumb_func_start sub_8083158 +sub_8083158: + push {lr} + sub sp, 0x4 + mov r1, sp + movs r2, 0x2 + bl sub_8082FE0 + mov r0, sp + ldrh r0, [r0] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8083158 + + thumb_func_start sub_8083170 +sub_8083170: + push {lr} + sub sp, 0x4 + mov r1, sp + movs r2, 0x2 + bl sub_8082FE0 + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8083170 + + thumb_func_start sub_8083188 +sub_8083188: + push {lr} + sub sp, 0x4 + mov r1, sp + movs r2, 0x1 + bl sub_8082FE0 + mov r0, sp + ldrb r0, [r0] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8083188 + + thumb_func_start sub_80831A0 +sub_80831A0: + push {lr} + sub sp, 0x4 + mov r1, sp + movs r2, 0x4 + bl sub_8082FE0 + ldr r0, [sp] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_80831A0 + + thumb_func_start sub_80831B4 +sub_80831B4: + push {lr} + sub sp, 0x4 + mov r1, sp + movs r2, 0x4 + bl sub_8082FE0 + ldr r0, [sp] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_80831B4 + + thumb_func_start sub_80831C8 +sub_80831C8: + push {lr} + sub sp, 0x4 + mov r1, sp + movs r2, 0x4 + bl sub_8082FE0 + ldr r0, [sp] + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_80831C8 + + thumb_func_start sub_80831DC +sub_80831DC: + push {lr} + sub sp, 0x4 + mov r1, sp + movs r2, 0x1 + bl sub_8082FE0 + mov r0, sp + ldrb r1, [r0] + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_80831DC + + thumb_func_start sub_80831F8 +sub_80831F8: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r0, 0 + strh r0, [r4] + strh r0, [r4, 0x2] + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r4, 0x2 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FE0 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80831F8 + + thumb_func_start sub_8083220 +sub_8083220: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r0, 0 + str r0, [r4] + str r0, [r4, 0x4] + str r0, [r4, 0x8] + str r0, [r4, 0xC] + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r1, r4, 0x4 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r1, r4, 0 + adds r1, 0x8 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r4, 0xC + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FE0 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8083220 + + thumb_func_start sub_8083260 +sub_8083260: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r0, 0 + strh r0, [r4] + strh r0, [r4, 0x2] + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8082FE0 + adds r4, 0x2 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_8082FE0 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8083260 + + thumb_func_start sub_8083288 +sub_8083288: + push {lr} + bl sub_8082FE0 + pop {r0} + bx r0 + thumb_func_end sub_8083288 + + .align 2, 0
\ No newline at end of file diff --git a/include/weather.h b/include/weather.h new file mode 100644 index 0000000..b7fa725 --- /dev/null +++ b/include/weather.h @@ -0,0 +1,9 @@ +#ifndef GUARD_WEATHER_H +#define GUARD_WEATHER_H + +#include "dungeon_entity.h" + +// 0x7E580 +u8 GetWeather(struct DungeonEntity* pokemon); + +#endif diff --git a/ld_script.txt b/ld_script.txt index a03b217..34055c6 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -239,6 +239,8 @@ SECTIONS { asm/code_807CABC.o(.text); src/targeting_flags.o(.text); asm/code_807CD9C.o(.text); + src/weather.o(.text); + asm/code_807E5AC.o(.text); src/dungeon_range.o(.text); asm/code_808333C.o(.text); src/dungeon_random.o(.text); diff --git a/src/status_checker.c b/src/status_checker.c index 612e6cd..6f521f1 100644 --- a/src/status_checker.c +++ b/src/status_checker.c @@ -13,6 +13,7 @@ #include "map.h" #include "number_util.h" #include "status_checks_1.h" +#include "weather.h" // Array indices correspond to the current dungeon tileset. const u8 gDungeonCamouflageTypes[76] = { @@ -94,7 +95,6 @@ const u8 gDungeonCamouflageTypes[76] = { TYPE_ROCK }; -extern u8 GetWeather(struct DungeonEntity*); extern bool8 HasQuarterHPOrLess(struct DungeonEntity*); extern bool8 IsTileGround(struct MapTile*); extern bool8 CanLayTrap(struct Position*); diff --git a/src/weather.c b/src/weather.c new file mode 100644 index 0000000..3989790 --- /dev/null +++ b/src/weather.c @@ -0,0 +1,16 @@ +#include "global.h" +#include "weather.h" + +#include "constants/item.h" +#include "constants/weather.h" +#include "dungeon_global_data.h" +#include "dungeon_items.h" + +u8 GetWeather(struct DungeonEntity* pokemon) +{ + if (pokemon != NULL && HasItem(pokemon, ITEM_ID_WEATHER_BAND)) + { + return WEATHER_CLEAR; + } + return gDungeonGlobalData->weather; +} |