From 3a1db3dfac99d017b592afa4e7e3fc7325e060cc Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Tue, 19 Oct 2021 17:48:38 -0700 Subject: Moves and some friend_area_action_menu --- asm/code_801DCC4.s | 522 ----- asm/code_80428A0.s | 4 +- asm/code_80450F8.s | 6 +- asm/code_8048480.s | 6 +- asm/code_80521D0.s | 30 +- asm/code_8057144.s | 6 +- asm/code_8057824.s | 58 +- asm/code_807001C.s | 2 +- asm/code_80718D8.s | 10 +- asm/code_8075BA4.s | 20 +- asm/code_8090208.s | 2 +- asm/code_8092334.s | 4503 --------------------------------------- asm/code_8094148.s | 749 +++++++ asm/friend_area_action_menu_1.s | 391 ---- asm/friend_list_menu.s | 2 +- asm/kangaskhan_storage_2.s | 649 ------ asm/moves_1.s | 2790 ++++++++++++++++++++++++ asm/pokemon.s | 4 +- 18 files changed, 3614 insertions(+), 6140 deletions(-) delete mode 100644 asm/code_8092334.s create mode 100644 asm/code_8094148.s delete mode 100644 asm/friend_area_action_menu_1.s create mode 100644 asm/moves_1.s (limited to 'asm') diff --git a/asm/code_801DCC4.s b/asm/code_801DCC4.s index ed678b6..52212b1 100644 --- a/asm/code_801DCC4.s +++ b/asm/code_801DCC4.s @@ -308,526 +308,4 @@ _0801E3E8: .4byte gWindowBGGreenString _0801E3EC: .4byte gUnknown_203B260 thumb_func_end CreateOptionsMenu - thumb_func_start sub_801E3F0 -sub_801E3F0: - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _0801E46C - ldr r0, [r4] - cmp r0, 0 - bne _0801E406 - movs r0, 0x9C - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] -_0801E406: - ldr r0, [r4] - str r5, [r0, 0x34] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x3C - adds r1, r0, r1 - str r1, [r0, 0x38] - adds r0, 0x3C - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x34] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x3C - ldr r0, _0801E470 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r0, [r4] - ldr r0, [r0, 0x38] - movs r1, 0xA - bl sub_8012D08 - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x5 - movs r2, 0xA - adds r3, r5, 0 - bl sub_8013818 - bl sub_801E594 - bl sub_801E5E8 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0801E46C: .4byte gUnknown_203B264 -_0801E470: .4byte gUnknown_80DC0BC - thumb_func_end sub_801E3F0 - - thumb_func_start sub_801E474 -sub_801E474: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0801E48C - ldr r0, _0801E488 - ldr r0, [r0] - bl sub_8013660 - movs r0, 0 - b _0801E4EE - .align 2, 0 -_0801E488: .4byte gUnknown_203B264 -_0801E48C: - ldr r0, _0801E4A4 - ldr r0, [r0] - bl GetKeyPress - cmp r0, 0x2 - beq _0801E4AE - cmp r0, 0x2 - bgt _0801E4A8 - cmp r0, 0x1 - beq _0801E4B8 - b _0801E4CC - .align 2, 0 -_0801E4A4: .4byte gUnknown_203B264 -_0801E4A8: - cmp r0, 0x4 - beq _0801E4C2 - b _0801E4CC -_0801E4AE: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0801E4EE -_0801E4B8: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0801E4EE -_0801E4C2: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0801E4EE -_0801E4CC: - ldr r0, _0801E4E0 - ldr r0, [r0] - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0801E4E4 - movs r0, 0 - b _0801E4EE - .align 2, 0 -_0801E4E0: .4byte gUnknown_203B264 -_0801E4E4: - bl sub_801E594 - bl sub_801E5E8 - movs r0, 0x1 -_0801E4EE: - pop {r1} - bx r1 - thumb_func_end sub_801E474 - - thumb_func_start sub_801E4F4 -sub_801E4F4: - ldr r0, _0801E50C - ldr r1, [r0] - movs r0, 0x1E - ldrsh r2, [r1, r0] - movs r3, 0x1C - ldrsh r0, [r1, r3] - muls r0, r2 - movs r2, 0x18 - ldrsh r1, [r1, r2] - adds r0, r1 - bx lr - .align 2, 0 -_0801E50C: .4byte gUnknown_203B264 - thumb_func_end sub_801E4F4 - - thumb_func_start sub_801E510 -sub_801E510: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0801E548 - ldr r0, [r5] - adds r0, 0x3C - movs r1, 0 - movs r2, 0 - bl sub_800641C - ldr r0, [r5] - bl sub_8013984 - bl sub_801E594 - bl sub_801E5E8 - cmp r4, 0 - beq _0801E542 - ldr r0, [r5] - bl AddMenuCursorSprite -_0801E542: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801E548: .4byte gUnknown_203B264 - thumb_func_end sub_801E510 - - thumb_func_start sub_801E54C -sub_801E54C: - push {r4,r5,lr} - ldr r4, _0801E58C - ldr r2, [r4] - cmp r2, 0 - beq _0801E586 - ldr r0, [r2, 0x34] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x3C - ldr r0, _0801E590 - 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] -_0801E586: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801E58C: .4byte gUnknown_203B264 -_0801E590: .4byte gUnknown_80DC0A0 - thumb_func_end sub_801E54C - - thumb_func_start sub_801E594 -sub_801E594: - push {r4,lr} - ldr r4, _0801E5E4 - 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 -_0801E5E4: .4byte gUnknown_203B264 - thumb_func_end sub_801E594 - - thumb_func_start sub_801E5E8 -sub_801E5E8: - push {r4-r6,lr} - sub sp, 0x4 - ldr r4, _0801E64C - ldr r0, [r4] - ldr r0, [r0, 0x34] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x34] - bl sub_80073B8 - ldr r2, _0801E650 - ldr r0, [r4] - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - movs r0, 0x10 - movs r1, 0 - bl xxx_call_draw_string - movs r5, 0 - adds r6, r4, 0 - ldr r4, _0801E654 -_0801E616: - ldr r0, [r6] - adds r1, r5, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r2, [r4] - ldr r0, [r6] - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - bl xxx_call_draw_string - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0x4 - ble _0801E616 - ldr r0, _0801E64C - ldr r0, [r0] - ldr r0, [r0, 0x34] - bl sub_80073E0 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801E64C: .4byte gUnknown_203B264 -_0801E650: .4byte gUnknown_80DC0D4 -_0801E654: .4byte gUnknown_80DAA98 - thumb_func_end sub_801E5E8 - - thumb_func_start sub_801E658 -sub_801E658: - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _0801E6C4 - movs r0, 0xA0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r1, 0 - str r1, [r0, 0x34] - adds r1, r0, 0 - adds r1, 0x3C - str r1, [r0, 0x38] - adds r0, r1, 0 - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x34] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x3C - ldr r0, _0801E6C8 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r0, [r4] - ldr r1, [r0, 0x38] - adds r0, 0x9C - str r0, [r1, 0x14] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - ldr r3, [r0, 0x34] - movs r1, 0x5 - movs r2, 0x1 - bl sub_8013818 - ldr r0, [r4] - strh r5, [r0, 0x1E] - bl sub_801E714 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0801E6C4: .4byte gUnknown_203B268 -_0801E6C8: .4byte gUnknown_80DC0FC - thumb_func_end sub_801E658 - - thumb_func_start sub_801E6CC -sub_801E6CC: - push {r4,lr} - ldr r4, _0801E6E8 - ldr r0, [r4] - bl GetKeyPress - cmp r0, 0x1 - beq _0801E6EC - cmp r0, 0x2 - bne _0801E6F6 - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0801E70C - .align 2, 0 -_0801E6E8: .4byte gUnknown_203B268 -_0801E6EC: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0801E70C -_0801E6F6: - ldr r0, [r4] - bl sub_8013938 - lsls r0, 24 - cmp r0, 0 - bne _0801E706 - movs r0, 0 - b _0801E70C -_0801E706: - bl sub_801E714 - movs r0, 0x1 -_0801E70C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_801E6CC - - thumb_func_start sub_801E714 -sub_801E714: - push {lr} - bl sub_801E76C - bl sub_801E7AC - pop {r0} - bx r0 - thumb_func_end sub_801E714 - - thumb_func_start sub_801E724 -sub_801E724: - push {r4,r5,lr} - ldr r4, _0801E764 - ldr r2, [r4] - cmp r2, 0 - beq _0801E75E - ldr r0, [r2, 0x34] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x3C - ldr r0, _0801E768 - 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] -_0801E75E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801E764: .4byte gUnknown_203B268 -_0801E768: .4byte gUnknown_80DC0E4 - thumb_func_end sub_801E724 - - thumb_func_start sub_801E76C -sub_801E76C: - push {r4,lr} - ldr r4, _0801E7A8 - 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, 0xF - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9F - strb r2, [r0] - 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 -_0801E7A8: .4byte gUnknown_203B268 - thumb_func_end sub_801E76C - - thumb_func_start sub_801E7AC -sub_801E7AC: - push {r4-r6,lr} - sub sp, 0x4 - ldr r5, _0801E804 - ldr r0, [r5] - ldr r0, [r0, 0x34] - bl sub_80073B8 - ldr r3, [r5] - movs r0, 0x1E - ldrsh r1, [r3, r0] - lsls r1, 3 - adds r0, r1, 0 - adds r0, 0x10 - ldr r4, _0801E808 - adds r1, r4 - ldr r2, [r1] - ldr r3, [r3, 0x34] - movs r6, 0 - str r6, [sp] - movs r1, 0 - bl xxx_call_draw_string - ldr r1, [r5] - movs r2, 0x1E - ldrsh r0, [r1, r2] - lsls r0, 3 - adds r4, 0x4 - adds r0, r4 - ldr r2, [r0] - ldr r3, [r1, 0x34] - str r6, [sp] - movs r0, 0xA - movs r1, 0x14 - bl xxx_call_draw_string - ldr r0, [r5] - ldr r0, [r0, 0x34] - bl sub_80073E0 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801E804: .4byte gUnknown_203B268 -_0801E808: .4byte gUnknown_80DAA98 - thumb_func_end sub_801E7AC - .align 2,0 diff --git a/asm/code_80428A0.s b/asm/code_80428A0.s index 52a4ab0..11aae2e 100644 --- a/asm/code_80428A0.s +++ b/asm/code_80428A0.s @@ -2391,7 +2391,7 @@ _08043E46: cmp r0, 0 beq _08043E58 adds r0, r5, 0 - bl sub_8092BF4 + bl GetMoveMaxPP strb r0, [r4, 0x4] _08043E58: adds r4, 0x8 @@ -2710,7 +2710,7 @@ _080440D0: bne _080440F0 ldrh r1, [r5] adds r0, r2, 0 - bl sub_8092AD4 + bl InitZeroedPPPokemonMove b _080440F8 .align 2, 0 _080440E4: .4byte gRecruitedPokemonRef diff --git a/asm/code_80450F8.s b/asm/code_80450F8.s index 70bbadf..3040a44 100644 --- a/asm/code_80450F8.s +++ b/asm/code_80450F8.s @@ -4593,7 +4593,7 @@ _080473E0: add r4, sp, 0x208 adds r0, r4, 0 ldr r1, _080474B8 - bl sub_8092A88 + bl InitPokemonMove ldr r0, [r5, 0x10] adds r1, r4, 0 bl sub_80571F0 @@ -5120,7 +5120,7 @@ _080477FA: lsrs r7, r1, 31 ldr r1, _08047854 add r0, sp, 0x8 - bl sub_8092A88 + bl InitPokemonMove ldr r0, [r4, 0x10] add r1, sp, 0x8 bl sub_80571F0 @@ -6275,7 +6275,7 @@ sub_80482FC: add r5, sp, 0x4 ldr r1, _0804833C adds r0, r5, 0 - bl sub_8092A88 + bl InitPokemonMove strb r6, [r5, 0x4] movs r3, 0x80 lsls r3, 1 diff --git a/asm/code_8048480.s b/asm/code_8048480.s index f7665b0..79a323d 100644 --- a/asm/code_8048480.s +++ b/asm/code_8048480.s @@ -118,12 +118,12 @@ _080485EE: cmp r0, 0 beq _0804862C adds r0, r5, 0 - bl sub_8092BC0 + bl GetMovePower cmp r0, 0 beq _0804862C ldrb r6, [r4, 0x5] adds r0, r5, 0 - bl sub_8092C0C + bl GetMoveUnk12 adds r1, r0, 0 ldrb r0, [r4, 0x5] add r0, r10 @@ -1615,7 +1615,7 @@ _080492FA: ldrb r4, [r5, 0x4] adds r0, r7, 0 str r2, [sp] - bl sub_8092BF4 + bl GetMoveMaxPP ldr r2, [sp] cmp r4, r0 beq _0804930C diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s index 2352de4..0bbdd13 100644 --- a/asm/code_80521D0.s +++ b/asm/code_80521D0.s @@ -2451,7 +2451,7 @@ _08053734: ldrb r1, [r1] strb r1, [r0] ldr r0, [sp, 0x18] - bl sub_8092CD8 + bl GetMoveTargetsUser lsls r0, 24 cmp r0, 0 beq _080537B4 @@ -2856,7 +2856,7 @@ _08053A86: cmp r0, 0x5 bne _08053AE8 ldr r0, [sp, 0x18] - bl sub_8092CC0 + bl GetMoveAffectedByMagicCoat lsls r0, 24 cmp r0, 0 beq _08053B5C @@ -3006,7 +3006,7 @@ _08053BC0: cmp r0, 0 beq _08053BFA mov r0, r8 - bl sub_8092D08 + bl IsBlockedBySoundproof lsls r0, 24 cmp r0, 0 beq _08053BFA @@ -5866,7 +5866,7 @@ sub_8055640: bl sub_8071A44 mov r8, r0 adds r0, r5, 0 - bl sub_8092C24 + bl GetMoveCriticalHitChance str r0, [sp] add r0, sp, 0x14 str r0, [sp, 0x4] @@ -5920,7 +5920,7 @@ sub_80556BC: bl sub_8071A44 mov r8, r0 adds r0, r5, 0 - bl sub_8092C24 + bl GetMoveCriticalHitChance str r0, [sp] add r0, sp, 0x14 str r0, [sp, 0x4] @@ -6179,7 +6179,7 @@ sub_80558DC: mov r9, r2 ldr r1, [r1, 0x70] mov r10, r1 - bl sub_8092B00 + bl GetMoveType lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x1 @@ -7042,7 +7042,7 @@ sub_8055FA0: adds r0, r1 ldrh r1, [r0] adds r0, r4, 0 - bl sub_8092A88 + bl InitPokemonMove ldrb r1, [r7] add r0, sp, 0x110 strb r1, [r0] @@ -7084,7 +7084,7 @@ _0805602C: adds r0, r1 ldrh r1, [r0] adds r0, r4, 0 - bl sub_8092A88 + bl InitPokemonMove ldrb r1, [r7] add r0, sp, 0x118 strb r1, [r0] @@ -7142,7 +7142,7 @@ _08056084: beq _080560CC _080560AE: ldrh r0, [r7, 0x2] - bl sub_809422C + bl DoesMoveCharge lsls r0, 24 cmp r0, 0 beq _080560CC @@ -7194,7 +7194,7 @@ _08056124: cmp r0, 0 bne _08056132 ldrh r0, [r7, 0x2] - bl sub_8092CA8 + bl GetMoveUseText b _08056136 _08056132: ldr r0, _08056194 @@ -7222,7 +7222,7 @@ _08056156: cmp r0, 0x1 bne _080561A0 ldrh r0, [r7, 0x2] - bl sub_8092CF0 + bl GetMoveAffectedByMuzzled lsls r0, 24 cmp r0, 0 beq _080561A0 @@ -8461,7 +8461,7 @@ sub_8056B34: lsls r4, 24 lsrs r4, 24 mov r0, r8 - bl sub_8092BD8 + bl GetMoveAccuracy adds r5, r0, 0 movs r0, 0x64 bl DungeonRandomCapped @@ -8608,7 +8608,7 @@ _08056C5A: cmp r0, 0 beq _08056C86 mov r0, r8 - bl sub_8092B00 + bl GetMoveType lsls r0, 24 lsrs r0, 24 bl sub_8092354 @@ -9152,7 +9152,7 @@ _0805706C: .4byte gUnknown_203B438 thumb_func_start sub_8057070 sub_8057070: push {lr} - bl sub_8092BA8 + bl GetMoveHitCount cmp r0, 0 bne _08057082 movs r0, 0x2 @@ -9231,4 +9231,4 @@ _080570EA: _080570F0: .4byte gUnknown_81069F4 thumb_func_end sub_80570AC - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/code_8057144.s b/asm/code_8057144.s index ce48efa..09ba149 100644 --- a/asm/code_8057144.s +++ b/asm/code_8057144.s @@ -392,7 +392,7 @@ sub_80573CC: cmp r1, 0x5 bne _08057414 adds r0, r4, 0 - bl sub_8092C54 + bl GetMoveDealsDirectDamage lsls r0, 24 cmp r0, 0 beq _0805743E @@ -460,7 +460,7 @@ sub_805744C: cmp r1, 0x5 bne _0805748E adds r0, r4, 0 - bl sub_8092C54 + bl GetMoveDealsDirectDamage lsls r0, 24 cmp r0, 0 beq _080574B6 @@ -603,7 +603,7 @@ sub_805755C: b _08057580 _08057576: adds r0, r4, 0 - bl sub_809422C + bl DoesMoveCharge lsls r0, 24 lsrs r0, 24 _08057580: diff --git a/asm/code_8057824.s b/asm/code_8057824.s index a14ab18..554a536 100644 --- a/asm/code_8057824.s +++ b/asm/code_8057824.s @@ -162,7 +162,7 @@ _08057B12: movs r1, 0xB0 lsls r1, 1 mov r0, sp - bl sub_8092A88 + bl InitPokemonMove ldrb r1, [r4] movs r0, 0x20 orrs r0, r1 @@ -896,7 +896,7 @@ _080580A0: bge _08058088 _080580B0: adds r0, r5, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -1285,7 +1285,7 @@ sub_805836C: adds r4, r0, 0 _0805838A: adds r0, r2, 0 - bl sub_8092B00 + bl GetMoveType lsls r0, 24 lsrs r0, 24 add r1, sp, 0x18 @@ -1470,7 +1470,7 @@ sub_80584C0: movs r5, 0 _080584F0: adds r0, r6, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -2902,7 +2902,7 @@ _08058F7E: adds r0, r5, r4 ldrh r1, [r0] mov r0, sp - bl sub_8092A88 + bl InitPokemonMove adds r4, 0x4 adds r5, r4 ldr r4, [r5] @@ -2975,7 +2975,7 @@ sub_8059004: adds r5, r2, 0 adds r6, r3, 0 adds r0, r5, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -3094,7 +3094,7 @@ sub_80590D4: mov r1, r9 strb r1, [r0] adds r0, r5, 0 - bl sub_8092B00 + bl GetMoveType adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -3125,7 +3125,7 @@ _0805911C: _08059130: .4byte gUnknown_80FEB88 _08059134: adds r0, r5, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -3469,7 +3469,7 @@ _080593C8: .4byte gUnknown_80FE3BC _080593CC: adds r0, r5, 0 mov r1, r12 - bl sub_8092A88 + bl InitPokemonMove ldr r0, _0805941C adds r1, r5, 0 movs r2, 0 @@ -3765,7 +3765,7 @@ sub_80595EC: add r0, sp, 0x18 strb r7, [r0] adds r0, r5, 0 - bl sub_8092B00 + bl GetMoveType adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -3785,7 +3785,7 @@ sub_80595EC: _0805962C: .4byte gUnknown_80FEB8C _08059630: adds r0, r5, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -3916,7 +3916,7 @@ sub_8059714: add r0, sp, 0x18 strb r5, [r0] adds r0, r6, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -4023,7 +4023,7 @@ sub_80597F0: adds r5, r2, 0 adds r6, r3, 0 adds r0, r5, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -4328,7 +4328,7 @@ sub_8059A2C: ldrb r0, [r0, 0x9] mov r10, r0 adds r0, r6, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -4433,7 +4433,7 @@ sub_8059AF8: add r0, sp, 0x18 strb r7, [r0] adds r0, r5, 0 - bl sub_8092B00 + bl GetMoveType adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -4453,7 +4453,7 @@ sub_8059AF8: _08059B38: .4byte gUnknown_80FEB90 _08059B3C: adds r0, r5, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -4921,7 +4921,7 @@ _08059E8A: bl sub_8071A44 adds r5, r0, 0 adds r0, r7, 0 - bl sub_8092C24 + bl GetMoveCriticalHitChance str r0, [sp] add r2, sp, 0x18 str r2, [sp, 0x4] @@ -5103,7 +5103,7 @@ _08059FFE: bl sub_8071A44 adds r5, r0, 0 adds r0, r7, 0 - bl sub_8092C24 + bl GetMoveCriticalHitChance str r0, [sp] add r2, sp, 0x18 str r2, [sp, 0x4] @@ -6340,7 +6340,7 @@ _0805A94C: add r4, sp, 0x1C ldr r1, _0805AA44 adds r0, r4, 0 - bl sub_8092A88 + bl InitPokemonMove adds r0, r5, 0 adds r1, r4, 0 bl sub_80571F0 @@ -7957,7 +7957,7 @@ _0805B588: bge _0805B570 _0805B598: adds r0, r6, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -8039,7 +8039,7 @@ sub_805B618: adds r0, r4, r5 ldrh r1, [r0] mov r0, sp - bl sub_8092A88 + bl InitPokemonMove adds r5, 0x4 adds r4, r5 ldr r4, [r4] @@ -8295,7 +8295,7 @@ sub_805B808: add r0, sp, 0x18 strb r5, [r0] adds r0, r6, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -9523,7 +9523,7 @@ sub_805C138: add r0, sp, 0x18 strb r5, [r0] adds r0, r6, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -9643,7 +9643,7 @@ sub_805C208: bl GetSizeOrbDmg mov r10, r0 adds r0, r6, 0 - bl sub_8092B00 + bl GetMoveType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -10965,7 +10965,7 @@ sub_805CEB8: cmp r0, 0x1 bne _0805CEE0 adds r0, r7, 0 - bl sub_8092C3C + bl GetMoveCannotHitFrozen lsls r0, 24 cmp r0, 0 beq _0805CEE0 @@ -24313,7 +24313,7 @@ sub_8063C88: lsls r1, 1 adds r0, r1 ldrh r0, [r0] - bl sub_809422C + bl DoesMoveCharge lsls r0, 24 cmp r0, 0 beq _08063CAE @@ -24333,7 +24333,7 @@ _08063CAE: adds r4, r0, r4 _08063CBC: ldrh r0, [r4, 0x2] - bl sub_809422C + bl DoesMoveCharge lsls r0, 24 cmp r0, 0 bne _08063CA6 @@ -31816,7 +31816,7 @@ sub_8067904: str r0, [r1] add r0, sp, 0x8 mov r1, r9 - bl sub_8092A88 + bl InitPokemonMove adds r0, r6, 0 adds r0, 0xBC ldrb r0, [r0] @@ -37270,7 +37270,7 @@ _0806A3A0: orrs r0, r1 strb r0, [r4, 0x1] adds r0, r5, 0 - bl sub_8092BF4 + bl GetMoveMaxPP strb r0, [r4, 0x4] _0806A3C2: adds r4, 0x8 diff --git a/asm/code_807001C.s b/asm/code_807001C.s index 5d56aeb..5d900ee 100644 --- a/asm/code_807001C.s +++ b/asm/code_807001C.s @@ -1558,4 +1558,4 @@ _08070B68: bx r1 thumb_func_end sub_8070B48 - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/code_80718D8.s b/asm/code_80718D8.s index e93f114..7eeb1e9 100644 --- a/asm/code_80718D8.s +++ b/asm/code_80718D8.s @@ -190,7 +190,7 @@ sub_8071A1C: cmp r1, r0 beq _08071A38 adds r0, r2, 0 - bl sub_8092B00 + bl GetMoveType lsls r0, 24 lsrs r0, 24 b _08071A3E @@ -214,7 +214,7 @@ sub_8071A44: cmp r1, r0 beq _08071A60 adds r0, r4, 0 - bl sub_8092BC0 + bl GetMovePower ldrb r1, [r4, 0x5] adds r0, r1 b _08071A6A @@ -1983,7 +1983,7 @@ _080727E4: bne _08072806 ldrh r1, [r6] adds r0, r3, 0 - bl sub_8092A88 + bl InitPokemonMove ldrb r1, [r5] movs r0, 0x4 orrs r0, r1 @@ -2177,7 +2177,7 @@ _08072964: bne _08072980 adds r0, r2, 0 adds r1, r5, 0 - bl sub_8092A88 + bl InitPokemonMove ldrb r1, [r4, 0x1] movs r0, 0x4 orrs r0, r1 @@ -6311,7 +6311,7 @@ _08074A46: add r4, sp, 0x28 ldr r1, _08074B48 adds r0, r4, 0 - bl sub_8092A88 + bl InitPokemonMove ldrb r0, [r4] movs r1, 0x10 orrs r0, r1 diff --git a/asm/code_8075BA4.s b/asm/code_8075BA4.s index c7f9c58..d872a55 100644 --- a/asm/code_8075BA4.s +++ b/asm/code_8075BA4.s @@ -6847,7 +6847,7 @@ _08079326: ldrb r0, [r4, 0x4] str r0, [sp] adds r0, r5, 0 - bl sub_8092BF4 + bl GetMoveMaxPP str r0, [sp, 0x4] ldr r1, [sp] ldr r0, [sp, 0x4] @@ -12176,7 +12176,7 @@ _0807BCB0: movs r1, 0xB0 lsls r1, 1 adds r0, r4, 0 - bl sub_8092A88 + bl InitPokemonMove mov r0, sp mov r1, r10 adds r2, r4, 0 @@ -12380,7 +12380,7 @@ _0807BE38: b _0807BE54 _0807BE4A: adds r0, r6, 0 - bl sub_8092B90 + bl GetMoveWeight lsls r0, 24 lsrs r0, 24 _0807BE54: @@ -12698,7 +12698,7 @@ _0807C06E: cmp r0, 0x5 bne _0807C0B0 mov r0, r10 - bl sub_8092C54 + bl GetMoveDealsDirectDamage lsls r0, 24 cmp r0, 0 beq _0807C0C4 @@ -13610,7 +13610,7 @@ _0807C77C: _0807C78A: mov r0, r8 movs r1, 0x2 - bl sub_8092BD8 + bl GetMoveAccuracy adds r4, r0, 0 movs r0, 0x64 bl DungeonRandomCapped @@ -14176,7 +14176,7 @@ _0807CBAC: lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 - bl sub_8092A88 + bl InitPokemonMove ldrb r0, [r7, 0x7] mov r10, r4 mov r9, r5 @@ -14394,7 +14394,7 @@ sub_807CD64: _0807CD88: adds r0, r4, 0 adds r1, r5, 0 - bl sub_8092AE0 + bl GetMoveTargetingFlags lsls r0, 16 asrs r0, 16 _0807CD94: @@ -14625,7 +14625,7 @@ _0807CF4E: add r4, sp, 0x1C ldr r1, _0807D058 adds r0, r4, 0 - bl sub_8092A88 + bl InitPokemonMove ldr r0, [sp, 0x28] adds r1, r4, 0 bl sub_80571F0 @@ -16903,7 +16903,7 @@ sub_807E1A0: add r4, sp, 0x1C ldr r1, _0807E20C adds r0, r4, 0 - bl sub_8092A88 + bl InitPokemonMove adds r0, r6, 0 adds r1, r4, 0 bl sub_80571F0 @@ -19797,7 +19797,7 @@ _0807F8FA: add r4, sp, 0xE4 ldr r1, _0807F9AC adds r0, r4, 0 - bl sub_8092A88 + bl InitPokemonMove adds r0, r6, 0 adds r1, r4, 0 bl sub_80571F0 diff --git a/asm/code_8090208.s b/asm/code_8090208.s index 05fb931..463cffa 100644 --- a/asm/code_8090208.s +++ b/asm/code_8090208.s @@ -412,7 +412,7 @@ _080905A6: adds r0, 0xCC ldrh r1, [r0] adds r0, r4, 0 - bl sub_8092A88 + bl InitPokemonMove ldr r0, _080905E0 adds r1, r4, 0 movs r2, 0 diff --git a/asm/code_8092334.s b/asm/code_8092334.s deleted file mode 100644 index 86d7d03..0000000 --- a/asm/code_8092334.s +++ /dev/null @@ -1,4503 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start LoadWazaParameters -LoadWazaParameters: - push {lr} - ldr r0, _08092868 - ldr r1, _0809286C - bl OpenFileAndGetFileDataPtr - ldr r1, _08092870 - str r0, [r1] - ldr r1, _08092874 - ldr r2, [r0, 0x4] - ldr r0, [r2] - str r0, [r1] - ldr r1, _08092878 - ldr r0, [r2, 0x4] - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08092868: .4byte gUnknown_81098D0 -_0809286C: .4byte gSystemFileArchive -_08092870: .4byte gWazaParametersFile -_08092874: .4byte gMovesData -_08092878: .4byte gMovesRelated_2038C6C - thumb_func_end LoadWazaParameters - - thumb_func_start sub_809287C -sub_809287C: - push {lr} - adds r2, r0, 0 - ldrb r1, [r2] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _08092894 - ldrb r1, [r2, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08092898 -_08092894: - movs r0, 0x32 - b _0809289A -_08092898: - movs r0, 0x34 -_0809289A: - pop {r1} - bx r1 - thumb_func_end sub_809287C - - thumb_func_start sub_80928A0 -sub_80928A0: - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r2, 0 - mov r0, sp - bl sub_8093F10 - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - bl sub_80928C0 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80928A0 - - thumb_func_start sub_80928C0 -sub_80928C0: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - adds r7, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r0, r4, 0 - bl sub_809287C - lsls r0, 24 - lsrs r6, r0, 24 - cmp r5, 0 - bne _080928DE - ldr r5, _080928F0 -_080928DE: - ldrb r1, [r4, 0x5] - cmp r1, 0 - beq _080928F8 - ldr r1, _080928F4 - ldrb r2, [r4, 0x5] - add r0, sp, 0x14 - bl ExpandPlaceholdersBuffer - b _080928FC - .align 2, 0 -_080928F0: .4byte gUnknown_81098C4 -_080928F4: .4byte gUnknown_81098DC -_080928F8: - add r0, sp, 0x14 - strb r1, [r0] -_080928FC: - ldrb r0, [r5, 0x8] - cmp r0, 0 - beq _08092904 - movs r6, 0x2 -_08092904: - ldrb r0, [r5, 0x9] - cmp r0, 0 - beq _08092918 - ldrh r0, [r4, 0x2] - bl sub_809422C - lsls r0, 24 - cmp r0, 0 - beq _08092918 - movs r6, 0x2 -_08092918: - ldr r0, [r5] - cmp r0, 0x4 - bls _08092920 - b _08092A6A -_08092920: - lsls r0, 2 - ldr r1, _0809292C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809292C: .4byte _08092930 - .align 2, 0 -_08092930: - .4byte _08092944 - .4byte _0809296C - .4byte _08092998 - .4byte _080929C4 - .4byte _08092A20 -_08092944: - ldr r1, _08092964 - ldrh r2, [r4, 0x2] - ldr r0, _08092968 - ldr r3, [r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldr r3, [r0] - add r0, sp, 0x14 - str r0, [sp] - adds r0, r7, 0 - adds r2, r6, 0 - bl ExpandPlaceholdersBuffer - b _08092A6A - .align 2, 0 -_08092964: .4byte gUnknown_81098E0 -_08092968: .4byte gMovesData -_0809296C: - adds r0, r4, 0 - bl sub_8092BF4 - adds r3, r0, 0 - ldr r1, _0809298C - mov r8, r1 - ldrb r1, [r4] - movs r0, 0x8 - ands r0, r1 - ldr r1, _08092990 - mov r12, r1 - cmp r0, 0 - beq _080929E2 - ldr r0, _08092994 - b _080929E0 - .align 2, 0 -_0809298C: .4byte gUnknown_81098EC -_08092990: .4byte gUnknown_810990C -_08092994: .4byte gUnknown_8109908 -_08092998: - adds r0, r4, 0 - bl sub_8092BF4 - adds r3, r0, 0 - ldr r0, _080929B8 - mov r8, r0 - ldrb r1, [r4] - movs r0, 0x8 - ands r0, r1 - ldr r1, _080929BC - mov r12, r1 - cmp r0, 0 - beq _080929E2 - ldr r0, _080929C0 - b _080929E0 - .align 2, 0 -_080929B8: .4byte gUnknown_8109910 -_080929BC: .4byte gUnknown_810990C -_080929C0: .4byte gUnknown_8109908 -_080929C4: - adds r0, r4, 0 - bl sub_8092BF4 - adds r3, r0, 0 - ldr r0, _08092A10 - mov r8, r0 - ldrb r1, [r4] - movs r0, 0x4 - ands r0, r1 - ldr r1, _08092A14 - mov r12, r1 - cmp r0, 0 - beq _080929E2 - ldr r0, _08092A18 -_080929E0: - mov r12, r0 -_080929E2: - ldrh r1, [r4, 0x2] - ldr r0, _08092A1C - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [sp] - add r1, sp, 0x14 - str r1, [sp, 0x4] - ldr r0, [r5, 0x4] - str r0, [sp, 0x8] - ldrb r0, [r4, 0x4] - str r0, [sp, 0xC] - str r3, [sp, 0x10] - adds r0, r7, 0 - mov r1, r8 - adds r2, r6, 0 - mov r3, r12 - bl ExpandPlaceholdersBuffer - b _08092A6A - .align 2, 0 -_08092A10: .4byte gUnknown_81098EC -_08092A14: .4byte gUnknown_810990C -_08092A18: .4byte gUnknown_8109928 -_08092A1C: .4byte gMovesData -_08092A20: - adds r0, r4, 0 - bl sub_8092BF4 - adds r3, r0, 0 - ldr r0, _08092A78 - mov r8, r0 - ldrb r1, [r4] - movs r0, 0x4 - ands r0, r1 - ldr r1, _08092A7C - mov r12, r1 - cmp r0, 0 - beq _08092A3E - ldr r0, _08092A80 - mov r12, r0 -_08092A3E: - ldrh r1, [r4, 0x2] - ldr r0, _08092A84 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [sp] - add r1, sp, 0x14 - str r1, [sp, 0x4] - ldr r0, [r5, 0x4] - str r0, [sp, 0x8] - ldrb r0, [r4, 0x4] - str r0, [sp, 0xC] - str r3, [sp, 0x10] - adds r0, r7, 0 - mov r1, r8 - adds r2, r6, 0 - mov r3, r12 - bl ExpandPlaceholdersBuffer -_08092A6A: - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08092A78: .4byte gUnknown_8109910 -_08092A7C: .4byte gUnknown_810990C -_08092A80: .4byte gUnknown_8109928 -_08092A84: .4byte gMovesData - thumb_func_end sub_80928C0 - - thumb_func_start sub_8092A88 -sub_8092A88: - push {r4,r5,lr} - adds r4, r0, 0 - movs r2, 0 - movs r0, 0x5 - strb r0, [r4] - strb r2, [r4, 0x1] - movs r5, 0 - strh r1, [r4, 0x2] - adds r0, r4, 0 - bl sub_8092BF4 - strb r0, [r4, 0x4] - strb r5, [r4, 0x5] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8092A88 - - thumb_func_start sub_8092AA8 -sub_8092AA8: - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r2, r1, 16 - cmp r2, 0 - bne _08092AB8 - strb r2, [r5] - b _08092ACE -_08092AB8: - movs r1, 0 - movs r0, 0x5 - strb r0, [r5] - strb r1, [r5, 0x1] - movs r4, 0 - strh r2, [r5, 0x2] - adds r0, r5, 0 - bl sub_8092BF4 - strb r0, [r5, 0x4] - strb r4, [r5, 0x5] -_08092ACE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8092AA8 - - thumb_func_start sub_8092AD4 -sub_8092AD4: - movs r2, 0x5 - strb r2, [r0] - movs r2, 0 - strh r1, [r0, 0x2] - strb r2, [r0, 0x4] - bx lr - thumb_func_end sub_8092AD4 - - thumb_func_start sub_8092AE0 -sub_8092AE0: - ldrh r2, [r0, 0x2] - ldr r0, _08092AFC - ldr r3, [r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - lsls r1, 1 - adds r0, 0x8 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_08092AFC: .4byte gMovesData - thumb_func_end sub_8092AE0 - - thumb_func_start sub_8092B00 -sub_8092B00: - ldrh r1, [r0, 0x2] - ldr r0, _08092B14 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x6] - bx lr - .align 2, 0 -_08092B14: .4byte gMovesData - thumb_func_end sub_8092B00 - - thumb_func_start sub_8092B18 -sub_8092B18: - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - adds r2, r1, 0 - ldr r0, _08092B40 - cmp r1, r0 - beq _08092B48 - cmp r1, 0 - beq _08092B48 - movs r0, 0xD2 - lsls r0, 1 - cmp r2, r0 - beq _08092B48 - ldr r0, _08092B44 - ldr r1, [r0] - lsls r0, r2, 3 - adds r0, r1 - ldr r0, [r0] - b _08092B4A - .align 2, 0 -_08092B40: .4byte 0x000001a5 -_08092B44: .4byte gMovesRelated_2038C6C -_08092B48: - ldr r0, _08092B50 -_08092B4A: - pop {r1} - bx r1 - .align 2, 0 -_08092B50: .4byte gUnknown_810992B - thumb_func_end sub_8092B18 - - thumb_func_start sub_8092B54 -sub_8092B54: - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - adds r2, r1, 0 - ldr r0, _08092B7C - cmp r1, r0 - beq _08092B84 - cmp r1, 0 - beq _08092B84 - movs r0, 0xD2 - lsls r0, 1 - cmp r2, r0 - beq _08092B84 - ldr r0, _08092B80 - ldr r1, [r0] - lsls r0, r2, 3 - adds r0, r1 - ldr r0, [r0, 0x4] - b _08092B86 - .align 2, 0 -_08092B7C: .4byte 0x000001a5 -_08092B80: .4byte gMovesRelated_2038C6C -_08092B84: - ldr r0, _08092B8C -_08092B86: - pop {r1} - bx r1 - .align 2, 0 -_08092B8C: .4byte gUnknown_810992B - thumb_func_end sub_8092B54 - - thumb_func_start sub_8092B90 -sub_8092B90: - ldrh r1, [r0, 0x2] - ldr r0, _08092BA4 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0xD] - bx lr - .align 2, 0 -_08092BA4: .4byte gMovesData - thumb_func_end sub_8092B90 - - thumb_func_start sub_8092BA8 -sub_8092BA8: - ldrh r1, [r0, 0x2] - ldr r0, _08092BBC - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x11] - bx lr - .align 2, 0 -_08092BBC: .4byte gMovesData - thumb_func_end sub_8092BA8 - - thumb_func_start sub_8092BC0 -sub_8092BC0: - ldrh r1, [r0, 0x2] - ldr r0, _08092BD4 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x4 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_08092BD4: .4byte gMovesData - thumb_func_end sub_8092BC0 - - thumb_func_start sub_8092BD8 -sub_8092BD8: - ldrh r2, [r0, 0x2] - ldr r0, _08092BF0 - ldr r3, [r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - adds r0, 0xE - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08092BF0: .4byte gMovesData - thumb_func_end sub_8092BD8 - - thumb_func_start sub_8092BF4 -sub_8092BF4: - ldrh r1, [r0, 0x2] - ldr r0, _08092C08 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0xC] - bx lr - .align 2, 0 -_08092C08: .4byte gMovesData - thumb_func_end sub_8092BF4 - - thumb_func_start sub_8092C0C -sub_8092C0C: - ldrh r1, [r0, 0x2] - ldr r0, _08092C20 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x12] - bx lr - .align 2, 0 -_08092C20: .4byte gMovesData - thumb_func_end sub_8092C0C - - thumb_func_start sub_8092C24 -sub_8092C24: - ldrh r1, [r0, 0x2] - ldr r0, _08092C38 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x13] - bx lr - .align 2, 0 -_08092C38: .4byte gMovesData - thumb_func_end sub_8092C24 - - thumb_func_start sub_8092C3C -sub_8092C3C: - ldrh r1, [r0, 0x2] - ldr r0, _08092C50 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x17] - bx lr - .align 2, 0 -_08092C50: .4byte gMovesData - thumb_func_end sub_8092C3C - - thumb_func_start sub_8092C54 -sub_8092C54: - ldrh r1, [r0, 0x2] - ldr r0, _08092C68 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x18] - bx lr - .align 2, 0 -_08092C68: .4byte gMovesData - thumb_func_end sub_8092C54 - - thumb_func_start sub_8092C6C -sub_8092C6C: - ldrh r1, [r0, 0x2] - ldr r0, _08092C80 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x19] - bx lr - .align 2, 0 -_08092C80: .4byte gMovesData - thumb_func_end sub_8092C6C - - thumb_func_start sub_8092C84 -sub_8092C84: - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r0, sp - bl sub_8092A88 - adds r0, r4, 0 - mov r1, sp - movs r2, 0 - bl sub_80928C0 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8092C84 - - thumb_func_start sub_8092CA8 -sub_8092CA8: - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08092CBC - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, [r1, 0x20] - bx lr - .align 2, 0 -_08092CBC: .4byte gMovesData - thumb_func_end sub_8092CA8 - - thumb_func_start sub_8092CC0 -sub_8092CC0: - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08092CD4 - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x14] - bx lr - .align 2, 0 -_08092CD4: .4byte gMovesData - thumb_func_end sub_8092CC0 - - thumb_func_start sub_8092CD8 -sub_8092CD8: - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08092CEC - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x15] - bx lr - .align 2, 0 -_08092CEC: .4byte gMovesData - thumb_func_end sub_8092CD8 - - thumb_func_start sub_8092CF0 -sub_8092CF0: - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08092D04 - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x16] - bx lr - .align 2, 0 -_08092D04: .4byte gMovesData - thumb_func_end sub_8092CF0 - - thumb_func_start sub_8092D08 -sub_8092D08: - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2] - cmp r1, 0xD9 - beq _08092D4C - movs r0, 0x8E - lsls r0, 1 - cmp r1, r0 - beq _08092D4C - cmp r1, 0x53 - beq _08092D4C - cmp r1, 0x22 - beq _08092D4C - cmp r1, 0x54 - beq _08092D4C - cmp r1, 0xAB - beq _08092D4C - ldr r0, _08092D48 - cmp r1, r0 - beq _08092D4C - cmp r1, 0x1B - beq _08092D4C - cmp r1, 0xF1 - beq _08092D4C - cmp r1, 0x19 - beq _08092D4C - ldrh r0, [r2, 0x2] - cmp r0, 0x1A - beq _08092D4C - movs r0, 0 - b _08092D4E - .align 2, 0 -_08092D48: .4byte 0x00000125 -_08092D4C: - movs r0, 0x1 -_08092D4E: - pop {r1} - bx r1 - thumb_func_end sub_8092D08 - - thumb_func_start sub_8092D54 -sub_8092D54: - push {r4-r6,lr} - adds r6, r0, 0 - adds r0, r1, 0 - ldr r5, _08092D78 - ldr r4, _08092D7C - bl sub_8092C6C - lsls r0, 2 - adds r0, r4 - ldr r2, [r0] - adds r0, r6, 0 - adds r1, r5, 0 - bl ExpandPlaceholdersBuffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08092D78: .4byte gUnknown_810992C -_08092D7C: .4byte gRangeNames - thumb_func_end sub_8092D54 - - thumb_func_start sub_8092D80 -sub_8092D80: - push {r4,r5,lr} - adds r3, r1, 0 - movs r5, 0 - lsls r1, r3, 3 - adds r1, r0 -_08092D8A: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x4 - beq _08092DB0 - ldrb r2, [r1] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08092DB0 - lsrs r0, r2, 1 - ands r0, r4 - cmp r0, 0 - bne _08092DAA - adds r0, r3, 0 - b _08092DB2 -_08092DAA: - adds r5, 0x1 - cmp r5, 0x3 - ble _08092D8A -_08092DB0: - movs r0, 0 -_08092DB2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8092D80 - - thumb_func_start sub_8092DB8 -sub_8092DB8: - push {r4-r6,lr} - adds r4, r0, 0 - movs r5, 0 - movs r6, 0x1 -_08092DC0: - subs r1, 0x1 - cmp r1, 0 - bge _08092DF0 - movs r2, 0x3 - ldrb r1, [r4, 0x18] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _08092DD6 - movs r1, 0x3 - b _08092DEC -_08092DD6: - subs r2, 0x1 - cmp r2, 0 - blt _08092E12 - lsls r0, r2, 3 - adds r0, r4 - ldrb r1, [r0] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _08092DD6 - adds r1, r2, 0 -_08092DEC: - cmp r2, 0 - blt _08092E12 -_08092DF0: - lsls r0, r1, 3 - adds r0, r4 - ldrb r2, [r0] - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r2 - cmp r0, 0 - beq _08092E12 - lsrs r0, r2, 1 - ands r0, r3 - cmp r0, 0 - bne _08092E0C - adds r0, r1, 0 - b _08092E14 -_08092E0C: - adds r5, 0x1 - cmp r5, 0x3 - ble _08092DC0 -_08092E12: - movs r0, 0 -_08092E14: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8092DB8 - - thumb_func_start sub_8092E1C -sub_8092E1C: - push {r4,r5,lr} - adds r3, r1, 0 - movs r5, 0 - lsls r1, r3, 3 - adds r1, r0 -_08092E26: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x8 - beq _08092E4C - ldrb r2, [r1] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08092E4C - lsrs r0, r2, 1 - ands r0, r4 - cmp r0, 0 - bne _08092E46 - adds r0, r3, 0 - b _08092E4E -_08092E46: - adds r5, 0x1 - cmp r5, 0x7 - ble _08092E26 -_08092E4C: - movs r0, 0 -_08092E4E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8092E1C - - thumb_func_start sub_8092E54 -sub_8092E54: - push {r4,r5,lr} - adds r3, r1, 0 - movs r5, 0 - lsls r1, r3, 3 - adds r1, r0 -_08092E5E: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x8 - beq _08092E84 - ldrb r2, [r1] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08092E84 - lsrs r0, r2, 1 - ands r0, r4 - cmp r0, 0 - bne _08092E7E - adds r0, r3, 0 - b _08092E86 -_08092E7E: - adds r5, 0x1 - cmp r5, 0x7 - ble _08092E5E -_08092E84: - movs r0, 0 -_08092E86: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8092E54 - - thumb_func_start sub_8092E8C -sub_8092E8C: - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - lsls r0, r1, 3 - adds r3, r0, r6 -_08092E96: - subs r3, 0x8 - subs r1, 0x1 - cmp r1, 0 - bge _08092EC6 - movs r3, 0x7 - movs r4, 0x1 - adds r2, r6, 0 - adds r2, 0x38 -_08092EA6: - ldrb r1, [r2] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08092EBC - lsrs r0, r1, 1 - ands r0, r4 - cmp r0, 0 - bne _08092EBC - adds r0, r3, 0 - b _08092EE6 -_08092EBC: - subs r2, 0x8 - subs r3, 0x1 - cmp r3, 0 - bgt _08092EA6 - b _08092EE4 -_08092EC6: - ldrb r2, [r3] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08092EE4 - lsrs r0, r2, 1 - ands r0, r4 - cmp r0, 0 - bne _08092EDE - adds r0, r1, 0 - b _08092EE6 -_08092EDE: - adds r5, 0x1 - cmp r5, 0x7 - ble _08092E96 -_08092EE4: - movs r0, 0 -_08092EE6: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8092E8C - - thumb_func_start sub_8092EEC -sub_8092EEC: - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - lsls r0, r1, 3 - adds r3, r0, r6 -_08092EF6: - subs r3, 0x8 - subs r1, 0x1 - cmp r1, 0 - bge _08092F26 - movs r3, 0x7 - movs r4, 0x1 - adds r2, r6, 0 - adds r2, 0x38 -_08092F06: - ldrb r1, [r2] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08092F1C - lsrs r0, r1, 1 - ands r0, r4 - cmp r0, 0 - bne _08092F1C - adds r0, r3, 0 - b _08092F46 -_08092F1C: - subs r2, 0x8 - subs r3, 0x1 - cmp r3, 0 - bgt _08092F06 - b _08092F44 -_08092F26: - ldrb r2, [r3] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08092F44 - lsrs r0, r2, 1 - ands r0, r4 - cmp r0, 0 - bne _08092F3E - adds r0, r1, 0 - b _08092F46 -_08092F3E: - adds r5, 0x1 - cmp r5, 0x7 - ble _08092EF6 -_08092F44: - movs r0, 0 -_08092F46: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8092EEC - - thumb_func_start sub_8092F4C -sub_8092F4C: - push {r4,lr} - adds r2, r0, 0 - cmp r1, 0 - ble _08092F78 - movs r4, 0x1 - lsls r0, r1, 3 - adds r3, r0, r2 -_08092F5A: - ldrb r2, [r3] - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08092F78 - lsrs r0, r2, 1 - ands r0, r4 - cmp r0, 0 - bne _08092F70 - adds r0, r1, 0 - b _08092F7A -_08092F70: - subs r3, 0x8 - subs r1, 0x1 - cmp r1, 0 - bgt _08092F5A -_08092F78: - movs r0, 0 -_08092F7A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8092F4C - - thumb_func_start sub_8092F80 -sub_8092F80: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x80 - adds r7, r0, 0 - mov r8, r1 - lsls r0, r1, 3 - adds r0, r7, r0 - ldrb r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - mov r1, sp - bl sub_8093784 - mov r0, sp - bl sub_8093744 - adds r3, r0, 0 - cmp r3, 0x2 - bhi _08092FCC - lsls r1, r3, 5 - adds r0, r3, 0x1 - lsls r0, 5 - mov r2, sp - adds r5, r0, r2 - adds r4, r1, r2 - movs r6, 0x3 -_08092FBA: - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r5] - ldr r1, [r5, 0x4] - stm r4!, {r0,r1} - stm r5!, {r2,r3} - subs r6, 0x1 - cmp r6, 0 - bge _08092FBA -_08092FCC: - adds r0, r7, 0 - mov r1, sp - bl sub_80937E0 - movs r3, 0 - movs r5, 0x80 - movs r4, 0x7F - adds r1, r7, 0 -_08092FDC: - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - beq _08092FF0 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1] - mov r8, r3 - b _08092FF8 -_08092FF0: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x3 - ble _08092FDC -_08092FF8: - mov r0, r8 - add sp, 0x80 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8092F80 - - thumb_func_start sub_8093008 -sub_8093008: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0809307C - add sp, r4 - adds r7, r0, 0 - mov r8, r1 - lsls r0, r1, 3 - adds r0, r7, r0 - ldrb r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - mov r1, sp - bl sub_8093974 - mov r0, sp - bl sub_80938F4 - adds r3, r0, 0 - cmp r3, 0x6 - bhi _08093056 - lsls r1, r3, 6 - adds r0, r3, 0x1 - lsls r0, 6 - mov r2, sp - adds r5, r0, r2 - adds r4, r1, r2 - movs r6, 0x7 -_08093044: - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r5] - ldr r1, [r5, 0x4] - stm r4!, {r0,r1} - stm r5!, {r2,r3} - subs r6, 0x1 - cmp r6, 0 - bge _08093044 -_08093056: - adds r0, r7, 0 - mov r1, sp - bl sub_8093A2C - movs r3, 0 - movs r5, 0x80 - movs r4, 0x7F - adds r1, r7, 0 -_08093066: - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - beq _08093080 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1] - mov r8, r3 - b _08093088 - .align 2, 0 -_0809307C: .4byte 0xfffffe00 -_08093080: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - ble _08093066 -_08093088: - mov r0, r8 - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093008 - - thumb_func_start sub_809309C -sub_809309C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _08093110 - add sp, r4 - adds r7, r0, 0 - mov r8, r1 - lsls r0, r1, 3 - adds r0, r7, r0 - ldrb r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - mov r1, sp - bl sub_80939D0 - mov r0, sp - bl sub_8093934 - adds r3, r0, 0 - cmp r3, 0x6 - bhi _080930EA - lsls r1, r3, 6 - adds r0, r3, 0x1 - lsls r0, 6 - mov r2, sp - adds r5, r0, r2 - adds r4, r1, r2 - movs r6, 0x7 -_080930D8: - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r5] - ldr r1, [r5, 0x4] - stm r4!, {r0,r1} - stm r5!, {r2,r3} - subs r6, 0x1 - cmp r6, 0 - bge _080930D8 -_080930EA: - adds r0, r7, 0 - mov r1, sp - bl sub_8093B40 - movs r3, 0 - movs r5, 0x80 - movs r4, 0x7F - adds r1, r7, 0 -_080930FA: - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - beq _08093114 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1] - mov r8, r3 - b _0809311C - .align 2, 0 -_08093110: .4byte 0xfffffe00 -_08093114: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - ble _080930FA -_0809311C: - mov r0, r8 - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809309C - - thumb_func_start sub_8093130 -sub_8093130: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x80 - adds r7, r0, 0 - mov r8, r1 - lsls r0, r1, 3 - adds r0, r7, r0 - ldrb r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - mov r1, sp - bl sub_8093784 - mov r0, sp - bl sub_8093744 - adds r1, r0, 0 - subs r0, r1, 0x1 - cmp r0, 0x2 - bhi _0809317C - lsls r1, 5 - lsls r0, 5 - mov r2, sp - adds r5, r0, r2 - adds r4, r1, r2 - movs r6, 0x3 -_0809316A: - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r5] - ldr r1, [r5, 0x4] - stm r4!, {r0,r1} - stm r5!, {r2,r3} - subs r6, 0x1 - cmp r6, 0 - bge _0809316A -_0809317C: - adds r0, r7, 0 - mov r1, sp - bl sub_80937E0 - movs r1, 0 - movs r5, 0x80 - movs r4, 0x7F - adds r2, r7, 0 -_0809318C: - ldrb r3, [r2] - adds r0, r5, 0 - ands r0, r3 - cmp r0, 0 - beq _080931A0 - adds r0, r4, 0 - ands r0, r3 - strb r0, [r2] - mov r8, r1 - b _080931A8 -_080931A0: - adds r2, 0x8 - adds r1, 0x1 - cmp r1, 0x3 - ble _0809318C -_080931A8: - mov r0, r8 - add sp, 0x80 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093130 - - thumb_func_start sub_80931B8 -sub_80931B8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0809322C - add sp, r4 - adds r7, r0, 0 - mov r8, r1 - lsls r0, r1, 3 - adds r0, r7, r0 - ldrb r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - mov r1, sp - bl sub_8093974 - mov r0, sp - bl sub_80938F4 - adds r1, r0, 0 - subs r0, r1, 0x1 - cmp r0, 0x6 - bhi _08093206 - lsls r1, 6 - lsls r0, 6 - mov r2, sp - adds r5, r0, r2 - adds r4, r1, r2 - movs r6, 0x7 -_080931F4: - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r5] - ldr r1, [r5, 0x4] - stm r4!, {r0,r1} - stm r5!, {r2,r3} - subs r6, 0x1 - cmp r6, 0 - bge _080931F4 -_08093206: - adds r0, r7, 0 - mov r1, sp - bl sub_8093A2C - movs r1, 0 - movs r5, 0x80 - movs r4, 0x7F - adds r2, r7, 0 -_08093216: - ldrb r3, [r2] - adds r0, r5, 0 - ands r0, r3 - cmp r0, 0 - beq _08093230 - adds r0, r4, 0 - ands r0, r3 - strb r0, [r2] - mov r8, r1 - b _08093238 - .align 2, 0 -_0809322C: .4byte 0xfffffe00 -_08093230: - adds r2, 0x8 - adds r1, 0x1 - cmp r1, 0x7 - ble _08093216 -_08093238: - mov r0, r8 - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80931B8 - - thumb_func_start sub_809324C -sub_809324C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _080932C0 - add sp, r4 - adds r7, r0, 0 - mov r8, r1 - lsls r0, r1, 3 - adds r0, r7, r0 - ldrb r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - mov r1, sp - bl sub_80939D0 - mov r0, sp - bl sub_8093934 - adds r1, r0, 0 - subs r0, r1, 0x1 - cmp r0, 0x6 - bhi _0809329A - lsls r1, 6 - lsls r0, 6 - mov r2, sp - adds r5, r0, r2 - adds r4, r1, r2 - movs r6, 0x7 -_08093288: - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r5] - ldr r1, [r5, 0x4] - stm r4!, {r0,r1} - stm r5!, {r2,r3} - subs r6, 0x1 - cmp r6, 0 - bge _08093288 -_0809329A: - adds r0, r7, 0 - mov r1, sp - bl sub_8093B40 - movs r1, 0 - movs r5, 0x80 - movs r4, 0x7F - adds r2, r7, 0 -_080932AA: - ldrb r3, [r2] - adds r0, r5, 0 - ands r0, r3 - cmp r0, 0 - beq _080932C4 - adds r0, r4, 0 - ands r0, r3 - strb r0, [r2] - mov r8, r1 - b _080932CC - .align 2, 0 -_080932C0: .4byte 0xfffffe00 -_080932C4: - adds r2, 0x8 - adds r1, 0x1 - cmp r1, 0x7 - ble _080932AA -_080932CC: - mov r0, r8 - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809324C - - thumb_func_start sub_80932E0 -sub_80932E0: - push {lr} - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _080932F4 - movs r0, 0 - b _080932F6 -_080932F4: - movs r0, 0x1 -_080932F6: - pop {r1} - bx r1 - thumb_func_end sub_80932E0 - - thumb_func_start sub_80932FC -sub_80932FC: - push {lr} - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08093310 - movs r0, 0 - b _08093312 -_08093310: - movs r0, 0x1 -_08093312: - pop {r1} - bx r1 - thumb_func_end sub_80932FC - - thumb_func_start sub_8093318 -sub_8093318: - push {r4,lr} - sub sp, 0x40 - adds r4, r0, 0 - mov r0, sp - movs r2, 0x40 - bl MemoryCopy8 - adds r0, r4, 0 - mov r1, sp - bl sub_8093400 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x40 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8093318 - - thumb_func_start sub_809333C -sub_809333C: - push {r4,lr} - sub sp, 0x40 - adds r4, r0, 0 - mov r0, sp - movs r2, 0x40 - bl MemoryCopy8 - adds r0, r4, 0 - mov r1, sp - bl sub_8093468 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x40 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809333C - - thumb_func_start sub_8093360 -sub_8093360: - push {r4,lr} - sub sp, 0x40 - adds r4, r0, 0 - mov r0, sp - movs r2, 0x40 - bl MemoryCopy8 - adds r0, r4, 0 - mov r1, sp - bl sub_80933D8 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x40 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8093360 - - thumb_func_start sub_8093384 -sub_8093384: - push {lr} - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08093398 - movs r0, 0x1 - b _0809339A -_08093398: - movs r0, 0 -_0809339A: - pop {r1} - bx r1 - thumb_func_end sub_8093384 - - thumb_func_start sub_80933A0 -sub_80933A0: - push {r4-r6,lr} - movs r4, 0 - movs r6, 0x1 - movs r5, 0x2 - movs r3, 0x7 -_080933AA: - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - cmp r0, 0 - beq _080933BE - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - bne _080933BE - adds r4, 0x1 -_080933BE: - adds r1, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _080933AA - cmp r4, 0x1 - bgt _080933CE - movs r0, 0 - b _080933D0 -_080933CE: - movs r0, 0x1 -_080933D0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80933A0 - - thumb_func_start sub_80933D8 -sub_80933D8: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8093400 - lsls r0, 24 - cmp r0, 0 - bne _080933F6 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8093468 - lsls r0, 24 - lsrs r0, 24 - b _080933F8 -_080933F6: - movs r0, 0x1 -_080933F8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80933D8 - - thumb_func_start sub_8093400 -sub_8093400: - push {r4-r7,lr} - adds r4, r0, 0 - adds r7, r1, 0 - lsls r0, r4, 3 - adds r0, r7, r0 - ldrh r0, [r0, 0x2] - bl sub_809422C - lsls r0, 24 - cmp r0, 0 - beq _08093428 - b _08093460 -_08093418: - adds r0, r1, 0 - orrs r0, r2 - strb r0, [r6] - adds r0, r7, 0 - bl sub_809371C - movs r0, 0x1 - b _08093462 -_08093428: - adds r5, r4, 0x1 - cmp r5, 0x7 - bgt _08093460 - lsls r0, r5, 3 - adds r4, r0, r7 - adds r6, r4, 0 -_08093434: - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093460 - ldrh r0, [r4, 0x2] - bl sub_809422C - lsls r0, 24 - cmp r0, 0 - bne _08093460 - ldrb r1, [r4] - movs r2, 0x2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08093418 - adds r4, 0x8 - adds r6, 0x8 - adds r5, 0x1 - cmp r5, 0x7 - ble _08093434 -_08093460: - movs r0, 0 -_08093462: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093400 - - thumb_func_start sub_8093468 -sub_8093468: - push {r4-r7,lr} - adds r6, r1, 0 - movs r5, 0 - adds r1, r0, 0x1 - movs r4, 0 - cmp r1, 0x7 - bgt _080934A0 - movs r0, 0x2 - mov r12, r0 - movs r7, 0xFD - lsls r0, r1, 3 - adds r3, r0, r6 -_08093480: - ldrb r2, [r3] - mov r0, r12 - ands r0, r2 - cmp r0, 0 - beq _080934A0 - adds r0, r7, 0 - ands r0, r2 - strb r0, [r3] - movs r5, 0x1 - adds r3, 0x8 - adds r1, 0x1 - adds r4, 0x1 - cmp r4, 0x7 - bgt _080934A0 - cmp r1, 0x7 - ble _08093480 -_080934A0: - adds r0, r6, 0 - bl sub_809371C - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093468 - - thumb_func_start sub_80934B0 -sub_80934B0: - push {lr} - adds r2, r0, 0 - adds r0, r2, 0x1 - cmp r0, 0x7 - bgt _080934D2 - lsls r0, r2, 3 - adds r0, 0x8 - adds r0, r1, r0 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080934D2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080934D6 -_080934D2: - movs r0, 0 - b _080934D8 -_080934D6: - movs r0, 0x1 -_080934D8: - pop {r1} - bx r1 - thumb_func_end sub_80934B0 - - thumb_func_start sub_80934DC -sub_80934DC: - push {r4-r7,lr} - adds r5, r1, 0 - lsls r0, 3 - adds r4, r5, r0 - ldrb r1, [r4] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080934F4 - movs r0, 0xF7 - ands r0, r1 - b _0809351A -_080934F4: - movs r7, 0x1 - movs r6, 0xF7 - adds r1, r5, 0 - movs r3, 0x3 -_080934FC: - ldrb r2, [r1] - adds r0, r7, 0 - ands r0, r2 - cmp r0, 0 - beq _0809350C - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] -_0809350C: - adds r1, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _080934FC - ldrb r1, [r4] - movs r0, 0x8 - orrs r0, r1 -_0809351A: - strb r0, [r4] - adds r0, r5, 0 - bl sub_809371C - movs r0, 0x1 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80934DC - - thumb_func_start sub_809352C -sub_809352C: - push {lr} - lsls r0, 3 - adds r0, r1, r0 - ldrb r3, [r0] - movs r2, 0xF7 - ands r2, r3 - strb r2, [r0] - adds r0, r1, 0 - bl sub_809371C - pop {r0} - bx r0 - thumb_func_end sub_809352C - - thumb_func_start sub_8093544 -sub_8093544: - push {lr} - lsls r0, 3 - adds r0, r1, r0 - ldrb r2, [r0] - movs r3, 0x4 - eors r2, r3 - strb r2, [r0] - adds r0, r1, 0 - bl sub_809371C - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_8093544 - - thumb_func_start sub_8093560 -sub_8093560: - push {r4-r7,lr} - adds r4, r0, 0 - adds r6, r1, 0 - movs r5, 0x1 - lsls r0, r4, 3 - adds r0, r6, r0 - ldrh r0, [r0, 0x2] - strh r0, [r2] - movs r1, 0 - adds r0, r2, 0x2 - movs r3, 0x2 -_08093576: - strh r1, [r0] - adds r0, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _08093576 - adds r4, 0x1 - adds r2, 0x2 - cmp r4, 0x7 - bgt _080935B0 - cmp r5, 0x3 - bgt _080935B0 - movs r7, 0x2 - lsls r0, r4, 3 - adds r3, r0, r6 -_08093592: - ldrb r1, [r3] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _080935B0 - ldrh r0, [r3, 0x2] - strh r0, [r2] - adds r2, 0x2 - adds r5, 0x1 - adds r3, 0x8 - adds r4, 0x1 - cmp r4, 0x7 - bgt _080935B0 - cmp r5, 0x3 - ble _08093592 -_080935B0: - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093560 - - thumb_func_start sub_80935B8 -sub_80935B8: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - movs r0, 0x63 - mov r12, r0 - movs r0, 0 - mov r8, r0 - movs r6, 0 - adds r4, r1, 0 - cmp r4, 0 - blt _08093606 - lsls r0, r4, 3 - adds r2, r5, r0 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093606 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08093606 - movs r7, 0x1 - movs r3, 0x2 -_080935EC: - subs r2, 0x8 - subs r4, 0x1 - cmp r4, 0 - blt _08093606 - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08093606 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _080935EC -_08093606: - adds r2, r4, 0x1 - mov r9, r2 - cmp r2, 0x3 - bgt _08093642 - lsls r0, r2, 3 - adds r3, r5, r0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093642 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08093642 - movs r6, 0x1 - movs r7, 0x2 -_08093628: - adds r3, 0x8 - adds r2, 0x1 - cmp r2, 0x3 - bgt _08093642 - ldrb r1, [r3] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _08093642 - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _08093628 -_08093642: - cmp r6, 0 - bne _0809364A - movs r0, 0x63 - b _080936CC -_0809364A: - movs r6, 0 - b _08093668 -_0809364E: - ldrb r0, [r3, 0x4] - cmp r12, r0 - ble _08093656 - mov r12, r0 -_08093656: - cmp r0, 0 - bne _0809365C - movs r6, 0x1 -_0809365C: - ldrb r1, [r3, 0x1] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08093668 - movs r6, 0x1 -_08093668: - subs r2, 0x1 - cmp r2, r4 - blt _0809367C - lsls r0, r2, 3 - adds r3, r5, r0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809364E -_0809367C: - cmp r6, 0 - beq _080936C6 - mov r2, r9 - cmp r2, 0x3 - bgt _080936C0 - lsls r0, r2, 3 - adds r3, r5, r0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080936C0 - movs r6, 0x2 - movs r4, 0xFD -_08093698: - ldrb r1, [r3] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _080936C0 - adds r0, r4, 0 - ands r0, r1 - strb r0, [r3] - movs r0, 0x1 - mov r8, r0 - adds r2, 0x1 - cmp r2, 0x3 - bgt _080936C0 - lsls r0, r2, 3 - adds r3, r5, r0 - ldrb r1, [r3] - mov r0, r8 - ands r0, r1 - cmp r0, 0 - bne _08093698 -_080936C0: - mov r0, r8 - cmp r0, 0 - bne _080936CA -_080936C6: - mov r0, r12 - b _080936CC -_080936CA: - movs r0, 0 -_080936CC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80935B8 - - thumb_func_start sub_80936D8 -sub_80936D8: - push {r4,lr} - sub sp, 0x80 - adds r4, r0, 0 - mov r1, sp - bl sub_8093784 - adds r0, r4, 0 - mov r1, sp - bl sub_80937E0 - add sp, 0x80 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80936D8 - - thumb_func_start sub_80936F4 -sub_80936F4: - push {r4,lr} - ldr r4, _08093718 - add sp, r4 - adds r4, r0, 0 - mov r1, sp - bl sub_8093974 - adds r0, r4, 0 - mov r1, sp - bl sub_8093A2C - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08093718: .4byte 0xfffffe00 - thumb_func_end sub_80936F4 - - thumb_func_start sub_809371C -sub_809371C: - push {r4,lr} - ldr r4, _08093740 - add sp, r4 - adds r4, r0, 0 - mov r1, sp - bl sub_80939D0 - adds r0, r4, 0 - mov r1, sp - bl sub_8093B40 - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08093740: .4byte 0xfffffe00 - thumb_func_end sub_809371C - - thumb_func_start sub_8093744 -sub_8093744: - push {r4-r7,lr} - adds r7, r0, 0 - movs r4, 0 - movs r6, 0x1 - movs r5, 0x80 -_0809374E: - movs r3, 0 - lsls r0, r4, 5 - adds r2, r0, r7 -_08093754: - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0809376A - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0809376A - adds r0, r4, 0 - b _0809377C -_0809376A: - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x3 - ble _08093754 - adds r4, 0x1 - cmp r4, 0x3 - ble _0809374E - movs r0, 0x1 - negs r0, r0 -_0809377C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093744 - - thumb_func_start sub_8093784 -sub_8093784: - push {r4-r7,lr} - adds r6, r0, 0 - movs r2, 0 - movs r4, 0 -_0809378C: - lsls r0, r2, 5 - adds r2, 0x1 - movs r3, 0x3 - adds r0, r1 - adds r0, 0x18 -_08093796: - strb r4, [r0] - subs r0, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _08093796 - cmp r2, 0x3 - ble _0809378C - movs r3, 0 - movs r5, 0 - adds r4, r1, 0 - subs r4, 0x20 - movs r7, 0x2 -_080937AE: - cmp r5, 0 - beq _080937BC - ldrb r1, [r6] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _080937C0 -_080937BC: - adds r4, 0x20 - movs r3, 0 -_080937C0: - lsls r2, r3, 3 - adds r2, r4 - ldm r6!, {r0,r1} - str r0, [r2] - str r1, [r2, 0x4] - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - strb r0, [r2] - adds r3, 0x1 - adds r5, 0x1 - cmp r5, 0x3 - ble _080937AE - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093784 - - thumb_func_start sub_80937E0 -sub_80937E0: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r0, [sp, 0x8] - mov r9, r1 - movs r0, 0 - mov r8, r0 - movs r6, 0 - add r1, sp, 0x4 - mov r10, r1 - mov r12, r6 - movs r3, 0x1 -_080937FE: - mov r2, sp - adds r0, r2, r6 - mov r7, r12 - strb r7, [r0] - mov r1, sp - adds r1, r6 - adds r1, 0x4 - mov r2, r12 - strb r2, [r1] - adds r7, r0, 0 - lsls r0, r6, 5 - adds r6, 0x1 - adds r5, r1, 0 - mov r1, r9 - adds r2, r0, r1 - movs r4, 0x3 -_0809381E: - ldrb r1, [r2] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0809383E - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08093832 - strb r3, [r7] -_08093832: - ldrb r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0809383E - strb r3, [r5] -_0809383E: - adds r2, 0x8 - subs r4, 0x1 - cmp r4, 0 - bge _0809381E - cmp r6, 0x3 - ble _080937FE - movs r6, 0 - mov r2, r8 - lsls r2, 3 - str r2, [sp, 0xC] -_08093852: - movs r4, 0 - lsls r0, r6, 5 - mov r7, r9 - adds r5, r0, r7 - ldr r0, [sp, 0xC] - ldr r1, [sp, 0x8] - adds r2, r0, r1 - mov r7, r10 - adds r7, r6 - mov r12, r7 -_08093866: - ldrb r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080938D6 - ldr r0, [r5] - ldr r1, [r5, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - cmp r4, 0 - bne _08093884 - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - b _0809388A -_08093884: - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 -_0809388A: - strb r0, [r2] - ldrb r0, [r2] - movs r3, 0xF7 - ands r3, r0 - movs r1, 0 - movs r0, 0xFB - ands r3, r0 - strb r3, [r2] - mov r7, sp - adds r0, r7, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _080938B0 - cmp r4, 0 - bne _080938B0 - movs r1, 0x8 - adds r0, r3, 0 - orrs r0, r1 - strb r0, [r2] -_080938B0: - mov r1, r12 - ldrb r0, [r1] - cmp r0, 0 - beq _080938C4 - cmp r4, 0 - bne _080938C4 - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080938C4: - adds r2, 0x8 - ldr r7, [sp, 0xC] - adds r7, 0x8 - str r7, [sp, 0xC] - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x4 - beq _080938E4 -_080938D6: - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x3 - ble _08093866 - adds r6, 0x1 - cmp r6, 0x3 - ble _08093852 -_080938E4: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80937E0 - - thumb_func_start sub_80938F4 -sub_80938F4: - push {r4-r7,lr} - adds r7, r0, 0 - movs r4, 0 - movs r6, 0x1 - movs r5, 0x80 -_080938FE: - movs r3, 0 - lsls r0, r4, 6 - adds r2, r0, r7 -_08093904: - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0809391A - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0809391A - adds r0, r4, 0 - b _0809392C -_0809391A: - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - ble _08093904 - adds r4, 0x1 - cmp r4, 0x7 - ble _080938FE - movs r0, 0x1 - negs r0, r0 -_0809392C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80938F4 - - thumb_func_start sub_8093934 -sub_8093934: - push {r4-r7,lr} - adds r7, r0, 0 - movs r4, 0 - movs r6, 0x1 - movs r5, 0x80 -_0809393E: - movs r3, 0 - lsls r0, r4, 6 - adds r2, r0, r7 -_08093944: - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0809395A - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0809395A - adds r0, r4, 0 - b _0809396C -_0809395A: - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - ble _08093944 - adds r4, 0x1 - cmp r4, 0x7 - ble _0809393E - movs r0, 0x1 - negs r0, r0 -_0809396C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093934 - - thumb_func_start sub_8093974 -sub_8093974: - push {r4-r7,lr} - adds r6, r0, 0 - movs r2, 0 - movs r4, 0 -_0809397C: - lsls r0, r2, 6 - adds r2, 0x1 - movs r3, 0x7 - adds r0, r1 - adds r0, 0x38 -_08093986: - strb r4, [r0] - subs r0, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _08093986 - cmp r2, 0x7 - ble _0809397C - movs r3, 0 - movs r5, 0 - adds r4, r1, 0 - subs r4, 0x40 - movs r7, 0x2 -_0809399E: - cmp r5, 0 - beq _080939AC - ldrb r1, [r6] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _080939B0 -_080939AC: - adds r4, 0x40 - movs r3, 0 -_080939B0: - lsls r2, r3, 3 - adds r2, r4 - ldm r6!, {r0,r1} - str r0, [r2] - str r1, [r2, 0x4] - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - strb r0, [r2] - adds r3, 0x1 - adds r5, 0x1 - cmp r5, 0x7 - ble _0809399E - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093974 - - thumb_func_start sub_80939D0 -sub_80939D0: - push {r4-r7,lr} - adds r6, r0, 0 - movs r2, 0 - movs r4, 0 -_080939D8: - lsls r0, r2, 6 - adds r2, 0x1 - movs r3, 0x7 - adds r0, r1 - adds r0, 0x38 -_080939E2: - strb r4, [r0] - subs r0, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _080939E2 - cmp r2, 0x7 - ble _080939D8 - movs r3, 0 - movs r5, 0 - adds r4, r1, 0 - subs r4, 0x40 - movs r7, 0x2 -_080939FA: - cmp r5, 0 - beq _08093A08 - ldrb r1, [r6] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _08093A0C -_08093A08: - adds r4, 0x40 - movs r3, 0 -_08093A0C: - lsls r2, r3, 3 - adds r2, r4 - ldm r6!, {r0,r1} - str r0, [r2] - str r1, [r2, 0x4] - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - strb r0, [r2] - adds r3, 0x1 - adds r5, 0x1 - cmp r5, 0x7 - ble _080939FA - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80939D0 - - thumb_func_start sub_8093A2C -sub_8093A2C: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - str r0, [sp, 0x10] - mov r9, r1 - movs r0, 0 - mov r8, r0 - movs r6, 0 - add r1, sp, 0x8 - mov r10, r1 - mov r12, r6 - movs r3, 0x1 -_08093A4A: - mov r2, sp - adds r0, r2, r6 - mov r7, r12 - strb r7, [r0] - mov r1, sp - adds r1, r6 - adds r1, 0x8 - mov r2, r12 - strb r2, [r1] - adds r7, r0, 0 - lsls r0, r6, 6 - adds r6, 0x1 - adds r5, r1, 0 - mov r1, r9 - adds r2, r0, r1 - movs r4, 0x7 -_08093A6A: - ldrb r1, [r2] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08093A8A - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08093A7E - strb r3, [r7] -_08093A7E: - ldrb r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08093A8A - strb r3, [r5] -_08093A8A: - adds r2, 0x8 - subs r4, 0x1 - cmp r4, 0 - bge _08093A6A - cmp r6, 0x7 - ble _08093A4A - movs r6, 0 - mov r2, r8 - lsls r2, 3 - str r2, [sp, 0x14] -_08093A9E: - movs r4, 0 - lsls r0, r6, 6 - mov r7, r9 - adds r5, r0, r7 - ldr r0, [sp, 0x14] - ldr r1, [sp, 0x10] - adds r2, r0, r1 - mov r7, r10 - adds r7, r6 - mov r12, r7 -_08093AB2: - ldrb r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093B22 - ldr r0, [r5] - ldr r1, [r5, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - cmp r4, 0 - bne _08093AD0 - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - b _08093AD6 -_08093AD0: - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 -_08093AD6: - strb r0, [r2] - ldrb r0, [r2] - movs r3, 0xF7 - ands r3, r0 - movs r1, 0 - movs r0, 0xFB - ands r3, r0 - strb r3, [r2] - mov r7, sp - adds r0, r7, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _08093AFC - cmp r4, 0 - bne _08093AFC - movs r1, 0x8 - adds r0, r3, 0 - orrs r0, r1 - strb r0, [r2] -_08093AFC: - mov r1, r12 - ldrb r0, [r1] - cmp r0, 0 - beq _08093B10 - cmp r4, 0 - bne _08093B10 - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08093B10: - adds r2, 0x8 - ldr r7, [sp, 0x14] - adds r7, 0x8 - str r7, [sp, 0x14] - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x8 - beq _08093B30 -_08093B22: - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x7 - ble _08093AB2 - adds r6, 0x1 - cmp r6, 0x7 - ble _08093A9E -_08093B30: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093A2C - - thumb_func_start sub_8093B40 -sub_8093B40: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - str r0, [sp, 0x10] - mov r9, r1 - movs r0, 0 - mov r8, r0 - movs r6, 0 - add r1, sp, 0x8 - mov r10, r1 - mov r12, r6 - movs r3, 0x1 -_08093B5E: - mov r2, sp - adds r0, r2, r6 - mov r7, r12 - strb r7, [r0] - mov r1, sp - adds r1, r6 - adds r1, 0x8 - mov r2, r12 - strb r2, [r1] - adds r7, r0, 0 - lsls r0, r6, 6 - adds r6, 0x1 - adds r5, r1, 0 - mov r1, r9 - adds r2, r0, r1 - movs r4, 0x7 -_08093B7E: - ldrb r1, [r2] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08093B9E - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08093B92 - strb r3, [r7] -_08093B92: - ldrb r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08093B9E - strb r3, [r5] -_08093B9E: - adds r2, 0x8 - subs r4, 0x1 - cmp r4, 0 - bge _08093B7E - cmp r6, 0x7 - ble _08093B5E - movs r6, 0 - mov r2, r8 - lsls r2, 3 - str r2, [sp, 0x14] -_08093BB2: - movs r4, 0 - lsls r0, r6, 6 - mov r7, r9 - adds r5, r0, r7 - ldr r0, [sp, 0x14] - ldr r1, [sp, 0x10] - adds r2, r0, r1 - mov r7, r10 - adds r7, r6 - mov r12, r7 -_08093BC6: - ldrb r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093C36 - ldr r0, [r5] - ldr r1, [r5, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - cmp r4, 0 - bne _08093BE4 - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - b _08093BEA -_08093BE4: - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 -_08093BEA: - strb r0, [r2] - ldrb r0, [r2] - movs r3, 0xF7 - ands r3, r0 - movs r1, 0 - movs r0, 0xFB - ands r3, r0 - strb r3, [r2] - mov r7, sp - adds r0, r7, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _08093C10 - cmp r4, 0 - bne _08093C10 - movs r1, 0x8 - adds r0, r3, 0 - orrs r0, r1 - strb r0, [r2] -_08093C10: - mov r1, r12 - ldrb r0, [r1] - cmp r0, 0 - beq _08093C24 - cmp r4, 0 - bne _08093C24 - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08093C24: - adds r2, 0x8 - ldr r7, [sp, 0x14] - adds r7, 0x8 - str r7, [sp, 0x14] - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x8 - beq _08093C44 -_08093C36: - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x7 - ble _08093BC6 - adds r6, 0x1 - cmp r6, 0x7 - ble _08093BB2 -_08093C44: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093B40 - - thumb_func_start sub_8093C54 -sub_8093C54: - push {r4-r7,lr} - sub sp, 0x40 - adds r6, r0, 0 - lsls r0, r1, 3 - adds r0, r6 - movs r2, 0 - strb r2, [r0] - adds r3, r1, 0x1 - cmp r3, 0x7 - bgt _08093CA6 - lsls r0, r3, 3 - adds r4, r6, r0 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093CA6 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08093CA6 - mov r12, r2 - movs r7, 0x1 - adds r2, r4, 0 - movs r5, 0x2 -_08093C86: - mov r0, r12 - strb r0, [r4] - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - bgt _08093CA6 - adds r4, r2, 0 - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08093CA6 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _08093C86 -_08093CA6: - movs r4, 0 - movs r7, 0x1 - adds r2, r6, 0 - mov r5, sp - movs r3, 0x7 -_08093CB0: - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08093CC2 - ldr r0, [r2] - ldr r1, [r2, 0x4] - stm r5!, {r0,r1} - adds r4, 0x1 -_08093CC2: - adds r2, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _08093CB0 - cmp r4, 0x7 - bgt _08093CDE - movs r1, 0 - lsls r0, r4, 3 - add r0, sp -_08093CD4: - strb r1, [r0] - adds r0, 0x8 - adds r4, 0x1 - cmp r4, 0x7 - ble _08093CD4 -_08093CDE: - mov r4, sp - adds r2, r6, 0 - movs r3, 0x7 -_08093CE4: - ldm r4!, {r0,r1} - stm r2!, {r0,r1} - subs r3, 0x1 - cmp r3, 0 - bge _08093CE4 - add sp, 0x40 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093C54 - - thumb_func_start sub_8093CF8 -sub_8093CF8: - push {r4-r7,lr} - sub sp, 0x40 - adds r6, r0, 0 - lsls r0, r1, 3 - adds r0, r6 - movs r2, 0 - strb r2, [r0] - adds r3, r1, 0x1 - cmp r3, 0x7 - bgt _08093D4A - lsls r0, r3, 3 - adds r4, r6, r0 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093D4A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08093D4A - mov r12, r2 - movs r7, 0x1 - adds r2, r4, 0 - movs r5, 0x2 -_08093D2A: - mov r0, r12 - strb r0, [r4] - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - bgt _08093D4A - adds r4, r2, 0 - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08093D4A - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _08093D2A -_08093D4A: - movs r4, 0 - movs r7, 0x1 - adds r2, r6, 0 - mov r5, sp - movs r3, 0x7 -_08093D54: - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08093D66 - ldr r0, [r2] - ldr r1, [r2, 0x4] - stm r5!, {r0,r1} - adds r4, 0x1 -_08093D66: - adds r2, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _08093D54 - cmp r4, 0x7 - bgt _08093D82 - movs r1, 0 - lsls r0, r4, 3 - add r0, sp -_08093D78: - strb r1, [r0] - adds r0, 0x8 - adds r4, 0x1 - cmp r4, 0x7 - ble _08093D78 -_08093D82: - mov r4, sp - adds r2, r6, 0 - movs r3, 0x7 -_08093D88: - ldm r4!, {r0,r1} - stm r2!, {r0,r1} - subs r3, 0x1 - cmp r3, 0 - bge _08093D88 - add sp, 0x40 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093CF8 - - thumb_func_start sub_8093D9C -sub_8093D9C: - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r1, 16 - lsrs r1, 16 - mov r0, sp - bl sub_8092A88 - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_8093DE8 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8093D9C - - thumb_func_start sub_8093DC4 -sub_8093DC4: - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r2, 0 - adds r6, r3, 0 - mov r0, sp - bl sub_8093F10 - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_8093DE8 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8093DC4 - - thumb_func_start sub_8093DE8 -sub_8093DE8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _08093E80 - add sp, r4 - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - mov r8, r3 - adds r0, r5, 0 - bl sub_80073B8 - ldr r0, _08093E84 - adds r1, r6, 0 - movs r2, 0 - bl sub_80928C0 - lsls r4, 3 - adds r4, 0x10 - ldr r2, _08093E88 - movs r7, 0 - str r7, [sp] - adds r0, r4, 0 - movs r1, 0 - adds r3, r5, 0 - bl xxx_format_and_draw - movs r3, 0x13 - ldrh r1, [r6, 0x2] - ldr r4, _08093E8C - ldr r2, [r4] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r2, [r0, 0x1C] - ldrb r0, [r2] - cmp r0, 0x2A - bne _08093E3A - movs r3, 0x10 - adds r2, 0x1 -_08093E3A: - str r7, [sp] - movs r0, 0x4 - adds r1, r3, 0 - adds r3, r5, 0 - bl xxx_format_and_draw - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_8093E90 - adds r0, r5, 0 - bl sub_80073E0 - ldrh r1, [r6, 0x2] - ldr r2, [r4] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, [r0, 0x1C] - add r0, sp, 0x4 - bl strcpy - add r0, sp, 0x4 - mov r1, r8 - bl sub_8097DF0 - movs r3, 0xC9 - lsls r3, 2 - add sp, r3 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08093E80: .4byte 0xfffffcdc -_08093E84: .4byte gAvailablePokemonNames -_08093E88: .4byte gUnknown_8109930 -_08093E8C: .4byte gMovesData - thumb_func_end sub_8093DE8 - - thumb_func_start sub_8093E90 -sub_8093E90: - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - adds r5, r1, 0 - movs r0, 0x7 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0x4 - movs r2, 0x48 - movs r3, 0xC8 - bl sub_80078A4 - ldr r0, _08093F00 - adds r1, r6, 0 - bl sub_8092D54 - ldr r0, _08093F04 - ldr r2, [r0] - movs r4, 0 - str r4, [sp] - movs r0, 0x4 - movs r1, 0x4A - adds r3, r5, 0 - bl xxx_format_and_draw - ldr r0, _08093F08 - ldr r2, [r0] - str r4, [sp] - movs r0, 0x4 - movs r1, 0x56 - adds r3, r5, 0 - bl xxx_format_and_draw - adds r0, r6, 0 - bl sub_8092B00 - lsls r0, 24 - lsrs r0, 24 - bl GetUnformattedTypeString - adds r2, r0, 0 - str r4, [sp] - movs r0, 0x40 - movs r1, 0x56 - adds r3, r5, 0 - bl xxx_format_and_draw - adds r0, r6, 0 - bl sub_8092BC0 - ldr r1, _08093F0C - str r0, [r1] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08093F00: .4byte gAvailablePokemonNames -_08093F04: .4byte gUnknown_810CF00 -_08093F08: .4byte gPtrTypeText -_08093F0C: .4byte gUnknown_202DE30 - thumb_func_end sub_8093E90 - - thumb_func_start sub_8093F10 -sub_8093F10: - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093F48 - movs r0, 0 - strb r1, [r3] - strb r0, [r3, 0x1] - ldrh r0, [r4, 0x2] - strh r0, [r3, 0x2] - ldrh r1, [r4, 0x2] - ldr r0, _08093F44 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0xC] - strb r0, [r3, 0x4] - ldrb r0, [r4, 0x4] - strb r0, [r3, 0x5] - b _08093F4A - .align 2, 0 -_08093F44: .4byte gMovesData -_08093F48: - strb r0, [r3] -_08093F4A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8093F10 - - thumb_func_start sub_8093F50 -sub_8093F50: - push {r4-r7,lr} - adds r6, r0, 0 - movs r7, 0 - adds r3, r6, 0 - adds r4, r1, 0 - movs r5, 0x3 -_08093F5C: - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093F8C - strb r1, [r3] - strb r7, [r3, 0x1] - ldrh r0, [r4, 0x2] - strh r0, [r3, 0x2] - ldrh r1, [r4, 0x2] - ldr r0, _08093F88 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0xC] - strb r0, [r3, 0x4] - ldrb r0, [r4, 0x4] - strb r0, [r3, 0x5] - b _08093F8E - .align 2, 0 -_08093F88: .4byte gMovesData -_08093F8C: - strb r0, [r3] -_08093F8E: - adds r3, 0x8 - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _08093F5C - adds r1, r6, 0 - adds r1, 0x20 - movs r0, 0 - strb r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093F50 - - thumb_func_start sub_8093FA8 -sub_8093FA8: - push {lr} - adds r2, r0, 0 - movs r3, 0x3 -_08093FAE: - ldrb r0, [r1] - strb r0, [r2] - ldrh r0, [r1, 0x2] - strh r0, [r2, 0x2] - ldrb r0, [r1, 0x5] - strb r0, [r2, 0x4] - adds r2, 0x8 - adds r1, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _08093FAE - pop {r0} - bx r0 - thumb_func_end sub_8093FA8 - - thumb_func_start sub_8093FC8 -sub_8093FC8: - push {r4-r7,lr} - adds r5, r0, 0 - adds r2, r1, 0 - movs r3, 0 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08094002 - movs r7, 0xFB - movs r6, 0x1 - adds r4, r2, 0 - adds r2, r5, 0 -_08093FE2: - ldm r4!, {r0,r1} - str r0, [r2] - str r1, [r2, 0x4] - ldrb r1, [r2, 0x1] - adds r0, r7, 0 - ands r0, r1 - strb r0, [r2, 0x1] - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x3 - bgt _08094002 - ldrb r1, [r4] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _08093FE2 -_08094002: - cmp r3, 0x7 - bgt _08094016 - movs r1, 0 - lsls r0, r3, 3 - adds r0, r5 -_0809400C: - strb r1, [r0] - adds r0, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - ble _0809400C -_08094016: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093FC8 - - thumb_func_start sub_809401C -sub_809401C: - push {r4-r6,lr} - adds r5, r0, 0 - adds r3, r1, 0 - movs r2, 0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08094046 - movs r6, 0x1 - adds r4, r5, 0 -_08094032: - ldm r3!, {r0,r1} - stm r4!, {r0,r1} - adds r2, 0x1 - cmp r2, 0x3 - bgt _08094046 - ldrb r1, [r3] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _08094032 -_08094046: - cmp r2, 0x7 - bgt _0809405A - movs r1, 0 - lsls r0, r2, 3 - adds r0, r5 -_08094050: - strb r1, [r0] - adds r0, 0x8 - adds r2, 0x1 - cmp r2, 0x7 - ble _08094050 -_0809405A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_809401C - - thumb_func_start sub_8094060 -sub_8094060: - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - movs r4, 0 - movs r5, 0 - adds r3, r6, 0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08094084 -_08094076: - lsls r2, r4, 3 - adds r2, r7, r2 - ldr r0, [r3] - ldr r1, [r3, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - adds r4, 0x1 -_08094084: - adds r5, 0x1 - cmp r5, 0x7 - bgt _0809409C - lsls r0, r5, 3 - adds r3, r6, r0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08094084 - cmp r4, 0x3 - ble _08094076 -_0809409C: - cmp r4, 0x3 - bgt _080940B0 - movs r1, 0 - lsls r0, r4, 3 - adds r0, r7 -_080940A6: - strb r1, [r0] - adds r0, 0x8 - adds r4, 0x1 - cmp r4, 0x3 - ble _080940A6 -_080940B0: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8094060 - - thumb_func_start sub_80940B8 -sub_80940B8: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl SaveIntegerBits - adds r1, r5, 0x2 - adds r0, r4, 0 - movs r2, 0x9 - bl SaveIntegerBits - adds r5, 0x4 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x7 - bl SaveIntegerBits - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80940B8 - - thumb_func_start sub_80940E0 -sub_80940E0: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl RestoreIntegerBits - adds r1, r5, 0x2 - adds r0, r4, 0 - movs r2, 0x9 - bl RestoreIntegerBits - adds r5, 0x4 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x7 - bl RestoreIntegerBits - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80940E0 - - thumb_func_start SavePokemonMoves -SavePokemonMoves: - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - movs r5, 0x3 -_08094110: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80940B8 - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _08094110 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end SavePokemonMoves - - thumb_func_start RestorePokemonMoves -RestorePokemonMoves: - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - movs r5, 0x3 -_08094130: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80940E0 - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _08094130 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end RestorePokemonMoves - - thumb_func_start sub_8094148 -sub_8094148: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x4 - bl SaveIntegerBits - adds r1, r4, 0x1 - adds r0, r5, 0 - movs r2, 0x1 - bl SaveIntegerBits - adds r1, r4, 0x2 - adds r0, r5, 0 - movs r2, 0x9 - bl SaveIntegerBits - adds r1, r4, 0x4 - adds r0, r5, 0 - movs r2, 0x7 - bl SaveIntegerBits - adds r4, 0x5 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x7 - bl SaveIntegerBits - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8094148 - - thumb_func_start sub_8094184 -sub_8094184: - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - adds r4, r7, 0 - movs r5, 0x3 -_0809418E: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8094148 - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _0809418E - adds r1, r7, 0 - adds r1, 0x20 - adds r0, r6, 0 - movs r2, 0x8 - bl SaveIntegerBits - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8094184 - - thumb_func_start sub_80941B0 -sub_80941B0: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x8 - bl memset - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x4 - bl RestoreIntegerBits - adds r1, r4, 0x1 - adds r0, r5, 0 - movs r2, 0x1 - bl RestoreIntegerBits - adds r1, r4, 0x2 - adds r0, r5, 0 - movs r2, 0x9 - bl RestoreIntegerBits - adds r1, r4, 0x4 - adds r0, r5, 0 - movs r2, 0x7 - bl RestoreIntegerBits - adds r4, 0x5 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x7 - bl RestoreIntegerBits - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80941B0 - - thumb_func_start sub_80941FC -sub_80941FC: - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - adds r4, r7, 0 - movs r5, 0x3 -_08094206: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80941B0 - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _08094206 - adds r1, r7, 0 - adds r1, 0x20 - movs r0, 0 - strb r0, [r1] - adds r0, r6, 0 - movs r2, 0x8 - bl RestoreIntegerBits - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80941FC - - thumb_func_start sub_809422C -sub_809422C: - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - cmp r1, 0x97 - beq _08094260 - cmp r1, 0x64 - beq _08094260 - cmp r1, 0x3C - beq _08094260 - cmp r1, 0x4B - beq _08094260 - movs r0, 0xAE - lsls r0, 1 - cmp r1, r0 - beq _08094260 - cmp r1, 0x99 - beq _08094260 - cmp r1, 0xCD - beq _08094260 - cmp r1, 0x9C - beq _08094260 - cmp r2, 0x8 - beq _08094260 - movs r0, 0 - b _08094262 -_08094260: - movs r0, 0x1 -_08094262: - pop {r1} - bx r1 - thumb_func_end sub_809422C - - thumb_func_start sub_8094268 -sub_8094268: - push {r4-r6,lr} - adds r5, r0, 0 - adds r3, r1, 0 - asrs r0, r3, 16 - asrs r1, r2, 16 - adds r0, r1 - lsls r0, 16 - ldr r6, _080942B0 - ands r3, r6 - orrs r3, r0 - adds r2, r3, r2 - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080942B4 - ands r3, r4 - orrs r3, r2 - asrs r1, r3, 16 - ldr r0, _080942B8 - cmp r1, r0 - ble _080942A6 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r0, 16 - ands r3, r4 - orrs r3, r0 - asrs r0, r3, 16 - ldr r1, _080942BC - adds r0, r1 - lsls r0, 16 - ands r3, r6 - orrs r3, r0 -_080942A6: - str r3, [r5] - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080942B0: .4byte 0x0000ffff -_080942B4: .4byte 0xffff0000 -_080942B8: .4byte 0x000003e7 -_080942BC: .4byte 0xfffffc18 - thumb_func_end sub_8094268 - - thumb_func_start sub_80942C0 -sub_80942C0: - push {r4,r5,lr} - adds r5, r0, 0 - adds r3, r1, 0 - asrs r0, r3, 16 - asrs r1, r2, 16 - subs r0, r1 - lsls r0, 16 - ldr r4, _08094310 - ands r3, r4 - orrs r3, r0 - subs r2, r3, r2 - lsls r2, 16 - lsrs r2, 16 - ldr r1, _08094314 - ands r3, r1 - orrs r3, r2 - cmp r3, 0 - bge _080942FC - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r0, 16 - ands r3, r1 - orrs r3, r0 - asrs r0, r3, 16 - movs r2, 0xFA - lsls r2, 2 - adds r0, r2 - lsls r0, 16 - ands r3, r4 - orrs r3, r0 -_080942FC: - lsls r0, r3, 16 - cmp r0, 0 - bge _08094304 - movs r3, 0 -_08094304: - str r3, [r5] - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08094310: .4byte 0x0000ffff -_08094314: .4byte 0xffff0000 - thumb_func_end sub_80942C0 - - thumb_func_start sub_8094318 -sub_8094318: - push {r4,lr} - adds r4, r0, 0 - adds r3, r1, 0 - lsls r0, r3, 16 - asrs r1, r0, 16 - lsls r0, r2, 16 - asrs r0, 16 - cmp r1, r0 - bgt _08094336 - cmp r1, r0 - blt _0809433A - asrs r1, r3, 16 - asrs r0, r2, 16 - cmp r1, r0 - ble _0809433A -_08094336: - str r2, [r4] - b _0809433C -_0809433A: - str r3, [r4] -_0809433C: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8094318 - - thumb_func_start sub_8094344 -sub_8094344: - push {r4,lr} - adds r4, r0, 0 - adds r3, r1, 0 - lsls r0, r3, 16 - asrs r1, r0, 16 - lsls r0, r2, 16 - asrs r0, 16 - cmp r1, r0 - bgt _08094362 - cmp r1, r0 - blt _08094366 - asrs r1, r3, 16 - asrs r0, r2, 16 - cmp r1, r0 - ble _08094366 -_08094362: - str r3, [r4] - b _08094368 -_08094366: - str r2, [r4] -_08094368: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8094344 - - thumb_func_start sub_8094370 -sub_8094370: - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 16 - lsls r2, 16 - ldr r4, _08094398 - lsrs r3, r1, 16 - orrs r3, r2 - asrs r2, 16 - ldr r1, _0809439C - asrs r0, r1, 16 - cmp r2, r0 - ble _0809438C - ands r3, r4 - orrs r3, r1 -_0809438C: - str r3, [r5] - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08094398: .4byte 0x0000ffff -_0809439C: .4byte 0x03e70000 - thumb_func_end sub_8094370 - - thumb_func_start sub_80943A0 -sub_80943A0: - lsls r1, 16 - lsrs r2, r1, 16 - str r2, [r0] - bx lr - thumb_func_end sub_80943A0 - - thumb_func_start sub_80943A8 -sub_80943A8: - push {r4,r5,lr} - ldr r3, [r1, 0x4] - lsrs r2, r3, 16 - ldr r1, _080943D4 - ands r5, r1 - orrs r5, r2 - ldr r4, _080943D8 - adds r2, r4, 0 - ands r2, r3 - lsls r1, r2, 5 - subs r1, r2 - lsls r1, 2 - adds r1, r2 - lsls r1, 3 - lsrs r1, 16 - lsls r1, 16 - ands r5, r4 - orrs r5, r1 - str r5, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080943D4: .4byte 0xffff0000 -_080943D8: .4byte 0x0000ffff - thumb_func_end sub_80943A8 - - thumb_func_start sub_80943DC -sub_80943DC: - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - lsls r1, r4, 16 - asrs r1, 16 - lsls r0, r1, 5 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - lsls r0, 3 - asrs r1, r4, 16 - adds r0, r1 - lsls r3, r2, 16 - asrs r3, 16 - lsls r1, r3, 5 - subs r1, r3 - lsls r1, 2 - adds r1, r3 - lsls r1, 3 - asrs r2, 16 - adds r1, r2 - muls r0, r1 - movs r5, 0xFA - lsls r5, 2 - adds r1, r5, 0 - bl __divsi3 - adds r6, r0, 0 - adds r1, r5, 0 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08094448 - ands r4, r1 - orrs r4, r0 - adds r0, r6, 0 - adds r1, r5, 0 - bl __modsi3 - lsls r0, 16 - ldr r1, _0809444C - ands r1, r4 - orrs r0, r1 - mov r1, r8 - str r0, [r1] - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08094448: .4byte 0xffff0000 -_0809444C: .4byte 0x0000ffff - thumb_func_end sub_80943DC - - thumb_func_start sub_8094450 -sub_8094450: - push {lr} - adds r1, r0, 0 - lsls r0, r1, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _0809446A - asrs r0, r1, 16 - cmp r0, 0 - bne _08094466 - movs r0, 0 - b _08094476 -_08094466: - movs r0, 0x1 - b _08094476 -_0809446A: - asrs r0, r1, 16 - cmp r0, 0 - bne _08094474 - adds r0, r2, 0 - b _08094476 -_08094474: - adds r0, r2, 0x1 -_08094476: - pop {r1} - bx r1 - thumb_func_end sub_8094450 - - thumb_func_start sub_809447C -sub_809447C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x10 - bl RestoreIntegerBits - adds r4, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x10 - bl RestoreIntegerBits - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_809447C - - thumb_func_start sub_809449C -sub_809449C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x10 - bl SaveIntegerBits - adds r4, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x10 - bl SaveIntegerBits - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_809449C - - thumb_func_start sub_80944BC -sub_80944BC: - push {r4,lr} - sub sp, 0x8 - adds r4, r1, 0 - lsls r0, 16 - asrs r1, r0, 16 - ldr r0, _080944F4 - cmp r1, r0 - bgt _08094500 - lsls r1, 16 - lsrs r1, 16 - mov r0, sp - bl sub_8092AA8 - ldr r0, _080944F8 - mov r1, sp - movs r2, 0 - bl sub_80928C0 - ldr r0, _080944FC - ldr r0, [r0] - adds r2, r4, 0 - adds r2, 0xC8 - adds r1, r4, 0 - movs r3, 0 - bl xxx_format_string - b _08094516 - .align 2, 0 -_080944F4: .4byte 0x000001f3 -_080944F8: .4byte gUnknown_202DE58 -_080944FC: .4byte gUnknown_811383C -_08094500: - ldr r0, _08094520 - ldr r2, _08094524 - adds r1, r2 - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r4, 0 - movs r2, 0xC8 - bl strncpy -_08094516: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08094520: .4byte gUnknown_8113080 -_08094524: .4byte 0xfffffe0c - thumb_func_end sub_80944BC - - thumb_func_start sub_8094528 -sub_8094528: - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - ldr r0, _08094544 - cmp r1, r0 - ble _08094550 - ldr r0, _08094548 - ldr r2, _0809454C - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1] - b _08094552 - .align 2, 0 -_08094544: .4byte 0x000001f3 -_08094548: .4byte gUnknown_8113080 -_0809454C: .4byte 0xfffffe0c -_08094550: - movs r0, 0x1 -_08094552: - pop {r1} - bx r1 - thumb_func_end sub_8094528 - - thumb_func_start sub_8094558 -sub_8094558: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xCC - adds r7, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - bl sub_80073B8 - movs r5, 0 - str r5, [sp] - movs r0, 0x10 - movs r1, 0 - adds r2, r4, 0 - adds r3, r7, 0 - bl xxx_format_and_draw - ldr r4, _080945D0 - adds r1, r6, 0 - adds r1, 0x18 - adds r0, r4, 0 - bl sub_8090208 - ldr r0, _080945D4 - ldr r2, [r0] - str r5, [sp] - movs r0, 0x4 - movs r1, 0x10 - adds r3, r7, 0 - bl xxx_format_and_draw - movs r5, 0x1A - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0xA - bl sub_80922B4 - adds r4, 0x50 - adds r1, r6, 0 - adds r1, 0xA - adds r0, r4, 0 - movs r2, 0xA - bl sub_80922B4 - movs r1, 0x14 - ldrsh r0, [r6, r1] - bl sub_8094528 - lsls r0, 24 - cmp r0, 0 - beq _080945DC - ldr r0, _080945D8 - ldr r0, [r0] - add r2, sp, 0xCC - add r1, sp, 0x4 - movs r3, 0 - bl xxx_format_string - b _080945EA - .align 2, 0 -_080945D0: .4byte gAvailablePokemonNames -_080945D4: .4byte gUnknown_8113850 -_080945D8: .4byte gUnknown_8113868 -_080945DC: - ldr r0, _0809465C - ldr r0, [r0] - add r2, sp, 0xCC - add r1, sp, 0x4 - movs r3, 0 - bl xxx_format_string -_080945EA: - add r0, sp, 0x4 - bl sub_8008ED0 - movs r4, 0xB0 - subs r0, r4, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0 - mov r8, r1 - str r1, [sp] - adds r1, r5, 0 - add r2, sp, 0x4 - adds r3, r7, 0 - bl xxx_format_and_draw - adds r5, 0xA - movs r1, 0x14 - ldrsh r0, [r6, r1] - add r1, sp, 0x4 - bl sub_80944BC - add r0, sp, 0x4 - bl sub_8008ED0 - subs r4, r0 - lsrs r0, r4, 31 - adds r4, r0 - asrs r0, r4, 1 - mov r1, r8 - str r1, [sp] - adds r1, r5, 0 - add r2, sp, 0x4 - adds r3, r7, 0 - bl xxx_format_and_draw - adds r5, 0x10 - ldr r1, _08094660 - ldr r0, [r6, 0x20] - str r0, [r1] - adds r0, r6, 0 - adds r0, 0x2A - ldrb r0, [r0] - str r0, [r1, 0x4] - cmp r0, 0x63 - ble _08094668 - ldr r0, _08094664 - ldr r2, [r0] - mov r0, r8 - str r0, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl xxx_format_and_draw - b _0809467A - .align 2, 0 -_0809465C: .4byte gUnknown_8113870 -_08094660: .4byte gUnknown_202DE30 -_08094664: .4byte gUnknown_81138C0 -_08094668: - ldr r0, _080946CC - ldr r2, [r0] - mov r1, r8 - str r1, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl xxx_format_and_draw -_0809467A: - adds r5, 0xA - ldr r4, _080946D0 - movs r1, 0x24 - ldrsh r0, [r6, r1] - str r0, [r4] - ldr r0, _080946D4 - ldr r2, [r0] - movs r0, 0 - mov r8, r0 - str r0, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl xxx_format_and_draw - adds r5, 0xA - adds r0, r6, 0 - adds r0, 0x26 - ldrb r2, [r0] - str r2, [r4] - adds r0, 0x2 - ldrb r0, [r0] - str r0, [r4, 0x4] - adds r0, r6, 0 - adds r0, 0x2B - ldrb r1, [r0] - cmp r1, 0 - beq _080946DC - adds r0, r1, 0 - adds r0, r2, r0 - str r0, [r4] - ldr r0, _080946D8 - ldr r2, [r0] - mov r1, r8 - str r1, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl xxx_format_and_draw - b _080946EC - .align 2, 0 -_080946CC: .4byte gUnknown_8113898 -_080946D0: .4byte gUnknown_202DE30 -_080946D4: .4byte gUnknown_81138D0 -_080946D8: .4byte gUnknown_8113950 -_080946DC: - ldr r0, _08094714 - ldr r2, [r0] - str r1, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl xxx_format_and_draw -_080946EC: - adds r0, r6, 0 - adds r0, 0x2D - ldrb r1, [r0] - cmp r1, 0 - beq _08094720 - ldr r2, _08094718 - ldr r0, [r2, 0x4] - adds r0, r1 - str r0, [r2, 0x4] - ldr r0, _0809471C - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl xxx_format_and_draw - b _08094730 - .align 2, 0 -_08094714: .4byte gUnknown_81138E4 -_08094718: .4byte gUnknown_202DE30 -_0809471C: .4byte gUnknown_8113974 -_08094720: - ldr r0, _08094768 - ldr r2, [r0] - str r1, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl xxx_format_and_draw -_08094730: - adds r5, 0xA - ldr r2, _0809476C - adds r0, r6, 0 - adds r0, 0x27 - ldrb r3, [r0] - str r3, [r2] - adds r0, 0x2 - ldrb r0, [r0] - str r0, [r2, 0x4] - adds r0, r6, 0 - adds r0, 0x2C - ldrb r1, [r0] - cmp r1, 0 - beq _08094774 - adds r0, r1, 0 - adds r0, r3, r0 - str r0, [r2] - ldr r0, _08094770 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl xxx_format_and_draw - b _08094784 - .align 2, 0 -_08094768: .4byte gUnknown_8113900 -_0809476C: .4byte gUnknown_202DE30 -_08094770: .4byte gUnknown_8113990 -_08094774: - ldr r0, _080947AC - ldr r2, [r0] - str r1, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl xxx_format_and_draw -_08094784: - adds r0, r6, 0 - adds r0, 0x2E - ldrb r1, [r0] - cmp r1, 0 - beq _080947B8 - ldr r2, _080947B0 - ldr r0, [r2, 0x4] - adds r0, r1 - str r0, [r2, 0x4] - ldr r0, _080947B4 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl xxx_format_and_draw - b _080947C8 - .align 2, 0 -_080947AC: .4byte gUnknown_8113918 -_080947B0: .4byte gUnknown_202DE30 -_080947B4: .4byte gUnknown_81139B4 -_080947B8: - ldr r0, _080947E4 - ldr r2, [r0] - str r1, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl xxx_format_and_draw -_080947C8: - adds r5, 0x10 - adds r2, r6, 0 - adds r2, 0x1C - ldrb r1, [r6, 0x1C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080947EC - ldr r0, _080947E8 - adds r1, r2, 0 - movs r2, 0 - bl sub_8090E14 - b _080947F6 - .align 2, 0 -_080947E4: .4byte gUnknown_8113934 -_080947E8: .4byte gUnknown_202DE58 -_080947EC: - ldr r0, _0809481C - ldr r1, _08094820 - ldr r1, [r1] - bl strcpy -_080947F6: - ldr r0, _08094824 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl xxx_format_and_draw - adds r0, r7, 0 - bl sub_80073E0 - add sp, 0xCC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809481C: .4byte gUnknown_202DE58 -_08094820: .4byte gUnknown_81139B8 -_08094824: .4byte gUnknown_81139CC - thumb_func_end sub_8094558 - - .align 2,0 @ Don't pad with nop diff --git a/asm/code_8094148.s b/asm/code_8094148.s new file mode 100644 index 0000000..66feab4 --- /dev/null +++ b/asm/code_8094148.s @@ -0,0 +1,749 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8094268 +sub_8094268: + push {r4-r6,lr} + adds r5, r0, 0 + adds r3, r1, 0 + asrs r0, r3, 16 + asrs r1, r2, 16 + adds r0, r1 + lsls r0, 16 + ldr r6, _080942B0 + ands r3, r6 + orrs r3, r0 + adds r2, r3, r2 + lsls r2, 16 + lsrs r2, 16 + ldr r4, _080942B4 + ands r3, r4 + orrs r3, r2 + asrs r1, r3, 16 + ldr r0, _080942B8 + cmp r1, r0 + ble _080942A6 + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r0, 16 + ands r3, r4 + orrs r3, r0 + asrs r0, r3, 16 + ldr r1, _080942BC + adds r0, r1 + lsls r0, 16 + ands r3, r6 + orrs r3, r0 +_080942A6: + str r3, [r5] + adds r0, r5, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_080942B0: .4byte 0x0000ffff +_080942B4: .4byte 0xffff0000 +_080942B8: .4byte 0x000003e7 +_080942BC: .4byte 0xfffffc18 + thumb_func_end sub_8094268 + + thumb_func_start sub_80942C0 +sub_80942C0: + push {r4,r5,lr} + adds r5, r0, 0 + adds r3, r1, 0 + asrs r0, r3, 16 + asrs r1, r2, 16 + subs r0, r1 + lsls r0, 16 + ldr r4, _08094310 + ands r3, r4 + orrs r3, r0 + subs r2, r3, r2 + lsls r2, 16 + lsrs r2, 16 + ldr r1, _08094314 + ands r3, r1 + orrs r3, r2 + cmp r3, 0 + bge _080942FC + subs r0, r3, 0x1 + lsls r0, 16 + lsrs r0, 16 + ands r3, r1 + orrs r3, r0 + asrs r0, r3, 16 + movs r2, 0xFA + lsls r2, 2 + adds r0, r2 + lsls r0, 16 + ands r3, r4 + orrs r3, r0 +_080942FC: + lsls r0, r3, 16 + cmp r0, 0 + bge _08094304 + movs r3, 0 +_08094304: + str r3, [r5] + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08094310: .4byte 0x0000ffff +_08094314: .4byte 0xffff0000 + thumb_func_end sub_80942C0 + + thumb_func_start sub_8094318 +sub_8094318: + push {r4,lr} + adds r4, r0, 0 + adds r3, r1, 0 + lsls r0, r3, 16 + asrs r1, r0, 16 + lsls r0, r2, 16 + asrs r0, 16 + cmp r1, r0 + bgt _08094336 + cmp r1, r0 + blt _0809433A + asrs r1, r3, 16 + asrs r0, r2, 16 + cmp r1, r0 + ble _0809433A +_08094336: + str r2, [r4] + b _0809433C +_0809433A: + str r3, [r4] +_0809433C: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8094318 + + thumb_func_start sub_8094344 +sub_8094344: + push {r4,lr} + adds r4, r0, 0 + adds r3, r1, 0 + lsls r0, r3, 16 + asrs r1, r0, 16 + lsls r0, r2, 16 + asrs r0, 16 + cmp r1, r0 + bgt _08094362 + cmp r1, r0 + blt _08094366 + asrs r1, r3, 16 + asrs r0, r2, 16 + cmp r1, r0 + ble _08094366 +_08094362: + str r3, [r4] + b _08094368 +_08094366: + str r2, [r4] +_08094368: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8094344 + + thumb_func_start sub_8094370 +sub_8094370: + push {r4,r5,lr} + adds r5, r0, 0 + lsls r1, 16 + lsls r2, 16 + ldr r4, _08094398 + lsrs r3, r1, 16 + orrs r3, r2 + asrs r2, 16 + ldr r1, _0809439C + asrs r0, r1, 16 + cmp r2, r0 + ble _0809438C + ands r3, r4 + orrs r3, r1 +_0809438C: + str r3, [r5] + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08094398: .4byte 0x0000ffff +_0809439C: .4byte 0x03e70000 + thumb_func_end sub_8094370 + + thumb_func_start sub_80943A0 +sub_80943A0: + lsls r1, 16 + lsrs r2, r1, 16 + str r2, [r0] + bx lr + thumb_func_end sub_80943A0 + + thumb_func_start sub_80943A8 +sub_80943A8: + push {r4,r5,lr} + ldr r3, [r1, 0x4] + lsrs r2, r3, 16 + ldr r1, _080943D4 + ands r5, r1 + orrs r5, r2 + ldr r4, _080943D8 + adds r2, r4, 0 + ands r2, r3 + lsls r1, r2, 5 + subs r1, r2 + lsls r1, 2 + adds r1, r2 + lsls r1, 3 + lsrs r1, 16 + lsls r1, 16 + ands r5, r4 + orrs r5, r1 + str r5, [r0] + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_080943D4: .4byte 0xffff0000 +_080943D8: .4byte 0x0000ffff + thumb_func_end sub_80943A8 + + thumb_func_start sub_80943DC +sub_80943DC: + push {r4-r6,lr} + mov r6, r8 + push {r6} + mov r8, r0 + adds r4, r1, 0 + lsls r1, r4, 16 + asrs r1, 16 + lsls r0, r1, 5 + subs r0, r1 + lsls r0, 2 + adds r0, r1 + lsls r0, 3 + asrs r1, r4, 16 + adds r0, r1 + lsls r3, r2, 16 + asrs r3, 16 + lsls r1, r3, 5 + subs r1, r3 + lsls r1, 2 + adds r1, r3 + lsls r1, 3 + asrs r2, 16 + adds r1, r2 + muls r0, r1 + movs r5, 0xFA + lsls r5, 2 + adds r1, r5, 0 + bl __divsi3 + adds r6, r0, 0 + adds r1, r5, 0 + bl __divsi3 + lsls r0, 16 + lsrs r0, 16 + ldr r1, _08094448 + ands r4, r1 + orrs r4, r0 + adds r0, r6, 0 + adds r1, r5, 0 + bl __modsi3 + lsls r0, 16 + ldr r1, _0809444C + ands r1, r4 + orrs r0, r1 + mov r1, r8 + str r0, [r1] + mov r0, r8 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08094448: .4byte 0xffff0000 +_0809444C: .4byte 0x0000ffff + thumb_func_end sub_80943DC + + thumb_func_start sub_8094450 +sub_8094450: + push {lr} + adds r1, r0, 0 + lsls r0, r1, 16 + asrs r2, r0, 16 + cmp r2, 0 + bne _0809446A + asrs r0, r1, 16 + cmp r0, 0 + bne _08094466 + movs r0, 0 + b _08094476 +_08094466: + movs r0, 0x1 + b _08094476 +_0809446A: + asrs r0, r1, 16 + cmp r0, 0 + bne _08094474 + adds r0, r2, 0 + b _08094476 +_08094474: + adds r0, r2, 0x1 +_08094476: + pop {r1} + bx r1 + thumb_func_end sub_8094450 + + thumb_func_start sub_809447C +sub_809447C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x10 + bl RestoreIntegerBits + adds r4, 0x2 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x10 + bl RestoreIntegerBits + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_809447C + + thumb_func_start sub_809449C +sub_809449C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x10 + bl SaveIntegerBits + adds r4, 0x2 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x10 + bl SaveIntegerBits + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_809449C + + thumb_func_start sub_80944BC +sub_80944BC: + push {r4,lr} + sub sp, 0x8 + adds r4, r1, 0 + lsls r0, 16 + asrs r1, r0, 16 + ldr r0, _080944F4 + cmp r1, r0 + bgt _08094500 + lsls r1, 16 + lsrs r1, 16 + mov r0, sp + bl sub_8092AA8 + ldr r0, _080944F8 + mov r1, sp + movs r2, 0 + bl sub_80928C0 + ldr r0, _080944FC + ldr r0, [r0] + adds r2, r4, 0 + adds r2, 0xC8 + adds r1, r4, 0 + movs r3, 0 + bl xxx_format_string + b _08094516 + .align 2, 0 +_080944F4: .4byte 0x000001f3 +_080944F8: .4byte gUnknown_202DE58 +_080944FC: .4byte gUnknown_811383C +_08094500: + ldr r0, _08094520 + ldr r2, _08094524 + adds r1, r2 + lsls r1, 3 + adds r0, 0x4 + adds r1, r0 + ldr r1, [r1] + adds r0, r4, 0 + movs r2, 0xC8 + bl strncpy +_08094516: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08094520: .4byte gUnknown_8113080 +_08094524: .4byte 0xfffffe0c + thumb_func_end sub_80944BC + + thumb_func_start sub_8094528 +sub_8094528: + push {lr} + lsls r0, 16 + asrs r1, r0, 16 + ldr r0, _08094544 + cmp r1, r0 + ble _08094550 + ldr r0, _08094548 + ldr r2, _0809454C + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldrb r0, [r1] + b _08094552 + .align 2, 0 +_08094544: .4byte 0x000001f3 +_08094548: .4byte gUnknown_8113080 +_0809454C: .4byte 0xfffffe0c +_08094550: + movs r0, 0x1 +_08094552: + pop {r1} + bx r1 + thumb_func_end sub_8094528 + + thumb_func_start sub_8094558 +sub_8094558: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0xCC + adds r7, r0, 0 + adds r4, r1, 0 + adds r6, r2, 0 + bl sub_80073B8 + movs r5, 0 + str r5, [sp] + movs r0, 0x10 + movs r1, 0 + adds r2, r4, 0 + adds r3, r7, 0 + bl xxx_format_and_draw + ldr r4, _080945D0 + adds r1, r6, 0 + adds r1, 0x18 + adds r0, r4, 0 + bl sub_8090208 + ldr r0, _080945D4 + ldr r2, [r0] + str r5, [sp] + movs r0, 0x4 + movs r1, 0x10 + adds r3, r7, 0 + bl xxx_format_and_draw + movs r5, 0x1A + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0xA + bl sub_80922B4 + adds r4, 0x50 + adds r1, r6, 0 + adds r1, 0xA + adds r0, r4, 0 + movs r2, 0xA + bl sub_80922B4 + movs r1, 0x14 + ldrsh r0, [r6, r1] + bl sub_8094528 + lsls r0, 24 + cmp r0, 0 + beq _080945DC + ldr r0, _080945D8 + ldr r0, [r0] + add r2, sp, 0xCC + add r1, sp, 0x4 + movs r3, 0 + bl xxx_format_string + b _080945EA + .align 2, 0 +_080945D0: .4byte gAvailablePokemonNames +_080945D4: .4byte gUnknown_8113850 +_080945D8: .4byte gUnknown_8113868 +_080945DC: + ldr r0, _0809465C + ldr r0, [r0] + add r2, sp, 0xCC + add r1, sp, 0x4 + movs r3, 0 + bl xxx_format_string +_080945EA: + add r0, sp, 0x4 + bl sub_8008ED0 + movs r4, 0xB0 + subs r0, r4, r0 + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + movs r1, 0 + mov r8, r1 + str r1, [sp] + adds r1, r5, 0 + add r2, sp, 0x4 + adds r3, r7, 0 + bl xxx_format_and_draw + adds r5, 0xA + movs r1, 0x14 + ldrsh r0, [r6, r1] + add r1, sp, 0x4 + bl sub_80944BC + add r0, sp, 0x4 + bl sub_8008ED0 + subs r4, r0 + lsrs r0, r4, 31 + adds r4, r0 + asrs r0, r4, 1 + mov r1, r8 + str r1, [sp] + adds r1, r5, 0 + add r2, sp, 0x4 + adds r3, r7, 0 + bl xxx_format_and_draw + adds r5, 0x10 + ldr r1, _08094660 + ldr r0, [r6, 0x20] + str r0, [r1] + adds r0, r6, 0 + adds r0, 0x2A + ldrb r0, [r0] + str r0, [r1, 0x4] + cmp r0, 0x63 + ble _08094668 + ldr r0, _08094664 + ldr r2, [r0] + mov r0, r8 + str r0, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl xxx_format_and_draw + b _0809467A + .align 2, 0 +_0809465C: .4byte gUnknown_8113870 +_08094660: .4byte gUnknown_202DE30 +_08094664: .4byte gUnknown_81138C0 +_08094668: + ldr r0, _080946CC + ldr r2, [r0] + mov r1, r8 + str r1, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl xxx_format_and_draw +_0809467A: + adds r5, 0xA + ldr r4, _080946D0 + movs r1, 0x24 + ldrsh r0, [r6, r1] + str r0, [r4] + ldr r0, _080946D4 + ldr r2, [r0] + movs r0, 0 + mov r8, r0 + str r0, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl xxx_format_and_draw + adds r5, 0xA + adds r0, r6, 0 + adds r0, 0x26 + ldrb r2, [r0] + str r2, [r4] + adds r0, 0x2 + ldrb r0, [r0] + str r0, [r4, 0x4] + adds r0, r6, 0 + adds r0, 0x2B + ldrb r1, [r0] + cmp r1, 0 + beq _080946DC + adds r0, r1, 0 + adds r0, r2, r0 + str r0, [r4] + ldr r0, _080946D8 + ldr r2, [r0] + mov r1, r8 + str r1, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl xxx_format_and_draw + b _080946EC + .align 2, 0 +_080946CC: .4byte gUnknown_8113898 +_080946D0: .4byte gUnknown_202DE30 +_080946D4: .4byte gUnknown_81138D0 +_080946D8: .4byte gUnknown_8113950 +_080946DC: + ldr r0, _08094714 + ldr r2, [r0] + str r1, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl xxx_format_and_draw +_080946EC: + adds r0, r6, 0 + adds r0, 0x2D + ldrb r1, [r0] + cmp r1, 0 + beq _08094720 + ldr r2, _08094718 + ldr r0, [r2, 0x4] + adds r0, r1 + str r0, [r2, 0x4] + ldr r0, _0809471C + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl xxx_format_and_draw + b _08094730 + .align 2, 0 +_08094714: .4byte gUnknown_81138E4 +_08094718: .4byte gUnknown_202DE30 +_0809471C: .4byte gUnknown_8113974 +_08094720: + ldr r0, _08094768 + ldr r2, [r0] + str r1, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl xxx_format_and_draw +_08094730: + adds r5, 0xA + ldr r2, _0809476C + adds r0, r6, 0 + adds r0, 0x27 + ldrb r3, [r0] + str r3, [r2] + adds r0, 0x2 + ldrb r0, [r0] + str r0, [r2, 0x4] + adds r0, r6, 0 + adds r0, 0x2C + ldrb r1, [r0] + cmp r1, 0 + beq _08094774 + adds r0, r1, 0 + adds r0, r3, r0 + str r0, [r2] + ldr r0, _08094770 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl xxx_format_and_draw + b _08094784 + .align 2, 0 +_08094768: .4byte gUnknown_8113900 +_0809476C: .4byte gUnknown_202DE30 +_08094770: .4byte gUnknown_8113990 +_08094774: + ldr r0, _080947AC + ldr r2, [r0] + str r1, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl xxx_format_and_draw +_08094784: + adds r0, r6, 0 + adds r0, 0x2E + ldrb r1, [r0] + cmp r1, 0 + beq _080947B8 + ldr r2, _080947B0 + ldr r0, [r2, 0x4] + adds r0, r1 + str r0, [r2, 0x4] + ldr r0, _080947B4 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl xxx_format_and_draw + b _080947C8 + .align 2, 0 +_080947AC: .4byte gUnknown_8113918 +_080947B0: .4byte gUnknown_202DE30 +_080947B4: .4byte gUnknown_81139B4 +_080947B8: + ldr r0, _080947E4 + ldr r2, [r0] + str r1, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl xxx_format_and_draw +_080947C8: + adds r5, 0x10 + adds r2, r6, 0 + adds r2, 0x1C + ldrb r1, [r6, 0x1C] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080947EC + ldr r0, _080947E8 + adds r1, r2, 0 + movs r2, 0 + bl sub_8090E14 + b _080947F6 + .align 2, 0 +_080947E4: .4byte gUnknown_8113934 +_080947E8: .4byte gUnknown_202DE58 +_080947EC: + ldr r0, _0809481C + ldr r1, _08094820 + ldr r1, [r1] + bl strcpy +_080947F6: + ldr r0, _08094824 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl xxx_format_and_draw + adds r0, r7, 0 + bl sub_80073E0 + add sp, 0xCC + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0809481C: .4byte gUnknown_202DE58 +_08094820: .4byte gUnknown_81139B8 +_08094824: .4byte gUnknown_81139CC + thumb_func_end sub_8094558 + + .align 2,0 diff --git a/asm/friend_area_action_menu_1.s b/asm/friend_area_action_menu_1.s deleted file mode 100644 index 2724a25..0000000 --- a/asm/friend_area_action_menu_1.s +++ /dev/null @@ -1,391 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8027CA0 -sub_8027CA0: - push {lr} - movs r0, 0x1 - bl sub_801EF38 - cmp r0, 0x4 - bhi _08027CFA - lsls r0, 2 - ldr r1, _08027CB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08027CB8: .4byte _08027CBC - .align 2, 0 -_08027CBC: - .4byte _08027CFA - .4byte _08027CFA - .4byte _08027CF0 - .4byte _08027CD0 - .4byte _08027CD0 -_08027CD0: - bl sub_801F194 - ldr r1, _08027CEC - ldr r1, [r1] - str r0, [r1, 0x20] - lsls r0, 3 - adds r0, r1, r0 - ldrh r0, [r0, 0x2A] - strh r0, [r1, 0x24] - movs r0, 0x10 - bl SetFriendAreaActionMenuState - b _08027CFA - .align 2, 0 -_08027CEC: .4byte gUnknown_203B2BC -_08027CF0: - bl sub_801F214 - movs r0, 0x2 - bl SetFriendAreaActionMenuState -_08027CFA: - pop {r0} - bx r0 - thumb_func_end sub_8027CA0 - - thumb_func_start sub_8027D00 -sub_8027D00: - push {lr} - bl sub_801F890 - cmp r0, 0x1 - bls _08027D18 - cmp r0, 0x3 - bhi _08027D18 - bl sub_801F8D0 - movs r0, 0xF - bl SetFriendAreaActionMenuState -_08027D18: - pop {r0} - bx r0 - thumb_func_end sub_8027D00 - - thumb_func_start sub_8027D1C -sub_8027D1C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08027D34 - ldr r0, _08027D3C - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl SetFriendAreaActionMenuState -_08027D34: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08027D3C: .4byte gUnknown_203B2BC - thumb_func_end sub_8027D1C - - thumb_func_start sub_8027D40 -sub_8027D40: - push {r4-r6,lr} - sub sp, 0x14 - adds r6, r0, 0 - adds r5, r1, 0 - bl sub_8008C54 - adds r0, r6, 0 - bl sub_80073B8 - add r4, sp, 0x10 - adds r0, r4, 0 - adds r1, r5, 0 - bl HeldItemToSlot - movs r5, 0 - str r5, [sp, 0x4] - add r0, sp, 0x4 - strb r5, [r0, 0x4] - adds r1, r0, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - strb r0, [r4] - ldr r0, _08027D94 - adds r1, r4, 0 - add r2, sp, 0x4 - bl sub_8090E14 - ldr r2, _08027D98 - str r5, [sp] - movs r0, 0x4 - movs r1, 0x3 - adds r3, r6, 0 - bl xxx_format_and_draw - adds r0, r6, 0 - bl sub_80073E0 - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08027D94: .4byte gUnknown_202DE58 -_08027D98: .4byte gUnknown_80DD958 - thumb_func_end sub_8027D40 - - thumb_func_start sub_8027D9C -sub_8027D9C: - push {lr} - adds r1, r0, 0 - ldrb r0, [r1, 0x2] - cmp r0, 0 - bne _08027DC0 - movs r2, 0 - ldrb r0, [r1, 0x4] - cmp r0, 0x41 - bne _08027DB0 - movs r2, 0x1 -_08027DB0: - cmp r2, 0 - beq _08027DC4 - movs r0, 0x8 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - bne _08027DC4 -_08027DC0: - movs r0, 0 - b _08027DC6 -_08027DC4: - movs r0, 0x1 -_08027DC6: - pop {r1} - bx r1 - thumb_func_end sub_8027D9C - - thumb_func_start sub_8027DCC -sub_8027DCC: - push {r4,lr} - adds r4, r0, 0 - bl sub_808D3BC - cmp r0, r4 - beq _08027E0E - bl sub_808D3F8 - cmp r0, r4 - beq _08027E0E - ldrb r0, [r4, 0x2] - cmp r0, 0 - bne _08027E0E - movs r1, 0 - ldrb r0, [r4, 0x4] - cmp r0, 0x41 - bne _08027DF0 - movs r1, 0x1 -_08027DF0: - cmp r1, 0 - beq _08027E00 - movs r0, 0x8 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _08027E0E -_08027E00: - adds r0, r4, 0 - bl sub_8027E18 - cmp r0, 0x3 - beq _08027E0E - movs r0, 0x1 - b _08027E10 -_08027E0E: - movs r0, 0 -_08027E10: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8027DCC - - thumb_func_start sub_8027E18 -sub_8027E18: - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x28 - ldrb r0, [r0] - cmp r0, 0 - bne _08027E28 - movs r0, 0 - b _08027E46 -_08027E28: - bl GetNumberOfFilledInventorySlots - cmp r0, 0x13 - bgt _08027E34 - movs r0, 0x1 - b _08027E46 -_08027E34: - adds r0, r4, 0 - bl sub_8027E4C - lsls r0, 24 - cmp r0, 0 - bne _08027E44 - movs r0, 0x3 - b _08027E46 -_08027E44: - movs r0, 0x2 -_08027E46: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8027E18 - - thumb_func_start sub_8027E4C -sub_8027E4C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x28 - ldrb r0, [r4] - bl IsNotMoneyOrUsedTMItem - lsls r0, 24 - cmp r0, 0 - beq _08027E88 - ldrb r0, [r4] - bl IsThrowableItem - lsls r0, 24 - cmp r0, 0 - beq _08027E94 - ldr r0, _08027E8C - ldr r1, [r0] - ldrb r0, [r4] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r1, [r1] - adds r0, r5, 0 - adds r0, 0x29 - ldrb r0, [r0] - adds r1, r0 - ldr r0, _08027E90 - cmp r1, r0 - ble _08027EA8 -_08027E88: - movs r0, 0 - b _08027EAA - .align 2, 0 -_08027E8C: .4byte gTeamInventory_203B460 -_08027E90: .4byte 0x000003e7 -_08027E94: - ldr r0, _08027EB0 - ldr r1, [r0] - ldrb r0, [r4] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r1, [r1] - ldr r0, _08027EB4 - cmp r1, r0 - bhi _08027E88 -_08027EA8: - movs r0, 0x1 -_08027EAA: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08027EB0: .4byte gTeamInventory_203B460 -_08027EB4: .4byte 0x000003e6 - thumb_func_end sub_8027E4C - - thumb_func_start sub_8027EB8 -sub_8027EB8: - push {r4,lr} - ldr r4, _08027ED4 - ldr r0, [r4] - ldr r0, [r0, 0x18] - bl sub_8027E18 - cmp r0, 0x1 - beq _08027ED8 - cmp r0, 0x1 - bcc _08027F7C - cmp r0, 0x2 - beq _08027F0C - b _08027F7C - .align 2, 0 -_08027ED4: .4byte gUnknown_203B2BC -_08027ED8: - ldr r0, _08027F08 - bl PlaySound - ldr r0, [r4] - adds r0, 0x14 - bl sub_8091274 - bl FillInventoryGaps - ldr r0, [r4] - movs r1, 0 - strb r1, [r0, 0x14] - ldr r0, [r4] - strb r1, [r0, 0x15] - ldr r1, [r4] - movs r2, 0x8 - ldrsh r0, [r1, r2] - adds r1, 0x14 - bl GivePokemonItem - movs r0, 0x6 - bl SetFriendAreaActionMenuState - b _08027F82 - .align 2, 0 -_08027F08: .4byte 0x0000014d -_08027F0C: - ldr r0, _08027F38 - bl PlaySound - ldr r0, [r4] - ldrb r0, [r0, 0x14] - bl IsThrowableItem - lsls r0, 24 - cmp r0, 0 - beq _08027F40 - ldr r0, _08027F3C - ldr r1, [r0] - ldr r2, [r4] - ldrb r0, [r2, 0x14] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - ldrb r2, [r2, 0x15] - adds r0, r2 - b _08027F52 - .align 2, 0 -_08027F38: .4byte 0x0000014d -_08027F3C: .4byte gTeamInventory_203B460 -_08027F40: - ldr r0, _08027F74 - ldr r1, [r0] - ldr r0, [r4] - ldrb r0, [r0, 0x14] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 -_08027F52: - strh r0, [r1] - ldr r1, _08027F78 - ldr r0, [r1] - movs r2, 0 - strb r2, [r0, 0x14] - ldr r0, [r1] - strb r2, [r0, 0x15] - ldr r1, [r1] - movs r2, 0x8 - ldrsh r0, [r1, r2] - adds r1, 0x14 - bl GivePokemonItem - movs r0, 0x7 - bl SetFriendAreaActionMenuState - b _08027F82 - .align 2, 0 -_08027F74: .4byte gTeamInventory_203B460 -_08027F78: .4byte gUnknown_203B2BC -_08027F7C: - movs r0, 0x2 - bl SetFriendAreaActionMenuState -_08027F82: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8027EB8 - - - .align 2,0 diff --git a/asm/friend_list_menu.s b/asm/friend_list_menu.s index 2fe7701..3db3dd9 100644 --- a/asm/friend_list_menu.s +++ b/asm/friend_list_menu.s @@ -3915,7 +3915,7 @@ _08020D38: bne _08020D34 ldrh r1, [r3, 0x1E] adds r0, r2, 0 - bl sub_8092AD4 + bl InitZeroedPPPokemonMove _08020D52: cmp r5, 0x3 ble _08020D5E diff --git a/asm/kangaskhan_storage_2.s b/asm/kangaskhan_storage_2.s index 13f1b92..ec64f19 100644 --- a/asm/kangaskhan_storage_2.s +++ b/asm/kangaskhan_storage_2.s @@ -356,653 +356,4 @@ _08018582: 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 GetNumberOfFilledInventorySlots - 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 MoveToStorage - 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 FillInventoryGaps - bl sub_801AE84 - bl GetNumberOfFilledInventorySlots - cmp r0, 0 - bne _08018690 - bl sub_801A928 - movs r0, 0x1 - bl sub_8017F10 - b _080186F2 - .align 2, 0 -_0801868C: .4byte gTeamInventory_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 gTeamInventory_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 gTeamInventory_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 IsThrowableItem - 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 gTeamInventory_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 FillInventoryGaps - bl sub_801CF94 - movs r0, 0x1 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - bne _08018838 - bl GetNumberOfFilledInventorySlots - cmp r0, 0x13 - bgt _08018838 - movs r0, 0xB - bl sub_8017F10 - b _0801884A - .align 2, 0 -_080187DC: .4byte gTeamInventory_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 xxx_init_itemslot_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 xxx_init_itemslot_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 GetNumberOfFilledInventorySlots - 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 gTeamInventory_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 IsNotMoneyOrUsedTMItem - 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 MoveToStorage - ldr r0, [r4] - ldr r0, [r0, 0xC] - bl ShiftItemsDownFrom - bl FillInventoryGaps - bl GetNumberOfFilledInventorySlots - 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 GetNumberOfFilledInventorySlots - 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 IsThrowableItem - 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 GetNumberOfFilledInventorySlots - cmp r0, 0x13 - ble _08018AA8 -_08018A90: - bl sub_801CBB8 - movs r0, 0x1 - bl sub_8017F10 - b _08018ABE - .align 2, 0 -_08018A9C: .4byte gTeamInventory_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 - .align 2,0 diff --git a/asm/moves_1.s b/asm/moves_1.s new file mode 100644 index 0000000..c9f1ce8 --- /dev/null +++ b/asm/moves_1.s @@ -0,0 +1,2790 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8092D80 +sub_8092D80: + push {r4,r5,lr} + adds r3, r1, 0 + movs r5, 0 + lsls r1, r3, 3 + adds r1, r0 +_08092D8A: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, 0x4 + beq _08092DB0 + ldrb r2, [r1] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r2 + cmp r0, 0 + beq _08092DB0 + lsrs r0, r2, 1 + ands r0, r4 + cmp r0, 0 + bne _08092DAA + adds r0, r3, 0 + b _08092DB2 +_08092DAA: + adds r5, 0x1 + cmp r5, 0x3 + ble _08092D8A +_08092DB0: + movs r0, 0 +_08092DB2: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8092D80 + + thumb_func_start sub_8092DB8 +sub_8092DB8: + push {r4-r6,lr} + adds r4, r0, 0 + movs r5, 0 + movs r6, 0x1 +_08092DC0: + subs r1, 0x1 + cmp r1, 0 + bge _08092DF0 + movs r2, 0x3 + ldrb r1, [r4, 0x18] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _08092DD6 + movs r1, 0x3 + b _08092DEC +_08092DD6: + subs r2, 0x1 + cmp r2, 0 + blt _08092E12 + lsls r0, r2, 3 + adds r0, r4 + ldrb r1, [r0] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _08092DD6 + adds r1, r2, 0 +_08092DEC: + cmp r2, 0 + blt _08092E12 +_08092DF0: + lsls r0, r1, 3 + adds r0, r4 + ldrb r2, [r0] + movs r3, 0x1 + adds r0, r3, 0 + ands r0, r2 + cmp r0, 0 + beq _08092E12 + lsrs r0, r2, 1 + ands r0, r3 + cmp r0, 0 + bne _08092E0C + adds r0, r1, 0 + b _08092E14 +_08092E0C: + adds r5, 0x1 + cmp r5, 0x3 + ble _08092DC0 +_08092E12: + movs r0, 0 +_08092E14: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8092DB8 + + thumb_func_start sub_8092E1C +sub_8092E1C: + push {r4,r5,lr} + adds r3, r1, 0 + movs r5, 0 + lsls r1, r3, 3 + adds r1, r0 +_08092E26: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, 0x8 + beq _08092E4C + ldrb r2, [r1] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r2 + cmp r0, 0 + beq _08092E4C + lsrs r0, r2, 1 + ands r0, r4 + cmp r0, 0 + bne _08092E46 + adds r0, r3, 0 + b _08092E4E +_08092E46: + adds r5, 0x1 + cmp r5, 0x7 + ble _08092E26 +_08092E4C: + movs r0, 0 +_08092E4E: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8092E1C + + thumb_func_start sub_8092E54 +sub_8092E54: + push {r4,r5,lr} + adds r3, r1, 0 + movs r5, 0 + lsls r1, r3, 3 + adds r1, r0 +_08092E5E: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, 0x8 + beq _08092E84 + ldrb r2, [r1] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r2 + cmp r0, 0 + beq _08092E84 + lsrs r0, r2, 1 + ands r0, r4 + cmp r0, 0 + bne _08092E7E + adds r0, r3, 0 + b _08092E86 +_08092E7E: + adds r5, 0x1 + cmp r5, 0x7 + ble _08092E5E +_08092E84: + movs r0, 0 +_08092E86: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8092E54 + + thumb_func_start sub_8092E8C +sub_8092E8C: + push {r4-r6,lr} + adds r6, r0, 0 + movs r5, 0 + lsls r0, r1, 3 + adds r3, r0, r6 +_08092E96: + subs r3, 0x8 + subs r1, 0x1 + cmp r1, 0 + bge _08092EC6 + movs r3, 0x7 + movs r4, 0x1 + adds r2, r6, 0 + adds r2, 0x38 +_08092EA6: + ldrb r1, [r2] + adds r0, r4, 0 + ands r0, r1 + cmp r0, 0 + beq _08092EBC + lsrs r0, r1, 1 + ands r0, r4 + cmp r0, 0 + bne _08092EBC + adds r0, r3, 0 + b _08092EE6 +_08092EBC: + subs r2, 0x8 + subs r3, 0x1 + cmp r3, 0 + bgt _08092EA6 + b _08092EE4 +_08092EC6: + ldrb r2, [r3] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r2 + cmp r0, 0 + beq _08092EE4 + lsrs r0, r2, 1 + ands r0, r4 + cmp r0, 0 + bne _08092EDE + adds r0, r1, 0 + b _08092EE6 +_08092EDE: + adds r5, 0x1 + cmp r5, 0x7 + ble _08092E96 +_08092EE4: + movs r0, 0 +_08092EE6: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8092E8C + + thumb_func_start sub_8092EEC +sub_8092EEC: + push {r4-r6,lr} + adds r6, r0, 0 + movs r5, 0 + lsls r0, r1, 3 + adds r3, r0, r6 +_08092EF6: + subs r3, 0x8 + subs r1, 0x1 + cmp r1, 0 + bge _08092F26 + movs r3, 0x7 + movs r4, 0x1 + adds r2, r6, 0 + adds r2, 0x38 +_08092F06: + ldrb r1, [r2] + adds r0, r4, 0 + ands r0, r1 + cmp r0, 0 + beq _08092F1C + lsrs r0, r1, 1 + ands r0, r4 + cmp r0, 0 + bne _08092F1C + adds r0, r3, 0 + b _08092F46 +_08092F1C: + subs r2, 0x8 + subs r3, 0x1 + cmp r3, 0 + bgt _08092F06 + b _08092F44 +_08092F26: + ldrb r2, [r3] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r2 + cmp r0, 0 + beq _08092F44 + lsrs r0, r2, 1 + ands r0, r4 + cmp r0, 0 + bne _08092F3E + adds r0, r1, 0 + b _08092F46 +_08092F3E: + adds r5, 0x1 + cmp r5, 0x7 + ble _08092EF6 +_08092F44: + movs r0, 0 +_08092F46: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8092EEC + + thumb_func_start sub_8092F4C +sub_8092F4C: + push {r4,lr} + adds r2, r0, 0 + cmp r1, 0 + ble _08092F78 + movs r4, 0x1 + lsls r0, r1, 3 + adds r3, r0, r2 +_08092F5A: + ldrb r2, [r3] + adds r0, r4, 0 + ands r0, r2 + cmp r0, 0 + beq _08092F78 + lsrs r0, r2, 1 + ands r0, r4 + cmp r0, 0 + bne _08092F70 + adds r0, r1, 0 + b _08092F7A +_08092F70: + subs r3, 0x8 + subs r1, 0x1 + cmp r1, 0 + bgt _08092F5A +_08092F78: + movs r0, 0 +_08092F7A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8092F4C + + thumb_func_start sub_8092F80 +sub_8092F80: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x80 + adds r7, r0, 0 + mov r8, r1 + lsls r0, r1, 3 + adds r0, r7, r0 + ldrb r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + mov r1, sp + bl sub_8093784 + mov r0, sp + bl sub_8093744 + adds r3, r0, 0 + cmp r3, 0x2 + bhi _08092FCC + lsls r1, r3, 5 + adds r0, r3, 0x1 + lsls r0, 5 + mov r2, sp + adds r5, r0, r2 + adds r4, r1, r2 + movs r6, 0x3 +_08092FBA: + ldr r2, [r4] + ldr r3, [r4, 0x4] + ldr r0, [r5] + ldr r1, [r5, 0x4] + stm r4!, {r0,r1} + stm r5!, {r2,r3} + subs r6, 0x1 + cmp r6, 0 + bge _08092FBA +_08092FCC: + adds r0, r7, 0 + mov r1, sp + bl sub_80937E0 + movs r3, 0 + movs r5, 0x80 + movs r4, 0x7F + adds r1, r7, 0 +_08092FDC: + ldrb r2, [r1] + adds r0, r5, 0 + ands r0, r2 + cmp r0, 0 + beq _08092FF0 + adds r0, r4, 0 + ands r0, r2 + strb r0, [r1] + mov r8, r3 + b _08092FF8 +_08092FF0: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, 0x3 + ble _08092FDC +_08092FF8: + mov r0, r8 + add sp, 0x80 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8092F80 + + thumb_func_start sub_8093008 +sub_8093008: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _0809307C + add sp, r4 + adds r7, r0, 0 + mov r8, r1 + lsls r0, r1, 3 + adds r0, r7, r0 + ldrb r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + mov r1, sp + bl sub_8093974 + mov r0, sp + bl sub_80938F4 + adds r3, r0, 0 + cmp r3, 0x6 + bhi _08093056 + lsls r1, r3, 6 + adds r0, r3, 0x1 + lsls r0, 6 + mov r2, sp + adds r5, r0, r2 + adds r4, r1, r2 + movs r6, 0x7 +_08093044: + ldr r2, [r4] + ldr r3, [r4, 0x4] + ldr r0, [r5] + ldr r1, [r5, 0x4] + stm r4!, {r0,r1} + stm r5!, {r2,r3} + subs r6, 0x1 + cmp r6, 0 + bge _08093044 +_08093056: + adds r0, r7, 0 + mov r1, sp + bl sub_8093A2C + movs r3, 0 + movs r5, 0x80 + movs r4, 0x7F + adds r1, r7, 0 +_08093066: + ldrb r2, [r1] + adds r0, r5, 0 + ands r0, r2 + cmp r0, 0 + beq _08093080 + adds r0, r4, 0 + ands r0, r2 + strb r0, [r1] + mov r8, r3 + b _08093088 + .align 2, 0 +_0809307C: .4byte 0xfffffe00 +_08093080: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + ble _08093066 +_08093088: + mov r0, r8 + movs r3, 0x80 + lsls r3, 2 + add sp, r3 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093008 + + thumb_func_start sub_809309C +sub_809309C: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _08093110 + add sp, r4 + adds r7, r0, 0 + mov r8, r1 + lsls r0, r1, 3 + adds r0, r7, r0 + ldrb r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + mov r1, sp + bl sub_80939D0 + mov r0, sp + bl sub_8093934 + adds r3, r0, 0 + cmp r3, 0x6 + bhi _080930EA + lsls r1, r3, 6 + adds r0, r3, 0x1 + lsls r0, 6 + mov r2, sp + adds r5, r0, r2 + adds r4, r1, r2 + movs r6, 0x7 +_080930D8: + ldr r2, [r4] + ldr r3, [r4, 0x4] + ldr r0, [r5] + ldr r1, [r5, 0x4] + stm r4!, {r0,r1} + stm r5!, {r2,r3} + subs r6, 0x1 + cmp r6, 0 + bge _080930D8 +_080930EA: + adds r0, r7, 0 + mov r1, sp + bl sub_8093B40 + movs r3, 0 + movs r5, 0x80 + movs r4, 0x7F + adds r1, r7, 0 +_080930FA: + ldrb r2, [r1] + adds r0, r5, 0 + ands r0, r2 + cmp r0, 0 + beq _08093114 + adds r0, r4, 0 + ands r0, r2 + strb r0, [r1] + mov r8, r3 + b _0809311C + .align 2, 0 +_08093110: .4byte 0xfffffe00 +_08093114: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + ble _080930FA +_0809311C: + mov r0, r8 + movs r3, 0x80 + lsls r3, 2 + add sp, r3 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_809309C + + thumb_func_start sub_8093130 +sub_8093130: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x80 + adds r7, r0, 0 + mov r8, r1 + lsls r0, r1, 3 + adds r0, r7, r0 + ldrb r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + mov r1, sp + bl sub_8093784 + mov r0, sp + bl sub_8093744 + adds r1, r0, 0 + subs r0, r1, 0x1 + cmp r0, 0x2 + bhi _0809317C + lsls r1, 5 + lsls r0, 5 + mov r2, sp + adds r5, r0, r2 + adds r4, r1, r2 + movs r6, 0x3 +_0809316A: + ldr r2, [r4] + ldr r3, [r4, 0x4] + ldr r0, [r5] + ldr r1, [r5, 0x4] + stm r4!, {r0,r1} + stm r5!, {r2,r3} + subs r6, 0x1 + cmp r6, 0 + bge _0809316A +_0809317C: + adds r0, r7, 0 + mov r1, sp + bl sub_80937E0 + movs r1, 0 + movs r5, 0x80 + movs r4, 0x7F + adds r2, r7, 0 +_0809318C: + ldrb r3, [r2] + adds r0, r5, 0 + ands r0, r3 + cmp r0, 0 + beq _080931A0 + adds r0, r4, 0 + ands r0, r3 + strb r0, [r2] + mov r8, r1 + b _080931A8 +_080931A0: + adds r2, 0x8 + adds r1, 0x1 + cmp r1, 0x3 + ble _0809318C +_080931A8: + mov r0, r8 + add sp, 0x80 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093130 + + thumb_func_start sub_80931B8 +sub_80931B8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _0809322C + add sp, r4 + adds r7, r0, 0 + mov r8, r1 + lsls r0, r1, 3 + adds r0, r7, r0 + ldrb r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + mov r1, sp + bl sub_8093974 + mov r0, sp + bl sub_80938F4 + adds r1, r0, 0 + subs r0, r1, 0x1 + cmp r0, 0x6 + bhi _08093206 + lsls r1, 6 + lsls r0, 6 + mov r2, sp + adds r5, r0, r2 + adds r4, r1, r2 + movs r6, 0x7 +_080931F4: + ldr r2, [r4] + ldr r3, [r4, 0x4] + ldr r0, [r5] + ldr r1, [r5, 0x4] + stm r4!, {r0,r1} + stm r5!, {r2,r3} + subs r6, 0x1 + cmp r6, 0 + bge _080931F4 +_08093206: + adds r0, r7, 0 + mov r1, sp + bl sub_8093A2C + movs r1, 0 + movs r5, 0x80 + movs r4, 0x7F + adds r2, r7, 0 +_08093216: + ldrb r3, [r2] + adds r0, r5, 0 + ands r0, r3 + cmp r0, 0 + beq _08093230 + adds r0, r4, 0 + ands r0, r3 + strb r0, [r2] + mov r8, r1 + b _08093238 + .align 2, 0 +_0809322C: .4byte 0xfffffe00 +_08093230: + adds r2, 0x8 + adds r1, 0x1 + cmp r1, 0x7 + ble _08093216 +_08093238: + mov r0, r8 + movs r3, 0x80 + lsls r3, 2 + add sp, r3 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80931B8 + + thumb_func_start sub_809324C +sub_809324C: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _080932C0 + add sp, r4 + adds r7, r0, 0 + mov r8, r1 + lsls r0, r1, 3 + adds r0, r7, r0 + ldrb r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + mov r1, sp + bl sub_80939D0 + mov r0, sp + bl sub_8093934 + adds r1, r0, 0 + subs r0, r1, 0x1 + cmp r0, 0x6 + bhi _0809329A + lsls r1, 6 + lsls r0, 6 + mov r2, sp + adds r5, r0, r2 + adds r4, r1, r2 + movs r6, 0x7 +_08093288: + ldr r2, [r4] + ldr r3, [r4, 0x4] + ldr r0, [r5] + ldr r1, [r5, 0x4] + stm r4!, {r0,r1} + stm r5!, {r2,r3} + subs r6, 0x1 + cmp r6, 0 + bge _08093288 +_0809329A: + adds r0, r7, 0 + mov r1, sp + bl sub_8093B40 + movs r1, 0 + movs r5, 0x80 + movs r4, 0x7F + adds r2, r7, 0 +_080932AA: + ldrb r3, [r2] + adds r0, r5, 0 + ands r0, r3 + cmp r0, 0 + beq _080932C4 + adds r0, r4, 0 + ands r0, r3 + strb r0, [r2] + mov r8, r1 + b _080932CC + .align 2, 0 +_080932C0: .4byte 0xfffffe00 +_080932C4: + adds r2, 0x8 + adds r1, 0x1 + cmp r1, 0x7 + ble _080932AA +_080932CC: + mov r0, r8 + movs r3, 0x80 + lsls r3, 2 + add sp, r3 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_809324C + + thumb_func_start sub_80932E0 +sub_80932E0: + push {lr} + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + bne _080932F4 + movs r0, 0 + b _080932F6 +_080932F4: + movs r0, 0x1 +_080932F6: + pop {r1} + bx r1 + thumb_func_end sub_80932E0 + + thumb_func_start sub_80932FC +sub_80932FC: + push {lr} + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + bne _08093310 + movs r0, 0 + b _08093312 +_08093310: + movs r0, 0x1 +_08093312: + pop {r1} + bx r1 + thumb_func_end sub_80932FC + + thumb_func_start sub_8093318 +sub_8093318: + push {r4,lr} + sub sp, 0x40 + adds r4, r0, 0 + mov r0, sp + movs r2, 0x40 + bl MemoryCopy8 + adds r0, r4, 0 + mov r1, sp + bl sub_8093400 + lsls r0, 24 + lsrs r0, 24 + add sp, 0x40 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8093318 + + thumb_func_start sub_809333C +sub_809333C: + push {r4,lr} + sub sp, 0x40 + adds r4, r0, 0 + mov r0, sp + movs r2, 0x40 + bl MemoryCopy8 + adds r0, r4, 0 + mov r1, sp + bl sub_8093468 + lsls r0, 24 + lsrs r0, 24 + add sp, 0x40 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_809333C + + thumb_func_start sub_8093360 +sub_8093360: + push {r4,lr} + sub sp, 0x40 + adds r4, r0, 0 + mov r0, sp + movs r2, 0x40 + bl MemoryCopy8 + adds r0, r4, 0 + mov r1, sp + bl sub_80933D8 + lsls r0, 24 + lsrs r0, 24 + add sp, 0x40 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8093360 + + thumb_func_start sub_8093384 +sub_8093384: + push {lr} + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + bne _08093398 + movs r0, 0x1 + b _0809339A +_08093398: + movs r0, 0 +_0809339A: + pop {r1} + bx r1 + thumb_func_end sub_8093384 + + thumb_func_start sub_80933A0 +sub_80933A0: + push {r4-r6,lr} + movs r4, 0 + movs r6, 0x1 + movs r5, 0x2 + movs r3, 0x7 +_080933AA: + ldrb r2, [r1] + adds r0, r6, 0 + ands r0, r2 + cmp r0, 0 + beq _080933BE + adds r0, r5, 0 + ands r0, r2 + cmp r0, 0 + bne _080933BE + adds r4, 0x1 +_080933BE: + adds r1, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _080933AA + cmp r4, 0x1 + bgt _080933CE + movs r0, 0 + b _080933D0 +_080933CE: + movs r0, 0x1 +_080933D0: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80933A0 + + thumb_func_start sub_80933D8 +sub_80933D8: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + bl sub_8093400 + lsls r0, 24 + cmp r0, 0 + bne _080933F6 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8093468 + lsls r0, 24 + lsrs r0, 24 + b _080933F8 +_080933F6: + movs r0, 0x1 +_080933F8: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80933D8 + + thumb_func_start sub_8093400 +sub_8093400: + push {r4-r7,lr} + adds r4, r0, 0 + adds r7, r1, 0 + lsls r0, r4, 3 + adds r0, r7, r0 + ldrh r0, [r0, 0x2] + bl DoesMoveCharge + lsls r0, 24 + cmp r0, 0 + beq _08093428 + b _08093460 +_08093418: + adds r0, r1, 0 + orrs r0, r2 + strb r0, [r6] + adds r0, r7, 0 + bl sub_809371C + movs r0, 0x1 + b _08093462 +_08093428: + adds r5, r4, 0x1 + cmp r5, 0x7 + bgt _08093460 + lsls r0, r5, 3 + adds r4, r0, r7 + adds r6, r4, 0 +_08093434: + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093460 + ldrh r0, [r4, 0x2] + bl DoesMoveCharge + lsls r0, 24 + cmp r0, 0 + bne _08093460 + ldrb r1, [r4] + movs r2, 0x2 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08093418 + adds r4, 0x8 + adds r6, 0x8 + adds r5, 0x1 + cmp r5, 0x7 + ble _08093434 +_08093460: + movs r0, 0 +_08093462: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093400 + + thumb_func_start sub_8093468 +sub_8093468: + push {r4-r7,lr} + adds r6, r1, 0 + movs r5, 0 + adds r1, r0, 0x1 + movs r4, 0 + cmp r1, 0x7 + bgt _080934A0 + movs r0, 0x2 + mov r12, r0 + movs r7, 0xFD + lsls r0, r1, 3 + adds r3, r0, r6 +_08093480: + ldrb r2, [r3] + mov r0, r12 + ands r0, r2 + cmp r0, 0 + beq _080934A0 + adds r0, r7, 0 + ands r0, r2 + strb r0, [r3] + movs r5, 0x1 + adds r3, 0x8 + adds r1, 0x1 + adds r4, 0x1 + cmp r4, 0x7 + bgt _080934A0 + cmp r1, 0x7 + ble _08093480 +_080934A0: + adds r0, r6, 0 + bl sub_809371C + adds r0, r5, 0 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093468 + + thumb_func_start sub_80934B0 +sub_80934B0: + push {lr} + adds r2, r0, 0 + adds r0, r2, 0x1 + cmp r0, 0x7 + bgt _080934D2 + lsls r0, r2, 3 + adds r0, 0x8 + adds r0, r1, r0 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080934D2 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _080934D6 +_080934D2: + movs r0, 0 + b _080934D8 +_080934D6: + movs r0, 0x1 +_080934D8: + pop {r1} + bx r1 + thumb_func_end sub_80934B0 + + thumb_func_start sub_80934DC +sub_80934DC: + push {r4-r7,lr} + adds r5, r1, 0 + lsls r0, 3 + adds r4, r5, r0 + ldrb r1, [r4] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _080934F4 + movs r0, 0xF7 + ands r0, r1 + b _0809351A +_080934F4: + movs r7, 0x1 + movs r6, 0xF7 + adds r1, r5, 0 + movs r3, 0x3 +_080934FC: + ldrb r2, [r1] + adds r0, r7, 0 + ands r0, r2 + cmp r0, 0 + beq _0809350C + adds r0, r6, 0 + ands r0, r2 + strb r0, [r1] +_0809350C: + adds r1, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _080934FC + ldrb r1, [r4] + movs r0, 0x8 + orrs r0, r1 +_0809351A: + strb r0, [r4] + adds r0, r5, 0 + bl sub_809371C + movs r0, 0x1 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80934DC + + thumb_func_start sub_809352C +sub_809352C: + push {lr} + lsls r0, 3 + adds r0, r1, r0 + ldrb r3, [r0] + movs r2, 0xF7 + ands r2, r3 + strb r2, [r0] + adds r0, r1, 0 + bl sub_809371C + pop {r0} + bx r0 + thumb_func_end sub_809352C + + thumb_func_start sub_8093544 +sub_8093544: + push {lr} + lsls r0, 3 + adds r0, r1, r0 + ldrb r2, [r0] + movs r3, 0x4 + eors r2, r3 + strb r2, [r0] + adds r0, r1, 0 + bl sub_809371C + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_8093544 + + thumb_func_start sub_8093560 +sub_8093560: + push {r4-r7,lr} + adds r4, r0, 0 + adds r6, r1, 0 + movs r5, 0x1 + lsls r0, r4, 3 + adds r0, r6, r0 + ldrh r0, [r0, 0x2] + strh r0, [r2] + movs r1, 0 + adds r0, r2, 0x2 + movs r3, 0x2 +_08093576: + strh r1, [r0] + adds r0, 0x2 + subs r3, 0x1 + cmp r3, 0 + bge _08093576 + adds r4, 0x1 + adds r2, 0x2 + cmp r4, 0x7 + bgt _080935B0 + cmp r5, 0x3 + bgt _080935B0 + movs r7, 0x2 + lsls r0, r4, 3 + adds r3, r0, r6 +_08093592: + ldrb r1, [r3] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _080935B0 + ldrh r0, [r3, 0x2] + strh r0, [r2] + adds r2, 0x2 + adds r5, 0x1 + adds r3, 0x8 + adds r4, 0x1 + cmp r4, 0x7 + bgt _080935B0 + cmp r5, 0x3 + ble _08093592 +_080935B0: + adds r0, r5, 0 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093560 + + thumb_func_start sub_80935B8 +sub_80935B8: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r5, r0, 0 + movs r0, 0x63 + mov r12, r0 + movs r0, 0 + mov r8, r0 + movs r6, 0 + adds r4, r1, 0 + cmp r4, 0 + blt _08093606 + lsls r0, r4, 3 + adds r2, r5, r0 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093606 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08093606 + movs r7, 0x1 + movs r3, 0x2 +_080935EC: + subs r2, 0x8 + subs r4, 0x1 + cmp r4, 0 + blt _08093606 + ldrb r1, [r2] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _08093606 + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + bne _080935EC +_08093606: + adds r2, r4, 0x1 + mov r9, r2 + cmp r2, 0x3 + bgt _08093642 + lsls r0, r2, 3 + adds r3, r5, r0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093642 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08093642 + movs r6, 0x1 + movs r7, 0x2 +_08093628: + adds r3, 0x8 + adds r2, 0x1 + cmp r2, 0x3 + bgt _08093642 + ldrb r1, [r3] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _08093642 + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + bne _08093628 +_08093642: + cmp r6, 0 + bne _0809364A + movs r0, 0x63 + b _080936CC +_0809364A: + movs r6, 0 + b _08093668 +_0809364E: + ldrb r0, [r3, 0x4] + cmp r12, r0 + ble _08093656 + mov r12, r0 +_08093656: + cmp r0, 0 + bne _0809365C + movs r6, 0x1 +_0809365C: + ldrb r1, [r3, 0x1] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _08093668 + movs r6, 0x1 +_08093668: + subs r2, 0x1 + cmp r2, r4 + blt _0809367C + lsls r0, r2, 3 + adds r3, r5, r0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0809364E +_0809367C: + cmp r6, 0 + beq _080936C6 + mov r2, r9 + cmp r2, 0x3 + bgt _080936C0 + lsls r0, r2, 3 + adds r3, r5, r0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080936C0 + movs r6, 0x2 + movs r4, 0xFD +_08093698: + ldrb r1, [r3] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _080936C0 + adds r0, r4, 0 + ands r0, r1 + strb r0, [r3] + movs r0, 0x1 + mov r8, r0 + adds r2, 0x1 + cmp r2, 0x3 + bgt _080936C0 + lsls r0, r2, 3 + adds r3, r5, r0 + ldrb r1, [r3] + mov r0, r8 + ands r0, r1 + cmp r0, 0 + bne _08093698 +_080936C0: + mov r0, r8 + cmp r0, 0 + bne _080936CA +_080936C6: + mov r0, r12 + b _080936CC +_080936CA: + movs r0, 0 +_080936CC: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80935B8 + + thumb_func_start sub_80936D8 +sub_80936D8: + push {r4,lr} + sub sp, 0x80 + adds r4, r0, 0 + mov r1, sp + bl sub_8093784 + adds r0, r4, 0 + mov r1, sp + bl sub_80937E0 + add sp, 0x80 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80936D8 + + thumb_func_start sub_80936F4 +sub_80936F4: + push {r4,lr} + ldr r4, _08093718 + add sp, r4 + adds r4, r0, 0 + mov r1, sp + bl sub_8093974 + adds r0, r4, 0 + mov r1, sp + bl sub_8093A2C + movs r3, 0x80 + lsls r3, 2 + add sp, r3 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08093718: .4byte 0xfffffe00 + thumb_func_end sub_80936F4 + + thumb_func_start sub_809371C +sub_809371C: + push {r4,lr} + ldr r4, _08093740 + add sp, r4 + adds r4, r0, 0 + mov r1, sp + bl sub_80939D0 + adds r0, r4, 0 + mov r1, sp + bl sub_8093B40 + movs r3, 0x80 + lsls r3, 2 + add sp, r3 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08093740: .4byte 0xfffffe00 + thumb_func_end sub_809371C + + thumb_func_start sub_8093744 +sub_8093744: + push {r4-r7,lr} + adds r7, r0, 0 + movs r4, 0 + movs r6, 0x1 + movs r5, 0x80 +_0809374E: + movs r3, 0 + lsls r0, r4, 5 + adds r2, r0, r7 +_08093754: + ldrb r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _0809376A + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _0809376A + adds r0, r4, 0 + b _0809377C +_0809376A: + adds r2, 0x8 + adds r3, 0x1 + cmp r3, 0x3 + ble _08093754 + adds r4, 0x1 + cmp r4, 0x3 + ble _0809374E + movs r0, 0x1 + negs r0, r0 +_0809377C: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093744 + + thumb_func_start sub_8093784 +sub_8093784: + push {r4-r7,lr} + adds r6, r0, 0 + movs r2, 0 + movs r4, 0 +_0809378C: + lsls r0, r2, 5 + adds r2, 0x1 + movs r3, 0x3 + adds r0, r1 + adds r0, 0x18 +_08093796: + strb r4, [r0] + subs r0, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _08093796 + cmp r2, 0x3 + ble _0809378C + movs r3, 0 + movs r5, 0 + adds r4, r1, 0 + subs r4, 0x20 + movs r7, 0x2 +_080937AE: + cmp r5, 0 + beq _080937BC + ldrb r1, [r6] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + bne _080937C0 +_080937BC: + adds r4, 0x20 + movs r3, 0 +_080937C0: + lsls r2, r3, 3 + adds r2, r4 + ldm r6!, {r0,r1} + str r0, [r2] + str r1, [r2, 0x4] + ldrb r1, [r2] + movs r0, 0xFD + ands r0, r1 + strb r0, [r2] + adds r3, 0x1 + adds r5, 0x1 + cmp r5, 0x3 + ble _080937AE + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093784 + + thumb_func_start sub_80937E0 +sub_80937E0: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + str r0, [sp, 0x8] + mov r9, r1 + movs r0, 0 + mov r8, r0 + movs r6, 0 + add r1, sp, 0x4 + mov r10, r1 + mov r12, r6 + movs r3, 0x1 +_080937FE: + mov r2, sp + adds r0, r2, r6 + mov r7, r12 + strb r7, [r0] + mov r1, sp + adds r1, r6 + adds r1, 0x4 + mov r2, r12 + strb r2, [r1] + adds r7, r0, 0 + lsls r0, r6, 5 + adds r6, 0x1 + adds r5, r1, 0 + mov r1, r9 + adds r2, r0, r1 + movs r4, 0x3 +_0809381E: + ldrb r1, [r2] + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _0809383E + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08093832 + strb r3, [r7] +_08093832: + ldrb r1, [r2] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _0809383E + strb r3, [r5] +_0809383E: + adds r2, 0x8 + subs r4, 0x1 + cmp r4, 0 + bge _0809381E + cmp r6, 0x3 + ble _080937FE + movs r6, 0 + mov r2, r8 + lsls r2, 3 + str r2, [sp, 0xC] +_08093852: + movs r4, 0 + lsls r0, r6, 5 + mov r7, r9 + adds r5, r0, r7 + ldr r0, [sp, 0xC] + ldr r1, [sp, 0x8] + adds r2, r0, r1 + mov r7, r10 + adds r7, r6 + mov r12, r7 +_08093866: + ldrb r1, [r5] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080938D6 + ldr r0, [r5] + ldr r1, [r5, 0x4] + str r0, [r2] + str r1, [r2, 0x4] + cmp r4, 0 + bne _08093884 + ldrb r1, [r2] + movs r0, 0xFD + ands r0, r1 + b _0809388A +_08093884: + ldrb r0, [r2] + movs r1, 0x2 + orrs r0, r1 +_0809388A: + strb r0, [r2] + ldrb r0, [r2] + movs r3, 0xF7 + ands r3, r0 + movs r1, 0 + movs r0, 0xFB + ands r3, r0 + strb r3, [r2] + mov r7, sp + adds r0, r7, r6 + ldrb r0, [r0] + cmp r0, 0 + beq _080938B0 + cmp r4, 0 + bne _080938B0 + movs r1, 0x8 + adds r0, r3, 0 + orrs r0, r1 + strb r0, [r2] +_080938B0: + mov r1, r12 + ldrb r0, [r1] + cmp r0, 0 + beq _080938C4 + cmp r4, 0 + bne _080938C4 + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_080938C4: + adds r2, 0x8 + ldr r7, [sp, 0xC] + adds r7, 0x8 + str r7, [sp, 0xC] + movs r0, 0x1 + add r8, r0 + mov r1, r8 + cmp r1, 0x4 + beq _080938E4 +_080938D6: + adds r5, 0x8 + adds r4, 0x1 + cmp r4, 0x3 + ble _08093866 + adds r6, 0x1 + cmp r6, 0x3 + ble _08093852 +_080938E4: + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80937E0 + + thumb_func_start sub_80938F4 +sub_80938F4: + push {r4-r7,lr} + adds r7, r0, 0 + movs r4, 0 + movs r6, 0x1 + movs r5, 0x80 +_080938FE: + movs r3, 0 + lsls r0, r4, 6 + adds r2, r0, r7 +_08093904: + ldrb r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _0809391A + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _0809391A + adds r0, r4, 0 + b _0809392C +_0809391A: + adds r2, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + ble _08093904 + adds r4, 0x1 + cmp r4, 0x7 + ble _080938FE + movs r0, 0x1 + negs r0, r0 +_0809392C: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80938F4 + + thumb_func_start sub_8093934 +sub_8093934: + push {r4-r7,lr} + adds r7, r0, 0 + movs r4, 0 + movs r6, 0x1 + movs r5, 0x80 +_0809393E: + movs r3, 0 + lsls r0, r4, 6 + adds r2, r0, r7 +_08093944: + ldrb r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _0809395A + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _0809395A + adds r0, r4, 0 + b _0809396C +_0809395A: + adds r2, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + ble _08093944 + adds r4, 0x1 + cmp r4, 0x7 + ble _0809393E + movs r0, 0x1 + negs r0, r0 +_0809396C: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093934 + + thumb_func_start sub_8093974 +sub_8093974: + push {r4-r7,lr} + adds r6, r0, 0 + movs r2, 0 + movs r4, 0 +_0809397C: + lsls r0, r2, 6 + adds r2, 0x1 + movs r3, 0x7 + adds r0, r1 + adds r0, 0x38 +_08093986: + strb r4, [r0] + subs r0, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _08093986 + cmp r2, 0x7 + ble _0809397C + movs r3, 0 + movs r5, 0 + adds r4, r1, 0 + subs r4, 0x40 + movs r7, 0x2 +_0809399E: + cmp r5, 0 + beq _080939AC + ldrb r1, [r6] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + bne _080939B0 +_080939AC: + adds r4, 0x40 + movs r3, 0 +_080939B0: + lsls r2, r3, 3 + adds r2, r4 + ldm r6!, {r0,r1} + str r0, [r2] + str r1, [r2, 0x4] + ldrb r1, [r2] + movs r0, 0xFD + ands r0, r1 + strb r0, [r2] + adds r3, 0x1 + adds r5, 0x1 + cmp r5, 0x7 + ble _0809399E + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093974 + + thumb_func_start sub_80939D0 +sub_80939D0: + push {r4-r7,lr} + adds r6, r0, 0 + movs r2, 0 + movs r4, 0 +_080939D8: + lsls r0, r2, 6 + adds r2, 0x1 + movs r3, 0x7 + adds r0, r1 + adds r0, 0x38 +_080939E2: + strb r4, [r0] + subs r0, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _080939E2 + cmp r2, 0x7 + ble _080939D8 + movs r3, 0 + movs r5, 0 + adds r4, r1, 0 + subs r4, 0x40 + movs r7, 0x2 +_080939FA: + cmp r5, 0 + beq _08093A08 + ldrb r1, [r6] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + bne _08093A0C +_08093A08: + adds r4, 0x40 + movs r3, 0 +_08093A0C: + lsls r2, r3, 3 + adds r2, r4 + ldm r6!, {r0,r1} + str r0, [r2] + str r1, [r2, 0x4] + ldrb r1, [r2] + movs r0, 0xFD + ands r0, r1 + strb r0, [r2] + adds r3, 0x1 + adds r5, 0x1 + cmp r5, 0x7 + ble _080939FA + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80939D0 + + thumb_func_start sub_8093A2C +sub_8093A2C: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + str r0, [sp, 0x10] + mov r9, r1 + movs r0, 0 + mov r8, r0 + movs r6, 0 + add r1, sp, 0x8 + mov r10, r1 + mov r12, r6 + movs r3, 0x1 +_08093A4A: + mov r2, sp + adds r0, r2, r6 + mov r7, r12 + strb r7, [r0] + mov r1, sp + adds r1, r6 + adds r1, 0x8 + mov r2, r12 + strb r2, [r1] + adds r7, r0, 0 + lsls r0, r6, 6 + adds r6, 0x1 + adds r5, r1, 0 + mov r1, r9 + adds r2, r0, r1 + movs r4, 0x7 +_08093A6A: + ldrb r1, [r2] + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _08093A8A + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08093A7E + strb r3, [r7] +_08093A7E: + ldrb r1, [r2] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _08093A8A + strb r3, [r5] +_08093A8A: + adds r2, 0x8 + subs r4, 0x1 + cmp r4, 0 + bge _08093A6A + cmp r6, 0x7 + ble _08093A4A + movs r6, 0 + mov r2, r8 + lsls r2, 3 + str r2, [sp, 0x14] +_08093A9E: + movs r4, 0 + lsls r0, r6, 6 + mov r7, r9 + adds r5, r0, r7 + ldr r0, [sp, 0x14] + ldr r1, [sp, 0x10] + adds r2, r0, r1 + mov r7, r10 + adds r7, r6 + mov r12, r7 +_08093AB2: + ldrb r1, [r5] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093B22 + ldr r0, [r5] + ldr r1, [r5, 0x4] + str r0, [r2] + str r1, [r2, 0x4] + cmp r4, 0 + bne _08093AD0 + ldrb r1, [r2] + movs r0, 0xFD + ands r0, r1 + b _08093AD6 +_08093AD0: + ldrb r0, [r2] + movs r1, 0x2 + orrs r0, r1 +_08093AD6: + strb r0, [r2] + ldrb r0, [r2] + movs r3, 0xF7 + ands r3, r0 + movs r1, 0 + movs r0, 0xFB + ands r3, r0 + strb r3, [r2] + mov r7, sp + adds r0, r7, r6 + ldrb r0, [r0] + cmp r0, 0 + beq _08093AFC + cmp r4, 0 + bne _08093AFC + movs r1, 0x8 + adds r0, r3, 0 + orrs r0, r1 + strb r0, [r2] +_08093AFC: + mov r1, r12 + ldrb r0, [r1] + cmp r0, 0 + beq _08093B10 + cmp r4, 0 + bne _08093B10 + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_08093B10: + adds r2, 0x8 + ldr r7, [sp, 0x14] + adds r7, 0x8 + str r7, [sp, 0x14] + movs r0, 0x1 + add r8, r0 + mov r1, r8 + cmp r1, 0x8 + beq _08093B30 +_08093B22: + adds r5, 0x8 + adds r4, 0x1 + cmp r4, 0x7 + ble _08093AB2 + adds r6, 0x1 + cmp r6, 0x7 + ble _08093A9E +_08093B30: + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093A2C + + thumb_func_start sub_8093B40 +sub_8093B40: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + str r0, [sp, 0x10] + mov r9, r1 + movs r0, 0 + mov r8, r0 + movs r6, 0 + add r1, sp, 0x8 + mov r10, r1 + mov r12, r6 + movs r3, 0x1 +_08093B5E: + mov r2, sp + adds r0, r2, r6 + mov r7, r12 + strb r7, [r0] + mov r1, sp + adds r1, r6 + adds r1, 0x8 + mov r2, r12 + strb r2, [r1] + adds r7, r0, 0 + lsls r0, r6, 6 + adds r6, 0x1 + adds r5, r1, 0 + mov r1, r9 + adds r2, r0, r1 + movs r4, 0x7 +_08093B7E: + ldrb r1, [r2] + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _08093B9E + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08093B92 + strb r3, [r7] +_08093B92: + ldrb r1, [r2] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _08093B9E + strb r3, [r5] +_08093B9E: + adds r2, 0x8 + subs r4, 0x1 + cmp r4, 0 + bge _08093B7E + cmp r6, 0x7 + ble _08093B5E + movs r6, 0 + mov r2, r8 + lsls r2, 3 + str r2, [sp, 0x14] +_08093BB2: + movs r4, 0 + lsls r0, r6, 6 + mov r7, r9 + adds r5, r0, r7 + ldr r0, [sp, 0x14] + ldr r1, [sp, 0x10] + adds r2, r0, r1 + mov r7, r10 + adds r7, r6 + mov r12, r7 +_08093BC6: + ldrb r1, [r5] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093C36 + ldr r0, [r5] + ldr r1, [r5, 0x4] + str r0, [r2] + str r1, [r2, 0x4] + cmp r4, 0 + bne _08093BE4 + ldrb r1, [r2] + movs r0, 0xFD + ands r0, r1 + b _08093BEA +_08093BE4: + ldrb r0, [r2] + movs r1, 0x2 + orrs r0, r1 +_08093BEA: + strb r0, [r2] + ldrb r0, [r2] + movs r3, 0xF7 + ands r3, r0 + movs r1, 0 + movs r0, 0xFB + ands r3, r0 + strb r3, [r2] + mov r7, sp + adds r0, r7, r6 + ldrb r0, [r0] + cmp r0, 0 + beq _08093C10 + cmp r4, 0 + bne _08093C10 + movs r1, 0x8 + adds r0, r3, 0 + orrs r0, r1 + strb r0, [r2] +_08093C10: + mov r1, r12 + ldrb r0, [r1] + cmp r0, 0 + beq _08093C24 + cmp r4, 0 + bne _08093C24 + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_08093C24: + adds r2, 0x8 + ldr r7, [sp, 0x14] + adds r7, 0x8 + str r7, [sp, 0x14] + movs r0, 0x1 + add r8, r0 + mov r1, r8 + cmp r1, 0x8 + beq _08093C44 +_08093C36: + adds r5, 0x8 + adds r4, 0x1 + cmp r4, 0x7 + ble _08093BC6 + adds r6, 0x1 + cmp r6, 0x7 + ble _08093BB2 +_08093C44: + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093B40 + + thumb_func_start sub_8093C54 +sub_8093C54: + push {r4-r7,lr} + sub sp, 0x40 + adds r6, r0, 0 + lsls r0, r1, 3 + adds r0, r6 + movs r2, 0 + strb r2, [r0] + adds r3, r1, 0x1 + cmp r3, 0x7 + bgt _08093CA6 + lsls r0, r3, 3 + adds r4, r6, r0 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093CA6 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08093CA6 + mov r12, r2 + movs r7, 0x1 + adds r2, r4, 0 + movs r5, 0x2 +_08093C86: + mov r0, r12 + strb r0, [r4] + adds r2, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + bgt _08093CA6 + adds r4, r2, 0 + ldrb r1, [r2] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _08093CA6 + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + bne _08093C86 +_08093CA6: + movs r4, 0 + movs r7, 0x1 + adds r2, r6, 0 + mov r5, sp + movs r3, 0x7 +_08093CB0: + ldrb r1, [r2] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _08093CC2 + ldr r0, [r2] + ldr r1, [r2, 0x4] + stm r5!, {r0,r1} + adds r4, 0x1 +_08093CC2: + adds r2, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _08093CB0 + cmp r4, 0x7 + bgt _08093CDE + movs r1, 0 + lsls r0, r4, 3 + add r0, sp +_08093CD4: + strb r1, [r0] + adds r0, 0x8 + adds r4, 0x1 + cmp r4, 0x7 + ble _08093CD4 +_08093CDE: + mov r4, sp + adds r2, r6, 0 + movs r3, 0x7 +_08093CE4: + ldm r4!, {r0,r1} + stm r2!, {r0,r1} + subs r3, 0x1 + cmp r3, 0 + bge _08093CE4 + add sp, 0x40 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093C54 + + thumb_func_start sub_8093CF8 +sub_8093CF8: + push {r4-r7,lr} + sub sp, 0x40 + adds r6, r0, 0 + lsls r0, r1, 3 + adds r0, r6 + movs r2, 0 + strb r2, [r0] + adds r3, r1, 0x1 + cmp r3, 0x7 + bgt _08093D4A + lsls r0, r3, 3 + adds r4, r6, r0 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093D4A + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08093D4A + mov r12, r2 + movs r7, 0x1 + adds r2, r4, 0 + movs r5, 0x2 +_08093D2A: + mov r0, r12 + strb r0, [r4] + adds r2, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + bgt _08093D4A + adds r4, r2, 0 + ldrb r1, [r2] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _08093D4A + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + bne _08093D2A +_08093D4A: + movs r4, 0 + movs r7, 0x1 + adds r2, r6, 0 + mov r5, sp + movs r3, 0x7 +_08093D54: + ldrb r1, [r2] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _08093D66 + ldr r0, [r2] + ldr r1, [r2, 0x4] + stm r5!, {r0,r1} + adds r4, 0x1 +_08093D66: + adds r2, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _08093D54 + cmp r4, 0x7 + bgt _08093D82 + movs r1, 0 + lsls r0, r4, 3 + add r0, sp +_08093D78: + strb r1, [r0] + adds r0, 0x8 + adds r4, 0x1 + cmp r4, 0x7 + ble _08093D78 +_08093D82: + mov r4, sp + adds r2, r6, 0 + movs r3, 0x7 +_08093D88: + ldm r4!, {r0,r1} + stm r2!, {r0,r1} + subs r3, 0x1 + cmp r3, 0 + bge _08093D88 + add sp, 0x40 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093CF8 + + thumb_func_start sub_8093D9C +sub_8093D9C: + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r2, 0 + adds r6, r3, 0 + lsls r1, 16 + lsrs r1, 16 + mov r0, sp + bl InitPokemonMove + adds r0, r4, 0 + mov r1, sp + adds r2, r5, 0 + adds r3, r6, 0 + bl sub_8093DE8 + add sp, 0x8 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8093D9C + + thumb_func_start sub_8093DC4 +sub_8093DC4: + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r2, 0 + adds r6, r3, 0 + mov r0, sp + bl sub_8093F10 + adds r0, r4, 0 + mov r1, sp + adds r2, r5, 0 + adds r3, r6, 0 + bl sub_8093DE8 + add sp, 0x8 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8093DC4 + + thumb_func_start sub_8093DE8 +sub_8093DE8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _08093E80 + add sp, r4 + adds r4, r0, 0 + adds r6, r1, 0 + adds r5, r2, 0 + mov r8, r3 + adds r0, r5, 0 + bl sub_80073B8 + ldr r0, _08093E84 + adds r1, r6, 0 + movs r2, 0 + bl sub_80928C0 + lsls r4, 3 + adds r4, 0x10 + ldr r2, _08093E88 + movs r7, 0 + str r7, [sp] + adds r0, r4, 0 + movs r1, 0 + adds r3, r5, 0 + bl xxx_format_and_draw + movs r3, 0x13 + ldrh r1, [r6, 0x2] + ldr r4, _08093E8C + ldr r2, [r4] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r2, [r0, 0x1C] + ldrb r0, [r2] + cmp r0, 0x2A + bne _08093E3A + movs r3, 0x10 + adds r2, 0x1 +_08093E3A: + str r7, [sp] + movs r0, 0x4 + adds r1, r3, 0 + adds r3, r5, 0 + bl xxx_format_and_draw + adds r0, r6, 0 + adds r1, r5, 0 + bl sub_8093E90 + adds r0, r5, 0 + bl sub_80073E0 + ldrh r1, [r6, 0x2] + ldr r2, [r4] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, [r0, 0x1C] + add r0, sp, 0x4 + bl strcpy + add r0, sp, 0x4 + mov r1, r8 + bl sub_8097DF0 + movs r3, 0xC9 + lsls r3, 2 + add sp, r3 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08093E80: .4byte 0xfffffcdc +_08093E84: .4byte gAvailablePokemonNames +_08093E88: .4byte gUnknown_8109930 +_08093E8C: .4byte gMovesData + thumb_func_end sub_8093DE8 + + thumb_func_start sub_8093E90 +sub_8093E90: + push {r4-r6,lr} + sub sp, 0x4 + adds r6, r0, 0 + adds r5, r1, 0 + movs r0, 0x7 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0x4 + movs r2, 0x48 + movs r3, 0xC8 + bl sub_80078A4 + ldr r0, _08093F00 + adds r1, r6, 0 + bl sub_8092D54 + ldr r0, _08093F04 + ldr r2, [r0] + movs r4, 0 + str r4, [sp] + movs r0, 0x4 + movs r1, 0x4A + adds r3, r5, 0 + bl xxx_format_and_draw + ldr r0, _08093F08 + ldr r2, [r0] + str r4, [sp] + movs r0, 0x4 + movs r1, 0x56 + adds r3, r5, 0 + bl xxx_format_and_draw + adds r0, r6, 0 + bl GetMoveType + lsls r0, 24 + lsrs r0, 24 + bl GetUnformattedTypeString + adds r2, r0, 0 + str r4, [sp] + movs r0, 0x40 + movs r1, 0x56 + adds r3, r5, 0 + bl xxx_format_and_draw + adds r0, r6, 0 + bl GetMovePower + ldr r1, _08093F0C + str r0, [r1] + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08093F00: .4byte gAvailablePokemonNames +_08093F04: .4byte gUnknown_810CF00 +_08093F08: .4byte gPtrTypeText +_08093F0C: .4byte gUnknown_202DE30 + thumb_func_end sub_8093E90 + + thumb_func_start sub_8093F10 +sub_8093F10: + push {r4,lr} + adds r3, r0, 0 + adds r4, r1, 0 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093F48 + movs r0, 0 + strb r1, [r3] + strb r0, [r3, 0x1] + ldrh r0, [r4, 0x2] + strh r0, [r3, 0x2] + ldrh r1, [r4, 0x2] + ldr r0, _08093F44 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0xC] + strb r0, [r3, 0x4] + ldrb r0, [r4, 0x4] + strb r0, [r3, 0x5] + b _08093F4A + .align 2, 0 +_08093F44: .4byte gMovesData +_08093F48: + strb r0, [r3] +_08093F4A: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8093F10 + + thumb_func_start sub_8093F50 +sub_8093F50: + push {r4-r7,lr} + adds r6, r0, 0 + movs r7, 0 + adds r3, r6, 0 + adds r4, r1, 0 + movs r5, 0x3 +_08093F5C: + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093F8C + strb r1, [r3] + strb r7, [r3, 0x1] + ldrh r0, [r4, 0x2] + strh r0, [r3, 0x2] + ldrh r1, [r4, 0x2] + ldr r0, _08093F88 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0xC] + strb r0, [r3, 0x4] + ldrb r0, [r4, 0x4] + strb r0, [r3, 0x5] + b _08093F8E + .align 2, 0 +_08093F88: .4byte gMovesData +_08093F8C: + strb r0, [r3] +_08093F8E: + adds r3, 0x8 + adds r4, 0x8 + subs r5, 0x1 + cmp r5, 0 + bge _08093F5C + adds r1, r6, 0 + adds r1, 0x20 + movs r0, 0 + strb r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093F50 + + thumb_func_start sub_8093FA8 +sub_8093FA8: + push {lr} + adds r2, r0, 0 + movs r3, 0x3 +_08093FAE: + ldrb r0, [r1] + strb r0, [r2] + ldrh r0, [r1, 0x2] + strh r0, [r2, 0x2] + ldrb r0, [r1, 0x5] + strb r0, [r2, 0x4] + adds r2, 0x8 + adds r1, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _08093FAE + pop {r0} + bx r0 + thumb_func_end sub_8093FA8 + + thumb_func_start sub_8093FC8 +sub_8093FC8: + push {r4-r7,lr} + adds r5, r0, 0 + adds r2, r1, 0 + movs r3, 0 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08094002 + movs r7, 0xFB + movs r6, 0x1 + adds r4, r2, 0 + adds r2, r5, 0 +_08093FE2: + ldm r4!, {r0,r1} + str r0, [r2] + str r1, [r2, 0x4] + ldrb r1, [r2, 0x1] + adds r0, r7, 0 + ands r0, r1 + strb r0, [r2, 0x1] + adds r2, 0x8 + adds r3, 0x1 + cmp r3, 0x3 + bgt _08094002 + ldrb r1, [r4] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + bne _08093FE2 +_08094002: + cmp r3, 0x7 + bgt _08094016 + movs r1, 0 + lsls r0, r3, 3 + adds r0, r5 +_0809400C: + strb r1, [r0] + adds r0, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + ble _0809400C +_08094016: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093FC8 + + thumb_func_start sub_809401C +sub_809401C: + push {r4-r6,lr} + adds r5, r0, 0 + adds r3, r1, 0 + movs r2, 0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08094046 + movs r6, 0x1 + adds r4, r5, 0 +_08094032: + ldm r3!, {r0,r1} + stm r4!, {r0,r1} + adds r2, 0x1 + cmp r2, 0x3 + bgt _08094046 + ldrb r1, [r3] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + bne _08094032 +_08094046: + cmp r2, 0x7 + bgt _0809405A + movs r1, 0 + lsls r0, r2, 3 + adds r0, r5 +_08094050: + strb r1, [r0] + adds r0, 0x8 + adds r2, 0x1 + cmp r2, 0x7 + ble _08094050 +_0809405A: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_809401C + + thumb_func_start sub_8094060 +sub_8094060: + push {r4-r7,lr} + adds r6, r0, 0 + adds r7, r1, 0 + movs r4, 0 + movs r5, 0 + adds r3, r6, 0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08094084 +_08094076: + lsls r2, r4, 3 + adds r2, r7, r2 + ldr r0, [r3] + ldr r1, [r3, 0x4] + str r0, [r2] + str r1, [r2, 0x4] + adds r4, 0x1 +_08094084: + adds r5, 0x1 + cmp r5, 0x7 + bgt _0809409C + lsls r0, r5, 3 + adds r3, r6, r0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08094084 + cmp r4, 0x3 + ble _08094076 +_0809409C: + cmp r4, 0x3 + bgt _080940B0 + movs r1, 0 + lsls r0, r4, 3 + adds r0, r7 +_080940A6: + strb r1, [r0] + adds r0, 0x8 + adds r4, 0x1 + cmp r4, 0x3 + ble _080940A6 +_080940B0: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8094060 + + .align 2,0 diff --git a/asm/pokemon.s b/asm/pokemon.s index d5c7f42..bc82a47 100644 --- a/asm/pokemon.s +++ b/asm/pokemon.s @@ -258,7 +258,7 @@ _0808D06E: beq _0808D07E adds r1, r0, 0 adds r0, r4, 0 - bl sub_8092AD4 + bl InitZeroedPPPokemonMove b _0808D080 _0808D07E: strb r0, [r4] @@ -415,7 +415,7 @@ _0808D19E: cmp r1, 0 beq _0808D1B4 adds r0, r4, 0 - bl sub_8092AD4 + bl InitZeroedPPPokemonMove b _0808D1B6 _0808D1B4: strb r1, [r4] -- cgit v1.2.3