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) 7 *x=12-((conf.video_quality-1)*(12+17)/(99-1)); 8 } 9 10 //** movie_record_task @ 0xFF95EDF4 11 12 void __attribute__((naked,noinline)) movie_record_task( ) { 13 asm volatile ( 14 "STMFD SP!, {R2-R10,LR}\n" 15 "LDR R6, =0xFF95E28C\n" 16 "LDR R7, =0xFF95E7B8\n" //This function was used to take values for set_quality --> 17 "LDR R4, =0x63E0\n" 18 "LDR R9, =0x69B\n" 19 "LDR R10, =0x2710\n" 20 "MOV R8, #1\n" 21 "MOV R5, #0\n" 22 "loc_FF95EE14:\n" 23 "LDR R0, [R4, #0x24]\n" 24 "MOV R2, #0\n" 25 "ADD R1, SP, #4\n" 26 "BL sub_003F7218\n" 27 "LDR R0, [R4, #0x2C]\n" 28 "CMP R0, #0\n" 29 "LDRNE R0, [R4, #0xC]\n" 30 "CMPNE R0, #2\n" 31 "LDRNE R0, [R4, #0x44]\n" 32 "CMPNE R0, #6\n" 33 "BNE loc_FF95EF38\n" 34 "LDR R0, [SP, #4]\n" 35 "LDR R1, [R0]\n" 36 "SUB R1, R1, #2\n" 37 "CMP R1, #0xB\n" 38 "ADDCC PC, PC, R1, LSL #2\n" 39 "B loc_FF95EF38\n" 40 "B loc_FF95EEE8\n" //(01) 41 "B loc_FF95EF0C\n" //(02) 42 "B loc_FF95EF1C\n" //(03) 43 "B loc_FF95EF24\n" //(04) 44 "B loc_FF95EEF0\n" //(05) 45 "B loc_FF95EF2C\n" //(06) 46 "B loc_FF95EEFC\n" //(07) 47 "B loc_FF95EF38\n" //(08) 48 "B loc_FF95EF34\n" //(09) 49 "B loc_FF95EEB4\n" //(10) 50 "B loc_FF95EE84\n" //(11) 51 "loc_FF95EE84:\n" //Jump Table entry 11 52 "STR R5, [R4, #0x40]\n" 53 "STR R5, [R4, #0x30]\n" 54 "STR R5, [R4, #0x34]\n" 55 "STRH R5, [R4, #6]\n" 56 "STR R6, [R4, #0xB4]\n" 57 "STR R7, [R4, #0xD0]\n" 58 "LDR R0, [R4, #0xC]\n" 59 "ADD R0, R0, #1\n" 60 "STR R0, [R4, #0xC]\n" 61 "MOV R0, #6\n" 62 "STR R0, [R4, #0x44]\n" 63 "B loc_FF95EED4\n" 64 "loc_FF95EEB4:\n" //Jump Table entry 10 65 "STR R5, [R4, #0x40]\n" 66 "STR R5, [R4, #0x30]\n" 67 "STR R6, [R4, #0xB4]\n" 68 "STR R7, [R4, #0xD0]\n" 69 "LDR R0, [R4, #0xC]\n" 70 "ADD R0, R0, #1\n" 71 "STR R0, [R4, #0xC]\n" 72 "STR R8, [R4, #0x44]\n" 73 "loc_FF95EED4:\n" 74 "LDR R2, =0xFF95D9EC\n" 75 "LDR R1, =0xAAE5C\n" 76 "LDR R0, =0xFF95DB00\n" 77 "BL sub_FF84AECC\n" 78 "B loc_FF95EF38\n" 79 "loc_FF95EEE8:\n" //Jump Table entry 01 80 "BL unlock_optical_zoom \n" //added 81 "BL sub_FF95E3EC\n" 82 "B loc_FF95EF38\n" 83 "loc_FF95EEF0:\n" //Jump Table entry 05 84 "LDR R1, [R4, #0xD0]\n" 85 "BLX R1\n" 86 //begin patch 87 "LDR R0, =0x6464 \n" // added, 0x6468-0x4 taken from ""loc_FF95ECDC:" see commented function below. 88 "BL set_quality \n" // added 89 "BL mute_on_zoom\n" // added 90 //end patch 91 "B loc_FF95EF38\n" 92 "loc_FF95EEFC:\n" //Jump Table entry 07 93 "LDR R1, [R0, #0x18]\n" 94 "LDR R0, [R0, #4]\n" 95 "BL sub_FFA6D620\n" 96 "B loc_FF95EF38\n" 97 "loc_FF95EF0C:\n" //Jump Table entry 02 98 "LDR R0, [R4, #0x44]\n" 99 "CMP R0, #5\n" 100 "STRNE R8, [R4, #0x34]\n" 101 "B loc_FF95EF38\n" 102 "loc_FF95EF1C:\n" //Jump Table entry 03 103 "BL sub_FF95DEEC\n" 104 "B loc_FF95EF38\n" 105 "loc_FF95EF24:\n" //Jump Table entry 04 106 "BL sub_FF95DB4C\n" 107 "B loc_FF95EF38\n" 108 "loc_FF95EF2C:\n" //Jump Table entry 06 109 "BL sub_FF95D978\n" 110 "B loc_FF95EF38\n" 111 "loc_FF95EF34:\n" //Jump Table entry 09 112 "BL sub_FF95F410\n" 113 "loc_FF95EF38:\n" 114 "LDR R1, [SP, #4]\n" 115 "LDR R3, =0xFF95D6D8\n" 116 "STR R5, [R1]\n" 117 "STR R9, [SP]\n" 118 "LDR R0, [R4, #0x28]\n" 119 "MOV R2, R10\n" 120 "BL sub_003F7B90\n" 121 "B loc_FF95EE14\n" 122 ); 123 } 124 125 //This function was used to take values for set_quality 126 //** sub_FF95E72C_my @ 0xFF95E7B8 127 /* 128 void __attribute__((naked,noinline)) sub_FF95E7B8_my( ) { 129 asm volatile ( 130 "STMFD SP!, {R4-R11,LR}\n" 131 "SUB SP, SP, #0x64\n" 132 "MOV R9, #0\n" 133 "LDR R6, =0x63E0\n" 134 "STR R9, [SP, #0x54]\n" 135 "STR R9, [SP, #0x4C]\n" 136 "STR R9, [R6, #0xB8]\n" 137 "STR R9, [R6, #0xBC]\n" 138 "STR R9, [R6, #0xC0]\n" 139 "STR R9, [R6, #0xC4]\n" 140 "MOV R4, R0\n" 141 "STR R9, [R6, #0xC8]\n" 142 "LDR R0, [R6, #0x44]\n" 143 "MOV R11, #4\n" 144 "CMP R0, #3\n" 145 "STREQ R11, [R6, #0x44]\n" 146 "LDR R0, [R6, #0xB4]\n" 147 "MOV R8, R9\n" 148 "MOV R5, #1\n" 149 "MOV R7, R9\n" 150 "BLX R0\n" 151 "LDR R0, [R6, #0x44]\n" 152 "CMP R0, #6\n" 153 "BEQ loc_FF95E82C\n" 154 "LDR R1, [R6, #0xC]\n" 155 "CMP R1, #2\n" 156 "BNE loc_FF95E854\n" 157 "CMP R0, #5\n" 158 "BEQ loc_FF95E864\n" 159 "loc_FF95E82C:\n" 160 "LDR R2, =0xFF95E68C\n" 161 "LDR R1, =0xFF95E6F0\n" 162 "LDR R0, =0xFF95E754\n" 163 "MOV R7, #1\n" 164 "ADD R3, SP, #0x30\n" 165 "BL sub_FF84BA14\n" 166 "LDR R0, [R6, #0x44]\n" 167 "CMP R0, #4\n" 168 "MOVNE R5, #0\n" 169 "B loc_FF95E874\n" 170 "loc_FF95E854:\n" 171 "CMP R0, #4\n" 172 "BEQ loc_FF95E874\n" 173 "CMP R1, #2\n" 174 "BNE loc_FF95E86C\n" 175 "loc_FF95E864:\n" 176 "MOV R0, #0\n" 177 "BL sub_FF84BA80\n" 178 "loc_FF95E86C:\n" 179 "ADD SP, SP, #0x64\n" 180 "LDMFD SP!, {R4-R11,PC}\n" 181 "loc_FF95E874:\n" 182 "LDRH R0, [R6, #6]\n" 183 "CMP R0, #3\n" 184 "BNE loc_FF95E8A8\n" 185 "LDR R0, [R6, #0xCC]\n" 186 "CMP R0, #0\n" 187 "LDREQ R1, =0x8E8\n" 188 "LDREQ R0, =0xFF95D6D8\n" 189 "BLEQ _DebugAssert \n" 190 "LDR R0, [R6, #0x6C]\n" 191 "LDR R1, [R6, #0xCC]\n" 192 "BL sub_003FC934\n" 193 "CMP R1, #0\n" 194 "MOVNE R5, #0\n" 195 "loc_FF95E8A8:\n" 196 "LDR R0, [R6, #0x44]\n" 197 "CMP R0, #6\n" 198 "CMPNE R0, #1\n" 199 "CMPNE R0, #3\n" 200 "BNE loc_FF95E8EC\n" 201 "CMP R7, #1\n" 202 "CMPEQ R5, #0\n" 203 "BNE loc_FF95E8EC\n" 204 "BL sub_FF84BA38\n" 205 "LDR R0, [R6, #0x18]\n" 206 "MOV R1, #0x3E8\n" 207 "BL _TakeSemaphore \n" 208 "CMP R0, #9\n" 209 "BNE loc_FF95ED58\n" 210 "MOV R0, #0x90000\n" 211 "BL sub_FF835FA4\n" 212 "B loc_FF95E86C\n" 213 "loc_FF95E8EC:\n" 214 "CMP R5, #1\n" 215 "MOV R10, #1\n" 216 "BNE loc_FF95E914\n" 217 "ADD R3, SP, #0x4C\n" 218 "ADD R2, SP, #0x50\n" 219 "ADD R1, SP, #0x54\n" 220 "ADD R0, SP, #0x58\n" 221 "BL sub_FFA6D6F8\n" 222 "MOVS R9, R0\n" 223 "BNE loc_FF95E930\n" 224 "loc_FF95E914:\n" 225 "LDR R0, [R6, #0x34]\n" 226 "CMP R0, #1\n" 227 "BNE loc_FF95EAAC\n" 228 "LDR R0, [R6, #0x6C]\n" 229 "LDR R1, [R6, #0x48]\n" 230 "CMP R0, R1\n" 231 "BCC loc_FF95EAAC\n" 232 "loc_FF95E930:\n" 233 "CMP R9, #0x80000001\n" 234 "STREQ R11, [R6, #0x70]\n" 235 "BEQ loc_FF95E968\n" 236 "CMP R9, #0x80000003\n" 237 "STREQ R10, [R6, #0x70]\n" 238 "BEQ loc_FF95E968\n" 239 "CMP R9, #0x80000005\n" 240 "MOVEQ R0, #2\n" 241 "BEQ loc_FF95E964\n" 242 "CMP R9, #0x80000007\n" 243 "STRNE R8, [R6, #0x70]\n" 244 "BNE loc_FF95E968\n" 245 "MOV R0, #3\n" 246 "loc_FF95E964:\n" 247 "STR R0, [R6, #0x70]\n" 248 "loc_FF95E968:\n" 249 "LDR R0, [R6, #0xC]\n" 250 "CMP R0, #2\n" 251 "BNE loc_FF95E9CC\n" 252 "LDR R0, =0xFF95E680\n" 253 "MOV R1, #0\n" 254 "BL sub_FFA38D70\n" 255 "LDR R1, [R6, #0x64]\n" 256 "LDR R2, =0xAAEA8\n" 257 "ADD R3, SP, #0x5C\n" 258 "ADD R0, SP, #0x30\n" 259 "STRD R0, [SP, #0x10]\n" 260 "STRD R2, [SP, #0x18]\n" 261 "LDR R1, [R6, #0x84]\n" 262 "LDR R2, [R6, #0x88]\n" 263 "MVN R3, #1\n" 264 "ADD R0, SP, #0x60\n" 265 "STMEA SP, {R0-R3}\n" 266 "MOV R3, #0\n" 267 "LDR R0, =0xAAF08\n" 268 "MOV R2, R3\n" 269 "MOV R1, #0x40\n" 270 "BL sub_FFA38CC4\n" 271 "B loc_FF95EA24\n" 272 "loc_FF95E9C4:\n" 273 "MOV R1, #1\n" 274 "B loc_FF95EC9C\n" 275 "loc_FF95E9CC:\n" 276 "BL sub_FF95F4E0\n" 277 "LDR R2, [R6, #0x64]\n" 278 "ADD R3, SP, #0x5C\n" 279 "MVN R1, #1\n" 280 "MOV R0, #0\n" 281 "ADD R5, SP, #0x1C\n" 282 "STMIA R5, {R0-R3}\n" 283 "LDR R3, [R4, #0x1C]\n" 284 "LDR R1, [R6, #0x84]\n" 285 "LDR R2, [R6, #0x88]\n" 286 "ADD R0, SP, #0x60\n" 287 "ADD R4, SP, #0xC\n" 288 "STMIA R4, {R0-R3}\n" 289 "MOV R3, #0\n" 290 "MOV R1, #0x40\n" 291 "STMEA SP, {R1,R3}\n" 292 "MOV R2, #0\n" 293 "STR R3, [SP, #8]\n" 294 "LDR R3, =0xAAF08\n" 295 "MOV R1, R2\n" 296 "MOV R0, R2\n" 297 "BL sub_FFA379B4\n" 298 "loc_FF95EA24:\n" 299 "LDR R0, [R6, #0x18]\n" 300 "LDR R1, [R6, #0x60]\n" 301 "BL _TakeSemaphore \n" 302 "CMP R0, #9\n" 303 "BEQ loc_FF95E9C4\n" 304 "LDR R0, [SP, #0x5C]\n" 305 "CMP R0, #0\n" 306 "BEQ loc_FF95EA4C\n" 307 "loc_FF95EA44:\n" 308 "MOV R1, #1\n" 309 "B loc_FF95ECB4\n" 310 "loc_FF95EA4C:\n" 311 "LDR R0, [R6, #0xC]\n" 312 "MOV R4, #5\n" 313 "CMP R0, #2\n" 314 "MOV R0, #1\n" 315 "BNE loc_FF95EA98\n" 316 "BL sub_FFA38D38\n" 317 "BL sub_FFA38D54\n" 318 "BL sub_FF84BA5C\n" 319 "MOV R0, #0\n" 320 "BL sub_FF84BA80\n" 321 "BL sub_FF84BAB0\n" 322 "STR R4, [R6, #0x44]\n" 323 "LDR R0, [R6, #0x64]\n" 324 "CMP R0, #1\n" 325 "BLEQ sub_FFA38D94\n" 326 "BL sub_FF95F4E0\n" 327 "BL sub_FF84BB0C\n" 328 "STR R10, [R6, #0x44]\n" 329 "B loc_FF95EAA4\n" 330 "loc_FF95EA98:\n" 331 "BL sub_FFA37A60\n" 332 "BL sub_FFA37AA8\n" 333 "STR R4, [R6, #0x44]\n" 334 "loc_FF95EAA4:\n" 335 "STR R8, [R6, #0x34]\n" 336 "B loc_FF95E86C\n" 337 "loc_FF95EAAC:\n" 338 "CMP R5, #1\n" 339 "BNE loc_FF95ED50\n" 340 "STR R10, [R6, #0x38]\n" 341 "LDR R0, [R6, #0x6C]\n" 342 "LDR R11, [R4, #0xC]\n" 343 "CMP R0, #0\n" 344 "LDRNE R9, [SP, #0x58]\n" 345 "LDRNE R10, [SP, #0x54]\n" 346 "BNE loc_FF95EBD4\n" 347 "LDR R0, [R6, #0xC]\n" 348 "CMP R0, #2\n" 349 "BNE loc_FF95EB2C\n" 350 "LDR R0, =0xFF95E680\n" 351 "MOV R1, #0\n" 352 "BL sub_FFA38D70\n" 353 "LDR R1, [R6, #0x64]\n" 354 "LDR R2, =0xAAEA8\n" 355 "ADD R3, SP, #0x5C\n" 356 "ADD R0, SP, #0x30\n" 357 "STRD R0, [SP, #0x10]\n" 358 "STRD R2, [SP, #0x18]\n" 359 "LDR R1, [R6, #0x84]\n" 360 "LDR R2, [R6, #0x88]\n" 361 "MVN R3, #0\n" 362 "ADD R0, SP, #0x60\n" 363 "STMEA SP, {R0-R3}\n" 364 "LDR R0, [SP, #0x58]\n" 365 "LDR R1, [SP, #0x54]\n" 366 "LDR R2, [SP, #0x50]\n" 367 "LDR R3, [SP, #0x4C]\n" 368 "BL sub_FFA38CC4\n" 369 "B loc_FF95EB80\n" 370 "loc_FF95EB2C:\n" 371 "LDR R0, [R4, #0x20]\n" 372 "LDR R2, [R6, #0x64]\n" 373 "ADD R3, SP, #0x5C\n" 374 "MVN R1, #0\n" 375 "ADD R9, SP, #0x1C\n" 376 "STMIA R9, {R0-R3}\n" 377 "LDR R3, [R4, #0x1C]\n" 378 "LDR R1, [R6, #0x84]\n" 379 "LDR R2, [R6, #0x88]\n" 380 "ADD R0, SP, #0x60\n" 381 "ADD R9, SP, #0xC\n" 382 "STMIA R9, {R0-R3}\n" 383 "LDR R1, [SP, #0x50]\n" 384 "LDR R2, [SP, #0x54]\n" 385 "LDR R3, [SP, #0x4C]\n" 386 "STMFA SP, {R1,R3}\n" 387 "STR R2, [SP]\n" 388 "LDMIB R4, {R0,R1}\n" 389 "LDR R3, [SP, #0x58]\n" 390 "MOV R2, R11\n" 391 "BL sub_FFA379B4\n" 392 "loc_FF95EB80:\n" 393 "LDR R0, [R6, #0x18]\n" 394 "LDR R1, [R6, #0x60]\n" 395 "BL _TakeSemaphore \n" 396 "CMP R0, #9\n" 397 "BEQ loc_FF95E9C4\n" 398 "LDR R0, [SP, #0x5C]\n" 399 "CMP R0, #0\n" 400 "BNE loc_FF95EA44\n" 401 "LDR R0, [R6, #0xC]\n" 402 "CMP R0, #2\n" 403 "MOV R0, #1\n" 404 "BNE loc_FF95EBB8\n" 405 "BL sub_FFA38D38\n" 406 "B loc_FF95EBBC\n" 407 "loc_FF95EBB8:\n" 408 "BL sub_FFA37A60\n" 409 "loc_FF95EBBC:\n" 410 "STR R8, [R6, #0xC4]\n" 411 "LDR R0, [SP, #0x60]\n" 412 "LDR R1, [SP, #0x58]\n" 413 "ADD R9, R1, R0\n" 414 "LDR R1, [SP, #0x54]\n" 415 "SUB R10, R1, R0\n" 416 "loc_FF95EBD4:\n" 417 "LDR R0, [R6, #0xC]\n" 418 "CMP R0, #2\n" 419 "BNE loc_FF95EC34\n" 420 "LDR R0, =0xFF95E368\n" 421 "MOV R1, #0\n" 422 "BL sub_FFA38D70\n" 423 "LDR R1, [R6, #0x64]\n" 424 "LDR R2, =0xAAEA8\n" 425 "ADD R0, SP, #0x30\n" 426 "ADD R3, SP, #0x5C\n" 427 "STRD R0, [SP, #0x10]\n" 428 "STRD R2, [SP, #0x18]\n" 429 "LDR R1, [R6, #0x84]\n" 430 "LDR R2, [R6, #0x88]\n" 431 "LDR R3, [R6, #0x68]\n" 432 "ADD R0, SP, #0x60\n" 433 "STMEA SP, {R0-R3}\n" 434 "LDR R2, [SP, #0x50]\n" 435 "LDR R3, [SP, #0x4C]\n" 436 "MOV R1, R10\n" 437 "MOV R0, R9\n" 438 "BL sub_FFA38CC4\n" 439 "BL sub_FF84BA38\n" 440 "B loc_FF95EC84\n" 441 "loc_FF95EC34:\n" 442 "LDR R0, [R4, #0x20]\n" 443 "LDR R1, [R6, #0x68]\n" 444 "LDR R2, [R6, #0x64]\n" 445 "ADD R3, SP, #0x5C\n" 446 "ADD R12, SP, #0x1C\n" 447 "STMIA R12, {R0-R3}\n" 448 "LDR R3, [R4, #0x1C]\n" 449 "LDR R1, [R6, #0x84]\n" 450 "LDR R2, [R6, #0x88]\n" 451 "ADD R0, SP, #0x60\n" 452 "ADD R12, SP, #0xC\n" 453 "STMIA R12, {R0-R3}\n" 454 "LDR R2, [SP, #0x50]\n" 455 "LDR R3, [SP, #0x4C]\n" 456 "STMFA SP, {R2,R3}\n" 457 "STR R10, [SP]\n" 458 "LDMIB R4, {R0,R1}\n" 459 "MOV R3, R9\n" 460 "MOV R2, R11\n" 461 "BL sub_FFA379B4\n" 462 "loc_FF95EC84:\n" 463 "LDR R0, [R6, #0x18]\n" 464 "LDR R1, [R6, #0x60]\n" 465 "BL _TakeSemaphore \n" 466 "CMP R0, #9\n" 467 "BNE loc_FF95ECA4\n" 468 "MOV R1, #0\n" 469 "loc_FF95EC9C:\n" 470 "MOV R0, #0x90000\n" 471 "B loc_FF95ECB8\n" 472 "loc_FF95ECA4:\n" 473 "LDR R0, [SP, #0x5C]\n" 474 "CMP R0, #0\n" 475 "BEQ loc_FF95ECC0\n" 476 "MOV R1, #0\n" 477 "loc_FF95ECB4:\n" 478 "MOV R0, #0xA0000\n" 479 "loc_FF95ECB8:\n" 480 "BL sub_FF95E610\n" 481 "B loc_FF95E86C\n" 482 "loc_FF95ECC0:\n" 483 "LDR R0, [R6, #0xC]\n" 484 "CMP R0, #2\n" 485 "MOV R0, #0\n" 486 "BNE loc_FF95ECD8\n" 487 "BL sub_FFA38D38\n" 488 "B loc_FF95ECDC\n" 489 "loc_FF95ECD8:\n" 490 "BL sub_FFA37A60\n" 491 "loc_FF95ECDC:\n" 492 "LDR R0, [SP, #0x58]\n" 493 "LDR R1, [SP, #0x60]\n" 494 "BL sub_FFA6D920\n" 495 "LDR R0, [R6, #0x68]\n" 496 "LDR R3, =0x6468\n" // <- 6468 497 "ADD R1, R0, #1\n" 498 "STR R1, [R6, #0x68]\n" 499 "LDR R0, [SP, #0x60]\n" 500 "SUB R2, R3, #4\n" // <- -4 501 "BL sub_FFA6B194\n" 502 #if 0 503 "LDR R0, =0x6464 \n" // added, 0x6468-0x4 504 "BL set_quality \n" // added 505 #endif 506 "LDR R0, [R6, #0x64]\n" 507 "CMP R0, #1\n" 508 "BNE loc_FF95ED50\n" 509 "ADD R0, SP, #0x48\n" 510 "BL sub_FFA38DF4\n" 511 "LDR R1, =0xAAE78\n" 512 "LDR R0, [R1, #4]\n" 513 "LDR R1, [R1]\n" 514 "SUB R2, R0, #0x400\n" 515 "SUBS R2, R2, #0x38\n" 516 "ADDEQ R0, R0, #8\n" 517 "MOV R1, R1, LSR #4\n" 518 "MOV R0, R0, LSR #4\n" 519 "MUL R1, R0, R1\n" 520 "LDR R0, [SP, #0x48]\n" 521 "BL sub_003FC934\n" 522 "LDR R1, =0xAAEA8\n" 523 "STR R0, [SP, #0x48]\n" 524 "BL sub_FFA6B4C4\n" 525 "loc_FF95ED50:\n" 526 "CMP R7, #1\n" 527 "BNE loc_FF95ED64\n" 528 "loc_FF95ED58:\n" 529 "BL sub_FF84BA5C\n" 530 "MOV R0, #1\n" 531 "BL sub_FF84BA80\n" 532 "loc_FF95ED64:\n" 533 "CMP R5, #1\n" 534 "LDRNEH R0, [R6, #6]\n" 535 "CMPNE R0, #3\n" 536 "BNE loc_FF95E86C\n" 537 "LDR R0, [R6, #0x6C]\n" 538 "ADD R0, R0, #1\n" 539 "STR R0, [R6, #0x6C]\n" 540 "LDRH R1, [R6, #6]\n" 541 "CMP R1, #3\n" 542 "LDRNE R1, [R6, #0x54]\n" 543 "MULNE R0, R1, R0\n" 544 "LDRNE R1, [R6, #0x50]\n" 545 "BNE loc_FF95EDB4\n" 546 "LDR R1, [R6, #0x58]\n" 547 "CMP R1, #0x19\n" 548 "LDRNE R1, =0x3E9\n" 549 "MOVEQ R1, #0x3E8\n" 550 "MUL R0, R1, R0\n" 551 "LDRNE R1, =0x1770\n" 552 "LDREQ R1, =0x1388\n" 553 "loc_FF95EDB4:\n" 554 "BL sub_003FC934\n" 555 "MOV R4, R0\n" 556 "BL sub_FFA6DCB4\n" 557 "LDR R0, [R6, #0x8C]\n" 558 "CMP R0, R4\n" 559 "BNE loc_FF95EDD8\n" 560 "LDR R0, [R6, #0x3C]\n" 561 "CMP R0, #1\n" 562 "BNE loc_FF95EDEC\n" 563 "loc_FF95EDD8:\n" 564 "LDR R1, [R6, #0x98]\n" 565 "MOV R0, R4\n" 566 "BLX R1\n" 567 "STR R4, [R6, #0x8C]\n" 568 "STR R8, [R6, #0x3C]\n" 569 "loc_FF95EDEC:\n" 570 "STR R8, [R6, #0x38]\n" 571 "B loc_FF95E86C\n" 572 ); 573 }