| | 257 | /*************************************************************/ |
|---|
| | 258 | void __attribute__((naked,noinline)) exp_drv_task(){ |
|---|
| | 259 | asm volatile( |
|---|
| | 260 | " STMFD SP!, {R4-R8,LR}\n" |
|---|
| | 261 | " SUB SP, SP, #0x20\n" |
|---|
| | 262 | " ADD R7, SP, #4\n" |
|---|
| | 263 | " B loc_FFD1B328\n" |
|---|
| | 264 | "loc_FFD1AE28:\n" |
|---|
| | 265 | " CMP R2, #0x22\n" |
|---|
| | 266 | " BNE loc_FFD1AE40\n" |
|---|
| | 267 | " LDR R0, [R12,#0x8C]\n" |
|---|
| | 268 | " MOV LR, PC\n" |
|---|
| | 269 | " LDR PC, [R12,#0x88]\n" |
|---|
| | 270 | " B loc_FFD1AEA4\n" |
|---|
| | 271 | "loc_FFD1AE40:\n" |
|---|
| | 272 | " CMP R2, #0x1D\n" |
|---|
| | 273 | " BNE loc_FFD1AE54\n" |
|---|
| | 274 | " MOV R0, R12\n" |
|---|
| | 275 | " BL sub_FFD1ACE8\n" |
|---|
| | 276 | " B loc_FFD1AE94\n" |
|---|
| | 277 | "loc_FFD1AE54:\n" |
|---|
| | 278 | " CMP R2, #0x1E\n" |
|---|
| | 279 | " BNE loc_FFD1AE68\n" |
|---|
| | 280 | " MOV R0, R12\n" |
|---|
| | 281 | " BL sub_FFD1AD44\n" |
|---|
| | 282 | " B loc_FFD1AE94\n" |
|---|
| | 283 | "loc_FFD1AE68:\n" |
|---|
| | 284 | " SUB R3, R2, #0x1F\n" |
|---|
| | 285 | " CMP R3, #1\n" |
|---|
| | 286 | " BHI loc_FFD1AE80\n" |
|---|
| | 287 | " MOV R0, R12\n" |
|---|
| | 288 | " BL sub_FFD1ADA0\n" |
|---|
| | 289 | " B loc_FFD1AE94\n" |
|---|
| | 290 | "loc_FFD1AE80:\n" |
|---|
| | 291 | " CMP R2, #0x21\n" |
|---|
| | 292 | " BNE loc_FFD1AEB0\n" |
|---|
| | 293 | " BL sub_FFCE1DB4\n" |
|---|
| | 294 | " BL sub_FFCE4EEC\n" |
|---|
| | 295 | " BL sub_FFCE4124\n" |
|---|
| | 296 | "loc_FFD1AE94:\n" |
|---|
| | 297 | " LDR R3, [SP,#4]\n" |
|---|
| | 298 | " LDR R0, [R3,#0x8C]\n" |
|---|
| | 299 | " MOV LR, PC\n" |
|---|
| | 300 | " LDR PC, [R3,#0x88]\n" |
|---|
| | 301 | "loc_FFD1AEA4:\n" |
|---|
| | 302 | " LDR R0, [SP,#4]\n" |
|---|
| | 303 | " BL sub_FFD1683C\n" |
|---|
| | 304 | " B loc_FFD1B328\n" |
|---|
| | 305 | "loc_FFD1AEB0:\n" |
|---|
| | 306 | " CMP R2, #0xD\n" |
|---|
| | 307 | " MOV R8, #1\n" |
|---|
| | 308 | " BNE loc_FFD1AF20\n" |
|---|
| | 309 | " LDR R1, [R12,#0x7C]\n" |
|---|
| | 310 | " ADD R1, R1, R1,LSL#1\n" |
|---|
| | 311 | " ADD R1, R12, R1,LSL#2\n" |
|---|
| | 312 | " ADD R6, SP, #0x14\n" |
|---|
| | 313 | " SUB R1, R1, #8\n" |
|---|
| | 314 | " MOV R2, #0xC\n" |
|---|
| | 315 | " MOV R0, R6\n" |
|---|
| | 316 | " BL _memcpy\n" |
|---|
| | 317 | " LDR R0, [SP,#4]\n" |
|---|
| | 318 | " BL sub_FFD192EC\n" |
|---|
| | 319 | " LDR R3, [SP,#4]\n" |
|---|
| | 320 | " LDR R1, [R3,#0x7C]\n" |
|---|
| | 321 | " LDR R2, [R3,#0x8C]\n" |
|---|
| | 322 | " ADD R0, R3, #4\n" |
|---|
| | 323 | " MOV LR, PC\n" |
|---|
| | 324 | " LDR PC, [R3,#0x88]\n" |
|---|
| | 325 | " LDR R0, [SP,#4]\n" |
|---|
| | 326 | " BL sub_FFD195BC\n" |
|---|
| | 327 | " LDR R3, [SP,#4]\n" |
|---|
| | 328 | " ADD R0, R3, #4\n" |
|---|
| | 329 | " LDR R1, [R3,#0x7C]\n" |
|---|
| | 330 | " LDR R2, [R3,#0x94]\n" |
|---|
| | 331 | " MOV LR, PC\n" |
|---|
| | 332 | " LDR PC, [R3,#0x90]\n" |
|---|
| | 333 | " B loc_FFD1B270\n" |
|---|
| | 334 | "loc_FFD1AF20:\n" |
|---|
| | 335 | " SUB R3, R2, #0xE\n" |
|---|
| | 336 | " CMP R3, #1\n" |
|---|
| | 337 | " BHI loc_FFD1AFDC\n" |
|---|
| | 338 | " ADD R6, SP, #0x14\n" |
|---|
| | 339 | " ADD R5, SP, #8\n" |
|---|
| | 340 | " MOV R0, R12\n" |
|---|
| | 341 | " MOV R1, R6\n" |
|---|
| | 342 | " MOV R2, R5\n" |
|---|
| | 343 | " BL sub_FFD196B0\n" |
|---|
| | 344 | " MOV R4, R0\n" |
|---|
| | 345 | " CMP R4, #5\n" |
|---|
| | 346 | " CMPNE R4, #1\n" |
|---|
| | 347 | " BNE loc_FFD1AF74\n" |
|---|
| | 348 | " LDR R12, [SP,#4]\n" |
|---|
| | 349 | " MOV R0, R5\n" |
|---|
| | 350 | " LDR R1, [R12,#0x7C]\n" |
|---|
| | 351 | " MOV R2, R4\n" |
|---|
| | 352 | " LDR R3, [R12,#0x8C]\n" |
|---|
| | 353 | " MOV LR, PC\n" |
|---|
| | 354 | " LDR PC, [R12,#0x88]\n" |
|---|
| | 355 | " B loc_FFD1AFAC\n" |
|---|
| | 356 | "loc_FFD1AF74:\n" |
|---|
| | 357 | " CMP R4, #6\n" |
|---|
| | 358 | " CMPNE R4, #2\n" |
|---|
| | 359 | " BNE loc_FFD1AFBC\n" |
|---|
| | 360 | " LDR R12, [SP,#4]\n" |
|---|
| | 361 | " MOV R0, R5\n" |
|---|
| | 362 | " MOV R1, R8\n" |
|---|
| | 363 | " MOV R2, R4\n" |
|---|
| | 364 | " LDR R3, [R12,#0x8C]\n" |
|---|
| | 365 | " MOV LR, PC\n" |
|---|
| | 366 | " LDR PC, [R12,#0x88]\n" |
|---|
| | 367 | " MOV R1, R6\n" |
|---|
| | 368 | " LDR R0, [SP,#4]\n" |
|---|
| | 369 | " MOV R2, R5\n" |
|---|
| | 370 | " BL sub_FFD1A948\n" |
|---|
| | 371 | "loc_FFD1AFAC:\n" |
|---|
| | 372 | " MOV R1, R4\n" |
|---|
| | 373 | " LDR R0, [SP,#4]\n" |
|---|
| | 374 | " BL sub_FFD1AC7C\n" |
|---|
| | 375 | " B loc_FFD1B270\n" |
|---|
| | 376 | "loc_FFD1AFBC:\n" |
|---|
| | 377 | " LDR R12, [SP,#4]\n" |
|---|
| | 378 | " MOV R2, R4\n" |
|---|
| | 379 | " ADD R0, R12, #4\n" |
|---|
| | 380 | " LDR R1, [R12,#0x7C]\n" |
|---|
| | 381 | " LDR R3, [R12,#0x8C]\n" |
|---|
| | 382 | " MOV LR, PC\n" |
|---|
| | 383 | " LDR PC, [R12,#0x88]\n" |
|---|
| | 384 | " B loc_FFD1B270\n" |
|---|
| | 385 | "loc_FFD1AFDC:\n" |
|---|
| | 386 | " SUB R3, R2, #0x19\n" |
|---|
| | 387 | " CMP R3, #1\n" |
|---|
| | 388 | " BHI loc_FFD1B034\n" |
|---|
| | 389 | " LDR R1, [R12,#0x7C]\n" |
|---|
| | 390 | " ADD R1, R1, R1,LSL#1\n" |
|---|
| | 391 | " ADD R1, R12, R1,LSL#2\n" |
|---|
| | 392 | " ADD R6, SP, #0x14\n" |
|---|
| | 393 | " SUB R1, R1, #8\n" |
|---|
| | 394 | " MOV R2, #0xC\n" |
|---|
| | 395 | " MOV R0, R6\n" |
|---|
| | 396 | " BL _memcpy\n" |
|---|
| | 397 | " LDR R0, [SP,#4]\n" |
|---|
| | 398 | " BL sub_FFD187A0\n" |
|---|
| | 399 | " LDR R3, [SP,#4]\n" |
|---|
| | 400 | " ADD R0, R3, #4\n" |
|---|
| | 401 | " LDR R1, [R3,#0x7C]\n" |
|---|
| | 402 | " LDR R2, [R3,#0x8C]\n" |
|---|
| | 403 | " MOV LR, PC\n" |
|---|
| | 404 | " LDR PC, [R3,#0x88]\n" |
|---|
| | 405 | " LDR R0, [SP,#4]\n" |
|---|
| | 406 | " BL sub_FFD18AC0\n" |
|---|
| | 407 | " B loc_FFD1B270\n" |
|---|
| | 408 | "loc_FFD1B034:\n" |
|---|
| | 409 | " ADD R6, SP, #0x14\n" |
|---|
| | 410 | " ADD R1, R12, #4\n" |
|---|
| | 411 | " MOV R2, #0xC\n" |
|---|
| | 412 | " MOV R0, R6\n" |
|---|
| | 413 | " BL _memcpy\n" |
|---|
| | 414 | " LDR R12, [SP,#4]\n" |
|---|
| | 415 | " LDR R3, [R12]\n" |
|---|
| | 416 | " MOV R2, R12\n" |
|---|
| | 417 | " CMP R3, #0x1C\n" |
|---|
| | 418 | " LDRLS PC, [PC,R3,LSL#2]\n" |
|---|
| | 419 | " B loc_FFD1B25C\n" |
|---|
| | 420 | " .long loc_FFD1B0D4\n" |
|---|
| | 421 | " .long loc_FFD1B0E0\n" |
|---|
| | 422 | " .long loc_FFD1B0EC\n" |
|---|
| | 423 | " .long loc_FFD1B0EC\n" |
|---|
| | 424 | " .long loc_FFD1B0D4\n" |
|---|
| | 425 | " .long loc_FFD1B0E0\n" |
|---|
| | 426 | " .long loc_FFD1B0EC\n" |
|---|
| | 427 | " .long loc_FFD1B0EC\n" |
|---|
| | 428 | " .long loc_FFD1B110\n" |
|---|
| | 429 | " .long loc_FFD1B110\n" |
|---|
| | 430 | " .long loc_FFD1B230\n" |
|---|
| | 431 | " .long loc_FFD1B23C\n" |
|---|
| | 432 | " .long loc_FFD1B24C\n" |
|---|
| | 433 | " .long loc_FFD1B25C\n" |
|---|
| | 434 | " .long loc_FFD1B25C\n" |
|---|
| | 435 | " .long loc_FFD1B25C\n" |
|---|
| | 436 | " .long loc_FFD1B0F8\n" |
|---|
| | 437 | " .long loc_FFD1B104\n" |
|---|
| | 438 | " .long loc_FFD1B120\n" |
|---|
| | 439 | " .long loc_FFD1B12C\n" |
|---|
| | 440 | " .long loc_FFD1B164\n" |
|---|
| | 441 | " .long loc_FFD1B19C\n" |
|---|
| | 442 | " .long loc_FFD1B1D4\n" |
|---|
| | 443 | " .long loc_FFD1B20C\n" |
|---|
| | 444 | " .long loc_FFD1B20C\n" |
|---|
| | 445 | " .long loc_FFD1B25C\n" |
|---|
| | 446 | " .long loc_FFD1B25C\n" |
|---|
| | 447 | " .long loc_FFD1B218\n" |
|---|
| | 448 | " .long loc_FFD1B224\n" |
|---|
| | 449 | "loc_FFD1B0D4:\n" |
|---|
| | 450 | " MOV R0, R2\n" |
|---|
| | 451 | " BL sub_FFD1719C\n" |
|---|
| | 452 | " B loc_FFD1B258\n" |
|---|
| | 453 | "loc_FFD1B0E0:\n" |
|---|
| | 454 | " MOV R0, R2\n" |
|---|
| | 455 | " BL sub_FFD17440\n" |
|---|
| | 456 | " B loc_FFD1B258\n" |
|---|
| | 457 | "loc_FFD1B0EC:\n" |
|---|
| | 458 | " MOV R0, R2\n" |
|---|
| | 459 | " BL sub_FFD176B4\n" |
|---|
| | 460 | " B loc_FFD1B258\n" |
|---|
| | 461 | "loc_FFD1B0F8:\n" |
|---|
| | 462 | " MOV R0, R2\n" |
|---|
| | 463 | " BL sub_FFD179B0\n" |
|---|
| | 464 | " B loc_FFD1B258\n" |
|---|
| | 465 | "loc_FFD1B104:\n" |
|---|
| | 466 | " MOV R0, R2\n" |
|---|
| | 467 | " BL sub_FFD17C18\n" |
|---|
| | 468 | " B loc_FFD1B258\n" |
|---|
| | 469 | "loc_FFD1B110:\n" |
|---|
| | 470 | " MOV R0, R2\n" |
|---|
| | 471 | " BL sub_FFD17E18_my\n" // -> |
|---|
| | 472 | " MOV R8, #0\n" |
|---|
| | 473 | " B loc_FFD1B258\n" |
|---|
| | 474 | "loc_FFD1B120:\n" |
|---|
| | 475 | " MOV R0, R2\n" |
|---|
| | 476 | " BL sub_FFD17F78\n" |
|---|
| | 477 | " B loc_FFD1B258\n" |
|---|
| | 478 | "loc_FFD1B12C:\n" |
|---|
| | 479 | " LDRH R1, [R2,#4]\n" |
|---|
| | 480 | " LDR R3, =0x2ABF0\n" |
|---|
| | 481 | " STRH R1, [SP,#0x14]\n" |
|---|
| | 482 | " LDRH R1, [R3,#6]\n" |
|---|
| | 483 | " STRH R1, [SP,#0x1A]\n" |
|---|
| | 484 | " LDRH R1, [R3,#2]\n" |
|---|
| | 485 | " STRH R1, [SP,#0x16]\n" |
|---|
| | 486 | " LDRH R3, [R3,#4]\n" |
|---|
| | 487 | " STRH R3, [SP,#0x18]\n" |
|---|
| | 488 | " MOV R0, R2\n" |
|---|
| | 489 | " LDRH R2, [R2,#0xC]\n" |
|---|
| | 490 | " STRH R2, [SP,#0x1C]\n" |
|---|
| | 491 | " BL sub_FFD18270\n" |
|---|
| | 492 | " B loc_FFD1B258\n" |
|---|
| | 493 | "loc_FFD1B164:\n" |
|---|
| | 494 | " MOV R0, R2\n" |
|---|
| | 495 | " LDRH R2, [R2,#4]\n" |
|---|
| | 496 | " LDR R3, =0x2ABF0\n" |
|---|
| | 497 | " STRH R2, [SP,#0x14]\n" |
|---|
| | 498 | " LDRH R2, [R3,#8]\n" |
|---|
| | 499 | " STRH R2, [SP,#0x1C]\n" |
|---|
| | 500 | " LDRH R1, [R3,#2]\n" |
|---|
| | 501 | " STRH R1, [SP,#0x16]\n" |
|---|
| | 502 | " LDRH R2, [R3,#4]\n" |
|---|
| | 503 | " STRH R2, [SP,#0x18]\n" |
|---|
| | 504 | " LDRH R3, [R3,#6]\n" |
|---|
| | 505 | " STRH R3, [SP,#0x1A]\n" |
|---|
| | 506 | " BL sub_FFD18398\n" |
|---|
| | 507 | " B loc_FFD1B258\n" |
|---|
| | 508 | "loc_FFD1B19C:\n" |
|---|
| | 509 | " LDR R3, =0x2ABF0\n" |
|---|
| | 510 | " LDRH R1, [R3]\n" |
|---|
| | 511 | " STRH R1, [SP,#0x14]\n" |
|---|
| | 512 | " MOV R0, R2\n" |
|---|
| | 513 | " LDRH R2, [R2,#6]\n" |
|---|
| | 514 | " STRH R2, [SP,#0x16]\n" |
|---|
| | 515 | " LDRH R2, [R3,#8]\n" |
|---|
| | 516 | " STRH R2, [SP,#0x1C]\n" |
|---|
| | 517 | " LDRH R1, [R3,#4]\n" |
|---|
| | 518 | " STRH R1, [SP,#0x18]\n" |
|---|
| | 519 | " LDRH R3, [R3,#6]\n" |
|---|
| | 520 | " STRH R3, [SP,#0x1A]\n" |
|---|
| | 521 | " BL sub_FFD1845C\n" |
|---|
| | 522 | " B loc_FFD1B258\n" |
|---|
| | 523 | "loc_FFD1B1D4:\n" |
|---|
| | 524 | " LDR R3, =0x2ABF0\n" |
|---|
| | 525 | " LDRH R1, [R3,#6]\n" |
|---|
| | 526 | " STRH R1, [SP,#0x1A]\n" |
|---|
| | 527 | " LDRH R1, [R3]\n" |
|---|
| | 528 | " STRH R1, [SP,#0x14]\n" |
|---|
| | 529 | " LDRH R1, [R3,#2]\n" |
|---|
| | 530 | " STRH R1, [SP,#0x16]\n" |
|---|
| | 531 | " LDRH R3, [R3,#4]\n" |
|---|
| | 532 | " STRH R3, [SP,#0x18]\n" |
|---|
| | 533 | " MOV R0, R2\n" |
|---|
| | 534 | " LDRH R2, [R2,#0xC]\n" |
|---|
| | 535 | " STRH R2, [SP,#0x1C]\n" |
|---|
| | 536 | " BL sub_FFD18514\n" |
|---|
| | 537 | " B loc_FFD1B258\n" |
|---|
| | 538 | "loc_FFD1B20C:\n" |
|---|
| | 539 | " MOV R0, R2\n" |
|---|
| | 540 | " BL sub_FFD185C4\n" |
|---|
| | 541 | " B loc_FFD1B258\n" |
|---|
| | 542 | "loc_FFD1B218:\n" |
|---|
| | 543 | " MOV R0, R2\n" |
|---|
| | 544 | " BL sub_FFD18C0C\n" |
|---|
| | 545 | " B loc_FFD1B258\n" |
|---|
| | 546 | "loc_FFD1B224:\n" |
|---|
| | 547 | " MOV R0, R2\n" |
|---|
| | 548 | " BL sub_FFD18E08\n" |
|---|
| | 549 | " B loc_FFD1B258\n" |
|---|
| | 550 | "loc_FFD1B230:\n" |
|---|
| | 551 | " MOV R0, R2\n" |
|---|
| | 552 | " BL sub_FFD18FC4\n" |
|---|
| | 553 | " B loc_FFD1B258\n" |
|---|
| | 554 | "loc_FFD1B23C:\n" |
|---|
| | 555 | " MOV R0, R2\n" |
|---|
| | 556 | " MOV R1, #0\n" |
|---|
| | 557 | " BL sub_FFD191AC\n" |
|---|
| | 558 | " B loc_FFD1B258\n" |
|---|
| | 559 | "loc_FFD1B24C:\n" |
|---|
| | 560 | " MOV R0, R2\n" |
|---|
| | 561 | " MOV R1, #1\n" |
|---|
| | 562 | " BL sub_FFD191AC\n" |
|---|
| | 563 | "loc_FFD1B258:\n" |
|---|
| | 564 | " LDR R12, [SP,#4]\n" |
|---|
| | 565 | "loc_FFD1B25C:\n" |
|---|
| | 566 | " ADD R0, R12, #4\n" |
|---|
| | 567 | " LDR R1, [R12,#0x7C]\n" |
|---|
| | 568 | " LDR R2, [R12,#0x8C]\n" |
|---|
| | 569 | " MOV LR, PC\n" |
|---|
| | 570 | " LDR PC, [R12,#0x88]\n" |
|---|
| | 571 | "loc_FFD1B270:\n" |
|---|
| | 572 | " CMP R8, #1\n" |
|---|
| | 573 | " BNE loc_FFD1B298\n" |
|---|
| | 574 | " LDR R1, [SP,#4]\n" |
|---|
| | 575 | " LDR R3, [R1,#0x7C]\n" |
|---|
| | 576 | " ADD R3, R3, R3,LSL#1\n" |
|---|
| | 577 | " ADD R1, R1, R3,LSL#2\n" |
|---|
| | 578 | " MOV R0, R6\n" |
|---|
| | 579 | " SUB R1, R1, #8\n" |
|---|
| | 580 | " BL sub_FFD16E54\n" |
|---|
| | 581 | " B loc_FFD1B314\n" |
|---|
| | 582 | "loc_FFD1B298:\n" |
|---|
| | 583 | " LDR R3, [SP,#4]\n" |
|---|
| | 584 | " LDR R2, [R3]\n" |
|---|
| | 585 | " CMP R2, #9\n" |
|---|
| | 586 | " BNE loc_FFD1B2E0\n" |
|---|
| | 587 | " MOV R4, #0\n" |
|---|
| | 588 | " MOV R1, #1\n" |
|---|
| | 589 | " MOV R2, R1\n" |
|---|
| | 590 | " MOV R3, R1\n" |
|---|
| | 591 | " MOV R0, R4\n" |
|---|
| | 592 | " STR R4, [SP]\n" |
|---|
| | 593 | " BL sub_FFD16D98\n" |
|---|
| | 594 | " MOV R1, #1\n" |
|---|
| | 595 | " MOV R0, R4\n" |
|---|
| | 596 | " MOV R2, R1\n" |
|---|
| | 597 | " MOV R3, R1\n" |
|---|
| | 598 | " STR R4, [SP]\n" |
|---|
| | 599 | " BL sub_FFD16FF0\n" |
|---|
| | 600 | " B loc_FFD1B314\n" |
|---|
| | 601 | "loc_FFD1B2E0:\n" |
|---|
| | 602 | " MOV R4, #1\n" |
|---|
| | 603 | " MOV R0, R4\n" |
|---|
| | 604 | " MOV R1, R4\n" |
|---|
| | 605 | " MOV R2, R4\n" |
|---|
| | 606 | " MOV R3, R4\n" |
|---|
| | 607 | " STR R4, [SP]\n" |
|---|
| | 608 | " BL sub_FFD16D98\n" |
|---|
| | 609 | " MOV R0, R4\n" |
|---|
| | 610 | " MOV R1, R0\n" |
|---|
| | 611 | " MOV R2, R0\n" |
|---|
| | 612 | " MOV R3, R0\n" |
|---|
| | 613 | " STR R4, [SP]\n" |
|---|
| | 614 | " BL sub_FFD16FF0\n" |
|---|
| | 615 | "loc_FFD1B314:\n" |
|---|
| | 616 | " LDR R2, =0x2AC3C\n" |
|---|
| | 617 | " MOV R3, #0\n" |
|---|
| | 618 | " LDR R0, [SP,#4]\n" |
|---|
| | 619 | " STR R3, [R2]\n" |
|---|
| | 620 | " BL sub_FFD1683C\n" |
|---|
| | 621 | "loc_FFD1B328:\n" |
|---|
| | 622 | " LDR R3, =0x2ABE4\n" |
|---|
| | 623 | " MOV R2, #0\n" |
|---|
| | 624 | " LDR R0, [R3]\n" |
|---|
| | 625 | " MOV R1, R7\n" |
|---|
| | 626 | " BL sub_FFEA8524\n"// ReceiveMessageQueue |
|---|
| | 627 | " LDR R12, [SP,#4]\n" |
|---|
| | 628 | " LDR R2, [R12]\n" |
|---|
| | 629 | " CMP R2, #0x23\n" |
|---|
| | 630 | " BNE loc_FFD1AE28\n" |
|---|
| | 631 | " MOV R0, R12\n" |
|---|
| | 632 | " BL sub_FFD1683C\n" |
|---|
| | 633 | " LDR R3, =0x2ABE0\n" |
|---|
| | 634 | " MOV R1, #1\n" |
|---|
| | 635 | " LDR R0, [R3]\n" |
|---|
| | 636 | " BL sub_FFEA7E0C\n" // SetEventFlag |
|---|
| | 637 | " BL sub_FFEA9AE8\n" |
|---|
| | 638 | " ADD SP, SP, #0x20\n" |
|---|
| | 639 | " LDMFD SP!, {R4-R8,PC}\n" |
|---|
| | 640 | ); |
|---|
| | 641 | } |
|---|
| | 642 | |
|---|
| | 643 | void __attribute__((naked,noinline)) sub_FFD17E18_my() { |
|---|
| | 644 | asm volatile( |
|---|
| | 645 | " STMFD SP!, {R4-R6,LR}\n" |
|---|
| | 646 | " LDR R3, =0x2ABE0\n" |
|---|
| | 647 | " MOV R4, R0\n" |
|---|
| | 648 | " MOV R1, #0x3E\n" |
|---|
| | 649 | " LDR R0, [R3]\n" |
|---|
| | 650 | " BL sub_FFEA7FA8\n" // ClearEventFlag |
|---|
| | 651 | " MOV R1, #0\n" |
|---|
| | 652 | " LDRSH R0, [R4,#4]\n" |
|---|
| | 653 | " BL sub_FFD16970\n" |
|---|
| | 654 | " MOV R6, R0\n" |
|---|
| | 655 | " LDRSH R0, [R4,#6]\n" |
|---|
| | 656 | " BL sub_FFD16AD8\n" |
|---|
| | 657 | " LDRSH R0, [R4,#8]\n" |
|---|
| | 658 | " BL sub_FFD16B74\n" |
|---|
| | 659 | " LDRSH R0, [R4,#0xA]\n" |
|---|
| | 660 | " BL sub_FFD16C10\n" |
|---|
| | 661 | " LDRSH R0, [R4,#0xC]\n" |
|---|
| | 662 | " BL sub_FFD16CAC\n" |
|---|
| | 663 | " LDR R3, [R4]\n" |
|---|
| | 664 | " CMP R3, #9\n" |
|---|
| | 665 | " MOV R5, R0\n" |
|---|
| | 666 | " MOVEQ R5, #0\n" |
|---|
| | 667 | " MOVEQ R6, R5\n" |
|---|
| | 668 | " CMP R6, #1\n" |
|---|
| | 669 | " BNE loc_FFD17E9C\n" |
|---|
| | 670 | " MOV R2, #2\n" |
|---|
| | 671 | " LDRSH R0, [R4,#4]\n" |
|---|
| | 672 | " LDR R1, =0xFFD16890\n" |
|---|
| | 673 | " BL sub_FFE6CC1C\n" |
|---|
| | 674 | " LDR R2, =0x2AC30\n" |
|---|
| | 675 | " MOV R3, #0\n" |
|---|
| | 676 | " STR R3, [R2]\n" |
|---|
| | 677 | " B loc_FFD17EA0\n" |
|---|
| | 678 | "loc_FFD17E9C:\n" |
|---|
| | 679 | " BL sub_FFD16D48\n" |
|---|
| | 680 | "loc_FFD17EA0:\n" |
|---|
| | 681 | " STRH R0, [R4,#4]\n" |
|---|
| | 682 | " CMP R5, #1\n" |
|---|
| | 683 | " BNE loc_FFD17EC0\n" |
|---|
| | 684 | " LDRSH R0, [R4,#0xC]\n" |
|---|
| | 685 | " LDR R1, =0xFFD16954\n" |
|---|
| | 686 | " MOV R2, #0x20\n" |
|---|
| | 687 | " BL sub_FFD1713C\n" |
|---|
| | 688 | " B loc_FFD17EC4\n" |
|---|
| | 689 | "loc_FFD17EC0:\n" |
|---|
| | 690 | " BL sub_FFD16D88\n" |
|---|
| | 691 | "loc_FFD17EC4:\n" |
|---|
| | 692 | " STRH R0, [R4,#0xC]\n" |
|---|
| | 693 | " LDRSH R0, [R4,#6]\n" |
|---|
| | 694 | " BL sub_FFCE1A30_my\n" // -> |
|---|
| | 695 | " LDRSH R0, [R4,#8]\n" |
|---|
| | 696 | " MOV R1, #1\n" |
|---|
| | 697 | " BL sub_FFCE3CE4\n" |
|---|
| | 698 | " ADD R0, R4, #8\n" |
|---|
| | 699 | " MOV R1, #0\n" |
|---|
| | 700 | " BL sub_FFCE3DA4\n" |
|---|
| | 701 | " LDRSH R0, [R4,#0xE]\n" |
|---|
| | 702 | " BL sub_FFD055A0\n" |
|---|
| | 703 | " CMP R6, #1\n" |
|---|
| | 704 | " BNE loc_FFD17F28\n" |
|---|
| | 705 | " LDR R3, =0x2ABE0\n" |
|---|
| | 706 | " MOV R2, #0xBB0\n" |
|---|
| | 707 | " LDR R0, [R3]\n" |
|---|
| | 708 | " MOV R1, #2\n" |
|---|
| | 709 | " ADD R2, R2, #8\n" |
|---|
| | 710 | " BL sub_FFEA7DFC\n" |
|---|
| | 711 | " TST R0, #1\n" |
|---|
| | 712 | " BEQ loc_FFD17F28\n" |
|---|
| | 713 | " MOV R1, #0x4A0\n" |
|---|
| | 714 | " LDR R0, =0xFFD167E8\n" // "expdrv.c" |
|---|
| | 715 | " ADD R1, R1, #3\n" |
|---|
| | 716 | " BL sub_FFEB5664\n" //DebugAssert |
|---|
| | 717 | "loc_FFD17F28:\n" |
|---|
| | 718 | " CMP R5, #1\n" |
|---|
| | 719 | " LDMNEFD SP!, {R4-R6,PC}\n" |
|---|
| | 720 | " LDR R3, =0x2ABE0\n" |
|---|
| | 721 | " MOV R2, #0xBB0\n" |
|---|
| | 722 | " LDR R0, [R3]\n" |
|---|
| | 723 | " MOV R1, #0x20\n" |
|---|
| | 724 | " ADD R2, R2, #8\n" |
|---|
| | 725 | " BL sub_FFEA7DFC\n" |
|---|
| | 726 | " TST R0, #1\n" |
|---|
| | 727 | " LDMEQFD SP!, {R4-R6,PC}\n" |
|---|
| | 728 | " MOV R1, #0x4A0\n" |
|---|
| | 729 | " LDR R0, =0xFFD167E8\n" // "expdrv.c" |
|---|
| | 730 | " ADD R1, R1, #8\n" |
|---|
| | 731 | " LDMFD SP!, {R4-R6,LR}\n" |
|---|
| | 732 | " B sub_FFEB5664\n" //DebugAssert |
|---|
| | 733 | ); |
|---|
| | 734 | } |
|---|
| | 735 | |
|---|
| | 736 | void __attribute__((naked,noinline)) sub_FFCE1A30_my () { |
|---|
| | 737 | asm volatile( |
|---|
| | 738 | " STMFD SP!, {R4,LR}\n" |
|---|
| | 739 | " LDR R3, =0x594C\n" |
|---|
| | 740 | " LDR R2, [R3]\n" |
|---|
| | 741 | " MOV R1, #0x168\n" |
|---|
| | 742 | " MOV R3, R0,LSL#16\n" |
|---|
| | 743 | " CMP R2, #1\n" |
|---|
| | 744 | " ADD R1, R1, #3\n" |
|---|
| | 745 | " LDR R0, =0xFFCE124C\n" // "Shutter.c" |
|---|
| | 746 | " MOV R4, R3,ASR#16\n" |
|---|
| | 747 | " BEQ loc_FFCE1A5C\n" |
|---|
| | 748 | " BL sub_FFEB5664\n" //DebugAssert |
|---|
| | 749 | "loc_FFCE1A5C:\n" |
|---|
| | 750 | " MOV R1, #0x170\n" |
|---|
| | 751 | " CMN R4, #0xC00\n" |
|---|
| | 752 | " LDR R3, =0x1177E\n" |
|---|
| | 753 | " LDR R0, =0xFFCE124C\n" // "Shutter.c" |
|---|
| | 754 | " ADD R1, R1, #1\n" |
|---|
| | 755 | " LDREQSH R4, [R3]\n" |
|---|
| | 756 | " LDRNE R3, =0x1177E\n" |
|---|
| | 757 | " CMN R4, #0xC00\n" |
|---|
| | 758 | " STRH R4, [R3]\n" |
|---|
| | 759 | " BNE loc_FFCE1A88\n" |
|---|
| | 760 | " BL sub_FFEB5664\n" //DebugAssert |
|---|
| | 761 | "loc_FFCE1A88:\n" |
|---|
| | 762 | " MOV R0, R4\n" |
|---|
| | 763 | //" BL sub_FFCE2B80\n" // apex2us\n" |
|---|
| | 764 | " BL apex2us\n" |
|---|
| | 765 | " MOV R4, R0\n" |
|---|
| | 766 | " BL sub_FFD6CC5C\n" |
|---|
| | 767 | " MOV R0, R4\n" |
|---|
| | 768 | " BL sub_FFD83504\n" |
|---|
| | 769 | " MOV R1, #0x174\n" |
|---|
| | 770 | " TST R0, #1\n" |
|---|
| | 771 | " ADD R1, R1, #2\n" |
|---|
| | 772 | " LDR R0, =0xFFCE124C\n" // "Shutter.c" |
|---|
| | 773 | " LDMEQFD SP!, {R4,PC}\n" |
|---|
| | 774 | " LDMFD SP!, {R4,LR}\n" |
|---|
| | 775 | " B sub_FFEB5664\n" //DebugAssert |
|---|
| | 776 | ); |
|---|
| | 777 | } |
|---|