; ALL_TYPES=jak2=c:\Users\xtvas\Repositories\opengoal\jak-project\decompiler\config\jak2\all-types.gc ;------------------------------------------ ; top-level segment ;------------------------------------------ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (top-level-login ash) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x10, fp? 1 ra? 1 ep? 1 ;; Warnings: ;; WARN: Type Propagation failed: Failed type prop at op 7 ((set! a0 ashelin-anim-info)): Do not have the type of symbol ashelin-anim-info ;; WARN: Type Propagation failed: Type analysis failed ;; WARN: Decompiler type system did not know the type of symbol *ashelin-global-info*. Add it! ;; v1-0: type v1-1: none ;; v1-2: none v1-3: none ;; v1-4: none t9-0: (function symbol type int type) ;; t9-1: (function type int object none) t9-2: none ;; t9-3: none t9-4: none ;; t9-5: none t9-6: none ;; t9-7: none t9-8: none ;; t9-9: none t9-10: none ;; t9-11: none t9-12: none ;; t9-13: none t9-14: none ;; t9-15: none t9-16: none ;; t9-17: none t9-18: none ;; t9-19: none t9-20: none ;; t9-21: none t9-22: none ;; t9-23: none t9-24: none ;; t9-25: none t9-26: none ;; t9-27: none t9-28: none ;; t9-29: none t9-30: none ;; t9-31: none t9-32: none ;; t9-33: none t9-34: none ;; t9-35: none t9-36: none ;; t9-37: none t9-38: none ;; t9-39: none t9-40: none ;; t9-41: none t9-42: none ;; a0-0: symbol a0-4: none ;; a1-0: type a2-0: uint ;; a0-1: none a0-2: none ;; a0-3: none a0-5: none ;; a0-6: none a0-7: none ;; a0-8: none a0-9: none ;; a0-10: none a0-11: none ;; a0-12: none a0-13: none ;; a0-14: none a0-15: none ;; a0-16: none a0-17: none ;; a0-18: none a0-19: none ;; a0-20: none a0-21: none ;; a0-22: none a0-23: none ;; a0-24: none a0-25: none ;; a0-26: none a0-27: none ;; a0-28: none a0-29: none ;; a0-30: none a0-31: none ;; a0-32: none a0-33: none ;; a0-34: none a0-35: none ;; a0-36: none a0-37: none ;; a0-38: none a0-39: none ;; a0-40: none a0-41: none ;; a0-42: none a0-43: none ;; a1-1: none a1-2: none ;; a1-3: none a1-4: none ;; a1-5: none a1-6: none ;; a1-7: none a1-8: none ;; a1-9: none a1-10: none ;; a1-11: none a1-12: none ;; a1-13: none a1-14: none ;; a1-15: none a1-16: none ;; a1-17: none a1-18: none ;; a1-19: none a1-20: none ;; a1-21: none a1-22: none ;; a1-23: none a1-24: none ;; a1-25: none a1-26: none ;; a1-27: none a1-28: none ;; a1-29: none a1-30: none ;; a1-31: none a1-32: none ;; a1-33: none a1-34: none ;; a1-35: none a1-36: none ;; a1-37: none a1-38: none ;; a1-39: none a1-40: none ;; a1-41: none a1-42: none ;; a2-1: none a2-2: none ;; a2-3: none a2-4: none ;; a2-5: none a2-6: none ;; a2-7: none a2-8: none ;; a2-9: none a2-10: none ;; a2-11: none a2-12: none ;; a2-13: none a2-14: none ;; a2-15: none a2-16: none ;; a2-17: none a2-18: none ;; a2-19: none a2-20: none ;; a2-21: none a2-22: none ;; a2-23: none a2-24: none ;; a2-25: none a2-26: none ;; a2-27: none a2-28: none ;; a2-29: none a2-30: none ;; a2-31: none a2-32: none ;; a2-33: none a2-34: none ;; a2-35: none a2-36: none ;; a2-37: none a2-38: none ;; a2-39: none a2-40: none ;; a2-41: none a2-42: none ;; v0-0: type v0-1: none ;; v0-2: none v0-3: none ;; v0-4: none v0-5: none ;; v0-6: none v0-7: none ;; v0-8: none v0-9: none ;; v0-10: none v0-11: none ;; v0-12: none v0-13: none ;; v0-14: none v0-15: none ;; v0-16: none v0-17: none ;; v0-18: none v0-19: none ;; v0-20: none v0-21: none ;; v0-22: none v0-23: none ;; v0-24: none v0-25: none ;; v0-26: none v0-27: none ;; v0-28: none v0-29: none ;; v0-30: none v0-31: none ;; v0-32: none v0-33: none ;; v0-34: none v0-35: none ;; v0-36: none v0-37: none ;; v0-38: none v0-39: none ;; v0-40: none v0-41: none ;; v0-42: none daddiu sp, sp, -16 sd ra, 0(sp) sd fp, 8(sp) or fp, t9, r0 B0: lw v1, type(s7) ;; [ 0] (set! v1-0 type) [] -> [v1: ] lwu t9, 16(v1) ;; [ 1] (set! t9-0 (l.wu (+ v1-0 16))) ;; [v1: ] -> [t9: (function symbol type int type) ] daddiu a0, s7, ashelin-anim-info;; [ 2] (set! a0-0 'ashelin-anim-info) [] -> [a0: symbol ] lw a1, structure(s7) ;; [ 3] (set! a1-0 structure) [] -> [a1: ] ld a2, L238(fp) ;; [ 4] (set! a2-0 (l.d L238)) [] -> [a2: uint ] jalr ra, t9 ;; [ 5] (call! a0-0 a1-0 a2-0) ;; [a0: symbol a1: a2: uint t9: (function symbol type int type) ] -> [v0: type ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 6] (set! t9-1 method-set!) [] -> [t9: (function type int object none) ] lw a0, ashelin-anim-info(s7);; [ 7] (set! a0-1 ashelin-anim-info) [] -> [a0: ] addiu a1, r0, 3 ;; [ 8] (set! a1-1 3) [] -> [a1: ] lui v1, L227 ;; [ 9] (set! a2-1 L227) [] -> [a2: ] ori a2, v1, L227 jalr ra, t9 ;; [ 10] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw v1, type(s7) ;; [ 11] (set! v1-1 type) [] -> [v1: ] lwu t9, 16(v1) ;; [ 12] (set! t9-2 (l.wu (+ v1-1 16))) [v1: ] -> [t9: ] daddiu a0, s7, ashelin-global-info;; [ 13] (set! a0-2 'ashelin-global-info) [] -> [a0: ] lw a1, basic(s7) ;; [ 14] (set! a1-2 basic) [] -> [a1: ] ld a2, L237(fp) ;; [ 15] (set! a2-2 (l.d L237)) [] -> [a2: ] jalr ra, t9 ;; [ 16] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 17] (set! t9-3 method-set!) [] -> [t9: ] lw a0, ashelin-global-info(s7);; [ 18] (set! a0-3 ashelin-global-info) [] -> [a0: ] addiu a1, r0, 3 ;; [ 19] (set! a1-3 3) [] -> [a1: ] lui v1, L224 ;; [ 20] (set! a2-3 L224) [] -> [a2: ] ori a2, v1, L224 jalr ra, t9 ;; [ 21] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lui v1, L223 ;; [ 22] (set! v1-2 L223) [] -> [v1: ] ori v1, v1, L223 sw v1, *ashelin-global-info*(s7);; [ 23] (s.w! *ashelin-global-info* v1-2) [v1: ] -> [] lui v1, L221 ;; [ 24] (set! v1-3 L221) [] -> [v1: ] ori v1, v1, L221 sw v1, *ashelin-nav-enemy-info*(s7);; [ 25] (s.w! *ashelin-nav-enemy-info* v1-3) [v1: ] -> [] lw v1, *fact-info-enemy-defaults*(s7);; [ 26] (set! v1-4 *fact-info-enemy-defaults*) [] -> [v1: ] lw a0, *ashelin-nav-enemy-info*(s7);; [ 27] (set! a0-4 *ashelin-nav-enemy-info*) [] -> [a0: ] sw v1, 0(a0) ;; [ 28] (s.w! a0-4 v1-4) [v1: a0: ] -> [] lw t9, method-set!(s7) ;; [ 29] (set! t9-4 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 30] (set! a0-5 ashelin) [] -> [a0: ] addiu a1, r0, 59 ;; [ 31] (set! a1-4 59) [] -> [a1: ] lui v1, L216 ;; [ 32] (set! a2-4 L216) [] -> [a2: ] ori a2, v1, L216 jalr ra, t9 ;; [ 33] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 34] (set! t9-5 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 35] (set! a0-6 ashelin) [] -> [a0: ] addiu a1, r0, 250 ;; [ 36] (set! a1-5 250) [] -> [a1: ] lui v1, L213 ;; [ 37] (set! a2-5 L213) [] -> [a2: ] ori a2, v1, L213 jalr ra, t9 ;; [ 38] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 39] (set! t9-6 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 40] (set! a0-7 ashelin) [] -> [a0: ] addiu a1, r0, 193 ;; [ 41] (set! a1-6 193) [] -> [a1: ] lui v1, L209 ;; [ 42] (set! a2-6 L209) [] -> [a2: ] ori a2, v1, L209 jalr ra, t9 ;; [ 43] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 44] (set! t9-7 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 45] (set! a0-8 ashelin) [] -> [a0: ] addiu a1, r0, 106 ;; [ 46] (set! a1-7 106) [] -> [a1: ] lui v1, L207 ;; [ 47] (set! a2-7 L207) [] -> [a2: ] ori a2, v1, L207 jalr ra, t9 ;; [ 48] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 49] (set! t9-8 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 50] (set! a0-9 ashelin) [] -> [a0: ] addiu a1, r0, 104 ;; [ 51] (set! a1-8 104) [] -> [a1: ] lui v1, L203 ;; [ 52] (set! a2-8 L203) [] -> [a2: ] ori a2, v1, L203 jalr ra, t9 ;; [ 53] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 54] (set! t9-9 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 55] (set! a0-10 ashelin) [] -> [a0: ] addiu a1, r0, 97 ;; [ 56] (set! a1-9 97) [] -> [a1: ] lui v1, L175 ;; [ 57] (set! a2-9 L175) [] -> [a2: ] ori a2, v1, L175 jalr ra, t9 ;; [ 58] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 59] (set! t9-10 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 60] (set! a0-11 ashelin) [] -> [a0: ] addiu a1, r0, 183 ;; [ 61] (set! a1-10 183) [] -> [a1: ] lui v1, L173 ;; [ 62] (set! a2-10 L173) [] -> [a2: ] ori a2, v1, L173 jalr ra, t9 ;; [ 63] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 64] (set! t9-11 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 65] (set! a0-12 ashelin) [] -> [a0: ] addiu a1, r0, 114 ;; [ 66] (set! a1-11 114) [] -> [a1: ] lui v1, L172 ;; [ 67] (set! a2-11 L172) [] -> [a2: ] ori a2, v1, L172 jalr ra, t9 ;; [ 68] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 69] (set! t9-12 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 70] (set! a0-13 ashelin) [] -> [a0: ] addiu a1, r0, 115 ;; [ 71] (set! a1-12 115) [] -> [a1: ] lui v1, L170 ;; [ 72] (set! a2-12 L170) [] -> [a2: ] ori a2, v1, L170 jalr ra, t9 ;; [ 73] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 74] (set! t9-13 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 75] (set! a0-14 ashelin) [] -> [a0: ] addiu a1, r0, 238 ;; [ 76] (set! a1-13 238) [] -> [a1: ] lui v1, L163 ;; [ 77] (set! a2-13 L163) [] -> [a2: ] ori a2, v1, L163 jalr ra, t9 ;; [ 78] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 79] (set! t9-14 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 80] (set! a0-15 ashelin) [] -> [a0: ] addiu a1, r0, 235 ;; [ 81] (set! a1-14 235) [] -> [a1: ] lui v1, L160 ;; [ 82] (set! a2-14 L160) [] -> [a2: ] ori a2, v1, L160 jalr ra, t9 ;; [ 83] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 84] (set! t9-15 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 85] (set! a0-16 ashelin) [] -> [a0: ] addiu a1, r0, 243 ;; [ 86] (set! a1-15 243) [] -> [a1: ] lui v1, L154 ;; [ 87] (set! a2-15 L154) [] -> [a2: ] ori a2, v1, L154 jalr ra, t9 ;; [ 88] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 89] (set! t9-16 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 90] (set! a0-17 ashelin) [] -> [a0: ] addiu a1, r0, 246 ;; [ 91] (set! a1-16 246) [] -> [a1: ] lui v1, L150 ;; [ 92] (set! a2-16 L150) [] -> [a2: ] ori a2, v1, L150 jalr ra, t9 ;; [ 93] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 94] (set! t9-17 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [ 95] (set! a0-18 ashelin) [] -> [a0: ] addiu a1, r0, 241 ;; [ 96] (set! a1-17 241) [] -> [a1: ] lui v1, L139 ;; [ 97] (set! a2-17 L139) [] -> [a2: ] ori a2, v1, L139 jalr ra, t9 ;; [ 98] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [ 99] (set! t9-18 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [100] (set! a0-19 ashelin) [] -> [a0: ] addiu a1, r0, 242 ;; [101] (set! a1-18 242) [] -> [a1: ] lui v1, L135 ;; [102] (set! a2-18 L135) [] -> [a2: ] ori a2, v1, L135 jalr ra, t9 ;; [103] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [104] (set! t9-19 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [105] (set! a0-20 ashelin) [] -> [a0: ] addiu a1, r0, 240 ;; [106] (set! a1-19 240) [] -> [a1: ] lui v1, L131 ;; [107] (set! a2-19 L131) [] -> [a2: ] ori a2, v1, L131 jalr ra, t9 ;; [108] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [109] (set! t9-20 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [110] (set! a0-21 ashelin) [] -> [a0: ] addiu a1, r0, 247 ;; [111] (set! a1-20 247) [] -> [a1: ] lui v1, L122 ;; [112] (set! a2-20 L122) [] -> [a2: ] ori a2, v1, L122 jalr ra, t9 ;; [113] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [114] (set! t9-21 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [115] (set! a0-22 ashelin) [] -> [a0: ] addiu a1, r0, 248 ;; [116] (set! a1-21 248) [] -> [a1: ] lui v1, L118 ;; [117] (set! a2-21 L118) [] -> [a2: ] ori a2, v1, L118 jalr ra, t9 ;; [118] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [119] (set! t9-22 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [120] (set! a0-23 ashelin) [] -> [a0: ] addiu a1, r0, 70 ;; [121] (set! a1-22 70) [] -> [a1: ] lui v1, L113 ;; [122] (set! a2-22 L113) [] -> [a2: ] ori a2, v1, L113 jalr ra, t9 ;; [123] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [124] (set! t9-23 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [125] (set! a0-24 ashelin) [] -> [a0: ] addiu a1, r0, 72 ;; [126] (set! a1-23 72) [] -> [a1: ] lui v1, L110 ;; [127] (set! a2-23 L110) [] -> [a2: ] ori a2, v1, L110 jalr ra, t9 ;; [128] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [129] (set! t9-24 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [130] (set! a0-25 ashelin) [] -> [a0: ] addiu a1, r0, 239 ;; [131] (set! a1-24 239) [] -> [a1: ] lui v1, L107 ;; [132] (set! a2-24 L107) [] -> [a2: ] ori a2, v1, L107 jalr ra, t9 ;; [133] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [134] (set! t9-25 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [135] (set! a0-26 ashelin) [] -> [a0: ] addiu a1, r0, 116 ;; [136] (set! a1-25 116) [] -> [a1: ] lui v1, L106 ;; [137] (set! a2-25 L106) [] -> [a2: ] ori a2, v1, L106 jalr ra, t9 ;; [138] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [139] (set! t9-26 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [140] (set! a0-27 ashelin) [] -> [a0: ] addiu a1, r0, 237 ;; [141] (set! a1-26 237) [] -> [a1: ] lui v1, L99 ;; [142] (set! a2-26 L99) [] -> [a2: ] ori a2, v1, L99 jalr ra, t9 ;; [143] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [144] (set! t9-27 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [145] (set! a0-28 ashelin) [] -> [a0: ] addiu a1, r0, 249 ;; [146] (set! a1-27 249) [] -> [a1: ] lui v1, L86 ;; [147] (set! a2-27 L86) [] -> [a2: ] ori a2, v1, L86 jalr ra, t9 ;; [148] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [149] (set! t9-28 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [150] (set! a0-29 ashelin) [] -> [a0: ] addiu a1, r0, 51 ;; [151] (set! a1-28 51) [] -> [a1: ] lui v1, L71 ;; [152] (set! a2-28 L71) [] -> [a2: ] ori a2, v1, L71 jalr ra, t9 ;; [153] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [154] (set! t9-29 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [155] (set! a0-30 ashelin) [] -> [a0: ] addiu a1, r0, 77 ;; [156] (set! a1-29 77) [] -> [a1: ] lui v1, L61 ;; [157] (set! a2-29 L61) [] -> [a2: ] ori a2, v1, L61 jalr ra, t9 ;; [158] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [159] (set! t9-30 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [160] (set! a0-31 ashelin) [] -> [a0: ] addiu a1, r0, 78 ;; [161] (set! a1-30 78) [] -> [a1: ] lui v1, L49 ;; [162] (set! a2-30 L49) [] -> [a2: ] ori a2, v1, L49 jalr ra, t9 ;; [163] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [164] (set! t9-31 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [165] (set! a0-32 ashelin) [] -> [a0: ] addiu a1, r0, 79 ;; [166] (set! a1-31 79) [] -> [a1: ] lui v1, L29 ;; [167] (set! a2-31 L29) [] -> [a2: ] ori a2, v1, L29 jalr ra, t9 ;; [168] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [169] (set! t9-32 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [170] (set! a0-33 ashelin) [] -> [a0: ] addiu a1, r0, 236 ;; [171] (set! a1-32 236) [] -> [a1: ] lui v1, L25 ;; [172] (set! a2-32 L25) [] -> [a2: ] ori a2, v1, L25 jalr ra, t9 ;; [173] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [174] (set! t9-33 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [175] (set! a0-34 ashelin) [] -> [a0: ] addiu a1, r0, 142 ;; [176] (set! a1-33 142) [] -> [a1: ] lui v1, L22 ;; [177] (set! a2-33 L22) [] -> [a2: ] ori a2, v1, L22 jalr ra, t9 ;; [178] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [179] (set! t9-34 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [180] (set! a0-35 ashelin) [] -> [a0: ] addiu a1, r0, 216 ;; [181] (set! a1-34 216) [] -> [a1: ] lui v1, L18 ;; [182] (set! a2-34 L18) [] -> [a2: ] ori a2, v1, L18 jalr ra, t9 ;; [183] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [184] (set! t9-35 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [185] (set! a0-36 ashelin) [] -> [a0: ] addiu a1, r0, 203 ;; [186] (set! a1-35 203) [] -> [a1: ] lui v1, L12 ;; [187] (set! a2-35 L12) [] -> [a2: ] ori a2, v1, L12 jalr ra, t9 ;; [188] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [189] (set! t9-36 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [190] (set! a0-37 ashelin) [] -> [a0: ] addiu a1, r0, 244 ;; [191] (set! a1-36 244) [] -> [a1: ] lui v1, L10 ;; [192] (set! a2-36 L10) [] -> [a2: ] ori a2, v1, L10 jalr ra, t9 ;; [193] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [194] (set! t9-37 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [195] (set! a0-38 ashelin) [] -> [a0: ] addiu a1, r0, 245 ;; [196] (set! a1-37 245) [] -> [a1: ] lui v1, L7 ;; [197] (set! a2-37 L7) [] -> [a2: ] ori a2, v1, L7 jalr ra, t9 ;; [198] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [199] (set! t9-38 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [200] (set! a0-39 ashelin) [] -> [a0: ] addiu a1, r0, 136 ;; [201] (set! a1-38 136) [] -> [a1: ] lui v1, L5 ;; [202] (set! a2-38 L5) [] -> [a2: ] ori a2, v1, L5 jalr ra, t9 ;; [203] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [204] (set! t9-39 method-set!) [] -> [t9: ] lw a0, ashelin(s7) ;; [205] (set! a0-40 ashelin) [] -> [a0: ] addiu a1, r0, 206 ;; [206] (set! a1-39 206) [] -> [a1: ] lui v1, L4 ;; [207] (set! a2-39 L4) [] -> [a2: ] ori a2, v1, L4 jalr ra, t9 ;; [208] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [209] (set! t9-40 method-set!) [] -> [t9: ] lw a0, hud-ashelin(s7) ;; [210] (set! a0-41 hud-ashelin) [] -> [a0: ] addiu a1, r0, 15 ;; [211] (set! a1-40 15) [] -> [a1: ] lui v1, L3 ;; [212] (set! a2-40 L3) [] -> [a2: ] ori a2, v1, L3 jalr ra, t9 ;; [213] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [214] (set! t9-41 method-set!) [] -> [t9: ] lw a0, hud-ashelin(s7) ;; [215] (set! a0-42 hud-ashelin) [] -> [a0: ] addiu a1, r0, 16 ;; [216] (set! a1-41 16) [] -> [a1: ] lui v1, L2 ;; [217] (set! a2-41 L2) [] -> [a2: ] ori a2, v1, L2 jalr ra, t9 ;; [218] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 lw t9, method-set!(s7) ;; [219] (set! t9-42 method-set!) [] -> [t9: ] lw a0, hud-ashelin(s7) ;; [220] (set! a0-43 hud-ashelin) [] -> [a0: ] addiu a1, r0, 17 ;; [221] (set! a1-42 17) [] -> [a1: ] lui v1, L1 ;; [222] (set! a2-42 L1) [] -> [a2: ] ori a2, v1, L1 jalr ra, t9 ;; [223] (call!) [t9: ] -> [v0: ] sll v0, ra, 0 ld ra, 0(sp) ld fp, 8(sp) jr ra daddiu sp, sp, 16 (set! v1-0 type) (set! t9-0 (l.wu (+ v1-0 16))) (set! a0-0 'ashelin-anim-info) (set! a1-0 structure) (set! a2-0 (l.d L238)) (call! a0-0 a1-0 a2-0) (set! t9-1 method-set!) (set! a0-1 ashelin-anim-info) (set! a1-1 3) (set! a2-1 L227) (call!) (set! v1-1 type) (set! t9-2 (l.wu (+ v1-1 16))) (set! a0-2 'ashelin-global-info) (set! a1-2 basic) (set! a2-2 (l.d L237)) (call!) (set! t9-3 method-set!) (set! a0-3 ashelin-global-info) (set! a1-3 3) (set! a2-3 L224) (call!) (set! v1-2 L223) (s.w! *ashelin-global-info* v1-2) (set! v1-3 L221) (s.w! *ashelin-nav-enemy-info* v1-3) (set! v1-4 *fact-info-enemy-defaults*) (set! a0-4 *ashelin-nav-enemy-info*) (s.w! a0-4 v1-4) (set! t9-4 method-set!) (set! a0-5 ashelin) (set! a1-4 59) (set! a2-4 L216) (call!) (set! t9-5 method-set!) (set! a0-6 ashelin) (set! a1-5 250) (set! a2-5 L213) (call!) (set! t9-6 method-set!) (set! a0-7 ashelin) (set! a1-6 193) (set! a2-6 L209) (call!) (set! t9-7 method-set!) (set! a0-8 ashelin) (set! a1-7 106) (set! a2-7 L207) (call!) (set! t9-8 method-set!) (set! a0-9 ashelin) (set! a1-8 104) (set! a2-8 L203) (call!) (set! t9-9 method-set!) (set! a0-10 ashelin) (set! a1-9 97) (set! a2-9 L175) (call!) (set! t9-10 method-set!) (set! a0-11 ashelin) (set! a1-10 183) (set! a2-10 L173) (call!) (set! t9-11 method-set!) (set! a0-12 ashelin) (set! a1-11 114) (set! a2-11 L172) (call!) (set! t9-12 method-set!) (set! a0-13 ashelin) (set! a1-12 115) (set! a2-12 L170) (call!) (set! t9-13 method-set!) (set! a0-14 ashelin) (set! a1-13 238) (set! a2-13 L163) (call!) (set! t9-14 method-set!) (set! a0-15 ashelin) (set! a1-14 235) (set! a2-14 L160) (call!) (set! t9-15 method-set!) (set! a0-16 ashelin) (set! a1-15 243) (set! a2-15 L154) (call!) (set! t9-16 method-set!) (set! a0-17 ashelin) (set! a1-16 246) (set! a2-16 L150) (call!) (set! t9-17 method-set!) (set! a0-18 ashelin) (set! a1-17 241) (set! a2-17 L139) (call!) (set! t9-18 method-set!) (set! a0-19 ashelin) (set! a1-18 242) (set! a2-18 L135) (call!) (set! t9-19 method-set!) (set! a0-20 ashelin) (set! a1-19 240) (set! a2-19 L131) (call!) (set! t9-20 method-set!) (set! a0-21 ashelin) (set! a1-20 247) (set! a2-20 L122) (call!) (set! t9-21 method-set!) (set! a0-22 ashelin) (set! a1-21 248) (set! a2-21 L118) (call!) (set! t9-22 method-set!) (set! a0-23 ashelin) (set! a1-22 70) (set! a2-22 L113) (call!) (set! t9-23 method-set!) (set! a0-24 ashelin) (set! a1-23 72) (set! a2-23 L110) (call!) (set! t9-24 method-set!) (set! a0-25 ashelin) (set! a1-24 239) (set! a2-24 L107) (call!) (set! t9-25 method-set!) (set! a0-26 ashelin) (set! a1-25 116) (set! a2-25 L106) (call!) (set! t9-26 method-set!) (set! a0-27 ashelin) (set! a1-26 237) (set! a2-26 L99) (call!) (set! t9-27 method-set!) (set! a0-28 ashelin) (set! a1-27 249) (set! a2-27 L86) (call!) (set! t9-28 method-set!) (set! a0-29 ashelin) (set! a1-28 51) (set! a2-28 L71) (call!) (set! t9-29 method-set!) (set! a0-30 ashelin) (set! a1-29 77) (set! a2-29 L61) (call!) (set! t9-30 method-set!) (set! a0-31 ashelin) (set! a1-30 78) (set! a2-30 L49) (call!) (set! t9-31 method-set!) (set! a0-32 ashelin) (set! a1-31 79) (set! a2-31 L29) (call!) (set! t9-32 method-set!) (set! a0-33 ashelin) (set! a1-32 236) (set! a2-32 L25) (call!) (set! t9-33 method-set!) (set! a0-34 ashelin) (set! a1-33 142) (set! a2-33 L22) (call!) (set! t9-34 method-set!) (set! a0-35 ashelin) (set! a1-34 216) (set! a2-34 L18) (call!) (set! t9-35 method-set!) (set! a0-36 ashelin) (set! a1-35 203) (set! a2-35 L12) (call!) (set! t9-36 method-set!) (set! a0-37 ashelin) (set! a1-36 244) (set! a2-36 L10) (call!) (set! t9-37 method-set!) (set! a0-38 ashelin) (set! a1-37 245) (set! a2-37 L7) (call!) (set! t9-38 method-set!) (set! a0-39 ashelin) (set! a1-38 136) (set! a2-38 L5) (call!) (set! t9-39 method-set!) (set! a0-40 ashelin) (set! a1-39 206) (set! a2-39 L4) (call!) (set! t9-40 method-set!) (set! a0-41 hud-ashelin) (set! a1-40 15) (set! a2-40 L3) (call!) (set! t9-41 method-set!) (set! a0-42 hud-ashelin) (set! a1-41 16) (set! a2-41 L2) (call!) (set! t9-42 method-set!) (set! a0-43 hud-ashelin) (set! a1-42 17) (set! a2-42 L1) (call!) (ret-none) ;; .endfunction L236: .word 0x0 .word 0x0 .word 0x0 L237: .word 0x38 .word 0x9 L238: .word 0x4 .word 0x9 ;------------------------------------------ ; debug segment ;------------------------------------------ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 3 ashelin-global-info) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 1 ra? 1 ep? 1 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 3 ashelin-global-info) has unknown type L224: daddiu sp, sp, -32 sd ra, 0(sp) sd fp, 8(sp) or fp, t9, r0 sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) bne s7, gp, L225 ;; [ 1] (b! (truthy gp) L225 (set! v1 #f)) or v1, s7, r0 B1: or gp, gp, r0 ;; [ 2] (set! gp gp) beq r0, r0, L226 ;; [ 3] (b! #t L226 (nop!)) sll r0, r0, 0 B2: or v1, r0, r0 ;; [ 4] (set! v1 0) B3: L225: lw t9, format(s7) ;; [ 5] (set! t9 format) daddiu a0, s7, #t ;; [ 6] (set! a0 #t) daddiu a1, fp, L235 ;; [ 7] (set! a1 L235) "[~8x] ~A~%" or a2, gp, r0 ;; [ 8] (set! a2 gp) lwu a3, -4(gp) ;; [ 9] (set! a3 (l.wu (+ gp -4))) jalr ra, t9 ;; [ 10] (call!) sll v0, ra, 0 lw t9, format(s7) ;; [ 11] (set! t9 format) daddiu a0, s7, #t ;; [ 12] (set! a0 #t) daddiu a1, fp, L233 ;; [ 13] (set! a1 L233) "~1Tprev-blue-hit: ~D~%" lb a2, 0(gp) ;; [ 14] (set! a2 (l.b gp)) jalr ra, t9 ;; [ 15] (call!) sll v0, ra, 0 lw t9, format(s7) ;; [ 16] (set! t9 format) daddiu a0, s7, #t ;; [ 17] (set! a0 #t) daddiu a1, fp, L232 ;; [ 18] (set! a1 L232) "~1Tblue-hit-anim[6] @ #x~X~%" daddiu a2, gp, 4 ;; [ 19] (set! a2 (+ gp 4)) jalr ra, t9 ;; [ 20] (call!) sll v0, ra, 0 lw t9, format(s7) ;; [ 21] (set! t9 format) daddiu a0, s7, #t ;; [ 22] (set! a0 #t) daddiu a1, fp, L231 ;; [ 23] (set! a1 L231) "~1Tblue-hit-land-anim[6] @ #x~X~%" daddiu a2, gp, 28 ;; [ 24] (set! a2 (+ gp 28)) jalr ra, t9 ;; [ 25] (call!) sll v0, ra, 0 B4: L226: or v0, gp, r0 ;; [ 26] (set! v0 gp) ld ra, 0(sp) ld fp, 8(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (b! (truthy gp) L225 (set! v1 #f)) (set! gp gp) (b! #t L226 (nop!)) (set! v1 0) (label L225) (set! t9 format) (set! a0 #t) (set! a1 L235) (set! a2 gp) (set! a3 (l.wu (+ gp -4))) (call!) (set! t9 format) (set! a0 #t) (set! a1 L233) (set! a2 (l.b gp)) (call!) (set! t9 format) (set! a0 #t) (set! a1 L232) (set! a2 (+ gp 4)) (call!) (set! t9 format) (set! a0 #t) (set! a1 L231) (set! a2 (+ gp 28)) (call!) (label L226) (set! v0 gp) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 3 ashelin-anim-info) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 1 ra? 1 ep? 1 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 3 ashelin-anim-info) has unknown type L227: daddiu sp, sp, -32 sd ra, 0(sp) sd fp, 8(sp) or fp, t9, r0 sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) bne s7, gp, L228 ;; [ 1] (b! (truthy gp) L228 (set! v1 #f)) or v1, s7, r0 B1: or gp, gp, r0 ;; [ 2] (set! gp gp) beq r0, r0, L229 ;; [ 3] (b! #t L229 (nop!)) sll r0, r0, 0 B2: or v1, r0, r0 ;; [ 4] (set! v1 0) B3: L228: lw t9, format(s7) ;; [ 5] (set! t9 format) daddiu a0, s7, #t ;; [ 6] (set! a0 #t) daddiu a1, fp, L235 ;; [ 7] (set! a1 L235) "[~8x] ~A~%" or a2, gp, r0 ;; [ 8] (set! a2 gp) daddiu a3, s7, ashelin-anim-info;; [ 9] (set! a3 'ashelin-anim-info) jalr ra, t9 ;; [ 10] (call!) sll v0, ra, 0 lw t9, format(s7) ;; [ 11] (set! t9 format) daddiu a0, s7, #t ;; [ 12] (set! a0 #t) daddiu a1, fp, L234 ;; [ 13] (set! a1 L234) "~1Tanim-index: ~D~%" lw a2, 0(gp) ;; [ 14] (set! a2 (l.w gp)) jalr ra, t9 ;; [ 15] (call!) sll v0, ra, 0 B4: L229: or v0, gp, r0 ;; [ 16] (set! v0 gp) ld ra, 0(sp) ld fp, 8(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 (set! gp a0) (b! (truthy gp) L228 (set! v1 #f)) (set! gp gp) (b! #t L229 (nop!)) (set! v1 0) (label L228) (set! t9 format) (set! a0 #t) (set! a1 L235) (set! a2 gp) (set! a3 'ashelin-anim-info) (call!) (set! t9 format) (set! a0 #t) (set! a1 L234) (set! a2 (l.w gp)) (call!) (label L229) (set! v0 gp) (ret-value v0) ;; .endfunction L230: .word 0x0 .word 0x0 .type string ; "~1Tblue-hit-land-anim[6] @ #x~X~%" L231: .word 0x21 .word 0x6254317e .word 0x2d65756c .word 0x2d746968 .word 0x646e616c .word 0x696e612d .word 0x5d365b6d .word 0x23204020 .word 0x7e587e78 .word 0x25 .word 0x0 .type string ; "~1Tblue-hit-anim[6] @ #x~X~%" L232: .word 0x1c .word 0x6254317e .word 0x2d65756c .word 0x2d746968 .word 0x6d696e61 .word 0x205d365b .word 0x78232040 .word 0x257e587e .word 0x0 .word 0x0 .word 0x0 .type string ; "~1Tprev-blue-hit: ~D~%" L233: .word 0x16 .word 0x7054317e .word 0x2d766572 .word 0x65756c62 .word 0x7469682d .word 0x447e203a .word 0x257e .type string ; "~1Tanim-index: ~D~%" L234: .word 0x13 .word 0x6154317e .word 0x2d6d696e .word 0x65646e69 .word 0x7e203a78 .word 0x257e44 .word 0x0 .type string ; "[~8x] ~A~%" L235: .word 0xa .word 0x78387e5b .word 0x417e205d .word 0x257e ;------------------------------------------ ; main segment ;------------------------------------------ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 17 hud-ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 1 ra? 1 ep? 1 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 17 hud-ashelin) has unknown type L1: daddiu sp, sp, -32 sd ra, 0(sp) sd fp, 8(sp) or fp, t9, r0 sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lw a0, *gui-control*(s7) ;; [ 1] (set! a0 *gui-control*) lwu v1, -4(a0) ;; [ 2] (set! v1 (l.wu (+ a0 -4))) lwu t9, 52(v1) ;; [ 3] (set! t9 (l.wu (+ v1 52))) or a1, gp, r0 ;; [ 4] (set! a1 gp) addiu a2, r0, 81 ;; [ 5] (set! a2 81) addiu a3, r0, 8 ;; [ 6] (set! a3 8) lwu t0, 0(gp) ;; [ 7] (set! t0 (l.wu gp)) lui t1, 18336 ;; [ 8] (set! t1 #x47a00000) addiu t2, r0, 0 ;; [ 9] (set! t2 0) jalr ra, t9 ;; [ 10] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 11] (set! v1 v0) sw v1, 2972(gp) ;; [ 12] (s.w! (+ gp 2972) v1) lwu v1, 144(gp) ;; [ 13] (set! v1 (l.wu (+ gp 144))) ori v1, v1, 4 ;; [ 14] (set! v1 (logior v1 4)) sw v1, 144(gp) ;; [ 15] (s.w! (+ gp 144) v1) lw t9, lookup-texture-by-id(s7);; [ 16] (set! t9 lookup-texture-by-id) lui v1, 26528 ;; [ 17] (set! a0 #x67a01e00) ori a0, v1, 7680 jalr ra, t9 ;; [ 18] (call!) sll v0, ra, 0 sw v0, 1004(gp) ;; [ 19] (s.w! (+ gp 1004) v0) lui v1, 16704 ;; [ 20] (set! v1 #x41400000) mtc1 f0, v1 ;; [ 21] (set! f0 (gpr->fpr v1)) swc1 f0, 992(gp) ;; [ 22] (s.f! (+ gp 992) f0) lui v1, 16691 ;; [ 23] (set! v1 #x41333333) ori v1, v1, 13107 mtc1 f0, v1 ;; [ 24] (set! f0 (gpr->fpr v1)) swc1 f0, 996(gp) ;; [ 25] (s.f! (+ gp 996) f0) lui v1, 255 ;; [ 26] (set! v1 #xfffff2) ori v1, v1, 65522 sw v1, 964(gp) ;; [ 27] (s.w! (+ gp 964) v1) lw t9, lookup-texture-by-id(s7);; [ 28] (set! t9 lookup-texture-by-id) lui v1, 26528 ;; [ 29] (set! a0 #x67a02500) ori a0, v1, 9472 jalr ra, t9 ;; [ 30] (call!) sll v0, ra, 0 sw v0, 1068(gp) ;; [ 31] (s.w! (+ gp 1068) v0) lui v1, 255 ;; [ 32] (set! v1 #xfffff0) ori v1, v1, 65520 sw v1, 1028(gp) ;; [ 33] (s.w! (+ gp 1028) v1) lw t9, lookup-texture-by-id(s7);; [ 34] (set! t9 lookup-texture-by-id) lui v1, 26528 ;; [ 35] (set! a0 #x67a01200) ori a0, v1, 4608 jalr ra, t9 ;; [ 36] (call!) sll v0, ra, 0 sw v0, 1132(gp) ;; [ 37] (s.w! (+ gp 1132) v0) lui v1, 255 ;; [ 38] (set! v1 #xffffff) ori v1, v1, 65535 sw v1, 1092(gp) ;; [ 39] (s.w! (+ gp 1092) v1) lw t9, lookup-texture-by-name(s7);; [ 40] (set! t9 lookup-texture-by-name) daddiu a0, fp, L219 ;; [ 41] (set! a0 L219) "hud-ashlyn-head" or a1, s7, r0 ;; [ 42] (set! a1 #f) or a2, s7, r0 ;; [ 43] (set! a2 #f) jalr ra, t9 ;; [ 44] (call!) sll v0, ra, 0 sw v0, 1196(gp) ;; [ 45] (s.w! (+ gp 1196) v0) lui v1, 16256 ;; [ 46] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 47] (set! f0 (gpr->fpr v1)) swc1 f0, 1184(gp) ;; [ 48] (s.f! (+ gp 1184) f0) lui v1, 16307 ;; [ 49] (set! v1 #x3fb33333) ori v1, v1, 13107 mtc1 f0, v1 ;; [ 50] (set! f0 (gpr->fpr v1)) swc1 f0, 1188(gp) ;; [ 51] (s.f! (+ gp 1188) f0) lui v1, 255 ;; [ 52] (set! v1 #xffffff) ori v1, v1, 65535 sw v1, 1156(gp) ;; [ 53] (s.w! (+ gp 1156) v1) or v0, r0, r0 ;; [ 54] (set! v0 0) ld ra, 0(sp) ld fp, 8(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! a0 *gui-control*) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 52))) (set! a1 gp) (set! a2 81) (set! a3 8) (set! t0 (l.wu gp)) (set! t1 #x47a00000) (set! t2 0) (call!) (set! v1 v0) (s.w! (+ gp 2972) v1) (set! v1 (l.wu (+ gp 144))) (set! v1 (logior v1 4)) (s.w! (+ gp 144) v1) (set! t9 lookup-texture-by-id) (set! a0 #x67a01e00) (call!) (s.w! (+ gp 1004) v0) (set! v1 #x41400000) (set! f0 (gpr->fpr v1)) (s.f! (+ gp 992) f0) (set! v1 #x41333333) (set! f0 (gpr->fpr v1)) (s.f! (+ gp 996) f0) (set! v1 #xfffff2) (s.w! (+ gp 964) v1) (set! t9 lookup-texture-by-id) (set! a0 #x67a02500) (call!) (s.w! (+ gp 1068) v0) (set! v1 #xfffff0) (s.w! (+ gp 1028) v1) (set! t9 lookup-texture-by-id) (set! a0 #x67a01200) (call!) (s.w! (+ gp 1132) v0) (set! v1 #xffffff) (s.w! (+ gp 1092) v1) (set! t9 lookup-texture-by-name) (set! a0 L219) (set! a1 #f) (set! a2 #f) (call!) (s.w! (+ gp 1196) v0) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (s.f! (+ gp 1184) f0) (set! v1 #x3fb33333) (set! f0 (gpr->fpr v1)) (s.f! (+ gp 1188) f0) (set! v1 #xffffff) (s.w! (+ gp 1156) v1) (set! v0 0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 16 hud-ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x10, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 16 hud-ashelin) has unknown type L2: daddiu sp, sp, -16 sd ra, 0(sp) B0: lui v1, 17096 ;; [ 0] (set! v1 #x42c80000) mtc1 f0, v1 ;; [ 1] (set! f0 (gpr->fpr v1)) lw v1, *game-info*(s7) ;; [ 2] (set! v1 *game-info*) lwc1 f1, 516(v1) ;; [ 3] (set! f1 (l.f (+ v1 516))) mul.s f0, f0, f1 ;; [ 4] (set! f0 (*.s f0 f1)) cvt.w.s f0, f0 ;; [ 5] (set! f0 (f2i f0)) swc1 f0, 152(a0) ;; [ 6] (s.f! (+ a0 152) f0) lw v1, hud(s7) ;; [ 7] (set! v1 hud) lwu t9, 80(v1) ;; [ 8] (set! t9 (l.wu (+ v1 80))) jalr ra, t9 ;; [ 9] (call!) sll v0, ra, 0 or v0, r0, r0 ;; [ 10] (set! v0 0) ld ra, 0(sp) jr ra daddiu sp, sp, 16 sll r0, r0, 0 sll r0, r0, 0 (set! v1 #x42c80000) (set! f0 (gpr->fpr v1)) (set! v1 *game-info*) (set! f1 (l.f (+ v1 516))) (set! f0 (*.s f0 f1)) (set! f0 (f2i f0)) (s.f! (+ a0 152) f0) (set! v1 hud) (set! t9 (l.wu (+ v1 80))) (call!) (set! v0 0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 15 hud-ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 15 hud-ashelin) has unknown type L3: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lw t9, set-hud-piece-position!(s7);; [ 1] (set! t9 set-hud-piece-position!) daddiu a0, gp, 1084 ;; [ 2] (set! a0 (+ gp 1084)) lui v1, 16880 ;; [ 3] (set! v1 #x41f00000) mtc1 f0, v1 ;; [ 4] (set! f0 (gpr->fpr v1)) lui v1, -15614 ;; [ 5] (set! v1 -1023279104) mtc1 f1, v1 ;; [ 6] (set! f1 (gpr->fpr v1)) lwc1 f2, 140(gp) ;; [ 7] (set! f2 (l.f (+ gp 140))) mul.s f1, f1, f2 ;; [ 8] (set! f1 (*.s f1 f2)) add.s f0, f0, f1 ;; [ 9] (set! f0 (+.s f0 f1)) cvt.w.s f0, f0 ;; [ 10] (set! f0 (f2i f0)) mfc1 a1, f0 ;; [ 11] (set! a1 (fpr->gpr f0)) lui v1, 16880 ;; [ 12] (set! v1 #x41f00000) mtc1 f0, v1 ;; [ 13] (set! f0 (gpr->fpr v1)) lui v1, -15672 ;; [ 14] (set! v1 -1027080192) mtc1 f1, v1 ;; [ 15] (set! f1 (gpr->fpr v1)) lwc1 f2, 140(gp) ;; [ 16] (set! f2 (l.f (+ gp 140))) mul.s f1, f1, f2 ;; [ 17] (set! f1 (*.s f1 f2)) add.s f0, f0, f1 ;; [ 18] (set! f0 (+.s f0 f1)) cvt.w.s f0, f0 ;; [ 19] (set! f0 (f2i f0)) mfc1 a2, f0 ;; [ 20] (set! a2 (fpr->gpr f0)) jalr ra, t9 ;; [ 21] (call!) sll v0, ra, 0 lui v1, 17206 ;; [ 22] (set! v1 #x43360b61) ori v1, v1, 2913 mtc1 f0, v1 ;; [ 23] (set! f0 (gpr->fpr v1)) addiu v1, r0, 270 ;; [ 24] (set! v1 270) addiu a0, r0, 90 ;; [ 25] (set! a0 90) lw a1, 148(gp) ;; [ 26] (set! a1 (l.w (+ gp 148))) mult3 a0, a0, a1 ;; [ 27] (set! a0 (*.si a0 a1)) addiu a1, r0, 100 ;; [ 28] (set! a1 100) div a0, a1 ;; [ 29] (set! a0 (/.si a0 a1)) mflo a0 dsubu v1, v1, a0 ;; [ 30] (set! v1 (- v1 a0)) mtc1 f1, v1 ;; [ 31] (set! f1 (gpr->fpr v1)) cvt.s.w f1, f1 ;; [ 32] (set! f1 (i2f f1)) mul.s f0, f0, f1 ;; [ 33] (set! f0 (*.s f0 f1)) swc1 f0, 1000(gp) ;; [ 34] (s.f! (+ gp 1000) f0) lw t9, set-as-offset-from!(s7);; [ 35] (set! t9 set-as-offset-from!) daddiu a0, gp, 956 ;; [ 36] (set! a0 (+ gp 956)) daddiu a1, gp, 1084 ;; [ 37] (set! a1 (+ gp 1084)) addiu a2, r0, 40 ;; [ 38] (set! a2 40) addiu a3, r0, 16 ;; [ 39] (set! a3 16) jalr ra, t9 ;; [ 40] (call!) sll v0, ra, 0 lw t9, set-as-offset-from!(s7);; [ 41] (set! t9 set-as-offset-from!) daddiu a0, gp, 1020 ;; [ 42] (set! a0 (+ gp 1020)) daddiu a1, gp, 1084 ;; [ 43] (set! a1 (+ gp 1084)) addiu a2, r0, 1 ;; [ 44] (set! a2 1) addiu a3, r0, 16 ;; [ 45] (set! a3 16) jalr ra, t9 ;; [ 46] (call!) sll v0, ra, 0 lw t9, set-as-offset-from!(s7);; [ 47] (set! t9 set-as-offset-from!) daddiu a0, gp, 1148 ;; [ 48] (set! a0 (+ gp 1148)) daddiu a1, gp, 1084 ;; [ 49] (set! a1 (+ gp 1084)) addiu a2, r0, 8 ;; [ 50] (set! a2 8) addiu a3, r0, 2 ;; [ 51] (set! a3 2) jalr ra, t9 ;; [ 52] (call!) sll v0, ra, 0 lw v1, hud(s7) ;; [ 53] (set! v1 hud) lwu t9, 76(v1) ;; [ 54] (set! t9 (l.wu (+ v1 76))) or a0, gp, r0 ;; [ 55] (set! a0 gp) jalr ra, t9 ;; [ 56] (call!) sll v0, ra, 0 or v0, r0, r0 ;; [ 57] (set! v0 0) ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! t9 set-hud-piece-position!) (set! a0 (+ gp 1084)) (set! v1 #x41f00000) (set! f0 (gpr->fpr v1)) (set! v1 -1023279104) (set! f1 (gpr->fpr v1)) (set! f2 (l.f (+ gp 140))) (set! f1 (*.s f1 f2)) (set! f0 (+.s f0 f1)) (set! f0 (f2i f0)) (set! a1 (fpr->gpr f0)) (set! v1 #x41f00000) (set! f0 (gpr->fpr v1)) (set! v1 -1027080192) (set! f1 (gpr->fpr v1)) (set! f2 (l.f (+ gp 140))) (set! f1 (*.s f1 f2)) (set! f0 (+.s f0 f1)) (set! f0 (f2i f0)) (set! a2 (fpr->gpr f0)) (call!) (set! v1 #x43360b61) (set! f0 (gpr->fpr v1)) (set! v1 270) (set! a0 90) (set! a1 (l.w (+ gp 148))) (set! a0 (*.si a0 a1)) (set! a1 100) (set! a0 (/.si a0 a1)) (set! v1 (- v1 a0)) (set! f1 (gpr->fpr v1)) (set! f1 (i2f f1)) (set! f0 (*.s f0 f1)) (s.f! (+ gp 1000) f0) (set! t9 set-as-offset-from!) (set! a0 (+ gp 956)) (set! a1 (+ gp 1084)) (set! a2 40) (set! a3 16) (call!) (set! t9 set-as-offset-from!) (set! a0 (+ gp 1020)) (set! a1 (+ gp 1084)) (set! a2 1) (set! a3 16) (call!) (set! t9 set-as-offset-from!) (set! a0 (+ gp 1148)) (set! a1 (+ gp 1084)) (set! a2 8) (set! a3 2) (call!) (set! v1 hud) (set! t9 (l.wu (+ v1 76))) (set! a0 gp) (call!) (set! v0 0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 206 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 206 ashelin) has unknown type L4: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lw v1, bot(s7) ;; [ 1] (set! v1 bot) lwu t9, 840(v1) ;; [ 2] (set! t9 (l.wu (+ v1 840))) or a0, gp, r0 ;; [ 3] (set! a0 gp) jalr ra, t9 ;; [ 4] (call!) sll v0, ra, 0 addiu v1, r0, -257 ;; [ 5] (set! v1 -257) ld a0, 204(gp) ;; [ 6] (set! a0 (l.d (+ gp 204))) and v0, v1, a0 ;; [ 7] (set! v0 (logand v1 a0)) sd v0, 204(gp) ;; [ 8] (s.d! (+ gp 204) v0) ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! v1 bot) (set! t9 (l.wu (+ v1 840))) (set! a0 gp) (call!) (set! v1 -257) (set! a0 (l.d (+ gp 204))) (set! v0 (logand v1 a0)) (s.d! (+ gp 204) v0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 136 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x00, fp? 0 ra? 0 ep? 1 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 136 ashelin) has unknown type B0: L5: lwu v1, 8(s6) ;; [ 0] (set! v1 (l.wu (+ s6 8))) ld v1, 20(v1) ;; [ 1] (set! v1 (l.d (+ v1 20))) ld a1, 308(a0) ;; [ 2] (set! a1 (l.d (+ a0 308))) dsubu v1, v1, a1 ;; [ 3] (set! v1 (- v1 a1)) slti v1, v1, 600 ;; [ 4] (b! (<.si v1 600) L6 (set! v0 #f)) bne v1, r0, L6 or v0, s7, r0 B1: addiu v1, r0, -257 ;; [ 5] (set! v1 -257) ld a1, 204(a0) ;; [ 6] (set! a1 (l.d (+ a0 204))) and v0, v1, a1 ;; [ 7] (set! v0 (logand v1 a1)) sd v0, 204(a0) ;; [ 8] (s.d! (+ a0 204) v0) B2: L6: jr ra daddu sp, sp, r0 sll r0, r0, 0 sll r0, r0, 0 (label L5) (set! v1 (l.wu (+ s6 8))) (set! v1 (l.d (+ v1 20))) (set! a1 (l.d (+ a0 308))) (set! v1 (- v1 a1)) (b! (<.si v1 600) L6 (set! v0 #f)) (set! v1 -257) (set! a1 (l.d (+ a0 204))) (set! v0 (logand v1 a1)) (s.d! (+ a0 204) v0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 245 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x30, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp s5 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 245 ashelin) has unknown type L7: daddiu sp, sp, -48 sd ra, 0(sp) sq s5, 16(sp) sq gp, 32(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) or a0, gp, r0 ;; [ 1] (set! a0 gp) lwu v1, -4(a0) ;; [ 2] (set! v1 (l.wu (+ a0 -4))) lwu t9, 852(v1) ;; [ 3] (set! t9 (l.wu (+ v1 852))) addiu a1, r0, 0 ;; [ 4] (set! a1 0) jalr ra, t9 ;; [ 5] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 6] (set! v1 v0) bnel s7, v1, L8 ;; [ 7] (bl! (truthy v1) L8 (no-delay!)) B1: or v1, s7, r0 ;; [ 8] (set! v1 #f) B2: lwu v1, 8(s6) ;; [ 9] (set! v1 (l.wu (+ s6 8))) ld v1, 20(v1) ;; [ 10] (set! v1 (l.d (+ v1 20))) ld a0, 1012(gp) ;; [ 11] (set! a0 (l.d (+ gp 1012))) slt a0, v1, a0 ;; [ 12] (set! v1 (>=.si v1 a0)) daddiu v1, s7, 4 movn v1, s7, a0 B3: L8: beq s7, v1, L9 ;; [ 13] (b! (not v1) L9 (set! v0 #f)) or v0, s7, r0 B4: lwu v1, 648(gp) ;; [ 14] (set! v1 (l.wu (+ gp 648))) lwu a0, 48(v1) ;; [ 15] (set! a0 (l.wu (+ v1 48))) lwu v1, -4(a0) ;; [ 16] (set! v1 (l.wu (+ a0 -4))) lwu t9, 52(v1) ;; [ 17] (set! t9 (l.wu (+ v1 52))) or a1, gp, r0 ;; [ 18] (set! a1 gp) lwu v1, 648(gp) ;; [ 19] (set! v1 (l.wu (+ gp 648))) lwu a2, 28(v1) ;; [ 20] (set! a2 (l.wu (+ v1 28))) addiu a3, r0, 0 ;; [ 21] (set! a3 0) jalr ra, t9 ;; [ 22] (call!) sll v0, ra, 0 or s5, v0, r0 ;; [ 23] (set! s5 v0) slt v1, s5, r0 ;; [ 24] (b! (<0.si s5) L9 (set! v0 #f)) bne v1, r0, L9 or v0, s7, r0 B5: or a0, gp, r0 ;; [ 25] (set! a0 gp) lwu v1, -4(a0) ;; [ 26] (set! v1 (l.wu (+ a0 -4))) lwu t9, 500(v1) ;; [ 27] (set! t9 (l.wu (+ v1 500))) addiu a1, r0, 1200 ;; [ 28] (set! a1 1200) addiu a2, r0, 2100 ;; [ 29] (set! a2 2100) jalr ra, t9 ;; [ 30] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 31] (set! v1 v0) lwu a0, 8(s6) ;; [ 32] (set! a0 (l.wu (+ s6 8))) ld a0, 20(a0) ;; [ 33] (set! a0 (l.d (+ a0 20))) daddu v1, v1, a0 ;; [ 34] (set! v1 (+ v1 a0)) sd v1, 1012(gp) ;; [ 35] (s.d! (+ gp 1012) v1) lwu v1, -4(gp) ;; [ 36] (set! v1 (l.wu (+ gp -4))) lwu t9, 840(v1) ;; [ 37] (set! t9 (l.wu (+ v1 840))) or a0, gp, r0 ;; [ 38] (set! a0 gp) or a1, s5, r0 ;; [ 39] (set! a1 s5) jalr ra, t9 ;; [ 40] (call!) sll v0, ra, 0 B6: L9: ld ra, 0(sp) lq gp, 32(sp) lq s5, 16(sp) jr ra daddiu sp, sp, 48 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 852))) (set! a1 0) (call!) (set! v1 v0) (bl! (truthy v1) L8 (no-delay!)) (set! v1 #f) (set! v1 (l.wu (+ s6 8))) (set! v1 (l.d (+ v1 20))) (set! a0 (l.d (+ gp 1012))) (set! v1 (>=.si v1 a0)) (label L8) (b! (not v1) L9 (set! v0 #f)) (set! v1 (l.wu (+ gp 648))) (set! a0 (l.wu (+ v1 48))) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 52))) (set! a1 gp) (set! v1 (l.wu (+ gp 648))) (set! a2 (l.wu (+ v1 28))) (set! a3 0) (call!) (set! s5 v0) (b! (<0.si s5) L9 (set! v0 #f)) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 500))) (set! a1 1200) (set! a2 2100) (call!) (set! v1 v0) (set! a0 (l.wu (+ s6 8))) (set! a0 (l.d (+ a0 20))) (set! v1 (+ v1 a0)) (s.d! (+ gp 1012) v1) (set! v1 (l.wu (+ gp -4))) (set! t9 (l.wu (+ v1 840))) (set! a0 gp) (set! a1 s5) (call!) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 244 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 244 ashelin) has unknown type L10: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) or a0, gp, r0 ;; [ 1] (set! a0 gp) lwu v1, -4(a0) ;; [ 2] (set! v1 (l.wu (+ a0 -4))) lwu t9, 852(v1) ;; [ 3] (set! t9 (l.wu (+ v1 852))) addiu a1, r0, 0 ;; [ 4] (set! a1 0) jalr ra, t9 ;; [ 5] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 6] (set! v1 v0) bne s7, v1, L11 ;; [ 7] (b! (truthy v1) L11 (set! v0 #f)) or v0, s7, r0 B1: lwu v1, 648(gp) ;; [ 8] (set! v1 (l.wu (+ gp 648))) lwu a0, 44(v1) ;; [ 9] (set! a0 (l.wu (+ v1 44))) lwu v1, -4(a0) ;; [ 10] (set! v1 (l.wu (+ a0 -4))) lwu t9, 52(v1) ;; [ 11] (set! t9 (l.wu (+ v1 52))) or a1, gp, r0 ;; [ 12] (set! a1 gp) lwu v1, 648(gp) ;; [ 13] (set! v1 (l.wu (+ gp 648))) lwu a2, 28(v1) ;; [ 14] (set! a2 (l.wu (+ v1 28))) addiu a3, r0, 0 ;; [ 15] (set! a3 0) jalr ra, t9 ;; [ 16] (call!) sll v0, ra, 0 or a1, v0, r0 ;; [ 17] (set! a1 v0) slt v1, a1, r0 ;; [ 18] (b! (<0.si a1) L11 (set! v0 #f)) bne v1, r0, L11 or v0, s7, r0 B2: lwu v1, -4(gp) ;; [ 19] (set! v1 (l.wu (+ gp -4))) lwu t9, 840(v1) ;; [ 20] (set! t9 (l.wu (+ v1 840))) or a0, gp, r0 ;; [ 21] (set! a0 gp) jalr ra, t9 ;; [ 22] (call!) sll v0, ra, 0 B3: L11: ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 852))) (set! a1 0) (call!) (set! v1 v0) (b! (truthy v1) L11 (set! v0 #f)) (set! v1 (l.wu (+ gp 648))) (set! a0 (l.wu (+ v1 44))) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 52))) (set! a1 gp) (set! v1 (l.wu (+ gp 648))) (set! a2 (l.wu (+ v1 28))) (set! a3 0) (call!) (set! a1 v0) (b! (<0.si a1) L11 (set! v0 #f)) (set! v1 (l.wu (+ gp -4))) (set! t9 (l.wu (+ v1 840))) (set! a0 gp) (call!) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 203 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 203 ashelin) has unknown type L12: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) or a0, gp, r0 ;; [ 1] (set! a0 gp) lwu v1, -4(a0) ;; [ 2] (set! v1 (l.wu (+ a0 -4))) lwu t9, 852(v1) ;; [ 3] (set! t9 (l.wu (+ v1 852))) addiu a1, r0, 0 ;; [ 4] (set! a1 0) jalr ra, t9 ;; [ 5] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 6] (set! v1 v0) bne s7, v1, L17 ;; [ 7] (b! (truthy v1) L17 (set! v0 #f)) or v0, s7, r0 B1: addiu v1, r0, 0 ;; [ 8] (set! v1 0) lui a0, 960 ;; [ 9] (set! a0 #x3c00000) ld a1, 436(gp) ;; [ 10] (set! a1 (l.d (+ gp 436))) and a0, a0, a1 ;; [ 11] (set! a0 (logand a0 a1)) beq a0, r0, L13 ;; [ 12] (b! (zero? a0) L13 (nop!)) sll r0, r0, 0 B2: ori v1, v1, 128 ;; [ 13] (set! v1 (logior v1 128)) or a0, v1, r0 ;; [ 14] (set! a0 v1) beq r0, r0, L14 ;; [ 15] (b! #t L14 (nop!)) sll r0, r0, 0 B3: L13: ori v1, v1, 64 ;; [ 16] (set! v1 (logior v1 64)) or a0, v1, r0 ;; [ 17] (set! a0 v1) B4: L14: lwu a0, 600(gp) ;; [ 18] (set! a0 (l.wu (+ gp 600))) andi a0, a0, 128 ;; [ 19] (set! a0 (logand a0 128)) beq a0, r0, L15 ;; [ 20] (b! (zero? a0) L15 (nop!)) sll r0, r0, 0 B5: ori a3, v1, 256 ;; [ 21] (set! a3 (logior v1 256)) or v1, a3, r0 ;; [ 22] (set! v1 a3) beq r0, r0, L16 ;; [ 23] (b! #t L16 (nop!)) sll r0, r0, 0 B6: L15: ori a3, v1, 512 ;; [ 24] (set! a3 (logior v1 512)) or v1, a3, r0 ;; [ 25] (set! v1 a3) B7: L16: lwu v1, 648(gp) ;; [ 26] (set! v1 (l.wu (+ gp 648))) lwu a0, 16(v1) ;; [ 27] (set! a0 (l.wu (+ v1 16))) lwu v1, -4(a0) ;; [ 28] (set! v1 (l.wu (+ a0 -4))) lwu t9, 52(v1) ;; [ 29] (set! t9 (l.wu (+ v1 52))) or a1, gp, r0 ;; [ 30] (set! a1 gp) lwu v1, 648(gp) ;; [ 31] (set! v1 (l.wu (+ gp 648))) lwu a2, 28(v1) ;; [ 32] (set! a2 (l.wu (+ v1 28))) jalr ra, t9 ;; [ 33] (call!) sll v0, ra, 0 or a1, v0, r0 ;; [ 34] (set! a1 v0) slt v1, a1, r0 ;; [ 35] (b! (<0.si a1) L17 (set! v0 #f)) bne v1, r0, L17 or v0, s7, r0 B8: lwu v1, -4(gp) ;; [ 36] (set! v1 (l.wu (+ gp -4))) lwu t9, 840(v1) ;; [ 37] (set! t9 (l.wu (+ v1 840))) or a0, gp, r0 ;; [ 38] (set! a0 gp) jalr ra, t9 ;; [ 39] (call!) sll v0, ra, 0 B9: L17: ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 852))) (set! a1 0) (call!) (set! v1 v0) (b! (truthy v1) L17 (set! v0 #f)) (set! v1 0) (set! a0 #x3c00000) (set! a1 (l.d (+ gp 436))) (set! a0 (logand a0 a1)) (b! (zero? a0) L13 (nop!)) (set! v1 (logior v1 128)) (set! a0 v1) (b! #t L14 (nop!)) (label L13) (set! v1 (logior v1 64)) (set! a0 v1) (label L14) (set! a0 (l.wu (+ gp 600))) (set! a0 (logand a0 128)) (b! (zero? a0) L15 (nop!)) (set! a3 (logior v1 256)) (set! v1 a3) (b! #t L16 (nop!)) (label L15) (set! a3 (logior v1 512)) (set! v1 a3) (label L16) (set! v1 (l.wu (+ gp 648))) (set! a0 (l.wu (+ v1 16))) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 52))) (set! a1 gp) (set! v1 (l.wu (+ gp 648))) (set! a2 (l.wu (+ v1 28))) (call!) (set! a1 v0) (b! (<0.si a1) L17 (set! v0 #f)) (set! v1 (l.wu (+ gp -4))) (set! t9 (l.wu (+ v1 840))) (set! a0 gp) (call!) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 216 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x30, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp s5 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 216 ashelin) has unknown type L18: daddiu sp, sp, -48 sd ra, 0(sp) sq s5, 16(sp) sq gp, 32(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lw a0, *default-dead-pool*(s7);; [ 1] (set! a0 *default-dead-pool*) lwu v1, -4(a0) ;; [ 2] (set! v1 (l.wu (+ a0 -4))) lwu t9, 72(v1) ;; [ 3] (set! t9 (l.wu (+ v1 72))) lw a1, hud-ashelin(s7) ;; [ 4] (set! a1 hud-ashelin) addiu a2, r0, 16384 ;; [ 5] (set! a2 #x4000) jalr ra, t9 ;; [ 6] (call!) sll v0, ra, 0 or s5, v0, r0 ;; [ 7] (set! s5 v0) beq s7, s5, L19 ;; [ 8] (b! (not s5) L19 (set! v1 #f)) or v1, s7, r0 B1: lw v1, hud-ashelin(s7) ;; [ 9] (set! v1 hud-ashelin) lwu t9, 52(v1) ;; [ 10] (set! t9 (l.wu (+ v1 52))) or a0, s5, r0 ;; [ 11] (set! a0 s5) or a1, gp, r0 ;; [ 12] (set! a1 gp) ori v1, r0, 65335 ;; [ 13] (set! v1 #xff37) lw a2, hud-ashelin(s7) ;; [ 14] (set! a2 hud-ashelin) lwu a2, 0(a2) ;; [ 15] (set! a2 (l.wu a2)) daddu v1, v1, a2 ;; [ 16] (set! v1 (+ v1 a2)) lwu a2, 0(v1) ;; [ 17] (set! a2 (l.wu v1)) lui v1, 28672 ;; [ 18] (set! a3 #x70004000) ori a3, v1, 16384 jalr ra, t9 ;; [ 19] (call!) sll v0, ra, 0 lw t9, run-function-in-process(s7);; [ 20] (set! t9 run-function-in-process) or a0, s5, r0 ;; [ 21] (set! a0 s5) lw a1, hud-init-by-other(s7);; [ 22] (set! a1 hud-init-by-other) jalr ra, t9 ;; [ 23] (call!) sll v0, ra, 0 lwu v1, 24(s5) ;; [ 24] (set! v1 (l.wu (+ s5 24))) B2: L19: beq s7, v1, L20 ;; [ 25] (b! (not v1) L20 (nop!)) sll r0, r0, 0 B3: lwu a0, 0(v1) ;; [ 26] (set! a0 (l.wu v1)) lw a0, 40(a0) ;; [ 27] (set! a0 (l.w (+ a0 40))) dsll32 a0, a0, 0 ;; [ 28] (set! a0 (sll a0 32)) beq r0, r0, L21 ;; [ 29] (b! #t L21 (nop!)) sll r0, r0, 0 B4: L20: addiu a0, r0, 0 ;; [ 30] (set! a0 0) B5: L21: sllv v1, v1, r0 ;; [ 31] (.sllv v1 v1 r0) or v1, a0, v1 ;; [ 32] (set! v1 (logior a0 v1)) sd v1, 724(gp) ;; [ 33] (s.d! (+ gp 724) v1) or v0, r0, r0 ;; [ 34] (set! v0 0) ld ra, 0(sp) lq gp, 32(sp) lq s5, 16(sp) jr ra daddiu sp, sp, 48 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! a0 *default-dead-pool*) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 72))) (set! a1 hud-ashelin) (set! a2 #x4000) (call!) (set! s5 v0) (b! (not s5) L19 (set! v1 #f)) (set! v1 hud-ashelin) (set! t9 (l.wu (+ v1 52))) (set! a0 s5) (set! a1 gp) (set! v1 #xff37) (set! a2 hud-ashelin) (set! a2 (l.wu a2)) (set! v1 (+ v1 a2)) (set! a2 (l.wu v1)) (set! a3 #x70004000) (call!) (set! t9 run-function-in-process) (set! a0 s5) (set! a1 hud-init-by-other) (call!) (set! v1 (l.wu (+ s5 24))) (label L19) (b! (not v1) L20 (nop!)) (set! a0 (l.wu v1)) (set! a0 (l.w (+ a0 40))) (set! a0 (sll a0 32)) (b! #t L21 (nop!)) (label L20) (set! a0 0) (label L21) (.sllv v1 v1 r0) (set! v1 (logior a0 v1)) (s.d! (+ gp 724) v1) (set! v0 0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 142 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x10, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 142 ashelin) has unknown type L22: daddiu sp, sp, -16 sd ra, 0(sp) B0: lwu v1, 64(a0) ;; [ 0] (set! v1 (l.wu (+ a0 64))) beql s7, v1, L23 ;; [ 1] (bl! (not v1) L23 (no-delay!)) B1: or v1, v1, r0 ;; [ 2] (set! v1 v1) B2: lwu v1, 64(a0) ;; [ 3] (set! v1 (l.wu (+ a0 64))) lwu v1, 0(v1) ;; [ 4] (set! v1 (l.wu v1)) daddiu a2, s7, back-spring;; [ 5] (set! a2 'back-spring) dsubu a2, v1, a2 ;; [ 6] (set! a3 (= v1 a2)) daddiu a3, s7, 4 movn a3, s7, a2 bnel s7, a3, L23 ;; [ 7] (bl! (truthy a3) L23 (no-delay!)) B3: or v1, a3, r0 ;; [ 8] (set! v1 a3) B4: daddiu a2, s7, cartwheel-left;; [ 9] (set! a2 'cartwheel-left) dsubu a2, v1, a2 ;; [ 10] (set! a3 (= v1 a2)) daddiu a3, s7, 4 movn a3, s7, a2 bnel s7, a3, L23 ;; [ 11] (bl! (truthy a3) L23 (no-delay!)) B5: or v1, a3, r0 ;; [ 12] (set! v1 a3) B6: daddiu a2, s7, tumble-right;; [ 13] (set! a2 'tumble-right) dsubu a2, v1, a2 ;; [ 14] (set! v1 (= v1 a2)) daddiu v1, s7, 4 movn v1, s7, a2 B7: L23: bne s7, v1, L24 ;; [ 15] (b! (truthy v1) L24 (set! v0 #f)) or v0, s7, r0 B8: lw v1, bot(s7) ;; [ 16] (set! v1 bot) lwu t9, 584(v1) ;; [ 17] (set! t9 (l.wu (+ v1 584))) jalr ra, t9 ;; [ 18] (call!) sll v0, ra, 0 B9: L24: ld ra, 0(sp) jr ra daddiu sp, sp, 16 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! v1 (l.wu (+ a0 64))) (bl! (not v1) L23 (no-delay!)) (set! v1 v1) (set! v1 (l.wu (+ a0 64))) (set! v1 (l.wu v1)) (set! a2 'back-spring) (set! a3 (= v1 a2)) (bl! (truthy a3) L23 (no-delay!)) (set! v1 a3) (set! a2 'cartwheel-left) (set! a3 (= v1 a2)) (bl! (truthy a3) L23 (no-delay!)) (set! v1 a3) (set! a2 'tumble-right) (set! v1 (= v1 a2)) (label L23) (b! (truthy v1) L24 (set! v0 #f)) (set! v1 bot) (set! t9 (l.wu (+ v1 584))) (call!) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 236 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x1a0, fp? 0 ra? 1 ep? 1 ;stack_vars: 280 bytes at 8 ;gprs: gp s5 s4 s3 s2 s1 s0 ;fprs: f30 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 236 ashelin) has unknown type ;; Used lq/sq L25: daddiu sp, sp, -416 sd ra, 0(sp) sq s0, 288(sp) sq s1, 304(sp) sq s2, 320(sp) sq s3, 336(sp) sq s4, 352(sp) sq s5, 368(sp) sq gp, 384(sp) swc1 f30, 400(sp) B0: or s4, a0, r0 ;; [ 0] (set! s4 a0) or s5, a1, r0 ;; [ 1] (set! s5 a1) or s3, a2, r0 ;; [ 2] (set! s3 a2) or s2, a3, r0 ;; [ 3] (set! s2 a3) or s1, t0, r0 ;; [ 4] (set! s1 t0) or gp, t1, r0 ;; [ 5] (set! gp t1) lwu v1, 140(s4) ;; [ 6] (set! v1 (l.wu (+ s4 140))) lwu a0, 124(v1) ;; [ 7] (set! a0 (l.wu (+ v1 124))) lwu a0, 24(a0) ;; [ 8] (set! a0 (l.wu (+ a0 24))) lwu a0, 84(a0) ;; [ 9] (set! a0 (l.wu (+ a0 84))) daddiu a1, v1, 64 ;; [ 10] (set! a1 (+ v1 64)) lwu a2, 124(v1) ;; [ 11] (set! a2 (l.wu (+ v1 124))) daddiu a2, a2, 44 ;; [ 12] (set! a2 (+ a2 44)) daddiu a3, v1, 96 ;; [ 13] (set! a3 (+ v1 96)) lw t0, 52(v1) ;; [ 14] (set! t0 (l.w (+ v1 52))) addiu t1, r0, 0 ;; [ 15] (set! t1 0) beq r0, r0, L27 ;; [ 16] (b! #t L27 (nop!)) sll r0, r0, 0 B1: L26: daddu t2, a1, t1 ;; [ 17] (set! t2 (+ a1 t1)) lbu t2, 0(t2) ;; [ 18] (set! t2 (l.bu t2)) dsll t2, t2, 4 ;; [ 19] (set! t2 (sll t2 4)) daddu t3, a0, t2 ;; [ 20] (set! t3 (+ a0 t2)) lwu t2, 56(v1) ;; [ 21] (set! t2 (l.wu (+ v1 56))) dsll t4, t1, 4 ;; [ 22] (set! t4 (sll t1 4)) daddu t2, t2, t4 ;; [ 23] (set! t2 (+ t2 t4)) or t6, t2, r0 ;; [ 24] (set! t6 t2) or t4, t3, r0 ;; [ 25] (set! t4 t3) or t5, a2, r0 ;; [ 26] (set! t5 a2) lqc2 vf4, 0(t4) ;; [ 27] (set! t6 (vector-!2 t6 t4 t5)) lqc2 vf5, 0(t5) vmove.w vf6, vf0 vsub.xyz vf6, vf4, vf5 sqc2 vf6, 0(t6) lwc1 f0, 12(t3) ;; [ 28] (set! f0 (l.f (+ t3 12))) lwc1 f1, 12(a3) ;; [ 29] (set! f1 (l.f (+ a3 12))) add.s f0, f0, f1 ;; [ 30] (set! f0 (+.s f0 f1)) swc1 f0, 12(t2) ;; [ 31] (s.f! (+ t2 12) f0) mfc1 t2, f0 ;; [ 32] (set! t2 (fpr->gpr f0)) daddiu t1, t1, 1 ;; [ 33] (set! t1 (+ t1 1)) B2: L27: slt t2, t1, t0 ;; [ 34] (b! (<.si t1 t0) L26 (nop!)) bne t2, r0, L26 sll r0, r0, 0 B3: or v1, s7, r0 ;; [ 35] (set! v1 #f) or v1, s7, r0 ;; [ 36] (set! v1 #f) or v1, r0, r0 ;; [ 37] (set! v1 0) daddiu s0, sp, 16 ;; [ 38] (set! s0 (+ sp 16)) daddu v1, r0, s0 ;; [ 39] (set! v1 (+ s0 0)) lwu a0, 124(s4) ;; [ 40] (set! a0 (l.wu (+ s4 124))) daddiu a0, a0, 12 ;; [ 41] (set! a0 (+ a0 12)) lwu a1, 140(s4) ;; [ 42] (set! a1 (l.wu (+ s4 140))) lwu a1, 124(a1) ;; [ 43] (set! a1 (l.wu (+ a1 124))) daddiu a1, a1, 44 ;; [ 44] (set! a1 (+ a1 44)) lqc2 vf4, 0(a0) ;; [ 45] (set! v1 (vector-!2 v1 a0 a1)) lqc2 vf5, 0(a1) vmove.w vf6, vf0 vsub.xyz vf6, vf4, vf5 sqc2 vf6, 0(v1) daddiu v1, s0, 16 ;; [ 46] (set! v1 (+ s0 16)) sq v1, 272(sp) ;; [ 47] (stack-store v1 :offset 272 :sz 16) lw t9, sin(s7) ;; [ 48] (set! t9 sin) or a0, s3, r0 ;; [ 49] (set! a0 s3) jalr ra, t9 ;; [ 50] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [ 51] (set! f0 (gpr->fpr v0)) lq v1, 272(sp) ;; [ 52] (stack-load v1 :offset 272 :sz 16 :sext #f) swc1 f0, 0(v1) ;; [ 53] (s.f! v1 f0) mtc1 f0, r0 ;; [ 54] (set! f0 0) lq v1, 272(sp) ;; [ 55] (stack-load v1 :offset 272 :sz 16 :sext #f) swc1 f0, 4(v1) ;; [ 56] (s.f! (+ v1 4) f0) lw t9, cos(s7) ;; [ 57] (set! t9 cos) or a0, s3, r0 ;; [ 58] (set! a0 s3) jalr ra, t9 ;; [ 59] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [ 60] (set! f0 (gpr->fpr v0)) lq v1, 272(sp) ;; [ 61] (stack-load v1 :offset 272 :sz 16 :sext #f) swc1 f0, 8(v1) ;; [ 62] (s.f! (+ v1 8) f0) lui v1, 16256 ;; [ 63] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 64] (set! f0 (gpr->fpr v1)) lq v1, 272(sp) ;; [ 65] (stack-load v1 :offset 272 :sz 16 :sext #f) swc1 f0, 12(v1) ;; [ 66] (s.f! (+ v1 12) f0) daddiu v1, s0, 16 ;; [ 67] (set! v1 (+ s0 16)) daddiu a0, s0, 16 ;; [ 68] (set! a0 (+ s0 16)) mtc1 f0, s1 ;; [ 69] (set! f0 (gpr->fpr s1)) lqc2 vf1, 0(a0) ;; [ 70] (set! v1 (vector-float*!2 v1 a0 f0)) mfc1 a0, f0 qmtc2.i vf2, a0 vaddx.w vf1, vf0, vf0 vmulx.xyz vf1, vf1, vf2 sqc2 vf1, 0(v1) daddiu v1, s0, 32 ;; [ 71] (set! v1 (+ s0 32)) daddiu a0, s0, 16 ;; [ 72] (set! a0 (+ s0 16)) lq a0, 0(a0) ;; [ 73] (set! a0 (l.q a0)) sq a0, 0(v1) ;; [ 74] (s.q! v1 a0) lwu a0, 140(s4) ;; [ 75] (set! a0 (l.wu (+ s4 140))) lw v1, nav-control(s7) ;; [ 76] (set! v1 nav-control) lwu t9, 88(v1) ;; [ 77] (set! t9 (l.wu (+ v1 88))) or a1, s0, r0 ;; [ 78] (set! a1 s0) jalr ra, t9 ;; [ 79] (call!) sll v0, ra, 0 or v1, s5, r0 ;; [ 80] (set! v1 s5) daddiu a0, s0, 48 ;; [ 81] (set! a0 (+ s0 48)) lq a0, 0(a0) ;; [ 82] (set! a0 (l.q a0)) sq a0, 0(v1) ;; [ 83] (s.q! v1 a0) or v1, r0, r0 ;; [ 84] (set! v1 0) mtc1 f30, s2 ;; [ 85] (set! f30 (gpr->fpr s2)) lw s2, deg-(s7) ;; [ 86] (set! s2 deg-) lw t9, atan(s7) ;; [ 87] (set! t9 atan) lwc1 f0, 0(s5) ;; [ 88] (set! f0 (l.f s5)) mfc1 a0, f0 ;; [ 89] (set! a0 (fpr->gpr f0)) lwc1 f0, 8(s5) ;; [ 90] (set! f0 (l.f (+ s5 8))) mfc1 a1, f0 ;; [ 91] (set! a1 (fpr->gpr f0)) jalr ra, t9 ;; [ 92] (call!) sll v0, ra, 0 or a1, v0, r0 ;; [ 93] (set! a1 v0) or t9, s2, r0 ;; [ 94] (set! t9 s2) or a0, s3, r0 ;; [ 95] (set! a0 s3) jalr ra, t9 ;; [ 96] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [ 97] (set! f0 (gpr->fpr v0)) abs.s f0, f0 ;; [ 98] (set! f0 (abs.s f0)) c.lt.s f30, f0 ;; [ 99] (b! (<.s f30 f0) L28 (set! v0 #f)) bc1t L28 or v0, s7, r0 B4: daddiu t0, sp, 112 ;; [100] (set! t0 (+ sp 112)) lwu a0, 140(s4) ;; [101] (set! a0 (l.wu (+ s4 140))) lw v1, nav-control(s7) ;; [102] (set! v1 nav-control) lwu t9, 100(v1) ;; [103] (set! t9 (l.wu (+ v1 100))) lwu v1, 124(s4) ;; [104] (set! v1 (l.wu (+ s4 124))) daddiu a1, v1, 12 ;; [105] (set! a1 (+ v1 12)) lwu v1, 140(s4) ;; [106] (set! v1 (l.wu (+ s4 140))) daddiu v1, v1, 112 ;; [107] (set! v1 (+ v1 112)) lwu a2, 16(v1) ;; [108] (set! a2 (l.wu (+ v1 16))) or a3, s5, r0 ;; [109] (set! a3 s5) jalr ra, t9 ;; [110] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [111] (set! v1 v0) lqc2 vf1, 0(s5) ;; [112] (set! vf1 (l.vf s5)) vaddw.x vf2, vf0, vf0 ;; [113] (.vaddw.x vf2 vf0 vf0) vmul.xyzw vf1, vf1, vf1 ;; [114] (.vmul.xyzw vf1 vf1 vf1) vmulax.x acc, vf2, vf1 ;; [115] (.vmulax.x acc vf2 vf1) vmadday.x acc, vf2, vf1 ;; [116] (.vmadday.x acc vf2 vf1) vmaddz.x vf1, vf2, vf1 ;; [117] (.vmaddz.x vf1 vf2 vf1) qmfc2.i v1, vf1 ;; [118] (.qmfc2.i v1 vf1) mtc1 f0, v1 ;; [119] (set! f0 (gpr->fpr v1)) mtc1 f1, gp ;; [120] (set! f1 (gpr->fpr gp)) mul.s f1, f1, f1 ;; [121] (set! f1 (*.s f1 f1)) mfc1 v1, f1 ;; [122] (set! v1 (fpr->gpr f1)) mtc1 f1, v1 ;; [123] (set! f1 (gpr->fpr v1)) c.lt.s f0, f1 ;; [124] (b! (>=.s f0 f1) L28 (set! v0 #t)) bc1f L28 daddiu v0, s7, 4 B5: or v0, s7, r0 ;; [125] (set! v0 #f) B6: L28: ld ra, 0(sp) lwc1 f30, 400(sp) lq gp, 384(sp) lq s5, 368(sp) lq s4, 352(sp) lq s3, 336(sp) lq s2, 320(sp) lq s1, 304(sp) lq s0, 288(sp) jr ra daddiu sp, sp, 416 sll r0, r0, 0 sll r0, r0, 0 (set! s4 a0) (set! s5 a1) (set! s3 a2) (set! s2 a3) (set! s1 t0) (set! gp t1) (set! v1 (l.wu (+ s4 140))) (set! a0 (l.wu (+ v1 124))) (set! a0 (l.wu (+ a0 24))) (set! a0 (l.wu (+ a0 84))) (set! a1 (+ v1 64)) (set! a2 (l.wu (+ v1 124))) (set! a2 (+ a2 44)) (set! a3 (+ v1 96)) (set! t0 (l.w (+ v1 52))) (set! t1 0) (b! #t L27 (nop!)) (label L26) (set! t2 (+ a1 t1)) (set! t2 (l.bu t2)) (set! t2 (sll t2 4)) (set! t3 (+ a0 t2)) (set! t2 (l.wu (+ v1 56))) (set! t4 (sll t1 4)) (set! t2 (+ t2 t4)) (set! t6 t2) (set! t4 t3) (set! t5 a2) (set! t6 (vector-!2 t6 t4 t5)) (set! f0 (l.f (+ t3 12))) (set! f1 (l.f (+ a3 12))) (set! f0 (+.s f0 f1)) (s.f! (+ t2 12) f0) (set! t2 (fpr->gpr f0)) (set! t1 (+ t1 1)) (label L27) (b! (<.si t1 t0) L26 (nop!)) (set! v1 #f) (set! v1 #f) (set! v1 0) (set! s0 (+ sp 16)) (set! v1 (+ s0 0)) (set! a0 (l.wu (+ s4 124))) (set! a0 (+ a0 12)) (set! a1 (l.wu (+ s4 140))) (set! a1 (l.wu (+ a1 124))) (set! a1 (+ a1 44)) (set! v1 (vector-!2 v1 a0 a1)) (set! v1 (+ s0 16)) (stack-store v1 :offset 272 :sz 16) (set! t9 sin) (set! a0 s3) (call!) (set! f0 (gpr->fpr v0)) (stack-load v1 :offset 272 :sz 16 :sext #f) (s.f! v1 f0) (set! f0 0) (stack-load v1 :offset 272 :sz 16 :sext #f) (s.f! (+ v1 4) f0) (set! t9 cos) (set! a0 s3) (call!) (set! f0 (gpr->fpr v0)) (stack-load v1 :offset 272 :sz 16 :sext #f) (s.f! (+ v1 8) f0) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (stack-load v1 :offset 272 :sz 16 :sext #f) (s.f! (+ v1 12) f0) (set! v1 (+ s0 16)) (set! a0 (+ s0 16)) (set! f0 (gpr->fpr s1)) (set! v1 (vector-float*!2 v1 a0 f0)) (set! v1 (+ s0 32)) (set! a0 (+ s0 16)) (set! a0 (l.q a0)) (s.q! v1 a0) (set! a0 (l.wu (+ s4 140))) (set! v1 nav-control) (set! t9 (l.wu (+ v1 88))) (set! a1 s0) (call!) (set! v1 s5) (set! a0 (+ s0 48)) (set! a0 (l.q a0)) (s.q! v1 a0) (set! v1 0) (set! f30 (gpr->fpr s2)) (set! s2 deg-) (set! t9 atan) (set! f0 (l.f s5)) (set! a0 (fpr->gpr f0)) (set! f0 (l.f (+ s5 8))) (set! a1 (fpr->gpr f0)) (call!) (set! a1 v0) (set! t9 s2) (set! a0 s3) (call!) (set! f0 (gpr->fpr v0)) (set! f0 (abs.s f0)) (b! (<.s f30 f0) L28 (set! v0 #f)) (set! t0 (+ sp 112)) (set! a0 (l.wu (+ s4 140))) (set! v1 nav-control) (set! t9 (l.wu (+ v1 100))) (set! v1 (l.wu (+ s4 124))) (set! a1 (+ v1 12)) (set! v1 (l.wu (+ s4 140))) (set! v1 (+ v1 112)) (set! a2 (l.wu (+ v1 16))) (set! a3 s5) (call!) (set! v1 v0) (set! vf1 (l.vf s5)) (.vaddw.x vf2 vf0 vf0) (.vmul.xyzw vf1 vf1 vf1) (.vmulax.x acc vf2 vf1) (.vmadday.x acc vf2 vf1) (.vmaddz.x vf1 vf2 vf1) (.qmfc2.i v1 vf1) (set! f0 (gpr->fpr v1)) (set! f1 (gpr->fpr gp)) (set! f1 (*.s f1 f1)) (set! v1 (fpr->gpr f1)) (set! f1 (gpr->fpr v1)) (b! (>=.s f0 f1) L28 (set! v0 #t)) (set! v0 #f) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 79 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x40, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp s5 s4 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 79 ashelin) has unknown type L29: daddiu sp, sp, -64 sd ra, 0(sp) sq s4, 16(sp) sq s5, 32(sp) sq gp, 48(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) or s4, a2, r0 ;; [ 1] (set! s4 a2) addiu v1, r0, 3 ;; [ 2] (set! v1 3) bne a1, v1, L47 ;; [ 3] (b! (!= a1 v1) L47 (nop!)) sll r0, r0, 0 B1: lw t9, ja-done?(s7) ;; [ 4] (set! t9 ja-done?) addiu a0, r0, 0 ;; [ 5] (set! a0 0) jalr ra, t9 ;; [ 6] (call!) sll v0, ra, 0 or s5, v0, r0 ;; [ 7] (set! s5 v0) beql s7, s5, L31 ;; [ 8] (bl! (not s5) L31 (no-delay!)) B2: or v1, s5, r0 ;; [ 9] (set! v1 s5) B3: lwu v1, 136(gp) ;; [ 10] (set! v1 (l.wu (+ gp 136))) lbu v1, 3(v1) ;; [ 11] (set! v1 (l.bu (+ v1 3))) sltu v1, r0, v1 ;; [ 12] (b! (<=0.ui v1) L30 (set! v1 #f)) beq v1, r0, L30 or v1, s7, r0 B4: lwu v1, 136(gp) ;; [ 13] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [ 14] (set! v1 (l.wu (+ v1 12))) lwu v1, 4(v1) ;; [ 15] (set! v1 (l.wu (+ v1 4))) B5: L30: beql s7, v1, L31 ;; [ 16] (bl! (not v1) L31 (no-delay!)) B6: or v1, v1, r0 ;; [ 17] (set! v1 v1) B7: lwu a0, 132(gp) ;; [ 18] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 19] (set! a0 (l.wu (+ a0 8))) lwu a0, 92(a0) ;; [ 20] (set! a0 (l.wu (+ a0 92))) dsubu a0, v1, a0 ;; [ 21] (set! a1 (= v1 a0)) daddiu a1, s7, 4 movn a1, s7, a0 bnel s7, a1, L31 ;; [ 22] (bl! (truthy a1) L31 (no-delay!)) B8: or v1, a1, r0 ;; [ 23] (set! v1 a1) B9: lwu a0, 132(gp) ;; [ 24] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 25] (set! a0 (l.wu (+ a0 8))) lwu a0, 96(a0) ;; [ 26] (set! a0 (l.wu (+ a0 96))) dsubu a0, v1, a0 ;; [ 27] (set! a1 (= v1 a0)) daddiu a1, s7, 4 movn a1, s7, a0 bnel s7, a1, L31 ;; [ 28] (bl! (truthy a1) L31 (no-delay!)) B10: or v1, a1, r0 ;; [ 29] (set! v1 a1) B11: lwu a0, 132(gp) ;; [ 30] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 31] (set! a0 (l.wu (+ a0 8))) lwu a0, 100(a0) ;; [ 32] (set! a0 (l.wu (+ a0 100))) dsubu a0, v1, a0 ;; [ 33] (set! a1 (= v1 a0)) daddiu a1, s7, 4 movn a1, s7, a0 bnel s7, a1, L31 ;; [ 34] (bl! (truthy a1) L31 (no-delay!)) B12: or v1, a1, r0 ;; [ 35] (set! v1 a1) B13: lwu a0, 132(gp) ;; [ 36] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 37] (set! a0 (l.wu (+ a0 8))) lwu a0, 116(a0) ;; [ 38] (set! a0 (l.wu (+ a0 116))) dsubu a0, v1, a0 ;; [ 39] (set! a1 (= v1 a0)) daddiu a1, s7, 4 movn a1, s7, a0 bnel s7, a1, L31 ;; [ 40] (bl! (truthy a1) L31 (no-delay!)) B14: or v1, a1, r0 ;; [ 41] (set! v1 a1) B15: lwu a0, 132(gp) ;; [ 42] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 43] (set! a0 (l.wu (+ a0 8))) lwu a0, 120(a0) ;; [ 44] (set! a0 (l.wu (+ a0 120))) dsubu a0, v1, a0 ;; [ 45] (set! a1 (= v1 a0)) daddiu a1, s7, 4 movn a1, s7, a0 bnel s7, a1, L31 ;; [ 46] (bl! (truthy a1) L31 (no-delay!)) B16: or v1, a1, r0 ;; [ 47] (set! v1 a1) B17: lwu a0, 132(gp) ;; [ 48] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 49] (set! a0 (l.wu (+ a0 8))) lwu a0, 124(a0) ;; [ 50] (set! a0 (l.wu (+ a0 124))) dsubu a0, v1, a0 ;; [ 51] (set! v1 (= v1 a0)) daddiu v1, s7, 4 movn v1, s7, a0 B18: L31: beq s7, v1, L32 ;; [ 52] (b! (not v1) L32 (nop!)) sll r0, r0, 0 B19: lw t9, ja-channel-push!(s7);; [ 53] (set! t9 ja-channel-push!) addiu a0, r0, 1 ;; [ 54] (set! a0 1) addiu a1, r0, 9 ;; [ 55] (set! a1 9) jalr ra, t9 ;; [ 56] (call!) sll v0, ra, 0 lwu v1, 136(gp) ;; [ 57] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [ 58] (set! v1 (l.wu (+ v1 12))) daddu a0, r0, v1 ;; [ 59] (set! a0 (+ v1 0)) lwu v1, 132(gp) ;; [ 60] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [ 61] (set! v1 (l.wu (+ v1 8))) lwu v1, 128(v1) ;; [ 62] (set! v1 (l.wu (+ v1 128))) sw v1, 4(a0) ;; [ 63] (s.w! (+ a0 4) v1) lwu v1, 132(gp) ;; [ 64] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [ 65] (set! v1 (l.wu (+ v1 8))) lwu v1, 128(v1) ;; [ 66] (set! v1 (l.wu (+ v1 128))) lwu v1, 40(v1) ;; [ 67] (set! v1 (l.wu (+ v1 40))) lhu v1, 0(v1) ;; [ 68] (set! v1 (l.hu v1)) daddiu v1, v1, -1 ;; [ 69] (set! v1 (+ v1 -1)) mtc1 f0, v1 ;; [ 70] (set! f0 (gpr->fpr v1)) cvt.s.w f0, f0 ;; [ 71] (set! f0 (i2f f0)) swc1 f0, 20(a0) ;; [ 72] (s.f! (+ a0 20) f0) lui v1, 16256 ;; [ 73] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 74] (set! f0 (gpr->fpr v1)) swc1 f0, 24(a0) ;; [ 75] (s.f! (+ a0 24) f0) mtc1 f0, r0 ;; [ 76] (set! f0 0) swc1 f0, 8(a0) ;; [ 77] (s.f! (+ a0 8) f0) lw t9, joint-control-channel-group!(s7);; [ 78] (set! t9 joint-control-channel-group!) lwu v1, 132(gp) ;; [ 79] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [ 80] (set! v1 (l.wu (+ v1 8))) lwu a1, 128(v1) ;; [ 81] (set! a1 (l.wu (+ v1 128))) lw a2, num-func-seek!(s7) ;; [ 82] (set! a2 num-func-seek!) jalr ra, t9 ;; [ 83] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 84] (set! v1 v0) or s5, s7, r0 ;; [ 85] (set! s5 #f) or v1, s5, r0 ;; [ 86] (set! v1 s5) beq r0, r0, L46 ;; [ 87] (b! #t L46 (nop!)) sll r0, r0, 0 B20: L32: lwu v1, 136(gp) ;; [ 88] (set! v1 (l.wu (+ gp 136))) lbu v1, 3(v1) ;; [ 89] (set! v1 (l.bu (+ v1 3))) sltu v1, r0, v1 ;; [ 90] (b! (<=0.ui v1) L33 (set! v1 #f)) beq v1, r0, L33 or v1, s7, r0 B21: lwu v1, 136(gp) ;; [ 91] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [ 92] (set! v1 (l.wu (+ v1 12))) lwu v1, 4(v1) ;; [ 93] (set! v1 (l.wu (+ v1 4))) B22: L33: beql s7, v1, L34 ;; [ 94] (bl! (not v1) L34 (no-delay!)) B23: or a0, v1, r0 ;; [ 95] (set! a0 v1) B24: lwu a0, 132(gp) ;; [ 96] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 97] (set! a0 (l.wu (+ a0 8))) lwu a0, 60(a0) ;; [ 98] (set! a0 (l.wu (+ a0 60))) dsubu v1, v1, a0 ;; [ 99] (set! a0 (= v1 a0)) daddiu a0, s7, 4 movn a0, s7, v1 B25: L34: beq s7, a0, L39 ;; [100] (b! (not a0) L39 (set! v1 #f)) or v1, s7, r0 B26: lw t9, ja-aframe-num(s7) ;; [101] (set! t9 ja-aframe-num) addiu a0, r0, 0 ;; [102] (set! a0 0) jalr ra, t9 ;; [103] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [104] (set! f0 (gpr->fpr v0)) lui v1, 16816 ;; [105] (set! v1 #x41b00000) mtc1 f1, v1 ;; [106] (set! f1 (gpr->fpr v1)) c.lt.s f0, f1 ;; [107] (b! (<.s f0 f1) L37 (set! v1 #f)) bc1t L37 or v1, s7, r0 B27: lwu v1, 196(gp) ;; [108] (set! v1 (l.wu (+ gp 196))) andi v1, v1, 16 ;; [109] (set! v1 (logand v1 16)) beq v1, r0, L36 ;; [110] (b! (zero? v1) L36 (set! a0 #f)) or a0, s7, r0 B28: ld v1, 204(gp) ;; [111] (set! v1 (l.d (+ gp 204))) andi v1, v1, 16 ;; [112] (set! v1 (logand v1 16)) beq v1, r0, L35 ;; [113] (b! (zero? v1) L35 (nop!)) sll r0, r0, 0 B29: lwu v1, 196(gp) ;; [114] (set! v1 (l.wu (+ gp 196))) ori a0, v1, 16 ;; [115] (set! a0 (logior v1 16)) sw a0, 196(gp) ;; [116] (s.w! (+ gp 196) a0) beq r0, r0, L36 ;; [117] (b! #t L36 (nop!)) sll r0, r0, 0 B30: L35: addiu v1, r0, -17 ;; [118] (set! v1 -17) lwu a0, 196(gp) ;; [119] (set! a0 (l.wu (+ gp 196))) and a0, v1, a0 ;; [120] (set! a0 (logand v1 a0)) sw a0, 196(gp) ;; [121] (s.w! (+ gp 196) a0) B31: L36: beq r0, r0, L38 ;; [122] (b! #t L38 (nop!)) sll r0, r0, 0 B32: L37: lui v1, 16768 ;; [123] (set! v1 #x41800000) mtc1 f1, v1 ;; [124] (set! f1 (gpr->fpr v1)) c.lt.s f0, f1 ;; [125] (b! (<.s f0 f1) L38 (set! a0 #f)) bc1t L38 or a0, s7, r0 B33: lwu v1, 196(gp) ;; [126] (set! v1 (l.wu (+ gp 196))) andi v1, v1, 16 ;; [127] (set! v1 (logand v1 16)) bne v1, r0, L38 ;; [128] (b! (nonzero? v1) L38 (set! a0 #f)) or a0, s7, r0 B34: lwu v1, 196(gp) ;; [129] (set! v1 (l.wu (+ gp 196))) ori v1, v1, 16 ;; [130] (set! v1 (logior v1 16)) sw v1, 196(gp) ;; [131] (s.w! (+ gp 196) v1) lw v1, *game-info*(s7) ;; [132] (set! v1 *game-info*) lwu a0, 224(v1) ;; [133] (set! a0 (l.wu (+ v1 224))) daddiu a0, a0, 1 ;; [134] (set! a0 (+ a0 1)) sw a0, 224(v1) ;; [135] (s.w! (+ v1 224) a0) sw a0, 224(gp) ;; [136] (s.w! (+ gp 224) a0) B35: L38: beq r0, r0, L45 ;; [137] (b! #t L45 (nop!)) sll r0, r0, 0 B36: L39: lwu v1, 136(gp) ;; [138] (set! v1 (l.wu (+ gp 136))) lbu v1, 3(v1) ;; [139] (set! v1 (l.bu (+ v1 3))) sltu v1, r0, v1 ;; [140] (b! (<=0.ui v1) L40 (set! v1 #f)) beq v1, r0, L40 or v1, s7, r0 B37: lwu v1, 136(gp) ;; [141] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [142] (set! v1 (l.wu (+ v1 12))) lwu v1, 4(v1) ;; [143] (set! v1 (l.wu (+ v1 4))) B38: L40: beql s7, v1, L41 ;; [144] (bl! (not v1) L41 (no-delay!)) B39: or a0, v1, r0 ;; [145] (set! a0 v1) B40: lwu a0, 132(gp) ;; [146] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [147] (set! a0 (l.wu (+ a0 8))) lwu a0, 72(a0) ;; [148] (set! a0 (l.wu (+ a0 72))) dsubu v1, v1, a0 ;; [149] (set! a0 (= v1 a0)) daddiu a0, s7, 4 movn a0, s7, v1 B41: L41: beq s7, a0, L45 ;; [150] (b! (not a0) L45 (set! v1 #f)) or v1, s7, r0 B42: lw t9, ja-aframe-num(s7) ;; [151] (set! t9 ja-aframe-num) addiu a0, r0, 0 ;; [152] (set! a0 0) jalr ra, t9 ;; [153] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [154] (set! f0 (gpr->fpr v0)) lui v1, 16896 ;; [155] (set! v1 #x42000000) mtc1 f1, v1 ;; [156] (set! f1 (gpr->fpr v1)) c.lt.s f0, f1 ;; [157] (b! (<.s f0 f1) L44 (set! v1 #f)) bc1t L44 or v1, s7, r0 B43: lwu v1, 196(gp) ;; [158] (set! v1 (l.wu (+ gp 196))) andi v1, v1, 16 ;; [159] (set! v1 (logand v1 16)) beq v1, r0, L43 ;; [160] (b! (zero? v1) L43 (set! a0 #f)) or a0, s7, r0 B44: ld v1, 204(gp) ;; [161] (set! v1 (l.d (+ gp 204))) andi v1, v1, 16 ;; [162] (set! v1 (logand v1 16)) beq v1, r0, L42 ;; [163] (b! (zero? v1) L42 (nop!)) sll r0, r0, 0 B45: lwu v1, 196(gp) ;; [164] (set! v1 (l.wu (+ gp 196))) ori a0, v1, 16 ;; [165] (set! a0 (logior v1 16)) sw a0, 196(gp) ;; [166] (s.w! (+ gp 196) a0) beq r0, r0, L43 ;; [167] (b! #t L43 (nop!)) sll r0, r0, 0 B46: L42: addiu v1, r0, -17 ;; [168] (set! v1 -17) lwu a0, 196(gp) ;; [169] (set! a0 (l.wu (+ gp 196))) and a0, v1, a0 ;; [170] (set! a0 (logand v1 a0)) sw a0, 196(gp) ;; [171] (s.w! (+ gp 196) a0) B47: L43: beq r0, r0, L45 ;; [172] (b! #t L45 (nop!)) sll r0, r0, 0 B48: L44: lui v1, 16840 ;; [173] (set! v1 #x41c80000) mtc1 f1, v1 ;; [174] (set! f1 (gpr->fpr v1)) c.lt.s f0, f1 ;; [175] (b! (<.s f0 f1) L45 (set! a0 #f)) bc1t L45 or a0, s7, r0 B49: lwu v1, 196(gp) ;; [176] (set! v1 (l.wu (+ gp 196))) andi v1, v1, 16 ;; [177] (set! v1 (logand v1 16)) bne v1, r0, L45 ;; [178] (b! (nonzero? v1) L45 (set! a0 #f)) or a0, s7, r0 B50: lwu v1, 196(gp) ;; [179] (set! v1 (l.wu (+ gp 196))) ori v1, v1, 16 ;; [180] (set! v1 (logior v1 16)) sw v1, 196(gp) ;; [181] (s.w! (+ gp 196) v1) lw v1, *game-info*(s7) ;; [182] (set! v1 *game-info*) lwu a0, 224(v1) ;; [183] (set! a0 (l.wu (+ v1 224))) daddiu a0, a0, 1 ;; [184] (set! a0 (+ a0 1)) sw a0, 224(v1) ;; [185] (s.w! (+ v1 224) a0) sw a0, 224(gp) ;; [186] (s.w! (+ gp 224) a0) B51: L45: lwu v1, 136(gp) ;; [187] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [188] (set! v1 (l.wu (+ v1 12))) daddu a0, r0, v1 ;; [189] (set! a0 (+ v1 0)) lwu v1, 4(a0) ;; [190] (set! v1 (l.wu (+ a0 4))) lwu v1, 40(v1) ;; [191] (set! v1 (l.wu (+ v1 40))) lhu v1, 0(v1) ;; [192] (set! v1 (l.hu v1)) daddiu v1, v1, -1 ;; [193] (set! v1 (+ v1 -1)) mtc1 f0, v1 ;; [194] (set! f0 (gpr->fpr v1)) cvt.s.w f0, f0 ;; [195] (set! f0 (i2f f0)) swc1 f0, 20(a0) ;; [196] (s.f! (+ a0 20) f0) lwc1 f0, 0(s4) ;; [197] (set! f0 (l.f s4)) swc1 f0, 24(a0) ;; [198] (s.f! (+ a0 24) f0) lw t9, joint-control-channel-group-eval!(s7);; [199] (set! t9 joint-control-channel-group-eval!) or a1, s7, r0 ;; [200] (set! a1 #f) lw a2, num-func-seek!(s7) ;; [201] (set! a2 num-func-seek!) jalr ra, t9 ;; [202] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [203] (set! v1 v0) B52: L46: beq r0, r0, L48 ;; [204] (b! #t L48 (nop!)) sll r0, r0, 0 B53: L47: lw v1, bot(s7) ;; [205] (set! v1 bot) lwu t9, 332(v1) ;; [206] (set! t9 (l.wu (+ v1 332))) or a0, gp, r0 ;; [207] (set! a0 gp) or a2, s4, r0 ;; [208] (set! a2 s4) jalr ra, t9 ;; [209] (call!) sll v0, ra, 0 or s5, v0, r0 ;; [210] (set! s5 v0) B54: L48: or v0, s5, r0 ;; [211] (set! v0 s5) ld ra, 0(sp) lq gp, 48(sp) lq s5, 32(sp) lq s4, 16(sp) jr ra daddiu sp, sp, 64 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! s4 a2) (set! v1 3) (b! (!= a1 v1) L47 (nop!)) (set! t9 ja-done?) (set! a0 0) (call!) (set! s5 v0) (bl! (not s5) L31 (no-delay!)) (set! v1 s5) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.bu (+ v1 3))) (b! (<=0.ui v1) L30 (set! v1 #f)) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! v1 (l.wu (+ v1 4))) (label L30) (bl! (not v1) L31 (no-delay!)) (set! v1 v1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 92))) (set! a1 (= v1 a0)) (bl! (truthy a1) L31 (no-delay!)) (set! v1 a1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 96))) (set! a1 (= v1 a0)) (bl! (truthy a1) L31 (no-delay!)) (set! v1 a1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 100))) (set! a1 (= v1 a0)) (bl! (truthy a1) L31 (no-delay!)) (set! v1 a1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 116))) (set! a1 (= v1 a0)) (bl! (truthy a1) L31 (no-delay!)) (set! v1 a1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 120))) (set! a1 (= v1 a0)) (bl! (truthy a1) L31 (no-delay!)) (set! v1 a1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 124))) (set! v1 (= v1 a0)) (label L31) (b! (not v1) L32 (nop!)) (set! t9 ja-channel-push!) (set! a0 1) (set! a1 9) (call!) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 0)) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 128))) (s.w! (+ a0 4) v1) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 128))) (set! v1 (l.wu (+ v1 40))) (set! v1 (l.hu v1)) (set! v1 (+ v1 -1)) (set! f0 (gpr->fpr v1)) (set! f0 (i2f f0)) (s.f! (+ a0 20) f0) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (s.f! (+ a0 24) f0) (set! f0 0) (s.f! (+ a0 8) f0) (set! t9 joint-control-channel-group!) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! a1 (l.wu (+ v1 128))) (set! a2 num-func-seek!) (call!) (set! v1 v0) (set! s5 #f) (set! v1 s5) (b! #t L46 (nop!)) (label L32) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.bu (+ v1 3))) (b! (<=0.ui v1) L33 (set! v1 #f)) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! v1 (l.wu (+ v1 4))) (label L33) (bl! (not v1) L34 (no-delay!)) (set! a0 v1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 60))) (set! a0 (= v1 a0)) (label L34) (b! (not a0) L39 (set! v1 #f)) (set! t9 ja-aframe-num) (set! a0 0) (call!) (set! f0 (gpr->fpr v0)) (set! v1 #x41b00000) (set! f1 (gpr->fpr v1)) (b! (<.s f0 f1) L37 (set! v1 #f)) (set! v1 (l.wu (+ gp 196))) (set! v1 (logand v1 16)) (b! (zero? v1) L36 (set! a0 #f)) (set! v1 (l.d (+ gp 204))) (set! v1 (logand v1 16)) (b! (zero? v1) L35 (nop!)) (set! v1 (l.wu (+ gp 196))) (set! a0 (logior v1 16)) (s.w! (+ gp 196) a0) (b! #t L36 (nop!)) (label L35) (set! v1 -17) (set! a0 (l.wu (+ gp 196))) (set! a0 (logand v1 a0)) (s.w! (+ gp 196) a0) (label L36) (b! #t L38 (nop!)) (label L37) (set! v1 #x41800000) (set! f1 (gpr->fpr v1)) (b! (<.s f0 f1) L38 (set! a0 #f)) (set! v1 (l.wu (+ gp 196))) (set! v1 (logand v1 16)) (b! (nonzero? v1) L38 (set! a0 #f)) (set! v1 (l.wu (+ gp 196))) (set! v1 (logior v1 16)) (s.w! (+ gp 196) v1) (set! v1 *game-info*) (set! a0 (l.wu (+ v1 224))) (set! a0 (+ a0 1)) (s.w! (+ v1 224) a0) (s.w! (+ gp 224) a0) (label L38) (b! #t L45 (nop!)) (label L39) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.bu (+ v1 3))) (b! (<=0.ui v1) L40 (set! v1 #f)) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! v1 (l.wu (+ v1 4))) (label L40) (bl! (not v1) L41 (no-delay!)) (set! a0 v1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 72))) (set! a0 (= v1 a0)) (label L41) (b! (not a0) L45 (set! v1 #f)) (set! t9 ja-aframe-num) (set! a0 0) (call!) (set! f0 (gpr->fpr v0)) (set! v1 #x42000000) (set! f1 (gpr->fpr v1)) (b! (<.s f0 f1) L44 (set! v1 #f)) (set! v1 (l.wu (+ gp 196))) (set! v1 (logand v1 16)) (b! (zero? v1) L43 (set! a0 #f)) (set! v1 (l.d (+ gp 204))) (set! v1 (logand v1 16)) (b! (zero? v1) L42 (nop!)) (set! v1 (l.wu (+ gp 196))) (set! a0 (logior v1 16)) (s.w! (+ gp 196) a0) (b! #t L43 (nop!)) (label L42) (set! v1 -17) (set! a0 (l.wu (+ gp 196))) (set! a0 (logand v1 a0)) (s.w! (+ gp 196) a0) (label L43) (b! #t L45 (nop!)) (label L44) (set! v1 #x41c80000) (set! f1 (gpr->fpr v1)) (b! (<.s f0 f1) L45 (set! a0 #f)) (set! v1 (l.wu (+ gp 196))) (set! v1 (logand v1 16)) (b! (nonzero? v1) L45 (set! a0 #f)) (set! v1 (l.wu (+ gp 196))) (set! v1 (logior v1 16)) (s.w! (+ gp 196) v1) (set! v1 *game-info*) (set! a0 (l.wu (+ v1 224))) (set! a0 (+ a0 1)) (s.w! (+ v1 224) a0) (s.w! (+ gp 224) a0) (label L45) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 0)) (set! v1 (l.wu (+ a0 4))) (set! v1 (l.wu (+ v1 40))) (set! v1 (l.hu v1)) (set! v1 (+ v1 -1)) (set! f0 (gpr->fpr v1)) (set! f0 (i2f f0)) (s.f! (+ a0 20) f0) (set! f0 (l.f s4)) (s.f! (+ a0 24) f0) (set! t9 joint-control-channel-group-eval!) (set! a1 #f) (set! a2 num-func-seek!) (call!) (set! v1 v0) (label L46) (b! #t L48 (nop!)) (label L47) (set! v1 bot) (set! t9 (l.wu (+ v1 332))) (set! a0 gp) (set! a2 s4) (call!) (set! s5 v0) (label L48) (set! v0 s5) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 78 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x30, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp s5 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 78 ashelin) has unknown type L49: daddiu sp, sp, -48 sd ra, 0(sp) sq s5, 16(sp) sq gp, 32(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lbu v1, 416(gp) ;; [ 1] (set! v1 (l.bu (+ gp 416))) addiu a0, r0, 6 ;; [ 2] (set! a0 6) bne v1, a0, L50 ;; [ 3] (b! (!= v1 a0) L50 (nop!)) sll r0, r0, 0 B1: lw v1, *ashelin-global-info*(s7);; [ 4] (set! v1 *ashelin-global-info*) lb a0, 0(v1) ;; [ 5] (set! a0 (l.b v1)) dsll a0, a0, 2 ;; [ 6] (set! a0 (sll a0 2)) daddu v1, v1, a0 ;; [ 7] (set! v1 (+ v1 a0)) lw v1, 28(v1) ;; [ 8] (set! v1 (l.w (+ v1 28))) dsll v1, v1, 2 ;; [ 9] (set! v1 (sll v1 2)) lwu a0, 132(gp) ;; [ 10] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 11] (set! a0 (l.wu (+ a0 8))) daddu v1, v1, a0 ;; [ 12] (set! v1 (+ v1 a0)) lwu s5, 28(v1) ;; [ 13] (set! s5 (l.wu (+ v1 28))) lw t9, ja-channel-push!(s7);; [ 14] (set! t9 ja-channel-push!) addiu a0, r0, 1 ;; [ 15] (set! a0 1) addiu a1, r0, 51 ;; [ 16] (set! a1 51) jalr ra, t9 ;; [ 17] (call!) sll v0, ra, 0 lwu v1, 136(gp) ;; [ 18] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [ 19] (set! v1 (l.wu (+ v1 12))) daddu a0, r0, v1 ;; [ 20] (set! a0 (+ v1 0)) sw s5, 4(a0) ;; [ 21] (s.w! (+ a0 4) s5) lwu v1, 40(s5) ;; [ 22] (set! v1 (l.wu (+ s5 40))) lhu v1, 0(v1) ;; [ 23] (set! v1 (l.hu v1)) daddiu v1, v1, -1 ;; [ 24] (set! v1 (+ v1 -1)) mtc1 f0, v1 ;; [ 25] (set! f0 (gpr->fpr v1)) cvt.s.w f0, f0 ;; [ 26] (set! f0 (i2f f0)) swc1 f0, 20(a0) ;; [ 27] (s.f! (+ a0 20) f0) lui v1, 16256 ;; [ 28] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 29] (set! f0 (gpr->fpr v1)) swc1 f0, 24(a0) ;; [ 30] (s.f! (+ a0 24) f0) mtc1 f0, r0 ;; [ 31] (set! f0 0) swc1 f0, 8(a0) ;; [ 32] (s.f! (+ a0 8) f0) lw t9, joint-control-channel-group!(s7);; [ 33] (set! t9 joint-control-channel-group!) lw a2, num-func-seek!(s7) ;; [ 34] (set! a2 num-func-seek!) or a1, s5, r0 ;; [ 35] (set! a1 s5) jalr ra, t9 ;; [ 36] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 37] (set! v1 v0) daddiu v0, s7, #t ;; [ 38] (set! v0 #t) beq r0, r0, L60 ;; [ 39] (b! #t L60 (nop!)) sll r0, r0, 0 B2: L50: lwu v1, 136(gp) ;; [ 40] (set! v1 (l.wu (+ gp 136))) lbu v1, 3(v1) ;; [ 41] (set! v1 (l.bu (+ v1 3))) sltu v1, r0, v1 ;; [ 42] (b! (<=0.ui v1) L51 (set! v1 #f)) beq v1, r0, L51 or v1, s7, r0 B3: lwu v1, 136(gp) ;; [ 43] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [ 44] (set! v1 (l.wu (+ v1 12))) lwu v1, 4(v1) ;; [ 45] (set! v1 (l.wu (+ v1 4))) B4: L51: beql s7, v1, L52 ;; [ 46] (bl! (not v1) L52 (no-delay!)) B5: or a0, v1, r0 ;; [ 47] (set! a0 v1) B6: lwu a0, 132(gp) ;; [ 48] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 49] (set! a0 (l.wu (+ a0 8))) lwu a0, 56(a0) ;; [ 50] (set! a0 (l.wu (+ a0 56))) dsubu v1, v1, a0 ;; [ 51] (set! a0 (= v1 a0)) daddiu a0, s7, 4 movn a0, s7, v1 B7: L52: beq s7, a0, L56 ;; [ 52] (b! (not a0) L56 (nop!)) sll r0, r0, 0 B8: lw v1, 216(gp) ;; [ 53] (set! v1 (l.w (+ gp 216))) beql v1, r0, L53 ;; [ 54] (bl! (zero? v1) L53 (no-delay!)) B9: daddiu v1, s7, 4 ;; [ 55] (set! v1 #t) B10: daddiu v1, s7, 4 ;; [ 56] (set! v1 #t) ld a0, 332(gp) ;; [ 57] (set! a0 (l.d (+ gp 332))) movz v1, s7, a0 ;; [ 58] (cmove-#f-zero v1 a0 v1) B11: L53: beq s7, v1, L54 ;; [ 59] (b! (not v1) L54 (nop!)) sll r0, r0, 0 B12: lw t9, ja-channel-push!(s7);; [ 60] (set! t9 ja-channel-push!) addiu a0, r0, 1 ;; [ 61] (set! a0 1) addiu a1, r0, 51 ;; [ 62] (set! a1 51) jalr ra, t9 ;; [ 63] (call!) sll v0, ra, 0 lwu v1, 136(gp) ;; [ 64] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [ 65] (set! v1 (l.wu (+ v1 12))) daddu a0, r0, v1 ;; [ 66] (set! a0 (+ v1 0)) lwu v1, 132(gp) ;; [ 67] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [ 68] (set! v1 (l.wu (+ v1 8))) lwu v1, 64(v1) ;; [ 69] (set! v1 (l.wu (+ v1 64))) sw v1, 4(a0) ;; [ 70] (s.w! (+ a0 4) v1) lwu v1, 132(gp) ;; [ 71] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [ 72] (set! v1 (l.wu (+ v1 8))) lwu v1, 64(v1) ;; [ 73] (set! v1 (l.wu (+ v1 64))) lwu v1, 40(v1) ;; [ 74] (set! v1 (l.wu (+ v1 40))) lhu v1, 0(v1) ;; [ 75] (set! v1 (l.hu v1)) daddiu v1, v1, -1 ;; [ 76] (set! v1 (+ v1 -1)) mtc1 f0, v1 ;; [ 77] (set! f0 (gpr->fpr v1)) cvt.s.w f0, f0 ;; [ 78] (set! f0 (i2f f0)) swc1 f0, 20(a0) ;; [ 79] (s.f! (+ a0 20) f0) lui v1, 16256 ;; [ 80] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 81] (set! f0 (gpr->fpr v1)) swc1 f0, 24(a0) ;; [ 82] (s.f! (+ a0 24) f0) mtc1 f0, r0 ;; [ 83] (set! f0 0) swc1 f0, 8(a0) ;; [ 84] (s.f! (+ a0 8) f0) lw t9, joint-control-channel-group!(s7);; [ 85] (set! t9 joint-control-channel-group!) lwu v1, 132(gp) ;; [ 86] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [ 87] (set! v1 (l.wu (+ v1 8))) lwu a1, 64(v1) ;; [ 88] (set! a1 (l.wu (+ v1 64))) lw a2, num-func-seek!(s7) ;; [ 89] (set! a2 num-func-seek!) jalr ra, t9 ;; [ 90] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 91] (set! v1 v0) or v0, s7, r0 ;; [ 92] (set! v0 #f) beq r0, r0, L55 ;; [ 93] (b! #t L55 (nop!)) sll r0, r0, 0 B13: L54: lw t9, ja-channel-push!(s7);; [ 94] (set! t9 ja-channel-push!) addiu a0, r0, 1 ;; [ 95] (set! a0 1) addiu a1, r0, 51 ;; [ 96] (set! a1 51) jalr ra, t9 ;; [ 97] (call!) sll v0, ra, 0 lwu v1, 136(gp) ;; [ 98] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [ 99] (set! v1 (l.wu (+ v1 12))) daddu a0, r0, v1 ;; [100] (set! a0 (+ v1 0)) lwu v1, 132(gp) ;; [101] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [102] (set! v1 (l.wu (+ v1 8))) lwu v1, 60(v1) ;; [103] (set! v1 (l.wu (+ v1 60))) sw v1, 4(a0) ;; [104] (s.w! (+ a0 4) v1) lwu v1, 132(gp) ;; [105] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [106] (set! v1 (l.wu (+ v1 8))) lwu v1, 60(v1) ;; [107] (set! v1 (l.wu (+ v1 60))) lwu v1, 40(v1) ;; [108] (set! v1 (l.wu (+ v1 40))) lhu v1, 0(v1) ;; [109] (set! v1 (l.hu v1)) daddiu v1, v1, -1 ;; [110] (set! v1 (+ v1 -1)) mtc1 f0, v1 ;; [111] (set! f0 (gpr->fpr v1)) cvt.s.w f0, f0 ;; [112] (set! f0 (i2f f0)) swc1 f0, 20(a0) ;; [113] (s.f! (+ a0 20) f0) lui v1, 16256 ;; [114] (set! v1 #x3f800000) mtc1 f0, v1 ;; [115] (set! f0 (gpr->fpr v1)) swc1 f0, 24(a0) ;; [116] (s.f! (+ a0 24) f0) mtc1 f0, r0 ;; [117] (set! f0 0) swc1 f0, 8(a0) ;; [118] (s.f! (+ a0 8) f0) lw t9, joint-control-channel-group!(s7);; [119] (set! t9 joint-control-channel-group!) lwu v1, 132(gp) ;; [120] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [121] (set! v1 (l.wu (+ v1 8))) lwu a1, 60(v1) ;; [122] (set! a1 (l.wu (+ v1 60))) lw a2, num-func-seek!(s7) ;; [123] (set! a2 num-func-seek!) jalr ra, t9 ;; [124] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [125] (set! v1 v0) daddiu v0, s7, #t ;; [126] (set! v0 #t) B14: L55: beq r0, r0, L60 ;; [127] (b! #t L60 (nop!)) sll r0, r0, 0 B15: L56: lw v1, 216(gp) ;; [128] (set! v1 (l.w (+ gp 216))) beql v1, r0, L57 ;; [129] (bl! (zero? v1) L57 (no-delay!)) B16: daddiu v1, s7, 4 ;; [130] (set! v1 #t) B17: daddiu v1, s7, 4 ;; [131] (set! v1 #t) ld a0, 332(gp) ;; [132] (set! a0 (l.d (+ gp 332))) movz v1, s7, a0 ;; [133] (cmove-#f-zero v1 a0 v1) B18: L57: beql s7, v1, L58 ;; [134] (bl! (not v1) L58 (no-delay!)) B19: or s5, v1, r0 ;; [135] (set! s5 v1) B20: daddiu s5, s7, 4 ;; [136] (set! s5 #t) or a0, gp, r0 ;; [137] (set! a0 gp) lwu v1, -4(a0) ;; [138] (set! v1 (l.wu (+ a0 -4))) lwu t9, 492(v1) ;; [139] (set! t9 (l.wu (+ v1 492))) addiu a1, r0, 3 ;; [140] (set! a1 3) jalr ra, t9 ;; [141] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [142] (set! v1 v0) movz s5, s7, v1 ;; [143] (cmove-#f-zero s5 v1 s5) B21: L58: beq s7, s5, L59 ;; [144] (b! (not s5) L59 (nop!)) sll r0, r0, 0 B22: lw t9, ja-channel-push!(s7);; [145] (set! t9 ja-channel-push!) addiu a0, r0, 1 ;; [146] (set! a0 1) addiu a1, r0, 51 ;; [147] (set! a1 51) jalr ra, t9 ;; [148] (call!) sll v0, ra, 0 lwu v1, 136(gp) ;; [149] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [150] (set! v1 (l.wu (+ v1 12))) daddu a0, r0, v1 ;; [151] (set! a0 (+ v1 0)) lwu v1, 132(gp) ;; [152] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [153] (set! v1 (l.wu (+ v1 8))) lwu v1, 76(v1) ;; [154] (set! v1 (l.wu (+ v1 76))) sw v1, 4(a0) ;; [155] (s.w! (+ a0 4) v1) lwu v1, 132(gp) ;; [156] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [157] (set! v1 (l.wu (+ v1 8))) lwu v1, 76(v1) ;; [158] (set! v1 (l.wu (+ v1 76))) lwu v1, 40(v1) ;; [159] (set! v1 (l.wu (+ v1 40))) lhu v1, 0(v1) ;; [160] (set! v1 (l.hu v1)) daddiu v1, v1, -1 ;; [161] (set! v1 (+ v1 -1)) mtc1 f0, v1 ;; [162] (set! f0 (gpr->fpr v1)) cvt.s.w f0, f0 ;; [163] (set! f0 (i2f f0)) swc1 f0, 20(a0) ;; [164] (s.f! (+ a0 20) f0) lui v1, 16256 ;; [165] (set! v1 #x3f800000) mtc1 f0, v1 ;; [166] (set! f0 (gpr->fpr v1)) swc1 f0, 24(a0) ;; [167] (s.f! (+ a0 24) f0) mtc1 f0, r0 ;; [168] (set! f0 0) swc1 f0, 8(a0) ;; [169] (s.f! (+ a0 8) f0) lw t9, joint-control-channel-group!(s7);; [170] (set! t9 joint-control-channel-group!) lwu v1, 132(gp) ;; [171] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [172] (set! v1 (l.wu (+ v1 8))) lwu a1, 76(v1) ;; [173] (set! a1 (l.wu (+ v1 76))) lw a2, num-func-seek!(s7) ;; [174] (set! a2 num-func-seek!) jalr ra, t9 ;; [175] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [176] (set! v1 v0) or v0, s7, r0 ;; [177] (set! v0 #f) beq r0, r0, L60 ;; [178] (b! #t L60 (nop!)) sll r0, r0, 0 B23: L59: lw t9, ja-channel-push!(s7);; [179] (set! t9 ja-channel-push!) addiu a0, r0, 1 ;; [180] (set! a0 1) addiu a1, r0, 51 ;; [181] (set! a1 51) jalr ra, t9 ;; [182] (call!) sll v0, ra, 0 lwu v1, 136(gp) ;; [183] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [184] (set! v1 (l.wu (+ v1 12))) daddu a0, r0, v1 ;; [185] (set! a0 (+ v1 0)) lwu v1, 132(gp) ;; [186] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [187] (set! v1 (l.wu (+ v1 8))) lwu v1, 72(v1) ;; [188] (set! v1 (l.wu (+ v1 72))) sw v1, 4(a0) ;; [189] (s.w! (+ a0 4) v1) lwu v1, 132(gp) ;; [190] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [191] (set! v1 (l.wu (+ v1 8))) lwu v1, 72(v1) ;; [192] (set! v1 (l.wu (+ v1 72))) lwu v1, 40(v1) ;; [193] (set! v1 (l.wu (+ v1 40))) lhu v1, 0(v1) ;; [194] (set! v1 (l.hu v1)) daddiu v1, v1, -1 ;; [195] (set! v1 (+ v1 -1)) mtc1 f0, v1 ;; [196] (set! f0 (gpr->fpr v1)) cvt.s.w f0, f0 ;; [197] (set! f0 (i2f f0)) swc1 f0, 20(a0) ;; [198] (s.f! (+ a0 20) f0) lui v1, 16256 ;; [199] (set! v1 #x3f800000) mtc1 f0, v1 ;; [200] (set! f0 (gpr->fpr v1)) swc1 f0, 24(a0) ;; [201] (s.f! (+ a0 24) f0) mtc1 f0, r0 ;; [202] (set! f0 0) swc1 f0, 8(a0) ;; [203] (s.f! (+ a0 8) f0) lw t9, joint-control-channel-group!(s7);; [204] (set! t9 joint-control-channel-group!) lwu v1, 132(gp) ;; [205] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [206] (set! v1 (l.wu (+ v1 8))) lwu a1, 72(v1) ;; [207] (set! a1 (l.wu (+ v1 72))) lw a2, num-func-seek!(s7) ;; [208] (set! a2 num-func-seek!) jalr ra, t9 ;; [209] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [210] (set! v1 v0) daddiu v0, s7, #t ;; [211] (set! v0 #t) B24: L60: ld ra, 0(sp) lq gp, 32(sp) lq s5, 16(sp) jr ra daddiu sp, sp, 48 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! v1 (l.bu (+ gp 416))) (set! a0 6) (b! (!= v1 a0) L50 (nop!)) (set! v1 *ashelin-global-info*) (set! a0 (l.b v1)) (set! a0 (sll a0 2)) (set! v1 (+ v1 a0)) (set! v1 (l.w (+ v1 28))) (set! v1 (sll v1 2)) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! v1 (+ v1 a0)) (set! s5 (l.wu (+ v1 28))) (set! t9 ja-channel-push!) (set! a0 1) (set! a1 51) (call!) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 0)) (s.w! (+ a0 4) s5) (set! v1 (l.wu (+ s5 40))) (set! v1 (l.hu v1)) (set! v1 (+ v1 -1)) (set! f0 (gpr->fpr v1)) (set! f0 (i2f f0)) (s.f! (+ a0 20) f0) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (s.f! (+ a0 24) f0) (set! f0 0) (s.f! (+ a0 8) f0) (set! t9 joint-control-channel-group!) (set! a2 num-func-seek!) (set! a1 s5) (call!) (set! v1 v0) (set! v0 #t) (b! #t L60 (nop!)) (label L50) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.bu (+ v1 3))) (b! (<=0.ui v1) L51 (set! v1 #f)) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! v1 (l.wu (+ v1 4))) (label L51) (bl! (not v1) L52 (no-delay!)) (set! a0 v1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 56))) (set! a0 (= v1 a0)) (label L52) (b! (not a0) L56 (nop!)) (set! v1 (l.w (+ gp 216))) (bl! (zero? v1) L53 (no-delay!)) (set! v1 #t) (set! v1 #t) (set! a0 (l.d (+ gp 332))) (cmove-#f-zero v1 a0 v1) (label L53) (b! (not v1) L54 (nop!)) (set! t9 ja-channel-push!) (set! a0 1) (set! a1 51) (call!) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 0)) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 64))) (s.w! (+ a0 4) v1) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 64))) (set! v1 (l.wu (+ v1 40))) (set! v1 (l.hu v1)) (set! v1 (+ v1 -1)) (set! f0 (gpr->fpr v1)) (set! f0 (i2f f0)) (s.f! (+ a0 20) f0) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (s.f! (+ a0 24) f0) (set! f0 0) (s.f! (+ a0 8) f0) (set! t9 joint-control-channel-group!) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! a1 (l.wu (+ v1 64))) (set! a2 num-func-seek!) (call!) (set! v1 v0) (set! v0 #f) (b! #t L55 (nop!)) (label L54) (set! t9 ja-channel-push!) (set! a0 1) (set! a1 51) (call!) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 0)) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 60))) (s.w! (+ a0 4) v1) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 60))) (set! v1 (l.wu (+ v1 40))) (set! v1 (l.hu v1)) (set! v1 (+ v1 -1)) (set! f0 (gpr->fpr v1)) (set! f0 (i2f f0)) (s.f! (+ a0 20) f0) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (s.f! (+ a0 24) f0) (set! f0 0) (s.f! (+ a0 8) f0) (set! t9 joint-control-channel-group!) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! a1 (l.wu (+ v1 60))) (set! a2 num-func-seek!) (call!) (set! v1 v0) (set! v0 #t) (label L55) (b! #t L60 (nop!)) (label L56) (set! v1 (l.w (+ gp 216))) (bl! (zero? v1) L57 (no-delay!)) (set! v1 #t) (set! v1 #t) (set! a0 (l.d (+ gp 332))) (cmove-#f-zero v1 a0 v1) (label L57) (bl! (not v1) L58 (no-delay!)) (set! s5 v1) (set! s5 #t) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 492))) (set! a1 3) (call!) (set! v1 v0) (cmove-#f-zero s5 v1 s5) (label L58) (b! (not s5) L59 (nop!)) (set! t9 ja-channel-push!) (set! a0 1) (set! a1 51) (call!) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 0)) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 76))) (s.w! (+ a0 4) v1) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 76))) (set! v1 (l.wu (+ v1 40))) (set! v1 (l.hu v1)) (set! v1 (+ v1 -1)) (set! f0 (gpr->fpr v1)) (set! f0 (i2f f0)) (s.f! (+ a0 20) f0) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (s.f! (+ a0 24) f0) (set! f0 0) (s.f! (+ a0 8) f0) (set! t9 joint-control-channel-group!) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! a1 (l.wu (+ v1 76))) (set! a2 num-func-seek!) (call!) (set! v1 v0) (set! v0 #f) (b! #t L60 (nop!)) (label L59) (set! t9 ja-channel-push!) (set! a0 1) (set! a1 51) (call!) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 0)) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 72))) (s.w! (+ a0 4) v1) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 72))) (set! v1 (l.wu (+ v1 40))) (set! v1 (l.hu v1)) (set! v1 (+ v1 -1)) (set! f0 (gpr->fpr v1)) (set! f0 (i2f f0)) (s.f! (+ a0 20) f0) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (s.f! (+ a0 24) f0) (set! f0 0) (s.f! (+ a0 8) f0) (set! t9 joint-control-channel-group!) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! a1 (l.wu (+ v1 72))) (set! a2 num-func-seek!) (call!) (set! v1 v0) (set! v0 #t) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 77 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x60, fp? 0 ra? 1 ep? 1 ;stack_vars: 24 bytes at 8 ;gprs: gp s5 s4 ;fprs: f30 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 77 ashelin) has unknown type L61: daddiu sp, sp, -96 sd ra, 0(sp) sq s4, 32(sp) sq s5, 48(sp) sq gp, 64(sp) swc1 f30, 80(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) or s5, a1, r0 ;; [ 1] (set! s5 a1) lbu v1, 416(gp) ;; [ 2] (set! v1 (l.bu (+ gp 416))) addiu a0, r0, 6 ;; [ 3] (set! a0 6) bne v1, a0, L69 ;; [ 4] (b! (!= v1 a0) L69 (nop!)) sll r0, r0, 0 B1: addiu v1, r0, 1 ;; [ 5] (set! v1 1) lw a0, *ashelin-global-info*(s7);; [ 6] (set! a0 *ashelin-global-info*) lb a0, 0(a0) ;; [ 7] (set! a0 (l.b a0)) bgezl a0, L62 ;; [ 8] (bl! (>=0.si a0) L62 (no-delay!)) B2: dsllv s5, v1, a0 ;; [ 9] (set! s5 (sll v1 a0)) B3: dsubu a0, r0, a0 ;; [ 10] (set! a0 (- a0)) dsrav s5, v1, a0 ;; [ 11] (set! s5 (sra v1 a0)) B4: L62: daddiu s4, sp, 16 ;; [ 12] (set! s4 (+ sp 16)) mtc1 f0, r0 ;; [ 13] (set! f0 0) mtc1 f0, r0 ;; [ 14] (set! f0 0) lw t9, vector-z-quaternion!(s7);; [ 15] (set! t9 vector-z-quaternion!) or a0, s4, r0 ;; [ 16] (set! a0 s4) lwu v1, 124(gp) ;; [ 17] (set! v1 (l.wu (+ gp 124))) daddiu a1, v1, 28 ;; [ 18] (set! a1 (+ v1 28)) jalr ra, t9 ;; [ 19] (call!) sll v0, ra, 0 lw t9, atan(s7) ;; [ 20] (set! t9 atan) lwc1 f0, 0(s4) ;; [ 21] (set! f0 (l.f s4)) mfc1 a0, f0 ;; [ 22] (set! a0 (fpr->gpr f0)) lwc1 f0, 8(s4) ;; [ 23] (set! f0 (l.f (+ s4 8))) mfc1 a1, f0 ;; [ 24] (set! a1 (fpr->gpr f0)) jalr ra, t9 ;; [ 25] (call!) sll v0, ra, 0 mtc1 f30, v0 ;; [ 26] (set! f30 (gpr->fpr v0)) or a0, gp, r0 ;; [ 27] (set! a0 gp) lwu v1, -4(a0) ;; [ 28] (set! v1 (l.wu (+ a0 -4))) lwu t9, 216(v1) ;; [ 29] (set! t9 (l.wu (+ v1 216))) or a1, s4, r0 ;; [ 30] (set! a1 s4) jalr ra, t9 ;; [ 31] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 32] (set! v1 v0) lw t9, atan(s7) ;; [ 33] (set! t9 atan) lwc1 f0, 0(s4) ;; [ 34] (set! f0 (l.f s4)) mfc1 a0, f0 ;; [ 35] (set! a0 (fpr->gpr f0)) lwc1 f0, 8(s4) ;; [ 36] (set! f0 (l.f (+ s4 8))) mfc1 a1, f0 ;; [ 37] (set! a1 (fpr->gpr f0)) jalr ra, t9 ;; [ 38] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [ 39] (set! f0 (gpr->fpr v0)) lw t9, deg-(s7) ;; [ 40] (set! t9 deg-) mfc1 a0, f0 ;; [ 41] (set! a0 (fpr->gpr f0)) mfc1 a1, f30 ;; [ 42] (set! a1 (fpr->gpr f30)) jalr ra, t9 ;; [ 43] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [ 44] (set! f0 (gpr->fpr v0)) abs.s f0, f0 ;; [ 45] (set! f0 (abs.s f0)) lui v1, 18048 ;; [ 46] (set! v1 #x46800000) mtc1 f1, v1 ;; [ 47] (set! f1 (gpr->fpr v1)) c.lt.s f1, f0 ;; [ 48] (b! (<.s f1 f0) L63 (nop!)) bc1t L63 sll r0, r0, 0 B5: ori a2, s5, 7 ;; [ 49] (set! a2 (logior s5 7)) or v1, a2, r0 ;; [ 50] (set! v1 a2) beq r0, r0, L64 ;; [ 51] (b! #t L64 (nop!)) sll r0, r0, 0 B6: L63: ori a2, s5, 56 ;; [ 52] (set! a2 (logior s5 56)) or v1, a2, r0 ;; [ 53] (set! v1 a2) B7: L64: or a0, gp, r0 ;; [ 54] (set! a0 gp) lwu v1, -4(a0) ;; [ 55] (set! v1 (l.wu (+ a0 -4))) lwu t9, 496(v1) ;; [ 56] (set! t9 (l.wu (+ v1 496))) addiu a1, r0, 6 ;; [ 57] (set! a1 6) jalr ra, t9 ;; [ 58] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 59] (set! v1 v0) lw a0, *ashelin-global-info*(s7);; [ 60] (set! a0 *ashelin-global-info*) dsll a1, v1, 2 ;; [ 61] (set! a1 (sll v1 2)) daddu a0, a0, a1 ;; [ 62] (set! a0 (+ a0 a1)) lw a0, 4(a0) ;; [ 63] (set! a0 (l.w (+ a0 4))) dsll a0, a0, 2 ;; [ 64] (set! a0 (sll a0 2)) lwu a1, 132(gp) ;; [ 65] (set! a1 (l.wu (+ gp 132))) lwu a1, 8(a1) ;; [ 66] (set! a1 (l.wu (+ a1 8))) daddu a0, a0, a1 ;; [ 67] (set! a0 (+ a0 a1)) lwu s5, 28(a0) ;; [ 68] (set! s5 (l.wu (+ a0 28))) lw a0, *ashelin-global-info*(s7);; [ 69] (set! a0 *ashelin-global-info*) sb v1, 0(a0) ;; [ 70] (s.b! a0 v1) lwu v1, 136(gp) ;; [ 71] (set! v1 (l.wu (+ gp 136))) lbu v1, 3(v1) ;; [ 72] (set! v1 (l.bu (+ v1 3))) sltu v1, r0, v1 ;; [ 73] (b! (<=0.ui v1) L65 (set! v1 #f)) beq v1, r0, L65 or v1, s7, r0 B8: lwu v1, 136(gp) ;; [ 74] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [ 75] (set! v1 (l.wu (+ v1 12))) lwu v1, 4(v1) ;; [ 76] (set! v1 (l.wu (+ v1 4))) B9: L65: beql s7, v1, L66 ;; [ 77] (bl! (not v1) L66 (no-delay!)) B10: or a0, v1, r0 ;; [ 78] (set! a0 v1) B11: lwu a0, 132(gp) ;; [ 79] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 80] (set! a0 (l.wu (+ a0 8))) lwu a0, 92(a0) ;; [ 81] (set! a0 (l.wu (+ a0 92))) dsubu a0, v1, a0 ;; [ 82] (set! a1 (= v1 a0)) daddiu a1, s7, 4 movn a1, s7, a0 bnel s7, a1, L66 ;; [ 83] (bl! (truthy a1) L66 (no-delay!)) B12: or a0, a1, r0 ;; [ 84] (set! a0 a1) B13: lwu a0, 132(gp) ;; [ 85] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 86] (set! a0 (l.wu (+ a0 8))) lwu a0, 96(a0) ;; [ 87] (set! a0 (l.wu (+ a0 96))) dsubu a0, v1, a0 ;; [ 88] (set! a1 (= v1 a0)) daddiu a1, s7, 4 movn a1, s7, a0 bnel s7, a1, L66 ;; [ 89] (bl! (truthy a1) L66 (no-delay!)) B14: or a0, a1, r0 ;; [ 90] (set! a0 a1) B15: lwu a0, 132(gp) ;; [ 91] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 92] (set! a0 (l.wu (+ a0 8))) lwu a0, 100(a0) ;; [ 93] (set! a0 (l.wu (+ a0 100))) dsubu a0, v1, a0 ;; [ 94] (set! a1 (= v1 a0)) daddiu a1, s7, 4 movn a1, s7, a0 bnel s7, a1, L66 ;; [ 95] (bl! (truthy a1) L66 (no-delay!)) B16: or a0, a1, r0 ;; [ 96] (set! a0 a1) B17: lwu a0, 132(gp) ;; [ 97] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 98] (set! a0 (l.wu (+ a0 8))) lwu a0, 116(a0) ;; [ 99] (set! a0 (l.wu (+ a0 116))) dsubu a0, v1, a0 ;; [100] (set! a1 (= v1 a0)) daddiu a1, s7, 4 movn a1, s7, a0 bnel s7, a1, L66 ;; [101] (bl! (truthy a1) L66 (no-delay!)) B18: or a0, a1, r0 ;; [102] (set! a0 a1) B19: lwu a0, 132(gp) ;; [103] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [104] (set! a0 (l.wu (+ a0 8))) lwu a0, 120(a0) ;; [105] (set! a0 (l.wu (+ a0 120))) dsubu a0, v1, a0 ;; [106] (set! a1 (= v1 a0)) daddiu a1, s7, 4 movn a1, s7, a0 bnel s7, a1, L66 ;; [107] (bl! (truthy a1) L66 (no-delay!)) B20: or a0, a1, r0 ;; [108] (set! a0 a1) B21: lwu a0, 132(gp) ;; [109] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [110] (set! a0 (l.wu (+ a0 8))) lwu a0, 124(a0) ;; [111] (set! a0 (l.wu (+ a0 124))) dsubu v1, v1, a0 ;; [112] (set! a0 (= v1 a0)) daddiu a0, s7, 4 movn a0, s7, v1 B22: L66: beq s7, a0, L67 ;; [113] (b! (not a0) L67 (nop!)) sll r0, r0, 0 B23: lw t9, ja-channel-push!(s7);; [114] (set! t9 ja-channel-push!) addiu a0, r0, 1 ;; [115] (set! a0 1) addiu a1, r0, 51 ;; [116] (set! a1 51) jalr ra, t9 ;; [117] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [118] (set! v1 v0) beq r0, r0, L68 ;; [119] (b! #t L68 (nop!)) sll r0, r0, 0 B24: L67: lw t9, ja-channel-push!(s7);; [120] (set! t9 ja-channel-push!) addiu a0, r0, 1 ;; [121] (set! a0 1) addiu a1, r0, 6 ;; [122] (set! a1 6) jalr ra, t9 ;; [123] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [124] (set! v1 v0) B25: L68: lwu v1, 136(gp) ;; [125] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [126] (set! v1 (l.wu (+ v1 12))) daddu a0, r0, v1 ;; [127] (set! a0 (+ v1 0)) sw s5, 4(a0) ;; [128] (s.w! (+ a0 4) s5) lwu v1, 40(s5) ;; [129] (set! v1 (l.wu (+ s5 40))) lhu v1, 0(v1) ;; [130] (set! v1 (l.hu v1)) daddiu v1, v1, -1 ;; [131] (set! v1 (+ v1 -1)) mtc1 f0, v1 ;; [132] (set! f0 (gpr->fpr v1)) cvt.s.w f0, f0 ;; [133] (set! f0 (i2f f0)) swc1 f0, 20(a0) ;; [134] (s.f! (+ a0 20) f0) lui v1, 16256 ;; [135] (set! v1 #x3f800000) mtc1 f0, v1 ;; [136] (set! f0 (gpr->fpr v1)) swc1 f0, 24(a0) ;; [137] (s.f! (+ a0 24) f0) mtc1 f0, r0 ;; [138] (set! f0 0) swc1 f0, 8(a0) ;; [139] (s.f! (+ a0 8) f0) lw t9, joint-control-channel-group!(s7);; [140] (set! t9 joint-control-channel-group!) lw a2, num-func-seek!(s7) ;; [141] (set! a2 num-func-seek!) or a1, s5, r0 ;; [142] (set! a1 s5) jalr ra, t9 ;; [143] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [144] (set! v1 v0) daddiu v0, s7, #t ;; [145] (set! v0 #t) beq r0, r0, L70 ;; [146] (b! #t L70 (nop!)) sll r0, r0, 0 B26: L69: lw t9, ja-channel-push!(s7);; [147] (set! t9 ja-channel-push!) addiu a0, r0, 1 ;; [148] (set! a0 1) addiu a1, r0, 9 ;; [149] (set! a1 9) jalr ra, t9 ;; [150] (call!) sll v0, ra, 0 lwu v1, 136(gp) ;; [151] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [152] (set! v1 (l.wu (+ v1 12))) daddu a0, r0, v1 ;; [153] (set! a0 (+ v1 0)) lwu v1, 988(gp) ;; [154] (set! v1 (l.wu (+ gp 988))) sw v1, 4(a0) ;; [155] (s.w! (+ a0 4) v1) lwu v1, 988(gp) ;; [156] (set! v1 (l.wu (+ gp 988))) lwu v1, 40(v1) ;; [157] (set! v1 (l.wu (+ v1 40))) lhu v1, 0(v1) ;; [158] (set! v1 (l.hu v1)) daddiu v1, v1, -1 ;; [159] (set! v1 (+ v1 -1)) mtc1 f0, v1 ;; [160] (set! f0 (gpr->fpr v1)) cvt.s.w f0, f0 ;; [161] (set! f0 (i2f f0)) swc1 f0, 20(a0) ;; [162] (s.f! (+ a0 20) f0) lwc1 f0, 0(s5) ;; [163] (set! f0 (l.f s5)) swc1 f0, 24(a0) ;; [164] (s.f! (+ a0 24) f0) mtc1 f0, r0 ;; [165] (set! f0 0) swc1 f0, 8(a0) ;; [166] (s.f! (+ a0 8) f0) lw t9, joint-control-channel-group!(s7);; [167] (set! t9 joint-control-channel-group!) lwu a1, 988(gp) ;; [168] (set! a1 (l.wu (+ gp 988))) lw a2, num-func-seek!(s7) ;; [169] (set! a2 num-func-seek!) jalr ra, t9 ;; [170] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [171] (set! v1 v0) daddiu v0, s7, #t ;; [172] (set! v0 #t) B27: L70: ld ra, 0(sp) lwc1 f30, 80(sp) lq gp, 64(sp) lq s5, 48(sp) lq s4, 32(sp) jr ra daddiu sp, sp, 96 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! s5 a1) (set! v1 (l.bu (+ gp 416))) (set! a0 6) (b! (!= v1 a0) L69 (nop!)) (set! v1 1) (set! a0 *ashelin-global-info*) (set! a0 (l.b a0)) (bl! (>=0.si a0) L62 (no-delay!)) (set! s5 (sll v1 a0)) (set! a0 (- a0)) (set! s5 (sra v1 a0)) (label L62) (set! s4 (+ sp 16)) (set! f0 0) (set! f0 0) (set! t9 vector-z-quaternion!) (set! a0 s4) (set! v1 (l.wu (+ gp 124))) (set! a1 (+ v1 28)) (call!) (set! t9 atan) (set! f0 (l.f s4)) (set! a0 (fpr->gpr f0)) (set! f0 (l.f (+ s4 8))) (set! a1 (fpr->gpr f0)) (call!) (set! f30 (gpr->fpr v0)) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 216))) (set! a1 s4) (call!) (set! v1 v0) (set! t9 atan) (set! f0 (l.f s4)) (set! a0 (fpr->gpr f0)) (set! f0 (l.f (+ s4 8))) (set! a1 (fpr->gpr f0)) (call!) (set! f0 (gpr->fpr v0)) (set! t9 deg-) (set! a0 (fpr->gpr f0)) (set! a1 (fpr->gpr f30)) (call!) (set! f0 (gpr->fpr v0)) (set! f0 (abs.s f0)) (set! v1 #x46800000) (set! f1 (gpr->fpr v1)) (b! (<.s f1 f0) L63 (nop!)) (set! a2 (logior s5 7)) (set! v1 a2) (b! #t L64 (nop!)) (label L63) (set! a2 (logior s5 56)) (set! v1 a2) (label L64) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 496))) (set! a1 6) (call!) (set! v1 v0) (set! a0 *ashelin-global-info*) (set! a1 (sll v1 2)) (set! a0 (+ a0 a1)) (set! a0 (l.w (+ a0 4))) (set! a0 (sll a0 2)) (set! a1 (l.wu (+ gp 132))) (set! a1 (l.wu (+ a1 8))) (set! a0 (+ a0 a1)) (set! s5 (l.wu (+ a0 28))) (set! a0 *ashelin-global-info*) (s.b! a0 v1) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.bu (+ v1 3))) (b! (<=0.ui v1) L65 (set! v1 #f)) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! v1 (l.wu (+ v1 4))) (label L65) (bl! (not v1) L66 (no-delay!)) (set! a0 v1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 92))) (set! a1 (= v1 a0)) (bl! (truthy a1) L66 (no-delay!)) (set! a0 a1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 96))) (set! a1 (= v1 a0)) (bl! (truthy a1) L66 (no-delay!)) (set! a0 a1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 100))) (set! a1 (= v1 a0)) (bl! (truthy a1) L66 (no-delay!)) (set! a0 a1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 116))) (set! a1 (= v1 a0)) (bl! (truthy a1) L66 (no-delay!)) (set! a0 a1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 120))) (set! a1 (= v1 a0)) (bl! (truthy a1) L66 (no-delay!)) (set! a0 a1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 124))) (set! a0 (= v1 a0)) (label L66) (b! (not a0) L67 (nop!)) (set! t9 ja-channel-push!) (set! a0 1) (set! a1 51) (call!) (set! v1 v0) (b! #t L68 (nop!)) (label L67) (set! t9 ja-channel-push!) (set! a0 1) (set! a1 6) (call!) (set! v1 v0) (label L68) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 0)) (s.w! (+ a0 4) s5) (set! v1 (l.wu (+ s5 40))) (set! v1 (l.hu v1)) (set! v1 (+ v1 -1)) (set! f0 (gpr->fpr v1)) (set! f0 (i2f f0)) (s.f! (+ a0 20) f0) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (s.f! (+ a0 24) f0) (set! f0 0) (s.f! (+ a0 8) f0) (set! t9 joint-control-channel-group!) (set! a2 num-func-seek!) (set! a1 s5) (call!) (set! v1 v0) (set! v0 #t) (b! #t L70 (nop!)) (label L69) (set! t9 ja-channel-push!) (set! a0 1) (set! a1 9) (call!) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 0)) (set! v1 (l.wu (+ gp 988))) (s.w! (+ a0 4) v1) (set! v1 (l.wu (+ gp 988))) (set! v1 (l.wu (+ v1 40))) (set! v1 (l.hu v1)) (set! v1 (+ v1 -1)) (set! f0 (gpr->fpr v1)) (set! f0 (i2f f0)) (s.f! (+ a0 20) f0) (set! f0 (l.f s5)) (s.f! (+ a0 24) f0) (set! f0 0) (s.f! (+ a0 8) f0) (set! t9 joint-control-channel-group!) (set! a1 (l.wu (+ gp 988))) (set! a2 num-func-seek!) (call!) (set! v1 v0) (set! v0 #t) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 51 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x80, fp? 0 ra? 1 ep? 1 ;stack_vars: 56 bytes at 8 ;gprs: gp s5 s4 ;fprs: f30 f28 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 51 ashelin) has unknown type ;; Used lq/sq L71: daddiu sp, sp, -128 sd ra, 0(sp) sq s4, 64(sp) sq s5, 80(sp) sq gp, 96(sp) swc1 f28, 112(sp) swc1 f30, 116(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lw t9, quaternion-y-angle(s7);; [ 1] (set! t9 quaternion-y-angle) lwu v1, 124(gp) ;; [ 2] (set! v1 (l.wu (+ gp 124))) daddiu a0, v1, 28 ;; [ 3] (set! a0 (+ v1 28)) jalr ra, t9 ;; [ 4] (call!) sll v0, ra, 0 mtc1 f28, v0 ;; [ 5] (set! f28 (gpr->fpr v0)) lbu v1, 416(gp) ;; [ 6] (set! v1 (l.bu (+ gp 416))) addiu a0, r0, 6 ;; [ 7] (set! a0 6) bne v1, a0, L76 ;; [ 8] (b! (!= v1 a0) L76 (nop!)) sll r0, r0, 0 B1: daddiu v1, gp, 380 ;; [ 9] (set! v1 (+ gp 380)) ld v1, 0(v1) ;; [ 10] (set! v1 (l.d v1)) subu a0, v1, s7 ;; [ 11] (set! a0 (subu-s7 v1)) beql a0, r0, L73 ;; [ 12] (bl! (zero? a0) L73 (no-delay!)) B2: or a0, s7, r0 ;; [ 13] (set! a0 #f) B3: sllv a0, v1, r0 ;; [ 14] (.sllv a0 v1 r0) lwu a1, 0(a0) ;; [ 15] (set! a1 (l.wu a0)) lw a0, 40(a1) ;; [ 16] (set! a0 (l.w (+ a1 40))) dsra32 v1, v1, 0 ;; [ 17] (set! v1 (sra v1 32)) bne v1, a0, L72 ;; [ 18] (b! (!= v1 a0) L72 (set! a0 #f)) or a0, s7, r0 B4: or a0, a1, r0 ;; [ 19] (set! a0 a1) B5: L72: or v1, a0, r0 ;; [ 20] (set! v1 a0) B6: L73: beq s7, a0, L75 ;; [ 21] (b! (not a0) L75 (set! v1 #f)) or v1, s7, r0 B7: lwu v1, -4(a0) ;; [ 22] (set! v1 (l.wu (+ a0 -4))) lwu t9, 96(v1) ;; [ 23] (set! t9 (l.wu (+ v1 96))) addiu a1, r0, 0 ;; [ 24] (set! a1 0) jalr ra, t9 ;; [ 25] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 26] (set! v1 v0) daddiu s5, sp, 16 ;; [ 27] (set! s5 (+ sp 16)) lwu v1, 124(gp) ;; [ 28] (set! v1 (l.wu (+ gp 124))) daddiu v1, v1, 60 ;; [ 29] (set! v1 (+ v1 60)) lq v1, 0(v1) ;; [ 30] (set! v1 (l.q v1)) sq v1, 0(s5) ;; [ 31] (s.q! s5 v1) lwu v1, 124(gp) ;; [ 32] (set! v1 (l.wu (+ gp 124))) daddiu s4, v1, 60 ;; [ 33] (set! s4 (+ v1 60)) lw t9, vector-z-quaternion!(s7);; [ 34] (set! t9 vector-z-quaternion!) daddiu a0, sp, 32 ;; [ 35] (set! a0 (+ sp 32)) lwu v1, 124(gp) ;; [ 36] (set! v1 (l.wu (+ gp 124))) daddiu a1, v1, 28 ;; [ 37] (set! a1 (+ v1 28)) jalr ra, t9 ;; [ 38] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 39] (set! v1 v0) lwc1 f0, 0(s4) ;; [ 40] (set! f0 (vec3dot s4 v1)) lwc1 f1, 4(s4) lwc1 f2, 8(s4) lwc1 f3, 0(v1) lwc1 f4, 4(v1) lwc1 f5, 8(v1) mula.s f0, f3 madda.s f1, f4 madd.s f0, f2, f5 mfc1 v1, f0 ;; [ 41] (set! v1 (fpr->gpr f0)) mtc1 f0, v1 ;; [ 42] (set! f0 (gpr->fpr v1)) mtc1 f1, r0 ;; [ 43] (set! f1 0) c.lt.s f0, f1 ;; [ 44] (b! (>=.s f0 f1) L74 (set! v1 #f)) bc1f L74 or v1, s7, r0 B8: lw t9, vector-negate-in-place!(s7);; [ 45] (set! t9 vector-negate-in-place!) or a0, s5, r0 ;; [ 46] (set! a0 s5) jalr ra, t9 ;; [ 47] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 48] (set! v1 v0) B9: L74: lw t9, atan(s7) ;; [ 49] (set! t9 atan) lwc1 f0, 0(s5) ;; [ 50] (set! f0 (l.f s5)) mfc1 a0, f0 ;; [ 51] (set! a0 (fpr->gpr f0)) lwc1 f0, 8(s5) ;; [ 52] (set! f0 (l.f (+ s5 8))) mfc1 a1, f0 ;; [ 53] (set! a1 (fpr->gpr f0)) jalr ra, t9 ;; [ 54] (call!) sll v0, ra, 0 mtc1 f28, v0 ;; [ 55] (set! f28 (gpr->fpr v0)) mfc1 v1, f28 ;; [ 56] (set! v1 (fpr->gpr f28)) B10: L75: beq r0, r0, L85 ;; [ 57] (b! #t L85 (nop!)) sll r0, r0, 0 B11: L76: daddiu s5, sp, 48 ;; [ 58] (set! s5 (+ sp 48)) mtc1 f0, r0 ;; [ 59] (set! f0 0) mtc1 f0, r0 ;; [ 60] (set! f0 0) lw t9, vector-z-quaternion!(s7);; [ 61] (set! t9 vector-z-quaternion!) or a0, s5, r0 ;; [ 62] (set! a0 s5) lwu v1, 124(gp) ;; [ 63] (set! v1 (l.wu (+ gp 124))) daddiu a1, v1, 28 ;; [ 64] (set! a1 (+ v1 28)) jalr ra, t9 ;; [ 65] (call!) sll v0, ra, 0 lw t9, atan(s7) ;; [ 66] (set! t9 atan) lwc1 f0, 0(s5) ;; [ 67] (set! f0 (l.f s5)) mfc1 a0, f0 ;; [ 68] (set! a0 (fpr->gpr f0)) lwc1 f0, 8(s5) ;; [ 69] (set! f0 (l.f (+ s5 8))) mfc1 a1, f0 ;; [ 70] (set! a1 (fpr->gpr f0)) jalr ra, t9 ;; [ 71] (call!) sll v0, ra, 0 mtc1 f28, v0 ;; [ 72] (set! f28 (gpr->fpr v0)) or a0, gp, r0 ;; [ 73] (set! a0 gp) lwu v1, -4(a0) ;; [ 74] (set! v1 (l.wu (+ a0 -4))) lwu t9, 216(v1) ;; [ 75] (set! t9 (l.wu (+ v1 216))) or a1, s5, r0 ;; [ 76] (set! a1 s5) jalr ra, t9 ;; [ 77] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 78] (set! v1 v0) lw t9, atan(s7) ;; [ 79] (set! t9 atan) lwc1 f0, 0(s5) ;; [ 80] (set! f0 (l.f s5)) mfc1 a0, f0 ;; [ 81] (set! a0 (fpr->gpr f0)) lwc1 f0, 8(s5) ;; [ 82] (set! f0 (l.f (+ s5 8))) mfc1 a1, f0 ;; [ 83] (set! a1 (fpr->gpr f0)) jalr ra, t9 ;; [ 84] (call!) sll v0, ra, 0 mtc1 f30, v0 ;; [ 85] (set! f30 (gpr->fpr v0)) lw t9, deg-(s7) ;; [ 86] (set! t9 deg-) mfc1 a0, f30 ;; [ 87] (set! a0 (fpr->gpr f30)) mfc1 a1, f28 ;; [ 88] (set! a1 (fpr->gpr f28)) jalr ra, t9 ;; [ 89] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [ 90] (set! f0 (gpr->fpr v0)) or v1, s7, r0 ;; [ 91] (set! v1 #f) lui v1, 18048 ;; [ 92] (set! v1 #x46800000) mtc1 f1, v1 ;; [ 93] (set! f1 (gpr->fpr v1)) abs.s f2, f0 ;; [ 94] (set! f2 (abs.s f0)) c.lt.s f1, f2 ;; [ 95] (b! (<.s f1 f2) L77 (nop!)) bc1t L77 sll r0, r0, 0 B12: mov.s f28, f30 ;; [ 96] (set! f28 f30) mfc1 v1, f28 ;; [ 97] (set! v1 (fpr->gpr f28)) beq r0, r0, L78 ;; [ 98] (b! #t L78 (nop!)) sll r0, r0, 0 B13: L77: lui v1, 18176 ;; [ 99] (set! v1 #x47000000) mtc1 f1, v1 ;; [100] (set! f1 (gpr->fpr v1)) add.s f1, f1, f30 ;; [101] (set! f1 (+.s f1 f30)) cvt.w.s f1, f1 ;; [102] (set! f1 (f2i f1)) mfc1 v1, f1 ;; [103] (set! v1 (fpr->gpr f1)) dsll32 v1, v1, 16 ;; [104] (set! v1 (sll v1 48)) dsra32 v1, v1, 16 ;; [105] (set! v1 (sra v1 48)) mtc1 f1, v1 ;; [106] (set! f1 (gpr->fpr v1)) cvt.s.w f28, f1 ;; [107] (set! f28 (i2f f1)) mfc1 v1, f28 ;; [108] (set! v1 (fpr->gpr f28)) B14: L78: lui v1, 17920 ;; [109] (set! v1 #x46000000) mtc1 f1, v1 ;; [110] (set! f1 (gpr->fpr v1)) c.lt.s f1, f0 ;; [111] (b! (>=.s f1 f0) L79 (set! v1 #t)) bc1f L79 daddiu v1, s7, 4 B15: or v1, s7, r0 ;; [112] (set! v1 #f) B16: L79: beql s7, v1, L80 ;; [113] (bl! (not v1) L80 (no-delay!)) B17: or v1, v1, r0 ;; [114] (set! v1 v1) B18: lui v1, -14720 ;; [115] (set! v1 -964689920) mtc1 f1, v1 ;; [116] (set! f1 (gpr->fpr v1)) c.lt.s f0, f1 ;; [117] (b! (>=.s f0 f1) L80 (set! v1 #t)) bc1f L80 daddiu v1, s7, 4 B19: or v1, s7, r0 ;; [118] (set! v1 #f) B20: L80: beq s7, v1, L81 ;; [119] (b! (not v1) L81 (nop!)) sll r0, r0, 0 B21: lwu v1, 132(gp) ;; [120] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [121] (set! v1 (l.wu (+ v1 8))) lwu v1, 68(v1) ;; [122] (set! v1 (l.wu (+ v1 68))) or a0, v1, r0 ;; [123] (set! a0 v1) beq r0, r0, L84 ;; [124] (b! #t L84 (nop!)) sll r0, r0, 0 B22: L81: lui v1, 17920 ;; [125] (set! v1 #x46000000) mtc1 f1, v1 ;; [126] (set! f1 (gpr->fpr v1)) c.lt.s f0, f1 ;; [127] (b! (<.s f0 f1) L82 (nop!)) bc1t L82 sll r0, r0, 0 B23: lwu v1, 132(gp) ;; [128] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [129] (set! v1 (l.wu (+ v1 8))) lwu v1, 56(v1) ;; [130] (set! v1 (l.wu (+ v1 56))) lui a0, 18176 ;; [131] (set! a0 #x47000000) mtc1 f0, a0 ;; [132] (set! f0 (gpr->fpr a0)) add.s f0, f0, f30 ;; [133] (set! f0 (+.s f0 f30)) cvt.w.s f0, f0 ;; [134] (set! f0 (f2i f0)) mfc1 a0, f0 ;; [135] (set! a0 (fpr->gpr f0)) dsll32 a0, a0, 16 ;; [136] (set! a0 (sll a0 48)) dsra32 a0, a0, 16 ;; [137] (set! a0 (sra a0 48)) mtc1 f0, a0 ;; [138] (set! f0 (gpr->fpr a0)) cvt.s.w f28, f0 ;; [139] (set! f28 (i2f f0)) mfc1 a0, f28 ;; [140] (set! a0 (fpr->gpr f28)) beq r0, r0, L84 ;; [141] (b! #t L84 (nop!)) sll r0, r0, 0 B24: L82: or a0, gp, r0 ;; [142] (set! a0 gp) lwu v1, -4(a0) ;; [143] (set! v1 (l.wu (+ a0 -4))) lwu t9, 492(v1) ;; [144] (set! t9 (l.wu (+ v1 492))) addiu a1, r0, 3 ;; [145] (set! a1 3) jalr ra, t9 ;; [146] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [147] (set! v1 v0) bne v1, r0, L83 ;; [148] (b! (nonzero? v1) L83 (nop!)) sll r0, r0, 0 B25: lwu v1, 132(gp) ;; [149] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [150] (set! v1 (l.wu (+ v1 8))) lwu v1, 68(v1) ;; [151] (set! v1 (l.wu (+ v1 68))) or a0, v1, r0 ;; [152] (set! a0 v1) beq r0, r0, L84 ;; [153] (b! #t L84 (nop!)) sll r0, r0, 0 B26: L83: lwu v1, 132(gp) ;; [154] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [155] (set! v1 (l.wu (+ v1 8))) lwu v1, 56(v1) ;; [156] (set! v1 (l.wu (+ v1 56))) lui a0, 18176 ;; [157] (set! a0 #x47000000) mtc1 f0, a0 ;; [158] (set! f0 (gpr->fpr a0)) add.s f0, f0, f30 ;; [159] (set! f0 (+.s f0 f30)) cvt.w.s f0, f0 ;; [160] (set! f0 (f2i f0)) mfc1 a0, f0 ;; [161] (set! a0 (fpr->gpr f0)) dsll32 a0, a0, 16 ;; [162] (set! a0 (sll a0 48)) dsra32 a0, a0, 16 ;; [163] (set! a0 (sra a0 48)) mtc1 f0, a0 ;; [164] (set! f0 (gpr->fpr a0)) cvt.s.w f28, f0 ;; [165] (set! f28 (i2f f0)) mfc1 a0, f28 ;; [166] (set! a0 (fpr->gpr f28)) B27: L84: sw v1, 988(gp) ;; [167] (s.w! (+ gp 988) v1) B28: L85: mfc1 v0, f28 ;; [168] (set! v0 (fpr->gpr f28)) ld ra, 0(sp) lwc1 f30, 116(sp) lwc1 f28, 112(sp) lq gp, 96(sp) lq s5, 80(sp) lq s4, 64(sp) jr ra daddiu sp, sp, 128 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! t9 quaternion-y-angle) (set! v1 (l.wu (+ gp 124))) (set! a0 (+ v1 28)) (call!) (set! f28 (gpr->fpr v0)) (set! v1 (l.bu (+ gp 416))) (set! a0 6) (b! (!= v1 a0) L76 (nop!)) (set! v1 (+ gp 380)) (set! v1 (l.d v1)) (set! a0 (subu-s7 v1)) (bl! (zero? a0) L73 (no-delay!)) (set! a0 #f) (.sllv a0 v1 r0) (set! a1 (l.wu a0)) (set! a0 (l.w (+ a1 40))) (set! v1 (sra v1 32)) (b! (!= v1 a0) L72 (set! a0 #f)) (set! a0 a1) (label L72) (set! v1 a0) (label L73) (b! (not a0) L75 (set! v1 #f)) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 96))) (set! a1 0) (call!) (set! v1 v0) (set! s5 (+ sp 16)) (set! v1 (l.wu (+ gp 124))) (set! v1 (+ v1 60)) (set! v1 (l.q v1)) (s.q! s5 v1) (set! v1 (l.wu (+ gp 124))) (set! s4 (+ v1 60)) (set! t9 vector-z-quaternion!) (set! a0 (+ sp 32)) (set! v1 (l.wu (+ gp 124))) (set! a1 (+ v1 28)) (call!) (set! v1 v0) (set! f0 (vec3dot s4 v1)) (set! v1 (fpr->gpr f0)) (set! f0 (gpr->fpr v1)) (set! f1 0) (b! (>=.s f0 f1) L74 (set! v1 #f)) (set! t9 vector-negate-in-place!) (set! a0 s5) (call!) (set! v1 v0) (label L74) (set! t9 atan) (set! f0 (l.f s5)) (set! a0 (fpr->gpr f0)) (set! f0 (l.f (+ s5 8))) (set! a1 (fpr->gpr f0)) (call!) (set! f28 (gpr->fpr v0)) (set! v1 (fpr->gpr f28)) (label L75) (b! #t L85 (nop!)) (label L76) (set! s5 (+ sp 48)) (set! f0 0) (set! f0 0) (set! t9 vector-z-quaternion!) (set! a0 s5) (set! v1 (l.wu (+ gp 124))) (set! a1 (+ v1 28)) (call!) (set! t9 atan) (set! f0 (l.f s5)) (set! a0 (fpr->gpr f0)) (set! f0 (l.f (+ s5 8))) (set! a1 (fpr->gpr f0)) (call!) (set! f28 (gpr->fpr v0)) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 216))) (set! a1 s5) (call!) (set! v1 v0) (set! t9 atan) (set! f0 (l.f s5)) (set! a0 (fpr->gpr f0)) (set! f0 (l.f (+ s5 8))) (set! a1 (fpr->gpr f0)) (call!) (set! f30 (gpr->fpr v0)) (set! t9 deg-) (set! a0 (fpr->gpr f30)) (set! a1 (fpr->gpr f28)) (call!) (set! f0 (gpr->fpr v0)) (set! v1 #f) (set! v1 #x46800000) (set! f1 (gpr->fpr v1)) (set! f2 (abs.s f0)) (b! (<.s f1 f2) L77 (nop!)) (set! f28 f30) (set! v1 (fpr->gpr f28)) (b! #t L78 (nop!)) (label L77) (set! v1 #x47000000) (set! f1 (gpr->fpr v1)) (set! f1 (+.s f1 f30)) (set! f1 (f2i f1)) (set! v1 (fpr->gpr f1)) (set! v1 (sll v1 48)) (set! v1 (sra v1 48)) (set! f1 (gpr->fpr v1)) (set! f28 (i2f f1)) (set! v1 (fpr->gpr f28)) (label L78) (set! v1 #x46000000) (set! f1 (gpr->fpr v1)) (b! (>=.s f1 f0) L79 (set! v1 #t)) (set! v1 #f) (label L79) (bl! (not v1) L80 (no-delay!)) (set! v1 v1) (set! v1 -964689920) (set! f1 (gpr->fpr v1)) (b! (>=.s f0 f1) L80 (set! v1 #t)) (set! v1 #f) (label L80) (b! (not v1) L81 (nop!)) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 68))) (set! a0 v1) (b! #t L84 (nop!)) (label L81) (set! v1 #x46000000) (set! f1 (gpr->fpr v1)) (b! (<.s f0 f1) L82 (nop!)) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 56))) (set! a0 #x47000000) (set! f0 (gpr->fpr a0)) (set! f0 (+.s f0 f30)) (set! f0 (f2i f0)) (set! a0 (fpr->gpr f0)) (set! a0 (sll a0 48)) (set! a0 (sra a0 48)) (set! f0 (gpr->fpr a0)) (set! f28 (i2f f0)) (set! a0 (fpr->gpr f28)) (b! #t L84 (nop!)) (label L82) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 492))) (set! a1 3) (call!) (set! v1 v0) (b! (nonzero? v1) L83 (nop!)) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 68))) (set! a0 v1) (b! #t L84 (nop!)) (label L83) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 56))) (set! a0 #x47000000) (set! f0 (gpr->fpr a0)) (set! f0 (+.s f0 f30)) (set! f0 (f2i f0)) (set! a0 (fpr->gpr f0)) (set! a0 (sll a0 48)) (set! a0 (sra a0 48)) (set! f0 (gpr->fpr a0)) (set! f28 (i2f f0)) (set! a0 (fpr->gpr f28)) (label L84) (s.w! (+ gp 988) v1) (label L85) (set! v0 (fpr->gpr f28)) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 249 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x30, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;fprs: f30 f28 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 249 ashelin) has unknown type L86: daddiu sp, sp, -48 sd ra, 0(sp) sq gp, 16(sp) swc1 f28, 32(sp) swc1 f30, 36(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lwu v1, 140(gp) ;; [ 1] (set! v1 (l.wu (+ gp 140))) daddiu v1, v1, 112 ;; [ 2] (set! v1 (+ v1 112)) lwc1 f0, 36(v1) ;; [ 3] (set! f0 (l.f (+ v1 36))) mfc1 v1, f0 ;; [ 4] (set! v1 (fpr->gpr f0)) mtc1 f30, v1 ;; [ 5] (set! f30 (gpr->fpr v1)) lw t9, lerp-scale(s7) ;; [ 6] (set! t9 lerp-scale) addiu a0, r0, 0 ;; [ 7] (set! a0 0) lui a1, 16384 ;; [ 8] (set! a1 #x40000000) mfc1 a2, f30 ;; [ 9] (set! a2 (fpr->gpr f30)) lui a3, 17984 ;; [ 10] (set! a3 #x46400000) lui t0, 18208 ;; [ 11] (set! t0 #x47200000) jalr ra, t9 ;; [ 12] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [ 13] (set! f0 (gpr->fpr v0)) lwc1 f1, 992(gp) ;; [ 14] (set! f1 (l.f (+ gp 992))) lwu v1, 136(gp) ;; [ 15] (set! v1 (l.wu (+ gp 136))) lbu v1, 3(v1) ;; [ 16] (set! v1 (l.bu (+ v1 3))) sltu v1, r0, v1 ;; [ 17] (b! (<=0.ui v1) L87 (set! v1 #f)) beq v1, r0, L87 or v1, s7, r0 B1: lwu v1, 136(gp) ;; [ 18] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [ 19] (set! v1 (l.wu (+ v1 12))) lwu v1, 4(v1) ;; [ 20] (set! v1 (l.wu (+ v1 4))) B2: L87: beql s7, v1, L88 ;; [ 21] (bl! (not v1) L88 (no-delay!)) B3: or a0, v1, r0 ;; [ 22] (set! a0 v1) B4: lwu a0, 132(gp) ;; [ 23] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 24] (set! a0 (l.wu (+ a0 8))) lwu a0, 48(a0) ;; [ 25] (set! a0 (l.wu (+ a0 48))) dsubu v1, v1, a0 ;; [ 26] (set! a0 (= v1 a0)) daddiu a0, s7, 4 movn a0, s7, v1 B5: L88: beq s7, a0, L96 ;; [ 27] (b! (not a0) L96 (nop!)) sll r0, r0, 0 B6: mov.s f28, f1 ;; [ 28] (set! f28 f1) lw t9, seek(s7) ;; [ 29] (set! t9 seek) mfc1 a0, f1 ;; [ 30] (set! a0 (fpr->gpr f1)) mfc1 a1, f0 ;; [ 31] (set! a1 (fpr->gpr f0)) lui v1, 16512 ;; [ 32] (set! v1 #x40800000) mtc1 f0, v1 ;; [ 33] (set! f0 (gpr->fpr v1)) lwu v1, 8(s6) ;; [ 34] (set! v1 (l.wu (+ s6 8))) lwc1 f1, 76(v1) ;; [ 35] (set! f1 (l.f (+ v1 76))) mul.s f0, f0, f1 ;; [ 36] (set! f0 (*.s f0 f1)) mfc1 a2, f0 ;; [ 37] (set! a2 (fpr->gpr f0)) jalr ra, t9 ;; [ 38] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [ 39] (set! f0 (gpr->fpr v0)) lui v1, 8 ;; [ 40] (set! v1 #x80000) lwu a0, 600(gp) ;; [ 41] (set! a0 (l.wu (+ gp 600))) and v1, v1, a0 ;; [ 42] (set! v1 (logand v1 a0)) beq v1, r0, L91 ;; [ 43] (b! (zero? v1) L91 (nop!)) sll r0, r0, 0 B7: lui v1, 16256 ;; [ 44] (set! v1 #x3f800000) mtc1 f1, v1 ;; [ 45] (set! f1 (gpr->fpr v1)) c.lt.s f0, f1 ;; [ 46] (b! (>=.s f0 f1) L90 (set! v1 #f)) bc1f L90 or v1, s7, r0 B8: lui v1, 16256 ;; [ 47] (set! v1 #x3f800000) mtc1 f1, v1 ;; [ 48] (set! f1 (gpr->fpr v1)) c.eq.s f28, f1 ;; [ 49] (b! (!=.s f28 f1) L89 (nop!)) bc1f L89 sll r0, r0, 0 B9: lwu v1, 136(gp) ;; [ 50] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [ 51] (set! v1 (l.wu (+ v1 12))) daddiu v1, v1, 64 ;; [ 52] (set! v1 (+ v1 64)) lui a0, 17996 ;; [ 53] (set! a0 #x464ccccd) ori a0, a0, 52429 mtc1 f1, a0 ;; [ 54] (set! f1 (gpr->fpr a0)) swc1 f1, 12(v1) ;; [ 55] (s.f! (+ v1 12) f1) lwu a0, 132(gp) ;; [ 56] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 57] (set! a0 (l.wu (+ a0 8))) lwu a0, 44(a0) ;; [ 58] (set! a0 (l.wu (+ a0 44))) sw a0, 4(v1) ;; [ 59] (s.w! (+ v1 4) a0) lui v1, -9 ;; [ 60] (set! v1 -524289) ori v1, v1, 65535 lwu a0, 600(gp) ;; [ 61] (set! a0 (l.wu (+ gp 600))) and v1, v1, a0 ;; [ 62] (set! v1 (logand v1 a0)) sw v1, 600(gp) ;; [ 63] (s.w! (+ gp 600) v1) beq r0, r0, L90 ;; [ 64] (b! #t L90 (nop!)) sll r0, r0, 0 B10: L89: lui v1, 16256 ;; [ 65] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 66] (set! f0 (gpr->fpr v1)) mfc1 v1, f0 ;; [ 67] (set! v1 (fpr->gpr f0)) B11: L90: beq r0, r0, L93 ;; [ 68] (b! #t L93 (nop!)) sll r0, r0, 0 B12: L91: lui v1, 16256 ;; [ 69] (set! v1 #x3f800000) mtc1 f1, v1 ;; [ 70] (set! f1 (gpr->fpr v1)) c.lt.s f1, f0 ;; [ 71] (b! (>=.s f1 f0) L93 (set! v1 #f)) bc1f L93 or v1, s7, r0 B13: lui v1, 16256 ;; [ 72] (set! v1 #x3f800000) mtc1 f1, v1 ;; [ 73] (set! f1 (gpr->fpr v1)) c.eq.s f28, f1 ;; [ 74] (b! (!=.s f28 f1) L92 (nop!)) bc1f L92 sll r0, r0, 0 B14: lwu v1, 136(gp) ;; [ 75] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [ 76] (set! v1 (l.wu (+ v1 12))) daddiu v1, v1, 64 ;; [ 77] (set! v1 (+ v1 64)) lui a0, 18218 ;; [ 78] (set! a0 #x472aaaae) ori a0, a0, 43694 mtc1 f1, a0 ;; [ 79] (set! f1 (gpr->fpr a0)) swc1 f1, 12(v1) ;; [ 80] (s.f! (+ v1 12) f1) lwu a0, 132(gp) ;; [ 81] (set! a0 (l.wu (+ gp 132))) lwu a0, 8(a0) ;; [ 82] (set! a0 (l.wu (+ a0 8))) lwu a0, 52(a0) ;; [ 83] (set! a0 (l.wu (+ a0 52))) sw a0, 4(v1) ;; [ 84] (s.w! (+ v1 4) a0) lui v1, 8 ;; [ 85] (set! v1 #x80000) lwu a0, 600(gp) ;; [ 86] (set! a0 (l.wu (+ gp 600))) or v1, v1, a0 ;; [ 87] (set! v1 (logior v1 a0)) sw v1, 600(gp) ;; [ 88] (s.w! (+ gp 600) v1) beq r0, r0, L93 ;; [ 89] (b! #t L93 (nop!)) sll r0, r0, 0 B15: L92: lui v1, 16256 ;; [ 90] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 91] (set! f0 (gpr->fpr v1)) mfc1 v1, f0 ;; [ 92] (set! v1 (fpr->gpr f0)) B16: L93: swc1 f0, 992(gp) ;; [ 93] (s.f! (+ gp 992) f0) lui v1, 8 ;; [ 94] (set! v1 #x80000) lwu a0, 600(gp) ;; [ 95] (set! a0 (l.wu (+ gp 600))) and v1, v1, a0 ;; [ 96] (set! v1 (logand v1 a0)) beq v1, r0, L94 ;; [ 97] (b! (zero? v1) L94 (nop!)) sll r0, r0, 0 B17: lui v1, -16512 ;; [ 98] (set! v1 -1082130432) mtc1 f1, v1 ;; [ 99] (set! f1 (gpr->fpr v1)) add.s f0, f1, f0 ;; [100] (set! f0 (+.s f1 f0)) mfc1 v1, f0 ;; [101] (set! v1 (fpr->gpr f0)) beq r0, r0, L95 ;; [102] (b! #t L95 (nop!)) sll r0, r0, 0 B18: L94: lui v1, 16256 ;; [103] (set! v1 #x3f800000) mtc1 f1, v1 ;; [104] (set! f1 (gpr->fpr v1)) sub.s f0, f1, f0 ;; [105] (set! f0 (-.s f1 f0)) mfc1 v1, f0 ;; [106] (set! v1 (fpr->gpr f0)) B19: L95: mtc1 f0, v1 ;; [107] (set! f0 (gpr->fpr v1)) lwu v1, 136(gp) ;; [108] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [109] (set! v1 (l.wu (+ v1 12))) daddiu v1, v1, 64 ;; [110] (set! v1 (+ v1 64)) swc1 f0, 36(v1) ;; [111] (s.f! (+ v1 36) f0) swc1 f0, 32(v1) ;; [112] (s.f! (+ v1 32) f0) mfc1 v1, f0 ;; [113] (set! v1 (fpr->gpr f0)) lwu a0, 136(gp) ;; [114] (set! a0 (l.wu (+ gp 136))) lwu v1, -4(a0) ;; [115] (set! v1 (l.wu (+ a0 -4))) lwu t9, 52(v1) ;; [116] (set! t9 (l.wu (+ v1 52))) jalr ra, t9 ;; [117] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [118] (set! v1 v0) mtc1 f28, v1 ;; [119] (set! f28 (gpr->fpr v1)) lw t9, quaternion-y-angle(s7);; [120] (set! t9 quaternion-y-angle) lwu v1, 124(gp) ;; [121] (set! v1 (l.wu (+ gp 124))) daddiu a0, v1, 28 ;; [122] (set! a0 (+ v1 28)) jalr ra, t9 ;; [123] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [124] (set! f0 (gpr->fpr v0)) lw t9, deg-(s7) ;; [125] (set! t9 deg-) mfc1 a0, f0 ;; [126] (set! a0 (fpr->gpr f0)) lwc1 f0, 632(gp) ;; [127] (set! f0 (l.f (+ gp 632))) mfc1 a1, f0 ;; [128] (set! a1 (fpr->gpr f0)) jalr ra, t9 ;; [129] (call!) sll v0, ra, 0 mtc1 f1, v0 ;; [130] (set! f1 (gpr->fpr v0)) lui v1, 18208 ;; [131] (set! v1 #x47200000) mtc1 f0, v1 ;; [132] (set! f0 (gpr->fpr v1)) lui v1, 16052 ;; [133] (set! v1 #x3eb4f4aa) ori v1, v1, 62634 mtc1 f2, v1 ;; [134] (set! f2 (gpr->fpr v1)) lwu v1, 8(s6) ;; [135] (set! v1 (l.wu (+ s6 8))) lwc1 f3, 80(v1) ;; [136] (set! f3 (l.f (+ v1 80))) mul.s f2, f2, f3 ;; [137] (set! f2 (*.s f2 f3)) abs.s f1, f1 ;; [138] (set! f1 (abs.s f1)) mul.s f1, f2, f1 ;; [139] (set! f1 (*.s f2 f1)) min.s f0, f0, f1 ;; [140] (set! f0 (min.s f0 f1)) lui v1, 16768 ;; [141] (set! v1 #x41800000) mtc1 f1, v1 ;; [142] (set! f1 (gpr->fpr v1)) max.s f0, f30, f0 ;; [143] (set! f0 (max.s f30 f0)) mul.s f0, f1, f0 ;; [144] (set! f0 (*.s f1 f0)) lui v1, 16752 ;; [145] (set! v1 #x41700000) mtc1 f1, v1 ;; [146] (set! f1 (gpr->fpr v1)) mul.s f1, f1, f28 ;; [147] (set! f1 (*.s f1 f28)) div.s f0, f0, f1 ;; [148] (set! f0 (/.s f0 f1)) lwu v1, 136(gp) ;; [149] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [150] (set! v1 (l.wu (+ v1 12))) daddu a0, r0, v1 ;; [151] (set! a0 (+ v1 0)) swc1 f0, 20(a0) ;; [152] (s.f! (+ a0 20) f0) lw t9, joint-control-channel-group-eval!(s7);; [153] (set! t9 joint-control-channel-group-eval!) or a1, s7, r0 ;; [154] (set! a1 #f) lw a2, num-func-loop!(s7) ;; [155] (set! a2 num-func-loop!) jalr ra, t9 ;; [156] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [157] (set! v1 v0) lwu v1, 136(gp) ;; [158] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [159] (set! v1 (l.wu (+ v1 12))) daddiu a0, v1, 64 ;; [160] (set! a0 (+ v1 64)) mtc1 f0, r0 ;; [161] (set! f0 0) swc1 f0, 20(a0) ;; [162] (s.f! (+ a0 20) f0) lw t9, joint-control-channel-group-eval!(s7);; [163] (set! t9 joint-control-channel-group-eval!) or a1, s7, r0 ;; [164] (set! a1 #f) lw a2, num-func-chan(s7) ;; [165] (set! a2 num-func-chan) jalr ra, t9 ;; [166] (call!) sll v0, ra, 0 beq r0, r0, L98 ;; [167] (b! #t L98 (nop!)) sll r0, r0, 0 B20: L96: lw t9, seek(s7) ;; [168] (set! t9 seek) mfc1 a0, f1 ;; [169] (set! a0 (fpr->gpr f1)) mfc1 a1, f0 ;; [170] (set! a1 (fpr->gpr f0)) lui v1, 16512 ;; [171] (set! v1 #x40800000) mtc1 f0, v1 ;; [172] (set! f0 (gpr->fpr v1)) lwu v1, 8(s6) ;; [173] (set! v1 (l.wu (+ s6 8))) lwc1 f1, 76(v1) ;; [174] (set! f1 (l.f (+ v1 76))) mul.s f0, f0, f1 ;; [175] (set! f0 (*.s f0 f1)) mfc1 a2, f0 ;; [176] (set! a2 (fpr->gpr f0)) jalr ra, t9 ;; [177] (call!) sll v0, ra, 0 mtc1 f30, v0 ;; [178] (set! f30 (gpr->fpr v0)) swc1 f30, 992(gp) ;; [179] (s.f! (+ gp 992) f30) lw t9, ja-channel-push!(s7);; [180] (set! t9 ja-channel-push!) addiu a0, r0, 2 ;; [181] (set! a0 2) addiu a1, r0, 45 ;; [182] (set! a1 45) jalr ra, t9 ;; [183] (call!) sll v0, ra, 0 lwu v1, 136(gp) ;; [184] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [185] (set! v1 (l.wu (+ v1 12))) daddu a0, r0, v1 ;; [186] (set! a0 (+ v1 0)) lui v1, 18124 ;; [187] (set! v1 #x46cccccd) ori v1, v1, 52429 mtc1 f0, v1 ;; [188] (set! f0 (gpr->fpr v1)) swc1 f0, 12(a0) ;; [189] (s.f! (+ a0 12) f0) lwu v1, 132(gp) ;; [190] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [191] (set! v1 (l.wu (+ v1 8))) lwu v1, 48(v1) ;; [192] (set! v1 (l.wu (+ v1 48))) sw v1, 4(a0) ;; [193] (s.w! (+ a0 4) v1) lui v1, 16256 ;; [194] (set! v1 #x3f800000) mtc1 f0, v1 ;; [195] (set! f0 (gpr->fpr v1)) swc1 f0, 20(a0) ;; [196] (s.f! (+ a0 20) f0) lw t9, joint-control-channel-group!(s7);; [197] (set! t9 joint-control-channel-group!) lwu v1, 132(gp) ;; [198] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [199] (set! v1 (l.wu (+ v1 8))) lwu a1, 48(v1) ;; [200] (set! a1 (l.wu (+ v1 48))) lw a2, num-func-loop!(s7) ;; [201] (set! a2 num-func-loop!) jalr ra, t9 ;; [202] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [203] (set! v1 v0) lui v1, 16256 ;; [204] (set! v1 #x3f800000) mtc1 f0, v1 ;; [205] (set! f0 (gpr->fpr v1)) c.lt.s f30, f0 ;; [206] (b! (>=.s f30 f0) L97 (nop!)) bc1f L97 sll r0, r0, 0 B21: lui v1, 16256 ;; [207] (set! v1 #x3f800000) mtc1 f0, v1 ;; [208] (set! f0 (gpr->fpr v1)) sub.s f0, f0, f30 ;; [209] (set! f0 (-.s f0 f30)) lwu v1, 136(gp) ;; [210] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [211] (set! v1 (l.wu (+ v1 12))) daddiu a0, v1, 64 ;; [212] (set! a0 (+ v1 64)) swc1 f0, 36(a0) ;; [213] (s.f! (+ a0 36) f0) swc1 f0, 32(a0) ;; [214] (s.f! (+ a0 32) f0) lui v1, 17996 ;; [215] (set! v1 #x464ccccd) ori v1, v1, 52429 mtc1 f0, v1 ;; [216] (set! f0 (gpr->fpr v1)) swc1 f0, 12(a0) ;; [217] (s.f! (+ a0 12) f0) lwu v1, 132(gp) ;; [218] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [219] (set! v1 (l.wu (+ v1 8))) lwu v1, 44(v1) ;; [220] (set! v1 (l.wu (+ v1 44))) sw v1, 4(a0) ;; [221] (s.w! (+ a0 4) v1) mtc1 f0, r0 ;; [222] (set! f0 0) swc1 f0, 20(a0) ;; [223] (s.f! (+ a0 20) f0) lw t9, joint-control-channel-group!(s7);; [224] (set! t9 joint-control-channel-group!) lwu v1, 132(gp) ;; [225] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [226] (set! v1 (l.wu (+ v1 8))) lwu a1, 44(v1) ;; [227] (set! a1 (l.wu (+ v1 44))) lw a2, num-func-chan(s7) ;; [228] (set! a2 num-func-chan) jalr ra, t9 ;; [229] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [230] (set! v1 v0) lui v1, -9 ;; [231] (set! v1 -524289) ori v1, v1, 65535 lwu a0, 600(gp) ;; [232] (set! a0 (l.wu (+ gp 600))) and v0, v1, a0 ;; [233] (set! v0 (logand v1 a0)) sw v0, 600(gp) ;; [234] (s.w! (+ gp 600) v0) beq r0, r0, L98 ;; [235] (b! #t L98 (nop!)) sll r0, r0, 0 B22: L97: lui v1, -16512 ;; [236] (set! v1 -1082130432) mtc1 f0, v1 ;; [237] (set! f0 (gpr->fpr v1)) add.s f0, f0, f30 ;; [238] (set! f0 (+.s f0 f30)) lwu v1, 136(gp) ;; [239] (set! v1 (l.wu (+ gp 136))) lwu v1, 12(v1) ;; [240] (set! v1 (l.wu (+ v1 12))) daddiu a0, v1, 64 ;; [241] (set! a0 (+ v1 64)) swc1 f0, 36(a0) ;; [242] (s.f! (+ a0 36) f0) swc1 f0, 32(a0) ;; [243] (s.f! (+ a0 32) f0) lui v1, 18218 ;; [244] (set! v1 #x472aaaae) ori v1, v1, 43694 mtc1 f0, v1 ;; [245] (set! f0 (gpr->fpr v1)) swc1 f0, 12(a0) ;; [246] (s.f! (+ a0 12) f0) lwu v1, 132(gp) ;; [247] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [248] (set! v1 (l.wu (+ v1 8))) lwu v1, 52(v1) ;; [249] (set! v1 (l.wu (+ v1 52))) sw v1, 4(a0) ;; [250] (s.w! (+ a0 4) v1) mtc1 f0, r0 ;; [251] (set! f0 0) swc1 f0, 20(a0) ;; [252] (s.f! (+ a0 20) f0) lw t9, joint-control-channel-group!(s7);; [253] (set! t9 joint-control-channel-group!) lwu v1, 132(gp) ;; [254] (set! v1 (l.wu (+ gp 132))) lwu v1, 8(v1) ;; [255] (set! v1 (l.wu (+ v1 8))) lwu a1, 52(v1) ;; [256] (set! a1 (l.wu (+ v1 52))) lw a2, num-func-chan(s7) ;; [257] (set! a2 num-func-chan) jalr ra, t9 ;; [258] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [259] (set! v1 v0) lui v1, 8 ;; [260] (set! v1 #x80000) lwu a0, 600(gp) ;; [261] (set! a0 (l.wu (+ gp 600))) or v0, v1, a0 ;; [262] (set! v0 (logior v1 a0)) sw v0, 600(gp) ;; [263] (s.w! (+ gp 600) v0) B23: L98: ld ra, 0(sp) lwc1 f30, 36(sp) lwc1 f28, 32(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 48 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! v1 (l.wu (+ gp 140))) (set! v1 (+ v1 112)) (set! f0 (l.f (+ v1 36))) (set! v1 (fpr->gpr f0)) (set! f30 (gpr->fpr v1)) (set! t9 lerp-scale) (set! a0 0) (set! a1 #x40000000) (set! a2 (fpr->gpr f30)) (set! a3 #x46400000) (set! t0 #x47200000) (call!) (set! f0 (gpr->fpr v0)) (set! f1 (l.f (+ gp 992))) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.bu (+ v1 3))) (b! (<=0.ui v1) L87 (set! v1 #f)) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! v1 (l.wu (+ v1 4))) (label L87) (bl! (not v1) L88 (no-delay!)) (set! a0 v1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 48))) (set! a0 (= v1 a0)) (label L88) (b! (not a0) L96 (nop!)) (set! f28 f1) (set! t9 seek) (set! a0 (fpr->gpr f1)) (set! a1 (fpr->gpr f0)) (set! v1 #x40800000) (set! f0 (gpr->fpr v1)) (set! v1 (l.wu (+ s6 8))) (set! f1 (l.f (+ v1 76))) (set! f0 (*.s f0 f1)) (set! a2 (fpr->gpr f0)) (call!) (set! f0 (gpr->fpr v0)) (set! v1 #x80000) (set! a0 (l.wu (+ gp 600))) (set! v1 (logand v1 a0)) (b! (zero? v1) L91 (nop!)) (set! v1 #x3f800000) (set! f1 (gpr->fpr v1)) (b! (>=.s f0 f1) L90 (set! v1 #f)) (set! v1 #x3f800000) (set! f1 (gpr->fpr v1)) (b! (!=.s f28 f1) L89 (nop!)) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! v1 (+ v1 64)) (set! a0 #x464ccccd) (set! f1 (gpr->fpr a0)) (s.f! (+ v1 12) f1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 44))) (s.w! (+ v1 4) a0) (set! v1 -524289) (set! a0 (l.wu (+ gp 600))) (set! v1 (logand v1 a0)) (s.w! (+ gp 600) v1) (b! #t L90 (nop!)) (label L89) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (set! v1 (fpr->gpr f0)) (label L90) (b! #t L93 (nop!)) (label L91) (set! v1 #x3f800000) (set! f1 (gpr->fpr v1)) (b! (>=.s f1 f0) L93 (set! v1 #f)) (set! v1 #x3f800000) (set! f1 (gpr->fpr v1)) (b! (!=.s f28 f1) L92 (nop!)) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! v1 (+ v1 64)) (set! a0 #x472aaaae) (set! f1 (gpr->fpr a0)) (s.f! (+ v1 12) f1) (set! a0 (l.wu (+ gp 132))) (set! a0 (l.wu (+ a0 8))) (set! a0 (l.wu (+ a0 52))) (s.w! (+ v1 4) a0) (set! v1 #x80000) (set! a0 (l.wu (+ gp 600))) (set! v1 (logior v1 a0)) (s.w! (+ gp 600) v1) (b! #t L93 (nop!)) (label L92) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (set! v1 (fpr->gpr f0)) (label L93) (s.f! (+ gp 992) f0) (set! v1 #x80000) (set! a0 (l.wu (+ gp 600))) (set! v1 (logand v1 a0)) (b! (zero? v1) L94 (nop!)) (set! v1 -1082130432) (set! f1 (gpr->fpr v1)) (set! f0 (+.s f1 f0)) (set! v1 (fpr->gpr f0)) (b! #t L95 (nop!)) (label L94) (set! v1 #x3f800000) (set! f1 (gpr->fpr v1)) (set! f0 (-.s f1 f0)) (set! v1 (fpr->gpr f0)) (label L95) (set! f0 (gpr->fpr v1)) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! v1 (+ v1 64)) (s.f! (+ v1 36) f0) (s.f! (+ v1 32) f0) (set! v1 (fpr->gpr f0)) (set! a0 (l.wu (+ gp 136))) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 52))) (call!) (set! v1 v0) (set! f28 (gpr->fpr v1)) (set! t9 quaternion-y-angle) (set! v1 (l.wu (+ gp 124))) (set! a0 (+ v1 28)) (call!) (set! f0 (gpr->fpr v0)) (set! t9 deg-) (set! a0 (fpr->gpr f0)) (set! f0 (l.f (+ gp 632))) (set! a1 (fpr->gpr f0)) (call!) (set! f1 (gpr->fpr v0)) (set! v1 #x47200000) (set! f0 (gpr->fpr v1)) (set! v1 #x3eb4f4aa) (set! f2 (gpr->fpr v1)) (set! v1 (l.wu (+ s6 8))) (set! f3 (l.f (+ v1 80))) (set! f2 (*.s f2 f3)) (set! f1 (abs.s f1)) (set! f1 (*.s f2 f1)) (set! f0 (min.s f0 f1)) (set! v1 #x41800000) (set! f1 (gpr->fpr v1)) (set! f0 (max.s f30 f0)) (set! f0 (*.s f1 f0)) (set! v1 #x41700000) (set! f1 (gpr->fpr v1)) (set! f1 (*.s f1 f28)) (set! f0 (/.s f0 f1)) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 0)) (s.f! (+ a0 20) f0) (set! t9 joint-control-channel-group-eval!) (set! a1 #f) (set! a2 num-func-loop!) (call!) (set! v1 v0) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 64)) (set! f0 0) (s.f! (+ a0 20) f0) (set! t9 joint-control-channel-group-eval!) (set! a1 #f) (set! a2 num-func-chan) (call!) (b! #t L98 (nop!)) (label L96) (set! t9 seek) (set! a0 (fpr->gpr f1)) (set! a1 (fpr->gpr f0)) (set! v1 #x40800000) (set! f0 (gpr->fpr v1)) (set! v1 (l.wu (+ s6 8))) (set! f1 (l.f (+ v1 76))) (set! f0 (*.s f0 f1)) (set! a2 (fpr->gpr f0)) (call!) (set! f30 (gpr->fpr v0)) (s.f! (+ gp 992) f30) (set! t9 ja-channel-push!) (set! a0 2) (set! a1 45) (call!) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 0)) (set! v1 #x46cccccd) (set! f0 (gpr->fpr v1)) (s.f! (+ a0 12) f0) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 48))) (s.w! (+ a0 4) v1) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (s.f! (+ a0 20) f0) (set! t9 joint-control-channel-group!) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! a1 (l.wu (+ v1 48))) (set! a2 num-func-loop!) (call!) (set! v1 v0) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (b! (>=.s f30 f0) L97 (nop!)) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (set! f0 (-.s f0 f30)) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 64)) (s.f! (+ a0 36) f0) (s.f! (+ a0 32) f0) (set! v1 #x464ccccd) (set! f0 (gpr->fpr v1)) (s.f! (+ a0 12) f0) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 44))) (s.w! (+ a0 4) v1) (set! f0 0) (s.f! (+ a0 20) f0) (set! t9 joint-control-channel-group!) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! a1 (l.wu (+ v1 44))) (set! a2 num-func-chan) (call!) (set! v1 v0) (set! v1 -524289) (set! a0 (l.wu (+ gp 600))) (set! v0 (logand v1 a0)) (s.w! (+ gp 600) v0) (b! #t L98 (nop!)) (label L97) (set! v1 -1082130432) (set! f0 (gpr->fpr v1)) (set! f0 (+.s f0 f30)) (set! v1 (l.wu (+ gp 136))) (set! v1 (l.wu (+ v1 12))) (set! a0 (+ v1 64)) (s.f! (+ a0 36) f0) (s.f! (+ a0 32) f0) (set! v1 #x472aaaae) (set! f0 (gpr->fpr v1)) (s.f! (+ a0 12) f0) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! v1 (l.wu (+ v1 52))) (s.w! (+ a0 4) v1) (set! f0 0) (s.f! (+ a0 20) f0) (set! t9 joint-control-channel-group!) (set! v1 (l.wu (+ gp 132))) (set! v1 (l.wu (+ v1 8))) (set! a1 (l.wu (+ v1 52))) (set! a2 num-func-chan) (call!) (set! v1 v0) (set! v1 #x80000) (set! a0 (l.wu (+ gp 600))) (set! v0 (logior v1 a0)) (s.w! (+ gp 600) v0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 237 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0xa0, fp? 0 ra? 1 ep? 1 ;stack_vars: 104 bytes at 8 ;gprs: gp s5 s4 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 237 ashelin) has unknown type ;; Used lq/sq L99: daddiu sp, sp, -160 sd ra, 0(sp) sq s4, 112(sp) sq s5, 128(sp) sq gp, 144(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) or s5, a1, r0 ;; [ 1] (set! s5 a1) lwu v1, 8(s6) ;; [ 2] (set! v1 (l.wu (+ s6 8))) ld v1, 20(v1) ;; [ 3] (set! v1 (l.d (+ v1 20))) sd v1, 1004(gp) ;; [ 4] (s.d! (+ gp 1004) v1) lwu v1, 996(gp) ;; [ 5] (set! v1 (l.wu (+ gp 996))) daddiu v1, v1, 1 ;; [ 6] (set! v1 (+ v1 1)) sw v1, 996(gp) ;; [ 7] (s.w! (+ gp 996) v1) daddiu s4, sp, 16 ;; [ 8] (set! s4 (+ sp 16)) lwu v1, 52(gp) ;; [ 9] (set! v1 (l.wu (+ gp 52))) sw v1, 0(s4) ;; [ 10] (s.w! s4 v1) lui v1, 16256 ;; [ 11] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 12] (set! f0 (gpr->fpr v1)) swc1 f0, 4(s4) ;; [ 13] (s.f! (+ s4 4) f0) ori v1, r0, 40960 ;; [ 14] (set! v1 #xa000) sd v1, 16(s4) ;; [ 15] (s.d! (+ s4 16) v1) or a0, gp, r0 ;; [ 16] (set! a0 gp) beq s7, a0, L100 ;; [ 17] (b! (not a0) L100 (set! v1 #f)) or v1, s7, r0 B1: lwu v1, 24(a0) ;; [ 18] (set! v1 (l.wu (+ a0 24))) B2: L100: beq s7, v1, L101 ;; [ 19] (b! (not v1) L101 (nop!)) sll r0, r0, 0 B3: lwu a0, 0(v1) ;; [ 20] (set! a0 (l.wu v1)) lw a0, 40(a0) ;; [ 21] (set! a0 (l.w (+ a0 40))) dsll32 a0, a0, 0 ;; [ 22] (set! a0 (sll a0 32)) beq r0, r0, L102 ;; [ 23] (b! #t L102 (nop!)) sll r0, r0, 0 B4: L101: addiu a0, r0, 0 ;; [ 24] (set! a0 0) B5: L102: sllv v1, v1, r0 ;; [ 25] (.sllv v1 v1 r0) or v1, a0, v1 ;; [ 26] (set! v1 (logior a0 v1)) sd v1, 24(s4) ;; [ 27] (s.d! (+ s4 24) v1) sd s7, 32(s4) ;; [ 28] (s.d! (+ s4 32) #f) or a0, gp, r0 ;; [ 29] (set! a0 gp) beq s7, a0, L103 ;; [ 30] (b! (not a0) L103 (set! v1 #f)) or v1, s7, r0 B6: lwu v1, 24(a0) ;; [ 31] (set! v1 (l.wu (+ a0 24))) B7: L103: beq s7, v1, L104 ;; [ 32] (b! (not v1) L104 (nop!)) sll r0, r0, 0 B8: lwu a0, 0(v1) ;; [ 33] (set! a0 (l.wu v1)) lw a0, 40(a0) ;; [ 34] (set! a0 (l.w (+ a0 40))) dsll32 a0, a0, 0 ;; [ 35] (set! a0 (sll a0 32)) beq r0, r0, L105 ;; [ 36] (b! #t L105 (nop!)) sll r0, r0, 0 B9: L104: addiu a0, r0, 0 ;; [ 37] (set! a0 0) B10: L105: sllv v1, v1, r0 ;; [ 38] (.sllv v1 v1 r0) or v1, a0, v1 ;; [ 39] (set! v1 (logior a0 v1)) sd v1, 40(s4) ;; [ 40] (s.d! (+ s4 40) v1) lw v1, *game-info*(s7) ;; [ 41] (set! v1 *game-info*) lwu a0, 224(v1) ;; [ 42] (set! a0 (l.wu (+ v1 224))) daddiu a0, a0, 1 ;; [ 43] (set! a0 (+ a0 1)) sw a0, 224(v1) ;; [ 44] (s.w! (+ v1 224) a0) sw a0, 8(s4) ;; [ 45] (s.w! (+ s4 8) a0) addiu v1, r0, 1200 ;; [ 46] (set! v1 1200) sd v1, 80(s4) ;; [ 47] (s.d! (+ s4 80) v1) lw t9, vector<-cspace!(s7);; [ 48] (set! t9 vector<-cspace!) daddiu a0, s4, 48 ;; [ 49] (set! a0 (+ s4 48)) lwu v1, 128(gp) ;; [ 50] (set! v1 (l.wu (+ gp 128))) daddiu a1, v1, 716 ;; [ 51] (set! a1 (+ v1 716)) jalr ra, t9 ;; [ 52] (call!) sll v0, ra, 0 daddiu v1, s4, 64 ;; [ 53] (set! v1 (+ s4 64)) lq a0, 0(s5) ;; [ 54] (set! a0 (l.q s5)) sq a0, 0(v1) ;; [ 55] (s.q! v1 a0) daddiu a1, s4, 64 ;; [ 56] (set! a1 (+ s4 64)) daddiu v1, s4, 64 ;; [ 57] (set! v1 (+ s4 64)) daddiu a0, s4, 48 ;; [ 58] (set! a0 (+ s4 48)) lqc2 vf4, 0(v1) ;; [ 59] (set! a1 (vector-!2 a1 v1 a0)) lqc2 vf5, 0(a0) vmove.w vf6, vf0 vsub.xyz vf6, vf4, vf5 sqc2 vf6, 0(a1) lw t9, vector-normalize!(s7);; [ 60] (set! t9 vector-normalize!) daddiu a0, s4, 64 ;; [ 61] (set! a0 (+ s4 64)) lui a1, 18582 ;; [ 62] (set! a1 #x48960000) jalr ra, t9 ;; [ 63] (call!) sll v0, ra, 0 lw t9, spawn-projectile(s7);; [ 64] (set! t9 spawn-projectile) lw a0, ashelin-shot(s7) ;; [ 65] (set! a0 ashelin-shot) lw a3, *default-dead-pool*(s7);; [ 66] (set! a3 *default-dead-pool*) or a1, s4, r0 ;; [ 67] (set! a1 s4) or a2, gp, r0 ;; [ 68] (set! a2 gp) jalr ra, t9 ;; [ 69] (call!) sll v0, ra, 0 ld ra, 0(sp) lq gp, 144(sp) lq s5, 128(sp) lq s4, 112(sp) jr ra daddiu sp, sp, 160 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! s5 a1) (set! v1 (l.wu (+ s6 8))) (set! v1 (l.d (+ v1 20))) (s.d! (+ gp 1004) v1) (set! v1 (l.wu (+ gp 996))) (set! v1 (+ v1 1)) (s.w! (+ gp 996) v1) (set! s4 (+ sp 16)) (set! v1 (l.wu (+ gp 52))) (s.w! s4 v1) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (s.f! (+ s4 4) f0) (set! v1 #xa000) (s.d! (+ s4 16) v1) (set! a0 gp) (b! (not a0) L100 (set! v1 #f)) (set! v1 (l.wu (+ a0 24))) (label L100) (b! (not v1) L101 (nop!)) (set! a0 (l.wu v1)) (set! a0 (l.w (+ a0 40))) (set! a0 (sll a0 32)) (b! #t L102 (nop!)) (label L101) (set! a0 0) (label L102) (.sllv v1 v1 r0) (set! v1 (logior a0 v1)) (s.d! (+ s4 24) v1) (s.d! (+ s4 32) #f) (set! a0 gp) (b! (not a0) L103 (set! v1 #f)) (set! v1 (l.wu (+ a0 24))) (label L103) (b! (not v1) L104 (nop!)) (set! a0 (l.wu v1)) (set! a0 (l.w (+ a0 40))) (set! a0 (sll a0 32)) (b! #t L105 (nop!)) (label L104) (set! a0 0) (label L105) (.sllv v1 v1 r0) (set! v1 (logior a0 v1)) (s.d! (+ s4 40) v1) (set! v1 *game-info*) (set! a0 (l.wu (+ v1 224))) (set! a0 (+ a0 1)) (s.w! (+ v1 224) a0) (s.w! (+ s4 8) a0) (set! v1 1200) (s.d! (+ s4 80) v1) (set! t9 vector<-cspace!) (set! a0 (+ s4 48)) (set! v1 (l.wu (+ gp 128))) (set! a1 (+ v1 716)) (call!) (set! v1 (+ s4 64)) (set! a0 (l.q s5)) (s.q! v1 a0) (set! a1 (+ s4 64)) (set! v1 (+ s4 64)) (set! a0 (+ s4 48)) (set! a1 (vector-!2 a1 v1 a0)) (set! t9 vector-normalize!) (set! a0 (+ s4 64)) (set! a1 #x48960000) (call!) (set! t9 spawn-projectile) (set! a0 ashelin-shot) (set! a3 *default-dead-pool*) (set! a1 s4) (set! a2 gp) (call!) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 116 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x10, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 116 ashelin) has unknown type L106: daddiu sp, sp, -16 sd ra, 0(sp) B0: lw t9, enter-state(s7) ;; [ 0] (set! t9 enter-state) lwu v1, -4(a0) ;; [ 1] (set! v1 (l.wu (+ a0 -4))) lwu v1, 732(v1) ;; [ 2] (set! v1 (l.wu (+ v1 732))) sw v1, 64(s6) ;; [ 3] (s.w! (+ s6 64) v1) jalr ra, t9 ;; [ 4] (call!) sll v0, ra, 0 ld ra, 0(sp) jr ra daddiu sp, sp, 16 sll r0, r0, 0 sll r0, r0, 0 (set! t9 enter-state) (set! v1 (l.wu (+ a0 -4))) (set! v1 (l.wu (+ v1 732))) (s.w! (+ s6 64) v1) (call!) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 239 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 239 ashelin) has unknown type L107: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) or a0, gp, r0 ;; [ 1] (set! a0 gp) lwu v1, -4(a0) ;; [ 2] (set! v1 (l.wu (+ a0 -4))) lwu t9, 872(v1) ;; [ 3] (set! t9 (l.wu (+ v1 872))) jalr ra, t9 ;; [ 4] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 5] (set! v1 v0) beq s7, v1, L108 ;; [ 6] (b! (not v1) L108 (nop!)) sll r0, r0, 0 B1: lw t9, enter-state(s7) ;; [ 7] (set! t9 enter-state) lwu v1, -4(gp) ;; [ 8] (set! v1 (l.wu (+ gp -4))) lwu v1, 944(v1) ;; [ 9] (set! v1 (l.wu (+ v1 944))) sw v1, 64(s6) ;; [ 10] (s.w! (+ s6 64) v1) jalr ra, t9 ;; [ 11] (call!) sll v0, ra, 0 beq r0, r0, L109 ;; [ 12] (b! #t L109 (nop!)) sll r0, r0, 0 B2: L108: lw t9, enter-state(s7) ;; [ 13] (set! t9 enter-state) lwu v1, -4(gp) ;; [ 14] (set! v1 (l.wu (+ gp -4))) lwu v1, 940(v1) ;; [ 15] (set! v1 (l.wu (+ v1 940))) sw v1, 64(s6) ;; [ 16] (s.w! (+ s6 64) v1) jalr ra, t9 ;; [ 17] (call!) sll v0, ra, 0 B3: L109: ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 872))) (call!) (set! v1 v0) (b! (not v1) L108 (nop!)) (set! t9 enter-state) (set! v1 (l.wu (+ gp -4))) (set! v1 (l.wu (+ v1 944))) (s.w! (+ s6 64) v1) (call!) (b! #t L109 (nop!)) (label L108) (set! t9 enter-state) (set! v1 (l.wu (+ gp -4))) (set! v1 (l.wu (+ v1 940))) (s.w! (+ s6 64) v1) (call!) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 72 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 72 ashelin) has unknown type L110: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) or a0, gp, r0 ;; [ 1] (set! a0 gp) lwu v1, -4(a0) ;; [ 2] (set! v1 (l.wu (+ a0 -4))) lwu t9, 872(v1) ;; [ 3] (set! t9 (l.wu (+ v1 872))) jalr ra, t9 ;; [ 4] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 5] (set! v1 v0) beq s7, v1, L111 ;; [ 6] (b! (not v1) L111 (nop!)) sll r0, r0, 0 B1: lwu v1, -4(gp) ;; [ 7] (set! v1 (l.wu (+ gp -4))) lwu t9, 296(v1) ;; [ 8] (set! t9 (l.wu (+ v1 296))) or a0, gp, r0 ;; [ 9] (set! a0 gp) jalr ra, t9 ;; [ 10] (call!) sll v0, ra, 0 beq r0, r0, L112 ;; [ 11] (b! #t L112 (nop!)) sll r0, r0, 0 B2: L111: or a0, gp, r0 ;; [ 12] (set! a0 gp) lwu v1, -4(a0) ;; [ 13] (set! v1 (l.wu (+ a0 -4))) lwu t9, 972(v1) ;; [ 14] (set! t9 (l.wu (+ v1 972))) jalr ra, t9 ;; [ 15] (call!) sll v0, ra, 0 B3: L112: ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 872))) (call!) (set! v1 v0) (b! (not v1) L111 (nop!)) (set! v1 (l.wu (+ gp -4))) (set! t9 (l.wu (+ v1 296))) (set! a0 gp) (call!) (b! #t L112 (nop!)) (label L111) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 972))) (call!) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 70 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 70 ashelin) has unknown type L113: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) or a0, gp, r0 ;; [ 1] (set! a0 gp) lwu v1, -4(a0) ;; [ 2] (set! v1 (l.wu (+ a0 -4))) lwu t9, 908(v1) ;; [ 3] (set! t9 (l.wu (+ v1 908))) daddiu a1, s7, #t ;; [ 4] (set! a1 #t) jalr ra, t9 ;; [ 5] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 6] (set! v1 v0) or a0, gp, r0 ;; [ 7] (set! a0 gp) lwu v1, -4(a0) ;; [ 8] (set! v1 (l.wu (+ a0 -4))) lwu t9, 872(v1) ;; [ 9] (set! t9 (l.wu (+ v1 872))) jalr ra, t9 ;; [ 10] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 11] (set! v1 v0) bne s7, v1, L114 ;; [ 12] (b! (truthy v1) L114 (nop!)) sll r0, r0, 0 B1: lwu v1, -4(gp) ;; [ 13] (set! v1 (l.wu (+ gp -4))) lwu t9, 304(v1) ;; [ 14] (set! t9 (l.wu (+ v1 304))) or a0, gp, r0 ;; [ 15] (set! a0 gp) jalr ra, t9 ;; [ 16] (call!) sll v0, ra, 0 beq r0, r0, L117 ;; [ 17] (b! #t L117 (nop!)) sll r0, r0, 0 B2: L114: or a0, gp, r0 ;; [ 18] (set! a0 gp) lwu v1, -4(a0) ;; [ 19] (set! v1 (l.wu (+ a0 -4))) lwu t9, 968(v1) ;; [ 20] (set! t9 (l.wu (+ v1 968))) daddiu a1, s7, #t ;; [ 21] (set! a1 #t) or a2, s7, r0 ;; [ 22] (set! a2 #f) jalr ra, t9 ;; [ 23] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 24] (set! v1 v0) beq s7, v1, L115 ;; [ 25] (b! (not v1) L115 (nop!)) sll r0, r0, 0 B3: lw t9, enter-state(s7) ;; [ 26] (set! t9 enter-state) lwu v1, -4(gp) ;; [ 27] (set! v1 (l.wu (+ gp -4))) lwu v1, 944(v1) ;; [ 28] (set! v1 (l.wu (+ v1 944))) sw v1, 64(s6) ;; [ 29] (s.w! (+ s6 64) v1) jalr ra, t9 ;; [ 30] (call!) sll v0, ra, 0 beq r0, r0, L117 ;; [ 31] (b! #t L117 (nop!)) sll r0, r0, 0 B4: L115: or a0, gp, r0 ;; [ 32] (set! a0 gp) lwu v1, -4(a0) ;; [ 33] (set! v1 (l.wu (+ a0 -4))) lwu t9, 1004(v1) ;; [ 34] (set! t9 (l.wu (+ v1 1004))) jalr ra, t9 ;; [ 35] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 36] (set! v1 v0) beq s7, v1, L116 ;; [ 37] (b! (not v1) L116 (nop!)) sll r0, r0, 0 B5: lw t9, enter-state(s7) ;; [ 38] (set! t9 enter-state) lwu v1, -4(gp) ;; [ 39] (set! v1 (l.wu (+ gp -4))) lwu v1, 928(v1) ;; [ 40] (set! v1 (l.wu (+ v1 928))) sw v1, 64(s6) ;; [ 41] (s.w! (+ s6 64) v1) jalr ra, t9 ;; [ 42] (call!) sll v0, ra, 0 beq r0, r0, L117 ;; [ 43] (b! #t L117 (nop!)) sll r0, r0, 0 B6: L116: lw t9, enter-state(s7) ;; [ 44] (set! t9 enter-state) lwu v1, -4(gp) ;; [ 45] (set! v1 (l.wu (+ gp -4))) lwu v1, 944(v1) ;; [ 46] (set! v1 (l.wu (+ v1 944))) sw v1, 64(s6) ;; [ 47] (s.w! (+ s6 64) v1) jalr ra, t9 ;; [ 48] (call!) sll v0, ra, 0 B7: L117: ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 908))) (set! a1 #t) (call!) (set! v1 v0) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 872))) (call!) (set! v1 v0) (b! (truthy v1) L114 (nop!)) (set! v1 (l.wu (+ gp -4))) (set! t9 (l.wu (+ v1 304))) (set! a0 gp) (call!) (b! #t L117 (nop!)) (label L114) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 968))) (set! a1 #t) (set! a2 #f) (call!) (set! v1 v0) (b! (not v1) L115 (nop!)) (set! t9 enter-state) (set! v1 (l.wu (+ gp -4))) (set! v1 (l.wu (+ v1 944))) (s.w! (+ s6 64) v1) (call!) (b! #t L117 (nop!)) (label L115) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 1004))) (call!) (set! v1 v0) (b! (not v1) L116 (nop!)) (set! t9 enter-state) (set! v1 (l.wu (+ gp -4))) (set! v1 (l.wu (+ v1 928))) (s.w! (+ s6 64) v1) (call!) (b! #t L117 (nop!)) (label L116) (set! t9 enter-state) (set! v1 (l.wu (+ gp -4))) (set! v1 (l.wu (+ v1 944))) (s.w! (+ s6 64) v1) (call!) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 248 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x40, fp? 0 ra? 1 ep? 1 ;stack_vars: 24 bytes at 8 ;gprs: gp s5 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 248 ashelin) has unknown type L118: daddiu sp, sp, -64 sd ra, 0(sp) sq s5, 32(sp) sq gp, 48(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lui v1, 16 ;; [ 1] (set! v1 #x100000) lwu a0, 600(gp) ;; [ 2] (set! a0 (l.wu (+ gp 600))) and v1, v1, a0 ;; [ 3] (set! v1 (logand v1 a0)) beq v1, r0, L121 ;; [ 4] (b! (zero? v1) L121 (set! v0 #f)) or v0, s7, r0 B1: lui v1, 16256 ;; [ 5] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 6] (set! f0 (gpr->fpr v1)) lwu v1, 124(gp) ;; [ 7] (set! v1 (l.wu (+ gp 124))) swc1 f0, 24(v1) ;; [ 8] (s.f! (+ v1 24) f0) lui v1, 16256 ;; [ 9] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 10] (set! f0 (gpr->fpr v1)) swc1 f0, 936(gp) ;; [ 11] (s.f! (+ gp 936) f0) daddiu a0, gp, 1020 ;; [ 12] (set! a0 (+ gp 1020)) lwu v1, 124(gp) ;; [ 13] (set! v1 (l.wu (+ gp 124))) daddiu v1, v1, 12 ;; [ 14] (set! v1 (+ v1 12)) lwc1 f0, 0(a0) ;; [ 15] (set! f0 (vec4dot a0 v1)) lwc1 f1, 4(a0) lwc1 f2, 8(a0) lwc1 f3, 12(a0) lwc1 f4, 0(v1) lwc1 f5, 4(v1) lwc1 f6, 8(v1) lwc1 f7, 12(v1) mula.s f0, f4 madda.s f1, f5 madda.s f2, f6 madd.s f0, f3, f7 mfc1 v1, f0 ;; [ 16] (set! v1 (fpr->gpr f0)) mtc1 f0, v1 ;; [ 17] (set! f0 (gpr->fpr v1)) daddiu a0, gp, 1020 ;; [ 18] (set! a0 (+ gp 1020)) daddiu v1, gp, 924 ;; [ 19] (set! v1 (+ gp 924)) lwc1 f1, 0(a0) ;; [ 20] (set! f1 (vec4dot a0 v1)) lwc1 f2, 4(a0) lwc1 f3, 8(a0) lwc1 f4, 12(a0) lwc1 f5, 0(v1) lwc1 f6, 4(v1) lwc1 f7, 8(v1) lwc1 f8, 12(v1) mula.s f1, f5 madda.s f2, f6 madda.s f3, f7 madd.s f1, f4, f8 mfc1 v1, f1 ;; [ 21] (set! v1 (fpr->gpr f1)) mtc1 f1, v1 ;; [ 22] (set! f1 (gpr->fpr v1)) mtc1 f2, r0 ;; [ 23] (set! f2 0) c.lt.s f2, f1 ;; [ 24] (b! (<.s f2 f1) L119 (set! v1 #t)) bc1t L119 daddiu v1, s7, 4 B2: or v1, s7, r0 ;; [ 25] (set! v1 #f) B3: L119: beql s7, v1, L120 ;; [ 26] (bl! (not v1) L120 (no-delay!)) B4: or v1, v1, r0 ;; [ 27] (set! v1 v1) B5: mtc1 f1, r0 ;; [ 28] (set! f1 0) c.lt.s f1, f0 ;; [ 29] (b! (<.s f1 f0) L120 (set! v1 #t)) bc1t L120 daddiu v1, s7, 4 B6: or v1, s7, r0 ;; [ 30] (set! v1 #f) B7: L120: beq s7, v1, L121 ;; [ 31] (b! (not v1) L121 (set! v0 #f)) or v0, s7, r0 B8: daddiu s5, sp, 16 ;; [ 32] (set! s5 (+ sp 16)) or a0, s5, r0 ;; [ 33] (set! a0 s5) daddiu v1, gp, 924 ;; [ 34] (set! v1 (+ gp 924)) lwu a1, 124(gp) ;; [ 35] (set! a1 (l.wu (+ gp 124))) daddiu a1, a1, 12 ;; [ 36] (set! a1 (+ a1 12)) lqc2 vf4, 0(v1) ;; [ 37] (set! a0 (vector-!2 a0 v1 a1)) lqc2 vf5, 0(a1) vmove.w vf6, vf0 vsub.xyz vf6, vf4, vf5 sqc2 vf6, 0(a0) mtc1 f0, r0 ;; [ 38] (set! f0 0) swc1 f0, 4(s5) ;; [ 39] (s.f! (+ s5 4) f0) lw t9, vector-normalize!(s7);; [ 40] (set! t9 vector-normalize!) or a0, s5, r0 ;; [ 41] (set! a0 s5) lui a1, 16256 ;; [ 42] (set! a1 #x3f800000) jalr ra, t9 ;; [ 43] (call!) sll v0, ra, 0 daddiu v1, gp, 1020 ;; [ 44] (set! v1 (+ gp 1020)) lwc1 f0, 0(s5) ;; [ 45] (set! f0 (vec3dot s5 v1)) lwc1 f1, 4(s5) lwc1 f2, 8(s5) lwc1 f3, 0(v1) lwc1 f4, 4(v1) lwc1 f5, 8(v1) mula.s f0, f3 madda.s f1, f4 madd.s f0, f2, f5 mfc1 v1, f0 ;; [ 46] (set! v1 (fpr->gpr f0)) mtc1 f0, v1 ;; [ 47] (set! f0 (gpr->fpr v1)) mtc1 f1, r0 ;; [ 48] (set! f1 0) c.lt.s f0, f1 ;; [ 49] (b! (>=.s f0 f1) L121 (set! v0 #t)) bc1f L121 daddiu v0, s7, 4 B9: or v0, s7, r0 ;; [ 50] (set! v0 #f) B10: L121: ld ra, 0(sp) lq gp, 48(sp) lq s5, 32(sp) jr ra daddiu sp, sp, 64 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! v1 #x100000) (set! a0 (l.wu (+ gp 600))) (set! v1 (logand v1 a0)) (b! (zero? v1) L121 (set! v0 #f)) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (set! v1 (l.wu (+ gp 124))) (s.f! (+ v1 24) f0) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (s.f! (+ gp 936) f0) (set! a0 (+ gp 1020)) (set! v1 (l.wu (+ gp 124))) (set! v1 (+ v1 12)) (set! f0 (vec4dot a0 v1)) (set! v1 (fpr->gpr f0)) (set! f0 (gpr->fpr v1)) (set! a0 (+ gp 1020)) (set! v1 (+ gp 924)) (set! f1 (vec4dot a0 v1)) (set! v1 (fpr->gpr f1)) (set! f1 (gpr->fpr v1)) (set! f2 0) (b! (<.s f2 f1) L119 (set! v1 #t)) (set! v1 #f) (label L119) (bl! (not v1) L120 (no-delay!)) (set! v1 v1) (set! f1 0) (b! (<.s f1 f0) L120 (set! v1 #t)) (set! v1 #f) (label L120) (b! (not v1) L121 (set! v0 #f)) (set! s5 (+ sp 16)) (set! a0 s5) (set! v1 (+ gp 924)) (set! a1 (l.wu (+ gp 124))) (set! a1 (+ a1 12)) (set! a0 (vector-!2 a0 v1 a1)) (set! f0 0) (s.f! (+ s5 4) f0) (set! t9 vector-normalize!) (set! a0 s5) (set! a1 #x3f800000) (call!) (set! v1 (+ gp 1020)) (set! f0 (vec3dot s5 v1)) (set! v1 (fpr->gpr f0)) (set! f0 (gpr->fpr v1)) (set! f1 0) (b! (>=.s f0 f1) L121 (set! v0 #t)) (set! v0 #f) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 247 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x70, fp? 0 ra? 1 ep? 1 ;stack_vars: 56 bytes at 8 ;gprs: gp s5 ;fprs: f30 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 247 ashelin) has unknown type ;; Used lq/sq L122: daddiu sp, sp, -112 sd ra, 0(sp) sq s5, 64(sp) sq gp, 80(sp) swc1 f30, 96(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lui v1, 16 ;; [ 1] (set! v1 #x100000) lwu a0, 600(gp) ;; [ 2] (set! a0 (l.wu (+ gp 600))) and v1, v1, a0 ;; [ 3] (set! v1 (logand v1 a0)) beq v1, r0, L129 ;; [ 4] (b! (zero? v1) L129 (nop!)) sll r0, r0, 0 B1: lui v1, 16256 ;; [ 5] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 6] (set! f0 (gpr->fpr v1)) lwu v1, 124(gp) ;; [ 7] (set! v1 (l.wu (+ gp 124))) swc1 f0, 24(v1) ;; [ 8] (s.f! (+ v1 24) f0) lui v1, 16256 ;; [ 9] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 10] (set! f0 (gpr->fpr v1)) swc1 f0, 936(gp) ;; [ 11] (s.f! (+ gp 936) f0) daddiu a0, gp, 1020 ;; [ 12] (set! a0 (+ gp 1020)) lwu v1, 124(gp) ;; [ 13] (set! v1 (l.wu (+ gp 124))) daddiu v1, v1, 12 ;; [ 14] (set! v1 (+ v1 12)) lwc1 f0, 0(a0) ;; [ 15] (set! f0 (vec4dot a0 v1)) lwc1 f1, 4(a0) lwc1 f2, 8(a0) lwc1 f3, 12(a0) lwc1 f4, 0(v1) lwc1 f5, 4(v1) lwc1 f6, 8(v1) lwc1 f7, 12(v1) mula.s f0, f4 madda.s f1, f5 madda.s f2, f6 madd.s f0, f3, f7 mfc1 v1, f0 ;; [ 16] (set! v1 (fpr->gpr f0)) mtc1 f30, v1 ;; [ 17] (set! f30 (gpr->fpr v1)) daddiu a0, gp, 1020 ;; [ 18] (set! a0 (+ gp 1020)) daddiu v1, gp, 924 ;; [ 19] (set! v1 (+ gp 924)) lwc1 f0, 0(a0) ;; [ 20] (set! f0 (vec4dot a0 v1)) lwc1 f1, 4(a0) lwc1 f2, 8(a0) lwc1 f3, 12(a0) lwc1 f4, 0(v1) lwc1 f5, 4(v1) lwc1 f6, 8(v1) lwc1 f7, 12(v1) mula.s f0, f4 madda.s f1, f5 madda.s f2, f6 madd.s f0, f3, f7 mfc1 v1, f0 ;; [ 21] (set! v1 (fpr->gpr f0)) mtc1 f0, v1 ;; [ 22] (set! f0 (gpr->fpr v1)) mtc1 f1, r0 ;; [ 23] (set! f1 0) c.lt.s f1, f0 ;; [ 24] (b! (>=.s f1 f0) L123 (set! v1 #t)) bc1f L123 daddiu v1, s7, 4 B2: or v1, s7, r0 ;; [ 25] (set! v1 #f) B3: L123: bnel s7, v1, L124 ;; [ 26] (bl! (truthy v1) L124 (no-delay!)) B4: or v1, v1, r0 ;; [ 27] (set! v1 v1) B5: lui v1, -14848 ;; [ 28] (set! v1 -973078528) mtc1 f0, v1 ;; [ 29] (set! f0 (gpr->fpr v1)) c.lt.s f0, f30 ;; [ 30] (b! (>=.s f0 f30) L124 (set! v1 #t)) bc1f L124 daddiu v1, s7, 4 B6: or v1, s7, r0 ;; [ 31] (set! v1 #f) B7: L124: beq s7, v1, L125 ;; [ 32] (b! (not v1) L125 (set! v1 #f)) or v1, s7, r0 B8: daddiu v1, s7, #t ;; [ 33] (set! v1 #t) or v0, v1, r0 ;; [ 34] (set! v0 v1) beq r0, r0, L130 ;; [ 35] (b! #t L130 (nop!)) sll r0, r0, 0 B9: or v1, r0, r0 ;; [ 36] (set! v1 0) B10: L125: daddiu s5, sp, 16 ;; [ 37] (set! s5 (+ sp 16)) or a0, s5, r0 ;; [ 38] (set! a0 s5) daddiu v1, gp, 924 ;; [ 39] (set! v1 (+ gp 924)) lwu a1, 124(gp) ;; [ 40] (set! a1 (l.wu (+ gp 124))) daddiu a1, a1, 12 ;; [ 41] (set! a1 (+ a1 12)) lqc2 vf4, 0(v1) ;; [ 42] (set! a0 (vector-!2 a0 v1 a1)) lqc2 vf5, 0(a1) vmove.w vf6, vf0 vsub.xyz vf6, vf4, vf5 sqc2 vf6, 0(a0) mtc1 f0, r0 ;; [ 43] (set! f0 0) swc1 f0, 4(s5) ;; [ 44] (s.f! (+ s5 4) f0) lw t9, vector-normalize!(s7);; [ 45] (set! t9 vector-normalize!) or a0, s5, r0 ;; [ 46] (set! a0 s5) lui a1, 16256 ;; [ 47] (set! a1 #x3f800000) jalr ra, t9 ;; [ 48] (call!) sll v0, ra, 0 lui v1, -16721 ;; [ 49] (set! v1 -1095820640) ori v1, v1, 6816 mtc1 f0, v1 ;; [ 50] (set! f0 (gpr->fpr v1)) or a0, s5, r0 ;; [ 51] (set! a0 s5) daddiu v1, gp, 1020 ;; [ 52] (set! v1 (+ gp 1020)) lwc1 f1, 0(a0) ;; [ 53] (set! f1 (vec3dot a0 v1)) lwc1 f2, 4(a0) lwc1 f3, 8(a0) lwc1 f4, 0(v1) lwc1 f5, 4(v1) lwc1 f6, 8(v1) mula.s f1, f4 madda.s f2, f5 madd.s f1, f3, f6 mfc1 v1, f1 ;; [ 54] (set! v1 (fpr->gpr f1)) mtc1 f1, v1 ;; [ 55] (set! f1 (gpr->fpr v1)) c.lt.s f0, f1 ;; [ 56] (b! (<.s f0 f1) L126 (set! v1 #f)) bc1t L126 or v1, s7, r0 B11: daddiu v1, s7, #t ;; [ 57] (set! v1 #t) or v0, v1, r0 ;; [ 58] (set! v0 v1) beq r0, r0, L130 ;; [ 59] (b! #t L130 (nop!)) sll r0, r0, 0 B12: or v1, r0, r0 ;; [ 60] (set! v1 0) B13: L126: mtc1 f0, r0 ;; [ 61] (set! f0 0) c.lt.s f30, f0 ;; [ 62] (b! (<.s f30 f0) L127 (set! v1 #f)) bc1t L127 or v1, s7, r0 B14: or v0, s7, r0 ;; [ 63] (set! v0 #f) beq r0, r0, L130 ;; [ 64] (b! #t L130 (nop!)) sll r0, r0, 0 B15: or v1, r0, r0 ;; [ 65] (set! v1 0) B16: L127: daddiu a2, sp, 32 ;; [ 66] (set! a2 (+ sp 32)) daddiu a0, sp, 48 ;; [ 67] (set! a0 (+ sp 48)) or v1, a2, r0 ;; [ 68] (set! v1 a2) daddiu a1, gp, 1020 ;; [ 69] (set! a1 (+ gp 1020)) lwc1 f0, 1032(gp) ;; [ 70] (set! f0 (l.f (+ gp 1032))) neg.s f0, f0 ;; [ 71] (set! f0 (neg.s f0)) lqc2 vf1, 0(a1) ;; [ 72] (set! v1 (vector-float*!2 v1 a1 f0)) mfc1 a1, f0 qmtc2.i vf2, a1 vaddx.w vf1, vf0, vf0 vmulx.xyz vf1, vf1, vf2 sqc2 vf1, 0(v1) or v1, a0, r0 ;; [ 73] (set! v1 a0) lwu a1, 124(gp) ;; [ 74] (set! a1 (l.wu (+ gp 124))) daddiu a1, a1, 12 ;; [ 75] (set! a1 (+ a1 12)) lq a1, 0(a1) ;; [ 76] (set! a1 (l.q a1)) sq a1, 0(v1) ;; [ 77] (s.q! v1 a1) mtc1 f0, r0 ;; [ 78] (set! f0 0) swc1 f0, 4(a0) ;; [ 79] (s.f! (+ a0 4) f0) lw t9, intersect-ray-plane(s7);; [ 80] (set! t9 intersect-ray-plane) daddiu a3, gp, 1020 ;; [ 81] (set! a3 (+ gp 1020)) or a1, s5, r0 ;; [ 82] (set! a1 s5) jalr ra, t9 ;; [ 83] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [ 84] (set! f0 (gpr->fpr v0)) lui v1, 17920 ;; [ 85] (set! v1 #x46000000) mtc1 f1, v1 ;; [ 86] (set! f1 (gpr->fpr v1)) c.lt.s f0, f1 ;; [ 87] (b! (>=.s f0 f1) L128 (set! v0 #t)) bc1f L128 daddiu v0, s7, 4 B17: or v0, s7, r0 ;; [ 88] (set! v0 #f) B18: L128: beq r0, r0, L130 ;; [ 89] (b! #t L130 (nop!)) sll r0, r0, 0 B19: L129: daddiu v0, s7, #t ;; [ 90] (set! v0 #t) B20: L130: ld ra, 0(sp) lwc1 f30, 96(sp) lq gp, 80(sp) lq s5, 64(sp) jr ra daddiu sp, sp, 112 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! v1 #x100000) (set! a0 (l.wu (+ gp 600))) (set! v1 (logand v1 a0)) (b! (zero? v1) L129 (nop!)) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (set! v1 (l.wu (+ gp 124))) (s.f! (+ v1 24) f0) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (s.f! (+ gp 936) f0) (set! a0 (+ gp 1020)) (set! v1 (l.wu (+ gp 124))) (set! v1 (+ v1 12)) (set! f0 (vec4dot a0 v1)) (set! v1 (fpr->gpr f0)) (set! f30 (gpr->fpr v1)) (set! a0 (+ gp 1020)) (set! v1 (+ gp 924)) (set! f0 (vec4dot a0 v1)) (set! v1 (fpr->gpr f0)) (set! f0 (gpr->fpr v1)) (set! f1 0) (b! (>=.s f1 f0) L123 (set! v1 #t)) (set! v1 #f) (label L123) (bl! (truthy v1) L124 (no-delay!)) (set! v1 v1) (set! v1 -973078528) (set! f0 (gpr->fpr v1)) (b! (>=.s f0 f30) L124 (set! v1 #t)) (set! v1 #f) (label L124) (b! (not v1) L125 (set! v1 #f)) (set! v1 #t) (set! v0 v1) (b! #t L130 (nop!)) (set! v1 0) (label L125) (set! s5 (+ sp 16)) (set! a0 s5) (set! v1 (+ gp 924)) (set! a1 (l.wu (+ gp 124))) (set! a1 (+ a1 12)) (set! a0 (vector-!2 a0 v1 a1)) (set! f0 0) (s.f! (+ s5 4) f0) (set! t9 vector-normalize!) (set! a0 s5) (set! a1 #x3f800000) (call!) (set! v1 -1095820640) (set! f0 (gpr->fpr v1)) (set! a0 s5) (set! v1 (+ gp 1020)) (set! f1 (vec3dot a0 v1)) (set! v1 (fpr->gpr f1)) (set! f1 (gpr->fpr v1)) (b! (<.s f0 f1) L126 (set! v1 #f)) (set! v1 #t) (set! v0 v1) (b! #t L130 (nop!)) (set! v1 0) (label L126) (set! f0 0) (b! (<.s f30 f0) L127 (set! v1 #f)) (set! v0 #f) (b! #t L130 (nop!)) (set! v1 0) (label L127) (set! a2 (+ sp 32)) (set! a0 (+ sp 48)) (set! v1 a2) (set! a1 (+ gp 1020)) (set! f0 (l.f (+ gp 1032))) (set! f0 (neg.s f0)) (set! v1 (vector-float*!2 v1 a1 f0)) (set! v1 a0) (set! a1 (l.wu (+ gp 124))) (set! a1 (+ a1 12)) (set! a1 (l.q a1)) (s.q! v1 a1) (set! f0 0) (s.f! (+ a0 4) f0) (set! t9 intersect-ray-plane) (set! a3 (+ gp 1020)) (set! a1 s5) (call!) (set! f0 (gpr->fpr v0)) (set! v1 #x46000000) (set! f1 (gpr->fpr v1)) (b! (>=.s f0 f1) L128 (set! v0 #t)) (set! v0 #f) (label L128) (b! #t L130 (nop!)) (label L129) (set! v0 #t) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 240 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x10, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 240 ashelin) has unknown type L131: daddiu sp, sp, -16 sd ra, 0(sp) B0: or v1, a1, r0 ;; [ 0] (set! v1 a1) addiu a1, r0, 3 ;; [ 1] (set! a1 3) bne v1, a1, L132 ;; [ 2] (b! (!= v1 a1) L132 (nop!)) sll r0, r0, 0 B1: lw t9, enter-state(s7) ;; [ 3] (set! t9 enter-state) lwu v1, -4(a0) ;; [ 4] (set! v1 (l.wu (+ a0 -4))) lwu v1, 920(v1) ;; [ 5] (set! v1 (l.wu (+ v1 920))) sw v1, 64(s6) ;; [ 6] (s.w! (+ s6 64) v1) jalr ra, t9 ;; [ 7] (call!) sll v0, ra, 0 beq r0, r0, L134 ;; [ 8] (b! #t L134 (nop!)) sll r0, r0, 0 B2: L132: addiu a1, r0, 2 ;; [ 9] (set! a1 2) bne v1, a1, L133 ;; [ 10] (b! (!= v1 a1) L133 (nop!)) sll r0, r0, 0 B3: lw t9, enter-state(s7) ;; [ 11] (set! t9 enter-state) lwu v1, -4(a0) ;; [ 12] (set! v1 (l.wu (+ a0 -4))) lwu v1, 924(v1) ;; [ 13] (set! v1 (l.wu (+ v1 924))) sw v1, 64(s6) ;; [ 14] (s.w! (+ s6 64) v1) jalr ra, t9 ;; [ 15] (call!) sll v0, ra, 0 beq r0, r0, L134 ;; [ 16] (b! #t L134 (nop!)) sll r0, r0, 0 B4: L133: lw t9, enter-state(s7) ;; [ 17] (set! t9 enter-state) lwu v1, -4(a0) ;; [ 18] (set! v1 (l.wu (+ a0 -4))) lwu v1, 916(v1) ;; [ 19] (set! v1 (l.wu (+ v1 916))) sw v1, 64(s6) ;; [ 20] (s.w! (+ s6 64) v1) jalr ra, t9 ;; [ 21] (call!) sll v0, ra, 0 B5: L134: ld ra, 0(sp) jr ra daddiu sp, sp, 16 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! v1 a1) (set! a1 3) (b! (!= v1 a1) L132 (nop!)) (set! t9 enter-state) (set! v1 (l.wu (+ a0 -4))) (set! v1 (l.wu (+ v1 920))) (s.w! (+ s6 64) v1) (call!) (b! #t L134 (nop!)) (label L132) (set! a1 2) (b! (!= v1 a1) L133 (nop!)) (set! t9 enter-state) (set! v1 (l.wu (+ a0 -4))) (set! v1 (l.wu (+ v1 924))) (s.w! (+ s6 64) v1) (call!) (b! #t L134 (nop!)) (label L133) (set! t9 enter-state) (set! v1 (l.wu (+ a0 -4))) (set! v1 (l.wu (+ v1 916))) (s.w! (+ s6 64) v1) (call!) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 242 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x60, fp? 0 ra? 1 ep? 1 ;stack_vars: 40 bytes at 8 ;gprs: gp s5 s4 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 242 ashelin) has unknown type L135: daddiu sp, sp, -96 sd ra, 0(sp) sq s4, 48(sp) sq s5, 64(sp) sq gp, 80(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) addiu s5, r0, 0 ;; [ 1] (set! s5 0) or a0, gp, r0 ;; [ 2] (set! a0 gp) lwu v1, -4(a0) ;; [ 3] (set! v1 (l.wu (+ a0 -4))) lwu t9, 492(v1) ;; [ 4] (set! t9 (l.wu (+ v1 492))) addiu a1, r0, 2 ;; [ 5] (set! a1 2) jalr ra, t9 ;; [ 6] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 7] (set! v1 v0) bne v1, r0, L137 ;; [ 8] (b! (nonzero? v1) L137 (nop!)) sll r0, r0, 0 B1: lui v1, 18048 ;; [ 9] (set! v1 #x46800000) mtc1 f0, v1 ;; [ 10] (set! f0 (gpr->fpr v1)) lwc1 f1, 888(gp) ;; [ 11] (set! f1 (l.f (+ gp 888))) abs.s f1, f1 ;; [ 12] (set! f1 (abs.s f1)) c.lt.s f0, f1 ;; [ 13] (b! (<.s f0 f1) L136 (set! v1 #f)) bc1t L136 or v1, s7, r0 B2: daddiu s4, sp, 16 ;; [ 14] (set! s4 (+ sp 16)) or a0, gp, r0 ;; [ 15] (set! a0 gp) lwu v1, -4(a0) ;; [ 16] (set! v1 (l.wu (+ a0 -4))) lwu t9, 960(v1) ;; [ 17] (set! t9 (l.wu (+ v1 960))) or a1, s4, r0 ;; [ 18] (set! a1 s4) lui v1, 18048 ;; [ 19] (set! v1 #x46800000) mtc1 f0, v1 ;; [ 20] (set! f0 (gpr->fpr v1)) lwc1 f1, 896(gp) ;; [ 21] (set! f1 (l.f (+ gp 896))) add.s f0, f0, f1 ;; [ 22] (set! f0 (+.s f0 f1)) mfc1 a2, f0 ;; [ 23] (set! a2 (fpr->gpr f0)) lui a3, 17920 ;; [ 24] (set! a3 #x46000000) lui v1, 18207 ;; [ 25] (set! t0 #x471f03ee) ori t0, v1, 1006 lui v1, 18183 ;; [ 26] (set! t1 #x470703ee) ori t1, v1, 1006 jalr ra, t9 ;; [ 27] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 28] (set! v1 v0) beq s7, v1, L136 ;; [ 29] (b! (not v1) L136 (set! v1 #f)) or v1, s7, r0 B3: daddiu v1, gp, 556 ;; [ 30] (set! v1 (+ gp 556)) lwu a0, 124(gp) ;; [ 31] (set! a0 (l.wu (+ gp 124))) daddiu a0, a0, 12 ;; [ 32] (set! a0 (+ a0 12)) vmove.w vf6, vf0 ;; [ 33] (set! v1 (vector+!2 v1 s4 a0)) lqc2 vf4, 0(s4) lqc2 vf5, 0(a0) vadd.xyz vf6, vf4, vf5 sqc2 vf6, 0(v1) addiu s5, r0, 3 ;; [ 34] (set! s5 3) or v1, s5, r0 ;; [ 35] (set! v1 s5) B4: L136: beq r0, r0, L138 ;; [ 36] (b! #t L138 (nop!)) sll r0, r0, 0 B5: L137: lui v1, 18048 ;; [ 37] (set! v1 #x46800000) mtc1 f0, v1 ;; [ 38] (set! f0 (gpr->fpr v1)) lwc1 f1, 888(gp) ;; [ 39] (set! f1 (l.f (+ gp 888))) abs.s f1, f1 ;; [ 40] (set! f1 (abs.s f1)) c.lt.s f0, f1 ;; [ 41] (b! (<.s f0 f1) L138 (set! v1 #f)) bc1t L138 or v1, s7, r0 B6: daddiu s4, sp, 32 ;; [ 42] (set! s4 (+ sp 32)) or a0, gp, r0 ;; [ 43] (set! a0 gp) lwu v1, -4(a0) ;; [ 44] (set! v1 (l.wu (+ a0 -4))) lwu t9, 960(v1) ;; [ 45] (set! t9 (l.wu (+ v1 960))) or a1, s4, r0 ;; [ 46] (set! a1 s4) lui v1, -14720 ;; [ 47] (set! v1 -964689920) mtc1 f0, v1 ;; [ 48] (set! f0 (gpr->fpr v1)) lwc1 f1, 896(gp) ;; [ 49] (set! f1 (l.f (+ gp 896))) add.s f0, f0, f1 ;; [ 50] (set! f0 (+.s f0 f1)) mfc1 a2, f0 ;; [ 51] (set! a2 (fpr->gpr f0)) lui a3, 17920 ;; [ 52] (set! a3 #x46000000) lui v1, 18207 ;; [ 53] (set! t0 #x471f03ee) ori t0, v1, 1006 lui v1, 18183 ;; [ 54] (set! t1 #x470703ee) ori t1, v1, 1006 jalr ra, t9 ;; [ 55] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 56] (set! v1 v0) beq s7, v1, L138 ;; [ 57] (b! (not v1) L138 (set! v1 #f)) or v1, s7, r0 B7: daddiu v1, gp, 556 ;; [ 58] (set! v1 (+ gp 556)) lwu a0, 124(gp) ;; [ 59] (set! a0 (l.wu (+ gp 124))) daddiu a0, a0, 12 ;; [ 60] (set! a0 (+ a0 12)) vmove.w vf6, vf0 ;; [ 61] (set! v1 (vector+!2 v1 s4 a0)) lqc2 vf4, 0(s4) lqc2 vf5, 0(a0) vadd.xyz vf6, vf4, vf5 sqc2 vf6, 0(v1) addiu s5, r0, 2 ;; [ 62] (set! s5 2) or v1, s5, r0 ;; [ 63] (set! v1 s5) B8: L138: or v0, s5, r0 ;; [ 64] (set! v0 s5) ld ra, 0(sp) lq gp, 80(sp) lq s5, 64(sp) lq s4, 48(sp) jr ra daddiu sp, sp, 96 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! s5 0) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 492))) (set! a1 2) (call!) (set! v1 v0) (b! (nonzero? v1) L137 (nop!)) (set! v1 #x46800000) (set! f0 (gpr->fpr v1)) (set! f1 (l.f (+ gp 888))) (set! f1 (abs.s f1)) (b! (<.s f0 f1) L136 (set! v1 #f)) (set! s4 (+ sp 16)) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 960))) (set! a1 s4) (set! v1 #x46800000) (set! f0 (gpr->fpr v1)) (set! f1 (l.f (+ gp 896))) (set! f0 (+.s f0 f1)) (set! a2 (fpr->gpr f0)) (set! a3 #x46000000) (set! t0 #x471f03ee) (set! t1 #x470703ee) (call!) (set! v1 v0) (b! (not v1) L136 (set! v1 #f)) (set! v1 (+ gp 556)) (set! a0 (l.wu (+ gp 124))) (set! a0 (+ a0 12)) (set! v1 (vector+!2 v1 s4 a0)) (set! s5 3) (set! v1 s5) (label L136) (b! #t L138 (nop!)) (label L137) (set! v1 #x46800000) (set! f0 (gpr->fpr v1)) (set! f1 (l.f (+ gp 888))) (set! f1 (abs.s f1)) (b! (<.s f0 f1) L138 (set! v1 #f)) (set! s4 (+ sp 32)) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 960))) (set! a1 s4) (set! v1 -964689920) (set! f0 (gpr->fpr v1)) (set! f1 (l.f (+ gp 896))) (set! f0 (+.s f0 f1)) (set! a2 (fpr->gpr f0)) (set! a3 #x46000000) (set! t0 #x471f03ee) (set! t1 #x470703ee) (call!) (set! v1 v0) (b! (not v1) L138 (set! v1 #f)) (set! v1 (+ gp 556)) (set! a0 (l.wu (+ gp 124))) (set! a0 (+ a0 12)) (set! v1 (vector+!2 v1 s4 a0)) (set! s5 2) (set! v1 s5) (label L138) (set! v0 s5) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 241 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x90, fp? 0 ra? 1 ep? 1 ;stack_vars: 40 bytes at 8 ;gprs: gp s5 s4 s3 s2 ;fprs: f30 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 241 ashelin) has unknown type L139: daddiu sp, sp, -144 sd ra, 0(sp) sq s2, 48(sp) sq s3, 64(sp) sq s4, 80(sp) sq s5, 96(sp) sq gp, 112(sp) swc1 f30, 128(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lw t9, target-pos(s7) ;; [ 1] (set! t9 target-pos) addiu a0, r0, 0 ;; [ 2] (set! a0 0) jalr ra, t9 ;; [ 3] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 4] (set! v1 v0) lwu a0, 124(gp) ;; [ 5] (set! a0 (l.wu (+ gp 124))) daddiu a1, a0, 12 ;; [ 6] (set! a1 (+ a0 12)) lw t9, atan(s7) ;; [ 7] (set! t9 atan) lwc1 f0, 0(a1) ;; [ 8] (set! f0 (l.f a1)) lwc1 f1, 0(v1) ;; [ 9] (set! f1 (l.f v1)) sub.s f0, f0, f1 ;; [ 10] (set! f0 (-.s f0 f1)) mfc1 a0, f0 ;; [ 11] (set! a0 (fpr->gpr f0)) lwc1 f0, 8(a1) ;; [ 12] (set! f0 (l.f (+ a1 8))) lwc1 f1, 8(v1) ;; [ 13] (set! f1 (l.f (+ v1 8))) sub.s f0, f0, f1 ;; [ 14] (set! f0 (-.s f0 f1)) mfc1 a1, f0 ;; [ 15] (set! a1 (fpr->gpr f0)) jalr ra, t9 ;; [ 16] (call!) sll v0, ra, 0 mtc1 f30, v0 ;; [ 17] (set! f30 (gpr->fpr v0)) lw t9, deg-(s7) ;; [ 18] (set! t9 deg-) mfc1 a0, f30 ;; [ 19] (set! a0 (fpr->gpr f30)) lwc1 f0, 892(gp) ;; [ 20] (set! f0 (l.f (+ gp 892))) mfc1 a1, f0 ;; [ 21] (set! a1 (fpr->gpr f0)) jalr ra, t9 ;; [ 22] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [ 23] (set! f0 (gpr->fpr v0)) addiu s5, r0, 0 ;; [ 24] (set! s5 0) lui v1, 17920 ;; [ 25] (set! v1 #x46000000) mtc1 f1, v1 ;; [ 26] (set! f1 (gpr->fpr v1)) abs.s f2, f0 ;; [ 27] (set! f2 (abs.s f0)) c.lt.s f1, f2 ;; [ 28] (b! (>=.s f1 f2) L140 (set! v1 #t)) bc1f L140 daddiu v1, s7, 4 B1: or v1, s7, r0 ;; [ 29] (set! v1 #f) B2: L140: bnel s7, v1, L141 ;; [ 30] (bl! (truthy v1) L141 (no-delay!)) B3: or v1, v1, r0 ;; [ 31] (set! v1 v1) B4: abs.s f0, f0 ;; [ 32] (set! f0 (abs.s f0)) lui v1, 18112 ;; [ 33] (set! v1 #x46c00000) mtc1 f1, v1 ;; [ 34] (set! f1 (gpr->fpr v1)) c.lt.s f0, f1 ;; [ 35] (b! (>=.s f0 f1) L141 (set! v1 #t)) bc1f L141 daddiu v1, s7, 4 B5: or v1, s7, r0 ;; [ 36] (set! v1 #f) B6: L141: beq s7, v1, L148 ;; [ 37] (b! (not v1) L148 (nop!)) sll r0, r0, 0 B7: daddiu s3, s7, 4 ;; [ 38] (set! s3 #t) or a0, gp, r0 ;; [ 39] (set! a0 gp) lwu v1, -4(a0) ;; [ 40] (set! v1 (l.wu (+ a0 -4))) lwu t9, 492(v1) ;; [ 41] (set! t9 (l.wu (+ v1 492))) addiu a1, r0, 2 ;; [ 42] (set! a1 2) jalr ra, t9 ;; [ 43] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 44] (set! v1 v0) movn s3, s7, v1 ;; [ 45] (cmove-#f-nonzero s3 v1 s3) daddiu s4, sp, 16 ;; [ 46] (set! s4 (+ sp 16)) addiu s2, r0, 2 ;; [ 47] (set! s2 2) beq r0, r0, L146 ;; [ 48] (b! #t L146 (nop!)) sll r0, r0, 0 B8: L142: daddiu s2, s2, -1 ;; [ 49] (set! s2 (+ s2 -1)) beq s7, s3, L144 ;; [ 50] (b! (not s3) L144 (nop!)) sll r0, r0, 0 B9: or a0, gp, r0 ;; [ 51] (set! a0 gp) lwu v1, -4(a0) ;; [ 52] (set! v1 (l.wu (+ a0 -4))) lwu t9, 960(v1) ;; [ 53] (set! t9 (l.wu (+ v1 960))) or a1, s4, r0 ;; [ 54] (set! a1 s4) lui v1, 18048 ;; [ 55] (set! v1 #x46800000) mtc1 f0, v1 ;; [ 56] (set! f0 (gpr->fpr v1)) add.s f0, f0, f30 ;; [ 57] (set! f0 (+.s f0 f30)) mfc1 a2, f0 ;; [ 58] (set! a2 (fpr->gpr f0)) lui a3, 17920 ;; [ 59] (set! a3 #x46000000) lui v1, 18207 ;; [ 60] (set! t0 #x471f03ee) ori t0, v1, 1006 lui v1, 18183 ;; [ 61] (set! t1 #x470703ee) ori t1, v1, 1006 jalr ra, t9 ;; [ 62] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 63] (set! v1 v0) beq s7, v1, L143 ;; [ 64] (b! (not v1) L143 (set! v1 #f)) or v1, s7, r0 B10: daddiu v1, gp, 556 ;; [ 65] (set! v1 (+ gp 556)) lwu a0, 124(gp) ;; [ 66] (set! a0 (l.wu (+ gp 124))) daddiu a0, a0, 12 ;; [ 67] (set! a0 (+ a0 12)) vmove.w vf6, vf0 ;; [ 68] (set! v1 (vector+!2 v1 s4 a0)) lqc2 vf4, 0(s4) lqc2 vf5, 0(a0) vadd.xyz vf6, vf4, vf5 sqc2 vf6, 0(v1) addiu s5, r0, 3 ;; [ 69] (set! s5 3) or v1, s7, r0 ;; [ 70] (set! v1 #f) beq r0, r0, L147 ;; [ 71] (b! #t L147 (nop!)) sll r0, r0, 0 B11: or v1, r0, r0 ;; [ 72] (set! v1 0) B12: L143: beq r0, r0, L145 ;; [ 73] (b! #t L145 (nop!)) sll r0, r0, 0 B13: L144: or a0, gp, r0 ;; [ 74] (set! a0 gp) lwu v1, -4(a0) ;; [ 75] (set! v1 (l.wu (+ a0 -4))) lwu t9, 960(v1) ;; [ 76] (set! t9 (l.wu (+ v1 960))) or a1, s4, r0 ;; [ 77] (set! a1 s4) lui v1, -14720 ;; [ 78] (set! v1 -964689920) mtc1 f0, v1 ;; [ 79] (set! f0 (gpr->fpr v1)) add.s f0, f0, f30 ;; [ 80] (set! f0 (+.s f0 f30)) mfc1 a2, f0 ;; [ 81] (set! a2 (fpr->gpr f0)) lui a3, 17920 ;; [ 82] (set! a3 #x46000000) lui v1, 18207 ;; [ 83] (set! t0 #x471f03ee) ori t0, v1, 1006 lui v1, 18183 ;; [ 84] (set! t1 #x470703ee) ori t1, v1, 1006 jalr ra, t9 ;; [ 85] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 86] (set! v1 v0) beq s7, v1, L145 ;; [ 87] (b! (not v1) L145 (set! v1 #f)) or v1, s7, r0 B14: daddiu v1, gp, 556 ;; [ 88] (set! v1 (+ gp 556)) or a0, s4, r0 ;; [ 89] (set! a0 s4) lwu a1, 124(gp) ;; [ 90] (set! a1 (l.wu (+ gp 124))) daddiu a1, a1, 12 ;; [ 91] (set! a1 (+ a1 12)) vmove.w vf6, vf0 ;; [ 92] (set! v1 (vector+!2 v1 a0 a1)) lqc2 vf4, 0(a0) lqc2 vf5, 0(a1) vadd.xyz vf6, vf4, vf5 sqc2 vf6, 0(v1) addiu s5, r0, 2 ;; [ 93] (set! s5 2) or v1, s7, r0 ;; [ 94] (set! v1 #f) beq r0, r0, L147 ;; [ 95] (b! #t L147 (nop!)) sll r0, r0, 0 B15: or v1, r0, r0 ;; [ 96] (set! v1 0) B16: L145: beq s7, s3, L146 ;; [ 97] (b! (not s3) L146 (set! s3 #t)) daddiu s3, s7, 4 B17: or s3, s7, r0 ;; [ 98] (set! s3 #f) B18: L146: bne s2, r0, L142 ;; [ 99] (b! (nonzero? s2) L142 (nop!)) sll r0, r0, 0 B19: or v1, s7, r0 ;; [100] (set! v1 #f) or v1, s7, r0 ;; [101] (set! v1 #f) B20: L147: beq r0, r0, L149 ;; [102] (b! #t L149 (nop!)) sll r0, r0, 0 B21: L148: daddiu s4, sp, 32 ;; [103] (set! s4 (+ sp 32)) or a0, gp, r0 ;; [104] (set! a0 gp) lwu v1, -4(a0) ;; [105] (set! v1 (l.wu (+ a0 -4))) lwu t9, 960(v1) ;; [106] (set! t9 (l.wu (+ v1 960))) or a1, s4, r0 ;; [107] (set! a1 s4) lui v1, 18176 ;; [108] (set! v1 #x47000000) mtc1 f0, v1 ;; [109] (set! f0 (gpr->fpr v1)) add.s f0, f0, f30 ;; [110] (set! f0 (+.s f0 f30)) mfc1 a2, f0 ;; [111] (set! a2 (fpr->gpr f0)) lui a3, 17920 ;; [112] (set! a3 #x46000000) lui v1, 18207 ;; [113] (set! t0 #x471f03ee) ori t0, v1, 1006 lui v1, 18183 ;; [114] (set! t1 #x470703ee) ori t1, v1, 1006 jalr ra, t9 ;; [115] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [116] (set! v1 v0) beq s7, v1, L149 ;; [117] (b! (not v1) L149 (set! v1 #f)) or v1, s7, r0 B22: daddiu v1, gp, 556 ;; [118] (set! v1 (+ gp 556)) lwu a0, 124(gp) ;; [119] (set! a0 (l.wu (+ gp 124))) daddiu a0, a0, 12 ;; [120] (set! a0 (+ a0 12)) vmove.w vf6, vf0 ;; [121] (set! v1 (vector+!2 v1 s4 a0)) lqc2 vf4, 0(s4) lqc2 vf5, 0(a0) vadd.xyz vf6, vf4, vf5 sqc2 vf6, 0(v1) addiu s5, r0, 1 ;; [122] (set! s5 1) or v1, s5, r0 ;; [123] (set! v1 s5) B23: L149: or v0, s5, r0 ;; [124] (set! v0 s5) ld ra, 0(sp) lwc1 f30, 128(sp) lq gp, 112(sp) lq s5, 96(sp) lq s4, 80(sp) lq s3, 64(sp) lq s2, 48(sp) jr ra daddiu sp, sp, 144 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! t9 target-pos) (set! a0 0) (call!) (set! v1 v0) (set! a0 (l.wu (+ gp 124))) (set! a1 (+ a0 12)) (set! t9 atan) (set! f0 (l.f a1)) (set! f1 (l.f v1)) (set! f0 (-.s f0 f1)) (set! a0 (fpr->gpr f0)) (set! f0 (l.f (+ a1 8))) (set! f1 (l.f (+ v1 8))) (set! f0 (-.s f0 f1)) (set! a1 (fpr->gpr f0)) (call!) (set! f30 (gpr->fpr v0)) (set! t9 deg-) (set! a0 (fpr->gpr f30)) (set! f0 (l.f (+ gp 892))) (set! a1 (fpr->gpr f0)) (call!) (set! f0 (gpr->fpr v0)) (set! s5 0) (set! v1 #x46000000) (set! f1 (gpr->fpr v1)) (set! f2 (abs.s f0)) (b! (>=.s f1 f2) L140 (set! v1 #t)) (set! v1 #f) (label L140) (bl! (truthy v1) L141 (no-delay!)) (set! v1 v1) (set! f0 (abs.s f0)) (set! v1 #x46c00000) (set! f1 (gpr->fpr v1)) (b! (>=.s f0 f1) L141 (set! v1 #t)) (set! v1 #f) (label L141) (b! (not v1) L148 (nop!)) (set! s3 #t) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 492))) (set! a1 2) (call!) (set! v1 v0) (cmove-#f-nonzero s3 v1 s3) (set! s4 (+ sp 16)) (set! s2 2) (b! #t L146 (nop!)) (label L142) (set! s2 (+ s2 -1)) (b! (not s3) L144 (nop!)) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 960))) (set! a1 s4) (set! v1 #x46800000) (set! f0 (gpr->fpr v1)) (set! f0 (+.s f0 f30)) (set! a2 (fpr->gpr f0)) (set! a3 #x46000000) (set! t0 #x471f03ee) (set! t1 #x470703ee) (call!) (set! v1 v0) (b! (not v1) L143 (set! v1 #f)) (set! v1 (+ gp 556)) (set! a0 (l.wu (+ gp 124))) (set! a0 (+ a0 12)) (set! v1 (vector+!2 v1 s4 a0)) (set! s5 3) (set! v1 #f) (b! #t L147 (nop!)) (set! v1 0) (label L143) (b! #t L145 (nop!)) (label L144) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 960))) (set! a1 s4) (set! v1 -964689920) (set! f0 (gpr->fpr v1)) (set! f0 (+.s f0 f30)) (set! a2 (fpr->gpr f0)) (set! a3 #x46000000) (set! t0 #x471f03ee) (set! t1 #x470703ee) (call!) (set! v1 v0) (b! (not v1) L145 (set! v1 #f)) (set! v1 (+ gp 556)) (set! a0 s4) (set! a1 (l.wu (+ gp 124))) (set! a1 (+ a1 12)) (set! v1 (vector+!2 v1 a0 a1)) (set! s5 2) (set! v1 #f) (b! #t L147 (nop!)) (set! v1 0) (label L145) (b! (not s3) L146 (set! s3 #t)) (set! s3 #f) (label L146) (b! (nonzero? s2) L142 (nop!)) (set! v1 #f) (set! v1 #f) (label L147) (b! #t L149 (nop!)) (label L148) (set! s4 (+ sp 32)) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 960))) (set! a1 s4) (set! v1 #x47000000) (set! f0 (gpr->fpr v1)) (set! f0 (+.s f0 f30)) (set! a2 (fpr->gpr f0)) (set! a3 #x46000000) (set! t0 #x471f03ee) (set! t1 #x470703ee) (call!) (set! v1 v0) (b! (not v1) L149 (set! v1 #f)) (set! v1 (+ gp 556)) (set! a0 (l.wu (+ gp 124))) (set! a0 (+ a0 12)) (set! v1 (vector+!2 v1 s4 a0)) (set! s5 1) (set! v1 s5) (label L149) (set! v0 s5) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 246 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 246 ashelin) has unknown type L150: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lui v1, 18176 ;; [ 1] (set! v1 #x47000000) mtc1 f0, v1 ;; [ 2] (set! f0 (gpr->fpr v1)) lwc1 f1, 884(gp) ;; [ 3] (set! f1 (l.f (+ gp 884))) c.lt.s f0, f1 ;; [ 4] (b! (<.s f0 f1) L151 (set! v1 #f)) bc1t L151 or v1, s7, r0 B1: lwc1 f0, 896(gp) ;; [ 5] (set! f0 (l.f (+ gp 896))) lwu v1, -4(gp) ;; [ 6] (set! v1 (l.wu (+ gp -4))) lwu t9, 988(v1) ;; [ 7] (set! t9 (l.wu (+ v1 988))) mfc1 a1, f0 ;; [ 8] (set! a1 (fpr->gpr f0)) or a0, gp, r0 ;; [ 9] (set! a0 gp) jalr ra, t9 ;; [ 10] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 11] (set! v1 v0) or v0, v1, r0 ;; [ 12] (set! v0 v1) beq r0, r0, L153 ;; [ 13] (b! #t L153 (nop!)) sll r0, r0, 0 B2: or v1, r0, r0 ;; [ 14] (set! v1 0) B3: L151: lui v1, 16 ;; [ 15] (set! v1 #x100000) lwu a0, 600(gp) ;; [ 16] (set! a0 (l.wu (+ gp 600))) and v1, v1, a0 ;; [ 17] (set! v1 (logand v1 a0)) beq v1, r0, L152 ;; [ 18] (b! (zero? v1) L152 (set! v1 #f)) or v1, s7, r0 B4: lui v1, 16256 ;; [ 19] (set! v1 #x3f800000) mtc1 f0, v1 ;; [ 20] (set! f0 (gpr->fpr v1)) lwu v1, 124(gp) ;; [ 21] (set! v1 (l.wu (+ gp 124))) swc1 f0, 24(v1) ;; [ 22] (s.f! (+ v1 24) f0) daddiu a0, gp, 1020 ;; [ 23] (set! a0 (+ gp 1020)) lwu v1, 124(gp) ;; [ 24] (set! v1 (l.wu (+ gp 124))) daddiu v1, v1, 12 ;; [ 25] (set! v1 (+ v1 12)) lwc1 f0, 0(a0) ;; [ 26] (set! f0 (vec4dot a0 v1)) lwc1 f1, 4(a0) lwc1 f2, 8(a0) lwc1 f3, 12(a0) lwc1 f4, 0(v1) lwc1 f5, 4(v1) lwc1 f6, 8(v1) lwc1 f7, 12(v1) mula.s f0, f4 madda.s f1, f5 madda.s f2, f6 madd.s f0, f3, f7 mfc1 v1, f0 ;; [ 27] (set! v1 (fpr->gpr f0)) mtc1 f0, v1 ;; [ 28] (set! f0 (gpr->fpr v1)) lui v1, 17984 ;; [ 29] (set! v1 #x46400000) mtc1 f1, v1 ;; [ 30] (set! f1 (gpr->fpr v1)) c.lt.s f0, f1 ;; [ 31] (b! (<.s f0 f1) L152 (set! v1 #f)) bc1t L152 or v1, s7, r0 B5: lw t9, atan(s7) ;; [ 32] (set! t9 atan) lwc1 f0, 1020(gp) ;; [ 33] (set! f0 (l.f (+ gp 1020))) mfc1 a0, f0 ;; [ 34] (set! a0 (fpr->gpr f0)) lwc1 f0, 1028(gp) ;; [ 35] (set! f0 (l.f (+ gp 1028))) mfc1 a1, f0 ;; [ 36] (set! a1 (fpr->gpr f0)) jalr ra, t9 ;; [ 37] (call!) sll v0, ra, 0 mtc1 f0, v0 ;; [ 38] (set! f0 (gpr->fpr v0)) or a0, gp, r0 ;; [ 39] (set! a0 gp) lwu v1, -4(a0) ;; [ 40] (set! v1 (l.wu (+ a0 -4))) lwu t9, 988(v1) ;; [ 41] (set! t9 (l.wu (+ v1 988))) mfc1 a1, f0 ;; [ 42] (set! a1 (fpr->gpr f0)) jalr ra, t9 ;; [ 43] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 44] (set! v1 v0) or v0, v1, r0 ;; [ 45] (set! v0 v1) beq r0, r0, L153 ;; [ 46] (b! #t L153 (nop!)) sll r0, r0, 0 B6: or v1, r0, r0 ;; [ 47] (set! v1 0) B7: L152: addiu v0, r0, 0 ;; [ 48] (set! v0 0) B8: L153: ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! v1 #x47000000) (set! f0 (gpr->fpr v1)) (set! f1 (l.f (+ gp 884))) (b! (<.s f0 f1) L151 (set! v1 #f)) (set! f0 (l.f (+ gp 896))) (set! v1 (l.wu (+ gp -4))) (set! t9 (l.wu (+ v1 988))) (set! a1 (fpr->gpr f0)) (set! a0 gp) (call!) (set! v1 v0) (set! v0 v1) (b! #t L153 (nop!)) (set! v1 0) (label L151) (set! v1 #x100000) (set! a0 (l.wu (+ gp 600))) (set! v1 (logand v1 a0)) (b! (zero? v1) L152 (set! v1 #f)) (set! v1 #x3f800000) (set! f0 (gpr->fpr v1)) (set! v1 (l.wu (+ gp 124))) (s.f! (+ v1 24) f0) (set! a0 (+ gp 1020)) (set! v1 (l.wu (+ gp 124))) (set! v1 (+ v1 12)) (set! f0 (vec4dot a0 v1)) (set! v1 (fpr->gpr f0)) (set! f0 (gpr->fpr v1)) (set! v1 #x46400000) (set! f1 (gpr->fpr v1)) (b! (<.s f0 f1) L152 (set! v1 #f)) (set! t9 atan) (set! f0 (l.f (+ gp 1020))) (set! a0 (fpr->gpr f0)) (set! f0 (l.f (+ gp 1028))) (set! a1 (fpr->gpr f0)) (call!) (set! f0 (gpr->fpr v0)) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 988))) (set! a1 (fpr->gpr f0)) (call!) (set! v1 v0) (set! v0 v1) (b! #t L153 (nop!)) (set! v1 0) (label L152) (set! v0 0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 243 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x60, fp? 0 ra? 1 ep? 1 ;stack_vars: 24 bytes at 8 ;gprs: gp s5 s4 ;fprs: f30 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 243 ashelin) has unknown type L154: daddiu sp, sp, -96 sd ra, 0(sp) sq s4, 32(sp) sq s5, 48(sp) sq gp, 64(sp) swc1 f30, 80(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) or s4, a1, r0 ;; [ 1] (set! s4 a1) lw t9, deg-(s7) ;; [ 2] (set! t9 deg-) or a0, s4, r0 ;; [ 3] (set! a0 s4) lwc1 f0, 892(gp) ;; [ 4] (set! f0 (l.f (+ gp 892))) mfc1 a1, f0 ;; [ 5] (set! a1 (fpr->gpr f0)) jalr ra, t9 ;; [ 6] (call!) sll v0, ra, 0 mtc1 f30, v0 ;; [ 7] (set! f30 (gpr->fpr v0)) lui v1, 18048 ;; [ 8] (set! v1 #x46800000) mtc1 f0, v1 ;; [ 9] (set! f0 (gpr->fpr v1)) abs.s f1, f30 ;; [ 10] (set! f1 (abs.s f30)) c.lt.s f0, f1 ;; [ 11] (b! (<.s f0 f1) L158 (set! v1 #f)) bc1t L158 or v1, s7, r0 B1: daddiu s5, sp, 16 ;; [ 12] (set! s5 (+ sp 16)) or a0, gp, r0 ;; [ 13] (set! a0 gp) lwu v1, -4(a0) ;; [ 14] (set! v1 (l.wu (+ a0 -4))) lwu t9, 960(v1) ;; [ 15] (set! t9 (l.wu (+ v1 960))) or a1, s5, r0 ;; [ 16] (set! a1 s5) lui v1, 18176 ;; [ 17] (set! v1 #x47000000) mtc1 f0, v1 ;; [ 18] (set! f0 (gpr->fpr v1)) mtc1 f1, s4 ;; [ 19] (set! f1 (gpr->fpr s4)) add.s f0, f0, f1 ;; [ 20] (set! f0 (+.s f0 f1)) mfc1 a2, f0 ;; [ 21] (set! a2 (fpr->gpr f0)) lui a3, 17920 ;; [ 22] (set! a3 #x46000000) lui v1, 18207 ;; [ 23] (set! t0 #x471f03ee) ori t0, v1, 1006 lui v1, 18183 ;; [ 24] (set! t1 #x470703ee) ori t1, v1, 1006 jalr ra, t9 ;; [ 25] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 26] (set! v1 v0) beq s7, v1, L155 ;; [ 27] (b! (not v1) L155 (set! v1 #f)) or v1, s7, r0 B2: daddiu v1, gp, 556 ;; [ 28] (set! v1 (+ gp 556)) lwu a0, 124(gp) ;; [ 29] (set! a0 (l.wu (+ gp 124))) daddiu a0, a0, 12 ;; [ 30] (set! a0 (+ a0 12)) vmove.w vf6, vf0 ;; [ 31] (set! v1 (vector+!2 v1 s5 a0)) lqc2 vf4, 0(s5) lqc2 vf5, 0(a0) vadd.xyz vf6, vf4, vf5 sqc2 vf6, 0(v1) addiu v0, r0, 1 ;; [ 32] (set! v0 1) beq r0, r0, L159 ;; [ 33] (b! #t L159 (nop!)) sll r0, r0, 0 B3: or v1, r0, r0 ;; [ 34] (set! v1 0) B4: L155: mtc1 f0, r0 ;; [ 35] (set! f0 0) c.lt.s f0, f30 ;; [ 36] (b! (>=.s f0 f30) L157 (nop!)) bc1f L157 sll r0, r0, 0 B5: or a0, gp, r0 ;; [ 37] (set! a0 gp) lwu v1, -4(a0) ;; [ 38] (set! v1 (l.wu (+ a0 -4))) lwu t9, 960(v1) ;; [ 39] (set! t9 (l.wu (+ v1 960))) or a1, s5, r0 ;; [ 40] (set! a1 s5) lui v1, -14720 ;; [ 41] (set! v1 -964689920) mtc1 f0, v1 ;; [ 42] (set! f0 (gpr->fpr v1)) mtc1 f1, s4 ;; [ 43] (set! f1 (gpr->fpr s4)) add.s f0, f0, f1 ;; [ 44] (set! f0 (+.s f0 f1)) mfc1 a2, f0 ;; [ 45] (set! a2 (fpr->gpr f0)) lui a3, 17920 ;; [ 46] (set! a3 #x46000000) lui v1, 18207 ;; [ 47] (set! t0 #x471f03ee) ori t0, v1, 1006 lui v1, 18183 ;; [ 48] (set! t1 #x470703ee) ori t1, v1, 1006 jalr ra, t9 ;; [ 49] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 50] (set! v1 v0) beq s7, v1, L156 ;; [ 51] (b! (not v1) L156 (set! v1 #f)) or v1, s7, r0 B6: daddiu v1, gp, 556 ;; [ 52] (set! v1 (+ gp 556)) or a0, s5, r0 ;; [ 53] (set! a0 s5) lwu a1, 124(gp) ;; [ 54] (set! a1 (l.wu (+ gp 124))) daddiu a1, a1, 12 ;; [ 55] (set! a1 (+ a1 12)) vmove.w vf6, vf0 ;; [ 56] (set! v1 (vector+!2 v1 a0 a1)) lqc2 vf4, 0(a0) lqc2 vf5, 0(a1) vadd.xyz vf6, vf4, vf5 sqc2 vf6, 0(v1) addiu v0, r0, 2 ;; [ 57] (set! v0 2) beq r0, r0, L159 ;; [ 58] (b! #t L159 (nop!)) sll r0, r0, 0 B7: or v1, r0, r0 ;; [ 59] (set! v1 0) B8: L156: beq r0, r0, L158 ;; [ 60] (b! #t L158 (nop!)) sll r0, r0, 0 B9: L157: or a0, gp, r0 ;; [ 61] (set! a0 gp) lwu v1, -4(a0) ;; [ 62] (set! v1 (l.wu (+ a0 -4))) lwu t9, 960(v1) ;; [ 63] (set! t9 (l.wu (+ v1 960))) or a1, s5, r0 ;; [ 64] (set! a1 s5) lui v1, 18048 ;; [ 65] (set! v1 #x46800000) mtc1 f0, v1 ;; [ 66] (set! f0 (gpr->fpr v1)) mtc1 f1, s4 ;; [ 67] (set! f1 (gpr->fpr s4)) add.s f0, f0, f1 ;; [ 68] (set! f0 (+.s f0 f1)) mfc1 a2, f0 ;; [ 69] (set! a2 (fpr->gpr f0)) lui a3, 17920 ;; [ 70] (set! a3 #x46000000) lui v1, 18207 ;; [ 71] (set! t0 #x471f03ee) ori t0, v1, 1006 lui v1, 18183 ;; [ 72] (set! t1 #x470703ee) ori t1, v1, 1006 jalr ra, t9 ;; [ 73] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 74] (set! v1 v0) beq s7, v1, L158 ;; [ 75] (b! (not v1) L158 (set! v1 #f)) or v1, s7, r0 B10: daddiu v1, gp, 556 ;; [ 76] (set! v1 (+ gp 556)) or a0, s5, r0 ;; [ 77] (set! a0 s5) lwu a1, 124(gp) ;; [ 78] (set! a1 (l.wu (+ gp 124))) daddiu a1, a1, 12 ;; [ 79] (set! a1 (+ a1 12)) vmove.w vf6, vf0 ;; [ 80] (set! v1 (vector+!2 v1 a0 a1)) lqc2 vf4, 0(a0) lqc2 vf5, 0(a1) vadd.xyz vf6, vf4, vf5 sqc2 vf6, 0(v1) addiu v0, r0, 3 ;; [ 81] (set! v0 3) beq r0, r0, L159 ;; [ 82] (b! #t L159 (nop!)) sll r0, r0, 0 B11: or v1, r0, r0 ;; [ 83] (set! v1 0) B12: L158: addiu v0, r0, 0 ;; [ 84] (set! v0 0) B13: L159: ld ra, 0(sp) lwc1 f30, 80(sp) lq gp, 64(sp) lq s5, 48(sp) lq s4, 32(sp) jr ra daddiu sp, sp, 96 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! s4 a1) (set! t9 deg-) (set! a0 s4) (set! f0 (l.f (+ gp 892))) (set! a1 (fpr->gpr f0)) (call!) (set! f30 (gpr->fpr v0)) (set! v1 #x46800000) (set! f0 (gpr->fpr v1)) (set! f1 (abs.s f30)) (b! (<.s f0 f1) L158 (set! v1 #f)) (set! s5 (+ sp 16)) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 960))) (set! a1 s5) (set! v1 #x47000000) (set! f0 (gpr->fpr v1)) (set! f1 (gpr->fpr s4)) (set! f0 (+.s f0 f1)) (set! a2 (fpr->gpr f0)) (set! a3 #x46000000) (set! t0 #x471f03ee) (set! t1 #x470703ee) (call!) (set! v1 v0) (b! (not v1) L155 (set! v1 #f)) (set! v1 (+ gp 556)) (set! a0 (l.wu (+ gp 124))) (set! a0 (+ a0 12)) (set! v1 (vector+!2 v1 s5 a0)) (set! v0 1) (b! #t L159 (nop!)) (set! v1 0) (label L155) (set! f0 0) (b! (>=.s f0 f30) L157 (nop!)) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 960))) (set! a1 s5) (set! v1 -964689920) (set! f0 (gpr->fpr v1)) (set! f1 (gpr->fpr s4)) (set! f0 (+.s f0 f1)) (set! a2 (fpr->gpr f0)) (set! a3 #x46000000) (set! t0 #x471f03ee) (set! t1 #x470703ee) (call!) (set! v1 v0) (b! (not v1) L156 (set! v1 #f)) (set! v1 (+ gp 556)) (set! a0 s5) (set! a1 (l.wu (+ gp 124))) (set! a1 (+ a1 12)) (set! v1 (vector+!2 v1 a0 a1)) (set! v0 2) (b! #t L159 (nop!)) (set! v1 0) (label L156) (b! #t L158 (nop!)) (label L157) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 960))) (set! a1 s5) (set! v1 #x46800000) (set! f0 (gpr->fpr v1)) (set! f1 (gpr->fpr s4)) (set! f0 (+.s f0 f1)) (set! a2 (fpr->gpr f0)) (set! a3 #x46000000) (set! t0 #x471f03ee) (set! t1 #x470703ee) (call!) (set! v1 v0) (b! (not v1) L158 (set! v1 #f)) (set! v1 (+ gp 556)) (set! a0 s5) (set! a1 (l.wu (+ gp 124))) (set! a1 (+ a1 12)) (set! v1 (vector+!2 v1 a0 a1)) (set! v0 3) (b! #t L159 (nop!)) (set! v1 0) (label L158) (set! v0 0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 235 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x10, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 235 ashelin) has unknown type L160: daddiu sp, sp, -16 sd ra, 0(sp) B0: lwu v1, 8(s6) ;; [ 0] (set! v1 (l.wu (+ s6 8))) ld v1, 20(v1) ;; [ 1] (set! v1 (l.d (+ v1 20))) ld a2, 1004(a0) ;; [ 2] (set! a2 (l.d (+ a0 1004))) dsubu v1, v1, a2 ;; [ 3] (set! v1 (- v1 a2)) slti v1, v1, 300 ;; [ 4] (set! a2 (>=.si v1 300)) daddiu a2, s7, 4 movn a2, s7, v1 beql s7, a2, L162 ;; [ 5] (bl! (not a2) L162 (no-delay!)) B1: or v0, a2, r0 ;; [ 6] (set! v0 a2) B2: lui v1, 17925 ;; [ 7] (set! v1 #x4605b05b) ori v1, v1, 45147 mtc1 f0, v1 ;; [ 8] (set! f0 (gpr->fpr v1)) lwc1 f1, 888(a0) ;; [ 9] (set! f1 (l.f (+ a0 888))) abs.s f1, f1 ;; [ 10] (set! f1 (abs.s f1)) c.lt.s f0, f1 ;; [ 11] (b! (>=.s f0 f1) L161 (set! v1 #t)) bc1f L161 daddiu v1, s7, 4 B3: or v1, s7, r0 ;; [ 12] (set! v1 #f) B4: L161: beql s7, v1, L162 ;; [ 13] (bl! (not v1) L162 (no-delay!)) B5: or v0, v1, r0 ;; [ 14] (set! v0 v1) B6: lwu v1, -4(a0) ;; [ 15] (set! v1 (l.wu (+ a0 -4))) lwu t9, 968(v1) ;; [ 16] (set! t9 (l.wu (+ v1 968))) daddiu a2, s7, #t ;; [ 17] (set! a2 #t) jalr ra, t9 ;; [ 18] (call!) sll v0, ra, 0 B7: L162: ld ra, 0(sp) jr ra daddiu sp, sp, 16 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! v1 (l.wu (+ s6 8))) (set! v1 (l.d (+ v1 20))) (set! a2 (l.d (+ a0 1004))) (set! v1 (- v1 a2)) (set! a2 (>=.si v1 300)) (bl! (not a2) L162 (no-delay!)) (set! v0 a2) (set! v1 #x4605b05b) (set! f0 (gpr->fpr v1)) (set! f1 (l.f (+ a0 888))) (set! f1 (abs.s f1)) (b! (>=.s f0 f1) L161 (set! v1 #t)) (set! v1 #f) (label L161) (bl! (not v1) L162 (no-delay!)) (set! v0 v1) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 968))) (set! a2 #t) (call!) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 238 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x00, fp? 0 ra? 0 ep? 1 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 238 ashelin) has unknown type B0: L163: lwu v1, 600(a0) ;; [ 0] (set! v1 (l.wu (+ a0 600))) andi v1, v1, 128 ;; [ 1] (set! v1 (logand v1 128)) beql v1, r0, L164 ;; [ 2] (bl! (zero? v1) L164 (no-delay!)) B1: or v1, s7, r0 ;; [ 3] (set! v1 #f) B2: lwu v1, 880(a0) ;; [ 4] (set! v1 (l.wu (+ a0 880))) lwu v1, -4(v1) ;; [ 5] (set! v1 (l.wu (+ v1 -4))) lw a3, target(s7) ;; [ 6] (set! a3 target) dsubu a3, v1, a3 ;; [ 7] (set! v1 (= v1 a3)) daddiu v1, s7, 4 movn v1, s7, a3 B3: L164: beq s7, v1, L165 ;; [ 8] (b! (not v1) L165 (nop!)) sll r0, r0, 0 B4: daddiu v0, s7, #t ;; [ 9] (set! v0 #t) beq r0, r0, L169 ;; [ 10] (b! #t L169 (nop!)) sll r0, r0, 0 B5: L165: lui v1, 18336 ;; [ 11] (set! v1 #x47a00000) mtc1 f0, v1 ;; [ 12] (set! f0 (gpr->fpr v1)) beq s7, a2, L166 ;; [ 13] (b! (not a2) L166 (set! v1 #f)) or v1, s7, r0 B6: lui v1, 17856 ;; [ 14] (set! v1 #x45c00000) mtc1 f1, v1 ;; [ 15] (set! f1 (gpr->fpr v1)) add.s f0, f1, f0 ;; [ 16] (set! f0 (+.s f1 f0)) mfc1 v1, f0 ;; [ 17] (set! v1 (fpr->gpr f0)) B7: L166: lwc1 f1, 884(a0) ;; [ 18] (set! f1 (l.f (+ a0 884))) c.lt.s f0, f1 ;; [ 19] (b! (<.s f0 f1) L169 (set! v0 #f)) bc1t L169 or v0, s7, r0 B8: lb v1, 900(a0) ;; [ 20] (set! v1 (l.b (+ a0 900))) beq s7, a1, L168 ;; [ 21] (b! (not a1) L168 (nop!)) sll r0, r0, 0 B9: daddiu a0, v1, -1 ;; [ 22] (set! a0 (+ v1 -1)) daddiu a1, s7, 4 ;; [ 23] (set! a1 (zero? a0)) movn a1, s7, a0 bnel s7, a1, L167 ;; [ 24] (bl! (truthy a1) L167 (no-delay!)) B10: or v0, a1, r0 ;; [ 25] (set! v0 a1) B11: daddiu v1, v1, -4 ;; [ 26] (set! v1 (+ v1 -4)) daddiu v0, s7, 4 ;; [ 27] (set! v0 (zero? v1)) movn v0, s7, v1 B12: L167: beq r0, r0, L169 ;; [ 28] (b! #t L169 (nop!)) sll r0, r0, 0 B13: L168: daddiu v1, v1, -1 ;; [ 29] (set! v1 (+ v1 -1)) daddiu v0, s7, 4 ;; [ 30] (set! v0 (zero? v1)) movn v0, s7, v1 B14: L169: jr ra daddu sp, sp, r0 sll r0, r0, 0 sll r0, r0, 0 (label L163) (set! v1 (l.wu (+ a0 600))) (set! v1 (logand v1 128)) (bl! (zero? v1) L164 (no-delay!)) (set! v1 #f) (set! v1 (l.wu (+ a0 880))) (set! v1 (l.wu (+ v1 -4))) (set! a3 target) (set! v1 (= v1 a3)) (label L164) (b! (not v1) L165 (nop!)) (set! v0 #t) (b! #t L169 (nop!)) (label L165) (set! v1 #x47a00000) (set! f0 (gpr->fpr v1)) (b! (not a2) L166 (set! v1 #f)) (set! v1 #x45c00000) (set! f1 (gpr->fpr v1)) (set! f0 (+.s f1 f0)) (set! v1 (fpr->gpr f0)) (label L166) (set! f1 (l.f (+ a0 884))) (b! (<.s f0 f1) L169 (set! v0 #f)) (set! v1 (l.b (+ a0 900))) (b! (not a1) L168 (nop!)) (set! a0 (+ v1 -1)) (set! a1 (zero? a0)) (bl! (truthy a1) L167 (no-delay!)) (set! v0 a1) (set! v1 (+ v1 -4)) (set! v0 (zero? v1)) (label L167) (b! #t L169 (nop!)) (label L168) (set! v1 (+ v1 -1)) (set! v0 (zero? v1)) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 115 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x40, fp? 1 ra? 1 ep? 1 ;gprs: gp s5 s4 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 115 ashelin) has unknown type L170: daddiu sp, sp, -64 sd ra, 0(sp) sd fp, 8(sp) or fp, t9, r0 sq s4, 16(sp) sq s5, 32(sp) sq gp, 48(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) or a0, gp, r0 ;; [ 1] (set! a0 gp) lwu v1, -4(a0) ;; [ 2] (set! v1 (l.wu (+ a0 -4))) lwu t9, 856(v1) ;; [ 3] (set! t9 (l.wu (+ v1 856))) jalr ra, t9 ;; [ 4] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 5] (set! v1 v0) addiu v1, r0, 22 ;; [ 6] (set! v1 22) sb v1, 704(gp) ;; [ 7] (s.b! (+ gp 704) v1) mtc1 f0, r0 ;; [ 8] (set! f0 0) swc1 f0, 992(gp) ;; [ 9] (s.f! (+ gp 992) f0) lui v1, 18504 ;; [ 10] (set! v1 #x48480000) mtc1 f0, v1 ;; [ 11] (set! f0 (gpr->fpr v1)) swc1 f0, 876(gp) ;; [ 12] (s.f! (+ gp 876) f0) sw r0, 668(gp) ;; [ 13] (s.w! (+ gp 668) 0) addiu v1, r0, 750 ;; [ 14] (set! v1 750) sw v1, 672(gp) ;; [ 15] (s.w! (+ gp 672) v1) or s5, gp, r0 ;; [ 16] (set! s5 gp) lwu v1, -4(s5) ;; [ 17] (set! v1 (l.wu (+ s5 -4))) lwu s4, 72(v1) ;; [ 18] (set! s4 (l.wu (+ v1 72))) lw a0, *level*(s7) ;; [ 19] (set! a0 *level*) lwu v1, -4(a0) ;; [ 20] (set! v1 (l.wu (+ a0 -4))) lwu t9, 108(v1) ;; [ 21] (set! t9 (l.wu (+ v1 108))) daddiu a1, fp, L220 ;; [ 22] (set! a1 L220) "skel-ashelin" or a2, s7, r0 ;; [ 23] (set! a2 #f) jalr ra, t9 ;; [ 24] (call!) sll v0, ra, 0 or a1, v0, r0 ;; [ 25] (set! a1 v0) addiu a2, r0, 0 ;; [ 26] (set! a2 0) or t9, s4, r0 ;; [ 27] (set! t9 s4) or a0, s5, r0 ;; [ 28] (set! a0 s5) jalr ra, t9 ;; [ 29] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 30] (set! v1 v0) or a0, gp, r0 ;; [ 31] (set! a0 gp) lwu v1, -4(a0) ;; [ 32] (set! v1 (l.wu (+ a0 -4))) lwu t9, 468(v1) ;; [ 33] (set! t9 (l.wu (+ v1 468))) lw a1, *ashelin-nav-enemy-info*(s7);; [ 34] (set! a1 *ashelin-nav-enemy-info*) jalr ra, t9 ;; [ 35] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 36] (set! v1 v0) lwu v1, 484(gp) ;; [ 37] (set! v1 (l.wu (+ gp 484))) addiu a0, r0, 1 ;; [ 38] (set! a0 1) sb a0, 148(v1) ;; [ 39] (s.b! (+ v1 148) a0) addiu a0, r0, 2 ;; [ 40] (set! a0 2) sb a0, 149(v1) ;; [ 41] (s.b! (+ v1 149) a0) sb r0, 150(v1) ;; [ 42] (s.b! (+ v1 150) 0) daddiu a0, v1, 44 ;; [ 43] (set! a0 (+ v1 44)) lui a1, 17976 ;; [ 44] (set! a1 #x4638e38e) ori a1, a1, 58254 mtc1 f0, a1 ;; [ 45] (set! f0 (gpr->fpr a1)) swc1 f0, 0(a0) ;; [ 46] (s.f! a0 f0) lui a1, 17976 ;; [ 47] (set! a1 #x4638e38e) ori a1, a1, 58254 mtc1 f0, a1 ;; [ 48] (set! f0 (gpr->fpr a1)) swc1 f0, 4(a0) ;; [ 49] (s.f! (+ a0 4) f0) mtc1 f0, r0 ;; [ 50] (set! f0 0) swc1 f0, 8(a0) ;; [ 51] (s.f! (+ a0 8) f0) lui a1, 16256 ;; [ 52] (set! a1 #x3f800000) mtc1 f0, a1 ;; [ 53] (set! f0 (gpr->fpr a1)) swc1 f0, 12(a0) ;; [ 54] (s.f! (+ a0 12) f0) lui a0, 18161 ;; [ 55] (set! a0 #x46f1c71c) ori a0, a0, 50972 mtc1 f0, a0 ;; [ 56] (set! f0 (gpr->fpr a0)) swc1 f0, 144(v1) ;; [ 57] (s.f! (+ v1 144) f0) mfc1 v1, f0 ;; [ 58] (set! v1 (fpr->gpr f0)) lw v1, bot(s7) ;; [ 59] (set! v1 bot) lwu t9, 476(v1) ;; [ 60] (set! t9 (l.wu (+ v1 476))) or a0, gp, r0 ;; [ 61] (set! a0 gp) jalr ra, t9 ;; [ 62] (call!) sll v0, ra, 0 lw a0, *default-dead-pool*(s7);; [ 63] (set! a0 *default-dead-pool*) lwu v1, -4(a0) ;; [ 64] (set! v1 (l.wu (+ a0 -4))) lwu t9, 72(v1) ;; [ 65] (set! t9 (l.wu (+ v1 72))) lw a1, simple-focus(s7) ;; [ 66] (set! a1 simple-focus) addiu a2, r0, 16384 ;; [ 67] (set! a2 #x4000) jalr ra, t9 ;; [ 68] (call!) sll v0, ra, 0 or s5, v0, r0 ;; [ 69] (set! s5 v0) beq s7, s5, L171 ;; [ 70] (b! (not s5) L171 (set! v1 #f)) or v1, s7, r0 B1: lw v1, simple-focus(s7) ;; [ 71] (set! v1 simple-focus) lwu t9, 52(v1) ;; [ 72] (set! t9 (l.wu (+ v1 52))) or a0, s5, r0 ;; [ 73] (set! a0 s5) or a1, gp, r0 ;; [ 74] (set! a1 gp) ori v1, r0, 65335 ;; [ 75] (set! v1 #xff37) lw a2, simple-focus(s7) ;; [ 76] (set! a2 simple-focus) lwu a2, 0(a2) ;; [ 77] (set! a2 (l.wu a2)) daddu v1, v1, a2 ;; [ 78] (set! v1 (+ v1 a2)) lwu a2, 0(v1) ;; [ 79] (set! a2 (l.wu v1)) lui v1, 28672 ;; [ 80] (set! a3 #x70004000) ori a3, v1, 16384 jalr ra, t9 ;; [ 81] (call!) sll v0, ra, 0 lw t9, run-function-in-process(s7);; [ 82] (set! t9 run-function-in-process) or a0, s5, r0 ;; [ 83] (set! a0 s5) lw a1, simple-focus-init-by-other(s7);; [ 84] (set! a1 simple-focus-init-by-other) jalr ra, t9 ;; [ 85] (call!) sll v0, ra, 0 lwu v1, 24(s5) ;; [ 86] (set! v1 (l.wu (+ s5 24))) B2: L171: sw v1, 740(gp) ;; [ 87] (s.w! (+ gp 740) v1) or v0, r0, r0 ;; [ 88] (set! v0 0) ld ra, 0(sp) ld fp, 8(sp) lq gp, 48(sp) lq s5, 32(sp) lq s4, 16(sp) jr ra daddiu sp, sp, 64 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 856))) (call!) (set! v1 v0) (set! v1 22) (s.b! (+ gp 704) v1) (set! f0 0) (s.f! (+ gp 992) f0) (set! v1 #x48480000) (set! f0 (gpr->fpr v1)) (s.f! (+ gp 876) f0) (s.w! (+ gp 668) 0) (set! v1 750) (s.w! (+ gp 672) v1) (set! s5 gp) (set! v1 (l.wu (+ s5 -4))) (set! s4 (l.wu (+ v1 72))) (set! a0 *level*) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 108))) (set! a1 L220) (set! a2 #f) (call!) (set! a1 v0) (set! a2 0) (set! t9 s4) (set! a0 s5) (call!) (set! v1 v0) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 468))) (set! a1 *ashelin-nav-enemy-info*) (call!) (set! v1 v0) (set! v1 (l.wu (+ gp 484))) (set! a0 1) (s.b! (+ v1 148) a0) (set! a0 2) (s.b! (+ v1 149) a0) (s.b! (+ v1 150) 0) (set! a0 (+ v1 44)) (set! a1 #x4638e38e) (set! f0 (gpr->fpr a1)) (s.f! a0 f0) (set! a1 #x4638e38e) (set! f0 (gpr->fpr a1)) (s.f! (+ a0 4) f0) (set! f0 0) (s.f! (+ a0 8) f0) (set! a1 #x3f800000) (set! f0 (gpr->fpr a1)) (s.f! (+ a0 12) f0) (set! a0 #x46f1c71c) (set! f0 (gpr->fpr a0)) (s.f! (+ v1 144) f0) (set! v1 (fpr->gpr f0)) (set! v1 bot) (set! t9 (l.wu (+ v1 476))) (set! a0 gp) (call!) (set! a0 *default-dead-pool*) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 72))) (set! a1 simple-focus) (set! a2 #x4000) (call!) (set! s5 v0) (b! (not s5) L171 (set! v1 #f)) (set! v1 simple-focus) (set! t9 (l.wu (+ v1 52))) (set! a0 s5) (set! a1 gp) (set! v1 #xff37) (set! a2 simple-focus) (set! a2 (l.wu a2)) (set! v1 (+ v1 a2)) (set! a2 (l.wu v1)) (set! a3 #x70004000) (call!) (set! t9 run-function-in-process) (set! a0 s5) (set! a1 simple-focus-init-by-other) (call!) (set! v1 (l.wu (+ s5 24))) (label L171) (s.w! (+ gp 740) v1) (set! v0 0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 114 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x40, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp s5 s4 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 114 ashelin) has unknown type L172: daddiu sp, sp, -64 sd ra, 0(sp) sq s4, 16(sp) sq s5, 32(sp) sq gp, 48(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lw v1, collide-shape-moving(s7);; [ 1] (set! v1 collide-shape-moving) lwu t9, 16(v1) ;; [ 2] (set! t9 (l.wu (+ v1 16))) daddiu a0, s7, process ;; [ 3] (set! a0 'process) lw a1, collide-shape-moving(s7);; [ 4] (set! a1 collide-shape-moving) or a2, gp, r0 ;; [ 5] (set! a2 gp) addiu a3, r0, 2 ;; [ 6] (set! a3 2) jalr ra, t9 ;; [ 7] (call!) sll v0, ra, 0 or s5, v0, r0 ;; [ 8] (set! s5 v0) lw a0, *standard-dynamics*(s7);; [ 9] (set! a0 *standard-dynamics*) lwu v1, -4(a0) ;; [ 10] (set! v1 (l.wu (+ a0 -4))) lwu t9, 40(v1) ;; [ 11] (set! t9 (l.wu (+ v1 40))) daddiu a1, s7, process ;; [ 12] (set! a1 'process) jalr ra, t9 ;; [ 13] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 14] (set! v1 v0) sw v1, 464(s5) ;; [ 15] (s.w! (+ s5 464) v1) lw v1, cshape-reaction-default(s7);; [ 16] (set! v1 cshape-reaction-default) sw v1, 312(s5) ;; [ 17] (s.w! (+ s5 312) v1) lw v1, nothing(s7) ;; [ 18] (set! v1 nothing) sw v1, 316(s5) ;; [ 19] (s.w! (+ s5 316) v1) lw v1, collide-shape-prim-group(s7);; [ 20] (set! v1 collide-shape-prim-group) lwu t9, 16(v1) ;; [ 21] (set! t9 (l.wu (+ v1 16))) daddiu a0, s7, process ;; [ 22] (set! a0 'process) lw a1, collide-shape-prim-group(s7);; [ 23] (set! a1 collide-shape-prim-group) or a2, s5, r0 ;; [ 24] (set! a2 s5) addiu a3, r0, 3 ;; [ 25] (set! a3 3) addiu t0, r0, 0 ;; [ 26] (set! t0 0) jalr ra, t9 ;; [ 27] (call!) sll v0, ra, 0 or s4, v0, r0 ;; [ 28] (set! s4 v0) addiu v1, r0, 4 ;; [ 29] (set! v1 4) sb v1, 142(s5) ;; [ 30] (s.b! (+ s5 142) v1) lui v1, 32 ;; [ 31] (set! v1 #x200004) ori v1, v1, 4 sw v1, 28(s4) ;; [ 32] (s.w! (+ s4 28) v1) lui v1, 8 ;; [ 33] (set! v1 #x806fb) ori v1, v1, 1787 sw v1, 32(s4) ;; [ 34] (s.w! (+ s4 32) v1) addiu v1, r0, 585 ;; [ 35] (set! v1 585) sw v1, 36(s4) ;; [ 36] (s.w! (+ s4 36) v1) daddiu v1, s4, 44 ;; [ 37] (set! v1 (+ s4 44)) mtc1 f0, r0 ;; [ 38] (set! f0 0) swc1 f0, 0(v1) ;; [ 39] (s.f! v1 f0) lui a0, 17856 ;; [ 40] (set! a0 #x45c00000) mtc1 f0, a0 ;; [ 41] (set! f0 (gpr->fpr a0)) swc1 f0, 4(v1) ;; [ 42] (s.f! (+ v1 4) f0) mtc1 f0, r0 ;; [ 43] (set! f0 0) swc1 f0, 8(v1) ;; [ 44] (s.f! (+ v1 8) f0) lui a0, 17920 ;; [ 45] (set! a0 #x46000000) mtc1 f0, a0 ;; [ 46] (set! f0 (gpr->fpr a0)) swc1 f0, 12(v1) ;; [ 47] (s.f! (+ v1 12) f0) sw s4, 156(s5) ;; [ 48] (s.w! (+ s5 156) s4) lw v1, collide-shape-prim-sphere(s7);; [ 49] (set! v1 collide-shape-prim-sphere) lwu t9, 16(v1) ;; [ 50] (set! t9 (l.wu (+ v1 16))) daddiu a0, s7, process ;; [ 51] (set! a0 'process) lw a1, collide-shape-prim-sphere(s7);; [ 52] (set! a1 collide-shape-prim-sphere) or a2, s5, r0 ;; [ 53] (set! a2 s5) addiu a3, r0, 0 ;; [ 54] (set! a3 0) jalr ra, t9 ;; [ 55] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 56] (set! v1 v0) lui a0, 32 ;; [ 57] (set! a0 #x200004) ori a0, a0, 4 sw a0, 28(v1) ;; [ 58] (s.w! (+ v1 28) a0) lui a0, 8 ;; [ 59] (set! a0 #x806fb) ori a0, a0, 1787 sw a0, 32(v1) ;; [ 60] (s.w! (+ v1 32) a0) addiu a0, r0, 73 ;; [ 61] (set! a0 73) sw a0, 36(v1) ;; [ 62] (s.w! (+ v1 36) a0) daddiu a0, v1, 44 ;; [ 63] (set! a0 (+ v1 44)) mtc1 f0, r0 ;; [ 64] (set! f0 0) swc1 f0, 0(a0) ;; [ 65] (s.f! a0 f0) lui a1, 17740 ;; [ 66] (set! a1 #x454ccccd) ori a1, a1, 52429 mtc1 f0, a1 ;; [ 67] (set! f0 (gpr->fpr a1)) swc1 f0, 4(a0) ;; [ 68] (s.f! (+ a0 4) f0) mtc1 f0, r0 ;; [ 69] (set! f0 0) swc1 f0, 8(a0) ;; [ 70] (s.f! (+ a0 8) f0) lui a1, 17740 ;; [ 71] (set! a1 #x454ccccd) ori a1, a1, 52429 mtc1 f0, a1 ;; [ 72] (set! f0 (gpr->fpr a1)) swc1 f0, 12(a0) ;; [ 73] (s.f! (+ a0 12) f0) lw v1, collide-shape-prim-sphere(s7);; [ 74] (set! v1 collide-shape-prim-sphere) lwu t9, 16(v1) ;; [ 75] (set! t9 (l.wu (+ v1 16))) daddiu a0, s7, process ;; [ 76] (set! a0 'process) lw a1, collide-shape-prim-sphere(s7);; [ 77] (set! a1 collide-shape-prim-sphere) or a2, s5, r0 ;; [ 78] (set! a2 s5) addiu a3, r0, 0 ;; [ 79] (set! a3 0) jalr ra, t9 ;; [ 80] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 81] (set! v1 v0) lui a0, 32 ;; [ 82] (set! a0 #x200004) ori a0, a0, 4 sw a0, 28(v1) ;; [ 83] (s.w! (+ v1 28) a0) lui a0, 8 ;; [ 84] (set! a0 #x806fb) ori a0, a0, 1787 sw a0, 32(v1) ;; [ 85] (s.w! (+ v1 32) a0) addiu a0, r0, 65 ;; [ 86] (set! a0 65) sw a0, 36(v1) ;; [ 87] (s.w! (+ v1 36) a0) daddiu a0, v1, 44 ;; [ 88] (set! a0 (+ v1 44)) mtc1 f0, r0 ;; [ 89] (set! f0 0) swc1 f0, 0(a0) ;; [ 90] (s.f! a0 f0) lui a1, 17830 ;; [ 91] (set! a1 #x45a66666) ori a1, a1, 26214 mtc1 f0, a1 ;; [ 92] (set! f0 (gpr->fpr a1)) swc1 f0, 4(a0) ;; [ 93] (s.f! (+ a0 4) f0) mtc1 f0, r0 ;; [ 94] (set! f0 0) swc1 f0, 8(a0) ;; [ 95] (s.f! (+ a0 8) f0) lui a1, 17740 ;; [ 96] (set! a1 #x454ccccd) ori a1, a1, 52429 mtc1 f0, a1 ;; [ 97] (set! f0 (gpr->fpr a1)) swc1 f0, 12(a0) ;; [ 98] (s.f! (+ a0 12) f0) lw v1, collide-shape-prim-sphere(s7);; [ 99] (set! v1 collide-shape-prim-sphere) lwu t9, 16(v1) ;; [100] (set! t9 (l.wu (+ v1 16))) daddiu a0, s7, process ;; [101] (set! a0 'process) lw a1, collide-shape-prim-sphere(s7);; [102] (set! a1 collide-shape-prim-sphere) or a2, s5, r0 ;; [103] (set! a2 s5) addiu a3, r0, 0 ;; [104] (set! a3 0) jalr ra, t9 ;; [105] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [106] (set! v1 v0) lui a0, 32 ;; [107] (set! a0 #x200004) ori a0, a0, 4 sw a0, 28(v1) ;; [108] (s.w! (+ v1 28) a0) lui a0, 8 ;; [109] (set! a0 #x806fb) ori a0, a0, 1787 sw a0, 32(v1) ;; [110] (s.w! (+ v1 32) a0) addiu a0, r0, 577 ;; [111] (set! a0 577) sw a0, 36(v1) ;; [112] (s.w! (+ v1 36) a0) daddiu a0, v1, 44 ;; [113] (set! a0 (+ v1 44)) mtc1 f0, r0 ;; [114] (set! f0 0) swc1 f0, 0(a0) ;; [115] (s.f! a0 f0) lui a1, 17894 ;; [116] (set! a1 #x45e66666) ori a1, a1, 26214 mtc1 f0, a1 ;; [117] (set! f0 (gpr->fpr a1)) swc1 f0, 4(a0) ;; [118] (s.f! (+ a0 4) f0) mtc1 f0, r0 ;; [119] (set! f0 0) swc1 f0, 8(a0) ;; [120] (s.f! (+ a0 8) f0) lui a1, 17740 ;; [121] (set! a1 #x454ccccd) ori a1, a1, 52429 mtc1 f0, a1 ;; [122] (set! f0 (gpr->fpr a1)) swc1 f0, 12(a0) ;; [123] (s.f! (+ a0 12) f0) lui v1, 17824 ;; [124] (set! v1 #x45a00000) mtc1 f0, v1 ;; [125] (set! f0 (gpr->fpr v1)) swc1 f0, 4(s5) ;; [126] (s.f! (+ s5 4) f0) lwu v1, 156(s5) ;; [127] (set! v1 (l.wu (+ s5 156))) lwu a0, 28(v1) ;; [128] (set! a0 (l.wu (+ v1 28))) sw a0, 180(s5) ;; [129] (s.w! (+ s5 180) a0) lwu v1, 32(v1) ;; [130] (set! v1 (l.wu (+ v1 32))) sw v1, 184(s5) ;; [131] (s.w! (+ s5 184) v1) addiu v1, r0, 3 ;; [132] (set! v1 3) sb v1, 140(s5) ;; [133] (s.b! (+ s5 140) v1) addiu v1, r0, 7 ;; [134] (set! v1 7) sb v1, 188(s5) ;; [135] (s.b! (+ s5 188) v1) sw s5, 124(gp) ;; [136] (s.w! (+ gp 124) s5) or v0, r0, r0 ;; [137] (set! v0 0) ld ra, 0(sp) lq gp, 48(sp) lq s5, 32(sp) lq s4, 16(sp) jr ra daddiu sp, sp, 64 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! v1 collide-shape-moving) (set! t9 (l.wu (+ v1 16))) (set! a0 'process) (set! a1 collide-shape-moving) (set! a2 gp) (set! a3 2) (call!) (set! s5 v0) (set! a0 *standard-dynamics*) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 40))) (set! a1 'process) (call!) (set! v1 v0) (s.w! (+ s5 464) v1) (set! v1 cshape-reaction-default) (s.w! (+ s5 312) v1) (set! v1 nothing) (s.w! (+ s5 316) v1) (set! v1 collide-shape-prim-group) (set! t9 (l.wu (+ v1 16))) (set! a0 'process) (set! a1 collide-shape-prim-group) (set! a2 s5) (set! a3 3) (set! t0 0) (call!) (set! s4 v0) (set! v1 4) (s.b! (+ s5 142) v1) (set! v1 #x200004) (s.w! (+ s4 28) v1) (set! v1 #x806fb) (s.w! (+ s4 32) v1) (set! v1 585) (s.w! (+ s4 36) v1) (set! v1 (+ s4 44)) (set! f0 0) (s.f! v1 f0) (set! a0 #x45c00000) (set! f0 (gpr->fpr a0)) (s.f! (+ v1 4) f0) (set! f0 0) (s.f! (+ v1 8) f0) (set! a0 #x46000000) (set! f0 (gpr->fpr a0)) (s.f! (+ v1 12) f0) (s.w! (+ s5 156) s4) (set! v1 collide-shape-prim-sphere) (set! t9 (l.wu (+ v1 16))) (set! a0 'process) (set! a1 collide-shape-prim-sphere) (set! a2 s5) (set! a3 0) (call!) (set! v1 v0) (set! a0 #x200004) (s.w! (+ v1 28) a0) (set! a0 #x806fb) (s.w! (+ v1 32) a0) (set! a0 73) (s.w! (+ v1 36) a0) (set! a0 (+ v1 44)) (set! f0 0) (s.f! a0 f0) (set! a1 #x454ccccd) (set! f0 (gpr->fpr a1)) (s.f! (+ a0 4) f0) (set! f0 0) (s.f! (+ a0 8) f0) (set! a1 #x454ccccd) (set! f0 (gpr->fpr a1)) (s.f! (+ a0 12) f0) (set! v1 collide-shape-prim-sphere) (set! t9 (l.wu (+ v1 16))) (set! a0 'process) (set! a1 collide-shape-prim-sphere) (set! a2 s5) (set! a3 0) (call!) (set! v1 v0) (set! a0 #x200004) (s.w! (+ v1 28) a0) (set! a0 #x806fb) (s.w! (+ v1 32) a0) (set! a0 65) (s.w! (+ v1 36) a0) (set! a0 (+ v1 44)) (set! f0 0) (s.f! a0 f0) (set! a1 #x45a66666) (set! f0 (gpr->fpr a1)) (s.f! (+ a0 4) f0) (set! f0 0) (s.f! (+ a0 8) f0) (set! a1 #x454ccccd) (set! f0 (gpr->fpr a1)) (s.f! (+ a0 12) f0) (set! v1 collide-shape-prim-sphere) (set! t9 (l.wu (+ v1 16))) (set! a0 'process) (set! a1 collide-shape-prim-sphere) (set! a2 s5) (set! a3 0) (call!) (set! v1 v0) (set! a0 #x200004) (s.w! (+ v1 28) a0) (set! a0 #x806fb) (s.w! (+ v1 32) a0) (set! a0 577) (s.w! (+ v1 36) a0) (set! a0 (+ v1 44)) (set! f0 0) (s.f! a0 f0) (set! a1 #x45e66666) (set! f0 (gpr->fpr a1)) (s.f! (+ a0 4) f0) (set! f0 0) (s.f! (+ a0 8) f0) (set! a1 #x454ccccd) (set! f0 (gpr->fpr a1)) (s.f! (+ a0 12) f0) (set! v1 #x45a00000) (set! f0 (gpr->fpr v1)) (s.f! (+ s5 4) f0) (set! v1 (l.wu (+ s5 156))) (set! a0 (l.wu (+ v1 28))) (s.w! (+ s5 180) a0) (set! v1 (l.wu (+ v1 32))) (s.w! (+ s5 184) v1) (set! v1 3) (s.b! (+ s5 140) v1) (set! v1 7) (s.b! (+ s5 188) v1) (s.w! (+ gp 124) s5) (set! v0 0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 183 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 183 ashelin) has unknown type L173: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lw v1, bot(s7) ;; [ 1] (set! v1 bot) lwu t9, 748(v1) ;; [ 2] (set! t9 (l.wu (+ v1 748))) or a0, gp, r0 ;; [ 3] (set! a0 gp) jalr ra, t9 ;; [ 4] (call!) sll v0, ra, 0 beql s7, v0, L174 ;; [ 5] (bl! (not v0) L174 (no-delay!)) B1: or v0, v0, r0 ;; [ 6] (set! v0 v0) B2: lwu v1, 64(gp) ;; [ 7] (set! v1 (l.wu (+ gp 64))) beql s7, v1, L174 ;; [ 8] (bl! (not v1) L174 (no-delay!)) B3: or v0, v1, r0 ;; [ 9] (set! v0 v1) B4: lwu v1, 64(gp) ;; [ 10] (set! v1 (l.wu (+ gp 64))) lwu v1, 0(v1) ;; [ 11] (set! v1 (l.wu v1)) daddiu a0, s7, waiting-idle;; [ 12] (set! a0 'waiting-idle) dsubu a0, v1, a0 ;; [ 13] (set! a1 (= v1 a0)) daddiu a1, s7, 4 movn a1, s7, a0 bnel s7, a1, L174 ;; [ 14] (bl! (truthy a1) L174 (no-delay!)) B5: or v0, a1, r0 ;; [ 15] (set! v0 a1) B6: daddiu a0, s7, hidden ;; [ 16] (set! a0 'hidden) dsubu a0, v1, a0 ;; [ 17] (set! a1 (= v1 a0)) daddiu a1, s7, 4 movn a1, s7, a0 bnel s7, a1, L174 ;; [ 18] (bl! (truthy a1) L174 (no-delay!)) B7: or v0, a1, r0 ;; [ 19] (set! v0 a1) B8: daddiu a0, s7, traveling ;; [ 20] (set! a0 'traveling) dsubu v1, v1, a0 ;; [ 21] (set! v0 (= v1 a0)) daddiu v0, s7, 4 movn v0, s7, v1 B9: L174: ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! v1 bot) (set! t9 (l.wu (+ v1 748))) (set! a0 gp) (call!) (bl! (not v0) L174 (no-delay!)) (set! v0 v0) (set! v1 (l.wu (+ gp 64))) (bl! (not v1) L174 (no-delay!)) (set! v0 v1) (set! v1 (l.wu (+ gp 64))) (set! v1 (l.wu v1)) (set! a0 'waiting-idle) (set! a1 (= v1 a0)) (bl! (truthy a1) L174 (no-delay!)) (set! v0 a1) (set! a0 'hidden) (set! a1 (= v1 a0)) (bl! (truthy a1) L174 (no-delay!)) (set! v0 a1) (set! a0 'traveling) (set! v0 (= v1 a0)) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 97 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x40, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp s5 s4 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 97 ashelin) has unknown type L175: daddiu sp, sp, -64 sd ra, 0(sp) sq s4, 16(sp) sq s5, 32(sp) sq gp, 48(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) ld v1, 748(gp) ;; [ 1] (set! v1 (l.d (+ gp 748))) subu a0, v1, s7 ;; [ 2] (set! a0 (subu-s7 v1)) beql a0, r0, L177 ;; [ 3] (bl! (zero? a0) L177 (no-delay!)) B1: or s5, s7, r0 ;; [ 4] (set! s5 #f) B2: sllv a0, v1, r0 ;; [ 5] (.sllv a0 v1 r0) lwu a0, 0(a0) ;; [ 6] (set! a0 (l.wu a0)) lw a1, 40(a0) ;; [ 7] (set! a1 (l.w (+ a0 40))) dsra32 v1, v1, 0 ;; [ 8] (set! v1 (sra v1 32)) bne v1, a1, L176 ;; [ 9] (b! (!= v1 a1) L176 (set! s5 #f)) or s5, s7, r0 B3: or s5, a0, r0 ;; [ 10] (set! s5 a0) B4: L176: or v1, s5, r0 ;; [ 11] (set! v1 s5) B5: L177: lw t9, type?(s7) ;; [ 12] (set! t9 type?) or a0, s5, r0 ;; [ 13] (set! a0 s5) lw a1, process-focusable(s7);; [ 14] (set! a1 process-focusable) jalr ra, t9 ;; [ 15] (call!) sll v0, ra, 0 beq s7, v0, L178 ;; [ 16] (b! (not v0) L178 (set! v1 #f)) or v1, s7, r0 B6: or v1, s5, r0 ;; [ 17] (set! v1 s5) B7: L178: beq s7, v1, L183 ;; [ 18] (b! (not v1) L183 (set! a0 #f)) or a0, s7, r0 B8: lw a0, target(s7) ;; [ 19] (set! a0 target) lwu a1, -4(v1) ;; [ 20] (set! a1 (l.wu (+ v1 -4))) bne a1, a0, L182 ;; [ 21] (b! (!= a1 a0) L182 (nop!)) sll r0, r0, 0 B9: lwu a0, 600(gp) ;; [ 22] (set! a0 (l.wu (+ gp 600))) andi a0, a0, 128 ;; [ 23] (set! a0 (logand a0 128)) beql a0, r0, L179 ;; [ 24] (bl! (zero? a0) L179 (no-delay!)) B10: daddiu a0, s7, 4 ;; [ 25] (set! a0 #t) B11: lwu a0, 8(s6) ;; [ 26] (set! a0 (l.wu (+ s6 8))) ld a0, 20(a0) ;; [ 27] (set! a0 (l.d (+ a0 20))) ld a1, 796(gp) ;; [ 28] (set! a1 (l.d (+ gp 796))) dsubu a0, a0, a1 ;; [ 29] (set! a0 (- a0 a1)) slti a1, a0, 1500 ;; [ 30] (set! a0 (>=.si a0 1500)) daddiu a0, s7, 4 movn a0, s7, a1 B12: L179: beq s7, a0, L181 ;; [ 31] (b! (not a0) L181 (set! a0 #f)) or a0, s7, r0 B13: lwu v1, 600(gp) ;; [ 32] (set! v1 (l.wu (+ gp 600))) andi v1, v1, 128 ;; [ 33] (set! v1 (logand v1 128)) beq v1, r0, L180 ;; [ 34] (b! (zero? v1) L180 (set! v1 #f)) or v1, s7, r0 B14: or a0, gp, r0 ;; [ 35] (set! a0 gp) lwu v1, -4(a0) ;; [ 36] (set! v1 (l.wu (+ a0 -4))) lwu t9, 764(v1) ;; [ 37] (set! t9 (l.wu (+ v1 764))) jalr ra, t9 ;; [ 38] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [ 39] (set! v1 v0) B15: L180: or v1, s7, r0 ;; [ 40] (set! v1 #f) sd s7, 748(gp) ;; [ 41] (s.d! (+ gp 748) #f) or a0, s7, r0 ;; [ 42] (set! a0 #f) B16: L181: beq r0, r0, L183 ;; [ 43] (b! #t L183 (nop!)) sll r0, r0, 0 B17: L182: lwu a0, 8(s6) ;; [ 44] (set! a0 (l.wu (+ s6 8))) ld a0, 20(a0) ;; [ 45] (set! a0 (l.d (+ a0 20))) ld a1, 796(gp) ;; [ 46] (set! a1 (l.d (+ gp 796))) dsubu a0, a0, a1 ;; [ 47] (set! a0 (- a0 a1)) slti a0, a0, 750 ;; [ 48] (b! (<.si a0 750) L183 (set! a0 #f)) bne a0, r0, L183 or a0, s7, r0 B18: or v1, s7, r0 ;; [ 49] (set! v1 #f) sd s7, 748(gp) ;; [ 50] (s.d! (+ gp 748) #f) or a0, s7, r0 ;; [ 51] (set! a0 #f) B19: L183: lb a0, 705(gp) ;; [ 52] (set! a0 (l.b (+ gp 705))) or s5, s7, r0 ;; [ 53] (set! s5 #f) bne a0, r0, L191 ;; [ 54] (b! (nonzero? a0) L191 (set! a1 #f)) or a1, s7, r0 B20: beq s7, v1, L184 ;; [ 55] (b! (not v1) L184 (nop!)) sll r0, r0, 0 B21: or s5, v1, r0 ;; [ 56] (set! s5 v1) or a0, s5, r0 ;; [ 57] (set! a0 s5) beq r0, r0, L190 ;; [ 58] (b! #t L190 (nop!)) sll r0, r0, 0 B22: L184: or a0, gp, r0 ;; [ 59] (set! a0 gp) lwu v1, -4(a0) ;; [ 60] (set! v1 (l.wu (+ a0 -4))) lwu t9, 772(v1) ;; [ 61] (set! t9 (l.wu (+ v1 772))) jalr ra, t9 ;; [ 62] (call!) sll v0, ra, 0 or s5, v0, r0 ;; [ 63] (set! s5 v0) beq s7, s5, L185 ;; [ 64] (b! (not s5) L185 (nop!)) sll r0, r0, 0 B23: or a0, s5, r0 ;; [ 65] (set! a0 s5) beq r0, r0, L190 ;; [ 66] (b! #t L190 (nop!)) sll r0, r0, 0 B24: L185: ld v1, 732(gp) ;; [ 67] (set! v1 (l.d (+ gp 732))) subu a0, v1, s7 ;; [ 68] (set! a0 (subu-s7 v1)) beql a0, r0, L187 ;; [ 69] (bl! (zero? a0) L187 (no-delay!)) B25: or s4, s7, r0 ;; [ 70] (set! s4 #f) B26: sllv a0, v1, r0 ;; [ 71] (.sllv a0 v1 r0) lwu a0, 0(a0) ;; [ 72] (set! a0 (l.wu a0)) lw a1, 40(a0) ;; [ 73] (set! a1 (l.w (+ a0 40))) dsra32 v1, v1, 0 ;; [ 74] (set! v1 (sra v1 32)) bne v1, a1, L186 ;; [ 75] (b! (!= v1 a1) L186 (set! s4 #f)) or s4, s7, r0 B27: or s4, a0, r0 ;; [ 76] (set! s4 a0) B28: L186: or v1, s4, r0 ;; [ 77] (set! v1 s4) B29: L187: lw t9, type?(s7) ;; [ 78] (set! t9 type?) or a0, s4, r0 ;; [ 79] (set! a0 s4) lw a1, process-focusable(s7);; [ 80] (set! a1 process-focusable) jalr ra, t9 ;; [ 81] (call!) sll v0, ra, 0 beq s7, v0, L188 ;; [ 82] (b! (not v0) L188 (set! s5 #f)) or s5, s7, r0 B30: or s5, s4, r0 ;; [ 83] (set! s5 s4) B31: L188: beq s7, s5, L189 ;; [ 84] (b! (not s5) L189 (nop!)) sll r0, r0, 0 B32: or a0, s5, r0 ;; [ 85] (set! a0 s5) beq r0, r0, L190 ;; [ 86] (b! #t L190 (nop!)) sll r0, r0, 0 B33: L189: lw s5, *target*(s7) ;; [ 87] (set! s5 *target*) or a0, s5, r0 ;; [ 88] (set! a0 s5) B34: L190: beq r0, r0, L198 ;; [ 89] (b! #t L198 (nop!)) sll r0, r0, 0 B35: L191: addiu a1, r0, 1 ;; [ 90] (set! a1 1) bne a0, a1, L198 ;; [ 91] (b! (!= a0 a1) L198 (set! a0 #f)) or a0, s7, r0 B36: beq s7, v1, L192 ;; [ 92] (b! (not v1) L192 (nop!)) sll r0, r0, 0 B37: or s5, v1, r0 ;; [ 93] (set! s5 v1) or a0, s5, r0 ;; [ 94] (set! a0 s5) beq r0, r0, L198 ;; [ 95] (b! #t L198 (nop!)) sll r0, r0, 0 B38: L192: ld v1, 732(gp) ;; [ 96] (set! v1 (l.d (+ gp 732))) subu a0, v1, s7 ;; [ 97] (set! a0 (subu-s7 v1)) beql a0, r0, L194 ;; [ 98] (bl! (zero? a0) L194 (no-delay!)) B39: or s4, s7, r0 ;; [ 99] (set! s4 #f) B40: sllv a0, v1, r0 ;; [100] (.sllv a0 v1 r0) lwu a0, 0(a0) ;; [101] (set! a0 (l.wu a0)) lw a1, 40(a0) ;; [102] (set! a1 (l.w (+ a0 40))) dsra32 v1, v1, 0 ;; [103] (set! v1 (sra v1 32)) bne v1, a1, L193 ;; [104] (b! (!= v1 a1) L193 (set! s4 #f)) or s4, s7, r0 B41: or s4, a0, r0 ;; [105] (set! s4 a0) B42: L193: or v1, s4, r0 ;; [106] (set! v1 s4) B43: L194: lw t9, type?(s7) ;; [107] (set! t9 type?) or a0, s4, r0 ;; [108] (set! a0 s4) lw a1, process-focusable(s7);; [109] (set! a1 process-focusable) jalr ra, t9 ;; [110] (call!) sll v0, ra, 0 beq s7, v0, L195 ;; [111] (b! (not v0) L195 (set! s5 #f)) or s5, s7, r0 B44: or s5, s4, r0 ;; [112] (set! s5 s4) B45: L195: beq s7, s5, L196 ;; [113] (b! (not s5) L196 (nop!)) sll r0, r0, 0 B46: or a0, s5, r0 ;; [114] (set! a0 s5) beq r0, r0, L198 ;; [115] (b! #t L198 (nop!)) sll r0, r0, 0 B47: L196: or a0, gp, r0 ;; [116] (set! a0 gp) lwu v1, -4(a0) ;; [117] (set! v1 (l.wu (+ a0 -4))) lwu t9, 772(v1) ;; [118] (set! t9 (l.wu (+ v1 772))) jalr ra, t9 ;; [119] (call!) sll v0, ra, 0 or s5, v0, r0 ;; [120] (set! s5 v0) beq s7, s5, L197 ;; [121] (b! (not s5) L197 (nop!)) sll r0, r0, 0 B48: or a0, s5, r0 ;; [122] (set! a0 s5) beq r0, r0, L198 ;; [123] (b! #t L198 (nop!)) sll r0, r0, 0 B49: L197: lw s5, *target*(s7) ;; [124] (set! s5 *target*) or a0, s5, r0 ;; [125] (set! a0 s5) B50: L198: beq s7, s5, L201 ;; [126] (b! (not s5) L201 (nop!)) sll r0, r0, 0 B51: daddiu a0, gp, 380 ;; [127] (set! a0 (+ gp 380)) lw v1, enemy-focus(s7) ;; [128] (set! v1 enemy-focus) lwu t9, 64(v1) ;; [129] (set! t9 (l.wu (+ v1 64))) or a1, s5, r0 ;; [130] (set! a1 s5) or a2, gp, r0 ;; [131] (set! a2 gp) jalr ra, t9 ;; [132] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [133] (set! v1 v0) lwu v1, 600(gp) ;; [134] (set! v1 (l.wu (+ gp 600))) andi v1, v1, 128 ;; [135] (set! v1 (logand v1 128)) beql v1, r0, L199 ;; [136] (bl! (zero? v1) L199 (no-delay!)) B52: or v1, s7, r0 ;; [137] (set! v1 #f) B53: lwu v1, -4(s5) ;; [138] (set! v1 (l.wu (+ s5 -4))) lw a0, target(s7) ;; [139] (set! a0 target) dsubu a0, v1, a0 ;; [140] (set! v1 (!= v1 a0)) daddiu v1, s7, 4 movz v1, s7, a0 B54: L199: beq s7, v1, L200 ;; [141] (b! (not v1) L200 (set! v1 #f)) or v1, s7, r0 B55: addiu v1, r0, -129 ;; [142] (set! v1 -129) lwu a0, 600(gp) ;; [143] (set! a0 (l.wu (+ gp 600))) and v1, v1, a0 ;; [144] (set! v1 (logand v1 a0)) sw v1, 600(gp) ;; [145] (s.w! (+ gp 600) v1) B56: L200: beq r0, r0, L202 ;; [146] (b! #t L202 (nop!)) sll r0, r0, 0 B57: L201: daddiu a0, gp, 380 ;; [147] (set! a0 (+ gp 380)) lw v1, enemy-focus(s7) ;; [148] (set! v1 enemy-focus) lwu t9, 52(v1) ;; [149] (set! t9 (l.wu (+ v1 52))) jalr ra, t9 ;; [150] (call!) sll v0, ra, 0 or v1, v0, r0 ;; [151] (set! v1 v0) addiu v1, r0, -129 ;; [152] (set! v1 -129) lwu a0, 600(gp) ;; [153] (set! a0 (l.wu (+ gp 600))) and v1, v1, a0 ;; [154] (set! v1 (logand v1 a0)) sw v1, 600(gp) ;; [155] (s.w! (+ gp 600) v1) B58: L202: or v0, s5, r0 ;; [156] (set! v0 s5) ld ra, 0(sp) lq gp, 48(sp) lq s5, 32(sp) lq s4, 16(sp) jr ra daddiu sp, sp, 64 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! v1 (l.d (+ gp 748))) (set! a0 (subu-s7 v1)) (bl! (zero? a0) L177 (no-delay!)) (set! s5 #f) (.sllv a0 v1 r0) (set! a0 (l.wu a0)) (set! a1 (l.w (+ a0 40))) (set! v1 (sra v1 32)) (b! (!= v1 a1) L176 (set! s5 #f)) (set! s5 a0) (label L176) (set! v1 s5) (label L177) (set! t9 type?) (set! a0 s5) (set! a1 process-focusable) (call!) (b! (not v0) L178 (set! v1 #f)) (set! v1 s5) (label L178) (b! (not v1) L183 (set! a0 #f)) (set! a0 target) (set! a1 (l.wu (+ v1 -4))) (b! (!= a1 a0) L182 (nop!)) (set! a0 (l.wu (+ gp 600))) (set! a0 (logand a0 128)) (bl! (zero? a0) L179 (no-delay!)) (set! a0 #t) (set! a0 (l.wu (+ s6 8))) (set! a0 (l.d (+ a0 20))) (set! a1 (l.d (+ gp 796))) (set! a0 (- a0 a1)) (set! a0 (>=.si a0 1500)) (label L179) (b! (not a0) L181 (set! a0 #f)) (set! v1 (l.wu (+ gp 600))) (set! v1 (logand v1 128)) (b! (zero? v1) L180 (set! v1 #f)) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 764))) (call!) (set! v1 v0) (label L180) (set! v1 #f) (s.d! (+ gp 748) #f) (set! a0 #f) (label L181) (b! #t L183 (nop!)) (label L182) (set! a0 (l.wu (+ s6 8))) (set! a0 (l.d (+ a0 20))) (set! a1 (l.d (+ gp 796))) (set! a0 (- a0 a1)) (b! (<.si a0 750) L183 (set! a0 #f)) (set! v1 #f) (s.d! (+ gp 748) #f) (set! a0 #f) (label L183) (set! a0 (l.b (+ gp 705))) (set! s5 #f) (b! (nonzero? a0) L191 (set! a1 #f)) (b! (not v1) L184 (nop!)) (set! s5 v1) (set! a0 s5) (b! #t L190 (nop!)) (label L184) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 772))) (call!) (set! s5 v0) (b! (not s5) L185 (nop!)) (set! a0 s5) (b! #t L190 (nop!)) (label L185) (set! v1 (l.d (+ gp 732))) (set! a0 (subu-s7 v1)) (bl! (zero? a0) L187 (no-delay!)) (set! s4 #f) (.sllv a0 v1 r0) (set! a0 (l.wu a0)) (set! a1 (l.w (+ a0 40))) (set! v1 (sra v1 32)) (b! (!= v1 a1) L186 (set! s4 #f)) (set! s4 a0) (label L186) (set! v1 s4) (label L187) (set! t9 type?) (set! a0 s4) (set! a1 process-focusable) (call!) (b! (not v0) L188 (set! s5 #f)) (set! s5 s4) (label L188) (b! (not s5) L189 (nop!)) (set! a0 s5) (b! #t L190 (nop!)) (label L189) (set! s5 *target*) (set! a0 s5) (label L190) (b! #t L198 (nop!)) (label L191) (set! a1 1) (b! (!= a0 a1) L198 (set! a0 #f)) (b! (not v1) L192 (nop!)) (set! s5 v1) (set! a0 s5) (b! #t L198 (nop!)) (label L192) (set! v1 (l.d (+ gp 732))) (set! a0 (subu-s7 v1)) (bl! (zero? a0) L194 (no-delay!)) (set! s4 #f) (.sllv a0 v1 r0) (set! a0 (l.wu a0)) (set! a1 (l.w (+ a0 40))) (set! v1 (sra v1 32)) (b! (!= v1 a1) L193 (set! s4 #f)) (set! s4 a0) (label L193) (set! v1 s4) (label L194) (set! t9 type?) (set! a0 s4) (set! a1 process-focusable) (call!) (b! (not v0) L195 (set! s5 #f)) (set! s5 s4) (label L195) (b! (not s5) L196 (nop!)) (set! a0 s5) (b! #t L198 (nop!)) (label L196) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 772))) (call!) (set! s5 v0) (b! (not s5) L197 (nop!)) (set! a0 s5) (b! #t L198 (nop!)) (label L197) (set! s5 *target*) (set! a0 s5) (label L198) (b! (not s5) L201 (nop!)) (set! a0 (+ gp 380)) (set! v1 enemy-focus) (set! t9 (l.wu (+ v1 64))) (set! a1 s5) (set! a2 gp) (call!) (set! v1 v0) (set! v1 (l.wu (+ gp 600))) (set! v1 (logand v1 128)) (bl! (zero? v1) L199 (no-delay!)) (set! v1 #f) (set! v1 (l.wu (+ s5 -4))) (set! a0 target) (set! v1 (!= v1 a0)) (label L199) (b! (not v1) L200 (set! v1 #f)) (set! v1 -129) (set! a0 (l.wu (+ gp 600))) (set! v1 (logand v1 a0)) (s.w! (+ gp 600) v1) (label L200) (b! #t L202 (nop!)) (label L201) (set! a0 (+ gp 380)) (set! v1 enemy-focus) (set! t9 (l.wu (+ v1 52))) (call!) (set! v1 v0) (set! v1 -129) (set! a0 (l.wu (+ gp 600))) (set! v1 (logand v1 a0)) (s.w! (+ gp 600) v1) (label L202) (set! v0 s5) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 104 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x10, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;; Warnings: ;; WARN: Type Propagation failed: Function (method 104 ashelin) has unknown type L203: daddiu sp, sp, -16 sd ra, 0(sp) B0: lwu v1, -4(a1) ;; [ 0] (set! v1 (l.wu (+ a1 -4))) lw t0, target(s7) ;; [ 1] (set! t0 target) dsubu v1, v1, t0 ;; [ 2] (set! t0 (= v1 t0)) daddiu t0, s7, 4 movn t0, s7, v1 beql s7, t0, L204 ;; [ 3] (bl! (not t0) L204 (no-delay!)) B1: or v1, t0, r0 ;; [ 4] (set! v1 t0) B2: lwu v1, 64(a0) ;; [ 5] (set! v1 (l.wu (+ a0 64))) beql s7, v1, L204 ;; [ 6] (bl! (not v1) L204 (no-delay!)) B3: or v1, v1, r0 ;; [ 7] (set! v1 v1) B4: lwu v1, 64(a0) ;; [ 8] (set! v1 (l.wu (+ a0 64))) lwu v1, 0(v1) ;; [ 9] (set! v1 (l.wu v1)) daddiu t0, s7, back-spring;; [ 10] (set! t0 'back-spring) dsubu t0, v1, t0 ;; [ 11] (set! t1 (= v1 t0)) daddiu t1, s7, 4 movn t1, s7, t0 bnel s7, t1, L204 ;; [ 12] (bl! (truthy t1) L204 (no-delay!)) B5: or v1, t1, r0 ;; [ 13] (set! v1 t1) B6: daddiu t0, s7, cartwheel-left;; [ 14] (set! t0 'cartwheel-left) dsubu t0, v1, t0 ;; [ 15] (set! t1 (= v1 t0)) daddiu t1, s7, 4 movn t1, s7, t0 bnel s7, t1, L204 ;; [ 16] (bl! (truthy t1) L204 (no-delay!)) B7: or v1, t1, r0 ;; [ 17] (set! v1 t1) B8: daddiu t0, s7, tumble-right;; [ 18] (set! t0 'tumble-right) dsubu t0, v1, t0 ;; [ 19] (set! v1 (= v1 t0)) daddiu v1, s7, 4 movn v1, s7, t0 B9: L204: beq s7, v1, L205 ;; [ 20] (b! (not v1) L205 (nop!)) sll r0, r0, 0 B10: or v0, s7, r0 ;; [ 21] (set! v0 #f) beq r0, r0, L206 ;; [ 22] (b! #t L206 (nop!)) sll r0, r0, 0 B11: L205: lw v1, bot(s7) ;; [ 23] (set! v1 bot) lwu t9, 432(v1) ;; [ 24] (set! t9 (l.wu (+ v1 432))) jalr ra, t9 ;; [ 25] (call!) sll v0, ra, 0 B12: L206: ld ra, 0(sp) jr ra daddiu sp, sp, 16 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! v1 (l.wu (+ a1 -4))) (set! t0 target) (set! t0 (= v1 t0)) (bl! (not t0) L204 (no-delay!)) (set! v1 t0) (set! v1 (l.wu (+ a0 64))) (bl! (not v1) L204 (no-delay!)) (set! v1 v1) (set! v1 (l.wu (+ a0 64))) (set! v1 (l.wu v1)) (set! t0 'back-spring) (set! t1 (= v1 t0)) (bl! (truthy t1) L204 (no-delay!)) (set! v1 t1) (set! t0 'cartwheel-left) (set! t1 (= v1 t0)) (bl! (truthy t1) L204 (no-delay!)) (set! v1 t1) (set! t0 'tumble-right) (set! v1 (= v1 t0)) (label L204) (b! (not v1) L205 (nop!)) (set! v0 #f) (b! #t L206 (nop!)) (label L205) (set! v1 bot) (set! t9 (l.wu (+ v1 432))) (call!) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 106 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 106 ashelin) has unknown type L207: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lw v1, bot(s7) ;; [ 1] (set! v1 bot) lwu t9, 440(v1) ;; [ 2] (set! t9 (l.wu (+ v1 440))) or a0, gp, r0 ;; [ 3] (set! a0 gp) jalr ra, t9 ;; [ 4] (call!) sll v0, ra, 0 addiu v1, r0, 6 ;; [ 5] (set! v1 6) lbu a0, 416(gp) ;; [ 6] (set! a0 (l.bu (+ gp 416))) beq a0, v1, L208 ;; [ 7] (b! (= a0 v1) L208 (set! v0 #f)) or v0, s7, r0 B1: addiu v0, r0, 1 ;; [ 8] (set! v0 1) sb v0, 416(gp) ;; [ 9] (s.b! (+ gp 416) v0) B2: L208: ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! v1 bot) (set! t9 (l.wu (+ v1 440))) (set! a0 gp) (call!) (set! v1 6) (set! a0 (l.bu (+ gp 416))) (b! (= a0 v1) L208 (set! v0 #f)) (set! v0 1) (s.b! (+ gp 416) v0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 193 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 193 ashelin) has unknown type L209: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lw v1, bot(s7) ;; [ 1] (set! v1 bot) lwu t9, 788(v1) ;; [ 2] (set! t9 (l.wu (+ v1 788))) or a0, gp, r0 ;; [ 3] (set! a0 gp) jalr ra, t9 ;; [ 4] (call!) sll v0, ra, 0 bnel s7, v0, L210 ;; [ 5] (bl! (truthy v0) L210 (no-delay!)) B1: or v1, s7, r0 ;; [ 6] (set! v1 #f) B2: daddiu v1, s7, 4 ;; [ 7] (set! v1 #t) lui a0, 64 ;; [ 8] (set! a0 #x400000) ld a1, 436(gp) ;; [ 9] (set! a1 (l.d (+ gp 436))) and a0, a0, a1 ;; [ 10] (set! a0 (logand a0 a1)) movz v1, s7, a0 ;; [ 11] (cmove-#f-zero v1 a0 v1) B3: L210: beq s7, v1, L212 ;; [ 12] (b! (not v1) L212 (set! v1 #f)) or v1, s7, r0 B4: lui v1, 64 ;; [ 13] (set! v1 #x400000) lwu a0, 600(gp) ;; [ 14] (set! a0 (l.wu (+ gp 600))) and v1, v1, a0 ;; [ 15] (set! v1 (logand v1 a0)) beq v1, r0, L211 ;; [ 16] (b! (zero? v1) L211 (set! v1 #f)) or v1, s7, r0 B5: daddiu v0, s7, #t ;; [ 17] (set! v0 #t) or v1, v0, r0 ;; [ 18] (set! v1 v0) B6: L211: lui v1, 32 ;; [ 19] (set! v1 #x200000) lwu a0, 600(gp) ;; [ 20] (set! a0 (l.wu (+ gp 600))) or v1, v1, a0 ;; [ 21] (set! v1 (logior v1 a0)) sw v1, 600(gp) ;; [ 22] (s.w! (+ gp 600) v1) B7: L212: ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (set! v1 bot) (set! t9 (l.wu (+ v1 788))) (set! a0 gp) (call!) (bl! (truthy v0) L210 (no-delay!)) (set! v1 #f) (set! v1 #t) (set! a0 #x400000) (set! a1 (l.d (+ gp 436))) (set! a0 (logand a0 a1)) (cmove-#f-zero v1 a0 v1) (label L210) (b! (not v1) L212 (set! v1 #f)) (set! v1 #x400000) (set! a0 (l.wu (+ gp 600))) (set! v1 (logand v1 a0)) (b! (zero? v1) L211 (set! v1 #f)) (set! v0 #t) (set! v1 v0) (label L211) (set! v1 #x200000) (set! a0 (l.wu (+ gp 600))) (set! v1 (logior v1 a0)) (s.w! (+ gp 600) v1) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 250 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 250 ashelin) has unknown type L213: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) beq s7, a1, L214 ;; [ 1] (b! (not a1) L214 (nop!)) sll r0, r0, 0 B1: lui v1, 64 ;; [ 2] (set! v1 #x400000) lwu a0, 600(gp) ;; [ 3] (set! a0 (l.wu (+ gp 600))) or v1, v1, a0 ;; [ 4] (set! v1 (logior v1 a0)) sw v1, 600(gp) ;; [ 5] (s.w! (+ gp 600) v1) beq r0, r0, L215 ;; [ 6] (b! #t L215 (nop!)) sll r0, r0, 0 B2: L214: lui v1, -65 ;; [ 7] (set! v1 -4194305) ori v1, v1, 65535 lwu a0, 600(gp) ;; [ 8] (set! a0 (l.wu (+ gp 600))) and v1, v1, a0 ;; [ 9] (set! v1 (logand v1 a0)) sw v1, 600(gp) ;; [ 10] (s.w! (+ gp 600) v1) B3: L215: or a0, gp, r0 ;; [ 11] (set! a0 gp) lwu v1, -4(a0) ;; [ 12] (set! v1 (l.wu (+ a0 -4))) lwu t9, 252(v1) ;; [ 13] (set! t9 (l.wu (+ v1 252))) jalr ra, t9 ;; [ 14] (call!) sll v0, ra, 0 lwu v1, 124(gp) ;; [ 15] (set! v1 (l.wu (+ gp 124))) sd v0, 172(v1) ;; [ 16] (s.d! (+ v1 172) v0) ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 sll r0, r0, 0 sll r0, r0, 0 sll r0, r0, 0 (set! gp a0) (b! (not a1) L214 (nop!)) (set! v1 #x400000) (set! a0 (l.wu (+ gp 600))) (set! v1 (logior v1 a0)) (s.w! (+ gp 600) v1) (b! #t L215 (nop!)) (label L214) (set! v1 -4194305) (set! a0 (l.wu (+ gp 600))) (set! v1 (logand v1 a0)) (s.w! (+ gp 600) v1) (label L215) (set! a0 gp) (set! v1 (l.wu (+ a0 -4))) (set! t9 (l.wu (+ v1 252))) (call!) (set! v1 (l.wu (+ gp 124))) (s.d! (+ v1 172) v0) (ret-value v0) ;; .endfunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; .function (method 59 ashelin) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;stack: total 0x20, fp? 0 ra? 1 ep? 1 ;stack_vars: 8 bytes at 8 ;gprs: gp ;; Warnings: ;; WARN: Type Propagation failed: Function (method 59 ashelin) has unknown type L216: daddiu sp, sp, -32 sd ra, 0(sp) sq gp, 16(sp) B0: or gp, a0, r0 ;; [ 0] (set! gp a0) lw v1, bot(s7) ;; [ 1] (set! v1 bot) lwu t9, 252(v1) ;; [ 2] (set! t9 (l.wu (+ v1 252))) or a0, gp, r0 ;; [ 3] (set! a0 gp) jalr ra, t9 ;; [ 4] (call!) sll v0, ra, 0 lui v1, 64 ;; [ 5] (set! v1 #x400000) lwu a0, 600(gp) ;; [ 6] (set! a0 (l.wu (+ gp 600))) and v1, v1, a0 ;; [ 7] (set! v1 (logand v1 a0)) beq v1, r0, L217 ;; [ 8] (b! (zero? v1) L217 (set! v1 #f)) or v1, s7, r0 B1: lui v1, 64 ;; [ 9] (set! v1 #x400000) or v0, v1, v0 ;; [ 10] (set! v0 (logior v1 v0)) or v1, v0, r0 ;; [ 11] (set! v1 v0) B2: L217: ld ra, 0(sp) lq gp, 16(sp) jr ra daddiu sp, sp, 32 (set! gp a0) (set! v1 bot) (set! t9 (l.wu (+ v1 252))) (set! a0 gp) (call!) (set! v1 #x400000) (set! a0 (l.wu (+ gp 600))) (set! v1 (logand v1 a0)) (b! (zero? v1) L217 (set! v1 #f)) (set! v1 #x400000) (set! v0 (logior v1 v0)) (set! v1 v0) (ret-value v0) ;; .endfunction L218: .word 0x0 .word 0x0 .word 0x0 .word 0x0 .type string ; "hud-ashlyn-head" L219: .word 0xf .word 0x2d647568 .word 0x6c687361 .word 0x682d6e79 .word 0x646165 .word 0x0 .word 0x0 .type string ; "skel-ashelin" L220: .word 0xc .word 0x6c656b73 .word 0x6873612d .word 0x6e696c65 .word 0x0 .word 0x0 .word 0x0 .type nav-enemy-info L221: .word 0x0 .symbol #t .symbol #f .symbol #t .symbol #f .symbol #f .symbol #t .symbol #f .word L222 .word 0x3 .word 0x3 .word 0xffffffff .word 0x3 .word 0xa .word 0xb .word 0x1a .word 0x1a .word 0xffffffff .word 0x3 .word 0x3 .word 0x3 .word 0x5 .word 0x6 .word 0x4 .word 0x0 .word 0x0 .word 0x0 .word 0x0 .word 0x0 .word 0x0 .word 0x0 .word 0x0 .word 0x0 .word 0x0 .word 0x0 .word 0x48200000 .word 0x47200000 .word 0x47a00000 .word 0xa .word 0x1 .word 0x6b2 .word 0x0 .word 0x0 .word 0xffffffff .word 0xffffffff .word 0xc8c80000 .word 0x3f333333 .word 0x0 .word 0x46400000 .word 0x46000000 .symbol generic .word 0x2 .word 0x80249 .word 0x46400000 .word 0x3f000000 .word 0x452aaaab .word 0x47600000 .word 0x47600000 .word 0x47a00000 .word 0x47a00000 .word 0x47600000 .word 0x47600000 .word 0x47a00000 .word 0x47a00000 .word 0x47600000 .word 0x47600000 .word 0x47a00000 .word 0x47a00000 .word 0x4820cccd .word 0x48733333 .word 0x48333333 .word 0x4854cccd .word 0x47600000 .word 0x47600000 .word 0x47a00000 .word 0x47a00000 .word 0x47600000 .word 0x47600000 .word 0x47a00000 .word 0x47a00000 .word 0x47200000 .word 0x47400000 .word 0x46c00000 .word 0x47200000 .word 0x46000000 .word 0x45800000 .word 0xc5800000 .word 0x49160000 .word 0xffffffff .word 0x0 .word 0x0 .word 0x0 .word 0x0 .word 0x0 .word 0x48200000 .symbol #f .symbol #t .symbol #t .symbol #f .symbol #f .symbol #f .word 0x4 .word 0xffffffff .word 0x6 .word 0xffffffff .word 0x47200000 .word 0x47c80000 .word 0x47400000 .word 0x46400000 .word 0x46a00000 .word 0x46c00000 .word 0x47800000 .word 0x47a00000 .word 0x47000000 .word 0x0 .word 0x4b0 .word 0x0 .word 0x5a .word 0x0 .word 0x46a00000 .word 0x47700000 .symbol #f .word 0x0 L222: .word 0x1010301 .word 0x0 .word 0x0 .word 0x0 .type ashelin-global-info L223: .word 0x0 .word 0xd .word 0xe .word 0xf .word 0x13 .word 0x14 .word 0x15 .word 0x10 .word 0x11 .word 0x12 .word 0x16 .word 0x17 .word 0x18