root/platform/a580/sub/101b/movie_rec.c

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

DEFINITIONS

This source file includes following definitions.
  1. MovieRecord_Task_my
  2. sub_FFC46174_my
  3. sub_FFD0947C_my
  4. change_video_tables

   1 /*
   2 void __attribute__((naked,noinline)) sub_FFC5EA24_my() {
   3 asm volatile(
   4                 "LDR     R12, =0x201E\n"
   5                 "STMFD   SP!, {R4,LR}\n"
   6                 "CMP     R0, R12\n"
   7                 "BEQ     loc_FFC5EAE4\n"
   8                 "BGT     loc_FFC5EA80\n"
   9                 "LDR     R12, =0x2004\n"
  10                 "CMP     R0, R12\n"
  11                 "BEQ     loc_FFC5EAEC\n"
  12                 "BGT     loc_FFC5EA68\n"
  13                 "SUB     R12, R0, #0x1000\n"
  14                 "SUBS    R12, R12, #0xA9\n"
  15                 "SUBNE   R12, R0, #0x1000\n"
  16                 "SUBNES  R12, R12, #0xAD\n"
  17                 "SUBNE   R12, R0, #0x1000\n"
  18                 "SUBNES  R12, R12, #0xAF\n"
  19                 "BNE     loc_FFC5EAFC\n"
  20                 "B       loc_FFC5EAE4\n"
  21 "loc_FFC5EA68:\n"
  22                 "SUB     R12, R0, #0x2000\n"
  23                 "SUBS    R12, R12, #5\n"
  24                 "SUBNE   R12, R0, #0x2000\n"
  25                 "SUBNES  R12, R12, #0x1D\n"
  26                 "BNE     loc_FFC5EAFC\n"
  27                 "B       loc_FFC5EAE4\n"
  28 "loc_FFC5EA80:\n"
  29                 "LDR     R12, =0x5004\n"
  30                 "CMP     R0, R12\n"
  31                 "BEQ     loc_FFC5EAE4\n"
  32                 "BGT     loc_FFC5EAAC\n"
  33                 "SUB     R12, R0, #0x3000\n"
  34                 "SUBS    R12, R12, #0xA\n"
  35                 "BEQ     loc_FFC5EAE0\n"
  36                 "SUB     R12, R0, #0x5000\n"
  37                 "SUBS    R12, R12, #1\n"
  38                 "BNE     loc_FFC5EAFC\n"
  39                 "B       loc_FFC5EAE4\n"
  40 "loc_FFC5EAAC:\n"
  41                 "SUB     R12, R0, #0x5000\n"
  42                 "SUBS    R12, R12, #6\n"
  43                 "BEQ     loc_FFC5EAE4\n"
  44                 "SUB     R12, R0, #0x5000\n"
  45                 "SUBS    R12, R12, #7\n"
  46                 "BNE     loc_FFC5EAFC\n"
  47                 "BL      sub_FFC1A5E8\n"
  48                 "LDR     R1, =0x5738\n"
  49                 "LDR     R0, [R1,#0x10]\n"
  50                 "CMP     R0, #7\n"
  51                 "LDREQ   R0, [R1,#0x18]\n"
  52                 "BLEQ    sub_FFC5F394\n"
  53                 "B       loc_FFC5EAF4\n"
  54 "loc_FFC5EAE0:\n"
  55                 "BL      sub_FFC19B98\n"
  56 "loc_FFC5EAE4:\n"
  57                 "LDMFD   SP!, {R4,LR}\n"
  58                 //B          sub_FFC5E884
  59                 "B       sub_FFC5E884_my\n" //------------->
  60 "loc_FFC5EAEC:\n"
  61                 "BL      sub_FFC5D914\n"
  62                 "BL      sub_FFC5E338\n"
  63 "loc_FFC5EAF4:\n"
  64                 "MOV     R0, #0\n"
  65                 "LDMFD   SP!, {R4,PC}\n"
  66 "loc_FFC5EAFC:\n"
  67                 "MOV     R0, #1\n"
  68                 "LDMFD   SP!, {R4,PC}\n"
  69     );
  70 } //#fe
  71 
  72 void __attribute__((naked,noinline)) sub_FFC5E884_my(){  //#fs
  73 asm volatile(
  74                 "STMFD   SP!, {R4-R6,LR}\n"
  75                 "BL      sub_FFC5F500\n"
  76                 "CMP     R0, #1\n"
  77                 "BLEQ    sub_FFC5F5E8\n"
  78                 "LDR     R4, =0x5738\n"
  79                 "MOV     R5, #1\n"
  80                 "LDR     R0, [R4,#0x24]\n"
  81                 "CMP     R0, #0\n"
  82                 "LDRNE   R0, [R4,#0x4C]\n"
  83                 "CMPNE   R0, #0\n"
  84                 "BEQ     loc_FFC5E8F0\n"
  85                 "BL      sub_FFC5F500\n"
  86                 "CMP     R0, #1\n"
  87                 "BNE     loc_FFC5E8F0\n"
  88                 "BL      sub_FFC5F5E8\n"
  89                 "LDR     R0, [R4,#0x78]\n"
  90                 "CMP     R0, #0\n"
  91                 "BNE     loc_FFC5E8F0\n"
  92                 "LDR     R1, =0xFFC5EA04\n" // aAcStartupshowi ; "AC:StartupShowInfo"
  93                 "MOV     R0, #0x20\n"
  94                 "BL      sub_FFC5556C\n"
  95                 "BL      sub_FFD70AF0\n"
  96                 "BL      sub_FFD70A80\n"
  97                 "MOV     R1, #0\n"
  98                 "MOV     R0, #0x51\n"
  99                 "BL      sub_FFC6695C\n"
 100                 "STR     R5, [R4,#0x78]\n"
 101 "loc_FFC5E8F0:\n"
 102                 "BL      sub_FFC5F500\n"
 103                 "CMP     R0, #1\n"
 104                 "BNE     loc_FFC5E93C\n"
 105                 "LDR     R0, [R4,#0x44]\n"
 106                 "CMP     R0, #0\n"
 107                 "BEQ     loc_FFC5E93C\n"
 108                 "LDR     R0, [R4,#0x74]\n"
 109                 "CMP     R0, #0\n"
 110                 "BNE     loc_FFC5E93C\n"
 111                 "LDR     R1, =0xFFC5EA18\n" // aAcDispshot ; "AC:DispShot"
 112                 "MOV     R0, #0x20\n"
 113                 "BL      sub_FFC5556C\n"
 114                 "MOV     R1, #0\n"
 115                 "MOV     R0, #0x8C\n"
 116                 "BL      sub_FFC6695C\n"
 117                 "BL      sub_FFC64D10\n"
 118                 "MOV     R0, #0x21\n"
 119                 "BL      sub_FFC6699C\n"
 120                 "STR     R5, [R4,#0x74]\n"
 121 "loc_FFC5E93C:\n"
 122                 "LDR     R0, [R4,#0x38]\n"
 123                 "CMP     R0, #0\n"
 124                 "LDRNE   R0, [R4,#0x3C]\n"
 125                 "CMPNE   R0, #0\n"
 126                 "LDRNE   R0, [R4,#0x44]\n"
 127                 "CMPNE   R0, #0\n"
 128                 "LDRNE   R0, [R4,#0x48]\n"
 129                 "CMPNE   R0, #0\n"
 130                 "LDRNE   R0, [R4,#0x1C]\n"
 131                 "LDRNE   R1, [R4,#0x20]\n"
 132                 "ORRNES  R0, R0, R1\n"
 133                 "BEQ     loc_FFC5E978\n"
 134                 "BL      sub_FFC5E1D8\n"
 135                 "BL      sub_FFC5E338\n"
 136                 "B       loc_FFC5E9A0\n"
 137 "loc_FFC5E978:\n"
 138                 "LDR     R0, [R4,#0x58]\n"
 139                 "CMP     R0, #0\n"
 140                 "BEQ     loc_FFC5E9A8\n"
 141                 "BL      sub_FFC5E220\n"
 142                 "CMP     R0, #1\n"
 143                 "BNE     loc_FFC5E9A8\n"
 144                 "BL      sub_FFC60B90\n"
 145                 "BL      sub_FFC60B4C\n"
 146                 "MOV     R0, #0\n"
 147                 "BL      sub_FFC5F3D0\n"
 148 "loc_FFC5E9A0:\n"
 149                 "MOV     R0, #0\n"
 150                 "LDMFD   SP!, {R4-R6,PC}\n"
 151 "loc_FFC5E9A8:\n"
 152                 "BL      sub_FFC5E220\n"
 153                 "CMP     R0, #1\n"
 154                 "BNE     loc_FFC5E9D0\n"
 155                 "LDR     R0, [R4,#0x7C]\n"
 156                 "CMP     R0, #0\n"
 157                 "BLEQ    sub_FFC5F62C_my\n" //------------->
 158                 "MOV     R0, #0\n"
 159                 "STR     R0, [R4,#0x70]\n"
 160                 "STR     R0, [R4,#0x74]\n"
 161                 "STR     R0, [R4,#0x78]\n"
 162 "loc_FFC5E9D0:\n"
 163                 "MOV     R0, #1\n"
 164                 "LDMFD   SP!, {R4-R6,PC}\n"
 165  );
 166 } // #fe
 167 
 168 
 169 
 170 
 171 
 172 
 173 void __attribute__((naked,noinline)) sub_FFC5F62C_my(){
 174  asm volatile(
 175                "STMFD   SP!, {R4,LR}\n"
 176                "LDR     R1, =0xFFC5F84C\n"                              // aAcEntryrecboot ; "AC:EntryRecBoot"
 177                "MOV     R0, #0x20\n"
 178                "BL      sub_FFC5556C\n"
 179                "BL      sub_FFC19DB4\n"
 180                "BL      sub_FFC5F950\n"
 181                "BL      sub_FFC62BE0_my\n"                              // Continue here
 182                "MOV     R0, #1\n"
 183                "BL      sub_FFC5DCB4\n"
 184                "BL      sub_FFC5E15C\n"
 185                "LDMFD   SP!, {R4,LR}\n"
 186                "B       sub_FFC5E3CC\n"
 187  );
 188 } // #fe
 189 
 190 
 191 
 192 
 193 // Note: One sub_ missing from this firmware compared to A720
 194 void __attribute__((naked,noinline)) sub_FFC62BE0_my(){
 195  asm volatile(
 196                "STMFD   SP!, {R4-R6,LR}\n"
 197                "LDR     R1, =0xFFC62DEC\n" // aStartrecmode ; "StartRecMode"
 198                "MOV     R0, #0x20\n"
 199                "BL      sub_FFC5556C\n"
 200                "LDR     R4, =0x59C0\n"
 201                "MOV     R0, #6\n"
 202                "MOV     R5, #1\n"
 203                "STR     R0, [R4,#0x5C]\n"
 204                "STR     R5, [R4,#0x10]\n"
 205                "BL      sub_FFD2D98C\n"
 206                "BL      sub_FFD33794\n"
 207                "BL      sub_FFD3206C\n"
 208                // One sub_ missing from this firmware compared to A720
 209                "BL      sub_FFC63000_my\n" //------------->
 210                "BL      sub_FFD3B758\n"
 211                "MOV     R0, #1\n"
 212                "STR     R5, [R4,#0x18]\n"
 213                "BL      sub_FFC630B0\n"
 214                "MOV     R0, #3\n"
 215                "STR     R0, [R4,#0x60]\n"
 216                "LDR     R1, [R4,#0x64]\n"
 217                "LDMFD   SP!, {R4-R6,LR}\n"
 218                "MOV     R0, #0\n"
 219                "BX      R1\n"
 220  );
 221 } //#fe         
 222 
 223 
 224 
 225 
 226 
 227 
 228 
 229 void __attribute__((naked,noinline)) sub_FFC63000_my(){
 230  asm volatile(
 231                 "STMFD   SP!, {R4,LR}\n"
 232                 "LDR     R0, =0x855\n"
 233                 "BL      sub_FFD2A1E8\n"
 234                 "BL      sub_FFC19B98\n"
 235                 "BL      sub_FFC629A8_my\n" //------------->
 236                 "BL      sub_FFD2D294\n"
 237                 "BL      sub_FFD1CFBC\n"
 238                 "BL      sub_FFD35574\n"
 239                 "BL      sub_FFD35990\n"
 240                 "BL      sub_FFD3ADFC\n"
 241                 "BL      sub_FFD35BAC\n"
 242                 "BL      sub_FFD35774\n"
 243                 "BL      sub_FFD33EC4\n"
 244                 "BL      sub_FFD3AA5C\n"
 245                 "BL      sub_FFC66A3C\n" // taskcreate_DSITask
 246                 "LDMFD   SP!, {R4,LR}\n"
 247                 "B       sub_FFC6686C\n" // taskcreate_FaceFrame
 248  
 249  );
 250 } //#fe
 251 
 252 
 253 
 254 
 255 
 256 
 257 
 258 
 259 // branches are together
 260 
 261 void __attribute__((naked,noinline)) sub_FFC629A8_my(){
 262  asm volatile(
 263                 "STMFD   SP!, {R4,LR}\n"
 264                 "LDR     R0, =0x5A28\n"
 265                 //ADR     R1, sub_FFC627A8
 266                 "LDR     R1, =sub_FFC627A8_my\n" //-------------> (branch 1)
 267                 "BL      sub_FFC671F0\n"
 268                 "LDR     R1, =0x59C0\n"
 269                 //ADR     R0, sub_FFC628D0
 270                 "LDR     R0, =sub_FFC628D0_my\n" //-------------> (branch 2)
 271                 "STR     R0, [R1,#0x64]\n"
 272                 "LDMFD   SP!, {R4,PC}\n"
 273  );
 274 }
 275 
 276 
 277 
 278 //branch 1
 279 
 280 void __attribute__((naked,noinline)) sub_FFC627A8_my(){
 281  asm volatile(
 282                 "STMFD   SP!, {R3-R5,LR}\n"
 283                 "LDR     R4, =0x59C0\n"
 284                 "LDR     R0, [R4,#0x3C]\n"
 285                 "CMP     R0, #0\n"
 286                 "BLEQ    sub_FFD1BD20\n"
 287                 "LDR     R0, [R4,#0x30]\n"
 288                 "CMP     R0, #1\n"
 289                 "BNE     loc_FFC627E8\n"
 290                 "LDR     R1, =0xFFC628B0\n" // a__preparecaptu ; "__PrepareCaptureModeChange__"
 291                 "MOV     R0, #0x20\n"
 292                 "BL      sub_FFC5556C\n"
 293                 "MOV     R0, #0\n"
 294                 "STR     R0, [R4,#0x30]\n"
 295                 "STR     R0, [R4,#0x2C]\n"
 296                 "BL      sub_FFC626A0\n"
 297                 "LDMFD   SP!, {R3-R5,PC}\n"
 298 "loc_FFC627E8:\n"
 299                 "BL      sub_FFC15514\n"
 300                 "LDRH    R0, [R4,#4]\n"
 301                 "MOV     R1, SP\n"
 302                 "STRH    R0, [SP]\n"
 303                 "LDR     R0, [R4,#0x5C]\n"
 304                 "STRH    R0, [SP,#0x2]\n"
 305                 "MOV     R0, #0x40\n"
 306                 "BL      sub_FFC6695C\n"
 307                 "LDR     R0, [R4,#0x1C]\n"
 308                 "CMP     R0, #0\n"
 309                 "LDREQH  R0, [R4,#4]\n"
 310                 "BLEQ    sub_FFC5D030\n" // PTM_SetCurrentCaptureMode
 311                 "LDRH    R0, [R4,#4]\n"
 312                 "MOV     R1, #1\n"
 313                 "BL      sub_FFC61AB0_my\n" //-------------> (branches are joining here, DecideCaptureMode)
 314                 "LDR     R0, [R4,#0x60]\n"
 315                 "BL      sub_FFC630B0\n"
 316                 "MOV     R0, #3\n"
 317                 "STR     R0, [R4,#0x60]\n"
 318                 "LDR     R1, [R4,#0x64]\n"
 319                 "ADD     SP, SP, #4\n"
 320                 "LDMFD   SP!, {R4,R5,LR}\n"
 321                 "MOV     R0, #0\n"
 322                 "BX      R1\n"
 323  );
 324 } 
 325 
 326 
 327 
 328 
 329 
 330 
 331 
 332 
 333 
 334 
 335 
 336 //branch 2
 337 
 338 void __attribute__((naked,noinline)) sub_FFC628D0_my(){
 339  asm volatile(
 340                 "STMFD   SP!, {R4-R6,LR}\n"
 341                 "LDR     R4, =0x59C0\n"
 342                 "LDRH    R0, [R4,#4]\n"
 343                 "BL      sub_FFD339CC\n"
 344                 "BL      sub_FFD3222C\n"
 345                 "BL      sub_FFD35C3C\n"
 346                 //"BL      nullsub_98\n"
 347                 "BL      sub_FFD34050\n"
 348                 "BL      sub_FFD1ECC0\n"
 349                 "MOV     R5, #0\n"
 350                 "MOV     R0, R5\n"
 351                 "STR     R5, [R4,#0x24]\n"
 352                 "BL      sub_FFC155F8\n"
 353                 "BL      sub_FFD1E38C\n"
 354                 "STR     R5, [R4,#0x3C]\n"
 355                 "LDRH    R0, [R4,#4]\n"
 356                 "MOV     R1, #0\n"
 357                 "BL      sub_FFC61AB0_my\n" //-------------> (branches are joining here, DecideCaptureMode)
 358                 "BL      sub_FFC64D10\n"
 359                 "LDR     R1, [R4,#0x5C]\n"
 360                 "MOV     R0, #0x41\n"
 361                 "BL      sub_FFC6695C\n"
 362                 "BL      sub_FFD3221C\n"
 363                 "BL      sub_FFD2DB00\n"
 364                 "CMP     R0, #0\n"
 365                 "BLEQ    sub_FFD32230\n"
 366                 "BL      sub_FFD33954\n"
 367                 "BL      sub_FFD1BB90\n"
 368                 "BL      sub_FFC5B440\n"
 369                 "STR     R0, [R4,#0x58]\n"
 370                 "LDR     R0, =0x8003\n"
 371                 "STR     R5, [R4,#0x2C]\n"
 372                 "BL      sub_FFC5D158\n" // PTM_GetCurrentItem
 373                 "STRH    R0, [R4]\n"
 374                 "LDR     R0, =0x313D\n"
 375                 "MOV     R1, #0\n"
 376                 "BL      sub_FFC5BEC4\n" // PostLogicalEventToUI
 377                 "BL      sub_FFC62F9C\n"
 378                 "LDR     R0, [R4,#0x30]\n"
 379                 "CMP     R0, #1\n"
 380                 "STREQ   R5, [R4,#0x30]\n"
 381                 "LDMEQFD SP!, {R4-R6,LR}\n"
 382                 "BEQ     sub_FFC626A0\n"
 383                 "LDMFD   SP!, {R4-R6,PC}\n"
 384  
 385  );
 386 } //#fe
 387 
 388 
 389 
 390 
 391 
 392 
 393 
 394 
 395 
 396 //branches are joining here
 397 
 398 void __attribute__((naked,noinline)) sub_FFC61AB0_my(){
 399  asm volatile(
 400                 "STMFD   SP!, {R4-R6,LR}\n"
 401                 "MOV     R5, R1\n"
 402                 "MOV     R4, R0\n"
 403                 "MOV     R0, #0x60\n"
 404                 "LDR     R1, =0xFFC61D80\n" // a_decidecapture ; "_DecideCaptureMode"
 405                 "BL      sub_FFC5556C\n"
 406                 "LDR     R6, =0x59C0\n"
 407                 "LDR     R0, [R6,#0x10]\n"
 408                 "CMP     R0, #0\n"
 409                 "BEQ     loc_FFC61BDC\n"
 410                 "LDR     R0, [R6,#0x18]\n"
 411                 "LDR     R2, =0x820A\n"
 412                 "LDR     R1, =0xFFFE0000\n" // aVer_011_001
 413                 "CMP     R0, #1\n"
 414                 "BNE     loc_FFC61B24\n"
 415                 "CMP     R5, #1\n"
 416                 "LDMEQFD SP!, {R4-R6,PC}\n"
 417                 "CMP     R5, #0\n"
 418                 "BNE     loc_FFC61B24\n"
 419                 "CMP     R4, R2\n"
 420                 "BEQ     loc_FFC61B1C\n"
 421                 "CMP     R1, R4,LSL#17\n"
 422                 "TSTNE   R4, #0xC00\n"
 423                 "BEQ     loc_FFC61B18\n"
 424                 "BL      sub_FFC62E84_my\n" //-------------> (StartMovie)
 425                 "B       loc_FFC61B1C\n"
 426 "loc_FFC61B18:\n"
 427                 "BL      sub_FFC62E38\n"
 428 "loc_FFC61B1C:\n"
 429                 "BL      sub_FFC62FFC\n"
 430                 "B       loc_FFC61BDC\n"
 431 "loc_FFC61B24:\n"
 432                 "CMP     R4, R2\n"
 433                 "BEQ     loc_FFC61BD4\n"
 434                 "CMP     R1, R4,LSL#17\n"
 435                 "LDRH    R0, [R6,#2]\n"
 436                 "TSTNE   R4, #0xC00\n"
 437                 "BEQ     loc_FFC61B84\n"
 438                 "CMP     R0, R2\n"
 439                 "BEQ     loc_FFC61BD4\n"
 440                 "CMP     R1, R0,LSL#17\n"
 441                 "TSTNE   R0, #0xC00\n"
 442                 "BEQ     loc_FFC61B68\n"
 443                 "LDR     R1, =0xFFC61DA0\n" // a_movietomovie ; "_MovieToMovie"
 444                 "MOV     R0, #0x60\n"
 445                 "BL      sub_FFC5556C\n"
 446                 "CMP     R5, #1\n"
 447                 "BEQ     loc_FFC61BAC\n"
 448                 "B       loc_FFC61B7C\n"
 449 "loc_FFC61B68:\n"
 450                 "LDR     R1, =0xFFC61DB0\n" // a_stilltomovie ; "_StillToMovie"
 451                 "MOV     R0, #0x60\n"
 452                 "BL      sub_FFC5556C\n"
 453                 "CMP     R5, #1\n"
 454                 "BEQ     loc_FFC61BC8\n"
 455 "loc_FFC61B7C:\n"
 456                 "BL      sub_FFC62E84_my\n" //-------------> (StartMovie)
 457                 "B       loc_FFC61BD4\n"
 458 "loc_FFC61B84:\n"
 459                 "CMP     R0, R2\n"
 460                 "BEQ     loc_FFC61BD4\n"
 461                 "CMP     R1, R0,LSL#17\n"
 462                 "TSTNE   R0, #0xC00\n"
 463                 "BEQ     loc_FFC61BB4\n"
 464                 "LDR     R1, =0xFFC61DC0\n"                             // a_movietostill ; "_MovieToStill"\n"
 465                 "MOV     R0, #0x60\n"
 466                 "BL      sub_FFC5556C\n"
 467                 "CMP     R5, #1\n"
 468                 "BNE     loc_FFC61BD0\n"
 469 "loc_FFC61BAC:\n"
 470                 "LDMFD   SP!, {R4-R6,LR}\n"
 471                 "B       sub_FFC62EB0\n"
 472 "loc_FFC61BB4:\n"
 473                 "LDR     R1, =0xFFC61DD0\n"                             // a_stilltostill ; "_StillToStill"\n"
 474                 "MOV     R0, #0x60\n"
 475                 "BL      sub_FFC5556C\n"
 476                 "CMP     R5, #1\n"
 477                 "BNE     loc_FFC61BD0\n"
 478 "loc_FFC61BC8:\n"
 479                 "LDMFD   SP!, {R4-R6,LR}\n"
 480                 "B       sub_FFC62E60\n"
 481 "loc_FFC61BD0:\n"
 482                 "BL      sub_FFC62E38\n"
 483 "loc_FFC61BD4:\n"
 484                 "CMP     R5, #0\n"
 485                 "LDMNEFD SP!, {R4-R6,PC}\n"
 486 "loc_FFC61BDC:\n"
 487                 "STRH    R4, [R6,#2]\n"
 488                 "LDMFD   SP!, {R4-R6,PC}\n"
 489  );
 490 } // #fe
 491 
 492 //StartMovie
 493 void __attribute__((naked,noinline)) sub_FFC62E84_my(){
 494  asm volatile(
 495                 "STMFD   SP!, {R4,LR}\n"
 496                 "LDR     R1, =0xFFC62FDC\n"               // a_startmovie ; "_StartMovie"\n"
 497                 "MOV     R0, #0x20\n"
 498                 "BL      sub_FFC5556C\n"
 499                 "LDR     R0, =0x59C0\n"
 500                 "LDR     R0, [R0,#0x28]\n"
 501                 "CMP     R0, #0\n"
 502                 "BLNE    sub_FFC63860\n"
 503                 "LDMFD   SP!, {R4,LR}\n"
 504                 "MOV     R0, #0\n"
 505                 "B       sub_FFC65BBC_my\n"                     // Continue here
 506  );
 507 }
 508 
 509 
 510 void __attribute__((naked,noinline)) sub_FFC65BBC_my(){
 511  asm volatile(
 512                 "STMFD   SP!, {R4,LR}\n"
 513                 "LDR     R4, =0x5B6C\n"
 514                 "MOV     R0, #0\n"
 515                 "STR     R0, [R4,#0x30]\n"
 516                 "LDR     R0, [R4,#8]\n"
 517                 "CMP     R0, #0\n"
 518                 "BNE     loc_FFC65BE8\n"
 519                 "LDR     R0, =sub_FFC657C8_my\n"                        // Continue here
 520                 "MOV     R1, #0\n"
 521                 "BL      sub_FFC5AEA0\n"        // CreateController
 522                 "STR     R0, [R4,#8]\n"
 523 "loc_FFC65BE8:\n"
 524                 "LDR     R0, [R4,#0xC]\n"
 525                 "CMP     R0, #0\n"
 526                 "BNE     loc_FFC65C04\n"
 527                 "LDR     R0, =0xFFC65468\n"
 528                 "MOV     R1, #0\n"
 529                 "BL      sub_FFC62B0C\n"
 530                 "STR     R0, [R4,#0xC]\n"
 531 "loc_FFC65C04:\n"
 532                 "BL      sub_FFC663CC\n"
 533                 "BL      sub_FFC654CC\n"
 534                 "BL      sub_FFD3B164\n"
 535                 "BL      sub_FFD3BFAC\n"
 536                 "LDMFD   SP!, {R4,LR}\n"
 537                 "B       sub_FFD330C8\n"
 538  );
 539 }
 540 
 541 
 542 void __attribute__((naked,noinline)) sub_FFC657C8_my(){
 543  asm volatile(
 544                 "STMFD   SP!, {R3-R11,LR}\n"
 545                 "LDR     R5, =0x5B6C\n"
 546                 "MOV     R4, R1\n"
 547                 "LDR     R2, [R5,#0x2C]\n"
 548                 "ADD     R0, R5, #0\n"
 549                 "LDR     R0, [R0,#0x14]\n"
 550                 "LDR     R9, =0x3007\n"
 551                 "CMP     R2, #0\n"
 552                 "MOV     R1, #0\n"
 553                 "MOV     R11, R3\n"
 554                 "MVN     R8, #0\n"
 555                 "BEQ     loc_FFC65840\n"
 556                 "CMP     R4, R9\n"
 557                 "BEQ     loc_FFC65A30\n"
 558                 "CMP     R4, #0x800\n"
 559                 "LDREQ   R2, [R5,#0x38]\n"
 560                 "CMPEQ   R11, R2\n"
 561                 "BNE     loc_FFC65B40\n"
 562                 "STR     R1, [R5,#0x2C]!\n"
 563                 "CMP     R0, #0\n"
 564                 "STR     R8, [R5,#0xC]\n"
 565                 "BNE     loc_FFC65BB4\n"
 566                 "BL      sub_FFC1A540\n"
 567                 "CMP     R0, #1\n"
 568                 "BEQ     loc_FFC65838\n"
 569                 "BL      sub_FFC1A548\n"
 570                 "CMP     R0, #1\n"
 571                 "BNE     loc_FFC65BB4\n"
 572 "loc_FFC65838:\n"
 573                 "BL      sub_FFC65618\n"
 574                 "B       loc_FFC65BB4\n"
 575 "loc_FFC65840:\n"
 576                 "CMP     R0, #1\n"
 577                 "SUBEQ   R12, R4, #0x2000\n"
 578                 "SUBEQS  R12, R12, #0x1C\n"
 579                 "BNE     loc_FFC6585C\n"
 580                 "MOV     R0, #0\n"
 581                 "BL      sub_FFC65EBC\n"
 582                 "B       loc_FFC65BB4\n"
 583 "loc_FFC6585C:\n"
 584                 "BL      sub_FFC5A964\n"
 585                 "LDR     R10, =0x9A5\n"
 586                 "CMP     R0, #1\n"
 587                 "SUB     R6, R10, #4\n"
 588                 "SUB     R7, R10, #2\n"
 589                 "BNE     loc_FFC65890\n"
 590                 "CMP     R4, R10\n"
 591                 "CMPNE   R4, R6\n"
 592                 "CMPNE   R4, R7\n"
 593                 "BNE     loc_FFC65890\n"
 594                 "BL      sub_FFC59B08\n"
 595                 "STR     R4, [R5,#0x3C]\n"
 596                 "B       loc_FFC65B40\n"
 597 "loc_FFC65890:\n"
 598                 "BL      sub_FFD32074\n"                // GetAEIntegralServiceMode_7
 599                 "CMP     R0, #1\n"
 600                 "BNE     loc_FFC658B0\n"
 601                 "MOV     R0, R4\n"
 602                 "BL      sub_FFC5BBFC\n"
 603                 "CMP     R0, #1\n"
 604                 "CMPNE   R4, R10\n"
 605                 "BEQ     loc_FFC65B40\n"
 606 "loc_FFC658B0:\n"
 607                 "BL      sub_FFC1A618\n"
 608                 "CMP     R0, #1\n"
 609                 "BNE     loc_FFC658C8\n"
 610                 "CMP     R4, R6\n"
 611                 "CMPNE   R4, R7\n"
 612                 "BEQ     loc_FFC65BB4\n"
 613 "loc_FFC658C8:\n"
 614                 "BL      sub_FFC6279C\n"
 615                 "LDR     R1, =0x9A2\n"
 616                 "CMP     R0, #1\n"
 617                 "ADD     R2, R1, #2\n"
 618                 "BNE     loc_FFC658F0\n"
 619                 "CMP     R4, R6\n"
 620                 "CMPNE   R4, R1\n"
 621                 "CMPNE   R4, R7\n"
 622                 "CMPNE   R4, R2\n"
 623                 "BEQ     loc_FFC65BB4\n"
 624 "loc_FFC658F0:\n"
 625                 "LDR     R12, =0x200A\n"
 626                 "CMP     R4, R12\n"
 627                 "BEQ     loc_FFC65BA4\n"
 628                 "BGT     loc_FFC6596C\n"
 629                 "LDR     R12, =0x907\n"
 630                 "CMP     R4, R12\n"
 631                 "MOVEQ   R1, #2\n"
 632                 "MOVEQ   R0, R10\n"
 633                 "BEQ     loc_FFC65AE0\n"
 634                 "BGT     loc_FFC65948\n"
 635                 "SUB     R12, R4, #0x800\n"
 636                 "LDR     R6, =0x2003\n"
 637                 "SUBS    R12, R12, #0x26\n"
 638                 "BEQ     loc_FFC65A44\n"
 639                 "SUB     R12, R4, #0x800\n"
 640                 "SUBS    R12, R12, #0x29\n"
 641                 "BEQ     loc_FFC65A88\n"
 642                 "CMP     R4, #0x860\n"
 643                 "SUBNE   R12, R4, #0x800\n"
 644                 "SUBNES  R12, R12, #0x61\n"
 645                 "BNE     loc_FFC65B58\n"
 646                 "B       loc_FFC65B40\n"
 647 "loc_FFC65948:\n"
 648                 "CMP     R4, R6\n"
 649                 "BEQ     loc_FFC65AD8\n"
 650                 "CMP     R4, R1\n"
 651                 "BEQ     loc_FFC65BA4\n"
 652                 "CMP     R4, R7\n"
 653                 "BEQ     loc_FFC65AD8\n"
 654                 "CMP     R4, R2\n"
 655                 "BEQ     loc_FFC65BA4\n"
 656                 "B       loc_FFC65B58\n"
 657 "loc_FFC6596C:\n"
 658                 "LDR     R12, =0x3149\n"
 659                 "CMP     R4, R12\n"
 660                 "MOVEQ   R1, #0\n"
 661                 "MOVEQ   R0, #0x84\n"
 662                 "BEQ     loc_FFC65B50\n"
 663                 "BGT     loc_FFC659C4\n"
 664                 "SUB     R12, R4, #0x2000\n"
 665                 "SUBS    R12, R12, #0x20\n"
 666                 "MOVEQ   R1, R11\n"
 667                 "MOVEQ   R0, #0x83\n"
 668                 "BEQ     loc_FFC65B50\n"
 669                 "CMP     R4, R9\n"
 670                 "BEQ     loc_FFC65A1C\n"
 671                 "SUB     R12, R4, #0x3100\n"
 672                 "SUBS    R12, R12, #0x35\n"
 673                 "BEQ     loc_FFC65A00\n"
 674                 "SUB     R12, R4, #0x3000\n"
 675                 "SUBS    R12, R12, #0x148\n"
 676                 "BNE     loc_FFC65B58\n"
 677                 "MOV     R1, #0\n"
 678                 "MOV     R0, #0x86\n"
 679                 "B       loc_FFC65B50\n"
 680 "loc_FFC659C4:\n"
 681                 "SUB     R12, R4, #0x3100\n"
 682                 "SUBS    R12, R12, #0x4A\n"
 683                 "BEQ     loc_FFC65B48\n"
 684                 "SUB     R12, R4, #0x4000\n"
 685                 "SUBS    R12, R12, #3\n"
 686                 "BEQ     loc_FFC65B04\n"
 687                 "SUB     R12, R4, #0x4000\n"
 688                 "SUBS    R12, R12, #8\n"
 689                 "BEQ     loc_FFC65AE8\n"
 690                 "SUB     R12, R4, #0x4000\n"
 691                 "SUBS    R12, R12, #0xF\n"
 692                 "BNE     loc_FFC65B58\n"
 693                 "MOV     R0, #0x82\n"
 694                 "BL      sub_FFC6699C\n"
 695                 "B       loc_FFC65BB4\n"
 696 "loc_FFC65A00:\n"
 697                 "BL      sub_FFC66400\n"                        // GetVRAMHPixelsSize_2
 698                 "CMP     R0, #4\n"
 699                 "BEQ     loc_FFC65BA4\n"
 700                 "LDR     R0, [R5,#0x1C]\n"
 701                 "CMP     R0, #0\n"
 702                 "BLNE    sub_FFC65560\n"
 703                 "B       loc_FFC65BB4\n"
 704 "loc_FFC65A1C:\n"
 705                 "MOV     R0, #1\n"
 706                 "STR     R0, [R5,#0x1C]\n"
 707                 "LDR     R0, [R5,#0x18]\n"
 708                 "CMP     R0, #1\n"
 709                 "BNE     loc_FFC65A38\n"
 710 "loc_FFC65A30:\n"
 711                 "BL      sub_FFC65560\n"
 712                 "LDMFD   SP!, {R3-R11,PC}\n"
 713 "loc_FFC65A38:\n"
 714                 "MOV     R0, R4\n"
 715                 "BL      sub_FFC65738\n"
 716                 "B       loc_FFC65BB4\n"
 717 "loc_FFC65A44:\n"
 718                 "BL      sub_FFC6279C\n"
 719                 "CMP     R0, #0\n"
 720                 "BEQ     loc_FFC65A5C\n"
 721                 "MOV     R0, R4\n"
 722                 "BL      sub_FFC62CD0\n"
 723                 "B       loc_FFC65BB4\n"
 724 "loc_FFC65A5C:\n"
 725                 "LDR     R0, [R5,#0x10]\n"
 726                 "LDR     R1, [R5,#0x14]\n"
 727                 "ORR     R0, R0, R1\n"
 728                 "LDR     R1, [R5,#0x1C]\n"
 729                 "ORRS    R0, R0, R1\n"
 730                 "BNE     loc_FFC65BB4\n"
 731                 "MOV     R1, #0\n"
 732                 "MOV     R0, R6\n"
 733                 "BL      sub_FFC47374\n"
 734                 "BL      sub_FFD21708\n"                        // StartRecModeMenu
 735                 "B       loc_FFC65BB4\n"
 736 "loc_FFC65A88:\n"
 737                 "LDR     R0, [R5,#0x10]\n"
 738                 "LDR     R1, [R5,#0x14]\n"
 739                 "ORRS    R0, R0, R1\n"
 740                 "BNE     loc_FFC65BB4\n"
 741                 "BL      sub_FFC62CDC\n"
 742                 "CMP     R0, #0\n"
 743                 "LDREQ   R0, [R5,#0x1C]\n"
 744                 "CMPEQ   R0, #0\n"
 745                 "BNE     loc_FFC65BB4\n"
 746                 "BL      sub_FFC6279C\n"
 747                 "CMP     R0, #0\n"
 748                 "BNE     loc_FFC65BB4\n"
 749                 "BL      sub_FFD3B92C\n"                        // j_IsEvfDriveMode_16\n"
 750                 "CMP     R0, #0\n"
 751                 "BNE     loc_FFC65BB4\n"
 752                 "MOV     R1, #0\n"
 753                 "MOV     R0, R6\n"
 754                 "BL      sub_FFC47374\n"
 755                 "BL      sub_FFD1C988\n"
 756                 "B       loc_FFC65BB4\n"
 757 "loc_FFC65AD8:\n"
 758                 "MOV     R1, #1\n"
 759                 "MOV     R0, R4\n"
 760 "loc_FFC65AE0:\n"
 761                 "BL      sub_FFC65674_my\n"             // Continue here
 762                 "LDMFD   SP!, {R3-R11,PC}\n"
 763 "loc_FFC65AE8:\n"
 764                 "MOV     R0, R11\n"
 765                 "BL      sub_FFC6145C\n"
 766                 "CMP     R0, #0\n"
 767                 "MOVEQ   R1, R11\n"
 768                 "MOVEQ   R0, R4\n"
 769                 "BLEQ    sub_FFC6606C_my\n"                     // Continue here
 770                 "B       loc_FFC65B40\n"
 771 "loc_FFC65B04:\n"
 772                 "LDR     R0, [R5,#0x3C]\n"
 773                 "CMN     R0, #1\n"
 774                 "BEQ     loc_FFC65B40\n"
 775                 "MOV     R0, #0\n"
 776                 "BL      sub_FFC58BEC\n"
 777                 "LDR     R0, [R5,#0x3C]\n"
 778                 "CMP     R0, R6\n"
 779                 "BNE     loc_FFC65B30\n"
 780                 "BL      sub_FFC1A540\n"
 781                 "CMP     R0, #0\n"
 782                 "BEQ     loc_FFC65B3C\n"
 783 "loc_FFC65B30:\n"
 784                 "LDR     R0, [R5,#0x3C]\n"
 785                 "MOV     R1, #0\n"
 786                 "BL      sub_FFC5BE78\n"                        // PostLogicalEventForNotPowerType\n"
 787 "loc_FFC65B3C:\n"
 788                 "STR     R8, [R5,#0x3C]\n"
 789 "loc_FFC65B40:\n"
 790                 "MOV     R0, #1\n"
 791                 "LDMFD   SP!, {R3-R11,PC}\n"
 792 "loc_FFC65B48:\n"
 793                 "MOV     R1, #0\n"
 794                 "MOV     R0, #0x85\n"
 795 "loc_FFC65B50:\n"
 796                 "BL      sub_FFC6695C\n"
 797                 "B       loc_FFC65BB4\n"
 798 "loc_FFC65B58:\n"
 799                 "LDR     R12, =0x855\n"
 800                 "CMP     R4, R12\n"
 801                 "BEQ     loc_FFC65B94\n"
 802                 "BGT     loc_FFC65B80\n"
 803                 "SUB     R12, R4, #0x800\n"
 804                 "SUBS    R12, R12, #0x38\n"
 805                 "SUBNE   R12, R4, #0x800\n"
 806                 "SUBNES  R12, R12, #0x39\n"
 807                 "BNE     loc_FFC65BA4\n"
 808                 "B       loc_FFC65B94\n"
 809 "loc_FFC65B80:\n"
 810                 "SUB     R12, R4, #0x800\n"
 811                 "SUBS    R12, R12, #0x56\n"
 812                 "SUBNE   R12, R4, #0x800\n"
 813                 "SUBNES  R12, R12, #0x5D\n"
 814                 "BNE     loc_FFC65BA4\n"
 815 "loc_FFC65B94:\n"
 816                 "LDR     R0, [R5,#0x10]\n"
 817                 "LDR     R1, [R5,#0x14]\n"
 818                 "ORRS    R0, R0, R1\n"
 819                 "BNE     loc_FFC65BB4\n"
 820 "loc_FFC65BA4:\n"
 821                 "MOV     R1, R11\n"
 822                 "MOV     R0, R4\n"
 823                 "BL      sub_FFC6606C_my\n"                     // Continue here
 824                 "LDMFD   SP!, {R3-R11,PC}\n"
 825 "loc_FFC65BB4:\n"
 826                 "MOV     R0, #0\n"
 827                 "LDMFD   SP!, {R3-R11,PC}\n"
 828  );
 829 } // #fe
 830 
 831 // sub_FFC65674_my
 832 //sub_FFC6606C_my
 833 
 834 
 835 
 836 void __attribute__((naked,noinline)) sub_FFC65674_my(){
 837  asm volatile(
 838                 "STMFD   SP!, {R4-R6,LR}\n"
 839                 "MOV     R4, R0\n"
 840                 "LDR     R0, =0x5B6C\n"
 841                 "MOV     R5, R1\n"
 842                 "LDR     R0, [R0,#0x1C]\n"
 843                 "CMP     R0, #0\n"
 844                 "LDRNE   R1, =0xFFC657A4\n"                             // aMvicon_fshtdwn ; "MviCon_fShtDwn"
 845                 "BNE     loc_FFC65720\n"
 846                 "BL      sub_FFC6640C\n"
 847                 "CMP     R0, #1\n"
 848                 "BNE     loc_FFC656B0\n"
 849 "loc_FFC656A0:\n"
 850                 "MOV     R0, R4\n"
 851                 "LDMFD   SP!, {R4-R6,LR}\n"
 852                 "MOV     R1, #0\n"
 853                 "B       sub_FFC6606C_my\n"                                     // Continue here
 854 "loc_FFC656B0:\n"
 855                 "CMP     R5, #2\n"
 856                 "BNE     loc_FFC656C8\n"
 857                 "BL      sub_FFC64D10\n"
 858                 "CMP     R0, #0\n"
 859                 "BEQ     loc_FFC65710\n"
 860                 "B       loc_FFC656DC\n"
 861 "loc_FFC656C8:\n"
 862                 "CMP     R5, #1\n"
 863                 "BNE     loc_FFC65710\n"
 864                 "BL      sub_FFC64D28\n"
 865                 "CMP     R0, #0\n"
 866                 "BNE     loc_FFC65710\n"
 867 "loc_FFC656DC:\n"
 868                 "MOV     R0, #0\n"
 869                 "BL      sub_FFC58BEC\n"
 870                 "SUB     R12, R4, #0x900\n"
 871                 "SUBS    R12, R12, #0xA1\n"
 872                 "SUBNE   R12, R4, #0x900\n"
 873                 "SUBNES  R12, R12, #0xA3\n"
 874                 "SUBNE   R12, R4, #0x900\n"
 875                 "SUBNES  R12, R12, #0xA5\n"
 876                 "LDREQ   R0, =0xC507\n"
 877                 "MOVEQ   R1, #0\n"
 878                 "BLEQ    sub_FFC47374\n"
 879 "loc_FFC65708:\n"
 880                 "MOV     R0, #0\n"
 881                 "LDMFD   SP!, {R4-R6,PC}\n"
 882 "loc_FFC65710:\n"
 883                 "BL      sub_FFC65618\n"
 884                 "CMP     R0, #0\n"
 885                 "BNE     loc_FFC6572C\n"
 886                 "LDR     R1, =0xFFC657B4\n"                             // aMvicon_initchk ; "MviCon_InitChkBuf"\n"
 887 "loc_FFC65720:\n"
 888                 "MOV     R0, #0x60\n"
 889                 "BL      sub_FFC5556C\n"
 890                 "B       loc_FFC65708\n"
 891 "loc_FFC6572C:\n"
 892                 "MOV     R0, R5\n"
 893                 "BL      sub_FFD31120\n"
 894                 "B       loc_FFC656A0\n"
 895  );
 896 } // #fe
 897 
 898 
 899 
 900 void __attribute__((naked,noinline)) sub_FFC6606C_my(){
 901  asm volatile(
 902                 "STMFD   SP!, {R4-R8,LR}\n"
 903                 "MOV     R7, R1\n"
 904                 "MOV     R4, R0\n"
 905                 "BL      sub_FFC66488\n"
 906                 "LDR     R5, =0x5BB0\n"
 907                 "LDR     R3, =0x200A\n"
 908                 "LDR     R12, [R5]\n"
 909                 "LDR     R2, =0x4008\n"
 910                 "LDR     R6, =0x9A3\n"
 911                 "LDR     R0, =0x3007\n"
 912                 "LDR     R1, =0x1051\n"
 913                 "CMP     R12, #9\n"
 914                 "ADD     LR, R3, #0x15\n"
 915                 "ADDLS   PC, PC, R12,LSL#2\n"
 916                 "B       loc_FFC663C4\n"
 917 "loc_FFC660A8:\n"
 918                 "B       loc_FFC660D0\n"
 919 "loc_FFC660AC:\n"
 920                 "B       loc_FFC660E0\n"
 921 "loc_FFC660B0:\n"
 922                 "B       loc_FFC660F0\n"
 923 "loc_FFC660B4:\n"
 924                 "B       loc_FFC66164\n"
 925 "loc_FFC660B8:\n"
 926                 "B       loc_FFC661A4\n"
 927 "loc_FFC660BC:\n"
 928                 "B       loc_FFC6622C\n"
 929 "loc_FFC660C0:\n"
 930                 "B       loc_FFC6625C\n"
 931 "loc_FFC660C4:\n"
 932                 "B       loc_FFC6630C\n"
 933 "loc_FFC660C8:\n"
 934                 "B       loc_FFC662D0\n"
 935 "loc_FFC660CC:\n"
 936                 "B       loc_FFC66334\n"
 937 "loc_FFC660D0:\n"
 938                 "MOV     R1, R7\n"
 939                 "MOV     R0, R4\n"
 940                 "LDMFD   SP!, {R4-R8,LR}\n"
 941                 "B       sub_FFC65FE8\n"
 942 "loc_FFC660E0:\n"
 943                 "MOV     R1, R7\n"
 944                 "MOV     R0, R4\n"
 945                 "LDMFD   SP!, {R4-R8,LR}\n"
 946                 "B       sub_FFC66608_my\n"                                     // Continue here
 947 "loc_FFC660F0:\n"
 948                 "CMP     R4, R1\n"
 949                 "BEQ     loc_FFC66154\n"
 950                 "SUB     R12, R4, #0x2000\n"
 951                 "SUBS    R12, R12, #6\n"
 952                 "BEQ     loc_FFC66118\n"
 953                 "CMP     R4, R0\n"
 954                 "BEQ     loc_FFC6615C\n"
 955                 "SUB     R12, R4, #0x3100\n"
 956                 "SUBS    R12, R12, #0x4B\n"
 957                 "BNE     loc_FFC663C4\n"
 958 "loc_FFC66118:\n"
 959                 "BL      sub_FFC655F4\n"
 960                 "MOV     R0, #0\n"
 961                 "BL      sub_FFC66470\n"
 962                 "LDR     R0, [R5,#8]\n"
 963                 "CMP     R0, #0\n"
 964                 "MOVNE   R1, #0\n"
 965                 "MOVNE   R0, R6\n"
 966                 "BNE     loc_FFC6614C\n"
 967                 "LDR     R0, [R5,#4]\n"
 968                 "CMP     R0, #0\n"
 969                 "BEQ     loc_FFC66374\n"
 970                 "LDR     R0, =0x9A1\n"
 971                 "MOV     R1, #0\n"
 972 "loc_FFC6614C:\n"
 973                 "BL      sub_FFC65FE8\n"
 974                 "B       loc_FFC66374\n"
 975 "loc_FFC66154:\n"
 976                 "BL      sub_FFC6657C\n"
 977                 "B       loc_FFC66374\n"
 978 "loc_FFC6615C:\n"
 979                 "BL      sub_FFC66594\n"
 980                 "B       loc_FFC66374\n"
 981 "loc_FFC66164:\n"
 982                 "SUB     R12, R4, #0x900\n"
 983                 "SUBS    R12, R12, #0xA2\n"
 984                 "BEQ     loc_FFC66194\n"
 985                 "CMP     R4, R6\n"
 986                 "BEQ     loc_FFC6618C\n"
 987                 "CMP     R4, R1\n"
 988                 "BEQ     loc_FFC6619C\n"
 989                 "CMP     R4, R0\n"
 990                 "BLEQ    sub_FFC66594\n"
 991                 "B       loc_FFC663C4\n"
 992 "loc_FFC6618C:\n"
 993                 "BL      sub_FFC65F8C_my\n"                             // Continue here EntryActionOnPreMoving
 994                 "B       loc_FFC663C4\n"
 995 "loc_FFC66194:\n"
 996                 "BL      sub_FFC66558\n"
 997                 "B       loc_FFC663C4\n"
 998 "loc_FFC6619C:\n"
 999                 "BL      sub_FFC6657C\n"
1000                 "B       loc_FFC663C4\n"
1001 "loc_FFC661A4:\n"
1002                 "CMP     R4, LR\n"
1003                 "BEQ     loc_FFC66200\n"
1004                 "BGT     loc_FFC661CC\n"
1005                 "CMP     R4, R6\n"
1006                 "BEQ     loc_FFC661E8\n"
1007                 "CMP     R4, R1\n"
1008                 "BEQ     loc_FFC66218\n"
1009 "loc_FFC661C0:\n"
1010                 "CMP     R4, R3\n"
1011                 "BNE     loc_FFC663C4\n"
1012                 "B       loc_FFC661DC\n"
1013 "loc_FFC661CC:\n"
1014                 "CMP     R4, R0\n"
1015                 "BEQ     loc_FFC6620C\n"
1016 "loc_FFC661D4:\n"
1017                 "CMP     R4, R2\n"
1018                 "BNE     loc_FFC663C4\n"
1019 "loc_FFC661DC:\n"
1020                 "BL      sub_FFC665E4\n"
1021                 "BL      sub_FFC66558\n"
1022                 "B       loc_FFC66374\n"
1023 "loc_FFC661E8:\n"
1024                 "BL      sub_FFC16BA4\n"
1025                 "MOV     R0, #5\n"
1026                 "BL      sub_FFC66470\n"
1027                 "MOV     R0, #0\n"
1028                 "STR     R0, [R5,#0xC]\n"
1029                 "B       loc_FFC66374\n"
1030 "loc_FFC66200:\n"
1031                 "MOV     R0, #5\n"
1032                 "BL      sub_FFC66470\n"
1033                 "B       loc_FFC66250\n"
1034 "loc_FFC6620C:\n"
1035                 "BL      sub_FFC16BA4\n"
1036                 "BL      sub_FFC665E4\n"
1037                 "B       loc_FFC66304\n"
1038 "loc_FFC66218:\n"
1039                 "BL      sub_FFC16BA4\n"
1040                 "BL      sub_FFC665E4\n"
1041                 "B       loc_FFC66264\n"
1042 "loc_FFC66224:\n"
1043                 "BL      sub_FFC66470\n"
1044                 "B       loc_FFC66374\n"
1045 "loc_FFC6622C:\n"
1046                 "CMP     R4, LR\n"
1047                 "BEQ     loc_FFC66250\n"
1048                 "BGT     loc_FFC66244\n"
1049                 "CMP     R4, R1\n"
1050                 "BNE     loc_FFC661C0\n"
1051                 "B       loc_FFC66264\n"
1052 "loc_FFC66244:\n"
1053                 "CMP     R4, R0\n"
1054                 "BNE     loc_FFC661D4\n"
1055                 "B       loc_FFC66304\n"
1056 "loc_FFC66250:\n"
1057                 "MOV     R0, R7\n"
1058                 "BL      sub_FFC665B0\n"
1059                 "B       loc_FFC66374\n"
1060 "loc_FFC6625C:\n"
1061                 "CMP     R4, R1\n"
1062                 "BNE     loc_FFC663C4\n"
1063 "loc_FFC66264:\n"
1064                 "MOV     R0, #8\n"
1065                 "B       loc_FFC66224\n"
1066 "loc_FFC662D0:\n"
1067                 "CMP     R4, R0\n"
1068                 "BEQ     loc_FFC66304\n"
1069                 "BGT     loc_FFC662F0\n"
1070                 "CMP     R4, R3\n"
1071                 "BEQ     loc_FFC66154\n"
1072                 "CMP     R4, LR\n"
1073                 "BEQ     loc_FFC66250\n"
1074                 "B       loc_FFC663C4\n"
1075 "loc_FFC662F0:\n"
1076                 "CMP     R4, R2\n"
1077                 "SUBNE   R12, R4, #0x4000\n"
1078                 "SUBNES  R12, R12, #0xE\n"
1079                 "BEQ     loc_FFC66154\n"
1080                 "B       loc_FFC663C4\n"
1081 "loc_FFC66304:\n"
1082                 "MOV     R0, #7\n"
1083                 "B       loc_FFC66224\n"
1084 "loc_FFC6630C:\n"
1085                 "CMP     R4, R3\n"
1086                 "BEQ     loc_FFC66324\n"
1087                 "CMP     R4, LR\n"
1088                 "BEQ     loc_FFC66250\n"
1089                 "CMP     R4, R2\n"
1090                 "BNE     loc_FFC663C4\n"
1091 "loc_FFC66324:\n"
1092                 "BL      sub_FFC66558\n"
1093                 "MOV     R0, #0\n"
1094                 "BL      sub_FFC65738\n"
1095                 "B       loc_FFC66374\n"
1096 "loc_FFC66334:\n"
1097                 "SUB     R12, R4, #0x800\n"
1098                 "SUBS    R12, R12, #0x4A\n"
1099                 "BEQ     loc_FFC6637C\n"
1100                 "CMP     R4, R1\n"
1101                 "BEQ     loc_FFC663B4\n"
1102                 "CMP     R4, R0\n"
1103                 "BEQ     loc_FFC663A4\n"
1104                 "SUB     R12, R4, #0x3100\n"
1105                 "SUBS    R12, R12, #0x2A\n"
1106                 "BNE     loc_FFC663C4\n"
1107                 "BL      sub_FFC66510\n"
1108                 "LDR     R0, [R5,#0x14]\n"
1109                 "CMP     R0, #0\n"
1110                 "BNE     loc_FFC66374\n"
1111                 "BL      sub_FFC6652C_my\n"                             // Continue here EntryActionOnMoving
1112                 "BL      sub_FFD32080\n"
1113 "loc_FFC66374:\n"
1114                 "MOV     R0, #0\n"
1115                 "LDMFD   SP!, {R4-R8,PC}\n"
1116 "loc_FFC6637C:\n"
1117                 "BL      sub_FFC66510\n"
1118                 "LDR     R0, =0x8007\n"
1119                 "MOV     R1, #0\n"
1120                 "BL      sub_FFC5D14C\n"                                        // j_PTM_SetCurrentItem
1121                 "BL      sub_FFD310D4\n"
1122                 "BL      sub_FFC66558\n"
1123                 "BL      sub_FFD32080\n"
1124                 "BL      sub_FFC655F4\n"
1125                 "MOV     R0, #0\n"
1126                 "B       loc_FFC66224\n"
1127 "loc_FFC663A4:\n"
1128                 "BL      sub_FFC66510\n"
1129                 "BL      sub_FFD310D4\n"
1130                 "BL      sub_FFD32080\n"
1131                 "B       loc_FFC6615C\n"
1132 "loc_FFC663B4:\n"
1133                 "BL      sub_FFC66510\n"
1134                 "BL      sub_FFD310D4\n"
1135                 "BL      sub_FFD32080\n"
1136                 "B       loc_FFC66154\n"
1137 "loc_FFC663C4:\n"
1138                 "MOV     R0, #1\n"
1139                 "LDMFD   SP!, {R4-R8,PC}\n"
1140                 ".ltorg\n"
1141  );
1142 } // #fe
1143 
1144 // subs used in the sub above : 
1145 //sub_FFC66608_my
1146 //sub_FFC65F8C_my
1147 //sub_FFC6652C_my
1148 
1149 
1150 
1151 
1152 void __attribute__((naked,noinline)) sub_FFC66608_my(){
1153  asm volatile(
1154                 "LDR     R3, =0x5BB0\n"
1155                 "LDR     R12, =0x2006\n"
1156                 "STMFD   SP!, {R4,LR}\n"
1157                 "LDR     R1, [R3,#0xC]\n"
1158                 "LDR     R2, [R3,#0x14]\n"
1159                 "CMP     R0, R12\n"
1160                 "BEQ     loc_FFC6667C\n"
1161                 "BGT     loc_FFC66648\n"
1162                 "SUB     R12, R0, #0x900\n"
1163                 "SUBS    R12, R12, #0xA2\n"
1164                 "BEQ     loc_FFC666A0\n"
1165                 "SUB     R12, R0, #0x1000\n"
1166                 "SUBS    R12, R12, #0x51\n"
1167                 "BNE     loc_FFC666C4\n"
1168                 "BL      sub_FFC6657C\n"
1169                 "B       loc_FFC666BC\n"
1170 "loc_FFC66648:\n"
1171                 "SUB     R12, R0, #0x3000\n"
1172                 "SUBS    R12, R12, #7\n"
1173                 "BEQ     loc_FFC666B8\n"
1174                 "SUB     R12, R0, #0x3100\n"
1175                 "SUBS    R12, R12, #0x4B\n"
1176                 "BNE     loc_FFC666C4\n"
1177                 "CMP     R2, #0\n"
1178                 "BNE     loc_FFC666BC\n"
1179                 "LDR     R0, [R3,#8]\n"
1180                 "ORRS    R0, R0, R1\n"
1181                 "BEQ     loc_FFC66688\n"
1182                 "BL      sub_FFC65F8C_my\n"                             // Continue here
1183                 "B       loc_FFC666BC\n"
1184 "loc_FFC6667C:\n"
1185                 "CMP     R2, #0\n"
1186                 "BLEQ    sub_FFC64D48\n"
1187                 "B       loc_FFC666BC\n"
1188 "loc_FFC66688:\n"
1189                 "LDR     R0, [R3,#4]\n"
1190                 "CMP     R0, #0\n"
1191                 "MOVNE   R0, #3\n"
1192                 "BNE     loc_FFC666B0\n"
1193                 "BL      sub_FFC66558\n"
1194                 "B       loc_FFC666BC\n"
1195 "loc_FFC666A0:\n"
1196                 "CMP     R1, #0\n"
1197                 "BNE     loc_FFC666BC\n"
1198                 "BL      sub_FFC16760\n"
1199                 "MOV     R0, #2\n"
1200 "loc_FFC666B0:\n"
1201                 "BL      sub_FFC66470\n"
1202                 "B       loc_FFC666BC\n"
1203 "loc_FFC666B8:\n"
1204                 "BL      sub_FFC66594\n"
1205 "loc_FFC666BC:\n"
1206                 "MOV     R0, #0\n"
1207                 "LDMFD   SP!, {R4,PC}\n"
1208 "loc_FFC666C4:\n"
1209                 "MOV     R0, #1\n"
1210                 "LDMFD   SP!, {R4,PC}\n"
1211  );
1212 } //#fe
1213 
1214 
1215 
1216 
1217 
1218 void __attribute__((naked,noinline)) sub_FFC65F8C_my(){
1219  asm volatile(
1220                 "STMFD   SP!, {R4,LR}\n"
1221                 "LDR     R1, =0xFFC6626C\n"                                     // a_entryactionon ; "_EntryActionOnPreMoving"
1222                 "MOV     R0, #0x60\n"
1223                 "BL      sub_FFC5556C\n"
1224                 "LDR     R4, =0x5BB0\n"
1225                 "LDR     R0, [R4,#0x10]\n"
1226                 "CMP     R0, #0\n"
1227                 "LDMEQFD SP!, {R4,LR}\n"
1228                 "BEQ     sub_FFC6652C_my\n"                                             // Continue here
1229                 "LDR     R1, =0xFFC66288\n"                                     // a_entryaction_0 ; "_EntryActionOnSelfTimer"
1230                 "MOV     R0, #0x60\n"
1231                 "BL      sub_FFC5556C\n"
1232                 "BL      sub_FFD320AC\n"
1233                 "LDR     R0, [R4,#0x18]\n"
1234                 "CMP     R0, #1\n"
1235                 "MOVNE   R0, #1\n"
1236                 "STRNE   R0, [R4,#0x18]\n"
1237                 "BLNE    sub_FFC5C808\n"                                                        // LockMainPower\n"
1238                 "MOV     R0, #9\n"
1239                 "BL      sub_FFC66470\n"
1240                 "LDMFD   SP!, {R4,LR}\n"
1241                 "B       sub_FFD30F90\n"
1242  );
1243 } // #fe
1244 
1245 
1246 
1247 
1248 void __attribute__((naked,noinline)) sub_FFC6652C_my(){
1249  asm volatile(
1250                 "STMFD   SP!, {R4,LR}\n"
1251                 "LDR     R1, =0xFFC666E4\n"                                     // a_entryaction_1 ; "_EntryActionOnMoving"
1252                 "MOV     R0, #0x60\n"
1253                 "BL      sub_FFC5556C\n"
1254                 "LDR     R1, =0x5BB0\n"
1255                 "MOV     R0, #0\n"
1256                 "STR     R0, [R1,#0xC]\n"
1257                 "MOV     R0, #4\n"
1258                 "BL      sub_FFC66470\n"
1259                 "LDMFD   SP!, {R4,LR}\n"
1260                 "B       sub_FFC65C5C_my\n"                     // Continue here
1261  
1262  );
1263 } //#fe
1264 
1265 void __attribute__((naked,noinline)) sub_FFC65C5C_my(){
1266  asm volatile(
1267                 "LDR     R0, =0x5B6C\n"
1268                 "STMFD   SP!, {R3,LR}\n"
1269                 "LDR     R1, [R0,#0x40]\n"
1270                 "CMP     R1, #1\n"
1271                 "MOVNE   R1, #1\n"
1272                 "STRNE   R1, [R0,#0x40]\n"
1273                 "BLNE    sub_FFC5C808\n"                        // LockMainPower\n"
1274                 "MOV     R1, #0\n"
1275                 "MOV     R0, #0x80\n"
1276                 "BL      sub_FFC6695C\n"
1277                 "MOV     R2, #2\n"
1278                 "MOV     R1, SP\n"
1279                 "MOV     R0, #0x6B\n"
1280                 "BL      sub_FFC5819C\n"                        // PT_GetPropertyCaseString_0\n"
1281                 "MOV     R2, #2\n"
1282                 "MOV     R1, SP\n"
1283                 "MOV     R0, #0xA3\n"
1284                 "BL      sub_FFC5809C\n"                        // PT_GetPropertyCaseString\n"
1285                 "BL      sub_FFC47434\n"
1286                 "BL      sub_FFC65000\n"
1287                 "BL      sub_FFC16B74_my\n"             // Continue here (SSAPI:RecordMovie)
1288                 "BL      sub_FFC655AC\n"
1289                 "LDMFD   SP!, {R12,PC}\n"
1290  );
1291 } //#fe
1292 
1293 
1294 
1295 
1296 
1297 void __attribute__((naked,noinline)) sub_FFC16B74_my(){
1298  asm volatile(
1299                 "STMFD   SP!, {R4,LR}\n"
1300                 "MOV     R4, R0\n"
1301                 "MOV     R0, #0x20\n"
1302                 "LDR     R1, =0xFFC16C94\n"              // aSsapiRecordmov ; "SSAPI::RecordMovie"
1303                 "BL      sub_FFC5556C\n"
1304                 "BL      sub_FFC16FC8\n"
1305                 "CMP     R0, #0\n"
1306                 "LDMNEFD SP!, {R4,PC}\n"
1307                 "BL      sub_FFC48A68\n"
1308                 "MOV     R0, R4\n"
1309                 "LDMFD   SP!, {R4,LR}\n"
1310                 "B       sub_FFC4AB5C_my\n"             // Continue here
1311  );
1312 } // #fe
1313 
1314 
1315 
1316 void __attribute__((naked,noinline)) sub_FFC4AB5C_my(){
1317  asm volatile(
1318                 "STMFD   SP!, {R4-R8,LR}\n"
1319                 "MOV     R8, R0\n"
1320                 "MOV     R0, #0x41\n"
1321                 "SUB     SP, SP, #0x38\n"
1322                 "MOV     R5, #0\n"
1323                 "STR     R0, [SP,#0x34]\n"
1324                 "BL      sub_FFC4AB2C\n"
1325                 "CMP     R0, #0\n"
1326                 "LDRNE   R1, =0x163\n"
1327                 "BNE     loc_FFC4AD08\n"
1328                 "LDR     R4, =0x52E4\n"
1329                 "MOV     R1, #0x5E\n"
1330                 "LDR     R0, [R4,#8]\n"
1331                 "BL      sub_FFC173FC\n"
1332                 "BL      sub_FFC5832C\n"
1333                 "STR     R0, [R4,#4]\n"
1334                 "MOV     R0, #0\n"
1335                 "BL      sub_FFC52170\n"
1336                 "STR     R0, [SP,#0x28]\n"
1337                 "ADD     R0, SP, #0x28\n"
1338                 "MOV     R1, SP\n"
1339                 "BL      sub_FFC522BC\n"
1340                 "MOV     R0, SP\n"
1341                 "BL      sub_FFC521A4\n"
1342                 "STR     R0, [SP,#0x2C]\n"
1343                 "LDR     R0, [R4,#4]\n"
1344                 "MOV     R3, #4\n"
1345                 "ADD     R2, SP, #0x2C\n"
1346                 "MOV     R1, #0x34\n"
1347                 "BL      sub_FFC58640\n"
1348                 "LDR     R7, [SP,#0x2C]\n"
1349                 "BL      sub_FFC4B04C\n"
1350                 "MOV     R6, #0\n"
1351                 "ADD     R1, SP, #0x28\n"
1352                 "ADD     R0, SP, #0x2C\n"
1353                 "STR     R6, [SP,#0x2C]\n"
1354                 "STR     R6, [SP,#0x28]\n"
1355                 "BL      sub_FFC1F6E8\n"
1356                 "LDR     R0, [R4,#4]\n"
1357                 "MOV     R3, #2\n"
1358                 "ADD     R2, SP, #0x2C\n"
1359                 "MOV     R1, #0x2F\n"
1360                 "BL      sub_FFC58640\n"
1361                 "LDR     R0, [R4,#4]\n"
1362                 "MOV     R3, #2\n"
1363                 "ADD     R2, SP, #0x28\n"
1364                 "MOV     R1, #0x2D\n"
1365                 "BL      sub_FFC58640\n"
1366                 "ADD     R1, SP, #0x28\n"
1367                 "ADD     R0, SP, #0x2C\n"
1368                 "BL      sub_FFC23048\n"
1369                 "LDR     R0, [R4,#4]\n"
1370                 "MOV     R3, #2\n"
1371                 "ADD     R2, SP, #0x2C\n"
1372                 "MOV     R1, #0x30\n"
1373                 "BL      sub_FFC58640\n"
1374                 "ADD     R1, SP, #0x28\n"
1375                 "ADD     R0, SP, #0x2C\n"
1376                 "BL      sub_FFC1FEC0\n"
1377                 "LDR     R0, [R4,#4]\n"
1378                 "MOV     R3, #2\n"
1379                 "ADD     R2, SP, #0x28\n"
1380                 "MOV     R1, #0x2E\n"
1381                 "BL      sub_FFC58640\n"
1382                 "LDR     R0, [R4,#4]\n"
1383                 "MOV     R3, #2\n"
1384                 "ADD     R2, SP, #0x2C\n"
1385                 "MOV     R1, #0xB8\n"
1386                 "BL      sub_FFC586EC\n"
1387                 "TST     R0, #1\n"
1388                 "LDRNE   R1, =0x142\n"
1389                 "LDRNE   R0, =0xFFC4AF80\n"                             // aSsmovierec_c ; "SsMovieRec.c"
1390                 "BLNE    sub_FFC0BDB8\n"                                        //      DebugAssert
1391                 "LDRH    R0, [SP,#0x2C]\n"
1392                 "MOV     R3, #4\n"
1393                 "ADD     R2, SP, #0x28\n"
1394                 "CMP     R0, #0\n"
1395                 "MOVNE   R0, #1\n"
1396                 "STR     R0, [SP,#0x28]\n"
1397                 "LDR     R0, [R4,#4]\n"
1398                 "MOV     R1, #0x92\n"
1399                 "BL      sub_FFC58640\n"
1400                 "MOV     R2, #1\n"
1401                 "ADD     R1, SP, #0x34\n"
1402                 "MOV     R0, #0xFA\n"
1403                 "BL      sub_FFC5819C\n"                                // PT_GetPropertyCaseString
1404                 "TST     R0, #1\n"
1405                 "LDRNE   R1, =0x17A\n"
1406                 "LDRNE   R0, =0xFFC4AF80\n"                     // aSsmovierec_c ; "SsMovieRec.c"
1407                 "BLNE    sub_FFC0BDB8\n"                                // DebugAssert
1408                 "LDRB    R0, [SP,#0x34]\n"
1409                 "MOV     R3, R8\n"
1410                 "MOV     R2, #0x14\n"
1411                 "AND     R1, R0, #0xFF\n"
1412                 "ADD     R0, SP, #0x30\n"
1413                 "STR     R7, [SP]\n"
1414                 "BL      sub_FFCEBB1C\n"
1415                 "TST     R0, #1\n"
1416                 "LDRNE   R1, =0x17E\n"
1417                 "BNE     loc_FFC4AD08\n"
1418                 "LDR     R0, =0x18370\n"
1419                 "LDR     R1, [SP,#0x30]\n"
1420                 "MOV     R2, #0x10\n"
1421                 "BL      sub_FFCDE9C0\n"
1422                 "TST     R0, #1\n"
1423                 "BEQ     loc_FFC4AD18\n"
1424                 "LDR     R1, =0x186\n"
1425 "loc_FFC4AD08:\n"
1426                 "LDR     R0, =0xFFC4AF80\n" //                  aSsmovierec_c ; "SsMovieRec.c"
1427                 "BL      sub_FFC0BDB8\n"                        // DebugAssert
1428 "loc_FFC4AD10:\n"
1429                 "ADD     SP, SP, #0x38\n"
1430                 "LDMFD   SP!, {R4-R8,PC}\n"
1431 "loc_FFC4AD18:\n"
1432                 "LDR     R0, [R4,#4]\n"
1433                 "MOV     R3, #4\n"
1434                 "ADD     R2, SP, #0x30\n"
1435                 "MOV     R1, #0x2B\n"
1436                 "BL      sub_FFC58640\n"
1437                 "BL      sub_FFC66B40\n"
1438                 "LDRSB   R1, [SP,#0x34]\n"
1439                 "CMP     R0, R1\n"
1440                 "MOVEQ   R7, #0\n"
1441                 "BEQ     loc_FFC4AD6C\n"
1442                 "LDR     R5, =0x18370\n"
1443                 "MOV     R0, R5\n"
1444                 "BL      sub_FFC66CBC\n"
1445                 "MOV     R8, R0\n"
1446                 "BL      sub_FFC95774\n"
1447                 "CMP     R8, R0\n"
1448                 "MOV     R7, R0\n"
1449                 "LDRLS   R1, =0x193\n"
1450                 "LDRLS   R0, =0xFFC4AF80\n"                     // aSsmovierec_c ; "SsMovieRec.c"
1451                 "BLLS    sub_FFC0BDB8\n"                                        // DebugAssert
1452                 "SUB     R7, R8, R7\n"
1453 "loc_FFC4AD6C:\n"
1454                 "BL      sub_FFC46780_my\n"                                     // Continue here  (taskcreate_MovieRecord)
1455                 "LDR     R0, =0x18394\n"
1456                 "LDRH    R3, [R0,#0x46]\n"
1457                 "LDRH    R2, [R0,#0x44]\n"
1458                 "LDR     R1, [R0,#0x40]\n"
1459                 "LDR     R0, [R0,#0x3C]\n"
1460                 "BL      sub_FFC45800\n"
1461                 "MOV     R3, #0\n"
1462                 "LDR     R2, =0xFFC4AAF4\n"
1463                 "MOV     R1, #0\n"
1464                 "LDR     R0, =0xFFC4AB08\n"
1465                 "ADD     R8, SP, #0xC\n"
1466                 "STMIA   R8, {R0-R3}\n"
1467                 "LDR     R2, =0xFFC4AB18\n"
1468                 "LDR     R1, =0xFFC4AB04\n"
1469                 "STMEA   SP, {R1-R3}\n"
1470                 "LDR     R1, [R4,#4]\n"
1471                 "MOV     R3, R6\n"
1472                 "MOV     R2, R7\n"
1473                 "MOV     R0, R5\n"
1474                 "BL      sub_FFC45B5C\n"
1475                 "LDR     R0, [R4,#8]\n"
1476                 "MOV     R1, #0x20\n"
1477                 "BL      sub_FFC173C8\n"
1478                 "B       loc_FFC4AD10\n"
1479  );
1480 } // #fe
1481 
1482 void __attribute__((naked,noinline)) sub_FFC46780_my(){
1483  asm volatile(
1484                 "STMFD   SP!, {R3-R9,LR}\n"
1485                 "LDR     R5, =0x5178\n"
1486                 "MOV     R6, #0\n"
1487                 "STR     R6, [R5,#0x20]\n"
1488                 "LDR     R0, [R5,#4]\n"
1489                 "LDR     R8, =0x2710\n"
1490                 "CMP     R0, #0\n"
1491                 "BNE     loc_FFC46838\n"
1492                 "MOV     R0, #1\n"
1493                 "STR     R0, [R5,#4]\n"
1494                 "MOV     R0, #0\n"
1495                 "MOV     R1, #0\n"
1496                 "BL      sub_FFC0BC34\n"
1497                 "STR     R0, [R5,#0x10]\n"
1498                 "MOV     R0, #0\n"
1499                 "MOV     R1, #0\n"
1500                 "BL      sub_FFC0BC34\n"
1501                 "STR     R0, [R5,#0x14]\n"
1502                 "MOV     R0, #0\n"
1503                 "MOV     R1, #0xA\n"
1504                 "BL      sub_FFC0BBEC\n"
1505                 "STR     R0, [R5,#0x18]\n"
1506                 "MOV     R0, #0\n"
1507                 "MOV     R1, #0xA\n"
1508                 "BL      sub_FFC0BBEC\n"
1509                 "LDR     R7, =0x17F84\n"
1510                 "MOV     R4, #9\n"
1511                 "ADD     R9, R4, #0x2D4\n"
1512                 "STR     R0, [R5,#0x1C]\n"
1513 "loc_FFC467F4:\n"
1514                 "RSB     R0, R4, R4,LSL#3\n"
1515                 "STR     R6, [R7,R0,LSL#2]\n"
1516                 "ADD     R1, R7, R0,LSL#2\n"
1517                 "STR     R9, [SP]\n"
1518                 "LDR     R0, [R5,#0x1C]\n"
1519                 "LDR     R3, =0xFFC45AFC\n"                             // aMovierecorder_
1520                 "MOV     R2, R8\n"
1521                 "BL      sub_FFC0BCF8\n"
1522                 "SUBS    R4, R4, #1\n"
1523                 "BPL     loc_FFC467F4\n"
1524                 "MOV     R3, #0\n"
1525                 "STR     R3, [SP]\n"
1526                 "LDR     R3, =MovieRecord_Task_my\n"                    // FFC46678 task_MovieRecord
1527                 "MOV     R2, #0x1000\n"
1528                 "MOV     R1, #0x14\n"
1529                 "LDR     R0, =0xFFC46988\n"                                                             // aMovierecord ; "MovieRecord"
1530                 "BL      sub_FFC0BBB8\n"                                                                        // KernelCreateTask
1531 "loc_FFC46838:\n"
1532                 "BL      sub_FFD0A4C8\n"                                                                        // taskcreate_AviWrite
1533                 "BL      sub_FFC4689C\n"
1534                 "MOV     R1, R0\n"
1535                 "MOV     R0, #0xB\n"
1536                 "ADD     R3, R0, #0x2DC\n"
1537                 "STR     R0, [R1]\n"
1538                 "STR     R3, [SP]\n"
1539                 "LDR     R3, =0xFFC45AFC\n"                                                     // aMovierecorder_ ; "MovieRecorder.c"
1540                 "MOV     R2, R8\n"
1541                 "LDR     R0, [R5,#0x18]\n"
1542                 "BL      sub_FFC0BCF8\n"
1543                 "LDMFD   SP!, {R3-R9,PC}\n"
1544  );
1545 } // #fe
1546 */
1547 
1548 void __attribute__((naked,noinline)) MovieRecord_Task_my(){
1549  asm volatile(
1550                 "STMFD   SP!, {R2-R8,LR}\n"
1551                 "LDR     R8, =0x32B\n"
1552                 "LDR     R7, =0x2710\n"
1553                 "LDR     R4, =0x5178\n"
1554                 "MOV     R6, #0\n"
1555                 "MOV     R5, #1\n"
1556 "loc_FFC46690:\n"
1557                 "LDR     R0, [R4,#0x18]\n"
1558                 "MOV     R2, #0\n"
1559                 "ADD     R1, SP, #4\n"
1560                 "BL      sub_FFC1764C\n"
1561                 "LDR     R0, [R4,#0x20]\n"
1562                 "CMP     R0, #0\n"
1563                 "BNE     loc_FFC46760\n"
1564                 "LDR     R0, [SP,#4]\n"
1565                 "LDR     R1, [R0]\n"
1566                 "SUB     R1, R1, #2\n"
1567                 "CMP     R1, #9\n"
1568                 "ADDLS   PC, PC, R1,LSL#2\n"
1569                 "B       loc_FFC46760\n"
1570 "loc_FFC466C4:\n"
1571                 "B       loc_FFC46714\n"
1572 "loc_FFC466C8:\n"
1573                 "B       loc_FFC46734\n"
1574 "loc_FFC466CC:\n"
1575                 "B       loc_FFC46744\n"
1576 "loc_FFC466D0:\n"
1577                 "B       loc_FFC4674C\n"
1578 "loc_FFC466D4:\n"
1579                 "B       loc_FFC4671C\n"
1580 "loc_FFC466D8:\n"
1581                 "B       loc_FFC46754\n"
1582 "loc_FFC466DC:\n"
1583                 "B       loc_FFC46724\n"
1584 "loc_FFC466E0:\n"
1585                 "B       loc_FFC46760\n"
1586 "loc_FFC466E4:\n"
1587                 "B       loc_FFC4675C\n"
1588 "loc_FFC466E8:\n"
1589                 "B       loc_FFC466EC\n"
1590 "loc_FFC466EC:\n"
1591                 "LDR     R0, =0xFFC46374\n"
1592                 "STR     R6, [R4,#0x34]\n"
1593                 "STR     R0, [R4,#0xA0]\n"
1594                 "LDR     R0, =0xFFC45DEC\n"
1595                 "LDR     R2, =0xFFC45D08\n"
1596                 "LDR     R1, =0x180AC\n"
1597                 "STR     R6, [R4,#0x24]\n"
1598                 "BL      sub_FFCA2C98\n"
1599                 "STR     R5, [R4,#0x38]\n"
1600                 "B       loc_FFC46760\n"
1601 "loc_FFC46714:\n"
1602                 "BL      unlock_optical_zoom\n"         //  +
1603                 "BL      sub_FFC4646C\n"
1604                 "B       loc_FFC46760\n"
1605 "loc_FFC4671C:\n"
1606                 "BL      sub_FFC46174_my\n"             //----------------->
1607                 "B       loc_FFC46760\n"
1608 "loc_FFC46724:\n"
1609                 "LDR     R1, [R0,#0x10]\n"
1610                 "LDR     R0, [R0,#4]\n"
1611                 "BL      sub_FFD0B0D4\n"
1612                 "B       loc_FFC46760\n"
1613 "loc_FFC46734:\n"
1614                 "LDR     R0, [R4,#0x38]\n"
1615                 "CMP     R0, #5\n"
1616                 "STRNE   R5, [R4,#0x28]\n"
1617                 "B       loc_FFC46760\n"
1618 "loc_FFC46744:\n"
1619                 "BL      sub_FFC45F7C\n"
1620                 "B       loc_FFC46760\n"
1621 "loc_FFC4674C:\n"
1622                 "BL      sub_FFC45E38\n"
1623                 "B       loc_FFC46760\n"
1624 "loc_FFC46754:\n"
1625                 "BL      sub_FFC45C94\n"
1626                 "B       loc_FFC46760\n"
1627 "loc_FFC4675C:\n"
1628                 "BL      sub_FFC468C8\n"
1629 "loc_FFC46760:\n"
1630                 "LDR     R1, [SP,#4]\n"
1631                 "LDR     R3, =0xFFC45AFC\n"             // aMovierecorder_
1632                 "STR     R6, [R1]\n"
1633                 "STR     R8, [SP]\n"
1634                 "LDR     R0, [R4,#0x1C]\n"
1635                 "MOV     R2, R7\n"
1636                 "BL      sub_FFC0BCF8\n"
1637                 "B       loc_FFC46690\n"
1638  );
1639 }
1640 
1641 
1642 void __attribute__((naked,noinline)) sub_FFC46174_my(){
1643  asm volatile(
1644                 "STMFD   SP!, {R4-R8,LR}\n"
1645                 "SUB     SP, SP, #0x40\n"
1646                 "MOV     R6, #0\n"
1647                 "LDR     R5, =0x5178\n"
1648                 "MOV     R4, R0\n"
1649                 "STR     R6, [SP,#0x30]\n"
1650                 "STR     R6, [SP,#0x28]\n"
1651                 "LDR     R0, [R5,#0x38]\n"
1652                 "MOV     R8, #4\n"
1653                 "CMP     R0, #3\n"
1654                 "STREQ   R8, [R5,#0x38]\n"
1655                 "LDR     R0, [R5,#0xA0]\n"
1656                 "BLX     R0\n"
1657                 //".long   0xE12FFF30\n"                // don't know how it's determined but so far same code as a720
1658                 "LDR     R0, [R5,#0x38]\n"
1659                 "CMP     R0, #4\n"
1660                 "BNE     loc_FFC4624C\n"
1661                 "ADD     R3, SP, #0x28\n"
1662                 "ADD     R2, SP, #0x2C\n"
1663                 "ADD     R1, SP, #0x30\n"
1664                 "ADD     R0, SP, #0x34\n"
1665                 "BL      sub_FFD0B268\n"
1666                 "CMP     R0, #0\n"
1667                 "MOV     R7, #1\n"
1668                 "BNE     loc_FFC461F0\n"
1669                 "LDR     R1, [R5,#0x28]\n"
1670                 "CMP     R1, #1\n"
1671                 "BNE     loc_FFC46254\n"
1672                 "LDR     R1, [R5,#0x50]\n"
1673                 "LDR     R2, [R5,#0x3C]\n"
1674                 "CMP     R1, R2\n"
1675                 "BCC     loc_FFC46254\n"
1676 "loc_FFC461F0:\n"
1677                 "CMP     R0, #0x80000001\n"
1678                 "STREQ   R8, [R5,#0x54]\n"
1679                 "BEQ     loc_FFC46228\n"
1680                 "CMP     R0, #0x80000003\n"
1681                 "STREQ   R7, [R5,#0x54]\n"
1682                 "BEQ     loc_FFC46228\n"
1683                 "CMP     R0, #0x80000005\n"
1684                 "MOVEQ   R0, #2\n"
1685                 "BEQ     loc_FFC46224\n"
1686                 "CMP     R0, #0x80000007\n"
1687                 "STRNE   R6, [R5,#0x54]\n"
1688                 "BNE     loc_FFC46228\n"
1689                 "MOV     R0, #3\n"
1690 "loc_FFC46224:\n"
1691                 "STR     R0, [R5,#0x54]\n"
1692 "loc_FFC46228:\n"
1693                 "LDR     R0, =0x180DC\n"
1694                 "LDR     R0, [R0,#8]\n"
1695                 "CMP     R0, #0\n"
1696                 "BEQ     loc_FFC46240\n"
1697                 "BL      sub_FFC32918\n"
1698                 "B       loc_FFC46244\n"
1699 "loc_FFC46240:\n"
1700                 "BL      sub_FFC45C94\n"
1701 "loc_FFC46244:\n"
1702                 "MOV     R0, #5\n"
1703                 "STR     R0, [R5,#0x38]\n"
1704 "loc_FFC4624C:\n"
1705                 "ADD     SP, SP, #0x40\n"
1706                 "LDMFD   SP!, {R4-R8,PC}\n"
1707 "loc_FFC46254:\n"
1708                 "LDR     LR, [SP,#0x30]\n"
1709                 "CMP     LR, #0\n"
1710                 "BEQ     loc_FFC4631C\n"
1711                 "STR     R7, [R5,#0x2C]\n"
1712                 "LDR     R0, [R5,#0x6C]\n"
1713                 "LDR     R1, [R4,#0x14]\n"
1714                 "LDR     R2, [R4,#0x18]\n"
1715                 "LDR     R12, [R4,#0xC]\n"
1716                 "ADD     R3, SP, #0x38\n"
1717                 "ADD     R8, SP, #0x14\n"
1718                 "STMIA   R8, {R0-R3}\n"
1719                 "LDR     R3, [R5,#0x58]\n"
1720                 "ADD     R2, SP, #0x3C\n"
1721                 "ADD     R8, SP, #8\n"
1722                 "LDRD    R0, [SP,#0x28]\n"
1723                 //".long   0xE1CD02D8\n"                // again not sure why, but so far same code as a720
1724                 "STMIA   R8, {R0,R2,R3}\n"
1725                 "STR     R1, [SP,#4]\n"
1726                 "STR     LR, [SP]\n"
1727                 "LDMIB   R4, {R0,R1}\n"
1728                 "LDR     R3, [SP,#0x34]\n"
1729                 "MOV     R2, R12\n"
1730                 "BL      sub_FFCC99E4\n"
1731                 "LDR     R0, [R5,#0x10]\n"
1732                 "MOV     R1, #0x3E8\n"
1733                 "BL      sub_FFC0B774\n"                // TakeSemaphore
1734                 "CMP     R0, #9\n"
1735                 "BNE     loc_FFC462D0\n"
1736                 "BL      sub_FFD0B844\n"
1737                 "MOV     R0, #0x90000\n"
1738                 "STR     R7, [R5,#0x38]\n"
1739                 "B       loc_FFC462E8\n"
1740 "loc_FFC462D0:\n"
1741                 "LDR     R0, [SP,#0x38]\n"
1742                 "CMP     R0, #0\n"
1743                 "BEQ     loc_FFC462F0\n"
1744                 "BL      sub_FFD0B844\n"
1745                 "MOV     R0, #0xA0000\n"
1746                 "STR     R7, [R5,#0x38]\n"
1747 "loc_FFC462E8:\n"
1748                 "BL      sub_FFC5CAA4\n"                // HardwareDefect
1749                 "B       loc_FFC4624C\n"
1750 "loc_FFC462F0:\n"
1751                 "BL      sub_FFCC9AA8\n"
1752                 "LDR     R0, [SP,#0x34]\n"
1753                 "LDR     R1, [SP,#0x3C]\n"
1754                 "BL      sub_FFD0B5EC\n"
1755                 "LDR     R0, [R5,#0x4C]\n"
1756                 "LDR     R1, =0x51E4\n"
1757                 "ADD     R0, R0, #1\n"
1758                 "STR     R0, [R5,#0x4C]\n"
1759                 "LDR     R0, [SP,#0x3C]\n"
1760                 "MOV     R2, #0\n"
1761                 "BL      sub_FFD0947C_my\n"             //----------------->
1762 "loc_FFC4631C:\n"
1763                 "LDR     R0, [R5,#0x50]\n"
1764                 "ADD     R0, R0, #1\n"
1765                 "STR     R0, [R5,#0x50]\n"
1766                 "LDR     R1, [R5,#0x78]\n"
1767                 "MUL     R0, R1, R0\n"
1768                 "LDR     R1, [R5,#0x74]\n"
1769                 "BL      sub_FFE5A618\n"
1770                 "MOV     R4, R0\n"
1771                 "BL      sub_FFD0B87C\n"
1772                 "LDR     R1, [R5,#0x70]\n"
1773                 "CMP     R1, R4\n"
1774                 "BNE     loc_FFC46358\n"
1775                 "LDR     R0, [R5,#0x30]\n"
1776                 "CMP     R0, #1\n"
1777                 "BNE     loc_FFC4636C\n"
1778 "loc_FFC46358:\n"
1779                 "LDR     R1, [R5,#0x84]\n"
1780                 "MOV     R0, R4\n"
1781                 "BLX     R1\n"
1782                 //".long   0xE12FFF31\n"                // again, no clue about these but same code in a720...
1783                 "STR     R4, [R5,#0x70]\n"
1784                 "STR     R6, [R5,#0x30]\n"
1785 "loc_FFC4636C:\n"
1786                 "STR     R6, [R5,#0x2C]\n"
1787                 "B       loc_FFC4624C\n"
1788  );
1789 }
1790 
1791 
1792 void __attribute__((naked,noinline)) sub_FFD0947C_my(){
1793  asm volatile(
1794                 "STMFD   SP!, {R4-R8,LR}\n"
1795                 "LDR     R4, =0x7F7C\n"
1796                 "LDR     LR, [R4]\n"
1797                 "LDR     R2, [R4,#8]\n"
1798                 "CMP     LR, #0\n"
1799                 "LDRNE   R3, [R4,#0xC]\n"
1800                 "MOV     R5, R2\n"
1801                 "CMPNE   R3, #1\n"
1802                 "MOVEQ   R2, #0\n"
1803                 "STREQ   R0, [R4]\n"
1804                 "STREQ   R2, [R4,#0xC]\n"
1805                 "BEQ     loc_FFD09548\n"
1806                 "LDR     R3, [R4,#4]\n"
1807                 "LDR     R7, =table\n"          // unk_FFE78188
1808                 "ADD     R12, R3, R3,LSL#1\n"
1809                 "LDR     R3, [R7,R12,LSL#2]\n"
1810                 "ADD     R6, R7, #0x30\n"
1811                 "LDR     R8, [R6,R12,LSL#2]\n"
1812                 "SUB     R3, LR, R3\n"
1813                 "CMP     R3, #0\n"
1814                 "SUB     LR, LR, R8\n"
1815                 "BLE     loc_FFD09504\n"
1816                 "ADD     R12, R7, R12,LSL#2\n"
1817                 "LDR     LR, [R12,#4]\n"
1818                 "CMP     LR, R3\n"
1819                 "ADDGE   R2, R2, #1\n"
1820                 "BGE     loc_FFD094F8\n"
1821                 "LDR     R12, [R12,#8]\n"
1822                 "CMP     R12, R3\n"
1823                 "ADDLT   R2, R2, #3\n"
1824                 "ADDGE   R2, R2, #2\n"
1825 "loc_FFD094F8:\n"
1826                 //"CMP     R2, #0x17\n"         // -
1827                 //"MOVGE   R2, #0x16\n"         // -
1828                 "CMP     R2, #0x1A\n"           // +
1829                 "MOVGE   R2, #0x19\n"           // +
1830                 "B       loc_FFD09538\n"
1831 "loc_FFD09504:\n"
1832                 "CMP     LR, #0\n"
1833                 "BGE     loc_FFD09538\n"
1834                 "ADD     R3, R6, R12,LSL#2\n"
1835                 "LDR     R12, [R3,#4]\n"
1836                 "CMP     R12, LR\n"
1837                 "SUBLE   R2, R2, #1\n"
1838                 "BLE     loc_FFD09530\n"
1839                 "LDR     R3, [R3,#8]\n"
1840                 "CMP     R3, LR\n"
1841                 "SUBGT   R2, R2, #3\n"
1842                 "SUBLE   R2, R2, #2\n"
1843 "loc_FFD09530:\n"
1844                 "CMP     R2, #0\n"
1845                 "MOVLT   R2, #0\n"
1846 "loc_FFD09538:\n"
1847                 "CMP     R2, R5\n"
1848                 "STRNE   R2, [R4,#8]\n"
1849                 "MOVNE   R2, #1\n"
1850                 "STRNE   R2, [R4,#0xC]\n"
1851 "loc_FFD09548:\n"
1852                 "LDR     R2, =CompressionRateTable\n"                   // unk_FFE7812C
1853                 "LDR     R3, [R4,#8]\n"
1854                 "LDR     R2, [R2,R3,LSL#2]\n"
1855                 
1856                 "LDR     R3, =video_mode\n"      // +
1857                 "LDR     R3, [R3]\n"             // +
1858                 "LDR     R3, [R3]\n"             // +
1859                 "CMP     R3, #1\n"               // +
1860                 "LDREQ   R3, =video_quality\n"   // +
1861                 "LDREQ   R3, [R3]\n"             // +
1862                 "LDREQ   R2, [R3]\n"             // +
1863 
1864                 "STR     R2, [R1]\n"
1865                 "STR     R0, [R4]\n"
1866                 "BL      mute_on_zoom\n"                // +
1867                 "LDMFD   SP!, {R4-R8,PC}\n"
1868  );
1869 }
1870 
1871 #include "conf.h"
1872 
1873 int *video_quality = &conf.video_quality;
1874 int *video_mode    = &conf.video_mode;
1875 
1876 long def_table[24]={0x2000, 0x38D, 0x788, 0x5800, 0x9C5, 0x14B8, 0x10000, 0x1C6A, 0x3C45, 0x8000, 0xE35, 0x1E23,
1877            0x1CCD, -0x2E1, -0x579, 0x4F33, -0x7EB, -0xF0C, 0xE666, -0x170A, -0x2BC6, 0x7333, -0xB85, -0x15E3};
1878 
1879 long table[24];
1880 
1881 void change_video_tables(int a, int b){
1882  int i;
1883  for (i=0;i<24;i++) table[i]=(def_table[i]*a)/b;
1884 }
1885 
1886 long CompressionRateTable[]={0x60, 0x5D, 0x5A, 0x57, 0x54, 0x51, 0x4D, 0x48, 0x42, 0x3B, 0x32, 0x29, 0x22, 0x1D, 0x17, 0x14, 0x10, 0xE, 0xB, 9, 7, 6, 5, 4, 3, 2, 1};

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