root/platform/sx1/sub/201a/capt_seq.c

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

DEFINITIONS

This source file includes following definitions.
  1. capt_seq_task
  2. sub_FF86C34C_my
  3. sub_FF960CD4_my
  4. exp_drv_task
  5. sub_FF8B174C_my
  6. sub_FF8A1FA8_my

   1 #include "lolevel.h"
   2 #include "platform.h"
   3 #include "core.h"
   4 #include "conf.h"
   5 
   6 static long *nrflag = (long*)0xA5CC;
   7 
   8 #include "../../../generic/capt_seq.c"
   9 
  10 void __attribute__((naked,noinline)) capt_seq_task() {   // ROM:FF86CB80
  11  asm volatile (
  12                  "STMFD   SP!, {R3-R9,LR}\n"
  13                  "LDR     R5, =0x5700\n"
  14                  "LDR     R4, =0x1CF68\n"
  15                  "MOV     R9, #1\n"
  16                  "MOV     R7, #0\n"
  17  "loc_FF86CB94:\n"
  18                  "LDR     R0, [R5,#0x14]\n"
  19                  "MOV     R2, #0\n"
  20                  "MOV     R1, SP\n"
  21                  "BL      sub_FF82759C\n"
  22                  "TST     R0, #1\n"
  23                  "BEQ     loc_FF86CBC0\n"
  24                  "LDR     R1, =0x588\n"
  25                  "LDR     R0, =0xFF86C220\n"
  26                  "BL      sub_FF81B1CC\n"
  27                  "BL      sub_FF81B184\n"
  28                  "LDMFD   SP!, {R3-R9,PC}\n"
  29  "loc_FF86CBC0:\n"
  30                  "LDR     R0, [SP, #0]\n"
  31                  "LDR     R1, [R0]\n"
  32                  "CMP     R1, #0x25\n"
  33                  "ADDLS   PC, PC, R1,LSL#2\n"
  34                  "B       loc_FF86CEE8\n"
  35  "loc_FF86CBD4:\n"
  36                  "B       loc_FF86CC6C\n"
  37  "loc_FF86CBD8:\n"
  38                  "B       loc_FF86CCD8\n"
  39  "loc_FF86CBDC:\n"
  40                  "B       loc_FF86CD14\n"
  41  "loc_FF86CBE0:\n"
  42                  "B       loc_FF86CD34\n"
  43  "loc_FF86CBE4:\n"
  44                  "B       loc_FF86CD2C\n"
  45  "loc_FF86CBE8:\n"
  46                  "B       loc_FF86CD4C\n"
  47  "loc_FF86CBEC:\n"
  48                  "B       loc_FF86CD54\n"
  49  "loc_FF86CBF0:\n"
  50                  "B       loc_FF86CD5C\n"
  51  "loc_FF86CBF4:\n"
  52                  "B       loc_FF86CDB4\n"
  53  "loc_FF86CBF8:\n"
  54                  "B       loc_FF86CDDC\n"
  55  "loc_FF86CBFC:\n"
  56                  "B       loc_FF86CDC0\n"
  57  "loc_FF86CC00:\n"
  58                  "B       loc_FF86CDCC\n"
  59  "loc_FF86CC04:\n"
  60                  "B       loc_FF86CDD4\n"
  61  "loc_FF86CC08:\n"
  62                  "B       loc_FF86CDE4\n"
  63  "loc_FF86CC0C:\n"
  64                  "B       loc_FF86CDEC\n"
  65  "loc_FF86CC10:\n"
  66                  "B       loc_FF86CDF4\n"
  67  "loc_FF86CC14:\n"
  68                  "B       loc_FF86CDFC\n"
  69  "loc_FF86CC18:\n"
  70                  "B       loc_FF86CE04\n"
  71  "loc_FF86CC1C:\n"
  72                  "B       loc_FF86CE0C\n"
  73  "loc_FF86CC20:\n"
  74                  "B       loc_FF86CE14\n"
  75  "loc_FF86CC24:\n"
  76                  "B       loc_FF86CE1C\n"
  77  "loc_FF86CC28:\n"
  78                  "B       loc_FF86CE24\n"
  79  "loc_FF86CC2C:\n"
  80                  "B       loc_FF86CE2C\n"
  81  "loc_FF86CC30:\n"
  82                  "B       loc_FF86CE34\n"
  83  "loc_FF86CC34:\n"
  84                  "B       loc_FF86CE3C\n"
  85  "loc_FF86CC38:\n"
  86                  "B       loc_FF86CE48\n"
  87  "loc_FF86CC3C:\n"
  88                  "B       loc_FF86CE50\n"
  89  "loc_FF86CC40:\n"
  90                  "B       loc_FF86CE5C\n"
  91  "loc_FF86CC44:\n"
  92                  "B       loc_FF86CE64\n"
  93  "loc_FF86CC48:\n"
  94                  "B       loc_FF86CE94\n"
  95  "loc_FF86CC4C:\n"
  96                  "B       loc_FF86CE9C\n"
  97  "loc_FF86CC50:\n"
  98                  "B       loc_FF86CEA4\n"
  99  "loc_FF86CC54:\n"
 100                  "B       loc_FF86CEAC\n"
 101  "loc_FF86CC58:\n"
 102                  "B       loc_FF86CEB4\n"
 103  "loc_FF86CC5C:\n"
 104                  "B       loc_FF86CEBC\n"
 105  "loc_FF86CC60:\n"
 106                  "B       loc_FF86CEC8\n"
 107  "loc_FF86CC64:\n"
 108                  "B       loc_FF86CEE0\n"
 109  "loc_FF86CC68:\n"
 110                  "B       loc_FF86CEF4\n"
 111  "loc_FF86CC6C:\n"
 112                  "BL      sub_FF86D504\n"
 113                  "BL      shooting_expo_param_override\n"  // +
 114                  "BL      sub_FF86A444\n"
 115 
 116  //  this code added to avoid some incorrect behavior if overrides are used.
 117  //  but it can cause some unexpected side effects. In this case, remove this code!
 118 
 119             "MOV     R0, #0\n"
 120             "STR     R0, [R4,#0x24]\n"  // fixes overrides  behavior at short shutter press
 121         
 122  //  end of my code
 123 
 124                  "LDR     R0, [R4,#0x24]\n"
 125                  "CMP     R0, #0\n"
 126                  "BEQ     loc_FF86CEF4\n"
 127                  "BL      sub_FF86BEEC\n"  
 128                  "MOV     R6, R0\n"
 129                  "LDR     R0, [R4,#0x24]\n"
 130                  "CMP     R0, #0\n"
 131                  "BEQ     loc_FF86CCB4\n"
 132                  "MOV     R0, #0xC\n"
 133                  "BL      sub_FF871600\n"
 134                  "TST     R0, #1\n"
 135                  "STRNE   R9, [R5,#4]\n"
 136                  "LDRNE   R0, [R6,#8]\n"
 137                  "ORRNE   R0, R0, #0x40000000\n"
 138                  "STRNE   R0, [R6,#8]\n"
 139                  "BNE     loc_FF86CEF4\n"
 140  "loc_FF86CCB4:\n"
 141                  "MOV     R0, R6\n"
 142                  "BL      sub_FF960564\n"
 143                  "MOV     R0, R6\n"
 144                  "BL      sub_FF86C2D4\n"
 145                  "MOV     R0, R6\n"
 146                 //               "BL      sub_FF960CD4\n"     // Original Routine
 147                  "BL      sub_FF960CD4_my\n"             // ----------->
 148                  "BL      capt_seq_hook_raw_here\n"      // +
 149                  "TST     R0, #1\n"
 150                  "STRNE   R9, [R5,#4]\n"
 151                  "B       loc_FF86CEF4\n"
 152 
 153 "loc_FF86CCD8:\n"
 154                  "LDR     R0, [R4,#0x24]\n"
 155                  "CMP     R0, #0\n"
 156                  "BNE     loc_FF86CD04\n"
 157                  "MOV     R0, #0xC\n"
 158                  "BL      sub_FF871600\n"
 159                  "TST     R0, #1\n"
 160                  "LDRNE   R0, [SP,#0]\n"
 161                  "MOVNE   R1, #1\n"
 162                  "LDRNE   R2, [R0,#0xC]\n"
 163                  "MOVNE   R0, #1\n"
 164                  "BNE     loc_FF86CDAC\n"
 165 "loc_FF86CD04:\n"
 166                  "LDR     R0, [SP,#0]\n"
 167              //          "BL       sub_FF86C34C\n"         //Original 
 168                  "BL       sub_FF86C34C_my\n"      // ----------> 
 169 "loc_FF86CD0C:\n"
 170                  "STR     R7, [R4,#0x24]\n"
 171                  "B       loc_FF86CEF4\n"
 172 "loc_FF86CD14:\n"
 173                  "MOV     R0, #1\n"
 174                  "BL      sub_FF86D778\n"
 175                  "LDR     R0, [R4,#0xC]\n"
 176                  "CMP     R0, #0\n"
 177                  "BLNE    sub_FF86E3F8\n"
 178                  "B       loc_FF86CEF4\n"
 179 
 180 "loc_FF86CD2C:\n"
 181                  "BL      sub_FF86D1D0\n"
 182                  "B       loc_FF86CD0C\n"
 183  
 184 "loc_FF86CD34:\n"
 185                  "BL      sub_FF86D4E4\n"
 186                  "LDR     R0, [R5,#0x1C]\n"
 187                  "CMP     R0, #0\n"
 188                  "STRNE   R7, [R5,#0x1C]\n"
 189                  "BLNE    sub_FF86CAC4\n"
 190                  "B       loc_FF86CD0C\n"
 191                                  
 192  "loc_FF86CD4C:\n"
 193                  "BL      sub_FF86D4EC\n"
 194                  "B       loc_FF86CEF4\n"
 195  "loc_FF86CD54:\n"
 196                  "BL      sub_FF86D668\n"
 197                  "B       loc_FF86CDB8\n"
 198  "loc_FF86CD5C:\n"
 199                  "LDR     R6, [R0,#0xC]\n"
 200                  "BL      sub_FF86D4F4\n"
 201                  "MOV     R0, R6\n"
 202                  "BL      sub_FF95F550\n"
 203                  "TST     R0, #1\n"
 204                  "MOV     R8, R0\n"
 205                  "BNE     loc_FF86CD9C\n"
 206                  "BL      sub_FF87DD5C\n"
 207                  "STR     R0, [R6,#0x18]\n"
 208                  "MOV     R0, R6\n"
 209                  "BL      sub_FF960BEC\n"
 210                  "MOV     R0, R6\n"
 211                  "BL      sub_FF961028\n"
 212                  "MOV     R8, R0\n"
 213                  "LDR     R0, [R6,#0x18]\n"
 214                  "BL      sub_FF87DF70\n"
 215  "loc_FF86CD9C:\n"
 216                  "BL      sub_FF86D4E4\n"
 217                  "MOV     R2, R6\n"
 218                  "MOV     R1, #9\n"
 219                  "MOV     R0, R8\n"
 220 
 221  "loc_FF86CDAC:\n"
 222                  "BL      sub_FF86A9F0\n"
 223                  "B       loc_FF86CEF4\n"
 224  "loc_FF86CDB4:\n"
 225                  "BL      sub_FF86D6F8\n"
 226  "loc_FF86CDB8:\n"
 227                  "BL      sub_FF86A444\n"
 228                  "B       loc_FF86CEF4\n"
 229  "loc_FF86CDC0:\n"
 230                  "LDR     R0, [R4,#0x54]\n"
 231                  "BL      sub_FF86DED8\n"
 232                  "B       loc_FF86CEF4\n"
 233  "loc_FF86CDCC:\n"
 234                  "BL      sub_FF86E1D8\n"
 235                  "B       loc_FF86CEF4\n"
 236  "loc_FF86CDD4:\n"
 237                  "BL      sub_FF86E230\n"
 238                  "B       loc_FF86CEF4\n"
 239  "loc_FF86CDDC:\n"
 240                  "BL      sub_FF86D4E4\n"
 241                  "B       loc_FF86CEF4\n"
 242  "loc_FF86CDE4:\n"
 243                  "BL      sub_FF95F788\n"
 244                  "B       loc_FF86CEF4\n"
 245  "loc_FF86CDEC:\n"
 246                  "BL      sub_FF95F9B4\n"
 247                  "B       loc_FF86CEF4\n"
 248  "loc_FF86CDF4:\n"
 249                  "BL      sub_FF95FA48\n"
 250                  "B       loc_FF86CEF4\n"
 251  "loc_FF86CDFC:\n"
 252                  "BL      sub_FF95FB70\n"
 253                  "B       loc_FF86CEF4\n"
 254  "loc_FF86CE04:\n"
 255                  "BL      sub_FF95FC24\n"
 256                  "B       loc_FF86CEF4\n"
 257  "loc_FF86CE0C:\n"
 258                  "BL      sub_FF9600B4\n"
 259                  "B       loc_FF86CEF4\n"
 260  "loc_FF86CE14:\n"
 261                  "BL      sub_FF96010C\n"
 262                  "B       loc_FF86CEF4\n"
 263  "loc_FF86CE1C:\n"
 264                  "MOV     R0, #0\n"
 265                  "B       loc_FF86CE40\n"
 266  "loc_FF86CE24:\n"
 267                  "BL      sub_FF9602A8\n"
 268                  "B       loc_FF86CEF4\n"
 269  "loc_FF86CE2C:\n"
 270                  "BL      sub_FF960338\n"
 271                  "B       loc_FF86CEF4\n" 
 272  "loc_FF86CE34:\n"
 273                  "BL      sub_FF9603F8\n"
 274                  "B       loc_FF86CEF4\n"
 275  "loc_FF86CE3C:\n"
 276                  "MOV     R0, #1\n"
 277  "loc_FF86CE40:\n"
 278                  "BL      sub_FF960180\n"
 279                  "B       loc_FF86CEF4\n"
 280  "loc_FF86CE48:\n"
 281                  "BL      sub_FF86D9B0\n"
 282                  "B       loc_FF86CEF4\n"
 283  "loc_FF86CE50:\n"
 284                  "BL      sub_FF86DA50\n"
 285                  "BL      sub_FF86D01C\n"
 286                  "B       loc_FF86CEF4\n"
 287  "loc_FF86CE5C:\n"
 288                  "BL      sub_FF95FEDC\n"
 289                  "B       loc_FF86CEF4\n"
 290  "loc_FF86CE64:\n"
 291                  "MOV     R2, #2\n"
 292                  "ADD     R1, R4, #0x68\n"
 293                  "MOV     R0, #0x6F\n"
 294                  "BL      sub_FF87DBCC\n"
 295                  "TST     R0, #1\n"
 296                  "LDRNE   R1, =0x681\n"
 297                  "LDRNE   R0, =0xFF86C220\n"
 298                  "BLNE    sub_FF81B1CC\n"
 299                  "LDRH    R0, [R4,#0x68]\n"
 300                  "CMP     R0, #1\n"
 301                  "BLEQ    sub_FF95FED0\n"
 302                  "B       loc_FF86CEF4\n"
 303  "loc_FF86CE94:\n"
 304                  "BL      sub_FF960008\n"
 305                  "B       loc_FF86CEF4\n"
 306  "loc_FF86CE9C:\n"
 307                  "BL      sub_FF86C1AC\n"
 308                  "B       loc_FF86CEF4\n"
 309  "loc_FF86CEA4:\n"
 310                  "BL      sub_FF824944\n"
 311                  "B       loc_FF86CEF4\n"
 312  "loc_FF86CEAC:\n"
 313                  "BL      sub_FF86FC84\n"
 314                  "B       loc_FF86CEF4\n"
 315  "loc_FF86CEB4:\n"
 316                  "BL      sub_FF86FCEC\n"
 317                  "B       loc_FF86CEF4\n"
 318  "loc_FF86CEBC :\n"
 319                  "BL      sub_FF86FD48\n"
 320                  "BL      sub_FF86FD08\n"
 321                  "B       loc_FF86CEF4\n"
 322  "loc_FF86CEC8:\n"
 323                  "MOV     R0, #1\n"
 324                  "BL      sub_FF96180C\n"
 325                  "LDRH    R0, [R4,#0x94]\n"
 326                  "CMP     R0, #3\n"
 327                  "BLNE    sub_FF86FF04\n"
 328                  "B       loc_FF86CEF4\n"
 329 
 330  "loc_FF86CEE0:\n"
 331                  "BL      sub_FF86CAC4\n"
 332                  "B       loc_FF86CEF4\n"
 333 
 334  "loc_FF86CEE8:\n"
 335                  "LDR     R1, =0x6CB\n"
 336                  "LDR     R0, =0xFF86C220\n"
 337                  "BL      sub_FF81B1CC\n"
 338  "loc_FF86CEF4:\n"
 339                  "LDR     R0, [SP,#0]\n"
 340                  "LDR     R1, [R0,#4]\n"
 341                  "LDR     R0, [R5,#0x10]\n"
 342                  "BL      sub_FF8758B4\n"
 343                  "LDR     R6, [SP,#0]\n"
 344                  "LDR     R0, [R6,#8]\n"
 345                  "CMP     R0, #0\n"
 346                  "LDREQ   R1, =0x12B\n"
 347                  "LDREQ   R0, =0xFF86C220\n"
 348                  "BLEQ    sub_FF81B1CC\n"
 349                  "STR     R7, [R6,#8]\n"
 350                  "B       loc_FF86CB94\n"
 351  );
 352 } 
 353 
 354 void __attribute__((naked,noinline)) sub_FF86C34C_my(){ // 
 355  asm volatile(
 356                  "STMFD   SP!, {R3-R9,LR}\n"
 357                  "LDR     R4, [R0,#0xC]\n"
 358                  "LDR     R5, =0x1CF68\n"
 359                  "LDR     R0, [R4,#8]\n"
 360                  "MOV     R8, #0\n"
 361                  "ORR     R0, R0, #1\n"
 362                  "STR     R0, [R4,#8]\n"
 363                  "LDR     R0, [R5]\n"
 364                  "SUB     R9, R8, #0x20000\n"
 365                  "LDR     R6, =0x5700\n"
 366                  "CMP     R9, R0, LSL#17\n"
 367                  "TSTNE   R0, #0x800\n"
 368                  "BEQ   loc_FF86C398\n"
 369                  "LDR   R0, [R5, #0xC]\n"
 370                  "CMP   R0, #0\n"
 371                  "MOVEQ   R0, #1\n"
 372                  "STREQ   R0, [R6, #0x1C]\n"
 373                  "MOVEQ   R0, #0\n"
 374                  "BLEQ   sub_FF933024\n"
 375  "loc_FF86C398:\n"
 376                  "LDRH    R0, [R5]\n"
 377                  "LDR     R7, =0x820A\n"
 378                  "CMP     R0, R7\n"
 379                  "BEQ     loc_FF86C41C\n"
 380                  "LDRH    R0, [R5,#0x9A]\n"
 381                  "CMP     R0, #3\n"
 382                  "BEQ     loc_FF86C47C\n"
 383                  "LDR     R0, [R4,#0xC]\n"
 384                  "CMP     R0, #1\n"
 385                  "BLS     loc_FF86C428\n"
 386                  "LDRH    R0, [R5,#0x98]\n"
 387                  "CMP     R0, #0\n"
 388                  "BNE     loc_FF86C47C\n"
 389                  "LDRH    R0, [R5,#0x94]\n"
 390                  "CMP     R0, #2\n"
 391                  "BNE     loc_FF86C434\n"
 392                  "BL      sub_FF86DB00\n"
 393                  "LDRH    R0, [R5]\n"
 394                  "CMP     R0, R7\n"
 395                  "BEQ     loc_FF86C41C\n"
 396                  "LDRH    R0, [R5,#0x9A]\n"
 397                  "CMP     R0, #3\n"
 398                  "BEQ     loc_FF86C47C\n"
 399                  "LDR     R0, [R4,#0xC]\n"
 400                  "CMP     R0, #1\n"
 401                  "BLS     loc_FF86C428\n"
 402                  "LDRH    R0, [R5,#0x98]\n"
 403                  "CMP     R0, #0\n"
 404                  "BNE     loc_FF86C47C\n"
 405                  "LDRH    R0, [R5,#0x94]\n"
 406                  "CMP     R0, #2\n"
 407                  "BEQ     loc_FF86C460\n"
 408                  "B       loc_FF86C434\n"
 409  "loc_FF86C41C:\n"
 410                  "LDRH    R0, [R5,#0x9A]\n"
 411                  "CMP     R0, #3\n"
 412                  "BEQ     loc_FF86C47C\n"
 413  "loc_FF86C428:\n"
 414                  "LDRH    R0, [R5,#0x98]\n"
 415                  "CMP     R0, #0\n"
 416                  "BNE     loc_FF86C47C\n"
 417  "loc_FF86C434:\n"
 418                  "LDRH    R0, [R5,#0x94]\n"
 419                  "CMP     R0, #1\n"
 420                  "BNE     loc_FF86C47C\n"
 421                  "LDRH    R0, [R5]\n"
 422                  "CMP     R0, R7\n"
 423                  "LDRNE   R0, [R4,#0xC]\n"
 424                  "CMPNE   R0, #1\n"
 425                  "BLS     loc_FF86C47C\n"
 426                  "LDR     R0, [R4,#0x10]\n"
 427                  "CMP     R0, #1\n"
 428                  "BNE     loc_FF86C47C\n"
 429  "loc_FF86C460:\n"
 430                  "LDR     R3, =0x262\n"
 431                  "LDR     R2, =0xEA60\n"
 432                  "STR     R3, [SP,#0]\n"
 433                  "LDR     R0, [R8,#0x10]\n"
 434                  "LDR     R3, =0xFF86C220\n"
 435                  "MOV     R1, #0x40000000\n"
 436                  "BL      sub_FF87199C\n"
 437  "loc_FF86C47C:\n"
 438                  "BL      sub_FF86C1AC\n"
 439                  "LDR     R0, [R5,#0x24]\n"
 440                  "CMP     R0, #0\n"
 441                  "MOVEQ   R0, #2\n"
 442                  "BLEQ    sub_FF864F9C\n"
 443                  "BL      sub_FF86D4F4\n"
 444                  "LDR     R0, [R5,#0x24]\n"
 445                  "CMP     R0, #0\n"
 446                  "BNE     loc_FF86C54C\n"
 447                  "MOV     R0, #0\n"
 448                  "BL      sub_FF96180C\n"
 449                  "MOV     R0, R4\n"
 450                  "BL      sub_FF960564\n"
 451                  "MOV     R0, R4\n"
 452                  "BL      sub_FF86D918\n"
 453                  "MOV     R0, R4\n"
 454                  "BL      sub_FF95F0A0\n"
 455                  "CMP     R0, #0\n"
 456                  "BEQ     loc_FF86C4EC\n"
 457                  "BL      sub_FF96184C\n"
 458                  "MOV     R0, R4\n"
 459                  "BL      sub_FF95F240\n"
 460                  "TST     R0, #1\n"
 461                  "MOVNE   R2, R4\n"
 462                  "LDMNEFD SP!, {R3-R9,LR}\n"
 463                  "MOVNE   R1, #1\n"
 464                  "BNE     sub_FF86A9F0\n"
 465                  "B       loc_FF86C528\n"
 466  "loc_FF86C4EC:\n"
 467                  "LDR     R0, [R5,#0xC]\n"
 468                  "CMP     R0, #0\n"
 469                  "BEQ     loc_FF86C500\n"
 470                  "BL      sub_FF86E37C\n"
 471                  "BL      sub_FF866768\n"
 472  "loc_FF86C500:\n"
 473                  "MOV     R0, R4\n"
 474                  "BL      sub_FF95F198\n"
 475                  "LDRH    R0, [R5]\n"
 476                  "CMP     R9, R0,LSL#17\n"
 477                  "TSTNE   R0, #0x800\n"
 478                  "BEQ     loc_FF86C524\n"
 479                  "LDR     R0, [R5,#0xC]\n"
 480                  "CMP     R0, #0\n"
 481                  "BLEQ    sub_FF962960\n"
 482  "loc_FF86C524:\n" 
 483                  "BL      sub_FF96184C\n"
 484  "loc_FF86C528:\n"
 485                  "MOV     R0, R4\n"
 486                  "BL      sub_FF86C2D4\n"
 487                  "MOV     R0, R4\n"
 488                  "BL      sub_FF960BEC\n"
 489                  "BL      sub_FF96169C\n"
 490                  "MOV     R0, R4\n"
 491       //         "BL      sub_FF960CD4\n"             // Original
 492                  "BL      sub_FF960CD4_my\n"          //----------->
 493                  "MOV     R8, R0\n"
 494                  "BL      capt_seq_hook_raw_here\n"      // + added
 495                  "B       loc_FF86C558\n"
 496  "loc_FF86C54C:\n"
 497                  "LDR     R0, [R6,#4]\n"
 498                  "CMP     R0, #0\n"
 499                  "MOVNE   R8, #0x1D\n"
 500  "loc_FF86C558:\n"
 501                  "BL      sub_FF86FCEC\n"
 502                  "BL      sub_FF86FD34\n"
 503                  "BL      sub_FF86FD74\n"
 504                  "MOV     R2, R4\n"
 505                  "MOV     R1, #1\n"
 506                  "MOV     R0, R8\n"
 507                  "BL      sub_FF86A9F0\n"
 508                  "BL      sub_FF960FB8\n"
 509                  "CMP     R0, #0\n"
 510                  "LDRNE   R0, [R4,#8]\n"
 511                  "ORRNE   R0, R0, #0x2000\n"
 512                  "STRNE   R0, [R4,#8]\n"
 513                  "LDR     R0, [R4,#0x1C]\n"
 514                  "CMP     R0, #0\n"
 515                  "BLNE    sub_FF866780\n"
 516                  "LDRH    R0, [R5,#0x9A]\n"
 517                  "CMP     R0, #3\n"
 518                  "BEQ     loc_FF86C5BC\n"
 519                  "LDRH    R0, [R5,#0x98]\n"
 520                  "CMP     R0, #0\n"
 521                  "LDREQH  R0, [R5,#0x94]\n"
 522                  "CMPEQ   R0, #2\n"
 523                  "MOVEQ   R0, R4\n"
 524                  "LDMEQFD SP!, {R3-R9,LR}\n"
 525                  "BEQ     sub_FF86DB54\n"
 526  "loc_FF86C5BC:\n"
 527                  "LDMFD   SP!, {R3-R9,PC}\n"
 528  );
 529 }
 530 
 531 void __attribute__((naked,noinline)) sub_FF960CD4_my(){ // 
 532  asm volatile(
 533                  "STMFD   SP!, {R1-R9,LR}\n"
 534                  "MOV     R4, R0\n"
 535                  "BL      sub_FF96197C\n"
 536                  "MVN     R1, #0\n"
 537                  "BL      sub_FF8758E8\n"                                
 538                                  "LDR     R6, =0xA5CC\n"
 539                                  "LDR     R0, [R6,#8]\n"
 540                                  "CMP     R0, #0\n"
 541                                  "BNE     loc_FF960D24\n"
 542                                  "MOV     R1, #1\n"
 543                                  "MOV     R0, #0\n"
 544                                  "BL      sub_FF827DE4\n"
 545                                  "STR     R0, [R6,#8]\n"
 546                                  "MOV     R3, #0\n"
 547                                  "STR     R3, [SP, #0]\n"
 548                                  "LDR     R3, =0xFF96078C\n"
 549                                  "LDR     R0, =0xFF960F84\n"
 550                                  "MOV     R2, #0x400\n"
 551                                  "MOV     R1, #0x17\n"
 552                                  "BL      sub_FF827DB0\n"
 553 "loc_FF960D24:\n"
 554                  "MOV     R2, #4\n"
 555                  "ADD     R1, SP, #4\n"
 556                  "MOV     R0, #0x8A\n"
 557                  "BL      sub_FF87DBCC\n"
 558                  "TST     R0, #1\n"
 559                  "LDRNE   R1, =0x3C5\n"
 560                  "LDRNE   R0, =0xFF960A24\n"
 561                  "BLNE    sub_FF81B1CC\n"
 562                  "LDR     R8, =0x1D038\n"
 563                  "LDR     R7, =0x1CF68\n"
 564                  "LDRSH   R1, [R7,#0xE]\n"
 565                  "LDR     R0, [R6,#0x90]\n"
 566                  "BL      sub_FF91C79C\n"
 567                  "BL      sub_FF850A90\n"
 568                  "LDR     R3, =0xA5D0\n"
 569                  "STRH    R0, [R4,#0x9C]\n"
 570                  "STR     R3, [SP,#0]\n"
 571                  "MOV     R1, R0\n"
 572                  "LDRH    R0, [R7,#0x64]\n"
 573                  "LDRSH   R2, [R8,#0xC]\n"
 574                  "SUB     R3, R3, #4\n"
 575                  "BL      sub_FF961FA0\n"
 576                  "BL      wait_until_remote_button_is_released\n"
 577                  "BL      capt_seq_hook_set_nr\n"                     // +
 578                  "B       sub_FF960D7C\n"                             // continue function in firmware
 579  );
 580 }
 581 
 582 void __attribute__((naked,noinline)) exp_drv_task(){     // ROM:FF8B3E4C
 583  asm volatile(
 584                  "STMFD   SP!, {R4-R8,LR}\n"
 585                  "SUB     SP, SP, #0x20\n"
 586                  "LDR     R8, =0xBB8\n"
 587                  "LDR     R7, =0x7298\n"
 588                  "LDR     R5, =0x222A8\n"
 589                  "MOV     R0, #0\n"
 590                  "ADD     R6, SP, #0x10\n"
 591                  "STR     R0, [SP,#0xC]\n"
 592  "loc_FF8B3E6C:\n"
 593                  "LDR     R0, [R7,#0x20]\n"
 594                  "MOV     R2, #0\n"
 595                  "ADD     R1, SP, #0x1C\n"
 596                  "BL      sub_FF82759C\n"
 597                  "LDR     R0, [SP,#0xC]\n"
 598                  "CMP     R0, #1\n"
 599                  "BNE     loc_FF8B3EB8\n"
 600                  "LDR     R0, [SP,#0x1C]\n"
 601                  "LDR     R0, [R0]\n"
 602                  "CMP     R0, #0x13\n"
 603                  "CMPNE   R0, #0x14\n"
 604                  "CMPNE   R0, #0x15\n"
 605                                  "CMPNE   R0, #0x16\n"
 606                  "BEQ     loc_FF8B3FD4\n"
 607                  "CMP     R0, #0x28\n"
 608                  "BEQ     loc_FF8B3FAC\n"
 609                  "ADD     R1, SP, #0xC\n"
 610                  "MOV     R0, #0\n"
 611                  "BL      sub_FF8B3DFC\n"
 612  "loc_FF8B3EB8:\n"
 613                  "LDR     R0, [SP,#0x1C]\n"
 614                  "LDR     R1, [R0]\n"
 615                  "CMP     R1, #0x2D\n"
 616                  "BNE     loc_FF8B3EE8\n"
 617                  "LDR     R0, [SP,#0x1C]\n"
 618                  "BL      sub_FF8B5104\n"
 619                  "LDR     R0, [R7,#0x1C]\n"
 620                  "MOV     R1, #1\n"
 621                  "BL      sub_FF8758B4\n"
 622                  "BL      sub_FF81B184\n"
 623                  "ADD     SP, SP, #0x20\n"
 624                  "LDMFD   SP!, {R4-R8,PC}\n"
 625  "loc_FF8B3EE8:\n"
 626                  "CMP     R1, #0x2C\n"
 627                  "BNE     loc_FF8B3F04\n"
 628                  "LDR     R2, [R0,#0x88]!\n"
 629                  "LDR     R1, [R0,#4]\n"
 630                  "MOV     R0, R1\n"
 631                  "BLX     R2\n"
 632                  "B       loc_FF8B43FC\n"
 633  "loc_FF8B3F04:\n"
 634                  "CMP     R1, #0x26\n"
 635                  "BNE     loc_FF8B3F54\n"
 636                  "LDR     R0, [R7,#0x1C]\n"
 637                  "MOV     R1, #0x80\n"
 638                  "BL      sub_FF8758E8\n"
 639                  "LDR     R0, =0xFF8B068C\n"
 640                  "MOV     R1, #0x80\n"
 641                  "BL      sub_FF94E7A8\n"
 642                  "LDR     R0, [R7,#0x1C]\n"
 643                  "MOV     R2, R8\n"
 644                  "MOV     R1, #0x80\n"
 645                  "BL      sub_FF8757F4\n"
 646                  "TST     R0, #1\n"
 647                  "LDRNE   R1, =0xDC6\n"
 648                  "BNE     loc_FF8B3F98\n"
 649  "loc_FF8B3F40:\n"
 650                  "LDR     R1, [SP,#0x1C]\n"
 651                  "LDR     R0, [R1,#0x8C]\n"
 652                  "LDR     R1, [R1,#0x88]\n"
 653                  "BLX     R1\n"
 654                  "B       loc_FF8B43FC\n"
 655  "loc_FF8B3F54:\n"
 656                  "CMP     R1, #0x27\n"
 657                  "BNE     loc_FF8B3FA4\n"
 658                  "ADD     R1, SP, #0xC\n"
 659                  "BL      sub_FF8B3DFC\n"
 660                  "LDR     R0, [R7,#0x1C]\n"
 661                  "MOV     R1, #0x100\n"
 662                  "BL      sub_FF8758E8\n"
 663                  "LDR     R0, =0xFF8B069C\n"
 664                  "MOV     R1, #0x100\n"
 665                  "BL      sub_FF94F134\n"
 666                  "LDR     R0, [R7,#0x1C]\n"
 667                  "MOV     R2, R8\n"
 668                  "MOV     R1, #0x100\n"
 669                  "BL      sub_FF8757F4\n"
 670                  "TST     R0, #1\n"
 671                  "BEQ     loc_FF8B3F40\n"
 672                  "MOV     R1, #0xDD0\n"
 673  "loc_FF8B3F98:\n"
 674                  "LDR     R0, =0xFF8B0D14\n"
 675                  "BL      sub_FF81B1CC\n"
 676                  "B       loc_FF8B3F40\n"
 677  "loc_FF8B3FA4:\n"
 678                  "CMP     R1, #0x28\n"
 679                  "BNE     loc_FF8B3FBC\n"
 680  "loc_FF8B3FAC:\n"
 681                  "LDR     R0, [SP,#0x1C]\n"
 682                  "ADD     R1, SP, #0xC\n"
 683                  "BL      sub_FF8B3DFC\n"
 684                  "B       loc_FF8B3F40\n"
 685  "loc_FF8B3FBC:\n"
 686                  "CMP     R1, #0x2B\n"
 687                  "BNE     loc_FF8B3FD4\n"
 688                  "BL      sub_FF8A2238\n"
 689                  "BL      sub_FF8A2F04\n"
 690                  "BL      sub_FF8A2A30\n"
 691                  "B       loc_FF8B3F40\n"
 692  "loc_FF8B3FD4:\n"
 693                  "LDR     R0, [SP,#0x1C]\n"
 694                  "MOV     R4, #1\n"
 695                  "LDR     R1, [R0]\n"
 696                  "CMP     R1, #0x11\n"
 697                  "CMPNE   R1, #0x12\n"
 698                  "BNE     loc_FF8B4044\n"
 699                  "LDR     R1, [R0,#0x7C]\n"
 700                  "ADD     R1, R1, R1,LSL#1\n"
 701                  "ADD     R1, R0, R1,LSL#2\n"
 702                  "SUB     R1, R1, #8\n"
 703                  "LDMIA   R1, {R2-R4}\n"
 704                  "STMIA   R6, {R2-R4}\n"
 705                  "BL      sub_FF8B2810\n"
 706                  "LDR     R0, [SP,#0x1C]\n"
 707                  "LDR     R1, [R0,#0x7C]\n"
 708                  "LDR     R3, [R0,#0x88]\n"
 709                  "LDR     R2, [R0,#0x8C]\n"
 710                  "ADD     R0, R0, #4\n"
 711                  "BLX     R3\n"
 712                  "LDR     R0, [SP,#0x1C]\n"
 713                  "BL      sub_FF8B54BC\n"
 714                  "LDR     R0, [SP,#0x1C]\n"
 715                  "LDR     R1, [R0,#0x7C]\n"
 716                  "LDR     R3, [R0,#0x90]\n"
 717                  "LDR     R2, [R0,#0x94]\n"
 718                  "ADD     R0, R0, #4\n"
 719                  "BLX     R3\n"
 720                  "B       loc_FF8B433C\n"
 721  "loc_FF8B4044:\n"
 722                  "CMP     R1, #0x13\n"
 723                  "CMPNE   R1, #0x14\n"
 724                  "CMPNE   R1, #0x15\n"
 725                                  "CMPNE   R1, #0x16\n"
 726                  "BNE     loc_FF8B40FC\n"
 727                  "ADD     R3, SP, #0xC\n"
 728                  "MOV     R2, SP\n"
 729                  "ADD     R1, SP, #0x10\n"
 730                  "BL      sub_FF8B2A54\n"
 731                  "CMP     R0, #1\n"
 732                  "MOV     R4, R0\n"
 733                  "CMPNE   R4, #5\n"
 734                  "BNE     loc_FF8B4098\n"
 735                  "LDR     R0, [SP,#0x1C]\n"
 736                  "MOV     R2, R4\n"
 737                  "LDR     R1, [R0,#0x7C]!\n"
 738                  "LDR     R12, [R0,#0xC]!\n"
 739                  "LDR     R3, [R0,#4]\n"
 740                  "MOV     R0, SP\n"
 741                  "BLX     R12\n"
 742                  "B       loc_FF8B40D0\n"
 743  "loc_FF8B4098:\n"
 744                  "LDR     R0, [SP,#0x1C]\n"
 745                  "CMP     R4, #2\n"
 746                  "LDR     R3, [R0,#0x8C]\n"
 747                  "CMPNE   R4, #6\n"
 748                  "BNE     loc_FF8B40E4\n"
 749                  "LDR     R12, [R0,#0x88]\n"
 750                  "MOV     R0, SP\n"
 751                  "MOV     R2, R4\n"
 752                  "MOV     R1, #1\n"
 753                  "BLX     R12\n"
 754                  "LDR     R0, [SP,#0x1C]\n"
 755                  "MOV     R2, SP\n"
 756                  "ADD     R1, SP, #0x10\n"
 757                  "BL      sub_FF8B3AE4\n"
 758  "loc_FF8B40D0:\n"
 759                  "LDR     R0, [SP,#0x1C]\n"
 760                  "LDR     R2, [SP,#0xC]\n"
 761                  "MOV     R1, R4\n"
 762                  "BL      sub_FF8B3D9C\n"
 763                  "B       loc_FF8B433C\n"
 764  "loc_FF8B40E4:\n"
 765                  "LDR     R1, [R0,#0x7C]\n"
 766                  "LDR     R12, [R0,#0x88]\n"
 767                  "ADD     R0, R0, #4\n"
 768                  "MOV     R2, R4\n"
 769                  "BLX     R12\n"
 770                  "B       loc_FF8B433C\n"
 771  "loc_FF8B40FC:\n"
 772                  "CMP     R1, #0x22\n"
 773                  "CMPNE   R1, #0x23\n"
 774                  "BNE     loc_FF8B4148\n"
 775                  "LDR     R1, [R0,#0x7C]\n"
 776                  "ADD     R1, R1, R1,LSL#1\n"
 777                  "ADD     R1, R0, R1,LSL#2\n"
 778                  "SUB     R1, R1, #8\n"
 779                  "LDMIA   R1, {R2-R4}\n"
 780                  "STMIA   R6, {R2-R4}\n"
 781                  "BL      sub_FF8B1D90\n"
 782                  "LDR     R0, [SP,#0x1C]\n"
 783                  "LDR     R1, [R0,#0x7C]\n"
 784                  "LDR     R3, [R0,#0x88]\n"
 785                  "LDR     R2, [R0,#0x8C]\n"
 786                  "ADD     R0, R0, #4\n"
 787                  "BLX     R3\n"
 788                  "LDR     R0, [SP,#0x1C]\n"
 789                  "BL      sub_FF8B208C\n"
 790                  "B       loc_FF8B433C\n"
 791  "loc_FF8B4148:\n"
 792                  "ADD     R1, R0, #4\n"
 793                  "LDMIA   R1, {R2,R3,R12}\n"
 794                  "STMIA   R6, {R2,R3,R12}\n"
 795                  "LDR     R1, [R0]\n"
 796                  "CMP     R1, #0x25\n"
 797                  "ADDLS   PC, PC, R1,LSL#2\n"
 798                  "B       loc_FF8B431C\n"
 799  "loc_FF8B4164:\n"
 800                  "B       loc_FF8B41FC\n"
 801  "loc_FF8B4168:\n"
 802                  "B       loc_FF8B41FC\n"
 803  "loc_FF8B416C:\n"
 804                  "B       loc_FF8B4204\n"
 805  "loc_FF8B4170:\n"
 806                  "B       loc_FF8B420C\n"
 807  "loc_FF8B4174:\n"
 808                  "B       loc_FF8B420C\n"
 809  "loc_FF8B4178:\n"
 810                  "B       loc_FF8B420C\n"
 811  "loc_FF8B417C:\n"
 812                  "B       loc_FF8B41FC\n"
 813  "loc_FF8B4180:\n"
 814                  "B       loc_FF8B4204\n"
 815  "loc_FF8B4184:\n"
 816                  "B       loc_FF8B420C\n"
 817  "loc_FF8B4188:\n"
 818                  "B       loc_FF8B420C\n"
 819  "loc_FF8B418C:\n"
 820                  "B       loc_FF8B4224\n"
 821  "loc_FF8B4190:\n"
 822                  "B       loc_FF8B4224\n"
 823  "loc_FF8B4194:\n"
 824                  "B       loc_FF8B4310\n"
 825  "loc_FF8B4198:\n"
 826                  "B       loc_FF8B4318\n"
 827  "loc_FF8B419C:\n"
 828                  "B       loc_FF8B4318\n"
 829  "loc_FF8B41A0:\n"
 830                  "B       loc_FF8B4318\n"
 831  "loc_FF8B41A4:\n"
 832                  "B       loc_FF8B4318\n"
 833  "loc_FF8B41A8:\n"
 834                  "B       loc_FF8B431C\n"
 835  "loc_FF8B41AC:\n"
 836                  "B       loc_FF8B431C\n"
 837  "loc_FF8B41B0:\n"
 838                  "B       loc_FF8B431C\n"
 839  "loc_FF8B41B4:\n"
 840                  "B       loc_FF8B431C\n"
 841  "loc_FF8B41B8:\n"
 842                  "B       loc_FF8B431C\n"
 843  "loc_FF8B41BC:\n"
 844                  "B       loc_FF8B431C\n"
 845  "loc_FF8B41C0:\n"
 846                  "B       loc_FF8B4214\n"
 847  "loc_FF8B41C4:\n"
 848                  "B       loc_FF8B421C\n"
 849  "loc_FF8B41C8:\n"
 850                  "B       loc_FF8B421C\n"
 851  "loc_FF8B41CC:\n"
 852                  "B       loc_FF8B4230\n"
 853  "loc_FF8B41D0:\n"
 854                  "B       loc_FF8B4230\n"
 855  "loc_FF8B41D4:\n"
 856                  "B       loc_FF8B4238\n"
 857  "loc_FF8B41D8:\n"
 858                  "B       loc_FF8B4268\n"
 859  "loc_FF8B41DC:\n"
 860                  "B       loc_FF8B4298\n"
 861  "loc_FF8B41E0:\n"
 862                  "B       loc_FF8B42C8\n"
 863  "loc_FF8B41E4:\n"
 864                  "B       loc_FF8B42F8\n"
 865  "loc_FF8B41E8:\n"
 866                  "B       loc_FF8B42F8\n"
 867  "loc_FF8B41EC:\n"
 868                  "B       loc_FF8B431C\n"
 869  "loc_FF8B41F0:\n"
 870                  "B       loc_FF8B431C\n"
 871  "loc_FF8B41F4:\n"
 872                  "B       loc_FF8B4300\n"
 873  "loc_FF8B41F8:\n"
 874                  "B       loc_FF8B4308\n"
 875  "loc_FF8B41FC:\n"
 876                  "BL      sub_FF8B0B80\n"
 877                  "B       loc_FF8B431C\n"
 878  "loc_FF8B4204:\n"
 879                  "BL      sub_FF8B0E44\n"
 880                  "B       loc_FF8B431C\n"
 881  "loc_FF8B420C:\n"
 882                  "BL      sub_FF8B1088\n"
 883                  "B       loc_FF8B431C\n"
 884  "loc_FF8B4214:\n"
 885                  "BL      sub_FF8B12C8\n"
 886                  "B       loc_FF8B431C\n"
 887  "loc_FF8B421C:\n"
 888                  "BL      sub_FF8B14BC\n"
 889                  "B       loc_FF8B431C\n"
 890  "loc_FF8B4224:\n"
 891                  "BL      sub_FF8B174C_my\n"  //------------>
 892                  "MOV     R4, #0\n"
 893                  "B       loc_FF8B431C\n"
 894  "loc_FF8B4230:\n"
 895                  "BL      sub_FF8B1888\n"
 896                  "B       loc_FF8B431C\n"
 897  "loc_FF8B4238:\n"
 898                  "LDRH    R1, [R0,#4]\n"
 899                  "STRH    R1, [SP,#0x10]\n"
 900                  "LDRH    R1, [R5,#2]\n"
 901                  "STRH    R1, [SP,#0x12]\n"
 902                  "LDRH    R1, [R5,#4]\n"
 903                  "STRH    R1, [SP,#0x14]\n"
 904                  "LDRH    R1, [R5,#6]\n"
 905                  "STRH    R1, [SP,#0x16]\n"
 906                  "LDRH    R1, [R0,#0xC]\n"
 907                  "STRH    R1, [SP,#0x18]\n"
 908                  "BL      sub_FF8B5178\n"
 909                  "B       loc_FF8B431C\n"
 910  "loc_FF8B4268:\n"
 911                  "LDRH    R1, [R0,#4]\n"
 912                  "STRH    R1, [SP,#0x10]\n"
 913                  "LDRH    R1, [R5,#2]\n"
 914                  "STRH    R1, [SP,#0x12]\n"
 915                  "LDRH    R1, [R5,#4]\n"
 916                  "STRH    R1, [SP,#0x14]\n"
 917                  "LDRH    R1, [R5,#6]\n"
 918                  "STRH    R1, [SP,#0x16]\n"
 919                  "LDRH    R1, [R5,#8]\n"
 920                  "STRH    R1, [SP,#0x18]\n"
 921                  "BL      sub_FF8B52D8\n"
 922                  "B       loc_FF8B431C\n"
 923  "loc_FF8B4298:\n"
 924                  "LDRH    R1, [R5]\n"
 925                  "STRH    R1, [SP,#0x10]\n"
 926                  "LDRH    R1, [R0,#6]\n"
 927                  "STRH    R1, [SP,#0x12]\n"
 928                  "LDRH    R1, [R5,#4]\n"
 929                  "STRH    R1, [SP,#0x14]\n"
 930                  "LDRH    R1, [R5,#6]\n"
 931                  "STRH    R1, [SP,#0x16]\n"
 932                  "LDRH    R1, [R5,#8]\n"
 933                  "STRH    R1, [SP,#0x18]\n"
 934                  "BL      sub_FF8B5384\n"
 935                  "B       loc_FF8B431C\n"
 936  "loc_FF8B42C8:\n"
 937                  "LDRH    R1, [R5]\n"
 938                  "STRH    R1, [SP,#0x10]\n"
 939                  "LDRH    R1, [R5,#2]\n"
 940                  "STRH    R1, [SP,#0x12]\n"
 941                  "LDRH    R1, [R5,#4]\n"
 942                  "STRH    R1, [SP,#0x14]\n"
 943                  "LDRH    R1, [R5,#6]\n"
 944                  "STRH    R1, [SP,#0x16]\n"
 945                  "LDRH    R1, [R0,#0xC]\n"
 946                  "STRH    R1, [SP,#0x18]\n"
 947                  "BL      sub_FF8B5424\n"
 948                  "B       loc_FF8B431C\n"
 949  "loc_FF8B42F8:\n"
 950                  "BL      sub_FF8B1B40\n"
 951                  "B       loc_FF8B431C\n"
 952  "loc_FF8B4300:\n"
 953                  "BL      sub_FF8B2190\n"
 954                  "B       loc_FF8B431C\n"
 955  "loc_FF8B4308:\n"
 956                  "BL      sub_FF8B23C8\n"
 957                  "B       loc_FF8B431C\n"
 958  "loc_FF8B4310:\n"
 959                  "BL      sub_FF8B2540\n"
 960                  "B       loc_FF8B431C\n"
 961  "loc_FF8B4318:\n"
 962                  "BL      sub_FF8B26D8\n"
 963  "loc_FF8B431C:\n"
 964                  "LDR     R0, [SP,#0x1C]\n"
 965                  "LDR     R1, [R0,#0x7C]\n"
 966                  "LDR     R3, [R0,#0x88]\n"
 967                  "LDR     R2, [R0,#0x8C]\n"
 968                  "ADD     R0, R0, #4\n"
 969                  "BLX     R3\n"
 970                  "CMP     R4, #1\n"
 971                  "BNE     loc_FF8B4384\n"
 972  "loc_FF8B433C:\n"
 973                  "LDR     R0, [SP,#0x1C]\n"
 974                  "MOV     R2, #0xC\n"
 975                  "LDR     R1, [R0,#0x7C]\n"
 976                  "ADD     R1, R1, R1,LSL#1\n"
 977                  "ADD     R0, R0, R1,LSL#2\n"
 978                  "SUB     R4, R0, #8\n"
 979                  "LDR     R0, =0x222A8\n"
 980                  "ADD     R1, SP, #0x10\n"
 981                  "BL      sub_FFB26A78\n"
 982                  "LDR     R0, =0x222B4\n"
 983                  "MOV     R2, #0xC\n"
 984                  "ADD     R1, SP, #0x10\n"
 985                  "BL      sub_FFB26A78\n"
 986                  "LDR     R0, =0x222C0\n"
 987                  "MOV     R2, #0xC\n"
 988                  "MOV     R1, R4\n"
 989                  "BL      sub_FFB26A78\n"
 990                  "B       loc_FF8B43FC\n"
 991  "loc_FF8B4384:\n"
 992                  "LDR     R0, [SP,#0x1C]\n"
 993                  "LDR     R0, [R0]\n"
 994                  "CMP     R0, #0xB\n"
 995                  "BNE     loc_FF8B43CC\n"
 996                  "MOV     R3, #0\n"
 997                  "STR     R3, [SP]\n"
 998                  "MOV     R3, #1\n"
 999                  "MOV     R2, #1\n"
1000                  "MOV     R1, #1\n"
1001                  "MOV     R0, #0\n"
1002                  "BL      sub_FF8B0988\n"
1003                  "MOV     R3, #0\n"
1004                  "STR     R3, [SP]\n"
1005                  "MOV     R3, #1\n"
1006                  "MOV     R2, #1\n"
1007                  "MOV     R1, #1\n"
1008                  "MOV     R0, #0\n"
1009                  "B       loc_FF8B43F8\n"
1010  "loc_FF8B43CC:\n"
1011                  "MOV     R3, #1\n"
1012                  "MOV     R2, #1\n"
1013                  "MOV     R1, #1\n"
1014                  "MOV     R0, #1\n"
1015                  "STR     R3, [SP]\n"
1016                  "BL      sub_FF8B0988\n"
1017                  "MOV     R3, #1\n"
1018                  "MOV     R2, #1\n"
1019                  "MOV     R1, #1\n"
1020                  "MOV     R0, #1\n"
1021                  "STR     R3, [SP]\n"
1022  "loc_FF8B43F8:\n"
1023                  "BL      sub_FF8B0AC8\n"
1024  "loc_FF8B43FC:\n"
1025                  "LDR     R0, [SP,#0x1C]\n"
1026                  "BL      sub_FF8B5104\n"
1027                  "B       loc_FF8B3E6C\n"
1028  );
1029 }
1030 
1031 void __attribute__((naked,noinline)) sub_FF8B174C_my(){ // 
1032  asm volatile(
1033                  "STMFD   SP!, {R4-R8,LR}\n"
1034                  "LDR     R7, =0x7298\n"
1035                  "MOV     R4, R0\n"
1036                  "LDR     R0, [R7,#0x1C]\n"
1037                  "MOV     R1, #0x3E\n"
1038                  "BL      sub_FF8758E8\n"
1039                  "LDRSH   R0, [R4,#4]\n"
1040                  "MOV     R2, #0\n"
1041                  "MOV     R1, #0\n"
1042                  "BL      sub_FF8B0710\n"
1043                  "MOV     R6, R0\n"
1044                  "LDRSH   R0, [R4,#6]\n"
1045                  "BL      sub_FF8B0828\n"
1046                  "LDRSH   R0, [R4,#8]\n"
1047                  "BL      sub_FF8B0880\n"
1048                  "LDRSH   R0, [R4,#0xA]\n"
1049                  "BL      sub_FF8B08D8\n"
1050                  "LDRSH   R0, [R4,#0xC]\n"
1051                  "BL      sub_FF8B0930\n"
1052                  "MOV     R5, R0\n"
1053                  "LDR     R0, [R4]\n"
1054                  "LDR     R8, =0x222C0\n"
1055                  "CMP     R0, #0xB\n"
1056                  "MOVEQ   R6, #0\n"
1057                  "MOVEQ   R5, #0\n"
1058                  "BEQ     loc_FF8B17DC\n"
1059                  "CMP     R6, #1\n"
1060                  "BNE     loc_FF8B17DC\n"
1061                  "LDRSH   R0, [R4,#4]\n"
1062                  "LDR     R1, =0xFF8B067C\n"
1063                  "MOV     R2, #2\n"
1064                  "BL      sub_FF94EAF0\n"
1065                  "STRH    R0, [R4,#4]\n"
1066                  "MOV     R0, #0\n"
1067                  "STR     R0, [R7,#0x28]\n"
1068                  "B       loc_FF8B17E4\n"
1069  "loc_FF8B17DC:\n"
1070                  "LDRH    R0, [R8]\n"
1071                  "STRH    R0, [R4,#4]\n"
1072  "loc_FF8B17E4:\n"
1073                  "CMP     R5, #1\n"
1074                  "LDRNEH  R0, [R8,#8]\n"
1075                  "BNE     loc_FF8B1800\n"
1076                  "LDRSH   R0, [R4,#0xC]\n"
1077                                  "MOV     R2, #0x20\n"
1078                  "LDR     R1, =0xFF8B0700\n"
1079                  "BL      sub_FF8B5134\n"
1080  "loc_FF8B1800:\n"
1081                  "STRH    R0, [R4,#0xC]\n"
1082                  "LDRSH   R0, [R4,#6]\n"
1083                  "BL      sub_FF8A1FA8_my\n"   //------------>
1084                  "LDRSH   R0, [R4,#8]\n"
1085                  "MOV     R1, #1\n"
1086                  "BL      sub_FF8A267C\n"
1087                  "MOV     R1, #0\n"
1088                  "ADD     R0, R4, #8\n"
1089                  "BL      sub_FF8A2704\n"
1090                  "LDRSH   R0, [R4,#0xE]\n"
1091                  "BL      sub_FF8AC38C\n"
1092                  "LDR     R4, =0xBB8\n"
1093                  "CMP     R6, #1\n"
1094                  "BNE     loc_FF8B1858\n"
1095                  "LDR     R0, [R7,#0x1C]\n"
1096                  "MOV     R2, R4\n"
1097                  "MOV     R1, #2\n"
1098                  "BL      sub_FF8757F4\n"
1099                  "TST     R0, #1\n"
1100                  "LDRNE   R1, =0x583\n"
1101                  "LDRNE   R0, =0xFF8B0D14\n"
1102                  "BLNE    sub_FF81B1CC\n"
1103  "loc_FF8B1858:\n"
1104                  "CMP     R5, #1\n"
1105                  "LDMNEFD SP!, {R4-R8,PC}\n"
1106                  "LDR     R0, [R7,#0x1C]\n"
1107                  "MOV     R2, R4\n"
1108                  "MOV     R1, #0x20\n"
1109                  "BL      sub_FF8757F4\n"
1110                  "TST     R0, #1\n"
1111                  "LDRNE   R1, =0x588\n"
1112                  "LDRNE   R0, =0xFF8B0D14\n"
1113                  "LDMNEFD SP!, {R4-R8,LR}\n"
1114                  "BNE     sub_FF81B1CC\n"
1115                  "LDMFD   SP!, {R4-R8,PC}\n"
1116  );
1117 }
1118 
1119 void __attribute__((naked,noinline)) sub_FF8A1FA8_my(){ // 
1120  asm volatile(
1121                  "STMFD   SP!, {R4-R6,LR}\n"
1122                  "LDR     R5, =0x6F4C\n"
1123                  "MOV     R4, R0\n"
1124                  "LDR     R0, [R5,#4]\n"
1125                  "CMP     R0, #1\n"
1126                  "MOVNE   R1, #0x140\n"
1127                  "LDRNE   R0, =0xFF8A1DAC\n"
1128                  "BLNE    sub_FF81B1CC\n"
1129                  "CMN     R4, #0xC00\n"
1130                  "LDREQSH R4, [R5,#2]\n"
1131                  "CMN     R4, #0xC00\n"
1132                  "LDREQ   R1, =0x146\n"
1133                  "LDREQ   R0, =0xFF8A1DAC\n"
1134                  "STRH    R4, [R5,#2]\n"
1135                  "BLEQ    sub_FF81B1CC\n"
1136                  "MOV     R0, R4\n"
1137            //      "BL      sub_FF9FDBDC\n"  
1138                            "BL      apex2us\n"       
1139                  "MOV     R4, R0\n"
1140            //    "BL      nullsub_204\n"
1141                  "MOV     R0, R4\n"
1142                  "BL      sub_FF8E5878\n"
1143                  "TST     R0, #1\n"
1144                  "LDRNE   R1, =0x14B\n"
1145                  "LDMNEFD SP!, {R4-R6,LR}\n"
1146                  "LDRNE   R0, =0xFF8A1DAC\n"
1147                  "BNE     sub_FF81B1CC\n"
1148                  "LDMFD   SP!, {R4-R6,PC}\n"
1149  );
1150 }

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