PikalaxALT icon

Compiler output

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

8.58 KB

|

None

|

0 👍

/

0 👎

    .type    sub_8049ED4,function
    .thumb_func
sub_8049ED4:
    push    {r4, r5, r6, r7, lr}
    mov r7, sl
    mov r6, r9
    mov r5, r8
    push    {r5, r6, r7}
    add sp, sp, #0xffffff80
    lsl r0, r0, #0x18
    lsr r7, r0, #0x18
    mov r0, #0x1
    str r0, [sp, #0x6c]
    ldr r1, .L649
    ldr r5, [r1]
    add r0, r5, #0
    add r0, r0, #0x82
    add r0, r0, r7
    ldrb    r0, [r0]
    cmp r0, #0x5
    bhi .L632   @cond_branch
    mov r2, #0x0
    str r2, [sp, #0x6c]
.L632:
    mov r1, #0x6
    bl  __umodsi3
    lsl r0, r0, #0x18
    lsr r0, r0, #0x18
    str r0, [sp, #0x70]
    add r0, r5, #0
    add r0, r0, #0x80
    add r3, r0, r7
    ldrb    r0, [r3]
    cmp r0, #0x2
    bne .LCB5359
    b   .L641   @long jump
.LCB5359:
    cmp r0, #0x2
    bgt .L647   @cond_branch
    cmp r0, #0x1
    beq .L634   @cond_branch
    b   .L633
.L650:
    .align  2, 0
.L649:
    .word   gUnknown_03004824
.L647:
    cmp r0, #0x3
    bne .LCB5374
    b   .L643   @long jump
.LCB5374:
    cmp r0, #0x4
    bne .LCB5376
    b   .L644   @long jump
.LCB5376:
    b   .L633
.L634:
    mov r4, #0x0
    add r0, r5, #0
    add r0, r0, #0x42
    add r0, r0, r7
    ldr r6, .L651
    ldr r3, [sp, #0x6c]
    lsl r3, r3, #0x1
    mov r8, r3
    ldr r5, .L651+0x4
    mov sl, r5
    ldr r1, .L651+0x8
    mov ip, r1
    lsl r2, r7, #0x4
    str r2, [sp, #0x7c]
    ldrb    r0, [r0]
    cmp r4, r0
    bcs .L636   @cond_branch
    mov r9, r6
    ldr r2, .L651+0xc
    ldr r0, [sp, #0x6c]
    add r0, r0, r8
    lsl r3, r0, #0x1
    mov r5, #0x4
.L638:
    ldr r0, [r2]
    add r1, r4, r3
    add r0, r0, #0x34
    add r0, r0, r1
    ldrb    r1, [r0]
    lsl r0, r1, #0x4
    add r0, r0, r1
    lsl r0, r0, #0x2
    add r0, r0, r9
    add r0, r0, #0x3e
    ldrb    r1, [r0]
    orr r1, r1, r5
    strb    r1, [r0]
    add r0, r4, #0x1
    lsl r0, r0, #0x18
    lsr r4, r0, #0x18
    ldr r0, [r2]
    add r0, r0, #0x42
    add r0, r0, r7
    ldrb    r0, [r0]
    cmp r4, r0
    bcc .L638   @cond_branch
.L636:
    ldr r3, .L651+0xc
    ldr r0, [r3]
    ldr r5, [sp, #0x6c]
    add r5, r5, r8
    lsl r5, r5, #0x1
    ldr r1, [sp, #0x70]
    add r5, r1, r5
    add r0, r0, #0x34
    add r0, r0, r5
    ldrb    r1, [r0]
    lsl r0, r1, #0x4
    add r0, r0, r1
    lsl r0, r0, #0x2
    add r0, r0, r6
    add r0, r0, #0x3e
    ldrb    r2, [r0]
    mov r1, #0x5
    neg r1, r1
    and r1, r1, r2
    strb    r1, [r0]
    ldr r3, [r3]
    add r3, r3, #0x34
    add r3, r3, r5
    ldrb    r1, [r3]
    lsl r0, r1, #0x4
    add r0, r0, r1
    lsl r0, r0, #0x2
    add r0, r0, r6
    mov r2, #0x0
    mov r9, r2
    mov r1, #0x14
    strh    r1, [r0, #0x2e]
    ldrb    r0, [r3]
    lsl r2, r0, #0x4
    add r2, r2, r0
    lsl r2, r2, #0x2
    add r2, r2, r6
    lsl r4, r5, #0x1
    mov r1, sl
    add r0, r4, r1
    ldrb    r1, [r0]
    add r0, r5, #0x1
    lsl r0, r0, #0x1
    add r0, r0, sl
    ldrb    r0, [r0]
    add r1, r1, r0
    asr r1, r1, #0x1
    lsl r1, r1, #0x3
    add r1, r1, #0xe
    strh    r1, [r2, #0x32]
    ldrb    r0, [r3]
    lsl r1, r0, #0x4
    add r1, r1, r0
    lsl r1, r1, #0x2
    add r1, r1, r6
    mov r0, sl
    add r0, r0, #0x1
    add r4, r4, r0
    ldrb    r0, [r4]
    lsl r0, r0, #0x3
    sub r0, r0, #0xc
    strh    r0, [r1, #0x36]
    ldrb    r1, [r3]
    lsl r0, r1, #0x4
    add r0, r0, r1
    lsl r0, r0, #0x2
    add r0, r0, r6
    mov r1, ip
    bl  oamt_set_x3A_32
    ldr r2, .L651+0xc
    ldr r1, [r2]
    add r1, r1, #0x80
    add r1, r1, r7
    ldrb    r0, [r1]
    add r0, r0, #0x1
    strb    r0, [r1]
    ldr r0, [r2]
    add r0, r0, #0x34
    add r0, r0, r5
    ldrb    r1, [r0]
    lsl r0, r1, #0x4
    add r0, r0, r1
    lsl r0, r0, #0x2
    add r0, r0, r6
    bl  sub_8078A34
    bl  HandleDestroyMenuCursors
    ldr r3, .L651+0xc
    ldr r0, [r3]
    add r0, r0, #0x4
    ldr r1, .L651+0x10
    mov r5, r8
    add r2, r5, r1
    ldrb    r2, [r2]
    add r1, r1, #0x1
    add r1, r1, r8
    ldrb    r1, [r1]
    str r1, [sp]
    mov r1, #0x13
    str r1, [sp, #0x4]
    mov r1, #0x0
    mov r3, #0x0
    bl  FillWindowRect_DefaultPalette
    ldr r1, .L651+0xc
    ldr r0, [r1]
    add r0, r0, #0xc8
    ldr r2, [sp, #0x7c]
    sub r1, r2, r7
    lsl r1, r1, #0x18
    lsr r1, r1, #0x18
    ldr r3, .L651+0x14
    mov r2, #0xf
    str r2, [sp]
    mov r2, #0x11
    str r2, [sp, #0x4]
    mov r5, r9
    str r5, [sp, #0x8]
    mov r2, #0x0
    bl  sub_804A96C
    ldr r0, [sp, #0x6c]
    cmp r0, #0
    beq .LCB5578
    b   .L633   @long jump
.LCB5578:
    bl  sub_804A80C
    b   .L633
.L652:
    .align  2, 0
.L651:
    .word   gSprites
    .word   gTradeMonSpriteCoords
    .word   sub_809D62C
    .word   gUnknown_03004824
    .word   gUnknown_0820C330
    .word   gTradePartyBoxTilemap
.L641:
    ldr r2, .L653
    ldr r1, [sp, #0x6c]
    lsl r0, r1, #0x1
    add r0, r0, r1
    lsl r0, r0, #0x1
    ldr r1, [sp, #0x70]
    add r0, r1, r0
    add r1, r5, #0
    add r1, r1, #0x34
    add r1, r1, r0
    ldrb    r1, [r1]
    lsl r0, r1, #0x4
    add r0, r0, r1
    lsl r0, r0, #0x2
    add r2, r2, #0x1c
    add r0, r0, r2
    ldr r1, [r0]
    ldr r0, .L653+0x4
    cmp r1, r0
    beq .LCB5614
    b   .L633   @long jump
.LCB5614:
    mov r0, #0x3
    strb    r0, [r3]
    b   .L633
.L654:
    .align  2, 0
.L653:
    .word   gSprites
    .word   sub_809D62C
.L643:
    add r0, r5, #0
    add r0, r0, #0xc8
    ldr r2, [sp, #0x6c]
    lsl r1, r2, #0x4
    sub r1, r1, r2
    lsl r1, r1, #0x18
    lsr r1, r1, #0x18
    ldr r3, .L655
    mov r2, #0xf
    str r2, [sp]
    mov r5, #0x11
    str r5, [sp, #0x4]
    mov r2, #0x0
    mov r8, r2
    str r2, [sp, #0x8]
    bl  sub_804A96C
    ldr r3, .L655+0x4
    mov ip, r3
    ldr r5, .L655+0x8
    ldr r3, [r5]
    ldr r0, [sp, #0x6c]
    lsl r0, r0, #0x1
    mov r9, r0
    ldr r1, [sp, #0x6c]
    add r1, r1, r9
    str r1, [sp, #0x74]
    lsl r1, r1, #0x1
    ldr r2, [sp, #0x70]
    add r1, r2, r1
    add r3, r3, #0x34
    add r3, r3, r1
    ldrb    r0, [r3]
    lsl r2, r0, #0x4
    add r2, r2, r0
    lsl r2, r2, #0x2
    add r2, r2, ip
    ldr r4, .L655+0xc
    lsl r5, r1, #0x1
    add r0, r5, r4
    ldrb    r0, [r0]
    add r1, r1, #0x1
    lsl r1, r1, #0x1
    add r1, r1, r4
    ldrb    r1, [r1]
    add r0, r0, r1
    asr r0, r0, #0x1
    lsl r0, r0, #0x3
    add r0, r0, #0xe
    strh    r0, [r2, #0x20]
    ldrb    r0, [r3]
    lsl r1, r0, #0x4
    add r1, r1, r0
    lsl r1, r1, #0x2
    add r1, r1, ip
    add r4, r4, #0x1
    add r5, r5, r4
    ldrb    r0, [r5]
    lsl r0, r0, #0x3
    sub r0, r0, #0xc
    strh    r0, [r1, #0x22]
    ldrb    r1, [r3]
    lsl r0, r1, #0x4
    add r0, r0, r1
    lsl r0, r0, #0x2
    add r0, r0, ip
    mov r5, r8
    strh    r5, [r0, #0x24]
    ldrb    r1, [r3]
    lsl r0, r1, #0x4
    add r0, r0, r1
    lsl r0, r0, #0x2
    add r0, r0, ip
    strh    r5, [r0, #0x26]
    mov r0, sp
    add r0, r0, #0x12
    ldr r1, [sp, #0x6c]
    ldr r2, [sp, #0x70]
    bl  sub_804A2B4
    add r1, sp, #0xc
    mov r3, #0xfc
    strb    r3, [r1]
    add r2, r1, #0
    mov r1, #0x6
    strb    r1, [r2, #0x1]
    mov r1, #0x4
    strb    r1, [r2, #0x2]
    add r1, r2, #0
    strb    r3, [r1, #0x3]
    mov r2, #0x11
    strb    r2, [r1, #0x4]
    add r2, r1, #0
    lsl r0, r0, #0x18
    asr r0, r0, #0x18
    mov r1, #0x40
    sub r1, r1, r0
    lsr r0, r1, #0x1f
    add r1, r1, r0
    asr r1, r1, #0x1
    strb    r1, [r2, #0x5]
    ldr r3, .L655+0x8
    ldr r1, [r3]
    add r0, r1, #0x4
    add r1, r1, #0x7a
    ldrb    r2, [r1]
    ldr r5, [sp, #0x74]
    lsl r5, r5, #0x6
    str r5, [sp, #0x78]
    add r2, r2, r5
    ldr r4, .L655+0x10
    mov r3, r9
    add r1, r3, r4
    ldrb    r3, [r1]
    add r5, r4, #0x1
    mov sl, r5
    add r9, r9, sl
    mov r5, r9
    ldrb    r1, [r5]
    str r1, [sp]
    add r1, sp, #0xc
    bl  sub_8003460
    add r0, sp, #0x34
    mov r8, r0
    ldr r1, [sp, #0x6c]
    ldr r2, [sp, #0x70]
    bl  sub_804A33C
    ldr r1, .L655+0x8
    ldr r2, [r1]
    add r0, r2, #0x4
    ldr r1, .L655+0x14
    add r2, r2, #0x7a
    ldrb    r2, [r2]
    ldr r3, [sp, #0x78]
    add r2, r2, r3
    add r2, r2, #0x20
    ldr r3, [sp, #0x6c]
    add r3, r3, #0x1
    lsl r3, r3, #0x1
    add r4, r3, r4
    ldrb    r5, [r4]
    add r3, r3, sl
    ldrb    r4, [r3]
    add r4, r4, #0x1
    lsl r4, r4, #0x18
    lsr r4, r4, #0x18
    str r4, [sp]
    add r3, r5, #0
    bl  sub_8003460
    ldr r0, .L655+0x8
    ldr r1, [r0]
    add r0, r1, #0x4
    add r1, r1, #0x7a
    ldrb    r2, [r1]
    ldr r1, [sp, #0x78]
    add r2, r2, r1
    add r2, r2, #0x26
    str r4, [sp]
    mov r1, r8
    add r3, r5, #0
    bl  sub_8003460
    ldr r2, .L655+0x8
    ldr r1, [r2]
    b   .L648
.L656:
    .align  2, 0
.L655:
    .word   gTradePartyBoxTilemap
    .word   gSprites
    .word   gUnknown_03004824
    .word   gTradeMonSpriteCoords
    .word   gUnknown_0820C334
    .word   gOtherText_Terminator2
.L644:
    ldr r0, .L657
    ldr r0, [r0, #0x14]
    add r1, r5, #0
    add r1, r1, #0x7e
    ldrh    r1, [r1]
    lsl r1, r1, #0x5
    ldr r3, .L657+0x4
    add r1, r1, r3
    mov r2, #0x14
    bl  sub_804ACD8
    ldr r0, .L657+0x8
    lsl r1, r7, #0x1
    add r4, r1, r0
    ldrb    r2, [r4]
    add r2, r2, #0x4
    lsl r2, r2, #0x18
    lsr r2, r2, #0x18
    add r0, r0, #0x1
    add r1, r1, r0
    ldrb    r3, [r1]
    add r3, r3, #0x1
    lsl r3, r3, #0x18
    lsr r3, r3, #0x18
    ldrb    r0, [r4]
    str r0, [sp]
    ldrb    r0, [r1]
    str r0, [sp, #0x4]
    add r0, r7, #0
    ldr r1, [sp, #0x70]
    bl  sub_804A51C
    ldr r5, .L657+0xc
    ldr r1, [r5]
.L648:
    add r1, r1, #0x80
    add r1, r1, r7
    ldrb    r0, [r1]
    add r0, r0, #0x1
    strb    r0, [r1]
.L633:
    add sp, sp, #0x80
    pop {r3, r4, r5}
    mov r8, r3
    mov r9, r4
    mov sl, r5
    pop {r4, r5, r6, r7}
    pop {r0}
    bx  r0
.L658:
    .align  2, 0
.L657:
    .word   gUnknown_0820C14C
    .word   0x6010000
    .word   gUnknown_0820C3D1
    .word   gUnknown_03004824
.Lfe42:
    .size    sub_8049ED4,.Lfe42-sub_8049ED4
    .align  2, 0

Comments

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

    0 B

    |

    👍

    /

    👎