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

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

DEFINITIONS

This source file includes following definitions.
  1. hangdebug
  2. capt_seq_task
  3. sub_FF962390_my
  4. sub_FF87C648_my
  5. exp_drv_task
  6. sub_FF8BEC50_my
  7. sub_FF8B153C_my

   1 #include "lolevel.h"
   2 #include "platform.h"
   3 #include "core.h"
   4 #include "conf.h"
   5 
   6 static long *nrflag = (long*)0x9B40;
   7 
   8 #include "../../../generic/capt_seq.c"
   9 
  10 void __attribute__((naked,noinline)) hangdebug() {
  11        debug_led(1);
  12        while(1);
  13 }
  14 
  15 
  16 void __attribute__((naked,noinline)) capt_seq_task() {
  17  asm volatile (
  18 //capt_seq_task                           // DATA XREF: sub_FF868F90+78 o
  19 //             "B      sub_FF87CD40\n"
  20                "STMFD  SP!, {R3-R9,LR}\n"
  21                "LDR    R6, =0x2D50\n"
  22                "LDR    R4, =0x3892C\n"
  23                "MOV    R9, #1\n"
  24                "MOV    R7, #0\n" 
  25 
  26 "loc_FF87CD54:\n" //   ; CODE XREF: _sub_FF87CD40__SsShootTask.c__13+37C\031j\n"
  27                "LDR    R0, [R6,#4]\n"
  28                "MOV    R2, #0\n"
  29                "MOV    R1, SP\n"
  30                "BL     sub_FF838318\n" // KerQueue.c__0 ; LOCATION: KerQueue.c:0\n"
  31                "TST    R0, #1\n"
  32                "BEQ    loc_FF87CD80\n"
  33                "LDR    R1, =0x5B4\n"
  34                "LDR    R0, =0xFF87C518\n" //aSsshoottask_c ; "SsShootTask.c"\n"
  35                 "BL     sub_FF81E88C\n"
  36                 "BL     sub_FF81E844\n" //eventproc_export_ExitTask ; LOCATION: KerTask.c:0\n"
  37                "LDMFD  SP!, {R3-R9,PC}\n" 
  38 // ---------------------------------------------------------------------------
  39 "loc_FF87CD80:\n"                            // CODE XREF: capt_seq_task+28 j
  40                 "LDR     R0, [SP]\n"
  41                 "LDR     R1, [R0]\n"
  42                 "CMP     R1, #0x22\n"
  43                 "ADDLS   PC, PC, R1,LSL#2\n"
  44                "B      loc_FF87D084\n"
  45 
  46                // CODE XREF: _sub_FF87CD40__SsShootTask.c__13+4C\030j\n"
  47 "loc_FF87CD94: B       loc_FF87CE20\n"
  48 "loc_FF87CD98: B       loc_FF87CE8C\n"
  49 "loc_FF87CD9C: B       loc_FF87CEC8\n"
  50 "loc_FF87CDA0: B       loc_FF87CEE8\n"
  51 "loc_FF87CDA4: B       loc_FF87CEE0\n"
  52 "loc_FF87CDA8: B       loc_FF87CEF0\n"
  53 "loc_FF87CDAC: B       loc_FF87CEF8\n"
  54 "loc_FF87CDB0: B       loc_FF87CF00\n"
  55 "loc_FF87CDB4: B       loc_FF87CF58\n"
  56 "loc_FF87CDB8: B       loc_FF87CF80\n"
  57 "loc_FF87CDBC: B       loc_FF87CF64\n"
  58 "loc_FF87CDC0: B       loc_FF87CF70\n"
  59 "loc_FF87CDC4: B       loc_FF87CF78\n"
  60 "loc_FF87CDC8: B       loc_FF87CF88\n"
  61 "loc_FF87CDCC: B       loc_FF87CF90\n"
  62 "loc_FF87CDD0: B       loc_FF87CF98\n"
  63 "loc_FF87CDD4: B       loc_FF87CFA0\n"
  64 "loc_FF87CDD8: B       loc_FF87CFA8\n"
  65 "loc_FF87CDDC: B       loc_FF87CFB0\n"
  66 "loc_FF87CDE0: B       loc_FF87CFB8\n"
  67 "loc_FF87CDE4: B       loc_FF87CFC0\n"
  68 "loc_FF87CDE8: B       loc_FF87CFC8\n"
  69 "loc_FF87CDEC: B       loc_FF87CFD0\n"
  70 "loc_FF87CDF0: B       loc_FF87CFDC\n"
  71 "loc_FF87CDF4: B       loc_FF87CFE4\n"
  72 "loc_FF87CDF8: B       loc_FF87CFF0\n"
  73 "loc_FF87CDFC: B       loc_FF87CFF8\n"
  74 "loc_FF87CE00: B       loc_FF87D028\n"
  75 "loc_FF87CE04: B       loc_FF87D030\n"
  76 "loc_FF87CE08: B       loc_FF87D038\n"
  77 "loc_FF87CE0C: B       loc_FF87D040\n"
  78 "loc_FF87CE10: B       loc_FF87D048\n"
  79 "loc_FF87CE14: B       loc_FF87D050\n"
  80 "loc_FF87CE18: B       loc_FF87D05C\n"
  81 "loc_FF87CE1C: B       loc_FF87D090\n"
  82 "loc_FF87CE20:\n"
  83 
  84 
  85                "BL     sub_FF87D6A8\n"
  86                 "BL      shooting_expo_param_override\n"  // +
  87                "BL     sub_FF87A4E0\n"
  88  //  this code added to avoid some incorrect behavior if overrides are used.
  89  //  but it can cause some unexpected side effects. In this case, remove this code!
  90                  "MOV     R0, #0\n"
  91                  "STR     R0, [R4,#0x24]\n"  // fixes overrides  behavior at short shutter press
  92  //  end of my code
  93 
  94                "LDR    R0, [R4,#0x24]\n"
  95                "CMP    R0, #0\n"
  96                "BEQ    loc_FF87D090\n"
  97                "BL     sub_FF87C1F0\n"
  98                "MOV    R5, R0\n"
  99                "LDR    R0, [R4,#0x24]\n"
 100                "CMP    R0, #0\n"
 101                "BEQ    loc_FF87CE68\n"
 102                "MOV    R0, #0xC\n"
 103                "BL     sub_FF882154\n"
 104                "TST    R0, #1\n"
 105                "STRNE  R9, [R6,#0x10]\n"
 106                "LDRNE  R0, [R5,#8]\n"
 107                "ORRNE  R0, R0, #0x40000000\n"
 108                "STRNE  R0, [R5,#8]\n"
 109                "BNE    loc_FF87D090\n"
 110 "loc_FF87CE68:\n" //                           ; CODE XREF: _sub_FF87CD40__SsShootTask.c__13+104\030j\n"
 111                "MOV    R0, R5\n"
 112                "BL     sub_FF961AF4\n"
 113                "MOV    R0, R5\n"
 114                "BL     sub_FF87C5D0\n"
 115                "MOV    R0, R5\n"
 116 //             "BL     sub_FF962390\n"
 117                "BL     sub_FF962390_my\n" // TODO
 118                 "BL      capt_seq_hook_raw_here\n"      // +
 119                "TST    R0, #1\n"
 120                "STRNE  R9, [R6,#0x10]\n"
 121                "B      loc_FF87D090\n" 
 122 
 123 // ---------------------------------------------------------------------------
 124 
 125 "loc_FF87CE8C:\n"
 126                "LDR    R0, [R4,#0x24]\n"
 127                "CMP    R0, #0\n"
 128                "BNE    loc_FF87CEB8\n"
 129                "MOV    R0, #0xC\n"
 130                "BL     sub_FF882154\n"
 131                "TST    R0, #1\n"
 132                "LDRNE  R0, [SP]\n"
 133                "MOVNE  R1, #1\n"
 134                "LDRNE  R2, [R0,#0xC]\n"
 135                "MOVNE  R0, #1\n"
 136                "BNE    loc_FF87CF50\n"
 137 "loc_FF87CEB8:\n"
 138                "LDR    R0, [SP]\n"
 139 //             "BL     sub_FF87C648\n"
 140                "BL     sub_FF87C648_my\n" // TODO
 141 "loc_FF87CEC0:\n"
 142                "STR    R7, [R4,#0x24]\n"
 143                "B      loc_FF87D090\n"
 144 "loc_FF87CEC8:\n"
 145                "MOV    R0, #1\n"
 146                "BL     sub_FF87D958\n"
 147                "LDR    R0, [R4,#0xC]\n"
 148                "CMP    R0, #0\n"
 149                "BLNE   sub_FF87E444\n"
 150                "B      loc_FF87D090\n"
 151 "loc_FF87CEE0:\n"
 152                "BL     sub_FF87D358\n"
 153                "B      loc_FF87CEC0\n"
 154 "loc_FF87CEE8:\n"
 155                "BL     sub_FF87D688\n"
 156                "B      loc_FF87CEC0\n"
 157 "loc_FF87CEF0:\n"
 158                "BL     sub_FF87D690\n"
 159                "B      loc_FF87D090\n"
 160 "loc_FF87CEF8:\n"
 161                "BL     sub_FF87D848\n"
 162                "B      loc_FF87CF5C\n"
 163 "loc_FF87CF00:\n"
 164                "LDR    R5, [R0,#0xC]\n"
 165                "BL     sub_FF87D698\n"
 166                "MOV    R0, R5\n"
 167                "BL     sub_FF960B38\n"
 168                "TST    R0, #1\n"
 169                "MOV    R8, R0\n"
 170                "BNE    loc_FF87CF40\n"
 171                "BL     sub_FF88F46C\n"
 172                "STR    R0, [R5,#0x18]\n"
 173                "MOV    R0, R5\n"
 174                "BL     sub_FF9622A8\n"
 175                "MOV    R0, R5\n"
 176                "BL     sub_FF9626A0\n"
 177                "MOV    R8, R0\n"
 178                "LDR    R0, [R5,#0x18]\n"
 179                "BL     sub_FF88F670\n"
 180 "loc_FF87CF40:\n"
 181                "BL     sub_FF87D688\n"
 182                "MOV    R2, R5\n"
 183                "MOV    R1, #9\n"
 184                "MOV    R0, R8\n"
 185 "loc_FF87CF50:\n"
 186                "BL     sub_FF87AA74\n"
 187                "B      loc_FF87D090\n"
 188 "loc_FF87CF58:\n"
 189                "BL     sub_FF87D8D8\n"
 190 "loc_FF87CF5C:\n"
 191                "BL     sub_FF87A4E0\n"
 192                "B      loc_FF87D090\n"
 193 "loc_FF87CF64:\n"
 194                "LDR    R0, [R4,#0x54]\n"
 195                "BL     sub_FF87DF5C\n"
 196                "B      loc_FF87D090\n"
 197 "loc_FF87CF70:\n"
 198                "BL     sub_FF87E204\n"
 199                "B      loc_FF87D090\n"
 200 "loc_FF87CF78:\n"
 201                "BL     sub_FF87E294\n"
 202                "B      loc_FF87D090\n"
 203 "loc_FF87CF80:\n"
 204                "BL     sub_FF87D688\n"
 205                "B      loc_FF87D090\n"
 206 "loc_FF87CF88:\n"
 207                "BL     sub_FF960D64\n"
 208                "B      loc_FF87D090\n"
 209 "loc_FF87CF90:\n"
 210                "BL     sub_FF960FBC\n"
 211                "B      loc_FF87D090\n"
 212 "loc_FF87CF98:\n"
 213                "BL     sub_FF96105C\n"
 214                "B      loc_FF87D090\n"
 215 "loc_FF87CFA0:\n"
 216                "BL     sub_FF961190\n"
 217                "B      loc_FF87D090\n"
 218 "loc_FF87CFA8:\n"
 219                "BL     sub_FF961260\n"
 220                "B      loc_FF87D090\n"
 221 "loc_FF87CFB0:\n"
 222                "MOV    R0, #0\n"
 223                "B      loc_FF87CFD4\n"
 224 "loc_FF87CFB8:\n"
 225                "BL     sub_FF961838\n"
 226                "B      loc_FF87D090\n"
 227 "loc_FF87CFC0:\n"
 228                "BL     sub_FF9618C8\n"
 229                "B      loc_FF87D090\n"
 230 "loc_FF87CFC8:\n"
 231                "BL     sub_FF961988\n"
 232                "B      loc_FF87D090\n"
 233 "loc_FF87CFD0:\n"
 234                "MOV    R0, #1\n"
 235 "loc_FF87CFD4:\n"
 236                "BL     sub_FF9616F8\n"
 237                "B      loc_FF87D090\n"
 238 "loc_FF87CFDC:\n"
 239                "BL     sub_FF87DB74\n"
 240                "B      loc_FF87D090\n"
 241 "loc_FF87CFE4:\n"
 242                "BL     sub_FF87DC14\n"
 243                "BL     sub_FF87D1B8\n"
 244                "B      loc_FF87D090\n"
 245 "loc_FF87CFF0:\n"
 246                "BL     sub_FF961520\n"
 247                "B      loc_FF87D090\n"
 248 "loc_FF87CFF8:\n"
 249                "MOV    R2, #2\n"
 250                "ADD    R1, R4, #0x6A\n"
 251                "MOV    R0, #0x6F\n"
 252                "BL     sub_FF88F2DC\n"
 253                "TST    R0, #1\n"
 254                "LDRNE  R1, =0x6AB\n"
 255                "LDRNE  R0, =0xFF87C518\n"
 256                "BLNE   sub_FF81E88C\n"
 257                "LDRH   R0, [R4,#0x6A]\n"
 258                "CMP    R0, #1\n"
 259                "BLEQ   sub_FF961514\n"
 260                "B      loc_FF87D090\n"
 261 "loc_FF87D028:\n"
 262                "BL     sub_FF96164C\n"
 263                "B      loc_FF87D090\n"
 264 "loc_FF87D030:\n"
 265                "BL     sub_FF87C4A8\n"
 266                "B      loc_FF87D090\n"
 267 "loc_FF87D038:\n"
 268                "BL     sub_FF835E64\n"
 269                "B      loc_FF87D090\n"
 270 "loc_FF87D040:\n"
 271                "BL     sub_FF880584\n"
 272                "B      loc_FF87D090\n"
 273 "loc_FF87D048:\n"
 274                "BL     sub_FF8805EC\n"
 275                "B      loc_FF87D090\n"
 276 "loc_FF87D050:\n"
 277                "BL     sub_FF880648\n"
 278                "BL     sub_FF880608\n"
 279                "B      loc_FF87D090\n"
 280 "loc_FF87D05C:\n"
 281                "MOV    R0, #1\n"
 282                "BL     sub_FF962EE8\n"
 283                "MOV    R0, #1\n"
 284                "BL     sub_FF962FF8\n"
 285                "LDRH   R0, [R4,#0xA8]\n"
 286                "CMP    R0, #4\n"
 287                "BNE    loc_FF87D090\n"
 288                "BL     sub_FF8805EC\n"
 289                "BL     sub_FF880A34\n"
 290                "B      loc_FF87D090\n"
 291 "loc_FF87D084:\n"
 292                "LDR    R1, =0x709\n"
 293                "LDR    R0, =0xFF87C518\n"
 294                "BL     sub_FF81E88C\n"
 295 "loc_FF87D090:\n"
 296                "LDR    R0, [SP]\n"
 297                "LDR    R1, [R0,#4]\n"
 298                "LDR    R0, [R6]\n"
 299                "BL     sub_FF88712C\n"
 300                "LDR    R5, [SP]\n"
 301                "LDR    R0, [R5,#8]\n"
 302                "CMP    R0, #0\n"
 303                "LDREQ  R1, =0x132\n"
 304                "LDREQ  R0, =0xFF87C518\n"
 305                "BLEQ   sub_FF81E88C\n"
 306                "STR    R7, [R5,#8]\n"
 307                "B      loc_FF87CD54\n"
 308 
 309 // End of function capt_seq_task
 310  );
 311 } 
 312 
 313 
 314 
 315 
 316 
 317 void __attribute__((naked,noinline)) sub_FF962390_my(){
 318  asm volatile(
 319                "STMFD  SP!, {R0-R8,LR}\n"
 320                "MOV    R4, R0\n"
 321                "BL     sub_FF9631E4\n"
 322                "LDR    R1, =0xFFFFFFFF\n"
 323                "BL     sub_FF887160\n"
 324                "LDR    R5, =0x7908\n"
 325                "LDR    R0, [R5,#0xC]\n"
 326                "CMP    R0, #0\n"
 327                "BNE    loc_FF9623E0\n"
 328                "MOV    R1, #1\n"
 329                "MOV    R0, #0\n"
 330                "BL     sub_FF838B60\n"
 331                "STR    R0, [R5,#0xC]\n"
 332                "MOV    R3, #0\n"
 333                "STR    R3, [SP]\n"
 334                "LDR    R3, =0xFF961D1C\n"
 335                "LDR    R0, =0xFF96260\n"
 336                "MOV    R2, #0x400\n"
 337                "MOV    R1, #0x17\n"
 338                "BL     sub_FF838B2C\n"
 339 "loc_FF9623E0:\n" //                           ; CODE XREF: _sub_FF962390__SsCaptureSeq.c__0+20\030j\n"
 340                "MOV    R2, #4\n"
 341                "ADD    R1, SP, #0x8\n"
 342                "MOV    R0, #0x8A\n"
 343                "BL     sub_FF88F2DC\n"
 344                "TST    R0, #1\n"
 345                "LDRNE  R1, =0x3C5\n"
 346                "LDRNE  R0, =0xFF961FB4\n"
 347                "BLNE   sub_FF81E88C\n"
 348                "LDR    R8, =0x38A00\n"
 349                "LDR    R7, =0x3892C\n"
 350                "LDRSH  R1, [R8,#0xE]\n"
 351                "LDR    R0, [R7,#0x9C]\n"
 352                "BL     sub_FF92526C\n"
 353                "BL     sub_FF8626D0\n"
 354                "LDR    R3, =0x7910\n"
 355                "STRH   R0, [R4,#0xA4]\n"
 356                "SUB    R2, R3, #4\n"
 357                "STRD   R2, [SP]\n"
 358                "MOV    R1, R0\n"
 359                "LDRH   R0, [R7,#0x64]\n"
 360                "LDRSH  R2, [R8,#0xC]\n"
 361                "SUB    R3, R3, #8\n"
 362                "BL     sub_FF964848\n"
 363                "LDR    R0, [R4,#0x1C]\n"
 364                "CMP    R0, #0\n"
 365                "MOVNE  R0, #1\n"
 366                "STRNE  R0, [R5]\n"
 367                "LDR    R0, [R5,#4]\n"
 368                "BL     sub_FF9254F8\n"
 369                "LDR    R0, [R5,#8]\n"
 370                "BL     sub_FF8C83EC\n"
 371                "MOV    R0, #1\n"
 372                "BL     sub_FF8C83F8\n" // BX LR
 373                "LDR    R0, =0xFF961D8C\n"
 374                "MOV    R1, R4\n"
 375                "BL     sub_FF8C83C8\n"
 376                "LDR    R0, [R5]\n"
 377                "CMP    R0, #5\n"
 378                "ADDLS  PC, PC, R0,LSL#2\n"
 379                 "BL     wait_until_remote_button_is_released\n"
 380                 "BL     capt_seq_hook_set_nr\n"                     // +
 381                "B      sub_FF962548\n"                             // continue function in firmware
 382  );
 383 }
 384 
 385 
 386 
 387 
 388 
 389 
 390 
 391 void __attribute__((naked,noinline)) sub_FF87C648_my(){
 392  asm volatile(
 393                "STMFD  SP!, {R3-R9,LR}\n"
 394                "LDR    R4, [R0,#0xC]\n"
 395                "LDR    R5, =0x3892C\n"
 396                "LDR    R0, [R4,#8]\n"
 397                "LDR    R6, =0x820A\n"
 398                "ORR    R0, R0, #1\n"
 399                "STR    R0, [R4,#8]\n"
 400                "LDRH   R0, [R5]\n"
 401                "LDR    R8, =0x2D50\n"
 402                "MOV    R7, #0\n"
 403                "CMP    R0, R6\n"
 404                "BEQ    loc_FF87C6EC\n"
 405                "LDRH   R0, [R5,#0xA6]\n"
 406                "CMP    R0, #3\n"
 407                "BEQ    loc_FF87C74C\n"
 408                "LDR    R0, [R4,#0xC]\n"
 409                "CMP    R0, #1\n"
 410                "BLS    loc_FF87C6F8\n"
 411                "LDRH   R0, [R5,#0xA4]\n"
 412                "CMP    R0, #0\n"
 413                "BNE    loc_FF87C74C\n"
 414                "LDRH   R0, [R5,#0xA0]\n"
 415                "CMP    R0, #2\n"
 416                "BNE    loc_FF87C704\n"
 417                "BL     sub_FF87DCC4\n"
 418                "LDRH   R0, [R5]\n"
 419                "CMP    R0, R6\n"
 420                "BEQ    loc_FF87C6EC\n"
 421                "LDRH   R0, [R5,#0xA6]\n"
 422                "CMP    R0, #3\n"
 423                "BEQ    loc_FF87C74C\n"
 424                "LDR    R0, [R4,#0xC]\n"
 425                "CMP    R0, #1\n"
 426                "BLS    loc_FF87C6F8\n"
 427                "LDRH   R0, [R5,#0xA4]\n"
 428                "CMP    R0, #0\n"
 429                "BNE    loc_FF87C74C\n"
 430                "LDRH   R0, [R5,#0xA0]\n"
 431                "CMP    R0, #2\n"
 432                "BEQ    loc_FF87C730\n"
 433                "B      loc_FF87C704\n"
 434 "loc_FF87C6EC:\n" //                           ; CODE XREF: sub_FF87C648+2C\030j\n"
 435                "LDRH   R0, [R5,#0xA6]\n"
 436                "CMP    R0, #3\n"
 437                "BEQ    loc_FF87C74C\n"
 438 "loc_FF87C6F8:\n" //                           ; CODE XREF: sub_FF87C648+44\030j\n"
 439                "LDRH   R0, [R5,#0xA4]\n"
 440                "CMP    R0, #0\n"
 441                "BNE    loc_FF87C74C\n"
 442 "loc_FF87C704:\n" //                           ; CODE XREF: sub_FF87C648+5C\030j\n"
 443                "LDRH   R0, [R5,#0xA0]\n"
 444                "CMP    R0, #1\n"
 445                "BNE    loc_FF87C74C\n"
 446                "LDRH   R0, [R5]\n"
 447                "CMP    R0, R6\n"
 448                "LDRNE  R0, [R4,#0xC]\n"
 449                "CMPNE  R0, #1\n"
 450                "BLS    loc_FF87C74C\n"
 451                "LDR    R0, [R4,#0x10]\n"
 452                "CMP    R0, #1\n"
 453                "BNE    loc_FF87C74C\n"
 454 "loc_FF87C730:\n" //                           ; CODE XREF: sub_FF87C648+9C\030j\n"
 455                "LDR    R3, =0x269\n"
 456                "LDR    R2, =0xEA60\n"
 457                "STR    R3, [SP]\n"
 458                "LDR    R0, [R8]\n"
 459                "LDR    R3, =0xFF87C518\n" // copied from above ; "SsShootTask.c"\n"
 460                "MOV    R1, #0x40000000\n"
 461                "BL     sub_FF8824D4\n"
 462 "loc_FF87C74C:\n" //                           ; CODE XREF: sub_FF87C648+38\030j\n"
 463                "BL     sub_FF87C4A8\n"
 464                "LDR    R0, [R5,#0x24]\n"
 465                "CMP    R0, #0\n"
 466                "MOVEQ  R0, #2\n"
 467                "BLEQ   sub_FF876154\n"
 468                "BL     sub_FF87D698\n"
 469                "LDR    R0, [R5,#0x24]\n"
 470                "CMP    R0, #0\n"
 471                "BNE    loc_FF87C818\n"
 472                "MOV    R0, #0\n"
 473                "BL     sub_FF962EE8\n"
 474                "MOV    R0, #0\n"
 475                "BL     sub_FF962FF8\n"
 476                "MOV    R0, R4\n"
 477                "BL     sub_FF961AF4\n"
 478                "MOV    R0, R4\n"
 479                "BL     sub_FF87DAF0\n"
 480                "MOV    R0, R4\n"
 481                "BL     sub_FF9606EC\n"
 482                "CMP    R0, #0\n"
 483                "BEQ    loc_FF87C7CC\n"
 484                "BL     sub_FF962F28\n"
 485                "BL     sub_FF96303C\n"
 486                "BL     sub_FF96308C\n"
 487                "MOV    R0, R4\n"
 488                "BL     sub_FF960864\n"
 489                "TST    R0, #1\n"
 490                "MOVNE  R2, R4\n"
 491                "LDMNEFD        SP!, {R3-R9,LR}\n"
 492                "MOVNE  R1, #1\n"
 493                "BNE    sub_FF87AA74\n"
 494                "B      loc_FF87C7F4\n"
 495 "loc_FF87C7CC:\n" //                           ; CODE XREF: sub_FF87C648+154\030j\n"
 496                "LDR    R0, [R5,#0xC]\n"
 497                "CMP    R0, #0\n"
 498                "BEQ    loc_FF87C7E0\n"
 499                "BL     sub_FF87E3C8\n"
 500                "BL     sub_FF877A24\n"
 501 "loc_FF87C7E0:\n" //                           ; CODE XREF: sub_FF87C648+18C\030j\n"
 502                "MOV    R0, R4\n"
 503                "BL     sub_FF9607D0\n"
 504                "BL     sub_FF962F28\n"
 505                "BL     sub_FF96303C\n"
 506                "BL     sub_FF96308C\n"
 507 "loc_FF87C7F4:\n" //                           ; CODE XREF: sub_FF87C648+180\030j\n"
 508                "MOV    R0, R4\n"
 509                "BL     sub_FF87C5D0\n"
 510                "MOV    R0, R4\n"
 511                "BL     sub_FF9622A8\n"
 512                "BL     sub_FF962D20\n"
 513                "MOV    R0, R4\n"
 514                "BL     sub_FF962390\n"
 515                "MOV    R7, R0\n"
 516                "BL      capt_seq_hook_raw_here\n"      // +
 517                "B      loc_FF87C824\n"
 518 "loc_FF87C818:\n" //                           ; CODE XREF: sub_FF87C648+124\030j\n"
 519                "LDR    R0, [R8,#0x10]\n"
 520                "CMP    R0, #0\n"
 521                "MOVNE  R7, #0x1D\n"
 522 "loc_FF87C824:\n" //                           ; CODE XREF: sub_FF87C648+1CC\030j\n"
 523                "BL     sub_FF8805EC\n"
 524                "BL     sub_FF880634\n"
 525                "BL     sub_FF880674\n"
 526                "MOV    R2, R4\n"
 527                "MOV    R1, #1\n"
 528                "MOV    R0, R7\n"
 529                "BL     sub_FF87AA74\n"
 530                "BL     sub_FF962644\n"
 531                "CMP    R0, #0\n"
 532                "LDRNE  R0, [R4,#8]\n"
 533                "ORRNE  R0, R0, #0x2000\n"
 534                "STRNE  R0, [R4,#8]\n"
 535                "LDR    R0, [R4,#0x1C]\n"
 536                "CMP    R0, #0\n"
 537                "BLNE   sub_FF877A3C\n"
 538                "LDRH   R0, [R5,#0xA6]\n"
 539                "CMP    R0, #3\n"
 540                "BEQ    locret_FF87C888\n"
 541                "LDRH   R0, [R5,#0xA4]\n"
 542                "CMP    R0, #0\n"
 543                "LDREQH R0, [R5,#0xA0]\n"
 544                "CMPEQ  R0, #2\n"
 545                "MOVEQ  R0, R4\n"
 546                "LDMEQFD        SP!, {R3-R9,LR}\n"
 547                "BEQ    sub_FF87DD18\n"
 548 "locret_FF87C888:\n" //                                ; CODE XREF: sub_FF87C648+220\030j\n"
 549                "LDMFD  SP!, {R3-R9,PC}\n"
 550 
 551  );
 552 }
 553 
 554 
 555 
 556 
 557 /*************************************************************/
 558 void __attribute__((naked,noinline)) exp_drv_task(){
 559  asm volatile(
 560                "STMFD  SP!, {R4-R8,LR}\n"
 561                "SUB    SP, SP, #0x20\n"
 562                "LDR    R8, =0xBB8\n"
 563                "LDR    R7, =0x4658\n"
 564                "LDR    R5, =0x3D8EC\n"
 565                "MOV    R0, #0\n"
 566                "ADD    R6, SP, #0x10\n"
 567                "STR    R0, [SP,#0xC]\n"
 568 "loc_FF8C1460:\n" //                           ; CODE XREF: task_ExpDrvTask+5B8\031j\n"
 569                "LDR    R0, [R7,#0x20]\n"
 570                "MOV    R2, #0\n"
 571                "ADD    R1, SP, #0x1C\n"
 572                "BL     sub_FF838318\n"
 573                "LDR    R0, [SP,#0xC]\n"
 574                "CMP    R0, #1\n"
 575                "BNE    loc_FF8C14AC\n"
 576                "LDR    R0, [SP,#0x1C]\n"
 577                "LDR    R0, [R0]\n"
 578                "CMP    R0, #0x13\n"
 579                "CMPNE  R0, #0x14\n"
 580                "CMPNE  R0, #0x15\n"
 581                "CMPNE  R0, #0x16\n"
 582                "BEQ    loc_FF8C15C8\n"
 583                "CMP    R0, #0x28\n"
 584                "BEQ    loc_FF8C15A0\n"
 585                "ADD    R1, SP, #0xC\n"
 586                "MOV    R0, #0\n"
 587                "BL     sub_FF8C13F0\n"
 588 "loc_FF8C14AC:\n" //                           ; CODE XREF: task_ExpDrvTask+38\030j\n"
 589                "LDR    R0, [SP,#0x1C]\n"
 590                "LDR    R1, [R0]\n"
 591                "CMP    R1, #0x2D\n"
 592                "BNE    loc_FF8C14DC\n"
 593                "LDR    R0, [SP,#0x1C]\n"
 594                "BL     sub_FF8C26A8\n"
 595                "LDR    R0, [R7,#0x1C]\n"
 596                "MOV    R1, #1\n"
 597                "BL     sub_FF88712C\n"
 598                "BL     sub_FF81E844\n"
 599                "ADD    SP, SP, #0x20\n"
 600                "LDMFD  SP!, {R4-R8,PC}\n"
 601 "loc_FF8C14DC:\n" //                           ; CODE XREF: task_ExpDrvTask+78\030j\n"
 602                "CMP    R1, #0x2C\n"
 603                "BNE    loc_FF8C14F8\n"
 604                "LDR    R2, [R0,#0x8C]!\n"
 605                "LDR    R1, [R0,#4]\n"
 606                "MOV    R0, R1\n"
 607                "BLX    R2\n"
 608                "B      loc_FF8C19F0\n"
 609 "loc_FF8C14F8:\n" //                           ; CODE XREF: task_ExpDrvTask+A0\030j\n"
 610                "CMP    R1, #0x26\n"
 611                "BNE    loc_FF8C1548\n"
 612                "LDR    R0, [R7,#0x1C]\n"
 613                "MOV    R1, #0x80\n"
 614                "BL     sub_FF887160\n"
 615                "LDR    R0, =0xFF8BDB7C\n"
 616                "MOV    R1, #0x80\n"
 617                "BL     sub_FF95171C\n"
 618                "LDR    R0, [R7,#0x1C]\n"
 619                "MOV    R2, R8\n"
 620                "MOV    R1, #0x80\n"
 621                "BL     sub_FF88706C\n"
 622                "TST    R0, #1\n"
 623                "LDRNE  R1, =0xE54\n"
 624                "BNE    loc_FF8C158C\n"
 625 "loc_FF8C1534:\n" //                           ; CODE XREF: task_ExpDrvTask+144\031j\n"
 626                "LDR    R1, [SP,#0x1C]\n"
 627                "LDR    R0, [R1,#0x90]\n"
 628                "LDR    R1, [R1,#0x8C]\n"
 629                "BLX    R1\n"
 630                "B      loc_FF8C19F0\n"
 631 "loc_FF8C1548:\n" //                           ; CODE XREF: task_ExpDrvTask+BC\030j\n"
 632                "CMP    R1, #0x27\n"
 633                "BNE    loc_FF8C1598\n"
 634                "ADD    R1, SP, #0xC\n"
 635                "BL     sub_FF8C13F0\n"
 636                "LDR    R0, [R7,#0x1C]\n"
 637                "MOV    R1, #0x100\n"
 638                "BL     sub_FF887160\n"
 639                "LDR    R0, =0xFF8BDB8C\n"
 640                "MOV    R1, #0x100\n"
 641                "BL     sub_FF9520A8\n"
 642                "LDR    R0, [R7,#0x1C]\n"
 643                "MOV    R2, R8\n"
 644                "MOV    R1, #0x100\n"
 645                "BL     sub_FF88706C\n"
 646                "TST    R0, #1\n"
 647                "BEQ    loc_FF8C1534\n"
 648                "LDR    R1, =0xE5E\n"
 649 "loc_FF8C158C:\n" //                           ; CODE XREF: task_ExpDrvTask+F0\030j\n"
 650                "LDR    R0, =0xFF8BE1F0\n"
 651                "BL     sub_FF81E88C\n"
 652                "B      loc_FF8C1534\n"
 653 "loc_FF8C1598:\n" //                           ; CODE XREF: task_ExpDrvTask+10C\030j\n"
 654                "CMP    R1, #0x28\n"
 655                "BNE    loc_FF8C15B0\n"
 656 "loc_FF8C15A0:\n" //                           ; CODE XREF: task_ExpDrvTask+5C\030j\n"
 657                "LDR    R0, [SP,#0x1C]\n"
 658                "ADD    R1, SP, #0xC\n"
 659                "BL     sub_FF8C13F0\n"
 660                "B      loc_FF8C1534\n"
 661 "loc_FF8C15B0:\n" //                           ; CODE XREF: task_ExpDrvTask+15C\030j\n"
 662                "CMP    R1, #0x2B\n"
 663                "BNE    loc_FF8C15C8\n"
 664                "BL     sub_FF8B17CC\n"
 665                "BL     sub_FF8B23F0\n"
 666                "BL     sub_FF8B1F44\n"
 667                "B      loc_FF8C1534\n"
 668 "loc_FF8C15C8:\n" //                           ; CODE XREF: task_ExpDrvTask+54\030j\n"
 669                "LDR    R0, [SP,#0x1C]\n"
 670                "MOV    R4, #1\n"
 671                "LDR    R1, [R0]\n"
 672                "CMP    R1, #0x11\n"
 673                "CMPNE  R1, #0x12\n"
 674                "BNE    loc_FF8C1638\n"
 675                "LDR    R1, [R0,#0x7C]\n"
 676                "ADD    R1, R1, R1,LSL#1\n"
 677                "ADD    R1, R0, R1,LSL#2\n"
 678                "SUB    R1, R1, #8\n"
 679                "LDMIA  R1, {R2-R4}\n"
 680                "STMIA  R6, {R2-R4}\n"
 681                "BL     sub_FF8BFD58\n" // loc -> sub
 682                "LDR    R0, [SP,#0x1C]\n"
 683                "LDR    R1, [R0,#0x7C]\n"
 684                "LDR    R3, [R0,#0x8C]\n"
 685                "LDR    R2, [R0,#0x90]\n"
 686                "ADD    R0, R0, #4\n"
 687                "BLX    R3\n"
 688                "LDR    R0, [SP,#0x1C]\n"
 689                "BL     sub_FF8C2A6C\n"
 690                "LDR    R0, [SP,#0x1C]\n"
 691                "LDR    R1, [R0,#0x7C]\n"
 692                "LDR    R3, [R0,#0x94]\n"
 693                "LDR    R2, [R0,#0x98]\n"
 694                "ADD    R0, R0, #4\n"
 695                "BLX    R3\n"
 696                "B      loc_FF8C1930\n"
 697 "loc_FF8C1638:\n" //                           ; CODE XREF: task_ExpDrvTask+19C\030j\n"
 698                "CMP    R1, #0x13\n"
 699                "CMPNE  R1, #0x14\n"
 700                "CMPNE  R1, #0x15\n"
 701                "CMPNE  R1, #0x16\n"
 702                "BNE    loc_FF8C16F0\n"
 703                "ADD    R3, SP, #0xC\n"
 704                "MOV    R2, SP\n"
 705                "ADD    R1, SP, #0x10\n"
 706                "BL     sub_FF8C0040\n"
 707                "CMP    R0, #1\n"
 708                "MOV    R4, R0\n"
 709                "CMPNE  R4, #5\n"
 710                "BNE    loc_FF8C168C\n"
 711                "LDR    R0, [SP,#0x1C]\n"
 712                "MOV    R2, R4\n"
 713                "LDR    R1, [R0,#0x7C]!\n"
 714                "LDR    R12, [R0,#0x10]!\n"
 715                "LDR    R3, [R0,#4]\n"
 716                "MOV    R0, SP\n"
 717                "BLX    R12\n"
 718                "B      loc_FF8C16C4\n"
 719 "loc_FF8C168C:\n" //                           ; CODE XREF: task_ExpDrvTask+228\030j\n"
 720                "LDR    R0, [SP,#0x1C]\n"
 721                "CMP    R4, #2\n"
 722                "LDR    R3, [R0,#0x90]\n"
 723                "CMPNE  R4, #6\n"
 724                "BNE    loc_FF8C16D8\n"
 725                "LDR    R12, [R0,#0x8C]\n"
 726                "MOV    R0, SP\n"
 727                "MOV    R2, R4\n"
 728                "MOV    R1, #1\n"
 729                "BLX    R12\n"
 730                "LDR    R0, [SP,#0x1C]\n"
 731                "MOV    R2, SP\n"
 732                "ADD    R1, SP, #0x10\n"
 733                "BL     sub_FF8C10F8\n"
 734 "loc_FF8C16C4:\n" //                           ; CODE XREF: task_ExpDrvTask+248\030j\n"
 735                "LDR    R0, [SP,#0x1C]\n"
 736                "LDR    R2, [SP,#0xC]\n"
 737                "MOV    R1, R4\n"
 738                "BL     sub_FF8C1390\n"
 739                "B      loc_FF8C1930\n"
 740 "loc_FF8C16D8:\n" //                           ; CODE XREF: task_ExpDrvTask+25C\030j\n"
 741                "LDR    R1, [R0,#0x7C]\n"
 742                "LDR    R12, [R0,#0x8C]\n"
 743                "ADD    R0, R0, #4\n"
 744                "MOV    R2, R4\n"
 745                "BLX    R12\n"
 746                "B      loc_FF8C1930\n"
 747 "loc_FF8C16F0:\n" //                           ; CODE XREF: task_ExpDrvTask+208\030j\n"
 748                "CMP    R1, #0x22\n"
 749                "CMPNE  R1, #0x23\n"
 750                "BNE    loc_FF8C173C\n"
 751                "LDR    R1, [R0,#0x7C]\n"
 752                "ADD    R1, R1, R1,LSL#1\n"
 753                "ADD    R1, R0, R1,LSL#2\n"
 754                "SUB    R1, R1, #8\n"
 755                "LDMIA  R1, {R2-R4}\n"
 756                "STMIA  R6, {R2-R4}\n"
 757                "BL     sub_FF8BF29C\n"
 758                "LDR    R0, [SP,#0x1C]\n"
 759                "LDR    R1, [R0,#0x7C]\n"
 760                "LDR    R3, [R0,#0x8C]\n"
 761                "LDR    R2, [R0,#0x90]\n"
 762                "ADD    R0, R0, #4\n"
 763                "BLX    R3\n"
 764                "LDR    R0, [SP,#0x1C]\n"
 765                "BL     sub_FF8BF59C\n"
 766                "B      loc_FF8C1930\n"
 767 "loc_FF8C173C:\n" //                           ; CODE XREF: task_ExpDrvTask+2B8\030j\n"
 768                "ADD    R1, R0, #4\n"
 769                "LDMIA  R1, {R2,R3,R12}\n"
 770                "STMIA  R6, {R2,R3,R12}\n"
 771                "LDR    R1, [R0]\n"
 772                "CMP    R1, #0x25\n"
 773                "ADDLS  PC, PC, R1,LSL#2\n"
 774                "B      loc_FF8C1910\n" 
 775 
 776 
 777 "loc_FF8C1758: B       loc_FF8C17F0\n"
 778 "loc_FF8C175C: B       loc_FF8C17F0\n"
 779 "loc_FF8C1760: B       loc_FF8C17F8\n"
 780 "loc_FF8C1764: B       loc_FF8C1800\n"
 781 "loc_FF8C1768: B       loc_FF8C1800\n"
 782 "loc_FF8C176C: B       loc_FF8C1800\n"
 783 "loc_FF8C1770: B       loc_FF8C17F0\n"
 784 "loc_FF8C1774: B       loc_FF8C17F8\n"
 785 "loc_FF8C1778: B       loc_FF8C1800\n"
 786 "loc_FF8C177C: B       loc_FF8C1800\n"
 787 "loc_FF8C1780: B       loc_FF8C1818\n"
 788 "loc_FF8C1784: B       loc_FF8C1818\n"
 789 "loc_FF8C1788: B       loc_FF8C1904\n"
 790 "loc_FF8C178C: B       loc_FF8C190C\n"
 791 "loc_FF8C1790: B       loc_FF8C190C\n"
 792 "loc_FF8C1794: B       loc_FF8C190C\n"
 793 "loc_FF8C1798: B       loc_FF8C190C\n"
 794 "loc_FF8C179C: B       loc_FF8C1910\n"
 795 "loc_FF8C17A0: B       loc_FF8C1910\n"
 796 "loc_FF8C17A4: B       loc_FF8C1910\n"
 797 "loc_FF8C17A8: B       loc_FF8C1910\n"
 798 "loc_FF8C17AC: B       loc_FF8C1910\n"
 799 "loc_FF8C17B0: B       loc_FF8C1910\n"
 800 "loc_FF8C17B4: B       loc_FF8C1808\n"
 801 "loc_FF8C17B8: B       loc_FF8C1810\n"
 802 "loc_FF8C17BC: B       loc_FF8C1810\n"
 803 "loc_FF8C17C0: B       loc_FF8C1824\n"
 804 "loc_FF8C17C4: B       loc_FF8C1824\n"
 805 "loc_FF8C17C8: B       loc_FF8C182C\n"
 806 "loc_FF8C17CC: B       loc_FF8C185C\n"
 807 "loc_FF8C17D0: B       loc_FF8C188C\n"
 808 "loc_FF8C17D4: B       loc_FF8C18BC\n"
 809 "loc_FF8C17D8: B       loc_FF8C18EC\n"
 810 "loc_FF8C17DC: B       loc_FF8C18EC\n"
 811 "loc_FF8C17E0: B       loc_FF8C1910\n"
 812 "loc_FF8C17E4: B       loc_FF8C1910\n"
 813 "loc_FF8C17E8: B       loc_FF8C18F4\n"
 814 "loc_FF8C17EC: B       loc_FF8C18FC\n"
 815 
 816 "loc_FF8C17F0:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 817                "BL     sub_FF8BE094\n"
 818                "B      loc_FF8C1910\n"
 819 "loc_FF8C17F8:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 820                "BL     sub_FF8BE31C\n"
 821                "B      loc_FF8C1910\n"
 822 "loc_FF8C1800:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 823                "BL     sub_FF8BE524\n"
 824                "B      loc_FF8C1910\n"
 825 "loc_FF8C1808:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 826                "BL     sub_FF8BE79C\n"
 827                "B      loc_FF8C1910\n"
 828 "loc_FF8C1810:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 829                "BL     sub_FF8BE994\n"
 830                "B      loc_FF8C1910\n"
 831 "loc_FF8C1818:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 832 //             "BL     sub_FF8BEC50\n"
 833                "BL     sub_FF8BEC50_my\n" // ---->
 834                "MOV    R4, #0\n"
 835                "B      loc_FF8C1910\n"
 836 "loc_FF8C1824:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 837                "BL     sub_FF8BED90\n"
 838                "B      loc_FF8C1910\n"
 839 "loc_FF8C182C:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 840                "LDRH   R1, [R0,#4]\n"
 841                "STRH   R1, [SP,#0x10]\n"
 842                "LDRH   R1, [R5,#2]\n"
 843                "STRH   R1, [SP,#0x12]\n"
 844                "LDRH   R1, [R5,#4]\n"
 845                "STRH   R1, [SP,#0x14]\n"
 846                "LDRH   R1, [R5,#6]\n"
 847                "STRH   R1, [SP,#0x16]\n"
 848                "LDRH   R1, [R0,#0xC]\n"
 849                "STRH   R1, [SP,#0x18]\n"
 850                "BL     sub_FF8C271C\n"
 851                "B      loc_FF8C1910\n"
 852 "loc_FF8C185C:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 853                "LDRH   R1, [R0,#4]\n"
 854                "STRH   R1, [SP,#0x10]\n"
 855                "LDRH   R1, [R5,#2]\n"
 856                "STRH   R1, [SP,#0x12]\n"
 857                "LDRH   R1, [R5,#4]\n"
 858                "STRH   R1, [SP,#0x14]\n"
 859                "LDRH   R1, [R5,#6]\n"
 860                "STRH   R1, [SP,#0x16]\n"
 861                "LDRH   R1, [R5,#8]\n"
 862                "STRH   R1, [SP,#0x18]\n"
 863                "BL     sub_FF8C2884\n"
 864                "B      loc_FF8C1910\n"
 865 "loc_FF8C188C:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 866                "LDRH   R1, [R5]\n"
 867                "STRH   R1, [SP,#0x10]\n"
 868                "LDRH   R1, [R0,#6]\n"
 869                "STRH   R1, [SP,#0x12]\n"
 870                "LDRH   R1, [R5,#4]\n"
 871                "STRH   R1, [SP,#0x14]\n"
 872                "LDRH   R1, [R5,#6]\n"
 873                "STRH   R1, [SP,#0x16]\n"
 874                "LDRH   R1, [R5,#8]\n"
 875                "STRH   R1, [SP,#0x18]\n"
 876                "BL     sub_FF8C2930\n"
 877                "B      loc_FF8C1910\n"
 878 "loc_FF8C18BC:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 879                "LDRH   R1, [R5]\n"
 880                "STRH   R1, [SP,#0x10]\n"
 881                "LDRH   R1, [R5,#2]\n"
 882                "STRH   R1, [SP,#0x12]\n"
 883                "LDRH   R1, [R5,#4]\n"
 884                "STRH   R1, [SP,#0x14]\n"
 885                "LDRH   R1, [R5,#6]\n"
 886                "STRH   R1, [SP,#0x16]\n"
 887                "LDRH   R1, [R0,#0xC]\n"
 888                "STRH   R1, [SP,#0x18]\n"
 889                "BL     sub_FF8C29D0\n"
 890                "B      loc_FF8C1910\n"
 891 "loc_FF8C18EC:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 892                "BL     sub_FF8BF0D8\n"
 893                "B      loc_FF8C1910\n"
 894 "loc_FF8C18F4:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 895                "BL     sub_FF8BF6A0\n"
 896                "B      loc_FF8C1910\n"
 897 "loc_FF8C18FC:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 898                "BL     sub_FF8BF8DC\n"
 899                "B      loc_FF8C1910\n"
 900 "loc_FF8C1904:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 901                "BL     sub_FF8BFA58\n"
 902                "B      loc_FF8C1910\n"
 903 "loc_FF8C190C:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 904                "BL     sub_FF8BFBF4\n"
 905 "loc_FF8C1910:\n" //                           ; CODE XREF: task_ExpDrvTask+310\030j\n"
 906                "LDR    R0, [SP,#0x1C]\n"
 907                "LDR    R1, [R0,#0x7C]\n"
 908                "LDR    R3, [R0,#0x8C]\n"
 909                "LDR    R2, [R0,#0x90]\n"
 910                "ADD    R0, R0, #4\n"
 911                "BLX    R3\n"
 912                "CMP    R4, #1\n"
 913                "BNE    loc_FF8C1978\n"
 914 "loc_FF8C1930:\n" //                           ; CODE XREF: task_ExpDrvTask+1F4\030j\n"
 915                "LDR    R0, [SP,#0x1C]\n"
 916                "MOV    R2, #0xC\n"
 917                "LDR    R1, [R0,#0x7C]\n"
 918                "ADD    R1, R1, R1,LSL#1\n"
 919                "ADD    R0, R0, R1,LSL#2\n"
 920                "SUB    R4, R0, #8\n"
 921                "LDR    R0, =0x3D8EC\n"
 922                "ADD    R1, SP, #0x10\n"
 923                "BL     sub_FFB36628\n"
 924                "LDR    R0, =0x3D8F8\n"
 925                "MOV    R2, #0xC\n"
 926                "ADD    R1, SP, #0x10\n"
 927                "BL     sub_FFB36628\n"
 928                "LDR    R0, =0x3D904\n"
 929                "MOV    R2, #0xC\n"
 930                "MOV    R1, R4\n"
 931                "BL     sub_FFB36628\n"
 932                "B      loc_FF8C19F0\n"
 933 "loc_FF8C1978:\n" //                           ; CODE XREF: task_ExpDrvTask+4EC\030j\n"
 934                "LDR    R0, [SP,#0x1C]\n"
 935                "LDR    R0, [R0]\n"
 936                "CMP    R0, #0xB\n"
 937                "BNE    loc_FF8C19C0\n"
 938                "MOV    R3, #0\n"
 939                "STR    R3, [SP]\n"
 940                "MOV    R3, #1\n"
 941                "MOV    R2, #1\n"
 942                "MOV    R1, #1\n"
 943                "MOV    R0, #0\n"
 944                "BL     sub_FF8BDE9C\n"
 945                "MOV    R3, #0\n"
 946                "STR    R3, [SP]\n"
 947                "MOV    R3, #1\n"
 948                "MOV    R2, #1\n"
 949                "MOV    R1, #1\n"
 950                "MOV    R0, #0\n"
 951                "B      loc_FF8C19EC\n"
 952 "loc_FF8C19C0:\n" //                           ; CODE XREF: task_ExpDrvTask+544\030j\n"
 953                "MOV    R3, #1\n"
 954                "MOV    R2, #1\n"
 955                "MOV    R1, #1\n"
 956                "MOV    R0, #1\n"
 957                "STR    R3, [SP]\n"
 958                "BL     sub_FF8BDE9C\n"
 959                "MOV    R3, #1\n"
 960                "MOV    R2, #1\n"
 961                "MOV    R1, #1\n"
 962                "MOV    R0, #1\n"
 963                "STR    R3, [SP]\n"
 964 "loc_FF8C19EC:\n" //                           ; CODE XREF: task_ExpDrvTask+57C\030j\n"
 965                "BL     sub_FF8BDFDC\n"
 966 "loc_FF8C19F0:\n" //                           ; CODE XREF: task_ExpDrvTask+B4\030j\n"
 967                "LDR    R0, [SP,#0x1C]\n"
 968                "BL     sub_FF8C26A8\n"
 969                "B      loc_FF8C1460\n"
 970 //; End of function task_ExpDrvTask\n"
 971 
 972  );
 973 }
 974 
 975 
 976 void __attribute__((naked,noinline)) sub_FF8BEC50_my(){
 977  asm volatile(
 978                "STMFD  SP!, {R4-R8,LR}\n"
 979                "LDR    R7, =0x4658\n"
 980                "MOV    R4, R0\n"
 981                "LDR    R0, [R7,#0x1C]\n"
 982                "MOV    R1, #0x3E\n"
 983                "BL     sub_FF887160\n"
 984                "LDRSH  R0, [R4,#4]\n"
 985                "MOV    R2, #0\n"
 986                "MOV    R1, #0\n"
 987                "BL     sub_FF8BDC00\n"
 988                "MOV    R6, R0\n"
 989                "LDRSH  R0, [R4,#6]\n"
 990                "BL     sub_FF8BDD10\n"
 991                "LDRSH  R0, [R4,#8]\n"
 992                "BL     sub_FF8BDD68\n"
 993                "LDRSH  R0, [R4,#0xA]\n"
 994                "BL     sub_FF8BDDC0\n"
 995                "LDRSH  R0, [R4,#0xC]\n"
 996                "MOV    R1, #0\n"
 997                "BL     sub_FF8BDE18\n"
 998                "MOV    R5, R0\n"
 999                "LDR    R0, [R4]\n"
1000                "LDR    R8, =0x3D904\n"
1001                "CMP    R0, #0xB\n"
1002                "MOVEQ  R6, #0\n"
1003                "MOVEQ  R5, #0\n"
1004                "BEQ    loc_FF8BECE4\n"
1005                "CMP    R6, #1\n"
1006                "BNE    loc_FF8BECE4\n"
1007                "LDRSH  R0, [R4,#4]\n"
1008                "LDR    R1, =0xFF8BDB6C\n"
1009                "MOV    R2, #2\n"
1010                "BL     sub_FF951A64\n"
1011                "STRH   R0, [R4,#4]\n"
1012                "MOV    R0, #0\n"
1013                "STR    R0, [R7,#0x28]\n"
1014                "B      loc_FF8BECEC\n" 
1015 
1016 "loc_FF8BECE4:\n" //                           ; CODE XREF: _sub_FF8BEC50__ExpDrv.c__2+68\030j\n"
1017                "LDRH   R0, [R8]\n"
1018                "STRH   R0, [R4,#4]\n"
1019 "loc_FF8BECEC:\n" //                           ; CODE XREF: _sub_FF8BEC50__ExpDrv.c__2+90\030j\n"
1020                "CMP    R5, #1\n"
1021                "LDRNEH R0, [R8,#8]\n"
1022                "BNE    loc_FF8BED08\n"
1023                "LDRSH  R0, [R4,#0xC]\n"
1024                "LDR    R1, =0xFF8BDBF0\n"
1025                "MOV    R2, #0x20\n"
1026                "BL     sub_FF8C26D8\n"
1027 "loc_FF8BED08:\n" //                           ; CODE XREF: _sub_FF8BEC50__ExpDrv.c__2+A4\030j\n"
1028                "STRH   R0, [R4,#0xC]\n"
1029                "LDRSH  R0, [R4,#6]\n"
1030 //             "BL     sub_FF8B153C\n"
1031                "BL     sub_FF8B153C_my\n"
1032                "LDRSH  R0, [R4,#8]\n"
1033                "MOV    R1, #1\n"
1034                "BL     sub_FF8B1C8C\n"
1035                "MOV    R1, #0\n"
1036                "ADD    R0, R4, #8\n"
1037                "BL     sub_FF8B1D14\n"
1038                "LDRSH  R0, [R4,#0xE]\n"
1039                "BL     sub_FF8B96B8\n"
1040                "LDR    R4, =0xBB8\n"
1041                "CMP    R6, #1\n"
1042                "BNE    loc_FF8BED60\n"
1043                "LDR    R0, [R7,#0x1C]\n"
1044                "MOV    R2, R4\n"
1045                "MOV    R1, #2\n"
1046                "BL     sub_FF88706C\n"
1047                "TST    R0, #1\n"
1048                "SUBNE  R1, R4, #0x620\n"
1049                "LDRNE  R0, =0xFF8BE1F0\n"
1050                "BLNE   sub_FF81E88C\n"
1051 "loc_FF8BED60:\n" //                           ; CODE XREF: _sub_FF8BEC50__ExpDrv.c__2+EC\030j\n"
1052                "CMP    R5, #1\n"
1053                "LDMNEFD        SP!, {R4-R8,PC}\n"
1054                "LDR    R0, [R7,#0x1C]\n"
1055                "MOV    R2, R4\n"
1056                "MOV    R1, #0x20\n"
1057                "BL     sub_FF88706C\n"
1058                "TST    R0, #1\n"
1059                "LDRNE  R1, =0x59D\n"
1060                "LDRNE  R0, =0xFF8BE1F0\n"
1061                "LDMNEFD        SP!, {R4-R8,LR}\n"
1062                "BNE    sub_FF81E88C\n"
1063                "LDMFD  SP!, {R4-R8,PC}\n"
1064 //; End of function _sub_FF8BEC50__ExpDrv.c__2\n" 
1065  );
1066 }
1067 
1068 void __attribute__((naked,noinline)) sub_FF8B153C_my(){
1069  asm volatile(
1070                "STMFD  SP!, {R4-R6,LR}\n"
1071                "LDR    R5, =0x4370\n"
1072                "MOV    R4, R0\n"
1073                "LDR    R0, [R5,#4]\n"
1074                "CMP    R0, #1\n"
1075                "LDRNE  R1, =0x146\n"
1076                "LDRNE  R0, =0xFF8B1340\n"
1077                "BLNE   sub_FF81E88C\n"
1078                "CMN    R4, #0xC00\n"
1079                "LDREQSH        R4, [R5,#2]\n"
1080                "CMN    R4, #0xC00\n"
1081                "MOVEQ  R1, #0x14C\n"
1082                "LDREQ  R0, =0xFF8B1340\n"
1083                "STRH   R4, [R5,#2]\n"
1084                "BLEQ   sub_FF81E88C\n"
1085                "MOV    R0, R4\n"
1086 //             "BL     sub_FFA080B8\n"
1087                "BL     apex2us\n"
1088                "MOV    R4, R0\n"
1089 //             "BL     nullsub_59\n"
1090                "MOV    R0, R4\n"
1091                "BL     sub_FF8F331C\n"
1092                "TST    R0, #1\n"
1093                "LDRNE  R1, =0x151\n"
1094                "LDMNEFD        SP!, {R4-R6,LR}\n"
1095                "LDRNE  R0, =0xFF8B1340\n"
1096                "BNE    sub_FF81E88C\n"
1097                "LDMFD  SP!, {R4-R6,PC}\n" 
1098 // End of function sub_FF89D14C
1099  );
1100 }
1101 
1102 

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