View difference between Paste ID: 5XDhKVws and rkEMC1Fb
SHOW: | | - or go back to the newest paste.
1-
RAM_ARM9:0201AB44             @ =============== S U B R O U T I N E =======================================
1+
RAM_ARM9:0201B18C             @ =============== S U B R O U T I N E =======================================
2-
RAM_ARM9:0201AB44
2+
RAM_ARM9:0201B18C
3-
RAM_ARM9:0201AB44
3+
RAM_ARM9:0201B18C
4-
RAM_ARM9:0201AB44             @ unsigned int __fastcall getNextPartyPKMAdr__(void *pCurrent, int partyPos)
4+
RAM_ARM9:0201B18C             @ void __fastcall pokerusSpread__(void *pStruct)
5-
RAM_ARM9:0201AB44             getNextPartyPKMAdr__:                   @ CODE XREF: sub_2007C34+1Ap
5+
RAM_ARM9:0201B18C             pokerusSpread__:
6-
RAM_ARM9:0201AB44                                                     @ sub_200B2A4+1Cp ...
6+
RAM_ARM9:0201B18C
7-
RAM_ARM9:0201AB44 DC 22                       MOVS    R2, #0xDC @ '_' @ 220, size of pkm
7+
RAM_ARM9:0201B18C             var_20          = -0x20
8-
RAM_ARM9:0201AB46 08 30                       ADDS    R0, #8          @  r0 += 8
8+
RAM_ARM9:0201B18C             var_1C          = -0x1C
9-
RAM_ARM9:0201AB48 4A 43                       MULS    R2, R1          @ pkm # * 220 to give position
9+
RAM_ARM9:0201B18C
10-
RAM_ARM9:0201AB4A 80 18                       ADDS    R0, R0, R2      @ add r2 to current pos to get new pkm
10+
RAM_ARM9:0201B18C F8 B5                       PUSH    {R3-R7,LR}
11-
RAM_ARM9:0201AB4C 70 47                       BX      LR
11+
RAM_ARM9:0201B18E 82 B0                       SUB     SP, SP, #8
12-
RAM_ARM9:0201AB4C             @ End of function getNextPartyPKMAdr__
12+
RAM_ARM9:0201B190 05 1C                       MOVS    R5, R0
13
RAM_ARM9:0201B192 FF F7 4F FC                 BL      dereferencePointer4__
14
RAM_ARM9:0201B196 00 90                       STR     R0, [SP]
15
RAM_ARM9:0201B198 23 F0 92 EF                 BLX     reseedMTTable__
16
RAM_ARM9:0201B19C 00 21                       MOVS    R1, #0
17
RAM_ARM9:0201B19E 03 22                       MOVS    R2, #3          @ num2
18
RAM_ARM9:0201B1A0 00 23                       MOVS    R3, #0
19
RAM_ARM9:0201B1A2 00 24                       MOVS    R4, #0
20
RAM_ARM9:0201B1A4 80 F0 62 EF                 BLX     mul64Unsigned__
21
RAM_ARM9:0201B1A8 00 29                       CMP     R1, #0          @ Spread check
22
RAM_ARM9:0201B1AA 45 D1                       BNE     bank4
23
RAM_ARM9:0201B1AC 00 98                       LDR     R0, [SP]
24
RAM_ARM9:0201B1AE 00 28                       CMP     R0, #0
25
RAM_ARM9:0201B1B0 42 DD                       BLE     bank4
26
RAM_ARM9:0201B1B2 40 1E                       SUBS    R0, R0, #1
27
RAM_ARM9:0201B1B4 01 90                       STR     R0, [SP,#4]
28
RAM_ARM9:0201B1B6
29
RAM_ARM9:0201B1B6             bank1:                                  @ CODE XREF: pokerusSpread__+AAj
30
RAM_ARM9:0201B1B6 28 1C                       MOVS    R0, R5          @ pCurrent
31
RAM_ARM9:0201B1B8 21 1C                       MOVS    R1, R4          @ partyPos
32
RAM_ARM9:0201B1BA FF F7 C3 FC                 BL      getNextPartyPKMAdr__
33
RAM_ARM9:0201B1BE 05 21                       MOVS    R1, #5          @ size
34
RAM_ARM9:0201B1C0 00 22                       MOVS    R2, #0          @ c
35
RAM_ARM9:0201B1C2 06 1C                       MOVS    R6, R0
36
RAM_ARM9:0201B1C4 FC F7 38 FE                 BL      getPKMStat__
37
RAM_ARM9:0201B1C8 00 28                       CMP     R0, #0
38
RAM_ARM9:0201B1CA 31 D0                       BEQ     bank3
39
RAM_ARM9:0201B1CC 30 1C                       MOVS    R0, R6          @ pBlock
40
RAM_ARM9:0201B1CE 97 21                       MOVS    R1, #0x97 @ 'ù' @ size
41
RAM_ARM9:0201B1D0 00 22                       MOVS    R2, #0          @ c
42
RAM_ARM9:0201B1D2 FC F7 31 FE                 BL      getPKMStat__
43
RAM_ARM9:0201B1D6 00 06                       LSLS    R0, R0, #0x18
44
RAM_ARM9:0201B1D8 06 0E                       LSRS    R6, R0, #0x18
45
RAM_ARM9:0201B1DA 0F 20                       MOVS    R0, #0xF
46
RAM_ARM9:0201B1DC 30 42                       TST     R0, R6
47
RAM_ARM9:0201B1DE 27 D0                       BEQ     bank3
48
RAM_ARM9:0201B1E0 00 2C                       CMP     R4, #0
49
RAM_ARM9:0201B1E2 10 D0                       BEQ     bank2
50
RAM_ARM9:0201B1E4 28 1C                       MOVS    R0, R5          @ pCurrent
51
RAM_ARM9:0201B1E6 61 1E                       SUBS    R1, R4, #1      @ partyPos
52
RAM_ARM9:0201B1E8 FF F7 AC FC                 BL      getNextPartyPKMAdr__
53
RAM_ARM9:0201B1EC 97 21                       MOVS    R1, #0x97 @ 'ù' @ size
54
RAM_ARM9:0201B1EE 00 22                       MOVS    R2, #0          @ c
55
RAM_ARM9:0201B1F0 07 1C                       MOVS    R7, R0
56
RAM_ARM9:0201B1F2 FC F7 21 FE                 BL      getPKMStat__
57
RAM_ARM9:0201B1F6 F0 21                       MOVS    R1, #0xF0 @ '='
58
RAM_ARM9:0201B1F8 08 42                       TST     R0, R1
59
RAM_ARM9:0201B1FA 04 D1                       BNE     bank2
60
RAM_ARM9:0201B1FC 38 1C                       MOVS    R0, R7          @ pBlock
61
RAM_ARM9:0201B1FE 97 21                       MOVS    R1, #0x97 @ 'ù' @ size
62
RAM_ARM9:0201B200 32 1C                       MOVS    R2, R6          @ c
63
RAM_ARM9:0201B202 FC F7 2B FE                 BL      setPKMStat__
64
RAM_ARM9:0201B206
65
RAM_ARM9:0201B206             bank2:                                  @ CODE XREF: pokerusSpread__+56j
66
RAM_ARM9:0201B206                                                     @ pokerusSpread__+6Ej
67
RAM_ARM9:0201B206 01 98                       LDR     R0, [SP,#4]
68
RAM_ARM9:0201B208 84 42                       CMP     R4, R0
69
RAM_ARM9:0201B20A 11 DA                       BGE     bank3
70
RAM_ARM9:0201B20C 28 1C                       MOVS    R0, R5          @ pCurrent
71
RAM_ARM9:0201B20E 61 1C                       ADDS    R1, R4, #1      @ partyPos
72
RAM_ARM9:0201B210 FF F7 98 FC                 BL      getNextPartyPKMAdr__
73
RAM_ARM9:0201B214 97 21                       MOVS    R1, #0x97 @ 'ù' @ size
74
RAM_ARM9:0201B216 00 22                       MOVS    R2, #0          @ c
75
RAM_ARM9:0201B218 07 1C                       MOVS    R7, R0
76
RAM_ARM9:0201B21A FC F7 0D FE                 BL      getPKMStat__
77
RAM_ARM9:0201B21E F0 21                       MOVS    R1, #0xF0 @ '='
78
RAM_ARM9:0201B220 08 42                       TST     R0, R1
79
RAM_ARM9:0201B222 05 D1                       BNE     bank3
80
RAM_ARM9:0201B224 38 1C                       MOVS    R0, R7          @ pBlock
81
RAM_ARM9:0201B226 97 21                       MOVS    R1, #0x97 @ 'ù' @ size
82
RAM_ARM9:0201B228 32 1C                       MOVS    R2, R6          @ c
83
RAM_ARM9:0201B22A FC F7 17 FE                 BL      setPKMStat__
84
RAM_ARM9:0201B22E 64 1C                       ADDS    R4, R4, #1
85
RAM_ARM9:0201B230
86
RAM_ARM9:0201B230             bank3:                                  @ CODE XREF: pokerusSpread__+3Ej
87
RAM_ARM9:0201B230                                                     @ pokerusSpread__+52j ...
88
RAM_ARM9:0201B230 00 98                       LDR     R0, [SP]
89
RAM_ARM9:0201B232 64 1C                       ADDS    R4, R4, #1
90
RAM_ARM9:0201B234 84 42                       CMP     R4, R0
91
RAM_ARM9:0201B236 BE DB                       BLT     bank1
92
RAM_ARM9:0201B238
93
RAM_ARM9:0201B238             bank4:                                  @ CODE XREF: pokerusSpread__+1Ej
94
RAM_ARM9:0201B238                                                     @ pokerusSpread__+24j
95
RAM_ARM9:0201B238 02 B0                       ADD     SP, SP, #8
96
RAM_ARM9:0201B23A F8 BD                       POP     {R3-R7,PC}
97
RAM_ARM9:0201B23A             @ End of function pokerusSpread__
98
RAM_ARM9:0201B23A
99
RAM_ARM9:0201B23C
100
RAM_ARM9:0201B23C