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

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