root/platform/g11/sub/100f/capt_seq.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. capt_seq_task
  2. sub_FF87A994_my
  3. sub_FF9686A8_my
  4. exp_drv_task
  5. sub_FF8BD2D4_my
  6. sub_FF8AF3D8_my

   1 #include "lolevel.h"
   2 #include "platform.h"
   3 #include "core.h"
   4 
   5 static long *nrflag = (long*)0x7290; /* G11 above "aShuttersoundta" usage @FF9687A0 */
   6 
   7 #include "../../../generic/capt_seq.c"
   8 void __attribute__((naked,noinline)) capt_seq_task() {
   9  asm volatile (
  10 
  11                                 "STMFD   SP!, {R3-R9,LR}\n"
  12                 "LDR     R6, =0x2C64\n"
  13                 "LDR     R4, =0x38A78\n"
  14                 "MOV     R9, #1\n"
  15                 "MOV     R7, #0\n"
  16 "loc_FF87B080:\n"
  17                "LDR     R0, [R6,#4]\n"
  18                "MOV     R2, #0\n"
  19                "MOV     R1, SP\n"
  20                "BL      sub_FF83891C\n"
  21                "TST     R0, #1\n"
  22                "BEQ     loc_FF87B0AC\n"
  23                "LDR     R1, =0x5B3\n"
  24                "LDR     R0, =0xFF87A868\n"
  25                "BL      sub_FF81E88C\n"
  26                "BL      sub_FF81E844\n"
  27                "LDMFD   SP!, {R3-R9,PC}\n"
  28 "loc_FF87B0AC:\n"
  29                "LDR     R0, [SP]\n"
  30                "LDR     R1, [R0]\n"
  31                "CMP     R1, #0x22\n"
  32                "ADDLS   PC, PC, R1,LSL#2\n"
  33                "B       loc_FF87B3A4\n"
  34 "loc_FF87B0C0:\n"
  35                "B       loc_FF87B14C\n"
  36 "loc_FF87B0C4:\n"
  37                "B       loc_FF87B1B8\n"
  38 "loc_FF87B0C8:\n"
  39                "B       loc_FF87B1F4\n"
  40 "loc_FF87B0CC:\n"
  41                "B       loc_FF87B208\n"
  42 "loc_FF87B0D0:\n"
  43                "B       loc_FF87B200\n"
  44 "loc_FF87B0D4:\n"
  45                "B       loc_FF87B210\n"
  46 "loc_FF87B0D8:\n"
  47                "B       loc_FF87B218\n"
  48 "loc_FF87B0DC:\n"
  49                "B       loc_FF87B220\n"
  50 "loc_FF87B0E0:\n"
  51                "B       loc_FF87B278\n"
  52 "loc_FF87B0E4:\n"
  53                "B       loc_FF87B2A0\n"
  54 "loc_FF87B0E8:\n"
  55                "B       loc_FF87B284\n"
  56 "loc_FF87B0EC:\n"
  57                "B       loc_FF87B290\n"
  58 "loc_FF87B0F0:\n"
  59                "B       loc_FF87B298\n"
  60 "loc_FF87B0F4:\n"
  61                "B       loc_FF87B2A8\n"
  62 "loc_FF87B0F8:\n"
  63                "B       loc_FF87B2B0\n"
  64 "loc_FF87B0FC:\n"
  65                "B       loc_FF87B2B8\n"
  66 "loc_FF87B100:\n"
  67                "B       loc_FF87B2C0\n"
  68 "loc_FF87B104:\n"
  69                "B       loc_FF87B2C8\n"
  70 "loc_FF87B108:\n"
  71                "B       loc_FF87B2D0\n"
  72 "loc_FF87B10C:\n"
  73                "B       loc_FF87B2D8\n"
  74 "loc_FF87B110:\n"
  75                "B       loc_FF87B2E0\n"
  76 "loc_FF87B114:\n"
  77                "B       loc_FF87B2E8\n"
  78 "loc_FF87B118:\n"
  79                "B       loc_FF87B2F0\n"
  80 "loc_FF87B11C:\n"
  81                "B       loc_FF87B2FC\n"
  82 "loc_FF87B120:\n"
  83                "B       loc_FF87B304\n"
  84 "loc_FF87B124:\n"
  85                "B       loc_FF87B310\n"
  86 "loc_FF87B128:\n"
  87                "B       loc_FF87B318\n"
  88 "loc_FF87B12C:\n"
  89                "B       loc_FF87B348\n"
  90 "loc_FF87B130:\n"
  91                "B       loc_FF87B350\n"
  92 "loc_FF87B134:\n"
  93                "B       loc_FF87B358\n"
  94 "loc_FF87B138:\n"
  95                "B       loc_FF87B360\n"
  96 "loc_FF87B13C:\n"
  97                "B       loc_FF87B368\n"
  98 "loc_FF87B140:\n"
  99                "B       loc_FF87B370\n"
 100 "loc_FF87B144:\n"
 101                "B       loc_FF87B37C\n"
 102 "loc_FF87B148:\n"
 103                "B       loc_FF87B3B0\n"
 104 "loc_FF87B14C:\n"
 105                "BL      sub_FF87B9BC\n"
 106                            "BL      shooting_expo_param_override\n"  // + 
 107                "BL      sub_FF878A48\n"
 108 // copied over from SX10 don't know if we need it yet
 109 //  this code added to avoid some incorrect behavior if overrides are used.
 110 //  but it can cause some unexpected side effects. In this case, remove this code!
 111                  "MOV     R0, #0\n"
 112                  "STR     R0, [R4,#0x24]\n"  // fixes overrides  behavior at short shutter press
 113  //  end of my code
 114                "LDR     R0, [R4,#0x24]\n"
 115                "CMP     R0, #0\n"
 116                "BEQ     loc_FF87B3B0\n"
 117                "BL      sub_FF87A53C\n"
 118                "MOV     R5, R0\n"
 119                "LDR     R0, [R4,#0x24]\n"
 120                "CMP     R0, #0\n"
 121                "BEQ     loc_FF87B194\n"
 122                "MOV     R0, #0xC\n"
 123                "BL      sub_FF8803B8\n"
 124                "TST     R0, #1\n"
 125                "STRNE   R9, [R6,#0x10]\n"
 126                "LDRNE   R0, [R5,#8]\n"
 127                "ORRNE   R0, R0, #0x40000000\n"
 128                "STRNE   R0, [R5,#8]\n"
 129                "BNE     loc_FF87B3B0\n"
 130 "loc_FF87B194:\n"
 131                "MOV     R0, R5\n"
 132                "BL      sub_FF967E0C\n"
 133                "MOV     R0, R5\n"
 134                "BL      sub_FF87A91C\n"
 135                "MOV     R0, R5\n"
 136 
 137              //"BL      sub_FF9686A8\n" // -
 138                            "BL      sub_FF9686A8_my\n" //-------->
 139                            "BL      capt_seq_hook_raw_here\n"      // +
 140                "TST     R0, #1\n"
 141                "STRNE   R9, [R6,#0x10]\n"
 142                "B       loc_FF87B3B0\n"
 143 "loc_FF87B1B8:\n"
 144                "LDR     R0, [R4,#0x24]\n"
 145                "CMP     R0, #0\n"
 146                "BNE     loc_FF87B1E4\n"
 147                "MOV     R0, #0xC\n"
 148                "BL      sub_FF8803B8\n"
 149                "TST     R0, #1\n"
 150                "LDRNE   R0, [SP]\n"
 151                "MOVNE   R1, #1\n"
 152                "LDRNE   R2, [R0,#0xC]\n"
 153                "MOVNE   R0, #1\n"
 154                "BNE     loc_FF87B270\n"
 155 "loc_FF87B1E4:\n"
 156                "LDR     R0, [SP]\n"
 157                //"BL      sub_FF87A994\n" // - capt_seq_hook ist called in this subroutine
 158                            "BL      sub_FF87A994_my\n"
 159 "loc_FF87B1EC:\n"
 160                "STR     R7, [R4,#0x24]\n"
 161                "B       loc_FF87B3B0\n"
 162 "loc_FF87B1F4:\n"
 163                "MOV     R0, #1\n"
 164                "BL      sub_FF87BC6C\n"
 165                "B       loc_FF87B3B0\n"
 166 "loc_FF87B200:\n"
 167                "BL      sub_FF87B66C\n"
 168                "B       loc_FF87B1EC\n"
 169 "loc_FF87B208:\n"
 170                "BL      sub_FF87B99C\n"
 171                "B       loc_FF87B1EC\n"
 172 "loc_FF87B210:\n"
 173                "BL      sub_FF87B9A4\n"
 174                "B       loc_FF87B3B0\n"
 175 "loc_FF87B218:\n"
 176                "BL      sub_FF87BB5C\n"
 177                "B       loc_FF87B27C\n"
 178 "loc_FF87B220:\n"
 179                "LDR     R5, [R0,#0xC]\n"
 180                "BL      sub_FF87B9AC\n"
 181                "MOV     R0, R5\n"
 182                "BL      sub_FF966E88\n"
 183                "TST     R0, #1\n"
 184                "MOV     R8, R0\n"
 185                "BNE     loc_FF87B260\n"
 186                "BL      sub_FF88D770\n"
 187                "STR     R0, [R5,#0x18]\n"
 188                "MOV     R0, R5\n"
 189                "BL      sub_FF9685C0\n"
 190                "MOV     R0, R5\n"
 191                "BL      sub_FF9689C0\n"
 192                "MOV     R8, R0\n"
 193                "LDR     R0, [R5,#0x18]\n"
 194                "BL      sub_FF88D984\n"
 195 "loc_FF87B260:\n"
 196                "BL      sub_FF87B99C\n"
 197                "MOV     R2, R5\n"
 198                "MOV     R1, #9\n"
 199                "MOV     R0, R8\n"
 200 "loc_FF87B270:\n"
 201                "BL      sub_FF878F74\n"
 202                "B       loc_FF87B3B0\n"
 203 "loc_FF87B278:\n"
 204                "BL      sub_FF87BBEC\n"
 205 "loc_FF87B27C:\n"
 206                "BL      sub_FF878A48\n"
 207                "B       loc_FF87B3B0\n"
 208 "loc_FF87B284:\n"
 209                "LDR     R0, [R4,#0x54]\n"
 210                "BL      sub_FF87C270\n"
 211                "B       loc_FF87B3B0\n"
 212 "loc_FF87B290:\n"
 213                "BL      sub_FF87C518\n"
 214                "B       loc_FF87B3B0\n"
 215 "loc_FF87B298:\n"
 216                "BL      sub_FF87C5AC\n"
 217                "B       loc_FF87B3B0\n"
 218 "loc_FF87B2A0:\n"
 219                "BL      sub_FF87B99C\n"
 220                "B       loc_FF87B3B0\n"
 221 "loc_FF87B2A8:\n"
 222                "BL      sub_FF9670B4\n"
 223                "B       loc_FF87B3B0\n"
 224 "loc_FF87B2B0:\n"
 225                "BL      sub_FF96730C\n"
 226                "B       loc_FF87B3B0\n"
 227 "loc_FF87B2B8:\n"
 228                "BL      sub_FF9673AC\n"
 229                "B       loc_FF87B3B0\n"
 230 "loc_FF87B2C0:\n"
 231                "BL      sub_FF9674E0\n"
 232                "B       loc_FF87B3B0\n"
 233 "loc_FF87B2C8:\n"
 234                "BL      sub_FF9675D4\n"
 235                "B       loc_FF87B3B0\n"
 236 "loc_FF87B2D0:\n"
 237                "MOV     R0, #0\n"
 238                "B       loc_FF87B2F4\n"
 239 "loc_FF87B2D8:\n"
 240                "BL      sub_FF967B50\n"
 241                "B       loc_FF87B3B0\n"
 242 "loc_FF87B2E0:\n"
 243                "BL      sub_FF967BE0\n"
 244                "B       loc_FF87B3B0\n"
 245 "loc_FF87B2E8:\n"
 246                "BL      sub_FF967CA0\n"
 247                "B       loc_FF87B3B0\n"
 248 "loc_FF87B2F0:\n"
 249                "MOV     R0, #1\n"
 250 "loc_FF87B2F4:\n"
 251                "BL      sub_FF967A00\n"
 252                "B       loc_FF87B3B0\n"
 253 "loc_FF87B2FC:\n"
 254                "BL      sub_FF87BE88\n"
 255                "B       loc_FF87B3B0\n"
 256 "loc_FF87B304:\n"
 257                "BL      sub_FF87BF28\n"
 258                "BL      sub_FF87B4D8\n"
 259                "B       loc_FF87B3B0\n"
 260 "loc_FF87B310:\n"
 261                "BL      sub_FF96788C\n"
 262                "B       loc_FF87B3B0\n"
 263 "loc_FF87B318:\n"
 264                "MOV     R2, #2\n"
 265                "ADD     R1, R4, #0x62\n"
 266                "MOV     R0, #0x6F\n"
 267                "BL      sub_FF88D5E0\n"
 268                "TST     R0, #1\n"
 269                "LDRNE   R1, =0x6AA\n"
 270                "LDRNE   R0, =0xFF87A868\n"
 271                "BLNE    sub_FF81E88C\n"
 272                "LDRH    R0, [R4,#0x62]\n"
 273                "CMP     R0, #1\n"
 274                "BLEQ    sub_FF967880\n"
 275                "B       loc_FF87B3B0\n"
 276 "loc_FF87B348:\n"
 277                "BL      sub_FF967930\n"
 278                "B       loc_FF87B3B0\n"
 279 "loc_FF87B350:\n"
 280                "BL      sub_FF87A7F4\n"
 281                "B       loc_FF87B3B0\n"
 282 "loc_FF87B358:\n"
 283                "BL      sub_FF83654C\n"
 284                "B       loc_FF87B3B0\n"
 285 "loc_FF87B360:\n"
 286                "BL      sub_FF87E964\n"
 287                "B       loc_FF87B3B0\n"
 288 "loc_FF87B368:\n"
 289                "BL      sub_FF87E9CC\n"
 290                "B       loc_FF87B3B0\n"
 291 "loc_FF87B370:\n"
 292                "BL      sub_FF87EA28\n"
 293                "BL      sub_FF87E9E8\n"
 294                "B       loc_FF87B3B0\n"
 295 "loc_FF87B37C:\n"
 296                "MOV     R0, #1\n"
 297                "BL      sub_FF969228\n"
 298                "MOV     R0, #1\n"
 299                "BL      sub_FF969338\n"
 300                "LDRH    R0, [R4,#0xA0]\n"
 301                "CMP     R0, #4\n"
 302                "BNE     loc_FF87B3B0\n"
 303                "BL      sub_FF87E9CC\n"
 304                "BL      sub_FF87EE14\n"
 305                "B       loc_FF87B3B0\n"
 306 "loc_FF87B3A4:\n"
 307                "LDR     R1, =0x708\n"
 308                "LDR     R0, =0xFF87A868\n"
 309                "BL      sub_FF81E88C\n"
 310 "loc_FF87B3B0:\n"
 311                "LDR     R0, [SP]\n"
 312                "LDR     R1, [R0,#4]\n"
 313                "LDR     R0, [R6]\n"
 314                "BL      sub_FF885418\n"
 315                "LDR     R5, [SP]\n"
 316                "LDR     R0, [R5,#8]\n"
 317                "CMP     R0, #0\n"
 318                "LDREQ   R1, =0x131\n"
 319                "LDREQ   R0, =0xFF87A868\n"
 320                "BLEQ    sub_FF81E88C\n"
 321                "STR     R7, [R5,#8]\n"
 322                "B       loc_FF87B080\n"
 323  );
 324 }
 325 
 326 void __attribute__((naked,noinline)) sub_FF87A994_my() {
 327  asm volatile ( 
 328                "STMFD   SP!, {R3-R9,LR}\n"
 329                "LDR     R4, [R0,#0xC]\n"
 330                "LDR     R5, =0x38A78\n"
 331                "LDR     R0, [R4,#8]\n"
 332                "LDR     R6, =0x420A\n"
 333                "ORR     R0, R0, #1\n"
 334                "STR     R0, [R4,#8]\n"
 335                "LDRH    R0, [R5]\n"
 336                "LDR     R8, =0x2C64\n"
 337                "MOV     R7, #0\n"
 338                "CMP     R0, R6\n"
 339                "BEQ     loc_FF87AA38\n"
 340                "LDRH    R0, [R5,#0x9E]\n"
 341                "CMP     R0, #3\n"
 342                "BEQ     loc_FF87AA98\n"
 343                "LDR     R0, [R4,#0xC]\n"
 344                "CMP     R0, #1\n"
 345                "BLS     loc_FF87AA44\n"
 346                "LDRH    R0, [R5,#0x9C]\n"
 347                "CMP     R0, #0\n"
 348                "BNE     loc_FF87AA98\n"
 349                "LDRH    R0, [R5,#0x98]\n"
 350                "CMP     R0, #2\n"
 351                "BNE     loc_FF87AA50\n"
 352                "BL      sub_FF87BFD8\n"
 353                "LDRH    R0, [R5]\n"
 354                "CMP     R0, R6\n"
 355                "BEQ     loc_FF87AA38\n"
 356                "LDRH    R0, [R5,#0x9E]\n"
 357                "CMP     R0, #3\n"
 358                "BEQ     loc_FF87AA98\n"
 359                "LDR     R0, [R4,#0xC]\n"
 360                "CMP     R0, #1\n"
 361                "BLS     loc_FF87AA44\n"
 362                "LDRH    R0, [R5,#0x9C]\n"
 363                "CMP     R0, #0\n"
 364                "BNE     loc_FF87AA98\n"
 365                "LDRH    R0, [R5,#0x98]\n"
 366                "CMP     R0, #2\n"
 367                "BEQ     loc_FF87AA7C\n"
 368                "B       loc_FF87AA50\n"
 369 "loc_FF87AA38:\n"
 370                "LDRH    R0, [R5,#0x9E]\n"
 371                "CMP     R0, #3\n"
 372                "BEQ     loc_FF87AA98\n"
 373 "loc_FF87AA44:\n"
 374                "LDRH    R0, [R5,#0x9C]\n"
 375                "CMP     R0, #0\n"
 376                "BNE     loc_FF87AA98\n"
 377 "loc_FF87AA50:\n"
 378                "LDRH    R0, [R5,#0x98]\n"
 379                "CMP     R0, #1\n"
 380                "BNE     loc_FF87AA98\n"
 381                "LDRH    R0, [R5]\n"
 382                "CMP     R0, R6\n"
 383                "LDRNE   R0, [R4,#0xC]\n"
 384                "CMPNE   R0, #1\n"
 385                "BLS     loc_FF87AA98\n"
 386                "LDR     R0, [R4,#0x10]\n"
 387                "CMP     R0, #1\n"
 388                "BNE     loc_FF87AA98\n"
 389 "loc_FF87AA7C:\n"
 390                "MOV     R3, #0x268\n"
 391                "STR     R3, [SP]\n"
 392                "LDR     R0, [R8]\n"
 393                "LDR     R2, =0xEA60\n"
 394                "LDR     R3, =0xFF87A868\n"
 395                "MOV     R1, #0x40000000\n"
 396                "BL      sub_FF880720\n"
 397 "loc_FF87AA98:\n"
 398                "BL      sub_FF87A7F4\n"
 399                "LDR     R0, [R5,#0x24]\n"
 400                "CMP     R0, #0\n"
 401                "MOVEQ   R0, #2\n"
 402                "BLEQ    sub_FF876BF8\n"
 403                "BL      sub_FF87B9AC\n"
 404                "LDR     R0, [R5,#0x24]\n"
 405                "CMP     R0, #0\n"
 406                "BNE     loc_FF87AB50\n"
 407                "MOV     R0, #0\n"
 408                "BL      sub_FF969228\n"
 409                "MOV     R0, #0\n"
 410                "BL      sub_FF969338\n"
 411                "MOV     R0, R4\n"
 412                "BL      sub_FF967E0C\n"
 413                "MOV     R0, R4\n"
 414                "BL      sub_FF87BE04\n"
 415                "MOV     R0, R4\n"
 416                "BL      sub_FF966A3C\n"
 417                "CMP     R0, #0\n"
 418                "BEQ     loc_FF87AB18\n"
 419                "BL      sub_FF969268\n"
 420                "BL      sub_FF96937C\n"
 421                "BL      sub_FF9693CC\n"
 422                "MOV     R0, R4\n"
 423                "BL      sub_FF966BB4\n"
 424                "TST     R0, #1\n"
 425                "MOVNE   R2, R4\n"
 426                "LDMNEFD SP!, {R3-R9,LR}\n"
 427                "MOVNE   R1, #1\n"
 428                "BNE     sub_FF878F74\n"
 429                "B       loc_FF87AB2C\n"
 430 "loc_FF87AB18:\n"
 431                "MOV     R0, R4\n"
 432                "BL      sub_FF966B20\n"
 433                "BL      sub_FF969268\n"
 434                "BL      sub_FF96937C\n"
 435                "BL      sub_FF9693CC\n"
 436 "loc_FF87AB2C:\n"
 437                "MOV     R0, R4\n"
 438                "BL      sub_FF87A91C\n"
 439                "MOV     R0, R4\n"
 440                "BL      sub_FF9685C0\n"
 441                "BL      sub_FF969040\n"
 442                "MOV     R0, R4\n"
 443              //"BL      sub_FF9686A8\n" // -
 444                            "BL      sub_FF9686A8_my\n" // ---------------->
 445                "MOV     R7, R0\n"
 446                            "BL      capt_seq_hook_raw_here\n"      // +
 447                "B       loc_FF87AB5C\n"
 448 "loc_FF87AB50:\n"
 449                "LDR     R0, [R8,#0x10]\n"
 450                "CMP     R0, #0\n"
 451                "MOVNE   R7, #0x1D\n"
 452 "loc_FF87AB5C:\n"
 453                "BL      sub_FF87E9CC\n"
 454                "BL      sub_FF87EA14\n"
 455                "BL      sub_FF87EA54\n"
 456                "MOV     R2, R4\n"
 457                "MOV     R1, #1\n"
 458                "MOV     R0, R7\n"
 459                "BL      sub_FF878F74\n"
 460                "BL      sub_FF968964\n"
 461                "CMP     R0, #0\n"
 462                "LDRNE   R0, [R4,#8]\n"
 463                "ORRNE   R0, R0, #0x2000\n"
 464                "STRNE   R0, [R4,#8]\n"
 465                "LDRH    R0, [R5,#0x9E]\n"
 466                "CMP     R0, #3\n"
 467                "BEQ     locret_FF87ABB4\n"
 468                "LDRH    R0, [R5,#0x9C]\n"
 469                "CMP     R0, #0\n"
 470                "LDREQH  R0, [R5,#0x98]\n"
 471                "CMPEQ   R0, #2\n"
 472                "MOVEQ   R0, R4\n"
 473                "LDMEQFD SP!, {R3-R9,LR}\n"
 474                "BEQ     sub_FF87C02C\n"
 475 "locret_FF87ABB4:\n"
 476                "LDMFD   SP!, {R3-R9,PC}\n"
 477         );
 478 };
 479 
 480 void __attribute__((naked,noinline)) sub_FF9686A8_my() {
 481  asm volatile (
 482                "STMFD   SP!, {R0-R8,LR}\n"
 483                "MOV     R4, R0\n"
 484                "BL      sub_FF969524\n"
 485                            "LDR    R1,=0xFFFFFFFF\n"
 486                "BL      sub_FF88544C\n"
 487                "LDR     R5, =0x7290\n"
 488                "LDR     R0, [R5,#0xC]\n"
 489                "CMP     R0, #0\n"
 490                "BNE     loc_FF9686F8\n"
 491                "MOV     R1, #1\n"
 492                "MOV     R0, #0\n"
 493                "BL      sub_FF839164\n"
 494                "STR     R0, [R5,#0xC]\n"
 495                "MOV     R3, #0\n"
 496                "STR     R3, [SP]\n"
 497                "LDR     R3, =0xFF968034\n"
 498                "LDR     R0, =0xFF968928\n"
 499                "MOV     R2, #0x400\n"
 500                "MOV     R1, #0x17\n"
 501                "BL      sub_FF839130\n"
 502 "loc_FF9686F8:\n"
 503                "MOV     R2, #4\n"
 504                "ADD     R1, SP, #8\n"
 505                "MOV     R0, #0x8A\n"
 506                "BL      sub_FF88D5E0\n"
 507                "TST     R0, #1\n"
 508                "LDRNE   R1, =0x3C5\n"
 509                "LDRNE   R0, =0xFF9682CC\n"
 510                "BLNE    sub_FF81E88C\n"
 511                "LDR     R6, =0x38B44\n"
 512                "LDR     R8, =0x38A78\n"
 513                "LDR     R3, [R6]\n"
 514                "LDRSH   R2, [R6,#0xC]\n"
 515                "LDRSH   R1, [R6,#0xE]\n"
 516                "LDR     R0, [R8,#0x94]\n"
 517                "BL      sub_FF92FB4C\n"
 518                "BL      sub_FF863514\n"
 519                "LDR     R3, =0x7298\n"
 520                "STRH    R0, [R4,#0xA4]\n"
 521                "SUB     R2, R3, #4\n"
 522                "STRD    R2, [SP]\n"
 523                "MOV     R1, R0\n"
 524                "LDRH    R0, [R8,#0x5C]\n"
 525                "LDRSH   R2, [R6,#0xC]\n"
 526                "SUB     R3, R3, #8\n"
 527                "BL      sub_FF96B1AC\n"
 528                "BL      wait_until_remote_button_is_released\n"  // +
 529                "BL      capt_seq_hook_set_nr\n"                  // +   
 530                "B       sub_FF96875C\n" // +  Jump back to original FW code
 531  );
 532 }
 533 
 534 void __attribute__((naked,noinline)) exp_drv_task(){
 535  asm volatile(
 536                "STMFD   SP!, {R4-R8,LR}\n"
 537                "SUB     SP, SP, #0x20\n"
 538                "LDR     R8, =0xBB8\n"
 539                "LDR     R7, =0x4530\n"
 540                "LDR     R5, =0x42240\n"
 541                "MOV     R0, #0\n"
 542                "ADD     R6, SP, #0x10\n"
 543                "STR     R0, [SP,#0xC]\n"
 544 "loc_FF8BFAE4:\n"
 545                "LDR     R0, [R7,#0x20]\n"
 546                "MOV     R2, #0\n"
 547                "ADD     R1, SP, #0x1C\n"
 548                "BL      sub_FF83891C\n"
 549                "LDR     R0, [SP,#0xC]\n"
 550                "CMP     R0, #1\n"
 551                "BNE     loc_FF8BFB30\n"
 552                "LDR     R0, [SP,#0x1C]\n"
 553                "LDR     R0, [R0]\n"
 554                "CMP     R0, #0x13\n"
 555                "CMPNE   R0, #0x14\n"
 556                "CMPNE   R0, #0x15\n"
 557                "CMPNE   R0, #0x16\n"
 558                "BEQ     loc_FF8BFC94\n"
 559                "CMP     R0, #0x28\n"
 560                "BEQ     loc_FF8BFC1C\n"
 561                "ADD     R1, SP, #0xC\n"
 562                "MOV     R0, #0\n"
 563                "BL      sub_FF8BFA74\n"
 564 "loc_FF8BFB30:\n"
 565                "LDR     R0, [SP,#0x1C]\n"
 566                "LDR     R1, [R0]\n"
 567                "CMP     R1, #0x2E\n"
 568                "BNE     loc_FF8BFB60\n"
 569                "LDR     R0, [SP,#0x1C]\n"
 570                "BL      sub_FF8C0DC8\n"
 571                "LDR     R0, [R7,#0x1C]\n"
 572                "MOV     R1, #1\n"
 573                "BL      sub_FF885418\n"
 574                "BL      sub_FF81E844\n"
 575                "ADD     SP, SP, #0x20\n"
 576                "LDMFD   SP!, {R4-R8,PC}\n"
 577 "loc_FF8BFB60:\n"
 578                "CMP     R1, #0x2D\n"
 579                "BNE     loc_FF8BFB7C\n"
 580                "LDR     R2, [R0,#0x8C]!\n"
 581                "LDR     R1, [R0,#4]\n"
 582                "MOV     R0, R1\n"
 583                "BLX     R2\n"
 584                "B       loc_FF8C00BC\n"
 585 "loc_FF8BFB7C:\n"
 586                "CMP     R1, #0x26\n"
 587                "BNE     loc_FF8BFBCC\n"
 588                "LDR     R0, [R7,#0x1C]\n"
 589                "MOV     R1, #0x80\n"
 590                "BL      sub_FF88544C\n"
 591                "LDR     R0, =0xFF8BC204\n"
 592                "MOV     R1, #0x80\n"
 593                "BL      sub_FF95B31C\n"
 594                "LDR     R0, [R7,#0x1C]\n"
 595                "MOV     R2, R8\n"
 596                "MOV     R1, #0x80\n"
 597                "BL      sub_FF885358\n"
 598                "TST     R0, #1\n"
 599                "LDRNE   R1, =0xE5F\n"
 600                "BNE     loc_FF8BFC88\n"
 601 "loc_FF8BFBB8:\n"
 602                "LDR     R1, [SP,#0x1C]\n"
 603                "LDR     R0, [R1,#0x90]\n"
 604                "LDR     R1, [R1,#0x8C]\n"
 605                "BLX     R1\n"
 606                "B       loc_FF8C00BC\n"
 607 "loc_FF8BFBCC:\n"
 608                "CMP     R1, #0x27\n"
 609                "BNE     loc_FF8BFC14\n"
 610                "ADD     R1, SP, #0xC\n"
 611                "BL      sub_FF8BFA74\n"
 612                "LDR     R0, [R7,#0x1C]\n"
 613                "MOV     R1, #0x100\n"
 614                "BL      sub_FF88544C\n"
 615                "LDR     R0, =0xFF8BC214\n"
 616                "MOV     R1, #0x100\n"
 617                "BL      sub_FF95BCAC\n"
 618                "LDR     R0, [R7,#0x1C]\n"
 619                "MOV     R2, R8\n"
 620                "MOV     R1, #0x100\n"
 621                "BL      sub_FF885358\n"
 622                "TST     R0, #1\n"
 623                "BEQ     loc_FF8BFBB8\n"
 624                "LDR     R1, =0xE69\n"
 625                "B       loc_FF8BFC88\n"
 626 "loc_FF8BFC14:\n"
 627                "CMP     R1, #0x28\n"
 628                "BNE     loc_FF8BFC2C\n"
 629 "loc_FF8BFC1C:\n"
 630                "LDR     R0, [SP,#0x1C]\n"
 631                "ADD     R1, SP, #0xC\n"
 632                "BL      sub_FF8BFA74\n"
 633                "B       loc_FF8BFBB8\n"
 634 "loc_FF8BFC2C:\n"
 635                "CMP     R1, #0x2B\n"
 636                "BNE     loc_FF8BFC44\n"
 637                "BL      sub_FF8AF668\n"
 638                "BL      sub_FF8B028C\n"
 639                "BL      sub_FF8AFDE0\n"
 640                "B       loc_FF8BFBB8\n"
 641 "loc_FF8BFC44:\n"
 642                "CMP     R1, #0x2C\n"
 643                "BNE     loc_FF8BFC94\n"
 644                "LDR     R0, [R7,#0x1C]\n"
 645                "MOV     R1, #4\n"
 646                "BL      sub_FF88544C\n"
 647                "LDR     R1, =0xFF8BC234\n"
 648                "LDR     R0, =0xFFFFF400\n"
 649                "MOV     R2, #4\n"
 650                "BL      sub_FF8AF0E4\n"
 651                "BL      sub_FF8AF36C\n"
 652                "LDR     R0, [R7,#0x1C]\n"
 653                "MOV     R2, R8\n"
 654                "MOV     R1, #4\n"
 655                "BL      sub_FF885274\n"
 656                "TST     R0, #1\n"
 657                "BEQ     loc_FF8BFBB8\n"
 658                "LDR     R1, =0xE91\n"
 659 "loc_FF8BFC88:\n"
 660                "LDR     R0, =0xFF8BC874\n"
 661                "BL      sub_FF81E88C\n"
 662                "B       loc_FF8BFBB8\n"
 663 "loc_FF8BFC94:\n"
 664                "LDR     R0, [SP,#0x1C]\n"
 665                "MOV     R4, #1\n"
 666                "LDR     R1, [R0]\n"
 667                "CMP     R1, #0x11\n"
 668                "CMPNE   R1, #0x12\n"
 669                "BNE     loc_FF8BFD04\n"
 670                "LDR     R1, [R0,#0x7C]\n"
 671                "ADD     R1, R1, R1,LSL#1\n"
 672                "ADD     R1, R0, R1,LSL#2\n"
 673                "SUB     R1, R1, #8\n"
 674                "LDMIA   R1, {R2-R4}\n"
 675                "STMIA   R6, {R2-R4}\n"
 676                "BL      sub_FF8BE3EC\n"
 677                "LDR     R0, [SP,#0x1C]\n"
 678                "LDR     R1, [R0,#0x7C]\n"
 679                "LDR     R3, [R0,#0x8C]\n"
 680                "LDR     R2, [R0,#0x90]\n"
 681                "ADD     R0, R0, #4\n"
 682                "BLX     R3\n"
 683                "LDR     R0, [SP,#0x1C]\n"
 684                "BL      sub_FF8C1190\n"
 685                "LDR     R0, [SP,#0x1C]\n"
 686                "LDR     R1, [R0,#0x7C]\n"
 687                "LDR     R3, [R0,#0x94]\n"
 688                "LDR     R2, [R0,#0x98]\n"
 689                "ADD     R0, R0, #4\n"
 690                "BLX     R3\n"
 691                "B       loc_FF8BFFFC\n"
 692 "loc_FF8BFD04:\n"
 693                "CMP     R1, #0x13\n"
 694                "CMPNE   R1, #0x14\n"
 695                "CMPNE   R1, #0x15\n"
 696                "CMPNE   R1, #0x16\n"
 697                "BNE     loc_FF8BFDBC\n"
 698                "ADD     R3, SP, #0xC\n"
 699                "MOV     R2, SP\n"
 700                "ADD     R1, SP, #0x10\n"
 701                "BL      sub_FF8BE6C8\n"
 702                "CMP     R0, #1\n"
 703                "MOV     R4, R0\n"
 704                "CMPNE   R4, #5\n"
 705                "BNE     loc_FF8BFD58\n"
 706                "LDR     R0, [SP,#0x1C]\n"
 707                "MOV     R2, R4\n"
 708                "LDR     R1, [R0,#0x7C]!\n"
 709                "LDR     R12, [R0,#0x10]!\n"
 710                "LDR     R3, [R0,#4]\n"
 711                "MOV     R0, SP\n"
 712                "BLX     R12\n"
 713                "B       loc_FF8BFD90\n"
 714 "loc_FF8BFD58:\n"
 715                "LDR     R0, [SP,#0x1C]\n"
 716                "CMP     R4, #2\n"
 717                "LDR     R3, [R0,#0x90]\n"
 718                "CMPNE   R4, #6\n"
 719                "BNE     loc_FF8BFDA4\n"
 720                "LDR     R12, [R0,#0x8C]\n"
 721                "MOV     R0, SP\n"
 722                "MOV     R2, R4\n"
 723                "MOV     R1, #1\n"
 724                "BLX     R12\n"
 725                "LDR     R0, [SP,#0x1C]\n"
 726                "MOV     R2, SP\n"
 727                "ADD     R1, SP, #0x10\n"
 728                "BL      sub_FF8BF780\n"
 729 "loc_FF8BFD90:\n"
 730                "LDR     R0, [SP,#0x1C]\n"
 731                "LDR     R2, [SP,#0xC]\n"
 732                "MOV     R1, R4\n"
 733                "BL      sub_FF8BFA14\n"
 734                "B       loc_FF8BFFFC\n"
 735 "loc_FF8BFDA4:\n"
 736                "LDR     R1, [R0,#0x7C]\n"
 737                "LDR     R12, [R0,#0x8C]\n"
 738                "ADD     R0, R0, #4\n"
 739                "MOV     R2, R4\n"
 740                "BLX     R12\n"
 741                "B       loc_FF8BFFFC\n"
 742 "loc_FF8BFDBC:\n"
 743                "CMP     R1, #0x22\n"
 744                "CMPNE   R1, #0x23\n"
 745                "BNE     loc_FF8BFE08\n"
 746                "LDR     R1, [R0,#0x7C]\n"
 747                "ADD     R1, R1, R1,LSL#1\n"
 748                "ADD     R1, R0, R1,LSL#2\n"
 749                "SUB     R1, R1, #8\n"
 750                "LDMIA   R1, {R2-R4}\n"
 751                "STMIA   R6, {R2-R4}\n"
 752                "BL      sub_FF8BD930\n"
 753                "LDR     R0, [SP,#0x1C]\n"
 754                "LDR     R1, [R0,#0x7C]\n"
 755                "LDR     R3, [R0,#0x8C]\n"
 756                "LDR     R2, [R0,#0x90]\n"
 757                "ADD     R0, R0, #4\n"
 758                "BLX     R3\n"
 759                "LDR     R0, [SP,#0x1C]\n"
 760                "BL      sub_FF8BDC30\n"
 761                "B       loc_FF8BFFFC\n"
 762 "loc_FF8BFE08:\n"
 763                "ADD     R1, R0, #4\n"
 764                "LDMIA   R1, {R2,R3,R12}\n"
 765                "STMIA   R6, {R2,R3,R12}\n"
 766                "LDR     R1, [R0]\n"
 767                "CMP     R1, #0x25\n"
 768                "ADDLS   PC, PC, R1,LSL#2\n"
 769                "B       loc_FF8BFFDC\n"
 770 "loc_FF8BFE24:\n"
 771                "B       loc_FF8BFEBC\n"
 772 "loc_FF8BFE28:\n"
 773                "B       loc_FF8BFEBC\n"
 774 "loc_FF8BFE2C:\n"
 775                "B       loc_FF8BFEC4\n"
 776 "loc_FF8BFE30:\n"
 777                "B       loc_FF8BFECC\n"
 778 "loc_FF8BFE34:\n"
 779                "B       loc_FF8BFECC\n"
 780 "loc_FF8BFE38:\n"
 781                "B       loc_FF8BFECC\n"
 782 "loc_FF8BFE3C:\n"
 783                "B       loc_FF8BFEBC\n"
 784 "loc_FF8BFE40:\n"
 785                "B       loc_FF8BFEC4\n"
 786 "loc_FF8BFE44:\n"
 787                "B       loc_FF8BFECC\n"
 788 "loc_FF8BFE48:\n"
 789                "B       loc_FF8BFECC\n"
 790 "loc_FF8BFE4C:\n"
 791                "B       loc_FF8BFEE4\n"
 792 "loc_FF8BFE50:\n"
 793                "B       loc_FF8BFEE4\n"
 794 "loc_FF8BFE54:\n"
 795                "B       loc_FF8BFFD0\n"
 796 "loc_FF8BFE58:\n"
 797                "B       loc_FF8BFFD8\n"
 798 "loc_FF8BFE5C:\n"
 799                "B       loc_FF8BFFD8\n"
 800 "loc_FF8BFE60:\n"
 801                "B       loc_FF8BFFD8\n"
 802 "loc_FF8BFE64:\n"
 803                "B       loc_FF8BFFD8\n"
 804 "loc_FF8BFE68:\n"
 805                "B       loc_FF8BFFDC\n"
 806 "loc_FF8BFE6C:\n"
 807                "B       loc_FF8BFFDC\n"
 808 "loc_FF8BFE70:\n"
 809                "B       loc_FF8BFFDC\n"
 810 "loc_FF8BFE74:\n"
 811                "B       loc_FF8BFFDC\n"
 812 "loc_FF8BFE78:\n"
 813                "B       loc_FF8BFFDC\n"
 814 "loc_FF8BFE7C:\n"
 815                "B       loc_FF8BFFDC\n"
 816 "loc_FF8BFE80:\n"
 817                "B       loc_FF8BFED4\n"
 818 "loc_FF8BFE84:\n"
 819                "B       loc_FF8BFEDC\n"
 820 "loc_FF8BFE88:\n"
 821                "B       loc_FF8BFEDC\n"
 822 "loc_FF8BFE8C:\n"
 823                "B       loc_FF8BFEF0\n"
 824 "loc_FF8BFE90:\n"
 825                "B       loc_FF8BFEF0\n"
 826 "loc_FF8BFE94:\n"
 827                "B       loc_FF8BFEF8\n"
 828 "loc_FF8BFE98:\n"
 829                "B       loc_FF8BFF28\n"
 830 "loc_FF8BFE9C:\n"
 831                "B       loc_FF8BFF58\n"
 832 "loc_FF8BFEA0:\n"
 833                "B       loc_FF8BFF88\n"
 834 "loc_FF8BFEA4:\n"
 835                "B       loc_FF8BFFB8\n"
 836 "loc_FF8BFEA8:\n"
 837                "B       loc_FF8BFFB8\n"
 838 "loc_FF8BFEAC:\n"
 839                "B       loc_FF8BFFDC\n"
 840 "loc_FF8BFEB0:\n"
 841                "B       loc_FF8BFFDC\n"
 842 "loc_FF8BFEB4:\n"
 843                "B       loc_FF8BFFC0\n"
 844 "loc_FF8BFEB8:\n"
 845                "B       loc_FF8BFFC8\n"
 846 "loc_FF8BFEBC:\n"
 847 //; jumptable FF8"FE1C entries 0,1,6
 848                "BL      sub_FF8BC71C\n"
 849                "B       loc_FF8BFFDC\n"
 850 "loc_FF8BFEC4:\n"
 851 //; jumptable FF8"FE1C entries 2,7
 852                "BL      sub_FF8BC9A0\n"
 853                "B       loc_FF8BFFDC\n"
 854 "loc_FF8BFECC:\n"
 855 //; jumptable FF8"FE1C entries 3-5,8,9
 856                "BL      sub_FF8BCBA8\n"
 857                "B       loc_FF8BFFDC\n"
 858 "loc_FF8BFED4:\n"
 859 //; jumptable FF8"FE1C entry 23
 860                "BL      sub_FF8BCE20\n"
 861                "B       loc_FF8BFFDC\n"
 862 "loc_FF8BFEDC:\n"
 863 //; jumptable FF8"FE1C entries 24,25
 864                "BL      sub_FF8BD018\n"
 865                "B       loc_FF8BFFDC\n"
 866 "loc_FF8BFEE4:\n"
 867 //; jumptable FF8"FE1C entries 10,11
 868              //"BL      sub_FF8BD2D4\n"    // -
 869                "BL      sub_FF8BD2D4_my\n" // ------------->
 870                "MOV     R4, #0\n"
 871                "B       loc_FF8BFFDC\n"
 872 "loc_FF8BFEF0:\n"
 873 //; jumptable FF8"FE1C entries 26,27
 874                "BL      sub_FF8BD414\n"
 875                "B       loc_FF8BFFDC\n"
 876 "loc_FF8BFEF8:\n"
 877 //; jumptable FF8"FE1C entry 28
 878                "LDRH    R1, [R0,#4]\n"
 879                "STRH    R1, [SP,#0x10]\n"
 880                "LDRH    R1, [R5,#2]\n"
 881                "STRH    R1, [SP,#0x12]\n"
 882                "LDRH    R1, [R5,#4]\n"
 883                "STRH    R1, [SP,#0x14]\n"
 884                "LDRH    R1, [R5,#6]\n"
 885                "STRH    R1, [SP,#0x16]\n"
 886                "LDRH    R1, [R0,#0xC]\n"
 887                "STRH    R1, [SP,#0x18]\n"
 888                "BL      sub_FF8C0E3C\n"
 889                "B       loc_FF8BFFDC\n"
 890 "loc_FF8BFF28:\n"
 891 //; jumptable FF8"FE1C entry 29
 892                "LDRH    R1, [R0,#4]\n"
 893                "STRH    R1, [SP,#0x10]\n"
 894                "LDRH    R1, [R5,#2]\n"
 895                "STRH    R1, [SP,#0x12]\n"
 896                "LDRH    R1, [R5,#4]\n"
 897                "STRH    R1, [SP,#0x14]\n"
 898                "LDRH    R1, [R5,#6]\n"
 899                "STRH    R1, [SP,#0x16]\n"
 900                "LDRH    R1, [R5,#8]\n"
 901                "STRH    R1, [SP,#0x18]\n"
 902                "BL      sub_FF8C0FA8\n"
 903                "B       loc_FF8BFFDC\n"
 904 "loc_FF8BFF58:\n"
 905 //; jumptable FF8"FE1C entry 30
 906                "LDRH    R1, [R5]\n"
 907                "STRH    R1, [SP,#0x10]\n"
 908                "LDRH    R1, [R0,#6]\n"
 909                "STRH    R1, [SP,#0x12]\n"
 910                "LDRH    R1, [R5,#4]\n"
 911                "STRH    R1, [SP,#0x14]\n"
 912                "LDRH    R1, [R5,#6]\n"
 913                "STRH    R1, [SP,#0x16]\n"
 914                "LDRH    R1, [R5,#8]\n"
 915                "STRH    R1, [SP,#0x18]\n"
 916                "BL      sub_FF8C1054\n"
 917                "B       loc_FF8BFFDC\n"
 918 "loc_FF8BFF88:\n"
 919 //; jumptable FF8"FE1C entry 31
 920                "LDRH    R1, [R5]\n"
 921                "STRH    R1, [SP,#0x10]\n"
 922                "LDRH    R1, [R5,#2]\n"
 923                "STRH    R1, [SP,#0x12]\n"
 924                "LDRH    R1, [R5,#4]\n"
 925                "STRH    R1, [SP,#0x14]\n"
 926                "LDRH    R1, [R5,#6]\n"
 927                "STRH    R1, [SP,#0x16]\n"
 928                "LDRH    R1, [R0,#0xC]\n"
 929                "STRH    R1, [SP,#0x18]\n"
 930                "BL      sub_FF8C10F4\n"
 931                "B       loc_FF8BFFDC\n"
 932 "loc_FF8BFFB8:\n"
 933 //; jumptable FF8"FE1C entries 32,33
 934                "BL      sub_FF8BD76C\n"
 935                "B       loc_FF8BFFDC\n"
 936 "loc_FF8BFFC0:\n"
 937 //; jumptable FF8"FE1C entry 36
 938                "BL      sub_FF8BDD34\n"
 939                "B       loc_FF8BFFDC\n"
 940 "loc_FF8BFFC8:\n"
 941 //; jumptable FF8"FE1C entry 37
 942                "BL      sub_FF8BDF70\n"
 943                "B       loc_FF8BFFDC\n"
 944 "loc_FF8BFFD0:\n"
 945 //; jumptable FF8"FE1C entry 12
 946                "BL      sub_FF8BE0EC\n"
 947                "B       loc_FF8BFFDC\n"
 948 "loc_FF8BFFD8:\n"
 949 //; jumptable FF8"FE1C entries 13-16
 950                "BL      sub_FF8BE288\n"
 951 "loc_FF8BFFDC:\n"
 952 //; jumptable FF8"FE1C default entry
 953 //; jumptable FF8"FE1C entries 17-22,34,35
 954                "LDR     R0, [SP,#0x1C]\n"
 955                "LDR     R1, [R0,#0x7C]\n"
 956                "LDR     R3, [R0,#0x8C]\n"
 957                "LDR     R2, [R0,#0x90]\n"
 958                "ADD     R0, R0, #4\n"
 959                "BLX     R3\n"
 960                "CMP     R4, #1\n"
 961                "BNE     loc_FF8C0044\n"
 962 "loc_FF8BFFFC:\n"
 963                "LDR     R0, [SP,#0x1C]\n"
 964                "MOV     R2, #0xC\n"
 965                "LDR     R1, [R0,#0x7C]\n"
 966                "ADD     R1, R1, R1,LSL#1\n"
 967                "ADD     R0, R0, R1,LSL#2\n"
 968                "SUB     R4, R0, #8\n"
 969                "LDR     R0, =0x42240\n"
 970                "ADD     R1, SP, #0x10\n"
 971                "BL      sub_FFB3C720\n"
 972                "LDR     R0, =0x4224C\n"
 973                "MOV     R2, #0xC\n"
 974                "ADD     R1, SP, #0x10\n"
 975                "BL      sub_FFB3C720\n"
 976                "LDR     R0, =0x42258\n"
 977                "MOV     R2, #0xC\n"
 978                "MOV     R1, R4\n"
 979                "BL      sub_FFB3C720\n"
 980                "B       loc_FF8C00BC\n"
 981 "loc_FF8C0044:\n"
 982                "LDR     R0, [SP,#0x1C]\n"
 983                "LDR     R0, [R0]\n"
 984                "CMP     R0, #0xB\n"
 985                "BNE     loc_FF8C008C\n"
 986                "MOV     R3, #0\n"
 987                "STR     R3, [SP]\n"
 988                "MOV     R3, #1\n"
 989                "MOV     R2, #1\n"
 990                "MOV     R1, #1\n"
 991                "MOV     R0, #0\n"
 992                "BL      sub_FF8BC524\n"
 993                "MOV     R3, #0\n"
 994                "STR     R3, [SP]\n"
 995                "MOV     R3, #1\n"
 996                "MOV     R2, #1\n"
 997                "MOV     R1, #1\n"
 998                "MOV     R0, #0\n"
 999                "B       loc_FF8C00B8\n"
1000 "loc_FF8C008C:\n"
1001                "MOV     R3, #1\n"
1002                "MOV     R2, #1\n"
1003                "MOV     R1, #1\n"
1004                "MOV     R0, #1\n"
1005                "STR     R3, [SP]\n"
1006                "BL      sub_FF8BC524\n"
1007                "MOV     R3, #1\n"
1008                "MOV     R2, #1\n"
1009                "MOV     R1, #1\n"
1010                "MOV     R0, #1\n"
1011                "STR     R3, [SP]\n"
1012 "loc_FF8C00B8:\n"
1013                "BL      sub_FF8BC664\n"
1014 "loc_FF8C00BC:\n"
1015                "LDR     R0, [SP,#0x1C]\n"
1016                "BL      sub_FF8C0DC8\n"
1017                "B       loc_FF8BFAE4\n"
1018 );
1019 };
1020 void __attribute__((naked,noinline)) sub_FF8BD2D4_my(){ 
1021  asm volatile(
1022                "STMFD   SP!, {R4-R8,LR}\n"
1023                "LDR     R7, =0x4530\n"
1024                "MOV     R4, R0\n"
1025                "LDR     R0, [R7,#0x1C]\n"
1026                "MOV     R1, #0x3E\n"
1027                "BL      sub_FF88544C\n"
1028                "LDRSH   R0, [R4,#4]\n"
1029                "MOV     R2, #0\n"
1030                "MOV     R1, #0\n"
1031                "BL      sub_FF8BC288\n"
1032                "MOV     R6, R0\n"
1033                "LDRSH   R0, [R4,#6]\n"
1034                "BL      sub_FF8BC398\n"
1035                "LDRSH   R0, [R4,#8]\n"
1036                "BL      sub_FF8BC3F0\n"
1037                "LDRSH   R0, [R4,#0xA]\n"
1038                "BL      sub_FF8BC448\n"
1039                "LDRSH   R0, [R4,#0xC]\n"
1040                "MOV     R1, #0\n"
1041                "BL      sub_FF8BC4A0\n"
1042                "MOV     R5, R0\n"
1043                "LDR     R0, [R4]\n"
1044                "LDR     R8, =0x42258\n"
1045                "CMP     R0, #0xB\n"
1046                "MOVEQ   R6, #0\n"
1047                "MOVEQ   R5, #0\n"
1048                "BEQ     loc_FF8BD368\n"
1049                "CMP     R6, #1\n"
1050                "BNE     loc_FF8BD368\n"
1051                "LDRSH   R0, [R4,#4]\n"
1052                "LDR     R1, =0xFF8BC1F4\n"
1053                "MOV     R2, #2\n"
1054                "BL      sub_FF95B668\n"
1055                "STRH    R0, [R4,#4]\n"
1056                "MOV     R0, #0\n"
1057                "STR     R0, [R7,#0x28]\n"
1058                "B       loc_FF8BD370\n"
1059 "loc_FF8BD368:\n"
1060                "LDRH    R0, [R8]\n"
1061                "STRH    R0, [R4,#4]\n"
1062 "loc_FF8BD370:\n"
1063                "CMP     R5, #1\n"
1064                "LDRNEH  R0, [R8,#8]\n"
1065                "BNE     loc_FF8BD38C\n"
1066                "LDRSH   R0, [R4,#0xC]\n"
1067                "LDR     R1, =0xFF8BC278\n"
1068                "MOV     R2, #0x20\n"
1069                "BL      sub_FF8C0DF8\n"
1070 "loc_FF8BD38C:\n"
1071                "STRH    R0, [R4,#0xC]\n"
1072                "LDRSH   R0, [R4,#6]\n"
1073              //"BL      sub_FF8AF3D8\n"
1074                "BL      sub_FF8AF3D8_my\n" // + ------------->
1075                "LDRSH   R0, [R4,#8]\n"
1076                "MOV     R1, #1\n"
1077                "BL      sub_FF8AFB28\n"
1078                "MOV     R1, #0\n"
1079                "ADD     R0, R4, #8\n"
1080                "BL      sub_FF8AFBB0\n"
1081                "LDRSH   R0, [R4,#0xE]\n"
1082                "BL      sub_FF8B7694\n"
1083                "LDR     R4, =0xBB8\n"
1084                "CMP     R6, #1\n"
1085                "BNE     loc_FF8BD3E4\n"
1086                "LDR     R0, [R7,#0x1C]\n"
1087                "MOV     R2, R4\n"
1088                "MOV     R1, #2\n"
1089                "BL      sub_FF885358\n"
1090                "TST     R0, #1\n"
1091                "LDRNE   R1, =0x5A3\n"
1092                "LDRNE   R0, =0xFF8BC874\n"
1093                "BLNE    sub_FF81E88C\n"
1094 "loc_FF8BD3E4:\n"
1095                "CMP     R5, #1\n"
1096                "LDMNEFD SP!, {R4-R8,PC}\n"
1097                "LDR     R0, [R7,#0x1C]\n"
1098                "MOV     R2, R4\n"
1099                "MOV     R1, #0x20\n"
1100                "BL      sub_FF885358\n"
1101                "TST     R0, #1\n"
1102                "LDRNE   R1, =0x5A8\n"
1103                "LDRNE   R0, =0xFF8BC874\n"
1104                "LDMNEFD SP!, {R4-R8,LR}\n"
1105                "BNE     sub_FF81E88C\n"
1106                "LDMFD   SP!, {R4-R8,PC}\n"
1107 );
1108 };
1109 
1110 void __attribute__((naked,noinline)) sub_FF8AF3D8_my(){ // 
1111  asm volatile(
1112                 "STMFD   SP!, {R4-R6,LR}\n"
1113                 "LDR     R5, =0x4240\n"
1114                 "MOV     R4, R0\n"
1115                 "LDR     R0, [R5,#4]\n"
1116                 "CMP     R0, #1\n"
1117                 "LDRNE   R1, =0x146\n"
1118                 "LDRNE   R0, =0xFF8AF1DC\n"
1119                 "BLNE    sub_FF81E88C\n"
1120                 "CMN     R4, #0xC00\n"
1121                 "LDREQSH R4, [R5,#2]\n"
1122                 "CMN     R4, #0xC00\n"
1123                 "MOVEQ   R1, #0x14C\n"
1124                 "LDREQ   R0, =0xFF8AF1DC\n"
1125                 "STRH    R4, [R5,#2]\n"
1126                 "BLEQ    sub_FF81E88C\n"
1127                 "MOV     R0, R4\n"
1128 
1129               //"BL      sub_FFA1484C\n" // -
1130                             "BL      apex2us\n"  // +
1131 
1132                 "MOV     R4, R0\n"
1133                 "BL      sub_FF8F8EE8\n"
1134                 "MOV     R0, R4\n"
1135                 "BL      sub_FF8FF168\n"
1136                 "TST     R0, #1\n"
1137                 "LDRNE   R1, =0x151\n"
1138                 "LDMNEFD SP!, {R4-R6,LR}\n"
1139                 "LDRNE   R0, =0xFF8AF1DC\n"
1140                 "BNE     sub_FF81E88C\n"
1141                 "LDMFD   SP!, {R4-R6,PC}\n"
1142         );
1143 };
1144 

/* [<][>][^][v][top][bottom][index][help] */