pokeemerald/asm/rom6.s
2017-11-28 23:02:09 +01:00

12773 lines
194 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start npc_before_player_of_type
npc_before_player_of_type: @ 8135424
push {r4,r5,lr}
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
ldr r4, =gUnknown_0203AB40
adds r1, r4, 0x2
adds r0, r4, 0
bl GetXYCoordsOneStepInFrontOfPlayer
bl PlayerGetZCoord
strb r0, [r4, 0x4]
ldrh r0, [r4]
ldrh r1, [r4, 0x2]
ldrb r2, [r4, 0x4]
bl GetFieldObjectIdByXYZ
lsls r0, 24
lsrs r0, 24
ldr r2, =gMapObjects
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
adds r2, r1, r2
ldrb r0, [r2, 0x5]
cmp r0, r5
bne _08135470
ldr r1, =gSpecialVar_LastTalked
ldrb r0, [r2, 0x8]
strh r0, [r1]
movs r0, 0x1
b _08135472
.pool
_08135470:
movs r0, 0
_08135472:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end npc_before_player_of_type
thumb_func_start oei_task_add
oei_task_add: @ 8135478
push {lr}
ldr r0, =gUnknown_0203AB40
adds r1, r0, 0x2
bl GetXYCoordsOneStepInFrontOfPlayer
ldr r0, =task08_080C9820
movs r1, 0x8
bl CreateTask
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.pool
thumb_func_end oei_task_add
thumb_func_start task08_080C9820
task08_080C9820: @ 813549C
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
adds r6, r5, 0
bl ScriptContext2_Enable
ldr r1, =gPlayerAvatar
movs r0, 0x1
strb r0, [r1, 0x6]
ldrb r1, [r1, 0x5]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
ldr r1, =gMapObjects
adds r4, r0, r1
adds r0, r4, 0
bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
lsls r0, 24
cmp r0, 0
beq _081354D2
adds r0, r4, 0
bl FieldObjectClearAnimIfSpecialAnimFinished
lsls r0, 24
cmp r0, 0
beq _0813551E
_081354D2:
ldr r0, =gMapHeader
ldrb r0, [r0, 0x17]
cmp r0, 0x5
bne _08135504
movs r0, 0x3B
bl FieldEffectStart
ldr r0, =gTasks
lsls r1, r5, 2
adds r1, r5
lsls r1, 3
adds r1, r0
ldr r0, =sub_8135578
b _0813551C
.pool
_08135504:
bl sub_808C114
adds r0, r4, 0
movs r1, 0x39
bl FieldObjectSetSpecialAnim
ldr r0, =gTasks
lsls r1, r6, 2
adds r1, r6
lsls r1, 3
adds r1, r0
ldr r0, =sub_813552C
_0813551C:
str r0, [r1]
_0813551E:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end task08_080C9820
thumb_func_start sub_813552C
sub_813552C: @ 813552C
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
ldr r1, =gMapObjects
adds r0, r1
bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08135560
movs r0, 0x3B
bl FieldEffectStart
ldr r0, =gTasks
lsls r1, r4, 2
adds r1, r4
lsls r1, 3
adds r1, r0
ldr r0, =sub_8135578
str r0, [r1]
_08135560:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813552C
thumb_func_start sub_8135578
sub_8135578: @ 8135578
push {r4-r7,lr}
lsls r0, 24
lsrs r7, r0, 24
movs r0, 0x6
bl FieldEffectActiveListContains
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
bne _081355FC
bl player_get_direction_lower_nybble
ldr r6, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
str r0, [r6, 0x4]
cmp r0, 0x1
bne _0813559E
str r4, [r6, 0x8]
_0813559E:
ldr r1, [r6, 0x4]
cmp r1, 0x2
bne _081355A8
movs r0, 0x1
str r0, [r6, 0x8]
_081355A8:
cmp r1, 0x3
bne _081355B0
movs r0, 0x2
str r0, [r6, 0x8]
_081355B0:
cmp r1, 0x4
bne _081355B8
movs r0, 0x3
str r0, [r6, 0x8]
_081355B8:
ldr r5, =gPlayerAvatar
ldrb r0, [r5, 0x5]
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
ldr r0, =gMapObjects
adds r4, r0
bl GetPlayerAvatarGraphicsIdByCurrentState
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
bl FieldObjectSetGraphicsId
ldrb r1, [r5, 0x4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, =gSprites
adds r0, r1
ldrb r1, [r6, 0x8]
bl StartSpriteAnim
movs r0, 0x6
bl FieldEffectActiveListRemove
ldr r1, =gTasks
lsls r0, r7, 2
adds r0, r7
lsls r0, 3
adds r0, r1
ldr r1, =sub_813561C
str r1, [r0]
_081355FC:
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8135578
thumb_func_start sub_813561C
sub_813561C: @ 813561C
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldrh r1, [r0, 0x18]
lsls r1, 16
ldrh r0, [r0, 0x1A]
orrs r1, r0
bl _call_via_r1
ldr r1, =gPlayerAvatar
movs r0, 0
strb r0, [r1, 0x6]
adds r0, r4, 0
bl DestroyTask
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813561C
thumb_func_start sub_8135654
sub_8135654: @ 8135654
push {r4,lr}
bl ShouldDoBrailleStrengthEffect
lsls r0, 24
cmp r0, 0
beq _0813568C
ldr r4, =gSpecialVar_Result
bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_8179834
b _081356A8
.pool
_0813568C:
movs r0, 0x56
bl npc_before_player_of_type
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0813569E
movs r0, 0
b _081356AC
_0813569E:
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_81356C4
_081356A8:
str r0, [r1]
movs r0, 0x1
_081356AC:
pop {r4}
pop {r1}
bx r1
.pool
thumb_func_end sub_8135654
thumb_func_start sub_81356C4
sub_81356C4: @ 81356C4
push {lr}
bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
str r0, [r1]
ldr r0, =Route111_EventScript_2907F0
bl ScriptContext1_SetupScript
pop {r0}
bx r0
.pool
thumb_func_end sub_81356C4
thumb_func_start oei_rocksmash
oei_rocksmash: @ 81356E4
push {lr}
bl oei_task_add
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r2, =sub_8135714
lsrs r0, r2, 16
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
movs r0, 0x13
bl IncrementGameStat
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end oei_rocksmash
thumb_func_start sub_8135714
sub_8135714: @ 8135714
push {lr}
movs r0, 0x83
bl PlaySE
movs r0, 0x25
bl FieldEffectActiveListRemove
bl EnableBothScriptContexts
pop {r0}
bx r0
thumb_func_end sub_8135714
thumb_func_start sub_813572C
sub_813572C: @ 813572C
push {lr}
bl sub_80FE314
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0813573E
movs r0, 0
b _0813574C
_0813573E:
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm2_dig
str r0, [r1]
movs r0, 0x1
_0813574C:
pop {r1}
bx r1
.pool
thumb_func_end sub_813572C
thumb_func_start hm2_dig
hm2_dig: @ 8135760
push {lr}
bl flagmods_08054D70
movs r0, 0x26
bl FieldEffectStart
bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
str r0, [r1]
pop {r0}
bx r0
.pool
thumb_func_end hm2_dig
thumb_func_start sub_8135780
sub_8135780: @ 8135780
push {lr}
bl oei_task_add
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r2, =sub_81357BC
lsrs r0, r2, 16
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
bl ShouldDoBrailleDigEffect
lsls r0, 24
cmp r0, 0
bne _081357AC
movs r0, 0x1
bl SetPlayerAvatarTransitionFlags
_081357AC:
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end sub_8135780
thumb_func_start sub_81357BC
sub_81357BC: @ 81357BC
push {r4,lr}
movs r0, 0x26
bl FieldEffectActiveListRemove
bl ShouldDoBrailleDigEffect
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
beq _081357D6
bl DoBrailleDigEffect
b _081357EE
_081357D6:
ldr r0, =task08_080A1C44
movs r1, 0x8
bl CreateTask
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
strh r4, [r1, 0x8]
_081357EE:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_81357BC
thumb_func_start sub_81357FC
sub_81357FC: @ 81357FC
push {r4-r6,lr}
adds r4, r0, 0
adds r6, r1, 0
lsls r4, 24
lsrs r4, 24
ldr r5, =gUnknown_0203AB50
ldr r0, =0x00000e88
bl Alloc
str r0, [r5]
ldr r2, =0x00000809
adds r0, r2
movs r3, 0
strb r4, [r0]
ldr r0, [r5]
movs r4, 0x80
lsls r4, 4
adds r1, r0, r4
str r3, [r1]
ldr r1, =0x00000e7c
adds r0, r1
movs r1, 0xFF
strb r1, [r0]
ldr r0, [r5]
ldr r4, =0x00000e7d
adds r0, r4
strb r3, [r0]
ldr r0, =gUnknown_0203AB48
str r6, [r0]
ldr r5, [r5]
adds r2, r5, r2
ldrb r2, [r2]
cmp r2, 0x2
beq _08135888
cmp r2, 0x2
bgt _08135864
cmp r2, 0x1
beq _0813586A
b _081358C0
.pool
_08135864:
cmp r2, 0x3
beq _081358A4
b _081358C0
_0813586A:
ldr r0, =0x00000804
adds r1, r5, r0
ldr r0, =gUnknown_085B269B
str r0, [r1]
ldr r4, =0x00000808
adds r1, r5, r4
movs r0, 0x2
b _081358D2
.pool
_08135888:
ldr r1, =0x00000804
adds r0, r5, r1
ldr r1, =gUnknown_085B269D
str r1, [r0]
ldr r4, =0x00000808
adds r0, r5, r4
strb r2, [r0]
b _081358D4
.pool
_081358A4:
ldr r0, =0x00000804
adds r1, r5, r0
ldr r0, =gUnknown_085B269F
str r0, [r1]
ldr r4, =0x00000808
adds r1, r5, r4
movs r0, 0x2
b _081358D2
.pool
_081358C0:
ldr r0, =gUnknown_0203AB50
ldr r1, [r0]
ldr r0, =0x00000804
adds r2, r1, r0
ldr r0, =gUnknown_085B2698
str r0, [r2]
ldr r4, =0x00000808
adds r1, r4
movs r0, 0x3
_081358D2:
strb r0, [r1]
_081358D4:
ldr r0, =sub_813594C
bl SetMainCallback2
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_81357FC
thumb_func_start sub_81358F4
sub_81358F4: @ 81358F4
push {lr}
ldr r1, =SetCB2ToReshowScreenAfterMenu2
movs r0, 0x1
bl sub_81357FC
pop {r0}
bx r0
.pool
thumb_func_end sub_81358F4
thumb_func_start sub_8135908
sub_8135908: @ 8135908
push {lr}
ldr r1, =c2_exit_to_overworld_2_switch
movs r0, 0x2
bl sub_81357FC
pop {r0}
bx r0
.pool
thumb_func_end sub_8135908
thumb_func_start sub_813591C
sub_813591C: @ 813591C
push {lr}
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
bl do_scheduled_bg_tilemap_copies_to_vram
bl UpdatePaletteFade
pop {r0}
bx r0
thumb_func_end sub_813591C
thumb_func_start sub_8135938
sub_8135938: @ 8135938
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
pop {r0}
bx r0
thumb_func_end sub_8135938
thumb_func_start sub_813594C
sub_813594C: @ 813594C
push {lr}
_0813594E:
bl sub_81221EC
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08135972
bl sub_8135978
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08135972
bl sub_81221AC
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813594E
_08135972:
pop {r0}
bx r0
thumb_func_end sub_813594C
thumb_func_start sub_8135978
sub_8135978: @ 8135978
push {r4,lr}
sub sp, 0x4
ldr r0, =gMain
movs r1, 0x87
lsls r1, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x12
bls _0813598C
b _08135BB8
_0813598C:
lsls r0, 2
ldr r1, =_081359A0
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_081359A0:
.4byte _081359EC
.4byte _081359F6
.4byte _08135A08
.4byte _08135A0E
.4byte _08135A30
.4byte _08135A36
.4byte _08135A54
.4byte _08135A70
.4byte _08135A8C
.4byte _08135A9A
.4byte _08135AC4
.4byte _08135ADC
.4byte _08135AFC
.4byte _08135B02
.4byte _08135B14
.4byte _08135B1A
.4byte _08135B64
.4byte _08135B6A
.4byte _08135B84
_081359EC:
bl SetVBlankHBlankCallbacksToNull
bl clear_scheduled_bg_copies_to_vram
b _08135B9E
_081359F6:
bl remove_some_task
ldr r1, =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
b _08135BA6
.pool
_08135A08:
bl FreeAllSpritePalettes
b _08135B9E
_08135A0E:
bl ResetPaletteFade
ldr r2, =gPaletteFade
ldrb r0, [r2, 0x8]
movs r1, 0x80
orrs r0, r1
strb r0, [r2, 0x8]
ldr r1, =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
b _08135BA6
.pool
_08135A30:
bl ResetSpriteData
b _08135B9E
_08135A36:
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
ldr r1, =0x00000809
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
bne _08135A46
b _08135B9E
_08135A46:
bl ResetTasks
b _08135B9E
.pool
_08135A54:
bl sub_8135BDC
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
ldr r1, =0x00000e7e
adds r0, r1
movs r1, 0
strh r1, [r0]
b _08135B9E
.pool
_08135A70:
bl sub_8135C38
lsls r0, 24
cmp r0, 0
bne _08135A7C
b _08135BD0
_08135A7C:
ldr r1, =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
b _08135BA6
.pool
_08135A8C:
bl sub_813625C
bl sub_81362E0
bl sub_8136344
b _08135B9E
_08135A9A:
movs r0, 0x38
movs r1, 0x40
movs r2, 0
bl sub_8136444
ldr r1, =gUnknown_0203AB50
ldr r1, [r1]
ldr r2, =0x00000e74
adds r1, r2
strb r0, [r1]
ldr r1, =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
b _08135BA6
.pool
_08135AC4:
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
ldr r1, =0x00000e75
adds r0, r1
movs r1, 0x7
bl sub_8122344
b _08135B9E
.pool
_08135ADC:
ldr r0, =gUnknown_0203AB48
ldrh r0, [r0, 0x4]
ldr r1, =0x00001005
bl sub_8136110
ldr r1, =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
b _08135BA6
.pool
_08135AFC:
bl sub_8135D24
b _08135B9E
_08135B02:
bl sub_8135E2C
ldr r1, =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
b _08135BA6
.pool
_08135B14:
bl sub_81363BC
b _08135B9E
_08135B1A:
ldr r0, =sub_81365C8
movs r1, 0
bl CreateTask
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, =gUnknown_03006310
ldr r2, =gUnknown_0203AB48
ldrh r1, [r2, 0x6]
ldrh r2, [r2, 0x4]
bl ListMenuInit
ldr r2, =gTasks
lsls r1, r4, 2
adds r1, r4
lsls r1, 3
adds r1, r2
lsls r0, 24
lsrs r0, 24
strh r0, [r1, 0x8]
ldr r1, =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
b _08135BA6
.pool
_08135B64:
bl sub_8135DAC
b _08135B9E
_08135B6A:
movs r0, 0x1
negs r0, r0
movs r1, 0x10
movs r2, 0
bl BlendPalettes
ldr r1, =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
b _08135BA6
.pool
_08135B84:
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
ldr r2, =gPaletteFade
ldrb r1, [r2, 0x8]
movs r0, 0x7F
ands r0, r1
strb r0, [r2, 0x8]
_08135B9E:
ldr r1, =gMain
movs r2, 0x87
lsls r2, 3
adds r1, r2
_08135BA6:
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _08135BD0
.pool
_08135BB8:
ldr r0, =sub_8135938
bl SetVBlankCallback
ldr r0, =sub_813591C
bl SetMainCallback2
movs r0, 0x1
b _08135BD2
.pool
_08135BD0:
movs r0, 0
_08135BD2:
add sp, 0x4
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8135978
thumb_func_start sub_8135BDC
sub_8135BDC: @ 8135BDC
push {lr}
bl sub_8121DA0
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_085B2620
movs r0, 0
movs r2, 0x3
bl InitBgsFromTemplates
ldr r0, =gUnknown_0203AB50
ldr r1, [r0]
movs r0, 0x2
bl SetBgTilemapBuffer
bl sub_8121E10
movs r0, 0x2
bl schedule_bg_copy_tilemap_to_vram
movs r1, 0x82
lsls r1, 5
movs r0, 0
bl SetGpuReg
movs r0, 0
bl ShowBg
movs r0, 0x1
bl ShowBg
movs r0, 0x2
bl ShowBg
movs r0, 0x50
movs r1, 0
bl SetGpuReg
pop {r0}
bx r0
.pool
thumb_func_end sub_8135BDC
thumb_func_start sub_8135C38
sub_8135C38: @ 8135C38
push {r4,lr}
sub sp, 0x4
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
ldr r1, =0x00000e7e
adds r0, r1
movs r1, 0
ldrsh r0, [r0, r1]
cmp r0, 0x5
bhi _08135D18
lsls r0, 2
ldr r1, =_08135C64
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_08135C64:
.4byte _08135C7C
.4byte _08135C98
.4byte _08135CBC
.4byte _08135CCC
.4byte _08135CD8
.4byte _08135CFC
_08135C7C:
bl reset_temp_tile_data_buffers
ldr r1, =gUnknown_08D9B2B4
movs r0, 0
str r0, [sp]
movs r0, 0x2
movs r2, 0
movs r3, 0
bl decompress_and_copy_tile_data_to_vram
b _08135CDE
.pool
_08135C98:
bl free_temp_tile_data_buffers_if_possible
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08135D18
ldr r0, =gUnknown_08D9B7C8
ldr r4, =gUnknown_0203AB50
ldr r1, [r4]
bl LZDecompressWram
ldr r1, [r4]
b _08135CE2
.pool
_08135CBC:
ldr r0, =gUnknown_08D9B470
movs r1, 0
movs r2, 0xC0
bl LoadCompressedPalette
b _08135CDE
.pool
_08135CCC:
ldr r0, =gUnknown_085B26F4
bl LoadCompressedObjectPic
b _08135CDE
.pool
_08135CD8:
ldr r0, =gUnknown_085B26FC
bl LoadCompressedObjectPalette
_08135CDE:
ldr r0, =gUnknown_0203AB50
ldr r1, [r0]
_08135CE2:
ldr r0, =0x00000e7e
adds r1, r0
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
b _08135D18
.pool
_08135CFC:
bl sub_8122328
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
ldr r1, =0x00000e7e
adds r0, r1
movs r1, 0
strh r1, [r0]
movs r0, 0x1
b _08135D1A
.pool
_08135D18:
movs r0, 0
_08135D1A:
add sp, 0x4
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8135C38
thumb_func_start sub_8135D24
sub_8135D24: @ 8135D24
push {r4,lr}
ldr r0, =gUnknown_085B2748
bl InitWindows
bl DeactivateAllTextPrinters
movs r0, 0
movs r1, 0x1
movs r2, 0xE0
bl sub_809882C
movs r0, 0
movs r1, 0xA
movs r2, 0xD0
bl copy_textbox_border_tile_patterns_to_vram
ldr r0, =gUnknown_0860F074
movs r1, 0xF0
movs r2, 0x20
bl LoadPalette
movs r4, 0
_08135D50:
adds r0, r4, 0
movs r1, 0
bl FillWindowPixelBuffer
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xA
bls _08135D50
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x1
bl schedule_bg_copy_tilemap_to_vram
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8135D24
thumb_func_start sub_8135D7C
sub_8135D7C: @ 8135D7C
push {r4,lr}
sub sp, 0x14
lsls r0, 24
lsrs r0, 24
lsls r2, 24
lsrs r2, 24
movs r4, 0
str r4, [sp]
str r4, [sp, 0x4]
ldr r3, =gUnknown_085B271C
str r3, [sp, 0x8]
str r4, [sp, 0xC]
str r1, [sp, 0x10]
movs r1, 0x1
movs r3, 0x1
bl AddTextPrinterParametrized2
add sp, 0x14
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8135D7C
thumb_func_start sub_8135DAC
sub_8135DAC: @ 8135DAC
push {r4,lr}
ldr r0, =0x00000111
bl ItemId_GetItem
adds r4, r0, 0
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x48
bl GetStringCenterAlignXOffset
adds r2, r0, 0
movs r0, 0
adds r1, r4, 0
bl sub_8135D7C
ldr r1, =gText_Spicy
movs r0, 0x2
movs r2, 0
bl sub_8135D7C
ldr r1, =gText_Dry
movs r0, 0x3
movs r2, 0
bl sub_8135D7C
ldr r1, =gText_Sweet
movs r0, 0x4
movs r2, 0
bl sub_8135D7C
ldr r1, =gText_Bitter
movs r0, 0x5
movs r2, 0
bl sub_8135D7C
ldr r1, =gText_Sour
movs r0, 0x6
movs r2, 0
bl sub_8135D7C
movs r4, 0
_08135DFE:
adds r0, r4, 0
bl PutWindowTilemap
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x7
bls _08135DFE
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8135DAC
thumb_func_start sub_8135E2C
sub_8135E2C: @ 8135E2C
push {r4-r7,lr}
movs r6, 0
ldr r1, =gUnknown_0203AB50
ldr r0, [r1]
ldr r2, =0x0000080a
adds r0, r2
ldrb r0, [r0]
subs r0, 0x1
cmp r6, r0
bge _08135E7C
adds r5, r1, 0
_08135E42:
lsls r4, r6, 5
ldr r3, =0x00000954
adds r4, r3
ldr r0, [r5]
adds r0, r4
adds r1, r6, 0
bl sub_8135F04
ldr r1, [r5]
lsls r2, r6, 3
ldr r7, =0x0000080c
adds r0, r1, r7
adds r0, r2
adds r4, r1, r4
str r4, [r0]
movs r3, 0x81
lsls r3, 4
adds r0, r1, r3
adds r0, r2
str r6, [r0]
adds r0, r6, 0x1
lsls r0, 16
lsrs r6, r0, 16
ldr r4, =0x0000080a
adds r1, r4
ldrb r0, [r1]
subs r0, 0x1
cmp r6, r0
blt _08135E42
_08135E7C:
ldr r5, =gUnknown_0203AB50
lsls r4, r6, 5
ldr r7, =0x00000954
adds r4, r7
ldr r0, [r5]
adds r0, r4
ldr r1, =gText_StowCase
bl StringCopy
ldr r1, [r5]
lsls r2, r6, 3
ldr r3, =0x0000080c
adds r0, r1, r3
adds r0, r2
adds r4, r1, r4
str r4, [r0]
movs r0, 0x81
lsls r0, 4
adds r1, r0
adds r1, r2
movs r0, 0x2
negs r0, r0
str r0, [r1]
ldr r2, =gUnknown_03006310
adds r1, r2, 0
ldr r0, =gUnknown_085B27B0
ldm r0!, {r4,r6,r7}
stm r1!, {r4,r6,r7}
ldm r0!, {r4,r6,r7}
stm r1!, {r4,r6,r7}
ldrb r1, [r2, 0x17]
movs r0, 0x40
negs r0, r0
ands r0, r1
movs r1, 0x7
orrs r0, r1
strb r0, [r2, 0x17]
ldr r1, [r5]
ldr r4, =0x0000080a
adds r0, r1, r4
ldrb r0, [r0]
strh r0, [r2, 0xC]
adds r3, r1, r3
str r3, [r2]
ldr r6, =0x0000080b
adds r1, r6
ldrb r0, [r1]
strh r0, [r2, 0xE]
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8135E2C
thumb_func_start sub_8135F04
sub_8135F04: @ 8135F04
push {r4-r6,lr}
lsls r1, 16
ldr r2, =gSaveBlock1Ptr
lsrs r1, 13
ldr r3, =0x00000848
adds r1, r3
ldr r5, [r2]
adds r5, r1
ldr r2, =gPokeblockNames
ldrb r1, [r5]
lsls r1, 2
adds r1, r2
ldr r1, [r1]
bl StringCopy
adds r4, r0, 0
movs r0, 0xFC
strb r0, [r4]
adds r4, 0x1
movs r0, 0x12
strb r0, [r4]
adds r4, 0x1
movs r0, 0x57
strb r0, [r4]
adds r4, 0x1
ldr r6, =gStringVar1
adds r0, r5, 0
bl GetHighestPokeblocksFlavorLevel
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r6, 0
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r1, =gText_LvVar1
adds r0, r4, 0
bl StringExpandPlaceholders
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8135F04
thumb_func_start sub_8135F70
sub_8135F70: @ 8135F70
push {r4,lr}
adds r4, r0, 0
lsls r1, 24
lsrs r1, 24
cmp r1, 0x1
beq _08135F9C
movs r0, 0x5
bl PlaySE
ldr r2, =gSprites
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
ldr r1, =0x00000e74
adds r0, r1
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r2, 0x1C
adds r0, r2
ldr r1, =sub_8136470
str r1, [r0]
_08135F9C:
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
ldr r1, =0x00000e7d
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _08135FB0
adds r0, r4, 0
bl sub_8135FCC
_08135FB0:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8135F70
thumb_func_start sub_8135FCC
sub_8135FCC: @ 8135FCC
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0xC
adds r4, r0, 0
movs r0, 0x7
movs r1, 0
bl FillWindowPixelBuffer
movs r0, 0x2
negs r0, r0
cmp r4, r0
beq _081360A0
ldr r1, =gSaveBlock1Ptr
lsls r0, r4, 3
ldr r2, =0x00000848
adds r0, r2
ldr r1, [r1]
adds r1, r0
mov r8, r1
add r1, sp, 0x8
movs r0, 0x17
strh r0, [r1]
movs r0, 0x18
strh r0, [r1, 0x2]
movs r5, 0
adds r6, r1, 0
_08136002:
adds r4, r5, 0x1
lsls r1, r4, 24
lsrs r1, 24
mov r0, r8
bl sub_8136F9C
lsls r0, 16
adds r7, r4, 0
cmp r0, 0
ble _0813602C
lsls r1, r5, 12
adds r0, r1, 0
adds r0, 0x17
strh r0, [r6]
adds r1, 0x18
strh r1, [r6, 0x2]
b _08136032
.pool
_0813602C:
movs r0, 0xF
strh r0, [r6]
strh r0, [r6, 0x2]
_08136032:
adds r0, r5, 0
movs r1, 0x3
bl __udivsi3
lsls r0, 24
lsrs r0, 24
lsls r4, r0, 1
adds r4, r0
lsls r4, 1
adds r4, 0x1
lsls r4, 24
lsrs r4, 24
adds r0, r5, 0
movs r1, 0x3
bl __umodsi3
adds r3, r0, 0
lsls r3, 25
movs r0, 0xD0
lsls r0, 20
adds r3, r0
lsrs r3, 24
movs r0, 0x1
str r0, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
add r1, sp, 0x8
adds r2, r4, 0
bl CopyToBgTilemapBufferRect
lsls r0, r7, 24
lsrs r5, r0, 24
cmp r5, 0x4
bls _08136002
ldr r4, =gStringVar1
mov r0, r8
bl GetPokeblocksFeel
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
movs r2, 0x1
movs r3, 0x2
bl ConvertIntToDecimalStringN
movs r0, 0x7
adds r1, r4, 0
movs r2, 0x4
bl sub_8135D7C
b _081360F8
.pool
_081360A0:
add r0, sp, 0x8
movs r1, 0xF
strh r1, [r0]
strh r1, [r0, 0x2]
movs r5, 0
_081360AA:
adds r0, r5, 0
movs r1, 0x3
bl __udivsi3
lsls r0, 24
lsrs r0, 24
lsls r4, r0, 1
adds r4, r0
lsls r4, 1
adds r4, 0x1
lsls r4, 24
lsrs r4, 24
adds r0, r5, 0
movs r1, 0x3
bl __umodsi3
adds r3, r0, 0
lsls r3, 25
movs r2, 0xD0
lsls r2, 20
adds r3, r2
lsrs r3, 24
movs r0, 0x1
str r0, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
add r1, sp, 0x8
adds r2, r4, 0
bl CopyToBgTilemapBufferRect
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x4
bls _081360AA
movs r0, 0x7
movs r1, 0x2
bl CopyWindowToVram
_081360F8:
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x2
bl schedule_bg_copy_tilemap_to_vram
add sp, 0xC
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8135FCC
thumb_func_start sub_8136110
sub_8136110: @ 8136110
push {lr}
sub sp, 0x8
adds r3, r0, 0
lsls r3, 16
lsls r1, 16
lsrs r1, 16
lsrs r3, 15
adds r3, 0x1
lsls r3, 24
lsrs r3, 24
movs r0, 0xE
str r0, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
movs r2, 0xF
bl FillBgTilemapBufferRect_Palette0
movs r0, 0x2
bl schedule_bg_copy_tilemap_to_vram
add sp, 0x8
pop {r0}
bx r0
thumb_func_end sub_8136110
thumb_func_start sub_8136140
sub_8136140: @ 8136140
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
movs r2, 0
_0813614A:
adds r1, r2, 0x1
lsls r0, r1, 16
lsrs r6, r0, 16
mov r12, r1
cmp r6, 0x27
bhi _08136192
ldr r0, =gSaveBlock1Ptr
mov r9, r0
lsls r7, r2, 3
ldr r1, =0x00000848
mov r8, r1
_08136160:
mov r0, r9
ldr r2, [r0]
adds r0, r2, r7
add r0, r8
ldrb r0, [r0]
cmp r0, 0
bne _08136188
ldr r1, =0x00000848
adds r2, r1
adds r3, r2, r7
ldr r4, [r3]
ldr r5, [r3, 0x4]
lsls r0, r6, 3
adds r2, r0
ldr r0, [r2]
ldr r1, [r2, 0x4]
str r0, [r3]
str r1, [r3, 0x4]
str r4, [r2]
str r5, [r2, 0x4]
_08136188:
adds r0, r6, 0x1
lsls r0, 16
lsrs r6, r0, 16
cmp r6, 0x27
bls _08136160
_08136192:
mov r1, r12
lsls r0, r1, 16
lsrs r2, r0, 16
cmp r2, 0x26
bls _0813614A
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136140
thumb_func_start sub_81361B0
sub_81361B0: @ 81361B0
push {r4-r7,lr}
adds r4, r0, 0
adds r5, r1, 0
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, =0x00000848
adds r6, r0, r1
cmp r4, r5
beq _08136246
movs r0, 0x8
bl Alloc
adds r7, r0, 0
lsls r0, r4, 3
adds r0, r6
ldr r1, [r0, 0x4]
ldr r0, [r0]
str r0, [r7]
str r1, [r7, 0x4]
cmp r5, r4
bls _0813620C
subs r5, 0x1
lsls r3, r4, 16
lsls r0, r5, 16
asrs r1, r0, 16
cmp r3, r0
bge _08136234
adds r4, r1, 0
_081361E8:
asrs r3, 16
lsls r2, r3, 3
adds r2, r6
ldr r0, [r2, 0x8]
ldr r1, [r2, 0xC]
str r0, [r2]
str r1, [r2, 0x4]
adds r3, 0x1
lsls r3, 16
asrs r0, r3, 16
cmp r0, r4
blt _081361E8
b _08136234
.pool
_0813620C:
lsls r3, r4, 16
lsls r0, r5, 16
asrs r1, r0, 16
cmp r3, r0
ble _08136234
adds r4, r1, 0
_08136218:
asrs r3, 16
lsls r2, r3, 3
adds r2, r6
adds r0, r2, 0
subs r0, 0x8
ldr r1, [r0, 0x4]
ldr r0, [r0]
str r0, [r2]
str r1, [r2, 0x4]
subs r3, 0x1
lsls r3, 16
asrs r0, r3, 16
cmp r0, r4
bgt _08136218
_08136234:
lsls r2, r5, 3
adds r2, r6
ldr r0, [r7]
ldr r1, [r7, 0x4]
str r0, [r2]
str r1, [r2, 0x4]
adds r0, r7, 0
bl Free
_08136246:
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_81361B0
thumb_func_start sub_813624C
sub_813624C: @ 813624C
ldr r1, =gUnknown_0203AB48
movs r0, 0
strh r0, [r1, 0x4]
strh r0, [r1, 0x6]
bx lr
.pool
thumb_func_end sub_813624C
thumb_func_start sub_813625C
sub_813625C: @ 813625C
push {r4,r5,lr}
bl sub_8136140
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
ldr r1, =0x0000080a
adds r0, r1
movs r1, 0
strb r1, [r0]
movs r2, 0
ldr r5, =gSaveBlock1Ptr
ldr r4, =0x00000848
_08136274:
ldr r0, [r5]
lsls r1, r2, 3
adds r0, r1
adds r0, r4
ldrb r0, [r0]
ldr r3, =gUnknown_0203AB50
cmp r0, 0
beq _08136290
ldr r1, [r3]
ldr r0, =0x0000080a
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_08136290:
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
cmp r2, 0x27
bls _08136274
ldr r0, [r3]
ldr r2, =0x0000080a
adds r0, r2
ldrb r1, [r0]
adds r1, 0x1
strb r1, [r0]
ldr r0, [r3]
adds r2, r0, r2
ldrb r2, [r2]
cmp r2, 0x9
bls _081362D0
ldr r2, =0x0000080b
adds r1, r0, r2
movs r0, 0x9
strb r0, [r1]
b _081362D6
.pool
_081362D0:
ldr r1, =0x0000080b
adds r0, r1
strb r2, [r0]
_081362D6:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813625C
thumb_func_start sub_81362E0
sub_81362E0: @ 81362E0
push {r4,r5,lr}
ldr r0, =gUnknown_0203AB48
ldrh r1, [r0, 0x6]
adds r3, r0, 0
ldr r4, =gUnknown_0203AB50
cmp r1, 0
beq _08136308
ldrh r0, [r3, 0x6]
ldr r1, [r4]
ldr r5, =0x0000080b
adds r2, r1, r5
ldrb r2, [r2]
adds r0, r2
subs r5, 0x1
adds r1, r5
ldrb r1, [r1]
cmp r0, r1
ble _08136308
subs r0, r1, r2
strh r0, [r3, 0x6]
_08136308:
adds r2, r3, 0
ldrh r1, [r2, 0x6]
ldrh r0, [r2, 0x4]
adds r1, r0
ldr r0, [r4]
ldr r4, =0x0000080a
adds r0, r4
ldrb r0, [r0]
cmp r1, r0
blt _0813633C
adds r1, r0, 0
cmp r1, 0
bne _08136338
strh r1, [r2, 0x4]
b _0813633C
.pool
_08136338:
subs r0, 0x1
strh r0, [r3, 0x4]
_0813633C:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_81362E0
thumb_func_start sub_8136344
sub_8136344: @ 8136344
push {r4-r7,lr}
ldr r0, =gUnknown_0203AB48
ldrh r1, [r0, 0x4]
adds r5, r0, 0
cmp r1, 0x4
bls _081363A4
movs r4, 0
ldrh r0, [r5, 0x4]
subs r0, 0x4
cmp r4, r0
bge _081363A4
ldrh r2, [r5, 0x6]
ldr r6, =gUnknown_0203AB50
ldr r0, [r6]
ldr r3, =0x0000080b
adds r1, r0, r3
ldrb r1, [r1]
adds r2, r1
ldr r7, =0x0000080a
adds r0, r7
ldrb r0, [r0]
cmp r2, r0
beq _081363A4
adds r3, r5, 0
_08136374:
ldrh r0, [r3, 0x4]
subs r0, 0x1
strh r0, [r3, 0x4]
ldrh r0, [r3, 0x6]
adds r0, 0x1
strh r0, [r3, 0x6]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
ldrh r0, [r3, 0x4]
subs r0, 0x4
cmp r4, r0
bge _081363A4
ldrh r2, [r5, 0x6]
ldr r1, [r6]
ldr r7, =0x0000080b
adds r0, r1, r7
ldrb r0, [r0]
adds r2, r0
ldr r0, =0x0000080a
adds r1, r0
ldrb r1, [r1]
cmp r2, r1
bne _08136374
_081363A4:
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136344
thumb_func_start sub_81363BC
sub_81363BC: @ 81363BC
push {r4,lr}
sub sp, 0x10
ldr r4, =gUnknown_0203AB50
ldr r1, [r4]
ldr r2, =0x00000e7c
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0xFF
bne _081363FC
ldr r2, =0x0000080a
adds r0, r1, r2
ldrb r0, [r0]
adds r2, 0x1
adds r1, r2
ldrb r1, [r1]
subs r0, r1
str r0, [sp]
ldr r0, =0x00000456
str r0, [sp, 0x4]
str r0, [sp, 0x8]
ldr r0, =gUnknown_0203AB4E
str r0, [sp, 0xC]
movs r0, 0x2
movs r1, 0xB0
movs r2, 0x8
movs r3, 0x98
bl AddScrollIndicatorArrowPairParametrized
ldr r1, [r4]
ldr r2, =0x00000e7c
adds r1, r2
strb r0, [r1]
_081363FC:
add sp, 0x10
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_81363BC
thumb_func_start sub_8136418
sub_8136418: @ 8136418
push {r4,lr}
ldr r4, =gUnknown_0203AB50
ldr r0, [r4]
ldr r2, =0x00000e7c
adds r1, r0, r2
ldrb r0, [r1]
cmp r0, 0xFF
beq _08136436
bl RemoveScrollIndicatorArrowPair
ldr r0, [r4]
ldr r1, =0x00000e7c
adds r0, r1
movs r1, 0xFF
strb r1, [r0]
_08136436:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136418
thumb_func_start sub_8136444
sub_8136444: @ 8136444
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r3, r2, 0
lsls r3, 24
lsrs r3, 24
ldr r0, =gUnknown_085B2704
lsls r4, 16
asrs r4, 16
lsls r5, 16
asrs r5, 16
adds r1, r4, 0
adds r2, r5, 0
bl CreateSprite
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
.pool
thumb_func_end sub_8136444
thumb_func_start sub_8136470
sub_8136470: @ 8136470
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x2E
ldrsh r0, [r4, r1]
cmp r0, 0x1
ble _08136480
movs r0, 0
strh r0, [r4, 0x2E]
_08136480:
movs r0, 0x2E
ldrsh r5, [r4, r0]
cmp r5, 0
beq _0813648E
cmp r5, 0x1
beq _081364B4
b _081364E0
_0813648E:
ldrb r1, [r4, 0x1]
movs r0, 0x4
negs r0, r0
ands r0, r1
movs r1, 0x1
orrs r0, r1
strb r0, [r4, 0x1]
ldr r0, =gUnknown_085B26F0
str r0, [r4, 0x10]
adds r0, r4, 0
bl InitSpriteAffineAnim
movs r0, 0x1
strh r0, [r4, 0x2E]
strh r5, [r4, 0x30]
b _081364E0
.pool
_081364B4:
ldrh r0, [r4, 0x30]
adds r0, 0x1
movs r2, 0
strh r0, [r4, 0x30]
lsls r0, 16
asrs r0, 16
cmp r0, 0xB
ble _081364E0
ldrb r1, [r4, 0x1]
movs r0, 0x4
negs r0, r0
ands r0, r1
strb r0, [r4, 0x1]
strh r2, [r4, 0x2E]
strh r2, [r4, 0x30]
ldrb r0, [r4, 0x3]
lsls r0, 26
lsrs r0, 27
bl FreeOamMatrix
ldr r0, =SpriteCallbackDummy
str r0, [r4, 0x1C]
_081364E0:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136470
thumb_func_start sub_81364EC
sub_81364EC: @ 81364EC
push {r4,lr}
sub sp, 0x4
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, =sub_8136524
str r1, [r0]
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_81364EC
thumb_func_start sub_8136524
sub_8136524: @ 8136524
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
ldr r1, =gTasks + 0x8
adds r2, r0, r1
ldr r0, =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _081365BE
ldr r6, =gUnknown_0203AB50
ldr r0, [r6]
ldr r1, =0x00000809
adds r0, r1
ldrb r0, [r0]
subs r0, 0x2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bhi _0813655A
ldr r1, =gFieldCallback
ldr r0, =sub_80AF168
str r0, [r1]
_0813655A:
ldrb r0, [r2]
ldr r4, =gUnknown_0203AB4E
subs r2, r4, 0x2
adds r1, r4, 0
bl sub_81AE6C8
bl sub_8136418
bl ResetSpriteData
bl FreeAllSpritePalettes
ldr r0, [r6]
movs r1, 0x80
lsls r1, 4
adds r0, r1
ldr r0, [r0]
cmp r0, 0
beq _081365A4
bl SetMainCallback2
b _081365AC
.pool
_081365A4:
subs r0, r4, 0x6
ldr r0, [r0]
bl SetMainCallback2
_081365AC:
bl FreeAllWindowBuffers
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
bl Free
adds r0, r5, 0
bl DestroyTask
_081365BE:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136524
thumb_func_start sub_81365C8
sub_81365C8: @ 81365C8
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
lsls r0, 24
lsrs r7, r0, 24
lsls r0, r7, 2
adds r0, r7
lsls r0, 3
mov r8, r0
ldr r0, =gTasks + 0x8
mov r10, r0
mov r6, r8
add r6, r10
ldr r0, =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _081365F4
b _08136708
_081365F4:
bl sub_81221EC
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08136602
b _08136708
_08136602:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x4
ands r0, r1
lsls r0, 16
lsrs r0, 16
mov r9, r0
cmp r0, 0
beq _08136688
ldrb r0, [r6]
ldr r4, =gUnknown_0203AB4E
subs r2, r4, 0x2
adds r1, r4, 0
bl get_coro_args_x18_x1A
subs r4, 0x6
ldrh r1, [r4, 0x6]
ldrh r0, [r4, 0x4]
adds r1, r0
ldr r5, =gUnknown_0203AB50
ldr r0, [r5]
ldr r2, =0x0000080a
adds r0, r2
ldrb r0, [r0]
subs r0, 0x1
cmp r1, r0
beq _08136708
movs r0, 0x5
bl PlaySE
ldrh r0, [r4, 0x4]
ldr r1, =0x00002005
bl sub_8136110
ldrh r0, [r4, 0x4]
ldrh r4, [r4, 0x6]
adds r0, r4
strh r0, [r6, 0x4]
ldr r0, [r5]
ldr r1, =0x00000e7d
adds r0, r1
movs r1, 0x1
strb r1, [r0]
mov r0, r10
subs r0, 0x8
add r0, r8
ldr r1, =sub_813671C
str r1, [r0]
b _08136708
.pool
_08136688:
ldr r5, =gUnknown_0203AB48
ldrh r2, [r5, 0x4]
mov r8, r2
ldrb r0, [r6]
bl ListMenuHandleInput
adds r4, r0, 0
ldrb r0, [r6]
adds r1, r5, 0x6
adds r2, r5, 0x4
bl get_coro_args_x18_x1A
ldrh r0, [r5, 0x4]
cmp r8, r0
beq _081366B6
mov r0, r8
movs r1, 0x5
bl sub_8136110
ldrh r0, [r5, 0x4]
ldr r1, =0x00001005
bl sub_8136110
_081366B6:
movs r0, 0x2
negs r0, r0
cmp r4, r0
beq _081366D0
adds r0, 0x1
cmp r4, r0
bne _081366F8
b _08136708
.pool
_081366D0:
movs r0, 0x5
bl PlaySE
ldr r0, =gSpecialVar_Result
ldr r2, =0x0000ffff
adds r1, r2, 0
strh r1, [r0]
ldr r0, =gSpecialVar_ItemId
mov r1, r9
strh r1, [r0]
adds r0, r7, 0
bl sub_81364EC
b _08136708
.pool
_081366F8:
movs r0, 0x5
bl PlaySE
ldr r0, =gSpecialVar_ItemId
strh r4, [r0]
adds r0, r7, 0
bl sub_8136938
_08136708:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_81365C8
thumb_func_start sub_813671C
sub_813671C: @ 813671C
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
lsls r0, 24
lsrs r0, 24
mov r8, r0
lsls r0, 2
add r0, r8
lsls r0, 3
ldr r1, =gTasks + 0x8
adds r7, r0, r1
bl sub_81221EC
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08136742
b _08136848
_08136742:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x4
ands r0, r1
cmp r0, 0
beq _0813676C
movs r0, 0x5
bl PlaySE
ldrb r0, [r7]
ldr r1, =gUnknown_0203AB4E
subs r2, r1, 0x2
bl get_coro_args_x18_x1A
b _08136822
.pool
_0813676C:
ldr r6, =gUnknown_0203AB48
ldrh r4, [r6, 0x6]
ldrh r5, [r6, 0x4]
ldrb r0, [r7]
bl ListMenuHandleInput
mov r9, r0
ldrb r0, [r7]
adds r1, r6, 0x6
adds r2, r6, 0x4
bl get_coro_args_x18_x1A
ldrh r0, [r6, 0x6]
cmp r4, r0
bne _08136790
ldrh r6, [r6, 0x4]
cmp r5, r6
beq _081367CA
_08136790:
movs r4, 0
_08136792:
ldr r0, =gUnknown_0203AB48
ldrh r0, [r0, 0x6]
adds r0, r4, r0
lsls r0, 16
lsrs r5, r0, 16
movs r1, 0x4
ldrsh r0, [r7, r1]
cmp r5, r0
bne _081367B8
adds r0, r4, 0
ldr r1, =0x00002005
bl sub_8136110
b _081367C0
.pool
_081367B8:
adds r0, r4, 0
movs r1, 0x5
bl sub_8136110
_081367C0:
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0x8
bls _08136792
_081367CA:
ldr r5, =gUnknown_0203AB50
ldr r0, [r5]
ldr r4, =0x00000e75
adds r0, r4
movs r1, 0x7
movs r2, 0
bl sub_81223FC
ldr r0, [r5]
adds r0, r4
ldr r1, =gUnknown_0203AB48
ldrh r3, [r1, 0x4]
lsls r3, 4
adds r3, 0x8
lsls r3, 16
lsrs r3, 16
movs r1, 0x7
movs r2, 0x80
bl sub_8122448
movs r0, 0x2
negs r0, r0
cmp r9, r0
beq _08136810
adds r0, 0x1
cmp r9, r0
bne _0813683A
b _08136848
.pool
_08136810:
movs r0, 0x5
bl PlaySE
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _08136830
_08136822:
mov r0, r8
movs r1, 0
bl sub_8136854
b _08136848
.pool
_08136830:
mov r0, r8
movs r1, 0x1
bl sub_8136854
b _08136848
_0813683A:
movs r0, 0x5
bl PlaySE
mov r0, r8
movs r1, 0
bl sub_8136854
_08136848:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_813671C
thumb_func_start sub_8136854
sub_8136854: @ 8136854
push {r4-r7,lr}
adds r4, r1, 0
lsls r0, 24
lsrs r7, r0, 24
lsls r4, 24
lsrs r4, 24
lsls r0, r7, 2
adds r0, r7
lsls r0, 3
ldr r1, =gTasks + 0x8
adds r6, r0, r1
ldr r2, =gUnknown_0203AB48
ldrh r0, [r2, 0x4]
ldrh r1, [r2, 0x6]
adds r0, r1
lsls r0, 16
lsrs r5, r0, 16
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
ldr r1, =0x00000e7d
adds r0, r1
movs r1, 0
strb r1, [r0]
ldrb r0, [r6]
adds r1, r2, 0x6
adds r2, 0x4
bl sub_81AE6C8
cmp r4, 0
bne _081368AA
movs r0, 0x4
ldrsh r1, [r6, r0]
cmp r1, r5
beq _081368BA
subs r0, r5, 0x1
cmp r1, r0
beq _081368AA
adds r0, r1, 0
adds r1, r5, 0
bl sub_81361B0
bl sub_8135E2C
_081368AA:
movs r1, 0x4
ldrsh r0, [r6, r1]
cmp r0, r5
bge _081368BA
ldr r1, =gUnknown_0203AB48
ldrh r0, [r1, 0x4]
subs r0, 0x1
strh r0, [r1, 0x4]
_081368BA:
ldr r0, =gUnknown_03006310
ldr r2, =gUnknown_0203AB48
ldrh r1, [r2, 0x6]
ldrh r2, [r2, 0x4]
bl ListMenuInit
lsls r0, 24
lsrs r0, 24
strh r0, [r6]
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
ldr r1, =0x00000e75
adds r0, r1
movs r1, 0x7
movs r2, 0x1
bl sub_81223FC
movs r4, 0
lsls r5, r7, 2
_081368E6:
adds r0, r4, 0
movs r1, 0x5
bl sub_8136110
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x8
bls _081368E6
ldr r0, =gUnknown_0203AB48
ldrh r0, [r0, 0x4]
ldr r1, =0x00001005
bl sub_8136110
ldr r1, =gTasks
adds r0, r5, r7
lsls r0, 3
adds r0, r1
ldr r1, =sub_81365C8
str r1, [r0]
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136854
thumb_func_start sub_8136938
sub_8136938: @ 8136938
push {r4-r7,lr}
lsls r0, 24
lsrs r7, r0, 24
lsls r0, r7, 2
adds r0, r7
lsls r0, 3
ldr r1, =gTasks + 0x8
adds r6, r0, r1
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
ldr r1, =0x00000808
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x3
bne _08136968
movs r0, 0x8
b _0813696A
.pool
_08136968:
movs r0, 0x9
_0813696A:
strh r0, [r6, 0x2]
bl sub_8136418
ldrb r0, [r6, 0x2]
movs r1, 0
movs r2, 0x1
movs r3, 0xE
bl SetWindowBorderStyle
ldrb r0, [r6, 0x2]
ldr r5, =gUnknown_0203AB50
ldr r3, [r5]
ldr r4, =0x00000808
adds r1, r3, r4
ldrb r1, [r1]
ldr r2, =gUnknown_085B2668
mov r12, r2
ldr r2, =0x00000804
adds r3, r2
ldr r3, [r3]
mov r2, r12
bl sub_81995E4
ldrb r0, [r6, 0x2]
ldr r1, [r5]
adds r1, r4
ldrb r1, [r1]
movs r2, 0
bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
ldrb r0, [r6, 0x2]
bl PutWindowTilemap
movs r0, 0x1
bl schedule_bg_copy_tilemap_to_vram
ldr r1, =gTasks
lsls r0, r7, 2
adds r0, r7
lsls r0, 3
adds r0, r1
ldr r1, =sub_81369E0
str r1, [r0]
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136938
thumb_func_start sub_81369E0
sub_81369E0: @ 81369E0
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
adds r6, r5, 0
bl sub_81221EC
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08136A3C
bl ProcessMenuInputNoWrapAround
lsls r0, 24
asrs r4, r0, 24
movs r0, 0x2
negs r0, r0
cmp r4, r0
beq _08136A3C
adds r0, 0x1
cmp r4, r0
bne _08136A18
movs r0, 0x5
bl PlaySE
adds r0, r5, 0
bl sub_8136DE8
b _08136A3C
_08136A18:
movs r0, 0x5
bl PlaySE
ldr r1, =gUnknown_085B2668
ldr r0, =gUnknown_0203AB50
ldr r0, [r0]
ldr r2, =0x00000804
adds r0, r2
ldr r0, [r0]
adds r0, r4
ldrb r0, [r0]
lsls r0, 3
adds r1, 0x4
adds r0, r1
ldr r1, [r0]
adds r0, r6, 0
bl _call_via_r1
_08136A3C:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_81369E0
thumb_func_start sub_8136A50
sub_8136A50: @ 8136A50
push {lr}
lsls r0, 24
lsrs r0, 24
ldr r1, =gUnknown_0203AB50
ldr r1, [r1]
movs r2, 0x80
lsls r2, 4
adds r1, r2
ldr r2, =sub_8136A74
str r2, [r1]
bl sub_81364EC
pop {r0}
bx r0
.pool
thumb_func_end sub_8136A50
thumb_func_start sub_8136A74
sub_8136A74: @ 8136A74
push {lr}
ldr r2, =gSaveBlock1Ptr
ldr r0, =gSpecialVar_ItemId
ldrh r1, [r0]
lsls r1, 3
ldr r0, =0x00000848
adds r1, r0
ldr r0, [r2]
adds r0, r1
ldr r1, =sub_8136AA0
bl sub_8166204
pop {r0}
bx r0
.pool
thumb_func_end sub_8136A74
thumb_func_start sub_8136AA0
sub_8136AA0: @ 8136AA0
push {lr}
ldr r0, =gUnknown_0203AB48
ldr r1, [r0]
movs r0, 0
bl sub_81357FC
pop {r0}
bx r0
.pool
thumb_func_end sub_8136AA0
thumb_func_start sub_8136AB4
sub_8136AB4: @ 8136AB4
push {r4,r5,lr}
sub sp, 0x10
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
ldr r1, =gTasks + 0x8
adds r0, r1
ldrb r0, [r0, 0x2]
movs r1, 0
bl sub_8198070
ldr r0, =gStringVar1
ldr r3, =gPokeblockNames
ldr r1, =gSaveBlock1Ptr
ldr r2, [r1]
ldr r1, =gSpecialVar_ItemId
ldrh r1, [r1]
lsls r1, 3
adds r2, r1
ldr r1, =0x00000848
adds r2, r1
ldrb r1, [r2]
lsls r1, 2
adds r1, r3
ldr r1, [r1]
bl StringCopy
ldr r5, =gStringVar4
ldr r1, =gText_ThrowAwayVar1
adds r0, r5, 0
bl StringExpandPlaceholders
bl GetPlayerTextSpeed
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
str r1, [sp]
str r0, [sp, 0x4]
str r5, [sp, 0x8]
ldr r0, =sub_8136B48
str r0, [sp, 0xC]
adds r0, r4, 0
movs r1, 0xA
movs r2, 0xA
movs r3, 0xD
bl DisplayMessageAndContinueTask
add sp, 0x10
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136AB4
thumb_func_start sub_8136B48
sub_8136B48: @ 8136B48
push {lr}
sub sp, 0x10
lsls r0, 24
lsrs r0, 24
ldr r1, =gUnknown_085B27A8
movs r2, 0x2
str r2, [sp]
movs r2, 0x1
str r2, [sp, 0x4]
movs r2, 0xE
str r2, [sp, 0x8]
ldr r2, =gUnknown_085B26A4
str r2, [sp, 0xC]
movs r2, 0x1
movs r3, 0
bl CreateYesNoMenuWithCallbacks
add sp, 0x10
pop {r0}
bx r0
.pool
thumb_func_end sub_8136B48
thumb_func_start sub_8136B78
sub_8136B78: @ 8136B78
push {r4,r5,lr}
sub sp, 0x10
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r5, =gStringVar4
ldr r1, =gText_Var1ThrownAway
adds r0, r5, 0
bl StringExpandPlaceholders
bl GetPlayerTextSpeed
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
str r1, [sp]
str r0, [sp, 0x4]
str r5, [sp, 0x8]
ldr r0, =sub_8136BC0
str r0, [sp, 0xC]
adds r0, r4, 0
movs r1, 0xA
movs r2, 0xA
movs r3, 0xD
bl DisplayMessageAndContinueTask
add sp, 0x10
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136B78
thumb_func_start sub_8136BC0
sub_8136BC0: @ 8136BC0
push {r4-r7,lr}
lsls r0, 24
lsrs r7, r0, 24
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x3
ands r0, r1
cmp r0, 0
beq _08136C36
ldr r0, =gSpecialVar_ItemId
ldrb r0, [r0]
bl sub_8136F68
movs r0, 0x5
bl PlaySE
ldr r5, =gUnknown_0203AB4E
subs r6, r5, 0x2
lsls r4, r7, 2
adds r4, r7
lsls r4, 3
ldr r0, =gTasks + 0x8
adds r4, r0
ldrb r0, [r4]
adds r1, r5, 0
adds r2, r6, 0
bl sub_81AE6C8
ldrh r0, [r6]
movs r1, 0x5
bl sub_8136110
bl sub_813625C
bl sub_81362E0
bl sub_8135E2C
ldr r0, =gUnknown_03006310
ldrh r1, [r5]
ldrh r2, [r6]
bl ListMenuInit
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
ldrh r0, [r6]
ldr r1, =0x00001005
bl sub_8136110
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x1
bl schedule_bg_copy_tilemap_to_vram
adds r0, r7, 0
bl sub_8136C54
_08136C36:
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136BC0
thumb_func_start sub_8136C54
sub_8136C54: @ 8136C54
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0xA
movs r1, 0
bl sub_8197DF8
movs r0, 0x1
bl schedule_bg_copy_tilemap_to_vram
bl sub_81363BC
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, =sub_81365C8
str r1, [r0]
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136C54
thumb_func_start sub_8136C8C
sub_8136C8C: @ 8136C8C
push {r4-r7,lr}
mov r7, r8
push {r7}
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldr r0, =gEnemyParty
bl GetNature
lsls r0, 24
lsrs r0, 24
ldr r5, =gSaveBlock1Ptr
ldr r7, =gSpecialVar_ItemId
ldrh r2, [r7]
lsls r2, 3
ldr r6, =0x00000848
adds r2, r6
ldr r1, [r5]
adds r1, r2
bl PokeblockGetGain
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r0, =gBattleTextBuff1
ldr r3, =gPokeblockNames
ldr r2, [r5]
ldrh r1, [r7]
lsls r1, 3
adds r2, r1
adds r2, r6
ldrb r1, [r2]
lsls r1, 2
adds r1, r3
ldr r1, [r1]
bl StringCopy
ldrb r0, [r7]
bl sub_8136F68
ldr r1, [r5]
ldrh r0, [r7]
lsls r0, 3
adds r1, r0
adds r1, r6
ldrb r0, [r1]
lsls r0, 8
strh r0, [r7]
lsls r4, 16
asrs r4, 16
cmp r4, 0
bne _08136D10
adds r0, 0x1
b _08136D1A
.pool
_08136D10:
cmp r4, 0
ble _08136D18
adds r0, 0x2
b _08136D1A
_08136D18:
adds r0, 0x3
_08136D1A:
strh r0, [r7]
mov r0, r8
bl sub_81364EC
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8136C8C
thumb_func_start sub_8136D2C
sub_8136D2C: @ 8136D2C
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r5, =gSpecialVar_ItemId
ldrb r0, [r5]
bl SafariZoneActivatePokeblockFeeder
ldr r0, =gStringVar1
ldr r3, =gPokeblockNames
ldr r1, =gSaveBlock1Ptr
ldr r2, [r1]
ldrh r1, [r5]
lsls r1, 3
adds r2, r1
ldr r1, =0x00000848
adds r2, r1
ldrb r1, [r2]
lsls r1, 2
adds r1, r3
ldr r1, [r1]
bl StringCopy
ldr r1, =gSpecialVar_Result
ldrh r0, [r5]
strh r0, [r1]
lsls r0, 24
lsrs r0, 24
bl sub_8136F68
movs r0, 0
strh r0, [r5]
adds r0, r4, 0
bl sub_81364EC
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136D2C
thumb_func_start sub_8136D90
sub_8136D90: @ 8136D90
push {r4-r6,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r6, =gSpecialVar_0x8004
ldr r0, =gSaveBlock1Ptr
ldr r5, =gSpecialVar_ItemId
ldrh r1, [r5]
lsls r1, 3
ldr r2, =0x00000848
adds r1, r2
ldr r0, [r0]
adds r0, r1
bl sub_818E704
lsls r0, 24
lsrs r0, 24
strh r0, [r6]
ldr r1, =gSpecialVar_Result
ldrh r0, [r5]
strh r0, [r1]
lsls r0, 24
lsrs r0, 24
bl sub_8136F68
movs r0, 0
strh r0, [r5]
adds r0, r4, 0
bl sub_81364EC
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136D90
thumb_func_start sub_8136DE8
sub_8136DE8: @ 8136DE8
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
lsls r4, r0, 2
adds r4, r0
lsls r4, 3
ldr r5, =gTasks + 0x8
adds r0, r4, r5
ldrb r0, [r0, 0x2]
movs r1, 0
bl sub_8198070
movs r0, 0x1
bl schedule_bg_copy_tilemap_to_vram
bl sub_81363BC
subs r5, 0x8
adds r4, r5
ldr r0, =sub_81365C8
str r0, [r4]
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136DE8
thumb_func_start sub_8136E20
sub_8136E20: @ 8136E20
push {r4,lr}
lsls r0, 24
ldr r3, =gSaveBlock1Ptr
ldr r1, [r3]
lsrs r0, 21
adds r1, r0
ldr r2, =0x00000848
adds r1, r2
movs r2, 0
strb r2, [r1]
ldr r1, [r3]
adds r1, r0
ldr r4, =0x00000849
adds r1, r4
strb r2, [r1]
ldr r1, [r3]
adds r1, r0
adds r4, 0x1
adds r1, r4
strb r2, [r1]
ldr r1, [r3]
adds r1, r0
adds r4, 0x1
adds r1, r4
strb r2, [r1]
ldr r1, [r3]
adds r1, r0
adds r4, 0x1
adds r1, r4
strb r2, [r1]
ldr r1, [r3]
adds r1, r0
adds r4, 0x1
adds r1, r4
strb r2, [r1]
ldr r1, [r3]
adds r1, r0
ldr r0, =0x0000084e
adds r1, r0
strb r2, [r1]
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8136E20
thumb_func_start ClearPokeblocks
ClearPokeblocks: @ 8136E88
push {r4,lr}
movs r4, 0
_08136E8C:
adds r0, r4, 0
bl sub_8136E20
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x27
bls _08136E8C
pop {r4}
pop {r0}
bx r0
thumb_func_end ClearPokeblocks
thumb_func_start GetHighestPokeblocksFlavorLevel
GetHighestPokeblocksFlavorLevel: @ 8136EA4
push {r4-r6,lr}
adds r6, r0, 0
movs r1, 0x1
bl sub_8136F9C
lsls r0, 24
lsrs r5, r0, 24
movs r1, 0x1
_08136EB4:
adds r0, r1, 0x1
lsls r0, 24
lsrs r4, r0, 24
adds r0, r6, 0
adds r1, r4, 0
bl sub_8136F9C
lsls r0, 24
lsrs r0, 24
cmp r5, r0
bcs _08136ECC
adds r5, r0, 0
_08136ECC:
adds r1, r4, 0
cmp r1, 0x4
bls _08136EB4
adds r0, r5, 0
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end GetHighestPokeblocksFlavorLevel
thumb_func_start GetPokeblocksFeel
GetPokeblocksFeel: @ 8136EDC
push {lr}
movs r1, 0x6
bl sub_8136F9C
lsls r0, 24
lsrs r0, 24
cmp r0, 0x63
bls _08136EEE
movs r0, 0x63
_08136EEE:
pop {r1}
bx r1
thumb_func_end GetPokeblocksFeel
thumb_func_start GetFirstFreePokeblockSlot
GetFirstFreePokeblockSlot: @ 8136EF4
push {lr}
movs r1, 0
ldr r0, =gSaveBlock1Ptr
ldr r2, [r0]
ldr r3, =0x00000848
_08136EFE:
lsls r0, r1, 3
adds r0, r2, r0
adds r0, r3
ldrb r0, [r0]
cmp r0, 0
bne _08136F18
lsls r0, r1, 24
asrs r0, 24
b _08136F26
.pool
_08136F18:
adds r0, r1, 0x1
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x27
bls _08136EFE
movs r0, 0x1
negs r0, r0
_08136F26:
pop {r1}
bx r1
thumb_func_end GetFirstFreePokeblockSlot
thumb_func_start AddPokeblock
AddPokeblock: @ 8136F2C
push {r4,lr}
adds r4, r0, 0
bl GetFirstFreePokeblockSlot
lsls r0, 24
asrs r1, r0, 24
movs r0, 0x1
negs r0, r0
cmp r1, r0
beq _08136F60
ldr r0, =gSaveBlock1Ptr
ldr r2, [r0]
lsls r0, r1, 3
ldr r1, =0x00000848
adds r2, r1
adds r2, r0
ldr r0, [r4]
ldr r1, [r4, 0x4]
str r0, [r2]
str r1, [r2, 0x4]
movs r0, 0x1
b _08136F62
.pool
_08136F60:
movs r0, 0
_08136F62:
pop {r4}
pop {r1}
bx r1
thumb_func_end AddPokeblock
thumb_func_start sub_8136F68
sub_8136F68: @ 8136F68
push {lr}
lsls r0, 24
lsrs r2, r0, 24
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
lsls r1, r2, 3
adds r0, r1
ldr r1, =0x00000848
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
beq _08136F94
adds r0, r2, 0
bl sub_8136E20
movs r0, 0x1
b _08136F96
.pool
_08136F94:
movs r0, 0
_08136F96:
pop {r1}
bx r1
thumb_func_end sub_8136F68
thumb_func_start sub_8136F9C
sub_8136F9C: @ 8136F9C
push {lr}
lsls r1, 24
lsrs r1, 24
adds r2, r1, 0
cmp r1, 0
bne _08136FAC
ldrb r0, [r0]
b _08136FDE
_08136FAC:
cmp r1, 0x1
bne _08136FB4
ldrb r0, [r0, 0x1]
b _08136FDE
_08136FB4:
cmp r1, 0x2
bne _08136FBC
ldrb r0, [r0, 0x2]
b _08136FDE
_08136FBC:
cmp r1, 0x3
bne _08136FC4
ldrb r0, [r0, 0x3]
b _08136FDE
_08136FC4:
cmp r1, 0x4
bne _08136FCC
ldrb r0, [r0, 0x4]
b _08136FDE
_08136FCC:
cmp r1, 0x5
bne _08136FD4
ldrb r0, [r0, 0x5]
b _08136FDE
_08136FD4:
cmp r2, 0x6
beq _08136FDC
movs r0, 0
b _08136FDE
_08136FDC:
ldrb r0, [r0, 0x6]
_08136FDE:
pop {r1}
bx r1
thumb_func_end sub_8136F9C
thumb_func_start PokeblockGetGain
PokeblockGetGain: @ 8136FE4
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
mov r8, r1
lsls r0, 24
lsrs r0, 24
movs r6, 0
movs r4, 0
ldr r1, =gPokeblockFlavorCompatibilityTable
mov r9, r1
lsls r1, r0, 2
adds r7, r1, r0
_08136FFE:
adds r0, r4, 0x1
lsls r0, 24
lsrs r5, r0, 24
mov r0, r8
adds r1, r5, 0
bl sub_8136F9C
lsls r0, 16
asrs r1, r0, 16
cmp r1, 0
ble _0813702A
adds r0, r7, r4
add r0, r9
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
muls r1, r0
lsls r0, r6, 16
asrs r0, 16
adds r0, r1
lsls r0, 16
lsrs r6, r0, 16
_0813702A:
adds r4, r5, 0
cmp r4, 0x4
bls _08136FFE
lsls r0, r6, 16
asrs r0, 16
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
.pool
thumb_func_end PokeblockGetGain
thumb_func_start sub_8137044
sub_8137044: @ 8137044
push {r4,lr}
adds r4, r1, 0
movs r1, 0
bl sub_8136F9C
lsls r0, 24
ldr r1, =gPokeblockNames
lsrs r0, 22
adds r0, r1
ldr r1, [r0]
adds r0, r4, 0
bl StringCopy
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8137044
thumb_func_start sub_8137068
sub_8137068: @ 8137068
push {r4-r7,lr}
adds r6, r1, 0
lsls r0, 24
lsrs r5, r0, 24
movs r4, 0
ldr r7, =gPokeblockNames
_08137074:
lsls r1, r4, 3
ldr r0, =gUnknown_085B2720
adds r1, r0
adds r0, r5, 0
bl PokeblockGetGain
lsls r0, 16
cmp r0, 0
ble _081370A0
adds r0, r4, 0x1
lsls r0, 2
adds r0, r7
ldr r1, [r0]
adds r0, r6, 0
bl StringCopy
movs r0, 0x1
b _081370AC
.pool
_081370A0:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x4
bls _08137074
movs r0, 0
_081370AC:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8137068
thumb_func_start GetPokeblocksFlavor
GetPokeblocksFlavor: @ 81370B4
push {r4-r7,lr}
adds r5, r0, 0
movs r7, 0
movs r6, 0
_081370BC:
adds r1, r7, 0x1
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
bl sub_8136F9C
adds r4, r0, 0
adds r1, r6, 0x1
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
bl sub_8136F9C
lsls r4, 16
lsls r0, 16
lsls r1, r6, 16
cmp r4, r0
bge _081370E2
lsrs r7, r1, 16
_081370E2:
movs r2, 0x80
lsls r2, 9
adds r0, r1, r2
lsrs r6, r0, 16
asrs r0, 16
cmp r0, 0x4
ble _081370BC
lsls r0, r7, 24
lsrs r0, 24
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end GetPokeblocksFlavor
thumb_func_start sub_81370FC
sub_81370FC: @ 81370FC
push {r4,lr}
bl ShouldDoBrailleFlyEffect
lsls r0, 24
cmp r0, 0
beq _08137134
ldr r4, =gSpecialVar_Result
bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_8179918
b _08137152
.pool
_08137134:
ldr r0, =gMapHeader
ldrb r0, [r0, 0x15]
cmp r0, 0x1
bne _08137170
ldr r0, =0x00000888
bl FlagGet
lsls r0, 24
cmp r0, 0
bne _08137170
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm2_flash
_08137152:
str r0, [r1]
movs r0, 0x1
b _08137172
.pool
_08137170:
movs r0, 0
_08137172:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81370FC
thumb_func_start hm2_flash
hm2_flash: @ 8137178
push {r4,lr}
bl oei_task_add
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
str r0, [r1]
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r2, =sub_81371B4
lsrs r1, r2, 16
strh r1, [r0, 0x18]
strh r2, [r0, 0x1A]
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end hm2_flash
thumb_func_start sub_81371B4
sub_81371B4: @ 81371B4
push {lr}
movs r0, 0xCF
bl PlaySE
ldr r0, =0x00000888
bl FlagSet
ldr r0, =EventScript_2926F8
bl ScriptContext1_SetupScript
pop {r0}
bx r0
.pool
thumb_func_end sub_81371B4
thumb_func_start sub_81371D4
sub_81371D4: @ 81371D4
push {lr}
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
pop {r0}
bx r0
thumb_func_end sub_81371D4
thumb_func_start sub_81371EC
sub_81371EC: @ 81371EC
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
pop {r0}
bx r0
thumb_func_end sub_81371EC
thumb_func_start c2_change_map
c2_change_map: @ 8137200
push {r4,lr}
sub sp, 0x8
movs r0, 0
bl SetVBlankCallback
movs r0, 0
movs r1, 0
bl SetGpuReg
movs r0, 0xC
movs r1, 0
bl SetGpuReg
movs r0, 0xA
movs r1, 0
bl SetGpuReg
movs r0, 0x8
movs r1, 0
bl SetGpuReg
movs r0, 0x18
movs r1, 0
bl SetGpuReg
movs r0, 0x1A
movs r1, 0
bl SetGpuReg
movs r0, 0x14
movs r1, 0
bl SetGpuReg
movs r0, 0x16
movs r1, 0
bl SetGpuReg
movs r0, 0x10
movs r1, 0
bl SetGpuReg
movs r0, 0x12
movs r1, 0
bl SetGpuReg
mov r1, sp
movs r0, 0
strh r0, [r1]
ldr r1, =0x040000d4
mov r0, sp
str r0, [r1]
movs r0, 0xC0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, =0x8100c000
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
movs r4, 0
str r4, [sp, 0x4]
add r0, sp, 0x4
str r0, [r1]
movs r0, 0xE0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, =0x85000100
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
mov r0, sp
strh r4, [r0]
str r0, [r1]
ldr r0, =0x05000002
str r0, [r1, 0x4]
ldr r0, =0x810001ff
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
bl ResetPaletteFade
bl ResetTasks
bl ResetSpriteData
ldr r3, =0x04000208
ldrh r2, [r3]
strh r4, [r3]
ldr r4, =0x04000200
ldrh r0, [r4]
movs r1, 0x1
orrs r0, r1
strh r0, [r4]
strh r2, [r3]
ldr r0, =sub_81371EC
bl SetVBlankCallback
ldr r0, =sub_81371D4
bl SetMainCallback2
bl sub_8137304
lsls r0, 24
cmp r0, 0
bne _081372D2
ldr r0, =gMain
ldr r0, [r0, 0x8]
bl SetMainCallback2
_081372D2:
add sp, 0x8
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end c2_change_map
thumb_func_start sub_8137304
sub_8137304: @ 8137304
push {r4-r7,lr}
bl get_map_light_from_warp0
lsls r0, 24
lsrs r6, r0, 24
bl sav1_map_get_light_level
lsls r0, 24
lsrs r5, r0, 24
movs r3, 0
ldr r4, =gUnknown_085B27C8
ldrb r0, [r4]
cmp r0, 0
beq _08137358
adds r7, r4, 0
adds r0, r4, 0x4
mov r12, r0
_08137326:
lsls r2, r3, 3
adds r1, r2, r7
ldrb r0, [r1]
cmp r0, r6
bne _08137348
ldrb r0, [r1, 0x1]
cmp r0, r5
bne _08137348
mov r1, r12
adds r0, r2, r1
ldr r0, [r0]
bl _call_via_r0
movs r0, 0x1
b _0813735A
.pool
_08137348:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
lsls r0, r3, 3
adds r0, r4
ldrb r0, [r0]
cmp r0, 0
bne _08137326
_08137358:
movs r0, 0
_0813735A:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8137304
thumb_func_start sub_8137360
sub_8137360: @ 8137360
push {r4-r6,lr}
lsls r0, 24
lsls r1, 24
lsrs r5, r0, 24
lsrs r4, r1, 24
movs r3, 0
ldr r1, =gUnknown_085B27C8
ldrb r0, [r1]
cmp r0, 0
beq _081373A0
adds r6, r1, 0
_08137376:
lsls r0, r3, 3
adds r2, r0, r6
ldrb r0, [r2]
cmp r0, r5
bne _08137390
ldrb r0, [r2, 0x1]
cmp r0, r4
bne _08137390
ldrb r0, [r2, 0x2]
b _081373A2
.pool
_08137390:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
lsls r0, r3, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _08137376
_081373A0:
movs r0, 0
_081373A2:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8137360
thumb_func_start fade_type_for_given_maplight_pair
fade_type_for_given_maplight_pair: @ 81373A8
push {r4-r6,lr}
lsls r0, 24
lsls r1, 24
lsrs r5, r0, 24
lsrs r4, r1, 24
movs r3, 0
ldr r1, =gUnknown_085B27C8
ldrb r0, [r1]
cmp r0, 0
beq _081373E8
adds r6, r1, 0
_081373BE:
lsls r0, r3, 3
adds r2, r0, r6
ldrb r0, [r2]
cmp r0, r5
bne _081373D8
ldrb r0, [r2, 0x1]
cmp r0, r4
bne _081373D8
ldrb r0, [r2, 0x3]
b _081373EA
.pool
_081373D8:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
lsls r0, r3, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _081373BE
_081373E8:
movs r0, 0
_081373EA:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end fade_type_for_given_maplight_pair
thumb_func_start sub_81373F0
sub_81373F0: @ 81373F0
push {lr}
ldr r0, =sub_8137404
movs r1, 0
bl CreateTask
pop {r0}
bx r0
.pool
thumb_func_end sub_81373F0
thumb_func_start sub_8137404
sub_8137404: @ 8137404
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r0, =sub_8137420
str r0, [r1]
bx lr
.pool
thumb_func_end sub_8137404
thumb_func_start sub_8137420
sub_8137420: @ 8137420
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0
movs r1, 0
bl SetGpuReg
ldr r0, =gUnknown_085B2A90
ldr r1, =0x0600c000
bl LZ77UnCompVram
ldr r0, =gUnknown_085B28B0
ldr r1, =0x0600f800
bl LZ77UnCompVram
ldr r0, =gUnknown_085B2850
movs r1, 0xE0
movs r2, 0x20
bl LoadPalette
ldr r0, =gUnknown_085B28A0
movs r1, 0xE0
movs r2, 0x10
bl LoadPalette
ldr r1, =0x00003e41
movs r0, 0x50
bl SetGpuReg
movs r0, 0x52
movs r1, 0
bl SetGpuReg
movs r0, 0x54
movs r1, 0
bl SetGpuReg
ldr r1, =0x00001f0c
movs r0, 0x8
bl SetGpuReg
movs r1, 0x8A
lsls r1, 5
movs r0, 0
bl SetGpuReg
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, =sub_81374C4
str r1, [r0]
movs r2, 0
movs r1, 0x10
strh r1, [r0, 0x8]
strh r2, [r0, 0xA]
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8137420
thumb_func_start sub_81374C4
sub_81374C4: @ 81374C4
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r5, r1, r2
ldrh r4, [r5, 0xA]
movs r0, 0x80
lsls r0, 5
adds r1, r4, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x52
bl SetGpuReg
cmp r4, 0x10
bhi _081374F8
ldrh r0, [r5, 0xA]
adds r0, 0x1
strh r0, [r5, 0xA]
b _08137500
.pool
_081374F8:
movs r0, 0
strh r0, [r5, 0xC]
ldr r0, =sub_813750C
str r0, [r5]
_08137500:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81374C4
thumb_func_start sub_813750C
sub_813750C: @ 813750C
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r1, =0x00001010
movs r0, 0x52
bl SetGpuReg
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r4, r0, r1
ldrh r1, [r4, 0xC]
cmp r1, 0x7
bhi _08137554
adds r0, r1, 0x1
strh r0, [r4, 0xC]
lsls r1, 1
ldr r0, =gUnknown_085B28A0
adds r0, r1, r0
movs r2, 0x10
subs r2, r1
lsls r2, 16
lsrs r2, 16
movs r1, 0xE0
bl LoadPalette
b _08137566
.pool
_08137554:
ldr r0, =gUnknown_085B2850
movs r1, 0
movs r2, 0x20
bl LoadPalette
ldr r0, =sub_8137574
str r0, [r4]
movs r0, 0x8
strh r0, [r4, 0xC]
_08137566:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813750C
thumb_func_start sub_8137574
sub_8137574: @ 8137574
push {lr}
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldrh r2, [r1, 0xC]
movs r3, 0xC
ldrsh r0, [r1, r3]
cmp r0, 0
beq _08137598
subs r0, r2, 0x1
strh r0, [r1, 0xC]
b _081375A0
.pool
_08137598:
ldr r0, =gMain
ldr r0, [r0, 0x8]
bl SetMainCallback2
_081375A0:
pop {r0}
bx r0
.pool
thumb_func_end sub_8137574
thumb_func_start sub_81375A8
sub_81375A8: @ 81375A8
push {lr}
ldr r0, =sub_81375BC
movs r1, 0
bl CreateTask
pop {r0}
bx r0
.pool
thumb_func_end sub_81375A8
thumb_func_start sub_81375BC
sub_81375BC: @ 81375BC
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r0, =sub_81375D8
str r0, [r1]
bx lr
.pool
thumb_func_end sub_81375BC
thumb_func_start sub_81375D8
sub_81375D8: @ 81375D8
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0
movs r1, 0
bl SetGpuReg
ldr r0, =gUnknown_085B2A90
ldr r1, =0x0600c000
bl LZ77UnCompVram
ldr r0, =gUnknown_085B28B0
ldr r1, =0x0600f800
bl LZ77UnCompVram
movs r0, 0x50
movs r1, 0
bl SetGpuReg
movs r0, 0x52
movs r1, 0
bl SetGpuReg
movs r0, 0x54
movs r1, 0
bl SetGpuReg
ldr r1, =0x00001f0c
movs r0, 0x8
bl SetGpuReg
movs r1, 0x8A
lsls r1, 5
movs r0, 0
bl SetGpuReg
ldr r0, =gUnknown_085B2850
movs r1, 0xE0
movs r2, 0x20
bl LoadPalette
ldr r0, =gUnknown_085B2870
movs r1, 0
movs r2, 0x20
bl LoadPalette
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, =sub_8137678
str r1, [r0]
movs r2, 0
movs r1, 0x10
strh r1, [r0, 0x8]
strh r2, [r0, 0xA]
strh r2, [r0, 0xC]
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_81375D8
thumb_func_start sub_8137678
sub_8137678: @ 8137678
push {r4,lr}
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r4, r1, r2
ldrh r1, [r4, 0xC]
cmp r1, 0xF
bhi _081376B4
adds r2, r1, 0x1
adds r0, r2, 0x1
strh r0, [r4, 0xC]
movs r0, 0xF
subs r0, r1
lsls r0, 1
ldr r1, =gUnknown_085B2890
adds r0, r1
lsls r2, 17
lsrs r2, 16
movs r1, 0xE0
bl LoadPalette
b _081376C8
.pool
_081376B4:
ldr r1, =0x00001010
movs r0, 0x52
bl SetGpuReg
ldr r1, =0x00003e41
movs r0, 0x50
bl SetGpuReg
ldr r0, =sub_81376DC
str r0, [r4]
_081376C8:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8137678
thumb_func_start sub_81376DC
sub_81376DC: @ 81376DC
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r5, r1, r2
ldrh r0, [r5, 0xA]
movs r1, 0x10
subs r1, r0
lsls r1, 16
lsrs r4, r1, 16
movs r0, 0x80
lsls r0, 21
adds r1, r0
lsrs r1, 16
movs r0, 0x52
bl SetGpuReg
cmp r4, 0
beq _08137714
ldrh r0, [r5, 0xA]
adds r0, 0x1
strh r0, [r5, 0xA]
b _08137726
.pool
_08137714:
ldr r0, =gUnknown_085B2870
movs r1, 0
movs r2, 0x20
bl LoadPalette
ldr r0, =gMain
ldr r0, [r0, 0x8]
bl SetMainCallback2
_08137726:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81376DC
thumb_func_start sub_8137734
sub_8137734: @ 8137734
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x1C
bl sp000_heal_pokemon
ldr r4, =0x00000864
adds r0, r4, 0
bl FlagGet
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x1
bne _08137760
ldr r0, =gHasHallOfFameRecords
strb r1, [r0]
b _0813776C
.pool
_08137760:
ldr r1, =gHasHallOfFameRecords
movs r0, 0
strb r0, [r1]
adds r0, r4, 0
bl FlagSet
_0813776C:
movs r0, 0x1
bl GetGameStat
cmp r0, 0
bne _0813778E
ldr r0, =gSaveBlock2Ptr
ldr r2, [r0]
ldrh r1, [r2, 0xE]
lsls r1, 16
ldrb r0, [r2, 0x10]
lsls r0, 8
orrs r1, r0
ldrb r0, [r2, 0x11]
orrs r1, r0
movs r0, 0x1
bl sav12_xor_set
_0813778E:
bl sub_8076D48
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x8]
cmp r0, 0
bne _081377AC
movs r0, 0x1
bl sub_8084F6C
b _081377B2
.pool
_081377AC:
movs r0, 0x2
bl sub_8084F6C
_081377B2:
movs r7, 0
movs r6, 0
add r0, sp, 0x18
mov r8, r0
mov r5, sp
_081377BC:
movs r0, 0x64
adds r1, r6, 0
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
movs r0, 0
strb r6, [r5]
strb r0, [r5, 0x1]
adds r0, r4, 0
movs r1, 0x5
bl GetMonData
cmp r0, 0
beq _0813780A
adds r0, r4, 0
movs r1, 0x6
bl GetMonData
cmp r0, 0
bne _0813780A
adds r0, r4, 0
movs r1, 0x43
bl GetMonData
cmp r0, 0
bne _0813780A
movs r0, 0x1
mov r1, r8
strb r0, [r1]
adds r0, r4, 0
movs r1, 0x43
add r2, sp, 0x18
bl SetMonData
adds r0, r4, 0
bl GetRibbonCount
strb r0, [r5, 0x1]
movs r7, 0x1
_0813780A:
adds r5, 0x4
adds r6, 0x1
cmp r6, 0x5
ble _081377BC
cmp r7, 0x1
bne _0813785A
movs r0, 0x2A
bl IncrementGameStat
ldr r0, =0x0000089b
bl FlagSet
mov r3, sp
add r2, sp, 0x4
movs r6, 0x4
_08137828:
ldrb r1, [r3, 0x1]
ldrb r0, [r2, 0x1]
cmp r0, r1
bls _08137838
ldr r1, [sp]
ldr r0, [r2]
str r0, [sp]
str r1, [r2]
_08137838:
adds r2, 0x4
subs r6, 0x1
cmp r6, 0
bge _08137828
mov r0, sp
ldrb r0, [r0, 0x1]
cmp r0, 0x4
bls _0813785A
mov r0, sp
ldrb r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
movs r1, 0x43
bl sub_80EE4DC
_0813785A:
ldr r0, =CB2_DoHallOfFameScreen
bl SetMainCallback2
movs r0, 0
add sp, 0x1C
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.pool
thumb_func_end sub_8137734
thumb_func_start sp0C8_whiteout_maybe
sp0C8_whiteout_maybe: @ 813787C
push {lr}
ldr r0, =CB2_WhiteOut
bl SetMainCallback2
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end sp0C8_whiteout_maybe
thumb_func_start sub_8137890
sub_8137890: @ 8137890
push {r4,lr}
ldr r0, =0x00004024
bl VarGet
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r0, =0x00004025
bl VarGet
lsls r0, 16
lsrs r0, 16
lsls r4, 16
orrs r4, r0
adds r0, r4, 0
pop {r4}
pop {r1}
bx r1
.pool
thumb_func_end sub_8137890
thumb_func_start sub_81378BC
sub_81378BC: @ 81378BC
push {r4,lr}
adds r4, r0, 0
ldr r0, =0x00004024
lsrs r1, r4, 16
bl VarSet
ldr r0, =0x00004025
lsls r4, 16
lsrs r4, 16
adds r1, r4, 0
bl VarSet
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_81378BC
thumb_func_start sub_81378E4
sub_81378E4: @ 81378E4
push {r4,lr}
bl Random
adds r4, r0, 0
bl Random
lsls r4, 16
lsls r0, 16
lsrs r0, 16
orrs r4, r0
adds r0, r4, 0
bl sub_81378BC
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_81378E4
thumb_func_start sub_8137904
sub_8137904: @ 8137904
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
bl sub_8137890
adds r1, r0, 0
cmp r4, 0
beq _08137928
ldr r3, =0x41c64e6d
ldr r2, =0x00003039
_08137918:
adds r0, r1, 0
muls r0, r3
adds r1, r0, r2
subs r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0
bne _08137918
_08137928:
adds r0, r1, 0
bl sub_81378BC
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8137904
thumb_func_start sub_813793C
sub_813793C: @ 813793C
push {r4-r6,lr}
bl sub_8137890
lsrs r6, r0, 16
movs r5, 0
_08137946:
movs r0, 0x64
adds r1, r5, 0
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
adds r0, r4, 0
movs r1, 0xB
bl GetMonData
cmp r0, 0
beq _08137978
adds r0, r4, 0
movs r1, 0
bl GetMonData
ldr r1, =0x0000ffff
ands r1, r0
cmp r1, r6
bne _08137978
movs r0, 0x1
b _08137980
.pool
_08137978:
adds r5, 0x1
cmp r5, 0x5
ble _08137946
movs r0, 0
_08137980:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_813793C
thumb_func_start sub_8137988
sub_8137988: @ 8137988
push {lr}
bl get_map_light_from_warp0
lsls r0, 24
lsrs r0, 24
bl is_light_level_1_2_3_5_or_6
lsls r0, 24
cmp r0, 0
beq _081379CE
bl RtcCalcLocalTime
ldr r1, =gUnknown_085B2B44
ldr r0, =gLocalTime
ldrb r0, [r0, 0x2]
lsls r0, 24
asrs r0, 24
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
beq _081379C8
ldr r0, =0x0000089a
bl FlagSet
b _081379CE
.pool
_081379C8:
ldr r0, =0x0000089a
bl FlagClear
_081379CE:
pop {r0}
bx r0
.pool
thumb_func_end sub_8137988
thumb_func_start sub_81379D8
sub_81379D8: @ 81379D8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
bl sub_80AC3BC
lsls r0, 24
cmp r0, 0
beq _081379F2
bl EnableBothScriptContexts
adds r0, r4, 0
bl DestroyTask
_081379F2:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_81379D8
thumb_func_start sub_81379F8
sub_81379F8: @ 81379F8
push {lr}
ldr r0, =sub_81379D8
movs r1, 0x50
bl CreateTask
pop {r0}
bx r0
.pool
thumb_func_end sub_81379F8
thumb_func_start sub_8137A0C
sub_8137A0C: @ 8137A0C
push {lr}
ldr r0, =0x00004049
bl GetVarPointer
movs r1, 0
strh r1, [r0]
pop {r0}
bx r0
.pool
thumb_func_end sub_8137A0C
thumb_func_start sub_8137A20
sub_8137A20: @ 8137A20
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r0, =0x00004049
bl GetVarPointer
adds r5, r0, 0
ldrh r0, [r5]
adds r4, r0
strh r4, [r5]
ldrh r0, [r5]
movs r1, 0x7
bl __umodsi3
strh r0, [r5]
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8137A20
thumb_func_start sub_8137A4C
sub_8137A4C: @ 8137A4C
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
cmp r0, 0
bne _08137A70
movs r0, 0
bl sub_80C0844
ldr r1, =gSpecialVar_0x8005
strh r0, [r1]
movs r0, 0x1
bl sub_80C0844
b _08137A80
.pool
_08137A70:
movs r0, 0
bl pokedex_count
ldr r1, =gSpecialVar_0x8005
strh r0, [r1]
movs r0, 0x1
bl pokedex_count
_08137A80:
ldr r1, =gSpecialVar_0x8006
strh r0, [r1]
bl IsNationalPokedexEnabled
lsls r0, 16
lsrs r0, 16
pop {r1}
bx r1
.pool
thumb_func_end sub_8137A4C
thumb_func_start sub_8137A98
sub_8137A98: @ 8137A98
push {lr}
lsls r0, 16
lsrs r0, 16
cmp r0, 0x9
bhi _08137AA4
b _08137BFC
_08137AA4:
cmp r0, 0x13
bhi _08137AB0
ldr r0, =gUnknown_082A5DAB
b _08137C06
.pool
_08137AB0:
cmp r0, 0x1D
bhi _08137ABC
ldr r0, =gUnknown_082A5DF1
b _08137C06
.pool
_08137ABC:
cmp r0, 0x27
bhi _08137AC8
ldr r0, =gUnknown_082A5E34
b _08137C06
.pool
_08137AC8:
cmp r0, 0x31
bhi _08137AD4
ldr r0, =gUnknown_082A5E83
b _08137C06
.pool
_08137AD4:
cmp r0, 0x3B
bhi _08137AE0
ldr r0, =gUnknown_082A5EB9
b _08137C06
.pool
_08137AE0:
cmp r0, 0x45
bhi _08137AEC
ldr r0, =gUnknown_082A5EF4
b _08137C06
.pool
_08137AEC:
cmp r0, 0x4F
bhi _08137AF8
ldr r0, =gUnknown_082A5F39
b _08137C06
.pool
_08137AF8:
cmp r0, 0x59
bhi _08137B04
ldr r0, =gUnknown_082A5F82
b _08137C06
.pool
_08137B04:
cmp r0, 0x63
bhi _08137B10
ldr r0, =gUnknown_082A5FB9
b _08137C06
.pool
_08137B10:
cmp r0, 0x6D
bhi _08137B1C
ldr r0, =gUnknown_082A6018
b _08137C06
.pool
_08137B1C:
cmp r0, 0x77
bhi _08137B28
ldr r0, =gUnknown_082A6061
b _08137C06
.pool
_08137B28:
cmp r0, 0x81
bhi _08137B34
ldr r0, =gUnknown_082A609C
b _08137C06
.pool
_08137B34:
cmp r0, 0x8B
bhi _08137B40
ldr r0, =gUnknown_082A60D5
b _08137C06
.pool
_08137B40:
cmp r0, 0x95
bhi _08137B4C
ldr r0, =gUnknown_082A6124
b _08137C06
.pool
_08137B4C:
cmp r0, 0x9F
bhi _08137B58
ldr r0, =gUnknown_082A616F
b _08137C06
.pool
_08137B58:
cmp r0, 0xA9
bhi _08137B64
ldr r0, =gUnknown_082A61D6
b _08137C06
.pool
_08137B64:
cmp r0, 0xB3
bhi _08137B70
ldr r0, =gUnknown_082A623A
b _08137C06
.pool
_08137B70:
cmp r0, 0xBD
bhi _08137B7C
ldr r0, =gUnknown_082A6287
b _08137C06
.pool
_08137B7C:
cmp r0, 0xC7
bls _08137BEA
cmp r0, 0xC8
bne _08137BB8
ldr r0, =0x00000199
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
bl GetSetPokedexFlag
lsls r0, 24
cmp r0, 0
bne _08137BEA
movs r0, 0xCD
lsls r0, 1
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
bl GetSetPokedexFlag
lsls r0, 24
cmp r0, 0
bne _08137BEA
b _08137C04
.pool
_08137BB8:
cmp r0, 0xC9
bne _08137BF8
ldr r0, =0x00000199
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
bl GetSetPokedexFlag
lsls r0, 24
cmp r0, 0
beq _08137C04
movs r0, 0xCD
lsls r0, 1
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
bl GetSetPokedexFlag
lsls r0, 24
cmp r0, 0
beq _08137C04
_08137BEA:
ldr r0, =gUnknown_082A62C9
b _08137C06
.pool
_08137BF8:
cmp r0, 0xCA
beq _08137C04
_08137BFC:
ldr r0, =gUnknown_082A5D6C
b _08137C06
.pool
_08137C04:
ldr r0, =gUnknown_082A6312
_08137C06:
pop {r1}
bx r1
.pool
thumb_func_end sub_8137A98
thumb_func_start sub_8137C10
sub_8137C10: @ 8137C10
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
bl sub_8137A98
bl ShowFieldMessage
pop {r0}
bx r0
.pool
thumb_func_end sub_8137C10
thumb_func_start sub_8137C28
sub_8137C28: @ 8137C28
push {lr}
ldr r0, =CB2_DoHallOfFamePC
bl SetMainCallback2
bl ScriptContext2_Enable
pop {r0}
bx r0
.pool
thumb_func_end sub_8137C28
thumb_func_start sub_8137C3C
sub_8137C3C: @ 8137C3C
push {lr}
ldr r0, =c2_exit_to_overworld_2_switch
bl SetMainCallback2
ldr r1, =gFieldCallback
ldr r0, =mapldr_080CA5C0
str r0, [r1]
pop {r0}
bx r0
.pool
thumb_func_end sub_8137C3C
thumb_func_start mapldr_080CA5C0
mapldr_080CA5C0: @ 8137C5C
push {lr}
sub sp, 0x4
bl ScriptContext2_Enable
bl sub_8085784
bl sp109_CreatePCMenu
bl sub_80E2514
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
ldr r0, =sub_8137C94
movs r1, 0xA
bl CreateTask
add sp, 0x4
pop {r0}
bx r0
.pool
thumb_func_end mapldr_080CA5C0
thumb_func_start sub_8137C94
sub_8137C94: @ 8137C94
push {lr}
lsls r0, 24
lsrs r2, r0, 24
ldr r0, =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _08137CAC
adds r0, r2, 0
bl DestroyTask
_08137CAC:
pop {r0}
bx r0
.pool
thumb_func_end sub_8137C94
thumb_func_start sub_8137CB4
sub_8137CB4: @ 8137CB4
push {lr}
ldr r0, =CB2_ShowDiploma
bl SetMainCallback2
bl ScriptContext2_Enable
pop {r0}
bx r0
.pool
thumb_func_end sub_8137CB4
thumb_func_start Special_ViewWallClock
Special_ViewWallClock: @ 8137CC8
push {lr}
ldr r0, =gMain
ldr r1, =c2_exit_to_overworld_2_switch
str r1, [r0, 0x8]
ldr r0, =Cb2_ViewWallClock
bl SetMainCallback2
bl ScriptContext2_Enable
pop {r0}
bx r0
.pool
thumb_func_end Special_ViewWallClock
thumb_func_start wild_pokemon_reroll
wild_pokemon_reroll: @ 8137CEC
ldr r0, =gUnknown_0203AB54
movs r1, 0
strb r1, [r0]
ldr r0, =gUnknown_0203AB55
strb r1, [r0]
ldr r1, =gUnknown_0203AB58
movs r0, 0
str r0, [r1]
bx lr
.pool
thumb_func_end wild_pokemon_reroll
thumb_func_start sub_8137D0C
sub_8137D0C: @ 8137D0C
ldr r1, =gUnknown_0203AB54
movs r0, 0x1
strb r0, [r1]
ldr r1, =gUnknown_0203AB55
movs r0, 0
strb r0, [r1]
ldr r1, =gUnknown_0203AB58
ldr r0, =gMain
ldr r0, [r0, 0x20]
str r0, [r1]
bx lr
.pool
thumb_func_end sub_8137D0C
thumb_func_start sp0E3_walkrun_bitfield_interpretation
sp0E3_walkrun_bitfield_interpretation: @ 8137D34
push {lr}
movs r0, 0x4
bl TestPlayerAvatarFlags
lsls r0, 24
cmp r0, 0
beq _08137D46
movs r0, 0x1
b _08137D58
_08137D46:
movs r0, 0x2
bl TestPlayerAvatarFlags
lsls r0, 24
cmp r0, 0
bne _08137D56
movs r0, 0
b _08137D58
_08137D56:
movs r0, 0x2
_08137D58:
pop {r1}
bx r1
thumb_func_end sp0E3_walkrun_bitfield_interpretation
thumb_func_start sub_8137D5C
sub_8137D5C: @ 8137D5C
push {r4-r7,lr}
adds r7, r0, 0
lsls r1, 24
lsrs r6, r1, 24
cmp r6, 0x63
bhi _08137D88
ldr r4, =gStringVar1
adds r0, r4, 0
adds r1, r6, 0
movs r2, 0
movs r3, 0x2
bl ConvertIntToDecimalStringN
ldr r1, =gText_SpaceTimes
adds r0, r4, 0
bl StringAppend
b _08137D90
.pool
_08137D88:
ldr r0, =gStringVar1
ldr r1, =gText_99TimesPlus
bl StringCopy
_08137D90:
ldr r0, =0x00000e0f
cmp r7, r0
bhi _08137DF0
ldr r4, =gStringVar2
adds r0, r7, 0
movs r1, 0x3C
bl __udivsi3
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0x1
movs r3, 0x2
bl ConvertIntToDecimalStringN
movs r0, 0xAD
strb r0, [r4, 0x2]
adds r5, r4, 0x3
adds r0, r7, 0
movs r1, 0x3C
bl __umodsi3
movs r1, 0x64
muls r0, r1
movs r1, 0x3C
bl __udivsi3
adds r1, r0, 0
adds r0, r5, 0
movs r2, 0x2
movs r3, 0x2
bl ConvertIntToDecimalStringN
ldr r1, =gText_SpaceSeconds
adds r0, r4, 0
bl StringAppend
b _08137DF8
.pool
_08137DF0:
ldr r0, =gStringVar2
ldr r1, =gText_1MinutePlus
bl StringCopy
_08137DF8:
movs r4, 0
cmp r6, 0
bne _08137E0C
movs r4, 0x5
b _08137E2A
.pool
_08137E0C:
cmp r6, 0x3
bhi _08137E14
movs r4, 0x4
b _08137E2A
_08137E14:
cmp r6, 0x9
bhi _08137E1C
movs r4, 0x3
b _08137E2A
_08137E1C:
cmp r6, 0x13
bhi _08137E24
movs r4, 0x2
b _08137E2A
_08137E24:
cmp r6, 0x63
bhi _08137E2A
movs r4, 0x1
_08137E2A:
adds r0, r7, 0
movs r1, 0x3C
bl __udivsi3
cmp r0, 0xA
bhi _08137E3A
adds r0, r4, 0x5
b _08137E58
_08137E3A:
cmp r0, 0xF
bhi _08137E42
adds r0, r4, 0x4
b _08137E58
_08137E42:
cmp r0, 0x14
bhi _08137E4A
adds r0, r4, 0x3
b _08137E58
_08137E4A:
cmp r0, 0x28
bhi _08137E52
adds r0, r4, 0x2
b _08137E58
_08137E52:
cmp r0, 0x3B
bhi _08137E5C
adds r0, r4, 0x1
_08137E58:
lsls r0, 24
lsrs r4, r0, 24
_08137E5C:
ldr r0, =gSpecialVar_Result
strh r4, [r0]
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8137D5C
thumb_func_start sub_8137E6C
sub_8137E6C: @ 8137E6C
push {r4,r5,lr}
ldr r0, =gMain
ldr r1, =gUnknown_0203AB58
ldr r4, [r0, 0x20]
ldr r0, [r1]
subs r4, r0
ldr r5, =gUnknown_0203AB55
ldrb r1, [r5]
adds r0, r4, 0
bl sub_8137D5C
ldrb r1, [r5]
adds r0, r4, 0
bl sub_8137E9C
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8137E6C
thumb_func_start sub_8137E9C
sub_8137E9C: @ 8137E9C
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r5, r0, 0
lsls r1, 24
lsrs r1, 24
mov r8, r1
ldr r6, =0x00004028
adds r0, r6, 0
bl VarGet
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r7, =0x00004029
adds r0, r7, 0
bl VarGet
lsls r0, 16
adds r4, r0
cmp r4, r5
bhi _08137ECC
cmp r4, 0
bne _08137EE6
_08137ECC:
lsls r1, r5, 16
lsrs r1, 16
adds r0, r6, 0
bl VarSet
lsrs r1, r5, 16
adds r0, r7, 0
bl VarSet
ldr r0, =0x00004027
mov r1, r8
bl VarSet
_08137EE6:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8137E9C
thumb_func_start sub_8137EFC
sub_8137EFC: @ 8137EFC
push {r4,lr}
ldr r0, =0x00004028
bl VarGet
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r0, =0x00004029
bl VarGet
lsls r0, 16
adds r4, r0
cmp r4, 0
beq _08137F3C
ldr r0, =0x00004027
bl VarGet
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
bl sub_8137D5C
movs r0, 0x1
b _08137F3E
.pool
_08137F3C:
movs r0, 0
_08137F3E:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8137EFC
thumb_func_start sub_8137F44
sub_8137F44: @ 8137F44
push {r4,lr}
ldr r0, =gUnknown_020322DC
ldrh r1, [r0]
ldr r0, =0x00000c1d
cmp r1, r0
beq _08137F7C
ldr r4, =0x000040a9
adds r0, r4, 0
bl VarGet
lsls r0, 16
lsrs r0, 16
cmp r0, 0x2
beq _08137F6E
adds r0, r4, 0
bl VarGet
lsls r0, 16
lsrs r0, 16
cmp r0, 0x3
bne _08137F7C
_08137F6E:
adds r0, r4, 0
movs r1, 0
bl VarSet
movs r0, 0
bl Overworld_SetSavedMusic
_08137F7C:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8137F44
thumb_func_start sub_8137F90
sub_8137F90: @ 8137F90
push {lr}
ldr r0, =0x0000088d
bl FlagSet
ldr r0, =0x0000404a
bl GetVarPointer
movs r1, 0
strh r1, [r0]
pop {r0}
bx r0
.pool
thumb_func_end sub_8137F90
thumb_func_start sub_8137FB0
sub_8137FB0: @ 8137FB0
push {lr}
ldr r0, =0x0000088d
bl FlagClear
pop {r0}
bx r0
.pool
thumb_func_end sub_8137FB0
thumb_func_start CountSSTidalStep
CountSSTidalStep: @ 8137FC0
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
ldr r0, =0x0000088d
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _08137FE6
ldr r0, =0x0000404a
bl GetVarPointer
ldrh r1, [r0]
adds r1, r4, r1
strh r1, [r0]
lsls r1, 16
lsrs r1, 16
cmp r1, 0xCC
bhi _08137FF4
_08137FE6:
movs r0, 0
b _08137FF6
.pool
_08137FF4:
movs r0, 0x1
_08137FF6:
pop {r4}
pop {r1}
bx r1
thumb_func_end CountSSTidalStep
thumb_func_start GetSSTidalLocation
GetSSTidalLocation: @ 8137FFC
push {r4-r7,lr}
mov r7, r8
push {r7}
mov r8, r0
adds r5, r1, 0
adds r6, r2, 0
adds r7, r3, 0
ldr r0, =0x0000404a
bl GetVarPointer
adds r4, r0, 0
ldr r0, =0x000040b4
bl GetVarPointer
ldrh r0, [r0]
subs r0, 0x1
cmp r0, 0x9
bhi _081380C2
lsls r0, 2
ldr r1, =_08138038
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_08138038:
.4byte _08138060
.4byte _08138070
.4byte _08138064
.4byte _08138068
.4byte _08138068
.4byte _0813806C
.4byte _08138098
.4byte _08138060
.4byte _08138064
.4byte _0813806C
_08138060:
movs r0, 0x1
b _081380CE
_08138064:
movs r0, 0x4
b _081380CE
_08138068:
movs r0, 0x2
b _081380CE
_0813806C:
movs r0, 0x3
b _081380CE
_08138070:
ldrh r0, [r4]
cmp r0, 0x3B
bhi _08138080
movs r0, 0x31
strb r0, [r5]
ldrh r0, [r4]
adds r0, 0x13
b _081380C0
_08138080:
cmp r0, 0x8B
bhi _0813808E
movs r0, 0x30
strb r0, [r5]
ldrh r0, [r4]
subs r0, 0x3C
b _081380C0
_0813808E:
movs r0, 0x2F
strb r0, [r5]
ldrh r0, [r4]
subs r0, 0x8C
b _081380C0
_08138098:
ldrh r0, [r4]
cmp r0, 0x41
bhi _081380A8
movs r0, 0x2F
strb r0, [r5]
ldrh r1, [r4]
movs r0, 0x41
b _081380BE
_081380A8:
cmp r0, 0x91
bhi _081380B6
movs r0, 0x30
strb r0, [r5]
ldrh r1, [r4]
movs r0, 0x91
b _081380BE
_081380B6:
movs r0, 0x31
strb r0, [r5]
ldrh r1, [r4]
movs r0, 0xE0
_081380BE:
subs r0, r1
_081380C0:
strh r0, [r6]
_081380C2:
movs r0, 0
mov r1, r8
strb r0, [r1]
movs r0, 0x14
strh r0, [r7]
movs r0, 0
_081380CE:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end GetSSTidalLocation
thumb_func_start is_tile_that_overrides_player_control
is_tile_that_overrides_player_control: @ 81380D8
push {lr}
movs r0, 0x88
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _0813810A
ldr r0, =gMapHeader
ldrb r0, [r0, 0x17]
cmp r0, 0x1
blt _0813810A
cmp r0, 0x3
ble _081380F6
cmp r0, 0x6
bne _0813810A
_081380F6:
ldr r0, =0x000040f2
bl GetVarPointer
ldrh r1, [r0]
adds r1, 0x1
strh r1, [r0]
lsls r1, 16
lsrs r1, 16
cmp r1, 0xF9
bhi _08138118
_0813810A:
movs r0, 0
b _0813811A
.pool
_08138118:
movs r0, 0x1
_0813811A:
pop {r1}
bx r1
thumb_func_end is_tile_that_overrides_player_control
thumb_func_start sub_8138120
sub_8138120: @ 8138120
push {lr}
movs r0, 0x8A
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _08138152
ldr r0, =gMapHeader
ldrb r0, [r0, 0x17]
cmp r0, 0x1
blt _08138152
cmp r0, 0x3
ble _0813813E
cmp r0, 0x6
bne _08138152
_0813813E:
ldr r0, =0x000040f3
bl GetVarPointer
ldrh r1, [r0]
adds r1, 0x1
strh r1, [r0]
lsls r1, 16
lsrs r1, 16
cmp r1, 0x9
bhi _08138160
_08138152:
movs r0, 0
b _08138162
.pool
_08138160:
movs r0, 0x1
_08138162:
pop {r1}
bx r1
thumb_func_end sub_8138120
thumb_func_start sub_8138168
sub_8138168: @ 8138168
push {lr}
movs r0, 0x72
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _0813819A
ldr r0, =gMapHeader
ldrb r0, [r0, 0x17]
cmp r0, 0x1
blt _0813819A
cmp r0, 0x3
ble _08138186
cmp r0, 0x6
bne _0813819A
_08138186:
ldr r0, =0x000040f5
bl GetVarPointer
ldrh r1, [r0]
adds r1, 0x1
strh r1, [r0]
lsls r1, 16
lsrs r1, 16
cmp r1, 0x9
bhi _081381A8
_0813819A:
movs r0, 0
b _081381AA
.pool
_081381A8:
movs r0, 0x1
_081381AA:
pop {r1}
bx r1
thumb_func_end sub_8138168
thumb_func_start sub_81381B0
sub_81381B0: @ 81381B0
push {lr}
movs r0, 0x80
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _081381E2
ldr r0, =gMapHeader
ldrb r0, [r0, 0x17]
cmp r0, 0x1
blt _081381E2
cmp r0, 0x3
ble _081381CE
cmp r0, 0x6
bne _081381E2
_081381CE:
ldr r0, =0x000040f4
bl GetVarPointer
ldrh r1, [r0]
adds r1, 0x1
strh r1, [r0]
lsls r1, 16
lsrs r1, 16
cmp r1, 0xF9
bhi _081381F0
_081381E2:
movs r0, 0
b _081381F2
.pool
_081381F0:
movs r0, 0x1
_081381F2:
pop {r1}
bx r1
thumb_func_end sub_81381B0
thumb_func_start sub_81381F8
sub_81381F8: @ 81381F8
push {lr}
movs r0, 0x75
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _0813822A
ldr r0, =gMapHeader
ldrb r0, [r0, 0x17]
cmp r0, 0x1
blt _0813822A
cmp r0, 0x3
ble _08138216
cmp r0, 0x6
bne _0813822A
_08138216:
ldr r0, =0x000040f6
bl GetVarPointer
ldrh r1, [r0]
adds r1, 0x1
strh r1, [r0]
lsls r1, 16
lsrs r1, 16
cmp r1, 0xF9
bhi _08138238
_0813822A:
movs r0, 0
b _0813823A
.pool
_08138238:
movs r0, 0x1
_0813823A:
pop {r1}
bx r1
thumb_func_end sub_81381F8
thumb_func_start sub_8138240
sub_8138240: @ 8138240
push {r4-r7,lr}
mov r7, r8
push {r7}
movs r6, 0
bl GetMultiplayerId
lsls r0, 24
lsrs r7, r0, 24
bl GetLinkPlayerCount
lsls r0, 24
lsrs r5, r0, 24
movs r4, 0
cmp r4, r5
bcs _0813828A
ldr r0, =gTVStringVarPtrs
mov r8, r0
_08138262:
cmp r7, r4
beq _08138280
lsls r0, r6, 2
add r0, r8
ldr r0, [r0]
lsls r1, r4, 3
subs r1, r4
lsls r1, 2
ldr r2, =gLinkPlayers + 8
adds r1, r2
bl StringCopy
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
_08138280:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, r5
bcc _08138262
_0813828A:
adds r0, r5, 0
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.pool
thumb_func_end sub_8138240
thumb_func_start SpawnLinkPartnerFieldObject
SpawnLinkPartnerFieldObject: @ 81382A0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x14
movs r7, 0
movs r0, 0
mov r9, r0
mov r8, r0
ldr r1, =gUnknown_085B2B5C
add r0, sp, 0x8
movs r2, 0x4
bl memcpy
add r4, sp, 0xC
ldr r1, =gUnknown_085B2B60
adds r0, r4, 0
movs r2, 0x8
bl memcpy
bl GetMultiplayerId
lsls r0, 24
lsrs r0, 24
mov r10, r0
bl player_get_direction_lower_nybble
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
cmp r0, 0x2
beq _08138310
cmp r0, 0x2
bgt _081382F4
cmp r0, 0x1
beq _0813833C
b _08138350
.pool
_081382F4:
cmp r1, 0x3
beq _081382FE
cmp r1, 0x4
beq _08138324
b _08138350
_081382FE:
movs r7, 0x2
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
ldrh r0, [r1]
subs r0, 0x1
b _0813832C
.pool
_08138310:
movs r7, 0x1
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrh r1, [r0]
mov r9, r1
ldrh r0, [r0, 0x2]
subs r0, 0x1
b _0813834A
.pool
_08138324:
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
ldrh r0, [r1]
adds r0, 0x1
_0813832C:
lsls r0, 16
lsrs r0, 16
mov r9, r0
ldrh r1, [r1, 0x2]
mov r8, r1
b _08138350
.pool
_0813833C:
movs r7, 0x3
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrh r3, [r0]
mov r9, r3
ldrh r0, [r0, 0x2]
adds r0, 0x1
_0813834A:
lsls r0, 16
lsrs r0, 16
mov r8, r0
_08138350:
movs r6, 0
b _08138410
.pool
_08138358:
cmp r10, r6
beq _0813840A
ldr r0, =gLinkPlayers
lsls r2, r6, 3
subs r1, r2, r6
lsls r1, 2
adds r1, r0
ldrb r3, [r1]
adds r4, r0, 0
cmp r3, 0x1
blt _0813838C
cmp r3, 0x2
ble _0813837C
cmp r3, 0x3
beq _08138388
b _0813838C
.pool
_0813837C:
ldrb r0, [r1, 0x13]
movs r5, 0xEC
cmp r0, 0
bne _0813839C
movs r5, 0xEB
b _0813839C
_08138388:
ldrb r0, [r1, 0x13]
b _08138394
_0813838C:
subs r0, r2, r6
lsls r0, 2
adds r0, r4
ldrb r0, [r0, 0x13]
_08138394:
movs r5, 0x69
cmp r0, 0
bne _0813839C
movs r5, 0x64
_0813839C:
mov r0, sp
adds r0, r7
adds r0, 0x8
ldrb r1, [r0]
movs r4, 0xF0
subs r4, r6
lsls r4, 24
lsrs r4, 24
lsls r2, r7, 1
mov r0, sp
adds r0, r2
adds r0, 0xC
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
mov r3, r9
lsls r3, 16
asrs r3, 16
mov r12, r3
add r0, r12
adds r3, r0, 0x7
lsls r3, 16
asrs r3, 16
mov r12, r3
mov r0, sp
adds r0, 0xD
adds r0, r2
movs r2, 0
ldrsb r2, [r0, r2]
mov r3, r8
lsls r0, r3, 16
asrs r0, 16
adds r0, r2
adds r0, 0x7
lsls r0, 16
asrs r0, 16
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
adds r0, r5, 0
adds r2, r4, 0
mov r3, r12
bl SpawnSpecialFieldObjectParametrized
adds r0, r5, 0
adds r1, r4, 0
adds r2, r6, 0
bl sub_813842C
adds r0, r7, 0x1
lsls r0, 24
lsrs r7, r0, 24
cmp r7, 0x4
bne _0813840A
movs r7, 0
_0813840A:
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
_08138410:
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
cmp r6, r0
bcc _08138358
add sp, 0x14
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end SpawnLinkPartnerFieldObject
thumb_func_start sub_813842C
sub_813842C: @ 813842C
push {r4,r5,lr}
lsls r0, 24
lsls r1, 24
lsrs r3, r1, 24
lsls r2, 24
movs r1, 0xC0
lsls r1, 19
adds r2, r1
lsrs r5, r2, 24
lsrs r4, r0, 24
movs r2, 0xA8
lsls r2, 21
adds r0, r2
lsrs r0, 24
cmp r0, 0x1
bls _08138454
cmp r4, 0x64
beq _08138454
cmp r4, 0x69
bne _081384E6
_08138454:
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrb r1, [r0, 0x5]
ldrb r2, [r0, 0x4]
adds r0, r3, 0
bl GetFieldObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x10
beq _081384E6
ldr r1, =gMapObjects
lsls r0, r2, 3
adds r0, r2
lsls r0, 2
adds r0, r1
ldrb r0, [r0, 0x4]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
ldr r0, =gSprites
adds r1, r0
lsls r3, r5, 4
ldrb r2, [r1, 0x5]
movs r0, 0xF
ands r0, r2
orrs r0, r3
strb r0, [r1, 0x5]
cmp r4, 0x69
beq _081384D8
cmp r4, 0x69
bgt _081384A8
cmp r4, 0x64
beq _081384C4
b _081384E6
.pool
_081384A8:
cmp r4, 0xEB
beq _081384B2
cmp r4, 0xEC
beq _081384BC
b _081384E6
_081384B2:
ldr r0, =gFieldObjectPalette33
b _081384C6
.pool
_081384BC:
ldr r0, =gFieldObjectPalette34
b _081384C6
.pool
_081384C4:
ldr r0, =gFieldObjectPalette8
_081384C6:
movs r2, 0x80
lsls r2, 1
adds r1, r3, r2
movs r2, 0x20
bl LoadPalette
b _081384E6
.pool
_081384D8:
ldr r0, =gFieldObjectPalette17
movs r2, 0x80
lsls r2, 1
adds r1, r3, r2
movs r2, 0x20
bl LoadPalette
_081384E6:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813842C
thumb_func_start sub_81384F0
sub_81384F0: @ 81384F0
push {r4,r5,lr}
movs r4, 0
ldr r5, =gUnknown_085B2B68
_081384F6:
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
cmp r4, r0
bne _0813851C
lsls r1, r4, 2
adds r1, r5
ldrb r0, [r1]
ldrb r1, [r1, 0x1]
ldr r2, =0x00000206
bl MapGridSetMetatileIdAt
b _0813852A
.pool
_0813851C:
lsls r1, r4, 2
adds r1, r5
ldrb r0, [r1]
ldrb r1, [r1, 0x1]
ldr r2, =0x00000205
bl MapGridSetMetatileIdAt
_0813852A:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x3
bls _081384F6
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81384F0
thumb_func_start sub_8138540
sub_8138540: @ 8138540
push {r4-r6,lr}
movs r5, 0xC
_08138544:
movs r4, 0x7
adds r6, r5, 0x1
_08138548:
adds r0, r4, 0
adds r1, r5, 0
bl MapGridGetMetatileIdAt
ldr r1, =0xfffffde6
adds r0, r1
cmp r0, 0x37
bls _0813855A
b _08138734
_0813855A:
lsls r0, 2
ldr r1, =_0813856C
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_0813856C:
.4byte _081386F2
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _0813864C
.4byte _08138652
.4byte _0813868C
.4byte _08138694
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _0813865C
.4byte _08138662
.4byte _0813869C
.4byte _081386A4
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _0813866C
.4byte _08138672
.4byte _081386AC
.4byte _081386B4
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _0813867C
.4byte _08138684
.4byte _081386BC
.4byte _081386C4
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _081386CC
.4byte _081386DC
.4byte _081386EC
.4byte _08138714
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _081386D4
.4byte _081386E4
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _08138734
.4byte _0813872A
.4byte _0813871C
_0813864C:
movs r2, 0x8C
lsls r2, 2
b _08138720
_08138652:
ldr r2, =0x00000231
b _08138720
.pool
_0813865C:
movs r2, 0x8E
lsls r2, 2
b _08138720
_08138662:
ldr r2, =0x00000239
b _08138720
.pool
_0813866C:
movs r2, 0x88
lsls r2, 2
b _08138720
_08138672:
ldr r2, =0x00000221
b _08138720
.pool
_0813867C:
ldr r2, =0x00000e28
b _08138720
.pool
_08138684:
ldr r2, =0x00000e29
b _08138720
.pool
_0813868C:
ldr r2, =0x00000232
b _08138720
.pool
_08138694:
ldr r2, =0x00000233
b _08138720
.pool
_0813869C:
ldr r2, =0x0000023a
b _08138720
.pool
_081386A4:
ldr r2, =0x0000023b
b _08138720
.pool
_081386AC:
ldr r2, =0x00000222
b _08138720
.pool
_081386B4:
ldr r2, =0x00000223
b _08138720
.pool
_081386BC:
ldr r2, =0x00000e2a
b _08138720
.pool
_081386C4:
ldr r2, =0x00000e2b
b _08138720
.pool
_081386CC:
ldr r2, =0x00000e42
b _08138720
.pool
_081386D4:
ldr r2, =0x0000021a
b _08138720
.pool
_081386DC:
ldr r2, =0x00000e43
b _08138720
.pool
_081386E4:
ldr r2, =0x0000021a
b _08138720
.pool
_081386EC:
movs r2, 0xE4
lsls r2, 4
b _08138720
_081386F2:
subs r1, r5, 0x1
adds r0, r4, 0
bl MapGridGetMetatileIdAt
movs r1, 0x90
lsls r1, 2
cmp r0, r1
bne _0813870C
ldr r2, =0x00000e48
b _08138720
.pool
_0813870C:
ldr r2, =0x00000e49
b _08138720
.pool
_08138714:
ldr r2, =0x00000e41
b _08138720
.pool
_0813871C:
movs r2, 0xE5
lsls r2, 4
_08138720:
adds r0, r4, 0
adds r1, r5, 0
bl MapGridSetMetatileIdAt
b _08138734
_0813872A:
ldr r2, =0x00000251
adds r0, r4, 0
adds r1, r5, 0
bl MapGridSetMetatileIdAt
_08138734:
adds r4, 0x1
cmp r4, 0xF
bgt _0813873C
b _08138548
_0813873C:
adds r5, r6, 0
cmp r5, 0x17
bgt _08138744
b _08138544
_08138744:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8138540
thumb_func_start sub_8138750
sub_8138750: @ 8138750
push {r4-r6,lr}
ldr r4, =gUnknown_085B2B68
movs r5, 0x3
_08138756:
ldrb r0, [r4]
ldrb r1, [r4, 0x1]
ldr r2, =0x00000206
bl MapGridSetMetatileIdAt
adds r4, 0x4
subs r5, 0x1
cmp r5, 0
bge _08138756
movs r5, 0xC
_0813876A:
movs r4, 0x7
adds r6, r5, 0x1
_0813876E:
adds r0, r4, 0
adds r1, r5, 0
bl MapGridGetMetatileIdAt
ldr r1, =0xfffffde0
adds r0, r1
cmp r0, 0x30
bls _08138780
b _081388CA
_08138780:
lsls r0, 2
ldr r1, =_0813879C
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_0813879C:
.4byte _08138860
.4byte _08138866
.4byte _08138880
.4byte _08138888
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _08138870
.4byte _08138876
.4byte _08138890
.4byte _08138898
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388A0
.4byte _081388A8
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388B0
.4byte _081388B0
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388CA
.4byte _081388C0
_08138860:
movs r2, 0x8C
lsls r2, 2
b _081388B2
_08138866:
ldr r2, =0x00000231
b _081388B2
.pool
_08138870:
movs r2, 0x8E
lsls r2, 2
b _081388B2
_08138876:
ldr r2, =0x00000239
b _081388B2
.pool
_08138880:
ldr r2, =0x00000232
b _081388B2
.pool
_08138888:
ldr r2, =0x00000233
b _081388B2
.pool
_08138890:
ldr r2, =0x0000023a
b _081388B2
.pool
_08138898:
ldr r2, =0x0000023b
b _081388B2
.pool
_081388A0:
ldr r2, =0x00000e42
b _081388B2
.pool
_081388A8:
ldr r2, =0x00000e43
b _081388B2
.pool
_081388B0:
ldr r2, =0x0000021a
_081388B2:
adds r0, r4, 0
adds r1, r5, 0
bl MapGridSetMetatileIdAt
b _081388CA
.pool
_081388C0:
ldr r2, =0x00000251
adds r0, r4, 0
adds r1, r5, 0
bl MapGridSetMetatileIdAt
_081388CA:
adds r4, 0x1
cmp r4, 0xF
bgt _081388D2
b _0813876E
_081388D2:
adds r5, r6, 0
cmp r5, 0x17
bgt _081388DA
b _0813876A
_081388DA:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8138750
thumb_func_start sub_81388E4
sub_81388E4: @ 81388E4
push {lr}
ldr r0, =gUnknown_0203AB5C
movs r1, 0
strb r1, [r0]
ldr r0, =gUnknown_0203AB5D
strb r1, [r0]
movs r0, 0x2C
bl PlaySE
ldr r0, =sub_8138910
movs r1, 0x8
bl CreateTask
pop {r0}
bx r0
.pool
thumb_func_end sub_81388E4
thumb_func_start sub_8138910
sub_8138910: @ 8138910
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
ldr r0, =gUnknown_085B2B78
ldr r5, =gUnknown_0203AB5D
ldrb r1, [r5]
adds r0, r1, r0
ldr r4, =gUnknown_0203AB5C
ldrb r2, [r4]
ldrb r0, [r0]
cmp r0, r2
bne _0813896C
ldr r0, =gSpecialVar_0x8004
ldrb r0, [r0]
ldr r2, =gUnknown_085B2B7E
lsls r1, 1
adds r1, r2
ldrh r1, [r1]
bl sub_8138978
movs r0, 0
strb r0, [r4]
ldrb r0, [r5]
adds r0, 0x1
strb r0, [r5]
lsls r0, 24
lsrs r0, 24
cmp r0, 0x5
bne _08138970
adds r0, r6, 0
bl DestroyTask
bl EnableBothScriptContexts
b _08138970
.pool
_0813896C:
adds r0, r2, 0x1
strb r0, [r4]
_08138970:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_8138910
thumb_func_start sub_8138978
sub_8138978: @ 8138978
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x10
lsls r0, 24
lsrs r0, 24
lsls r1, 16
lsrs r2, r1, 16
movs r7, 0
subs r0, 0x1
cmp r0, 0x7
bhi _08138A40
lsls r0, 2
ldr r1, =_081389A0
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_081389A0:
.4byte _081389C0
.4byte _081389D2
.4byte _081389E4
.4byte _081389F6
.4byte _08138A04
.4byte _08138A1A
.4byte _08138A26
.4byte _08138A34
_081389C0:
movs r7, 0x2
mov r1, sp
movs r0, 0x1
strh r0, [r1]
movs r0, 0x7
strh r0, [r1, 0x2]
add r1, sp, 0x8
movs r0, 0x68
b _08138A14
_081389D2:
movs r7, 0x2
mov r1, sp
movs r0, 0x1
strh r0, [r1]
movs r0, 0x7
strh r0, [r1, 0x2]
add r1, sp, 0x8
movs r0, 0x4E
b _08138A14
_081389E4:
movs r7, 0x2
mov r1, sp
movs r0, 0x1
strh r0, [r1]
movs r0, 0x7
strh r0, [r1, 0x2]
add r1, sp, 0x8
movs r0, 0x5B
b _08138A14
_081389F6:
movs r7, 0x1
mov r1, sp
movs r0, 0x7
strh r0, [r1]
add r1, sp, 0x8
movs r0, 0x27
b _08138A3E
_08138A04:
movs r7, 0x2
mov r1, sp
movs r0, 0x1
strh r0, [r1]
movs r0, 0x7
strh r0, [r1, 0x2]
add r1, sp, 0x8
movs r0, 0x34
_08138A14:
strh r0, [r1]
strh r0, [r1, 0x2]
b _08138A40
_08138A1A:
movs r7, 0x1
mov r0, sp
strh r7, [r0]
add r1, sp, 0x8
movs r0, 0x41
b _08138A3E
_08138A26:
movs r7, 0x1
mov r1, sp
movs r0, 0x7
strh r0, [r1]
add r1, sp, 0x8
movs r0, 0xD
b _08138A3E
_08138A34:
movs r7, 0x1
mov r0, sp
strh r7, [r0]
add r1, sp, 0x8
movs r0, 0x1A
_08138A3E:
strh r0, [r1]
_08138A40:
movs r6, 0
cmp r6, r7
bcs _08138A92
movs r1, 0xC0
lsls r1, 4
adds r0, r1, 0
adds r1, r2, 0
orrs r1, r0
lsls r1, 16
mov r9, r1
adds r1, r2, 0
adds r1, 0x8
orrs r1, r0
lsls r1, 16
mov r8, r1
_08138A5E:
lsls r1, r6, 1
mov r3, sp
adds r5, r3, r1
ldrh r0, [r5]
adds r0, 0x7
add r4, sp, 0x8
adds r4, r1
ldrh r1, [r4]
adds r1, 0x7
mov r3, r9
lsrs r2, r3, 16
bl MapGridSetMetatileIdAt
ldrh r0, [r5]
adds r0, 0x7
ldrh r1, [r4]
adds r1, 0x8
mov r3, r8
lsrs r2, r3, 16
bl MapGridSetMetatileIdAt
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
cmp r6, r7
bcc _08138A5E
_08138A92:
bl DrawWholeMapView
add sp, 0x10
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8138978
thumb_func_start sub_8138AA4
sub_8138AA4: @ 8138AA4
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrb r0, [r0]
ldr r1, =gUnknown_085B2B7E
ldrh r1, [r1, 0x8]
bl sub_8138978
pop {r0}
bx r0
.pool
thumb_func_end sub_8138AA4
thumb_func_start sub_8138AC0
sub_8138AC0: @ 8138AC0
push {lr}
ldr r0, =gStringVar4
bl ShowFieldMessage
pop {r0}
bx r0
.pool
thumb_func_end sub_8138AC0
thumb_func_start sub_8138AD0
sub_8138AD0: @ 8138AD0
ldr r1, =gSpecialVar_0x8004
ldr r0, =gSaveBlock1Ptr
ldr r2, [r0]
ldrh r0, [r2]
strh r0, [r1]
ldr r1, =gSpecialVar_0x8005
ldrh r0, [r2, 0x2]
strh r0, [r1]
bx lr
.pool
thumb_func_end sub_8138AD0
thumb_func_start sub_8138AF0
sub_8138AF0: @ 8138AF0
push {lr}
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r1, [r0, 0xB]
lsls r1, 8
ldrb r0, [r0, 0xA]
orrs r0, r1
movs r1, 0xA
bl __umodsi3
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.pool
thumb_func_end sub_8138AF0
thumb_func_start sub_8138B10
sub_8138B10: @ 8138B10
push {lr}
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x8]
cmp r0, 0
bne _08138B34
ldr r0, =gStringVar1
ldr r1, =gText_BigGuy
bl StringCopy
b _08138B3C
.pool
_08138B34:
ldr r0, =gStringVar1
ldr r1, =gText_BigGirl
bl StringCopy
_08138B3C:
pop {r0}
bx r0
.pool
thumb_func_end sub_8138B10
thumb_func_start sub_8138B48
sub_8138B48: @ 8138B48
push {lr}
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x8]
cmp r0, 0
bne _08138B6C
ldr r0, =gStringVar1
ldr r1, =gText_Daughter
bl StringCopy
b _08138B74
.pool
_08138B6C:
ldr r0, =gStringVar1
ldr r1, =gText_Son
bl StringCopy
_08138B74:
pop {r0}
bx r0
.pool
thumb_func_end sub_8138B48
thumb_func_start sub_8138B80
sub_8138B80: @ 8138B80
ldr r0, =gBattleOutcome
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sub_8138B80
thumb_func_start sub_8138B8C
sub_8138B8C: @ 8138B8C
push {lr}
sub sp, 0x4
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
cmp r0, 0
beq _08138BB0
movs r2, 0x1
negs r2, r2
movs r0, 0x4
str r0, [sp]
movs r0, 0x13
movs r1, 0
movs r3, 0x6
bl Overworld_SetWarpDestination
b _08138BC2
.pool
_08138BB0:
movs r2, 0x1
negs r2, r2
movs r0, 0x4
str r0, [sp]
movs r0, 0x13
movs r1, 0x1
movs r3, 0x6
bl Overworld_SetWarpDestination
_08138BC2:
add sp, 0x4
pop {r0}
bx r0
thumb_func_end sub_8138B8C
thumb_func_start sub_8138BC8
sub_8138BC8: @ 8138BC8
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
bl FlagSet
pop {r0}
bx r0
.pool
thumb_func_end sub_8138BC8
thumb_func_start sub_8138BDC
sub_8138BDC: @ 8138BDC
push {lr}
ldr r0, =gLocalTime
movs r1, 0
ldrsh r0, [r0, r1]
movs r1, 0x7
bl __divsi3
lsls r0, 16
lsrs r0, 16
ldr r1, =0x0000270f
cmp r0, r1
bls _08138BF6
adds r0, r1, 0
_08138BF6:
pop {r1}
bx r1
.pool
thumb_func_end sub_8138BDC
thumb_func_start sub_8138C04
sub_8138C04: @ 8138C04
push {r4,lr}
bl GetLeadMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
adds r0, r4, 0
movs r1, 0x20
bl GetMonData
cmp r0, 0xFF
bne _08138C2C
movs r0, 0x6
b _08138C7E
.pool
_08138C2C:
adds r0, r4, 0
movs r1, 0x20
bl GetMonData
cmp r0, 0xC7
bls _08138C3C
movs r0, 0x5
b _08138C7E
_08138C3C:
adds r0, r4, 0
movs r1, 0x20
bl GetMonData
cmp r0, 0x95
bls _08138C4C
movs r0, 0x4
b _08138C7E
_08138C4C:
adds r0, r4, 0
movs r1, 0x20
bl GetMonData
cmp r0, 0x63
bls _08138C5C
movs r0, 0x3
b _08138C7E
_08138C5C:
adds r0, r4, 0
movs r1, 0x20
bl GetMonData
cmp r0, 0x31
bls _08138C6C
movs r0, 0x2
b _08138C7E
_08138C6C:
adds r0, r4, 0
movs r1, 0x20
bl GetMonData
cmp r0, 0
bne _08138C7C
movs r0, 0
b _08138C7E
_08138C7C:
movs r0, 0x1
_08138C7E:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8138C04
thumb_func_start sub_8138C84
sub_8138C84: @ 8138C84
push {lr}
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
bl sub_817018C
pop {r0}
bx r0
.pool
thumb_func_end sub_8138C84
thumb_func_start sub_8138C94
sub_8138C94: @ 8138C94
push {lr}
ldr r0, =sub_8138C84
bl SetMainCallback2
pop {r0}
bx r0
.pool
thumb_func_end sub_8138C94
thumb_func_start sp0D9_ComputerRelated
sp0D9_ComputerRelated: @ 8138CA4
push {r4,lr}
ldr r4, =sub_8138CE8
adds r0, r4, 0
bl FuncIsActiveTask
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08138CD8
adds r0, r4, 0
movs r1, 0x8
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 r2, 0
strh r2, [r1, 0x8]
strh r0, [r1, 0xA]
strh r2, [r1, 0xC]
strh r2, [r1, 0xE]
strh r2, [r1, 0x10]
_08138CD8:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sp0D9_ComputerRelated
thumb_func_start sub_8138CE8
sub_8138CE8: @ 8138CE8
push {lr}
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, =gTasks
adds r1, r0
movs r2, 0x8
ldrsh r0, [r1, r2]
cmp r0, 0
bne _08138D06
adds r0, r1, 0
bl sub_8138D10
_08138D06:
pop {r0}
bx r0
.pool
thumb_func_end sub_8138CE8
thumb_func_start sub_8138D10
sub_8138D10: @ 8138D10
push {r4-r6,lr}
adds r4, r0, 0
movs r6, 0
movs r5, 0
movs r1, 0xE
ldrsh r0, [r4, r1]
cmp r0, 0x6
bne _08138D7C
strh r5, [r4, 0xE]
bl player_get_direction_lower_nybble
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
cmp r0, 0x3
beq _08138D44
cmp r0, 0x3
bgt _08138D3A
cmp r0, 0x2
beq _08138D40
b _08138D4C
_08138D3A:
cmp r1, 0x4
beq _08138D48
b _08138D4C
_08138D40:
movs r6, 0
b _08138D4A
_08138D44:
movs r6, 0xFF
b _08138D4A
_08138D48:
movs r6, 0x1
_08138D4A:
movs r5, 0xFF
_08138D4C:
movs r1, 0x10
ldrsh r0, [r4, r1]
lsls r1, r6, 24
asrs r1, 24
lsls r2, r5, 24
asrs r2, 24
bl sub_8138D88
bl DrawWholeMapView
ldrh r0, [r4, 0x10]
movs r1, 0x1
eors r0, r1
strh r0, [r4, 0x10]
ldrh r0, [r4, 0xC]
adds r0, 0x1
strh r0, [r4, 0xC]
lsls r0, 16
asrs r0, 16
cmp r0, 0x5
bne _08138D7C
ldrb r0, [r4, 0xA]
bl DestroyTask
_08138D7C:
ldrh r0, [r4, 0xE]
adds r0, 0x1
strh r0, [r4, 0xE]
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_8138D10
thumb_func_start sub_8138D88
sub_8138D88: @ 8138D88
push {r4,r5,lr}
lsls r1, 24
lsrs r1, 24
lsls r2, 24
lsrs r4, r2, 24
movs r3, 0
lsls r0, 16
cmp r0, 0
beq _08138DC4
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
cmp r0, 0
bne _08138DAC
movs r3, 0x4
b _08138DE6
.pool
_08138DAC:
cmp r0, 0x1
bne _08138DB8
ldr r3, =0x0000025a
b _08138DE6
.pool
_08138DB8:
cmp r0, 0x2
bne _08138DE6
ldr r3, =0x00000259
b _08138DE6
.pool
_08138DC4:
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
cmp r0, 0
bne _08138DD4
movs r3, 0x5
b _08138DE6
.pool
_08138DD4:
cmp r0, 0x1
bne _08138DE0
ldr r3, =0x0000027f
b _08138DE6
.pool
_08138DE0:
cmp r0, 0x2
bne _08138DE6
ldr r3, =0x0000027e
_08138DE6:
ldr r0, =gSaveBlock1Ptr
ldr r2, [r0]
movs r5, 0
ldrsh r0, [r2, r5]
lsls r1, 24
asrs r1, 24
adds r0, r1
adds r0, 0x7
movs r5, 0x2
ldrsh r1, [r2, r5]
lsls r2, r4, 24
asrs r2, 24
adds r1, r2
adds r1, 0x7
movs r4, 0xC0
lsls r4, 4
adds r2, r4, 0
orrs r3, r2
adds r2, r3, 0
bl MapGridSetMetatileIdAt
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8138D88
thumb_func_start sub_8138E20
sub_8138E20: @ 8138E20
push {lr}
bl sub_8138E2C
pop {r0}
bx r0
thumb_func_end sub_8138E20
thumb_func_start sub_8138E2C
sub_8138E2C: @ 8138E2C
push {r4-r6,lr}
movs r6, 0
movs r5, 0
movs r4, 0
bl player_get_direction_lower_nybble
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
cmp r0, 0x3
beq _08138E56
cmp r0, 0x3
bgt _08138E4C
cmp r0, 0x2
beq _08138E52
b _08138E5E
_08138E4C:
cmp r1, 0x4
beq _08138E5A
b _08138E5E
_08138E52:
movs r6, 0
b _08138E5C
_08138E56:
movs r6, 0xFF
b _08138E5C
_08138E5A:
movs r6, 0x1
_08138E5C:
movs r5, 0xFF
_08138E5E:
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
cmp r0, 0
bne _08138E70
movs r4, 0x4
b _08138E82
.pool
_08138E70:
cmp r0, 0x1
bne _08138E7C
ldr r4, =0x0000025a
b _08138E82
.pool
_08138E7C:
cmp r0, 0x2
bne _08138E82
ldr r4, =0x00000259
_08138E82:
ldr r0, =gSaveBlock1Ptr
ldr r2, [r0]
movs r1, 0
ldrsh r0, [r2, r1]
lsls r1, r6, 24
asrs r1, 24
adds r0, r1
adds r0, 0x7
movs r3, 0x2
ldrsh r1, [r2, r3]
lsls r2, r5, 24
asrs r2, 24
adds r1, r2
adds r1, 0x7
movs r3, 0xC0
lsls r3, 4
adds r2, r3, 0
orrs r4, r2
adds r2, r4, 0
bl MapGridSetMetatileIdAt
bl DrawWholeMapView
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8138E2C
thumb_func_start sub_8138EC0
sub_8138EC0: @ 8138EC0
push {r4,lr}
ldr r4, =sub_8138F04
adds r0, r4, 0
bl FuncIsActiveTask
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08138EF4
adds r0, r4, 0
movs r1, 0x8
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 r2, 0
strh r2, [r1, 0x8]
strh r0, [r1, 0xA]
strh r2, [r1, 0xC]
strh r2, [r1, 0xE]
strh r2, [r1, 0x10]
_08138EF4:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8138EC0
thumb_func_start sub_8138F04
sub_8138F04: @ 8138F04
push {lr}
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, =gTasks
adds r1, r0
movs r2, 0x8
ldrsh r0, [r1, r2]
cmp r0, 0
bne _08138F22
adds r0, r1, 0
bl sub_8138F2C
_08138F22:
pop {r0}
bx r0
.pool
thumb_func_end sub_8138F04
thumb_func_start sub_8138F2C
sub_8138F2C: @ 8138F2C
push {r4,lr}
adds r4, r0, 0
movs r1, 0xE
ldrsh r0, [r4, r1]
cmp r0, 0x6
bne _08138F9A
movs r0, 0
strh r0, [r4, 0xE]
movs r1, 0x10
ldrsh r0, [r4, r1]
cmp r0, 0
beq _08138F64
ldr r2, =0x00000e9d
movs r0, 0x12
movs r1, 0x8
bl MapGridSetMetatileIdAt
ldr r2, =0x00000ea5
movs r0, 0x12
movs r1, 0x9
bl MapGridSetMetatileIdAt
b _08138F7A
.pool
_08138F64:
ldr r2, =0x00000e58
movs r0, 0x12
movs r1, 0x8
bl MapGridSetMetatileIdAt
movs r2, 0xE6
lsls r2, 4
movs r0, 0x12
movs r1, 0x9
bl MapGridSetMetatileIdAt
_08138F7A:
bl DrawWholeMapView
ldrh r0, [r4, 0x10]
movs r1, 0x1
eors r0, r1
strh r0, [r4, 0x10]
ldrh r0, [r4, 0xC]
adds r0, 0x1
strh r0, [r4, 0xC]
lsls r0, 16
asrs r0, 16
cmp r0, 0x5
bne _08138F9A
ldrb r0, [r4, 0xA]
bl DestroyTask
_08138F9A:
ldrh r0, [r4, 0xE]
adds r0, 0x1
strh r0, [r4, 0xE]
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8138F2C
thumb_func_start sub_8138FAC
sub_8138FAC: @ 8138FAC
push {lr}
ldr r2, =0x00000e9d
movs r0, 0x12
movs r1, 0x8
bl MapGridSetMetatileIdAt
ldr r2, =0x00000ea5
movs r0, 0x12
movs r1, 0x9
bl MapGridSetMetatileIdAt
bl DrawWholeMapView
pop {r0}
bx r0
.pool
thumb_func_end sub_8138FAC
thumb_func_start sub_8138FD4
sub_8138FD4: @ 8138FD4
push {lr}
ldr r1, =gSpecialVar_0x8004
ldr r0, =0x000001f5
strh r0, [r1]
bl FlagSet
pop {r0}
bx r0
.pool
thumb_func_end sub_8138FD4
thumb_func_start sub_8138FEC
sub_8138FEC: @ 8138FEC
push {lr}
ldr r1, =gSpecialVar_0x8004
ldr r0, =0x000001f5
strh r0, [r1]
bl FlagClear
pop {r0}
bx r0
.pool
thumb_func_end sub_8138FEC
thumb_func_start sub_8139004
sub_8139004: @ 8139004
push {lr}
bl GetLeadMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
movs r1, 0x16
bl GetMonData
cmp r0, 0xC7
bls _08139028
movs r0, 0x1
b _0813902A
.pool
_08139028:
movs r0, 0
_0813902A:
pop {r1}
bx r1
thumb_func_end sub_8139004
thumb_func_start sub_8139030
sub_8139030: @ 8139030
push {lr}
bl GetLeadMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
movs r1, 0x17
bl GetMonData
cmp r0, 0xC7
bls _08139054
movs r0, 0x1
b _08139056
.pool
_08139054:
movs r0, 0
_08139056:
pop {r1}
bx r1
thumb_func_end sub_8139030
thumb_func_start sub_813905C
sub_813905C: @ 813905C
push {lr}
bl GetLeadMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
movs r1, 0x18
bl GetMonData
cmp r0, 0xC7
bls _08139080
movs r0, 0x1
b _08139082
.pool
_08139080:
movs r0, 0
_08139082:
pop {r1}
bx r1
thumb_func_end sub_813905C
thumb_func_start sub_8139088
sub_8139088: @ 8139088
push {lr}
bl GetLeadMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
movs r1, 0x21
bl GetMonData
cmp r0, 0xC7
bls _081390AC
movs r0, 0x1
b _081390AE
.pool
_081390AC:
movs r0, 0
_081390AE:
pop {r1}
bx r1
thumb_func_end sub_8139088
thumb_func_start sub_81390B4
sub_81390B4: @ 81390B4
push {lr}
bl GetLeadMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
movs r1, 0x2F
bl GetMonData
cmp r0, 0xC7
bls _081390D8
movs r0, 0x1
b _081390DA
.pool
_081390D8:
movs r0, 0
_081390DA:
pop {r1}
bx r1
thumb_func_end sub_81390B4
thumb_func_start sub_81390E0
sub_81390E0: @ 81390E0
push {r4-r6,lr}
movs r5, 0
ldr r6, =gBaseStats
_081390E6:
movs r0, 0x64
adds r1, r5, 0
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
adds r0, r4, 0
movs r1, 0x5
bl GetMonData
cmp r0, 0
beq _0813913C
adds r0, r4, 0
movs r1, 0x2D
bl GetMonData
cmp r0, 0
bne _0813913C
adds r0, r4, 0
movs r1, 0xB
bl GetMonData
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 3
subs r1, r0
lsls r1, 2
adds r1, r6
ldrb r0, [r1, 0x6]
cmp r0, 0xC
beq _08139128
ldrb r0, [r1, 0x7]
cmp r0, 0xC
bne _0813913C
_08139128:
ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _0813914A
.pool
_0813913C:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x5
bls _081390E6
ldr r1, =gSpecialVar_Result
movs r0, 0
_0813914A:
strh r0, [r1]
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_81390E0
thumb_func_start SpawnScriptFieldObject
SpawnScriptFieldObject: @ 8139158
push {lr}
sub sp, 0x8
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrh r3, [r0]
adds r3, 0x7
lsls r3, 16
asrs r3, 16
ldrh r0, [r0, 0x2]
adds r0, 0x7
lsls r0, 16
asrs r0, 16
str r0, [sp]
movs r0, 0x3
str r0, [sp, 0x4]
movs r0, 0x7
movs r1, 0x8
movs r2, 0x7F
bl SpawnSpecialFieldObjectParametrized
lsls r0, 24
lsrs r0, 24
ldr r2, =gMapObjects
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
adds r1, r2
ldrb r0, [r1, 0x1]
movs r2, 0x20
orrs r0, r2
strb r0, [r1, 0x1]
ldrb r0, [r1, 0x4]
bl CameraObjectSetFollowedObjectId
add sp, 0x8
pop {r0}
bx r0
.pool
thumb_func_end SpawnScriptFieldObject
thumb_func_start RemoveScriptFieldObject
RemoveScriptFieldObject: @ 81391AC
push {lr}
bl GetPlayerAvatarObjectId
lsls r0, 24
lsrs r0, 24
bl CameraObjectSetFollowedObjectId
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrb r1, [r0, 0x5]
ldrb r2, [r0, 0x4]
movs r0, 0x7F
bl RemoveFieldObjectByLocalIdAndMap
pop {r0}
bx r0
.pool
thumb_func_end RemoveScriptFieldObject
thumb_func_start sub_81391D0
sub_81391D0: @ 81391D0
push {lr}
bl GetLeadMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
bl GetNature
lsls r0, 24
lsrs r0, 24
ldr r1, =gStringVar1
bl sub_8137068
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.pool
thumb_func_end sub_81391D0
thumb_func_start sub_8139200
sub_8139200: @ 8139200
push {r4,lr}
ldr r4, =gStringVar1
ldr r0, =0x00004026
bl VarGet
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
movs r2, 0
bl GetMapName
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8139200
thumb_func_start sub_8139228
sub_8139228: @ 8139228
push {lr}
movs r0, 0x20
bl GetGameStat
lsls r0, 16
lsrs r0, 16
pop {r1}
bx r1
thumb_func_end sub_8139228
thumb_func_start sub_8139238
sub_8139238: @ 8139238
push {lr}
ldr r0, =gStringVar1
bl GetEreaderTrainerName
pop {r0}
bx r0
.pool
thumb_func_end sub_8139238
thumb_func_start sub_8139248
sub_8139248: @ 8139248
push {r4,r5,lr}
ldr r0, =gSaveBlock1Ptr
ldr r2, [r0]
ldr r1, =0x00002e68
adds r0, r2, r1
ldrb r1, [r0]
lsls r1, 25
ldr r0, =0x00002e6a
adds r2, r0
lsrs r1, 25
ldrh r2, [r2]
adds r1, r2
ldr r2, =gUnknown_085B2B88
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
adds r0, r2
ldrb r0, [r0]
adds r5, r1, r0
movs r0, 0x2
bl GetPriceReduction
lsls r0, 24
cmp r0, 0
bne _08139294
ldr r4, =gUnknown_085B2B94
b _08139296
.pool
_08139294:
ldr r4, =gUnknown_085B2BA0
_08139296:
adds r0, r5, 0
movs r1, 0xC
bl __umodsi3
adds r0, r4
ldrb r0, [r0]
pop {r4,r5}
pop {r1}
bx r1
.pool
thumb_func_end sub_8139248
thumb_func_start sub_81392AC
sub_81392AC: @ 81392AC
push {lr}
ldr r1, =gSpecialVar_0x8004
ldr r0, =0x00000213
strh r0, [r1]
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _081392CC
movs r0, 0x1
b _081392CE
.pool
_081392CC:
movs r0, 0
_081392CE:
pop {r1}
bx r1
thumb_func_end sub_81392AC
thumb_func_start sub_81392D4
sub_81392D4: @ 81392D4
push {lr}
ldr r1, =gSpecialVar_0x8004
movs r0, 0x85
lsls r0, 2
strh r0, [r1]
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _081392F0
movs r0, 0x1
b _081392F2
.pool
_081392F0:
movs r0, 0
_081392F2:
pop {r1}
bx r1
thumb_func_end sub_81392D4
thumb_func_start sub_81392F8
sub_81392F8: @ 81392F8
push {lr}
ldr r1, =gSpecialVar_0x8004
ldr r0, =0x00000215
strh r0, [r1]
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _08139318
movs r0, 0x1
b _0813931A
.pool
_08139318:
movs r0, 0
_0813931A:
pop {r1}
bx r1
thumb_func_end sub_81392F8
thumb_func_start sub_8139320
sub_8139320: @ 8139320
push {lr}
ldr r1, =gSpecialVar_0x8004
ldr r0, =0x00000216
strh r0, [r1]
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _08139340
movs r0, 0x1
b _08139342
.pool
_08139340:
movs r0, 0
_08139342:
pop {r1}
bx r1
thumb_func_end sub_8139320
thumb_func_start sub_8139348
sub_8139348: @ 8139348
push {lr}
bl GetLeadMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
movs r1, 0x47
movs r2, 0
bl GetMonData
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.pool
thumb_func_end sub_8139348
thumb_func_start sub_8139370
sub_8139370: @ 8139370
push {r4,lr}
sub sp, 0x4
movs r0, 0x2A
bl IncrementGameStat
ldr r0, =0x0000089b
bl FlagSet
movs r1, 0x1
mov r0, sp
strb r1, [r0]
bl GetLeadMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
adds r0, r4, 0
movs r1, 0x47
mov r2, sp
bl SetMonData
adds r0, r4, 0
bl GetRibbonCount
lsls r0, 24
lsrs r0, 24
cmp r0, 0x4
bls _081393B6
adds r0, r4, 0
movs r1, 0x47
bl sub_80EE4DC
_081393B6:
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8139370
thumb_func_start sub_81393C8
sub_81393C8: @ 81393C8
push {lr}
bl GetLeadMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
bl GetMonEVCount
lsls r0, 16
ldr r1, =0x01fd0000
cmp r0, r1
bhi _081393F4
movs r0, 0
b _081393F6
.pool
_081393F4:
movs r0, 0x1
_081393F6:
pop {r1}
bx r1
thumb_func_end sub_81393C8
thumb_func_start sub_81393FC
sub_81393FC: @ 81393FC
push {lr}
movs r0, 0xC7
bl FlagGet
lsls r0, 24
cmp r0, 0
bne _08139454
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrh r1, [r0, 0x4]
movs r0, 0x83
lsls r0, 3
cmp r1, r0
bne _08139454
subs r0, 0x75
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _08139434
ldr r0, =0x0000409a
movs r1, 0x4
b _08139446
.pool
_08139434:
movs r0, 0xE9
lsls r0, 2
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _08139454
ldr r0, =0x0000409a
movs r1, 0x5
_08139446:
bl VarSet
movs r0, 0x1
b _08139456
.pool
_08139454:
movs r0, 0
_08139456:
pop {r1}
bx r1
thumb_func_end sub_81393FC
thumb_func_start sub_813945C
sub_813945C: @ 813945C
push {lr}
ldr r0, =0x000008bf
bl FlagSet
pop {r0}
bx r0
.pool
thumb_func_end sub_813945C
thumb_func_start sub_813946C
sub_813946C: @ 813946C
push {r4,r5,lr}
sub sp, 0x14
ldr r5, =gPlayerParty
movs r1, 0x90
lsls r1, 1
movs r4, 0
str r4, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
adds r0, r5, 0
movs r2, 0x7
movs r3, 0x20
bl CreateMon
movs r1, 0x1
add r0, sp, 0x10
strh r1, [r0]
adds r0, r5, 0
movs r1, 0x2E
add r2, sp, 0x10
bl SetMonData
add r1, sp, 0x10
movs r0, 0x21
strh r0, [r1]
adds r0, r5, 0
movs r1, 0xD
add r2, sp, 0x10
bl SetMonData
add r0, sp, 0x10
strh r4, [r0]
adds r0, r5, 0
movs r1, 0xE
add r2, sp, 0x10
bl SetMonData
adds r0, r5, 0
movs r1, 0xF
add r2, sp, 0x10
bl SetMonData
adds r0, r5, 0
movs r1, 0x10
add r2, sp, 0x10
bl SetMonData
add sp, 0x14
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813946C
thumb_func_start sub_81394D8
sub_81394D8: @ 81394D8
push {r4-r6,lr}
ldr r0, =0x00004023
bl VarGet
lsls r0, 16
lsrs r0, 16
bl GetStarterPokemon
lsls r0, 16
lsrs r6, r0, 16
bl CalculatePlayerPartyCount
lsls r0, 24
lsrs r5, r0, 24
movs r4, 0
cmp r4, r5
bcs _08139526
_081394FA:
movs r0, 0x64
muls r0, r4
ldr r1, =gPlayerParty
adds r0, r1
movs r1, 0x41
movs r2, 0
bl GetMonData
cmp r0, r6
bne _0813951C
movs r0, 0x1
b _08139528
.pool
_0813951C:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, r5
bcc _081394FA
_08139526:
movs r0, 0
_08139528:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_81394D8
thumb_func_start sub_8139530
sub_8139530: @ 8139530
push {lr}
bl sub_80D2218
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
thumb_func_end sub_8139530
thumb_func_start sub_8139540
sub_8139540: @ 8139540
push {lr}
ldr r0, =gPlayerParty
movs r1, 0x3F
bl CheckPartyPokerus
lsls r0, 24
cmp r0, 0
beq _08139558
movs r0, 0x1
b _0813955A
.pool
_08139558:
movs r0, 0
_0813955A:
pop {r1}
bx r1
thumb_func_end sub_8139540
thumb_func_start sub_8139560
sub_8139560: @ 8139560
push {lr}
ldr r0, =sub_81395BC
movs r1, 0x9
bl CreateTask
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r0, =gSpecialVar_0x8005
ldrh r0, [r0]
movs r2, 0
strh r0, [r1, 0x8]
strh r2, [r1, 0xA]
ldr r0, =gSpecialVar_0x8006
ldrh r0, [r0]
strh r0, [r1, 0xC]
ldr r0, =gSpecialVar_0x8007
ldrh r0, [r0]
strh r0, [r1, 0xE]
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
strh r0, [r1, 0x10]
movs r0, 0
bl SetCameraPanningCallback
movs r0, 0xD6
bl PlaySE
pop {r0}
bx r0
.pool
thumb_func_end sub_8139560
thumb_func_start sub_81395BC
sub_81395BC: @ 81395BC
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
ldrh r0, [r4, 0x2]
adds r0, 0x1
strh r0, [r4, 0x2]
movs r1, 0x2
ldrsh r0, [r4, r1]
movs r2, 0x6
ldrsh r1, [r4, r2]
bl __modsi3
cmp r0, 0
bne _08139614
strh r0, [r4, 0x2]
ldrh r0, [r4, 0x4]
subs r0, 0x1
strh r0, [r4, 0x4]
ldrh r0, [r4]
negs r0, r0
strh r0, [r4]
ldrh r0, [r4, 0x8]
negs r0, r0
strh r0, [r4, 0x8]
movs r1, 0
ldrsh r0, [r4, r1]
movs r2, 0x8
ldrsh r1, [r4, r2]
bl SetCameraPanning
movs r1, 0x4
ldrsh r0, [r4, r1]
cmp r0, 0
bne _08139614
adds r0, r5, 0
bl sub_8139620
bl InstallCameraPanAheadCallback
_08139614:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81395BC
thumb_func_start sub_8139620
sub_8139620: @ 8139620
push {lr}
lsls r0, 24
lsrs r0, 24
bl DestroyTask
bl EnableBothScriptContexts
pop {r0}
bx r0
thumb_func_end sub_8139620
thumb_func_start sub_8139634
sub_8139634: @ 8139634
push {lr}
movs r0, 0x95
lsls r0, 2
bl FlagGet
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
thumb_func_end sub_8139634
thumb_func_start sub_8139648
sub_8139648: @ 8139648
push {lr}
bl get_map_light_from_warp0
lsls r0, 24
lsrs r0, 24
bl is_light_level_1_2_3_5_or_6
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08139664
movs r0, 0x14
bl SetSav1Weather
_08139664:
pop {r0}
bx r0
thumb_func_end sub_8139648
thumb_func_start sub_8139668
sub_8139668: @ 8139668
push {lr}
bl get_map_light_from_warp0
lsls r0, 24
lsrs r0, 24
bl is_light_level_1_2_3_5_or_6
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08139684
movs r0, 0x15
bl SetSav1Weather
_08139684:
pop {r0}
bx r0
thumb_func_end sub_8139668
thumb_func_start GetLeadMonIndex
GetLeadMonIndex: @ 8139688
push {r4-r6,lr}
bl CalculatePlayerPartyCount
lsls r0, 24
lsrs r6, r0, 24
movs r5, 0
cmp r5, r6
bcs _081396D6
_08139698:
movs r0, 0x64
adds r1, r5, 0
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
adds r0, r4, 0
movs r1, 0x41
movs r2, 0
bl GetMonData
movs r1, 0xCE
lsls r1, 1
cmp r0, r1
beq _081396CC
adds r0, r4, 0
movs r1, 0x41
movs r2, 0
bl GetMonData
cmp r0, 0
beq _081396CC
adds r0, r5, 0
b _081396D8
.pool
_081396CC:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, r6
bcc _08139698
_081396D6:
movs r0, 0
_081396D8:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end GetLeadMonIndex
thumb_func_start sub_81396E0
sub_81396E0: @ 81396E0
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
movs r1, 0x41
movs r2, 0
bl GetMonData
lsls r0, 16
lsrs r0, 16
pop {r1}
bx r1
.pool
thumb_func_end sub_81396E0
thumb_func_start nullsub_54
nullsub_54: @ 8139708
bx lr
thumb_func_end nullsub_54
thumb_func_start sub_813970C
sub_813970C: @ 813970C
push {r4,lr}
ldr r0, =0x000040c2
bl VarGet
lsls r0, 16
lsrs r0, 16
adds r3, r0, 0
ldr r2, =gLocalTime
movs r1, 0
ldrsh r0, [r2, r1]
subs r0, r3
cmp r0, 0x6
ble _08139734
movs r0, 0
b _0813974C
.pool
_08139734:
ldrh r1, [r2]
movs r4, 0
ldrsh r0, [r2, r4]
cmp r0, 0
blt _0813974A
subs r1, r3
movs r0, 0x7
subs r0, r1
lsls r0, 16
lsrs r0, 16
b _0813974C
_0813974A:
movs r0, 0x8
_0813974C:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_813970C
thumb_func_start sub_8139754
sub_8139754: @ 8139754
push {r4,lr}
ldr r0, =0x000040c2
ldr r4, =gLocalTime
ldrh r1, [r4]
bl VarSet
ldrh r0, [r4]
pop {r4}
pop {r1}
bx r1
.pool
thumb_func_end sub_8139754
thumb_func_start sub_8139770
sub_8139770: @ 8139770
push {r4-r6,lr}
ldr r6, =gSpecialVar_0x8004
ldrh r0, [r6]
movs r5, 0x64
muls r0, r5
ldr r4, =gPlayerParty
adds r0, r4
movs r1, 0x3
bl GetMonData
cmp r0, 0x2
bne _081397A6
ldrh r0, [r6]
muls r0, r5
adds r0, r4
ldr r4, =gStringVar1
movs r1, 0x7
adds r2, r4, 0
bl GetMonData
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
adds r1, r4, 0
bl StringCompare
cmp r0, 0
beq _081397BC
_081397A6:
movs r0, 0x1
b _081397BE
.pool
_081397BC:
movs r0, 0
_081397BE:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8139770
thumb_func_start sub_81397C4
sub_81397C4: @ 81397C4
push {r4,r5,lr}
ldr r2, =gSpecialVar_Result
ldrh r1, [r2]
ldr r0, =0x0000270f
cmp r1, r0
bls _081397E0
movs r0, 0
bl TV_PrintIntToStringVar
b _08139862
.pool
_081397E0:
ldr r0, =0x000003e7
cmp r1, r0
bls _081397F8
ldr r4, =gStringVar1
movs r0, 0xA1
strb r0, [r4]
adds r4, 0x1
b _0813981C
.pool
_081397F8:
cmp r1, 0x63
bls _0813980C
ldr r4, =gStringVar1
movs r0, 0xA1
strb r0, [r4]
strb r0, [r4, 0x1]
adds r4, 0x2
b _0813981C
.pool
_0813980C:
cmp r1, 0x9
bls _0813983C
ldr r4, =gStringVar1
movs r0, 0xA1
strb r0, [r4]
strb r0, [r4, 0x1]
strb r0, [r4, 0x2]
adds r4, 0x3
_0813981C:
ldrh r5, [r2]
adds r0, r5, 0
bl sub_80EF370
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
adds r0, r4, 0
adds r1, r5, 0
movs r2, 0
bl ConvertIntToDecimalStringN
b _08139862
.pool
_0813983C:
ldr r4, =gStringVar1
movs r0, 0xA1
strb r0, [r4]
strb r0, [r4, 0x1]
strb r0, [r4, 0x2]
strb r0, [r4, 0x3]
adds r4, 0x4
ldrh r5, [r2]
adds r0, r5, 0
bl sub_80EF370
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
adds r0, r4, 0
adds r1, r5, 0
movs r2, 0
bl ConvertIntToDecimalStringN
_08139862:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81397C4
thumb_func_start sub_813986C
sub_813986C: @ 813986C
push {lr}
ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x4
bhi _081398B8
lsls r0, 2
ldr r1, =_08139888
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_08139888:
.4byte _0813989C
.4byte _081398A0
.4byte _081398A4
.4byte _081398A8
.4byte _081398AC
_0813989C:
movs r0, 0x3
b _081398AE
_081398A0:
movs r0, 0x4
b _081398AE
_081398A4:
movs r0, 0
b _081398AE
_081398A8:
movs r0, 0x1
b _081398AE
_081398AC:
movs r0, 0x2
_081398AE:
bl mevent_081445C0
lsls r0, 16
lsrs r0, 16
b _081398BA
_081398B8:
movs r0, 0
_081398BA:
pop {r1}
bx r1
thumb_func_end sub_813986C
thumb_func_start sub_81398C0
sub_81398C0: @ 81398C0
push {r4,lr}
ldr r1, =gSpecialVar_0x8004
ldr r2, =0xfffffedf
adds r0, r2, 0
ldrh r2, [r1]
adds r0, r2
lsls r0, 16
lsrs r0, 16
cmp r0, 0x39
bls _081398E0
movs r0, 0
b _081398FC
.pool
_081398E0:
ldr r4, =gStringVar2
ldrh r0, [r1]
bl ItemIdToBattleMoveId
lsls r0, 16
lsrs r0, 16
movs r1, 0xD
muls r1, r0
ldr r0, =gMoveNames
adds r1, r0
adds r0, r4, 0
bl StringCopy
movs r0, 0x1
_081398FC:
pop {r4}
pop {r1}
bx r1
.pool
thumb_func_end sub_81398C0
thumb_func_start sub_813990C
sub_813990C: @ 813990C
push {r4,r5,lr}
bl CalculatePlayerPartyCount
lsls r0, 24
lsrs r5, r0, 24
movs r4, 0
cmp r4, r5
bcs _08139942
_0813991C:
movs r0, 0x64
muls r0, r4
ldr r1, =gPlayerParty
adds r0, r1
movs r1, 0x4
bl GetMonData
cmp r0, 0x1
bne _08139938
movs r0, 0x1
b _08139944
.pool
_08139938:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, r5
bcc _0813991C
_08139942:
movs r0, 0
_08139944:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_813990C
thumb_func_start InMultiBattleRoom
InMultiBattleRoom: @ 813994C
push {lr}
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrh r1, [r0, 0x4]
ldr r0, =0x00000f1a
cmp r1, r0
bne _08139978
ldr r0, =0x000040ce
bl VarGet
lsls r0, 16
lsrs r0, 16
cmp r0, 0x2
bne _08139978
movs r0, 0x1
b _0813997A
.pool
_08139978:
movs r0, 0
_0813997A:
pop {r1}
bx r1
thumb_func_end InMultiBattleRoom
thumb_func_start sub_8139980
sub_8139980: @ 8139980
push {lr}
movs r0, 0
bl SetCameraPanningCallback
movs r0, 0x8
movs r1, 0
bl SetCameraPanning
pop {r0}
bx r0
thumb_func_end sub_8139980
thumb_func_start sub_8139994
sub_8139994: @ 8139994
push {lr}
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x15]
subs r0, 0x10
lsls r0, 24
asrs r0, 24
cmp r0, 0x5
bhi _081399E4
lsls r0, 2
ldr r1, =_081399B8
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_081399B8:
.4byte _081399E4
.4byte _081399D0
.4byte _081399D4
.4byte _081399D8
.4byte _081399DC
.4byte _081399E0
_081399D0:
movs r1, 0x5
b _081399E6
_081399D4:
movs r1, 0x6
b _081399E6
_081399D8:
movs r1, 0x7
b _081399E6
_081399DC:
movs r1, 0x8
b _081399E6
_081399E0:
movs r1, 0xF
b _081399E6
_081399E4:
movs r1, 0x4
_081399E6:
ldr r0, =0x00004043
bl VarSet
pop {r0}
bx r0
.pool
thumb_func_end sub_8139994
thumb_func_start sub_81399F4
sub_81399F4: @ 81399F4
push {r4,lr}
ldr r2, =gUnknown_0203AB60
movs r0, 0
strh r0, [r2]
ldr r1, =gUnknown_0203AB62
strh r0, [r1]
ldr r0, =gSaveBlock1Ptr
ldr r3, [r0]
movs r0, 0x14
ldrsb r0, [r3, r0]
adds r4, r1, 0
cmp r0, 0xD
bne _08139A6E
ldrb r0, [r3, 0x15]
subs r0, 0x10
lsls r0, 24
asrs r0, 24
cmp r0, 0x4
bhi _08139A6E
lsls r0, 2
ldr r1, =_08139A34
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_08139A34:
.4byte _08139A66
.4byte _08139A5E
.4byte _08139A56
.4byte _08139A4E
.4byte _08139A48
_08139A48:
movs r0, 0
strh r0, [r2]
b _08139A6C
_08139A4E:
movs r0, 0
strh r0, [r2]
movs r0, 0x1
b _08139A6C
_08139A56:
movs r0, 0
strh r0, [r2]
movs r0, 0x2
b _08139A6C
_08139A5E:
movs r0, 0
strh r0, [r2]
movs r0, 0x3
b _08139A6C
_08139A66:
movs r0, 0
strh r0, [r2]
movs r0, 0x4
_08139A6C:
strh r0, [r4]
_08139A6E:
ldrh r0, [r4]
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81399F4
thumb_func_start sub_8139A78
sub_8139A78: @ 8139A78
push {r4-r6,lr}
ldr r0, =sub_8139AF4
movs r1, 0x9
bl CreateTask
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, =gTasks + 0x8
adds r4, r1, r0
movs r3, 0
strh r3, [r4, 0x2]
strh r3, [r4, 0x4]
movs r6, 0x1
strh r6, [r4, 0x8]
ldr r0, =gSpecialVar_0x8005
ldr r1, =gSpecialVar_0x8006
ldrh r2, [r0]
ldrh r0, [r1]
cmp r2, r0
bls _08139AC0
subs r0, r2, r0
lsls r0, 16
lsrs r5, r0, 16
strh r6, [r4, 0xC]
b _08139AC8
.pool
_08139AC0:
subs r0, r2
lsls r0, 16
lsrs r5, r0, 16
strh r3, [r4, 0xC]
_08139AC8:
cmp r5, 0x8
bls _08139ACE
movs r5, 0x8
_08139ACE:
ldr r0, =gUnknown_085B2C18
adds r0, r5, r0
ldrb r0, [r0]
strh r0, [r4, 0xA]
movs r0, 0
bl SetCameraPanningCallback
ldrb r1, [r4, 0xC]
adds r0, r5, 0
bl sub_8139C2C
movs r0, 0x59
bl PlaySE
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8139A78
thumb_func_start sub_8139AF4
sub_8139AF4: @ 8139AF4
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
ldrh r0, [r4, 0x2]
adds r0, 0x1
strh r0, [r4, 0x2]
movs r1, 0x2
ldrsh r0, [r4, r1]
movs r1, 0x3
bl __modsi3
lsls r0, 16
asrs r0, 16
cmp r0, 0
bne _08139B54
strh r0, [r4, 0x2]
ldrh r0, [r4, 0x4]
adds r0, 0x1
strh r0, [r4, 0x4]
ldrh r0, [r4, 0x8]
negs r0, r0
strh r0, [r4, 0x8]
movs r2, 0x8
ldrsh r1, [r4, r2]
movs r0, 0
bl SetCameraPanning
movs r0, 0x4
ldrsh r1, [r4, r0]
movs r2, 0xA
ldrsh r0, [r4, r2]
cmp r1, r0
bne _08139B54
movs r0, 0x49
bl PlaySE
adds r0, r5, 0
bl DestroyTask
bl EnableBothScriptContexts
bl InstallCameraPanAheadCallback
_08139B54:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8139AF4
thumb_func_start sub_8139B60
sub_8139B60: @ 8139B60
push {r4-r6,lr}
mov r6, r9
mov r5, r8
push {r5,r6}
sub sp, 0xC
ldr r5, =gUnknown_0203AB5E
ldr r0, =gUnknown_085B2BAC
bl AddWindow
strb r0, [r5]
ldrb r0, [r5]
movs r1, 0
bl SetStandardWindowBorderStyle
ldr r4, =gText_ElevatorNowOn
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x40
bl GetStringCenterAlignXOffset
adds r3, r0, 0
ldrb r0, [r5]
lsls r3, 24
lsrs r3, 24
movs r1, 0x1
str r1, [sp]
movs r1, 0xFF
mov r9, r1
str r1, [sp, 0x4]
movs r1, 0
mov r8, r1
str r1, [sp, 0x8]
movs r1, 0x1
adds r2, r4, 0
bl PrintTextOnWindow
ldr r6, =gUnknown_085B2BB4
ldr r4, =gSpecialVar_0x8005
ldrh r0, [r4]
lsls r0, 2
adds r0, r6
ldr r1, [r0]
movs r0, 0x1
movs r2, 0x40
bl GetStringCenterAlignXOffset
adds r3, r0, 0
ldrb r0, [r5]
ldrh r1, [r4]
lsls r1, 2
adds r1, r6
ldr r2, [r1]
lsls r3, 24
lsrs r3, 24
movs r1, 0x11
str r1, [sp]
mov r1, r9
str r1, [sp, 0x4]
mov r1, r8
str r1, [sp, 0x8]
movs r1, 0x1
bl PrintTextOnWindow
ldrb r0, [r5]
bl PutWindowTilemap
ldrb r0, [r5]
movs r1, 0x3
bl CopyWindowToVram
add sp, 0xC
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8139B60
thumb_func_start sub_8139C10
sub_8139C10: @ 8139C10
push {r4,lr}
ldr r4, =gUnknown_0203AB5E
ldrb r0, [r4]
movs r1, 0x1
bl sub_8198070
ldrb r0, [r4]
bl RemoveWindow
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8139C10
thumb_func_start sub_8139C2C
sub_8139C2C: @ 8139C2C
push {r4-r6,lr}
lsls r0, 16
lsrs r6, r0, 16
lsls r1, 24
lsrs r5, r1, 24
ldr r4, =sub_8139C80
adds r0, r4, 0
bl FuncIsActiveTask
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08139C6C
adds r0, r4, 0
movs r1, 0x8
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, 0
strh r0, [r1, 0x8]
strh r0, [r1, 0xA]
strh r5, [r1, 0xC]
ldr r0, =gUnknown_085B2C21
adds r0, r6, r0
ldrb r0, [r0]
strh r0, [r1, 0xE]
_08139C6C:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8139C2C
thumb_func_start sub_8139C80
sub_8139C80: @ 8139C80
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
lsls r0, 24
lsrs r0, 24
str r0, [sp]
lsls r0, 2
ldr r1, [sp]
adds r0, r1
lsls r0, 3
ldr r1, =gTasks + 0x8
adds r6, r0, r1
movs r2, 0x2
ldrsh r0, [r6, r2]
cmp r0, 0x6
bne _08139D7C
ldrh r0, [r6]
adds r0, 0x1
strh r0, [r6]
movs r1, 0x4
ldrsh r0, [r6, r1]
cmp r0, 0
bne _08139D10
movs r1, 0
ldr r2, =gUnknown_085B2BF4
mov r10, r2
_08139CBA:
movs r5, 0
adds r7, r1, 0x7
lsls r0, r1, 1
adds r2, r1, 0x1
mov r8, r2
adds r0, r1
lsls r0, 1
mov r9, r0
_08139CCA:
adds r4, r5, 0
adds r4, 0x8
movs r1, 0
ldrsh r0, [r6, r1]
movs r1, 0x3
bl __modsi3
lsls r0, 16
asrs r0, 15
add r0, r9
add r0, r10
ldrh r0, [r0]
movs r1, 0xC0
lsls r1, 4
adds r2, r1, 0
orrs r2, r0
adds r0, r4, 0
adds r1, r7, 0
bl MapGridSetMetatileIdAt
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x2
bls _08139CCA
mov r2, r8
lsls r0, r2, 24
lsrs r1, r0, 24
cmp r1, 0x2
bls _08139CBA
b _08139D62
.pool
_08139D10:
movs r1, 0
ldr r0, =gUnknown_085B2C06
mov r10, r0
_08139D16:
movs r5, 0
adds r7, r1, 0x7
lsls r0, r1, 1
adds r2, r1, 0x1
mov r8, r2
adds r0, r1
lsls r0, 1
mov r9, r0
_08139D26:
adds r4, r5, 0
adds r4, 0x8
movs r1, 0
ldrsh r0, [r6, r1]
movs r1, 0x3
bl __modsi3
lsls r0, 16
asrs r0, 15
add r0, r9
add r0, r10
ldrh r0, [r0]
movs r1, 0xC0
lsls r1, 4
adds r2, r1, 0
orrs r2, r0
adds r0, r4, 0
adds r1, r7, 0
bl MapGridSetMetatileIdAt
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x2
bls _08139D26
mov r2, r8
lsls r0, r2, 24
lsrs r1, r0, 24
cmp r1, 0x2
bls _08139D16
_08139D62:
bl DrawWholeMapView
movs r0, 0
strh r0, [r6, 0x2]
movs r0, 0
ldrsh r1, [r6, r0]
movs r2, 0x6
ldrsh r0, [r6, r2]
cmp r1, r0
bne _08139D7C
ldr r0, [sp]
bl DestroyTask
_08139D7C:
ldrh r0, [r6, 0x2]
adds r0, 0x1
strh r0, [r6, 0x2]
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8139C80
thumb_func_start sub_8139D98
sub_8139D98: @ 8139D98
push {r4-r7,lr}
sub sp, 0x18
ldr r6, =gSpecialVar_0x8004
ldrh r0, [r6]
movs r5, 0x64
muls r0, r5
ldr r4, =gPlayerParty
adds r0, r4
movs r1, 0x27
bl GetMonData
str r0, [sp]
ldrh r0, [r6]
muls r0, r5
adds r0, r4
movs r1, 0x28
bl GetMonData
str r0, [sp, 0x4]
ldrh r0, [r6]
muls r0, r5
adds r0, r4
movs r1, 0x29
bl GetMonData
str r0, [sp, 0x8]
ldrh r0, [r6]
muls r0, r5
adds r0, r4
movs r1, 0x2A
bl GetMonData
str r0, [sp, 0xC]
ldrh r0, [r6]
muls r0, r5
adds r0, r4
movs r1, 0x2B
bl GetMonData
str r0, [sp, 0x10]
ldrh r0, [r6]
muls r0, r5
adds r0, r4
movs r1, 0x2C
bl GetMonData
str r0, [sp, 0x14]
ldr r1, =gSpecialVar_0x8005
movs r0, 0
strh r0, [r1]
movs r4, 0
adds r2, r1, 0
_08139E00:
lsls r0, r4, 2
add r0, sp
ldr r1, [r0]
ldrh r0, [r2]
adds r0, r1
strh r0, [r2]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x5
bls _08139E00
ldr r2, =gSpecialVar_0x8006
movs r0, 0
strh r0, [r2]
ldr r1, =gSpecialVar_0x8007
ldr r0, [sp]
strh r0, [r1]
movs r4, 0x1
adds r6, r2, 0
adds r7, r1, 0
_08139E28:
ldrh r0, [r6]
lsls r0, 2
mov r2, sp
adds r1, r2, r0
lsls r0, r4, 2
adds r5, r2, r0
ldr r1, [r1]
ldr r0, [r5]
cmp r1, r0
bcs _08139E54
strh r4, [r6]
b _08139E6C
.pool
_08139E54:
cmp r1, r0
bne _08139E6E
bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
ands r0, r1
cmp r0, 0
beq _08139E6E
strh r4, [r6]
ldr r0, [r5]
_08139E6C:
strh r0, [r7]
_08139E6E:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x5
bls _08139E28
add sp, 0x18
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8139D98
thumb_func_start warp0_in_pokecenter
warp0_in_pokecenter: @ 8139E80
push {r4,lr}
ldr r0, =gUnknown_020322DC
movs r1, 0
ldrsb r1, [r0, r1]
lsls r1, 8
ldrb r0, [r0, 0x1]
lsls r0, 24
asrs r0, 24
adds r0, r1
lsls r0, 16
lsrs r3, r0, 16
ldr r2, =gUnknown_085B2C2A
ldrh r0, [r2]
ldr r1, =0x0000ffff
cmp r0, r1
beq _08139EC6
adds r4, r1, 0
adds r1, r2, 0
_08139EA4:
ldrh r0, [r2]
cmp r0, r3
bne _08139EBC
movs r0, 0x1
b _08139EC8
.pool
_08139EBC:
adds r1, 0x2
adds r2, 0x2
ldrh r0, [r1]
cmp r0, r4
bne _08139EA4
_08139EC6:
movs r0, 0
_08139EC8:
pop {r4}
pop {r1}
bx r1
thumb_func_end warp0_in_pokecenter
thumb_func_start sub_8139ED0
sub_8139ED0: @ 8139ED0
push {lr}
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrh r1, [r0, 0x4]
ldr r0, =0x00003c1a
cmp r1, r0
beq _08139EEC
movs r0, 0x1
b _08139EEE
.pool
_08139EEC:
movs r0, 0
_08139EEE:
pop {r1}
bx r1
thumb_func_end sub_8139ED0
thumb_func_start sub_8139EF4
sub_8139EF4: @ 8139EF4
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r0, =0x0000402f
bl GetVarPointer
adds r5, r0, 0
ldrh r0, [r5]
adds r4, r0
strh r4, [r5]
ldrh r0, [r5]
movs r1, 0xA
bl __umodsi3
strh r0, [r5]
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8139EF4
thumb_func_start sub_8139F20
sub_8139F20: @ 8139F20
push {r4-r7,lr}
movs r4, 0
ldr r0, =0x0000402f
bl VarGet
lsls r0, 16
lsrs r6, r0, 16
cmp r6, 0x9
bls _08139F34
b _0813A03A
_08139F34:
lsls r0, r6, 2
ldr r1, =_08139F48
adds r1, r0, r1
ldr r1, [r1]
adds r2, r0, 0
mov pc, r1
.pool
.align 2, 0
_08139F48:
.4byte _08139F70
.4byte _08139F70
.4byte _08139F70
.4byte _08139F70
.4byte _08139F94
.4byte _08139FB4
.4byte _08139FCC
.4byte _08139FE4
.4byte _08139FFC
.4byte _0813A014
_08139F70:
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
movs r3, 0xCE
lsls r3, 4
adds r1, r0, r3
adds r3, r1, r2
ldr r1, =0x00000ce2
adds r0, r1
adds r1, r0, r2
ldrh r0, [r3]
ldrh r2, [r1]
cmp r0, r2
bcs _0813A028
b _0813A038
.pool
_08139F94:
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d0c
adds r2, r0, r3
adds r3, 0x2
_08139F9E:
adds r1, r0, r3
ldrh r0, [r2]
ldrh r3, [r1]
cmp r0, r3
bcs _0813A028
b _0813A038
.pool
_08139FB4:
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0x00000de2
adds r2, r0, r1
ldr r3, =0x00000de4
b _08139F9E
.pool
_08139FCC:
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0x00000dc8
adds r2, r0, r1
ldr r3, =0x00000dca
b _08139F9E
.pool
_08139FE4:
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0x00000dda
adds r2, r0, r1
ldr r3, =0x00000ddc
b _08139F9E
.pool
_08139FFC:
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0x00000e04
adds r2, r0, r1
ldr r3, =0x00000e06
b _08139F9E
.pool
_0813A014:
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0x00000e1a
adds r2, r0, r1
ldr r3, =0x00000e1c
adds r1, r0, r3
ldrh r0, [r2]
ldrh r3, [r1]
cmp r0, r3
bcc _0813A038
_0813A028:
adds r4, r0, 0
b _0813A03A
.pool
_0813A038:
ldrh r4, [r1]
_0813A03A:
movs r2, 0
ldr r5, =gUnknown_085B2CC8
lsls r0, r6, 1
adds r1, r0, r5
ldrb r1, [r1]
adds r3, r0, 0
ldr r7, =gUnknown_085B2C50
cmp r1, r4
bcs _0813A062
adds r1, r3, 0
_0813A04E:
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x1
bhi _0813A062
adds r0, r2, r1
adds r0, r5
ldrb r0, [r0]
cmp r0, r4
bcc _0813A04E
_0813A062:
adds r0, r3, r6
adds r0, r2
lsls r0, 2
adds r0, r7
ldr r0, [r0]
bl ShowFieldMessage
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8139F20
thumb_func_start sub_813A080
sub_813A080: @ 813A080
push {r4-r7,lr}
ldr r0, =0x000040ce
bl VarGet
lsls r0, 16
lsrs r5, r0, 16
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0x00000ca9
adds r0, r1
ldrb r0, [r0]
lsls r0, 30
lsrs r4, r0, 30
cmp r5, 0x2
bne _0813A0D8
movs r0, 0xA9
lsls r0, 1
bl FlagGet
lsls r0, 24
cmp r0, 0
bne _0813A0D8
ldr r1, =gSpecialVar_0x8005
movs r0, 0x5
strh r0, [r1]
ldr r1, =gSpecialVar_0x8006
movs r0, 0x4
strh r0, [r1]
b _0813A110
.pool
_0813A0D0:
movs r0, 0x4
strh r0, [r6]
adds r0, r3, 0x5
b _0813A10E
_0813A0D8:
movs r3, 0
ldr r6, =gSpecialVar_0x8005
ldr r7, =gSpecialVar_0x8006
lsls r1, r4, 1
lsls r2, r5, 2
ldr r4, =gUnknown_085B2CDC
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
adds r1, r2
movs r2, 0xCE
lsls r2, 4
adds r0, r2
adds r0, r1
ldrh r1, [r0]
_0813A0F4:
lsls r0, r3, 1
adds r0, r4
ldrh r0, [r0]
cmp r0, r1
bhi _0813A0D0
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0x8
bls _0813A0F4
movs r0, 0x4
strh r0, [r6]
movs r0, 0xC
_0813A10E:
strh r0, [r7]
_0813A110:
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A080
thumb_func_start sub_813A128
sub_813A128: @ 813A128
push {r4,lr}
ldr r0, =sub_813A2DC
movs r1, 0x8
bl CreateTask
lsls r0, 24
lsrs r4, r0, 24
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
ldr r1, =gTasks
adds r3, r0, r1
ldr r1, =gSpecialVar_0x8004
ldrh r0, [r1]
strh r0, [r3, 0x1E]
ldrh r0, [r1]
cmp r0, 0xC
bls _0813A14E
b _0813A2C6
_0813A14E:
lsls r0, 2
ldr r1, =_0813A168
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_0813A168:
.4byte _0813A19C
.4byte _0813A1AA
.4byte _0813A1C2
.4byte _0813A1D6
.4byte _0813A1F0
.4byte _0813A208
.4byte _0813A222
.4byte _0813A23C
.4byte _0813A25A
.4byte _0813A274
.4byte _0813A274
.4byte _0813A28E
.4byte _0813A2A8
_0813A19C:
movs r1, 0
movs r0, 0x1
strh r0, [r3, 0x8]
strh r0, [r3, 0xA]
strh r0, [r3, 0xC]
strh r0, [r3, 0xE]
b _0813A2BC
_0813A1AA:
movs r1, 0
movs r0, 0x5
strh r0, [r3, 0x8]
movs r0, 0x8
strh r0, [r3, 0xA]
movs r0, 0x1
strh r0, [r3, 0xC]
strh r0, [r3, 0xE]
movs r0, 0x9
strh r0, [r3, 0x10]
movs r0, 0xA
b _0813A2BE
_0813A1C2:
movs r2, 0
movs r0, 0x6
strh r0, [r3, 0x8]
movs r1, 0xC
strh r1, [r3, 0xA]
movs r0, 0x1
strh r0, [r3, 0xC]
strh r0, [r3, 0xE]
movs r0, 0x7
b _0813A250
_0813A1D6:
movs r1, 0
movs r0, 0x6
strh r0, [r3, 0x8]
movs r0, 0xB
strh r0, [r3, 0xA]
movs r0, 0xE
strh r0, [r3, 0xC]
movs r0, 0x1
strh r0, [r3, 0xE]
movs r0, 0xF
strh r0, [r3, 0x10]
movs r0, 0xC
b _0813A2BE
_0813A1F0:
movs r1, 0
movs r0, 0x6
strh r0, [r3, 0x8]
strh r0, [r3, 0xA]
movs r0, 0xE
strh r0, [r3, 0xC]
movs r0, 0x1
strh r0, [r3, 0xE]
movs r0, 0xF
strh r0, [r3, 0x10]
movs r0, 0xC
b _0813A2BE
_0813A208:
movs r1, 0
movs r0, 0x6
strh r0, [r3, 0x8]
movs r0, 0x7
strh r0, [r3, 0xA]
movs r0, 0xE
strh r0, [r3, 0xC]
movs r0, 0x1
strh r0, [r3, 0xE]
movs r0, 0xF
strh r0, [r3, 0x10]
movs r0, 0xC
b _0813A2BE
_0813A222:
movs r1, 0
movs r0, 0x6
strh r0, [r3, 0x8]
movs r0, 0xA
strh r0, [r3, 0xA]
movs r0, 0xE
strh r0, [r3, 0xC]
movs r0, 0x1
strh r0, [r3, 0xE]
movs r0, 0xF
strh r0, [r3, 0x10]
movs r0, 0xC
b _0813A2BE
_0813A23C:
movs r2, 0
movs r0, 0x6
strh r0, [r3, 0x8]
movs r1, 0xC
strh r1, [r3, 0xA]
movs r0, 0xF
strh r0, [r3, 0xC]
movs r0, 0x1
strh r0, [r3, 0xE]
movs r0, 0xE
_0813A250:
strh r0, [r3, 0x10]
strh r1, [r3, 0x12]
strh r2, [r3, 0x14]
strh r4, [r3, 0x26]
b _0813A2D2
_0813A25A:
movs r1, 0
movs r0, 0x6
strh r0, [r3, 0x8]
movs r0, 0xA
strh r0, [r3, 0xA]
movs r0, 0x11
strh r0, [r3, 0xC]
movs r0, 0x1
strh r0, [r3, 0xE]
movs r0, 0xB
strh r0, [r3, 0x10]
movs r0, 0xC
b _0813A2BE
_0813A274:
movs r1, 0
movs r0, 0x6
strh r0, [r3, 0x8]
movs r0, 0xB
strh r0, [r3, 0xA]
movs r0, 0xF
strh r0, [r3, 0xC]
movs r0, 0x1
strh r0, [r3, 0xE]
movs r0, 0xE
strh r0, [r3, 0x10]
movs r0, 0xC
b _0813A2BE
_0813A28E:
movs r1, 0
movs r0, 0x6
strh r0, [r3, 0x8]
movs r0, 0x7
strh r0, [r3, 0xA]
movs r0, 0x13
strh r0, [r3, 0xC]
movs r0, 0x1
strh r0, [r3, 0xE]
movs r0, 0xA
strh r0, [r3, 0x10]
movs r0, 0xC
b _0813A2BE
_0813A2A8:
movs r1, 0
movs r0, 0x6
strh r0, [r3, 0x8]
movs r0, 0x7
strh r0, [r3, 0xA]
movs r0, 0x11
strh r0, [r3, 0xC]
movs r0, 0x1
strh r0, [r3, 0xE]
movs r0, 0xC
_0813A2BC:
strh r0, [r3, 0x10]
_0813A2BE:
strh r0, [r3, 0x12]
strh r1, [r3, 0x14]
strh r4, [r3, 0x26]
b _0813A2D2
_0813A2C6:
ldr r1, =gSpecialVar_Result
movs r0, 0x7F
strh r0, [r1]
adds r0, r4, 0
bl DestroyTask
_0813A2D2:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A128
thumb_func_start sub_813A2DC
sub_813A2DC: @ 813A2DC
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x20
lsls r0, 24
lsrs r7, r0, 24
lsls r0, r7, 2
adds r0, r7
lsls r0, 3
ldr r1, =gTasks
adds r6, r0, r1
bl ScriptContext2_Enable
ldr r0, =gUnknown_0203AB68
movs r5, 0
strh r5, [r0]
ldr r1, =gUnknown_0203AB6C
movs r0, 0x40
strb r0, [r1]
ldrh r0, [r6, 0x1E]
movs r1, 0
bl sub_813AA60
ldrb r0, [r6, 0x1E]
movs r1, 0
bl sub_813ACE8
ldr r4, =gUnknown_0203AB64
movs r1, 0xA
ldrsh r0, [r6, r1]
lsls r0, 3
bl AllocZeroed
str r0, [r4]
ldr r0, =gUnknown_0203AB6A
strh r5, [r0]
bl sub_813A42C
movs r3, 0
movs r4, 0
movs r2, 0xA
ldrsh r0, [r6, r2]
add r1, sp, 0x18
mov r8, r1
cmp r3, r0
bge _0813A36A
ldr r5, =gUnknown_085B2CF0
_0813A33A:
lsls r1, r4, 2
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
lsls r0, 6
adds r1, r0
adds r1, r5
ldr r0, [r1]
ldr r1, =gUnknown_0203AB64
ldr r2, [r1]
lsls r1, r4, 3
adds r1, r2
str r0, [r1]
str r4, [r1, 0x4]
adds r1, r3, 0
bl display_text_and_get_width
adds r3, r0, 0
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
movs r2, 0xA
ldrsh r0, [r6, r2]
cmp r4, r0
blt _0813A33A
_0813A36A:
adds r0, r3, 0
bl convert_pixel_width_to_tile_width
strh r0, [r6, 0x10]
movs r1, 0xC
ldrsh r0, [r6, r1]
movs r2, 0x10
ldrsh r1, [r6, r2]
adds r0, r1
cmp r0, 0x1D
ble _0813A38C
movs r0, 0x1D
subs r0, r1
cmp r0, 0
bge _0813A38A
movs r0, 0
_0813A38A:
strh r0, [r6, 0xC]
_0813A38C:
ldrb r2, [r6, 0xC]
ldrb r3, [r6, 0xE]
ldrb r0, [r6, 0x10]
str r0, [sp]
ldrb r0, [r6, 0x12]
str r0, [sp, 0x4]
movs r0, 0xF
str r0, [sp, 0x8]
movs r0, 0x64
str r0, [sp, 0xC]
add r0, sp, 0x10
movs r1, 0
bl sub_8198A50
ldr r0, [sp, 0x10]
ldr r1, [sp, 0x14]
str r0, [sp, 0x18]
str r1, [sp, 0x1C]
mov r0, r8
bl AddWindow
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x22]
movs r1, 0
bl SetStandardWindowBorderStyle
ldr r4, =gUnknown_030061D0
ldrh r0, [r6, 0xA]
strh r0, [r4, 0xC]
ldrh r0, [r6, 0x8]
strh r0, [r4, 0xE]
ldrh r0, [r6, 0x22]
strb r0, [r4, 0x10]
adds r0, r7, 0
bl sub_813A694
ldrh r1, [r6, 0x16]
ldrh r2, [r6, 0x18]
adds r0, r4, 0
bl ListMenuInit
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x24]
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
ldr r1, =gTasks
lsls r0, r7, 2
adds r0, r7
lsls r0, 3
adds r0, r1
ldr r1, =sub_813A4EC
str r1, [r0]
add sp, 0x20
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A2DC
thumb_func_start sub_813A42C
sub_813A42C: @ 813A42C
ldr r1, =gUnknown_030061D0
ldr r0, =gUnknown_0203AB64
ldr r0, [r0]
str r0, [r1]
ldr r0, =sub_813A46C
str r0, [r1, 0x4]
movs r0, 0
str r0, [r1, 0x8]
movs r2, 0
movs r0, 0x1
strh r0, [r1, 0xC]
strh r0, [r1, 0xE]
strb r2, [r1, 0x10]
strb r2, [r1, 0x11]
movs r0, 0x8
strb r0, [r1, 0x12]
strb r2, [r1, 0x13]
movs r0, 0x21
strb r0, [r1, 0x14]
movs r0, 0x31
strb r0, [r1, 0x15]
movs r0, 0
strb r0, [r1, 0x16]
movs r0, 0x1
strb r0, [r1, 0x17]
bx lr
.pool
thumb_func_end sub_813A42C
thumb_func_start sub_813A46C
sub_813A46C: @ 813A46C
push {r4,r5,lr}
sub sp, 0x4
movs r0, 0x5
bl PlaySE
ldr r0, =sub_813A4EC
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
cmp r0, 0xFF
beq _0813A4D4
lsls r4, r0, 2
adds r4, r0
lsls r4, 3
ldr r0, =gTasks
adds r4, r0
ldrh r0, [r4, 0x24]
lsls r0, 24
lsrs r0, 24
mov r1, sp
movs r2, 0
bl get_coro_args_x18_x1A
ldr r1, =gUnknown_0203AB68
mov r0, sp
ldrh r0, [r0]
strh r0, [r1]
ldrh r0, [r4, 0x24]
lsls r0, 24
lsrs r0, 24
mov r1, sp
bl sub_81AE838
ldrh r0, [r4, 0x1E]
ldr r5, =gUnknown_0203AB6A
ldrh r1, [r5]
bl sub_813AC44
ldrh r0, [r4, 0x1E]
mov r1, sp
ldrh r1, [r1]
bl sub_813AA60
ldrb r0, [r4, 0x1E]
mov r1, sp
ldrh r1, [r1]
bl sub_813AD34
mov r0, sp
ldrh r0, [r0]
strh r0, [r5]
_0813A4D4:
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A46C
thumb_func_start sub_813A4EC
sub_813A4EC: @ 813A4EC
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
ldr r1, =gTasks
adds r6, r0, r1
ldrh r0, [r6, 0x24]
lsls r0, 24
lsrs r0, 24
bl ListMenuHandleInput
adds r4, r0, 0
movs r0, 0x2
negs r0, r0
cmp r4, r0
beq _0813A51C
adds r0, 0x1
cmp r4, r0
bne _0813A530
b _0813A566
.pool
_0813A51C:
ldr r1, =gSpecialVar_Result
movs r0, 0x7F
strh r0, [r1]
movs r0, 0x5
bl PlaySE
b _0813A54C
.pool
_0813A530:
ldr r0, =gSpecialVar_Result
strh r4, [r0]
movs r0, 0x5
bl PlaySE
movs r1, 0x14
ldrsh r0, [r6, r1]
cmp r0, 0
beq _0813A54C
movs r1, 0xA
ldrsh r0, [r6, r1]
subs r0, 0x1
cmp r4, r0
bne _0813A558
_0813A54C:
adds r0, r5, 0
bl sub_813A570
b _0813A566
.pool
_0813A558:
adds r0, r5, 0
bl sub_813A738
ldr r0, =sub_813A600
str r0, [r6]
bl EnableBothScriptContexts
_0813A566:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A4EC
thumb_func_start sub_813A570
sub_813A570: @ 813A570
push {r4,r5,lr}
sub sp, 0x4
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
lsls r4, r5, 2
adds r4, r5
lsls r4, 3
ldr r0, =gTasks
adds r4, r0
ldrh r0, [r4, 0x24]
lsls r0, 24
lsrs r0, 24
mov r1, sp
bl sub_81AE838
ldrh r0, [r4, 0x1E]
mov r1, sp
ldrh r1, [r1]
bl sub_813AC44
adds r0, r5, 0
bl sub_813A738
ldrh r0, [r4, 0x24]
lsls r0, 24
lsrs r0, 24
movs r1, 0
movs r2, 0
bl sub_81AE6C8
ldr r0, =gUnknown_0203AB64
ldr r0, [r0]
bl Free
ldrh r0, [r4, 0x22]
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
bl sub_8198070
ldrh r0, [r4, 0x22]
lsls r0, 24
lsrs r0, 24
movs r1, 0
bl FillWindowPixelBuffer
ldrh r0, [r4, 0x22]
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl CopyWindowToVram
ldrh r0, [r4, 0x22]
lsls r0, 24
lsrs r0, 24
bl RemoveWindow
adds r0, r5, 0
bl DestroyTask
bl EnableBothScriptContexts
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A570
thumb_func_start sub_813A600
sub_813A600: @ 813A600
push {lr}
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
movs r2, 0x14
ldrsh r0, [r1, r2]
cmp r0, 0x1
beq _0813A624
cmp r0, 0x2
bne _0813A624
movs r0, 0x1
strh r0, [r1, 0x14]
ldr r0, =sub_813A664
str r0, [r1]
_0813A624:
pop {r0}
bx r0
.pool
thumb_func_end sub_813A600
thumb_func_start sub_813A630
sub_813A630: @ 813A630
push {lr}
ldr r0, =sub_813A600
bl FindTaskIdByFunc
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0xFF
bne _0813A64C
bl EnableBothScriptContexts
b _0813A65C
.pool
_0813A64C:
ldr r0, =gTasks
lsls r1, r2, 2
adds r1, r2
lsls r1, 3
adds r1, r0
ldrh r0, [r1, 0x14]
adds r0, 0x1
strh r0, [r1, 0x14]
_0813A65C:
pop {r0}
bx r0
.pool
thumb_func_end sub_813A630
thumb_func_start sub_813A664
sub_813A664: @ 813A664
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
bl ScriptContext2_Enable
adds r0, r4, 0
bl sub_813A694
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, =sub_813A4EC
str r1, [r0]
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A664
thumb_func_start sub_813A694
sub_813A694: @ 813A694
push {r4,r5,lr}
sub sp, 0x10
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, =gTasks
adds r4, r1, r0
mov r1, sp
ldr r0, =gUnknown_085B3030
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
ldr r0, [r0]
str r0, [r1]
movs r0, 0x8
ldrsh r1, [r4, r0]
movs r2, 0xA
ldrsh r0, [r4, r2]
cmp r1, r0
beq _0813A724
mov r2, sp
movs r3, 0x10
ldrsh r1, [r4, r3]
lsrs r0, r1, 31
adds r1, r0
asrs r1, 1
lsls r1, 3
adds r1, 0xC
movs r5, 0xC
ldrsh r0, [r4, r5]
subs r0, 0x1
lsls r0, 3
adds r1, r0
movs r3, 0
strb r1, [r2, 0x1]
mov r1, sp
movs r0, 0x8
strb r0, [r1, 0x2]
movs r0, 0x10
ldrsh r1, [r4, r0]
lsrs r0, r1, 31
adds r1, r0
asrs r1, 1
lsls r1, 3
adds r1, 0xC
movs r5, 0xC
ldrsh r0, [r4, r5]
subs r0, 0x1
lsls r0, 3
adds r1, r0
strb r1, [r2, 0x4]
mov r1, sp
movs r2, 0x12
ldrsh r0, [r4, r2]
lsls r0, 3
adds r0, 0xA
strb r0, [r1, 0x5]
mov r0, sp
strh r3, [r0, 0x6]
mov r2, sp
ldrh r0, [r4, 0xA]
ldrh r1, [r4, 0x8]
subs r0, r1
strh r0, [r2, 0x8]
ldr r1, =gUnknown_0203AB68
mov r0, sp
bl AddScrollIndicatorArrowPair
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
_0813A724:
add sp, 0x10
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A694
thumb_func_start sub_813A738
sub_813A738: @ 813A738
push {lr}
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, =gTasks
adds r2, r1, r0
movs r0, 0x8
ldrsh r1, [r2, r0]
movs r3, 0xA
ldrsh r0, [r2, r3]
cmp r1, r0
beq _0813A75E
ldrh r0, [r2, 0x20]
lsls r0, 24
lsrs r0, 24
bl RemoveScrollIndicatorArrowPair
_0813A75E:
pop {r0}
bx r0
.pool
thumb_func_end sub_813A738
thumb_func_start nullsub_55
nullsub_55: @ 813A768
bx lr
thumb_func_end nullsub_55
thumb_func_start sub_813A76C
sub_813A76C: @ 813A76C
push {r4-r6,lr}
movs r4, 0
ldr r6, =gLinkPlayers
ldr r0, =0x0000401f
adds r5, r0, 0
_0813A776:
lsls r0, r4, 3
subs r0, r4
lsls r0, 2
adds r0, r6
ldrb r0, [r0, 0x13]
cmp r0, 0
bne _0813A79C
subs r0, r5, r4
lsls r0, 16
lsrs r0, 16
movs r1, 0
bl VarSet
b _0813A7A8
.pool
_0813A79C:
subs r0, r5, r4
lsls r0, 16
lsrs r0, 16
movs r1, 0x69
bl VarSet
_0813A7A8:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x1
bls _0813A776
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_813A76C
thumb_func_start sub_813A7B8
sub_813A7B8: @ 813A7B8
push {lr}
ldr r1, =gSpecialVar_0x8004
ldrh r0, [r1]
cmp r0, 0x5
bls _0813A7C6
movs r0, 0
strh r0, [r1]
_0813A7C6:
ldrh r1, [r1]
movs r0, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
bl GetNature
lsls r0, 24
ldr r1, =gUnknown_085B3040
lsrs r0, 22
adds r0, r1
ldr r0, [r0]
bl ShowFieldMessage
pop {r0}
bx r0
.pool
thumb_func_end sub_813A7B8
thumb_func_start sub_813A7F4
sub_813A7F4: @ 813A7F4
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r0, =0x00004030
bl GetVarPointer
adds r5, r0, 0
ldrh r0, [r5]
adds r4, r0
strh r4, [r5]
ldrh r0, [r5]
movs r1, 0xC
bl __umodsi3
strh r0, [r5]
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A7F4
thumb_func_start sub_813A820
sub_813A820: @ 813A820
push {r4,lr}
ldr r0, =0x00004030
bl VarGet
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r1, =gUnknown_085B30A4
lsls r0, r4, 2
adds r0, r1
ldr r0, [r0]
bl ShowFieldMessage
ldr r0, =0x00004031
adds r1, r4, 0
bl VarSet
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A820
thumb_func_start sub_813A854
sub_813A854: @ 813A854
push {r4,lr}
ldr r4, =gUnknown_085B30D4
ldr r0, =0x00004031
bl VarGet
lsls r0, 16
lsrs r0, 14
adds r0, r4
ldr r0, [r0]
bl ShowFieldMessage
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A854
thumb_func_start sub_813A878
sub_813A878: @ 813A878
push {r4-r7,lr}
mov r7, r8
push {r7}
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldr r0, =0x000040ce
bl VarGet
lsls r0, 16
lsrs r7, r0, 16
ldr r0, =0x00004031
bl VarGet
lsls r0, 16
lsrs r6, r0, 16
ldr r0, =0x000040cf
bl VarGet
lsls r0, 16
lsrs r5, r0, 16
ldr r4, =0x00004033
adds r0, r4, 0
bl VarGet
lsls r0, 16
lsrs r0, 16
cmp r0, 0x1
bne _0813A8F0
ldr r1, =gUnknown_085B3104
lsls r0, r6, 1
adds r0, r1
ldrh r1, [r0]
lsls r0, r5, 8
adds r0, r7
cmp r1, r0
bne _0813A8F0
mov r0, r8
cmp r0, 0
beq _0813A8E8
adds r0, r4, 0
movs r1, 0x2
bl VarSet
b _0813A8F0
.pool
_0813A8E8:
adds r0, r4, 0
movs r1, 0x3
bl VarSet
_0813A8F0:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_813A878
thumb_func_start sub_813A8FC
sub_813A8FC: @ 813A8FC
push {lr}
sub sp, 0x2C
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0x00000eb8
adds r0, r1
ldrh r1, [r0]
add r0, sp, 0xC
movs r2, 0x1
movs r3, 0x4
bl ConvertIntToDecimalStringN
ldr r1, =gText_BP
bl StringCopy
movs r0, 0x1
add r1, sp, 0xC
movs r2, 0x30
bl GetStringRightAlignXOffset
adds r3, r0, 0
ldr r0, =gUnknown_0203AB6D
ldrb r0, [r0]
lsls r3, 24
lsrs r3, 24
movs r1, 0x1
str r1, [sp]
movs r1, 0
str r1, [sp, 0x4]
str r1, [sp, 0x8]
movs r1, 0x1
add r2, sp, 0xC
bl PrintTextOnWindow
add sp, 0x2C
pop {r0}
bx r0
.pool
thumb_func_end sub_813A8FC
thumb_func_start sub_813A958
sub_813A958: @ 813A958
push {r4,lr}
ldr r4, =gUnknown_0203AB6D
ldr r0, =gUnknown_085B311C
bl AddWindow
strb r0, [r4]
ldrb r0, [r4]
movs r1, 0
bl SetStandardWindowBorderStyle
bl sub_813A8FC
ldrb r0, [r4]
movs r1, 0x2
bl CopyWindowToVram
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A958
thumb_func_start sub_813A988
sub_813A988: @ 813A988
push {r4,lr}
ldr r4, =gUnknown_0203AB6D
ldrb r0, [r4]
movs r1, 0x1
bl sub_8198070
ldrb r0, [r4]
bl RemoveWindow
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813A988
thumb_func_start sub_813A9A4
sub_813A9A4: @ 813A9A4
push {lr}
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000eb8
adds r1, r0, r2
ldr r0, =gSpecialVar_0x8004
ldrh r2, [r1]
ldrh r0, [r0]
cmp r2, r0
bcs _0813A9C8
movs r0, 0
b _0813A9CA
.pool
_0813A9C8:
subs r0, r2, r0
_0813A9CA:
strh r0, [r1]
pop {r0}
bx r0
thumb_func_end sub_813A9A4
thumb_func_start sub_813A9D0
sub_813A9D0: @ 813A9D0
push {lr}
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0x00000eb8
adds r2, r0, r1
ldrh r1, [r2]
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
adds r1, r0
ldr r0, =0x0000270f
cmp r1, r0
ble _0813A9FC
strh r0, [r2]
b _0813A9FE
.pool
_0813A9FC:
strh r1, [r2]
_0813A9FE:
pop {r0}
bx r0
thumb_func_end sub_813A9D0
thumb_func_start sub_813AA04
sub_813AA04: @ 813AA04
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0x00000eb8
adds r0, r1
ldrh r0, [r0]
bx lr
.pool
thumb_func_end sub_813AA04
thumb_func_start sub_813AA18
sub_813AA18: @ 813AA18
push {r4,lr}
ldr r4, =gUnknown_0203AB6E
ldr r0, =gUnknown_085B3124
bl AddWindow
strb r0, [r4]
ldrb r0, [r4]
movs r1, 0
bl SetStandardWindowBorderStyle
ldrb r0, [r4]
movs r1, 0x2
bl CopyWindowToVram
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813AA18
thumb_func_start sub_813AA44
sub_813AA44: @ 813AA44
push {r4,lr}
ldr r4, =gUnknown_0203AB6E
ldrb r0, [r4]
movs r1, 0x1
bl sub_8198070
ldrb r0, [r4]
bl RemoveWindow
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813AA44
thumb_func_start sub_813AA60
sub_813AA60: @ 813AA60
push {r4,r5,lr}
sub sp, 0x10
lsls r0, 16
lsls r1, 16
lsrs r5, r1, 16
lsrs r4, r0, 16
ldr r1, =0xfffd0000
adds r0, r1
lsrs r0, 16
cmp r0, 0x3
bls _0813AA78
b _0813ABC2
_0813AA78:
movs r0, 0xD8
str r0, [sp]
movs r0, 0x20
str r0, [sp, 0x4]
movs r0, 0
movs r1, 0x11
movs r2, 0
movs r3, 0
bl FillWindowPixelRect
cmp r4, 0x4
beq _0813AAE8
cmp r4, 0x4
bgt _0813AAA0
cmp r4, 0x3
beq _0813AAAA
b _0813ABC2
.pool
_0813AAA0:
cmp r4, 0x5
beq _0813AB5C
cmp r4, 0x6
beq _0813AB94
b _0813ABC2
_0813AAAA:
ldr r1, =gUnknown_085B3170
lsls r0, r5, 2
adds r0, r1
ldr r2, [r0]
movs r0, 0
str r0, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
movs r0, 0x1
str r0, [sp, 0x8]
str r4, [sp, 0xC]
movs r0, 0
movs r1, 0x1
movs r3, 0
bl AddTextPrinterParametrized
ldr r1, =gUnknown_085B312C
lsls r0, r5, 1
adds r1, r0, r1
ldrh r5, [r1]
ldr r0, =0x0000ffff
cmp r5, r0
beq _0813AB18
b _0813AB2C
.pool
_0813AAE8:
ldr r1, =gUnknown_085B319C
lsls r0, r5, 2
adds r0, r1
ldr r2, [r0]
movs r0, 0
str r0, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
movs r0, 0x1
str r0, [sp, 0x8]
movs r0, 0x3
str r0, [sp, 0xC]
movs r0, 0
movs r1, 0x1
movs r3, 0
bl AddTextPrinterParametrized
ldr r1, =gUnknown_085B3142
lsls r0, r5, 1
adds r1, r0, r1
ldrh r5, [r1]
ldr r0, =0x0000ffff
cmp r5, r0
bne _0813AB2C
_0813AB18:
ldrh r0, [r1]
bl sub_813ABD4
b _0813ABC2
.pool
_0813AB2C:
ldr r4, =0x0000157c
adds r0, r4, 0
bl FreeSpriteTilesByTag
adds r0, r4, 0
bl FreeSpritePaletteByTag
lsls r0, r5, 24
lsrs r0, 24
str r4, [sp]
str r4, [sp, 0x4]
movs r1, 0x21
movs r2, 0x58
movs r3, 0
bl AddDecorationIconObject
ldr r1, =gUnknown_0203AB6C
strb r0, [r1]
b _0813ABC2
.pool
_0813AB5C:
ldr r1, =gUnknown_085B31B4
lsls r0, r5, 2
adds r0, r1
ldr r2, [r0]
movs r0, 0
str r0, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
movs r0, 0x1
str r0, [sp, 0x8]
movs r0, 0x3
str r0, [sp, 0xC]
movs r0, 0
movs r1, 0x1
movs r3, 0
bl AddTextPrinterParametrized
ldr r1, =gUnknown_085B314E
lsls r0, r5, 1
adds r0, r1
ldrh r0, [r0]
bl sub_813ABD4
b _0813ABC2
.pool
_0813AB94:
ldr r1, =gUnknown_085B31D0
lsls r0, r5, 2
adds r0, r1
ldr r2, [r0]
movs r0, 0
str r0, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
movs r0, 0x1
str r0, [sp, 0x8]
movs r0, 0x3
str r0, [sp, 0xC]
movs r0, 0
movs r1, 0x1
movs r3, 0
bl AddTextPrinterParametrized
ldr r1, =gUnknown_085B315C
lsls r0, r5, 1
adds r0, r1
ldrh r0, [r0]
bl sub_813ABD4
_0813ABC2:
add sp, 0x10
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813AA60
thumb_func_start sub_813ABD4
sub_813ABD4: @ 813ABD4
push {r4,r5,lr}
adds r5, r0, 0
lsls r5, 16
lsrs r5, 16
ldr r4, =0x0000157c
adds r0, r4, 0
bl FreeSpriteTilesByTag
adds r0, r4, 0
bl FreeSpritePaletteByTag
adds r0, r4, 0
adds r1, r4, 0
adds r2, r5, 0
bl AddItemIconObject
ldr r4, =gUnknown_0203AB6C
strb r0, [r4]
lsls r0, 24
lsrs r0, 24
cmp r0, 0x40
beq _0813AC32
ldr r3, =gSprites
ldrb r0, [r4]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r3
ldrb r2, [r1, 0x5]
movs r0, 0xD
negs r0, r0
ands r0, r2
strb r0, [r1, 0x5]
ldrb r1, [r4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r3
movs r1, 0x24
strh r1, [r0, 0x20]
ldrb r1, [r4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r3
movs r1, 0x5C
strh r1, [r0, 0x22]
_0813AC32:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813ABD4
thumb_func_start sub_813AC44
sub_813AC44: @ 813AC44
push {lr}
lsls r0, 16
lsrs r1, r0, 16
ldr r2, =gUnknown_0203AB6C
ldrb r0, [r2]
cmp r0, 0x40
beq _0813AC70
cmp r1, 0x6
bgt _0813AC6A
cmp r1, 0x3
blt _0813AC6A
adds r1, r0, 0
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, =gSprites
adds r0, r1
bl DestroySpriteAndFreeResources
_0813AC6A:
ldr r1, =gUnknown_0203AB6C
movs r0, 0x40
strb r0, [r1]
_0813AC70:
pop {r0}
bx r0
.pool
thumb_func_end sub_813AC44
thumb_func_start sub_813AC7C
sub_813AC7C: @ 813AC7C
push {lr}
ldr r0, =gSpecialVar_0x8005
ldrh r0, [r0]
cmp r0, 0
beq _0813ACB8
ldr r0, =gStringVar1
ldr r2, =gUnknown_085B320C
ldr r1, =gSpecialVar_0x8004
ldrh r1, [r1]
lsls r1, 1
adds r1, r2
ldrh r2, [r1]
movs r1, 0xD
muls r1, r2
ldr r2, =gMoveNames
adds r1, r2
bl StringCopy
b _0813ACD2
.pool
_0813ACB8:
ldr r0, =gStringVar1
ldr r2, =gUnknown_085B31F8
ldr r1, =gSpecialVar_0x8004
ldrh r1, [r1]
lsls r1, 1
adds r1, r2
ldrh r2, [r1]
movs r1, 0xD
muls r1, r2
ldr r2, =gMoveNames
adds r1, r2
bl StringCopy
_0813ACD2:
pop {r0}
bx r0
.pool
thumb_func_end sub_813AC7C
thumb_func_start sub_813ACE8
sub_813ACE8: @ 813ACE8
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
lsls r1, 16
lsrs r6, r1, 16
subs r0, 0x9
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bhi _0813AD20
ldr r0, =gSpecialVar_0x8006
ldrh r0, [r0]
cmp r0, 0
bne _0813AD18
ldr r4, =gUnknown_0203AB5E
ldr r0, =gUnknown_085B3220
bl AddWindow
strb r0, [r4]
ldrb r0, [r4]
movs r1, 0
bl SetStandardWindowBorderStyle
_0813AD18:
adds r0, r5, 0
adds r1, r6, 0
bl sub_813AD34
_0813AD20:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_813ACE8
thumb_func_start sub_813AD34
sub_813AD34: @ 813AD34
push {r4-r7,lr}
sub sp, 0xC
lsls r0, 24
lsls r1, 16
lsrs r5, r1, 16
adds r7, r5, 0
lsrs r6, r0, 24
movs r1, 0xF7
lsls r1, 24
adds r0, r1
lsrs r0, 24
cmp r0, 0x1
bhi _0813ADAC
ldr r4, =gUnknown_0203AB5E
ldrb r0, [r4]
movs r1, 0x60
str r1, [sp]
movs r1, 0x30
str r1, [sp, 0x4]
movs r1, 0x11
movs r2, 0
movs r3, 0
bl FillWindowPixelRect
cmp r6, 0xA
bne _0813AD90
ldrb r0, [r4]
ldr r2, =gUnknown_085B3254
lsls r1, r5, 2
adds r1, r2
ldr r2, [r1]
movs r1, 0x1
str r1, [sp]
movs r1, 0
str r1, [sp, 0x4]
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
bl PrintTextOnWindow
b _0813ADAC
.pool
_0813AD90:
ldrb r0, [r4]
ldr r2, =gUnknown_085B3228
lsls r1, r7, 2
adds r1, r2
ldr r2, [r1]
movs r1, 0x1
str r1, [sp]
movs r1, 0
str r1, [sp, 0x4]
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
bl PrintTextOnWindow
_0813ADAC:
add sp, 0xC
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_813AD34
thumb_func_start sub_813ADB8
sub_813ADB8: @ 813ADB8
push {r4,lr}
ldr r4, =gUnknown_0203AB5E
ldrb r0, [r4]
movs r1, 0x1
bl sub_8198070
ldrb r0, [r4]
bl RemoveWindow
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813ADB8
thumb_func_start sub_813ADD4
sub_813ADD4: @ 813ADD4
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x18
ldr r0, =sub_813A600
bl FindTaskIdByFunc
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0xFF
beq _0813AE90
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
ldr r1, =gTasks
adds r6, r0, r1
ldrh r0, [r6, 0x24]
lsls r0, 24
lsrs r0, 24
mov r4, sp
adds r4, 0x16
add r1, sp, 0x14
adds r2, r4, 0
bl get_coro_args_x18_x1A
ldrh r0, [r6, 0x22]
lsls r0, 24
lsrs r0, 24
movs r1, 0
bl SetStandardWindowBorderStyle
movs r5, 0
mov r9, r4
ldr r0, =gUnknown_085B2CF0
mov r8, r0
movs r4, 0
_0813AE1E:
ldrh r0, [r6, 0x22]
lsls r0, 24
lsrs r0, 24
add r1, sp, 0x14
ldrh r2, [r1]
adds r2, r5
lsls r2, 2
ldr r1, =gSpecialVar_0x8004
ldrh r1, [r1]
lsls r1, 6
adds r2, r1
add r2, r8
ldr r2, [r2]
lsls r1, r5, 28
lsrs r1, 24
str r1, [sp]
movs r7, 0xFF
str r7, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x1
movs r3, 0xA
bl sub_8199F74
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x5
bls _0813AE1E
ldrh r0, [r6, 0x22]
lsls r0, 24
lsrs r0, 24
ldr r2, =gText_SelectorArrow
mov r3, r9
ldrh r1, [r3]
lsls r1, 28
lsrs r1, 24
str r1, [sp]
str r7, [sp, 0x4]
movs r1, 0
str r1, [sp, 0x8]
movs r1, 0x1
movs r3, 0
bl PrintTextOnWindow
ldrh r0, [r6, 0x22]
lsls r0, 24
lsrs r0, 24
bl PutWindowTilemap
ldrh r0, [r6, 0x22]
lsls r0, 24
lsrs r0, 24
movs r1, 0x3
bl CopyWindowToVram
_0813AE90:
add sp, 0x18
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_813ADD4
thumb_func_start sub_813AEB4
sub_813AEB4: @ 813AEB4
push {r4,lr}
movs r1, 0
ldr r0, =gSpecialVar_0x8005
strh r1, [r0]
ldr r0, =0x0000400e
bl VarGet
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r0, =0x0000400d
bl VarGet
lsls r0, 16
lsrs r1, r0, 16
cmp r4, 0
beq _0813AF18
movs r2, 0
lsls r1, 1
ldr r3, =gUnknown_0861500C
ldr r0, =gUnknown_085B320C
adds r0, r1, r0
ldrh r1, [r0]
_0813AEE2:
lsls r0, r2, 1
adds r0, r3
ldrh r0, [r0]
cmp r0, r1
beq _0813AF0C
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x1D
bls _0813AEE2
b _0813AF38
.pool
_0813AF0C:
ldr r0, =gSpecialVar_0x8005
strh r2, [r0]
b _0813AF38
.pool
_0813AF18:
movs r2, 0
lsls r1, 1
ldr r3, =gUnknown_0861500C
ldr r0, =gUnknown_085B31F8
adds r0, r1, r0
ldrh r1, [r0]
_0813AF24:
lsls r0, r2, 1
adds r0, r3
ldrh r0, [r0]
cmp r0, r1
beq _0813AF0C
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x1D
bls _0813AF24
_0813AF38:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813AEB4
thumb_func_start sub_813AF48
sub_813AF48: @ 813AF48
push {r4,r5,lr}
ldr r0, =sub_813A600
bl FindTaskIdByFunc
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0xFF
beq _0813AFB6
lsls r4, r5, 2
adds r4, r5
lsls r4, 3
ldr r0, =gTasks
adds r4, r0
ldrh r0, [r4, 0x24]
lsls r0, 24
lsrs r0, 24
movs r1, 0
movs r2, 0
bl sub_81AE6C8
ldr r0, =gUnknown_0203AB64
ldr r0, [r0]
bl Free
ldrh r0, [r4, 0x22]
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
bl sub_8198070
ldrh r0, [r4, 0x22]
lsls r0, 24
lsrs r0, 24
movs r1, 0
bl FillWindowPixelBuffer
ldrh r0, [r4, 0x22]
lsls r0, 24
lsrs r0, 24
bl ClearWindowTilemap
ldrh r0, [r4, 0x22]
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl CopyWindowToVram
ldrh r0, [r4, 0x22]
lsls r0, 24
lsrs r0, 24
bl RemoveWindow
adds r0, r5, 0
bl DestroyTask
_0813AFB6:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813AF48
thumb_func_start sub_813AFC8
sub_813AFC8: @ 813AFC8
push {lr}
ldr r0, =task_deoxys_sound
movs r1, 0x8
bl CreateTask
pop {r0}
bx r0
.pool
thumb_func_end sub_813AFC8
thumb_func_start task_deoxys_sound
task_deoxys_sound: @ 813AFDC
push {r4-r7,lr}
mov r7, r8
push {r7}
lsls r0, 24
lsrs r7, r0, 24
ldr r0, =0x000008d4
bl FlagGet
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813B004
ldr r1, =gSpecialVar_Result
movs r0, 0x3
b _0813B06A
.pool
_0813B004:
ldr r0, =0x00004035
mov r8, r0
bl VarGet
lsls r0, 16
lsrs r5, r0, 16
ldr r4, =0x00004034
adds r0, r4, 0
bl VarGet
lsls r0, 16
lsrs r6, r0, 16
adds r0, r4, 0
movs r1, 0
bl VarSet
cmp r5, 0
beq _0813B05C
ldr r0, =gUnknown_085B33F6
subs r1, r5, 0x1
adds r1, r0
ldrb r0, [r1]
cmp r0, r6
bcs _0813B05C
movs r0, 0
bl sub_813B0B4
mov r0, r8
movs r1, 0
bl VarSet
ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
b _0813B070
.pool
_0813B05C:
cmp r5, 0xA
bne _0813B080
ldr r0, =0x000008d4
bl FlagSet
ldr r1, =gSpecialVar_Result
movs r0, 0x2
_0813B06A:
strh r0, [r1]
bl EnableBothScriptContexts
_0813B070:
adds r0, r7, 0
bl DestroyTask
b _0813B0A2
.pool
_0813B080:
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
lsls r0, r5, 24
lsrs r0, 24
bl sub_813B0B4
ldr r0, =0x00004035
adds r1, r5, 0
bl VarSet
ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
adds r0, r7, 0
bl DestroyTask
_0813B0A2:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end task_deoxys_sound
thumb_func_start sub_813B0B4
sub_813B0B4: @ 813B0B4
push {r4,r5,lr}
sub sp, 0x4
lsls r0, 24
lsrs r4, r0, 24
lsls r0, r4, 5
ldr r1, =gUnknown_085B3280
adds r0, r1
movs r1, 0xD0
lsls r1, 1
movs r2, 0x8
bl LoadPalette
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrb r1, [r0, 0x5]
ldrb r2, [r0, 0x4]
movs r0, 0x1
mov r3, sp
bl TryGetFieldObjectIdByLocalIdAndMap
cmp r4, 0
bne _0813B0F0
movs r0, 0xC4
bl PlaySE
b _0813B0F8
.pool
_0813B0F0:
movs r0, 0x82
lsls r0, 1
bl PlaySE
_0813B0F8:
ldr r0, =sub_813B160
movs r1, 0x8
bl CreateTask
ldr r3, =gFieldEffectArguments
movs r0, 0x1
str r0, [r3]
movs r0, 0x3A
str r0, [r3, 0x4]
movs r0, 0x1A
str r0, [r3, 0x8]
ldr r0, =gUnknown_085B33E0
lsls r2, r4, 1
adds r1, r2, r0
ldrb r1, [r1]
str r1, [r3, 0xC]
adds r0, 0x1
adds r0, r2, r0
ldrb r0, [r0]
str r0, [r3, 0x10]
adds r5, r2, 0
cmp r4, 0
bne _0813B138
movs r0, 0x3C
b _0813B13A
.pool
_0813B138:
movs r0, 0x5
_0813B13A:
str r0, [r3, 0x14]
movs r0, 0x42
bl FieldEffectStart
ldr r0, =gUnknown_085B33E0
adds r1, r5, r0
ldrb r1, [r1]
adds r0, 0x1
adds r0, r5, r0
ldrb r2, [r0]
movs r0, 0x1
bl Overworld_SetMapObjTemplateCoords
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813B0B4
thumb_func_start sub_813B160
sub_813B160: @ 813B160
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x42
bl FieldEffectActiveListContains
lsls r0, 24
cmp r0, 0
bne _0813B17C
bl EnableBothScriptContexts
adds r0, r4, 0
bl DestroyTask
_0813B17C:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_813B160
thumb_func_start increment_var_x4026_on_birth_island_modulo_100
increment_var_x4026_on_birth_island_modulo_100: @ 813B184
push {r4,lr}
ldr r4, =0x00004034
adds r0, r4, 0
bl VarGet
lsls r0, 16
lsrs r2, r0, 16
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrh r1, [r0, 0x4]
ldr r0, =0x00003a1a
cmp r1, r0
bne _0813B1C8
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
cmp r2, 0x63
bls _0813B1C0
adds r0, r4, 0
movs r1, 0
bl VarSet
b _0813B1C8
.pool
_0813B1C0:
adds r0, r4, 0
adds r1, r2, 0
bl VarSet
_0813B1C8:
pop {r4}
pop {r0}
bx r0
thumb_func_end increment_var_x4026_on_birth_island_modulo_100
thumb_func_start sub_813B1D0
sub_813B1D0: @ 813B1D0
push {lr}
ldr r0, =0x00004035
bl VarGet
lsls r0, 24
lsrs r0, 19
ldr r1, =gUnknown_085B3280
adds r0, r1
movs r1, 0xD0
lsls r1, 1
movs r2, 0x8
bl LoadPalette
movs r0, 0x80
lsls r0, 19
movs r1, 0x10
movs r2, 0
bl BlendPalettes
pop {r0}
bx r0
.pool
thumb_func_end sub_813B1D0
thumb_func_start set_unknown_box_id
@ void set_unknown_box_id(char id)
set_unknown_box_id: @ 813B204
ldr r1, =gUnknown_0203AB6F
strb r0, [r1]
bx lr
.pool
thumb_func_end set_unknown_box_id
thumb_func_start get_unknown_box_id
get_unknown_box_id: @ 813B210
ldr r0, =gUnknown_0203AB6F
ldrb r0, [r0]
bx lr
.pool
thumb_func_end get_unknown_box_id
thumb_func_start sub_813B21C
sub_813B21C: @ 813B21C
push {r4,r5,lr}
ldr r5, =0x000008d7
adds r0, r5, 0
bl FlagGet
lsls r0, 24
cmp r0, 0
bne _0813B258
bl StorageGetCurrentBox
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, =0x00004036
bl VarGet
lsls r0, 16
lsrs r0, 16
cmp r4, r0
beq _0813B258
adds r0, r5, 0
bl FlagSet
movs r0, 0x1
b _0813B25A
.pool
_0813B258:
movs r0, 0
_0813B25A:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_813B21C
thumb_func_start sub_813B260
sub_813B260: @ 813B260
push {r4-r7,lr}
ldr r0, =0x00004036
bl VarGet
lsls r0, 24
lsrs r0, 24
bl set_unknown_box_id
bl StorageGetCurrentBox
lsls r0, 24
lsrs r4, r0, 24
_0813B278:
movs r5, 0
lsls r6, r4, 24
lsls r7, r4, 16
_0813B27E:
lsls r1, r5, 24
lsrs r1, 24
lsrs r0, r6, 24
bl GetBoxedMonPtr
movs r1, 0xB
movs r2, 0
bl GetBoxMonData
cmp r0, 0
bne _0813B2C0
bl get_unknown_box_id
lsls r0, 16
lsrs r0, 16
cmp r0, r4
beq _0813B2A6
ldr r0, =0x000008d7
bl FlagClear
_0813B2A6:
ldr r0, =0x00004036
lsrs r1, r7, 16
bl VarSet
bl sub_813B21C
lsls r0, 24
lsrs r0, 24
b _0813B2DC
.pool
_0813B2C0:
adds r5, 0x1
cmp r5, 0x1D
ble _0813B27E
adds r4, 0x1
cmp r4, 0xE
bne _0813B2CE
movs r4, 0
_0813B2CE:
bl StorageGetCurrentBox
lsls r0, 24
lsrs r0, 24
cmp r4, r0
bne _0813B278
movs r0, 0
_0813B2DC:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_813B260
thumb_func_start sub_813B2E4
sub_813B2E4: @ 813B2E4
push {r4,lr}
bl Random
lsls r0, 16
lsrs r4, r0, 16
ldr r0, =0x00004038
movs r1, 0
bl VarSet
movs r0, 0xDF
lsls r0, 1
bl FlagGet
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0813B340
ldr r0, =0x000001bf
bl FlagGet
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813B330
ldr r0, =0x00004037
movs r1, 0x7
ands r4, r1
adds r1, r4, 0
adds r1, 0x9
bl VarSet
b _0813B36A
.pool
_0813B330:
movs r0, 0x1
ands r4, r0
cmp r4, 0
bne _0813B354
bl Random
lsls r0, 16
lsrs r4, r0, 16
_0813B340:
ldr r0, =0x00004037
movs r1, 0x7
ands r4, r1
adds r1, r4, 0x1
bl VarSet
b _0813B36A
.pool
_0813B354:
bl Random
lsls r0, 16
lsrs r4, r0, 16
ldr r0, =0x00004037
movs r1, 0x7
ands r4, r1
adds r1, r4, 0
adds r1, 0x9
bl VarSet
_0813B36A:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813B2E4
thumb_func_start sub_813B374
sub_813B374: @ 813B374
push {r4,lr}
ldr r0, =0x00004037
bl VarGet
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r0, =gStringVar1
ldr r2, =gUnknown_085B3400
subs r1, r4, 0x1
adds r1, r2
ldrb r1, [r1]
movs r2, 0
bl GetMapName
cmp r4, 0x8
bls _0813B3A8
movs r0, 0x1
b _0813B3AA
.pool
_0813B3A8:
movs r0, 0
_0813B3AA:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_813B374
thumb_func_start sub_813B3B0
sub_813B3B0: @ 813B3B0
push {r4-r6,lr}
ldr r5, =0x00004038
adds r0, r5, 0
bl VarGet
lsls r0, 16
lsrs r4, r0, 16
ldr r0, =0x00004037
bl VarGet
lsls r0, 16
lsrs r6, r0, 16
cmp r6, 0
beq _0813B47C
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
ldr r0, =0x000003e7
cmp r4, r0
bls _0813B474
adds r0, r5, 0
movs r1, 0
bl VarSet
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
movs r0, 0x4
ldrsb r0, [r1, r0]
cmp r0, 0x18
bne _0813B414
movs r0, 0x5
ldrsb r0, [r1, r0]
cmp r0, 0x69
bgt _0813B414
cmp r0, 0x65
blt _0813B414
ldr r0, =0x00004039
movs r1, 0x1
b _0813B478
.pool
_0813B414:
ldr r0, =gSaveBlock1Ptr
ldr r2, [r0]
movs r1, 0x4
ldrsb r1, [r2, r1]
adds r3, r0, 0
cmp r1, 0
bne _0813B444
movs r0, 0x5
ldrsb r0, [r2, r0]
cmp r0, 0x34
beq _0813B436
cmp r0, 0x34
blt _0813B444
cmp r0, 0x38
bgt _0813B444
cmp r0, 0x36
blt _0813B444
_0813B436:
ldr r0, =0x00004039
movs r1, 0x1
b _0813B478
.pool
_0813B444:
ldr r3, [r3]
movs r2, 0x5
ldrsb r2, [r3, r2]
ldr r1, =gUnknown_085B3410
subs r0, r6, 0x1
adds r0, r1
ldrb r0, [r0]
cmp r2, r0
bne _0813B468
movs r0, 0x4
ldrsb r0, [r3, r0]
cmp r0, 0
bne _0813B468
movs r0, 0x1
b _0813B47E
.pool
_0813B468:
ldr r0, =0x00004037
movs r1, 0
b _0813B478
.pool
_0813B474:
adds r0, r5, 0
adds r1, r4, 0
_0813B478:
bl VarSet
_0813B47C:
movs r0, 0
_0813B47E:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_813B3B0
thumb_func_start sub_813B484
sub_813B484: @ 813B484
push {lr}
movs r0, 0x2
bl sub_80AB104
pop {r0}
bx r0
thumb_func_end sub_813B484
thumb_func_start sub_813B490
sub_813B490: @ 813B490
push {r4-r7,lr}
movs r3, 0
ldr r0, =gSaveBlock1Ptr
ldr r4, [r0]
movs r6, 0x4
ldrsb r6, [r4, r6]
ldr r5, =gUnknown_085B3420
adds r0, r5, 0x2
mov r12, r0
adds r7, r5, 0x1
_0813B4A4:
lsls r0, r3, 1
adds r2, r0, r3
adds r0, r2, r5
ldrb r0, [r0]
cmp r6, r0
bne _0813B4CC
movs r1, 0x5
ldrsb r1, [r4, r1]
adds r0, r2, r7
ldrb r0, [r0]
cmp r1, r0
bne _0813B4CC
mov r1, r12
adds r0, r2, r1
ldrb r0, [r0]
b _0813B4D8
.pool
_0813B4CC:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0xB
bls _0813B4A4
movs r0, 0x1
_0813B4D8:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_813B490
thumb_func_start sub_813B4E0
sub_813B4E0: @ 813B4E0
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
bl sub_81D15CC
cmp r0, 0
blt _0813B50C
movs r1, 0xAE
lsls r1, 1
adds r0, r1
lsls r0, 16
lsrs r0, 16
bl FlagGet
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813B50C
movs r0, 0x1
b _0813B50E
.pool
_0813B50C:
movs r0, 0
_0813B50E:
pop {r1}
bx r1
thumb_func_end sub_813B4E0
thumb_func_start sub_813B514
sub_813B514: @ 813B514
push {lr}
ldr r0, =0x0000403f
bl VarGet
lsls r0, 16
cmp r0, 0
beq _0813B52C
movs r0, 0x1
b _0813B52E
.pool
_0813B52C:
movs r0, 0
_0813B52E:
pop {r1}
bx r1
thumb_func_end sub_813B514
thumb_func_start sub_813B534
sub_813B534: @ 813B534
push {lr}
ldr r2, =gUnknown_0203AB70
ldr r1, =gBattleTypeFlags
ldr r0, [r1]
str r0, [r2]
movs r0, 0
str r0, [r1]
ldr r0, =gReceivedRemoteLinkPlayers
ldrb r0, [r0]
cmp r0, 0
bne _0813B552
ldr r0, =sub_80B3AF8
movs r1, 0x5
bl CreateTask
_0813B552:
pop {r0}
bx r0
.pool
thumb_func_end sub_813B534
thumb_func_start sub_813B568
sub_813B568: @ 813B568
push {lr}
ldr r0, =sub_813B57C
movs r1, 0x5
bl CreateTask
pop {r0}
bx r0
.pool
thumb_func_end sub_813B568
thumb_func_start sub_813B57C
sub_813B57C: @ 813B57C
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
movs r1, 0x8
ldrsh r0, [r0, r1]
cmp r0, 0x9
bls _0813B596
b _0813B7C6
_0813B596:
lsls r0, 2
ldr r1, =_0813B5A8
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_0813B5A8:
.4byte _0813B5D0
.4byte _0813B5E4
.4byte _0813B614
.4byte _0813B6B4
.4byte _0813B6E4
.4byte _0813B728
.4byte _0813B764
.4byte _0813B772
.4byte _0813B784
.4byte _0813B7A8
_0813B5D0:
ldr r0, =sub_80B3AF8
bl FuncIsActiveTask
lsls r0, 24
cmp r0, 0
beq _0813B5DE
b _0813B7C6
_0813B5DE:
b _0813B790
.pool
_0813B5E4:
bl sub_800A520
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0813B5F2
b _0813B7C6
_0813B5F2:
bl GetMultiplayerId
lsls r0, 24
cmp r0, 0
bne _0813B5FE
b _0813B790
_0813B5FE:
bl bitmask_all_link_players_but_self
lsls r0, 24
lsrs r0, 24
ldr r1, =gSpecialVar_0x8004
movs r2, 0x2
bl SendBlock
b _0813B708
.pool
_0813B614:
bl GetBlockReceivedStatus
movs r1, 0x2
ands r1, r0
cmp r1, 0
bne _0813B622
b _0813B7C6
_0813B622:
bl GetMultiplayerId
lsls r0, 24
cmp r0, 0
beq _0813B62E
b _0813B790
_0813B62E:
ldr r5, =gSpecialVar_0x8005
ldr r0, =gBlockRecvBuffer
movs r1, 0x80
lsls r1, 1
adds r0, r1
ldrh r0, [r0]
strh r0, [r5]
movs r0, 0x1
bl ResetBlockReceivedFlag
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
cmp r0, 0x1
bne _0813B668
ldrh r1, [r5]
cmp r1, 0x1
bne _0813B668
ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _0813B790
.pool
_0813B668:
ldr r0, =gSpecialVar_0x8004
ldrh r1, [r0]
adds r2, r0, 0
cmp r1, 0
bne _0813B68C
ldr r0, =gSpecialVar_0x8005
ldrh r0, [r0]
cmp r0, 0x1
bne _0813B68C
ldr r1, =gSpecialVar_Result
movs r0, 0x2
b _0813B6AC
.pool
_0813B68C:
ldrh r0, [r2]
cmp r0, 0x1
bne _0813B6A8
ldr r0, =gSpecialVar_0x8005
ldrh r0, [r0]
cmp r0, 0
bne _0813B6A8
ldr r1, =gSpecialVar_Result
movs r0, 0x3
b _0813B6AC
.pool
_0813B6A8:
ldr r1, =gSpecialVar_Result
movs r0, 0
_0813B6AC:
strh r0, [r1]
b _0813B790
.pool
_0813B6B4:
bl sub_800A520
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0813B6C2
b _0813B7C6
_0813B6C2:
bl GetMultiplayerId
lsls r0, 24
cmp r0, 0
bne _0813B790
bl bitmask_all_link_players_but_self
lsls r0, 24
lsrs r0, 24
ldr r1, =gSpecialVar_Result
movs r2, 0x2
bl SendBlock
b _0813B708
.pool
_0813B6E4:
bl GetBlockReceivedStatus
movs r1, 0x1
ands r1, r0
cmp r1, 0
beq _0813B7C6
bl GetMultiplayerId
lsls r0, 24
cmp r0, 0
beq _0813B790
ldr r1, =gSpecialVar_Result
ldr r0, =gBlockRecvBuffer
ldrh r0, [r0]
strh r0, [r1]
movs r0, 0
bl ResetBlockReceivedFlag
_0813B708:
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldrh r1, [r0, 0x8]
adds r1, 0x1
strh r1, [r0, 0x8]
b _0813B7C6
.pool
_0813B728:
bl GetMultiplayerId
lsls r0, 24
cmp r0, 0
bne _0813B74C
ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x2
bne _0813B790
ldr r0, =gText_YourPartnerHasRetired
bl ShowFieldAutoScrollMessage
b _0813B790
.pool
_0813B74C:
ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x3
bne _0813B790
ldr r0, =gText_YourPartnerHasRetired
bl ShowFieldAutoScrollMessage
b _0813B790
.pool
_0813B764:
movs r0, 0
bl IsTextPrinterActive
lsls r0, 16
cmp r0, 0
bne _0813B7C6
b _0813B790
_0813B772:
bl sub_800A520
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813B7C6
bl sub_800ADF8
b _0813B790
_0813B784:
bl sub_800A520
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813B7C6
_0813B790:
ldr r0, =gTasks
lsls r1, r4, 2
adds r1, r4
lsls r1, 3
adds r1, r0
ldrh r0, [r1, 0x8]
adds r0, 0x1
strh r0, [r1, 0x8]
b _0813B7C6
.pool
_0813B7A8:
ldr r0, =gLinkVSyncDisabled
ldrb r0, [r0]
cmp r0, 0
bne _0813B7B4
bl sub_800AC34
_0813B7B4:
ldr r0, =gBattleTypeFlags
ldr r1, =gUnknown_0203AB70
ldr r1, [r1]
str r1, [r0]
bl EnableBothScriptContexts
adds r0, r4, 0
bl DestroyTask
_0813B7C6:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813B57C
thumb_func_start sub_813B7D8
sub_813B7D8: @ 813B7D8
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
cmp r0, 0
bne _0813B7F8
ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music
movs r0, 0
movs r1, 0x1
bl sub_81D6720
b _0813B802
.pool
_0813B7F8:
ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music
movs r0, 0x1
movs r1, 0
bl sub_81D6720
_0813B802:
pop {r0}
bx r0
.pool
thumb_func_end sub_813B7D8
thumb_func_start sub_813B80C
sub_813B80C: @ 813B80C
push {lr}
ldr r0, =sub_813B824
movs r1, 0x8
bl CreateTask
movs r0, 0x9D
bl PlaySE
pop {r0}
bx r0
.pool
thumb_func_end sub_813B80C
thumb_func_start sub_813B824
sub_813B824: @ 813B824
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
ldr r1, =gTasks + 0x8
adds r4, r0, r1
ldrh r0, [r4, 0x2]
adds r0, 0x1
strh r0, [r4, 0x2]
movs r0, 0x2
ldrsh r1, [r4, r0]
ldr r0, =gSpecialVar_0x8005
ldrh r0, [r0]
cmp r1, r0
bne _0813B858
ldrh r0, [r4]
adds r0, 0x1
strh r0, [r4]
movs r0, 0
strh r0, [r4, 0x2]
movs r0, 0x9D
bl PlaySE
_0813B858:
movs r0, 0
ldrsh r1, [r4, r0]
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
subs r0, 0x1
cmp r1, r0
bne _0813B86C
adds r0, r5, 0
bl DestroyTask
_0813B86C:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813B824
thumb_func_start sub_813B880
sub_813B880: @ 813B880
push {lr}
ldr r0, =_fwalk
movs r1, 0x8
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 r2, 0
movs r0, 0x4
strh r0, [r1, 0x8]
strh r0, [r1, 0xA]
strh r0, [r1, 0xC]
strh r2, [r1, 0xE]
pop {r0}
bx r0
.pool
thumb_func_end sub_813B880
thumb_func_start _fwalk
_fwalk: @ 813B8B0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
lsls r0, 24
lsrs r0, 24
mov r9, r0
lsls r0, 2
add r0, r9
lsls r0, 3
ldr r1, =gTasks + 0x8
adds r5, r0, r1
movs r0, 0x6
ldrsh r1, [r5, r0]
lsls r1, 1
adds r1, r5
ldrh r0, [r1]
subs r0, 0x1
strh r0, [r1]
movs r1, 0x6
ldrsh r0, [r5, r1]
lsls r0, 1
adds r0, r5
movs r2, 0
ldrsh r0, [r0, r2]
cmp r0, 0
bne _0813B94E
movs r6, 0
_0813B8EA:
movs r4, 0
lsls r3, r6, 3
mov r10, r3
adds r7, r6, 0x1
mov r8, r7
_0813B8F4:
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
movs r2, 0
ldrsh r0, [r1, r2]
adds r0, r4
adds r0, 0x6
movs r3, 0x2
ldrsh r1, [r1, r3]
adds r1, r6
adds r1, 0x4
ldr r7, =0x00000201
adds r2, r4, r7
add r2, r10
movs r7, 0x6
ldrsh r3, [r5, r7]
lsls r3, 5
adds r2, r3
lsls r2, 16
lsrs r2, 16
bl MapGridSetMetatileIdAt
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x2
bls _0813B8F4
mov r1, r8
lsls r0, r1, 24
lsrs r6, r0, 24
cmp r6, 0x3
bls _0813B8EA
bl DrawWholeMapView
ldrh r0, [r5, 0x6]
adds r0, 0x1
strh r0, [r5, 0x6]
lsls r0, 16
asrs r0, 16
cmp r0, 0x3
bne _0813B94E
mov r0, r9
bl DestroyTask
bl EnableBothScriptContexts
_0813B94E:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end _fwalk
thumb_func_start sub_813B968
sub_813B968: @ 813B968
push {r4,r5,lr}
ldr r5, =gSpecialVar_Result
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
movs r1, 0x7
bl __udivsi3
strh r0, [r5]
ldrh r4, [r5]
adds r0, r4, 0
movs r1, 0x14
bl __udivsi3
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 2
adds r1, r0
lsls r1, 2
subs r4, r1
strh r4, [r5]
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_813B968
thumb_func_start sub_813B9A0
sub_813B9A0: @ 813B9A0
push {lr}
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrh r1, [r0, 0x1C]
movs r0, 0xB0
lsls r0, 4
cmp r1, r0
bne _0813B9B6
movs r0, 0x3
bl Overworld_SetHealLocationWarp
_0813B9B6:
pop {r0}
bx r0
.pool
thumb_func_end sub_813B9A0
thumb_func_start sub_813B9C0
sub_813B9C0: @ 813B9C0
push {r4,lr}
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
movs r1, 0x4
ldrsb r1, [r0, r1]
lsls r1, 8
ldrb r0, [r0, 0x5]
lsls r0, 24
asrs r0, 24
adds r0, r1
lsls r0, 16
lsrs r3, r0, 16
ldr r2, =gUnknown_085B3444
ldrh r0, [r2]
ldr r1, =0x0000ffff
cmp r0, r1
beq _0813BA06
adds r4, r1, 0
adds r1, r2, 0
_0813B9E6:
ldrh r0, [r2]
cmp r0, r3
bne _0813B9FC
movs r0, 0x1
b _0813BA08
.pool
_0813B9FC:
adds r1, 0x2
adds r2, 0x2
ldrh r0, [r1]
cmp r0, r4
bne _0813B9E6
_0813BA06:
movs r0, 0
_0813BA08:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_813B9C0
thumb_func_start ResetFanClub
ResetFanClub: @ 813BA10
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r2, =0x0000141e
adds r1, r0, r2
movs r2, 0
strh r2, [r1]
movs r1, 0xA1
lsls r1, 5
adds r0, r1
strh r2, [r0]
bx lr
.pool
thumb_func_end ResetFanClub
thumb_func_start sub_813BA30
sub_813BA30: @ 813BA30
push {lr}
bl sub_813BF44
lsls r0, 24
cmp r0, 0
beq _0813BA52
bl sub_813BCE8
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrh r0, [r0, 0xE]
movs r2, 0xA1
lsls r2, 5
adds r1, r2
strh r0, [r1]
_0813BA52:
pop {r0}
bx r0
.pool
thumb_func_end sub_813BA30
thumb_func_start sub_813BA60
sub_813BA60: @ 813BA60
push {r4,lr}
ldr r4, =gSaveBlock1Ptr
ldr r0, [r4]
ldr r1, =0x0000141e
adds r0, r1
ldrh r0, [r0]
lsrs r0, 7
movs r1, 0x1
ands r0, r1
cmp r0, 0
bne _0813BAB6
bl sub_813BF60
bl sub_813BD84
ldr r1, [r4]
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrh r0, [r0, 0xE]
movs r2, 0xA1
lsls r2, 5
adds r1, r2
strh r0, [r1]
ldr r0, =0x00000315
bl FlagClear
ldr r0, =0x00000316
bl FlagClear
ldr r0, =0x00000317
bl FlagClear
movs r0, 0xC6
lsls r0, 2
bl FlagClear
ldr r0, =0x000002da
bl FlagClear
ldr r0, =0x00004095
movs r1, 0x1
bl VarSet
_0813BAB6:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813BA60
thumb_func_start sub_813BADC
sub_813BADC: @ 813BADC
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
ldr r0, =0x00004095
bl VarGet
lsls r0, 16
lsrs r0, 16
cmp r0, 0x2
bne _0813BB58
ldr r4, =gSaveBlock1Ptr
ldr r0, [r4]
ldr r5, =0x0000141e
adds r3, r0, r5
ldrh r2, [r3]
movs r1, 0x7F
ands r1, r2
ldr r0, =gUnknown_085B3470
adds r0, r6, r0
ldrb r0, [r0]
adds r1, r0
cmp r1, 0x13
ble _0813BB54
bl sub_813BCA8
lsls r0, 16
lsrs r0, 16
cmp r0, 0x2
bhi _0813BB3C
bl sub_813BB74
ldr r0, [r4]
adds r0, r5
ldrh r2, [r0]
ldr r1, =0x0000ff80
ands r1, r2
strh r1, [r0]
b _0813BB58
.pool
_0813BB3C:
ldr r2, [r4]
adds r2, r5
ldrh r1, [r2]
ldr r0, =0x0000ff80
ands r0, r1
movs r1, 0x14
orrs r0, r1
strh r0, [r2]
b _0813BB58
.pool
_0813BB54:
adds r0, r2, r0
strh r0, [r3]
_0813BB58:
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, =0x0000141e
adds r0, r1
ldrb r1, [r0]
movs r0, 0x7F
ands r0, r1
pop {r4-r6}
pop {r1}
bx r1
.pool
thumb_func_end sub_813BADC
thumb_func_start sub_813BB74
sub_813BB74: @ 813BB74
push {r4-r7,lr}
sub sp, 0x8
movs r3, 0
movs r5, 0
ldr r7, =gSaveBlock1Ptr
ldr r2, =0x0000141e
movs r6, 0x1
_0813BB82:
ldr r0, [r7]
adds r0, r2
ldrh r1, [r0]
ldr r0, =gUnknown_085B3474
adds r0, r5, r0
ldrb r4, [r0]
asrs r1, r4
ands r1, r6
cmp r1, 0
bne _0813BBC8
adds r3, r5, 0
str r2, [sp]
str r3, [sp, 0x4]
bl Random
adds r1, r6, 0
ands r1, r0
ldr r2, [sp]
ldr r3, [sp, 0x4]
cmp r1, 0
beq _0813BBC8
ldr r0, [r7]
adds r0, r2
adds r1, r6, 0
lsls r1, r4
ldrh r2, [r0]
orrs r1, r2
strh r1, [r0]
b _0813BBEA
.pool
_0813BBC8:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x7
bls _0813BB82
ldr r0, =gSaveBlock1Ptr
ldr r2, [r0]
ldr r0, =0x0000141e
adds r2, r0
ldr r1, =gUnknown_085B3474
adds r1, r3, r1
movs r0, 0x1
ldrb r1, [r1]
lsls r0, r1
ldrh r1, [r2]
orrs r0, r1
strh r0, [r2]
_0813BBEA:
adds r0, r3, 0
add sp, 0x8
pop {r4-r7}
pop {r1}
bx r1
.pool
thumb_func_end sub_813BB74
thumb_func_start sub_813BC00
sub_813BC00: @ 813BC00
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
movs r0, 0
mov r10, r0
bl sub_813BCA8
lsls r0, 16
lsrs r0, 16
cmp r0, 0x1
bne _0813BC2E
movs r0, 0
b _0813BC8E
_0813BC1E:
mov r1, r8
ldr r0, [r1]
add r0, r9
lsls r4, r6
ldrh r1, [r0]
eors r4, r1
strh r4, [r0]
b _0813BC8C
_0813BC2E:
movs r5, 0
ldr r2, =gSaveBlock1Ptr
mov r8, r2
ldr r0, =0x0000141e
mov r9, r0
movs r4, 0x1
_0813BC3A:
mov r1, r8
ldr r0, [r1]
add r0, r9
ldrh r1, [r0]
ldr r7, =gUnknown_085B347C
adds r0, r5, r7
ldrb r6, [r0]
asrs r1, r6
ands r1, r4
cmp r1, 0
beq _0813BC5E
mov r10, r5
bl Random
adds r1, r4, 0
ands r1, r0
cmp r1, 0
bne _0813BC1E
_0813BC5E:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x7
bls _0813BC3A
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r2, =0x0000141e
adds r4, r0, r2
ldrh r1, [r4]
mov r2, r10
adds r0, r2, r7
ldrb r2, [r0]
adds r0, r1, 0
asrs r0, r2
movs r3, 0x1
ands r0, r3
cmp r0, 0
beq _0813BC8C
adds r0, r3, 0
lsls r0, r2
eors r1, r0
strh r1, [r4]
_0813BC8C:
mov r0, r10
_0813BC8E:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
.pool
thumb_func_end sub_813BC00
thumb_func_start sub_813BCA8
sub_813BCA8: @ 813BCA8
push {r4,r5,lr}
movs r3, 0
movs r2, 0
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, =0x0000141e
adds r0, r1
ldrh r4, [r0]
movs r5, 0x1
_0813BCBA:
adds r1, r2, 0
adds r1, 0x8
adds r0, r4, 0
asrs r0, r1
ands r0, r5
cmp r0, 0
beq _0813BCCE
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
_0813BCCE:
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x7
bls _0813BCBA
adds r0, r3, 0
pop {r4,r5}
pop {r1}
bx r1
.pool
thumb_func_end sub_813BCA8
thumb_func_start sub_813BCE8
sub_813BCE8: @ 813BCE8
push {r4-r6,lr}
movs r5, 0
ldr r2, =gSaveBlock2Ptr
ldr r0, [r2]
ldrh r1, [r0, 0xE]
ldr r0, =0x000003e6
cmp r1, r0
bhi _0813BD58
adds r6, r2, 0
b _0813BD32
.pool
_0813BD04:
ldr r0, [r6]
ldrh r1, [r0, 0xE]
ldr r4, =gSaveBlock1Ptr
ldr r0, [r4]
movs r2, 0xA1
lsls r2, 5
adds r0, r2
ldrh r0, [r0]
subs r1, r0
cmp r1, 0xB
ble _0813BD58
bl sub_813BC00
ldr r0, [r4]
movs r1, 0xA1
lsls r1, 5
adds r0, r1
ldrh r1, [r0]
adds r1, 0xC
strh r1, [r0]
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
_0813BD32:
bl sub_813BCA8
lsls r0, 16
lsrs r0, 16
cmp r0, 0x4
bhi _0813BD54
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
ldr r0, [r6]
ldrh r0, [r0, 0xE]
movs r2, 0xA1
lsls r2, 5
adds r1, r2
strh r0, [r1]
b _0813BD58
.pool
_0813BD54:
cmp r5, 0x8
bne _0813BD04
_0813BD58:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_813BCE8
thumb_func_start sub_813BD60
sub_813BD60: @ 813BD60
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, =0x0000141e
adds r0, r1
ldrh r0, [r0]
ldr r1, =gSpecialVar_0x8004
ldrh r1, [r1]
asrs r0, r1
movs r1, 0x1
ands r0, r1
bx lr
.pool
thumb_func_end sub_813BD60
thumb_func_start sub_813BD84
sub_813BD84: @ 813BD84
ldr r0, =gSaveBlock1Ptr
ldr r2, [r0]
ldr r0, =0x0000141e
adds r2, r0
ldrh r1, [r2]
movs r3, 0x80
lsls r3, 6
adds r0, r3, 0
orrs r0, r1
movs r3, 0x80
lsls r3, 1
adds r1, r3, 0
orrs r0, r1
movs r3, 0x80
lsls r3, 3
adds r1, r3, 0
orrs r0, r1
strh r0, [r2]
bx lr
.pool
thumb_func_end sub_813BD84
thumb_func_start sub_813BDB4
sub_813BDB4: @ 813BDB4
push {lr}
movs r3, 0
movs r2, 0
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
subs r0, 0x8
cmp r0, 0x7
bhi _0813BE14
lsls r0, 2
ldr r1, =_0813BDD8
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_0813BDD8:
.4byte _0813BE14
.4byte _0813BE14
.4byte _0813BDF8
.4byte _0813BDFE
.4byte _0813BE04
.4byte _0813BE0A
.4byte _0813BE10
.4byte _0813BE14
_0813BDF8:
movs r3, 0
movs r2, 0x3
b _0813BE14
_0813BDFE:
movs r3, 0
movs r2, 0x1
b _0813BE14
_0813BE04:
movs r3, 0x1
movs r2, 0
b _0813BE14
_0813BE0A:
movs r3, 0
movs r2, 0x4
b _0813BE14
_0813BE10:
movs r3, 0x1
movs r2, 0x5
_0813BE14:
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, =0x00003150
adds r0, r1
adds r1, r3, 0
bl sub_813BE30
pop {r0}
bx r0
.pool
thumb_func_end sub_813BDB4
thumb_func_start sub_813BE30
sub_813BE30: @ 813BE30
push {r4-r6,lr}
adds r6, r0, 0
lsls r1, 24
lsrs r5, r1, 24
lsls r2, 24
lsrs r2, 24
lsls r0, r5, 4
adds r1, r6, r0
ldrb r0, [r1]
cmp r0, 0xFF
bne _0813BEE8
cmp r2, 0x5
bhi _0813BED4
lsls r0, r2, 2
ldr r1, =_0813BE58
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_0813BE58:
.4byte _0813BED4
.4byte _0813BE70
.4byte _0813BE84
.4byte _0813BE98
.4byte _0813BEAC
.4byte _0813BEC0
_0813BE70:
ldr r0, =gStringVar1
ldr r1, =gText_Steven
bl StringCopy
b _0813BF04
.pool
_0813BE84:
ldr r0, =gStringVar1
ldr r1, =gText_Brawly
bl StringCopy
b _0813BF04
.pool
_0813BE98:
ldr r0, =gStringVar1
ldr r1, =gText_Winona
bl StringCopy
b _0813BF04
.pool
_0813BEAC:
ldr r0, =gStringVar1
ldr r1, =gText_Phoebe
bl StringCopy
b _0813BF04
.pool
_0813BEC0:
ldr r0, =gStringVar1
ldr r1, =gText_Glacia
bl StringCopy
b _0813BF04
.pool
_0813BED4:
ldr r0, =gStringVar1
ldr r1, =gText_Wallace
bl StringCopy
b _0813BF04
.pool
_0813BEE8:
ldr r4, =gStringVar1
adds r0, r4, 0
movs r2, 0x7
bl StringCopyN
movs r0, 0xFF
strb r0, [r4, 0x7]
adds r0, r6, 0
adds r0, 0x50
adds r0, r5
ldrb r1, [r0]
adds r0, r4, 0
bl ConvertInternationalString
_0813BF04:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_813BE30
thumb_func_start sub_813BF10
sub_813BF10: @ 813BF10
push {lr}
ldr r0, =0x00004095
bl VarGet
lsls r0, 16
lsrs r0, 16
cmp r0, 0x2
bne _0813BF40
bl sub_813BA30
ldr r0, =gBattleOutcome
ldrb r0, [r0]
cmp r0, 0x1
bne _0813BF3C
bl sub_813BB74
b _0813BF40
.pool
_0813BF3C:
bl sub_813BC00
_0813BF40:
pop {r0}
bx r0
thumb_func_end sub_813BF10
thumb_func_start sub_813BF44
sub_813BF44: @ 813BF44
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, =0x0000141e
adds r0, r1
ldrh r0, [r0]
lsrs r0, 7
movs r1, 0x1
ands r0, r1
bx lr
.pool
thumb_func_end sub_813BF44
thumb_func_start sub_813BF60
sub_813BF60: @ 813BF60
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
ldr r0, =0x0000141e
adds r1, r0
ldrh r2, [r1]
movs r0, 0x80
orrs r0, r2
strh r0, [r1]
bx lr
.pool
thumb_func_end sub_813BF60
thumb_func_start sub_813BF7C
sub_813BF7C: @ 813BF7C
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrb r0, [r0]
bl sub_813BADC
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.pool
thumb_func_end sub_813BF7C
.align 2, 0 @ Don't pad with nop.