diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2021-05-15 16:59:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-15 18:59:55 -0500 |
commit | f402e46cd3c8b7236673d6edbae77903a7cc0618 (patch) | |
tree | 37a19f3ab35a73c29d4d6da565741beaf7bb547f /asm | |
parent | f65dee5a143bd543c74c010d7252eb76893ee243 (diff) |
Sese's April/May Dump (#37)
* splitting lots of pokemon square and labeling lots of other things
* actually commit this stuff
* more moving data and things
* more screen work
* split out some pokemon dungeon data
* lots of data work
* push more data work
* split kecleon, decomp another kanghaskhan func, and try to doc UpdateBGControl more
* lots of item work
* label more item things
* subtype -> category and doc types/category
Diffstat (limited to 'asm')
47 files changed, 18811 insertions, 25400 deletions
diff --git a/asm/code_2.s b/asm/code_2.s index 30f2b05..27e8270 100644 --- a/asm/code_2.s +++ b/asm/code_2.s @@ -199,7 +199,7 @@ _080007CC: bhi _080007EC add r0, sp, 0x4 movs r1, 0x1 - bl sub_801203C + bl WriteSavetoPak adds r4, r0, 0 b _080007EE _080007EC: @@ -1549,7 +1549,7 @@ _08001298: bx r0 .align 2, 0 _080012B8: .4byte gUnknown_203B460 -_080012BC: .4byte gUnknown_203B45C +_080012BC: .4byte gRecruitedPokemonRef thumb_func_end sub_8001248 thumb_func_start sub_80012C0 @@ -1608,7 +1608,7 @@ _08001306: bx r0 .align 2, 0 _08001324: .4byte gUnknown_203B460 -_08001328: .4byte gUnknown_203B45C +_08001328: .4byte gRecruitedPokemonRef thumb_func_end sub_80012C0 .align 2,0 diff --git a/asm/code_8009804.s b/asm/code_8009804.s index 809ec8a..ba1173b 100644 --- a/asm/code_8009804.s +++ b/asm/code_8009804.s @@ -5,117 +5,6 @@ .text - thumb_func_start sub_8009908 -sub_8009908: - push {r4-r7,lr} - movs r5, 0 - ldr r0, _08009994 - ldr r0, [r0] - cmp r5, r0 - bge _08009936 - ldr r4, _08009998 - adds r7, r4, 0 - movs r6, 0 -_0800991A: - ldr r0, [r4] - adds r1, r7, 0x4 - adds r1, r6, r1 - ldr r1, [r1] - ldr r2, [r4, 0x8] - bl CpuCopy - adds r4, 0xC - adds r6, 0xC - adds r5, 0x1 - ldr r0, _08009994 - ldr r0, [r0] - cmp r5, r0 - blt _0800991A -_08009936: - ldr r0, _08009994 - movs r5, 0 - str r5, [r0] - ldr r4, _0800999C - ldrb r0, [r4] - cmp r0, 0 - beq _08009952 - strb r5, [r4] - ldr r0, _080099A0 - ldr r1, _080099A4 - movs r2, 0x80 - lsls r2, 4 - bl CpuCopy -_08009952: - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _08009966 - strb r5, [r4, 0x1] - ldr r0, _080099A8 - ldr r1, _080099AC - movs r2, 0x80 - lsls r2, 4 - bl CpuCopy -_08009966: - ldrb r0, [r4, 0x2] - cmp r0, 0 - beq _0800997A - strb r5, [r4, 0x2] - ldr r0, _080099B0 - ldr r1, _080099B4 - movs r2, 0x80 - lsls r2, 4 - bl CpuCopy -_0800997A: - ldrb r0, [r4, 0x3] - cmp r0, 0 - beq _0800998E - strb r5, [r4, 0x3] - ldr r0, _080099B8 - ldr r1, _080099BC - movs r2, 0x80 - lsls r2, 4 - bl CpuCopy -_0800998E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08009994: .4byte gUnknown_202D23C -_08009998: .4byte gUnknown_202D240 -_0800999C: .4byte gUnknown_202D238 -_080099A0: .4byte 0x06006000 -_080099A4: .4byte gUnknown_202B038 -_080099A8: .4byte 0x06006800 -_080099AC: .4byte gUnknown_202B838 -_080099B0: .4byte 0x06007000 -_080099B4: .4byte gUnknown_202C038 -_080099B8: .4byte 0x06007800 -_080099BC: .4byte gUnknown_202C838 - thumb_func_end sub_8009908 - - thumb_func_start sub_80099C0 -sub_80099C0: - push {r4,r5,lr} - ldr r0, _080099E4 - ldr r4, _080099E8 - movs r5, 0x80 - lsls r5, 4 - adds r1, r4, 0 - adds r2, r5, 0 - bl CpuCopy - ldr r0, _080099EC - adds r4, r5 - adds r1, r4, 0 - adds r2, r5, 0 - bl CpuCopy - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080099E4: .4byte 0x06006000 -_080099E8: .4byte gUnknown_202B038 -_080099EC: .4byte 0x06006800 - thumb_func_end sub_80099C0 - thumb_func_start sub_80099F0 sub_80099F0: push {lr} diff --git a/asm/code_800D090.s b/asm/code_800D090.s index efc28d7..a8eadca 100644 --- a/asm/code_800D090.s +++ b/asm/code_800D090.s @@ -1512,7 +1512,7 @@ sub_800DCD0: ldr r0, [r4, 0x4C] lsls r0, 16 lsrs r0, 16 - bl sub_8011988 + bl PlaySound _0800DCF6: str r5, [r4, 0x4C] str r5, [r4, 0x50] diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s index e0de48b..57fabe0 100644 --- a/asm/code_8012A18.s +++ b/asm/code_8012A18.s @@ -7182,14471 +7182,5 @@ _080162E0: bx r1 thumb_func_end sub_80162B8 - thumb_func_start DisplayPersianDialogueSprite -DisplayPersianDialogueSprite: - push {r4-r6,lr} - adds r4, r0, 0 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _0801633C - movs r0, 0x84 - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r6, 0 - str r6, [r0, 0x10] - str r4, [r0] - ldr r0, _08016340 - movs r1, 0x35 - bl sub_808D8E0 - ldr r4, _08016344 - adds r0, r4, 0 - movs r1, 0x35 - bl sub_808D8E0 - movs r0, 0x35 - bl GetMonSpecies - adds r1, r0, 0 - subs r4, 0x50 - adds r0, r4, 0 - bl strcpy - ldr r5, [r5] - ldr r0, [r5] - cmp r0, 0x1 - bne _08016348 - adds r0, r5, 0 - adds r0, 0xA4 - str r6, [r0] - b _08016352 - .align 2, 0 -_0801633C: .4byte gUnknown_203B204 -_08016340: .4byte gUnknown_202E5D8 -_08016344: .4byte gUnknown_202E1C8 -_08016348: - adds r1, r5, 0 - adds r1, 0xA4 - adds r0, r5, 0 - adds r0, 0x94 - str r0, [r1] -_08016352: - movs r0, 0x35 - bl GetDialogueSpriteDataPtr - ldr r2, _0801639C - ldr r3, [r2] - adds r1, r3, 0 - adds r1, 0x94 - str r0, [r1] - adds r1, 0x4 - ldr r0, [r0, 0x4] - str r0, [r1] - adds r0, r3, 0 - adds r0, 0xA0 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xA1 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xA2 - strb r1, [r0] - ldr r1, [r2] - adds r2, r1, 0 - adds r2, 0x9C - movs r0, 0x2 - strh r0, [r2] - adds r1, 0x9E - movs r0, 0x8 - strh r0, [r1] - movs r0, 0 - bl sub_8016444 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0801639C: .4byte gUnknown_203B204 - thumb_func_end DisplayPersianDialogueSprite - - thumb_func_start sub_80163A0 -sub_80163A0: - push {lr} - ldr r0, _080163B8 - ldr r0, [r0] - ldr r0, [r0, 0x4] - cmp r0, 0xC - bhi _08016410 - lsls r0, 2 - ldr r1, _080163BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080163B8: .4byte gUnknown_203B204 -_080163BC: .4byte _080163C0 - .align 2, 0 -_080163C0: - .4byte _08016410 - .4byte _080163F4 - .4byte _080163FA - .4byte _08016410 - .4byte _08016410 - .4byte _08016410 - .4byte _0801640C - .4byte _08016410 - .4byte _08016400 - .4byte _08016410 - .4byte _08016410 - .4byte _08016406 - .4byte _08016410 -_080163F4: - bl sub_8016B24 - b _08016414 -_080163FA: - bl sub_80169BC - b _08016414 -_08016400: - bl sub_8016A18 - b _08016414 -_08016406: - bl sub_8016A8C - b _08016414 -_0801640C: - movs r0, 0x3 - b _08016416 -_08016410: - bl sub_8016B00 -_08016414: - movs r0, 0 -_08016416: - pop {r1} - bx r1 - thumb_func_end sub_80163A0 - - thumb_func_start sub_801641C -sub_801641C: - push {r4,lr} - ldr r4, _08016440 - ldr r0, [r4] - cmp r0, 0 - beq _08016438 - adds r0, 0x94 - ldr r0, [r0] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08016438: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08016440: .4byte gUnknown_203B204 - thumb_func_end sub_801641C - - thumb_func_start sub_8016444 -sub_8016444: - push {lr} - ldr r1, _08016458 - ldr r1, [r1] - str r0, [r1, 0x4] - bl sub_801645C - bl sub_801653C - pop {r0} - bx r0 - .align 2, 0 -_08016458: .4byte gUnknown_203B204 - thumb_func_end sub_8016444 - - thumb_func_start sub_801645C -sub_801645C: - push {r4-r7,lr} - ldr r4, _0801647C - ldr r0, [r4] - adds r0, 0xA8 - bl sub_8006518 - ldr r0, [r4] - ldr r1, [r0, 0x4] - cmp r1, 0x8 - beq _080164AC - cmp r1, 0x8 - bgt _08016480 - cmp r1, 0x2 - beq _08016486 - b _080164F8 - .align 2, 0 -_0801647C: .4byte gUnknown_203B204 -_08016480: - cmp r1, 0xB - beq _080164AC - b _080164F8 -_08016486: - adds r0, 0xA8 - movs r1, 0x80 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC0 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xD8 - strb r1, [r0] - ldr r1, [r4] - adds r1, 0xF0 - ldr r0, _080164A8 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - b _080164D8 - .align 2, 0 -_080164A8: .4byte gUnknown_80DB6F4 -_080164AC: - ldr r4, _080164EC - ldr r0, [r4] - adds r0, 0xA8 - movs r1, 0x80 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC0 - strb r1, [r0] - ldr r1, [r4] - adds r1, 0xF0 - ldr r0, _080164F0 - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r1, [r4] - adds r1, 0xD8 - ldr r0, _080164F4 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} -_080164D8: - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0xA8 - movs r1, 0x1 - movs r2, 0 - bl sub_800641C - b _0801652E - .align 2, 0 -_080164EC: .4byte gUnknown_203B204 -_080164F0: .4byte gUnknown_80DB6F4 -_080164F4: .4byte gUnknown_80DB70C -_080164F8: - ldr r6, _08016534 - mov r12, r6 - ldr r4, _08016538 - movs r3, 0 - movs r2, 0x3 -_08016502: - mov r7, r12 - ldr r1, [r7] - adds r1, r3 - adds r1, 0xA8 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _08016502 - bl ResetUnusedInputStruct - ldr r0, _08016534 - ldr r0, [r0] - adds r0, 0xA8 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C -_0801652E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08016534: .4byte gUnknown_203B204 -_08016538: .4byte gUnknown_80DB6DC - thumb_func_end sub_801645C - - thumb_func_start sub_801653C -sub_801653C: - push {r4,r5,lr} - sub sp, 0x14 - ldr r1, _08016558 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r2, r1, 0 - cmp r0, 0xC - bls _0801654E - b _080168EC -_0801654E: - lsls r0, 2 - ldr r1, _0801655C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08016558: .4byte gUnknown_203B204 -_0801655C: .4byte _08016560 - .align 2, 0 -_08016560: - .4byte _08016594 - .4byte _080165B4 - .4byte _080168B2 - .4byte _08016650 - .4byte _08016668 - .4byte _080166C4 - .4byte _080168EC - .4byte _080166DC - .4byte _0801674C - .4byte _080167A8 - .4byte _080167CC - .4byte _0801685C - .4byte _080168C4 -_08016594: - ldr r2, [r2] - movs r0, 0x1 - str r0, [r2, 0x8] - ldr r3, _080165B0 - ldr r1, [r2] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - adds r2, 0xA4 - ldr r2, [r2] - b _08016844 - .align 2, 0 -_080165B0: .4byte gFelicityDialogue -_080165B4: - bl sub_8016900 - ldr r0, _080165FC - ldr r0, [r0] - mov r12, r0 - movs r0, 0x2 - mov r1, r12 - str r0, [r1, 0x8] - ldr r0, _08016600 - ldr r0, [r0] - movs r3, 0x99 - lsls r3, 2 - adds r0, r3 - ldr r4, [r0] - cmp r4, 0 - bne _08016608 - ldr r2, _08016604 - ldr r1, [r1] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r0, r2 - ldr r0, [r0] - mov r5, r12 - ldr r2, [r5, 0x10] - mov r3, r12 - adds r3, 0x14 - mov r1, r12 - adds r1, 0x54 - str r1, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - b _08016632 - .align 2, 0 -_080165FC: .4byte gUnknown_203B204 -_08016600: .4byte gUnknown_203B460 -_08016604: .4byte gFelicityDialogue -_08016608: - ldr r0, _08016648 - str r4, [r0] - ldr r2, _0801664C - mov r0, r12 - ldr r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x8 - adds r0, r2 - ldr r0, [r0] - mov r1, r12 - ldr r2, [r1, 0x10] - mov r3, r12 - adds r3, 0x14 - adds r1, 0x54 - str r1, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] -_08016632: - mov r1, r12 - adds r1, 0xA4 - ldr r1, [r1] - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _080168EC - .align 2, 0 -_08016648: .4byte gUnknown_202DE30 -_0801664C: .4byte gFelicityDialogue -_08016650: - ldr r3, [r2] - movs r0, 0x1 - str r0, [r3, 0x8] - ldr r2, _08016664 - ldr r1, [r3] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x38 - b _0801683C - .align 2, 0 -_08016664: .4byte gFelicityDialogue -_08016668: - ldr r3, [r2] - movs r0, 0x6 - str r0, [r3, 0x8] - ldr r0, _08016698 - ldr r0, [r0] - movs r5, 0x99 - lsls r5, 2 - adds r0, r5 - ldr r1, [r0] - cmp r1, 0 - bne _080166A0 - ldr r2, _0801669C - ldr r1, [r3] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x10 - adds r0, r2 - ldr r0, [r0] - adds r1, r3, 0 - adds r1, 0xA4 - ldr r2, [r1] - b _08016844 - .align 2, 0 -_08016698: .4byte gUnknown_203B460 -_0801669C: .4byte gFelicityDialogue -_080166A0: - ldr r0, _080166BC - str r1, [r0] - ldr r2, _080166C0 - ldr r1, [r3] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x14 - adds r0, r2 - ldr r0, [r0] - adds r1, r3, 0 - adds r1, 0xA4 - ldr r2, [r1] - b _08016844 - .align 2, 0 -_080166BC: .4byte gUnknown_202DE30 -_080166C0: .4byte gFelicityDialogue -_080166C4: - ldr r3, [r2] - movs r0, 0x1 - str r0, [r3, 0x8] - ldr r2, _080166D8 - ldr r1, [r3] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0xC - b _0801683C - .align 2, 0 -_080166D8: .4byte gFelicityDialogue -_080166DC: - ldr r0, _08016700 - ldr r1, [r0] - movs r3, 0x98 - lsls r3, 2 - adds r0, r1, r3 - ldr r0, [r0] - cmp r0, 0 - bne _08016708 - ldr r3, [r2] - movs r0, 0x1 - str r0, [r3, 0x8] - ldr r2, _08016704 - ldr r1, [r3] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x1C - b _0801683C - .align 2, 0 -_08016700: .4byte gUnknown_203B460 -_08016704: .4byte gFelicityDialogue -_08016708: - movs r5, 0x99 - lsls r5, 2 - adds r0, r1, r5 - ldr r1, [r0] - ldr r0, _0801672C - cmp r1, r0 - ble _08016734 - ldr r3, [r2] - movs r0, 0x1 - str r0, [r3, 0x8] - ldr r2, _08016730 - ldr r1, [r3] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x20 - b _0801683C - .align 2, 0 -_0801672C: .4byte 0x0098967e -_08016730: .4byte gFelicityDialogue -_08016734: - ldr r3, [r2] - movs r0, 0x8 - str r0, [r3, 0x8] - ldr r2, _08016748 - ldr r1, [r3] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x18 - b _0801683C - .align 2, 0 -_08016748: .4byte gFelicityDialogue -_0801674C: - ldr r4, [r2] - ldr r0, _080167A0 - ldr r3, [r0] - movs r1, 0x99 - lsls r1, 2 - adds r0, r3, r1 - ldr r1, [r0] - ldr r0, _080167A4 - subs r0, r1 - str r0, [r4, 0x70] - movs r5, 0x98 - lsls r5, 2 - adds r1, r3, r5 - ldr r1, [r1] - cmp r0, r1 - ble _0801676E - str r1, [r4, 0x70] -_0801676E: - ldr r2, [r2] - ldr r0, [r2, 0x70] - str r0, [r2, 0x68] - movs r0, 0x1 - str r0, [r2, 0x6C] - movs r0, 0x5 - str r0, [r2, 0x74] - movs r0, 0x2 - str r0, [r2, 0x78] - adds r0, r2, 0 - adds r0, 0xD8 - str r0, [r2, 0x7C] - adds r1, r2, 0 - adds r1, 0x80 - movs r0, 0x50 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x12 - str r0, [r1] - adds r0, r2, 0 - adds r0, 0x64 - bl sub_8013AA0 - movs r0, 0x1 - b _080168AE - .align 2, 0 -_080167A0: .4byte gUnknown_203B460 -_080167A4: .4byte 0x0098967f -_080167A8: - ldr r3, [r2] - movs r0, 0x1 - str r0, [r3, 0x8] - ldr r1, _080167C4 - ldr r0, [r3, 0xC] - str r0, [r1] - ldr r2, _080167C8 - ldr r1, [r3] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x24 - b _0801683C - .align 2, 0 -_080167C4: .4byte gUnknown_202DE30 -_080167C8: .4byte gFelicityDialogue -_080167CC: - ldr r0, _080167F4 - ldr r3, [r0] - movs r1, 0x98 - lsls r1, 2 - adds r0, r3, r1 - ldr r1, [r0] - ldr r0, _080167F8 - cmp r1, r0 - ble _08016800 - ldr r3, [r2] - movs r0, 0x1 - str r0, [r3, 0x8] - ldr r2, _080167FC - ldr r1, [r3] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x30 - b _0801683C - .align 2, 0 -_080167F4: .4byte gUnknown_203B460 -_080167F8: .4byte 0x0001869e -_080167FC: .4byte gFelicityDialogue -_08016800: - movs r5, 0x99 - lsls r5, 2 - adds r4, r3, r5 - ldr r0, [r4] - cmp r0, 0 - bne _08016824 - ldr r3, [r2] - movs r0, 0x1 - str r0, [r3, 0x8] - ldr r2, _08016820 - ldr r1, [r3] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x2C - b _0801683C - .align 2, 0 -_08016820: .4byte gFelicityDialogue -_08016824: - ldr r3, [r2] - movs r0, 0xB - str r0, [r3, 0x8] - ldr r1, _08016850 - ldr r0, [r4] - str r0, [r1] - ldr r2, _08016854 - ldr r1, [r3] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x28 -_0801683C: - adds r0, r2 - ldr r0, [r0] - adds r3, 0xA4 - ldr r2, [r3] -_08016844: - ldr r3, _08016858 - movs r1, 0 - bl sub_80141B4 - b _080168EC - .align 2, 0 -_08016850: .4byte gUnknown_202DE30 -_08016854: .4byte gFelicityDialogue -_08016858: .4byte 0x0000010d -_0801685C: - ldr r4, [r2] - ldr r0, _080168BC - ldr r3, [r0] - movs r1, 0x98 - lsls r1, 2 - adds r0, r3, r1 - ldr r1, [r0] - ldr r0, _080168C0 - subs r0, r1 - str r0, [r4, 0x70] - movs r5, 0x99 - lsls r5, 2 - adds r1, r3, r5 - ldr r1, [r1] - cmp r0, r1 - ble _0801687E - str r1, [r4, 0x70] -_0801687E: - ldr r2, [r2] - ldr r0, [r2, 0x70] - str r0, [r2, 0x68] - movs r0, 0x1 - str r0, [r2, 0x6C] - movs r0, 0x5 - str r0, [r2, 0x74] - movs r0, 0x2 - str r0, [r2, 0x78] - adds r0, r2, 0 - adds r0, 0xD8 - str r0, [r2, 0x7C] - adds r1, r2, 0 - adds r1, 0x80 - movs r0, 0x50 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x12 - str r0, [r1] - adds r0, r2, 0 - adds r0, 0x64 - bl sub_8013AA0 - movs r0, 0 -_080168AE: - bl sub_8016B48 -_080168B2: - movs r0, 0x3 - bl CreateFelicityBankShopMenu - b _080168EC - .align 2, 0 -_080168BC: .4byte gUnknown_203B460 -_080168C0: .4byte 0x0001869f -_080168C4: - ldr r3, [r2] - movs r0, 0x1 - str r0, [r3, 0x8] - ldr r1, _080168F4 - ldr r0, [r3, 0xC] - str r0, [r1] - ldr r2, _080168F8 - ldr r1, [r3] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, 0x34 - adds r0, r2 - ldr r0, [r0] - adds r3, 0xA4 - ldr r2, [r3] - ldr r3, _080168FC - movs r1, 0 - bl sub_80141B4 -_080168EC: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080168F4: .4byte gUnknown_202DE30 -_080168F8: .4byte gFelicityDialogue -_080168FC: .4byte 0x0000010d - thumb_func_end sub_801653C - - thumb_func_start sub_8016900 -sub_8016900: - push {r4-r7,lr} - ldr r4, _08016980 - ldr r0, [r4] - adds r0, 0x54 - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r3, [r4] - movs r2, 0 - ldr r0, _08016984 - ldr r0, [r0] - str r0, [r3, 0x14] - movs r0, 0x2 - str r0, [r3, 0x18] - movs r1, 0x1 - ldr r0, _08016988 - ldr r0, [r0] - str r0, [r3, 0x1C] - movs r0, 0x3 - str r0, [r3, 0x20] - ldr r0, _0801698C - ldr r0, [r0] - str r0, [r3, 0x24] - movs r0, 0x4 - str r0, [r3, 0x28] - ldr r0, _08016990 - ldr r0, [r0] - str r0, [r3, 0x2C] - str r1, [r3, 0x30] - movs r6, 0x4 - str r2, [r3, 0x34] - str r1, [r3, 0x38] - movs r5, 0 - mov r12, r3 - adds r3, 0x18 - mov r2, r12 - adds r2, 0x54 -_0801694C: - ldrh r0, [r2] - cmp r0, 0 - bne _0801695C - ldr r1, [r3] - mov r7, r12 - ldr r0, [r7, 0x10] - cmp r1, r0 - beq _080169B6 -_0801695C: - adds r3, 0x8 - adds r2, 0x2 - adds r5, 0x1 - cmp r5, r6 - blt _0801694C - movs r5, 0 - cmp r5, r6 - bge _080169B6 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - cmp r0, 0 - bne _08016994 - ldr r0, [r1, 0x18] - str r0, [r1, 0x10] - b _080169B6 - .align 2, 0 -_08016980: .4byte gUnknown_203B204 -_08016984: .4byte gUnknown_80D4958 -_08016988: .4byte gUnknown_80D4964 -_0801698C: .4byte gUnknown_80D4970 -_08016990: .4byte gUnknown_80D4934 -_08016994: - adds r5, 0x1 - cmp r5, r6 - bge _080169B6 - ldr r2, [r4] - lsls r0, r5, 1 - adds r1, r2, 0 - adds r1, 0x54 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _08016994 - lsls r0, r5, 3 - adds r1, r2, 0 - adds r1, 0x18 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x10] -_080169B6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8016900 - - thumb_func_start sub_80169BC -sub_80169BC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08016A10 - ldr r0, _080169E4 - ldr r1, [r0] - ldr r0, [sp] - str r0, [r1, 0x10] - ldr r0, [sp] - cmp r0, 0x2 - beq _080169F2 - cmp r0, 0x2 - bgt _080169E8 - cmp r0, 0x1 - beq _08016A0A - b _08016A10 - .align 2, 0 -_080169E4: .4byte gUnknown_203B204 -_080169E8: - cmp r0, 0x3 - beq _080169FA - cmp r0, 0x4 - beq _08016A02 - b _08016A10 -_080169F2: - movs r0, 0x7 - bl sub_8016444 - b _08016A10 -_080169FA: - movs r0, 0xA - bl sub_8016444 - b _08016A10 -_08016A02: - movs r0, 0x3 - bl sub_8016444 - b _08016A10 -_08016A0A: - movs r0, 0x4 - bl sub_8016444 -_08016A10: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80169BC - - thumb_func_start sub_8016A18 -sub_8016A18: - push {r4,lr} - ldr r4, _08016A38 - ldr r0, [r4] - adds r0, 0x64 - bl sub_8013BBC - cmp r0, 0x1 - beq _08016A3C - cmp r0, 0x1 - bcc _08016A86 - cmp r0, 0x2 - beq _08016A80 - cmp r0, 0x3 - beq _08016A44 - b _08016A86 - .align 2, 0 -_08016A38: .4byte gUnknown_203B204 -_08016A3C: - movs r0, 0x1 - bl sub_8016B48 - b _08016A86 -_08016A44: - ldr r3, [r4] - ldr r2, [r3, 0x64] - str r2, [r3, 0xC] - ldr r0, _08016A7C - ldr r0, [r0] - mov r12, r0 - movs r1, 0x99 - lsls r1, 2 - add r1, r12 - ldr r0, [r1] - adds r0, r2 - str r0, [r1] - movs r2, 0x98 - lsls r2, 2 - add r2, r12 - ldr r0, [r2] - ldr r1, [r3, 0xC] - subs r0, r1 - str r0, [r2] - movs r0, 0xA6 - lsls r0, 1 - bl sub_8011988 - movs r0, 0x9 - bl sub_8016444 - b _08016A86 - .align 2, 0 -_08016A7C: .4byte gUnknown_203B460 -_08016A80: - movs r0, 0x5 - bl sub_8016444 -_08016A86: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8016A18 - - thumb_func_start sub_8016A8C -sub_8016A8C: - push {r4,lr} - ldr r4, _08016AAC - ldr r0, [r4] - adds r0, 0x64 - bl sub_8013BBC - cmp r0, 0x1 - beq _08016AB0 - cmp r0, 0x1 - bcc _08016AFA - cmp r0, 0x2 - beq _08016AF4 - cmp r0, 0x3 - beq _08016AB8 - b _08016AFA - .align 2, 0 -_08016AAC: .4byte gUnknown_203B204 -_08016AB0: - movs r0, 0 - bl sub_8016B48 - b _08016AFA -_08016AB8: - ldr r3, [r4] - ldr r2, [r3, 0x64] - str r2, [r3, 0xC] - ldr r0, _08016AF0 - ldr r0, [r0] - mov r12, r0 - movs r1, 0x98 - lsls r1, 2 - add r1, r12 - ldr r0, [r1] - adds r0, r2 - str r0, [r1] - movs r2, 0x99 - lsls r2, 2 - add r2, r12 - ldr r0, [r2] - ldr r1, [r3, 0xC] - subs r0, r1 - str r0, [r2] - movs r0, 0xA6 - lsls r0, 1 - bl sub_8011988 - movs r0, 0xC - bl sub_8016444 - b _08016AFA - .align 2, 0 -_08016AF0: .4byte gUnknown_203B460 -_08016AF4: - movs r0, 0x5 - bl sub_8016444 -_08016AFA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8016A8C - - thumb_func_start sub_8016B00 -sub_8016B00: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08016B18 - ldr r0, _08016B20 - ldr r0, [r0] - ldr r0, [r0, 0x8] - bl sub_8016444 -_08016B18: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08016B20: .4byte gUnknown_203B204 - thumb_func_end sub_8016B00 - - thumb_func_start sub_8016B24 -sub_8016B24: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0x4 - bne _08016B3C - ldr r0, _08016B44 - ldr r0, [r0] - ldr r0, [r0, 0x8] - bl sub_8016444 -_08016B3C: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08016B44: .4byte gUnknown_203B204 - thumb_func_end sub_8016B24 - - thumb_func_start sub_8016B48 -sub_8016B48: - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _08016B7C - ldr r0, [r4] - ldr r0, [r0, 0x78] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x78] - bl sub_80073B8 - cmp r5, 0 - beq _08016B84 - ldr r0, _08016B80 - ldr r2, [r0] - ldr r0, [r4] - ldr r3, [r0, 0x78] - movs r0, 0 - str r0, [sp] - movs r0, 0xC - movs r1, 0 - bl xxx_call_draw_string - b _08016B96 - .align 2, 0 -_08016B7C: .4byte gUnknown_203B204 -_08016B80: .4byte gFelicityDeposit -_08016B84: - ldr r0, _08016BB0 - ldr r2, [r0] - ldr r0, [r4] - ldr r3, [r0, 0x78] - str r5, [sp] - movs r0, 0xC - movs r1, 0 - bl xxx_call_draw_string -_08016B96: - ldr r4, _08016BB4 - ldr r0, [r4] - adds r0, 0x64 - bl sub_8013C68 - ldr r0, [r4] - ldr r0, [r0, 0x78] - bl sub_80073E0 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08016BB0: .4byte gFelicityWithdraw -_08016BB4: .4byte gUnknown_203B204 - thumb_func_end sub_8016B48 - - thumb_func_start CreateFelicityBankShopMenu -CreateFelicityBankShopMenu: - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r4, r0, 0 - bl sub_8008C54 - adds r0, r4, 0 - bl sub_80073B8 - ldr r2, _08016C34 - movs r0, 0 - mov r8, r0 - str r0, [sp] - movs r0, 0x10 - movs r1, 0x4 - adds r3, r4, 0 - bl xxx_call_draw_string - ldr r6, _08016C38 - ldr r0, [r6] - movs r1, 0x98 - lsls r1, 2 - adds r0, r1 - ldr r2, [r0] - movs r5, 0x5 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x60 - movs r1, 0x4 - movs r3, 0x5 - bl sub_8012BC4 - ldr r2, _08016C3C - mov r0, r8 - str r0, [sp] - movs r0, 0x70 - movs r1, 0x4 - adds r3, r4, 0 - bl xxx_call_draw_string - ldr r0, [r6] - movs r1, 0x99 - lsls r1, 2 - adds r0, r1 - ldr r2, [r0] - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0xC8 - movs r1, 0x4 - movs r3, 0x7 - bl sub_8012BC4 - adds r0, r4, 0 - bl sub_80073E0 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08016C34: .4byte gFelicityMoney -_08016C38: .4byte gUnknown_203B460 -_08016C3C: .4byte gFelicitySavings - thumb_func_end CreateFelicityBankShopMenu - - thumb_func_start sub_8016C40 -sub_8016C40: - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - bl sub_8008C54 - adds r0, r4, 0 - bl sub_80073B8 - ldr r2, _08016C8C - movs r0, 0 - str r0, [sp] - movs r0, 0x6 - movs r1, 0 - adds r3, r4, 0 - bl xxx_call_draw_string - ldr r0, _08016C90 - ldr r0, [r0] - movs r1, 0x98 - lsls r1, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0x5 - str r0, [sp] - str r4, [sp, 0x4] - movs r0, 0x2A - movs r1, 0xC - movs r3, 0x5 - bl sub_8012BC4 - adds r0, r4, 0 - bl sub_80073E0 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08016C8C: .4byte gUnknown_80DB738 -_08016C90: .4byte gUnknown_203B460 - thumb_func_end sub_8016C40 - - thumb_func_start DisplayKangaskhanDialogueSprite -DisplayKangaskhanDialogueSprite: - push {r4-r6,lr} - adds r4, r0, 0 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _08016CF0 - movs r0, 0xA6 - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r6, 0 - str r6, [r0, 0x18] - str r6, [r0, 0x1C] - str r6, [r0, 0x20] - str r4, [r0] - ldr r0, _08016CF4 - movs r1, 0x73 - bl sub_808D8E0 - ldr r4, _08016CF8 - adds r0, r4, 0 - movs r1, 0x73 - bl sub_808D8E0 - movs r0, 0x73 - bl GetMonSpecies - adds r1, r0, 0 - subs r4, 0x50 - adds r0, r4, 0 - bl strcpy - ldr r5, [r5] - ldr r0, [r5] - cmp r0, 0x1 - bne _08016CFC - adds r0, r5, 0 - adds r0, 0xE8 - str r6, [r0] - b _08016D06 - .align 2, 0 -_08016CF0: .4byte gUnknown_203B208 -_08016CF4: .4byte gUnknown_202E5D8 -_08016CF8: .4byte gUnknown_202E1C8 -_08016CFC: - adds r1, r5, 0 - adds r1, 0xE8 - adds r0, r5, 0 - adds r0, 0xD8 - str r0, [r1] -_08016D06: - movs r0, 0x73 - bl GetDialogueSpriteDataPtr - ldr r2, _08016D50 - ldr r3, [r2] - adds r1, r3, 0 - adds r1, 0xD8 - str r0, [r1] - adds r1, 0x4 - ldr r0, [r0, 0x4] - str r0, [r1] - adds r0, r3, 0 - adds r0, 0xE4 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xE5 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xE6 - strb r1, [r0] - ldr r1, [r2] - adds r2, r1, 0 - adds r2, 0xE0 - movs r0, 0x2 - strh r0, [r2] - adds r1, 0xE2 - movs r0, 0x8 - strh r0, [r1] - movs r0, 0 - bl sub_8016E68 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08016D50: .4byte gUnknown_203B208 - thumb_func_end DisplayKangaskhanDialogueSprite - - thumb_func_start sub_8016D54 -sub_8016D54: - push {lr} - ldr r0, _08016D6C - ldr r0, [r0] - ldr r0, [r0, 0x4] - cmp r0, 0x1C - bhi _08016E34 - lsls r0, 2 - ldr r1, _08016D70 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08016D6C: .4byte gUnknown_203B208 -_08016D70: .4byte _08016D74 - .align 2, 0 -_08016D74: - .4byte _08016DE8 - .4byte _08016DE8 - .4byte _08016E34 - .4byte _08016E34 - .4byte _08016E30 - .4byte _08016E34 - .4byte _08016E34 - .4byte _08016E34 - .4byte _08016E34 - .4byte _08016E34 - .4byte _08016E34 - .4byte _08016E34 - .4byte _08016E34 - .4byte _08016DEE - .4byte _08016DEE - .4byte _08016DF4 - .4byte _08016DFA - .4byte _08016E00 - .4byte _08016E06 - .4byte _08016E34 - .4byte _08016E34 - .4byte _08016E34 - .4byte _08016E0C - .4byte _08016E0C - .4byte _08016E12 - .4byte _08016E18 - .4byte _08016E1E - .4byte _08016E24 - .4byte _08016E2A -_08016DE8: - bl sub_8017828 - b _08016E38 -_08016DEE: - bl sub_8017AF8 - b _08016E38 -_08016DF4: - bl sub_8017C7C - b _08016E38 -_08016DFA: - bl sub_8017DC0 - b _08016E38 -_08016E00: - bl sub_80178D0 - b _08016E38 -_08016E06: - bl sub_80179A8 - b _08016E38 -_08016E0C: - bl sub_8017B88 - b _08016E38 -_08016E12: - bl sub_8017C28 - b _08016E38 -_08016E18: - bl sub_8017D24 - b _08016E38 -_08016E1E: - bl sub_8017DDC - b _08016E38 -_08016E24: - bl sub_8017928 - b _08016E38 -_08016E2A: - bl sub_8017A1C - b _08016E38 -_08016E30: - movs r0, 0x3 - b _08016E3A -_08016E34: - bl sub_8017DF8 -_08016E38: - movs r0, 0 -_08016E3A: - pop {r1} - bx r1 - thumb_func_end sub_8016D54 - - thumb_func_start sub_8016E40 -sub_8016E40: - push {r4,lr} - ldr r4, _08016E64 - ldr r0, [r4] - cmp r0, 0 - beq _08016E5C - adds r0, 0xD8 - ldr r0, [r0] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08016E5C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08016E64: .4byte gUnknown_203B208 - thumb_func_end sub_8016E40 - - thumb_func_start sub_8016E68 -sub_8016E68: - push {lr} - ldr r1, _08016E7C - ldr r1, [r1] - str r0, [r1, 0x4] - bl sub_8016E80 - bl sub_8016FF8 - pop {r0} - bx r0 - .align 2, 0 -_08016E7C: .4byte gUnknown_203B208 - thumb_func_end sub_8016E68 - - thumb_func_start sub_8016E80 -sub_8016E80: - push {r4-r7,lr} - ldr r4, _08016EA4 - ldr r0, [r4] - adds r0, 0xEC - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0, 0x4] - subs r0, 0xD - cmp r0, 0xC - bls _08016E98 - b _08016FB4 -_08016E98: - lsls r0, 2 - ldr r1, _08016EA8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08016EA4: .4byte gUnknown_203B208 -_08016EA8: .4byte _08016EAC - .align 2, 0 -_08016EAC: - .4byte _08016EE0 - .4byte _08016EE0 - .4byte _08016F94 - .4byte _08016FB4 - .4byte _08016FB4 - .4byte _08016FB4 - .4byte _08016FB4 - .4byte _08016FB4 - .4byte _08016FB4 - .4byte _08016F2C - .4byte _08016F2C - .4byte _08016F7C - .4byte _08016F94 -_08016EE0: - ldr r3, _08016F24 - ldr r1, [r3] - ldr r2, _08016F28 - adds r1, 0xEC - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldr r1, [r3] - movs r6, 0x82 - lsls r6, 1 - adds r1, r6 - adds r0, r2, 0 - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldr r1, [r3] - movs r5, 0x8E - lsls r5, 1 - adds r1, r5 - adds r0, r2, 0 - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldr r0, [r3] - adds r0, 0xEC - ldm r2!, {r1,r3,r4} - stm r0!, {r1,r3,r4} - ldm r2!, {r5-r7} - stm r0!, {r5-r7} - b _08016FD8 - .align 2, 0 -_08016F24: .4byte gUnknown_203B208 -_08016F28: .4byte gUnknown_80DB748 -_08016F2C: - ldr r3, _08016F70 - ldr r1, [r3] - ldr r2, _08016F74 - adds r1, 0xEC - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldr r1, [r3] - movs r6, 0x82 - lsls r6, 1 - adds r1, r6 - adds r0, r2, 0 - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldr r0, [r3] - movs r5, 0x8E - lsls r5, 1 - adds r0, r5 - ldm r2!, {r1,r6,r7} - stm r0!, {r1,r6,r7} - ldm r2!, {r4-r6} - stm r0!, {r4-r6} - ldr r1, [r3] - adds r1, 0xEC - ldr r0, _08016F78 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - b _08016FD8 - .align 2, 0 -_08016F70: .4byte gUnknown_203B208 -_08016F74: .4byte gUnknown_80DB748 -_08016F78: .4byte gUnknown_80DB778 -_08016F7C: - ldr r0, _08016F8C - ldr r1, [r0] - movs r7, 0x82 - lsls r7, 1 - adds r1, r7 - ldr r0, _08016F90 - b _08016FA0 - .align 2, 0 -_08016F8C: .4byte gUnknown_203B208 -_08016F90: .4byte gUnknown_80DB790 -_08016F94: - ldr r0, _08016FAC - ldr r1, [r0] - movs r0, 0x8E - lsls r0, 1 - adds r1, r0 - ldr r0, _08016FB0 -_08016FA0: - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - b _08016FD8 - .align 2, 0 -_08016FAC: .4byte gUnknown_203B208 -_08016FB0: .4byte gUnknown_80DB760 -_08016FB4: - ldr r0, _08016FF0 - mov r12, r0 - ldr r4, _08016FF4 - movs r3, 0 - movs r2, 0x3 -_08016FBE: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - adds r1, 0xEC - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _08016FBE -_08016FD8: - bl ResetUnusedInputStruct - ldr r0, _08016FF0 - ldr r0, [r0] - adds r0, 0xEC - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08016FF0: .4byte gUnknown_203B208 -_08016FF4: .4byte gUnknown_80DB748 - thumb_func_end sub_8016E80 - - thumb_func_start sub_8016FF8 -sub_8016FF8: - push {r4,r5,lr} - sub sp, 0x14 - ldr r1, _08017014 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r4, r1, 0 - cmp r0, 0x1D - bls _0801700A - b _08017584 -_0801700A: - lsls r0, 2 - ldr r1, _08017018 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08017014: .4byte gUnknown_203B208 -_08017018: .4byte _0801701C - .align 2, 0 -_0801701C: - .4byte _08017094 - .4byte _080170BC - .4byte _0801710C - .4byte _0801713C - .4byte _08017584 - .4byte _0801715C - .4byte _0801718C - .4byte _080171BC - .4byte _080171EC - .4byte _0801721C - .4byte _0801724C - .4byte _0801726C - .4byte _0801728C - .4byte _080172AC - .4byte _080172BA - .4byte _080172C2 - .4byte _080174A8 - .4byte _080172E4 - .4byte _0801731C - .4byte _08017344 - .4byte _08017394 - .4byte _080173B4 - .4byte _080173E8 - .4byte _080173F6 - .4byte _08017404 - .4byte _08017474 - .4byte _080174A8 - .4byte _080174B2 - .4byte _080174E8 - .4byte _08017530 -_08017094: - bl sub_80175FC - ldr r2, _080170B4 - ldr r0, [r2] - adds r0, 0xE4 - movs r4, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r3, _080170B8 - ldr r5, [r2] - ldr r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r0, r3 - b _080170DA - .align 2, 0 -_080170B4: .4byte gUnknown_203B208 -_080170B8: .4byte gUnknown_80D5404 -_080170BC: - bl sub_80175FC - ldr r1, _08017104 - ldr r0, [r1] - adds r0, 0xE4 - movs r4, 0 - strb r4, [r0] - ldr r2, _08017108 - ldr r5, [r1] - ldr r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x4 - adds r0, r2 -_080170DA: - ldr r0, [r0] - ldr r2, [r5, 0x18] - adds r3, r5, 0 - adds r3, 0x24 - adds r1, r5, 0 - adds r1, 0x4C - str r1, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - adds r1, r5, 0 - adds r1, 0xE8 - ldr r1, [r1] - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _08017584 - .align 2, 0 -_08017104: .4byte gUnknown_203B208 -_08017108: .4byte gUnknown_80D5404 -_0801710C: - ldr r0, [r4] - movs r1, 0x1 - str r1, [r0, 0x8] - adds r0, 0xE4 - movs r1, 0 - strb r1, [r0] - ldr r2, _08017134 - ldr r3, [r4] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x4C - adds r0, r2 - ldr r0, [r0] - adds r3, 0xE8 - ldr r2, [r3] - ldr r3, _08017138 - b _080173D8 - .align 2, 0 -_08017134: .4byte gUnknown_80D5404 -_08017138: .4byte 0x0000010d -_0801713C: - ldr r0, [r4] - movs r1, 0x4 - str r1, [r0, 0x8] - adds r0, 0xE4 - movs r1, 0x1 - strb r1, [r0] - ldr r2, _08017158 - ldr r3, [r4] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x8 - b _080173CE - .align 2, 0 -_08017158: .4byte gUnknown_80D5404 -_0801715C: - ldr r0, [r4] - movs r1, 0x1 - str r1, [r0, 0x8] - adds r0, 0xE4 - movs r1, 0 - strb r1, [r0] - ldr r2, _08017184 - ldr r3, [r4] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x34 - adds r0, r2 - ldr r0, [r0] - adds r3, 0xE8 - ldr r2, [r3] - ldr r3, _08017188 - b _080173D8 - .align 2, 0 -_08017184: .4byte gUnknown_80D5404 -_08017188: .4byte 0x0000010d -_0801718C: - ldr r0, [r4] - movs r1, 0x1 - str r1, [r0, 0x8] - adds r0, 0xE4 - movs r1, 0 - strb r1, [r0] - ldr r2, _080171B4 - ldr r3, [r4] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x38 - adds r0, r2 - ldr r0, [r0] - adds r3, 0xE8 - ldr r2, [r3] - ldr r3, _080171B8 - b _080173D8 - .align 2, 0 -_080171B4: .4byte gUnknown_80D5404 -_080171B8: .4byte 0x0000010d -_080171BC: - ldr r0, [r4] - movs r1, 0x1 - str r1, [r0, 0x8] - adds r0, 0xE4 - movs r1, 0 - strb r1, [r0] - ldr r2, _080171E4 - ldr r3, [r4] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x3C - adds r0, r2 - ldr r0, [r0] - adds r3, 0xE8 - ldr r2, [r3] - ldr r3, _080171E8 - b _080173D8 - .align 2, 0 -_080171E4: .4byte gUnknown_80D5404 -_080171E8: .4byte 0x0000010d -_080171EC: - ldr r0, [r4] - movs r1, 0x1 - str r1, [r0, 0x8] - adds r0, 0xE4 - movs r1, 0 - strb r1, [r0] - ldr r2, _08017214 - ldr r3, [r4] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x48 - adds r0, r2 - ldr r0, [r0] - adds r3, 0xE8 - ldr r2, [r3] - ldr r3, _08017218 - b _080173D8 - .align 2, 0 -_08017214: .4byte gUnknown_80D5404 -_08017218: .4byte 0x0000010d -_0801721C: - ldr r0, _08017244 - ldr r1, [r4] - adds r1, 0xC - movs r2, 0 - bl sub_8090E14 - ldr r0, [r4] - movs r1, 0xE - str r1, [r0, 0x8] - adds r0, 0xE4 - movs r1, 0 - strb r1, [r0] - ldr r2, _08017248 - ldr r3, [r4] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x40 - b _080173CE - .align 2, 0 -_08017244: .4byte gUnknown_202DE58 -_08017248: .4byte gUnknown_80D5404 -_0801724C: - ldr r0, [r4] - movs r1, 0xE - str r1, [r0, 0x8] - adds r0, 0xE4 - movs r1, 0 - strb r1, [r0] - ldr r2, _08017268 - ldr r3, [r4] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x44 - b _080173CE - .align 2, 0 -_08017268: .4byte gUnknown_80D5404 -_0801726C: - ldr r0, [r4] - movs r1, 0xD - str r1, [r0, 0x8] - adds r0, 0xE4 - movs r1, 0 - strb r1, [r0] - ldr r2, _08017288 - ldr r3, [r4] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0xC - b _080173CE - .align 2, 0 -_08017288: .4byte gUnknown_80D5404 -_0801728C: - ldr r0, [r4] - movs r1, 0xE - str r1, [r0, 0x8] - adds r0, 0xE4 - movs r1, 0 - strb r1, [r0] - ldr r2, _080172A8 - ldr r3, [r4] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x10 - b _080173CE - .align 2, 0 -_080172A8: .4byte gUnknown_80D5404 -_080172AC: - movs r0, 0x3 - movs r1, 0x3 - movs r2, 0 - movs r3, 0xA - bl sub_801A5D8 - b _08017584 -_080172BA: - movs r0, 0x1 - bl sub_801A8D0 - b _08017584 -_080172C2: - bl sub_801A9E0 - bl sub_80176B8 - ldr r0, _080172E0 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x58 - adds r1, r2, 0 - adds r1, 0x24 - adds r3, r2, 0 - adds r3, 0x4C - ldr r2, [r2, 0x1C] - b _08017494 - .align 2, 0 -_080172E0: .4byte gUnknown_203B208 -_080172E4: - bl sub_80177F8 - ldr r0, _08017310 - ldr r4, _08017314 - ldr r1, [r4] - adds r1, 0xC - movs r2, 0 - bl sub_8090E14 - ldr r0, [r4] - adds r0, 0xE4 - movs r5, 0 - strb r5, [r0] - ldr r2, _08017318 - ldr r4, [r4] - ldr r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x14 - b _08017504 - .align 2, 0 -_08017310: .4byte gUnknown_202DE58 -_08017314: .4byte gUnknown_203B208 -_08017318: .4byte gUnknown_80D5404 -_0801731C: - bl sub_80177F8 - ldr r1, _0801733C - ldr r0, [r1] - adds r0, 0xE4 - movs r5, 0 - strb r5, [r0] - ldr r2, _08017340 - ldr r4, [r1] - ldr r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x18 - b _08017504 - .align 2, 0 -_0801733C: .4byte gUnknown_203B208 -_08017340: .4byte gUnknown_80D5404 -_08017344: - bl sub_8090A34 - cmp r0, 0 - bne _0801735C - bl sub_801A928 - ldr r0, _08017358 - ldr r1, [r0] - movs r0, 0x1 - b _08017362 - .align 2, 0 -_08017358: .4byte gUnknown_203B208 -_0801735C: - ldr r0, _08017388 - ldr r1, [r0] - movs r0, 0xC -_08017362: - str r0, [r1, 0x8] - ldr r3, _08017388 - ldr r0, [r3] - adds r0, 0xE4 - movs r1, 0x1 - strb r1, [r0] - ldr r2, _0801738C - ldr r3, [r3] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x1C - adds r0, r2 - ldr r0, [r0] - adds r3, 0xE8 - ldr r2, [r3] - ldr r3, _08017390 - b _080173D8 - .align 2, 0 -_08017388: .4byte gUnknown_203B208 -_0801738C: .4byte gUnknown_80D5404 -_08017390: .4byte 0x0000010d -_08017394: - ldr r0, [r4] - movs r1, 0x16 - str r1, [r0, 0x8] - adds r0, 0xE4 - movs r1, 0 - strb r1, [r0] - ldr r2, _080173B0 - ldr r3, [r4] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x20 - b _080173CE - .align 2, 0 -_080173B0: .4byte gUnknown_80D5404 -_080173B4: - ldr r0, [r4] - movs r1, 0x17 - str r1, [r0, 0x8] - adds r0, 0xE4 - movs r1, 0 - strb r1, [r0] - ldr r2, _080173E0 - ldr r3, [r4] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x24 -_080173CE: - adds r0, r2 - ldr r0, [r0] - adds r3, 0xE8 - ldr r2, [r3] - ldr r3, _080173E4 -_080173D8: - movs r1, 0 - bl sub_80141B4 - b _08017584 - .align 2, 0 -_080173E0: .4byte gUnknown_80D5404 -_080173E4: .4byte 0x0000030d -_080173E8: - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - movs r3, 0xA - bl sub_801C8C4 - b _080173FC -_080173F6: - movs r0, 0x1 - bl sub_801CB5C -_080173FC: - movs r0, 0 - bl sub_801AD34 - b _08017584 -_08017404: - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xB8 - movs r0, 0x2 - str r0, [r1] - subs r1, 0x8 - movs r0, 0x1 - str r0, [r1] - ldr r0, _08017430 - ldr r1, [r0] - ldrb r0, [r2, 0xE] - lsls r0, 1 - adds r1, 0x50 - adds r3, r1, r0 - ldrh r0, [r3] - cmp r0, 0x63 - bls _08017434 - adds r1, r2, 0 - adds r1, 0xB4 - movs r0, 0x63 - b _0801743A - .align 2, 0 -_08017430: .4byte gUnknown_203B460 -_08017434: - adds r1, r2, 0 - adds r1, 0xB4 - ldrh r0, [r3] -_0801743A: - str r0, [r1] - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xAC - adds r0, r2, 0 - adds r0, 0xB4 - ldr r0, [r0] - str r0, [r1] - adds r1, 0x10 - movs r0, 0x1 - str r0, [r1] - adds r1, 0x4 - movs r3, 0x82 - lsls r3, 1 - adds r0, r2, r3 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x28 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x12 - str r0, [r1] - adds r0, r2, 0 - adds r0, 0xA8 - bl sub_8013AA0 - bl sub_8017598 - b _08017584 -_08017474: - bl sub_801CCD8 - movs r0, 0 - bl sub_801AD34 - bl sub_8017758 - ldr r0, _080174A4 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x58 - adds r1, r2, 0 - adds r1, 0x24 - adds r3, r2, 0 - adds r3, 0x4C - ldr r2, [r2, 0x20] -_08017494: - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - bl sub_8012D60 - b _08017584 - .align 2, 0 -_080174A4: .4byte gUnknown_203B208 -_080174A8: - ldr r0, [r4] - adds r0, 0xC - bl sub_801B3C0 - b _08017584 -_080174B2: - bl sub_80177F8 - ldr r0, _080174DC - ldr r4, _080174E0 - ldr r1, [r4] - adds r1, 0xC - movs r2, 0 - bl sub_8090E14 - ldr r0, [r4] - adds r0, 0xE4 - movs r5, 0 - strb r5, [r0] - ldr r2, _080174E4 - ldr r4, [r4] - ldr r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x28 - b _08017504 - .align 2, 0 -_080174DC: .4byte gUnknown_202DE58 -_080174E0: .4byte gUnknown_203B208 -_080174E4: .4byte gUnknown_80D5404 -_080174E8: - bl sub_80177F8 - ldr r1, _08017528 - ldr r0, [r1] - adds r0, 0xE4 - movs r5, 0 - strb r5, [r0] - ldr r2, _0801752C - ldr r4, [r1] - ldr r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x2C -_08017504: - adds r0, r2 - ldr r0, [r0] - adds r3, r4, 0 - adds r3, 0x24 - str r5, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r5, [sp, 0x8] - adds r4, 0xE8 - ldr r1, [r4] - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x4 - bl sub_8014248 - b _08017584 - .align 2, 0 -_08017528: .4byte gUnknown_203B208 -_0801752C: .4byte gUnknown_80D5404 -_08017530: - movs r0, 0x1 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - bne _08017544 - bl sub_8090A34 - cmp r0, 0x13 - ble _08017554 -_08017544: - bl sub_801CBB8 - ldr r0, _08017550 - ldr r1, [r0] - movs r0, 0x1 - b _0801755A - .align 2, 0 -_08017550: .4byte gUnknown_203B208 -_08017554: - ldr r0, _0801758C - ldr r1, [r0] - movs r0, 0x15 -_0801755A: - str r0, [r1, 0x8] - ldr r3, _0801758C - ldr r0, [r3] - adds r0, 0xE4 - movs r1, 0x1 - strb r1, [r0] - ldr r2, _08017590 - ldr r3, [r3] - ldr r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r2, 0x30 - adds r0, r2 - ldr r0, [r0] - adds r3, 0xE8 - ldr r2, [r3] - ldr r3, _08017594 - movs r1, 0 - bl sub_80141B4 -_08017584: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801758C: .4byte gUnknown_203B208 -_08017590: .4byte gUnknown_80D5404 -_08017594: .4byte 0x0000010d - thumb_func_end sub_8016FF8 - - thumb_func_start sub_8017598 -sub_8017598: - push {r4,lr} - sub sp, 0x4 - ldr r4, _080175F4 - ldr r0, [r4] - adds r0, 0xBC - ldr r0, [r0] - bl sub_8008C54 - ldr r0, [r4] - adds r0, 0xBC - ldr r0, [r0] - bl sub_80073B8 - ldr r2, _080175F8 - ldr r0, [r4] - adds r0, 0xBC - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - movs r1, 0 - bl xxx_call_draw_string - ldr r0, [r4] - adds r0, 0xA8 - bl sub_8013C68 - ldr r0, [r4] - adds r0, 0xBC - ldr r0, [r0] - bl sub_80073E0 - bl sub_801CCD8 - movs r0, 0 - bl sub_801AD34 - ldr r0, [r4] - adds r0, 0x58 - movs r1, 0 - bl sub_8012EA4 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080175F4: .4byte gUnknown_203B208 -_080175F8: .4byte gUnknown_80DB7A8 - thumb_func_end sub_8017598 - - thumb_func_start sub_80175FC -sub_80175FC: - push {r4-r7,lr} - ldr r4, _0801767C - ldr r0, [r4] - adds r0, 0x4C - movs r1, 0 - movs r2, 0xA - bl MemoryFill16 - ldr r3, [r4] - movs r2, 0 - ldr r0, _08017680 - ldr r0, [r0] - str r0, [r3, 0x24] - movs r0, 0x2 - str r0, [r3, 0x28] - movs r1, 0x1 - ldr r0, _08017684 - ldr r0, [r0] - str r0, [r3, 0x2C] - movs r0, 0x3 - str r0, [r3, 0x30] - ldr r0, _08017688 - ldr r0, [r0] - str r0, [r3, 0x34] - movs r0, 0x6 - str r0, [r3, 0x38] - ldr r0, _0801768C - ldr r0, [r0] - str r0, [r3, 0x3C] - str r1, [r3, 0x40] - movs r6, 0x4 - str r2, [r3, 0x44] - str r1, [r3, 0x48] - movs r5, 0 - mov r12, r3 - adds r3, 0x28 - mov r2, r12 - adds r2, 0x4C -_08017648: - ldrh r0, [r2] - cmp r0, 0 - bne _08017658 - ldr r1, [r3] - mov r7, r12 - ldr r0, [r7, 0x18] - cmp r1, r0 - beq _080176B2 -_08017658: - adds r3, 0x8 - adds r2, 0x2 - adds r5, 0x1 - cmp r5, r6 - blt _08017648 - movs r5, 0 - cmp r5, r6 - bge _080176B2 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x4C - ldrh r0, [r0] - cmp r0, 0 - bne _08017690 - ldr r0, [r1, 0x28] - str r0, [r1, 0x18] - b _080176B2 - .align 2, 0 -_0801767C: .4byte gUnknown_203B208 -_08017680: .4byte gUnknown_80D4958 -_08017684: .4byte gUnknown_80D4964 -_08017688: .4byte gUnknown_80D4970 -_0801768C: .4byte gUnknown_80D4934 -_08017690: - adds r5, 0x1 - cmp r5, r6 - bge _080176B2 - ldr r2, [r4] - lsls r0, r5, 1 - adds r1, r2, 0 - adds r1, 0x4C - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _08017690 - lsls r0, r5, 3 - adds r1, r2, 0 - adds r1, 0x28 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x18] -_080176B2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80175FC - - thumb_func_start sub_80176B8 -sub_80176B8: - push {r4-r7,lr} - ldr r4, _08017724 - ldr r0, [r4] - adds r0, 0x4C - movs r1, 0 - movs r2, 0xA - bl MemoryFill16 - ldr r3, [r4] - movs r2, 0 - ldr r0, _08017728 - ldr r0, [r0] - str r0, [r3, 0x24] - movs r0, 0x2 - str r0, [r3, 0x28] - movs r1, 0x1 - ldr r0, _0801772C - ldr r0, [r0] - str r0, [r3, 0x2C] - movs r0, 0x6 - str r0, [r3, 0x30] - movs r6, 0x2 - str r2, [r3, 0x34] - str r1, [r3, 0x38] - movs r5, 0 - mov r12, r3 - adds r3, 0x28 - mov r2, r12 - adds r2, 0x4C -_080176F2: - ldrh r0, [r2] - cmp r0, 0 - bne _08017702 - ldr r1, [r3] - mov r7, r12 - ldr r0, [r7, 0x1C] - cmp r1, r0 - beq _08017752 -_08017702: - adds r3, 0x8 - adds r2, 0x2 - adds r5, 0x1 - cmp r5, r6 - blt _080176F2 - movs r5, 0 - cmp r5, r6 - bge _08017752 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x4C - ldrh r0, [r0] - cmp r0, 0 - bne _08017730 - ldr r0, [r1, 0x28] - str r0, [r1, 0x1C] - b _08017752 - .align 2, 0 -_08017724: .4byte gUnknown_203B208 -_08017728: .4byte gUnknown_80D4958 -_0801772C: .4byte gUnknown_80D4970 -_08017730: - adds r5, 0x1 - cmp r5, r6 - bge _08017752 - ldr r2, [r4] - lsls r0, r5, 1 - adds r1, r2, 0 - adds r1, 0x4C - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _08017730 - lsls r0, r5, 3 - adds r1, r2, 0 - adds r1, 0x28 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x1C] -_08017752: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80176B8 - - thumb_func_start sub_8017758 -sub_8017758: - push {r4-r7,lr} - ldr r4, _080177C4 - ldr r0, [r4] - adds r0, 0x4C - movs r1, 0 - movs r2, 0xA - bl MemoryFill16 - ldr r3, [r4] - movs r2, 0 - ldr r0, _080177C8 - ldr r0, [r0] - str r0, [r3, 0x24] - movs r0, 0x3 - str r0, [r3, 0x28] - movs r1, 0x1 - ldr r0, _080177CC - ldr r0, [r0] - str r0, [r3, 0x2C] - movs r0, 0x6 - str r0, [r3, 0x30] - movs r6, 0x2 - str r2, [r3, 0x34] - str r1, [r3, 0x38] - movs r5, 0 - mov r12, r3 - adds r3, 0x28 - mov r2, r12 - adds r2, 0x4C -_08017792: - ldrh r0, [r2] - cmp r0, 0 - bne _080177A2 - ldr r1, [r3] - mov r7, r12 - ldr r0, [r7, 0x20] - cmp r1, r0 - beq _080177F2 -_080177A2: - adds r3, 0x8 - adds r2, 0x2 - adds r5, 0x1 - cmp r5, r6 - blt _08017792 - movs r5, 0 - cmp r5, r6 - bge _080177F2 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x4C - ldrh r0, [r0] - cmp r0, 0 - bne _080177D0 - ldr r0, [r1, 0x28] - str r0, [r1, 0x20] - b _080177F2 - .align 2, 0 -_080177C4: .4byte gUnknown_203B208 -_080177C8: .4byte gUnknown_80D4964 -_080177CC: .4byte gUnknown_80D4970 -_080177D0: - adds r5, 0x1 - cmp r5, r6 - bge _080177F2 - ldr r2, [r4] - lsls r0, r5, 1 - adds r1, r2, 0 - adds r1, 0x4C - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _080177D0 - lsls r0, r5, 3 - adds r1, r2, 0 - adds r1, 0x28 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x20] -_080177F2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8017758 - - thumb_func_start sub_80177F8 -sub_80177F8: - ldr r0, _0801781C - ldr r1, [r0] - movs r3, 0 - ldr r0, _08017820 - ldr r0, [r0] - str r0, [r1, 0x24] - movs r0, 0x4 - str r0, [r1, 0x28] - movs r2, 0x1 - ldr r0, _08017824 - ldr r0, [r0] - str r0, [r1, 0x2C] - movs r0, 0x5 - str r0, [r1, 0x30] - str r3, [r1, 0x34] - str r2, [r1, 0x38] - bx lr - .align 2, 0 -_0801781C: .4byte gUnknown_203B208 -_08017820: .4byte gUnknown_80D4920 -_08017824: .4byte gUnknown_80D4928 - thumb_func_end sub_80177F8 - - thumb_func_start sub_8017828 -sub_8017828: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080178C8 - ldr r1, [sp] - cmp r1, 0x1 - beq _08017842 - ldr r0, _08017854 - ldr r0, [r0] - str r1, [r0, 0x18] -_08017842: - ldr r0, [sp] - cmp r0, 0x2 - beq _08017862 - cmp r0, 0x2 - bgt _08017858 - cmp r0, 0x1 - beq _080178C2 - b _080178C8 - .align 2, 0 -_08017854: .4byte gUnknown_203B208 -_08017858: - cmp r0, 0x3 - beq _0801788E - cmp r0, 0x6 - beq _080178BA - b _080178C8 -_08017862: - bl sub_8090A34 - cmp r0, 0 - bne _08017872 - movs r0, 0x5 - bl sub_8016E68 - b _080178C8 -_08017872: - movs r0, 0 - bl sub_801CF50 - lsls r0, 24 - cmp r0, 0 - beq _08017886 - movs r0, 0x8 - bl sub_8016E68 - b _080178C8 -_08017886: - movs r0, 0xB - bl sub_8016E68 - b _080178C8 -_0801788E: - movs r0, 0x1 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - beq _080178A2 - movs r0, 0x7 - bl sub_8016E68 - b _080178C8 -_080178A2: - bl sub_8090A34 - cmp r0, 0x13 - ble _080178B2 - movs r0, 0x6 - bl sub_8016E68 - b _080178C8 -_080178B2: - movs r0, 0x14 - bl sub_8016E68 - b _080178C8 -_080178BA: - movs r0, 0x2 - bl sub_8016E68 - b _080178C8 -_080178C2: - movs r0, 0x3 - bl sub_8016E68 -_080178C8: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8017828 - - thumb_func_start sub_80178D0 -sub_80178D0: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0801791E - ldr r0, [sp] - cmp r0, 0x4 - beq _080178F4 - cmp r0, 0x4 - bgt _080178EE - cmp r0, 0x1 - beq _08017918 - b _0801791E -_080178EE: - cmp r0, 0x5 - beq _08017918 - b _0801791E -_080178F4: - ldr r4, _08017914 - ldr r0, [r4] - adds r0, 0xC - bl sub_80917B8 - ldr r0, [r4] - ldr r0, [r0, 0x10] - bl sub_80911F8 - bl sub_80910B4 - movs r0, 0x13 - bl sub_8016E68 - b _0801791E - .align 2, 0 -_08017914: .4byte gUnknown_203B208 -_08017918: - movs r0, 0xE - bl sub_8016E68 -_0801791E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80178D0 - - thumb_func_start sub_8017928 -sub_8017928: - push {lr} - sub sp, 0x8 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080179A2 - ldr r0, [sp] - cmp r0, 0x4 - beq _0801794C - cmp r0, 0x4 - bgt _08017946 - cmp r0, 0x1 - beq _0801799C - b _080179A2 -_08017946: - cmp r0, 0x5 - beq _0801799C - b _080179A2 -_0801794C: - ldr r0, _0801798C - ldr r1, [r0] - ldr r0, _08017990 - ldr r3, [r0] - ldrb r0, [r3, 0xE] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrb r2, [r3, 0xD] - ldrh r0, [r1] - subs r0, r2 - strh r0, [r1] - ldrb r2, [r3, 0xE] - ldr r1, _08017994 - ldr r0, [sp, 0x4] - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x4] - ldrb r1, [r3, 0xD] - lsls r1, 8 - ldr r2, _08017998 - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x4] - add r0, sp, 0x4 - bl sub_8091274 - movs r0, 0x1D - bl sub_8016E68 - b _080179A2 - .align 2, 0 -_0801798C: .4byte gUnknown_203B460 -_08017990: .4byte gUnknown_203B208 -_08017994: .4byte 0xffffff00 -_08017998: .4byte 0xffff00ff -_0801799C: - movs r0, 0x17 - bl sub_8016E68 -_080179A2: - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_8017928 - - thumb_func_start sub_80179A8 -sub_80179A8: - push {r4-r7,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08017A12 - ldr r0, [sp] - cmp r0, 0x4 - beq _080179CC - cmp r0, 0x4 - bgt _080179C6 - cmp r0, 0x1 - beq _08017A0C - b _08017A12 -_080179C6: - cmp r0, 0x5 - beq _08017A0C - b _08017A12 -_080179CC: - movs r5, 0 - ldr r6, _08017A08 - movs r7, 0 -_080179D2: - adds r0, r5, 0 - bl sub_801AED0 - cmp r0, 0 - beq _080179F2 - lsls r4, r5, 2 - ldr r0, [r6] - adds r0, r4 - bl sub_80917B8 - ldr r0, [r6] - adds r0, r4 - strb r7, [r0, 0x2] - ldr r0, [r6] - adds r0, r4 - strb r7, [r0] -_080179F2: - adds r5, 0x1 - cmp r5, 0x13 - ble _080179D2 - bl sub_80910B4 - bl sub_801AE84 - movs r0, 0x13 - bl sub_8016E68 - b _08017A12 - .align 2, 0 -_08017A08: .4byte gUnknown_203B460 -_08017A0C: - movs r0, 0xE - bl sub_8016E68 -_08017A12: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80179A8 - - thumb_func_start sub_8017A1C -sub_8017A1C: - push {r4-r6,lr} - sub sp, 0x8 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08017AEE - ldr r0, [sp] - cmp r0, 0x4 - beq _08017A40 - cmp r0, 0x4 - bgt _08017A3A - cmp r0, 0x1 - beq _08017AE8 - b _08017AEE -_08017A3A: - cmp r0, 0x5 - beq _08017AE8 - b _08017AEE -_08017A40: - movs r5, 0 - ldr r6, _08017A88 -_08017A44: - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_801CFE0 - cmp r0, 0 - beq _08017ACE - ldr r1, _08017A8C - ldr r0, [sp, 0x4] - ands r0, r1 - orrs r0, r4 - str r0, [sp, 0x4] - add r4, sp, 0x4 - ldrb r0, [r4] - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - beq _08017AA2 - ldr r2, _08017A90 - ldr r1, [r2] - ldrb r0, [r4] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r1, [r1] - cmp r1, 0x63 - bls _08017A94 - ldr r0, [sp, 0x4] - ands r0, r6 - movs r1, 0xC6 - lsls r1, 7 - b _08017A9C - .align 2, 0 -_08017A88: .4byte 0xffff00ff -_08017A8C: .4byte 0xffffff00 -_08017A90: .4byte gUnknown_203B460 -_08017A94: - lsls r1, 24 - lsrs r1, 16 - ldr r0, [sp, 0x4] - ands r0, r6 -_08017A9C: - orrs r0, r1 - str r0, [sp, 0x4] - b _08017AB0 -_08017AA2: - ldr r0, [sp, 0x4] - ands r0, r6 - movs r1, 0x80 - lsls r1, 1 - orrs r0, r1 - str r0, [sp, 0x4] - ldr r2, _08017AE4 -_08017AB0: - ldr r3, [r2] - add r0, sp, 0x4 - ldrb r1, [r4] - lsls r1, 1 - adds r3, 0x50 - adds r3, r1 - ldr r1, [sp, 0x4] - lsrs r1, 8 - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r3] - subs r2, r1 - strh r2, [r3] - bl sub_8091274 -_08017ACE: - adds r5, 0x1 - cmp r5, 0xEF - ble _08017A44 - bl sub_80910B4 - bl sub_801CF94 - movs r0, 0x1D - bl sub_8016E68 - b _08017AEE - .align 2, 0 -_08017AE4: .4byte gUnknown_203B460 -_08017AE8: - movs r0, 0x17 - bl sub_8016E68 -_08017AEE: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8017A1C - - thumb_func_start sub_8017AF8 -sub_8017AF8: - push {lr} - movs r0, 0x1 - bl sub_801A6E8 - cmp r0, 0x3 - beq _08017B14 - cmp r0, 0x3 - bhi _08017B0E - cmp r0, 0x2 - beq _08017B78 - b _08017B82 -_08017B0E: - cmp r0, 0x4 - beq _08017B50 - b _08017B82 -_08017B14: - bl sub_801AEA8 - cmp r0, 0 - beq _08017B2A - movs r0, 0 - bl sub_8099690 - movs r0, 0x12 - bl sub_8016E68 - b _08017B82 -_08017B2A: - bl sub_801A8AC - ldr r1, _08017B48 - ldr r2, [r1] - str r0, [r2, 0x10] - ldr r1, _08017B4C - ldr r1, [r1] - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0xC] - movs r0, 0xF - bl sub_8016E68 - b _08017B82 - .align 2, 0 -_08017B48: .4byte gUnknown_203B208 -_08017B4C: .4byte gUnknown_203B460 -_08017B50: - bl sub_801A8AC - ldr r1, _08017B70 - ldr r2, [r1] - str r0, [r2, 0x10] - ldr r1, _08017B74 - ldr r1, [r1] - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0xC] - movs r0, 0x10 - bl sub_8016E68 - b _08017B82 - .align 2, 0 -_08017B70: .4byte gUnknown_203B208 -_08017B74: .4byte gUnknown_203B460 -_08017B78: - bl sub_801A928 - movs r0, 0x1 - bl sub_8016E68 -_08017B82: - pop {r0} - bx r0 - thumb_func_end sub_8017AF8 - - thumb_func_start sub_8017B88 -sub_8017B88: - push {r4,lr} - movs r0, 0x1 - bl sub_801CA08 - cmp r0, 0x2 - beq _08017C10 - cmp r0, 0x2 - bhi _08017B9E - cmp r0, 0x1 - beq _08017C1C - b _08017C22 -_08017B9E: - cmp r0, 0x3 - beq _08017BA8 - cmp r0, 0x4 - beq _08017BE4 - b _08017C22 -_08017BA8: - bl sub_801CFB8 - cmp r0, 0 - beq _08017BB8 - movs r0, 0x1C - bl sub_8016E68 - b _08017C22 -_08017BB8: - bl sub_801CB24 - ldr r4, _08017BE0 - ldr r1, [r4] - strb r0, [r1, 0x14] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xC - ldrb r1, [r1, 0x14] - movs r2, 0 - bl sub_8090A8C - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0xD] - movs r0, 0x19 - bl sub_8016E68 - b _08017C22 - .align 2, 0 -_08017BE0: .4byte gUnknown_203B208 -_08017BE4: - bl sub_801CB24 - ldr r4, _08017C0C - ldr r1, [r4] - strb r0, [r1, 0x14] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xC - ldrb r1, [r1, 0x14] - movs r2, 0 - bl sub_8090A8C - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0xD] - movs r0, 0x1A - bl sub_8016E68 - b _08017C22 - .align 2, 0 -_08017C0C: .4byte gUnknown_203B208 -_08017C10: - bl sub_801CBB8 - movs r0, 0x1 - bl sub_8016E68 - b _08017C22 -_08017C1C: - movs r0, 0 - bl sub_801AD34 -_08017C22: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8017B88 - - thumb_func_start sub_8017C28 -sub_8017C28: - push {r4,lr} - movs r0, 0 - bl sub_801CA08 - ldr r4, _08017C54 - ldr r0, [r4] - adds r0, 0x58 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0xA8 - bl sub_8013BBC - cmp r0, 0x1 - beq _08017C58 - cmp r0, 0x1 - bcc _08017C76 - cmp r0, 0x2 - beq _08017C70 - cmp r0, 0x3 - beq _08017C5E - b _08017C76 - .align 2, 0 -_08017C54: .4byte gUnknown_203B208 -_08017C58: - bl sub_8017598 - b _08017C76 -_08017C5E: - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xA8 - ldr r1, [r1] - strb r1, [r0, 0xD] - movs r0, 0x1B - bl sub_8016E68 - b _08017C76 -_08017C70: - movs r0, 0x17 - bl sub_8016E68 -_08017C76: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8017C28 - - thumb_func_start sub_8017C7C -sub_8017C7C: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_801A6E8 - ldr r4, _08017CBC - ldr r0, [r4] - adds r0, 0x58 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08017CAC - ldr r0, [r4] - adds r0, 0x58 - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _08017CAC - ldr r0, [r4] - str r1, [r0, 0x1C] -_08017CAC: - ldr r0, [sp] - cmp r0, 0x2 - beq _08017CC6 - cmp r0, 0x2 - bgt _08017CC0 - cmp r0, 0x1 - beq _08017D14 - b _08017D1A - .align 2, 0 -_08017CBC: .4byte gUnknown_203B208 -_08017CC0: - cmp r0, 0x6 - beq _08017D06 - b _08017D1A -_08017CC6: - movs r0, 0 - bl sub_8099690 - ldr r4, _08017CE4 - ldr r0, [r4] - ldrb r0, [r0, 0xE] - bl sub_8091524 - lsls r0, 24 - cmp r0, 0 - bne _08017CE8 - movs r0, 0x9 - bl sub_8016E68 - b _08017D1A - .align 2, 0 -_08017CE4: .4byte gUnknown_203B208 -_08017CE8: - ldr r0, [r4] - ldr r0, [r0, 0x10] - bl sub_801ADA0 - lsls r0, 24 - cmp r0, 0 - bne _08017CFE - movs r0, 0xA - bl sub_8016E68 - b _08017D1A -_08017CFE: - movs r0, 0x11 - bl sub_8016E68 - b _08017D1A -_08017D06: - movs r0, 0 - bl sub_8099690 - movs r0, 0x10 - bl sub_8016E68 - b _08017D1A -_08017D14: - movs r0, 0xE - bl sub_8016E68 -_08017D1A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8017C7C - - thumb_func_start sub_8017D24 -sub_8017D24: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_801CA08 - ldr r4, _08017D64 - ldr r0, [r4] - adds r0, 0x58 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08017D54 - ldr r0, [r4] - adds r0, 0x58 - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _08017D54 - ldr r0, [r4] - str r1, [r0, 0x20] -_08017D54: - ldr r0, [sp] - cmp r0, 0x3 - beq _08017D6E - cmp r0, 0x3 - bgt _08017D68 - cmp r0, 0x1 - beq _08017DB0 - b _08017DB6 - .align 2, 0 -_08017D64: .4byte gUnknown_203B208 -_08017D68: - cmp r0, 0x6 - beq _08017DA8 - b _08017DB6 -_08017D6E: - bl sub_8090A34 - cmp r0, 0x13 - ble _08017D82 - bl sub_801CBB8 - movs r0, 0x6 - bl sub_8016E68 - b _08017DB6 -_08017D82: - ldr r0, _08017D9C - ldr r0, [r0] - ldrb r0, [r0, 0xE] - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - beq _08017DA0 - movs r0, 0x18 - bl sub_8016E68 - b _08017DB6 - .align 2, 0 -_08017D9C: .4byte gUnknown_203B208 -_08017DA0: - movs r0, 0x1B - bl sub_8016E68 - b _08017DB6 -_08017DA8: - movs r0, 0x1A - bl sub_8016E68 - b _08017DB6 -_08017DB0: - movs r0, 0x17 - bl sub_8016E68 -_08017DB6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8017D24 - - thumb_func_start sub_8017DC0 -sub_8017DC0: - push {lr} - bl sub_801B410 - cmp r0, 0x1 - bls _08017DD8 - cmp r0, 0x3 - bhi _08017DD8 - bl sub_801B450 - movs r0, 0xE - bl sub_8016E68 -_08017DD8: - pop {r0} - bx r0 - thumb_func_end sub_8017DC0 - - thumb_func_start sub_8017DDC -sub_8017DDC: - push {lr} - bl sub_801B410 - cmp r0, 0x1 - bls _08017DF4 - cmp r0, 0x3 - bhi _08017DF4 - bl sub_801B450 - movs r0, 0x17 - bl sub_8016E68 -_08017DF4: - pop {r0} - bx r0 - thumb_func_end sub_8017DDC - - thumb_func_start sub_8017DF8 -sub_8017DF8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08017E10 - ldr r0, _08017E18 - ldr r0, [r0] - ldr r0, [r0, 0x8] - bl sub_8016E68 -_08017E10: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08017E18: .4byte gUnknown_203B208 - thumb_func_end sub_8017DF8 - - thumb_func_start sub_8017E1C -sub_8017E1C: - push {r4,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _08017E50 - movs r0, 0xA8 - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r1, 0 - str r1, [r0, 0x14] - str r1, [r0, 0x18] - str r1, [r0, 0x1C] - movs r0, 0 - bl sub_8017F10 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08017E50: .4byte gUnknown_203B20C - thumb_func_end sub_8017E1C - - thumb_func_start sub_8017E54 -sub_8017E54: - push {lr} - ldr r0, _08017E6C - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0xE - bhi _08017EEC - lsls r0, 2 - ldr r1, _08017E70 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08017E6C: .4byte gUnknown_203B20C -_08017E70: .4byte _08017E74 - .align 2, 0 -_08017E74: - .4byte _08017EB0 - .4byte _08017EB8 - .4byte _08017EEC - .4byte _08017EE8 - .4byte _08017EBE - .4byte _08017EBE - .4byte _08017EC4 - .4byte _08017ECA - .4byte _08017EEC - .4byte _08017EEC - .4byte _08017ED0 - .4byte _08017ED0 - .4byte _08017ED6 - .4byte _08017EDC - .4byte _08017EE2 -_08017EB0: - movs r0, 0x1 - bl sub_8017F10 - b _08017EEC -_08017EB8: - bl sub_8018588 - b _08017EEC -_08017EBE: - bl sub_8018620 - b _08017EEC -_08017EC4: - bl sub_8018904 - b _08017EEC -_08017ECA: - bl sub_8018AC8 - b _08017EEC -_08017ED0: - bl sub_80186F8 - b _08017EEC -_08017ED6: - bl sub_8018854 - b _08017EEC -_08017EDC: - bl sub_80189C8 - b _08017EEC -_08017EE2: - bl sub_8018AE4 - b _08017EEC -_08017EE8: - movs r0, 0x3 - b _08017EEE -_08017EEC: - movs r0, 0 -_08017EEE: - pop {r1} - bx r1 - thumb_func_end sub_8017E54 - - thumb_func_start sub_8017EF4 -sub_8017EF4: - push {r4,lr} - ldr r4, _08017F0C - ldr r0, [r4] - cmp r0, 0 - beq _08017F06 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08017F06: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08017F0C: .4byte gUnknown_203B20C - thumb_func_end sub_8017EF4 - - thumb_func_start sub_8017F10 -sub_8017F10: - push {lr} - ldr r1, _08017F24 - ldr r1, [r1] - str r0, [r1] - bl sub_8017F28 - bl sub_8018100 - pop {r0} - bx r0 - .align 2, 0 -_08017F24: .4byte gUnknown_203B20C - thumb_func_end sub_8017F10 - - thumb_func_start sub_8017F28 -sub_8017F28: - push {r4-r7,lr} - ldr r4, _08017F48 - ldr r0, [r4] - adds r0, 0xF0 - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0xD - bls _08017F3E - b _080180BC -_08017F3E: - lsls r0, 2 - ldr r1, _08017F4C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08017F48: .4byte gUnknown_203B20C -_08017F4C: .4byte _08017F50 - .align 2, 0 -_08017F50: - .4byte _080180BC - .4byte _08017F88 - .4byte _080180BC - .4byte _080180BC - .4byte _08017FE8 - .4byte _08017FE8 - .4byte _0801809C - .4byte _080180BC - .4byte _080180BC - .4byte _080180BC - .4byte _08018034 - .4byte _08018034 - .4byte _08018084 - .4byte _0801809C -_08017F88: - ldr r4, _08017FDC - ldr r1, [r4] - ldr r2, _08017FE0 - adds r1, 0xF0 - adds r0, r2, 0 - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r7} - stm r1!, {r3,r5,r7} - ldr r1, [r4] - movs r6, 0x84 - lsls r6, 1 - adds r1, r6 - adds r0, r2, 0 - ldm r0!, {r3,r5,r7} - stm r1!, {r3,r5,r7} - ldm r0!, {r3,r6,r7} - stm r1!, {r3,r6,r7} - ldr r0, [r4] - adds r0, 0xF0 - ldm r2!, {r5-r7} - stm r0!, {r5-r7} - ldm r2!, {r1,r3,r5} - stm r0!, {r1,r3,r5} - bl sub_80182E4 - ldr r2, [r4] - movs r0, 0x90 - lsls r0, 1 - adds r2, r0 - ldr r1, _08017FE4 - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldm r1!, {r5-r7} - stm r2!, {r5-r7} - ldr r1, [r4] - adds r0, r1, r0 - adds r1, 0x20 - bl sub_8012CAC - b _080180E0 - .align 2, 0 -_08017FDC: .4byte gUnknown_203B20C -_08017FE0: .4byte gUnknown_80DB7B8 -_08017FE4: .4byte gUnknown_80DB7D0 -_08017FE8: - ldr r3, _0801802C - ldr r1, [r3] - ldr r2, _08018030 - adds r1, 0xF0 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldr r1, [r3] - movs r6, 0x84 - lsls r6, 1 - adds r1, r6 - adds r0, r2, 0 - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldr r1, [r3] - movs r5, 0x90 - lsls r5, 1 - adds r1, r5 - adds r0, r2, 0 - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldr r0, [r3] - adds r0, 0xF0 - ldm r2!, {r1,r3,r4} - stm r0!, {r1,r3,r4} - ldm r2!, {r5-r7} - stm r0!, {r5-r7} - b _080180E0 - .align 2, 0 -_0801802C: .4byte gUnknown_203B20C -_08018030: .4byte gUnknown_80DB7B8 -_08018034: - ldr r3, _08018078 - ldr r1, [r3] - ldr r2, _0801807C - adds r1, 0xF0 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldr r1, [r3] - movs r6, 0x84 - lsls r6, 1 - adds r1, r6 - adds r0, r2, 0 - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldr r0, [r3] - movs r5, 0x90 - lsls r5, 1 - adds r0, r5 - ldm r2!, {r1,r6,r7} - stm r0!, {r1,r6,r7} - ldm r2!, {r4-r6} - stm r0!, {r4-r6} - ldr r1, [r3] - adds r1, 0xF0 - ldr r0, _08018080 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - b _080180E0 - .align 2, 0 -_08018078: .4byte gUnknown_203B20C -_0801807C: .4byte gUnknown_80DB7B8 -_08018080: .4byte gUnknown_80DB800 -_08018084: - ldr r0, _08018094 - ldr r1, [r0] - movs r7, 0x84 - lsls r7, 1 - adds r1, r7 - ldr r0, _08018098 - b _080180A8 - .align 2, 0 -_08018094: .4byte gUnknown_203B20C -_08018098: .4byte gUnknown_80DB818 -_0801809C: - ldr r0, _080180B4 - ldr r1, [r0] - movs r0, 0x90 - lsls r0, 1 - adds r1, r0 - ldr r0, _080180B8 -_080180A8: - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - b _080180E0 - .align 2, 0 -_080180B4: .4byte gUnknown_203B20C -_080180B8: .4byte gUnknown_80DB7E8 -_080180BC: - ldr r0, _080180F8 - mov r12, r0 - ldr r4, _080180FC - movs r3, 0 - movs r2, 0x3 -_080180C6: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - adds r1, 0xF0 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _080180C6 -_080180E0: - bl ResetUnusedInputStruct - ldr r0, _080180F8 - ldr r0, [r0] - adds r0, 0xF0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080180F8: .4byte gUnknown_203B20C -_080180FC: .4byte gUnknown_80DB7B8 - thumb_func_end sub_8017F28 - - thumb_func_start sub_8018100 -sub_8018100: - push {r4,lr} - sub sp, 0x8 - ldr r1, _0801811C - ldr r0, [r1] - ldr r0, [r0] - adds r4, r1, 0 - cmp r0, 0xE - bls _08018112 - b _08018278 -_08018112: - lsls r0, 2 - ldr r1, _08018120 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801811C: .4byte gUnknown_203B20C -_08018120: .4byte _08018124 - .align 2, 0 -_08018124: - .4byte _08018278 - .4byte _08018160 - .4byte _08018278 - .4byte _08018278 - .4byte _08018172 - .4byte _08018180 - .4byte _08018188 - .4byte _080181A8 - .4byte _08018278 - .4byte _08018278 - .4byte _080181B2 - .4byte _080181C0 - .4byte _080181CE - .4byte _0801823C - .4byte _08018270 -_08018160: - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x70 - adds r1, r2, 0 - adds r1, 0x20 - adds r3, r2, 0 - adds r3, 0x60 - ldr r2, [r2, 0x14] - b _0801825C -_08018172: - movs r0, 0x3 - movs r1, 0x3 - movs r2, 0 - movs r3, 0xA - bl sub_801A5D8 - b _08018278 -_08018180: - movs r0, 0x1 - bl sub_801A8D0 - b _08018278 -_08018188: - bl sub_801A9E0 - bl sub_801841C - ldr r0, _080181A4 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x70 - adds r1, r2, 0 - adds r1, 0x20 - adds r3, r2, 0 - adds r3, 0x60 - ldr r2, [r2, 0x18] - b _0801825C - .align 2, 0 -_080181A4: .4byte gUnknown_203B20C -_080181A8: - ldr r0, [r4] - adds r0, 0x8 - bl sub_801B3C0 - b _08018278 -_080181B2: - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - movs r3, 0xA - bl sub_801C8C4 - b _080181C6 -_080181C0: - movs r0, 0x1 - bl sub_801CB5C -_080181C6: - movs r0, 0 - bl sub_801AD34 - b _08018278 -_080181CE: - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xD0 - movs r0, 0x2 - str r0, [r1] - subs r1, 0x8 - movs r0, 0x1 - str r0, [r1] - ldr r0, _080181F8 - ldr r1, [r0] - ldrb r0, [r2, 0xA] - lsls r0, 1 - adds r1, 0x50 - adds r3, r1, r0 - ldrh r0, [r3] - cmp r0, 0x63 - bls _080181FC - adds r1, r2, 0 - adds r1, 0xCC - movs r0, 0x63 - b _08018202 - .align 2, 0 -_080181F8: .4byte gUnknown_203B460 -_080181FC: - adds r1, r2, 0 - adds r1, 0xCC - ldrh r0, [r3] -_08018202: - str r0, [r1] - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xC4 - adds r0, r2, 0 - adds r0, 0xCC - ldr r0, [r0] - str r0, [r1] - adds r1, 0x10 - movs r0, 0x1 - str r0, [r1] - adds r1, 0x4 - movs r3, 0x84 - lsls r3, 1 - adds r0, r2, r3 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x28 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x12 - str r0, [r1] - adds r0, r2, 0 - adds r0, 0xC0 - bl sub_8013AA0 - bl sub_8018280 - b _08018278 -_0801823C: - bl sub_801CCD8 - movs r0, 0 - bl sub_801AD34 - bl sub_80184D4 - ldr r0, _0801826C - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x70 - adds r1, r2, 0 - adds r1, 0x20 - adds r3, r2, 0 - adds r3, 0x60 - ldr r2, [r2, 0x1C] -_0801825C: - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - bl sub_8012D60 - b _08018278 - .align 2, 0 -_0801826C: .4byte gUnknown_203B20C -_08018270: - ldr r0, [r4] - adds r0, 0x8 - bl sub_801B3C0 -_08018278: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8018100 - - thumb_func_start sub_8018280 -sub_8018280: - push {r4,lr} - sub sp, 0x4 - ldr r4, _080182DC - ldr r0, [r4] - adds r0, 0xD4 - ldr r0, [r0] - bl sub_8008C54 - ldr r0, [r4] - adds r0, 0xD4 - ldr r0, [r0] - bl sub_80073B8 - ldr r2, _080182E0 - ldr r0, [r4] - adds r0, 0xD4 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - movs r1, 0 - bl xxx_call_draw_string - ldr r0, [r4] - adds r0, 0xC0 - bl sub_8013C68 - ldr r0, [r4] - adds r0, 0xD4 - ldr r0, [r0] - bl sub_80073E0 - bl sub_801CCD8 - movs r0, 0 - bl sub_801AD34 - ldr r0, [r4] - adds r0, 0x70 - movs r1, 0 - bl sub_8012EA4 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080182DC: .4byte gUnknown_203B20C -_080182E0: .4byte gUnknown_80DB830 - thumb_func_end sub_8018280 - - thumb_func_start sub_80182E4 -sub_80182E4: - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - mov r8, r0 - ldr r4, _080183DC - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r1, [r4] - ldr r0, _080183E0 - ldr r0, [r0] - str r0, [r1, 0x20] - movs r0, 0x2 - str r0, [r1, 0x24] - bl sub_8090A34 - cmp r0, 0 - beq _0801831C - movs r0, 0 - bl sub_801CF50 - lsls r0, 24 - cmp r0, 0 - beq _08018324 -_0801831C: - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - strh r1, [r0] -_08018324: - movs r1, 0x1 - add r8, r1 - ldr r4, _080183DC - ldr r2, [r4] - mov r0, r8 - lsls r3, r0, 3 - adds r0, r2, 0 - adds r0, 0x20 - adds r0, r3 - ldr r1, _080183E4 - ldr r1, [r1] - str r1, [r0] - adds r2, 0x24 - adds r2, r3 - movs r0, 0x3 - str r0, [r2] - movs r0, 0x1 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - bne _08018358 - bl sub_8090A34 - cmp r0, 0x13 - ble _08018366 -_08018358: - ldr r0, [r4] - mov r2, r8 - lsls r1, r2, 1 - adds r0, 0x60 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0] -_08018366: - movs r0, 0x1 - add r8, r0 - ldr r4, _080183DC - ldr r7, [r4] - mov r2, r8 - lsls r1, r2, 3 - adds r2, r7, 0 - adds r2, 0x20 - adds r3, r2, r1 - ldr r0, _080183E8 - ldr r0, [r0] - str r0, [r3] - adds r6, r7, 0 - adds r6, 0x24 - adds r1, r6, r1 - movs r3, 0x1 - str r3, [r1] - add r8, r3 - mov r1, r8 - lsls r0, r1, 3 - adds r2, r0 - movs r1, 0 - str r1, [r2] - adds r0, r6, r0 - str r3, [r0] - movs r5, 0 - mov r12, r4 - cmp r5, r8 - bge _080183C0 - adds r4, r7, 0 - adds r2, r4, 0 - adds r2, 0x60 - adds r3, r6, 0 -_080183A8: - ldrh r0, [r2] - cmp r0, 0 - bne _080183B6 - ldr r1, [r3] - ldr r0, [r4, 0x14] - cmp r1, r0 - beq _08018410 -_080183B6: - adds r2, 0x2 - adds r3, 0x8 - adds r5, 0x1 - cmp r5, r8 - blt _080183A8 -_080183C0: - movs r5, 0 - cmp r5, r8 - bge _08018410 - mov r2, r12 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x60 - ldrh r0, [r0] - cmp r0, 0 - bne _080183EC - ldr r0, [r1, 0x24] - str r0, [r1, 0x14] - b _08018410 - .align 2, 0 -_080183DC: .4byte gUnknown_203B20C -_080183E0: .4byte gUnknown_80D4958 -_080183E4: .4byte gUnknown_80D4964 -_080183E8: .4byte gUnknown_80D4934 -_080183EC: - adds r5, 0x1 - cmp r5, r8 - bge _08018410 - mov r0, r12 - ldr r2, [r0] - lsls r0, r5, 1 - adds r1, r2, 0 - adds r1, 0x60 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _080183EC - lsls r0, r5, 3 - adds r1, r2, 0 - adds r1, 0x24 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x14] -_08018410: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80182E4 - - thumb_func_start sub_801841C -sub_801841C: - push {r4-r7,lr} - ldr r4, _080184A0 - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r1, [r4] - ldr r0, _080184A4 - ldr r0, [r0] - str r0, [r1, 0x20] - movs r0, 0x2 - str r0, [r1, 0x24] - ldr r0, [r1, 0xC] - bl sub_801ADA0 - lsls r0, 24 - cmp r0, 0 - bne _0801844C - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - strh r1, [r0] -_0801844C: - ldr r2, [r4] - movs r1, 0x1 - ldr r0, _080184A8 - ldr r0, [r0] - str r0, [r2, 0x28] - movs r0, 0x4 - str r0, [r2, 0x2C] - movs r5, 0x2 - movs r0, 0 - str r0, [r2, 0x30] - str r1, [r2, 0x34] - movs r3, 0 - adds r6, r4, 0 - mov r12, r2 - mov r4, r12 - adds r4, 0x60 - adds r2, 0x24 -_0801846E: - ldrh r0, [r4] - cmp r0, 0 - bne _0801847E - ldr r1, [r2] - mov r7, r12 - ldr r0, [r7, 0x18] - cmp r1, r0 - beq _080184CE -_0801847E: - adds r4, 0x2 - adds r2, 0x8 - adds r3, 0x1 - cmp r3, r5 - blt _0801846E - movs r3, 0 - cmp r3, r5 - bge _080184CE - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x60 - ldrh r0, [r0] - cmp r0, 0 - bne _080184AC - ldr r0, [r1, 0x24] - str r0, [r1, 0x18] - b _080184CE - .align 2, 0 -_080184A0: .4byte gUnknown_203B20C -_080184A4: .4byte gUnknown_80D4958 -_080184A8: .4byte gUnknown_80D4970 -_080184AC: - adds r3, 0x1 - cmp r3, r5 - bge _080184CE - ldr r2, [r6] - lsls r0, r3, 1 - adds r1, r2, 0 - adds r1, 0x60 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _080184AC - lsls r0, r3, 3 - adds r1, r2, 0 - adds r1, 0x24 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x18] -_080184CE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_801841C - - thumb_func_start sub_80184D4 -sub_80184D4: - push {r4-r7,lr} - ldr r4, _08018554 - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r1, [r4] - ldr r0, _08018558 - ldr r0, [r0] - str r0, [r1, 0x20] - movs r0, 0x3 - str r0, [r1, 0x24] - bl sub_8090A34 - cmp r0, 0x13 - ble _08018500 - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - strh r1, [r0] -_08018500: - ldr r2, [r4] - movs r1, 0x1 - ldr r0, _0801855C - ldr r0, [r0] - str r0, [r2, 0x28] - movs r0, 0x4 - str r0, [r2, 0x2C] - movs r5, 0x2 - movs r0, 0 - str r0, [r2, 0x30] - str r1, [r2, 0x34] - movs r3, 0 - adds r6, r4, 0 - mov r12, r2 - mov r4, r12 - adds r4, 0x60 - adds r2, 0x24 -_08018522: - ldrh r0, [r4] - cmp r0, 0 - bne _08018532 - ldr r1, [r2] - mov r7, r12 - ldr r0, [r7, 0x1C] - cmp r1, r0 - beq _08018582 -_08018532: - adds r4, 0x2 - adds r2, 0x8 - adds r3, 0x1 - cmp r3, r5 - blt _08018522 - movs r3, 0 - cmp r3, r5 - bge _08018582 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x60 - ldrh r0, [r0] - cmp r0, 0 - bne _08018560 - ldr r0, [r1, 0x24] - str r0, [r1, 0x1C] - b _08018582 - .align 2, 0 -_08018554: .4byte gUnknown_203B20C -_08018558: .4byte gUnknown_80D4964 -_0801855C: .4byte gUnknown_80D4970 -_08018560: - adds r3, 0x1 - cmp r3, r5 - bge _08018582 - ldr r2, [r6] - lsls r0, r3, 1 - adds r1, r2, 0 - adds r1, 0x60 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _08018560 - lsls r0, r3, 3 - adds r1, r2, 0 - adds r1, 0x24 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x1C] -_08018582: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80184D4 - - thumb_func_start sub_8018588 -sub_8018588: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r4, _080185C4 - ldr r0, [r4] - adds r0, 0x70 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _080185B4 - ldr r0, [r4] - adds r0, 0x70 - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _080185B4 - ldr r0, [r4] - str r1, [r0, 0x14] -_080185B4: - ldr r0, [sp] - cmp r0, 0x2 - beq _080185CE - cmp r0, 0x2 - bgt _080185C8 - cmp r0, 0x1 - beq _08018610 - b _08018616 - .align 2, 0 -_080185C4: .4byte gUnknown_203B20C -_080185C8: - cmp r0, 0x3 - beq _080185EA - b _08018616 -_080185CE: - bl sub_8090A34 - cmp r0, 0 - beq _080185F6 - movs r0, 0 - bl sub_801CF50 - lsls r0, 24 - cmp r0, 0 - bne _080185F6 - movs r0, 0x4 - bl sub_8017F10 - b _08018616 -_080185EA: - movs r0, 0x1 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - beq _08018608 -_080185F6: - ldr r0, _08018604 - ldr r0, [r0] - adds r0, 0x70 - movs r1, 0x1 - bl sub_8012EA4 - b _08018616 - .align 2, 0 -_08018604: .4byte gUnknown_203B20C -_08018608: - movs r0, 0xA - bl sub_8017F10 - b _08018616 -_08018610: - movs r0, 0x3 - bl sub_8017F10 -_08018616: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8018588 - - thumb_func_start sub_8018620 -sub_8018620: - push {r4-r7,lr} - movs r0, 0x1 - bl sub_801A6E8 - cmp r0, 0x3 - beq _0801863C - cmp r0, 0x3 - bhi _08018636 - cmp r0, 0x2 - beq _080186E8 - b _080186F2 -_08018636: - cmp r0, 0x4 - beq _080186C0 - b _080186F2 -_0801863C: - bl sub_801AEA8 - cmp r0, 0 - beq _08018698 - movs r5, 0 - ldr r6, _0801868C - movs r7, 0 -_0801864A: - adds r0, r5, 0 - bl sub_801AED0 - cmp r0, 0 - beq _0801866A - lsls r4, r5, 2 - ldr r0, [r6] - adds r0, r4 - bl sub_80917B8 - ldr r0, [r6] - adds r0, r4 - strb r7, [r0, 0x2] - ldr r0, [r6] - adds r0, r4 - strb r7, [r0] -_0801866A: - adds r5, 0x1 - cmp r5, 0x13 - ble _0801864A - bl sub_80910B4 - bl sub_801AE84 - bl sub_8090A34 - cmp r0, 0 - bne _08018690 - bl sub_801A928 - movs r0, 0x1 - bl sub_8017F10 - b _080186F2 - .align 2, 0 -_0801868C: .4byte gUnknown_203B460 -_08018690: - movs r0, 0x5 - bl sub_8017F10 - b _080186F2 -_08018698: - bl sub_801A8AC - ldr r1, _080186B8 - ldr r2, [r1] - str r0, [r2, 0xC] - ldr r1, _080186BC - ldr r1, [r1] - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x8] - movs r0, 0x6 - bl sub_8017F10 - b _080186F2 - .align 2, 0 -_080186B8: .4byte gUnknown_203B20C -_080186BC: .4byte gUnknown_203B460 -_080186C0: - bl sub_801A8AC - ldr r1, _080186E0 - ldr r2, [r1] - str r0, [r2, 0xC] - ldr r1, _080186E4 - ldr r1, [r1] - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x8] - movs r0, 0x7 - bl sub_8017F10 - b _080186F2 - .align 2, 0 -_080186E0: .4byte gUnknown_203B20C -_080186E4: .4byte gUnknown_203B460 -_080186E8: - bl sub_801A928 - movs r0, 0x1 - bl sub_8017F10 -_080186F2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8018620 - - thumb_func_start sub_80186F8 -sub_80186F8: - push {r4-r7,lr} - sub sp, 0x4 - movs r0, 0x1 - bl sub_801CA08 - cmp r0, 0x2 - bne _08018708 - b _08018838 -_08018708: - cmp r0, 0x2 - bhi _08018714 - cmp r0, 0x1 - bne _08018712 - b _08018844 -_08018712: - b _0801884A -_08018714: - cmp r0, 0x3 - beq _0801871E - cmp r0, 0x4 - beq _0801880C - b _0801884A -_0801871E: - bl sub_801CFB8 - cmp r0, 0 - beq _080187E0 - movs r6, 0 - mov r5, sp - ldr r7, _0801876C -_0801872C: - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_801CFE0 - cmp r0, 0 - beq _080187B2 - ldr r1, _08018770 - ldr r0, [sp] - ands r0, r1 - orrs r0, r4 - str r0, [sp] - ldrb r0, [r5] - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - beq _08018786 - ldr r2, _08018774 - ldr r1, [r2] - ldrb r0, [r5] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r1, [r1] - cmp r1, 0x63 - bls _08018778 - ldr r0, [sp] - ands r0, r7 - movs r1, 0xC6 - lsls r1, 7 - b _08018780 - .align 2, 0 -_0801876C: .4byte 0xffff00ff -_08018770: .4byte 0xffffff00 -_08018774: .4byte gUnknown_203B460 -_08018778: - lsls r1, 24 - lsrs r1, 16 - ldr r0, [sp] - ands r0, r7 -_08018780: - orrs r0, r1 - str r0, [sp] - b _08018794 -_08018786: - ldr r0, [sp] - ands r0, r7 - movs r1, 0x80 - lsls r1, 1 - orrs r0, r1 - str r0, [sp] - ldr r2, _080187DC -_08018794: - ldr r2, [r2] - ldrb r0, [r5] - lsls r0, 1 - adds r2, 0x50 - adds r2, r0 - ldr r0, [sp] - lsrs r0, 8 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r2] - subs r1, r0 - strh r1, [r2] - mov r0, sp - bl sub_8091274 -_080187B2: - adds r6, 0x1 - cmp r6, 0xEF - ble _0801872C - bl sub_80910B4 - bl sub_801CF94 - movs r0, 0x1 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - bne _08018838 - bl sub_8090A34 - cmp r0, 0x13 - bgt _08018838 - movs r0, 0xB - bl sub_8017F10 - b _0801884A - .align 2, 0 -_080187DC: .4byte gUnknown_203B460 -_080187E0: - bl sub_801CB24 - ldr r4, _08018808 - ldr r1, [r4] - strb r0, [r1, 0x10] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x8 - ldrb r1, [r1, 0x10] - movs r2, 0 - bl sub_8090A8C - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x9] - movs r0, 0xD - bl sub_8017F10 - b _0801884A - .align 2, 0 -_08018808: .4byte gUnknown_203B20C -_0801880C: - bl sub_801CB24 - ldr r4, _08018834 - ldr r1, [r4] - strb r0, [r1, 0x10] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x8 - ldrb r1, [r1, 0x10] - movs r2, 0 - bl sub_8090A8C - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x9] - movs r0, 0xE - bl sub_8017F10 - b _0801884A - .align 2, 0 -_08018834: .4byte gUnknown_203B20C -_08018838: - bl sub_801CBB8 - movs r0, 0x1 - bl sub_8017F10 - b _0801884A -_08018844: - movs r0, 0 - bl sub_801AD34 -_0801884A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80186F8 - - thumb_func_start sub_8018854 -sub_8018854: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - bl sub_801CA08 - ldr r4, _080188E0 - ldr r0, [r4] - adds r0, 0x70 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0xC0 - bl sub_8013BBC - cmp r0, 0x1 - beq _080188F8 - cmp r0, 0x1 - bcc _080188FC - cmp r0, 0x2 - beq _080188F0 - cmp r0, 0x3 - bne _080188FC - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xC0 - ldr r0, [r0] - strb r0, [r1, 0x9] - ldr r0, _080188E4 - ldr r1, [r0] - ldr r3, [r4] - ldrb r0, [r3, 0xA] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrb r2, [r3, 0x9] - ldrh r0, [r1] - subs r0, r2 - strh r0, [r1] - ldrb r2, [r3, 0xA] - ldr r1, _080188E8 - ldr r0, [sp] - ands r0, r1 - orrs r0, r2 - str r0, [sp] - ldrb r1, [r3, 0x9] - lsls r1, 8 - ldr r2, _080188EC - ands r0, r2 - orrs r0, r1 - str r0, [sp] - mov r0, sp - bl sub_8091274 - movs r0, 0x1 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - bne _080188D2 - bl sub_8090A34 - cmp r0, 0x13 - ble _080188F0 -_080188D2: - bl sub_801CBB8 - movs r0, 0x1 - bl sub_8017F10 - b _080188FC - .align 2, 0 -_080188E0: .4byte gUnknown_203B20C -_080188E4: .4byte gUnknown_203B460 -_080188E8: .4byte 0xffffff00 -_080188EC: .4byte 0xffff00ff -_080188F0: - movs r0, 0xB - bl sub_8017F10 - b _080188FC -_080188F8: - bl sub_8018280 -_080188FC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8018854 - - thumb_func_start sub_8018904 -sub_8018904: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_801A6E8 - ldr r4, _08018944 - ldr r0, [r4] - adds r0, 0x70 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08018934 - ldr r0, [r4] - adds r0, 0x70 - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _08018934 - ldr r0, [r4] - str r1, [r0, 0x18] -_08018934: - ldr r0, [sp] - cmp r0, 0x2 - beq _0801894E - cmp r0, 0x2 - bgt _08018948 - cmp r0, 0x1 - beq _080189BA - b _080189C0 - .align 2, 0 -_08018944: .4byte gUnknown_203B20C -_08018948: - cmp r0, 0x4 - beq _080189AC - b _080189C0 -_0801894E: - ldr r4, _08018978 - ldr r0, [r4] - ldrb r0, [r0, 0xA] - bl sub_8091524 - lsls r0, 24 - cmp r0, 0 - beq _0801896C - ldr r0, [r4] - ldr r0, [r0, 0xC] - bl sub_801ADA0 - lsls r0, 24 - cmp r0, 0 - bne _0801897C -_0801896C: - ldr r0, [r4] - adds r0, 0x70 - movs r1, 0x1 - bl sub_8012EA4 - b _080189C0 - .align 2, 0 -_08018978: .4byte gUnknown_203B20C -_0801897C: - ldr r0, [r4] - adds r0, 0x8 - bl sub_80917B8 - ldr r0, [r4] - ldr r0, [r0, 0xC] - bl sub_80911F8 - bl sub_80910B4 - bl sub_8090A34 - cmp r0, 0 - bne _080189A4 - bl sub_801A928 - movs r0, 0x1 - bl sub_8017F10 - b _080189C0 -_080189A4: - movs r0, 0x5 - bl sub_8017F10 - b _080189C0 -_080189AC: - movs r0, 0 - bl sub_8099690 - movs r0, 0x7 - bl sub_8017F10 - b _080189C0 -_080189BA: - movs r0, 0x5 - bl sub_8017F10 -_080189C0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8018904 - - thumb_func_start sub_80189C8 -sub_80189C8: - push {r4,lr} - sub sp, 0x8 - movs r0, 0 - str r0, [sp] - bl sub_801CA08 - ldr r4, _08018A08 - ldr r0, [r4] - adds r0, 0x70 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _080189F8 - ldr r0, [r4] - adds r0, 0x70 - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _080189F8 - ldr r0, [r4] - str r1, [r0, 0x1C] -_080189F8: - ldr r0, [sp] - cmp r0, 0x3 - beq _08018A12 - cmp r0, 0x3 - bgt _08018A0C - cmp r0, 0x1 - beq _08018AB8 - b _08018ABE - .align 2, 0 -_08018A08: .4byte gUnknown_203B20C -_08018A0C: - cmp r0, 0x4 - beq _08018AB0 - b _08018ABE -_08018A12: - bl sub_8090A34 - cmp r0, 0x13 - ble _08018A2C - ldr r0, _08018A28 - ldr r0, [r0] - adds r0, 0x70 - movs r1, 0x1 - bl sub_8012EA4 - b _08018ABE - .align 2, 0 -_08018A28: .4byte gUnknown_203B20C -_08018A2C: - ldr r4, _08018A44 - ldr r0, [r4] - ldrb r0, [r0, 0xA] - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - beq _08018A48 - movs r0, 0xC - bl sub_8017F10 - b _08018ABE - .align 2, 0 -_08018A44: .4byte gUnknown_203B20C -_08018A48: - ldr r0, _08018A9C - ldr r1, [r0] - ldr r3, [r4] - ldrb r0, [r3, 0xA] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrb r2, [r3, 0x9] - ldrh r0, [r1] - subs r0, r2 - strh r0, [r1] - ldrb r2, [r3, 0xA] - ldr r1, _08018AA0 - ldr r0, [sp, 0x4] - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x4] - ldrb r1, [r3, 0x9] - lsls r1, 8 - ldr r2, _08018AA4 - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x4] - add r0, sp, 0x4 - bl sub_8091274 - movs r0, 0x1 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - bne _08018A90 - bl sub_8090A34 - cmp r0, 0x13 - ble _08018AA8 -_08018A90: - bl sub_801CBB8 - movs r0, 0x1 - bl sub_8017F10 - b _08018ABE - .align 2, 0 -_08018A9C: .4byte gUnknown_203B460 -_08018AA0: .4byte 0xffffff00 -_08018AA4: .4byte 0xffff00ff -_08018AA8: - movs r0, 0xB - bl sub_8017F10 - b _08018ABE -_08018AB0: - movs r0, 0xE - bl sub_8017F10 - b _08018ABE -_08018AB8: - movs r0, 0xB - bl sub_8017F10 -_08018ABE: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80189C8 - - thumb_func_start sub_8018AC8 -sub_8018AC8: - push {lr} - bl sub_801B410 - cmp r0, 0x1 - bls _08018AE0 - cmp r0, 0x3 - bhi _08018AE0 - bl sub_801B450 - movs r0, 0x5 - bl sub_8017F10 -_08018AE0: - pop {r0} - bx r0 - thumb_func_end sub_8018AC8 - - thumb_func_start sub_8018AE4 -sub_8018AE4: - push {lr} - bl sub_801B410 - cmp r0, 0x1 - bls _08018AFC - cmp r0, 0x3 - bhi _08018AFC - bl sub_801B450 - movs r0, 0xB - bl sub_8017F10 -_08018AFC: - pop {r0} - bx r0 - thumb_func_end sub_8018AE4 - - thumb_func_start DisplayKeckleonDialogueSprite -DisplayKeckleonDialogueSprite: - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _08018B30 - movs r0, 0xA4 - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - adds r1, r0, 0 - str r1, [r5] - movs r2, 0 - str r2, [r1, 0x28] - str r2, [r1, 0x2C] - str r2, [r1, 0x30] - str r4, [r1] - cmp r4, 0x1 - beq _08018B3A - cmp r4, 0x1 - bcc _08018B34 - cmp r4, 0x2 - beq _08018B44 - cmp r4, 0x3 - beq _08018B80 - b _08018BAE - .align 2, 0 -_08018B30: .4byte gUnknown_203B210 -_08018B34: - movs r0, 0x1 - strb r0, [r1, 0x4] - b _08018B46 -_08018B3A: - strb r4, [r1, 0x4] - ldr r0, [r5] - adds r0, 0xE4 - str r2, [r0] - b _08018B50 -_08018B44: - strb r2, [r1, 0x4] -_08018B46: - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0xE4 - adds r0, 0xD4 - str r0, [r1] -_08018B50: - ldr r0, _08018B78 - movs r5, 0xBE - lsls r5, 1 - adds r1, r5, 0 - bl sub_808D8E0 - ldr r4, _08018B7C - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808D8E0 - adds r0, r5, 0 - bl GetMonSpecies - adds r1, r0, 0 - subs r4, 0x50 - adds r0, r4, 0 - bl strcpy - b _08018BAE - .align 2, 0 -_08018B78: .4byte gUnknown_202E5D8 -_08018B7C: .4byte gUnknown_202E1C8 -_08018B80: - strb r2, [r1, 0x4] - ldr r0, [r5] - adds r0, 0xE4 - str r2, [r0] - ldr r0, _08018BF8 - movs r5, 0xBE - lsls r5, 1 - adds r1, r5, 0 - bl sub_808D8E0 - ldr r4, _08018BFC - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808D8E0 - adds r0, r5, 0 - bl GetMonSpecies - adds r1, r0, 0 - subs r4, 0x50 - adds r0, r4, 0 - bl strcpy -_08018BAE: - movs r0, 0xBE - lsls r0, 1 - bl GetDialogueSpriteDataPtr - ldr r2, _08018C00 - ldr r3, [r2] - adds r1, r3, 0 - adds r1, 0xD4 - str r0, [r1] - adds r1, 0x4 - ldr r0, [r0, 0x4] - str r0, [r1] - adds r0, r3, 0 - adds r0, 0xE0 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xE1 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xE2 - strb r1, [r0] - ldr r1, [r2] - adds r2, r1, 0 - adds r2, 0xDC - movs r0, 0x2 - strh r0, [r2] - adds r1, 0xDE - movs r0, 0x8 - strh r0, [r1] - movs r0, 0 - bl sub_8018D18 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08018BF8: .4byte gUnknown_202E5D8 -_08018BFC: .4byte gUnknown_202E1C8 -_08018C00: .4byte gUnknown_203B210 - thumb_func_end DisplayKeckleonDialogueSprite - - thumb_func_start sub_8018C04 -sub_8018C04: - push {lr} - ldr r0, _08018C1C - ldr r0, [r0] - ldr r0, [r0, 0x8] - cmp r0, 0x1F - bhi _08018CE4 - lsls r0, 2 - ldr r1, _08018C20 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08018C1C: .4byte gUnknown_203B210 -_08018C20: .4byte _08018C24 - .align 2, 0 -_08018C24: - .4byte _08018CA4 - .4byte _08018CA4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE0 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CAA - .4byte _08018CAA - .4byte _08018CB6 - .4byte _08018CD4 - .4byte _08018CC2 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CE4 - .4byte _08018CB0 - .4byte _08018CB0 - .4byte _08018CBC - .4byte _08018CDA - .4byte _08018CC8 - .4byte _08018CCE -_08018CA4: - bl sub_8019730 - b _08018CE8 -_08018CAA: - bl sub_80199CC - b _08018CE8 -_08018CB0: - bl sub_8019B08 - b _08018CE8 -_08018CB6: - bl sub_8019BBC - b _08018CE8 -_08018CBC: - bl sub_8019C78 - b _08018CE8 -_08018CC2: - bl sub_8019850 - b _08018CE8 -_08018CC8: - bl sub_80198E8 - b _08018CE8 -_08018CCE: - bl sub_8019944 - b _08018CE8 -_08018CD4: - bl sub_8019D30 - b _08018CE8 -_08018CDA: - bl sub_8019D4C - b _08018CE8 -_08018CE0: - movs r0, 0x3 - b _08018CEA -_08018CE4: - bl sub_8019D68 -_08018CE8: - movs r0, 0 -_08018CEA: - pop {r1} - bx r1 - thumb_func_end sub_8018C04 - - thumb_func_start sub_8018CF0 -sub_8018CF0: - push {r4,lr} - ldr r4, _08018D14 - ldr r0, [r4] - cmp r0, 0 - beq _08018D0C - adds r0, 0xD4 - ldr r0, [r0] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08018D0C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08018D14: .4byte gUnknown_203B210 - thumb_func_end sub_8018CF0 - - thumb_func_start sub_8018D18 -sub_8018D18: - push {lr} - ldr r1, _08018D2C - ldr r1, [r1] - str r0, [r1, 0x8] - bl sub_8018D30 - bl sub_8018E88 - pop {r0} - bx r0 - .align 2, 0 -_08018D2C: .4byte gUnknown_203B210 - thumb_func_end sub_8018D18 - - thumb_func_start sub_8018D30 -sub_8018D30: - push {r4-r7,lr} - ldr r4, _08018D54 - ldr r0, [r4] - adds r0, 0xE8 - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0, 0x8] - subs r0, 0x12 - cmp r0, 0xA - bls _08018D48 - b _08018E44 -_08018D48: - lsls r0, 2 - ldr r1, _08018D58 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08018D54: .4byte gUnknown_203B210 -_08018D58: .4byte _08018D5C - .align 2, 0 -_08018D5C: - .4byte _08018D88 - .4byte _08018D88 - .4byte _08018E24 - .4byte _08018E44 - .4byte _08018E44 - .4byte _08018E44 - .4byte _08018E44 - .4byte _08018E44 - .4byte _08018DDC - .4byte _08018DDC - .4byte _08018E24 -_08018D88: - ldr r3, _08018DCC - ldr r1, [r3] - ldr r2, _08018DD0 - adds r1, 0xE8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldr r0, [r3] - movs r6, 0x8C - lsls r6, 1 - adds r0, r6 - ldm r2!, {r1,r4,r7} - stm r0!, {r1,r4,r7} - ldm r2!, {r5-r7} - stm r0!, {r5-r7} - ldr r1, [r3] - adds r1, 0xE8 - ldr r0, _08018DD4 - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldr r1, [r3] - movs r3, 0x80 - lsls r3, 1 - adds r1, r3 - ldr r0, _08018DD8 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - b _08018E68 - .align 2, 0 -_08018DCC: .4byte gUnknown_203B210 -_08018DD0: .4byte gUnknown_80DB840 -_08018DD4: .4byte gUnknown_80DB870 -_08018DD8: .4byte gUnknown_80DB888 -_08018DDC: - ldr r3, _08018E18 - ldr r1, [r3] - ldr r2, _08018E1C - adds r1, 0xE8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldr r1, [r3] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - adds r0, r2, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldr r0, [r3] - movs r6, 0x8C - lsls r6, 1 - adds r0, r6 - ldm r2!, {r1,r5,r7} - stm r0!, {r1,r5,r7} - ldm r2!, {r1,r6,r7} - stm r0!, {r1,r6,r7} - ldr r1, [r3] - adds r1, r4 - ldr r0, _08018E20 - b _08018E30 - .align 2, 0 -_08018E18: .4byte gUnknown_203B210 -_08018E1C: .4byte gUnknown_80DB840 -_08018E20: .4byte gUnknown_80DB888 -_08018E24: - ldr r0, _08018E3C - ldr r1, [r0] - movs r0, 0x8C - lsls r0, 1 - adds r1, r0 - ldr r0, _08018E40 -_08018E30: - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - b _08018E68 - .align 2, 0 -_08018E3C: .4byte gUnknown_203B210 -_08018E40: .4byte gUnknown_80DB858 -_08018E44: - ldr r0, _08018E80 - mov r12, r0 - ldr r4, _08018E84 - movs r3, 0 - movs r2, 0x3 -_08018E4E: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - adds r1, 0xE8 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _08018E4E -_08018E68: - bl ResetUnusedInputStruct - ldr r0, _08018E80 - ldr r0, [r0] - adds r0, 0xE8 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08018E80: .4byte gUnknown_203B210 -_08018E84: .4byte gUnknown_80DB840 - thumb_func_end sub_8018D30 - - thumb_func_start sub_8018E88 -sub_8018E88: - push {r4,lr} - sub sp, 0x14 - ldr r1, _08018EA4 - ldr r0, [r1] - ldr r0, [r0, 0x8] - adds r4, r1, 0 - cmp r0, 0x20 - bls _08018E9A - b _080194E8 -_08018E9A: - lsls r0, 2 - ldr r1, _08018EA8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08018EA4: .4byte gUnknown_203B210 -_08018EA8: .4byte _08018EAC - .align 2, 0 -_08018EAC: - .4byte _08018F30 - .4byte _08018F58 - .4byte _08018FA8 - .4byte _08018FD0 - .4byte _080194E8 - .4byte _08018FFC - .4byte _08019024 - .4byte _0801904C - .4byte _08019070 - .4byte _08019094 - .4byte _080190B8 - .4byte _080190DC - .4byte _08019104 - .4byte _0801912C - .4byte _08019164 - .4byte _0801918C - .4byte _080191B4 - .4byte _08019294 - .4byte _080191DC - .4byte _080191FA - .4byte _08019218 - .4byte _080193F4 - .4byte _08019254 - .4byte _08019314 - .4byte _0801933C - .4byte _080193FE - .4byte _08019364 - .4byte _08019372 - .4byte _08019380 - .4byte _080193F4 - .4byte _080193B4 - .4byte _0801946C - .4byte _080194C0 -_08018F30: - bl sub_8019DAC - bl sub_80194F8 - movs r0, 0 - bl sub_8019E04 - ldr r2, _08018F50 - ldr r0, _08018F54 - ldr r4, [r0] - ldr r1, [r4] - movs r0, 0x5C - muls r0, r1 - adds r0, r2 - b _08018F76 - .align 2, 0 -_08018F50: .4byte gKecleonShopDialogue -_08018F54: .4byte gUnknown_203B210 -_08018F58: - bl sub_8019DAC - bl sub_80194F8 - movs r0, 0 - bl sub_8019E04 - ldr r1, _08018FA0 - ldr r0, _08018FA4 - ldr r4, [r0] - ldr r2, [r4] - movs r0, 0x5C - muls r0, r2 - adds r1, 0x4 - adds r0, r1 -_08018F76: - ldr r0, [r0] - ldr r2, [r4, 0x28] - adds r3, r4, 0 - adds r3, 0x34 - adds r1, r4, 0 - adds r1, 0x74 - str r1, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - adds r1, r4, 0 - adds r1, 0xE4 - ldr r1, [r1] - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _080194E8 - .align 2, 0 -_08018FA0: .4byte gKecleonShopDialogue -_08018FA4: .4byte gUnknown_203B210 -_08018FA8: - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0xC] - movs r0, 0 - bl sub_8019E04 - ldr r1, _08018FCC - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x58 - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_08018FCC: .4byte gKecleonShopDialogue -_08018FD0: - ldr r1, [r4] - movs r0, 0x4 - str r0, [r1, 0xC] - movs r0, 0 - bl sub_8019E04 - ldr r1, _08018FF4 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x8 - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - ldr r3, _08018FF8 - b _08019456 - .align 2, 0 -_08018FF4: .4byte gKecleonShopDialogue -_08018FF8: .4byte 0x0000030d -_08018FFC: - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0xC] - movs r0, 0 - bl sub_8019E04 - ldr r1, _08019020 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x30 - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_08019020: .4byte gKecleonShopDialogue -_08019024: - ldr r1, [r4] - movs r0, 0x10 - str r0, [r1, 0xC] - movs r0, 0x1 - bl sub_8019E04 - ldr r1, _08019048 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x34 - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_08019048: .4byte gKecleonShopDialogue -_0801904C: - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0xC] - bl sub_8019E04 - ldr r1, _0801906C - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x38 - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_0801906C: .4byte gKecleonShopDialogue -_08019070: - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0xC] - bl sub_8019E04 - ldr r1, _08019090 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x3C - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_08019090: .4byte gKecleonShopDialogue -_08019094: - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0xC] - bl sub_8019E04 - ldr r1, _080190B4 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x40 - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_080190B4: .4byte gKecleonShopDialogue -_080190B8: - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0xC] - bl sub_8019E04 - ldr r1, _080190D8 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x44 - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_080190D8: .4byte gKecleonShopDialogue -_080190DC: - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0xC] - movs r0, 0 - bl sub_8019E04 - ldr r1, _08019100 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x48 - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_08019100: .4byte gKecleonShopDialogue -_08019104: - ldr r1, [r4] - movs r0, 0x10 - str r0, [r1, 0xC] - movs r0, 0x1 - bl sub_8019E04 - ldr r1, _08019128 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_08019128: .4byte gKecleonShopDialogue -_0801912C: - ldr r0, _0801915C - ldr r1, [r4] - adds r1, 0x1C - movs r2, 0 - bl sub_8090E14 - ldr r1, [r4] - movs r0, 0x18 - str r0, [r1, 0xC] - movs r0, 0x1 - bl sub_8019E04 - ldr r1, _08019160 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_0801915C: .4byte gUnknown_202DE58 -_08019160: .4byte gKecleonShopDialogue -_08019164: - ldr r1, [r4] - movs r0, 0x18 - str r0, [r1, 0xC] - movs r0, 0x1 - bl sub_8019E04 - ldr r1, _08019188 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x54 - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_08019188: .4byte gKecleonShopDialogue -_0801918C: - ldr r1, [r4] - movs r0, 0x12 - str r0, [r1, 0xC] - movs r0, 0 - bl sub_8019E04 - ldr r1, _080191B0 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0xC - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_080191B0: .4byte gKecleonShopDialogue -_080191B4: - ldr r1, [r4] - movs r0, 0x13 - str r0, [r1, 0xC] - movs r0, 0 - bl sub_8019E04 - ldr r1, _080191D8 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x10 - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_080191D8: .4byte gKecleonShopDialogue -_080191DC: - ldr r0, [r4] - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _080191EC - movs r0, 0x3 - bl sub_8019E40 - b _080191F2 -_080191EC: - movs r0, 0x3 - bl sub_801A20C -_080191F2: - movs r0, 0 - bl sub_801AD34 - b _08019378 -_080191FA: - ldr r0, [r4] - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _0801920A - movs r0, 0x1 - bl sub_8019FCC - b _08019210 -_0801920A: - movs r0, 0x1 - bl sub_801A398 -_08019210: - movs r0, 0 - bl sub_801AD34 - b _08019378 -_08019218: - ldr r0, [r4] - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08019226 - bl sub_801A0D8 - b _0801922A -_08019226: - bl sub_801A4A4 -_0801922A: - movs r0, 0 - bl sub_801AD34 - movs r0, 0x1 - bl sub_8016C40 - bl sub_80195C0 - ldr r0, _08019250 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x84 - adds r1, r2, 0 - adds r1, 0x34 - adds r3, r2, 0 - adds r3, 0x74 - ldr r2, [r2, 0x30] - b _080193A0 - .align 2, 0 -_08019250: .4byte gUnknown_203B210 -_08019254: - bl sub_8019700 - ldr r0, _08019284 - ldr r4, _08019288 - ldr r1, [r4] - adds r1, 0x1C - movs r2, 0 - bl sub_8090E14 - ldr r1, _0801928C - ldr r0, [r4] - ldr r0, [r0, 0x10] - str r0, [r1] - movs r0, 0 - bl sub_8019E04 - ldr r1, _08019290 - ldr r4, [r4] - ldr r2, [r4] - movs r0, 0x5C - muls r0, r2 - adds r1, 0x14 - b _0801948C - .align 2, 0 -_08019284: .4byte gUnknown_202DE58 -_08019288: .4byte gUnknown_203B210 -_0801928C: .4byte gUnknown_202DE30 -_08019290: .4byte gKecleonShopDialogue -_08019294: - bl sub_8019D8C - cmp r0, 0 - bne _080192C0 - ldr r0, _080192AC - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _080192B0 - bl sub_801A010 - b _080192B4 - .align 2, 0 -_080192AC: .4byte gUnknown_203B210 -_080192B0: - bl sub_801A3DC -_080192B4: - ldr r0, _080192BC - ldr r1, [r0] - movs r0, 0xB - b _080192F2 - .align 2, 0 -_080192BC: .4byte gUnknown_203B210 -_080192C0: - bl sub_8090A34 - cmp r0, 0x13 - ble _080192EC - ldr r0, _080192D8 - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _080192DC - bl sub_801A010 - b _080192E0 - .align 2, 0 -_080192D8: .4byte gUnknown_203B210 -_080192DC: - bl sub_801A3DC -_080192E0: - ldr r0, _080192E8 - ldr r1, [r0] - movs r0, 0x1 - b _080192F2 - .align 2, 0 -_080192E8: .4byte gUnknown_203B210 -_080192EC: - ldr r0, _0801930C - ldr r1, [r0] - movs r0, 0x10 -_080192F2: - str r0, [r1, 0xC] - movs r0, 0 - bl sub_8019E04 - ldr r2, _08019310 - ldr r0, _0801930C - ldr r1, [r0] - ldr r3, [r1] - movs r0, 0x5C - muls r0, r3 - adds r2, 0x18 - b _0801944C - .align 2, 0 -_0801930C: .4byte gUnknown_203B210 -_08019310: .4byte gKecleonShopDialogue -_08019314: - ldr r1, [r4] - movs r0, 0x1A - str r0, [r1, 0xC] - movs r0, 0 - bl sub_8019E04 - ldr r1, _08019338 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x1C - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_08019338: .4byte gKecleonShopDialogue -_0801933C: - ldr r1, [r4] - movs r0, 0x1B - str r0, [r1, 0xC] - movs r0, 0 - bl sub_8019E04 - ldr r1, _08019360 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x20 - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - b _08019454 - .align 2, 0 -_08019360: .4byte gKecleonShopDialogue -_08019364: - movs r0, 0x4 - movs r1, 0x3 - movs r2, 0 - movs r3, 0xA - bl sub_801A5D8 - b _08019378 -_08019372: - movs r0, 0x1 - bl sub_801A8D0 -_08019378: - movs r0, 0x1 - bl sub_8016C40 - b _080194E8 -_08019380: - bl sub_801A9E0 - movs r0, 0x1 - bl sub_8016C40 - bl sub_8019660 - ldr r0, _080193B0 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x84 - adds r1, r2, 0 - adds r1, 0x34 - adds r3, r2, 0 - adds r3, 0x74 - ldr r2, [r2, 0x2C] -_080193A0: - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - bl sub_8012D60 - b _080194E8 - .align 2, 0 -_080193B0: .4byte gUnknown_203B210 -_080193B4: - bl sub_8019700 - ldr r0, _080193E4 - ldr r4, _080193E8 - ldr r1, [r4] - adds r1, 0x1C - movs r2, 0 - bl sub_8090E14 - ldr r1, _080193EC - ldr r0, [r4] - ldr r0, [r0, 0x10] - str r0, [r1] - movs r0, 0 - bl sub_8019E04 - ldr r1, _080193F0 - ldr r4, [r4] - ldr r2, [r4] - movs r0, 0x5C - muls r0, r2 - adds r1, 0x24 - b _0801948C - .align 2, 0 -_080193E4: .4byte gUnknown_202DE58 -_080193E8: .4byte gUnknown_203B210 -_080193EC: .4byte gUnknown_202DE30 -_080193F0: .4byte gKecleonShopDialogue -_080193F4: - ldr r0, [r4] - adds r0, 0x1C - bl sub_801B3C0 - b _080194E8 -_080193FE: - bl sub_8090A34 - cmp r0, 0 - beq _08019418 - ldr r0, _08019424 - ldr r0, [r0] - movs r1, 0x98 - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, _08019428 - cmp r1, r0 - ble _08019430 -_08019418: - bl sub_801A928 - ldr r0, _0801942C - ldr r1, [r0] - movs r0, 0x1 - b _08019436 - .align 2, 0 -_08019424: .4byte gUnknown_203B460 -_08019428: .4byte 0x0001869e -_0801942C: .4byte gUnknown_203B210 -_08019430: - ldr r0, _08019460 - ldr r1, [r0] - movs r0, 0x18 -_08019436: - str r0, [r1, 0xC] - movs r0, 0 - bl sub_8019E04 - ldr r2, _08019464 - ldr r0, _08019460 - ldr r1, [r0] - ldr r3, [r1] - movs r0, 0x5C - muls r0, r3 - adds r2, 0x2C -_0801944C: - adds r0, r2 - ldr r0, [r0] - adds r1, 0xE4 - ldr r2, [r1] -_08019454: - ldr r3, _08019468 -_08019456: - movs r1, 0 - bl sub_80141B4 - b _080194E8 - .align 2, 0 -_08019460: .4byte gUnknown_203B210 -_08019464: .4byte gKecleonShopDialogue -_08019468: .4byte 0x0000010d -_0801946C: - bl sub_8019700 - ldr r1, _080194B4 - ldr r4, _080194B8 - ldr r0, [r4] - ldr r0, [r0, 0x18] - str r0, [r1] - movs r0, 0 - bl sub_8019E04 - ldr r1, _080194BC - ldr r4, [r4] - ldr r2, [r4] - movs r0, 0x5C - muls r0, r2 - adds r1, 0x28 -_0801948C: - adds r0, r1 - ldr r0, [r0] - adds r3, r4, 0 - adds r3, 0x34 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - adds r4, 0xE4 - ldr r1, [r4] - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x5 - bl sub_8014248 - b _080194E8 - .align 2, 0 -_080194B4: .4byte gUnknown_202DE30 -_080194B8: .4byte gUnknown_203B210 -_080194BC: .4byte gKecleonShopDialogue -_080194C0: - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0xC] - movs r0, 0 - bl sub_8019E04 - ldr r1, _080194F0 - ldr r2, [r4] - ldr r3, [r2] - movs r0, 0x5C - muls r0, r3 - adds r1, 0x2C - adds r0, r1 - ldr r0, [r0] - adds r2, 0xE4 - ldr r2, [r2] - ldr r3, _080194F4 - movs r1, 0 - bl sub_80141B4 -_080194E8: - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080194F0: .4byte gKecleonShopDialogue -_080194F4: .4byte 0x0000010d - thumb_func_end sub_8018E88 - - thumb_func_start sub_80194F8 -sub_80194F8: - push {r4-r7,lr} - ldr r4, _08019580 - ldr r0, [r4] - adds r0, 0x74 - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r3, [r4] - movs r2, 0 - ldr r0, _08019584 - ldr r0, [r0] - str r0, [r3, 0x34] - movs r0, 0x2 - str r0, [r3, 0x38] - movs r1, 0x1 - ldr r0, _08019588 - ldr r0, [r0] - str r0, [r3, 0x3C] - movs r0, 0x3 - str r0, [r3, 0x40] - ldr r0, _0801958C - str r0, [r3, 0x44] - movs r0, 0x4 - str r0, [r3, 0x48] - ldr r0, _08019590 - ldr r0, [r0] - str r0, [r3, 0x4C] - movs r0, 0x7 - str r0, [r3, 0x50] - ldr r0, _08019594 - ldr r0, [r0] - str r0, [r3, 0x54] - str r1, [r3, 0x58] - movs r6, 0x5 - str r2, [r3, 0x5C] - str r1, [r3, 0x60] - movs r5, 0 - mov r12, r3 - adds r3, 0x38 - mov r2, r12 - adds r2, 0x74 -_0801954C: - ldrh r0, [r2] - cmp r0, 0 - bne _0801955C - ldr r1, [r3] - mov r7, r12 - ldr r0, [r7, 0x28] - cmp r1, r0 - beq _080195BA -_0801955C: - adds r3, 0x8 - adds r2, 0x2 - adds r5, 0x1 - cmp r5, r6 - blt _0801954C - movs r5, 0 - cmp r5, r6 - bge _080195BA - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x74 - ldrh r0, [r0] - cmp r0, 0 - bne _08019598 - ldr r0, [r1, 0x38] - str r0, [r1, 0x28] - b _080195BA - .align 2, 0 -_08019580: .4byte gUnknown_203B210 -_08019584: .4byte gUnknown_80D4978 -_08019588: .4byte gUnknown_80D4984 -_0801958C: .4byte gUnknown_80DB8A0 -_08019590: .4byte gUnknown_80D4970 -_08019594: .4byte gUnknown_80D4934 -_08019598: - adds r5, 0x1 - cmp r5, r6 - bge _080195BA - ldr r2, [r4] - lsls r0, r5, 1 - adds r1, r2, 0 - adds r1, 0x74 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _08019598 - lsls r0, r5, 3 - adds r1, r2, 0 - adds r1, 0x38 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x28] -_080195BA: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80194F8 - - thumb_func_start sub_80195C0 -sub_80195C0: - push {r4-r7,lr} - ldr r4, _0801962C - ldr r0, [r4] - adds r0, 0x74 - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r3, [r4] - movs r2, 0 - ldr r0, _08019630 - ldr r0, [r0] - str r0, [r3, 0x34] - movs r0, 0x2 - str r0, [r3, 0x38] - movs r1, 0x1 - ldr r0, _08019634 - ldr r0, [r0] - str r0, [r3, 0x3C] - movs r0, 0x7 - str r0, [r3, 0x40] - movs r6, 0x2 - str r2, [r3, 0x44] - str r1, [r3, 0x48] - movs r5, 0 - mov r12, r3 - adds r3, 0x38 - mov r2, r12 - adds r2, 0x74 -_080195FA: - ldrh r0, [r2] - cmp r0, 0 - bne _0801960A - ldr r1, [r3] - mov r7, r12 - ldr r0, [r7, 0x30] - cmp r1, r0 - beq _0801965A -_0801960A: - adds r3, 0x8 - adds r2, 0x2 - adds r5, 0x1 - cmp r5, r6 - blt _080195FA - movs r5, 0 - cmp r5, r6 - bge _0801965A - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x74 - ldrh r0, [r0] - cmp r0, 0 - bne _08019638 - ldr r0, [r1, 0x38] - str r0, [r1, 0x30] - b _0801965A - .align 2, 0 -_0801962C: .4byte gUnknown_203B210 -_08019630: .4byte gUnknown_80D4978 -_08019634: .4byte gUnknown_80D4970 -_08019638: - adds r5, 0x1 - cmp r5, r6 - bge _0801965A - ldr r2, [r4] - lsls r0, r5, 1 - adds r1, r2, 0 - adds r1, 0x74 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _08019638 - lsls r0, r5, 3 - adds r1, r2, 0 - adds r1, 0x38 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x30] -_0801965A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80195C0 - - thumb_func_start sub_8019660 -sub_8019660: - push {r4-r7,lr} - ldr r4, _080196CC - ldr r0, [r4] - adds r0, 0x74 - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r3, [r4] - movs r2, 0 - ldr r0, _080196D0 - ldr r0, [r0] - str r0, [r3, 0x34] - movs r0, 0x3 - str r0, [r3, 0x38] - movs r1, 0x1 - ldr r0, _080196D4 - ldr r0, [r0] - str r0, [r3, 0x3C] - movs r0, 0x7 - str r0, [r3, 0x40] - movs r6, 0x2 - str r2, [r3, 0x44] - str r1, [r3, 0x48] - movs r5, 0 - mov r12, r3 - adds r3, 0x38 - mov r2, r12 - adds r2, 0x74 -_0801969A: - ldrh r0, [r2] - cmp r0, 0 - bne _080196AA - ldr r1, [r3] - mov r7, r12 - ldr r0, [r7, 0x2C] - cmp r1, r0 - beq _080196FA -_080196AA: - adds r3, 0x8 - adds r2, 0x2 - adds r5, 0x1 - cmp r5, r6 - blt _0801969A - movs r5, 0 - cmp r5, r6 - bge _080196FA - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x74 - ldrh r0, [r0] - cmp r0, 0 - bne _080196D8 - ldr r0, [r1, 0x38] - str r0, [r1, 0x2C] - b _080196FA - .align 2, 0 -_080196CC: .4byte gUnknown_203B210 -_080196D0: .4byte gUnknown_80D4984 -_080196D4: .4byte gUnknown_80D4970 -_080196D8: - adds r5, 0x1 - cmp r5, r6 - bge _080196FA - ldr r2, [r4] - lsls r0, r5, 1 - adds r1, r2, 0 - adds r1, 0x74 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _080196D8 - lsls r0, r5, 3 - adds r1, r2, 0 - adds r1, 0x38 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x2C] -_080196FA: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8019660 - - thumb_func_start sub_8019700 -sub_8019700: - ldr r0, _08019724 - ldr r1, [r0] - movs r3, 0 - ldr r0, _08019728 - ldr r0, [r0] - str r0, [r1, 0x34] - movs r0, 0x5 - str r0, [r1, 0x38] - movs r2, 0x1 - ldr r0, _0801972C - ldr r0, [r0] - str r0, [r1, 0x3C] - movs r0, 0x6 - str r0, [r1, 0x40] - str r3, [r1, 0x44] - str r2, [r1, 0x48] - bx lr - .align 2, 0 -_08019724: .4byte gUnknown_203B210 -_08019728: .4byte gUnknown_80D4920 -_0801972C: .4byte gUnknown_80D4928 - thumb_func_end sub_8019700 - - thumb_func_start sub_8019730 -sub_8019730: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - beq _08019740 - b _0801984A -_08019740: - ldr r1, [sp] - cmp r1, 0x1 - beq _0801974C - ldr r0, _08019760 - ldr r0, [r0] - str r1, [r0, 0x28] -_0801974C: - ldr r0, [sp] - subs r0, 0x1 - cmp r0, 0x6 - bls _08019756 - b _0801984A -_08019756: - lsls r0, 2 - ldr r1, _08019764 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08019760: .4byte gUnknown_203B210 -_08019764: .4byte _08019768 - .align 2, 0 -_08019768: - .4byte _08019844 - .4byte _08019784 - .4byte _080197AC - .4byte _080197E4 - .4byte _0801984A - .4byte _0801984A - .4byte _0801983C -_08019784: - bl sub_8019D8C - cmp r0, 0 - bne _08019794 - movs r0, 0x5 - bl sub_8018D18 - b _0801984A -_08019794: - bl sub_8090A34 - cmp r0, 0x13 - ble _080197A4 - movs r0, 0xA - bl sub_8018D18 - b _0801984A -_080197A4: - movs r0, 0xF - bl sub_8018D18 - b _0801984A -_080197AC: - bl sub_8090A34 - cmp r0, 0 - beq _080197EC - ldr r0, _080197D8 - ldr r0, [r0] - ldr r0, [r0, 0x14] - cmp r0, 0 - beq _080197FE - ldr r0, _080197DC - ldr r0, [r0] - movs r1, 0x98 - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, _080197E0 - cmp r1, r0 - bgt _08019822 - movs r0, 0x17 - bl sub_8018D18 - b _0801984A - .align 2, 0 -_080197D8: .4byte gUnknown_203B210 -_080197DC: .4byte gUnknown_203B460 -_080197E0: .4byte 0x0001869e -_080197E4: - bl sub_8090A34 - cmp r0, 0 - bne _080197F4 -_080197EC: - movs r0, 0x9 - bl sub_8018D18 - b _0801984A -_080197F4: - ldr r0, _08019808 - ldr r1, [r0] - ldr r0, [r1, 0x14] - cmp r0, 0 - bne _0801980C -_080197FE: - movs r0, 0x8 - bl sub_8018D18 - b _0801984A - .align 2, 0 -_08019808: .4byte gUnknown_203B210 -_0801980C: - ldr r0, _0801982C - ldr r0, [r0] - movs r2, 0x98 - lsls r2, 2 - adds r0, r2 - ldr r1, [r1, 0x18] - ldr r0, [r0] - adds r1, r0 - ldr r0, _08019830 - cmp r1, r0 - ble _08019834 -_08019822: - movs r0, 0x7 - bl sub_8018D18 - b _0801984A - .align 2, 0 -_0801982C: .4byte gUnknown_203B460 -_08019830: .4byte 0x0001869f -_08019834: - movs r0, 0x1F - bl sub_8018D18 - b _0801984A -_0801983C: - movs r0, 0x2 - bl sub_8018D18 - b _0801984A -_08019844: - movs r0, 0x3 - bl sub_8018D18 -_0801984A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8019730 - - thumb_func_start sub_8019850 -sub_8019850: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080198DE - ldr r0, [sp] - cmp r0, 0x5 - beq _08019874 - cmp r0, 0x5 - bgt _0801986E - cmp r0, 0x1 - beq _080198D8 - b _080198DE -_0801986E: - cmp r0, 0x6 - beq _080198D8 - b _080198DE -_08019874: - ldr r4, _080198A8 - ldr r0, [r4] - ldr r0, [r0, 0x10] - negs r0, r0 - bl sub_80913A0 - ldr r1, [r4] - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _080198AC - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - bl sub_809185C - bl sub_8091274 - ldr r0, [r4] - adds r0, 0x20 - ldrb r0, [r0] - bl sub_8091840 - bl sub_8091874 - b _080198C8 - .align 2, 0 -_080198A8: .4byte gUnknown_203B210 -_080198AC: - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - bl sub_8091A90 - bl sub_8091274 - ldr r0, [r4] - adds r0, 0x21 - ldrb r0, [r0] - bl sub_8091A74 - bl sub_8091AA8 -_080198C8: - movs r0, 0xA6 - lsls r0, 1 - bl sub_8011988 - movs r0, 0x11 - bl sub_8018D18 - b _080198DE -_080198D8: - movs r0, 0x10 - bl sub_8018D18 -_080198DE: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8019850 - - thumb_func_start sub_80198E8 -sub_80198E8: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0801993A - ldr r0, [sp] - cmp r0, 0x5 - beq _0801990C - cmp r0, 0x5 - bgt _08019906 - cmp r0, 0x1 - beq _08019934 - b _0801993A -_08019906: - cmp r0, 0x6 - beq _08019934 - b _0801993A -_0801990C: - ldr r4, _08019930 - ldr r0, [r4] - ldr r0, [r0, 0x10] - bl sub_80913A0 - ldr r0, [r4] - ldr r0, [r0, 0x24] - bl sub_80911F8 - movs r0, 0xA6 - lsls r0, 1 - bl sub_8011988 - movs r0, 0x19 - bl sub_8018D18 - b _0801993A - .align 2, 0 -_08019930: .4byte gUnknown_203B210 -_08019934: - movs r0, 0x18 - bl sub_8018D18 -_0801993A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80198E8 - - thumb_func_start sub_8019944 -sub_8019944: - push {r4,r5,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080199C2 - ldr r0, [sp] - cmp r0, 0x5 - beq _08019968 - cmp r0, 0x5 - bgt _08019962 - cmp r0, 0x1 - beq _080199BC - b _080199C2 -_08019962: - cmp r0, 0x6 - beq _080199BC - b _080199C2 -_08019968: - movs r4, 0 - ldr r5, _080199B4 -_0801996C: - lsls r1, r4, 2 - ldr r0, [r5] - adds r2, r0, r1 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0801998E - ldrb r0, [r2, 0x2] - bl sub_80914E4 - lsls r0, 24 - cmp r0, 0 - beq _0801998E - adds r0, r4, 0 - bl sub_8091234 -_0801998E: - adds r4, 0x1 - cmp r4, 0x13 - ble _0801996C - bl sub_80910B4 - ldr r0, _080199B8 - ldr r0, [r0] - ldr r0, [r0, 0x18] - bl sub_80913A0 - movs r0, 0xA6 - lsls r0, 1 - bl sub_8011988 - movs r0, 0x20 - bl sub_8018D18 - b _080199C2 - .align 2, 0 -_080199B4: .4byte gUnknown_203B460 -_080199B8: .4byte gUnknown_203B210 -_080199BC: - movs r0, 0x1 - bl sub_8018D18 -_080199C2: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8019944 - - thumb_func_start sub_80199CC -sub_80199CC: - push {r4,r5,lr} - ldr r0, _080199E0 - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _080199E4 - movs r0, 0x1 - bl sub_8019EDC - b _080199EA - .align 2, 0 -_080199E0: .4byte gUnknown_203B210 -_080199E4: - movs r0, 0x1 - bl sub_801A2A8 -_080199EA: - cmp r0, 0x2 - beq _08019AD4 - cmp r0, 0x2 - bhi _080199FA - cmp r0, 0x1 - bne _080199F8 - b _08019AF4 -_080199F8: - b _08019B00 -_080199FA: - cmp r0, 0x3 - beq _08019A04 - cmp r0, 0x4 - beq _08019A6C - b _08019B00 -_08019A04: - ldr r4, _08019A24 - ldr r0, [r4] - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08019A28 - bl sub_8019FB0 - ldr r1, [r4] - adds r1, 0x20 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x20 - ldrb r0, [r0] - bl sub_809185C - b _08019A3C - .align 2, 0 -_08019A24: .4byte gUnknown_203B210 -_08019A28: - bl sub_801A37C - ldr r1, [r4] - adds r1, 0x21 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x21 - ldrb r0, [r0] - bl sub_8091A90 -_08019A3C: - adds r5, r0, 0 - ldr r4, _08019A68 - ldr r0, [r4] - adds r0, 0x1C - ldrb r1, [r5] - movs r2, 0 - bl sub_8090A8C - ldr r1, [r4] - ldrb r0, [r5, 0x1] - strb r0, [r1, 0x1D] - ldr r0, [r4] - adds r0, 0x1C - bl sub_8090C7C - ldr r1, [r4] - str r0, [r1, 0x10] - movs r0, 0x14 - bl sub_8018D18 - b _08019B00 - .align 2, 0 -_08019A68: .4byte gUnknown_203B210 -_08019A6C: - ldr r4, _08019A8C - ldr r0, [r4] - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08019A90 - bl sub_8019FB0 - ldr r1, [r4] - adds r1, 0x20 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x20 - ldrb r0, [r0] - bl sub_809185C - b _08019AA4 - .align 2, 0 -_08019A8C: .4byte gUnknown_203B210 -_08019A90: - bl sub_801A37C - ldr r1, [r4] - adds r1, 0x21 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x21 - ldrb r0, [r0] - bl sub_8091A90 -_08019AA4: - adds r5, r0, 0 - ldr r4, _08019AD0 - ldr r0, [r4] - adds r0, 0x1C - ldrb r1, [r5] - movs r2, 0 - bl sub_8090A8C - ldr r1, [r4] - ldrb r0, [r5, 0x1] - strb r0, [r1, 0x1D] - ldr r0, [r4] - adds r0, 0x1C - bl sub_8090C7C - ldr r1, [r4] - str r0, [r1, 0x10] - movs r0, 0x15 - bl sub_8018D18 - b _08019B00 - .align 2, 0 -_08019AD0: .4byte gUnknown_203B210 -_08019AD4: - ldr r0, _08019AE4 - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08019AE8 - bl sub_801A010 - b _08019AEC - .align 2, 0 -_08019AE4: .4byte gUnknown_203B210 -_08019AE8: - bl sub_801A3DC -_08019AEC: - movs r0, 0x1 - bl sub_8018D18 - b _08019B00 -_08019AF4: - movs r0, 0 - bl sub_801AD34 - movs r0, 0x1 - bl sub_8016C40 -_08019B00: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80199CC - - thumb_func_start sub_8019B08 -sub_8019B08: - push {r4,lr} - movs r0, 0x1 - bl sub_801A6E8 - cmp r0, 0x4 - bhi _08019BB0 - lsls r0, 2 - ldr r1, _08019B20 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08019B20: .4byte _08019B24 - .align 2, 0 -_08019B24: - .4byte _08019BB6 - .4byte _08019BB0 - .4byte _08019BA4 - .4byte _08019B38 - .4byte _08019B6C -_08019B38: - bl sub_801A8AC - ldr r4, _08019B64 - ldr r2, [r4] - str r0, [r2, 0x24] - ldr r1, _08019B68 - ldr r1, [r1] - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x1C] - adds r2, 0x1C - adds r0, r2, 0 - bl sub_8090CCC - ldr r1, [r4] - str r0, [r1, 0x10] - movs r0, 0x1C - bl sub_8018D18 - b _08019BB6 - .align 2, 0 -_08019B64: .4byte gUnknown_203B210 -_08019B68: .4byte gUnknown_203B460 -_08019B6C: - bl sub_801A8AC - ldr r4, _08019B9C - ldr r2, [r4] - str r0, [r2, 0x24] - ldr r1, _08019BA0 - ldr r1, [r1] - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x1C] - adds r2, 0x1C - adds r0, r2, 0 - bl sub_8090CCC - ldr r1, [r4] - str r0, [r1, 0x10] - movs r0, 0 - bl sub_8099690 - movs r0, 0x1D - bl sub_8018D18 - b _08019BB6 - .align 2, 0 -_08019B9C: .4byte gUnknown_203B210 -_08019BA0: .4byte gUnknown_203B460 -_08019BA4: - bl sub_801A928 - movs r0, 0x1 - bl sub_8018D18 - b _08019BB6 -_08019BB0: - movs r0, 0x1 - bl sub_8016C40 -_08019BB6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8019B08 - - thumb_func_start sub_8019BBC -sub_8019BBC: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r0, _08019BD8 - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08019BDC - movs r0, 0 - bl sub_8019EDC - b _08019BE2 - .align 2, 0 -_08019BD8: .4byte gUnknown_203B210 -_08019BDC: - movs r0, 0 - bl sub_801A2A8 -_08019BE2: - ldr r4, _08019C18 - ldr r0, [r4] - adds r0, 0x84 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08019C06 - ldr r0, [r4] - adds r0, 0x84 - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _08019C06 - ldr r0, [r4] - str r1, [r0, 0x30] -_08019C06: - ldr r0, [sp] - cmp r0, 0x2 - beq _08019C22 - cmp r0, 0x2 - bgt _08019C1C - cmp r0, 0x1 - beq _08019C68 - b _08019C6E - .align 2, 0 -_08019C18: .4byte gUnknown_203B210 -_08019C1C: - cmp r0, 0x7 - beq _08019C60 - b _08019C6E -_08019C22: - ldr r0, _08019C3C - ldr r0, [r0] - movs r1, 0x98 - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - cmp r1, 0 - bne _08019C40 - movs r0, 0x6 - bl sub_8018D18 - b _08019C6E - .align 2, 0 -_08019C3C: .4byte gUnknown_203B460 -_08019C40: - ldr r0, _08019C54 - ldr r0, [r0] - ldr r0, [r0, 0x10] - cmp r0, r1 - ble _08019C58 - movs r0, 0xC - bl sub_8018D18 - b _08019C6E - .align 2, 0 -_08019C54: .4byte gUnknown_203B210 -_08019C58: - movs r0, 0x16 - bl sub_8018D18 - b _08019C6E -_08019C60: - movs r0, 0x15 - bl sub_8018D18 - b _08019C6E -_08019C68: - movs r0, 0x13 - bl sub_8018D18 -_08019C6E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8019BBC - - thumb_func_start sub_8019C78 -sub_8019C78: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_801A6E8 - ldr r4, _08019CB8 - ldr r0, [r4] - adds r0, 0x84 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08019CA8 - ldr r0, [r4] - adds r0, 0x84 - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _08019CA8 - ldr r0, [r4] - str r1, [r0, 0x2C] -_08019CA8: - ldr r0, [sp] - cmp r0, 0x3 - beq _08019CC2 - cmp r0, 0x3 - bgt _08019CBC - cmp r0, 0x1 - beq _08019D22 - b _08019D28 - .align 2, 0 -_08019CB8: .4byte gUnknown_203B210 -_08019CBC: - cmp r0, 0x7 - beq _08019D14 - b _08019D28 -_08019CC2: - movs r0, 0 - bl sub_8099690 - ldr r4, _08019CE0 - ldr r0, [r4] - ldrb r0, [r0, 0x1E] - bl sub_80914E4 - lsls r0, 24 - cmp r0, 0 - bne _08019CE4 - movs r0, 0xD - bl sub_8018D18 - b _08019D28 - .align 2, 0 -_08019CE0: .4byte gUnknown_203B210 -_08019CE4: - ldr r1, [r4] - ldr r0, _08019D04 - ldr r0, [r0] - movs r2, 0x98 - lsls r2, 2 - adds r0, r2 - ldr r1, [r1, 0x10] - ldr r0, [r0] - adds r1, r0 - ldr r0, _08019D08 - cmp r1, r0 - ble _08019D0C - movs r0, 0xE - bl sub_8018D18 - b _08019D28 - .align 2, 0 -_08019D04: .4byte gUnknown_203B460 -_08019D08: .4byte 0x0001869f -_08019D0C: - movs r0, 0x1E - bl sub_8018D18 - b _08019D28 -_08019D14: - movs r0, 0 - bl sub_8099690 - movs r0, 0x1D - bl sub_8018D18 - b _08019D28 -_08019D22: - movs r0, 0x1B - bl sub_8018D18 -_08019D28: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8019C78 - - thumb_func_start sub_8019D30 -sub_8019D30: - push {lr} - bl sub_801B410 - cmp r0, 0x1 - bls _08019D48 - cmp r0, 0x3 - bhi _08019D48 - bl sub_801B450 - movs r0, 0x13 - bl sub_8018D18 -_08019D48: - pop {r0} - bx r0 - thumb_func_end sub_8019D30 - - thumb_func_start sub_8019D4C -sub_8019D4C: - push {lr} - bl sub_801B410 - cmp r0, 0x1 - bls _08019D64 - cmp r0, 0x3 - bhi _08019D64 - bl sub_801B450 - movs r0, 0x1B - bl sub_8018D18 -_08019D64: - pop {r0} - bx r0 - thumb_func_end sub_8019D4C - - thumb_func_start sub_8019D68 -sub_8019D68: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08019D80 - ldr r0, _08019D88 - ldr r0, [r0] - ldr r0, [r0, 0xC] - bl sub_8018D18 -_08019D80: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08019D88: .4byte gUnknown_203B210 - thumb_func_end sub_8019D68 - - thumb_func_start sub_8019D8C -sub_8019D8C: - push {lr} - ldr r0, _08019DA0 - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _08019DA4 - bl sub_8091A48 - b _08019DA8 - .align 2, 0 -_08019DA0: .4byte gUnknown_203B210 -_08019DA4: - bl sub_8091814 -_08019DA8: - pop {r1} - bx r1 - thumb_func_end sub_8019D8C - - thumb_func_start sub_8019DAC -sub_8019DAC: - push {r4,r5,lr} - ldr r0, _08019DFC - ldr r1, [r0] - movs r0, 0 - str r0, [r1, 0x14] - str r0, [r1, 0x18] - movs r5, 0 -_08019DBA: - ldr r0, _08019E00 - lsls r1, r5, 2 - ldr r0, [r0] - adds r4, r0, r1 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08019DEE - ldrb r0, [r4, 0x2] - bl sub_80914E4 - lsls r0, 24 - cmp r0, 0 - beq _08019DEE - adds r0, r4, 0 - bl sub_8090CCC - ldr r1, _08019DFC - ldr r2, [r1] - ldr r1, [r2, 0x18] - adds r1, r0 - str r1, [r2, 0x18] - ldr r0, [r2, 0x14] - adds r0, 0x1 - str r0, [r2, 0x14] -_08019DEE: - adds r5, 0x1 - cmp r5, 0x13 - ble _08019DBA - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08019DFC: .4byte gUnknown_203B210 -_08019E00: .4byte gUnknown_203B460 - thumb_func_end sub_8019DAC - - thumb_func_start sub_8019E04 -sub_8019E04: - push {lr} - adds r2, r0, 0 - ldr r0, _08019E20 - ldr r1, [r0] - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _08019E2A - cmp r2, 0x1 - bne _08019E24 - adds r0, r1, 0 - adds r0, 0xE0 - strb r2, [r0] - b _08019E3A - .align 2, 0 -_08019E20: .4byte gUnknown_203B210 -_08019E24: - adds r1, 0xE0 - movs r0, 0 - b _08019E38 -_08019E2A: - cmp r2, 0x1 - bne _08019E34 - adds r1, 0xE0 - movs r0, 0x7 - b _08019E38 -_08019E34: - adds r1, 0xE0 - movs r0, 0x6 -_08019E38: - strb r0, [r1] -_08019E3A: - pop {r0} - bx r0 - thumb_func_end sub_8019E04 - - thumb_func_start sub_8019E40 -sub_8019E40: - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_8091814 - cmp r0, 0 - beq _08019ED4 - ldr r5, _08019EC8 - movs r0, 0xA0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - str r6, [r0, 0x34] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x3C - adds r1, r0, r1 - str r1, [r0, 0x38] - adds r0, 0x3C - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x34] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x3C - ldr r0, _08019ECC - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r0, [r5] - ldr r1, [r0, 0x38] - adds r0, 0x9C - str r0, [r1, 0x14] - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - bl sub_8091814 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0xA - adds r3, r6, 0 - bl sub_8013818 - ldr r0, [r5] - ldr r1, _08019ED0 - ldrh r1, [r1] - strh r1, [r0, 0x18] - bl sub_8013984 - bl sub_801A064 - bl sub_801A0D8 - movs r0, 0x1 - b _08019ED6 - .align 2, 0 -_08019EC8: .4byte gUnknown_203B214 -_08019ECC: .4byte gUnknown_80DB8CC -_08019ED0: .4byte gUnknown_203B218 -_08019ED4: - movs r0, 0 -_08019ED6: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8019E40 - - thumb_func_start sub_8019EDC -sub_8019EDC: - push {lr} - sub sp, 0x4 - lsls r0, 24 - cmp r0, 0 - bne _08019EF8 - ldr r0, _08019EF4 - ldr r0, [r0] - bl sub_8013660 - movs r0, 0 - b _08019FAA - .align 2, 0 -_08019EF4: .4byte gUnknown_203B214 -_08019EF8: - ldr r0, _08019F10 - ldr r0, [r0] - bl GetKeyPress - cmp r0, 0x2 - beq _08019F1A - cmp r0, 0x2 - bgt _08019F14 - cmp r0, 0x1 - beq _08019F24 - b _08019F88 - .align 2, 0 -_08019F10: .4byte gUnknown_203B214 -_08019F14: - cmp r0, 0x4 - beq _08019F7E - b _08019F88 -_08019F1A: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _08019FAA -_08019F24: - bl sub_8019FB0 - lsls r0, 24 - lsrs r0, 24 - bl sub_809185C - ldrb r2, [r0] - lsls r2, 16 - ldr r3, _08019F68 - ldr r1, [sp] - ands r1, r3 - orrs r1, r2 - str r1, [sp] - ldrb r0, [r0, 0x1] - lsls r0, 8 - ldr r2, _08019F6C - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - bl sub_8090C7C - ldr r1, _08019F70 - ldr r1, [r1] - movs r2, 0x98 - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - cmp r0, r1 - ble _08019F74 - movs r0, 0x2 - bl PlayMenuSoundEffect - b _08019F7A - .align 2, 0 -_08019F68: .4byte 0xff00ffff -_08019F6C: .4byte 0xffff00ff -_08019F70: .4byte gUnknown_203B460 -_08019F74: - movs r0, 0 - bl PlayMenuSoundEffect -_08019F7A: - movs r0, 0x3 - b _08019FAA -_08019F7E: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _08019FAA -_08019F88: - ldr r0, _08019F9C - ldr r0, [r0] - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _08019FA0 - movs r0, 0 - b _08019FAA - .align 2, 0 -_08019F9C: .4byte gUnknown_203B214 -_08019FA0: - bl sub_801A064 - bl sub_801A0D8 - movs r0, 0x1 -_08019FAA: - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8019EDC - - thumb_func_start sub_8019FB0 -sub_8019FB0: - ldr r0, _08019FC8 - ldr r1, [r0] - movs r0, 0x1E - ldrsh r2, [r1, r0] - movs r3, 0x1C - ldrsh r0, [r1, r3] - muls r0, r2 - ldrb r1, [r1, 0x18] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_08019FC8: .4byte gUnknown_203B214 - thumb_func_end sub_8019FB0 - - thumb_func_start sub_8019FCC -sub_8019FCC: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0801A00C - ldr r0, [r5] - adds r0, 0x3C - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_8091814 - adds r1, r0, 0 - ldr r0, [r5] - strh r1, [r0, 0x22] - bl sub_8013984 - bl sub_801A064 - bl sub_801A0D8 - cmp r4, 0 - beq _0801A006 - ldr r0, [r5] - bl AddMenuCursorSprite -_0801A006: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801A00C: .4byte gUnknown_203B214 - thumb_func_end sub_8019FCC - - thumb_func_start sub_801A010 -sub_801A010: - push {r4,r5,lr} - ldr r4, _0801A058 - ldr r2, [r4] - cmp r2, 0 - beq _0801A050 - ldr r1, _0801A05C - ldrh r0, [r2, 0x18] - strh r0, [r1] - ldr r0, [r2, 0x34] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x3C - ldr r0, _0801A060 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0801A050: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801A058: .4byte gUnknown_203B214 -_0801A05C: .4byte gUnknown_203B218 -_0801A060: .4byte gUnknown_80DB8B4 - thumb_func_end sub_801A010 - - thumb_func_start sub_801A064 -sub_801A064: - push {r4,lr} - ldr r4, _0801A0D4 - ldr r0, [r4] - ldrh r1, [r0, 0x20] - adds r0, 0x9C - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x1E] - adds r0, 0x9D - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9E - movs r1, 0xA - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9F - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x1A - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x34] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x4A - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x34] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x4C - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801A0D4: .4byte gUnknown_203B214 - thumb_func_end sub_801A064 - - thumb_func_start sub_801A0D8 -sub_801A0D8: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xB4 - ldr r4, _0801A1A4 - ldr r0, [r4] - ldr r0, [r0, 0x34] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x34] - bl sub_80073B8 - ldr r1, [r4] - movs r2, 0x1E - ldrsh r0, [r1, r2] - lsls r0, 3 - adds r0, 0xA - ldr r2, _0801A1A8 - ldr r3, [r1, 0x34] - movs r1, 0 - str r1, [sp] - bl xxx_call_draw_string - movs r6, 0 - ldr r0, [r4] - movs r1, 0x1A - ldrsh r0, [r0, r1] - cmp r6, r0 - bge _0801A1EC - adds r7, r4, 0 - add r4, sp, 0xB0 - mov r9, r6 - add r5, sp, 0x54 - add r2, sp, 0x60 - mov r8, r2 -_0801A122: - ldr r0, [r7] - movs r2, 0x1E - ldrsh r1, [r0, r2] - movs r2, 0x1C - ldrsh r0, [r0, r2] - muls r0, r1 - adds r0, r6 - lsls r0, 24 - lsrs r0, 24 - bl sub_809185C - ldrb r2, [r0] - lsls r2, 16 - ldr r3, _0801A1AC - ldr r1, [r4] - ands r1, r3 - orrs r1, r2 - str r1, [r4] - ldrb r2, [r0, 0x1] - lsls r2, 8 - ldr r0, _0801A1B0 - ands r1, r0 - orrs r1, r2 - ldr r0, _0801A1B4 - ands r1, r0 - movs r0, 0x3 - orrs r1, r0 - str r1, [r4] - movs r1, 0x1 - str r1, [sp, 0x54] - mov r0, r9 - strb r0, [r5, 0x4] - movs r0, 0x58 - strh r0, [r5, 0x6] - strb r1, [r5, 0x8] - add r0, sp, 0x4 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8090E14 - adds r0, r4, 0 - bl sub_8090C7C - ldr r1, _0801A1B8 - ldr r1, [r1] - movs r2, 0x98 - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - cmp r0, r1 - bgt _0801A1BC - ldr r0, [r7] - adds r1, r6, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x34] - mov r0, r9 - str r0, [sp] - movs r0, 0x8 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _0801A1E0 - .align 2, 0 -_0801A1A4: .4byte gUnknown_203B214 -_0801A1A8: .4byte gUnknown_80DB8E4 -_0801A1AC: .4byte 0xff00ffff -_0801A1B0: .4byte 0xffff00ff -_0801A1B4: .4byte 0xffffff00 -_0801A1B8: .4byte gUnknown_203B460 -_0801A1BC: - mov r0, r8 - ldr r1, _0801A204 - add r2, sp, 0x4 - bl sub_800D158 - ldr r0, [r7] - adds r1, r6, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x34] - mov r2, r9 - str r2, [sp] - movs r0, 0x8 - mov r2, r8 - bl xxx_call_draw_string -_0801A1E0: - adds r6, 0x1 - ldr r0, [r7] - movs r1, 0x1A - ldrsh r0, [r0, r1] - cmp r6, r0 - blt _0801A122 -_0801A1EC: - ldr r0, _0801A208 - ldr r0, [r0] - ldr r0, [r0, 0x34] - bl sub_80073E0 - add sp, 0xB4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801A204: .4byte gUnknown_80DB8EC -_0801A208: .4byte gUnknown_203B214 - thumb_func_end sub_801A0D8 - - thumb_func_start sub_801A20C -sub_801A20C: - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_8091A48 - cmp r0, 0 - beq _0801A2A0 - ldr r5, _0801A294 - movs r0, 0xA0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - str r6, [r0, 0x34] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x3C - adds r1, r0, r1 - str r1, [r0, 0x38] - adds r0, 0x3C - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x34] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x3C - ldr r0, _0801A298 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r0, [r5] - ldr r1, [r0, 0x38] - adds r0, 0x9C - str r0, [r1, 0x14] - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - bl sub_8091A48 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0xA - adds r3, r6, 0 - bl sub_8013818 - ldr r0, [r5] - ldr r1, _0801A29C - ldrh r1, [r1] - strh r1, [r0, 0x18] - bl sub_8013984 - bl sub_801A430 - bl sub_801A4A4 - movs r0, 0x1 - b _0801A2A2 - .align 2, 0 -_0801A294: .4byte gUnknown_203B21C -_0801A298: .4byte gUnknown_80DB914 -_0801A29C: .4byte gUnknown_203B220 -_0801A2A0: - movs r0, 0 -_0801A2A2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_801A20C - - thumb_func_start sub_801A2A8 -sub_801A2A8: - push {lr} - sub sp, 0x4 - lsls r0, 24 - cmp r0, 0 - bne _0801A2C4 - ldr r0, _0801A2C0 - ldr r0, [r0] - bl sub_8013660 - movs r0, 0 - b _0801A376 - .align 2, 0 -_0801A2C0: .4byte gUnknown_203B21C -_0801A2C4: - ldr r0, _0801A2DC - ldr r0, [r0] - bl GetKeyPress - cmp r0, 0x2 - beq _0801A2E6 - cmp r0, 0x2 - bgt _0801A2E0 - cmp r0, 0x1 - beq _0801A2F0 - b _0801A354 - .align 2, 0 -_0801A2DC: .4byte gUnknown_203B21C -_0801A2E0: - cmp r0, 0x4 - beq _0801A34A - b _0801A354 -_0801A2E6: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0801A376 -_0801A2F0: - bl sub_801A37C - lsls r0, 24 - lsrs r0, 24 - bl sub_8091A90 - ldrb r2, [r0] - lsls r2, 16 - ldr r3, _0801A334 - ldr r1, [sp] - ands r1, r3 - orrs r1, r2 - str r1, [sp] - ldrb r0, [r0, 0x1] - lsls r0, 8 - ldr r2, _0801A338 - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - bl sub_8090C7C - ldr r1, _0801A33C - ldr r1, [r1] - movs r2, 0x98 - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - cmp r0, r1 - ble _0801A340 - movs r0, 0x2 - bl PlayMenuSoundEffect - b _0801A346 - .align 2, 0 -_0801A334: .4byte 0xff00ffff -_0801A338: .4byte 0xffff00ff -_0801A33C: .4byte gUnknown_203B460 -_0801A340: - movs r0, 0 - bl PlayMenuSoundEffect -_0801A346: - movs r0, 0x3 - b _0801A376 -_0801A34A: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0801A376 -_0801A354: - ldr r0, _0801A368 - ldr r0, [r0] - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0801A36C - movs r0, 0 - b _0801A376 - .align 2, 0 -_0801A368: .4byte gUnknown_203B21C -_0801A36C: - bl sub_801A430 - bl sub_801A4A4 - movs r0, 0x1 -_0801A376: - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_801A2A8 - - thumb_func_start sub_801A37C -sub_801A37C: - ldr r0, _0801A394 - ldr r1, [r0] - movs r0, 0x1E - ldrsh r2, [r1, r0] - movs r3, 0x1C - ldrsh r0, [r1, r3] - muls r0, r2 - ldrb r1, [r1, 0x18] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_0801A394: .4byte gUnknown_203B21C - thumb_func_end sub_801A37C - - thumb_func_start sub_801A398 -sub_801A398: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0801A3D8 - ldr r0, [r5] - adds r0, 0x3C - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_8091A48 - adds r1, r0, 0 - ldr r0, [r5] - strh r1, [r0, 0x22] - bl sub_8013984 - bl sub_801A430 - bl sub_801A4A4 - cmp r4, 0 - beq _0801A3D2 - ldr r0, [r5] - bl AddMenuCursorSprite -_0801A3D2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801A3D8: .4byte gUnknown_203B21C - thumb_func_end sub_801A398 - - thumb_func_start sub_801A3DC -sub_801A3DC: - push {r4,r5,lr} - ldr r4, _0801A424 - ldr r2, [r4] - cmp r2, 0 - beq _0801A41C - ldr r1, _0801A428 - ldrh r0, [r2, 0x18] - strh r0, [r1] - ldr r0, [r2, 0x34] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x3C - ldr r0, _0801A42C - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0801A41C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801A424: .4byte gUnknown_203B21C -_0801A428: .4byte gUnknown_203B220 -_0801A42C: .4byte gUnknown_80DB8FC - thumb_func_end sub_801A3DC - - thumb_func_start sub_801A430 -sub_801A430: - push {r4,lr} - ldr r4, _0801A4A0 - ldr r0, [r4] - ldrh r1, [r0, 0x20] - adds r0, 0x9C - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x1E] - adds r0, 0x9D - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9E - movs r1, 0xA - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9F - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x1A - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x34] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x4A - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x34] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x4C - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801A4A0: .4byte gUnknown_203B21C - thumb_func_end sub_801A430 - - thumb_func_start sub_801A4A4 -sub_801A4A4: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xB4 - ldr r4, _0801A570 - ldr r0, [r4] - ldr r0, [r0, 0x34] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x34] - bl sub_80073B8 - ldr r1, [r4] - movs r2, 0x1E - ldrsh r0, [r1, r2] - lsls r0, 3 - adds r0, 0xA - ldr r2, _0801A574 - ldr r3, [r1, 0x34] - movs r1, 0 - str r1, [sp] - bl xxx_call_draw_string - movs r6, 0 - ldr r0, [r4] - movs r1, 0x1A - ldrsh r0, [r0, r1] - cmp r6, r0 - bge _0801A5B8 - adds r7, r4, 0 - add r4, sp, 0xB0 - mov r9, r6 - add r5, sp, 0x54 - add r2, sp, 0x60 - mov r8, r2 -_0801A4EE: - ldr r0, [r7] - movs r2, 0x1E - ldrsh r1, [r0, r2] - movs r2, 0x1C - ldrsh r0, [r0, r2] - muls r0, r1 - adds r0, r6 - lsls r0, 24 - lsrs r0, 24 - bl sub_8091A90 - ldrb r2, [r0] - lsls r2, 16 - ldr r3, _0801A578 - ldr r1, [r4] - ands r1, r3 - orrs r1, r2 - str r1, [r4] - ldrb r2, [r0, 0x1] - lsls r2, 8 - ldr r0, _0801A57C - ands r1, r0 - orrs r1, r2 - ldr r0, _0801A580 - ands r1, r0 - movs r0, 0x3 - orrs r1, r0 - str r1, [r4] - movs r1, 0x1 - str r1, [sp, 0x54] - mov r0, r9 - strb r0, [r5, 0x4] - movs r0, 0x58 - strh r0, [r5, 0x6] - strb r1, [r5, 0x8] - add r0, sp, 0x4 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8090E14 - adds r0, r4, 0 - bl sub_8090C7C - ldr r1, _0801A584 - ldr r1, [r1] - movs r2, 0x98 - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - cmp r0, r1 - bgt _0801A588 - ldr r0, [r7] - adds r1, r6, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x34] - mov r0, r9 - str r0, [sp] - movs r0, 0x8 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _0801A5AC - .align 2, 0 -_0801A570: .4byte gUnknown_203B21C -_0801A574: .4byte gUnknown_80DB92C -_0801A578: .4byte 0xff00ffff -_0801A57C: .4byte 0xffff00ff -_0801A580: .4byte 0xffffff00 -_0801A584: .4byte gUnknown_203B460 -_0801A588: - mov r0, r8 - ldr r1, _0801A5D0 - add r2, sp, 0x4 - bl sub_800D158 - ldr r0, [r7] - adds r1, r6, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x34] - mov r2, r9 - str r2, [sp] - movs r0, 0x8 - mov r2, r8 - bl xxx_call_draw_string -_0801A5AC: - adds r6, 0x1 - ldr r0, [r7] - movs r1, 0x1A - ldrsh r0, [r0, r1] - cmp r6, r0 - blt _0801A4EE -_0801A5B8: - ldr r0, _0801A5D4 - ldr r0, [r0] - ldr r0, [r0, 0x34] - bl sub_80073E0 - add sp, 0xB4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801A5D0: .4byte gUnknown_80DB934 -_0801A5D4: .4byte gUnknown_203B21C - thumb_func_end sub_801A4A4 - - thumb_func_start sub_801A5D8 -sub_801A5D8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - adds r6, r1, 0 - adds r7, r2, 0 - mov r8, r3 - bl sub_8090A34 - cmp r0, 0 - bne _0801A5F2 - movs r0, 0 - b _0801A6CC -_0801A5F2: - ldr r5, _0801A6D8 - ldr r0, [r5] - cmp r0, 0 - bne _0801A604 - movs r0, 0xF4 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] -_0801A604: - ldr r0, [r5] - str r4, [r0] - bl sub_80910B4 - bl sub_801AE84 - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x88 - str r6, [r1] - adds r2, r0, 0 - adds r2, 0x8C - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x90 - adds r1, r0, r1 - str r1, [r2] - adds r0, 0x90 - bl sub_8006518 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x88 - ldr r2, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x90 - ldr r0, _0801A6DC - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0x8C - ldr r1, [r0] - adds r0, 0x64 - str r0, [r1, 0x14] - cmp r7, 0 - beq _0801A66E - subs r0, 0x68 - ldr r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x98 - adds r1, r0 - ldr r0, [r7] - str r0, [r1] -_0801A66E: - ldr r0, [r5] - adds r0, 0x8C - ldr r0, [r0] - mov r1, r8 - bl sub_8012D08 - movs r0, 0x1 - bl sub_8099690 - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x90 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x54 - bl sub_8090A34 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013818 - ldr r2, [r5] - ldr r0, _0801A6E0 - ldrh r1, [r0] - adds r0, r2, 0 - adds r0, 0x6C - strh r1, [r0] - ldr r0, _0801A6E4 - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x72 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x54 - bl sub_8013984 - bl sub_801A998 - bl sub_801A9E0 - movs r0, 0x1 -_0801A6CC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801A6D8: .4byte gUnknown_203B224 -_0801A6DC: .4byte gUnknown_80DB95C -_0801A6E0: .4byte gUnknown_203B228 -_0801A6E4: .4byte gUnknown_203B22A - thumb_func_end sub_801A5D8 - - thumb_func_start sub_801A6E8 -sub_801A6E8: - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - cmp r0, 0 - bne _0801A704 - ldr r0, _0801A700 - ldr r0, [r0] - adds r0, 0x54 - bl sub_8013660 - movs r0, 0 - b _0801A8A2 - .align 2, 0 -_0801A700: .4byte gUnknown_203B224 -_0801A704: - ldr r0, _0801A720 - ldr r0, [r0] - adds r0, 0x54 - bl GetKeyPress - subs r0, 0x1 - cmp r0, 0x5 - bls _0801A716 - b _0801A87C -_0801A716: - lsls r0, 2 - ldr r1, _0801A724 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801A720: .4byte gUnknown_203B224 -_0801A724: .4byte _0801A728 - .align 2, 0 -_0801A728: - .4byte _0801A74A - .4byte _0801A740 - .4byte _0801A864 - .4byte _0801A806 - .4byte _0801A810 - .4byte _0801A810 -_0801A740: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0801A8A2 -_0801A74A: - ldr r1, _0801A760 - ldr r0, [r1] - ldr r0, [r0] - adds r4, r1, 0 - cmp r0, 0x5 - bhi _0801A802 - lsls r0, 2 - ldr r1, _0801A764 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801A760: .4byte gUnknown_203B224 -_0801A764: .4byte _0801A768 - .align 2, 0 -_0801A768: - .4byte _0801A780 - .4byte _0801A780 - .4byte _0801A780 - .4byte _0801A794 - .4byte _0801A7AC - .4byte _0801A7FC -_0801A780: - ldr r4, [r4] - bl sub_801A8AC - lsls r0, 2 - adds r4, 0x4 - adds r4, r0 - ldr r0, [r4] - cmp r0, 0 - bne _0801A7F4 - b _0801A7E2 -_0801A794: - bl sub_801AEA8 - cmp r0, 0 - bne _0801A7E2 - bl sub_801A8AC - bl sub_801ADA0 - lsls r0, 24 - cmp r0, 0 - bne _0801A7E2 - b _0801A7F4 -_0801A7AC: - ldr r5, _0801A7EC - ldr r4, [r5] - bl sub_801A8AC - lsls r0, 2 - adds r4, r0 - ldr r0, [r4] - str r0, [sp] - mov r0, sp - ldrb r0, [r0, 0x2] - bl sub_80914E4 - lsls r0, 24 - cmp r0, 0 - beq _0801A7F4 - mov r0, sp - bl sub_8090CCC - ldr r1, [r5] - movs r2, 0x98 - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - adds r0, r1 - ldr r1, _0801A7F0 - cmp r0, r1 - bgt _0801A7F4 -_0801A7E2: - movs r0, 0 - bl PlayMenuSoundEffect - b _0801A802 - .align 2, 0 -_0801A7EC: .4byte gUnknown_203B460 -_0801A7F0: .4byte 0x0001869f -_0801A7F4: - movs r0, 0x2 - bl PlayMenuSoundEffect - b _0801A802 -_0801A7FC: - movs r0, 0 - bl PlayMenuSoundEffect -_0801A802: - movs r0, 0x3 - b _0801A8A2 -_0801A806: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0801A8A2 -_0801A810: - ldr r4, _0801A858 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0x3 - bne _0801A87C - bl sub_801A8AC - adds r1, r0, 0 - ldr r0, [r4] - lsls r5, r1, 2 - adds r0, 0x4 - adds r0, r5 - ldr r0, [r0] - cmp r0, 0 - bne _0801A83A - adds r0, r1, 0 - bl sub_801ADA0 - lsls r0, 24 - cmp r0, 0 - beq _0801A85C -_0801A83A: - movs r0, 0x6 - bl PlayMenuSoundEffect - ldr r0, [r4] - adds r2, r0, 0x4 - adds r2, r5 - ldr r1, [r2] - movs r3, 0x1 - eors r1, r3 - str r1, [r2] - adds r0, 0x54 - movs r1, 0 - bl sub_80138B8 - b _0801A89C - .align 2, 0 -_0801A858: .4byte gUnknown_203B224 -_0801A85C: - movs r0, 0x2 - bl PlayMenuSoundEffect - b _0801A87C -_0801A864: - ldr r0, _0801A894 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x2 - beq _0801A87C - movs r0, 0x5 - bl PlayMenuSoundEffect - bl sub_801AEF8 - bl sub_801A9E0 -_0801A87C: - ldr r0, _0801A894 - ldr r0, [r0] - adds r0, 0x54 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0801A898 - movs r0, 0 - b _0801A8A2 - .align 2, 0 -_0801A894: .4byte gUnknown_203B224 -_0801A898: - bl sub_801A998 -_0801A89C: - bl sub_801A9E0 - movs r0, 0x1 -_0801A8A2: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_801A6E8 - - thumb_func_start sub_801A8AC -sub_801A8AC: - ldr r0, _0801A8CC - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x72 - movs r3, 0 - ldrsh r1, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r1 - adds r1, r2, 0 - adds r1, 0x6C - movs r2, 0 - ldrsh r1, [r1, r2] - adds r0, r1 - bx lr - .align 2, 0 -_0801A8CC: .4byte gUnknown_203B224 - thumb_func_end sub_801A8AC - - thumb_func_start sub_801A8D0 -sub_801A8D0: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl sub_8099690 - bl ResetUnusedInputStruct - ldr r5, _0801A924 - ldr r0, [r5] - adds r0, 0x90 - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_80910B4 - bl sub_8090A34 - adds r1, r0, 0 - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x76 - strh r1, [r2] - adds r0, 0x54 - bl sub_8013984 - bl sub_801A998 - bl sub_801A9E0 - cmp r4, 0 - beq _0801A91C - ldr r0, [r5] - adds r0, 0x54 - bl AddMenuCursorSprite -_0801A91C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801A924: .4byte gUnknown_203B224 - thumb_func_end sub_801A8D0 - - thumb_func_start sub_801A928 -sub_801A928: - push {r4,r5,lr} - ldr r4, _0801A988 - ldr r2, [r4] - cmp r2, 0 - beq _0801A980 - ldr r1, _0801A98C - adds r0, r2, 0 - adds r0, 0x6C - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _0801A990 - adds r0, r2, 0 - adds r0, 0x72 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x88 - ldr r0, [r0] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x90 - ldr r0, _0801A994 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - movs r0, 0 - bl sub_8099690 - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x90 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0801A980: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801A988: .4byte gUnknown_203B224 -_0801A98C: .4byte gUnknown_203B228 -_0801A990: .4byte gUnknown_203B22A -_0801A994: .4byte gUnknown_80DB944 - thumb_func_end sub_801A928 - - thumb_func_start sub_801A998 -sub_801A998: - push {r4,lr} - ldr r4, _0801A9DC - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x74 - ldrh r1, [r1] - adds r0, 0xF0 - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x72 - ldrh r1, [r1] - adds r0, 0xF1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xF2 - movs r1, 0xB - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xF3 - strb r2, [r0] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x90 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801A9DC: .4byte gUnknown_203B224 - thumb_func_end sub_801A998 - - thumb_func_start sub_801A9E0 -sub_801A9E0: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xCC - ldr r4, _0801AA2C - ldr r0, [r4] - adds r0, 0x88 - ldr r0, [r0] - bl sub_8008C54 - ldr r0, [r4] - adds r0, 0x88 - ldr r0, [r0] - bl sub_80073B8 - ldr r4, [r4] - adds r1, r4, 0 - adds r1, 0x72 - movs r2, 0 - ldrsh r0, [r1, r2] - lsls r0, 3 - adds r5, r0, 0 - adds r5, 0xA - movs r3, 0 - ldrsh r1, [r1, r3] - cmp r1, 0 - bne _0801AA34 - ldr r2, _0801AA30 - adds r0, r4, 0 - adds r0, 0x88 - ldr r3, [r0] - str r1, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string - b _0801AA48 - .align 2, 0 -_0801AA2C: .4byte gUnknown_203B224 -_0801AA30: .4byte gTeamToolboxA -_0801AA34: - ldr r2, _0801AA58 - adds r0, r4, 0 - adds r0, 0x88 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string -_0801AA48: - movs r7, 0 - ldr r1, _0801AA5C - ldr r0, [r1] - adds r0, 0x6E - movs r4, 0 - ldrsh r0, [r0, r4] - b _0801AD0A - .align 2, 0 -_0801AA58: .4byte gTeamToolboxB -_0801AA5C: .4byte gUnknown_203B224 -_0801AA60: - ldr r2, [r1] - adds r0, r2, 0 - adds r0, 0x72 - movs r3, 0 - ldrsh r1, [r0, r3] - subs r0, 0x2 - movs r4, 0 - ldrsh r0, [r0, r4] - muls r0, r1 - adds r0, r7 - mov r8, r0 - ldr r0, _0801AA9C - ldr r0, [r0] - mov r3, r8 - lsls r1, r3, 2 - adds r0, r1 - ldr r0, [r0] - add r1, sp, 0xC8 - str r0, [r1] - ldr r0, [r2] - adds r4, r1, 0 - cmp r0, 0x5 - bls _0801AA90 - b _0801ACC4 -_0801AA90: - lsls r0, 2 - ldr r1, _0801AAA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801AA9C: .4byte gUnknown_203B460 -_0801AAA0: .4byte _0801AAA4 - .align 2, 0 -_0801AAA4: - .4byte _0801AABC - .4byte _0801AAE4 - .4byte _0801AAE4 - .4byte _0801AB18 - .4byte _0801AB90 - .4byte _0801AC50 -_0801AABC: - add r0, sp, 0x4 - adds r1, r4, 0 - movs r2, 0 - bl sub_8090E14 - ldr r4, _0801AAE0 - ldr r0, [r4] - adds r0, 0x54 - adds r1, r7, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r0, [r4] - adds r0, 0x88 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - b _0801AC8C - .align 2, 0 -_0801AAE0: .4byte gUnknown_203B224 -_0801AAE4: - add r2, sp, 0x54 - movs r5, 0 - str r5, [sp, 0x54] - strb r5, [r2, 0x4] - movs r0, 0x1 - strb r0, [r2, 0x8] - strb r0, [r4] - add r1, sp, 0xC8 - add r0, sp, 0x4 - bl sub_8090E14 - ldr r4, _0801AB14 - ldr r0, [r4] - adds r0, 0x54 - adds r1, r7, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r0, [r4] - adds r0, 0x88 - ldr r3, [r0] - str r5, [sp] - b _0801AC8C - .align 2, 0 -_0801AB14: .4byte gUnknown_203B224 -_0801AB18: - add r2, sp, 0x60 - movs r6, 0 - str r6, [sp, 0x60] - strb r6, [r2, 0x4] - movs r0, 0x1 - strb r0, [r2, 0x8] - strb r0, [r4] - add r1, sp, 0xC8 - add r0, sp, 0x4 - bl sub_8090E14 - ldr r5, _0801AB60 - ldr r0, [r5] - mov r4, r8 - lsls r1, r4, 2 - adds r0, 0x4 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _0801AB4E - mov r0, r8 - bl sub_801ADA0 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0801AB64 -_0801AB4E: - ldr r0, [r5] - adds r0, 0x54 - adds r1, r7, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r0, [r5] - b _0801AC86 - .align 2, 0 -_0801AB60: .4byte gUnknown_203B224 -_0801AB64: - ldr r0, _0801AB88 - add r1, sp, 0x4 - movs r2, 0x50 - bl strncpy - ldr r0, [r5] - adds r0, 0x54 - adds r1, r7, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r2, _0801AB8C - ldr r0, [r5] - adds r0, 0x88 - ldr r3, [r0] - str r4, [sp] - b _0801AC3C - .align 2, 0 -_0801AB88: .4byte gUnknown_202DE58 -_0801AB8C: .4byte gUnknown_80DB994 -_0801AB90: - ldrb r0, [r4, 0x2] - bl sub_80914E4 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _0801AC10 - add r2, sp, 0x6C - movs r1, 0x3 - str r1, [sp, 0x6C] - movs r6, 0 - strb r6, [r2, 0x4] - movs r0, 0x58 - strh r0, [r2, 0x6] - movs r0, 0x1 - strb r0, [r2, 0x8] - strb r1, [r4] - add r0, sp, 0x4 - adds r1, r4, 0 - bl sub_8090E14 - adds r0, r4, 0 - bl sub_8090CCC - ldr r1, _0801AC00 - ldr r1, [r1] - movs r2, 0x98 - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - adds r0, r1 - ldr r1, _0801AC04 - cmp r0, r1 - ble _0801AC76 - add r5, sp, 0x78 - ldr r1, _0801AC08 - adds r0, r5, 0 - add r2, sp, 0x4 - bl sub_800D158 - ldr r4, _0801AC0C - ldr r0, [r4] - adds r0, 0x54 - adds r1, r7, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r0, [r4] - adds r0, 0x88 - ldr r3, [r0] - str r6, [sp] - movs r0, 0x8 - adds r2, r5, 0 - bl xxx_call_draw_string - b _0801ACC4 - .align 2, 0 -_0801AC00: .4byte gUnknown_203B460 -_0801AC04: .4byte 0x0001869f -_0801AC08: .4byte gUnknown_80DB9A0 -_0801AC0C: .4byte gUnknown_203B224 -_0801AC10: - add r0, sp, 0x4 - adds r1, r4, 0 - movs r2, 0 - bl sub_8090E14 - ldr r0, _0801AC44 - add r1, sp, 0x4 - movs r2, 0x50 - bl strncpy - ldr r4, _0801AC48 - ldr r0, [r4] - adds r0, 0x54 - adds r1, r7, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r2, _0801AC4C - ldr r0, [r4] - adds r0, 0x88 - ldr r3, [r0] - str r5, [sp] -_0801AC3C: - movs r0, 0x8 - bl sub_8014FF0 - b _0801ACC4 - .align 2, 0 -_0801AC44: .4byte gUnknown_202DE58 -_0801AC48: .4byte gUnknown_203B224 -_0801AC4C: .4byte gUnknown_80DB994 -_0801AC50: - add r2, sp, 0x78 - movs r6, 0 - str r6, [sp, 0x78] - strb r6, [r2, 0x4] - movs r0, 0x1 - strb r0, [r2, 0x8] - strb r0, [r4] - add r4, sp, 0xC8 - add r0, sp, 0x4 - adds r1, r4, 0 - bl sub_8090E14 - ldrb r0, [r4, 0x2] - bl sub_8091764 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _0801AC9C -_0801AC76: - ldr r4, _0801AC98 - ldr r0, [r4] - adds r0, 0x54 - adds r1, r7, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r0, [r4] -_0801AC86: - adds r0, 0x88 - ldr r3, [r0] - str r6, [sp] -_0801AC8C: - movs r0, 0x8 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _0801ACC4 - .align 2, 0 -_0801AC98: .4byte gUnknown_203B224 -_0801AC9C: - ldr r0, _0801AD28 - add r1, sp, 0x4 - movs r2, 0x50 - bl strncpy - ldr r4, _0801AD2C - ldr r0, [r4] - adds r0, 0x54 - adds r1, r7, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r2, _0801AD30 - ldr r0, [r4] - adds r0, 0x88 - ldr r3, [r0] - str r5, [sp] - movs r0, 0x8 - bl sub_8014FF0 -_0801ACC4: - mov r0, r8 - bl sub_801AED0 - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0801ACFE - ldr r4, _0801AD2C - ldr r0, [r4] - adds r0, 0x54 - adds r1, r7, 0 - bl sub_8013800 - adds r2, r0, 0 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x88 - ldr r0, [r0] - adds r1, 0x8C - ldr r1, [r1] - movs r4, 0xC - ldrsh r3, [r1, r4] - subs r3, 0x2 - lsls r3, 3 - movs r1, 0xA - str r1, [sp] - movs r1, 0x8 - bl sub_8007B7C -_0801ACFE: - adds r7, 0x1 - ldr r1, _0801AD2C - ldr r0, [r1] - adds r0, 0x6E - movs r2, 0 - ldrsh r0, [r0, r2] -_0801AD0A: - adds r2, r1, 0 - cmp r7, r0 - bge _0801AD12 - b _0801AA60 -_0801AD12: - ldr r0, [r2] - adds r0, 0x88 - ldr r0, [r0] - bl sub_80073E0 - add sp, 0xCC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801AD28: .4byte gUnknown_202DE58 -_0801AD2C: .4byte gUnknown_203B224 -_0801AD30: .4byte gUnknown_80DB994 - thumb_func_end sub_801A9E0 - - thumb_func_start sub_801AD34 -sub_801AD34: - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - bl sub_8008C54 - adds r0, r4, 0 - bl sub_80073B8 - ldr r2, _0801AD98 - movs r6, 0 - str r6, [sp] - movs r0, 0x6 - movs r1, 0 - adds r3, r4, 0 - bl xxx_call_draw_string - bl sub_8090A34 - adds r2, r0, 0 - movs r5, 0x7 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x12 - movs r1, 0xD - movs r3, 0x2 - bl sub_8012BC4 - ldr r2, _0801AD9C - str r6, [sp] - movs r0, 0x16 - movs r1, 0xD - adds r3, r4, 0 - bl xxx_call_draw_string - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x2B - movs r1, 0xD - movs r2, 0x14 - movs r3, 0x2 - bl sub_8012BC4 - adds r0, r4, 0 - bl sub_80073E0 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801AD98: .4byte gUnknown_80DB9A8 -_0801AD9C: .4byte gUnknown_80DB9B0 - thumb_func_end sub_801AD34 - - thumb_func_start sub_801ADA0 -sub_801ADA0: - push {r4-r6,lr} - ldr r5, _0801ADEC - ldr r1, [r5] - lsls r0, 2 - adds r1, r0 - ldr r6, [r1] - lsls r4, r6, 8 - lsrs r0, r4, 24 - bl sub_8091524 - lsls r0, 24 - cmp r0, 0 - beq _0801AE12 - lsrs r0, r4, 24 - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - beq _0801ADF4 - lsrs r0, r4, 24 - bl sub_801AE24 - ldr r2, [r5] - lsrs r1, r4, 24 - lsls r1, 1 - adds r2, 0x50 - adds r2, r1 - lsls r0, 16 - lsrs r0, 16 - ldrh r2, [r2] - adds r0, r2 - lsrs r1, r6, 8 - lsls r1, 24 - lsrs r1, 24 - adds r0, r1 - ldr r1, _0801ADF0 - b _0801AE0E - .align 2, 0 -_0801ADEC: .4byte gUnknown_203B460 -_0801ADF0: .4byte 0x000003e7 -_0801ADF4: - lsrs r0, r4, 24 - bl sub_801AE24 - ldr r2, [r5] - lsrs r1, r4, 24 - lsls r1, 1 - adds r2, 0x50 - adds r2, r1 - lsls r0, 16 - lsrs r0, 16 - ldrh r2, [r2] - adds r0, r2 - ldr r1, _0801AE18 -_0801AE0E: - cmp r0, r1 - ble _0801AE1C -_0801AE12: - movs r0, 0 - b _0801AE1E - .align 2, 0 -_0801AE18: .4byte 0x000003e6 -_0801AE1C: - movs r0, 0x1 -_0801AE1E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_801ADA0 - - thumb_func_start sub_801AE24 -sub_801AE24: - push {r4-r7,lr} - adds r7, r0, 0 - movs r5, 0 - movs r6, 0 - b _0801AE74 -_0801AE2E: - ldr r0, _0801AE64 - ldr r0, [r0] - lsls r1, r6, 2 - adds r0, 0x4 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _0801AE72 - ldr r0, _0801AE68 - ldr r0, [r0] - adds r0, r1 - ldr r4, [r0] - lsls r1, r4, 8 - lsrs r0, r1, 24 - cmp r0, r7 - bne _0801AE72 - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - beq _0801AE6C - lsrs r0, r4, 8 - lsls r0, 24 - lsrs r0, 24 - adds r0, r5, r0 - b _0801AE6E - .align 2, 0 -_0801AE64: .4byte gUnknown_203B224 -_0801AE68: .4byte gUnknown_203B460 -_0801AE6C: - adds r0, r5, 0x1 -_0801AE6E: - lsls r0, 16 - lsrs r5, r0, 16 -_0801AE72: - adds r6, 0x1 -_0801AE74: - bl sub_8090A34 - cmp r6, r0 - blt _0801AE2E - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_801AE24 - - thumb_func_start sub_801AE84 -sub_801AE84: - push {r4,lr} - movs r2, 0 - ldr r4, _0801AEA4 - movs r3, 0 -_0801AE8C: - ldr r0, [r4] - lsls r1, r2, 2 - adds r0, 0x4 - adds r0, r1 - str r3, [r0] - adds r2, 0x1 - cmp r2, 0x13 - ble _0801AE8C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801AEA4: .4byte gUnknown_203B224 - thumb_func_end sub_801AE84 - - thumb_func_start sub_801AEA8 -sub_801AEA8: - push {lr} - movs r3, 0 - ldr r0, _0801AECC - ldr r0, [r0] - adds r1, r0, 0x4 - movs r2, 0x13 -_0801AEB4: - ldr r0, [r1] - cmp r0, 0 - beq _0801AEBC - adds r3, 0x1 -_0801AEBC: - adds r1, 0x4 - subs r2, 0x1 - cmp r2, 0 - bge _0801AEB4 - adds r0, r3, 0 - pop {r1} - bx r1 - .align 2, 0 -_0801AECC: .4byte gUnknown_203B224 - thumb_func_end sub_801AEA8 - - thumb_func_start sub_801AED0 -sub_801AED0: - ldr r1, _0801AEE0 - ldr r1, [r1] - lsls r0, 2 - adds r1, 0x4 - adds r1, r0 - ldr r0, [r1] - bx lr - .align 2, 0 -_0801AEE0: .4byte gUnknown_203B224 - thumb_func_end sub_801AED0 - - thumb_func_start sub_801AEE4 -sub_801AEE4: - ldr r2, _0801AEF4 - ldr r2, [r2] - lsls r0, 2 - adds r2, 0x4 - adds r2, r0 - str r1, [r2] - bx lr - .align 2, 0 -_0801AEF4: .4byte gUnknown_203B224 - thumb_func_end sub_801AEE4 - - thumb_func_start sub_801AEF8 -sub_801AEF8: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r0, 0 - mov r9, r0 - b _0801AF78 -_0801AF08: - movs r1, 0x1 - add r1, r9 - mov r8, r1 - mov r7, r8 - b _0801AF6E -_0801AF12: - ldr r2, _0801AF90 - ldr r0, [r2] - mov r1, r9 - lsls r6, r1, 2 - adds r0, r6 - ldrb r0, [r0, 0x2] - str r2, [sp] - bl sub_8090D44 - adds r4, r0, 0 - ldr r2, [sp] - ldr r0, [r2] - lsls r5, r7, 2 - adds r0, r5 - ldrb r0, [r0, 0x2] - bl sub_8090D44 - ldr r2, [sp] - cmp r4, r0 - bgt _0801AF4C - cmp r4, r0 - bne _0801AF6C - ldr r0, [r2] - adds r1, r0, r6 - adds r0, r5 - ldrb r1, [r1, 0x1] - ldrb r0, [r0, 0x1] - cmp r1, r0 - bcs _0801AF6C -_0801AF4C: - ldr r0, [r2] - adds r2, r0, r6 - ldr r3, [r2] - adds r0, r5 - ldr r1, [r0] - str r1, [r2] - str r3, [r0] - ldr r0, _0801AF94 - ldr r0, [r0] - adds r0, 0x4 - adds r2, r0, r6 - ldr r3, [r2] - adds r0, r5 - ldr r1, [r0] - str r1, [r2] - str r3, [r0] -_0801AF6C: - adds r7, 0x1 -_0801AF6E: - bl sub_8090A34 - cmp r7, r0 - blt _0801AF12 - mov r9, r8 -_0801AF78: - bl sub_8090A34 - subs r0, 0x1 - cmp r9, r0 - blt _0801AF08 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801AF90: .4byte gUnknown_203B460 -_0801AF94: .4byte gUnknown_203B224 - thumb_func_end sub_801AEF8 - - thumb_func_start sub_801AF98 -sub_801AF98: - ldr r0, _0801AFA0 - ldr r0, [r0] - bx lr - .align 2, 0 -_0801AFA0: .4byte gUnknown_203B224 - thumb_func_end sub_801AF98 - - thumb_func_start sub_801AFA4 -sub_801AFA4: - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _0801AFEC - movs r0, 0xA4 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - str r4, [r0, 0x4] - ldr r1, _0801AFF0 - ldr r1, [r1] - lsls r4, 2 - adds r1, r4 - ldrb r1, [r1, 0x2] - strb r1, [r0, 0x8] - ldr r0, [r5] - ldrb r0, [r0, 0x8] - bl sub_80913CC - ldr r1, [r5] - strh r0, [r1, 0xA] - ldr r0, _0801AFF4 - ldrh r1, [r1, 0xA] - bl sub_8092C84 - movs r0, 0 - bl sub_8099690 - bl sub_801B2F4 - cmp r0, 0 - bne _0801AFF8 - movs r0, 0x3 - bl sub_801B064 - b _0801B004 - .align 2, 0 -_0801AFEC: .4byte gUnknown_203B22C -_0801AFF0: .4byte gUnknown_203B460 -_0801AFF4: .4byte gUnknown_202E1C8 -_0801AFF8: - ldr r1, [r5] - movs r0, 0x4 - str r0, [r1, 0x60] - movs r0, 0 - bl sub_801B064 -_0801B004: - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_801AFA4 - - thumb_func_start sub_801B00C -sub_801B00C: - push {lr} - ldr r0, _0801B024 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x1 - beq _0801B036 - cmp r0, 0x1 - bgt _0801B028 - cmp r0, 0 - beq _0801B030 - b _0801B03C - .align 2, 0 -_0801B024: .4byte gUnknown_203B22C -_0801B028: - cmp r0, 0x4 - bne _0801B03C - movs r0, 0x3 - b _0801B042 -_0801B030: - bl sub_801B200 - b _0801B040 -_0801B036: - bl sub_801B2AC - b _0801B040 -_0801B03C: - bl sub_801B2D8 -_0801B040: - movs r0, 0 -_0801B042: - pop {r1} - bx r1 - thumb_func_end sub_801B00C - - thumb_func_start sub_801B048 -sub_801B048: - push {r4,lr} - ldr r4, _0801B060 - ldr r0, [r4] - cmp r0, 0 - beq _0801B05A - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0801B05A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801B060: .4byte gUnknown_203B22C - thumb_func_end sub_801B048 - - thumb_func_start sub_801B064 -sub_801B064: - push {lr} - ldr r1, _0801B078 - ldr r1, [r1] - str r0, [r1] - bl nullsub_37 - bl sub_801B080 - pop {r0} - bx r0 - .align 2, 0 -_0801B078: .4byte gUnknown_203B22C - thumb_func_end sub_801B064 - - thumb_func_start nullsub_37 -nullsub_37: - bx lr - thumb_func_end nullsub_37 - - thumb_func_start sub_801B080 -sub_801B080: - push {r4,lr} - sub sp, 0x14 - ldr r1, _0801B09C - ldr r0, [r1] - ldr r0, [r0] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _0801B168 - lsls r0, 2 - ldr r1, _0801B0A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801B09C: .4byte gUnknown_203B22C -_0801B0A0: .4byte _0801B0A4 - .align 2, 0 -_0801B0A4: - .4byte _0801B0B8 - .4byte _0801B0E8 - .4byte _0801B0FC - .4byte _0801B15C - .4byte _0801B168 -_0801B0B8: - bl sub_801B178 - ldr r0, _0801B0E0 - ldr r1, _0801B0E4 - ldr r3, [r1] - ldr r2, [r3, 0x60] - adds r3, 0x64 - movs r4, 0 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - movs r1, 0x20 - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _0801B168 - .align 2, 0 -_0801B0E0: .4byte gUnknown_80DB9BC -_0801B0E4: .4byte gUnknown_203B22C -_0801B0E8: - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x58 - movs r3, 0 - ldrsh r1, [r0, r3] - adds r2, 0xC - movs r0, 0x2 - bl DisplayGulpinDialogueSprite - b _0801B168 -_0801B0FC: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xC - ldr r1, [r1, 0x5C] - adds r1, 0x2C - bl sub_8094060 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_80915A0 - lsls r0, 24 - cmp r0, 0 - bne _0801B138 - ldr r3, _0801B150 - ldr r1, [r3] - ldr r2, [r4] - ldr r0, [r2, 0x4] - lsls r0, 2 - adds r1, r0 - ldrb r0, [r2, 0x8] - subs r0, 0x7D - strb r0, [r1, 0x1] - ldr r1, [r3] - ldr r0, [r4] - ldr r0, [r0, 0x4] - lsls r0, 2 - adds r1, r0 - movs r0, 0x7C - strb r0, [r1, 0x2] -_0801B138: - movs r0, 0x9C - lsls r0, 1 - bl sub_8011988 - ldr r0, _0801B154 - ldr r3, _0801B158 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _0801B168 - .align 2, 0 -_0801B150: .4byte gUnknown_203B460 -_0801B154: .4byte gUnknown_80DB9E4 -_0801B158: .4byte 0x00000121 -_0801B15C: - ldr r0, _0801B170 - ldr r3, _0801B174 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_0801B168: - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801B170: .4byte gUnknown_80DBA0C -_0801B174: .4byte 0x00000121 - thumb_func_end sub_801B080 - - thumb_func_start sub_801B178 -sub_801B178: - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 - ldr r1, _0801B1F4 - ldr r0, [r1] - ldr r0, [r0, 0x4C] - cmp r5, r0 - bge _0801B1D2 - ldr r0, _0801B1F8 - mov r8, r0 - adds r7, r1, 0 - movs r6, 0 -_0801B192: - ldr r4, _0801B1FC - adds r4, r6, r4 - ldr r0, [r7] - lsls r1, r5, 1 - adds r0, 0x50 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0x58 - muls r0, r1 - mov r2, r8 - ldr r1, [r2] - adds r1, r0 - adds r0, r4, 0 - bl sub_808DA34 - ldr r2, [r7] - lsls r1, r5, 3 - adds r0, r2, 0 - adds r0, 0x64 - adds r0, r1 - str r4, [r0] - adds r0, r2, 0 - adds r0, 0x68 - adds r0, r1 - adds r1, r5, 0x4 - str r1, [r0] - adds r6, 0x50 - adds r5, 0x1 - ldr r0, [r2, 0x4C] - cmp r5, r0 - blt _0801B192 -_0801B1D2: - ldr r0, _0801B1F4 - ldr r2, [r0] - lsls r3, r5, 3 - adds r0, r2, 0 - adds r0, 0x64 - adds r0, r3 - movs r1, 0 - str r1, [r0] - adds r2, 0x68 - adds r2, r3 - movs r0, 0x1 - str r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801B1F4: .4byte gUnknown_203B22C -_0801B1F8: .4byte gUnknown_203B45C -_0801B1FC: .4byte gAvailablePokemonNames - thumb_func_end sub_801B178 - - thumb_func_start sub_801B200 -sub_801B200: - push {r4-r6,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0801B2A4 - ldr r5, _0801B228 - ldr r3, [r5] - ldr r0, [sp] - str r0, [r3, 0x60] - ldr r1, [sp] - cmp r1, 0 - beq _0801B2A4 - cmp r1, 0x1 - bne _0801B22C - movs r0, 0x4 - bl sub_801B064 - b _0801B2A4 - .align 2, 0 -_0801B228: .4byte gUnknown_203B22C -_0801B22C: - subs r1, 0x4 - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x50 - adds r0, r1 - ldrh r0, [r0] - adds r1, r3, 0 - adds r1, 0x58 - strh r0, [r1] - ldr r2, _0801B26C - movs r0, 0 - ldrsh r1, [r1, r0] - movs r0, 0x58 - muls r0, r1 - ldr r1, [r2] - adds r1, r0 - str r1, [r3, 0x5C] - ldr r0, _0801B270 - bl sub_808DA34 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0xC - ldr r1, [r1, 0x5C] - adds r1, 0x2C - bl sub_809401C - movs r4, 0 - adds r6, r5, 0 - movs r5, 0xC - b _0801B278 - .align 2, 0 -_0801B26C: .4byte gUnknown_203B45C -_0801B270: .4byte gUnknown_202E218 -_0801B274: - adds r5, 0x8 - adds r4, 0x1 -_0801B278: - cmp r4, 0x7 - bgt _0801B292 - ldr r3, [r6] - adds r2, r3, r5 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0801B274 - ldrh r1, [r3, 0xA] - adds r0, r2, 0 - bl sub_8092AD4 -_0801B292: - cmp r4, 0x3 - ble _0801B29E - movs r0, 0x1 - bl sub_801B064 - b _0801B2A4 -_0801B29E: - movs r0, 0x2 - bl sub_801B064 -_0801B2A4: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_801B200 - - thumb_func_start sub_801B2AC -sub_801B2AC: - push {lr} - bl sub_801E8C0 - cmp r0, 0x2 - beq _0801B2CA - cmp r0, 0x2 - bcc _0801B2D4 - cmp r0, 0x3 - bne _0801B2D4 - bl sub_801E93C - movs r0, 0x2 - bl sub_801B064 - b _0801B2D4 -_0801B2CA: - bl sub_801E93C - movs r0, 0 - bl sub_801B064 -_0801B2D4: - pop {r0} - bx r0 - thumb_func_end sub_801B2AC - - thumb_func_start sub_801B2D8 -sub_801B2D8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0801B2EC - movs r0, 0x4 - bl sub_801B064 -_0801B2EC: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_801B2D8 - - thumb_func_start sub_801B2F4 -sub_801B2F4: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - mov r0, sp - bl sub_808D580 - adds r6, r0, 0 - ldr r2, _0801B36C - ldr r1, [r2] - movs r0, 0 - str r0, [r1, 0x4C] - movs r5, 0 - cmp r5, r6 - bge _0801B35A - ldr r0, _0801B370 - mov r8, r0 - adds r7, r2, 0 - mov r4, sp -_0801B31A: - ldr r1, [r4] - movs r0, 0x58 - muls r0, r1 - mov r2, r8 - ldr r1, [r2] - adds r1, r0 - ldr r0, [r7] - ldrh r0, [r0, 0xA] - movs r2, 0x8 - ldrsh r1, [r1, r2] - bl sub_808E190 - lsls r0, 24 - cmp r0, 0 - beq _0801B352 - ldr r2, [r7] - ldr r0, [r2, 0x4C] - lsls r0, 1 - adds r1, r2, 0 - adds r1, 0x50 - adds r1, r0 - ldr r0, [r4] - strh r0, [r1] - ldr r0, [r2, 0x4C] - cmp r0, 0x3 - bgt _0801B35A - adds r0, 0x1 - str r0, [r2, 0x4C] -_0801B352: - adds r4, 0x4 - adds r5, 0x1 - cmp r5, r6 - blt _0801B31A -_0801B35A: - ldr r0, _0801B36C - ldr r0, [r0] - ldr r0, [r0, 0x4C] - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801B36C: .4byte gUnknown_203B22C -_0801B370: .4byte gUnknown_203B45C - thumb_func_end sub_801B2F4 - - thumb_func_start sub_801B374 -sub_801B374: - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0801B3A8 - ldr r4, [r1] - bl sub_80913CC - lsls r0, 16 - lsrs r6, r0, 16 - movs r5, 0 -_0801B388: - ldrh r0, [r4] - lsrs r0, 1 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0801B3AC - movs r0, 0x8 - ldrsh r1, [r4, r0] - adds r0, r6, 0 - bl sub_808E190 - lsls r0, 24 - cmp r0, 0 - beq _0801B3AC - movs r0, 0 - b _0801B3BA - .align 2, 0 -_0801B3A8: .4byte gUnknown_203B45C -_0801B3AC: - adds r5, 0x1 - adds r4, 0x58 - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - ble _0801B388 - movs r0, 0x1 -_0801B3BA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_801B374 - - thumb_func_start sub_801B3C0 -sub_801B3C0: - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x1 - bl ResetSprites - ldr r4, _0801B40C - movs r0, 0x94 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - ldr r1, [r5] - str r1, [r0, 0x4] - adds r0, 0x88 - bl sub_801317C - ldr r0, [r4] - movs r1, 0 - str r1, [r0, 0x24] - adds r0, 0x28 - bl sub_80140B4 - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x28 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0 - bl sub_801B46C - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0801B40C: .4byte gUnknown_203B230 - thumb_func_end sub_801B3C0 - - thumb_func_start sub_801B410 -sub_801B410: - push {lr} - ldr r0, _0801B428 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x1 - beq _0801B43C - cmp r0, 0x1 - bgt _0801B42C - cmp r0, 0 - beq _0801B436 - b _0801B446 - .align 2, 0 -_0801B428: .4byte gUnknown_203B230 -_0801B42C: - cmp r0, 0x2 - beq _0801B446 - cmp r0, 0x3 - beq _0801B442 - b _0801B446 -_0801B436: - bl sub_801B51C - b _0801B44A -_0801B43C: - bl sub_801B590 - b _0801B44A -_0801B442: - movs r0, 0x3 - b _0801B44C -_0801B446: - movs r0, 0x2 - b _0801B44C -_0801B44A: - movs r0, 0 -_0801B44C: - pop {r1} - bx r1 - thumb_func_end sub_801B410 - - thumb_func_start sub_801B450 -sub_801B450: - push {r4,lr} - ldr r4, _0801B468 - ldr r0, [r4] - cmp r0, 0 - beq _0801B462 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0801B462: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801B468: .4byte gUnknown_203B230 - thumb_func_end sub_801B450 - - thumb_func_start sub_801B46C -sub_801B46C: - push {lr} - ldr r1, _0801B47C - ldr r1, [r1] - str r0, [r1] - bl sub_801B480 - pop {r0} - bx r0 - .align 2, 0 -_0801B47C: .4byte gUnknown_203B230 - thumb_func_end sub_801B46C - - thumb_func_start sub_801B480 -sub_801B480: - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _0801B4B0 - ldr r0, [r5] - ldr r4, [r0] - cmp r4, 0x1 - beq _0801B4B4 - cmp r4, 0x1 - bgt _0801B50C - cmp r4, 0 - bne _0801B50C - ldr r0, [r0, 0x24] - bl sub_8008C54 - ldr r2, [r5] - adds r0, r2, 0x4 - ldr r1, [r2, 0x24] - adds r2, 0x10 - bl sub_80913E0 - ldr r1, [r5] - str r0, [r1, 0xC] - str r4, [r1, 0x20] - b _0801B50C - .align 2, 0 -_0801B4B0: .4byte gUnknown_203B230 -_0801B4B4: - ldr r0, [r0, 0x24] - bl sub_8008C54 - ldr r0, [r5] - ldr r0, [r0, 0x24] - bl sub_80073B8 - ldr r0, [r5] - ldr r1, [r0, 0x8] - lsls r1, 2 - adds r0, 0x10 - adds r0, r1 - ldr r1, [r0] - ldr r0, _0801B514 - ldr r1, [r1] - bl strcpy - ldr r2, _0801B518 - ldr r0, [r5] - ldr r3, [r0, 0x24] - movs r4, 0 - str r4, [sp] - movs r0, 0x10 - movs r1, 0 - bl sub_8014FF0 - ldr r3, [r5] - ldr r1, [r3, 0x8] - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x10 - adds r0, r1 - ldr r0, [r0] - ldr r2, [r0, 0x4] - ldr r3, [r3, 0x24] - str r4, [sp] - movs r0, 0x4 - movs r1, 0x10 - bl sub_8014FF0 - ldr r0, [r5] - ldr r0, [r0, 0x24] - bl sub_80073E0 -_0801B50C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801B514: .4byte gAvailablePokemonNames -_0801B518: .4byte gUnknown_80DBA4C - thumb_func_end sub_801B480 - - thumb_func_start sub_801B51C -sub_801B51C: - push {r4,lr} - ldr r0, _0801B558 - ldr r2, [r0] - ldr r1, [r2, 0xC] - adds r4, r0, 0 - cmp r1, 0 - beq _0801B540 - ldr r0, [r2, 0x20] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0801B538 - bl sub_8013F84 -_0801B538: - ldr r1, [r4] - ldr r0, [r1, 0x20] - adds r0, 0x1 - str r0, [r1, 0x20] -_0801B540: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x88 - ldr r1, [r1, 0x24] - bl sub_8012A64 - cmp r0, 0x1 - beq _0801B55C - cmp r0, 0x2 - beq _0801B57E - b _0801B58A - .align 2, 0 -_0801B558: .4byte gUnknown_203B230 -_0801B55C: - movs r0, 0 - bl PlayMenuSoundEffect - ldr r1, [r4] - ldr r0, [r1, 0xC] - cmp r0, 0 - beq _0801B576 - movs r0, 0 - str r0, [r1, 0x8] - movs r0, 0x1 - bl sub_801B46C - b _0801B58A -_0801B576: - movs r0, 0x3 - bl sub_801B46C - b _0801B58A -_0801B57E: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - bl sub_801B46C -_0801B58A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_801B51C - - thumb_func_start sub_801B590 -sub_801B590: - push {r4,lr} - ldr r0, _0801B5D0 - ldr r3, [r0] - ldr r1, [r3, 0xC] - subs r1, 0x1 - ldr r2, [r3, 0x8] - adds r4, r0, 0 - cmp r2, r1 - bge _0801B5B8 - ldr r0, [r3, 0x20] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0801B5B0 - bl sub_8013F84 -_0801B5B0: - ldr r1, [r4] - ldr r0, [r1, 0x20] - adds r0, 0x1 - str r0, [r1, 0x20] -_0801B5B8: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x88 - ldr r1, [r1, 0x24] - bl sub_8012A64 - cmp r0, 0x1 - beq _0801B5D4 - cmp r0, 0x2 - beq _0801B5F8 - b _0801B604 - .align 2, 0 -_0801B5D0: .4byte gUnknown_203B230 -_0801B5D4: - movs r0, 0 - bl PlayMenuSoundEffect - ldr r0, [r4] - ldr r1, [r0, 0x8] - adds r1, 0x1 - str r1, [r0, 0x8] - ldr r0, [r0, 0xC] - cmp r1, r0 - bge _0801B5F0 - movs r0, 0x1 - bl sub_801B46C - b _0801B604 -_0801B5F0: - movs r0, 0 - bl sub_801B46C - b _0801B604 -_0801B5F8: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - bl sub_801B46C -_0801B604: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_801B590 - - thumb_func_start sub_801B60C -sub_801B60C: - push {r4-r7,lr} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r7, r2, 24 - ldr r6, _0801B650 - movs r0, 0xAA - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - adds r2, r0, 0 - adds r2, 0xC8 - movs r1, 0 - str r1, [r2] - str r5, [r0] - strb r4, [r0, 0x12] - ldr r0, [r6] - ldrb r0, [r0, 0x12] - bl sub_8090A60 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0801B654 - ldr r0, [r6] - strb r7, [r0, 0x11] - ldr r0, [r6] - strb r7, [r0, 0xC] - b _0801B65E - .align 2, 0 -_0801B650: .4byte gUnknown_203B234 -_0801B654: - ldr r0, [r6] - strb r1, [r0, 0x11] - ldr r1, [r6] - movs r0, 0x1 - strb r0, [r1, 0xC] -_0801B65E: - ldr r5, _0801B6A0 - ldr r0, [r5] - movs r1, 0 - movs r2, 0x1 - strb r2, [r0, 0x10] - ldr r0, [r5] - str r1, [r0, 0x14] - strb r1, [r0, 0x18] - ldr r0, [r5] - strb r2, [r0, 0x1C] - ldr r4, _0801B6A4 - bl sub_808D33C - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x6 - bl sub_808D9AC - ldr r0, _0801B6A8 - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x10 - adds r2, 0x14 - bl sub_8090E14 - movs r0, 0 - bl sub_801B748 - movs r0, 0x1 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801B6A0: .4byte gUnknown_203B234 -_0801B6A4: .4byte gAvailablePokemonNames -_0801B6A8: .4byte gUnknown_202DE58 - thumb_func_end sub_801B60C - - thumb_func_start sub_801B6AC -sub_801B6AC: - push {lr} - ldr r0, _0801B6C4 - ldr r0, [r0] - ldr r0, [r0, 0x4] - subs r0, 0x6 - cmp r0, 0xA - bhi _0801B720 - lsls r0, 2 - ldr r1, _0801B6C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801B6C4: .4byte gUnknown_203B234 -_0801B6C8: .4byte _0801B6CC - .align 2, 0 -_0801B6CC: - .4byte _0801B6FC - .4byte _0801B702 - .4byte _0801B708 - .4byte _0801B708 - .4byte _0801B70E - .4byte _0801B714 - .4byte _0801B71A - .4byte _0801B720 - .4byte _0801B720 - .4byte _0801B720 - .4byte _0801B6F8 -_0801B6F8: - movs r0, 0x3 - b _0801B726 -_0801B6FC: - bl sub_801BC64 - b _0801B724 -_0801B702: - bl sub_801BC94 - b _0801B724 -_0801B708: - bl sub_801BCCC - b _0801B724 -_0801B70E: - bl sub_801BD80 - b _0801B724 -_0801B714: - bl sub_801BEAC - b _0801B724 -_0801B71A: - bl sub_801BE30 - b _0801B724 -_0801B720: - bl sub_801BEC8 -_0801B724: - movs r0, 0 -_0801B726: - pop {r1} - bx r1 - thumb_func_end sub_801B6AC - - thumb_func_start sub_801B72C -sub_801B72C: - push {r4,lr} - ldr r4, _0801B744 - ldr r0, [r4] - cmp r0, 0 - beq _0801B73E - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0801B73E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801B744: .4byte gUnknown_203B234 - thumb_func_end sub_801B72C - - thumb_func_start sub_801B748 -sub_801B748: - push {lr} - ldr r1, _0801B75C - ldr r1, [r1] - str r0, [r1, 0x4] - bl sub_801B760 - bl sub_801B874 - pop {r0} - bx r0 - .align 2, 0 -_0801B75C: .4byte gUnknown_203B234 - thumb_func_end sub_801B748 - - thumb_func_start sub_801B760 -sub_801B760: - push {r4-r7,lr} - ldr r0, _0801B77C - ldr r1, [r0] - ldr r1, [r1, 0x4] - subs r1, 0x1 - adds r4, r0, 0 - cmp r1, 0xE - bls _0801B772 - b _0801B86A -_0801B772: - lsls r0, r1, 2 - ldr r1, _0801B780 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801B77C: .4byte gUnknown_203B234 -_0801B780: .4byte _0801B784 - .align 2, 0 -_0801B784: - .4byte _0801B7C0 - .4byte _0801B86A - .4byte _0801B86A - .4byte _0801B86A - .4byte _0801B86A - .4byte _0801B7C0 - .4byte _0801B7C0 - .4byte _0801B7C0 - .4byte _0801B7C0 - .4byte _0801B800 - .4byte _0801B7C0 - .4byte _0801B840 - .4byte _0801B7C0 - .4byte _0801B7C0 - .4byte _0801B7C0 -_0801B7C0: - ldr r4, _0801B7F8 - ldr r0, [r4] - adds r0, 0xF4 - bl sub_8006518 - mov r12, r4 - ldr r4, _0801B7FC - movs r3, 0 - movs r2, 0x3 -_0801B7D2: - mov r0, r12 - ldr r1, [r0] - adds r1, r3 - adds r1, 0xF4 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0801B7D2 - bl ResetUnusedInputStruct - ldr r0, _0801B7F8 - ldr r0, [r0] - b _0801B82E - .align 2, 0 -_0801B7F8: .4byte gUnknown_203B234 -_0801B7FC: .4byte gUnknown_80DBA58 -_0801B800: - ldr r0, [r4] - adds r0, 0xF4 - bl sub_8006518 - bl sub_801BB5C - ldr r2, [r4] - movs r0, 0x92 - lsls r0, 1 - adds r2, r0 - ldr r1, _0801B83C - ldm r1!, {r3,r5,r6} - stm r2!, {r3,r5,r6} - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldr r1, [r4] - adds r0, r1, r0 - adds r1, 0xCC - bl sub_8012CAC - bl ResetUnusedInputStruct - ldr r0, [r4] -_0801B82E: - adds r0, 0xF4 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - b _0801B86A - .align 2, 0 -_0801B83C: .4byte gUnknown_80DBA70 -_0801B840: - ldr r0, [r4] - adds r0, 0xF4 - bl sub_8006518 - ldr r1, [r4] - movs r6, 0x86 - lsls r6, 1 - adds r1, r6 - ldr r0, _0801B870 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0xF4 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C -_0801B86A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801B870: .4byte gUnknown_80DBA88 - thumb_func_end sub_801B760 - - thumb_func_start sub_801B874 -sub_801B874: - push {r4,lr} - sub sp, 0x14 - ldr r1, _0801B890 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r4, r1, 0 - cmp r0, 0x10 - bls _0801B886 - b _0801BB0E -_0801B886: - lsls r0, 2 - ldr r1, _0801B894 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801B890: .4byte gUnknown_203B234 -_0801B894: .4byte _0801B898 - .align 2, 0 -_0801B898: - .4byte _0801B8DC - .4byte _0801B9BC - .4byte _0801B9D8 - .4byte _0801B9E0 - .4byte _0801B9F0 - .4byte _0801B9F8 - .4byte _0801BA08 - .4byte _0801BA34 - .4byte _0801BA60 - .4byte _0801BA6E - .4byte _0801BA76 - .4byte _0801BA94 - .4byte _0801BA9E - .4byte _0801BAD0 - .4byte _0801BAE0 - .4byte _0801BAFC - .4byte _0801BB0E -_0801B8DC: - ldr r1, [r4] - ldrb r0, [r1, 0x12] - cmp r0, 0xEA - bne _0801B8FE - movs r0, 0x10 - str r0, [r1, 0x8] - movs r0, 0 - movs r1, 0x47 - movs r2, 0x1 - bl sub_8001784 - cmp r0, 0 - bne _0801B914 - movs r0, 0 - movs r1, 0x47 - movs r2, 0x1 - b _0801B92A -_0801B8FE: - cmp r0, 0xEB - bne _0801B938 - movs r0, 0x10 - str r0, [r1, 0x8] - movs r0, 0 - movs r1, 0x47 - movs r2, 0 - bl sub_8001784 - cmp r0, 0 - beq _0801B924 -_0801B914: - movs r0, 0xFA - lsls r0, 2 - bl sub_80913A0 - movs r0, 0x4 - bl sub_801B748 - b _0801BB0E -_0801B924: - movs r0, 0 - movs r1, 0x47 - movs r2, 0 -_0801B92A: - movs r3, 0x1 - bl sub_800199C - movs r0, 0x3 - bl sub_801B748 - b _0801BB0E -_0801B938: - bl sub_8090A34 - cmp r0, 0x13 - ble _0801B986 - ldr r0, [r4] - ldrb r0, [r0, 0x12] - bl sub_8091524 - lsls r0, 24 - cmp r0, 0 - beq _0801B968 - ldr r0, _0801B970 - ldr r1, [r0] - ldr r2, [r4] - ldrb r0, [r2, 0x12] - lsls r0, 1 - adds r1, 0x50 - adds r3, r1, r0 - ldrh r1, [r3] - ldrb r0, [r2, 0xC] - adds r1, r0 - ldr r0, _0801B974 - cmp r1, r0 - ble _0801B978 -_0801B968: - ldr r1, [r4] - movs r0, 0x6 - b _0801B99C - .align 2, 0 -_0801B970: .4byte gUnknown_203B460 -_0801B974: .4byte 0x000003e7 -_0801B978: - strh r1, [r3] - movs r0, 0xCB - bl sub_8011988 - ldr r1, [r4] - movs r0, 0x5 - b _0801B99C -_0801B986: - ldr r0, [r4] - adds r0, 0x10 - bl sub_8091290 - bl sub_80910B4 - movs r0, 0xCB - bl sub_8011988 - ldr r1, [r4] - movs r0, 0x10 -_0801B99C: - str r0, [r1, 0x8] - ldr r0, _0801B9B0 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x1 - bne _0801B9B4 - movs r0, 0x2 - bl sub_801B748 - b _0801BB0E - .align 2, 0 -_0801B9B0: .4byte gUnknown_203B234 -_0801B9B4: - movs r0, 0x1 - bl sub_801B748 - b _0801BB0E -_0801B9BC: - movs r0, 0 - bl sub_808D544 - cmp r0, 0x1 - bgt _0801B9D0 - ldr r0, _0801B9CC - b _0801BAE8 - .align 2, 0 -_0801B9CC: .4byte gUnknown_80DBAA0 -_0801B9D0: - ldr r0, _0801B9D4 - b _0801BAE8 - .align 2, 0 -_0801B9D4: .4byte gUnknown_80DBAD0 -_0801B9D8: - ldr r0, _0801B9DC - b _0801BAE8 - .align 2, 0 -_0801B9DC: .4byte gUnknown_80DBB08 -_0801B9E0: - movs r0, 0xD4 - bl sub_8011988 - ldr r0, _0801B9EC - b _0801BAE8 - .align 2, 0 -_0801B9EC: .4byte gUnknown_80DBB38 -_0801B9F0: - ldr r0, _0801B9F4 - b _0801BAE8 - .align 2, 0 -_0801B9F4: .4byte gUnknown_80DBB9C -_0801B9F8: - ldr r1, [r4] - movs r0, 0x10 - str r0, [r1, 0x8] - ldr r0, _0801BA04 - b _0801BAE8 - .align 2, 0 -_0801BA04: .4byte gUnknown_80DBC28 -_0801BA08: - bl sub_801BB20 - ldr r0, _0801BA2C - ldr r1, _0801BA30 - ldr r3, [r1] - adds r3, 0xCC - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - str r2, [sp, 0x10] - movs r1, 0 - movs r2, 0x4 - bl sub_8014248 - b _0801BB0E - .align 2, 0 -_0801BA2C: .4byte gUnknown_80DBC60 -_0801BA30: .4byte gUnknown_203B234 -_0801BA34: - bl sub_801BC24 - ldr r0, _0801BA58 - ldr r1, _0801BA5C - ldr r3, [r1] - adds r3, 0xCC - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - str r2, [sp, 0x10] - movs r1, 0 - movs r2, 0x3 - bl sub_8014248 - b _0801BB0E - .align 2, 0 -_0801BA58: .4byte gUnknown_80DBC98 -_0801BA5C: .4byte gUnknown_203B234 -_0801BA60: - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - movs r3, 0xA - bl sub_801A5D8 - b _0801BB0E -_0801BA6E: - movs r0, 0x1 - bl sub_801A8D0 - b _0801BB0E -_0801BA76: - bl sub_801A9E0 - ldr r0, _0801BA90 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x28 - adds r1, r2, 0 - adds r1, 0xCC - adds r2, 0xC8 - ldr r2, [r2] - str r2, [sp] - movs r2, 0x2 - b _0801BAC0 - .align 2, 0 -_0801BA90: .4byte gUnknown_203B234 -_0801BA94: - ldr r0, [r4] - adds r0, 0x20 - bl sub_801B3C0 - b _0801BB0E -_0801BA9E: - bl sub_801A9E0 - ldr r4, _0801BACC - ldr r0, [r4] - adds r0, 0x28 - movs r1, 0 - bl sub_8012EA4 - bl sub_801BC24 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x78 - adds r1, 0xCC - movs r2, 0x3 - str r2, [sp] - movs r2, 0x1 -_0801BAC0: - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0801BB0E - .align 2, 0 -_0801BACC: .4byte gUnknown_203B234 -_0801BAD0: - ldr r1, [r4] - movs r0, 0x10 - str r0, [r1, 0x8] - ldr r0, _0801BADC - b _0801BAE8 - .align 2, 0 -_0801BADC: .4byte gUnknown_80DBCC4 -_0801BAE0: - ldr r1, [r4] - movs r0, 0x10 - str r0, [r1, 0x8] - ldr r0, _0801BAF4 -_0801BAE8: - ldr r3, _0801BAF8 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _0801BB0E - .align 2, 0 -_0801BAF4: .4byte gUnknown_80DBCE8 -_0801BAF8: .4byte 0x00000101 -_0801BAFC: - ldr r1, [r4] - movs r0, 0x10 - str r0, [r1, 0x8] - ldr r0, _0801BB18 - ldr r3, _0801BB1C - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_0801BB0E: - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801BB18: .4byte gUnknown_80DBD24 -_0801BB1C: .4byte 0x00000101 - thumb_func_end sub_801B874 - - thumb_func_start sub_801BB20 -sub_801BB20: - ldr r0, _0801BB50 - ldr r3, [r0] - movs r2, 0 - adds r1, r3, 0 - adds r1, 0xCC - ldr r0, _0801BB54 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x4 - str r0, [r1] - adds r1, 0x4 - ldr r0, _0801BB58 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x5 - str r0, [r1] - adds r0, r3, 0 - adds r0, 0xDC - str r2, [r0] - adds r1, 0x8 - movs r0, 0x1 - negs r0, r0 - str r0, [r1] - bx lr - .align 2, 0 -_0801BB50: .4byte gUnknown_203B234 -_0801BB54: .4byte gKangaskhanTrashToolboxItem -_0801BB58: .4byte gKangaskhanTrashReceivedItem - thumb_func_end sub_801BB20 - - thumb_func_start sub_801BB5C -sub_801BB5C: - push {r4-r7,lr} - ldr r4, _0801BBEC - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xCC - ldr r0, _0801BBF0 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x6 - str r0, [r1] - ldr r0, [r2, 0x24] - bl sub_801ADA0 - lsls r0, 24 - cmp r0, 0 - bne _0801BB86 - ldr r0, [r4] - adds r0, 0xD0 - movs r1, 0x1 - negs r1, r1 - str r1, [r0] -_0801BB86: - ldr r0, [r4] - mov r12, r0 - movs r3, 0x1 - movs r2, 0x8 - mov r1, r12 - adds r1, 0xD4 - ldr r0, _0801BBF4 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x7 - str r0, [r1] - adds r1, 0x4 - ldr r0, _0801BBF8 - ldr r0, [r0] - str r0, [r1] - mov r0, r12 - adds r0, 0xE0 - str r2, [r0] - movs r5, 0x3 - adds r1, 0x8 - movs r0, 0 - str r0, [r1] - mov r0, r12 - adds r0, 0xE8 - str r3, [r0] - movs r3, 0 - adds r6, r4, 0 - movs r7, 0x1 - negs r7, r7 - mov r4, r12 - adds r4, 0xC8 - subs r1, 0x14 -_0801BBC6: - ldr r2, [r1] - cmp r2, r7 - beq _0801BBD2 - ldr r0, [r4] - cmp r2, r0 - beq _0801BC1C -_0801BBD2: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, r5 - blt _0801BBC6 - movs r3, 0 - cmp r3, r5 - bge _0801BC1C - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0xD0 - ldr r1, [r0] - b _0801BC0E - .align 2, 0 -_0801BBEC: .4byte gUnknown_203B234 -_0801BBF0: .4byte gKangaskhanStorage -_0801BBF4: .4byte gKangaskhanTrash -_0801BBF8: .4byte gUnknown_80D4970 -_0801BBFC: - adds r3, 0x1 - cmp r3, r5 - bge _0801BC1C - ldr r2, [r6] - lsls r0, r3, 3 - adds r1, r2, 0 - adds r1, 0xD0 - adds r1, r0 - ldr r1, [r1] -_0801BC0E: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0801BBFC - adds r0, r2, 0 - adds r0, 0xC8 - str r1, [r0] -_0801BC1C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_801BB5C - - thumb_func_start sub_801BC24 -sub_801BC24: - ldr r0, _0801BC58 - ldr r0, [r0] - mov r12, r0 - movs r3, 0 - mov r1, r12 - adds r1, 0xCC - ldr r0, _0801BC5C - ldr r0, [r0] - str r0, [r1] - adds r1, 0x4 - movs r0, 0x2 - str r0, [r1] - movs r2, 0x1 - adds r1, 0x4 - ldr r0, _0801BC60 - ldr r0, [r0] - str r0, [r1] - adds r1, 0x4 - movs r0, 0x3 - str r0, [r1] - mov r0, r12 - adds r0, 0xDC - str r3, [r0] - adds r0, 0x4 - str r2, [r0] - bx lr - .align 2, 0 -_0801BC58: .4byte gUnknown_203B234 -_0801BC5C: .4byte gUnknown_80D4920 -_0801BC60: .4byte gUnknown_80D4928 - thumb_func_end sub_801BC24 - - thumb_func_start sub_801BC64 -sub_801BC64: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0801BC8C - ldr r0, [sp] - cmp r0, 0x4 - beq _0801BC7E - cmp r0, 0x5 - beq _0801BC86 - b _0801BC8C -_0801BC7E: - movs r0, 0x8 - bl sub_801B748 - b _0801BC8C -_0801BC86: - movs r0, 0x7 - bl sub_801B748 -_0801BC8C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_801BC64 - - thumb_func_start sub_801BC94 -sub_801BC94: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0801BCC6 - ldr r0, [sp] - cmp r0, 0x2 - beq _0801BCB8 - cmp r0, 0x2 - bgt _0801BCB2 - cmp r0, 0x1 - beq _0801BCC0 - b _0801BCC6 -_0801BCB2: - cmp r0, 0x3 - beq _0801BCC0 - b _0801BCC6 -_0801BCB8: - movs r0, 0xD - bl sub_801B748 - b _0801BCC6 -_0801BCC0: - movs r0, 0x6 - bl sub_801B748 -_0801BCC6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_801BC94 - - thumb_func_start sub_801BCCC -sub_801BCCC: - push {lr} - movs r0, 0x1 - bl sub_801A6E8 - cmp r0, 0x4 - bhi _0801BD7A - lsls r0, 2 - ldr r1, _0801BCE4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801BCE4: .4byte _0801BCE8 - .align 2, 0 -_0801BCE8: - .4byte _0801BD7A - .4byte _0801BD7A - .4byte _0801BD70 - .4byte _0801BCFC - .4byte _0801BD34 -_0801BCFC: - bl sub_801A8AC - ldr r1, _0801BD28 - ldr r2, [r1] - str r0, [r2, 0x24] - ldr r1, _0801BD2C - ldr r1, [r1] - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x20] - ldr r0, _0801BD30 - adds r1, r2, 0 - adds r1, 0x20 - adds r2, 0x14 - bl sub_8090E14 - movs r0, 0xA - bl sub_801B748 - b _0801BD7A - .align 2, 0 -_0801BD28: .4byte gUnknown_203B234 -_0801BD2C: .4byte gUnknown_203B460 -_0801BD30: .4byte gUnknown_202DEA8 -_0801BD34: - bl sub_801A8AC - ldr r1, _0801BD64 - ldr r2, [r1] - str r0, [r2, 0x24] - ldr r1, _0801BD68 - ldr r1, [r1] - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x20] - ldr r0, _0801BD6C - adds r1, r2, 0 - adds r1, 0x20 - adds r2, 0x14 - bl sub_8090E14 - movs r0, 0 - bl sub_8099690 - movs r0, 0xB - bl sub_801B748 - b _0801BD7A - .align 2, 0 -_0801BD64: .4byte gUnknown_203B234 -_0801BD68: .4byte gUnknown_203B460 -_0801BD6C: .4byte gUnknown_202DEA8 -_0801BD70: - bl sub_801A928 - movs r0, 0x6 - bl sub_801B748 -_0801BD7A: - pop {r0} - bx r0 - thumb_func_end sub_801BCCC - - thumb_func_start sub_801BD80 -sub_801BD80: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_801A6E8 - ldr r4, _0801BDC4 - ldr r0, [r4] - adds r0, 0x28 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0801BDB2 - ldr r0, [r4] - adds r0, 0x28 - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0801BDB2 - ldr r0, [r4] - adds r0, 0xC8 - str r1, [r0] -_0801BDB2: - ldr r0, [sp] - cmp r0, 0x6 - beq _0801BDD2 - cmp r0, 0x6 - bgt _0801BDC8 - cmp r0, 0x1 - beq _0801BE22 - b _0801BE28 - .align 2, 0 -_0801BDC4: .4byte gUnknown_203B234 -_0801BDC8: - cmp r0, 0x7 - beq _0801BE0C - cmp r0, 0x8 - beq _0801BE14 - b _0801BE28 -_0801BDD2: - ldr r4, _0801BE08 - ldr r0, [r4] - adds r0, 0x20 - bl sub_80917B8 - ldr r0, [r4] - ldr r0, [r0, 0x24] - bl sub_80911F8 - ldr r0, [r4] - adds r0, 0x10 - bl sub_8091290 - bl sub_80910B4 - movs r0, 0xCB - bl sub_8011988 - movs r0, 0 - bl sub_8099690 - bl sub_801A928 - movs r0, 0xE - bl sub_801B748 - b _0801BE28 - .align 2, 0 -_0801BE08: .4byte gUnknown_203B234 -_0801BE0C: - movs r0, 0xC - bl sub_801B748 - b _0801BE28 -_0801BE14: - movs r0, 0 - bl sub_8099690 - movs r0, 0xB - bl sub_801B748 - b _0801BE28 -_0801BE22: - movs r0, 0x9 - bl sub_801B748 -_0801BE28: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_801BD80 - - thumb_func_start sub_801BE30 -sub_801BE30: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_801A6E8 - ldr r4, _0801BE70 - ldr r0, [r4] - adds r0, 0x28 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0x78 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0801BE5E - ldr r0, [r4] - adds r0, 0x78 - mov r1, sp - bl sub_8013114 -_0801BE5E: - ldr r0, [sp] - cmp r0, 0x2 - beq _0801BE80 - cmp r0, 0x2 - bgt _0801BE74 - cmp r0, 0x1 - beq _0801BE78 - b _0801BEA4 - .align 2, 0 -_0801BE70: .4byte gUnknown_203B234 -_0801BE74: - cmp r0, 0x3 - bne _0801BEA4 -_0801BE78: - movs r0, 0x9 - bl sub_801B748 - b _0801BEA4 -_0801BE80: - ldr r0, [r4] - ldr r0, [r0, 0x24] - bl sub_80911F8 - ldr r0, [r4] - adds r0, 0x10 - bl sub_8091290 - bl sub_80910B4 - movs r0, 0xCB - bl sub_8011988 - bl sub_801A928 - movs r0, 0xF - bl sub_801B748 -_0801BEA4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_801BE30 - - thumb_func_start sub_801BEAC -sub_801BEAC: - push {lr} - bl sub_801B410 - cmp r0, 0x1 - bls _0801BEC4 - cmp r0, 0x3 - bhi _0801BEC4 - bl sub_801B450 - movs r0, 0x9 - bl sub_801B748 -_0801BEC4: - pop {r0} - bx r0 - thumb_func_end sub_801BEAC - - thumb_func_start sub_801BEC8 -sub_801BEC8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0801BEE0 - ldr r0, _0801BEE8 - ldr r0, [r0] - ldr r0, [r0, 0x8] - bl sub_801B748 -_0801BEE0: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0801BEE8: .4byte gUnknown_203B234 - thumb_func_end sub_801BEC8 - - thumb_func_start sub_801BEEC -sub_801BEEC: - push {r4-r6,lr} - lsls r0, 16 - asrs r5, r0, 16 - adds r0, r5, 0 - bl sub_801C5F0 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _0801BF40 - ldr r4, _0801BF38 - movs r0, 0x92 - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - str r6, [r0, 0x30] - strh r5, [r0, 0x4] - ldr r3, _0801BF3C - movs r1, 0x58 - adds r2, r5, 0 - muls r2, r1 - ldr r1, [r3] - adds r1, r2 - str r1, [r0, 0x8] - adds r0, 0xC - movs r2, 0x14 - ldrsh r1, [r1, r2] - bl sub_808EBA8 - ldr r1, [r4] - str r0, [r1, 0x2C] - movs r0, 0 - bl sub_801BFB4 - movs r0, 0x1 - b _0801BF42 - .align 2, 0 -_0801BF38: .4byte gUnknown_203B238 -_0801BF3C: .4byte gUnknown_203B45C -_0801BF40: - movs r0, 0 -_0801BF42: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_801BEEC - - thumb_func_start sub_801BF48 -sub_801BF48: - push {lr} - ldr r0, _0801BF60 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x4 - bhi _0801BF90 - lsls r0, 2 - ldr r1, _0801BF64 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801BF60: .4byte gUnknown_203B238 -_0801BF64: .4byte _0801BF68 - .align 2, 0 -_0801BF68: - .4byte _0801BF80 - .4byte _0801BF80 - .4byte _0801BF86 - .4byte _0801BF8C - .4byte _0801BF7C -_0801BF7C: - movs r0, 0x3 - b _0801BF92 -_0801BF80: - bl sub_801C118 - b _0801BF90 -_0801BF86: - bl sub_801C1A0 - b _0801BF90 -_0801BF8C: - bl sub_801C228 -_0801BF90: - movs r0, 0 -_0801BF92: - pop {r1} - bx r1 - thumb_func_end sub_801BF48 - - thumb_func_start sub_801BF98 -sub_801BF98: - push {r4,lr} - ldr r4, _0801BFB0 - ldr r0, [r4] - cmp r0, 0 - beq _0801BFAA - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0801BFAA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801BFB0: .4byte gUnknown_203B238 - thumb_func_end sub_801BF98 - - thumb_func_start sub_801BFB4 -sub_801BFB4: - push {lr} - ldr r1, _0801BFC8 - ldr r1, [r1] - str r0, [r1] - bl sub_801BFCC - bl sub_801C03C - pop {r0} - bx r0 - .align 2, 0 -_0801BFC8: .4byte gUnknown_203B238 - thumb_func_end sub_801BFB4 - - thumb_func_start sub_801BFCC -sub_801BFCC: - push {r4-r7,lr} - ldr r4, _0801BFF0 - ldr r0, [r4] - adds r0, 0xC4 - bl sub_8006518 - ldr r1, [r4] - ldr r0, [r1] - cmp r0, 0x2 - bne _0801BFF8 - adds r1, 0xF4 - ldr r0, _0801BFF4 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - b _0801C01A - .align 2, 0 -_0801BFF0: .4byte gUnknown_203B238 -_0801BFF4: .4byte gUnknown_80DBDB0 -_0801BFF8: - mov r12, r4 - ldr r4, _0801C034 - movs r3, 0 - movs r2, 0x3 -_0801C000: - mov r0, r12 - ldr r1, [r0] - adds r1, r3 - adds r1, 0xC4 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0801C000 -_0801C01A: - bl ResetUnusedInputStruct - ldr r0, _0801C038 - ldr r0, [r0] - adds r0, 0xC4 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801C034: .4byte gUnknown_80DBD98 -_0801C038: .4byte gUnknown_203B238 - thumb_func_end sub_801BFCC - - thumb_func_start sub_801C03C -sub_801C03C: - push {lr} - sub sp, 0x8 - ldr r1, _0801C058 - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _0801C0C2 - lsls r0, 2 - ldr r1, _0801C05C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801C058: .4byte gUnknown_203B238 -_0801C05C: .4byte _0801C060 - .align 2, 0 -_0801C060: - .4byte _0801C074 - .4byte _0801C084 - .4byte _0801C08C - .4byte _0801C0B8 - .4byte _0801C0C2 -_0801C074: - ldr r0, [r2] - movs r1, 0x4 - ldrsh r0, [r0, r1] - movs r1, 0 - movs r2, 0x8 - bl sub_801C244 - b _0801C0C2 -_0801C084: - movs r0, 0x1 - bl sub_801C3B0 - b _0801C0C2 -_0801C08C: - bl sub_801C4C8 - bl sub_801C0C8 - ldr r0, _0801C0B4 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x74 - adds r1, r2, 0 - adds r1, 0x34 - ldr r2, [r2, 0x30] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0801C0C2 - .align 2, 0 -_0801C0B4: .4byte gUnknown_203B238 -_0801C0B8: - ldr r0, [r2] - adds r0, 0x28 - ldrb r0, [r0] - bl sub_801C620 -_0801C0C2: - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_801C03C - - thumb_func_start sub_801C0C8 -sub_801C0C8: - push {r4,r5,lr} - ldr r3, _0801C10C - ldr r1, [r3] - movs r4, 0 - ldr r0, _0801C110 - str r0, [r1, 0x34] - movs r0, 0x2 - str r0, [r1, 0x38] - movs r2, 0x1 - ldr r0, _0801C114 - ldr r0, [r0] - str r0, [r1, 0x3C] - movs r0, 0x3 - str r0, [r1, 0x40] - movs r5, 0x2 - str r4, [r1, 0x44] - str r2, [r1, 0x48] - movs r2, 0 - ldr r4, [r1, 0x30] - adds r1, 0x38 -_0801C0F0: - ldr r0, [r1] - cmp r0, r4 - beq _0801C104 - adds r1, 0x8 - adds r2, 0x1 - cmp r2, r5 - blt _0801C0F0 - ldr r1, [r3] - movs r0, 0x2 - str r0, [r1, 0x30] -_0801C104: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801C10C: .4byte gUnknown_203B238 -_0801C110: .4byte gUnknown_80DBDC8 -_0801C114: .4byte gUnknown_80D4970 - thumb_func_end sub_801C0C8 - - thumb_func_start sub_801C118 -sub_801C118: - push {lr} - movs r0, 0x1 - bl sub_801C308 - cmp r0, 0x4 - bhi _0801C19A - lsls r0, 2 - ldr r1, _0801C130 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801C130: .4byte _0801C134 - .align 2, 0 -_0801C134: - .4byte _0801C19A - .4byte _0801C19A - .4byte _0801C190 - .4byte _0801C148 - .4byte _0801C16C -_0801C148: - bl sub_801C390 - ldr r1, _0801C168 - ldr r2, [r1] - str r0, [r2, 0x24] - adds r1, r2, 0 - adds r1, 0xC - adds r1, r0 - ldrb r0, [r1] - adds r2, 0x28 - strb r0, [r2] - movs r0, 0x2 - bl sub_801BFB4 - b _0801C19A - .align 2, 0 -_0801C168: .4byte gUnknown_203B238 -_0801C16C: - bl sub_801C390 - ldr r1, _0801C18C - ldr r2, [r1] - str r0, [r2, 0x24] - adds r1, r2, 0 - adds r1, 0xC - adds r1, r0 - ldrb r0, [r1] - adds r2, 0x28 - strb r0, [r2] - movs r0, 0x3 - bl sub_801BFB4 - b _0801C19A - .align 2, 0 -_0801C18C: .4byte gUnknown_203B238 -_0801C190: - bl sub_801C3F8 - movs r0, 0x4 - bl sub_801BFB4 -_0801C19A: - pop {r0} - bx r0 - thumb_func_end sub_801C118 - - thumb_func_start sub_801C1A0 -sub_801C1A0: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_801C308 - ldr r4, _0801C1E0 - ldr r0, [r4] - adds r0, 0x74 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0801C1D0 - ldr r0, [r4] - adds r0, 0x74 - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0801C1D0 - ldr r0, [r4] - str r1, [r0, 0x30] -_0801C1D0: - ldr r0, [sp] - cmp r0, 0x2 - beq _0801C1EA - cmp r0, 0x2 - bgt _0801C1E4 - cmp r0, 0x1 - beq _0801C218 - b _0801C21E - .align 2, 0 -_0801C1E0: .4byte gUnknown_203B238 -_0801C1E4: - cmp r0, 0x3 - beq _0801C210 - b _0801C21E -_0801C1EA: - ldr r0, _0801C208 - bl sub_8011988 - ldr r0, _0801C20C - ldr r1, [r0] - ldr r0, [r1, 0x8] - adds r0, 0x20 - adds r1, 0x28 - ldrb r1, [r1] - bl sub_808EBF4 - movs r0, 0x1 - bl sub_801BFB4 - b _0801C21E - .align 2, 0 -_0801C208: .4byte 0x00000133 -_0801C20C: .4byte gUnknown_203B238 -_0801C210: - movs r0, 0x3 - bl sub_801BFB4 - b _0801C21E -_0801C218: - movs r0, 0x1 - bl sub_801BFB4 -_0801C21E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_801C1A0 - - thumb_func_start sub_801C228 -sub_801C228: - push {lr} - bl sub_801C674 - cmp r0, 0x1 - bls _0801C240 - cmp r0, 0x3 - bhi _0801C240 - bl sub_801C6B4 - movs r0, 0x1 - bl sub_801BFB4 -_0801C240: - pop {r0} - bx r0 - thumb_func_end sub_801C228 - - thumb_func_start sub_801C244 -sub_801C244: - push {r4-r7,lr} - adds r6, r1, 0 - adds r7, r2, 0 - lsls r0, 16 - asrs r0, 16 - adds r4, r0, 0 - bl sub_801C5F0 - lsls r0, 24 - cmp r0, 0 - beq _0801C25E - movs r0, 0 - b _0801C2F6 -_0801C25E: - ldr r5, _0801C2FC - ldr r0, [r5] - cmp r0, 0 - bne _0801C270 - movs r0, 0xC4 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] -_0801C270: - ldr r0, [r5] - strh r4, [r0] - ldr r3, _0801C300 - movs r1, 0x58 - adds r2, r4, 0 - muls r2, r1 - ldr r1, [r3] - adds r1, r2 - str r1, [r0, 0x4] - adds r0, 0x8 - movs r2, 0x14 - ldrsh r1, [r1, r2] - bl sub_808EBA8 - adds r1, r0, 0 - ldr r0, [r5] - str r1, [r0, 0x20] - str r6, [r0, 0x58] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x60 - adds r1, r0, r1 - str r1, [r0, 0x5C] - adds r0, 0x60 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x58] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x60 - ldr r0, _0801C304 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r1, [r5] - ldr r0, [r1, 0x5C] - adds r1, 0xC0 - str r1, [r0, 0x14] - adds r1, r7, 0 - bl sub_8012D08 - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x24 - ldr r1, [r1, 0x20] - adds r2, r7, 0 - adds r3, r6, 0 - bl sub_8013818 - bl sub_801C440 - bl sub_801C4C8 - movs r0, 0x1 -_0801C2F6: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801C2FC: .4byte gUnknown_203B23C -_0801C300: .4byte gUnknown_203B45C -_0801C304: .4byte gUnknown_80DBDF0 - thumb_func_end sub_801C244 - - thumb_func_start sub_801C308 -sub_801C308: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0801C324 - ldr r0, _0801C320 - ldr r0, [r0] - adds r0, 0x24 - bl sub_8013660 - movs r0, 0 - b _0801C38A - .align 2, 0 -_0801C320: .4byte gUnknown_203B23C -_0801C324: - ldr r0, _0801C33C - ldr r0, [r0] - adds r0, 0x24 - bl GetKeyPress - cmp r0, 0x2 - beq _0801C346 - cmp r0, 0x2 - bgt _0801C340 - cmp r0, 0x1 - beq _0801C350 - b _0801C364 - .align 2, 0 -_0801C33C: .4byte gUnknown_203B23C -_0801C340: - cmp r0, 0x4 - beq _0801C35A - b _0801C364 -_0801C346: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0801C38A -_0801C350: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0801C38A -_0801C35A: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0801C38A -_0801C364: - ldr r0, _0801C37C - ldr r0, [r0] - adds r0, 0x24 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0801C380 - movs r0, 0 - b _0801C38A - .align 2, 0 -_0801C37C: .4byte gUnknown_203B23C -_0801C380: - bl sub_801C440 - bl sub_801C4C8 - movs r0, 0x1 -_0801C38A: - pop {r1} - bx r1 - thumb_func_end sub_801C308 - - thumb_func_start sub_801C390 -sub_801C390: - ldr r0, _0801C3AC - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x42 - movs r3, 0 - ldrsh r1, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r1 - movs r3, 0x3C - ldrsh r1, [r2, r3] - adds r0, r1 - bx lr - .align 2, 0 -_0801C3AC: .4byte gUnknown_203B23C - thumb_func_end sub_801C390 - - thumb_func_start sub_801C3B0 -sub_801C3B0: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0801C3F4 - ldr r0, [r5] - adds r0, 0x60 - movs r1, 0 - movs r2, 0 - bl sub_800641C - ldr r0, [r5] - ldr r1, [r0, 0x20] - adds r2, r0, 0 - adds r2, 0x46 - strh r1, [r2] - adds r0, 0x24 - bl sub_8013984 - bl sub_801C440 - bl sub_801C4C8 - cmp r4, 0 - beq _0801C3EE - ldr r0, [r5] - adds r0, 0x24 - bl AddMenuCursorSprite -_0801C3EE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801C3F4: .4byte gUnknown_203B23C - thumb_func_end sub_801C3B0 - - thumb_func_start sub_801C3F8 -sub_801C3F8: - push {r4,r5,lr} - ldr r4, _0801C438 - ldr r2, [r4] - cmp r2, 0 - beq _0801C432 - ldr r0, [r2, 0x58] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x60 - ldr r0, _0801C43C - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0801C432: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801C438: .4byte gUnknown_203B23C -_0801C43C: .4byte gUnknown_80DBDD8 - thumb_func_end sub_801C3F8 - - thumb_func_start sub_801C440 -sub_801C440: - push {r4,lr} - ldr r4, _0801C4C4 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x44 - ldrh r1, [r1] - adds r0, 0xC0 - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x42 - ldrh r1, [r1] - adds r0, 0xC1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC2 - movs r1, 0xA - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC3 - strb r2, [r0] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x3E - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - ldr r2, [r4] - ldr r3, [r2, 0x58] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x6E - lsls r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r3, [r2, 0x58] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r2, r1 - adds r2, 0x70 - strh r0, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801C4C4: .4byte gUnknown_203B23C - thumb_func_end sub_801C440 - - thumb_func_start sub_801C4C8 -sub_801C4C8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r6, _0801C594 - ldr r0, [r6] - ldr r0, [r0, 0x58] - bl sub_8008C54 - ldr r0, [r6] - ldr r0, [r0, 0x58] - bl sub_80073B8 - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x42 - movs r2, 0 - ldrsh r4, [r1, r2] - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _0801C598 - ldr r3, [r0, 0x58] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0xC2 - ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - adds r0, r1, 0 - adds r0, 0x42 - movs r3, 0 - ldrsh r2, [r0, r3] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x58] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x1 - bl sub_8012BC4 - movs r5, 0 - ldr r0, [r6] - movs r1, 0x3E - ldrsh r0, [r0, r1] - cmp r5, r0 - bge _0801C5CC - ldr r2, _0801C59C - mov r8, r2 -_0801C53C: - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x42 - movs r3, 0 - ldrsh r1, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r1, r0 - adds r1, r5 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1 - ldrb r4, [r0] - adds r0, r2, 0 - adds r0, 0x24 - adds r1, r5, 0 - bl sub_8013800 - adds r7, r0, 0 - adds r0, r4, 0 - bl sub_808EAB0 - adds r1, r0, 0 - mov r0, r8 - movs r2, 0x50 - bl strncpy - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, 0x20 - movs r1, 0x1 - lsls r1, r4 - bl sub_808ECD0 - lsls r0, 24 - cmp r0, 0 - beq _0801C5A4 - mov r0, r8 - subs r0, 0x50 - ldr r1, _0801C5A0 - bl strcpy - b _0801C5AE - .align 2, 0 -_0801C594: .4byte gUnknown_203B23C -_0801C598: .4byte gUnknown_80DBE08 -_0801C59C: .4byte gUnknown_202DEA8 -_0801C5A0: .4byte gUnknown_80DBE14 -_0801C5A4: - mov r0, r8 - subs r0, 0x50 - ldr r1, _0801C5E4 - bl strcpy -_0801C5AE: - ldr r0, [r6] - ldr r3, [r0, 0x58] - movs r0, 0 - str r0, [sp] - movs r0, 0xC - adds r1, r7, 0 - ldr r2, _0801C5E8 - bl sub_8014FF0 - adds r5, 0x1 - ldr r0, [r6] - movs r1, 0x3E - ldrsh r0, [r0, r1] - cmp r5, r0 - blt _0801C53C -_0801C5CC: - ldr r0, _0801C5EC - ldr r0, [r0] - ldr r0, [r0, 0x58] - bl sub_80073E0 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801C5E4: .4byte gUnknown_80DBE18 -_0801C5E8: .4byte gUnknown_80DBE1C -_0801C5EC: .4byte gUnknown_203B23C - thumb_func_end sub_801C4C8 - - thumb_func_start sub_801C5F0 -sub_801C5F0: - push {lr} - sub sp, 0x18 - lsls r0, 16 - asrs r0, 16 - ldr r2, _0801C614 - movs r1, 0x58 - muls r1, r0 - ldr r0, [r2] - adds r0, r1 - movs r2, 0x14 - ldrsh r1, [r0, r2] - mov r0, sp - bl sub_808EBA8 - cmp r0, 0 - beq _0801C618 - movs r0, 0 - b _0801C61A - .align 2, 0 -_0801C614: .4byte gUnknown_203B45C -_0801C618: - movs r0, 0x1 -_0801C61A: - add sp, 0x18 - pop {r1} - bx r1 - thumb_func_end sub_801C5F0 - - thumb_func_start sub_801C620 -sub_801C620: - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl ResetSprites - ldr r5, _0801C670 - movs r0, 0x94 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r6, 0 - strb r4, [r0, 0x4] - ldr r0, [r5] - adds r0, 0x88 - bl sub_801317C - ldr r0, [r5] - str r6, [r0, 0x24] - adds r0, 0x28 - bl sub_80140B4 - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x28 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0 - bl sub_801C6D0 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0801C670: .4byte gUnknown_203B240 - thumb_func_end sub_801C620 - - thumb_func_start sub_801C674 -sub_801C674: - push {lr} - ldr r0, _0801C68C - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x1 - beq _0801C6A0 - cmp r0, 0x1 - bgt _0801C690 - cmp r0, 0 - beq _0801C69A - b _0801C6AA - .align 2, 0 -_0801C68C: .4byte gUnknown_203B240 -_0801C690: - cmp r0, 0x2 - beq _0801C6AA - cmp r0, 0x3 - beq _0801C6A6 - b _0801C6AA -_0801C69A: - bl sub_801C7D4 - b _0801C6AE -_0801C6A0: - bl sub_801C848 - b _0801C6AE -_0801C6A6: - movs r0, 0x3 - b _0801C6B0 -_0801C6AA: - movs r0, 0x2 - b _0801C6B0 -_0801C6AE: - movs r0, 0 -_0801C6B0: - pop {r1} - bx r1 - thumb_func_end sub_801C674 - - thumb_func_start sub_801C6B4 -sub_801C6B4: - push {r4,lr} - ldr r4, _0801C6CC - ldr r0, [r4] - cmp r0, 0 - beq _0801C6C6 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0801C6C6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801C6CC: .4byte gUnknown_203B240 - thumb_func_end sub_801C6B4 - - thumb_func_start sub_801C6D0 -sub_801C6D0: - push {lr} - ldr r1, _0801C6E0 - ldr r1, [r1] - str r0, [r1] - bl sub_801C6E4 - pop {r0} - bx r0 - .align 2, 0 -_0801C6E0: .4byte gUnknown_203B240 - thumb_func_end sub_801C6D0 - - thumb_func_start sub_801C6E4 -sub_801C6E4: - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _0801C760 - ldr r0, [r5] - ldr r4, [r0] - cmp r4, 0x1 - beq _0801C76C - cmp r4, 0x1 - bgt _0801C7C4 - cmp r4, 0 - bne _0801C7C4 - ldr r0, [r0, 0x24] - bl sub_8008C54 - ldr r0, [r5] - ldr r0, [r0, 0x24] - bl sub_80073B8 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - bl sub_808EAB0 - adds r1, r0, 0 - ldr r0, _0801C764 - bl strcpy - ldr r2, _0801C768 - str r4, [sp] - movs r0, 0x10 - movs r1, 0 - movs r3, 0 - bl sub_8014FF0 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - bl sub_808EADC - adds r2, r0, 0 - ldr r0, [r5] - ldr r3, [r0, 0x24] - str r4, [sp] - movs r0, 0x8 - movs r1, 0x10 - bl xxx_call_draw_string - ldr r0, [r5] - ldr r0, [r0, 0x24] - bl sub_80073E0 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - bl sub_808EADC - ldr r1, [r5] - adds r1, 0x10 - bl sub_8097DF0 - ldr r1, [r5] - str r0, [r1, 0xC] - str r4, [r1, 0x20] - b _0801C7C4 - .align 2, 0 -_0801C760: .4byte gUnknown_203B240 -_0801C764: .4byte gUnknown_202DE58 -_0801C768: .4byte gUnknown_80DBE2C -_0801C76C: - ldr r0, [r0, 0x24] - bl sub_8008C54 - ldr r0, [r5] - ldr r0, [r0, 0x24] - bl sub_80073B8 - ldr r0, [r5] - ldr r1, [r0, 0x8] - lsls r1, 2 - adds r0, 0x10 - adds r0, r1 - ldr r1, [r0] - ldr r0, _0801C7CC - ldr r1, [r1] - bl strcpy - ldr r2, _0801C7D0 - ldr r0, [r5] - ldr r3, [r0, 0x24] - movs r4, 0 - str r4, [sp] - movs r0, 0x10 - movs r1, 0 - bl sub_8014FF0 - ldr r3, [r5] - ldr r1, [r3, 0x8] - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x10 - adds r0, r1 - ldr r0, [r0] - ldr r2, [r0, 0x4] - ldr r3, [r3, 0x24] - str r4, [sp] - movs r0, 0x4 - movs r1, 0x10 - bl sub_8014FF0 - ldr r0, [r5] - ldr r0, [r0, 0x24] - bl sub_80073E0 -_0801C7C4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801C7CC: .4byte gAvailablePokemonNames -_0801C7D0: .4byte gUnknown_80DBE30 - thumb_func_end sub_801C6E4 - - thumb_func_start sub_801C7D4 -sub_801C7D4: - push {r4,lr} - ldr r0, _0801C810 - ldr r2, [r0] - ldr r1, [r2, 0xC] - adds r4, r0, 0 - cmp r1, 0 - beq _0801C7F8 - ldr r0, [r2, 0x20] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0801C7F0 - bl sub_8013F84 -_0801C7F0: - ldr r1, [r4] - ldr r0, [r1, 0x20] - adds r0, 0x1 - str r0, [r1, 0x20] -_0801C7F8: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x88 - ldr r1, [r1, 0x24] - bl sub_8012A64 - cmp r0, 0x1 - beq _0801C814 - cmp r0, 0x2 - beq _0801C836 - b _0801C842 - .align 2, 0 -_0801C810: .4byte gUnknown_203B240 -_0801C814: - movs r0, 0 - bl PlayMenuSoundEffect - ldr r1, [r4] - ldr r0, [r1, 0xC] - cmp r0, 0 - beq _0801C82E - movs r0, 0 - str r0, [r1, 0x8] - movs r0, 0x1 - bl sub_801C6D0 - b _0801C842 -_0801C82E: - movs r0, 0x3 - bl sub_801C6D0 - b _0801C842 -_0801C836: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - bl sub_801C6D0 -_0801C842: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_801C7D4 - - thumb_func_start sub_801C848 -sub_801C848: - push {r4,lr} - ldr r0, _0801C888 - ldr r3, [r0] - ldr r1, [r3, 0xC] - subs r1, 0x1 - ldr r2, [r3, 0x8] - adds r4, r0, 0 - cmp r2, r1 - bge _0801C870 - ldr r0, [r3, 0x20] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0801C868 - bl sub_8013F84 -_0801C868: - ldr r1, [r4] - ldr r0, [r1, 0x20] - adds r0, 0x1 - str r0, [r1, 0x20] -_0801C870: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x88 - ldr r1, [r1, 0x24] - bl sub_8012A64 - cmp r0, 0x1 - beq _0801C88C - cmp r0, 0x2 - beq _0801C8B0 - b _0801C8BC - .align 2, 0 -_0801C888: .4byte gUnknown_203B240 -_0801C88C: - movs r0, 0 - bl PlayMenuSoundEffect - ldr r0, [r4] - ldr r1, [r0, 0x8] - adds r1, 0x1 - str r1, [r0, 0x8] - ldr r0, [r0, 0xC] - cmp r1, r0 - bge _0801C8A8 - movs r0, 0x1 - bl sub_801C6D0 - b _0801C8BC -_0801C8A8: - movs r0, 0 - bl sub_801C6D0 - b _0801C8BC -_0801C8B0: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - bl sub_801C6D0 -_0801C8BC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_801C848 - - thumb_func_start sub_801C8C4 -sub_801C8C4: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r4, r0, 0 - adds r6, r1, 0 - mov r9, r2 - mov r10, r3 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - beq _0801C8E4 - movs r0, 0 - b _0801C9D0 -_0801C8E4: - ldr r5, _0801C9E0 - ldr r0, [r5] - cmp r0, 0 - bne _0801C8F6 - ldr r0, _0801C9E4 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] -_0801C8F6: - ldr r0, [r5] - str r4, [r0] - bl sub_801CF94 - ldr r0, [r5] - movs r4, 0x9D - lsls r4, 3 - adds r1, r0, r4 - str r6, [r1] - ldr r1, _0801C9E8 - mov r8, r1 - adds r2, r0, r1 - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - movs r7, 0x9E - lsls r7, 3 - adds r1, r7 - adds r1, r0, r1 - str r1, [r2] - adds r0, r7 - bl sub_8006518 - ldr r1, [r5] - adds r4, r1, r4 - ldr r2, [r4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, r7 - ldr r0, _0801C9EC - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r2, [r5] - mov r1, r8 - adds r0, r2, r1 - ldr r1, [r0] - movs r3, 0xAA - lsls r3, 3 - adds r0, r2, r3 - str r0, [r1, 0x14] - mov r4, r9 - cmp r4, 0 - beq _0801C96C - movs r1, 0x9D - lsls r1, 3 - adds r0, r2, r1 - ldr r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - subs r3, 0x58 - adds r1, r2, r3 - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0801C96C: - ldr r0, [r5] - add r0, r8 - ldr r0, [r0] - mov r1, r10 - bl sub_8012D08 - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, r7 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - ldr r0, _0801C9F0 - adds r4, r0 - bl sub_801CE58 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r10 - adds r3, r6, 0 - bl sub_8013818 - ldr r0, _0801C9F4 - ldr r4, [r5] - ldr r1, [r0] - ldr r0, [r4] - cmp r1, r0 - bne _0801C9C6 - ldr r0, _0801C9F8 - ldrh r1, [r0] - ldr r2, _0801C9FC - adds r0, r4, r2 - strh r1, [r0] - ldr r0, _0801CA00 - ldrh r1, [r0] - ldr r3, _0801CA04 - adds r0, r4, r3 - strh r1, [r0] - ldr r1, _0801C9F0 - adds r0, r4, r1 - bl sub_8013984 -_0801C9C6: - bl sub_801CC38 - bl sub_801CCD8 - movs r0, 0x1 -_0801C9D0: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801C9E0: .4byte gUnknown_203B244 -_0801C9E4: .4byte 0x00000554 -_0801C9E8: .4byte 0x000004ec -_0801C9EC: .4byte gUnknown_80DBE54 -_0801C9F0: .4byte 0x000004b4 -_0801C9F4: .4byte gUnknown_203B248 -_0801C9F8: .4byte gUnknown_203B24C -_0801C9FC: .4byte 0x000004cc -_0801CA00: .4byte gUnknown_203B24E -_0801CA04: .4byte 0x000004d2 - thumb_func_end sub_801C8C4 - - thumb_func_start sub_801CA08 -sub_801CA08: - push {r4-r6,lr} - lsls r0, 24 - cmp r0, 0 - bne _0801CA28 - ldr r0, _0801CA20 - ldr r0, [r0] - ldr r1, _0801CA24 - adds r0, r1 - bl sub_8013660 - movs r0, 0 - b _0801CB1E - .align 2, 0 -_0801CA20: .4byte gUnknown_203B244 -_0801CA24: .4byte 0x000004b4 -_0801CA28: - ldr r0, _0801CA44 - ldr r0, [r0] - ldr r1, _0801CA48 - adds r0, r1 - bl GetKeyPress - subs r0, 0x1 - cmp r0, 0x5 - bhi _0801CAF2 - lsls r0, 2 - ldr r1, _0801CA4C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801CA44: .4byte gUnknown_203B244 -_0801CA48: .4byte 0x000004b4 -_0801CA4C: .4byte _0801CA50 - .align 2, 0 -_0801CA50: - .4byte _0801CA72 - .4byte _0801CA68 - .4byte _0801CAF2 - .4byte _0801CAE8 - .4byte _0801CA7C - .4byte _0801CA7C -_0801CA68: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0801CB1E -_0801CA72: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0801CB1E -_0801CA7C: - ldr r0, _0801CAD8 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x1 - bne _0801CAF2 - bl sub_801CB24 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_801CFE0 - movs r6, 0 - cmp r0, 0 - bne _0801CAB0 - bl sub_8090A34 - adds r4, r0, 0 - bl sub_801CFB8 - adds r4, r0 - cmp r4, 0x13 - bgt _0801CAAC - movs r6, 0x1 -_0801CAAC: - cmp r6, 0 - beq _0801CAE0 -_0801CAB0: - movs r0, 0x6 - bl PlayMenuSoundEffect - ldr r0, _0801CAD8 - ldr r0, [r0] - lsls r1, r5, 2 - adds r2, r0, 0 - adds r2, 0xF4 - adds r2, r1 - ldr r1, [r2] - movs r3, 0x1 - eors r1, r3 - str r1, [r2] - ldr r1, _0801CADC - adds r0, r1 - movs r1, 0 - bl sub_80138B8 - b _0801CB18 - .align 2, 0 -_0801CAD8: .4byte gUnknown_203B244 -_0801CADC: .4byte 0x000004b4 -_0801CAE0: - movs r0, 0x2 - bl PlayMenuSoundEffect - b _0801CAF2 -_0801CAE8: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0801CB1E -_0801CAF2: - ldr r0, _0801CB0C - ldr r0, [r0] - ldr r1, _0801CB10 - adds r0, r1 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0801CB14 - movs r0, 0 - b _0801CB1E - .align 2, 0 -_0801CB0C: .4byte gUnknown_203B244 -_0801CB10: .4byte 0x000004b4 -_0801CB14: - bl sub_801CC38 -_0801CB18: - bl sub_801CCD8 - movs r0, 0x1 -_0801CB1E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_801CA08 - - thumb_func_start sub_801CB24 -sub_801CB24: - ldr r0, _0801CB50 - ldr r0, [r0] - ldr r2, _0801CB54 - adds r1, r0, r2 - movs r3, 0 - ldrsh r2, [r1, r3] - movs r3, 0x9A - lsls r3, 3 - adds r1, r0, r3 - movs r3, 0 - ldrsh r1, [r1, r3] - muls r2, r1 - ldr r3, _0801CB58 - adds r1, r0, r3 - movs r3, 0 - ldrsh r1, [r1, r3] - adds r2, r1 - adds r0, 0x4 - adds r0, r2 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0801CB50: .4byte gUnknown_203B244 -_0801CB54: .4byte 0x000004d2 -_0801CB58: .4byte 0x000004cc - thumb_func_end sub_801CB24 - - thumb_func_start sub_801CB5C -sub_801CB5C: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0801CBAC - ldr r0, [r5] - movs r1, 0x9E - lsls r1, 3 - adds r0, r1 - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_801CE58 - adds r2, r0, 0 - ldr r0, [r5] - ldr r3, _0801CBB0 - adds r1, r0, r3 - strh r2, [r1] - ldr r1, _0801CBB4 - adds r0, r1 - bl sub_8013984 - bl sub_801CC38 - bl sub_801CCD8 - cmp r4, 0 - beq _0801CBA6 - ldr r0, [r5] - ldr r3, _0801CBB4 - adds r0, r3 - bl AddMenuCursorSprite -_0801CBA6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801CBAC: .4byte gUnknown_203B244 -_0801CBB0: .4byte 0x000004d6 -_0801CBB4: .4byte 0x000004b4 - thumb_func_end sub_801CB5C - - thumb_func_start sub_801CBB8 -sub_801CBB8: - push {r4-r6,lr} - ldr r5, _0801CC1C - ldr r2, [r5] - cmp r2, 0 - beq _0801CC16 - ldr r1, _0801CC20 - ldr r0, [r2] - str r0, [r1] - ldr r1, _0801CC24 - ldr r3, _0801CC28 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _0801CC2C - ldr r6, _0801CC30 - adds r0, r2, r6 - ldrh r0, [r0] - strh r0, [r1] - movs r1, 0x9D - lsls r1, 3 - adds r0, r2, r1 - ldr r0, [r0] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - movs r4, 0x9E - lsls r4, 3 - adds r1, r4 - ldr r0, _0801CC34 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, r4 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r5] - bl MemoryFree - movs r0, 0 - str r0, [r5] -_0801CC16: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801CC1C: .4byte gUnknown_203B244 -_0801CC20: .4byte gUnknown_203B248 -_0801CC24: .4byte gUnknown_203B24C -_0801CC28: .4byte 0x000004cc -_0801CC2C: .4byte gUnknown_203B24E -_0801CC30: .4byte 0x000004d2 -_0801CC34: .4byte gUnknown_80DBE3C - thumb_func_end sub_801CBB8 - - thumb_func_start sub_801CC38 -sub_801CC38: - push {r4,r5,lr} - ldr r4, _0801CCC4 - ldr r0, [r4] - movs r1, 0xAA - lsls r1, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - ldr r1, _0801CCC8 - adds r0, r1 - strb r2, [r0] - ldr r0, [r4] - adds r1, 0x1 - adds r0, r1 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - ldr r1, _0801CCCC - adds r0, r1 - strb r2, [r0] - ldr r0, [r4] - ldr r2, _0801CCD0 - adds r0, r2 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r3, [r4] - movs r2, 0x9D - lsls r2, 3 - adds r5, r3, r2 - ldr r2, [r5] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 3 - adds r1, r3, r1 - ldr r2, _0801CCD4 - adds r1, r2 - asrs r2, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r3, r0 - adds r2, 0x2 - movs r0, 0xA0 - lsls r0, 3 - adds r3, r0 - strh r2, [r3] - bl ResetUnusedInputStruct - ldr r0, [r4] - movs r1, 0x9E - lsls r1, 3 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801CCC4: .4byte gUnknown_203B244 -_0801CCC8: .4byte 0x00000551 -_0801CCCC: .4byte 0x00000553 -_0801CCD0: .4byte 0x000004ce -_0801CCD4: .4byte 0x000004fe - thumb_func_end sub_801CC38 - - thumb_func_start sub_801CCD8 -sub_801CCD8: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x58 - ldr r4, _0801CE38 - ldr r0, [r4] - movs r5, 0x9D - lsls r5, 3 - adds r0, r5 - ldr r0, [r0] - bl sub_8008C54 - ldr r0, [r4] - adds r0, r5 - ldr r0, [r0] - bl sub_80073B8 - ldr r2, _0801CE3C - ldr r0, [r4] - adds r0, r5 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r3, [r4] - ldr r1, _0801CE40 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0x4 - ldr r2, _0801CE44 - adds r1, r3, r2 - movs r6, 0 - ldrsh r2, [r1, r6] - adds r2, 0x1 - movs r1, 0x7 - str r1, [sp] - adds r3, r5 - ldr r1, [r3] - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r7, 0 - ldr r0, [r4] - ldr r1, _0801CE48 - adds r0, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r7, r0 - bge _0801CE1A - adds r6, r4, 0 - ldr r3, _0801CE4C - mov r9, r3 - mov r8, r5 -_0801CD50: - ldr r1, [r6] - ldr r4, _0801CE44 - adds r0, r1, r4 - movs r3, 0 - ldrsh r2, [r0, r3] - subs r4, 0x2 - adds r0, r1, r4 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r2 - adds r0, r7 - adds r1, 0x4 - adds r1, r0 - ldrb r5, [r1] - add r0, sp, 0x8 - adds r1, r5, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r0, [r6] - add r0, r9 - adds r1, r7, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r0, [r6] - add r0, r8 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - add r2, sp, 0x8 - bl xxx_call_draw_string - ldr r0, [r6] - add r0, r9 - adds r1, r7, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r4, [r6] - ldr r2, _0801CE50 - adds r0, r4, r2 - ldr r0, [r0] - movs r3, 0xC - ldrsh r0, [r0, r3] - lsls r0, 3 - subs r0, 0x2 - ldr r2, _0801CE54 - ldr r2, [r2] - lsls r3, r5, 1 - adds r2, 0x50 - adds r2, r3 - ldrh r2, [r2] - movs r3, 0x5 - str r3, [sp] - add r4, r8 - ldr r3, [r4] - str r3, [sp, 0x4] - movs r3, 0x3 - bl sub_8012BC4 - adds r0, r5, 0 - bl sub_801CFE0 - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0801CE0A - ldr r0, [r6] - ldr r4, _0801CE4C - adds r0, r4 - adds r1, r7, 0 - bl sub_8013800 - adds r2, r0, 0 - ldr r1, [r6] - movs r3, 0x9D - lsls r3, 3 - adds r0, r1, r3 - ldr r0, [r0] - adds r4, 0x38 - adds r1, r4 - ldr r1, [r1] - movs r4, 0xC - ldrsh r3, [r1, r4] - subs r3, 0x1 - lsls r3, 3 - movs r1, 0xA - str r1, [sp] - movs r1, 0x8 - bl sub_8007B7C -_0801CE0A: - adds r7, 0x1 - ldr r0, [r6] - ldr r1, _0801CE48 - adds r0, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r7, r0 - blt _0801CD50 -_0801CE1A: - ldr r0, _0801CE38 - ldr r0, [r0] - movs r3, 0x9D - lsls r3, 3 - adds r0, r3 - ldr r0, [r0] - bl sub_80073E0 - add sp, 0x58 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801CE38: .4byte gUnknown_203B244 -_0801CE3C: .4byte gUnknown_80DBE6C -_0801CE40: .4byte 0x00000552 -_0801CE44: .4byte 0x000004d2 -_0801CE48: .4byte 0x000004ce -_0801CE4C: .4byte 0x000004b4 -_0801CE50: .4byte 0x000004ec -_0801CE54: .4byte gUnknown_203B460 - thumb_func_end sub_801CCD8 - - thumb_func_start sub_801CE58 -sub_801CE58: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r3, 0 - movs r6, 0x1 - ldr r4, _0801CF0C -_0801CE68: - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0x2 - beq _0801CE92 - ldr r0, _0801CF10 - ldr r0, [r0] - lsls r1, r6, 1 - adds r0, 0x50 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _0801CE9C - lsls r0, r6, 24 - lsrs r0, 24 - str r3, [sp] - bl sub_8091524 - lsls r0, 24 - ldr r3, [sp] - cmp r0, 0 - beq _0801CE9C -_0801CE92: - ldr r0, [r4] - adds r0, 0x4 - adds r0, r3 - strb r6, [r0] - adds r3, 0x1 -_0801CE9C: - adds r6, 0x1 - cmp r6, 0xEF - ble _0801CE68 - movs r6, 0 - subs r0, r3, 0x1 - mov r9, r0 - cmp r6, r9 - bge _0801CEFC -_0801CEAC: - adds r0, r6, 0x1 - mov r8, r0 - mov r5, r8 - cmp r8, r3 - bge _0801CEF6 - ldr r7, _0801CF0C -_0801CEB8: - ldr r0, [r7] - adds r0, 0x4 - adds r0, r6 - ldrb r0, [r0] - str r3, [sp] - bl sub_8090D44 - adds r4, r0, 0 - ldr r0, [r7] - adds r0, 0x4 - adds r0, r5 - ldrb r0, [r0] - bl sub_8090D44 - ldr r3, [sp] - cmp r4, r0 - ble _0801CEF0 - ldr r0, [r7] - adds r0, 0x4 - adds r1, r0, r6 - ldrb r2, [r1] - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x4 - adds r0, r5 - strb r2, [r0] -_0801CEF0: - adds r5, 0x1 - cmp r5, r3 - blt _0801CEB8 -_0801CEF6: - mov r6, r8 - cmp r6, r9 - blt _0801CEAC -_0801CEFC: - adds r0, r3, 0 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801CF0C: .4byte gUnknown_203B244 -_0801CF10: .4byte gUnknown_203B460 - thumb_func_end sub_801CE58 - - thumb_func_start sub_801CF14 -sub_801CF14: - push {r4,lr} - cmp r0, 0x2 - bne _0801CF1E -_0801CF1A: - movs r0, 0 - b _0801CF46 -_0801CF1E: - movs r4, 0x1 -_0801CF20: - ldr r0, _0801CF4C - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x50 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _0801CF3E - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8091524 - lsls r0, 24 - cmp r0, 0 - bne _0801CF1A -_0801CF3E: - adds r4, 0x1 - cmp r4, 0xEF - ble _0801CF20 - movs r0, 0x1 -_0801CF46: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0801CF4C: .4byte gUnknown_203B460 - thumb_func_end sub_801CF14 - - thumb_func_start sub_801CF50 -sub_801CF50: - push {r4,r5,lr} - cmp r0, 0x2 - bne _0801CF5A -_0801CF56: - movs r0, 0 - b _0801CF84 -_0801CF5A: - movs r4, 0x1 - ldr r5, _0801CF8C -_0801CF5E: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8091524 - lsls r0, 24 - cmp r0, 0 - beq _0801CF7C - ldr r0, _0801CF90 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x50 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r5 - bls _0801CF56 -_0801CF7C: - adds r4, 0x1 - cmp r4, 0xEF - ble _0801CF5E - movs r0, 0x1 -_0801CF84: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0801CF8C: .4byte 0x000003e6 -_0801CF90: .4byte gUnknown_203B460 - thumb_func_end sub_801CF50 - - thumb_func_start sub_801CF94 -sub_801CF94: - push {r4,lr} - movs r2, 0 - ldr r4, _0801CFB4 - movs r3, 0 -_0801CF9C: - ldr r0, [r4] - lsls r1, r2, 2 - adds r0, 0xF4 - adds r0, r1 - str r3, [r0] - adds r2, 0x1 - cmp r2, 0xEF - ble _0801CF9C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801CFB4: .4byte gUnknown_203B244 - thumb_func_end sub_801CF94 - - thumb_func_start sub_801CFB8 -sub_801CFB8: - push {lr} - movs r3, 0 - ldr r0, _0801CFDC - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xF4 - movs r2, 0xEF -_0801CFC6: - ldr r0, [r1] - cmp r0, 0 - beq _0801CFCE - adds r3, 0x1 -_0801CFCE: - adds r1, 0x4 - subs r2, 0x1 - cmp r2, 0 - bge _0801CFC6 - adds r0, r3, 0 - pop {r1} - bx r1 - .align 2, 0 -_0801CFDC: .4byte gUnknown_203B244 - thumb_func_end sub_801CFB8 - - thumb_func_start sub_801CFE0 -sub_801CFE0: - lsls r0, 24 - ldr r1, _0801CFF0 - ldr r1, [r1] - lsrs r0, 22 - adds r1, 0xF4 - adds r1, r0 - ldr r0, [r1] - bx lr - .align 2, 0 -_0801CFF0: .4byte gUnknown_203B244 - thumb_func_end sub_801CFE0 - - thumb_func_start sub_801CFF4 -sub_801CFF4: - lsls r0, 24 - ldr r2, _0801D004 - ldr r2, [r2] - lsrs r0, 22 - adds r2, 0xF4 - adds r2, r0 - str r1, [r2] - bx lr - .align 2, 0 -_0801D004: .4byte gUnknown_203B244 - thumb_func_end sub_801CFF4 - - thumb_func_start sub_801D008 -sub_801D008: - ldr r0, _0801D010 - ldr r0, [r0] - bx lr - .align 2, 0 -_0801D010: .4byte gUnknown_203B244 - thumb_func_end sub_801D008 - - thumb_func_start sub_801D014 -sub_801D014: - push {r4,r5,lr} - adds r5, r0, 0 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0801D054 - movs r0, 0x8C - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - adds r2, r0, 0 - str r2, [r4] - ldr r0, _0801D058 - ldr r0, [r0] - str r0, [r2, 0x14] - str r5, [r2] - cmp r5, 0 - beq _0801D088 - movs r3, 0 - ldr r0, _0801D05C - ldr r1, [r0] - adds r4, r0, 0 - cmp r5, r1 - bne _0801D060 - strh r3, [r2, 0x4] - b _0801D08C - .align 2, 0 -_0801D054: .4byte gUnknown_203B250 -_0801D058: .4byte gUnknown_203B254 -_0801D05C: .4byte gUnknown_203B45C -_0801D060: - adds r3, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r3, r0 - bgt _0801D08C - ldr r0, _0801D084 - ldr r2, [r0] - lsls r0, r3, 16 - asrs r0, 16 - movs r1, 0x58 - muls r1, r0 - ldr r0, [r4] - adds r0, r1 - ldr r1, [r2] - cmp r1, r0 - bne _0801D060 - strh r3, [r2, 0x4] - b _0801D08C - .align 2, 0 -_0801D084: .4byte gUnknown_203B250 -_0801D088: - ldr r0, _0801D0C4 - strh r0, [r2, 0x4] -_0801D08C: - bl sub_80A5728 - lsls r0, 16 - asrs r0, 16 - bl sub_8002658 - ldr r4, _0801D0C8 - ldr r1, [r4] - movs r5, 0 - strb r0, [r1, 0x6] - ldr r0, [r4] - strb r5, [r0, 0x8] - ldr r0, [r4] - strb r5, [r0, 0x9] - bl sub_808D33C - ldr r1, [r4] - str r0, [r1, 0xC] - strb r5, [r1, 0x7] - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _0801D0CC - movs r0, 0x5 - bl sub_801D208 - b _0801D0D2 - .align 2, 0 -_0801D0C4: .4byte 0x0000019d -_0801D0C8: .4byte gUnknown_203B250 -_0801D0CC: - movs r0, 0 - bl sub_801D208 -_0801D0D2: - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_801D014 - - thumb_func_start sub_801D0DC -sub_801D0DC: - push {lr} - ldr r0, _0801D0F4 - ldr r0, [r0] - ldr r0, [r0, 0x10] - cmp r0, 0xC - bhi _0801D16C - lsls r0, 2 - ldr r1, _0801D0F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801D0F4: .4byte gUnknown_203B250 -_0801D0F8: .4byte _0801D0FC - .align 2, 0 -_0801D0FC: - .4byte _0801D130 - .4byte _0801D130 - .4byte _0801D16C - .4byte _0801D136 - .4byte _0801D13C - .4byte _0801D142 - .4byte _0801D148 - .4byte _0801D148 - .4byte _0801D14E - .4byte _0801D154 - .4byte _0801D15A - .4byte _0801D160 - .4byte _0801D166 -_0801D130: - bl sub_801D680 - b _0801D170 -_0801D136: - bl sub_801D760 - b _0801D170 -_0801D13C: - bl sub_801D77C - b _0801D170 -_0801D142: - bl sub_801D798 - b _0801D170 -_0801D148: - bl sub_801D7CC - b _0801D170 -_0801D14E: - bl sub_801D808 - b _0801D170 -_0801D154: - bl sub_801D824 - b _0801D170 -_0801D15A: - bl sub_801D840 - b _0801D170 -_0801D160: - bl sub_801D85C - b _0801D170 -_0801D166: - bl sub_801D878 - b _0801D170 -_0801D16C: - movs r0, 0x3 - b _0801D172 -_0801D170: - movs r0, 0 -_0801D172: - pop {r1} - bx r1 - thumb_func_end sub_801D0DC - - thumb_func_start sub_801D178 -sub_801D178: - push {r4,lr} - ldr r0, _0801D188 - ldr r4, [r0] - ldrb r0, [r4, 0x9] - cmp r0, 0 - beq _0801D18C - movs r0, 0x2 - b _0801D1CC - .align 2, 0 -_0801D188: .4byte gUnknown_203B250 -_0801D18C: - ldrb r0, [r4, 0x7] - cmp r0, 0 - beq _0801D196 - movs r0, 0x3 - b _0801D1CC -_0801D196: - ldrb r0, [r4, 0x8] - cmp r0, 0 - beq _0801D1A0 - movs r0, 0x1 - b _0801D1CC -_0801D1A0: - bl sub_808D33C - ldr r1, [r4, 0xC] - cmp r1, r0 - bne _0801D1C6 - movs r0, 0x7 - bl sub_80A7AE8 - lsls r0, 16 - cmp r0, 0 - blt _0801D1CA - bl sub_808D3F8 - ldrh r0, [r0] - lsrs r0, 1 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0801D1CA -_0801D1C6: - movs r0, 0x4 - b _0801D1CC -_0801D1CA: - movs r0, 0 -_0801D1CC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_801D178 - - thumb_func_start sub_801D1D4 -sub_801D1D4: - ldr r0, _0801D1DC - ldr r0, [r0] - ldrb r0, [r0, 0x7] - bx lr - .align 2, 0 -_0801D1DC: .4byte gUnknown_203B250 - thumb_func_end sub_801D1D4 - - thumb_func_start sub_801D1E0 -sub_801D1E0: - push {r4,lr} - ldr r4, _0801D200 - ldr r2, [r4] - cmp r2, 0 - beq _0801D1FA - ldr r0, _0801D204 - ldr r1, [r2, 0x14] - str r1, [r0] - adds r0, r2, 0 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0801D1FA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801D200: .4byte gUnknown_203B250 -_0801D204: .4byte gUnknown_203B254 - thumb_func_end sub_801D1E0 - - thumb_func_start sub_801D208 -sub_801D208: - push {lr} - ldr r1, _0801D21C - ldr r1, [r1] - str r0, [r1, 0x10] - bl sub_801D220 - bl sub_801D3A8 - pop {r0} - bx r0 - .align 2, 0 -_0801D21C: .4byte gUnknown_203B250 - thumb_func_end sub_801D208 - - thumb_func_start sub_801D220 -sub_801D220: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r4, _0801D248 - ldr r0, [r4] - adds r0, 0xB8 - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0, 0x10] - cmp r0, 0 - beq _0801D250 - cmp r0, 0x1 - beq _0801D2C0 - movs r2, 0 - adds r7, r4, 0 - ldr r3, _0801D24C - b _0801D368 - .align 2, 0 -_0801D248: .4byte gUnknown_203B250 -_0801D24C: .4byte gUnknown_80DBE7C -_0801D250: - bl sub_801D4C0 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _0801D290 - adds r7, r4, 0 - ldr r0, _0801D288 - mov r9, r0 - mov r12, r7 - ldr r2, _0801D28C - mov r8, r2 - movs r3, 0 - movs r2, 0x3 -_0801D26C: - mov r4, r12 - ldr r1, [r4] - adds r1, r3 - adds r1, 0xB8 - mov r0, r8 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0801D26C - b _0801D2F6 - .align 2, 0 -_0801D288: .4byte gUnknown_80DBE98 -_0801D28C: .4byte gUnknown_80DBE7C -_0801D290: - adds r7, r4, 0 - mov r8, r7 - ldr r6, _0801D2BC - mov r9, r6 - movs r3, 0 - movs r2, 0x3 -_0801D29C: - mov r0, r8 - ldr r1, [r0] - adds r1, r3 - adds r1, 0xB8 - mov r0, r9 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - movs r0, 0x18 - add r9, r0 - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0801D29C - b _0801D34E - .align 2, 0 -_0801D2BC: .4byte gUnknown_80DBEB0 -_0801D2C0: - bl sub_801D4C0 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _0801D324 - adds r7, r4, 0 - ldr r2, _0801D31C - mov r9, r2 - mov r8, r7 - ldr r3, _0801D320 - mov r12, r3 - movs r3, 0 - movs r2, 0x3 -_0801D2DC: - mov r4, r8 - ldr r1, [r4] - adds r1, r3 - adds r1, 0xB8 - mov r0, r12 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0801D2DC -_0801D2F6: - ldr r1, [r7] - adds r1, 0xB8 - mov r0, r9 - ldm r0!, {r2,r5,r6} - stm r1!, {r2,r5,r6} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0xB8 - adds r1, 0x68 - bl sub_8012CAC - ldr r0, [r7] - adds r0, 0xC4 - movs r1, 0x9 - strh r1, [r0] - b _0801D384 - .align 2, 0 -_0801D31C: .4byte gUnknown_80DBE98 -_0801D320: .4byte gUnknown_80DBE7C -_0801D324: - adds r7, r4, 0 - mov r8, r7 - ldr r6, _0801D364 - mov r9, r6 - movs r3, 0 - movs r2, 0x3 -_0801D330: - mov r0, r8 - ldr r1, [r0] - adds r1, r3 - adds r1, 0xB8 - mov r0, r9 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - movs r0, 0x18 - add r9, r0 - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0801D330 -_0801D34E: - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0xB8 - adds r1, 0x68 - bl sub_8012CAC - ldr r0, [r7] - adds r0, 0xC4 - movs r1, 0x8 - strh r1, [r0] - b _0801D384 - .align 2, 0 -_0801D364: .4byte gUnknown_80DBEB0 -_0801D368: - ldr r0, [r7] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 3 - adds r0, r1 - adds r0, 0xB8 - adds r1, r3, 0 - ldm r1!, {r4-r6} - stm r0!, {r4-r6} - ldm r1!, {r4-r6} - stm r0!, {r4-r6} - adds r2, 0x1 - cmp r2, 0x3 - ble _0801D368 -_0801D384: - bl ResetUnusedInputStruct - ldr r0, _0801D3A4 - ldr r0, [r0] - adds r0, 0xB8 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801D3A4: .4byte gUnknown_203B250 - thumb_func_end sub_801D220 - - thumb_func_start sub_801D3A8 -sub_801D3A8: - push {r4-r6,lr} - sub sp, 0x8 - ldr r1, _0801D3C4 - ldr r0, [r1] - ldr r0, [r0, 0x10] - adds r6, r1, 0 - cmp r0, 0xC - bls _0801D3BA - b _0801D4B6 -_0801D3BA: - lsls r0, 2 - ldr r1, _0801D3C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801D3C4: .4byte gUnknown_203B250 -_0801D3C8: .4byte _0801D3CC - .align 2, 0 -_0801D3CC: - .4byte _0801D400 - .4byte _0801D400 - .4byte _0801D4B6 - .4byte _0801D458 - .4byte _0801D462 - .4byte _0801D468 - .4byte _0801D472 - .4byte _0801D47A - .4byte _0801D482 - .4byte _0801D490 - .4byte _0801D49C - .4byte _0801D4AA - .4byte _0801D4B2 -_0801D400: - ldr r0, [r6] - ldr r5, [r0] - cmp r5, 0 - beq _0801D438 - ldr r4, _0801D434 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x7 - bl sub_808D9AC - ldr r2, [r6] - str r4, [r2, 0x18] - adds r0, r2, 0 - adds r0, 0x18 - adds r1, r2, 0 - adds r1, 0x68 - adds r3, r2, 0 - adds r3, 0xA8 - ldr r2, [r2, 0x14] - str r2, [sp] - movs r2, 0 - str r2, [sp, 0x4] - bl sub_8012D60 - b _0801D4B6 - .align 2, 0 -_0801D434: .4byte gAvailablePokemonNames -_0801D438: - bl sub_801D894 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x18 - adds r1, r2, 0 - adds r1, 0x68 - adds r3, r2, 0 - adds r3, 0xA8 - ldr r2, [r2, 0x14] - str r2, [sp] - str r5, [sp, 0x4] - movs r2, 0 - bl sub_8012D60 - b _0801D4B6 -_0801D458: - ldr r0, [r6] - ldr r0, [r0] - bl sub_80227B8 - b _0801D4B6 -_0801D462: - bl sub_8027074 - b _0801D4B6 -_0801D468: - ldr r0, [r6] - ldr r0, [r0] - bl sub_8025EF4 - b _0801D4B6 -_0801D472: - movs r0, 0 - bl sub_80252F0 - b _0801D4B6 -_0801D47A: - movs r0, 0x1 - bl sub_80252F0 - b _0801D4B6 -_0801D482: - ldr r0, [r6] - movs r1, 0x4 - ldrsh r0, [r0, r1] - movs r1, 0x2 - bl sub_8024458 - b _0801D4B6 -_0801D490: - ldr r0, [r6] - movs r1, 0x4 - ldrsh r0, [r0, r1] - bl sub_801BEEC - b _0801D4B6 -_0801D49C: - ldr r0, [r6] - ldrb r0, [r0, 0x6] - movs r1, 0x1 - movs r2, 0x2 - bl sub_8021774 - b _0801D4B6 -_0801D4AA: - movs r0, 0 - bl sub_802C860 - b _0801D4B6 -_0801D4B2: - bl sub_801DCC4 -_0801D4B6: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_801D3A8 - - thumb_func_start sub_801D4C0 -sub_801D4C0: - push {r4-r7,lr} - movs r6, 0 - ldr r4, _0801D554 - ldr r0, [r4] - adds r0, 0xA8 - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r0, [r4] - ldrb r0, [r0, 0x6] - cmp r0, 0 - bne _0801D568 - bl sub_8096E2C - lsls r0, 24 - cmp r0, 0 - beq _0801D534 - ldr r1, [r4] - movs r0, 0x2 - str r0, [r1, 0x6C] - ldr r0, _0801D558 - str r0, [r1, 0x68] - bl sub_8090A34 - cmp r0, 0 - bne _0801D4FE - ldr r0, [r4] - adds r0, 0xA8 - movs r1, 0x1 - strh r1, [r0] -_0801D4FE: - ldr r1, [r4] - ldr r0, _0801D55C - str r0, [r1, 0x70] - movs r0, 0x4 - str r0, [r1, 0x74] - movs r6, 0x2 - movs r0, 0x2 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _0801D534 - ldr r1, [r4] - ldr r0, _0801D560 - str r0, [r1, 0x78] - movs r0, 0x9 - str r0, [r1, 0x7C] - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - beq _0801D532 - ldr r0, [r4] - adds r0, 0xAC - movs r1, 0x1 - strh r1, [r0] -_0801D532: - movs r6, 0x3 -_0801D534: - ldr r4, _0801D554 - ldr r2, [r4] - lsls r3, r6, 3 - adds r0, r2, 0 - adds r0, 0x68 - adds r0, r3 - ldr r1, _0801D564 - str r1, [r0] - adds r2, 0x6C - adds r2, r3 - movs r0, 0xB - str r0, [r2] - adds r6, 0x1 - adds r7, r4, 0 - b _0801D5E6 - .align 2, 0 -_0801D554: .4byte gUnknown_203B250 -_0801D558: .4byte gMenuItems -_0801D55C: .4byte gMenuTeam -_0801D560: .4byte gMenuJobList -_0801D564: .4byte gMenuOthers -_0801D568: - ldr r0, _0801D63C - ldr r1, _0801D640 - bl strcpy - bl sub_8096E2C - lsls r0, 24 - cmp r0, 0 - beq _0801D5B6 - ldr r1, [r4] - ldr r0, _0801D644 - ldr r0, [r0] - str r0, [r1, 0x68] - movs r0, 0x5 - str r0, [r1, 0x6C] - movs r0, 0x4 - bl sub_8024108 - lsls r0, 24 - cmp r0, 0 - beq _0801D59A - ldr r0, [r4] - adds r0, 0xA8 - movs r1, 0x1 - strh r1, [r0] -_0801D59A: - movs r6, 0x1 - ldr r1, [r4] - movs r0, 0x2 - str r0, [r1, 0x74] - ldr r0, _0801D648 - str r0, [r1, 0x70] - bl sub_8090A34 - cmp r0, 0 - bne _0801D5B4 - ldr r0, [r4] - adds r0, 0xAA - strh r6, [r0] -_0801D5B4: - movs r6, 0x2 -_0801D5B6: - ldr r5, _0801D64C - ldr r1, [r5] - lsls r2, r6, 3 - adds r3, r1, 0 - adds r3, 0x68 - adds r4, r3, r2 - ldr r0, _0801D650 - ldr r0, [r0] - str r0, [r4] - adds r1, 0x6C - adds r2, r1, r2 - movs r0, 0x8 - str r0, [r2] - adds r6, 0x1 - lsls r2, r6, 3 - adds r3, r2 - ldr r0, _0801D654 - ldr r0, [r0] - str r0, [r3] - adds r1, r2 - movs r0, 0xA - str r0, [r1] - adds r6, 0x1 - adds r7, r5, 0 -_0801D5E6: - ldr r4, [r7] - lsls r2, r6, 3 - adds r0, r4, 0 - adds r0, 0x68 - adds r0, r2 - movs r1, 0 - str r1, [r0] - adds r1, r4, 0 - adds r1, 0x6C - adds r2, r1, r2 - movs r0, 0x1 - str r0, [r2] - movs r3, 0 - cmp r3, r6 - bge _0801D622 - adds r5, r4, 0 - adds r4, 0xA8 - adds r2, r1, 0 -_0801D60A: - ldrh r0, [r4] - cmp r0, 0 - bne _0801D618 - ldr r1, [r2] - ldr r0, [r5, 0x14] - cmp r1, r0 - beq _0801D67A -_0801D618: - adds r4, 0x2 - adds r2, 0x8 - adds r3, 0x1 - cmp r3, r6 - blt _0801D60A -_0801D622: - movs r3, 0 - cmp r3, r6 - bge _0801D67A - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0xA8 - ldrh r0, [r0] - cmp r0, 0 - bne _0801D658 - ldr r0, [r1, 0x6C] - str r0, [r1, 0x14] - b _0801D67A - .align 2, 0 -_0801D63C: .4byte gAvailablePokemonNames -_0801D640: .4byte gUnknown_80DBF34 -_0801D644: .4byte gUnknown_80D49A8 -_0801D648: .4byte gMenuItems -_0801D64C: .4byte gUnknown_203B250 -_0801D650: .4byte gUnknown_80D4970 -_0801D654: .4byte gUnknown_80D49B4 -_0801D658: - adds r3, 0x1 - cmp r3, r6 - bge _0801D67A - ldr r2, [r7] - lsls r0, r3, 1 - adds r1, r2, 0 - adds r1, 0xA8 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _0801D658 - lsls r0, r3, 3 - adds r1, r2, 0 - adds r1, 0x6C - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x14] -_0801D67A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_801D4C0 .align 2, 0 @ Don't pad with nop. diff --git a/asm/code_801D760.s b/asm/code_801D760.s index e52bae8..a93ed64 100644 --- a/asm/code_801D760.s +++ b/asm/code_801D760.s @@ -2517,7 +2517,7 @@ _0801ED6C: b _0801ED9A _0801ED74: ldr r0, _0801ED90 - bl sub_8011988 + bl PlaySound ldr r1, [r4] ldr r0, [r1, 0x20] ldr r1, [r1, 0x10] @@ -2735,7 +2735,7 @@ _0801EED8: bx r1 .align 2, 0 _0801EF28: .4byte gUnknown_203B270 -_0801EF2C: .4byte gUnknown_203B45C +_0801EF2C: .4byte gRecruitedPokemonRef _0801EF30: .4byte gUnknown_80DC25C _0801EF34: .4byte gUnknown_80DC274 thumb_func_end sub_801EE10 @@ -2923,7 +2923,7 @@ _0801F074: strb r7, [r1, 0x4] movs r0, 0xA6 lsls r0, 1 - bl sub_8011988 + bl PlaySound b _0801F12E .align 2, 0 _0801F0C8: .4byte gUnknown_203B270 @@ -3478,7 +3478,7 @@ sub_801F428: bx r1 .align 2, 0 _0801F50C: .4byte gUnknown_203B274 -_0801F510: .4byte gUnknown_203B45C +_0801F510: .4byte gRecruitedPokemonRef _0801F514: .4byte gUnknown_80DC2C4 _0801F518: .4byte 0x000003e5 _0801F51C: .4byte 0x000003e6 @@ -4308,11 +4308,11 @@ sub_801FB50: ldr r0, _0801FBC4 ldr r4, _0801FBC8 adds r1, r4, 0 - bl sub_808D8E0 + bl CopyYellowSpeciesNametoBuffer ldr r5, _0801FBCC adds r0, r5, 0 adds r1, r4, 0 - bl sub_808D8E0 + bl CopyYellowSpeciesNametoBuffer adds r0, r4, 0 bl GetMonSpecies adds r1, r0, 0 @@ -6212,7 +6212,7 @@ _08020AB0: b _08020B32 .align 2, 0 _08020AE0: .4byte gUnknown_203B27C -_08020AE4: .4byte gUnknown_203B45C +_08020AE4: .4byte gRecruitedPokemonRef _08020AE8: .4byte gUnknown_202E128 _08020AEC: bl sub_8023B44 @@ -6238,7 +6238,7 @@ _08020AEC: b _08020B32 .align 2, 0 _08020B1C: .4byte gUnknown_203B27C -_08020B20: .4byte gUnknown_203B45C +_08020B20: .4byte gRecruitedPokemonRef _08020B24: .4byte gUnknown_202E128 _08020B28: bl sub_8023C60 @@ -6751,7 +6751,7 @@ _08020F44: cmp r0, 0 beq _08020F68 ldr r0, _08020F64 - bl sub_8011988 + bl PlaySound b _08021068 .align 2, 0 _08020F60: .4byte gUnknown_203B27C @@ -6762,7 +6762,7 @@ _08020F68: b _08021068 _08020F70: ldr r0, _08020F84 - bl sub_8011988 + bl PlaySound ldr r0, _08020F88 ldr r1, [r0] ldr r0, [r1, 0x18] @@ -6782,7 +6782,7 @@ _08020F8C: cmp r0, 0 beq _08020FB0 ldr r0, _08020FAC - bl sub_8011988 + bl PlaySound b _08021068 .align 2, 0 _08020FA8: .4byte gUnknown_203B27C @@ -6832,11 +6832,11 @@ _08021000: strb r0, [r1, 0x15] movs r0, 0xA6 lsls r0, 1 - bl sub_8011988 + bl PlaySound b _0802101C _08021016: ldr r0, _0802102C - bl sub_8011988 + bl PlaySound _0802101C: ldr r0, _08021030 ldr r1, [r0] @@ -6865,7 +6865,7 @@ _08021034: _08021054: .4byte gUnknown_203B27C _08021058: ldr r0, _08021070 - bl sub_8011988 + bl PlaySound ldr r1, [r4] ldr r0, [r1, 0x18] adds r1, 0x24 @@ -6894,7 +6894,7 @@ _08021074: _08021094: .4byte gUnknown_203B27C _08021098: ldr r0, _080210B4 - bl sub_8011988 + bl PlaySound ldr r1, [r4] ldr r0, [r1, 0x18] adds r1, 0x24 @@ -8271,7 +8271,7 @@ _08021B3C: .align 2, 0 _08021B4C: .4byte gUnknown_203B28C _08021B50: .4byte 0x000001a7 -_08021B54: .4byte gUnknown_203B45C +_08021B54: .4byte gRecruitedPokemonRef thumb_func_end sub_8021A60 thumb_func_start sub_8021B58 @@ -8314,8 +8314,8 @@ _08021B94: bx r1 thumb_func_end sub_8021B58 - thumb_func_start sub_8021B9C -sub_8021B9C: + thumb_func_start CreateWigglytuffShop +CreateWigglytuffShop: push {r4-r6,lr} adds r4, r0, 0 bl ResetUnusedInputStruct @@ -8335,11 +8335,11 @@ sub_8021B9C: str r4, [r0] ldr r0, _08021BFC movs r1, 0x28 - bl sub_808D8E0 + bl CopyYellowSpeciesNametoBuffer ldr r4, _08021C00 adds r0, r4, 0 movs r1, 0x28 - bl sub_808D8E0 + bl CopyYellowSpeciesNametoBuffer movs r0, 0x28 bl GetMonSpecies adds r1, r0, 0 @@ -8401,7 +8401,7 @@ _08021C0E: bx r1 .align 2, 0 _08021C58: .4byte gUnknown_203B290 - thumb_func_end sub_8021B9C + thumb_func_end CreateWigglytuffShop thumb_func_start sub_8021C5C sub_8021C5C: @@ -8510,7 +8510,7 @@ sub_8021D44: ldr r1, [r1] str r0, [r1, 0x4] bl sub_8021D5C - bl sub_8021E0C + bl UpdateWigglytuffDialogue pop {r0} bx r0 .align 2, 0 @@ -8607,8 +8607,8 @@ _08021E04: .4byte gUnknown_203B290 _08021E08: .4byte gUnknown_80DC534 thumb_func_end sub_8021D5C - thumb_func_start sub_8021E0C -sub_8021E0C: + thumb_func_start UpdateWigglytuffDialogue +UpdateWigglytuffDialogue: push {r4,lr} sub sp, 0x20 ldr r1, _08021E28 @@ -8922,7 +8922,7 @@ _080220B8: movs r0, 0xE str r0, [r1, 0x8] ldr r0, _080220D4 - bl sub_8011988 + bl PlaySound ldr r0, [r4] movs r1, 0x98 lsls r1, 1 @@ -8962,7 +8962,7 @@ _08022108: _0802210E: str r0, [r1, 0x8] movs r0, 0xCE - bl sub_8011988 + bl PlaySound ldr r3, _08022134 ldr r0, _08022130 ldr r2, [r0] @@ -9183,7 +9183,7 @@ _080222B6: .align 2, 0 _080222C0: .4byte gWigglytuffDialogue _080222C4: .4byte 0x0000010d - thumb_func_end sub_8021E0C + thumb_func_end UpdateWigglytuffDialogue thumb_func_start sub_80222C8 sub_80222C8: @@ -9495,7 +9495,7 @@ _080224F8: bl UnlockFriendArea movs r0, 0xA6 lsls r0, 1 - bl sub_8011988 + bl PlaySound movs r0, 0xC bl sub_8021D44 b _08022532 @@ -10333,7 +10333,7 @@ _08022BCE: ldr r0, _08022C18 bl strcpy movs r0, 0xCB - bl sub_8011988 + bl PlaySound ldr r0, _08022C1C movs r1, 0 movs r2, 0 @@ -10534,7 +10534,7 @@ _08022D80: adds r0, r2, 0 adds r0, 0x52 ldrb r0, [r0] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 @@ -11542,7 +11542,7 @@ _08023532: _08023594: adds r0, r5, 0 movs r1, 0 - bl sub_808DCA0 + bl GetDexInternalNo lsls r0, 16 asrs r4, r0, 16 adds r0, r4, 0 @@ -11794,12 +11794,12 @@ _08023788: ldrsh r0, [r6, r1] movs r1, 0x1 str r2, [sp] - bl sub_808DCDC + bl GetAlphabetParentNo adds r4, r0, 0 movs r1, 0 ldrsh r0, [r5, r1] movs r1, 0x1 - bl sub_808DCDC + bl GetAlphabetParentNo lsls r4, 16 lsls r0, 16 ldr r2, [sp] @@ -11868,12 +11868,12 @@ _08023810: ldrsh r0, [r6, r1] movs r1, 0 str r2, [sp] - bl sub_808DCDC + bl GetAlphabetParentNo adds r4, r0, 0 movs r1, 0 ldrsh r0, [r5, r1] movs r1, 0 - bl sub_808DCDC + bl GetAlphabetParentNo lsls r4, 16 lsls r0, 16 ldr r2, [sp] @@ -12413,7 +12413,7 @@ _08023C4A: bx r1 .align 2, 0 _08023C58: .4byte gUnknown_3001B60 -_08023C5C: .4byte gUnknown_203B45C +_08023C5C: .4byte gRecruitedPokemonRef thumb_func_end sub_8023BD8 thumb_func_start sub_8023C60 @@ -12725,7 +12725,7 @@ _08023EC0: .4byte 0x000003f6 _08023EC4: .4byte 0x00000376 _08023EC8: .4byte gUnknown_3001B60 _08023ECC: .4byte 0x00000372 -_08023ED0: .4byte gUnknown_203B45C +_08023ED0: .4byte gRecruitedPokemonRef _08023ED4: ldrb r0, [r3, 0x18] cmp r0, 0 @@ -12853,7 +12853,7 @@ _08023FA2: b _08023FE2 .align 2, 0 _08023FD0: .4byte gUnknown_3001B60 -_08023FD4: .4byte gUnknown_203B45C +_08023FD4: .4byte gRecruitedPokemonRef _08023FD8: adds r4, 0x1 movs r0, 0xCE @@ -12905,7 +12905,7 @@ _08024002: str r1, [r3, 0x8] b _08024042 .align 2, 0 -_08024034: .4byte gUnknown_203B45C +_08024034: .4byte gRecruitedPokemonRef _08024038: adds r4, 0x1 movs r0, 0xCE @@ -13014,7 +13014,7 @@ _080240EE: pop {r1} bx r1 .align 2, 0 -_08024100: .4byte gUnknown_203B45C +_08024100: .4byte gRecruitedPokemonRef _08024104: .4byte gUnknown_3001B60 thumb_func_end sub_8023F8C @@ -13044,7 +13044,7 @@ _08024110: beq _08024172 b _0802416E .align 2, 0 -_08024134: .4byte gUnknown_203B45C +_08024134: .4byte gRecruitedPokemonRef _08024138: cmp r5, 0x3 bne _08024140 @@ -13225,7 +13225,7 @@ _0802425E: movs r3, 0x8 ldrsh r0, [r1, r3] str r2, [sp, 0x8] - bl sub_808DCFC + bl GetInternalNo adds r4, r0, 0 mov r0, r9 ldr r1, [r0] @@ -13237,7 +13237,7 @@ _0802425E: adds r1, r0 movs r3, 0x8 ldrsh r0, [r1, r3] - bl sub_808DCFC + bl GetInternalNo lsls r4, 16 lsls r0, 16 ldr r2, [sp, 0x8] @@ -13269,7 +13269,7 @@ _080242B8: bx r0 .align 2, 0 _080242C8: .4byte gUnknown_3001B60 -_080242CC: .4byte gUnknown_203B45C +_080242CC: .4byte gRecruitedPokemonRef thumb_func_end sub_8024228 thumb_func_start sub_80242D0 @@ -13316,7 +13316,7 @@ _08024306: ldrsh r0, [r1, r3] movs r1, 0 str r2, [sp, 0x8] - bl sub_808DCDC + bl GetAlphabetParentNo adds r4, r0, 0 mov r0, r9 ldr r1, [r0] @@ -13329,7 +13329,7 @@ _08024306: movs r3, 0x8 ldrsh r0, [r1, r3] movs r1, 0 - bl sub_808DCDC + bl GetAlphabetParentNo lsls r4, 16 lsls r0, 16 ldr r2, [sp, 0x8] @@ -13361,7 +13361,7 @@ _08024364: bx r0 .align 2, 0 _08024374: .4byte gUnknown_3001B60 -_08024378: .4byte gUnknown_203B45C +_08024378: .4byte gRecruitedPokemonRef thumb_func_end sub_80242D0 thumb_func_start sub_802437C @@ -13474,7 +13474,7 @@ sub_80243E8: pop {r1} bx r1 .align 2, 0 -_08024448: .4byte gUnknown_203B45C +_08024448: .4byte gRecruitedPokemonRef _0802444C: .4byte gUnknown_3001B60 _08024450: .4byte 0x00000376 _08024454: .4byte gUnknown_80DC9A4 @@ -13739,7 +13739,7 @@ sub_8024604: bx r0 .align 2, 0 _08024654: .4byte gUnknown_203B2AC -_08024658: .4byte gUnknown_203B45C +_08024658: .4byte gRecruitedPokemonRef thumb_func_end sub_8024604 thumb_func_start sub_802465C @@ -14309,7 +14309,7 @@ _08024B38: _08024B3A: str r0, [r1, 0x24] movs r0, 0x3C - bl sub_8011930 + bl xxx_call_fade_out_bgm ldr r0, _08024B48 b _08024CAE .align 2, 0 @@ -14321,7 +14321,7 @@ _08024B4C: movs r2, 0x5 bl sub_808D9AC ldr r0, _08024B6C - bl sub_8011988 + bl PlaySound ldr r1, [r5] movs r0, 0x13 str r0, [r1, 0x24] @@ -14377,7 +14377,7 @@ _08024BD6: ldr r0, _08024C14 bl sub_801199C movs r0, 0xD2 - bl sub_8011988 + bl PlaySound ldr r1, [r5] ldrb r0, [r1, 0x10] cmp r0, 0 @@ -15295,7 +15295,7 @@ _080252D0: movs r0, 0 b _080252EA .align 2, 0 -_080252E0: .4byte gUnknown_203B45C +_080252E0: .4byte gRecruitedPokemonRef _080252E4: .4byte 0x0000019d _080252E8: movs r0, 0x1 @@ -15765,7 +15765,7 @@ _080256A8: movs r0, 0x1 str r0, [r1, 0x8] movs r0, 0xCF - bl sub_8011988 + bl PlaySound ldr r0, _080256C4 _080256B6: ldr r3, _080256C8 @@ -15907,7 +15907,7 @@ _080257A0: adds r6, 0x1 b _08025810 .align 2, 0 -_080257CC: .4byte gUnknown_203B45C +_080257CC: .4byte gRecruitedPokemonRef _080257D0: .4byte gUnknown_203B2B4 _080257D4: .4byte gUnknown_80DD2B0 _080257D8: .4byte gUnknown_80DD2B8 @@ -16219,7 +16219,7 @@ _08025A0C: b _08025A7E .align 2, 0 _08025A38: .4byte gUnknown_203B2B4 -_08025A3C: .4byte gUnknown_203B45C +_08025A3C: .4byte gRecruitedPokemonRef _08025A40: bl sub_8023B44 ldr r1, _08025A6C @@ -16242,7 +16242,7 @@ _08025A40: b _08025A7E .align 2, 0 _08025A6C: .4byte gUnknown_203B2B4 -_08025A70: .4byte gUnknown_203B45C +_08025A70: .4byte gRecruitedPokemonRef _08025A74: bl sub_8023C60 movs r0, 0x13 @@ -16324,7 +16324,7 @@ _08025B20: b _08025BC2 _08025B28: ldr r0, _08025B68 - bl sub_8011988 + bl PlaySound ldr r4, _08025B6C ldr r1, [r4] ldrb r0, [r1, 0x18] @@ -16547,7 +16547,7 @@ _08025CF8: bne _08025D88 movs r6, 0x8 ldr r0, _08025D68 - bl sub_8011988 + bl PlaySound ldr r5, _08025D6C ldr r0, [r5] ldr r0, [r0, 0x10] @@ -16819,7 +16819,7 @@ sub_8025EF4: b _08025F48 .align 2, 0 _08025F1C: .4byte gUnknown_203B2B8 -_08025F20: .4byte gUnknown_203B45C +_08025F20: .4byte gRecruitedPokemonRef _08025F24: adds r5, 0x1 movs r0, 0xCE @@ -16853,7 +16853,7 @@ _08025F48: bx r1 .align 2, 0 _08025F60: .4byte gUnknown_203B2B8 -_08025F64: .4byte gUnknown_203B45C +_08025F64: .4byte gRecruitedPokemonRef thumb_func_end sub_8025EF4 thumb_func_start sub_8025F68 @@ -17393,7 +17393,7 @@ _080263F8: movs r0, 0x19 str r0, [r1, 0x4] movs r0, 0xCF - bl sub_8011988 + bl PlaySound ldr r0, _08026408 b _08026492 .align 2, 0 @@ -17403,7 +17403,7 @@ _0802640C: movs r0, 0x19 str r0, [r1, 0x4] movs r0, 0xCF - bl sub_8011988 + bl PlaySound ldr r0, _0802641C b _08026492 .align 2, 0 @@ -17413,7 +17413,7 @@ _08026420: movs r0, 0x19 str r0, [r1, 0x4] movs r0, 0xCC - bl sub_8011988 + bl PlaySound ldr r0, _08026430 b _08026492 .align 2, 0 @@ -17423,7 +17423,7 @@ _08026434: movs r0, 0x9 str r0, [r1, 0x4] movs r0, 0xCA - bl sub_8011988 + bl PlaySound ldr r0, _08026444 b _08026492 .align 2, 0 @@ -17577,7 +17577,7 @@ _08026542: movs r6, 0x2 b _080265B4 .align 2, 0 -_08026574: .4byte gUnknown_203B45C +_08026574: .4byte gRecruitedPokemonRef _08026578: .4byte gUnknown_203B2B8 _0802657C: .4byte gUnknown_80DD664 _08026580: .4byte gUnknown_80DD670 @@ -18089,7 +18089,7 @@ _08026976: b _08026A6E .align 2, 0 _08026984: .4byte gUnknown_203B2B8 -_08026988: .4byte gUnknown_203B45C +_08026988: .4byte gRecruitedPokemonRef _0802698C: ldr r0, _080269AC ldr r0, [r0] @@ -18130,7 +18130,7 @@ _080269DA: bl sub_8026074 b _08026A6E .align 2, 0 -_080269E8: .4byte gUnknown_203B45C +_080269E8: .4byte gRecruitedPokemonRef _080269EC: .4byte gUnknown_203B2B8 _080269F0: movs r0, 0xC @@ -18150,7 +18150,7 @@ _08026A08: b _08026A6E _08026A10: ldr r0, _08026A50 - bl sub_8011988 + bl PlaySound ldr r4, _08026A54 ldr r1, [r4] ldrb r0, [r1, 0x14] @@ -18450,7 +18450,7 @@ _08026C58: bne _08026CE8 movs r6, 0xF ldr r0, _08026CC8 - bl sub_8011988 + bl PlaySound ldr r5, _08026CCC ldr r0, [r5] ldr r0, [r0, 0xC] @@ -18885,7 +18885,7 @@ sub_8026FA4: _08026FC0: .4byte gUnknown_203B2B8 _08026FC4: ldr r0, _08026FF4 - bl sub_8011988 + bl PlaySound ldr r0, [r4] adds r0, 0x14 bl sub_8091274 @@ -18907,7 +18907,7 @@ _08026FC4: _08026FF4: .4byte 0x0000014d _08026FF8: ldr r0, _08027024 - bl sub_8011988 + bl PlaySound ldr r0, [r4] ldrb r0, [r0, 0x14] bl sub_8090A60 @@ -19505,7 +19505,7 @@ _080274B6: str r2, [r0] b _08027550 .align 2, 0 -_080274E4: .4byte gUnknown_203B45C +_080274E4: .4byte gRecruitedPokemonRef _080274E8: .4byte gUnknown_203B2BC _080274EC: .4byte gFriendActionStandby _080274F0: .4byte gFriendActionMakeLeader @@ -19949,7 +19949,7 @@ _0802782C: b _080278AE .align 2, 0 _08027860: .4byte gUnknown_203B2BC -_08027864: .4byte gUnknown_203B45C +_08027864: .4byte gRecruitedPokemonRef _08027868: bl sub_8023B44 ldr r4, _0802789C @@ -19975,7 +19975,7 @@ _08027868: b _080278AE .align 2, 0 _0802789C: .4byte gUnknown_203B2BC -_080278A0: .4byte gUnknown_203B45C +_080278A0: .4byte gRecruitedPokemonRef _080278A4: bl sub_8023C60 movs r0, 0x11 @@ -20065,7 +20065,7 @@ _0802795E: b _08027A0E .align 2, 0 _08027964: .4byte gUnknown_203B2BC -_08027968: .4byte gUnknown_203B45C +_08027968: .4byte gRecruitedPokemonRef _0802796C: ldr r0, _08027984 ldr r0, [r0] @@ -20102,7 +20102,7 @@ _080279B2: bl sub_808ED00 b _08027A0E .align 2, 0 -_080279B8: .4byte gUnknown_203B45C +_080279B8: .4byte gRecruitedPokemonRef _080279BC: .4byte gUnknown_203B2BC _080279C0: movs r0, 0x8 @@ -20118,7 +20118,7 @@ _080279D0: b _08027A36 _080279D8: ldr r0, _08027A18 - bl sub_8011988 + bl PlaySound ldr r4, _08027A1C ldr r1, [r4] ldrb r0, [r1, 0x14] @@ -20412,7 +20412,7 @@ _08027C1C: cmp r0, 0xA bne _08027C7C ldr r0, _08027C60 - bl sub_8011988 + bl PlaySound ldr r4, _08027C64 ldr r0, [r4] ldr r0, [r0, 0xC] diff --git a/asm/code_8027C84.s b/asm/code_8027C84.s index 992a53c..c007807 100644 --- a/asm/code_8027C84.s +++ b/asm/code_8027C84.s @@ -306,7 +306,7 @@ sub_8027EB8: _08027ED4: .4byte gUnknown_203B2BC _08027ED8: ldr r0, _08027F08 - bl sub_8011988 + bl PlaySound ldr r0, [r4] adds r0, 0x14 bl sub_8091274 @@ -328,7 +328,7 @@ _08027ED8: _08027F08: .4byte 0x0000014d _08027F0C: ldr r0, _08027F38 - bl sub_8011988 + bl PlaySound ldr r0, [r4] ldrb r0, [r0, 0x14] bl sub_8090A60 diff --git a/asm/code_802B640.s b/asm/code_802B640.s index 9834118..683a582 100644 --- a/asm/code_802B640.s +++ b/asm/code_802B640.s @@ -2913,7 +2913,7 @@ _0802CCBC: .4byte _0802CD20 _0802CCD8: ldr r0, _0802CCEC - bl sub_8011988 + bl PlaySound ldr r0, _0802CCF0 ldr r0, [r0] ldrb r0, [r0, 0xC] @@ -2925,7 +2925,7 @@ _0802CCEC: .4byte 0x00000133 _0802CCF0: .4byte gUnknown_203B2F0 _0802CCF4: ldr r0, _0802CD10 - bl sub_8011988 + bl PlaySound ldr r0, _0802CD14 ldr r0, [r0] ldrb r0, [r0, 0xC] diff --git a/asm/code_803B050.s b/asm/code_803B050.s index 924116d..08f7710 100644 --- a/asm/code_803B050.s +++ b/asm/code_803B050.s @@ -1279,17 +1279,17 @@ _0803BA34: ldr r2, _0803BA38 b _0803BAFA .align 2, 0 -_0803BA38: .4byte gUnknown_80E88A0 +_0803BA38: .4byte gMankeyMissionDescription _0803BA3C: ldr r2, _0803BA40 b _0803BAFA .align 2, 0 -_0803BA40: .4byte gUnknown_80E88C8 +_0803BA40: .4byte gSmeargleMissionDescription _0803BA44: ldr r2, _0803BA48 b _0803BAFA .align 2, 0 -_0803BA48: .4byte gUnknown_80E8920 +_0803BA48: .4byte gMedichamMissionDescription _0803BA4C: ldr r4, _0803BA64 ldrb r1, [r7, 0x14] diff --git a/asm/code_803C1D0.s b/asm/code_803C1D0.s index c40c6f7..81cd652 100644 --- a/asm/code_803C1D0.s +++ b/asm/code_803C1D0.s @@ -220,7 +220,7 @@ _0803C35A: movs r0, 0xC ldrsh r1, [r6, r0] adds r0, r4, 0 - bl sub_808D8E0 + bl CopyYellowSpeciesNametoBuffer ldrh r0, [r6, 0xC] strh r0, [r4, 0x14] ldrb r1, [r6, 0x1] diff --git a/asm/code_803D110.s b/asm/code_803D110.s index daeaf51..cc94445 100644 --- a/asm/code_803D110.s +++ b/asm/code_803D110.s @@ -894,7 +894,7 @@ _0803D7AE: adds r0, r5, 0 str r1, [sp] str r2, [sp, 0x4] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 ldr r1, [sp] diff --git a/asm/code_8040094.s b/asm/code_8040094.s index b81ce2f..36986ea 100644 --- a/asm/code_8040094.s +++ b/asm/code_8040094.s @@ -1782,7 +1782,7 @@ _08040EF0: beq _08040F2A lsls r0, r1, 16 lsrs r0, 16 - bl sub_8083E38 + bl PlaySoundEffect _08040F2A: ldr r1, [sp, 0x18] cmp r1, 0x63 diff --git a/asm/code_8041AD0.s b/asm/code_8041AD0.s index b5e37a1..be5dbe3 100644 --- a/asm/code_8041AD0.s +++ b/asm/code_8041AD0.s @@ -554,7 +554,7 @@ _08042694: subs r4, 0x1 _080426AC: adds r0, r4, 0 - bl sub_8083E38 + bl PlaySoundEffect pop {r4} pop {r0} bx r0 @@ -581,7 +581,7 @@ _080426D8: lsls r1, r4, 1 adds r1, r0 ldrh r0, [r1] - bl sub_8083E38 + bl PlaySoundEffect b _080426FC .align 2, 0 _080426EC: .4byte gUnknown_80F67DC @@ -590,7 +590,7 @@ _080426F0: lsls r1, r4, 1 adds r1, r0 ldrh r0, [r1] - bl sub_8083E38 + bl PlaySoundEffect _080426FC: adds r0, r5, 0 adds r1, r4, 0 diff --git a/asm/code_80428A0.s b/asm/code_80428A0.s index 460780b..4af9445 100644 --- a/asm/code_80428A0.s +++ b/asm/code_80428A0.s @@ -2713,7 +2713,7 @@ _080440D0: bl sub_8092AD4 b _080440F8 .align 2, 0 -_080440E4: .4byte gUnknown_203B45C +_080440E4: .4byte gRecruitedPokemonRef _080440E8: .4byte 0x03e60000 _080440EC: .4byte 0x000003e7 _080440F0: @@ -2825,7 +2825,7 @@ _080441A4: _080441AC: .4byte gUnknown_203B418 _080441B0: .4byte 0x00000644 _080441B4: .4byte gUnknown_203B460 -_080441B8: .4byte gUnknown_203B45C +_080441B8: .4byte gRecruitedPokemonRef thumb_func_end sub_8044124 thumb_func_start sub_80441BC @@ -4108,7 +4108,7 @@ _08044BF0: .4byte gUnknown_80F697C _08044BF4: ldr r4, _08044C0C adds r0, r5, 0 - bl sub_8090D6C + bl GetItemCategory lsls r0, 3 adds r4, 0x4 adds r0, r4 @@ -4382,7 +4382,7 @@ sub_8044DC8: cmp r0, 0xE9 beq _08044DE8 ldr r4, _08044DE4 - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 23 adds r0, r4 @@ -4445,7 +4445,7 @@ sub_8044E24: cmp r0, 0 bne _08044EBA ldrb r0, [r5, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 @@ -4552,7 +4552,7 @@ _08044F18: lsls r0, r5, 2 adds r0, r1 ldrb r0, [r0, 0x2] - bl sub_8090D6C + bl GetItemCategory lsls r0, 3 adds r4, 0x4 adds r0, r4 @@ -6402,7 +6402,7 @@ _08045C76: strb r0, [r5] _08045C7E: adds r0, r4, 0 - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x6 @@ -6631,14 +6631,14 @@ _08045E38: .4byte gAvailablePokemonNames _08045E3C: .4byte gUnknown_80F8F88 _08045E40: ldrb r0, [r5, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x6 bne _08045E7C movs r0, 0xA6 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect adds r0, r5, 0 bl sub_80915D4 bl sub_80913A0 @@ -6825,7 +6825,7 @@ _08045FAC: bl sub_80461C8 movs r0, 0xA5 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect mov r3, sp adds r0, r3, r4 ldr r0, [r0] @@ -6902,7 +6902,7 @@ _0804605C: .4byte gUnknown_80F8F54 _08046060: movs r0, 0xA5 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect lsls r0, r4, 2 add r0, sp ldr r0, [r0] @@ -7189,7 +7189,7 @@ sub_8046298: ldrb r0, [r0, 0xD] bx lr .align 2, 0 -_080462A8: .4byte gItemParametersFile + 4 +_080462A8: .4byte gItemParametersData thumb_func_end sub_8046298 thumb_func_start sub_80462AC @@ -7361,7 +7361,7 @@ _080463BC: _080463EE: ldr r0, [r4, 0x70] ldrb r0, [r0, 0x2] - bl sub_8090D58 + bl GetItemPalette movs r1, 0xF ands r0, r1 lsls r0, 12 @@ -7454,7 +7454,7 @@ sub_80464AC: push {r4,lr} ldr r4, _080464C4 ldrb r0, [r0, 0x2] - bl sub_8090D6C + bl GetItemCategory lsls r0, 3 adds r0, r4 ldr r0, [r0] @@ -8728,7 +8728,7 @@ _08046E1E: movs r1, 0x41 bl sub_803E708 movs r0, 0xD4 - bl sub_8083E38 + bl PlaySoundEffect ldr r0, _08046EFC ldr r1, [r0] movs r0, 0 @@ -8765,7 +8765,7 @@ sub_8046F00: push {r4-r7,lr} adds r4, r0, 0 ldrb r0, [r4, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 @@ -10171,18 +10171,18 @@ sub_80479B8: cmp r0, 0 beq _08047A20 ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 cmp r0, 0 beq _08047A3C ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 beq _08047A3C ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -10194,7 +10194,7 @@ sub_80479B8: b _08047A3C _08047A20: ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -10235,7 +10235,7 @@ _08047A4C: bl _080482BA _08047A76: ldr r0, _08047AAC - bl sub_8083E38 + bl PlaySoundEffect ldr r0, _08047AB0 adds r1, r7, 0 bl sub_8045BF8 @@ -10317,7 +10317,7 @@ _08047B30: bl sub_804245C _08047B38: ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -10331,13 +10331,13 @@ _08047B38: bl sub_8078B5C _08047B56: ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 beq _08047B72 ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0xA diff --git a/asm/code_8048480.s b/asm/code_8048480.s index cad3483..300d379 100644 --- a/asm/code_8048480.s +++ b/asm/code_8048480.s @@ -795,7 +795,7 @@ _08048B20: .align 2, 0 _08048B24: .4byte gUnknown_203B418 _08048B28: .4byte 0x0001357c -_08048B2C: .4byte gUnknown_203B45C +_08048B2C: .4byte gRecruitedPokemonRef _08048B30: .4byte 0x00008df8 _08048B34: movs r0, 0 @@ -20336,7 +20336,7 @@ _08052196: b _080521CA .align 2, 0 _080521B4: .4byte gUnknown_203B460 -_080521B8: .4byte gUnknown_203B45C +_080521B8: .4byte gRecruitedPokemonRef _080521BC: .4byte 0x00008df8 _080521C0: .4byte 0x00008e38 _080521C4: .4byte 0x00008e3a diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s index ff9b5a1..a77765b 100644 --- a/asm/code_80521D0.s +++ b/asm/code_80521D0.s @@ -721,7 +721,7 @@ sub_8052910: ldrsh r7, [r4, r2] b _08052966 .align 2, 0 -_08052950: .4byte gUnknown_203B45C +_08052950: .4byte gRecruitedPokemonRef _08052954: .4byte 0x00008df8 _08052958: .4byte gAvailablePokemonNames _0805295C: @@ -749,7 +749,7 @@ _08052966: .align 2, 0 _08052988: .4byte gAvailablePokemonNames _0805298C: .4byte gUnknown_80F7AF8 -_08052990: .4byte gUnknown_203B45C +_08052990: .4byte gRecruitedPokemonRef _08052994: .4byte 0x00008df8 _08052998: .4byte gUnknown_202DFE8 _0805299C: @@ -815,7 +815,7 @@ _08052A1C: ldrsh r4, [r6, r1] ldr r0, _08052A48 adds r1, r4, 0 - bl sub_808D8E0 + bl CopyYellowSpeciesNametoBuffer _08052A28: ldrh r0, [r6] subs r0, 0x2 @@ -1379,7 +1379,7 @@ sub_8052EC0: lsrs r4, r0, 24 adds r5, r4, 0 adds r0, r4, 0 - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 diff --git a/asm/code_8057824.s b/asm/code_8057824.s index ab84288..c700946 100644 --- a/asm/code_8057824.s +++ b/asm/code_8057824.s @@ -9106,7 +9106,7 @@ _0805BE30: .4byte gUnknown_80FD450 _0805BE34: ldr r0, _0805BE58 adds r1, r5, 0 - bl sub_808D908 + bl CopyCyanSpeciesNametoBuffer ldr r0, _0805BE5C ldr r2, [r0] mov r0, r10 @@ -15023,7 +15023,7 @@ _0805F102: b _0805F12A .align 2, 0 _0805F114: .4byte 0x00000679 -_0805F118: .4byte gUnknown_203B45C +_0805F118: .4byte gRecruitedPokemonRef _0805F11C: .4byte 0x00008df8 _0805F120: movs r0, 0 @@ -16902,7 +16902,7 @@ _080600D8: movs r7, 0x1 movs r0, 0x99 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect bl sub_8047158 bl sub_80912C8 movs r0, 0 @@ -17927,7 +17927,7 @@ _0806092C: movs r0, 0x9 bl sub_8044F5C ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x6 @@ -18013,12 +18013,12 @@ _080609E8: cmp r0, 0x14 bhi _08060A6C ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 cmp r0, 0 beq _08060A0A ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -18194,7 +18194,7 @@ _08060B68: bl sub_8044F5C _08060B78: ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 cmp r0, 0 bne _08060B8E @@ -18204,7 +18204,7 @@ _08060B78: b _08060BAE _08060B8E: ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -18265,7 +18265,7 @@ _08060BD0: movs r4, 0x1 ands r4, r0 ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 @@ -18273,7 +18273,7 @@ _08060BD0: movs r5, 0x1 _08060C22: ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x9 @@ -19149,7 +19149,7 @@ _08061328: .4byte gUnknown_202F270 _0806132C: .4byte gUnknown_202EE10 _08061330: .4byte gUnknown_8106BB0 _08061334: .4byte gAvailablePokemonNames -_08061338: .4byte gUnknown_203B45C +_08061338: .4byte gRecruitedPokemonRef _0806133C: .4byte 0x00008e02 _08061340: .4byte gUnknown_8106BB4 _08061344: @@ -19422,7 +19422,7 @@ _0806156C: .4byte 0x0001357c _08061570: .4byte 0x0000065d _08061574: .4byte 0x0000065c _08061578: .4byte 0x00000644 -_0806157C: .4byte gUnknown_203B45C +_0806157C: .4byte gRecruitedPokemonRef _08061580: .4byte 0x00008df8 _08061584: movs r0, 0 @@ -19823,7 +19823,7 @@ _080618BC: .4byte gUnknown_202EE10 _080618C0: .4byte gUnknown_202EE6C _080618C4: ldr r0, _080618FC - bl sub_8083E38 + bl PlaySoundEffect mov r0, r8 adds r0, 0x94 strb r7, [r0] @@ -20943,7 +20943,7 @@ _08062190: .4byte gUnknown_202EE6C _08062194: .4byte gUnknown_202EE10 _08062198: ldr r0, _080621AC - bl sub_8083E38 + bl PlaySoundEffect ldr r0, [sp, 0x11C] adds r0, 0x8C adds r1, r6, 0 @@ -24113,7 +24113,7 @@ _08063AEC: orrs r0, r1 strb r0, [r4, 0x1] ldr r0, _08063B28 - bl sub_8083E38 + bl PlaySoundEffect mov r3, r10 cmp r3, 0 beq _08063B42 @@ -24186,7 +24186,7 @@ sub_8063B54: orrs r0, r1 strb r0, [r4, 0x1] ldr r0, _08063BB0 - bl sub_8083E38 + bl PlaySoundEffect pop {r4-r6} pop {r0} bx r0 @@ -24288,7 +24288,7 @@ _08063C5C: adds r0, r6, r4 bl sub_80936D8 ldr r0, _08063C84 - bl sub_8083E38 + bl PlaySoundEffect pop {r4-r7} pop {r0} bx r0 @@ -24433,7 +24433,7 @@ _08063D70: adds r0, r6, r2 bl sub_80936D8 ldr r0, _08063DA8 - bl sub_8083E38 + bl PlaySoundEffect mov r3, r10 cmp r3, 0 beq _08063DC2 @@ -29575,7 +29575,7 @@ _080666B0: add r8, r0 b _08066704 .align 2, 0 -_080666CC: .4byte gUnknown_203B45C +_080666CC: .4byte gRecruitedPokemonRef _080666D0: .4byte 0x0000019d _080666D4: .4byte 0x00008df8 _080666D8: @@ -29691,7 +29691,7 @@ _08066798: adds r1, r4, 0 bl sub_8045BF8 ldr r0, _080667C8 - bl sub_8083E38 + bl PlaySoundEffect cmp r7, 0 beq _08066812 ldrb r1, [r4] @@ -29708,7 +29708,7 @@ _080667C8: .4byte 0x00000133 _080667CC: .4byte gUnknown_80F8D04 _080667D0: ldrb r0, [r4, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 cmp r0, 0 bne _08066808 @@ -29807,7 +29807,7 @@ _08066898: ldr r0, _080668C4 bl sub_8045BF8 ldr r0, _080668C8 - bl sub_8083E38 + bl PlaySoundEffect cmp r6, 0 beq _080668B8 ldr r0, _080668CC @@ -29947,7 +29947,7 @@ _080669B2: mov r1, sp bl sub_8045BF8 ldr r0, _080669F8 - bl sub_8083E38 + bl PlaySoundEffect ldr r0, _080669FC ldr r1, [r0] adds r0, r6, 0 @@ -29989,7 +29989,7 @@ _08066A04: adds r1, r4, 0 bl sub_8045BF8 ldr r0, _08066AAC - bl sub_8083E38 + bl PlaySoundEffect ldr r0, _08066AB0 ldr r1, [r0] adds r0, r6, 0 @@ -30125,7 +30125,7 @@ _08066B24: mov r0, sp bl sub_8091290 ldr r0, _08066BC4 - bl sub_8083E38 + bl PlaySoundEffect ldr r0, _08066BC8 ldr r1, [r0] adds r0, r7, 0 @@ -30256,7 +30256,7 @@ _08066C40: str r0, [r2, 0x60] str r1, [r5] ldr r0, _08066CE0 - bl sub_8083E38 + bl PlaySoundEffect ldr r0, _08066CE4 ldr r1, [r0] adds r0, r7, 0 @@ -30422,7 +30422,7 @@ _08066DC4: strb r6, [r5] bl sub_80910B4 ldr r0, _08066E00 - bl sub_8083E38 + bl PlaySoundEffect ldr r0, _08066E04 adds r1, r4, 0 movs r2, 0 @@ -30608,7 +30608,7 @@ _08066F46: mov r1, sp bl sub_8045BF8 ldr r0, _08066F94 - bl sub_8083E38 + bl PlaySoundEffect ldr r0, _08066F98 ldr r1, [r0] mov r0, r9 @@ -30780,7 +30780,7 @@ _080670C4: _080670CA: bl sub_80910B4 ldr r0, _08067100 - bl sub_8083E38 + bl PlaySoundEffect ldr r0, _08067104 ldr r1, [r0] adds r0, r7, 0 @@ -30908,12 +30908,12 @@ _080671E0: .4byte gUnknown_202DE58 _080671E4: .4byte gUnknown_80F8BE0 _080671E8: ldrb r0, [r4, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 cmp r0, 0 beq _08067202 ldrb r0, [r4, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -30977,7 +30977,7 @@ _08067272: lsrs r0, 16 lsls r0, 24 lsrs r0, 24 - bl sub_8090BD0 + bl GetItemType lsls r0, 24 cmp r0, 0 beq _0806729A @@ -30985,7 +30985,7 @@ _08067272: lsrs r0, 16 lsls r0, 24 lsrs r0, 24 - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -31092,12 +31092,12 @@ _0806733E: _08067364: add r4, sp, 0x4 ldrb r0, [r4, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 cmp r0, 0 beq _08067380 ldrb r0, [r4, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -31115,7 +31115,7 @@ _08067384: movs r2, 0 bl sub_80708B4 ldrb r0, [r4, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 cmp r0, 0 bne _080673BC @@ -31136,7 +31136,7 @@ _080673BC: _080673C6: add r0, sp, 0x4 ldrb r0, [r0, 0x2] - bl sub_8090BD0 + bl GetItemType adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -31234,7 +31234,7 @@ _08067462: _08067486: add r0, sp, 0x4 ldrb r0, [r0, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -31672,7 +31672,7 @@ _080677B4: _080677F0: .4byte gAvailablePokemonNames _080677F4: .4byte gUnknown_80F9094 _080677F8: .4byte gUnknown_80F913C -_080677FC: .4byte gUnknown_203B45C +_080677FC: .4byte gRecruitedPokemonRef _08067800: .4byte 0x00008df8 _08067804: .4byte gUnknown_80F9114 _08067808: .4byte gUnknown_80F9154 @@ -33582,7 +33582,7 @@ _08068748: .4byte 0x00017b44 _0806874C: .4byte 0x000001a5 _08068750: .4byte 0x000037e4 _08068754: .4byte 0x0000343c -_08068758: .4byte gUnknown_203B45C +_08068758: .4byte gRecruitedPokemonRef _0806875C: .4byte 0x00008df8 _08068760: .4byte 0x00003a14 _08068764: .4byte 0x00008f88 @@ -33987,7 +33987,7 @@ _08068A50: pop {r0} bx r0 .align 2, 0 -_08068A60: .4byte gUnknown_203B45C +_08068A60: .4byte gRecruitedPokemonRef _08068A64: .4byte 0x00008df8 _08068A68: .4byte gUnknown_203B418 _08068A6C: .4byte 0x00000644 @@ -34045,7 +34045,7 @@ _08068AB2: ldr r0, _08068AEC b _08068BB2 .align 2, 0 -_08068AE0: .4byte gUnknown_203B45C +_08068AE0: .4byte gRecruitedPokemonRef _08068AE4: .4byte 0x00008df8 _08068AE8: .4byte gAvailablePokemonNames _08068AEC: .4byte gUnknown_80FE0F4 @@ -34114,7 +34114,7 @@ _08068B3E: ldr r0, _08068B7C b _08068BB2 .align 2, 0 -_08068B6C: .4byte gUnknown_203B45C +_08068B6C: .4byte gRecruitedPokemonRef _08068B70: .4byte 0x00008df8 _08068B74: .4byte 0x000055aa _08068B78: .4byte gAvailablePokemonNames @@ -34284,7 +34284,7 @@ _08068C96: b _08068CFE .align 2, 0 _08068CC4: .4byte 0xfffffdd8 -_08068CC8: .4byte gUnknown_203B45C +_08068CC8: .4byte gRecruitedPokemonRef _08068CCC: .4byte 0x00008df8 _08068CD0: .4byte 0xfffffe87 _08068CD4: .4byte gUnknown_203B418 @@ -34449,7 +34449,7 @@ _08068E06: b _08068F08 .align 2, 0 _08068E10: .4byte 0x0000ffff -_08068E14: .4byte gUnknown_203B45C +_08068E14: .4byte gRecruitedPokemonRef _08068E18: .4byte 0x00008df8 _08068E1C: ldr r0, _08068E78 @@ -34623,7 +34623,7 @@ _08068F2E: strh r0, [r4] b _08068F74 .align 2, 0 -_08068F5C: .4byte gUnknown_203B45C +_08068F5C: .4byte gRecruitedPokemonRef _08068F60: .4byte 0x00008df8 _08068F64: movs r1, 0xA @@ -35047,7 +35047,7 @@ _080692B2: .align 2, 0 _080692C4: .4byte gUnknown_203B418 _080692C8: .4byte 0x0001357c -_080692CC: .4byte gUnknown_203B45C +_080692CC: .4byte gRecruitedPokemonRef _080692D0: .4byte 0x00008df8 _080692D4: .4byte 0x00000644 _080692D8: .4byte gUnknown_202EE76 @@ -35273,7 +35273,7 @@ _08069498: .4byte 0x000005f4 _0806949C: .4byte 0xfffffe5f _080694A0: .4byte 0x000037fe _080694A4: .4byte gUnknown_80FA580 -_080694A8: .4byte gUnknown_203B45C +_080694A8: .4byte gRecruitedPokemonRef _080694AC: .4byte 0x00008df8 _080694B0: .4byte 0x00000644 _080694B4: .4byte 0x0000065c @@ -38258,7 +38258,7 @@ _0806AB12: pop {r0} bx r0 .align 2, 0 -_0806AB24: .4byte gUnknown_203B45C +_0806AB24: .4byte gRecruitedPokemonRef _0806AB28: .4byte 0x00008df8 thumb_func_end sub_806AA70 @@ -39012,7 +39012,7 @@ _0806B0BA: b _0806B0EE .align 2, 0 _0806B0E4: .4byte 0x00008df8 -_0806B0E8: .4byte gUnknown_203B45C +_0806B0E8: .4byte gRecruitedPokemonRef _0806B0EC: adds r4, 0x1 _0806B0EE: @@ -39321,7 +39321,7 @@ _0806B2D2: _0806B324: .4byte gUnknown_203B418 _0806B328: .4byte 0x0000e218 _0806B32C: .4byte 0x0000e21a -_0806B330: .4byte gUnknown_203B45C +_0806B330: .4byte gRecruitedPokemonRef _0806B334: .4byte 0x00008df8 _0806B338: .4byte 0x0000065c _0806B33C: .4byte 0x00000179 @@ -39491,7 +39491,7 @@ _0806B460: b _0806B4AE .align 2, 0 _0806B480: .4byte gUnknown_203B450 -_0806B484: .4byte gUnknown_203B45C +_0806B484: .4byte gRecruitedPokemonRef _0806B488: .4byte 0x000055aa _0806B48C: .4byte 0x00008df8 _0806B490: @@ -41367,7 +41367,7 @@ _0806C316: pop {r0} bx r0 .align 2, 0 -_0806C31C: .4byte gUnknown_203B45C +_0806C31C: .4byte gRecruitedPokemonRef _0806C320: .4byte 0x00008df8 _0806C324: .4byte 0xfffffe87 _0806C328: .4byte 0x000055aa @@ -44468,7 +44468,7 @@ _0806DB00: ldr r0, _0806DB14 b _0806DB7E .align 2, 0 -_0806DB04: .4byte gUnknown_203B45C +_0806DB04: .4byte gRecruitedPokemonRef _0806DB08: .4byte 0x00008df8 _0806DB0C: .4byte gUnknown_203B418 _0806DB10: .4byte 0x0000065c @@ -48208,7 +48208,7 @@ _0806F8B4: movs r4, 0 b _0806F8C6 .align 2, 0 -_0806F8BC: .4byte gUnknown_203B45C +_0806F8BC: .4byte gRecruitedPokemonRef _0806F8C0: .4byte 0x00008df8 _0806F8C4: adds r4, 0x1 @@ -48462,7 +48462,7 @@ sub_806FA5C: ldr r0, _0806FAD4 movs r3, 0 ldrsh r1, [r6, r3] - bl sub_808D908 + bl CopyCyanSpeciesNametoBuffer ldr r0, _0806FAD8 ldr r1, [r0] movs r0, 0 @@ -48525,7 +48525,7 @@ _0806FB28: movs r0, 0 b _0806FCF0 .align 2, 0 -_0806FB2C: .4byte gUnknown_203B45C +_0806FB2C: .4byte gRecruitedPokemonRef _0806FB30: .4byte 0x00008df8 _0806FB34: .4byte gUnknown_80FA030 _0806FB38: @@ -48655,7 +48655,7 @@ _0806FBC4: strh r7, [r5] b _0806FCEE .align 2, 0 -_0806FC40: .4byte gUnknown_203B45C +_0806FC40: .4byte gRecruitedPokemonRef _0806FC44: .4byte 0x00008df8 _0806FC48: .4byte 0x0000ffff _0806FC4C: .4byte gUnknown_203B418 @@ -48710,7 +48710,7 @@ _0806FC94: mov r1, r9 bl sub_8092558 movs r0, 0xCE - bl sub_8011988 + bl PlaySound ldr r0, _0806FD10 ldr r1, [r0] movs r0, 0 @@ -48834,7 +48834,7 @@ _0806FDAC: movs r4, 0 b _0806FDBE .align 2, 0 -_0806FDB4: .4byte gUnknown_203B45C +_0806FDB4: .4byte gRecruitedPokemonRef _0806FDB8: .4byte 0x00008df8 _0806FDBC: adds r4, 0x1 @@ -48917,7 +48917,7 @@ _0806FE46: movs r0, 0 b _0806FFF8 .align 2, 0 -_0806FE50: .4byte gUnknown_203B45C +_0806FE50: .4byte gRecruitedPokemonRef _0806FE54: .4byte 0x00008df8 _0806FE58: add r0, sp, 0xC @@ -49055,7 +49055,7 @@ _0806FF34: strh r0, [r5] b _0806FFF6 .align 2, 0 -_0806FF74: .4byte gUnknown_203B45C +_0806FF74: .4byte gRecruitedPokemonRef _0806FF78: .4byte 0x00008df8 _0806FF7C: .4byte 0x0000ffff _0806FF80: .4byte gUnknown_203B418 @@ -49096,7 +49096,7 @@ _0806FFB8: adds r1, r7, 0 bl sub_8092558 movs r0, 0xCE - bl sub_8011988 + bl PlaySound ldr r0, _08070014 ldr r1, [r0] movs r0, 0 @@ -50368,13 +50368,13 @@ _0807092A: movs r0, 0x4 ldrsh r1, [r1, r0] adds r0, r3, 0 - bl sub_808D8E0 + bl CopyYellowSpeciesNametoBuffer b _0807095A _08070936: movs r5, 0x4 ldrsh r1, [r1, r5] adds r0, r3, 0 - bl sub_808D908 + bl CopyCyanSpeciesNametoBuffer b _0807095A _08070942: ldr r2, _08070960 @@ -50393,7 +50393,7 @@ _0807095A: pop {r0} bx r0 .align 2, 0 -_08070960: .4byte gUnknown_203B45C +_08070960: .4byte gRecruitedPokemonRef _08070964: .4byte 0x00008df8 thumb_func_end sub_80708B4 @@ -50424,7 +50424,7 @@ _08070990: movs r0, 0x4 ldrsh r1, [r1, r0] adds r0, r4, 0 - bl sub_808D908 + bl CopyCyanSpeciesNametoBuffer b _080709BA _080709A2: ldr r2, _080709C0 @@ -50443,7 +50443,7 @@ _080709BA: pop {r0} bx r0 .align 2, 0 -_080709C0: .4byte gUnknown_203B45C +_080709C0: .4byte gRecruitedPokemonRef _080709C4: .4byte 0x00008df8 thumb_func_end sub_8070968 @@ -50517,7 +50517,7 @@ _08070A48: pop {r0} bx r0 .align 2, 0 -_08070A50: .4byte gUnknown_203B45C +_08070A50: .4byte gRecruitedPokemonRef _08070A54: .4byte 0x00008df8 thumb_func_end sub_80709C8 @@ -54983,7 +54983,7 @@ sub_8072B78: adds r4, 0x50 adds r0, r4, 0 adds r1, r5, 0 - bl sub_808D908 + bl CopyCyanSpeciesNametoBuffer adds r0, r5, 0 bl sub_80687D0 adds r4, r0, 0 @@ -56354,7 +56354,7 @@ _080736D4: movs r3, 0x81 str r3, [sp, 0x54] ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -56564,7 +56564,7 @@ _08073866: _08073870: ldrb r0, [r7, 0x2] movs r1, 0 - bl sub_8090DAC + bl GetItemUnkFood lsls r0, 24 cmp r0, 0 beq _080738EC @@ -56576,7 +56576,7 @@ _08073870: cmp r5, 0 beq _080738EC ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 @@ -56632,12 +56632,12 @@ _080738EC: _080738FC: ldrb r0, [r7, 0x2] mov r1, r9 - bl sub_8090DAC + bl GetItemUnkFood lsls r0, 24 cmp r0, 0 beq _080739AE ldrb r0, [r7, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -57274,7 +57274,7 @@ _08073DC8: cmp r0, 0 bne _08073E24 ldrb r0, [r5, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x6 @@ -57284,14 +57284,14 @@ _08073DC8: cmp r0, 0 beq _08073DF4 ldr r0, _08073DF0 - bl sub_8083E38 + bl PlaySoundEffect b _08073DFC .align 2, 0 _08073DF0: .4byte 0x0000014b _08073DF4: movs r0, 0xA6 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect _08073DFC: adds r0, r5, 0 bl sub_80915D4 @@ -57491,7 +57491,7 @@ _08073F6C: bl sub_80461C8 movs r0, 0xA5 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect mov r7, sp adds r0, r7, r4 ldr r0, [r0] @@ -57548,14 +57548,14 @@ _08073FEC: cmp r0, 0 beq _08074000 ldr r0, _08073FFC - bl sub_8083E38 + bl PlaySoundEffect b _08074008 .align 2, 0 _08073FFC: .4byte 0x0000014b _08074000: movs r0, 0xA5 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect _08074008: lsls r0, r4, 2 add r0, sp @@ -57982,7 +57982,7 @@ _08074390: cmp r6, 0 beq _080743A0 ldr r0, _08074410 - bl sub_8083E38 + bl PlaySoundEffect _080743A0: adds r0, r5, 0 mov r1, r9 @@ -67295,7 +67295,7 @@ _08078ED4: ldr r0, _08078F48 movs r2, 0x4 ldrsh r1, [r7, r2] - bl sub_808D908 + bl CopyCyanSpeciesNametoBuffer ldr r0, _08078F4C ldr r2, [r0] mov r0, r10 @@ -79666,7 +79666,7 @@ _0807F036: _0807F04E: movs r0, 0xA6 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect ldr r0, [r4] adds r0, r5 ldr r0, [r0] @@ -79890,7 +79890,7 @@ _0807F228: .4byte gUnknown_80FE520 _0807F22C: movs r0, 0xA6 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect negs r0, r4 bl sub_80913A0 movs r6, 0 @@ -80473,7 +80473,7 @@ _0807F6A8: cmp r0, 0 beq _0807F6D0 ldr r0, _0807F868 - bl sub_8083E38 + bl PlaySoundEffect _0807F6D0: movs r4, 0 str r4, [sp, 0x100] @@ -82227,7 +82227,7 @@ _08080470: _08080478: ldr r0, [r4] ldrb r0, [r0, 0x2] - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 @@ -89429,8 +89429,8 @@ sub_8083E28: bx r0 thumb_func_end sub_8083E28 - thumb_func_start sub_8083E38 -sub_8083E38: + thumb_func_start PlaySoundEffect +PlaySoundEffect: push {lr} lsls r0, 16 lsrs r2, r0, 16 @@ -89446,7 +89446,7 @@ _08083E4E: bx r0 .align 2, 0 _08083E54: .4byte 0x000003e5 - thumb_func_end sub_8083E38 + thumb_func_end PlaySoundEffect thumb_func_start sub_8083E58 sub_8083E58: @@ -89558,15 +89558,15 @@ sub_8083F14: bx r0 thumb_func_end sub_8083F14 - thumb_func_start sub_8083F24 -sub_8083F24: + thumb_func_start xxx_call_GetCurrentBGSong +xxx_call_GetCurrentBGSong: push {lr} bl GetCurrentBGSong lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 - thumb_func_end sub_8083F24 + thumb_func_end xxx_call_GetCurrentBGSong thumb_func_start sub_8083F34 sub_8083F34: @@ -90663,7 +90663,7 @@ _08084784: movs r0, 0xE ldrsh r1, [r1, r0] ldr r0, _080847B8 - bl sub_808D908 + bl CopyCyanSpeciesNametoBuffer b _080847CE .align 2, 0 _080847B8: .4byte gUnknown_202E088 @@ -91172,46 +91172,46 @@ _08084C80: bl SkarmonyPreFightDialogue b _08084DDA _08084C86: - bl sub_8086DAC + bl SkarmonyReFightDialogue b _08084DDA _08084C8C: bl sub_8086E40 b _08084DDA _08084C92: - bl sub_8086FB8 + bl TeamMeaniePreFightDialogue b _08084DDA _08084C98: - bl sub_8087064 + bl TeamMeanieReFightDialogue b _08084DDA _08084C9E: bl sub_8087130 b _08084DDA _08084CA4: - bl sub_8087364 + bl ZapdosPreFightDialogue b _08084DDA _08084CAA: - bl sub_80875C0 + bl ZapdosReFightDialogue b _08084DDA _08084CB0: - bl sub_808765C + bl ZapdosPostStoryPreFightDialogue b _08084DDA _08084CB6: - bl sub_8087924 + bl MoltresPreFightDialogue b _08084DDA _08084CBC: - bl sub_8087B20 + bl MoltresReFightDialogue b _08084DDA _08084CC2: - bl sub_8087C38 + bl MoltresPostStoryPreFightDialogue b _08084DDA _08084CC8: - bl sub_80880B8 + bl ArticunoPreFightDialogue b _08084DDA _08084CCE: - bl sub_8088304 + bl ArticunoReFightDialogue b _08084DDA _08084CD4: - bl sub_8088398 + bl ArticunoPostStoryPreFightDialogue b _08084DDA _08084CDA: bl sub_8088608 @@ -93898,7 +93898,7 @@ sub_80862BC: adds r4, r0, 0 movs r0, 0xE8 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect ldr r0, _080862D8 adds r1, r4, 0 movs r2, 0 @@ -94402,7 +94402,7 @@ sub_80866C4: push {r4,lr} adds r4, r0, 0 bl sub_8085480 - bl sub_808696C + bl SpriteLookAroundEffect movs r0, 0xA movs r1, 0x46 bl sub_803E708 @@ -94581,7 +94581,7 @@ sub_808680C: cmp r0, 0 beq _08086820 ldr r0, _08086828 - bl sub_8083E38 + bl PlaySoundEffect _08086820: pop {r0} bx r0 @@ -94655,7 +94655,7 @@ _0808688A: cmp r0, 0 beq _080868A8 ldr r0, _080868A0 - bl sub_8083E38 + bl PlaySoundEffect b _080868A8 .align 2, 0 _0808689C: .4byte gUnknown_202F3D0 @@ -94763,8 +94763,8 @@ sub_808692C: bx r0 thumb_func_end sub_808692C - thumb_func_start sub_808696C -sub_808696C: + thumb_func_start SpriteLookAroundEffect +SpriteLookAroundEffect: push {r4,r5,lr} adds r5, r0, 0 ldr r0, [r5, 0x70] @@ -94815,7 +94815,7 @@ sub_808696C: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_808696C + thumb_func_end SpriteLookAroundEffect thumb_func_start sub_80869E4 sub_80869E4: @@ -95261,8 +95261,8 @@ _08086DA4: .4byte gUnknown_8100B80 _08086DA8: .4byte gUnknown_8100BC0 thumb_func_end SkarmonyPreFightDialogue - thumb_func_start sub_8086DAC -sub_8086DAC: + thumb_func_start SkarmonyReFightDialogue +SkarmonyReFightDialogue: push {r4,r5,lr} sub sp, 0x8 bl sub_8085480 @@ -95319,13 +95319,13 @@ sub_8086DAC: _08086E34: .4byte gUnknown_8100C90 _08086E38: .4byte gUnknown_8100CBC _08086E3C: .4byte gUnknown_8100CDC - thumb_func_end sub_8086DAC + thumb_func_end SkarmonyReFightDialogue thumb_func_start sub_8086E40 sub_8086E40: push {lr} bl sub_8085480 - bl sub_808696C + bl SpriteLookAroundEffect movs r0, 0xA movs r1, 0x46 bl sub_803E708 @@ -95356,7 +95356,7 @@ sub_8086E74: bl sub_8086A54 movs r0, 0xFC lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect movs r0, 0x44 movs r1, 0x46 bl sub_803E708 @@ -95496,8 +95496,8 @@ _08086FB0: .4byte gUnknown_203B418 _08086FB4: .4byte 0x0001358c thumb_func_end sub_8086F54 - thumb_func_start sub_8086FB8 -sub_8086FB8: + thumb_func_start TeamMeaniePreFightDialogue +TeamMeaniePreFightDialogue: push {r4,lr} bl sub_8085480 adds r4, r0, 0 @@ -95558,10 +95558,10 @@ _08087054: .4byte gUnknown_8100F14 _08087058: .4byte gUnknown_8101004 _0808705C: .4byte gUnknown_8101050 _08087060: .4byte gUnknown_81010D0 - thumb_func_end sub_8086FB8 + thumb_func_end TeamMeaniePreFightDialogue - thumb_func_start sub_8087064 -sub_8087064: + thumb_func_start TeamMeanieReFightDialogue +TeamMeanieReFightDialogue: push {r4,r5,lr} bl sub_8085480 adds r4, r0, 0 @@ -95635,7 +95635,7 @@ _08087120: .4byte gUnknown_8101240 _08087124: .4byte gUnknown_8101310 _08087128: .4byte gUnknown_810137C _0808712C: .4byte gUnknown_8101408 - thumb_func_end sub_8087064 + thumb_func_end TeamMeanieReFightDialogue thumb_func_start sub_8087130 sub_8087130: @@ -95896,8 +95896,8 @@ _0808735A: _08087360: .4byte gUnknown_203B418 thumb_func_end sub_8087334 - thumb_func_start sub_8087364 -sub_8087364: + thumb_func_start ZapdosPreFightDialogue +ZapdosPreFightDialogue: push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -95916,7 +95916,7 @@ sub_8087364: movs r1, 0x46 bl sub_803E708 adds r0, r6, 0 - bl sub_808696C + bl SpriteLookAroundEffect movs r0, 0xA movs r1, 0x46 bl sub_803E708 @@ -95955,7 +95955,7 @@ sub_8087364: bl sub_8083F14 movs r0, 0xED lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect ldr r0, _08087478 bl sub_8052910 ldr r0, [sp, 0x68] @@ -96139,1849 +96139,6 @@ _080875B0: .4byte gUnknown_810165C _080875B4: .4byte gUnknown_8101750 _080875B8: .4byte gUnknown_810178C _080875BC: .4byte gUnknown_81017B4 - thumb_func_end sub_8087364 - - thumb_func_start sub_80875C0 -sub_80875C0: - push {r4,r5,lr} - bl sub_8085480 - adds r4, r0, 0 - movs r0, 0x8 - bl sub_8085680 - adds r5, r0, 0 - bl sub_8086448 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _08087648 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r0, 0xED - lsls r0, 1 - bl sub_8083E38 - ldr r0, _0808764C - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - adds r0, r5, 0 - bl sub_8087704 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _08087650 - bl sub_8052910 - movs r0, 0x1 - bl sub_808775C - ldr r0, _08087654 - bl sub_8052910 - movs r0, 0x2 - bl sub_808775C - ldr r0, _08087658 - bl sub_8052910 - movs r1, 0x96 - lsls r1, 1 - adds r0, r5, 0 - movs r2, 0xB - bl sub_8086A70 - adds r4, 0xC - adds r0, r4, 0 - movs r1, 0x10 - bl sub_80858AC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087648: .4byte gUnknown_81017E4 -_0808764C: .4byte gUnknown_81015A0 -_08087650: .4byte gUnknown_8101898 -_08087654: .4byte gUnknown_81018EC -_08087658: .4byte gUnknown_8101918 - thumb_func_end sub_80875C0 - - thumb_func_start sub_808765C -sub_808765C: - push {r4,r5,lr} - bl sub_8085480 - adds r5, r0, 0 - movs r0, 0x8 - bl sub_8085680 - adds r4, r0, 0 - bl sub_8086448 - movs r0, 0x91 - bl sub_8086AE4 - lsls r0, 24 - cmp r0, 0 - beq _08087688 - ldr r0, _08087684 - bl sub_80866C4 - b _080876EA - .align 2, 0 -_08087684: .4byte gUnknown_8101A38 -_08087688: - movs r0, 0x1 - bl sub_808775C - movs r0, 0xED - lsls r0, 1 - bl sub_8083E38 - ldr r0, _080876F0 - bl sub_8052910 - adds r0, r4, 0 - bl sub_8087704 - ldr r0, _080876F4 - bl sub_8052910 - movs r0, 0x1 - bl sub_808775C - ldr r0, _080876F8 - bl sub_8052910 - movs r0, 0x2 - bl sub_808775C - ldr r0, _080876FC - bl sub_8052910 - movs r0, 0x2 - bl sub_808775C - ldr r0, _08087700 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r1, 0x96 - lsls r1, 1 - adds r0, r4, 0 - movs r2, 0xB - bl sub_8086A70 - adds r0, r5, 0 - adds r0, 0xC - movs r1, 0x10 - bl sub_80858AC -_080876EA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080876F0: .4byte gUnknown_810193C -_080876F4: .4byte gUnknown_8101970 -_080876F8: .4byte gUnknown_8101994 -_080876FC: .4byte gUnknown_81019E4 -_08087700: .4byte gUnknown_8101A04 - thumb_func_end sub_808765C - - thumb_func_start sub_8087704 -sub_8087704: - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, [r5, 0x70] - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r5, 0x70] - movs r1, 0xAF - lsls r1, 1 - adds r0, r1 - strb r2, [r0] - ldr r0, [r5, 0x70] - adds r1, 0x16 - adds r0, r1 - movs r1, 0xC8 - str r1, [r0] - movs r0, 0xF5 - lsls r0, 1 - bl sub_8083E38 - movs r4, 0xC8 -_08087734: - ldr r0, [r5, 0x70] - movs r1, 0xBA - lsls r1, 1 - adds r0, r1 - lsls r1, r4, 8 - str r1, [r0] - movs r0, 0x46 - bl sub_803E46C - subs r4, 0x5 - cmp r4, 0 - bge _08087734 - movs r0, 0x1E - movs r1, 0x46 - bl sub_803E708 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8087704 - - thumb_func_start sub_808775C -sub_808775C: - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r0, 0xFB - lsls r0, 1 - bl sub_8083E38 - cmp r5, 0x2 - ble _08087790 - movs r4, 0xFA -_08087770: - lsrs r2, r4, 31 - adds r2, r4, r2 - asrs r2, 1 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - subs r4, 0xA - cmp r4, 0xC7 - bgt _08087770 -_08087790: - cmp r5, 0x1 - ble _080877B6 - movs r4, 0xFA -_08087796: - lsrs r2, r4, 31 - adds r2, r4, r2 - asrs r2, 1 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - subs r4, 0xA - cmp r4, 0xC7 - bgt _08087796 -_080877B6: - movs r4, 0xFA -_080877B8: - adds r2, r4, 0 - cmp r4, 0 - bge _080877C0 - adds r2, r4, 0x3 -_080877C0: - asrs r2, 2 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - subs r4, 0xA - cmp r4, 0 - bge _080877B8 - bl sub_8085EB0 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808775C - - thumb_func_start sub_80877E8 -sub_80877E8: - push {r4-r6,lr} - bl sub_8085480 - adds r6, r0, 0 - movs r0, 0x9 - bl sub_8085680 - adds r5, r0, 0 - movs r0, 0x26 - bl sub_8083E88 - bl sub_8085374 - bl sub_80854D4 - movs r0, 0x6 - bl sub_8085930 - ldr r4, _08087840 - adds r0, r4, 0 - bl sub_80855E4 - adds r0, r5, 0 - movs r1, 0 - bl sub_8085918 - adds r0, r5, 0 - bl _call_via_r4 - movs r1, 0x4 - ldrsh r0, [r6, r1] - subs r0, 0x3 - movs r2, 0x6 - ldrsh r1, [r6, r2] - subs r1, 0x2 - bl sub_8085860 - ldr r0, _08087844 - movs r1, 0x92 - bl CopySpeciesNametoBuffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08087840: .4byte sub_8086A3C -_08087844: .4byte gUnknown_202E038 - thumb_func_end sub_80877E8 - - thumb_func_start sub_8087848 -sub_8087848: - push {r4-r6,lr} - sub sp, 0x4 - bl sub_8085480 - adds r5, r0, 0 - movs r0, 0x9 - bl sub_8085680 - adds r4, r0, 0 - movs r0, 0x26 - bl sub_8083E88 - bl sub_80854D4 - movs r0, 0x6 - bl sub_8085930 - ldr r6, _08087890 - adds r0, r6, 0 - bl sub_80855E4 - movs r0, 0x92 - bl sub_8086AE4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08087894 - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, 0 - movs r2, 0 - bl sub_8068FE0 - b _080878B4 - .align 2, 0 -_08087890: .4byte sub_8086A3C -_08087894: - ldr r0, _080878E8 - movs r3, 0 - ldrsh r2, [r0, r3] - str r1, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0 - bl sub_8072008 - adds r0, r4, 0 - movs r1, 0 - bl sub_8085918 - adds r0, r4, 0 - bl _call_via_r6 -_080878B4: - movs r1, 0x4 - ldrsh r0, [r5, r1] - subs r0, 0x5 - movs r2, 0x6 - ldrsh r1, [r5, r2] - bl sub_8085860 - bl sub_803F994 - adds r4, r0, 0 - bl sub_803F9B0 - adds r1, r0, 0 - ldr r3, _080878EC - adds r1, r3 - adds r0, r4, 0 - bl sub_803F878 - ldr r0, _080878F0 - movs r1, 0x92 - bl CopySpeciesNametoBuffer - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080878E8: .4byte gUnknown_80F57CE -_080878EC: .4byte 0xfffff000 -_080878F0: .4byte gUnknown_202E038 - thumb_func_end sub_8087848 - - thumb_func_start sub_80878F4 -sub_80878F4: - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - movs r2, 0xF6 - lsls r2, 24 - adds r1, r2 - lsrs r1, 24 - cmp r1, 0x2 - bhi _0808791A - cmp r0, 0x9 - bne _0808791A - movs r0, 0x7 - bl sub_8097FA8 - ldr r0, _08087920 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x2] -_0808791A: - pop {r0} - bx r0 - .align 2, 0 -_08087920: .4byte gUnknown_203B418 - thumb_func_end sub_80878F4 - - thumb_func_start sub_8087924 -sub_8087924: - push {r4-r6,lr} - bl sub_8085480 - adds r5, r0, 0 - bl sub_808548C - adds r4, r0, 0 - movs r0, 0x9 - bl sub_8085680 - adds r6, r0, 0 - movs r0, 0xC - movs r1, 0x5 - bl sub_8087D80 - bl sub_8086500 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _08087AE8 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - adds r0, r4, 0 - movs r1, 0x4 - movs r2, 0x1 - movs r3, 0x5 - bl sub_80869E4 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - adds r0, r4, 0 - bl sub_808696C - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _08087AEC - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r0, 0xC - movs r1, 0x5 - bl sub_8087D80 - movs r0, 0x9 - movs r1, 0x5 - bl sub_8087DE8 - ldr r0, _08087AF0 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - adds r0, r4, 0 - movs r1, 0x4 - movs r2, 0x1 - movs r3, 0x2 - bl sub_80869E4 - adds r0, r5, 0 - movs r1, 0x4 - movs r2, 0x2 - movs r3, 0x6 - bl sub_80869E4 - ldr r0, _08087AF4 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - adds r0, r4, 0 - movs r1, 0x4 - movs r2, 0x2 - movs r3, 0x6 - bl sub_80869E4 - bl sub_8086690 - ldr r0, _08087AF8 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r0, 0x5 - bl sub_8085930 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - movs r0, 0x4 - bl sub_8085930 - ldr r0, _08087AFC - bl sub_8083E38 - bl sub_8083F14 - bl sub_8087F24 - ldr r0, _08087B00 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _08087B04 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _08087B08 - bl sub_8083E38 - adds r0, r4, 0 - movs r1, 0x4 - bl sub_80856E0 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _08087B0C - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - bl sub_8087EB0 - movs r0, 0xED - lsls r0, 1 - bl sub_8083E38 - ldr r0, _08087B10 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r0, 0x9 - movs r1, 0x5 - bl sub_8087D80 - movs r0, 0xB - movs r1, 0x5 - bl sub_8087DE8 - ldr r0, _08087B14 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r0, 0xC - movs r1, 0x5 - bl sub_8087D80 - movs r0, 0x9 - movs r1, 0x5 - bl sub_8087DE8 - adds r0, r6, 0 - bl sub_8087D30 - bl sub_808663C - bl sub_8087EB0 - ldr r0, _08087B18 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r0, 0xB - movs r1, 0x6 - bl sub_8087DE8 - ldr r0, _08087B1C - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r1, 0xC8 - lsls r1, 1 - adds r0, r6, 0 - movs r2, 0xB - bl sub_8086A70 - adds r5, 0xC - adds r0, r5, 0 - movs r1, 0x10 - bl sub_80858AC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08087AE8: .4byte gUnknown_8101A9C -_08087AEC: .4byte gUnknown_8101AD4 -_08087AF0: .4byte gUnknown_8101C30 -_08087AF4: .4byte gUnknown_8101CBC -_08087AF8: .4byte gUnknown_8101D8C -_08087AFC: .4byte 0x000002f2 -_08087B00: .4byte gUnknown_8101DA0 -_08087B04: .4byte gUnknown_8101E1C -_08087B08: .4byte 0x000001cf -_08087B0C: .4byte gUnknown_8101EAC -_08087B10: .4byte gUnknown_8102070 -_08087B14: .4byte gUnknown_81020A4 -_08087B18: .4byte gUnknown_81020D4 -_08087B1C: .4byte gUnknown_8102108 - thumb_func_end sub_8087924 - - thumb_func_start sub_8087B20 -sub_8087B20: - push {r4-r6,lr} - bl sub_8085480 - adds r5, r0, 0 - bl sub_808548C - adds r4, r0, 0 - movs r0, 0x9 - bl sub_8085680 - adds r6, r0, 0 - movs r0, 0xA - movs r1, 0x5 - bl sub_8087D80 - bl sub_8086500 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - adds r0, r4, 0 - bl sub_808696C - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _08087C24 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - adds r0, r4, 0 - movs r1, 0x4 - movs r2, 0x1 - movs r3, 0x2 - bl sub_80869E4 - adds r0, r5, 0 - movs r1, 0x4 - movs r2, 0x2 - movs r3, 0x6 - bl sub_80869E4 - ldr r0, _08087C28 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - adds r0, r4, 0 - movs r1, 0x4 - movs r2, 0x2 - movs r3, 0x6 - bl sub_80869E4 - adds r0, r5, 0 - movs r1, 0x4 - movs r2, 0x2 - movs r3, 0x6 - bl sub_80869E4 - bl sub_8086690 - bl sub_8087F24 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r0, 0x5 - bl sub_8085930 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - movs r0, 0x4 - bl sub_8085930 - adds r0, r6, 0 - bl sub_8087D30 - bl sub_808663C - bl sub_8087EB0 - ldr r0, _08087C2C - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r0, 0xB - movs r1, 0x6 - bl sub_8087DE8 - ldr r0, _08087C30 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _08087C34 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r1, 0xC8 - lsls r1, 1 - adds r0, r6, 0 - movs r2, 0xB - bl sub_8086A70 - adds r5, 0xC - adds r0, r5, 0 - movs r1, 0x10 - bl sub_80858AC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08087C24: .4byte gUnknown_8102158 -_08087C28: .4byte gUnknown_8102190 -_08087C2C: .4byte gUnknown_8102200 -_08087C30: .4byte gUnknown_8102254 -_08087C34: .4byte gUnknown_81022F8 - thumb_func_end sub_8087B20 - - thumb_func_start sub_8087C38 -sub_8087C38: - push {r4,r5,lr} - bl sub_8085480 - adds r5, r0, 0 - movs r0, 0x9 - bl sub_8085680 - adds r4, r0, 0 - movs r0, 0xC - movs r1, 0x5 - bl sub_8087D80 - bl sub_808654C - movs r0, 0x92 - bl sub_8086AE4 - lsls r0, 24 - cmp r0, 0 - beq _08087CA4 - movs r0, 0x5 - bl sub_8085930 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - movs r0, 0x4 - bl sub_8085930 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _08087C9C - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _08087CA0 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x2] - b _08087D16 - .align 2, 0 -_08087C9C: .4byte gUnknown_8100D3C -_08087CA0: .4byte gUnknown_203B418 -_08087CA4: - ldr r0, _08087D1C - bl sub_8052910 - movs r0, 0x5 - bl sub_8085930 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - movs r0, 0x4 - bl sub_8085930 - adds r0, r4, 0 - bl sub_8087D30 - ldr r0, _08087D20 - bl sub_8052910 - movs r0, 0xC - movs r1, 0x5 - bl sub_8087D80 - movs r0, 0x9 - movs r1, 0x5 - bl sub_8087DE8 - ldr r0, _08087D24 - bl sub_8052910 - bl sub_8087EB0 - ldr r0, _08087D28 - bl sub_8052910 - movs r0, 0xB - movs r1, 0x6 - bl sub_8087DE8 - ldr r0, _08087D2C - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r1, 0xC8 - lsls r1, 1 - adds r0, r4, 0 - movs r2, 0xB - bl sub_8086A70 - adds r0, r5, 0 - adds r0, 0xC - movs r1, 0x10 - bl sub_80858AC -_08087D16: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087D1C: .4byte gUnknown_810232C -_08087D20: .4byte gUnknown_8102398 -_08087D24: .4byte gUnknown_81023C4 -_08087D28: .4byte gUnknown_8102400 -_08087D2C: .4byte gUnknown_8102454 - thumb_func_end sub_8087C38 - - thumb_func_start sub_8087D30 -sub_8087D30: - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, [r5, 0x70] - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r5, 0x70] - movs r1, 0xAF - lsls r1, 1 - adds r0, r1 - strb r2, [r0] - ldr r0, [r5, 0x70] - adds r1, 0x16 - adds r0, r1 - movs r1, 0xC8 - lsls r1, 8 - str r1, [r0] - movs r0, 0xFC - lsls r0, 1 - bl sub_8083E38 - movs r4, 0xC8 -_08087D62: - ldr r0, [r5, 0x70] - movs r1, 0xBA - lsls r1, 1 - adds r0, r1 - lsls r1, r4, 8 - str r1, [r0] - movs r0, 0x46 - bl sub_803E46C - subs r4, 0x5 - cmp r4, 0 - bge _08087D62 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8087D30 - - thumb_func_start sub_8087D80 -sub_8087D80: - push {lr} - sub sp, 0x8 - adds r3, r1, 0 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 11 - movs r2, 0xC0 - lsls r2, 4 - adds r0, r1, r2 - cmp r0, 0 - bge _08087D98 - adds r0, 0xFF -_08087D98: - lsls r0, 8 - lsrs r0, 16 - ldr r1, _08087DE0 - ldr r2, [sp, 0x4] - ands r2, r1 - orrs r2, r0 - str r2, [sp, 0x4] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 11 - movs r1, 0x80 - lsls r1, 5 - adds r0, r1 - cmp r0, 0 - bge _08087DB8 - adds r0, 0xFF -_08087DB8: - lsls r0, 8 - lsrs r0, 16 - lsls r0, 16 - ldr r1, _08087DE4 - ands r2, r1 - orrs r2, r0 - str r2, [sp, 0x4] - movs r0, 0xB9 - lsls r0, 1 - movs r1, 0 - str r1, [sp] - movs r1, 0x10 - movs r2, 0 - add r3, sp, 0x4 - bl sub_8085EC8 - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_08087DE0: .4byte 0xffff0000 -_08087DE4: .4byte 0x0000ffff - thumb_func_end sub_8087D80 - - thumb_func_start sub_8087DE8 -sub_8087DE8: - push {r4-r6,lr} - sub sp, 0x8 - adds r3, r1, 0 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 11 - movs r2, 0xC0 - lsls r2, 4 - adds r0, r1, r2 - cmp r0, 0 - bge _08087E00 - adds r0, 0xFF -_08087E00: - lsls r0, 8 - lsrs r0, 16 - ldr r1, _08087EA8 - ldr r2, [sp, 0x4] - ands r2, r1 - orrs r2, r0 - str r2, [sp, 0x4] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 11 - movs r1, 0x80 - lsls r1, 5 - adds r0, r1 - cmp r0, 0 - bge _08087E20 - adds r0, 0xFF -_08087E20: - lsls r0, 8 - lsrs r0, 16 - lsls r0, 16 - ldr r1, _08087EAC - ands r2, r1 - orrs r2, r0 - str r2, [sp, 0x4] - movs r0, 0xB9 - lsls r0, 1 - movs r1, 0 - str r1, [sp] - movs r1, 0x16 - movs r2, 0 - add r3, sp, 0x4 - bl sub_8085EC8 - adds r6, r0, 0 - movs r0, 0xF6 - lsls r0, 1 - bl sub_8083E38 - movs r4, 0xFA - movs r5, 0x1 -_08087E4E: - str r5, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - subs r4, 0xA - cmp r4, 0x13 - bgt _08087E4E - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r4, 0xFA - movs r5, 0x1 -_08087E74: - str r5, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - subs r4, 0xA - cmp r4, 0 - bge _08087E74 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - bl sub_8085EB0 - adds r0, r6, 0 - bl sub_8085F44 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08087EA8: .4byte 0xffff0000 -_08087EAC: .4byte 0x0000ffff - thumb_func_end sub_8087DE8 - - thumb_func_start sub_8087EB0 -sub_8087EB0: - push {r4,lr} - sub sp, 0x4 - ldr r0, _08087F20 - bl sub_8083E38 - movs r4, 0xFA -_08087EBC: - lsrs r2, r4, 31 - adds r2, r4, r2 - asrs r2, 1 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - subs r4, 0xA - cmp r4, 0x9 - bgt _08087EBC - movs r0, 0x1E - movs r1, 0x46 - bl sub_803E708 - ldr r0, _08087F20 - bl sub_8083E38 - movs r4, 0xFA -_08087EEC: - lsrs r2, r4, 31 - adds r2, r4, r2 - asrs r2, 1 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - subs r4, 0xA - cmp r4, 0 - bge _08087EEC - movs r0, 0x1E - movs r1, 0x46 - bl sub_803E708 - bl sub_8085EB0 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08087F20: .4byte 0x000001ed - thumb_func_end sub_8087EB0 - - thumb_func_start sub_8087F24 -sub_8087F24: - push {r4-r6,lr} - sub sp, 0x4 - movs r4, 0 - movs r6, 0 - movs r5, 0x50 - negs r5, r5 -_08087F30: - str r6, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r4, 0 - movs r3, 0 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - subs r4, 0x8 - cmp r4, r5 - bge _08087F30 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8087F24 - - thumb_func_start sub_8087F54 -sub_8087F54: - push {r4-r6,lr} - bl sub_8085480 - adds r6, r0, 0 - movs r0, 0xD - bl sub_8085680 - adds r5, r0, 0 - movs r0, 0x72 - bl sub_8083E88 - bl sub_8085374 - bl sub_80854D4 - movs r0, 0x4 - bl sub_8085930 - ldr r4, _08087FAC - adds r0, r4, 0 - bl sub_80855E4 - adds r0, r5, 0 - movs r1, 0 - bl sub_8085918 - adds r0, r5, 0 - bl _call_via_r4 - movs r1, 0x4 - ldrsh r0, [r6, r1] - movs r2, 0x6 - ldrsh r1, [r6, r2] - subs r1, 0x3 - bl sub_8085860 - ldr r0, _08087FB0 - movs r1, 0x90 - bl CopySpeciesNametoBuffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08087FAC: .4byte sub_8086A3C -_08087FB0: .4byte gUnknown_202E038 - thumb_func_end sub_8087F54 - - thumb_func_start sub_8087FB4 -sub_8087FB4: - push {r4,lr} - movs r0, 0xD - bl sub_8085680 - adds r4, r0, 0 - movs r0, 0x72 - bl sub_8083E88 - bl sub_8085374 - bl sub_80854D4 - movs r0, 0x4 - bl sub_8085930 - adds r0, r4, 0 - movs r1, 0 - bl sub_8085918 - adds r0, r4, 0 - movs r1, 0xF - movs r2, 0 - bl sub_806CDD4 - ldr r0, _08087FF4 - movs r1, 0x90 - bl CopySpeciesNametoBuffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08087FF4: .4byte gUnknown_202E038 - thumb_func_end sub_8087FB4 - - thumb_func_start sub_8087FF8 -sub_8087FF8: - push {r4-r6,lr} - sub sp, 0x4 - bl sub_8085480 - adds r5, r0, 0 - movs r0, 0xD - bl sub_8085680 - adds r4, r0, 0 - bl sub_8085374 - bl sub_80854D4 - movs r0, 0x4 - bl sub_8085930 - ldr r6, _0808803C - adds r0, r6, 0 - bl sub_80855E4 - movs r0, 0x90 - bl sub_8086AE4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08088040 - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, 0 - movs r2, 0 - bl sub_8068FE0 - b _08088060 - .align 2, 0 -_0808803C: .4byte sub_8086A3C -_08088040: - ldr r0, _08088080 - movs r3, 0 - ldrsh r2, [r0, r3] - str r1, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0 - bl sub_8072008 - adds r0, r4, 0 - movs r1, 0 - bl sub_8085918 - adds r0, r4, 0 - bl _call_via_r6 -_08088060: - movs r1, 0x4 - ldrsh r0, [r5, r1] - movs r2, 0x6 - ldrsh r1, [r5, r2] - subs r1, 0x3 - bl sub_8085860 - ldr r0, _08088084 - movs r1, 0x90 - bl CopySpeciesNametoBuffer - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08088080: .4byte gUnknown_80F57D0 -_08088084: .4byte gUnknown_202E038 - thumb_func_end sub_8087FF8 - - thumb_func_start sub_8088088 -sub_8088088: - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - movs r2, 0xF3 - lsls r2, 24 - adds r1, r2 - lsrs r1, 24 - cmp r1, 0x2 - bhi _080880AE - cmp r0, 0xD - bne _080880AE - movs r0, 0x9 - bl sub_8097FA8 - ldr r0, _080880B4 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x2] -_080880AE: - pop {r0} - bx r0 - .align 2, 0 -_080880B4: .4byte gUnknown_203B418 - thumb_func_end sub_8088088 - - thumb_func_start sub_80880B8 -sub_80880B8: - push {r4-r6,lr} - mov r6, r8 - push {r6} - bl sub_8085480 - adds r5, r0, 0 - bl sub_808548C - adds r6, r0, 0 - movs r0, 0xD - bl sub_8085680 - mov r8, r0 - bl sub_8086448 - adds r0, r6, 0 - bl sub_808696C - ldr r0, _080882C8 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - bl sub_8086598 - bl sub_8083F14 - ldr r0, _080882CC - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - adds r0, r6, 0 - movs r1, 0x4 - movs r2, 0x1 - movs r3, 0x2 - bl sub_80869E4 - adds r0, r5, 0 - movs r1, 0x4 - movs r2, 0x2 - movs r3, 0x6 - bl sub_80869E4 - ldr r0, _080882D0 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - adds r0, r5, 0 - movs r1, 0x6 - bl sub_8085918 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - adds r0, r5, 0 - movs r1, 0x5 - bl sub_8085918 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - adds r0, r5, 0 - movs r1, 0x6 - bl sub_8085918 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - adds r0, r5, 0 - movs r1, 0x7 - bl sub_8085918 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - adds r0, r5, 0 - movs r1, 0x6 - bl sub_8085918 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - adds r0, r5, 0 - movs r1, 0x5 - bl sub_8085918 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - adds r0, r5, 0 - movs r1, 0x6 - bl sub_8085918 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _080882D4 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _080882D8 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - adds r0, r5, 0 - movs r1, 0x4 - movs r2, 0x1 - movs r3, 0x4 - bl sub_80869E4 - adds r0, r6, 0 - movs r1, 0x4 - movs r2, 0x2 - movs r3, 0x4 - bl sub_80869E4 - ldr r4, _080882DC - adds r0, r4, 0 - bl sub_8083E38 - adds r0, r6, 0 - bl sub_808696C - adds r0, r4, 0 - bl sub_8083E38 - adds r0, r5, 0 - bl sub_808696C - ldr r0, _080882E0 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _080882E4 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r0, 0 - bl sub_8083E38 - ldr r0, _080882E8 - ldr r0, [r0] - ldr r1, _080882EC - adds r0, r1 - movs r1, 0x7 - strb r1, [r0] - movs r0, 0 - movs r1, 0x1 - bl sub_807EAA0 - movs r0, 0xF7 - lsls r0, 1 - bl sub_8083E38 - bl sub_8088574 - ldr r0, _080882F0 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - bl sub_80884E0 - bl sub_8086738 - movs r0, 0xED - lsls r0, 1 - bl sub_8083E38 - ldr r0, _080882F4 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - movs r0, 0xF5 - lsls r0, 1 - bl sub_8083E38 - mov r0, r8 - bl sub_8088484 - bl sub_80865E8 - bl sub_80884E0 - ldr r0, _080882F8 - bl sub_8052910 - mov r0, r8 - movs r1, 0xF - movs r2, 0 - bl sub_806CDD4 - bl sub_80884E0 - ldr r0, _080882FC - bl sub_8052910 - mov r0, r8 - movs r1, 0x10 - movs r2, 0 - bl sub_806CDD4 - bl sub_80884E0 - ldr r0, _08088300 - bl sub_8052910 - mov r0, r8 - movs r1, 0xF - movs r2, 0 - bl sub_806CDD4 - movs r0, 0x10 - movs r1, 0x46 - bl sub_803E708 - movs r1, 0xE1 - lsls r1, 1 - mov r0, r8 - movs r2, 0xB - bl sub_8086A70 - adds r5, 0xC - adds r0, r5, 0 - movs r1, 0x10 - bl sub_80858AC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080882C8: .4byte gUnknown_8102478 -_080882CC: .4byte gUnknown_81025B4 -_080882D0: .4byte gUnknown_81025D4 -_080882D4: .4byte gUnknown_8102610 -_080882D8: .4byte gUnknown_81026C4 -_080882DC: .4byte 0x000001d5 -_080882E0: .4byte gUnknown_810270C -_080882E4: .4byte gUnknown_810272C -_080882E8: .4byte gUnknown_203B418 -_080882EC: .4byte 0x0000e265 -_080882F0: .4byte gUnknown_81027BC -_080882F4: .4byte gUnknown_8102810 -_080882F8: .4byte gUnknown_8102840 -_080882FC: .4byte gUnknown_810286C -_08088300: .4byte gUnknown_81028B8 - thumb_func_end sub_80880B8 - - thumb_func_start sub_8088304 -sub_8088304: - push {r4,r5,lr} - bl sub_8085480 - adds r5, r0, 0 - movs r0, 0xD - bl sub_8085680 - adds r4, r0, 0 - ldr r0, _08088384 - ldr r0, [r0] - ldr r1, _08088388 - adds r0, r1 - movs r1, 0x7 - strb r1, [r0] - movs r0, 0 - movs r1, 0x1 - bl sub_807EAA0 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - ldr r0, _0808838C - bl sub_8052910 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl sub_806CDD4 - bl sub_80884E0 - ldr r0, _08088390 - bl sub_8052910 - bl sub_80884E0 - ldr r0, _08088394 - bl sub_8052910 - adds r0, r4, 0 - movs r1, 0xF - movs r2, 0 - bl sub_806CDD4 - movs r0, 0x28 - movs r1, 0x46 - bl sub_803E708 - movs r1, 0xE1 - lsls r1, 1 - adds r0, r4, 0 - movs r2, 0xB - bl sub_8086A70 - adds r5, 0xC - adds r0, r5, 0 - movs r1, 0x10 - bl sub_80858AC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08088384: .4byte gUnknown_203B418 -_08088388: .4byte 0x0000e265 -_0808838C: .4byte gUnknown_81028D4 -_08088390: .4byte gUnknown_8102918 -_08088394: .4byte gUnknown_8102948 - thumb_func_end sub_8088304 - - thumb_func_start sub_8088398 -sub_8088398: - push {r4,r5,lr} - bl sub_8085480 - adds r5, r0, 0 - movs r0, 0xD - bl sub_8085680 - adds r4, r0, 0 - bl sub_8086448 - movs r0, 0x90 - bl sub_8086AE4 - lsls r0, 24 - cmp r0, 0 - beq _080883C4 - ldr r0, _080883C0 - bl sub_80866C4 - b _08088460 - .align 2, 0 -_080883C0: .4byte gUnknown_8102A9C -_080883C4: - ldr r0, _08088468 - ldr r0, [r0] - ldr r1, _0808846C - adds r0, r1 - movs r1, 0x7 - strb r1, [r0] - movs r0, 0 - movs r1, 0x1 - bl sub_807EAA0 - bl sub_80884E0 - bl sub_8086738 - movs r0, 0xED - lsls r0, 1 - bl sub_8083E38 - ldr r0, _08088470 - bl sub_8052910 - movs r0, 0xA - movs r1, 0x46 - bl sub_803E708 - adds r0, r4, 0 - bl sub_8088484 - bl sub_80884E0 - ldr r0, _08088474 - bl sub_8052910 - adds r0, r4, 0 - movs r1, 0xF - movs r2, 0 - bl sub_806CDD4 - bl sub_80884E0 - ldr r0, _08088478 - bl sub_8052910 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl sub_806CDD4 - bl sub_80884E0 - ldr r0, _0808847C - bl sub_8052910 - bl sub_80884E0 - ldr r0, _08088480 - bl sub_8052910 - adds r0, r4, 0 - movs r1, 0xF - movs r2, 0 - bl sub_806CDD4 - movs r0, 0x28 - movs r1, 0x46 - bl sub_803E708 - movs r1, 0xE1 - lsls r1, 1 - adds r0, r4, 0 - movs r2, 0xB - bl sub_8086A70 - adds r0, r5, 0 - adds r0, 0xC - movs r1, 0x10 - bl sub_80858AC -_08088460: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08088468: .4byte gUnknown_203B418 -_0808846C: .4byte 0x0000e265 -_08088470: .4byte gUnknown_8102984 -_08088474: .4byte gUnknown_81029B4 -_08088478: .4byte gUnknown_8102A18 -_0808847C: .4byte gUnknown_8102A24 -_08088480: .4byte gUnknown_8102A74 - thumb_func_end sub_8088398 - - thumb_func_start sub_8088484 -sub_8088484: - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, [r5, 0x70] - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r5, 0x70] - movs r1, 0xAF - lsls r1, 1 - adds r0, r1 - strb r2, [r0] - movs r0, 0xF5 - lsls r0, 1 - bl sub_8083E38 - movs r4, 0xFA -_080884AC: - ldr r0, [r5, 0x70] - movs r1, 0xBA - lsls r1, 1 - adds r0, r1 - lsls r1, r4, 8 - str r1, [r0] - lsrs r2, r4, 31 - adds r2, r4, r2 - asrs r2, 1 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - subs r4, 0x5 - cmp r4, 0 - bge _080884AC - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8088484 - - thumb_func_start sub_80884E0 -sub_80884E0: - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _08088570 - bl sub_8083E38 - movs r4, 0xFA -_080884EC: - lsrs r0, r4, 31 - adds r0, r4, r0 - asrs r0, 1 - movs r1, 0x1 - str r1, [sp] - adds r1, r4, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - subs r4, 0xA - cmp r4, 0x95 - bgt _080884EC - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - movs r4, 0xFA - movs r5, 0x1 -_08088518: - str r5, [sp] - movs r0, 0 - adds r1, r4, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - subs r4, 0xA - cmp r4, 0xC7 - bgt _08088518 - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - movs r4, 0xFA -_0808853C: - lsrs r0, r4, 31 - adds r0, r4, r0 - asrs r0, 1 - movs r1, 0x1 - str r1, [sp] - adds r1, r4, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - subs r4, 0xA - cmp r4, 0 - bge _0808853C - movs r0, 0x4 - movs r1, 0x46 - bl sub_803E708 - bl sub_8085EB0 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08088570: .4byte 0x000002ad - thumb_func_end sub_80884E0 - - thumb_func_start sub_8088574 -sub_8088574: - push {r4,r5,lr} - sub sp, 0x4 - movs r4, 0 - movs r5, 0 -_0808857C: - str r5, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r4, 0 - movs r3, 0 - bl sub_8085C54 - movs r0, 0x46 - bl sub_803E46C - adds r4, 0x8 - cmp r4, 0x50 - ble _0808857C - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8088574 - - thumb_func_start sub_80885A0 -sub_80885A0: - push {lr} - movs r0, 0x3C - bl sub_8083ED8 - movs r0, 0x3C - movs r1, 0x46 - bl sub_803E708 - bl sub_8083F14 - ldr r0, _080885C0 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x7] - pop {r0} - bx r0 - .align 2, 0 -_080885C0: .4byte gUnknown_203B418 - thumb_func_end sub_80885A0 - - thumb_func_start sub_80885C4 -sub_80885C4: - push {r4,lr} - bl sub_8085480 - adds r4, r0, 0 - movs r0, 0x3C - bl sub_8083ED8 - movs r0, 0x3C - movs r1, 0x46 - bl sub_803E708 - bl sub_8083F14 - bl sub_80854D4 - movs r0, 0x4 - bl sub_8085930 - ldr r0, _08088604 - bl sub_80855E4 - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - subs r1, 0x3 - bl sub_8085860 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08088604: .4byte sub_8086A3C - thumb_func_end sub_80885C4 - - thumb_func_start sub_8088608 -sub_8088608: - ldr r0, _08088614 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x2] - bx lr - .align 2, 0 -_08088614: .4byte gUnknown_203B418 - thumb_func_end sub_8088608 - - thumb_func_start sub_8088618 -sub_8088618: - push {lr} - bl sub_8086448 - ldr r0, _08088628 - bl sub_80866C4 - pop {r0} - bx r0 - .align 2, 0 -_08088628: .4byte gUnknown_8102B10 - thumb_func_end sub_8088618 - - thumb_func_start sub_808862C -sub_808862C: - push {r4-r6,lr} - mov r6, r8 - push {r6} - bl sub_8085480 - mov r8, r0 - movs r0, 0xA - bl sub_8085680 - adds r5, r0, 0 - movs r0, 0xE - bl sub_8085680 - adds r6, r0, 0 - movs r0, 0x72 - bl sub_8083E88 - bl sub_80867F4 - bl sub_8085374 - bl sub_80854D4 - movs r0, 0x4 - bl sub_8085930 - ldr r4, _080886B8 - adds r0, r4, 0 - bl sub_80855E4 - adds r0, r5, 0 - movs r1, 0x4 - bl sub_8085918 - adds r0, r5, 0 - movs r1, 0xD - movs r2, 0x4 - bl sub_80861D4 - adds r0, r6, 0 - movs r1, 0 - bl sub_8085918 - adds r0, r6, 0 - bl _call_via_r4 - mov r1, r8 - movs r2, 0x4 - ldrsh r0, [r1, r2] - movs r3, 0x6 - ldrsh r1, [r1, r3] - subs r1, 0x3 - bl sub_8085860 - ldr r4, _080886BC - ldr r1, _080886C0 - adds r0, r4, 0 - bl CopySpeciesNametoBuffer - adds r4, 0x50 - adds r0, r4, 0 - movs r1, 0x41 - bl CopySpeciesNametoBuffer - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080886B8: .4byte sub_8086A3C -_080886BC: .4byte gUnknown_202E038 -_080886C0: .4byte 0x0000019b - thumb_func_end sub_808862C + thumb_func_end ZapdosPreFightDialogue .align 2,0 diff --git a/asm/code_808DAB4.s b/asm/code_808DAB4.s index 93e7bf3..a225f8d 100644 --- a/asm/code_808DAB4.s +++ b/asm/code_808DAB4.s @@ -129,7 +129,7 @@ sub_808DF2C: pop {r0} bx r0 .align 2, 0 -_0808DF40: .4byte gUnknown_203B45C +_0808DF40: .4byte gRecruitedPokemonRef thumb_func_end sub_808DF2C thumb_func_start sub_808DF44 @@ -233,7 +233,7 @@ sub_808DFDC: bl sub_8090BB0 b _0808E00A .align 2, 0 -_0808E000: .4byte gUnknown_203B45C +_0808E000: .4byte gRecruitedPokemonRef _0808E004: adds r0, r3, 0 adds r0, 0x28 @@ -1225,7 +1225,7 @@ _0808E746: movs r0, 0x1 b _0808E76A .align 2, 0 -_0808E75C: .4byte gUnknown_203B45C +_0808E75C: .4byte gRecruitedPokemonRef _0808E760: adds r2, 0x58 adds r3, 0x1 @@ -1430,8 +1430,8 @@ _0808E8C4: bx r1 thumb_func_end sub_808E858 - thumb_func_start sub_808E8C8 -sub_808E8C8: + thumb_func_start GetUnownIndex +GetUnownIndex: push {lr} lsls r0, 16 asrs r1, r0, 16 @@ -1579,7 +1579,7 @@ _0808E9B0: _0808E9B2: pop {r1} bx r1 - thumb_func_end sub_808E8C8 + thumb_func_end GetUnownIndex thumb_func_start sub_808E9B8 sub_808E9B8: diff --git a/asm/code_808EAB0.s b/asm/code_808EAB0.s index b561623..ac46e44 100644 --- a/asm/code_808EAB0.s +++ b/asm/code_808EAB0.s @@ -66,7 +66,7 @@ _0808ED64: pop {r0} bx r0 .align 2, 0 -_0808ED70: .4byte gUnknown_203B45C +_0808ED70: .4byte gRecruitedPokemonRef _0808ED74: .4byte 0x00008f88 thumb_func_end sub_808ED00 @@ -135,7 +135,7 @@ _0808EDE2: b _0808EDFA .align 2, 0 _0808EDF0: .4byte 0x0000ffff -_0808EDF4: .4byte gUnknown_203B45C +_0808EDF4: .4byte gRecruitedPokemonRef _0808EDF8: strb r0, [r1, 0x3] _0808EDFA: @@ -168,7 +168,7 @@ _0808EE16: strb r0, [r1] b _0808EE40 .align 2, 0 -_0808EE34: .4byte gUnknown_203B45C +_0808EE34: .4byte gRecruitedPokemonRef _0808EE38: .4byte 0x00008f88 _0808EE3C: mov r0, r8 @@ -275,7 +275,7 @@ _0808EEDA: movs r1, 0x3 b _0808EF20 .align 2, 0 -_0808EF10: .4byte gUnknown_203B45C +_0808EF10: .4byte gRecruitedPokemonRef _0808EF14: .4byte 0x00008f88 _0808EF18: ldr r0, [r7] @@ -345,7 +345,7 @@ _0808EF84: bx r1 .align 2, 0 _0808EF98: .4byte 0x00008f88 -_0808EF9C: .4byte gUnknown_203B45C +_0808EF9C: .4byte gRecruitedPokemonRef thumb_func_end sub_808EE9C thumb_func_start sub_808EFA0 @@ -689,7 +689,7 @@ _0808F296: pop {r1} bx r1 .align 2, 0 -_0808F2A8: .4byte gUnknown_203B45C +_0808F2A8: .4byte gRecruitedPokemonRef _0808F2AC: .4byte 0x00008df8 thumb_func_end sub_808F154 @@ -733,7 +733,7 @@ _0808F2C4: strb r2, [r4, 0x2] b _0808F30A .align 2, 0 -_0808F300: .4byte gUnknown_203B45C +_0808F300: .4byte gRecruitedPokemonRef _0808F304: .4byte 0x00008df8 _0808F308: strb r1, [r4, 0x2] @@ -927,11 +927,11 @@ _0808F488: bne _0808F49C movs r0, 0x41 adds r1, r7, 0 - bl sub_808DD48 + bl GetPokemonEvolveConditions b _0808F4A2 _0808F49C: adds r1, r7, 0 - bl sub_808DD48 + bl GetPokemonEvolveConditions _0808F4A2: ldrh r0, [r7, 0x2] cmp r0, 0 @@ -974,7 +974,7 @@ _0808F4E0: asrs r0, 16 str r0, [sp, 0x1C] adds r1, r7, 0 - bl sub_808DD48 + bl GetPokemonEvolveConditions ldrh r0, [r7, 0x2] cmp r0, 0 bne _0808F4FA diff --git a/asm/code_809017C.s b/asm/code_809017C.s index 5ea4cef..205f7bb 100644 --- a/asm/code_809017C.s +++ b/asm/code_809017C.s @@ -369,7 +369,7 @@ _080903F2: b _08090430 .align 2, 0 _0809040C: .4byte gUnknown_8108F40 -_08090410: .4byte gUnknown_203B45C +_08090410: .4byte gRecruitedPokemonRef _08090414: .4byte gDungeons _08090418: .4byte gUnknown_8115A2C _0809041C: @@ -432,7 +432,7 @@ _0809048E: beq _0809054E ldr r0, _080904B0 adds r1, r2, 0 - bl sub_808D908 + bl CopyCyanSpeciesNametoBuffer cmp r5, 0x3 ble _080904D2 mov r0, r8 @@ -503,7 +503,7 @@ _08090510: b _08090536 .align 2, 0 _08090528: .4byte gUnknown_8115BA4 -_0809052C: .4byte gUnknown_203B45C +_0809052C: .4byte gRecruitedPokemonRef _08090530: .4byte gUnknown_8115BF4 _08090534: ldr r0, _080905D0 @@ -685,7 +685,7 @@ _08090690: _080906A0: .4byte gUnknown_8115D14 _080906A4: .4byte gDungeons _080906A8: .4byte 0x0000019d -_080906AC: .4byte gUnknown_203B45C +_080906AC: .4byte gRecruitedPokemonRef _080906B0: .4byte gUnknown_8115D5C _080906B4: ldr r0, _080906D8 @@ -899,7 +899,7 @@ _08090852: movs r0, 0x1 b _08090880 .align 2, 0 -_08090868: .4byte gUnknown_203B45C +_08090868: .4byte gRecruitedPokemonRef _0809086C: adds r2, 0x8 adds r3, 0x1 @@ -1077,3165 +1077,5 @@ _0809098C: _08090994: .4byte gUnknown_810A350 thumb_func_end sub_809095C - thumb_func_start LoadItemParameters -LoadItemParameters: - push {lr} - ldr r1, _080909B8 - ldr r0, _080909BC - str r0, [r1] - ldr r0, _080909C0 - ldr r1, _080909C4 - bl OpenFileAndGetFileDataPtr - ldr r1, _080909C8 - str r0, [r1] - ldr r1, _080909CC - ldr r0, [r0, 0x4] - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080909B8: .4byte gUnknown_203B460 -_080909BC: .4byte gUnknown_20389A8 -_080909C0: .4byte gUnknown_8109764 -_080909C4: .4byte gSystemFileArchive -_080909C8: .4byte gItemParametersFile -_080909CC: .4byte gItemParametersFile + 4 - thumb_func_end LoadItemParameters - - thumb_func_start sub_80909D0 -sub_80909D0: - ldr r0, _080909D4 - bx lr - .align 2, 0 -_080909D4: .4byte gUnknown_20389A8 - thumb_func_end sub_80909D0 - - thumb_func_start sub_80909D8 -sub_80909D8: - push {r4,lr} - movs r4, 0 - ldr r3, _08090A30 - movs r2, 0 -_080909E0: - ldr r0, [r3] - lsls r1, r4, 2 - adds r0, r1 - strb r2, [r0] - adds r4, 0x1 - cmp r4, 0x13 - ble _080909E0 - movs r4, 0 - ldr r3, _08090A30 - movs r2, 0 -_080909F4: - ldr r0, [r3] - lsls r1, r4, 1 - adds r0, 0x50 - adds r0, r1 - strh r2, [r0] - adds r4, 0x1 - cmp r4, 0xEF - ble _080909F4 - movs r4, 0 -_08090A06: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8091840 - adds r4, 0x1 - cmp r4, 0x7 - ble _08090A06 - ldr r0, _08090A30 - ldr r2, [r0] - movs r1, 0x98 - lsls r1, 2 - adds r0, r2, r1 - movs r1, 0 - str r1, [r0] - movs r3, 0x99 - lsls r3, 2 - adds r0, r2, r3 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08090A30: .4byte gUnknown_203B460 - thumb_func_end sub_80909D8 - - thumb_func_start sub_8090A34 -sub_8090A34: - push {r4,r5,lr} - movs r4, 0 - ldr r0, _08090A5C - movs r5, 0x1 - ldr r2, [r0] - movs r3, 0x13 -_08090A40: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _08090A4C - adds r4, 0x1 -_08090A4C: - adds r2, 0x4 - subs r3, 0x1 - cmp r3, 0 - bge _08090A40 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08090A5C: .4byte gUnknown_203B460 - thumb_func_end sub_8090A34 - - thumb_func_start sub_8090A60 -sub_8090A60: - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8090BD0 - lsls r0, 24 - cmp r0, 0 - beq _08090A84 - adds r0, r4, 0 - bl sub_8090BD0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08090A84 - movs r0, 0 - b _08090A86 -_08090A84: - movs r0, 0x1 -_08090A86: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8090A60 - - thumb_func_start sub_8090A8C -sub_8090A8C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - cmp r5, 0 - beq _08090AF8 - movs r7, 0x1 - strb r7, [r6] - strb r5, [r6, 0x2] - adds r0, r5, 0 - bl sub_8090A60 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _08090AD4 - adds r0, r5, 0 - movs r1, 0 - bl sub_8090D80 - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8090D80 - adds r1, r0, 0 - adds r0, r4, 0 - bl RandomRange - strb r0, [r6, 0x1] - b _08090AE8 -_08090AD4: - adds r0, r5, 0 - bl sub_8090BD0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _08090AE6 - strb r7, [r6, 0x1] - b _08090AE8 -_08090AE6: - strb r4, [r6, 0x1] -_08090AE8: - mov r0, r8 - cmp r0, 0 - beq _08090AFE - ldrb r1, [r6] - movs r0, 0x8 - orrs r0, r1 - strb r0, [r6] - b _08090AFE -_08090AF8: - strb r5, [r6] - strb r5, [r6, 0x2] - strb r5, [r6, 0x1] -_08090AFE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8090A8C - - thumb_func_start sub_8090B08 -sub_8090B08: - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r5, 0 - beq _08090B5A - strb r5, [r6] - adds r0, r5, 0 - bl sub_8090A60 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _08090B42 - adds r0, r5, 0 - movs r1, 0 - bl sub_8090D80 - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8090D80 - adds r1, r0, 0 - adds r0, r4, 0 - bl RandomRange - strb r0, [r6, 0x1] - b _08090B5E -_08090B42: - adds r0, r5, 0 - bl sub_8090BD0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _08090B56 - movs r0, 0x1 - strb r0, [r6, 0x1] - b _08090B5E -_08090B56: - strb r4, [r6, 0x1] - b _08090B5E -_08090B5A: - strb r5, [r6] - strb r5, [r6, 0x1] -_08090B5E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8090B08 - - thumb_func_start sub_8090B64 -sub_8090B64: - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r1, [r5] - adds r0, r1, 0 - cmp r0, 0 - beq _08090BA4 - movs r0, 0x1 - strb r0, [r4] - strb r1, [r4, 0x2] - ldrb r0, [r4, 0x2] - bl sub_8090A60 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _08090B9A - ldrb r0, [r4, 0x2] - bl sub_8090BD0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - beq _08090B9A - ldrb r0, [r4, 0x2] - cmp r0, 0x7C - bne _08090BA0 -_08090B9A: - ldrb r0, [r5, 0x1] - strb r0, [r4, 0x1] - b _08090BAA -_08090BA0: - strb r6, [r4, 0x1] - b _08090BAA -_08090BA4: - strb r0, [r4, 0x2] - strb r0, [r4, 0x1] - strb r0, [r4] -_08090BAA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8090B64 - - thumb_func_start sub_8090BB0 -sub_8090BB0: - push {lr} - adds r3, r0, 0 - ldrb r0, [r1] - movs r2, 0x1 - ands r2, r0 - cmp r2, 0 - beq _08090BC8 - ldrb r0, [r1, 0x2] - strb r0, [r3] - ldrb r0, [r1, 0x1] - strb r0, [r3, 0x1] - b _08090BCA -_08090BC8: - strb r2, [r3] -_08090BCA: - pop {r0} - bx r0 - thumb_func_end sub_8090BB0 - - thumb_func_start sub_8090BD0 -sub_8090BD0: - lsls r0, 24 - ldr r1, _08090BE0 - ldr r1, [r1] - lsrs r0, 19 - adds r0, r1 - ldrb r0, [r0, 0xC] - bx lr - .align 2, 0 -_08090BE0: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090BD0 - - thumb_func_start sub_8090BE4 -sub_8090BE4: - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x2] - cmp r0, 0x69 - bne _08090BF6 - adds r0, r4, 0 - bl sub_80915D4 - b _08090C24 -_08090BF6: - ldrb r0, [r4, 0x2] - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - bne _08090C14 - ldrb r0, [r4, 0x2] - ldr r1, _08090C10 - ldr r1, [r1] - lsls r0, 5 - adds r0, r1 - ldr r0, [r0, 0x4] - b _08090C24 - .align 2, 0 -_08090C10: .4byte gItemParametersFile + 4 -_08090C14: - ldrb r0, [r4, 0x2] - ldr r1, _08090C2C - ldr r1, [r1] - lsls r0, 5 - adds r0, r1 - ldrb r1, [r4, 0x1] - ldr r0, [r0, 0x4] - muls r0, r1 -_08090C24: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08090C2C: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090BE4 - - thumb_func_start sub_8090C30 -sub_8090C30: - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x2] - cmp r0, 0x69 - bne _08090C42 - adds r0, r4, 0 - bl sub_80915D4 - b _08090C70 -_08090C42: - ldrb r0, [r4, 0x2] - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - bne _08090C60 - ldrb r0, [r4, 0x2] - ldr r1, _08090C5C - ldr r1, [r1] - lsls r0, 5 - adds r0, r1 - ldr r0, [r0, 0x8] - b _08090C70 - .align 2, 0 -_08090C5C: .4byte gItemParametersFile + 4 -_08090C60: - ldrb r0, [r4, 0x2] - ldr r1, _08090C78 - ldr r1, [r1] - lsls r0, 5 - adds r0, r1 - ldrb r1, [r4, 0x1] - ldr r0, [r0, 0x8] - muls r0, r1 -_08090C70: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08090C78: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090C30 - - thumb_func_start sub_8090C7C -sub_8090C7C: - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x2] - bl sub_80914E4 - lsls r0, 24 - cmp r0, 0 - bne _08090C90 - movs r0, 0 - b _08090CC0 -_08090C90: - ldrb r0, [r4, 0x2] - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - bne _08090CB0 - ldrb r0, [r4, 0x2] - ldr r1, _08090CAC - ldr r1, [r1] - lsls r0, 5 - adds r0, r1 - ldr r0, [r0, 0x4] - b _08090CC0 - .align 2, 0 -_08090CAC: .4byte gItemParametersFile + 4 -_08090CB0: - ldrb r0, [r4, 0x2] - ldr r1, _08090CC8 - ldr r1, [r1] - lsls r0, 5 - adds r0, r1 - ldrb r1, [r4, 0x1] - ldr r0, [r0, 0x4] - muls r0, r1 -_08090CC0: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08090CC8: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090C7C - - thumb_func_start sub_8090CCC -sub_8090CCC: - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x2] - bl sub_80914E4 - lsls r0, 24 - cmp r0, 0 - bne _08090CE0 - movs r0, 0 - b _08090D10 -_08090CE0: - ldrb r0, [r4, 0x2] - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - bne _08090D00 - ldrb r0, [r4, 0x2] - ldr r1, _08090CFC - ldr r1, [r1] - lsls r0, 5 - adds r0, r1 - ldr r0, [r0, 0x8] - b _08090D10 - .align 2, 0 -_08090CFC: .4byte gItemParametersFile + 4 -_08090D00: - ldrb r0, [r4, 0x2] - ldr r1, _08090D18 - ldr r1, [r1] - lsls r0, 5 - adds r0, r1 - ldrb r1, [r4, 0x1] - ldr r0, [r0, 0x8] - muls r0, r1 -_08090D10: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08090D18: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090CCC - - thumb_func_start sub_8090D1C -sub_8090D1C: - lsls r0, 24 - ldr r1, _08090D2C - ldr r1, [r1] - lsrs r0, 19 - adds r0, r1 - ldr r0, [r0, 0x4] - bx lr - .align 2, 0 -_08090D2C: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090D1C - - thumb_func_start sub_8090D30 -sub_8090D30: - lsls r0, 24 - ldr r1, _08090D40 - ldr r1, [r1] - lsrs r0, 19 - adds r0, r1 - ldr r0, [r0, 0x8] - bx lr - .align 2, 0 -_08090D40: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090D30 - - thumb_func_start sub_8090D44 -sub_8090D44: - lsls r0, 24 - ldr r1, _08090D54 - ldr r1, [r1] - lsrs r0, 19 - adds r0, r1 - ldrb r0, [r0, 0x1A] - bx lr - .align 2, 0 -_08090D54: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090D44 - - thumb_func_start sub_8090D58 -sub_8090D58: - lsls r0, 24 - ldr r1, _08090D68 - ldr r1, [r1] - lsrs r0, 19 - adds r0, r1 - ldrb r0, [r0, 0x1D] - bx lr - .align 2, 0 -_08090D68: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090D58 - - thumb_func_start sub_8090D6C -sub_8090D6C: - lsls r0, 24 - ldr r1, _08090D7C - ldr r1, [r1] - lsrs r0, 19 - adds r0, r1 - ldrb r0, [r0, 0x1E] - bx lr - .align 2, 0 -_08090D7C: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090D6C - - thumb_func_start sub_8090D80 -sub_8090D80: - lsls r0, 24 - ldr r2, _08090D94 - ldr r2, [r2] - lsrs r0, 19 - adds r0, r2 - adds r0, 0x1B - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08090D94: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090D80 - - thumb_func_start sub_8090D98 -sub_8090D98: - lsls r0, 24 - ldr r1, _08090DA8 - ldr r1, [r1] - lsrs r0, 19 - adds r0, r1 - ldr r0, [r0, 0x10] - bx lr - .align 2, 0 -_08090DA8: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090D98 - - thumb_func_start sub_8090DAC -sub_8090DAC: - lsls r0, 24 - ldr r2, _08090DC0 - ldr r2, [r2] - lsrs r0, 19 - adds r0, r2 - adds r0, 0x14 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08090DC0: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090DAC - - thumb_func_start sub_8090DC4 -sub_8090DC4: - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x54 - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08090E10 - ldr r1, [r0] - lsls r0, r4, 5 - adds r0, r1 - ldr r1, [r0] - mov r0, sp - movs r2, 0x50 - bl strncpy - add r5, sp, 0x50 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_8090A8C - movs r0, 0x1 - strb r0, [r5, 0x1] - adds r0, r6, 0 - mov r1, sp - adds r2, r5, 0 - mov r3, r8 - bl sub_8090F58 - add sp, 0x54 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08090E10: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090DC4 - - thumb_func_start sub_8090E14 -sub_8090E14: - push {r4-r7,lr} - sub sp, 0x50 - adds r6, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - movs r4, 0 - cmp r7, 0 - beq _08090E2C - ldrb r1, [r7, 0x8] - negs r0, r1 - orrs r0, r1 - lsrs r4, r0, 31 -_08090E2C: - ldrb r0, [r5, 0x2] - bl sub_8090BD0 - lsls r0, 24 - cmp r0, 0 - bne _08090E3E - cmp r4, 0 - bne _08090E50 - b _08090E70 -_08090E3E: - ldrb r0, [r5, 0x2] - bl sub_8090BD0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08090E90 - cmp r4, 0 - beq _08090E70 -_08090E50: - ldr r1, _08090E68 - ldrb r0, [r5, 0x2] - ldr r2, _08090E6C - ldr r2, [r2] - lsls r0, 5 - adds r0, r2 - ldr r2, [r0] - ldrb r3, [r5, 0x1] - mov r0, sp - bl sub_800D158 - b _08090EC4 - .align 2, 0 -_08090E68: .4byte gUnknown_8109770 -_08090E6C: .4byte gItemParametersFile + 4 -_08090E70: - ldr r1, _08090E88 - ldrb r0, [r5, 0x2] - ldr r2, _08090E8C - ldr r2, [r2] - lsls r0, 5 - adds r0, r2 - ldr r2, [r0] - mov r0, sp - bl sub_800D158 - b _08090EC4 - .align 2, 0 -_08090E88: .4byte gUnknown_8109778 -_08090E8C: .4byte gItemParametersFile + 4 -_08090E90: - ldrb r0, [r5, 0x2] - cmp r0, 0x69 - bne _08090EB0 - ldr r4, _08090EAC - adds r0, r5, 0 - bl sub_80915D4 - adds r2, r0, 0 - mov r0, sp - adds r1, r4, 0 - bl sub_800D158 - b _08090EC4 - .align 2, 0 -_08090EAC: .4byte gUnknown_810977C -_08090EB0: - ldrb r0, [r5, 0x2] - ldr r1, _08090F2C - ldr r1, [r1] - lsls r0, 5 - adds r0, r1 - ldr r1, [r0] - mov r0, sp - movs r2, 0x50 - bl strncpy -_08090EC4: - ldrb r1, [r5] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08090EE2 - ldr r1, _08090F30 - adds r0, r6, 0 - mov r2, sp - bl sub_800D158 - mov r0, sp - adds r1, r6, 0 - movs r2, 0x50 - bl strncpy -_08090EE2: - cmp r7, 0 - beq _08090F38 - ldrb r0, [r7, 0x4] - cmp r0, 0 - beq _08090F0A - ldrb r1, [r5] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08090F0A - ldr r1, _08090F34 - adds r0, r6, 0 - mov r2, sp - bl sub_800D158 - mov r0, sp - adds r1, r6, 0 - movs r2, 0x50 - bl strncpy -_08090F0A: - ldr r0, [r7] - cmp r0, 0x1 - beq _08090F14 - cmp r0, 0x3 - bne _08090F44 -_08090F14: - ldrb r1, [r5] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08090F38 - adds r0, r6, 0 - mov r1, sp - adds r2, r5, 0 - adds r3, r7, 0 - bl sub_8090F58 - b _08090F50 - .align 2, 0 -_08090F2C: .4byte gItemParametersFile + 4 -_08090F30: .4byte gUnknown_8109784 -_08090F34: .4byte gUnknown_810978C -_08090F38: - adds r0, r6, 0 - mov r1, sp - movs r2, 0x50 - bl strncpy - b _08090F50 -_08090F44: - adds r0, r6, 0 - mov r1, sp - adds r2, r5, 0 - adds r3, r7, 0 - bl sub_8090F58 -_08090F50: - add sp, 0x50 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8090E14 - - thumb_func_start sub_8090F58 -sub_8090F58: - push {r4-r6,lr} - sub sp, 0x2C - adds r5, r0, 0 - adds r6, r1, 0 - adds r0, r2, 0 - adds r4, r3, 0 - cmp r4, 0 - bne _08090F6C - adds r0, r5, 0 - b _08090F94 -_08090F6C: - ldr r1, [r4] - cmp r1, 0x1 - bcc _08090F8A - cmp r1, 0x2 - bhi _08090F7E - bl sub_8090BE4 - adds r1, r0, 0 - b _08090F8C -_08090F7E: - cmp r1, 0x4 - bhi _08090F8A - bl sub_8090C30 - adds r1, r0, 0 - b _08090F8C -_08090F8A: - movs r1, 0 -_08090F8C: - cmp r1, 0 - bne _08090F9C - adds r0, r5, 0 - adds r1, r6, 0 -_08090F94: - movs r2, 0x50 - bl strncpy - b _08090FDE -_08090F9C: - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08090FC8 - adds r0, r1, 0 - add r1, sp, 0x4 - movs r2, 0x1 - bl sub_8090FEC - ldr r1, _08090FC4 - movs r0, 0x6 - ldrsh r3, [r4, r0] - add r2, sp, 0x4 - str r2, [sp] - adds r0, r5, 0 - adds r2, r6, 0 - bl sub_800D158 - b _08090FDE - .align 2, 0 -_08090FC4: .4byte gUnknown_8109794 -_08090FC8: - adds r0, r1, 0 - add r1, sp, 0x4 - movs r2, 0 - bl sub_8090FEC - ldr r1, _08090FE8 - adds r0, r5, 0 - adds r2, r6, 0 - add r3, sp, 0x4 - bl sub_800D158 -_08090FDE: - add sp, 0x2C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08090FE8: .4byte gUnknown_81097A4 - thumb_func_end sub_8090F58 - - thumb_func_start sub_8090FEC -sub_8090FEC: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - movs r0, 0 - mov r8, r0 - movs r6, 0 - movs r2, 0 - ldr r1, _08091050 - mov r9, r1 - mov r12, r9 -_0809100E: - movs r1, 0 - lsls r3, r2, 2 - ldr r7, _08091054 - adds r0, r3, r7 - ldr r0, [r0] - adds r7, r2, 0x1 - cmp r5, r0 - blt _0809102C - ldr r2, _08091054 -_08091020: - adds r0, r3, r2 - ldr r0, [r0] - subs r5, r0 - adds r1, 0x1 - cmp r5, r0 - bge _08091020 -_0809102C: - cmp r1, 0x9 - ble _08091032 - movs r1, 0x9 -_08091032: - cmp r1, 0 - beq _0809105C - movs r0, 0x1 - mov r8, r0 - lsls r1, 1 - mov r2, r12 - adds r0, r1, r2 - ldrb r0, [r0] - strb r0, [r4] - adds r4, 0x1 - ldr r0, _08091058 - adds r1, r0 - ldrb r0, [r1] - b _0809106C - .align 2, 0 -_08091050: .4byte gUnknown_81097C4 -_08091054: .4byte gUnknown_81097B0 -_08091058: .4byte gUnknown_81097C5 -_0809105C: - mov r1, r8 - cmp r1, 0 - beq _08091074 - mov r2, r12 - ldrb r0, [r2] - strb r0, [r4] - adds r4, 0x1 - ldrb r0, [r2, 0x1] -_0809106C: - strb r0, [r4] - adds r4, 0x1 - adds r6, 0x1 - b _08091080 -_08091074: - mov r0, r10 - cmp r0, 0 - beq _08091080 - movs r0, 0x60 - strb r0, [r4] - adds r4, 0x1 -_08091080: - adds r2, r7, 0 - cmp r2, 0x4 - ble _0809100E - lsls r1, r5, 1 - mov r2, r9 - adds r0, r1, r2 - ldrb r0, [r0] - strb r0, [r4] - adds r4, 0x1 - mov r0, r9 - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - strb r0, [r4] - adds r6, 0x1 - movs r0, 0 - strb r0, [r4, 0x1] - adds r0, r6, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8090FEC - - thumb_func_start sub_80910B4 -sub_80910B4: - push {r4-r7,lr} - movs r2, 0 - movs r4, 0 - ldr r7, _080910C0 - movs r3, 0 - b _080910DA - .align 2, 0 -_080910C0: .4byte gUnknown_203B460 -_080910C4: - cmp r2, r4 - ble _080910D4 - ldr r0, [r7] - lsls r1, r4, 2 - adds r1, r0, r1 - adds r0, r3 - ldr r0, [r0] - str r0, [r1] -_080910D4: - adds r3, 0x4 - adds r2, 0x1 - adds r4, 0x1 -_080910DA: - cmp r2, 0x13 - bgt _08091106 - ldr r0, [r7] - adds r0, r3, r0 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08091106 - ldr r5, _0809112C - movs r6, 0x1 -_080910F0: - adds r3, 0x4 - adds r2, 0x1 - cmp r2, 0x13 - bgt _08091106 - ldr r0, [r5] - adds r0, r3, r0 - ldrb r1, [r0] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _080910F0 -_08091106: - cmp r2, 0x14 - bne _080910C4 - cmp r4, 0x13 - bgt _08091124 - ldr r3, _0809112C - movs r2, 0 -_08091112: - lsls r1, r4, 2 - ldr r0, [r3] - adds r1, r0 - strb r2, [r1, 0x2] - strb r2, [r1, 0x1] - strb r2, [r1] - adds r4, 0x1 - cmp r4, 0x13 - ble _08091112 -_08091124: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809112C: .4byte gUnknown_203B460 - thumb_func_end sub_80910B4 - - thumb_func_start sub_8091130 -sub_8091130: - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r3, 0 - ldr r0, _08091154 - ldr r2, [r0] - movs r5, 0x1 -_0809113E: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _08091158 - ldrb r0, [r2, 0x2] - cmp r0, r4 - bne _08091158 - adds r0, r3, 0 - b _08091164 - .align 2, 0 -_08091154: .4byte gUnknown_203B460 -_08091158: - adds r2, 0x4 - adds r3, 0x1 - cmp r3, 0x13 - ble _0809113E - movs r0, 0x1 - negs r0, r0 -_08091164: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8091130 - - thumb_func_start sub_809116C -sub_809116C: - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r0, _080911A0 - ldr r2, [r0] - movs r6, 0x1 - movs r3, 0x13 -_0809117C: - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0809118E - ldrb r0, [r2, 0x2] - cmp r0, r5 - bne _0809118E - adds r4, 0x1 -_0809118E: - adds r2, 0x4 - subs r3, 0x1 - cmp r3, 0 - bge _0809117C - adds r0, r4, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080911A0: .4byte gUnknown_203B460 - thumb_func_end sub_809116C - - thumb_func_start sub_80911A4 -sub_80911A4: - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_809116C - adds r4, r0, 0 - movs r3, 0 - ldr r0, _080911F4 - ldr r7, [r0] - movs r6, 0x1 -_080911BA: - movs r0, 0x58 - muls r0, r3 - adds r2, r7, r0 - ldrh r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _080911E2 - lsrs r0, r1, 1 - ands r0, r6 - cmp r0, 0 - beq _080911E2 - adds r0, r2, 0 - adds r0, 0x28 - ldrb r0, [r0] - cmp r0, 0 - beq _080911E2 - cmp r0, r5 - bne _080911E2 - adds r4, 0x1 -_080911E2: - adds r3, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r3, r0 - ble _080911BA - adds r0, r4, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080911F4: .4byte gUnknown_203B45C - thumb_func_end sub_80911A4 - - thumb_func_start sub_80911F8 -sub_80911F8: - push {r4,r5,lr} - adds r2, r0, 0 - ldr r4, _08091230 - cmp r2, 0x12 - bgt _0809121C - adds r5, r4, 0 - lsls r0, r2, 2 - adds r3, r0, 0x4 -_08091208: - ldr r0, [r5] - lsls r1, r2, 2 - adds r1, r0, r1 - adds r0, r3 - ldr r0, [r0] - str r0, [r1] - adds r3, 0x4 - adds r2, 0x1 - cmp r2, 0x12 - ble _08091208 -_0809121C: - ldr r0, [r4] - adds r0, 0x4E - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x4C - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08091230: .4byte gUnknown_203B460 - thumb_func_end sub_80911F8 - - thumb_func_start sub_8091234 -sub_8091234: - ldr r3, _08091248 - ldr r1, [r3] - lsls r0, 2 - adds r1, r0 - movs r2, 0 - strb r2, [r1, 0x2] - ldr r1, [r3] - adds r1, r0 - strb r2, [r1] - bx lr - .align 2, 0 -_08091248: .4byte gUnknown_203B460 - thumb_func_end sub_8091234 - - thumb_func_start sub_809124C -sub_809124C: - push {lr} - sub sp, 0x4 - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r2, 24 - mov r0, sp - adds r1, r3, 0 - bl sub_8090A8C - mov r0, sp - bl sub_8091290 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_809124C - - thumb_func_start sub_8091274 -sub_8091274: - push {lr} - sub sp, 0x4 - adds r1, r0, 0 - mov r0, sp - bl sub_8090B64 - mov r0, sp - bl sub_8091290 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8091274 - - thumb_func_start sub_8091290 -sub_8091290: - push {r4-r6,lr} - adds r4, r0, 0 - movs r3, 0 - ldr r5, _080912B4 - movs r6, 0x1 -_0809129A: - lsls r1, r3, 2 - ldr r0, [r5] - adds r2, r1, r0 - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _080912B8 - ldr r0, [r4] - str r0, [r2] - movs r0, 0 - b _080912C0 - .align 2, 0 -_080912B4: .4byte gUnknown_203B460 -_080912B8: - adds r3, 0x1 - cmp r3, 0x13 - ble _0809129A - movs r0, 0x1 -_080912C0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8091290 - - thumb_func_start sub_80912C8 -sub_80912C8: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r5, 0 - movs r6, 0 -_080912D6: - ldr r0, _0809139C - lsls r1, r5, 2 - ldr r0, [r0] - adds r4, r0, r1 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080912FE - ldrb r0, [r4, 0x2] - cmp r0, 0x69 - bne _080912FE - adds r0, r4, 0 - bl sub_80915D4 - bl sub_80913A0 - strb r6, [r4, 0x2] - strb r6, [r4, 0x1] - strb r6, [r4] -_080912FE: - adds r5, 0x1 - cmp r5, 0x13 - ble _080912D6 - bl sub_80910B4 - movs r5, 0 -_0809130A: - movs r0, 0x1 - negs r0, r0 - mov r9, r0 - lsls r2, r5, 2 - ldr r1, _0809139C - mov r8, r1 - ldr r0, [r1] - adds r3, r2, r0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - mov r10, r2 - adds r7, r5, 0x1 - cmp r0, 0 - beq _08091382 - ldrb r0, [r3, 0x2] - bl sub_8090D44 - adds r6, r0, 0 - adds r4, r7, 0 - cmp r7, 0x13 - bgt _08091368 -_08091336: - lsls r5, r4, 2 - mov r1, r8 - ldr r0, [r1] - adds r2, r5, r0 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08091362 - ldrb r0, [r2, 0x2] - bl sub_8090D44 - cmp r6, r0 - ble _08091362 - mov r9, r4 - mov r1, r8 - ldr r0, [r1] - adds r0, r5 - ldrb r0, [r0, 0x2] - bl sub_8090D44 - adds r6, r0, 0 -_08091362: - adds r4, 0x1 - cmp r4, 0x13 - ble _08091336 -_08091368: - mov r4, r9 - cmp r4, 0 - blt _08091382 - ldr r0, _0809139C - ldr r1, [r0] - mov r0, r10 - adds r2, r1, r0 - ldr r3, [r2] - lsls r0, r4, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2] - str r3, [r1] -_08091382: - adds r5, r7, 0 - cmp r5, 0x13 - ble _0809130A - bl sub_80910B4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809139C: .4byte gUnknown_203B460 - thumb_func_end sub_80912C8 - - thumb_func_start sub_80913A0 -sub_80913A0: - push {lr} - ldr r1, _080913C4 - ldr r1, [r1] - movs r3, 0x98 - lsls r3, 2 - adds r2, r1, r3 - ldr r1, [r2] - adds r1, r0 - str r1, [r2] - ldr r0, _080913C8 - cmp r1, r0 - bgt _080913BE - cmp r1, 0 - bge _080913C0 - movs r0, 0 -_080913BE: - str r0, [r2] -_080913C0: - pop {r0} - bx r0 - .align 2, 0 -_080913C4: .4byte gUnknown_203B460 -_080913C8: .4byte 0x0001869f - thumb_func_end sub_80913A0 - - thumb_func_start sub_80913CC -sub_80913CC: - lsls r0, 24 - ldr r1, _080913DC - ldr r1, [r1] - lsrs r0, 19 - adds r0, r1 - ldrh r0, [r0, 0x18] - bx lr - .align 2, 0 -_080913DC: .4byte gItemParametersFile + 4 - thumb_func_end sub_80913CC - - thumb_func_start sub_80913E0 -sub_80913E0: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x5C - adds r6, r0, 0 - adds r5, r1, 0 - mov r8, r2 - ldrb r0, [r6, 0x2] - bl sub_8090D98 - ldrb r1, [r6, 0x2] - add r0, sp, 0x4 - movs r2, 0 - bl sub_8090DC4 - ldrb r0, [r6, 0x2] - cmp r0, 0x7C - bne _08091414 - ldr r0, _080914D4 - ldrb r1, [r6, 0x1] - adds r1, 0x7D - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - bl sub_8090DC4 -_08091414: - adds r0, r5, 0 - bl sub_80073B8 - movs r7, 0 - str r7, [sp] - movs r0, 0x10 - movs r1, 0 - add r2, sp, 0x4 - adds r3, r5, 0 - bl sub_8014FF0 - ldrb r0, [r6, 0x2] - bl sub_8090D98 - adds r2, r0, 0 - str r7, [sp] - movs r0, 0x8 - movs r1, 0x18 - adds r3, r5, 0 - bl sub_8014FF0 - ldrb r0, [r6, 0x2] - bl sub_8090BD0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _080914B6 - add r4, sp, 0x54 - ldrb r0, [r6, 0x2] - bl sub_80913CC - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8092A88 - movs r0, 0x7 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0x4 - movs r2, 0x52 - movs r3, 0xC8 - bl sub_80078A4 - ldr r0, _080914D8 - ldr r2, [r0] - str r7, [sp] - movs r0, 0x4 - movs r1, 0x54 - adds r3, r5, 0 - bl sub_8014FF0 - adds r0, r4, 0 - bl sub_8092B00 - lsls r0, 24 - lsrs r0, 24 - bl GetUnformattedTypeString - adds r2, r0, 0 - str r7, [sp] - movs r0, 0x40 - movs r1, 0x54 - adds r3, r5, 0 - bl sub_8014FF0 - adds r0, r4, 0 - bl sub_8092BF4 - ldr r1, _080914DC - str r0, [r1] - ldr r0, _080914E0 - ldr r2, [r0] - str r7, [sp] - movs r0, 0x80 - movs r1, 0x54 - adds r3, r5, 0 - bl sub_8014FF0 -_080914B6: - adds r0, r5, 0 - bl sub_80073E0 - ldrb r0, [r6, 0x2] - bl sub_8090D98 - mov r1, r8 - bl sub_8097DF0 - add sp, 0x5C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080914D4: .4byte gUnknown_202DE58 -_080914D8: .4byte gUnknown_810CF0C -_080914DC: .4byte gUnknown_202DE30 -_080914E0: .4byte gUnknown_8115970 - thumb_func_end sub_80913E0 - - thumb_func_start sub_80914E4 -sub_80914E4: - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r0, 0 - beq _0809151A - cmp r0, 0x69 - beq _0809151A - cmp r0, 0x79 - beq _0809151A - cmp r0, 0x77 - beq _0809151A - cmp r0, 0x78 - beq _0809151A - cmp r0, 0x7A - beq _0809151A - bl sub_8090D30 - cmp r0, 0 - beq _0809151A - adds r0, r4, 0 - bl sub_8090D1C - cmp r0, 0 - beq _0809151A - movs r0, 0x1 - b _0809151C -_0809151A: - movs r0, 0 -_0809151C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80914E4 - - thumb_func_start sub_8091524 -sub_8091524: - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0 - beq _0809153C - cmp r0, 0x69 - beq _0809153C - cmp r1, 0x7C - beq _0809153C - movs r0, 0x1 - b _0809153E -_0809153C: - movs r0, 0 -_0809153E: - pop {r1} - bx r1 - thumb_func_end sub_8091524 - - thumb_func_start sub_8091544 -sub_8091544: - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0 - beq _08091568 - cmp r0, 0x69 - beq _08091568 - cmp r0, 0x79 - beq _08091568 - cmp r0, 0x77 - beq _08091568 - cmp r0, 0x78 - beq _08091568 - cmp r1, 0x7A - beq _08091568 - movs r0, 0x1 - b _0809156A -_08091568: - movs r0, 0 -_0809156A: - pop {r1} - bx r1 - thumb_func_end sub_8091544 - - thumb_func_start sub_8091570 -sub_8091570: - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8090BD0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _08091596 - adds r0, r4, 0 - bl sub_8090BD0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08091596 - movs r0, 0 - b _08091598 -_08091596: - movs r0, 0x1 -_08091598: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8091570 - - thumb_func_start sub_80915A0 -sub_80915A0: - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0xE0 - beq _080915CC - cmp r0, 0xE1 - beq _080915CC - cmp r0, 0xE2 - beq _080915CC - cmp r0, 0xE3 - beq _080915CC - cmp r0, 0xE4 - beq _080915CC - cmp r0, 0xE5 - beq _080915CC - cmp r0, 0xE6 - beq _080915CC - cmp r1, 0xE7 - beq _080915CC - movs r0, 0 - b _080915CE -_080915CC: - movs r0, 0x1 -_080915CE: - pop {r1} - bx r1 - thumb_func_end sub_80915A0 - - thumb_func_start sub_80915D4 -sub_80915D4: - ldr r1, _080915E0 - ldrb r0, [r0, 0x1] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_080915E0: .4byte gUnknown_810A3F0 - thumb_func_end sub_80915D4 - - thumb_func_start sub_80915E4 -sub_80915E4: - ldr r1, _080915F0 - ldrb r0, [r0, 0x1] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_080915F0: .4byte gUnknown_810A3F0 - thumb_func_end sub_80915E4 - - thumb_func_start sub_80915F4 -sub_80915F4: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r7, r3, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r0, _080916B8 - strh r0, [r7] - movs r0, 0 - strh r0, [r7, 0x2] - adds r0, r5, 0 - bl sub_8091764 - lsls r0, 24 - cmp r0, 0 - bne _0809161E - b _08091756 -_0809161E: - movs r1, 0x8 - ldrsh r0, [r6, r1] - movs r1, 0 - bl GetPokemonType - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r2, 0x8 - ldrsh r0, [r6, r2] - movs r1, 0x1 - bl GetPokemonType - lsls r0, 24 - lsrs r0, 24 - adds r2, r5, 0 - subs r2, 0x55 - ldr r5, _080916BC - lsls r2, 1 - lsls r1, r4, 3 - adds r1, r4 - lsls r1, 2 - adds r1, r2, r1 - adds r1, r5 - movs r4, 0 - ldrsh r3, [r1, r4] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r2, r1 - adds r2, r5 - movs r1, 0 - ldrsh r0, [r2, r1] - movs r2, 0x14 - ldrsh r1, [r6, r2] - adds r3, r0 - ldrh r4, [r6, 0x14] - adds r3, r4 - strh r3, [r6, 0x14] - movs r2, 0x14 - ldrsh r0, [r6, r2] - subs r1, r0, r1 - lsls r3, 16 - cmp r3, 0 - bgt _0809167C - movs r0, 0x1 - strh r0, [r6, 0x14] -_0809167C: - movs r4, 0x14 - ldrsh r0, [r6, r4] - ldr r2, _080916C0 - cmp r0, r2 - ble _08091688 - strh r2, [r6, 0x14] -_08091688: - movs r0, 0 - cmp r1, 0x8 - bgt _0809169C - movs r0, 0x1 - cmp r1, 0x4 - bgt _0809169C - movs r0, 0x3 - cmp r1, 0x2 - ble _0809169C - movs r0, 0x2 -_0809169C: - strh r0, [r7] - mov r1, r8 - cmp r1, 0 - bne _08091756 - cmp r0, 0 - bne _080916C4 - movs r0, 0x10 - bl RandomCapped - cmp r0, 0xA - bne _080916C4 - movs r0, 0xF - b _080916D2 - .align 2, 0 -_080916B8: .4byte 0x0000ffff -_080916BC: .4byte gUnknown_810A580 -_080916C0: .4byte 0x000003e7 -_080916C4: - movs r0, 0x4 - bl RandomCapped - ldr r1, _080916EC - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] -_080916D2: - strh r0, [r7, 0x2] - ldrh r1, [r7, 0x2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080916F6 - ldrb r0, [r6, 0x18] - cmp r0, 0xFE - bhi _080916F0 - adds r0, 0x1 - strb r0, [r6, 0x18] - b _080916F6 - .align 2, 0 -_080916EC: .4byte gUnknown_81097E0 -_080916F0: - ldr r0, _0809170C - ands r0, r1 - strh r0, [r7, 0x2] -_080916F6: - ldrh r1, [r7, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08091716 - ldrb r0, [r6, 0x19] - cmp r0, 0xFE - bhi _08091710 - adds r0, 0x1 - strb r0, [r6, 0x19] - b _08091716 - .align 2, 0 -_0809170C: .4byte 0x0000fffe -_08091710: - ldr r0, _0809172C - ands r0, r1 - strh r0, [r7, 0x2] -_08091716: - ldrh r1, [r7, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08091736 - ldrb r0, [r6, 0x1A] - cmp r0, 0xFE - bhi _08091730 - adds r0, 0x1 - strb r0, [r6, 0x1A] - b _08091736 - .align 2, 0 -_0809172C: .4byte 0x0000fffd -_08091730: - ldr r0, _0809174C - ands r0, r1 - strh r0, [r7, 0x2] -_08091736: - ldrh r1, [r7, 0x2] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08091756 - ldrb r0, [r6, 0x1B] - cmp r0, 0xFE - bhi _08091750 - adds r0, 0x1 - strb r0, [r6, 0x1B] - b _08091756 - .align 2, 0 -_0809174C: .4byte 0x0000fffb -_08091750: - ldr r0, _08091760 - ands r0, r1 - strh r0, [r7, 0x2] -_08091756: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08091760: .4byte 0x0000fff7 - thumb_func_end sub_80915F4 - - thumb_func_start sub_8091764 -sub_8091764: - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x55 - bls _08091776 - cmp r0, 0x66 - bhi _08091776 - movs r0, 0x1 - b _08091778 -_08091776: - movs r0, 0 -_08091778: - pop {r1} - bx r1 - thumb_func_end sub_8091764 - - thumb_func_start sub_809177C -sub_809177C: - push {r4,lr} - movs r4, 0 -_08091780: - lsls r1, r4, 2 - ldr r0, _080917A4 - ldr r0, [r0] - adds r2, r1, r0 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080917A8 - ldrb r0, [r2, 0x2] - bl sub_8091764 - lsls r0, 24 - cmp r0, 0 - beq _080917A8 - movs r0, 0x1 - b _080917B0 - .align 2, 0 -_080917A4: .4byte gUnknown_203B460 -_080917A8: - adds r4, 0x1 - cmp r4, 0x13 - ble _08091780 - movs r0, 0 -_080917B0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809177C - - thumb_func_start sub_80917B8 -sub_80917B8: - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x2] - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - beq _080917E0 - ldr r2, _080917DC - ldr r1, [r2] - ldrb r0, [r4, 0x2] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - ldrb r3, [r4, 0x1] - adds r0, r3 - b _080917F0 - .align 2, 0 -_080917DC: .4byte gUnknown_203B460 -_080917E0: - ldr r2, _0809180C - ldr r1, [r2] - ldrb r0, [r4, 0x2] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 -_080917F0: - strh r0, [r1] - ldr r0, [r2] - ldrb r1, [r4, 0x2] - lsls r1, 1 - adds r0, 0x50 - adds r2, r0, r1 - ldrh r0, [r2] - ldr r1, _08091810 - cmp r0, r1 - bls _08091806 - strh r1, [r2] -_08091806: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809180C: .4byte gUnknown_203B460 -_08091810: .4byte 0x000003e7 - thumb_func_end sub_80917B8 - - thumb_func_start sub_8091814 -sub_8091814: - push {lr} - movs r3, 0 - ldr r0, _0809183C - ldr r0, [r0] - movs r2, 0x8C - lsls r2, 2 - adds r1, r0, r2 - movs r2, 0x7 -_08091824: - ldrb r0, [r1] - cmp r0, 0 - beq _0809182C - adds r3, 0x1 -_0809182C: - adds r1, 0x4 - subs r2, 0x1 - cmp r2, 0 - bge _08091824 - adds r0, r3, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809183C: .4byte gUnknown_203B460 - thumb_func_end sub_8091814 - - thumb_func_start sub_8091840 -sub_8091840: - lsls r0, 24 - ldr r1, _08091858 - lsrs r0, 22 - movs r2, 0x8C - lsls r2, 2 - adds r0, r2 - ldr r1, [r1] - adds r1, r0 - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] - bx lr - .align 2, 0 -_08091858: .4byte gUnknown_203B460 - thumb_func_end sub_8091840 - - thumb_func_start sub_809185C -sub_809185C: - lsls r0, 24 - ldr r1, _08091870 - lsrs r0, 22 - movs r2, 0x8C - lsls r2, 2 - adds r0, r2 - ldr r1, [r1] - adds r1, r0 - adds r0, r1, 0 - bx lr - .align 2, 0 -_08091870: .4byte gUnknown_203B460 - thumb_func_end sub_809185C - - thumb_func_start sub_8091874 -sub_8091874: - push {r4-r7,lr} - movs r2, 0 - movs r4, 0 - ldr r7, _08091884 - movs r6, 0x8C - lsls r6, 2 - movs r3, 0 - b _080918A0 - .align 2, 0 -_08091884: .4byte gUnknown_203B460 -_08091888: - cmp r2, r4 - ble _0809189A - ldr r0, [r7] - lsls r1, r4, 2 - adds r0, r6 - adds r1, r0, r1 - adds r0, r3 - ldr r0, [r0] - str r0, [r1] -_0809189A: - adds r3, 0x4 - adds r2, 0x1 - adds r4, 0x1 -_080918A0: - cmp r2, 0x7 - bgt _080918CA - ldr r0, [r7] - adds r0, r3 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - bne _080918CA - ldr r5, _080918E8 - movs r1, 0x8C - lsls r1, 2 -_080918B6: - adds r3, 0x4 - adds r2, 0x1 - cmp r2, 0x7 - bgt _080918CA - ldr r0, [r5] - adds r0, r3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080918B6 -_080918CA: - cmp r2, 0x8 - bne _08091888 - cmp r4, 0x7 - bgt _080918E0 -_080918D2: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8091840 - adds r4, 0x1 - cmp r4, 0x7 - ble _080918D2 -_080918E0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080918E8: .4byte gUnknown_203B460 - thumb_func_end sub_8091874 - - thumb_func_start sub_80918EC -sub_80918EC: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 -_080918F8: - adds r1, r0, 0x1 - mov r8, r1 - mov r6, r8 - cmp r1, 0x7 - bgt _08091964 - ldr r1, _08091978 - mov r9, r1 - lsls r7, r0, 2 - movs r0, 0x8C - lsls r0, 2 - mov r10, r0 -_0809190E: - mov r1, r9 - ldr r0, [r1] - adds r0, r7 - add r0, r10 - ldrb r0, [r0] - bl sub_8090D44 - adds r4, r0, 0 - mov r1, r9 - ldr r0, [r1] - lsls r5, r6, 2 - adds r0, r5 - add r0, r10 - ldrb r0, [r0] - bl sub_8090D44 - cmp r4, r0 - bgt _0809194C - cmp r4, r0 - bne _0809195E - mov r1, r9 - ldr r0, [r1] - adds r2, r0, r7 - ldr r1, _0809197C - adds r2, r1 - adds r0, r5 - adds r0, r1 - ldrb r1, [r2] - ldrb r0, [r0] - cmp r1, r0 - bcs _0809195E -_0809194C: - mov r1, r9 - ldr r0, [r1] - add r0, r10 - adds r2, r0, r7 - ldr r3, [r2] - adds r0, r5 - ldr r1, [r0] - str r1, [r2] - str r3, [r0] -_0809195E: - adds r6, 0x1 - cmp r6, 0x7 - ble _0809190E -_08091964: - mov r0, r8 - cmp r0, 0x6 - ble _080918F8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08091978: .4byte gUnknown_203B460 -_0809197C: .4byte 0x00000231 - thumb_func_end sub_80918EC - - thumb_func_start sub_8091980 -sub_8091980: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r1, sp - ldr r0, _080919F4 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r0, [r0] - str r0, [r1] - movs r5, 0 -_0809199C: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_8091840 - adds r5, 0x1 - cmp r5, 0x7 - ble _0809199C - mov r0, r8 - lsls r7, r0, 2 - ldr r6, _080919F8 - movs r5, 0x7 -_080919B2: - adds r0, r6, 0 - bl RandomCapped - adds r4, r0, 0 - adds r0, r6, 0 - bl RandomCapped - adds r2, r0, 0 - mov r1, sp - adds r0, r1, r7 - ldr r0, [r0] - adds r1, r4, 0 - bl sub_8091E94 - lsls r0, 24 - lsrs r0, 24 - bl sub_80919FC - subs r5, 0x1 - cmp r5, 0 - bge _080919B2 - bl sub_80918EC - mov r0, r8 - bl sub_8091BB4 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080919F4: .4byte gUnknown_81097E8 -_080919F8: .4byte 0x0000270f - thumb_func_end sub_8091980 - - thumb_func_start sub_80919FC -sub_80919FC: - push {r4,r5,lr} - sub sp, 0x4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - bl sub_8090B08 - movs r3, 0 - ldr r5, _08091A34 - movs r4, 0x8C - lsls r4, 2 -_08091A14: - ldr r1, [r5] - lsls r2, r3, 2 - adds r0, r1, r2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _08091A38 - movs r3, 0x8C - lsls r3, 2 - adds r0, r1, r3 - adds r0, r2 - ldr r1, [sp] - str r1, [r0] - movs r0, 0 - b _08091A40 - .align 2, 0 -_08091A34: .4byte gUnknown_203B460 -_08091A38: - adds r3, 0x1 - cmp r3, 0x7 - ble _08091A14 - movs r0, 0x1 -_08091A40: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80919FC - - thumb_func_start sub_8091A48 -sub_8091A48: - push {lr} - movs r3, 0 - ldr r0, _08091A70 - ldr r0, [r0] - movs r2, 0x94 - lsls r2, 2 - adds r1, r0, r2 - movs r2, 0x3 -_08091A58: - ldrb r0, [r1] - cmp r0, 0 - beq _08091A60 - adds r3, 0x1 -_08091A60: - adds r1, 0x4 - subs r2, 0x1 - cmp r2, 0 - bge _08091A58 - adds r0, r3, 0 - pop {r1} - bx r1 - .align 2, 0 -_08091A70: .4byte gUnknown_203B460 - thumb_func_end sub_8091A48 - - thumb_func_start sub_8091A74 -sub_8091A74: - lsls r0, 24 - ldr r1, _08091A8C - lsrs r0, 22 - movs r2, 0x94 - lsls r2, 2 - adds r0, r2 - ldr r1, [r1] - adds r1, r0 - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] - bx lr - .align 2, 0 -_08091A8C: .4byte gUnknown_203B460 - thumb_func_end sub_8091A74 - - thumb_func_start sub_8091A90 -sub_8091A90: - lsls r0, 24 - ldr r1, _08091AA4 - lsrs r0, 22 - movs r2, 0x94 - lsls r2, 2 - adds r0, r2 - ldr r1, [r1] - adds r1, r0 - adds r0, r1, 0 - bx lr - .align 2, 0 -_08091AA4: .4byte gUnknown_203B460 - thumb_func_end sub_8091A90 - - thumb_func_start sub_8091AA8 -sub_8091AA8: - push {r4-r7,lr} - movs r2, 0 - movs r4, 0 - ldr r7, _08091AB8 - movs r6, 0x94 - lsls r6, 2 - movs r3, 0 - b _08091AD4 - .align 2, 0 -_08091AB8: .4byte gUnknown_203B460 -_08091ABC: - cmp r2, r4 - ble _08091ACE - ldr r0, [r7] - lsls r1, r4, 2 - adds r0, r6 - adds r1, r0, r1 - adds r0, r3 - ldr r0, [r0] - str r0, [r1] -_08091ACE: - adds r3, 0x4 - adds r2, 0x1 - adds r4, 0x1 -_08091AD4: - cmp r2, 0x3 - bgt _08091AFE - ldr r0, [r7] - adds r0, r3 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - bne _08091AFE - ldr r5, _08091B1C - movs r1, 0x94 - lsls r1, 2 -_08091AEA: - adds r3, 0x4 - adds r2, 0x1 - cmp r2, 0x3 - bgt _08091AFE - ldr r0, [r5] - adds r0, r3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08091AEA -_08091AFE: - cmp r2, 0x4 - bne _08091ABC - cmp r4, 0x3 - bgt _08091B14 -_08091B06: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8091A74 - adds r4, 0x1 - cmp r4, 0x3 - ble _08091B06 -_08091B14: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08091B1C: .4byte gUnknown_203B460 - thumb_func_end sub_8091AA8 - - thumb_func_start sub_8091B20 -sub_8091B20: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 -_08091B2C: - adds r1, r0, 0x1 - mov r8, r1 - mov r6, r8 - cmp r1, 0x3 - bgt _08091B98 - ldr r1, _08091BAC - mov r9, r1 - lsls r7, r0, 2 - movs r0, 0x94 - lsls r0, 2 - mov r10, r0 -_08091B42: - mov r1, r9 - ldr r0, [r1] - adds r0, r7 - add r0, r10 - ldrb r0, [r0] - bl sub_8090D44 - adds r4, r0, 0 - mov r1, r9 - ldr r0, [r1] - lsls r5, r6, 2 - adds r0, r5 - add r0, r10 - ldrb r0, [r0] - bl sub_8090D44 - cmp r4, r0 - bgt _08091B80 - cmp r4, r0 - bne _08091B92 - mov r1, r9 - ldr r0, [r1] - adds r2, r0, r7 - ldr r1, _08091BB0 - adds r2, r1 - adds r0, r5 - adds r0, r1 - ldrb r1, [r2] - ldrb r0, [r0] - cmp r1, r0 - bcs _08091B92 -_08091B80: - mov r1, r9 - ldr r0, [r1] - add r0, r10 - adds r2, r0, r7 - ldr r3, [r2] - adds r0, r5 - ldr r1, [r0] - str r1, [r2] - str r3, [r0] -_08091B92: - adds r6, 0x1 - cmp r6, 0x3 - ble _08091B42 -_08091B98: - mov r0, r8 - cmp r0, 0x2 - ble _08091B2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08091BAC: .4byte gUnknown_203B460 -_08091BB0: .4byte 0x00000251 - thumb_func_end sub_8091B20 - - thumb_func_start sub_8091BB4 -sub_8091BB4: - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - mov r1, sp - ldr r0, _08091C14 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - movs r5, 0 -_08091BCA: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_8091A74 - adds r5, 0x1 - cmp r5, 0x3 - ble _08091BCA - lsls r7, r4, 2 - ldr r6, _08091C18 - movs r5, 0x3 -_08091BDE: - adds r0, r6, 0 - bl RandomCapped - adds r4, r0, 0 - adds r0, r6, 0 - bl RandomCapped - adds r2, r0, 0 - mov r1, sp - adds r0, r1, r7 - ldr r0, [r0] - adds r1, r4, 0 - bl sub_8091E94 - lsls r0, 24 - lsrs r0, 24 - bl sub_8091C1C - subs r5, 0x1 - cmp r5, 0 - bge _08091BDE - bl sub_8091B20 - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08091C14: .4byte gUnknown_81097F8 -_08091C18: .4byte 0x0000270f - thumb_func_end sub_8091BB4 - - thumb_func_start sub_8091C1C -sub_8091C1C: - push {r4,r5,lr} - sub sp, 0x4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - bl sub_8090B08 - movs r3, 0 - ldr r5, _08091C54 - movs r4, 0x94 - lsls r4, 2 -_08091C34: - ldr r1, [r5] - lsls r2, r3, 2 - adds r0, r1, r2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _08091C58 - movs r3, 0x94 - lsls r3, 2 - adds r0, r1, r3 - adds r0, r2 - ldr r1, [sp] - str r1, [r0] - movs r0, 0 - b _08091C60 - .align 2, 0 -_08091C54: .4byte gUnknown_203B460 -_08091C58: - adds r3, 0x1 - cmp r3, 0x3 - ble _08091C34 - movs r0, 0x1 -_08091C60: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8091C1C - - thumb_func_start sub_8091C68 -sub_8091C68: - push {r4-r6,lr} - sub sp, 0x10 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_809486C - movs r4, 0 - ldr r5, _08091D10 -_08091C7C: - lsls r0, r4, 2 - ldr r1, [r5] - adds r1, r0 - mov r0, sp - bl sub_8091E28 - adds r4, 0x1 - cmp r4, 0x13 - ble _08091C7C - ldr r6, _08091D10 - movs r5, 0x50 - movs r4, 0xEF -_08091C94: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - movs r2, 0xA - bl sub_809488C - adds r5, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08091C94 - ldr r6, _08091D10 - movs r5, 0x8C - lsls r5, 2 - movs r4, 0x7 -_08091CB0: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_8091DE0 - adds r5, 0x4 - subs r4, 0x1 - cmp r4, 0 - bge _08091CB0 - ldr r6, _08091D10 - movs r5, 0x94 - lsls r5, 2 - movs r4, 0x3 -_08091CCA: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_8091DE0 - adds r5, 0x4 - subs r4, 0x1 - cmp r4, 0 - bge _08091CCA - ldr r4, _08091D10 - ldr r1, [r4] - movs r0, 0x98 - lsls r0, 2 - adds r1, r0 - mov r0, sp - movs r2, 0x18 - bl sub_809488C - ldr r1, [r4] - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - mov r0, sp - movs r2, 0x18 - bl sub_809488C - mov r0, sp - bl nullsub_102 - ldr r0, [sp, 0x8] - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08091D10: .4byte gUnknown_203B460 - thumb_func_end sub_8091C68 - - thumb_func_start sub_8091D14 -sub_8091D14: - push {r4-r6,lr} - sub sp, 0x10 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_809485C - movs r4, 0 - ldr r5, _08091DBC -_08091D28: - lsls r0, r4, 2 - ldr r1, [r5] - adds r1, r0 - mov r0, sp - bl sub_8091E00 - adds r4, 0x1 - cmp r4, 0x13 - ble _08091D28 - ldr r6, _08091DBC - movs r5, 0x50 - movs r4, 0xEF -_08091D40: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - movs r2, 0xA - bl sub_8094924 - adds r5, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08091D40 - ldr r6, _08091DBC - movs r5, 0x8C - lsls r5, 2 - movs r4, 0x7 -_08091D5C: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_8091DC0 - adds r5, 0x4 - subs r4, 0x1 - cmp r4, 0 - bge _08091D5C - ldr r6, _08091DBC - movs r5, 0x94 - lsls r5, 2 - movs r4, 0x3 -_08091D76: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_8091DC0 - adds r5, 0x4 - subs r4, 0x1 - cmp r4, 0 - bge _08091D76 - ldr r4, _08091DBC - ldr r1, [r4] - movs r0, 0x98 - lsls r0, 2 - adds r1, r0 - mov r0, sp - movs r2, 0x18 - bl sub_8094924 - ldr r1, [r4] - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - mov r0, sp - movs r2, 0x18 - bl sub_8094924 - mov r0, sp - bl nullsub_102 - ldr r0, [sp, 0x8] - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08091DBC: .4byte gUnknown_203B460 - thumb_func_end sub_8091D14 - - thumb_func_start sub_8091DC0 -sub_8091DC0: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x8 - bl sub_8094924 - adds r4, 0x1 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x7 - bl sub_8094924 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8091DC0 - - thumb_func_start sub_8091DE0 -sub_8091DE0: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x8 - bl sub_809488C - adds r4, 0x1 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x7 - bl sub_809488C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8091DE0 - - thumb_func_start sub_8091E00 -sub_8091E00: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x8 - bl sub_8094924 - adds r1, r5, 0x1 - adds r0, r4, 0 - movs r2, 0x7 - bl sub_8094924 - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x8 - bl sub_8094924 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8091E00 - - thumb_func_start sub_8091E28 -sub_8091E28: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x8 - bl sub_809488C - adds r1, r5, 0x1 - adds r0, r4, 0 - movs r2, 0x7 - bl sub_809488C - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x8 - bl sub_809488C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8091E28 - - thumb_func_start sub_8091E50 -sub_8091E50: - lsls r0, 24 - ldr r1, _08091E5C - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_08091E5C: .4byte gUnknown_810AF50 - thumb_func_end sub_8091E50 - - thumb_func_start sub_8091E60 -sub_8091E60: - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r1, 24 - lsrs r4, r0, 24 - cmp r3, 0x3E - bhi _08091E8C - ldr r2, _08091E88 - lsrs r0, 27 - lsls r1, r3, 5 - adds r0, r1 - adds r0, r2 - ldrb r0, [r0] - movs r1, 0x7 - ands r1, r4 - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - b _08091E8E - .align 2, 0 -_08091E88: .4byte gUnknown_8108F64 -_08091E8C: - movs r0, 0 -_08091E8E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8091E60 - - thumb_func_start sub_8091E94 -sub_8091E94: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, _08091EE4 - add sp, r4 - mov r8, r1 - mov r10, r2 - ldr r1, _08091EE8 - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - movs r3, 0 - add r1, sp, 0x18 - mov r9, r1 - ldr r2, _08091EEC - mov r12, r2 - add r6, sp, 0x1F8 - ldr r2, [r0] - adds r7, r6, 0 - movs r4, 0 -_08091EC0: - ldrh r1, [r2] - cmp r1, r12 - bls _08091EF4 - ldrh r0, [r2] - ldr r1, _08091EF0 - adds r0, r1 - cmp r0, 0 - beq _08091EFC - movs r5, 0 - adds r1, r7, r4 -_08091ED4: - strh r5, [r1] - adds r1, 0x2 - adds r4, 0x2 - adds r3, 0x1 - subs r0, 0x1 - cmp r0, 0 - bne _08091ED4 - b _08091EFC - .align 2, 0 -_08091EE4: .4byte 0xfffffc10 -_08091EE8: .4byte gUnknown_8108E58 -_08091EEC: .4byte 0x0000752f -_08091EF0: .4byte 0xffff8ad0 -_08091EF4: - adds r0, r6, r4 - strh r1, [r0] - adds r4, 0x2 - adds r3, 0x1 -_08091EFC: - adds r2, 0x2 - cmp r3, 0xFB - ble _08091EC0 - movs r3, 0xB - add r2, sp, 0x1F8 - mov r1, sp -_08091F08: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _08091F08 - mov r2, r9 - add r1, sp, 0x210 - movs r3, 0xEF -_08091F1C: - ldrh r0, [r1] - strh r0, [r2] - adds r1, 0x2 - adds r2, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _08091F1C - movs r7, 0xC - movs r6, 0 - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - beq _08091F4A - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, r8 - blt _08091F4A - movs r7, 0 - b _08091F66 -_08091F46: - mov r8, r5 - b _08091F9C -_08091F4A: - adds r6, 0x1 - cmp r6, 0xB - bgt _08091F66 - lsls r0, r6, 1 - mov r2, sp - adds r1, r2, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08091F4A - cmp r0, r8 - blt _08091F4A - lsls r0, r6, 24 - lsrs r7, r0, 24 -_08091F66: - movs r0, 0x46 - mov r8, r0 - cmp r7, 0xC - beq _08091F9C - movs r6, 0 - mov r4, r9 -_08091F72: - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08091F94 - lsls r0, r6, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_8090BD0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r7 - bne _08091F94 - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, r10 - bge _08091F46 -_08091F94: - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0xEF - ble _08091F72 -_08091F9C: - mov r0, r8 - movs r3, 0xFC - lsls r3, 2 - add sp, r3 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8091E94 - - thumb_func_start sub_8091FB4 -sub_8091FB4: - push {r4-r6,lr} - movs r6, 0 -_08091FB8: - ldr r0, _08092038 - lsls r1, r6, 2 - ldr r0, [r0] - adds r4, r0, r1 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08091FE8 - movs r0, 0xF7 - ands r0, r1 - movs r5, 0 - strb r0, [r4] - ldrb r0, [r4, 0x2] - cmp r0, 0x69 - bne _08091FE8 - adds r0, r4, 0 - bl sub_80915D4 - bl sub_80913A0 - strb r5, [r4, 0x2] - strb r5, [r4, 0x1] - strb r5, [r4] -_08091FE8: - adds r6, 0x1 - cmp r6, 0x13 - ble _08091FB8 - bl sub_80910B4 - movs r6, 0 -_08091FF4: - movs r0, 0x58 - adds r1, r6, 0 - muls r1, r0 - ldr r0, _0809203C - ldr r0, [r0] - adds r2, r1, r0 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08092026 - adds r4, r2, 0 - adds r4, 0x28 - ldrb r0, [r4] - cmp r0, 0 - beq _08092026 - cmp r0, 0x69 - bne _08092026 - adds r0, r4, 0 - bl sub_80915E4 - bl sub_80913A0 - movs r0, 0 - strb r0, [r4] -_08092026: - adds r6, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r6, r0 - ble _08091FF4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08092038: .4byte gUnknown_203B460 -_0809203C: .4byte gUnknown_203B45C - thumb_func_end sub_8091FB4 .align 2, 0 @ Don't pad with nop. diff --git a/asm/code_8092334.s b/asm/code_8092334.s index 6e8718e..f503417 100644 --- a/asm/code_8092334.s +++ b/asm/code_8092334.s @@ -4509,7 +4509,7 @@ sub_8094828: lsrs r0, r1, 24 cmp r0, 0 beq _08094852 - bl sub_8090BD0 + bl GetItemType lsls r0, 24 lsrs r0, 24 cmp r0, 0x9 diff --git a/asm/code_809747C.s b/asm/code_809747C.s index 7f04a7c..4b285cc 100644 --- a/asm/code_809747C.s +++ b/asm/code_809747C.s @@ -950,7 +950,7 @@ _08097B4C: b _08097B80 .align 2, 0 _08097B5C: .4byte gUnknown_203B494 -_08097B60: .4byte gUnknown_203B45C +_08097B60: .4byte gRecruitedPokemonRef _08097B64: .4byte 0x000001a7 _08097B68: .4byte 0x00000179 _08097B6C: .4byte 0x0000010d diff --git a/asm/code_8098BDC.s b/asm/code_8098BDC.s index cf72446..861e906 100644 --- a/asm/code_8098BDC.s +++ b/asm/code_8098BDC.s @@ -3586,7 +3586,7 @@ _0809AB80: adds r0, r4, r0 movs r2, 0x2 ldrsh r1, [r6, r2] - bl sub_808D908 + bl CopyCyanSpeciesNametoBuffer ldr r0, _0809ABAC adds r4, r0 ldr r1, _0809ABB0 @@ -3637,7 +3637,7 @@ _0809ABE8: movs r0, 0x2 ldrsh r1, [r6, r0] adds r0, r5, 0 - bl sub_808D908 + bl CopyCyanSpeciesNametoBuffer ldr r0, _0809AC14 adds r4, r0 adds r0, r4, 0 @@ -3686,7 +3686,7 @@ _0809AC4C: adds r0, r4, r0 movs r2, 0x2 ldrsh r1, [r6, r2] - bl sub_808D908 + bl CopyCyanSpeciesNametoBuffer ldr r0, _0809AC78 adds r4, r0 movs r3, 0 @@ -5743,7 +5743,7 @@ _0809BC78: lsrs r4, 31 bl sub_809B294 adds r0, r4, 0 - bl DisplayPersianDialogueSprite + bl CreateFelicityBank lsls r0, 24 cmp r0, 0 beq _0809BCB0 @@ -5911,7 +5911,7 @@ _0809BDE8: lsrs r4, 31 bl sub_809B294 adds r0, r4, 0 - bl sub_8021B9C + bl CreateWigglytuffShop lsls r0, 24 cmp r0, 0 beq _0809BE20 @@ -5965,7 +5965,7 @@ _0809BE60: bl sub_809B294 movs r0, 0x98 lsls r0, 1 - bl sub_80314B4 + bl CreateHelperPelipperMenu lsls r0, 24 cmp r0, 0 bne _0809BE84 @@ -6175,7 +6175,7 @@ _0809BFFC: ands r4, r0 bl sub_809B294 adds r0, r4, 0 - bl sub_802FD14 + bl CreateMakuhitaShop lsls r0, 24 cmp r0, 0 beq _0809C032 @@ -6222,7 +6222,7 @@ _0809C072: _0809C082: bl sub_809B294 adds r0, r4, 0 - bl sub_802FD14 + bl CreateMakuhitaShop lsls r0, 24 cmp r0, 0 beq _0809C0A8 @@ -6256,7 +6256,7 @@ _0809C0B8: _0809C0C8: bl sub_809B294 adds r0, r4, 0 - bl sub_802FD14 + bl CreateMakuhitaShop lsls r0, 24 cmp r0, 0 beq _0809C0F0 @@ -6287,7 +6287,7 @@ _0809C0FC: _0809C10C: bl sub_809B294 adds r0, r4, 0 - bl sub_802FD14 + bl CreateMakuhitaShop lsls r0, 24 cmp r0, 0 beq _0809C134 @@ -6715,7 +6715,7 @@ sub_809C478: cmp r0, 0x3 bne _0809C492 ldr r0, _0809C4AC - bl sub_8011988 + bl PlaySound bl InitFlash bl ClearFlashData _0809C492: @@ -7692,7 +7692,7 @@ sub_809CBBC: b _0809CC4A .align 2, 0 _0809CC0C: .4byte gUnknown_81163E4 -_0809CC10: .4byte gItemParametersFile + 4 +_0809CC10: .4byte gItemParametersData _0809CC14: .4byte gUnknown_203B460 _0809CC18: .4byte 0x0001869f _0809CC1C: diff --git a/asm/code_809D148.s b/asm/code_809D148.s index 34cce17..0527650 100644 --- a/asm/code_809D148.s +++ b/asm/code_809D148.s @@ -5022,7 +5022,7 @@ _0809FDA8: _0809FDB8: movs r0, 0x1E _0809FDBA: - bl sub_8011930 + bl xxx_call_fade_out_bgm bl _0809EAE0 _0809FDC2: ldr r0, [sp, 0xC] diff --git a/asm/code_80A7714.s b/asm/code_80A7714.s index 31e753d..a52f7db 100644 --- a/asm/code_80A7714.s +++ b/asm/code_80A7714.s @@ -751,7 +751,7 @@ _080A7D7E: negs r0, r0 b _080A7DD4 .align 2, 0 -_080A7D84: .4byte gUnknown_203B45C +_080A7D84: .4byte gRecruitedPokemonRef _080A7D88: ldrb r1, [r4] movs r0, 0x1 @@ -893,7 +893,7 @@ _080A7E78: ldrh r0, [r0, 0x8] b _080A800A .align 2, 0 -_080A7E8C: .4byte gUnknown_203B45C +_080A7E8C: .4byte gRecruitedPokemonRef _080A7E90: adds r0, r3, 0 subs r0, 0xE @@ -958,7 +958,7 @@ _080A7F06: ldrh r0, [r4, 0x8] b _080A800A .align 2, 0 -_080A7F0C: .4byte gUnknown_203B45C +_080A7F0C: .4byte gRecruitedPokemonRef _080A7F10: ldrb r1, [r4] movs r0, 0x1 @@ -2937,7 +2937,7 @@ _080A8DDE: adds r0, r1 b _080A8E94 .align 2, 0 -_080A8DF4: .4byte gUnknown_203B45C +_080A8DF4: .4byte gRecruitedPokemonRef _080A8DF8: adds r0, r1, 0 subs r0, 0xE @@ -2993,7 +2993,7 @@ _080A8DF8: adds r0, r4, 0 b _080A8E94 .align 2, 0 -_080A8E6C: .4byte gUnknown_203B45C +_080A8E6C: .4byte gRecruitedPokemonRef _080A8E70: ldrb r1, [r4] movs r0, 0x1 diff --git a/asm/debug_menu.s b/asm/debug_menu.s index 04f78e4..1a1454a 100644 --- a/asm/debug_menu.s +++ b/asm/debug_menu.s @@ -68,7 +68,7 @@ _0803A3E8: str r0, [sp, 0x80] mov r0, r10 movs r1, 0x1 - bl sub_801203C + bl WriteSavetoPak add sp, 0x84 pop {r3-r5} mov r8, r3 diff --git a/asm/debug_menu_1.s b/asm/debug_menu_1.s index 12b27d9..8a6b89f 100644 --- a/asm/debug_menu_1.s +++ b/asm/debug_menu_1.s @@ -242,7 +242,7 @@ _0803ABCE: movs r0, 0 b _0803AC1C .align 2, 0 -_0803AC08: .4byte gUnknown_203B45C +_0803AC08: .4byte gRecruitedPokemonRef _0803AC0C: .4byte gUnknown_203B3F4 _0803AC10: adds r5, 0x1 @@ -673,7 +673,7 @@ sub_803AF38: b _0803AF82 .align 2, 0 _0803AF70: .4byte gUnknown_203B3F8 -_0803AF74: .4byte gUnknown_203B45C +_0803AF74: .4byte gRecruitedPokemonRef _0803AF78: bl sub_8023C60 movs r0, 0x7 diff --git a/asm/felicity_bank.s b/asm/felicity_bank.s new file mode 100644 index 0000000..c60b295 --- /dev/null +++ b/asm/felicity_bank.s @@ -0,0 +1,571 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start UpdateFelicityBankDialogue +UpdateFelicityBankDialogue: + push {r4,r5,lr} + sub sp, 0x14 + ldr r1, _08016558 + ldr r0, [r1] + ldr r0, [r0, 0x4] + adds r2, r1, 0 + cmp r0, 0xC + bls _0801654E + b _080168EC +_0801654E: + lsls r0, 2 + ldr r1, _0801655C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08016558: .4byte gUnknown_203B204 +_0801655C: .4byte _08016560 + .align 2, 0 +_08016560: + .4byte _08016594 + .4byte _080165B4 + .4byte _080168B2 + .4byte _08016650 + .4byte _08016668 + .4byte _080166C4 + .4byte _080168EC + .4byte _080166DC + .4byte _0801674C + .4byte _080167A8 + .4byte _080167CC + .4byte _0801685C + .4byte _080168C4 +_08016594: + ldr r2, [r2] + movs r0, 0x1 + str r0, [r2, 0x8] + ldr r3, _080165B0 + ldr r1, [r2] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r0, r3 + ldr r0, [r0] + adds r2, 0xA4 + ldr r2, [r2] + b _08016844 + .align 2, 0 +_080165B0: .4byte gFelicityDialogue +_080165B4: + bl CreateFelicityBankShopMenu + ldr r0, _080165FC + ldr r0, [r0] + mov r12, r0 + movs r0, 0x2 + mov r1, r12 + str r0, [r1, 0x8] + ldr r0, _08016600 + ldr r0, [r0] + movs r3, 0x99 + lsls r3, 2 + adds r0, r3 + ldr r4, [r0] + cmp r4, 0 + bne _08016608 + ldr r2, _08016604 + ldr r1, [r1] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x4 + adds r0, r2 + ldr r0, [r0] + mov r5, r12 + ldr r2, [r5, 0x10] + mov r3, r12 + adds r3, 0x14 + mov r1, r12 + adds r1, 0x54 + str r1, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + b _08016632 + .align 2, 0 +_080165FC: .4byte gUnknown_203B204 +_08016600: .4byte gUnknown_203B460 +_08016604: .4byte gFelicityDialogue +_08016608: + ldr r0, _08016648 + str r4, [r0] + ldr r2, _0801664C + mov r0, r12 + ldr r1, [r0] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x8 + adds r0, r2 + ldr r0, [r0] + mov r1, r12 + ldr r2, [r1, 0x10] + mov r3, r12 + adds r3, 0x14 + adds r1, 0x54 + str r1, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] +_08016632: + mov r1, r12 + adds r1, 0xA4 + ldr r1, [r1] + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + bl sub_8014248 + b _080168EC + .align 2, 0 +_08016648: .4byte gUnknown_202DE30 +_0801664C: .4byte gFelicityDialogue +_08016650: + ldr r3, [r2] + movs r0, 0x1 + str r0, [r3, 0x8] + ldr r2, _08016664 + ldr r1, [r3] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x38 + b _0801683C + .align 2, 0 +_08016664: .4byte gFelicityDialogue +_08016668: + ldr r3, [r2] + movs r0, 0x6 + str r0, [r3, 0x8] + ldr r0, _08016698 + ldr r0, [r0] + movs r5, 0x99 + lsls r5, 2 + adds r0, r5 + ldr r1, [r0] + cmp r1, 0 + bne _080166A0 + ldr r2, _0801669C + ldr r1, [r3] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x10 + adds r0, r2 + ldr r0, [r0] + adds r1, r3, 0 + adds r1, 0xA4 + ldr r2, [r1] + b _08016844 + .align 2, 0 +_08016698: .4byte gUnknown_203B460 +_0801669C: .4byte gFelicityDialogue +_080166A0: + ldr r0, _080166BC + str r1, [r0] + ldr r2, _080166C0 + ldr r1, [r3] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x14 + adds r0, r2 + ldr r0, [r0] + adds r1, r3, 0 + adds r1, 0xA4 + ldr r2, [r1] + b _08016844 + .align 2, 0 +_080166BC: .4byte gUnknown_202DE30 +_080166C0: .4byte gFelicityDialogue +_080166C4: + ldr r3, [r2] + movs r0, 0x1 + str r0, [r3, 0x8] + ldr r2, _080166D8 + ldr r1, [r3] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0xC + b _0801683C + .align 2, 0 +_080166D8: .4byte gFelicityDialogue +_080166DC: + ldr r0, _08016700 + ldr r1, [r0] + movs r3, 0x98 + lsls r3, 2 + adds r0, r1, r3 + ldr r0, [r0] + cmp r0, 0 + bne _08016708 + ldr r3, [r2] + movs r0, 0x1 + str r0, [r3, 0x8] + ldr r2, _08016704 + ldr r1, [r3] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x1C + b _0801683C + .align 2, 0 +_08016700: .4byte gUnknown_203B460 +_08016704: .4byte gFelicityDialogue +_08016708: + movs r5, 0x99 + lsls r5, 2 + adds r0, r1, r5 + ldr r1, [r0] + ldr r0, _0801672C + cmp r1, r0 + ble _08016734 + ldr r3, [r2] + movs r0, 0x1 + str r0, [r3, 0x8] + ldr r2, _08016730 + ldr r1, [r3] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x20 + b _0801683C + .align 2, 0 +_0801672C: .4byte 0x0098967e +_08016730: .4byte gFelicityDialogue +_08016734: + ldr r3, [r2] + movs r0, 0x8 + str r0, [r3, 0x8] + ldr r2, _08016748 + ldr r1, [r3] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x18 + b _0801683C + .align 2, 0 +_08016748: .4byte gFelicityDialogue +_0801674C: + ldr r4, [r2] + ldr r0, _080167A0 + ldr r3, [r0] + movs r1, 0x99 + lsls r1, 2 + adds r0, r3, r1 + ldr r1, [r0] + ldr r0, _080167A4 + subs r0, r1 + str r0, [r4, 0x70] + movs r5, 0x98 + lsls r5, 2 + adds r1, r3, r5 + ldr r1, [r1] + cmp r0, r1 + ble _0801676E + str r1, [r4, 0x70] +_0801676E: + ldr r2, [r2] + ldr r0, [r2, 0x70] + str r0, [r2, 0x68] + movs r0, 0x1 + str r0, [r2, 0x6C] + movs r0, 0x5 + str r0, [r2, 0x74] + movs r0, 0x2 + str r0, [r2, 0x78] + adds r0, r2, 0 + adds r0, 0xD8 + str r0, [r2, 0x7C] + adds r1, r2, 0 + adds r1, 0x80 + movs r0, 0x50 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x12 + str r0, [r1] + adds r0, r2, 0 + adds r0, 0x64 + bl sub_8013AA0 + movs r0, 0x1 + b _080168AE + .align 2, 0 +_080167A0: .4byte gUnknown_203B460 +_080167A4: .4byte 0x0098967f +_080167A8: + ldr r3, [r2] + movs r0, 0x1 + str r0, [r3, 0x8] + ldr r1, _080167C4 + ldr r0, [r3, 0xC] + str r0, [r1] + ldr r2, _080167C8 + ldr r1, [r3] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x24 + b _0801683C + .align 2, 0 +_080167C4: .4byte gUnknown_202DE30 +_080167C8: .4byte gFelicityDialogue +_080167CC: + ldr r0, _080167F4 + ldr r3, [r0] + movs r1, 0x98 + lsls r1, 2 + adds r0, r3, r1 + ldr r1, [r0] + ldr r0, _080167F8 + cmp r1, r0 + ble _08016800 + ldr r3, [r2] + movs r0, 0x1 + str r0, [r3, 0x8] + ldr r2, _080167FC + ldr r1, [r3] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x30 + b _0801683C + .align 2, 0 +_080167F4: .4byte gUnknown_203B460 +_080167F8: .4byte 0x0001869e +_080167FC: .4byte gFelicityDialogue +_08016800: + movs r5, 0x99 + lsls r5, 2 + adds r4, r3, r5 + ldr r0, [r4] + cmp r0, 0 + bne _08016824 + ldr r3, [r2] + movs r0, 0x1 + str r0, [r3, 0x8] + ldr r2, _08016820 + ldr r1, [r3] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x2C + b _0801683C + .align 2, 0 +_08016820: .4byte gFelicityDialogue +_08016824: + ldr r3, [r2] + movs r0, 0xB + str r0, [r3, 0x8] + ldr r1, _08016850 + ldr r0, [r4] + str r0, [r1] + ldr r2, _08016854 + ldr r1, [r3] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x28 +_0801683C: + adds r0, r2 + ldr r0, [r0] + adds r3, 0xA4 + ldr r2, [r3] +_08016844: + ldr r3, _08016858 + movs r1, 0 + bl sub_80141B4 + b _080168EC + .align 2, 0 +_08016850: .4byte gUnknown_202DE30 +_08016854: .4byte gFelicityDialogue +_08016858: .4byte 0x0000010d +_0801685C: + ldr r4, [r2] + ldr r0, _080168BC + ldr r3, [r0] + movs r1, 0x98 + lsls r1, 2 + adds r0, r3, r1 + ldr r1, [r0] + ldr r0, _080168C0 + subs r0, r1 + str r0, [r4, 0x70] + movs r5, 0x99 + lsls r5, 2 + adds r1, r3, r5 + ldr r1, [r1] + cmp r0, r1 + ble _0801687E + str r1, [r4, 0x70] +_0801687E: + ldr r2, [r2] + ldr r0, [r2, 0x70] + str r0, [r2, 0x68] + movs r0, 0x1 + str r0, [r2, 0x6C] + movs r0, 0x5 + str r0, [r2, 0x74] + movs r0, 0x2 + str r0, [r2, 0x78] + adds r0, r2, 0 + adds r0, 0xD8 + str r0, [r2, 0x7C] + adds r1, r2, 0 + adds r1, 0x80 + movs r0, 0x50 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x12 + str r0, [r1] + adds r0, r2, 0 + adds r0, 0x64 + bl sub_8013AA0 + movs r0, 0 +_080168AE: + bl sub_8016B48 +_080168B2: + movs r0, 0x3 + bl CreateFelicityMoneySavingsHeader + b _080168EC + .align 2, 0 +_080168BC: .4byte gUnknown_203B460 +_080168C0: .4byte 0x0001869f +_080168C4: + ldr r3, [r2] + movs r0, 0x1 + str r0, [r3, 0x8] + ldr r1, _080168F4 + ldr r0, [r3, 0xC] + str r0, [r1] + ldr r2, _080168F8 + ldr r1, [r3] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 2 + adds r2, 0x34 + adds r0, r2 + ldr r0, [r0] + adds r3, 0xA4 + ldr r2, [r3] + ldr r3, _080168FC + movs r1, 0 + bl sub_80141B4 +_080168EC: + add sp, 0x14 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080168F4: .4byte gUnknown_202DE30 +_080168F8: .4byte gFelicityDialogue +_080168FC: .4byte 0x0000010d + thumb_func_end UpdateFelicityBankDialogue + + thumb_func_start CreateFelicityBankShopMenu +CreateFelicityBankShopMenu: + push {r4-r7,lr} + ldr r4, _08016980 + ldr r0, [r4] + adds r0, 0x54 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r3, [r4] + movs r2, 0 + ldr r0, _08016984 + ldr r0, [r0] + str r0, [r3, 0x14] + movs r0, 0x2 + str r0, [r3, 0x18] + movs r1, 0x1 + ldr r0, _08016988 + ldr r0, [r0] + str r0, [r3, 0x1C] + movs r0, 0x3 + str r0, [r3, 0x20] + ldr r0, _0801698C + ldr r0, [r0] + str r0, [r3, 0x24] + movs r0, 0x4 + str r0, [r3, 0x28] + ldr r0, _08016990 + ldr r0, [r0] + str r0, [r3, 0x2C] + str r1, [r3, 0x30] + movs r6, 0x4 + str r2, [r3, 0x34] + str r1, [r3, 0x38] + movs r5, 0 + mov r12, r3 + adds r3, 0x18 + mov r2, r12 + adds r2, 0x54 +_0801694C: + ldrh r0, [r2] + cmp r0, 0 + bne _0801695C + ldr r1, [r3] + mov r7, r12 + ldr r0, [r7, 0x10] + cmp r1, r0 + beq _080169B6 +_0801695C: + adds r3, 0x8 + adds r2, 0x2 + adds r5, 0x1 + cmp r5, r6 + blt _0801694C + movs r5, 0 + cmp r5, r6 + bge _080169B6 + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x54 + ldrh r0, [r0] + cmp r0, 0 + bne _08016994 + ldr r0, [r1, 0x18] + str r0, [r1, 0x10] + b _080169B6 + .align 2, 0 +_08016980: .4byte gUnknown_203B204 +_08016984: .4byte gUnknown_80D4958 +_08016988: .4byte gUnknown_80D4964 +_0801698C: .4byte gUnknown_80D4970 +_08016990: .4byte gUnknown_80D4934 +_08016994: + adds r5, 0x1 + cmp r5, r6 + bge _080169B6 + ldr r2, [r4] + lsls r0, r5, 1 + adds r1, r2, 0 + adds r1, 0x54 + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _08016994 + lsls r0, r5, 3 + adds r1, r2, 0 + adds r1, 0x18 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x10] +_080169B6: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end CreateFelicityBankShopMenu + + .align 2,0 diff --git a/asm/friend_area_1.s b/asm/friend_area_1.s index 28deea6..b6fe42d 100644 --- a/asm/friend_area_1.s +++ b/asm/friend_area_1.s @@ -97,7 +97,7 @@ _080926CC: .align 2, 0 _080926DC: .4byte gFriendAreas _080926E0: .4byte gFriendAreaSettings -_080926E4: .4byte gUnknown_203B45C +_080926E4: .4byte gRecruitedPokemonRef _080926E8: strh r0, [r4, 0x2] strh r0, [r4] @@ -185,7 +185,7 @@ _08092776: .align 2, 0 _08092780: .4byte gFriendAreas _08092784: .4byte gFriendAreaSettings -_08092788: .4byte gUnknown_203B45C +_08092788: .4byte gRecruitedPokemonRef _0809278C: ldrh r0, [r4, 0x2] adds r0, 0x1 diff --git a/asm/friend_rescue.s b/asm/friend_rescue.s index e1328ba..d02ddc6 100644 --- a/asm/friend_rescue.s +++ b/asm/friend_rescue.s @@ -989,7 +989,7 @@ _0803315A: adds r0, r5 b _080333DA .align 2, 0 -_08033188: .4byte gUnknown_203B45C +_08033188: .4byte gRecruitedPokemonRef _0803318C: .4byte gUnknown_203B33C _08033190: adds r1, r2, 0 diff --git a/asm/items.s b/asm/items.s new file mode 100644 index 0000000..59454e0 --- /dev/null +++ b/asm/items.s @@ -0,0 +1,2518 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8090E14 +sub_8090E14: + push {r4-r7,lr} + sub sp, 0x50 + adds r6, r0, 0 + adds r5, r1, 0 + adds r7, r2, 0 + movs r4, 0 + cmp r7, 0 + beq _08090E2C + ldrb r1, [r7, 0x8] + negs r0, r1 + orrs r0, r1 + lsrs r4, r0, 31 +_08090E2C: + ldrb r0, [r5, 0x2] + bl GetItemType + lsls r0, 24 + cmp r0, 0 + bne _08090E3E + cmp r4, 0 + bne _08090E50 + b _08090E70 +_08090E3E: + ldrb r0, [r5, 0x2] + bl GetItemType + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08090E90 + cmp r4, 0 + beq _08090E70 +_08090E50: + ldr r1, _08090E68 + ldrb r0, [r5, 0x2] + ldr r2, _08090E6C + ldr r2, [r2] + lsls r0, 5 + adds r0, r2 + ldr r2, [r0] + ldrb r3, [r5, 0x1] + mov r0, sp + bl sub_800D158 + b _08090EC4 + .align 2, 0 +_08090E68: .4byte gUnknown_8109770 +_08090E6C: .4byte gItemParametersData +_08090E70: + ldr r1, _08090E88 + ldrb r0, [r5, 0x2] + ldr r2, _08090E8C + ldr r2, [r2] + lsls r0, 5 + adds r0, r2 + ldr r2, [r0] + mov r0, sp + bl sub_800D158 + b _08090EC4 + .align 2, 0 +_08090E88: .4byte gUnknown_8109778 +_08090E8C: .4byte gItemParametersData +_08090E90: + ldrb r0, [r5, 0x2] + cmp r0, 0x69 + bne _08090EB0 + ldr r4, _08090EAC + adds r0, r5, 0 + bl sub_80915D4 + adds r2, r0, 0 + mov r0, sp + adds r1, r4, 0 + bl sub_800D158 + b _08090EC4 + .align 2, 0 +_08090EAC: .4byte gUnknown_810977C +_08090EB0: + ldrb r0, [r5, 0x2] + ldr r1, _08090F2C + ldr r1, [r1] + lsls r0, 5 + adds r0, r1 + ldr r1, [r0] + mov r0, sp + movs r2, 0x50 + bl strncpy +_08090EC4: + ldrb r1, [r5] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08090EE2 + ldr r1, _08090F30 + adds r0, r6, 0 + mov r2, sp + bl sub_800D158 + mov r0, sp + adds r1, r6, 0 + movs r2, 0x50 + bl strncpy +_08090EE2: + cmp r7, 0 + beq _08090F38 + ldrb r0, [r7, 0x4] + cmp r0, 0 + beq _08090F0A + ldrb r1, [r5] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08090F0A + ldr r1, _08090F34 + adds r0, r6, 0 + mov r2, sp + bl sub_800D158 + mov r0, sp + adds r1, r6, 0 + movs r2, 0x50 + bl strncpy +_08090F0A: + ldr r0, [r7] + cmp r0, 0x1 + beq _08090F14 + cmp r0, 0x3 + bne _08090F44 +_08090F14: + ldrb r1, [r5] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08090F38 + adds r0, r6, 0 + mov r1, sp + adds r2, r5, 0 + adds r3, r7, 0 + bl sub_8090F58 + b _08090F50 + .align 2, 0 +_08090F2C: .4byte gItemParametersData +_08090F30: .4byte gUnknown_8109784 +_08090F34: .4byte gUnknown_810978C +_08090F38: + adds r0, r6, 0 + mov r1, sp + movs r2, 0x50 + bl strncpy + b _08090F50 +_08090F44: + adds r0, r6, 0 + mov r1, sp + adds r2, r5, 0 + adds r3, r7, 0 + bl sub_8090F58 +_08090F50: + add sp, 0x50 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8090E14 + + thumb_func_start sub_8090F58 +sub_8090F58: + push {r4-r6,lr} + sub sp, 0x2C + adds r5, r0, 0 + adds r6, r1, 0 + adds r0, r2, 0 + adds r4, r3, 0 + cmp r4, 0 + bne _08090F6C + adds r0, r5, 0 + b _08090F94 +_08090F6C: + ldr r1, [r4] + cmp r1, 0x1 + bcc _08090F8A + cmp r1, 0x2 + bhi _08090F7E + bl sub_8090BE4 + adds r1, r0, 0 + b _08090F8C +_08090F7E: + cmp r1, 0x4 + bhi _08090F8A + bl sub_8090C30 + adds r1, r0, 0 + b _08090F8C +_08090F8A: + movs r1, 0 +_08090F8C: + cmp r1, 0 + bne _08090F9C + adds r0, r5, 0 + adds r1, r6, 0 +_08090F94: + movs r2, 0x50 + bl strncpy + b _08090FDE +_08090F9C: + movs r2, 0x6 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _08090FC8 + adds r0, r1, 0 + add r1, sp, 0x4 + movs r2, 0x1 + bl sub_8090FEC + ldr r1, _08090FC4 + movs r0, 0x6 + ldrsh r3, [r4, r0] + add r2, sp, 0x4 + str r2, [sp] + adds r0, r5, 0 + adds r2, r6, 0 + bl sub_800D158 + b _08090FDE + .align 2, 0 +_08090FC4: .4byte gUnknown_8109794 +_08090FC8: + adds r0, r1, 0 + add r1, sp, 0x4 + movs r2, 0 + bl sub_8090FEC + ldr r1, _08090FE8 + adds r0, r5, 0 + adds r2, r6, 0 + add r3, sp, 0x4 + bl sub_800D158 +_08090FDE: + add sp, 0x2C + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08090FE8: .4byte gUnknown_81097A4 + thumb_func_end sub_8090F58 + + thumb_func_start sub_8090FEC +sub_8090FEC: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r5, r0, 0 + adds r4, r1, 0 + lsls r2, 24 + lsrs r2, 24 + mov r10, r2 + movs r0, 0 + mov r8, r0 + movs r6, 0 + movs r2, 0 + ldr r1, _08091050 + mov r9, r1 + mov r12, r9 +_0809100E: + movs r1, 0 + lsls r3, r2, 2 + ldr r7, _08091054 + adds r0, r3, r7 + ldr r0, [r0] + adds r7, r2, 0x1 + cmp r5, r0 + blt _0809102C + ldr r2, _08091054 +_08091020: + adds r0, r3, r2 + ldr r0, [r0] + subs r5, r0 + adds r1, 0x1 + cmp r5, r0 + bge _08091020 +_0809102C: + cmp r1, 0x9 + ble _08091032 + movs r1, 0x9 +_08091032: + cmp r1, 0 + beq _0809105C + movs r0, 0x1 + mov r8, r0 + lsls r1, 1 + mov r2, r12 + adds r0, r1, r2 + ldrb r0, [r0] + strb r0, [r4] + adds r4, 0x1 + ldr r0, _08091058 + adds r1, r0 + ldrb r0, [r1] + b _0809106C + .align 2, 0 +_08091050: .4byte gUnknown_81097C4 +_08091054: .4byte gUnknown_81097B0 +_08091058: .4byte gUnknown_81097C5 +_0809105C: + mov r1, r8 + cmp r1, 0 + beq _08091074 + mov r2, r12 + ldrb r0, [r2] + strb r0, [r4] + adds r4, 0x1 + ldrb r0, [r2, 0x1] +_0809106C: + strb r0, [r4] + adds r4, 0x1 + adds r6, 0x1 + b _08091080 +_08091074: + mov r0, r10 + cmp r0, 0 + beq _08091080 + movs r0, 0x60 + strb r0, [r4] + adds r4, 0x1 +_08091080: + adds r2, r7, 0 + cmp r2, 0x4 + ble _0809100E + lsls r1, r5, 1 + mov r2, r9 + adds r0, r1, r2 + ldrb r0, [r0] + strb r0, [r4] + adds r4, 0x1 + mov r0, r9 + adds r0, 0x1 + adds r1, r0 + ldrb r0, [r1] + strb r0, [r4] + adds r6, 0x1 + movs r0, 0 + strb r0, [r4, 0x1] + adds r0, r6, 0 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8090FEC + + thumb_func_start sub_80910B4 +sub_80910B4: + push {r4-r7,lr} + movs r2, 0 + movs r4, 0 + ldr r7, _080910C0 + movs r3, 0 + b _080910DA + .align 2, 0 +_080910C0: .4byte gUnknown_203B460 +_080910C4: + cmp r2, r4 + ble _080910D4 + ldr r0, [r7] + lsls r1, r4, 2 + adds r1, r0, r1 + adds r0, r3 + ldr r0, [r0] + str r0, [r1] +_080910D4: + adds r3, 0x4 + adds r2, 0x1 + adds r4, 0x1 +_080910DA: + cmp r2, 0x13 + bgt _08091106 + ldr r0, [r7] + adds r0, r3, r0 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _08091106 + ldr r5, _0809112C + movs r6, 0x1 +_080910F0: + adds r3, 0x4 + adds r2, 0x1 + cmp r2, 0x13 + bgt _08091106 + ldr r0, [r5] + adds r0, r3, r0 + ldrb r1, [r0] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _080910F0 +_08091106: + cmp r2, 0x14 + bne _080910C4 + cmp r4, 0x13 + bgt _08091124 + ldr r3, _0809112C + movs r2, 0 +_08091112: + lsls r1, r4, 2 + ldr r0, [r3] + adds r1, r0 + strb r2, [r1, 0x2] + strb r2, [r1, 0x1] + strb r2, [r1] + adds r4, 0x1 + cmp r4, 0x13 + ble _08091112 +_08091124: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0809112C: .4byte gUnknown_203B460 + thumb_func_end sub_80910B4 + + thumb_func_start sub_8091130 +sub_8091130: + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r3, 0 + ldr r0, _08091154 + ldr r2, [r0] + movs r5, 0x1 +_0809113E: + ldrb r1, [r2] + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _08091158 + ldrb r0, [r2, 0x2] + cmp r0, r4 + bne _08091158 + adds r0, r3, 0 + b _08091164 + .align 2, 0 +_08091154: .4byte gUnknown_203B460 +_08091158: + adds r2, 0x4 + adds r3, 0x1 + cmp r3, 0x13 + ble _0809113E + movs r0, 0x1 + negs r0, r0 +_08091164: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8091130 + + thumb_func_start sub_809116C +sub_809116C: + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + ldr r0, _080911A0 + ldr r2, [r0] + movs r6, 0x1 + movs r3, 0x13 +_0809117C: + ldrb r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _0809118E + ldrb r0, [r2, 0x2] + cmp r0, r5 + bne _0809118E + adds r4, 0x1 +_0809118E: + adds r2, 0x4 + subs r3, 0x1 + cmp r3, 0 + bge _0809117C + adds r0, r4, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_080911A0: .4byte gUnknown_203B460 + thumb_func_end sub_809116C + + thumb_func_start sub_80911A4 +sub_80911A4: + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r5, 0 + bl sub_809116C + adds r4, r0, 0 + movs r3, 0 + ldr r0, _080911F4 + ldr r7, [r0] + movs r6, 0x1 +_080911BA: + movs r0, 0x58 + muls r0, r3 + adds r2, r7, r0 + ldrh r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _080911E2 + lsrs r0, r1, 1 + ands r0, r6 + cmp r0, 0 + beq _080911E2 + adds r0, r2, 0 + adds r0, 0x28 + ldrb r0, [r0] + cmp r0, 0 + beq _080911E2 + cmp r0, r5 + bne _080911E2 + adds r4, 0x1 +_080911E2: + adds r3, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r3, r0 + ble _080911BA + adds r0, r4, 0 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080911F4: .4byte gRecruitedPokemonRef + thumb_func_end sub_80911A4 + + thumb_func_start sub_80911F8 +sub_80911F8: + push {r4,r5,lr} + adds r2, r0, 0 + ldr r4, _08091230 + cmp r2, 0x12 + bgt _0809121C + adds r5, r4, 0 + lsls r0, r2, 2 + adds r3, r0, 0x4 +_08091208: + ldr r0, [r5] + lsls r1, r2, 2 + adds r1, r0, r1 + adds r0, r3 + ldr r0, [r0] + str r0, [r1] + adds r3, 0x4 + adds r2, 0x1 + cmp r2, 0x12 + ble _08091208 +_0809121C: + ldr r0, [r4] + adds r0, 0x4E + movs r1, 0 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x4C + strb r1, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08091230: .4byte gUnknown_203B460 + thumb_func_end sub_80911F8 + + thumb_func_start sub_8091234 +sub_8091234: + ldr r3, _08091248 + ldr r1, [r3] + lsls r0, 2 + adds r1, r0 + movs r2, 0 + strb r2, [r1, 0x2] + ldr r1, [r3] + adds r1, r0 + strb r2, [r1] + bx lr + .align 2, 0 +_08091248: .4byte gUnknown_203B460 + thumb_func_end sub_8091234 + + thumb_func_start sub_809124C +sub_809124C: + push {lr} + sub sp, 0x4 + adds r3, r0, 0 + adds r2, r1, 0 + lsls r3, 24 + lsrs r3, 24 + lsls r2, 24 + lsrs r2, 24 + mov r0, sp + adds r1, r3, 0 + bl sub_8090A8C + mov r0, sp + bl sub_8091290 + lsls r0, 24 + lsrs r0, 24 + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_809124C + + thumb_func_start sub_8091274 +sub_8091274: + push {lr} + sub sp, 0x4 + adds r1, r0, 0 + mov r0, sp + bl sub_8090B64 + mov r0, sp + bl sub_8091290 + lsls r0, 24 + lsrs r0, 24 + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8091274 + + thumb_func_start sub_8091290 +sub_8091290: + push {r4-r6,lr} + adds r4, r0, 0 + movs r3, 0 + ldr r5, _080912B4 + movs r6, 0x1 +_0809129A: + lsls r1, r3, 2 + ldr r0, [r5] + adds r2, r1, r0 + ldrb r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + bne _080912B8 + ldr r0, [r4] + str r0, [r2] + movs r0, 0 + b _080912C0 + .align 2, 0 +_080912B4: .4byte gUnknown_203B460 +_080912B8: + adds r3, 0x1 + cmp r3, 0x13 + ble _0809129A + movs r0, 0x1 +_080912C0: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8091290 + + thumb_func_start sub_80912C8 +sub_80912C8: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + movs r5, 0 + movs r6, 0 +_080912D6: + ldr r0, _0809139C + lsls r1, r5, 2 + ldr r0, [r0] + adds r4, r0, r1 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080912FE + ldrb r0, [r4, 0x2] + cmp r0, 0x69 + bne _080912FE + adds r0, r4, 0 + bl sub_80915D4 + bl sub_80913A0 + strb r6, [r4, 0x2] + strb r6, [r4, 0x1] + strb r6, [r4] +_080912FE: + adds r5, 0x1 + cmp r5, 0x13 + ble _080912D6 + bl sub_80910B4 + movs r5, 0 +_0809130A: + movs r0, 0x1 + negs r0, r0 + mov r9, r0 + lsls r2, r5, 2 + ldr r1, _0809139C + mov r8, r1 + ldr r0, [r1] + adds r3, r2, r0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + mov r10, r2 + adds r7, r5, 0x1 + cmp r0, 0 + beq _08091382 + ldrb r0, [r3, 0x2] + bl GetItemOrder + adds r6, r0, 0 + adds r4, r7, 0 + cmp r7, 0x13 + bgt _08091368 +_08091336: + lsls r5, r4, 2 + mov r1, r8 + ldr r0, [r1] + adds r2, r5, r0 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08091362 + ldrb r0, [r2, 0x2] + bl GetItemOrder + cmp r6, r0 + ble _08091362 + mov r9, r4 + mov r1, r8 + ldr r0, [r1] + adds r0, r5 + ldrb r0, [r0, 0x2] + bl GetItemOrder + adds r6, r0, 0 +_08091362: + adds r4, 0x1 + cmp r4, 0x13 + ble _08091336 +_08091368: + mov r4, r9 + cmp r4, 0 + blt _08091382 + ldr r0, _0809139C + ldr r1, [r0] + mov r0, r10 + adds r2, r1, r0 + ldr r3, [r2] + lsls r0, r4, 2 + adds r1, r0 + ldr r0, [r1] + str r0, [r2] + str r3, [r1] +_08091382: + adds r5, r7, 0 + cmp r5, 0x13 + ble _0809130A + bl sub_80910B4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0809139C: .4byte gUnknown_203B460 + thumb_func_end sub_80912C8 + + thumb_func_start sub_80913A0 +sub_80913A0: + push {lr} + ldr r1, _080913C4 + ldr r1, [r1] + movs r3, 0x98 + lsls r3, 2 + adds r2, r1, r3 + ldr r1, [r2] + adds r1, r0 + str r1, [r2] + ldr r0, _080913C8 + cmp r1, r0 + bgt _080913BE + cmp r1, 0 + bge _080913C0 + movs r0, 0 +_080913BE: + str r0, [r2] +_080913C0: + pop {r0} + bx r0 + .align 2, 0 +_080913C4: .4byte gUnknown_203B460 +_080913C8: .4byte 0x0001869f + thumb_func_end sub_80913A0 + + thumb_func_start sub_80913CC +sub_80913CC: + lsls r0, 24 + ldr r1, _080913DC + ldr r1, [r1] + lsrs r0, 19 + adds r0, r1 + ldrh r0, [r0, 0x18] + bx lr + .align 2, 0 +_080913DC: .4byte gItemParametersData + thumb_func_end sub_80913CC + + thumb_func_start sub_80913E0 +sub_80913E0: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x5C + adds r6, r0, 0 + adds r5, r1, 0 + mov r8, r2 + ldrb r0, [r6, 0x2] + bl GetItemDescription + ldrb r1, [r6, 0x2] + add r0, sp, 0x4 + movs r2, 0 + bl sub_8090DC4 + ldrb r0, [r6, 0x2] + cmp r0, 0x7C + bne _08091414 + ldr r0, _080914D4 + ldrb r1, [r6, 0x1] + adds r1, 0x7D + lsls r1, 24 + lsrs r1, 24 + movs r2, 0 + bl sub_8090DC4 +_08091414: + adds r0, r5, 0 + bl sub_80073B8 + movs r7, 0 + str r7, [sp] + movs r0, 0x10 + movs r1, 0 + add r2, sp, 0x4 + adds r3, r5, 0 + bl sub_8014FF0 + ldrb r0, [r6, 0x2] + bl GetItemDescription + adds r2, r0, 0 + str r7, [sp] + movs r0, 0x8 + movs r1, 0x18 + adds r3, r5, 0 + bl sub_8014FF0 + ldrb r0, [r6, 0x2] + bl GetItemType + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x5 + bne _080914B6 + add r4, sp, 0x54 + ldrb r0, [r6, 0x2] + bl sub_80913CC + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r0, r4, 0 + bl sub_8092A88 + movs r0, 0x7 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0x4 + movs r2, 0x52 + movs r3, 0xC8 + bl sub_80078A4 + ldr r0, _080914D8 + ldr r2, [r0] + str r7, [sp] + movs r0, 0x4 + movs r1, 0x54 + adds r3, r5, 0 + bl sub_8014FF0 + adds r0, r4, 0 + bl sub_8092B00 + lsls r0, 24 + lsrs r0, 24 + bl GetUnformattedTypeString + adds r2, r0, 0 + str r7, [sp] + movs r0, 0x40 + movs r1, 0x54 + adds r3, r5, 0 + bl sub_8014FF0 + adds r0, r4, 0 + bl sub_8092BF4 + ldr r1, _080914DC + str r0, [r1] + ldr r0, _080914E0 + ldr r2, [r0] + str r7, [sp] + movs r0, 0x80 + movs r1, 0x54 + adds r3, r5, 0 + bl sub_8014FF0 +_080914B6: + adds r0, r5, 0 + bl sub_80073E0 + ldrb r0, [r6, 0x2] + bl GetItemDescription + mov r1, r8 + bl sub_8097DF0 + add sp, 0x5C + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080914D4: .4byte gUnknown_202DE58 +_080914D8: .4byte gUnknown_810CF0C +_080914DC: .4byte gUnknown_202DE30 +_080914E0: .4byte gUnknown_8115970 + thumb_func_end sub_80913E0 + + thumb_func_start sub_80914E4 +sub_80914E4: + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + adds r4, r0, 0 + cmp r0, 0 + beq _0809151A + cmp r0, 0x69 + beq _0809151A + cmp r0, 0x79 + beq _0809151A + cmp r0, 0x77 + beq _0809151A + cmp r0, 0x78 + beq _0809151A + cmp r0, 0x7A + beq _0809151A + bl GetItemSellPrice + cmp r0, 0 + beq _0809151A + adds r0, r4, 0 + bl GetItemBuyPrice + cmp r0, 0 + beq _0809151A + movs r0, 0x1 + b _0809151C +_0809151A: + movs r0, 0 +_0809151C: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80914E4 + + thumb_func_start sub_8091524 +sub_8091524: + push {lr} + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0 + beq _0809153C + cmp r0, 0x69 + beq _0809153C + cmp r1, 0x7C + beq _0809153C + movs r0, 0x1 + b _0809153E +_0809153C: + movs r0, 0 +_0809153E: + pop {r1} + bx r1 + thumb_func_end sub_8091524 + + thumb_func_start sub_8091544 +sub_8091544: + push {lr} + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0 + beq _08091568 + cmp r0, 0x69 + beq _08091568 + cmp r0, 0x79 + beq _08091568 + cmp r0, 0x77 + beq _08091568 + cmp r0, 0x78 + beq _08091568 + cmp r1, 0x7A + beq _08091568 + movs r0, 0x1 + b _0809156A +_08091568: + movs r0, 0 +_0809156A: + pop {r1} + bx r1 + thumb_func_end sub_8091544 + + thumb_func_start sub_8091570 +sub_8091570: + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl GetItemType + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + beq _08091596 + adds r0, r4, 0 + bl GetItemType + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + beq _08091596 + movs r0, 0 + b _08091598 +_08091596: + movs r0, 0x1 +_08091598: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8091570 + + thumb_func_start sub_80915A0 +sub_80915A0: + push {lr} + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0xE0 + beq _080915CC + cmp r0, 0xE1 + beq _080915CC + cmp r0, 0xE2 + beq _080915CC + cmp r0, 0xE3 + beq _080915CC + cmp r0, 0xE4 + beq _080915CC + cmp r0, 0xE5 + beq _080915CC + cmp r0, 0xE6 + beq _080915CC + cmp r1, 0xE7 + beq _080915CC + movs r0, 0 + b _080915CE +_080915CC: + movs r0, 0x1 +_080915CE: + pop {r1} + bx r1 + thumb_func_end sub_80915A0 + + thumb_func_start sub_80915D4 +sub_80915D4: + ldr r1, _080915E0 + ldrb r0, [r0, 0x1] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + bx lr + .align 2, 0 +_080915E0: .4byte gUnknown_810A3F0 + thumb_func_end sub_80915D4 + + thumb_func_start sub_80915E4 +sub_80915E4: + ldr r1, _080915F0 + ldrb r0, [r0, 0x1] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + bx lr + .align 2, 0 +_080915F0: .4byte gUnknown_810A3F0 + thumb_func_end sub_80915E4 + + thumb_func_start sub_80915F4 +sub_80915F4: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r7, r3, 0 + lsls r1, 24 + lsrs r5, r1, 24 + lsls r2, 24 + lsrs r2, 24 + mov r8, r2 + ldr r0, _080916B8 + strh r0, [r7] + movs r0, 0 + strh r0, [r7, 0x2] + adds r0, r5, 0 + bl sub_8091764 + lsls r0, 24 + cmp r0, 0 + bne _0809161E + b _08091756 +_0809161E: + movs r1, 0x8 + ldrsh r0, [r6, r1] + movs r1, 0 + bl GetPokemonType + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r2, 0x8 + ldrsh r0, [r6, r2] + movs r1, 0x1 + bl GetPokemonType + lsls r0, 24 + lsrs r0, 24 + adds r2, r5, 0 + subs r2, 0x55 + ldr r5, _080916BC + lsls r2, 1 + lsls r1, r4, 3 + adds r1, r4 + lsls r1, 2 + adds r1, r2, r1 + adds r1, r5 + movs r4, 0 + ldrsh r3, [r1, r4] + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + adds r2, r1 + adds r2, r5 + movs r1, 0 + ldrsh r0, [r2, r1] + movs r2, 0x14 + ldrsh r1, [r6, r2] + adds r3, r0 + ldrh r4, [r6, 0x14] + adds r3, r4 + strh r3, [r6, 0x14] + movs r2, 0x14 + ldrsh r0, [r6, r2] + subs r1, r0, r1 + lsls r3, 16 + cmp r3, 0 + bgt _0809167C + movs r0, 0x1 + strh r0, [r6, 0x14] +_0809167C: + movs r4, 0x14 + ldrsh r0, [r6, r4] + ldr r2, _080916C0 + cmp r0, r2 + ble _08091688 + strh r2, [r6, 0x14] +_08091688: + movs r0, 0 + cmp r1, 0x8 + bgt _0809169C + movs r0, 0x1 + cmp r1, 0x4 + bgt _0809169C + movs r0, 0x3 + cmp r1, 0x2 + ble _0809169C + movs r0, 0x2 +_0809169C: + strh r0, [r7] + mov r1, r8 + cmp r1, 0 + bne _08091756 + cmp r0, 0 + bne _080916C4 + movs r0, 0x10 + bl RandomCapped + cmp r0, 0xA + bne _080916C4 + movs r0, 0xF + b _080916D2 + .align 2, 0 +_080916B8: .4byte 0x0000ffff +_080916BC: .4byte gUnknown_810A580 +_080916C0: .4byte 0x000003e7 +_080916C4: + movs r0, 0x4 + bl RandomCapped + ldr r1, _080916EC + lsls r0, 1 + adds r0, r1 + ldrh r0, [r0] +_080916D2: + strh r0, [r7, 0x2] + ldrh r1, [r7, 0x2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080916F6 + ldrb r0, [r6, 0x18] + cmp r0, 0xFE + bhi _080916F0 + adds r0, 0x1 + strb r0, [r6, 0x18] + b _080916F6 + .align 2, 0 +_080916EC: .4byte gUnknown_81097E0 +_080916F0: + ldr r0, _0809170C + ands r0, r1 + strh r0, [r7, 0x2] +_080916F6: + ldrh r1, [r7, 0x2] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08091716 + ldrb r0, [r6, 0x19] + cmp r0, 0xFE + bhi _08091710 + adds r0, 0x1 + strb r0, [r6, 0x19] + b _08091716 + .align 2, 0 +_0809170C: .4byte 0x0000fffe +_08091710: + ldr r0, _0809172C + ands r0, r1 + strh r0, [r7, 0x2] +_08091716: + ldrh r1, [r7, 0x2] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _08091736 + ldrb r0, [r6, 0x1A] + cmp r0, 0xFE + bhi _08091730 + adds r0, 0x1 + strb r0, [r6, 0x1A] + b _08091736 + .align 2, 0 +_0809172C: .4byte 0x0000fffd +_08091730: + ldr r0, _0809174C + ands r0, r1 + strh r0, [r7, 0x2] +_08091736: + ldrh r1, [r7, 0x2] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08091756 + ldrb r0, [r6, 0x1B] + cmp r0, 0xFE + bhi _08091750 + adds r0, 0x1 + strb r0, [r6, 0x1B] + b _08091756 + .align 2, 0 +_0809174C: .4byte 0x0000fffb +_08091750: + ldr r0, _08091760 + ands r0, r1 + strh r0, [r7, 0x2] +_08091756: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08091760: .4byte 0x0000fff7 + thumb_func_end sub_80915F4 + + thumb_func_start sub_8091764 +sub_8091764: + push {lr} + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x55 + bls _08091776 + cmp r0, 0x66 + bhi _08091776 + movs r0, 0x1 + b _08091778 +_08091776: + movs r0, 0 +_08091778: + pop {r1} + bx r1 + thumb_func_end sub_8091764 + + thumb_func_start sub_809177C +sub_809177C: + push {r4,lr} + movs r4, 0 +_08091780: + lsls r1, r4, 2 + ldr r0, _080917A4 + ldr r0, [r0] + adds r2, r1, r0 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080917A8 + ldrb r0, [r2, 0x2] + bl sub_8091764 + lsls r0, 24 + cmp r0, 0 + beq _080917A8 + movs r0, 0x1 + b _080917B0 + .align 2, 0 +_080917A4: .4byte gUnknown_203B460 +_080917A8: + adds r4, 0x1 + cmp r4, 0x13 + ble _08091780 + movs r0, 0 +_080917B0: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_809177C + + thumb_func_start sub_80917B8 +sub_80917B8: + push {r4,lr} + adds r4, r0, 0 + ldrb r0, [r4, 0x2] + bl sub_8090A60 + lsls r0, 24 + cmp r0, 0 + beq _080917E0 + ldr r2, _080917DC + ldr r1, [r2] + ldrb r0, [r4, 0x2] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + ldrb r3, [r4, 0x1] + adds r0, r3 + b _080917F0 + .align 2, 0 +_080917DC: .4byte gUnknown_203B460 +_080917E0: + ldr r2, _0809180C + ldr r1, [r2] + ldrb r0, [r4, 0x2] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + adds r0, 0x1 +_080917F0: + strh r0, [r1] + ldr r0, [r2] + ldrb r1, [r4, 0x2] + lsls r1, 1 + adds r0, 0x50 + adds r2, r0, r1 + ldrh r0, [r2] + ldr r1, _08091810 + cmp r0, r1 + bls _08091806 + strh r1, [r2] +_08091806: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0809180C: .4byte gUnknown_203B460 +_08091810: .4byte 0x000003e7 + thumb_func_end sub_80917B8 + + thumb_func_start sub_8091814 +sub_8091814: + push {lr} + movs r3, 0 + ldr r0, _0809183C + ldr r0, [r0] + movs r2, 0x8C + lsls r2, 2 + adds r1, r0, r2 + movs r2, 0x7 +_08091824: + ldrb r0, [r1] + cmp r0, 0 + beq _0809182C + adds r3, 0x1 +_0809182C: + adds r1, 0x4 + subs r2, 0x1 + cmp r2, 0 + bge _08091824 + adds r0, r3, 0 + pop {r1} + bx r1 + .align 2, 0 +_0809183C: .4byte gUnknown_203B460 + thumb_func_end sub_8091814 + + thumb_func_start sub_8091840 +sub_8091840: + lsls r0, 24 + ldr r1, _08091858 + lsrs r0, 22 + movs r2, 0x8C + lsls r2, 2 + adds r0, r2 + ldr r1, [r1] + adds r1, r0 + movs r0, 0 + strb r0, [r1] + strb r0, [r1, 0x1] + bx lr + .align 2, 0 +_08091858: .4byte gUnknown_203B460 + thumb_func_end sub_8091840 + + thumb_func_start sub_809185C +sub_809185C: + lsls r0, 24 + ldr r1, _08091870 + lsrs r0, 22 + movs r2, 0x8C + lsls r2, 2 + adds r0, r2 + ldr r1, [r1] + adds r1, r0 + adds r0, r1, 0 + bx lr + .align 2, 0 +_08091870: .4byte gUnknown_203B460 + thumb_func_end sub_809185C + + thumb_func_start sub_8091874 +sub_8091874: + push {r4-r7,lr} + movs r2, 0 + movs r4, 0 + ldr r7, _08091884 + movs r6, 0x8C + lsls r6, 2 + movs r3, 0 + b _080918A0 + .align 2, 0 +_08091884: .4byte gUnknown_203B460 +_08091888: + cmp r2, r4 + ble _0809189A + ldr r0, [r7] + lsls r1, r4, 2 + adds r0, r6 + adds r1, r0, r1 + adds r0, r3 + ldr r0, [r0] + str r0, [r1] +_0809189A: + adds r3, 0x4 + adds r2, 0x1 + adds r4, 0x1 +_080918A0: + cmp r2, 0x7 + bgt _080918CA + ldr r0, [r7] + adds r0, r3 + adds r0, r6 + ldrb r0, [r0] + cmp r0, 0 + bne _080918CA + ldr r5, _080918E8 + movs r1, 0x8C + lsls r1, 2 +_080918B6: + adds r3, 0x4 + adds r2, 0x1 + cmp r2, 0x7 + bgt _080918CA + ldr r0, [r5] + adds r0, r3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _080918B6 +_080918CA: + cmp r2, 0x8 + bne _08091888 + cmp r4, 0x7 + bgt _080918E0 +_080918D2: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8091840 + adds r4, 0x1 + cmp r4, 0x7 + ble _080918D2 +_080918E0: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080918E8: .4byte gUnknown_203B460 + thumb_func_end sub_8091874 + + thumb_func_start sub_80918EC +sub_80918EC: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + movs r0, 0 +_080918F8: + adds r1, r0, 0x1 + mov r8, r1 + mov r6, r8 + cmp r1, 0x7 + bgt _08091964 + ldr r1, _08091978 + mov r9, r1 + lsls r7, r0, 2 + movs r0, 0x8C + lsls r0, 2 + mov r10, r0 +_0809190E: + mov r1, r9 + ldr r0, [r1] + adds r0, r7 + add r0, r10 + ldrb r0, [r0] + bl GetItemOrder + adds r4, r0, 0 + mov r1, r9 + ldr r0, [r1] + lsls r5, r6, 2 + adds r0, r5 + add r0, r10 + ldrb r0, [r0] + bl GetItemOrder + cmp r4, r0 + bgt _0809194C + cmp r4, r0 + bne _0809195E + mov r1, r9 + ldr r0, [r1] + adds r2, r0, r7 + ldr r1, _0809197C + adds r2, r1 + adds r0, r5 + adds r0, r1 + ldrb r1, [r2] + ldrb r0, [r0] + cmp r1, r0 + bcs _0809195E +_0809194C: + mov r1, r9 + ldr r0, [r1] + add r0, r10 + adds r2, r0, r7 + ldr r3, [r2] + adds r0, r5 + ldr r1, [r0] + str r1, [r2] + str r3, [r0] +_0809195E: + adds r6, 0x1 + cmp r6, 0x7 + ble _0809190E +_08091964: + mov r0, r8 + cmp r0, 0x6 + ble _080918F8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08091978: .4byte gUnknown_203B460 +_0809197C: .4byte 0x00000231 + thumb_func_end sub_80918EC + + thumb_func_start sub_8091980 +sub_8091980: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + mov r1, sp + ldr r0, _080919F4 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldr r0, [r0] + str r0, [r1] + movs r5, 0 +_0809199C: + lsls r0, r5, 24 + lsrs r0, 24 + bl sub_8091840 + adds r5, 0x1 + cmp r5, 0x7 + ble _0809199C + mov r0, r8 + lsls r7, r0, 2 + ldr r6, _080919F8 + movs r5, 0x7 +_080919B2: + adds r0, r6, 0 + bl RandomCapped + adds r4, r0, 0 + adds r0, r6, 0 + bl RandomCapped + adds r2, r0, 0 + mov r1, sp + adds r0, r1, r7 + ldr r0, [r0] + adds r1, r4, 0 + bl sub_8091E94 + lsls r0, 24 + lsrs r0, 24 + bl sub_80919FC + subs r5, 0x1 + cmp r5, 0 + bge _080919B2 + bl sub_80918EC + mov r0, r8 + bl sub_8091BB4 + add sp, 0x10 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080919F4: .4byte gUnknown_81097E8 +_080919F8: .4byte 0x0000270f + thumb_func_end sub_8091980 + + thumb_func_start sub_80919FC +sub_80919FC: + push {r4,r5,lr} + sub sp, 0x4 + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + mov r0, sp + bl sub_8090B08 + movs r3, 0 + ldr r5, _08091A34 + movs r4, 0x8C + lsls r4, 2 +_08091A14: + ldr r1, [r5] + lsls r2, r3, 2 + adds r0, r1, r2 + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + bne _08091A38 + movs r3, 0x8C + lsls r3, 2 + adds r0, r1, r3 + adds r0, r2 + ldr r1, [sp] + str r1, [r0] + movs r0, 0 + b _08091A40 + .align 2, 0 +_08091A34: .4byte gUnknown_203B460 +_08091A38: + adds r3, 0x1 + cmp r3, 0x7 + ble _08091A14 + movs r0, 0x1 +_08091A40: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80919FC + + thumb_func_start sub_8091A48 +sub_8091A48: + push {lr} + movs r3, 0 + ldr r0, _08091A70 + ldr r0, [r0] + movs r2, 0x94 + lsls r2, 2 + adds r1, r0, r2 + movs r2, 0x3 +_08091A58: + ldrb r0, [r1] + cmp r0, 0 + beq _08091A60 + adds r3, 0x1 +_08091A60: + adds r1, 0x4 + subs r2, 0x1 + cmp r2, 0 + bge _08091A58 + adds r0, r3, 0 + pop {r1} + bx r1 + .align 2, 0 +_08091A70: .4byte gUnknown_203B460 + thumb_func_end sub_8091A48 + + thumb_func_start sub_8091A74 +sub_8091A74: + lsls r0, 24 + ldr r1, _08091A8C + lsrs r0, 22 + movs r2, 0x94 + lsls r2, 2 + adds r0, r2 + ldr r1, [r1] + adds r1, r0 + movs r0, 0 + strb r0, [r1] + strb r0, [r1, 0x1] + bx lr + .align 2, 0 +_08091A8C: .4byte gUnknown_203B460 + thumb_func_end sub_8091A74 + + thumb_func_start sub_8091A90 +sub_8091A90: + lsls r0, 24 + ldr r1, _08091AA4 + lsrs r0, 22 + movs r2, 0x94 + lsls r2, 2 + adds r0, r2 + ldr r1, [r1] + adds r1, r0 + adds r0, r1, 0 + bx lr + .align 2, 0 +_08091AA4: .4byte gUnknown_203B460 + thumb_func_end sub_8091A90 + + thumb_func_start sub_8091AA8 +sub_8091AA8: + push {r4-r7,lr} + movs r2, 0 + movs r4, 0 + ldr r7, _08091AB8 + movs r6, 0x94 + lsls r6, 2 + movs r3, 0 + b _08091AD4 + .align 2, 0 +_08091AB8: .4byte gUnknown_203B460 +_08091ABC: + cmp r2, r4 + ble _08091ACE + ldr r0, [r7] + lsls r1, r4, 2 + adds r0, r6 + adds r1, r0, r1 + adds r0, r3 + ldr r0, [r0] + str r0, [r1] +_08091ACE: + adds r3, 0x4 + adds r2, 0x1 + adds r4, 0x1 +_08091AD4: + cmp r2, 0x3 + bgt _08091AFE + ldr r0, [r7] + adds r0, r3 + adds r0, r6 + ldrb r0, [r0] + cmp r0, 0 + bne _08091AFE + ldr r5, _08091B1C + movs r1, 0x94 + lsls r1, 2 +_08091AEA: + adds r3, 0x4 + adds r2, 0x1 + cmp r2, 0x3 + bgt _08091AFE + ldr r0, [r5] + adds r0, r3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _08091AEA +_08091AFE: + cmp r2, 0x4 + bne _08091ABC + cmp r4, 0x3 + bgt _08091B14 +_08091B06: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8091A74 + adds r4, 0x1 + cmp r4, 0x3 + ble _08091B06 +_08091B14: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08091B1C: .4byte gUnknown_203B460 + thumb_func_end sub_8091AA8 + + thumb_func_start sub_8091B20 +sub_8091B20: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + movs r0, 0 +_08091B2C: + adds r1, r0, 0x1 + mov r8, r1 + mov r6, r8 + cmp r1, 0x3 + bgt _08091B98 + ldr r1, _08091BAC + mov r9, r1 + lsls r7, r0, 2 + movs r0, 0x94 + lsls r0, 2 + mov r10, r0 +_08091B42: + mov r1, r9 + ldr r0, [r1] + adds r0, r7 + add r0, r10 + ldrb r0, [r0] + bl GetItemOrder + adds r4, r0, 0 + mov r1, r9 + ldr r0, [r1] + lsls r5, r6, 2 + adds r0, r5 + add r0, r10 + ldrb r0, [r0] + bl GetItemOrder + cmp r4, r0 + bgt _08091B80 + cmp r4, r0 + bne _08091B92 + mov r1, r9 + ldr r0, [r1] + adds r2, r0, r7 + ldr r1, _08091BB0 + adds r2, r1 + adds r0, r5 + adds r0, r1 + ldrb r1, [r2] + ldrb r0, [r0] + cmp r1, r0 + bcs _08091B92 +_08091B80: + mov r1, r9 + ldr r0, [r1] + add r0, r10 + adds r2, r0, r7 + ldr r3, [r2] + adds r0, r5 + ldr r1, [r0] + str r1, [r2] + str r3, [r0] +_08091B92: + adds r6, 0x1 + cmp r6, 0x3 + ble _08091B42 +_08091B98: + mov r0, r8 + cmp r0, 0x2 + ble _08091B2C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08091BAC: .4byte gUnknown_203B460 +_08091BB0: .4byte 0x00000251 + thumb_func_end sub_8091B20 + + thumb_func_start sub_8091BB4 +sub_8091BB4: + push {r4-r7,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r4, r0, 24 + mov r1, sp + ldr r0, _08091C14 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldr r0, [r0] + str r0, [r1] + movs r5, 0 +_08091BCA: + lsls r0, r5, 24 + lsrs r0, 24 + bl sub_8091A74 + adds r5, 0x1 + cmp r5, 0x3 + ble _08091BCA + lsls r7, r4, 2 + ldr r6, _08091C18 + movs r5, 0x3 +_08091BDE: + adds r0, r6, 0 + bl RandomCapped + adds r4, r0, 0 + adds r0, r6, 0 + bl RandomCapped + adds r2, r0, 0 + mov r1, sp + adds r0, r1, r7 + ldr r0, [r0] + adds r1, r4, 0 + bl sub_8091E94 + lsls r0, 24 + lsrs r0, 24 + bl sub_8091C1C + subs r5, 0x1 + cmp r5, 0 + bge _08091BDE + bl sub_8091B20 + add sp, 0x10 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08091C14: .4byte gUnknown_81097F8 +_08091C18: .4byte 0x0000270f + thumb_func_end sub_8091BB4 + + thumb_func_start sub_8091C1C +sub_8091C1C: + push {r4,r5,lr} + sub sp, 0x4 + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + mov r0, sp + bl sub_8090B08 + movs r3, 0 + ldr r5, _08091C54 + movs r4, 0x94 + lsls r4, 2 +_08091C34: + ldr r1, [r5] + lsls r2, r3, 2 + adds r0, r1, r2 + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + bne _08091C58 + movs r3, 0x94 + lsls r3, 2 + adds r0, r1, r3 + adds r0, r2 + ldr r1, [sp] + str r1, [r0] + movs r0, 0 + b _08091C60 + .align 2, 0 +_08091C54: .4byte gUnknown_203B460 +_08091C58: + adds r3, 0x1 + cmp r3, 0x3 + ble _08091C34 + movs r0, 0x1 +_08091C60: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8091C1C + + thumb_func_start sub_8091C68 +sub_8091C68: + push {r4-r6,lr} + sub sp, 0x10 + adds r3, r0, 0 + adds r2, r1, 0 + mov r0, sp + adds r1, r3, 0 + bl sub_809486C + movs r4, 0 + ldr r5, _08091D10 +_08091C7C: + lsls r0, r4, 2 + ldr r1, [r5] + adds r1, r0 + mov r0, sp + bl sub_8091E28 + adds r4, 0x1 + cmp r4, 0x13 + ble _08091C7C + ldr r6, _08091D10 + movs r5, 0x50 + movs r4, 0xEF +_08091C94: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + movs r2, 0xA + bl sub_809488C + adds r5, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _08091C94 + ldr r6, _08091D10 + movs r5, 0x8C + lsls r5, 2 + movs r4, 0x7 +_08091CB0: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_8091DE0 + adds r5, 0x4 + subs r4, 0x1 + cmp r4, 0 + bge _08091CB0 + ldr r6, _08091D10 + movs r5, 0x94 + lsls r5, 2 + movs r4, 0x3 +_08091CCA: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_8091DE0 + adds r5, 0x4 + subs r4, 0x1 + cmp r4, 0 + bge _08091CCA + ldr r4, _08091D10 + ldr r1, [r4] + movs r0, 0x98 + lsls r0, 2 + adds r1, r0 + mov r0, sp + movs r2, 0x18 + bl sub_809488C + ldr r1, [r4] + movs r0, 0x99 + lsls r0, 2 + adds r1, r0 + mov r0, sp + movs r2, 0x18 + bl sub_809488C + mov r0, sp + bl nullsub_102 + ldr r0, [sp, 0x8] + add sp, 0x10 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08091D10: .4byte gUnknown_203B460 + thumb_func_end sub_8091C68 + + thumb_func_start sub_8091D14 +sub_8091D14: + push {r4-r6,lr} + sub sp, 0x10 + adds r3, r0, 0 + adds r2, r1, 0 + mov r0, sp + adds r1, r3, 0 + bl sub_809485C + movs r4, 0 + ldr r5, _08091DBC +_08091D28: + lsls r0, r4, 2 + ldr r1, [r5] + adds r1, r0 + mov r0, sp + bl sub_8091E00 + adds r4, 0x1 + cmp r4, 0x13 + ble _08091D28 + ldr r6, _08091DBC + movs r5, 0x50 + movs r4, 0xEF +_08091D40: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + movs r2, 0xA + bl sub_8094924 + adds r5, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _08091D40 + ldr r6, _08091DBC + movs r5, 0x8C + lsls r5, 2 + movs r4, 0x7 +_08091D5C: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_8091DC0 + adds r5, 0x4 + subs r4, 0x1 + cmp r4, 0 + bge _08091D5C + ldr r6, _08091DBC + movs r5, 0x94 + lsls r5, 2 + movs r4, 0x3 +_08091D76: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_8091DC0 + adds r5, 0x4 + subs r4, 0x1 + cmp r4, 0 + bge _08091D76 + ldr r4, _08091DBC + ldr r1, [r4] + movs r0, 0x98 + lsls r0, 2 + adds r1, r0 + mov r0, sp + movs r2, 0x18 + bl sub_8094924 + ldr r1, [r4] + movs r0, 0x99 + lsls r0, 2 + adds r1, r0 + mov r0, sp + movs r2, 0x18 + bl sub_8094924 + mov r0, sp + bl nullsub_102 + ldr r0, [sp, 0x8] + add sp, 0x10 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08091DBC: .4byte gUnknown_203B460 + thumb_func_end sub_8091D14 + + thumb_func_start sub_8091DC0 +sub_8091DC0: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x8 + bl sub_8094924 + adds r4, 0x1 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x7 + bl sub_8094924 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8091DC0 + + thumb_func_start sub_8091DE0 +sub_8091DE0: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x8 + bl sub_809488C + adds r4, 0x1 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x7 + bl sub_809488C + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8091DE0 + + thumb_func_start sub_8091E00 +sub_8091E00: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x8 + bl sub_8094924 + adds r1, r5, 0x1 + adds r0, r4, 0 + movs r2, 0x7 + bl sub_8094924 + adds r5, 0x2 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x8 + bl sub_8094924 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8091E00 + + thumb_func_start sub_8091E28 +sub_8091E28: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x8 + bl sub_809488C + adds r1, r5, 0x1 + adds r0, r4, 0 + movs r2, 0x7 + bl sub_809488C + adds r5, 0x2 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x8 + bl sub_809488C + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8091E28 + + thumb_func_start sub_8091E50 +sub_8091E50: + lsls r0, 24 + ldr r1, _08091E5C + lsrs r0, 22 + adds r0, r1 + ldr r0, [r0] + bx lr + .align 2, 0 +_08091E5C: .4byte gUnknown_810AF50 + thumb_func_end sub_8091E50 + + thumb_func_start sub_8091E60 +sub_8091E60: + push {r4,lr} + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r1, 24 + lsrs r4, r0, 24 + cmp r3, 0x3E + bhi _08091E8C + ldr r2, _08091E88 + lsrs r0, 27 + lsls r1, r3, 5 + adds r0, r1 + adds r0, r2 + ldrb r0, [r0] + movs r1, 0x7 + ands r1, r4 + asrs r0, r1 + movs r1, 0x1 + ands r0, r1 + b _08091E8E + .align 2, 0 +_08091E88: .4byte gUnknown_8108F64 +_08091E8C: + movs r0, 0 +_08091E8E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8091E60 + + thumb_func_start sub_8091E94 +sub_8091E94: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + ldr r4, _08091EE4 + add sp, r4 + mov r8, r1 + mov r10, r2 + ldr r1, _08091EE8 + subs r0, 0x1 + lsls r0, 2 + adds r0, r1 + movs r3, 0 + add r1, sp, 0x18 + mov r9, r1 + ldr r2, _08091EEC + mov r12, r2 + add r6, sp, 0x1F8 + ldr r2, [r0] + adds r7, r6, 0 + movs r4, 0 +_08091EC0: + ldrh r1, [r2] + cmp r1, r12 + bls _08091EF4 + ldrh r0, [r2] + ldr r1, _08091EF0 + adds r0, r1 + cmp r0, 0 + beq _08091EFC + movs r5, 0 + adds r1, r7, r4 +_08091ED4: + strh r5, [r1] + adds r1, 0x2 + adds r4, 0x2 + adds r3, 0x1 + subs r0, 0x1 + cmp r0, 0 + bne _08091ED4 + b _08091EFC + .align 2, 0 +_08091EE4: .4byte 0xfffffc10 +_08091EE8: .4byte gUnknown_8108E58 +_08091EEC: .4byte 0x0000752f +_08091EF0: .4byte 0xffff8ad0 +_08091EF4: + adds r0, r6, r4 + strh r1, [r0] + adds r4, 0x2 + adds r3, 0x1 +_08091EFC: + adds r2, 0x2 + cmp r3, 0xFB + ble _08091EC0 + movs r3, 0xB + add r2, sp, 0x1F8 + mov r1, sp +_08091F08: + ldrh r0, [r2] + strh r0, [r1] + adds r2, 0x2 + adds r1, 0x2 + subs r3, 0x1 + cmp r3, 0 + bge _08091F08 + mov r2, r9 + add r1, sp, 0x210 + movs r3, 0xEF +_08091F1C: + ldrh r0, [r1] + strh r0, [r2] + adds r1, 0x2 + adds r2, 0x2 + subs r3, 0x1 + cmp r3, 0 + bge _08091F1C + movs r7, 0xC + movs r6, 0 + mov r0, sp + movs r2, 0 + ldrsh r0, [r0, r2] + cmp r0, 0 + beq _08091F4A + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, r8 + blt _08091F4A + movs r7, 0 + b _08091F66 +_08091F46: + mov r8, r5 + b _08091F9C +_08091F4A: + adds r6, 0x1 + cmp r6, 0xB + bgt _08091F66 + lsls r0, r6, 1 + mov r2, sp + adds r1, r2, r0 + movs r2, 0 + ldrsh r0, [r1, r2] + cmp r0, 0 + beq _08091F4A + cmp r0, r8 + blt _08091F4A + lsls r0, r6, 24 + lsrs r7, r0, 24 +_08091F66: + movs r0, 0x46 + mov r8, r0 + cmp r7, 0xC + beq _08091F9C + movs r6, 0 + mov r4, r9 +_08091F72: + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _08091F94 + lsls r0, r6, 24 + lsrs r5, r0, 24 + adds r0, r5, 0 + bl GetItemType + lsls r0, 24 + lsrs r0, 24 + cmp r0, r7 + bne _08091F94 + movs r2, 0 + ldrsh r0, [r4, r2] + cmp r0, r10 + bge _08091F46 +_08091F94: + adds r4, 0x2 + adds r6, 0x1 + cmp r6, 0xEF + ble _08091F72 +_08091F9C: + mov r0, r8 + movs r3, 0xFC + lsls r3, 2 + add sp, r3 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8091E94 + + thumb_func_start sub_8091FB4 +sub_8091FB4: + push {r4-r6,lr} + movs r6, 0 +_08091FB8: + ldr r0, _08092038 + lsls r1, r6, 2 + ldr r0, [r0] + adds r4, r0, r1 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08091FE8 + movs r0, 0xF7 + ands r0, r1 + movs r5, 0 + strb r0, [r4] + ldrb r0, [r4, 0x2] + cmp r0, 0x69 + bne _08091FE8 + adds r0, r4, 0 + bl sub_80915D4 + bl sub_80913A0 + strb r5, [r4, 0x2] + strb r5, [r4, 0x1] + strb r5, [r4] +_08091FE8: + adds r6, 0x1 + cmp r6, 0x13 + ble _08091FB8 + bl sub_80910B4 + movs r6, 0 +_08091FF4: + movs r0, 0x58 + adds r1, r6, 0 + muls r1, r0 + ldr r0, _0809203C + ldr r0, [r0] + adds r2, r1, r0 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08092026 + adds r4, r2, 0 + adds r4, 0x28 + ldrb r0, [r4] + cmp r0, 0 + beq _08092026 + cmp r0, 0x69 + bne _08092026 + adds r0, r4, 0 + bl sub_80915E4 + bl sub_80913A0 + movs r0, 0 + strb r0, [r4] +_08092026: + adds r6, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r6, r0 + ble _08091FF4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08092038: .4byte gUnknown_203B460 +_0809203C: .4byte gRecruitedPokemonRef + thumb_func_end sub_8091FB4 + + .align 2,0 diff --git a/asm/jirachi_wish.s b/asm/jirachi_wish.s index ba23793..6ac1fc7 100644 --- a/asm/jirachi_wish.s +++ b/asm/jirachi_wish.s @@ -60,7 +60,7 @@ JirachiWish: movs r1, 0x46 bl sub_803E708 ldr r0, _0808B848 - bl sub_8083E38 + bl PlaySoundEffect movs r0, 0x96 movs r1, 0x46 bl sub_803E708 @@ -78,14 +78,14 @@ JirachiWish: bl sub_80856E0 movs r0, 0xB5 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect ldr r0, _0808B850 bl sub_8052910 movs r0, 0xA movs r1, 0x46 bl sub_803E708 adds r0, r6, 0 - bl sub_808696C + bl SpriteLookAroundEffect ldr r0, _0808B854 bl sub_8052910 movs r0, 0xA @@ -165,7 +165,7 @@ _0808B6D2: beq _0808B744 movs r0, 0xA6 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect adds r0, r7, 0 bl sub_808BB3C adds r0, r6, 0 @@ -249,7 +249,7 @@ _0808B77E: beq _0808B7FA movs r0, 0xC8 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect adds r0, r7, 0 bl sub_808BB3C adds r0, r6, 0 @@ -320,7 +320,7 @@ _0808B87C: adds r0, r4, 0 bl UnlockFriendArea movs r0, 0xD4 - bl sub_8083E38 + bl PlaySoundEffect bl sub_8083600 adds r1, r0, 0 ldr r0, _0808BA3C @@ -399,7 +399,7 @@ _0808B8F4: beq _0808B970 movs r0, 0xC8 lsls r0, 1 - bl sub_8083E38 + bl PlaySoundEffect adds r0, r7, 0 bl sub_808BB3C adds r0, r6, 0 @@ -534,7 +534,7 @@ sub_808BAA4: push {r4,r5,lr} sub sp, 0x4 ldr r0, _0808BB34 - bl sub_8083E38 + bl PlaySoundEffect ldr r1, _0808BB38 movs r0, 0x1F str r0, [r1] diff --git a/asm/kangaskhan_storage.s b/asm/kangaskhan_storage.s new file mode 100644 index 0000000..cdd121a --- /dev/null +++ b/asm/kangaskhan_storage.s @@ -0,0 +1,685 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8016FF8 +sub_8016FF8: + push {r4,r5,lr} + sub sp, 0x14 + ldr r1, _08017014 + ldr r0, [r1] + ldr r0, [r0, 0x4] + adds r4, r1, 0 + cmp r0, 0x1D + bls _0801700A + b _08017584 +_0801700A: + lsls r0, 2 + ldr r1, _08017018 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08017014: .4byte gUnknown_203B208 +_08017018: .4byte _0801701C + .align 2, 0 +_0801701C: + .4byte _08017094 + .4byte _080170BC + .4byte _0801710C + .4byte _0801713C + .4byte _08017584 + .4byte _0801715C + .4byte _0801718C + .4byte _080171BC + .4byte _080171EC + .4byte _0801721C + .4byte _0801724C + .4byte _0801726C + .4byte _0801728C + .4byte _080172AC + .4byte _080172BA + .4byte _080172C2 + .4byte _080174A8 + .4byte _080172E4 + .4byte _0801731C + .4byte _08017344 + .4byte _08017394 + .4byte _080173B4 + .4byte _080173E8 + .4byte _080173F6 + .4byte _08017404 + .4byte _08017474 + .4byte _080174A8 + .4byte _080174B2 + .4byte _080174E8 + .4byte _08017530 +_08017094: + bl sub_80175FC + ldr r2, _080170B4 + ldr r0, [r2] + adds r0, 0xE4 + movs r4, 0 + movs r1, 0x1 + strb r1, [r0] + ldr r3, _080170B8 + ldr r5, [r2] + ldr r1, [r5] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r0, r3 + b _080170DA + .align 2, 0 +_080170B4: .4byte gUnknown_203B208 +_080170B8: .4byte gUnknown_80D5404 +_080170BC: + bl sub_80175FC + ldr r1, _08017104 + ldr r0, [r1] + adds r0, 0xE4 + movs r4, 0 + strb r4, [r0] + ldr r2, _08017108 + ldr r5, [r1] + ldr r1, [r5] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x4 + adds r0, r2 +_080170DA: + ldr r0, [r0] + ldr r2, [r5, 0x18] + adds r3, r5, 0 + adds r3, 0x24 + adds r1, r5, 0 + adds r1, 0x4C + str r1, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + adds r1, r5, 0 + adds r1, 0xE8 + ldr r1, [r1] + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + bl sub_8014248 + b _08017584 + .align 2, 0 +_08017104: .4byte gUnknown_203B208 +_08017108: .4byte gUnknown_80D5404 +_0801710C: + ldr r0, [r4] + movs r1, 0x1 + str r1, [r0, 0x8] + adds r0, 0xE4 + movs r1, 0 + strb r1, [r0] + ldr r2, _08017134 + ldr r3, [r4] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x4C + adds r0, r2 + ldr r0, [r0] + adds r3, 0xE8 + ldr r2, [r3] + ldr r3, _08017138 + b _080173D8 + .align 2, 0 +_08017134: .4byte gUnknown_80D5404 +_08017138: .4byte 0x0000010d +_0801713C: + ldr r0, [r4] + movs r1, 0x4 + str r1, [r0, 0x8] + adds r0, 0xE4 + movs r1, 0x1 + strb r1, [r0] + ldr r2, _08017158 + ldr r3, [r4] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x8 + b _080173CE + .align 2, 0 +_08017158: .4byte gUnknown_80D5404 +_0801715C: + ldr r0, [r4] + movs r1, 0x1 + str r1, [r0, 0x8] + adds r0, 0xE4 + movs r1, 0 + strb r1, [r0] + ldr r2, _08017184 + ldr r3, [r4] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x34 + adds r0, r2 + ldr r0, [r0] + adds r3, 0xE8 + ldr r2, [r3] + ldr r3, _08017188 + b _080173D8 + .align 2, 0 +_08017184: .4byte gUnknown_80D5404 +_08017188: .4byte 0x0000010d +_0801718C: + ldr r0, [r4] + movs r1, 0x1 + str r1, [r0, 0x8] + adds r0, 0xE4 + movs r1, 0 + strb r1, [r0] + ldr r2, _080171B4 + ldr r3, [r4] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x38 + adds r0, r2 + ldr r0, [r0] + adds r3, 0xE8 + ldr r2, [r3] + ldr r3, _080171B8 + b _080173D8 + .align 2, 0 +_080171B4: .4byte gUnknown_80D5404 +_080171B8: .4byte 0x0000010d +_080171BC: + ldr r0, [r4] + movs r1, 0x1 + str r1, [r0, 0x8] + adds r0, 0xE4 + movs r1, 0 + strb r1, [r0] + ldr r2, _080171E4 + ldr r3, [r4] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x3C + adds r0, r2 + ldr r0, [r0] + adds r3, 0xE8 + ldr r2, [r3] + ldr r3, _080171E8 + b _080173D8 + .align 2, 0 +_080171E4: .4byte gUnknown_80D5404 +_080171E8: .4byte 0x0000010d +_080171EC: + ldr r0, [r4] + movs r1, 0x1 + str r1, [r0, 0x8] + adds r0, 0xE4 + movs r1, 0 + strb r1, [r0] + ldr r2, _08017214 + ldr r3, [r4] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x48 + adds r0, r2 + ldr r0, [r0] + adds r3, 0xE8 + ldr r2, [r3] + ldr r3, _08017218 + b _080173D8 + .align 2, 0 +_08017214: .4byte gUnknown_80D5404 +_08017218: .4byte 0x0000010d +_0801721C: + ldr r0, _08017244 + ldr r1, [r4] + adds r1, 0xC + movs r2, 0 + bl sub_8090E14 + ldr r0, [r4] + movs r1, 0xE + str r1, [r0, 0x8] + adds r0, 0xE4 + movs r1, 0 + strb r1, [r0] + ldr r2, _08017248 + ldr r3, [r4] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x40 + b _080173CE + .align 2, 0 +_08017244: .4byte gUnknown_202DE58 +_08017248: .4byte gUnknown_80D5404 +_0801724C: + ldr r0, [r4] + movs r1, 0xE + str r1, [r0, 0x8] + adds r0, 0xE4 + movs r1, 0 + strb r1, [r0] + ldr r2, _08017268 + ldr r3, [r4] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x44 + b _080173CE + .align 2, 0 +_08017268: .4byte gUnknown_80D5404 +_0801726C: + ldr r0, [r4] + movs r1, 0xD + str r1, [r0, 0x8] + adds r0, 0xE4 + movs r1, 0 + strb r1, [r0] + ldr r2, _08017288 + ldr r3, [r4] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0xC + b _080173CE + .align 2, 0 +_08017288: .4byte gUnknown_80D5404 +_0801728C: + ldr r0, [r4] + movs r1, 0xE + str r1, [r0, 0x8] + adds r0, 0xE4 + movs r1, 0 + strb r1, [r0] + ldr r2, _080172A8 + ldr r3, [r4] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x10 + b _080173CE + .align 2, 0 +_080172A8: .4byte gUnknown_80D5404 +_080172AC: + movs r0, 0x3 + movs r1, 0x3 + movs r2, 0 + movs r3, 0xA + bl sub_801A5D8 + b _08017584 +_080172BA: + movs r0, 0x1 + bl sub_801A8D0 + b _08017584 +_080172C2: + bl sub_801A9E0 + bl sub_80176B8 + ldr r0, _080172E0 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x58 + adds r1, r2, 0 + adds r1, 0x24 + adds r3, r2, 0 + adds r3, 0x4C + ldr r2, [r2, 0x1C] + b _08017494 + .align 2, 0 +_080172E0: .4byte gUnknown_203B208 +_080172E4: + bl sub_80177F8 + ldr r0, _08017310 + ldr r4, _08017314 + ldr r1, [r4] + adds r1, 0xC + movs r2, 0 + bl sub_8090E14 + ldr r0, [r4] + adds r0, 0xE4 + movs r5, 0 + strb r5, [r0] + ldr r2, _08017318 + ldr r4, [r4] + ldr r1, [r4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x14 + b _08017504 + .align 2, 0 +_08017310: .4byte gUnknown_202DE58 +_08017314: .4byte gUnknown_203B208 +_08017318: .4byte gUnknown_80D5404 +_0801731C: + bl sub_80177F8 + ldr r1, _0801733C + ldr r0, [r1] + adds r0, 0xE4 + movs r5, 0 + strb r5, [r0] + ldr r2, _08017340 + ldr r4, [r1] + ldr r1, [r4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x18 + b _08017504 + .align 2, 0 +_0801733C: .4byte gUnknown_203B208 +_08017340: .4byte gUnknown_80D5404 +_08017344: + bl sub_8090A34 + cmp r0, 0 + bne _0801735C + bl sub_801A928 + ldr r0, _08017358 + ldr r1, [r0] + movs r0, 0x1 + b _08017362 + .align 2, 0 +_08017358: .4byte gUnknown_203B208 +_0801735C: + ldr r0, _08017388 + ldr r1, [r0] + movs r0, 0xC +_08017362: + str r0, [r1, 0x8] + ldr r3, _08017388 + ldr r0, [r3] + adds r0, 0xE4 + movs r1, 0x1 + strb r1, [r0] + ldr r2, _0801738C + ldr r3, [r3] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x1C + adds r0, r2 + ldr r0, [r0] + adds r3, 0xE8 + ldr r2, [r3] + ldr r3, _08017390 + b _080173D8 + .align 2, 0 +_08017388: .4byte gUnknown_203B208 +_0801738C: .4byte gUnknown_80D5404 +_08017390: .4byte 0x0000010d +_08017394: + ldr r0, [r4] + movs r1, 0x16 + str r1, [r0, 0x8] + adds r0, 0xE4 + movs r1, 0 + strb r1, [r0] + ldr r2, _080173B0 + ldr r3, [r4] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x20 + b _080173CE + .align 2, 0 +_080173B0: .4byte gUnknown_80D5404 +_080173B4: + ldr r0, [r4] + movs r1, 0x17 + str r1, [r0, 0x8] + adds r0, 0xE4 + movs r1, 0 + strb r1, [r0] + ldr r2, _080173E0 + ldr r3, [r4] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x24 +_080173CE: + adds r0, r2 + ldr r0, [r0] + adds r3, 0xE8 + ldr r2, [r3] + ldr r3, _080173E4 +_080173D8: + movs r1, 0 + bl sub_80141B4 + b _08017584 + .align 2, 0 +_080173E0: .4byte gUnknown_80D5404 +_080173E4: .4byte 0x0000030d +_080173E8: + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + movs r3, 0xA + bl sub_801C8C4 + b _080173FC +_080173F6: + movs r0, 0x1 + bl sub_801CB5C +_080173FC: + movs r0, 0 + bl sub_801AD34 + b _08017584 +_08017404: + ldr r2, [r4] + adds r1, r2, 0 + adds r1, 0xB8 + movs r0, 0x2 + str r0, [r1] + subs r1, 0x8 + movs r0, 0x1 + str r0, [r1] + ldr r0, _08017430 + ldr r1, [r0] + ldrb r0, [r2, 0xE] + lsls r0, 1 + adds r1, 0x50 + adds r3, r1, r0 + ldrh r0, [r3] + cmp r0, 0x63 + bls _08017434 + adds r1, r2, 0 + adds r1, 0xB4 + movs r0, 0x63 + b _0801743A + .align 2, 0 +_08017430: .4byte gUnknown_203B460 +_08017434: + adds r1, r2, 0 + adds r1, 0xB4 + ldrh r0, [r3] +_0801743A: + str r0, [r1] + ldr r2, [r4] + adds r1, r2, 0 + adds r1, 0xAC + adds r0, r2, 0 + adds r0, 0xB4 + ldr r0, [r0] + str r0, [r1] + adds r1, 0x10 + movs r0, 0x1 + str r0, [r1] + adds r1, 0x4 + movs r3, 0x82 + lsls r3, 1 + adds r0, r2, r3 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x28 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x12 + str r0, [r1] + adds r0, r2, 0 + adds r0, 0xA8 + bl sub_8013AA0 + bl sub_8017598 + b _08017584 +_08017474: + bl sub_801CCD8 + movs r0, 0 + bl sub_801AD34 + bl sub_8017758 + ldr r0, _080174A4 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x58 + adds r1, r2, 0 + adds r1, 0x24 + adds r3, r2, 0 + adds r3, 0x4C + ldr r2, [r2, 0x20] +_08017494: + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + bl sub_8012D60 + b _08017584 + .align 2, 0 +_080174A4: .4byte gUnknown_203B208 +_080174A8: + ldr r0, [r4] + adds r0, 0xC + bl sub_801B3C0 + b _08017584 +_080174B2: + bl sub_80177F8 + ldr r0, _080174DC + ldr r4, _080174E0 + ldr r1, [r4] + adds r1, 0xC + movs r2, 0 + bl sub_8090E14 + ldr r0, [r4] + adds r0, 0xE4 + movs r5, 0 + strb r5, [r0] + ldr r2, _080174E4 + ldr r4, [r4] + ldr r1, [r4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x28 + b _08017504 + .align 2, 0 +_080174DC: .4byte gUnknown_202DE58 +_080174E0: .4byte gUnknown_203B208 +_080174E4: .4byte gUnknown_80D5404 +_080174E8: + bl sub_80177F8 + ldr r1, _08017528 + ldr r0, [r1] + adds r0, 0xE4 + movs r5, 0 + strb r5, [r0] + ldr r2, _0801752C + ldr r4, [r1] + ldr r1, [r4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x2C +_08017504: + adds r0, r2 + ldr r0, [r0] + adds r3, r4, 0 + adds r3, 0x24 + str r5, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r5, [sp, 0x8] + adds r4, 0xE8 + ldr r1, [r4] + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x4 + bl sub_8014248 + b _08017584 + .align 2, 0 +_08017528: .4byte gUnknown_203B208 +_0801752C: .4byte gUnknown_80D5404 +_08017530: + movs r0, 0x1 + bl sub_801CF14 + lsls r0, 24 + cmp r0, 0 + bne _08017544 + bl sub_8090A34 + cmp r0, 0x13 + ble _08017554 +_08017544: + bl sub_801CBB8 + ldr r0, _08017550 + ldr r1, [r0] + movs r0, 0x1 + b _0801755A + .align 2, 0 +_08017550: .4byte gUnknown_203B208 +_08017554: + ldr r0, _0801758C + ldr r1, [r0] + movs r0, 0x15 +_0801755A: + str r0, [r1, 0x8] + ldr r3, _0801758C + ldr r0, [r3] + adds r0, 0xE4 + movs r1, 0x1 + strb r1, [r0] + ldr r2, _08017590 + ldr r3, [r3] + ldr r1, [r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r2, 0x30 + adds r0, r2 + ldr r0, [r0] + adds r3, 0xE8 + ldr r2, [r3] + ldr r3, _08017594 + movs r1, 0 + bl sub_80141B4 +_08017584: + add sp, 0x14 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801758C: .4byte gUnknown_203B208 +_08017590: .4byte gUnknown_80D5404 +_08017594: .4byte 0x0000010d + thumb_func_end sub_8016FF8 + + + .align 2,0 diff --git a/asm/kangaskhan_storage_1.s b/asm/kangaskhan_storage_1.s new file mode 100644 index 0000000..733a90d --- /dev/null +++ b/asm/kangaskhan_storage_1.s @@ -0,0 +1,2675 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_80175FC +sub_80175FC: + push {r4-r7,lr} + ldr r4, _0801767C + ldr r0, [r4] + adds r0, 0x4C + movs r1, 0 + movs r2, 0xA + bl MemoryFill16 + ldr r3, [r4] + movs r2, 0 + ldr r0, _08017680 + ldr r0, [r0] + str r0, [r3, 0x24] + movs r0, 0x2 + str r0, [r3, 0x28] + movs r1, 0x1 + ldr r0, _08017684 + ldr r0, [r0] + str r0, [r3, 0x2C] + movs r0, 0x3 + str r0, [r3, 0x30] + ldr r0, _08017688 + ldr r0, [r0] + str r0, [r3, 0x34] + movs r0, 0x6 + str r0, [r3, 0x38] + ldr r0, _0801768C + ldr r0, [r0] + str r0, [r3, 0x3C] + str r1, [r3, 0x40] + movs r6, 0x4 + str r2, [r3, 0x44] + str r1, [r3, 0x48] + movs r5, 0 + mov r12, r3 + adds r3, 0x28 + mov r2, r12 + adds r2, 0x4C +_08017648: + ldrh r0, [r2] + cmp r0, 0 + bne _08017658 + ldr r1, [r3] + mov r7, r12 + ldr r0, [r7, 0x18] + cmp r1, r0 + beq _080176B2 +_08017658: + adds r3, 0x8 + adds r2, 0x2 + adds r5, 0x1 + cmp r5, r6 + blt _08017648 + movs r5, 0 + cmp r5, r6 + bge _080176B2 + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x4C + ldrh r0, [r0] + cmp r0, 0 + bne _08017690 + ldr r0, [r1, 0x28] + str r0, [r1, 0x18] + b _080176B2 + .align 2, 0 +_0801767C: .4byte gUnknown_203B208 +_08017680: .4byte gUnknown_80D4958 +_08017684: .4byte gUnknown_80D4964 +_08017688: .4byte gUnknown_80D4970 +_0801768C: .4byte gUnknown_80D4934 +_08017690: + adds r5, 0x1 + cmp r5, r6 + bge _080176B2 + ldr r2, [r4] + lsls r0, r5, 1 + adds r1, r2, 0 + adds r1, 0x4C + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _08017690 + lsls r0, r5, 3 + adds r1, r2, 0 + adds r1, 0x28 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x18] +_080176B2: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80175FC + + thumb_func_start sub_80176B8 +sub_80176B8: + push {r4-r7,lr} + ldr r4, _08017724 + ldr r0, [r4] + adds r0, 0x4C + movs r1, 0 + movs r2, 0xA + bl MemoryFill16 + ldr r3, [r4] + movs r2, 0 + ldr r0, _08017728 + ldr r0, [r0] + str r0, [r3, 0x24] + movs r0, 0x2 + str r0, [r3, 0x28] + movs r1, 0x1 + ldr r0, _0801772C + ldr r0, [r0] + str r0, [r3, 0x2C] + movs r0, 0x6 + str r0, [r3, 0x30] + movs r6, 0x2 + str r2, [r3, 0x34] + str r1, [r3, 0x38] + movs r5, 0 + mov r12, r3 + adds r3, 0x28 + mov r2, r12 + adds r2, 0x4C +_080176F2: + ldrh r0, [r2] + cmp r0, 0 + bne _08017702 + ldr r1, [r3] + mov r7, r12 + ldr r0, [r7, 0x1C] + cmp r1, r0 + beq _08017752 +_08017702: + adds r3, 0x8 + adds r2, 0x2 + adds r5, 0x1 + cmp r5, r6 + blt _080176F2 + movs r5, 0 + cmp r5, r6 + bge _08017752 + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x4C + ldrh r0, [r0] + cmp r0, 0 + bne _08017730 + ldr r0, [r1, 0x28] + str r0, [r1, 0x1C] + b _08017752 + .align 2, 0 +_08017724: .4byte gUnknown_203B208 +_08017728: .4byte gUnknown_80D4958 +_0801772C: .4byte gUnknown_80D4970 +_08017730: + adds r5, 0x1 + cmp r5, r6 + bge _08017752 + ldr r2, [r4] + lsls r0, r5, 1 + adds r1, r2, 0 + adds r1, 0x4C + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _08017730 + lsls r0, r5, 3 + adds r1, r2, 0 + adds r1, 0x28 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x1C] +_08017752: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80176B8 + + thumb_func_start sub_8017758 +sub_8017758: + push {r4-r7,lr} + ldr r4, _080177C4 + ldr r0, [r4] + adds r0, 0x4C + movs r1, 0 + movs r2, 0xA + bl MemoryFill16 + ldr r3, [r4] + movs r2, 0 + ldr r0, _080177C8 + ldr r0, [r0] + str r0, [r3, 0x24] + movs r0, 0x3 + str r0, [r3, 0x28] + movs r1, 0x1 + ldr r0, _080177CC + ldr r0, [r0] + str r0, [r3, 0x2C] + movs r0, 0x6 + str r0, [r3, 0x30] + movs r6, 0x2 + str r2, [r3, 0x34] + str r1, [r3, 0x38] + movs r5, 0 + mov r12, r3 + adds r3, 0x28 + mov r2, r12 + adds r2, 0x4C +_08017792: + ldrh r0, [r2] + cmp r0, 0 + bne _080177A2 + ldr r1, [r3] + mov r7, r12 + ldr r0, [r7, 0x20] + cmp r1, r0 + beq _080177F2 +_080177A2: + adds r3, 0x8 + adds r2, 0x2 + adds r5, 0x1 + cmp r5, r6 + blt _08017792 + movs r5, 0 + cmp r5, r6 + bge _080177F2 + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x4C + ldrh r0, [r0] + cmp r0, 0 + bne _080177D0 + ldr r0, [r1, 0x28] + str r0, [r1, 0x20] + b _080177F2 + .align 2, 0 +_080177C4: .4byte gUnknown_203B208 +_080177C8: .4byte gUnknown_80D4964 +_080177CC: .4byte gUnknown_80D4970 +_080177D0: + adds r5, 0x1 + cmp r5, r6 + bge _080177F2 + ldr r2, [r4] + lsls r0, r5, 1 + adds r1, r2, 0 + adds r1, 0x4C + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _080177D0 + lsls r0, r5, 3 + adds r1, r2, 0 + adds r1, 0x28 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x20] +_080177F2: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8017758 + + thumb_func_start sub_80177F8 +sub_80177F8: + ldr r0, _0801781C + ldr r1, [r0] + movs r3, 0 + ldr r0, _08017820 + ldr r0, [r0] + str r0, [r1, 0x24] + movs r0, 0x4 + str r0, [r1, 0x28] + movs r2, 0x1 + ldr r0, _08017824 + ldr r0, [r0] + str r0, [r1, 0x2C] + movs r0, 0x5 + str r0, [r1, 0x30] + str r3, [r1, 0x34] + str r2, [r1, 0x38] + bx lr + .align 2, 0 +_0801781C: .4byte gUnknown_203B208 +_08017820: .4byte gUnknown_80D4920 +_08017824: .4byte gUnknown_80D4928 + thumb_func_end sub_80177F8 + + thumb_func_start sub_8017828 +sub_8017828: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080178C8 + ldr r1, [sp] + cmp r1, 0x1 + beq _08017842 + ldr r0, _08017854 + ldr r0, [r0] + str r1, [r0, 0x18] +_08017842: + ldr r0, [sp] + cmp r0, 0x2 + beq _08017862 + cmp r0, 0x2 + bgt _08017858 + cmp r0, 0x1 + beq _080178C2 + b _080178C8 + .align 2, 0 +_08017854: .4byte gUnknown_203B208 +_08017858: + cmp r0, 0x3 + beq _0801788E + cmp r0, 0x6 + beq _080178BA + b _080178C8 +_08017862: + bl sub_8090A34 + cmp r0, 0 + bne _08017872 + movs r0, 0x5 + bl UpdateKangaskhanStorageState + b _080178C8 +_08017872: + movs r0, 0 + bl sub_801CF50 + lsls r0, 24 + cmp r0, 0 + beq _08017886 + movs r0, 0x8 + bl UpdateKangaskhanStorageState + b _080178C8 +_08017886: + movs r0, 0xB + bl UpdateKangaskhanStorageState + b _080178C8 +_0801788E: + movs r0, 0x1 + bl sub_801CF14 + lsls r0, 24 + cmp r0, 0 + beq _080178A2 + movs r0, 0x7 + bl UpdateKangaskhanStorageState + b _080178C8 +_080178A2: + bl sub_8090A34 + cmp r0, 0x13 + ble _080178B2 + movs r0, 0x6 + bl UpdateKangaskhanStorageState + b _080178C8 +_080178B2: + movs r0, 0x14 + bl UpdateKangaskhanStorageState + b _080178C8 +_080178BA: + movs r0, 0x2 + bl UpdateKangaskhanStorageState + b _080178C8 +_080178C2: + movs r0, 0x3 + bl UpdateKangaskhanStorageState +_080178C8: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8017828 + + thumb_func_start sub_80178D0 +sub_80178D0: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0801791E + ldr r0, [sp] + cmp r0, 0x4 + beq _080178F4 + cmp r0, 0x4 + bgt _080178EE + cmp r0, 0x1 + beq _08017918 + b _0801791E +_080178EE: + cmp r0, 0x5 + beq _08017918 + b _0801791E +_080178F4: + ldr r4, _08017914 + ldr r0, [r4] + adds r0, 0xC + bl sub_80917B8 + ldr r0, [r4] + ldr r0, [r0, 0x10] + bl sub_80911F8 + bl sub_80910B4 + movs r0, 0x13 + bl UpdateKangaskhanStorageState + b _0801791E + .align 2, 0 +_08017914: .4byte gUnknown_203B208 +_08017918: + movs r0, 0xE + bl UpdateKangaskhanStorageState +_0801791E: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80178D0 + + thumb_func_start sub_8017928 +sub_8017928: + push {lr} + sub sp, 0x8 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080179A2 + ldr r0, [sp] + cmp r0, 0x4 + beq _0801794C + cmp r0, 0x4 + bgt _08017946 + cmp r0, 0x1 + beq _0801799C + b _080179A2 +_08017946: + cmp r0, 0x5 + beq _0801799C + b _080179A2 +_0801794C: + ldr r0, _0801798C + ldr r1, [r0] + ldr r0, _08017990 + ldr r3, [r0] + ldrb r0, [r3, 0xE] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrb r2, [r3, 0xD] + ldrh r0, [r1] + subs r0, r2 + strh r0, [r1] + ldrb r2, [r3, 0xE] + ldr r1, _08017994 + ldr r0, [sp, 0x4] + ands r0, r1 + orrs r0, r2 + str r0, [sp, 0x4] + ldrb r1, [r3, 0xD] + lsls r1, 8 + ldr r2, _08017998 + ands r0, r2 + orrs r0, r1 + str r0, [sp, 0x4] + add r0, sp, 0x4 + bl sub_8091274 + movs r0, 0x1D + bl UpdateKangaskhanStorageState + b _080179A2 + .align 2, 0 +_0801798C: .4byte gUnknown_203B460 +_08017990: .4byte gUnknown_203B208 +_08017994: .4byte 0xffffff00 +_08017998: .4byte 0xffff00ff +_0801799C: + movs r0, 0x17 + bl UpdateKangaskhanStorageState +_080179A2: + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_8017928 + + thumb_func_start sub_80179A8 +sub_80179A8: + push {r4-r7,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08017A12 + ldr r0, [sp] + cmp r0, 0x4 + beq _080179CC + cmp r0, 0x4 + bgt _080179C6 + cmp r0, 0x1 + beq _08017A0C + b _08017A12 +_080179C6: + cmp r0, 0x5 + beq _08017A0C + b _08017A12 +_080179CC: + movs r5, 0 + ldr r6, _08017A08 + movs r7, 0 +_080179D2: + adds r0, r5, 0 + bl sub_801AED0 + cmp r0, 0 + beq _080179F2 + lsls r4, r5, 2 + ldr r0, [r6] + adds r0, r4 + bl sub_80917B8 + ldr r0, [r6] + adds r0, r4 + strb r7, [r0, 0x2] + ldr r0, [r6] + adds r0, r4 + strb r7, [r0] +_080179F2: + adds r5, 0x1 + cmp r5, 0x13 + ble _080179D2 + bl sub_80910B4 + bl sub_801AE84 + movs r0, 0x13 + bl UpdateKangaskhanStorageState + b _08017A12 + .align 2, 0 +_08017A08: .4byte gUnknown_203B460 +_08017A0C: + movs r0, 0xE + bl UpdateKangaskhanStorageState +_08017A12: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80179A8 + + thumb_func_start sub_8017A1C +sub_8017A1C: + push {r4-r6,lr} + sub sp, 0x8 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08017AEE + ldr r0, [sp] + cmp r0, 0x4 + beq _08017A40 + cmp r0, 0x4 + bgt _08017A3A + cmp r0, 0x1 + beq _08017AE8 + b _08017AEE +_08017A3A: + cmp r0, 0x5 + beq _08017AE8 + b _08017AEE +_08017A40: + movs r5, 0 + ldr r6, _08017A88 +_08017A44: + lsls r0, r5, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl sub_801CFE0 + cmp r0, 0 + beq _08017ACE + ldr r1, _08017A8C + ldr r0, [sp, 0x4] + ands r0, r1 + orrs r0, r4 + str r0, [sp, 0x4] + add r4, sp, 0x4 + ldrb r0, [r4] + bl sub_8090A60 + lsls r0, 24 + cmp r0, 0 + beq _08017AA2 + ldr r2, _08017A90 + ldr r1, [r2] + ldrb r0, [r4] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r1, [r1] + cmp r1, 0x63 + bls _08017A94 + ldr r0, [sp, 0x4] + ands r0, r6 + movs r1, 0xC6 + lsls r1, 7 + b _08017A9C + .align 2, 0 +_08017A88: .4byte 0xffff00ff +_08017A8C: .4byte 0xffffff00 +_08017A90: .4byte gUnknown_203B460 +_08017A94: + lsls r1, 24 + lsrs r1, 16 + ldr r0, [sp, 0x4] + ands r0, r6 +_08017A9C: + orrs r0, r1 + str r0, [sp, 0x4] + b _08017AB0 +_08017AA2: + ldr r0, [sp, 0x4] + ands r0, r6 + movs r1, 0x80 + lsls r1, 1 + orrs r0, r1 + str r0, [sp, 0x4] + ldr r2, _08017AE4 +_08017AB0: + ldr r3, [r2] + add r0, sp, 0x4 + ldrb r1, [r4] + lsls r1, 1 + adds r3, 0x50 + adds r3, r1 + ldr r1, [sp, 0x4] + lsrs r1, 8 + lsls r1, 24 + lsrs r1, 24 + ldrh r2, [r3] + subs r2, r1 + strh r2, [r3] + bl sub_8091274 +_08017ACE: + adds r5, 0x1 + cmp r5, 0xEF + ble _08017A44 + bl sub_80910B4 + bl sub_801CF94 + movs r0, 0x1D + bl UpdateKangaskhanStorageState + b _08017AEE + .align 2, 0 +_08017AE4: .4byte gUnknown_203B460 +_08017AE8: + movs r0, 0x17 + bl UpdateKangaskhanStorageState +_08017AEE: + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8017A1C + + thumb_func_start sub_8017AF8 +sub_8017AF8: + push {lr} + movs r0, 0x1 + bl sub_801A6E8 + cmp r0, 0x3 + beq _08017B14 + cmp r0, 0x3 + bhi _08017B0E + cmp r0, 0x2 + beq _08017B78 + b _08017B82 +_08017B0E: + cmp r0, 0x4 + beq _08017B50 + b _08017B82 +_08017B14: + bl sub_801AEA8 + cmp r0, 0 + beq _08017B2A + movs r0, 0 + bl sub_8099690 + movs r0, 0x12 + bl UpdateKangaskhanStorageState + b _08017B82 +_08017B2A: + bl sub_801A8AC + ldr r1, _08017B48 + ldr r2, [r1] + str r0, [r2, 0x10] + ldr r1, _08017B4C + ldr r1, [r1] + lsls r0, 2 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0xC] + movs r0, 0xF + bl UpdateKangaskhanStorageState + b _08017B82 + .align 2, 0 +_08017B48: .4byte gUnknown_203B208 +_08017B4C: .4byte gUnknown_203B460 +_08017B50: + bl sub_801A8AC + ldr r1, _08017B70 + ldr r2, [r1] + str r0, [r2, 0x10] + ldr r1, _08017B74 + ldr r1, [r1] + lsls r0, 2 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0xC] + movs r0, 0x10 + bl UpdateKangaskhanStorageState + b _08017B82 + .align 2, 0 +_08017B70: .4byte gUnknown_203B208 +_08017B74: .4byte gUnknown_203B460 +_08017B78: + bl sub_801A928 + movs r0, 0x1 + bl UpdateKangaskhanStorageState +_08017B82: + pop {r0} + bx r0 + thumb_func_end sub_8017AF8 + + thumb_func_start sub_8017B88 +sub_8017B88: + push {r4,lr} + movs r0, 0x1 + bl sub_801CA08 + cmp r0, 0x2 + beq _08017C10 + cmp r0, 0x2 + bhi _08017B9E + cmp r0, 0x1 + beq _08017C1C + b _08017C22 +_08017B9E: + cmp r0, 0x3 + beq _08017BA8 + cmp r0, 0x4 + beq _08017BE4 + b _08017C22 +_08017BA8: + bl sub_801CFB8 + cmp r0, 0 + beq _08017BB8 + movs r0, 0x1C + bl UpdateKangaskhanStorageState + b _08017C22 +_08017BB8: + bl sub_801CB24 + ldr r4, _08017BE0 + ldr r1, [r4] + strb r0, [r1, 0x14] + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0xC + ldrb r1, [r1, 0x14] + movs r2, 0 + bl sub_8090A8C + ldr r1, [r4] + movs r0, 0x1 + strb r0, [r1, 0xD] + movs r0, 0x19 + bl UpdateKangaskhanStorageState + b _08017C22 + .align 2, 0 +_08017BE0: .4byte gUnknown_203B208 +_08017BE4: + bl sub_801CB24 + ldr r4, _08017C0C + ldr r1, [r4] + strb r0, [r1, 0x14] + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0xC + ldrb r1, [r1, 0x14] + movs r2, 0 + bl sub_8090A8C + ldr r1, [r4] + movs r0, 0x1 + strb r0, [r1, 0xD] + movs r0, 0x1A + bl UpdateKangaskhanStorageState + b _08017C22 + .align 2, 0 +_08017C0C: .4byte gUnknown_203B208 +_08017C10: + bl sub_801CBB8 + movs r0, 0x1 + bl UpdateKangaskhanStorageState + b _08017C22 +_08017C1C: + movs r0, 0 + bl sub_801AD34 +_08017C22: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8017B88 + + thumb_func_start sub_8017C28 +sub_8017C28: + push {r4,lr} + movs r0, 0 + bl sub_801CA08 + ldr r4, _08017C54 + ldr r0, [r4] + adds r0, 0x58 + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0xA8 + bl sub_8013BBC + cmp r0, 0x1 + beq _08017C58 + cmp r0, 0x1 + bcc _08017C76 + cmp r0, 0x2 + beq _08017C70 + cmp r0, 0x3 + beq _08017C5E + b _08017C76 + .align 2, 0 +_08017C54: .4byte gUnknown_203B208 +_08017C58: + bl sub_8017598 + b _08017C76 +_08017C5E: + ldr r0, [r4] + adds r1, r0, 0 + adds r1, 0xA8 + ldr r1, [r1] + strb r1, [r0, 0xD] + movs r0, 0x1B + bl UpdateKangaskhanStorageState + b _08017C76 +_08017C70: + movs r0, 0x17 + bl UpdateKangaskhanStorageState +_08017C76: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8017C28 + + thumb_func_start sub_8017C7C +sub_8017C7C: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_801A6E8 + ldr r4, _08017CBC + ldr r0, [r4] + adds r0, 0x58 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08017CAC + ldr r0, [r4] + adds r0, 0x58 + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _08017CAC + ldr r0, [r4] + str r1, [r0, 0x1C] +_08017CAC: + ldr r0, [sp] + cmp r0, 0x2 + beq _08017CC6 + cmp r0, 0x2 + bgt _08017CC0 + cmp r0, 0x1 + beq _08017D14 + b _08017D1A + .align 2, 0 +_08017CBC: .4byte gUnknown_203B208 +_08017CC0: + cmp r0, 0x6 + beq _08017D06 + b _08017D1A +_08017CC6: + movs r0, 0 + bl sub_8099690 + ldr r4, _08017CE4 + ldr r0, [r4] + ldrb r0, [r0, 0xE] + bl sub_8091524 + lsls r0, 24 + cmp r0, 0 + bne _08017CE8 + movs r0, 0x9 + bl UpdateKangaskhanStorageState + b _08017D1A + .align 2, 0 +_08017CE4: .4byte gUnknown_203B208 +_08017CE8: + ldr r0, [r4] + ldr r0, [r0, 0x10] + bl sub_801ADA0 + lsls r0, 24 + cmp r0, 0 + bne _08017CFE + movs r0, 0xA + bl UpdateKangaskhanStorageState + b _08017D1A +_08017CFE: + movs r0, 0x11 + bl UpdateKangaskhanStorageState + b _08017D1A +_08017D06: + movs r0, 0 + bl sub_8099690 + movs r0, 0x10 + bl UpdateKangaskhanStorageState + b _08017D1A +_08017D14: + movs r0, 0xE + bl UpdateKangaskhanStorageState +_08017D1A: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8017C7C + + thumb_func_start sub_8017D24 +sub_8017D24: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_801CA08 + ldr r4, _08017D64 + ldr r0, [r4] + adds r0, 0x58 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08017D54 + ldr r0, [r4] + adds r0, 0x58 + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _08017D54 + ldr r0, [r4] + str r1, [r0, 0x20] +_08017D54: + ldr r0, [sp] + cmp r0, 0x3 + beq _08017D6E + cmp r0, 0x3 + bgt _08017D68 + cmp r0, 0x1 + beq _08017DB0 + b _08017DB6 + .align 2, 0 +_08017D64: .4byte gUnknown_203B208 +_08017D68: + cmp r0, 0x6 + beq _08017DA8 + b _08017DB6 +_08017D6E: + bl sub_8090A34 + cmp r0, 0x13 + ble _08017D82 + bl sub_801CBB8 + movs r0, 0x6 + bl UpdateKangaskhanStorageState + b _08017DB6 +_08017D82: + ldr r0, _08017D9C + ldr r0, [r0] + ldrb r0, [r0, 0xE] + bl sub_8090A60 + lsls r0, 24 + cmp r0, 0 + beq _08017DA0 + movs r0, 0x18 + bl UpdateKangaskhanStorageState + b _08017DB6 + .align 2, 0 +_08017D9C: .4byte gUnknown_203B208 +_08017DA0: + movs r0, 0x1B + bl UpdateKangaskhanStorageState + b _08017DB6 +_08017DA8: + movs r0, 0x1A + bl UpdateKangaskhanStorageState + b _08017DB6 +_08017DB0: + movs r0, 0x17 + bl UpdateKangaskhanStorageState +_08017DB6: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8017D24 + + thumb_func_start sub_8017DC0 +sub_8017DC0: + push {lr} + bl sub_801B410 + cmp r0, 0x1 + bls _08017DD8 + cmp r0, 0x3 + bhi _08017DD8 + bl sub_801B450 + movs r0, 0xE + bl UpdateKangaskhanStorageState +_08017DD8: + pop {r0} + bx r0 + thumb_func_end sub_8017DC0 + + thumb_func_start sub_8017DDC +sub_8017DDC: + push {lr} + bl sub_801B410 + cmp r0, 0x1 + bls _08017DF4 + cmp r0, 0x3 + bhi _08017DF4 + bl sub_801B450 + movs r0, 0x17 + bl UpdateKangaskhanStorageState +_08017DF4: + pop {r0} + bx r0 + thumb_func_end sub_8017DDC + + thumb_func_start sub_8017DF8 +sub_8017DF8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08017E10 + ldr r0, _08017E18 + ldr r0, [r0] + ldr r0, [r0, 0x8] + bl UpdateKangaskhanStorageState +_08017E10: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_08017E18: .4byte gUnknown_203B208 + thumb_func_end sub_8017DF8 + + thumb_func_start sub_8017E1C +sub_8017E1C: + push {r4,lr} + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _08017E50 + movs r0, 0xA8 + lsls r0, 1 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r1, 0 + str r1, [r0, 0x14] + str r1, [r0, 0x18] + str r1, [r0, 0x1C] + movs r0, 0 + bl sub_8017F10 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08017E50: .4byte gUnknown_203B20C + thumb_func_end sub_8017E1C + + thumb_func_start sub_8017E54 +sub_8017E54: + push {lr} + ldr r0, _08017E6C + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0xE + bhi _08017EEC + lsls r0, 2 + ldr r1, _08017E70 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08017E6C: .4byte gUnknown_203B20C +_08017E70: .4byte _08017E74 + .align 2, 0 +_08017E74: + .4byte _08017EB0 + .4byte _08017EB8 + .4byte _08017EEC + .4byte _08017EE8 + .4byte _08017EBE + .4byte _08017EBE + .4byte _08017EC4 + .4byte _08017ECA + .4byte _08017EEC + .4byte _08017EEC + .4byte _08017ED0 + .4byte _08017ED0 + .4byte _08017ED6 + .4byte _08017EDC + .4byte _08017EE2 +_08017EB0: + movs r0, 0x1 + bl sub_8017F10 + b _08017EEC +_08017EB8: + bl sub_8018588 + b _08017EEC +_08017EBE: + bl sub_8018620 + b _08017EEC +_08017EC4: + bl sub_8018904 + b _08017EEC +_08017ECA: + bl sub_8018AC8 + b _08017EEC +_08017ED0: + bl sub_80186F8 + b _08017EEC +_08017ED6: + bl sub_8018854 + b _08017EEC +_08017EDC: + bl sub_80189C8 + b _08017EEC +_08017EE2: + bl sub_8018AE4 + b _08017EEC +_08017EE8: + movs r0, 0x3 + b _08017EEE +_08017EEC: + movs r0, 0 +_08017EEE: + pop {r1} + bx r1 + thumb_func_end sub_8017E54 + + thumb_func_start sub_8017EF4 +sub_8017EF4: + push {r4,lr} + ldr r4, _08017F0C + ldr r0, [r4] + cmp r0, 0 + beq _08017F06 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08017F06: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08017F0C: .4byte gUnknown_203B20C + thumb_func_end sub_8017EF4 + + thumb_func_start sub_8017F10 +sub_8017F10: + push {lr} + ldr r1, _08017F24 + ldr r1, [r1] + str r0, [r1] + bl sub_8017F28 + bl sub_8018100 + pop {r0} + bx r0 + .align 2, 0 +_08017F24: .4byte gUnknown_203B20C + thumb_func_end sub_8017F10 + + thumb_func_start sub_8017F28 +sub_8017F28: + push {r4-r7,lr} + ldr r4, _08017F48 + ldr r0, [r4] + adds r0, 0xF0 + bl sub_8006518 + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0xD + bls _08017F3E + b _080180BC +_08017F3E: + lsls r0, 2 + ldr r1, _08017F4C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08017F48: .4byte gUnknown_203B20C +_08017F4C: .4byte _08017F50 + .align 2, 0 +_08017F50: + .4byte _080180BC + .4byte _08017F88 + .4byte _080180BC + .4byte _080180BC + .4byte _08017FE8 + .4byte _08017FE8 + .4byte _0801809C + .4byte _080180BC + .4byte _080180BC + .4byte _080180BC + .4byte _08018034 + .4byte _08018034 + .4byte _08018084 + .4byte _0801809C +_08017F88: + ldr r4, _08017FDC + ldr r1, [r4] + ldr r2, _08017FE0 + adds r1, 0xF0 + adds r0, r2, 0 + ldm r0!, {r3,r5,r6} + stm r1!, {r3,r5,r6} + ldm r0!, {r3,r5,r7} + stm r1!, {r3,r5,r7} + ldr r1, [r4] + movs r6, 0x84 + lsls r6, 1 + adds r1, r6 + adds r0, r2, 0 + ldm r0!, {r3,r5,r7} + stm r1!, {r3,r5,r7} + ldm r0!, {r3,r6,r7} + stm r1!, {r3,r6,r7} + ldr r0, [r4] + adds r0, 0xF0 + ldm r2!, {r5-r7} + stm r0!, {r5-r7} + ldm r2!, {r1,r3,r5} + stm r0!, {r1,r3,r5} + bl sub_80182E4 + ldr r2, [r4] + movs r0, 0x90 + lsls r0, 1 + adds r2, r0 + ldr r1, _08017FE4 + ldm r1!, {r3,r6,r7} + stm r2!, {r3,r6,r7} + ldm r1!, {r5-r7} + stm r2!, {r5-r7} + ldr r1, [r4] + adds r0, r1, r0 + adds r1, 0x20 + bl sub_8012CAC + b _080180E0 + .align 2, 0 +_08017FDC: .4byte gUnknown_203B20C +_08017FE0: .4byte gUnknown_80DB7B8 +_08017FE4: .4byte gUnknown_80DB7D0 +_08017FE8: + ldr r3, _0801802C + ldr r1, [r3] + ldr r2, _08018030 + adds r1, 0xF0 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4,r5,r7} + stm r1!, {r4,r5,r7} + ldr r1, [r3] + movs r6, 0x84 + lsls r6, 1 + adds r1, r6 + adds r0, r2, 0 + ldm r0!, {r4,r5,r7} + stm r1!, {r4,r5,r7} + ldm r0!, {r4,r6,r7} + stm r1!, {r4,r6,r7} + ldr r1, [r3] + movs r5, 0x90 + lsls r5, 1 + adds r1, r5 + adds r0, r2, 0 + ldm r0!, {r4,r6,r7} + stm r1!, {r4,r6,r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldr r0, [r3] + adds r0, 0xF0 + ldm r2!, {r1,r3,r4} + stm r0!, {r1,r3,r4} + ldm r2!, {r5-r7} + stm r0!, {r5-r7} + b _080180E0 + .align 2, 0 +_0801802C: .4byte gUnknown_203B20C +_08018030: .4byte gUnknown_80DB7B8 +_08018034: + ldr r3, _08018078 + ldr r1, [r3] + ldr r2, _0801807C + adds r1, 0xF0 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4,r5,r7} + stm r1!, {r4,r5,r7} + ldr r1, [r3] + movs r6, 0x84 + lsls r6, 1 + adds r1, r6 + adds r0, r2, 0 + ldm r0!, {r4,r5,r7} + stm r1!, {r4,r5,r7} + ldm r0!, {r4,r6,r7} + stm r1!, {r4,r6,r7} + ldr r0, [r3] + movs r5, 0x90 + lsls r5, 1 + adds r0, r5 + ldm r2!, {r1,r6,r7} + stm r0!, {r1,r6,r7} + ldm r2!, {r4-r6} + stm r0!, {r4-r6} + ldr r1, [r3] + adds r1, 0xF0 + ldr r0, _08018080 + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + b _080180E0 + .align 2, 0 +_08018078: .4byte gUnknown_203B20C +_0801807C: .4byte gUnknown_80DB7B8 +_08018080: .4byte gUnknown_80DB800 +_08018084: + ldr r0, _08018094 + ldr r1, [r0] + movs r7, 0x84 + lsls r7, 1 + adds r1, r7 + ldr r0, _08018098 + b _080180A8 + .align 2, 0 +_08018094: .4byte gUnknown_203B20C +_08018098: .4byte gUnknown_80DB818 +_0801809C: + ldr r0, _080180B4 + ldr r1, [r0] + movs r0, 0x90 + lsls r0, 1 + adds r1, r0 + ldr r0, _080180B8 +_080180A8: + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + b _080180E0 + .align 2, 0 +_080180B4: .4byte gUnknown_203B20C +_080180B8: .4byte gUnknown_80DB7E8 +_080180BC: + ldr r0, _080180F8 + mov r12, r0 + ldr r4, _080180FC + movs r3, 0 + movs r2, 0x3 +_080180C6: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + adds r1, 0xF0 + adds r0, r4, 0 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + adds r3, 0x18 + subs r2, 0x1 + cmp r2, 0 + bge _080180C6 +_080180E0: + bl ResetUnusedInputStruct + ldr r0, _080180F8 + ldr r0, [r0] + adds r0, 0xF0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080180F8: .4byte gUnknown_203B20C +_080180FC: .4byte gUnknown_80DB7B8 + thumb_func_end sub_8017F28 + + thumb_func_start sub_8018100 +sub_8018100: + push {r4,lr} + sub sp, 0x8 + ldr r1, _0801811C + ldr r0, [r1] + ldr r0, [r0] + adds r4, r1, 0 + cmp r0, 0xE + bls _08018112 + b _08018278 +_08018112: + lsls r0, 2 + ldr r1, _08018120 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801811C: .4byte gUnknown_203B20C +_08018120: .4byte _08018124 + .align 2, 0 +_08018124: + .4byte _08018278 + .4byte _08018160 + .4byte _08018278 + .4byte _08018278 + .4byte _08018172 + .4byte _08018180 + .4byte _08018188 + .4byte _080181A8 + .4byte _08018278 + .4byte _08018278 + .4byte _080181B2 + .4byte _080181C0 + .4byte _080181CE + .4byte _0801823C + .4byte _08018270 +_08018160: + ldr r2, [r4] + adds r0, r2, 0 + adds r0, 0x70 + adds r1, r2, 0 + adds r1, 0x20 + adds r3, r2, 0 + adds r3, 0x60 + ldr r2, [r2, 0x14] + b _0801825C +_08018172: + movs r0, 0x3 + movs r1, 0x3 + movs r2, 0 + movs r3, 0xA + bl sub_801A5D8 + b _08018278 +_08018180: + movs r0, 0x1 + bl sub_801A8D0 + b _08018278 +_08018188: + bl sub_801A9E0 + bl sub_801841C + ldr r0, _080181A4 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x70 + adds r1, r2, 0 + adds r1, 0x20 + adds r3, r2, 0 + adds r3, 0x60 + ldr r2, [r2, 0x18] + b _0801825C + .align 2, 0 +_080181A4: .4byte gUnknown_203B20C +_080181A8: + ldr r0, [r4] + adds r0, 0x8 + bl sub_801B3C0 + b _08018278 +_080181B2: + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + movs r3, 0xA + bl sub_801C8C4 + b _080181C6 +_080181C0: + movs r0, 0x1 + bl sub_801CB5C +_080181C6: + movs r0, 0 + bl sub_801AD34 + b _08018278 +_080181CE: + ldr r2, [r4] + adds r1, r2, 0 + adds r1, 0xD0 + movs r0, 0x2 + str r0, [r1] + subs r1, 0x8 + movs r0, 0x1 + str r0, [r1] + ldr r0, _080181F8 + ldr r1, [r0] + ldrb r0, [r2, 0xA] + lsls r0, 1 + adds r1, 0x50 + adds r3, r1, r0 + ldrh r0, [r3] + cmp r0, 0x63 + bls _080181FC + adds r1, r2, 0 + adds r1, 0xCC + movs r0, 0x63 + b _08018202 + .align 2, 0 +_080181F8: .4byte gUnknown_203B460 +_080181FC: + adds r1, r2, 0 + adds r1, 0xCC + ldrh r0, [r3] +_08018202: + str r0, [r1] + ldr r2, [r4] + adds r1, r2, 0 + adds r1, 0xC4 + adds r0, r2, 0 + adds r0, 0xCC + ldr r0, [r0] + str r0, [r1] + adds r1, 0x10 + movs r0, 0x1 + str r0, [r1] + adds r1, 0x4 + movs r3, 0x84 + lsls r3, 1 + adds r0, r2, r3 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x28 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x12 + str r0, [r1] + adds r0, r2, 0 + adds r0, 0xC0 + bl sub_8013AA0 + bl sub_8018280 + b _08018278 +_0801823C: + bl sub_801CCD8 + movs r0, 0 + bl sub_801AD34 + bl sub_80184D4 + ldr r0, _0801826C + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x70 + adds r1, r2, 0 + adds r1, 0x20 + adds r3, r2, 0 + adds r3, 0x60 + ldr r2, [r2, 0x1C] +_0801825C: + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + bl sub_8012D60 + b _08018278 + .align 2, 0 +_0801826C: .4byte gUnknown_203B20C +_08018270: + ldr r0, [r4] + adds r0, 0x8 + bl sub_801B3C0 +_08018278: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8018100 + + thumb_func_start sub_8018280 +sub_8018280: + push {r4,lr} + sub sp, 0x4 + ldr r4, _080182DC + ldr r0, [r4] + adds r0, 0xD4 + ldr r0, [r0] + bl sub_8008C54 + ldr r0, [r4] + adds r0, 0xD4 + ldr r0, [r0] + bl sub_80073B8 + ldr r2, _080182E0 + ldr r0, [r4] + adds r0, 0xD4 + ldr r3, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + movs r1, 0 + bl xxx_call_draw_string + ldr r0, [r4] + adds r0, 0xC0 + bl sub_8013C68 + ldr r0, [r4] + adds r0, 0xD4 + ldr r0, [r0] + bl sub_80073E0 + bl sub_801CCD8 + movs r0, 0 + bl sub_801AD34 + ldr r0, [r4] + adds r0, 0x70 + movs r1, 0 + bl sub_8012EA4 + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080182DC: .4byte gUnknown_203B20C +_080182E0: .4byte gUnknown_80DB830 + thumb_func_end sub_8018280 + + thumb_func_start sub_80182E4 +sub_80182E4: + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r0, 0 + mov r8, r0 + ldr r4, _080183DC + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r1, [r4] + ldr r0, _080183E0 + ldr r0, [r0] + str r0, [r1, 0x20] + movs r0, 0x2 + str r0, [r1, 0x24] + bl sub_8090A34 + cmp r0, 0 + beq _0801831C + movs r0, 0 + bl sub_801CF50 + lsls r0, 24 + cmp r0, 0 + beq _08018324 +_0801831C: + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0x1 + strh r1, [r0] +_08018324: + movs r1, 0x1 + add r8, r1 + ldr r4, _080183DC + ldr r2, [r4] + mov r0, r8 + lsls r3, r0, 3 + adds r0, r2, 0 + adds r0, 0x20 + adds r0, r3 + ldr r1, _080183E4 + ldr r1, [r1] + str r1, [r0] + adds r2, 0x24 + adds r2, r3 + movs r0, 0x3 + str r0, [r2] + movs r0, 0x1 + bl sub_801CF14 + lsls r0, 24 + cmp r0, 0 + bne _08018358 + bl sub_8090A34 + cmp r0, 0x13 + ble _08018366 +_08018358: + ldr r0, [r4] + mov r2, r8 + lsls r1, r2, 1 + adds r0, 0x60 + adds r0, r1 + movs r1, 0x1 + strh r1, [r0] +_08018366: + movs r0, 0x1 + add r8, r0 + ldr r4, _080183DC + ldr r7, [r4] + mov r2, r8 + lsls r1, r2, 3 + adds r2, r7, 0 + adds r2, 0x20 + adds r3, r2, r1 + ldr r0, _080183E8 + ldr r0, [r0] + str r0, [r3] + adds r6, r7, 0 + adds r6, 0x24 + adds r1, r6, r1 + movs r3, 0x1 + str r3, [r1] + add r8, r3 + mov r1, r8 + lsls r0, r1, 3 + adds r2, r0 + movs r1, 0 + str r1, [r2] + adds r0, r6, r0 + str r3, [r0] + movs r5, 0 + mov r12, r4 + cmp r5, r8 + bge _080183C0 + adds r4, r7, 0 + adds r2, r4, 0 + adds r2, 0x60 + adds r3, r6, 0 +_080183A8: + ldrh r0, [r2] + cmp r0, 0 + bne _080183B6 + ldr r1, [r3] + ldr r0, [r4, 0x14] + cmp r1, r0 + beq _08018410 +_080183B6: + adds r2, 0x2 + adds r3, 0x8 + adds r5, 0x1 + cmp r5, r8 + blt _080183A8 +_080183C0: + movs r5, 0 + cmp r5, r8 + bge _08018410 + mov r2, r12 + ldr r1, [r2] + adds r0, r1, 0 + adds r0, 0x60 + ldrh r0, [r0] + cmp r0, 0 + bne _080183EC + ldr r0, [r1, 0x24] + str r0, [r1, 0x14] + b _08018410 + .align 2, 0 +_080183DC: .4byte gUnknown_203B20C +_080183E0: .4byte gUnknown_80D4958 +_080183E4: .4byte gUnknown_80D4964 +_080183E8: .4byte gUnknown_80D4934 +_080183EC: + adds r5, 0x1 + cmp r5, r8 + bge _08018410 + mov r0, r12 + ldr r2, [r0] + lsls r0, r5, 1 + adds r1, r2, 0 + adds r1, 0x60 + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _080183EC + lsls r0, r5, 3 + adds r1, r2, 0 + adds r1, 0x24 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x14] +_08018410: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80182E4 + + thumb_func_start sub_801841C +sub_801841C: + push {r4-r7,lr} + ldr r4, _080184A0 + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r1, [r4] + ldr r0, _080184A4 + ldr r0, [r0] + str r0, [r1, 0x20] + movs r0, 0x2 + str r0, [r1, 0x24] + ldr r0, [r1, 0xC] + bl sub_801ADA0 + lsls r0, 24 + cmp r0, 0 + bne _0801844C + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0x1 + strh r1, [r0] +_0801844C: + ldr r2, [r4] + movs r1, 0x1 + ldr r0, _080184A8 + ldr r0, [r0] + str r0, [r2, 0x28] + movs r0, 0x4 + str r0, [r2, 0x2C] + movs r5, 0x2 + movs r0, 0 + str r0, [r2, 0x30] + str r1, [r2, 0x34] + movs r3, 0 + adds r6, r4, 0 + mov r12, r2 + mov r4, r12 + adds r4, 0x60 + adds r2, 0x24 +_0801846E: + ldrh r0, [r4] + cmp r0, 0 + bne _0801847E + ldr r1, [r2] + mov r7, r12 + ldr r0, [r7, 0x18] + cmp r1, r0 + beq _080184CE +_0801847E: + adds r4, 0x2 + adds r2, 0x8 + adds r3, 0x1 + cmp r3, r5 + blt _0801846E + movs r3, 0 + cmp r3, r5 + bge _080184CE + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0x60 + ldrh r0, [r0] + cmp r0, 0 + bne _080184AC + ldr r0, [r1, 0x24] + str r0, [r1, 0x18] + b _080184CE + .align 2, 0 +_080184A0: .4byte gUnknown_203B20C +_080184A4: .4byte gUnknown_80D4958 +_080184A8: .4byte gUnknown_80D4970 +_080184AC: + adds r3, 0x1 + cmp r3, r5 + bge _080184CE + ldr r2, [r6] + lsls r0, r3, 1 + adds r1, r2, 0 + adds r1, 0x60 + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _080184AC + lsls r0, r3, 3 + adds r1, r2, 0 + adds r1, 0x24 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x18] +_080184CE: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_801841C + + thumb_func_start sub_80184D4 +sub_80184D4: + push {r4-r7,lr} + ldr r4, _08018554 + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r1, [r4] + ldr r0, _08018558 + ldr r0, [r0] + str r0, [r1, 0x20] + movs r0, 0x3 + str r0, [r1, 0x24] + bl sub_8090A34 + cmp r0, 0x13 + ble _08018500 + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0x1 + strh r1, [r0] +_08018500: + ldr r2, [r4] + movs r1, 0x1 + ldr r0, _0801855C + ldr r0, [r0] + str r0, [r2, 0x28] + movs r0, 0x4 + str r0, [r2, 0x2C] + movs r5, 0x2 + movs r0, 0 + str r0, [r2, 0x30] + str r1, [r2, 0x34] + movs r3, 0 + adds r6, r4, 0 + mov r12, r2 + mov r4, r12 + adds r4, 0x60 + adds r2, 0x24 +_08018522: + ldrh r0, [r4] + cmp r0, 0 + bne _08018532 + ldr r1, [r2] + mov r7, r12 + ldr r0, [r7, 0x1C] + cmp r1, r0 + beq _08018582 +_08018532: + adds r4, 0x2 + adds r2, 0x8 + adds r3, 0x1 + cmp r3, r5 + blt _08018522 + movs r3, 0 + cmp r3, r5 + bge _08018582 + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0x60 + ldrh r0, [r0] + cmp r0, 0 + bne _08018560 + ldr r0, [r1, 0x24] + str r0, [r1, 0x1C] + b _08018582 + .align 2, 0 +_08018554: .4byte gUnknown_203B20C +_08018558: .4byte gUnknown_80D4964 +_0801855C: .4byte gUnknown_80D4970 +_08018560: + adds r3, 0x1 + cmp r3, r5 + bge _08018582 + ldr r2, [r6] + lsls r0, r3, 1 + adds r1, r2, 0 + adds r1, 0x60 + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _08018560 + lsls r0, r3, 3 + adds r1, r2, 0 + adds r1, 0x24 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x1C] +_08018582: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80184D4 + + thumb_func_start sub_8018588 +sub_8018588: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + ldr r4, _080185C4 + ldr r0, [r4] + adds r0, 0x70 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _080185B4 + ldr r0, [r4] + adds r0, 0x70 + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _080185B4 + ldr r0, [r4] + str r1, [r0, 0x14] +_080185B4: + ldr r0, [sp] + cmp r0, 0x2 + beq _080185CE + cmp r0, 0x2 + bgt _080185C8 + cmp r0, 0x1 + beq _08018610 + b _08018616 + .align 2, 0 +_080185C4: .4byte gUnknown_203B20C +_080185C8: + cmp r0, 0x3 + beq _080185EA + b _08018616 +_080185CE: + bl sub_8090A34 + cmp r0, 0 + beq _080185F6 + movs r0, 0 + bl sub_801CF50 + lsls r0, 24 + cmp r0, 0 + bne _080185F6 + movs r0, 0x4 + bl sub_8017F10 + b _08018616 +_080185EA: + movs r0, 0x1 + bl sub_801CF14 + lsls r0, 24 + cmp r0, 0 + beq _08018608 +_080185F6: + ldr r0, _08018604 + ldr r0, [r0] + adds r0, 0x70 + movs r1, 0x1 + bl sub_8012EA4 + b _08018616 + .align 2, 0 +_08018604: .4byte gUnknown_203B20C +_08018608: + movs r0, 0xA + bl sub_8017F10 + b _08018616 +_08018610: + movs r0, 0x3 + bl sub_8017F10 +_08018616: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8018588 + + thumb_func_start sub_8018620 +sub_8018620: + push {r4-r7,lr} + movs r0, 0x1 + bl sub_801A6E8 + cmp r0, 0x3 + beq _0801863C + cmp r0, 0x3 + bhi _08018636 + cmp r0, 0x2 + beq _080186E8 + b _080186F2 +_08018636: + cmp r0, 0x4 + beq _080186C0 + b _080186F2 +_0801863C: + bl sub_801AEA8 + cmp r0, 0 + beq _08018698 + movs r5, 0 + ldr r6, _0801868C + movs r7, 0 +_0801864A: + adds r0, r5, 0 + bl sub_801AED0 + cmp r0, 0 + beq _0801866A + lsls r4, r5, 2 + ldr r0, [r6] + adds r0, r4 + bl sub_80917B8 + ldr r0, [r6] + adds r0, r4 + strb r7, [r0, 0x2] + ldr r0, [r6] + adds r0, r4 + strb r7, [r0] +_0801866A: + adds r5, 0x1 + cmp r5, 0x13 + ble _0801864A + bl sub_80910B4 + bl sub_801AE84 + bl sub_8090A34 + cmp r0, 0 + bne _08018690 + bl sub_801A928 + movs r0, 0x1 + bl sub_8017F10 + b _080186F2 + .align 2, 0 +_0801868C: .4byte gUnknown_203B460 +_08018690: + movs r0, 0x5 + bl sub_8017F10 + b _080186F2 +_08018698: + bl sub_801A8AC + ldr r1, _080186B8 + ldr r2, [r1] + str r0, [r2, 0xC] + ldr r1, _080186BC + ldr r1, [r1] + lsls r0, 2 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x8] + movs r0, 0x6 + bl sub_8017F10 + b _080186F2 + .align 2, 0 +_080186B8: .4byte gUnknown_203B20C +_080186BC: .4byte gUnknown_203B460 +_080186C0: + bl sub_801A8AC + ldr r1, _080186E0 + ldr r2, [r1] + str r0, [r2, 0xC] + ldr r1, _080186E4 + ldr r1, [r1] + lsls r0, 2 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x8] + movs r0, 0x7 + bl sub_8017F10 + b _080186F2 + .align 2, 0 +_080186E0: .4byte gUnknown_203B20C +_080186E4: .4byte gUnknown_203B460 +_080186E8: + bl sub_801A928 + movs r0, 0x1 + bl sub_8017F10 +_080186F2: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8018620 + + thumb_func_start sub_80186F8 +sub_80186F8: + push {r4-r7,lr} + sub sp, 0x4 + movs r0, 0x1 + bl sub_801CA08 + cmp r0, 0x2 + bne _08018708 + b _08018838 +_08018708: + cmp r0, 0x2 + bhi _08018714 + cmp r0, 0x1 + bne _08018712 + b _08018844 +_08018712: + b _0801884A +_08018714: + cmp r0, 0x3 + beq _0801871E + cmp r0, 0x4 + beq _0801880C + b _0801884A +_0801871E: + bl sub_801CFB8 + cmp r0, 0 + beq _080187E0 + movs r6, 0 + mov r5, sp + ldr r7, _0801876C +_0801872C: + lsls r0, r6, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl sub_801CFE0 + cmp r0, 0 + beq _080187B2 + ldr r1, _08018770 + ldr r0, [sp] + ands r0, r1 + orrs r0, r4 + str r0, [sp] + ldrb r0, [r5] + bl sub_8090A60 + lsls r0, 24 + cmp r0, 0 + beq _08018786 + ldr r2, _08018774 + ldr r1, [r2] + ldrb r0, [r5] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r1, [r1] + cmp r1, 0x63 + bls _08018778 + ldr r0, [sp] + ands r0, r7 + movs r1, 0xC6 + lsls r1, 7 + b _08018780 + .align 2, 0 +_0801876C: .4byte 0xffff00ff +_08018770: .4byte 0xffffff00 +_08018774: .4byte gUnknown_203B460 +_08018778: + lsls r1, 24 + lsrs r1, 16 + ldr r0, [sp] + ands r0, r7 +_08018780: + orrs r0, r1 + str r0, [sp] + b _08018794 +_08018786: + ldr r0, [sp] + ands r0, r7 + movs r1, 0x80 + lsls r1, 1 + orrs r0, r1 + str r0, [sp] + ldr r2, _080187DC +_08018794: + ldr r2, [r2] + ldrb r0, [r5] + lsls r0, 1 + adds r2, 0x50 + adds r2, r0 + ldr r0, [sp] + lsrs r0, 8 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r2] + subs r1, r0 + strh r1, [r2] + mov r0, sp + bl sub_8091274 +_080187B2: + adds r6, 0x1 + cmp r6, 0xEF + ble _0801872C + bl sub_80910B4 + bl sub_801CF94 + movs r0, 0x1 + bl sub_801CF14 + lsls r0, 24 + cmp r0, 0 + bne _08018838 + bl sub_8090A34 + cmp r0, 0x13 + bgt _08018838 + movs r0, 0xB + bl sub_8017F10 + b _0801884A + .align 2, 0 +_080187DC: .4byte gUnknown_203B460 +_080187E0: + bl sub_801CB24 + ldr r4, _08018808 + ldr r1, [r4] + strb r0, [r1, 0x10] + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x8 + ldrb r1, [r1, 0x10] + movs r2, 0 + bl sub_8090A8C + ldr r1, [r4] + movs r0, 0x1 + strb r0, [r1, 0x9] + movs r0, 0xD + bl sub_8017F10 + b _0801884A + .align 2, 0 +_08018808: .4byte gUnknown_203B20C +_0801880C: + bl sub_801CB24 + ldr r4, _08018834 + ldr r1, [r4] + strb r0, [r1, 0x10] + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x8 + ldrb r1, [r1, 0x10] + movs r2, 0 + bl sub_8090A8C + ldr r1, [r4] + movs r0, 0x1 + strb r0, [r1, 0x9] + movs r0, 0xE + bl sub_8017F10 + b _0801884A + .align 2, 0 +_08018834: .4byte gUnknown_203B20C +_08018838: + bl sub_801CBB8 + movs r0, 0x1 + bl sub_8017F10 + b _0801884A +_08018844: + movs r0, 0 + bl sub_801AD34 +_0801884A: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80186F8 + + thumb_func_start sub_8018854 +sub_8018854: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + bl sub_801CA08 + ldr r4, _080188E0 + ldr r0, [r4] + adds r0, 0x70 + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0xC0 + bl sub_8013BBC + cmp r0, 0x1 + beq _080188F8 + cmp r0, 0x1 + bcc _080188FC + cmp r0, 0x2 + beq _080188F0 + cmp r0, 0x3 + bne _080188FC + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0xC0 + ldr r0, [r0] + strb r0, [r1, 0x9] + ldr r0, _080188E4 + ldr r1, [r0] + ldr r3, [r4] + ldrb r0, [r3, 0xA] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrb r2, [r3, 0x9] + ldrh r0, [r1] + subs r0, r2 + strh r0, [r1] + ldrb r2, [r3, 0xA] + ldr r1, _080188E8 + ldr r0, [sp] + ands r0, r1 + orrs r0, r2 + str r0, [sp] + ldrb r1, [r3, 0x9] + lsls r1, 8 + ldr r2, _080188EC + ands r0, r2 + orrs r0, r1 + str r0, [sp] + mov r0, sp + bl sub_8091274 + movs r0, 0x1 + bl sub_801CF14 + lsls r0, 24 + cmp r0, 0 + bne _080188D2 + bl sub_8090A34 + cmp r0, 0x13 + ble _080188F0 +_080188D2: + bl sub_801CBB8 + movs r0, 0x1 + bl sub_8017F10 + b _080188FC + .align 2, 0 +_080188E0: .4byte gUnknown_203B20C +_080188E4: .4byte gUnknown_203B460 +_080188E8: .4byte 0xffffff00 +_080188EC: .4byte 0xffff00ff +_080188F0: + movs r0, 0xB + bl sub_8017F10 + b _080188FC +_080188F8: + bl sub_8018280 +_080188FC: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8018854 + + thumb_func_start sub_8018904 +sub_8018904: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_801A6E8 + ldr r4, _08018944 + ldr r0, [r4] + adds r0, 0x70 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08018934 + ldr r0, [r4] + adds r0, 0x70 + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _08018934 + ldr r0, [r4] + str r1, [r0, 0x18] +_08018934: + ldr r0, [sp] + cmp r0, 0x2 + beq _0801894E + cmp r0, 0x2 + bgt _08018948 + cmp r0, 0x1 + beq _080189BA + b _080189C0 + .align 2, 0 +_08018944: .4byte gUnknown_203B20C +_08018948: + cmp r0, 0x4 + beq _080189AC + b _080189C0 +_0801894E: + ldr r4, _08018978 + ldr r0, [r4] + ldrb r0, [r0, 0xA] + bl sub_8091524 + lsls r0, 24 + cmp r0, 0 + beq _0801896C + ldr r0, [r4] + ldr r0, [r0, 0xC] + bl sub_801ADA0 + lsls r0, 24 + cmp r0, 0 + bne _0801897C +_0801896C: + ldr r0, [r4] + adds r0, 0x70 + movs r1, 0x1 + bl sub_8012EA4 + b _080189C0 + .align 2, 0 +_08018978: .4byte gUnknown_203B20C +_0801897C: + ldr r0, [r4] + adds r0, 0x8 + bl sub_80917B8 + ldr r0, [r4] + ldr r0, [r0, 0xC] + bl sub_80911F8 + bl sub_80910B4 + bl sub_8090A34 + cmp r0, 0 + bne _080189A4 + bl sub_801A928 + movs r0, 0x1 + bl sub_8017F10 + b _080189C0 +_080189A4: + movs r0, 0x5 + bl sub_8017F10 + b _080189C0 +_080189AC: + movs r0, 0 + bl sub_8099690 + movs r0, 0x7 + bl sub_8017F10 + b _080189C0 +_080189BA: + movs r0, 0x5 + bl sub_8017F10 +_080189C0: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8018904 + + thumb_func_start sub_80189C8 +sub_80189C8: + push {r4,lr} + sub sp, 0x8 + movs r0, 0 + str r0, [sp] + bl sub_801CA08 + ldr r4, _08018A08 + ldr r0, [r4] + adds r0, 0x70 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _080189F8 + ldr r0, [r4] + adds r0, 0x70 + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _080189F8 + ldr r0, [r4] + str r1, [r0, 0x1C] +_080189F8: + ldr r0, [sp] + cmp r0, 0x3 + beq _08018A12 + cmp r0, 0x3 + bgt _08018A0C + cmp r0, 0x1 + beq _08018AB8 + b _08018ABE + .align 2, 0 +_08018A08: .4byte gUnknown_203B20C +_08018A0C: + cmp r0, 0x4 + beq _08018AB0 + b _08018ABE +_08018A12: + bl sub_8090A34 + cmp r0, 0x13 + ble _08018A2C + ldr r0, _08018A28 + ldr r0, [r0] + adds r0, 0x70 + movs r1, 0x1 + bl sub_8012EA4 + b _08018ABE + .align 2, 0 +_08018A28: .4byte gUnknown_203B20C +_08018A2C: + ldr r4, _08018A44 + ldr r0, [r4] + ldrb r0, [r0, 0xA] + bl sub_8090A60 + lsls r0, 24 + cmp r0, 0 + beq _08018A48 + movs r0, 0xC + bl sub_8017F10 + b _08018ABE + .align 2, 0 +_08018A44: .4byte gUnknown_203B20C +_08018A48: + ldr r0, _08018A9C + ldr r1, [r0] + ldr r3, [r4] + ldrb r0, [r3, 0xA] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrb r2, [r3, 0x9] + ldrh r0, [r1] + subs r0, r2 + strh r0, [r1] + ldrb r2, [r3, 0xA] + ldr r1, _08018AA0 + ldr r0, [sp, 0x4] + ands r0, r1 + orrs r0, r2 + str r0, [sp, 0x4] + ldrb r1, [r3, 0x9] + lsls r1, 8 + ldr r2, _08018AA4 + ands r0, r2 + orrs r0, r1 + str r0, [sp, 0x4] + add r0, sp, 0x4 + bl sub_8091274 + movs r0, 0x1 + bl sub_801CF14 + lsls r0, 24 + cmp r0, 0 + bne _08018A90 + bl sub_8090A34 + cmp r0, 0x13 + ble _08018AA8 +_08018A90: + bl sub_801CBB8 + movs r0, 0x1 + bl sub_8017F10 + b _08018ABE + .align 2, 0 +_08018A9C: .4byte gUnknown_203B460 +_08018AA0: .4byte 0xffffff00 +_08018AA4: .4byte 0xffff00ff +_08018AA8: + movs r0, 0xB + bl sub_8017F10 + b _08018ABE +_08018AB0: + movs r0, 0xE + bl sub_8017F10 + b _08018ABE +_08018AB8: + movs r0, 0xB + bl sub_8017F10 +_08018ABE: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80189C8 + + thumb_func_start sub_8018AC8 +sub_8018AC8: + push {lr} + bl sub_801B410 + cmp r0, 0x1 + bls _08018AE0 + cmp r0, 0x3 + bhi _08018AE0 + bl sub_801B450 + movs r0, 0x5 + bl sub_8017F10 +_08018AE0: + pop {r0} + bx r0 + thumb_func_end sub_8018AC8 + + thumb_func_start sub_8018AE4 +sub_8018AE4: + push {lr} + bl sub_801B410 + cmp r0, 0x1 + bls _08018AFC + cmp r0, 0x3 + bhi _08018AFC + bl sub_801B450 + movs r0, 0xB + bl sub_8017F10 +_08018AFC: + pop {r0} + bx r0 + thumb_func_end sub_8018AE4 + + .align 2,0 diff --git a/asm/kecleon_items.s b/asm/kecleon_items.s new file mode 100644 index 0000000..e703eba --- /dev/null +++ b/asm/kecleon_items.s @@ -0,0 +1,1530 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8018E88 +sub_8018E88: + push {r4,lr} + sub sp, 0x14 + ldr r1, _08018EA4 + ldr r0, [r1] + ldr r0, [r0, 0x8] + adds r4, r1, 0 + cmp r0, 0x20 + bls _08018E9A + b _080194E8 +_08018E9A: + lsls r0, 2 + ldr r1, _08018EA8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08018EA4: .4byte gUnknown_203B210 +_08018EA8: .4byte _08018EAC + .align 2, 0 +_08018EAC: + .4byte _08018F30 + .4byte _08018F58 + .4byte _08018FA8 + .4byte _08018FD0 + .4byte _080194E8 + .4byte _08018FFC + .4byte _08019024 + .4byte _0801904C + .4byte _08019070 + .4byte _08019094 + .4byte _080190B8 + .4byte _080190DC + .4byte _08019104 + .4byte _0801912C + .4byte _08019164 + .4byte _0801918C + .4byte _080191B4 + .4byte _08019294 + .4byte _080191DC + .4byte _080191FA + .4byte _08019218 + .4byte _080193F4 + .4byte _08019254 + .4byte _08019314 + .4byte _0801933C + .4byte _080193FE + .4byte _08019364 + .4byte _08019372 + .4byte _08019380 + .4byte _080193F4 + .4byte _080193B4 + .4byte _0801946C + .4byte _080194C0 +_08018F30: + bl sub_8019DAC + bl sub_80194F8 + movs r0, 0 + bl sub_8019E04 + ldr r2, _08018F50 + ldr r0, _08018F54 + ldr r4, [r0] + ldr r1, [r4] + movs r0, 0x5C + muls r0, r1 + adds r0, r2 + b _08018F76 + .align 2, 0 +_08018F50: .4byte gKecleonShopDialogue +_08018F54: .4byte gUnknown_203B210 +_08018F58: + bl sub_8019DAC + bl sub_80194F8 + movs r0, 0 + bl sub_8019E04 + ldr r1, _08018FA0 + ldr r0, _08018FA4 + ldr r4, [r0] + ldr r2, [r4] + movs r0, 0x5C + muls r0, r2 + adds r1, 0x4 + adds r0, r1 +_08018F76: + ldr r0, [r0] + ldr r2, [r4, 0x28] + adds r3, r4, 0 + adds r3, 0x34 + adds r1, r4, 0 + adds r1, 0x74 + str r1, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + adds r1, r4, 0 + adds r1, 0xE4 + ldr r1, [r1] + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + bl sub_8014248 + b _080194E8 + .align 2, 0 +_08018FA0: .4byte gKecleonShopDialogue +_08018FA4: .4byte gUnknown_203B210 +_08018FA8: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08018FCC + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x58 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08018FCC: .4byte gKecleonShopDialogue +_08018FD0: + ldr r1, [r4] + movs r0, 0x4 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08018FF4 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x8 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + ldr r3, _08018FF8 + b _08019456 + .align 2, 0 +_08018FF4: .4byte gKecleonShopDialogue +_08018FF8: .4byte 0x0000030d +_08018FFC: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08019020 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x30 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019020: .4byte gKecleonShopDialogue +_08019024: + ldr r1, [r4] + movs r0, 0x10 + str r0, [r1, 0xC] + movs r0, 0x1 + bl sub_8019E04 + ldr r1, _08019048 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x34 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019048: .4byte gKecleonShopDialogue +_0801904C: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + bl sub_8019E04 + ldr r1, _0801906C + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x38 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_0801906C: .4byte gKecleonShopDialogue +_08019070: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + bl sub_8019E04 + ldr r1, _08019090 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x3C + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019090: .4byte gKecleonShopDialogue +_08019094: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + bl sub_8019E04 + ldr r1, _080190B4 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x40 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_080190B4: .4byte gKecleonShopDialogue +_080190B8: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + bl sub_8019E04 + ldr r1, _080190D8 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x44 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_080190D8: .4byte gKecleonShopDialogue +_080190DC: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08019100 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x48 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019100: .4byte gKecleonShopDialogue +_08019104: + ldr r1, [r4] + movs r0, 0x10 + str r0, [r1, 0xC] + movs r0, 0x1 + bl sub_8019E04 + ldr r1, _08019128 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x4C + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019128: .4byte gKecleonShopDialogue +_0801912C: + ldr r0, _0801915C + ldr r1, [r4] + adds r1, 0x1C + movs r2, 0 + bl sub_8090E14 + ldr r1, [r4] + movs r0, 0x18 + str r0, [r1, 0xC] + movs r0, 0x1 + bl sub_8019E04 + ldr r1, _08019160 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x50 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_0801915C: .4byte gUnknown_202DE58 +_08019160: .4byte gKecleonShopDialogue +_08019164: + ldr r1, [r4] + movs r0, 0x18 + str r0, [r1, 0xC] + movs r0, 0x1 + bl sub_8019E04 + ldr r1, _08019188 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x54 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019188: .4byte gKecleonShopDialogue +_0801918C: + ldr r1, [r4] + movs r0, 0x12 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _080191B0 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0xC + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_080191B0: .4byte gKecleonShopDialogue +_080191B4: + ldr r1, [r4] + movs r0, 0x13 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _080191D8 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x10 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_080191D8: .4byte gKecleonShopDialogue +_080191DC: + ldr r0, [r4] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _080191EC + movs r0, 0x3 + bl sub_8019E40 + b _080191F2 +_080191EC: + movs r0, 0x3 + bl sub_801A20C +_080191F2: + movs r0, 0 + bl sub_801AD34 + b _08019378 +_080191FA: + ldr r0, [r4] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _0801920A + movs r0, 0x1 + bl sub_8019FCC + b _08019210 +_0801920A: + movs r0, 0x1 + bl sub_801A398 +_08019210: + movs r0, 0 + bl sub_801AD34 + b _08019378 +_08019218: + ldr r0, [r4] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _08019226 + bl sub_801A0D8 + b _0801922A +_08019226: + bl sub_801A4A4 +_0801922A: + movs r0, 0 + bl sub_801AD34 + movs r0, 0x1 + bl sub_8016C40 + bl sub_80195C0 + ldr r0, _08019250 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x84 + adds r1, r2, 0 + adds r1, 0x34 + adds r3, r2, 0 + adds r3, 0x74 + ldr r2, [r2, 0x30] + b _080193A0 + .align 2, 0 +_08019250: .4byte gUnknown_203B210 +_08019254: + bl sub_8019700 + ldr r0, _08019284 + ldr r4, _08019288 + ldr r1, [r4] + adds r1, 0x1C + movs r2, 0 + bl sub_8090E14 + ldr r1, _0801928C + ldr r0, [r4] + ldr r0, [r0, 0x10] + str r0, [r1] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08019290 + ldr r4, [r4] + ldr r2, [r4] + movs r0, 0x5C + muls r0, r2 + adds r1, 0x14 + b _0801948C + .align 2, 0 +_08019284: .4byte gUnknown_202DE58 +_08019288: .4byte gUnknown_203B210 +_0801928C: .4byte gUnknown_202DE30 +_08019290: .4byte gKecleonShopDialogue +_08019294: + bl sub_8019D8C + cmp r0, 0 + bne _080192C0 + ldr r0, _080192AC + ldr r0, [r0] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _080192B0 + bl sub_801A010 + b _080192B4 + .align 2, 0 +_080192AC: .4byte gUnknown_203B210 +_080192B0: + bl sub_801A3DC +_080192B4: + ldr r0, _080192BC + ldr r1, [r0] + movs r0, 0xB + b _080192F2 + .align 2, 0 +_080192BC: .4byte gUnknown_203B210 +_080192C0: + bl sub_8090A34 + cmp r0, 0x13 + ble _080192EC + ldr r0, _080192D8 + ldr r0, [r0] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _080192DC + bl sub_801A010 + b _080192E0 + .align 2, 0 +_080192D8: .4byte gUnknown_203B210 +_080192DC: + bl sub_801A3DC +_080192E0: + ldr r0, _080192E8 + ldr r1, [r0] + movs r0, 0x1 + b _080192F2 + .align 2, 0 +_080192E8: .4byte gUnknown_203B210 +_080192EC: + ldr r0, _0801930C + ldr r1, [r0] + movs r0, 0x10 +_080192F2: + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r2, _08019310 + ldr r0, _0801930C + ldr r1, [r0] + ldr r3, [r1] + movs r0, 0x5C + muls r0, r3 + adds r2, 0x18 + b _0801944C + .align 2, 0 +_0801930C: .4byte gUnknown_203B210 +_08019310: .4byte gKecleonShopDialogue +_08019314: + ldr r1, [r4] + movs r0, 0x1A + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08019338 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x1C + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019338: .4byte gKecleonShopDialogue +_0801933C: + ldr r1, [r4] + movs r0, 0x1B + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _08019360 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x20 + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + b _08019454 + .align 2, 0 +_08019360: .4byte gKecleonShopDialogue +_08019364: + movs r0, 0x4 + movs r1, 0x3 + movs r2, 0 + movs r3, 0xA + bl sub_801A5D8 + b _08019378 +_08019372: + movs r0, 0x1 + bl sub_801A8D0 +_08019378: + movs r0, 0x1 + bl sub_8016C40 + b _080194E8 +_08019380: + bl sub_801A9E0 + movs r0, 0x1 + bl sub_8016C40 + bl sub_8019660 + ldr r0, _080193B0 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x84 + adds r1, r2, 0 + adds r1, 0x34 + adds r3, r2, 0 + adds r3, 0x74 + ldr r2, [r2, 0x2C] +_080193A0: + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + bl sub_8012D60 + b _080194E8 + .align 2, 0 +_080193B0: .4byte gUnknown_203B210 +_080193B4: + bl sub_8019700 + ldr r0, _080193E4 + ldr r4, _080193E8 + ldr r1, [r4] + adds r1, 0x1C + movs r2, 0 + bl sub_8090E14 + ldr r1, _080193EC + ldr r0, [r4] + ldr r0, [r0, 0x10] + str r0, [r1] + movs r0, 0 + bl sub_8019E04 + ldr r1, _080193F0 + ldr r4, [r4] + ldr r2, [r4] + movs r0, 0x5C + muls r0, r2 + adds r1, 0x24 + b _0801948C + .align 2, 0 +_080193E4: .4byte gUnknown_202DE58 +_080193E8: .4byte gUnknown_203B210 +_080193EC: .4byte gUnknown_202DE30 +_080193F0: .4byte gKecleonShopDialogue +_080193F4: + ldr r0, [r4] + adds r0, 0x1C + bl sub_801B3C0 + b _080194E8 +_080193FE: + bl sub_8090A34 + cmp r0, 0 + beq _08019418 + ldr r0, _08019424 + ldr r0, [r0] + movs r1, 0x98 + lsls r1, 2 + adds r0, r1 + ldr r1, [r0] + ldr r0, _08019428 + cmp r1, r0 + ble _08019430 +_08019418: + bl sub_801A928 + ldr r0, _0801942C + ldr r1, [r0] + movs r0, 0x1 + b _08019436 + .align 2, 0 +_08019424: .4byte gUnknown_203B460 +_08019428: .4byte 0x0001869e +_0801942C: .4byte gUnknown_203B210 +_08019430: + ldr r0, _08019460 + ldr r1, [r0] + movs r0, 0x18 +_08019436: + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r2, _08019464 + ldr r0, _08019460 + ldr r1, [r0] + ldr r3, [r1] + movs r0, 0x5C + muls r0, r3 + adds r2, 0x2C +_0801944C: + adds r0, r2 + ldr r0, [r0] + adds r1, 0xE4 + ldr r2, [r1] +_08019454: + ldr r3, _08019468 +_08019456: + movs r1, 0 + bl sub_80141B4 + b _080194E8 + .align 2, 0 +_08019460: .4byte gUnknown_203B210 +_08019464: .4byte gKecleonShopDialogue +_08019468: .4byte 0x0000010d +_0801946C: + bl sub_8019700 + ldr r1, _080194B4 + ldr r4, _080194B8 + ldr r0, [r4] + ldr r0, [r0, 0x18] + str r0, [r1] + movs r0, 0 + bl sub_8019E04 + ldr r1, _080194BC + ldr r4, [r4] + ldr r2, [r4] + movs r0, 0x5C + muls r0, r2 + adds r1, 0x28 +_0801948C: + adds r0, r1 + ldr r0, [r0] + adds r3, r4, 0 + adds r3, 0x34 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + adds r4, 0xE4 + ldr r1, [r4] + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x5 + bl sub_8014248 + b _080194E8 + .align 2, 0 +_080194B4: .4byte gUnknown_202DE30 +_080194B8: .4byte gUnknown_203B210 +_080194BC: .4byte gKecleonShopDialogue +_080194C0: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0xC] + movs r0, 0 + bl sub_8019E04 + ldr r1, _080194F0 + ldr r2, [r4] + ldr r3, [r2] + movs r0, 0x5C + muls r0, r3 + adds r1, 0x2C + adds r0, r1 + ldr r0, [r0] + adds r2, 0xE4 + ldr r2, [r2] + ldr r3, _080194F4 + movs r1, 0 + bl sub_80141B4 +_080194E8: + add sp, 0x14 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080194F0: .4byte gKecleonShopDialogue +_080194F4: .4byte 0x0000010d + thumb_func_end sub_8018E88 + + thumb_func_start sub_80194F8 +sub_80194F8: + push {r4-r7,lr} + ldr r4, _08019580 + ldr r0, [r4] + adds r0, 0x74 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r3, [r4] + movs r2, 0 + ldr r0, _08019584 + ldr r0, [r0] + str r0, [r3, 0x34] + movs r0, 0x2 + str r0, [r3, 0x38] + movs r1, 0x1 + ldr r0, _08019588 + ldr r0, [r0] + str r0, [r3, 0x3C] + movs r0, 0x3 + str r0, [r3, 0x40] + ldr r0, _0801958C + str r0, [r3, 0x44] + movs r0, 0x4 + str r0, [r3, 0x48] + ldr r0, _08019590 + ldr r0, [r0] + str r0, [r3, 0x4C] + movs r0, 0x7 + str r0, [r3, 0x50] + ldr r0, _08019594 + ldr r0, [r0] + str r0, [r3, 0x54] + str r1, [r3, 0x58] + movs r6, 0x5 + str r2, [r3, 0x5C] + str r1, [r3, 0x60] + movs r5, 0 + mov r12, r3 + adds r3, 0x38 + mov r2, r12 + adds r2, 0x74 +_0801954C: + ldrh r0, [r2] + cmp r0, 0 + bne _0801955C + ldr r1, [r3] + mov r7, r12 + ldr r0, [r7, 0x28] + cmp r1, r0 + beq _080195BA +_0801955C: + adds r3, 0x8 + adds r2, 0x2 + adds r5, 0x1 + cmp r5, r6 + blt _0801954C + movs r5, 0 + cmp r5, r6 + bge _080195BA + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x74 + ldrh r0, [r0] + cmp r0, 0 + bne _08019598 + ldr r0, [r1, 0x38] + str r0, [r1, 0x28] + b _080195BA + .align 2, 0 +_08019580: .4byte gUnknown_203B210 +_08019584: .4byte gUnknown_80D4978 +_08019588: .4byte gUnknown_80D4984 +_0801958C: .4byte gUnknown_80DB8A0 +_08019590: .4byte gUnknown_80D4970 +_08019594: .4byte gUnknown_80D4934 +_08019598: + adds r5, 0x1 + cmp r5, r6 + bge _080195BA + ldr r2, [r4] + lsls r0, r5, 1 + adds r1, r2, 0 + adds r1, 0x74 + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _08019598 + lsls r0, r5, 3 + adds r1, r2, 0 + adds r1, 0x38 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x28] +_080195BA: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80194F8 + + thumb_func_start sub_80195C0 +sub_80195C0: + push {r4-r7,lr} + ldr r4, _0801962C + ldr r0, [r4] + adds r0, 0x74 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r3, [r4] + movs r2, 0 + ldr r0, _08019630 + ldr r0, [r0] + str r0, [r3, 0x34] + movs r0, 0x2 + str r0, [r3, 0x38] + movs r1, 0x1 + ldr r0, _08019634 + ldr r0, [r0] + str r0, [r3, 0x3C] + movs r0, 0x7 + str r0, [r3, 0x40] + movs r6, 0x2 + str r2, [r3, 0x44] + str r1, [r3, 0x48] + movs r5, 0 + mov r12, r3 + adds r3, 0x38 + mov r2, r12 + adds r2, 0x74 +_080195FA: + ldrh r0, [r2] + cmp r0, 0 + bne _0801960A + ldr r1, [r3] + mov r7, r12 + ldr r0, [r7, 0x30] + cmp r1, r0 + beq _0801965A +_0801960A: + adds r3, 0x8 + adds r2, 0x2 + adds r5, 0x1 + cmp r5, r6 + blt _080195FA + movs r5, 0 + cmp r5, r6 + bge _0801965A + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x74 + ldrh r0, [r0] + cmp r0, 0 + bne _08019638 + ldr r0, [r1, 0x38] + str r0, [r1, 0x30] + b _0801965A + .align 2, 0 +_0801962C: .4byte gUnknown_203B210 +_08019630: .4byte gUnknown_80D4978 +_08019634: .4byte gUnknown_80D4970 +_08019638: + adds r5, 0x1 + cmp r5, r6 + bge _0801965A + ldr r2, [r4] + lsls r0, r5, 1 + adds r1, r2, 0 + adds r1, 0x74 + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _08019638 + lsls r0, r5, 3 + adds r1, r2, 0 + adds r1, 0x38 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x30] +_0801965A: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80195C0 + + thumb_func_start sub_8019660 +sub_8019660: + push {r4-r7,lr} + ldr r4, _080196CC + ldr r0, [r4] + adds r0, 0x74 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r3, [r4] + movs r2, 0 + ldr r0, _080196D0 + ldr r0, [r0] + str r0, [r3, 0x34] + movs r0, 0x3 + str r0, [r3, 0x38] + movs r1, 0x1 + ldr r0, _080196D4 + ldr r0, [r0] + str r0, [r3, 0x3C] + movs r0, 0x7 + str r0, [r3, 0x40] + movs r6, 0x2 + str r2, [r3, 0x44] + str r1, [r3, 0x48] + movs r5, 0 + mov r12, r3 + adds r3, 0x38 + mov r2, r12 + adds r2, 0x74 +_0801969A: + ldrh r0, [r2] + cmp r0, 0 + bne _080196AA + ldr r1, [r3] + mov r7, r12 + ldr r0, [r7, 0x2C] + cmp r1, r0 + beq _080196FA +_080196AA: + adds r3, 0x8 + adds r2, 0x2 + adds r5, 0x1 + cmp r5, r6 + blt _0801969A + movs r5, 0 + cmp r5, r6 + bge _080196FA + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x74 + ldrh r0, [r0] + cmp r0, 0 + bne _080196D8 + ldr r0, [r1, 0x38] + str r0, [r1, 0x2C] + b _080196FA + .align 2, 0 +_080196CC: .4byte gUnknown_203B210 +_080196D0: .4byte gUnknown_80D4984 +_080196D4: .4byte gUnknown_80D4970 +_080196D8: + adds r5, 0x1 + cmp r5, r6 + bge _080196FA + ldr r2, [r4] + lsls r0, r5, 1 + adds r1, r2, 0 + adds r1, 0x74 + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _080196D8 + lsls r0, r5, 3 + adds r1, r2, 0 + adds r1, 0x38 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x2C] +_080196FA: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8019660 + + thumb_func_start sub_8019700 +sub_8019700: + ldr r0, _08019724 + ldr r1, [r0] + movs r3, 0 + ldr r0, _08019728 + ldr r0, [r0] + str r0, [r1, 0x34] + movs r0, 0x5 + str r0, [r1, 0x38] + movs r2, 0x1 + ldr r0, _0801972C + ldr r0, [r0] + str r0, [r1, 0x3C] + movs r0, 0x6 + str r0, [r1, 0x40] + str r3, [r1, 0x44] + str r2, [r1, 0x48] + bx lr + .align 2, 0 +_08019724: .4byte gUnknown_203B210 +_08019728: .4byte gUnknown_80D4920 +_0801972C: .4byte gUnknown_80D4928 + thumb_func_end sub_8019700 + + thumb_func_start sub_8019730 +sub_8019730: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + beq _08019740 + b _0801984A +_08019740: + ldr r1, [sp] + cmp r1, 0x1 + beq _0801974C + ldr r0, _08019760 + ldr r0, [r0] + str r1, [r0, 0x28] +_0801974C: + ldr r0, [sp] + subs r0, 0x1 + cmp r0, 0x6 + bls _08019756 + b _0801984A +_08019756: + lsls r0, 2 + ldr r1, _08019764 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08019760: .4byte gUnknown_203B210 +_08019764: .4byte _08019768 + .align 2, 0 +_08019768: + .4byte _08019844 + .4byte _08019784 + .4byte _080197AC + .4byte _080197E4 + .4byte _0801984A + .4byte _0801984A + .4byte _0801983C +_08019784: + bl sub_8019D8C + cmp r0, 0 + bne _08019794 + movs r0, 0x5 + bl UpdateKecleonStoreState + b _0801984A +_08019794: + bl sub_8090A34 + cmp r0, 0x13 + ble _080197A4 + movs r0, 0xA + bl UpdateKecleonStoreState + b _0801984A +_080197A4: + movs r0, 0xF + bl UpdateKecleonStoreState + b _0801984A +_080197AC: + bl sub_8090A34 + cmp r0, 0 + beq _080197EC + ldr r0, _080197D8 + ldr r0, [r0] + ldr r0, [r0, 0x14] + cmp r0, 0 + beq _080197FE + ldr r0, _080197DC + ldr r0, [r0] + movs r1, 0x98 + lsls r1, 2 + adds r0, r1 + ldr r1, [r0] + ldr r0, _080197E0 + cmp r1, r0 + bgt _08019822 + movs r0, 0x17 + bl UpdateKecleonStoreState + b _0801984A + .align 2, 0 +_080197D8: .4byte gUnknown_203B210 +_080197DC: .4byte gUnknown_203B460 +_080197E0: .4byte 0x0001869e +_080197E4: + bl sub_8090A34 + cmp r0, 0 + bne _080197F4 +_080197EC: + movs r0, 0x9 + bl UpdateKecleonStoreState + b _0801984A +_080197F4: + ldr r0, _08019808 + ldr r1, [r0] + ldr r0, [r1, 0x14] + cmp r0, 0 + bne _0801980C +_080197FE: + movs r0, 0x8 + bl UpdateKecleonStoreState + b _0801984A + .align 2, 0 +_08019808: .4byte gUnknown_203B210 +_0801980C: + ldr r0, _0801982C + ldr r0, [r0] + movs r2, 0x98 + lsls r2, 2 + adds r0, r2 + ldr r1, [r1, 0x18] + ldr r0, [r0] + adds r1, r0 + ldr r0, _08019830 + cmp r1, r0 + ble _08019834 +_08019822: + movs r0, 0x7 + bl UpdateKecleonStoreState + b _0801984A + .align 2, 0 +_0801982C: .4byte gUnknown_203B460 +_08019830: .4byte 0x0001869f +_08019834: + movs r0, 0x1F + bl UpdateKecleonStoreState + b _0801984A +_0801983C: + movs r0, 0x2 + bl UpdateKecleonStoreState + b _0801984A +_08019844: + movs r0, 0x3 + bl UpdateKecleonStoreState +_0801984A: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8019730 + + thumb_func_start sub_8019850 +sub_8019850: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080198DE + ldr r0, [sp] + cmp r0, 0x5 + beq _08019874 + cmp r0, 0x5 + bgt _0801986E + cmp r0, 0x1 + beq _080198D8 + b _080198DE +_0801986E: + cmp r0, 0x6 + beq _080198D8 + b _080198DE +_08019874: + ldr r4, _080198A8 + ldr r0, [r4] + ldr r0, [r0, 0x10] + negs r0, r0 + bl sub_80913A0 + ldr r1, [r4] + ldrb r0, [r1, 0x4] + cmp r0, 0 + beq _080198AC + adds r0, r1, 0 + adds r0, 0x20 + ldrb r0, [r0] + bl sub_809185C + bl sub_8091274 + ldr r0, [r4] + adds r0, 0x20 + ldrb r0, [r0] + bl sub_8091840 + bl sub_8091874 + b _080198C8 + .align 2, 0 +_080198A8: .4byte gUnknown_203B210 +_080198AC: + adds r0, r1, 0 + adds r0, 0x21 + ldrb r0, [r0] + bl sub_8091A90 + bl sub_8091274 + ldr r0, [r4] + adds r0, 0x21 + ldrb r0, [r0] + bl sub_8091A74 + bl sub_8091AA8 +_080198C8: + movs r0, 0xA6 + lsls r0, 1 + bl PlaySound + movs r0, 0x11 + bl UpdateKecleonStoreState + b _080198DE +_080198D8: + movs r0, 0x10 + bl UpdateKecleonStoreState +_080198DE: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8019850 + + thumb_func_start sub_80198E8 +sub_80198E8: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0801993A + ldr r0, [sp] + cmp r0, 0x5 + beq _0801990C + cmp r0, 0x5 + bgt _08019906 + cmp r0, 0x1 + beq _08019934 + b _0801993A +_08019906: + cmp r0, 0x6 + beq _08019934 + b _0801993A +_0801990C: + ldr r4, _08019930 + ldr r0, [r4] + ldr r0, [r0, 0x10] + bl sub_80913A0 + ldr r0, [r4] + ldr r0, [r0, 0x24] + bl sub_80911F8 + movs r0, 0xA6 + lsls r0, 1 + bl PlaySound + movs r0, 0x19 + bl UpdateKecleonStoreState + b _0801993A + .align 2, 0 +_08019930: .4byte gUnknown_203B210 +_08019934: + movs r0, 0x18 + bl UpdateKecleonStoreState +_0801993A: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80198E8 + + thumb_func_start sub_8019944 +sub_8019944: + push {r4,r5,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080199C2 + ldr r0, [sp] + cmp r0, 0x5 + beq _08019968 + cmp r0, 0x5 + bgt _08019962 + cmp r0, 0x1 + beq _080199BC + b _080199C2 +_08019962: + cmp r0, 0x6 + beq _080199BC + b _080199C2 +_08019968: + movs r4, 0 + ldr r5, _080199B4 +_0801996C: + lsls r1, r4, 2 + ldr r0, [r5] + adds r2, r0, r1 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0801998E + ldrb r0, [r2, 0x2] + bl sub_80914E4 + lsls r0, 24 + cmp r0, 0 + beq _0801998E + adds r0, r4, 0 + bl sub_8091234 +_0801998E: + adds r4, 0x1 + cmp r4, 0x13 + ble _0801996C + bl sub_80910B4 + ldr r0, _080199B8 + ldr r0, [r0] + ldr r0, [r0, 0x18] + bl sub_80913A0 + movs r0, 0xA6 + lsls r0, 1 + bl PlaySound + movs r0, 0x20 + bl UpdateKecleonStoreState + b _080199C2 + .align 2, 0 +_080199B4: .4byte gUnknown_203B460 +_080199B8: .4byte gUnknown_203B210 +_080199BC: + movs r0, 0x1 + bl UpdateKecleonStoreState +_080199C2: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8019944 + + thumb_func_start sub_80199CC +sub_80199CC: + push {r4,r5,lr} + ldr r0, _080199E0 + ldr r0, [r0] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _080199E4 + movs r0, 0x1 + bl sub_8019EDC + b _080199EA + .align 2, 0 +_080199E0: .4byte gUnknown_203B210 +_080199E4: + movs r0, 0x1 + bl sub_801A2A8 +_080199EA: + cmp r0, 0x2 + beq _08019AD4 + cmp r0, 0x2 + bhi _080199FA + cmp r0, 0x1 + bne _080199F8 + b _08019AF4 +_080199F8: + b _08019B00 +_080199FA: + cmp r0, 0x3 + beq _08019A04 + cmp r0, 0x4 + beq _08019A6C + b _08019B00 +_08019A04: + ldr r4, _08019A24 + ldr r0, [r4] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _08019A28 + bl sub_8019FB0 + ldr r1, [r4] + adds r1, 0x20 + strb r0, [r1] + ldr r0, [r4] + adds r0, 0x20 + ldrb r0, [r0] + bl sub_809185C + b _08019A3C + .align 2, 0 +_08019A24: .4byte gUnknown_203B210 +_08019A28: + bl sub_801A37C + ldr r1, [r4] + adds r1, 0x21 + strb r0, [r1] + ldr r0, [r4] + adds r0, 0x21 + ldrb r0, [r0] + bl sub_8091A90 +_08019A3C: + adds r5, r0, 0 + ldr r4, _08019A68 + ldr r0, [r4] + adds r0, 0x1C + ldrb r1, [r5] + movs r2, 0 + bl sub_8090A8C + ldr r1, [r4] + ldrb r0, [r5, 0x1] + strb r0, [r1, 0x1D] + ldr r0, [r4] + adds r0, 0x1C + bl sub_8090C7C + ldr r1, [r4] + str r0, [r1, 0x10] + movs r0, 0x14 + bl UpdateKecleonStoreState + b _08019B00 + .align 2, 0 +_08019A68: .4byte gUnknown_203B210 +_08019A6C: + ldr r4, _08019A8C + ldr r0, [r4] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _08019A90 + bl sub_8019FB0 + ldr r1, [r4] + adds r1, 0x20 + strb r0, [r1] + ldr r0, [r4] + adds r0, 0x20 + ldrb r0, [r0] + bl sub_809185C + b _08019AA4 + .align 2, 0 +_08019A8C: .4byte gUnknown_203B210 +_08019A90: + bl sub_801A37C + ldr r1, [r4] + adds r1, 0x21 + strb r0, [r1] + ldr r0, [r4] + adds r0, 0x21 + ldrb r0, [r0] + bl sub_8091A90 +_08019AA4: + adds r5, r0, 0 + ldr r4, _08019AD0 + ldr r0, [r4] + adds r0, 0x1C + ldrb r1, [r5] + movs r2, 0 + bl sub_8090A8C + ldr r1, [r4] + ldrb r0, [r5, 0x1] + strb r0, [r1, 0x1D] + ldr r0, [r4] + adds r0, 0x1C + bl sub_8090C7C + ldr r1, [r4] + str r0, [r1, 0x10] + movs r0, 0x15 + bl UpdateKecleonStoreState + b _08019B00 + .align 2, 0 +_08019AD0: .4byte gUnknown_203B210 +_08019AD4: + ldr r0, _08019AE4 + ldr r0, [r0] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _08019AE8 + bl sub_801A010 + b _08019AEC + .align 2, 0 +_08019AE4: .4byte gUnknown_203B210 +_08019AE8: + bl sub_801A3DC +_08019AEC: + movs r0, 0x1 + bl UpdateKecleonStoreState + b _08019B00 +_08019AF4: + movs r0, 0 + bl sub_801AD34 + movs r0, 0x1 + bl sub_8016C40 +_08019B00: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80199CC + + .align 2,0 diff --git a/asm/load_screen.s b/asm/load_screen.s deleted file mode 100644 index 81c84fb..0000000 --- a/asm/load_screen.s +++ /dev/null @@ -1,718 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start CreateLoadScreen -CreateLoadScreen: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r6, r0, 0 - ldr r5, _080392EC - ldr r0, [r5] - cmp r0, 0 - bne _0803927C - movs r4, 0x9F - lsls r4, 2 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_0803927C: - ldr r0, [r5] - str r6, [r0] - mov r12, r5 - movs r0, 0xA2 - lsls r0, 1 - mov r8, r0 - ldr r4, _080392F0 - movs r3, 0 - movs r2, 0x3 -_0803928E: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r8 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0803928E - bl ResetUnusedInputStruct - ldr r6, _080392EC - ldr r0, [r6] - movs r5, 0xA2 - lsls r5, 1 - adds r0, r5 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _080392F4 - ldr r2, _080392F8 - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r7, 0x6 - str r7, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - ldr r1, [r6] - ldr r0, [r1] - cmp r0, 0x7 - beq _08039306 - cmp r0, 0x7 - bhi _080392FC - cmp r0, 0x6 - beq _08039338 - b _08039382 - .align 2, 0 -_080392EC: .4byte gUnknown_203B374 -_080392F0: .4byte gUnknown_80E75F8 -_080392F4: .4byte gUnknown_80E7610 -_080392F8: .4byte gUnknown_203B378 -_080392FC: - cmp r0, 0x8 - beq _0803934C - cmp r0, 0x9 - beq _0803936C - b _08039382 -_08039306: - bl sub_8039844 - lsls r0, 24 - cmp r0, 0 - beq _08039324 - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _0803931C - ldr r2, _08039320 - b _08039354 - .align 2, 0 -_0803931C: .4byte gUnknown_80E762C -_08039320: .4byte gUnknown_80E7644 -_08039324: - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _08039330 - ldr r2, _08039334 - b _08039354 - .align 2, 0 -_08039330: .4byte gUnknown_80E762C -_08039334: .4byte gUnknown_80E7684 -_08039338: - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _08039344 - ldr r2, _08039348 - b _08039354 - .align 2, 0 -_08039344: .4byte gUnknown_80E762C -_08039348: .4byte gUnknown_80E76B8 -_0803934C: - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _08039364 - ldr r2, _08039368 -_08039354: - str r2, [sp] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0x1 - bl SetMenuItems - b _08039382 - .align 2, 0 -_08039364: .4byte gUnknown_80E762C -_08039368: .4byte gUnknown_80E76E8 -_0803936C: - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _080393DC - ldr r2, _080393E0 - str r2, [sp] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0x1 - bl SetMenuItems -_08039382: - ldr r4, _080393E4 - ldr r1, [r4] - adds r0, r1, 0x4 - movs r6, 0xA2 - lsls r6, 1 - adds r1, r6 - ldr r3, _080393E8 - ldr r2, _080393EC - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x2 - str r2, [sp, 0x8] - movs r2, 0 - str r2, [sp, 0xC] - movs r2, 0x2 - bl SetMenuItems - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0 - movs r2, 0 - bl sub_8035CF4 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x1 - movs r2, 0 - bl sub_8035CF4 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x2 - movs r2, 0x1 - bl sub_8035CF4 - bl DrawLoadScreenText - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080393DC: .4byte gUnknown_80E762C -_080393E0: .4byte gUnknown_80E7730 -_080393E4: .4byte gUnknown_203B374 -_080393E8: .4byte gUnknown_80E7784 -_080393EC: .4byte gUnknown_80E779C - thumb_func_end CreateLoadScreen - - thumb_func_start CleanLoadScreen -CleanLoadScreen: - push {r4,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _08039418 - ldr r0, [r4] - cmp r0, 0 - beq _08039410 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08039410: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08039418: .4byte gUnknown_203B374 - thumb_func_end CleanLoadScreen - - thumb_func_start sub_803941C -sub_803941C: - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08039458 - movs r0, 0x4 - str r0, [sp] - ldr r4, _0803945C - ldr r0, [r4] - adds r0, 0x54 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0xA4 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08039448 - ldr r0, [r4] - adds r0, 0xA4 - mov r1, sp - bl sub_8013114 -_08039448: - ldr r0, [sp] - cmp r0, 0x3 - bhi _08039498 - cmp r0, 0x2 - bcs _08039460 - cmp r0, 0x1 - beq _08039464 - b _08039498 - .align 2, 0 -_08039458: .4byte 0x0000ffdc -_0803945C: .4byte gUnknown_203B374 -_08039460: - movs r5, 0x1 - b _08039498 -_08039464: - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0x7 - beq _08039480 - cmp r0, 0x7 - bhi _08039476 - cmp r0, 0x6 - beq _08039484 - b _08039498 -_08039476: - cmp r0, 0x8 - beq _0803948E - cmp r0, 0x9 - beq _08039492 - b _08039498 -_08039480: - movs r5, 0x2 - b _08039498 -_08039484: - movs r0, 0 - bl sub_8095240 - movs r5, 0x4 - b _08039498 -_0803948E: - movs r5, 0x9 - b _08039498 -_08039492: - bl sub_80122A8 - movs r5, 0x2E -_08039498: - adds r0, r5, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_803941C - - thumb_func_start DrawLoadScreenText -DrawLoadScreenText: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x150 - bl sub_8011FA8 - mov r8, r0 - movs r0, 0 - bl sub_8008C54 - movs r0, 0 - bl sub_80073B8 - ldr r2, _0803952C - movs r4, 0 - str r4, [sp] - movs r0, 0x8 - movs r1, 0 - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _08039530 - str r4, [sp] - movs r0, 0x8 - movs r1, 0xC - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _08039534 - str r4, [sp] - movs r0, 0x8 - movs r1, 0x18 - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _08039538 - str r4, [sp] - movs r0, 0x8 - movs r1, 0x24 - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _0803953C - str r4, [sp] - movs r0, 0x8 - movs r1, 0x30 - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _08039540 - str r4, [sp] - movs r0, 0x8 - movs r1, 0x3C - movs r3, 0 - bl xxx_call_draw_string - movs r0, 0 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _08039544 - add r4, sp, 0x68 - adds r0, r4, 0 - bl sub_80920D8 - adds r2, r4, 0 - b _0803954E - .align 2, 0 -_0803952C: .4byte gUnknown_80E77BC -_08039530: .4byte gUnknown_80E77C4 -_08039534: .4byte gUnknown_80E77CC -_08039538: .4byte gUnknown_80E77D8 -_0803953C: .4byte gUnknown_80E77E4 -_08039540: .4byte gUnknown_80E77F0 -_08039544: - ldr r1, _08039588 - add r0, sp, 0x68 - bl strcpy - add r2, sp, 0x68 -_0803954E: - ldr r5, _0803958C - ldr r0, [r5] - movs r4, 0xD2 - lsls r4, 1 - adds r0, r4 - ldr r1, _08039590 - bl sub_800D158 - ldr r2, [r5] - adds r2, r4 - movs r0, 0 - str r0, [sp] - movs r0, 0x40 - movs r1, 0 - movs r3, 0 - bl xxx_call_draw_string - bl sub_808D33C - cmp r0, 0 - bne _08039598 - add r4, sp, 0x90 - ldr r1, _08039594 - adds r0, r4, 0 - movs r2, 0xA - bl sub_80922B4 - b _080395A6 - .align 2, 0 -_08039588: .4byte gUnknown_80E77F8 -_0803958C: .4byte gUnknown_203B374 -_08039590: .4byte gUnknown_80E7804 -_08039594: .4byte gUnknown_80E7808 -_08039598: - add r4, sp, 0x90 - adds r1, r0, 0 - adds r1, 0x4C - adds r0, r4, 0 - movs r2, 0xA - bl sub_80922B4 -_080395A6: - adds r2, r4, 0 - ldr r5, _080395F0 - ldr r0, [r5] - movs r4, 0xE4 - lsls r4, 1 - adds r0, r4 - ldr r6, _080395F4 - adds r1, r6, 0 - bl sub_800D158 - ldr r2, [r5] - adds r2, r4 - movs r0, 0 - str r0, [sp] - movs r0, 0x40 - movs r1, 0xC - movs r3, 0 - bl xxx_call_draw_string - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _080395E0 - movs r0, 0x7 - bl sub_8095324 - cmp r0, 0 - beq _08039606 -_080395E0: - ldr r0, _080395F8 - cmp r8, r0 - bne _080395FC - ldr r4, [r5] - movs r0, 0xF6 - lsls r0, 1 - adds r4, r0 - b _08039676 - .align 2, 0 -_080395F0: .4byte gUnknown_203B374 -_080395F4: .4byte gUnknown_80E7804 -_080395F8: .4byte 0x000f1207 -_080395FC: - ldr r0, [r5] - movs r1, 0xF6 - lsls r1, 1 - adds r0, r1 - b _08039690 -_08039606: - bl sub_8011C1C - cmp r0, 0x1 - beq _08039624 - cmp r0, 0x2 - beq _08039668 - ldr r0, [r5] - movs r2, 0xF6 - lsls r2, 1 - adds r0, r2 - ldr r1, _08039620 - b _08039692 - .align 2, 0 -_08039620: .4byte gUnknown_80E7824 -_08039624: - movs r0, 0 - movs r1, 0x18 - bl sub_8001658 - cmp r0, 0x7 - beq _08039658 - cmp r0, 0xB - beq _08039658 - bl sub_8098FB4 - adds r2, r0, 0 - add r0, sp, 0x4 - adds r1, r6, 0 - bl sub_800D158 - ldr r0, [r5] - movs r3, 0xF6 - lsls r3, 1 - adds r1, r0, r3 - adds r3, 0x24 - adds r2, r0, r3 - add r0, sp, 0x4 - movs r3, 0 - bl xxx_format_string - b _08039696 -_08039658: - ldr r0, _08039664 - ldr r0, [r0] - movs r1, 0xF6 - lsls r1, 1 - adds r0, r1 - b _08039690 - .align 2, 0 -_08039664: .4byte gUnknown_203B374 -_08039668: - ldr r0, _08039684 - cmp r8, r0 - bne _08039688 - ldr r4, [r5] - movs r2, 0xF6 - lsls r2, 1 - adds r4, r2 -_08039676: - bl sub_809769C - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_8090228 - b _08039696 - .align 2, 0 -_08039684: .4byte 0x000f1207 -_08039688: - ldr r0, [r5] - movs r3, 0xF6 - lsls r3, 1 - adds r0, r3 -_08039690: - ldr r1, _0803974C -_08039692: - bl sub_800D158 -_08039696: - ldr r7, _08039750 - ldr r2, [r7] - movs r0, 0xF6 - lsls r0, 1 - adds r2, r0 - movs r6, 0 - str r6, [sp] - movs r0, 0x40 - movs r1, 0x18 - movs r3, 0 - bl xxx_call_draw_string - ldr r0, _08039754 - ldr r0, [r0] - add r1, sp, 0x144 - add r2, sp, 0x148 - add r3, sp, 0x14C - bl DeconstructPlayTime - ldr r0, [r7] - movs r5, 0x84 - lsls r5, 2 - adds r0, r5 - ldr r1, _08039758 - add r2, sp, 0x144 - ldr r2, [r2] - add r3, sp, 0x148 - ldr r3, [r3] - add r4, sp, 0x14C - ldr r4, [r4] - str r4, [sp] - bl sub_800D158 - ldr r2, [r7] - adds r2, r5 - str r6, [sp] - movs r0, 0x40 - movs r1, 0x24 - movs r3, 0 - bl xxx_call_draw_string - bl sub_8097778 - adds r2, r0, 0 - ldr r0, [r7] - movs r4, 0x8D - lsls r4, 2 - adds r0, r4 - ldr r1, _0803975C - bl sub_800D158 - ldr r2, [r7] - adds r2, r4 - str r6, [sp] - movs r0, 0x40 - movs r1, 0x30 - movs r3, 0 - bl xxx_call_draw_string - ldr r0, _08039760 - cmp r8, r0 - bne _0803976C - ldr r0, _08039764 - ldr r6, [r0] - movs r1, 0xC - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0803976C - add r5, sp, 0x130 - adds r1, r0, 0 - adds r0, r5, 0 - bl sub_808D930 - add r4, sp, 0xE0 - adds r1, r6, 0 - adds r1, 0x50 - adds r0, r4, 0 - movs r2, 0xA - bl sub_80922B4 - ldr r0, [r7] - movs r3, 0x96 - lsls r3, 2 - adds r0, r3 - ldr r1, _08039768 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_800D158 - b _0803977C - .align 2, 0 -_0803974C: .4byte gUnknown_80E780C -_08039750: .4byte gUnknown_203B374 -_08039754: .4byte gPlayTimeRef -_08039758: .4byte gUnknown_80E7838 -_0803975C: .4byte gUnknown_80E7848 -_08039760: .4byte 0x000f1207 -_08039764: .4byte gUnknown_203B484 -_08039768: .4byte gUnknown_80E784C -_0803976C: - ldr r0, _080397AC - ldr r0, [r0] - movs r1, 0x96 - lsls r1, 2 - adds r0, r1 - ldr r1, _080397B0 - bl sub_800D158 -_0803977C: - ldr r0, _080397AC - ldr r2, [r0] - movs r3, 0x96 - lsls r3, 2 - adds r2, r3 - movs r0, 0 - str r0, [sp] - movs r0, 0x40 - movs r1, 0x3C - movs r3, 0 - bl xxx_call_draw_string - bl sub_80397B4 - movs r0, 0 - bl sub_80073E0 - add sp, 0x150 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080397AC: .4byte gUnknown_203B374 -_080397B0: .4byte gUnknown_80E7854 - thumb_func_end DrawLoadScreenText - - thumb_func_start sub_80397B4 -sub_80397B4: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r0, _08039834 - ldr r1, _08039838 - bl OpenFileAndGetFileDataPtr - adds r6, r0, 0 - movs r4, 0 -_080397C8: - adds r0, r4, 0 - adds r0, 0xB0 - ldr r1, [r6, 0x4] - lsls r2, r4, 2 - ldr r1, [r1, 0x4] - adds r1, r2 - bl SetBGPaletteBufferColorArray - adds r4, 0x1 - cmp r4, 0x3F - ble _080397C8 - movs r7, 0x8 - movs r0, 0x49 - mov r8, r0 - movs r4, 0 -_080397E6: - ldr r0, _0803983C - lsls r5, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _0803981C - movs r0, 0x10 - str r0, [sp] - ldr r0, [r6, 0x4] - lsls r1, r4, 7 - ldr r0, [r0] - adds r0, r1 - str r0, [sp, 0x4] - ldr r0, _08039840 - adds r0, r5, r0 - ldr r0, [r0] - str r0, [sp, 0x8] - movs r0, 0 - adds r1, r7, 0 - mov r2, r8 - movs r3, 0x10 - bl sub_8007E20 - adds r7, 0x10 -_0803981C: - adds r4, 0x1 - cmp r4, 0xB - ble _080397E6 - adds r0, r6, 0 - bl CloseFile - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08039834: .4byte gUnknown_80E785C -_08039838: .4byte gTitleMenuFileArchive -_0803983C: .4byte gUnknown_203B3B8 -_08039840: .4byte gUnknown_203B388 - thumb_func_end sub_80397B4 - - .align 2,0 diff --git a/asm/main_menu.s b/asm/main_menu.s deleted file mode 100644 index ad0ce64..0000000 --- a/asm/main_menu.s +++ /dev/null @@ -1,76 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start SetMenuItems -SetMenuItems: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - ldr r0, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - adds r0, r4 - ldm r3!, {r1,r2,r7} - stm r0!, {r1,r2,r7} - ldm r3!, {r1,r2,r7} - stm r0!, {r1,r2,r7} - bl ResetUnusedInputStruct - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - mov r0, r8 - cmp r0, 0 - beq _08035C90 - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 4 - adds r0, r6, r0 - ldr r1, [sp, 0x28] - str r1, [sp] - str r5, [sp, 0x4] - ldr r1, [sp, 0x20] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _08035CA8 -_08035C90: - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 4 - adds r0, r6, r0 - mov r1, r8 - str r1, [sp] - str r5, [sp, 0x4] - ldr r1, [sp, 0x20] - movs r2, 0 - movs r3, 0 - bl sub_8012E04 -_08035CA8: - adds r0, r4, r5 - lsls r0, 4 - adds r0, r6 - adds r0, 0x4C - movs r1, 0x1 - strb r1, [r0] - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end SetMenuItems - - .align 2,0 diff --git a/asm/makuhita_dojo.s b/asm/makuhita_dojo.s new file mode 100644 index 0000000..c206233 --- /dev/null +++ b/asm/makuhita_dojo.s @@ -0,0 +1,908 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start UpdateMakuhitaDialogue +UpdateMakuhitaDialogue: + push {r4,r5,lr} + sub sp, 0x18 + ldr r1, _0802FFA4 + ldr r0, [r1] + ldr r0, [r0, 0x8] + adds r5, r1, 0 + cmp r0, 0xD + bls _0802FF9A + b _080301A0 +_0802FF9A: + lsls r0, 2 + ldr r1, _0802FFA8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802FFA4: .4byte gUnknown_203B318 +_0802FFA8: .4byte _0802FFAC + .align 2, 0 +_0802FFAC: + .4byte _0802FFE4 + .4byte _08030000 + .4byte _08030038 + .4byte _08030050 + .4byte _08030068 + .4byte _08030074 + .4byte _080300DC + .4byte _080300C4 + .4byte _080300F4 + .4byte _0803010C + .4byte _08030148 + .4byte _08030174 + .4byte _08030180 + .4byte _080301A0 +_0802FFE4: + bl sub_80301B0 + ldr r2, _0802FFF8 + ldr r0, _0802FFFC + ldr r5, [r0] + ldr r1, [r5, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + b _0803000E + .align 2, 0 +_0802FFF8: .4byte gMakuhitaDialogue +_0802FFFC: .4byte gUnknown_203B318 +_08030000: + ldr r2, _08030034 + ldr r5, [r5] + ldr r1, [r5, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x4 +_0803000E: + adds r0, r2 + ldr r0, [r0] + ldr r2, [r5, 0x14] + adds r3, r5, 0 + adds r3, 0x18 + movs r4, 0 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + ldr r1, [r5, 0x68] + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + bl sub_8014248 + b _080301A0 + .align 2, 0 +_08030034: .4byte gMakuhitaDialogue +_08030038: + ldr r3, [r5] + movs r0, 0xD + str r0, [r3, 0xC] + ldr r2, _0803004C + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x8 + b _0803015A + .align 2, 0 +_0803004C: .4byte gMakuhitaDialogue +_08030050: + ldr r3, [r5] + movs r0, 0x4 + str r0, [r3, 0xC] + ldr r2, _08030064 + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0xC + b _0803015A + .align 2, 0 +_08030064: .4byte gMakuhitaDialogue +_08030068: + movs r0, 0x3 + movs r1, 0 + movs r2, 0xA + bl sub_80302E8 + b _080301A0 +_08030074: + ldr r1, [r5] + movs r0, 0xD + str r0, [r1, 0xC] + movs r2, 0x10 + ldrsh r0, [r1, r2] + bl sub_80A2740 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080300B4 + ldr r1, [sp, 0x14] + ands r1, r2 + orrs r1, r0 + ldr r0, _080300B8 + ands r1, r0 + movs r0, 0x80 + lsls r0, 1 + orrs r1, r0 + str r1, [sp, 0x14] + ldr r0, _080300BC + add r1, sp, 0x14 + bl sub_8090208 + ldr r2, _080300C0 + ldr r3, [r5] + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x10 + b _0803015A + .align 2, 0 +_080300B4: .4byte 0xffffff00 +_080300B8: .4byte 0xffff00ff +_080300BC: .4byte gAvailablePokemonNames +_080300C0: .4byte gMakuhitaDialogue +_080300C4: + ldr r3, [r5] + movs r0, 0xD + str r0, [r3, 0xC] + ldr r2, _080300D8 + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x18 + b _0803015A + .align 2, 0 +_080300D8: .4byte gMakuhitaDialogue +_080300DC: + ldr r3, [r5] + movs r0, 0xD + str r0, [r3, 0xC] + ldr r2, _080300F0 + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x14 + b _0803015A + .align 2, 0 +_080300F0: .4byte gMakuhitaDialogue +_080300F4: + ldr r3, [r5] + movs r0, 0x9 + str r0, [r3, 0xC] + ldr r2, _08030108 + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x1C + b _0803015A + .align 2, 0 +_08030108: .4byte gMakuhitaDialogue +_0803010C: + ldr r4, _08030138 + bl sub_808D33C + adds r1, r0, 0 + adds r0, r4, 0 + movs r2, 0x6 + bl sub_808D9AC + ldr r0, _0803013C + ldr r1, [r0] + movs r0, 0xB + str r0, [r1, 0xC] + movs r0, 0xCB + bl PlaySound + ldr r0, _08030140 + ldr r3, _08030144 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _080301A0 + .align 2, 0 +_08030138: .4byte gPlayerName +_0803013C: .4byte gUnknown_203B318 +_08030140: .4byte gUnknown_80E0778 +_08030144: .4byte 0x00000101 +_08030148: + ldr r3, [r5] + movs r0, 0xD + str r0, [r3, 0xC] + ldr r2, _0803016C + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x20 +_0803015A: + adds r0, r2 + ldr r0, [r0] + ldr r2, [r3, 0x68] + ldr r3, _08030170 + movs r1, 0 + bl sub_80141B4 + b _080301A0 + .align 2, 0 +_0803016C: .4byte gMakuhitaDialogue +_08030170: .4byte 0x0000010d +_08030174: + movs r0, 0x1 + movs r1, 0x49 + movs r2, 0x1 + bl sub_801B60C + b _080301A0 +_08030180: + ldr r3, [r5] + movs r0, 0x1 + str r0, [r3, 0xC] + ldr r2, _080301A8 + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x24 + adds r0, r2 + ldr r0, [r0] + ldr r2, [r3, 0x68] + ldr r3, _080301AC + movs r1, 0 + bl sub_80141B4 +_080301A0: + add sp, 0x18 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080301A8: .4byte gMakuhitaDialogue +_080301AC: .4byte 0x0000010d + thumb_func_end UpdateMakuhitaDialogue + + thumb_func_start sub_80301B0 +sub_80301B0: + push {r4,lr} + ldr r4, _080301F8 + ldr r1, [r4] + movs r2, 0x2 + str r2, [r1, 0x14] + ldr r0, _080301FC + str r0, [r1, 0x18] + str r2, [r1, 0x1C] + bl sub_80306A4 + lsls r0, 24 + cmp r0, 0 + beq _080301D6 + ldr r0, [r4] + movs r1, 0x1 + negs r1, r1 + str r1, [r0, 0x1C] + movs r1, 0x1 + str r1, [r0, 0x14] +_080301D6: + ldr r1, [r4] + movs r2, 0x1 + ldr r0, _08030200 + ldr r0, [r0] + str r0, [r1, 0x20] + movs r0, 0x3 + str r0, [r1, 0x24] + ldr r0, _08030204 + ldr r0, [r0] + str r0, [r1, 0x28] + str r2, [r1, 0x2C] + movs r0, 0 + str r0, [r1, 0x30] + str r2, [r1, 0x34] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080301F8: .4byte gUnknown_203B318 +_080301FC: .4byte gUnknown_80E07D8 +_08030200: .4byte gUnknown_80D4970 +_08030204: .4byte gUnknown_80D4934 + thumb_func_end sub_80301B0 + + thumb_func_start sub_8030208 +sub_8030208: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08030250 + ldr r0, _08030230 + ldr r1, [r0] + ldr r0, [sp] + str r0, [r1, 0x14] + ldr r0, [sp] + cmp r0, 0x2 + beq _0803023A + cmp r0, 0x2 + bgt _08030234 + cmp r0, 0x1 + beq _0803024A + b _08030250 + .align 2, 0 +_08030230: .4byte gUnknown_203B318 +_08030234: + cmp r0, 0x3 + beq _08030242 + b _08030250 +_0803023A: + movs r0, 0x3 + bl sub_802FF04 + b _08030250 +_08030242: + movs r0, 0xC + bl sub_802FF04 + b _08030250 +_0803024A: + movs r0, 0x2 + bl sub_802FF04 +_08030250: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8030208 + + thumb_func_start sub_8030258 +sub_8030258: + push {lr} + movs r0, 0x1 + bl sub_80303AC + cmp r0, 0x2 + beq _08030288 + cmp r0, 0x2 + bcc _0803029A + cmp r0, 0x3 + bne _0803029A + bl sub_8030418 + ldr r1, _08030284 + ldr r1, [r1] + strh r0, [r1, 0x10] + bl sub_8030480 + movs r0, 0x5 + bl sub_802FF04 + b _0803029A + .align 2, 0 +_08030284: .4byte gUnknown_203B318 +_08030288: + bl sub_8030480 + ldr r0, _080302A0 + ldr r1, [r0] + ldr r0, _080302A4 + strh r0, [r1, 0x10] + movs r0, 0x1 + bl sub_802FF04 +_0803029A: + pop {r0} + bx r0 + .align 2, 0 +_080302A0: .4byte gUnknown_203B318 +_080302A4: .4byte 0x0000ffff + thumb_func_end sub_8030258 + + thumb_func_start sub_80302A8 +sub_80302A8: + push {lr} + bl sub_801B6AC + cmp r0, 0x1 + bls _080302C0 + cmp r0, 0x3 + bhi _080302C0 + bl sub_801B72C + movs r0, 0xA + bl sub_802FF04 +_080302C0: + pop {r0} + bx r0 + thumb_func_end sub_80302A8 + + thumb_func_start sub_80302C4 +sub_80302C4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080302DC + ldr r0, _080302E4 + ldr r0, [r0] + ldr r0, [r0, 0xC] + bl sub_802FF04 +_080302DC: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_080302E4: .4byte gUnknown_203B318 + thumb_func_end sub_80302C4 + + thumb_func_start sub_80302E8 +sub_80302E8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + adds r6, r1, 0 + mov r8, r2 + bl sub_80306A4 + lsls r0, 24 + cmp r0, 0 + beq _08030302 + movs r0, 0 + b _0803039A +_08030302: + ldr r4, _080303A4 + ldr r0, [r4] + cmp r0, 0 + bne _08030314 + movs r0, 0xD0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] +_08030314: + ldr r0, [r4] + str r5, [r0, 0x64] + lsls r1, r5, 1 + adds r1, r5 + lsls r1, 3 + adds r1, 0x6C + adds r1, r0, r1 + str r1, [r0, 0x68] + adds r0, 0x6C + bl sub_8006518 + ldr r1, [r4] + ldr r2, [r1, 0x64] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x6C + ldr r0, _080303A8 + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldr r2, [r4] + ldr r1, [r2, 0x68] + adds r0, r2, 0 + adds r0, 0xCC + str r0, [r1, 0x14] + cmp r6, 0 + beq _08030362 + ldr r1, [r2, 0x64] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r1, r2, 0 + adds r1, 0x74 + adds r1, r0 + ldr r0, [r6] + str r0, [r1] +_08030362: + ldr r0, [r4] + ldr r0, [r0, 0x68] + mov r1, r8 + bl sub_8012D08 + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x6C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r4] + adds r4, 0x30 + bl sub_8030668 + adds r1, r0, 0 + adds r0, r4, 0 + mov r2, r8 + adds r3, r5, 0 + bl sub_8013818 + bl sub_80304C8 + bl sub_803053C + movs r0, 0x1 +_0803039A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080303A4: .4byte gUnknown_203B31C +_080303A8: .4byte gUnknown_80E0804 + thumb_func_end sub_80302E8 + + thumb_func_start sub_80303AC +sub_80303AC: + push {r4,lr} + lsls r0, 24 + cmp r0, 0 + bne _080303C8 + ldr r0, _080303C4 + ldr r0, [r0] + adds r0, 0x30 + bl sub_8013660 + movs r0, 0 + b _08030410 + .align 2, 0 +_080303C4: .4byte gUnknown_203B31C +_080303C8: + ldr r4, _080303E4 + ldr r0, [r4] + adds r0, 0x30 + bl GetKeyPress + cmp r0, 0x1 + beq _080303E8 + cmp r0, 0x2 + bne _080303F2 + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _08030410 + .align 2, 0 +_080303E4: .4byte gUnknown_203B31C +_080303E8: + movs r0, 0 + bl PlayMenuSoundEffect + movs r0, 0x3 + b _08030410 +_080303F2: + ldr r0, [r4] + adds r0, 0x30 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _08030406 + movs r0, 0 + b _08030410 +_08030406: + bl sub_80304C8 + bl sub_803053C + movs r0, 0x1 +_08030410: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80303AC + + thumb_func_start sub_8030418 +sub_8030418: + ldr r0, _08030440 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x4E + movs r3, 0 + ldrsh r1, [r0, r3] + subs r0, 0x2 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r0, r1 + adds r1, r2, 0 + adds r1, 0x48 + movs r3, 0 + ldrsh r1, [r1, r3] + adds r0, r1 + lsls r0, 1 + adds r0, r2, r0 + movs r1, 0 + ldrsh r0, [r0, r1] + bx lr + .align 2, 0 +_08030440: .4byte gUnknown_203B31C + thumb_func_end sub_8030418 + + thumb_func_start sub_8030444 +sub_8030444: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_8030668 + adds r1, r0, 0 + ldr r5, _0803047C + ldr r0, [r5] + adds r2, r0, 0 + adds r2, 0x52 + strh r1, [r2] + adds r0, 0x30 + bl sub_8013984 + bl sub_80304C8 + bl sub_803053C + cmp r4, 0 + beq _08030476 + ldr r0, [r5] + adds r0, 0x30 + bl AddMenuCursorSprite +_08030476: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803047C: .4byte gUnknown_203B31C + thumb_func_end sub_8030444 + + thumb_func_start sub_8030480 +sub_8030480: + push {r4,r5,lr} + ldr r4, _080304C0 + ldr r2, [r4] + cmp r2, 0 + beq _080304BA + ldr r0, [r2, 0x64] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x6C + ldr r0, _080304C4 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x6C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_080304BA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080304C0: .4byte gUnknown_203B31C +_080304C4: .4byte gUnknown_80E07EC + thumb_func_end sub_8030480 + + thumb_func_start sub_80304C8 +sub_80304C8: + push {r4,lr} + ldr r4, _08030538 + ldr r0, [r4] + adds r0, 0xCC + movs r2, 0 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xCD + strb r2, [r0] + ldr r0, [r4] + adds r0, 0xCE + movs r1, 0x8 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xCF + strb r2, [r0] + ldr r0, [r4] + adds r0, 0x4A + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x64] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x7A + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x64] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x7C + strh r3, [r2] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x6C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08030538: .4byte gUnknown_203B31C + thumb_func_end sub_80304C8 + + thumb_func_start sub_803053C +sub_803053C: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x108 + ldr r4, _08030658 + ldr r0, [r4] + ldr r0, [r0, 0x64] + bl sub_8008C54 + ldr r0, [r4] + ldr r0, [r0, 0x64] + bl sub_80073B8 + ldr r2, _0803065C + ldr r0, [r4] + ldr r3, [r0, 0x64] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_call_draw_string + ldr r3, [r4] + adds r0, r3, 0 + adds r0, 0xCE + ldrb r0, [r0] + lsls r0, 3 + adds r0, 0x4 + adds r1, r3, 0 + adds r1, 0x4E + movs r5, 0 + ldrsh r2, [r1, r5] + adds r2, 0x1 + movs r1, 0x7 + str r1, [sp] + ldr r1, [r3, 0x64] + str r1, [sp, 0x4] + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r0, 0 + mov r9, r0 + ldr r0, [r4] + adds r0, 0x4A + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r9, r0 + bge _0803063E + mov r8, r4 +_080305A2: + mov r3, r8 + ldr r1, [r3] + adds r0, r1, 0 + adds r0, 0x4E + movs r5, 0 + ldrsh r2, [r0, r5] + subs r0, 0x2 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r0, r2 + add r0, r9 + lsls r0, 1 + adds r1, r0 + movs r5, 0 + ldrsh r4, [r1, r5] + adds r0, r4, 0 + bl sub_80A2740 + lsls r0, 24 + lsrs r7, r0, 24 + adds r0, r4, 0 + bl sub_80A2668 + adds r4, r0, 0 + lsls r4, 16 + asrs r4, 16 + mov r1, r8 + ldr r0, [r1] + adds r0, 0x30 + mov r1, r9 + bl sub_8013800 + adds r6, r0, 0 + movs r5, 0x7 + adds r0, r4, 0 + bl sub_809758C + lsls r0, 24 + cmp r0, 0 + beq _08030608 + mov r3, r8 + ldr r0, [r3] + ldr r3, [r0, 0x64] + movs r0, 0 + str r0, [sp] + movs r0, 0x8 + adds r1, r6, 0 + ldr r2, _08030660 + bl xxx_call_draw_string + movs r5, 0x4 +_08030608: + adds r0, r7, 0 + bl GetDungeonName1 + adds r3, r0, 0 + add r0, sp, 0x8 + ldr r1, _08030664 + adds r2, r5, 0 + bl sub_800D158 + mov r5, r8 + ldr r0, [r5] + ldr r3, [r0, 0x64] + movs r0, 0 + str r0, [sp] + movs r0, 0x10 + adds r1, r6, 0 + add r2, sp, 0x8 + bl xxx_call_draw_string + movs r0, 0x1 + add r9, r0 + ldr r0, [r5] + adds r0, 0x4A + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r9, r0 + blt _080305A2 +_0803063E: + ldr r0, _08030658 + ldr r0, [r0] + ldr r0, [r0, 0x64] + bl sub_80073E0 + add sp, 0x108 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08030658: .4byte gUnknown_203B31C +_0803065C: .4byte gUnknown_80E081C +_08030660: .4byte gUnknown_80E0824 +_08030664: .4byte gUnknown_80E0828 + thumb_func_end sub_803053C + + thumb_func_start sub_8030668 +sub_8030668: + push {r4-r6,lr} + movs r6, 0 + movs r5, 0 +_0803066E: + lsls r0, r5, 16 + asrs r4, r0, 16 + adds r0, r4, 0 + bl sub_8097504 + lsls r0, 24 + cmp r0, 0 + beq _08030690 + adds r0, r4, 0 + bl sub_80A26CC + ldr r1, _080306A0 + ldr r1, [r1] + lsls r2, r6, 1 + adds r1, r2 + strh r0, [r1] + adds r6, 0x1 +_08030690: + adds r5, 0x1 + cmp r5, 0x16 + ble _0803066E + adds r0, r6, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_080306A0: .4byte gUnknown_203B31C + thumb_func_end sub_8030668 + + thumb_func_start sub_80306A4 +sub_80306A4: + movs r0, 0 + bx lr + thumb_func_end sub_80306A4 + + .align 2,0 diff --git a/asm/other_menus.s b/asm/other_menus.s index 7168a67..6cefea7 100644 --- a/asm/other_menus.s +++ b/asm/other_menus.s @@ -223,7 +223,7 @@ _080375BE: .align 2, 0 _080375CC: .4byte gUnknown_203B35C _080375D0: .4byte 0xffff0000 -_080375D4: .4byte gUnknown_203B45C +_080375D4: .4byte gRecruitedPokemonRef _080375D8: ldr r0, _08037610 ldr r0, [r0] diff --git a/asm/pokemon.s b/asm/pokemon.s index bd729f7..1e8d2ed 100644 --- a/asm/pokemon.s +++ b/asm/pokemon.s @@ -55,7 +55,7 @@ _0808CE46: pop {r0} bx r0 .align 2, 0 -_0808CE60: .4byte gUnknown_203B45C +_0808CE60: .4byte gRecruitedPokemonRef _0808CE64: .4byte 0x0000019d _0808CE68: .4byte 0x00008df8 _0808CE6C: .4byte 0x00008f90 @@ -232,7 +232,7 @@ _0808CFB8: bx r0 .align 2, 0 _0808CFC8: .4byte gMonsterParameters -_0808CFCC: .4byte gUnknown_203B45C +_0808CFCC: .4byte gRecruitedPokemonRef thumb_func_end sub_808CE74 thumb_func_start sub_808CFD0 @@ -579,7 +579,7 @@ _0808D26A: pop {r1} bx r1 .align 2, 0 -_0808D274: .4byte gUnknown_203B45C +_0808D274: .4byte gRecruitedPokemonRef thumb_func_end sub_808D1DC thumb_func_start sub_808D278 @@ -641,7 +641,7 @@ _0808D2DC: pop {r1} bx r1 .align 2, 0 -_0808D2E4: .4byte gUnknown_203B45C +_0808D2E4: .4byte gRecruitedPokemonRef thumb_func_end sub_808D278 thumb_func_start sub_808D2E8 @@ -714,7 +714,7 @@ _0808D344: adds r0, r2, 0 b _0808D370 .align 2, 0 -_0808D360: .4byte gUnknown_203B45C +_0808D360: .4byte gRecruitedPokemonRef _0808D364: adds r3, 0x1 movs r0, 0xCE @@ -754,7 +754,7 @@ _0808D39A: adds r0, r2, 0 b _0808D3B4 .align 2, 0 -_0808D3A4: .4byte gUnknown_203B45C +_0808D3A4: .4byte gRecruitedPokemonRef _0808D3A8: adds r3, 0x1 movs r0, 0xCE @@ -790,7 +790,7 @@ _0808D3CC: adds r0, r3, 0 b _0808D3F0 .align 2, 0 -_0808D3E0: .4byte gUnknown_203B45C +_0808D3E0: .4byte gRecruitedPokemonRef _0808D3E4: adds r2, 0x58 adds r3, 0x58 @@ -826,7 +826,7 @@ _0808D408: adds r0, r3, 0 b _0808D42C .align 2, 0 -_0808D41C: .4byte gUnknown_203B45C +_0808D41C: .4byte gRecruitedPokemonRef _0808D420: adds r2, 0x58 adds r3, 0x58 @@ -869,7 +869,7 @@ _0808D44C: adds r0, r2, 0 b _0808D478 .align 2, 0 -_0808D468: .4byte gUnknown_203B45C +_0808D468: .4byte gRecruitedPokemonRef _0808D46C: adds r4, 0x1 _0808D46E: @@ -909,7 +909,7 @@ _0808D498: pop {r1} bx r1 .align 2, 0 -_0808D4A8: .4byte gUnknown_203B45C +_0808D4A8: .4byte gRecruitedPokemonRef _0808D4AC: .4byte 0x0000019d thumb_func_end sub_808D480 @@ -955,7 +955,7 @@ _0808D4E4: pop {r1} bx r1 .align 2, 0 -_0808D4F8: .4byte gUnknown_203B45C +_0808D4F8: .4byte gRecruitedPokemonRef _0808D4FC: .4byte 0x0000fffd thumb_func_end sub_808D4B0 @@ -993,7 +993,7 @@ _0808D526: pop {r1} bx r1 .align 2, 0 -_0808D53C: .4byte gUnknown_203B45C +_0808D53C: .4byte gRecruitedPokemonRef _0808D540: .4byte 0x0000fffd thumb_func_end sub_808D500 @@ -1031,7 +1031,7 @@ _0808D56C: pop {r1} bx r1 .align 2, 0 -_0808D57C: .4byte gUnknown_203B45C +_0808D57C: .4byte gRecruitedPokemonRef thumb_func_end sub_808D544 thumb_func_start sub_808D580 @@ -1059,7 +1059,7 @@ _0808D590: adds r5, 0x1 b _0808D5BC .align 2, 0 -_0808D5AC: .4byte gUnknown_203B45C +_0808D5AC: .4byte gRecruitedPokemonRef _0808D5B0: adds r4, 0x1 adds r2, 0x58 @@ -1197,7 +1197,7 @@ _0808D68C: pop {r1} bx r1 .align 2, 0 -_0808D6A0: .4byte gUnknown_203B45C +_0808D6A0: .4byte gRecruitedPokemonRef thumb_func_end sub_808D654 thumb_func_start sub_808D6A4 @@ -1237,7 +1237,7 @@ _0808D6CE: pop {r1} bx r1 .align 2, 0 -_0808D6E4: .4byte gUnknown_203B45C +_0808D6E4: .4byte gRecruitedPokemonRef thumb_func_end sub_808D6A4 thumb_func_start sub_808D6E8 @@ -1287,7 +1287,7 @@ _0808D728: movs r0, 0x1 b _0808D746 .align 2, 0 -_0808D740: .4byte gUnknown_203B45C +_0808D740: .4byte gRecruitedPokemonRef _0808D744: movs r0, 0 _0808D746: @@ -1361,7 +1361,7 @@ _0808D798: movs r0, 0x1 b _0808D7CE .align 2, 0 -_0808D7C8: .4byte gUnknown_203B45C +_0808D7C8: .4byte gRecruitedPokemonRef _0808D7CC: movs r0, 0 _0808D7CE: @@ -1391,7 +1391,7 @@ sub_808D7DC: strb r0, [r1, 0x1] bx lr .align 2, 0 -_0808D7FC: .4byte gUnknown_203B45C +_0808D7FC: .4byte gRecruitedPokemonRef thumb_func_end sub_808D7DC thumb_func_start sub_808D800 @@ -1412,7 +1412,7 @@ sub_808D800: strb r1, [r0] bx lr .align 2, 0 -_0808D820: .4byte gUnknown_203B45C +_0808D820: .4byte gRecruitedPokemonRef thumb_func_end sub_808D800 thumb_func_start sub_808D824 @@ -1484,7 +1484,7 @@ _0808D888: movs r0, 0x1 b _0808D8B4 .align 2, 0 -_0808D8A0: .4byte gUnknown_203B45C +_0808D8A0: .4byte gRecruitedPokemonRef _0808D8A4: cmp r4, r0 blt _0808D8B2 @@ -1501,282 +1501,5 @@ _0808D8B4: bx r1 thumb_func_end sub_808D864 - thumb_func_start CopySpeciesNametoBuffer -CopySpeciesNametoBuffer: - push {lr} - lsls r1, 16 - asrs r1, 16 - ldr r2, _0808D8DC - ldr r3, [r2] - lsls r2, r1, 3 - adds r2, r1 - lsls r2, 3 - adds r2, r3 - ldr r1, [r2] - movs r2, 0x14 - bl strncpy - pop {r0} - bx r0 - .align 2, 0 -_0808D8DC: .4byte gMonsterParameters - thumb_func_end CopySpeciesNametoBuffer - - thumb_func_start sub_808D8E0 -sub_808D8E0: - push {r4,lr} - lsls r3, r1, 16 - asrs r3, 16 - ldr r1, _0808D900 - ldr r2, _0808D904 - ldr r4, [r2] - lsls r2, r3, 3 - adds r2, r3 - lsls r2, 3 - adds r2, r4 - ldr r2, [r2] - bl sub_800D158 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808D900: .4byte gUnknown_8107600 -_0808D904: .4byte gMonsterParameters - thumb_func_end sub_808D8E0 - - thumb_func_start sub_808D908 -sub_808D908: - push {r4,lr} - lsls r3, r1, 16 - asrs r3, 16 - ldr r1, _0808D928 - ldr r2, _0808D92C - ldr r4, [r2] - lsls r2, r3, 3 - adds r2, r3 - lsls r2, 3 - adds r2, r4 - ldr r2, [r2] - bl sub_800D158 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808D928: .4byte gUnknown_8107608 -_0808D92C: .4byte gMonsterParameters - thumb_func_end sub_808D908 - - thumb_func_start sub_808D930 -sub_808D930: - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 16 - asrs r6, r1, 16 - adds r0, r6, 0 - bl sub_808E770 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC9 - bne _0808D970 - ldr r5, _0808D968 - movs r0, 0xC9 - bl GetMonSpecies - adds r4, r0, 0 - adds r0, r6, 0 - bl sub_808E8C8 - ldr r1, _0808D96C - adds r0, r1 - ldrb r3, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_800D158 - b _0808D986 - .align 2, 0 -_0808D968: .4byte gUnknown_8107630 -_0808D96C: .4byte gUnknown_8107610 -_0808D970: - ldr r1, _0808D98C - ldr r0, _0808D990 - ldr r2, [r0] - lsls r0, r6, 3 - adds r0, r6 - lsls r0, 3 - adds r0, r2 - ldr r2, [r0] - adds r0, r7, 0 - bl sub_800D158 -_0808D986: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808D98C: .4byte gUnknown_8107638 -_0808D990: .4byte gMonsterParameters - thumb_func_end sub_808D930 - - thumb_func_start GetMonSpecies -GetMonSpecies: - lsls r0, 16 - asrs r0, 16 - ldr r1, _0808D9A8 - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, [r1] - bx lr - .align 2, 0 -_0808D9A8: .4byte gMonsterParameters - thumb_func_end GetMonSpecies - - thumb_func_start sub_808D9AC -sub_808D9AC: - push {r4,r5,lr} - sub sp, 0x14 - adds r5, r0, 0 - adds r4, r2, 0 - adds r1, 0x4C - mov r0, sp - movs r2, 0xA - bl sub_80922B4 - cmp r4, 0 - bne _0808D9C4 - movs r4, 0x5 -_0808D9C4: - ldr r1, _0808D9D8 - adds r0, r5, 0 - adds r2, r4, 0 - mov r3, sp - bl sub_800D158 - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808D9D8: .4byte gUnknown_810763C - thumb_func_end sub_808D9AC - - thumb_func_start sub_808D9DC -sub_808D9DC: - push {r4,r5,lr} - sub sp, 0x14 - adds r5, r0, 0 - adds r4, r2, 0 - adds r1, 0x58 - mov r0, sp - movs r2, 0xA - bl sub_80922B4 - cmp r4, 0 - bne _0808D9F4 - movs r4, 0x6 -_0808D9F4: - ldr r1, _0808DA08 - adds r0, r5, 0 - adds r2, r4, 0 - mov r3, sp - bl sub_800D158 - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808DA08: .4byte gUnknown_810763C - thumb_func_end sub_808D9DC - - thumb_func_start sub_808DA0C -sub_808DA0C: - push {r4,lr} - sub sp, 0x14 - adds r4, r0, 0 - adds r1, 0x58 - mov r0, sp - movs r2, 0xA - bl sub_80922B4 - ldr r1, _0808DA30 - adds r0, r4, 0 - mov r2, sp - bl sub_800D158 - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808DA30: .4byte gUnknown_8107638 - thumb_func_end sub_808DA0C - - thumb_func_start sub_808DA34 -sub_808DA34: - push {lr} - adds r1, 0x4C - movs r2, 0xA - bl sub_80922B4 - pop {r0} - bx r0 - thumb_func_end sub_808DA34 - - thumb_func_start sub_808DA44 -sub_808DA44: - push {r4-r6,lr} - sub sp, 0x30 - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 24 - lsrs r2, r1, 24 - cmp r2, 0xC - bls _0808DAA0 - mov r1, sp - ldr r0, _0808DA98 - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0808DA92 - mov r1, sp - add r3, sp, 0x48 -_0808DA76: - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, r4 - bne _0808DA84 - ldr r0, [r1, 0x4] - cmp r0, r2 - beq _0808DA9C -_0808DA84: - adds r1, 0x8 - cmp r1, r3 - bgt _0808DA92 - movs r6, 0 - ldrsh r0, [r1, r6] - cmp r0, 0 - bne _0808DA76 -_0808DA92: - movs r0, 0 - b _0808DAA6 - .align 2, 0 -_0808DA98: .4byte gUnknown_8107654 -_0808DA9C: - movs r0, 0x1 - b _0808DAA6 -_0808DAA0: - ldr r0, _0808DAB0 - adds r0, r2, r0 - ldrb r0, [r0] -_0808DAA6: - add sp, 0x30 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0808DAB0: .4byte gUnknown_8107645 - thumb_func_end sub_808DA44 .align 2,0 diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s new file mode 100644 index 0000000..5417b8e --- /dev/null +++ b/asm/pokemon_1.s @@ -0,0 +1,72 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_808DA44 +sub_808DA44: + push {r4-r6,lr} + sub sp, 0x30 + lsls r0, 16 + asrs r4, r0, 16 + lsls r1, 24 + lsrs r2, r1, 24 + cmp r2, 0xC + bls _0808DAA0 + mov r1, sp + ldr r0, _0808DA98 + ldm r0!, {r3,r5,r6} + stm r1!, {r3,r5,r6} + ldm r0!, {r3,r5,r6} + stm r1!, {r3,r5,r6} + ldm r0!, {r3,r5,r6} + stm r1!, {r3,r5,r6} + ldm r0!, {r3,r5,r6} + stm r1!, {r3,r5,r6} + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _0808DA92 + mov r1, sp + add r3, sp, 0x48 +_0808DA76: + movs r5, 0 + ldrsh r0, [r1, r5] + cmp r0, r4 + bne _0808DA84 + ldr r0, [r1, 0x4] + cmp r0, r2 + beq _0808DA9C +_0808DA84: + adds r1, 0x8 + cmp r1, r3 + bgt _0808DA92 + movs r6, 0 + ldrsh r0, [r1, r6] + cmp r0, 0 + bne _0808DA76 +_0808DA92: + movs r0, 0 + b _0808DAA6 + .align 2, 0 +_0808DA98: .4byte gUnknown_8107654 +_0808DA9C: + movs r0, 0x1 + b _0808DAA6 +_0808DAA0: + ldr r0, _0808DAB0 + adds r0, r2, r0 + ldrb r0, [r0] +_0808DAA6: + add sp, 0x30 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0808DAB0: .4byte gUnknown_8107645 + thumb_func_end sub_808DA44 + + .align 2,0 diff --git a/asm/pokemon_square.s b/asm/pokemon_square.s new file mode 100644 index 0000000..6eef7df --- /dev/null +++ b/asm/pokemon_square.s @@ -0,0 +1,7112 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + + thumb_func_start sub_8019E40 +sub_8019E40: + push {r4-r6,lr} + adds r6, r0, 0 + bl sub_8091814 + cmp r0, 0 + beq _08019ED4 + ldr r5, _08019EC8 + movs r0, 0xA0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + str r6, [r0, 0x34] + lsls r1, r6, 1 + adds r1, r6 + lsls r1, 3 + adds r1, 0x3C + adds r1, r0, r1 + str r1, [r0, 0x38] + adds r0, 0x3C + bl sub_8006518 + ldr r1, [r5] + ldr r2, [r1, 0x34] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x3C + ldr r0, _08019ECC + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldr r0, [r5] + ldr r1, [r0, 0x38] + adds r0, 0x9C + str r0, [r1, 0x14] + bl ResetUnusedInputStruct + ldr r0, [r5] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r5] + bl sub_8091814 + adds r1, r0, 0 + adds r0, r4, 0 + movs r2, 0xA + adds r3, r6, 0 + bl sub_8013818 + ldr r0, [r5] + ldr r1, _08019ED0 + ldrh r1, [r1] + strh r1, [r0, 0x18] + bl sub_8013984 + bl sub_801A064 + bl sub_801A0D8 + movs r0, 0x1 + b _08019ED6 + .align 2, 0 +_08019EC8: .4byte gUnknown_203B214 +_08019ECC: .4byte gUnknown_80DB8CC +_08019ED0: .4byte gUnknown_203B218 +_08019ED4: + movs r0, 0 +_08019ED6: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8019E40 + + thumb_func_start sub_8019EDC +sub_8019EDC: + push {lr} + sub sp, 0x4 + lsls r0, 24 + cmp r0, 0 + bne _08019EF8 + ldr r0, _08019EF4 + ldr r0, [r0] + bl sub_8013660 + movs r0, 0 + b _08019FAA + .align 2, 0 +_08019EF4: .4byte gUnknown_203B214 +_08019EF8: + ldr r0, _08019F10 + ldr r0, [r0] + bl GetKeyPress + cmp r0, 0x2 + beq _08019F1A + cmp r0, 0x2 + bgt _08019F14 + cmp r0, 0x1 + beq _08019F24 + b _08019F88 + .align 2, 0 +_08019F10: .4byte gUnknown_203B214 +_08019F14: + cmp r0, 0x4 + beq _08019F7E + b _08019F88 +_08019F1A: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _08019FAA +_08019F24: + bl sub_8019FB0 + lsls r0, 24 + lsrs r0, 24 + bl sub_809185C + ldrb r2, [r0] + lsls r2, 16 + ldr r3, _08019F68 + ldr r1, [sp] + ands r1, r3 + orrs r1, r2 + str r1, [sp] + ldrb r0, [r0, 0x1] + lsls r0, 8 + ldr r2, _08019F6C + ands r1, r2 + orrs r1, r0 + str r1, [sp] + mov r0, sp + bl sub_8090C7C + ldr r1, _08019F70 + ldr r1, [r1] + movs r2, 0x98 + lsls r2, 2 + adds r1, r2 + ldr r1, [r1] + cmp r0, r1 + ble _08019F74 + movs r0, 0x2 + bl PlayMenuSoundEffect + b _08019F7A + .align 2, 0 +_08019F68: .4byte 0xff00ffff +_08019F6C: .4byte 0xffff00ff +_08019F70: .4byte gUnknown_203B460 +_08019F74: + movs r0, 0 + bl PlayMenuSoundEffect +_08019F7A: + movs r0, 0x3 + b _08019FAA +_08019F7E: + movs r0, 0x4 + bl PlayMenuSoundEffect + movs r0, 0x4 + b _08019FAA +_08019F88: + ldr r0, _08019F9C + ldr r0, [r0] + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _08019FA0 + movs r0, 0 + b _08019FAA + .align 2, 0 +_08019F9C: .4byte gUnknown_203B214 +_08019FA0: + bl sub_801A064 + bl sub_801A0D8 + movs r0, 0x1 +_08019FAA: + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8019EDC + + thumb_func_start sub_8019FB0 +sub_8019FB0: + ldr r0, _08019FC8 + ldr r1, [r0] + movs r0, 0x1E + ldrsh r2, [r1, r0] + movs r3, 0x1C + ldrsh r0, [r1, r3] + muls r0, r2 + ldrb r1, [r1, 0x18] + adds r0, r1 + lsls r0, 24 + lsrs r0, 24 + bx lr + .align 2, 0 +_08019FC8: .4byte gUnknown_203B214 + thumb_func_end sub_8019FB0 + + thumb_func_start sub_8019FCC +sub_8019FCC: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl ResetUnusedInputStruct + ldr r5, _0801A00C + ldr r0, [r5] + adds r0, 0x3C + movs r1, 0 + movs r2, 0 + bl sub_800641C + bl sub_8091814 + adds r1, r0, 0 + ldr r0, [r5] + strh r1, [r0, 0x22] + bl sub_8013984 + bl sub_801A064 + bl sub_801A0D8 + cmp r4, 0 + beq _0801A006 + ldr r0, [r5] + bl AddMenuCursorSprite +_0801A006: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801A00C: .4byte gUnknown_203B214 + thumb_func_end sub_8019FCC + + thumb_func_start sub_801A010 +sub_801A010: + push {r4,r5,lr} + ldr r4, _0801A058 + ldr r2, [r4] + cmp r2, 0 + beq _0801A050 + ldr r1, _0801A05C + ldrh r0, [r2, 0x18] + strh r0, [r1] + ldr r0, [r2, 0x34] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x3C + ldr r0, _0801A060 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0801A050: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801A058: .4byte gUnknown_203B214 +_0801A05C: .4byte gUnknown_203B218 +_0801A060: .4byte gUnknown_80DB8B4 + thumb_func_end sub_801A010 + + thumb_func_start sub_801A064 +sub_801A064: + push {r4,lr} + ldr r4, _0801A0D4 + ldr r0, [r4] + ldrh r1, [r0, 0x20] + adds r0, 0x9C + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + ldrh r1, [r0, 0x1E] + adds r0, 0x9D + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9E + movs r1, 0xA + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9F + strb r2, [r0] + ldr r0, [r4] + movs r1, 0x1A + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x34] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x4A + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x34] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x4C + strh r3, [r2] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801A0D4: .4byte gUnknown_203B214 + thumb_func_end sub_801A064 + + thumb_func_start sub_801A0D8 +sub_801A0D8: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0xB4 + ldr r4, _0801A1A4 + ldr r0, [r4] + ldr r0, [r0, 0x34] + bl sub_8008C54 + ldr r0, [r4] + ldr r0, [r0, 0x34] + bl sub_80073B8 + ldr r1, [r4] + movs r2, 0x1E + ldrsh r0, [r1, r2] + lsls r0, 3 + adds r0, 0xA + ldr r2, _0801A1A8 + ldr r3, [r1, 0x34] + movs r1, 0 + str r1, [sp] + bl xxx_call_draw_string + movs r6, 0 + ldr r0, [r4] + movs r1, 0x1A + ldrsh r0, [r0, r1] + cmp r6, r0 + bge _0801A1EC + adds r7, r4, 0 + add r4, sp, 0xB0 + mov r9, r6 + add r5, sp, 0x54 + add r2, sp, 0x60 + mov r8, r2 +_0801A122: + ldr r0, [r7] + movs r2, 0x1E + ldrsh r1, [r0, r2] + movs r2, 0x1C + ldrsh r0, [r0, r2] + muls r0, r1 + adds r0, r6 + lsls r0, 24 + lsrs r0, 24 + bl sub_809185C + ldrb r2, [r0] + lsls r2, 16 + ldr r3, _0801A1AC + ldr r1, [r4] + ands r1, r3 + orrs r1, r2 + str r1, [r4] + ldrb r2, [r0, 0x1] + lsls r2, 8 + ldr r0, _0801A1B0 + ands r1, r0 + orrs r1, r2 + ldr r0, _0801A1B4 + ands r1, r0 + movs r0, 0x3 + orrs r1, r0 + str r1, [r4] + movs r1, 0x1 + str r1, [sp, 0x54] + mov r0, r9 + strb r0, [r5, 0x4] + movs r0, 0x58 + strh r0, [r5, 0x6] + strb r1, [r5, 0x8] + add r0, sp, 0x4 + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_8090E14 + adds r0, r4, 0 + bl sub_8090C7C + ldr r1, _0801A1B8 + ldr r1, [r1] + movs r2, 0x98 + lsls r2, 2 + adds r1, r2 + ldr r1, [r1] + cmp r0, r1 + bgt _0801A1BC + ldr r0, [r7] + adds r1, r6, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r0, [r7] + ldr r3, [r0, 0x34] + mov r0, r9 + str r0, [sp] + movs r0, 0x8 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _0801A1E0 + .align 2, 0 +_0801A1A4: .4byte gUnknown_203B214 +_0801A1A8: .4byte gUnknown_80DB8E4 +_0801A1AC: .4byte 0xff00ffff +_0801A1B0: .4byte 0xffff00ff +_0801A1B4: .4byte 0xffffff00 +_0801A1B8: .4byte gUnknown_203B460 +_0801A1BC: + mov r0, r8 + ldr r1, _0801A204 + add r2, sp, 0x4 + bl sub_800D158 + ldr r0, [r7] + adds r1, r6, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r0, [r7] + ldr r3, [r0, 0x34] + mov r2, r9 + str r2, [sp] + movs r0, 0x8 + mov r2, r8 + bl xxx_call_draw_string +_0801A1E0: + adds r6, 0x1 + ldr r0, [r7] + movs r1, 0x1A + ldrsh r0, [r0, r1] + cmp r6, r0 + blt _0801A122 +_0801A1EC: + ldr r0, _0801A208 + ldr r0, [r0] + ldr r0, [r0, 0x34] + bl sub_80073E0 + add sp, 0xB4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0801A204: .4byte gUnknown_80DB8EC +_0801A208: .4byte gUnknown_203B214 + thumb_func_end sub_801A0D8 + + thumb_func_start sub_801A20C +sub_801A20C: + push {r4-r6,lr} + adds r6, r0, 0 + bl sub_8091A48 + cmp r0, 0 + beq _0801A2A0 + ldr r5, _0801A294 + movs r0, 0xA0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + str r6, [r0, 0x34] + lsls r1, r6, 1 + adds r1, r6 + lsls r1, 3 + adds r1, 0x3C + adds r1, r0, r1 + str r1, [r0, 0x38] + adds r0, 0x3C + bl sub_8006518 + ldr r1, [r5] + ldr r2, [r1, 0x34] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x3C + ldr r0, _0801A298 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldr r0, [r5] + ldr r1, [r0, 0x38] + adds r0, 0x9C + str r0, [r1, 0x14] + bl ResetUnusedInputStruct + ldr r0, [r5] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r5] + bl sub_8091A48 + adds r1, r0, 0 + adds r0, r4, 0 + movs r2, 0xA + adds r3, r6, 0 + bl sub_8013818 + ldr r0, [r5] + ldr r1, _0801A29C + ldrh r1, [r1] + strh r1, [r0, 0x18] + bl sub_8013984 + bl sub_801A430 + bl sub_801A4A4 + movs r0, 0x1 + b _0801A2A2 + .align 2, 0 +_0801A294: .4byte gUnknown_203B21C +_0801A298: .4byte gUnknown_80DB914 +_0801A29C: .4byte gUnknown_203B220 +_0801A2A0: + movs r0, 0 +_0801A2A2: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_801A20C + + thumb_func_start sub_801A2A8 +sub_801A2A8: + push {lr} + sub sp, 0x4 + lsls r0, 24 + cmp r0, 0 + bne _0801A2C4 + ldr r0, _0801A2C0 + ldr r0, [r0] + bl sub_8013660 + movs r0, 0 + b _0801A376 + .align 2, 0 +_0801A2C0: .4byte gUnknown_203B21C +_0801A2C4: + ldr r0, _0801A2DC + ldr r0, [r0] + bl GetKeyPress + cmp r0, 0x2 + beq _0801A2E6 + cmp r0, 0x2 + bgt _0801A2E0 + cmp r0, 0x1 + beq _0801A2F0 + b _0801A354 + .align 2, 0 +_0801A2DC: .4byte gUnknown_203B21C +_0801A2E0: + cmp r0, 0x4 + beq _0801A34A + b _0801A354 +_0801A2E6: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _0801A376 +_0801A2F0: + bl sub_801A37C + lsls r0, 24 + lsrs r0, 24 + bl sub_8091A90 + ldrb r2, [r0] + lsls r2, 16 + ldr r3, _0801A334 + ldr r1, [sp] + ands r1, r3 + orrs r1, r2 + str r1, [sp] + ldrb r0, [r0, 0x1] + lsls r0, 8 + ldr r2, _0801A338 + ands r1, r2 + orrs r1, r0 + str r1, [sp] + mov r0, sp + bl sub_8090C7C + ldr r1, _0801A33C + ldr r1, [r1] + movs r2, 0x98 + lsls r2, 2 + adds r1, r2 + ldr r1, [r1] + cmp r0, r1 + ble _0801A340 + movs r0, 0x2 + bl PlayMenuSoundEffect + b _0801A346 + .align 2, 0 +_0801A334: .4byte 0xff00ffff +_0801A338: .4byte 0xffff00ff +_0801A33C: .4byte gUnknown_203B460 +_0801A340: + movs r0, 0 + bl PlayMenuSoundEffect +_0801A346: + movs r0, 0x3 + b _0801A376 +_0801A34A: + movs r0, 0x4 + bl PlayMenuSoundEffect + movs r0, 0x4 + b _0801A376 +_0801A354: + ldr r0, _0801A368 + ldr r0, [r0] + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0801A36C + movs r0, 0 + b _0801A376 + .align 2, 0 +_0801A368: .4byte gUnknown_203B21C +_0801A36C: + bl sub_801A430 + bl sub_801A4A4 + movs r0, 0x1 +_0801A376: + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_801A2A8 + + thumb_func_start sub_801A37C +sub_801A37C: + ldr r0, _0801A394 + ldr r1, [r0] + movs r0, 0x1E + ldrsh r2, [r1, r0] + movs r3, 0x1C + ldrsh r0, [r1, r3] + muls r0, r2 + ldrb r1, [r1, 0x18] + adds r0, r1 + lsls r0, 24 + lsrs r0, 24 + bx lr + .align 2, 0 +_0801A394: .4byte gUnknown_203B21C + thumb_func_end sub_801A37C + + thumb_func_start sub_801A398 +sub_801A398: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl ResetUnusedInputStruct + ldr r5, _0801A3D8 + ldr r0, [r5] + adds r0, 0x3C + movs r1, 0 + movs r2, 0 + bl sub_800641C + bl sub_8091A48 + adds r1, r0, 0 + ldr r0, [r5] + strh r1, [r0, 0x22] + bl sub_8013984 + bl sub_801A430 + bl sub_801A4A4 + cmp r4, 0 + beq _0801A3D2 + ldr r0, [r5] + bl AddMenuCursorSprite +_0801A3D2: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801A3D8: .4byte gUnknown_203B21C + thumb_func_end sub_801A398 + + thumb_func_start sub_801A3DC +sub_801A3DC: + push {r4,r5,lr} + ldr r4, _0801A424 + ldr r2, [r4] + cmp r2, 0 + beq _0801A41C + ldr r1, _0801A428 + ldrh r0, [r2, 0x18] + strh r0, [r1] + ldr r0, [r2, 0x34] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x3C + ldr r0, _0801A42C + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0801A41C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801A424: .4byte gUnknown_203B21C +_0801A428: .4byte gUnknown_203B220 +_0801A42C: .4byte gUnknown_80DB8FC + thumb_func_end sub_801A3DC + + thumb_func_start sub_801A430 +sub_801A430: + push {r4,lr} + ldr r4, _0801A4A0 + ldr r0, [r4] + ldrh r1, [r0, 0x20] + adds r0, 0x9C + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + ldrh r1, [r0, 0x1E] + adds r0, 0x9D + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9E + movs r1, 0xA + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9F + strb r2, [r0] + ldr r0, [r4] + movs r1, 0x1A + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x34] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x4A + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x34] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x4C + strh r3, [r2] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801A4A0: .4byte gUnknown_203B21C + thumb_func_end sub_801A430 + + thumb_func_start sub_801A4A4 +sub_801A4A4: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0xB4 + ldr r4, _0801A570 + ldr r0, [r4] + ldr r0, [r0, 0x34] + bl sub_8008C54 + ldr r0, [r4] + ldr r0, [r0, 0x34] + bl sub_80073B8 + ldr r1, [r4] + movs r2, 0x1E + ldrsh r0, [r1, r2] + lsls r0, 3 + adds r0, 0xA + ldr r2, _0801A574 + ldr r3, [r1, 0x34] + movs r1, 0 + str r1, [sp] + bl xxx_call_draw_string + movs r6, 0 + ldr r0, [r4] + movs r1, 0x1A + ldrsh r0, [r0, r1] + cmp r6, r0 + bge _0801A5B8 + adds r7, r4, 0 + add r4, sp, 0xB0 + mov r9, r6 + add r5, sp, 0x54 + add r2, sp, 0x60 + mov r8, r2 +_0801A4EE: + ldr r0, [r7] + movs r2, 0x1E + ldrsh r1, [r0, r2] + movs r2, 0x1C + ldrsh r0, [r0, r2] + muls r0, r1 + adds r0, r6 + lsls r0, 24 + lsrs r0, 24 + bl sub_8091A90 + ldrb r2, [r0] + lsls r2, 16 + ldr r3, _0801A578 + ldr r1, [r4] + ands r1, r3 + orrs r1, r2 + str r1, [r4] + ldrb r2, [r0, 0x1] + lsls r2, 8 + ldr r0, _0801A57C + ands r1, r0 + orrs r1, r2 + ldr r0, _0801A580 + ands r1, r0 + movs r0, 0x3 + orrs r1, r0 + str r1, [r4] + movs r1, 0x1 + str r1, [sp, 0x54] + mov r0, r9 + strb r0, [r5, 0x4] + movs r0, 0x58 + strh r0, [r5, 0x6] + strb r1, [r5, 0x8] + add r0, sp, 0x4 + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_8090E14 + adds r0, r4, 0 + bl sub_8090C7C + ldr r1, _0801A584 + ldr r1, [r1] + movs r2, 0x98 + lsls r2, 2 + adds r1, r2 + ldr r1, [r1] + cmp r0, r1 + bgt _0801A588 + ldr r0, [r7] + adds r1, r6, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r0, [r7] + ldr r3, [r0, 0x34] + mov r0, r9 + str r0, [sp] + movs r0, 0x8 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _0801A5AC + .align 2, 0 +_0801A570: .4byte gUnknown_203B21C +_0801A574: .4byte gUnknown_80DB92C +_0801A578: .4byte 0xff00ffff +_0801A57C: .4byte 0xffff00ff +_0801A580: .4byte 0xffffff00 +_0801A584: .4byte gUnknown_203B460 +_0801A588: + mov r0, r8 + ldr r1, _0801A5D0 + add r2, sp, 0x4 + bl sub_800D158 + ldr r0, [r7] + adds r1, r6, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r0, [r7] + ldr r3, [r0, 0x34] + mov r2, r9 + str r2, [sp] + movs r0, 0x8 + mov r2, r8 + bl xxx_call_draw_string +_0801A5AC: + adds r6, 0x1 + ldr r0, [r7] + movs r1, 0x1A + ldrsh r0, [r0, r1] + cmp r6, r0 + blt _0801A4EE +_0801A5B8: + ldr r0, _0801A5D4 + ldr r0, [r0] + ldr r0, [r0, 0x34] + bl sub_80073E0 + add sp, 0xB4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0801A5D0: .4byte gUnknown_80DB934 +_0801A5D4: .4byte gUnknown_203B21C + thumb_func_end sub_801A4A4 + + thumb_func_start sub_801A5D8 +sub_801A5D8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r0, 0 + adds r6, r1, 0 + adds r7, r2, 0 + mov r8, r3 + bl sub_8090A34 + cmp r0, 0 + bne _0801A5F2 + movs r0, 0 + b _0801A6CC +_0801A5F2: + ldr r5, _0801A6D8 + ldr r0, [r5] + cmp r0, 0 + bne _0801A604 + movs r0, 0xF4 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] +_0801A604: + ldr r0, [r5] + str r4, [r0] + bl sub_80910B4 + bl sub_801AE84 + ldr r0, [r5] + adds r1, r0, 0 + adds r1, 0x88 + str r6, [r1] + adds r2, r0, 0 + adds r2, 0x8C + lsls r1, r6, 1 + adds r1, r6 + lsls r1, 3 + adds r1, 0x90 + adds r1, r0, r1 + str r1, [r2] + adds r0, 0x90 + bl sub_8006518 + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0x88 + ldr r2, [r0] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x90 + ldr r0, _0801A6DC + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldr r2, [r5] + adds r0, r2, 0 + adds r0, 0x8C + ldr r1, [r0] + adds r0, 0x64 + str r0, [r1, 0x14] + cmp r7, 0 + beq _0801A66E + subs r0, 0x68 + ldr r1, [r0] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r1, r2, 0 + adds r1, 0x98 + adds r1, r0 + ldr r0, [r7] + str r0, [r1] +_0801A66E: + ldr r0, [r5] + adds r0, 0x8C + ldr r0, [r0] + mov r1, r8 + bl sub_8012D08 + movs r0, 0x1 + bl sub_8099690 + bl ResetUnusedInputStruct + ldr r0, [r5] + adds r0, 0x90 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r5] + adds r4, 0x54 + bl sub_8090A34 + adds r1, r0, 0 + adds r0, r4, 0 + mov r2, r8 + adds r3, r6, 0 + bl sub_8013818 + ldr r2, [r5] + ldr r0, _0801A6E0 + ldrh r1, [r0] + adds r0, r2, 0 + adds r0, 0x6C + strh r1, [r0] + ldr r0, _0801A6E4 + ldrh r0, [r0] + adds r1, r2, 0 + adds r1, 0x72 + strh r0, [r1] + adds r0, r2, 0 + adds r0, 0x54 + bl sub_8013984 + bl sub_801A998 + bl sub_801A9E0 + movs r0, 0x1 +_0801A6CC: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0801A6D8: .4byte gUnknown_203B224 +_0801A6DC: .4byte gUnknown_80DB95C +_0801A6E0: .4byte gUnknown_203B228 +_0801A6E4: .4byte gUnknown_203B22A + thumb_func_end sub_801A5D8 + + thumb_func_start sub_801A6E8 +sub_801A6E8: + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + cmp r0, 0 + bne _0801A704 + ldr r0, _0801A700 + ldr r0, [r0] + adds r0, 0x54 + bl sub_8013660 + movs r0, 0 + b _0801A8A2 + .align 2, 0 +_0801A700: .4byte gUnknown_203B224 +_0801A704: + ldr r0, _0801A720 + ldr r0, [r0] + adds r0, 0x54 + bl GetKeyPress + subs r0, 0x1 + cmp r0, 0x5 + bls _0801A716 + b _0801A87C +_0801A716: + lsls r0, 2 + ldr r1, _0801A724 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801A720: .4byte gUnknown_203B224 +_0801A724: .4byte _0801A728 + .align 2, 0 +_0801A728: + .4byte _0801A74A + .4byte _0801A740 + .4byte _0801A864 + .4byte _0801A806 + .4byte _0801A810 + .4byte _0801A810 +_0801A740: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _0801A8A2 +_0801A74A: + ldr r1, _0801A760 + ldr r0, [r1] + ldr r0, [r0] + adds r4, r1, 0 + cmp r0, 0x5 + bhi _0801A802 + lsls r0, 2 + ldr r1, _0801A764 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801A760: .4byte gUnknown_203B224 +_0801A764: .4byte _0801A768 + .align 2, 0 +_0801A768: + .4byte _0801A780 + .4byte _0801A780 + .4byte _0801A780 + .4byte _0801A794 + .4byte _0801A7AC + .4byte _0801A7FC +_0801A780: + ldr r4, [r4] + bl sub_801A8AC + lsls r0, 2 + adds r4, 0x4 + adds r4, r0 + ldr r0, [r4] + cmp r0, 0 + bne _0801A7F4 + b _0801A7E2 +_0801A794: + bl sub_801AEA8 + cmp r0, 0 + bne _0801A7E2 + bl sub_801A8AC + bl sub_801ADA0 + lsls r0, 24 + cmp r0, 0 + bne _0801A7E2 + b _0801A7F4 +_0801A7AC: + ldr r5, _0801A7EC + ldr r4, [r5] + bl sub_801A8AC + lsls r0, 2 + adds r4, r0 + ldr r0, [r4] + str r0, [sp] + mov r0, sp + ldrb r0, [r0, 0x2] + bl sub_80914E4 + lsls r0, 24 + cmp r0, 0 + beq _0801A7F4 + mov r0, sp + bl sub_8090CCC + ldr r1, [r5] + movs r2, 0x98 + lsls r2, 2 + adds r1, r2 + ldr r1, [r1] + adds r0, r1 + ldr r1, _0801A7F0 + cmp r0, r1 + bgt _0801A7F4 +_0801A7E2: + movs r0, 0 + bl PlayMenuSoundEffect + b _0801A802 + .align 2, 0 +_0801A7EC: .4byte gUnknown_203B460 +_0801A7F0: .4byte 0x0001869f +_0801A7F4: + movs r0, 0x2 + bl PlayMenuSoundEffect + b _0801A802 +_0801A7FC: + movs r0, 0 + bl PlayMenuSoundEffect +_0801A802: + movs r0, 0x3 + b _0801A8A2 +_0801A806: + movs r0, 0x4 + bl PlayMenuSoundEffect + movs r0, 0x4 + b _0801A8A2 +_0801A810: + ldr r4, _0801A858 + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0x3 + bne _0801A87C + bl sub_801A8AC + adds r1, r0, 0 + ldr r0, [r4] + lsls r5, r1, 2 + adds r0, 0x4 + adds r0, r5 + ldr r0, [r0] + cmp r0, 0 + bne _0801A83A + adds r0, r1, 0 + bl sub_801ADA0 + lsls r0, 24 + cmp r0, 0 + beq _0801A85C +_0801A83A: + movs r0, 0x6 + bl PlayMenuSoundEffect + ldr r0, [r4] + adds r2, r0, 0x4 + adds r2, r5 + ldr r1, [r2] + movs r3, 0x1 + eors r1, r3 + str r1, [r2] + adds r0, 0x54 + movs r1, 0 + bl sub_80138B8 + b _0801A89C + .align 2, 0 +_0801A858: .4byte gUnknown_203B224 +_0801A85C: + movs r0, 0x2 + bl PlayMenuSoundEffect + b _0801A87C +_0801A864: + ldr r0, _0801A894 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x2 + beq _0801A87C + movs r0, 0x5 + bl PlayMenuSoundEffect + bl sub_801AEF8 + bl sub_801A9E0 +_0801A87C: + ldr r0, _0801A894 + ldr r0, [r0] + adds r0, 0x54 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0801A898 + movs r0, 0 + b _0801A8A2 + .align 2, 0 +_0801A894: .4byte gUnknown_203B224 +_0801A898: + bl sub_801A998 +_0801A89C: + bl sub_801A9E0 + movs r0, 0x1 +_0801A8A2: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_801A6E8 + + thumb_func_start sub_801A8AC +sub_801A8AC: + ldr r0, _0801A8CC + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x72 + movs r3, 0 + ldrsh r1, [r0, r3] + subs r0, 0x2 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r0, r1 + adds r1, r2, 0 + adds r1, 0x6C + movs r2, 0 + ldrsh r1, [r1, r2] + adds r0, r1 + bx lr + .align 2, 0 +_0801A8CC: .4byte gUnknown_203B224 + thumb_func_end sub_801A8AC + + thumb_func_start sub_801A8D0 +sub_801A8D0: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + bl sub_8099690 + bl ResetUnusedInputStruct + ldr r5, _0801A924 + ldr r0, [r5] + adds r0, 0x90 + movs r1, 0 + movs r2, 0 + bl sub_800641C + bl sub_80910B4 + bl sub_8090A34 + adds r1, r0, 0 + ldr r0, [r5] + adds r2, r0, 0 + adds r2, 0x76 + strh r1, [r2] + adds r0, 0x54 + bl sub_8013984 + bl sub_801A998 + bl sub_801A9E0 + cmp r4, 0 + beq _0801A91C + ldr r0, [r5] + adds r0, 0x54 + bl AddMenuCursorSprite +_0801A91C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801A924: .4byte gUnknown_203B224 + thumb_func_end sub_801A8D0 + + thumb_func_start sub_801A928 +sub_801A928: + push {r4,r5,lr} + ldr r4, _0801A988 + ldr r2, [r4] + cmp r2, 0 + beq _0801A980 + ldr r1, _0801A98C + adds r0, r2, 0 + adds r0, 0x6C + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _0801A990 + adds r0, r2, 0 + adds r0, 0x72 + ldrh r0, [r0] + strh r0, [r1] + adds r0, r2, 0 + adds r0, 0x88 + ldr r0, [r0] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x90 + ldr r0, _0801A994 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + movs r0, 0 + bl sub_8099690 + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x90 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0801A980: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801A988: .4byte gUnknown_203B224 +_0801A98C: .4byte gUnknown_203B228 +_0801A990: .4byte gUnknown_203B22A +_0801A994: .4byte gUnknown_80DB944 + thumb_func_end sub_801A928 + + thumb_func_start sub_801A998 +sub_801A998: + push {r4,lr} + ldr r4, _0801A9DC + ldr r0, [r4] + adds r1, r0, 0 + adds r1, 0x74 + ldrh r1, [r1] + adds r0, 0xF0 + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + adds r1, r0, 0 + adds r1, 0x72 + ldrh r1, [r1] + adds r0, 0xF1 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xF2 + movs r1, 0xB + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xF3 + strb r2, [r0] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x90 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801A9DC: .4byte gUnknown_203B224 + thumb_func_end sub_801A998 + + thumb_func_start sub_801A9E0 +sub_801A9E0: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0xCC + ldr r4, _0801AA2C + ldr r0, [r4] + adds r0, 0x88 + ldr r0, [r0] + bl sub_8008C54 + ldr r0, [r4] + adds r0, 0x88 + ldr r0, [r0] + bl sub_80073B8 + ldr r4, [r4] + adds r1, r4, 0 + adds r1, 0x72 + movs r2, 0 + ldrsh r0, [r1, r2] + lsls r0, 3 + adds r5, r0, 0 + adds r5, 0xA + movs r3, 0 + ldrsh r1, [r1, r3] + cmp r1, 0 + bne _0801AA34 + ldr r2, _0801AA30 + adds r0, r4, 0 + adds r0, 0x88 + ldr r3, [r0] + str r1, [sp] + adds r0, r5, 0 + movs r1, 0 + bl xxx_call_draw_string + b _0801AA48 + .align 2, 0 +_0801AA2C: .4byte gUnknown_203B224 +_0801AA30: .4byte gTeamToolboxA +_0801AA34: + ldr r2, _0801AA58 + adds r0, r4, 0 + adds r0, 0x88 + ldr r3, [r0] + movs r0, 0 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0 + bl xxx_call_draw_string +_0801AA48: + movs r7, 0 + ldr r1, _0801AA5C + ldr r0, [r1] + adds r0, 0x6E + movs r4, 0 + ldrsh r0, [r0, r4] + b _0801AD0A + .align 2, 0 +_0801AA58: .4byte gTeamToolboxB +_0801AA5C: .4byte gUnknown_203B224 +_0801AA60: + ldr r2, [r1] + adds r0, r2, 0 + adds r0, 0x72 + movs r3, 0 + ldrsh r1, [r0, r3] + subs r0, 0x2 + movs r4, 0 + ldrsh r0, [r0, r4] + muls r0, r1 + adds r0, r7 + mov r8, r0 + ldr r0, _0801AA9C + ldr r0, [r0] + mov r3, r8 + lsls r1, r3, 2 + adds r0, r1 + ldr r0, [r0] + add r1, sp, 0xC8 + str r0, [r1] + ldr r0, [r2] + adds r4, r1, 0 + cmp r0, 0x5 + bls _0801AA90 + b _0801ACC4 +_0801AA90: + lsls r0, 2 + ldr r1, _0801AAA0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801AA9C: .4byte gUnknown_203B460 +_0801AAA0: .4byte _0801AAA4 + .align 2, 0 +_0801AAA4: + .4byte _0801AABC + .4byte _0801AAE4 + .4byte _0801AAE4 + .4byte _0801AB18 + .4byte _0801AB90 + .4byte _0801AC50 +_0801AABC: + add r0, sp, 0x4 + adds r1, r4, 0 + movs r2, 0 + bl sub_8090E14 + ldr r4, _0801AAE0 + ldr r0, [r4] + adds r0, 0x54 + adds r1, r7, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r0, [r4] + adds r0, 0x88 + ldr r3, [r0] + movs r0, 0 + str r0, [sp] + b _0801AC8C + .align 2, 0 +_0801AAE0: .4byte gUnknown_203B224 +_0801AAE4: + add r2, sp, 0x54 + movs r5, 0 + str r5, [sp, 0x54] + strb r5, [r2, 0x4] + movs r0, 0x1 + strb r0, [r2, 0x8] + strb r0, [r4] + add r1, sp, 0xC8 + add r0, sp, 0x4 + bl sub_8090E14 + ldr r4, _0801AB14 + ldr r0, [r4] + adds r0, 0x54 + adds r1, r7, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r0, [r4] + adds r0, 0x88 + ldr r3, [r0] + str r5, [sp] + b _0801AC8C + .align 2, 0 +_0801AB14: .4byte gUnknown_203B224 +_0801AB18: + add r2, sp, 0x60 + movs r6, 0 + str r6, [sp, 0x60] + strb r6, [r2, 0x4] + movs r0, 0x1 + strb r0, [r2, 0x8] + strb r0, [r4] + add r1, sp, 0xC8 + add r0, sp, 0x4 + bl sub_8090E14 + ldr r5, _0801AB60 + ldr r0, [r5] + mov r4, r8 + lsls r1, r4, 2 + adds r0, 0x4 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0 + bne _0801AB4E + mov r0, r8 + bl sub_801ADA0 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + beq _0801AB64 +_0801AB4E: + ldr r0, [r5] + adds r0, 0x54 + adds r1, r7, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r0, [r5] + b _0801AC86 + .align 2, 0 +_0801AB60: .4byte gUnknown_203B224 +_0801AB64: + ldr r0, _0801AB88 + add r1, sp, 0x4 + movs r2, 0x50 + bl strncpy + ldr r0, [r5] + adds r0, 0x54 + adds r1, r7, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r2, _0801AB8C + ldr r0, [r5] + adds r0, 0x88 + ldr r3, [r0] + str r4, [sp] + b _0801AC3C + .align 2, 0 +_0801AB88: .4byte gUnknown_202DE58 +_0801AB8C: .4byte gUnknown_80DB994 +_0801AB90: + ldrb r0, [r4, 0x2] + bl sub_80914E4 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + beq _0801AC10 + add r2, sp, 0x6C + movs r1, 0x3 + str r1, [sp, 0x6C] + movs r6, 0 + strb r6, [r2, 0x4] + movs r0, 0x58 + strh r0, [r2, 0x6] + movs r0, 0x1 + strb r0, [r2, 0x8] + strb r1, [r4] + add r0, sp, 0x4 + adds r1, r4, 0 + bl sub_8090E14 + adds r0, r4, 0 + bl sub_8090CCC + ldr r1, _0801AC00 + ldr r1, [r1] + movs r2, 0x98 + lsls r2, 2 + adds r1, r2 + ldr r1, [r1] + adds r0, r1 + ldr r1, _0801AC04 + cmp r0, r1 + ble _0801AC76 + add r5, sp, 0x78 + ldr r1, _0801AC08 + adds r0, r5, 0 + add r2, sp, 0x4 + bl sub_800D158 + ldr r4, _0801AC0C + ldr r0, [r4] + adds r0, 0x54 + adds r1, r7, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r0, [r4] + adds r0, 0x88 + ldr r3, [r0] + str r6, [sp] + movs r0, 0x8 + adds r2, r5, 0 + bl xxx_call_draw_string + b _0801ACC4 + .align 2, 0 +_0801AC00: .4byte gUnknown_203B460 +_0801AC04: .4byte 0x0001869f +_0801AC08: .4byte gUnknown_80DB9A0 +_0801AC0C: .4byte gUnknown_203B224 +_0801AC10: + add r0, sp, 0x4 + adds r1, r4, 0 + movs r2, 0 + bl sub_8090E14 + ldr r0, _0801AC44 + add r1, sp, 0x4 + movs r2, 0x50 + bl strncpy + ldr r4, _0801AC48 + ldr r0, [r4] + adds r0, 0x54 + adds r1, r7, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r2, _0801AC4C + ldr r0, [r4] + adds r0, 0x88 + ldr r3, [r0] + str r5, [sp] +_0801AC3C: + movs r0, 0x8 + bl sub_8014FF0 + b _0801ACC4 + .align 2, 0 +_0801AC44: .4byte gUnknown_202DE58 +_0801AC48: .4byte gUnknown_203B224 +_0801AC4C: .4byte gUnknown_80DB994 +_0801AC50: + add r2, sp, 0x78 + movs r6, 0 + str r6, [sp, 0x78] + strb r6, [r2, 0x4] + movs r0, 0x1 + strb r0, [r2, 0x8] + strb r0, [r4] + add r4, sp, 0xC8 + add r0, sp, 0x4 + adds r1, r4, 0 + bl sub_8090E14 + ldrb r0, [r4, 0x2] + bl sub_8091764 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + beq _0801AC9C +_0801AC76: + ldr r4, _0801AC98 + ldr r0, [r4] + adds r0, 0x54 + adds r1, r7, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r0, [r4] +_0801AC86: + adds r0, 0x88 + ldr r3, [r0] + str r6, [sp] +_0801AC8C: + movs r0, 0x8 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _0801ACC4 + .align 2, 0 +_0801AC98: .4byte gUnknown_203B224 +_0801AC9C: + ldr r0, _0801AD28 + add r1, sp, 0x4 + movs r2, 0x50 + bl strncpy + ldr r4, _0801AD2C + ldr r0, [r4] + adds r0, 0x54 + adds r1, r7, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r2, _0801AD30 + ldr r0, [r4] + adds r0, 0x88 + ldr r3, [r0] + str r5, [sp] + movs r0, 0x8 + bl sub_8014FF0 +_0801ACC4: + mov r0, r8 + bl sub_801AED0 + movs r1, 0x1 + ands r1, r0 + cmp r1, 0 + beq _0801ACFE + ldr r4, _0801AD2C + ldr r0, [r4] + adds r0, 0x54 + adds r1, r7, 0 + bl sub_8013800 + adds r2, r0, 0 + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x88 + ldr r0, [r0] + adds r1, 0x8C + ldr r1, [r1] + movs r4, 0xC + ldrsh r3, [r1, r4] + subs r3, 0x2 + lsls r3, 3 + movs r1, 0xA + str r1, [sp] + movs r1, 0x8 + bl sub_8007B7C +_0801ACFE: + adds r7, 0x1 + ldr r1, _0801AD2C + ldr r0, [r1] + adds r0, 0x6E + movs r2, 0 + ldrsh r0, [r0, r2] +_0801AD0A: + adds r2, r1, 0 + cmp r7, r0 + bge _0801AD12 + b _0801AA60 +_0801AD12: + ldr r0, [r2] + adds r0, 0x88 + ldr r0, [r0] + bl sub_80073E0 + add sp, 0xCC + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0801AD28: .4byte gUnknown_202DE58 +_0801AD2C: .4byte gUnknown_203B224 +_0801AD30: .4byte gUnknown_80DB994 + thumb_func_end sub_801A9E0 + + thumb_func_start sub_801AD34 +sub_801AD34: + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + bl sub_8008C54 + adds r0, r4, 0 + bl sub_80073B8 + ldr r2, _0801AD98 + movs r6, 0 + str r6, [sp] + movs r0, 0x6 + movs r1, 0 + adds r3, r4, 0 + bl xxx_call_draw_string + bl sub_8090A34 + adds r2, r0, 0 + movs r5, 0x7 + str r5, [sp] + str r4, [sp, 0x4] + movs r0, 0x12 + movs r1, 0xD + movs r3, 0x2 + bl sub_8012BC4 + ldr r2, _0801AD9C + str r6, [sp] + movs r0, 0x16 + movs r1, 0xD + adds r3, r4, 0 + bl xxx_call_draw_string + str r5, [sp] + str r4, [sp, 0x4] + movs r0, 0x2B + movs r1, 0xD + movs r2, 0x14 + movs r3, 0x2 + bl sub_8012BC4 + adds r0, r4, 0 + bl sub_80073E0 + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0801AD98: .4byte gUnknown_80DB9A8 +_0801AD9C: .4byte gUnknown_80DB9B0 + thumb_func_end sub_801AD34 + + thumb_func_start sub_801ADA0 +sub_801ADA0: + push {r4-r6,lr} + ldr r5, _0801ADEC + ldr r1, [r5] + lsls r0, 2 + adds r1, r0 + ldr r6, [r1] + lsls r4, r6, 8 + lsrs r0, r4, 24 + bl sub_8091524 + lsls r0, 24 + cmp r0, 0 + beq _0801AE12 + lsrs r0, r4, 24 + bl sub_8090A60 + lsls r0, 24 + cmp r0, 0 + beq _0801ADF4 + lsrs r0, r4, 24 + bl sub_801AE24 + ldr r2, [r5] + lsrs r1, r4, 24 + lsls r1, 1 + adds r2, 0x50 + adds r2, r1 + lsls r0, 16 + lsrs r0, 16 + ldrh r2, [r2] + adds r0, r2 + lsrs r1, r6, 8 + lsls r1, 24 + lsrs r1, 24 + adds r0, r1 + ldr r1, _0801ADF0 + b _0801AE0E + .align 2, 0 +_0801ADEC: .4byte gUnknown_203B460 +_0801ADF0: .4byte 0x000003e7 +_0801ADF4: + lsrs r0, r4, 24 + bl sub_801AE24 + ldr r2, [r5] + lsrs r1, r4, 24 + lsls r1, 1 + adds r2, 0x50 + adds r2, r1 + lsls r0, 16 + lsrs r0, 16 + ldrh r2, [r2] + adds r0, r2 + ldr r1, _0801AE18 +_0801AE0E: + cmp r0, r1 + ble _0801AE1C +_0801AE12: + movs r0, 0 + b _0801AE1E + .align 2, 0 +_0801AE18: .4byte 0x000003e6 +_0801AE1C: + movs r0, 0x1 +_0801AE1E: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_801ADA0 + + thumb_func_start sub_801AE24 +sub_801AE24: + push {r4-r7,lr} + adds r7, r0, 0 + movs r5, 0 + movs r6, 0 + b _0801AE74 +_0801AE2E: + ldr r0, _0801AE64 + ldr r0, [r0] + lsls r1, r6, 2 + adds r0, 0x4 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0 + beq _0801AE72 + ldr r0, _0801AE68 + ldr r0, [r0] + adds r0, r1 + ldr r4, [r0] + lsls r1, r4, 8 + lsrs r0, r1, 24 + cmp r0, r7 + bne _0801AE72 + bl sub_8090A60 + lsls r0, 24 + cmp r0, 0 + beq _0801AE6C + lsrs r0, r4, 8 + lsls r0, 24 + lsrs r0, 24 + adds r0, r5, r0 + b _0801AE6E + .align 2, 0 +_0801AE64: .4byte gUnknown_203B224 +_0801AE68: .4byte gUnknown_203B460 +_0801AE6C: + adds r0, r5, 0x1 +_0801AE6E: + lsls r0, 16 + lsrs r5, r0, 16 +_0801AE72: + adds r6, 0x1 +_0801AE74: + bl sub_8090A34 + cmp r6, r0 + blt _0801AE2E + adds r0, r5, 0 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_801AE24 + + thumb_func_start sub_801AE84 +sub_801AE84: + push {r4,lr} + movs r2, 0 + ldr r4, _0801AEA4 + movs r3, 0 +_0801AE8C: + ldr r0, [r4] + lsls r1, r2, 2 + adds r0, 0x4 + adds r0, r1 + str r3, [r0] + adds r2, 0x1 + cmp r2, 0x13 + ble _0801AE8C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801AEA4: .4byte gUnknown_203B224 + thumb_func_end sub_801AE84 + + thumb_func_start sub_801AEA8 +sub_801AEA8: + push {lr} + movs r3, 0 + ldr r0, _0801AECC + ldr r0, [r0] + adds r1, r0, 0x4 + movs r2, 0x13 +_0801AEB4: + ldr r0, [r1] + cmp r0, 0 + beq _0801AEBC + adds r3, 0x1 +_0801AEBC: + adds r1, 0x4 + subs r2, 0x1 + cmp r2, 0 + bge _0801AEB4 + adds r0, r3, 0 + pop {r1} + bx r1 + .align 2, 0 +_0801AECC: .4byte gUnknown_203B224 + thumb_func_end sub_801AEA8 + + thumb_func_start sub_801AED0 +sub_801AED0: + ldr r1, _0801AEE0 + ldr r1, [r1] + lsls r0, 2 + adds r1, 0x4 + adds r1, r0 + ldr r0, [r1] + bx lr + .align 2, 0 +_0801AEE0: .4byte gUnknown_203B224 + thumb_func_end sub_801AED0 + + thumb_func_start sub_801AEE4 +sub_801AEE4: + ldr r2, _0801AEF4 + ldr r2, [r2] + lsls r0, 2 + adds r2, 0x4 + adds r2, r0 + str r1, [r2] + bx lr + .align 2, 0 +_0801AEF4: .4byte gUnknown_203B224 + thumb_func_end sub_801AEE4 + + thumb_func_start sub_801AEF8 +sub_801AEF8: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + movs r0, 0 + mov r9, r0 + b _0801AF78 +_0801AF08: + movs r1, 0x1 + add r1, r9 + mov r8, r1 + mov r7, r8 + b _0801AF6E +_0801AF12: + ldr r2, _0801AF90 + ldr r0, [r2] + mov r1, r9 + lsls r6, r1, 2 + adds r0, r6 + ldrb r0, [r0, 0x2] + str r2, [sp] + bl GetItemOrder + adds r4, r0, 0 + ldr r2, [sp] + ldr r0, [r2] + lsls r5, r7, 2 + adds r0, r5 + ldrb r0, [r0, 0x2] + bl GetItemOrder + ldr r2, [sp] + cmp r4, r0 + bgt _0801AF4C + cmp r4, r0 + bne _0801AF6C + ldr r0, [r2] + adds r1, r0, r6 + adds r0, r5 + ldrb r1, [r1, 0x1] + ldrb r0, [r0, 0x1] + cmp r1, r0 + bcs _0801AF6C +_0801AF4C: + ldr r0, [r2] + adds r2, r0, r6 + ldr r3, [r2] + adds r0, r5 + ldr r1, [r0] + str r1, [r2] + str r3, [r0] + ldr r0, _0801AF94 + ldr r0, [r0] + adds r0, 0x4 + adds r2, r0, r6 + ldr r3, [r2] + adds r0, r5 + ldr r1, [r0] + str r1, [r2] + str r3, [r0] +_0801AF6C: + adds r7, 0x1 +_0801AF6E: + bl sub_8090A34 + cmp r7, r0 + blt _0801AF12 + mov r9, r8 +_0801AF78: + bl sub_8090A34 + subs r0, 0x1 + cmp r9, r0 + blt _0801AF08 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0801AF90: .4byte gUnknown_203B460 +_0801AF94: .4byte gUnknown_203B224 + thumb_func_end sub_801AEF8 + + thumb_func_start sub_801AF98 +sub_801AF98: + ldr r0, _0801AFA0 + ldr r0, [r0] + bx lr + .align 2, 0 +_0801AFA0: .4byte gUnknown_203B224 + thumb_func_end sub_801AF98 + + thumb_func_start sub_801AFA4 +sub_801AFA4: + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _0801AFEC + movs r0, 0xA4 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + str r4, [r0, 0x4] + ldr r1, _0801AFF0 + ldr r1, [r1] + lsls r4, 2 + adds r1, r4 + ldrb r1, [r1, 0x2] + strb r1, [r0, 0x8] + ldr r0, [r5] + ldrb r0, [r0, 0x8] + bl sub_80913CC + ldr r1, [r5] + strh r0, [r1, 0xA] + ldr r0, _0801AFF4 + ldrh r1, [r1, 0xA] + bl sub_8092C84 + movs r0, 0 + bl sub_8099690 + bl sub_801B2F4 + cmp r0, 0 + bne _0801AFF8 + movs r0, 0x3 + bl sub_801B064 + b _0801B004 + .align 2, 0 +_0801AFEC: .4byte gUnknown_203B22C +_0801AFF0: .4byte gUnknown_203B460 +_0801AFF4: .4byte gUnknown_202E1C8 +_0801AFF8: + ldr r1, [r5] + movs r0, 0x4 + str r0, [r1, 0x60] + movs r0, 0 + bl sub_801B064 +_0801B004: + movs r0, 0x1 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_801AFA4 + + thumb_func_start sub_801B00C +sub_801B00C: + push {lr} + ldr r0, _0801B024 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x1 + beq _0801B036 + cmp r0, 0x1 + bgt _0801B028 + cmp r0, 0 + beq _0801B030 + b _0801B03C + .align 2, 0 +_0801B024: .4byte gUnknown_203B22C +_0801B028: + cmp r0, 0x4 + bne _0801B03C + movs r0, 0x3 + b _0801B042 +_0801B030: + bl sub_801B200 + b _0801B040 +_0801B036: + bl sub_801B2AC + b _0801B040 +_0801B03C: + bl sub_801B2D8 +_0801B040: + movs r0, 0 +_0801B042: + pop {r1} + bx r1 + thumb_func_end sub_801B00C + + thumb_func_start sub_801B048 +sub_801B048: + push {r4,lr} + ldr r4, _0801B060 + ldr r0, [r4] + cmp r0, 0 + beq _0801B05A + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0801B05A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801B060: .4byte gUnknown_203B22C + thumb_func_end sub_801B048 + + thumb_func_start sub_801B064 +sub_801B064: + push {lr} + ldr r1, _0801B078 + ldr r1, [r1] + str r0, [r1] + bl nullsub_37 + bl sub_801B080 + pop {r0} + bx r0 + .align 2, 0 +_0801B078: .4byte gUnknown_203B22C + thumb_func_end sub_801B064 + + thumb_func_start nullsub_37 +nullsub_37: + bx lr + thumb_func_end nullsub_37 + + thumb_func_start sub_801B080 +sub_801B080: + push {r4,lr} + sub sp, 0x14 + ldr r1, _0801B09C + ldr r0, [r1] + ldr r0, [r0] + adds r4, r1, 0 + cmp r0, 0x4 + bhi _0801B168 + lsls r0, 2 + ldr r1, _0801B0A0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801B09C: .4byte gUnknown_203B22C +_0801B0A0: .4byte _0801B0A4 + .align 2, 0 +_0801B0A4: + .4byte _0801B0B8 + .4byte _0801B0E8 + .4byte _0801B0FC + .4byte _0801B15C + .4byte _0801B168 +_0801B0B8: + bl sub_801B178 + ldr r0, _0801B0E0 + ldr r1, _0801B0E4 + ldr r3, [r1] + ldr r2, [r3, 0x60] + adds r3, 0x64 + movs r4, 0 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + movs r1, 0x20 + str r1, [sp, 0x10] + movs r1, 0 + bl sub_8014248 + b _0801B168 + .align 2, 0 +_0801B0E0: .4byte gUnknown_80DB9BC +_0801B0E4: .4byte gUnknown_203B22C +_0801B0E8: + ldr r2, [r4] + adds r0, r2, 0 + adds r0, 0x58 + movs r3, 0 + ldrsh r1, [r0, r3] + adds r2, 0xC + movs r0, 0x2 + bl DisplayGulpinDialogueSprite + b _0801B168 +_0801B0FC: + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0xC + ldr r1, [r1, 0x5C] + adds r1, 0x2C + bl sub_8094060 + ldr r0, [r4] + ldrb r0, [r0, 0x8] + bl sub_80915A0 + lsls r0, 24 + cmp r0, 0 + bne _0801B138 + ldr r3, _0801B150 + ldr r1, [r3] + ldr r2, [r4] + ldr r0, [r2, 0x4] + lsls r0, 2 + adds r1, r0 + ldrb r0, [r2, 0x8] + subs r0, 0x7D + strb r0, [r1, 0x1] + ldr r1, [r3] + ldr r0, [r4] + ldr r0, [r0, 0x4] + lsls r0, 2 + adds r1, r0 + movs r0, 0x7C + strb r0, [r1, 0x2] +_0801B138: + movs r0, 0x9C + lsls r0, 1 + bl PlaySound + ldr r0, _0801B154 + ldr r3, _0801B158 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _0801B168 + .align 2, 0 +_0801B150: .4byte gUnknown_203B460 +_0801B154: .4byte gUnknown_80DB9E4 +_0801B158: .4byte 0x00000121 +_0801B15C: + ldr r0, _0801B170 + ldr r3, _0801B174 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_0801B168: + add sp, 0x14 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801B170: .4byte gUnknown_80DBA0C +_0801B174: .4byte 0x00000121 + thumb_func_end sub_801B080 + + thumb_func_start sub_801B178 +sub_801B178: + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r5, 0 + ldr r1, _0801B1F4 + ldr r0, [r1] + ldr r0, [r0, 0x4C] + cmp r5, r0 + bge _0801B1D2 + ldr r0, _0801B1F8 + mov r8, r0 + adds r7, r1, 0 + movs r6, 0 +_0801B192: + ldr r4, _0801B1FC + adds r4, r6, r4 + ldr r0, [r7] + lsls r1, r5, 1 + adds r0, 0x50 + adds r0, r1 + movs r2, 0 + ldrsh r1, [r0, r2] + movs r0, 0x58 + muls r0, r1 + mov r2, r8 + ldr r1, [r2] + adds r1, r0 + adds r0, r4, 0 + bl sub_808DA34 + ldr r2, [r7] + lsls r1, r5, 3 + adds r0, r2, 0 + adds r0, 0x64 + adds r0, r1 + str r4, [r0] + adds r0, r2, 0 + adds r0, 0x68 + adds r0, r1 + adds r1, r5, 0x4 + str r1, [r0] + adds r6, 0x50 + adds r5, 0x1 + ldr r0, [r2, 0x4C] + cmp r5, r0 + blt _0801B192 +_0801B1D2: + ldr r0, _0801B1F4 + ldr r2, [r0] + lsls r3, r5, 3 + adds r0, r2, 0 + adds r0, 0x64 + adds r0, r3 + movs r1, 0 + str r1, [r0] + adds r2, 0x68 + adds r2, r3 + movs r0, 0x1 + str r0, [r2] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0801B1F4: .4byte gUnknown_203B22C +_0801B1F8: .4byte gRecruitedPokemonRef +_0801B1FC: .4byte gAvailablePokemonNames + thumb_func_end sub_801B178 + + thumb_func_start sub_801B200 +sub_801B200: + push {r4-r6,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0801B2A4 + ldr r5, _0801B228 + ldr r3, [r5] + ldr r0, [sp] + str r0, [r3, 0x60] + ldr r1, [sp] + cmp r1, 0 + beq _0801B2A4 + cmp r1, 0x1 + bne _0801B22C + movs r0, 0x4 + bl sub_801B064 + b _0801B2A4 + .align 2, 0 +_0801B228: .4byte gUnknown_203B22C +_0801B22C: + subs r1, 0x4 + lsls r1, 1 + adds r0, r3, 0 + adds r0, 0x50 + adds r0, r1 + ldrh r0, [r0] + adds r1, r3, 0 + adds r1, 0x58 + strh r0, [r1] + ldr r2, _0801B26C + movs r0, 0 + ldrsh r1, [r1, r0] + movs r0, 0x58 + muls r0, r1 + ldr r1, [r2] + adds r1, r0 + str r1, [r3, 0x5C] + ldr r0, _0801B270 + bl sub_808DA34 + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0xC + ldr r1, [r1, 0x5C] + adds r1, 0x2C + bl sub_809401C + movs r4, 0 + adds r6, r5, 0 + movs r5, 0xC + b _0801B278 + .align 2, 0 +_0801B26C: .4byte gRecruitedPokemonRef +_0801B270: .4byte gUnknown_202E218 +_0801B274: + adds r5, 0x8 + adds r4, 0x1 +_0801B278: + cmp r4, 0x7 + bgt _0801B292 + ldr r3, [r6] + adds r2, r3, r5 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0801B274 + ldrh r1, [r3, 0xA] + adds r0, r2, 0 + bl sub_8092AD4 +_0801B292: + cmp r4, 0x3 + ble _0801B29E + movs r0, 0x1 + bl sub_801B064 + b _0801B2A4 +_0801B29E: + movs r0, 0x2 + bl sub_801B064 +_0801B2A4: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_801B200 + + thumb_func_start sub_801B2AC +sub_801B2AC: + push {lr} + bl sub_801E8C0 + cmp r0, 0x2 + beq _0801B2CA + cmp r0, 0x2 + bcc _0801B2D4 + cmp r0, 0x3 + bne _0801B2D4 + bl sub_801E93C + movs r0, 0x2 + bl sub_801B064 + b _0801B2D4 +_0801B2CA: + bl sub_801E93C + movs r0, 0 + bl sub_801B064 +_0801B2D4: + pop {r0} + bx r0 + thumb_func_end sub_801B2AC + + thumb_func_start sub_801B2D8 +sub_801B2D8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0801B2EC + movs r0, 0x4 + bl sub_801B064 +_0801B2EC: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_801B2D8 + + thumb_func_start sub_801B2F4 +sub_801B2F4: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x10 + mov r0, sp + bl sub_808D580 + adds r6, r0, 0 + ldr r2, _0801B36C + ldr r1, [r2] + movs r0, 0 + str r0, [r1, 0x4C] + movs r5, 0 + cmp r5, r6 + bge _0801B35A + ldr r0, _0801B370 + mov r8, r0 + adds r7, r2, 0 + mov r4, sp +_0801B31A: + ldr r1, [r4] + movs r0, 0x58 + muls r0, r1 + mov r2, r8 + ldr r1, [r2] + adds r1, r0 + ldr r0, [r7] + ldrh r0, [r0, 0xA] + movs r2, 0x8 + ldrsh r1, [r1, r2] + bl sub_808E190 + lsls r0, 24 + cmp r0, 0 + beq _0801B352 + ldr r2, [r7] + ldr r0, [r2, 0x4C] + lsls r0, 1 + adds r1, r2, 0 + adds r1, 0x50 + adds r1, r0 + ldr r0, [r4] + strh r0, [r1] + ldr r0, [r2, 0x4C] + cmp r0, 0x3 + bgt _0801B35A + adds r0, 0x1 + str r0, [r2, 0x4C] +_0801B352: + adds r4, 0x4 + adds r5, 0x1 + cmp r5, r6 + blt _0801B31A +_0801B35A: + ldr r0, _0801B36C + ldr r0, [r0] + ldr r0, [r0, 0x4C] + add sp, 0x10 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0801B36C: .4byte gUnknown_203B22C +_0801B370: .4byte gRecruitedPokemonRef + thumb_func_end sub_801B2F4 + + thumb_func_start sub_801B374 +sub_801B374: + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _0801B3A8 + ldr r4, [r1] + bl sub_80913CC + lsls r0, 16 + lsrs r6, r0, 16 + movs r5, 0 +_0801B388: + ldrh r0, [r4] + lsrs r0, 1 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0801B3AC + movs r0, 0x8 + ldrsh r1, [r4, r0] + adds r0, r6, 0 + bl sub_808E190 + lsls r0, 24 + cmp r0, 0 + beq _0801B3AC + movs r0, 0 + b _0801B3BA + .align 2, 0 +_0801B3A8: .4byte gRecruitedPokemonRef +_0801B3AC: + adds r5, 0x1 + adds r4, 0x58 + movs r0, 0xCE + lsls r0, 1 + cmp r5, r0 + ble _0801B388 + movs r0, 0x1 +_0801B3BA: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_801B374 + + thumb_func_start sub_801B3C0 +sub_801B3C0: + push {r4,r5,lr} + adds r5, r0, 0 + movs r0, 0x1 + bl ResetSprites + ldr r4, _0801B40C + movs r0, 0x94 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + ldr r1, [r5] + str r1, [r0, 0x4] + adds r0, 0x88 + bl sub_801317C + ldr r0, [r4] + movs r1, 0 + str r1, [r0, 0x24] + adds r0, 0x28 + bl sub_80140B4 + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x28 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0 + bl sub_801B46C + movs r0, 0x1 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0801B40C: .4byte gUnknown_203B230 + thumb_func_end sub_801B3C0 + + thumb_func_start sub_801B410 +sub_801B410: + push {lr} + ldr r0, _0801B428 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x1 + beq _0801B43C + cmp r0, 0x1 + bgt _0801B42C + cmp r0, 0 + beq _0801B436 + b _0801B446 + .align 2, 0 +_0801B428: .4byte gUnknown_203B230 +_0801B42C: + cmp r0, 0x2 + beq _0801B446 + cmp r0, 0x3 + beq _0801B442 + b _0801B446 +_0801B436: + bl sub_801B51C + b _0801B44A +_0801B43C: + bl sub_801B590 + b _0801B44A +_0801B442: + movs r0, 0x3 + b _0801B44C +_0801B446: + movs r0, 0x2 + b _0801B44C +_0801B44A: + movs r0, 0 +_0801B44C: + pop {r1} + bx r1 + thumb_func_end sub_801B410 + + thumb_func_start sub_801B450 +sub_801B450: + push {r4,lr} + ldr r4, _0801B468 + ldr r0, [r4] + cmp r0, 0 + beq _0801B462 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0801B462: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801B468: .4byte gUnknown_203B230 + thumb_func_end sub_801B450 + + thumb_func_start sub_801B46C +sub_801B46C: + push {lr} + ldr r1, _0801B47C + ldr r1, [r1] + str r0, [r1] + bl sub_801B480 + pop {r0} + bx r0 + .align 2, 0 +_0801B47C: .4byte gUnknown_203B230 + thumb_func_end sub_801B46C + + thumb_func_start sub_801B480 +sub_801B480: + push {r4,r5,lr} + sub sp, 0x4 + ldr r5, _0801B4B0 + ldr r0, [r5] + ldr r4, [r0] + cmp r4, 0x1 + beq _0801B4B4 + cmp r4, 0x1 + bgt _0801B50C + cmp r4, 0 + bne _0801B50C + ldr r0, [r0, 0x24] + bl sub_8008C54 + ldr r2, [r5] + adds r0, r2, 0x4 + ldr r1, [r2, 0x24] + adds r2, 0x10 + bl sub_80913E0 + ldr r1, [r5] + str r0, [r1, 0xC] + str r4, [r1, 0x20] + b _0801B50C + .align 2, 0 +_0801B4B0: .4byte gUnknown_203B230 +_0801B4B4: + ldr r0, [r0, 0x24] + bl sub_8008C54 + ldr r0, [r5] + ldr r0, [r0, 0x24] + bl sub_80073B8 + ldr r0, [r5] + ldr r1, [r0, 0x8] + lsls r1, 2 + adds r0, 0x10 + adds r0, r1 + ldr r1, [r0] + ldr r0, _0801B514 + ldr r1, [r1] + bl strcpy + ldr r2, _0801B518 + ldr r0, [r5] + ldr r3, [r0, 0x24] + movs r4, 0 + str r4, [sp] + movs r0, 0x10 + movs r1, 0 + bl sub_8014FF0 + ldr r3, [r5] + ldr r1, [r3, 0x8] + lsls r1, 2 + adds r0, r3, 0 + adds r0, 0x10 + adds r0, r1 + ldr r0, [r0] + ldr r2, [r0, 0x4] + ldr r3, [r3, 0x24] + str r4, [sp] + movs r0, 0x4 + movs r1, 0x10 + bl sub_8014FF0 + ldr r0, [r5] + ldr r0, [r0, 0x24] + bl sub_80073E0 +_0801B50C: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801B514: .4byte gAvailablePokemonNames +_0801B518: .4byte gUnknown_80DBA4C + thumb_func_end sub_801B480 + + thumb_func_start sub_801B51C +sub_801B51C: + push {r4,lr} + ldr r0, _0801B558 + ldr r2, [r0] + ldr r1, [r2, 0xC] + adds r4, r0, 0 + cmp r1, 0 + beq _0801B540 + ldr r0, [r2, 0x20] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0801B538 + bl sub_8013F84 +_0801B538: + ldr r1, [r4] + ldr r0, [r1, 0x20] + adds r0, 0x1 + str r0, [r1, 0x20] +_0801B540: + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x88 + ldr r1, [r1, 0x24] + bl sub_8012A64 + cmp r0, 0x1 + beq _0801B55C + cmp r0, 0x2 + beq _0801B57E + b _0801B58A + .align 2, 0 +_0801B558: .4byte gUnknown_203B230 +_0801B55C: + movs r0, 0 + bl PlayMenuSoundEffect + ldr r1, [r4] + ldr r0, [r1, 0xC] + cmp r0, 0 + beq _0801B576 + movs r0, 0 + str r0, [r1, 0x8] + movs r0, 0x1 + bl sub_801B46C + b _0801B58A +_0801B576: + movs r0, 0x3 + bl sub_801B46C + b _0801B58A +_0801B57E: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + bl sub_801B46C +_0801B58A: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_801B51C + + thumb_func_start sub_801B590 +sub_801B590: + push {r4,lr} + ldr r0, _0801B5D0 + ldr r3, [r0] + ldr r1, [r3, 0xC] + subs r1, 0x1 + ldr r2, [r3, 0x8] + adds r4, r0, 0 + cmp r2, r1 + bge _0801B5B8 + ldr r0, [r3, 0x20] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0801B5B0 + bl sub_8013F84 +_0801B5B0: + ldr r1, [r4] + ldr r0, [r1, 0x20] + adds r0, 0x1 + str r0, [r1, 0x20] +_0801B5B8: + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x88 + ldr r1, [r1, 0x24] + bl sub_8012A64 + cmp r0, 0x1 + beq _0801B5D4 + cmp r0, 0x2 + beq _0801B5F8 + b _0801B604 + .align 2, 0 +_0801B5D0: .4byte gUnknown_203B230 +_0801B5D4: + movs r0, 0 + bl PlayMenuSoundEffect + ldr r0, [r4] + ldr r1, [r0, 0x8] + adds r1, 0x1 + str r1, [r0, 0x8] + ldr r0, [r0, 0xC] + cmp r1, r0 + bge _0801B5F0 + movs r0, 0x1 + bl sub_801B46C + b _0801B604 +_0801B5F0: + movs r0, 0 + bl sub_801B46C + b _0801B604 +_0801B5F8: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + bl sub_801B46C +_0801B604: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_801B590 + + thumb_func_start sub_801B60C +sub_801B60C: + push {r4-r7,lr} + adds r5, r0, 0 + adds r4, r1, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r2, 24 + lsrs r7, r2, 24 + ldr r6, _0801B650 + movs r0, 0xAA + lsls r0, 1 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r6] + adds r2, r0, 0 + adds r2, 0xC8 + movs r1, 0 + str r1, [r2] + str r5, [r0] + strb r4, [r0, 0x12] + ldr r0, [r6] + ldrb r0, [r0, 0x12] + bl sub_8090A60 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + beq _0801B654 + ldr r0, [r6] + strb r7, [r0, 0x11] + ldr r0, [r6] + strb r7, [r0, 0xC] + b _0801B65E + .align 2, 0 +_0801B650: .4byte gUnknown_203B234 +_0801B654: + ldr r0, [r6] + strb r1, [r0, 0x11] + ldr r1, [r6] + movs r0, 0x1 + strb r0, [r1, 0xC] +_0801B65E: + ldr r5, _0801B6A0 + ldr r0, [r5] + movs r1, 0 + movs r2, 0x1 + strb r2, [r0, 0x10] + ldr r0, [r5] + str r1, [r0, 0x14] + strb r1, [r0, 0x18] + ldr r0, [r5] + strb r2, [r0, 0x1C] + ldr r4, _0801B6A4 + bl sub_808D33C + adds r1, r0, 0 + adds r0, r4, 0 + movs r2, 0x6 + bl sub_808D9AC + ldr r0, _0801B6A8 + ldr r2, [r5] + adds r1, r2, 0 + adds r1, 0x10 + adds r2, 0x14 + bl sub_8090E14 + movs r0, 0 + bl sub_801B748 + movs r0, 0x1 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0801B6A0: .4byte gUnknown_203B234 +_0801B6A4: .4byte gAvailablePokemonNames +_0801B6A8: .4byte gUnknown_202DE58 + thumb_func_end sub_801B60C + + thumb_func_start sub_801B6AC +sub_801B6AC: + push {lr} + ldr r0, _0801B6C4 + ldr r0, [r0] + ldr r0, [r0, 0x4] + subs r0, 0x6 + cmp r0, 0xA + bhi _0801B720 + lsls r0, 2 + ldr r1, _0801B6C8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801B6C4: .4byte gUnknown_203B234 +_0801B6C8: .4byte _0801B6CC + .align 2, 0 +_0801B6CC: + .4byte _0801B6FC + .4byte _0801B702 + .4byte _0801B708 + .4byte _0801B708 + .4byte _0801B70E + .4byte _0801B714 + .4byte _0801B71A + .4byte _0801B720 + .4byte _0801B720 + .4byte _0801B720 + .4byte _0801B6F8 +_0801B6F8: + movs r0, 0x3 + b _0801B726 +_0801B6FC: + bl sub_801BC64 + b _0801B724 +_0801B702: + bl sub_801BC94 + b _0801B724 +_0801B708: + bl sub_801BCCC + b _0801B724 +_0801B70E: + bl sub_801BD80 + b _0801B724 +_0801B714: + bl sub_801BEAC + b _0801B724 +_0801B71A: + bl sub_801BE30 + b _0801B724 +_0801B720: + bl sub_801BEC8 +_0801B724: + movs r0, 0 +_0801B726: + pop {r1} + bx r1 + thumb_func_end sub_801B6AC + + thumb_func_start sub_801B72C +sub_801B72C: + push {r4,lr} + ldr r4, _0801B744 + ldr r0, [r4] + cmp r0, 0 + beq _0801B73E + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0801B73E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801B744: .4byte gUnknown_203B234 + thumb_func_end sub_801B72C + + thumb_func_start sub_801B748 +sub_801B748: + push {lr} + ldr r1, _0801B75C + ldr r1, [r1] + str r0, [r1, 0x4] + bl sub_801B760 + bl sub_801B874 + pop {r0} + bx r0 + .align 2, 0 +_0801B75C: .4byte gUnknown_203B234 + thumb_func_end sub_801B748 + + thumb_func_start sub_801B760 +sub_801B760: + push {r4-r7,lr} + ldr r0, _0801B77C + ldr r1, [r0] + ldr r1, [r1, 0x4] + subs r1, 0x1 + adds r4, r0, 0 + cmp r1, 0xE + bls _0801B772 + b _0801B86A +_0801B772: + lsls r0, r1, 2 + ldr r1, _0801B780 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801B77C: .4byte gUnknown_203B234 +_0801B780: .4byte _0801B784 + .align 2, 0 +_0801B784: + .4byte _0801B7C0 + .4byte _0801B86A + .4byte _0801B86A + .4byte _0801B86A + .4byte _0801B86A + .4byte _0801B7C0 + .4byte _0801B7C0 + .4byte _0801B7C0 + .4byte _0801B7C0 + .4byte _0801B800 + .4byte _0801B7C0 + .4byte _0801B840 + .4byte _0801B7C0 + .4byte _0801B7C0 + .4byte _0801B7C0 +_0801B7C0: + ldr r4, _0801B7F8 + ldr r0, [r4] + adds r0, 0xF4 + bl sub_8006518 + mov r12, r4 + ldr r4, _0801B7FC + movs r3, 0 + movs r2, 0x3 +_0801B7D2: + mov r0, r12 + ldr r1, [r0] + adds r1, r3 + adds r1, 0xF4 + adds r0, r4, 0 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + adds r3, 0x18 + subs r2, 0x1 + cmp r2, 0 + bge _0801B7D2 + bl ResetUnusedInputStruct + ldr r0, _0801B7F8 + ldr r0, [r0] + b _0801B82E + .align 2, 0 +_0801B7F8: .4byte gUnknown_203B234 +_0801B7FC: .4byte gUnknown_80DBA58 +_0801B800: + ldr r0, [r4] + adds r0, 0xF4 + bl sub_8006518 + bl sub_801BB5C + ldr r2, [r4] + movs r0, 0x92 + lsls r0, 1 + adds r2, r0 + ldr r1, _0801B83C + ldm r1!, {r3,r5,r6} + stm r2!, {r3,r5,r6} + ldm r1!, {r3,r5,r7} + stm r2!, {r3,r5,r7} + ldr r1, [r4] + adds r0, r1, r0 + adds r1, 0xCC + bl sub_8012CAC + bl ResetUnusedInputStruct + ldr r0, [r4] +_0801B82E: + adds r0, 0xF4 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + b _0801B86A + .align 2, 0 +_0801B83C: .4byte gUnknown_80DBA70 +_0801B840: + ldr r0, [r4] + adds r0, 0xF4 + bl sub_8006518 + ldr r1, [r4] + movs r6, 0x86 + lsls r6, 1 + adds r1, r6 + ldr r0, _0801B870 + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0xF4 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C +_0801B86A: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0801B870: .4byte gUnknown_80DBA88 + thumb_func_end sub_801B760 + + thumb_func_start sub_801B874 +sub_801B874: + push {r4,lr} + sub sp, 0x14 + ldr r1, _0801B890 + ldr r0, [r1] + ldr r0, [r0, 0x4] + adds r4, r1, 0 + cmp r0, 0x10 + bls _0801B886 + b _0801BB0E +_0801B886: + lsls r0, 2 + ldr r1, _0801B894 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801B890: .4byte gUnknown_203B234 +_0801B894: .4byte _0801B898 + .align 2, 0 +_0801B898: + .4byte _0801B8DC + .4byte _0801B9BC + .4byte _0801B9D8 + .4byte _0801B9E0 + .4byte _0801B9F0 + .4byte _0801B9F8 + .4byte _0801BA08 + .4byte _0801BA34 + .4byte _0801BA60 + .4byte _0801BA6E + .4byte _0801BA76 + .4byte _0801BA94 + .4byte _0801BA9E + .4byte _0801BAD0 + .4byte _0801BAE0 + .4byte _0801BAFC + .4byte _0801BB0E +_0801B8DC: + ldr r1, [r4] + ldrb r0, [r1, 0x12] + cmp r0, 0xEA + bne _0801B8FE + movs r0, 0x10 + str r0, [r1, 0x8] + movs r0, 0 + movs r1, 0x47 + movs r2, 0x1 + bl sub_8001784 + cmp r0, 0 + bne _0801B914 + movs r0, 0 + movs r1, 0x47 + movs r2, 0x1 + b _0801B92A +_0801B8FE: + cmp r0, 0xEB + bne _0801B938 + movs r0, 0x10 + str r0, [r1, 0x8] + movs r0, 0 + movs r1, 0x47 + movs r2, 0 + bl sub_8001784 + cmp r0, 0 + beq _0801B924 +_0801B914: + movs r0, 0xFA + lsls r0, 2 + bl sub_80913A0 + movs r0, 0x4 + bl sub_801B748 + b _0801BB0E +_0801B924: + movs r0, 0 + movs r1, 0x47 + movs r2, 0 +_0801B92A: + movs r3, 0x1 + bl sub_800199C + movs r0, 0x3 + bl sub_801B748 + b _0801BB0E +_0801B938: + bl sub_8090A34 + cmp r0, 0x13 + ble _0801B986 + ldr r0, [r4] + ldrb r0, [r0, 0x12] + bl sub_8091524 + lsls r0, 24 + cmp r0, 0 + beq _0801B968 + ldr r0, _0801B970 + ldr r1, [r0] + ldr r2, [r4] + ldrb r0, [r2, 0x12] + lsls r0, 1 + adds r1, 0x50 + adds r3, r1, r0 + ldrh r1, [r3] + ldrb r0, [r2, 0xC] + adds r1, r0 + ldr r0, _0801B974 + cmp r1, r0 + ble _0801B978 +_0801B968: + ldr r1, [r4] + movs r0, 0x6 + b _0801B99C + .align 2, 0 +_0801B970: .4byte gUnknown_203B460 +_0801B974: .4byte 0x000003e7 +_0801B978: + strh r1, [r3] + movs r0, 0xCB + bl PlaySound + ldr r1, [r4] + movs r0, 0x5 + b _0801B99C +_0801B986: + ldr r0, [r4] + adds r0, 0x10 + bl sub_8091290 + bl sub_80910B4 + movs r0, 0xCB + bl PlaySound + ldr r1, [r4] + movs r0, 0x10 +_0801B99C: + str r0, [r1, 0x8] + ldr r0, _0801B9B0 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x1 + bne _0801B9B4 + movs r0, 0x2 + bl sub_801B748 + b _0801BB0E + .align 2, 0 +_0801B9B0: .4byte gUnknown_203B234 +_0801B9B4: + movs r0, 0x1 + bl sub_801B748 + b _0801BB0E +_0801B9BC: + movs r0, 0 + bl sub_808D544 + cmp r0, 0x1 + bgt _0801B9D0 + ldr r0, _0801B9CC + b _0801BAE8 + .align 2, 0 +_0801B9CC: .4byte gUnknown_80DBAA0 +_0801B9D0: + ldr r0, _0801B9D4 + b _0801BAE8 + .align 2, 0 +_0801B9D4: .4byte gUnknown_80DBAD0 +_0801B9D8: + ldr r0, _0801B9DC + b _0801BAE8 + .align 2, 0 +_0801B9DC: .4byte gUnknown_80DBB08 +_0801B9E0: + movs r0, 0xD4 + bl PlaySound + ldr r0, _0801B9EC + b _0801BAE8 + .align 2, 0 +_0801B9EC: .4byte gUnknown_80DBB38 +_0801B9F0: + ldr r0, _0801B9F4 + b _0801BAE8 + .align 2, 0 +_0801B9F4: .4byte gUnknown_80DBB9C +_0801B9F8: + ldr r1, [r4] + movs r0, 0x10 + str r0, [r1, 0x8] + ldr r0, _0801BA04 + b _0801BAE8 + .align 2, 0 +_0801BA04: .4byte gUnknown_80DBC28 +_0801BA08: + bl sub_801BB20 + ldr r0, _0801BA2C + ldr r1, _0801BA30 + ldr r3, [r1] + adds r3, 0xCC + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + str r2, [sp, 0x10] + movs r1, 0 + movs r2, 0x4 + bl sub_8014248 + b _0801BB0E + .align 2, 0 +_0801BA2C: .4byte gUnknown_80DBC60 +_0801BA30: .4byte gUnknown_203B234 +_0801BA34: + bl sub_801BC24 + ldr r0, _0801BA58 + ldr r1, _0801BA5C + ldr r3, [r1] + adds r3, 0xCC + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + str r2, [sp, 0x10] + movs r1, 0 + movs r2, 0x3 + bl sub_8014248 + b _0801BB0E + .align 2, 0 +_0801BA58: .4byte gUnknown_80DBC98 +_0801BA5C: .4byte gUnknown_203B234 +_0801BA60: + movs r0, 0x1 + movs r1, 0x3 + movs r2, 0 + movs r3, 0xA + bl sub_801A5D8 + b _0801BB0E +_0801BA6E: + movs r0, 0x1 + bl sub_801A8D0 + b _0801BB0E +_0801BA76: + bl sub_801A9E0 + ldr r0, _0801BA90 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x28 + adds r1, r2, 0 + adds r1, 0xCC + adds r2, 0xC8 + ldr r2, [r2] + str r2, [sp] + movs r2, 0x2 + b _0801BAC0 + .align 2, 0 +_0801BA90: .4byte gUnknown_203B234 +_0801BA94: + ldr r0, [r4] + adds r0, 0x20 + bl sub_801B3C0 + b _0801BB0E +_0801BA9E: + bl sub_801A9E0 + ldr r4, _0801BACC + ldr r0, [r4] + adds r0, 0x28 + movs r1, 0 + bl sub_8012EA4 + bl sub_801BC24 + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x78 + adds r1, 0xCC + movs r2, 0x3 + str r2, [sp] + movs r2, 0x1 +_0801BAC0: + str r2, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _0801BB0E + .align 2, 0 +_0801BACC: .4byte gUnknown_203B234 +_0801BAD0: + ldr r1, [r4] + movs r0, 0x10 + str r0, [r1, 0x8] + ldr r0, _0801BADC + b _0801BAE8 + .align 2, 0 +_0801BADC: .4byte gUnknown_80DBCC4 +_0801BAE0: + ldr r1, [r4] + movs r0, 0x10 + str r0, [r1, 0x8] + ldr r0, _0801BAF4 +_0801BAE8: + ldr r3, _0801BAF8 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _0801BB0E + .align 2, 0 +_0801BAF4: .4byte gUnknown_80DBCE8 +_0801BAF8: .4byte 0x00000101 +_0801BAFC: + ldr r1, [r4] + movs r0, 0x10 + str r0, [r1, 0x8] + ldr r0, _0801BB18 + ldr r3, _0801BB1C + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_0801BB0E: + add sp, 0x14 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801BB18: .4byte gUnknown_80DBD24 +_0801BB1C: .4byte 0x00000101 + thumb_func_end sub_801B874 + + thumb_func_start sub_801BB20 +sub_801BB20: + ldr r0, _0801BB50 + ldr r3, [r0] + movs r2, 0 + adds r1, r3, 0 + adds r1, 0xCC + ldr r0, _0801BB54 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x4 + str r0, [r1] + adds r1, 0x4 + ldr r0, _0801BB58 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x5 + str r0, [r1] + adds r0, r3, 0 + adds r0, 0xDC + str r2, [r0] + adds r1, 0x8 + movs r0, 0x1 + negs r0, r0 + str r0, [r1] + bx lr + .align 2, 0 +_0801BB50: .4byte gUnknown_203B234 +_0801BB54: .4byte gKangaskhanTrashToolboxItem +_0801BB58: .4byte gKangaskhanTrashReceivedItem + thumb_func_end sub_801BB20 + + thumb_func_start sub_801BB5C +sub_801BB5C: + push {r4-r7,lr} + ldr r4, _0801BBEC + ldr r2, [r4] + adds r1, r2, 0 + adds r1, 0xCC + ldr r0, _0801BBF0 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x6 + str r0, [r1] + ldr r0, [r2, 0x24] + bl sub_801ADA0 + lsls r0, 24 + cmp r0, 0 + bne _0801BB86 + ldr r0, [r4] + adds r0, 0xD0 + movs r1, 0x1 + negs r1, r1 + str r1, [r0] +_0801BB86: + ldr r0, [r4] + mov r12, r0 + movs r3, 0x1 + movs r2, 0x8 + mov r1, r12 + adds r1, 0xD4 + ldr r0, _0801BBF4 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x7 + str r0, [r1] + adds r1, 0x4 + ldr r0, _0801BBF8 + ldr r0, [r0] + str r0, [r1] + mov r0, r12 + adds r0, 0xE0 + str r2, [r0] + movs r5, 0x3 + adds r1, 0x8 + movs r0, 0 + str r0, [r1] + mov r0, r12 + adds r0, 0xE8 + str r3, [r0] + movs r3, 0 + adds r6, r4, 0 + movs r7, 0x1 + negs r7, r7 + mov r4, r12 + adds r4, 0xC8 + subs r1, 0x14 +_0801BBC6: + ldr r2, [r1] + cmp r2, r7 + beq _0801BBD2 + ldr r0, [r4] + cmp r2, r0 + beq _0801BC1C +_0801BBD2: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, r5 + blt _0801BBC6 + movs r3, 0 + cmp r3, r5 + bge _0801BC1C + ldr r2, [r6] + adds r0, r2, 0 + adds r0, 0xD0 + ldr r1, [r0] + b _0801BC0E + .align 2, 0 +_0801BBEC: .4byte gUnknown_203B234 +_0801BBF0: .4byte gKangaskhanStorage +_0801BBF4: .4byte gKangaskhanTrash +_0801BBF8: .4byte gUnknown_80D4970 +_0801BBFC: + adds r3, 0x1 + cmp r3, r5 + bge _0801BC1C + ldr r2, [r6] + lsls r0, r3, 3 + adds r1, r2, 0 + adds r1, 0xD0 + adds r1, r0 + ldr r1, [r1] +_0801BC0E: + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + beq _0801BBFC + adds r0, r2, 0 + adds r0, 0xC8 + str r1, [r0] +_0801BC1C: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_801BB5C + + thumb_func_start sub_801BC24 +sub_801BC24: + ldr r0, _0801BC58 + ldr r0, [r0] + mov r12, r0 + movs r3, 0 + mov r1, r12 + adds r1, 0xCC + ldr r0, _0801BC5C + ldr r0, [r0] + str r0, [r1] + adds r1, 0x4 + movs r0, 0x2 + str r0, [r1] + movs r2, 0x1 + adds r1, 0x4 + ldr r0, _0801BC60 + ldr r0, [r0] + str r0, [r1] + adds r1, 0x4 + movs r0, 0x3 + str r0, [r1] + mov r0, r12 + adds r0, 0xDC + str r3, [r0] + adds r0, 0x4 + str r2, [r0] + bx lr + .align 2, 0 +_0801BC58: .4byte gUnknown_203B234 +_0801BC5C: .4byte gUnknown_80D4920 +_0801BC60: .4byte gUnknown_80D4928 + thumb_func_end sub_801BC24 + + thumb_func_start sub_801BC64 +sub_801BC64: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0801BC8C + ldr r0, [sp] + cmp r0, 0x4 + beq _0801BC7E + cmp r0, 0x5 + beq _0801BC86 + b _0801BC8C +_0801BC7E: + movs r0, 0x8 + bl sub_801B748 + b _0801BC8C +_0801BC86: + movs r0, 0x7 + bl sub_801B748 +_0801BC8C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_801BC64 + + thumb_func_start sub_801BC94 +sub_801BC94: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0801BCC6 + ldr r0, [sp] + cmp r0, 0x2 + beq _0801BCB8 + cmp r0, 0x2 + bgt _0801BCB2 + cmp r0, 0x1 + beq _0801BCC0 + b _0801BCC6 +_0801BCB2: + cmp r0, 0x3 + beq _0801BCC0 + b _0801BCC6 +_0801BCB8: + movs r0, 0xD + bl sub_801B748 + b _0801BCC6 +_0801BCC0: + movs r0, 0x6 + bl sub_801B748 +_0801BCC6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_801BC94 + + thumb_func_start sub_801BCCC +sub_801BCCC: + push {lr} + movs r0, 0x1 + bl sub_801A6E8 + cmp r0, 0x4 + bhi _0801BD7A + lsls r0, 2 + ldr r1, _0801BCE4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801BCE4: .4byte _0801BCE8 + .align 2, 0 +_0801BCE8: + .4byte _0801BD7A + .4byte _0801BD7A + .4byte _0801BD70 + .4byte _0801BCFC + .4byte _0801BD34 +_0801BCFC: + bl sub_801A8AC + ldr r1, _0801BD28 + ldr r2, [r1] + str r0, [r2, 0x24] + ldr r1, _0801BD2C + ldr r1, [r1] + lsls r0, 2 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x20] + ldr r0, _0801BD30 + adds r1, r2, 0 + adds r1, 0x20 + adds r2, 0x14 + bl sub_8090E14 + movs r0, 0xA + bl sub_801B748 + b _0801BD7A + .align 2, 0 +_0801BD28: .4byte gUnknown_203B234 +_0801BD2C: .4byte gUnknown_203B460 +_0801BD30: .4byte gUnknown_202DEA8 +_0801BD34: + bl sub_801A8AC + ldr r1, _0801BD64 + ldr r2, [r1] + str r0, [r2, 0x24] + ldr r1, _0801BD68 + ldr r1, [r1] + lsls r0, 2 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x20] + ldr r0, _0801BD6C + adds r1, r2, 0 + adds r1, 0x20 + adds r2, 0x14 + bl sub_8090E14 + movs r0, 0 + bl sub_8099690 + movs r0, 0xB + bl sub_801B748 + b _0801BD7A + .align 2, 0 +_0801BD64: .4byte gUnknown_203B234 +_0801BD68: .4byte gUnknown_203B460 +_0801BD6C: .4byte gUnknown_202DEA8 +_0801BD70: + bl sub_801A928 + movs r0, 0x6 + bl sub_801B748 +_0801BD7A: + pop {r0} + bx r0 + thumb_func_end sub_801BCCC + + thumb_func_start sub_801BD80 +sub_801BD80: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_801A6E8 + ldr r4, _0801BDC4 + ldr r0, [r4] + adds r0, 0x28 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0801BDB2 + ldr r0, [r4] + adds r0, 0x28 + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _0801BDB2 + ldr r0, [r4] + adds r0, 0xC8 + str r1, [r0] +_0801BDB2: + ldr r0, [sp] + cmp r0, 0x6 + beq _0801BDD2 + cmp r0, 0x6 + bgt _0801BDC8 + cmp r0, 0x1 + beq _0801BE22 + b _0801BE28 + .align 2, 0 +_0801BDC4: .4byte gUnknown_203B234 +_0801BDC8: + cmp r0, 0x7 + beq _0801BE0C + cmp r0, 0x8 + beq _0801BE14 + b _0801BE28 +_0801BDD2: + ldr r4, _0801BE08 + ldr r0, [r4] + adds r0, 0x20 + bl sub_80917B8 + ldr r0, [r4] + ldr r0, [r0, 0x24] + bl sub_80911F8 + ldr r0, [r4] + adds r0, 0x10 + bl sub_8091290 + bl sub_80910B4 + movs r0, 0xCB + bl PlaySound + movs r0, 0 + bl sub_8099690 + bl sub_801A928 + movs r0, 0xE + bl sub_801B748 + b _0801BE28 + .align 2, 0 +_0801BE08: .4byte gUnknown_203B234 +_0801BE0C: + movs r0, 0xC + bl sub_801B748 + b _0801BE28 +_0801BE14: + movs r0, 0 + bl sub_8099690 + movs r0, 0xB + bl sub_801B748 + b _0801BE28 +_0801BE22: + movs r0, 0x9 + bl sub_801B748 +_0801BE28: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_801BD80 + + thumb_func_start sub_801BE30 +sub_801BE30: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_801A6E8 + ldr r4, _0801BE70 + ldr r0, [r4] + adds r0, 0x28 + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0x78 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0801BE5E + ldr r0, [r4] + adds r0, 0x78 + mov r1, sp + bl sub_8013114 +_0801BE5E: + ldr r0, [sp] + cmp r0, 0x2 + beq _0801BE80 + cmp r0, 0x2 + bgt _0801BE74 + cmp r0, 0x1 + beq _0801BE78 + b _0801BEA4 + .align 2, 0 +_0801BE70: .4byte gUnknown_203B234 +_0801BE74: + cmp r0, 0x3 + bne _0801BEA4 +_0801BE78: + movs r0, 0x9 + bl sub_801B748 + b _0801BEA4 +_0801BE80: + ldr r0, [r4] + ldr r0, [r0, 0x24] + bl sub_80911F8 + ldr r0, [r4] + adds r0, 0x10 + bl sub_8091290 + bl sub_80910B4 + movs r0, 0xCB + bl PlaySound + bl sub_801A928 + movs r0, 0xF + bl sub_801B748 +_0801BEA4: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_801BE30 + + thumb_func_start sub_801BEAC +sub_801BEAC: + push {lr} + bl sub_801B410 + cmp r0, 0x1 + bls _0801BEC4 + cmp r0, 0x3 + bhi _0801BEC4 + bl sub_801B450 + movs r0, 0x9 + bl sub_801B748 +_0801BEC4: + pop {r0} + bx r0 + thumb_func_end sub_801BEAC + + thumb_func_start sub_801BEC8 +sub_801BEC8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0801BEE0 + ldr r0, _0801BEE8 + ldr r0, [r0] + ldr r0, [r0, 0x8] + bl sub_801B748 +_0801BEE0: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0801BEE8: .4byte gUnknown_203B234 + thumb_func_end sub_801BEC8 + + thumb_func_start sub_801BEEC +sub_801BEEC: + push {r4-r6,lr} + lsls r0, 16 + asrs r5, r0, 16 + adds r0, r5, 0 + bl sub_801C5F0 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0 + bne _0801BF40 + ldr r4, _0801BF38 + movs r0, 0x92 + lsls r0, 1 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + str r6, [r0, 0x30] + strh r5, [r0, 0x4] + ldr r3, _0801BF3C + movs r1, 0x58 + adds r2, r5, 0 + muls r2, r1 + ldr r1, [r3] + adds r1, r2 + str r1, [r0, 0x8] + adds r0, 0xC + movs r2, 0x14 + ldrsh r1, [r1, r2] + bl sub_808EBA8 + ldr r1, [r4] + str r0, [r1, 0x2C] + movs r0, 0 + bl sub_801BFB4 + movs r0, 0x1 + b _0801BF42 + .align 2, 0 +_0801BF38: .4byte gUnknown_203B238 +_0801BF3C: .4byte gRecruitedPokemonRef +_0801BF40: + movs r0, 0 +_0801BF42: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_801BEEC + + thumb_func_start sub_801BF48 +sub_801BF48: + push {lr} + ldr r0, _0801BF60 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x4 + bhi _0801BF90 + lsls r0, 2 + ldr r1, _0801BF64 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801BF60: .4byte gUnknown_203B238 +_0801BF64: .4byte _0801BF68 + .align 2, 0 +_0801BF68: + .4byte _0801BF80 + .4byte _0801BF80 + .4byte _0801BF86 + .4byte _0801BF8C + .4byte _0801BF7C +_0801BF7C: + movs r0, 0x3 + b _0801BF92 +_0801BF80: + bl sub_801C118 + b _0801BF90 +_0801BF86: + bl sub_801C1A0 + b _0801BF90 +_0801BF8C: + bl sub_801C228 +_0801BF90: + movs r0, 0 +_0801BF92: + pop {r1} + bx r1 + thumb_func_end sub_801BF48 + + thumb_func_start sub_801BF98 +sub_801BF98: + push {r4,lr} + ldr r4, _0801BFB0 + ldr r0, [r4] + cmp r0, 0 + beq _0801BFAA + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0801BFAA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801BFB0: .4byte gUnknown_203B238 + thumb_func_end sub_801BF98 + + thumb_func_start sub_801BFB4 +sub_801BFB4: + push {lr} + ldr r1, _0801BFC8 + ldr r1, [r1] + str r0, [r1] + bl sub_801BFCC + bl sub_801C03C + pop {r0} + bx r0 + .align 2, 0 +_0801BFC8: .4byte gUnknown_203B238 + thumb_func_end sub_801BFB4 + + thumb_func_start sub_801BFCC +sub_801BFCC: + push {r4-r7,lr} + ldr r4, _0801BFF0 + ldr r0, [r4] + adds r0, 0xC4 + bl sub_8006518 + ldr r1, [r4] + ldr r0, [r1] + cmp r0, 0x2 + bne _0801BFF8 + adds r1, 0xF4 + ldr r0, _0801BFF4 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + b _0801C01A + .align 2, 0 +_0801BFF0: .4byte gUnknown_203B238 +_0801BFF4: .4byte gUnknown_80DBDB0 +_0801BFF8: + mov r12, r4 + ldr r4, _0801C034 + movs r3, 0 + movs r2, 0x3 +_0801C000: + mov r0, r12 + ldr r1, [r0] + adds r1, r3 + adds r1, 0xC4 + adds r0, r4, 0 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + adds r3, 0x18 + subs r2, 0x1 + cmp r2, 0 + bge _0801C000 +_0801C01A: + bl ResetUnusedInputStruct + ldr r0, _0801C038 + ldr r0, [r0] + adds r0, 0xC4 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0801C034: .4byte gUnknown_80DBD98 +_0801C038: .4byte gUnknown_203B238 + thumb_func_end sub_801BFCC + + thumb_func_start sub_801C03C +sub_801C03C: + push {lr} + sub sp, 0x8 + ldr r1, _0801C058 + ldr r0, [r1] + ldr r0, [r0] + adds r2, r1, 0 + cmp r0, 0x4 + bhi _0801C0C2 + lsls r0, 2 + ldr r1, _0801C05C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801C058: .4byte gUnknown_203B238 +_0801C05C: .4byte _0801C060 + .align 2, 0 +_0801C060: + .4byte _0801C074 + .4byte _0801C084 + .4byte _0801C08C + .4byte _0801C0B8 + .4byte _0801C0C2 +_0801C074: + ldr r0, [r2] + movs r1, 0x4 + ldrsh r0, [r0, r1] + movs r1, 0 + movs r2, 0x8 + bl sub_801C244 + b _0801C0C2 +_0801C084: + movs r0, 0x1 + bl sub_801C3B0 + b _0801C0C2 +_0801C08C: + bl sub_801C4C8 + bl sub_801C0C8 + ldr r0, _0801C0B4 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x74 + adds r1, r2, 0 + adds r1, 0x34 + ldr r2, [r2, 0x30] + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _0801C0C2 + .align 2, 0 +_0801C0B4: .4byte gUnknown_203B238 +_0801C0B8: + ldr r0, [r2] + adds r0, 0x28 + ldrb r0, [r0] + bl sub_801C620 +_0801C0C2: + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_801C03C + + thumb_func_start sub_801C0C8 +sub_801C0C8: + push {r4,r5,lr} + ldr r3, _0801C10C + ldr r1, [r3] + movs r4, 0 + ldr r0, _0801C110 + str r0, [r1, 0x34] + movs r0, 0x2 + str r0, [r1, 0x38] + movs r2, 0x1 + ldr r0, _0801C114 + ldr r0, [r0] + str r0, [r1, 0x3C] + movs r0, 0x3 + str r0, [r1, 0x40] + movs r5, 0x2 + str r4, [r1, 0x44] + str r2, [r1, 0x48] + movs r2, 0 + ldr r4, [r1, 0x30] + adds r1, 0x38 +_0801C0F0: + ldr r0, [r1] + cmp r0, r4 + beq _0801C104 + adds r1, 0x8 + adds r2, 0x1 + cmp r2, r5 + blt _0801C0F0 + ldr r1, [r3] + movs r0, 0x2 + str r0, [r1, 0x30] +_0801C104: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801C10C: .4byte gUnknown_203B238 +_0801C110: .4byte gUnknown_80DBDC8 +_0801C114: .4byte gUnknown_80D4970 + thumb_func_end sub_801C0C8 + + thumb_func_start sub_801C118 +sub_801C118: + push {lr} + movs r0, 0x1 + bl sub_801C308 + cmp r0, 0x4 + bhi _0801C19A + lsls r0, 2 + ldr r1, _0801C130 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801C130: .4byte _0801C134 + .align 2, 0 +_0801C134: + .4byte _0801C19A + .4byte _0801C19A + .4byte _0801C190 + .4byte _0801C148 + .4byte _0801C16C +_0801C148: + bl sub_801C390 + ldr r1, _0801C168 + ldr r2, [r1] + str r0, [r2, 0x24] + adds r1, r2, 0 + adds r1, 0xC + adds r1, r0 + ldrb r0, [r1] + adds r2, 0x28 + strb r0, [r2] + movs r0, 0x2 + bl sub_801BFB4 + b _0801C19A + .align 2, 0 +_0801C168: .4byte gUnknown_203B238 +_0801C16C: + bl sub_801C390 + ldr r1, _0801C18C + ldr r2, [r1] + str r0, [r2, 0x24] + adds r1, r2, 0 + adds r1, 0xC + adds r1, r0 + ldrb r0, [r1] + adds r2, 0x28 + strb r0, [r2] + movs r0, 0x3 + bl sub_801BFB4 + b _0801C19A + .align 2, 0 +_0801C18C: .4byte gUnknown_203B238 +_0801C190: + bl sub_801C3F8 + movs r0, 0x4 + bl sub_801BFB4 +_0801C19A: + pop {r0} + bx r0 + thumb_func_end sub_801C118 + + thumb_func_start sub_801C1A0 +sub_801C1A0: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_801C308 + ldr r4, _0801C1E0 + ldr r0, [r4] + adds r0, 0x74 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0801C1D0 + ldr r0, [r4] + adds r0, 0x74 + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _0801C1D0 + ldr r0, [r4] + str r1, [r0, 0x30] +_0801C1D0: + ldr r0, [sp] + cmp r0, 0x2 + beq _0801C1EA + cmp r0, 0x2 + bgt _0801C1E4 + cmp r0, 0x1 + beq _0801C218 + b _0801C21E + .align 2, 0 +_0801C1E0: .4byte gUnknown_203B238 +_0801C1E4: + cmp r0, 0x3 + beq _0801C210 + b _0801C21E +_0801C1EA: + ldr r0, _0801C208 + bl PlaySound + ldr r0, _0801C20C + ldr r1, [r0] + ldr r0, [r1, 0x8] + adds r0, 0x20 + adds r1, 0x28 + ldrb r1, [r1] + bl sub_808EBF4 + movs r0, 0x1 + bl sub_801BFB4 + b _0801C21E + .align 2, 0 +_0801C208: .4byte 0x00000133 +_0801C20C: .4byte gUnknown_203B238 +_0801C210: + movs r0, 0x3 + bl sub_801BFB4 + b _0801C21E +_0801C218: + movs r0, 0x1 + bl sub_801BFB4 +_0801C21E: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_801C1A0 + + thumb_func_start sub_801C228 +sub_801C228: + push {lr} + bl sub_801C674 + cmp r0, 0x1 + bls _0801C240 + cmp r0, 0x3 + bhi _0801C240 + bl sub_801C6B4 + movs r0, 0x1 + bl sub_801BFB4 +_0801C240: + pop {r0} + bx r0 + thumb_func_end sub_801C228 + + thumb_func_start sub_801C244 +sub_801C244: + push {r4-r7,lr} + adds r6, r1, 0 + adds r7, r2, 0 + lsls r0, 16 + asrs r0, 16 + adds r4, r0, 0 + bl sub_801C5F0 + lsls r0, 24 + cmp r0, 0 + beq _0801C25E + movs r0, 0 + b _0801C2F6 +_0801C25E: + ldr r5, _0801C2FC + ldr r0, [r5] + cmp r0, 0 + bne _0801C270 + movs r0, 0xC4 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] +_0801C270: + ldr r0, [r5] + strh r4, [r0] + ldr r3, _0801C300 + movs r1, 0x58 + adds r2, r4, 0 + muls r2, r1 + ldr r1, [r3] + adds r1, r2 + str r1, [r0, 0x4] + adds r0, 0x8 + movs r2, 0x14 + ldrsh r1, [r1, r2] + bl sub_808EBA8 + adds r1, r0, 0 + ldr r0, [r5] + str r1, [r0, 0x20] + str r6, [r0, 0x58] + lsls r1, r6, 1 + adds r1, r6 + lsls r1, 3 + adds r1, 0x60 + adds r1, r0, r1 + str r1, [r0, 0x5C] + adds r0, 0x60 + bl sub_8006518 + ldr r1, [r5] + ldr r2, [r1, 0x58] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x60 + ldr r0, _0801C304 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldr r1, [r5] + ldr r0, [r1, 0x5C] + adds r1, 0xC0 + str r1, [r0, 0x14] + adds r1, r7, 0 + bl sub_8012D08 + bl ResetUnusedInputStruct + ldr r0, [r5] + adds r0, 0x60 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0x24 + ldr r1, [r1, 0x20] + adds r2, r7, 0 + adds r3, r6, 0 + bl sub_8013818 + bl sub_801C440 + bl sub_801C4C8 + movs r0, 0x1 +_0801C2F6: + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0801C2FC: .4byte gUnknown_203B23C +_0801C300: .4byte gRecruitedPokemonRef +_0801C304: .4byte gUnknown_80DBDF0 + thumb_func_end sub_801C244 + + thumb_func_start sub_801C308 +sub_801C308: + push {lr} + lsls r0, 24 + cmp r0, 0 + bne _0801C324 + ldr r0, _0801C320 + ldr r0, [r0] + adds r0, 0x24 + bl sub_8013660 + movs r0, 0 + b _0801C38A + .align 2, 0 +_0801C320: .4byte gUnknown_203B23C +_0801C324: + ldr r0, _0801C33C + ldr r0, [r0] + adds r0, 0x24 + bl GetKeyPress + cmp r0, 0x2 + beq _0801C346 + cmp r0, 0x2 + bgt _0801C340 + cmp r0, 0x1 + beq _0801C350 + b _0801C364 + .align 2, 0 +_0801C33C: .4byte gUnknown_203B23C +_0801C340: + cmp r0, 0x4 + beq _0801C35A + b _0801C364 +_0801C346: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _0801C38A +_0801C350: + movs r0, 0 + bl PlayMenuSoundEffect + movs r0, 0x3 + b _0801C38A +_0801C35A: + movs r0, 0x4 + bl PlayMenuSoundEffect + movs r0, 0x4 + b _0801C38A +_0801C364: + ldr r0, _0801C37C + ldr r0, [r0] + adds r0, 0x24 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0801C380 + movs r0, 0 + b _0801C38A + .align 2, 0 +_0801C37C: .4byte gUnknown_203B23C +_0801C380: + bl sub_801C440 + bl sub_801C4C8 + movs r0, 0x1 +_0801C38A: + pop {r1} + bx r1 + thumb_func_end sub_801C308 + + thumb_func_start sub_801C390 +sub_801C390: + ldr r0, _0801C3AC + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x42 + movs r3, 0 + ldrsh r1, [r0, r3] + subs r0, 0x2 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r0, r1 + movs r3, 0x3C + ldrsh r1, [r2, r3] + adds r0, r1 + bx lr + .align 2, 0 +_0801C3AC: .4byte gUnknown_203B23C + thumb_func_end sub_801C390 + + thumb_func_start sub_801C3B0 +sub_801C3B0: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl ResetUnusedInputStruct + ldr r5, _0801C3F4 + ldr r0, [r5] + adds r0, 0x60 + movs r1, 0 + movs r2, 0 + bl sub_800641C + ldr r0, [r5] + ldr r1, [r0, 0x20] + adds r2, r0, 0 + adds r2, 0x46 + strh r1, [r2] + adds r0, 0x24 + bl sub_8013984 + bl sub_801C440 + bl sub_801C4C8 + cmp r4, 0 + beq _0801C3EE + ldr r0, [r5] + adds r0, 0x24 + bl AddMenuCursorSprite +_0801C3EE: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801C3F4: .4byte gUnknown_203B23C + thumb_func_end sub_801C3B0 + + thumb_func_start sub_801C3F8 +sub_801C3F8: + push {r4,r5,lr} + ldr r4, _0801C438 + ldr r2, [r4] + cmp r2, 0 + beq _0801C432 + ldr r0, [r2, 0x58] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x60 + ldr r0, _0801C43C + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0801C432: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801C438: .4byte gUnknown_203B23C +_0801C43C: .4byte gUnknown_80DBDD8 + thumb_func_end sub_801C3F8 + + thumb_func_start sub_801C440 +sub_801C440: + push {r4,lr} + ldr r4, _0801C4C4 + ldr r0, [r4] + adds r1, r0, 0 + adds r1, 0x44 + ldrh r1, [r1] + adds r0, 0xC0 + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + adds r1, r0, 0 + adds r1, 0x42 + ldrh r1, [r1] + adds r0, 0xC1 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xC2 + movs r1, 0xA + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xC3 + strb r2, [r0] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x3E + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + ldr r2, [r4] + ldr r3, [r2, 0x58] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x6E + lsls r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r3, [r2, 0x58] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r2, r1 + adds r2, 0x70 + strh r0, [r2] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801C4C4: .4byte gUnknown_203B23C + thumb_func_end sub_801C440 + + thumb_func_start sub_801C4C8 +sub_801C4C8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x8 + ldr r6, _0801C594 + ldr r0, [r6] + ldr r0, [r0, 0x58] + bl sub_8008C54 + ldr r0, [r6] + ldr r0, [r0, 0x58] + bl sub_80073B8 + ldr r0, [r6] + adds r1, r0, 0 + adds r1, 0x42 + movs r2, 0 + ldrsh r4, [r1, r2] + lsls r4, 3 + adds r5, r4, 0 + adds r5, 0xA + ldr r2, _0801C598 + ldr r3, [r0, 0x58] + movs r0, 0 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0 + bl xxx_call_draw_string + adds r4, 0x4 + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0xC2 + ldrb r0, [r0] + lsls r0, 3 + adds r5, r4, r0 + adds r0, r1, 0 + adds r0, 0x42 + movs r3, 0 + ldrsh r2, [r0, r3] + adds r2, 0x1 + movs r0, 0x7 + str r0, [sp] + ldr r0, [r1, 0x58] + str r0, [sp, 0x4] + adds r0, r5, 0 + movs r1, 0 + movs r3, 0x1 + bl sub_8012BC4 + movs r5, 0 + ldr r0, [r6] + movs r1, 0x3E + ldrsh r0, [r0, r1] + cmp r5, r0 + bge _0801C5CC + ldr r2, _0801C59C + mov r8, r2 +_0801C53C: + ldr r2, [r6] + adds r0, r2, 0 + adds r0, 0x42 + movs r3, 0 + ldrsh r1, [r0, r3] + subs r0, 0x2 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r1, r0 + adds r1, r5 + adds r0, r2, 0 + adds r0, 0x8 + adds r0, r1 + ldrb r4, [r0] + adds r0, r2, 0 + adds r0, 0x24 + adds r1, r5, 0 + bl sub_8013800 + adds r7, r0, 0 + adds r0, r4, 0 + bl sub_808EAB0 + adds r1, r0, 0 + mov r0, r8 + movs r2, 0x50 + bl strncpy + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r0, 0x20 + movs r1, 0x1 + lsls r1, r4 + bl sub_808ECD0 + lsls r0, 24 + cmp r0, 0 + beq _0801C5A4 + mov r0, r8 + subs r0, 0x50 + ldr r1, _0801C5A0 + bl strcpy + b _0801C5AE + .align 2, 0 +_0801C594: .4byte gUnknown_203B23C +_0801C598: .4byte gUnknown_80DBE08 +_0801C59C: .4byte gUnknown_202DEA8 +_0801C5A0: .4byte gUnknown_80DBE14 +_0801C5A4: + mov r0, r8 + subs r0, 0x50 + ldr r1, _0801C5E4 + bl strcpy +_0801C5AE: + ldr r0, [r6] + ldr r3, [r0, 0x58] + movs r0, 0 + str r0, [sp] + movs r0, 0xC + adds r1, r7, 0 + ldr r2, _0801C5E8 + bl sub_8014FF0 + adds r5, 0x1 + ldr r0, [r6] + movs r1, 0x3E + ldrsh r0, [r0, r1] + cmp r5, r0 + blt _0801C53C +_0801C5CC: + ldr r0, _0801C5EC + ldr r0, [r0] + ldr r0, [r0, 0x58] + bl sub_80073E0 + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0801C5E4: .4byte gUnknown_80DBE18 +_0801C5E8: .4byte gUnknown_80DBE1C +_0801C5EC: .4byte gUnknown_203B23C + thumb_func_end sub_801C4C8 + + thumb_func_start sub_801C5F0 +sub_801C5F0: + push {lr} + sub sp, 0x18 + lsls r0, 16 + asrs r0, 16 + ldr r2, _0801C614 + movs r1, 0x58 + muls r1, r0 + ldr r0, [r2] + adds r0, r1 + movs r2, 0x14 + ldrsh r1, [r0, r2] + mov r0, sp + bl sub_808EBA8 + cmp r0, 0 + beq _0801C618 + movs r0, 0 + b _0801C61A + .align 2, 0 +_0801C614: .4byte gRecruitedPokemonRef +_0801C618: + movs r0, 0x1 +_0801C61A: + add sp, 0x18 + pop {r1} + bx r1 + thumb_func_end sub_801C5F0 + + thumb_func_start sub_801C620 +sub_801C620: + push {r4-r6,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + bl ResetSprites + ldr r5, _0801C670 + movs r0, 0x94 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r6, 0 + strb r4, [r0, 0x4] + ldr r0, [r5] + adds r0, 0x88 + bl sub_801317C + ldr r0, [r5] + str r6, [r0, 0x24] + adds r0, 0x28 + bl sub_80140B4 + bl ResetUnusedInputStruct + ldr r0, [r5] + adds r0, 0x28 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0 + bl sub_801C6D0 + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0801C670: .4byte gUnknown_203B240 + thumb_func_end sub_801C620 + + thumb_func_start sub_801C674 +sub_801C674: + push {lr} + ldr r0, _0801C68C + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x1 + beq _0801C6A0 + cmp r0, 0x1 + bgt _0801C690 + cmp r0, 0 + beq _0801C69A + b _0801C6AA + .align 2, 0 +_0801C68C: .4byte gUnknown_203B240 +_0801C690: + cmp r0, 0x2 + beq _0801C6AA + cmp r0, 0x3 + beq _0801C6A6 + b _0801C6AA +_0801C69A: + bl sub_801C7D4 + b _0801C6AE +_0801C6A0: + bl sub_801C848 + b _0801C6AE +_0801C6A6: + movs r0, 0x3 + b _0801C6B0 +_0801C6AA: + movs r0, 0x2 + b _0801C6B0 +_0801C6AE: + movs r0, 0 +_0801C6B0: + pop {r1} + bx r1 + thumb_func_end sub_801C674 + + thumb_func_start sub_801C6B4 +sub_801C6B4: + push {r4,lr} + ldr r4, _0801C6CC + ldr r0, [r4] + cmp r0, 0 + beq _0801C6C6 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0801C6C6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801C6CC: .4byte gUnknown_203B240 + thumb_func_end sub_801C6B4 + + thumb_func_start sub_801C6D0 +sub_801C6D0: + push {lr} + ldr r1, _0801C6E0 + ldr r1, [r1] + str r0, [r1] + bl sub_801C6E4 + pop {r0} + bx r0 + .align 2, 0 +_0801C6E0: .4byte gUnknown_203B240 + thumb_func_end sub_801C6D0 + + thumb_func_start sub_801C6E4 +sub_801C6E4: + push {r4,r5,lr} + sub sp, 0x4 + ldr r5, _0801C760 + ldr r0, [r5] + ldr r4, [r0] + cmp r4, 0x1 + beq _0801C76C + cmp r4, 0x1 + bgt _0801C7C4 + cmp r4, 0 + bne _0801C7C4 + ldr r0, [r0, 0x24] + bl sub_8008C54 + ldr r0, [r5] + ldr r0, [r0, 0x24] + bl sub_80073B8 + ldr r0, [r5] + ldrb r0, [r0, 0x4] + bl sub_808EAB0 + adds r1, r0, 0 + ldr r0, _0801C764 + bl strcpy + ldr r2, _0801C768 + str r4, [sp] + movs r0, 0x10 + movs r1, 0 + movs r3, 0 + bl sub_8014FF0 + ldr r0, [r5] + ldrb r0, [r0, 0x4] + bl sub_808EADC + adds r2, r0, 0 + ldr r0, [r5] + ldr r3, [r0, 0x24] + str r4, [sp] + movs r0, 0x8 + movs r1, 0x10 + bl xxx_call_draw_string + ldr r0, [r5] + ldr r0, [r0, 0x24] + bl sub_80073E0 + ldr r0, [r5] + ldrb r0, [r0, 0x4] + bl sub_808EADC + ldr r1, [r5] + adds r1, 0x10 + bl sub_8097DF0 + ldr r1, [r5] + str r0, [r1, 0xC] + str r4, [r1, 0x20] + b _0801C7C4 + .align 2, 0 +_0801C760: .4byte gUnknown_203B240 +_0801C764: .4byte gUnknown_202DE58 +_0801C768: .4byte gUnknown_80DBE2C +_0801C76C: + ldr r0, [r0, 0x24] + bl sub_8008C54 + ldr r0, [r5] + ldr r0, [r0, 0x24] + bl sub_80073B8 + ldr r0, [r5] + ldr r1, [r0, 0x8] + lsls r1, 2 + adds r0, 0x10 + adds r0, r1 + ldr r1, [r0] + ldr r0, _0801C7CC + ldr r1, [r1] + bl strcpy + ldr r2, _0801C7D0 + ldr r0, [r5] + ldr r3, [r0, 0x24] + movs r4, 0 + str r4, [sp] + movs r0, 0x10 + movs r1, 0 + bl sub_8014FF0 + ldr r3, [r5] + ldr r1, [r3, 0x8] + lsls r1, 2 + adds r0, r3, 0 + adds r0, 0x10 + adds r0, r1 + ldr r0, [r0] + ldr r2, [r0, 0x4] + ldr r3, [r3, 0x24] + str r4, [sp] + movs r0, 0x4 + movs r1, 0x10 + bl sub_8014FF0 + ldr r0, [r5] + ldr r0, [r0, 0x24] + bl sub_80073E0 +_0801C7C4: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801C7CC: .4byte gAvailablePokemonNames +_0801C7D0: .4byte gUnknown_80DBE30 + thumb_func_end sub_801C6E4 + + thumb_func_start sub_801C7D4 +sub_801C7D4: + push {r4,lr} + ldr r0, _0801C810 + ldr r2, [r0] + ldr r1, [r2, 0xC] + adds r4, r0, 0 + cmp r1, 0 + beq _0801C7F8 + ldr r0, [r2, 0x20] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0801C7F0 + bl sub_8013F84 +_0801C7F0: + ldr r1, [r4] + ldr r0, [r1, 0x20] + adds r0, 0x1 + str r0, [r1, 0x20] +_0801C7F8: + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x88 + ldr r1, [r1, 0x24] + bl sub_8012A64 + cmp r0, 0x1 + beq _0801C814 + cmp r0, 0x2 + beq _0801C836 + b _0801C842 + .align 2, 0 +_0801C810: .4byte gUnknown_203B240 +_0801C814: + movs r0, 0 + bl PlayMenuSoundEffect + ldr r1, [r4] + ldr r0, [r1, 0xC] + cmp r0, 0 + beq _0801C82E + movs r0, 0 + str r0, [r1, 0x8] + movs r0, 0x1 + bl sub_801C6D0 + b _0801C842 +_0801C82E: + movs r0, 0x3 + bl sub_801C6D0 + b _0801C842 +_0801C836: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + bl sub_801C6D0 +_0801C842: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_801C7D4 + + thumb_func_start sub_801C848 +sub_801C848: + push {r4,lr} + ldr r0, _0801C888 + ldr r3, [r0] + ldr r1, [r3, 0xC] + subs r1, 0x1 + ldr r2, [r3, 0x8] + adds r4, r0, 0 + cmp r2, r1 + bge _0801C870 + ldr r0, [r3, 0x20] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0801C868 + bl sub_8013F84 +_0801C868: + ldr r1, [r4] + ldr r0, [r1, 0x20] + adds r0, 0x1 + str r0, [r1, 0x20] +_0801C870: + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x88 + ldr r1, [r1, 0x24] + bl sub_8012A64 + cmp r0, 0x1 + beq _0801C88C + cmp r0, 0x2 + beq _0801C8B0 + b _0801C8BC + .align 2, 0 +_0801C888: .4byte gUnknown_203B240 +_0801C88C: + movs r0, 0 + bl PlayMenuSoundEffect + ldr r0, [r4] + ldr r1, [r0, 0x8] + adds r1, 0x1 + str r1, [r0, 0x8] + ldr r0, [r0, 0xC] + cmp r1, r0 + bge _0801C8A8 + movs r0, 0x1 + bl sub_801C6D0 + b _0801C8BC +_0801C8A8: + movs r0, 0 + bl sub_801C6D0 + b _0801C8BC +_0801C8B0: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + bl sub_801C6D0 +_0801C8BC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_801C848 + + thumb_func_start sub_801C8C4 +sub_801C8C4: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r4, r0, 0 + adds r6, r1, 0 + mov r9, r2 + mov r10, r3 + bl sub_801CF14 + lsls r0, 24 + cmp r0, 0 + beq _0801C8E4 + movs r0, 0 + b _0801C9D0 +_0801C8E4: + ldr r5, _0801C9E0 + ldr r0, [r5] + cmp r0, 0 + bne _0801C8F6 + ldr r0, _0801C9E4 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] +_0801C8F6: + ldr r0, [r5] + str r4, [r0] + bl sub_801CF94 + ldr r0, [r5] + movs r4, 0x9D + lsls r4, 3 + adds r1, r0, r4 + str r6, [r1] + ldr r1, _0801C9E8 + mov r8, r1 + adds r2, r0, r1 + lsls r1, r6, 1 + adds r1, r6 + lsls r1, 3 + movs r7, 0x9E + lsls r7, 3 + adds r1, r7 + adds r1, r0, r1 + str r1, [r2] + adds r0, r7 + bl sub_8006518 + ldr r1, [r5] + adds r4, r1, r4 + ldr r2, [r4] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, r7 + ldr r0, _0801C9EC + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldr r2, [r5] + mov r1, r8 + adds r0, r2, r1 + ldr r1, [r0] + movs r3, 0xAA + lsls r3, 3 + adds r0, r2, r3 + str r0, [r1, 0x14] + mov r4, r9 + cmp r4, 0 + beq _0801C96C + movs r1, 0x9D + lsls r1, 3 + adds r0, r2, r1 + ldr r1, [r0] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + subs r3, 0x58 + adds r1, r2, r3 + adds r1, r0 + ldr r0, [r4] + str r0, [r1] +_0801C96C: + ldr r0, [r5] + add r0, r8 + ldr r0, [r0] + mov r1, r10 + bl sub_8012D08 + bl ResetUnusedInputStruct + ldr r0, [r5] + adds r0, r7 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r5] + ldr r0, _0801C9F0 + adds r4, r0 + bl sub_801CE58 + adds r1, r0, 0 + adds r0, r4, 0 + mov r2, r10 + adds r3, r6, 0 + bl sub_8013818 + ldr r0, _0801C9F4 + ldr r4, [r5] + ldr r1, [r0] + ldr r0, [r4] + cmp r1, r0 + bne _0801C9C6 + ldr r0, _0801C9F8 + ldrh r1, [r0] + ldr r2, _0801C9FC + adds r0, r4, r2 + strh r1, [r0] + ldr r0, _0801CA00 + ldrh r1, [r0] + ldr r3, _0801CA04 + adds r0, r4, r3 + strh r1, [r0] + ldr r1, _0801C9F0 + adds r0, r4, r1 + bl sub_8013984 +_0801C9C6: + bl sub_801CC38 + bl sub_801CCD8 + movs r0, 0x1 +_0801C9D0: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0801C9E0: .4byte gUnknown_203B244 +_0801C9E4: .4byte 0x00000554 +_0801C9E8: .4byte 0x000004ec +_0801C9EC: .4byte gUnknown_80DBE54 +_0801C9F0: .4byte 0x000004b4 +_0801C9F4: .4byte gUnknown_203B248 +_0801C9F8: .4byte gUnknown_203B24C +_0801C9FC: .4byte 0x000004cc +_0801CA00: .4byte gUnknown_203B24E +_0801CA04: .4byte 0x000004d2 + thumb_func_end sub_801C8C4 + + thumb_func_start sub_801CA08 +sub_801CA08: + push {r4-r6,lr} + lsls r0, 24 + cmp r0, 0 + bne _0801CA28 + ldr r0, _0801CA20 + ldr r0, [r0] + ldr r1, _0801CA24 + adds r0, r1 + bl sub_8013660 + movs r0, 0 + b _0801CB1E + .align 2, 0 +_0801CA20: .4byte gUnknown_203B244 +_0801CA24: .4byte 0x000004b4 +_0801CA28: + ldr r0, _0801CA44 + ldr r0, [r0] + ldr r1, _0801CA48 + adds r0, r1 + bl GetKeyPress + subs r0, 0x1 + cmp r0, 0x5 + bhi _0801CAF2 + lsls r0, 2 + ldr r1, _0801CA4C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801CA44: .4byte gUnknown_203B244 +_0801CA48: .4byte 0x000004b4 +_0801CA4C: .4byte _0801CA50 + .align 2, 0 +_0801CA50: + .4byte _0801CA72 + .4byte _0801CA68 + .4byte _0801CAF2 + .4byte _0801CAE8 + .4byte _0801CA7C + .4byte _0801CA7C +_0801CA68: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _0801CB1E +_0801CA72: + movs r0, 0 + bl PlayMenuSoundEffect + movs r0, 0x3 + b _0801CB1E +_0801CA7C: + ldr r0, _0801CAD8 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x1 + bne _0801CAF2 + bl sub_801CB24 + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r5, 0 + bl sub_801CFE0 + movs r6, 0 + cmp r0, 0 + bne _0801CAB0 + bl sub_8090A34 + adds r4, r0, 0 + bl sub_801CFB8 + adds r4, r0 + cmp r4, 0x13 + bgt _0801CAAC + movs r6, 0x1 +_0801CAAC: + cmp r6, 0 + beq _0801CAE0 +_0801CAB0: + movs r0, 0x6 + bl PlayMenuSoundEffect + ldr r0, _0801CAD8 + ldr r0, [r0] + lsls r1, r5, 2 + adds r2, r0, 0 + adds r2, 0xF4 + adds r2, r1 + ldr r1, [r2] + movs r3, 0x1 + eors r1, r3 + str r1, [r2] + ldr r1, _0801CADC + adds r0, r1 + movs r1, 0 + bl sub_80138B8 + b _0801CB18 + .align 2, 0 +_0801CAD8: .4byte gUnknown_203B244 +_0801CADC: .4byte 0x000004b4 +_0801CAE0: + movs r0, 0x2 + bl PlayMenuSoundEffect + b _0801CAF2 +_0801CAE8: + movs r0, 0x4 + bl PlayMenuSoundEffect + movs r0, 0x4 + b _0801CB1E +_0801CAF2: + ldr r0, _0801CB0C + ldr r0, [r0] + ldr r1, _0801CB10 + adds r0, r1 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0801CB14 + movs r0, 0 + b _0801CB1E + .align 2, 0 +_0801CB0C: .4byte gUnknown_203B244 +_0801CB10: .4byte 0x000004b4 +_0801CB14: + bl sub_801CC38 +_0801CB18: + bl sub_801CCD8 + movs r0, 0x1 +_0801CB1E: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_801CA08 + + thumb_func_start sub_801CB24 +sub_801CB24: + ldr r0, _0801CB50 + ldr r0, [r0] + ldr r2, _0801CB54 + adds r1, r0, r2 + movs r3, 0 + ldrsh r2, [r1, r3] + movs r3, 0x9A + lsls r3, 3 + adds r1, r0, r3 + movs r3, 0 + ldrsh r1, [r1, r3] + muls r2, r1 + ldr r3, _0801CB58 + adds r1, r0, r3 + movs r3, 0 + ldrsh r1, [r1, r3] + adds r2, r1 + adds r0, 0x4 + adds r0, r2 + ldrb r0, [r0] + bx lr + .align 2, 0 +_0801CB50: .4byte gUnknown_203B244 +_0801CB54: .4byte 0x000004d2 +_0801CB58: .4byte 0x000004cc + thumb_func_end sub_801CB24 + + thumb_func_start sub_801CB5C +sub_801CB5C: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl ResetUnusedInputStruct + ldr r5, _0801CBAC + ldr r0, [r5] + movs r1, 0x9E + lsls r1, 3 + adds r0, r1 + movs r1, 0 + movs r2, 0 + bl sub_800641C + bl sub_801CE58 + adds r2, r0, 0 + ldr r0, [r5] + ldr r3, _0801CBB0 + adds r1, r0, r3 + strh r2, [r1] + ldr r1, _0801CBB4 + adds r0, r1 + bl sub_8013984 + bl sub_801CC38 + bl sub_801CCD8 + cmp r4, 0 + beq _0801CBA6 + ldr r0, [r5] + ldr r3, _0801CBB4 + adds r0, r3 + bl AddMenuCursorSprite +_0801CBA6: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801CBAC: .4byte gUnknown_203B244 +_0801CBB0: .4byte 0x000004d6 +_0801CBB4: .4byte 0x000004b4 + thumb_func_end sub_801CB5C + + thumb_func_start sub_801CBB8 +sub_801CBB8: + push {r4-r6,lr} + ldr r5, _0801CC1C + ldr r2, [r5] + cmp r2, 0 + beq _0801CC16 + ldr r1, _0801CC20 + ldr r0, [r2] + str r0, [r1] + ldr r1, _0801CC24 + ldr r3, _0801CC28 + adds r0, r2, r3 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _0801CC2C + ldr r6, _0801CC30 + adds r0, r2, r6 + ldrh r0, [r0] + strh r0, [r1] + movs r1, 0x9D + lsls r1, 3 + adds r0, r2, r1 + ldr r0, [r0] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + movs r4, 0x9E + lsls r4, 3 + adds r1, r4 + ldr r0, _0801CC34 + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + bl ResetUnusedInputStruct + ldr r0, [r5] + adds r0, r4 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r5] + bl MemoryFree + movs r0, 0 + str r0, [r5] +_0801CC16: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0801CC1C: .4byte gUnknown_203B244 +_0801CC20: .4byte gUnknown_203B248 +_0801CC24: .4byte gUnknown_203B24C +_0801CC28: .4byte 0x000004cc +_0801CC2C: .4byte gUnknown_203B24E +_0801CC30: .4byte 0x000004d2 +_0801CC34: .4byte gUnknown_80DBE3C + thumb_func_end sub_801CBB8 + + thumb_func_start sub_801CC38 +sub_801CC38: + push {r4,r5,lr} + ldr r4, _0801CCC4 + ldr r0, [r4] + movs r1, 0xAA + lsls r1, 3 + adds r0, r1 + movs r2, 0 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + ldr r1, _0801CCC8 + adds r0, r1 + strb r2, [r0] + ldr r0, [r4] + adds r1, 0x1 + adds r0, r1 + movs r1, 0xC + strb r1, [r0] + ldr r0, [r4] + ldr r1, _0801CCCC + adds r0, r1 + strb r2, [r0] + ldr r0, [r4] + ldr r2, _0801CCD0 + adds r0, r2 + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r3, [r4] + movs r2, 0x9D + lsls r2, 3 + adds r5, r3, r2 + ldr r2, [r5] + lsls r1, r2, 1 + adds r1, r2 + lsls r1, 3 + adds r1, r3, r1 + ldr r2, _0801CCD4 + adds r1, r2 + asrs r2, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r5] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r3, r0 + adds r2, 0x2 + movs r0, 0xA0 + lsls r0, 3 + adds r3, r0 + strh r2, [r3] + bl ResetUnusedInputStruct + ldr r0, [r4] + movs r1, 0x9E + lsls r1, 3 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0801CCC4: .4byte gUnknown_203B244 +_0801CCC8: .4byte 0x00000551 +_0801CCCC: .4byte 0x00000553 +_0801CCD0: .4byte 0x000004ce +_0801CCD4: .4byte 0x000004fe + thumb_func_end sub_801CC38 + + thumb_func_start sub_801CCD8 +sub_801CCD8: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x58 + ldr r4, _0801CE38 + ldr r0, [r4] + movs r5, 0x9D + lsls r5, 3 + adds r0, r5 + ldr r0, [r0] + bl sub_8008C54 + ldr r0, [r4] + adds r0, r5 + ldr r0, [r0] + bl sub_80073B8 + ldr r2, _0801CE3C + ldr r0, [r4] + adds r0, r5 + ldr r3, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_call_draw_string + ldr r3, [r4] + ldr r1, _0801CE40 + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, 3 + adds r0, 0x4 + ldr r2, _0801CE44 + adds r1, r3, r2 + movs r6, 0 + ldrsh r2, [r1, r6] + adds r2, 0x1 + movs r1, 0x7 + str r1, [sp] + adds r3, r5 + ldr r1, [r3] + str r1, [sp, 0x4] + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r7, 0 + ldr r0, [r4] + ldr r1, _0801CE48 + adds r0, r1 + movs r2, 0 + ldrsh r0, [r0, r2] + cmp r7, r0 + bge _0801CE1A + adds r6, r4, 0 + ldr r3, _0801CE4C + mov r9, r3 + mov r8, r5 +_0801CD50: + ldr r1, [r6] + ldr r4, _0801CE44 + adds r0, r1, r4 + movs r3, 0 + ldrsh r2, [r0, r3] + subs r4, 0x2 + adds r0, r1, r4 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r0, r2 + adds r0, r7 + adds r1, 0x4 + adds r1, r0 + ldrb r5, [r1] + add r0, sp, 0x8 + adds r1, r5, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r0, [r6] + add r0, r9 + adds r1, r7, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r0, [r6] + add r0, r8 + ldr r3, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x8 + add r2, sp, 0x8 + bl xxx_call_draw_string + ldr r0, [r6] + add r0, r9 + adds r1, r7, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r4, [r6] + ldr r2, _0801CE50 + adds r0, r4, r2 + ldr r0, [r0] + movs r3, 0xC + ldrsh r0, [r0, r3] + lsls r0, 3 + subs r0, 0x2 + ldr r2, _0801CE54 + ldr r2, [r2] + lsls r3, r5, 1 + adds r2, 0x50 + adds r2, r3 + ldrh r2, [r2] + movs r3, 0x5 + str r3, [sp] + add r4, r8 + ldr r3, [r4] + str r3, [sp, 0x4] + movs r3, 0x3 + bl sub_8012BC4 + adds r0, r5, 0 + bl sub_801CFE0 + movs r1, 0x1 + ands r1, r0 + cmp r1, 0 + beq _0801CE0A + ldr r0, [r6] + ldr r4, _0801CE4C + adds r0, r4 + adds r1, r7, 0 + bl sub_8013800 + adds r2, r0, 0 + ldr r1, [r6] + movs r3, 0x9D + lsls r3, 3 + adds r0, r1, r3 + ldr r0, [r0] + adds r4, 0x38 + adds r1, r4 + ldr r1, [r1] + movs r4, 0xC + ldrsh r3, [r1, r4] + subs r3, 0x1 + lsls r3, 3 + movs r1, 0xA + str r1, [sp] + movs r1, 0x8 + bl sub_8007B7C +_0801CE0A: + adds r7, 0x1 + ldr r0, [r6] + ldr r1, _0801CE48 + adds r0, r1 + movs r2, 0 + ldrsh r0, [r0, r2] + cmp r7, r0 + blt _0801CD50 +_0801CE1A: + ldr r0, _0801CE38 + ldr r0, [r0] + movs r3, 0x9D + lsls r3, 3 + adds r0, r3 + ldr r0, [r0] + bl sub_80073E0 + add sp, 0x58 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0801CE38: .4byte gUnknown_203B244 +_0801CE3C: .4byte gUnknown_80DBE6C +_0801CE40: .4byte 0x00000552 +_0801CE44: .4byte 0x000004d2 +_0801CE48: .4byte 0x000004ce +_0801CE4C: .4byte 0x000004b4 +_0801CE50: .4byte 0x000004ec +_0801CE54: .4byte gUnknown_203B460 + thumb_func_end sub_801CCD8 + + thumb_func_start sub_801CE58 +sub_801CE58: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + movs r3, 0 + movs r6, 0x1 + ldr r4, _0801CF0C +_0801CE68: + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0x2 + beq _0801CE92 + ldr r0, _0801CF10 + ldr r0, [r0] + lsls r1, r6, 1 + adds r0, 0x50 + adds r0, r1 + ldrh r0, [r0] + cmp r0, 0 + beq _0801CE9C + lsls r0, r6, 24 + lsrs r0, 24 + str r3, [sp] + bl sub_8091524 + lsls r0, 24 + ldr r3, [sp] + cmp r0, 0 + beq _0801CE9C +_0801CE92: + ldr r0, [r4] + adds r0, 0x4 + adds r0, r3 + strb r6, [r0] + adds r3, 0x1 +_0801CE9C: + adds r6, 0x1 + cmp r6, 0xEF + ble _0801CE68 + movs r6, 0 + subs r0, r3, 0x1 + mov r9, r0 + cmp r6, r9 + bge _0801CEFC +_0801CEAC: + adds r0, r6, 0x1 + mov r8, r0 + mov r5, r8 + cmp r8, r3 + bge _0801CEF6 + ldr r7, _0801CF0C +_0801CEB8: + ldr r0, [r7] + adds r0, 0x4 + adds r0, r6 + ldrb r0, [r0] + str r3, [sp] + bl GetItemOrder + adds r4, r0, 0 + ldr r0, [r7] + adds r0, 0x4 + adds r0, r5 + ldrb r0, [r0] + bl GetItemOrder + ldr r3, [sp] + cmp r4, r0 + ble _0801CEF0 + ldr r0, [r7] + adds r0, 0x4 + adds r1, r0, r6 + ldrb r2, [r1] + adds r0, r5 + ldrb r0, [r0] + strb r0, [r1] + ldr r0, [r7] + adds r0, 0x4 + adds r0, r5 + strb r2, [r0] +_0801CEF0: + adds r5, 0x1 + cmp r5, r3 + blt _0801CEB8 +_0801CEF6: + mov r6, r8 + cmp r6, r9 + blt _0801CEAC +_0801CEFC: + adds r0, r3, 0 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0801CF0C: .4byte gUnknown_203B244 +_0801CF10: .4byte gUnknown_203B460 + thumb_func_end sub_801CE58 + + thumb_func_start sub_801CF14 +sub_801CF14: + push {r4,lr} + cmp r0, 0x2 + bne _0801CF1E +_0801CF1A: + movs r0, 0 + b _0801CF46 +_0801CF1E: + movs r4, 0x1 +_0801CF20: + ldr r0, _0801CF4C + ldr r0, [r0] + lsls r1, r4, 1 + adds r0, 0x50 + adds r0, r1 + ldrh r0, [r0] + cmp r0, 0 + beq _0801CF3E + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8091524 + lsls r0, 24 + cmp r0, 0 + bne _0801CF1A +_0801CF3E: + adds r4, 0x1 + cmp r4, 0xEF + ble _0801CF20 + movs r0, 0x1 +_0801CF46: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0801CF4C: .4byte gUnknown_203B460 + thumb_func_end sub_801CF14 + + thumb_func_start sub_801CF50 +sub_801CF50: + push {r4,r5,lr} + cmp r0, 0x2 + bne _0801CF5A +_0801CF56: + movs r0, 0 + b _0801CF84 +_0801CF5A: + movs r4, 0x1 + ldr r5, _0801CF8C +_0801CF5E: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8091524 + lsls r0, 24 + cmp r0, 0 + beq _0801CF7C + ldr r0, _0801CF90 + ldr r0, [r0] + lsls r1, r4, 1 + adds r0, 0x50 + adds r0, r1 + ldrh r0, [r0] + cmp r0, r5 + bls _0801CF56 +_0801CF7C: + adds r4, 0x1 + cmp r4, 0xEF + ble _0801CF5E + movs r0, 0x1 +_0801CF84: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0801CF8C: .4byte 0x000003e6 +_0801CF90: .4byte gUnknown_203B460 + thumb_func_end sub_801CF50 + + thumb_func_start sub_801CF94 +sub_801CF94: + push {r4,lr} + movs r2, 0 + ldr r4, _0801CFB4 + movs r3, 0 +_0801CF9C: + ldr r0, [r4] + lsls r1, r2, 2 + adds r0, 0xF4 + adds r0, r1 + str r3, [r0] + adds r2, 0x1 + cmp r2, 0xEF + ble _0801CF9C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801CFB4: .4byte gUnknown_203B244 + thumb_func_end sub_801CF94 + + thumb_func_start sub_801CFB8 +sub_801CFB8: + push {lr} + movs r3, 0 + ldr r0, _0801CFDC + ldr r0, [r0] + adds r1, r0, 0 + adds r1, 0xF4 + movs r2, 0xEF +_0801CFC6: + ldr r0, [r1] + cmp r0, 0 + beq _0801CFCE + adds r3, 0x1 +_0801CFCE: + adds r1, 0x4 + subs r2, 0x1 + cmp r2, 0 + bge _0801CFC6 + adds r0, r3, 0 + pop {r1} + bx r1 + .align 2, 0 +_0801CFDC: .4byte gUnknown_203B244 + thumb_func_end sub_801CFB8 + + thumb_func_start sub_801CFE0 +sub_801CFE0: + lsls r0, 24 + ldr r1, _0801CFF0 + ldr r1, [r1] + lsrs r0, 22 + adds r1, 0xF4 + adds r1, r0 + ldr r0, [r1] + bx lr + .align 2, 0 +_0801CFF0: .4byte gUnknown_203B244 + thumb_func_end sub_801CFE0 + + thumb_func_start sub_801CFF4 +sub_801CFF4: + lsls r0, 24 + ldr r2, _0801D004 + ldr r2, [r2] + lsrs r0, 22 + adds r2, 0xF4 + adds r2, r0 + str r1, [r2] + bx lr + .align 2, 0 +_0801D004: .4byte gUnknown_203B244 + thumb_func_end sub_801CFF4 + + thumb_func_start sub_801D008 +sub_801D008: + ldr r0, _0801D010 + ldr r0, [r0] + bx lr + .align 2, 0 +_0801D010: .4byte gUnknown_203B244 + thumb_func_end sub_801D008 + + thumb_func_start sub_801D014 +sub_801D014: + push {r4,r5,lr} + adds r5, r0, 0 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _0801D054 + movs r0, 0x8C + lsls r0, 1 + movs r1, 0x8 + bl MemoryAlloc + adds r2, r0, 0 + str r2, [r4] + ldr r0, _0801D058 + ldr r0, [r0] + str r0, [r2, 0x14] + str r5, [r2] + cmp r5, 0 + beq _0801D088 + movs r3, 0 + ldr r0, _0801D05C + ldr r1, [r0] + adds r4, r0, 0 + cmp r5, r1 + bne _0801D060 + strh r3, [r2, 0x4] + b _0801D08C + .align 2, 0 +_0801D054: .4byte gUnknown_203B250 +_0801D058: .4byte gUnknown_203B254 +_0801D05C: .4byte gRecruitedPokemonRef +_0801D060: + adds r3, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r3, r0 + bgt _0801D08C + ldr r0, _0801D084 + ldr r2, [r0] + lsls r0, r3, 16 + asrs r0, 16 + movs r1, 0x58 + muls r1, r0 + ldr r0, [r4] + adds r0, r1 + ldr r1, [r2] + cmp r1, r0 + bne _0801D060 + strh r3, [r2, 0x4] + b _0801D08C + .align 2, 0 +_0801D084: .4byte gUnknown_203B250 +_0801D088: + ldr r0, _0801D0C4 + strh r0, [r2, 0x4] +_0801D08C: + bl sub_80A5728 + lsls r0, 16 + asrs r0, 16 + bl sub_8002658 + ldr r4, _0801D0C8 + ldr r1, [r4] + movs r5, 0 + strb r0, [r1, 0x6] + ldr r0, [r4] + strb r5, [r0, 0x8] + ldr r0, [r4] + strb r5, [r0, 0x9] + bl sub_808D33C + ldr r1, [r4] + str r0, [r1, 0xC] + strb r5, [r1, 0x7] + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0 + beq _0801D0CC + movs r0, 0x5 + bl sub_801D208 + b _0801D0D2 + .align 2, 0 +_0801D0C4: .4byte 0x0000019d +_0801D0C8: .4byte gUnknown_203B250 +_0801D0CC: + movs r0, 0 + bl sub_801D208 +_0801D0D2: + movs r0, 0x1 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_801D014 + + thumb_func_start sub_801D0DC +sub_801D0DC: + push {lr} + ldr r0, _0801D0F4 + ldr r0, [r0] + ldr r0, [r0, 0x10] + cmp r0, 0xC + bhi _0801D16C + lsls r0, 2 + ldr r1, _0801D0F8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801D0F4: .4byte gUnknown_203B250 +_0801D0F8: .4byte _0801D0FC + .align 2, 0 +_0801D0FC: + .4byte _0801D130 + .4byte _0801D130 + .4byte _0801D16C + .4byte _0801D136 + .4byte _0801D13C + .4byte _0801D142 + .4byte _0801D148 + .4byte _0801D148 + .4byte _0801D14E + .4byte _0801D154 + .4byte _0801D15A + .4byte _0801D160 + .4byte _0801D166 +_0801D130: + bl sub_801D680 + b _0801D170 +_0801D136: + bl sub_801D760 + b _0801D170 +_0801D13C: + bl sub_801D77C + b _0801D170 +_0801D142: + bl sub_801D798 + b _0801D170 +_0801D148: + bl sub_801D7CC + b _0801D170 +_0801D14E: + bl sub_801D808 + b _0801D170 +_0801D154: + bl sub_801D824 + b _0801D170 +_0801D15A: + bl sub_801D840 + b _0801D170 +_0801D160: + bl sub_801D85C + b _0801D170 +_0801D166: + bl sub_801D878 + b _0801D170 +_0801D16C: + movs r0, 0x3 + b _0801D172 +_0801D170: + movs r0, 0 +_0801D172: + pop {r1} + bx r1 + thumb_func_end sub_801D0DC + + thumb_func_start sub_801D178 +sub_801D178: + push {r4,lr} + ldr r0, _0801D188 + ldr r4, [r0] + ldrb r0, [r4, 0x9] + cmp r0, 0 + beq _0801D18C + movs r0, 0x2 + b _0801D1CC + .align 2, 0 +_0801D188: .4byte gUnknown_203B250 +_0801D18C: + ldrb r0, [r4, 0x7] + cmp r0, 0 + beq _0801D196 + movs r0, 0x3 + b _0801D1CC +_0801D196: + ldrb r0, [r4, 0x8] + cmp r0, 0 + beq _0801D1A0 + movs r0, 0x1 + b _0801D1CC +_0801D1A0: + bl sub_808D33C + ldr r1, [r4, 0xC] + cmp r1, r0 + bne _0801D1C6 + movs r0, 0x7 + bl sub_80A7AE8 + lsls r0, 16 + cmp r0, 0 + blt _0801D1CA + bl sub_808D3F8 + ldrh r0, [r0] + lsrs r0, 1 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0801D1CA +_0801D1C6: + movs r0, 0x4 + b _0801D1CC +_0801D1CA: + movs r0, 0 +_0801D1CC: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_801D178 + + thumb_func_start sub_801D1D4 +sub_801D1D4: + ldr r0, _0801D1DC + ldr r0, [r0] + ldrb r0, [r0, 0x7] + bx lr + .align 2, 0 +_0801D1DC: .4byte gUnknown_203B250 + thumb_func_end sub_801D1D4 + + thumb_func_start sub_801D1E0 +sub_801D1E0: + push {r4,lr} + ldr r4, _0801D200 + ldr r2, [r4] + cmp r2, 0 + beq _0801D1FA + ldr r0, _0801D204 + ldr r1, [r2, 0x14] + str r1, [r0] + adds r0, r2, 0 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0801D1FA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0801D200: .4byte gUnknown_203B250 +_0801D204: .4byte gUnknown_203B254 + thumb_func_end sub_801D1E0 + + thumb_func_start sub_801D208 +sub_801D208: + push {lr} + ldr r1, _0801D21C + ldr r1, [r1] + str r0, [r1, 0x10] + bl sub_801D220 + bl sub_801D3A8 + pop {r0} + bx r0 + .align 2, 0 +_0801D21C: .4byte gUnknown_203B250 + thumb_func_end sub_801D208 + + thumb_func_start sub_801D220 +sub_801D220: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + ldr r4, _0801D248 + ldr r0, [r4] + adds r0, 0xB8 + bl sub_8006518 + ldr r0, [r4] + ldr r0, [r0, 0x10] + cmp r0, 0 + beq _0801D250 + cmp r0, 0x1 + beq _0801D2C0 + movs r2, 0 + adds r7, r4, 0 + ldr r3, _0801D24C + b _0801D368 + .align 2, 0 +_0801D248: .4byte gUnknown_203B250 +_0801D24C: .4byte gUnknown_80DBE7C +_0801D250: + bl sub_801D4C0 + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0 + beq _0801D290 + adds r7, r4, 0 + ldr r0, _0801D288 + mov r9, r0 + mov r12, r7 + ldr r2, _0801D28C + mov r8, r2 + movs r3, 0 + movs r2, 0x3 +_0801D26C: + mov r4, r12 + ldr r1, [r4] + adds r1, r3 + adds r1, 0xB8 + mov r0, r8 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + adds r3, 0x18 + subs r2, 0x1 + cmp r2, 0 + bge _0801D26C + b _0801D2F6 + .align 2, 0 +_0801D288: .4byte gUnknown_80DBE98 +_0801D28C: .4byte gUnknown_80DBE7C +_0801D290: + adds r7, r4, 0 + mov r8, r7 + ldr r6, _0801D2BC + mov r9, r6 + movs r3, 0 + movs r2, 0x3 +_0801D29C: + mov r0, r8 + ldr r1, [r0] + adds r1, r3 + adds r1, 0xB8 + mov r0, r9 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + movs r0, 0x18 + add r9, r0 + adds r3, 0x18 + subs r2, 0x1 + cmp r2, 0 + bge _0801D29C + b _0801D34E + .align 2, 0 +_0801D2BC: .4byte gUnknown_80DBEB0 +_0801D2C0: + bl sub_801D4C0 + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0 + beq _0801D324 + adds r7, r4, 0 + ldr r2, _0801D31C + mov r9, r2 + mov r8, r7 + ldr r3, _0801D320 + mov r12, r3 + movs r3, 0 + movs r2, 0x3 +_0801D2DC: + mov r4, r8 + ldr r1, [r4] + adds r1, r3 + adds r1, 0xB8 + mov r0, r12 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + adds r3, 0x18 + subs r2, 0x1 + cmp r2, 0 + bge _0801D2DC +_0801D2F6: + ldr r1, [r7] + adds r1, 0xB8 + mov r0, r9 + ldm r0!, {r2,r5,r6} + stm r1!, {r2,r5,r6} + ldm r0!, {r3-r5} + stm r1!, {r3-r5} + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0xB8 + adds r1, 0x68 + bl sub_8012CAC + ldr r0, [r7] + adds r0, 0xC4 + movs r1, 0x9 + strh r1, [r0] + b _0801D384 + .align 2, 0 +_0801D31C: .4byte gUnknown_80DBE98 +_0801D320: .4byte gUnknown_80DBE7C +_0801D324: + adds r7, r4, 0 + mov r8, r7 + ldr r6, _0801D364 + mov r9, r6 + movs r3, 0 + movs r2, 0x3 +_0801D330: + mov r0, r8 + ldr r1, [r0] + adds r1, r3 + adds r1, 0xB8 + mov r0, r9 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + movs r0, 0x18 + add r9, r0 + adds r3, 0x18 + subs r2, 0x1 + cmp r2, 0 + bge _0801D330 +_0801D34E: + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0xB8 + adds r1, 0x68 + bl sub_8012CAC + ldr r0, [r7] + adds r0, 0xC4 + movs r1, 0x8 + strh r1, [r0] + b _0801D384 + .align 2, 0 +_0801D364: .4byte gUnknown_80DBEB0 +_0801D368: + ldr r0, [r7] + lsls r1, r2, 1 + adds r1, r2 + lsls r1, 3 + adds r0, r1 + adds r0, 0xB8 + adds r1, r3, 0 + ldm r1!, {r4-r6} + stm r0!, {r4-r6} + ldm r1!, {r4-r6} + stm r0!, {r4-r6} + adds r2, 0x1 + cmp r2, 0x3 + ble _0801D368 +_0801D384: + bl ResetUnusedInputStruct + ldr r0, _0801D3A4 + ldr r0, [r0] + adds r0, 0xB8 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0801D3A4: .4byte gUnknown_203B250 + thumb_func_end sub_801D220 + + thumb_func_start sub_801D3A8 +sub_801D3A8: + push {r4-r6,lr} + sub sp, 0x8 + ldr r1, _0801D3C4 + ldr r0, [r1] + ldr r0, [r0, 0x10] + adds r6, r1, 0 + cmp r0, 0xC + bls _0801D3BA + b _0801D4B6 +_0801D3BA: + lsls r0, 2 + ldr r1, _0801D3C8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0801D3C4: .4byte gUnknown_203B250 +_0801D3C8: .4byte _0801D3CC + .align 2, 0 +_0801D3CC: + .4byte _0801D400 + .4byte _0801D400 + .4byte _0801D4B6 + .4byte _0801D458 + .4byte _0801D462 + .4byte _0801D468 + .4byte _0801D472 + .4byte _0801D47A + .4byte _0801D482 + .4byte _0801D490 + .4byte _0801D49C + .4byte _0801D4AA + .4byte _0801D4B2 +_0801D400: + ldr r0, [r6] + ldr r5, [r0] + cmp r5, 0 + beq _0801D438 + ldr r4, _0801D434 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x7 + bl sub_808D9AC + ldr r2, [r6] + str r4, [r2, 0x18] + adds r0, r2, 0 + adds r0, 0x18 + adds r1, r2, 0 + adds r1, 0x68 + adds r3, r2, 0 + adds r3, 0xA8 + ldr r2, [r2, 0x14] + str r2, [sp] + movs r2, 0 + str r2, [sp, 0x4] + bl sub_8012D60 + b _0801D4B6 + .align 2, 0 +_0801D434: .4byte gAvailablePokemonNames +_0801D438: + bl sub_801D894 + ldr r2, [r6] + adds r0, r2, 0 + adds r0, 0x18 + adds r1, r2, 0 + adds r1, 0x68 + adds r3, r2, 0 + adds r3, 0xA8 + ldr r2, [r2, 0x14] + str r2, [sp] + str r5, [sp, 0x4] + movs r2, 0 + bl sub_8012D60 + b _0801D4B6 +_0801D458: + ldr r0, [r6] + ldr r0, [r0] + bl sub_80227B8 + b _0801D4B6 +_0801D462: + bl sub_8027074 + b _0801D4B6 +_0801D468: + ldr r0, [r6] + ldr r0, [r0] + bl sub_8025EF4 + b _0801D4B6 +_0801D472: + movs r0, 0 + bl sub_80252F0 + b _0801D4B6 +_0801D47A: + movs r0, 0x1 + bl sub_80252F0 + b _0801D4B6 +_0801D482: + ldr r0, [r6] + movs r1, 0x4 + ldrsh r0, [r0, r1] + movs r1, 0x2 + bl sub_8024458 + b _0801D4B6 +_0801D490: + ldr r0, [r6] + movs r1, 0x4 + ldrsh r0, [r0, r1] + bl sub_801BEEC + b _0801D4B6 +_0801D49C: + ldr r0, [r6] + ldrb r0, [r0, 0x6] + movs r1, 0x1 + movs r2, 0x2 + bl sub_8021774 + b _0801D4B6 +_0801D4AA: + movs r0, 0 + bl sub_802C860 + b _0801D4B6 +_0801D4B2: + bl sub_801DCC4 +_0801D4B6: + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_801D3A8 + + thumb_func_start sub_801D4C0 +sub_801D4C0: + push {r4-r7,lr} + movs r6, 0 + ldr r4, _0801D554 + ldr r0, [r4] + adds r0, 0xA8 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r0, [r4] + ldrb r0, [r0, 0x6] + cmp r0, 0 + bne _0801D568 + bl sub_8096E2C + lsls r0, 24 + cmp r0, 0 + beq _0801D534 + ldr r1, [r4] + movs r0, 0x2 + str r0, [r1, 0x6C] + ldr r0, _0801D558 + str r0, [r1, 0x68] + bl sub_8090A34 + cmp r0, 0 + bne _0801D4FE + ldr r0, [r4] + adds r0, 0xA8 + movs r1, 0x1 + strh r1, [r0] +_0801D4FE: + ldr r1, [r4] + ldr r0, _0801D55C + str r0, [r1, 0x70] + movs r0, 0x4 + str r0, [r1, 0x74] + movs r6, 0x2 + movs r0, 0x2 + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _0801D534 + ldr r1, [r4] + ldr r0, _0801D560 + str r0, [r1, 0x78] + movs r0, 0x9 + str r0, [r1, 0x7C] + bl sub_802C83C + lsls r0, 24 + cmp r0, 0 + beq _0801D532 + ldr r0, [r4] + adds r0, 0xAC + movs r1, 0x1 + strh r1, [r0] +_0801D532: + movs r6, 0x3 +_0801D534: + ldr r4, _0801D554 + ldr r2, [r4] + lsls r3, r6, 3 + adds r0, r2, 0 + adds r0, 0x68 + adds r0, r3 + ldr r1, _0801D564 + str r1, [r0] + adds r2, 0x6C + adds r2, r3 + movs r0, 0xB + str r0, [r2] + adds r6, 0x1 + adds r7, r4, 0 + b _0801D5E6 + .align 2, 0 +_0801D554: .4byte gUnknown_203B250 +_0801D558: .4byte gMenuItems +_0801D55C: .4byte gMenuTeam +_0801D560: .4byte gMenuJobList +_0801D564: .4byte gMenuOthers +_0801D568: + ldr r0, _0801D63C + ldr r1, _0801D640 + bl strcpy + bl sub_8096E2C + lsls r0, 24 + cmp r0, 0 + beq _0801D5B6 + ldr r1, [r4] + ldr r0, _0801D644 + ldr r0, [r0] + str r0, [r1, 0x68] + movs r0, 0x5 + str r0, [r1, 0x6C] + movs r0, 0x4 + bl sub_8024108 + lsls r0, 24 + cmp r0, 0 + beq _0801D59A + ldr r0, [r4] + adds r0, 0xA8 + movs r1, 0x1 + strh r1, [r0] +_0801D59A: + movs r6, 0x1 + ldr r1, [r4] + movs r0, 0x2 + str r0, [r1, 0x74] + ldr r0, _0801D648 + str r0, [r1, 0x70] + bl sub_8090A34 + cmp r0, 0 + bne _0801D5B4 + ldr r0, [r4] + adds r0, 0xAA + strh r6, [r0] +_0801D5B4: + movs r6, 0x2 +_0801D5B6: + ldr r5, _0801D64C + ldr r1, [r5] + lsls r2, r6, 3 + adds r3, r1, 0 + adds r3, 0x68 + adds r4, r3, r2 + ldr r0, _0801D650 + ldr r0, [r0] + str r0, [r4] + adds r1, 0x6C + adds r2, r1, r2 + movs r0, 0x8 + str r0, [r2] + adds r6, 0x1 + lsls r2, r6, 3 + adds r3, r2 + ldr r0, _0801D654 + ldr r0, [r0] + str r0, [r3] + adds r1, r2 + movs r0, 0xA + str r0, [r1] + adds r6, 0x1 + adds r7, r5, 0 +_0801D5E6: + ldr r4, [r7] + lsls r2, r6, 3 + adds r0, r4, 0 + adds r0, 0x68 + adds r0, r2 + movs r1, 0 + str r1, [r0] + adds r1, r4, 0 + adds r1, 0x6C + adds r2, r1, r2 + movs r0, 0x1 + str r0, [r2] + movs r3, 0 + cmp r3, r6 + bge _0801D622 + adds r5, r4, 0 + adds r4, 0xA8 + adds r2, r1, 0 +_0801D60A: + ldrh r0, [r4] + cmp r0, 0 + bne _0801D618 + ldr r1, [r2] + ldr r0, [r5, 0x14] + cmp r1, r0 + beq _0801D67A +_0801D618: + adds r4, 0x2 + adds r2, 0x8 + adds r3, 0x1 + cmp r3, r6 + blt _0801D60A +_0801D622: + movs r3, 0 + cmp r3, r6 + bge _0801D67A + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0xA8 + ldrh r0, [r0] + cmp r0, 0 + bne _0801D658 + ldr r0, [r1, 0x6C] + str r0, [r1, 0x14] + b _0801D67A + .align 2, 0 +_0801D63C: .4byte gAvailablePokemonNames +_0801D640: .4byte gUnknown_80DBF34 +_0801D644: .4byte gUnknown_80D49A8 +_0801D648: .4byte gMenuItems +_0801D64C: .4byte gUnknown_203B250 +_0801D650: .4byte gUnknown_80D4970 +_0801D654: .4byte gUnknown_80D49B4 +_0801D658: + adds r3, 0x1 + cmp r3, r6 + bge _0801D67A + ldr r2, [r7] + lsls r0, r3, 1 + adds r1, r2, 0 + adds r1, 0xA8 + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _0801D658 + lsls r0, r3, 3 + adds r1, r2, 0 + adds r1, 0x6C + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x14] +_0801D67A: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_801D4C0 + + .align 2,0 diff --git a/asm/unk_menu_203B364.s b/asm/unk_menu_203B364.s index d1a1cd4..40e9de2 100644 --- a/asm/unk_menu_203B364.s +++ b/asm/unk_menu_203B364.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_8038630 -sub_8038630: + thumb_func_start UpdateSaveMenu +UpdateSaveMenu: push {r4-r6,lr} sub sp, 0x18 ldr r5, _080386A8 @@ -31,7 +31,7 @@ _0803864C: bl sub_8011C1C adds r1, r0, 0 add r0, sp, 0x10 - bl sub_801203C + bl WriteSavetoPak adds r4, r0, 0 bl sub_8014114 cmp r4, 0 @@ -256,7 +256,7 @@ _08038826: pop {r4-r6} pop {r1} bx r1 - thumb_func_end sub_8038630 + thumb_func_end UpdateSaveMenu thumb_func_start sub_8038830 sub_8038830: diff --git a/asm/wonder_mail.s b/asm/wonder_mail.s index af15e98..2955f9f 100644 --- a/asm/wonder_mail.s +++ b/asm/wonder_mail.s @@ -768,7 +768,7 @@ _08028748: b _0802878A .align 2, 0 _08028760: .4byte 0x00000544 -_08028764: .4byte gUnknown_203B45C +_08028764: .4byte gRecruitedPokemonRef _08028768: .4byte gUnknown_203B2C0 _0802876C: adds r1, r2, 0 diff --git a/asm/wonder_mail_1.s b/asm/wonder_mail_1.s index 72c4401..a982ae8 100644 --- a/asm/wonder_mail_1.s +++ b/asm/wonder_mail_1.s @@ -591,7 +591,7 @@ sub_802AB98: movs r4, 0x98 lsls r4, 1 adds r1, r4, 0 - bl sub_808D8E0 + bl CopyYellowSpeciesNametoBuffer adds r0, r4, 0 bl GetMonSpecies adds r1, r0, 0 diff --git a/asm/wonder_mail_3.s b/asm/wonder_mail_3.s index 44059a1..718d084 100644 --- a/asm/wonder_mail_3.s +++ b/asm/wonder_mail_3.s @@ -1438,14 +1438,14 @@ _0802DCE0: ldr r1, [r1, 0x34] movs r2, 0xC ldrsh r1, [r1, r2] - bl sub_808D8E0 + bl CopyYellowSpeciesNametoBuffer ldr r4, _0802DD64 ldr r0, [r5] ldr r0, [r0, 0x34] movs r2, 0xC ldrsh r1, [r0, r2] adds r0, r4, 0 - bl sub_808D8E0 + bl CopyYellowSpeciesNametoBuffer ldr r0, [r5] ldr r0, [r0, 0x34] movs r1, 0xC @@ -2628,7 +2628,7 @@ _0802E658: .4byte _0802E6B4 _0802E678: ldr r0, _0802E6AC - bl sub_8011988 + bl PlaySound ldr r4, _0802E6B0 ldr r0, [r4] ldrb r0, [r0, 0x8] @@ -2654,7 +2654,7 @@ _0802E6B4: b _0802E732 _0802E6BC: ldr r0, _0802E6F4 - bl sub_8011988 + bl PlaySound ldr r4, _0802E6F8 ldr r0, [r4] ldrb r0, [r0, 0x8] @@ -3582,7 +3582,7 @@ _0802EE00: b _0802EE96 _0802EE06: ldr r0, _0802EE28 - bl sub_8011988 + bl PlaySound ldr r4, _0802EE2C ldr r0, [r4] ldrb r0, [r0, 0x8] @@ -4348,7 +4348,7 @@ _0802F3E0: b _0802F6E4 _0802F3E8: movs r0, 0xCB - bl sub_8011988 + bl PlaySound ldr r0, _0802F414 ldr r0, [r0] ldr r0, [r0, 0x10] @@ -4450,7 +4450,7 @@ _0802F4BC: ldrb r0, [r0] bl UnlockFriendArea movs r0, 0xCE - bl sub_8011988 + bl PlaySound ldr r0, _0802F4E8 _0802F4DA: ldr r3, _0802F4EC @@ -4468,7 +4468,7 @@ _0802F4F0: ldrb r0, [r0] bl UnlockFriendArea movs r0, 0xCE - bl sub_8011988 + bl PlaySound ldr r0, _0802F518 ldr r3, _0802F51C movs r1, 0 @@ -4630,7 +4630,7 @@ _0802F644: ldr r0, [r0, 0x24] bl AddToTeamRankPts movs r0, 0xCB - bl sub_8011988 + bl PlaySound ldr r4, [r5] bl GetRescueTeamRank ldrb r1, [r4, 0x9] @@ -4665,7 +4665,7 @@ _0802F69C: .4byte gUnknown_80E0670 _0802F6A0: .4byte 0x00000101 _0802F6A4: movs r0, 0xC9 - bl sub_8011988 + bl PlaySound ldr r0, _0802F6EC ldr r1, [r0] movs r0, 0x9 @@ -5493,4405 +5493,4 @@ _0802FD0E: bx r1 thumb_func_end sub_802FCF0 - thumb_func_start sub_802FD14 -sub_802FD14: - push {r4-r6,lr} - adds r5, r0, 0 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0802FD48 - movs r0, 0xCC - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - ldr r1, _0802FD4C - strh r1, [r0, 0x10] - str r5, [r0] - cmp r5, 0x7 - bhi _0802FDC0 - lsls r0, r5, 2 - ldr r1, _0802FD50 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802FD48: .4byte gUnknown_203B318 -_0802FD4C: .4byte 0x0000ffff -_0802FD50: .4byte _0802FD54 - .align 2, 0 -_0802FD54: - .4byte _0802FD74 - .4byte _0802FD84 - .4byte _0802FD94 - .4byte _0802FDA4 - .4byte _0802FDB4 - .4byte _0802FDB8 - .4byte _0802FDBC - .4byte _0802FDC0 -_0802FD74: - movs r6, 0 - ldr r1, _0802FD80 - ldr r0, [r1] - str r6, [r0, 0x4] - b _0802FDCC - .align 2, 0 -_0802FD80: .4byte gUnknown_203B318 -_0802FD84: - movs r6, 0x7 - ldr r2, _0802FD90 - ldr r1, [r2] - movs r0, 0 - b _0802FDC8 - .align 2, 0 -_0802FD90: .4byte gUnknown_203B318 -_0802FD94: - movs r6, 0x6 - ldr r2, _0802FDA0 - ldr r1, [r2] - movs r0, 0 - b _0802FDC8 - .align 2, 0 -_0802FDA0: .4byte gUnknown_203B318 -_0802FDA4: - movs r6, 0x8 - ldr r2, _0802FDB0 - ldr r1, [r2] - movs r0, 0 - b _0802FDC8 - .align 2, 0 -_0802FDB0: .4byte gUnknown_203B318 -_0802FDB4: - movs r6, 0 - b _0802FDC2 -_0802FDB8: - movs r6, 0x7 - b _0802FDC2 -_0802FDBC: - movs r6, 0x6 - b _0802FDC2 -_0802FDC0: - movs r6, 0x8 -_0802FDC2: - ldr r2, _0802FDD8 - ldr r1, [r2] - movs r0, 0x1 -_0802FDC8: - str r0, [r1, 0x4] - adds r1, r2, 0 -_0802FDCC: - ldr r1, [r1] - ldr r0, [r1, 0x4] - cmp r0, 0x1 - bne _0802FDDC - movs r0, 0 - b _0802FDE0 - .align 2, 0 -_0802FDD8: .4byte gUnknown_203B318 -_0802FDDC: - adds r0, r1, 0 - adds r0, 0x58 -_0802FDE0: - str r0, [r1, 0x68] - ldr r0, _0802FE48 - ldr r5, _0802FE4C - adds r1, r5, 0 - bl sub_808D8E0 - ldr r4, _0802FE50 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808D8E0 - adds r0, r5, 0 - bl GetMonSpecies - adds r1, r0, 0 - subs r4, 0x50 - adds r0, r4, 0 - bl strcpy - adds r0, r5, 0 - bl GetDialogueSpriteDataPtr - ldr r3, _0802FE54 - ldr r1, [r3] - str r0, [r1, 0x58] - ldr r0, [r0, 0x4] - str r0, [r1, 0x5C] - adds r1, 0x64 - movs r2, 0 - strb r2, [r1] - ldr r0, [r3] - adds r0, 0x65 - strb r2, [r0] - ldr r0, [r3] - adds r0, 0x66 - strb r2, [r0] - ldr r1, [r3] - adds r2, r1, 0 - adds r2, 0x60 - movs r0, 0x2 - strh r0, [r2] - adds r1, 0x62 - movs r0, 0x8 - strh r0, [r1] - adds r0, r6, 0 - bl sub_802FF04 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0802FE48: .4byte gUnknown_202E5D8 -_0802FE4C: .4byte 0x00000141 -_0802FE50: .4byte gUnknown_202E1C8 -_0802FE54: .4byte gUnknown_203B318 - thumb_func_end sub_802FD14 - - thumb_func_start sub_802FE58 -sub_802FE58: - push {lr} - ldr r0, _0802FE70 - ldr r0, [r0] - ldr r0, [r0, 0x8] - cmp r0, 0xD - bhi _0802FEC6 - lsls r0, 2 - ldr r1, _0802FE74 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802FE70: .4byte gUnknown_203B318 -_0802FE74: .4byte _0802FE78 - .align 2, 0 -_0802FE78: - .4byte _0802FEB0 - .4byte _0802FEB0 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEB6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEBC - .4byte _0802FEC6 - .4byte _0802FEC2 -_0802FEB0: - bl sub_8030208 - b _0802FECA -_0802FEB6: - bl sub_8030258 - b _0802FECA -_0802FEBC: - bl sub_80302A8 - b _0802FECA -_0802FEC2: - movs r0, 0x3 - b _0802FECC -_0802FEC6: - bl sub_80302C4 -_0802FECA: - movs r0, 0 -_0802FECC: - pop {r1} - bx r1 - thumb_func_end sub_802FE58 - - thumb_func_start sub_802FED0 -sub_802FED0: - ldr r0, _0802FEDC - ldr r0, [r0] - movs r1, 0x10 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_0802FEDC: .4byte gUnknown_203B318 - thumb_func_end sub_802FED0 - - thumb_func_start sub_802FEE0 -sub_802FEE0: - push {r4,lr} - ldr r4, _0802FF00 - ldr r0, [r4] - cmp r0, 0 - beq _0802FEFA - ldr r0, [r0, 0x58] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802FEFA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802FF00: .4byte gUnknown_203B318 - thumb_func_end sub_802FEE0 - - thumb_func_start sub_802FF04 -sub_802FF04: - push {lr} - ldr r1, _0802FF18 - ldr r1, [r1] - str r0, [r1, 0x8] - bl sub_802FF1C - bl sub_802FF88 - pop {r0} - bx r0 - .align 2, 0 -_0802FF18: .4byte gUnknown_203B318 - thumb_func_end sub_802FF04 - - thumb_func_start sub_802FF1C -sub_802FF1C: - push {r4-r7,lr} - ldr r4, _0802FF3C - ldr r0, [r4] - adds r0, 0x6C - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0, 0x8] - cmp r0, 0x4 - beq _0802FF44 - cmp r0, 0x4 - bgt _0802FF40 - cmp r0, 0 - beq _0802FF44 - b _0802FF68 - .align 2, 0 -_0802FF3C: .4byte gUnknown_203B318 -_0802FF40: - cmp r0, 0xD - bne _0802FF68 -_0802FF44: - ldr r0, _0802FF80 - mov r12, r0 - ldr r4, _0802FF84 - movs r3, 0 - movs r2, 0x3 -_0802FF4E: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - adds r1, 0x6C - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0802FF4E -_0802FF68: - bl ResetUnusedInputStruct - ldr r0, _0802FF80 - ldr r0, [r0] - adds r0, 0x6C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802FF80: .4byte gUnknown_203B318 -_0802FF84: .4byte gUnknown_80E0760 - thumb_func_end sub_802FF1C - - thumb_func_start sub_802FF88 -sub_802FF88: - push {r4,r5,lr} - sub sp, 0x18 - ldr r1, _0802FFA4 - ldr r0, [r1] - ldr r0, [r0, 0x8] - adds r5, r1, 0 - cmp r0, 0xD - bls _0802FF9A - b _080301A0 -_0802FF9A: - lsls r0, 2 - ldr r1, _0802FFA8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802FFA4: .4byte gUnknown_203B318 -_0802FFA8: .4byte _0802FFAC - .align 2, 0 -_0802FFAC: - .4byte _0802FFE4 - .4byte _08030000 - .4byte _08030038 - .4byte _08030050 - .4byte _08030068 - .4byte _08030074 - .4byte _080300DC - .4byte _080300C4 - .4byte _080300F4 - .4byte _0803010C - .4byte _08030148 - .4byte _08030174 - .4byte _08030180 - .4byte _080301A0 -_0802FFE4: - bl sub_80301B0 - ldr r2, _0802FFF8 - ldr r0, _0802FFFC - ldr r5, [r0] - ldr r1, [r5, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - b _0803000E - .align 2, 0 -_0802FFF8: .4byte gMakuhitaDialogue -_0802FFFC: .4byte gUnknown_203B318 -_08030000: - ldr r2, _08030034 - ldr r5, [r5] - ldr r1, [r5, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x4 -_0803000E: - adds r0, r2 - ldr r0, [r0] - ldr r2, [r5, 0x14] - adds r3, r5, 0 - adds r3, 0x18 - movs r4, 0 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - ldr r1, [r5, 0x68] - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _080301A0 - .align 2, 0 -_08030034: .4byte gMakuhitaDialogue -_08030038: - ldr r3, [r5] - movs r0, 0xD - str r0, [r3, 0xC] - ldr r2, _0803004C - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x8 - b _0803015A - .align 2, 0 -_0803004C: .4byte gMakuhitaDialogue -_08030050: - ldr r3, [r5] - movs r0, 0x4 - str r0, [r3, 0xC] - ldr r2, _08030064 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0xC - b _0803015A - .align 2, 0 -_08030064: .4byte gMakuhitaDialogue -_08030068: - movs r0, 0x3 - movs r1, 0 - movs r2, 0xA - bl sub_80302E8 - b _080301A0 -_08030074: - ldr r1, [r5] - movs r0, 0xD - str r0, [r1, 0xC] - movs r2, 0x10 - ldrsh r0, [r1, r2] - bl sub_80A2740 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080300B4 - ldr r1, [sp, 0x14] - ands r1, r2 - orrs r1, r0 - ldr r0, _080300B8 - ands r1, r0 - movs r0, 0x80 - lsls r0, 1 - orrs r1, r0 - str r1, [sp, 0x14] - ldr r0, _080300BC - add r1, sp, 0x14 - bl sub_8090208 - ldr r2, _080300C0 - ldr r3, [r5] - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x10 - b _0803015A - .align 2, 0 -_080300B4: .4byte 0xffffff00 -_080300B8: .4byte 0xffff00ff -_080300BC: .4byte gAvailablePokemonNames -_080300C0: .4byte gMakuhitaDialogue -_080300C4: - ldr r3, [r5] - movs r0, 0xD - str r0, [r3, 0xC] - ldr r2, _080300D8 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x18 - b _0803015A - .align 2, 0 -_080300D8: .4byte gMakuhitaDialogue -_080300DC: - ldr r3, [r5] - movs r0, 0xD - str r0, [r3, 0xC] - ldr r2, _080300F0 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x14 - b _0803015A - .align 2, 0 -_080300F0: .4byte gMakuhitaDialogue -_080300F4: - ldr r3, [r5] - movs r0, 0x9 - str r0, [r3, 0xC] - ldr r2, _08030108 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x1C - b _0803015A - .align 2, 0 -_08030108: .4byte gMakuhitaDialogue -_0803010C: - ldr r4, _08030138 - bl sub_808D33C - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x6 - bl sub_808D9AC - ldr r0, _0803013C - ldr r1, [r0] - movs r0, 0xB - str r0, [r1, 0xC] - movs r0, 0xCB - bl sub_8011988 - ldr r0, _08030140 - ldr r3, _08030144 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _080301A0 - .align 2, 0 -_08030138: .4byte gPlayerName -_0803013C: .4byte gUnknown_203B318 -_08030140: .4byte gUnknown_80E0778 -_08030144: .4byte 0x00000101 -_08030148: - ldr r3, [r5] - movs r0, 0xD - str r0, [r3, 0xC] - ldr r2, _0803016C - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x20 -_0803015A: - adds r0, r2 - ldr r0, [r0] - ldr r2, [r3, 0x68] - ldr r3, _08030170 - movs r1, 0 - bl sub_80141B4 - b _080301A0 - .align 2, 0 -_0803016C: .4byte gMakuhitaDialogue -_08030170: .4byte 0x0000010d -_08030174: - movs r0, 0x1 - movs r1, 0x49 - movs r2, 0x1 - bl sub_801B60C - b _080301A0 -_08030180: - ldr r3, [r5] - movs r0, 0x1 - str r0, [r3, 0xC] - ldr r2, _080301A8 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x24 - adds r0, r2 - ldr r0, [r0] - ldr r2, [r3, 0x68] - ldr r3, _080301AC - movs r1, 0 - bl sub_80141B4 -_080301A0: - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080301A8: .4byte gMakuhitaDialogue -_080301AC: .4byte 0x0000010d - thumb_func_end sub_802FF88 - - thumb_func_start sub_80301B0 -sub_80301B0: - push {r4,lr} - ldr r4, _080301F8 - ldr r1, [r4] - movs r2, 0x2 - str r2, [r1, 0x14] - ldr r0, _080301FC - str r0, [r1, 0x18] - str r2, [r1, 0x1C] - bl sub_80306A4 - lsls r0, 24 - cmp r0, 0 - beq _080301D6 - ldr r0, [r4] - movs r1, 0x1 - negs r1, r1 - str r1, [r0, 0x1C] - movs r1, 0x1 - str r1, [r0, 0x14] -_080301D6: - ldr r1, [r4] - movs r2, 0x1 - ldr r0, _08030200 - ldr r0, [r0] - str r0, [r1, 0x20] - movs r0, 0x3 - str r0, [r1, 0x24] - ldr r0, _08030204 - ldr r0, [r0] - str r0, [r1, 0x28] - str r2, [r1, 0x2C] - movs r0, 0 - str r0, [r1, 0x30] - str r2, [r1, 0x34] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080301F8: .4byte gUnknown_203B318 -_080301FC: .4byte gUnknown_80E07D8 -_08030200: .4byte gUnknown_80D4970 -_08030204: .4byte gUnknown_80D4934 - thumb_func_end sub_80301B0 - - thumb_func_start sub_8030208 -sub_8030208: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08030250 - ldr r0, _08030230 - ldr r1, [r0] - ldr r0, [sp] - str r0, [r1, 0x14] - ldr r0, [sp] - cmp r0, 0x2 - beq _0803023A - cmp r0, 0x2 - bgt _08030234 - cmp r0, 0x1 - beq _0803024A - b _08030250 - .align 2, 0 -_08030230: .4byte gUnknown_203B318 -_08030234: - cmp r0, 0x3 - beq _08030242 - b _08030250 -_0803023A: - movs r0, 0x3 - bl sub_802FF04 - b _08030250 -_08030242: - movs r0, 0xC - bl sub_802FF04 - b _08030250 -_0803024A: - movs r0, 0x2 - bl sub_802FF04 -_08030250: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8030208 - - thumb_func_start sub_8030258 -sub_8030258: - push {lr} - movs r0, 0x1 - bl sub_80303AC - cmp r0, 0x2 - beq _08030288 - cmp r0, 0x2 - bcc _0803029A - cmp r0, 0x3 - bne _0803029A - bl sub_8030418 - ldr r1, _08030284 - ldr r1, [r1] - strh r0, [r1, 0x10] - bl sub_8030480 - movs r0, 0x5 - bl sub_802FF04 - b _0803029A - .align 2, 0 -_08030284: .4byte gUnknown_203B318 -_08030288: - bl sub_8030480 - ldr r0, _080302A0 - ldr r1, [r0] - ldr r0, _080302A4 - strh r0, [r1, 0x10] - movs r0, 0x1 - bl sub_802FF04 -_0803029A: - pop {r0} - bx r0 - .align 2, 0 -_080302A0: .4byte gUnknown_203B318 -_080302A4: .4byte 0x0000ffff - thumb_func_end sub_8030258 - - thumb_func_start sub_80302A8 -sub_80302A8: - push {lr} - bl sub_801B6AC - cmp r0, 0x1 - bls _080302C0 - cmp r0, 0x3 - bhi _080302C0 - bl sub_801B72C - movs r0, 0xA - bl sub_802FF04 -_080302C0: - pop {r0} - bx r0 - thumb_func_end sub_80302A8 - - thumb_func_start sub_80302C4 -sub_80302C4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080302DC - ldr r0, _080302E4 - ldr r0, [r0] - ldr r0, [r0, 0xC] - bl sub_802FF04 -_080302DC: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080302E4: .4byte gUnknown_203B318 - thumb_func_end sub_80302C4 - - thumb_func_start sub_80302E8 -sub_80302E8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - bl sub_80306A4 - lsls r0, 24 - cmp r0, 0 - beq _08030302 - movs r0, 0 - b _0803039A -_08030302: - ldr r4, _080303A4 - ldr r0, [r4] - cmp r0, 0 - bne _08030314 - movs r0, 0xD0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] -_08030314: - ldr r0, [r4] - str r5, [r0, 0x64] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x6C - adds r1, r0, r1 - str r1, [r0, 0x68] - adds r0, 0x6C - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x64] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x6C - ldr r0, _080303A8 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r2, [r4] - ldr r1, [r2, 0x68] - adds r0, r2, 0 - adds r0, 0xCC - str r0, [r1, 0x14] - cmp r6, 0 - beq _08030362 - ldr r1, [r2, 0x64] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x74 - adds r1, r0 - ldr r0, [r6] - str r0, [r1] -_08030362: - ldr r0, [r4] - ldr r0, [r0, 0x68] - mov r1, r8 - bl sub_8012D08 - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x6C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r4] - adds r4, 0x30 - bl sub_8030668 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r5, 0 - bl sub_8013818 - bl sub_80304C8 - bl sub_803053C - movs r0, 0x1 -_0803039A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080303A4: .4byte gUnknown_203B31C -_080303A8: .4byte gUnknown_80E0804 - thumb_func_end sub_80302E8 - - thumb_func_start sub_80303AC -sub_80303AC: - push {r4,lr} - lsls r0, 24 - cmp r0, 0 - bne _080303C8 - ldr r0, _080303C4 - ldr r0, [r0] - adds r0, 0x30 - bl sub_8013660 - movs r0, 0 - b _08030410 - .align 2, 0 -_080303C4: .4byte gUnknown_203B31C -_080303C8: - ldr r4, _080303E4 - ldr r0, [r4] - adds r0, 0x30 - bl GetKeyPress - cmp r0, 0x1 - beq _080303E8 - cmp r0, 0x2 - bne _080303F2 - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _08030410 - .align 2, 0 -_080303E4: .4byte gUnknown_203B31C -_080303E8: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _08030410 -_080303F2: - ldr r0, [r4] - adds r0, 0x30 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _08030406 - movs r0, 0 - b _08030410 -_08030406: - bl sub_80304C8 - bl sub_803053C - movs r0, 0x1 -_08030410: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80303AC - - thumb_func_start sub_8030418 -sub_8030418: - ldr r0, _08030440 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x4E - movs r3, 0 - ldrsh r1, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r1 - adds r1, r2, 0 - adds r1, 0x48 - movs r3, 0 - ldrsh r1, [r1, r3] - adds r0, r1 - lsls r0, 1 - adds r0, r2, r0 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_08030440: .4byte gUnknown_203B31C - thumb_func_end sub_8030418 - - thumb_func_start sub_8030444 -sub_8030444: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8030668 - adds r1, r0, 0 - ldr r5, _0803047C - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x52 - strh r1, [r2] - adds r0, 0x30 - bl sub_8013984 - bl sub_80304C8 - bl sub_803053C - cmp r4, 0 - beq _08030476 - ldr r0, [r5] - adds r0, 0x30 - bl AddMenuCursorSprite -_08030476: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803047C: .4byte gUnknown_203B31C - thumb_func_end sub_8030444 - - thumb_func_start sub_8030480 -sub_8030480: - push {r4,r5,lr} - ldr r4, _080304C0 - ldr r2, [r4] - cmp r2, 0 - beq _080304BA - ldr r0, [r2, 0x64] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x6C - ldr r0, _080304C4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x6C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080304BA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080304C0: .4byte gUnknown_203B31C -_080304C4: .4byte gUnknown_80E07EC - thumb_func_end sub_8030480 - - thumb_func_start sub_80304C8 -sub_80304C8: - push {r4,lr} - ldr r4, _08030538 - ldr r0, [r4] - adds r0, 0xCC - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xCD - strb r2, [r0] - ldr r0, [r4] - adds r0, 0xCE - movs r1, 0x8 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xCF - strb r2, [r0] - ldr r0, [r4] - adds r0, 0x4A - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x64] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x7A - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x64] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x7C - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x6C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08030538: .4byte gUnknown_203B31C - thumb_func_end sub_80304C8 - - thumb_func_start sub_803053C -sub_803053C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x108 - ldr r4, _08030658 - ldr r0, [r4] - ldr r0, [r0, 0x64] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x64] - bl sub_80073B8 - ldr r2, _0803065C - ldr r0, [r4] - ldr r3, [r0, 0x64] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r3, [r4] - adds r0, r3, 0 - adds r0, 0xCE - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0x4 - adds r1, r3, 0 - adds r1, 0x4E - movs r5, 0 - ldrsh r2, [r1, r5] - adds r2, 0x1 - movs r1, 0x7 - str r1, [sp] - ldr r1, [r3, 0x64] - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r0, 0 - mov r9, r0 - ldr r0, [r4] - adds r0, 0x4A - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r9, r0 - bge _0803063E - mov r8, r4 -_080305A2: - mov r3, r8 - ldr r1, [r3] - adds r0, r1, 0 - adds r0, 0x4E - movs r5, 0 - ldrsh r2, [r0, r5] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r2 - add r0, r9 - lsls r0, 1 - adds r1, r0 - movs r5, 0 - ldrsh r4, [r1, r5] - adds r0, r4, 0 - bl sub_80A2740 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - bl sub_80A2668 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - mov r1, r8 - ldr r0, [r1] - adds r0, 0x30 - mov r1, r9 - bl sub_8013800 - adds r6, r0, 0 - movs r5, 0x7 - adds r0, r4, 0 - bl sub_809758C - lsls r0, 24 - cmp r0, 0 - beq _08030608 - mov r3, r8 - ldr r0, [r3] - ldr r3, [r0, 0x64] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - adds r1, r6, 0 - ldr r2, _08030660 - bl xxx_call_draw_string - movs r5, 0x4 -_08030608: - adds r0, r7, 0 - bl GetDungeonName1 - adds r3, r0, 0 - add r0, sp, 0x8 - ldr r1, _08030664 - adds r2, r5, 0 - bl sub_800D158 - mov r5, r8 - ldr r0, [r5] - ldr r3, [r0, 0x64] - movs r0, 0 - str r0, [sp] - movs r0, 0x10 - adds r1, r6, 0 - add r2, sp, 0x8 - bl xxx_call_draw_string - movs r0, 0x1 - add r9, r0 - ldr r0, [r5] - adds r0, 0x4A - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r9, r0 - blt _080305A2 -_0803063E: - ldr r0, _08030658 - ldr r0, [r0] - ldr r0, [r0, 0x64] - bl sub_80073E0 - add sp, 0x108 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030658: .4byte gUnknown_203B31C -_0803065C: .4byte gUnknown_80E081C -_08030660: .4byte gUnknown_80E0824 -_08030664: .4byte gUnknown_80E0828 - thumb_func_end sub_803053C - - thumb_func_start sub_8030668 -sub_8030668: - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 -_0803066E: - lsls r0, r5, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - bl sub_8097504 - lsls r0, 24 - cmp r0, 0 - beq _08030690 - adds r0, r4, 0 - bl sub_80A26CC - ldr r1, _080306A0 - ldr r1, [r1] - lsls r2, r6, 1 - adds r1, r2 - strh r0, [r1] - adds r6, 0x1 -_08030690: - adds r5, 0x1 - cmp r5, 0x16 - ble _0803066E - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080306A0: .4byte gUnknown_203B31C - thumb_func_end sub_8030668 - - thumb_func_start sub_80306A4 -sub_80306A4: - movs r0, 0 - bx lr - thumb_func_end sub_80306A4 - - thumb_func_start sub_80306A8 -sub_80306A8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - mov r8, r3 - bl sub_8030C20 - lsls r0, 24 - cmp r0, 0 - beq _080306C4 - movs r0, 0 - b _08030756 -_080306C4: - ldr r6, _08030760 - movs r0, 0xC4 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - str r4, [r0, 0x20] - str r5, [r0, 0x58] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x60 - adds r1, r0, r1 - str r1, [r0, 0x5C] - adds r0, 0x60 - bl sub_8006518 - ldr r1, [r6] - ldr r2, [r1, 0x58] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x60 - ldr r0, _08030764 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r2, [r6] - ldr r1, [r2, 0x5C] - adds r0, r2, 0 - adds r0, 0xC0 - str r0, [r1, 0x14] - cmp r7, 0 - beq _0803071E - ldr r1, [r2, 0x58] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x68 - adds r1, r0 - ldr r0, [r7] - str r0, [r1] -_0803071E: - ldr r0, [r6] - ldr r0, [r0, 0x5C] - mov r1, r8 - bl sub_8012D08 - bl ResetUnusedInputStruct - ldr r0, [r6] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r6] - adds r4, 0x24 - bl sub_8030A74 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r5, 0 - bl sub_8013818 - bl sub_80308A0 - bl sub_803092C - movs r0, 0x1 -_08030756: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08030760: .4byte gUnknown_203B320 -_08030764: .4byte gUnknown_80E0854 - thumb_func_end sub_80306A8 - - thumb_func_start sub_8030768 -sub_8030768: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _08030784 - ldr r0, _08030780 - ldr r0, [r0] - adds r0, 0x24 - bl sub_8013660 - movs r0, 0 - b _080307E6 - .align 2, 0 -_08030780: .4byte gUnknown_203B320 -_08030784: - ldr r0, _0803079C - ldr r0, [r0] - adds r0, 0x24 - bl GetKeyPress - cmp r0, 0x2 - beq _080307AE - cmp r0, 0x2 - bgt _080307A0 - cmp r0, 0x1 - beq _080307B8 - b _080307C2 - .align 2, 0 -_0803079C: .4byte gUnknown_203B320 -_080307A0: - cmp r0, 0x4 - bne _080307C2 - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _080307E6 -_080307AE: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _080307E6 -_080307B8: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _080307E6 -_080307C2: - ldr r0, _080307D8 - ldr r0, [r0] - adds r0, 0x24 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _080307DC - movs r0, 0 - b _080307E6 - .align 2, 0 -_080307D8: .4byte gUnknown_203B320 -_080307DC: - bl sub_80308A0 - bl sub_803092C - movs r0, 0x1 -_080307E6: - pop {r1} - bx r1 - thumb_func_end sub_8030768 - - thumb_func_start sub_80307EC -sub_80307EC: - ldr r0, _0803080C - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x42 - movs r3, 0 - ldrsh r1, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r1 - movs r3, 0x3C - ldrsh r1, [r2, r3] - adds r0, r1 - adds r2, r0 - ldrb r0, [r2] - bx lr - .align 2, 0 -_0803080C: .4byte gUnknown_203B320 - thumb_func_end sub_80307EC - - thumb_func_start sub_8030810 -sub_8030810: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8030A74 - adds r1, r0, 0 - ldr r5, _08030848 - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x46 - strh r1, [r2] - adds r0, 0x24 - bl sub_8013984 - bl sub_80308A0 - bl sub_803092C - cmp r4, 0 - beq _08030842 - ldr r0, [r5] - adds r0, 0x24 - bl AddMenuCursorSprite -_08030842: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08030848: .4byte gUnknown_203B320 - thumb_func_end sub_8030810 - - thumb_func_start sub_803084C -sub_803084C: - push {r4,r5,lr} - ldr r4, _0803088C - ldr r2, [r4] - cmp r2, 0 - beq _08030886 - ldr r0, [r2, 0x58] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x60 - ldr r0, _08030890 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08030886: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803088C: .4byte gUnknown_203B320 -_08030890: .4byte gUnknown_80E083C - thumb_func_end sub_803084C - - thumb_func_start sub_8030894 -sub_8030894: - ldr r0, _0803089C - ldr r0, [r0] - bx lr - .align 2, 0 -_0803089C: .4byte gUnknown_203B320 - thumb_func_end sub_8030894 - - thumb_func_start sub_80308A0 -sub_80308A0: - push {r4,lr} - ldr r4, _08030928 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x44 - ldrh r1, [r1] - adds r0, 0xC0 - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x42 - ldrh r1, [r1] - adds r0, 0xC1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC2 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC3 - strb r2, [r0] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x3E - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x58] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x6E - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x58] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x70 - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08030928: .4byte gUnknown_203B320 - thumb_func_end sub_80308A0 - - thumb_func_start sub_803092C -sub_803092C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x60 - ldr r7, _08030A24 - ldr r0, [r7] - ldr r0, [r0, 0x58] - bl sub_8008C54 - ldr r0, [r7] - ldr r0, [r0, 0x58] - bl sub_80073B8 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x42 - movs r2, 0 - ldrsh r4, [r0, r2] - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _08030A28 - ldr r0, [r1, 0x20] - lsls r0, 2 - adds r0, r2 - ldr r2, [r0] - ldr r3, [r1, 0x58] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0xC2 - ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - adds r0, r3, 0 - adds r0, 0x42 - movs r1, 0 - ldrsh r2, [r0, r1] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r3, 0x58] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x1 - bl sub_8012BC4 - movs r6, 0 - ldr r0, [r7] - movs r2, 0x3E - ldrsh r0, [r0, r2] - cmp r6, r0 - bge _08030A56 - mov r9, r7 - mov r8, r6 - add r7, sp, 0x8 - mov r5, sp - adds r5, 0x4B -_080309B0: - mov r3, r9 - ldr r1, [r3] - adds r0, r1, 0 - adds r0, 0x42 - movs r3, 0 - ldrsh r2, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r2 - adds r0, r6 - adds r1, r0 - ldrb r0, [r1] - bl sub_8095228 - adds r4, r0, 0 - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x58] - str r1, [sp, 0x8] - adds r0, 0x24 - adds r1, r6, 0 - bl sub_8013800 - str r0, [sp, 0x50] - add r1, sp, 0x48 - movs r0, 0x7 - strb r0, [r1] - mov r0, sp - adds r0, 0x4A - mov r2, r8 - strb r2, [r0] - add r0, sp, 0x4C - strb r2, [r0] - adds r0, r4, 0x4 - str r0, [sp, 0x10] - adds r0, 0x10 - str r0, [sp, 0x14] - ldrh r0, [r4, 0xC] - strh r0, [r7, 0x10] - ldrh r0, [r4, 0xC] - strh r0, [r7, 0x12] - strb r2, [r7, 0x14] - subs r1, 0x12 - movs r0, 0x5 - strb r0, [r1] - ldrb r0, [r4] - cmp r0, 0x4 - beq _08030A32 - cmp r0, 0x4 - bgt _08030A2C - cmp r0, 0x2 - bgt _08030A3E - cmp r0, 0x1 - blt _08030A3E - movs r0, 0x1 - strb r0, [r5] - b _08030A42 - .align 2, 0 -_08030A24: .4byte gUnknown_203B320 -_08030A28: .4byte gUnknown_80E086C -_08030A2C: - cmp r0, 0x5 - beq _08030A38 - b _08030A3E -_08030A32: - movs r0, 0x3 - strb r0, [r5] - b _08030A42 -_08030A38: - movs r0, 0x4 - strb r0, [r5] - b _08030A42 -_08030A3E: - mov r3, r8 - strb r3, [r5] -_08030A42: - add r0, sp, 0x8 - bl sub_803B6D4 - adds r6, 0x1 - mov r1, r9 - ldr r0, [r1] - movs r2, 0x3E - ldrsh r0, [r0, r2] - cmp r6, r0 - blt _080309B0 -_08030A56: - ldr r0, _08030A70 - ldr r0, [r0] - ldr r0, [r0, 0x58] - bl sub_80073E0 - add sp, 0x60 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030A70: .4byte gUnknown_203B320 - thumb_func_end sub_803092C - - thumb_func_start sub_8030A74 -sub_8030A74: - push {r4,r5,lr} - movs r2, 0 - ldr r0, _08030A90 - ldr r0, [r0] - ldr r0, [r0, 0x20] - cmp r0, 0x7 - bls _08030A84 - b _08030C0E -_08030A84: - lsls r0, 2 - ldr r1, _08030A94 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08030A90: .4byte gUnknown_203B320 -_08030A94: .4byte _08030A98 - .align 2, 0 -_08030A98: - .4byte _08030AB8 - .4byte _08030B10 - .4byte _08030B3C - .4byte _08030B94 - .4byte _08030B68 - .4byte _08030BC0 - .4byte _08030AE4 - .4byte _08030BEC -_08030AB8: - movs r1, 0 - ldr r5, _08030ADC - ldr r4, _08030AE0 - movs r3, 0 -_08030AC0: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _08030AD2 - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030AD2: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030AC0 - b _08030C0E - .align 2, 0 -_08030ADC: .4byte gUnknown_203B480 -_08030AE0: .4byte gUnknown_203B320 -_08030AE4: - movs r1, 0 - ldr r5, _08030B08 - ldr r4, _08030B0C - movs r3, 0 -_08030AEC: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x6 - bne _08030AFE - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030AFE: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030AEC - b _08030C0E - .align 2, 0 -_08030B08: .4byte gUnknown_203B480 -_08030B0C: .4byte gUnknown_203B320 -_08030B10: - movs r1, 0 - ldr r5, _08030B34 - ldr r4, _08030B38 - movs r3, 0 -_08030B18: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08030B2A - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030B2A: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030B18 - b _08030C0E - .align 2, 0 -_08030B34: .4byte gUnknown_203B480 -_08030B38: .4byte gUnknown_203B320 -_08030B3C: - movs r1, 0 - ldr r5, _08030B60 - ldr r4, _08030B64 - movs r3, 0 -_08030B44: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x2 - bne _08030B56 - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030B56: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030B44 - b _08030C0E - .align 2, 0 -_08030B60: .4byte gUnknown_203B480 -_08030B64: .4byte gUnknown_203B320 -_08030B68: - movs r1, 0 - ldr r5, _08030B8C - ldr r4, _08030B90 - movs r3, 0 -_08030B70: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x4 - bne _08030B82 - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030B82: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030B70 - b _08030C0E - .align 2, 0 -_08030B8C: .4byte gUnknown_203B480 -_08030B90: .4byte gUnknown_203B320 -_08030B94: - movs r1, 0 - ldr r5, _08030BB8 - ldr r4, _08030BBC - movs r3, 0 -_08030B9C: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x3 - bne _08030BAE - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030BAE: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030B9C - b _08030C0E - .align 2, 0 -_08030BB8: .4byte gUnknown_203B480 -_08030BBC: .4byte gUnknown_203B320 -_08030BC0: - movs r1, 0 - ldr r5, _08030BE4 - ldr r4, _08030BE8 - movs r3, 0 -_08030BC8: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x5 - bne _08030BDA - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030BDA: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030BC8 - b _08030C0E - .align 2, 0 -_08030BE4: .4byte gUnknown_203B480 -_08030BE8: .4byte gUnknown_203B320 -_08030BEC: - movs r1, 0 - ldr r5, _08030C18 - ldr r4, _08030C1C - movs r3, 0 -_08030BF4: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x7 - bne _08030C06 - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030C06: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030BF4 -_08030C0E: - adds r0, r2, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08030C18: .4byte gUnknown_203B480 -_08030C1C: .4byte gUnknown_203B320 - thumb_func_end sub_8030A74 - - thumb_func_start sub_8030C20 -sub_8030C20: - push {lr} - cmp r0, 0x7 - bls _08030C28 - b _08030D34 -_08030C28: - lsls r0, 2 - ldr r1, _08030C34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08030C34: .4byte _08030C38 - .align 2, 0 -_08030C38: - .4byte _08030C58 - .4byte _08030C90 - .4byte _08030CAC - .4byte _08030CE4 - .4byte _08030CC8 - .4byte _08030D00 - .4byte _08030C74 - .4byte _08030D20 -_08030C58: - movs r1, 0 - ldr r0, _08030C70 - ldr r2, [r0] -_08030C5E: - ldrb r0, [r2] - cmp r0, 0 - bne _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030C5E - b _08030D34 - .align 2, 0 -_08030C70: .4byte gUnknown_203B480 -_08030C74: - movs r1, 0 - ldr r0, _08030C8C - ldr r2, [r0] -_08030C7A: - ldrb r0, [r2] - cmp r0, 0x6 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030C7A - b _08030D34 - .align 2, 0 -_08030C8C: .4byte gUnknown_203B480 -_08030C90: - movs r1, 0 - ldr r0, _08030CA8 - ldr r2, [r0] -_08030C96: - ldrb r0, [r2] - cmp r0, 0x1 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030C96 - b _08030D34 - .align 2, 0 -_08030CA8: .4byte gUnknown_203B480 -_08030CAC: - movs r1, 0 - ldr r0, _08030CC4 - ldr r2, [r0] -_08030CB2: - ldrb r0, [r2] - cmp r0, 0x2 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030CB2 - b _08030D34 - .align 2, 0 -_08030CC4: .4byte gUnknown_203B480 -_08030CC8: - movs r1, 0 - ldr r0, _08030CE0 - ldr r2, [r0] -_08030CCE: - ldrb r0, [r2] - cmp r0, 0x4 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030CCE - b _08030D34 - .align 2, 0 -_08030CE0: .4byte gUnknown_203B480 -_08030CE4: - movs r1, 0 - ldr r0, _08030CFC - ldr r2, [r0] -_08030CEA: - ldrb r0, [r2] - cmp r0, 0x3 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030CEA - b _08030D34 - .align 2, 0 -_08030CFC: .4byte gUnknown_203B480 -_08030D00: - movs r1, 0 - ldr r0, _08030D18 - ldr r2, [r0] -_08030D06: - ldrb r0, [r2] - cmp r0, 0x5 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030D06 - b _08030D34 - .align 2, 0 -_08030D18: .4byte gUnknown_203B480 -_08030D1C: - movs r0, 0 - b _08030D36 -_08030D20: - movs r1, 0 - ldr r0, _08030D3C - ldr r2, [r0] -_08030D26: - ldrb r0, [r2] - cmp r0, 0x7 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030D26 -_08030D34: - movs r0, 0x1 -_08030D36: - pop {r1} - bx r1 - .align 2, 0 -_08030D3C: .4byte gUnknown_203B480 - thumb_func_end sub_8030C20 - - thumb_func_start sub_8030D40 -sub_8030D40: - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _08030D98 - movs r0, 0x78 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - strb r4, [r0, 0xC] - ldr r0, [r6] - bl sub_801317C - ldr r0, [r6] - str r5, [r0, 0x10] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x18 - adds r1, r0, r1 - str r1, [r0, 0x14] - adds r0, 0x18 - bl sub_8006518 - ldr r1, [r6] - ldr r2, [r1, 0x10] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x18 - ldr r0, _08030D9C - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - bl sub_8030DD4 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08030D98: .4byte gUnknown_203B324 -_08030D9C: .4byte gUnknown_80E091C - thumb_func_end sub_8030D40 - - thumb_func_start sub_8030DA0 -sub_8030DA0: - push {lr} - ldr r0, _08030DC0 - ldr r0, [r0] - ldr r1, [r0, 0x10] - bl sub_8012A64 - cmp r0, 0x1 - beq _08030DC4 - cmp r0, 0x2 - bne _08030DCE - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _08030DD0 - .align 2, 0 -_08030DC0: .4byte gUnknown_203B324 -_08030DC4: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _08030DD0 -_08030DCE: - movs r0, 0 -_08030DD0: - pop {r1} - bx r1 - thumb_func_end sub_8030DA0 - - thumb_func_start sub_8030DD4 -sub_8030DD4: - push {lr} - bl sub_8030E2C - bl sub_8030E48 - pop {r0} - bx r0 - thumb_func_end sub_8030DD4 - - thumb_func_start sub_8030DE4 -sub_8030DE4: - push {r4,r5,lr} - ldr r4, _08030E24 - ldr r2, [r4] - cmp r2, 0 - beq _08030E1E - ldr r0, [r2, 0x10] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x18 - ldr r0, _08030E28 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08030E1E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08030E24: .4byte gUnknown_203B324 -_08030E28: .4byte gUnknown_80E0900 - thumb_func_end sub_8030DE4 - - thumb_func_start sub_8030E2C -sub_8030E2C: - push {lr} - bl ResetUnusedInputStruct - ldr r0, _08030E44 - ldr r0, [r0] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r0} - bx r0 - .align 2, 0 -_08030E44: .4byte gUnknown_203B324 - thumb_func_end sub_8030E2C - - thumb_func_start sub_8030E48 -sub_8030E48: - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x15C - ldr r3, _08030EA8 - ldr r4, _08030EAC - ldr r2, [r4] - ldrb r1, [r2, 0xC] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - ldr r1, [r3] - adds r5, r1, r0 - ldr r0, [r2, 0x10] - bl sub_80073B8 - ldr r0, [r4] - ldr r0, [r0, 0x10] - str r0, [sp, 0x4] - add r1, sp, 0x44 - movs r2, 0 - movs r0, 0x7 - strb r0, [r1] - mov r0, sp - adds r0, 0x46 - strb r2, [r0] - add r0, sp, 0x48 - strb r2, [r0] - adds r0, r5, 0x4 - str r0, [sp, 0xC] - adds r0, 0x10 - str r0, [sp, 0x10] - add r1, sp, 0x4 - ldrh r0, [r5, 0xC] - strh r0, [r1, 0x10] - ldrh r0, [r5, 0xC] - strh r0, [r1, 0x12] - adds r0, r1, 0 - strb r2, [r0, 0x14] - adds r2, r5, 0 - adds r2, 0x22 - ldrb r0, [r2] - cmp r0, 0 - bne _08030EB0 - adds r1, 0x2E - movs r0, 0x5 - strb r0, [r1] - b _08030EBE - .align 2, 0 -_08030EA8: .4byte gUnknown_203B480 -_08030EAC: .4byte gUnknown_203B324 -_08030EB0: - mov r1, sp - adds r1, 0x32 - movs r0, 0x2 - strb r0, [r1] - ldrb r1, [r2] - add r0, sp, 0x38 - strb r1, [r0] -_08030EBE: - ldrb r0, [r5] - cmp r0, 0x2 - beq _08030ED2 - cmp r0, 0x2 - ble _08030EE2 - cmp r0, 0x4 - beq _08030ED2 - cmp r0, 0x5 - beq _08030EDA - b _08030EE2 -_08030ED2: - mov r1, sp - adds r1, 0x45 - movs r0, 0xA - b _08030EE8 -_08030EDA: - mov r1, sp - adds r1, 0x45 - movs r0, 0xB - b _08030EE8 -_08030EE2: - mov r1, sp - adds r1, 0x45 - movs r0, 0x9 -_08030EE8: - strb r0, [r1] - add r0, sp, 0x4 - bl CreateRescueDescription - ldrh r0, [r5, 0x10] - ldr r1, _08030F48 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r2, _08030F4C - ldr r5, _08030F50 - ldr r0, [r5] - ldr r3, [r0, 0x10] - movs r0, 0 - mov r8, r0 - str r0, [sp] - movs r0, 0xA - movs r1, 0x68 - bl xxx_call_draw_string - add r6, sp, 0x5C - ldr r1, _08030F54 - adds r0, r6, 0 - adds r2, r4, 0 - bl sub_800D158 - ldr r0, [r5] - ldr r3, [r0, 0x10] - mov r0, r8 - str r0, [sp] - movs r0, 0x44 - movs r1, 0x68 - adds r2, r6, 0 - bl xxx_call_draw_string - ldr r0, [r5] - ldr r0, [r0, 0x10] - bl sub_80073E0 - add sp, 0x15C - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08030F48: .4byte 0x00002710 -_08030F4C: .4byte gUnknown_80E0934 -_08030F50: .4byte gUnknown_203B324 -_08030F54: .4byte gUnknown_80E0938 - thumb_func_end sub_8030E48 - - thumb_func_start sub_8030F58 -sub_8030F58: - push {r4-r6,lr} - adds r6, r0, 0 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _08030FF4 - ldr r0, [r5] - cmp r0, 0 - bne _08030F88 - movs r4, 0x8E - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_08030F88: - ldr r0, [r5] - movs r1, 0x8C - lsls r1, 1 - adds r0, r1 - str r6, [r0] - movs r0, 0x98 - lsls r0, 1 - bl GetDialogueSpriteDataPtr - ldr r2, [r5] - movs r4, 0x84 - lsls r4, 1 - adds r1, r2, r4 - str r0, [r1] - movs r3, 0x86 - lsls r3, 1 - adds r1, r2, r3 - ldr r0, [r0, 0x4] - str r0, [r1] - movs r0, 0x8A - lsls r0, 1 - adds r2, r0 - movs r1, 0 - strb r1, [r2] - ldr r0, [r5] - ldr r2, _08030FF8 - adds r0, r2 - strb r1, [r0] - ldr r0, [r5] - adds r3, 0xA - adds r0, r3 - strb r1, [r0] - ldr r2, [r5] - movs r0, 0x88 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0x2 - strh r0, [r1] - subs r3, 0x4 - adds r1, r2, r3 - movs r0, 0x8 - strh r0, [r1] - adds r0, r6, 0 - bl sub_8030C20 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08031038 - cmp r6, 0x2 - beq _08030FFC - cmp r6, 0x4 - beq _08031014 - b _08031022 - .align 2, 0 -_08030FF4: .4byte gUnknown_203B328 -_08030FF8: .4byte 0x00000115 -_08030FFC: - ldr r0, _0803100C - ldr r2, [r5] - adds r2, r4 - ldr r3, _08031010 - movs r1, 0 - bl sub_80141B4 - b _08031022 - .align 2, 0 -_0803100C: .4byte gUnknown_80E09D8 -_08031010: .4byte 0x00000101 -_08031014: - ldr r0, _0803102C - ldr r2, [r5] - adds r2, r4 - ldr r3, _08031030 - movs r1, 0 - bl sub_80141B4 -_08031022: - ldr r0, _08031034 - ldr r1, [r0] - movs r0, 0x5 - str r0, [r1] - b _08031048 - .align 2, 0 -_0803102C: .4byte gUnknown_80E0A0C -_08031030: .4byte 0x00000101 -_08031034: .4byte gUnknown_203B328 -_08031038: - ldr r0, [r5] - str r1, [r0] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x8 - bl sub_80306A8 -_08031048: - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8030F58 - - thumb_func_start sub_8031050 -sub_8031050: - push {lr} - ldr r1, _08031068 - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x6 - bhi _080310AC - lsls r0, 2 - ldr r1, _0803106C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031068: .4byte gUnknown_203B328 -_0803106C: .4byte _08031070 - .align 2, 0 -_08031070: - .4byte _0803108C - .4byte _08031092 - .4byte _08031098 - .4byte _08031098 - .4byte _080310A2 - .4byte _080310A8 - .4byte _080310A8 -_0803108C: - bl sub_8031300 - b _080310AC -_08031092: - bl sub_803136C - b _080310AC -_08031098: - ldr r0, [r2] - ldr r0, [r0] - bl sub_80313D8 - b _080310AC -_080310A2: - bl sub_8031498 - b _080310AC -_080310A8: - movs r0, 0x3 - b _080310AE -_080310AC: - movs r0, 0 -_080310AE: - pop {r1} - bx r1 - thumb_func_end sub_8031050 - - thumb_func_start sub_80310B4 -sub_80310B4: - push {r4,lr} - bl sub_803084C - ldr r4, _080310E0 - ldr r0, [r4] - cmp r0, 0 - beq _080310D8 - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080310D8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080310E0: .4byte gUnknown_203B328 - thumb_func_end sub_80310B4 - - thumb_func_start sub_80310E4 -sub_80310E4: - push {lr} - ldr r1, _080310F8 - ldr r1, [r1] - str r0, [r1] - bl sub_80310FC - bl sub_8031258 - pop {r0} - bx r0 - .align 2, 0 -_080310F8: .4byte gUnknown_203B328 - thumb_func_end sub_80310E4 - - thumb_func_start sub_80310FC -sub_80310FC: - push {r4-r6,lr} - ldr r4, _0803111C - ldr r0, [r4] - adds r0, 0xA8 - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0x6 - bls _08031112 - b _0803122C -_08031112: - lsls r0, 2 - ldr r1, _08031120 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803111C: .4byte gUnknown_203B328 -_08031120: .4byte _08031124 - .align 2, 0 -_08031124: - .4byte _08031140 - .4byte _08031178 - .4byte _080311C0 - .4byte _080311C0 - .4byte _080311E8 - .4byte _0803122C - .4byte _0803122C -_08031140: - ldr r3, _08031170 - ldr r1, [r3] - ldr r2, _08031174 - adds r1, 0xC0 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r1, [r3] - adds r1, 0xD8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r0, 0xF0 - ldm r2!, {r1,r3,r4} - stm r0!, {r1,r3,r4} - ldm r2!, {r1,r5,r6} - stm r0!, {r1,r5,r6} - b _0803123A - .align 2, 0 -_08031170: .4byte gUnknown_203B328 -_08031174: .4byte gUnknown_80E0990 -_08031178: - ldr r3, _080311B0 - ldr r1, [r3] - adds r1, 0xC0 - ldr r0, _080311B4 - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - ldm r0!, {r2,r4,r6} - stm r1!, {r2,r4,r6} - ldr r1, [r3] - ldr r2, _080311B8 - adds r1, 0xD8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r0, 0xF0 - ldm r2!, {r1,r5,r6} - stm r0!, {r1,r5,r6} - ldm r2!, {r4-r6} - stm r0!, {r4-r6} - ldr r0, [r3] - adds r0, 0xC0 - ldr r1, _080311BC - bl sub_8012CAC - b _0803123A - .align 2, 0 -_080311B0: .4byte gUnknown_203B328 -_080311B4: .4byte gUnknown_80E09A8 -_080311B8: .4byte gUnknown_80E0990 -_080311BC: .4byte gUnknown_80E0968 -_080311C0: - ldr r2, _080311DC - ldr r1, [r2] - adds r1, 0xD8 - ldr r0, _080311E0 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3,r4,r6} - stm r1!, {r3,r4,r6} - ldr r0, [r2] - adds r0, 0xD8 - ldr r1, _080311E4 - bl sub_8012CAC - b _0803123A - .align 2, 0 -_080311DC: .4byte gUnknown_203B328 -_080311E0: .4byte gUnknown_80E09C0 -_080311E4: .4byte gUnknown_80E0948 -_080311E8: - ldr r3, _08031224 - ldr r1, [r3] - ldr r2, _08031228 - adds r1, 0xA8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r1, [r3] - adds r1, 0xC0 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r1, [r3] - adds r1, 0xD8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r0, 0xF0 - ldm r2!, {r1,r5,r6} - stm r0!, {r1,r5,r6} - ldm r2!, {r3-r5} - stm r0!, {r3-r5} - b _0803123A - .align 2, 0 -_08031224: .4byte gUnknown_203B328 -_08031228: .4byte gUnknown_80E0990 -_0803122C: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C -_0803123A: - bl ResetUnusedInputStruct - ldr r0, _08031254 - ldr r0, [r0] - adds r0, 0xA8 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08031254: .4byte gUnknown_203B328 - thumb_func_end sub_80310FC - - thumb_func_start sub_8031258 -sub_8031258: - push {r4,lr} - sub sp, 0x8 - ldr r1, _08031274 - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x6 - bhi _080312F6 - lsls r0, 2 - ldr r1, _08031278 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031274: .4byte gUnknown_203B328 -_08031278: .4byte _0803127C - .align 2, 0 -_0803127C: - .4byte _08031298 - .4byte _080312A0 - .4byte _080312BC - .4byte _080312BC - .4byte _080312EC - .4byte _080312F6 - .4byte _080312F6 -_08031298: - movs r0, 0x1 - bl sub_8030810 - b _080312F6 -_080312A0: - bl sub_803092C - ldr r0, _080312B4 - ldr r0, [r0] - adds r0, 0x8 - ldr r1, _080312B8 - movs r2, 0x4 - str r2, [sp] - movs r2, 0x1 - b _080312D8 - .align 2, 0 -_080312B4: .4byte gUnknown_203B328 -_080312B8: .4byte gUnknown_80E0968 -_080312BC: - bl sub_803092C - ldr r4, _080312E4 - ldr r0, [r4] - adds r0, 0x8 - movs r1, 0 - bl sub_8012EA4 - ldr r0, [r4] - adds r0, 0x58 - ldr r1, _080312E8 - movs r2, 0x3 - str r2, [sp] - movs r2, 0x2 -_080312D8: - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _080312F6 - .align 2, 0 -_080312E4: .4byte gUnknown_203B328 -_080312E8: .4byte gUnknown_80E0948 -_080312EC: - ldr r0, [r2] - ldrb r0, [r0, 0x4] - movs r1, 0x3 - bl sub_8030D40 -_080312F6: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8031258 - - thumb_func_start sub_8031300 -sub_8031300: - push {lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x4 - bhi _08031366 - lsls r0, 2 - ldr r1, _08031318 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031318: .4byte _0803131C - .align 2, 0 -_0803131C: - .4byte _08031366 - .4byte _08031366 - .4byte _08031360 - .4byte _08031330 - .4byte _08031348 -_08031330: - bl sub_80307EC - ldr r1, _08031344 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x1 - bl sub_80310E4 - b _08031366 - .align 2, 0 -_08031344: .4byte gUnknown_203B328 -_08031348: - bl sub_80307EC - ldr r1, _0803135C - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x4 - bl sub_80310E4 - b _08031366 - .align 2, 0 -_0803135C: .4byte gUnknown_203B328 -_08031360: - movs r0, 0x6 - bl sub_80310E4 -_08031366: - pop {r0} - bx r0 - thumb_func_end sub_8031300 - - thumb_func_start sub_803136C -sub_803136C: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_8030768 - ldr r4, _080313A4 - ldr r0, [r4] - adds r0, 0x8 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08031392 - ldr r0, [r4] - adds r0, 0x8 - mov r1, sp - bl sub_8013114 -_08031392: - ldr r0, [sp] - cmp r0, 0x4 - beq _080313C2 - cmp r0, 0x4 - bgt _080313A8 - cmp r0, 0x1 - beq _080313B2 - b _080313D0 - .align 2, 0 -_080313A4: .4byte gUnknown_203B328 -_080313A8: - cmp r0, 0x5 - beq _080313CA - cmp r0, 0x6 - beq _080313BA - b _080313D0 -_080313B2: - movs r0, 0 - bl sub_80310E4 - b _080313D0 -_080313BA: - movs r0, 0x3 - bl sub_80310E4 - b _080313D0 -_080313C2: - movs r0, 0x2 - bl sub_80310E4 - b _080313D0 -_080313CA: - movs r0, 0x4 - bl sub_80310E4 -_080313D0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803136C - - thumb_func_start sub_80313D8 -sub_80313D8: - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r0, 0 - str r0, [sp] - bl sub_8030768 - ldr r4, _08031418 - ldr r0, [r4] - adds r0, 0x8 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0x58 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08031408 - ldr r0, [r4] - adds r0, 0x58 - mov r1, sp - bl sub_8013114 -_08031408: - ldr r0, [sp] - cmp r0, 0x2 - beq _08031428 - cmp r0, 0x2 - bgt _0803141C - cmp r0, 0x1 - beq _08031420 - b _0803148E - .align 2, 0 -_08031418: .4byte gUnknown_203B328 -_0803141C: - cmp r0, 0x3 - bne _0803148E -_08031420: - movs r0, 0 - bl sub_80310E4 - b _0803148E -_08031428: - cmp r5, 0x2 - beq _08031432 - cmp r5, 0x3 - beq _0803143C - b _0803145A -_08031432: - ldr r0, [r4] - ldrb r0, [r0, 0x4] - bl sub_8095240 - b _0803145A -_0803143C: - ldr r4, _08031480 - movs r3, 0 - movs r1, 0 - movs r2, 0x1F -_08031444: - ldr r0, [r4] - adds r0, r1 - strb r3, [r0] - ldr r0, [r4] - adds r0, r1 - adds r0, 0x22 - strb r3, [r0] - adds r1, 0x30 - subs r2, 0x1 - cmp r2, 0 - bge _08031444 -_0803145A: - ldr r0, _08031484 - ldr r0, [r0] - movs r1, 0x8C - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x2 - beq _0803146E - cmp r0, 0x4 - bne _0803148E -_0803146E: - bl sub_8030C20 - lsls r0, 24 - cmp r0, 0 - beq _08031488 - movs r0, 0x5 - bl sub_80310E4 - b _0803148E - .align 2, 0 -_08031480: .4byte gUnknown_203B480 -_08031484: .4byte gUnknown_203B328 -_08031488: - movs r0, 0 - bl sub_80310E4 -_0803148E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80313D8 - - thumb_func_start sub_8031498 -sub_8031498: - push {lr} - bl sub_8030DA0 - cmp r0, 0x1 - bls _080314B0 - cmp r0, 0x3 - bhi _080314B0 - bl sub_8030DE4 - movs r0, 0 - bl sub_80310E4 -_080314B0: - pop {r0} - bx r0 - thumb_func_end sub_8031498 - - thumb_func_start sub_80314B4 -sub_80314B4: - push {r4-r6,lr} - lsls r0, 16 - asrs r5, r0, 16 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r6, _08031534 - movs r0, 0x18 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - ldr r0, _08031538 - adds r1, r5, 0 - bl sub_808D8E0 - adds r0, r5, 0 - bl GetMonSpecies - adds r1, r0, 0 - ldr r0, _0803153C - bl strcpy - ldr r0, [r6] - movs r4, 0 - str r4, [r0, 0x8] - str r4, [r0, 0xC] - cmp r5, 0 - beq _0803151E - adds r0, r5, 0 - bl GetDialogueSpriteDataPtr - ldr r1, [r6] - str r0, [r1, 0x8] - strb r4, [r1, 0x14] - ldr r0, [r6] - strb r4, [r0, 0x15] - ldr r0, [r6] - strb r4, [r0, 0x16] - ldr r1, [r6] - movs r0, 0x2 - strh r0, [r1, 0x10] - movs r0, 0x8 - strh r0, [r1, 0x12] - ldr r0, [r1, 0x8] - cmp r0, 0 - beq _0803151E - ldr r0, [r0, 0x4] - str r0, [r1, 0xC] -_0803151E: - ldr r0, _08031534 - ldr r1, [r0] - movs r0, 0 - str r0, [r1, 0x4] - movs r0, 0x1 - bl sub_80317C0 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08031534: .4byte gUnknown_203B32C -_08031538: .4byte gUnknown_202E5D8 -_0803153C: .4byte gAvailablePokemonNames - thumb_func_end sub_80314B4 - - thumb_func_start sub_8031540 -sub_8031540: - push {lr} - ldr r0, _08031558 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x9 - bhi _080315BA - lsls r0, 2 - ldr r1, _0803155C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031558: .4byte gUnknown_203B32C -_0803155C: .4byte _08031560 - .align 2, 0 -_08031560: - .4byte _080315AC - .4byte _08031588 - .4byte _08031588 - .4byte _0803158E - .4byte _08031594 - .4byte _0803159A - .4byte _080315A0 - .4byte _080315A6 - .4byte _080315B0 - .4byte _080315B6 -_08031588: - bl sub_80317D8 - b _080315BA -_0803158E: - bl sub_8031848 - b _080315BA -_08031594: - bl sub_8031864 - b _080315BA -_0803159A: - bl sub_80318D0 - b _080315BA -_080315A0: - bl sub_80318EC - b _080315BA -_080315A6: - bl sub_803192C - b _080315BA -_080315AC: - movs r0, 0x3 - b _080315BC -_080315B0: - bl sub_8031948 - b _080315BA -_080315B6: - bl sub_8031988 -_080315BA: - movs r0, 0 -_080315BC: - pop {r1} - bx r1 - thumb_func_end sub_8031540 - - thumb_func_start sub_80315C0 -sub_80315C0: - push {r4,lr} - ldr r4, _080315E4 - ldr r0, [r4] - cmp r0, 0 - beq _080315DE - ldr r0, [r0, 0x8] - cmp r0, 0 - beq _080315D4 - bl CloseFile -_080315D4: - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080315DE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080315E4: .4byte gUnknown_203B32C - thumb_func_end sub_80315C0 - - thumb_func_start nullsub_39 -nullsub_39: - bx lr - thumb_func_end nullsub_39 - - thumb_func_start sub_80315EC -sub_80315EC: - push {r4,r5,lr} - sub sp, 0x14 - movs r5, 0 - ldr r0, _08031618 - ldr r2, [r0] - ldr r1, [r2, 0x8] - adds r3, r0, 0 - cmp r1, 0 - beq _08031602 - adds r5, r2, 0 - adds r5, 0x8 -_08031602: - ldrb r0, [r2] - subs r0, 0x1 - cmp r0, 0x8 - bls _0803160C - b _080317B0 -_0803160C: - lsls r0, 2 - ldr r1, _0803161C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031618: .4byte gUnknown_203B32C -_0803161C: .4byte _08031620 - .align 2, 0 -_08031620: - .4byte _08031700 - .4byte _08031714 - .4byte _08031728 - .4byte _08031758 - .4byte _08031780 - .4byte _08031694 - .4byte _080316A8 - .4byte _08031644 - .4byte _08031658 -_08031644: - ldr r0, _08031650 - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _08031654 - b _08031760 - .align 2, 0 -_08031650: .4byte gUnknown_80E0C4C -_08031654: .4byte gUnknown_80E0BD4 -_08031658: - ldr r0, [r3] - ldr r0, [r0, 0x4] - cmp r0, 0x10 - beq _0803167C - cmp r0, 0x10 - bgt _0803166A - cmp r0, 0xF - beq _08031674 - b _080317B0 -_0803166A: - cmp r0, 0x11 - beq _08031684 - cmp r0, 0x12 - beq _0803168C - b _080317B0 -_08031674: - ldr r0, _08031678 - b _08031790 - .align 2, 0 -_08031678: .4byte gUnknown_80E0C70 -_0803167C: - ldr r0, _08031680 - b _08031790 - .align 2, 0 -_08031680: .4byte gUnknown_80E0DD0 -_08031684: - ldr r0, _08031688 - b _08031790 - .align 2, 0 -_08031688: .4byte gUnknown_80E0ED8 -_0803168C: - ldr r0, _08031690 - b _08031790 - .align 2, 0 -_08031690: .4byte gUnknown_80E10C8 -_08031694: - ldr r0, _080316A0 - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _080316A4 - b _08031760 - .align 2, 0 -_080316A0: .4byte gUnknown_80E0C4C -_080316A4: .4byte gUnknown_80E0B3C -_080316A8: - ldr r0, [r3] - ldr r0, [r0, 0x4] - subs r0, 0xA - cmp r0, 0x4 - bls _080316B4 - b _080317B0 -_080316B4: - lsls r0, 2 - ldr r1, _080316C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080316C0: .4byte _080316C4 - .align 2, 0 -_080316C4: - .4byte _080316D8 - .4byte _080316E0 - .4byte _080316F0 - .4byte _080316E8 - .4byte _080316F8 -_080316D8: - ldr r0, _080316DC - b _08031790 - .align 2, 0 -_080316DC: .4byte gUnknown_80E120C -_080316E0: - ldr r0, _080316E4 - b _08031790 - .align 2, 0 -_080316E4: .4byte gUnknown_80E136C -_080316E8: - ldr r0, _080316EC - b _08031790 - .align 2, 0 -_080316EC: .4byte gUnknown_80E1420 -_080316F0: - ldr r0, _080316F4 - b _08031790 - .align 2, 0 -_080316F4: .4byte gUnknown_80E157C -_080316F8: - ldr r0, _080316FC - b _08031790 - .align 2, 0 -_080316FC: .4byte gUnknown_80E169C -_08031700: - ldr r0, _0803170C - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _08031710 - b _08031760 - .align 2, 0 -_0803170C: .4byte gUnknown_80E17C8 -_08031710: .4byte gUnknown_80E0A48 -_08031714: - ldr r0, _08031720 - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _08031724 - b _08031760 - .align 2, 0 -_08031720: .4byte gUnknown_80E183C -_08031724: .4byte gUnknown_80E0A48 -_08031728: - ldr r0, [r3] - ldr r0, [r0, 0x4] - cmp r0, 0x1 - beq _08031748 - cmp r0, 0x1 - bgt _0803173A - cmp r0, 0 - beq _08031740 - b _080317B0 -_0803173A: - cmp r0, 0x2 - beq _08031750 - b _080317B0 -_08031740: - ldr r0, _08031744 - b _08031790 - .align 2, 0 -_08031744: .4byte gUnknown_80E1868 -_08031748: - ldr r0, _0803174C - b _08031790 - .align 2, 0 -_0803174C: .4byte gUnknown_80E1A30 -_08031750: - ldr r0, _08031754 - b _08031790 - .align 2, 0 -_08031754: .4byte gUnknown_80E1AD8 -_08031758: - ldr r0, _08031778 - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _0803177C -_08031760: - movs r4, 0 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _080317B0 - .align 2, 0 -_08031778: .4byte gUnknown_80E0C4C -_0803177C: .4byte gUnknown_80E0ABC -_08031780: - ldr r0, [r3] - ldr r0, [r0, 0x4] - cmp r0, 0x6 - beq _0803178E - cmp r0, 0x9 - beq _080317A4 - b _080317B0 -_0803178E: - ldr r0, _0803179C -_08031790: - ldr r3, _080317A0 - movs r1, 0 - adds r2, r5, 0 - bl sub_80141B4 - b _080317B0 - .align 2, 0 -_0803179C: .4byte gUnknown_80E1B88 -_080317A0: .4byte 0x0000010d -_080317A4: - ldr r0, _080317B8 - ldr r3, _080317BC - movs r1, 0 - adds r2, r5, 0 - bl sub_80141B4 -_080317B0: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080317B8: .4byte gUnknown_80E1D84 -_080317BC: .4byte 0x0000010d - thumb_func_end sub_80315EC - - thumb_func_start sub_80317C0 -sub_80317C0: - push {lr} - ldr r1, _080317D4 - ldr r1, [r1] - strb r0, [r1] - bl nullsub_39 - bl sub_80315EC - pop {r0} - bx r0 - .align 2, 0 -_080317D4: .4byte gUnknown_203B32C - thumb_func_end sub_80317C0 - - thumb_func_start sub_80317D8 -sub_80317D8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803183C - ldr r2, [sp] - cmp r2, 0x5 - bhi _0803183C - lsls r0, r2, 2 - ldr r1, _080317F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080317F8: .4byte _080317FC - .align 2, 0 -_080317FC: - .4byte _08031830 - .4byte _08031830 - .4byte _08031830 - .4byte _0803181C - .4byte _08031814 - .4byte _08031814 -_08031814: - movs r0, 0 - bl sub_80317C0 - b _0803183C -_0803181C: - ldr r0, _0803182C - ldr r0, [r0] - str r2, [r0, 0x4] - movs r0, 0x4 - bl sub_80317C0 - b _0803183C - .align 2, 0 -_0803182C: .4byte gUnknown_203B32C -_08031830: - ldr r0, _08031844 - ldr r0, [r0] - str r2, [r0, 0x4] - movs r0, 0x3 - bl sub_80317C0 -_0803183C: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08031844: .4byte gUnknown_203B32C - thumb_func_end sub_80317D8 - - thumb_func_start sub_8031848 -sub_8031848: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803185C - movs r0, 0x2 - bl sub_80317C0 -_0803185C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8031848 - - thumb_func_start sub_8031864 -sub_8031864: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080318C4 - ldr r0, [sp] - subs r1, r0, 0x5 - adds r2, r0, 0 - cmp r1, 0x4 - bhi _080318C4 - lsls r0, r1, 2 - ldr r1, _08031888 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031888: .4byte _0803188C - .align 2, 0 -_0803188C: - .4byte _080318A0 - .4byte _080318B8 - .4byte _080318A8 - .4byte _080318B0 - .4byte _080318B8 -_080318A0: - movs r0, 0x2 - bl sub_80317C0 - b _080318C4 -_080318A8: - movs r0, 0x6 - bl sub_80317C0 - b _080318C4 -_080318B0: - movs r0, 0x8 - bl sub_80317C0 - b _080318C4 -_080318B8: - ldr r0, _080318CC - ldr r0, [r0] - str r2, [r0, 0x4] - movs r0, 0x5 - bl sub_80317C0 -_080318C4: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080318CC: .4byte gUnknown_203B32C - thumb_func_end sub_8031864 - - thumb_func_start sub_80318D0 -sub_80318D0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080318E4 - movs r0, 0x4 - bl sub_80317C0 -_080318E4: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80318D0 - - thumb_func_start sub_80318EC -sub_80318EC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08031920 - ldr r1, [sp] - cmp r1, 0x5 - bne _08031908 - movs r0, 0x4 - bl sub_80317C0 - b _08031920 -_08031908: - cmp r1, 0x5 - blt _08031920 - cmp r1, 0xE - bgt _08031920 - cmp r1, 0xA - blt _08031920 - ldr r0, _08031928 - ldr r0, [r0] - str r1, [r0, 0x4] - movs r0, 0x7 - bl sub_80317C0 -_08031920: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08031928: .4byte gUnknown_203B32C - thumb_func_end sub_80318EC - - thumb_func_start sub_803192C -sub_803192C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08031940 - movs r0, 0x6 - bl sub_80317C0 -_08031940: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803192C - - thumb_func_start sub_8031948 -sub_8031948: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803197C - ldr r1, [sp] - cmp r1, 0x5 - bne _08031964 - movs r0, 0x4 - bl sub_80317C0 - b _0803197C -_08031964: - cmp r1, 0x5 - blt _0803197C - cmp r1, 0x12 - bgt _0803197C - cmp r1, 0xF - blt _0803197C - ldr r0, _08031984 - ldr r0, [r0] - str r1, [r0, 0x4] - movs r0, 0x9 - bl sub_80317C0 -_0803197C: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08031984: .4byte gUnknown_203B32C - thumb_func_end sub_8031948 - - thumb_func_start sub_8031988 -sub_8031988: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803199C - movs r0, 0x8 - bl sub_80317C0 -_0803199C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8031988 - - thumb_func_start sub_80319A4 -sub_80319A4: - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r5, r1, 0 - mov r8, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _080319F4 - movs r0, 0x78 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - strb r4, [r0, 0xC] - ldr r0, [r6] - strb r5, [r0, 0xD] - ldr r0, [r6] - bl sub_801317C - ldr r1, [r6] - mov r0, r8 - str r0, [r1, 0x10] - lsls r0, 1 - add r0, r8 - lsls r0, 3 - adds r0, 0x18 - adds r0, r1, r0 - str r0, [r1, 0x14] - bl sub_8031A2C - movs r0, 0x1 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080319F4: .4byte gUnknown_203B330 - thumb_func_end sub_80319A4 - - thumb_func_start sub_80319F8 -sub_80319F8: - push {lr} - ldr r0, _08031A18 - ldr r0, [r0] - ldr r1, [r0, 0x10] - bl sub_8012A64 - cmp r0, 0x1 - beq _08031A1C - cmp r0, 0x2 - bne _08031A26 - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _08031A28 - .align 2, 0 -_08031A18: .4byte gUnknown_203B330 -_08031A1C: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _08031A28 -_08031A26: - movs r0, 0 -_08031A28: - pop {r1} - bx r1 - thumb_func_end sub_80319F8 - - thumb_func_start sub_8031A2C -sub_8031A2C: - push {lr} - bl sub_8031A84 - bl sub_8031AE8 - pop {r0} - bx r0 - thumb_func_end sub_8031A2C - - thumb_func_start sub_8031A3C -sub_8031A3C: - push {r4,r5,lr} - ldr r4, _08031A7C - ldr r2, [r4] - cmp r2, 0 - beq _08031A76 - ldr r0, [r2, 0x10] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x18 - ldr r0, _08031A80 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08031A76: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08031A7C: .4byte gUnknown_203B330 -_08031A80: .4byte gUnknown_80E1EFC - thumb_func_end sub_8031A3C - - thumb_func_start sub_8031A84 -sub_8031A84: - push {r4,r5,lr} - ldr r4, _08031AE0 - ldr r0, [r4] - adds r0, 0x18 - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x10] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x18 - ldr r0, _08031AE4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r1, [r4] - ldrb r0, [r1, 0xC] - cmp r0, 0x2 - bne _08031AC6 - ldrb r0, [r1, 0xD] - bl sub_80969D0 - adds r1, r0, 0 - cmp r1, 0 - bne _08031ABE - movs r1, 0x1 -_08031ABE: - ldr r0, [r4] - ldr r0, [r0, 0x14] - bl sub_8012D08 -_08031AC6: - bl ResetUnusedInputStruct - ldr r0, _08031AE0 - ldr r0, [r0] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08031AE0: .4byte gUnknown_203B330 -_08031AE4: .4byte gUnknown_80E1F18 - thumb_func_end sub_8031A84 - - thumb_func_start sub_8031AE8 -sub_8031AE8: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xDC - ldr r7, _08031B24 - ldr r0, [r7] - ldr r0, [r0, 0x10] - bl sub_80073B8 - ldr r2, _08031B28 - ldr r0, [r7] - ldr r3, [r0, 0x10] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r1, [r7] - ldrb r0, [r1, 0xC] - cmp r0, 0x1 - beq _08031B2C - cmp r0, 0x1 - bgt _08031B1E - b _08031CD4 -_08031B1E: - cmp r0, 0x2 - beq _08031B94 - b _08031CD4 - .align 2, 0 -_08031B24: .4byte gUnknown_203B330 -_08031B28: .4byte gUnknown_80E1F30 -_08031B2C: - add r4, sp, 0x68 - adds r0, r4, 0 - bl sub_8099394 - ldrb r0, [r4] - bl sub_8095228 - adds r5, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x10] - movs r0, 0xA - movs r1, 0x10 - movs r2, 0x3 - bl sub_803B6B0 - ldr r1, _08031B8C - ldrb r2, [r5, 0x5] - add r0, sp, 0x4 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - str r6, [sp] - movs r0, 0x15 - movs r1, 0x10 - add r2, sp, 0x4 - bl xxx_call_draw_string - ldr r4, _08031B90 - movs r1, 0xC - ldrsh r0, [r5, r1] - bl GetMonSpecies - adds r2, r0, 0 - add r0, sp, 0x4 - adds r1, r4, 0 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - str r6, [sp] - movs r0, 0x28 - movs r1, 0x10 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _08031D4E - .align 2, 0 -_08031B8C: .4byte gUnknown_80E1F3C -_08031B90: .4byte gUnknown_80E1F40 -_08031B94: - ldrb r0, [r1, 0xD] - bl sub_80969D0 - adds r1, r0, 0 - cmp r1, 0 - bne _08031BB0 - ldr r2, _08031BAC - ldr r0, [r7] - ldr r3, [r0, 0x10] - str r1, [sp] - b _08031D2C - .align 2, 0 -_08031BAC: .4byte gUnknown_80E1F54 -_08031BB0: - movs r6, 0x10 - movs r2, 0 - mov r10, r2 - mov r8, r2 - ldr r0, _08031C28 - mov r9, r0 - mov r1, sp - adds r1, 0x6C - str r1, [sp, 0xD8] -_08031BC2: - mov r2, r10 - lsls r0, r2, 24 - lsrs r0, 24 - bl sub_8096AB4 - adds r4, r0, 0 - ldr r1, [r7] - ldrb r0, [r4, 0x4] - ldrb r2, [r1, 0xD] - cmp r0, r2 - bne _08031CC2 - ldrb r0, [r4] - cmp r0, 0 - beq _08031CC2 - cmp r0, 0x5 - beq _08031CC2 - cmp r0, 0x7 - beq _08031CC2 - ldr r3, [r1, 0x10] - movs r0, 0xA - adds r1, r6, 0 - movs r2, 0x3 - bl sub_803B6B0 - ldrb r0, [r4, 0x1] - add r5, sp, 0x6C - cmp r0, 0x3 - beq _08031C16 - ldrb r2, [r4, 0x5] - ldr r0, [sp, 0xD8] - ldr r1, _08031C2C - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - mov r0, r8 - str r0, [sp] - movs r0, 0x15 - adds r1, r6, 0 - ldr r2, [sp, 0xD8] - bl xxx_call_draw_string -_08031C16: - ldrb r0, [r4, 0x1] - cmp r0, 0x3 - beq _08031C58 - cmp r0, 0x3 - bgt _08031C30 - cmp r0, 0x2 - beq _08031C70 - b _08031C9C - .align 2, 0 -_08031C28: .4byte gUnknown_202DE58 -_08031C2C: .4byte gUnknown_80E1F3C -_08031C30: - cmp r0, 0x4 - bne _08031C9C - ldrb r1, [r4, 0x10] - mov r0, r9 - movs r2, 0 - bl sub_8090DC4 - adds r0, r5, 0 - ldr r1, _08031C54 - mov r2, r9 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - mov r1, r8 - str r1, [sp] - b _08031C8A - .align 2, 0 -_08031C54: .4byte gUnknown_80E1F60 -_08031C58: - ldrb r1, [r4, 0x10] - mov r0, r9 - movs r2, 0 - bl sub_8090DC4 - adds r0, r5, 0 - ldr r1, _08031C6C - mov r2, r9 - b _08031C7E - .align 2, 0 -_08031C6C: .4byte gUnknown_80E1F70 -_08031C70: - movs r1, 0xE - ldrsh r0, [r4, r1] - bl GetMonSpecies - adds r2, r0, 0 - adds r0, r5, 0 - ldr r1, _08031C98 -_08031C7E: - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - mov r2, r8 - str r2, [sp] -_08031C8A: - movs r0, 0x28 - adds r1, r6, 0 - adds r2, r5, 0 - bl xxx_call_draw_string - b _08031CC0 - .align 2, 0 -_08031C98: .4byte gUnknown_80E1F80 -_08031C9C: - movs r1, 0xE - ldrsh r0, [r4, r1] - bl GetMonSpecies - adds r2, r0, 0 - adds r0, r5, 0 - ldr r1, _08031CD0 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - mov r2, r8 - str r2, [sp] - movs r0, 0x28 - adds r1, r6, 0 - adds r2, r5, 0 - bl xxx_call_draw_string -_08031CC0: - adds r6, 0xC -_08031CC2: - movs r0, 0x1 - add r10, r0 - mov r1, r10 - cmp r1, 0x7 - bgt _08031CCE - b _08031BC2 -_08031CCE: - b _08031D4E - .align 2, 0 -_08031CD0: .4byte gUnknown_80E1F40 -_08031CD4: - add r0, sp, 0xD0 - mov r4, sp - adds r4, 0xD2 - adds r1, r4, 0 - bl sub_80992E0 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _08031D04 - movs r2, 0 - ldrsh r0, [r4, r2] - bl GetCurrentMissionText - adds r2, r0, 0 - ldr r0, _08031D00 - ldr r0, [r0] - ldr r3, [r0, 0x10] - movs r0, 0 - str r0, [sp] - b _08031D2C - .align 2, 0 -_08031D00: .4byte gUnknown_203B330 -_08031D04: - add r4, sp, 0xD4 - adds r0, r4, 0 - bl sub_8099360 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08031D3C - ldrb r0, [r4] - bl sub_80A2688 - lsls r0, 16 - asrs r0, 16 - bl sub_80975DC - adds r2, r0, 0 - ldr r0, _08031D38 - ldr r0, [r0] - ldr r3, [r0, 0x10] - str r5, [sp] -_08031D2C: - movs r0, 0xA - movs r1, 0x10 - bl xxx_call_draw_string - b _08031D4E - .align 2, 0 -_08031D38: .4byte gUnknown_203B330 -_08031D3C: - ldr r2, _08031D68 - ldr r0, _08031D6C - ldr r0, [r0] - ldr r3, [r0, 0x10] - str r1, [sp] - movs r0, 0xA - movs r1, 0x10 - bl xxx_call_draw_string -_08031D4E: - ldr r0, _08031D6C - ldr r0, [r0] - ldr r0, [r0, 0x10] - bl sub_80073E0 - add sp, 0xDC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08031D68: .4byte gUnknown_80E1F94 -_08031D6C: .4byte gUnknown_203B330 - thumb_func_end sub_8031AE8 - - thumb_func_start sub_8031D70 -sub_8031D70: - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - ldr r5, _08031DC4 - movs r0, 0x7C - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - stm r0!, {r6} - bl sub_801317C - ldr r0, [r5] - str r4, [r0, 0x10] - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 3 - adds r1, 0x18 - adds r1, r0, r1 - str r1, [r0, 0x14] - adds r0, 0x18 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x10] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x18 - ldr r0, _08031DC8 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - bl sub_8031E00 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08031DC4: .4byte gUnknown_203B334 -_08031DC8: .4byte gUnknown_80E1FC4 - thumb_func_end sub_8031D70 - - thumb_func_start sub_8031DCC -sub_8031DCC: - push {lr} - ldr r0, _08031DEC - ldr r1, [r0] - adds r0, r1, 0x4 - ldr r1, [r1, 0x10] - bl sub_8012A64 - cmp r0, 0x1 - beq _08031DF0 - cmp r0, 0x2 - bne _08031DFA - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _08031DFC - .align 2, 0 -_08031DEC: .4byte gUnknown_203B334 -_08031DF0: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _08031DFC -_08031DFA: - movs r0, 0 -_08031DFC: - pop {r1} - bx r1 - thumb_func_end sub_8031DCC - - thumb_func_start sub_8031E00 -sub_8031E00: - push {lr} - bl sub_8031E58 - bl sub_8031E74 - pop {r0} - bx r0 - thumb_func_end sub_8031E00 - - thumb_func_start sub_8031E10 -sub_8031E10: - push {r4,r5,lr} - ldr r4, _08031E50 - ldr r2, [r4] - cmp r2, 0 - beq _08031E4A - ldr r0, [r2, 0x10] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x18 - ldr r0, _08031E54 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08031E4A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08031E50: .4byte gUnknown_203B334 -_08031E54: .4byte gUnknown_80E1FA8 - thumb_func_end sub_8031E10 - - thumb_func_start sub_8031E58 -sub_8031E58: - push {lr} - bl ResetUnusedInputStruct - ldr r0, _08031E70 - ldr r0, [r0] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r0} - bx r0 - .align 2, 0 -_08031E70: .4byte gUnknown_203B334 - thumb_func_end sub_8031E58 - - thumb_func_start sub_8031E74 -sub_8031E74: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x3C - ldr r3, _08031EC0 - ldr r5, _08031EC4 - ldr r2, [r5] - ldr r1, [r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - ldr r4, [r3] - adds r4, r0 - ldr r0, [r2, 0x10] - bl sub_80073B8 - ldr r2, _08031EC8 - ldr r0, [r5] - ldr r3, [r0, 0x10] - movs r0, 0 - str r0, [sp] - movs r0, 0x14 - movs r1, 0 - bl xxx_call_draw_string - add r0, sp, 0x4 - adds r1, r4, 0 - bl sub_803D2C0 - movs r7, 0 - mov r8, r5 -_08031EB2: - cmp r7, 0x4 - ble _08031ED0 - cmp r7, 0xC - bgt _08031ECC - movs r6, 0x6 - movs r5, 0x16 - b _08031F00 - .align 2, 0 -_08031EC0: .4byte gUnknown_203B480 -_08031EC4: .4byte gUnknown_203B334 -_08031EC8: .4byte gUnknown_80E1FDC -_08031ECC: - cmp r7, 0x11 - bgt _08031ED6 -_08031ED0: - movs r6, 0x7 - movs r5, 0x15 - b _08031F00 -_08031ED6: - cmp r7, 0x16 - ble _08031EE8 - cmp r7, 0x1E - bgt _08031EE4 - movs r6, 0x6 - movs r5, 0x25 - b _08031F00 -_08031EE4: - cmp r7, 0x23 - bgt _08031EEE -_08031EE8: - movs r6, 0x7 - movs r5, 0x24 - b _08031F00 -_08031EEE: - cmp r7, 0x28 - ble _08031EFC - cmp r7, 0x30 - bgt _08031EFC - movs r6, 0x6 - movs r5, 0x34 - b _08031F00 -_08031EFC: - movs r6, 0x7 - movs r5, 0x33 -_08031F00: - adds r0, r7, 0 - movs r1, 0x12 - bl __modsi3 - movs r1, 0xB - adds r4, r0, 0 - muls r4, r1 - adds r4, 0x6 - mov r0, sp - adds r0, r7 - adds r0, 0x4 - ldrb r2, [r0] - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x10] - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - adds r3, r6, 0 - bl sub_8012C60 - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x10] - adds r2, r5, 0 - adds r2, 0xA - movs r1, 0x5 - str r1, [sp] - adds r1, r4, 0 - movs r3, 0xA - bl sub_80078A4 - adds r7, 0x1 - cmp r7, 0x35 - ble _08031EB2 - ldr r0, _08031F5C - ldr r0, [r0] - ldr r0, [r0, 0x10] - bl sub_80073E0 - add sp, 0x3C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08031F5C: .4byte gUnknown_203B334 - thumb_func_end sub_8031E74 - .align 2,0 diff --git a/asm/wonder_mail_4.s b/asm/wonder_mail_4.s new file mode 100644 index 0000000..f250af6 --- /dev/null +++ b/asm/wonder_mail_4.s @@ -0,0 +1,1821 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_80306A8 +sub_80306A8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r0, 0 + adds r5, r1, 0 + adds r7, r2, 0 + mov r8, r3 + bl sub_8030C20 + lsls r0, 24 + cmp r0, 0 + beq _080306C4 + movs r0, 0 + b _08030756 +_080306C4: + ldr r6, _08030760 + movs r0, 0xC4 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r6] + str r4, [r0, 0x20] + str r5, [r0, 0x58] + lsls r1, r5, 1 + adds r1, r5 + lsls r1, 3 + adds r1, 0x60 + adds r1, r0, r1 + str r1, [r0, 0x5C] + adds r0, 0x60 + bl sub_8006518 + ldr r1, [r6] + ldr r2, [r1, 0x58] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x60 + ldr r0, _08030764 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldr r2, [r6] + ldr r1, [r2, 0x5C] + adds r0, r2, 0 + adds r0, 0xC0 + str r0, [r1, 0x14] + cmp r7, 0 + beq _0803071E + ldr r1, [r2, 0x58] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r1, r2, 0 + adds r1, 0x68 + adds r1, r0 + ldr r0, [r7] + str r0, [r1] +_0803071E: + ldr r0, [r6] + ldr r0, [r0, 0x5C] + mov r1, r8 + bl sub_8012D08 + bl ResetUnusedInputStruct + ldr r0, [r6] + adds r0, 0x60 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r6] + adds r4, 0x24 + bl sub_8030A74 + adds r1, r0, 0 + adds r0, r4, 0 + mov r2, r8 + adds r3, r5, 0 + bl sub_8013818 + bl sub_80308A0 + bl sub_803092C + movs r0, 0x1 +_08030756: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08030760: .4byte gUnknown_203B320 +_08030764: .4byte gUnknown_80E0854 + thumb_func_end sub_80306A8 + + thumb_func_start sub_8030768 +sub_8030768: + push {lr} + lsls r0, 24 + cmp r0, 0 + bne _08030784 + ldr r0, _08030780 + ldr r0, [r0] + adds r0, 0x24 + bl sub_8013660 + movs r0, 0 + b _080307E6 + .align 2, 0 +_08030780: .4byte gUnknown_203B320 +_08030784: + ldr r0, _0803079C + ldr r0, [r0] + adds r0, 0x24 + bl GetKeyPress + cmp r0, 0x2 + beq _080307AE + cmp r0, 0x2 + bgt _080307A0 + cmp r0, 0x1 + beq _080307B8 + b _080307C2 + .align 2, 0 +_0803079C: .4byte gUnknown_203B320 +_080307A0: + cmp r0, 0x4 + bne _080307C2 + movs r0, 0x4 + bl PlayMenuSoundEffect + movs r0, 0x4 + b _080307E6 +_080307AE: + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _080307E6 +_080307B8: + movs r0, 0 + bl PlayMenuSoundEffect + movs r0, 0x3 + b _080307E6 +_080307C2: + ldr r0, _080307D8 + ldr r0, [r0] + adds r0, 0x24 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _080307DC + movs r0, 0 + b _080307E6 + .align 2, 0 +_080307D8: .4byte gUnknown_203B320 +_080307DC: + bl sub_80308A0 + bl sub_803092C + movs r0, 0x1 +_080307E6: + pop {r1} + bx r1 + thumb_func_end sub_8030768 + + thumb_func_start sub_80307EC +sub_80307EC: + ldr r0, _0803080C + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x42 + movs r3, 0 + ldrsh r1, [r0, r3] + subs r0, 0x2 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r0, r1 + movs r3, 0x3C + ldrsh r1, [r2, r3] + adds r0, r1 + adds r2, r0 + ldrb r0, [r2] + bx lr + .align 2, 0 +_0803080C: .4byte gUnknown_203B320 + thumb_func_end sub_80307EC + + thumb_func_start sub_8030810 +sub_8030810: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_8030A74 + adds r1, r0, 0 + ldr r5, _08030848 + ldr r0, [r5] + adds r2, r0, 0 + adds r2, 0x46 + strh r1, [r2] + adds r0, 0x24 + bl sub_8013984 + bl sub_80308A0 + bl sub_803092C + cmp r4, 0 + beq _08030842 + ldr r0, [r5] + adds r0, 0x24 + bl AddMenuCursorSprite +_08030842: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08030848: .4byte gUnknown_203B320 + thumb_func_end sub_8030810 + + thumb_func_start sub_803084C +sub_803084C: + push {r4,r5,lr} + ldr r4, _0803088C + ldr r2, [r4] + cmp r2, 0 + beq _08030886 + ldr r0, [r2, 0x58] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x60 + ldr r0, _08030890 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08030886: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803088C: .4byte gUnknown_203B320 +_08030890: .4byte gUnknown_80E083C + thumb_func_end sub_803084C + + thumb_func_start sub_8030894 +sub_8030894: + ldr r0, _0803089C + ldr r0, [r0] + bx lr + .align 2, 0 +_0803089C: .4byte gUnknown_203B320 + thumb_func_end sub_8030894 + + thumb_func_start sub_80308A0 +sub_80308A0: + push {r4,lr} + ldr r4, _08030928 + ldr r0, [r4] + adds r1, r0, 0 + adds r1, 0x44 + ldrh r1, [r1] + adds r0, 0xC0 + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + adds r1, r0, 0 + adds r1, 0x42 + ldrh r1, [r1] + adds r0, 0xC1 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xC2 + movs r1, 0xC + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xC3 + strb r2, [r0] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x3E + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x58] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x6E + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x58] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x70 + strh r3, [r2] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08030928: .4byte gUnknown_203B320 + thumb_func_end sub_80308A0 + + thumb_func_start sub_803092C +sub_803092C: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x60 + ldr r7, _08030A24 + ldr r0, [r7] + ldr r0, [r0, 0x58] + bl sub_8008C54 + ldr r0, [r7] + ldr r0, [r0, 0x58] + bl sub_80073B8 + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0x42 + movs r2, 0 + ldrsh r4, [r0, r2] + lsls r4, 3 + adds r5, r4, 0 + adds r5, 0xA + ldr r2, _08030A28 + ldr r0, [r1, 0x20] + lsls r0, 2 + adds r0, r2 + ldr r2, [r0] + ldr r3, [r1, 0x58] + movs r0, 0 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0 + bl xxx_call_draw_string + adds r4, 0x4 + ldr r3, [r7] + adds r0, r3, 0 + adds r0, 0xC2 + ldrb r0, [r0] + lsls r0, 3 + adds r5, r4, r0 + adds r0, r3, 0 + adds r0, 0x42 + movs r1, 0 + ldrsh r2, [r0, r1] + adds r2, 0x1 + movs r0, 0x7 + str r0, [sp] + ldr r0, [r3, 0x58] + str r0, [sp, 0x4] + adds r0, r5, 0 + movs r1, 0 + movs r3, 0x1 + bl sub_8012BC4 + movs r6, 0 + ldr r0, [r7] + movs r2, 0x3E + ldrsh r0, [r0, r2] + cmp r6, r0 + bge _08030A56 + mov r9, r7 + mov r8, r6 + add r7, sp, 0x8 + mov r5, sp + adds r5, 0x4B +_080309B0: + mov r3, r9 + ldr r1, [r3] + adds r0, r1, 0 + adds r0, 0x42 + movs r3, 0 + ldrsh r2, [r0, r3] + subs r0, 0x2 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r0, r2 + adds r0, r6 + adds r1, r0 + ldrb r0, [r1] + bl sub_8095228 + adds r4, r0, 0 + mov r1, r9 + ldr r0, [r1] + ldr r1, [r0, 0x58] + str r1, [sp, 0x8] + adds r0, 0x24 + adds r1, r6, 0 + bl sub_8013800 + str r0, [sp, 0x50] + add r1, sp, 0x48 + movs r0, 0x7 + strb r0, [r1] + mov r0, sp + adds r0, 0x4A + mov r2, r8 + strb r2, [r0] + add r0, sp, 0x4C + strb r2, [r0] + adds r0, r4, 0x4 + str r0, [sp, 0x10] + adds r0, 0x10 + str r0, [sp, 0x14] + ldrh r0, [r4, 0xC] + strh r0, [r7, 0x10] + ldrh r0, [r4, 0xC] + strh r0, [r7, 0x12] + strb r2, [r7, 0x14] + subs r1, 0x12 + movs r0, 0x5 + strb r0, [r1] + ldrb r0, [r4] + cmp r0, 0x4 + beq _08030A32 + cmp r0, 0x4 + bgt _08030A2C + cmp r0, 0x2 + bgt _08030A3E + cmp r0, 0x1 + blt _08030A3E + movs r0, 0x1 + strb r0, [r5] + b _08030A42 + .align 2, 0 +_08030A24: .4byte gUnknown_203B320 +_08030A28: .4byte gUnknown_80E086C +_08030A2C: + cmp r0, 0x5 + beq _08030A38 + b _08030A3E +_08030A32: + movs r0, 0x3 + strb r0, [r5] + b _08030A42 +_08030A38: + movs r0, 0x4 + strb r0, [r5] + b _08030A42 +_08030A3E: + mov r3, r8 + strb r3, [r5] +_08030A42: + add r0, sp, 0x8 + bl sub_803B6D4 + adds r6, 0x1 + mov r1, r9 + ldr r0, [r1] + movs r2, 0x3E + ldrsh r0, [r0, r2] + cmp r6, r0 + blt _080309B0 +_08030A56: + ldr r0, _08030A70 + ldr r0, [r0] + ldr r0, [r0, 0x58] + bl sub_80073E0 + add sp, 0x60 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08030A70: .4byte gUnknown_203B320 + thumb_func_end sub_803092C + + thumb_func_start sub_8030A74 +sub_8030A74: + push {r4,r5,lr} + movs r2, 0 + ldr r0, _08030A90 + ldr r0, [r0] + ldr r0, [r0, 0x20] + cmp r0, 0x7 + bls _08030A84 + b _08030C0E +_08030A84: + lsls r0, 2 + ldr r1, _08030A94 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08030A90: .4byte gUnknown_203B320 +_08030A94: .4byte _08030A98 + .align 2, 0 +_08030A98: + .4byte _08030AB8 + .4byte _08030B10 + .4byte _08030B3C + .4byte _08030B94 + .4byte _08030B68 + .4byte _08030BC0 + .4byte _08030AE4 + .4byte _08030BEC +_08030AB8: + movs r1, 0 + ldr r5, _08030ADC + ldr r4, _08030AE0 + movs r3, 0 +_08030AC0: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0 + beq _08030AD2 + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030AD2: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030AC0 + b _08030C0E + .align 2, 0 +_08030ADC: .4byte gUnknown_203B480 +_08030AE0: .4byte gUnknown_203B320 +_08030AE4: + movs r1, 0 + ldr r5, _08030B08 + ldr r4, _08030B0C + movs r3, 0 +_08030AEC: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x6 + bne _08030AFE + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030AFE: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030AEC + b _08030C0E + .align 2, 0 +_08030B08: .4byte gUnknown_203B480 +_08030B0C: .4byte gUnknown_203B320 +_08030B10: + movs r1, 0 + ldr r5, _08030B34 + ldr r4, _08030B38 + movs r3, 0 +_08030B18: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x1 + bne _08030B2A + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030B2A: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030B18 + b _08030C0E + .align 2, 0 +_08030B34: .4byte gUnknown_203B480 +_08030B38: .4byte gUnknown_203B320 +_08030B3C: + movs r1, 0 + ldr r5, _08030B60 + ldr r4, _08030B64 + movs r3, 0 +_08030B44: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x2 + bne _08030B56 + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030B56: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030B44 + b _08030C0E + .align 2, 0 +_08030B60: .4byte gUnknown_203B480 +_08030B64: .4byte gUnknown_203B320 +_08030B68: + movs r1, 0 + ldr r5, _08030B8C + ldr r4, _08030B90 + movs r3, 0 +_08030B70: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x4 + bne _08030B82 + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030B82: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030B70 + b _08030C0E + .align 2, 0 +_08030B8C: .4byte gUnknown_203B480 +_08030B90: .4byte gUnknown_203B320 +_08030B94: + movs r1, 0 + ldr r5, _08030BB8 + ldr r4, _08030BBC + movs r3, 0 +_08030B9C: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x3 + bne _08030BAE + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030BAE: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030B9C + b _08030C0E + .align 2, 0 +_08030BB8: .4byte gUnknown_203B480 +_08030BBC: .4byte gUnknown_203B320 +_08030BC0: + movs r1, 0 + ldr r5, _08030BE4 + ldr r4, _08030BE8 + movs r3, 0 +_08030BC8: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x5 + bne _08030BDA + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030BDA: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030BC8 + b _08030C0E + .align 2, 0 +_08030BE4: .4byte gUnknown_203B480 +_08030BE8: .4byte gUnknown_203B320 +_08030BEC: + movs r1, 0 + ldr r5, _08030C18 + ldr r4, _08030C1C + movs r3, 0 +_08030BF4: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x7 + bne _08030C06 + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030C06: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030BF4 +_08030C0E: + adds r0, r2, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08030C18: .4byte gUnknown_203B480 +_08030C1C: .4byte gUnknown_203B320 + thumb_func_end sub_8030A74 + + thumb_func_start sub_8030C20 +sub_8030C20: + push {lr} + cmp r0, 0x7 + bls _08030C28 + b _08030D34 +_08030C28: + lsls r0, 2 + ldr r1, _08030C34 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08030C34: .4byte _08030C38 + .align 2, 0 +_08030C38: + .4byte _08030C58 + .4byte _08030C90 + .4byte _08030CAC + .4byte _08030CE4 + .4byte _08030CC8 + .4byte _08030D00 + .4byte _08030C74 + .4byte _08030D20 +_08030C58: + movs r1, 0 + ldr r0, _08030C70 + ldr r2, [r0] +_08030C5E: + ldrb r0, [r2] + cmp r0, 0 + bne _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030C5E + b _08030D34 + .align 2, 0 +_08030C70: .4byte gUnknown_203B480 +_08030C74: + movs r1, 0 + ldr r0, _08030C8C + ldr r2, [r0] +_08030C7A: + ldrb r0, [r2] + cmp r0, 0x6 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030C7A + b _08030D34 + .align 2, 0 +_08030C8C: .4byte gUnknown_203B480 +_08030C90: + movs r1, 0 + ldr r0, _08030CA8 + ldr r2, [r0] +_08030C96: + ldrb r0, [r2] + cmp r0, 0x1 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030C96 + b _08030D34 + .align 2, 0 +_08030CA8: .4byte gUnknown_203B480 +_08030CAC: + movs r1, 0 + ldr r0, _08030CC4 + ldr r2, [r0] +_08030CB2: + ldrb r0, [r2] + cmp r0, 0x2 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030CB2 + b _08030D34 + .align 2, 0 +_08030CC4: .4byte gUnknown_203B480 +_08030CC8: + movs r1, 0 + ldr r0, _08030CE0 + ldr r2, [r0] +_08030CCE: + ldrb r0, [r2] + cmp r0, 0x4 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030CCE + b _08030D34 + .align 2, 0 +_08030CE0: .4byte gUnknown_203B480 +_08030CE4: + movs r1, 0 + ldr r0, _08030CFC + ldr r2, [r0] +_08030CEA: + ldrb r0, [r2] + cmp r0, 0x3 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030CEA + b _08030D34 + .align 2, 0 +_08030CFC: .4byte gUnknown_203B480 +_08030D00: + movs r1, 0 + ldr r0, _08030D18 + ldr r2, [r0] +_08030D06: + ldrb r0, [r2] + cmp r0, 0x5 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030D06 + b _08030D34 + .align 2, 0 +_08030D18: .4byte gUnknown_203B480 +_08030D1C: + movs r0, 0 + b _08030D36 +_08030D20: + movs r1, 0 + ldr r0, _08030D3C + ldr r2, [r0] +_08030D26: + ldrb r0, [r2] + cmp r0, 0x7 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030D26 +_08030D34: + movs r0, 0x1 +_08030D36: + pop {r1} + bx r1 + .align 2, 0 +_08030D3C: .4byte gUnknown_203B480 + thumb_func_end sub_8030C20 + + thumb_func_start sub_8030D40 +sub_8030D40: + push {r4-r6,lr} + adds r4, r0, 0 + adds r5, r1, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r6, _08030D98 + movs r0, 0x78 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r6] + strb r4, [r0, 0xC] + ldr r0, [r6] + bl sub_801317C + ldr r0, [r6] + str r5, [r0, 0x10] + lsls r1, r5, 1 + adds r1, r5 + lsls r1, 3 + adds r1, 0x18 + adds r1, r0, r1 + str r1, [r0, 0x14] + adds r0, 0x18 + bl sub_8006518 + ldr r1, [r6] + ldr r2, [r1, 0x10] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x18 + ldr r0, _08030D9C + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + bl sub_8030DD4 + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08030D98: .4byte gUnknown_203B324 +_08030D9C: .4byte gUnknown_80E091C + thumb_func_end sub_8030D40 + + thumb_func_start sub_8030DA0 +sub_8030DA0: + push {lr} + ldr r0, _08030DC0 + ldr r0, [r0] + ldr r1, [r0, 0x10] + bl sub_8012A64 + cmp r0, 0x1 + beq _08030DC4 + cmp r0, 0x2 + bne _08030DCE + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _08030DD0 + .align 2, 0 +_08030DC0: .4byte gUnknown_203B324 +_08030DC4: + movs r0, 0 + bl PlayMenuSoundEffect + movs r0, 0x3 + b _08030DD0 +_08030DCE: + movs r0, 0 +_08030DD0: + pop {r1} + bx r1 + thumb_func_end sub_8030DA0 + + thumb_func_start sub_8030DD4 +sub_8030DD4: + push {lr} + bl sub_8030E2C + bl sub_8030E48 + pop {r0} + bx r0 + thumb_func_end sub_8030DD4 + + thumb_func_start sub_8030DE4 +sub_8030DE4: + push {r4,r5,lr} + ldr r4, _08030E24 + ldr r2, [r4] + cmp r2, 0 + beq _08030E1E + ldr r0, [r2, 0x10] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x18 + ldr r0, _08030E28 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x18 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08030E1E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08030E24: .4byte gUnknown_203B324 +_08030E28: .4byte gUnknown_80E0900 + thumb_func_end sub_8030DE4 + + thumb_func_start sub_8030E2C +sub_8030E2C: + push {lr} + bl ResetUnusedInputStruct + ldr r0, _08030E44 + ldr r0, [r0] + adds r0, 0x18 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r0} + bx r0 + .align 2, 0 +_08030E44: .4byte gUnknown_203B324 + thumb_func_end sub_8030E2C + + thumb_func_start sub_8030E48 +sub_8030E48: + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0x15C + ldr r3, _08030EA8 + ldr r4, _08030EAC + ldr r2, [r4] + ldrb r1, [r2, 0xC] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 4 + ldr r1, [r3] + adds r5, r1, r0 + ldr r0, [r2, 0x10] + bl sub_80073B8 + ldr r0, [r4] + ldr r0, [r0, 0x10] + str r0, [sp, 0x4] + add r1, sp, 0x44 + movs r2, 0 + movs r0, 0x7 + strb r0, [r1] + mov r0, sp + adds r0, 0x46 + strb r2, [r0] + add r0, sp, 0x48 + strb r2, [r0] + adds r0, r5, 0x4 + str r0, [sp, 0xC] + adds r0, 0x10 + str r0, [sp, 0x10] + add r1, sp, 0x4 + ldrh r0, [r5, 0xC] + strh r0, [r1, 0x10] + ldrh r0, [r5, 0xC] + strh r0, [r1, 0x12] + adds r0, r1, 0 + strb r2, [r0, 0x14] + adds r2, r5, 0 + adds r2, 0x22 + ldrb r0, [r2] + cmp r0, 0 + bne _08030EB0 + adds r1, 0x2E + movs r0, 0x5 + strb r0, [r1] + b _08030EBE + .align 2, 0 +_08030EA8: .4byte gUnknown_203B480 +_08030EAC: .4byte gUnknown_203B324 +_08030EB0: + mov r1, sp + adds r1, 0x32 + movs r0, 0x2 + strb r0, [r1] + ldrb r1, [r2] + add r0, sp, 0x38 + strb r1, [r0] +_08030EBE: + ldrb r0, [r5] + cmp r0, 0x2 + beq _08030ED2 + cmp r0, 0x2 + ble _08030EE2 + cmp r0, 0x4 + beq _08030ED2 + cmp r0, 0x5 + beq _08030EDA + b _08030EE2 +_08030ED2: + mov r1, sp + adds r1, 0x45 + movs r0, 0xA + b _08030EE8 +_08030EDA: + mov r1, sp + adds r1, 0x45 + movs r0, 0xB + b _08030EE8 +_08030EE2: + mov r1, sp + adds r1, 0x45 + movs r0, 0x9 +_08030EE8: + strb r0, [r1] + add r0, sp, 0x4 + bl CreateRescueDescription + ldrh r0, [r5, 0x10] + ldr r1, _08030F48 + bl __umodsi3 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r2, _08030F4C + ldr r5, _08030F50 + ldr r0, [r5] + ldr r3, [r0, 0x10] + movs r0, 0 + mov r8, r0 + str r0, [sp] + movs r0, 0xA + movs r1, 0x68 + bl xxx_call_draw_string + add r6, sp, 0x5C + ldr r1, _08030F54 + adds r0, r6, 0 + adds r2, r4, 0 + bl sub_800D158 + ldr r0, [r5] + ldr r3, [r0, 0x10] + mov r0, r8 + str r0, [sp] + movs r0, 0x44 + movs r1, 0x68 + adds r2, r6, 0 + bl xxx_call_draw_string + ldr r0, [r5] + ldr r0, [r0, 0x10] + bl sub_80073E0 + add sp, 0x15C + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08030F48: .4byte 0x00002710 +_08030F4C: .4byte gUnknown_80E0934 +_08030F50: .4byte gUnknown_203B324 +_08030F54: .4byte gUnknown_80E0938 + thumb_func_end sub_8030E48 + + thumb_func_start sub_8030F58 +sub_8030F58: + push {r4-r6,lr} + adds r6, r0, 0 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r5, _08030FF4 + ldr r0, [r5] + cmp r0, 0 + bne _08030F88 + movs r4, 0x8E + lsls r4, 1 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_08030F88: + ldr r0, [r5] + movs r1, 0x8C + lsls r1, 1 + adds r0, r1 + str r6, [r0] + movs r0, 0x98 + lsls r0, 1 + bl GetDialogueSpriteDataPtr + ldr r2, [r5] + movs r4, 0x84 + lsls r4, 1 + adds r1, r2, r4 + str r0, [r1] + movs r3, 0x86 + lsls r3, 1 + adds r1, r2, r3 + ldr r0, [r0, 0x4] + str r0, [r1] + movs r0, 0x8A + lsls r0, 1 + adds r2, r0 + movs r1, 0 + strb r1, [r2] + ldr r0, [r5] + ldr r2, _08030FF8 + adds r0, r2 + strb r1, [r0] + ldr r0, [r5] + adds r3, 0xA + adds r0, r3 + strb r1, [r0] + ldr r2, [r5] + movs r0, 0x88 + lsls r0, 1 + adds r1, r2, r0 + movs r0, 0x2 + strh r0, [r1] + subs r3, 0x4 + adds r1, r2, r3 + movs r0, 0x8 + strh r0, [r1] + adds r0, r6, 0 + bl sub_8030C20 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + beq _08031038 + cmp r6, 0x2 + beq _08030FFC + cmp r6, 0x4 + beq _08031014 + b _08031022 + .align 2, 0 +_08030FF4: .4byte gUnknown_203B328 +_08030FF8: .4byte 0x00000115 +_08030FFC: + ldr r0, _0803100C + ldr r2, [r5] + adds r2, r4 + ldr r3, _08031010 + movs r1, 0 + bl sub_80141B4 + b _08031022 + .align 2, 0 +_0803100C: .4byte gUnknown_80E09D8 +_08031010: .4byte 0x00000101 +_08031014: + ldr r0, _0803102C + ldr r2, [r5] + adds r2, r4 + ldr r3, _08031030 + movs r1, 0 + bl sub_80141B4 +_08031022: + ldr r0, _08031034 + ldr r1, [r0] + movs r0, 0x5 + str r0, [r1] + b _08031048 + .align 2, 0 +_0803102C: .4byte gUnknown_80E0A0C +_08031030: .4byte 0x00000101 +_08031034: .4byte gUnknown_203B328 +_08031038: + ldr r0, [r5] + str r1, [r0] + adds r0, r6, 0 + movs r1, 0 + movs r2, 0 + movs r3, 0x8 + bl sub_80306A8 +_08031048: + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8030F58 + + thumb_func_start sub_8031050 +sub_8031050: + push {lr} + ldr r1, _08031068 + ldr r0, [r1] + ldr r0, [r0] + adds r2, r1, 0 + cmp r0, 0x6 + bhi _080310AC + lsls r0, 2 + ldr r1, _0803106C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08031068: .4byte gUnknown_203B328 +_0803106C: .4byte _08031070 + .align 2, 0 +_08031070: + .4byte _0803108C + .4byte _08031092 + .4byte _08031098 + .4byte _08031098 + .4byte _080310A2 + .4byte _080310A8 + .4byte _080310A8 +_0803108C: + bl sub_8031300 + b _080310AC +_08031092: + bl sub_803136C + b _080310AC +_08031098: + ldr r0, [r2] + ldr r0, [r0] + bl sub_80313D8 + b _080310AC +_080310A2: + bl sub_8031498 + b _080310AC +_080310A8: + movs r0, 0x3 + b _080310AE +_080310AC: + movs r0, 0 +_080310AE: + pop {r1} + bx r1 + thumb_func_end sub_8031050 + + thumb_func_start sub_80310B4 +sub_80310B4: + push {r4,lr} + bl sub_803084C + ldr r4, _080310E0 + ldr r0, [r4] + cmp r0, 0 + beq _080310D8 + movs r1, 0x84 + lsls r1, 1 + adds r0, r1 + ldr r0, [r0] + bl CloseFile + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_080310D8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080310E0: .4byte gUnknown_203B328 + thumb_func_end sub_80310B4 + + thumb_func_start sub_80310E4 +sub_80310E4: + push {lr} + ldr r1, _080310F8 + ldr r1, [r1] + str r0, [r1] + bl sub_80310FC + bl sub_8031258 + pop {r0} + bx r0 + .align 2, 0 +_080310F8: .4byte gUnknown_203B328 + thumb_func_end sub_80310E4 + + thumb_func_start sub_80310FC +sub_80310FC: + push {r4-r6,lr} + ldr r4, _0803111C + ldr r0, [r4] + adds r0, 0xA8 + bl sub_8006518 + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0x6 + bls _08031112 + b _0803122C +_08031112: + lsls r0, 2 + ldr r1, _08031120 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803111C: .4byte gUnknown_203B328 +_08031120: .4byte _08031124 + .align 2, 0 +_08031124: + .4byte _08031140 + .4byte _08031178 + .4byte _080311C0 + .4byte _080311C0 + .4byte _080311E8 + .4byte _0803122C + .4byte _0803122C +_08031140: + ldr r3, _08031170 + ldr r1, [r3] + ldr r2, _08031174 + adds r1, 0xC0 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r1, [r3] + adds r1, 0xD8 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r0, [r3] + adds r0, 0xF0 + ldm r2!, {r1,r3,r4} + stm r0!, {r1,r3,r4} + ldm r2!, {r1,r5,r6} + stm r0!, {r1,r5,r6} + b _0803123A + .align 2, 0 +_08031170: .4byte gUnknown_203B328 +_08031174: .4byte gUnknown_80E0990 +_08031178: + ldr r3, _080311B0 + ldr r1, [r3] + adds r1, 0xC0 + ldr r0, _080311B4 + ldm r0!, {r2,r4,r5} + stm r1!, {r2,r4,r5} + ldm r0!, {r2,r4,r6} + stm r1!, {r2,r4,r6} + ldr r1, [r3] + ldr r2, _080311B8 + adds r1, 0xD8 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r0, [r3] + adds r0, 0xF0 + ldm r2!, {r1,r5,r6} + stm r0!, {r1,r5,r6} + ldm r2!, {r4-r6} + stm r0!, {r4-r6} + ldr r0, [r3] + adds r0, 0xC0 + ldr r1, _080311BC + bl sub_8012CAC + b _0803123A + .align 2, 0 +_080311B0: .4byte gUnknown_203B328 +_080311B4: .4byte gUnknown_80E09A8 +_080311B8: .4byte gUnknown_80E0990 +_080311BC: .4byte gUnknown_80E0968 +_080311C0: + ldr r2, _080311DC + ldr r1, [r2] + adds r1, 0xD8 + ldr r0, _080311E0 + ldm r0!, {r3-r5} + stm r1!, {r3-r5} + ldm r0!, {r3,r4,r6} + stm r1!, {r3,r4,r6} + ldr r0, [r2] + adds r0, 0xD8 + ldr r1, _080311E4 + bl sub_8012CAC + b _0803123A + .align 2, 0 +_080311DC: .4byte gUnknown_203B328 +_080311E0: .4byte gUnknown_80E09C0 +_080311E4: .4byte gUnknown_80E0948 +_080311E8: + ldr r3, _08031224 + ldr r1, [r3] + ldr r2, _08031228 + adds r1, 0xA8 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r1, [r3] + adds r1, 0xC0 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r1, [r3] + adds r1, 0xD8 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r0, [r3] + adds r0, 0xF0 + ldm r2!, {r1,r5,r6} + stm r0!, {r1,r5,r6} + ldm r2!, {r3-r5} + stm r0!, {r3-r5} + b _0803123A + .align 2, 0 +_08031224: .4byte gUnknown_203B328 +_08031228: .4byte gUnknown_80E0990 +_0803122C: + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C +_0803123A: + bl ResetUnusedInputStruct + ldr r0, _08031254 + ldr r0, [r0] + adds r0, 0xA8 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08031254: .4byte gUnknown_203B328 + thumb_func_end sub_80310FC + + thumb_func_start sub_8031258 +sub_8031258: + push {r4,lr} + sub sp, 0x8 + ldr r1, _08031274 + ldr r0, [r1] + ldr r0, [r0] + adds r2, r1, 0 + cmp r0, 0x6 + bhi _080312F6 + lsls r0, 2 + ldr r1, _08031278 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08031274: .4byte gUnknown_203B328 +_08031278: .4byte _0803127C + .align 2, 0 +_0803127C: + .4byte _08031298 + .4byte _080312A0 + .4byte _080312BC + .4byte _080312BC + .4byte _080312EC + .4byte _080312F6 + .4byte _080312F6 +_08031298: + movs r0, 0x1 + bl sub_8030810 + b _080312F6 +_080312A0: + bl sub_803092C + ldr r0, _080312B4 + ldr r0, [r0] + adds r0, 0x8 + ldr r1, _080312B8 + movs r2, 0x4 + str r2, [sp] + movs r2, 0x1 + b _080312D8 + .align 2, 0 +_080312B4: .4byte gUnknown_203B328 +_080312B8: .4byte gUnknown_80E0968 +_080312BC: + bl sub_803092C + ldr r4, _080312E4 + ldr r0, [r4] + adds r0, 0x8 + movs r1, 0 + bl sub_8012EA4 + ldr r0, [r4] + adds r0, 0x58 + ldr r1, _080312E8 + movs r2, 0x3 + str r2, [sp] + movs r2, 0x2 +_080312D8: + str r2, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _080312F6 + .align 2, 0 +_080312E4: .4byte gUnknown_203B328 +_080312E8: .4byte gUnknown_80E0948 +_080312EC: + ldr r0, [r2] + ldrb r0, [r0, 0x4] + movs r1, 0x3 + bl sub_8030D40 +_080312F6: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8031258 + + thumb_func_start sub_8031300 +sub_8031300: + push {lr} + movs r0, 0x1 + bl sub_8030768 + cmp r0, 0x4 + bhi _08031366 + lsls r0, 2 + ldr r1, _08031318 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08031318: .4byte _0803131C + .align 2, 0 +_0803131C: + .4byte _08031366 + .4byte _08031366 + .4byte _08031360 + .4byte _08031330 + .4byte _08031348 +_08031330: + bl sub_80307EC + ldr r1, _08031344 + ldr r1, [r1] + strb r0, [r1, 0x4] + movs r0, 0x1 + bl sub_80310E4 + b _08031366 + .align 2, 0 +_08031344: .4byte gUnknown_203B328 +_08031348: + bl sub_80307EC + ldr r1, _0803135C + ldr r1, [r1] + strb r0, [r1, 0x4] + movs r0, 0x4 + bl sub_80310E4 + b _08031366 + .align 2, 0 +_0803135C: .4byte gUnknown_203B328 +_08031360: + movs r0, 0x6 + bl sub_80310E4 +_08031366: + pop {r0} + bx r0 + thumb_func_end sub_8031300 + + thumb_func_start sub_803136C +sub_803136C: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_8030768 + ldr r4, _080313A4 + ldr r0, [r4] + adds r0, 0x8 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08031392 + ldr r0, [r4] + adds r0, 0x8 + mov r1, sp + bl sub_8013114 +_08031392: + ldr r0, [sp] + cmp r0, 0x4 + beq _080313C2 + cmp r0, 0x4 + bgt _080313A8 + cmp r0, 0x1 + beq _080313B2 + b _080313D0 + .align 2, 0 +_080313A4: .4byte gUnknown_203B328 +_080313A8: + cmp r0, 0x5 + beq _080313CA + cmp r0, 0x6 + beq _080313BA + b _080313D0 +_080313B2: + movs r0, 0 + bl sub_80310E4 + b _080313D0 +_080313BA: + movs r0, 0x3 + bl sub_80310E4 + b _080313D0 +_080313C2: + movs r0, 0x2 + bl sub_80310E4 + b _080313D0 +_080313CA: + movs r0, 0x4 + bl sub_80310E4 +_080313D0: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803136C + + thumb_func_start sub_80313D8 +sub_80313D8: + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + movs r0, 0 + str r0, [sp] + bl sub_8030768 + ldr r4, _08031418 + ldr r0, [r4] + adds r0, 0x8 + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0x58 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08031408 + ldr r0, [r4] + adds r0, 0x58 + mov r1, sp + bl sub_8013114 +_08031408: + ldr r0, [sp] + cmp r0, 0x2 + beq _08031428 + cmp r0, 0x2 + bgt _0803141C + cmp r0, 0x1 + beq _08031420 + b _0803148E + .align 2, 0 +_08031418: .4byte gUnknown_203B328 +_0803141C: + cmp r0, 0x3 + bne _0803148E +_08031420: + movs r0, 0 + bl sub_80310E4 + b _0803148E +_08031428: + cmp r5, 0x2 + beq _08031432 + cmp r5, 0x3 + beq _0803143C + b _0803145A +_08031432: + ldr r0, [r4] + ldrb r0, [r0, 0x4] + bl sub_8095240 + b _0803145A +_0803143C: + ldr r4, _08031480 + movs r3, 0 + movs r1, 0 + movs r2, 0x1F +_08031444: + ldr r0, [r4] + adds r0, r1 + strb r3, [r0] + ldr r0, [r4] + adds r0, r1 + adds r0, 0x22 + strb r3, [r0] + adds r1, 0x30 + subs r2, 0x1 + cmp r2, 0 + bge _08031444 +_0803145A: + ldr r0, _08031484 + ldr r0, [r0] + movs r1, 0x8C + lsls r1, 1 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x2 + beq _0803146E + cmp r0, 0x4 + bne _0803148E +_0803146E: + bl sub_8030C20 + lsls r0, 24 + cmp r0, 0 + beq _08031488 + movs r0, 0x5 + bl sub_80310E4 + b _0803148E + .align 2, 0 +_08031480: .4byte gUnknown_203B480 +_08031484: .4byte gUnknown_203B328 +_08031488: + movs r0, 0 + bl sub_80310E4 +_0803148E: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80313D8 + + thumb_func_start sub_8031498 +sub_8031498: + push {lr} + bl sub_8030DA0 + cmp r0, 0x1 + bls _080314B0 + cmp r0, 0x3 + bhi _080314B0 + bl sub_8030DE4 + movs r0, 0 + bl sub_80310E4 +_080314B0: + pop {r0} + bx r0 + thumb_func_end sub_8031498 diff --git a/asm/wonder_mail_5.s b/asm/wonder_mail_5.s new file mode 100644 index 0000000..1669b8d --- /dev/null +++ b/asm/wonder_mail_5.s @@ -0,0 +1,571 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + + thumb_func_start sub_8031AE8 +sub_8031AE8: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xDC + ldr r7, _08031B24 + ldr r0, [r7] + ldr r0, [r0, 0x10] + bl sub_80073B8 + ldr r2, _08031B28 + ldr r0, [r7] + ldr r3, [r0, 0x10] + movs r6, 0 + str r6, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_call_draw_string + ldr r1, [r7] + ldrb r0, [r1, 0xC] + cmp r0, 0x1 + beq _08031B2C + cmp r0, 0x1 + bgt _08031B1E + b _08031CD4 +_08031B1E: + cmp r0, 0x2 + beq _08031B94 + b _08031CD4 + .align 2, 0 +_08031B24: .4byte gUnknown_203B330 +_08031B28: .4byte gUnknown_80E1F30 +_08031B2C: + add r4, sp, 0x68 + adds r0, r4, 0 + bl sub_8099394 + ldrb r0, [r4] + bl sub_8095228 + adds r5, r0, 0 + ldr r0, [r7] + ldr r3, [r0, 0x10] + movs r0, 0xA + movs r1, 0x10 + movs r2, 0x3 + bl sub_803B6B0 + ldr r1, _08031B8C + ldrb r2, [r5, 0x5] + add r0, sp, 0x4 + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x10] + str r6, [sp] + movs r0, 0x15 + movs r1, 0x10 + add r2, sp, 0x4 + bl xxx_call_draw_string + ldr r4, _08031B90 + movs r1, 0xC + ldrsh r0, [r5, r1] + bl GetMonSpecies + adds r2, r0, 0 + add r0, sp, 0x4 + adds r1, r4, 0 + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x10] + str r6, [sp] + movs r0, 0x28 + movs r1, 0x10 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _08031D4E + .align 2, 0 +_08031B8C: .4byte gUnknown_80E1F3C +_08031B90: .4byte gUnknown_80E1F40 +_08031B94: + ldrb r0, [r1, 0xD] + bl sub_80969D0 + adds r1, r0, 0 + cmp r1, 0 + bne _08031BB0 + ldr r2, _08031BAC + ldr r0, [r7] + ldr r3, [r0, 0x10] + str r1, [sp] + b _08031D2C + .align 2, 0 +_08031BAC: .4byte gUnknown_80E1F54 +_08031BB0: + movs r6, 0x10 + movs r2, 0 + mov r10, r2 + mov r8, r2 + ldr r0, _08031C28 + mov r9, r0 + mov r1, sp + adds r1, 0x6C + str r1, [sp, 0xD8] +_08031BC2: + mov r2, r10 + lsls r0, r2, 24 + lsrs r0, 24 + bl sub_8096AB4 + adds r4, r0, 0 + ldr r1, [r7] + ldrb r0, [r4, 0x4] + ldrb r2, [r1, 0xD] + cmp r0, r2 + bne _08031CC2 + ldrb r0, [r4] + cmp r0, 0 + beq _08031CC2 + cmp r0, 0x5 + beq _08031CC2 + cmp r0, 0x7 + beq _08031CC2 + ldr r3, [r1, 0x10] + movs r0, 0xA + adds r1, r6, 0 + movs r2, 0x3 + bl sub_803B6B0 + ldrb r0, [r4, 0x1] + add r5, sp, 0x6C + cmp r0, 0x3 + beq _08031C16 + ldrb r2, [r4, 0x5] + ldr r0, [sp, 0xD8] + ldr r1, _08031C2C + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x10] + mov r0, r8 + str r0, [sp] + movs r0, 0x15 + adds r1, r6, 0 + ldr r2, [sp, 0xD8] + bl xxx_call_draw_string +_08031C16: + ldrb r0, [r4, 0x1] + cmp r0, 0x3 + beq _08031C58 + cmp r0, 0x3 + bgt _08031C30 + cmp r0, 0x2 + beq _08031C70 + b _08031C9C + .align 2, 0 +_08031C28: .4byte gUnknown_202DE58 +_08031C2C: .4byte gUnknown_80E1F3C +_08031C30: + cmp r0, 0x4 + bne _08031C9C + ldrb r1, [r4, 0x10] + mov r0, r9 + movs r2, 0 + bl sub_8090DC4 + adds r0, r5, 0 + ldr r1, _08031C54 + mov r2, r9 + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x10] + mov r1, r8 + str r1, [sp] + b _08031C8A + .align 2, 0 +_08031C54: .4byte gUnknown_80E1F60 +_08031C58: + ldrb r1, [r4, 0x10] + mov r0, r9 + movs r2, 0 + bl sub_8090DC4 + adds r0, r5, 0 + ldr r1, _08031C6C + mov r2, r9 + b _08031C7E + .align 2, 0 +_08031C6C: .4byte gUnknown_80E1F70 +_08031C70: + movs r1, 0xE + ldrsh r0, [r4, r1] + bl GetMonSpecies + adds r2, r0, 0 + adds r0, r5, 0 + ldr r1, _08031C98 +_08031C7E: + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x10] + mov r2, r8 + str r2, [sp] +_08031C8A: + movs r0, 0x28 + adds r1, r6, 0 + adds r2, r5, 0 + bl xxx_call_draw_string + b _08031CC0 + .align 2, 0 +_08031C98: .4byte gUnknown_80E1F80 +_08031C9C: + movs r1, 0xE + ldrsh r0, [r4, r1] + bl GetMonSpecies + adds r2, r0, 0 + adds r0, r5, 0 + ldr r1, _08031CD0 + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x10] + mov r2, r8 + str r2, [sp] + movs r0, 0x28 + adds r1, r6, 0 + adds r2, r5, 0 + bl xxx_call_draw_string +_08031CC0: + adds r6, 0xC +_08031CC2: + movs r0, 0x1 + add r10, r0 + mov r1, r10 + cmp r1, 0x7 + bgt _08031CCE + b _08031BC2 +_08031CCE: + b _08031D4E + .align 2, 0 +_08031CD0: .4byte gUnknown_80E1F40 +_08031CD4: + add r0, sp, 0xD0 + mov r4, sp + adds r4, 0xD2 + adds r1, r4, 0 + bl sub_80992E0 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + beq _08031D04 + movs r2, 0 + ldrsh r0, [r4, r2] + bl GetCurrentMissionText + adds r2, r0, 0 + ldr r0, _08031D00 + ldr r0, [r0] + ldr r3, [r0, 0x10] + movs r0, 0 + str r0, [sp] + b _08031D2C + .align 2, 0 +_08031D00: .4byte gUnknown_203B330 +_08031D04: + add r4, sp, 0xD4 + adds r0, r4, 0 + bl sub_8099360 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + beq _08031D3C + ldrb r0, [r4] + bl sub_80A2688 + lsls r0, 16 + asrs r0, 16 + bl sub_80975DC + adds r2, r0, 0 + ldr r0, _08031D38 + ldr r0, [r0] + ldr r3, [r0, 0x10] + str r5, [sp] +_08031D2C: + movs r0, 0xA + movs r1, 0x10 + bl xxx_call_draw_string + b _08031D4E + .align 2, 0 +_08031D38: .4byte gUnknown_203B330 +_08031D3C: + ldr r2, _08031D68 + ldr r0, _08031D6C + ldr r0, [r0] + ldr r3, [r0, 0x10] + str r1, [sp] + movs r0, 0xA + movs r1, 0x10 + bl xxx_call_draw_string +_08031D4E: + ldr r0, _08031D6C + ldr r0, [r0] + ldr r0, [r0, 0x10] + bl sub_80073E0 + add sp, 0xDC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08031D68: .4byte gUnknown_80E1F94 +_08031D6C: .4byte gUnknown_203B330 + thumb_func_end sub_8031AE8 + + thumb_func_start sub_8031D70 +sub_8031D70: + push {r4-r6,lr} + adds r6, r0, 0 + adds r4, r1, 0 + ldr r5, _08031DC4 + movs r0, 0x7C + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + stm r0!, {r6} + bl sub_801317C + ldr r0, [r5] + str r4, [r0, 0x10] + lsls r1, r4, 1 + adds r1, r4 + lsls r1, 3 + adds r1, 0x18 + adds r1, r0, r1 + str r1, [r0, 0x14] + adds r0, 0x18 + bl sub_8006518 + ldr r1, [r5] + ldr r2, [r1, 0x10] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x18 + ldr r0, _08031DC8 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + bl sub_8031E00 + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08031DC4: .4byte gUnknown_203B334 +_08031DC8: .4byte gUnknown_80E1FC4 + thumb_func_end sub_8031D70 + + thumb_func_start sub_8031DCC +sub_8031DCC: + push {lr} + ldr r0, _08031DEC + ldr r1, [r0] + adds r0, r1, 0x4 + ldr r1, [r1, 0x10] + bl sub_8012A64 + cmp r0, 0x1 + beq _08031DF0 + cmp r0, 0x2 + bne _08031DFA + movs r0, 0x1 + bl PlayMenuSoundEffect + movs r0, 0x2 + b _08031DFC + .align 2, 0 +_08031DEC: .4byte gUnknown_203B334 +_08031DF0: + movs r0, 0 + bl PlayMenuSoundEffect + movs r0, 0x3 + b _08031DFC +_08031DFA: + movs r0, 0 +_08031DFC: + pop {r1} + bx r1 + thumb_func_end sub_8031DCC + + thumb_func_start sub_8031E00 +sub_8031E00: + push {lr} + bl sub_8031E58 + bl sub_8031E74 + pop {r0} + bx r0 + thumb_func_end sub_8031E00 + + thumb_func_start sub_8031E10 +sub_8031E10: + push {r4,r5,lr} + ldr r4, _08031E50 + ldr r2, [r4] + cmp r2, 0 + beq _08031E4A + ldr r0, [r2, 0x10] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x18 + ldr r0, _08031E54 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x18 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08031E4A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08031E50: .4byte gUnknown_203B334 +_08031E54: .4byte gUnknown_80E1FA8 + thumb_func_end sub_8031E10 + + thumb_func_start sub_8031E58 +sub_8031E58: + push {lr} + bl ResetUnusedInputStruct + ldr r0, _08031E70 + ldr r0, [r0] + adds r0, 0x18 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r0} + bx r0 + .align 2, 0 +_08031E70: .4byte gUnknown_203B334 + thumb_func_end sub_8031E58 + + thumb_func_start sub_8031E74 +sub_8031E74: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x3C + ldr r3, _08031EC0 + ldr r5, _08031EC4 + ldr r2, [r5] + ldr r1, [r2] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 4 + ldr r4, [r3] + adds r4, r0 + ldr r0, [r2, 0x10] + bl sub_80073B8 + ldr r2, _08031EC8 + ldr r0, [r5] + ldr r3, [r0, 0x10] + movs r0, 0 + str r0, [sp] + movs r0, 0x14 + movs r1, 0 + bl xxx_call_draw_string + add r0, sp, 0x4 + adds r1, r4, 0 + bl sub_803D2C0 + movs r7, 0 + mov r8, r5 +_08031EB2: + cmp r7, 0x4 + ble _08031ED0 + cmp r7, 0xC + bgt _08031ECC + movs r6, 0x6 + movs r5, 0x16 + b _08031F00 + .align 2, 0 +_08031EC0: .4byte gUnknown_203B480 +_08031EC4: .4byte gUnknown_203B334 +_08031EC8: .4byte gUnknown_80E1FDC +_08031ECC: + cmp r7, 0x11 + bgt _08031ED6 +_08031ED0: + movs r6, 0x7 + movs r5, 0x15 + b _08031F00 +_08031ED6: + cmp r7, 0x16 + ble _08031EE8 + cmp r7, 0x1E + bgt _08031EE4 + movs r6, 0x6 + movs r5, 0x25 + b _08031F00 +_08031EE4: + cmp r7, 0x23 + bgt _08031EEE +_08031EE8: + movs r6, 0x7 + movs r5, 0x24 + b _08031F00 +_08031EEE: + cmp r7, 0x28 + ble _08031EFC + cmp r7, 0x30 + bgt _08031EFC + movs r6, 0x6 + movs r5, 0x34 + b _08031F00 +_08031EFC: + movs r6, 0x7 + movs r5, 0x33 +_08031F00: + adds r0, r7, 0 + movs r1, 0x12 + bl __modsi3 + movs r1, 0xB + adds r4, r0, 0 + muls r4, r1 + adds r4, 0x6 + mov r0, sp + adds r0, r7 + adds r0, 0x4 + ldrb r2, [r0] + mov r1, r8 + ldr r0, [r1] + ldr r0, [r0, 0x10] + str r0, [sp] + adds r0, r4, 0 + adds r1, r5, 0 + adds r3, r6, 0 + bl sub_8012C60 + mov r1, r8 + ldr r0, [r1] + ldr r0, [r0, 0x10] + adds r2, r5, 0 + adds r2, 0xA + movs r1, 0x5 + str r1, [sp] + adds r1, r4, 0 + movs r3, 0xA + bl sub_80078A4 + adds r7, 0x1 + cmp r7, 0x35 + ble _08031EB2 + ldr r0, _08031F5C + ldr r0, [r0] + ldr r0, [r0, 0x10] + bl sub_80073E0 + add sp, 0x3C + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08031F5C: .4byte gUnknown_203B334 + thumb_func_end sub_8031E74 + + .align 2,0 |