diff options
author | JaceCearK1 <JaceCearK1@users.noreply.github.com> | 2017-07-01 21:04:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-01 21:04:18 +0200 |
commit | 0dd804a99e5455a0eac8ff6ed87d9de16c7380b7 (patch) | |
tree | 7b3567978b63ee6548a7b945e075ea8ba37bef51 /asm/pokemon_summary_screen.s | |
parent | f1344efd2aff92292f58f7323bd9297a38fe9b02 (diff) | |
parent | 8d82578d3a101b06f9d2ced31738021007c4e533 (diff) |
Merge pull request #1 from pret/master
Update fork to match main fork.
Diffstat (limited to 'asm/pokemon_summary_screen.s')
-rw-r--r-- | asm/pokemon_summary_screen.s | 8776 |
1 files changed, 8776 insertions, 0 deletions
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s new file mode 100644 index 000000000..fea619ac8 --- /dev/null +++ b/asm/pokemon_summary_screen.s @@ -0,0 +1,8776 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_809D844 +sub_809D844: @ 809D844 + push {lr} + bl RunTasks + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade + pop {r0} + bx r0 + thumb_func_end sub_809D844 + + thumb_func_start sub_809D85C +sub_809D85C: @ 809D85C + push {lr} + ldr r1, _0809D8A0 @ =REG_BG1HOFS + ldr r0, _0809D8A4 @ =gUnknown_030042C0 + ldrh r0, [r0] + strh r0, [r1] + adds r1, 0x2 + ldr r0, _0809D8A8 @ =gUnknown_030041B4 + ldrh r0, [r0] + strh r0, [r1] + adds r1, 0x2 + ldr r0, _0809D8AC @ =gUnknown_03004288 + ldrh r0, [r0] + strh r0, [r1] + adds r1, 0x2 + ldr r0, _0809D8B0 @ =gUnknown_03004280 + ldrh r0, [r0] + strh r0, [r1] + adds r1, 0x2 + ldr r0, _0809D8B4 @ =gUnknown_030041B0 + ldrh r0, [r0] + strh r0, [r1] + adds r1, 0x2 + ldr r0, _0809D8B8 @ =gUnknown_030041B8 + ldrh r0, [r0] + strh r0, [r1] + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + .align 2, 0 +_0809D8A0: .4byte REG_BG1HOFS +_0809D8A4: .4byte gUnknown_030042C0 +_0809D8A8: .4byte gUnknown_030041B4 +_0809D8AC: .4byte gUnknown_03004288 +_0809D8B0: .4byte gUnknown_03004280 +_0809D8B4: .4byte gUnknown_030041B0 +_0809D8B8: .4byte gUnknown_030041B8 + thumb_func_end sub_809D85C + + thumb_func_start ShowPokemonSummaryScreen +ShowPokemonSummaryScreen: @ 809D8BC + push {r4-r7,lr} + ldr r4, [sp, 0x14] + lsls r4, 24 + lsrs r7, r4, 24 + ldr r6, _0809D904 @ =gPaletteFade + ldrb r4, [r6, 0x8] + movs r5, 0x80 + orrs r4, r5 + strb r4, [r6, 0x8] + ldr r5, _0809D908 @ =0x02018000 + str r0, [r5] + movs r4, 0 + strb r7, [r5, 0x8] + strb r1, [r5, 0x9] + strb r2, [r5, 0xA] + str r3, [r5, 0x4] + adds r0, r5, 0 + adds r0, 0x74 + strb r4, [r0] + adds r1, r5, 0 + adds r1, 0x79 + movs r0, 0x4 + strb r0, [r1] + adds r0, r5, 0 + adds r0, 0x7C + movs r1, 0 + strh r4, [r0] + adds r0, 0x4 + strb r1, [r0] + subs r0, 0x5 + strb r1, [r0] + cmp r7, 0x4 + bls _0809D90C + movs r0, 0x1 + strb r0, [r5, 0xE] + b _0809D90E + .align 2, 0 +_0809D904: .4byte gPaletteFade +_0809D908: .4byte 0x02018000 +_0809D90C: + strb r1, [r5, 0xE] +_0809D90E: + cmp r7, 0x6 + bhi _0809D9D6 + lsls r0, r7, 2 + ldr r1, _0809D91C @ =_0809D920 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0809D91C: .4byte _0809D920 + .align 2, 0 +_0809D920: + .4byte _0809D93C + .4byte _0809D9BC + .4byte _0809D992 + .4byte _0809D9D6 + .4byte _0809D966 + .4byte _0809D93C + .4byte _0809D9BC +_0809D93C: + adds r0, r5, 0 + adds r0, 0x75 + movs r1, 0 + strb r1, [r0] + adds r2, r5, 0 + adds r2, 0x76 + movs r0, 0x3 + strb r0, [r2] + adds r0, r5, 0 + adds r0, 0x77 + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] + adds r1, r5, 0 + adds r1, 0x7E + movs r0, 0x1 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x7 + strb r0, [r1] + b _0809D9D6 +_0809D966: + adds r0, r5, 0 + adds r0, 0x75 + movs r1, 0 + strb r1, [r0] + adds r2, r5, 0 + adds r2, 0x76 + movs r0, 0x3 + strb r0, [r2] + adds r0, r5, 0 + adds r0, 0x77 + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] + adds r0, 0x6 + movs r1, 0x1 + strb r1, [r0] + adds r2, 0x9 + movs r0, 0x7 + strb r0, [r2] + adds r0, r5, 0 + adds r0, 0x7B + b _0809D9D4 +_0809D992: + adds r1, r5, 0 + adds r1, 0x75 + movs r3, 0 + movs r0, 0x2 + strb r0, [r1] + adds r0, r5, 0 + adds r0, 0x76 + movs r2, 0x3 + strb r2, [r0] + adds r0, 0x1 + movs r1, 0x1 + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] + adds r0, 0x6 + strb r2, [r0] + adds r0, 0x1 + strb r3, [r0] + subs r0, 0x6 + strb r3, [r0] + b _0809D9D6 +_0809D9BC: + adds r1, r5, 0 + adds r1, 0x75 + movs r0, 0x2 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x3 + strb r0, [r1] + adds r0, r5, 0 + adds r0, 0x77 + movs r1, 0x1 + strb r1, [r0] + adds r0, 0x1 +_0809D9D4: + strb r1, [r0] +_0809D9D6: + adds r0, r5, 0 + adds r0, 0x75 + ldrb r0, [r0] + strb r0, [r5, 0xB] + ldr r0, _0809D9EC @ =sub_809DE44 + bl SetMainCallback2 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0809D9EC: .4byte sub_809DE44 + thumb_func_end ShowPokemonSummaryScreen + + thumb_func_start sub_809D9F0 +sub_809D9F0: @ 809D9F0 + push {r4,r5,lr} + sub sp, 0x4 + ldr r5, [sp, 0x10] + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r2, 24 + lsls r5, 16 + lsrs r5, 16 + movs r4, 0x2 + str r4, [sp] + bl ShowPokemonSummaryScreen + ldr r0, _0809DA18 @ =0x02018000 + adds r0, 0x7C + strh r5, [r0] + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0809DA18: .4byte 0x02018000 + thumb_func_end sub_809D9F0 + + thumb_func_start sub_809DA1C +sub_809DA1C: @ 809DA1C + push {lr} + ldr r0, _0809DA30 @ =0x02018000 + ldrb r0, [r0, 0x8] + cmp r0, 0x6 + bhi _0809DA78 + lsls r0, 2 + ldr r1, _0809DA34 @ =_0809DA38 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0809DA30: .4byte 0x02018000 +_0809DA34: .4byte _0809DA38 + .align 2, 0 +_0809DA38: + .4byte _0809DA54 + .4byte _0809DA6C + .4byte _0809DA64 + .4byte _0809DA64 + .4byte _0809DA5C + .4byte _0809DA54 + .4byte _0809DA6C +_0809DA54: + ldr r0, _0809DA58 @ =SummaryScreenHandleKeyInput + b _0809DA6E + .align 2, 0 +_0809DA58: .4byte SummaryScreenHandleKeyInput +_0809DA5C: + ldr r0, _0809DA60 @ =SummaryScreenHandleKeyInput + b _0809DA6E + .align 2, 0 +_0809DA60: .4byte SummaryScreenHandleKeyInput +_0809DA64: + ldr r0, _0809DA68 @ =sub_809EB40 + b _0809DA6E + .align 2, 0 +_0809DA68: .4byte sub_809EB40 +_0809DA6C: + ldr r0, _0809DA7C @ =sub_809E3FC +_0809DA6E: + movs r1, 0 + bl CreateTask + ldr r1, _0809DA80 @ =0x02018000 + strb r0, [r1, 0xF] +_0809DA78: + pop {r0} + bx r0 + .align 2, 0 +_0809DA7C: .4byte sub_809E3FC +_0809DA80: .4byte 0x02018000 + thumb_func_end sub_809DA1C + + thumb_func_start sub_809DA84 +sub_809DA84: @ 809DA84 + push {r4-r7,lr} + sub sp, 0x8 + ldr r1, _0809DAA4 @ =gMain + ldr r2, _0809DAA8 @ =0x0000043c + adds r0, r1, r2 + ldrb r0, [r0] + mov r12, r1 + cmp r0, 0x16 + bls _0809DA98 + b _0809DE00 +_0809DA98: + lsls r0, 2 + ldr r1, _0809DAAC @ =_0809DAB0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0809DAA4: .4byte gMain +_0809DAA8: .4byte 0x0000043c +_0809DAAC: .4byte _0809DAB0 + .align 2, 0 +_0809DAB0: + .4byte _0809DB0C + .4byte _0809DB18 + .4byte _0809DB2C + .4byte _0809DB32 + .4byte _0809DB80 + .4byte _0809DB94 + .4byte _0809DBA0 + .4byte _0809DBBC + .4byte _0809DBC8 + .4byte _0809DBDC + .4byte _0809DC2C + .4byte _0809DC48 + .4byte _0809DC5C + .4byte _0809DC90 + .4byte _0809DCB0 + .4byte _0809DCC4 + .4byte _0809DCF8 + .4byte _0809DD02 + .4byte _0809DD30 + .4byte _0809DD3C + .4byte _0809DD68 + .4byte _0809DD98 + .4byte _0809DDE0 +_0809DB0C: + movs r0, 0 + bl SetVBlankCallback + bl ResetSpriteData + b _0809DDE8 +_0809DB18: + bl remove_some_task + ldr r1, _0809DB24 @ =gMain + ldr r2, _0809DB28 @ =0x0000043c + adds r1, r2 + b _0809DDEE + .align 2, 0 +_0809DB24: .4byte gMain +_0809DB28: .4byte 0x0000043c +_0809DB2C: + bl FreeAllSpritePalettes + b _0809DDE8 +_0809DB32: + movs r2, 0xC0 + lsls r2, 19 + movs r3, 0x80 + lsls r3, 9 + movs r5, 0 + ldr r1, _0809DB74 @ =0x040000d4 + movs r4, 0x80 + lsls r4, 5 + ldr r6, _0809DB78 @ =0x85000400 + movs r7, 0x85 + lsls r7, 24 +_0809DB48: + str r5, [sp, 0x4] + add r0, sp, 0x4 + str r0, [r1] + str r2, [r1, 0x4] + str r6, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r2, r4 + subs r3, r4 + cmp r3, r4 + bhi _0809DB48 + str r5, [sp, 0x4] + add r0, sp, 0x4 + str r0, [r1] + str r2, [r1, 0x4] + lsrs r0, r3, 2 + orrs r0, r7 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + ldr r1, _0809DB7C @ =0x0000043c + add r1, r12 + b _0809DDEE + .align 2, 0 +_0809DB74: .4byte 0x040000d4 +_0809DB78: .4byte 0x85000400 +_0809DB7C: .4byte 0x0000043c +_0809DB80: + bl sub_809DE64 + ldr r1, _0809DB8C @ =gMain + ldr r2, _0809DB90 @ =0x0000043c + adds r1, r2 + b _0809DDEE + .align 2, 0 +_0809DB8C: .4byte gMain +_0809DB90: .4byte 0x0000043c +_0809DB94: + ldr r0, _0809DB9C @ =gWindowConfig_81E6E6C + bl SetUpWindowConfig + b _0809DDE8 + .align 2, 0 +_0809DB9C: .4byte gWindowConfig_81E6E6C +_0809DBA0: + ldr r0, _0809DBB0 @ =gWindowConfig_81E6E6C + bl MultistepInitMenuWindowBegin + ldr r1, _0809DBB4 @ =gMain + ldr r2, _0809DBB8 @ =0x0000043c + adds r1, r2 + b _0809DDEE + .align 2, 0 +_0809DBB0: .4byte gWindowConfig_81E6E6C +_0809DBB4: .4byte gMain +_0809DBB8: .4byte 0x0000043c +_0809DBBC: + bl MultistepInitMenuWindowContinue + cmp r0, 0 + bne _0809DBC6 + b _0809DE38 +_0809DBC6: + b _0809DDE8 +_0809DBC8: + bl sub_809DA1C + ldr r1, _0809DBD4 @ =gMain + ldr r2, _0809DBD8 @ =0x0000043c + adds r1, r2 + b _0809DDEE + .align 2, 0 +_0809DBD4: .4byte gMain +_0809DBD8: .4byte 0x0000043c +_0809DBDC: + ldr r1, _0809DC08 @ =gSummaryScreenTextTiles + ldr r2, _0809DC0C @ =0x0600d000 + ldr r0, _0809DC10 @ =0x040000d4 + str r1, [r0] + str r2, [r0, 0x4] + ldr r1, _0809DC14 @ =0x800000a0 + str r1, [r0, 0x8] + ldr r1, [r0, 0x8] + ldr r1, _0809DC18 @ =gSummaryScreenButtonTiles + ldr r2, _0809DC1C @ =0x0600d140 + str r1, [r0] + str r2, [r0, 0x4] + ldr r1, _0809DC20 @ =0x80000080 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + ldr r0, _0809DC24 @ =0x02018000 + adds r0, 0x74 + movs r1, 0 + strb r1, [r0] + ldr r1, _0809DC28 @ =0x0000043c + add r1, r12 + b _0809DDEE + .align 2, 0 +_0809DC08: .4byte gSummaryScreenTextTiles +_0809DC0C: .4byte 0x0600d000 +_0809DC10: .4byte 0x040000d4 +_0809DC14: .4byte 0x800000a0 +_0809DC18: .4byte gSummaryScreenButtonTiles +_0809DC1C: .4byte 0x0600d140 +_0809DC20: .4byte 0x80000080 +_0809DC24: .4byte 0x02018000 +_0809DC28: .4byte 0x0000043c +_0809DC2C: + bl sub_809DF00 + lsls r0, 24 + cmp r0, 0 + bne _0809DC38 + b _0809DE38 +_0809DC38: + ldr r0, _0809DC44 @ =0x02018000 + adds r0, 0x74 + movs r1, 0 + strb r1, [r0] + b _0809DDE8 + .align 2, 0 +_0809DC44: .4byte 0x02018000 +_0809DC48: + bl sub_80A18C4 + ldr r1, _0809DC54 @ =gMain + ldr r2, _0809DC58 @ =0x0000043c + adds r1, r2 + b _0809DDEE + .align 2, 0 +_0809DC54: .4byte gMain +_0809DC58: .4byte 0x0000043c +_0809DC5C: + ldr r4, _0809DC78 @ =0x02018010 + adds r0, r4, 0 + bl sub_809F678 + adds r0, r4, 0 + bl GetMonStatusAndPokerus + lsls r0, 24 + cmp r0, 0 + bne _0809DC7C + movs r0, 0 + bl sub_80A12D0 + b _0809DC82 + .align 2, 0 +_0809DC78: .4byte 0x02018010 +_0809DC7C: + movs r0, 0xA + bl sub_80A12D0 +_0809DC82: + ldr r0, _0809DC8C @ =0x02018010 + bl sub_80A0EA4 + b _0809DDE8 + .align 2, 0 +_0809DC8C: .4byte 0x02018010 +_0809DC90: + bl sub_80A1950 + ldr r0, _0809DCA4 @ =0x02018010 + bl sub_80A1D84 + ldr r1, _0809DCA8 @ =gMain + ldr r2, _0809DCAC @ =0x0000043c + adds r1, r2 + b _0809DDEE + .align 2, 0 +_0809DCA4: .4byte 0x02018010 +_0809DCA8: .4byte gMain +_0809DCAC: .4byte 0x0000043c +_0809DCB0: + ldr r4, _0809DCC0 @ =0x02018010 + adds r0, r4, 0 + bl sub_80A1DE8 + adds r4, 0x64 + movs r0, 0 + strb r0, [r4] + b _0809DDE8 + .align 2, 0 +_0809DCC0: .4byte 0x02018010 +_0809DCC4: + ldr r4, _0809DCEC @ =0x02018010 + adds r5, r4, 0 + adds r5, 0x64 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_809F6B4 + subs r4, 0x10 + strb r0, [r4, 0xC] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + bne _0809DCE0 + b _0809DE38 +_0809DCE0: + movs r0, 0 + strb r0, [r5] + ldr r1, _0809DCF0 @ =gMain + ldr r2, _0809DCF4 @ =0x0000043c + adds r1, r2 + b _0809DDEE + .align 2, 0 +_0809DCEC: .4byte 0x02018010 +_0809DCF0: .4byte gMain +_0809DCF4: .4byte 0x0000043c +_0809DCF8: + bl sub_809E044 + bl sub_80A0EE8 + b _0809DDE8 +_0809DD02: + ldr r1, _0809DD20 @ =0x02018000 + ldrb r0, [r1, 0xB] + cmp r0, 0x1 + bhi _0809DD18 + ldr r0, _0809DD24 @ =gUnknown_083C1580 + ldrb r1, [r1, 0xB] + lsls r1, 2 + adds r1, r0 + ldr r0, [r1] + bl _call_via_r0 +_0809DD18: + ldr r1, _0809DD28 @ =gMain + ldr r2, _0809DD2C @ =0x0000043c + adds r1, r2 + b _0809DDEE + .align 2, 0 +_0809DD20: .4byte 0x02018000 +_0809DD24: .4byte gUnknown_083C1580 +_0809DD28: .4byte gMain +_0809DD2C: .4byte 0x0000043c +_0809DD30: + ldr r0, _0809DD38 @ =0x02018010 + bl sub_809FAC8 + b _0809DDE8 + .align 2, 0 +_0809DD38: .4byte 0x02018010 +_0809DD3C: + ldr r2, _0809DD58 @ =gUnknown_083C1598 + ldr r0, _0809DD5C @ =0x02018000 + ldrb r1, [r0, 0xB] + lsls r1, 2 + adds r1, r2 + adds r0, 0x10 + ldr r1, [r1] + bl _call_via_r1 + ldr r1, _0809DD60 @ =gMain + ldr r2, _0809DD64 @ =0x0000043c + adds r1, r2 + b _0809DDEE + .align 2, 0 +_0809DD58: .4byte gUnknown_083C1598 +_0809DD5C: .4byte 0x02018000 +_0809DD60: .4byte gMain +_0809DD64: .4byte 0x0000043c +_0809DD68: + ldr r0, _0809DD84 @ =0x02018010 + movs r1, 0x2D + bl GetMonData + adds r1, r0, 0 + cmp r1, 0 + beq _0809DD8C + ldr r1, _0809DD88 @ =gUnknown_030041B0 + movs r2, 0x80 + lsls r2, 1 + adds r0, r2, 0 + strh r0, [r1] + b _0809DDE8 + .align 2, 0 +_0809DD84: .4byte 0x02018010 +_0809DD88: .4byte gUnknown_030041B0 +_0809DD8C: + ldr r0, _0809DD94 @ =gUnknown_030041B0 + strh r1, [r0] + b _0809DDE8 + .align 2, 0 +_0809DD94: .4byte gUnknown_030041B0 +_0809DD98: + bl sub_809EBC4 + ldr r0, _0809DDB8 @ =0x02018000 + adds r0, 0x79 + ldrb r0, [r0] + cmp r0, 0 + beq _0809DDBC + movs r0, 0 + movs r1, 0 + bl sub_80A1488 + movs r0, 0 + movs r1, 0 + bl sub_80A1654 + b _0809DDCC + .align 2, 0 +_0809DDB8: .4byte 0x02018000 +_0809DDBC: + movs r0, 0xA + movs r1, 0 + bl sub_80A1488 + movs r0, 0xA + movs r1, 0 + bl sub_80A1654 +_0809DDCC: + bl sub_80A0DD0 + ldr r1, _0809DDD8 @ =gMain + ldr r2, _0809DDDC @ =0x0000043c + adds r1, r2 + b _0809DDEE + .align 2, 0 +_0809DDD8: .4byte gMain +_0809DDDC: .4byte 0x0000043c +_0809DDE0: + bl sub_8055870 + cmp r0, 0x1 + beq _0809DE38 +_0809DDE8: + ldr r1, _0809DDF8 @ =gMain + ldr r0, _0809DDFC @ =0x0000043c + adds r1, r0 +_0809DDEE: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _0809DE38 + .align 2, 0 +_0809DDF8: .4byte gMain +_0809DDFC: .4byte 0x0000043c +_0809DE00: + ldr r0, _0809DE2C @ =sub_809D85C + bl SetVBlankCallback + movs r0, 0x1 + str r0, [sp] + movs r0, 0xFF + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginHardwarePaletteFade + ldr r0, _0809DE30 @ =sub_809D844 + bl SetMainCallback2 + ldr r2, _0809DE34 @ =gPaletteFade + ldrb r1, [r2, 0x8] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2, 0x8] + movs r0, 0x1 + b _0809DE3A + .align 2, 0 +_0809DE2C: .4byte sub_809D85C +_0809DE30: .4byte sub_809D844 +_0809DE34: .4byte gPaletteFade +_0809DE38: + movs r0, 0 +_0809DE3A: + add sp, 0x8 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_809DA84 + + thumb_func_start sub_809DE44 +sub_809DE44: @ 809DE44 + push {lr} +_0809DE46: + bl sub_809DA84 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0809DE5E + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0809DE46 +_0809DE5E: + pop {r0} + bx r0 + thumb_func_end sub_809DE44 + + thumb_func_start sub_809DE64 +sub_809DE64: @ 809DE64 + ldr r1, _0809DED0 @ =REG_BG0CNT + ldr r2, _0809DED4 @ =0x00001e08 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + ldr r2, _0809DED8 @ =0x00004801 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + ldr r2, _0809DEDC @ =0x00004a02 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + ldr r2, _0809DEE0 @ =0x00005c03 + adds r0, r2, 0 + strh r0, [r1] + ldr r1, _0809DEE4 @ =gUnknown_030042C0 + movs r0, 0 + strh r0, [r1] + ldr r1, _0809DEE8 @ =gUnknown_030041B4 + strh r0, [r1] + ldr r1, _0809DEEC @ =gUnknown_03004288 + strh r0, [r1] + ldr r1, _0809DEF0 @ =gUnknown_03004280 + strh r0, [r1] + ldr r1, _0809DEF4 @ =gUnknown_030041B0 + strh r0, [r1] + ldr r1, _0809DEF8 @ =gUnknown_030041B8 + strh r0, [r1] + ldr r1, _0809DEFC @ =REG_BG0HOFS + strh r0, [r1] + adds r1, 0x2 + strh r0, [r1] + adds r1, 0x2 + strh r0, [r1] + adds r1, 0x2 + strh r0, [r1] + adds r1, 0x2 + strh r0, [r1] + adds r1, 0x2 + strh r0, [r1] + adds r1, 0x2 + strh r0, [r1] + adds r1, 0x2 + strh r0, [r1] + adds r1, 0x32 + strh r0, [r1] + subs r1, 0x50 + movs r2, 0xFA + lsls r2, 5 + adds r0, r2, 0 + strh r0, [r1] + bx lr + .align 2, 0 +_0809DED0: .4byte REG_BG0CNT +_0809DED4: .4byte 0x00001e08 +_0809DED8: .4byte 0x00004801 +_0809DEDC: .4byte 0x00004a02 +_0809DEE0: .4byte 0x00005c03 +_0809DEE4: .4byte gUnknown_030042C0 +_0809DEE8: .4byte gUnknown_030041B4 +_0809DEEC: .4byte gUnknown_03004288 +_0809DEF0: .4byte gUnknown_03004280 +_0809DEF4: .4byte gUnknown_030041B0 +_0809DEF8: .4byte gUnknown_030041B8 +_0809DEFC: .4byte REG_BG0HOFS + thumb_func_end sub_809DE64 + + thumb_func_start sub_809DF00 +sub_809DF00: @ 809DF00 + push {lr} + ldr r0, _0809DF18 @ =0x02018000 + adds r0, 0x74 + ldrb r0, [r0] + cmp r0, 0xC + bls _0809DF0E + b _0809E030 +_0809DF0E: + lsls r0, 2 + ldr r1, _0809DF1C @ =_0809DF20 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0809DF18: .4byte 0x02018000 +_0809DF1C: .4byte _0809DF20 + .align 2, 0 +_0809DF20: + .4byte _0809DF54 + .4byte _0809DF64 + .4byte _0809DF74 + .4byte _0809DF88 + .4byte _0809DF9C + .4byte _0809DFAC + .4byte _0809DFC4 + .4byte _0809DFD4 + .4byte _0809DFE0 + .4byte _0809DFEC + .4byte _0809DFF8 + .4byte _0809E004 + .4byte _0809E010 +_0809DF54: + ldr r0, _0809DF60 @ =gStatusScreen_Gfx + movs r1, 0xC0 + lsls r1, 19 + bl LZDecompressVram + b _0809E030 + .align 2, 0 +_0809DF60: .4byte gStatusScreen_Gfx +_0809DF64: + ldr r0, _0809DF6C @ =gUnknown_08E73508 + ldr r1, _0809DF70 @ =0x0600e000 + b _0809DFB0 + .align 2, 0 +_0809DF6C: .4byte gUnknown_08E73508 +_0809DF70: .4byte 0x0600e000 +_0809DF74: + ldr r0, _0809DF80 @ =gUnknown_08E74E88 + ldr r1, _0809DF84 @ =0x0600e800 + bl LZDecompressVram + b _0809E030 + .align 2, 0 +_0809DF80: .4byte gUnknown_08E74E88 +_0809DF84: .4byte 0x0600e800 +_0809DF88: + ldr r0, _0809DF94 @ =gStatusScreen_Tilemap + ldr r1, _0809DF98 @ =0x06004800 + bl LZDecompressVram + b _0809E030 + .align 2, 0 +_0809DF94: .4byte gStatusScreen_Tilemap +_0809DF98: .4byte 0x06004800 +_0809DF9C: + ldr r0, _0809DFA4 @ =gUnknown_08E73E88 + ldr r1, _0809DFA8 @ =0x06005800 + b _0809DFB0 + .align 2, 0 +_0809DFA4: .4byte gUnknown_08E73E88 +_0809DFA8: .4byte 0x06005800 +_0809DFAC: + ldr r0, _0809DFBC @ =gUnknown_08E74688 + ldr r1, _0809DFC0 @ =0x06006800 +_0809DFB0: + movs r2, 0x80 + lsls r2, 3 + bl CpuSet + b _0809E030 + .align 2, 0 +_0809DFBC: .4byte gUnknown_08E74688 +_0809DFC0: .4byte 0x06006800 +_0809DFC4: + ldr r0, _0809DFD0 @ =gStatusScreen_Pal + movs r1, 0 + movs r2, 0xA0 + bl LoadCompressedPalette + b _0809E030 + .align 2, 0 +_0809DFD0: .4byte gStatusScreen_Pal +_0809DFD4: + ldr r0, _0809DFDC @ =gUnknown_083C11B8 + bl LoadCompressedObjectPic + b _0809E030 + .align 2, 0 +_0809DFDC: .4byte gUnknown_083C11B8 +_0809DFE0: + ldr r0, _0809DFE8 @ =gUnknown_083C1270 + bl LoadCompressedObjectPic + b _0809E030 + .align 2, 0 +_0809DFE8: .4byte gUnknown_083C1270 +_0809DFEC: + ldr r0, _0809DFF4 @ =gUnknown_083C12F4 + bl LoadCompressedObjectPic + b _0809E030 + .align 2, 0 +_0809DFF4: .4byte gUnknown_083C12F4 +_0809DFF8: + ldr r0, _0809E000 @ =gUnknown_083C12FC + bl LoadCompressedObjectPalette + b _0809E030 + .align 2, 0 +_0809E000: .4byte gUnknown_083C12FC +_0809E004: + ldr r0, _0809E00C @ =gUnknown_083C1278 + bl LoadCompressedObjectPalette + b _0809E030 + .align 2, 0 +_0809E00C: .4byte gUnknown_083C1278 +_0809E010: + ldr r0, _0809E028 @ =gMoveTypes_Pal + movs r1, 0xE8 + lsls r1, 1 + movs r2, 0x60 + bl LoadCompressedPalette + ldr r0, _0809E02C @ =0x02018000 + adds r0, 0x74 + movs r1, 0 + strb r1, [r0] + movs r0, 0x1 + b _0809E03C + .align 2, 0 +_0809E028: .4byte gMoveTypes_Pal +_0809E02C: .4byte 0x02018000 +_0809E030: + ldr r1, _0809E040 @ =0x02018000 + adds r1, 0x74 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + movs r0, 0 +_0809E03C: + pop {r1} + bx r1 + .align 2, 0 +_0809E040: .4byte 0x02018000 + thumb_func_end sub_809DF00 + + thumb_func_start sub_809E044 +sub_809E044: @ 809E044 + push {r4,r5,lr} + ldr r4, _0809E0F4 @ =gUnknownPalette_81E6692+0x1C + adds r0, r4, 0 + movs r1, 0x81 + movs r2, 0x2 + bl LoadPalette + adds r5, r4, 0x2 + adds r0, r5, 0 + movs r1, 0x88 + movs r2, 0x2 + bl LoadPalette + adds r0, r4, 0 + movs r1, 0x8F + movs r2, 0x2 + bl LoadPalette + adds r0, r5, 0 + movs r1, 0x89 + movs r2, 0x2 + bl LoadPalette + subs r5, 0x12 + adds r0, r5, 0 + movs r1, 0xD1 + movs r2, 0x4 + bl LoadPalette + adds r0, r4, 0 + subs r0, 0x8 + movs r1, 0xD3 + movs r2, 0x4 + bl LoadPalette + adds r0, r4, 0 + movs r1, 0xD5 + movs r2, 0x4 + bl LoadPalette + adds r0, r5, 0 + movs r1, 0xD7 + movs r2, 0x4 + bl LoadPalette + adds r0, r4, 0 + subs r0, 0x14 + movs r1, 0xD9 + movs r2, 0x4 + bl LoadPalette + adds r0, r4, 0 + subs r0, 0xC + movs r1, 0xDB + movs r2, 0x4 + bl LoadPalette + adds r0, r4, 0 + subs r0, 0x18 + movs r1, 0xDD + movs r2, 0x2 + bl LoadPalette + subs r5, 0x6 + adds r0, r5, 0 + movs r1, 0xDE + movs r2, 0x2 + bl LoadPalette + subs r4, 0x1A + adds r0, r4, 0 + movs r1, 0xDF + movs r2, 0x2 + bl LoadPalette + ldr r0, _0809E0F8 @ =gFontDefaultPalette + movs r1, 0xF0 + movs r2, 0x20 + bl LoadPalette + adds r0, r5, 0 + movs r1, 0xF9 + movs r2, 0x2 + bl LoadPalette + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0809E0F4: .4byte gUnknownPalette_81E6692+0x1C +_0809E0F8: .4byte gFontDefaultPalette + thumb_func_end sub_809E044 + + thumb_func_start SummaryScreenExit +SummaryScreenExit: @ 809E0FC + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _0809E134 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0809E138 @ =sub_809E13C + str r1, [r0] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0809E134: .4byte gTasks +_0809E138: .4byte sub_809E13C + thumb_func_end SummaryScreenExit + + thumb_func_start sub_809E13C +sub_809E13C: @ 809E13C + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + bl sub_8055870 + cmp r0, 0x1 + beq _0809E182 + ldr r0, _0809E188 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0809E182 + ldr r1, _0809E18C @ =gUnknown_020384F0 + ldr r4, _0809E190 @ =0x02018000 + ldrb r0, [r4, 0x9] + strb r0, [r1] + bl ResetSpriteData + bl FreeAllSpritePalettes + bl StopCryAndClearCrySongs + ldr r0, _0809E194 @ =gMPlay_BGM + ldr r1, _0809E198 @ =0x0000ffff + movs r2, 0x80 + lsls r2, 1 + bl m4aMPlayVolumeControl + ldr r0, [r4, 0x4] + bl SetMainCallback2 + adds r0, r5, 0 + bl DestroyTask +_0809E182: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0809E188: .4byte gPaletteFade +_0809E18C: .4byte gUnknown_020384F0 +_0809E190: .4byte 0x02018000 +_0809E194: .4byte gMPlay_BGM +_0809E198: .4byte 0x0000ffff + thumb_func_end sub_809E13C + + thumb_func_start SummaryScreenHandleKeyInput +SummaryScreenHandleKeyInput: @ 809E19C + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0809E1C8 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r2, 0x80 + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + bne _0809E25A + ldr r5, _0809E1CC @ =gMain + ldrh r1, [r5, 0x2E] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0809E1D0 + movs r1, 0x1 + negs r1, r1 + adds r0, r4, 0 + bl SummaryScreenHandleUpDownInput + b _0809E25A + .align 2, 0 +_0809E1C8: .4byte gPaletteFade +_0809E1CC: .4byte gMain +_0809E1D0: + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + beq _0809E1E2 + adds r0, r4, 0 + movs r1, 0x1 + bl SummaryScreenHandleUpDownInput + b _0809E25A +_0809E1E2: + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + bne _0809E1F6 + bl sub_80F9284 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0809E202 +_0809E1F6: + movs r1, 0x1 + negs r1, r1 + adds r0, r4, 0 + bl SummaryScreenHandleLeftRightInput + b _0809E25A +_0809E202: + ldrh r1, [r5, 0x2E] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + bne _0809E218 + bl sub_80F9284 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bne _0809E222 +_0809E218: + adds r0, r4, 0 + movs r1, 0x1 + bl SummaryScreenHandleLeftRightInput + b _0809E25A +_0809E222: + ldrh r1, [r5, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0809E24C + ldr r5, _0809E248 @ =0x02018000 + ldrb r0, [r5, 0xB] + cmp r0, 0x1 + bls _0809E23A + adds r0, r4, 0 + bl SummaryScreenHandleAButton +_0809E23A: + ldrb r0, [r5, 0xB] + cmp r0, 0 + bne _0809E25A + adds r0, r4, 0 + bl SummaryScreenExit + b _0809E25A + .align 2, 0 +_0809E248: .4byte 0x02018000 +_0809E24C: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0809E25A + adds r0, r4, 0 + bl SummaryScreenExit +_0809E25A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end SummaryScreenHandleKeyInput + + thumb_func_start sub_809E260 +sub_809E260: @ 809E260 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0809E29C @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r2, 0x80 + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + beq _0809E276 + b _0809E3EE +_0809E276: + ldr r5, _0809E2A0 @ =gMain + ldrh r1, [r5, 0x2E] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0809E2AC + ldr r1, _0809E2A4 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0x4 + strh r1, [r0, 0x8] + subs r1, 0x5 + ldr r2, _0809E2A8 @ =0x02018079 + adds r0, r4, 0 + bl sub_809E8F0 + b _0809E3EE + .align 2, 0 +_0809E29C: .4byte gPaletteFade +_0809E2A0: .4byte gMain +_0809E2A4: .4byte gTasks +_0809E2A8: .4byte 0x02018079 +_0809E2AC: + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + beq _0809E2D8 + ldr r1, _0809E2D0 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0x4 + strh r1, [r0, 0x8] + ldr r2, _0809E2D4 @ =0x02018079 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_809E8F0 + b _0809E3EE + .align 2, 0 +_0809E2D0: .4byte gTasks +_0809E2D4: .4byte 0x02018079 +_0809E2D8: + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + bne _0809E2EC + bl sub_80F9284 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0809E324 +_0809E2EC: + ldr r1, _0809E320 @ =0x02018000 + ldrb r0, [r1, 0xB] + cmp r0, 0x3 + bne _0809E314 + adds r0, r1, 0 + adds r0, 0x79 + ldrb r0, [r0] + cmp r0, 0x4 + bne _0809E308 + adds r0, r1, 0 + adds r0, 0x7C + ldrh r0, [r0] + cmp r0, 0 + beq _0809E314 +_0809E308: + movs r0, 0 + movs r1, 0xE + movs r2, 0x9 + movs r3, 0x12 + bl MenuZeroFillWindowRect +_0809E314: + movs r1, 0x1 + negs r1, r1 + adds r0, r4, 0 + bl SummaryScreenHandleLeftRightInput + b _0809E3EE + .align 2, 0 +_0809E320: .4byte 0x02018000 +_0809E324: + ldrh r1, [r5, 0x2E] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + bne _0809E33A + bl sub_80F9284 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bne _0809E37C +_0809E33A: + ldr r1, _0809E378 @ =0x02018000 + adds r2, r1, 0 + adds r2, 0x76 + ldrb r0, [r1, 0xB] + ldrb r2, [r2] + cmp r0, r2 + beq _0809E3EE + cmp r0, 0x2 + bne _0809E36C + adds r0, r1, 0 + adds r0, 0x79 + ldrb r0, [r0] + cmp r0, 0x4 + bne _0809E360 + adds r0, r1, 0 + adds r0, 0x7C + ldrh r0, [r0] + cmp r0, 0 + beq _0809E36C +_0809E360: + movs r0, 0 + movs r1, 0xE + movs r2, 0x9 + movs r3, 0x12 + bl MenuZeroFillWindowRect +_0809E36C: + adds r0, r4, 0 + movs r1, 0x1 + bl SummaryScreenHandleLeftRightInput + b _0809E3EE + .align 2, 0 +_0809E378: .4byte 0x02018000 +_0809E37C: + ldrh r1, [r5, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0809E3D4 + adds r0, r4, 0 + bl sub_809F7D0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0809E3A0 + ldr r0, _0809E3BC @ =0x02018000 + adds r5, r0, 0 + adds r5, 0x79 + ldrb r0, [r5] + cmp r0, 0x4 + bne _0809E3C4 +_0809E3A0: + ldr r0, _0809E3BC @ =0x02018000 + adds r1, r0, 0 + adds r1, 0x79 + ldrb r1, [r1] + adds r0, 0x7A + strb r1, [r0] + ldr r1, _0809E3C0 @ =gSpecialVar_0x8005 + ldrb r0, [r0] + strh r0, [r1] + adds r0, r4, 0 + bl SummaryScreenExit + b _0809E3EE + .align 2, 0 +_0809E3BC: .4byte 0x02018000 +_0809E3C0: .4byte gSpecialVar_0x8005 +_0809E3C4: + movs r0, 0x20 + bl PlaySE + ldrb r1, [r5] + adds r0, r4, 0 + bl sub_809F9D0 + b _0809E3EE +_0809E3D4: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0809E3EE + ldr r0, _0809E3F4 @ =0x02018000 + adds r0, 0x7A + movs r1, 0x4 + strb r1, [r0] + ldr r0, _0809E3F8 @ =gSpecialVar_0x8005 + strh r1, [r0] + adds r0, r4, 0 + bl SummaryScreenExit +_0809E3EE: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0809E3F4: .4byte 0x02018000 +_0809E3F8: .4byte gSpecialVar_0x8005 + thumb_func_end sub_809E260 + + thumb_func_start sub_809E3FC +sub_809E3FC: @ 809E3FC + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r7, r5, 0 + ldr r0, _0809E438 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r2, 0x80 + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + bne _0809E502 + ldr r0, _0809E43C @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0809E448 + ldr r1, _0809E440 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r1, 0x4 + strh r1, [r0, 0x8] + subs r1, 0x5 + ldr r2, _0809E444 @ =0x02018079 + adds r0, r5, 0 + bl sub_809E8F0 + b _0809E502 + .align 2, 0 +_0809E438: .4byte gPaletteFade +_0809E43C: .4byte gMain +_0809E440: .4byte gTasks +_0809E444: .4byte 0x02018079 +_0809E448: + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + beq _0809E474 + ldr r1, _0809E46C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r1, 0x4 + strh r1, [r0, 0x8] + ldr r2, _0809E470 @ =0x02018079 + adds r0, r5, 0 + movs r1, 0x1 + bl sub_809E8F0 + b _0809E502 + .align 2, 0 +_0809E46C: .4byte gTasks +_0809E470: .4byte 0x02018079 +_0809E474: + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0809E4EE + ldr r4, _0809E4A8 @ =0x02018000 + adds r6, r4, 0 + adds r6, 0x79 + ldrb r0, [r6] + cmp r0, 0x4 + beq _0809E4E0 + adds r0, r4, 0 + adds r0, 0x7B + ldrb r0, [r0] + cmp r0, 0 + bne _0809E4E0 + adds r0, r4, 0 + adds r0, 0x10 + bl sub_809E508 + lsls r0, 24 + cmp r0, 0 + bne _0809E4AC + movs r0, 0x20 + bl PlaySE + b _0809E502 + .align 2, 0 +_0809E4A8: .4byte 0x02018000 +_0809E4AC: + movs r0, 0x5 + bl PlaySE + ldrb r1, [r6] + adds r0, r4, 0 + adds r0, 0x7A + strb r1, [r0] + movs r0, 0x1 + bl sub_80A1B40 + movs r0, 0x13 + bl sub_80A1A30 + ldr r1, _0809E4D8 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _0809E4DC @ =sub_809E534 + str r1, [r0] + b _0809E502 + .align 2, 0 +_0809E4D8: .4byte gTasks +_0809E4DC: .4byte sub_809E534 +_0809E4E0: + movs r0, 0x5 + bl PlaySE + adds r0, r7, 0 + bl sub_809EAC8 + b _0809E502 +_0809E4EE: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0809E502 + movs r0, 0x5 + bl PlaySE + adds r0, r7, 0 + bl sub_809EAC8 +_0809E502: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_809E3FC + + thumb_func_start sub_809E508 +sub_809E508: @ 809E508 + push {r4,r5,lr} + adds r5, r0, 0 + movs r4, 0x1 +_0809E50E: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_809F760 + lsls r0, 16 + cmp r0, 0 + beq _0809E520 + movs r0, 0x1 + b _0809E52C +_0809E520: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x3 + bls _0809E50E + movs r0, 0 +_0809E52C: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_809E508 + + thumb_func_start sub_809E534 +sub_809E534: @ 809E534 + push {lr} + lsls r0, 24 + lsrs r3, r0, 24 + adds r2, r3, 0 + ldr r0, _0809E564 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0809E570 + ldr r1, _0809E568 @ =gTasks + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r0, r1 + movs r1, 0x3 + strh r1, [r0, 0x8] + subs r1, 0x4 + ldr r2, _0809E56C @ =0x0201807a + adds r0, r3, 0 + bl sub_809E8F0 + b _0809E5C0 + .align 2, 0 +_0809E564: .4byte gMain +_0809E568: .4byte gTasks +_0809E56C: .4byte 0x0201807a +_0809E570: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _0809E59C + ldr r1, _0809E594 @ =gTasks + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r0, r1 + movs r1, 0x3 + strh r1, [r0, 0x8] + ldr r2, _0809E598 @ =0x0201807a + adds r0, r3, 0 + movs r1, 0x1 + bl sub_809E8F0 + b _0809E5C0 + .align 2, 0 +_0809E594: .4byte gTasks +_0809E598: .4byte 0x0201807a +_0809E59C: + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0809E5AE + adds r0, r3, 0 + movs r1, 0x1 + bl sub_809E83C + b _0809E5C0 +_0809E5AE: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0809E5C0 + movs r1, 0x1 + negs r1, r1 + adds r0, r2, 0 + bl sub_809E83C +_0809E5C0: + pop {r0} + bx r0 + thumb_func_end sub_809E534 + + thumb_func_start sub_809E5C4 +sub_809E5C4: @ 809E5C4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x20 + ldr r1, _0809E6D0 @ =0x02018000 + ldr r5, [r1] + ldrb r2, [r1, 0x9] + movs r0, 0x64 + muls r0, r2 + adds r5, r0 + adds r0, r1, 0 + adds r0, 0x79 + ldrb r0, [r0] + mov r8, r0 + adds r1, 0x7A + ldrb r6, [r1] + adds r0, 0xD + str r0, [sp, 0x8] + adds r0, r5, 0 + ldr r1, [sp, 0x8] + bl GetMonData + mov r1, sp + adds r1, 0x2 + str r1, [sp, 0x14] + strh r0, [r1] + adds r2, r6, 0 + adds r2, 0xD + str r2, [sp, 0xC] + adds r0, r5, 0 + adds r1, r2, 0 + bl GetMonData + mov r1, sp + strh r0, [r1] + mov r3, r8 + adds r3, 0x11 + str r3, [sp, 0x10] + adds r0, r5, 0 + adds r1, r3, 0 + bl GetMonData + mov r7, sp + adds r7, 0x5 + str r7, [sp, 0x18] + strb r0, [r7] + adds r0, r6, 0 + adds r0, 0x11 + str r0, [sp, 0x1C] + adds r0, r5, 0 + ldr r1, [sp, 0x1C] + bl GetMonData + add r1, sp, 0x4 + mov r10, r1 + strb r0, [r1] + adds r0, r5, 0 + movs r1, 0x15 + bl GetMonData + mov r4, sp + adds r4, 0x6 + strb r0, [r4] + ldr r1, _0809E6D4 @ =gUnknown_08208238 + mov r2, r8 + adds r0, r2, r1 + ldrb r0, [r0] + mov r9, r0 + ldrb r0, [r4] + adds r2, r0, 0 + mov r3, r9 + ands r2, r3 + mov r7, r8 + lsls r7, 1 + mov r8, r7 + asrs r2, r7 + lsls r2, 24 + lsrs r2, 24 + adds r1, r6, r1 + ldrb r3, [r1] + adds r1, r0, 0 + ands r1, r3 + lsls r6, 1 + asrs r1, r6 + lsls r1, 24 + lsrs r1, 24 + mov r7, r9 + bics r0, r7 + strb r0, [r4] + ldrb r0, [r4] + bics r0, r3 + strb r0, [r4] + lsls r2, r6 + mov r0, r8 + lsls r1, r0 + adds r2, r1 + ldrb r0, [r4] + orrs r0, r2 + strb r0, [r4] + adds r0, r5, 0 + ldr r1, [sp, 0x8] + mov r2, sp + bl SetMonData + adds r0, r5, 0 + ldr r1, [sp, 0xC] + ldr r2, [sp, 0x14] + bl SetMonData + adds r0, r5, 0 + ldr r1, [sp, 0x10] + mov r2, r10 + bl SetMonData + adds r0, r5, 0 + ldr r1, [sp, 0x1C] + ldr r2, [sp, 0x18] + bl SetMonData + adds r0, r5, 0 + movs r1, 0x15 + adds r2, r4, 0 + bl SetMonData + add sp, 0x20 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0809E6D0: .4byte 0x02018000 +_0809E6D4: .4byte gUnknown_08208238 + thumb_func_end sub_809E5C4 + + thumb_func_start sub_809E6D8 +sub_809E6D8: @ 809E6D8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x20 + ldr r2, _0809E7E8 @ =0x02018000 + ldr r5, [r2] + ldrb r1, [r2, 0x9] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r5, r0 + adds r0, r2, 0 + adds r0, 0x79 + ldrb r0, [r0] + mov r8, r0 + adds r2, 0x7A + ldrb r6, [r2] + adds r0, 0xD + str r0, [sp, 0x8] + adds r0, r5, 0 + ldr r1, [sp, 0x8] + bl GetBoxMonData + mov r1, sp + adds r1, 0x2 + str r1, [sp, 0x14] + strh r0, [r1] + adds r2, r6, 0 + adds r2, 0xD + str r2, [sp, 0xC] + adds r0, r5, 0 + adds r1, r2, 0 + bl GetBoxMonData + mov r1, sp + strh r0, [r1] + mov r3, r8 + adds r3, 0x11 + str r3, [sp, 0x10] + adds r0, r5, 0 + adds r1, r3, 0 + bl GetBoxMonData + mov r7, sp + adds r7, 0x5 + str r7, [sp, 0x18] + strb r0, [r7] + adds r0, r6, 0 + adds r0, 0x11 + str r0, [sp, 0x1C] + adds r0, r5, 0 + ldr r1, [sp, 0x1C] + bl GetBoxMonData + add r1, sp, 0x4 + mov r10, r1 + strb r0, [r1] + adds r0, r5, 0 + movs r1, 0x15 + bl GetBoxMonData + mov r4, sp + adds r4, 0x6 + strb r0, [r4] + ldr r1, _0809E7EC @ =gUnknown_08208238 + mov r2, r8 + adds r0, r2, r1 + ldrb r0, [r0] + mov r9, r0 + ldrb r0, [r4] + adds r2, r0, 0 + mov r3, r9 + ands r2, r3 + mov r7, r8 + lsls r7, 1 + mov r8, r7 + asrs r2, r7 + lsls r2, 24 + lsrs r2, 24 + adds r1, r6, r1 + ldrb r3, [r1] + adds r1, r0, 0 + ands r1, r3 + lsls r6, 1 + asrs r1, r6 + lsls r1, 24 + lsrs r1, 24 + mov r7, r9 + bics r0, r7 + strb r0, [r4] + ldrb r0, [r4] + bics r0, r3 + strb r0, [r4] + lsls r2, r6 + mov r0, r8 + lsls r1, r0 + adds r2, r1 + ldrb r0, [r4] + orrs r0, r2 + strb r0, [r4] + adds r0, r5, 0 + ldr r1, [sp, 0x8] + mov r2, sp + bl SetBoxMonData + adds r0, r5, 0 + ldr r1, [sp, 0xC] + ldr r2, [sp, 0x14] + bl SetBoxMonData + adds r0, r5, 0 + ldr r1, [sp, 0x10] + mov r2, r10 + bl SetBoxMonData + adds r0, r5, 0 + ldr r1, [sp, 0x1C] + ldr r2, [sp, 0x18] + bl SetBoxMonData + adds r0, r5, 0 + movs r1, 0x15 + adds r2, r4, 0 + bl SetBoxMonData + add sp, 0x20 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0809E7E8: .4byte 0x02018000 +_0809E7EC: .4byte gUnknown_08208238 + thumb_func_end sub_809E6D8 + + thumb_func_start sub_809E7F0 +sub_809E7F0: @ 809E7F0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_809F5F8 + lsls r0, 24 + cmp r0, 0 + beq _0809E828 + ldr r1, _0809E830 @ =0x02018000 + adds r2, r1, 0 + adds r2, 0x74 + movs r0, 0 + strb r0, [r2] + adds r0, r1, 0 + adds r0, 0x10 + adds r1, 0x79 + bl sub_80A0428 + ldr r1, _0809E834 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0809E838 @ =sub_809E3FC + str r1, [r0] + adds r0, r4, 0 + bl sub_80A2078 +_0809E828: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0809E830: .4byte 0x02018000 +_0809E834: .4byte gTasks +_0809E838: .4byte sub_809E3FC + thumb_func_end sub_809E7F0 + + thumb_func_start sub_809E83C +sub_809E83C: @ 809E83C + push {r4,r5,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r5, r0, 24 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x5 + bl PlaySE + movs r0, 0x13 + bl sub_80A1B1C + movs r0, 0 + bl sub_80A1B40 + cmp r4, 0x1 + bne _0809E8C0 + ldr r1, _0809E87C @ =0x02018000 + adds r0, r1, 0 + adds r0, 0x79 + adds r2, r1, 0 + adds r2, 0x7A + ldrb r0, [r0] + ldrb r2, [r2] + cmp r0, r2 + beq _0809E8CA + ldrb r0, [r1, 0xE] + cmp r0, 0 + bne _0809E880 + bl sub_809E5C4 + b _0809E884 + .align 2, 0 +_0809E87C: .4byte 0x02018000 +_0809E880: + bl sub_809E6D8 +_0809E884: + ldr r4, _0809E8B4 @ =0x02018000 + adds r0, r4, 0 + adds r0, 0x7A + ldrb r0, [r0] + adds r1, r4, 0 + adds r1, 0x79 + strb r0, [r1] + adds r0, r4, 0 + adds r0, 0x10 + bl sub_809F678 + adds r1, r4, 0 + adds r1, 0x74 + movs r0, 0x1 + strb r0, [r1] + ldr r1, _0809E8B8 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _0809E8BC @ =sub_809E7F0 + str r1, [r0] + b _0809E8DE + .align 2, 0 +_0809E8B4: .4byte 0x02018000 +_0809E8B8: .4byte gTasks +_0809E8BC: .4byte sub_809E7F0 +_0809E8C0: + ldr r0, _0809E8E4 @ =0x02018010 + adds r1, r0, 0 + adds r1, 0x69 + bl sub_80A0428 +_0809E8CA: + ldr r0, _0809E8E8 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldr r0, _0809E8EC @ =sub_809E3FC + str r0, [r1] + adds r0, r5, 0 + bl sub_80A2078 +_0809E8DE: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0809E8E4: .4byte 0x02018010 +_0809E8E8: .4byte gTasks +_0809E8EC: .4byte sub_809E3FC + thumb_func_end sub_809E83C + + thumb_func_start sub_809E8F0 +sub_809E8F0: @ 809E8F0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + adds r4, r1, 0 + mov r9, r2 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + str r0, [sp] + movs r0, 0x5 + bl PlaySE + mov r1, r9 + ldrb r6, [r1] + ldr r1, _0809E944 @ =gTasks + mov r2, r8 + lsls r0, r2, 2 + add r0, r8 + lsls r0, 3 + adds r0, r1 + ldrb r0, [r0, 0x8] + movs r2, 0 + lsls r4, 24 + asrs r4, 24 + mov r10, r4 + lsls r7, r0, 24 +_0809E930: + lsls r0, r6, 24 + asrs r0, 24 + add r0, r10 + lsls r0, 24 + lsrs r6, r0, 24 + asrs r1, r0, 24 + cmp r0, r7 + ble _0809E948 + movs r6, 0 + b _0809E94E + .align 2, 0 +_0809E944: .4byte gTasks +_0809E948: + cmp r1, 0 + bge _0809E94E + lsrs r6, r7, 24 +_0809E94E: + lsls r4, r6, 24 + lsrs r1, r4, 24 + ldr r0, _0809EA10 @ =0x02018010 + str r2, [sp, 0x4] + bl sub_809F760 + lsls r0, 16 + adds r5, r4, 0 + ldr r2, [sp, 0x4] + cmp r0, 0 + bne _0809E97A + asrs r0, r5, 24 + cmp r0, 0x4 + beq _0809E97A + lsls r0, r2, 24 + movs r3, 0x80 + lsls r3, 17 + adds r0, r3 + lsrs r2, r0, 24 + asrs r0, 24 + cmp r0, 0x3 + ble _0809E930 +_0809E97A: + mov r1, r9 + ldrb r0, [r1] + cmp r0, 0x4 + bne _0809E996 + asrs r0, r5, 24 + cmp r0, 0x4 + beq _0809E996 + ldr r0, _0809EA14 @ =0x02018000 + adds r0, 0x7C + ldrh r0, [r0] + mov r2, r8 + lsls r7, r2, 2 + cmp r0, 0 + beq _0809E9AC +_0809E996: + ldr r2, _0809EA18 @ =gTasks + mov r3, r8 + lsls r1, r3, 2 + adds r0, r1, r3 + lsls r0, 3 + adds r0, r2 + movs r2, 0x22 + ldrsh r0, [r0, r2] + adds r7, r1, 0 + cmp r0, 0x1 + bne _0809E9D0 +_0809E9AC: + lsrs r4, r5, 24 + movs r0, 0x2 + adds r1, r4, 0 + bl sub_80A1488 + movs r0, 0x2 + adds r1, r4, 0 + bl sub_80A1654 + ldr r1, _0809EA18 @ =gTasks + mov r3, r8 + adds r0, r7, r3 + lsls r0, 3 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x22] + movs r0, 0 + str r0, [sp] +_0809E9D0: + mov r1, r9 + ldrb r0, [r1] + cmp r0, 0x4 + beq _0809E9FE + asrs r0, r5, 24 + cmp r0, 0x4 + bne _0809E9FE + ldr r0, _0809EA14 @ =0x02018000 + adds r0, 0x7C + ldrh r0, [r0] + cmp r0, 0 + bne _0809E9FE + movs r4, 0x2 + negs r4, r4 + lsrs r5, 24 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_80A1488 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_80A1654 +_0809E9FE: + mov r2, r9 + strb r6, [r2] + ldr r0, _0809EA1C @ =0x02018079 + cmp r9, r0 + bne _0809EA20 + movs r0, 0 + bl sub_80A1C30 + b _0809EA26 + .align 2, 0 +_0809EA10: .4byte 0x02018010 +_0809EA14: .4byte 0x02018000 +_0809EA18: .4byte gTasks +_0809EA1C: .4byte 0x02018079 +_0809EA20: + movs r0, 0x1 + bl sub_80A1C30 +_0809EA26: + ldr r3, [sp] + cmp r3, 0 + beq _0809EA34 + ldr r0, _0809EA4C @ =0x02018010 + mov r1, r9 + bl sub_80A0428 +_0809EA34: + mov r0, r8 + bl sub_80A2078 + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0809EA4C: .4byte 0x02018010 + thumb_func_end sub_809E8F0 + + thumb_func_start SummaryScreenHandleAButton +SummaryScreenHandleAButton: @ 809EA50 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r0, 0x5 + bl PlaySE + ldr r4, _0809EABC @ =0x02018000 + adds r1, r4, 0 + adds r1, 0x79 + movs r0, 0 + strb r0, [r1] + movs r0, 0x2 + movs r1, 0 + bl sub_80A1488 + movs r0, 0x2 + movs r1, 0 + bl sub_80A1654 + adds r0, r4, 0 + adds r0, 0x7B + ldrb r0, [r0] + cmp r0, 0 + bne _0809EA8C + adds r1, r4, 0 + adds r1, 0x7F + movs r0, 0x5 + strb r0, [r1] + bl sub_80A0DD0 +_0809EA8C: + movs r0, 0 + bl sub_80A16CC + adds r0, r4, 0 + adds r0, 0x10 + bl sub_80A029C + movs r0, 0x9 + bl sub_80A1A30 + ldr r1, _0809EAC0 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _0809EAC4 @ =sub_809E3FC + str r1, [r0] + adds r0, r5, 0 + bl sub_80A2078 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0809EABC: .4byte 0x02018000 +_0809EAC0: .4byte gTasks +_0809EAC4: .4byte sub_809E3FC + thumb_func_end SummaryScreenHandleAButton + + thumb_func_start sub_809EAC8 +sub_809EAC8: @ 809EAC8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r6, _0809EB34 @ =0x02018000 + adds r0, r6, 0 + adds r0, 0x79 + ldrb r0, [r0] + cmp r0, 0x4 + beq _0809EAEE + movs r4, 0x2 + negs r4, r4 + adds r0, r4, 0 + movs r1, 0 + bl sub_80A1488 + adds r0, r4, 0 + movs r1, 0 + bl sub_80A1654 +_0809EAEE: + movs r0, 0x9 + bl sub_80A1B1C + movs r0, 0x1 + bl sub_80A16CC + movs r0, 0xF + movs r1, 0xC + movs r2, 0x1C + movs r3, 0xD + bl MenuZeroFillWindowRect + movs r0, 0xB + movs r1, 0xF + movs r2, 0x1C + movs r3, 0x12 + bl MenuZeroFillWindowRect + adds r1, r6, 0 + adds r1, 0x7F + movs r0, 0x6 + strb r0, [r1] + bl sub_80A0DD0 + ldr r1, _0809EB38 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _0809EB3C @ =SummaryScreenHandleKeyInput + str r1, [r0] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0809EB34: .4byte 0x02018000 +_0809EB38: .4byte gTasks +_0809EB3C: .4byte SummaryScreenHandleKeyInput + thumb_func_end sub_809EAC8 + + thumb_func_start sub_809EB40 +sub_809EB40: @ 809EB40 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _0809EB6C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _0809EB74 + cmp r0, 0x5 + bne _0809EBA4 + movs r0, 0x9 + bl sub_80A1A30 + movs r0, 0 + strh r0, [r4, 0x8] + ldr r0, _0809EB70 @ =sub_809E260 + str r0, [r4] + b _0809EBB4 + .align 2, 0 +_0809EB6C: .4byte gTasks +_0809EB70: .4byte sub_809E260 +_0809EB74: + ldr r4, _0809EBBC @ =0x02018000 + adds r6, r4, 0 + adds r6, 0x79 + strb r0, [r6] + adds r0, r4, 0 + adds r0, 0x7C + ldrh r0, [r0] + cmp r0, 0 + beq _0809EB96 + movs r0, 0xA + movs r1, 0 + bl sub_80A1488 + ldrb r1, [r6] + movs r0, 0xA + bl sub_80A1654 +_0809EB96: + movs r0, 0 + bl sub_80A16CC + adds r0, r4, 0 + adds r0, 0x10 + bl sub_80A029C +_0809EBA4: + ldr r0, _0809EBC0 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] +_0809EBB4: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0809EBBC: .4byte 0x02018000 +_0809EBC0: .4byte gTasks + thumb_func_end sub_809EB40 + + thumb_func_start sub_809EBC4 +sub_809EBC4: @ 809EBC4 + push {r4,lr} + ldr r4, _0809EC28 @ =0x02018000 + ldrb r0, [r4, 0xB] + cmp r0, 0 + beq _0809EC22 + bl sub_80A0EE8 + ldr r0, _0809EC2C @ =gUnknown_030042C0 + movs r2, 0x80 + lsls r2, 1 + adds r1, r2, 0 + strh r1, [r0] + ldrb r0, [r4, 0xB] + cmp r0, 0x1 + bne _0809EBF4 + ldr r2, _0809EC30 @ =REG_BG1CNT + ldrh r1, [r2] + ldr r0, _0809EC34 @ =0x0000e0ff + ands r0, r1 + movs r3, 0x80 + lsls r3, 4 + adds r1, r3, 0 + adds r0, r1 + strh r0, [r2] +_0809EBF4: + ldrb r3, [r4, 0xB] + cmp r3, 0x2 + bne _0809EC0C + ldr r2, _0809EC30 @ =REG_BG1CNT + ldrh r1, [r2] + ldr r0, _0809EC34 @ =0x0000e0ff + ands r0, r1 + movs r4, 0xA0 + lsls r4, 4 + adds r1, r4, 0 + adds r0, r1 + strh r0, [r2] +_0809EC0C: + cmp r3, 0x3 + bne _0809EC22 + ldr r2, _0809EC30 @ =REG_BG1CNT + ldrh r1, [r2] + ldr r0, _0809EC34 @ =0x0000e0ff + ands r0, r1 + movs r3, 0xC0 + lsls r3, 4 + adds r1, r3, 0 + adds r0, r1 + strh r0, [r2] +_0809EC22: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0809EC28: .4byte 0x02018000 +_0809EC2C: .4byte gUnknown_030042C0 +_0809EC30: .4byte REG_BG1CNT +_0809EC34: .4byte 0x0000e0ff + thumb_func_end sub_809EBC4 + + thumb_func_start sub_809EC38 +sub_809EC38: @ 809EC38 + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _0809EC5C @ =gTasks + 0x8 + adds r6, r0, r1 + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0x5 + bls _0809EC52 + b _0809EE64 +_0809EC52: + lsls r0, 2 + ldr r1, _0809EC60 @ =_0809EC64 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0809EC5C: .4byte gTasks + 0x8 +_0809EC60: .4byte _0809EC64 + .align 2, 0 +_0809EC64: + .4byte _0809EC7C + .4byte _0809ED14 + .4byte _0809ED98 + .4byte _0809EE12 + .4byte _0809EE1C + .4byte _0809EE4C +_0809EC7C: + ldr r1, _0809ECB8 @ =0x02018000 + adds r0, r1, 0 + adds r0, 0x80 + ldrb r0, [r0] + cmp r0, 0 + bne _0809ECC8 + ldrb r3, [r1, 0xB] + cmp r3, 0 + beq _0809EC98 + ldr r1, _0809ECBC @ =gUnknown_03004288 + movs r2, 0x80 + lsls r2, 1 + adds r0, r2, 0 + strh r0, [r1] +_0809EC98: + cmp r3, 0x1 + bne _0809ECAE + ldr r2, _0809ECC0 @ =REG_BG2CNT + ldrh r1, [r2] + ldr r0, _0809ECC4 @ =0x0000e0ff + ands r0, r1 + movs r4, 0x80 + lsls r4, 4 + adds r1, r4, 0 + adds r0, r1 + strh r0, [r2] +_0809ECAE: + cmp r3, 0x2 + beq _0809ECB4 + b _0809EE3A +_0809ECB4: + ldr r2, _0809ECC0 @ =REG_BG2CNT + b _0809ECF6 + .align 2, 0 +_0809ECB8: .4byte 0x02018000 +_0809ECBC: .4byte gUnknown_03004288 +_0809ECC0: .4byte REG_BG2CNT +_0809ECC4: .4byte 0x0000e0ff +_0809ECC8: + ldrb r3, [r1, 0xB] + cmp r3, 0 + beq _0809ECD8 + ldr r1, _0809ED08 @ =gUnknown_030042C0 + movs r4, 0x80 + lsls r4, 1 + adds r0, r4, 0 + strh r0, [r1] +_0809ECD8: + cmp r3, 0x1 + bne _0809ECEE + ldr r2, _0809ED0C @ =REG_BG1CNT + ldrh r1, [r2] + ldr r0, _0809ED10 @ =0x0000e0ff + ands r0, r1 + movs r4, 0x80 + lsls r4, 4 + adds r1, r4, 0 + adds r0, r1 + strh r0, [r2] +_0809ECEE: + cmp r3, 0x2 + beq _0809ECF4 + b _0809EE3A +_0809ECF4: + ldr r2, _0809ED0C @ =REG_BG1CNT +_0809ECF6: + ldrh r1, [r2] + ldr r0, _0809ED10 @ =0x0000e0ff + ands r0, r1 + movs r3, 0xA0 + lsls r3, 4 + adds r1, r3, 0 + adds r0, r1 + strh r0, [r2] + b _0809EE3A + .align 2, 0 +_0809ED08: .4byte gUnknown_030042C0 +_0809ED0C: .4byte REG_BG1CNT +_0809ED10: .4byte 0x0000e0ff +_0809ED14: + ldr r0, _0809ED48 @ =0x02018000 + adds r0, 0x80 + ldrb r0, [r0] + cmp r0, 0 + bne _0809ED5C + ldr r1, _0809ED4C @ =gUnknown_030042C0 + ldrh r0, [r1] + subs r0, 0x20 + strh r0, [r1] + lsls r0, 16 + cmp r0, 0 + beq _0809ED2E + b _0809EE64 +_0809ED2E: + ldr r3, _0809ED50 @ =REG_BG1CNT + ldrh r2, [r3] + ldr r1, _0809ED54 @ =0x0000fffc + adds r0, r1, 0 + ands r0, r2 + adds r0, 0x2 + strh r0, [r3] + ldr r2, _0809ED58 @ =REG_BG2CNT + ldrh r0, [r2] + ands r1, r0 + adds r1, 0x1 + strh r1, [r2] + b _0809EE3A + .align 2, 0 +_0809ED48: .4byte 0x02018000 +_0809ED4C: .4byte gUnknown_030042C0 +_0809ED50: .4byte REG_BG1CNT +_0809ED54: .4byte 0x0000fffc +_0809ED58: .4byte REG_BG2CNT +_0809ED5C: + ldr r1, _0809ED88 @ =gUnknown_03004288 + ldrh r0, [r1] + subs r0, 0x20 + strh r0, [r1] + lsls r0, 16 + cmp r0, 0 + beq _0809ED6C + b _0809EE64 +_0809ED6C: + ldr r3, _0809ED8C @ =REG_BG1CNT + ldrh r2, [r3] + ldr r1, _0809ED90 @ =0x0000fffc + adds r0, r1, 0 + ands r0, r2 + adds r0, 0x1 + strh r0, [r3] + ldr r2, _0809ED94 @ =REG_BG2CNT + ldrh r0, [r2] + ands r1, r0 + adds r1, 0x2 + strh r1, [r2] + b _0809EE3A + .align 2, 0 +_0809ED88: .4byte gUnknown_03004288 +_0809ED8C: .4byte REG_BG1CNT +_0809ED90: .4byte 0x0000fffc +_0809ED94: .4byte REG_BG2CNT +_0809ED98: + ldr r1, _0809EDD4 @ =0x02018000 + ldrb r3, [r1, 0xB] + adds r0, r3, 0x1 + adds r2, r1, 0 + adds r2, 0x7E + strb r0, [r2] + ldrb r2, [r1, 0x8] + subs r0, r2, 0x2 + lsls r0, 24 + lsrs r0, 24 + adds r5, r1, 0 + cmp r0, 0x1 + bhi _0809EDD8 + adds r1, 0x7F + movs r0, 0 + strb r0, [r1] + adds r4, r5, 0 + adds r4, 0x10 + adds r0, r4, 0 + bl sub_80A029C + adds r5, 0x79 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_80A0428 + ldrb r0, [r5] + bl sub_80A00F4 + b _0809EE3A + .align 2, 0 +_0809EDD4: .4byte 0x02018000 +_0809EDD8: + lsls r0, r3, 24 + lsrs r0, 24 + cmp r0, 0x1 + bls _0809EDFA + adds r0, r5, 0 + adds r0, 0x7B + ldrb r0, [r0] + cmp r0, 0 + beq _0809EDF2 + lsls r0, r2, 24 + lsrs r0, 24 + cmp r0, 0x4 + bne _0809EDFA +_0809EDF2: + adds r1, r5, 0 + adds r1, 0x7F + movs r0, 0x6 + b _0809EE0E +_0809EDFA: + ldrb r0, [r5, 0xB] + cmp r0, 0 + bne _0809EE08 + adds r1, r5, 0 + adds r1, 0x7F + movs r0, 0x7 + b _0809EE0E +_0809EE08: + adds r1, r5, 0 + adds r1, 0x7F + movs r0, 0 +_0809EE0E: + strb r0, [r1] + b _0809EE3A +_0809EE12: + bl sub_80A0EE8 + bl sub_80A0DD0 + b _0809EE3A +_0809EE1C: + ldr r0, _0809EE44 @ =gUnknown_083C1598 + ldr r4, _0809EE48 @ =0x02018000 + ldrb r1, [r4, 0xB] + lsls r1, 2 + adds r1, r0 + adds r0, r4, 0 + adds r0, 0x10 + ldr r1, [r1] + bl _call_via_r1 + adds r4, 0x80 + ldrb r0, [r4] + movs r1, 0x1 + eors r0, r1 + strb r0, [r4] +_0809EE3A: + ldrh r0, [r6] + adds r0, 0x1 + strh r0, [r6] + b _0809EE64 + .align 2, 0 +_0809EE44: .4byte gUnknown_083C1598 +_0809EE48: .4byte 0x02018000 +_0809EE4C: + bl sub_8055870 + cmp r0, 0x1 + beq _0809EE64 + ldr r1, _0809EE6C @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0809EE70 @ =gUnknown_03005CF0 + ldr r1, [r1] + str r1, [r0] +_0809EE64: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0809EE6C: .4byte gTasks +_0809EE70: .4byte gUnknown_03005CF0 + thumb_func_end sub_809EC38 + + thumb_func_start sub_809EE74 +sub_809EE74: @ 809EE74 + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _0809EE98 @ =gTasks + 0x8 + adds r6, r0, r1 + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0x6 + bls _0809EE8E + b _0809F0C0 +_0809EE8E: + lsls r0, 2 + ldr r1, _0809EE9C @ =_0809EEA0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0809EE98: .4byte gTasks + 0x8 +_0809EE9C: .4byte _0809EEA0 + .align 2, 0 +_0809EEA0: + .4byte _0809EEBC + .4byte _0809EEE0 + .4byte _0809EFB4 + .4byte _0809EFF4 + .4byte _0809F06E + .4byte _0809F078 + .4byte _0809F0A8 +_0809EEBC: + ldr r0, _0809EECC @ =0x02018000 + adds r0, 0x80 + ldrb r1, [r0] + cmp r1, 0 + bne _0809EED4 + ldr r0, _0809EED0 @ =gUnknown_03004288 + strh r1, [r0] + b _0809F096 + .align 2, 0 +_0809EECC: .4byte 0x02018000 +_0809EED0: .4byte gUnknown_03004288 +_0809EED4: + ldr r1, _0809EEDC @ =gUnknown_030042C0 + movs r0, 0 + strh r0, [r1] + b _0809F096 + .align 2, 0 +_0809EEDC: .4byte gUnknown_030042C0 +_0809EEE0: + ldr r1, _0809EF30 @ =0x02018000 + adds r0, r1, 0 + adds r0, 0x80 + ldrb r0, [r0] + cmp r0, 0 + bne _0809EF4C + ldrb r3, [r1, 0xB] + cmp r3, 0x1 + bne _0809EF02 + ldr r2, _0809EF34 @ =REG_BG2CNT + ldrh r1, [r2] + ldr r0, _0809EF38 @ =0x0000e0fc + ands r0, r1 + ldr r4, _0809EF3C @ =0x00000801 + adds r1, r4, 0 + adds r0, r1 + strh r0, [r2] +_0809EF02: + cmp r3, 0x2 + bne _0809EF16 + ldr r2, _0809EF34 @ =REG_BG2CNT + ldrh r1, [r2] + ldr r0, _0809EF38 @ =0x0000e0fc + ands r0, r1 + ldr r4, _0809EF40 @ =0x00000a01 + adds r1, r4, 0 + adds r0, r1 + strh r0, [r2] +_0809EF16: + cmp r3, 0x3 + bne _0809EF2A + ldr r2, _0809EF34 @ =REG_BG2CNT + ldrh r1, [r2] + ldr r0, _0809EF38 @ =0x0000e0fc + ands r0, r1 + ldr r3, _0809EF44 @ =0x00000c01 + adds r1, r3, 0 + adds r0, r1 + strh r0, [r2] +_0809EF2A: + ldr r2, _0809EF48 @ =REG_BG1CNT + b _0809EF8C + .align 2, 0 +_0809EF30: .4byte 0x02018000 +_0809EF34: .4byte REG_BG2CNT +_0809EF38: .4byte 0x0000e0fc +_0809EF3C: .4byte 0x00000801 +_0809EF40: .4byte 0x00000a01 +_0809EF44: .4byte 0x00000c01 +_0809EF48: .4byte REG_BG1CNT +_0809EF4C: + ldrb r3, [r1, 0xB] + cmp r3, 0x1 + bne _0809EF62 + ldr r2, _0809EF98 @ =REG_BG1CNT + ldrh r1, [r2] + ldr r0, _0809EF9C @ =0x0000e0fc + ands r0, r1 + ldr r4, _0809EFA0 @ =0x00000801 + adds r1, r4, 0 + adds r0, r1 + strh r0, [r2] +_0809EF62: + cmp r3, 0x2 + bne _0809EF76 + ldr r2, _0809EF98 @ =REG_BG1CNT + ldrh r1, [r2] + ldr r0, _0809EF9C @ =0x0000e0fc + ands r0, r1 + ldr r4, _0809EFA4 @ =0x00000a01 + adds r1, r4, 0 + adds r0, r1 + strh r0, [r2] +_0809EF76: + cmp r3, 0x3 + bne _0809EF8A + ldr r2, _0809EF98 @ =REG_BG1CNT + ldrh r1, [r2] + ldr r0, _0809EF9C @ =0x0000e0fc + ands r0, r1 + ldr r3, _0809EFA8 @ =0x00000c01 + adds r1, r3, 0 + adds r0, r1 + strh r0, [r2] +_0809EF8A: + ldr r2, _0809EFAC @ =REG_BG2CNT +_0809EF8C: + ldrh r1, [r2] + ldr r0, _0809EFB0 @ =0x0000fffc + ands r0, r1 + adds r0, 0x2 + strh r0, [r2] + b _0809F096 + .align 2, 0 +_0809EF98: .4byte REG_BG1CNT +_0809EF9C: .4byte 0x0000e0fc +_0809EFA0: .4byte 0x00000801 +_0809EFA4: .4byte 0x00000a01 +_0809EFA8: .4byte 0x00000c01 +_0809EFAC: .4byte REG_BG2CNT +_0809EFB0: .4byte 0x0000fffc +_0809EFB4: + ldr r0, _0809EFD4 @ =0x02018000 + adds r0, 0x80 + ldrb r0, [r0] + cmp r0, 0 + bne _0809EFDC + ldr r0, _0809EFD8 @ =gUnknown_03004288 + ldrh r1, [r0] + adds r1, 0x20 + strh r1, [r0] + lsls r1, 16 + movs r0, 0x80 + lsls r0, 17 + cmp r1, r0 + bne _0809F0C0 + b _0809F096 + .align 2, 0 +_0809EFD4: .4byte 0x02018000 +_0809EFD8: .4byte gUnknown_03004288 +_0809EFDC: + ldr r0, _0809EFF0 @ =gUnknown_030042C0 + ldrh r1, [r0] + adds r1, 0x20 + strh r1, [r0] + lsls r1, 16 + movs r0, 0x80 + lsls r0, 17 + cmp r1, r0 + bne _0809F0C0 + b _0809F096 + .align 2, 0 +_0809EFF0: .4byte gUnknown_030042C0 +_0809EFF4: + ldr r1, _0809F030 @ =0x02018000 + ldrb r3, [r1, 0xB] + adds r0, r3, 0x1 + adds r2, r1, 0 + adds r2, 0x7E + strb r0, [r2] + ldrb r2, [r1, 0x8] + subs r0, r2, 0x2 + lsls r0, 24 + lsrs r0, 24 + adds r5, r1, 0 + cmp r0, 0x1 + bhi _0809F034 + adds r1, 0x7F + movs r0, 0 + strb r0, [r1] + adds r4, r5, 0 + adds r4, 0x10 + adds r0, r4, 0 + bl sub_80A029C + adds r5, 0x79 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_80A0428 + ldrb r0, [r5] + bl sub_80A00F4 + b _0809F096 + .align 2, 0 +_0809F030: .4byte 0x02018000 +_0809F034: + lsls r0, r3, 24 + lsrs r0, 24 + cmp r0, 0x1 + bls _0809F056 + adds r0, r5, 0 + adds r0, 0x7B + ldrb r0, [r0] + cmp r0, 0 + beq _0809F04E + lsls r0, r2, 24 + lsrs r0, 24 + cmp r0, 0x4 + bne _0809F056 +_0809F04E: + adds r1, r5, 0 + adds r1, 0x7F + movs r0, 0x6 + b _0809F06A +_0809F056: + ldrb r0, [r5, 0xB] + cmp r0, 0 + bne _0809F064 + adds r1, r5, 0 + adds r1, 0x7F + movs r0, 0x7 + b _0809F06A +_0809F064: + adds r1, r5, 0 + adds r1, 0x7F + movs r0, 0 +_0809F06A: + strb r0, [r1] + b _0809F096 +_0809F06E: + bl sub_80A0EE8 + bl sub_80A0DD0 + b _0809F096 +_0809F078: + ldr r0, _0809F0A0 @ =gUnknown_083C1598 + ldr r4, _0809F0A4 @ =0x02018000 + ldrb r1, [r4, 0xB] + lsls r1, 2 + adds r1, r0 + adds r0, r4, 0 + adds r0, 0x10 + ldr r1, [r1] + bl _call_via_r1 + adds r4, 0x80 + ldrb r0, [r4] + movs r1, 0x1 + eors r0, r1 + strb r0, [r4] +_0809F096: + ldrh r0, [r6] + adds r0, 0x1 + strh r0, [r6] + b _0809F0C0 + .align 2, 0 +_0809F0A0: .4byte gUnknown_083C1598 +_0809F0A4: .4byte 0x02018000 +_0809F0A8: + bl sub_8055870 + cmp r0, 0x1 + beq _0809F0C0 + ldr r1, _0809F0C8 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0809F0CC @ =gUnknown_03005CF0 + ldr r1, [r1] + str r1, [r0] +_0809F0C0: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0809F0C8: .4byte gTasks +_0809F0CC: .4byte gUnknown_03005CF0 + thumb_func_end sub_809EE74 + + thumb_func_start sub_809F0D0 +sub_809F0D0: @ 809F0D0 + push {r4-r7,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r7, r0, 24 + lsls r4, 24 + lsrs r4, 24 + ldr r1, _0809F110 @ =0x02018000 + ldrb r0, [r1, 0xB] + adds r0, r4 + movs r5, 0 + strb r0, [r1, 0xB] + ldr r2, _0809F114 @ =gUnknown_03005CF0 + ldr r1, _0809F118 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r6, r0, r1 + ldr r0, [r6] + str r0, [r2] + bl sub_809FBE4 + strh r5, [r6, 0x8] + lsls r4, 24 + asrs r4, 24 + movs r0, 0x1 + negs r0, r0 + cmp r4, r0 + bne _0809F120 + ldr r0, _0809F11C @ =sub_809EC38 + str r0, [r6] + b _0809F12A + .align 2, 0 +_0809F110: .4byte 0x02018000 +_0809F114: .4byte gUnknown_03005CF0 +_0809F118: .4byte gTasks +_0809F11C: .4byte sub_809EC38 +_0809F120: + ldr r1, _0809F130 @ =sub_809EE74 + str r1, [r6] + adds r0, r7, 0 + bl _call_via_r1 +_0809F12A: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0809F130: .4byte sub_809EE74 + thumb_func_end sub_809F0D0 + + thumb_func_start SummaryScreenHandleLeftRightInput +SummaryScreenHandleLeftRightInput: @ 809F134 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 24 + lsrs r5, r1, 24 + ldr r4, _0809F1AC @ =0x02018010 + adds r0, r4, 0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + bne _0809F1A6 + lsls r0, r5, 24 + asrs r5, r0, 24 + movs r0, 0x1 + negs r0, r0 + cmp r5, r0 + bne _0809F168 + adds r0, r4, 0 + subs r0, 0x10 + adds r1, r4, 0 + adds r1, 0x65 + ldrb r0, [r0, 0xB] + ldrb r1, [r1] + cmp r0, r1 + beq _0809F1A6 +_0809F168: + cmp r5, 0x1 + bne _0809F17C + adds r0, r4, 0 + subs r0, 0x10 + adds r1, r4, 0 + adds r1, 0x66 + ldrb r0, [r0, 0xB] + ldrb r1, [r1] + cmp r0, r1 + beq _0809F1A6 +_0809F17C: + ldr r0, _0809F1B0 @ =sub_80A1334 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + bne _0809F1A6 + ldr r0, _0809F1B4 @ =sub_80A1500 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + bne _0809F1A6 + movs r0, 0x5 + bl PlaySE + adds r0, r6, 0 + adds r1, r5, 0 + bl sub_809F0D0 +_0809F1A6: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0809F1AC: .4byte 0x02018010 +_0809F1B0: .4byte sub_80A1334 +_0809F1B4: .4byte sub_80A1500 + thumb_func_end SummaryScreenHandleLeftRightInput + + thumb_func_start SummaryScreenHandleUpDownInput +SummaryScreenHandleUpDownInput: @ 809F1B8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 24 + lsrs r4, r1, 24 + ldr r0, _0809F1E4 @ =0x02018000 + ldrb r1, [r0, 0xE] + adds r2, r0, 0 + cmp r1, 0x1 + bne _0809F202 + ldrb r0, [r2, 0xB] + cmp r0, 0 + beq _0809F1E8 + lsls r1, r4, 24 + asrs r1, 24 + movs r4, 0x1 + eors r1, r4 + negs r0, r1 + orrs r0, r1 + lsrs r4, r0, 31 + b _0809F1F4 + .align 2, 0 +_0809F1E4: .4byte 0x02018000 +_0809F1E8: + lsls r0, r4, 24 + asrs r0, 24 + movs r4, 0x3 + cmp r0, 0x1 + bne _0809F1F4 + movs r4, 0x2 +_0809F1F4: + ldr r0, [r2] + ldrb r1, [r2, 0x9] + ldrb r2, [r2, 0xA] + adds r3, r4, 0 + bl StorageSystemGetNextMonIndex + b _0809F22C +_0809F202: + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0809F224 + bl IsLinkDoubleBattle + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0809F224 + lsls r0, r4, 24 + asrs r0, 24 + bl sub_809F3CC + b _0809F22C +_0809F224: + lsls r0, r4, 24 + asrs r0, 24 + bl sub_809F284 +_0809F22C: + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 24 + asrs r0, 24 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + beq _0809F270 + movs r0, 0x5 + bl PlaySE + ldr r5, _0809F278 @ =0x02018010 + adds r0, r5, 0 + bl GetMonStatusAndPokerus + lsls r0, 24 + cmp r0, 0 + beq _0809F258 + movs r0, 0x2 + negs r0, r0 + bl sub_80A12D0 +_0809F258: + adds r0, r5, 0 + subs r0, 0x10 + strb r4, [r0, 0x9] + ldr r1, _0809F27C @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, [r0] + str r1, [r5, 0x74] + ldr r1, _0809F280 @ =sub_809F43C + str r1, [r0] +_0809F270: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0809F278: .4byte 0x02018010 +_0809F27C: .4byte gTasks +_0809F280: .4byte sub_809F43C + thumb_func_end SummaryScreenHandleUpDownInput + + thumb_func_start sub_809F284 +sub_809F284: @ 809F284 + push {r4-r7,lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r0, _0809F2C0 @ =0x02018000 + ldr r7, [r0] + movs r6, 0 + ldrb r1, [r0, 0xB] + adds r4, r0, 0 + cmp r1, 0 + bne _0809F2C4 + lsls r0, r3, 24 + asrs r2, r0, 24 + movs r1, 0x1 + negs r1, r1 + adds r5, r0, 0 + cmp r2, r1 + bne _0809F2AC + ldrb r0, [r4, 0x9] + cmp r0, 0 + beq _0809F2E4 +_0809F2AC: + asrs r0, r5, 24 + cmp r0, 0x1 + bne _0809F2BA + ldrb r0, [r4, 0x9] + ldrb r1, [r4, 0xA] + cmp r0, r1 + bcs _0809F2E4 +_0809F2BA: + ldrb r0, [r4, 0x9] + adds r0, r3 + b _0809F304 + .align 2, 0 +_0809F2C0: .4byte 0x02018000 +_0809F2C4: + lsls r5, r3, 24 +_0809F2C6: + lsls r0, r6, 24 + asrs r0, 24 + asrs r1, r5, 24 + adds r0, r1 + lsls r0, 24 + ldr r4, _0809F2EC @ =0x02018000 + lsrs r6, r0, 24 + asrs r0, 24 + ldrb r2, [r4, 0x9] + adds r1, r0, r2 + cmp r1, 0 + blt _0809F2E4 + ldrb r0, [r4, 0xA] + cmp r1, r0 + ble _0809F2F0 +_0809F2E4: + movs r0, 0x1 + negs r0, r0 + b _0809F308 + .align 2, 0 +_0809F2EC: .4byte 0x02018000 +_0809F2F0: + movs r0, 0x64 + muls r0, r1 + adds r0, r7, r0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + bne _0809F2C6 + ldrb r0, [r4, 0x9] + adds r0, r6 +_0809F304: + lsls r0, 24 + asrs r0, 24 +_0809F308: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_809F284 + + thumb_func_start sub_809F310 +sub_809F310: @ 809F310 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0809F33C + ldr r0, _0809F338 @ =0x02018000 + ldrb r0, [r0, 0xB] + cmp r0, 0 + bne _0809F332 + adds r0, r4, 0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + bne _0809F33C +_0809F332: + movs r0, 0x1 + b _0809F33E + .align 2, 0 +_0809F338: .4byte 0x02018000 +_0809F33C: + movs r0, 0 +_0809F33E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_809F310 + + thumb_func_start sub_809F344 +sub_809F344: @ 809F344 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 +_0809F34A: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x6 + beq _0809F37C + ldr r0, _0809F374 @ =gUnknown_083C15A8 + adds r5, r4, r0 + ldrb r1, [r5] + movs r0, 0x64 + muls r0, r1 + ldr r1, _0809F378 @ =gPlayerParty + adds r0, r1 + bl sub_809F310 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0809F34A + movs r0, 0 + ldrsb r0, [r5, r0] + b _0809F380 + .align 2, 0 +_0809F374: .4byte gUnknown_083C15A8 +_0809F378: .4byte gPlayerParty +_0809F37C: + movs r0, 0x1 + negs r0, r0 +_0809F380: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_809F344 + + thumb_func_start sub_809F388 +sub_809F388: @ 809F388 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 +_0809F38E: + cmp r4, 0 + beq _0809F3C0 + subs r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0809F3B8 @ =gUnknown_083C15A8 + adds r5, r4, r0 + ldrb r1, [r5] + movs r0, 0x64 + muls r0, r1 + ldr r1, _0809F3BC @ =gPlayerParty + adds r0, r1 + bl sub_809F310 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0809F38E + movs r0, 0 + ldrsb r0, [r5, r0] + b _0809F3C4 + .align 2, 0 +_0809F3B8: .4byte gUnknown_083C15A8 +_0809F3BC: .4byte gPlayerParty +_0809F3C0: + movs r0, 0x1 + negs r0, r0 +_0809F3C4: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_809F388 + + thumb_func_start sub_809F3CC +sub_809F3CC: @ 809F3CC + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + movs r2, 0 + movs r1, 0 + ldr r3, _0809F41C @ =gUnknown_083C15A8 + ldr r4, _0809F420 @ =0x02018000 + ldrb r0, [r3] + ldrb r5, [r4, 0x9] + cmp r0, r5 + beq _0809F3FC + adds r5, r3, 0 + adds r3, r4, 0 +_0809F3E6: + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x5 + bhi _0809F3FC + adds r0, r1, r5 + ldrb r0, [r0] + ldrb r4, [r3, 0x9] + cmp r0, r4 + bne _0809F3E6 + adds r2, r1, 0 +_0809F3FC: + lsls r0, r6, 24 + asrs r1, r0, 24 + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0809F40C + cmp r2, 0 + beq _0809F414 +_0809F40C: + cmp r1, 0x1 + bne _0809F424 + cmp r2, 0x5 + bne _0809F42C +_0809F414: + movs r0, 0x1 + negs r0, r0 + b _0809F436 + .align 2, 0 +_0809F41C: .4byte gUnknown_083C15A8 +_0809F420: .4byte 0x02018000 +_0809F424: + adds r0, r2, 0 + bl sub_809F388 + b _0809F432 +_0809F42C: + adds r0, r2, 0 + bl sub_809F344 +_0809F432: + lsls r0, 24 + asrs r0, 24 +_0809F436: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_809F3CC + + thumb_func_start sub_809F43C +sub_809F43C: @ 809F43C + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0809F45C @ =gMain + ldr r1, _0809F460 @ =0x0000043c + adds r5, r0, r1 + ldrb r2, [r5] + adds r3, r0, 0 + cmp r2, 0x8 + bls _0809F452 + b _0809F5CC +_0809F452: + lsls r0, r2, 2 + ldr r1, _0809F464 @ =_0809F468 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0809F45C: .4byte gMain +_0809F460: .4byte 0x0000043c +_0809F464: .4byte _0809F468 + .align 2, 0 +_0809F468: + .4byte _0809F48C + .4byte _0809F492 + .4byte _0809F4BC + .4byte _0809F4D8 + .4byte _0809F4F4 + .4byte _0809F51C + .4byte _0809F578 + .4byte _0809F584 + .4byte _0809F5A0 +_0809F48C: + bl StopCryAndClearCrySongs + b _0809F5B2 +_0809F492: + ldr r0, _0809F4AC @ =0x02018000 + ldrb r1, [r0, 0xC] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0809F4B0 @ =gSprites + adds r0, r1 + bl DestroySpriteAndFreeResources + ldr r1, _0809F4B4 @ =gMain + ldr r0, _0809F4B8 @ =0x0000043c + adds r1, r0 + b _0809F5B8 + .align 2, 0 +_0809F4AC: .4byte 0x02018000 +_0809F4B0: .4byte gSprites +_0809F4B4: .4byte gMain +_0809F4B8: .4byte 0x0000043c +_0809F4BC: + ldr r0, _0809F4D0 @ =0x02018000 + ldrb r1, [r0, 0xD] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0809F4D4 @ =gSprites + adds r0, r1 + bl DestroySpriteAndFreeResources + b _0809F5B2 + .align 2, 0 +_0809F4D0: .4byte 0x02018000 +_0809F4D4: .4byte gSprites +_0809F4D8: + ldr r0, _0809F4EC @ =0x02018000 + adds r1, r0, 0 + adds r1, 0x74 + movs r2, 0 + strb r2, [r1] + adds r0, 0x79 + strb r2, [r0] + ldr r0, _0809F4F0 @ =0x0000043c + adds r1, r3, r0 + b _0809F5B8 + .align 2, 0 +_0809F4EC: .4byte 0x02018000 +_0809F4F0: .4byte 0x0000043c +_0809F4F4: + ldr r4, _0809F518 @ =0x02018010 + adds r0, r4, 0 + bl sub_809F678 + adds r0, r4, 0 + bl GetMonStatusAndPokerus + lsls r0, 24 + cmp r0, 0 + beq _0809F50E + movs r0, 0x2 + bl sub_80A12D0 +_0809F50E: + adds r0, r4, 0 + bl sub_80A0EA4 + b _0809F5B2 + .align 2, 0 +_0809F518: .4byte 0x02018010 +_0809F51C: + ldr r4, _0809F558 @ =0x02018010 + adds r5, r4, 0 + adds r5, 0x64 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_809F6B4 + adds r1, r4, 0 + subs r1, 0x10 + strb r0, [r1, 0xC] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + beq _0809F5EA + movs r0, 0 + strb r0, [r5] + adds r0, r4, 0 + movs r1, 0x2D + bl GetMonData + adds r1, r0, 0 + cmp r1, 0 + beq _0809F560 + ldr r1, _0809F55C @ =gUnknown_030041B0 + movs r2, 0x80 + lsls r2, 1 + adds r0, r2, 0 + strh r0, [r1] + b _0809F564 + .align 2, 0 +_0809F558: .4byte 0x02018010 +_0809F55C: .4byte gUnknown_030041B0 +_0809F560: + ldr r0, _0809F56C @ =gUnknown_030041B0 + strh r1, [r0] +_0809F564: + ldr r1, _0809F570 @ =gMain + ldr r0, _0809F574 @ =0x0000043c + adds r1, r0 + b _0809F5B8 + .align 2, 0 +_0809F56C: .4byte gUnknown_030041B0 +_0809F570: .4byte gMain +_0809F574: .4byte 0x0000043c +_0809F578: + ldr r0, _0809F580 @ =0x02018010 + bl sub_80A1DCC + b _0809F5B2 + .align 2, 0 +_0809F580: .4byte 0x02018010 +_0809F584: + ldr r0, _0809F594 @ =0x02018010 + bl sub_80A1DE8 + ldr r1, _0809F598 @ =gMain + ldr r0, _0809F59C @ =0x0000043c + adds r1, r0 + b _0809F5B8 + .align 2, 0 +_0809F594: .4byte 0x02018010 +_0809F598: .4byte gMain +_0809F59C: .4byte 0x0000043c +_0809F5A0: + bl sub_809F5F8 + lsls r0, 24 + cmp r0, 0 + beq _0809F5EA + ldr r0, _0809F5C0 @ =0x02018000 + adds r0, 0x74 + movs r1, 0 + strb r1, [r0] +_0809F5B2: + ldr r1, _0809F5C4 @ =gMain + ldr r2, _0809F5C8 @ =0x0000043c + adds r1, r2 +_0809F5B8: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _0809F5EA + .align 2, 0 +_0809F5C0: .4byte 0x02018000 +_0809F5C4: .4byte gMain +_0809F5C8: .4byte 0x0000043c +_0809F5CC: + bl sub_8055870 + cmp r0, 0x1 + beq _0809F5EA + movs r0, 0 + strb r0, [r5] + ldr r0, _0809F5F0 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0809F5F4 @ =0x02018000 + adds r0, 0x84 + ldr r0, [r0] + str r0, [r1] +_0809F5EA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0809F5F0: .4byte gTasks +_0809F5F4: .4byte 0x02018000 + thumb_func_end sub_809F43C + + thumb_func_start sub_809F5F8 +sub_809F5F8: @ 809F5F8 + push {r4,lr} + ldr r2, _0809F61C @ =0x02018000 + adds r4, r2, 0 + adds r4, 0x74 + ldrb r0, [r4] + cmp r0, 0 + beq _0809F624 + ldr r0, _0809F620 @ =gUnknown_083C1588 + ldrb r1, [r2, 0xB] + lsls r1, 2 + adds r1, r0 + adds r0, r2, 0 + adds r0, 0x10 + ldr r1, [r1] + bl _call_via_r1 + movs r0, 0x1 + b _0809F634 + .align 2, 0 +_0809F61C: .4byte 0x02018000 +_0809F620: .4byte gUnknown_083C1588 +_0809F624: + adds r0, r2, 0 + adds r0, 0x10 + bl sub_809FAC8 + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + movs r0, 0 +_0809F634: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_809F5F8 + + thumb_func_start sub_809F63C +sub_809F63C: @ 809F63C + push {r4,lr} + adds r4, r0, 0 + bl sub_809FE80 + adds r0, r4, 0 + bl sub_809FC34 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_809F63C + + thumb_func_start sub_809F650 +sub_809F650: @ 809F650 + push {r4,lr} + adds r4, r0, 0 + bl sub_80A00A4 + adds r0, r4, 0 + bl sub_809FF64 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_809F650 + + thumb_func_start sub_809F664 +sub_809F664: @ 809F664 + push {r4,lr} + adds r4, r0, 0 + bl sub_80A0390 + adds r0, r4, 0 + bl sub_80A015C + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_809F664 + + thumb_func_start sub_809F678 +sub_809F678: @ 809F678 + push {lr} + adds r3, r0, 0 + ldr r1, _0809F698 @ =0x02018000 + ldrb r0, [r1, 0xE] + cmp r0, 0 + bne _0809F69C + ldr r2, [r1] + ldrb r1, [r1, 0x9] + movs r0, 0x64 + muls r1, r0 + adds r1, r2 + adds r0, r3, 0 + movs r2, 0x64 + bl memcpy + b _0809F6AE + .align 2, 0 +_0809F698: .4byte 0x02018000 +_0809F69C: + ldr r0, [r1] + ldrb r2, [r1, 0x9] + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 4 + adds r0, r1 + adds r1, r3, 0 + bl sub_803B4B4 +_0809F6AE: + pop {r0} + bx r0 + thumb_func_end sub_809F678 + + thumb_func_start sub_809F6B4 +sub_809F6B4: @ 809F6B4 + push {r4-r7,lr} + sub sp, 0xC + adds r4, r0, 0 + adds r7, r1, 0 + ldrb r0, [r7] + cmp r0, 0 + beq _0809F6D2 + cmp r0, 0x1 + beq _0809F718 + adds r0, r4, 0 + bl sub_80A1808 + lsls r0, 24 + lsrs r0, 24 + b _0809F756 +_0809F6D2: + adds r0, r4, 0 + movs r1, 0x41 + bl GetMonData + lsls r0, 16 + lsrs r5, r0, 16 + adds r0, r4, 0 + movs r1, 0 + bl GetMonData + adds r6, r0, 0 + lsls r0, r5, 3 + ldr r1, _0809F70C @ =gMonFrontPicTable + adds r0, r1 + ldr r1, _0809F710 @ =gMonFrontPicCoords + lsls r2, r5, 2 + adds r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, 0x1] + movs r3, 0x80 + lsls r3, 18 + ldr r4, _0809F714 @ =gUnknown_081FAF4C + ldr r4, [r4, 0x4] + str r4, [sp] + str r5, [sp, 0x4] + str r6, [sp, 0x8] + bl HandleLoadSpecialPokePic + b _0809F74E + .align 2, 0 +_0809F70C: .4byte gMonFrontPicTable +_0809F710: .4byte gMonFrontPicCoords +_0809F714: .4byte gUnknown_081FAF4C +_0809F718: + adds r0, r4, 0 + movs r1, 0x41 + bl GetMonData + lsls r0, 16 + lsrs r5, r0, 16 + adds r0, r4, 0 + movs r1, 0 + bl GetMonData + adds r6, r0, 0 + adds r0, r4, 0 + movs r1, 0x1 + bl GetMonData + adds r1, r0, 0 + adds r0, r5, 0 + adds r2, r6, 0 + bl sub_80409C8 + adds r4, r0, 0 + bl LoadCompressedObjectPalette + ldrh r0, [r4, 0x4] + movs r1, 0x1 + bl GetMonSpriteTemplate_803C56C +_0809F74E: + ldrb r0, [r7] + adds r0, 0x1 + strb r0, [r7] + movs r0, 0xFF +_0809F756: + add sp, 0xC + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_809F6B4 + + thumb_func_start sub_809F760 +sub_809F760: @ 809F760 + push {lr} + lsls r1, 24 + lsrs r1, 24 + adds r2, r1, 0 + cmp r1, 0x1 + beq _0809F780 + cmp r1, 0x1 + bgt _0809F776 + cmp r1, 0 + beq _0809F77C + b _0809F788 +_0809F776: + cmp r2, 0x2 + beq _0809F784 + b _0809F788 +_0809F77C: + movs r1, 0xD + b _0809F78A +_0809F780: + movs r1, 0xE + b _0809F78A +_0809F784: + movs r1, 0xF + b _0809F78A +_0809F788: + movs r1, 0x10 +_0809F78A: + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + thumb_func_end sub_809F760 + + thumb_func_start sub_809F798 +sub_809F798: @ 809F798 + push {lr} + lsls r1, 24 + lsrs r1, 24 + adds r2, r1, 0 + cmp r1, 0x1 + beq _0809F7B8 + cmp r1, 0x1 + bgt _0809F7AE + cmp r1, 0 + beq _0809F7B4 + b _0809F7C0 +_0809F7AE: + cmp r2, 0x2 + beq _0809F7BC + b _0809F7C0 +_0809F7B4: + movs r1, 0x11 + b _0809F7C2 +_0809F7B8: + movs r1, 0x12 + b _0809F7C2 +_0809F7BC: + movs r1, 0x13 + b _0809F7C2 +_0809F7C0: + movs r1, 0x14 +_0809F7C2: + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + thumb_func_end sub_809F798 + + thumb_func_start sub_809F7D0 +sub_809F7D0: @ 809F7D0 + push {r4,lr} + sub sp, 0x64 + mov r0, sp + bl sub_809F678 + ldr r4, _0809F804 @ =0x02018000 + adds r0, r4, 0 + adds r0, 0x79 + ldrb r1, [r0] + mov r0, sp + bl sub_809F760 + lsls r0, 16 + lsrs r0, 16 + bl IsHMMove + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0809F808 + ldrb r0, [r4, 0x8] + cmp r0, 0x3 + beq _0809F808 + movs r0, 0 + b _0809F80A + .align 2, 0 +_0809F804: .4byte 0x02018000 +_0809F808: + movs r0, 0x1 +_0809F80A: + add sp, 0x64 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_809F7D0 + + thumb_func_start sub_809F814 +sub_809F814: @ 809F814 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r6, r0, 3 + ldr r0, _0809F83C @ =gTasks + 0x8 + mov r8, r0 + adds r4, r6, r0 + ldrh r1, [r4, 0x1C] + movs r2, 0x1C + ldrsh r0, [r4, r2] + cmp r0, 0x3 + bgt _0809F840 + adds r0, r1, 0x1 + strh r0, [r4, 0x1C] + b _0809F9C0 + .align 2, 0 +_0809F83C: .4byte gTasks + 0x8 +_0809F840: + ldr r7, _0809F874 @ =gMain + ldrh r1, [r7, 0x2E] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0809F880 + mov r0, r8 + subs r0, 0x8 + adds r0, r6, r0 + ldr r1, _0809F878 @ =sub_809E260 + str r1, [r0] + movs r0, 0x4 + strh r0, [r4] + movs r0, 0x1 + strh r0, [r4, 0x1A] + ldr r2, _0809F87C @ =0x02018000 + ldrh r0, [r4, 0x1E] + adds r2, 0x79 + strb r0, [r2] + movs r1, 0x1 + negs r1, r1 + adds r0, r5, 0 + bl sub_809E8F0 + b _0809F9C0 + .align 2, 0 +_0809F874: .4byte gMain +_0809F878: .4byte sub_809E260 +_0809F87C: .4byte 0x02018000 +_0809F880: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _0809F8B4 + mov r0, r8 + subs r0, 0x8 + adds r0, r6, r0 + ldr r1, _0809F8AC @ =sub_809E260 + str r1, [r0] + movs r0, 0x4 + strh r0, [r4] + movs r0, 0x1 + strh r0, [r4, 0x1A] + ldr r2, _0809F8B0 @ =0x02018000 + ldrh r0, [r4, 0x1E] + adds r2, 0x79 + strb r0, [r2] + adds r0, r5, 0 + movs r1, 0x1 + bl sub_809E8F0 + b _0809F9C0 + .align 2, 0 +_0809F8AC: .4byte sub_809E260 +_0809F8B0: .4byte 0x02018000 +_0809F8B4: + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + bne _0809F8C8 + bl sub_80F9284 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0809F918 +_0809F8C8: + ldr r1, _0809F90C @ =0x02018000 + ldrb r0, [r1, 0xB] + cmp r0, 0x2 + beq _0809F9C0 + cmp r0, 0x3 + bne _0809F8F4 + adds r0, r1, 0 + adds r0, 0x79 + ldrb r0, [r0] + cmp r0, 0x4 + bne _0809F8E8 + adds r0, r1, 0 + adds r0, 0x7C + ldrh r0, [r0] + cmp r0, 0 + beq _0809F8F4 +_0809F8E8: + movs r0, 0 + movs r1, 0xE + movs r2, 0x9 + movs r3, 0x12 + bl MenuZeroFillWindowRect +_0809F8F4: + ldr r1, _0809F910 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _0809F914 @ =sub_809E260 + str r1, [r0] + movs r1, 0x1 + negs r1, r1 + adds r0, r5, 0 + b _0809F972 + .align 2, 0 +_0809F90C: .4byte 0x02018000 +_0809F910: .4byte gTasks +_0809F914: .4byte sub_809E260 +_0809F918: + ldrh r1, [r7, 0x2E] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + bne _0809F92E + bl sub_80F9284 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bne _0809F994 +_0809F92E: + ldr r1, _0809F988 @ =0x02018000 + adds r2, r1, 0 + adds r2, 0x76 + ldrb r0, [r1, 0xB] + ldrb r2, [r2] + cmp r0, r2 + beq _0809F9C0 + cmp r0, 0x2 + bne _0809F960 + adds r0, r1, 0 + adds r0, 0x79 + ldrb r0, [r0] + cmp r0, 0x4 + bne _0809F954 + adds r0, r1, 0 + adds r0, 0x7C + ldrh r0, [r0] + cmp r0, 0 + beq _0809F960 +_0809F954: + movs r0, 0 + movs r1, 0xE + movs r2, 0x9 + movs r3, 0x12 + bl MenuZeroFillWindowRect +_0809F960: + ldr r1, _0809F98C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _0809F990 @ =sub_809E260 + str r1, [r0] + adds r0, r5, 0 + movs r1, 0x1 +_0809F972: + bl SummaryScreenHandleLeftRightInput + ldrb r1, [r4, 0x1E] + movs r0, 0x1 + bl sub_80A1488 + ldrb r1, [r4, 0x1E] + movs r0, 0x1 + bl sub_80A1654 + b _0809F9C0 + .align 2, 0 +_0809F988: .4byte 0x02018000 +_0809F98C: .4byte gTasks +_0809F990: .4byte sub_809E260 +_0809F994: + ldrh r1, [r7, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0809F9A6 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0809F9C0 +_0809F9A6: + ldrb r1, [r4, 0x1E] + movs r0, 0x2 + bl sub_80A1488 + ldrb r1, [r4, 0x1E] + movs r0, 0x2 + bl sub_80A1654 + mov r0, r8 + subs r0, 0x8 + adds r0, r6, r0 + ldr r1, _0809F9CC @ =sub_809E260 + str r1, [r0] +_0809F9C0: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0809F9CC: .4byte sub_809E260 + thumb_func_end sub_809F814 + + thumb_func_start sub_809F9D0 +sub_809F9D0: @ 809F9D0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r6, _0809FA24 @ =gTasks + 0x8 + adds r2, r4, r6 + movs r0, 0 + strh r0, [r2, 0x1C] + strh r1, [r2, 0x1E] + movs r5, 0x2 + negs r5, r5 + adds r0, r5, 0 + movs r1, 0x4 + bl sub_80A1488 + adds r0, r5, 0 + movs r1, 0x4 + bl sub_80A1654 + movs r0, 0xB + movs r1, 0xF + movs r2, 0x1C + movs r3, 0x12 + bl MenuZeroFillWindowRect + ldr r0, _0809FA28 @ =gOtherText_CantForgetHMs + movs r1, 0xB + movs r2, 0xF + bl MenuPrint + subs r6, 0x8 + adds r4, r6 + ldr r0, _0809FA2C @ =sub_809F814 + str r0, [r4] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0809FA24: .4byte gTasks + 0x8 +_0809FA28: .4byte gOtherText_CantForgetHMs +_0809FA2C: .4byte sub_809F814 + thumb_func_end sub_809F9D0 + + thumb_func_start sub_809FA30 +sub_809FA30: @ 809FA30 + ldr r0, _0809FA38 @ =0x02018000 + adds r0, 0x7A + ldrb r0, [r0] + bx lr + .align 2, 0 +_0809FA38: .4byte 0x02018000 + thumb_func_end sub_809FA30 + + thumb_func_start GetStringCenterAlignXOffsetWithLetterSpacing +GetStringCenterAlignXOffsetWithLetterSpacing: @ 809FA3C + push {r4,lr} + lsls r0, 24 + lsls r1, 24 + lsls r2, 24 + lsls r3, 24 + lsrs r2, 23 + lsrs r3, 18 + ldr r4, _0809FA70 @ =0x0600f000 + adds r3, r4 + adds r2, r3 + lsrs r1, 12 + lsrs r0, 23 + movs r4, 0x80 + lsls r4, 2 + adds r3, r4, 0 + adds r0, r3 + adds r1, r0 + adds r0, r1, 0 + adds r0, 0x80 + strh r0, [r2] + adds r2, 0x40 + adds r1, 0x81 + strh r1, [r2] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0809FA70: .4byte 0x0600f000 + thumb_func_end GetStringCenterAlignXOffsetWithLetterSpacing + + thumb_func_start GetStringCenterAlignXOffset +GetStringCenterAlignXOffset: @ 809FA74 + push {r4,lr} + adds r4, r1, 0 + adds r3, r2, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r4, 24 + lsrs r4, 24 + lsls r3, 24 + lsrs r3, 24 + movs r1, 0xF + adds r2, r4, 0 + bl GetStringCenterAlignXOffsetWithLetterSpacing + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetStringCenterAlignXOffset + + thumb_func_start sub_809FA94 +sub_809FA94: @ 809FA94 + push {lr} + bl IsShiny + lsls r0, 24 + cmp r0, 0 + beq _0809FAB4 + ldr r0, _0809FAB0 @ =gUnknown_083C157E + movs r1, 0x4 + movs r2, 0x2 + bl LoadPalette + movs r0, 0x1 + b _0809FAC0 + .align 2, 0 +_0809FAB0: .4byte gUnknown_083C157E +_0809FAB4: + ldr r0, _0809FAC4 @ =gUnknown_083C157C + movs r1, 0x4 + movs r2, 0x2 + bl LoadPalette + movs r0, 0 +_0809FAC0: + pop {r1} + bx r1 + .align 2, 0 +_0809FAC4: .4byte gUnknown_083C157C + thumb_func_end sub_809FA94 + + thumb_func_start sub_809FAC8 +sub_809FAC8: @ 809FAC8 + push {r4-r6,lr} + sub sp, 0xC + adds r5, r0, 0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + beq _0809FB28 + movs r0, 0x1 + movs r1, 0x2 + movs r2, 0x4 + movs r3, 0x3 + bl MenuZeroFillWindowRect + movs r0, 0x3 + movs r1, 0x10 + movs r2, 0x9 + movs r3, 0x11 + bl MenuZeroFillWindowRect + movs r0, 0 + movs r1, 0xC + movs r2, 0xB + movs r3, 0xF + bl MenuZeroFillWindowRect + ldr r4, _0809FB20 @ =gStringVar1 + adds r0, r5, 0 + adds r1, r4, 0 + bl GetMonNickname + adds r0, r4, 0 + movs r1, 0xD + movs r2, 0x3 + movs r3, 0x10 + bl sub_80A1FF8 + ldr r0, _0809FB24 @ =gUnknown_083C157C + movs r1, 0x4 + movs r2, 0x2 + bl LoadPalette + b _0809FBD6 + .align 2, 0 +_0809FB20: .4byte gStringVar1 +_0809FB24: .4byte gUnknown_083C157C +_0809FB28: + adds r0, r5, 0 + bl sub_809FA94 + lsls r0, 24 + lsrs r6, r0, 24 + adds r0, r5, 0 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + bl SpeciesToPokedexNum + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, _0809FB6C @ =0x0000ffff + cmp r4, r0 + beq _0809FB96 + cmp r6, 0 + bne _0809FB70 + movs r0, 0x2 + movs r1, 0x1 + movs r2, 0x2 + bl GetStringCenterAlignXOffset + movs r0, 0x11 + str r0, [sp] + movs r0, 0x10 + str r0, [sp, 0x4] + movs r0, 0x1 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r1, 0xD + b _0809FB8C + .align 2, 0 +_0809FB6C: .4byte 0x0000ffff +_0809FB70: + movs r0, 0x2 + movs r1, 0x8 + movs r2, 0x1 + movs r3, 0x2 + bl GetStringCenterAlignXOffsetWithLetterSpacing + movs r0, 0x11 + str r0, [sp] + movs r0, 0x10 + str r0, [sp, 0x4] + movs r0, 0x1 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r1, 0x8 +_0809FB8C: + movs r2, 0x3 + movs r3, 0x2 + bl sub_80A1F98 + b _0809FBA2 +_0809FB96: + movs r0, 0x1 + movs r1, 0x2 + movs r2, 0x4 + movs r3, 0x3 + bl MenuZeroFillWindowRect +_0809FBA2: + ldr r1, _0809FBE0 @ =gStringVar1 + adds r0, r1, 0 + movs r1, 0xD + bl sub_80A1E58 + adds r1, r0, 0 + adds r0, r5, 0 + bl GetMonNickname + adds r1, r0, 0 + movs r0, 0xFC + strb r0, [r1] + movs r0, 0x13 + strb r0, [r1, 0x1] + movs r0, 0x3C + strb r0, [r1, 0x2] + movs r0, 0xFF + strb r0, [r1, 0x3] + ldr r0, _0809FBE0 @ =gStringVar1 + movs r1, 0x1 + movs r2, 0xC + bl MenuPrint + adds r0, r5, 0 + bl sub_80A0958 +_0809FBD6: + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0809FBE0: .4byte gStringVar1 + thumb_func_end sub_809FAC8 + + thumb_func_start sub_809FBE4 +sub_809FBE4: @ 809FBE4 + push {r4,lr} + movs r4, 0 +_0809FBE8: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_80A1918 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x1B + bls _0809FBE8 + movs r0, 0xB + movs r1, 0x4 + movs r2, 0x1D + movs r3, 0x12 + bl MenuZeroFillWindowRect + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_809FBE4 + + thumb_func_start sub_809FC0C +sub_809FC0C: @ 809FC0C + push {lr} + ldr r0, _0809FC30 @ =gOtherText_Type2 + movs r1, 0xB + movs r2, 0x6 + bl MenuPrint + movs r0, 0 + movs r1, 0x16 + movs r2, 0x4 + bl GetStringCenterAlignXOffset + movs r0, 0x2 + movs r1, 0x17 + movs r2, 0x4 + bl GetStringCenterAlignXOffset + pop {r0} + bx r0 + .align 2, 0 +_0809FC30: .4byte gOtherText_Type2 + thumb_func_end sub_809FC0C + + thumb_func_start sub_809FC34 +sub_809FC34: @ 809FC34 + push {r4-r6,lr} + sub sp, 0xC + adds r6, r0, 0 + movs r4, 0 +_0809FC3C: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_80A1918 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x4 + bls _0809FC3C + movs r0, 0xB + movs r1, 0x9 + movs r2, 0x1C + movs r3, 0xC + bl MenuZeroFillWindowRect + adds r0, r6, 0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + beq _0809FD1C + ldr r5, _0809FCD0 @ =gStringVar1 + adds r0, r5, 0 + movs r1, 0xD + bl sub_80A1E58 + adds r5, r0, 0 + ldr r1, _0809FCD4 @ =gOtherText_OriginalTrainer + bl StringCopy + adds r5, r0, 0 + ldr r4, _0809FCD8 @ =gOtherText_FiveQuestionsAndSlash + adds r1, r4, 0 + bl StringCopy + adds r5, r0, 0 + movs r0, 0xFC + strb r0, [r5] + movs r0, 0x13 + strb r0, [r5, 0x1] + movs r0, 0x4E + strb r0, [r5, 0x2] + movs r0, 0xFF + strb r0, [r5, 0x3] + ldr r0, _0809FCD0 @ =gStringVar1 + movs r1, 0xB + movs r2, 0x4 + bl MenuPrint + movs r0, 0x1 + str r0, [sp] + adds r0, r4, 0 + movs r1, 0xD + movs r2, 0xC1 + movs r3, 0x20 + bl sub_80A1EF8 + movs r0, 0x9 + movs r1, 0x78 + movs r2, 0x30 + movs r3, 0 + bl sub_80A198C + adds r0, r6, 0 + movs r1, 0x20 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + adds r1, r0, 0 + cmp r0, 0x5 + bhi _0809FCE0 + ldr r0, _0809FCDC @ =gOtherText_EggAbout + b _0809FCF2 + .align 2, 0 +_0809FCD0: .4byte gStringVar1 +_0809FCD4: .4byte gOtherText_OriginalTrainer +_0809FCD8: .4byte gOtherText_FiveQuestionsAndSlash +_0809FCDC: .4byte gOtherText_EggAbout +_0809FCE0: + cmp r0, 0xA + bhi _0809FCEC + ldr r0, _0809FCE8 @ =gOtherText_EggSoon + b _0809FCF2 + .align 2, 0 +_0809FCE8: .4byte gOtherText_EggSoon +_0809FCEC: + cmp r1, 0x28 + bhi _0809FD00 + ldr r0, _0809FCFC @ =gOtherText_EggSomeTime +_0809FCF2: + movs r1, 0xB + movs r2, 0x9 + bl MenuPrint + b _0809FD0A + .align 2, 0 +_0809FCFC: .4byte gOtherText_EggSomeTime +_0809FD00: + ldr r0, _0809FD18 @ =gOtherText_EggLongTime + movs r1, 0xB + movs r2, 0x9 + bl MenuPrint +_0809FD0A: + adds r0, r6, 0 + movs r1, 0xB + movs r2, 0xE + bl PokemonSummaryScreen_PrintEggTrainerMemo + b _0809FE4C + .align 2, 0 +_0809FD18: .4byte gOtherText_EggLongTime +_0809FD1C: + ldr r4, _0809FD64 @ =gStringVar2 + adds r0, r6, 0 + movs r1, 0x7 + adds r2, r4, 0 + bl GetMonData + adds r0, r6, 0 + movs r1, 0x3 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl ConvertInternationalString + ldr r5, _0809FD68 @ =gStringVar1 + adds r0, r5, 0 + movs r1, 0xD + bl sub_80A1E58 + adds r5, r0, 0 + ldr r1, _0809FD6C @ =gOtherText_OriginalTrainer + bl StringCopy + adds r5, r0, 0 + adds r0, r6, 0 + movs r1, 0x31 + bl GetMonData + cmp r0, 0 + bne _0809FD70 + adds r0, r5, 0 + movs r1, 0x9 + b _0809FD74 + .align 2, 0 +_0809FD64: .4byte gStringVar2 +_0809FD68: .4byte gStringVar1 +_0809FD6C: .4byte gOtherText_OriginalTrainer +_0809FD70: + adds r0, r5, 0 + movs r1, 0xA +_0809FD74: + bl sub_80A1E58 + adds r5, r0, 0 + ldr r1, _0809FE54 @ =gStringVar2 + adds r0, r5, 0 + bl StringCopy + adds r5, r0, 0 + movs r0, 0xFC + strb r0, [r5] + movs r0, 0x13 + strb r0, [r5, 0x1] + movs r0, 0x4E + strb r0, [r5, 0x2] + movs r0, 0xFF + strb r0, [r5, 0x3] + ldr r0, _0809FE58 @ =gStringVar1 + movs r1, 0xB + movs r2, 0x4 + bl MenuPrint + adds r0, r6, 0 + movs r1, 0x1 + bl GetMonData + ldr r1, _0809FE5C @ =0x0000ffff + ands r1, r0 + movs r0, 0xC1 + str r0, [sp] + movs r0, 0x20 + str r0, [sp, 0x4] + movs r0, 0x1 + str r0, [sp, 0x8] + adds r0, r1, 0 + movs r1, 0xD + movs r2, 0x5 + movs r3, 0x2 + bl sub_80A1F98 + adds r0, r6, 0 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + ldr r2, _0809FE60 @ =gBaseStats + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + adds r5, r1, r2 + ldrb r4, [r5, 0x6] + adds r0, r4, 0 + movs r1, 0x78 + movs r2, 0x30 + movs r3, 0 + bl sub_80A198C + ldrb r0, [r5, 0x7] + cmp r4, r0 + beq _0809FDF8 + ldrb r0, [r5, 0x7] + movs r1, 0xA0 + movs r2, 0x30 + movs r3, 0x1 + bl sub_80A198C +_0809FDF8: + adds r0, r6, 0 + movs r1, 0xB + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r6, 0 + movs r1, 0x2E + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl GetAbilityBySpecies + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0xD + muls r0, r4 + ldr r1, _0809FE64 @ =gAbilityNames + adds r0, r1 + movs r1, 0xD + movs r2, 0xB + movs r3, 0x9 + bl sub_80A1FF8 + ldr r0, _0809FE68 @ =gAbilityDescriptions + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0xB + movs r2, 0xB + bl MenuPrint + adds r0, r6, 0 + movs r1, 0xB + movs r2, 0xE + bl PokemonSummaryScreen_PrintTrainerMemo +_0809FE4C: + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0809FE54: .4byte gStringVar2 +_0809FE58: .4byte gStringVar1 +_0809FE5C: .4byte 0x0000ffff +_0809FE60: .4byte gBaseStats +_0809FE64: .4byte gAbilityNames +_0809FE68: .4byte gAbilityDescriptions + thumb_func_end sub_809FC34 + + thumb_func_start sub_809FE6C +sub_809FE6C: @ 809FE6C + push {r4,lr} + adds r4, r0, 0 + bl sub_809FC0C + adds r0, r4, 0 + bl sub_809FC34 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_809FE6C + + thumb_func_start sub_809FE80 +sub_809FE80: @ 809FE80 + push {lr} + movs r0, 0xE + movs r1, 0x4 + movs r2, 0x12 + movs r3, 0x5 + bl MenuZeroFillWindowRect + movs r0, 0x19 + movs r1, 0x4 + movs r2, 0x1E + movs r3, 0x5 + bl MenuZeroFillWindowRect + movs r0, 0xB + movs r1, 0x9 + movs r2, 0x1C + movs r3, 0xC + bl MenuZeroFillWindowRect + movs r0, 0xB + movs r1, 0xE + movs r2, 0x1C + movs r3, 0x11 + bl MenuZeroFillWindowRect + pop {r0} + bx r0 + thumb_func_end sub_809FE80 + + thumb_func_start sub_809FEB8 +sub_809FEB8: @ 809FEB8 + push {r4,lr} + sub sp, 0x4 + ldr r0, _0809FF40 @ =gOtherText_ExpPoints + movs r1, 0xD + movs r2, 0xB + movs r3, 0xE + bl sub_80A1FF8 + ldr r0, _0809FF44 @ =gOtherText_NextLv + movs r1, 0xD + movs r2, 0xB + movs r3, 0x10 + bl sub_80A1FF8 + ldr r0, _0809FF48 @ =gOtherText_Terminator18 + movs r1, 0x15 + movs r2, 0x10 + bl MenuPrint + ldr r0, _0809FF4C @ =gOtherText_HP + movs r4, 0x2A + str r4, [sp] + movs r1, 0xD + movs r2, 0xB + movs r3, 0x7 + bl sub_80A1F48 + ldr r0, _0809FF50 @ =gOtherText_Attack + str r4, [sp] + movs r1, 0xD + movs r2, 0xB + movs r3, 0x9 + bl sub_80A1F48 + ldr r0, _0809FF54 @ =gOtherText_Defense + str r4, [sp] + movs r1, 0xD + movs r2, 0xB + movs r3, 0xB + bl sub_80A1F48 + ldr r0, _0809FF58 @ =gOtherText_SpAtk + movs r4, 0x24 + str r4, [sp] + movs r1, 0xD + movs r2, 0x16 + movs r3, 0x7 + bl sub_80A1F48 + ldr r0, _0809FF5C @ =gOtherText_SpDef + str r4, [sp] + movs r1, 0xD + movs r2, 0x16 + movs r3, 0x9 + bl sub_80A1F48 + ldr r0, _0809FF60 @ =gOtherText_Speed + str r4, [sp] + movs r1, 0xD + movs r2, 0x16 + movs r3, 0xB + bl sub_80A1F48 + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0809FF40: .4byte gOtherText_ExpPoints +_0809FF44: .4byte gOtherText_NextLv +_0809FF48: .4byte gOtherText_Terminator18 +_0809FF4C: .4byte gOtherText_HP +_0809FF50: .4byte gOtherText_Attack +_0809FF54: .4byte gOtherText_Defense +_0809FF58: .4byte gOtherText_SpAtk +_0809FF5C: .4byte gOtherText_SpDef +_0809FF60: .4byte gOtherText_Speed + thumb_func_end sub_809FEB8 + + thumb_func_start sub_809FF64 +sub_809FF64: @ 809FF64 + push {r4,r5,lr} + adds r5, r0, 0 + movs r4, 0 +_0809FF6A: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_80A1918 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x4 + bls _0809FF6A + adds r0, r5, 0 + movs r1, 0xC + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xB + movs r2, 0x4 + bl sub_80A0BF4 + adds r0, r5, 0 + bl sub_80A0B88 + ldr r4, _080A008C @ =gStringVar1 + adds r0, r5, 0 + movs r1, 0x19 + bl GetMonData + adds r1, r0, 0 + adds r0, r4, 0 + bl ConvertIntToDecimalString + adds r0, r4, 0 + movs r1, 0x1D + movs r2, 0xE + bl MenuPrint_RightAligned + adds r0, r5, 0 + movs r1, 0x17 + movs r2, 0x10 + bl sub_80A0C80 + adds r0, r5, 0 + movs r1, 0x3B + bl GetMonData + adds r1, r0, 0 + adds r0, r4, 0 + bl ConvertIntToDecimalString + adds r0, r4, 0 + movs r1, 0x10 + movs r2, 0x9 + movs r3, 0x32 + bl sub_8072BD8 + adds r0, r5, 0 + movs r1, 0x3C + bl GetMonData + adds r1, r0, 0 + adds r0, r4, 0 + bl ConvertIntToDecimalString + adds r0, r4, 0 + movs r1, 0x10 + movs r2, 0xB + movs r3, 0x32 + bl sub_8072BD8 + adds r0, r5, 0 + movs r1, 0x3E + bl GetMonData + adds r1, r0, 0 + adds r0, r4, 0 + bl ConvertIntToDecimalString + adds r0, r4, 0 + movs r1, 0x1B + movs r2, 0x7 + movs r3, 0x12 + bl sub_8072BD8 + adds r0, r5, 0 + movs r1, 0x3F + bl GetMonData + adds r1, r0, 0 + adds r0, r4, 0 + bl ConvertIntToDecimalString + adds r0, r4, 0 + movs r1, 0x1B + movs r2, 0x9 + movs r3, 0x12 + bl sub_8072BD8 + adds r0, r5, 0 + movs r1, 0x3D + bl GetMonData + adds r1, r0, 0 + adds r0, r4, 0 + bl ConvertIntToDecimalString + adds r0, r4, 0 + movs r1, 0x1B + movs r2, 0xB + movs r3, 0x12 + bl sub_8072BD8 + adds r0, r5, 0 + movs r1, 0x39 + bl GetMonData + adds r1, r0, 0 + adds r0, r4, 0 + movs r2, 0x18 + movs r3, 0x1 + bl sub_8072C14 + adds r4, r0, 0 + movs r0, 0xBA + strb r0, [r4] + adds r4, 0x1 + adds r0, r5, 0 + movs r1, 0x3A + bl GetMonData + adds r1, r0, 0 + adds r0, r4, 0 + movs r2, 0x30 + movs r3, 0x1 + bl sub_8072C14 + ldr r0, _080A008C @ =gStringVar1 + movs r1, 0x7E + movs r2, 0x38 + movs r3, 0x1 + bl MenuPrint_PixelCoords + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A008C: .4byte gStringVar1 + thumb_func_end sub_809FF64 + + thumb_func_start sub_80A0090 +sub_80A0090: @ 80A0090 + push {r4,lr} + adds r4, r0, 0 + bl sub_809FEB8 + adds r0, r4, 0 + bl sub_809FF64 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A0090 + + thumb_func_start sub_80A00A4 +sub_80A00A4: @ 80A00A4 + push {lr} + movs r0, 0xB + movs r1, 0x4 + movs r2, 0x13 + movs r3, 0x5 + bl MenuZeroFillWindowRect + movs r0, 0x10 + movs r1, 0x7 + movs r2, 0x15 + movs r3, 0x8 + bl MenuZeroFillWindowRect + movs r0, 0x11 + movs r1, 0x9 + movs r2, 0x15 + movs r3, 0xC + bl MenuZeroFillWindowRect + movs r0, 0x1B + movs r1, 0x7 + movs r2, 0x1D + movs r3, 0xC + bl MenuZeroFillWindowRect + movs r0, 0x16 + movs r1, 0xE + movs r2, 0x1C + movs r3, 0xF + bl MenuZeroFillWindowRect + movs r0, 0x17 + movs r1, 0x10 + movs r2, 0x1C + movs r3, 0x11 + bl MenuZeroFillWindowRect + pop {r0} + bx r0 + thumb_func_end sub_80A00A4 + + thumb_func_start sub_80A00F4 +sub_80A00F4: @ 80A00F4 + push {lr} + lsls r0, 24 + lsrs r1, r0, 24 + ldr r2, _080A012C @ =0x02018000 + adds r0, r2, 0 + adds r0, 0x7C + ldrh r0, [r0] + cmp r0, 0 + bne _080A010A + cmp r1, 0x4 + beq _080A0150 +_080A010A: + ldrb r0, [r2, 0xB] + cmp r0, 0x2 + bne _080A0138 + ldr r0, _080A0130 @ =gOtherText_Power2 + movs r1, 0xD + movs r2, 0x1 + movs r3, 0xF + bl sub_80A1FF8 + ldr r0, _080A0134 @ =gOtherText_Accuracy2 + movs r1, 0xD + movs r2, 0x1 + movs r3, 0x11 + bl sub_80A1FF8 + b _080A0150 + .align 2, 0 +_080A012C: .4byte 0x02018000 +_080A0130: .4byte gOtherText_Power2 +_080A0134: .4byte gOtherText_Accuracy2 +_080A0138: + ldr r0, _080A0154 @ =gOtherText_Appeal2 + movs r1, 0xD + movs r2, 0x1 + movs r3, 0xF + bl sub_80A1FF8 + ldr r0, _080A0158 @ =gOtherText_Jam2 + movs r1, 0xD + movs r2, 0x1 + movs r3, 0x11 + bl sub_80A1FF8 +_080A0150: + pop {r0} + bx r0 + .align 2, 0 +_080A0154: .4byte gOtherText_Appeal2 +_080A0158: .4byte gOtherText_Jam2 + thumb_func_end sub_80A00F4 + + thumb_func_start sub_80A015C +sub_80A015C: @ 80A015C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + mov r8, r0 + movs r7, 0 +_080A0168: + mov r0, r8 + adds r1, r7, 0 + bl sub_809F760 + lsls r0, 16 + lsrs r6, r0, 16 + mov r0, r8 + adds r1, r7, 0 + bl sub_809F798 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + cmp r6, 0 + bne _080A01B8 + adds r0, r7, 0 + movs r1, 0x1 + bl sub_80A1918 + lsls r4, r7, 25 + movs r0, 0x80 + lsls r0, 19 + adds r4, r0 + lsrs r4, 24 + ldr r0, _080A01B0 @ =gOtherText_OneDash + movs r1, 0xD + movs r2, 0xF + adds r3, r4, 0 + bl sub_80A1FF8 + ldr r0, _080A01B4 @ =gOtherText_TwoDashes + movs r1, 0x1A + adds r2, r4, 0 + bl MenuPrint + b _080A0276 + .align 2, 0 +_080A01B0: .4byte gOtherText_OneDash +_080A01B4: .4byte gOtherText_TwoDashes +_080A01B8: + ldr r0, _080A01E0 @ =0x02018000 + ldrb r0, [r0, 0xB] + cmp r0, 0x2 + bne _080A01E8 + ldr r1, _080A01E4 @ =gBattleMoves + lsls r0, r6, 1 + adds r0, r6 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x2] + lsls r4, r7, 1 + adds r2, r4, 0x4 + lsls r2, 27 + lsrs r2, 24 + movs r1, 0x57 + adds r3, r7, 0 + bl sub_80A198C + b _080A020C + .align 2, 0 +_080A01E0: .4byte 0x02018000 +_080A01E4: .4byte gBattleMoves +_080A01E8: + ldr r1, _080A0290 @ =gContestMoves + lsls r0, r6, 3 + adds r0, r1 + ldrb r0, [r0, 0x1] + lsls r0, 29 + lsrs r0, 5 + movs r1, 0x90 + lsls r1, 21 + adds r0, r1 + lsrs r0, 24 + lsls r4, r7, 1 + adds r2, r4, 0x4 + lsls r2, 27 + lsrs r2, 24 + movs r1, 0x57 + adds r3, r7, 0 + bl sub_80A198C +_080A020C: + movs r0, 0xD + muls r0, r6 + ldr r1, _080A0294 @ =gMoveNames + adds r0, r1 + adds r5, r4, 0x4 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0xD + movs r2, 0xF + adds r3, r5, 0 + bl sub_80A1FF8 + movs r0, 0x1 + movs r1, 0x18 + adds r2, r5, 0 + bl GetStringCenterAlignXOffset + mov r0, r8 + movs r1, 0x15 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r6, 0 + adds r2, r7, 0 + bl CalculatePPWithBonus + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, _080A0298 @ =gStringVar1 + adds r0, r1, 0 + mov r1, r9 + movs r2, 0xE + movs r3, 0x1 + bl sub_8072C14 + adds r1, r0, 0 + movs r0, 0xBA + strb r0, [r1] + adds r1, 0x1 + adds r0, r1, 0 + adds r1, r4, 0 + movs r2, 0x20 + movs r3, 0x1 + bl sub_8072C14 + ldr r0, _080A0298 @ =gStringVar1 + movs r1, 0x19 + adds r2, r5, 0 + bl MenuPrint +_080A0276: + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x3 + bhi _080A0282 + b _080A0168 +_080A0282: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A0290: .4byte gContestMoves +_080A0294: .4byte gMoveNames +_080A0298: .4byte gStringVar1 + thumb_func_end sub_80A015C + + thumb_func_start sub_80A029C +sub_80A029C: @ 80A029C + push {r4,r5,lr} + ldr r1, _080A02B8 @ =0x02018000 + adds r4, r1, 0 + adds r4, 0x7C + ldrh r0, [r4] + cmp r0, 0 + bne _080A02C0 + ldr r0, _080A02BC @ =gOtherText_CancelNoTerminator + movs r1, 0xD + movs r2, 0xF + movs r3, 0xC + bl sub_80A1FF8 + b _080A037E + .align 2, 0 +_080A02B8: .4byte 0x02018000 +_080A02BC: .4byte gOtherText_CancelNoTerminator +_080A02C0: + ldrh r5, [r4] + ldrb r0, [r1, 0xB] + cmp r0, 0x2 + bne _080A02E4 + ldr r1, _080A02E0 @ =gBattleMoves + lsls r4, r5, 1 + adds r0, r4, r5 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x2] + movs r1, 0x57 + movs r2, 0x60 + movs r3, 0x4 + bl sub_80A198C + b _080A0304 + .align 2, 0 +_080A02E0: .4byte gBattleMoves +_080A02E4: + ldr r1, _080A0320 @ =gContestMoves + lsls r0, r5, 3 + adds r0, r1 + ldrb r0, [r0, 0x1] + lsls r0, 29 + lsrs r0, 5 + movs r1, 0x90 + lsls r1, 21 + adds r0, r1 + lsrs r0, 24 + movs r1, 0x57 + movs r2, 0x60 + movs r3, 0x4 + bl sub_80A198C + lsls r4, r5, 1 +_080A0304: + ldr r0, _080A0324 @ =0x02018000 + ldrb r0, [r0, 0xB] + cmp r0, 0x2 + bne _080A032C + movs r0, 0xD + muls r0, r5 + ldr r1, _080A0328 @ =gMoveNames + adds r0, r1 + movs r1, 0xA + movs r2, 0xF + movs r3, 0xC + bl sub_80A1FF8 + b _080A033E + .align 2, 0 +_080A0320: .4byte gContestMoves +_080A0324: .4byte 0x02018000 +_080A0328: .4byte gMoveNames +_080A032C: + movs r0, 0xD + muls r0, r5 + ldr r1, _080A0384 @ =gMoveNames + adds r0, r1 + movs r1, 0x9 + movs r2, 0xF + movs r3, 0xC + bl sub_80A1FF8 +_080A033E: + movs r0, 0x1 + movs r1, 0x18 + movs r2, 0xC + bl GetStringCenterAlignXOffset + ldr r2, _080A0388 @ =gStringVar1 + ldr r1, _080A038C @ =gBattleMoves + adds r0, r4, r5 + lsls r0, 2 + adds r0, r1 + ldrb r4, [r0, 0x4] + adds r0, r2, 0 + adds r1, r4, 0 + movs r2, 0xE + movs r3, 0x1 + bl sub_8072C14 + adds r2, r0, 0 + movs r0, 0xBA + strb r0, [r2] + adds r2, 0x1 + adds r0, r2, 0 + adds r1, r4, 0 + movs r2, 0x20 + movs r3, 0x1 + bl sub_8072C14 + ldr r0, _080A0388 @ =gStringVar1 + movs r1, 0x19 + movs r2, 0xC + bl MenuPrint +_080A037E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A0384: .4byte gMoveNames +_080A0388: .4byte gStringVar1 +_080A038C: .4byte gBattleMoves + thumb_func_end sub_80A029C + + thumb_func_start sub_80A0390 +sub_80A0390: @ 80A0390 + push {r4,lr} + movs r4, 0 +_080A0394: + lsls r3, r4, 1 + adds r1, r3, 0x4 + lsls r1, 24 + lsrs r1, 24 + adds r3, 0x5 + lsls r3, 24 + lsrs r3, 24 + movs r0, 0xF + movs r2, 0x1C + bl MenuZeroFillWindowRect + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x3 + bls _080A0394 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80A0390 + + thumb_func_start sub_80A03BC +sub_80A03BC: @ 80A03BC + push {lr} + lsls r1, 24 + lsrs r1, 24 + cmp r1, 0x4 + beq _080A03D0 + bl sub_809F760 + lsls r0, 16 + lsrs r1, r0, 16 + b _080A03E0 +_080A03D0: + ldr r0, _080A03E8 @ =0x02018000 + adds r2, r0, 0 + adds r2, 0x7C + ldrh r0, [r2] + ldr r1, _080A03EC @ =0x0000ffff + cmp r0, 0 + beq _080A03E0 + adds r1, r0, 0 +_080A03E0: + adds r0, r1, 0 + pop {r1} + bx r1 + .align 2, 0 +_080A03E8: .4byte 0x02018000 +_080A03EC: .4byte 0x0000ffff + thumb_func_end sub_80A03BC + + thumb_func_start sub_80A03F0 +sub_80A03F0: @ 80A03F0 + push {lr} + ldrb r1, [r1] + bl sub_80A03BC + lsls r0, 16 + lsrs r1, r0, 16 + ldr r0, _080A0414 @ =0x02018000 + ldrb r0, [r0, 0xB] + cmp r0, 0x2 + bne _080A041C + adds r0, r1, 0 + bl sub_80A04CC + ldr r0, _080A0418 @ =0x0000ffff + bl sub_80A057C + b _080A0422 + .align 2, 0 +_080A0414: .4byte 0x02018000 +_080A0418: .4byte 0x0000ffff +_080A041C: + adds r0, r1, 0 + bl sub_80A057C +_080A0422: + pop {r0} + bx r0 + thumb_func_end sub_80A03F0 + + thumb_func_start sub_80A0428 +sub_80A0428: @ 80A0428 + push {r4-r6,lr} + adds r5, r0, 0 + adds r6, r1, 0 + ldrb r1, [r6] + bl sub_80A03BC + lsls r0, 16 + lsrs r4, r0, 16 + movs r0, 0xB + movs r1, 0xF + movs r2, 0x1C + movs r3, 0x12 + bl MenuZeroFillWindowRect + ldr r0, _080A0454 @ =0x02018000 + ldrb r0, [r0, 0xB] + cmp r0, 0x2 + bne _080A0458 + adds r0, r4, 0 + bl sub_80A046C + b _080A045E + .align 2, 0 +_080A0454: .4byte 0x02018000 +_080A0458: + adds r0, r4, 0 + bl sub_80A0498 +_080A045E: + adds r0, r5, 0 + adds r1, r6, 0 + bl sub_80A03F0 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80A0428 + + thumb_func_start sub_80A046C +sub_80A046C: @ 80A046C + push {lr} + lsls r0, 16 + lsrs r1, r0, 16 + ldr r0, _080A0490 @ =0x0000ffff + cmp r1, r0 + beq _080A048A + ldr r0, _080A0494 @ =gMoveDescriptions + subs r1, 0x1 + lsls r1, 2 + adds r1, r0 + ldr r0, [r1] + movs r1, 0xB + movs r2, 0xF + bl MenuPrint +_080A048A: + pop {r0} + bx r0 + .align 2, 0 +_080A0490: .4byte 0x0000ffff +_080A0494: .4byte gMoveDescriptions + thumb_func_end sub_80A046C + + thumb_func_start sub_80A0498 +sub_80A0498: @ 80A0498 + push {lr} + lsls r0, 16 + lsrs r3, r0, 16 + ldr r0, _080A04C0 @ =0x0000ffff + cmp r3, r0 + beq _080A04BC + ldr r2, _080A04C4 @ =gUnknown_083CADD4 + ldr r1, _080A04C8 @ =gContestMoves + lsls r0, r3, 3 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 2 + adds r0, r2 + ldr r0, [r0] + movs r1, 0xB + movs r2, 0xF + bl MenuPrint +_080A04BC: + pop {r0} + bx r0 + .align 2, 0 +_080A04C0: .4byte 0x0000ffff +_080A04C4: .4byte gUnknown_083CADD4 +_080A04C8: .4byte gContestMoves + thumb_func_end sub_80A0498 + + thumb_func_start sub_80A04CC +sub_80A04CC: @ 80A04CC + push {r4,r5,lr} + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, _080A0504 @ =0x0000ffff + cmp r4, r0 + beq _080A0572 + ldr r2, _080A0508 @ =gBattleMoves + lsls r1, r4, 1 + adds r0, r1, r4 + lsls r0, 2 + adds r2, r0, r2 + ldrb r0, [r2, 0x1] + adds r5, r1, 0 + cmp r0, 0x1 + bhi _080A0514 + ldr r0, _080A050C @ =gStringVar1 + ldr r1, _080A0510 @ =gOtherText_ThreeDashes2 + movs r2, 0x15 + movs r3, 0x1 + bl sub_8072C74 + ldr r0, _080A050C @ =gStringVar1 + movs r1, 0x7 + movs r2, 0xF + bl MenuPrint + b _080A052A + .align 2, 0 +_080A0504: .4byte 0x0000ffff +_080A0508: .4byte gBattleMoves +_080A050C: .4byte gStringVar1 +_080A0510: .4byte gOtherText_ThreeDashes2 +_080A0514: + ldr r0, _080A0550 @ =gStringVar1 + ldrb r1, [r2, 0x1] + movs r2, 0x15 + movs r3, 0x1 + bl sub_8072C14 + ldr r0, _080A0550 @ =gStringVar1 + movs r1, 0x7 + movs r2, 0xF + bl MenuPrint +_080A052A: + ldr r0, _080A0554 @ =gBattleMoves + adds r1, r5, r4 + lsls r1, 2 + adds r1, r0 + ldrb r0, [r1, 0x3] + cmp r0, 0 + bne _080A055C + ldr r0, _080A0550 @ =gStringVar1 + ldr r1, _080A0558 @ =gOtherText_ThreeDashes2 + movs r2, 0x15 + movs r3, 0x1 + bl sub_8072C74 + ldr r0, _080A0550 @ =gStringVar1 + movs r1, 0x7 + movs r2, 0x11 + bl MenuPrint + b _080A0572 + .align 2, 0 +_080A0550: .4byte gStringVar1 +_080A0554: .4byte gBattleMoves +_080A0558: .4byte gOtherText_ThreeDashes2 +_080A055C: + ldr r0, _080A0578 @ =gStringVar1 + ldrb r1, [r1, 0x3] + movs r2, 0x15 + movs r3, 0x1 + bl sub_8072C14 + ldr r0, _080A0578 @ =gStringVar1 + movs r1, 0x7 + movs r2, 0x11 + bl MenuPrint +_080A0572: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A0578: .4byte gStringVar1 + thumb_func_end sub_80A04CC + + thumb_func_start sub_80A057C +sub_80A057C: @ 80A057C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 16 + lsrs r5, r0, 16 + ldr r0, _080A0648 @ =0x06006800 + mov r8, r0 + ldr r0, _080A064C @ =0x0000ffff + cmp r5, r0 + beq _080A063A + ldr r1, _080A0650 @ =gContestEffects + ldr r2, _080A0654 @ =gContestMoves + lsls r3, r5, 3 + adds r0, r3, r2 + ldrb r0, [r0] + lsls r0, 2 + adds r0, r1 + ldrb r4, [r0, 0x1] + mov r10, r2 + mov r9, r3 + cmp r4, 0xFF + beq _080A05B8 + adds r0, r4, 0 + movs r1, 0xA + bl __udivsi3 + lsls r0, 24 + lsrs r4, r0, 24 +_080A05B8: + movs r2, 0 + movs r7, 0x3 + movs r6, 0xF3 + lsls r6, 2 +_080A05C0: + ldr r3, _080A0658 @ =0x00001039 + cmp r4, 0xFF + beq _080A05CC + cmp r2, r4 + bcs _080A05CC + adds r3, 0x1 +_080A05CC: + lsrs r0, r2, 2 + lsls r0, 5 + adds r1, r2, 0 + ands r1, r7 + adds r1, r0 + lsls r1, 1 + add r1, r8 + adds r1, r6 + strh r3, [r1] + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x7 + bls _080A05C0 + ldr r0, _080A064C @ =0x0000ffff + cmp r5, r0 + beq _080A063A + mov r0, r9 + add r0, r10 + ldrb r0, [r0] + lsls r0, 2 + ldr r1, _080A0650 @ =gContestEffects + adds r0, r1 + ldrb r4, [r0, 0x2] + cmp r4, 0xFF + beq _080A060C + adds r0, r4, 0 + movs r1, 0xA + bl __udivsi3 + lsls r0, 24 + lsrs r4, r0, 24 +_080A060C: + movs r2, 0 + movs r6, 0x3 + ldr r5, _080A065C @ =0x0000044c +_080A0612: + ldr r3, _080A0660 @ =0x0000103d + cmp r4, 0xFF + beq _080A061E + cmp r2, r4 + bcs _080A061E + subs r3, 0x1 +_080A061E: + lsrs r0, r2, 2 + lsls r0, 5 + adds r1, r2, 0 + ands r1, r6 + adds r1, r0 + lsls r1, 1 + add r1, r8 + adds r1, r5 + strh r3, [r1] + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x7 + bls _080A0612 +_080A063A: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A0648: .4byte 0x06006800 +_080A064C: .4byte 0x0000ffff +_080A0650: .4byte gContestEffects +_080A0654: .4byte gContestMoves +_080A0658: .4byte 0x00001039 +_080A065C: .4byte 0x0000044c +_080A0660: .4byte 0x0000103d + thumb_func_end sub_80A057C + + .section .text_80A0958 + + thumb_func_start sub_80A0958 +sub_80A0958: @ 80A0958 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + mov r8, r0 + movs r1, 0xB + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r2, _080A0A24 @ =gStringVar1 + adds r0, r2, 0 + movs r1, 0xD + bl sub_80A1E58 + adds r2, r0, 0 + movs r6, 0xFC + strb r6, [r2] + movs r0, 0x11 + strb r0, [r2, 0x1] + movs r0, 0x7 + strb r0, [r2, 0x2] + movs r0, 0xBA + strb r0, [r2, 0x3] + adds r2, 0x4 + movs r0, 0xB + adds r1, r4, 0 + muls r1, r0 + ldr r0, _080A0A28 @ =gSpeciesNames + adds r1, r0 + adds r0, r2, 0 + bl StringCopy + adds r2, r0, 0 + strb r6, [r2] + movs r0, 0x13 + mov r10, r0 + strb r0, [r2, 0x1] + movs r0, 0x50 + strb r0, [r2, 0x2] + movs r0, 0xFF + mov r9, r0 + strb r0, [r2, 0x3] + ldr r5, _080A0A24 @ =gStringVar1 + adds r0, r5, 0 + movs r1, 0 + movs r2, 0xE + bl MenuPrint + movs r0, 0x3 + movs r1, 0x10 + movs r2, 0x9 + movs r3, 0x11 + bl MenuZeroFillWindowRect + mov r0, r8 + movs r1, 0x38 + bl GetMonData + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0xD + bl sub_80A1E58 + adds r2, r0, 0 + movs r0, 0x34 + strb r0, [r2] + adds r2, 0x1 + adds r0, r2, 0 + adds r1, r4, 0 + bl ConvertIntToDecimalString + adds r2, r0, 0 + strb r6, [r2] + mov r0, r10 + strb r0, [r2, 0x1] + movs r0, 0x20 + strb r0, [r2, 0x2] + mov r0, r9 + strb r0, [r2, 0x3] + adds r0, r5, 0 + movs r1, 0x3 + movs r2, 0x10 + bl MenuPrint + mov r0, r8 + movs r1, 0x7 + movs r2, 0x10 + bl sub_80A0A2C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A0A24: .4byte gStringVar1 +_080A0A28: .4byte gSpeciesNames + thumb_func_end sub_80A0958 + + thumb_func_start sub_80A0A2C +sub_80A0A2C: @ 80A0A2C + push {r4-r6,lr} + adds r6, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + lsls r2, 24 + lsrs r4, r2, 24 + movs r1, 0x41 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x20 + beq _080A0A84 + cmp r0, 0x1D + beq _080A0A84 + adds r0, r6, 0 + bl GetMonGender + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _080A0A6E + cmp r0, 0xFE + beq _080A0A78 + adds r3, r4, 0x1 + lsls r3, 24 + lsrs r3, 24 + adds r0, r5, 0 + adds r1, r4, 0 + adds r2, r5, 0 + bl MenuZeroFillWindowRect + b _080A0A84 +_080A0A6E: + ldr r0, _080A0A74 @ =gOtherText_MaleSymbol2 + movs r1, 0xB + b _080A0A7C + .align 2, 0 +_080A0A74: .4byte gOtherText_MaleSymbol2 +_080A0A78: + ldr r0, _080A0A8C @ =gOtherText_FemaleSymbolAndLv + movs r1, 0xC +_080A0A7C: + adds r2, r5, 0 + adds r3, r4, 0 + bl sub_80A1FF8 +_080A0A84: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A0A8C: .4byte gOtherText_FemaleSymbolAndLv + thumb_func_end sub_80A0A2C + + thumb_func_start sub_80A0A90 +sub_80A0A90: @ 80A0A90 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x32 + bl GetMonData + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x33 + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x34 + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x35 + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x36 + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x43 + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x44 + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x45 + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x46 + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x47 + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x48 + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x49 + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x4A + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x4B + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x4C + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x4D + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x4E + bl GetMonData + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80A0A90 + + thumb_func_start sub_80A0B88 +sub_80A0B88: @ 80A0B88 + push {r4,r5,lr} + bl sub_80A0A90 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _080A0BA8 + ldr r0, _080A0BA0 @ =gStringVar1 + ldr r1, _080A0BA4 @ =gOtherText_None + bl StringCopy + b _080A0BD8 + .align 2, 0 +_080A0BA0: .4byte gStringVar1 +_080A0BA4: .4byte gOtherText_None +_080A0BA8: + ldr r4, _080A0BE8 @ =gStringVar1 + ldr r1, _080A0BEC @ =gOtherText_Ribbons00 + adds r0, r4, 0 + bl StringCopy + adds r0, r4, 0 + bl StringLength + lsls r0, 24 + lsrs r0, 24 + subs r4, 0x2 + adds r0, r4 + movs r1, 0xFC + strb r1, [r0] + movs r1, 0x14 + strb r1, [r0, 0x1] + movs r1, 0x6 + strb r1, [r0, 0x2] + adds r0, 0x3 + adds r1, r5, 0 + movs r2, 0x1 + movs r3, 0x2 + bl ConvertIntToDecimalStringN +_080A0BD8: + ldr r0, _080A0BF0 @ =gUnknown_083C15AE + movs r1, 0x15 + movs r2, 0x4 + bl MenuPrint + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A0BE8: .4byte gStringVar1 +_080A0BEC: .4byte gOtherText_Ribbons00 +_080A0BF0: .4byte gUnknown_083C15AE + thumb_func_end sub_80A0B88 + + thumb_func_start sub_80A0BF4 +sub_80A0BF4: @ 80A0BF4 + push {r4-r7,lr} + lsls r0, 16 + lsrs r5, r0, 16 + lsls r1, 24 + lsrs r7, r1, 24 + lsls r2, 24 + lsrs r6, r2, 24 + cmp r5, 0xAF + bne _080A0C48 + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A0C48 + bl IsLinkDoubleBattle + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A0C48 + ldr r0, _080A0C40 @ =0x02018000 + ldrb r0, [r0, 0x9] + cmp r0, 0x1 + beq _080A0C2E + cmp r0, 0x4 + beq _080A0C2E + cmp r0, 0x5 + bne _080A0C48 +_080A0C2E: + ldr r4, _080A0C44 @ =gStringVar1 + adds r0, r5, 0 + bl ItemId_GetItem + adds r1, r0, 0 + adds r0, r4, 0 + bl StringCopy + b _080A0C68 + .align 2, 0 +_080A0C40: .4byte 0x02018000 +_080A0C44: .4byte gStringVar1 +_080A0C48: + cmp r5, 0 + bne _080A0C60 + ldr r0, _080A0C58 @ =gStringVar1 + ldr r1, _080A0C5C @ =gOtherText_None + bl StringCopy + b _080A0C68 + .align 2, 0 +_080A0C58: .4byte gStringVar1 +_080A0C5C: .4byte gOtherText_None +_080A0C60: + ldr r1, _080A0C78 @ =gStringVar1 + adds r0, r5, 0 + bl CopyItemName +_080A0C68: + ldr r0, _080A0C7C @ =gUnknown_083C15B4 + adds r1, r7, 0 + adds r2, r6, 0 + bl MenuPrint + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A0C78: .4byte gStringVar1 +_080A0C7C: .4byte gUnknown_083C15B4 + thumb_func_end sub_80A0BF4 + + thumb_func_start sub_80A0C80 +sub_80A0C80: @ 80A0C80 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r4, r0, 0 + lsls r1, 24 + lsrs r1, 24 + mov r10, r1 + lsls r2, 24 + lsrs r2, 24 + str r2, [sp] + movs r0, 0 + mov r9, r0 + movs r6, 0 + movs r7, 0 + adds r0, r4, 0 + movs r1, 0x19 + bl GetMonData + mov r8, r0 + adds r0, r4, 0 + movs r1, 0x38 + bl GetMonData + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r4, 0 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r4, r0, 16 + cmp r5, 0x63 + bhi _080A0D14 + ldr r3, _080A0D4C @ =gExperienceTables + adds r1, r5, 0x1 + lsls r1, 2 + ldr r2, _080A0D50 @ =gBaseStats + lsls r0, r4, 3 + subs r0, r4 + lsls r0, 2 + adds r0, r2 + ldrb r2, [r0, 0x13] + movs r0, 0xCA + lsls r0, 1 + muls r2, r0 + adds r1, r2 + adds r1, r3 + ldr r1, [r1] + mov r0, r8 + subs r0, r1, r0 + mov r9, r0 + lsls r0, r5, 2 + adds r0, r2 + adds r0, r3 + ldr r0, [r0] + subs r1, r0 + mov r2, r8 + subs r4, r2, r0 + lsls r0, r4, 6 + bl __udivsi3 + adds r6, r0, 0 + movs r7, 0 + adds r0, r7, 0 + orrs r0, r6 + cmp r0, 0 + bne _080A0D14 + cmp r4, 0 + beq _080A0D14 + movs r6, 0x1 + movs r7, 0 +_080A0D14: + ldr r4, _080A0D54 @ =gStringVar1 + adds r0, r4, 0 + mov r1, r9 + bl ConvertIntToDecimalString + mov r1, r10 + adds r1, 0x6 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + ldr r2, [sp] + bl MenuPrint_RightAligned + ldr r0, _080A0D58 @ =0x06004caa + mov r9, r0 + movs r2, 0 + mov r12, r2 + ldr r0, _080A0D5C @ =0x00002062 + mov r8, r0 +_080A0D3A: + cmp r7, 0 + bgt _080A0D46 + cmp r7, 0 + bne _080A0D64 + cmp r6, 0x7 + bls _080A0D64 +_080A0D46: + ldr r1, _080A0D60 @ =0x0000206a + b _080A0D96 + .align 2, 0 +_080A0D4C: .4byte gExperienceTables +_080A0D50: .4byte gBaseStats +_080A0D54: .4byte gStringVar1 +_080A0D58: .4byte 0x06004caa +_080A0D5C: .4byte 0x00002062 +_080A0D60: .4byte 0x0000206a +_080A0D64: + adds r5, r7, 0 + adds r4, r6, 0 + cmp r7, 0 + bge _080A0D74 + movs r4, 0x7 + movs r5, 0 + adds r4, r6 + adcs r5, r7 +_080A0D74: + lsls r3, r5, 29 + lsrs r2, r4, 3 + adds r0, r3, 0 + orrs r0, r2 + asrs r1, r5, 3 + lsrs r5, r0, 29 + lsls r4, r1, 3 + adds r3, r5, 0 + orrs r3, r4 + lsls r2, r0, 3 + adds r1, r7, 0 + adds r0, r6, 0 + subs r0, r2 + sbcs r1, r3 + add r0, r8 + lsls r0, 16 + lsrs r1, r0, 16 +_080A0D96: + mov r2, r12 + lsls r0, r2, 1 + add r0, r9 + strh r1, [r0] + movs r0, 0x8 + negs r0, r0 + asrs r1, r0, 31 + adds r6, r0 + adcs r7, r1 + cmp r7, 0 + bge _080A0DB0 + movs r6, 0 + movs r7, 0 +_080A0DB0: + mov r0, r12 + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + mov r12, r0 + cmp r0, 0x7 + bls _080A0D3A + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A0C80 + + thumb_func_start sub_80A0DD0 +sub_80A0DD0: @ 80A0DD0 + push {r4,r5,lr} + ldr r2, _080A0E3C @ =gStringVar1 + movs r5, 0xFC + strb r5, [r2] + movs r0, 0x12 + strb r0, [r2, 0x1] + movs r0, 0x2 + strb r0, [r2, 0x2] + adds r2, 0x3 + adds r0, r2, 0 + movs r1, 0xD + bl sub_80A1E58 + adds r2, r0, 0 + ldr r1, _080A0E40 @ =gUnknown_083C1068 + ldr r4, _080A0E44 @ =0x02018000 + adds r0, r4, 0 + adds r0, 0x7E + ldrb r0, [r0] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + adds r0, r2, 0 + bl StringCopy + adds r2, r0, 0 + strb r5, [r2] + movs r0, 0x13 + strb r0, [r2, 0x1] + movs r0, 0x58 + strb r0, [r2, 0x2] + movs r0, 0xFF + strb r0, [r2, 0x3] + ldr r0, _080A0E3C @ =gStringVar1 + movs r1, 0 + movs r2, 0 + bl MenuPrint + adds r4, 0x7F + ldrb r0, [r4] + cmp r0, 0 + beq _080A0E48 + movs r0, 0x5 + movs r1, 0x17 + movs r2, 0 + bl GetStringCenterAlignXOffset + movs r0, 0x6 + movs r1, 0x18 + movs r2, 0 + bl GetStringCenterAlignXOffset + b _080A0E54 + .align 2, 0 +_080A0E3C: .4byte gStringVar1 +_080A0E40: .4byte gUnknown_083C1068 +_080A0E44: .4byte 0x02018000 +_080A0E48: + movs r0, 0x17 + movs r1, 0 + movs r2, 0x18 + movs r3, 0x1 + bl MenuZeroFillWindowRect +_080A0E54: + ldr r2, _080A0E98 @ =gStringVar1 + adds r0, r2, 0 + movs r1, 0xD + bl sub_80A1E58 + adds r2, r0, 0 + ldr r1, _080A0E9C @ =gUnknown_083C1068 + ldr r0, _080A0EA0 @ =0x02018000 + adds r0, 0x7F + ldrb r0, [r0] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + adds r0, r2, 0 + bl StringCopy + adds r2, r0, 0 + movs r0, 0xFC + strb r0, [r2] + movs r0, 0x13 + strb r0, [r2, 0x1] + movs r0, 0x28 + strb r0, [r2, 0x2] + movs r0, 0xFF + strb r0, [r2, 0x3] + ldr r0, _080A0E98 @ =gStringVar1 + movs r1, 0x19 + movs r2, 0 + bl MenuPrint + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A0E98: .4byte gStringVar1 +_080A0E9C: .4byte gUnknown_083C1068 +_080A0EA0: .4byte 0x02018000 + thumb_func_end sub_80A0DD0 + + thumb_func_start sub_80A0EA4 +sub_80A0EA4: @ 80A0EA4 + push {r4-r6,lr} + adds r4, r0, 0 + ldr r5, _080A0ECC @ =0x0600e444 + ldr r6, _080A0ED0 @ =0x0600ec44 + movs r1, 0 + bl CheckPartyPokerus + lsls r0, 24 + cmp r0, 0 + bne _080A0ED4 + adds r0, r4, 0 + movs r1, 0 + bl CheckPartyHasHadPokerus + lsls r0, 24 + cmp r0, 0 + beq _080A0ED4 + movs r0, 0x2C + b _080A0ED8 + .align 2, 0 +_080A0ECC: .4byte 0x0600e444 +_080A0ED0: .4byte 0x0600ec44 +_080A0ED4: + ldr r1, _080A0EE4 @ =0x0000081a + adds r0, r1, 0 +_080A0ED8: + strh r0, [r5] + strh r0, [r6] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A0EE4: .4byte 0x0000081a + thumb_func_end sub_80A0EA4 + + thumb_func_start sub_80A0EE8 +sub_80A0EE8: @ 80A0EE8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + movs r3, 0 + ldr r6, _080A0F24 @ =0x02018000 + adds r5, r6, 0 + ldr r1, _080A0F28 @ =0x00004040 + mov r8, r1 + ldr r2, _080A0F2C @ =0x0000404a + mov r10, r2 +_080A0F02: + adds r0, r5, 0 + adds r0, 0x75 + ldrb r0, [r0] + cmp r3, r0 + bcs _080A0F30 + lsls r1, r3, 1 + lsls r0, r3, 2 + add r0, sp + mov r4, r8 + strh r4, [r0] + adds r1, 0x1 + lsls r1, 1 + mov r7, sp + adds r0, r7, r1 + strh r4, [r0] + b _080A0FE2 + .align 2, 0 +_080A0F24: .4byte 0x02018000 +_080A0F28: .4byte 0x00004040 +_080A0F2C: .4byte 0x0000404a +_080A0F30: + movs r0, 0x76 + adds r0, r6 + mov r12, r0 + ldrb r1, [r0] + cmp r3, r1 + bls _080A0F52 + lsls r1, r3, 1 + lsls r0, r3, 2 + add r0, sp + mov r2, r10 + strh r2, [r0] + adds r1, 0x1 + lsls r1, 1 + mov r4, sp + adds r0, r4, r1 + strh r2, [r0] + b _080A0FE2 +_080A0F52: + ldrb r4, [r5, 0xB] + cmp r3, r4 + bcs _080A0F6E + lsls r1, r3, 1 + lsls r0, r3, 2 + mov r7, sp + adds r2, r7, r0 + ldr r0, _080A0F88 @ =0x00004046 + strh r0, [r2] + adds r1, 0x1 + lsls r1, 1 + add r1, sp + adds r0, 0x1 + strh r0, [r1] +_080A0F6E: + cmp r3, r4 + bne _080A0FA6 + mov r0, r12 + ldrb r0, [r0] + cmp r3, r0 + beq _080A0F90 + lsls r1, r3, 1 + lsls r0, r3, 2 + mov r4, sp + adds r2, r4, r0 + ldr r0, _080A0F8C @ =0x00004041 + b _080A0F9A + .align 2, 0 +_080A0F88: .4byte 0x00004046 +_080A0F8C: .4byte 0x00004041 +_080A0F90: + lsls r1, r3, 1 + lsls r0, r3, 2 + mov r7, sp + adds r2, r7, r0 + ldr r0, _080A0FC4 @ =0x0000404b +_080A0F9A: + strh r0, [r2] + adds r1, 0x1 + lsls r1, 1 + add r1, sp + adds r0, 0x1 + strh r0, [r1] +_080A0FA6: + ldrb r0, [r5, 0xB] + cmp r3, r0 + bls _080A0FE2 + adds r0, r6, 0 + adds r0, 0x76 + ldrb r0, [r0] + cmp r3, r0 + beq _080A0FCC + lsls r1, r3, 1 + lsls r0, r3, 2 + mov r4, sp + adds r2, r4, r0 + ldr r0, _080A0FC8 @ =0x00004043 + b _080A0FD6 + .align 2, 0 +_080A0FC4: .4byte 0x0000404b +_080A0FC8: .4byte 0x00004043 +_080A0FCC: + lsls r1, r3, 1 + lsls r0, r3, 2 + mov r7, sp + adds r2, r7, r0 + ldr r0, _080A1034 @ =0x00004048 +_080A0FD6: + strh r0, [r2] + adds r1, 0x1 + lsls r1, 1 + add r1, sp + adds r0, 0x1 + strh r0, [r1] +_080A0FE2: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x3 + bls _080A0F02 + ldr r1, _080A1038 @ =0x0600e016 + ldr r0, _080A103C @ =0x040000d4 + mov r2, sp + str r2, [r0] + str r1, [r0, 0x4] + ldr r1, _080A1040 @ =0x80000008 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + movs r3, 0 +_080A0FFE: + lsls r0, r3, 1 + mov r4, sp + adds r1, r4, r0 + ldrh r0, [r1] + adds r0, 0x10 + strh r0, [r1] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x7 + bls _080A0FFE + ldr r1, _080A1044 @ =0x0600e056 + ldr r0, _080A103C @ =0x040000d4 + str r4, [r0] + str r1, [r0, 0x4] + ldr r1, _080A1040 @ =0x80000008 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A1034: .4byte 0x00004048 +_080A1038: .4byte 0x0600e016 +_080A103C: .4byte 0x040000d4 +_080A1040: .4byte 0x80000008 +_080A1044: .4byte 0x0600e056 + thumb_func_end sub_80A0EE8 + + thumb_func_start sub_80A1048 +sub_80A1048: @ 80A1048 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r0, 2 + add r0, r8 + lsls r0, 3 + ldr r1, _080A10A0 @ =gTasks + 0x8 + adds r6, r0, r1 + ldrh r0, [r6] + ldrh r1, [r6, 0x2] + adds r0, r1 + strh r0, [r6, 0x2] + lsls r0, 16 + cmp r0, 0 + bne _080A106E + b _080A1224 +_080A106E: + movs r5, 0x2 + ldrsh r2, [r6, r5] + ldr r0, _080A10A4 @ =0x0000024a + subs r0, r2 + lsls r0, 1 + ldr r1, _080A10A8 @ =gUnknown_08E73508 + adds r4, r0, r1 + ldr r5, _080A10AC @ =0x0600e480 + lsls r2, 1 + movs r0, 0x80 + lsls r0, 5 + adds r7, r1, 0 + cmp r2, r0 + bhi _080A10B4 + ldr r0, _080A10B0 @ =0x040000d4 + str r4, [r0] + str r5, [r0, 0x4] + lsrs r1, r2, 1 + movs r2, 0x80 + lsls r2, 24 + orrs r1, r2 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + b _080A10E0 + .align 2, 0 +_080A10A0: .4byte gTasks + 0x8 +_080A10A4: .4byte 0x0000024a +_080A10A8: .4byte gUnknown_08E73508 +_080A10AC: .4byte 0x0600e480 +_080A10B0: .4byte 0x040000d4 +_080A10B4: + ldr r3, _080A110C @ =0x040000d4 + str r4, [r3] + str r5, [r3, 0x4] + ldr r0, _080A1110 @ =0x80000800 + str r0, [r3, 0x8] + ldr r0, [r3, 0x8] + movs r0, 0x80 + lsls r0, 5 + adds r4, r0 + adds r5, r0 + ldr r1, _080A1114 @ =0xfffff000 + adds r2, r1 + cmp r2, r0 + bhi _080A10B4 + str r4, [r3] + str r5, [r3, 0x4] + lsrs r0, r2, 1 + movs r1, 0x80 + lsls r1, 24 + orrs r0, r1 + str r0, [r3, 0x8] + ldr r0, [r3, 0x8] +_080A10E0: + movs r5, 0x2 + ldrsh r0, [r6, r5] + ldr r1, _080A1118 @ =0x0000026a + subs r1, r0 + lsls r1, 1 + adds r3, r1, r7 + ldr r4, _080A111C @ =0x0600e4c0 + lsls r1, r0, 1 + movs r0, 0x80 + lsls r0, 5 + cmp r1, r0 + bhi _080A1120 + ldr r0, _080A110C @ =0x040000d4 + str r3, [r0] + str r4, [r0, 0x4] + lsrs r1, 1 + movs r2, 0x80 + lsls r2, 24 + orrs r1, r2 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + b _080A114C + .align 2, 0 +_080A110C: .4byte 0x040000d4 +_080A1110: .4byte 0x80000800 +_080A1114: .4byte 0xfffff000 +_080A1118: .4byte 0x0000026a +_080A111C: .4byte 0x0600e4c0 +_080A1120: + ldr r2, _080A1178 @ =0x040000d4 + str r3, [r2] + str r4, [r2, 0x4] + ldr r0, _080A117C @ =0x80000800 + str r0, [r2, 0x8] + ldr r0, [r2, 0x8] + movs r0, 0x80 + lsls r0, 5 + adds r3, r0 + adds r4, r0 + ldr r5, _080A1180 @ =0xfffff000 + adds r1, r5 + cmp r1, r0 + bhi _080A1120 + str r3, [r2] + str r4, [r2, 0x4] + lsrs r0, r1, 1 + movs r1, 0x80 + lsls r1, 24 + orrs r0, r1 + str r0, [r2, 0x8] + ldr r0, [r2, 0x8] +_080A114C: + movs r1, 0x2 + ldrsh r0, [r6, r1] + ldr r1, _080A1184 @ =0x0000024a + subs r1, r0 + lsls r1, 1 + adds r3, r1, r7 + ldr r4, _080A1188 @ =0x0600ec80 + lsls r1, r0, 1 + movs r0, 0x80 + lsls r0, 5 + cmp r1, r0 + bhi _080A118C + ldr r0, _080A1178 @ =0x040000d4 + str r3, [r0] + str r4, [r0, 0x4] + lsrs r1, 1 + movs r2, 0x80 + lsls r2, 24 + orrs r1, r2 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + b _080A11B8 + .align 2, 0 +_080A1178: .4byte 0x040000d4 +_080A117C: .4byte 0x80000800 +_080A1180: .4byte 0xfffff000 +_080A1184: .4byte 0x0000024a +_080A1188: .4byte 0x0600ec80 +_080A118C: + ldr r2, _080A11E4 @ =0x040000d4 + str r3, [r2] + str r4, [r2, 0x4] + ldr r0, _080A11E8 @ =0x80000800 + str r0, [r2, 0x8] + ldr r0, [r2, 0x8] + movs r0, 0x80 + lsls r0, 5 + adds r3, r0 + adds r4, r0 + ldr r5, _080A11EC @ =0xfffff000 + adds r1, r5 + cmp r1, r0 + bhi _080A118C + str r3, [r2] + str r4, [r2, 0x4] + lsrs r0, r1, 1 + movs r1, 0x80 + lsls r1, 24 + orrs r0, r1 + str r0, [r2, 0x8] + ldr r0, [r2, 0x8] +_080A11B8: + movs r1, 0x2 + ldrsh r0, [r6, r1] + ldr r1, _080A11F0 @ =0x0000026a + subs r1, r0 + lsls r1, 1 + adds r3, r1, r7 + ldr r4, _080A11F4 @ =0x0600ecc0 + lsls r1, r0, 1 + movs r0, 0x80 + lsls r0, 5 + cmp r1, r0 + bhi _080A11F8 + ldr r0, _080A11E4 @ =0x040000d4 + str r3, [r0] + str r4, [r0, 0x4] + lsrs r1, 1 + movs r2, 0x80 + lsls r2, 24 + orrs r1, r2 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + b _080A1224 + .align 2, 0 +_080A11E4: .4byte 0x040000d4 +_080A11E8: .4byte 0x80000800 +_080A11EC: .4byte 0xfffff000 +_080A11F0: .4byte 0x0000026a +_080A11F4: .4byte 0x0600ecc0 +_080A11F8: + ldr r2, _080A12B0 @ =0x040000d4 + str r3, [r2] + str r4, [r2, 0x4] + ldr r0, _080A12B4 @ =0x80000800 + str r0, [r2, 0x8] + ldr r0, [r2, 0x8] + movs r0, 0x80 + lsls r0, 5 + adds r3, r0 + adds r4, r0 + ldr r5, _080A12B8 @ =0xfffff000 + adds r1, r5 + cmp r1, r0 + bhi _080A11F8 + str r3, [r2] + str r4, [r2, 0x4] + lsrs r0, r1, 1 + movs r1, 0x80 + lsls r1, 24 + orrs r0, r1 + str r0, [r2, 0x8] + ldr r0, [r2, 0x8] +_080A1224: + ldrb r4, [r6, 0x2] + ldrh r7, [r6, 0x2] + ldrh r0, [r6] + mov r12, r0 + cmp r4, 0x9 + bhi _080A1272 + adds r3, r6, 0x4 + ldr r2, _080A12B0 @ =0x040000d4 + ldr r5, _080A12BC @ =0x80000001 +_080A1236: + lsls r1, r4, 1 + ldr r6, _080A12C0 @ =0x0600e480 + adds r0, r1, r6 + str r3, [r2] + str r0, [r2, 0x4] + str r5, [r2, 0x8] + ldr r0, [r2, 0x8] + adds r6, 0x40 + adds r0, r1, r6 + str r3, [r2] + str r0, [r2, 0x4] + str r5, [r2, 0x8] + ldr r0, [r2, 0x8] + ldr r6, _080A12C4 @ =0x0600ec80 + adds r0, r1, r6 + str r3, [r2] + str r0, [r2, 0x4] + str r5, [r2, 0x8] + ldr r0, [r2, 0x8] + ldr r0, _080A12C8 @ =0x0600ecc0 + adds r1, r0 + str r3, [r2] + str r1, [r2, 0x4] + str r5, [r2, 0x8] + ldr r0, [r2, 0x8] + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x9 + bls _080A1236 +_080A1272: + mov r1, r12 + lsls r0, r1, 16 + cmp r0, 0 + beq _080A1286 + lsls r0, r7, 16 + asrs r0, 16 + cmp r0, 0 + ble _080A1286 + cmp r0, 0x9 + ble _080A12A4 +_080A1286: + lsls r0, r7, 16 + asrs r0, 16 + cmp r0, 0x9 + ble _080A129A + ldr r0, _080A12CC @ =gOtherText_Status + movs r1, 0xD + movs r2, 0x1 + movs r3, 0x12 + bl sub_80A1FF8 +_080A129A: + bl sub_80A1D18 + mov r0, r8 + bl DestroyTask +_080A12A4: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A12B0: .4byte 0x040000d4 +_080A12B4: .4byte 0x80000800 +_080A12B8: .4byte 0xfffff000 +_080A12BC: .4byte 0x80000001 +_080A12C0: .4byte 0x0600e480 +_080A12C4: .4byte 0x0600ec80 +_080A12C8: .4byte 0x0600ecc0 +_080A12CC: .4byte gOtherText_Status + thumb_func_end sub_80A1048 + + thumb_func_start sub_80A12D0 +sub_80A12D0: @ 80A12D0 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + movs r1, 0x12 + movs r2, 0x5 + movs r3, 0x13 + bl MenuZeroFillWindowRect + movs r0, 0x1D + bl sub_80A18E4 + ldr r0, _080A1310 @ =sub_80A1048 + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _080A1314 @ =gTasks + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0, r1 + lsls r4, 24 + asrs r4, 24 + strh r4, [r1, 0x8] + cmp r4, 0 + bge _080A1318 + movs r0, 0xA + b _080A131A + .align 2, 0 +_080A1310: .4byte sub_80A1048 +_080A1314: .4byte gTasks +_080A1318: + movs r0, 0 +_080A131A: + strh r0, [r1, 0xA] + ldr r0, _080A1330 @ =gTasks + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0xC] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A1330: .4byte gTasks + thumb_func_end sub_80A12D0 + + thumb_func_start sub_80A1334 +sub_80A1334: @ 80A1334 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + lsls r0, 2 + add r0, r10 + lsls r0, 3 + ldr r1, _080A13E4 @ =gTasks + 0x8 + adds r7, r0, r1 + ldrh r0, [r7] + ldrh r1, [r7, 0x2] + adds r0, r1 + strh r0, [r7, 0x2] + lsls r0, 16 + asrs r1, r0, 16 + movs r0, 0 + cmp r1, 0 + blt _080A136A + movs r0, 0xA + cmp r1, 0xA + bgt _080A136A + ldrh r0, [r7, 0x2] +_080A136A: + lsls r0, 16 + asrs r2, r0, 16 + mov r9, r0 + cmp r2, 0 + ble _080A13A6 + movs r0, 0xA + subs r0, r2 + lsls r0, 1 + ldr r1, _080A13E8 @ =0x06005b40 + adds r4, r0, r1 + movs r5, 0 + adds r6, r2, 0 + ldr r0, _080A13EC @ =0x001fffff + mov r8, r0 +_080A1386: + adds r0, r5, 0 + adds r0, 0xD + lsls r0, 6 + ldr r1, _080A13F0 @ =gUnknown_08E73E88 + adds r0, r1 + adds r1, r4, 0 + mov r2, r8 + ands r2, r6 + bl CpuSet + adds r4, 0x40 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x6 + bls _080A1386 +_080A13A6: + mov r1, r9 + asrs r2, r1, 16 + cmp r2, 0x9 + bgt _080A13F4 + ldr r4, _080A13E8 @ =0x06005b40 + movs r5, 0 + mov r8, sp + movs r0, 0xA + subs r6, r0, r2 + ldr r0, _080A13EC @ =0x001fffff + ands r6, r0 + movs r0, 0x80 + lsls r0, 17 + mov r9, r0 +_080A13C2: + ldrh r0, [r7, 0x4] + mov r1, r8 + strh r0, [r1] + mov r0, sp + adds r1, r4, 0 + mov r2, r9 + orrs r2, r6 + bl CpuSet + adds r4, 0x40 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x6 + bls _080A13C2 + b _080A1400 + .align 2, 0 +_080A13E4: .4byte gTasks + 0x8 +_080A13E8: .4byte 0x06005b40 +_080A13EC: .4byte 0x001fffff +_080A13F0: .4byte gUnknown_08E73E88 +_080A13F4: + movs r0, 0 + movs r1, 0x13 + movs r2, 0x9 + movs r3, 0x13 + bl MenuZeroFillWindowRect +_080A1400: + movs r1, 0 + ldrsh r0, [r7, r1] + cmp r0, 0 + beq _080A1410 + movs r1, 0x2 + ldrsh r0, [r7, r1] + cmp r0, 0 + bge _080A144A +_080A1410: + ldr r4, _080A1480 @ =0x02018000 + ldrb r0, [r4, 0xB] + cmp r0, 0x2 + bne _080A1444 + movs r0, 0 + movs r1, 0xE + movs r2, 0x9 + movs r3, 0x12 + bl MenuZeroFillWindowRect + adds r4, 0x10 + adds r0, r4, 0 + bl sub_80A0958 + adds r0, r4, 0 + bl GetMonStatusAndPokerus + lsls r0, 24 + cmp r0, 0 + beq _080A1444 + ldr r0, _080A1484 @ =gOtherText_Status + movs r1, 0xD + movs r2, 0x1 + movs r3, 0x12 + bl sub_80A1FF8 +_080A1444: + mov r0, r10 + bl DestroyTask +_080A144A: + movs r1, 0x2 + ldrsh r0, [r7, r1] + cmp r0, 0x9 + ble _080A1470 + ldr r4, _080A1480 @ =0x02018000 + ldrb r0, [r4, 0xB] + cmp r0, 0x2 + bne _080A1460 + ldrb r0, [r7, 0x6] + bl sub_80A00F4 +_080A1460: + adds r0, r4, 0 + adds r0, 0x10 + adds r1, r7, 0x6 + bl sub_80A0428 + mov r0, r10 + bl DestroyTask +_080A1470: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A1480: .4byte 0x02018000 +_080A1484: .4byte gOtherText_Status + thumb_func_end sub_80A1334 + + thumb_func_start sub_80A1488 +sub_80A1488: @ 80A1488 + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 24 + lsrs r7, r1, 24 + ldr r0, _080A14DC @ =0x02018000 + ldrb r0, [r0, 0xB] + cmp r0, 0x2 + bne _080A14A6 + movs r0, 0 + movs r1, 0xE + movs r2, 0x9 + movs r3, 0x13 + bl MenuZeroFillWindowRect +_080A14A6: + ldr r5, _080A14E0 @ =sub_80A1334 + adds r0, r5, 0 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0xFF + bne _080A14C2 + adds r0, r5, 0 + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r4, r0, 24 +_080A14C2: + ldr r1, _080A14E4 @ =gTasks + lsls r2, r4, 2 + adds r0, r2, r4 + lsls r0, 3 + adds r3, r0, r1 + lsls r0, r6, 24 + asrs r0, 24 + strh r0, [r3, 0x8] + cmp r0, 0 + bge _080A14E8 + movs r0, 0xA + b _080A14EA + .align 2, 0 +_080A14DC: .4byte 0x02018000 +_080A14E0: .4byte sub_80A1334 +_080A14E4: .4byte gTasks +_080A14E8: + movs r0, 0 +_080A14EA: + strh r0, [r3, 0xA] + adds r0, r2, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0xC] + strh r7, [r0, 0xE] + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A1488 + + thumb_func_start sub_80A1500 +sub_80A1500: @ 80A1500 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + lsls r0, 2 + add r0, r10 + lsls r0, 3 + ldr r1, _080A15B0 @ =gTasks + 0x8 + adds r7, r0, r1 + ldrh r0, [r7] + ldrh r1, [r7, 0x2] + adds r0, r1 + strh r0, [r7, 0x2] + lsls r0, 16 + asrs r1, r0, 16 + movs r0, 0 + cmp r1, 0 + blt _080A1536 + movs r0, 0xA + cmp r1, 0xA + bgt _080A1536 + ldrh r0, [r7, 0x2] +_080A1536: + lsls r0, 16 + asrs r2, r0, 16 + mov r9, r0 + cmp r2, 0 + ble _080A1572 + movs r0, 0xA + subs r0, r2 + lsls r0, 1 + ldr r1, _080A15B4 @ =0x06006b40 + adds r4, r0, r1 + movs r5, 0 + adds r6, r2, 0 + ldr r0, _080A15B8 @ =0x001fffff + mov r8, r0 +_080A1552: + adds r0, r5, 0 + adds r0, 0xD + lsls r0, 6 + ldr r1, _080A15BC @ =gUnknown_08E74688 + adds r0, r1 + adds r1, r4, 0 + mov r2, r8 + ands r2, r6 + bl CpuSet + adds r4, 0x40 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x6 + bls _080A1552 +_080A1572: + mov r1, r9 + asrs r2, r1, 16 + cmp r2, 0x9 + bgt _080A15C0 + ldr r4, _080A15B4 @ =0x06006b40 + movs r5, 0 + mov r8, sp + movs r0, 0xA + subs r6, r0, r2 + ldr r0, _080A15B8 @ =0x001fffff + ands r6, r0 + movs r0, 0x80 + lsls r0, 17 + mov r9, r0 +_080A158E: + ldrh r0, [r7, 0x4] + mov r1, r8 + strh r0, [r1] + mov r0, sp + adds r1, r4, 0 + mov r2, r9 + orrs r2, r6 + bl CpuSet + adds r4, 0x40 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x6 + bls _080A158E + b _080A15CC + .align 2, 0 +_080A15B0: .4byte gTasks + 0x8 +_080A15B4: .4byte 0x06006b40 +_080A15B8: .4byte 0x001fffff +_080A15BC: .4byte gUnknown_08E74688 +_080A15C0: + movs r0, 0 + movs r1, 0x13 + movs r2, 0x9 + movs r3, 0x13 + bl MenuZeroFillWindowRect +_080A15CC: + movs r1, 0 + ldrsh r0, [r7, r1] + cmp r0, 0 + beq _080A15DC + movs r1, 0x2 + ldrsh r0, [r7, r1] + cmp r0, 0 + bge _080A1616 +_080A15DC: + ldr r4, _080A164C @ =0x02018000 + ldrb r0, [r4, 0xB] + cmp r0, 0x3 + bne _080A1610 + movs r0, 0 + movs r1, 0xE + movs r2, 0x9 + movs r3, 0x12 + bl MenuZeroFillWindowRect + adds r4, 0x10 + adds r0, r4, 0 + bl sub_80A0958 + adds r0, r4, 0 + bl GetMonStatusAndPokerus + lsls r0, 24 + cmp r0, 0 + beq _080A1610 + ldr r0, _080A1650 @ =gOtherText_Status + movs r1, 0xD + movs r2, 0x1 + movs r3, 0x12 + bl sub_80A1FF8 +_080A1610: + mov r0, r10 + bl DestroyTask +_080A1616: + movs r1, 0x2 + ldrsh r0, [r7, r1] + cmp r0, 0x9 + ble _080A163C + ldr r4, _080A164C @ =0x02018000 + ldrb r0, [r4, 0xB] + cmp r0, 0x3 + bne _080A162C + ldrb r0, [r7, 0x6] + bl sub_80A00F4 +_080A162C: + adds r0, r4, 0 + adds r0, 0x10 + adds r1, r7, 0x6 + bl sub_80A0428 + mov r0, r10 + bl DestroyTask +_080A163C: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A164C: .4byte 0x02018000 +_080A1650: .4byte gOtherText_Status + thumb_func_end sub_80A1500 + + thumb_func_start sub_80A1654 +sub_80A1654: @ 80A1654 + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 24 + lsrs r7, r1, 24 + ldr r0, _080A16A8 @ =0x02018000 + ldrb r0, [r0, 0xB] + cmp r0, 0x3 + bne _080A1672 + movs r0, 0 + movs r1, 0xE + movs r2, 0x9 + movs r3, 0x13 + bl MenuZeroFillWindowRect +_080A1672: + ldr r5, _080A16AC @ =sub_80A1500 + adds r0, r5, 0 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0xFF + bne _080A168E + adds r0, r5, 0 + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r4, r0, 24 +_080A168E: + ldr r1, _080A16B0 @ =gTasks + lsls r2, r4, 2 + adds r0, r2, r4 + lsls r0, 3 + adds r3, r0, r1 + lsls r0, r6, 24 + asrs r0, 24 + strh r0, [r3, 0x8] + cmp r0, 0 + bge _080A16B4 + movs r0, 0xA + b _080A16B6 + .align 2, 0 +_080A16A8: .4byte 0x02018000 +_080A16AC: .4byte sub_80A1500 +_080A16B0: .4byte gTasks +_080A16B4: + movs r0, 0 +_080A16B6: + strh r0, [r3, 0xA] + adds r0, r2, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0xC] + strh r7, [r0, 0xE] + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A1654 + + thumb_func_start sub_80A16CC +sub_80A16CC: @ 80A16CC + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r0, _080A1724 @ =0x06006ad4 + mov r12, r0 + mov r1, r9 + cmp r1, 0 + bne _080A172C + movs r5, 0 + ldr r7, _080A1728 @ =gUnknown_08E94510 + movs r0, 0x80 + lsls r0, 5 + adds r6, r0, 0 + movs r1, 0x40 + adds r1, r7 + mov r8, r1 +_080A16F4: + lsls r2, r5, 1 + mov r0, r12 + adds r3, r2, r0 + adds r4, r2, r7 + ldrh r1, [r4] + adds r0, r6, r1 + strh r0, [r3] + adds r1, r3, 0 + adds r1, 0x40 + ldrh r4, [r4] + adds r0, r6, r4 + strh r0, [r1] + adds r3, 0x80 + add r2, r8 + ldrh r2, [r2] + adds r0, r6, r2 + strh r0, [r3] + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x13 + bls _080A16F4 + b _080A1768 + .align 2, 0 +_080A1724: .4byte 0x06006ad4 +_080A1728: .4byte gUnknown_08E94510 +_080A172C: + movs r5, 0 + ldr r6, _080A17B0 @ =gUnknown_08E94550 + movs r7, 0x80 + lsls r7, 5 + adds r4, r7, 0 + movs r0, 0x40 + adds r0, r6 + mov r8, r0 +_080A173C: + lsls r1, r5, 1 + mov r7, r12 + adds r2, r1, r7 + adds r0, r1, r6 + ldrh r0, [r0] + adds r0, r4, r0 + strh r0, [r2] + adds r3, r2, 0 + adds r3, 0x40 + add r1, r8 + ldrh r7, [r1] + adds r0, r4, r7 + strh r0, [r3] + adds r2, 0x80 + ldrh r1, [r1] + adds r0, r4, r1 + strh r0, [r2] + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x13 + bls _080A173C +_080A1768: + ldr r0, _080A17B4 @ =0x06005ad4 + mov r12, r0 + mov r1, r9 + cmp r1, 0 + bne _080A17BC + movs r5, 0 + ldr r7, _080A17B8 @ =gUnknown_08E94510 + movs r0, 0xC0 + lsls r0, 6 + adds r6, r0, 0 + movs r1, 0x40 + adds r1, r7 + mov r8, r1 +_080A1782: + lsls r2, r5, 1 + mov r0, r12 + adds r3, r2, r0 + adds r4, r2, r7 + ldrh r1, [r4] + adds r0, r6, r1 + strh r0, [r3] + adds r1, r3, 0 + adds r1, 0x40 + ldrh r4, [r4] + adds r0, r6, r4 + strh r0, [r1] + adds r3, 0x80 + add r2, r8 + ldrh r2, [r2] + adds r0, r6, r2 + strh r0, [r3] + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x13 + bls _080A1782 + b _080A17F8 + .align 2, 0 +_080A17B0: .4byte gUnknown_08E94550 +_080A17B4: .4byte 0x06005ad4 +_080A17B8: .4byte gUnknown_08E94510 +_080A17BC: + movs r5, 0 + ldr r6, _080A1804 @ =gUnknown_08E94550 + movs r7, 0xC0 + lsls r7, 6 + adds r4, r7, 0 + movs r0, 0x40 + adds r0, r6 + mov r8, r0 +_080A17CC: + lsls r1, r5, 1 + mov r7, r12 + adds r2, r1, r7 + adds r0, r1, r6 + ldrh r0, [r0] + adds r0, r4, r0 + strh r0, [r2] + adds r3, r2, 0 + adds r3, 0x40 + add r1, r8 + ldrh r7, [r1] + adds r0, r4, r7 + strh r0, [r3] + adds r2, 0x80 + ldrh r1, [r1] + adds r0, r4, r1 + strh r0, [r2] + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x13 + bls _080A17CC +_080A17F8: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A1804: .4byte gUnknown_08E94550 + thumb_func_end sub_80A16CC + + thumb_func_start sub_80A1808 +sub_80A1808: @ 80A1808 + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r1, 0x41 + bl GetMonData + adds r6, r0, 0 + lsls r6, 16 + lsrs r6, 16 + ldr r0, _080A1860 @ =gUnknown_02024E8C + movs r1, 0x28 + movs r2, 0x40 + movs r3, 0x5 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r4, r0, 4 + add r4, r8 + lsls r4, 2 + ldr r5, _080A1864 @ =gSprites + adds r7, r4, r5 + adds r0, r7, 0 + bl FreeSpriteOamMatrix + strh r6, [r7, 0x2E] + adds r5, 0x1C + adds r4, r5 + ldr r0, _080A1868 @ =sub_80A1888 + str r0, [r4] + adds r0, r6, 0 + bl sub_8040A3C + lsls r0, 24 + cmp r0, 0 + bne _080A186C + adds r0, r7, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r2, 0x1 + orrs r1, r2 + strb r1, [r0] + b _080A187A + .align 2, 0 +_080A1860: .4byte gUnknown_02024E8C +_080A1864: .4byte gSprites +_080A1868: .4byte sub_80A1888 +_080A186C: + adds r2, r7, 0 + adds r2, 0x3F + ldrb r1, [r2] + movs r0, 0x2 + negs r0, r0 + ands r0, r1 + strb r0, [r2] +_080A187A: + mov r0, r8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80A1808 + + thumb_func_start sub_80A1888 +sub_80A1888: @ 80A1888 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080A18B8 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080A18B0 + ldr r0, _080A18BC @ =SpriteCallbackDummy + str r0, [r4, 0x1C] + ldr r0, _080A18C0 @ =0x02018010 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + bne _080A18B0 + ldrh r0, [r4, 0x2E] + movs r1, 0 + bl PlayCry1 +_080A18B0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A18B8: .4byte gPaletteFade +_080A18BC: .4byte SpriteCallbackDummy +_080A18C0: .4byte 0x02018010 + thumb_func_end sub_80A1888 + + thumb_func_start sub_80A18C4 +sub_80A18C4: @ 80A18C4 + push {lr} + movs r1, 0 + ldr r3, _080A18E0 @ =0x0201a000 + movs r2, 0xFF +_080A18CC: + adds r0, r1, r3 + strb r2, [r0] + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x1D + bls _080A18CC + pop {r0} + bx r0 + .align 2, 0 +_080A18E0: .4byte 0x0201a000 + thumb_func_end sub_80A18C4 + + thumb_func_start sub_80A18E4 +sub_80A18E4: @ 80A18E4 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080A1910 @ =0x0201a000 + adds r4, r0, r1 + ldrb r0, [r4] + cmp r0, 0xFF + beq _080A1908 + adds r1, r0, 0 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _080A1914 @ =gSprites + adds r0, r1 + bl DestroySprite + movs r0, 0xFF + strb r0, [r4] +_080A1908: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A1910: .4byte 0x0201a000 +_080A1914: .4byte gSprites + thumb_func_end sub_80A18E4 + + thumb_func_start sub_80A1918 +sub_80A1918: @ 80A1918 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + ldr r3, _080A1948 @ =gSprites + ldr r2, _080A194C @ =0x0201a000 + adds r0, r2 + ldrb r0, [r0] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r3 + adds r2, 0x3E + movs r0, 0x1 + ands r1, r0 + lsls r1, 2 + ldrb r3, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2] + bx lr + .align 2, 0 +_080A1948: .4byte gSprites +_080A194C: .4byte 0x0201a000 + thumb_func_end sub_80A1918 + + thumb_func_start sub_80A1950 +sub_80A1950: @ 80A1950 + push {r4,r5,lr} + movs r5, 0 +_080A1954: + ldr r0, _080A1984 @ =0x0201a000 + adds r4, r5, r0 + ldrb r0, [r4] + cmp r0, 0xFF + bne _080A196C + ldr r0, _080A1988 @ =gSpriteTemplate_83C11C0 + movs r1, 0 + movs r2, 0 + movs r3, 0x2 + bl CreateSprite + strb r0, [r4] +_080A196C: + adds r0, r5, 0 + movs r1, 0x1 + bl sub_80A1918 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x4 + bls _080A1954 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A1984: .4byte 0x0201a000 +_080A1988: .4byte gSpriteTemplate_83C11C0 + thumb_func_end sub_80A1950 + + thumb_func_start sub_80A198C +sub_80A198C: @ 80A198C + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + adds r4, r0, 0 + adds r5, r1, 0 + adds r6, r2, 0 + mov r10, r3 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 24 + lsrs r6, 24 + mov r0, r10 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + ldr r1, _080A1A24 @ =0x0201a000 + mov r8, r1 + add r8, r10 + mov r0, r8 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _080A1A28 @ =gSprites + mov r9, r1 + add r0, r9 + adds r1, r4, 0 + bl StartSpriteAnim + mov r1, r8 + ldrb r0, [r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + add r1, r9 + ldr r0, _080A1A2C @ =gUnknown_083C11D8 + adds r4, r0 + ldrb r2, [r4] + lsls r2, 4 + ldrb r3, [r1, 0x5] + movs r0, 0xF + ands r0, r3 + orrs r0, r2 + strb r0, [r1, 0x5] + mov r0, r8 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r9 + adds r5, 0x10 + strh r5, [r0, 0x20] + mov r0, r8 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r9 + adds r6, 0x8 + strh r6, [r0, 0x22] + mov r0, r10 + movs r1, 0 + bl sub_80A1918 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A1A24: .4byte 0x0201a000 +_080A1A28: .4byte gSprites +_080A1A2C: .4byte gUnknown_083C11D8 + thumb_func_end sub_80A198C + + thumb_func_start sub_80A1A30 +sub_80A1A30: @ 80A1A30 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0 + mov r9, r0 + ldr r1, _080A1A98 @ =0x02018000 + ldrb r0, [r1, 0xB] + cmp r0, 0x1 + bls _080A1B0A + cmp r4, 0x9 + bne _080A1A52 + movs r3, 0x1 + mov r9, r3 +_080A1A52: + movs r5, 0 + movs r0, 0x80 + lsls r0, 6 + adds r0, r1 + mov r8, r0 + ldr r6, _080A1A9C @ =gSprites + mov r10, r5 +_080A1A60: + lsls r1, r5, 20 + movs r3, 0xB0 + lsls r3, 15 + adds r1, r3 + asrs r1, 16 + ldr r0, _080A1AA0 @ =gSpriteTemplate_83C1280 + movs r2, 0x28 + mov r3, r9 + bl CreateSprite + adds r1, r4, r5 + mov r3, r8 + adds r2, r1, r3 + strb r0, [r2] + adds r7, r1, 0 + cmp r5, 0 + bne _080A1AA4 + adds r0, r4, r3 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0x4 + bl StartSpriteAnim + b _080A1AD0 + .align 2, 0 +_080A1A98: .4byte 0x02018000 +_080A1A9C: .4byte gSprites +_080A1AA0: .4byte gSpriteTemplate_83C1280 +_080A1AA4: + cmp r5, 0x9 + bne _080A1AC0 + adds r0, r4, 0 + adds r0, 0x9 + add r0, r8 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0x5 + bl StartSpriteAnim + b _080A1AD0 +_080A1AC0: + ldrb r1, [r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0x6 + bl StartSpriteAnim +_080A1AD0: + mov r0, r8 + adds r2, r7, r0 + ldrb r1, [r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r6, 0 + adds r1, 0x1C + adds r0, r1 + ldr r1, _080A1B18 @ =sub_80A1BC0 + str r1, [r0] + ldrb r1, [r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + strh r4, [r0, 0x2E] + ldrb r1, [r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + mov r1, r10 + strh r1, [r0, 0x30] + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x9 + bls _080A1A60 +_080A1B0A: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A1B18: .4byte sub_80A1BC0 + thumb_func_end sub_80A1A30 + + thumb_func_start sub_80A1B1C +sub_80A1B1C: @ 80A1B1C + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 +_080A1B24: + adds r0, r5, r4 + lsls r0, 24 + lsrs r0, 24 + bl sub_80A18E4 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x9 + bls _080A1B24 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80A1B1C + + thumb_func_start sub_80A1B40 +sub_80A1B40: @ 80A1B40 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r7, r0, 24 + lsls r1, r7, 1 + adds r1, r7 + lsls r1, 24 + ldr r0, _080A1BB4 @ =0x0201a009 + ldrb r2, [r0] + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + ldr r2, _080A1BB8 @ =gSprites + adds r0, r2 + lsrs r7, r1, 24 + movs r2, 0x80 + lsls r2, 19 + adds r1, r2 + lsrs r1, 24 + bl StartSpriteAnim + movs r4, 0 + adds r0, r7, 0x6 + lsls r0, 24 + mov r8, r0 +_080A1B74: + ldr r6, _080A1BBC @ =0x0201a00a + adds r0, r4, r6 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r5, _080A1BB8 @ =gSprites + adds r0, r5 + mov r2, r8 + lsrs r1, r2, 24 + bl StartSpriteAnim + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x7 + bls _080A1B74 + ldrb r1, [r6, 0x8] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + adds r1, r7, 0x5 + lsls r1, 24 + lsrs r1, 24 + bl StartSpriteAnim + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A1BB4: .4byte 0x0201a009 +_080A1BB8: .4byte gSprites +_080A1BBC: .4byte 0x0201a00a + thumb_func_end sub_80A1B40 + + thumb_func_start sub_80A1BC0 +sub_80A1BC0: @ 80A1BC0 + push {lr} + adds r2, r0, 0 + adds r0, 0x2A + ldrb r0, [r0] + subs r0, 0x4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bhi _080A1BF8 + ldrh r0, [r2, 0x30] + adds r0, 0x1 + movs r1, 0x1F + ands r0, r1 + strh r0, [r2, 0x30] + cmp r0, 0x18 + ble _080A1BEC + adds r3, r2, 0 + adds r3, 0x3E + ldrb r0, [r3] + movs r1, 0x4 + orrs r0, r1 + b _080A1C06 +_080A1BEC: + adds r3, r2, 0 + adds r3, 0x3E + ldrb r1, [r3] + movs r0, 0x5 + negs r0, r0 + b _080A1C04 +_080A1BF8: + movs r0, 0 + strh r0, [r2, 0x30] + adds r3, r2, 0 + adds r3, 0x3E + ldrb r1, [r3] + subs r0, 0x5 +_080A1C04: + ands r0, r1 +_080A1C06: + strb r0, [r3] + movs r1, 0x2E + ldrsh r0, [r2, r1] + cmp r0, 0x9 + bne _080A1C1C + ldr r0, _080A1C18 @ =0x02018000 + adds r0, 0x79 + b _080A1C20 + .align 2, 0 +_080A1C18: .4byte 0x02018000 +_080A1C1C: + ldr r0, _080A1C2C @ =0x02018000 + adds r0, 0x7A +_080A1C20: + ldrb r0, [r0] + lsls r0, 4 + strh r0, [r2, 0x26] + pop {r0} + bx r0 + .align 2, 0 +_080A1C2C: .4byte 0x02018000 + thumb_func_end sub_80A1BC0 + + thumb_func_start sub_80A1C30 +sub_80A1C30: @ 80A1C30 + push {r4-r7,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 25 + lsrs r3, r0, 24 + adds r4, r3, 0 + adds r0, r3, 0 + adds r0, 0xA + cmp r3, r0 + bge _080A1C82 + ldr r5, _080A1C88 @ =gSprites + movs r7, 0x5 + negs r7, r7 + ldr r6, _080A1C8C @ =0x0201a009 +_080A1C50: + adds r2, r3, r6 + ldrb r1, [r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r1, 0 + strh r1, [r0, 0x30] + ldrb r0, [r2] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + adds r1, 0x3E + ldrb r2, [r1] + adds r0, r7, 0 + ands r0, r2 + strb r0, [r1] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + adds r0, r4, 0 + adds r0, 0xA + cmp r3, r0 + blt _080A1C50 +_080A1C82: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A1C88: .4byte gSprites +_080A1C8C: .4byte 0x0201a009 + thumb_func_end sub_80A1C30 + + thumb_func_start pokemon_ailments_get_primary +pokemon_ailments_get_primary: @ 80A1C90 + push {lr} + adds r1, r0, 0 + movs r0, 0x88 + ands r0, r1 + cmp r0, 0 + beq _080A1CA0 + movs r0, 0x1 + b _080A1CD2 +_080A1CA0: + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _080A1CAC + movs r0, 0x2 + b _080A1CD2 +_080A1CAC: + movs r0, 0x7 + ands r0, r1 + cmp r0, 0 + beq _080A1CB8 + movs r0, 0x3 + b _080A1CD2 +_080A1CB8: + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _080A1CC4 + movs r0, 0x4 + b _080A1CD2 +_080A1CC4: + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + bne _080A1CD0 + movs r0, 0 + b _080A1CD2 +_080A1CD0: + movs r0, 0x5 +_080A1CD2: + pop {r1} + bx r1 + thumb_func_end pokemon_ailments_get_primary + + thumb_func_start GetMonStatusAndPokerus +GetMonStatusAndPokerus: @ 80A1CD8 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x39 + bl GetMonData + cmp r0, 0 + bne _080A1CEA + movs r0, 0x7 + b _080A1D12 +_080A1CEA: + adds r0, r4, 0 + movs r1, 0x37 + bl GetMonData + bl pokemon_ailments_get_primary + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080A1D12 + adds r0, r4, 0 + movs r1, 0 + bl CheckPartyPokerus + lsls r0, 24 + cmp r0, 0 + bne _080A1D10 + movs r0, 0 + b _080A1D12 +_080A1D10: + movs r0, 0x6 +_080A1D12: + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetMonStatusAndPokerus + + thumb_func_start sub_80A1D18 +sub_80A1D18: @ 80A1D18 + push {r4,r5,lr} + sub sp, 0x64 + mov r0, sp + bl sub_809F678 + mov r0, sp + bl GetMonStatusAndPokerus + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _080A1D58 + subs r0, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r4, _080A1D50 @ =0x0201a01d + ldrb r0, [r4] + cmp r0, 0xFF + bne _080A1D60 + ldr r0, _080A1D54 @ =gSpriteTemplate_83C1304 + movs r1, 0x40 + movs r2, 0x98 + movs r3, 0 + bl CreateSprite + strb r0, [r4] + b _080A1D60 + .align 2, 0 +_080A1D50: .4byte 0x0201a01d +_080A1D54: .4byte gSpriteTemplate_83C1304 +_080A1D58: + movs r0, 0x1D + bl sub_80A18E4 + b _080A1D74 +_080A1D60: + ldr r0, _080A1D7C @ =0x0201a01d + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _080A1D80 @ =gSprites + adds r0, r1 + adds r1, r5, 0 + bl StartSpriteAnim +_080A1D74: + add sp, 0x64 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A1D7C: .4byte 0x0201a01d +_080A1D80: .4byte gSprites + thumb_func_end sub_80A1D18 + + thumb_func_start sub_80A1D84 +sub_80A1D84: @ 80A1D84 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r1, _080A1DC0 @ =0x00007533 + ldr r2, _080A1DC4 @ =gSummaryScreenMonMarkingsPalette + adds r0, r1, 0 + bl sub_80F7920 + adds r4, r0, 0 + ldr r6, _080A1DC8 @ =gUnknown_020384F4 + str r4, [r6] + cmp r4, 0 + beq _080A1DBA + adds r0, r5, 0 + movs r1, 0x8 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl StartSpriteAnim + ldr r1, [r6] + movs r0, 0x3C + strh r0, [r1, 0x20] + movs r0, 0x1A + strh r0, [r1, 0x22] +_080A1DBA: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A1DC0: .4byte 0x00007533 +_080A1DC4: .4byte gSummaryScreenMonMarkingsPalette +_080A1DC8: .4byte gUnknown_020384F4 + thumb_func_end sub_80A1D84 + + thumb_func_start sub_80A1DCC +sub_80A1DCC: @ 80A1DCC + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080A1DE4 @ =gUnknown_020384F4 + ldr r0, [r0] + bl DestroySprite + adds r0, r4, 0 + bl sub_80A1D84 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A1DE4: .4byte gUnknown_020384F4 + thumb_func_end sub_80A1DCC + + thumb_func_start sub_80A1DE8 +sub_80A1DE8: @ 80A1DE8 + push {r4,lr} + movs r1, 0x26 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + bl ball_number_to_ball_processing_index + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl sub_80478DC + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 3 + ldr r1, _080A1E48 @ =gBallSpriteTemplates + adds r0, r1 + movs r1, 0x6 + movs r2, 0x88 + movs r3, 0 + bl CreateSprite + ldr r2, _080A1E4C @ =0x02018000 + strb r0, [r2, 0xD] + ldr r3, _080A1E50 @ =gSprites + ldrb r1, [r2, 0xD] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r3, 0 + adds r1, 0x1C + adds r0, r1 + ldr r1, _080A1E54 @ =SpriteCallbackDummy + str r1, [r0] + ldrb r1, [r2, 0xD] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrb r1, [r0, 0x5] + movs r2, 0xC + orrs r1, r2 + strb r1, [r0, 0x5] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A1E48: .4byte gBallSpriteTemplates +_080A1E4C: .4byte 0x02018000 +_080A1E50: .4byte gSprites +_080A1E54: .4byte SpriteCallbackDummy + thumb_func_end sub_80A1DE8 + + thumb_func_start sub_80A1E58 +sub_80A1E58: @ 80A1E58 + push {r4,lr} + adds r2, r0, 0 + lsls r1, 24 + lsrs r1, 24 + cmp r1, 0xFF + beq _080A1E92 + ldr r3, _080A1E6C @ =gUnknown_083C15BC + ldrb r0, [r3] + adds r4, r2, 0x5 + b _080A1E74 + .align 2, 0 +_080A1E6C: .4byte gUnknown_083C15BC +_080A1E70: + adds r3, 0x4 + ldrb r0, [r3] +_080A1E74: + cmp r0, 0xFF + beq _080A1E7C + cmp r0, r1 + bne _080A1E70 +_080A1E7C: + movs r0, 0xFC + strb r0, [r2] + movs r0, 0x4 + strb r0, [r2, 0x1] + ldrb r0, [r3, 0x1] + strb r0, [r2, 0x2] + ldrb r0, [r3, 0x2] + strb r0, [r2, 0x3] + ldrb r0, [r3, 0x3] + strb r0, [r2, 0x4] + adds r2, r4, 0 +_080A1E92: + adds r0, r2, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80A1E58 + + thumb_func_start sub_80A1E9C +sub_80A1E9C: @ 80A1E9C + push {r4-r6,lr} + sub sp, 0x4 + adds r6, r0, 0 + adds r5, r1, 0 + lsls r4, r2, 24 + lsrs r4, 24 + mov r1, sp + adds r1, 0x1 + mov r2, sp + adds r2, 0x2 + mov r0, sp + bl sub_8072CD4 + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_80A1E58 + adds r6, r0, 0 + adds r1, r5, 0 + bl StringCopy + adds r6, r0, 0 + cmp r4, 0xFF + beq _080A1EEC + movs r0, 0xFC + strb r0, [r6] + movs r0, 0x4 + strb r0, [r6, 0x1] + mov r0, sp + ldrb r0, [r0] + strb r0, [r6, 0x2] + mov r0, sp + ldrb r0, [r0, 0x1] + strb r0, [r6, 0x3] + mov r0, sp + ldrb r0, [r0, 0x2] + strb r0, [r6, 0x4] + movs r0, 0xFF + strb r0, [r6, 0x5] + adds r6, 0x5 +_080A1EEC: + adds r0, r6, 0 + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80A1E9C + + thumb_func_start sub_80A1EF8 +sub_80A1EF8: @ 80A1EF8 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + mov r9, r0 + adds r4, r1, 0 + adds r5, r2, 0 + adds r6, r3, 0 + ldr r3, [sp, 0x1C] + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 16 + lsrs r6, 16 + ldr r0, _080A1F44 @ =gStringVar4 + mov r8, r0 + mov r1, r9 + adds r2, r4, 0 + str r3, [sp] + bl sub_80A1E9C + ldr r3, [sp] + lsls r3, 24 + lsrs r3, 24 + mov r0, r8 + adds r1, r5, 0 + adds r2, r6, 0 + bl MenuPrint_PixelCoords + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A1F44: .4byte gStringVar4 + thumb_func_end sub_80A1EF8 + + thumb_func_start sub_80A1F48 +sub_80A1F48: @ 80A1F48 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + mov r9, r0 + adds r4, r1, 0 + adds r5, r2, 0 + adds r6, r3, 0 + ldr r3, [sp, 0x1C] + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 24 + lsrs r6, 24 + lsls r3, 16 + lsrs r3, 16 + ldr r0, _080A1F94 @ =gStringVar4 + mov r8, r0 + mov r1, r9 + adds r2, r4, 0 + str r3, [sp] + bl sub_80A1E9C + mov r0, r8 + adds r1, r5, 0 + adds r2, r6, 0 + ldr r3, [sp] + bl sub_8072BD8 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A1F94: .4byte gStringVar4 + thumb_func_end sub_80A1F48 + + thumb_func_start sub_80A1F98 +sub_80A1F98: @ 80A1F98 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + mov r10, r0 + mov r8, r1 + adds r4, r2, 0 + adds r2, r3, 0 + ldr r5, [sp, 0x24] + ldr r6, [sp, 0x28] + ldr r7, [sp, 0x2C] + mov r0, r8 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r4, 24 + lsrs r4, 24 + lsls r2, 24 + lsrs r2, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 16 + lsrs r6, 16 + ldr r0, _080A1FF4 @ =gStringVar1 + mov r9, r0 + mov r1, r10 + adds r3, r4, 0 + bl ConvertIntToDecimalStringN + str r7, [sp] + mov r0, r9 + mov r1, r8 + adds r2, r5, 0 + adds r3, r6, 0 + bl sub_80A1EF8 + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A1FF4: .4byte gStringVar1 + thumb_func_end sub_80A1F98 + + thumb_func_start sub_80A1FF8 +sub_80A1FF8: @ 80A1FF8 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + mov r9, r0 + adds r4, r1, 0 + adds r5, r2, 0 + adds r6, r3, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 24 + lsrs r6, 24 + ldr r0, _080A2038 @ =gStringVar4 + mov r8, r0 + mov r1, r9 + adds r2, r4, 0 + bl sub_80A1E9C + mov r0, r8 + adds r1, r5, 0 + adds r2, r6, 0 + bl MenuPrint + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A2038: .4byte gStringVar4 + thumb_func_end sub_80A1FF8 + + thumb_func_start PokemonSummaryScreen_CopyPokemonLevel +PokemonSummaryScreen_CopyPokemonLevel: @ 80A203C + push {r4,lr} + sub sp, 0xC + adds r4, r0, 0 + lsls r1, 24 + lsrs r1, 24 + movs r0, 0x34 + strb r0, [r4] + adds r4, 0x1 + cmp r1, 0 + bne _080A2052 + movs r1, 0x5 +_080A2052: + mov r0, sp + bl ConvertIntToDecimalString + adds r0, r4, 0 + mov r1, sp + movs r2, 0xE + bl sub_80A1E9C + adds r4, r0, 0 + ldr r1, _080A2074 @ =gOtherText_Comma + bl StringCopy + adds r4, r0, 0 + add sp, 0xC + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080A2074: .4byte gOtherText_Comma + thumb_func_end PokemonSummaryScreen_CopyPokemonLevel + + thumb_func_start sub_80A2078 +sub_80A2078: @ 80A2078 + push {lr} + ldr r3, _080A209C @ =gUnknown_03005CF0 + ldr r2, _080A20A0 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r2, [r1] + str r2, [r3] + ldr r2, _080A20A4 @ =sub_80A20A8 + str r2, [r1] + lsls r0, 24 + lsrs r0, 24 + bl _call_via_r2 + pop {r0} + bx r0 + .align 2, 0 +_080A209C: .4byte gUnknown_03005CF0 +_080A20A0: .4byte gTasks +_080A20A4: .4byte sub_80A20A8 + thumb_func_end sub_80A2078 + + thumb_func_start sub_80A20A8 +sub_80A20A8: @ 80A20A8 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8055870 + cmp r0, 0x1 + beq _080A20C6 + ldr r1, _080A20CC @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _080A20D0 @ =gUnknown_03005CF0 + ldr r1, [r1] + str r1, [r0] +_080A20C6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A20CC: .4byte gTasks +_080A20D0: .4byte gUnknown_03005CF0 + thumb_func_end sub_80A20A8 + + .align 2, 0 @ Don't pad with nop. |