summaryrefslogtreecommitdiff
path: root/asm/trade.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/trade.s')
-rw-r--r--asm/trade.s14903
1 files changed, 0 insertions, 14903 deletions
diff --git a/asm/trade.s b/asm/trade.s
deleted file mode 100644
index b833240dd..000000000
--- a/asm/trade.s
+++ /dev/null
@@ -1,14903 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/gba_constants.inc"
- .include "constants/global.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8077170
-sub_8077170: @ 8077170
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x1D
- beq _08077194
- lsls r2, r3, 16
- lsrs r2, 16
- movs r0, 0
- adds r1, r4, 0
- bl SendBlock
- lsls r0, 24
- lsrs r0, 24
- b _080771A2
- .pool
-_08077194:
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- movs r1, 0x54
- adds r2, r4, 0
- bl rfu_NI_setSendData
- movs r0, 0x1
-_080771A2:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8077170
-
- thumb_func_start sub_80771AC
-sub_80771AC: @ 80771AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_800A4D8
- pop {r0}
- bx r0
- thumb_func_end sub_80771AC
-
- thumb_func_start sub_80771BC
-sub_80771BC: @ 80771BC
- push {r4,lr}
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x1D
- bne _080771F0
- ldr r4, =gUnknown_03007880
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- bl sub_800E87C
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0
- bne _080771EC
- movs r0, 0x1
- b _080771F8
- .pool
-_080771EC:
- movs r0, 0
- b _080771F8
-_080771F0:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
-_080771F8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80771BC
-
- thumb_func_start sub_8077200
-sub_8077200: @ 8077200
- push {lr}
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8077200
-
- thumb_func_start sub_8077210
-sub_8077210: @ 8077210
- push {lr}
- bl sub_8077260
- cmp r0, 0
- beq _0807722C
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0]
- movs r0, 0xC
- bl rfu_clearSlot
- b _08077230
- .pool
-_0807722C:
- bl ResetBlockReceivedFlags
-_08077230:
- pop {r0}
- bx r0
- thumb_func_end sub_8077210
-
- thumb_func_start sub_8077234
-sub_8077234: @ 8077234
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8077260
- cmp r0, 0
- beq _08077250
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0]
- movs r0, 0xC
- bl rfu_clearSlot
- b _08077258
- .pool
-_08077250:
- lsls r0, r4, 24
- lsrs r0, 24
- bl ResetBlockReceivedFlag
-_08077258:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8077234
-
- thumb_func_start sub_8077260
-sub_8077260: @ 8077260
- push {lr}
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08077280
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x1D
- bne _08077280
- movs r0, 0x1
- b _08077282
- .pool
-_08077280:
- movs r0, 0
-_08077282:
- pop {r1}
- bx r1
- thumb_func_end sub_8077260
-
- thumb_func_start sub_8077288
-sub_8077288: @ 8077288
- push {lr}
- bl sub_800ADF8
- pop {r0}
- bx r0
- thumb_func_end sub_8077288
-
- thumb_func_start sub_8077294
-sub_8077294: @ 8077294
- push {lr}
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8077294
-
- thumb_func_start sub_80772A4
-sub_80772A4: @ 80772A4
- push {r4,r5,lr}
- sub sp, 0xC
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- bl ResetPaletteFade
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r0, =sub_807811C
- bl SetVBlankCallback
- ldr r4, =gUnknown_0860F074
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0x14
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xD0
- movs r2, 0x14
- bl LoadPalette
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0832DEE4
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- movs r0, 0x8F
- lsls r0, 4
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_0832DEF4
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- beq _0807738C
- bl DeactivateAllTextPrinters
- movs r5, 0
-_08077310:
- lsls r4, r5, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl ClearWindowTilemap
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r5, 0x1
- cmp r5, 0x11
- bls _08077310
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- movs r1, 0x14
- movs r2, 0xC0
- bl LoadUserWindowBorderGfx_
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0xE0
- bl LoadUserWindowBorderGfx
- bl LoadMonIconPalettes
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- adds r0, 0x69
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x6F
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x70
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x74
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x75
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x7A
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x7B
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xA8
- strb r1, [r0]
-_0807738C:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80772A4
-
- thumb_func_start sub_80773AC
-sub_80773AC: @ 80773AC
- push {lr}
- ldr r0, =sub_80773D0
- bl SetMainCallback2
- ldr r0, =gMain
- movs r1, 0
- str r1, [r0]
- ldr r0, =gEnemyPartyCount
- strb r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80773AC
-
- thumb_func_start sub_80773D0
-sub_80773D0: @ 80773D0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x28
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x16
- bls _080773EA
- b _08077B46
-_080773EA:
- lsls r0, 2
- ldr r1, =_080773FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080773FC:
- .4byte _08077458
- .4byte _080774A4
- .4byte _08077560
- .4byte _0807758C
- .4byte _080775E8
- .4byte _08077648
- .4byte _08077688
- .4byte _080776A8
- .4byte _080777E8
- .4byte _08077810
- .4byte _08077834
- .4byte _080778BC
- .4byte _080778CA
- .4byte _08077970
- .4byte _08077A40
- .4byte _08077A80
- .4byte _08077A9A
- .4byte _08077AA8
- .4byte _08077ABC
- .4byte _08077ADC
- .4byte _08077AFC
- .4byte _08077B10
- .4byte _08077B30
-_08077458:
- ldr r4, =gUnknown_0203229C
- ldr r0, =0x000010f0
- bl AllocZeroed
- str r0, [r4]
- bl sub_80772A4
- ldr r4, =gUnknown_02032184
- movs r0, 0xE0
- lsls r0, 4
- bl AllocZeroed
- str r0, [r4]
- movs r6, 0
- ldr r2, =gUnknown_02032188
-_08077476:
- lsls r1, r6, 8
- ldr r0, [r4]
- adds r0, r1
- stm r2!, {r0}
- adds r6, 0x1
- cmp r6, 0xD
- ble _08077476
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _08077B22
- .pool
-_080774A4:
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r6, 0
- movs r4, 0
-_080774B2:
- movs r0, 0x64
- muls r0, r6
- ldr r1, =gEnemyParty
- adds r0, r1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r1, 0
- movs r2, 0
- movs r3, 0x20
- bl CreateMon
- adds r6, 0x1
- cmp r6, 0x5
- ble _080774B2
- movs r0, 0
- bl sub_807A19C
- movs r0, 0
- bl ShowBg
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r2, [r0]
- cmp r2, 0
- bne _0807754C
- ldr r1, =gLinkType
- ldr r5, =0x00001122
- adds r0, r5, 0
- strh r0, [r1]
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0xA8
- strb r2, [r0]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08077528
- bl sub_800B488
- bl OpenLink
- bl sub_8011BA4
- b _08077B46
- .pool
-_08077528:
- bl OpenLink
- ldr r0, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r0, r7
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r0, =task00_08081A90
- movs r1, 0x1
- bl CreateTask
- b _08077B46
- .pool
-_0807754C:
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- b _08077B46
- .pool
-_08077560:
- ldr r2, =gUnknown_0203229C
- ldr r1, [r2]
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0xA8
- ldrb r0, [r1]
- cmp r0, 0xB
- bhi _0807757A
- b _08077B46
-_0807757A:
- movs r0, 0
- strb r0, [r1]
- movs r2, 0x87
- lsls r2, 3
- adds r1, r3, r2
- b _08077B22
- .pool
-_0807758C:
- bl GetLinkPlayerCount_2
- adds r4, r0, 0
- bl sub_800AA48
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bcs _080775A0
- b _08077B46
-_080775A0:
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- beq _080775D8
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bhi _080775C0
- b _08077B46
-_080775C0:
- bl sub_800A620
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _08077B22
- .pool
-_080775D8:
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _08077B22
- .pool
-_080775E8:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080775F2
- b _08077B46
-_080775F2:
- bl IsLinkPlayerDataExchangeComplete
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08077600
- b _08077B46
-_08077600:
- bl sub_8011BD0
- bl CalculatePlayerPartyCount
- ldr r1, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0xA8
- strb r2, [r0]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807762A
- b _08077B46
-_0807762A:
- movs r0, 0x1
- bl sub_801048C
- bl sub_800ADF8
- b _08077B46
- .pool
-_08077648:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08077680
- bl sub_8010500
- lsls r0, 24
- cmp r0, 0
- bne _0807765C
- b _08077B46
-_0807765C:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- b _08077B46
- .pool
-_08077680:
- movs r2, 0x87
- lsls r2, 3
- adds r1, r3, r2
- b _08077B22
-_08077688:
- bl shedinja_maker_maybe
- lsls r0, 24
- cmp r0, 0
- bne _08077694
- b _08077B46
-_08077694:
- bl sub_807A5B0
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _08077B22
- .pool
-_080776A8:
- bl CalculateEnemyPartyCount
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- ldr r1, =gPlayerPartyCount
- ldrb r1, [r1]
- adds r0, 0x36
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, =gEnemyPartyCount
- ldrb r1, [r1]
- adds r0, 0x37
- strb r1, [r0]
- movs r6, 0
- ldr r0, [r2]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- bge _08077740
- mov r8, r2
- ldr r7, =gUnknown_0832DE24
-_080776E2:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r2, [r7]
- lsls r2, 19
- movs r1, 0xE0
- lsls r1, 12
- adds r2, r1
- asrs r2, 16
- ldrb r3, [r7, 0x1]
- lsls r3, 19
- ldr r1, =0xfff40000
- adds r3, r1
- asrs r3, 16
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- adds r0, r5, 0
- ldr r1, =sub_80D3014
- bl CreateMonIcon
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x28
- adds r1, r6
- strb r0, [r1]
- adds r7, 0x2
- adds r6, 0x1
- ldr r0, [r2]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- blt _080776E2
-_08077740:
- movs r6, 0
- ldr r1, =gUnknown_0203229C
- ldr r0, [r1]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- bge _080777B8
- ldr r0, =gUnknown_0832DE24
- mov r8, r1
- adds r7, r0, 0
- adds r7, 0xC
-_08077756:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r2, [r7]
- lsls r2, 19
- movs r3, 0xE0
- lsls r3, 12
- adds r2, r3
- asrs r2, 16
- ldrb r3, [r7, 0x1]
- lsls r3, 19
- ldr r1, =0xfff40000
- adds r3, r1
- asrs r3, 16
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r5, 0
- ldr r1, =sub_80D3014
- bl CreateMonIcon
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x2E
- adds r1, r6
- strb r0, [r1]
- adds r7, 0x2
- adds r6, 0x1
- ldr r0, [r2]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- blt _08077756
-_080777B8:
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _08077B22
- .pool
-_080777E8:
- bl LoadHeldItemIcons
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x36
- adds r1, 0x28
- movs r2, 0
- bl sub_81B5D4C
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _08077B22
- .pool
-_08077810:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x36
- adds r1, 0x28
- movs r2, 0x1
- bl sub_81B5D4C
- ldr r1, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r1, r7
- b _08077B22
- .pool
-_08077834:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r5, =gUnknown_02032188
- ldr r1, [r5]
- movs r4, 0x3
- str r4, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- bl GetMultiplayerId
- lsls r0, 24
- movs r1, 0x80
- lsls r1, 17
- eors r1, r0
- lsrs r1, 24
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, =gLinkPlayers + 8
- adds r0, r1
- ldr r1, [r5, 0xC]
- str r4, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- ldr r4, =gUnknown_0832DE94
- ldr r0, [r4]
- ldr r1, [r5, 0x18]
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- ldr r0, [r4, 0x4]
- ldr r1, [r5, 0x20]
- movs r2, 0x18
- bl sub_807A308
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0xA8
- strb r2, [r0]
- b _08077B46
- .pool
-_080778BC:
- bl sub_807A1F0
- lsls r0, 24
- cmp r0, 0
- bne _080778C8
- b _08077B46
-_080778C8:
- b _08077B1A
-_080778CA:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0x1
- movs r2, 0x78
- bl GetStringCenterAlignXOffset
- movs r6, 0
- add r5, sp, 0x10
- adds r4, r0, 0
- adds r4, 0x10
-_080778DE:
- add r1, sp, 0x10
- ldr r0, =gSpriteTemplate_832DCAC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldrh r0, [r5]
- adds r0, r6
- strh r0, [r5]
- lsls r1, r4, 16
- asrs r1, 16
- add r0, sp, 0x10
- movs r2, 0xA
- movs r3, 0x1
- bl CreateSprite
- adds r4, 0x20
- adds r6, 0x1
- cmp r6, 0x2
- ble _080778DE
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, =gLinkPlayers + 8
- adds r1, r0
- movs r0, 0x1
- movs r2, 0x78
- bl GetStringCenterAlignXOffset
- movs r6, 0
- add r5, sp, 0x10
- adds r4, r0, 0
- adds r4, 0x88
-_0807792C:
- add r1, sp, 0x10
- ldr r0, =gSpriteTemplate_832DCAC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r6, 0x3
- ldrh r3, [r5]
- adds r0, r3
- strh r0, [r5]
- lsls r1, r4, 16
- asrs r1, 16
- add r0, sp, 0x10
- movs r2, 0xA
- movs r3, 0x1
- bl CreateSprite
- adds r4, 0x20
- adds r6, 0x1
- cmp r6, 0x2
- ble _0807792C
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _08077B22
- .pool
-_08077970:
- ldr r4, =gSpriteTemplate_832DCAC
- add r1, sp, 0x10
- adds r0, r4, 0
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
- add r1, sp, 0x10
- adds r0, r1, 0
- ldrh r0, [r0]
- adds r0, 0x6
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xD7
- movs r2, 0x98
- movs r3, 0x1
- bl CreateSprite
- add r0, sp, 0x10
- ldm r4!, {r3,r5,r7}
- stm r0!, {r3,r5,r7}
- ldm r4!, {r1-r3}
- stm r0!, {r1-r3}
- add r1, sp, 0x10
- adds r0, r1, 0
- ldrh r0, [r0]
- adds r0, 0x7
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xF7
- movs r2, 0x98
- movs r3, 0x1
- bl CreateSprite
- movs r6, 0
- add r4, sp, 0x10
- movs r5, 0xC0
- lsls r5, 13
-_080779BC:
- add r1, sp, 0x10
- ldr r0, =gSpriteTemplate_832DCAC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r6, 0
- adds r0, 0x8
- ldrh r7, [r4]
- adds r0, r7
- strh r0, [r4]
- asrs r1, r5, 16
- add r0, sp, 0x10
- movs r2, 0x96
- movs r3, 0x1
- bl CreateSprite
- movs r0, 0x80
- lsls r0, 14
- adds r5, r0
- adds r6, 0x1
- cmp r6, 0x5
- ble _080779BC
- ldr r0, =gSpriteTemplate_832DC94
- ldr r2, =gUnknown_0832DE24
- ldrb r1, [r2]
- lsls r1, 19
- movs r3, 0x80
- lsls r3, 14
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2, 0x1]
- lsls r2, 3
- movs r3, 0x2
- bl CreateSprite
- ldr r2, =gUnknown_0203229C
- ldr r1, [r2]
- adds r1, 0x34
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x35
- strb r3, [r0]
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- bl rbox_fill_rectangle
- b _08077B46
- .pool
-_08077A40:
- movs r0, 0
- bl sub_807A320
- movs r0, 0
- bl sub_8079BE0
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- strb r1, [r0, 0x1]
- bl sub_8078388
- ldr r1, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, =0x000001b3
- bl PlayBGM
- b _08077B46
- .pool
-_08077A80:
- movs r0, 0x1
- bl sub_807A320
- movs r0, 0x1
- bl sub_8079BE0
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08077A9A:
- movs r0, 0
- bl sub_80782B8
- b _08077B1A
- .pool
-_08077AA8:
- movs r0, 0x1
- bl sub_80782B8
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _08077B22
- .pool
-_08077ABC:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _08077B22
- .pool
-_08077ADC:
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x2
- bl sub_80782B8
- ldr r1, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r1, r7
- b _08077B22
- .pool
-_08077AFC:
- movs r0, 0
- bl sub_807A468
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _08077B22
- .pool
-_08077B10:
- movs r0, 0x1
- bl sub_807A468
- bl sub_807A53C
-_08077B1A:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_08077B22:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08077B46
- .pool
-_08077B30:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08077B46
- ldr r0, =sub_8078C34
- str r0, [r3]
- ldr r0, =sub_807825C
- bl SetMainCallback2
-_08077B46:
- bl RunTextPrinters
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80773D0
-
- thumb_func_start sub_8077B74
-sub_8077B74: @ 8077B74
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x24
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x16
- bls _08077B8E
- b _080780F6
-_08077B8E:
- lsls r0, 2
- ldr r1, =_08077BA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08077BA0:
- .4byte _08077BFC
- .4byte _08077C10
- .4byte _08077C18
- .4byte _08077C20
- .4byte _08077C28
- .4byte _08077C3C
- .4byte _08077C64
- .4byte _08077C6C
- .4byte _08077DB0
- .4byte _08077DD8
- .4byte _08077DFC
- .4byte _08077E84
- .4byte _08077EA0
- .4byte _08077F48
- .4byte _080780F6
- .4byte _080780F6
- .4byte _08078038
- .4byte _08078040
- .4byte _08078068
- .4byte _080780A4
- .4byte _080780C4
- .4byte _080780CC
- .4byte _080780E4
-_08077BFC:
- bl sub_80772A4
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080780D8
- .pool
-_08077C10:
- movs r5, 0x87
- lsls r5, 3
- adds r1, r2, r5
- b _08077E58
-_08077C18:
- movs r7, 0x87
- lsls r7, 3
- adds r1, r2, r7
- b _080780D8
-_08077C20:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _080780D8
-_08077C28:
- bl CalculatePlayerPartyCount
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _080780D8
- .pool
-_08077C3C:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08077C50
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
-_08077C50:
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080780D8
- .pool
-_08077C64:
- movs r5, 0x87
- lsls r5, 3
- adds r1, r2, r5
- b _080780D8
-_08077C6C:
- bl CalculateEnemyPartyCount
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- ldr r1, =gPlayerPartyCount
- ldrb r1, [r1]
- adds r0, 0x36
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, =gEnemyPartyCount
- ldrb r1, [r1]
- adds r0, 0x37
- strb r1, [r0]
- movs r0, 0
- bl ClearWindowTilemap
- movs r0, 0
- bl sub_8079BE0
- movs r0, 0x1
- bl sub_8079BE0
- movs r6, 0
- ldr r0, [r4]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- bge _08077D08
- mov r8, r4
- ldr r7, =gUnknown_0832DE24
-_08077CA8:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r2, [r7]
- lsls r2, 19
- movs r1, 0xE0
- lsls r1, 12
- adds r2, r1
- asrs r2, 16
- ldrb r3, [r7, 0x1]
- lsls r3, 19
- ldr r1, =0xfff40000
- adds r3, r1
- asrs r3, 16
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- adds r0, r5, 0
- ldr r1, =sub_80D3014
- bl CreateMonIcon
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x28
- adds r1, r6
- strb r0, [r1]
- adds r7, 0x2
- adds r6, 0x1
- ldr r0, [r2]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- blt _08077CA8
-_08077D08:
- movs r6, 0
- ldr r1, =gUnknown_0203229C
- ldr r0, [r1]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- bge _08077D80
- ldr r0, =gUnknown_0832DE24
- mov r8, r1
- adds r7, r0, 0
- adds r7, 0xC
-_08077D1E:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r2, [r7]
- lsls r2, 19
- movs r3, 0xE0
- lsls r3, 12
- adds r2, r3
- asrs r2, 16
- ldrb r3, [r7, 0x1]
- lsls r3, 19
- ldr r1, =0xfff40000
- adds r3, r1
- asrs r3, 16
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r5, 0
- ldr r1, =sub_80D3014
- bl CreateMonIcon
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0x2E
- adds r1, r6
- strb r0, [r1]
- adds r7, 0x2
- adds r6, 0x1
- ldr r0, [r2]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- blt _08077D1E
-_08077D80:
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080780D8
- .pool
-_08077DB0:
- bl LoadHeldItemIcons
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x36
- adds r1, 0x28
- movs r2, 0
- bl sub_81B5D4C
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _080780D8
- .pool
-_08077DD8:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x36
- adds r1, 0x28
- movs r2, 0x1
- bl sub_81B5D4C
- ldr r1, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r1, r7
- b _080780D8
- .pool
-_08077DFC:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r5, =gUnknown_02032188
- ldr r1, [r5]
- movs r4, 0x3
- str r4, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- bl GetMultiplayerId
- lsls r0, 24
- movs r1, 0x80
- lsls r1, 17
- eors r1, r0
- lsrs r1, 24
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, =gLinkPlayers + 8
- adds r0, r1
- ldr r1, [r5, 0xC]
- str r4, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- ldr r4, =gUnknown_0832DE94
- ldr r0, [r4]
- ldr r1, [r5, 0x18]
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- ldr r0, [r4, 0x4]
- ldr r1, [r5, 0x20]
- movs r2, 0x18
- bl sub_807A308
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_08077E58:
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0xA8
- strb r2, [r0]
- b _080780F6
- .pool
-_08077E84:
- bl sub_807A1F0
- lsls r0, 24
- cmp r0, 0
- bne _08077E90
- b _080780F6
-_08077E90:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _080780D8
- .pool
-_08077EA0:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0x1
- movs r2, 0x78
- bl GetStringCenterAlignXOffset
- movs r6, 0
- add r5, sp, 0xC
- adds r4, r0, 0
- adds r4, 0x10
-_08077EB4:
- add r1, sp, 0xC
- ldr r0, =gSpriteTemplate_832DCAC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldrh r0, [r5]
- adds r0, r6
- strh r0, [r5]
- lsls r1, r4, 16
- asrs r1, 16
- add r0, sp, 0xC
- movs r2, 0xA
- movs r3, 0x1
- bl CreateSprite
- adds r4, 0x20
- adds r6, 0x1
- cmp r6, 0x2
- ble _08077EB4
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, =gLinkPlayers + 8
- adds r1, r0
- movs r0, 0x1
- movs r2, 0x78
- bl GetStringCenterAlignXOffset
- movs r6, 0
- add r5, sp, 0xC
- adds r4, r0, 0
- adds r4, 0x88
-_08077F02:
- add r1, sp, 0xC
- ldr r0, =gSpriteTemplate_832DCAC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r6, 0x3
- ldrh r3, [r5]
- adds r0, r3
- strh r0, [r5]
- lsls r1, r4, 16
- asrs r1, 16
- add r0, sp, 0xC
- movs r2, 0xA
- movs r3, 0x1
- bl CreateSprite
- adds r4, 0x20
- adds r6, 0x1
- cmp r6, 0x2
- ble _08077F02
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _080780D8
- .pool
-_08077F48:
- ldr r4, =gSpriteTemplate_832DCAC
- add r1, sp, 0xC
- adds r0, r4, 0
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
- add r1, sp, 0xC
- adds r0, r1, 0
- ldrh r0, [r0]
- adds r0, 0x6
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xD7
- movs r2, 0x98
- movs r3, 0x1
- bl CreateSprite
- add r0, sp, 0xC
- ldm r4!, {r3,r5,r7}
- stm r0!, {r3,r5,r7}
- ldm r4!, {r1-r3}
- stm r0!, {r1-r3}
- add r1, sp, 0xC
- adds r0, r1, 0
- ldrh r0, [r0]
- adds r0, 0x7
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xF7
- movs r2, 0x98
- movs r3, 0x1
- bl CreateSprite
- movs r6, 0
- add r4, sp, 0xC
- movs r5, 0xC0
- lsls r5, 13
-_08077F94:
- add r1, sp, 0xC
- ldr r0, =gSpriteTemplate_832DCAC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r6, 0
- adds r0, 0x8
- ldrh r7, [r4]
- adds r0, r7
- strh r0, [r4]
- asrs r1, r5, 16
- add r0, sp, 0xC
- movs r2, 0x96
- movs r3, 0x1
- bl CreateSprite
- movs r0, 0x80
- lsls r0, 14
- adds r5, r0
- adds r6, 0x1
- cmp r6, 0x5
- ble _08077F94
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x35
- ldrb r1, [r2]
- adds r4, r0, 0
- cmp r1, 0x5
- bhi _08077FE4
- ldr r0, =gUnknown_0203CF20
- ldrb r0, [r0]
- b _08077FEA
- .pool
-_08077FE4:
- ldr r0, =gUnknown_0203CF20
- ldrb r0, [r0]
- adds r0, 0x6
-_08077FEA:
- strb r0, [r2]
- ldr r0, =gSpriteTemplate_832DC94
- ldr r3, =gUnknown_0832DE24
- ldr r1, [r4]
- adds r1, 0x35
- ldrb r2, [r1]
- lsls r2, 1
- adds r1, r2, r3
- ldrb r1, [r1]
- lsls r1, 19
- movs r5, 0x80
- lsls r5, 14
- adds r1, r5
- asrs r1, 16
- adds r3, 0x1
- adds r2, r3
- ldrb r2, [r2]
- lsls r2, 3
- movs r3, 0x2
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x34
- strb r0, [r1]
- ldr r0, =gMain
- movs r7, 0x87
- lsls r7, 3
- adds r0, r7
- movs r1, 0x10
- strb r1, [r0]
- b _080780F6
- .pool
-_08078038:
- movs r0, 0
- bl sub_80782B8
- b _080780D0
-_08078040:
- movs r0, 0x1
- bl sub_80782B8
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- strb r1, [r0, 0x1]
- bl sub_8078388
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _080780D8
- .pool
-_08078068:
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080780D8
- .pool
-_080780A4:
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x2
- bl sub_80782B8
- ldr r1, =gMain
- movs r5, 0x87
- lsls r5, 3
- adds r1, r5
- b _080780D8
- .pool
-_080780C4:
- movs r7, 0x87
- lsls r7, 3
- adds r1, r2, r7
- b _080780D8
-_080780CC:
- bl sub_807A53C
-_080780D0:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_080780D8:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080780F6
- .pool
-_080780E4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080780F6
- ldr r0, =sub_807825C
- bl SetMainCallback2
-_080780F6:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x24
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8077B74
-
- thumb_func_start sub_807811C
-sub_807811C: @ 807811C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_807811C
-
- thumb_func_start sub_8078130
-sub_8078130: @ 8078130
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_0203229C
- ldr r1, [r4]
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bls _08078160
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0xA
- strb r1, [r0]
-_08078160:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078130
-
- thumb_func_start sub_807816C
-sub_807816C: @ 807816C
- push {r4,lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080781C2
- ldr r1, =gUnknown_02032298
- ldr r4, =gUnknown_0203229C
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x35
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0
- adds r0, 0x7E
- ldrb r0, [r0]
- strb r0, [r1, 0x1]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _080781B4
- adds r1, r2, 0
- adds r1, 0x6F
- movs r0, 0x10
- strb r0, [r1]
- b _080781C2
- .pool
-_080781B4:
- movs r0, 0x20
- bl sub_800ABF4
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0xD
- strb r1, [r0]
-_080781C2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807816C
-
- thumb_func_start sub_80781C8
-sub_80781C8: @ 80781C8
- push {r4,r5,lr}
- ldr r5, =gMain
- ldr r0, =sub_80773AC
- str r0, [r5, 0x8]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08078220
- bl sub_8010500
- lsls r0, 24
- cmp r0, 0
- beq _08078244
- ldr r0, =gUnknown_02032184
- ldr r0, [r0]
- bl Free
- bl FreeAllWindowBuffers
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- bl Free
- movs r0, 0
- str r0, [r5]
- bl sub_800E084
- ldr r0, =sub_807AE50
- bl SetMainCallback2
- b _08078244
- .pool
-_08078220:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r4, [r0]
- cmp r4, 0
- bne _08078244
- ldr r0, =gUnknown_02032184
- ldr r0, [r0]
- bl Free
- bl FreeAllWindowBuffers
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- bl Free
- str r4, [r5]
- ldr r0, =sub_807AE50
- bl SetMainCallback2
-_08078244:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80781C8
-
- thumb_func_start sub_807825C
-sub_807825C: @ 807825C
- push {r4,lr}
- bl sub_80795AC
- bl sub_807A0C4
- movs r0, 0
- bl sub_80796B4
- movs r0, 0x1
- bl sub_80796B4
- ldr r4, =gUnknown_0203229C
- ldr r2, [r4]
- ldrb r1, [r2]
- adds r0, r1, 0x1
- strb r0, [r2]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x18
- bl SetGpuReg
- ldr r2, [r4]
- ldrb r1, [r2, 0x1]
- adds r0, r1, 0
- adds r0, 0xFF
- strb r0, [r2, 0x1]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1C
- bl SetGpuReg
- bl RunTextPrintersAndIsPrinter0Active
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807825C
-
- thumb_func_start sub_80782B8
-sub_80782B8: @ 80782B8
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- beq _08078324
- cmp r4, 0x1
- bgt _080782CE
- cmp r4, 0
- beq _080782D4
- b _0807837E
-_080782CE:
- cmp r4, 0x2
- beq _0807834C
- b _0807837E
-_080782D4:
- ldr r0, =gUnknown_08DDB3E4
- movs r1, 0
- movs r2, 0x60
- bl LoadPalette
- ldr r1, =gUnknown_08DDB464
- movs r2, 0x94
- lsls r2, 5
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTiles
- ldr r1, =gUnknown_08DDCF04
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, =gTradeStripesBG2Tilemap
- movs r2, 0x80
- lsls r2, 4
- movs r0, 0x2
- movs r3, 0
- bl LoadBgTilemap
- b _0807837E
- .pool
-_08078324:
- ldr r1, =gTradeStripesBG3Tilemap
- movs r2, 0x80
- lsls r2, 4
- movs r0, 0x3
- movs r3, 0
- bl LoadBgTilemap
- movs r0, 0
- bl sub_8079E44
- movs r0, 0x1
- bl sub_8079E44
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _0807837E
- .pool
-_0807834C:
- movs r5, 0x80
- lsls r5, 21
- movs r4, 0x3
-_08078352:
- lsrs r0, r5, 24
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x80
- lsls r0, 18
- adds r5, r0
- subs r4, 0x1
- cmp r4, 0
- bge _08078352
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_0807837E:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80782B8
-
- thumb_func_start sub_8078388
-sub_8078388: @ 8078388
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r3, 0
- ldr r5, =gUnknown_0203229C
- mov r8, r5
- ldr r0, =gSprites
- mov r12, r0
- movs r1, 0x5
- negs r1, r1
- mov r9, r1
- movs r4, 0x6
- movs r7, 0x1
- movs r6, 0
-_080783A6:
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x36
- ldrb r1, [r1]
- cmp r3, r1
- bge _080783E0
- adds r0, 0x28
- adds r0, r3
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r9
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x38
- adds r0, r3
- strb r7, [r0]
- b _080783E6
- .pool
-_080783E0:
- adds r0, 0x38
- adds r0, r3
- strb r6, [r0]
-_080783E6:
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x37
- ldrb r1, [r1]
- cmp r3, r1
- bge _08078416
- adds r0, 0x2E
- adds r0, r3
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r9
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x38
- adds r0, r4
- strb r7, [r0]
- b _0807841C
-_08078416:
- adds r0, 0x38
- adds r0, r4
- strb r6, [r0]
-_0807841C:
- adds r4, 0x1
- adds r3, 0x1
- cmp r3, 0x5
- ble _080783A6
- ldr r0, [r5]
- adds r0, 0x44
- movs r1, 0x1
- strb r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8078388
-
- thumb_func_start sub_8078438
-sub_8078438: @ 8078438
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r3, 0
- cmp r3, r2
- bcs _08078452
-_08078444:
- adds r0, r5, r3
- adds r1, r4, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, r2
- bcc _08078444
-_08078452:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8078438
-
- thumb_func_start shedinja_maker_maybe
-shedinja_maker_maybe: @ 8078458
- push {r4-r6,lr}
- sub sp, 0xC
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x69
- ldrb r0, [r0]
- cmp r0, 0x15
- bls _08078472
- b _080787AA
-_08078472:
- lsls r0, 2
- ldr r1, =_08078484
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08078484:
- .4byte _080784DC
- .4byte _08078508
- .4byte _08078784
- .4byte _08078534
- .4byte _08078548
- .4byte _0807857C
- .4byte _08078784
- .4byte _08078598
- .4byte _080785AC
- .4byte _080785E0
- .4byte _08078784
- .4byte _080785FC
- .4byte _08078610
- .4byte _08078644
- .4byte _08078784
- .4byte _0807866C
- .4byte _08078680
- .4byte _080786B4
- .4byte _08078784
- .4byte _080786DC
- .4byte _080786F0
- .4byte _08078720
-_080784DC:
- ldr r0, =gBlockSendBuffer
- ldr r1, =gPlayerParty
- movs r2, 0xC8
- bl sub_8078438
- ldr r3, =gUnknown_0203229C
- ldr r1, [r3]
- adds r1, 0x69
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0xA8
- strb r2, [r0]
- b _080787AA
- .pool
-_08078508:
- bl sub_80771BC
- cmp r0, 0
- bne _08078512
- b _080787AA
-_08078512:
- bl sub_8077200
- cmp r0, 0
- bne _08078524
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078524:
- bl sub_8077210
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078534:
- cmp r5, 0
- bne _0807853E
- movs r0, 0x1
- bl sub_80771AC
-_0807853E:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078548:
- bl sub_8077200
- cmp r0, 0x3
- beq _08078552
- b _080787AA
-_08078552:
- ldr r0, =gEnemyParty
- movs r2, 0x1
- adds r1, r5, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xC8
- bl sub_8078438
- bl sub_8077210
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_0807857C:
- ldr r0, =gBlockSendBuffer
- ldr r1, =gPlayerParty + 200
- movs r2, 0xC8
- bl sub_8078438
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078598:
- cmp r5, 0
- bne _080785A2
- movs r0, 0x1
- bl sub_80771AC
-_080785A2:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_080785AC:
- bl sub_8077200
- cmp r0, 0x3
- beq _080785B6
- b _080787AA
-_080785B6:
- ldr r0, =gEnemyParty + 200
- movs r2, 0x1
- adds r1, r5, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xC8
- bl sub_8078438
- bl sub_8077210
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_080785E0:
- ldr r0, =gBlockSendBuffer
- ldr r1, =gPlayerParty + 400
- movs r2, 0xC8
- bl sub_8078438
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_080785FC:
- cmp r5, 0
- bne _08078606
- movs r0, 0x1
- bl sub_80771AC
-_08078606:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078610:
- bl sub_8077200
- cmp r0, 0x3
- beq _0807861A
- b _080787AA
-_0807861A:
- ldr r0, =gEnemyParty + 400
- movs r2, 0x1
- adds r1, r5, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xC8
- bl sub_8078438
- bl sub_8077210
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078644:
- ldr r0, =gBlockSendBuffer
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r2, =0x00002be0
- adds r1, r2
- movs r2, 0xDC
- bl sub_8078438
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_0807866C:
- cmp r5, 0
- bne _08078676
- movs r0, 0x3
- bl sub_80771AC
-_08078676:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_08078680:
- bl sub_8077200
- cmp r0, 0x3
- beq _0807868A
- b _080787AA
-_0807868A:
- ldr r0, =gUnknown_020321C0
- movs r2, 0x1
- adds r1, r5, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xD8
- bl sub_8078438
- bl sub_8077210
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_080786B4:
- ldr r0, =gBlockSendBuffer
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r2, =0x000031a8
- adds r1, r2
- movs r2, 0xB
- bl sub_8078438
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_080786DC:
- cmp r5, 0
- bne _080786E6
- movs r0, 0x4
- bl sub_80771AC
-_080786E6:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _080787A2
- .pool
-_080786F0:
- bl sub_8077200
- cmp r0, 0x3
- bne _080787AA
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- adds r0, 0xA9
- movs r2, 0x1
- adds r1, r5, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xB
- bl sub_8078438
- bl sub_8077210
- ldr r1, [r4]
- b _080787A2
- .pool
-_08078720:
- ldr r4, =gEnemyParty
- ldr r6, =0x0000012f
- movs r5, 0x5
-_08078726:
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _08078766
- cmp r0, r6
- bne _08078766
- adds r0, r4, 0
- movs r1, 0x3
- bl GetMonData
- cmp r0, 0x1
- beq _08078766
- adds r0, r4, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- ldr r1, =gJPText_Shedinja
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- bne _08078766
- adds r0, r4, 0
- movs r1, 0x2
- ldr r2, =gSpeciesNames + 303 * 11 @ SPECIES_SHEDINJA * POKEMON_NAME_LENGTH + 1
- bl SetMonData
-_08078766:
- adds r4, 0x64
- subs r5, 0x1
- cmp r5, 0
- bge _08078726
- movs r0, 0x1
- b _080787AC
- .pool
-_08078784:
- ldr r2, =gUnknown_0203229C
- ldr r1, [r2]
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0xA8
- ldrb r0, [r1]
- cmp r0, 0xA
- bls _080787AA
- movs r0, 0
- strb r0, [r1]
- ldr r1, [r2]
-_080787A2:
- adds r1, 0x69
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080787AA:
- movs r0, 0
-_080787AC:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end shedinja_maker_maybe
-
- thumb_func_start sub_80787B8
-sub_80787B8: @ 80787B8
- push {lr}
- ldr r0, =gText_IsThisTradeOkay
- ldr r1, =gUnknown_0203229C
- ldr r1, [r1]
- adds r1, 0x72
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, =0x06010000
- adds r1, r2
- movs r2, 0x18
- bl sub_807A308
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80787B8
-
- thumb_func_start sub_80787E0
-sub_80787E0: @ 80787E0
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- movs r2, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08078864
- ldr r0, =gBlockRecvBuffer
- ldrh r1, [r0]
- ldr r0, =0x0000bbbb
- cmp r1, r0
- beq _08078844
- cmp r1, r0
- bgt _08078814
- ldr r0, =0x0000aabb
- cmp r1, r0
- beq _08078834
- b _0807885E
- .pool
-_08078814:
- ldr r0, =0x0000bbcc
- cmp r1, r0
- beq _08078854
- ldr r0, =0x0000eeaa
- cmp r1, r0
- bne _0807885E
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x78
- b _0807885A
- .pool
-_08078834:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x78
- strb r2, [r0]
- b _0807885E
- .pool
-_08078844:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x7A
- strb r2, [r0]
- b _0807885E
- .pool
-_08078854:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x7A
-_0807885A:
- movs r1, 0x2
- strb r1, [r0]
-_0807885E:
- movs r0, 0
- bl sub_8077234
-_08078864:
- movs r2, 0x2
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _080788F6
- ldr r3, =gBlockRecvBuffer
- movs r1, 0x80
- lsls r1, 1
- adds r0, r3, r1
- ldrh r1, [r0]
- ldr r0, =0x0000bbbb
- cmp r1, r0
- beq _080788D8
- cmp r1, r0
- bgt _0807889C
- ldr r0, =0x0000aabb
- cmp r1, r0
- beq _080788BC
- b _080788F0
- .pool
-_0807889C:
- ldr r0, =0x0000bbcc
- cmp r1, r0
- beq _080788E8
- ldr r0, =0x0000eeaa
- cmp r1, r0
- bne _080788F0
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x79
- b _080788EE
- .pool
-_080788BC:
- ldr r2, =gUnknown_0203229C
- ldr r1, [r2]
- movs r4, 0x81
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- adds r0, 0x6
- adds r1, 0x7E
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x79
- b _080788DE
- .pool
-_080788D8:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x7B
-_080788DE:
- movs r1, 0x1
- strb r1, [r0]
- b _080788F0
- .pool
-_080788E8:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x7B
-_080788EE:
- strb r2, [r0]
-_080788F0:
- movs r0, 0x1
- bl sub_8077234
-_080788F6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80787E0
-
- thumb_func_start sub_8078900
-sub_8078900: @ 8078900
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r1, 24
- lsrs r5, r1, 24
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _080789E2
- ldr r2, =gBlockRecvBuffer
- ldrh r1, [r2]
- ldr r0, =0x0000ddee
- cmp r1, r0
- beq _080789CC
- cmp r1, r0
- bgt _0807893C
- ldr r0, =0x0000ccdd
- cmp r1, r0
- beq _080789AC
- ldr r0, =0x0000dddd
- cmp r1, r0
- beq _08078978
- b _080789DC
- .pool
-_0807893C:
- ldr r0, =0x0000eebb
- cmp r1, r0
- beq _08078950
- adds r0, 0x11
- cmp r1, r0
- beq _08078974
- b _080789DC
- .pool
-_08078950:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x4
- bl sub_807A19C
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0xB
- b _080789DA
- .pool
-_08078974:
- movs r0, 0x5
- b _080789CE
-_08078978:
- ldr r4, =gUnknown_0203229C
- ldr r1, [r4]
- ldrb r0, [r2, 0x2]
- adds r0, 0x6
- adds r1, 0x7E
- strb r0, [r1]
- movs r0, 0
- bl rbox_fill_rectangle
- ldr r0, [r4]
- adds r0, 0x35
- ldrb r0, [r0]
- bl sub_807967C
- ldr r0, [r4]
- adds r0, 0x7E
- ldrb r0, [r0]
- bl sub_807967C
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0x7
- b _080789DA
- .pool
-_080789AC:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0xA
- b _080789DA
- .pool
-_080789CC:
- movs r0, 0x1
-_080789CE:
- bl sub_807A19C
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x8
-_080789DA:
- strb r1, [r0]
-_080789DC:
- movs r0, 0
- bl sub_8077234
-_080789E2:
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _080789F0
- movs r0, 0x1
- bl sub_8077234
-_080789F0:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078900
-
- thumb_func_start sub_80789FC
-sub_80789FC: @ 80789FC
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, =gUnknown_0203229C
- ldr r2, [r6]
- adds r1, r2, 0
- adds r1, 0x78
- ldrb r0, [r1]
- cmp r0, 0
- bne _08078A10
- b _08078B44
-_08078A10:
- adds r0, r2, 0
- adds r0, 0x79
- ldrb r0, [r0]
- cmp r0, 0
- bne _08078A1C
- b _08078B44
-_08078A1C:
- ldrh r1, [r1]
- ldr r0, =0x00000101
- cmp r1, r0
- bne _08078A64
- adds r1, r2, 0
- adds r1, 0x6F
- movs r0, 0x6
- strb r0, [r1]
- ldr r2, [r6]
- adds r1, r2, 0
- adds r1, 0x80
- movs r4, 0
- ldr r0, =0x0000dddd
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x35
- ldrb r1, [r0]
- adds r0, 0x4D
- strh r1, [r0]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- ldr r0, [r6]
- adds r2, r0, 0
- adds r2, 0x79
- strb r4, [r2]
- adds r0, 0x78
- strb r4, [r0]
- b _08078B44
- .pool
-_08078A64:
- ldr r0, =0x00000201
- cmp r1, r0
- bne _08078AB4
- movs r0, 0x1
- bl sub_807A19C
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0x80
- movs r4, 0
- movs r3, 0
- ldr r0, =0x0000eecc
- strh r0, [r2]
- adds r1, 0x82
- strh r3, [r1]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x7B
- strb r4, [r1]
- adds r0, 0x7A
- strb r4, [r0]
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x79
- strb r4, [r1]
- adds r0, 0x78
- strb r4, [r0]
- ldr r0, [r6]
- adds r0, 0x6F
- movs r1, 0x8
- b _08078B42
- .pool
-_08078AB4:
- movs r0, 0x81
- lsls r0, 1
- cmp r1, r0
- bne _08078B00
- movs r0, 0x5
- bl sub_807A19C
- ldr r1, [r6]
- adds r2, r1, 0
- adds r2, 0x80
- movs r4, 0
- movs r3, 0
- ldr r0, =0x0000ddee
- strh r0, [r2]
- adds r1, 0x82
- strh r3, [r1]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x7B
- strb r4, [r1]
- adds r0, 0x7A
- strb r4, [r0]
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x79
- strb r4, [r1]
- adds r0, 0x78
- strb r4, [r0]
- ldr r0, [r6]
- adds r0, 0x6F
- movs r1, 0x8
- b _08078B42
- .pool
-_08078B00:
- ldr r0, =0x00000202
- cmp r1, r0
- bne _08078B44
- adds r1, r2, 0
- adds r1, 0x80
- movs r5, 0
- movs r4, 0
- ldr r0, =0x0000eebb
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x82
- strh r4, [r0]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x79
- strb r5, [r1]
- adds r0, 0x78
- strb r5, [r0]
- ldr r0, [r6]
- adds r0, 0x6F
- movs r1, 0xB
-_08078B42:
- strb r1, [r0]
-_08078B44:
- ldr r5, =gUnknown_0203229C
- ldr r3, [r5]
- adds r1, r3, 0
- adds r1, 0x7A
- ldrb r0, [r1]
- cmp r0, 0
- beq _08078BDC
- adds r0, r3, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- cmp r0, 0
- beq _08078BDC
- ldrh r1, [r1]
- ldr r0, =0x00000101
- cmp r1, r0
- bne _08078B92
- adds r1, r3, 0
- adds r1, 0x80
- movs r4, 0
- movs r2, 0
- ldr r0, =0x0000ccdd
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0x82
- strh r2, [r0]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- ldr r0, [r5]
- adds r0, 0x7A
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x7B
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x6F
- movs r1, 0x9
- strb r1, [r0]
-_08078B92:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7A
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08078BA8
- adds r0, r1, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08078BDC
-_08078BA8:
- movs r0, 0x1
- bl sub_807A19C
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x80
- movs r4, 0
- movs r3, 0
- ldr r0, =0x0000ddee
- strh r0, [r2]
- adds r1, 0x82
- strh r3, [r1]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- ldr r0, [r5]
- adds r0, 0x7A
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x7B
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x6F
- movs r1, 0x8
- strb r1, [r0]
-_08078BDC:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80789FC
-
- thumb_func_start sub_8078BFC
-sub_8078BFC: @ 8078BFC
- push {lr}
- strh r1, [r0]
- strh r2, [r0, 0x2]
- movs r0, 0x5
- movs r1, 0
- bl sub_807A048
- pop {r0}
- bx r0
- thumb_func_end sub_8078BFC
-
- thumb_func_start sub_8078C10
-sub_8078C10: @ 8078C10
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x80
- adds r1, r3, 0
- bl sub_8078BFC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078C10
-
- thumb_func_start sub_8078C34
-sub_8078C34: @ 8078C34
- push {r4,lr}
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8077200
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08078C5C
- cmp r4, 0
- bne _08078C56
- movs r0, 0
- bl sub_80787E0
- b _08078C5C
-_08078C56:
- adds r0, r4, 0
- bl sub_8078900
-_08078C5C:
- cmp r4, 0
- bne _08078C64
- bl sub_80789FC
-_08078C64:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8078C34
-
- thumb_func_start sub_8078C6C
-sub_8078C6C: @ 8078C6C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r6, 0
- movs r5, 0
- ldr r2, =gUnknown_0203229C
- ldr r3, [r2]
- ldr r4, =gUnknown_0832DCEC
- lsls r2, r1, 1
- adds r2, r1
- lsls r2, 1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r3, 0x38
- adds r2, r1
- adds r2, r4
-_08078C92:
- ldrb r1, [r2]
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08078CA8
- adds r6, r1, 0
- b _08078CB0
- .pool
-_08078CA8:
- adds r2, 0x1
- adds r5, 0x1
- cmp r5, 0x5
- ble _08078C92
-_08078CB0:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8078C6C
-
- thumb_func_start sub_8078CB8
-sub_8078CB8: @ 8078CB8
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldrb r0, [r7]
- bl sub_8078C6C
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xC
- bne _08078D10
- ldr r5, =gUnknown_0203229C
- ldr r0, [r5]
- adds r0, 0x34
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r2, [r5]
- adds r2, 0x34
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xE0
- strh r1, [r0, 0x20]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xA0
- strh r1, [r0, 0x22]
- b _08078D58
- .pool
-_08078D10:
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- adds r0, 0x34
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- movs r1, 0
- bl StartSpriteAnim
- ldr r4, [r4]
- adds r4, 0x34
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldr r2, =gUnknown_0832DE24
- lsls r3, r6, 1
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x20
- strh r0, [r1, 0x20]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r2, 0x1
- adds r3, r2
- ldrb r0, [r3]
- lsls r0, 3
- strh r0, [r1, 0x22]
-_08078D58:
- ldrb r0, [r7]
- cmp r0, r6
- beq _08078D64
- movs r0, 0x5
- bl PlaySE
-_08078D64:
- strb r6, [r7]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078CB8
-
- thumb_func_start sub_8078D78
-sub_8078D78: @ 8078D78
- push {r4,lr}
- movs r0, 0
- bl sub_807A19C
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0x64
- strb r1, [r0]
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08078DAC
- ldr r0, =0x0000aabb
- ldr r1, [r4]
- adds r1, 0x35
- ldrb r1, [r1]
- bl sub_8078C10
- b _08078DB4
- .pool
-_08078DAC:
- ldr r0, [r4]
- adds r0, 0x78
- movs r1, 0x1
- strb r1, [r0]
-_08078DB4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8078D78
-
- thumb_func_start sub_8078DBC
-sub_8078DBC: @ 8078DBC
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08078DE4
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x35
- movs r1, 0
- bl sub_8078CB8
- b _08078E30
- .pool
-_08078DE4:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08078E00
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x35
- movs r1, 0x1
- bl sub_8078CB8
- b _08078E30
- .pool
-_08078E00:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08078E1C
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x35
- movs r1, 0x2
- bl sub_8078CB8
- b _08078E30
- .pool
-_08078E1C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08078E30
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x35
- movs r1, 0x3
- bl sub_8078CB8
-_08078E30:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08078EE4
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- adds r0, 0x35
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _08078E98
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gUnknown_0832DEAC
- movs r0, 0x1
- movs r1, 0x2
- bl PrintMenuTable
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0x1
- strb r1, [r0]
- b _08078EE4
- .pool
-_08078E98:
- cmp r0, 0xB
- bhi _08078EB6
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0x2
- strb r1, [r0]
- b _08078EE4
-_08078EB6:
- cmp r0, 0xC
- bne _08078EE4
- ldr r0, =gUnknown_0832DF8C
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0x4
- strb r1, [r0]
- ldr r0, =gUnknown_0832DE94
- ldr r0, [r0, 0x10]
- ldr r1, [r4]
- adds r1, 0x72
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, =0x06010000
- adds r1, r2
- movs r2, 0x18
- bl sub_807A308
-_08078EE4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078DBC
-
- thumb_func_start sub_8078EF8
-sub_8078EF8: @ 8078EF8
- push {lr}
- bl sub_8079F74
- ldr r3, =gUnknown_0203229C
- ldr r0, [r3]
- adds r0, 0x6F
- movs r1, 0
- strb r1, [r0]
- ldr r2, =gSprites
- ldr r0, [r3]
- adds r0, 0x34
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r0, =gUnknown_0832DE94
- ldr r0, [r0, 0x4]
- ldr r1, [r3]
- adds r1, 0x72
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, =0x06010000
- adds r1, r2
- movs r2, 0x18
- bl sub_807A308
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078EF8
-
- thumb_func_start sub_8078F50
-sub_8078F50: @ 8078F50
- push {lr}
- sub sp, 0x4
- bl Menu_ProcessInputNoWrap
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _08078F72
- cmp r0, r1
- ble _0807902A
- cmp r0, 0
- beq _08078F7E
- cmp r0, 0x1
- beq _08078F9C
- b _0807902A
-_08078F72:
- movs r0, 0x5
- bl PlaySE
- bl sub_8078EF8
- b _0807902A
-_08078F7E:
- str r0, [sp]
- adds r0, r1, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x2
- b _08079028
- .pool
-_08078F9C:
- ldr r0, =gPlayerParty
- ldr r1, =gPlayerPartyCount
- ldrb r1, [r1]
- ldr r2, =gUnknown_0203229C
- ldr r2, [r2]
- adds r2, 0x35
- ldrb r2, [r2]
- bl sub_807A5F4
- cmp r0, 0x5
- bhi _0807902A
- lsls r0, 2
- ldr r1, =_08078FCC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08078FCC:
- .4byte _08078FE4
- .4byte _0807900C
- .4byte _08079012
- .4byte _08079018
- .4byte _08079012
- .4byte _08079018
-_08078FE4:
- bl sub_8078D78
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x34
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _08079028
- .pool
-_0807900C:
- movs r0, 0x3
- movs r1, 0x3
- b _0807901C
-_08079012:
- movs r0, 0x3
- movs r1, 0x6
- b _0807901C
-_08079018:
- movs r0, 0x3
- movs r1, 0x7
-_0807901C:
- bl sub_807A048
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x8
-_08079028:
- strb r1, [r0]
-_0807902A:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8078F50
-
- thumb_func_start sub_8079034
-sub_8079034: @ 8079034
- push {lr}
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0807904A
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08079054
-_0807904A:
- movs r0, 0x5
- bl PlaySE
- bl sub_8078EF8
-_08079054:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079034
-
- thumb_func_start sub_807905C
-sub_807905C: @ 807905C
- push {lr}
- sub sp, 0x4
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080790C4
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r3, r0, 0
- adds r3, 0x35
- ldrb r2, [r3]
- cmp r2, 0x5
- bhi _080790A4
- ldr r1, =gPlayerParty
- ldrb r2, [r3]
- adds r0, 0x36
- ldrb r3, [r0]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =sub_8077B74
- str r0, [sp]
- movs r0, 0x1
- bl ShowPokemonSummaryScreen
- b _080790C0
- .pool
-_080790A4:
- ldr r1, =gEnemyParty
- subs r2, 0x6
- lsls r2, 24
- lsrs r2, 24
- adds r0, 0x37
- ldrb r3, [r0]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =sub_8077B74
- str r0, [sp]
- movs r0, 0x1
- bl ShowPokemonSummaryScreen
-_080790C0:
- bl FreeAllWindowBuffers
-_080790C4:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807905C
-
- thumb_func_start sub_80790D4
-sub_80790D4: @ 80790D4
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- movs r5, 0
- movs r3, 0
- ldr r7, =gEnemyParty
- cmp r5, r1
- bge _08079102
-_080790EE:
- cmp r2, r3
- beq _080790FC
- adds r0, r4, r3
- ldrb r0, [r0]
- adds r0, r5, r0
- lsls r0, 24
- lsrs r5, r0, 24
-_080790FC:
- adds r3, 0x1
- cmp r3, r1
- blt _080790EE
-_08079102:
- adds r0, r6, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x64
- muls r0, r6
- adds r7, r0, r7
- adds r0, r7, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0xCD
- lsls r0, 1
- cmp r4, r0
- beq _0807912C
- cmp r4, 0x97
- bne _08079138
-_0807912C:
- adds r0, r7, 0
- movs r1, 0x50
- bl GetMonData
- cmp r0, 0
- beq _08079158
-_08079138:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _08079164
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x57
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _08079158
- adds r0, r4, 0
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _08079164
-_08079158:
- movs r0, 0x2
- b _0807916C
- .pool
-_08079164:
- cmp r5, 0
- beq _0807916A
- movs r5, 0x1
-_0807916A:
- adds r0, r5, 0
-_0807916C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80790D4
-
- thumb_func_start sub_8079174
-sub_8079174: @ 8079174
- push {r4,r5,lr}
- sub sp, 0xC
- movs r2, 0
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0x36
- adds r5, r0, 0
- ldrb r0, [r3]
- cmp r2, r0
- bge _080791A0
- adds r4, r1, 0
- adds r4, 0x45
-_0807918E:
- mov r1, sp
- adds r0, r1, r2
- adds r1, r4, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- ldrb r0, [r3]
- cmp r2, r0
- blt _0807918E
-_080791A0:
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x36
- ldrb r1, [r1]
- adds r2, r0, 0
- adds r2, 0x35
- ldrb r2, [r2]
- adds r0, 0x7E
- ldrb r3, [r0]
- mov r0, sp
- bl sub_80790D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080791E8
- cmp r0, 0x1
- bgt _080791D0
- cmp r0, 0
- beq _080791D6
- b _0807920C
- .pool
-_080791D0:
- cmp r0, 0x2
- beq _08079200
- b _0807920C
-_080791D6:
- movs r0, 0x3
- movs r1, 0x3
- bl sub_807A048
- ldr r0, =0x0000bbcc
- b _080791F2
- .pool
-_080791E8:
- movs r0, 0x3
- movs r1, 0x1
- bl sub_807A048
- ldr r0, =0x0000bbbb
-_080791F2:
- movs r1, 0
- bl sub_8078C10
- b _0807920C
- .pool
-_08079200:
- movs r0, 0x3
- movs r1, 0x8
- bl sub_807A048
- movs r0, 0x1
- b _0807920E
-_0807920C:
- movs r0, 0
-_0807920E:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8079174
-
- thumb_func_start sub_8079218
-sub_8079218: @ 8079218
- push {lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0807923A
- cmp r1, 0
- bgt _08079234
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08079268
- b _08079290
-_08079234:
- cmp r1, 0x1
- beq _08079268
- b _08079290
-_0807923A:
- bl sub_8079174
- cmp r0, 0
- bne _08079250
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x64
- b _08079258
- .pool
-_08079250:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x11
-_08079258:
- strb r1, [r0]
- movs r0, 0x11
- bl PutWindowTilemap
- b _08079290
- .pool
-_08079268:
- movs r0, 0x3
- movs r1, 0x1
- bl sub_807A048
- bl sub_80771BC
- cmp r0, 0
- beq _08079280
- ldr r0, =0x0000bbcc
- movs r1, 0
- bl sub_8078C10
-_08079280:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x64
- strb r1, [r0]
- movs r0, 0x11
- bl PutWindowTilemap
-_08079290:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079218
-
- thumb_func_start sub_807929C
-sub_807929C: @ 807929C
- push {r4-r6,lr}
- movs r5, 0
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x37
- ldrb r0, [r0]
- subs r0, 0x4
- cmp r5, r0
- bge _080792D8
- movs r6, 0xC0
- lsls r6, 20
-_080792B2:
- lsrs r4, r6, 24
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x1
- bl CopyWindowToVram
- movs r0, 0x80
- lsls r0, 17
- adds r6, r0
- adds r5, 0x1
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x37
- ldrb r0, [r0]
- subs r0, 0x4
- cmp r5, r0
- blt _080792B2
-_080792D8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807929C
-
- thumb_func_start sub_80792E4
-sub_80792E4: @ 80792E4
- push {lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08079306
- cmp r1, 0
- bgt _08079300
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0807934C
- b _08079356
-_08079300:
- cmp r1, 0x1
- beq _0807934C
- b _08079356
-_08079306:
- movs r0, 0x4
- bl sub_807A19C
- ldr r0, =0x0000eeaa
- movs r1, 0
- bl sub_8078C10
- ldr r2, =gSprites
- ldr r3, =gUnknown_0203229C
- ldr r0, [r3]
- adds r0, 0x34
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0x6F
- movs r1, 0x64
- strb r1, [r0]
- bl sub_807929C
- b _08079356
- .pool
-_0807934C:
- movs r0, 0x5
- bl PlaySE
- bl sub_8078EF8
-_08079356:
- pop {r0}
- bx r0
- thumb_func_end sub_80792E4
-
- thumb_func_start sub_807935C
-sub_807935C: @ 807935C
- push {r4,lr}
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _08079384
- movs r0, 0
- bl rbox_fill_rectangle
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- adds r0, 0x35
- ldrb r0, [r0]
- bl sub_807967C
- ldr r0, [r4]
- adds r0, 0x7E
- ldrb r0, [r0]
- bl sub_807967C
-_08079384:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x7
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807935C
-
- thumb_func_start sub_8079398
-sub_8079398: @ 8079398
- push {r4,lr}
- ldr r4, =gUnknown_0203229C
- ldr r0, [r4]
- adds r0, 0x74
- ldrh r1, [r0]
- ldr r0, =0x00000505
- cmp r1, r0
- bne _080793B4
- bl sub_80787B8
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0xE
- strb r1, [r0]
-_080793B4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079398
-
- thumb_func_start sub_80793C4
-sub_80793C4: @ 80793C4
- push {r4,lr}
- ldr r4, =gUnknown_0203229C
- ldr r1, [r4]
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x78
- bls _080793F8
- ldr r0, =gUnknown_0832DF8C
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x6F
- movs r1, 0x3
- strb r1, [r0]
-_080793F8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80793C4
-
- thumb_func_start sub_8079408
-sub_8079408: @ 8079408
- push {r4-r6,lr}
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807947C
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl rbox_fill_rectangle
- movs r0, 0x1
- bl rbox_fill_rectangle
- movs r6, 0
- movs r5, 0xE0
- lsls r5, 20
-_0807942E:
- lsrs r4, r5, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- bl rbox_fill_rectangle
- movs r0, 0x80
- lsls r0, 17
- adds r5, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _0807942E
- movs r0, 0
- bl sub_8079F88
- movs r0, 0x1
- bl sub_8079F88
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- adds r0, 0x6F
- movs r1, 0
- strb r1, [r0]
- ldr r3, =gSprites
- ldr r0, [r2]
- adds r0, 0x34
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_0807947C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079408
-
- thumb_func_start sub_8079490
-sub_8079490: @ 8079490
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080794C4
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _080794B4
- bl sub_800ADF8
- b _080794BA
- .pool
-_080794B4:
- movs r0, 0xC
- bl sub_800ABF4
-_080794BA:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0xC
- strb r1, [r0]
-_080794C4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079490
-
- thumb_func_start sub_80794CC
-sub_80794CC: @ 80794CC
- push {lr}
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08079518
- bl sub_80771BC
- cmp r0, 0
- beq _0807953A
- bl sub_807A09C
- cmp r0, 0
- bne _0807953A
- ldr r0, =gUnknown_02032184
- ldr r0, [r0]
- bl Free
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- bl Free
- bl FreeAllWindowBuffers
- bl sub_800E084
- ldr r0, =c2_8056854
- bl SetMainCallback2
- b _0807953A
- .pool
-_08079518:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807953A
- ldr r0, =gUnknown_02032184
- ldr r0, [r0]
- bl Free
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- bl Free
- bl FreeAllWindowBuffers
- ldr r0, =c2_8056854
- bl SetMainCallback2
-_0807953A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80794CC
-
- thumb_func_start sub_8079550
-sub_8079550: @ 8079550
- push {lr}
- movs r0, 0
- bl sub_801048C
- lsls r0, 24
- cmp r0, 0
- bne _08079574
- bl sub_807A09C
- cmp r0, 0
- bne _08079574
- bl sub_800ADF8
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0xD
- strb r1, [r0]
-_08079574:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079550
-
- thumb_func_start sub_807957C
-sub_807957C: @ 807957C
- push {lr}
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807959C
- ldr r0, =0x0000bbcc
- movs r1, 0
- bl sub_8078C10
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x64
- strb r1, [r0]
-_0807959C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807957C
-
- thumb_func_start sub_80795AC
-sub_80795AC: @ 80795AC
- push {lr}
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x6F
- ldrb r0, [r0]
- cmp r0, 0x11
- bhi _08079678
- lsls r0, 2
- ldr r1, =_080795CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080795CC:
- .4byte _08079614
- .4byte _0807961A
- .4byte _08079620
- .4byte _08079626
- .4byte _0807962C
- .4byte _08079678
- .4byte _08079632
- .4byte _08079638
- .4byte _0807963E
- .4byte _08079644
- .4byte _0807964A
- .4byte _08079650
- .4byte _08079656
- .4byte _0807965C
- .4byte _08079662
- .4byte _08079668
- .4byte _0807966E
- .4byte _08079674
-_08079614:
- bl sub_8078DBC
- b _08079678
-_0807961A:
- bl sub_8078F50
- b _08079678
-_08079620:
- bl sub_807905C
- b _08079678
-_08079626:
- bl sub_8079218
- b _08079678
-_0807962C:
- bl sub_80792E4
- b _08079678
-_08079632:
- bl sub_807935C
- b _08079678
-_08079638:
- bl sub_8079398
- b _08079678
-_0807963E:
- bl sub_8079408
- b _08079678
-_08079644:
- bl sub_8078130
- b _08079678
-_0807964A:
- bl sub_807816C
- b _08079678
-_08079650:
- bl sub_8079490
- b _08079678
-_08079656:
- bl sub_80794CC
- b _08079678
-_0807965C:
- bl sub_80781C8
- b _08079678
-_08079662:
- bl sub_80793C4
- b _08079678
-_08079668:
- bl sub_8079034
- b _08079678
-_0807966E:
- bl sub_8079550
- b _08079678
-_08079674:
- bl sub_807957C
-_08079678:
- pop {r0}
- bx r0
- thumb_func_end sub_80795AC
-
- thumb_func_start sub_807967C
-sub_807967C: @ 807967C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, =gUnknown_0203229C
- ldr r0, [r3]
- adds r0, 0x74
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _080796A8
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x76
- adds r0, r2
- strb r4, [r0]
-_080796A8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807967C
-
- thumb_func_start sub_80796B4
-sub_80796B4: @ 80796B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x68
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203229C
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x76
- adds r0, r7
- ldrb r0, [r0]
- movs r1, 0x1
- str r1, [sp, 0x60]
- cmp r0, 0x5
- bhi _080796DC
- movs r2, 0
- str r2, [sp, 0x60]
-_080796DC:
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r0, 0
- mov r8, r0
- adds r0, r4, 0
- adds r0, 0x74
- adds r3, r0, r7
- ldrb r0, [r3]
- cmp r0, 0x2
- bne _080796FA
- b _08079884
-_080796FA:
- cmp r0, 0x2
- bgt _08079708
- cmp r0, 0x1
- beq _08079716
- b _08079A24
- .pool
-_08079708:
- cmp r0, 0x3
- bne _0807970E
- b _080798BC
-_0807970E:
- cmp r0, 0x4
- bne _08079714
- b _080799EC
-_08079714:
- b _08079A24
-_08079716:
- movs r5, 0
- adds r0, r4, 0
- adds r0, 0x36
- adds r0, r7
- ldr r1, [sp, 0x60]
- lsls r1, 1
- mov r9, r1
- lsls r6, r7, 1
- lsls r2, r7, 4
- str r2, [sp, 0x64]
- ldrb r0, [r0]
- cmp r8, r0
- bcs _0807976A
- ldr r0, =gSprites
- mov r8, r0
- ldr r4, =gUnknown_0203229C
- ldr r0, [sp, 0x60]
- add r0, r9
- lsls r2, r0, 1
- movs r3, 0x4
-_0807973E:
- ldr r0, [r4]
- adds r1, r5, r2
- adds r0, 0x28
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r4]
- adds r0, 0x36
- adds r0, r7
- ldrb r0, [r0]
- cmp r5, r0
- bcc _0807973E
-_0807976A:
- movs r5, 0
- adds r0, r6, r7
- lsls r0, 1
- adds r4, r0, 0x2
-_08079772:
- lsls r0, r5, 24
- asrs r0, 24
- adds r0, r4
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08079772
- ldr r1, =gSprites
- mov r8, r1
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- ldr r6, [sp, 0x60]
- add r6, r9
- lsls r3, r6, 1
- add r10, r3
- adds r0, 0x28
- add r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r0, =gUnknown_0203229C
- ldr r4, [r0]
- adds r4, 0x28
- add r4, r10
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- movs r1, 0x14
- strh r1, [r0, 0x2E]
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r8
- ldr r5, =gUnknown_0832DE24
- lsls r6, 2
- adds r0, r6, r5
- ldrb r0, [r0]
- adds r3, 0x1
- lsls r3, 1
- adds r3, r5
- ldrb r1, [r3]
- adds r0, r1
- asrs r0, 1
- lsls r0, 3
- adds r0, 0xE
- strh r0, [r2, 0x32]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- adds r5, 0x1
- adds r6, r5
- ldrb r0, [r6]
- lsls r0, 3
- subs r0, 0xC
- strh r0, [r1, 0x36]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldr r1, =sub_80D3014
- bl StoreSpriteCallbackInData6
- ldr r2, =gUnknown_0203229C
- ldr r1, [r2]
- adds r1, 0x74
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x28
- add r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- bl sub_80A6DEC
- ldr r1, =gTradePartyBoxTilemap
- ldr r0, [sp, 0x64]
- subs r2, r0, r7
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0x11
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [sp, 0x60]
- cmp r1, 0
- beq _08079868
- b _08079A24
-_08079868:
- bl sub_8079F74
- b _08079A24
- .pool
-_08079884:
- ldr r2, =gSprites
- ldr r1, [sp, 0x60]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- add r0, r10
- adds r1, r4, 0
- adds r1, 0x28
- adds r1, r0
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =sub_80D3014
- cmp r1, r0
- beq _080798AC
- b _08079A24
-_080798AC:
- movs r0, 0x3
- strb r0, [r3]
- b _08079A24
- .pool
-_080798BC:
- ldr r1, =gTradeMovesBoxTilemap
- ldr r0, [sp, 0x60]
- lsls r2, r0, 4
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0x11
- str r0, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r6, =gSprites
- ldr r1, =gUnknown_0203229C
- ldr r4, [r1]
- ldr r2, [sp, 0x60]
- lsls r3, r2, 1
- adds r3, r2
- lsls r1, r3, 1
- mov r2, r10
- adds r0, r2, r1
- adds r4, 0x28
- adds r4, r0
- ldrb r0, [r4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldr r5, =gUnknown_0832DE24
- lsls r3, 2
- adds r0, r3, r5
- ldrb r0, [r0]
- adds r1, 0x1
- lsls r1, 1
- adds r1, r5
- ldrb r1, [r1]
- adds r0, r1
- asrs r0, 1
- lsls r0, 3
- adds r0, 0xE
- strh r0, [r2, 0x20]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r5, 0x1
- adds r3, r5
- ldrb r0, [r3]
- lsls r0, 3
- subs r0, 0xC
- strh r0, [r1, 0x22]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r8
- strh r1, [r0, 0x24]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r2, r8
- strh r2, [r0, 0x26]
- add r0, sp, 0x14
- ldr r1, [sp, 0x60]
- mov r2, r10
- bl sub_8079A3C
- lsls r4, r7, 1
- adds r5, r4, 0
- adds r5, 0xE
- lsls r5, 24
- lsrs r5, 24
- lsls r0, 24
- asrs r0, 24
- movs r2, 0x50
- subs r2, r0
- lsrs r0, r2, 31
- adds r2, r0
- asrs r2, 1
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_0832DEE0
- mov r8, r0
- str r0, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- add r0, sp, 0x14
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized3
- add r6, sp, 0x28
- adds r0, r6, 0
- ldr r1, [sp, 0x60]
- mov r2, r10
- bl sub_8079AA4
- adds r4, 0xF
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- mov r2, r8
- str r2, [sp, 0x8]
- str r1, [sp, 0xC]
- str r6, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl AddTextPrinterParameterized4
- adds r0, r5, 0
- bl PutWindowTilemap
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- b _08079A1A
- .pool
-_080799EC:
- ldr r0, =gUnknown_0832DF99
- lsls r1, r7, 1
- adds r4, r1, r0
- ldrb r2, [r4]
- adds r2, 0x4
- lsls r2, 24
- lsrs r2, 24
- adds r0, 0x1
- adds r1, r0
- ldrb r3, [r1]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4]
- str r0, [sp]
- ldrb r0, [r1]
- str r0, [sp, 0x4]
- adds r0, r7, 0
- mov r1, r10
- bl sub_8079C4C
- ldr r2, =gUnknown_0203229C
- ldr r1, [r2]
-_08079A1A:
- adds r1, 0x74
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08079A24:
- add sp, 0x68
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80796B4
-
- thumb_func_start sub_8079A3C
-sub_8079A3C: @ 8079A3C
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r1, 24
- lsls r2, 24
- lsrs r2, 24
- cmp r1, 0
- bne _08079A64
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _08079A74
- .pool
-_08079A64:
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_08079A74:
- adds r0, r4, 0
- mov r1, sp
- bl StringCopy10
- movs r0, 0
- movs r1, 0x2
- bl GetFontAttribute
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0
- adds r1, r4, 0
- bl GetStringWidth
- lsls r0, 24
- lsrs r0, 24
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8079A3C
-
- thumb_func_start sub_8079AA4
-sub_8079AA4: @ 8079AA4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 1
- adds r0, r2, r0
- adds r1, 0x51
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08079B5C
- movs r4, 0
- movs r0, 0x64
- adds r5, r2, 0
- muls r5, r0
- ldr r0, =gPlayerParty
- mov r9, r0
- ldr r2, =gEnemyParty
- mov r8, r2
-_08079ADE:
- cmp r7, 0
- bne _08079AF8
- adds r1, r4, 0
- adds r1, 0xD
- mov r2, r9
- b _08079AFE
- .pool
-_08079AF8:
- adds r1, r4, 0
- adds r1, 0xD
- mov r2, r8
-_08079AFE:
- adds r0, r5, r2
- movs r2, 0
- bl GetMonData
- lsls r1, r4, 1
- add r1, sp
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08079ADE
- ldr r1, =gText_EmptyString7
- adds r0, r6, 0
- bl StringCopy
- movs r4, 0
-_08079B20:
- lsls r0, r4, 1
- mov r2, sp
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _08079B3C
- adds r1, r0, 0
- movs r0, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- adds r0, r6, 0
- bl StringAppend
-_08079B3C:
- adds r0, r6, 0
- ldr r1, =gText_NewLine3
- bl StringAppend
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08079B20
- b _08079B6C
- .pool
-_08079B5C:
- ldr r1, =gText_EmptyString7
- adds r0, r6, 0
- bl StringCopy
- ldr r1, =gText_FourQuestionMarks
- adds r0, r6, 0
- bl StringAppend
-_08079B6C:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079AA4
-
- thumb_func_start sub_8079B84
-sub_8079B84: @ 8079B84
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, 0x2
- lsls r4, 24
- asrs r4, 24
- adds r4, r1
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0x40
- bl GetStringCenterAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_0832DEE0
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized3
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079B84
-
- thumb_func_start sub_8079BE0
-sub_8079BE0: @ 8079BE0
- push {r4-r7,lr}
- sub sp, 0x34
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, =gEnemyParty
- cmp r6, 0
- bne _08079BF0
- ldr r7, =gPlayerParty
-_08079BF0:
- movs r4, 0
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x36
- adds r0, r6
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08079C36
- add r5, sp, 0x14
-_08079C02:
- movs r0, 0x64
- muls r0, r4
- adds r0, r7, r0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- adds r0, r5, 0
- mov r1, sp
- bl StringCopy10
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8079B84
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x36
- adds r0, r6
- ldrb r0, [r0]
- cmp r4, r0
- bcc _08079C02
-_08079C36:
- add sp, 0x34
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079BE0
-
- thumb_func_start sub_8079C4C
-sub_8079C4C: @ 8079C4C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, [sp, 0x3C]
- ldr r5, [sp, 0x40]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gUnknown_08DDD704
- movs r0, 0x6
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- adds r2, r4, 0
- adds r3, r5, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- mov r0, r8
- cmp r0, 0
- bne _08079CB0
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gPlayerParty
- b _08079CB6
- .pool
-_08079CB0:
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gEnemyParty
-_08079CB6:
- adds r0, r1
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, =gUnknown_0203229C
- ldr r5, [r4]
- mov r1, r8
- lsls r2, r1, 1
- adds r1, r2, r1
- lsls r1, 1
- adds r1, r7, r1
- adds r0, r5, 0
- adds r0, 0x51
- adds r0, r1
- ldrb r0, [r0]
- str r2, [sp, 0x18]
- cmp r0, 0
- bne _08079D34
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r2, r0, 24
- mov r0, r10
- lsls r3, r0, 5
- cmp r2, 0
- beq _08079D08
- mov r1, r9
- adds r0, r1, r3
- lsls r0, 1
- movs r1, 0x8F
- lsls r1, 4
- adds r5, r1
- adds r1, r5, r0
- adds r0, r2, 0
- adds r0, 0x60
- strh r0, [r1]
-_08079D08:
- ldr r4, [r4]
- mov r1, r9
- adds r0, r1, r3
- adds r0, 0x1
- lsls r0, 1
- movs r3, 0x8F
- lsls r3, 4
- adds r4, r3
- adds r4, r0
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x70
- strh r0, [r4]
- b _08079D72
- .pool
-_08079D34:
- mov r1, r10
- lsls r0, r1, 5
- mov r1, r9
- adds r3, r1, r0
- adds r1, r3, 0
- subs r1, 0x20
- lsls r1, 1
- movs r0, 0x8F
- lsls r0, 4
- adds r2, r5, r0
- adds r1, r2, r1
- adds r0, r3, 0
- subs r0, 0x21
- lsls r0, 1
- adds r0, r2, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, r3, 0
- subs r1, 0x1F
- lsls r1, 1
- adds r1, r2, r1
- adds r0, r3, 0
- subs r0, 0x24
- lsls r0, 1
- adds r2, r0
- ldrh r2, [r2]
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- orrs r0, r2
- strh r0, [r1]
-_08079D72:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- ldr r0, [sp, 0x18]
- add r0, r8
- lsls r0, 1
- adds r0, r7, r0
- adds r1, 0x51
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _08079D94
- movs r2, 0x90
- lsls r2, 3
- b _08079E16
- .pool
-_08079D94:
- mov r0, r8
- cmp r0, 0
- bne _08079DC0
- movs r0, 0x64
- adds r4, r7, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x2
- add r2, sp, 0xC
- bl GetMonData
- b _08079DDE
- .pool
-_08079DC0:
- movs r0, 0x64
- adds r4, r7, 0
- muls r4, r0
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x2
- add r2, sp, 0xC
- bl GetMonData
-_08079DDE:
- cmp r5, 0
- beq _08079DF0
- cmp r5, 0xFE
- beq _08079E04
- movs r2, 0x83
- b _08079E16
- .pool
-_08079DF0:
- add r0, sp, 0xC
- movs r1, 0
- bl NameHasGenderSymbol
- lsls r0, 24
- movs r2, 0x83
- cmp r0, 0
- bne _08079E16
- movs r2, 0x84
- b _08079E16
-_08079E04:
- add r0, sp, 0xC
- movs r1, 0xFE
- bl NameHasGenderSymbol
- lsls r0, 24
- movs r2, 0x83
- cmp r0, 0
- bne _08079E16
- movs r2, 0x85
-_08079E16:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- mov r0, r10
- subs r0, 0x1
- lsls r0, 5
- add r0, r9
- adds r0, 0x1
- lsls r0, 1
- movs r3, 0x8F
- lsls r3, 4
- adds r1, r3
- adds r1, r0
- strh r2, [r1]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079C4C
-
- thumb_func_start sub_8079E44
-sub_8079E44: @ 8079E44
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- movs r7, 0
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x36
- adds r0, r6
- ldrb r0, [r0]
- cmp r7, r0
- bge _08079E94
- lsls r0, r6, 1
- adds r0, r6
- ldr r1, =gUnknown_0832DE3E
- lsls r0, 2
- adds r5, r0, r1
- ldr r1, =gUnknown_0832DE56
- adds r4, r0, r1
-_08079E6A:
- lsls r1, r7, 24
- lsrs r1, 24
- ldrb r2, [r5]
- ldrb r3, [r5, 0x1]
- ldrb r0, [r4]
- str r0, [sp]
- ldrb r0, [r4, 0x1]
- str r0, [sp, 0x4]
- adds r0, r6, 0
- bl sub_8079C4C
- adds r5, 0x2
- adds r4, 0x2
- adds r7, 0x1
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x36
- adds r0, r6
- ldrb r0, [r0]
- cmp r7, r0
- blt _08079E6A
-_08079E94:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079E44
-
- thumb_func_start sub_8079EA8
-sub_8079EA8: @ 8079EA8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r7, 0
- ldr r3, =gUnknown_0203229C
- ldr r0, [r3]
- adds r0, 0x36
- add r0, r12
- ldrb r0, [r0]
- cmp r7, r0
- bge _08079F5A
- ldr r6, =gSprites
- mov r9, r3
- mov r1, r12
- lsls r0, r1, 1
- add r0, r12
- lsls r2, r0, 1
- mov r10, r2
- ldr r1, =gUnknown_0832DE24
- movs r2, 0
- mov r8, r2
- lsls r0, 2
- adds r5, r0, r1
-_08079EE0:
- mov r1, r9
- ldr r0, [r1]
- mov r2, r10
- adds r4, r7, r2
- adds r0, 0x28
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- mov r0, r9
- ldr r3, [r0]
- adds r2, r3, 0
- adds r2, 0x28
- adds r2, r4
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r5]
- lsls r0, 3
- adds r0, 0xE
- strh r0, [r1, 0x20]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r5, 0x1]
- lsls r0, 3
- subs r0, 0xC
- strh r0, [r1, 0x22]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r8
- strh r1, [r0, 0x24]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r2, r8
- strh r2, [r0, 0x26]
- adds r5, 0x2
- adds r7, 0x1
- adds r3, 0x36
- add r3, r12
- ldrb r3, [r3]
- cmp r7, r3
- blt _08079EE0
-_08079F5A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079EA8
-
- thumb_func_start sub_8079F74
-sub_8079F74: @ 8079F74
- push {lr}
- movs r0, 0x1
- bl rbox_fill_rectangle
- movs r0, 0x1
- bl sub_8079BE0
- pop {r0}
- bx r0
- thumb_func_end sub_8079F74
-
- thumb_func_start sub_8079F88
-sub_8079F88: @ 8079F88
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gTradePartyBoxTilemap
- lsls r2, r4, 4
- subs r2, r4
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0x11
- str r0, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- adds r0, r4, 0
- bl sub_8079E44
- adds r0, r4, 0
- bl sub_8079BE0
- adds r0, r4, 0
- bl sub_8079EA8
- ldr r0, =gUnknown_0832DE94
- ldr r0, [r0, 0x4]
- ldr r5, =gUnknown_0203229C
- ldr r1, [r5]
- adds r1, 0x72
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, =0x06010000
- adds r1, r2
- movs r2, 0x18
- bl sub_807A308
- ldr r0, [r5]
- adds r0, 0x74
- adds r0, r4
- strb r6, [r0]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8079F88
-
- thumb_func_start sub_807A000
-sub_807A000: @ 807A000
- push {lr}
- sub sp, 0x8
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_807A000
-
- thumb_func_start sub_807A024
-sub_807A024: @ 807A024
- push {lr}
- sub sp, 0x8
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_807A024
-
- thumb_func_start sub_807A048
-sub_807A048: @ 807A048
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- movs r3, 0
- ldr r4, =gUnknown_0203229C
- mov r12, r4
- movs r7, 0x8D
- lsls r7, 4
-_0807A05C:
- mov r1, r12
- ldr r0, [r1]
- lsls r1, r3, 3
- adds r2, r0, r1
- adds r0, r2, r7
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807A090
- ldr r3, =0x000008d2
- adds r0, r2, r3
- strh r5, [r0]
- adds r3, 0x2
- adds r0, r2, r3
- strb r6, [r0]
- ldr r0, [r4]
- adds r0, r1
- movs r1, 0x8D
- lsls r1, 4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _0807A096
- .pool
-_0807A090:
- adds r3, 0x1
- cmp r3, 0x3
- ble _0807A05C
-_0807A096:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807A048
-
- thumb_func_start sub_807A09C
-sub_807A09C: @ 807A09C
- push {lr}
- movs r3, 0
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- movs r2, 0x8D
- lsls r2, 4
- adds r1, r0, r2
- movs r2, 0x3
-_0807A0AC:
- ldrb r0, [r1]
- adds r3, r0
- adds r1, 0x8
- subs r2, 0x1
- cmp r2, 0
- bge _0807A0AC
- adds r0, r3, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_807A09C
-
- thumb_func_start sub_807A0C4
-sub_807A0C4: @ 807A0C4
- push {r4,r5,lr}
- movs r4, 0
- ldr r3, =gUnknown_0203229C
-_0807A0CA:
- ldr r0, [r3]
- lsls r1, r4, 3
- adds r2, r0, r1
- movs r5, 0x8D
- lsls r5, 4
- adds r0, r2, r5
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0
- beq _0807A18C
- ldr r0, =0x000008d2
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _0807A0F8
- subs r0, 0x1
- strh r0, [r1]
- b _0807A18C
- .pool
-_0807A0F8:
- ldr r1, =0x000008d4
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _0807A17A
- lsls r0, 2
- ldr r1, =_0807A114
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807A114:
- .4byte _0807A138
- .4byte _0807A14C
- .4byte _0807A154
- .4byte _0807A15C
- .4byte _0807A15C
- .4byte _0807A15C
- .4byte _0807A164
- .4byte _0807A16C
- .4byte _0807A174
-_0807A138:
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0x80
- movs r1, 0x14
- bl sub_8077170
- b _0807A17A
- .pool
-_0807A14C:
- movs r0, 0
- bl sub_807A19C
- b _0807A17A
-_0807A154:
- movs r0, 0x2
- bl sub_807A19C
- b _0807A17A
-_0807A15C:
- movs r0, 0x3
- bl sub_807A19C
- b _0807A17A
-_0807A164:
- movs r0, 0x6
- bl sub_807A19C
- b _0807A17A
-_0807A16C:
- movs r0, 0x7
- bl sub_807A19C
- b _0807A17A
-_0807A174:
- movs r0, 0x8
- bl sub_807A19C
-_0807A17A:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r1, r5
- movs r2, 0x8D
- lsls r2, 4
- adds r1, r2
- movs r2, 0
- strb r2, [r1]
- adds r3, r0, 0
-_0807A18C:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0807A0CA
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807A0C4
-
- thumb_func_start sub_807A19C
-sub_807A19C: @ 807A19C
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_0832DEBC
- lsls r4, 2
- adds r4, r0
- ldr r2, [r4]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0
- movs r1, 0x14
- movs r2, 0xC
- bl sub_8098858
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807A19C
-
- thumb_func_start sub_807A1F0
-sub_807A1F0: @ 807A1F0
- push {r4,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0xA8
- ldrb r1, [r3]
- adds r4, r0, 0
- cmp r1, 0xD
- bhi _0807A22C
- ldr r1, =gUnknown_02032188
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp]
- ldr r0, =0xffff0000
- ldr r2, [sp, 0x4]
- ands r2, r0
- movs r0, 0x80
- lsls r0, 1
- orrs r2, r0
- str r2, [sp, 0x4]
- ldrb r1, [r3]
- adds r1, 0xC8
- lsls r1, 16
- ldr r0, =0x0000ffff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
-_0807A22C:
- ldr r0, [r4]
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x11
- bhi _0807A2FC
- lsls r0, 2
- ldr r1, =_0807A254
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807A254:
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A29C
- .4byte _0807A2A0
- .4byte _0807A2B8
- .4byte _0807A2B8
- .4byte _0807A2B8
- .4byte _0807A2B8
- .4byte _0807A2B8
- .4byte _0807A2BC
- .4byte _0807A2C8
- .4byte _0807A2D4
- .4byte _0807A2F0
-_0807A29C:
- mov r0, sp
- b _0807A2D6
-_0807A2A0:
- mov r0, sp
- bl LoadSpriteSheet
- ldr r1, =gUnknown_0203229C
- ldr r1, [r1]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- b _0807A2DE
- .pool
-_0807A2B8:
- mov r0, sp
- b _0807A2D6
-_0807A2BC:
- ldr r0, =gSpritePalette_TradeScreenText
- bl LoadSpritePalette
- b _0807A2DA
- .pool
-_0807A2C8:
- ldr r0, =gUnknown_0832DC44
- bl LoadSpritePalette
- b _0807A2DA
- .pool
-_0807A2D4:
- ldr r0, =gUnknown_0832DC3C
-_0807A2D6:
- bl LoadSpriteSheet
-_0807A2DA:
- ldr r0, =gUnknown_0203229C
- ldr r1, [r0]
-_0807A2DE:
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0807A2FC
- .pool
-_0807A2F0:
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _0807A2FE
-_0807A2FC:
- movs r0, 0
-_0807A2FE:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_807A1F0
-
- thumb_func_start sub_807A308
-sub_807A308: @ 807A308
- push {lr}
- sub sp, 0x4
- movs r2, 0x6
- str r2, [sp]
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_807A308
-
- thumb_func_start sub_807A320
-sub_807A320: @ 807A320
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0
- beq _0807A338
- cmp r0, 0x1
- beq _0807A3CC
- b _0807A458
-_0807A338:
- movs r7, 0
- ldr r1, =gUnknown_0203229C
- ldr r0, [r1]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r7, r0
- blt _0807A348
- b _0807A458
-_0807A348:
- adds r6, r1, 0
- movs r5, 0
- mov r9, r5
-_0807A34E:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0x1
- bne _0807A380
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- mov r2, r9
- strb r2, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- b _0807A3B0
- .pool
-_0807A380:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- bne _0807A39E
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- b _0807A3B0
-_0807A39E:
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- mov r1, r9
-_0807A3B0:
- strb r1, [r0]
- ldr r0, =gUnknown_0203229C
- adds r5, 0x1
- adds r7, 0x1
- ldr r0, [r0]
- adds r0, 0x36
- add r0, r8
- ldrb r0, [r0]
- cmp r7, r0
- blt _0807A34E
- b _0807A458
- .pool
-_0807A3CC:
- movs r7, 0
- ldr r1, =gUnknown_0203229C
- ldr r0, [r1]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r7, r0
- bge _0807A458
- adds r6, r1, 0
- movs r5, 0x6
- movs r2, 0
- mov r9, r2
-_0807A3E2:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gEnemyParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0x1
- bne _0807A414
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- mov r2, r9
- strb r2, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- b _0807A444
- .pool
-_0807A414:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- bne _0807A432
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- b _0807A444
-_0807A432:
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- mov r1, r9
-_0807A444:
- strb r1, [r0]
- ldr r0, =gUnknown_0203229C
- adds r5, 0x1
- adds r7, 0x1
- ldr r0, [r0]
- adds r0, 0x36
- add r0, r8
- ldrb r0, [r0]
- cmp r7, r0
- blt _0807A3E2
-_0807A458:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807A320
-
- thumb_func_start sub_807A468
-sub_807A468: @ 807A468
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0807A478
- cmp r0, 0x1
- beq _0807A4D8
- b _0807A52C
-_0807A478:
- movs r6, 0
- ldr r1, =gUnknown_0203229C
- ldr r0, [r1]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- bcs _0807A52C
- adds r7, r1, 0
-_0807A488:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl GetHPBarLevel
- ldr r1, [r7]
- adds r1, 0x5D
- adds r1, r6
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r7]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0807A488
- b _0807A52C
- .pool
-_0807A4D8:
- movs r6, 0
- ldr r1, =gUnknown_0203229C
- ldr r0, [r1]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- bcs _0807A52C
- adds r7, r1, 0
-_0807A4E8:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl GetHPBarLevel
- ldr r1, [r7]
- adds r1, 0x63
- adds r1, r6
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r7]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0807A4E8
-_0807A52C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807A468
-
- thumb_func_start sub_807A53C
-sub_807A53C: @ 807A53C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r5, 0
-_0807A544:
- movs r4, 0
- ldr r2, =gUnknown_0203229C
- ldr r0, [r2]
- adds r0, 0x36
- adds r0, r5
- adds r1, r5, 0x1
- mov r8, r1
- ldrb r0, [r0]
- cmp r4, r0
- bge _0807A596
- adds r6, r2, 0
- lsls r0, r5, 1
- adds r0, r5
- lsls r7, r0, 1
-_0807A560:
- ldr r2, [r6]
- adds r3, r4, r7
- adds r0, r2, 0
- adds r0, 0x28
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r2, 0x5D
- adds r2, r3
- ldrb r2, [r2]
- movs r1, 0x4
- subs r1, r2
- lsls r1, 24
- lsrs r1, 24
- bl sub_80D32C8
- adds r4, 0x1
- ldr r0, [r6]
- adds r0, 0x36
- adds r0, r5
- ldrb r0, [r0]
- cmp r4, r0
- blt _0807A560
-_0807A596:
- mov r5, r8
- cmp r5, 0x1
- ble _0807A544
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807A53C
-
- thumb_func_start sub_807A5B0
-sub_807A5B0: @ 807A5B0
- push {r4,r5,lr}
- movs r3, 0
- ldr r5, =gSaveBlock1Ptr
- ldr r4, =0x000031a8
-_0807A5B8:
- ldr r0, [r5]
- adds r0, r4
- adds r2, r0, r3
- ldrb r0, [r2]
- cmp r0, 0
- bne _0807A5DA
- ldr r0, =gUnknown_0203229C
- ldr r0, [r0]
- adds r0, 0xA9
- adds r0, r3
- ldrb r0, [r0]
- adds r1, r0, 0
- cmp r1, 0
- beq _0807A5DA
- cmp r1, 0x3F
- bhi _0807A5DA
- strb r0, [r2]
-_0807A5DA:
- adds r3, 0x1
- cmp r3, 0xA
- ble _0807A5B8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807A5B0
-
- thumb_func_start sub_807A5F4
-sub_807A5F4: @ 807A5F4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x30
- mov r8, r0
- adds r7, r1, 0
- mov r9, r2
- movs r5, 0
- cmp r5, r7
- bge _0807A62E
- mov r6, sp
-_0807A60C:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- add r4, r8
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- str r0, [r6, 0x18]
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- stm r6!, {r0}
- adds r5, 0x1
- cmp r5, r7
- blt _0807A60C
-_0807A62E:
- bl IsNationalPokedexEnabled
- mov r1, r9
- lsls r4, r1, 2
- cmp r0, 0
- bne _0807A65C
- add r0, sp, 0x18
- adds r0, r4
- ldr r1, [r0]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _0807A64C
- movs r0, 0x3
- b _0807A718
-_0807A64C:
- lsls r0, r1, 16
- lsrs r0, 16
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _0807A65C
- movs r0, 0x2
- b _0807A718
-_0807A65C:
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, =gLinkPlayers
- adds r1, r0
- ldrb r0, [r1]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _0807A6AC
- ldrb r1, [r1, 0x12]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _0807A6AC
- add r0, sp, 0x18
- adds r0, r4
- ldr r1, [r0]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _0807A6A0
- movs r0, 0x5
- b _0807A718
- .pool
-_0807A6A0:
- lsls r0, r1, 16
- lsrs r0, 16
- bl IsSpeciesInHoennDex
- cmp r0, 0
- beq _0807A6D2
-_0807A6AC:
- mov r1, sp
- adds r0, r1, r4
- ldr r1, [r0]
- movs r0, 0xCD
- lsls r0, 1
- cmp r1, r0
- beq _0807A6BE
- cmp r1, 0x97
- bne _0807A6D6
-_0807A6BE:
- movs r0, 0x64
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- add r0, r8
- movs r1, 0x50
- bl GetMonData
- cmp r0, 0
- bne _0807A6D6
-_0807A6D2:
- movs r0, 0x4
- b _0807A718
-_0807A6D6:
- cmp r7, 0
- ble _0807A6F4
- movs r3, 0xCE
- lsls r3, 1
- movs r2, 0
- add r1, sp, 0x18
- adds r5, r7, 0
-_0807A6E4:
- ldr r0, [r1]
- cmp r0, r3
- bne _0807A6EC
- str r2, [r1]
-_0807A6EC:
- adds r1, 0x4
- subs r5, 0x1
- cmp r5, 0
- bne _0807A6E4
-_0807A6F4:
- movs r2, 0
- movs r5, 0
- cmp r2, r7
- bge _0807A70E
- add r1, sp, 0x18
-_0807A6FE:
- cmp r5, r9
- beq _0807A706
- ldr r0, [r1]
- adds r2, r0
-_0807A706:
- adds r1, 0x4
- adds r5, 0x1
- cmp r5, r7
- blt _0807A6FE
-_0807A70E:
- cmp r2, 0
- bne _0807A716
- movs r0, 0x1
- b _0807A718
-_0807A716:
- movs r0, 0
-_0807A718:
- add sp, 0x30
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807A5F4
-
- thumb_func_start sub_807A728
-sub_807A728: @ 807A728
- push {r4-r7,lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807A7B4
- movs r4, 0
- bl GetMultiplayerId
- ldr r5, =gLinkPlayers
- movs r7, 0x1
- eors r0, r7
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r1, [r1]
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _0807A7B4
- subs r0, r1, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0807A762
- movs r4, 0x2
-_0807A762:
- cmp r4, 0
- ble _0807A7B4
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r1, [r1, 0x12]
- movs r6, 0xF0
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0807A7B0
- cmp r4, 0x2
- bne _0807A7B4
- bl GetMultiplayerId
- eors r0, r7
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r1, [r1, 0x12]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _0807A7B4
- movs r0, 0x2
- b _0807A7B6
- .pool
-_0807A7B0:
- movs r0, 0x1
- b _0807A7B6
-_0807A7B4:
- movs r0, 0
-_0807A7B6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807A728
-
- thumb_func_start sub_807A7BC
-sub_807A7BC: @ 807A7BC
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xCD
- lsls r0, 1
- cmp r2, r0
- beq _0807A7D2
- cmp r2, 0x97
- bne _0807A7DA
-_0807A7D2:
- cmp r1, 0
- bne _0807A7DA
- movs r0, 0x1
- b _0807A7DC
-_0807A7DA:
- movs r0, 0
-_0807A7DC:
- pop {r1}
- bx r1
- thumb_func_end sub_807A7BC
-
- thumb_func_start sub_807A7E0
-sub_807A7E0: @ 807A7E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, [sp, 0x20]
- ldr r5, [sp, 0x24]
- ldr r6, [sp, 0x28]
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r3, 16
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- lsls r2, r0, 23
- lsrs r2, 31
- mov r9, r2
- lsls r0, 24
- lsrs r2, r0, 31
- lsls r0, r1, 23
- lsrs r0, 31
- mov r10, r0
- lsls r0, r1, 24
- lsrs r0, 31
- lsls r1, 18
- lsrs r1, 28
- cmp r1, 0x3
- beq _0807A832
- cmp r2, 0
- bne _0807A82A
- movs r0, 0x8
- b _0807A8C0
-_0807A82A:
- cmp r0, 0
- bne _0807A832
- movs r0, 0x9
- b _0807A8C0
-_0807A832:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_807A7BC
- cmp r0, 0
- bne _0807A898
- movs r0, 0xCE
- lsls r0, 1
- cmp r8, r0
- bne _0807A84E
- cmp r7, r8
- beq _0807A86C
- movs r0, 0x2
- b _0807A8C0
-_0807A84E:
- ldr r0, =gBaseStats
- lsls r1, r7, 3
- subs r1, r7
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x6]
- cmp r0, r4
- beq _0807A86C
- ldrb r0, [r1, 0x7]
- cmp r0, r4
- beq _0807A86C
- movs r0, 0x1
- b _0807A8C0
- .pool
-_0807A86C:
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- bne _0807A87C
- cmp r7, r8
- beq _0807A87C
- movs r0, 0x3
- b _0807A8C0
-_0807A87C:
- mov r0, r9
- cmp r0, 0
- bne _0807A8AA
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- bne _0807A88E
- movs r0, 0x6
- b _0807A8C0
-_0807A88E:
- adds r0, r7, 0
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _0807A89C
-_0807A898:
- movs r0, 0x4
- b _0807A8C0
-_0807A89C:
- mov r0, r8
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _0807A8AA
- movs r0, 0x5
- b _0807A8C0
-_0807A8AA:
- mov r0, r10
- cmp r0, 0
- bne _0807A8BE
- adds r0, r7, 0
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _0807A8BE
- movs r0, 0x7
- b _0807A8C0
-_0807A8BE:
- movs r0, 0
-_0807A8C0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807A7E0
-
- thumb_func_start sub_807A8D0
-sub_807A8D0: @ 807A8D0
- push {r4-r6,lr}
- lsls r1, 16
- lsrs r5, r1, 16
- adds r6, r5, 0
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r0, 23
- lsrs r4, r0, 31
- adds r0, r2, 0
- adds r1, r3, 0
- bl sub_807A7BC
- cmp r0, 0
- bne _0807A90A
- cmp r4, 0
- bne _0807A90E
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- bne _0807A900
- movs r0, 0x2
- b _0807A910
-_0807A900:
- adds r0, r6, 0
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _0807A90E
-_0807A90A:
- movs r0, 0x1
- b _0807A910
-_0807A90E:
- movs r0, 0
-_0807A910:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_807A8D0
-
- thumb_func_start sub_807A918
-sub_807A918: @ 807A918
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- movs r5, 0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r5, r0
- bge _0807A95A
- mov r4, sp
-_0807A934:
- movs r0, 0x64
- muls r0, r5
- adds r0, r6, r0
- movs r1, 0x41
- bl GetMonData
- str r0, [r4]
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _0807A94E
- movs r0, 0
- str r0, [r4]
-_0807A94E:
- adds r4, 0x4
- adds r5, 0x1
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r5, r0
- blt _0807A934
-_0807A95A:
- movs r7, 0
- movs r6, 0x1
- movs r5, 0
- ldr r4, =gLinkPlayers
- b _0807A980
- .pool
-_0807A96C:
- ldrb r0, [r4]
- subs r0, 0x4
- cmp r0, 0x1
- bhi _0807A978
- movs r7, 0
- b _0807A97C
-_0807A978:
- movs r0, 0x1
- orrs r7, r0
-_0807A97C:
- adds r4, 0x1C
- adds r5, 0x1
-_0807A980:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _0807A96C
- movs r5, 0
- movs r4, 0
- b _0807A9B4
-_0807A992:
- ldr r0, =gLinkPlayers
- adds r2, r4, r0
- ldrb r1, [r2, 0x10]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _0807A9A2
- movs r6, 0
-_0807A9A2:
- cmp r7, 0
- beq _0807A9B0
- ldrb r0, [r2, 0x10]
- lsrs r0, 4
- cmp r0, 0
- beq _0807A9B0
- movs r6, 0
-_0807A9B0:
- adds r4, 0x1C
- adds r5, 0x1
-_0807A9B4:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _0807A992
- cmp r6, 0
- bne _0807A9EA
- mov r1, r8
- lsls r0, r1, 2
- mov r1, sp
- adds r4, r1, r0
- ldrh r0, [r4]
- bl IsSpeciesInHoennDex
- cmp r0, 0
- bne _0807A9E0
- movs r0, 0x2
- b _0807AA1A
- .pool
-_0807A9E0:
- ldr r0, [r4]
- cmp r0, 0
- bne _0807A9EA
- movs r0, 0x3
- b _0807AA1A
-_0807A9EA:
- movs r2, 0
- movs r5, 0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r2, r0
- bge _0807AA0A
- adds r3, r0, 0
- mov r1, sp
-_0807A9FA:
- cmp r8, r5
- beq _0807AA02
- ldr r0, [r1]
- adds r2, r0
-_0807AA02:
- adds r1, 0x4
- adds r5, 0x1
- cmp r5, r3
- blt _0807A9FA
-_0807AA0A:
- cmp r2, 0
- beq _0807AA18
- movs r0, 0
- b _0807AA1A
- .pool
-_0807AA18:
- movs r0, 0x1
-_0807AA1A:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807A918
-
- thumb_func_start sub_807AA28
-sub_807AA28: @ 807AA28
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _0807AA44
- movs r0, 0x17
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2E]
-_0807AA44:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807AA28
-
- thumb_func_start sub_807AA4C
-sub_807AA4C: @ 807AA4C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0807AA76
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _0807AA76
- movs r0, 0xC2
- bl PlaySE
- strh r5, [r4, 0x2E]
-_0807AA76:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_807AA4C
-
- thumb_func_start sub_807AA7C
-sub_807AA7C: @ 807AA7C
- push {lr}
- adds r2, r0, 0
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r1, 0
- bne _0807AAB2
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _0807AA98
- strh r1, [r2, 0x2E]
-_0807AA98:
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- lsls r0, 1
- ldr r1, =gUnknown_08338EA4
- adds r0, r1
- ldrb r1, [r2, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- lsls r1, 4
- adds r1, 0x4
- movs r2, 0x2
- bl LoadPalette
-_0807AAB2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807AA7C
-
- thumb_func_start sub_807AABC
-sub_807AABC: @ 807AABC
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- adds r1, 0x1
- strh r1, [r2, 0x2E]
- ldrh r0, [r2, 0x26]
- adds r0, 0x1
- strh r0, [r2, 0x26]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0xA
- bne _0807AADA
- adds r0, r2, 0
- bl DestroySprite
-_0807AADA:
- pop {r0}
- bx r0
- thumb_func_end sub_807AABC
-
- thumb_func_start sub_807AAE0
-sub_807AAE0: @ 807AAE0
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- adds r1, 0x1
- strh r1, [r2, 0x2E]
- ldrh r0, [r2, 0x26]
- subs r0, 0x1
- strh r0, [r2, 0x26]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0xA
- bne _0807AAFE
- adds r0, r2, 0
- bl DestroySprite
-_0807AAFE:
- pop {r0}
- bx r0
- thumb_func_end sub_807AAE0
-
- thumb_func_start sub_807AB04
-sub_807AB04: @ 807AB04
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bne _0807AB20
- movs r0, 0xCC
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2E]
-_0807AB20:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807AB04
-
- thumb_func_start sub_807AB28
-sub_807AB28: @ 807AB28
- push {r4,r5,lr}
- sub sp, 0x20
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- mov r12, r0
- adds r0, 0xD4
- ldrh r1, [r0]
- lsls r1, 8
- adds r0, 0x2
- ldrh r2, [r0]
- lsls r2, 8
- adds r0, 0x6
- movs r4, 0
- ldrsh r3, [r0, r4]
- adds r0, 0x2
- movs r5, 0
- ldrsh r0, [r0, r5]
- str r0, [sp]
- mov r4, r12
- adds r4, 0xE8
- movs r5, 0
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x4]
- movs r5, 0
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x8]
- mov r0, r12
- adds r0, 0xEC
- ldrh r0, [r0]
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- bl DoBgAffineSet
- add r0, sp, 0x10
- ldrh r1, [r0]
- movs r0, 0x20
- bl SetGpuReg
- add r0, sp, 0x10
- ldrh r1, [r0, 0x2]
- movs r0, 0x22
- bl SetGpuReg
- add r0, sp, 0x10
- ldrh r1, [r0, 0x4]
- movs r0, 0x24
- bl SetGpuReg
- add r0, sp, 0x10
- ldrh r1, [r0, 0x6]
- movs r0, 0x26
- bl SetGpuReg
- ldr r1, [sp, 0x18]
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x28
- bl SetGpuReg
- ldr r1, [sp, 0x18]
- lsrs r1, 16
- movs r0, 0x2A
- bl SetGpuReg
- ldr r1, [sp, 0x1C]
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x2C
- bl SetGpuReg
- ldr r1, [sp, 0x1C]
- lsrs r1, 16
- movs r0, 0x2E
- bl SetGpuReg
- add sp, 0x20
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807AB28
-
- thumb_func_start sub_807ABCC
-sub_807ABCC: @ 807ABCC
- push {r4,lr}
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r0, 0xE0
- ldrh r1, [r0]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, 0xE2
- ldrh r1, [r0]
- movs r0, 0x14
- bl SetGpuReg
- movs r0, 0
- bl GetGpuReg
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- cmp r1, 0
- bne _0807AC18
- ldr r0, [r4]
- adds r0, 0xE4
- ldrh r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, 0xE6
- ldrh r1, [r0]
- movs r0, 0x18
- bl SetGpuReg
- b _0807AC1C
- .pool
-_0807AC18:
- bl sub_807AB28
-_0807AC1C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807ABCC
-
- thumb_func_start sub_807AC24
-sub_807AC24: @ 807AC24
- push {lr}
- bl sub_807ABCC
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_807AC24
-
- thumb_func_start sub_807AC3C
-sub_807AC3C: @ 807AC3C
- push {r4,lr}
- ldr r3, =gUnknown_020322A0
- ldr r1, [r3]
- movs r0, 0x8A
- adds r0, r1
- mov r12, r0
- movs r2, 0
- movs r0, 0
- mov r4, r12
- strh r0, [r4]
- adds r1, 0x88
- strb r2, [r1]
- ldr r0, [r3]
- adds r0, 0x89
- strb r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807AC3C
-
- thumb_func_start sub_807AC64
-sub_807AC64: @ 807AC64
- push {r4,r5,lr}
- ldr r0, =gUnknown_020322A0
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x88
- adds r3, r2, 0
- adds r3, 0x89
- ldrb r1, [r1]
- adds r5, r0, 0
- ldrb r3, [r3]
- cmp r1, r3
- bne _0807AC8C
- adds r1, r2, 0
- adds r1, 0x8A
- ldrh r0, [r1]
- adds r0, 0x1
- b _0807AC92
- .pool
-_0807AC8C:
- adds r1, r2, 0
- adds r1, 0x8A
- movs r0, 0
-_0807AC92:
- strh r0, [r1]
- adds r4, r5, 0
- ldr r0, [r4]
- adds r0, 0x8A
- ldrh r1, [r0]
- movs r0, 0x96
- lsls r0, 1
- cmp r1, r0
- bls _0807ACC4
- bl CloseLink
- ldr r0, =CB2_LinkError
- bl SetMainCallback2
- ldr r1, [r4]
- adds r3, r1, 0
- adds r3, 0x8A
- movs r2, 0
- movs r0, 0
- strh r0, [r3]
- adds r1, 0x89
- strb r2, [r1]
- ldr r0, [r4]
- adds r0, 0x88
- strb r2, [r0]
-_0807ACC4:
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x88
- ldrb r1, [r1]
- adds r0, 0x89
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807AC64
-
- thumb_func_start sub_807ACDC
-sub_807ACDC: @ 807ACDC
- push {lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807ACF0
- movs r0, 0
- b _0807ACF8
- .pool
-_0807ACF0:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
-_0807ACF8:
- pop {r1}
- bx r1
- thumb_func_end sub_807ACDC
-
- thumb_func_start sub_807ACFC
-sub_807ACFC: @ 807ACFC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r4, 0
- mov r8, r4
- cmp r6, 0
- bne _0807AD22
- ldr r0, =gUnknown_02032298
- ldrb r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- mov r8, r1
- movs r4, 0x1
-_0807AD22:
- cmp r6, 0x1
- bne _0807AD40
- ldr r0, =gUnknown_02032298
- ldrb r0, [r0, 0x1]
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
- adds r1, r0
- mov r8, r1
- movs r4, 0x3
-_0807AD40:
- cmp r5, 0
- beq _0807AD58
- cmp r5, 0x1
- beq _0807ADE0
- b _0807AE36
- .pool
-_0807AD58:
- mov r0, r8
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- movs r1, 0
- bl GetMonData
- adds r7, r0, 0
- cmp r6, 0
- bne _0807AD94
- lsls r0, r5, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- ldr r1, [r1, 0x8]
- adds r2, r5, 0
- adds r3, r7, 0
- bl HandleLoadSpecialPokePic_2
- movs r4, 0
- b _0807ADB2
- .pool
-_0807AD94:
- lsls r0, r5, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r2, [r1]
- lsls r4, r6, 1
- adds r1, r4, 0x1
- lsls r1, 2
- adds r2, 0x4
- adds r2, r1
- ldr r1, [r2]
- adds r2, r5, 0
- adds r3, r7, 0
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
-_0807ADB2:
- mov r0, r8
- bl GetMonSpritePalStruct
- bl LoadCompressedSpritePalette
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF0
- adds r0, r4
- strh r5, [r0]
- lsls r0, r6, 2
- adds r1, 0x68
- adds r1, r0
- str r7, [r1]
- b _0807AE36
- .pool
-_0807ADE0:
- mov r0, r8
- bl GetMonSpritePalStruct
- ldrh r0, [r0, 0x4]
- adds r1, r4, 0
- bl SetMultiuseSpriteTemplateToPokemon
- ldr r0, =gMultiuseSpriteTemplate
- movs r1, 0x78
- movs r2, 0x3C
- movs r3, 0x6
- bl CreateSprite
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- adds r1, 0x8E
- adds r1, r6
- strb r0, [r1]
- ldr r3, =gSprites
- ldr r0, [r4]
- adds r0, 0x8E
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x8E
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r1, =SpriteCallbackDummy
- str r1, [r0]
-_0807AE36:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807ACFC
-
- thumb_func_start sub_807AE50
-sub_807AE50: @ 807AE50
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xC
- bls _0807AE66
- b _0807B116
-_0807AE66:
- lsls r0, 2
- ldr r1, =_0807AE78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807AE78:
- .4byte _0807AEAC
- .4byte _0807AF58
- .4byte _0807AF9C
- .4byte _0807AFBC
- .4byte _0807B006
- .4byte _0807B034
- .4byte _0807B058
- .4byte _0807B070
- .4byte _0807B07A
- .4byte _0807B094
- .4byte _0807B0B0
- .4byte _0807B0D4
- .4byte _0807B0F0
-_0807AEAC:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807AEC0
- ldr r1, =gLinkType
- ldr r2, =0x00001144
- adds r0, r2, 0
- strh r0, [r1]
- bl CloseLink
-_0807AEC0:
- ldr r4, =gUnknown_020322A0
- movs r5, 0x80
- lsls r5, 1
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4]
- bl AllocateMonSpritesGfx
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, =sub_807AC24
- bl SetVBlankCallback
- bl sub_807B170
- bl sub_807AC3C
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8C
- strh r2, [r0]
- adds r0, 0x8
- strh r2, [r0]
- adds r1, 0xEE
- movs r0, 0x1
- strb r0, [r1]
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0xD4
- movs r1, 0x40
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r1, r3, 0
- adds r1, 0xDC
- movs r0, 0x78
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x50
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0xE8
- strh r5, [r0]
- adds r0, 0x4
- strh r2, [r0]
- b _0807B116
- .pool
-_0807AF58:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r5, [r0]
- cmp r5, 0
- bne _0807AF90
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r0, 0xFA
- movs r1, 0x1
- strb r1, [r0]
- bl OpenLink
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r4]
- str r5, [r0, 0x64]
- b _0807B116
- .pool
-_0807AF90:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- movs r0, 0x4
- strb r0, [r1]
- b _0807B116
-_0807AF9C:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x3C
- bhi _0807AFAC
- b _0807B116
-_0807AFAC:
- movs r0, 0
- str r0, [r1, 0x64]
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _0807B0E4
- .pool
-_0807AFBC:
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- bne _0807AFC8
- b _0807B0DC
-_0807AFC8:
- bl GetLinkPlayerCount_2
- adds r4, r0, 0
- bl sub_800AA48
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bcc _0807B000
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x1E
- bhi _0807AFEA
- b _0807B116
-_0807AFEA:
- bl sub_800A620
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0807B0E4
- .pool
-_0807B000:
- bl sub_807AC64
- b _0807B116
-_0807B006:
- bl sub_807AC64
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0807B014
- b _0807B116
-_0807B014:
- bl IsLinkPlayerDataExchangeComplete
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0807B022
- b _0807B116
-_0807B022:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0807B0E4
- .pool
-_0807B034:
- ldr r2, =gUnknown_020322A0
- ldr r0, [r2]
- adds r0, 0x72
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x73
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x93
- strb r1, [r0]
- movs r0, 0
- bl sub_807ACFC
- b _0807B0DC
- .pool
-_0807B058:
- movs r0, 0
- movs r1, 0x1
- bl sub_807ACFC
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0807B0E4
- .pool
-_0807B070:
- movs r0, 0x1
- movs r1, 0
- bl sub_807ACFC
- b _0807B0DC
-_0807B07A:
- movs r0, 0x1
- movs r1, 0x1
- bl sub_807ACFC
- bl sub_807B154
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0807B0E4
- .pool
-_0807B094:
- bl sub_807BA94
- ldr r0, =gUnknown_08338D18
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08338D20
- bl LoadSpritePalette
- b _0807B0DC
- .pool
-_0807B0B0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0
- bl ShowBg
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _0807B0E4
- .pool
-_0807B0D4:
- bl sub_807B140
- bl sub_807BAD8
-_0807B0DC:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_0807B0E4:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0807B116
- .pool
-_0807B0F0:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807B116
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B110
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
-_0807B110:
- ldr r0, =sub_807EA2C
- bl SetMainCallback2
-_0807B116:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807AE50
-
- thumb_func_start sub_807B140
-sub_807B140: @ 807B140
- push {lr}
- movs r0, 0x5
- bl sub_807B62C
- movs r0, 0
- bl sub_807B62C
- pop {r0}
- bx r0
- thumb_func_end sub_807B140
-
- thumb_func_start sub_807B154
-sub_807B154: @ 807B154
- push {lr}
- movs r0, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_807B154
-
- thumb_func_start sub_807B170
-sub_807B170: @ 807B170
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_08339014
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r5, 0x80
- lsls r5, 4
- adds r0, r5, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- adds r0, r5, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r5, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- bl DeactivateAllTextPrinters
- ldr r0, =gBattleTextboxTiles
- mov r10, r0
- movs r0, 0
- mov r9, r0
- str r0, [sp]
- mov r1, r10
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r0, =gBattleTextboxTilemap
- mov r8, r0
- ldr r4, =gDecompressionBuffer
- adds r1, r4, 0
- bl LZDecompressWram
- movs r0, 0
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r6, =gBattleTextboxPalette
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r0, =gUnknown_08338FFC
- bl InitWindows
- mov r0, r9
- str r0, [sp]
- movs r0, 0
- mov r1, r10
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- mov r0, r8
- adds r1, r4, 0
- bl LZDecompressWram
- movs r0, 0
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807B170
-
- thumb_func_start sub_807B270
-sub_807B270: @ 807B270
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xC
- bls _0807B288
- b _0807B43E
-_0807B288:
- lsls r0, 2
- ldr r1, =_0807B29C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807B29C:
- .4byte _0807B2D0
- .4byte _0807B43E
- .4byte _0807B43E
- .4byte _0807B43E
- .4byte _0807B43E
- .4byte _0807B3AC
- .4byte _0807B3B6
- .4byte _0807B3C0
- .4byte _0807B3D0
- .4byte _0807B3F0
- .4byte _0807B40C
- .4byte _0807B414
- .4byte _0807B438
-_0807B2D0:
- ldr r1, =gUnknown_02032298
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- movs r6, 0
- strb r0, [r1]
- movs r0, 0x6
- strb r0, [r1, 0x1]
- ldr r4, =gLinkPlayers + 8
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- ldr r5, =gEnemyParty
- adds r0, r5, 0
- movs r1, 0x7
- mov r2, sp
- bl GetMonData
- adds r0, r4, 0
- adds r0, 0x1C
- mov r1, sp
- bl StringCopy
- subs r4, 0x8
- movs r0, 0
- mov r8, r0
- movs r0, 0x2
- strh r0, [r4, 0x1A]
- adds r0, r5, 0
- movs r1, 0x3
- bl GetMonData
- strh r0, [r4, 0x36]
- ldr r4, =gUnknown_020322A0
- movs r5, 0x80
- lsls r5, 1
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4]
- bl AllocateMonSpritesGfx
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, =sub_807AC24
- bl SetVBlankCallback
- bl sub_807B170
- ldr r0, [r4]
- adds r0, 0xEE
- mov r1, r8
- strb r1, [r0]
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x8C
- strh r6, [r0]
- adds r0, 0x8
- strh r6, [r0]
- adds r0, 0x40
- movs r1, 0x40
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r1, r2, 0
- adds r1, 0xDC
- movs r0, 0x78
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x50
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0xE8
- strh r5, [r0]
- adds r0, 0x4
- strh r6, [r0]
- str r6, [r2, 0x64]
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- b _0807B43E
- .pool
-_0807B3AC:
- movs r0, 0
- movs r1, 0
- bl sub_807ACFC
- b _0807B424
-_0807B3B6:
- movs r0, 0
- movs r1, 0x1
- bl sub_807ACFC
- b _0807B424
-_0807B3C0:
- movs r0, 0x1
- movs r1, 0
- bl sub_807ACFC
- movs r0, 0
- bl ShowBg
- b _0807B424
-_0807B3D0:
- movs r0, 0x1
- movs r1, 0x1
- bl sub_807ACFC
- movs r0, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- b _0807B424
-_0807B3F0:
- bl sub_807BA94
- ldr r0, =gUnknown_08338D18
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08338D20
- bl LoadSpritePalette
- b _0807B424
- .pool
-_0807B40C:
- movs r0, 0
- bl ShowBg
- b _0807B424
-_0807B414:
- movs r0, 0x5
- bl sub_807B62C
- movs r0, 0
- bl sub_807B62C
- bl sub_807BAD8
-_0807B424:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0807B43E
- .pool
-_0807B438:
- ldr r0, =sub_807B60C
- bl SetMainCallback2
-_0807B43E:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807B270
-
- thumb_func_start sub_807B464
-sub_807B464: @ 807B464
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0807B4B8
- adds r0, r5, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0x2
- bl GetSetPokedexFlag
- adds r0, r4, 0
- movs r1, 0x3
- adds r2, r5, 0
- bl HandleSetPokedexFlag
-_0807B4B8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807B464
-
- thumb_func_start sub_807B4C4
-sub_807B4C4: @ 807B4C4
- push {lr}
- bl GetMultiplayerId
- pop {r0}
- bx r0
- thumb_func_end sub_807B4C4
-
- thumb_func_start sub_807B4D0
-sub_807B4D0: @ 807B4D0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r4, 24
- lsrs r4, 24
- movs r5, 0x64
- mov r1, r9
- muls r1, r5
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x40
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r1, r4, 0
- muls r1, r5
- ldr r0, =gEnemyParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x40
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r6, 0xFF
- beq _0807B52A
- ldr r0, =gSaveBlock1Ptr
- lsls r1, r6, 3
- adds r1, r6
- lsls r1, 2
- ldr r2, =0x00002be0
- adds r1, r2
- ldr r0, [r0]
- adds r0, r1
- bl ClearMailStruct
-_0807B52A:
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r1, r7, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0x64
- bl memcpy
- movs r1, 0x46
- mov r0, sp
- strb r1, [r0]
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0807B566
- adds r0, r7, 0
- movs r1, 0x20
- mov r2, sp
- bl SetMonData
-_0807B566:
- mov r0, r8
- cmp r0, 0xFF
- beq _0807B57C
- lsls r1, r0, 3
- add r1, r8
- lsls r1, 2
- ldr r0, =gUnknown_020321C0
- adds r1, r0
- adds r0, r7, 0
- bl GiveMailToMon2
-_0807B57C:
- mov r0, r9
- bl sub_807B464
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B58E
- bl sub_807B4C4
-_0807B58E:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807B4D0
-
- thumb_func_start sub_807B5B8
-sub_807B5B8: @ 807B5B8
- push {r4,lr}
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r0, 0x93
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0807B5D0
- cmp r0, 0x2
- beq _0807B5F6
- b _0807B600
- .pool
-_0807B5D0:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _0807B5F6
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- adds r1, 0x74
- movs r2, 0x14
- bl SendBlock
- ldr r1, [r4]
- adds r1, 0x93
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0807B5F6:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x93
- movs r1, 0
- strb r1, [r0]
-_0807B600:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807B5B8
-
- thumb_func_start sub_807B60C
-sub_807B60C: @ 807B60C
- push {lr}
- bl sub_807BBC8
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_807B60C
-
- thumb_func_start sub_807B62C
-sub_807B62C: @ 807B62C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x7
- bls _0807B638
- b _0807BA68
-_0807B638:
- lsls r0, 2
- ldr r1, =_0807B648
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807B648:
- .4byte _0807B668
- .4byte _0807B6DC
- .4byte _0807B784
- .4byte _0807B7F8
- .4byte _0807B840
- .4byte _0807B90C
- .4byte _0807B924
- .4byte _0807B9FC
-_0807B668:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0xE4
- movs r0, 0
- strh r0, [r2]
- adds r1, 0xE6
- movs r0, 0xB4
- strh r0, [r1]
- movs r1, 0xAA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r1, =0x00005206
- movs r0, 0xC
- bl SetGpuReg
- ldr r0, =gTradeGba2_Pal
- movs r1, 0x10
- movs r2, 0x60
- bl LoadPalette
- ldr r3, =gTradeGba_Gfx
- ldr r4, =0x06004000
- movs r5, 0xA1
- lsls r5, 5
- ldr r1, =0x040000d4
- ldr r6, =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0807B6AA:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0807B6AA
- b _0807BA4C
- .pool
-_0807B6DC:
- ldr r4, =gUnknown_020322A0
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xE2
- movs r0, 0
- strh r0, [r1]
- adds r2, 0xE0
- movs r1, 0xAE
- lsls r1, 1
- strh r1, [r2]
- movs r0, 0x16
- bl SetGpuReg
- ldr r1, =0x00008502
- movs r0, 0xA
- bl SetGpuReg
- ldr r1, =0x00009206
- movs r0, 0xC
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, 0xFA
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B724
- ldr r1, =gUnknown_083369A0
- b _0807B726
- .pool
-_0807B724:
- ldr r1, =gUnknown_083359A0
-_0807B726:
- ldr r2, =0x06002800
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000800
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r3, =gTradeGba_Gfx
- movs r4, 0xC0
- lsls r4, 19
- movs r5, 0xA1
- lsls r5, 5
- ldr r1, =0x040000d4
- ldr r6, =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0807B74A:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0807B74A
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r1, 0x92
- lsls r1, 5
- b _0807B820
- .pool
-_0807B784:
- ldr r0, =gUnknown_020322A0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xE0
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x18
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807B7C0
- ldr r1, =0x00001241
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gUnknown_083379A0
- ldr r1, =0x06002800
- bl LZ77UnCompVram
- movs r0, 0x8
- b _0807B7DA
- .pool
-_0807B7C0:
- ldr r1, =0x00001241
- movs r0, 0
- bl SetGpuReg
- ldr r1, =gUnknown_0832FFC0
- ldr r2, =0x06002800
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- movs r0, 0x1
-_0807B7DA:
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- b _0807BA68
- .pool
-_0807B7F8:
- ldr r0, =gUnknown_08337EA0
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_08337EC0
- ldr r1, =0x06004000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_08338550
- ldr r1, =0x06009000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0xE4
- movs r1, 0x50
- strh r1, [r0]
- movs r1, 0xB2
- lsls r1, 5
-_0807B820:
- movs r0, 0
- bl SetGpuReg
- b _0807BA68
- .pool
-_0807B840:
- ldr r1, =0x00001441
- movs r0, 0
- bl SetGpuReg
- ldr r1, =0x00001287
- movs r0, 0xC
- bl SetGpuReg
- ldr r0, =gUnknown_020322A0
- ldr r3, [r0]
- adds r1, r3, 0
- adds r1, 0xD4
- movs r2, 0
- movs r0, 0x40
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x5C
- strh r0, [r1]
- adds r1, 0x12
- movs r0, 0x20
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0xEC
- strh r2, [r0]
- ldr r3, =gUnknown_08332F60
- ldr r4, =0x06004000
- movs r5, 0xA1
- lsls r5, 6
- ldr r1, =0x040000d4
- ldr r6, =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0807B88C:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0807B88C
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0xFA
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B8EC
- ldr r1, =gUnknown_083357A0
- ldr r2, =0x06009000
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000080
- b _0807BA64
- .pool
-_0807B8EC:
- ldr r1, =gUnknown_083358A0
- ldr r2, =0x06009000
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000080
- b _0807BA64
- .pool
-_0807B90C:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xE0
- movs r2, 0
- strh r2, [r1]
- adds r0, 0xE2
- strh r2, [r0]
- b _0807BA68
- .pool
-_0807B924:
- ldr r1, =0x00001441
- movs r0, 0
- bl SetGpuReg
- ldr r1, =0x00001287
- movs r0, 0xC
- bl SetGpuReg
- ldr r0, =gUnknown_020322A0
- ldr r3, [r0]
- adds r1, r3, 0
- adds r1, 0xD4
- movs r2, 0
- movs r0, 0x40
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x5C
- strh r0, [r1]
- adds r1, 0x12
- adds r0, 0xA4
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x80
- strh r0, [r1]
- subs r1, 0xE
- movs r0, 0x78
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x50
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0xEC
- strh r2, [r0]
- ldr r3, =gUnknown_08332F60
- ldr r4, =0x06004000
- movs r5, 0xA1
- lsls r5, 6
- ldr r1, =0x040000d4
- ldr r6, =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0807B97A:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0807B97A
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0xFA
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B9DC
- ldr r1, =gUnknown_083357A0
- ldr r2, =0x06009000
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000080
- b _0807BA64
- .pool
-_0807B9DC:
- ldr r1, =gUnknown_083358A0
- ldr r2, =0x06009000
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000080
- b _0807BA64
- .pool
-_0807B9FC:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xE4
- movs r2, 0
- strh r2, [r1]
- adds r0, 0xE6
- strh r2, [r0]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00005206
- movs r0, 0xC
- bl SetGpuReg
- ldr r0, =gTradeGba2_Pal
- movs r1, 0x10
- movs r2, 0x60
- bl LoadPalette
- ldr r3, =gTradeGba_Gfx
- ldr r4, =0x06004000
- movs r5, 0xA1
- lsls r5, 5
- ldr r1, =0x040000d4
- ldr r6, =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0807BA3A:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0807BA3A
-_0807BA4C:
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, =gUnknown_08331F60
- ldr r2, =0x06009000
- ldr r0, =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, =0x80000800
-_0807BA64:
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
-_0807BA68:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807B62C
-
- thumb_func_start sub_807BA94
-sub_807BA94: @ 807BA94
- push {lr}
- ldr r0, =gUnknown_08338D70
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08338DC0
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08338DF4
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08338E6C
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08338D78
- bl LoadSpritePalette
- ldr r0, =gUnknown_08338D80
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807BA94
-
- thumb_func_start sub_807BAD8
-sub_807BAD8: @ 807BAD8
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0xEE
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807BB68
- bl GetMultiplayerId
- lsls r0, 24
- ldr r3, =gStringVar1
- movs r2, 0x80
- lsls r2, 17
- eors r2, r0
- lsrs r2, 24
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, =gLinkPlayers + 8
- adds r1, r0
- adds r0, r3, 0
- bl StringCopy
- ldr r5, =gUnknown_02032298
- ldrb r0, [r5, 0x1]
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0x64
- muls r0, r4
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, =gStringVar3
- mov r1, sp
- bl StringCopy10
- ldrb r0, [r5]
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, =gStringVar2
- mov r1, sp
- bl StringCopy10
- b _0807BBA4
- .pool
-_0807BB68:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 2
- ldr r0, =gIngameTrades
- adds r4, r0
- ldr r0, =gStringVar1
- adds r1, r4, 0
- adds r1, 0x2B
- bl StringCopy
- ldr r0, =gStringVar3
- adds r1, r4, 0
- bl StringCopy10
- ldr r0, =gSpecialVar_0x8005
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, =gStringVar2
- mov r1, sp
- bl StringCopy10
-_0807BBA4:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807BAD8
-
- thumb_func_start sub_807BBC8
-sub_807BBC8: @ 807BBC8
- push {lr}
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0xFA
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807BBE0
- bl sub_807CFC8
- b _0807BBE4
- .pool
-_0807BBE0:
- bl sub_807BBEC
-_0807BBE4:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_807BBC8
-
- thumb_func_start sub_807BBEC
-sub_807BBEC: @ 807BBEC
- push {r4-r7,lr}
- sub sp, 0x14
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- adds r1, 0x94
- ldrh r5, [r1]
- ldr r1, =0x0000010b
- adds r7, r0, 0
- cmp r5, r1
- bls _0807BC04
- bl _0807CFB4
-_0807BC04:
- lsls r0, r5, 2
- ldr r1, =_0807BC1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807BC1C:
- .4byte _0807C04C
- .4byte _0807C0C4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807C120
- .4byte _0807C168
- .4byte _0807C1DC
- .4byte _0807CFB4
- .4byte _0807C248
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807C26C
- .4byte _0807C29C
- .4byte _0807C2AE
- .4byte _0807C2D0
- .4byte _0807C318
- .4byte _0807C348
- .4byte _0807C390
- .4byte _0807C3E0
- .4byte _0807C434
- .4byte _0807C4B8
- .4byte _0807C4DC
- .4byte _0807C528
- .4byte _0807C574
- .4byte _0807C5D0
- .4byte _0807C630
- .4byte _0807C644
- .4byte _0807C658
- .4byte _0807C66C
- .4byte _0807C794
- .4byte _0807C864
- .4byte _0807C8EC
- .4byte _0807C964
- .4byte _0807C974
- .4byte _0807C994
- .4byte _0807C9E4
- .4byte _0807CA02
- .4byte _0807CA40
- .4byte _0807CA50
- .4byte _0807CAC8
- .4byte _0807CFB4
- .4byte _0807CAF0
- .4byte _0807CB30
- .4byte _0807CB70
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CB90
- .4byte _0807CBB8
- .4byte _0807CBD4
- .4byte _0807CBF4
- .4byte _0807CC9C
- .4byte _0807CCD0
- .4byte _0807CD1C
- .4byte _0807CDDC
- .4byte _0807CE54
- .4byte _0807CEA0
- .4byte _0807CEB0
- .4byte _0807CEB6
- .4byte _0807CEDC
- .4byte _0807CF38
- .4byte _0807CF5C
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CE18
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807C460
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CFB4
- .4byte _0807CE38
-_0807C04C:
- ldr r3, =gSprites
- ldr r0, [r7]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r4, [r7]
- adds r2, r4, 0
- adds r2, 0x8E
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, =0x0000ff4c
- strh r1, [r0, 0x24]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldr r2, =gMonFrontPicCoords
- adds r0, r4, 0
- adds r0, 0xF0
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- strh r0, [r1, 0x26]
- adds r1, r4, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- bl GetCurrentMapMusic
- ldr r1, [r7]
- adds r1, 0xF4
- strh r0, [r1]
- ldr r0, =0x00000179
- bl PlayNewMapMusic
- bl _0807CFB4
- .pool
-_0807C0C4:
- ldr r5, [r7]
- adds r6, r5, 0
- adds r6, 0xE6
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- ble _0807C0F8
- ldr r2, =gSprites
- adds r0, r5, 0
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- adds r1, 0x3
- strh r1, [r0, 0x24]
- ldrh r0, [r6]
- subs r0, 0x3
- strh r0, [r6]
- bl _0807CFB4
- .pool
-_0807C0F8:
- ldr r2, =gSprites
- adds r0, r5, 0
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x24]
- strh r1, [r6]
- adds r1, r5, 0
- adds r1, 0x94
- movs r0, 0xA
- strh r0, [r1]
- bl _0807CFB4
- .pool
-_0807C120:
- ldr r4, =gStringVar4
- ldr r1, =gText_XWillBeSentToY
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0xF0
- ldrh r1, [r2]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _0807C14E
- adds r0, r1, 0
- movs r1, 0
- bl PlayCry1
-_0807C14E:
- ldr r3, [r4]
- adds r1, r3, 0
- adds r1, 0x94
- movs r2, 0
- movs r0, 0xB
- bl _0807CE06
- .pool
-_0807C168:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x50
- beq _0807C178
- bl _0807CFB4
-_0807C178:
- adds r0, r1, 0
- adds r0, 0x8E
- ldrb r0, [r0]
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0x14
- str r2, [sp, 0x8]
- ldr r2, =0x000fffff
- str r2, [sp, 0xC]
- movs r2, 0x78
- movs r3, 0x20
- bl sub_807671C
- ldr r1, [r7]
- adds r1, 0xD2
- strb r0, [r1]
- ldr r1, [r7]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_ByeByeVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- bl _0807CFB4
- .pool
-_0807C1DC:
- ldr r5, =gSprites
- ldr r0, [r7]
- adds r0, 0xD2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r5, 0
- adds r4, 0x1C
- adds r0, r4
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _0807C1FC
- bl _0807CFB4
-_0807C1FC:
- ldr r0, =gSpriteTemplate_8338D28
- movs r1, 0x78
- movs r2, 0x20
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0xD3
- strb r0, [r1]
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_807E5D8
- str r1, [r0]
- adds r2, 0xD2
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- ldr r1, [r7]
- bl _0807CF4C
- .pool
-_0807C248:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x14
- strh r1, [r0]
- bl _0807CFB4
- .pool
-_0807C26C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807C27C
- bl _0807CFB4
-_0807C27C:
- movs r0, 0x4
- bl sub_807B62C
- movs r0, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- bl _0807CF48
- .pool
-_0807C29C:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl _0807CF44
-_0807C2AE:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807C2BE
- bl _0807CFB4
-_0807C2BE:
- ldr r0, [r7]
- adds r0, 0x94
- movs r1, 0x17
- strh r1, [r0]
- bl _0807CFB4
- .pool
-_0807C2D0:
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0xEA
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bls _0807C2F0
- adds r0, r1, 0
- subs r0, 0x34
- strh r0, [r2]
- b _0807C30C
- .pool
-_0807C2F0:
- movs r0, 0x1
- bl sub_807B62C
- ldr r3, [r4]
- adds r1, r3, 0
- adds r1, 0xEA
- movs r2, 0
- movs r0, 0x80
- strh r0, [r1]
- subs r1, 0x56
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- str r2, [r3, 0x64]
-_0807C30C:
- ldr r0, =gUnknown_020322A0
- ldr r4, [r0]
- bl _0807CB5C
- .pool
-_0807C318:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x14
- bhi _0807C328
- bl _0807CFB4
-_0807C328:
- bl sub_807AB28
- ldr r0, =gSpriteTemplate_8338E74
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x91
- strb r0, [r1]
- ldr r1, [r7]
- bl _0807CF4C
- .pool
-_0807C348:
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- blt _0807C368
- bl _0807CFB4
-_0807C368:
- adds r0, r1, 0
- bl DestroySprite
- movs r1, 0xC8
- lsls r1, 3
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000040c
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r7]
- bl _0807CF4C
- .pool
-_0807C390:
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xE0
- ldrh r1, [r0]
- subs r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- movs r0, 0x9E
- lsls r0, 17
- cmp r1, r0
- bne _0807C3B0
- adds r1, r2, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807C3B0:
- ldr r0, [r7]
- adds r0, 0xE0
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0xA4
- lsls r0, 1
- cmp r1, r0
- beq _0807C3C4
- bl _0807CFB4
-_0807C3C4:
- ldr r0, =gSpriteTemplate_8338DFC
- movs r1, 0x80
- movs r2, 0x41
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x92
- strb r0, [r1]
- bl _0807CFB4
- .pool
-_0807C3E0:
- ldr r0, =gUnknown_08338D88
- movs r1, 0x80
- movs r2, 0x50
- movs r3, 0x3
- bl CreateSprite
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- adds r1, 0x90
- strb r0, [r1]
- ldr r0, =gSpriteTemplate_8338DC8
- movs r1, 0x80
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x91
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r4]
- bl _0807CF4C
- .pool
-_0807C434:
- ldr r2, [r7]
- adds r1, r2, 0
- adds r1, 0xE0
- ldrh r0, [r1]
- subs r0, 0x2
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA6
- bne _0807C44E
- subs r1, 0x4C
- movs r0, 0xC8
- strh r0, [r1]
-_0807C44E:
- ldr r1, =0x00001241
- movs r0, 0
- bl SetGpuReg
- bl _0807CFB4
- .pool
-_0807C460:
- ldr r2, =gSprites
- ldr r4, [r7]
- adds r3, r4, 0
- adds r3, 0x90
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x2
- strh r1, [r0, 0x22]
- adds r0, r4, 0
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x2
- strh r1, [r0, 0x22]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r3, 0x22
- ldrsh r1, [r0, r3]
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _0807C4A6
- bl _0807CFB4
-_0807C4A6:
- adds r1, r4, 0
- adds r1, 0x94
- movs r0, 0x1D
- strh r0, [r1]
- bl _0807CFB4
- .pool
-_0807C4B8:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x1E
- strh r1, [r0]
- bl _0807CFB4
- .pool
-_0807C4DC:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807C4EC
- bl _0807CFB4
-_0807C4EC:
- ldr r0, [r7]
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- movs r0, 0x2
- bl sub_807B62C
- ldr r1, [r7]
- bl _0807CF4C
- .pool
-_0807C528:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r5, =gSpriteTemplate_8338DC8
- adds r0, r5, 0
- movs r1, 0x6F
- movs r2, 0xAA
- movs r3, 0
- bl CreateSprite
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- adds r1, 0x90
- strb r0, [r1]
- movs r2, 0xA
- negs r2, r2
- adds r0, r5, 0
- movs r1, 0x81
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x91
- strb r0, [r1]
- ldr r1, [r4]
- bl _0807CF4C
- .pool
-_0807C574:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807C592
- movs r0, 0x2E
- bl PlaySE
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807C592:
- ldr r3, =gSprites
- ldr r0, =gUnknown_020322A0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r2, 0x91
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- bl _0807CFB4
- .pool
-_0807C5D0:
- ldr r5, =gSprites
- ldr r4, [r7]
- adds r2, r4, 0
- adds r2, 0x90
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r6, r4, 0
- adds r6, 0x91
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r5
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- movs r0, 0x5A
- negs r0, r0
- cmp r1, r0
- ble _0807C616
- bl _0807CFB4
-_0807C616:
- movs r2, 0x1
- strh r2, [r3, 0x30]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x30]
- adds r1, r4, 0
- bl _0807CF4C
- .pool
-_0807C630:
- ldr r2, =0x0000ffff
- movs r0, 0x1
- movs r1, 0x10
- bl BlendPalettes
- bl _0807CF48
- .pool
-_0807C644:
- ldr r2, =0x0000ffff
- movs r0, 0x1
- movs r1, 0
- bl BlendPalettes
- bl _0807CF48
- .pool
-_0807C658:
- ldr r2, =0x0000ffff
- movs r0, 0x1
- movs r1, 0x10
- bl BlendPalettes
- bl _0807CF48
- .pool
-_0807C66C:
- ldr r5, =gUnknown_020322A0
- ldr r0, [r5]
- adds r0, 0xF0
- ldrh r0, [r0]
- bl IsMonSpriteNotFlipped
- lsls r0, 24
- cmp r0, 0
- bne _0807C6E4
- ldr r4, =gSprites
- ldr r2, [r5]
- adds r2, 0x8E
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x10
- adds r0, r1
- ldr r1, =gSpriteAffineAnimTable_8338ECC
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x3
- bl CalcCenterToCornerVec
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- b _0807C6FA
- .pool
-_0807C6E4:
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAffineAnim
-_0807C6FA:
- ldr r5, =gUnknown_020322A0
- ldr r0, [r5]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- ldr r2, [r5]
- adds r3, r2, 0
- adds r3, 0x8E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x3C
- strh r1, [r0, 0x20]
- adds r2, 0x8F
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xB4
- strh r1, [r0, 0x20]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xC0
- strh r1, [r0, 0x22]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ffe0
- strh r1, [r0, 0x22]
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- ldr r1, [r5]
- bl _0807CF4C
- .pool
-_0807C794:
- ldr r4, =gSprites
- ldr r2, [r7]
- adds r3, r2, 0
- adds r3, 0x8E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- movs r5, 0
- strh r1, [r0, 0x26]
- adds r2, 0x8F
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x26]
- adds r0, 0xA3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0807C7DC
- movs r0, 0x2D
- bl PlaySE
-_0807C7DC:
- ldr r2, [r7]
- adds r3, r2, 0
- adds r3, 0x8E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r6, 0x26
- ldrsh r1, [r0, r6]
- movs r0, 0xDE
- negs r0, r0
- cmp r1, r0
- blt _0807C7FC
- bl _0807CFB4
-_0807C7FC:
- adds r0, r2, 0
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x30]
- adds r0, r2, 0
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x30]
- adds r1, r2, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r7]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldr r2, =0x0000ffff
- movs r0, 0x1
- movs r1, 0
- bl BlendPalettes
- b _0807CFB4
- .pool
-_0807C864:
- ldr r4, =gSprites
- ldr r2, [r7]
- adds r3, r2, 0
- adds r3, 0x90
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r2, 0x91
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r2, 0x26
- ldrsh r1, [r0, r2]
- movs r0, 0xDE
- negs r0, r0
- cmp r1, r0
- ble _0807C8A6
- b _0807CFB4
-_0807C8A6:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r7]
- adds r2, r1, 0
- adds r2, 0x94
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x90
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- b _0807CFB4
- .pool
-_0807C8EC:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807C8FA
- b _0807CFB4
-_0807C8FA:
- ldr r1, [r7]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
- bl sub_807B62C
- ldr r0, [r7]
- adds r0, 0xE0
- movs r1, 0xA6
- strh r1, [r0]
- ldr r0, =gUnknown_08338D88
- movs r4, 0x14
- negs r4, r4
- movs r1, 0x80
- adds r2, r4, 0
- movs r3, 0x3
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x90
- strb r0, [r1]
- ldr r0, =gSpriteTemplate_8338DC8
- movs r1, 0x80
- adds r2, r4, 0
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x91
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- b _0807CFB4
- .pool
-_0807C964:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- b _0807CF44
-_0807C974:
- movs r1, 0x92
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807C98C
- b _0807CFB4
-_0807C98C:
- b _0807CF48
- .pool
-_0807C994:
- ldr r2, =gSprites
- ldr r4, [r7]
- adds r3, r4, 0
- adds r3, 0x90
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- adds r0, r4, 0
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r3, 0x26
- ldrsh r1, [r0, r3]
- movs r6, 0x22
- ldrsh r0, [r0, r6]
- adds r1, r0
- cmp r1, 0x40
- beq _0807C9DA
- b _0807CFB4
-_0807C9DA:
- adds r1, r4, 0
- b _0807CF4C
- .pool
-_0807C9E4:
- ldr r1, [r7]
- adds r5, r1, 0
- adds r5, 0xE0
- ldrh r0, [r5]
- adds r0, 0x2
- strh r0, [r5]
- lsls r0, 16
- asrs r0, 16
- movs r6, 0x9E
- lsls r6, 1
- cmp r0, r6
- bgt _0807C9FE
- b _0807CFB4
-_0807C9FE:
- strh r6, [r5]
- b _0807CF4C
-_0807CA02:
- ldr r0, [r7]
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r3, [r7]
- adds r2, r3, 0
- adds r2, 0x94
- ldrh r0, [r2]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r2]
- str r1, [r3, 0x64]
- b _0807CFB4
- .pool
-_0807CA40:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0xA
- beq _0807CA4E
- b _0807CFB4
-_0807CA4E:
- b _0807CF4C
-_0807CA50:
- ldr r1, [r7]
- adds r2, r1, 0
- adds r2, 0xE0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0xAE
- lsls r3, 1
- cmp r0, r3
- ble _0807CA72
- strh r3, [r2]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807CA72:
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xE0
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0xA4
- lsls r0, 1
- cmp r1, r0
- beq _0807CA86
- b _0807CFB4
-_0807CA86:
- adds r0, r2, 0
- adds r0, 0xFA
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807CA92
- b _0807CFB4
-_0807CA92:
- ldr r0, =gSpriteTemplate_8338DFC
- movs r1, 0x80
- movs r2, 0x41
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x92
- strb r0, [r1]
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0x92
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_807AAE0
- str r1, [r0]
- b _0807CFB4
- .pool
-_0807CAC8:
- ldr r0, =gSpriteTemplate_8338E74
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r2, =gUnknown_020322A0
- ldr r1, [r2]
- adds r1, 0x91
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x94
- movs r1, 0x32
- strh r1, [r0]
- b _0807CFB4
- .pool
-_0807CAF0:
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- blt _0807CB0E
- b _0807CFB4
-_0807CB0E:
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x6
- bl sub_807B62C
- ldr r1, [r7]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x9F
- bl PlaySE
- b _0807CFB4
- .pool
-_0807CB30:
- ldr r1, [r7]
- adds r2, r1, 0
- adds r2, 0xEA
- ldrh r3, [r2]
- ldr r0, =0x000003ff
- cmp r3, r0
- bhi _0807CB4C
- adds r0, r3, 0
- adds r0, 0x34
- strh r0, [r2]
- b _0807CB5A
- .pool
-_0807CB4C:
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r2]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807CB5A:
- ldr r4, [r7]
-_0807CB5C:
- adds r0, r4, 0
- adds r0, 0xEA
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 8
- bl __divsi3
- adds r4, 0xE8
- strh r0, [r4]
- b _0807CFB4
-_0807CB70:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x3C
- strh r1, [r0]
- b _0807CFB4
- .pool
-_0807CB90:
- ldr r4, =gPaletteFade
- ldrb r1, [r4, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807CB9E
- b _0807CFB4
-_0807CB9E:
- movs r0, 0x5
- bl sub_807B62C
- movs r0, 0x7
- bl sub_807B62C
- ldrb r0, [r4, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4, 0x8]
- b _0807CF48
- .pool
-_0807CBB8:
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- b _0807CF44
- .pool
-_0807CBD4:
- movs r1, 0xA2
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807CBEC
- b _0807CFB4
-_0807CBEC:
- b _0807CF48
- .pool
-_0807CBF4:
- ldr r0, =gSpriteTemplate_8338D28
- movs r2, 0x8
- negs r2, r2
- movs r1, 0x78
- movs r3, 0
- bl CreateSprite
- ldr r5, =gUnknown_020322A0
- ldr r1, [r5]
- adds r1, 0xD3
- movs r6, 0
- strb r0, [r1]
- ldr r4, =gSprites
- ldr r2, [r5]
- adds r2, 0xD3
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x4A
- strh r1, [r0, 0x34]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_807E6AC
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r5]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, [r5]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- ldr r2, =0x0000ffff
- movs r1, 0x10
- bl BlendPalettes
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- str r6, [r2, 0x64]
- b _0807CFB4
- .pool
-_0807CC9C:
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r7]
- b _0807CF4C
- .pool
-_0807CCD0:
- ldr r2, =gSprites
- ldr r3, [r7]
- adds r0, r3, 0
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _0807CCEE
- b _0807CFB4
-_0807CCEE:
- adds r0, r3, 0
- adds r0, 0xF2
- ldrh r2, [r0]
- lsls r0, r2, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- ldr r1, [r1, 0x10]
- ldr r3, [r3, 0x6C]
- bl HandleLoadSpecialPokePic_2
- ldr r1, [r7]
- b _0807CF4C
- .pool
-_0807CD1C:
- ldr r4, =gSprites
- ldr r2, [r7]
- adds r6, r2, 0
- adds r6, 0x8F
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r5, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- ldrb r0, [r6]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldr r3, =gMonFrontPicCoords
- adds r2, 0xF2
- ldrh r0, [r2]
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- adds r0, 0x3C
- strh r0, [r1, 0x22]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x24]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x26]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- bl StartSpriteAnim
- ldr r3, [r7]
- adds r0, r3, 0
- adds r0, 0x8F
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0x14
- str r2, [sp, 0x8]
- ldr r2, =0x000fffff
- str r2, [sp, 0xC]
- adds r3, 0xF2
- ldrh r2, [r3]
- str r2, [sp, 0x10]
- movs r2, 0x78
- movs r3, 0x54
- bl CreatePokeballSpriteToReleaseMon
- ldr r0, [r7]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldr r0, [r7]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, [r7]
- b _0807CF4C
- .pool
-_0807CDDC:
- movs r1, 0xAA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r4, =gStringVar4
- ldr r1, =gText_XSentOverY
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- ldr r0, =gUnknown_020322A0
- ldr r3, [r0]
- adds r1, r3, 0
- adds r1, 0x94
- movs r2, 0
- movs r0, 0xA7
-_0807CE06:
- strh r0, [r1]
- str r2, [r3, 0x64]
- b _0807CFB4
- .pool
-_0807CE18:
- ldr r3, [r7]
- ldr r0, [r3, 0x64]
- adds r0, 0x1
- str r0, [r3, 0x64]
- cmp r0, 0x3C
- bhi _0807CE26
- b _0807CFB4
-_0807CE26:
- adds r0, r3, 0
- adds r0, 0x94
- movs r2, 0
- ldr r1, =0x0000010b
- strh r1, [r0]
- str r2, [r3, 0x64]
- b _0807CFB4
- .pool
-_0807CE38:
- bl IsCryFinished
- lsls r0, 24
- cmp r0, 0
- bne _0807CE44
- b _0807CFB4
-_0807CE44:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x44
- strh r1, [r0]
- b _0807CFB4
- .pool
-_0807CE54:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0xA
- bne _0807CE66
- ldr r0, =0x00000173
- bl PlayFanfare
-_0807CE66:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- cmp r0, 0xFA
- beq _0807CE70
- b _0807CFB4
-_0807CE70:
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_TakeGoodCareOfX
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- ldr r0, [r7]
- str r5, [r0, 0x64]
- b _0807CFB4
- .pool
-_0807CEA0:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x3C
- beq _0807CEAE
- b _0807CFB4
-_0807CEAE:
- b _0807CF4C
-_0807CEB0:
- bl sub_807F14C
- b _0807CF48
-_0807CEB6:
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xEE
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807CEC6
- movs r0, 0x1
- b _0807CFB6
-_0807CEC6:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807CFB4
- adds r1, r2, 0
- b _0807CF4C
- .pool
-_0807CEDC:
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
- movs r1, 0
- bl sub_807B4D0
- ldr r1, =gCB2_AfterEvolution
- ldr r0, =sub_807B60C
- str r0, [r1]
- ldr r7, =gUnknown_02032298
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0x1
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0807CF48
- ldrb r3, [r7]
- adds r0, r3, 0
- muls r0, r6
- adds r0, r5
- ldr r1, =gUnknown_020322A0
- ldr r1, [r1]
- adds r1, 0x8F
- ldrb r2, [r1]
- adds r1, r4, 0
- bl TradeEvolutionScene
- b _0807CF48
- .pool
-_0807CF38:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
-_0807CF44:
- bl BeginNormalPaletteFade
-_0807CF48:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
-_0807CF4C:
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0807CFB4
- .pool
-_0807CF5C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0807CFB4
- ldr r0, [r7]
- adds r0, 0xF4
- ldrh r0, [r0]
- bl PlayNewMapMusic
- ldr r0, [r7]
- cmp r0, 0
- beq _0807CFAA
- bl FreeAllWindowBuffers
- movs r0, 0x3
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0x1
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0
- bl GetBgTilemapBuffer
- bl Free
- bl FreeMonSpritesGfx
- ldr r0, [r7]
- bl Free
- str r4, [r7]
-_0807CFAA:
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- bl sub_807E784
-_0807CFB4:
- movs r0, 0
-_0807CFB6:
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_807BBEC
-
- thumb_func_start sub_807CFC8
-sub_807CFC8: @ 807CFC8
- push {r4-r7,lr}
- sub sp, 0x14
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- adds r1, 0x94
- ldrh r5, [r1]
- ldr r1, =0x0000010b
- adds r7, r0, 0
- cmp r5, r1
- bls _0807CFE0
- bl _0807E400
-_0807CFE0:
- lsls r0, r5, 2
- ldr r1, =_0807CFF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807CFF8:
- .4byte _0807D428
- .4byte _0807D4A0
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807D4FC
- .4byte _0807D544
- .4byte _0807D5B8
- .4byte _0807E400
- .4byte _0807D624
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807D648
- .4byte _0807D678
- .4byte _0807D68A
- .4byte _0807D6AC
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807D7A4
- .4byte _0807D7C4
- .4byte _0807D830
- .4byte _0807D8B4
- .4byte _0807D8D8
- .4byte _0807D924
- .4byte _0807D970
- .4byte _0807D9CC
- .4byte _0807DA38
- .4byte _0807DA4C
- .4byte _0807DA60
- .4byte _0807DA74
- .4byte _0807DB9C
- .4byte _0807DC6C
- .4byte _0807DCF4
- .4byte _0807DD94
- .4byte _0807DDA4
- .4byte _0807DDC4
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807DEE8
- .4byte _0807DEF8
- .4byte _0807DF16
- .4byte _0807E400
- .4byte _0807DF3C
- .4byte _0807DF7C
- .4byte _0807DFBC
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807DFDC
- .4byte _0807E004
- .4byte _0807E020
- .4byte _0807E040
- .4byte _0807E0E8
- .4byte _0807E11C
- .4byte _0807E168
- .4byte _0807E228
- .4byte _0807E2A0
- .4byte _0807E2EC
- .4byte _0807E2FC
- .4byte _0807E302
- .4byte _0807E328
- .4byte _0807E384
- .4byte _0807E3A8
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807D6F4
- .4byte _0807D728
- .4byte _0807D77C
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807DE1C
- .4byte _0807DE84
- .4byte _0807DEC0
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E264
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807D85C
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E400
- .4byte _0807E284
-_0807D428:
- ldr r3, =gSprites
- ldr r0, [r7]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r4, [r7]
- adds r2, r4, 0
- adds r2, 0x8E
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, =0x0000ff4c
- strh r1, [r0, 0x24]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldr r2, =gMonFrontPicCoords
- adds r0, r4, 0
- adds r0, 0xF0
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- strh r0, [r1, 0x26]
- adds r1, r4, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- bl GetCurrentMapMusic
- ldr r1, [r7]
- adds r1, 0xF4
- strh r0, [r1]
- ldr r0, =0x00000179
- bl PlayNewMapMusic
- bl _0807E400
- .pool
-_0807D4A0:
- ldr r5, [r7]
- adds r6, r5, 0
- adds r6, 0xE6
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- ble _0807D4D4
- ldr r2, =gSprites
- adds r0, r5, 0
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- adds r1, 0x3
- strh r1, [r0, 0x24]
- ldrh r0, [r6]
- subs r0, 0x3
- strh r0, [r6]
- bl _0807E400
- .pool
-_0807D4D4:
- ldr r2, =gSprites
- adds r0, r5, 0
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x24]
- strh r1, [r6]
- adds r1, r5, 0
- adds r1, 0x94
- movs r0, 0xA
- strh r0, [r1]
- bl _0807E400
- .pool
-_0807D4FC:
- ldr r4, =gStringVar4
- ldr r1, =gText_XWillBeSentToY
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0xF0
- ldrh r1, [r2]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _0807D52A
- adds r0, r1, 0
- movs r1, 0
- bl PlayCry1
-_0807D52A:
- ldr r3, [r4]
- adds r1, r3, 0
- adds r1, 0x94
- movs r2, 0
- movs r0, 0xB
- bl _0807E252
- .pool
-_0807D544:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x50
- beq _0807D554
- bl _0807E400
-_0807D554:
- adds r0, r1, 0
- adds r0, 0x8E
- ldrb r0, [r0]
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0x14
- str r2, [sp, 0x8]
- ldr r2, =0x000fffff
- str r2, [sp, 0xC]
- movs r2, 0x78
- movs r3, 0x20
- bl sub_807671C
- ldr r1, [r7]
- adds r1, 0xD2
- strb r0, [r1]
- ldr r1, [r7]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_ByeByeVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- bl _0807E400
- .pool
-_0807D5B8:
- ldr r5, =gSprites
- ldr r0, [r7]
- adds r0, 0xD2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r5, 0
- adds r4, 0x1C
- adds r0, r4
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _0807D5D8
- bl _0807E400
-_0807D5D8:
- ldr r0, =gSpriteTemplate_8338D28
- movs r1, 0x78
- movs r2, 0x20
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0xD3
- strb r0, [r1]
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_807E5D8
- str r1, [r0]
- adds r2, 0xD2
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- ldr r1, [r7]
- bl _0807E398
- .pool
-_0807D624:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x14
- strh r1, [r0]
- bl _0807E400
- .pool
-_0807D648:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807D658
- bl _0807E400
-_0807D658:
- movs r0, 0x4
- bl sub_807B62C
- movs r0, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- bl _0807E394
- .pool
-_0807D678:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl _0807E390
-_0807D68A:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807D69A
- bl _0807E400
-_0807D69A:
- ldr r0, [r7]
- adds r0, 0x94
- movs r1, 0x17
- strh r1, [r0]
- bl _0807E400
- .pool
-_0807D6AC:
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0xEA
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bls _0807D6CC
- adds r0, r1, 0
- subs r0, 0x34
- strh r0, [r2]
- b _0807D6E6
- .pool
-_0807D6CC:
- movs r0, 0x1
- bl sub_807B62C
- ldr r3, [r4]
- adds r1, r3, 0
- adds r1, 0xEA
- movs r2, 0
- movs r0, 0x80
- strh r0, [r1]
- subs r1, 0x56
- movs r0, 0x7C
- strh r0, [r1]
- str r2, [r3, 0x64]
-_0807D6E6:
- ldr r0, =gUnknown_020322A0
- ldr r4, [r0]
- bl _0807DFA8
- .pool
-_0807D6F4:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x14
- bhi _0807D704
- bl _0807E400
-_0807D704:
- movs r0, 0x3
- bl sub_807B62C
- ldr r0, =gSpriteTemplate_8338E8C
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x91
- strb r0, [r1]
- ldr r1, [r7]
- bl _0807E398
- .pool
-_0807D728:
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- blt _0807D748
- bl _0807E400
-_0807D748:
- adds r0, r1, 0
- bl DestroySprite
- ldr r1, =0x00000452
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 3
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =c3_08054588
- movs r1, 0x5
- bl CreateTask
- ldr r1, [r7]
- bl _0807E398
- .pool
-_0807D77C:
- ldr r0, =c3_08054588
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _0807D78C
- bl _0807E400
-_0807D78C:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x1A
- strh r1, [r0]
- bl _0807E400
- .pool
-_0807D7A4:
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xE0
- ldrh r1, [r0]
- subs r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- movs r0, 0x9E
- lsls r0, 17
- cmp r1, r0
- beq _0807D7BE
- bl _0807E400
-_0807D7BE:
- adds r1, r2, 0
- bl _0807E398
-_0807D7C4:
- ldr r0, =gUnknown_08338D88
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0x3
- bl CreateSprite
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- adds r1, 0x90
- strb r0, [r1]
- ldr r5, =gSprites
- ldr r0, [r4]
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_807AA4C
- str r1, [r0]
- ldr r0, =gSpriteTemplate_8338DC8
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x91
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r4]
- bl _0807E398
- .pool
-_0807D830:
- ldr r2, [r7]
- adds r1, r2, 0
- adds r1, 0xE0
- ldrh r0, [r1]
- subs r0, 0x3
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA6
- bne _0807D84A
- subs r1, 0x4C
- movs r0, 0xC8
- strh r0, [r1]
-_0807D84A:
- ldr r1, =0x00001241
- movs r0, 0
- bl SetGpuReg
- bl _0807E400
- .pool
-_0807D85C:
- ldr r2, =gSprites
- ldr r4, [r7]
- adds r3, r4, 0
- adds r3, 0x90
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x2
- strh r1, [r0, 0x22]
- adds r0, r4, 0
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x2
- strh r1, [r0, 0x22]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r2, 0x22
- ldrsh r1, [r0, r2]
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _0807D8A2
- bl _0807E400
-_0807D8A2:
- adds r1, r4, 0
- adds r1, 0x94
- movs r0, 0x1D
- strh r0, [r1]
- bl _0807E400
- .pool
-_0807D8B4:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x1E
- strh r1, [r0]
- bl _0807E400
- .pool
-_0807D8D8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807D8E8
- bl _0807E400
-_0807D8E8:
- ldr r0, [r7]
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- movs r0, 0x2
- bl sub_807B62C
- ldr r1, [r7]
- bl _0807E398
- .pool
-_0807D924:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r5, =gSpriteTemplate_8338DC8
- adds r0, r5, 0
- movs r1, 0x6F
- movs r2, 0xAA
- movs r3, 0
- bl CreateSprite
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- adds r1, 0x90
- strb r0, [r1]
- movs r2, 0xA
- negs r2, r2
- adds r0, r5, 0
- movs r1, 0x81
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x91
- strb r0, [r1]
- ldr r1, [r4]
- bl _0807E398
- .pool
-_0807D970:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807D98E
- movs r0, 0x2E
- bl PlaySE
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807D98E:
- ldr r3, =gSprites
- ldr r0, =gUnknown_020322A0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r2, 0x91
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- bl _0807E400
- .pool
-_0807D9CC:
- ldr r5, =gSprites
- ldr r4, [r7]
- adds r2, r4, 0
- adds r2, 0x90
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r6, r4, 0
- adds r6, 0x91
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r5
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- movs r0, 0x5A
- negs r0, r0
- cmp r1, r0
- ble _0807DA12
- bl _0807E400
-_0807DA12:
- movs r2, 0x1
- strh r2, [r3, 0x30]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x30]
- adds r1, r4, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r0, =c3_0805465C
- b _0807DC5A
- .pool
-_0807DA38:
- ldr r2, =0x0000ffff
- movs r0, 0x8
- movs r1, 0x10
- bl BlendPalettes
- bl _0807E394
- .pool
-_0807DA4C:
- ldr r2, =0x0000ffff
- movs r0, 0x8
- movs r1, 0x10
- bl BlendPalettes
- bl _0807E394
- .pool
-_0807DA60:
- ldr r2, =0x0000ffff
- movs r0, 0x8
- movs r1, 0x10
- bl BlendPalettes
- bl _0807E394
- .pool
-_0807DA74:
- ldr r5, =gUnknown_020322A0
- ldr r0, [r5]
- adds r0, 0xF0
- ldrh r0, [r0]
- bl IsMonSpriteNotFlipped
- lsls r0, 24
- cmp r0, 0
- bne _0807DAEC
- ldr r4, =gSprites
- ldr r2, [r5]
- adds r2, 0x8E
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x10
- adds r0, r1
- ldr r1, =gSpriteAffineAnimTable_8338ECC
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x3
- bl CalcCenterToCornerVec
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- b _0807DB02
- .pool
-_0807DAEC:
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAffineAnim
-_0807DB02:
- ldr r5, =gUnknown_020322A0
- ldr r0, [r5]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- ldr r2, [r5]
- adds r3, r2, 0
- adds r3, 0x8E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x28
- strh r1, [r0, 0x20]
- adds r2, 0x8F
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xC8
- strh r1, [r0, 0x20]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xC0
- strh r1, [r0, 0x22]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ffe0
- strh r1, [r0, 0x22]
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- ldr r1, [r5]
- bl _0807E398
- .pool
-_0807DB9C:
- ldr r4, =gSprites
- ldr r2, [r7]
- adds r3, r2, 0
- adds r3, 0x8E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- movs r5, 0
- strh r1, [r0, 0x26]
- adds r2, 0x8F
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x26]
- adds r0, 0xA3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0807DBE4
- movs r0, 0x2D
- bl PlaySE
-_0807DBE4:
- ldr r2, [r7]
- adds r3, r2, 0
- adds r3, 0x8E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r6, 0x26
- ldrsh r1, [r0, r6]
- movs r0, 0xDE
- negs r0, r0
- cmp r1, r0
- blt _0807DC04
- bl _0807E400
-_0807DC04:
- adds r0, r2, 0
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x30]
- adds r0, r2, 0
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x30]
- adds r1, r2, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r7]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =sub_807F39C
-_0807DC5A:
- movs r1, 0x5
- bl CreateTask
- b _0807E400
- .pool
-_0807DC6C:
- ldr r4, =gSprites
- ldr r2, [r7]
- adds r3, r2, 0
- adds r3, 0x90
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
- adds r2, 0x91
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r2, 0x26
- ldrsh r1, [r0, r2]
- movs r0, 0xDE
- negs r0, r0
- cmp r1, r0
- ble _0807DCAE
- b _0807E400
-_0807DCAE:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r7]
- adds r2, r1, 0
- adds r2, 0x94
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x90
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- b _0807E400
- .pool
-_0807DCF4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807DD02
- b _0807E400
-_0807DD02:
- ldr r1, [r7]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
- bl sub_807B62C
- ldr r0, [r7]
- adds r0, 0xE0
- movs r1, 0xA6
- strh r1, [r0]
- movs r0, 0x3
- bl sub_807B62C
- ldr r0, [r7]
- adds r0, 0xE4
- movs r1, 0xCE
- lsls r1, 1
- strh r1, [r0]
- ldr r0, =gUnknown_08338D88
- movs r4, 0x14
- negs r4, r4
- movs r1, 0x78
- adds r2, r4, 0
- movs r3, 0x3
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x90
- strb r0, [r1]
- ldr r5, =gSprites
- ldr r0, [r7]
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_807AA4C
- str r1, [r0]
- ldr r0, =gSpriteTemplate_8338DC8
- movs r1, 0x78
- adds r2, r4, 0
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x91
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- b _0807E400
- .pool
-_0807DD94:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- b _0807E390
-_0807DDA4:
- movs r1, 0x92
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807DDBC
- b _0807E400
-_0807DDBC:
- b _0807E394
- .pool
-_0807DDC4:
- ldr r2, =gSprites
- ldr r4, [r7]
- adds r3, r4, 0
- adds r3, 0x90
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x4
- strh r1, [r0, 0x26]
- adds r0, r4, 0
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x4
- strh r1, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r6, 0x26
- ldrsh r1, [r0, r6]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- adds r1, r0
- cmp r1, 0x40
- beq _0807DE0A
- b _0807E400
-_0807DE0A:
- adds r0, r4, 0
- adds r0, 0x94
- movs r1, 0x90
- strh r1, [r0]
- movs r0, 0
- str r0, [r4, 0x64]
- b _0807E400
- .pool
-_0807DE1C:
- movs r1, 0xB2
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r4, =gUnknown_020322A0
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xE0
- ldrh r0, [r1]
- adds r0, 0x3
- strh r0, [r1]
- adds r1, 0x4
- ldrh r0, [r1]
- adds r0, 0x3
- strh r0, [r1]
- ldr r0, [r2, 0x64]
- adds r0, 0x1
- str r0, [r2, 0x64]
- cmp r0, 0xA
- bne _0807DE60
- ldr r0, =c3_08054588
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0xC]
-_0807DE60:
- ldr r1, [r4]
- adds r3, r1, 0
- adds r3, 0xE0
- movs r6, 0
- ldrsh r0, [r3, r6]
- movs r2, 0x9E
- lsls r2, 1
- cmp r0, r2
- bgt _0807DE74
- b _0807E400
-_0807DE74:
- strh r2, [r3]
- b _0807E398
- .pool
-_0807DE84:
- ldr r0, [r7]
- adds r0, 0x90
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r3, [r7]
- adds r2, r3, 0
- adds r2, 0x94
- ldrh r0, [r2]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r2]
- str r1, [r3, 0x64]
- b _0807E400
- .pool
-_0807DEC0:
- ldr r0, =c3_08054588
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _0807DED0
- b _0807E400
-_0807DED0:
- ldr r0, =gUnknown_020322A0
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x94
- movs r0, 0x2E
- strh r0, [r1]
- str r3, [r2, 0x64]
- b _0807E400
- .pool
-_0807DEE8:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0xA
- beq _0807DEF6
- b _0807E400
-_0807DEF6:
- b _0807E398
-_0807DEF8:
- ldr r1, [r7]
- adds r5, r1, 0
- adds r5, 0xE0
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- asrs r0, 16
- movs r6, 0xAE
- lsls r6, 1
- cmp r0, r6
- bgt _0807DF12
- b _0807E400
-_0807DF12:
- strh r6, [r5]
- b _0807E398
-_0807DF16:
- ldr r0, =gSpriteTemplate_8338E74
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r2, =gUnknown_020322A0
- ldr r1, [r2]
- adds r1, 0x91
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x94
- movs r1, 0x32
- strh r1, [r0]
- b _0807E400
- .pool
-_0807DF3C:
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0x91
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- blt _0807DF5A
- b _0807E400
-_0807DF5A:
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x6
- bl sub_807B62C
- ldr r1, [r7]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x9F
- bl PlaySE
- b _0807E400
- .pool
-_0807DF7C:
- ldr r1, [r7]
- adds r2, r1, 0
- adds r2, 0xEA
- ldrh r3, [r2]
- ldr r0, =0x000003ff
- cmp r3, r0
- bhi _0807DF98
- adds r0, r3, 0
- adds r0, 0x34
- strh r0, [r2]
- b _0807DFA6
- .pool
-_0807DF98:
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r2]
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807DFA6:
- ldr r4, [r7]
-_0807DFA8:
- adds r0, r4, 0
- adds r0, 0xEA
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 8
- bl __divsi3
- adds r4, 0xE8
- strh r0, [r4]
- b _0807E400
-_0807DFBC:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x3C
- strh r1, [r0]
- b _0807E400
- .pool
-_0807DFDC:
- ldr r4, =gPaletteFade
- ldrb r1, [r4, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807DFEA
- b _0807E400
-_0807DFEA:
- movs r0, 0x5
- bl sub_807B62C
- movs r0, 0x7
- bl sub_807B62C
- ldrb r0, [r4, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4, 0x8]
- b _0807E394
- .pool
-_0807E004:
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- b _0807E390
- .pool
-_0807E020:
- movs r1, 0xA2
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0807E038
- b _0807E400
-_0807E038:
- b _0807E394
- .pool
-_0807E040:
- ldr r0, =gSpriteTemplate_8338D28
- movs r2, 0x8
- negs r2, r2
- movs r1, 0x78
- movs r3, 0
- bl CreateSprite
- ldr r5, =gUnknown_020322A0
- ldr r1, [r5]
- adds r1, 0xD3
- movs r6, 0
- strb r0, [r1]
- ldr r4, =gSprites
- ldr r2, [r5]
- adds r2, 0xD3
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x4A
- strh r1, [r0, 0x34]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_807E6AC
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r5]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, [r5]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- ldr r2, =0x0000ffff
- movs r1, 0x10
- bl BlendPalettes
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- str r6, [r2, 0x64]
- b _0807E400
- .pool
-_0807E0E8:
- ldr r2, =gSprites
- ldr r0, [r7]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r7]
- b _0807E398
- .pool
-_0807E11C:
- ldr r2, =gSprites
- ldr r3, [r7]
- adds r0, r3, 0
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _0807E13A
- b _0807E400
-_0807E13A:
- adds r0, r3, 0
- adds r0, 0xF2
- ldrh r2, [r0]
- lsls r0, r2, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- ldr r1, [r1, 0x10]
- ldr r3, [r3, 0x6C]
- bl HandleLoadSpecialPokePic_2
- ldr r1, [r7]
- b _0807E398
- .pool
-_0807E168:
- ldr r4, =gSprites
- ldr r2, [r7]
- adds r6, r2, 0
- adds r6, 0x8F
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r5, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- ldrb r0, [r6]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldr r3, =gMonFrontPicCoords
- adds r2, 0xF2
- ldrh r0, [r2]
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- adds r0, 0x3C
- strh r0, [r1, 0x22]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x24]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x26]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- bl StartSpriteAnim
- ldr r3, [r7]
- adds r0, r3, 0
- adds r0, 0x8F
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0x14
- str r2, [sp, 0x8]
- ldr r2, =0x000fffff
- str r2, [sp, 0xC]
- adds r3, 0xF2
- ldrh r2, [r3]
- str r2, [sp, 0x10]
- movs r2, 0x78
- movs r3, 0x54
- bl CreatePokeballSpriteToReleaseMon
- ldr r0, [r7]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldr r0, [r7]
- adds r0, 0xD3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, [r7]
- b _0807E398
- .pool
-_0807E228:
- movs r1, 0xAA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r4, =gStringVar4
- ldr r1, =gText_XSentOverY
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- ldr r0, =gUnknown_020322A0
- ldr r3, [r0]
- adds r1, r3, 0
- adds r1, 0x94
- movs r2, 0
- movs r0, 0xA7
-_0807E252:
- strh r0, [r1]
- str r2, [r3, 0x64]
- b _0807E400
- .pool
-_0807E264:
- ldr r3, [r7]
- ldr r0, [r3, 0x64]
- adds r0, 0x1
- str r0, [r3, 0x64]
- cmp r0, 0x3C
- bhi _0807E272
- b _0807E400
-_0807E272:
- adds r0, r3, 0
- adds r0, 0x94
- movs r2, 0
- ldr r1, =0x0000010b
- strh r1, [r0]
- str r2, [r3, 0x64]
- b _0807E400
- .pool
-_0807E284:
- bl IsCryFinished
- lsls r0, 24
- cmp r0, 0
- bne _0807E290
- b _0807E400
-_0807E290:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0x44
- strh r1, [r0]
- b _0807E400
- .pool
-_0807E2A0:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0xA
- bne _0807E2B2
- ldr r0, =0x00000173
- bl PlayFanfare
-_0807E2B2:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- cmp r0, 0xFA
- beq _0807E2BC
- b _0807E400
-_0807E2BC:
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_TakeGoodCareOfX
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- ldr r0, [r7]
- str r5, [r0, 0x64]
- b _0807E400
- .pool
-_0807E2EC:
- ldr r1, [r7]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x3C
- beq _0807E2FA
- b _0807E400
-_0807E2FA:
- b _0807E398
-_0807E2FC:
- bl sub_807F14C
- b _0807E394
-_0807E302:
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xEE
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807E312
- movs r0, 0x1
- b _0807E402
-_0807E312:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807E400
- adds r1, r2, 0
- b _0807E398
- .pool
-_0807E328:
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
- movs r1, 0
- bl sub_807B4D0
- ldr r1, =gCB2_AfterEvolution
- ldr r0, =sub_807B60C
- str r0, [r1]
- ldr r7, =gUnknown_02032298
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0x1
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0807E394
- ldrb r3, [r7]
- adds r0, r3, 0
- muls r0, r6
- adds r0, r5
- ldr r1, =gUnknown_020322A0
- ldr r1, [r1]
- adds r1, 0x8F
- ldrb r2, [r1]
- adds r1, r4, 0
- bl TradeEvolutionScene
- b _0807E394
- .pool
-_0807E384:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
-_0807E390:
- bl BeginNormalPaletteFade
-_0807E394:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
-_0807E398:
- adds r1, 0x94
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0807E400
- .pool
-_0807E3A8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0807E400
- ldr r0, [r7]
- adds r0, 0xF4
- ldrh r0, [r0]
- bl PlayNewMapMusic
- ldr r0, [r7]
- cmp r0, 0
- beq _0807E3F6
- bl FreeAllWindowBuffers
- movs r0, 0x3
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0x1
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0
- bl GetBgTilemapBuffer
- bl Free
- bl FreeMonSpritesGfx
- ldr r0, [r7]
- bl Free
- str r4, [r7]
-_0807E3F6:
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- bl sub_807E784
-_0807E400:
- movs r0, 0
-_0807E402:
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_807CFC8
-
- thumb_func_start c2_08053788
-c2_08053788: @ 807E414
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _0807E434
- cmp r0, 0x4
- beq _0807E444
- b _0807E4B4
- .pool
-_0807E434:
- movs r0, 0x4
- strb r0, [r1]
- ldr r1, =gSoftResetDisabled
- movs r0, 0x1
- b _0807E4B2
- .pool
-_0807E444:
- ldr r0, =gCB2_AfterEvolution
- ldr r1, =sub_807EB50
- mov r8, r1
- str r1, [r0]
- ldr r7, =gUnknown_02032298
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0x1
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0807E494
- ldrb r3, [r7]
- adds r0, r3, 0
- muls r0, r6
- adds r0, r5
- ldr r1, =gUnknown_020322A0
- ldr r1, [r1]
- adds r1, 0x8F
- ldrb r2, [r1]
- adds r1, r4, 0
- bl TradeEvolutionScene
- b _0807E4AE
- .pool
-_0807E494:
- bl sub_8077260
- cmp r0, 0
- beq _0807E4A8
- ldr r0, =sub_807F464
- bl SetMainCallback2
- b _0807E4AE
- .pool
-_0807E4A8:
- mov r0, r8
- bl SetMainCallback2
-_0807E4AE:
- ldr r1, =gUnknown_02032298
- movs r0, 0xFF
-_0807E4B2:
- strb r0, [r1]
-_0807E4B4:
- bl HasLinkErrorOccurred
- lsls r0, 24
- cmp r0, 0
- bne _0807E4C2
- bl RunTasks
-_0807E4C2:
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_08053788
-
- thumb_func_start sub_807E4DC
-sub_807E4DC: @ 807E4DC
- push {r4-r6,lr}
- bl sub_807ACDC
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0x1
- adds r0, r5, 0
- ands r0, r6
- cmp r0, 0
- beq _0807E51A
- ldr r4, =gBlockRecvBuffer
- ldrh r1, [r4]
- ldr r0, =0x0000dcba
- cmp r1, r0
- bne _0807E504
- ldr r0, =c2_08053788
- bl SetMainCallback2
-_0807E504:
- ldrh r1, [r4]
- ldr r0, =0x0000abcd
- cmp r1, r0
- bne _0807E514
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x72
- strb r6, [r0]
-_0807E514:
- movs r0, 0
- bl ResetBlockReceivedFlag
-_0807E51A:
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _0807E542
- ldr r0, =gBlockRecvBuffer
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x0000abcd
- cmp r1, r0
- bne _0807E53C
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x73
- movs r1, 0x1
- strb r1, [r0]
-_0807E53C:
- movs r0, 0x1
- bl ResetBlockReceivedFlag
-_0807E542:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E4DC
-
- thumb_func_start sub_807E55C
-sub_807E55C: @ 807E55C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- movs r1, 0xA
- bl __divsi3
- ldrh r4, [r5, 0x22]
- adds r4, r0
- strh r4, [r5, 0x22]
- ldrh r0, [r5, 0x30]
- ldrh r2, [r5, 0x38]
- adds r0, r2
- strh r0, [r5, 0x38]
- movs r1, 0x38
- ldrsh r0, [r5, r1]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r5, 0x20]
- lsls r4, 16
- asrs r4, 16
- cmp r4, 0x4C
- ble _0807E5AA
- movs r0, 0x4C
- strh r0, [r5, 0x22]
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- muls r0, r1
- negs r0, r0
- movs r1, 0x64
- bl __divsi3
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
-_0807E5AA:
- movs r1, 0x20
- ldrsh r0, [r5, r1]
- cmp r0, 0x78
- bne _0807E5B6
- movs r0, 0
- strh r0, [r5, 0x30]
-_0807E5B6:
- ldrh r0, [r5, 0x36]
- ldrh r2, [r5, 0x2E]
- adds r0, r2
- strh r0, [r5, 0x2E]
- movs r1, 0x34
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bne _0807E5CE
- movs r0, 0x1
- strh r0, [r5, 0x3C]
- ldr r0, =SpriteCallbackDummy
- str r0, [r5, 0x1C]
-_0807E5CE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E55C
-
- thumb_func_start sub_807E5D8
-sub_807E5D8: @ 807E5D8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r1, =gUnknown_08339024
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x16
- bne _0807E600
- movs r0, 0x38
- bl PlaySE
-_0807E600:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2C
- bne _0807E636
- movs r0, 0x8C
- bl PlaySE
- ldr r0, =sub_807E64C
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- movs r1, 0x1
- negs r1, r1
- ldr r2, =0x0000ffff
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0807E636:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E5D8
-
- thumb_func_start sub_807E64C
-sub_807E64C: @ 807E64C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x14
- bne _0807E660
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_0807E660:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _0807E69E
- ldr r1, =gUnknown_08339024
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- adds r0, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- ldrh r0, [r4, 0x26]
- subs r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- bne _0807E69E
- adds r0, r4, 0
- bl DestroySprite
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- adds r0, 0x94
- movs r1, 0xE
- strh r1, [r0]
-_0807E69E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E64C
-
- thumb_func_start sub_807E6AC
-sub_807E6AC: @ 807E6AC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x32]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0807E6DC
- ldrh r0, [r4, 0x22]
- adds r0, 0x4
- strh r0, [r4, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x34
- ldrsh r1, [r4, r3]
- cmp r0, r1
- ble _0807E72C
- adds r0, r2, 0x1
- strh r0, [r4, 0x32]
- movs r0, 0x16
- strh r0, [r4, 0x2E]
- movs r0, 0x38
- bl PlaySE
- b _0807E72C
-_0807E6DC:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x42
- bne _0807E6EA
- movs r0, 0x39
- bl PlaySE
-_0807E6EA:
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x5C
- bne _0807E6F8
- movs r0, 0x3A
- bl PlaySE
-_0807E6F8:
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r0, 0x6B
- bne _0807E706
- movs r0, 0x3B
- bl PlaySE
-_0807E706:
- ldr r1, =gUnknown_08339024
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r3, [r4, 0x26]
- adds r0, r3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6C
- bne _0807E72C
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_0807E72C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E6AC
-
- thumb_func_start sub_807E73C
-sub_807E73C: @ 807E73C
- push {r4-r6,lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 2
- ldr r0, =gIngameTrades
- adds r4, r0
- ldr r0, =gStringVar1
- ldrh r1, [r4, 0x38]
- movs r6, 0xB
- muls r1, r6
- ldr r5, =gSpeciesNames
- adds r1, r5
- bl StringCopy
- ldr r0, =gStringVar2
- ldrh r1, [r4, 0xC]
- muls r1, r6
- adds r1, r5
- bl StringCopy
- ldrh r0, [r4, 0x38]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_807E73C
-
- thumb_func_start sub_807E784
-sub_807E784: @ 807E784
- push {r4,lr}
- sub sp, 0x20
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 2
- ldr r0, =gIngameTrades
- adds r4, r0
- ldr r0, =gSpecialVar_0x8005
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, =gStringVar1
- mov r1, sp
- bl StringCopy10
- ldr r0, =gStringVar2
- ldrh r2, [r4, 0xC]
- movs r1, 0xB
- muls r1, r2
- ldr r2, =gSpeciesNames
- adds r1, r2
- bl StringCopy
- add sp, 0x20
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E784
-
- thumb_func_start sub_807E7E8
-sub_807E7E8: @ 807E7E8
- push {r4-r7,lr}
- sub sp, 0x38
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, r1, 4
- subs r2, r1
- lsls r2, 2
- ldr r1, =gIngameTrades
- adds r5, r2, r1
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- add r4, sp, 0x34
- movs r0, 0xFE
- strb r0, [r4]
- ldr r6, =gEnemyParty
- ldrh r1, [r5, 0xC]
- movs r3, 0x1
- str r3, [sp]
- ldr r0, [r5, 0x24]
- str r0, [sp, 0x4]
- str r3, [sp, 0x8]
- ldr r0, [r5, 0x18]
- str r0, [sp, 0xC]
- adds r0, r6, 0
- movs r3, 0x20
- bl CreateMon
- adds r2, r5, 0
- adds r2, 0xE
- adds r0, r6, 0
- movs r1, 0x27
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0xF
- adds r0, r6, 0
- movs r1, 0x28
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x10
- adds r0, r6, 0
- movs r1, 0x29
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x11
- adds r0, r6, 0
- movs r1, 0x2A
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x12
- adds r0, r6, 0
- movs r1, 0x2B
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x13
- adds r0, r6, 0
- movs r1, 0x2C
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x2
- adds r2, r5, 0
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x2B
- adds r0, r6, 0
- movs r1, 0x7
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x36
- adds r0, r6, 0
- movs r1, 0x31
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x14
- adds r0, r6, 0
- movs r1, 0x2E
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x1D
- adds r0, r6, 0
- movs r1, 0x17
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x1E
- adds r0, r6, 0
- movs r1, 0x18
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x1C
- adds r0, r6, 0
- movs r1, 0x16
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x1F
- adds r0, r6, 0
- movs r1, 0x21
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x20
- adds r0, r6, 0
- movs r1, 0x2F
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x37
- adds r0, r6, 0
- movs r1, 0x30
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x23
- adds r2, r4, 0
- bl SetMonData
- mov r4, sp
- adds r4, 0x35
- movs r0, 0
- strb r0, [r4]
- ldrh r0, [r5, 0x28]
- cmp r0, 0
- beq _0807E960
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0807E954
- add r0, sp, 0x10
- adds r1, r5, 0
- bl sub_807E974
- ldr r0, =gUnknown_020321C0
- add r1, sp, 0x10
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- adds r0, r6, 0
- movs r1, 0x40
- adds r2, r4, 0
- bl SetMonData
- adds r2, r5, 0
- adds r2, 0x28
- adds r0, r6, 0
- movs r1, 0xC
- bl SetMonData
- b _0807E960
- .pool
-_0807E954:
- adds r2, r5, 0
- adds r2, 0x28
- adds r0, r6, 0
- movs r1, 0xC
- bl SetMonData
-_0807E960:
- ldr r0, =gEnemyParty
- bl CalculateMonStats
- add sp, 0x38
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E7E8
-
- thumb_func_start sub_807E974
-sub_807E974: @ 807E974
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r2, =gUnknown_08338FC0
- adds r0, r6, 0
- adds r0, 0x2A
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- adds r1, r5, 0
- movs r3, 0x8
-_0807E98E:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _0807E98E
- adds r4, r5, 0
- adds r4, 0x12
- adds r1, r6, 0
- adds r1, 0x2B
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- movs r1, 0
- bl PadNameString
- ldr r1, [r6, 0x18]
- lsrs r0, r1, 24
- strb r0, [r5, 0x1A]
- lsrs r0, r1, 16
- strb r0, [r5, 0x1B]
- lsrs r0, r1, 8
- strb r0, [r5, 0x1C]
- strb r1, [r5, 0x1D]
- ldrh r0, [r6, 0xC]
- strh r0, [r5, 0x1E]
- ldrh r0, [r6, 0x28]
- strh r0, [r5, 0x20]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807E974
-
- thumb_func_start sub_807E9D4
-sub_807E9D4: @ 807E9D4
- push {r4-r6,lr}
- ldr r6, =gSpecialVar_0x8005
- ldrh r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0807EA08
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- b _0807EA0A
- .pool
-_0807EA08:
- movs r0, 0
-_0807EA0A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_807E9D4
-
- thumb_func_start sub_807EA10
-sub_807EA10: @ 807EA10
- push {lr}
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
- ldr r1, =gSpecialVar_0x8004
- ldrb r1, [r1]
- bl sub_807E7E8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807EA10
-
- thumb_func_start sub_807EA2C
-sub_807EA2C: @ 807EA2C
- push {r4-r6,lr}
- bl sub_807BBC8
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1
- bne _0807EA96
- ldr r5, =gUnknown_020322A0
- ldr r0, [r5]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- ldr r0, [r5]
- adds r0, 0x8F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldr r0, =gUnknown_02032298
- ldrb r4, [r0]
- ldrb r0, [r0, 0x1]
- movs r1, 0x6
- bl __umodsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_807B4D0
- bl sub_8077260
- cmp r0, 0
- bne _0807EA90
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x74
- ldr r1, =0x0000abcd
- strh r1, [r2]
- adds r0, 0x93
- strb r6, [r0]
-_0807EA90:
- ldr r0, =sub_807EACC
- bl SetMainCallback2
-_0807EA96:
- bl sub_807B5B8
- bl sub_807E4DC
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807EA2C
-
- thumb_func_start sub_807EACC
-sub_807EACC: @ 807EACC
- push {r4,lr}
- bl sub_807ACDC
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8077260
- cmp r0, 0
- beq _0807EAEC
- ldr r0, =c2_08053788
- bl SetMainCallback2
- b _0807EB2C
- .pool
-_0807EAEC:
- bl sub_807E4DC
- cmp r4, 0
- bne _0807EB2C
- ldr r4, =gUnknown_020322A0
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x72
- ldrh r1, [r0]
- ldr r0, =0x00000101
- cmp r1, r0
- bne _0807EB2C
- adds r1, r2, 0
- adds r1, 0x74
- ldr r0, =0x0000dcba
- strh r0, [r1]
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- adds r1, 0x74
- movs r2, 0x14
- bl SendBlock
- ldr r0, [r4]
- adds r0, 0x72
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x73
- strb r1, [r0]
-_0807EB2C:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807EACC
-
- thumb_func_start sub_807EB50
-sub_807EB50: @ 807EB50
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x65
- bls _0807EB66
- b _0807F03A
-_0807EB66:
- lsls r0, 2
- ldr r1, =_0807EB78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807EB78:
- .4byte _0807ED10
- .4byte _0807ED2C
- .4byte _0807ED98
- .4byte _0807F03A
- .4byte _0807EE78
- .4byte _0807EF3C
- .4byte _0807EF64
- .4byte _0807EF7E
- .4byte _0807EFA4
- .4byte _0807EFF0
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807EE9C
- .4byte _0807EEEC
- .4byte _0807EF1A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807EDC0
- .4byte _0807EE1C
- .4byte _0807EE38
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807F03A
- .4byte _0807ED44
- .4byte _0807ED7C
-_0807ED10:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_CommunicationStandby5
- b _0807EDA6
- .pool
-_0807ED2C:
- movs r0, 0
- bl sub_8077288
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x64
- b _0807EE88
- .pool
-_0807ED44:
- ldr r0, =gUnknown_020322A0
- ldr r3, [r0]
- ldr r0, [r3, 0x64]
- adds r0, 0x1
- str r0, [r3, 0x64]
- cmp r0, 0xB4
- bls _0807ED60
- movs r1, 0x87
- lsls r1, 3
- adds r0, r2, r1
- movs r2, 0
- movs r1, 0x65
- strb r1, [r0]
- str r2, [r3, 0x64]
-_0807ED60:
- bl sub_8077294
- cmp r0, 0
- bne _0807ED6A
- b _0807F03A
-_0807ED6A:
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- b _0807ED8E
- .pool
-_0807ED7C:
- bl sub_8077294
- cmp r0, 0
- bne _0807ED86
- b _0807F03A
-_0807ED86:
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
-_0807ED8E:
- movs r1, 0x2
- strb r1, [r0]
- b _0807F03A
- .pool
-_0807ED98:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- movs r0, 0x32
- strb r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_SavingDontTurnOffPower
-_0807EDA6:
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- b _0807F03A
- .pool
-_0807EDC0:
- bl InUnionRoom
- cmp r0, 0
- bne _0807EDCE
- movs r0, 0x15
- bl IncrementGameStat
-_0807EDCE:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807EDF6
- ldr r4, =gLinkPlayers
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r4, 0x4
- adds r1, r4
- ldr r1, [r1]
- movs r0, 0x2
- bl sub_801B990
-_0807EDF6:
- bl SetContinueGameWarpStatusToDynamicWarp
- bl sub_8153380
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- b _0807EE8A
- .pool
-_0807EE1C:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x5
- beq _0807EE2C
- b _0807F03A
-_0807EE2C:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _0807EFE4
- .pool
-_0807EE38:
- bl sub_81533AC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0807EE5C
- bl ClearContinueGameWarpStatus2
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- b _0807F03A
- .pool
-_0807EE5C:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- str r1, [r0, 0x64]
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x33
- strb r1, [r0]
- b _0807F03A
- .pool
-_0807EE78:
- bl sub_81533E0
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x28
-_0807EE88:
- strb r1, [r0]
-_0807EE8A:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- str r2, [r0, 0x64]
- b _0807F03A
- .pool
-_0807EE9C:
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x32
- bhi _0807EEAC
- b _0807F03A
-_0807EEAC:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0807EED4
- bl Random
- ldr r4, [r4]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1E
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [r4, 0x64]
- b _0807EEDA
- .pool
-_0807EED4:
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x64]
-_0807EEDA:
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x29
- strb r1, [r0]
- b _0807F03A
- .pool
-_0807EEEC:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- cmp r0, 0
- bne _0807EF14
- movs r0, 0x1
- bl sub_8077288
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x2A
- strb r1, [r0]
- b _0807F03A
- .pool
-_0807EF14:
- subs r0, 0x1
- str r0, [r1, 0x64]
- b _0807F03A
-_0807EF1A:
- bl sub_8077294
- cmp r0, 0
- bne _0807EF24
- b _0807F03A
-_0807EF24:
- bl sub_8153408
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x5
- strb r1, [r0]
- b _0807F03A
- .pool
-_0807EF3C:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x3C
- bls _0807F03A
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x2
- bl sub_8077288
- b _0807F03A
- .pool
-_0807EF64:
- bl sub_8077294
- cmp r0, 0
- beq _0807F03A
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0807EFDC
-_0807EF7E:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807F03A
- movs r0, 0x3
- bl FadeOutBGM
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _0807EFE4
- .pool
-_0807EFA4:
- bl IsBGMStopped
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807F03A
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807EFD8
- ldr r0, =gMain
- ldr r1, [r0, 0x8]
- ldr r0, =sub_80773AC
- cmp r1, r0
- bne _0807EFD8
- movs r0, 0x3
- bl sub_8077288
- b _0807EFDC
- .pool
-_0807EFD8:
- bl sub_800AC34
-_0807EFDC:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_0807EFE4:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0807F03A
- .pool
-_0807EFF0:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807F028
- ldr r1, [r2, 0x8]
- ldr r0, =sub_80773AC
- cmp r1, r0
- bne _0807F028
- bl sub_8077294
- cmp r0, 0
- beq _0807F03A
- ldr r0, =gSoftResetDisabled
- movs r1, 0
- strb r1, [r0]
- ldr r0, =c2_080543C4
- bl SetMainCallback2
- b _0807F03A
- .pool
-_0807F028:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r1, [r0]
- cmp r1, 0
- bne _0807F03A
- ldr r0, =gSoftResetDisabled
- strb r1, [r0]
- ldr r0, =c2_080543C4
- bl SetMainCallback2
-_0807F03A:
- bl HasLinkErrorOccurred
- lsls r0, 24
- cmp r0, 0
- bne _0807F048
- bl RunTasks
-_0807F048:
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807EB50
-
- thumb_func_start c2_080543C4
-c2_080543C4: @ 807F068
- push {r4,r5,lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0807F0BE
- bl FreeAllWindowBuffers
- movs r0, 0x3
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0x1
- bl GetBgTilemapBuffer
- bl Free
- movs r0, 0
- bl GetBgTilemapBuffer
- bl Free
- bl FreeMonSpritesGfx
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807F0B6
- bl sub_800E084
-_0807F0B6:
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_0807F0BE:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_080543C4
-
- thumb_func_start sub_807F0E4
-sub_807F0E4: @ 807F0E4
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, =sub_807F110
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807F0E4
-
- thumb_func_start sub_807F110
-sub_807F110: @ 807F110
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807F134
- ldr r0, =sub_807B270
- bl SetMainCallback2
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF168
- str r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_0807F134:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807F110
-
- thumb_func_start sub_807F14C
-sub_807F14C: @ 807F14C
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_0807F152:
- ldr r0, =gUnknown_02032298
- ldrb r0, [r0, 0x1]
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x43
- bl GetMonData
- adds r0, r5, r0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xB
- bls _0807F152
- cmp r5, 0
- beq _0807F18A
- ldr r0, =0x0000089b
- bl FlagSet
-_0807F18A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807F14C
-
- thumb_func_start sub_807F19C
-sub_807F19C: @ 807F19C
- push {lr}
- bl sub_807B170
- pop {r0}
- bx r0
- thumb_func_end sub_807F19C
-
- thumb_func_start sub_807F1A8
-sub_807F1A8: @ 807F1A8
- push {r4-r6,lr}
- sub sp, 0x14
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r2, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r2, =gUnknown_020322A0
- ldr r0, [r2]
- adds r0, 0xF6
- movs r3, 0
- movs r1, 0xF
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xF7
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xF8
- movs r1, 0x6
- strb r1, [r0]
- str r3, [sp]
- str r3, [sp, 0x4]
- ldr r0, [r2]
- adds r0, 0xF6
- str r0, [sp, 0x8]
- lsls r4, 24
- asrs r4, 24
- str r4, [sp, 0xC]
- str r6, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x2
- bl AddTextPrinterParameterized4
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807F1A8
-
- thumb_func_start c3_08054588
-c3_08054588: @ 807F210
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r1, =gUnknown_08339090
- movs r2, 0
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r2, r1, 0
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _0807F254
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- beq _0807F25C
- lsls r0, r1, 1
- ldr r1, =gUnknown_08337AA0
- adds r0, r1
- b _0807F25E
- .pool
-_0807F254:
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bne _0807F26C
-_0807F25C:
- ldr r0, =gUnknown_08337EA0
-_0807F25E:
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- b _0807F27A
- .pool
-_0807F26C:
- lsls r0, r2, 1
- ldr r1, =gUnknown_08337CA0
- adds r0, r1
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
-_0807F27A:
- ldr r0, =gUnknown_08339090
- movs r2, 0
- ldrsh r1, [r4, r2]
- lsls r1, 1
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _0807F298
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _0807F298
- movs r0, 0xC3
- bl PlaySE
-_0807F298:
- movs r0, 0x2
- ldrsh r2, [r4, r0]
- ldr r1, =gUnknown_08339090
- movs r3, 0
- ldrsh r0, [r4, r3]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r2, r0
- bne _0807F2D8
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- movs r0, 0
- strh r0, [r4, 0x2]
- movs r2, 0
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0807F2DE
- adds r0, r5, 0
- bl DestroyTask
- b _0807F2DE
- .pool
-_0807F2D8:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
-_0807F2DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end c3_08054588
-
- thumb_func_start c3_0805465C
-c3_0805465C: @ 807F2E4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r0, 0
- ldrsh r4, [r5, r0]
- cmp r4, 0
- bne _0807F336
- ldr r2, =gUnknown_020322A0
- ldr r0, [r2]
- adds r3, r0, 0
- adds r3, 0xFD
- movs r1, 0x78
- strb r1, [r3]
- adds r0, 0xFB
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xFC
- strb r4, [r0]
- ldr r0, [r2]
- adds r0, 0xFE
- movs r1, 0xA0
- strb r1, [r0]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0x4A
- movs r1, 0x10
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x13
- bl SetGpuReg
-_0807F336:
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xFD
- ldrb r1, [r1]
- adds r0, 0xFB
- ldrb r0, [r0]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0x40
- bl SetGpuReg
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xFE
- ldrb r1, [r1]
- adds r0, 0xFC
- ldrb r0, [r0]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0x44
- bl SetGpuReg
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- ldr r1, [r4]
- adds r1, 0xFB
- ldrb r0, [r1]
- subs r0, 0x5
- strb r0, [r1]
- ldr r1, [r4]
- adds r1, 0xFD
- ldrb r0, [r1]
- adds r0, 0x5
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0x4F
- bhi _0807F38E
- adds r0, r6, 0
- bl DestroyTask
-_0807F38E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_0805465C
-
- thumb_func_start sub_807F39C
-sub_807F39C: @ 807F39C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0807F3D8
- ldr r2, =gUnknown_020322A0
- ldr r0, [r2]
- adds r0, 0xFB
- movs r1, 0x50
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xFD
- movs r1, 0xA0
- strb r1, [r0]
- movs r0, 0x4A
- movs r1, 0x10
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x13
- bl SetGpuReg
-_0807F3D8:
- ldr r4, =gUnknown_020322A0
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xFD
- ldrb r1, [r1]
- adds r0, 0xFB
- ldrb r0, [r0]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0x40
- bl SetGpuReg
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xFE
- ldrb r1, [r1]
- adds r0, 0xFC
- ldrb r0, [r0]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0x44
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0x78
- beq _0807F44C
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- ldr r1, [r4]
- adds r1, 0xFB
- ldrb r0, [r1]
- adds r0, 0x5
- strb r0, [r1]
- ldr r1, [r4]
- adds r1, 0xFD
- ldrb r0, [r1]
- subs r0, 0x5
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0x73
- bls _0807F45C
- ldr r2, =0x0000ffff
- movs r0, 0x8
- movs r1, 0
- bl BlendPalettes
- b _0807F45C
- .pool
-_0807F44C:
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
- adds r0, r6, 0
- bl DestroyTask
-_0807F45C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_807F39C
-
- thumb_func_start sub_807F464
-sub_807F464: @ 807F464
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xC
- bls _0807F47A
- b _0807F70C
-_0807F47A:
- lsls r0, 2
- ldr r1, =_0807F48C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807F48C:
- .4byte _0807F4C0
- .4byte _0807F4E8
- .4byte _0807F500
- .4byte _0807F550
- .4byte _0807F570
- .4byte _0807F5AC
- .4byte _0807F5D0
- .4byte _0807F620
- .4byte _0807F64E
- .4byte _0807F66C
- .4byte _0807F694
- .4byte _0807F6C4
- .4byte _0807F6F8
-_0807F4C0:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r4, =gStringVar4
- ldr r1, =gText_CommunicationStandby5
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- b _0807F70C
- .pool
-_0807F4E8:
- movs r0, 0
- bl sub_8077288
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x2
- b _0807F5BC
- .pool
-_0807F500:
- bl sub_8077294
- cmp r0, 0
- bne _0807F50A
- b _0807F70C
-_0807F50A:
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r5, 0
- movs r1, 0x3
- strb r1, [r0]
- ldr r4, =gStringVar4
- ldr r1, =gText_SavingDontTurnOffPower
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807F1A8
- movs r0, 0x15
- bl IncrementGameStat
- bl sub_8153380
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- str r5, [r0, 0x64]
- b _0807F70C
- .pool
-_0807F550:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x5
- beq _0807F560
- b _0807F70C
-_0807F560:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- movs r0, 0x4
- strb r0, [r1]
- b _0807F70C
- .pool
-_0807F570:
- bl sub_81533AC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0807F590
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F590:
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- str r1, [r0, 0x64]
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F5AC:
- bl sub_81533E0
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x6
-_0807F5BC:
- strb r1, [r0]
- ldr r0, =gUnknown_020322A0
- ldr r0, [r0]
- str r2, [r0, 0x64]
- b _0807F70C
- .pool
-_0807F5D0:
- ldr r4, =gUnknown_020322A0
- ldr r1, [r4]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0xA
- bhi _0807F5E0
- b _0807F70C
-_0807F5E0:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0807F608
- bl Random
- ldr r4, [r4]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1E
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [r4, 0x64]
- b _0807F60E
- .pool
-_0807F608:
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x64]
-_0807F60E:
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x7
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F620:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- cmp r0, 0
- bne _0807F648
- movs r0, 0x1
- bl sub_8077288
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F648:
- subs r0, 0x1
- str r0, [r1, 0x64]
- b _0807F70C
-_0807F64E:
- bl sub_8077294
- cmp r0, 0
- beq _0807F70C
- bl sub_8153408
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x9
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F66C:
- ldr r0, =gUnknown_020322A0
- ldr r1, [r0]
- ldr r0, [r1, 0x64]
- adds r0, 0x1
- str r0, [r1, 0x64]
- cmp r0, 0x3C
- bls _0807F70C
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x2
- bl sub_8077288
- b _0807F70C
- .pool
-_0807F694:
- bl sub_8077294
- cmp r0, 0
- beq _0807F70C
- movs r0, 0x3
- bl FadeOutBGM
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0xB
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F6C4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807F70C
- bl IsBGMStopped
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807F70C
- movs r0, 0x3
- bl sub_8077288
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0xC
- strb r1, [r0]
- b _0807F70C
- .pool
-_0807F6F8:
- bl sub_8077294
- cmp r0, 0
- beq _0807F70C
- ldr r0, =gSoftResetDisabled
- movs r1, 0
- strb r1, [r0]
- ldr r0, =c2_080543C4
- bl SetMainCallback2
-_0807F70C:
- bl HasLinkErrorOccurred
- lsls r0, 24
- cmp r0, 0
- bne _0807F71A
- bl RunTasks
-_0807F71A:
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807F464
-
- .align 2, 0 @ Don't pad with nop.