root/platform/s80/sub/101b/capt_seq.c

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

DEFINITIONS

This source file includes following definitions.
  1. sub_FF9580F0_my
  2. sub_FF954A34_my
  3. capt_seq_task
  4. exp_drv_task
  5. sub_FF8F9E78_my
  6. sub_FF8ADE54_my

   1 #include "lolevel.h"
   2 #include "platform.h"
   3 #include "core.h"
   4 
   5 static long *nrflag = (long*)0x6E10;
   6 
   7 #include "../../../generic/capt_seq.c"
   8 
   9 void __attribute__((naked,noinline)) sub_FF9580F0_my(  ) {
  10 asm volatile (
  11       "    STMFD   SP!, {R4,R5,LR} \n" 
  12       "    LDR     R3, =0x748FC \n" 
  13       "    LDR     R5, =0x6E0C \n" 
  14       "    SUB     SP, SP, #4 \n" 
  15       "    MVN     R1, #0 \n" 
  16       "    STR     R0, [R5] \n" 
  17       "    LDR     R0, [R3] \n" 
  18       "    BL      sub_FF81FD78 \n" 
  19       "    BL      sub_FF95E3C4 \n" 
  20       "    BL      wait_until_remote_button_is_released\n" // +
  21       "    LDR     R0, [R0, #0x7C] \n" 
  22       //"    BL      sub_FF89FD2C \n" // - nullsub
  23       "    BL      sub_FF958064 \n" 
  24       "    BL      capt_seq_hook_set_nr\n" // +
  25       "    LDR     R3, =0x6E14 \n" 
  26       "    LDR     R0, [R3] \n" 
  27       "    BL      sub_FF8A0228 \n" 
  28       "    LDR     PC, =0xFF958128\n" // + continue in ROM
  29 /*      "    LDR     R3, =0x6E10 \n" 
  30       "    LDR     R3, [R3] \n" 
  31       "    CMP     R3, #1 \n" 
  32       "    MOV     R4, #0 \n" 
  33       "    BNE     sub_FF95816C \n" 
  34       "    BL      sub_FF952194 \n" */
  35     );
  36 }
  37 
  38 
  39 void __attribute__((naked,noinline)) sub_FF954A34_my(  ) {
  40 asm volatile (
  41       "    STMFD   SP!, {R4,R5,LR} \n" 
  42       "    LDR     R5, [R0, #0xC] \n" 
  43       "    BL      sub_FF95E168 \n" 
  44       "    CMP     R0, #0 \n" 
  45       "    BNE     loc_FF954A4C \n" 
  46       "    BL      sub_FF95E174 \n" 
  47 "loc_FF954A4C:\n"
  48       "    MOV     R0, R5 \n" 
  49       "    BL      sub_FF956E20 \n" 
  50       "    MOV     R0, R5 \n" 
  51       "    BL      sub_FF956E60 \n" 
  52       "    TST     R0, #1 \n" 
  53       "    MOV     R2, R5 \n" 
  54       "    MOV     R1, #1 \n" 
  55       "    BEQ     loc_FF954A74 \n" 
  56       "    LDMFD   SP!, {R4,R5,LR} \n" 
  57       "    B       sub_FF952E4C \n" 
  58 "loc_FF954A74:\n"
  59       "    BL      sub_FF995868 \n" 
  60       "    BL      sub_FF952194 \n" 
  61       "    MOV     R4, R0 \n" 
  62       "    BL      sub_FF824754 \n" 
  63       "    ADD     R3, R5, R5, LSL #1 \n" 
  64       "    ADD     R4, R4, R3, LSL #5 \n" 
  65       "    STR     R0, [R4, #4] \n" 
  66       "    MOV     R0, R5 \n" 
  67       "    BL      sub_FF958908 \n" 
  68       "    BL      sub_FF9573CC \n" 
  69       "    BL      sub_FF957370 \n" 
  70       "    MOV     R0, R5 \n" 
  71       "    BL      sub_FF9580F0_my \n" // ->
  72       "    BL      capt_seq_hook_raw_here\n" // +
  73       "    MOV     R2, R5 \n" 
  74       "    MOV     R1, #1 \n" 
  75       "    BL      sub_FF952E4C \n" 
  76       "    LDMFD   SP!, {R4,R5,LR} \n" 
  77       "    B       sub_FF9582F0 \n" 
  78     );
  79 }
  80 
  81 void __attribute__((naked,noinline)) capt_seq_task() //** capt_seq_task  @ 0xFF954E30
  82 {
  83         asm volatile (
  84                  "STMFD   SP!, {R4,LR}\n"
  85                  "SUB     SP, SP, #4\n"
  86                  "MOV     R4, SP\n"
  87                  "B       loc_FF954F94\n"
  88 "loc_FF954E40:\n"
  89                  "LDR     R2, [SP,#0xC-0xC]\n"
  90                  "LDR     R3, [R2]\n"
  91                  "MOV     R0, R2\n"
  92                  "CMP     R3, #0x15\n"
  93                  "LDRLS   PC, [PC,R3,LSL#2]\n"
  94                  "B       loc_FF954F6C \n" 
  95                  ".long   loc_FF954EB0 \n" 
  96                  ".long   loc_FF954EBC \n" 
  97                  ".long   loc_FF954EC4 \n" 
  98                  ".long   loc_FF954ED4 \n" 
  99                  ".long   loc_FF954ECC \n" 
 100                  ".long   loc_FF954EDC \n" 
 101                  ".long   loc_FF954EE4 \n" 
 102                  ".long   loc_FF954EF0 \n" 
 103                  ".long   loc_FF954EF8 \n" 
 104                  ".long   loc_FF954F04 \n" 
 105                  ".long   loc_FF954F0C \n" 
 106                  ".long   loc_FF954F14 \n" 
 107                  ".long   loc_FF954F1C \n" 
 108                  ".long   loc_FF954F24 \n" 
 109                  ".long   loc_FF954F2C \n" 
 110                  ".long   loc_FF954F38 \n" 
 111                  ".long   loc_FF954F40 \n" 
 112                  ".long   loc_FF954F48 \n" 
 113                  ".long   loc_FF954F50 \n" 
 114                  ".long   loc_FF954F5C \n" 
 115                  ".long   loc_FF954F64 \n" 
 116                  ".long   loc_FF954F7C \n" 
 117 "loc_FF954EB0:\n"
 118                  "BL      sub_FF9566B4\n"
 119                  "BL      shooting_expo_param_override\n" // +
 120                  "BL      sub_FF952988\n"
 121                  "B       loc_FF954F78\n"
 122 "loc_FF954EBC:\n"
 123                  "BL      sub_FF954A34_my\n"    // ->
 124                  "B       loc_FF954F78 \n" 
 125 "loc_FF954EC4:\n"
 126                  "BL      sub_FF956E10 \n" 
 127                  "B       loc_FF954F78 \n" 
 128 "loc_FF954ECC:\n"
 129                  "BL      sub_FF9558B8 \n" 
 130                  "B       loc_FF954F78 \n" 
 131 "loc_FF954ED4:\n"
 132                  "BL      sub_FF955914 \n" 
 133                  "B       loc_FF954F78 \n" 
 134 "loc_FF954EDC:\n"
 135                  "BL      sub_FF955B78 \n" 
 136                  "B       loc_FF954F78 \n" 
 137 "loc_FF954EE4:\n"
 138                  "BL      sub_FF9567A8 \n" 
 139                  "BL      sub_FF952988 \n" 
 140                  "B       loc_FF954F78 \n" 
 141 "loc_FF954EF0:\n"
 142                  "BL      sub_FF954B24 \n" 
 143                  "B       loc_FF954F78 \n" 
 144 "loc_FF954EF8:\n"
 145                  "BL      sub_FF956810 \n" 
 146                  "BL      sub_FF952988 \n" 
 147                  "B       loc_FF954F78 \n" 
 148 "loc_FF954F04:\n"
 149                  "BL      sub_FF955914 \n" 
 150                  "B       loc_FF954F78 \n" 
 151 "loc_FF954F0C:\n"
 152                  "BL      sub_FF957508 \n" 
 153                  "B       loc_FF954F78 \n" 
 154 "loc_FF954F14:\n"
 155                  "BL      sub_FF957830 \n" 
 156                  "B       loc_FF954F78 \n" 
 157 "loc_FF954F1C:\n"
 158                  "BL      sub_FF9578BC \n" 
 159                  "B       loc_FF954F78 \n" 
 160 "loc_FF954F24:\n"
 161                  "BL      sub_FF957974 \n" 
 162                  "B       loc_FF954F78 \n" 
 163 "loc_FF954F2C:\n"
 164                  "MOV     R0, #0 \n" 
 165                  "BL      sub_FF957A24 \n" 
 166                  "B       loc_FF954F78 \n" 
 167 "loc_FF954F38:\n"
 168                  "BL      sub_FF957B74 \n" 
 169                  "B       loc_FF954F78 \n" 
 170 "loc_FF954F40:\n"
 171                  "BL      sub_FF957BE8 \n" 
 172                  "B       loc_FF954F78 \n" 
 173 "loc_FF954F48:\n"
 174                  "BL      sub_FF957CA0 \n" 
 175                  "B       loc_FF954F78 \n" 
 176 "loc_FF954F50:\n"
 177                  "MOV     R0, #1 \n" 
 178                  "BL      sub_FF957A24 \n" 
 179                  "B       loc_FF954F78 \n" 
 180 "loc_FF954F5C:\n"
 181                  "BL      sub_FF957D70 \n" 
 182                  "B       loc_FF954F78 \n" 
 183 "loc_FF954F64:\n"
 184                  "BL      sub_FF957D9C \n" 
 185                  "B       loc_FF954F78 \n" 
 186 "loc_FF954F6C:\n"
 187                  "LDR     R0, =0xFF9547B8 \n" 
 188                  "MOV     R1, #0x2DC \n" 
 189                  "BL      sub_FF813A80 \n" 
 190 "loc_FF954F78:\n"
 191                  "LDR     R2, [SP] \n" 
 192 "loc_FF954F7C:\n"
 193                  "LDR     R3, =0x74884 \n" 
 194                  "LDR     R1, [R2, #4] \n" 
 195                  "LDR     R0, [R3] \n" 
 196                  "BL      sub_FF81FBDC \n" 
 197                  "LDR     R0, [SP] \n" 
 198                  "BL      sub_FF954834 \n" 
 199 "loc_FF954F94:\n"
 200                  "LDR     R3, =0x74888 \n" 
 201                  "MOV     R1, R4 \n" 
 202                  "LDR     R0, [R3] \n" 
 203                  "MOV     R2, #0 \n" 
 204                  "BL      sub_FF82038C \n" 
 205                  "TST     R0, #1 \n" 
 206                  "BEQ     loc_FF954E40 \n" 
 207                  "MOV     R1, #0x24C \n" 
 208                  "LDR     R0, =0xFF9547B8 \n" 
 209                  "ADD     R1, R1, #1 \n" 
 210                  "BL      sub_FF813A80 \n" 
 211                  "BL      sub_FF821928 \n" 
 212                  "ADD     SP, SP, #4 \n" 
 213                  "LDMFD   SP!, {R4,PC} \n" 
 214     );
 215 }
 216 
 217 
 218 void __attribute__((naked,noinline)) exp_drv_task() { // sub_FF8FB1F8 
 219 asm volatile (
 220                  "STMFD   SP!, {R4-R8,LR} \n" 
 221                  "SUB     SP, SP, #0x14 \n" 
 222                  "MOV     R7, SP \n" 
 223                  "B       loc_FF8FB4EC \n" 
 224 "loc_FF8FB208:\n"
 225                  "CMP     R2, #0x19 \n" 
 226                  "BNE     loc_FF8FB220 \n" 
 227                  "LDR     R0, [R12, #0x34] \n" 
 228                  "MOV     LR, PC \n" 
 229                  "LDR     PC, [R12, #0x30] \n" 
 230                  "B       loc_FF8FB258 \n" 
 231 "loc_FF8FB220:\n"
 232                  "SUB     R3, R2, #0x16 \n" 
 233                  "CMP     R3, #1 \n" 
 234                  "BHI     loc_FF8FB238 \n" 
 235                  "MOV     R0, R12 \n" 
 236                  "BL      sub_FF8FB1A0 \n" 
 237                  "B       loc_FF8FB248 \n" 
 238 "loc_FF8FB238:\n"
 239                  "CMP     R2, #0x18 \n" 
 240                  "BNE     loc_FF8FB264 \n" 
 241                  "BL      sub_FF8AE1BC \n" 
 242                  "BL      sub_FF8B0034 \n" 
 243 "loc_FF8FB248:\n"
 244                  "LDR     R3, [SP] \n" 
 245                  "LDR     R0, [R3, #0x34] \n" 
 246                  "MOV     LR, PC \n" 
 247                  "LDR     PC, [R3, #0x30] \n" 
 248 "loc_FF8FB258:\n"
 249                  "LDR     R0, [SP] \n" 
 250                  "BL      sub_FF8F9390 \n" 
 251                  "B       loc_FF8FB4EC \n" 
 252 "loc_FF8FB264:\n"
 253                  "CMP     R2, #0xC \n" 
 254                  "MOV     R8, #1 \n" 
 255                  "BNE     loc_FF8FB2D4 \n" 
 256                  "LDR     R1, [R12, #0x24] \n" 
 257                  "ADD     R1, R1, R1, LSL #1 \n" 
 258                  "ADD     R1, R12, R1, LSL #1 \n" 
 259                  "ADD     R6, SP, #0xC \n" 
 260                  "SUB     R1, R1, #2 \n" 
 261                  "MOV     R2, #6 \n" 
 262                  "MOV     R0, R6 \n" 
 263                  "BL      sub_FFAFC778 \n" 
 264                  "LDR     R0, [SP] \n" 
 265                  "BL      sub_FF8FA66C \n" 
 266                  "LDR     R3, [SP] \n" 
 267                  "LDR     R1, [R3, #0x24] \n" 
 268                  "LDR     R2, [R3, #0x34] \n" 
 269                  "ADD     R0, R3, #4 \n" 
 270                  "MOV     LR, PC \n" 
 271                  "LDR     PC, [R3, #0x30] \n" 
 272                  "LDR     R0, [SP] \n" 
 273                  "BL      sub_FF8FA7F0 \n" 
 274                  "LDR     R3, [SP] \n" 
 275                  "ADD     R0, R3, #4 \n" 
 276                  "LDR     R1, [R3, #0x24] \n" 
 277                  "LDR     R2, [R3, #0x3C] \n" 
 278                  "MOV     LR, PC \n" 
 279                  "LDR     PC, [R3, #0x38] \n" 
 280                  "B       loc_FF8FB49C \n" 
 281 "loc_FF8FB2D4:\n"
 282                  "SUB     R3, R2, #0xD \n" 
 283                  "CMP     R3, #1 \n" 
 284                  "BHI     loc_FF8FB354 \n" 
 285                  "ADD     R6, SP, #0xC \n" 
 286                  "ADD     R5, SP, #4 \n" 
 287                  "MOV     R0, R12 \n" 
 288                  "MOV     R1, R6 \n" 
 289                  "MOV     R2, R5 \n" 
 290                  "BL      sub_FF8FA86C \n" 
 291                  "MOV     R4, R0 \n" 
 292                  "CMP     R4, #3 \n" 
 293                  "CMPNE   R4, #1 \n" 
 294                  "BNE     loc_FF8FB334 \n" 
 295                  "LDR     R12, [SP] \n" 
 296                  "MOV     R0, R5 \n" 
 297                  "LDR     R1, [R12, #0x24] \n" 
 298                  "MOV     R2, R4 \n" 
 299                  "LDR     R3, [R12, #0x34] \n" 
 300                  "MOV     LR, PC \n" 
 301                  "LDR     PC, [R12, #0x30] \n" 
 302                  "MOV     R1, R4 \n" 
 303                  "LDR     R0, [SP] \n" 
 304                  "BL      sub_FF8FB180 \n" 
 305                  "B       loc_FF8FB49C \n" 
 306 "loc_FF8FB334:\n"
 307                  "LDR     R12, [SP] \n" 
 308                  "MOV     R2, R4 \n" 
 309                  "ADD     R0, R12, #4 \n" 
 310                  "LDR     R1, [R12, #0x24] \n" 
 311                  "LDR     R3, [R12, #0x34] \n" 
 312                  "MOV     LR, PC \n" 
 313                  "LDR     PC, [R12, #0x30] \n" 
 314                  "B       loc_FF8FB49C \n" 
 315 "loc_FF8FB354:\n"
 316                  "CMP     R2, #0x14 \n" 
 317                  "BNE     loc_FF8FB3A8 \n" 
 318                  "LDR     R1, [R12, #0x24] \n" 
 319                  "ADD     R1, R1, R1, LSL #1 \n" 
 320                  "ADD     R1, R12, R1, LSL #1 \n" 
 321                  "ADD     R6, SP, #0xC \n" 
 322                  "SUB     R1, R1, #2 \n" 
 323                  "MOV     R2, #6 \n" 
 324                  "MOV     R0, R6 \n" 
 325                  "BL      sub_FFAFC778 \n" 
 326                  "LDR     R0, [SP] \n" 
 327                  "BL      sub_FF8FA140 \n" 
 328                  "LDR     R3, [SP] \n" 
 329                  "ADD     R0, R3, #4 \n" 
 330                  "LDR     R1, [R3, #0x24] \n" 
 331                  "LDR     R2, [R3, #0x34] \n" 
 332                  "MOV     LR, PC \n" 
 333                  "LDR     PC, [R3, #0x30] \n" 
 334                  "LDR     R0, [SP] \n" 
 335                  "BL      sub_FF8FA39C \n" 
 336                  "B       loc_FF8FB49C \n" 
 337 "loc_FF8FB3A8:\n"
 338                  "ADD     R6, SP, #0xC \n" 
 339                  "ADD     R1, R12, #4 \n" 
 340                  "MOV     R0, R6 \n" 
 341                  "MOV     R2, #6 \n" 
 342                  "BL      sub_FFAFC778 \n" 
 343                  "LDR     R12, [SP] \n" 
 344                  "LDR     R3, [R12] \n" 
 345                  "MOV     R0, R12 \n" 
 346                  "CMP     R3, #0x15 \n" 
 347                  "LDRLS   PC, [PC, R3, LSL #2] \n" 
 348                  "B       loc_FF8FB488 \n" 
 349                  ".long   loc_FF8FB42C \n" 
 350                  ".long   loc_FF8FB434 \n" 
 351                  ".long   loc_FF8FB43C \n" 
 352                  ".long   loc_FF8FB43C \n" 
 353                  ".long   loc_FF8FB42C \n" 
 354                  ".long   loc_FF8FB434 \n" 
 355                  ".long   loc_FF8FB43C \n" 
 356                  ".long   loc_FF8FB43C \n" 
 357                  ".long   loc_FF8FB454 \n" 
 358                  ".long   loc_FF8FB454 \n" 
 359                  ".long   loc_FF8FB478 \n" 
 360                  ".long   loc_FF8FB480 \n" 
 361                  ".long   loc_FF8FB488 \n" 
 362                  ".long   loc_FF8FB488 \n" 
 363                  ".long   loc_FF8FB488 \n" 
 364                  ".long   loc_FF8FB444 \n" 
 365                  ".long   loc_FF8FB44C \n" 
 366                  ".long   loc_FF8FB460 \n" 
 367                  ".long   loc_FF8FB468 \n" 
 368                  ".long   loc_FF8FB468 \n" 
 369                  ".long   loc_FF8FB488 \n" 
 370                  ".long   loc_FF8FB470 \n" 
 371 "loc_FF8FB42C:\n"
 372                  "BL      sub_FF8F986C \n" 
 373                  "B       loc_FF8FB484 \n" 
 374 "loc_FF8FB434:\n" 
 375                  "BL      sub_FF8F99A8 \n" 
 376                  "B       loc_FF8FB484 \n" 
 377 "loc_FF8FB43C:\n" 
 378                  "BL      sub_FF8F9AD8 \n" 
 379                  "B       loc_FF8FB484 \n" 
 380 "loc_FF8FB444:\n" 
 381                  "BL      sub_FF8F9CAC \n" 
 382                  "B       loc_FF8FB484 \n" 
 383 "loc_FF8FB44C:\n" 
 384                  "BL      sub_FF8F9DB4 \n" 
 385                  "B       loc_FF8FB484 \n" 
 386 "loc_FF8FB454:\n" 
 387                  "BL      sub_FF8F9E78_my \n" // ->
 388                  "MOV     R8, #0 \n" 
 389                  "B       loc_FF8FB484 \n" 
 390 "loc_FF8FB460:\n"
 391                  "BL      sub_FF8F9F3C \n" 
 392                  "B       loc_FF8FB484 \n" 
 393 "loc_FF8FB468:\n"
 394                  "BL      sub_FF8FA024 \n" 
 395                  "B       loc_FF8FB484 \n" 
 396 "loc_FF8FB470:\n"
 397                  "BL      sub_FF8FA42C \n" 
 398                  "B       loc_FF8FB484 \n" 
 399 "loc_FF8FB478:\n"
 400                  "BL      sub_FF8FA500 \n" 
 401                  "B       loc_FF8FB484 \n" 
 402 "loc_FF8FB480:\n"
 403                  "BL      sub_FF8FA5EC \n" 
 404 "loc_FF8FB484:\n"
 405                  "LDR     R12, [SP] \n" 
 406 "loc_FF8FB488:\n"
 407                  "ADD     R0, R12, #4 \n" 
 408                  "LDR     R1, [R12, #0x24] \n" 
 409                  "LDR     R2, [R12, #0x34] \n" 
 410                  "MOV     LR, PC \n" 
 411                  "LDR     PC, [R12, #0x30] \n" 
 412 "loc_FF8FB49C:\n"
 413                  "CMP     R8, #1 \n" 
 414                  "BNE     loc_FF8FB4C4 \n" 
 415                  "LDR     R1, [SP] \n" 
 416                  "LDR     R3, [R1, #0x24] \n" 
 417                  "ADD     R3, R3, R3, LSL #1 \n" 
 418                  "ADD     R1, R1, R3, LSL #1 \n" 
 419                  "MOV     R0, R6 \n" 
 420                  "SUB     R1, R1, #2 \n" 
 421                  "BL      sub_FF8F9724 \n" 
 422                  "B       loc_FF8FB4E4 \n" 
 423 "loc_FF8FB4C4:\n"
 424                  "MOV     R0, #1 \n" 
 425                  "MOV     R1, R0 \n" 
 426                  "MOV     R2, R0 \n" 
 427                  "BL      sub_FF8F96C8 \n" 
 428                  "MOV     R0, #1 \n" 
 429                  "MOV     R1, R0 \n" 
 430                  "MOV     R2, R0 \n" 
 431                  "BL      sub_FF8F97E4 \n" 
 432 "loc_FF8FB4E4:\n"
 433                  "LDR     R0, [SP] \n" 
 434                  "BL      sub_FF8F9390 \n" 
 435 "loc_FF8FB4EC:\n"
 436                  "LDR     R3, =0x50390 \n" 
 437                  "MOV     R2, #0 \n" 
 438                  "LDR     R0, [R3] \n" 
 439                  "MOV     R1, R7 \n" 
 440                  "BL      sub_FF82038C \n" 
 441                  "LDR     R12, [SP] \n" 
 442                  "LDR     R2, [R12] \n" 
 443                  "CMP     R2, #0x1A \n" 
 444                  "BNE     loc_FF8FB208 \n" 
 445                  "MOV     R0, R12 \n" 
 446                  "BL      sub_FF8F9390 \n" 
 447                  "LDR     R3, =0x5038C \n" 
 448                  "MOV     R1, #1 \n" 
 449                  "LDR     R0, [R3] \n" 
 450                  "BL      sub_FF81FBDC \n" 
 451                  "BL      sub_FF821928 \n" 
 452                  "ADD     SP, SP, #0x14 \n" 
 453                  "LDMFD   SP!, {R4-R8,PC} \n" 
 454     );
 455 }
 456 
 457 void __attribute__((naked,noinline)) sub_FF8F9E78_my(  ) {
 458 asm volatile (
 459                  "STMFD   SP!, {R4,R5,LR} \n" 
 460                  "LDR     R3, =0x5038C \n" 
 461                  "MOV     R4, R0 \n" 
 462                  "MOV     R1, #0xE \n" 
 463                  "LDR     R0, [R3] \n" 
 464                  "BL      sub_FF81FD78 \n" 
 465                  "MOV     R1, #0 \n" 
 466                  "LDRSH   R0, [R4, #4] \n" 
 467                  "BL      sub_FF8F9430 \n" 
 468                  "MOV     R5, R0 \n" 
 469                  "LDRSH   R0, [R4, #6] \n" 
 470                  "BL      sub_FF8F9560 \n" 
 471                  "LDRSH   R0, [R4, #8] \n" 
 472                  "BL      sub_FF8F95FC \n" 
 473                  "LDR     R3, [R4] \n" 
 474                  "CMP     R3, #9 \n" 
 475                  "MOVEQ   R5, #0 \n" 
 476                  "CMP     R5, #1 \n" 
 477                  "LDR     R1, =0xFF8F93C0 \n" 
 478                  "MOV     R2, #2 \n" 
 479                  "BNE     loc_FF8F9EE4 \n" 
 480                  "LDRSH   R0, [R4, #4] \n" 
 481                  "BL      sub_FFAA11A0 \n" 
 482                  "LDR     R2, =0x503B8 \n" 
 483                  "MOV     R3, #0 \n" 
 484                  "STR     R3, [R2] \n" 
 485                  "B       loc_FF8F9EE8 \n" 
 486 "loc_FF8F9EE4:\n"
 487                  "BL      sub_FF8F9698 \n" 
 488 "loc_FF8F9EE8:\n"
 489                  "STRH    R0, [R4, #4] \n" 
 490                  "LDRSH   R0, [R4, #6] \n" 
 491                  "BL      sub_FF8ADE54_my \n" // ->
 492                  "BL      sub_FF8AFDD8 \n" 
 493                  "LDRSH   R0, [R4, #8] \n" 
 494                  "MOV     R1, #1 \n" 
 495                  "BL      sub_FF8AFBF4 \n" 
 496                  "MOV     R1, #0 \n" 
 497                  "ADD     R0, R4, #8 \n" 
 498                  "BL      sub_FF8AFCB8 \n" 
 499                  "CMP     R5, #1 \n" 
 500                  "MOV     R1, #2 \n" 
 501                  "MOV     R2, #0 \n" 
 502                  "LDMNEFD SP!, {R4,R5,PC} \n" 
 503                  "LDR     R3, =0x5038C \n" 
 504                  "LDR     R0, [R3] \n" 
 505                  "LDMFD   SP!, {R4,R5,LR} \n" 
 506                  "B       sub_FF81FBCC \n" 
 507     );
 508 }
 509 
 510 void __attribute__((naked,noinline)) sub_FF8ADE54_my(  ) {
 511 asm volatile (
 512                  "STMFD   SP!, {R4,LR} \n" 
 513                  "LDR     R3, =0x541C \n" 
 514                  "LDR     R2, [R3] \n" 
 515                  "MOV     R3, R0, LSL #0x10 \n" 
 516                  "CMP     R2, #1 \n" 
 517                  "MOV     R1, #0x110 \n" 
 518                  "LDR     R0, =0xFF8AD7F0 \n" 
 519                  "MOV     R4, R3, ASR #0x10 \n" 
 520                  "BEQ     loc_FF8ADE7C \n" 
 521                  "BL      sub_FF813A80 \n" 
 522 "loc_FF8ADE7C:\n"
 523                  "MOV     R1, #0x114 \n" 
 524                  "CMN     R4, #0xC00 \n" 
 525                  "LDR     R3, =0x367BE \n" 
 526                  "LDR     R0, =0xFF8AD7F0 \n" 
 527                  "ADD     R1, R1, #2 \n" 
 528                  "LDREQSH R4, [R3] \n" 
 529                  "LDRNE   R3, =0x367BE \n" 
 530                  "CMN     R4, #0xC00 \n" 
 531                  "STRH    R4, [R3] \n" 
 532                  "BNE     loc_FF8ADEA8 \n" 
 533                  "BL      sub_FF813A80 \n" 
 534 "loc_FF8ADEA8:\n"
 535                  "MOV     R0, R4 \n" 
 536 //                 "BL      sub_FF8AEF8C \n" // -
 537                  "BL      apex2us\n"         // +
 538                  "BL      sub_FF8AD3A8 \n" 
 539                  "TST     R0, #1 \n" 
 540                  "MOV     R1, #0x118 \n" 
 541                  "LDR     R0, =0xFF8AD7F0 \n" 
 542                  "LDMEQFD SP!, {R4,PC} \n" 
 543                  "LDMFD   SP!, {R4,LR} \n" 
 544                  "B       sub_FF813A80 \n"
 545     );
 546 }

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