root/platform/ixus90_sd790/sub/100c/capt_seq.c

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

DEFINITIONS

This source file includes following definitions.
  1. sub_FF93D820_my
  2. sub_FF85E634_my
  3. capt_seq_task
  4. exp_drv_task
  5. sub_FF8B44F8_my
  6. sub_FF895B48_my

   1 #include "lolevel.h"
   2 #include "platform.h"
   3 #include "core.h"
   4 
   5 // @ FF93D898
   6 static long *nrflag = (long*)0x91AC;
   7 
   8 #include "../../../generic/capt_seq.c"
   9 
  10 void __attribute__((naked,noinline)) sub_FF93D820_my(){ 
  11  asm volatile(
  12         "STMFD   SP!, {R0-R10,LR}\n"
  13         "MOV     R6, #0\n"
  14         "MOV     R4, R0\n"
  15         "BL      sub_FF93E38C\n"
  16         "MVN     R1, #0\n" //0xFFFFFFFF\n"
  17         "BL      sub_FF827B50\n"
  18         "MOV     R2, #4\n"
  19                 "ADD     R1, SP, #0x30-0x28\n"
  20         "MOV     R0, #0x8A\n"
  21         "BL      sub_FF86D25C\n"
  22         "TST     R0, #1\n"
  23         "MOVNE   R1, #0x218\n"
  24         "LDRNE   R0, =0xFF86D14C\n" // aSscaptureseq_c ; "SsCaptureSeq.c"\n"
  25         "BLNE    _DebugAssert\n"
  26         "LDR     R8, =0x19F40\n"
  27         "LDR     R5, =0x19E8C\n"
  28         "LDRSH   R1, [R8,#0xE]\n"
  29         "LDR     R0, [R5,#0x7C]\n"
  30         "BL      sub_FF8F3DC8\n"
  31         "BL      sub_FF845570\n" // GetCCDTemperature\n"
  32         "LDR     R2, =0x91B0\n"
  33         "ADD     R3, R4, #0x8C\n"
  34         "STRH    R0, [R4,#0x88]\n"
  35         "STRD    R2, [SP,#0x30-0x30]\n"
  36         "MOV     R1, R0\n"
  37         "LDRH    R0, [R5,#0x54]\n"
  38         "LDRSH   R2, [R8,#0xC]\n"
  39         "LDR     R3, =0x91AC\n"
  40         "BL      sub_FF93E880\n"
  41         "BL      wait_until_remote_button_is_released\n" // +
  42         "BL      capt_seq_hook_set_nr\n"
  43         "BL       sub_FF93D894\n"
  44  );
  45 }
  46 
  47 void __attribute__((naked,noinline)) sub_FF85E634_my() //#fs
  48 {
  49         asm volatile (
  50         "STMFD   SP!, {R4-R6,LR}\n"
  51         "LDR     R4, [R0,#0xC]\n"
  52         "LDR     R6, =0x19E8C\n"
  53         "LDR     R0, [R4,#8]\n"
  54         "MOV     R5, #0\n"
  55         "ORR     R0, R0, #1\n"
  56         "STR     R0, [R4,#8]\n"
  57         "LDR     R0, [R6,#0x24]\n"
  58         "CMP     R0, #0\n"
  59         "MOVEQ   R0, #2\n"
  60         "BLEQ    sub_FF858610\n"
  61         "BL      sub_FF93C144\n"
  62         "LDR     R0, [R6,#0x24]\n"
  63         "CMP     R0, #0\n"
  64         "BNE     loc_FF85E6B4\n"
  65         "MOV     R0, R4\n"
  66         "BL      sub_FF93C5D8\n"
  67         "TST     R0, #1\n"
  68         "MOVNE   R2, R4\n"
  69         "LDMNEFD SP!, {R4-R6,LR}\n"
  70         "MOVNE   R1, #1\n"
  71         "BNE     sub_FF85C98C\n"
  72         "BL      sub_FF95DAFC\n"
  73         "BL      sub_FF86D3EC\n"
  74         "STR     R0, [R4,#0x14]\n"
  75         "MOV     R0, R4\n"
  76         "BL      sub_FF93D738\n"
  77         "BL      sub_FF93E214\n"
  78         "MOV     R0, R4\n"
  79         //"BL      sub_FF93D820\n"
  80         "BL      sub_FF93D820_my\n"
  81                 "BL      capt_seq_hook_raw_here\n" // +
  82         "MOV     R5, R0\n"
  83         "B       loc_FF85E6C4\n"
  84 
  85 
  86 "loc_FF85E6B4:\n" //                               ; CODE XREF: sub_FF85E634+38j
  87         "LDR     R0, =0x54E0\n"
  88         "LDR     R0, [R0,#4]\n"
  89         "CMP     R0, #0\n"
  90         "MOVNE   R5, #0x1D\n"
  91 
  92 "loc_FF85E6C4:\n" //                               ; CODE XREF: sub_FF85E634+7Cj
  93         "BL      sub_FF93F268\n"
  94         "BL      sub_FF93F2A4\n"
  95         "MOV     R2, R4\n"
  96         "MOV     R1, #1\n"
  97         "MOV     R0, R5\n"
  98         "BL      sub_FF85C98C\n"
  99         "BL      sub_FF93DC28\n"
 100         "CMP     R0, #0\n"
 101         "LDRNE   R0, [R4,#8]\n"
 102         "ORRNE   R0, R0, #0x2000\n"
 103         "STRNE   R0, [R4,#8]\n"
 104         "LDMFD   SP!, {R4-R6,PC}\n"
 105  );
 106 }
 107 
 108 //FF85E2B0
 109 void __attribute__((naked,noinline)) capt_seq_task() //#fs
 110 {
 111         asm volatile (
 112         "STMFD   SP!, {R3-R9,LR}\n"
 113         "LDR     R6, =0x19E8C\n"
 114         "LDR     R5, =0x54E0\n"
 115         "MOV     R9, #1\n"
 116         "MOV     R7, #0\n"
 117 
 118 "loc_FF85E2C4:\n" //                               ; CODE XREF: task_CaptSeqTask+298j
 119         "LDR     R0, [R5,#0xC]\n"
 120         "MOV     R2, #0\n"
 121         "MOV     R1, SP\n"
 122         "BL      sub_FF827DA0\n"
 123         "TST     R0, #1\n"
 124         "BEQ     loc_FF85E2F0\n"
 125         "LDR     R1, =0x48E\n"
 126         "LDR     R0, =0xFF85DF88\n" // ; "SsShootTask.c"\n"
 127         "BL      _DebugAssert\n"
 128         "BL      sub_FF81BAA8\n" // ExitTask\n"
 129         "LDMFD   SP!, {R3-R9,PC}\n"
 130 
 131 
 132 "loc_FF85E2F0:\n" //                               ; CODE XREF: task_CaptSeqTask+28j
 133         "LDR     R0, [SP,#0x20-0x20]\n"
 134         "LDR     R1, [R0]\n"
 135         "CMP     R1, #0x1B\n"
 136         "ADDLS   PC, PC, R1,LSL#2\n"
 137         "B       loc_FF85E510\n"
 138 
 139 
 140 "loc_FF85E304:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 141         "B       loc_FF85E374\n"
 142 
 143 
 144 "loc_FF85E308:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 145         "B       loc_FF85E3DC\n"
 146 
 147 
 148 "loc_FF85E30C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 149         "B       loc_FF85E3E4\n"
 150 
 151 
 152 "loc_FF85E310:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 153         "B       loc_FF85E3FC\n"
 154 
 155 
 156 "loc_FF85E314:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 157         "B       loc_FF85E3F0\n"
 158 
 159 
 160 "loc_FF85E318:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 161         "B       loc_FF85E404\n"
 162 
 163 
 164 "loc_FF85E31C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 165         "B       loc_FF85E40C\n"
 166 
 167 
 168 "loc_FF85E320:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 169         "B       loc_FF85E414\n"
 170 
 171 
 172 "loc_FF85E324:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 173         "B       loc_FF85E46C\n"
 174 
 175 
 176 "loc_FF85E328:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 177         "B       loc_FF85E478\n"
 178 
 179 
 180 "loc_FF85E32C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 181         "B       loc_FF85E480\n"
 182 
 183 
 184 "loc_FF85E330:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 185         "B       loc_FF85E488\n"
 186 
 187 
 188 "loc_FF85E334:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 189         "B       loc_FF85E490\n"
 190 
 191 
 192 "loc_FF85E338:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 193         "B       loc_FF85E498\n"
 194 
 195 
 196 "loc_FF85E33C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 197         "B       loc_FF85E4A0\n"
 198 
 199 
 200 "loc_FF85E340:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 201         "B       loc_FF85E4A8\n"
 202 
 203 
 204 "loc_FF85E344:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 205         "B       loc_FF85E4B0\n"
 206 
 207 
 208 "loc_FF85E348:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 209         "B       loc_FF85E4BC\n"
 210 
 211 
 212 "loc_FF85E34C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 213         "B       loc_FF85E4C4\n"
 214 
 215 
 216 "loc_FF85E350:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 217         "B       loc_FF85E4CC\n"
 218 
 219 
 220 "loc_FF85E354:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 221         "B       loc_FF85E4D4\n"
 222 
 223 
 224 "loc_FF85E358:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 225         "B       loc_FF85E4E0\n"
 226 
 227 
 228 "loc_FF85E35C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 229         "B       loc_FF85E4E8\n"
 230 
 231 
 232 "loc_FF85E360:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 233         "B       loc_FF85E4F0\n"
 234 
 235 
 236 "loc_FF85E364:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 237         "B       loc_FF85E4F8\n"
 238 
 239 
 240 "loc_FF85E368:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 241         "B       loc_FF85E500\n"
 242 
 243 
 244 "loc_FF85E36C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 245         "B       loc_FF85E508\n"
 246 
 247 
 248 "loc_FF85E370:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 249         "B       loc_FF85E51C\n"
 250 
 251 
 252 "loc_FF85E374:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 253         "BL      sub_FF93C168\n"
 254         // only do quick press hack if overrides are active
 255         "BL      captseq_hack_override_active\n"      // returns 1 if tv or sv override in effect
 256         "STR     R0,[SP,#-4]!\n" // push return value
 257         "BL      shooting_expo_param_override\n" // +
 258         "BL      sub_FF85C438\n"
 259         "LDR     R0,[SP],#4\n" // pop override hack
 260         "CMP     R0, #1\n"     // +
 261         "MOVEQ   R0, #0\n"     // +
 262         "STREQ   R0, [R6,#0x24]\n" // fixes overrides behavior at short shutter press
 263         "LDRNE   R0, [R6,#0x24]\n" // modified NE
 264         "CMPNE   R0, #0\n"         // modified NE
 265 //        "LDR     R0, [R6,#0x24]\n"  // above patch makes these lines redundant
 266 //        "CMP     R0, #0\n"
 267         "BEQ     loc_FF85E51C\n"
 268         "BL      sub_FF85DC58\n"
 269         "MOV     R4, R0\n"
 270         "LDR     R0, [R6,#0x24]\n"
 271         "CMP     R0, #0\n"
 272         "BEQ     loc_FF85E3BC\n"
 273         "MOV     R0, #0xC\n"
 274         "BL      sub_FF861300\n"
 275         "TST     R0, #1\n"
 276         "STRNE   R9, [R5,#4]\n"
 277         "LDRNE   R0, [R4,#8]\n"
 278         "ORRNE   R0, R0, #0x40000000\n"
 279         "STRNE   R0, [R4,#8]\n"
 280         "BNE     loc_FF85E51C\n"
 281 
 282 "loc_FF85E3BC:\n" //                               ; CODE XREF: task_CaptSeqTask+E8j
 283         "BL      sub_FF95DAFC\n"
 284         "BL      sub_FF86D3EC\n"
 285         "STR     R0, [R4,#0x14]\n"
 286         "MOV     R0, R4\n"
 287         "BL      sub_FF93D820_my\n" // changed
 288                 "BL      capt_seq_hook_raw_here\n" // +
 289         "TST     R0, #1\n"
 290         "STRNE   R9, [R5,#4]\n"
 291         "B       loc_FF85E51C\n"
 292 
 293 
 294 "loc_FF85E3DC:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 295 
 296                 //"BL      sub_FF85E634\n"
 297         "BL      sub_FF85E634_my\n" //_my
 298         "B       loc_FF85E3F4\n"
 299 
 300 
 301 "loc_FF85E3E4:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 302 
 303 
 304         "MOV     R0, #1\n"
 305         "BL      sub_FF93C310\n"
 306         "B       loc_FF85E51C\n"
 307 
 308 
 309 "loc_FF85E3F0:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 310 
 311 
 312         "BL      sub_FF93BE00\n"
 313 
 314 "loc_FF85E3F4:\n" //                               ; CODE XREF: task_CaptSeqTask+130j
 315 
 316         "STR     R7, [R6,#0x24]\n"
 317         "B       loc_FF85E51C\n"
 318 
 319 
 320 "loc_FF85E3FC:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 321 
 322 
 323         "BL      sub_FF93C134\n"
 324         "B       loc_FF85E3F4\n"
 325 
 326 
 327 "loc_FF85E404:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 328 
 329 
 330         "BL      sub_FF93C13C\n"
 331         "B       loc_FF85E51C\n"
 332 
 333 
 334 "loc_FF85E40C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 335 
 336 
 337         "BL      sub_FF93C230\n"
 338         "B       loc_FF85E470\n"
 339 
 340 
 341 "loc_FF85E414:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 342 
 343 
 344         "LDR     R4, [R0,#0xC]\n"
 345         "BL      sub_FF93C144\n"
 346         "MOV     R0, R4\n"
 347         "BL      sub_FF93C958\n"
 348         "TST     R0, #1\n"
 349         "MOV     R8, R0\n"
 350         "BNE     loc_FF85E454\n"
 351         "BL      sub_FF86D3EC\n"
 352         "STR     R0, [R4,#0x14]\n"
 353         "MOV     R0, R4\n"
 354         "BL      sub_FF93D738\n"
 355         "MOV     R0, R4\n"
 356         "BL      sub_FF93DC88\n"
 357         "MOV     R8, R0\n"
 358         "LDR     R0, [R4,#0x14]\n"
 359         "BL      sub_FF86D5F8\n"
 360 
 361 "loc_FF85E454:\n" //                               ; CODE XREF: task_CaptSeqTask+17Cj
 362         "BL      sub_FF93C134\n"
 363         "MOV     R2, R4\n"
 364         "MOV     R1, #9\n"
 365         "MOV     R0, R8\n"
 366         "BL      sub_FF85C98C\n"
 367         "B       loc_FF85E51C\n"
 368 
 369 
 370 "loc_FF85E46C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 371 
 372 
 373         "BL      sub_FF93C290\n"
 374 
 375 "loc_FF85E470:\n" //                               ; CODE XREF: task_CaptSeqTask+160j
 376         "BL      sub_FF85C438\n"
 377         "B       loc_FF85E51C\n"
 378 
 379 
 380 "loc_FF85E478:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 381 
 382 
 383         "BL      sub_FF93C134\n"
 384         "B       loc_FF85E51C\n"
 385 
 386 
 387 "loc_FF85E480:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 388 
 389 
 390         "BL      sub_FF93CBC4\n"
 391         "B       loc_FF85E51C\n"
 392 
 393 
 394 "loc_FF85E488:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 395 
 396 
 397         "BL      sub_FF93CDAC\n"
 398         "B       loc_FF85E51C\n"
 399 
 400 
 401 "loc_FF85E490:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 402 
 403 
 404         "BL      sub_FF93CE3C\n"
 405         "B       loc_FF85E51C\n"
 406 
 407 
 408 "loc_FF85E498:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 409 
 410 
 411         "BL      sub_FF93CEF0\n"
 412         "B       loc_FF85E51C\n"
 413 
 414 
 415 "loc_FF85E4A0:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 416 
 417 
 418         "BL      sub_FF93D0E8\n"
 419         "B       loc_FF85E51C\n"
 420 
 421 
 422 "loc_FF85E4A8:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 423 
 424 
 425         "BL      sub_FF93D138\n"
 426         "B       loc_FF85E51C\n"
 427 
 428 
 429 "loc_FF85E4B0:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 430 
 431 
 432         "MOV     R0, #0\n"
 433         "BL      sub_FF93D1BC\n"
 434         "B       loc_FF85E51C\n"
 435 
 436 
 437 "loc_FF85E4BC:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 438 
 439 
 440         "BL      sub_FF93D30C\n"
 441         "B       loc_FF85E51C\n"
 442 
 443 
 444 "loc_FF85E4C4:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 445 
 446 
 447         "BL      sub_FF93D3A0\n"
 448         "B       loc_FF85E51C\n"
 449 
 450 
 451 "loc_FF85E4CC:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 452 
 453 
 454         "BL      sub_FF93D468\n"
 455         "B       loc_FF85E51C\n"
 456 
 457 
 458 "loc_FF85E4D4:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 459 
 460 
 461         "BL      sub_FF93C434\n"
 462         "BL      sub_FF824C48\n"
 463         "B       loc_FF85E51C\n"
 464 
 465 
 466 "loc_FF85E4E0:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 467 
 468 
 469         "BL      sub_FF93CFAC\n"
 470         "B       loc_FF85E51C\n"
 471 
 472 
 473 "loc_FF85E4E8:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 474 
 475 
 476         "BL      sub_FF93D018\n"
 477         "B       loc_FF85E51C\n"
 478 
 479 
 480 "loc_FF85E4F0:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 481 
 482 
 483         "BL      sub_FF93F24C\n"
 484         "B       loc_FF85E51C\n"
 485 
 486 
 487 "loc_FF85E4F8:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 488 
 489 
 490         "BL      sub_FF93F268\n"
 491         "B       loc_FF85E51C\n"
 492 
 493 
 494 "loc_FF85E500:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 495 
 496 
 497         "BL      sub_FF93F278\n"
 498         "B       loc_FF85E51C\n"
 499 
 500 
 501 "loc_FF85E508:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 502 
 503 
 504         "BL      sub_FF93F2A4\n"
 505         "B       loc_FF85E51C\n"
 506 
 507 
 508 "loc_FF85E510:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 509 
 510 
 511         "LDR     R1, =0x58E\n"
 512         "LDR     R0, =0xFF85DF88\n"
 513         "BL      _DebugAssert\n"
 514 
 515 "loc_FF85E51C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
 516 
 517 
 518         "LDR     R0, [SP,#0x20-0x20]\n"
 519         "LDR     R1, [R0,#4]\n"
 520         "LDR     R0, [R5,#8]\n"
 521         "BL      sub_FF827B1C\n"
 522         "LDR     R4, [SP,#0x20-0x20]\n"
 523         "LDR     R0, [R4,#8]\n"
 524         "CMP     R0, #0\n"
 525         "LDREQ   R1, =0x10D\n"
 526         "LDREQ   R0, =0xFF85DF88\n"
 527         "BLEQ    _DebugAssert\n"
 528         "STR     R7, [R4,#8]\n"
 529         "B       loc_FF85E2C4\n"
 530     );
 531 } //#fe
 532 
 533 
 534 // Extracted method: task_ExpDrvTask (FF8B6A80) 
 535 void __attribute__((naked,noinline)) exp_drv_task()
 536 {
 537         asm volatile (
 538                 "STMFD   SP!, {R4-R8,LR}\n"
 539                 "SUB     SP, SP, #0x20\n"
 540                 "LDR     R8, =0xBB8\n"
 541                 "LDR     R7, =0x6E30\n"
 542                 "LDR     R5, =0x3E12C\n"
 543                 "MOV     R0, #0\n"
 544                 "ADD     R6, SP, #0x38-0x28\n"
 545                 "STR     R0, [SP,#0x38-0x2C]\n"
 546 
 547                 "loc_FF8B6AA0:\n"
 548                 "LDR     R0, [R7,#0x20]\n"
 549                 "MOV     R2, #0\n"
 550                 "ADD     R1, SP, #0x38-0x1C\n"
 551                 "BL      sub_FF827DA0\n" // LOCATION: KerQueue.c:0
 552                 "LDR     R0, [SP,#0x38-0x2C]\n"
 553                 "CMP     R0, #1\n"
 554                 "BNE     loc_FF8B6AE8\n"
 555                 "LDR     R0, [SP,#0x38-0x1C]\n"
 556                 "LDR     R0, [R0]\n"
 557                 "CMP     R0, #0x13\n"
 558                 "CMPNE   R0, #0x14\n"
 559                 "CMPNE   R0, #0x15\n"
 560                 "BEQ     loc_FF8B6C04\n"
 561                 "CMP     R0, #0x27\n"
 562                 "BEQ     loc_FF8B6BDC\n"
 563                 "ADD     R1, SP, #0x38-0x2C\n"
 564                 "MOV     R0, #0\n"
 565                 "BL      sub_FF8B6A30\n" // LOCATION: ExpDrv.c:512
 566 
 567                 "loc_FF8B6AE8:\n"
 568                 "LDR     R0, [SP,#0x38-0x1C]\n"
 569                 "LDR     R1, [R0]\n"
 570                 "CMP     R1, #0x2C\n"
 571                 "BNE     loc_FF8B6B18\n"
 572                 "LDR     R0, [SP,#0x38-0x1C]\n"
 573                 "BL      sub_FF8B7CEC\n" // LOCATION: ExpDrv.c:268
 574                 "LDR     R0, [R7,#0x1C]\n"
 575                 "MOV     R1, #1\n"
 576                 "BL      sub_FF827B1C\n"
 577                 "BL      sub_FF81BAA8\n" // eventproc_export_ExitTask
 578                 "ADD     SP, SP, #0x20\n"
 579                 "LDMFD   SP!, {R4-R8,PC}\n"
 580 
 581                 "loc_FF8B6B18:\n"
 582                 "CMP     R1, #0x2B\n"
 583                 "BNE     loc_FF8B6B34\n"
 584                 "LDR     R2, [R0,#0x88]!\n"
 585                 "LDR     R1, [R0,#4]\n"
 586                 "MOV     R0, R1\n"
 587                 "BLX     R2\n"
 588                 "B       loc_FF8B706C\n"
 589 
 590                 "loc_FF8B6B34:\n"
 591                 "CMP     R1, #0x25\n"
 592                 "BNE     loc_FF8B6B84\n"
 593                 "LDR     R0, [R7,#0x1C]\n"
 594                 "MOV     R1, #0x80\n"
 595                 "BL      sub_FF827B50\n"
 596                 "LDR     R0, =0xFF8B34B8\n"
 597                 "MOV     R1, #0x80\n"
 598                 "BL      sub_FF92FACC\n" // LOCATION: IrisController.c:74
 599                 "LDR     R0, [R7,#0x1C]\n"
 600                 "MOV     R2, R8\n"
 601                 "MOV     R1, #0x80\n"
 602                 "BL      sub_FF827A54\n" // LOCATION: KerFlag.c:0
 603                 "TST     R0, #1\n"
 604                 "LDRNE   R1, =0xD1B\n"
 605                 "BNE     loc_FF8B6BC8\n"
 606 
 607                 "loc_FF8B6B70:\n"
 608                 "LDR     R1, [SP,#0x38-0x1C]\n"
 609                 "LDR     R0, [R1,#0x8C]\n"
 610                 "LDR     R1, [R1,#0x88]\n"
 611                 "BLX     R1\n"
 612                 "B       loc_FF8B706C\n"
 613 
 614                 "loc_FF8B6B84:\n"
 615                 "CMP     R1, #0x26\n"
 616                 "BNE     loc_FF8B6BD4\n"
 617                 "ADD     R1, SP, #0x38-0x2C\n"
 618                 "BL      sub_FF8B6A30\n" // LOCATION: ExpDrv.c:512
 619                 "LDR     R0, [R7,#0x1C]\n"
 620                 "MOV     R1, #0x100\n"
 621                 "BL      sub_FF827B50\n"
 622                 "LDR     R0, =0xFF8B34C8\n"
 623                 "MOV     R1, #0x100\n"
 624                 "BL      sub_FF92FD54\n" // LOCATION: IrisController.c:160
 625                 "LDR     R0, [R7,#0x1C]\n"
 626                 "MOV     R2, R8\n"
 627                 "MOV     R1, #0x100\n"
 628                 "BL      sub_FF827A54\n" // LOCATION: KerFlag.c:0
 629                 "TST     R0, #1\n"
 630                 "BEQ     loc_FF8B6B70\n"
 631                 "LDR     R1, =0xD25\n"
 632 
 633                 "loc_FF8B6BC8:\n"
 634                 "LDR     R0, =0xFF8B3BB8\n" // "ExpDrv.c"
 635                 "BL      _DebugAssert\n"
 636                 "B       loc_FF8B6B70\n"
 637 
 638                 "loc_FF8B6BD4:\n"
 639                 "CMP     R1, #0x27\n"
 640                 "BNE     loc_FF8B6BEC\n"
 641 
 642                 "loc_FF8B6BDC:\n"
 643                 "LDR     R0, [SP,#0x38-0x1C]\n"
 644                 "ADD     R1, SP, #0x38-0x2C\n"
 645                 "BL      sub_FF8B6A30\n" // LOCATION: ExpDrv.c:512
 646                 "B       loc_FF8B6B70\n"
 647 
 648                 "loc_FF8B6BEC:\n"
 649                 "CMP     R1, #0x2A\n"
 650                 "BNE     loc_FF8B6C04\n"
 651                 "BL      sub_FF895DFC\n" // LOCATION: Shutter.c:2
 652                 "BL      sub_FF896BC8\n" // LOCATION: ImgPixel.c:0
 653                 "BL      sub_FF89664C\n" // LOCATION: ImgGain.c:0
 654                 "B       loc_FF8B6B70\n"
 655 
 656                 "loc_FF8B6C04:\n"
 657                 "LDR     R0, [SP,#0x38-0x1C]\n"
 658                 "MOV     R4, #1\n"
 659                 "LDR     R1, [R0]\n"
 660                 "CMP     R1, #0x11\n"
 661                 "CMPNE   R1, #0x12\n"
 662                 "BNE     loc_FF8B6C74\n"
 663                 "LDR     R1, [R0,#0x7C]\n"
 664                 "ADD     R1, R1, R1,LSL#1\n"
 665                 "ADD     R1, R0, R1,LSL#2\n"
 666                 "SUB     R1, R1, #8\n"
 667                 "LDMIA   R1, {R2-R4}\n"
 668                 "STMIA   R6, {R2-R4}\n"
 669                 "BL      sub_FF8B5544\n" // LOCATION: ExpDrv.c:2
 670                 "LDR     R0, [SP,#0x38-0x1C]\n"
 671                 "LDR     R1, [R0,#0x7C]\n"
 672                 "LDR     R3, [R0,#0x88]\n"
 673                 "LDR     R2, [R0,#0x8C]\n"
 674                 "ADD     R0, R0, #4\n"
 675                 "BLX     R3\n"
 676                 "LDR     R0, [SP,#0x38-0x1C]\n"
 677                 "BL      sub_FF8B80C0\n" // LOCATION: ExpDrv.c:0
 678                 "LDR     R0, [SP,#0x38-0x1C]\n"
 679                 "LDR     R1, [R0,#0x7C]\n"
 680                 "LDR     R3, [R0,#0x90]\n"
 681                 "LDR     R2, [R0,#0x94]\n"
 682                 "ADD     R0, R0, #4\n"
 683                 "BLX     R3\n"
 684                 "B       loc_FF8B6FAC\n"
 685 
 686                 "loc_FF8B6C74:\n"
 687                 "CMP     R1, #0x13\n"
 688                 "CMPNE   R1, #0x14\n"
 689                 "CMPNE   R1, #0x15\n"
 690                 "BNE     loc_FF8B6D28\n"
 691                 "ADD     R3, SP, #0x38-0x2C\n"
 692                 "MOV     R2, SP\n"
 693                 "ADD     R1, SP, #0x38-0x28\n"
 694                 "BL      sub_FF8B578C\n" // LOCATION: ExpDrv.c:0
 695                 "CMP     R0, #1\n"
 696                 "MOV     R4, R0\n"
 697                 "CMPNE   R4, #5\n"
 698                 "BNE     loc_FF8B6CC4\n"
 699                 "LDR     R0, [SP,#0x38-0x1C]\n"
 700                 "MOV     R2, R4\n"
 701                 "LDR     R1, [R0,#0x7C]!\n"
 702                 "LDR     R12, [R0,#0xC]!\n"
 703                 "LDR     R3, [R0,#4]\n"
 704                 "MOV     R0, SP\n"
 705                 "BLX     R12\n"
 706                 "B       loc_FF8B6CFC\n"
 707 
 708                 "loc_FF8B6CC4:\n"
 709                 "LDR     R0, [SP,#0x38-0x1C]\n"
 710                 "CMP     R4, #2\n"
 711                 "LDR     R3, [R0,#0x8C]\n"
 712                 "CMPNE   R4, #6\n"
 713                 "BNE     loc_FF8B6D10\n"
 714                 "LDR     R12, [R0,#0x88]\n"
 715                 "MOV     R0, SP\n"
 716                 "MOV     R2, R4\n"
 717                 "MOV     R1, #1\n"
 718                 "BLX     R12\n"
 719                 "LDR     R0, [SP,#0x38-0x1C]\n"
 720                 "MOV     R2, SP\n"
 721                 "ADD     R1, SP, #0x38-0x28\n"
 722                 "BL      sub_FF8B6744\n" // LOCATION: ExpDrv.c:0
 723 
 724                 "loc_FF8B6CFC:\n"
 725                 "LDR     R0, [SP,#0x38-0x1C]\n"
 726                 "LDR     R2, [SP,#0x38-0x2C]\n"
 727                 "MOV     R1, R4\n"
 728                 "BL      sub_FF8B69D0\n" // LOCATION: ExpDrv.c:2
 729                 "B       loc_FF8B6FAC\n"
 730 
 731                 "loc_FF8B6D10:\n"
 732                 "LDR     R1, [R0,#0x7C]\n"
 733                 "LDR     R12, [R0,#0x88]\n"
 734                 "ADD     R0, R0, #4\n"
 735                 "MOV     R2, R4\n"
 736                 "BLX     R12\n"
 737                 "B       loc_FF8B6FAC\n"
 738 
 739                 "loc_FF8B6D28:\n"
 740                 "CMP     R1, #0x21\n"
 741                 "CMPNE   R1, #0x22\n"
 742                 "BNE     loc_FF8B6D74\n"
 743                 "LDR     R1, [R0,#0x7C]\n"
 744                 "ADD     R1, R1, R1,LSL#1\n"
 745                 "ADD     R1, R0, R1,LSL#2\n"
 746                 "SUB     R1, R1, #8\n"
 747                 "LDMIA   R1, {R2-R4}\n"
 748                 "STMIA   R6, {R2-R4}\n"
 749                 "BL      sub_FF8B4AD0\n" // LOCATION: ExpDrv.c:0
 750                 "LDR     R0, [SP,#0x38-0x1C]\n"
 751                 "LDR     R1, [R0,#0x7C]\n"
 752                 "LDR     R3, [R0,#0x88]\n"
 753                 "LDR     R2, [R0,#0x8C]\n"
 754                 "ADD     R0, R0, #4\n"
 755                 "BLX     R3\n"
 756                 "LDR     R0, [SP,#0x38-0x1C]\n"
 757                 "BL      sub_FF8B4DC0\n" // LOCATION: ExpDrv.c:0
 758                 "B       loc_FF8B6FAC\n"
 759 
 760                 "loc_FF8B6D74:\n"
 761                 "ADD     R1, R0, #4\n"
 762                 "LDMIA   R1, {R2,R3,R12}\n"
 763                 "STMIA   R6, {R2,R3,R12}\n"
 764                 "LDR     R1, [R0]\n"
 765                 "CMP     R1, #0x24\n"
 766                 "ADDLS   PC, PC, R1,LSL#2\n"
 767                 "B       loc_FF8B6F8C\n"
 768 
 769                 "loc_FF8B6D90:\n"
 770                 "B       loc_FF8B6E24\n"
 771 
 772                 "loc_FF8B6D94:\n"
 773                 "B       loc_FF8B6E24\n"
 774 
 775                 "loc_FF8B6D98:\n"
 776                 "B       loc_FF8B6E74\n"
 777 
 778                 "loc_FF8B6D9C:\n"
 779                 "B       loc_FF8B6E7C\n"
 780 
 781                 "loc_FF8B6DA0:\n"
 782                 "B       loc_FF8B6E7C\n"
 783 
 784                 "loc_FF8B6DA4:\n"
 785                 "B       loc_FF8B6E7C\n"
 786 
 787                 "loc_FF8B6DA8:\n"
 788                 "B       loc_FF8B6E24\n"
 789 
 790                 "loc_FF8B6DAC:\n"
 791                 "B       loc_FF8B6E74\n"
 792 
 793                 "loc_FF8B6DB0:\n"
 794                 "B       loc_FF8B6E7C\n"
 795 
 796                 "loc_FF8B6DB4:\n"
 797                 "B       loc_FF8B6E7C\n"
 798 
 799                 "loc_FF8B6DB8:\n"
 800                 "B       loc_FF8B6E94\n"
 801 
 802                 "loc_FF8B6DBC:\n"
 803                 "B       loc_FF8B6E94\n"
 804 
 805                 "loc_FF8B6DC0:\n"
 806                 "B       loc_FF8B6F80\n"
 807 
 808                 "loc_FF8B6DC4:\n"
 809                 "B       loc_FF8B6F88\n"
 810 
 811                 "loc_FF8B6DC8:\n"
 812                 "B       loc_FF8B6F88\n"
 813 
 814                 "loc_FF8B6DCC:\n"
 815                 "B       loc_FF8B6F88\n"
 816 
 817                 "loc_FF8B6DD0:\n"
 818                 "B       loc_FF8B6F88\n"
 819 
 820                 "loc_FF8B6DD4:\n"
 821                 "B       loc_FF8B6F8C\n"
 822 
 823                 "loc_FF8B6DD8:\n"
 824                 "B       loc_FF8B6F8C\n"
 825 
 826                 "loc_FF8B6DDC:\n"
 827                 "B       loc_FF8B6F8C\n"
 828 
 829                 "loc_FF8B6DE0:\n"
 830                 "B       loc_FF8B6F8C\n"
 831 
 832                 "loc_FF8B6DE4:\n"
 833                 "B       loc_FF8B6F8C\n"
 834 
 835                 "loc_FF8B6DE8:\n"
 836                 "B       loc_FF8B6E84\n"
 837 
 838                 "loc_FF8B6DEC:\n"
 839                 "B       loc_FF8B6E8C\n"
 840 
 841                 "loc_FF8B6DF0:\n"
 842                 "B       loc_FF8B6E8C\n"
 843 
 844                 "loc_FF8B6DF4:\n"
 845                 "B       loc_FF8B6EA0\n"
 846 
 847                 "loc_FF8B6DF8:\n"
 848                 "B       loc_FF8B6EA0\n"
 849 
 850                 "loc_FF8B6DFC:\n"
 851                 "B       loc_FF8B6EA8\n"
 852 
 853                 "loc_FF8B6E00:\n"
 854                 "B       loc_FF8B6ED8\n"
 855 
 856                 "loc_FF8B6E04:\n"
 857                 "B       loc_FF8B6F08\n"
 858 
 859                 "loc_FF8B6E08:\n"
 860                 "B       loc_FF8B6F38\n"
 861 
 862                 "loc_FF8B6E0C:\n"
 863                 "B       loc_FF8B6F68\n"
 864 
 865                 "loc_FF8B6E10:\n"
 866                 "B       loc_FF8B6F68\n"
 867 
 868                 "loc_FF8B6E14:\n"
 869                 "B       loc_FF8B6F8C\n"
 870 
 871                 "loc_FF8B6E18:\n"
 872                 "B       loc_FF8B6F8C\n"
 873 
 874                 "loc_FF8B6E1C:\n"
 875                 "B       loc_FF8B6F70\n"
 876 
 877                 "loc_FF8B6E20:\n"
 878                 "B       loc_FF8B6F78\n"
 879 
 880                 "loc_FF8B6E24:\n"
 881                 // jumptable FF8B6D88 entries 0,1,6
 882                 "BL      sub_FF8B39A0\n" // LOCATION: ExpDrv.c:800
 883                 "B       loc_FF8B6F8C\n"
 884 
 885                 "loc_FF8B6E74:\n"
 886                 // jumptable FF8B6D88 entries 2,7
 887                 "BL      sub_FF8B3C30\n" // LOCATION: ExpDrv.c:0
 888                 "B       loc_FF8B6F8C\n"
 889 
 890                 "loc_FF8B6E7C:\n"
 891                 // jumptable FF8B6D88 entries 3-5,8,9
 892                 "BL      sub_FF8B3E34\n" // LOCATION: ExpDrv.c:0
 893                 "B       loc_FF8B6F8C\n"
 894 
 895                 "loc_FF8B6E84:\n"
 896                 // jumptable FF8B6D88 entry 22
 897                 "BL      sub_FF8B409C\n" // LOCATION: ExpDrv.c:2
 898                 "B       loc_FF8B6F8C\n"
 899 
 900                 "loc_FF8B6E8C:\n"
 901                 // jumptable FF8B6D88 entries 23,24
 902                 "BL      sub_FF8B4290\n" // LOCATION: ExpDrv.c:11
 903                 "B       loc_FF8B6F8C\n"
 904 
 905                 "loc_FF8B6E94:\n"
 906                 // jumptable FF8B6D88 entries 10,11
 907                 //"BL      sub_FF8B44F8\n" // LOCATION: ExpDrv.c:2
 908                 "BL      sub_FF8B44F8_my\n" //------------>
 909                 "MOV     R4, #0\n"
 910                 "B       loc_FF8B6F8C\n"
 911 
 912                 "loc_FF8B6EA0:\n"
 913                 // jumptable FF8B6D88 entries 25,26
 914                 "BL      sub_FF8B4634\n"
 915                 "B       loc_FF8B6F8C\n"
 916 
 917                 "loc_FF8B6EA8:\n"
 918                 // jumptable FF8B6D88 entry 27
 919                 "LDRH    R1, [R0,#4]\n"
 920                 "STRH    R1, [SP,#0x38-0x28]\n"
 921                 "LDRH    R1, [R5,#2]\n"
 922                 "STRH    R1, [SP,#0x38-0x26]\n"
 923                 "LDRH    R1, [R5,#4]\n"
 924                 "STRH    R1, [SP,#0x38-0x24]\n"
 925                 "LDRH    R1, [R5,#6]\n"
 926                 "STRH    R1, [SP,#0x38-0x22]\n"
 927                 "LDRH    R1, [R0,#0xC]\n"
 928                 "STRH    R1, [SP,#0x38-0x20]\n"
 929                 "BL      sub_FF8B7D60\n" // LOCATION: ExpDrv.c:2
 930                 "B       loc_FF8B6F8C\n"
 931 
 932                 "loc_FF8B6ED8:\n"
 933                 // jumptable FF8B6D88 entry 28
 934                 "LDRH    R1, [R0,#4]\n"
 935                 "STRH    R1, [SP,#0x38-0x28]\n"
 936                 "LDRH    R1, [R5,#2]\n"
 937                 "STRH    R1, [SP,#0x38-0x26]\n"
 938                 "LDRH    R1, [R5,#4]\n"
 939                 "STRH    R1, [SP,#0x38-0x24]\n"
 940                 "LDRH    R1, [R5,#6]\n"
 941                 "STRH    R1, [SP,#0x38-0x22]\n"
 942                 "LDRH    R1, [R5,#8]\n"
 943                 "STRH    R1, [SP,#0x38-0x20]\n"
 944                 "BL      sub_FF8B7EDC\n" // LOCATION: ExpDrv.c:2
 945                 "B       loc_FF8B6F8C\n"
 946 
 947                 "loc_FF8B6F08:\n"
 948                 // jumptable FF8B6D88 entry 29
 949                 "LDRH    R1, [R5]\n"
 950                 "STRH    R1, [SP,#0x38-0x28]\n"
 951                 "LDRH    R1, [R0,#6]\n"
 952                 "STRH    R1, [SP,#0x38-0x26]\n"
 953                 "LDRH    R1, [R5,#4]\n"
 954                 "STRH    R1, [SP,#0x38-0x24]\n"
 955                 "LDRH    R1, [R5,#6]\n"
 956                 "STRH    R1, [SP,#0x38-0x22]\n"
 957                 "LDRH    R1, [R5,#8]\n"
 958                 "STRH    R1, [SP,#0x38-0x20]\n"
 959                 "BL      sub_FF8B7F88\n" // LOCATION: ExpDrv.c:0
 960                 "B       loc_FF8B6F8C\n"
 961 
 962                 "loc_FF8B6F38:\n"
 963                 // jumptable FF8B6D88 entry 30
 964                 "LDRH    R1, [R5]\n"
 965                 "STRH    R1, [SP,#0x38-0x28]\n"
 966                 "LDRH    R1, [R5,#2]\n"
 967                 "STRH    R1, [SP,#0x38-0x26]\n"
 968                 "LDRH    R1, [R5,#4]\n"
 969                 "STRH    R1, [SP,#0x38-0x24]\n"
 970                 "LDRH    R1, [R5,#6]\n"
 971                 "STRH    R1, [SP,#0x38-0x22]\n"
 972                 "LDRH    R1, [R0,#0xC]\n"
 973                 "STRH    R1, [SP,#0x38-0x20]\n"
 974                 "BL      sub_FF8B8028\n" // LOCATION: ExpDrv.c:32
 975                 "B       loc_FF8B6F8C\n"
 976 
 977                 "loc_FF8B6F68:\n"
 978                 // jumptable FF8B6D88 entries 31,32
 979                 "BL      sub_FF8B48A8\n" // LOCATION: ExpDrv.c:0
 980                 "B       loc_FF8B6F8C\n"
 981 
 982                 "loc_FF8B6F70:\n"
 983                 // jumptable FF8B6D88 entry 35
 984                 "BL      sub_FF8B4EC4\n" // LOCATION: ExpDrv.c:10
 985                 "B       loc_FF8B6F8C\n"
 986 
 987                 "loc_FF8B6F78:\n"
 988                 // jumptable FF8B6D88 entry 36
 989                 "BL      sub_FF8B50FC\n" // LOCATION: ExpDrv.c:0
 990                 "B       loc_FF8B6F8C\n"
 991 
 992                 "loc_FF8B6F80:\n"
 993                 // jumptable FF8B6D88 entry 12
 994                 "BL      sub_FF8B5274\n" // LOCATION: ExpDrv.c:2
 995                 "B       loc_FF8B6F8C\n"
 996 
 997                 "loc_FF8B6F88:\n"
 998                 // jumptable FF8B6D88 entries 13-16
 999                 "BL      sub_FF8B540C\n" // LOCATION: ExpDrv.c:128
1000 
1001                 "loc_FF8B6F8C:\n"
1002                 // jumptable FF8B6D88 default entry
1003                 // jumptable FF8B6D88 entries 17-21,33,34
1004                 "LDR     R0, [SP,#0x38-0x1C]\n"
1005                 "LDR     R1, [R0,#0x7C]\n"
1006                 "LDR     R3, [R0,#0x88]\n"
1007                 "LDR     R2, [R0,#0x8C]\n"
1008                 "ADD     R0, R0, #4\n"
1009                 "BLX     R3\n"
1010                 "CMP     R4, #1\n"
1011                 "BNE     loc_FF8B6FF4\n"
1012 
1013                 "loc_FF8B6FAC:\n"
1014                 "LDR     R0, [SP,#0x38-0x1C]\n"
1015                 "MOV     R2, #0xC\n"
1016                 "LDR     R1, [R0,#0x7C]\n"
1017                 "ADD     R1, R1, R1,LSL#1\n"
1018                 "ADD     R0, R0, R1,LSL#2\n"
1019                 "SUB     R4, R0, #8\n"
1020                 "LDR     R0, =0x3E12C\n"
1021                 "ADD     R1, SP, #0x38-0x28\n"
1022                 "BL      sub_FFAAC800\n"
1023                 "LDR     R0, =0x3E138\n"
1024                 "MOV     R2, #0xC\n"
1025                 "ADD     R1, SP, #0x38-0x28\n"
1026                 "BL      sub_FFAAC800\n"
1027                 "LDR     R0, =0x3E144\n"
1028                 "MOV     R2, #0xC\n"
1029                 "MOV     R1, R4\n"
1030                 "BL      sub_FFAAC800\n"
1031                 "B       loc_FF8B706C\n"
1032 
1033                 "loc_FF8B6FF4:\n"
1034                 "LDR     R0, [SP,#0x38-0x1C]\n"
1035                 "LDR     R0, [R0]\n"
1036                 "CMP     R0, #0xB\n"
1037                 "BNE     loc_FF8B703C\n"
1038                 "MOV     R3, #0\n"
1039                 "STR     R3, [SP,#0x38-0x38]\n"
1040                 "MOV     R3, #1\n"
1041                 "MOV     R2, #1\n"
1042                 "MOV     R1, #1\n"
1043                 "MOV     R0, #0\n"
1044                 "BL      sub_FF8B37A8\n"
1045                 "MOV     R3, #0\n"
1046                 "STR     R3, [SP,#0x38-0x38]\n"
1047                 "MOV     R3, #1\n"
1048                 "MOV     R2, #1\n"
1049                 "MOV     R1, #1\n"
1050                 "MOV     R0, #0\n"
1051                 "B       loc_FF8B7068\n"
1052 
1053                 "loc_FF8B703C:\n"
1054                 "MOV     R3, #1\n"
1055                 "MOV     R2, #1\n"
1056                 "MOV     R1, #1\n"
1057                 "MOV     R0, #1\n"
1058                 "STR     R3, [SP,#0x38-0x38]\n"
1059                 "BL      sub_FF8B37A8\n"
1060                 "MOV     R3, #1\n"
1061                 "MOV     R2, #1\n"
1062                 "MOV     R1, #1\n"
1063                 "MOV     R0, #1\n"
1064                 "STR     R3, [SP,#0x38-0x38]\n"
1065 
1066                 "loc_FF8B7068:\n"
1067                 "BL      sub_FF8B38E8\n"
1068 
1069                 "loc_FF8B706C:\n"
1070                 "LDR     R0, [SP,#0x38-0x1C]\n"
1071                 "BL      sub_FF8B7CEC\n" // LOCATION: ExpDrv.c:268
1072                 "B       loc_FF8B6AA0\n"
1073                 );
1074 }
1075 
1076 void __attribute__((naked,noinline)) sub_FF8B44F8_my()
1077 {
1078         asm volatile (
1079                 "STMFD   SP!, {R4-R8,LR}\n"
1080                 "LDR     R7, =0x6E30\n"
1081                 "MOV     R4, R0\n"
1082                 "LDR     R0, [R7,#0x1C]\n"
1083                 "MOV     R1, #0x3E\n"
1084                 "BL      sub_FF827B50\n"
1085                 "LDRSH   R0, [R4,#4]\n"
1086                 "MOV     R2, #0\n"
1087                 "MOV     R1, #0\n"
1088                 "BL      sub_FF8B353C\n"
1089                 "MOV     R6, R0\n"
1090                 "LDRSH   R0, [R4,#6]\n"
1091                 "BL      sub_FF8B3648\n"
1092                 "LDRSH   R0, [R4,#8]\n"
1093                 "BL      sub_FF8B36A0\n"
1094                 "LDRSH   R0, [R4,#0xA]\n"
1095                 "BL      sub_FF8B36F8\n"
1096                 "LDRSH   R0, [R4,#0xC]\n"
1097                 "BL      sub_FF8B3750\n"
1098                 "MOV     R5, R0\n"
1099                 "LDR     R0, [R4]\n"
1100                 "LDR     R8, =0x3E144\n"
1101                 "CMP     R0, #0xB\n"
1102                 "MOVEQ   R6, #0\n"
1103                 "MOVEQ   R5, #0\n"
1104                 "BEQ     loc_FF8B4588\n"
1105                 "CMP     R6, #1\n"
1106                 "BNE     loc_FF8B4588\n"
1107                 "LDRSH   R0, [R4,#4]\n"
1108                 "LDR     R1, =0xFF8B34A8\n"
1109                 "MOV     R2, #2\n"
1110                 "BL      sub_FF92FC20\n" // LOCATION: IrisController.c:117
1111                 "STRH    R0, [R4,#4]\n"
1112                 "MOV     R0, #0\n"
1113                 "STR     R0, [R7,#0x28]\n"
1114                 "B       loc_FF8B4590\n"
1115 
1116                 "loc_FF8B4588:\n"
1117                 "LDRH    R0, [R8]\n"
1118                 "STRH    R0, [R4,#4]\n"
1119 
1120                 "loc_FF8B4590:\n"
1121                 "CMP     R5, #1\n"
1122                 "LDRNEH  R0, [R8,#8]\n"
1123                 "BNE     loc_FF8B45AC\n"
1124                 "LDRSH   R0, [R4,#0xC]\n"
1125                 "MOV     R2, #0x20\n"
1126                 "LDR     R1, =0xFF8B352C\n"
1127                 "BL      sub_FF8B7D1C\n"
1128 
1129                 "loc_FF8B45AC:\n"
1130                 "STRH    R0, [R4,#0xC]\n"
1131                 "LDRSH   R0, [R4,#6]\n"
1132                 //"BL      sub_FF895B48\n" // LOCATION: Shutter.c:0
1133                 "BL      sub_FF895B48_my\n" //------------>
1134                 "LDRSH   R0, [R4,#8]\n"
1135                 "MOV     R1, #1\n"
1136                 "BL      sub_FF896344\n" // LOCATION: ImgGain.c:0
1137                 "MOV     R1, #0\n"
1138                 "ADD     R0, R4, #8\n"
1139                 "BL      sub_FF8963CC\n" // LOCATION: ImgGain.c:0
1140                 "LDRSH   R0, [R4,#0xE]\n"
1141                 "BL      sub_FF8AA464\n" // LOCATION: BrtCrct.c:552
1142                 "LDR     R4, =0xBB8\n"
1143                 "CMP     R6, #1\n"
1144                 "BNE     loc_FF8B4604\n"
1145                 "LDR     R0, [R7,#0x1C]\n"
1146                 "MOV     R2, R4\n"
1147                 "MOV     R1, #2\n"
1148                 "BL      sub_FF827A54\n" // LOCATION: KerFlag.c:0
1149                 "TST     R0, #1\n"
1150                 "LDRNE   R1, =0x532\n"
1151                 "LDRNE   R0, =0xFF8B3BB8\n" // "ExpDrv.c"
1152                 "BLNE    _DebugAssert\n"
1153 
1154                 "loc_FF8B4604:\n"
1155                 "CMP     R5, #1\n"
1156                 "LDMNEFD SP!, {R4-R8,PC}\n"
1157                 "LDR     R0, [R7,#0x1C]\n"
1158                 "MOV     R2, R4\n"
1159                 "MOV     R1, #0x20\n"
1160                 "BL      sub_FF827A54\n" // LOCATION: KerFlag.c:0
1161                 "TST     R0, #1\n"
1162                 "LDRNE   R1, =0x537\n"
1163                 "LDRNE   R0, =0xFF8B3BB8\n" // "ExpDrv.c"
1164                 "LDMNEFD SP!, {R4-R8,LR}\n"
1165                 "BNE     _DebugAssert\n"
1166                 "LDMFD   SP!, {R4-R8,PC}\n"
1167                 );
1168 }
1169 
1170 // FF895B48
1171 void __attribute__((naked,noinline)) sub_FF895B48_my()
1172 {
1173         asm volatile (
1174                 "STMFD   SP!, {R4-R6,LR}\n"
1175                 "LDR     R5, =0x68EC\n"
1176                 "MOV     R4, R0\n"
1177                 "LDR     R0, [R5,#4]\n"
1178                 "CMP     R0, #1\n"
1179                 "LDRNE   R1, =0x16D\n"
1180                 "LDRNE   R0, =0xFF8958E0\n" // "Shutter.c"
1181                 "BLNE    _DebugAssert\n"
1182                 "CMN     R4, #0xC00\n"
1183                 "LDREQSH R4, [R5,#2]\n"
1184                 "CMN     R4, #0xC00\n"
1185                 "LDREQ   R1, =0x173\n"
1186                 "LDREQ   R0, =0xFF8958E0\n" // "Shutter.c"
1187                 "STRH    R4, [R5,#2]\n"
1188                 "BLEQ    _DebugAssert\n"
1189                 "MOV     R0, R4\n"
1190                 //"BL      sub_FF9B19C0\n"
1191                 "BL      apex2us\n" // +
1192                 "MOV     R4, R0\n"
1193                 "BL      sub_FF8C5920\n" // nullsub_67
1194                 "MOV     R0, R4\n"
1195                 "BL      sub_FF8C9E10\n"
1196                 "TST     R0, #1\n"
1197                 "LDMNEFD SP!, {R4-R6,LR}\n"
1198                 "MOVNE   R1, #0x178\n"
1199                 "LDRNE   R0, =0xFF8958E0\n" // "Shutter.c"
1200                 "BNE     _DebugAssert\n"
1201                 "LDMFD   SP!, {R4-R6,PC}\n"
1202                 );
1203 }

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