root/platform/s3is/sub/100a/capt_seq.c

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

DEFINITIONS

This source file includes following definitions.
  1. sub_FF97DD78_my
  2. sub_FF97A124_my
  3. capt_seq_task
  4. exp_drv_task
  5. sub_FF91174C_my
  6. sub_FF8B524C_my

   1 #include "lolevel.h"
   2 #include "platform.h"
   3 #include "core.h"
   4 
   5 static long *nrflag = (long*)0x6688;
   6 
   7 #include "../../../generic/capt_seq.c"
   8 
   9 void __attribute__((naked,noinline)) sub_FF97DD78_my(long p)
  10 {
  11     (void)p;
  12     asm volatile (
  13                 "STMFD   SP!, {R4-R6,LR}\n"
  14                 "LDR     R3, =0x6193C\n"
  15                 "LDR     R5, =0x6684\n"
  16                 "SUB     SP, SP, #4\n"
  17                 "LDR     R1, =0xFFFFFFFF\n"
  18                 "STR     R0, [R5]\n"
  19                 "LDR     R0, [R3]\n"
  20                 "BL      sub_FF81FF40\n"
  21                 "LDR     R3, =0x92DE0\n"
  22                 "LDR     R0, [R3,#0x74]\n"
  23                 //"BL      nullsub_31\n"
  24                 "BL      sub_FF97DCCC\n"
  25          //   "BL      wait_until_remote_button_is_released\n"
  26                 "BL      capt_seq_hook_set_nr\n"
  27                 "LDR     R3, =0x668C\n"
  28                 "LDR     R0, [R3]\n"
  29 
  30                 "B       sub_FF97DDB0\n"
  31     );
  32 }
  33 
  34 void __attribute__((naked,noinline)) sub_FF97A124_my(long p)
  35 {
  36     (void)p;
  37     asm volatile (
  38                 "STMFD   SP!, {R4-R7,LR}\n"
  39                 "LDR     R4, [R0,#0xC]\n"
  40                 "BL      sub_FF983D84\n"
  41                 "CMP     R0, #0\n"
  42                 "BNE     loc_FF97A13C\n"
  43                 "BL      sub_FF983D90\n"
  44 "loc_FF97A13C:\n"
  45                 "LDR     R1, =0x92DE0\n"
  46                 "MOV     R3, #0x8000\n"
  47                 "LDRH    R2, [R1]\n"
  48                 "ADD     R3, R3, #7\n"
  49                 "CMP     R2, R3\n"
  50                 "BNE     loc_FF97A198\n"
  51                 "LDRH    R3, [R1,#0x80]\n"
  52                 "CMP     R3, #3\n"
  53                 "BEQ     loc_FF97A198\n"
  54                 "LDRH    R3, [R1,#0x7E]\n"
  55                 "CMP     R3, #0\n"
  56                 "BNE     loc_FF97A198\n"
  57                 "LDRH    R3, [R1,#0x7A]\n"
  58                 "CMP     R3, #1\n"
  59                 "BNE     loc_FF97A198\n"
  60                 "LDR     R2, =0x92E80\n"
  61                 "LDR     R3, [R2,#0x1C]\n"
  62                 "CMP     R3, #0\n"
  63                 "BNE     loc_FF97A198\n"
  64                 "LDR     R3, [R2,#0x18]\n"
  65                 "CMP     R3, #0\n"
  66                 "BNE     loc_FF97A198\n"
  67                 "BL      sub_FF97D9C4\n"
  68 "loc_FF97A198:\n"
  69                 "MOV     R0, #0xC\n"
  70                 "BL      sub_FF983DA4\n"
  71                 "TST     R0, #1\n"
  72                 "BEQ     loc_FF97A1BC\n"
  73                 "MOV     R0, #1\n"
  74 "loc_FF97A1AC:\n"
  75                 "MOV     R2, R4\n"
  76                 "MOV     R1, #1\n"
  77                 "LDMFD   SP!, {R4-R7,LR}\n"
  78                 "B       sub_FF9783E4\n"
  79 "loc_FF97A1BC:\n"
  80                 "MOV     R0, #2\n"
  81                 "LDR     R6, =0x92D20\n"
  82                 "BL      sub_FFB01384\n"
  83                 "ADD     R3, R4, R4,LSL#1\n"
  84                 "MOV     R5, R3,LSL#5\n"
  85                 "ADD     R7, R6, #8\n"
  86                 "LDR     R3, [R7,R5]\n"
  87                 "CMP     R3, #0\n"
  88                 "BEQ     loc_FF97A1E4\n"
  89                 "BL      sub_FF962E94\n"
  90 "loc_FF97A1E4:\n"
  91                 "MOV     R0, R4\n"
  92                 "BL      sub_FF97C7B8\n"
  93                 "MOV     R0, R4\n"
  94                 "BL      sub_FF97C7F4\n"
  95                 "TST     R0, #1\n"
  96                 "BNE     loc_FF97A1AC\n"
  97                 "BL      sub_FF9C0724\n"
  98                 "BL      sub_FF824B88\n"
  99                 "ADD     R3, R6, #4\n"
 100                 "STR     R0, [R3,R5]\n"
 101                 "MOV     R0, R4\n"
 102                 "BL      sub_FF97E4FC\n"
 103                 "BL      sub_FF97CD9C\n"
 104                 "BL      sub_FF97CD38\n"
 105                 "MOV     R0, R4\n"
 106                 "BL      sub_FF97DD78_my\n"
 107                 "BL      capt_seq_hook_raw_here\n"
 108                 "MOV     R1, #1\n"
 109                 "MOV     R2, R4\n"
 110                 "BL      sub_FF9783E4\n"
 111                 "BL      sub_FF97DF88\n"
 112                 "LDR     R3, [R7,R5]\n"
 113                 "CMP     R3, #0\n"
 114                 "BEQ     loc_FF97A244\n"
 115                 "BL      sub_FF962EB4\n"
 116 "loc_FF97A244:\n"
 117                 "LDR     R1, =0x92DE0\n"
 118                 "MOV     R3, #0x8000\n"
 119                 "LDRH    R2, [R1]\n"
 120                 "ADD     R3, R3, #7\n"
 121                 "CMP     R2, R3\n"
 122                 "LDMNEFD SP!, {R4-R7,PC}\n"
 123                 "LDRH    R3, [R1,#0x80]\n"
 124                 "CMP     R3, #3\n"
 125                 "LDMEQFD SP!, {R4-R7,PC}\n"
 126                 "LDRH    R3, [R1,#0x7E]\n"
 127                 "CMP     R3, #0\n"
 128                 "LDMNEFD SP!, {R4-R7,PC}\n"
 129                 "LDRH    R3, [R1,#0x7A]\n"
 130                 "CMP     R3, #1\n"
 131                 "LDMNEFD SP!, {R4-R7,PC}\n"
 132                 "LDR     R2, =0x92E80\n"
 133                 "LDR     R3, [R2,#0x1C]\n"
 134                 "CMP     R3, #0\n"
 135                 "LDMNEFD SP!, {R4-R7,PC}\n"
 136                 "LDR     R3, [R2,#0x18]\n"
 137                 "CMP     R3, #0\n"
 138                 "LDMNEFD SP!, {R4-R7,PC}\n"
 139                 "MOV     R0, R4\n"
 140                 "LDMFD   SP!, {R4-R7,LR}\n"
 141                 "B       sub_FF97D970\n"
 142     );
 143 }
 144 
 145 void __attribute__((naked,noinline)) capt_seq_task()
 146 {
 147         asm volatile (
 148                 "STMFD   SP!, {R4,LR}\n"
 149                 "SUB     SP, SP, #4\n"
 150                 "MOV     R4, SP\n"
 151                 "B       loc_FF97A8F8\n"
 152 "loc_FF97A630:\n"
 153                 "LDR     R1, [SP,#0xC-0xC]\n"
 154                 "LDR     R3, [R1]\n"
 155                 "MOV     R0, R1\n"
 156                 "CMP     R3, #0x15\n"
 157                 "LDRLS   PC, [PC,R3,LSL#2]\n"
 158                 "B       loc_FF97A8D0\n"
 159                 ".long loc_FF97A6A0\n"
 160                 ".long loc_FF97A6AC\n"
 161                 ".long loc_FF97A6B4\n"
 162                 ".long loc_FF97A720\n"
 163                 ".long loc_FF97A718\n"
 164                 ".long loc_FF97A784\n"
 165                 ".long loc_FF97A7E8\n"
 166                 ".long loc_FF97A7F4\n"
 167                 ".long loc_FF97A7FC\n"
 168                 ".long loc_FF97A808\n"
 169                 ".long loc_FF97A810\n"
 170                 ".long loc_FF97A818\n"
 171                 ".long loc_FF97A820\n"
 172                 ".long loc_FF97A828\n"
 173                 ".long loc_FF97A830\n"
 174                 ".long loc_FF97A83C\n"
 175                 ".long loc_FF97A844\n"
 176                 ".long loc_FF97A84C\n"
 177                 ".long loc_FF97A854\n"
 178                 ".long loc_FF97A860\n"
 179                 ".long loc_FF97A868\n"
 180                 ".long loc_FF97A870\n"
 181 "loc_FF97A6A0:\n"
 182                 "BL      sub_FF97C09C\n"
 183                 "BL      shooting_expo_param_override\n"  // +
 184                 "BL      sub_FF977E9C\n"
 185                 "B       loc_FF97A8DC\n"
 186 "loc_FF97A6AC:\n"
 187                 "BL      sub_FF97A124_my\n"
 188                 "B       loc_FF97A8DC\n"
 189 "loc_FF97A6B4:\n"
 190                 "LDR     R1, =0x92DE0\n"
 191                 "MOV     R3, #0x8000\n"
 192                 "LDRH    R2, [R1]\n"
 193                 "ADD     R3, R3, #7\n"
 194                 "CMP     R2, R3\n"
 195                 "BNE     loc_FF97A710\n"
 196                 "LDRH    R3, [R1,#0x80]\n"
 197                 "CMP     R3, #3\n"
 198                 "BEQ     loc_FF97A710\n"
 199                 "LDRH    R3, [R1,#0x7E]\n"
 200                 "CMP     R3, #0\n"
 201                 "BNE     loc_FF97A710\n"
 202                 "LDRH    R3, [R1,#0x7A]\n"
 203                 "CMP     R3, #1\n"
 204                 "BNE     loc_FF97A710\n"
 205                 "LDR     R2, =0x92E80\n"
 206                 "LDR     R3, [R2,#0x1C]\n"
 207                 "CMP     R3, #0\n"
 208                 "BNE     loc_FF97A710\n"
 209                 "LDR     R3, [R2,#0x18]\n"
 210                 "CMP     R3, #0\n"
 211                 "BNE     loc_FF97A710\n"
 212                 "BL      sub_FF97D9C4\n"
 213 "loc_FF97A710:\n"
 214                 "BL      sub_FF97C7A8\n"
 215                 "B       loc_FF97A8DC\n"
 216 "loc_FF97A718:\n"
 217                 "BL      sub_FF97B384\n"
 218                 "B       loc_FF97A8DC\n"
 219 "loc_FF97A720:\n"
 220                 "LDR     R1, =0x92DE0\n"
 221                 "MOV     R3, #0x8000\n"
 222                 "LDRH    R2, [R1]\n"
 223                 "ADD     R3, R3, #7\n"
 224                 "CMP     R2, R3\n"
 225                 "BNE     loc_FF97A77C\n"
 226                 "LDRH    R3, [R1,#0x80]\n"
 227                 "CMP     R3, #3\n"
 228                 "BEQ     loc_FF97A77C\n"
 229                 "LDRH    R3, [R1,#0x7E]\n"
 230                 "CMP     R3, #0\n"
 231                 "BNE     loc_FF97A77C\n"
 232                 "LDRH    R3, [R1,#0x7A]\n"
 233                 "CMP     R3, #1\n"
 234                 "BNE     loc_FF97A77C\n"
 235                 "LDR     R2, =0x92E80\n"
 236                 "LDR     R3, [R2,#0x1C]\n"
 237                 "CMP     R3, #0\n"
 238                 "BNE     loc_FF97A77C\n"
 239                 "LDR     R3, [R2,#0x18]\n"
 240                 "CMP     R3, #0\n"
 241                 "BNE     loc_FF97A77C\n"
 242                 "BL      sub_FF97D9C4\n"
 243 "loc_FF97A77C:\n"
 244                 "BL      sub_FF97B724\n"
 245                 "B       loc_FF97A8DC\n"
 246 "loc_FF97A784:\n"
 247                 "LDR     R1, =0x92DE0\n"
 248                 "MOV     R3, #0x8000\n"
 249                 "LDRH    R2, [R1]\n"
 250                 "ADD     R3, R3, #7\n"
 251                 "CMP     R2, R3\n"
 252                 "BNE     loc_FF97A7E0\n"
 253                 "LDRH    R3, [R1,#0x80]\n"
 254                 "CMP     R3, #3\n"
 255                 "BEQ     loc_FF97A7E0\n"
 256                 "LDRH    R3, [R1,#0x7E]\n"
 257                 "CMP     R3, #0\n"
 258                 "BNE     loc_FF97A7E0\n"
 259                 "LDRH    R3, [R1,#0x7A]\n"
 260                 "CMP     R3, #1\n"
 261                 "BNE     loc_FF97A7E0\n"
 262                 "LDR     R2, =0x92E80\n"
 263                 "LDR     R3, [R2,#0x1C]\n"
 264                 "CMP     R3, #0\n"
 265                 "BNE     loc_FF97A7E0\n"
 266                 "LDR     R3, [R2,#0x18]\n"
 267                 "CMP     R3, #0\n"
 268                 "BNE     loc_FF97A7E0\n"
 269                 "BL      sub_FF97D9C4\n"
 270 "loc_FF97A7E0:\n"
 271                 "BL      sub_FF97B734\n"
 272                 "B       loc_FF97A8DC\n"
 273 "loc_FF97A7E8:\n"
 274                 "BL      sub_FF97C180\n"
 275                 "BL      sub_FF977E9C\n"
 276                 "B       loc_FF97A8DC\n"
 277 "loc_FF97A7F4:\n"
 278                 "BL      sub_FF97A320\n"
 279                 "B       loc_FF97A8DC\n"
 280 "loc_FF97A7FC:\n"
 281                 "BL      sub_FF97C1E8\n"
 282                 "BL      sub_FF977E9C\n"
 283                 "B       loc_FF97A8DC\n"
 284 "loc_FF97A808:\n"
 285                 "BL      sub_FF97B724\n"
 286                 "B       loc_FF97A8DC\n"
 287 "loc_FF97A810:\n"
 288                 "BL      sub_FF97CDDC\n"
 289                 "B       loc_FF97A8DC\n"
 290 "loc_FF97A818:\n"
 291                 "BL      sub_FF97D120\n"
 292                 "B       loc_FF97A8DC\n"
 293 "loc_FF97A820:\n"
 294                 "BL      sub_FF97D1A4\n"
 295                 "B       loc_FF97A8DC\n"
 296 "loc_FF97A828:\n"
 297                 "BL      sub_FF97D2A0\n"
 298                 "B       loc_FF97A8DC\n"
 299 "loc_FF97A830:\n"
 300                 "MOV     R0, #0\n"
 301                 "BL      sub_FF97D368\n"
 302                 "B       loc_FF97A8DC\n"
 303 "loc_FF97A83C:\n"
 304                 "BL      sub_FF97D504\n"
 305                 "B       loc_FF97A8DC\n"
 306 "loc_FF97A844:\n"
 307                 "BL      sub_FF97D598\n"
 308                 "B       loc_FF97A8DC\n"
 309 "loc_FF97A84C:\n"
 310                 "BL      sub_FF97D654\n"
 311                 "B       loc_FF97A8DC\n"
 312 "loc_FF97A854:\n"
 313                 "MOV     R0, #1\n"
 314                 "BL      sub_FF97D368\n"
 315                 "B       loc_FF97A8DC\n"
 316 "loc_FF97A860:\n"
 317                 "BL      sub_FF97D740\n"
 318                 "B       loc_FF97A8DC\n"
 319 "loc_FF97A868:\n"
 320                 "BL      sub_FF97D810\n"
 321                 "B       loc_FF97A8DC\n"
 322 "loc_FF97A870:\n"
 323                 "LDR     R0, =0x92DE0\n"
 324                 "MOV     R3, #0x8000\n"
 325                 "LDRH    R2, [R0]\n"
 326                 "ADD     R3, R3, #7\n"
 327                 "CMP     R2, R3\n"
 328                 "BNE     loc_FF97A8E0\n"
 329                 "LDRH    R3, [R0,#0x80]\n"
 330                 "CMP     R3, #3\n"
 331                 "BEQ     loc_FF97A8E0\n"
 332                 "LDRH    R3, [R0,#0x7E]\n"
 333                 "CMP     R3, #0\n"
 334                 "BNE     loc_FF97A8E0\n"
 335                 "LDRH    R3, [R0,#0x7A]\n"
 336                 "CMP     R3, #1\n"
 337                 "BNE     loc_FF97A8E0\n"
 338                 "LDR     R2, =0x92E80\n"
 339                 "LDR     R3, [R2,#0x1C]\n"
 340                 "CMP     R3, #0\n"
 341                 "BNE     loc_FF97A8E0\n"
 342                 "LDR     R3, [R2,#0x18]\n"
 343                 "CMP     R3, #0\n"
 344                 "BNE     loc_FF97A8E0\n"
 345                 "BL      sub_FF97D9C4\n"
 346                 "B       loc_FF97A8DC\n"
 347 "loc_FF97A8D0:\n"
 348                 "MOV     R1, #0x36C\n"
 349                 "LDR     R0, =0xFF979EB0\n"
 350                 "BL      sub_FF813B80\n"
 351 "loc_FF97A8DC:\n"
 352                 "LDR     R1, [SP,#0xC-0xC]\n"
 353 "loc_FF97A8E0:\n"
 354                 "LDR     R3, =0x618C4\n"
 355                 "LDR     R1, [R1,#4]\n"
 356                 "LDR     R0, [R3]\n"
 357                 "BL      sub_FF81FDA4\n"
 358                 "LDR     R0, [SP,#0xC-0xC]\n"
 359                 "BL      sub_FF979F2C\n"
 360 "loc_FF97A8F8:\n"
 361                 "LDR     R3, =0x618C8\n"
 362                 "MOV     R1, R4\n"
 363                 "LDR     R0, [R3]\n"
 364                 "MOV     R2, #0\n"
 365                 "BL      sub_FF8204BC\n"
 366                 "TST     R0, #1\n"
 367                 "BEQ     loc_FF97A630\n"
 368                 "MOV     R1, #0x2A4\n"
 369                 "LDR     R0, =0xFF979EB0\n"
 370                 "ADD     R1, R1, #2\n"
 371                 "BL      sub_FF813B80\n"
 372                 "BL      sub_FF821A18\n"
 373                 "ADD     SP, SP, #4\n"
 374                 "LDMFD   SP!, {R4,PC}\n"
 375         );
 376 }
 377 
 378 /*************************************************************/
 379 void __attribute__((naked,noinline)) exp_drv_task(){
 380  asm volatile(
 381                  "STMFD   SP!, {R4-R8,LR}\n"
 382                  "SUB     SP, SP, #0x14\n"
 383                  "MOV     R7, SP\n"
 384                  "B       loc_FF913654\n"
 385  "loc_FF913268:\n"
 386                  "CMP     R2, #0x1F\n"
 387                  "BNE     loc_FF913280\n"
 388                  "LDR     R0, [R12,#0x50]\n"
 389                  "MOV     LR, PC\n"
 390                  "LDR     PC, [R12,#0x4C]\n"
 391                  "B       loc_FF9132E0\n"
 392  "loc_FF913280:\n"
 393                  "CMP     R2, #0x1A\n"
 394                  "BNE     loc_FF913294\n"
 395                  "MOV     R0, R12\n"
 396                  "BL      sub_FF913188\n"
 397                  "B       loc_FF9132D0\n"
 398  "loc_FF913294:\n"
 399                  "CMP     R2, #0x1B\n"
 400                  "BNE     loc_FF9132A8\n"
 401                  "MOV     R0, R12\n"
 402                  "BL      sub_FF9131C4\n"
 403                  "B       loc_FF9132D0\n"
 404  "loc_FF9132A8:\n"
 405                  "SUB     R3, R2, #0x1C\n"
 406                  "CMP     R3, #1\n"
 407                  "BHI     loc_FF9132C0\n"
 408                  "MOV     R0, R12\n"
 409                  "BL      sub_FF913200\n"
 410                  "B       loc_FF9132D0\n"
 411  "loc_FF9132C0:\n"
 412                  "CMP     R2, #0x1E\n"
 413                  "BNE     loc_FF9132EC\n"
 414                  "BL      sub_FF8B55C4\n"
 415                  "BL      sub_FF8B73B4\n"
 416  "loc_FF9132D0:\n"
 417                  "LDR     R3, [SP]\n"
 418                  "LDR     R0, [R3,#0x50]\n"
 419                  "MOV     LR, PC\n"
 420                  "LDR     PC, [R3,#0x4C]\n"
 421  "loc_FF9132E0:\n"
 422                  "LDR     R0, [SP]\n"
 423                  "BL      sub_FF910B94\n"
 424                  "B       loc_FF913654\n"
 425  "loc_FF9132EC:\n"
 426                  "CMP     R2, #0xD\n"
 427                  "MOV     R8, #1\n"
 428                  "BNE     loc_FF91335C\n"
 429                  "LDR     R1, [R12,#0x40]\n"
 430                  "ADD     R1, R1, R1,LSL#1\n"
 431                  "ADD     R1, R12, R1,LSL#1\n"
 432                  "ADD     R6, SP, #0xC\n"
 433                  "SUB     R1, R1, #2\n"
 434                  "MOV     R2, #6\n"
 435                  "MOV     R0, R6\n"
 436                  "BL      sub_FFB4F230\n"
 437                  "LDR     R0, [SP]\n"
 438                  "BL      sub_FF912158\n"
 439                  "LDR     R3, [SP]\n"
 440                  "LDR     R1, [R3,#0x40]\n"
 441                  "LDR     R2, [R3,#0x50]\n"
 442                  "ADD     R0, R3, #4\n"
 443                  "MOV     LR, PC\n"
 444                  "LDR     PC, [R3,#0x4C]\n"
 445                  "LDR     R0, [SP]\n"
 446                  "BL      sub_FF9122DC\n"
 447                  "LDR     R3, [SP]\n"
 448                  "ADD     R0, R3, #4\n"
 449                  "LDR     R1, [R3,#0x40]\n"
 450                  "LDR     R2, [R3,#0x58]\n"
 451                  "MOV     LR, PC\n"
 452                  "LDR     PC, [R3,#0x54]\n"
 453                  "B       loc_FF913604\n"
 454  "loc_FF91335C:\n"
 455                  "SUB     R3, R2, #0xE\n"
 456                  "CMP     R3, #1\n"
 457                  "BHI     loc_FF913418\n"
 458                  "ADD     R6, SP, #0xC\n"
 459                  "ADD     R5, SP, #4\n"
 460                  "MOV     R0, R12\n"
 461                  "MOV     R1, R6\n"
 462                  "MOV     R2, R5\n"
 463                  "BL      sub_FF912358\n"
 464                  "MOV     R4, R0\n"
 465                  "CMP     R4, #5\n"
 466                  "CMPNE   R4, #1\n"
 467                  "BNE     loc_FF9133B0\n"
 468                  "LDR     R12, [SP]\n"
 469                  "MOV     R0, R5\n"
 470                  "LDR     R1, [R12,#0x40]\n"
 471                  "MOV     R2, R4\n"
 472                  "LDR     R3, [R12,#0x50]\n"
 473                  "MOV     LR, PC\n"
 474                  "LDR     PC, [R12,#0x4C]\n"
 475                  "B       loc_FF9133E8\n"
 476  "loc_FF9133B0:\n"
 477                  "CMP     R4, #6\n"
 478                  "CMPNE   R4, #2\n"
 479                  "BNE     loc_FF9133F8\n"
 480                  "LDR     R12, [SP]\n"
 481                  "MOV     R0, R5\n"
 482                  "MOV     R1, R8\n"
 483                  "MOV     R2, R4\n"
 484                  "LDR     R3, [R12,#0x50]\n"
 485                  "MOV     LR, PC\n"
 486                  "LDR     PC, [R12,#0x4C]\n"
 487                  "MOV     R1, R6\n"
 488                  "LDR     R0, [SP]\n"
 489                  "MOV     R2, R5\n"
 490                  "BL      sub_FF912FC4\n"
 491  "loc_FF9133E8:\n"
 492                  "MOV     R1, R4\n"
 493                  "LDR     R0, [SP]\n"
 494                  "BL      sub_FF913168\n"
 495                  "B       loc_FF913604\n"
 496  "loc_FF9133F8:\n"
 497                  "LDR     R12, [SP]\n"
 498                  "MOV     R2, R4\n"
 499                  "ADD     R0, R12, #4\n"
 500                  "LDR     R1, [R12,#0x40]\n"
 501                  "LDR     R3, [R12,#0x50]\n"
 502                  "MOV     LR, PC\n"
 503                  "LDR     PC, [R12,#0x4C]\n"
 504                  "B       loc_FF913604\n"
 505  "loc_FF913418:\n"
 506                  "SUB     R3, R2, #0x17\n"
 507                  "CMP     R3, #1\n"
 508                  "BHI     loc_FF913470\n"
 509                  "LDR     R1, [R12,#0x40]\n"
 510                  "ADD     R1, R1, R1,LSL#1\n"
 511                  "ADD     R1, R12, R1,LSL#1\n"
 512                  "ADD     R6, SP, #0xC\n"
 513                  "SUB     R1, R1, #2\n"
 514                  "MOV     R2, #6\n"
 515                  "MOV     R0, R6\n"
 516                  "BL      sub_FFB4F230\n"
 517                  "LDR     R0, [SP]\n"
 518                  "BL      sub_FF911BC4\n"
 519                  "LDR     R3, [SP]\n"
 520                  "ADD     R0, R3, #4\n"
 521                  "LDR     R1, [R3,#0x40]\n"
 522                  "LDR     R2, [R3,#0x50]\n"
 523                  "MOV     LR, PC\n"
 524                  "LDR     PC, [R3,#0x4C]\n"
 525                  "LDR     R0, [SP]\n"
 526                  "BL      sub_FF911E5C\n"
 527                  "B       loc_FF913604\n"
 528  "loc_FF913470:\n"
 529                  "ADD     R6, SP, #0xC\n"
 530                  "ADD     R1, R12, #4\n"
 531                  "MOV     R2, #6\n"
 532                  "MOV     R0, R6\n"
 533                  "BL      sub_FFB4F230\n"
 534                  "LDR     R12, [SP]\n"
 535                  "LDR     R3, [R12]\n"
 536                  "MOV     R2, R12\n"
 537                  "CMP     R3, #0x19\n"
 538                  "LDRLS   PC, [PC,R3,LSL#2]\n"
 539                  "B       loc_FF9135F0\n"
 540                  ".long loc_FF913504\n"
 541                  ".long loc_FF913510\n"
 542                  ".long loc_FF91351C\n"
 543                  ".long loc_FF91351C\n"
 544                  ".long loc_FF913504\n"
 545                  ".long loc_FF913510\n"
 546                  ".long loc_FF91351C\n"
 547                  ".long loc_FF91351C\n"
 548                  ".long loc_FF913540\n"
 549                  ".long loc_FF913540\n"
 550                  ".long loc_FF9135C4\n"
 551                  ".long loc_FF9135D0\n"
 552                  ".long loc_FF9135E0\n"
 553                  ".long loc_FF9135F0\n"
 554                  ".long loc_FF9135F0\n"
 555                  ".long loc_FF9135F0\n"
 556                  ".long loc_FF913528\n"
 557                  ".long loc_FF913534\n"
 558                  ".long loc_FF913550\n"
 559                  ".long loc_FF91355C\n"
 560                  ".long loc_FF913584\n"
 561                  ".long loc_FF9135AC\n"
 562                  ".long loc_FF9135AC\n"
 563                  ".long loc_FF9135F0\n"
 564                  ".long loc_FF9135F0\n"
 565                  ".long loc_FF9135B8\n"
 566  "loc_FF913504:\n"
 567                  "MOV     R0, R2\n"
 568                  "BL      sub_FF911140\n"
 569                  "B       loc_FF9135EC\n"
 570  "loc_FF913510:\n"
 571                  "MOV     R0, R2\n"
 572                  "BL      sub_FF91127C\n"
 573                  "B       loc_FF9135EC\n"
 574  "loc_FF91351C:\n"
 575                  "MOV     R0, R2\n"
 576                  "BL      sub_FF9113AC\n"
 577                  "B       loc_FF9135EC\n"
 578  "loc_FF913528:\n"
 579                  "MOV     R0, R2\n"
 580                  "BL      sub_FF911580\n"
 581                  "B       loc_FF9135EC\n"
 582  "loc_FF913534:\n"
 583                  "MOV     R0, R2\n"
 584                  "BL      sub_FF911688\n"
 585                  "B       loc_FF9135EC\n"
 586  "loc_FF913540:\n"
 587                  "MOV     R0, R2\n"
 588                  "BL      sub_FF91174C_my\n"  //--------->
 589                  "MOV     R8, #0\n"
 590                  "B       loc_FF9135EC\n"
 591  "loc_FF913550:\n"
 592                  "MOV     R0, R2\n"
 593                  "BL      sub_FF91180C\n"
 594                  "B       loc_FF9135EC\n"
 595  "loc_FF91355C:\n"
 596                  "MOV     R0, R2\n"
 597                  "LDRH    R2, [R2,#4]\n"
 598                  "LDR     R3, =0x3C7DC\n"
 599                  "STRH    R2, [SP,#0xC]\n"
 600                  "LDRH    R1, [R3,#4]\n"
 601                  "STRH    R1, [SP,#0x10]\n"
 602                  "LDRH    R3, [R3,#2]\n"
 603                  "STRH    R3, [SP,#0xE]\n"
 604                  "BL      sub_FF911994\n"
 605                  "B       loc_FF9135EC\n"
 606  "loc_FF913584:\n"
 607                  "LDR     R3, =0x3C7DC\n"
 608                  "LDRH    R1, [R3]\n"
 609                  "STRH    R1, [SP,#0xC]\n"
 610                  "MOV     R0, R2\n"
 611                  "LDRH    R2, [R2,#6]\n"
 612                  "STRH    R2, [SP,#0xE]\n"
 613                  "LDRH    R3, [R3,#4]\n"
 614                  "STRH    R3, [SP,#0x10]\n"
 615                  "BL      sub_FF911A28\n"
 616                  "B       loc_FF9135EC\n"
 617  "loc_FF9135AC:\n"
 618                  "MOV     R0, R2\n"
 619                  "BL      sub_FF911AA8\n"
 620                  "B       loc_FF9135EC\n"
 621  "loc_FF9135B8:\n"
 622                  "MOV     R0, R2\n"
 623                  "BL      sub_FF911EEC\n"
 624                  "B       loc_FF9135EC\n"
 625  "loc_FF9135C4:\n"
 626                  "MOV     R0, R2\n"
 627                  "BL      sub_FF911FC0\n"
 628                  "B       loc_FF9135EC\n"
 629  "loc_FF9135D0:\n"
 630                  "MOV     R0, R2\n"
 631                  "MOV     R1, #0\n"
 632                  "BL      sub_FF9120AC\n"
 633                  "B       loc_FF9135EC\n"
 634  "loc_FF9135E0:\n"
 635                  "MOV     R0, R2\n"
 636                  "MOV     R1, #1\n"
 637                  "BL      sub_FF9120AC\n"
 638  "loc_FF9135EC:\n"
 639                  "LDR     R12, [SP]\n"
 640  "loc_FF9135F0:\n"
 641                  "ADD     R0, R12, #4\n"
 642                  "LDR     R1, [R12,#0x40]\n"
 643                  "LDR     R2, [R12,#0x50]\n"
 644                  "MOV     LR, PC\n"
 645                  "LDR     PC, [R12,#0x4C]\n"
 646  "loc_FF913604:\n"
 647                  "CMP     R8, #1\n"
 648                  "BNE     loc_FF91362C\n"
 649                  "LDR     R1, [SP]\n"
 650                  "LDR     R3, [R1,#0x40]\n"
 651                  "ADD     R3, R3, R3,LSL#1\n"
 652                  "ADD     R1, R1, R3,LSL#1\n"
 653                  "MOV     R0, R6\n"
 654                  "SUB     R1, R1, #2\n"
 655                  "BL      sub_FF910FA8\n"
 656                  "B       loc_FF91364C\n"
 657  "loc_FF91362C:\n"
 658                  "MOV     R0, #1\n"
 659                  "MOV     R1, R0\n"
 660                  "MOV     R2, R0\n"
 661                  "BL      sub_FF910F4C\n"
 662                  "MOV     R0, #1\n"
 663                  "MOV     R1, R0\n"
 664                  "MOV     R2, R0\n"
 665                  "BL      sub_FF911068\n"
 666  "loc_FF91364C:\n"
 667                  "LDR     R0, [SP]\n"
 668                  "BL      sub_FF910B94\n"
 669  "loc_FF913654:\n"
 670                  "LDR     R3, =0x3C7D4\n"
 671                  "MOV     R2, #0\n"
 672                  "LDR     R0, [R3]\n"
 673                  "MOV     R1, R7\n"
 674                  "BL      sub_FF8204BC\n"
 675                  "LDR     R12, [SP]\n"
 676                  "LDR     R2, [R12]\n"
 677                  "CMP     R2, #0x20\n"
 678                  "BNE     loc_FF913268\n"
 679                  "MOV     R0, R12\n"
 680                  "BL      sub_FF910B94\n"
 681                  "LDR     R3, =0x3C7D0\n"
 682                  "MOV     R1, #1\n"
 683                  "LDR     R0, [R3]\n"
 684                  "BL      sub_FF81FDA4\n"
 685                  "BL      sub_FF821A18\n"
 686                  "ADD     SP, SP, #0x14\n"
 687                  "LDMFD   SP!, {R4-R8,PC}\n"
 688  );
 689 }
 690 
 691 void __attribute__((naked,noinline)) sub_FF91174C_my(){
 692  asm volatile(
 693                  "STMFD   SP!, {R4,R5,LR}\n"
 694                  "LDR     R3, =0x3C7D0\n"
 695                  "MOV     R4, R0\n"
 696                  "MOV     R1, #0xE\n"
 697                  "LDR     R0, [R3]\n"
 698                  "BL      sub_FF81FF40\n"
 699                  "MOV     R1, #0\n"
 700                  "LDRSH   R0, [R4,#4]\n"
 701                  "BL      sub_FF910C70\n"
 702                  "MOV     R5, R0\n"
 703                  "LDRSH   R0, [R4,#6]\n"
 704                  "BL      sub_FF910DE4\n"
 705                  "LDRSH   R0, [R4,#8]\n"
 706                  "BL      sub_FF910E80\n"
 707                  "LDR     R3, [R4]\n"
 708                  "CMP     R3, #9\n"
 709                  "MOVEQ   R5, #0\n"
 710                  "CMP     R5, #1\n"
 711                  "LDR     R1, =0xFF910BC8\n"
 712                  "MOV     R2, #2\n"
 713                  "BNE     loc_FF9117B8\n"
 714                  "LDRSH   R0, [R4,#4]\n"
 715                  "BL      sub_FFAF63DC\n"
 716                  "LDR     R2, =0x3C7FC\n"
 717                  "MOV     R3, #0\n"
 718                  "STR     R3, [R2]\n"
 719                  "B       loc_FF9117BC\n"
 720  "loc_FF9117B8:\n"
 721                  "BL      sub_FF910F1C\n"
 722  "loc_FF9117BC:\n"
 723                  "STRH    R0, [R4,#4]\n"
 724                  "LDRSH   R0, [R4,#6]\n"
 725                  "BL      sub_FF8B524C_my\n"  //----------->
 726                  "LDRSH   R0, [R4,#8]\n"
 727                  "MOV     R1, #1\n"
 728                  "BL      sub_FF8B6F74\n"
 729                  "MOV     R1, #0\n"
 730                  "ADD     R0, R4, #8\n"
 731                  "BL      sub_FF8B7034\n"
 732                  "CMP     R5, #1\n"
 733                  "MOV     R1, #2\n"
 734                  "MOV     R2, #0\n"
 735                  "LDMNEFD SP!, {R4,R5,PC}\n"
 736                  "LDR     R3, =0x3C7D0\n"
 737                  "LDR     R0, [R3]\n"
 738                  "LDMFD   SP!, {R4,R5,LR}\n"
 739                  "B       sub_FF81FD94\n"
 740  );
 741 }
 742 
 743 void __attribute__((naked,noinline)) sub_FF8B524C_my(){
 744  asm volatile(
 745                  "STMFD   SP!, {R4,LR}\n"
 746                  "LDR     R3, =0x55A8\n"
 747                  "LDR     R2, [R3]\n"
 748                  "MOV     R1, #0x114\n"
 749                  "MOV     R3, R0,LSL#16\n"
 750                  "CMP     R2, #1\n"
 751                  "ADD     R1, R1, #1\n"
 752                  "LDR     R0, =0xFF8B4CC8\n"
 753                  "MOV     R4, R3,ASR#16\n"
 754                  "BEQ     loc_FF8B5278\n"
 755                  "BL      sub_FF813B80\n"
 756  "loc_FF8B5278:\n"
 757                  "MOV     R1, #0x118\n"
 758                  "CMN     R4, #0xC00\n"
 759                  "LDR     R3, =0x33E56\n"
 760                  "LDR     R0, =0xFF8B4CC8\n"
 761                  "ADD     R1, R1, #3\n"
 762                  "LDREQSH R4, [R3]\n"
 763                  "LDRNE   R3, =0x33E56\n"
 764                  "CMN     R4, #0xC00\n"
 765                  "STRH    R4, [R3]\n"
 766                  "BNE     loc_FF8B52A4\n"
 767                  "BL      sub_FF813B80\n"
 768  "loc_FF8B52A4:\n"
 769                  "MOV     R0, R4\n"
 770             //   "BL      sub_FF8B6348\n"  // -
 771                  "BL      apex2us\n"  // +
 772                  "MOV     R4, R0\n"
 773                  "BL      sub_FF8DD89C\n"
 774                  "MOV     R0, R4\n"
 775                  "BL      sub_FF8B4880\n"
 776                  "TST     R0, #1\n"
 777                  "MOV     R1, #0x120\n"
 778                  "LDR     R0, =0xFF8B4CC8\n"
 779                  "LDMEQFD SP!, {R4,PC}\n"
 780                  "LDMFD   SP!, {R4,LR}\n"
 781                  "B       sub_FF813B80\n"
 782  );
 783 }

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