Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 80045780
- S2 = S0[25D2] # 2
- if S0[25D0]:
- v = call 80056AD0(S0+25A0, 0, 0)
- if v>= 0:
- if not @S0+25C4:
- S0[2598:259A] = S0[159C:159E]
- S0[259A:259C] = S0[159E:15A0]
- S0+259C = @S0+15A0 & 0xFFFFFF
- S0+25BC = 0x60
- S0+25C4 |= 0x400
- S0[259C:259E] = min(0, S0[259C:259E] - 0x100)
- S0[25D0] = 0
- # 80045820: S3 = 1
- if not S0[25D0] and S0[25D1] in (1, 2, 3):
- v = @S0+25C4 - @S0+25C0
- if v < 0xC01:
- v = 0x400
- if @S0+25C4 and @S0+259C < 0x101:
- v = @S0+259C << 2
- if v > 0:
- offset = @S0+25C4 & 0xFF8
- S0[25D0] = 1 # S3
- call @S0+190(@S0+194 + @S0+25C4, S0+1598+offset, v, S0+25A0)
- # 800458BC: S3 = 1
- S1 = @S0+25CC
- v = @S0+25CC - @S0+25C8
- if v < 0x960:
- if S0[25D1] == 1 or S0[2598:259A] > 0:
- if abs(@S0+25C4 - @S0+25C0) >= 0x25:
- # 8004590C
- while S2 > 0:
- v = S1 // 0xA00
- v >>= 2
- offset <<= 3
- call 80045FF0(S0, S0+198+offset)
- S0+25CC += 0xA0
- S0+25C0 = (@S0+25BC >> 3) & ~3
- S0[2598:259A] -= 1
- S1 = @S0+25CC
- S2 -= 1
- v = @S0+25CC - @S0+25C8
- if not v < 0x960:
- break
- if S0[25D1] != 1: # S3
- if S0[2598:259A] <= 0:
- break
- # 80045988
- if (@S0+25C4 - @S0+25C0) < 0x25:
- break
- # 800459A8
- if S0[25D1] == 1: # S3
- if not v:
- S0[25D1] = 2
- return
- 800459E0
- 80045A80
- accepts: A0=p->object, A1, A2, A3=p->target
- v = (A1[0:2] - 0x20) << 10
- v *= 0x3333
- offset = S0[188:18A] << 4
- v += 0x4000
- S0+168+offset[0:2] = (v >> 0xF) << 1
- # 80045AD4
- v = (A1[2:4] - 0x20) << 10
- v *= 0x3333
- v += 0x4000
- S0+168+offset[2:4] = (v >> 0xF) << 1
- # 80045AF8
- v = (A1[4:6] - 0x10) << 10
- v *= 0x3333
- v += -0x332F000 # FCCD1000
- S0+168+offset[4:6] = (v >> 0xF) << 1
- # 80045B1C
- v = (A1[6:8] - 0x10) << 10
- v *= 0x3333
- v += 0x4003C00
- S0+168+offset[6:8] = (v >> 0xF) << 1
- # 80045B48
- v = (A1[8:A] - 8) << 10
- v *= 0x4B17
- v += -0x36E4E4 # FFC91B1C
- S0+168+offset[8:A] = (v >> 0xF) << 1
- # 80045B78
- v = (A1[A:C] - 8) << 10
- v *= 0x4444
- v += 0x3BBF800
- S0+168+offset[A:C] = (v >> 0xF) << 1
- # 80045BB8
- v = (A1[C:E] - 4) << 10
- v *= 0x7ADE
- v += 0x147936C
- S0+168+offset[C:E] = (v >> 0xF) << 1
- # 80045C00
- v = (A1[E:10] - 4) << 10
- v *= 0x740C
- v += 0x40D6B40
- S0+168+offset[E:10] = (v >> 0xF) << 1
- call 80048904(S0, A2, A3)
- S0[188:18A] ^= 1
- 80045C78
- accepts: A0=p->object, A1, A2, A3, SP+10, SP+14, SP+18, SP+1C=p->target
- for i in range(4):
- # buf = SP+44
- call 80048590(SP+14[0:2], SP+10[0:2], SP+18, buf)
- call 80048684(A2[0:2], A3[0:2], buf)
- A2 += 2
- A3 += 2
- SP+10 += 2
- SP+14 += 2
- SP+18 += 0x1A
- # 80045D10
- call 80045A80(A0, A1, A0, SP+1C)
- 80045D60
- 80045FF0 mutates the contents of that table
- accepts: A0=p->object, A1=p->target
- S0 = p->object
- entry = @S0+25BC
- offset = (entry >> 5) << 2 # upper ten bits
- bitlen = 32 - (entry & 0x1F)
- v = @S0+1598+offset
- v >>= bitlen
- if not S0[18A:18C] and not S0[18C:18E]:
- if bitlen < 2:
- entry += 32
- mask = (1 << bitlen) - 1
- o = (entry >> 5) << 2
- value = v & mask
- v = @S0+1598+o
- if bitlen != 1: # A0
- mask = (1 << (1 - bitlen)) - 1
- value |= (v & mask) << bitlen
- v >>= 1 - bitlen # A0
- bitlen += 0x1F
- else:
- value = v & 1
- v >>= 1
- bitlen -= 1
- # 800460B0
- if value:
- if bitlen < 5:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) << 2
- S0[18C:18E] = v & mask
- v = @S0+1598+o
- if bitlen != 4: # A1
- mask = (1 << (4 - bitlen)) - 1
- S0[18C:18A] |= (v & mask) << bitlen
- v >>= 4 - bitlen # A1
- bitlen += 0x1C
- else:
- S0[18C:18E] = v & 0xF
- v >>= 4
- bitlen -= 4
- # 8004613C
- S0[18C:18A] += 1
- else:
- # 8004614C
- if bitlen < 8:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) << 2
- S0[18A:18C] = v & mask
- v = @S0+1598+o
- if bitlen != 7: # A1
- mask = (1 << (7 - bitlen)) - 1
- S0[18A:18C] |= (v & mask) << bitlen
- v >>= 7 - bitlen # A1
- bitlen += 0x19
- else:
- S0[18A:18C] = v & 0x7F
- v >>= 7
- bitlen -= 7
- # 800461C8
- S0[18A:18C] += 1
- # 800461D4
- if S0[18C:18E]:
- call 80057FD0(A1, 0x140) # initialize A1 bytes at A0
- S0[18C:18E] -= 1
- else:
- A2 = SP+E0
- if bitlen < 7:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- SP+E8[0:2] = v & mask
- v = @S0+1598+o
- if bitlen != 6: # A1
- mask = (1 << (6 - bitlen)) - 1
- SP+E8[0:2] |= (v & mask) << bitlen
- v >>= 6 - bitlen # A1
- bitlen += 0x1A
- else:
- SP+E8[0:2] = v & 0x3F
- v >>= 7
- bitlen -= 7
- # 80046298
- A3 = SP+D0
- if bitlen < 7:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- SP+E8[2:4] = v & mask
- v = @S0+1598+o
- if bitlen != 6: # A1
- mask = (1 << (6 - bitlen)) - 1
- SP+E8[2:4] |= (v & mask) << bitlen
- v >>= 6 - bitlen # A1
- bitlen += 0x1A
- else:
- SP+E8[2:4] = v & 0x3F
- v >>= 7
- bitlen -= 7
- # 80046318
- T1 = SP+D8
- if bitlen < 6:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- SP+E8[4:6] = v & mask
- v = @S0+1598+o
- if bitlen != 5: # A1
- mask = (1 << (5 - bitlen)) - 1
- SP+E8[4:6] |= (v & mask) << bitlen
- v >>= 5 - bitlen # A1
- bitlen += 0x1B
- else:
- SP+E8[4:6] = v & 0x1F
- v >>= 5
- bitlen -= 5
- # 800463A0
- T2 = SP+C8
- if bitlen < 6:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- SP+E8[6:8] = v & mask
- v = @S0+1598+o
- if bitlen != 5: # A1
- mask = (1 << (5 - bitlen)) - 1
- SP+E8[6:8] |= (v & mask) << bitlen
- v >>= 5 - bitlen # A1
- bitlen += 0x1B
- else:
- SP+E8[6:8] = v & 0x1F
- v >>= 5
- bitlen -= 5
- # 80046420
- A0 = SP+60
- if bitlen < 5:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- SP+E8[8:A] = v & mask
- v = @S0+1598+o
- if bitlen != 4: # A1
- mask = (1 << (4 - bitlen)) - 1
- SP+E8[8:A] |= (v & mask) << bitlen
- v >>= 4 - bitlen # A1
- bitlen += 0x1C
- else:
- SP+E8[8:A] = v & 0xF
- v >>= 4
- bitlen -= 4
- # 800464A0
- RA = SP+C8
- if bitlen < 5:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- SP+E8[A:C] = v & mask
- v = @S0+1598+o
- if bitlen != 4: # A1
- mask = (1 << (4 - bitlen)) - 1
- SP+E8[A:C] |= (v & mask) << bitlen
- v >>= 4 - bitlen # A1
- bitlen += 0x1C
- else:
- SP+E8[A:C] = v & 0xF
- v >>= 4
- bitlen -= 4
- # 80046520
- T3 = 2
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- SP+E8[C:E] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- SP+E8[C:E] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x1D
- else:
- SP+E8[C:E] = v & 0x7
- v >>= 3
- bitlen -= 3
- # 800465A8
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- SP+E8[E:10] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- SP+E8[E:10] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x1D
- else:
- SP+E8[E:10] = v & 0x7
- v >>= 3
- bitlen -= 3
- while A0 < RA:
- # 80046624
- if bitlen < 8:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A2[0:2] = v & mask
- v = @S0+1598+o
- if bitlen != 7: # A1
- mask = (1 << (7 - bitlen)) - 1
- A2[0:2] |= (v & mask) << bitlen
- v >>= 7 - bitlen # A1
- bitlen += 0x19
- else:
- A2[0:2] = v & 0x7F
- v >>= 7
- bitlen -= 7
- # 800466A0
- A2 += 2
- if bitlen < 3:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A3[0:2] = v & mask
- v = @S0+1598+o
- if bitlen != 2: # A1
- mask = (1 << (2 - bitlen)) - 1
- A3[0:2] |= (v & mask) << bitlen
- v >>= 2 - bitlen # A1
- bitlen += 0x1E
- else:
- A3[0:2] = v & 3
- v >>= 2
- bitlen -= 2
- # 80046720
- A3 += 2
- if bitlen < 3:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- T1[0:2] = v & mask
- v = @S0+1598+o
- if bitlen != 2: # A1
- mask = (1 << (2 - bitlen)) - 1
- T1[0:2] |= (v & mask) << bitlen
- v >>= 2 - bitlen # A1
- bitlen += 0x1E
- else:
- T1[0:2] = v & 3
- v >>= 2
- bitlen -= 2
- # 800467A0
- if bitlen < 7:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- T2[0:2] = v & mask
- v = @S0+1598+o
- if bitlen != 6: # A1
- mask = (1 << (6 - bitlen)) - 1
- T2[0:2] |= (v & mask) << bitlen
- v >>= 6 - bitlen # A1
- bitlen += 0x19
- else:
- T2[0:2] = v & 0x3F
- v >>= 6
- bitlen -= 6
- # 80046820
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[0:2] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[0:2] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[0:2] = v & 7
- v >>= 3
- bitlen -= 3
- # 8004689C
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[2:4] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[2:4] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[2:4] = v & 7
- v >>= 3
- bitlen -= 3
- # 80046918
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[4:6] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[4:6] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[4:6] = v & 7
- v >>= 3
- bitlen -= 3
- # 80046994
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[6:8] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[6:8] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[6:8] = v & 7
- v >>= 3
- bitlen -= 3
- # 80046A10
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[8:A] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[8:A] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[8:A] = v & 7
- v >>= 3
- bitlen -= 3
- # 80046A8C
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[A:C] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[A:C] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[A:C] = v & 7
- v >>= 3
- bitlen -= 3
- # 80046B08
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[C:E] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[C:E] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[C:E] = v & 7
- v >>= 3
- bitlen -= 3
- # 80046B84
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[E:10] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[E:10] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[E:10] = v & 7
- v >>= 3
- bitlen -= 3
- # 80046C00
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[10:12] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[10:12] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[10:12] = v & 7
- v >>= 3
- bitlen -= 3
- # 80046C7C
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[12:14] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[12:14] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[12:14] = v & 7
- v >>= 3
- bitlen -= 3
- # 80046CF8
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[14:16] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[14:16] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[14:16] = v & 7
- v >>= 3
- bitlen -= 3
- # 80046D74
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[16:18] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[16:18] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[16:18] = v & 7
- v >>= 3
- bitlen -= 3
- # 80046DF0
- if bitlen < 4:
- mask = (1 << bitlen) - 1
- entry += 32
- o = (entry >> 5) & 0x3FF
- o <<= 2
- A0[18:1A] = v & mask
- v = @S0+1598+o
- if bitlen != 3: # A1
- mask = (1 << (3 - bitlen)) - 1
- A0[18:1A] |= (v & mask) << bitlen
- v >>= 3 - bitlen # A1
- bitlen += 0x19
- else:
- A0[18:1A] = v & 7
- v >>= 3
- bitlen -= 3
- # 80046E6C
- A0 += 0x1A
- T2 += 2
- # 80046E78
- S0+18A -= 1
- call 80045C78(S0, SP+E8, SP+E0, SP+D0, SP+D8, SP+C8, SP+60, @SP+FC)
- # 80046EC8: update entry for new position + length
- entry &= ~0x1F
- S0+25BC = entry + 32 - bitlength
- 80046EF0
- 80048740 child function of 80048904
- accepts: T1=p->in, T0=p->out, T3=count
- # A3,T6,T7,T8,T9 are all multipliers rolled over from parent.
- for i in range(T3):
- m = (T9 << 16) >> 16
- t = T1[0:2]
- T1 += 2
- v = (S7 * m + 0x4000) >> 0xF
- t -= v
- m = T9 >> 16
- v = (S6 * m + 0x4000) >> 0xF
- t -= v
- v = (t * m + 0x4000) >> 0xF
- S7 = S6 + v
- m = (T8 << 16) >> 16
- v = (S5 * m + 0x4000) >> 0xF
- t -= v
- v = (t * m + 0x4000) >> 0xF
- S6 = S5 + v
- m = T8 >> 16
- v = (S6 * m + 0x4000) >> 0xF
- t -= v
- v = (t * m + 0x4000) >> 0xF
- S5 = S4 + v
- m = (T7 << 16) >> 16
- v = (S3 * m + 0x4000) >> 0xF
- t -= v
- v = (t * m + 0x4000) >> 0xF
- S4 = S3 + v
- m = T7 >> 16
- v = (S2 * m + 0x4000) >> 0xF
- t -= v
- v = (t * m + 0x4000) >> 0xF
- S3 = S2 + v
- m = (T6 << 16) >> 16
- v = (S1 * m + 0x4000) >> 0xF
- t -= v
- v = (t * m + 0x4000) >> 0xF
- S2 = S1 + v
- m = T6 >> 16
- v = (S0 * m + 0x4000) >> 0xF
- t -= v
- v = (t * m + 0x4000) >> 0xF
- S1 = S0 + v
- # 800488A4
- S0 = t
- v = (A3 * 0x6E14 + 0x4000) >> 0xF
- t -= v
- A3 = t
- t <<= 1
- v = (t >> 0xF) + 1
- v >>= 1
- if v > 0:
- t = 0x7FFF
- elif v < 1:
- t = -0x8000
- t &= ~7
- T0[0:2] = t
- T0 += 2
- 80048904
- accepts: A0=p->object, A1=p->input, A2=p->target
- S0, S1, S2, S3, S4, S5, S6, S7 = A0[140:160:4]
- A3 = A0[164:166]
- func = 80048AFC
- call 80048A58() # generate multipliers
- call 80048740(T1=A1+0, T0=A2+0, T3=0xC)
- func = 80048B14
- call 80048A58() # generate multipliers
- call 80048740(T1=A1+1A, T0=A2+1A, T3=0xD)
- func = 80048B24
- call 80048A58() # generate multipliers
- call 80048740(T1=A1+36, T0=A2+36, T3=0xC)
- func = 80048B3C
- call 80048A58() # generate multipliers
- call 80048740(T1=A1+50, T0=A2+50, T3=0x77)
- A0[140:160:4] = S0, S1, S2, S3, S4, S5, S6, S7
- A0[164:166] = A3
- 80048A58 child function of 80048904, setting multipliers
- T0, T1 = (A0+178, A0+168) if A0[188:18A] else (A0+168, A0+178)
- call func(T2=T0[0:2], T4=T1[0:2])
- T6 = T2 << 16
- call func(T2=T0[2:4], T4=T1[2:4])
- T6 |= T2
- call func(T2=T0[4:6], T4=T1[4:6])
- T7 = T2 << 16
- call func(T2=T0[6:8], T4=T1[6:8])
- T7 |= T2
- call func(T2=T0[8:A], T4=T1[8:A])
- T8 = T2 << 16
- call func(T2=T0[8:A], T4=T1[8:A])
- T8 |= T2
- call func(T2=T0[A:C], T4=T1[A:C])
- T9 = T2 << 16
- call func(T2=T0[A:C], T4=T1[A:C])
- T9 |= T2
- 80048AFC function called by 80048A58
- T2 >>= 2
- T4 >>= 1
- T2 += T4
- T4 >>= 1
- T2 += T4
- call 80048B3C()
- 80048B14
- T2 >>= 1
- T4 >>= 1
- T2 += T4
- call 80048B3C()
- 80048B24
- T2 >>= 1
- T4 >>= 2
- T2 += T4
- T2 >>= 1
- T2 += T4
- call 80048B3C()
- 80048B3C
- T4 = 0
- if T2 < 0:
- T2 = -T2
- T4 = 1
- v = T2 - 0x2B33
- if v >= 0:
- v = (T2 << 1) - 0x4E66
- if v >= 0:
- v = (T2 >> 2) + 0x6600
- else:
- v = T2 + 0x6600
- T2 = v if (v - 0x7FFF) > 0 else 0x7FFF
- if T4:
- T2 = -T2
- T2 &= 0xFFFF
- 80048B90
- 80057FD0 initialize A1 bytes at A0
- accepts: A0=p->target, A1=length
- 80058070 unconditional return
- 80058078 unconditional return
- 80058080
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement