1 #include "conf.h" 2 3 void change_video_tables(__attribute__ ((unused))int a, __attribute__ ((unused))int b) {} 4 5 void set_quality(int *x) { // -17 highest; +12 lowest 6 if (conf.video_mode) *x=12-((conf.video_quality-1)*(12+17)/(99-1)); 7 } 8 9 //** movie_record_task @ 0xFF17CCFC 10 11 void __attribute__((naked,noinline)) movie_record_task() { 12 asm volatile ( 13 "STMFD SP!, {R2-R10,LR}\n" 14 "LDR R6, =0xFF17B968\n" 15 "LDR R7, =0xFF17C6F0\n" //This function was used to take values for set_quality --> 16 "LDR R4, =0x6DB8\n" 17 "LDR R9, =0x69B\n" 18 "LDR R10, =0x2710\n" 19 "MOV R8, #1\n" 20 "MOV R5, #0\n" 21 "loc_FF17CD1C:\n" 22 "LDR R0, [R4, #0x24]\n" 23 "MOV R2, #0\n" 24 "ADD R1, SP, #4\n" 25 "BL sub_00477218\n" 26 "LDR R0, [R4, #0x2C]\n" 27 "CMP R0, #0\n" 28 "LDRNE R0, [R4, #0xC]\n" 29 "CMPNE R0, #2\n" 30 "LDRNE R0, [R4, #0x44]\n" 31 "CMPNE R0, #6\n" 32 "BNE loc_FF17CE58\n" 33 "LDR R0, [SP, #4]\n" 34 "LDR R1, [R0]\n" 35 "SUB R1, R1, #2\n" 36 "CMP R1, #0xD\n" 37 "ADDCC PC, PC, R1, LSL #2\n" 38 "B loc_FF17CE58\n" 39 "B loc_FF17CDF8\n" //(01) 40 "B loc_FF17CE1C\n" //(02) 41 "B loc_FF17CE2C\n" //(03) 42 "B loc_FF17CE34\n" //(04) 43 "B loc_FF17CE3C\n" //(05) 44 "B loc_FF17CE44\n" //(06) 45 "B loc_FF17CE00\n" //(07) 46 "B loc_FF17CE4C\n" //(08) 47 "B loc_FF17CE0C\n" //(09) 48 "B loc_FF17CE58\n" //(10) 49 "B loc_FF17CE54\n" //(11) 50 "B loc_FF17CDC4\n" //(12) 51 "B loc_FF17CD94\n" //(13) 52 "loc_FF17CD94:\n" //Jump Table entry 13 53 "STR R5, [R4, #0x40]\n" 54 "STR R5, [R4, #0x30]\n" 55 "STR R5, [R4, #0x34]\n" 56 "STRH R5, [R4, #6]\n" 57 "STR R6, [R4, #0xD8]\n" 58 "STR R7, [R4, #0xF4]\n" 59 "LDR R0, [R4, #0xC]\n" 60 "ADD R0, R0, #1\n" 61 "STR R0, [R4, #0xC]\n" 62 "MOV R0, #6\n" 63 "STR R0, [R4, #0x44]\n" 64 "B loc_FF17CDE4\n" 65 "loc_FF17CDC4:\n" //Jump Table entry 12 66 "STR R5, [R4, #0x40]\n" 67 "STR R5, [R4, #0x30]\n" 68 "STR R6, [R4, #0xD8]\n" 69 "STR R7, [R4, #0xF4]\n" 70 "LDR R0, [R4, #0xC]\n" 71 "ADD R0, R0, #1\n" 72 "STR R0, [R4, #0xC]\n" 73 "STR R8, [R4, #0x44]\n" 74 "loc_FF17CDE4:\n" 75 "LDR R2, =0xFF17AE60\n" 76 "LDR R1, =0xB7A5C\n" 77 "LDR R0, =0xFF17AF74\n" 78 "BL sub_FF03BB2C\n" 79 "B loc_FF17CE58\n" 80 "loc_FF17CDF8:\n" //Jump Table entry 01 81 "BL unlock_optical_zoom \n" //added 82 //begin patch 83 "BL sub_FF17C2B8\n" //original 84 // "BL movie_time\n" //patch 85 // "label_A:\n" 86 //end patchd 87 88 "B loc_FF17CE58\n" 89 "loc_FF17CE00:\n" 90 "LDR R1, [R4, #0xF4]\n" 91 "BLX R1\n" 92 //begin patch 93 "LDR R0, =0x6E3C \n" // added, 0x6E40-0x4 taken near to "loc_FF17CBE4:" see commented function below. 94 "BL set_quality \n" // added 95 //end patch 96 "B loc_FF17CE58\n" 97 "loc_FF17CE0C:\n" //Jump Table entry 09 98 "LDR R1, [R0, #0x18]\n" 99 "LDR R0, [R0, #4]\n" 100 "BL sub_FF2E284C\n" 101 "B loc_FF17CE58\n" 102 "loc_FF17CE1C:\n" //Jump Table entry 02 103 "LDR R0, [R4, #0x44]\n" 104 "CMP R0, #5\n" 105 "STRNE R8, [R4, #0x34]\n" 106 "B loc_FF17CE58\n" 107 "loc_FF17CE2C:\n" //Jump Table entry 03 108 "BL sub_FF17B5DC\n" 109 "B loc_FF17CE58\n" 110 "loc_FF17CE34:\n" //Jump Table entry 04 111 "BL sub_FF17B2C0\n" 112 "B loc_FF17CE58\n" 113 "loc_FF17CE3C:\n" //Jump Table entry 05 114 "BL sub_FF17AFD8\n" 115 "B loc_FF17CE58\n" 116 "loc_FF17CE44:\n" //Jump Table entry 06 117 "BL sub_FF17AB88\n" 118 "B loc_FF17CE58\n" 119 "loc_FF17CE4C:\n" //Jump Table entry 08 120 "BL sub_FF17AB08\n" 121 "B loc_FF17CE58\n" 122 "loc_FF17CE54:\n" //Jump Table entry 11 123 "BL sub_FF17D42C\n" 124 "loc_FF17CE58:\n" 125 "LDR R1, [SP, #4]\n" 126 "LDR R3, =0xFF17A7A0\n" 127 "STR R5, [R1]\n" 128 "STR R9, [SP]\n" 129 "LDR R0, [R4, #0x28]\n" 130 "MOV R2, R10\n" 131 "BL sub_00477B90\n" 132 "B loc_FF17CD1C\n" 133 ); 134 } 135 136 /* 137 void __attribute__((naked,noinline)) movie_time() { 138 if( (int)conf.ext_video_time == 1 ) { 139 asm volatile ( 140 "BL sub_FF17C2B8_my\n" 141 "B label_A\n" 142 ); 143 } else { 144 asm volatile ( 145 "BL sub_FF17C2B8\n" 146 "B label_A\n" 147 ); 148 } 149 } 150 */ 151 152 153 154 //This function was used to take values for set_quality 155 //** sub_FF17C6F0_my @ 0xFF17C6F0 156 /* 157 void __attribute__((naked,noinline)) sub_FF17C6F0_my() { 158 asm volatile ( 159 "STMFD SP!, {R4-R11,LR}\n" 160 "SUB SP, SP, #0x64\n" 161 "MOV R9, #0\n" 162 "LDR R8, =0x6DB8\n" 163 "STR R9, [SP, #0x54]\n" 164 "STR R9, [SP, #0x4C]\n" 165 "STR R9, [R8, #0xDC]\n" 166 "STR R9, [R8, #0xE0]\n" 167 "STR R9, [R8, #0xE4]\n" 168 "STR R9, [R8, #0xE8]\n" 169 "MOV R4, R0\n" 170 "STR R9, [R8, #0xEC]\n" 171 "LDR R0, [R8, #0x44]\n" 172 "MOV R6, R9\n" 173 "CMP R0, #3\n" 174 "MOVEQ R0, #4\n" 175 "STREQ R0, [R8, #0x44]\n" 176 "LDR R0, [R8, #0xD8]\n" 177 "MOV R5, #1\n" 178 "MOV R7, R9\n" 179 "BLX R0\n" 180 "LDR R0, [R8, #0x44]\n" 181 "CMP R0, #6\n" 182 "BEQ loc_FF17C764\n" 183 "LDR R1, [R8, #0xC]\n" 184 "CMP R1, #2\n" 185 "BNE loc_FF17C78C\n" 186 "CMP R0, #5\n" 187 "BEQ loc_FF17C79C\n" 188 "loc_FF17C764:\n" 189 "LDR R2, =0xFF17C5C4\n" 190 "LDR R1, =0xFF17C628\n" 191 "LDR R0, =0xFF17C68C\n" 192 "MOV R7, #1\n" 193 "ADD R3, SP, #0x30\n" 194 "BL sub_FF03C9E8\n" 195 "LDR R0, [R8, #0x44]\n" 196 "CMP R0, #4\n" 197 "MOVNE R5, #0\n" 198 "B loc_FF17C7AC\n" 199 "loc_FF17C78C:\n" 200 "CMP R0, #4\n" 201 "BEQ loc_FF17C7AC\n" 202 "CMP R1, #2\n" 203 "BNE loc_FF17C7A4\n" 204 "loc_FF17C79C:\n" 205 "MOV R0, #0\n" 206 "BL sub_FF03CA54\n" 207 "loc_FF17C7A4:\n" 208 "ADD SP, SP, #0x64\n" 209 "LDMFD SP!, {R4-R11,PC}\n" 210 "loc_FF17C7AC:\n" 211 "LDRH R0, [R8, #6]\n" 212 "CMP R0, #3\n" 213 "BNE loc_FF17C7E0\n" 214 "LDR R0, [R8, #0xF0]\n" 215 "CMP R0, #0\n" 216 "LDREQ R1, =0x8E8\n" 217 "LDREQ R0, =0xFF17A7A0\n" 218 "BLEQ _DebugAssert\n" 219 "LDR R0, [R8, #0x6C]\n" 220 "LDR R1, [R8, #0xF0]\n" 221 "BL sub_0047C934\n" 222 "CMP R1, #0\n" 223 "MOVNE R5, #0\n" 224 "loc_FF17C7E0:\n" 225 "LDR R0, [R8, #0x44]\n" 226 "CMP R0, #6\n" 227 "CMPNE R0, #1\n" 228 "CMPNE R0, #3\n" 229 "BNE loc_FF17C824\n" 230 "CMP R7, #1\n" 231 "CMPEQ R5, #0\n" 232 "BNE loc_FF17C824\n" 233 "BL sub_FF03CA0C\n" 234 "LDR R0, [R8, #0x18]\n" 235 "MOV R1, #0x3E8\n" 236 "BL _TakeSemaphore\n" 237 "CMP R0, #9\n" 238 "BNE loc_FF17CC60\n" 239 "MOV R0, #0x90000\n" 240 "BL sub_FF0261C4\n" 241 "B loc_FF17C7A4\n" 242 "loc_FF17C824:\n" 243 "CMP R5, #1\n" 244 "MOV R10, #1\n" 245 "BNE loc_FF17C84C\n" 246 "ADD R3, SP, #0x4C\n" 247 "ADD R2, SP, #0x50\n" 248 "ADD R1, SP, #0x54\n" 249 "ADD R0, SP, #0x58\n" 250 "BL sub_FF2E298C\n" 251 "MOVS R9, R0\n" 252 "BNE loc_FF17C868\n" 253 "loc_FF17C84C:\n" 254 "LDR R0, [R8, #0x34]\n" 255 "CMP R0, #1\n" 256 "BNE loc_FF17C9B4\n" 257 "LDR R0, [R8, #0x6C]\n" 258 "LDR R1, [R8, #0x48]\n" 259 "CMP R0, R1\n" 260 "BCC loc_FF17C9B4\n" 261 "loc_FF17C868:\n" 262 "MOV R0, R9\n" 263 "BL sub_FF17BAE4\n" 264 "LDR R0, [R8, #0xC]\n" 265 "CMP R0, #2\n" 266 "BNE loc_FF17C8D4\n" 267 "LDR R0, =0xFF17C5B8\n" 268 "MOV R1, #0\n" 269 "BL sub_FF29AB98\n" 270 "LDR R1, [R8, #0x64]\n" 271 "LDR R2, =0xB7AA8\n" 272 "ADD R3, SP, #0x5C\n" 273 "ADD R0, SP, #0x30\n" 274 "STRD R0, [SP, #0x10]\n" 275 "STRD R2, [SP, #0x18]\n" 276 "LDR R1, [R8, #0x84]\n" 277 "LDR R2, [R8, #0x88]\n" 278 "MVN R3, #1\n" 279 "ADD R0, SP, #0x60\n" 280 "STMEA SP, {R0-R3}\n" 281 "MOV R3, #0\n" 282 "LDR R0, =0xB7B08\n" 283 "MOV R2, R3\n" 284 "MOV R1, #0x40\n" 285 "BL sub_FF29AAEC\n" 286 "B loc_FF17C92C\n" 287 "loc_FF17C8CC:\n" 288 "MOV R1, #1\n" 289 "B loc_FF17CBA4\n" 290 "loc_FF17C8D4:\n" 291 "BL sub_FF17D504\n" 292 "LDR R2, [R8, #0x64]\n" 293 "ADD R3, SP, #0x5C\n" 294 "MVN R1, #1\n" 295 "MOV R0, #0\n" 296 "ADD R5, SP, #0x1C\n" 297 "STMIA R5, {R0-R3}\n" 298 "LDR R3, [R4, #0x1C]\n" 299 "LDR R1, [R8, #0x84]\n" 300 "LDR R2, [R8, #0x88]\n" 301 "ADD R0, SP, #0x60\n" 302 "ADD R4, SP, #0xC\n" 303 "STMIA R4, {R0-R3}\n" 304 "MOV R3, #0\n" 305 "MOV R1, #0x40\n" 306 "STMEA SP, {R1,R3}\n" 307 "MOV R2, #0\n" 308 "STR R3, [SP, #8]\n" 309 "LDR R3, =0xB7B08\n" 310 "MOV R1, R2\n" 311 "MOV R0, R2\n" 312 "BL sub_FF299428\n" 313 "loc_FF17C92C:\n" 314 "LDR R0, [R8, #0x18]\n" 315 "LDR R1, [R8, #0x60]\n" 316 "BL _TakeSemaphore\n" 317 "CMP R0, #9\n" 318 "BEQ loc_FF17C8CC\n" 319 "LDR R0, [SP, #0x5C]\n" 320 "CMP R0, #0\n" 321 "BEQ loc_FF17C954\n" 322 "loc_FF17C94C:\n" 323 "MOV R1, #1\n" 324 "B loc_FF17CBBC\n" 325 "loc_FF17C954:\n" 326 "LDR R0, [R8, #0xC]\n" 327 "MOV R4, #5\n" 328 "CMP R0, #2\n" 329 "MOV R0, #1\n" 330 "BNE loc_FF17C9A0\n" 331 "BL sub_FF29AB60\n" 332 "BL sub_FF29AB7C\n" 333 "BL sub_FF03CA30\n" 334 "MOV R0, #0\n" 335 "BL sub_FF03CA54\n" 336 "BL sub_FF03CA84\n" 337 "STR R4, [R8, #0x44]\n" 338 "LDR R0, [R8, #0x64]\n" 339 "CMP R0, #1\n" 340 "BLEQ sub_FF29B6EC\n" 341 "BL sub_FF17D504\n" 342 "BL sub_FF03CAE0\n" 343 "STR R10, [R8, #0x44]\n" 344 "B loc_FF17C9AC\n" 345 "loc_FF17C9A0:\n" 346 "BL sub_FF2994D4\n" 347 "BL sub_FF29951C\n" 348 "STR R4, [R8, #0x44]\n" 349 "loc_FF17C9AC:\n" 350 "STR R6, [R8, #0x34]\n" 351 "B loc_FF17C7A4\n" 352 "loc_FF17C9B4:\n" 353 "CMP R5, #1\n" 354 "BNE loc_FF17CC58\n" 355 "STR R10, [R8, #0x38]\n" 356 "LDR R0, [R8, #0x6C]\n" 357 "LDR R11, [R4, #0xC]\n" 358 "CMP R0, #0\n" 359 "LDRNE R9, [SP, #0x58]\n" 360 "LDRNE R10, [SP, #0x54]\n" 361 "BNE loc_FF17CADC\n" 362 "LDR R0, [R8, #0xC]\n" 363 "CMP R0, #2\n" 364 "BNE loc_FF17CA34\n" 365 "LDR R0, =0xFF17C5B8\n" 366 "MOV R1, #0\n" 367 "BL sub_FF29AB98\n" 368 "LDR R1, [R8, #0x64]\n" 369 "LDR R2, =0xB7AA8\n" 370 "ADD R3, SP, #0x5C\n" 371 "ADD R0, SP, #0x30\n" 372 "STRD R0, [SP, #0x10]\n" 373 "STRD R2, [SP, #0x18]\n" 374 "LDR R1, [R8, #0x84]\n" 375 "LDR R2, [R8, #0x88]\n" 376 "MVN R3, #0\n" 377 "ADD R0, SP, #0x60\n" 378 "STMEA SP, {R0-R3}\n" 379 "LDR R0, [SP, #0x58]\n" 380 "LDR R1, [SP, #0x54]\n" 381 "LDR R2, [SP, #0x50]\n" 382 "LDR R3, [SP, #0x4C]\n" 383 "BL sub_FF29AAEC\n" 384 "B loc_FF17CA88\n" 385 "loc_FF17CA34:\n" 386 "LDR R0, [R4, #0x20]\n" 387 "LDR R2, [R8, #0x64]\n" 388 "ADD R3, SP, #0x5C\n" 389 "MVN R1, #0\n" 390 "ADD R9, SP, #0x1C\n" 391 "STMIA R9, {R0-R3}\n" 392 "LDR R3, [R4, #0x1C]\n" 393 "LDR R1, [R8, #0x84]\n" 394 "LDR R2, [R8, #0x88]\n" 395 "ADD R0, SP, #0x60\n" 396 "ADD R9, SP, #0xC\n" 397 "STMIA R9, {R0-R3}\n" 398 "LDR R1, [SP, #0x50]\n" 399 "LDR R2, [SP, #0x54]\n" 400 "LDR R3, [SP, #0x4C]\n" 401 "STMFA SP, {R1,R3}\n" 402 "STR R2, [SP]\n" 403 "LDMIB R4, {R0,R1}\n" 404 "LDR R3, [SP, #0x58]\n" 405 "MOV R2, R11\n" 406 "BL sub_FF299428\n" 407 "loc_FF17CA88:\n" 408 "LDR R0, [R8, #0x18]\n" 409 "LDR R1, [R8, #0x60]\n" 410 "BL _TakeSemaphore\n" 411 "CMP R0, #9\n" 412 "BEQ loc_FF17C8CC\n" 413 "LDR R0, [SP, #0x5C]\n" 414 "CMP R0, #0\n" 415 "BNE loc_FF17C94C\n" 416 "LDR R0, [R8, #0xC]\n" 417 "CMP R0, #2\n" 418 "MOV R0, #1\n" 419 "BNE loc_FF17CAC0\n" 420 "BL sub_FF29AB60\n" 421 "B loc_FF17CAC4\n" 422 "loc_FF17CAC0:\n" 423 "BL sub_FF2994D4\n" 424 "loc_FF17CAC4:\n" 425 "STR R6, [R8, #0xE8]\n" 426 "LDR R0, [SP, #0x60]\n" 427 "LDR R1, [SP, #0x58]\n" 428 "ADD R9, R1, R0\n" 429 "LDR R1, [SP, #0x54]\n" 430 "SUB R10, R1, R0\n" 431 "loc_FF17CADC:\n" 432 "LDR R0, [R8, #0xC]\n" 433 "CMP R0, #2\n" 434 "BNE loc_FF17CB3C\n" 435 "LDR R0, =0xFF17BA44\n" 436 "MOV R1, #0\n" 437 "BL sub_FF29AB98\n" 438 "LDR R1, [R8, #0x64]\n" 439 "LDR R2, =0xB7AA8\n" 440 "ADD R0, SP, #0x30\n" 441 "ADD R3, SP, #0x5C\n" 442 "STRD R0, [SP, #0x10]\n" 443 "STRD R2, [SP, #0x18]\n" 444 "LDR R1, [R8, #0x84]\n" 445 "LDR R2, [R8, #0x88]\n" 446 "LDR R3, [R8, #0x68]\n" 447 "ADD R0, SP, #0x60\n" 448 "STMEA SP, {R0-R3}\n" 449 "LDR R2, [SP, #0x50]\n" 450 "LDR R3, [SP, #0x4C]\n" 451 "MOV R1, R10\n" 452 "MOV R0, R9\n" 453 "BL sub_FF29AAEC\n" 454 "BL sub_FF03CA0C\n" 455 "B loc_FF17CB8C\n" 456 "loc_FF17CB3C:\n" 457 "LDR R0, [R4, #0x20]\n" 458 "LDR R1, [R8, #0x68]\n" 459 "LDR R2, [R8, #0x64]\n" 460 "ADD R3, SP, #0x5C\n" 461 "ADD R12, SP, #0x1C\n" 462 "STMIA R12, {R0-R3}\n" 463 "LDR R3, [R4, #0x1C]\n" 464 "LDR R1, [R8, #0x84]\n" 465 "LDR R2, [R8, #0x88]\n" 466 "ADD R0, SP, #0x60\n" 467 "ADD R12, SP, #0xC\n" 468 "STMIA R12, {R0-R3}\n" 469 "LDR R2, [SP, #0x50]\n" 470 "LDR R3, [SP, #0x4C]\n" 471 "STMFA SP, {R2,R3}\n" 472 "STR R10, [SP]\n" 473 "LDMIB R4, {R0,R1}\n" 474 "MOV R3, R9\n" 475 "MOV R2, R11\n" 476 "BL sub_FF299428\n" 477 "loc_FF17CB8C:\n" 478 "LDR R0, [R8, #0x18]\n" 479 "LDR R1, [R8, #0x60]\n" 480 "BL _TakeSemaphore\n" 481 "CMP R0, #9\n" 482 "BNE loc_FF17CBAC\n" 483 "MOV R1, #0\n" 484 "loc_FF17CBA4:\n" 485 "MOV R0, #0x90000\n" 486 "B loc_FF17CBC0\n" 487 "loc_FF17CBAC:\n" 488 "LDR R0, [SP, #0x5C]\n" 489 "CMP R0, #0\n" 490 "BEQ loc_FF17CBC8\n" 491 "MOV R1, #0\n" 492 "loc_FF17CBBC:\n" 493 "MOV R0, #0xA0000\n" 494 "loc_FF17CBC0:\n" 495 "BL sub_FF17BED0\n" 496 "B loc_FF17C7A4\n" 497 "loc_FF17CBC8:\n" 498 "LDR R0, [R8, #0xC]\n" 499 "CMP R0, #2\n" 500 "MOV R0, #0\n" 501 "BNE loc_FF17CBE0\n" 502 "BL sub_FF29AB60\n" 503 "B loc_FF17CBE4\n" 504 "loc_FF17CBE0:\n" 505 "BL sub_FF2994D4\n" 506 "loc_FF17CBE4:\n" 507 "LDR R0, [SP, #0x58]\n" 508 "LDR R1, [SP, #0x60]\n" 509 "BL sub_FF2E2C20\n" 510 "LDR R0, [R8, #0x68]\n" 511 "LDR R3, =0x6E40\n" // <- 0x6E40 512 "ADD R1, R0, #1\n" 513 "STR R1, [R8, #0x68]\n" 514 "LDR R0, [SP, #0x60]\n" 515 "SUB R2, R3, #4\n" // <- -4 516 "BL sub_FF2DED00\n" 517 #if 0 518 "LDR R0, =0x6E3C \n" // added, 0x6E40-0x4 519 "BL set_quality \n" // added 520 #endif 521 "LDR R0, [R8, #0x64]\n" 522 "CMP R0, #1\n" 523 "BNE loc_FF17CC58\n" 524 "ADD R0, SP, #0x48\n" 525 "BL sub_FF29B74C\n" 526 "LDR R1, =0xB7A78\n" 527 "LDR R0, [R1, #4]\n" 528 "LDR R1, [R1]\n" 529 "SUB R2, R0, #0x400\n" 530 "SUBS R2, R2, #0x38\n" 531 "ADDEQ R0, R0, #8\n" 532 "MOV R1, R1, LSR #4\n" 533 "MOV R0, R0, LSR #4\n" 534 "MUL R1, R0, R1\n" 535 "LDR R0, [SP, #0x48]\n" 536 "BL sub_0047C934\n" 537 "LDR R1, =0xB7AA8\n" 538 "STR R0, [SP, #0x48]\n" 539 "BL sub_FF2DF038\n" 540 "loc_FF17CC58:\n" 541 "CMP R7, #1\n" 542 "BNE loc_FF17CC6C\n" 543 "loc_FF17CC60:\n" 544 "BL sub_FF03CA30\n" 545 "MOV R0, #1\n" 546 "BL sub_FF03CA54\n" 547 "loc_FF17CC6C:\n" 548 "CMP R5, #1\n" 549 "LDRNEH R0, [R8, #6]\n" 550 "CMPNE R0, #3\n" 551 "BNE loc_FF17C7A4\n" 552 "LDR R0, [R8, #0x6C]\n" 553 "ADD R0, R0, #1\n" 554 "STR R0, [R8, #0x6C]\n" 555 "LDRH R1, [R8, #6]\n" 556 "CMP R1, #3\n" 557 "LDRNE R1, [R8, #0x54]\n" 558 "MULNE R0, R1, R0\n" 559 "LDRNE R1, [R8, #0x50]\n" 560 "BNE loc_FF17CCBC\n" 561 "LDR R1, [R8, #0x58]\n" 562 "CMP R1, #0x19\n" 563 "LDRNE R1, =0x3E9\n" 564 "MOVEQ R1, #0x3E8\n" 565 "MUL R0, R1, R0\n" 566 "LDRNE R1, =0x1770\n" 567 "LDREQ R1, =0x1388\n" 568 "loc_FF17CCBC:\n" 569 "BL sub_0047C934\n" 570 "MOV R4, R0\n" 571 "BL sub_FF2E32E8\n" 572 "LDR R0, [R8, #0x8C]\n" 573 "CMP R0, R4\n" 574 "BNE loc_FF17CCE0\n" 575 "LDR R0, [R8, #0x3C]\n" 576 "CMP R0, #1\n" 577 "BNE loc_FF17CCF4\n" 578 "loc_FF17CCE0:\n" 579 "LDR R1, [R8, #0xBC]\n" 580 "MOV R0, R4\n" 581 "BLX R1\n" 582 "STR R4, [R8, #0x8C]\n" 583 "STR R6, [R8, #0x3C]\n" 584 "loc_FF17CCF4:\n" 585 "STR R6, [R8, #0x38]\n" 586 "B loc_FF17C7A4\n" 587 ); 588 } 589 */