Advertisement
PikalaxALT

Compiler output

Sep 3rd, 2017
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 8.58 KB | None | 0 0
  1.     .type    sub_8049ED4,function
  2.     .thumb_func
  3. sub_8049ED4:
  4.     push    {r4, r5, r6, r7, lr}
  5.     mov r7, sl
  6.     mov r6, r9
  7.     mov r5, r8
  8.     push    {r5, r6, r7}
  9.     add sp, sp, #0xffffff80
  10.     lsl r0, r0, #0x18
  11.     lsr r7, r0, #0x18
  12.     mov r0, #0x1
  13.     str r0, [sp, #0x6c]
  14.     ldr r1, .L649
  15.     ldr r5, [r1]
  16.     add r0, r5, #0
  17.     add r0, r0, #0x82
  18.     add r0, r0, r7
  19.     ldrb    r0, [r0]
  20.     cmp r0, #0x5
  21.     bhi .L632   @cond_branch
  22.     mov r2, #0x0
  23.     str r2, [sp, #0x6c]
  24. .L632:
  25.     mov r1, #0x6
  26.     bl  __umodsi3
  27.     lsl r0, r0, #0x18
  28.     lsr r0, r0, #0x18
  29.     str r0, [sp, #0x70]
  30.     add r0, r5, #0
  31.     add r0, r0, #0x80
  32.     add r3, r0, r7
  33.     ldrb    r0, [r3]
  34.     cmp r0, #0x2
  35.     bne .LCB5359
  36.     b   .L641   @long jump
  37. .LCB5359:
  38.     cmp r0, #0x2
  39.     bgt .L647   @cond_branch
  40.     cmp r0, #0x1
  41.     beq .L634   @cond_branch
  42.     b   .L633
  43. .L650:
  44.     .align  2, 0
  45. .L649:
  46.     .word   gUnknown_03004824
  47. .L647:
  48.     cmp r0, #0x3
  49.     bne .LCB5374
  50.     b   .L643   @long jump
  51. .LCB5374:
  52.     cmp r0, #0x4
  53.     bne .LCB5376
  54.     b   .L644   @long jump
  55. .LCB5376:
  56.     b   .L633
  57. .L634:
  58.     mov r4, #0x0
  59.     add r0, r5, #0
  60.     add r0, r0, #0x42
  61.     add r0, r0, r7
  62.     ldr r6, .L651
  63.     ldr r3, [sp, #0x6c]
  64.     lsl r3, r3, #0x1
  65.     mov r8, r3
  66.     ldr r5, .L651+0x4
  67.     mov sl, r5
  68.     ldr r1, .L651+0x8
  69.     mov ip, r1
  70.     lsl r2, r7, #0x4
  71.     str r2, [sp, #0x7c]
  72.     ldrb    r0, [r0]
  73.     cmp r4, r0
  74.     bcs .L636   @cond_branch
  75.     mov r9, r6
  76.     ldr r2, .L651+0xc
  77.     ldr r0, [sp, #0x6c]
  78.     add r0, r0, r8
  79.     lsl r3, r0, #0x1
  80.     mov r5, #0x4
  81. .L638:
  82.     ldr r0, [r2]
  83.     add r1, r4, r3
  84.     add r0, r0, #0x34
  85.     add r0, r0, r1
  86.     ldrb    r1, [r0]
  87.     lsl r0, r1, #0x4
  88.     add r0, r0, r1
  89.     lsl r0, r0, #0x2
  90.     add r0, r0, r9
  91.     add r0, r0, #0x3e
  92.     ldrb    r1, [r0]
  93.     orr r1, r1, r5
  94.     strb    r1, [r0]
  95.     add r0, r4, #0x1
  96.     lsl r0, r0, #0x18
  97.     lsr r4, r0, #0x18
  98.     ldr r0, [r2]
  99.     add r0, r0, #0x42
  100.     add r0, r0, r7
  101.     ldrb    r0, [r0]
  102.     cmp r4, r0
  103.     bcc .L638   @cond_branch
  104. .L636:
  105.     ldr r3, .L651+0xc
  106.     ldr r0, [r3]
  107.     ldr r5, [sp, #0x6c]
  108.     add r5, r5, r8
  109.     lsl r5, r5, #0x1
  110.     ldr r1, [sp, #0x70]
  111.     add r5, r1, r5
  112.     add r0, r0, #0x34
  113.     add r0, r0, r5
  114.     ldrb    r1, [r0]
  115.     lsl r0, r1, #0x4
  116.     add r0, r0, r1
  117.     lsl r0, r0, #0x2
  118.     add r0, r0, r6
  119.     add r0, r0, #0x3e
  120.     ldrb    r2, [r0]
  121.     mov r1, #0x5
  122.     neg r1, r1
  123.     and r1, r1, r2
  124.     strb    r1, [r0]
  125.     ldr r3, [r3]
  126.     add r3, r3, #0x34
  127.     add r3, r3, r5
  128.     ldrb    r1, [r3]
  129.     lsl r0, r1, #0x4
  130.     add r0, r0, r1
  131.     lsl r0, r0, #0x2
  132.     add r0, r0, r6
  133.     mov r2, #0x0
  134.     mov r9, r2
  135.     mov r1, #0x14
  136.     strh    r1, [r0, #0x2e]
  137.     ldrb    r0, [r3]
  138.     lsl r2, r0, #0x4
  139.     add r2, r2, r0
  140.     lsl r2, r2, #0x2
  141.     add r2, r2, r6
  142.     lsl r4, r5, #0x1
  143.     mov r1, sl
  144.     add r0, r4, r1
  145.     ldrb    r1, [r0]
  146.     add r0, r5, #0x1
  147.     lsl r0, r0, #0x1
  148.     add r0, r0, sl
  149.     ldrb    r0, [r0]
  150.     add r1, r1, r0
  151.     asr r1, r1, #0x1
  152.     lsl r1, r1, #0x3
  153.     add r1, r1, #0xe
  154.     strh    r1, [r2, #0x32]
  155.     ldrb    r0, [r3]
  156.     lsl r1, r0, #0x4
  157.     add r1, r1, r0
  158.     lsl r1, r1, #0x2
  159.     add r1, r1, r6
  160.     mov r0, sl
  161.     add r0, r0, #0x1
  162.     add r4, r4, r0
  163.     ldrb    r0, [r4]
  164.     lsl r0, r0, #0x3
  165.     sub r0, r0, #0xc
  166.     strh    r0, [r1, #0x36]
  167.     ldrb    r1, [r3]
  168.     lsl r0, r1, #0x4
  169.     add r0, r0, r1
  170.     lsl r0, r0, #0x2
  171.     add r0, r0, r6
  172.     mov r1, ip
  173.     bl  oamt_set_x3A_32
  174.     ldr r2, .L651+0xc
  175.     ldr r1, [r2]
  176.     add r1, r1, #0x80
  177.     add r1, r1, r7
  178.     ldrb    r0, [r1]
  179.     add r0, r0, #0x1
  180.     strb    r0, [r1]
  181.     ldr r0, [r2]
  182.     add r0, r0, #0x34
  183.     add r0, r0, r5
  184.     ldrb    r1, [r0]
  185.     lsl r0, r1, #0x4
  186.     add r0, r0, r1
  187.     lsl r0, r0, #0x2
  188.     add r0, r0, r6
  189.     bl  sub_8078A34
  190.     bl  HandleDestroyMenuCursors
  191.     ldr r3, .L651+0xc
  192.     ldr r0, [r3]
  193.     add r0, r0, #0x4
  194.     ldr r1, .L651+0x10
  195.     mov r5, r8
  196.     add r2, r5, r1
  197.     ldrb    r2, [r2]
  198.     add r1, r1, #0x1
  199.     add r1, r1, r8
  200.     ldrb    r1, [r1]
  201.     str r1, [sp]
  202.     mov r1, #0x13
  203.     str r1, [sp, #0x4]
  204.     mov r1, #0x0
  205.     mov r3, #0x0
  206.     bl  FillWindowRect_DefaultPalette
  207.     ldr r1, .L651+0xc
  208.     ldr r0, [r1]
  209.     add r0, r0, #0xc8
  210.     ldr r2, [sp, #0x7c]
  211.     sub r1, r2, r7
  212.     lsl r1, r1, #0x18
  213.     lsr r1, r1, #0x18
  214.     ldr r3, .L651+0x14
  215.     mov r2, #0xf
  216.     str r2, [sp]
  217.     mov r2, #0x11
  218.     str r2, [sp, #0x4]
  219.     mov r5, r9
  220.     str r5, [sp, #0x8]
  221.     mov r2, #0x0
  222.     bl  sub_804A96C
  223.     ldr r0, [sp, #0x6c]
  224.     cmp r0, #0
  225.     beq .LCB5578
  226.     b   .L633   @long jump
  227. .LCB5578:
  228.     bl  sub_804A80C
  229.     b   .L633
  230. .L652:
  231.     .align  2, 0
  232. .L651:
  233.     .word   gSprites
  234.     .word   gTradeMonSpriteCoords
  235.     .word   sub_809D62C
  236.     .word   gUnknown_03004824
  237.     .word   gUnknown_0820C330
  238.     .word   gTradePartyBoxTilemap
  239. .L641:
  240.     ldr r2, .L653
  241.     ldr r1, [sp, #0x6c]
  242.     lsl r0, r1, #0x1
  243.     add r0, r0, r1
  244.     lsl r0, r0, #0x1
  245.     ldr r1, [sp, #0x70]
  246.     add r0, r1, r0
  247.     add r1, r5, #0
  248.     add r1, r1, #0x34
  249.     add r1, r1, r0
  250.     ldrb    r1, [r1]
  251.     lsl r0, r1, #0x4
  252.     add r0, r0, r1
  253.     lsl r0, r0, #0x2
  254.     add r2, r2, #0x1c
  255.     add r0, r0, r2
  256.     ldr r1, [r0]
  257.     ldr r0, .L653+0x4
  258.     cmp r1, r0
  259.     beq .LCB5614
  260.     b   .L633   @long jump
  261. .LCB5614:
  262.     mov r0, #0x3
  263.     strb    r0, [r3]
  264.     b   .L633
  265. .L654:
  266.     .align  2, 0
  267. .L653:
  268.     .word   gSprites
  269.     .word   sub_809D62C
  270. .L643:
  271.     add r0, r5, #0
  272.     add r0, r0, #0xc8
  273.     ldr r2, [sp, #0x6c]
  274.     lsl r1, r2, #0x4
  275.     sub r1, r1, r2
  276.     lsl r1, r1, #0x18
  277.     lsr r1, r1, #0x18
  278.     ldr r3, .L655
  279.     mov r2, #0xf
  280.     str r2, [sp]
  281.     mov r5, #0x11
  282.     str r5, [sp, #0x4]
  283.     mov r2, #0x0
  284.     mov r8, r2
  285.     str r2, [sp, #0x8]
  286.     bl  sub_804A96C
  287.     ldr r3, .L655+0x4
  288.     mov ip, r3
  289.     ldr r5, .L655+0x8
  290.     ldr r3, [r5]
  291.     ldr r0, [sp, #0x6c]
  292.     lsl r0, r0, #0x1
  293.     mov r9, r0
  294.     ldr r1, [sp, #0x6c]
  295.     add r1, r1, r9
  296.     str r1, [sp, #0x74]
  297.     lsl r1, r1, #0x1
  298.     ldr r2, [sp, #0x70]
  299.     add r1, r2, r1
  300.     add r3, r3, #0x34
  301.     add r3, r3, r1
  302.     ldrb    r0, [r3]
  303.     lsl r2, r0, #0x4
  304.     add r2, r2, r0
  305.     lsl r2, r2, #0x2
  306.     add r2, r2, ip
  307.     ldr r4, .L655+0xc
  308.     lsl r5, r1, #0x1
  309.     add r0, r5, r4
  310.     ldrb    r0, [r0]
  311.     add r1, r1, #0x1
  312.     lsl r1, r1, #0x1
  313.     add r1, r1, r4
  314.     ldrb    r1, [r1]
  315.     add r0, r0, r1
  316.     asr r0, r0, #0x1
  317.     lsl r0, r0, #0x3
  318.     add r0, r0, #0xe
  319.     strh    r0, [r2, #0x20]
  320.     ldrb    r0, [r3]
  321.     lsl r1, r0, #0x4
  322.     add r1, r1, r0
  323.     lsl r1, r1, #0x2
  324.     add r1, r1, ip
  325.     add r4, r4, #0x1
  326.     add r5, r5, r4
  327.     ldrb    r0, [r5]
  328.     lsl r0, r0, #0x3
  329.     sub r0, r0, #0xc
  330.     strh    r0, [r1, #0x22]
  331.     ldrb    r1, [r3]
  332.     lsl r0, r1, #0x4
  333.     add r0, r0, r1
  334.     lsl r0, r0, #0x2
  335.     add r0, r0, ip
  336.     mov r5, r8
  337.     strh    r5, [r0, #0x24]
  338.     ldrb    r1, [r3]
  339.     lsl r0, r1, #0x4
  340.     add r0, r0, r1
  341.     lsl r0, r0, #0x2
  342.     add r0, r0, ip
  343.     strh    r5, [r0, #0x26]
  344.     mov r0, sp
  345.     add r0, r0, #0x12
  346.     ldr r1, [sp, #0x6c]
  347.     ldr r2, [sp, #0x70]
  348.     bl  sub_804A2B4
  349.     add r1, sp, #0xc
  350.     mov r3, #0xfc
  351.     strb    r3, [r1]
  352.     add r2, r1, #0
  353.     mov r1, #0x6
  354.     strb    r1, [r2, #0x1]
  355.     mov r1, #0x4
  356.     strb    r1, [r2, #0x2]
  357.     add r1, r2, #0
  358.     strb    r3, [r1, #0x3]
  359.     mov r2, #0x11
  360.     strb    r2, [r1, #0x4]
  361.     add r2, r1, #0
  362.     lsl r0, r0, #0x18
  363.     asr r0, r0, #0x18
  364.     mov r1, #0x40
  365.     sub r1, r1, r0
  366.     lsr r0, r1, #0x1f
  367.     add r1, r1, r0
  368.     asr r1, r1, #0x1
  369.     strb    r1, [r2, #0x5]
  370.     ldr r3, .L655+0x8
  371.     ldr r1, [r3]
  372.     add r0, r1, #0x4
  373.     add r1, r1, #0x7a
  374.     ldrb    r2, [r1]
  375.     ldr r5, [sp, #0x74]
  376.     lsl r5, r5, #0x6
  377.     str r5, [sp, #0x78]
  378.     add r2, r2, r5
  379.     ldr r4, .L655+0x10
  380.     mov r3, r9
  381.     add r1, r3, r4
  382.     ldrb    r3, [r1]
  383.     add r5, r4, #0x1
  384.     mov sl, r5
  385.     add r9, r9, sl
  386.     mov r5, r9
  387.     ldrb    r1, [r5]
  388.     str r1, [sp]
  389.     add r1, sp, #0xc
  390.     bl  sub_8003460
  391.     add r0, sp, #0x34
  392.     mov r8, r0
  393.     ldr r1, [sp, #0x6c]
  394.     ldr r2, [sp, #0x70]
  395.     bl  sub_804A33C
  396.     ldr r1, .L655+0x8
  397.     ldr r2, [r1]
  398.     add r0, r2, #0x4
  399.     ldr r1, .L655+0x14
  400.     add r2, r2, #0x7a
  401.     ldrb    r2, [r2]
  402.     ldr r3, [sp, #0x78]
  403.     add r2, r2, r3
  404.     add r2, r2, #0x20
  405.     ldr r3, [sp, #0x6c]
  406.     add r3, r3, #0x1
  407.     lsl r3, r3, #0x1
  408.     add r4, r3, r4
  409.     ldrb    r5, [r4]
  410.     add r3, r3, sl
  411.     ldrb    r4, [r3]
  412.     add r4, r4, #0x1
  413.     lsl r4, r4, #0x18
  414.     lsr r4, r4, #0x18
  415.     str r4, [sp]
  416.     add r3, r5, #0
  417.     bl  sub_8003460
  418.     ldr r0, .L655+0x8
  419.     ldr r1, [r0]
  420.     add r0, r1, #0x4
  421.     add r1, r1, #0x7a
  422.     ldrb    r2, [r1]
  423.     ldr r1, [sp, #0x78]
  424.     add r2, r2, r1
  425.     add r2, r2, #0x26
  426.     str r4, [sp]
  427.     mov r1, r8
  428.     add r3, r5, #0
  429.     bl  sub_8003460
  430.     ldr r2, .L655+0x8
  431.     ldr r1, [r2]
  432.     b   .L648
  433. .L656:
  434.     .align  2, 0
  435. .L655:
  436.     .word   gTradePartyBoxTilemap
  437.     .word   gSprites
  438.     .word   gUnknown_03004824
  439.     .word   gTradeMonSpriteCoords
  440.     .word   gUnknown_0820C334
  441.     .word   gOtherText_Terminator2
  442. .L644:
  443.     ldr r0, .L657
  444.     ldr r0, [r0, #0x14]
  445.     add r1, r5, #0
  446.     add r1, r1, #0x7e
  447.     ldrh    r1, [r1]
  448.     lsl r1, r1, #0x5
  449.     ldr r3, .L657+0x4
  450.     add r1, r1, r3
  451.     mov r2, #0x14
  452.     bl  sub_804ACD8
  453.     ldr r0, .L657+0x8
  454.     lsl r1, r7, #0x1
  455.     add r4, r1, r0
  456.     ldrb    r2, [r4]
  457.     add r2, r2, #0x4
  458.     lsl r2, r2, #0x18
  459.     lsr r2, r2, #0x18
  460.     add r0, r0, #0x1
  461.     add r1, r1, r0
  462.     ldrb    r3, [r1]
  463.     add r3, r3, #0x1
  464.     lsl r3, r3, #0x18
  465.     lsr r3, r3, #0x18
  466.     ldrb    r0, [r4]
  467.     str r0, [sp]
  468.     ldrb    r0, [r1]
  469.     str r0, [sp, #0x4]
  470.     add r0, r7, #0
  471.     ldr r1, [sp, #0x70]
  472.     bl  sub_804A51C
  473.     ldr r5, .L657+0xc
  474.     ldr r1, [r5]
  475. .L648:
  476.     add r1, r1, #0x80
  477.     add r1, r1, r7
  478.     ldrb    r0, [r1]
  479.     add r0, r0, #0x1
  480.     strb    r0, [r1]
  481. .L633:
  482.     add sp, sp, #0x80
  483.     pop {r3, r4, r5}
  484.     mov r8, r3
  485.     mov r9, r4
  486.     mov sl, r5
  487.     pop {r4, r5, r6, r7}
  488.     pop {r0}
  489.     bx  r0
  490. .L658:
  491.     .align  2, 0
  492. .L657:
  493.     .word   gUnknown_0820C14C
  494.     .word   0x6010000
  495.     .word   gUnknown_0820C3D1
  496.     .word   gUnknown_03004824
  497. .Lfe42:
  498.     .size    sub_8049ED4,.Lfe42-sub_8049ED4
  499.     .align  2, 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement