PikalaxALT icon

Original

PikalaxALT | PRO | 09/03/17 01:25:49 PM UTC | 0 ⭐ | 10963 👁️ | Never ⏰ | []
ARM |

8.47 KB

|

None

|

0 👍

/

0 👎

 
    thumb_func_start sub_8049ED4
sub_8049ED4: @ 8049ED4
    push {r4-r7,lr}
    mov r7, r10
    mov r6, r9
    mov r5, r8
    push {r5-r7}
    sub sp, 0x74
    lsls r0, 24
    lsrs r0, 24
    mov r10, r0
    ldr r0, _08049F24 @ =gUnknown_03004824
    ldr r5, [r0]
    adds r0, r5, 0
    adds r0, 0x82
    add r0, r10
    ldrb r0, [r0]
    movs r1, 0x1
    str r1, [sp, 0x6C]
    cmp r0, 0x5
    bhi _08049EFE
    movs r2, 0
    str r2, [sp, 0x6C]
_08049EFE:
    movs r1, 0x6
    bl __umodsi3
    lsls r0, 24
    lsrs r0, 24
    mov r8, r0
    adds r0, r5, 0
    adds r0, 0x80
    mov r1, r10
    adds r3, r0, r1
    ldrb r0, [r3]
    cmp r0, 0x2
    bne _08049F1A
    b _0804A0AC
_08049F1A:
    cmp r0, 0x2
    bgt _08049F28
    cmp r0, 0x1
    beq _08049F36
    b _0804A294
    .align 2, 0
_08049F24: .4byte gUnknown_03004824
_08049F28:
    cmp r0, 0x3
    bne _08049F2E
    b _0804A0E4
_08049F2E:
    cmp r0, 0x4
    bne _08049F34
    b _0804A244
_08049F34:
    b _0804A294
_08049F36:
    movs r4, 0
    adds r0, r5, 0
    adds r0, 0x42
    add r0, r10
    ldr r7, _0804A094 @ =gSprites
    ldr r2, [sp, 0x6C]
    lsls r2, 1
    mov r9, r2
    ldr r3, _0804A098 @ =gTradeMonSpriteCoords
    mov r12, r3
    mov r5, r10
    lsls r5, 4
    str r5, [sp, 0x70]
    ldrb r0, [r0]
    cmp r4, r0
    bcs _08049F8E
    adds r6, r7, 0
    ldr r2, _0804A09C @ =gUnknown_03004824
    ldr r0, [sp, 0x6C]
    add r0, r9
    lsls r3, r0, 1
    movs r5, 0x4
_08049F62:
    ldr r0, [r2]
    adds r1, r4, r3
    adds r0, 0x34
    adds r0, r1
    ldrb r1, [r0]
    lsls r0, r1, 4
    adds r0, r1
    lsls r0, 2
    adds r0, r6
    adds r0, 0x3E
    ldrb r1, [r0]
    orrs r1, r5
    strb r1, [r0]
    adds r0, r4, 0x1
    lsls r0, 24
    lsrs r4, r0, 24
    ldr r0, [r2]
    adds r0, 0x42
    add r0, r10
    ldrb r0, [r0]
    cmp r4, r0
    bcc _08049F62
_08049F8E:
    ldr r1, _0804A09C @ =gUnknown_03004824
    ldr r0, [r1]
    ldr r5, [sp, 0x6C]
    add r5, r9
    lsls r3, r5, 1
    mov r2, r8
    adds r6, r2, r3
    adds r0, 0x34
    adds r0, r6
    ldrb r1, [r0]
    lsls r0, r1, 4
    adds r0, r1
    lsls r0, 2
    adds r0, r7
    adds r0, 0x3E
    ldrb r2, [r0]
    movs r1, 0x5
    negs r1, r1
    ands r1, r2
    strb r1, [r0]
    ldr r0, _0804A09C @ =gUnknown_03004824
    ldr r4, [r0]
    adds r4, 0x34
    adds r4, r6
    ldrb r1, [r4]
    lsls r0, r1, 4
    adds r0, r1
    lsls r0, 2
    adds r0, r7
    movs r1, 0x14
    strh r1, [r0, 0x2E]
    ldrb r0, [r4]
    lsls r2, r0, 4
    adds r2, r0
    lsls r2, 2
    adds r2, r7
    lsls r5, 2
    mov r1, r12
    adds r0, r5, r1
    ldrb r0, [r0]
    adds r3, 0x1
    lsls r3, 1
    add r3, r12
    ldrb r1, [r3]
    adds r0, r1
    asrs r0, 1
    lsls r0, 3
    adds r0, 0xE
    strh r0, [r2, 0x32]
    ldrb r0, [r4]
    lsls r1, r0, 4
    adds r1, r0
    lsls r1, 2
    adds r1, r7
    mov r0, r12
    adds r0, 0x1
    adds r5, r0
    ldrb r0, [r5]
    lsls r0, 3
    subs r0, 0xC
    strh r0, [r1, 0x36]
    ldrb r1, [r4]
    lsls r0, r1, 4
    adds r0, r1
    lsls r0, 2
    adds r0, r7
    ldr r1, _0804A0A0 @ =sub_809D62C
    bl oamt_set_x3A_32
    ldr r2, _0804A09C @ =gUnknown_03004824
    ldr r1, [r2]
    adds r1, 0x80
    add r1, r10
    ldrb r0, [r1]
    adds r0, 0x1
    strb r0, [r1]
    ldr r0, [r2]
    adds r0, 0x34
    adds r0, r6
    ldrb r1, [r0]
    lsls r0, r1, 4
    adds r0, r1
    lsls r0, 2
    adds r0, r7
    bl sub_8078A34
    bl HandleDestroyMenuCursors
    ldr r3, _0804A09C @ =gUnknown_03004824
    ldr r0, [r3]
    adds r0, 0x4
    ldr r1, _0804A0A4 @ =gUnknown_0820C330
    mov r5, r9
    adds r2, r5, r1
    ldrb r2, [r2]
    adds r1, 0x1
    add r1, r9
    ldrb r1, [r1]
    str r1, [sp]
    movs r1, 0x13
    str r1, [sp, 0x4]
    movs r1, 0
    movs r3, 0
    bl FillWindowRect_DefaultPalette
    ldr r1, _0804A09C @ =gUnknown_03004824
    ldr r0, [r1]
    adds r0, 0xC8
    ldr r2, [sp, 0x70]
    mov r3, r10
    subs r1, r2, r3
    lsls r1, 24
    lsrs r1, 24
    ldr r3, _0804A0A8 @ =gTradePartyBoxTilemap
    movs r2, 0xF
    str r2, [sp]
    movs r2, 0x11
    str r2, [sp, 0x4]
    movs r5, 0
    str r5, [sp, 0x8]
    movs r2, 0
    bl sub_804A96C_alt
    ldr r0, [sp, 0x6C]
    cmp r0, 0
    beq _0804A08C
    b _0804A294
_0804A08C:
    bl sub_804A80C
    b _0804A294
    .align 2, 0
_0804A094: .4byte gSprites
_0804A098: .4byte gTradeMonSpriteCoords
_0804A09C: .4byte gUnknown_03004824
_0804A0A0: .4byte sub_809D62C
_0804A0A4: .4byte gUnknown_0820C330
_0804A0A8: .4byte gTradePartyBoxTilemap
_0804A0AC:
    ldr r2, _0804A0DC @ =gSprites
    ldr r1, [sp, 0x6C]
    lsls r0, r1, 1
    adds r0, r1
    lsls r0, 1
    add r0, r8
    adds r1, r5, 0
    adds r1, 0x34
    adds r1, r0
    ldrb r1, [r1]
    lsls r0, r1, 4
    adds r0, r1
    lsls r0, 2
    adds r2, 0x1C
    adds r0, r2
    ldr r1, [r0]
    ldr r0, _0804A0E0 @ =sub_809D62C
    cmp r1, r0
    beq _0804A0D4
    b _0804A294
_0804A0D4:
    movs r0, 0x3
    strb r0, [r3]
    b _0804A294
    .align 2, 0
_0804A0DC: .4byte gSprites
_0804A0E0: .4byte sub_809D62C
_0804A0E4:
    adds r0, r5, 0
    adds r0, 0xC8
    ldr r2, [sp, 0x6C]
    lsls r1, r2, 4
    subs r1, r2
    lsls r1, 24
    lsrs r1, 24
    ldr r3, _0804A228 @ =gTradeMovesBoxTilemap
    movs r2, 0xF
    str r2, [sp]
    movs r7, 0x11
    str r7, [sp, 0x4]
    movs r5, 0
    str r5, [sp, 0x8]
    movs r2, 0
    bl sub_804A96C_alt
    ldr r0, _0804A22C @ =gUnknown_03004824
    ldr r3, [r0]
    ldr r1, [sp, 0x6C]
    lsls r6, r1, 1
    adds r1, r6
    mov r9, r1
    lsls r1, 1
    mov r2, r8
    adds r0, r2, r1
    adds r3, 0x34
    adds r3, r0
    ldrb r0, [r3]
    lsls r2, r0, 4
    adds r2, r0
    lsls r2, 2
    ldr r5, _0804A230 @ =gSprites
    adds r2, r5
    ldr r4, _0804A234 @ =gTradeMonSpriteCoords
    mov r0, r9
    lsls r5, r0, 2
    adds r0, r5, r4
    ldrb r0, [r0]
    adds r1, 0x1
    lsls r1, 1
    adds r1, r4
    ldrb r1, [r1]
    adds r0, r1
    asrs r0, 1
    lsls r0, 3
    adds r0, 0xE
    strh r0, [r2, 0x20]
    ldrb r0, [r3]
    lsls r1, r0, 4
    adds r1, r0
    lsls r1, 2
    ldr r2, _0804A230 @ =gSprites
    adds r1, r2
    adds r4, 0x1
    adds r5, r4
    ldrb r0, [r5]
    lsls r0, 3
    subs r0, 0xC
    strh r0, [r1, 0x22]
    ldrb r1, [r3]
    lsls r0, r1, 4
    adds r0, r1
    lsls r0, 2
    adds r0, r2
    movs r5, 0
    strh r5, [r0, 0x24]
    ldrb r1, [r3]
    lsls r0, r1, 4
    adds r0, r1
    lsls r0, 2
    adds r0, r2
    strh r5, [r0, 0x26]
    mov r0, sp
    adds r0, 0x12
    ldr r1, [sp, 0x6C]
    mov r2, r8
    bl sub_804A2B4
    add r1, sp, 0xC
    movs r3, 0xFC
    strb r3, [r1]
    adds r2, r1, 0
    movs r1, 0x6
    strb r1, [r2, 0x1]
    movs r1, 0x4
    strb r1, [r2, 0x2]
    adds r1, r2, 0
    strb r3, [r1, 0x3]
    strb r7, [r1, 0x4]
    lsls r0, 24
    asrs r0, 24
    movs r1, 0x40
    subs r1, r0
    lsrs r0, r1, 31
    adds r1, r0
    asrs r1, 1
    strb r1, [r2, 0x5]
    ldr r0, _0804A22C @ =gUnknown_03004824
    ldr r1, [r0]
    adds r0, r1, 0x4
    adds r1, 0x7A
    ldrb r2, [r1]
    mov r1, r9
    lsls r1, 6
    mov r9, r1
    add r2, r9
    ldr r4, _0804A238 @ =gUnknown_0820C334
    ldr r3, [sp, 0x6C]
    lsls r1, r3, 2
    adds r3, r1, r4
    ldrb r3, [r3]
    ldr r5, _0804A23C @ =gUnknown_0820C334 + 0x1
    adds r1, r5
    ldrb r1, [r1]
    str r1, [sp]
    add r1, sp, 0xC
    bl sub_8003460
    add r7, sp, 0x34
    adds r0, r7, 0
    ldr r1, [sp, 0x6C]
    mov r2, r8
    bl sub_804A33C
    ldr r0, _0804A22C @ =gUnknown_03004824
    ldr r2, [r0]
    adds r0, r2, 0x4
    ldr r1, _0804A240 @ =gOtherText_Terminator2
    adds r2, 0x7A
    ldrb r2, [r2]
    add r2, r9
    adds r2, 0x20
    adds r6, 0x1
    lsls r6, 1
    adds r4, r6, r4
    ldrb r5, [r4]
    ldr r3, _0804A23C @ =gUnknown_0820C334 + 0x1
    adds r6, r3
    ldrb r4, [r6]
    adds r4, 0x1
    lsls r4, 24
    lsrs r4, 24
    str r4, [sp]
    adds r3, r5, 0
    bl sub_8003460
    ldr r0, _0804A22C @ =gUnknown_03004824
    ldr r1, [r0]
    adds r0, r1, 0x4
    adds r1, 0x7A
    ldrb r2, [r1]
    add r2, r9
    adds r2, 0x26
    str r4, [sp]
    adds r1, r7, 0
    adds r3, r5, 0
    bl sub_8003460
    ldr r2, _0804A22C @ =gUnknown_03004824
    ldr r1, [r2]
    b _0804A28A
    .align 2, 0
_0804A228: .4byte gTradeMovesBoxTilemap
_0804A22C: .4byte gUnknown_03004824
_0804A230: .4byte gSprites
_0804A234: .4byte gTradeMonSpriteCoords
_0804A238: .4byte gUnknown_0820C334
_0804A23C: .4byte gUnknown_0820C334 + 0x1
_0804A240: .4byte gOtherText_Terminator2
_0804A244:
    ldr r0, _0804A2A4 @ =gUnknown_0820C14C
    ldr r0, [r0, 0x14]
    adds r1, r5, 0
    adds r1, 0x7E
    ldrh r1, [r1]
    lsls r1, 5
    ldr r3, _0804A2A8 @ =0x06010000
    adds r1, r3
    movs r2, 0x14
    bl sub_804ACD8
    ldr r0, _0804A2AC @ =gUnknown_0820C3D1
    mov r5, r10
    lsls r1, r5, 1
    adds r4, r1, r0
    ldrb r2, [r4]
    adds r2, 0x4
    lsls r2, 24
    lsrs r2, 24
    adds r0, 0x1
    adds r1, r0
    ldrb r3, [r1]
    adds r3, 0x1
    lsls r3, 24
    lsrs r3, 24
    ldrb r0, [r4]
    str r0, [sp]
    ldrb r0, [r1]
    str r0, [sp, 0x4]
    mov r0, r10
    mov r1, r8
    bl sub_804A51C
    ldr r0, _0804A2B0 @ =gUnknown_03004824
    ldr r1, [r0]
_0804A28A:
    adds r1, 0x80
    add r1, r10
    ldrb r0, [r1]
    adds r0, 0x1
    strb r0, [r1]
_0804A294:
    add sp, 0x74
    pop {r3-r5}
    mov r8, r3
    mov r9, r4
    mov r10, r5
    pop {r4-r7}
    pop {r0}
    bx r0
    .align 2, 0
_0804A2A4: .4byte gUnknown_0820C14C
_0804A2A8: .4byte 0x06010000
_0804A2AC: .4byte gUnknown_0820C3D1
_0804A2B0: .4byte gUnknown_03004824
    thumb_func_end sub_8049ED4

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎