diff options
Diffstat (limited to 'asm/code_8057824.s')
-rw-r--r-- | asm/code_8057824.s | 6402 |
1 files changed, 4 insertions, 6398 deletions
diff --git a/asm/code_8057824.s b/asm/code_8057824.s index 132fcf2..c2cf874 100644 --- a/asm/code_8057824.s +++ b/asm/code_8057824.s @@ -32585,7 +32585,7 @@ _08067F4C: ldr r1, [r5] adds r0, r4, 0 movs r2, 0 - bl sub_808D9AC + bl PrintColoredPokeNameToBuffer adds r4, 0x50 ldr r0, [r5] movs r2, 0x8 @@ -34038,7 +34038,7 @@ _08068AB2: ldr r0, _08068AE8 adds r1, r6, 0 movs r2, 0 - bl sub_808D9AC + bl PrintColoredPokeNameToBuffer ldrb r0, [r6, 0x4] cmp r0, 0x4A bne _08068AF0 @@ -34105,7 +34105,7 @@ _08068B3E: ldr r0, _08068B78 adds r1, r6, 0 movs r2, 0x6 - bl sub_808D9AC + bl PrintColoredPokeNameToBuffer ldrb r0, [r6, 0x4] cmp r0, 0x4A beq _08068BB0 @@ -34126,7 +34126,7 @@ _08068B80: ldr r0, _08068B9C adds r1, r6, 0 movs r2, 0x6 - bl sub_808D9AC + bl PrintColoredPokeNameToBuffer ldrb r0, [r6, 0x4] cmp r0, 0x4A bne _08068BA4 @@ -42736,6398 +42736,4 @@ _0806CD76: _0806CD8C: .4byte 0x000001a5 thumb_func_end sub_806CCB4 - thumb_func_start sub_806CD90 -sub_806CD90: - push {r4,r5,lr} - movs r5, 0 -_0806CD94: - ldr r0, _0806CDCC - ldr r0, [r0] - lsls r1, r5, 2 - ldr r2, _0806CDD0 - adds r0, r2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0806CDC0 - adds r0, r4, 0 - bl sub_806CEBC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_806CCB4 -_0806CDC0: - adds r5, 0x1 - cmp r5, 0x13 - ble _0806CD94 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806CDCC: .4byte gDungeonGlobalData -_0806CDD0: .4byte 0x000135cc - thumb_func_end sub_806CD90 - - thumb_func_start sub_806CDD4 -sub_806CDD4: - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r2, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl GetEntityType - cmp r0, 0x1 - bne _0806CDF4 - adds r0, r4, 0 - adds r0, 0x6A - strb r5, [r0] - cmp r6, 0x7 - bhi _0806CDF4 - adds r0, 0x2 - strb r6, [r0] -_0806CDF4: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806CDD4 - - thumb_func_start sub_806CDFC -sub_806CDFC: - push {r4-r7,lr} - adds r4, r0, 0 - adds r6, r2, 0 - lsls r1, 24 - lsrs r5, r1, 24 - adds r7, r5, 0 - bl GetEntityType - cmp r0, 0x1 - bne _0806CE2E - adds r0, r4, 0 - adds r0, 0x6B - ldrb r0, [r0] - cmp r0, r5 - bne _0806CE24 - adds r0, r4, 0 - adds r0, 0x6D - ldrb r0, [r0] - cmp r0, r6 - beq _0806CE2E -_0806CE24: - adds r0, r4, 0 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_806CDD4 -_0806CE2E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806CDFC - - thumb_func_start sub_806CE34 -sub_806CE34: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl GetEntityType - cmp r0, 0x1 - bne _0806CE62 - adds r0, r4, 0 - bl sub_806CEBC - adds r1, r4, 0 - adds r1, 0x6A - strb r0, [r1] - cmp r5, 0x7 - bhi _0806CE62 - ldr r0, [r4, 0x70] - movs r1, 0x7 - ands r1, r5 - adds r0, 0x46 - strb r1, [r0] - adds r0, r4, 0 - adds r0, 0x6C - strb r1, [r0] -_0806CE62: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806CE34 - - thumb_func_start sub_806CE68 -sub_806CE68: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl GetEntityType - cmp r0, 0x1 - bne _0806CE8C - adds r0, r4, 0 - bl sub_806CEBC - adds r1, r4, 0 - adds r1, 0x6A - strb r0, [r1] - cmp r5, 0x7 - bhi _0806CE8C - adds r0, r4, 0 - adds r0, 0x6C - strb r5, [r0] -_0806CE8C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806CE68 - - thumb_func_start sub_806CE94 -sub_806CE94: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl GetEntityType - cmp r0, 0x1 - bne _0806CEB4 - adds r1, r4, 0 - adds r1, 0x6A - movs r0, 0x6 - strb r0, [r1] - cmp r5, 0x7 - bhi _0806CEB4 - adds r0, r4, 0 - adds r0, 0x6C - strb r5, [r0] -_0806CEB4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806CE94 - - thumb_func_start sub_806CEBC -sub_806CEBC: - push {lr} - ldr r0, [r0, 0x70] - adds r1, r0, 0 - adds r0, 0xA8 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0806CED2 - cmp r0, 0x5 - beq _0806CED2 - cmp r0, 0x3 - bne _0806CEE8 -_0806CED2: - movs r2, 0x4 - ldrsh r0, [r1, r2] - cmp r0, 0xB9 - bne _0806CEE4 - adds r0, r1, 0 - adds r0, 0xA9 - ldrb r0, [r0] - cmp r0, 0x7F - beq _0806CEF2 -_0806CEE4: - movs r0, 0x5 - b _0806CEF8 -_0806CEE8: - adds r0, r1, 0 - adds r0, 0xC0 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0806CEF6 -_0806CEF2: - movs r0, 0x7 - b _0806CEF8 -_0806CEF6: - movs r0, 0xB -_0806CEF8: - pop {r1} - bx r1 - thumb_func_end sub_806CEBC - - thumb_func_start sub_806CEFC -sub_806CEFC: - push {r4,lr} - adds r4, r1, 0 - ldr r2, [r0, 0x70] - movs r3, 0x7 - ands r1, r3 - adds r2, 0x46 - strb r1, [r2] - movs r1, 0x7 - ands r1, r4 - bl sub_806CE68 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806CEFC - - thumb_func_start sub_806CF18 -sub_806CF18: - push {r4-r6,lr} - adds r4, r0, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0806CF4C - ldr r6, [r4, 0x70] - movs r5, 0 - b _0806CF2E -_0806CF2C: - adds r5, 0x1 -_0806CF2E: - cmp r5, 0x63 - bgt _0806CF4C - movs r0, 0x21 - bl sub_803E46C - movs r1, 0x4 - ldrsh r0, [r6, r1] - adds r1, r4, 0 - adds r1, 0x6B - ldrb r1, [r1] - bl sub_808DA44 - lsls r0, 24 - cmp r0, 0 - bne _0806CF2C -_0806CF4C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806CF18 - - thumb_func_start sub_806CF54 -sub_806CF54: - ldr r0, [r0, 0x70] - movs r1, 0x81 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bx lr - thumb_func_end sub_806CF54 - - thumb_func_start sub_806CF60 -sub_806CF60: - push {r4,r5,lr} - movs r5, 0 -_0806CF64: - ldr r0, _0806CF90 - ldr r0, [r0] - lsls r1, r5, 2 - ldr r2, _0806CF94 - adds r0, r2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0806CF84 - adds r0, r4, 0 - bl sub_806CF98 -_0806CF84: - adds r5, 0x1 - cmp r5, 0x13 - ble _0806CF64 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806CF90: .4byte gDungeonGlobalData -_0806CF94: .4byte 0x000135cc - thumb_func_end sub_806CF60 - - thumb_func_start sub_806CF98 -sub_806CF98: - push {r4-r7,lr} - adds r4, r0, 0 - bl sub_8045128 - ldrh r0, [r0] - movs r5, 0x3 - ands r5, r0 - adds r6, r5, 0 - ldr r7, [r4, 0x70] - movs r1, 0x4 - ldrsh r0, [r7, r1] - bl GetShadowSize - lsls r0, 24 - lsrs r4, r0, 24 - cmp r5, 0x3 - bne _0806CFBE - movs r0, 0x6 - b _0806CFF8 -_0806CFBE: - cmp r5, 0x1 - bne _0806CFCE - bl IsWaterTileset - lsls r0, 24 - cmp r0, 0 - beq _0806CFEE - b _0806CFE8 -_0806CFCE: - cmp r6, 0x2 - bne _0806CFEE - ldr r1, _0806D000 - ldr r0, _0806D004 - ldr r0, [r0] - ldr r2, _0806D008 - adds r0, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0806CFEE -_0806CFE8: - ldr r0, _0806D00C - adds r0, r4, r0 - ldrb r4, [r0] -_0806CFEE: - movs r1, 0x81 - lsls r1, 2 - adds r0, r7, r1 - strb r4, [r0] - adds r0, r4, 0 -_0806CFF8: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0806D000: .4byte gDungeonWaterType -_0806D004: .4byte gDungeonGlobalData -_0806D008: .4byte 0x00003a0e -_0806D00C: .4byte gUnknown_8106EEF - thumb_func_end sub_806CF98 - - thumb_func_start sub_806D010 -sub_806D010: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - adds r6, r0, 0 - adds r5, r1, 0 - mov r8, r2 - ldr r0, [sp, 0x40] - lsls r0, 16 - asrs r0, 16 - mov r10, r0 - movs r7, 0 - ldr r0, [sp, 0x3C] - str r0, [sp] - mov r1, r10 - str r1, [sp, 0x4] - ldr r2, [sp, 0x48] - str r2, [sp, 0x8] - adds r0, r6, 0 - adds r1, r5, 0 - mov r2, r8 - bl sub_806D528 - lsls r0, 24 - cmp r0, 0 - beq _0806D04A - b _0806D514 -_0806D04A: - mov r3, r8 - ldrb r0, [r3, 0xF] - cmp r0, 0 - beq _0806D054 - b _0806D514 -_0806D054: - adds r0, r6, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _0806D062 - b _0806D514 -_0806D062: - adds r0, r5, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _0806D070 - b _0806D514 -_0806D070: - adds r0, r6, 0 - bl GetEntityType - cmp r0, 0x1 - beq _0806D07C - b _0806D514 -_0806D07C: - adds r0, r5, 0 - bl GetEntityType - cmp r0, 0x1 - beq _0806D088 - b _0806D514 -_0806D088: - ldr r0, [sp, 0x44] - mov r9, r0 - adds r0, r5, 0 - bl CannotAct - lsls r0, 24 - cmp r0, 0 - bne _0806D0A2 - ldr r0, [r5, 0x70] - adds r0, 0xC0 - ldrb r0, [r0] - cmp r0, 0 - beq _0806D0A6 -_0806D0A2: - movs r1, 0 - mov r9, r1 -_0806D0A6: - mov r2, r9 - cmp r2, 0 - beq _0806D100 - movs r3, 0x4 - ldrsh r1, [r6, r3] - movs r2, 0x4 - ldrsh r0, [r5, r2] - subs r1, r0 - cmp r1, 0 - bge _0806D0BC - negs r1, r1 -_0806D0BC: - cmp r1, 0x1 - bgt _0806D100 - movs r3, 0x6 - ldrsh r1, [r6, r3] - movs r2, 0x6 - ldrsh r0, [r5, r2] - subs r1, r0 - cmp r1, 0 - bge _0806D0D0 - negs r1, r1 -_0806D0D0: - cmp r1, 0x1 - bgt _0806D100 - cmp r6, r5 - beq _0806D100 - mov r3, r8 - ldrb r0, [r3, 0xC] - bl sub_8092354 - lsls r0, 24 - cmp r0, 0 - beq _0806D100 - ldr r0, [r5, 0x70] - adds r0, 0xC4 - ldrb r0, [r0] - cmp r0, 0xD - bne _0806D100 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_8042730 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_807F43C -_0806D100: - ldr r0, [r5, 0x70] - adds r0, 0xC0 - ldrb r0, [r0] - cmp r0, 0xC - bne _0806D118 - ldr r0, _0806D3BC - ldr r2, [r0] - adds r0, r6, 0 - adds r1, r5, 0 - movs r3, 0x1 - bl sub_8077084 -_0806D118: - adds r0, r6, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _0806D126 - b _0806D514 -_0806D126: - adds r0, r5, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _0806D134 - b _0806D514 -_0806D134: - mov r0, r9 - cmp r0, 0 - beq _0806D216 - cmp r6, r5 - beq _0806D216 - movs r2, 0x4 - ldrsh r1, [r6, r2] - movs r3, 0x4 - ldrsh r0, [r5, r3] - subs r1, r0 - cmp r1, 0 - bge _0806D14E - negs r1, r1 -_0806D14E: - cmp r1, 0x1 - bgt _0806D216 - movs r0, 0x6 - ldrsh r1, [r6, r0] - movs r2, 0x6 - ldrsh r0, [r5, r2] - subs r1, r0 - cmp r1, 0 - bge _0806D162 - negs r1, r1 -_0806D162: - cmp r1, 0x1 - bgt _0806D216 - mov r3, r8 - ldrb r0, [r3, 0xC] - bl sub_8092354 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [r5, 0x70] - adds r0, 0xC4 - ldrb r0, [r0] - cmp r0, 0x4 - bne _0806D188 - cmp r4, 0 - beq _0806D188 - adds r0, r5, 0 - bl sub_8041B18 - adds r7, 0x4 -_0806D188: - ldr r0, [r5, 0x70] - adds r0, 0xC4 - ldrb r0, [r0] - cmp r0, 0xA - bne _0806D19E - cmp r4, 0 - beq _0806D19E - adds r0, r5, 0 - bl sub_8041B18 - adds r7, 0x1 -_0806D19E: - ldr r0, [r5, 0x70] - adds r0, 0xC4 - ldrb r0, [r0] - cmp r0, 0x8 - bne _0806D1B4 - cmp r4, 0 - bne _0806D1B4 - adds r0, r5, 0 - bl sub_8041B90 - adds r7, 0x4 -_0806D1B4: - adds r0, r5, 0 - movs r1, 0x12 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D1C4 - adds r7, 0x2 -_0806D1C4: - cmp r7, 0 - beq _0806D216 - ldr r0, _0806D3C0 - ldr r2, [r0] - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80522F4 - mov r1, r8 - ldr r0, [r1] - muls r0, r7 - cmp r0, 0 - bge _0806D1E0 - adds r0, 0x3 -_0806D1E0: - asrs r0, 2 - str r0, [sp, 0xC] - add r2, sp, 0xC - mov r3, r8 - ldrb r0, [r3, 0xC] - movs r1, 0 - strb r0, [r2, 0xC] - movs r0, 0x6 - str r0, [sp, 0x10] - movs r0, 0x2 - str r0, [sp, 0x14] - adds r0, r2, 0 - strb r1, [r0, 0xD] - strb r1, [r0, 0xE] - strb r1, [r0, 0xF] - ldr r0, [sp, 0x3C] - str r0, [sp] - mov r1, r10 - str r1, [sp, 0x4] - ldr r2, [sp, 0x48] - str r2, [sp, 0x8] - adds r0, r5, 0 - adds r1, r6, 0 - add r2, sp, 0xC - movs r3, 0 - bl sub_806D528 -_0806D216: - adds r0, r6, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _0806D224 - b _0806D514 -_0806D224: - adds r0, r5, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _0806D232 - b _0806D514 -_0806D232: - mov r3, r9 - cmp r3, 0 - bne _0806D23A - b _0806D48A -_0806D23A: - cmp r6, r5 - bne _0806D240 - b _0806D48A -_0806D240: - movs r0, 0x4 - ldrsh r1, [r6, r0] - movs r2, 0x4 - ldrsh r0, [r5, r2] - subs r1, r0 - cmp r1, 0 - bge _0806D250 - negs r1, r1 -_0806D250: - cmp r1, 0x1 - ble _0806D256 - b _0806D48A -_0806D256: - movs r3, 0x6 - ldrsh r1, [r6, r3] - movs r2, 0x6 - ldrsh r0, [r5, r2] - subs r1, r0 - cmp r1, 0 - bge _0806D266 - negs r1, r1 -_0806D266: - cmp r1, 0x1 - ble _0806D26C - b _0806D48A -_0806D26C: - mov r3, r8 - ldrb r0, [r3, 0xC] - bl sub_8092354 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, [r6, 0x70] - adds r0, r5, 0 - movs r1, 0x5 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D2C2 - adds r0, r6, 0 - movs r1, 0xA - bl HasType - lsls r0, 24 - cmp r0, 0 - bne _0806D2C2 - adds r0, r6, 0 - movs r1, 0x37 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - bne _0806D2C2 - movs r0, 0x64 - bl DungeonRandomCapped - ldr r1, _0806D3C4 - movs r2, 0 - ldrsh r1, [r1, r2] - cmp r0, r1 - bge _0806D2C2 - movs r3, 0xBC - lsls r3, 1 - adds r2, r4, r3 - ldrh r1, [r2] - movs r0, 0x1 - orrs r0, r1 - strh r0, [r2] -_0806D2C2: - adds r0, r5, 0 - movs r1, 0xA - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D2EE - movs r0, 0x64 - bl DungeonRandomCapped - ldr r1, _0806D3C8 - movs r2, 0 - ldrsh r1, [r1, r2] - cmp r0, r1 - bge _0806D2EE - movs r3, 0xBC - lsls r3, 1 - adds r2, r4, r3 - ldrh r1, [r2] - movs r0, 0x2 - orrs r0, r1 - strh r0, [r2] -_0806D2EE: - adds r0, r5, 0 - movs r1, 0x17 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D328 - adds r0, r6, 0 - movs r1, 0x11 - bl HasType - lsls r0, 24 - cmp r0, 0 - beq _0806D328 - movs r0, 0x64 - bl DungeonRandomCapped - ldr r1, _0806D3CC - movs r2, 0 - ldrsh r1, [r1, r2] - cmp r0, r1 - bge _0806D328 - movs r3, 0xBC - lsls r3, 1 - adds r2, r4, r3 - ldrh r1, [r2] - movs r0, 0x4 - orrs r0, r1 - strh r0, [r2] -_0806D328: - adds r0, r5, 0 - movs r1, 0x20 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D358 - cmp r7, 0 - beq _0806D358 - movs r0, 0x64 - bl DungeonRandomCapped - ldr r1, _0806D3D0 - movs r2, 0 - ldrsh r1, [r1, r2] - cmp r0, r1 - bge _0806D358 - movs r3, 0xBC - lsls r3, 1 - adds r2, r4, r3 - ldrh r1, [r2] - movs r0, 0x8 - orrs r0, r1 - strh r0, [r2] -_0806D358: - adds r0, r5, 0 - movs r1, 0x27 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D384 - movs r0, 0x64 - bl DungeonRandomCapped - ldr r1, _0806D3D4 - movs r2, 0 - ldrsh r1, [r1, r2] - cmp r0, r1 - bge _0806D384 - movs r3, 0xBC - lsls r3, 1 - adds r2, r4, r3 - ldrh r1, [r2] - movs r0, 0x20 - orrs r0, r1 - strh r0, [r2] -_0806D384: - adds r0, r5, 0 - movs r1, 0x3D - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D3FA - cmp r7, 0 - beq _0806D3FA - movs r0, 0x64 - bl DungeonRandomCapped - ldr r1, _0806D3D8 - movs r2, 0 - ldrsh r1, [r1, r2] - cmp r0, r1 - bge _0806D3FA - movs r0, 0x3 - bl DungeonRandomCapped - cmp r0, 0 - bgt _0806D3DC - movs r3, 0xBC - lsls r3, 1 - adds r2, r4, r3 - ldrh r1, [r2] - movs r0, 0x40 - b _0806D3F6 - .align 2, 0 -_0806D3BC: .4byte gUnknown_8106A4C -_0806D3C0: .4byte gUnknown_80FCFA4 -_0806D3C4: .4byte gUnknown_80F4E10 -_0806D3C8: .4byte gUnknown_80F4E12 -_0806D3CC: .4byte gUnknown_80F4E14 -_0806D3D0: .4byte gUnknown_80F4E16 -_0806D3D4: .4byte gUnknown_80F4E18 -_0806D3D8: .4byte gUnknown_80F4E1A -_0806D3DC: - cmp r0, 0x1 - bgt _0806D3EC - movs r0, 0xBC - lsls r0, 1 - adds r2, r4, r0 - ldrh r1, [r2] - movs r0, 0x10 - b _0806D3F6 -_0806D3EC: - movs r1, 0xBC - lsls r1, 1 - adds r2, r4, r1 - ldrh r1, [r2] - movs r0, 0x80 -_0806D3F6: - orrs r0, r1 - strh r0, [r2] -_0806D3FA: - adds r0, r5, 0 - movs r1, 0x3E - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D428 - movs r0, 0x64 - bl DungeonRandomCapped - ldr r1, _0806D4D4 - movs r2, 0 - ldrsh r1, [r1, r2] - cmp r0, r1 - bge _0806D428 - movs r3, 0xBC - lsls r3, 1 - adds r2, r4, r3 - ldrh r1, [r2] - subs r3, 0x78 - adds r0, r3, 0 - orrs r0, r1 - strh r0, [r2] -_0806D428: - adds r0, r5, 0 - movs r1, 0x44 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D45A - cmp r7, 0 - beq _0806D45A - movs r0, 0x64 - bl DungeonRandomCapped - ldr r1, _0806D4D8 - movs r2, 0 - ldrsh r1, [r1, r2] - cmp r0, r1 - bge _0806D45A - movs r3, 0xBC - lsls r3, 1 - adds r2, r4, r3 - ldrh r1, [r2] - adds r3, 0x88 - adds r0, r3, 0 - orrs r0, r1 - strh r0, [r2] -_0806D45A: - adds r0, r5, 0 - movs r1, 0x1 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D48A - movs r0, 0x64 - bl DungeonRandomCapped - ldr r1, _0806D4DC - movs r2, 0 - ldrsh r1, [r1, r2] - cmp r0, r1 - bge _0806D48A - movs r3, 0xBC - lsls r3, 1 - adds r2, r4, r3 - ldrh r1, [r2] - movs r3, 0x80 - lsls r3, 3 - adds r0, r3, 0 - orrs r0, r1 - strh r0, [r2] -_0806D48A: - adds r0, r6, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0806D514 - adds r0, r5, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0806D514 - mov r0, r9 - cmp r0, 0 - beq _0806D514 - ldr r2, [r5, 0x70] - adds r6, r2, 0 - adds r3, r2, 0 - adds r3, 0xD0 - ldrb r0, [r3] - cmp r0, 0x2 - bne _0806D514 - ldr r0, _0806D4E0 - ldr r1, [r0] - adds r0, r2, 0 - adds r0, 0xD8 - ldrb r0, [r0] - lsls r0, 2 - ldr r2, _0806D4E4 - adds r1, r2 - adds r1, r0 - ldr r4, [r1] - cmp r4, 0 - bne _0806D4E8 - strb r4, [r3] - b _0806D514 - .align 2, 0 -_0806D4D4: .4byte gUnknown_80F4E1C -_0806D4D8: .4byte gUnknown_80F4E1E -_0806D4DC: .4byte gUnknown_80F4E20 -_0806D4E0: .4byte gDungeonGlobalData -_0806D4E4: .4byte 0x000135cc -_0806D4E8: - ldr r0, [r4, 0x70] - adds r0, 0x98 - adds r1, r6, 0 - adds r1, 0xD4 - ldr r2, [r0] - ldr r0, [r1] - cmp r2, r0 - beq _0806D4FE - movs r0, 0 - strb r0, [r3] - b _0806D514 -_0806D4FE: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8041D00 - mov r3, r8 - ldr r1, [r3] - ldr r3, _0806D524 - adds r0, r4, 0 - movs r2, 0xC - bl sub_806F324 -_0806D514: - 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 -_0806D524: .4byte 0x000001f9 - thumb_func_end sub_806D010 - - thumb_func_start sub_806D528 -sub_806D528: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x58 - mov r9, r0 - adds r7, r1, 0 - adds r5, r2, 0 - str r3, [sp, 0x4C] - ldr r0, [sp, 0x7C] - lsls r0, 16 - asrs r0, 16 - str r0, [sp, 0x50] - movs r0, 0 - str r0, [sp, 0x54] - mov r10, r0 - mov r8, r0 - mov r1, r10 - strb r1, [r5, 0xF] - adds r0, r7, 0 - bl GetEntityType - cmp r0, 0x1 - beq _0806D55C - b _0806D754 -_0806D55C: - ldr r6, [r7, 0x70] - mov r0, r9 - adds r1, r7, 0 - bl sub_807A96C - mov r0, r9 - adds r1, r7, 0 - bl SetShopkeeperAggression - mov r0, r9 - bl GetEntityType - cmp r0, 0x1 - bne _0806D592 - mov r2, r9 - ldr r0, [r2, 0x70] - adds r0, 0xDC - ldrb r0, [r0] - cmp r0, 0x3 - bne _0806D592 - ldrb r0, [r5, 0xE] - cmp r0, 0 - bne _0806D592 - ldr r0, _0806D5C8 - movs r3, 0 - ldrsh r0, [r0, r3] - str r0, [r5] -_0806D592: - ldr r0, _0806D5CC - ldr r1, [sp, 0x50] - cmp r1, r0 - beq _0806D5DC - adds r0, r7, 0 - movs r1, 0xD - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D5DC - ldr r1, [r5] - ldr r0, _0806D5D0 - cmp r1, r0 - bne _0806D5DC - ldr r0, _0806D5D4 - adds r1, r7, 0 - movs r2, 0 - bl SetMessageArgument - ldr r0, _0806D5D8 - ldr r2, [r0] - mov r0, r9 - adds r1, r7, 0 - bl sub_80522F4 - b _0806D71E - .align 2, 0 -_0806D5C8: .4byte gUnknown_80F4F8C -_0806D5CC: .4byte 0x0000020e -_0806D5D0: .4byte 0x0000270f -_0806D5D4: .4byte gUnknown_202DFE8 -_0806D5D8: .4byte gUnknown_80FCA90 -_0806D5DC: - adds r0, r6, 0 - adds r0, 0xB0 - ldrb r4, [r0] - mov r10, r0 - cmp r4, 0x1 - bne _0806D618 - ldr r0, _0806D610 - adds r1, r7, 0 - movs r2, 0 - bl SetMessageArgument - ldr r0, _0806D614 - ldr r2, [r0] - mov r0, r9 - adds r1, r7, 0 - bl sub_80522F4 - mov r0, r9 - adds r1, r7, 0 - bl sub_8042238 - strb r4, [r5, 0xF] -_0806D608: - movs r0, 0 - bl _0806E0F0 - .align 2, 0 -_0806D610: .4byte gUnknown_202DFE8 -_0806D614: .4byte gUnknown_80F9600 -_0806D618: - adds r0, r6, 0 - adds r0, 0xA8 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0806D62A - cmp r0, 0x5 - beq _0806D62A - cmp r0, 0x3 - bne _0806D63A -_0806D62A: - adds r0, r6, 0 - adds r0, 0xA9 - ldrb r0, [r0] - cmp r0, 0x7F - bne _0806D63A - adds r0, r7, 0 - bl sub_807A9B0 -_0806D63A: - adds r0, r7, 0 - movs r1, 0x23 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D660 - ldrb r0, [r5, 0xC] - cmp r0, 0x5 - bne _0806D660 -_0806D64E: - ldr r2, [r5] - movs r0, 0 - str r0, [sp] - mov r0, r9 - adds r1, r7, 0 - movs r3, 0 - bl HealTargetHP - b _0806D754 -_0806D660: - adds r0, r7, 0 - movs r1, 0x24 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806D674 - ldrb r0, [r5, 0xC] - cmp r0, 0x3 - beq _0806D64E -_0806D674: - movs r2, 0xA9 - lsls r2, 1 - adds r0, r6, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0806D6D0 - ldrb r0, [r5, 0xD] - cmp r0, 0 - beq _0806D692 - ldr r0, _0806D6A4 - ldr r2, [r0] - mov r0, r9 - adds r1, r7, 0 - bl sub_80522F4 -_0806D692: - ldr r0, [r5, 0x8] - cmp r0, 0x1 - beq _0806D6B0 - cmp r0, 0x1 - bcc _0806D6A8 - cmp r0, 0x3 - beq _0806D6C4 - b _0806D6D0 - .align 2, 0 -_0806D6A4: .4byte gUnknown_80F9614 -_0806D6A8: - ldr r0, _0806D6AC - b _0806D6B2 - .align 2, 0 -_0806D6AC: .4byte gUnknown_80F9630 -_0806D6B0: - ldr r0, _0806D6C0 -_0806D6B2: - ldr r2, [r0] - mov r0, r9 - adds r1, r7, 0 - bl sub_80522F4 - b _0806D6D0 - .align 2, 0 -_0806D6C0: .4byte gUnknown_80F9654 -_0806D6C4: - ldr r0, _0806D728 - ldr r2, [r0] - mov r0, r9 - adds r1, r7, 0 - bl sub_80522F4 -_0806D6D0: - ldr r4, _0806D72C - adds r0, r4, 0 - mov r1, r9 - movs r2, 0 - bl SetMessageArgument - adds r4, 0x50 - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0 - bl SetMessageArgument - ldr r1, [r5] - cmp r1, 0 - bne _0806D760 - mov r0, r9 - bl sub_8045888 - lsls r0, 24 - cmp r0, 0 - beq _0806D734 - adds r0, r7, 0 - bl sub_8045888 - lsls r0, 24 - cmp r0, 0 - beq _0806D734 - movs r3, 0xA9 - lsls r3, 1 - adds r0, r6, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _0806D71E - ldr r0, _0806D730 - ldr r2, [r0] - mov r0, r9 - adds r1, r7, 0 - bl sub_80522F4 -_0806D71E: - mov r0, r9 - adds r1, r7, 0 - bl sub_8042238 - b _0806D754 - .align 2, 0 -_0806D728: .4byte gUnknown_80F9670 -_0806D72C: .4byte gAvailablePokemonNames -_0806D730: .4byte gUnknown_80F9688 -_0806D734: - movs r1, 0xA9 - lsls r1, 1 - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0806D74C - ldr r0, _0806D75C - ldr r2, [r0] - mov r0, r9 - adds r1, r7, 0 - bl sub_80522F4 -_0806D74C: - movs r0, 0x1E - movs r1, 0x18 - bl sub_803E708 -_0806D754: - movs r0, 0x1 - strb r0, [r5, 0xF] - b _0806D608 - .align 2, 0 -_0806D75C: .4byte gUnknown_80F9688 -_0806D760: - ldr r0, _0806D7B8 - cmp r1, r0 - bne _0806D7C4 - ldr r0, [sp, 0x80] - cmp r0, 0 - beq _0806D796 - adds r0, r7, 0 - bl sub_8045888 - lsls r0, 24 - cmp r0, 0 - beq _0806D796 - adds r0, r7, 0 - bl sub_8045128 - mov r8, r0 - movs r0, 0x14 - movs r1, 0x18 - bl sub_803E708 - mov r2, r8 - ldrh r1, [r2, 0x4] - movs r0, 0x4 - orrs r0, r1 - strh r0, [r2, 0x4] - bl sub_8049ED4 -_0806D796: - movs r3, 0xA9 - lsls r3, 1 - adds r0, r6, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _0806D7AE - ldr r0, _0806D7BC - ldr r2, [r0] - mov r0, r9 - adds r1, r7, 0 - bl sub_80522F4 -_0806D7AE: - adds r1, r6, 0 - adds r1, 0xA0 - ldr r0, _0806D7C0 - str r0, [r1] - b _0806D84A - .align 2, 0 -_0806D7B8: .4byte 0x0000270f -_0806D7BC: .4byte gUnknown_80F96A8 -_0806D7C0: .4byte 0x000003e7 -_0806D7C4: - ldr r0, _0806D824 - str r1, [r0] - ldr r1, _0806D828 - ldr r0, [r5, 0x4] - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - adds r2, r6, 0 - adds r2, 0xA0 - ldr r0, [r2] - ldr r1, [r5] - adds r0, r1 - str r0, [r2] - ldr r1, _0806D82C - cmp r0, r1 - ble _0806D7E6 - str r1, [r2] -_0806D7E6: - adds r0, r7, 0 - bl sub_8045888 - lsls r0, 24 - cmp r0, 0 - beq _0806D830 - ldr r0, [r5, 0x4] - cmp r0, 0xE - beq _0806D808 - ldr r0, [r5] - negs r0, r0 - movs r3, 0x1 - negs r3, r3 - adds r1, r7, 0 - movs r2, 0x1 - bl sub_803ED30 -_0806D808: - movs r1, 0xA9 - lsls r1, 1 - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0806D84A - cmp r4, 0 - beq _0806D84A - mov r0, r9 - adds r1, r7, 0 - adds r2, r4, 0 - bl sub_80522F4 - b _0806D84A - .align 2, 0 -_0806D824: .4byte gUnknown_202DE30 -_0806D828: .4byte gUnknown_80F9764 -_0806D82C: .4byte 0x000003e7 -_0806D830: - movs r2, 0xA9 - lsls r2, 1 - adds r0, r6, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0806D84A - cmp r4, 0 - beq _0806D84A - mov r0, r9 - adds r1, r7, 0 - adds r2, r4, 0 - bl sub_80522F4 -_0806D84A: - ldr r0, [r5, 0x4] - cmp r0, 0xE - bne _0806D858 - movs r3, 0xE - ldrsh r0, [r6, r3] - cmp r0, 0x1 - bgt _0806D900 -_0806D858: - mov r0, r8 - cmp r0, 0 - bne _0806D900 - adds r0, r7, 0 - bl sub_8045888 - lsls r0, 24 - cmp r0, 0 - beq _0806D900 - mov r2, r9 - ldr r1, [r2, 0x4] - ldr r0, [r7, 0x4] - cmp r1, r0 - beq _0806D8E6 - mov r0, r9 - bl GetEntityType - cmp r0, 0x1 - bne _0806D8E6 - movs r4, 0 - ldrb r0, [r6, 0x7] - cmp r0, 0 - beq _0806D8B4 - ldr r0, _0806D8B0 - ldr r0, [r0] - ldrb r0, [r0, 0x2] - cmp r0, 0 - beq _0806D8B6 - adds r0, r7, 0 - bl sub_806A458 - lsls r0, 24 - cmp r0, 0 - bne _0806D8B6 - adds r0, r7, 0 - mov r1, r9 - bl CanSee - lsls r0, 24 - lsrs r0, 24 - negs r1, r0 - orrs r1, r0 - lsrs r4, r1, 31 - b _0806D8B6 - .align 2, 0 -_0806D8B0: .4byte gUnknown_203B46C -_0806D8B4: - movs r4, 0 -_0806D8B6: - adds r0, r6, 0 - adds r0, 0xE8 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0806D8C8 - movs r4, 0 -_0806D8C8: - cmp r4, 0 - beq _0806D8E0 - ldr r4, [r7, 0x70] - adds r0, r7, 0x4 - mov r1, r9 - adds r1, 0x4 - bl CalculateFacingDir - movs r1, 0x7 - ands r0, r1 - adds r4, 0x46 - strb r0, [r4] -_0806D8E0: - adds r0, r7, 0 - bl TargetTileInFront -_0806D8E6: - ldr r0, [r7, 0x70] - adds r0, 0x46 - ldrb r2, [r0] - adds r0, r7, 0 - movs r1, 0x6 - bl sub_806CDD4 - adds r0, r7, 0 - adds r1, r5, 0 - bl sub_80420E8 - movs r3, 0x1 - str r3, [sp, 0x54] -_0806D900: - movs r0, 0xE - ldrsh r4, [r6, r0] - ldr r1, [r5] - cmp r4, r1 - ble _0806D910 - ldrh r0, [r6, 0xE] - subs r0, r1 - b _0806D912 -_0806D910: - movs r0, 0 -_0806D912: - strh r0, [r6, 0xE] - adds r0, r6, 0 - adds r0, 0xC4 - ldrb r0, [r0] - cmp r0, 0x9 - bne _0806D93C - movs r1, 0xE - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0806D958 - movs r0, 0x1 - strh r0, [r6, 0xE] - ldr r0, _0806D938 - ldr r2, [r0] - mov r0, r9 - adds r1, r7, 0 - bl sub_80522F4 - b _0806D958 - .align 2, 0 -_0806D938: .4byte gUnknown_8100548 -_0806D93C: - ldr r2, [sp, 0x4C] - cmp r2, 0x1 - bne _0806D958 - movs r3, 0xE - ldrsh r0, [r6, r3] - cmp r0, 0 - bne _0806D958 - strh r2, [r6, 0xE] - ldr r0, _0806D9C8 - ldr r2, [r0] - mov r0, r9 - adds r1, r7, 0 - bl sub_80522F4 -_0806D958: - movs r1, 0xE - ldrsh r0, [r6, r1] - subs r4, r0 - cmp r4, 0 - bge _0806D964 - movs r4, 0 -_0806D964: - ldr r2, [sp, 0x54] - cmp r2, 0 - bne _0806D970 - mov r3, r8 - cmp r3, 0 - beq _0806D978 -_0806D970: - movs r0, 0xA - movs r1, 0x18 - bl sub_803E708 -_0806D978: - movs r1, 0xE - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0806D9D4 - ldr r2, [sp, 0x54] - cmp r2, 0 - beq _0806D98E - adds r0, r7, 0 - movs r1, 0x8 - bl sub_806CE68 -_0806D98E: - adds r0, r7, 0 - movs r1, 0x10 - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _0806D9B2 - cmp r4, 0 - ble _0806D9B2 - ldr r1, [r5] - ldr r0, _0806D9CC - cmp r1, r0 - beq _0806D9B2 - mov r0, r9 - adds r1, r7, 0 - adds r2, r4, 0 - bl sub_8071D4C -_0806D9B2: - mov r3, r8 - cmp r3, 0 - bne _0806D9BA - b _0806D608 -_0806D9BA: - ldrh r1, [r3, 0x4] - ldr r0, _0806D9D0 - ands r0, r1 - strh r0, [r3, 0x4] - bl sub_8049ED4 - b _0806D608 - .align 2, 0 -_0806D9C8: .4byte gUnknown_810056C -_0806D9CC: .4byte 0x0000270f -_0806D9D0: .4byte 0x0000fffb -_0806D9D4: - adds r0, r6, 0 - adds r0, 0xE4 - ldrb r0, [r0] - cmp r0, 0x2 - bne _0806D9E6 - mov r0, r9 - adds r1, r7, 0 - bl sub_807A7C8 -_0806D9E6: - mov r0, r8 - cmp r0, 0 - beq _0806DA18 - movs r0, 0x14 - movs r1, 0x18 - bl sub_803E708 - adds r1, r7, 0 - adds r1, 0x22 - movs r0, 0x2 - strb r0, [r1] - movs r0, 0xA - movs r1, 0x18 - bl sub_803E708 - mov r2, r8 - ldrh r1, [r2, 0x4] - ldr r0, _0806DA14 - ands r0, r1 - strh r0, [r2, 0x4] - bl sub_8049ED4 - b _0806DA2E - .align 2, 0 -_0806DA14: .4byte 0x0000fffb -_0806DA18: - ldr r3, [sp, 0x54] - cmp r3, 0 - beq _0806DA2E - adds r1, r7, 0 - adds r1, 0x22 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x1E - movs r1, 0x18 - bl sub_803E708 -_0806DA2E: - movs r0, 0x1 - mov r8, r0 - mov r0, r9 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0806DA50 - mov r0, r9 - bl GetEntityType - cmp r0, 0x1 - bne _0806DA50 - cmp r9, r7 - beq _0806DA50 - movs r1, 0 - mov r8, r1 -_0806DA50: - movs r2, 0xA6 - lsls r2, 1 - adds r1, r6, r2 - movs r0, 0 - strb r0, [r1] - ldr r4, _0806DA88 - adds r0, r4, 0 - mov r1, r9 - movs r2, 0 - bl SetMessageArgument - adds r4, 0x50 - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0 - bl SetMessageArgument - ldr r0, [r5, 0x4] - subs r0, 0x13 - cmp r0, 0x1 - bhi _0806DA9C - ldrb r0, [r6, 0x6] - cmp r0, 0 - beq _0806DA90 - ldr r0, _0806DA8C - ldr r2, [r0] - b _0806DAC2 - .align 2, 0 -_0806DA88: .4byte gAvailablePokemonNames -_0806DA8C: .4byte gUnknown_80F9E44 -_0806DA90: - ldr r0, _0806DA98 - ldr r1, [r0] - b _0806DB86 - .align 2, 0 -_0806DA98: .4byte gUnknown_80F9E44 -_0806DA9C: - ldrb r0, [r6, 0x6] - cmp r0, 0 - beq _0806DAD0 - adds r0, r6, 0 - adds r0, 0xA4 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0806DAB8 - ldr r0, _0806DAB4 - mov r3, r8 - lsls r1, r3, 2 - b _0806DB82 - .align 2, 0 -_0806DAB4: .4byte gUnknown_80F9DF0 -_0806DAB8: - ldr r0, _0806DACC - mov r2, r8 - lsls r1, r2, 2 - adds r1, r0 - ldr r2, [r1] -_0806DAC2: - mov r0, r9 - adds r1, r7, 0 - bl sub_80522F4 - b _0806DBA4 - .align 2, 0 -_0806DACC: .4byte gUnknown_80F9CC0 -_0806DAD0: - ldr r2, _0806DB04 - ldrb r1, [r6, 0xA] - movs r0, 0x64 - muls r0, r1 - ldr r3, _0806DB08 - adds r0, r3 - ldr r1, [r2] - adds r3, r1, r0 - ldrb r0, [r6, 0x7] - cmp r0, 0 - bne _0806DB00 - adds r0, r6, 0 - adds r0, 0x40 - ldrb r1, [r0] - adds r2, r0, 0 - cmp r1, 0x41 - bne _0806DB18 - ldr r0, _0806DB0C - ldr r0, [r0] - ldr r1, _0806DB10 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0806DB18 -_0806DB00: - ldr r0, _0806DB14 - b _0806DB7E - .align 2, 0 -_0806DB04: .4byte gRecruitedPokemonRef -_0806DB08: .4byte 0x00008df8 -_0806DB0C: .4byte gDungeonGlobalData -_0806DB10: .4byte 0x0000065c -_0806DB14: .4byte gUnknown_80F9CEC -_0806DB18: - ldrb r0, [r2] - cmp r0, 0x4A - beq _0806DB22 - cmp r0, 0x47 - bne _0806DB26 -_0806DB22: - movs r0, 0x1 - b _0806DB28 -_0806DB26: - movs r0, 0 -_0806DB28: - cmp r0, 0 - beq _0806DB38 - ldr r0, _0806DB34 - mov r3, r8 - lsls r1, r3, 2 - b _0806DB82 - .align 2, 0 -_0806DB34: .4byte gUnknown_80F9DAC -_0806DB38: - adds r0, r6, 0 - adds r0, 0xA4 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0806DB4C - ldr r0, _0806DB48 - b _0806DB7E - .align 2, 0 -_0806DB48: .4byte gUnknown_80F9DF0 -_0806DB4C: - movs r1, 0xA - ldrsh r0, [r3, r1] - bl sub_806A58C - lsls r0, 24 - cmp r0, 0 - beq _0806DB94 - ldr r0, _0806DB70 - ldr r0, [r0] - ldr r2, _0806DB74 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0806DB7C - ldr r0, _0806DB78 - mov r3, r8 - lsls r1, r3, 2 - b _0806DB82 - .align 2, 0 -_0806DB70: .4byte gDungeonGlobalData -_0806DB74: .4byte 0x0000065d -_0806DB78: .4byte gUnknown_80F9D8C -_0806DB7C: - ldr r0, _0806DB90 -_0806DB7E: - mov r2, r8 - lsls r1, r2, 2 -_0806DB82: - adds r1, r0 - ldr r1, [r1] -_0806DB86: - mov r0, r9 - bl sub_805239C - b _0806DBA4 - .align 2, 0 -_0806DB90: .4byte gUnknown_80F9D84 -_0806DB94: - ldr r0, _0806DC4C - mov r3, r8 - lsls r1, r3, 2 - adds r1, r0 - ldr r1, [r1] - mov r0, r9 - bl sub_805239C -_0806DBA4: - mov r1, r10 - ldrb r0, [r1] - subs r0, 0x3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0806DBBC - adds r0, r6, 0 - adds r0, 0x9C - ldr r0, [r0] - bl sub_8076CB4 -_0806DBBC: - adds r1, r6, 0 - adds r1, 0x60 - ldrb r3, [r1] - movs r2, 0x1 - mov r8, r2 - mov r0, r8 - ands r0, r3 - adds r5, r1, 0 - cmp r0, 0 - beq _0806DC5C - movs r0, 0x8 - ands r0, r3 - cmp r0, 0 - bne _0806DC5C - movs r0, 0x2 - ands r0, r3 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0806DC5C - ldrb r0, [r5, 0x2] - cmp r0, 0xD2 - bne _0806DC5C - adds r0, r7, 0 - bl sub_8042148 - adds r0, r7, 0 - adds r0, 0x22 - strb r4, [r0] - ldrh r0, [r6, 0x10] - movs r2, 0 - strh r0, [r6, 0xE] - movs r3, 0xAC - lsls r3, 1 - adds r0, r6, r3 - strb r2, [r0] - movs r1, 0xA6 - lsls r1, 1 - adds r0, r6, r1 - mov r3, r8 - strb r3, [r0] - movs r0, 0x9E - lsls r0, 1 - adds r1, r6, r0 - movs r3, 0xA0 - lsls r3, 1 - adds r0, r6, r3 - ldr r0, [r0] - str r0, [r1] - ldrb r0, [r6, 0x7] - cmp r0, 0 - beq _0806DC36 - ldr r0, _0806DC50 - ldr r1, [r0] - ldr r3, _0806DC54 - adds r1, r3 - strb r2, [r1] - ldr r0, [r0] - ldr r1, _0806DC58 - adds r0, r1 - strb r2, [r0] -_0806DC36: - strb r2, [r5, 0x2] - strb r2, [r5, 0x1] - strb r2, [r5] - adds r0, r6, 0 - adds r0, 0xC8 - ldrb r0, [r0] - cmp r0, 0x3 - bne _0806DC48 - b _0806DEC8 -_0806DC48: - b _0806DEE4 - .align 2, 0 -_0806DC4C: .4byte gUnknown_80F9D28 -_0806DC50: .4byte gDungeonGlobalData -_0806DC54: .4byte 0x00000679 -_0806DC58: .4byte 0x00000676 -_0806DC5C: - ldrb r0, [r6, 0x7] - cmp r0, 0 - bne _0806DC64 - b _0806DDFC -_0806DC64: - mov r10, r5 - ldrb r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0806DC72 - b _0806DDFC -_0806DC72: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0806DC7C - b _0806DDFC -_0806DC7C: - ldrb r0, [r5, 0x2] - cmp r0, 0xD8 - beq _0806DC84 - b _0806DDFC -_0806DC84: - movs r4, 0 -_0806DC86: - ldr r0, _0806DD80 - ldr r0, [r0] - lsls r1, r4, 2 - ldr r2, _0806DD84 - adds r0, r2 - adds r0, r1 - ldr r0, [r0] - mov r8, r0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0806DCDE - cmp r8, r7 - beq _0806DCDE - adds r0, r7, 0 - mov r1, r8 - bl CanSee - lsls r0, 24 - cmp r0, 0 - beq _0806DCDE - mov r3, r8 - movs r0, 0x4 - ldrsh r1, [r3, r0] - movs r2, 0x4 - ldrsh r0, [r7, r2] - subs r1, r0 - cmp r1, 0 - bge _0806DCC4 - negs r1, r1 -_0806DCC4: - cmp r1, 0x1 - bgt _0806DCDE - mov r3, r8 - movs r0, 0x6 - ldrsh r1, [r3, r0] - movs r2, 0x6 - ldrsh r0, [r7, r2] - subs r1, r0 - cmp r1, 0 - bge _0806DCDA - negs r1, r1 -_0806DCDA: - cmp r1, 0x1 - ble _0806DCE4 -_0806DCDE: - adds r4, 0x1 - cmp r4, 0x3 - ble _0806DC86 -_0806DCE4: - cmp r4, 0x4 - bne _0806DCEA - b _0806DDFC -_0806DCEA: - adds r0, r7, 0 - bl sub_8042148 - mov r3, r8 - ldr r4, [r3, 0x4] - ldr r1, _0806DD88 - mov r0, r8 - adds r2, r7, 0 - bl sub_8068FE0 - lsls r1, r4, 16 - asrs r1, 16 - asrs r4, 16 - adds r0, r7, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl sub_80694C0 - adds r0, r7, 0 - movs r1, 0 - bl sub_804535C - adds r1, r7, 0 - adds r1, 0x22 - movs r0, 0 - strb r0, [r1] - ldrh r0, [r6, 0x10] - movs r4, 0 - strh r0, [r6, 0xE] - adds r0, r7, 0 - bl sub_8042A24 - movs r1, 0xAC - lsls r1, 1 - adds r0, r6, r1 - strb r4, [r0] - movs r2, 0xA6 - lsls r2, 1 - adds r1, r6, r2 - movs r0, 0x1 - strb r0, [r1] - movs r3, 0x9E - lsls r3, 1 - adds r1, r6, r3 - subs r2, 0xC - adds r0, r6, r2 - ldr r0, [r0] - str r0, [r1] - ldrb r0, [r6, 0x7] - cmp r0, 0 - beq _0806DD62 - ldr r0, _0806DD80 - ldr r1, [r0] - ldr r3, _0806DD8C - adds r1, r3 - strb r4, [r1] - ldr r0, [r0] - ldr r1, _0806DD90 - adds r0, r1 - strb r4, [r0] -_0806DD62: - mov r2, r10 - strb r4, [r2, 0x2] - strb r4, [r2, 0x1] - strb r4, [r2] - adds r0, r6, 0 - adds r0, 0xC8 - ldrb r0, [r0] - cmp r0, 0x3 - bne _0806DD94 - mov r0, r9 - adds r1, r7, 0 - movs r2, 0x3 - bl sub_807A5D0 - b _0806DDA2 - .align 2, 0 -_0806DD80: .4byte gDungeonGlobalData -_0806DD84: .4byte 0x0001357c -_0806DD88: .4byte 0x00000221 -_0806DD8C: .4byte 0x00000679 -_0806DD90: .4byte 0x00000676 -_0806DD94: - cmp r0, 0x2 - bne _0806DDA2 - mov r0, r9 - adds r1, r7, 0 - movs r2, 0x2 - bl sub_807A5D0 -_0806DDA2: - adds r0, r7, 0 - bl sub_8078084 - adds r0, r6, 0 - movs r1, 0 - bl sub_806BFC0 - bl sub_800DBBC - adds r0, r7, 0 - bl sub_806A390 - adds r0, r7, 0 - bl sub_806CEBC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r7, 0 - bl sub_806CCB4 - adds r0, r7, 0 - bl sub_80418D4 - ldr r4, _0806DDF0 - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0 - bl SetMessageArgument - adds r4, 0x50 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0 - bl SetMessageArgument - ldr r0, _0806DDF4 - b _0806DF2E - .align 2, 0 -_0806DDF0: .4byte gAvailablePokemonNames -_0806DDF4: .4byte gUnknown_80FD484 -_0806DDF8: - mov r4, r8 - b _0806DE64 -_0806DDFC: - adds r0, r7, 0 - movs r1, 0x16 - bl HasIQSkill - lsls r0, 24 - cmp r0, 0 - bne _0806DE0C - b _0806DF48 -_0806DE0C: - movs r4, 0 - ldrb r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806DE28 - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0806DE28 - ldrb r0, [r5, 0x2] - cmp r0, 0x3A - bne _0806DE28 - adds r4, r5, 0 -_0806DE28: - cmp r4, 0 - bne _0806DE68 - ldrb r0, [r6, 0x6] - cmp r0, 0 - bne _0806DE64 - movs r3, 0 - ldr r0, _0806DED4 - ldr r2, [r0] - mov r12, r2 - movs r0, 0x1 - mov r10, r0 -_0806DE3E: - lsls r0, r3, 2 - add r0, r12 - mov r8, r0 - ldrb r1, [r2] - mov r0, r10 - ands r0, r1 - cmp r0, 0 - beq _0806DE5C - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0806DE5C - ldrb r0, [r2, 0x2] - cmp r0, 0x3A - beq _0806DDF8 -_0806DE5C: - adds r2, 0x4 - adds r3, 0x1 - cmp r3, 0x13 - ble _0806DE3E -_0806DE64: - cmp r4, 0 - beq _0806DF48 -_0806DE68: - adds r0, r7, 0 - bl sub_8042148 - adds r0, r4, 0 - movs r1, 0x46 - movs r2, 0x2 - bl sub_8045C28 - adds r1, r7, 0 - adds r1, 0x22 - movs r0, 0 - strb r0, [r1] - ldrh r0, [r6, 0x10] - movs r2, 0 - strh r0, [r6, 0xE] - movs r1, 0xAC - lsls r1, 1 - adds r0, r6, r1 - strb r2, [r0] - movs r3, 0xA6 - lsls r3, 1 - adds r1, r6, r3 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x9E - lsls r0, 1 - adds r1, r6, r0 - subs r3, 0xC - adds r0, r6, r3 - ldr r0, [r0] - str r0, [r1] - ldrb r0, [r6, 0x7] - cmp r0, 0 - beq _0806DEBE - ldr r0, _0806DED8 - ldr r1, [r0] - ldr r3, _0806DEDC - adds r1, r3 - strb r2, [r1] - ldr r0, [r0] - ldr r1, _0806DEE0 - adds r0, r1 - strb r2, [r0] -_0806DEBE: - adds r0, r6, 0 - adds r0, 0xC8 - ldrb r0, [r0] - cmp r0, 0x3 - bne _0806DEE4 -_0806DEC8: - mov r0, r9 - adds r1, r7, 0 - movs r2, 0x3 - bl sub_807A5D0 - b _0806DEF2 - .align 2, 0 -_0806DED4: .4byte gTeamInventory_203B460 -_0806DED8: .4byte gDungeonGlobalData -_0806DEDC: .4byte 0x00000679 -_0806DEE0: .4byte 0x00000676 -_0806DEE4: - cmp r0, 0x2 - bne _0806DEF2 - mov r0, r9 - adds r1, r7, 0 - movs r2, 0x2 - bl sub_807A5D0 -_0806DEF2: - adds r0, r7, 0 - bl sub_8078084 - adds r0, r6, 0 - movs r1, 0 - bl sub_806BFC0 - bl sub_800DBBC - adds r0, r7, 0 - bl sub_806A390 - adds r0, r7, 0 - bl sub_806CEBC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r7, 0 - bl sub_806CCB4 - adds r0, r7, 0 - bl sub_80418D4 - ldr r0, _0806DF40 - adds r1, r7, 0 - movs r2, 0 - bl SetMessageArgument - ldr r0, _0806DF44 -_0806DF2E: - ldr r1, [r0] - mov r0, r9 - bl sub_805239C - adds r0, r7, 0 - bl sub_806F63C - bl _0806D608 - .align 2, 0 -_0806DF40: .4byte gUnknown_202DFE8 -_0806DF44: .4byte gUnknown_80FD46C -_0806DF48: - ldrb r4, [r6, 0x7] - cmp r4, 0 - bne _0806DF68 - ldrb r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806DF68 - adds r1, r7, 0x4 - adds r0, r7, 0 - adds r2, r5, 0 - bl sub_80464C8 - strb r4, [r5, 0x2] - strb r4, [r5, 0x1] - strb r4, [r5] -_0806DF68: - adds r0, r6, 0 - adds r0, 0xF7 - ldrb r0, [r0] - cmp r0, 0 - beq _0806DF7E - ldr r0, _0806E02C - ldr r0, [r0] - ldr r2, _0806E030 - adds r0, r2 - ldr r1, _0806E034 - strh r1, [r0] -_0806DF7E: - movs r3, 0 - mov r10, r3 - mov r0, r9 - bl GetEntityType - cmp r0, 0x1 - bne _0806E066 - mov r0, r9 - ldr r4, [r0, 0x70] - movs r1, 0x2 - ldrsh r0, [r6, r1] - ldrb r1, [r6, 0x9] - bl CalculateEXPGain - adds r5, r0, 0 - adds r0, r6, 0 - adds r0, 0xFB - ldrb r0, [r0] - cmp r0, 0 - beq _0806DFAE - cmp r0, 0x2 - bne _0806DFB4 - lsls r0, r5, 1 - adds r5, r0, r5 -_0806DFAE: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0806DFB4: - cmp r5, 0 - bne _0806DFBA - movs r5, 0x1 -_0806DFBA: - ldrb r0, [r4, 0x7] - cmp r0, 0 - beq _0806DFC8 - movs r2, 0x2 - ldrsh r0, [r6, r2] - bl sub_80980B4 -_0806DFC8: - adds r0, r6, 0 - adds r0, 0xF4 - ldrb r0, [r0] - cmp r0, 0 - beq _0806DFDA - ldr r3, _0806E038 - adds r1, r4, r3 - movs r0, 0x1 - strb r0, [r1] -_0806DFDA: - ldr r0, [sp, 0x78] - cmp r0, 0x1 - bne _0806E066 - ldrb r0, [r4, 0x6] - cmp r0, 0 - bne _0806E040 - ldrb r0, [r6, 0x6] - cmp r0, 0 - beq _0806E066 - mov r0, r9 - mov r1, r9 - adds r2, r5, 0 - bl sub_8071D4C - movs r6, 0 -_0806DFF8: - ldr r0, _0806E02C - ldr r0, [r0] - lsls r1, r6, 2 - ldr r2, _0806E03C - adds r0, r2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0806E020 - cmp r4, r9 - beq _0806E020 - mov r0, r9 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8071D4C -_0806E020: - adds r6, 0x1 - cmp r6, 0x3 - ble _0806DFF8 - movs r3, 0x1 - mov r10, r3 - b _0806E066 - .align 2, 0 -_0806E02C: .4byte gDungeonGlobalData -_0806E030: .4byte 0x0000066a -_0806E034: .4byte 0x000003e7 -_0806E038: .4byte 0x0000014b -_0806E03C: .4byte 0x0001357c -_0806E040: - ldr r5, _0806E0BC - ldr r0, [r5] - ldr r1, _0806E0C0 - adds r0, r1 - ldrb r0, [r0] - bl sub_809033C - lsls r0, 24 - cmp r0, 0 - beq _0806E066 - ldr r2, _0806E0C4 - adds r0, r4, r2 - add r3, sp, 0x78 - ldrb r3, [r3] - strb r3, [r0] - ldr r0, [r5] - add r1, sp, 0x78 - ldrb r1, [r1] - strb r1, [r0, 0xD] -_0806E066: - mov r0, r9 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0806E08A - mov r0, r9 - bl GetEntityType - cmp r0, 0x1 - bne _0806E08A - mov r2, r9 - ldr r0, [r2, 0x70] - ldrb r0, [r0, 0x7] - cmp r0, 0 - bne _0806E08A - movs r3, 0 - mov r10, r3 -_0806E08A: - mov r0, r10 - cmp r0, 0 - beq _0806E0E4 - add r0, sp, 0x4 - adds r1, r7, 0 - bl sub_8069D4C - mov r0, r9 - adds r1, r7, 0 - bl sub_806F660 - lsls r0, 24 - cmp r0, 0 - beq _0806E0D8 - mov r0, r9 - adds r1, r7, 0 - add r2, sp, 0x4 - bl sub_806FA5C - lsls r0, 24 - cmp r0, 0 - bne _0806E0CC - ldr r1, _0806E0C8 - adds r0, r7, 0 - b _0806E0DC - .align 2, 0 -_0806E0BC: .4byte gDungeonGlobalData -_0806E0C0: .4byte 0x00000644 -_0806E0C4: .4byte 0x00000149 -_0806E0C8: .4byte 0x000001f5 -_0806E0CC: - ldr r1, _0806E0D4 - movs r0, 0x1 - strb r0, [r1] - b _0806E0EE - .align 2, 0 -_0806E0D4: .4byte gUnknown_202F221 -_0806E0D8: - adds r0, r7, 0 - ldr r1, [sp, 0x50] -_0806E0DC: - mov r2, r9 - bl sub_8068FE0 - b _0806E0EE -_0806E0E4: - adds r0, r7, 0 - ldr r1, [sp, 0x50] - mov r2, r9 - bl sub_8068FE0 -_0806E0EE: - movs r0, 0x1 -_0806E0F0: - add sp, 0x58 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_806D528 - - thumb_func_start sub_806E100 -sub_806E100: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - adds r6, r0, 0 - mov r8, r1 - str r2, [sp, 0x18] - lsls r3, 24 - lsrs r7, r3, 24 - movs r0, 0 - mov r9, r0 - movs r1, 0 - str r1, [sp, 0x20] - mov r2, r8 - ldr r2, [r2, 0x70] - str r2, [sp, 0x24] - ldr r3, [sp, 0x18] - ldr r3, [r3, 0x70] - mov r10, r3 - adds r0, r6, 0 - movs r1, 0x1 - bl sub_800A020 - mov r0, r9 - ldr r4, [sp, 0x48] - strb r0, [r4, 0xD] - strb r0, [r4, 0xE] - movs r1, 0 - str r1, [sp, 0x1C] - ldr r0, [sp, 0x18] - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _0806E14E - movs r0, 0x1 - b _0806E61A -_0806E14E: - cmp r7, 0x1 - beq _0806E156 - cmp r7, 0x7 - bne _0806E15A -_0806E156: - movs r2, 0x1 - str r2, [sp, 0x20] -_0806E15A: - ldr r0, [sp, 0x18] - movs r1, 0x35 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E170 - cmp r7, 0 - beq _0806E170 - movs r3, 0x1 - str r3, [sp, 0x1C] -_0806E170: - movs r0, 0x2 - ldr r4, [sp, 0x48] - str r0, [r4, 0x8] - movs r5, 0 - add r0, sp, 0x10 - mov r9, r0 - b _0806E1F2 -_0806E17E: - mov r1, r10 - adds r1, 0x5C - ldr r2, [sp, 0x20] - cmp r2, 0 - beq _0806E1B4 - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0xE - bne _0806E1B4 - mov r0, r10 - adds r0, 0xF5 - ldrb r0, [r0] - cmp r0, 0 - bne _0806E1B4 - movs r4, 0 - ldr r0, _0806E1AC - ldr r0, [r0] - ldr r3, _0806E1B0 - adds r1, r0, r3 - movs r0, 0x1 - strb r0, [r1] - b _0806E1CA - .align 2, 0 -_0806E1AC: .4byte gDungeonGlobalData -_0806E1B0: .4byte 0x00000179 -_0806E1B4: - ldr r2, _0806E4E4 - adds r0, r1, r5 - ldrb r1, [r0] - lsls r1, 1 - lsls r0, r7, 3 - adds r0, r7 - lsls r0, 2 - adds r1, r0 - adds r1, r2 - movs r0, 0 - ldrsh r4, [r1, r0] -_0806E1CA: - cmp r4, 0x2 - beq _0806E1DC - lsls r0, r4, 2 - add r0, sp - ldr r2, [r0] - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C -_0806E1DC: - lsls r0, r5, 2 - add r0, r9 - str r4, [r0] - ldr r0, _0806E4E8 - ldr r0, [r0] - movs r1, 0x9E - lsls r1, 1 - adds r0, r1 - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0806E1F2: - cmp r5, 0x1 - bgt _0806E20E - mov r1, sp - ldr r0, _0806E4EC - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r0, [r0] - str r0, [r1] - adds r0, r6, 0 - bl sub_800A2A0 - lsls r0, 24 - cmp r0, 0 - beq _0806E17E -_0806E20E: - ldr r2, _0806E4F0 - mov r1, r9 - ldr r0, [r1, 0x4] - lsls r0, 2 - ldr r1, [sp, 0x10] - lsls r1, 4 - adds r0, r1 - adds r0, r2 - ldr r0, [r0] - ldr r2, [sp, 0x48] - str r0, [r2, 0x8] - movs r3, 0x1 - mov r9, r3 - cmp r0, 0x3 - beq _0806E240 - movs r4, 0 - mov r9, r4 - ldr r0, [sp, 0x1C] - cmp r0, 0 - beq _0806E240 - ldr r0, _0806E4F4 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r6] - str r1, [r6, 0x4] -_0806E240: - cmp r7, 0x2 - beq _0806E248 - cmp r7, 0x6 - bne _0806E26C -_0806E248: - ldr r0, [sp, 0x18] - movs r1, 0x2 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E26C - ldr r0, _0806E4E8 - ldr r0, [r0] - ldr r2, _0806E4F8 - adds r1, r0, r2 - movs r0, 0x1 - strb r0, [r1] - ldr r2, _0806E4FC - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C -_0806E26C: - cmp r7, 0x2 - bne _0806E2A0 - ldr r0, [sp, 0x18] - bl GetFlashFireStatus - lsls r0, 24 - cmp r0, 0 - beq _0806E2A0 - ldr r0, _0806E4E8 - ldr r0, [r0] - movs r3, 0xB7 - lsls r3, 1 - adds r0, r3 - movs r4, 0 - movs r5, 0x1 - strb r5, [r0] - adds r0, r6, 0 - movs r1, 0 - bl sub_800A020 - ldr r0, [sp, 0x48] - str r4, [r0, 0x8] - strb r4, [r0, 0xD] - strb r5, [r0, 0xE] - movs r1, 0 - mov r9, r1 -_0806E2A0: - cmp r7, 0x9 - bne _0806E2D2 - ldr r0, [sp, 0x18] - movs r1, 0x37 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E2D2 - ldr r0, _0806E4E8 - ldr r0, [r0] - ldr r2, _0806E500 - adds r0, r2 - movs r4, 0 - movs r5, 0x1 - strb r5, [r0] - adds r0, r6, 0 - movs r1, 0 - bl sub_800A020 - ldr r3, [sp, 0x48] - str r4, [r3, 0x8] - strb r4, [r3, 0xD] - strb r5, [r3, 0xE] - mov r9, r4 -_0806E2D2: - cmp r7, 0x3 - bne _0806E340 - mov r0, r8 - movs r1, 0x10 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E340 - movs r4, 0 - ldr r0, [sp, 0x24] - movs r2, 0x10 - ldrsh r1, [r0, r2] - cmp r1, 0 - bge _0806E2F2 - adds r1, 0x3 -_0806E2F2: - asrs r1, 2 - ldr r3, [sp, 0x24] - movs r2, 0xE - ldrsh r0, [r3, r2] - cmp r1, r0 - blt _0806E300 - movs r4, 0x1 -_0806E300: - ldr r0, [sp, 0x24] - movs r1, 0x80 - adds r2, r4, 0 - bl SetVisualFlags - lsls r0, 24 - lsrs r5, r0, 24 - cmp r4, 0 - beq _0806E32A - ldr r0, _0806E4E8 - ldr r0, [r0] - movs r3, 0xB8 - lsls r3, 1 - adds r0, r3 - movs r1, 0x1 - strb r1, [r0] - ldr r2, _0806E504 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C -_0806E32A: - cmp r5, 0 - beq _0806E340 - mov r0, r8 - bl sub_80428EC - ldr r0, _0806E508 - ldr r2, [r0] - mov r0, r8 - ldr r1, [sp, 0x18] - bl sub_80522F4 -_0806E340: - cmp r7, 0x4 - bne _0806E3AC - mov r0, r8 - movs r1, 0x1A - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E3AC - movs r4, 0 - ldr r0, [sp, 0x24] - movs r2, 0x10 - ldrsh r1, [r0, r2] - cmp r1, 0 - bge _0806E360 - adds r1, 0x3 -_0806E360: - asrs r1, 2 - ldr r3, [sp, 0x24] - movs r2, 0xE - ldrsh r0, [r3, r2] - cmp r1, r0 - blt _0806E36E - movs r4, 0x1 -_0806E36E: - ldr r0, [sp, 0x24] - movs r1, 0x2 - adds r2, r4, 0 - bl SetVisualFlags - lsls r0, 24 - lsrs r5, r0, 24 - cmp r4, 0 - beq _0806E396 - ldr r0, _0806E4E8 - ldr r0, [r0] - ldr r3, _0806E50C - adds r1, r0, r3 - movs r0, 0x1 - strb r0, [r1] - ldr r2, _0806E504 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C -_0806E396: - cmp r5, 0 - beq _0806E3AC - mov r0, r8 - bl sub_80428D8 - ldr r0, _0806E510 - ldr r2, [r0] - mov r0, r8 - ldr r1, [sp, 0x18] - bl sub_80522F4 -_0806E3AC: - cmp r7, 0xC - bne _0806E41A - mov r0, r8 - movs r1, 0x43 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E41A - movs r4, 0 - ldr r0, [sp, 0x24] - movs r2, 0x10 - ldrsh r1, [r0, r2] - cmp r1, 0 - bge _0806E3CC - adds r1, 0x3 -_0806E3CC: - asrs r1, 2 - ldr r3, [sp, 0x24] - movs r2, 0xE - ldrsh r0, [r3, r2] - cmp r1, r0 - blt _0806E3DA - movs r4, 0x1 -_0806E3DA: - ldr r0, [sp, 0x24] - movs r1, 0x10 - adds r2, r4, 0 - bl SetVisualFlags - lsls r0, 24 - lsrs r5, r0, 24 - cmp r4, 0 - beq _0806E404 - ldr r0, _0806E4E8 - ldr r0, [r0] - movs r3, 0xB9 - lsls r3, 1 - adds r1, r0, r3 - movs r0, 0x1 - strb r0, [r1] - ldr r2, _0806E504 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C -_0806E404: - cmp r5, 0 - beq _0806E41A - mov r0, r8 - bl sub_8042978 - ldr r0, _0806E514 - ldr r2, [r0] - mov r0, r8 - ldr r1, [sp, 0x18] - bl sub_80522F4 -_0806E41A: - cmp r7, 0x2 - bne _0806E486 - mov r0, r8 - movs r1, 0x46 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E486 - movs r4, 0 - ldr r0, [sp, 0x24] - movs r2, 0x10 - ldrsh r1, [r0, r2] - cmp r1, 0 - bge _0806E43A - adds r1, 0x3 -_0806E43A: - asrs r1, 2 - ldr r3, [sp, 0x24] - movs r2, 0xE - ldrsh r0, [r3, r2] - cmp r1, r0 - blt _0806E448 - movs r4, 0x1 -_0806E448: - ldr r0, [sp, 0x24] - movs r1, 0x20 - adds r2, r4, 0 - bl SetVisualFlags - lsls r0, 24 - lsrs r5, r0, 24 - cmp r4, 0 - beq _0806E470 - ldr r0, _0806E4E8 - ldr r0, [r0] - ldr r3, _0806E518 - adds r1, r0, r3 - movs r0, 0x1 - strb r0, [r1] - ldr r2, _0806E504 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C -_0806E470: - cmp r5, 0 - beq _0806E486 - mov r0, r8 - bl sub_804298C - ldr r0, _0806E51C - ldr r2, [r0] - mov r0, r8 - ldr r1, [sp, 0x18] - bl sub_80522F4 -_0806E486: - adds r0, r6, 0 - bl sub_800A2A0 - lsls r0, 24 - cmp r0, 0 - bne _0806E4B8 - mov r0, r8 - adds r1, r7, 0 - bl HasType - lsls r0, 24 - cmp r0, 0 - beq _0806E4B8 - ldr r0, _0806E4E8 - ldr r0, [r0] - movs r4, 0xBA - lsls r4, 1 - adds r0, r4 - movs r1, 0x1 - strb r1, [r0] - ldr r2, _0806E520 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C -_0806E4B8: - mov r0, r8 - bl GetWeather - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _0806E53E - cmp r7, 0x2 - bne _0806E524 - ldr r0, _0806E4E8 - ldr r0, [r0] - movs r1, 0xB6 - lsls r1, 1 - adds r0, r1 - strb r4, [r0] - ldr r2, _0806E520 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C - b _0806E53E - .align 2, 0 -_0806E4E4: .4byte gTypeEffectivenessChart -_0806E4E8: .4byte gDungeonGlobalData -_0806E4EC: .4byte gUnknown_8106F54 -_0806E4F0: .4byte gUnknown_80F54B4 -_0806E4F4: .4byte gUnknown_8106EFC -_0806E4F8: .4byte 0x0000016d -_0806E4FC: .4byte gUnknown_8106F1C -_0806E500: .4byte 0x0000016f -_0806E504: .4byte gUnknown_8106F0C -_0806E508: .4byte gUnknown_80FEDA8 -_0806E50C: .4byte 0x00000171 -_0806E510: .4byte gUnknown_80FED88 -_0806E514: .4byte gUnknown_80FEDC8 -_0806E518: .4byte 0x00000173 -_0806E51C: .4byte gUnknown_80FEDE8 -_0806E520: .4byte gUnknown_8106F14 -_0806E524: - cmp r7, 0x3 - bne _0806E53E - ldr r0, _0806E560 - ldr r0, [r0] - movs r2, 0xB6 - lsls r2, 1 - adds r0, r2 - strb r4, [r0] - ldr r2, _0806E564 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C -_0806E53E: - cmp r4, 0x4 - bne _0806E586 - cmp r7, 0x2 - bne _0806E56C - ldr r0, _0806E560 - ldr r0, [r0] - ldr r3, _0806E568 - adds r1, r0, r3 - movs r0, 0x1 - strb r0, [r1] - ldr r2, _0806E564 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C - b _0806E586 - .align 2, 0 -_0806E560: .4byte gDungeonGlobalData -_0806E564: .4byte gUnknown_8106F1C -_0806E568: .4byte 0x0000016b -_0806E56C: - cmp r7, 0x3 - bne _0806E586 - ldr r0, _0806E62C - ldr r0, [r0] - ldr r2, _0806E630 - adds r1, r0, r2 - movs r0, 0x1 - strb r0, [r1] - ldr r2, _0806E634 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C -_0806E586: - cmp r4, 0x3 - bne _0806E5A6 - cmp r7, 0x1 - beq _0806E5A6 - ldr r2, _0806E638 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C - ldr r0, _0806E62C - ldr r0, [r0] - movs r3, 0xB5 - lsls r3, 1 - adds r1, r0, r3 - movs r0, 0x1 - strb r0, [r1] -_0806E5A6: - ldr r0, _0806E62C - ldr r1, [r0] - ldr r2, _0806E63C - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0806E5B8 - cmp r4, 0x6 - bne _0806E5CE -_0806E5B8: - cmp r7, 0x5 - bne _0806E5CE - ldr r3, _0806E640 - adds r1, r3 - movs r0, 0x1 - strb r0, [r1] - ldr r2, _0806E644 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C -_0806E5CE: - ldr r0, _0806E62C - ldr r1, [r0] - ldr r4, _0806E648 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _0806E5F4 - cmp r7, 0x2 - bne _0806E5F4 - movs r0, 0xBB - lsls r0, 1 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r2, _0806E644 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C -_0806E5F4: - cmp r7, 0x5 - bne _0806E618 - ldr r0, [sp, 0x24] - adds r0, 0xC0 - ldrb r0, [r0] - cmp r0, 0xB - bne _0806E618 - ldr r0, _0806E62C - ldr r0, [r0] - ldr r2, _0806E64C - adds r1, r0, r2 - movs r0, 0x1 - strb r0, [r1] - ldr r2, _0806E650 - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_800A34C -_0806E618: - mov r0, r9 -_0806E61A: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0806E62C: .4byte gDungeonGlobalData -_0806E630: .4byte 0x0000016b -_0806E634: .4byte gUnknown_8106F14 -_0806E638: .4byte gUnknown_8106F64 -_0806E63C: .4byte 0x0000e277 -_0806E640: .4byte 0x00000175 -_0806E644: .4byte gUnknown_8106F1C -_0806E648: .4byte 0x0000e278 -_0806E64C: .4byte 0x00000177 -_0806E650: .4byte gUnknown_8106F0C - thumb_func_end sub_806E100 - - thumb_func_start WeightWeakTypePicker -WeightWeakTypePicker: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - mov r9, r0 - str r1, [sp, 0x14] - lsls r2, 24 - lsrs r4, r2, 24 - movs r5, 0x1 - movs r0, 0 - str r0, [sp, 0x10] - adds r0, r1, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _0806E6DC - cmp r4, 0x1 - beq _0806E682 - cmp r4, 0x7 - bne _0806E686 -_0806E682: - movs r1, 0x1 - str r1, [sp, 0x10] -_0806E686: - mov r2, r9 - ldr r2, [r2, 0x70] - mov r8, r2 - ldr r3, [sp, 0x14] - ldr r3, [r3, 0x70] - mov r10, r3 - cmp r4, 0x2 - bne _0806E6A2 - ldr r0, [sp, 0x14] - bl GetFlashFireStatus - lsls r0, 24 - cmp r0, 0 - bne _0806E6C6 -_0806E6A2: - cmp r4, 0x5 - bne _0806E6B4 - ldr r0, [sp, 0x14] - movs r1, 0x23 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - bne _0806E6C6 -_0806E6B4: - cmp r4, 0x3 - bne _0806E6CA - ldr r0, [sp, 0x14] - movs r1, 0x24 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E6CA -_0806E6C6: - movs r0, 0 - b _0806E894 -_0806E6CA: - cmp r4, 0x9 - bne _0806E6E0 - ldr r0, [sp, 0x14] - movs r1, 0x37 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E6E0 -_0806E6DC: - movs r0, 0x1 - b _0806E894 -_0806E6E0: - mov r6, r10 - adds r6, 0x5C - str r6, [sp, 0x18] - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - mov r12, r0 - adds r2, r6, 0 -_0806E6F0: - mov r0, sp - ldr r1, _0806E724 - ldm r1!, {r3,r6,r7} - stm r0!, {r3,r6,r7} - ldr r1, [r1] - str r1, [r0] - ldr r7, [sp, 0x10] - cmp r7, 0 - beq _0806E730 - ldrb r0, [r2] - cmp r0, 0xE - bne _0806E730 - mov r0, r10 - adds r0, 0xF5 - ldrb r0, [r0] - cmp r0, 0 - bne _0806E730 - movs r3, 0 - ldr r0, _0806E728 - ldr r0, [r0] - ldr r6, _0806E72C - adds r1, r0, r6 - movs r0, 0x1 - strb r0, [r1] - b _0806E73E - .align 2, 0 -_0806E724: .4byte gTypeEffectivenessMultipliers -_0806E728: .4byte gDungeonGlobalData -_0806E72C: .4byte 0x00000179 -_0806E730: - ldrb r0, [r2] - lsls r0, 1 - add r0, r12 - ldr r7, _0806E854 - adds r0, r7 - movs r1, 0 - ldrsh r3, [r0, r1] -_0806E73E: - cmp r5, 0 - beq _0806E75E - lsls r0, r3, 2 - add r0, sp - ldr r0, [r0] - muls r5, r0 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 - cmp r5, 0 - beq _0806E84E - adds r2, 0x1 - ldr r0, [sp, 0x18] - adds r0, 0x1 - cmp r2, r0 - ble _0806E6F0 -_0806E75E: - cmp r4, 0x2 - beq _0806E766 - cmp r4, 0x6 - bne _0806E774 -_0806E766: - ldr r0, [sp, 0x14] - movs r1, 0x2 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - bne _0806E84E -_0806E774: - cmp r4, 0x3 - bne _0806E7A0 - mov r0, r9 - movs r1, 0x10 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E7A0 - mov r2, r8 - movs r3, 0x10 - ldrsh r1, [r2, r3] - cmp r1, 0 - bge _0806E792 - adds r1, 0x3 -_0806E792: - asrs r1, 2 - mov r6, r8 - movs r7, 0xE - ldrsh r0, [r6, r7] - cmp r1, r0 - blt _0806E7A0 - lsls r5, 1 -_0806E7A0: - cmp r4, 0x4 - bne _0806E7CC - mov r0, r9 - movs r1, 0x1A - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E7CC - mov r0, r8 - movs r2, 0x10 - ldrsh r1, [r0, r2] - cmp r1, 0 - bge _0806E7BE - adds r1, 0x3 -_0806E7BE: - asrs r1, 2 - mov r3, r8 - movs r6, 0xE - ldrsh r0, [r3, r6] - cmp r1, r0 - blt _0806E7CC - lsls r5, 1 -_0806E7CC: - cmp r4, 0xC - bne _0806E7F8 - mov r0, r9 - movs r1, 0x43 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E7F8 - mov r7, r8 - movs r0, 0x10 - ldrsh r1, [r7, r0] - cmp r1, 0 - bge _0806E7EA - adds r1, 0x3 -_0806E7EA: - asrs r1, 2 - mov r2, r8 - movs r3, 0xE - ldrsh r0, [r2, r3] - cmp r1, r0 - blt _0806E7F8 - lsls r5, 1 -_0806E7F8: - cmp r4, 0x2 - bne _0806E824 - mov r0, r9 - movs r1, 0x46 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E824 - mov r6, r8 - movs r7, 0x10 - ldrsh r1, [r6, r7] - cmp r1, 0 - bge _0806E816 - adds r1, 0x3 -_0806E816: - asrs r1, 2 - mov r2, r8 - movs r3, 0xE - ldrsh r0, [r2, r3] - cmp r1, r0 - blt _0806E824 - lsls r5, 1 -_0806E824: - cmp r5, 0 - beq _0806E84E - mov r0, r9 - adds r1, r4, 0 - bl HasType - lsls r0, 24 - cmp r0, 0 - beq _0806E838 - lsls r5, 1 -_0806E838: - mov r0, r9 - bl GetWeather - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E85A - cmp r4, 0x2 - beq _0806E858 - cmp r4, 0x3 - bne _0806E85A -_0806E84E: - movs r0, 0x2 - b _0806E894 - .align 2, 0 -_0806E854: .4byte gTypeEffectivenessChart -_0806E858: - lsls r5, 1 -_0806E85A: - ldr r0, _0806E8A4 - ldr r1, [r0] - ldr r6, _0806E8A8 - adds r1, r6 - ldrb r1, [r1] - cmp r1, 0 - beq _0806E86C - cmp r4, 0x5 - beq _0806E84E -_0806E86C: - ldr r0, [r0] - ldr r7, _0806E8AC - adds r0, r7 - ldrb r0, [r0] - cmp r0, 0 - beq _0806E87C - cmp r4, 0x2 - beq _0806E84E -_0806E87C: - cmp r4, 0x5 - bne _0806E88C - mov r0, r8 - adds r0, 0xC0 - ldrb r0, [r0] - cmp r0, 0xB - bne _0806E88C - lsls r5, 1 -_0806E88C: - cmp r5, 0x2 - ble _0806E892 - movs r5, 0x3 -_0806E892: - adds r0, r5, 0x2 -_0806E894: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0806E8A4: .4byte gDungeonGlobalData -_0806E8A8: .4byte 0x0000e277 -_0806E8AC: .4byte 0x0000e278 - thumb_func_end WeightWeakTypePicker - - thumb_func_start sub_806E8B0 -sub_806E8B0: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r6, r0, 0 - mov r9, r1 - adds r0, r2, 0 - str r3, [sp] - lsls r0, 24 - lsrs r0, 24 - movs r7, 0x1 - movs r1, 0x1 - mov r8, r1 - movs r2, 0x1 - str r2, [sp, 0x4] - str r1, [sp, 0x8] - bl sub_8092354 - movs r2, 0 - mov r10, r2 - lsls r0, 24 - cmp r0, 0 - bne _0806E8E6 - movs r0, 0x1 - mov r10, r0 -_0806E8E6: - adds r0, r6, 0 - movs r1, 0x11 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E92C - ldr r5, [r6, 0x70] - adds r0, r6, 0 - bl HasNegativeStatus - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl SetVisualFlags - lsls r0, 24 - lsrs r0, 24 - cmp r4, 0 - beq _0806E916 - movs r7, 0x2 -_0806E916: - cmp r0, 0 - beq _0806E92C - adds r0, r6, 0 - bl sub_80428B0 - ldr r0, _0806EADC - ldr r2, [r0] - adds r0, r6, 0 - mov r1, r9 - bl sub_80522F4 -_0806E92C: - adds r0, r6, 0 - movs r1, 0x22 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - bne _0806E948 - adds r0, r6, 0 - movs r1, 0x4B - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E98E -_0806E948: - ldr r2, [r6, 0x70] - movs r4, 0 - ldr r0, [sp, 0x30] - cmp r0, 0x20 - bgt _0806E95A - mov r1, r10 - cmp r1, 0 - bne _0806E95A - movs r4, 0x1 -_0806E95A: - movs r1, 0x80 - lsls r1, 1 - adds r0, r2, 0 - adds r2, r4, 0 - bl SetVisualFlags - lsls r0, 24 - lsrs r1, r0, 24 - cmp r4, 0 - beq _0806E978 - lsls r0, r7, 1 - adds r7, r0, r7 - mov r2, r8 - lsls r2, 1 - mov r8, r2 -_0806E978: - cmp r1, 0 - beq _0806E98E - adds r0, r6, 0 - bl sub_80428C4 - ldr r0, _0806EAE0 - ldr r2, [r0] - adds r0, r6, 0 - mov r1, r9 - bl sub_80522F4 -_0806E98E: - adds r0, r6, 0 - movs r1, 0x30 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E9AC - mov r0, r10 - cmp r0, 0 - bne _0806E9AC - lsls r0, r7, 1 - adds r7, r0, r7 - mov r1, r8 - lsls r1, 1 - mov r8, r1 -_0806E9AC: - ldr r0, [r6, 0x70] - ldrb r0, [r0, 0x6] - movs r4, 0x1 - cmp r0, 0 - beq _0806E9B8 - movs r4, 0 -_0806E9B8: - adds r0, r6, 0 - movs r1, 0x38 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806E9EA - mov r2, r10 - cmp r2, 0x1 - bne _0806E9EA - ldr r0, _0806EAE4 - ldr r0, [r0] - ldr r1, _0806EAE8 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _0806E9EA - lsls r0, r7, 4 - subs r7, r0, r7 - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 1 - mov r8, r0 -_0806E9EA: - adds r0, r6, 0 - movs r1, 0x3F - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806EA1C - mov r0, r10 - cmp r0, 0x1 - bne _0806EA1C - ldr r0, _0806EAE4 - ldr r0, [r0] - ldr r1, _0806EAEC - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _0806EA1C - lsls r0, r7, 4 - subs r7, r0, r7 - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 1 - mov r8, r0 -_0806EA1C: - mov r0, r9 - movs r1, 0x6 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806EA38 - mov r0, r10 - cmp r0, 0 - bne _0806EA38 - lsls r7, 2 - mov r1, r8 - lsls r0, r1, 2 - add r8, r0 -_0806EA38: - mov r0, r9 - movs r1, 0x34 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806EA90 - mov r2, r10 - cmp r2, 0 - bne _0806EA90 - mov r0, r9 - ldr r5, [r0, 0x70] - bl HasNegativeStatus - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x8 - adds r2, r4, 0 - bl SetVisualFlags - lsls r0, 24 - lsrs r1, r0, 24 - cmp r4, 0 - beq _0806EA7A - ldr r2, [sp, 0x4] - lsls r0, r2, 1 - adds r2, r0, r2 - str r2, [sp, 0x4] - ldr r0, [sp, 0x8] - lsls r0, 1 - str r0, [sp, 0x8] -_0806EA7A: - cmp r1, 0 - beq _0806EA90 - mov r0, r9 - bl sub_8042940 - ldr r0, _0806EAF0 - ldr r2, [r0] - adds r0, r6, 0 - mov r1, r9 - bl sub_80522F4 -_0806EA90: - ldr r1, [sp] - ldr r0, [r1] - muls r0, r7 - str r0, [r1] - ldr r2, [sp, 0x2C] - ldr r0, [r2] - ldr r1, [sp, 0x4] - muls r0, r1 - str r0, [r2] - mov r2, r8 - cmp r2, 0x1 - beq _0806EAB6 - ldr r1, [sp] - ldr r0, [r1] - mov r1, r8 - bl __divsi3 - ldr r2, [sp] - str r0, [r2] -_0806EAB6: - ldr r0, [sp, 0x8] - cmp r0, 0x1 - beq _0806EACA - ldr r1, [sp, 0x2C] - ldr r0, [r1] - ldr r1, [sp, 0x8] - bl __divsi3 - ldr r2, [sp, 0x2C] - str r0, [r2] -_0806EACA: - 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 -_0806EADC: .4byte gUnknown_80FEE04 -_0806EAE0: .4byte gUnknown_80FEE2C -_0806EAE4: .4byte gDungeonGlobalData -_0806EAE8: .4byte 0x000037fa -_0806EAEC: .4byte 0x000037f8 -_0806EAF0: .4byte gUnknown_80FEE54 - thumb_func_end sub_806E8B0 - - thumb_func_start sub_806EAF4 -sub_806EAF4: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8C - str r0, [sp, 0x70] - mov r9, r1 - adds r7, r3, 0 - ldr r0, [sp, 0xB8] - ldr r1, [sp, 0xBC] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x74] - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x78] - ldr r0, [sp, 0x70] - ldr r0, [r0, 0x70] - mov r10, r0 - mov r1, r9 - ldr r1, [r1, 0x70] - str r1, [sp, 0x7C] - adds r0, r2, 0 - bl sub_8092354 - movs r2, 0 - str r2, [sp, 0x80] - lsls r0, 24 - cmp r0, 0 - bne _0806EB3A - movs r3, 0x1 - str r3, [sp, 0x80] -_0806EB3A: - bl sub_806F500 - mov r6, r10 - ldrb r0, [r6, 0x7] - cmp r0, 0 - bne _0806EB72 - movs r0, 0x9E - lsls r0, 1 - add r0, r10 - ldr r0, [r0] - bl GetBellyRoundedUp - adds r1, r0, 0 - cmp r1, 0 - bne _0806EB72 - movs r0, 0x1 - ldr r2, [sp, 0xB0] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0x2 - str r0, [r2, 0x8] - add r3, sp, 0x74 - ldrb r3, [r3] - strb r3, [r2, 0xC] - strb r1, [r2, 0xD] - strb r1, [r2, 0xE] - strb r1, [r2, 0xF] - b _0806F294 -_0806EB72: - ldr r0, _0806EBA4 - cmp r4, r0 - bne _0806EBA8 - mov r0, r9 - movs r1, 0x35 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806EBA8 - movs r0, 0x1 - ldr r6, [sp, 0xB0] - str r0, [r6] - movs r1, 0 - str r1, [r6, 0x4] - movs r0, 0x2 - str r0, [r6, 0x8] - add r0, sp, 0x74 - ldrb r0, [r0] - strb r0, [r6, 0xC] - strb r1, [r6, 0xD] - strb r1, [r6, 0xE] - strb r1, [r6, 0xF] - b _0806F294 - .align 2, 0 -_0806EBA4: .4byte 0x00000163 -_0806EBA8: - add r1, sp, 0x74 - ldrb r2, [r1] - ldr r1, [sp, 0xB0] - strb r2, [r1, 0xC] - ldr r1, _0806EDA4 - ldr r0, [r1] - movs r2, 0x9A - lsls r2, 1 - adds r0, r2 - add r3, sp, 0x74 - ldrb r3, [r3] - strb r3, [r0] - ldr r2, [r1] - movs r6, 0x9C - lsls r6, 1 - adds r0, r2, r6 - ldr r1, [sp, 0x80] - str r1, [r0] - lsls r1, 1 - mov r0, r10 - adds r0, 0x1C - adds r0, r1 - movs r3, 0 - ldrsh r4, [r0, r3] - mov r8, r1 - ldr r6, [sp, 0x78] - cmp r6, 0 - beq _0806EBF8 - ldr r0, [sp, 0x74] - cmp r0, 0x2 - bne _0806EBF8 - mov r1, r10 - movs r3, 0x28 - ldrsh r0, [r1, r3] - adds r4, r0 - ldrh r1, [r1, 0x28] - movs r6, 0xA2 - lsls r6, 1 - adds r0, r2, r6 - strh r1, [r0] -_0806EBF8: - mov r0, r10 - movs r2, 0x4 - ldrsh r1, [r0, r2] - ldr r0, _0806EDA8 - cmp r1, r0 - bne _0806EC06 - adds r4, 0x2 -_0806EC06: - movs r0, 0xD1 - lsls r0, 1 - cmp r1, r0 - bne _0806EC10 - subs r4, 0x2 -_0806EC10: - ldr r0, _0806EDAC - cmp r1, r0 - bne _0806EC18 - subs r4, 0x2 -_0806EC18: - cmp r4, 0 - bge _0806EC1E - movs r4, 0 -_0806EC1E: - cmp r4, 0x14 - ble _0806EC24 - movs r4, 0x14 -_0806EC24: - ldr r6, _0806EDA4 - ldr r0, [r6] - movs r3, 0x9F - lsls r3, 1 - adds r0, r3 - strb r4, [r0] - ldr r1, [r6] - mov r5, r10 - adds r5, 0x14 - ldr r0, [sp, 0x80] - adds r2, r5, r0 - ldrb r0, [r2] - adds r0, r7 - adds r3, 0x2 - adds r1, r3 - strh r0, [r1] - ldrb r0, [r2] - adds r0, r7 - lsls r0, 8 - ldr r2, _0806EDB0 - lsls r1, r4, 2 - adds r1, r2 - ldr r1, [r1] - bl sub_8009DA4 - adds r2, r0, 0 - ldr r0, [sp, 0x80] - lsls r4, r0, 2 - mov r0, r10 - adds r0, 0x2C - adds r0, r4 - ldr r1, [r0] - adds r0, r2, 0 - bl sub_8009DA4 - adds r2, r0, 0 - str r5, [sp, 0x88] - cmp r2, 0 - bge _0806EC74 - adds r0, 0xFF -_0806EC74: - asrs r0, 8 - str r0, [sp, 0x8] - ldr r0, [sp, 0x7C] - adds r0, 0x20 - add r0, r8 - movs r1, 0 - ldrsh r3, [r0, r1] - ldr r2, [sp, 0x80] - cmp r2, 0 - bne _0806ECA0 - ldr r0, [sp, 0x7C] - adds r0, 0xC0 - ldrb r0, [r0] - cmp r0, 0x6 - bne _0806ECA0 - ldr r0, [r6] - movs r6, 0xBD - lsls r6, 1 - adds r1, r0, r6 - movs r0, 0x1 - strb r0, [r1] - adds r3, 0x1 -_0806ECA0: - ldr r0, [sp, 0x7C] - movs r2, 0x4 - ldrsh r1, [r0, r2] - ldr r0, _0806EDA8 - cmp r1, r0 - bne _0806ECAE - subs r3, 0x2 -_0806ECAE: - movs r0, 0xD1 - lsls r0, 1 - cmp r1, r0 - bne _0806ECB8 - adds r3, 0x2 -_0806ECB8: - ldr r0, _0806EDAC - cmp r1, r0 - bne _0806ECC0 - subs r3, 0x2 -_0806ECC0: - cmp r3, 0 - bge _0806ECC6 - movs r3, 0 -_0806ECC6: - cmp r3, 0x14 - ble _0806ECCC - movs r3, 0x14 -_0806ECCC: - ldr r5, _0806EDA4 - ldr r0, [r5] - ldr r6, _0806EDB4 - adds r0, r6 - strb r3, [r0] - ldr r2, [r5] - ldr r0, [sp, 0x7C] - adds r0, 0x16 - ldr r1, [sp, 0x80] - adds r0, r1 - ldrb r1, [r0] - adds r6, 0x3 - adds r2, r6 - strh r1, [r2] - ldrb r0, [r0] - lsls r0, 8 - ldr r2, _0806EDB8 - lsls r1, r3, 2 - adds r1, r2 - ldr r1, [r1] - bl sub_8009DA4 - adds r2, r0, 0 - ldr r0, [sp, 0x7C] - adds r0, 0x34 - adds r0, r4 - ldr r1, [r0] - adds r0, r2, 0 - bl sub_8009DA4 - cmp r0, 0 - bge _0806ED0E - adds r0, 0xFF -_0806ED0E: - asrs r0, 8 - str r0, [sp, 0xC] - movs r0, 0x64 - bl DungeonRandomCapped - str r0, [sp, 0x84] - ldr r0, [sp, 0x80] - cmp r0, 0 - bne _0806EDC8 - ldr r0, [sp, 0x70] - movs r1, 0x13 - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _0806ED4A - ldr r2, _0806EDBC - movs r3, 0 - ldrsh r1, [r2, r3] - ldr r0, [sp, 0x8] - adds r0, r1 - str r0, [sp, 0x8] - ldr r1, [r5] - movs r6, 0xB0 - lsls r6, 1 - adds r1, r6 - ldrb r0, [r2] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] -_0806ED4A: - ldr r0, [sp, 0x70] - movs r1, 0x2B - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _0806ED74 - ldr r2, _0806EDC0 - movs r3, 0 - ldrsh r1, [r2, r3] - ldr r0, [sp, 0x8] - adds r0, r1 - str r0, [sp, 0x8] - ldr r1, [r5] - movs r6, 0xB0 - lsls r6, 1 - adds r1, r6 - ldrb r0, [r2] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] -_0806ED74: - ldr r3, [sp, 0x78] - cmp r3, 0 - beq _0806EE4A - mov r0, r9 - movs r1, 0x1E - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _0806EE4A - ldr r2, _0806EDC4 - movs r6, 0 - ldrsh r1, [r2, r6] - ldr r0, [sp, 0xC] - adds r0, r1 - str r0, [sp, 0xC] - ldr r0, [r5] - movs r3, 0xB1 - lsls r3, 1 - adds r1, r0, r3 - ldrb r0, [r2] - ldrb r6, [r1] - adds r0, r6 - b _0806EE48 - .align 2, 0 -_0806EDA4: .4byte gDungeonGlobalData -_0806EDA8: .4byte 0x000001a1 -_0806EDAC: .4byte 0x000001a3 -_0806EDB0: .4byte gUnknown_80F504C -_0806EDB4: .4byte 0x0000013f -_0806EDB8: .4byte gUnknown_80F50A0 -_0806EDBC: .4byte gUnknown_810AC60 -_0806EDC0: .4byte gUnknown_810AC68 -_0806EDC4: .4byte gUnknown_810AC64 -_0806EDC8: - ldr r0, [sp, 0x78] - cmp r0, 0 - beq _0806EDF6 - mov r0, r9 - movs r1, 0x22 - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _0806EDF6 - ldr r2, _0806EEF8 - movs r3, 0 - ldrsh r1, [r2, r3] - ldr r0, [sp, 0xC] - adds r0, r1 - str r0, [sp, 0xC] - ldr r0, [r5] - ldr r6, _0806EEFC - adds r1, r0, r6 - ldrb r0, [r2] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] -_0806EDF6: - ldr r0, [sp, 0x70] - movs r1, 0x21 - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _0806EE20 - ldr r2, _0806EF00 - movs r3, 0 - ldrsh r1, [r2, r3] - ldr r0, [sp, 0x8] - adds r0, r1 - str r0, [sp, 0x8] - ldr r0, _0806EF04 - ldr r0, [r0] - ldr r6, _0806EF08 - adds r1, r0, r6 - ldrb r0, [r2] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] -_0806EE20: - ldr r0, [sp, 0x70] - movs r1, 0x2B - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _0806EE4A - ldr r2, _0806EF0C - movs r3, 0 - ldrsh r1, [r2, r3] - ldr r0, [sp, 0x8] - adds r0, r1 - str r0, [sp, 0x8] - ldr r0, _0806EF04 - ldr r0, [r0] - ldr r6, _0806EF08 - adds r1, r0, r6 - ldrb r0, [r2] - ldrb r2, [r1] - adds r0, r2 -_0806EE48: - strb r0, [r1] -_0806EE4A: - ldr r0, _0806EF04 - ldr r2, [r0] - movs r3, 0xA3 - lsls r3, 1 - adds r1, r2, r3 - add r0, sp, 0x8 - ldrh r0, [r0] - strh r0, [r1] - movs r6, 0xA4 - lsls r6, 1 - adds r1, r2, r6 - add r4, sp, 0xC - ldrh r0, [r4] - strh r0, [r1] - ldr r0, [sp, 0x8] - cmp r0, 0 - bge _0806EE70 - movs r0, 0 - str r0, [sp, 0x8] -_0806EE70: - ldr r1, _0806EF10 - ldr r0, [sp, 0x8] - cmp r0, r1 - ble _0806EE7C - ldr r0, _0806EF14 - str r0, [sp, 0x8] -_0806EE7C: - movs r3, 0xA8 - lsls r3, 1 - add r3, r10 - ldrh r2, [r3] - ldr r1, _0806EF18 - adds r0, r1, 0 - ands r0, r2 - strh r0, [r3] - movs r2, 0xA7 - lsls r2, 1 - add r2, r10 - ldrh r0, [r2] - ands r1, r0 - strh r1, [r2] - str r4, [sp] - ldr r0, [sp, 0x84] - str r0, [sp, 0x4] - ldr r0, [sp, 0x70] - mov r1, r9 - ldr r2, [sp, 0x74] - add r3, sp, 0x8 - bl sub_806E8B0 - add r5, sp, 0x10 - ldr r1, [sp, 0x8] - ldr r0, [sp, 0xC] - subs r1, r0 - adds r0, r5, 0 - bl sub_800A020 - add r4, sp, 0x18 - adds r0, r4, 0 - movs r1, 0x8 - bl sub_800A020 - adds r0, r5, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_800A3F0 - mov r1, r10 - ldrb r6, [r1, 0x6] - mov r8, r5 - adds r7, r4, 0 - cmp r6, 0 - bne _0806EF20 - ldrb r1, [r1, 0x9] - adds r0, r7, 0 - bl sub_800A020 - str r6, [sp, 0x20] - ldr r0, _0806EF1C - add r2, sp, 0x20 - str r0, [r2, 0x4] - adds r0, r7, 0 - adds r1, r7, 0 - bl sub_800A34C - mov r2, r10 - ldrb r0, [r2, 0x9] - lsls r0, 1 - b _0806EF60 - .align 2, 0 -_0806EEF8: .4byte gUnknown_810AC66 -_0806EEFC: .4byte 0x00000163 -_0806EF00: .4byte gUnknown_810AC62 -_0806EF04: .4byte gDungeonGlobalData -_0806EF08: .4byte 0x00000161 -_0806EF0C: .4byte gUnknown_810AC68 -_0806EF10: .4byte 0x000003e6 -_0806EF14: .4byte 0x000003e7 -_0806EF18: .4byte 0x0000feff -_0806EF1C: .4byte 0x0000aaaa -_0806EF20: - ldr r3, [sp, 0x88] - ldr r6, [sp, 0x80] - adds r0, r3, r6 - ldrb r0, [r0] - str r0, [sp, 0x28] - movs r0, 0x1 - str r0, [sp, 0x2C] - add r3, sp, 0x28 - add r0, sp, 0x2C - str r0, [sp] - ldr r0, [sp, 0x84] - str r0, [sp, 0x4] - ldr r0, [sp, 0x70] - mov r1, r9 - ldr r2, [sp, 0x74] - bl sub_806E8B0 - ldr r1, [sp, 0x28] - adds r0, r7, 0 - bl sub_800A020 - add r4, sp, 0x20 - adds r0, r4, 0 - movs r1, 0x3 - bl sub_800A020 - adds r0, r7, 0 - adds r1, r7, 0 - adds r2, r4, 0 - bl sub_800A3F0 - ldr r0, [sp, 0x28] -_0806EF60: - movs r1, 0x3 - bl __divsi3 - adds r6, r0, 0 - add r5, sp, 0x30 - adds r0, r5, 0 - mov r1, r8 - adds r2, r7, 0 - bl sub_800A6D0 - ldr r4, _0806F098 - ldr r0, [r4] - movs r1, 0xA5 - lsls r1, 1 - adds r0, r1 - movs r2, 0 - mov r8, r2 - strh r6, [r0] - adds r0, r5, 0 - bl sub_800A048 - ldr r1, [r4] - movs r3, 0xA6 - lsls r3, 1 - adds r1, r3 - strh r0, [r1] - ldr r0, [sp, 0x30] - ldr r1, [sp, 0x34] - str r0, [sp, 0x38] - str r1, [sp, 0x3C] - str r0, [sp, 0x48] - str r1, [sp, 0x4C] - add r6, sp, 0x38 - adds r0, r6, 0 - adds r1, r6, 0 - adds r2, r6, 0 - bl sub_800A34C - mov r0, r8 - str r0, [sp, 0x40] - ldr r0, _0806F09C - add r5, sp, 0x40 - str r0, [r5, 0x4] - adds r0, r6, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_800A34C - adds r0, r5, 0 - movs r1, 0x2 - bl sub_800A020 - add r4, sp, 0x48 - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_800A34C - ldr r1, [sp, 0xC] - adds r0, r5, 0 - bl sub_800A020 - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_800A6F0 - adds r0, r5, 0 - movs r1, 0xA - bl sub_800A020 - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_800A6D0 - add r5, sp, 0x50 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_800A6D0 - ldr r4, _0806F0A0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_800A2F0 - lsls r0, 24 - mov r8, r5 - cmp r0, 0 - beq _0806F01E - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [sp, 0x50] - str r1, [sp, 0x54] -_0806F01E: - ldr r4, _0806F0A4 - mov r0, r8 - adds r1, r4, 0 - bl sub_800A2F0 - lsls r0, 24 - cmp r0, 0 - beq _0806F036 - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [sp, 0x50] - str r1, [sp, 0x54] -_0806F036: - add r4, sp, 0x58 - ldr r1, [sp, 0xB0] - str r1, [sp] - adds r0, r4, 0 - ldr r1, [sp, 0x70] - mov r2, r9 - ldr r3, [sp, 0x74] - bl sub_806E100 - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r4, 0 - ldr r2, [sp, 0x74] - cmp r2, 0x2 - bne _0806F0BC - mov r0, r9 - bl GetFlashFireStatus - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0806F0BC - ldr r3, [sp, 0x7C] - movs r6, 0xA9 - lsls r6, 1 - adds r1, r3, r6 - ldrb r0, [r1] - cmp r0, 0 - bne _0806F0BC - ldr r0, [sp, 0x78] - cmp r0, 0 - beq _0806F118 - movs r0, 0x1 - strb r0, [r1] - ldr r0, _0806F0A8 - mov r1, r9 - movs r2, 0 - bl SetMessageArgument - cmp r4, 0x1 - bne _0806F0B0 - ldr r0, _0806F0AC - ldr r2, [r0] - ldr r0, [sp, 0x70] - mov r1, r9 - bl sub_80522F4 - b _0806F0BC - .align 2, 0 -_0806F098: .4byte gDungeonGlobalData -_0806F09C: .4byte 0x00000ccc -_0806F0A0: .4byte gUnknown_8106F24 -_0806F0A4: .4byte gUnknown_8106F04 -_0806F0A8: .4byte gUnknown_202DFE8 -_0806F0AC: .4byte gUnknown_80FAE00 -_0806F0B0: - ldr r0, _0806F15C - ldr r2, [r0] - ldr r0, [sp, 0x70] - mov r1, r9 - bl sub_80522F4 -_0806F0BC: - ldr r1, [sp, 0x78] - cmp r1, 0 - beq _0806F118 - ldr r2, [sp, 0x80] - cmp r2, 0 - bne _0806F0EE - ldr r0, [sp, 0x7C] - adds r0, 0xC4 - ldrb r4, [r0] - cmp r4, 0x1 - bne _0806F0EE - mov r0, r9 - bl sub_8041B74 - ldr r2, _0806F160 - adds r0, r7, 0 - adds r1, r7, 0 - bl sub_800A34C - ldr r0, _0806F164 - ldr r0, [r0] - movs r3, 0xB3 - lsls r3, 1 - adds r0, r3 - strb r4, [r0] -_0806F0EE: - ldr r6, [sp, 0x80] - cmp r6, 0x1 - bne _0806F118 - ldr r0, [sp, 0x7C] - adds r0, 0xC4 - ldrb r0, [r0] - cmp r0, 0x3 - bne _0806F118 - mov r0, r9 - bl sub_8041B5C - ldr r2, _0806F160 - adds r0, r7, 0 - adds r1, r7, 0 - bl sub_800A34C - ldr r0, _0806F164 - ldr r0, [r0] - ldr r1, _0806F168 - adds r0, r1 - strb r6, [r0] -_0806F118: - mov r0, r9 - movs r1, 0xC - bl HasAbility - lsls r0, 24 - cmp r0, 0 - bne _0806F1F4 - mov r0, r9 - movs r1, 0x13 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - bne _0806F1F4 - mov r3, r10 - ldrb r0, [r3, 0x6] - ldr r4, [sp, 0xAC] - cmp r0, 0 - beq _0806F140 - movs r4, 0 -_0806F140: - mov r0, r10 - adds r0, 0xDC - ldrb r0, [r0] - cmp r0, 0x4 - bne _0806F170 - ldr r4, _0806F16C - ldr r0, _0806F164 - ldr r0, [r0] - movs r6, 0xB4 - lsls r6, 1 - adds r0, r6 - movs r1, 0x1 - strb r1, [r0] - b _0806F1DA - .align 2, 0 -_0806F15C: .4byte gUnknown_80FADD8 -_0806F160: .4byte gUnknown_8106F1C -_0806F164: .4byte gDungeonGlobalData -_0806F168: .4byte 0x00000167 -_0806F16C: .4byte 0x000003e7 -_0806F170: - ldr r0, [sp, 0x70] - movs r1, 0xC - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _0806F194 - ldr r0, _0806F2A4 - movs r1, 0 - ldrsh r0, [r0, r1] - adds r4, r0 - ldr r0, _0806F2A8 - ldr r0, [r0] - movs r2, 0xB2 - lsls r2, 1 - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] -_0806F194: - mov r0, r9 - movs r1, 0xD - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _0806F1B6 - ldr r0, _0806F2A4 - movs r3, 0 - ldrsh r0, [r0, r3] - adds r4, r0 - ldr r0, _0806F2A8 - ldr r0, [r0] - ldr r6, _0806F2AC - adds r1, r0, r6 - movs r0, 0x1 - strb r0, [r1] -_0806F1B6: - cmp r5, 0 - beq _0806F1DA - ldr r0, [sp, 0x70] - movs r1, 0x1 - bl HasIQSkill - lsls r0, 24 - cmp r0, 0 - beq _0806F1DA - ldr r0, _0806F2B0 - movs r1, 0 - ldrsh r4, [r0, r1] - ldr r0, _0806F2A8 - ldr r0, [r0] - ldr r2, _0806F2B4 - adds r1, r0, r2 - movs r0, 0x1 - strb r0, [r1] -_0806F1DA: - movs r0, 0x64 - bl DungeonRandomCapped - cmp r0, r4 - bge _0806F1F4 - ldr r2, _0806F2B8 - adds r0, r7, 0 - adds r1, r7, 0 - bl sub_800A34C - movs r0, 0x1 - ldr r3, [sp, 0xB0] - strb r0, [r3, 0xD] -_0806F1F4: - mov r0, r8 - bl sub_800A048 - ldr r5, _0806F2A8 - ldr r1, [r5] - movs r6, 0xAA - lsls r6, 1 - adds r1, r6 - str r0, [r1] - mov r0, r8 - mov r1, r8 - adds r2, r7, 0 - bl sub_800A34C - ldr r0, [r5] - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - ldr r2, [sp, 0xB4] - str r2, [r0] - add r4, sp, 0x60 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_800A088 - mov r0, r8 - mov r1, r8 - adds r2, r4, 0 - bl sub_800A34C - mov r0, r8 - bl sub_800A048 - ldr r1, [r5] - movs r3, 0xA8 - lsls r3, 1 - adds r1, r3 - str r0, [r1] - movs r0, 0x80 - lsls r0, 7 - bl DungeonRandomCapped - movs r6, 0 - str r6, [sp, 0x58] - movs r1, 0xE0 - lsls r1, 8 - adds r0, r1 - str r0, [r7, 0x4] - mov r0, r8 - mov r1, r8 - adds r2, r7, 0 - bl sub_800A34C - add r4, sp, 0x68 - adds r0, r4, 0 - movs r1, 0x64 - bl sub_800A020 - adds r0, r7, 0 - adds r1, r4, 0 - adds r2, r7, 0 - bl sub_800A34C - adds r0, r7, 0 - bl sub_800A048 - ldr r1, [r5] - movs r2, 0xAC - lsls r2, 1 - adds r1, r2 - str r0, [r1] - mov r0, r8 - bl sub_800A048 - ldr r3, [sp, 0xB0] - str r0, [r3] - str r6, [r3, 0x4] - cmp r0, 0 - bne _0806F294 - strb r0, [r3, 0xD] -_0806F294: - add sp, 0x8C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806F2A4: .4byte gUnknown_80F4DAE -_0806F2A8: .4byte gDungeonGlobalData -_0806F2AC: .4byte 0x00000165 -_0806F2B0: .4byte gUnknown_80F4DB0 -_0806F2B4: .4byte 0x00000169 -_0806F2B8: .4byte gUnknown_8106F14 - thumb_func_end sub_806EAF4 - - thumb_func_start sub_806F2BC -sub_806F2BC: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r5, r0, 0 - mov r12, r1 - ldr r7, [sp, 0x2C] - lsls r2, 24 - lsrs r4, r2, 24 - adds r6, r3, 0 - cmp r6, 0 - bgt _0806F2D6 - movs r6, 0x1 -_0806F2D6: - ldr r0, _0806F320 - cmp r6, r0 - ble _0806F2DE - adds r6, r0, 0 -_0806F2DE: - movs r0, 0 - mov r8, r0 - strb r4, [r7, 0xC] - str r7, [sp] - add r0, sp, 0x4 - adds r1, r5, 0 - mov r2, r12 - adds r3, r4, 0 - bl sub_806E100 - add r4, sp, 0xC - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_800A020 - adds r0, r4, 0 - adds r1, r4, 0 - add r2, sp, 0x4 - bl sub_800A34C - adds r0, r4, 0 - bl sub_800A048 - str r0, [r7] - mov r0, r8 - str r0, [r7, 0x4] - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806F320: .4byte 0x000003e7 - thumb_func_end sub_806F2BC - - thumb_func_start sub_806F324 -sub_806F324: - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x94 - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, r3, 16 - asrs r4, 16 - add r0, sp, 0x10 - bl sub_80457DC - add r2, sp, 0x84 - str r5, [sp, 0x84] - movs r0, 0x2 - str r0, [r2, 0x8] - movs r0, 0 - strb r0, [r2, 0xC] - str r6, [r2, 0x4] - strb r0, [r2, 0xD] - strb r0, [r2, 0xE] - strb r0, [r2, 0xF] - str r0, [sp] - str r4, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - add r0, sp, 0x10 - mov r1, r8 - movs r3, 0 - bl sub_806D010 - add sp, 0x94 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806F324 - - thumb_func_start sub_806F370 -sub_806F370: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - mov r10, r0 - adds r7, r1, 0 - mov r9, r3 - ldr r0, [sp, 0x50] - ldr r1, [sp, 0x54] - ldr r3, [sp, 0x58] - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - asrs r1, 16 - mov r8, r1 - adds r5, r2, 0 - movs r0, 0x2 - str r0, [sp, 0x18] - str r3, [sp, 0x14] - add r0, sp, 0x10 - movs r1, 0 - strb r4, [r0, 0xC] - strb r1, [r0, 0xD] - strb r1, [r0, 0xE] - cmp r4, 0 - beq _0806F3FC - ldr r1, [r7, 0x70] - movs r2, 0 - lsls r0, r4, 3 - mov r3, sp - adds r3, 0x20 - str r3, [sp, 0x28] - ldr r6, _0806F408 - mov r12, r6 - adds r1, 0x5C - adds r0, r4 - lsls r3, r0, 2 - ldr r4, [sp, 0x28] -_0806F3C0: - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r3 - add r0, r12 - movs r6, 0 - ldrsh r0, [r0, r6] - stm r4!, {r0} - adds r2, 0x1 - cmp r2, 0x1 - ble _0806F3C0 - adds r0, r7, 0 - movs r1, 0x35 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _0806F3FC - ldr r2, _0806F40C - ldr r1, [sp, 0x28] - ldr r0, [r1, 0x4] - lsls r0, 2 - ldr r1, [sp, 0x20] - lsls r1, 4 - adds r0, r1 - adds r0, r2 - ldr r0, [r0] - cmp r0, 0x3 - beq _0806F3FC - movs r5, 0 -_0806F3FC: - str r5, [sp, 0x10] - cmp r5, 0 - bne _0806F410 - add r1, sp, 0x10 - movs r0, 0x1 - b _0806F414 - .align 2, 0 -_0806F408: .4byte gTypeEffectivenessChart -_0806F40C: .4byte gUnknown_80F54B4 -_0806F410: - add r1, sp, 0x10 - movs r0, 0 -_0806F414: - strb r0, [r1, 0xF] - mov r3, r9 - str r3, [sp] - mov r6, r8 - str r6, [sp, 0x4] - ldr r0, [sp, 0x5C] - str r0, [sp, 0x8] - ldr r0, [sp, 0x60] - str r0, [sp, 0xC] - mov r0, r10 - adds r1, r7, 0 - add r2, sp, 0x10 - movs r3, 0 - bl sub_806D010 - ldr r0, [sp, 0x4C] - cmp r0, 0 - beq _0806F440 - add r0, sp, 0x10 - ldrb r0, [r0, 0xF] - ldr r1, [sp, 0x4C] - strb r0, [r1] -_0806F440: - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806F370 - - thumb_func_start SetShopkeeperAggression -SetShopkeeperAggression: - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, [r1, 0x70] - adds r6, r4, 0 - ldrb r0, [r4, 0x8] - cmp r0, 0 - beq _0806F47A - adds r0, r5, 0 - bl GetEntityType - cmp r0, 0x1 - bne _0806F47A - ldr r0, [r5, 0x70] - ldrb r0, [r0, 0x6] - cmp r0, 0 - beq _0806F476 - movs r0, 0x2 - strb r0, [r4, 0x8] - b _0806F47A -_0806F476: - movs r0, 0x3 - strb r0, [r6, 0x8] -_0806F47A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end SetShopkeeperAggression - - thumb_func_start sub_806F480 -sub_806F480: - push {lr} - lsls r1, 24 - lsrs r1, 24 - ldr r2, [r0, 0x70] - adds r3, r2, 0 - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _0806F49E - cmp r1, 0 - beq _0806F49A - movs r0, 0x2 - strb r0, [r2, 0x8] - b _0806F49E -_0806F49A: - movs r0, 0x3 - strb r0, [r3, 0x8] -_0806F49E: - pop {r0} - bx r0 - thumb_func_end sub_806F480 - - thumb_func_start sub_806F4A4 -sub_806F4A4: - push {r4-r6,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldr r5, [r0, 0x70] - movs r1, 0xE - bl HasType - lsls r0, 24 - cmp r0, 0 - beq _0806F4CE - cmp r4, 0x1 - beq _0806F4C0 - cmp r4, 0x7 - bne _0806F4CE -_0806F4C0: - adds r0, r5, 0 - adds r0, 0xF5 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F4CE -_0806F4CA: - movs r0, 0 - b _0806F4F6 -_0806F4CE: - movs r2, 0 - lsls r0, r4, 3 - ldr r6, _0806F4FC - adds r3, r5, 0 - adds r3, 0x5C - adds r0, r4 - lsls r1, r0, 2 -_0806F4DC: - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - adds r0, r6 - movs r4, 0 - ldrsh r0, [r0, r4] - cmp r0, 0 - beq _0806F4CA - adds r2, 0x1 - cmp r2, 0x1 - ble _0806F4DC - movs r0, 0x1 -_0806F4F6: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0806F4FC: .4byte gTypeEffectivenessChart - thumb_func_end sub_806F4A4 - - thumb_func_start sub_806F500 -sub_806F500: - ldr r0, _0806F5F4 - ldr r0, [r0] - mov r12, r0 - movs r0, 0x9A - lsls r0, 1 - add r0, r12 - movs r1, 0 - strb r1, [r0] - str r1, [r0, 0x4] - strb r1, [r0, 0x8] - strb r1, [r0, 0x9] - movs r2, 0xA - strb r2, [r0, 0xA] - strb r2, [r0, 0xB] - movs r2, 0 - movs r3, 0x1 - strh r3, [r0, 0xC] - strh r3, [r0, 0xE] - strh r1, [r0, 0x10] - strh r1, [r0, 0x14] - strh r1, [r0, 0x12] - strh r1, [r0, 0x16] - strh r1, [r0, 0x18] - str r1, [r0, 0x1C] - str r1, [r0, 0x24] - str r1, [r0, 0x28] - movs r0, 0xB0 - lsls r0, 1 - add r0, r12 - strb r2, [r0] - ldr r0, _0806F5F8 - add r0, r12 - strb r2, [r0] - movs r0, 0xB1 - lsls r0, 1 - add r0, r12 - strb r2, [r0] - ldr r0, _0806F5FC - add r0, r12 - strb r2, [r0] - movs r0, 0xB2 - lsls r0, 1 - add r0, r12 - strb r2, [r0] - ldr r0, _0806F600 - add r0, r12 - strb r2, [r0] - movs r0, 0xB3 - lsls r0, 1 - add r0, r12 - strb r2, [r0] - ldr r0, _0806F604 - add r0, r12 - strb r2, [r0] - movs r0, 0xB4 - lsls r0, 1 - add r0, r12 - strb r2, [r0] - ldr r0, _0806F608 - add r0, r12 - strb r2, [r0] - movs r0, 0xB5 - lsls r0, 1 - add r0, r12 - strb r2, [r0] - movs r0, 0xB6 - lsls r0, 1 - add r0, r12 - strb r2, [r0] - ldr r0, _0806F60C - add r0, r12 - strb r2, [r0] - ldr r0, _0806F610 - add r0, r12 - strb r2, [r0] - movs r0, 0xB7 - lsls r0, 1 - add r0, r12 - strb r2, [r0] - ldr r0, _0806F614 - add r0, r12 - strb r2, [r0] - movs r0, 0xB8 - lsls r0, 1 - add r0, r12 - strb r2, [r0] - ldr r0, _0806F618 - add r0, r12 - strb r2, [r0] - movs r0, 0xB9 - lsls r0, 1 - add r0, r12 - strb r2, [r0] - ldr r0, _0806F61C - add r0, r12 - strb r2, [r0] - movs r0, 0xBA - lsls r0, 1 - add r0, r12 - strb r2, [r0] - ldr r0, _0806F620 - add r0, r12 - strb r2, [r0] - movs r0, 0xBB - lsls r0, 1 - add r0, r12 - strb r2, [r0] - ldr r0, _0806F624 - add r0, r12 - strb r2, [r0] - movs r0, 0xBC - lsls r0, 1 - add r0, r12 - strb r2, [r0] - ldr r0, _0806F628 - add r0, r12 - strb r2, [r0] - movs r0, 0xBD - lsls r0, 1 - add r0, r12 - strb r2, [r0] - bx lr - .align 2, 0 -_0806F5F4: .4byte gDungeonGlobalData -_0806F5F8: .4byte 0x00000161 -_0806F5FC: .4byte 0x00000163 -_0806F600: .4byte 0x00000165 -_0806F604: .4byte 0x00000167 -_0806F608: .4byte 0x00000169 -_0806F60C: .4byte 0x0000016b -_0806F610: .4byte 0x0000016d -_0806F614: .4byte 0x0000016f -_0806F618: .4byte 0x00000171 -_0806F61C: .4byte 0x00000173 -_0806F620: .4byte 0x00000175 -_0806F624: .4byte 0x00000177 -_0806F628: .4byte 0x00000179 - thumb_func_end sub_806F500 - - thumb_func_start sub_806F62C -sub_806F62C: - ldr r1, _0806F638 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_0806F638: .4byte gUnknown_8106F7C - thumb_func_end sub_806F62C - - thumb_func_start sub_806F63C -sub_806F63C: - push {lr} - ldr r1, _0806F658 - ldr r1, [r1] - ldr r2, _0806F65C - adds r1, r2 - ldr r1, [r1, 0x10] - cmp r1, r0 - bne _0806F652 - adds r0, r1, 0 - bl sub_803F508 -_0806F652: - pop {r0} - bx r0 - .align 2, 0 -_0806F658: .4byte gDungeonGlobalData -_0806F65C: .4byte 0x000181e8 - thumb_func_end sub_806F63C - - thumb_func_start sub_806F660 -sub_806F660: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - mov r8, r1 - ldr r0, [r6, 0x70] - mov r10, r0 - ldr r4, [r1, 0x70] - movs r1, 0x1 - negs r1, r1 - mov r9, r1 - movs r2, 0x4 - ldrsh r0, [r4, r2] - bl GetPokemonSize - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0806F6C0 - ldr r3, [r0] - ldr r1, _0806F6C4 - adds r0, r3, r1 - ldrh r2, [r0] - subs r0, r2, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _0806F702 - lsls r0, r2, 16 - asrs r1, r0, 16 - cmp r1, 0x9 - beq _0806F702 - cmp r1, 0xF - beq _0806F702 - adds r0, r2, 0 - subs r0, 0x2C - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0806F6CC - ldr r2, _0806F6C8 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F702 - b _0806F8FC - .align 2, 0 -_0806F6C0: .4byte gDungeonGlobalData -_0806F6C4: .4byte 0x00003a14 -_0806F6C8: .4byte 0x0000065c -_0806F6CC: - cmp r1, 0x31 - bne _0806F6F0 - ldr r1, _0806F6EC - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F6DC - b _0806F8FC -_0806F6DC: - movs r0, 0xCF - lsls r0, 1 - bl sub_8097900 - lsls r0, 24 - cmp r0, 0 - bne _0806F702 - b _0806F8FC - .align 2, 0 -_0806F6EC: .4byte 0x00000659 -_0806F6F0: - ldr r2, _0806F834 - adds r0, r3, r2 - ldrb r0, [r0] - bl GetRecruitable - lsls r0, 24 - cmp r0, 0 - bne _0806F702 - b _0806F8FC -_0806F702: - ldr r0, _0806F838 - ldr r0, [r0] - ldr r3, _0806F83C - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _0806F712 - b _0806F8FC -_0806F712: - ldrh r1, [r4, 0x2] - adds r0, r1, 0 - subs r0, 0x90 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bls _0806F766 - lsls r0, r1, 16 - asrs r1, r0, 16 - ldr r0, _0806F840 - cmp r1, r0 - beq _0806F766 - subs r0, 0x1 - cmp r1, r0 - beq _0806F766 - adds r0, 0x2 - cmp r1, r0 - beq _0806F766 - adds r0, 0x8A - cmp r1, r0 - beq _0806F766 - adds r0, 0x1 - cmp r1, r0 - beq _0806F766 - adds r0, 0x4 - cmp r1, r0 - beq _0806F766 - subs r0, 0x1 - cmp r1, r0 - beq _0806F766 - adds r0, 0x2 - cmp r1, r0 - beq _0806F766 - subs r0, 0x9 - cmp r1, r0 - beq _0806F766 - adds r0, 0x1 - cmp r1, r0 - beq _0806F766 - adds r0, 0x1 - cmp r1, r0 - bne _0806F776 -_0806F766: - movs r1, 0x2 - ldrsh r0, [r4, r1] - bl HasRecruitedMon - lsls r0, 24 - cmp r0, 0 - beq _0806F776 - b _0806F8FC -_0806F776: - movs r2, 0x2 - ldrsh r0, [r4, r2] - bl sub_806F9BC - lsls r0, 24 - cmp r0, 0 - bne _0806F786 - b _0806F8FC -_0806F786: - movs r3, 0x4 - ldrsh r1, [r6, r3] - mov r2, r8 - movs r3, 0x4 - ldrsh r0, [r2, r3] - subs r1, r0 - cmp r1, 0 - bge _0806F798 - negs r1, r1 -_0806F798: - cmp r1, 0x1 - ble _0806F79E - b _0806F8FC -_0806F79E: - movs r0, 0x6 - ldrsh r1, [r6, r0] - mov r2, r8 - movs r3, 0x6 - ldrsh r0, [r2, r3] - subs r1, r0 - cmp r1, 0 - bge _0806F7B0 - negs r1, r1 -_0806F7B0: - cmp r1, 0x1 - ble _0806F7B6 - b _0806F8FC -_0806F7B6: - adds r0, r4, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x4A - bne _0806F7C2 - b _0806F8FC -_0806F7C2: - adds r0, r4, 0 - adds r0, 0xA4 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0806F7CE - b _0806F8FC -_0806F7CE: - mov r0, r8 - adds r1, r6, 0 - bl CanSee - lsls r0, 24 - cmp r0, 0 - bne _0806F7DE - b _0806F8FC -_0806F7DE: - bl sub_806F910 - movs r0, 0xFA - lsls r0, 2 - bl DungeonRandomCapped - adds r7, r0, 0 - movs r1, 0x2 - ldrsh r0, [r4, r1] - bl GetBaseRecruit - lsls r0, 16 - asrs r4, r0, 16 - ldr r0, _0806F844 - cmp r4, r0 - bne _0806F800 - b _0806F8FC -_0806F800: - adds r0, r6, 0 - movs r1, 0x2E - bl HasItem - lsls r0, 24 - cmp r0, 0 - beq _0806F816 - ldr r0, _0806F848 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r4, r0 -_0806F816: - ldr r0, _0806F84C - mov r3, r10 - ldrb r1, [r3, 0x9] - lsls r1, 1 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - adds r4, r0 - cmp r7, r4 - bge _0806F8FC - movs r4, 0 - movs r0, 0x6 - subs r3, r0, r5 - ldr r7, _0806F850 - b _0806F856 - .align 2, 0 -_0806F834: .4byte 0x00000644 -_0806F838: .4byte gDungeonGlobalData -_0806F83C: .4byte 0x0000065d -_0806F840: .4byte 0x0000010d -_0806F844: .4byte 0xfffffc19 -_0806F848: .4byte gUnknown_80F5008 -_0806F84C: .4byte gUnknown_80F5700 -_0806F850: .4byte gUnknown_202EE70 -_0806F854: - adds r4, 0x1 -_0806F856: - cmp r4, r3 - bgt _0806F878 - movs r2, 0 - cmp r2, r5 - bge _0806F872 - adds r1, r4, r7 - b _0806F86C -_0806F864: - adds r1, 0x1 - adds r2, 0x1 - cmp r2, r5 - bge _0806F872 -_0806F86C: - ldrb r0, [r1] - cmp r0, 0 - beq _0806F864 -_0806F872: - cmp r2, r5 - bne _0806F854 - mov r9, r4 -_0806F878: - movs r0, 0x1 - negs r0, r0 - cmp r9, r0 - beq _0806F8F4 - movs r4, 0 - ldr r3, _0806F8BC - ldr r0, [r3] - ldr r2, _0806F8C0 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806F8B4 - adds r7, r3, 0 - adds r5, r2, 0 - movs r2, 0 - movs r3, 0x1 -_0806F89C: - adds r2, 0x64 - adds r4, 0x1 - cmp r4, 0x3 - bgt _0806F8B4 - ldr r0, [r7] - adds r0, r2, r0 - adds r0, r5 - ldrb r1, [r0] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0806F89C -_0806F8B4: - cmp r4, 0x4 - beq _0806F8F4 - movs r4, 0 - b _0806F8C6 - .align 2, 0 -_0806F8BC: .4byte gRecruitedPokemonRef -_0806F8C0: .4byte 0x00008df8 -_0806F8C4: - adds r4, 0x1 -_0806F8C6: - cmp r4, 0x3 - bgt _0806F8E2 - ldr r0, _0806F8EC - ldr r0, [r0] - lsls r1, r4, 2 - ldr r3, _0806F8F0 - adds r0, r3 - adds r0, r1 - ldr r0, [r0] - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _0806F8C4 -_0806F8E2: - cmp r4, 0x4 - beq _0806F8F4 - movs r0, 0x1 - b _0806F8FE - .align 2, 0 -_0806F8EC: .4byte gDungeonGlobalData -_0806F8F0: .4byte 0x0001357c -_0806F8F4: - adds r0, r6, 0 - mov r1, r8 - bl nullsub_96 -_0806F8FC: - movs r0, 0 -_0806F8FE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_806F660 - - thumb_func_start nullsub_96 -nullsub_96: - bx lr - thumb_func_end nullsub_96 - - thumb_func_start sub_806F910 -sub_806F910: - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 - movs r6, 0 - movs r7, 0x40 -_0806F91C: - ldr r0, _0806F9AC - ldr r0, [r0] - lsls r1, r6, 2 - ldr r2, _0806F9B0 - adds r0, r2 - adds r0, r1 - ldr r4, [r0] - adds r0, r4, 0 - bl EntityExists - lsls r0, 24 - adds r1, r6, 0x1 - mov r8, r1 - cmp r0, 0 - beq _0806F98A - ldr r0, [r4, 0x70] - movs r2, 0x4 - ldrsh r0, [r0, r2] - bl GetPokemonSize - lsls r0, 24 - lsrs r1, r0, 24 - adds r0, r4, 0 - adds r0, 0x68 - strh r7, [r0] - ldr r0, [r4, 0x70] - ldr r2, _0806F9B4 - adds r0, r2 - strb r6, [r0] - ldr r0, [r4, 0x70] - adds r2, 0x1 - adds r0, r2 - strb r1, [r0] - cmp r1, 0 - beq _0806F978 - ldr r3, _0806F9B8 - movs r2, 0x1 -_0806F966: - cmp r5, 0x5 - bgt _0806F972 - adds r0, r5, r3 - strb r2, [r0] - adds r7, 0x10 - adds r5, 0x1 -_0806F972: - subs r1, 0x1 - cmp r1, 0 - bne _0806F966 -_0806F978: - adds r0, r4, 0 - bl sub_806CEBC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_806CCB4 -_0806F98A: - mov r6, r8 - cmp r6, 0x3 - ble _0806F91C - cmp r5, 0x5 - bgt _0806F9A2 - ldr r2, _0806F9B8 - movs r1, 0 -_0806F998: - adds r0, r5, r2 - strb r1, [r0] - adds r5, 0x1 - cmp r5, 0x5 - ble _0806F998 -_0806F9A2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806F9AC: .4byte gDungeonGlobalData -_0806F9B0: .4byte 0x0001357c -_0806F9B4: .4byte 0x00000167 -_0806F9B8: .4byte gUnknown_202EE70 - thumb_func_end sub_806F910 - - thumb_func_start sub_806F9BC -sub_806F9BC: - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 16 - asrs r4, r0, 16 - ldr r5, _0806FA40 - ldr r0, [r5] - movs r1, 0xCB - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0806FA3C - adds r0, r4, 0 - bl sub_808529C - lsls r0, 24 - cmp r0, 0 - beq _0806FA3C - cmp r4, 0x97 - bne _0806F9F2 - ldr r0, [r5] - movs r1, 0xCF - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0806FA3C -_0806F9F2: - movs r0, 0xCC - lsls r0, 1 - cmp r4, r0 - beq _0806FA3C - ldr r0, _0806FA44 - cmp r4, r0 - beq _0806FA3C - ldr r0, _0806FA48 - cmp r4, r0 - beq _0806FA3C - movs r0, 0xD1 - lsls r0, 1 - cmp r4, r0 - beq _0806FA3C - ldr r0, _0806FA4C - cmp r4, r0 - beq _0806FA3C - adds r0, r4, 0 - bl GetUnk12 - lsls r0, 24 - cmp r0, 0 - bne _0806FA50 - adds r0, r4, 0 - bl GetFriendArea - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - movs r3, 0 - bl sub_8092638 - mov r0, sp - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _0806FA50 -_0806FA3C: - movs r0, 0 - b _0806FA52 - .align 2, 0 -_0806FA40: .4byte gDungeonGlobalData -_0806FA44: .4byte 0x00000199 -_0806FA48: .4byte 0x000001a1 -_0806FA4C: .4byte 0x000001a3 -_0806FA50: - movs r0, 0x1 -_0806FA52: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806F9BC - - thumb_func_start sub_806FA5C -sub_806FA5C: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0x4 - mov r1, r8 - adds r1, 0x4 - bl CalculateFacingDir - adds r4, r0, 0 - movs r0, 0 - mov r10, r0 - movs r1, 0 - ldrsh r0, [r6, r1] - bl GetFriendArea - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r0, r5, 0 - adds r0, 0x22 - mov r2, r10 - strb r2, [r0] - mov r0, r8 - adds r1, r5, 0 - bl sub_807A0CC - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_806CE68 - ldr r0, _0806FAD4 - movs r3, 0 - ldrsh r1, [r6, r3] - bl CopyCyanSpeciesNametoBuffer - ldr r0, _0806FAD8 - ldr r1, [r0] - movs r0, 0 - movs r2, 0x1 - bl sub_8052B8C - cmp r0, 0 - bne _0806FAE4 - movs r4, 0 - ldrsh r1, [r6, r4] - ldr r0, _0806FADC - cmp r1, r0 - beq _0806FB28 - ldr r0, _0806FAE0 - ldr r1, [r0] - mov r0, r8 - bl SendMessage - b _0806FB28 - .align 2, 0 -_0806FAD4: .4byte gAvailablePokemonNames -_0806FAD8: .4byte gUnknown_80F9FE8 -_0806FADC: .4byte 0x0000019d -_0806FAE0: .4byte gUnknown_80FA004 -_0806FAE4: - movs r7, 0 - ldr r3, _0806FB2C - ldr r0, [r3] - ldr r2, _0806FB30 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806FB1A - mov r12, r3 - adds r4, r2, 0 - movs r2, 0 - movs r3, 0x1 -_0806FB00: - adds r2, 0x64 - adds r7, 0x1 - cmp r7, 0x3 - bgt _0806FB1A - mov r1, r12 - ldr r0, [r1] - adds r0, r2, r0 - adds r0, r4 - ldrb r1, [r0] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0806FB00 -_0806FB1A: - cmp r7, 0x4 - bne _0806FB38 - ldr r0, _0806FB34 - ldr r1, [r0] - mov r0, r8 - bl SendMessage -_0806FB28: - movs r0, 0 - b _0806FCF0 - .align 2, 0 -_0806FB2C: .4byte gRecruitedPokemonRef -_0806FB30: .4byte 0x00008df8 -_0806FB34: .4byte gUnknown_80FA030 -_0806FB38: - mov r0, r9 - bl GetFriendAreaStatus - lsls r0, 24 - cmp r0, 0 - bne _0806FB4E - mov r0, r9 - bl UnlockFriendArea - movs r2, 0x1 - mov r10, r2 -_0806FB4E: - movs r1, 0xFA - lsls r1, 1 - adds r0, r5, 0 - mov r2, r8 - bl sub_8068FE0 - ldr r1, _0806FC40 - movs r0, 0x64 - muls r0, r7 - ldr r3, _0806FC44 - adds r0, r3 - ldr r1, [r1] - adds r5, r1, r0 - movs r4, 0 - movs r0, 0x3 - strh r0, [r5] - strb r4, [r5, 0x2] - ldrh r0, [r6, 0xE] - strb r0, [r5, 0x3] - movs r0, 0x1 - strh r0, [r5, 0x8] - adds r0, r5, 0 - adds r0, 0x4C - movs r1, 0 - bl SetDefaultIQSkills - ldr r0, [r6, 0x44] - str r0, [r5, 0x54] - adds r0, r5, 0 - adds r0, 0x50 - strb r4, [r0] - ldr r0, _0806FC48 - strh r0, [r5, 0xA] - strh r7, [r5, 0xC] - ldrh r0, [r6] - strh r0, [r5, 0xE] - ldr r0, _0806FC4C - ldr r0, [r0] - ldr r4, _0806FC50 - adds r0, r4 - ldr r0, [r0] - str r0, [r5, 0x4] - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x10] - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x12] - ldr r0, [r6, 0x14] - str r0, [r5, 0x44] - ldr r0, [r6, 0x18] - str r0, [r5, 0x48] - movs r2, 0 - adds r7, r6, 0 - adds r7, 0x20 - adds r4, r6, 0 - adds r4, 0xA - adds r3, r6, 0 - adds r3, 0xC - adds r1, r5, 0 - adds r1, 0x14 -_0806FBC4: - adds r0, r4, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, r2 - ldrb r0, [r0] - strb r0, [r1, 0x2] - adds r1, 0x1 - adds r2, 0x1 - cmp r2, 0x1 - ble _0806FBC4 - ldr r0, [r6, 0x10] - str r0, [r5, 0x18] - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r7, 0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r0, [r6, 0x1C] - str r0, [r5, 0x40] - adds r4, r5, 0 - adds r4, 0x58 - movs r1, 0 - ldrsh r0, [r6, r1] - bl GetMonSpecies - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0xA - bl BoundedCopyStringtoBuffer - bl sub_8097848 - movs r2, 0 - ldrsh r0, [r6, r2] - movs r3, 0x4 - ldrsh r1, [r6, r3] - movs r3, 0x6 - ldrsh r2, [r6, r3] - add r3, sp, 0xC - str r3, [sp] - movs r3, 0 - str r3, [sp, 0x4] - movs r3, 0x1 - str r3, [sp, 0x8] - adds r3, r5, 0 - bl sub_806B8CC - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _0806FC58 - ldr r0, _0806FC54 - ldr r1, [r0] - mov r0, r8 - bl SendMessage - strh r7, [r5] - b _0806FCEE - .align 2, 0 -_0806FC40: .4byte gRecruitedPokemonRef -_0806FC44: .4byte 0x00008df8 -_0806FC48: .4byte 0x0000ffff -_0806FC4C: .4byte gDungeonGlobalData -_0806FC50: .4byte 0x00000644 -_0806FC54: .4byte gUnknown_80FA058 -_0806FC58: - bl sub_8083D88 - movs r0, 0xA0 - movs r1, 0x46 - bl sub_803E708 - ldr r0, _0806FC78 - ldr r1, [r0] - movs r0, 0 - movs r2, 0x1 - bl sub_8052B8C - cmp r0, 0x1 - bne _0806FC94 - b _0806FC88 - .align 2, 0 -_0806FC78: .4byte gUnknown_80FA090 -_0806FC7C: - ldr r0, _0806FD00 - ldr r1, [r0] - movs r0, 0 - movs r2, 0x1 - bl PrintFieldMessage -_0806FC88: - adds r0, r4, 0 - bl sub_805FBE8 - lsls r0, 24 - cmp r0, 0 - beq _0806FC7C -_0806FC94: - ldr r4, _0806FD04 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl sub_808D9DC - ldr r0, _0806FD08 - ldr r1, [r0] - mov r0, r8 - bl SendMessage - mov r0, r10 - cmp r0, 0 - beq _0806FCD8 - bl sub_8085480 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - bl SetMessageArgument - ldr r0, _0806FD0C - mov r1, r9 - bl sub_8092558 - movs r0, 0xCE - bl PlaySound - ldr r0, _0806FD10 - ldr r1, [r0] - movs r0, 0 - movs r2, 0x1 - bl PrintFieldMessage -_0806FCD8: - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x97 - bne _0806FCEE - ldr r2, _0806FD14 - ldr r1, [r2] - movs r0, 0x1 - strb r0, [r1, 0x4] - ldr r1, [r2] - movs r0, 0x3 - strb r0, [r1, 0x11] -_0806FCEE: - movs r0, 0x1 -_0806FCF0: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0806FD00: .4byte gUnknown_80FA0C8 -_0806FD04: .4byte gAvailablePokemonNames -_0806FD08: .4byte gUnknown_80FA0F0 -_0806FD0C: .4byte gUnknown_202E628 -_0806FD10: .4byte gUnknown_80FA120 -_0806FD14: .4byte gDungeonGlobalData - thumb_func_end sub_806FA5C - - thumb_func_start sub_806FD18 -sub_806FD18: - push {r4-r7,lr} - ldr r4, [r0, 0x70] - movs r6, 0x1 - negs r6, r6 - movs r1, 0x4 - ldrsh r0, [r4, r1] - bl GetPokemonSize - lsls r0, 24 - lsrs r5, r0, 24 - movs r2, 0x2 - ldrsh r0, [r4, r2] - bl sub_806F9BC - lsls r0, 24 - cmp r0, 0 - beq _0806FDEC - bl sub_806F910 - movs r4, 0 - movs r0, 0x6 - subs r3, r0, r5 - ldr r7, _0806FD48 - b _0806FD4E - .align 2, 0 -_0806FD48: .4byte gUnknown_202EE70 -_0806FD4C: - adds r4, 0x1 -_0806FD4E: - cmp r4, r3 - bgt _0806FD70 - movs r2, 0 - cmp r2, r5 - bge _0806FD6A - adds r1, r4, r7 - b _0806FD64 -_0806FD5C: - adds r1, 0x1 - adds r2, 0x1 - cmp r2, r5 - bge _0806FD6A -_0806FD64: - ldrb r0, [r1] - cmp r0, 0 - beq _0806FD5C -_0806FD6A: - cmp r2, r5 - bne _0806FD4C - adds r6, r4, 0 -_0806FD70: - movs r0, 0x1 - negs r0, r0 - cmp r6, r0 - beq _0806FDEC - movs r4, 0 - ldr r3, _0806FDB4 - ldr r0, [r3] - ldr r2, _0806FDB8 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806FDAC - adds r6, r3, 0 - adds r5, r2, 0 - movs r2, 0 - movs r3, 0x1 -_0806FD94: - adds r2, 0x64 - adds r4, 0x1 - cmp r4, 0x3 - bgt _0806FDAC - ldr r0, [r6] - adds r0, r2, r0 - adds r0, r5 - ldrb r1, [r0] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0806FD94 -_0806FDAC: - cmp r4, 0x4 - beq _0806FDEC - movs r4, 0 - b _0806FDBE - .align 2, 0 -_0806FDB4: .4byte gRecruitedPokemonRef -_0806FDB8: .4byte 0x00008df8 -_0806FDBC: - adds r4, 0x1 -_0806FDBE: - cmp r4, 0x3 - bgt _0806FDDA - ldr r0, _0806FDE4 - ldr r0, [r0] - lsls r1, r4, 2 - ldr r2, _0806FDE8 - adds r0, r2 - adds r0, r1 - ldr r0, [r0] - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _0806FDBC -_0806FDDA: - cmp r4, 0x4 - beq _0806FDEC - movs r0, 0x1 - b _0806FDEE - .align 2, 0 -_0806FDE4: .4byte gDungeonGlobalData -_0806FDE8: .4byte 0x0001357c -_0806FDEC: - movs r0, 0 -_0806FDEE: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_806FD18 - - thumb_func_start sub_806FDF4 -sub_806FDF4: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x60 - str r0, [sp, 0x58] - mov r10, r1 - str r2, [sp, 0x5C] - movs r0, 0 - mov r9, r0 - str r0, [r2] - add r0, sp, 0xC - bl sub_8069D4C - movs r6, 0 - ldr r3, _0806FE50 - ldr r0, [r3] - ldr r2, _0806FE54 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806FE46 - adds r5, r3, 0 - adds r4, r2, 0 - movs r2, 0 - movs r3, 0x1 -_0806FE2E: - adds r2, 0x64 - adds r6, 0x1 - cmp r6, 0x3 - bgt _0806FE46 - ldr r0, [r5] - adds r0, r2, r0 - adds r0, r4 - ldrb r1, [r0] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0806FE2E -_0806FE46: - cmp r6, 0x4 - bne _0806FE58 - movs r0, 0 - b _0806FFF8 - .align 2, 0 -_0806FE50: .4byte gRecruitedPokemonRef -_0806FE54: .4byte 0x00008df8 -_0806FE58: - add r0, sp, 0xC - movs r1, 0 - ldrsh r0, [r0, r1] - bl GetFriendArea - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _0806FF74 - movs r0, 0x64 - muls r0, r6 - ldr r2, _0806FF78 - adds r0, r2 - ldr r1, [r1] - adds r5, r1, r0 - movs r4, 0 - movs r0, 0x3 - strh r0, [r5] - strb r4, [r5, 0x2] - add r0, sp, 0xC - ldrh r0, [r0, 0xE] - strb r0, [r5, 0x3] - movs r0, 0x1 - strh r0, [r5, 0x8] - adds r0, r5, 0 - adds r0, 0x4C - movs r1, 0 - bl SetDefaultIQSkills - ldr r0, [sp, 0x50] - str r0, [r5, 0x54] - adds r0, r5, 0 - adds r0, 0x50 - strb r4, [r0] - ldr r0, _0806FF7C - strh r0, [r5, 0xA] - strh r6, [r5, 0xC] - add r0, sp, 0xC - ldrh r0, [r0] - strh r0, [r5, 0xE] - ldr r0, _0806FF80 - ldr r0, [r0] - ldr r3, _0806FF84 - adds r0, r3 - ldr r0, [r0] - str r0, [r5, 0x4] - add r0, sp, 0xC - ldrh r0, [r0, 0x8] - strh r0, [r5, 0x10] - add r0, sp, 0xC - ldrh r0, [r0, 0x8] - strh r0, [r5, 0x12] - ldr r0, [sp, 0x20] - str r0, [r5, 0x44] - ldr r0, [sp, 0x24] - str r0, [r5, 0x48] - movs r2, 0 - add r6, sp, 0x2C - add r4, sp, 0x54 - mov r8, r4 - mov r4, sp - adds r4, 0x16 - add r3, sp, 0x18 - adds r1, r5, 0 - adds r1, 0x14 -_0806FED8: - adds r0, r4, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, r2 - ldrb r0, [r0] - strb r0, [r1, 0x2] - adds r1, 0x1 - adds r2, 0x1 - cmp r2, 0x1 - ble _0806FED8 - ldr r0, [sp, 0x1C] - str r0, [r5, 0x18] - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r6, 0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r0, [sp, 0x28] - str r0, [r5, 0x40] - adds r4, r5, 0 - adds r4, 0x58 - add r0, sp, 0xC - movs r1, 0 - ldrsh r0, [r0, r1] - bl GetMonSpecies - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0xA - bl BoundedCopyStringtoBuffer - adds r0, r7, 0 - bl GetFriendAreaStatus - lsls r0, 24 - cmp r0, 0 - bne _0806FF34 - adds r0, r7, 0 - bl UnlockFriendArea - movs r2, 0x1 - mov r9, r2 -_0806FF34: - bl sub_8097848 - movs r1, 0xFA - lsls r1, 1 - mov r0, r10 - ldr r2, [sp, 0x58] - bl sub_8068FE0 - add r0, sp, 0xC - movs r3, 0 - ldrsh r0, [r0, r3] - add r1, sp, 0xC - movs r2, 0x4 - ldrsh r1, [r1, r2] - add r2, sp, 0xC - movs r3, 0x6 - ldrsh r2, [r2, r3] - mov r3, r8 - str r3, [sp] - movs r3, 0 - str r3, [sp, 0x4] - str r3, [sp, 0x8] - adds r3, r5, 0 - bl sub_806B8CC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0806FF88 - strh r0, [r5] - b _0806FFF6 - .align 2, 0 -_0806FF74: .4byte gRecruitedPokemonRef -_0806FF78: .4byte 0x00008df8 -_0806FF7C: .4byte 0x0000ffff -_0806FF80: .4byte gDungeonGlobalData -_0806FF84: .4byte 0x00000644 -_0806FF88: - ldr r0, _0806FF9C - ldr r1, [r0] - movs r0, 0 - movs r2, 0x1 - bl sub_8052B8C - cmp r0, 0x1 - bne _0806FFB8 - b _0806FFAC - .align 2, 0 -_0806FF9C: .4byte gUnknown_80FA090 -_0806FFA0: - ldr r0, _08070008 - ldr r1, [r0] - movs r0, 0 - movs r2, 0x1 - bl PrintFieldMessage -_0806FFAC: - adds r0, r4, 0 - bl sub_805FBE8 - lsls r0, 24 - cmp r0, 0 - beq _0806FFA0 -_0806FFB8: - mov r4, r9 - cmp r4, 0 - beq _0806FFE6 - bl sub_8085480 - adds r1, r0, 0 - ldr r0, _0807000C - movs r2, 0 - bl SetMessageArgument - ldr r0, _08070010 - adds r1, r7, 0 - bl sub_8092558 - movs r0, 0xCE - bl PlaySound - ldr r0, _08070014 - ldr r1, [r0] - movs r0, 0 - movs r2, 0x1 - bl PrintFieldMessage -_0806FFE6: - ldr r0, _08070018 - adds r1, r5, 0 - movs r2, 0 - bl sub_808D9DC - ldr r0, [sp, 0x54] - ldr r1, [sp, 0x5C] - str r0, [r1] -_0806FFF6: - movs r0, 0x1 -_0806FFF8: - add sp, 0x60 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08070008: .4byte gUnknown_80FA0C8 -_0807000C: .4byte gAvailablePokemonNames -_08070010: .4byte gUnknown_202E628 -_08070014: .4byte gUnknown_80FA120 -_08070018: .4byte gUnknown_202E088 - thumb_func_end sub_806FDF4 - - .align 2,0 |